diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index ac6aae8..80f01c0 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -10,6 +10,8 @@ on: - cron: '17 */6 * * *' permissions: contents: read + pages: write + id-token: write concurrency: group: pages-${{ github.ref }} cancel-in-progress: false @@ -19,9 +21,11 @@ jobs: steps: - uses: actions/checkout@v5 # ./docs is a symlink to this checkout of the product repository's docs. + # Read the fork this site is maintained against, so documentation edits here go live + # without waiting on an upstream merge. - uses: actions/checkout@v5 with: - repository: openJiuwen-ai/sciencediscovery + repository: nanzhaogang/sciencediscovery ref: main path: sciencediscovery sparse-checkout: docs @@ -29,8 +33,17 @@ jobs: with: node-version: 22 cache: npm + # Reads the Pages site this repository deploys to, so the sitemap and robots.txt match it: + # .github.io when the repository is an owner site, otherwise its project path. Only the + # main-branch run deploys, and the Pages site has to exist already: enabling it needs a token + # with administration/pages write, which GITHUB_TOKEN cannot provide. + - id: pages + if: github.event_name != 'pull_request' + uses: actions/configure-pages@v6 - run: npm ci - run: npm run build + env: + SITE_URL: ${{ steps.pages.outputs.base_url }} - uses: actions/upload-pages-artifact@v3 with: path: dist diff --git a/README.md b/README.md index 66ecea2..23988a8 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ # ScienceDiscovery website -The public website at has an interactive product demo, the bilingual user documentation with full-text search, a deployment guide, and downloads. +The public website at opens with a product screen recording, then the four headline capabilities, the bilingual user documentation with full-text search, a deployment guide, and downloads. | Page | Source | |---|---| -| Home (interactive demo, features) | `site/build.mjs`, `site/src/demo.js`, `site/src/viz.js` | +| Home (screen recording, four capabilities) | `site/build.mjs`, `site/src/site.css`, `site/src/media/ScienceDiscovery.mp4` | | Documentation (with search) | rendered from the product repository's `docs/en` and `docs/zh` | | Install (binary, Docker, source) | `site/build.mjs` (`D` strings) | | Linux release assets | `release.json` | @@ -23,9 +23,11 @@ npm run serve # http://127.0.0.1:4173/ (refuses to pick another port) `npm run dev` rebuilds and then serves. There is no runtime dependency on a CDN or an API. -### Interactive demo +### Homepage video -`site/src/demo.js` replays seven scripted sessions in a replica of the product shell: literature survey, Idea Tree, Evolve, memory graph, protein pocket, crystal structure and differential expression. `site/src/viz.js` contains a small canvas 3D renderer (protein ribbon and ligand, perovskite supercell with octahedra) and the SVG plots (volcano, heatmap, XRD). All structures and data are generated locally and are illustrative, not experimental results. +The recording sits in the middle of the homepage and starts on its own: `autoplay muted loop playsinline`, with controls so a visitor can turn the sound on. Safari and Chrome only autoplay muted video, so the `muted` attribute is load-bearing, not cosmetic. The file lives in `site/src/media/` and is copied to `dist/media/`; replace `ScienceDiscovery.mp4` to update the recording. + +Typography uses Microsoft YaHei first on every page, including headings, with the bundled Manrope and Source Serif 4 webfonts kept as fallbacks for machines without it. ### Search diff --git a/package-lock.json b/package-lock.json index 189d40e..b2acac2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,63 +11,3169 @@ "marked": "15.0.12" }, "devDependencies": { + "molstar": "^5.11.0", "parse5": "7.3.0" }, "engines": { "node": ">=22.19.0" } }, + "node_modules/@scarf/scarf": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/@scarf/scarf/-/scarf-1.4.0.tgz", + "integrity": "sha512-xxeapPiUXdZAE3che6f3xogoJPeZgig6omHEy1rIY5WVsB3H2BHNnZH+gHG6x91SCWyQCzWGsuL2Hh3ClO5/qQ==", + "dev": true, + "hasInstallScript": true, + "license": "Apache-2.0" + }, + "node_modules/@types/argparse": { + "version": "2.0.17", + "resolved": "https://registry.npmmirror.com/@types/argparse/-/argparse-2.0.17.tgz", + "integrity": "sha512-fueJssTf+4dW4HODshEGkIZbkLKHzgu1FvCI4cTc/MKum/534Euo3SrN+ilq8xgyHnOjtmg33/hee8iXLRg1XA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/benchmark": { + "version": "2.1.5", + "resolved": "https://registry.npmmirror.com/@types/benchmark/-/benchmark-2.1.5.tgz", + "integrity": "sha512-cKio2eFB3v7qmKcvIHLUMw/dIx/8bhWPuzpzRT4unCPRTD8VdA9Zb0afxpcxOqR4PixRS7yT42FqGS8BYL8g1w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/body-parser": { + "version": "1.19.6", + "resolved": "https://registry.npmmirror.com/@types/body-parser/-/body-parser-1.19.6.tgz", + "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/compression": { + "version": "1.8.1", + "resolved": "https://registry.npmmirror.com/@types/compression/-/compression-1.8.1.tgz", + "integrity": "sha512-kCFuWS0ebDbmxs0AXYn6e2r2nrGAb5KwQhknjSPSPgJcGd8+HVSILlUyFhGqML2gk39HcG7D1ydW9/qpYkN00Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/express": "*", + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmmirror.com/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/debug": { + "version": "4.1.13", + "resolved": "https://registry.npmmirror.com/@types/debug/-/debug-4.1.13.tgz", + "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/express": { + "version": "5.0.6", + "resolved": "https://registry.npmmirror.com/@types/express/-/express-5.0.6.tgz", + "integrity": "sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^5.0.0", + "@types/serve-static": "^2" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "5.1.3", + "resolved": "https://registry.npmmirror.com/@types/express-serve-static-core/-/express-serve-static-core-5.1.3.tgz", + "integrity": "sha512-dPfW8NFiOF4wOHc7+N/QSxlY9cfSsenewGbAz8C8U/MULPd/YZ27LvJUIlzaXie7e6Ove9YunJGgC9tbHD2cKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/hast": { + "version": "3.0.5", + "resolved": "https://registry.npmmirror.com/@types/hast/-/hast-3.0.5.tgz", + "integrity": "sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/http-errors": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/@types/http-errors/-/http-errors-2.0.5.tgz", + "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmmirror.com/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "22.20.5", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-22.20.5.tgz", + "integrity": "sha512-U2+DNr+wSjpsTS/wZGYHq7GcwfuSmKiKvoPvK22zwTlRhU91yOniN4qRR5KhIjvif7ysw/dz/hKmfDH0Ris4aA==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/qs": { + "version": "6.15.1", + "resolved": "https://registry.npmmirror.com/@types/qs/-/qs-6.15.1.tgz", + "integrity": "sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmmirror.com/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "19.3.0", + "resolved": "https://registry.npmmirror.com/@types/react/-/react-19.3.0.tgz", + "integrity": "sha512-N0rFCuH9YoxG9/m61l9MfpJKfmLOVU0em7ipIz6TRgSSkvReLB9vL85GB+yr8Bs5leqpvg96JSwF4ZS1s4viQg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/send": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@types/send/-/send-1.2.1.tgz", + "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/@types/serve-static/-/serve-static-2.2.0.tgz", + "integrity": "sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*" + } + }, + "node_modules/@types/swagger-ui-dist": { + "version": "3.30.6", + "resolved": "https://registry.npmmirror.com/@types/swagger-ui-dist/-/swagger-ui-dist-3.30.6.tgz", + "integrity": "sha512-FVxN7wjLYRtJsZBscOcOcf8oR++m38vbUFjT33Mr9HBuasX9bRDrJsp7iwixcOtKSHEEa2B7o2+4wEiXqC+Ebw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/@ungap/structured-clone/-/structured-clone-1.4.0.tgz", + "integrity": "sha512-1mEZtMKPM09vDmQt5y7YvmN2+DFTP7Tg0EWXdic8/C6VRnpb33e4ghisCIE3WZjsE2N8mf+QV1Zqh7ZFYLWInQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/accepts": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/negotiator": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/negotiator/-/negotiator-1.1.0.tgz", + "integrity": "sha512-NMPBRMJgiQHjbd8phG3Vebdx4kZ1H121rbl5IkMqeOsahptB9BKo/d7oJ3zTXqTgagn2bWlNSXkh0QUGM31RYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "content-type": "^2.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/body-parser": { + "version": "2.4.0", + "resolved": "https://registry.npmmirror.com/body-parser/-/body-parser-2.4.0.tgz", + "integrity": "sha512-Ifk1KcLrxaGt1occQagQNFNNOqRt1LFuehEnHHzB8Z6cRgIxRU1TBaiIsUiCdA+gy5PL7Y1IX31DNKkRmxtXjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "^3.1.2", + "content-type": "^2.1.0", + "debug": "^4.4.3", + "http-errors": "^2.0.1", + "iconv-lite": "^0.7.3", + "on-finished": "^2.4.1", + "qs": "^6.16.1", + "raw-body": "^3.0.2", + "type-is": "^2.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmmirror.com/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.8.2", + "resolved": "https://registry.npmmirror.com/compression/-/compression-1.8.2.tgz", + "integrity": "sha512-o8vI5RE5A6EVVOd9o41jKp41aJom+QTEO/Bx8MYNjexMo/Bv2WOjUfZr+aL0WnYSgymUy6zeguqLTsIhV0gMvQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "compressible": "~2.0.18", + "debug": "2.6.9", + "destroy": "1.2.0", + "negotiator": "~0.6.4", + "on-headers": "~1.1.0", + "safe-buffer": "5.2.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/content-disposition": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/content-disposition/-/content-disposition-2.0.1.tgz", + "integrity": "sha512-e+H0ZXHSWYrENhQzw1LPuP4oF5MzVKmDU6d3hxlvaPEYLLg62MxtQNPRx4SYSuYJSBUgnQIG4HIN2tEtNv7Dog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/content-type": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/content-type/-/content-type-2.1.0.tgz", + "integrity": "sha512-mj7UPXE0jaqaOsukNZRUEfEi2AcL7C/vwmwcHV0O97eO1E1pxBZuyjlZrx5seTaNBg1U6+o35wpa35Qfcc+7ag==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmmirror.com/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.6.0" + } + }, + "node_modules/cors": { + "version": "2.8.6", + "resolved": "https://registry.npmmirror.com/cors/-/cors-2.8.6.tgz", + "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz", + "integrity": "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true, + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/entities": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", "dev": true, - "license": "BSD-2-Clause", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true, + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/express/-/express-5.3.0.tgz", + "integrity": "sha512-qCqy1xSoaugxOD4IVHb1ZWdkvCF2W3aE2okKouWj8VwJ+ztskSiXoBnCSJqfKT+cVPJhuJqe9YLbY425+Zh00g==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "^2.0.0", + "body-parser": "^2.3.0", + "content-disposition": "^2.0.1", + "content-type": "^2.0.0", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "depd": "^2.0.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.8", + "qs": "^6.16.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.1.0", + "vary": "^1.1.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true, + "license": "MIT" + }, + "node_modules/finalhandler": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/finalhandler/-/finalhandler-2.1.1.tgz", + "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fp-ts": { + "version": "2.16.11", + "resolved": "https://registry.npmmirror.com/fp-ts/-/fp-ts-2.16.11.tgz", + "integrity": "sha512-LaI+KaX2NFkfn1ZGHoKCmcfv7yrZsC3b8NtWsTVQeHkq4F27vI5igUuO53sxqDEa2gNQMHFPmpojDw/1zmUK7w==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/github-slugger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==", + "license": "ISC" + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/h264-mp4-encoder": { + "version": "1.0.12", + "resolved": "https://registry.npmmirror.com/h264-mp4-encoder/-/h264-mp4-encoder-1.0.12.tgz", + "integrity": "sha512-xih3J+Go0o1RqGjhOt6TwXLWWGqLONRPyS8yoMu/RoS/S8WyEv4HuHp1KBsDDl8srZQ3gw9f95JYkCSjCuZbHQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.6", + "resolved": "https://registry.npmmirror.com/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz", + "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-js": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/highlight.js": { + "version": "11.11.1", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.11.1.tgz", + "integrity": "sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/html-url-attributes": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/html-url-attributes/-/html-url-attributes-3.0.1.tgz", + "integrity": "sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/iconv-lite": { + "version": "0.7.3", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.7.3.tgz", + "integrity": "sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/immutable": { + "version": "5.1.9", + "resolved": "https://registry.npmmirror.com/immutable/-/immutable-5.1.9.tgz", + "integrity": "sha512-m8nVez3rwrgmWxtLMt1ZYXB2Lv7OKYn/disyxAlSDYAlKSlFoPPfIAmAM/M5xqL4m4C/wAPw7S2/CNaUii1Hxg==", + "dev": true, + "license": "MIT" + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/inline-style-parser": { + "version": "0.2.7", + "resolved": "https://registry.npmmirror.com/inline-style-parser/-/inline-style-parser-0.2.7.tgz", + "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==", + "dev": true, + "license": "MIT" + }, + "node_modules/io-ts": { + "version": "2.2.22", + "resolved": "https://registry.npmmirror.com/io-ts/-/io-ts-2.2.22.tgz", + "integrity": "sha512-FHCCztTkHoV9mdBsHpocLpdTAfh956ZQcIkWQxxS0U5HT53vtrcuYdQneEJKH6xILaLNzXVl2Cvwtoy8XNN0AA==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "fp-ts": "^2.5.0" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/markdown-table": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/markdown-table/-/markdown-table-3.0.4.tgz", + "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/marked": { + "version": "15.0.12", + "resolved": "https://registry.npmjs.org/marked/-/marked-15.0.12.tgz", + "integrity": "sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA==", + "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.4.tgz", + "integrity": "sha512-z4B5c6jrnJ1ltOQemhWYPBSAo6y42Z8Gt2yEgfgNTMcLSU59B8bfj8Z8AnAlJrBGLnqkdAUZ7jdDEqQw3KuipQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/mdast-util-from-markdown/-/mdast-util-from-markdown-2.1.0.tgz", + "integrity": "sha512-KRLgmPaP2H1ul2bpoJkOS+9pAcDAAj9Nu1mqLnh8NLeJG5tlvj42TH80PIGBpROWlRXLk0lDrWNuZCFy/tsB4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz", + "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.1.tgz", + "integrity": "sha512-OuJHqvr455pwu2OaOrir7dbzqs4jlWKOtlu9L6GjcIjjQwNyw02VntQsr/Ek6/A13vgnXfUhBekWRUP1OkNivw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", + "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz", + "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.1", + "resolved": "https://registry.npmmirror.com/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/mdast-util-to-markdown/-/mdast-util-to-markdown-2.2.1.tgz", + "integrity": "sha512-ThatlCBxG2GE+mljhNSfZPv56d3QrGiRh97jjYgIk80IzS4uU6d7cHAaexCYSAmUCCcOs3grJ07kX3oTGsFUOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/media-typer": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/media-typer/-/media-typer-1.1.1.tgz", + "integrity": "sha512-yz3xRaG20c6/BOzvYoDaGtPmGscs7YivItZEEqe6GbwNfHuxu9YNmvnEkMzKldAGY4/80pRcQRZSEnhquk9XuQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/merge-descriptors": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/micromark": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/micromark/-/micromark-4.0.3.tgz", + "integrity": "sha512-oGYfQzHSG5dOMovQcJ3fyTmZlWAWpi0XA0sJwJs+i6OT88o1+Jtw/8z0CmdowSLxGhhFK89rQ/oXph/wN02PNw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-edit-map": "^1.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/micromark-core-commonmark/-/micromark-core-commonmark-2.0.4.tgz", + "integrity": "sha512-wxEeE8v8XVvOrxn1TZj74qYhAtTQsSqufHVS3uNVyT1MupXxhyaHk8/9xDNPh9BmL77QNDgWTkZ3RsYHB2ry7w==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.1.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-edit-map": "^1.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.3" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", + "dev": true, + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "dev": true, + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.2.tgz", + "integrity": "sha512-pRzm4kDTu0MjlmBkxmS9yYhw60nncfcEwu9NNdPFSQEFXS95ZKyIIyTSHu/o3ReBUrLKYEq+7YaXCRn/bPB4MA==", + "dev": true, + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/micromark-factory-space/-/micromark-factory-space-2.1.0.tgz", + "integrity": "sha512-fS8hnLIjnjvdQIj39Geug8wWsR0HrYZ43KShKxNfwT7t2LOHo/LbWZEzEaSOjwtjdCsjoE6syHhonEzW0zv0+Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-edit-map": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/micromark-util-edit-map/-/micromark-util-edit-map-1.0.0.tgz", + "integrity": "sha512-Pa2ljlsEL6sVwFaYeyrOLSYbQt73JvGbPOYFq+9AElXiSnfI5Q4465RRZ1sHv7lDjDOnGRDDaqPXqClqWK/q1Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", + "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/micromark-util-types/-/micromark-util-types-2.0.3.tgz", + "integrity": "sha512-oxB2Ik03hI0gv+VNn9tnh1t1YEe9MDPptViAEgfdf3YQHsn0pzGTgCdlSCJXcwhqm8phaEuM7zeEu3QQzVBrPg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/micromark/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/molstar": { + "version": "5.11.0", + "resolved": "https://registry.npmmirror.com/molstar/-/molstar-5.11.0.tgz", + "integrity": "sha512-Jv2oHkKoCpzrhqLmGlknepm0pfRsoTDebsGRkvXpbUFb6p+JIAkhLyM3uqV2twC6VR83ZbXtdswOtouPhozpuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/argparse": "^2.0.17", + "@types/benchmark": "^2.1.5", + "@types/compression": "1.8.1", + "@types/express": "^5.0.6", + "@types/node": "^22.20.1", + "@types/swagger-ui-dist": "3.30.6", + "argparse": "^2.0.1", + "compression": "^1.8.1", + "cors": "^2.8.6", + "express": "^5.2.1", + "h264-mp4-encoder": "^1.0.12", + "immutable": "^5.1.9", + "io-ts": "^2.2.22", + "mutative": "^1.3.0", + "react-markdown": "^10.1.0", + "remark-gfm": "^4.0.1", + "rxjs": "^7.8.2", + "swagger-ui-dist": "^5.32.9", + "tslib": "^2.8.1" + }, + "bin": { + "cif2bcif": "lib/commonjs/cli/cif2bcif/index.js", + "cifschema": "lib/commonjs/cli/cifschema/index.js", + "model-server": "lib/commonjs/servers/model/server.js", + "model-server-preprocess": "lib/commonjs/servers/model/preprocess.js", + "model-server-query": "lib/commonjs/servers/model/query.js", + "mvs-print-schema": "lib/commonjs/cli/mvs/mvs-print-schema.js", + "mvs-render": "lib/commonjs/cli/mvs/mvs-render.js", + "mvs-validate": "lib/commonjs/cli/mvs/mvs-validate.js", + "volume-server": "lib/commonjs/servers/volume/server.js", + "volume-server-pack": "lib/commonjs/servers/volume/pack.js", + "volume-server-query": "lib/commonjs/servers/volume/query.js" + }, + "engines": { + "node": ">=22.0.0" + }, + "peerDependencies": { + "@google-cloud/storage": "^7.14.0", + "canvas": "^2.11.2", + "gl": "^6.0.2", + "jpeg-js": "^0.4.4", + "pngjs": "^6.0.0", + "react": ">=16.14.0", + "react-dom": ">=16.14.0" + }, + "peerDependenciesMeta": { + "@google-cloud/storage": { + "optional": true + }, + "canvas": { + "optional": true + }, + "gl": { + "optional": true + }, + "jpeg-js": { + "optional": true + }, + "pngjs": { + "optional": true + } + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/mutative": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/mutative/-/mutative-1.3.0.tgz", + "integrity": "sha512-8MJj6URmOZAV70dpFe1YnSppRTKC4DsMkXQiBDFayLcDI4ljGokHxmpqaBQuDWa4iAxWaJJ1PS8vAmbntjjKmQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0" + } + }, + "node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.2.tgz", + "integrity": "sha512-ATWUv387i+nLD49EiDoOft5scf32Vsdz3ktrQJG9bi7jRFmaXTssvyvj1EmeKVVgvesbqUtvQQvaS2TpTukAZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/on-headers": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/on-headers/-/on-headers-1.1.0.tgz", + "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/parse-entities": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/parse-entities/-/parse-entities-4.0.2.tgz", + "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmmirror.com/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "dev": true, + "license": "MIT" + }, + "node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-to-regexp": { + "version": "8.4.2", + "resolved": "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-8.4.2.tgz", + "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/property-information": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/property-information/-/property-information-7.2.0.tgz", + "integrity": "sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.8", + "resolved": "https://registry.npmmirror.com/proxy-addr/-/proxy-addr-2.0.8.tgz", + "integrity": "sha512-5nnx0yGyVUcY6t9RnWcARWtwT9F1D8O9rt08htPvnd49W1IgZtmLkhu9WfMzQj1cFxjHIO6connUNVW5k7AVyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/qs": { + "version": "6.17.0", + "resolved": "https://registry.npmmirror.com/qs/-/qs-6.17.0.tgz", + "integrity": "sha512-5LK5BZ2XDHMvcUJaf0CQ5HL3aVgKbpklvByC7qLSxYkfE8COEEbJg5xCHWCTqzqi0Gs4Jn5Mv5v3R38W6edscA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "es-define-property": "^1.0.1", + "side-channel": "^1.1.1" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/range-parser/-/range-parser-1.3.0.tgz", + "integrity": "sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/raw-body": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/raw-body/-/raw-body-3.0.2.tgz", + "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.7.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/react": { + "version": "19.3.1", + "resolved": "https://registry.npmmirror.com/react/-/react-19.3.1.tgz", + "integrity": "sha512-QNhWdt7nrgVWWQG58QuGsAR3jv3Hbe4mb4vz7w2csnHavciZJgda1CPNaldF6eVxv90ud3jUXpKlHL69gO38yw==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.3.1", + "resolved": "https://registry.npmmirror.com/react-dom/-/react-dom-19.3.1.tgz", + "integrity": "sha512-Y0bARz53lhEC1NMCASs0/j+faB/zqt3R8hpvg1e8+61ZVJ4UL0UdC4cBbXfZMcIuhrfgeILTLe+ZeBCavQPtKQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "scheduler": "^0.28.0" + }, + "peerDependencies": { + "react": "^19.3.1" + } + }, + "node_modules/react-markdown": { + "version": "10.1.0", + "resolved": "https://registry.npmmirror.com/react-markdown/-/react-markdown-10.1.0.tgz", + "integrity": "sha512-qKxVopLT/TyA6BX3Ue5NwabOsAzm0Q7kAPwq6L+wWDwisYs7R8vZ0nRXqq6rkueboxpkjvLGU9fWifiX/ZZFxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "html-url-attributes": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "unified": "^11.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@types/react": ">=18", + "react": ">=18" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/remark-gfm/-/remark-gfm-4.0.1.tgz", + "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmmirror.com/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.2", + "resolved": "https://registry.npmmirror.com/remark-rehype/-/remark-rehype-11.1.2.tgz", + "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmmirror.com/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, "engines": { - "node": ">=0.12" + "node": ">= 18" + } + }, + "node_modules/router/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/router/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/rxjs": { + "version": "7.8.2", + "resolved": "https://registry.npmmirror.com/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/scheduler": { + "version": "0.28.0", + "resolved": "https://registry.npmmirror.com/scheduler/-/scheduler-0.28.0.tgz", + "integrity": "sha512-juorfCmIkIw8tT+p5BXSm6PJjQF/ycEYmKyzURCIt/RaZIhL+PulbQ9Yu2z1HdOJDdqDTlxA1+xKBmHXJsczAw==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/send": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/send/-/send-1.2.1.tgz", + "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.3", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.1", + "mime-types": "^3.0.2", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.2" + }, + "engines": { + "node": ">= 18" }, "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/github-slugger": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", - "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==", + "node_modules/send/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/serve-static": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/serve-static/-/serve-static-2.2.1.tgz", + "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true, "license": "ISC" }, - "node_modules/highlight.js": { - "version": "11.11.1", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.11.1.tgz", - "integrity": "sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==", - "license": "BSD-3-Clause", + "node_modules/side-channel": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.1.1.tgz", + "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4", + "side-channel-list": "^1.0.1", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, "engines": { - "node": ">=12.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/marked": { - "version": "15.0.12", - "resolved": "https://registry.npmjs.org/marked/-/marked-15.0.12.tgz", - "integrity": "sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA==", + "node_modules/side-channel-list": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "dev": true, "license": "MIT", - "bin": { - "marked": "bin/marked.js" + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmmirror.com/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "dev": true, + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/style-to-js": { + "version": "1.1.21", + "resolved": "https://registry.npmmirror.com/style-to-js/-/style-to-js-1.1.21.tgz", + "integrity": "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "style-to-object": "1.0.14" + } + }, + "node_modules/style-to-object": { + "version": "1.0.14", + "resolved": "https://registry.npmmirror.com/style-to-object/-/style-to-object-1.0.14.tgz", + "integrity": "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.2.7" + } + }, + "node_modules/swagger-ui-dist": { + "version": "5.34.0", + "resolved": "https://registry.npmmirror.com/swagger-ui-dist/-/swagger-ui-dist-5.34.0.tgz", + "integrity": "sha512-H6tAIjr3XqE31PbkZl0OFya1ziRLDfTwh3J6OHdumPtPCLfjTnyLeagl/55kFNZcTOz9a9QI9WP0FXldwiGJag==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@scarf/scarf": "=1.4.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, + "node_modules/type-is": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/type-is/-/type-is-2.1.0.tgz", + "integrity": "sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==", + "dev": true, + "license": "MIT", + "dependencies": { + "content-type": "^2.0.0", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" }, "engines": { "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/parse5": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", - "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmmirror.com/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", "dev": true, "license": "MIT", "dependencies": { - "entities": "^6.0.0" + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" }, "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/unist-util-is/-/unist-util-is-6.0.1.tgz", + "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/unist-util-visit/-/unist-util-visit-5.2.0.tgz", + "integrity": "sha512-fpsYs/VVoZxfGY9/j3FQpZmN8wdLJaV1Pt38AaJNZu9uKIHcFU3halCdBveEq1HGKO1OEfJY65w1zvoFV1b3qQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/unist-util-visit-parents/-/unist-util-visit-parents-6.1.0.tgz", + "integrity": "sha512-vKXxz6O38sKDj1mtx/k2cWvkkFBuYGx6uGrlzBkVeWCRF/F8sdI0j3Wbkz/5rVNRRuVc8UrgRdbCxNhmYXgP3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } } } diff --git a/package.json b/package.json index 46c1d8b..6dd2c0f 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "marked": "15.0.12" }, "devDependencies": { + "molstar": "^5.11.0", "parse5": "7.3.0" }, "engines": { diff --git a/release.json b/release.json index 7e18a32..d7cfcde 100644 --- a/release.json +++ b/release.json @@ -1 +1,24 @@ -{"binaries":[{"arch":"aarch64","name":"ScienceDiscovery-0.2.0-linux-aarch64","sha256":"1b8b64335a9846721c9bf39448c07f4265d373ce4e4bc088b9149107b66576b3","url":"https://github.com/openJiuwen-ai/sciencediscovery/releases/download/0.2.0/ScienceDiscovery-0.2.0-linux-aarch64"},{"arch":"x86_64","name":"ScienceDiscovery-0.2.0-linux-x86_64","sha256":"348fbf2aeb2d38062ccbf4b2bdf0bfd99517eba0cc48370d9351b7482f758bb6","url":"https://github.com/openJiuwen-ai/sciencediscovery/releases/download/0.2.0/ScienceDiscovery-0.2.0-linux-x86_64"}],"url":"https://github.com/openJiuwen-ai/sciencediscovery/releases/tag/0.2.0","version":"0.2.0"} +{ + "version": "0.3.0", + "url": "https://github.com/openJiuwen-ai/sciencediscovery/releases/tag/v0.3.0", + "binaries": [ + { + "arch": "x64", + "name": "ScienceDiscovery-0.3.0-win-x64-setup.exe", + "sha256": "", + "url": "https://t3.znas.cn/mNKfopSiqxf" + }, + { + "arch": "aarch64", + "name": "ScienceDiscovery-0.2.0-linux-aarch64", + "sha256": "1b8b64335a9846721c9bf39448c07f4265d373ce4e4bc088b9149107b66576b3", + "url": "https://github.com/openJiuwen-ai/sciencediscovery/releases/download/0.2.0/ScienceDiscovery-0.2.0-linux-aarch64" + }, + { + "arch": "x86_64", + "name": "ScienceDiscovery-0.2.0-linux-x86_64", + "sha256": "348fbf2aeb2d38062ccbf4b2bdf0bfd99517eba0cc48370d9351b7482f758bb6", + "url": "https://github.com/openJiuwen-ai/sciencediscovery/releases/download/0.2.0/ScienceDiscovery-0.2.0-linux-x86_64" + } + ] +} diff --git a/scripts/serve.mjs b/scripts/serve.mjs index 2d9f5ba..6f4e36e 100644 --- a/scripts/serve.mjs +++ b/scripts/serve.mjs @@ -6,7 +6,7 @@ import { fileURLToPath } from 'node:url' const dist = resolve(dirname(fileURLToPath(import.meta.url)), '..', 'dist') const port = Number(process.env.PORT || 4173) -const types = { '.html': 'text/html; charset=utf-8', '.css': 'text/css', '.js': 'text/javascript', '.json': 'application/json', '.svg': 'image/svg+xml', '.png': 'image/png', '.jpg': 'image/jpeg' } +const types = { '.html': 'text/html; charset=utf-8', '.css': 'text/css', '.js': 'text/javascript', '.json': 'application/json', '.svg': 'image/svg+xml', '.png': 'image/png', '.jpg': 'image/jpeg', '.mp4': 'video/mp4', '.pdb': 'chemical/x-pdb' } if (!existsSync(dist)) throw new Error('dist/ is missing. Run `npm run build` first.') createServer((req, res) => { const pathname = decodeURIComponent(new URL(req.url, 'http://x').pathname) diff --git a/site/build.mjs b/site/build.mjs index c4dfab4..2e68ccd 100644 --- a/site/build.mjs +++ b/site/build.mjs @@ -12,77 +12,128 @@ const HERE = dirname(fileURLToPath(import.meta.url)); const ROOT = resolve(HERE, '..'); const DOCS = join(ROOT, 'docs'); const DIST = join(ROOT, 'dist'); +// Pins the homepage downloads to the newest published release, so what visitors get by default is +// the version release.json names, and every file comes with its checksum. const RELEASE = JSON.parse(readFileSync(join(ROOT, 'release.json'), 'utf8')); const REPO = process.env.SITE_REPO || 'openJiuwen-ai/sciencediscovery'; const BRANCH = process.env.SITE_BRANCH || 'main'; const GH = `https://github.com/${REPO}`; const LANGS = ['en', 'zh']; +// The opening block of 1ATP.pdb, shared by both languages: the left column's "file" folds open +// to the raw record, so the record itself has to be the real one. +const PDB_HEAD = [ + 'HEADER TRANSFERASE(PHOSPHOTRANSFERASE) 08-JAN-93 1ATP', + 'TITLE 2.2 ANGSTROM REFINED CRYSTAL STRUCTURE OF THE CATALYTIC SUBUNIT OF', + 'TITLE 2 CAMP-DEPENDENT PROTEIN KINASE COMPLEXED WITH MNATP AND A PEPTIDE', + 'TITLE 3 INHIBITOR', + 'COMPND MOL_ID: 1;', + 'COMPND 2 MOLECULE: CAMP-DEPENDENT PROTEIN KINASE;', + 'COMPND 3 CHAIN: E;', + 'COMPND 4 EC: 2.7.1.37;', + 'COMPND 5 ENGINEERED: YES;', + 'COMPND 6 MOL_ID: 2;', + 'COMPND 7 MOLECULE: PEPTIDE INHIBITOR PKI(5-24);', + 'COMPND 8 CHAIN: I;', + 'COMPND 9 ENGINEERED: YES', + 'SOURCE MOL_ID: 1;', +].join('\n'); + // ---------------------------------------------------------------- i18n const T = { en: { name: 'ScienceDiscovery', tag: 'AI research workspace', - nav: { home: 'Home', docs: 'Documentation', install: 'Install' }, + nav: { home: 'Home', docs: 'Documentation' }, langLabel: '中文', - eyebrow: 'Open source · Apache-2.0', - h1: 'The AI workspace for scientific research', - lead: 'From literature review and hypotheses to code, experiments and tuning — plan, execute, evolve and trace every result in one sandboxed environment.', - ctaInstall: 'Install', ctaDocs: 'Read the docs', ctaGh: 'View on GitHub', - demoHint: 'This demo uses preset workflows and sample data, not a live research task. ' - + 'Click nodes, replay, or switch views.', - demoUrl: '127.0.0.1:4310', - featTitle: 'Built for the whole research loop', - featSub: 'One local workspace that plans the work, runs it safely, searches for better answers, and remembers where every conclusion came from.', + eyebrow: 'Open source · Apache-2.0 · Runs on your machine', + h1: 'ScienceDiscoveryYour all-in-one AI research workspace', + lead: 'Papers, code, experiments, conclusions — all in one AI workspace instead of a dozen tools, and every conclusion and every number keeps a traceable record of the data, code and run behind it.', + ctaDownload: 'Download ScienceDiscovery', ctaGh: 'View on GitHub', + videoLabel: 'ScienceDiscovery screen recording', + avatarUser: 'You', + avatarAgent: 'Agent', + avatarSd: 'SD', + close: 'Close', + filesMore: 'More files below', + chatPlain: 'Generic agent', + chatSd: 'ScienceDiscovery', feats: [ - ['flask', 'Execution environments & workspaces', 'Run Python, R and shell in a managed, sandboxed environment. Keep code, data and results in a workspace you can inspect.', 'core/execution-workspaces', 'Sandbox'], - ['tree', 'Idea Tree', 'Explore candidate research directions, assess their designs in separate steps, and use feedback to refine a plan you can test.', 'core/idea-tree', 'Idea Tree'], - ['dna', 'RSI for research artifacts', 'Generate and evaluate variants of a program or other measurable artifact, then check the result on held-out data.', 'core/evolve', 'Evolve'], - ['graph', 'ScienceMemory & Reviewer', 'Trace recorded work and evidence through a graph. When enabled, Reviewer flags findings in artifacts that need a closer look.', 'core/science-memory-reviewer', 'Memory graph'], - ['users', 'Specialists', 'Call focused research roles for literature, code and evaluation, or create your own with the right instructions, Skills and tools.', 'core/specialists', 'Subagents'], - ['plug', 'Scientific MCP & Skills', 'Connect literature, databases and tools through MCP. Reuse research methods for retrieval, analysis and delivery through Skills.', 'core/mcp-skills', 'Connectors'] + { + ic: 'plug', tag: 'Scientific MCP', doc: 'core/mcp-skills', + title: 'One place to manage your scattered research tools', + text: 'Scientific MCP retrieves and downloads papers and data for you: no code to write, no API keys to wire up, no hopping between a dozen websites. Say what you need and the files land in your workspace.', + ask: 'Find recent work on additives that improve perovskite stability, and grab the related crystal structures while you are at it.', + plain: 'I will write some Python against the PubMed E-utilities API, or query the endpoints one by one with curl.', + plain2: 'Writing the Python script', + sd: 'PubMed MCP tools returned 63 papers; 9 survived relevance and citation screening and are saved in /workspace/lit/. Three structures came back from the PDB. Want a table of the additive families behind those 9 papers?', + files: ['zhang2024_perovskite.pdf', 'liu2025_additives.pdf', '1ATP.pdb'] + }, { + ic: 'dna', tag: 'Protein structures', doc: 'domains/antibody-design', + title: 'View protein 3D structures', + text: 'Drop a PDB file into the workspace and the artifact preview opens an interactive 3D structure in one click: rotate, zoom, a sequence panel, with protein, pocket and ligand atoms coloured automatically by layer.', + ask: 'Please fetch the 1ATP file from RCSB PDB.', + plain: '

Downloaded 1ATP from RCSB PDB.

' + + '

Source: https://files.rcsb.org/download/1ATP.pdb
Saved to: 1ATP.pdb (current working directory)

' + + '

File check and summary

' + + '' + + '' + + '' + + '
File size299,538 bytes / 3,698 lines
FormatPDB (v3.x)
Structure ID1ATP
Title2.2 Å refined crystal structure of the catalytic subunit of cAMP-dependent protein kinase complexed with MnATP and a peptide inhibitor
', + plainFold: { name: '1ATP.pdb', hint: 'Click to open the file', text: PDB_HEAD, note: 'The file has 3,698 lines; this is its opening block.' }, + sd: '

Fetching the 1ATP structure from RCSB PDB. I will look up the entry metadata and try a direct download at the same time.

' + + '
Called mcp__pdb__lookup_structure
' + + '
Called run_shell
' + + '
Thinking · round 1
' + + '

The file downloaded (299,538 bytes) and its header confirms the official 1ATP entry. One more integrity check — record-type counts, ligands, file ending:

' + + '
Called run_shell
' + + '
Thinking · round 2
' + + '

Check passed: 2,913 ATOM and 157 HETATM records (3,070 atoms, matching RCSB deposited_atom_count=3070) and a clean MASTER/END tail. Registering the file as a project artifact:

', + sdFold: { label: 'Artifact from this run', name: '1ATP.pdb', hint: 'Click to open the 3D view', viewer: 'viewer-1atp', structure: '1ATP.pdb', loading: 'Loading the 3D viewer (about 5 MB on first open)…', error: 'The 3D viewer could not load. The file itself is still readable in the left column.', caption: 'A real Mol* viewer, the same engine embedded in a ScienceDiscovery session: drag to rotate, scroll to zoom, and use the panels on both sides to change the representation, inspect the structure and its ligands, or export models.' } + }, { + ic: 'tree', tag: 'Evolve', doc: 'core/evolve', + title: 'Auto-tune artifacts with a search algorithm, using fewer tokens', + text: 'Hand over something measurable — a program, a parameter table, even a prompt — and it generates variants, scores each one, checks the winner on held-out data and returns the best version. Every variant keeps its code, score and run record, so you can roll back.', + ask: 'Run just one LLM-SRBench task, lsr_transform_i.34.1_2_0, with flags matching era-srbench-deepseek-transform.', + plain: '

Task analysed, writing a program to check the fit.

' + + '
Verification round 1
' + + '
…
' + + '
Verification round n
' + + '
Verification complete
', + tally: '939,940 tokens spent', + sd: '
Called create_evolve_run
' + + '

Searching for the symbolic equation with the smallest NMSE on LLM-SRBench task lsr_transform_i.34.1_2_0 (input omega, c, v → output omega_0)…

', + sdTally: '608,361 tokens spent', sdTallyIcon: 'down', + sdTask: { ic: 'tree', label: 'Artifact from this run', name: 'Evolution task', hint: 'Click to see the run', viewer: 'viewer-evolve', image: 'sd-evolve.png', alt: 'Evolve program-evolution panel', caption: 'Evolve run panel: score curve, candidate log, search tree.' } + }, { + ic: 'graph', tag: 'Science Memory', doc: 'core/science-memory-reviewer', + title: 'Every number 100% trustworthy, traceable on the spot', + text: 'Runs, artifacts and claims all carry a version and an origin: open a claim and see which run, which dataset and which code produced it, together with the inputs and outputs of that moment.', + ask: 'Search PubMed and bioRxiv for 2023–2025 papers comparing adult and paediatric hepatocyte gene expression, focused on immune pathways. Chart the top enriched pathways and flag where the studies disagree.', + plain: '
Thinking: The user wants a literature search...
' + + '
Updated task list 0/5 done · Search PubMed ...
' + + '
Web fetch...
' + + '
Web search...
' + + '

Direction of inflammation with age ★★★: E25 (highest in fetal liver, falling through adulthood) vs L24/H23/R25 (rising again in the elderly) → in fact a U-shaped curve, with each pair covering one arm.

' + + '

Is the paediatric-to-adult NAFLD programme portable? ★★: G23 contradicts itself — the gene set is almost entirely non-portable (17%), yet the core GO inflammation module is shared. Supporting evidence: E25 found that using adult liver as the control systematically masks paediatric IFALD signals.

', + tally: 'Claim cannot be traced', tallyIcon: 'warn', + sd: '
Thinking · round 1
' + + '
Called mcp__pubmed__prepare_paper_download
' + + '
Called mcp__biorxiv__search_preprints
' + + '

Is the paediatric liver pro-inflammatory, or immune-dysregulated and hypo-responsive?

' + + '

Edgar: higher inflammatory potential (IL-1β secretion p<0.05) ; Vance: IL-27-dominant with failed immune coordination, and the background literature reports lower Th1 cytokines in neonates .

', + sdTally: 'Claim fully traced', sdTallyIcon: 'check', + evidence: [ + { viewer: 'ev-1', name: 'evidence1', image: 'e1.png', alt: 'The source behind citation evidence1', caption: 'The source behind citation [evidence1].' }, + { viewer: 'ev-6', name: 'evidence6', image: 'e6.png', alt: 'The source behind citation evidence6', caption: 'The source behind citation [evidence6].' } + ] + } ], learn: 'Learn more →', - ctaBoxTitle: 'Run it on your own machine', - ctaBoxSub: 'A single binary, no cloud account. Start the stack and open the UI in your browser.', footNote: 'ScienceDiscovery is a workflow orchestration tool and does not embed any AI model.', - footLinks: [['Documentation', 'docs/index.html'], ['Install', 'install/index.html']], - quickInstall: { - title: 'Run the Linux release', - sub: 'For glibc-based Linux x86_64 (glibc 2.28+ and compatible libstdc++; not Alpine/musl) with Bubblewrap. Run the commands from the download directory.', - label: 'Fastest path', - download: 'Download Linux x86_64', - alt: 'Need Docker, a different OS or architecture, or source mode?', - link: 'See all install options' - }, - demo: { - task: ['Task', 'Session', 'Literature → analysis → report', 'Replay'], - tree: ['Idea Tree', 'Idea Tree', 'Improve perovskite lifetime', 'Inspect random node'], - evolve: ['Evolve', 'Program evolution', 'Minimise f(x,y) in 200 calls', 'Replay search'], - memory: ['Memory graph', 'ScienceMemory', 'Trace a report back to its sources', 'Trace random node'], - agents: ['Subagents', 'Orchestration', 'Four specialists, one goal', 'Restart'], - projects: 'Projects', sessions: 'Sessions', - sess: ['Perovskite stability', 'Kinase screening', 'Benchmark tuning'], - prompt: 'Survey additives that improve perovskite stability and build a degradation model.', - reply: 'I will search three databases, read the key papers, fit a model in the sandbox and write a cited report.', - running: 'running', done: 'done', - final: 'Report ready: 9 claims, each linked to its evidence in the memory graph.', - rootDesc: 'Research goal. Child ideas are designed, scored independently and aggregated.', - best: 'best so far', evaluated: 'evaluated', score: 'Score', - dims: ['Viability', 'Stability', 'Sustainability'], parent: 'Parent', - lineage: 'Lineage', lineageHint: 'Click any node to trace what it depends on.', - legend: [['#22a06b', 'strong'], ['#2563eb', 'evaluated'], ['#d19a32', 'weak']], - best2: 'best', nodes: 'nodes' - }, + footLinks: [['Documentation', 'docs/index.html']], dl: { - title: 'Install ScienceDiscovery', sub: 'Choose your system, then jump to the install method that fits your machine.', latest: 'Latest release', notes: 'Release notes', recommended: 'Recommended for you', download: 'Download', - linux: ['Linux', 'x86_64 and aarch64 · needs bubblewrap'], macos: ['macOS', 'Apple Silicon and Intel · Seatbelt sandbox'], windows: ['Windows', 'Windows 10 / 11 · x64'], - soon: 'Prebuilt package not published yet', build: 'Build from source', buildLink: 'docs/getting-started/deployment.html', - docker: 'Docker Compose', dockerLink: 'docs/getting-started/deployment.html#docker-deployment-linux-containers', - startTitle: 'After downloading', - startSteps: 'Make the binary executable and start the stack, then open the Open to sign in URL printed in the terminal.', - startCode: 'chmod +x ./ScienceDiscovery-*-linux-x86_64\n./ScienceDiscovery-*-linux-x86_64 serve', - note: 'Prebuilt binaries are currently published for Linux. macOS users can run ScienceDiscovery from source today — see the build guide.', + linux: 'Linux', macos: 'macOS', windows: 'Windows', all: 'All releases on GitHub' }, docs: { @@ -93,67 +144,97 @@ const T = { }, zh: { name: 'ScienceDiscovery', tag: 'AI 科研工作台', - nav: { home: '首页', docs: '文档', install: '安装' }, + nav: { home: '首页', docs: '文档' }, langLabel: 'English', - eyebrow: '开源 · Apache-2.0', - h1: '面向科学研究的 AI 工作台', - lead: '从文献调研和提出假设,到编写代码、开展实验和调参,都能在同一个沙箱环境里完成规划、执行、迭代,并追溯每一项结果。', - ctaInstall: '安装', ctaDocs: '阅读文档', ctaGh: '在 GitHub 查看', - demoHint: '这是使用预设流程与示例数据的交互演示,不对应运行中的科研任务。' - + '可点击节点、重放或切换视图。', - demoUrl: '127.0.0.1:4310', - featTitle: '贯穿科研工作的完整闭环', - featSub: '一个本地工作台,帮你规划任务、安全执行、寻找更优解,并保留每个结论的来处。', + eyebrow: '开源 · Apache-2.0 · 全部在你的机器上跑', + h1: 'ScienceDiscovery你的一站式 AI 科研工作站', + lead: '文献、代码、实验、结论,全部在一个 AI 工作站里完成,不必在十几个工具之间来回搬运;每一条结论、每一个数据都留有出处,随时可以追溯到当时的数据、代码和运行记录。', + ctaDownload: '下载 ScienceDiscovery', ctaGh: '在 GitHub 查看', + videoLabel: 'ScienceDiscovery 实机演示', + avatarUser: '你', + avatarAgent: 'Agent', + avatarSd: 'SD', + close: '关闭', + filesMore: '还有更多文件', + chatPlain: '通用 Agent', + chatSd: 'ScienceDiscovery', feats: [ - ['flask', '科研执行环境与工作区', '在受管的沙箱环境中运行 Python、R 和 Shell,并在工作区保留代码、数据和结果,方便检查。', 'core/execution-workspaces', '沙箱'], - ['tree', 'Idea Tree', '提出多个研究方向,分步设计和评估,再用反馈完善可供检验的方案。', 'core/idea-tree', 'Idea Tree'], - ['dna', '科研产物的 RSI', '为程序或其他可评价的产物生成变体、逐个评价,并用留出数据检验结果。', 'core/evolve', 'Evolve'], - ['graph', '记忆图谱与 Reviewer', '用图谱追溯已记录的工作和证据。启用 Reviewer 后,还能找出产物中需要进一步核查的问题。', 'core/science-memory-reviewer', '记忆图谱'], - ['users', '专业 Specialist', '按任务调用文献、代码和评价等专业角色,也可以结合指令、Skill 和工具创建自己的角色。', 'core/specialists', '子 Agent'], - ['plug', '科研 MCP 与 Skill', '通过 MCP 接入文献、数据库和工具,用 Skill 复用检索、分析与交付方法。', 'core/mcp-skills', '连接器'] + { + ic: 'plug', tag: '科学 MCP', doc: 'core/mcp-skills', + title: '一站式管理你的碎片化科研工具', + text: '科研文献、数据都能通过科学MCP检索、下载:不用写代码、不用配 API key,也不用在十几个网站之间手动翻找。说清你要什么,文件直接落到工作区里,又快又好。', + ask: '帮我找近两年提升钙钛矿稳定性的添加剂研究,顺便把相关的晶体结构文件也取回来。', + plain: '我先写一段 Python 调 PubMed 的 E-utilities 接口,或者用 curl 逐个查询。', + plain2: '正在编写 Python 程序', + sd: '已通过 PubMed MCP 工具检索到 63 篇,按相关性和引用筛出 9 篇并存入 /workspace/lit/;另有 3 个结构文件已从 PDB 取回。要我把这 9 篇里的添加剂类型做成对照表吗?', + files: ['zhang2024_perovskite.pdf', 'liu2025_additives.pdf', '1ATP.pdb'] + }, { + ic: 'dna', tag: '蛋白质结构', doc: 'domains/antibody-design', + title: '支持查看蛋白质 3D 结构', + text: '把 PDB 文件放进工作区,产物预览页点一下就能打开交互式 3D 结构:旋转、缩放、序列面板,蛋白、口袋、配体自动分层着色。', + ask: '请你从 RCSB PDB 中获取 1ATP 文件。', + plain: '

已从 RCSB PDB 成功下载 1ATP。

' + + '

下载来源:https://files.rcsb.org/download/1ATP.pdb
保存位置:1ATP.pdb(当前工作目录)

' + + '

文件校验与内容摘要

' + + '' + + '' + + '' + + '
文件大小299,538 字节 / 3,698 行
格式PDB (v3.x)
结构 ID1ATP
标题2.2 Å 分辨率下 cAMP 依赖性蛋白激酶催化亚基与 MnATP 及肽抑制剂复合物的精修晶体结构
', + plainFold: { name: '1ATP.pdb', hint: '点击查看文件', text: PDB_HEAD, note: '文件共 3,698 行,此处只展开开头部分。' }, + sd: '

我来从 RCSB PDB 获取 1ATP 结构文件。先查询该结构的元数据,同时尝试直接下载。

' + + '
已调用 mcp__pdb__lookup_structure
' + + '
已调用 run_shell
' + + '
思考过程 · 第 1 轮
' + + '

文件已成功下载(299,538 字节),头部信息确认为官方 1ATP 条目。再做一次完整性校验(记录类型统计、配体、文件结尾):

' + + '
已调用 run_shell
' + + '
思考过程 · 第 2 轮
' + + '

校验通过:2,913 条 ATOM + 157 条 HETATM(共 3,070 个原子,与 RCSB 官方 deposited_atom_count=3070 一致),文件以 MASTER/END 正常收尾。现在将文件登记为项目产物:

', + sdFold: { label: '本轮产物', name: '1ATP.pdb', hint: '点击展开 3D 结构', viewer: 'viewer-1atp', structure: '1ATP.pdb', loading: '正在加载 3D 查看器(首次打开需要下载约 5 MB)…', error: '3D 查看器没能加载,可以先用左侧的 1ATP.pdb 看文件内容。', caption: '真实的 Mol* 结构查看器,与 ScienceDiscovery 会话里内嵌的是同一个引擎:拖动旋转、滚轮缩放,左右两侧面板可切换表示方式、查看结构与配体、导出模型。' } + }, { + ic: 'tree', tag: '产物自进化', doc: 'core/evolve', + title: '使用搜索算法对产物自动调优,消耗更少token', + text: '给出一个可评价的产物——程序、参数表、甚至提示词都行——它会成批生成变体、逐个打分,再用留出数据检验,最后把得分最高的版本交给你。每个变体的代码、分数和运行记录都留了版本,随时可以回退。', + ask: '只跑 LLM-SRBench 的一道题 lsr_transform_i.34.1_2_0,配置对齐 era-srbench-deepseek-transform 的旗标。', + plain: '

完成题目分析,编写程序验证。

' + + '
第一轮验证
' + + '
…
' + + '
第 n 轮验证
' + + '
验证完成
', + tally: 'token消耗939,940', + sd: '
已调用 create_evolve_run
' + + '

为 LLM-SRBench 题目 lsr_transform_i.34.1_2_0(输入 omega,c,v → 输出 omega_0)搜索 NMSE 最小的符号方程……

', + sdTally: 'token消耗608,361', sdTallyIcon: 'down', + sdTask: { ic: 'tree', label: '本轮产物', name: '演进任务', hint: '点击查看演进任务', viewer: 'viewer-evolve', image: 'sd-evolve.png', alt: 'Evolve 程序演进面板', caption: 'Evolve 程序演进面板:得分曲线、候选流水与搜索树。' } + }, { + ic: 'graph', tag: '结果可溯源', doc: 'core/science-memory-reviewer', + title: '每个数据都 100% 可信,支持即时溯源', + text: '运行、产物、结论都带版本和来源:这条结论出自哪次运行、哪份数据、哪段代码,点开就能看到当时的输入和输出。', + ask: '检索 PubMed 与 bioRxiv 上 2023–2025 年比较成人与儿童肝实质细胞基因表达的论文,聚焦免疫相关通路。生成前几位富集通路的柱状图,并标出不同研究之间相互矛盾的结论。', + plain: '
思考:The user wants a literature search...
' + + '
更新任务清单0/5 已完成 · Search PubMed ...
' + + '
网页获取...
' + + '
网页搜索...
' + + '

炎症随年龄的方向 ★★★:E25(胎儿最高→成人递减)vs L24/H23/R25(老年回升)→ 实为 U 型曲线,两篇各覆盖一段。

' + + '

儿童-成人 NAFLD 程序是否可移植 ★★:G23 自身就矛盾——基因集合几乎不可移植(17%),但 GO 核心炎症模块共享。旁证:E25 发现用成人肝作对照会系统性掩盖儿童 IFALD 信号。

', + tally: '结论无法溯源', tallyIcon: 'warn', + sd: '
思考过程 · 第 1 轮
' + + '
已调用 mcp__pubmed__prepare_paper_download
' + + '
已调用 mcp__biorxiv__search_preprints
' + + '

儿科肝是「高炎症」还是「免疫失调/低应答」

' + + '

Edgar:更高炎症潜能(IL-1β 分泌 p<0.05),Vance:IL-27 主导、免疫协调失败;文献背景新生儿 Th1 细胞因子更低。

', + sdTally: '结论来源清晰', sdTallyIcon: 'check', + evidence: [ + { viewer: 'ev-1', name: 'evidence1', image: 'e1.png', alt: '引用 evidence1 对应的原文证据', caption: '引用 [evidence1] 对应的原文证据。' }, + { viewer: 'ev-6', name: 'evidence6', image: 'e6.png', alt: '引用 evidence6 对应的原文证据', caption: '引用 [evidence6] 对应的原文证据。' } + ] + } ], learn: '了解更多 →', - ctaBoxTitle: '在你自己的机器上运行', - ctaBoxSub: '一个可执行文件,无需云账号。启动服务后,即可在浏览器中使用。', footNote: 'ScienceDiscovery 仅作为工作流编排工具,不内置任何 AI 模型。', - footLinks: [['文档', 'docs/index.html'], ['安装', 'install/index.html']], - quickInstall: { - title: '运行 Linux 预编译版', - sub: '适用于有 Bubblewrap、使用 glibc 的 Linux x86_64(glibc 2.28+ 和兼容的 libstdc++,不适用于 Alpine/musl)。先进入下载文件所在目录,再运行右侧命令。', - label: '最快方式', - download: '下载 Linux x86_64', - alt: '需要使用 Docker、其他系统或架构,或从源码运行?', - link: '查看其他安装方式' - }, - demo: { - task: ['任务', '会话', '文献 → 分析 → 报告', '重放'], - tree: ['Idea Tree', 'Idea Tree', '提升钙钛矿寿命', '随机查看节点'], - evolve: ['Evolve', '程序演进', '在 200 次调用内最小化 f(x,y)', '重放搜索'], - memory: ['记忆图谱', 'ScienceMemory', '把报告追溯到原始来源', '随机追溯节点'], - agents: ['Subagent', '编排', '四位专家,一个目标', '重新开始'], - projects: '项目', sessions: '会话', - sess: ['钙钛矿稳定性', '激酶筛选', '基准调优'], - prompt: '调研能提升钙钛矿稳定性的添加剂,并建立衰减模型。', - reply: '我会检索三个数据库、精读关键论文、在沙箱里拟合模型,最后写出带引用的报告。', - running: '运行中', done: '完成', - final: '报告已生成:9 条结论,均在记忆图谱中关联到证据。', - rootDesc: '研究目标。子想法会被设计、独立评分并聚合。', - best: '当前最优', evaluated: '已评估', score: '得分', - dims: ['活性', '稳定性', '可持续性'], parent: '父节点', - lineage: '溯源链', lineageHint: '点击任意节点,查看它依赖的上游。', - legend: [['#22a06b', '优'], ['#2563eb', '已评估'], ['#d19a32', '较弱']], - best2: '最优', nodes: '节点' - }, + footLinks: [['文档', 'docs/index.html']], dl: { - title: '安装 ScienceDiscovery', sub: '选择你的系统,再跳转到适合的安装方式。', latest: '最新版本', notes: '发布说明', recommended: '为你推荐', download: '下载', - linux: ['Linux', 'x86_64 与 aarch64 · 需要 bubblewrap'], macos: ['macOS', 'Apple 芯片与 Intel · Seatbelt 沙箱'], windows: ['Windows', 'Windows 10 / 11 · x64'], - soon: '暂未发布预编译包', build: '从源码构建', buildLink: 'docs/getting-started/deployment.html', - docker: 'Docker Compose', dockerLink: 'docs/getting-started/deployment.html#docker-部署linux-容器', - startTitle: '下载之后', - startSteps: '赋予可执行权限并启动服务,然后在浏览器中打开终端输出的 Open to sign in 链接。', - startCode: 'chmod +x ./ScienceDiscovery-*-linux-x86_64\n./ScienceDiscovery-*-linux-x86_64 serve', - note: '目前预编译二进制仅发布 Linux 版本。macOS 用户现在可以从源码运行,详见构建指南。', + linux: 'Linux', macos: 'macOS', windows: 'Windows', all: '在 GitHub 查看全部版本' }, docs: { @@ -167,7 +248,7 @@ const T = { // The product documentation owns these six reader-facing groups. Listed pages keep // a useful reading order; new pages in the same directory are appended automatically. const DOC_GROUPS = [ - ['getting-started', ['getting-started/README', 'getting-started/quick-start', 'getting-started/deployment']], + ['getting-started', ['getting-started/deployment', 'getting-started/quick-start']], ['core', ['core/README', 'core/evolve', 'core/execution-workspaces', 'core/idea-tree']], ['domains', ['domains/README', 'domains/evolve-a-solution', 'domains/run-an-evolution-search', 'domains/literature-research']], ['advanced-setup', ['advanced-setup/README', 'advanced-setup/configure-custom-mcp', 'advanced-setup/configure-network-proxy', 'advanced-setup/science-memory-setup']], @@ -175,6 +256,14 @@ const DOC_GROUPS = [ ['developer-docs', ['developer-docs/README', 'developer-docs/architecture', 'developer-docs/control-plane', 'developer-docs/agent', 'developer-docs/runner', 'developer-docs/sandbox-execution', 'developer-docs/science-memory', 'developer-docs/subagent-orchestration', 'developer-docs/skill-progressive-disclosure', 'developer-docs/science-connectors', 'developer-docs/web-frontend']] ]; +// A panel that shows a screenshot is sized from the picture itself: the stylesheet multiplies the +// height left for the image by this ratio, so the dialog hugs the image instead of sitting in a +// wide empty box. Read straight from the PNG header (IHDR), so replacing the file is enough. +function shotRatio(file) { + const png = readFileSync(join(HERE, 'src', 'media', file)); + return (png.readUInt32BE(16) / png.readUInt32BE(20)).toFixed(4); +} + // ---------------------------------------------------------------- icons (same stroke style as the app) const svg = (d, s = 20) => ``; const IC = { @@ -189,9 +278,14 @@ const IC = { github: '', download: '', book: '', - linux: '', + // Tux: the head-and-body silhouette with the beak, eyes and belly patch, so the Linux card reads + // as the classic penguin rather than a rounded blob. + linux: '', apple: '', - windows: '' + windows: '', + warn: '', + check: '', + down: '' }; // ---------------------------------------------------------------- markdown @@ -294,11 +388,14 @@ function renderDoc(md, srcFile, lang, pagePath) { if (!pathPart && hash) return '#' + (anchorAliases[hash] || hash); const abs = resolve(srcDir, decodeURI(pathPart)); const m = abs.match(/[\\/]docs[\\/](en|zh)[\\/](.+)\.md$/); - const targetAliases = DOC_ANCHOR_ALIASES[m?.[1]]?.[m?.[2]] || {}; + const k = m ? m[2].split(sep).join('/') : ''; + const targetAliases = DOC_ANCHOR_ALIASES[m?.[1]]?.[k] || {}; const frag = hash ? '#' + (targetAliases[hash] || anchorAliases[hash] || hash) : ''; if (m) { - const k = m[2].split(sep).join('/'); - if (sources[k]) return rel(pagePath, pathOf(lang, 'docs/' + outPath(k))) + frag; + // A link into the other language's docs is a language switch ("English version", "中文版"), + // so it keeps its own language: its anchor names the headings of that language, and the page + // rendered at this language's URL can only carry this language's ids. + if (sources[k]) return rel(pagePath, pathOf(m[1], 'docs/' + outPath(k))) + frag; } const r = relative(ROOT, abs).split(sep).join('/'); if (r.startsWith('..')) return href; @@ -321,77 +418,24 @@ function renderDoc(md, srcFile, lang, pagePath) { // ---------------------------------------------------------------- extra strings const X = { en: { - install: 'Install', searchPh: 'Search documentation', searchBtn: 'Search', searchEmpty: 'No results for', searchHint: '↑↓ to navigate · Enter to open · Esc to close', searchLoading: 'Loading index…', + searchPh: 'Search documentation', searchBtn: 'Search', searchEmpty: 'No results for', searchHint: '↑↓ to navigate · Enter to open · Esc to close', searchLoading: 'Loading index…', theme: 'Toggle dark mode', docsQuick: 'Quick start' }, zh: { - install: '安装', searchPh: '搜索文档', searchBtn: '搜索', searchEmpty: '没有找到', searchHint: '↑↓ 选择 · Enter 打开 · Esc 关闭', searchLoading: '正在加载索引…', + searchPh: '搜索文档', searchBtn: '搜索', searchEmpty: '没有找到', searchHint: '↑↓ 选择 · Enter 打开 · Esc 关闭', searchLoading: '正在加载索引…', theme: '切换深色模式', docsQuick: '快速开始' } }; -const binaryRenameCommands = RELEASE.binaries - .filter((binary) => binary.os === 'linux' || (!binary.os && binary.name.includes('-linux-'))) - .sort((a, b) => Number(b.arch === 'x86_64') - Number(a.arch === 'x86_64')) - .map((binary) => [binary.arch, `mv ${binary.name} ScienceDiscovery\nchmod +x ./ScienceDiscovery`]); -const D = { - en: { - title: 'Deploy ScienceDiscovery', sub: 'Three independent paths. Pick one and do not mix them.', - tabs: ['Prebuilt binary', 'Docker', 'From source'], recommended: 'Recommended on native Linux', - platformsTitle: 'Choose your system and install method', - platforms: [['Linux', 'linux', 'x86_64 and aarch64', ['bin', 'docker', 'src']], ['macOS', 'apple', 'Apple Silicon and Intel', [['docker', 'Docker', true], 'src']], ['Windows', 'windows', 'WSL 2 Linux or Docker', [['bin', 'Linux binary · WSL 2'], ['src', 'From source · WSL 2'], ['docker', 'Docker']], true]], - experimental: 'Experimental', - experimentalNote: 'macOS Docker and all Windows installation paths are experimental because Agent behavior there has not been fully validated.', - platformsNote: 'On Windows, the WSL 2 paths require Bubblewrap and unprivileged user namespaces in the Linux distribution.', - wslGuide: 'Set up WSL 2', - reqTitle: 'Requirements', - bin: { h: 'Prebuilt single-file binary', p: 'For glibc-based Linux x86_64 and aarch64, including a Linux distro in WSL 2 on Windows. It embeds Node, Python, the web UI and micromamba. The Linux environment still needs Bubblewrap and unprivileged user namespaces. On macOS, consider Local source mode or the Docker path below.', - req: [['OS', 'glibc-based Linux x86_64 or aarch64, including WSL 2; glibc 2.28+ and compatible libstdc++ (not Alpine/musl)'], ['Linux dependency', 'bubblewrap 0.6+ (unprivileged user namespaces); Debian 11 packages an older version'], ['Network', 'first launch installs uv and Python deps from a PyPI mirror']], - steps: ['Install Bubblewrap with the command for your Linux distribution (use only one).', 'Download the binary for your architecture, then use its matching command below. On Windows, open your WSL 2 Linux terminal (for example, Ubuntu) and run cd ~ && explorer.exe . there. Windows File Explorer opens your Linux home directory. Copy the download into it first.', 'Start the stack and keep this terminal open.', 'In a second terminal in the same Linux environment, check the service response. Its top-level status should be ok.'], - code: [[['Debian / Ubuntu', 'sudo apt-get install -y bubblewrap'], ['Fedora / RHEL / openEuler', 'sudo dnf install -y bubblewrap']], binaryRenameCommands, './ScienceDiscovery serve', 'curl -fsS http://127.0.0.1:4310/health'], link: 'getting-started/deployment.html#prepackaged-single-file-deployment-linux', linkText: 'Binary deployment in the full guide' }, - docker: { h: 'Docker Compose', p: 'Run the complete stack in a Linux container.', - req: [['Host', 'Linux, macOS with Docker Desktop (check OS support) or a working Docker engine, or Windows with Docker Desktop'], ['Software', 'Docker Engine 24+ with Compose v2.15+, or Docker Desktop. On Windows, select Linux containers.'], ['Sandbox', 'Linux container must allow unprivileged user namespaces for Bubblewrap']], - steps: ['Clone the repository and enter it.', 'Prepare .env and data/. On Linux / macOS, set SCIENCE_AGENT_UID and SCIENCE_AGENT_GID in .env if your ids differ from 1000. On Windows, start with the default ids; if data/ is unwritable, see the troubleshooting guide below.', 'Build and start.', 'Check the service response and find the “Open to sign in” URL in the logs.'], - code: ['git clone https://github.com/openJiuwen-ai/sciencediscovery.git\ncd sciencediscovery', [['Linux / macOS · Unix shell', 'cp .env.docker.example .env\nmkdir -p data\nid -u\nid -g'], ['Windows · PowerShell', 'Copy-Item .env.docker.example .env\nNew-Item -ItemType Directory -Force data']], 'docker compose build\ndocker compose up -d', 'docker compose ps\ndocker compose exec sciencediscovery curl -fsS http://127.0.0.1:4310/health\ndocker compose logs --tail=100 sciencediscovery'], link: 'getting-started/deployment.html#docker-deployment-linux-containers', linkText: 'Docker deployment and troubleshooting' }, - src: { h: 'Local source mode', p: 'Runs services directly from a checkout. Best for development and debugging on Linux or macOS 13+. On Windows, run the Linux steps inside WSL 2.', - req: [['Toolchain', 'Node.js 22.19+, pnpm 11.1.2, python3 3.9+, uv 0.9+, Git, curl'], ['Linux / WSL 2 sandbox', 'Bubblewrap 0.6+ (0.8+ recommended) and unprivileged user namespaces; Debian 11 packages an older version'], ['macOS', '13+ with the built-in Seatbelt sandbox (/usr/bin/sandbox-exec)']], - steps: ['Clone the repository. On Windows, run cd ~ inside WSL 2 first and keep the checkout out of /mnt/c.', 'Set up JiuwenSwarm once.', 'Install, build and start every service. Keep this terminal open.', 'On later starts, use this command to skip the build.'], - code: ['git clone https://github.com/openJiuwen-ai/sciencediscovery.git\ncd sciencediscovery', 'scripts/jiuwenswarm.sh setup', './scripts/start-stack.sh --mode local', './scripts/start-stack.sh --mode local --no-build'], link: 'getting-started/deployment.html#local-source-mode-linux--macos', linkText: 'Local mode in the full guide' }, - after: 'After it starts', afterCards: [['Sign in', 'Open the “Open to sign in” URL from the startup output. The browser saves the local service token automatically. Keep the URL private.', 'getting-started/quick-start.html#after-startup'], ['Configure a model', 'Open System settings → Model registry, connect a model provider, then choose a global default task model. ScienceDiscovery embeds no model of its own.', 'getting-started/quick-start.html#2-configure-a-model'], ['Run a first task', 'Run a task that executes code, then check its result. Quick Start provides a Python example and a checklist.', 'getting-started/quick-start.html#3-run-your-first-scientific-task']], - portsTitle: 'Default ports', ports: [['4310', 'Control API and Web UI'], ['4311', 'Runner (loopback only)']], - full: 'Read the full deployment guide' - }, - zh: { - title: '部署 ScienceDiscovery', sub: '三种相互独立的路径,选择其一,不要混用。', - tabs: ['预编译二进制', 'Docker', '源码运行'], recommended: '原生 Linux 推荐', - platformsTitle: '按系统选择安装方式', - platforms: [['Linux', 'linux', 'x86_64 与 aarch64', ['bin', 'docker', 'src']], ['macOS', 'apple', 'Apple 芯片与 Intel', [['docker', 'Docker', true], 'src']], ['Windows', 'windows', 'WSL 2 Linux 或 Docker', [['bin', 'Linux 二进制 · WSL 2'], ['src', '源码运行 · WSL 2'], ['docker', 'Docker']], true]], - experimental: '实验性', - experimentalNote: 'macOS Docker 和所有 Windows 安装路径目前作为实验特性提供,其 Agent 运行效果尚未经过全面验证。', - platformsNote: 'Windows 用户使用 WSL 2 路径时,需在 Linux 发行版中安装 Bubblewrap,并确保可使用非特权用户命名空间。', - wslGuide: '安装 WSL 2', - reqTitle: '前置条件', - bin: { h: '预编译单文件二进制', p: '适用于使用 glibc 的 Linux x86_64 与 aarch64,包括 Windows 上符合条件的 WSL 2 Linux 发行版。每种架构一个可执行文件,内含 Node、Python、Web 界面与 micromamba。Linux 环境仍需 Bubblewrap 与非特权用户命名空间。macOS 可考虑下方的本地源码模式或 Docker 路径。', - req: [['系统', '使用 glibc 的 Linux x86_64 或 aarch64,包括 WSL 2;需 glibc 2.28+ 和兼容的 libstdc++(不适用于 Alpine/musl)'], ['Linux 依赖', 'bubblewrap 0.6+(需非特权用户命名空间);Debian 11 默认软件包版本较低'], ['网络', '首次启动会从 PyPI 镜像安装 uv 与 Python 依赖']], - steps: ['按自己的 Linux 发行版安装 Bubblewrap,两条命令只需执行其一。', '下载对应架构的二进制,执行下方与文件匹配的命令。Windows 用户先打开 WSL 2 的 Linux 终端(例如 Ubuntu),在其中运行 cd ~ && explorer.exe .。Windows 文件资源管理器会打开 Linux 用户主目录,先将下载文件复制进去。', '启动服务,并保持当前终端开启。', '在同一 Linux 环境中另开终端检查服务响应,顶层 status 应为 ok。'], - code: [[['Debian / Ubuntu', 'sudo apt-get install -y bubblewrap'], ['Fedora / RHEL / openEuler', 'sudo dnf install -y bubblewrap']], binaryRenameCommands, './ScienceDiscovery serve', 'curl -fsS http://127.0.0.1:4310/health'], link: 'getting-started/deployment.html#预编译单文件部署linux', linkText: '完整指南中的二进制部署' }, - docker: { h: 'Docker Compose', p: '在 Linux 容器中运行完整服务栈。', - req: [['操作系统', 'Linux;macOS 使用 Docker Desktop(核对系统要求)或可用的 Docker 引擎;Windows 使用 Docker Desktop'], ['软件', 'Docker Engine 24+ 与 Compose v2.15+,或 Docker Desktop。Windows 用户请选择 Linux 容器。'], ['沙箱', 'Linux 容器内需允许 Bubblewrap 使用非特权用户命名空间']], - steps: ['克隆仓库并进入仓库目录。', '准备 .env 和 data/。Linux / macOS 用户若 uid/gid 不为 1000,需在 .env 中设置 SCIENCE_AGENT_UID 和 SCIENCE_AGENT_GID;Windows 用户先使用默认值,若 data/ 不可写,请查看下方排障指南。', '构建并启动。', '检查服务响应,从日志中找到“Open to sign in”链接。'], - code: ['git clone https://github.com/openJiuwen-ai/sciencediscovery.git\ncd sciencediscovery', [['Linux / macOS · Unix Shell', 'cp .env.docker.example .env\nmkdir -p data\nid -u\nid -g'], ['Windows · PowerShell', 'Copy-Item .env.docker.example .env\nNew-Item -ItemType Directory -Force data']], 'docker compose build\ndocker compose up -d', 'docker compose ps\ndocker compose exec sciencediscovery curl -fsS http://127.0.0.1:4310/health\ndocker compose logs --tail=100 sciencediscovery'], link: 'getting-started/deployment.html#docker-部署linux-容器', linkText: '完整 Docker 部署与排障指南' }, - src: { h: '本地源码模式', p: '直接从源码仓库启动服务,适合在 Linux 或 macOS 13+ 上开发与调试。Windows 可在 WSL 2 中运行 Linux 步骤。', - req: [['工具链', 'Node.js 22.19+、pnpm 11.1.2、python3 3.9+、uv 0.9+、Git、curl'], ['Linux / WSL 2 沙箱', 'Bubblewrap 0.6+(建议 0.8+),需非特权用户命名空间;Debian 11 默认软件包版本较低'], ['macOS', '13+,使用系统自带 Seatbelt(/usr/bin/sandbox-exec)']], - steps: ['克隆仓库。Windows 用户请先在 WSL 2 内运行 cd ~,再执行这些 Linux 命令,不要将仓库放在 /mnt/c。', '首次运行前安装 JiuwenSwarm。', '安装、构建并启动全部服务,保持当前终端开启。', '之后启动时可用此命令跳过构建。'], - code: ['git clone https://github.com/openJiuwen-ai/sciencediscovery.git\ncd sciencediscovery', 'scripts/jiuwenswarm.sh setup', './scripts/start-stack.sh --mode local', './scripts/start-stack.sh --mode local --no-build'], link: 'getting-started/deployment.html#本地源码模式linux--macos', linkText: '完整指南中的本地模式' }, - after: '启动之后', afterCards: [['登录', '打开启动输出中的“Open to sign in”链接,浏览器会自动保存本地服务令牌。请勿泄露该链接。', 'getting-started/quick-start.html#启动成功后'], ['配置模型', '打开“系统设置 → 模型注册表”,连接模型服务商,再选择全局默认任务模型。ScienceDiscovery 本身不内置任何模型。', 'getting-started/quick-start.html#2-配置模型'], ['运行第一个任务', '运行一个实际执行代码的任务,再检查其结果。快速开始提供了 Python 示例和检查清单。', 'getting-started/quick-start.html#3-完成第一次科研任务']], - portsTitle: '默认端口', ports: [['4310', '控制 API 与 Web 界面'], ['4311', 'Runner(仅回环地址)']], - full: '阅读完整部署指南' - } -}; - // ---------------------------------------------------------------- page shell const scriptTheme = ``; +// The English home page is the site root, so it is where a Chinese-reading visitor lands by default. +// It hands them to /zh/ unless they picked a language before: the language switcher stores +// 'sd-lang', and that stored choice outranks the browser language. Runs before the page paints so +// the English content never flashes. +const scriptLang = ``; +const scriptLangFor = (lang, pagePath) => (lang === 'en' && pagePath === 'index.html' ? scriptLang : ''); const rootOf = (pagePath) => rel(pagePath, 'index.html').replace(/index\.html$/, ''); function head(lang, title, pagePath, desc, extraCss = []) { @@ -405,10 +449,8 @@ function head(lang, title, pagePath, desc, extraCss = []) { - - -${lang === 'en' && pagePath === 'index.html' ? `` : ''} ${scriptTheme} +${scriptLangFor(lang, pagePath)} ${extraCss.map((c) => ``).join('\n')} `; @@ -419,8 +461,8 @@ function topbar(lang, active, pagePath, otherPath) { const p = (target) => rel(pagePath, (lang === 'zh' ? 'zh/' : '') + target); const item = (id, target, label) => `${label}`; return `
-${svg(IC.brand, 20)}${t.name} - +${t.name} +
${t.langLabel} @@ -433,95 +475,141 @@ function footer(lang, pagePath) { const t = T[lang], x = X[lang]; const p = (target) => rel(pagePath, (lang === 'zh' ? 'zh/' : '') + target); return ``; +${t.nav.docs}  ·  GitHub
`; } const pathOf = (lang, page) => (lang === 'zh' ? 'zh/' : '') + page; const other = (lang, page) => pathOf(lang === 'zh' ? 'en' : 'zh', page); +// ---------------------------------------------------------------- download +// What the homepage's download button reveals: the newest release as one card per system, so the +// visitor picks a platform instead of reading install steps. The panel unfolds inside the page +// under the hero, pushing the video down rather than floating over it. site.js marks the card +// matching the visitor's system, and each build is a chip labelled with its architecture that +// carries the checksum in its tooltip. Chips come from release.json, so a system without a +// published build simply shows no chip. +function downloadPanel(lang) { + const t = T[lang], dl = t.dl; + // The chip is a bare architecture label: the card already carries a download glyph, so a second + // one in front of every build only adds noise. + const chip = (b) => { + // Windows is distributed outside the GitHub release, so its entry carries no checksum. + const tip = b.sha256 ? `${dl.download} · SHA256 ${esc(b.sha256)}` : dl.download; + return `${esc(b.arch)}`; + }; + const chips = (re) => RELEASE.binaries.filter((b) => re.test(b.name)).sort((a, b) => Number(b.arch === 'x86_64') - Number(a.arch === 'x86_64')).map(chip).join(''); + // The tag lives in the Linux card until site.js moves it into whichever card is the visitor's. + const card = (os, icon, name, re) => { + const rows = chips(re); + return `
+
${svg(IC[icon], 20)}
+

${name}${os === 'linux' ? ` ` : ''}

+${rows ? `
${rows}
` : ''} +
`; + }; + return `
+
+
+
+${card('windows', 'windows', dl.windows, /-windows-|-win-/)} +${card('linux', 'linux', dl.linux, /-linux-/)} +
+
+
${dl.latest} v${esc(RELEASE.version)} · ${dl.notes} · ${dl.all} →
+
+
`; +} + // ---------------------------------------------------------------- home function home(lang) { - const t = T[lang], x = X[lang]; + const t = T[lang]; const page = 'index.html', pagePath = pathOf(lang, page); const r = (p) => rel(pagePath, p); const docLink = (k) => rel(pagePath, pathOf(lang, 'docs/' + keyFor(k) + '.html')); - const binary = RELEASE.binaries.find((b) => (b.os || OS_OF(b.name)) === 'linux' && b.arch === 'x86_64'); - const command = binary ? [`chmod +x ./${binary.name}`, `./${binary.name} serve`].join('\n') : ''; - const feats = t.feats.map(([ic, title, text, doc]) => `
${svg(IC[ic], 20)}

${title}

${text}

${t.learn}
`).join(''); - return head(lang, `${t.name} — ${t.tag}`, pagePath, null, ['demo.css']) + ` - + // Turns are marked with a square avatar rather than a name inside the bubble: the reader's own + // words carry their avatar on the right, the agent's carries it on the left. + const avatar = (sd) => `${sd ? t.avatarSd : t.avatarAgent}`; + const userTurn = (text) => `
${text}
${t.avatarUser}
`; + const botTurn = (text, sd, cls = '') => `
${avatar(sd)}
${text}
`; + // The reply is about files landing in the workspace, so name a few of them and let three dots + // say the list keeps going. + const FILE_IC = ''; + const fileList = (names) => `${names.map((n) => `${FILE_IC}${n}`).join('')}···`; + // A file the run produced or fetched opens in place. The two columns open to different things: + // the generic agent can only show the raw record, ScienceDiscovery reveals the rendered artifact. + // Both carry a hint and a glyph, because a bare file name reads as a label. + const CHEV = ''; + const fold = (name, hint, body) => `
${FILE_IC}${name}${hint}${CHEV}
${body}
`; + // The hint that opens the viewer is the one readers must not miss, so it carries hint-live + // (a colour cycle) while the plain column's hint stays quiet. + const chipIcon = (f) => (f.ic ? svg(IC[f.ic], 13) : FILE_IC); + const viewerChip = (f) => `${f.label}`; + // What a chip opens is too large for the reading flow, so it lives in a modal with a way out. + // Two kinds exist: a real Mol* viewer (bundle and structure fetched on first open) and a still + // screenshot of an Evolve run. + const viewerPanel = (f) => { + // A screenshot panel carries its own aspect ratio so the dialog can be narrowed to the image; + // the Mol* panel keeps the full 80vw because the viewer wants the room. + const cls = f.structure ? 'viewer-dialog' : 'viewer-dialog shot-dialog'; + const style = f.structure ? '' : ` style="--shot-ratio:${shotRatio(f.image)}"`; + const body = f.structure + ? `
${f.loading}
` + : `
${esc(f.alt)}
`; + return `
${chipIcon(f)}${f.name}

${f.caption}

${body}
`; + }; + // What the run cost is a per-column footnote, not part of the transcript: it sits under the + // bubble, centred, so the two columns can be read against each other. + const tally = (text, ic) => (text ? `

${ic ? svg(IC[ic], 16) : ''}${text}

` : ''); + const feats = t.feats.map((f) => `
+${svg(IC[f.ic], 14)}${f.tag} +

${f.title}

+

${f.text}

+
+
${t.chatPlain}
+${userTurn(f.ask)} +${botTurn(`${f.plain}${f.plainFold ? fold(f.plainFold.name, f.plainFold.hint, `
${esc(f.plainFold.text)}
${f.plainFold.note}`) : ''}`, false)} +${f.plain2 ? botTurn(`${f.plain2}`, false, 'progress') : ''} +${tally(f.tally, f.tallyIcon)} +
+
${t.chatSd}
+${userTurn(f.ask)} +${botTurn(`${f.sd}${f.files ? fileList(f.files) : ''}${f.sdFold ? viewerChip(f.sdFold) : ''}${f.sdTask ? viewerChip(f.sdTask) : ''}`, true)} +${tally(f.sdTally, f.sdTallyIcon)} +
+
+${f.sdFold ? viewerPanel(f.sdFold) : ''} +${f.sdTask ? viewerPanel(f.sdTask) : ''} +${(f.evidence || []).map(viewerPanel).join('')} +

${t.learn}

+
`).join('\n'); + return head(lang, `${t.name} — ${t.tag}`, pagePath) + ` + + ${topbar(lang, 'home', pagePath, other(lang, page))}
${svg(IC.flask, 14)}${t.eyebrow}

${t.h1}

${t.lead}

-
${t.quickInstall.label}

${t.quickInstall.title}

${t.quickInstall.sub}

${binary ? `${svg(IC.download, 16)}${t.quickInstall.download}` : ''}
${esc(command)}
-

${t.quickInstall.alt} ${t.quickInstall.link} →

+
+${downloadPanel(lang)}
-

${t.demoHint}

-

${t.featTitle}

${t.featSub}

${feats}
-

${t.ctaBoxTitle}

${t.ctaBoxSub}

-
-${footer(lang, pagePath)} - - - -`; -} - -// ---------------------------------------------------------------- install -function installStep(step, code) { - const blocks = Array.isArray(code) ? code : [['', code || '']]; - const snippets = blocks.map(([label, snippet]) => - `${label ? `

${label}

` : ''}
${esc(snippet)}
` - ).join(''); - return `
  • ${step}${snippets}
  • `; -} - -function install(lang) { - const t = T[lang], d = D[lang], dl = t.dl; - const page = 'install/index.html', pagePath = pathOf(lang, page); - const r = (p) => rel(pagePath, p); - const doc = (p) => rel(pagePath, pathOf(lang, 'docs/' + p)); - const modes = [['bin', d.bin, 0], ['docker', d.docker, 1], ['src', d.src, 2]]; - const modeLabels = Object.fromEntries(modes.map(([id, , i]) => [id, d.tabs[i]])); - const experimentalBadge = `${d.experimental}`; - const platforms = d.platforms.map(([name, icon, note, methods, isExperimental]) => `
    ${svg(IC[icon], 22)}

    ${name}${isExperimental ? ` ${experimentalBadge}` : ''}

    ${note}

    ${methods.map((method) => { const [id, label, isExperimentalMethod] = Array.isArray(method) ? method : [method, modeLabels[method]]; return `${label}${isExperimentalMethod ? ` ${experimentalBadge}` : ''}`; }).join('')}
    `).join(''); - const releaseFiles = RELEASE.binaries.filter((b) => (b.os || OS_OF(b.name)) === 'linux').sort((a, b) => Number(b.arch === 'x86_64') - Number(a.arch === 'x86_64')).map((b) => `
    ${dl.download} Linux ${b.arch}${svg(IC.download, 18)}
    SHA256${b.sha256}
    `).join(''); - const panels = modes.map(([id, m, i]) => `
    -${m.h}${i === 0 ? ` ${d.recommended}` : ''}${m.p} -
    -
    ${m.req.map(([k, v]) => `
    ${k.toUpperCase()}${v}
    `).join('')}
    -${id === 'bin' ? `
    ${releaseFiles}
    ` : ''} -
      ${m.steps.map((step, k) => installStep(step, m.code[k])).join('')}
    -${m.linkText} → -
    `).join(''); - const after = d.afterCards.map(([h, p, l]) => `

    ${h}

    ${p}

    `).join(''); - const ports = d.ports.map(([n, v]) => `
    ${n}${v}
    `).join(''); - return head(lang, `${dl.title} — ${t.name}`, pagePath, dl.sub) + ` - -${topbar(lang, 'install', pagePath, other(lang, page))} -
    -

    ${dl.title}

    ${dl.sub}

    - -${panels} -

    ${d.after}

    ${after}
    -

    ${d.portsTitle}

    ${ports}
    -

    ${svg(IC.book, 16)}${d.full} ${dl.all} →

    +
    +${feats}
    ${footer(lang, pagePath)} `; } -// ---------------------------------------------------------------- download (pinned to release.json, with checksums) -const OS_OF = (name) => (/win/i.test(name) && !/darwin/i.test(name) ? 'windows' : /mac|darwin/i.test(name) ? 'macos' : 'linux'); -function legacyRedirect(lang, page) { - const pagePath = pathOf(lang, page); - const target = rel(pagePath, pathOf(lang, 'install/index.html')); - return head(lang, `${T[lang].nav.install} — ${T[lang].name}`, pagePath) + ` +// ---------------------------------------------------------------- retired pages +// Older URLs that no longer have a page of their own point at a surviving one, so incoming links +// keep working. The label and the highlighted nav item follow whichever page they land on. +function legacyRedirect(lang, page, to, nav) { + const t = T[lang], pagePath = pathOf(lang, page); + const target = rel(pagePath, pathOf(lang, to)); + return head(lang, `${t.nav[nav]} — ${t.name}`, pagePath) + ` -${topbar(lang, 'install', pagePath, other(lang, page))}

    ${T[lang].nav.install}

    ${footer(lang, pagePath)}`; +${topbar(lang, nav, pagePath, other(lang, page))}

    ${t.nav[nav]}

    ${footer(lang, pagePath)}`; } // ---------------------------------------------------------------- docs @@ -605,10 +693,12 @@ ${footer(lang, pagePath)} // ---------------------------------------------------------------- write // GitHub Pages caches assets for minutes: version the local CSS/JS URLs by content so a redeploy is never -// served as new HTML with stale styles. +// served as new HTML with stale styles. Mol* ships as a devDependency and is copied in below, so the +// viewer is served from this origin rather than a CDN. const ASSET_V = {}; -for (const f of ['site.css', 'site.js', 'demo.css', 'demo.js', 'viz.js']) ASSET_V[f] = createHash('sha256').update(readFileSync(join(HERE, 'src', f))).digest('hex').slice(0, 10); -const versioned = (html) => html.replace(/(src|href)="([^"]*?)((?:site|demo|viz)\.(?:css|js))"/g, (m, attr, dir, f) => `${attr}="${dir}${f}?v=${ASSET_V[f]}"`); +for (const f of ['site.css', 'site.js']) ASSET_V[f] = createHash('sha256').update(readFileSync(join(HERE, 'src', f))).digest('hex').slice(0, 10); +for (const f of ['molstar.css', 'molstar.js']) ASSET_V[f] = createHash('sha256').update(readFileSync(join(ROOT, 'node_modules', 'molstar', 'build', 'viewer', f))).digest('hex').slice(0, 10); +const versioned = (html) => html.replace(/(src|href|data-viewer-(?:css|lib))="([^"]*?)((?:site|molstar)\.(?:css|js))"/g, (m, attr, dir, f) => `${attr}="${dir}${f}?v=${ASSET_V[f]}"`); const SITE_ORIGIN = (process.env.SITE_URL || 'https://sciencediscovery.github.io').replace(/\/$/, ''); const sitemapPages = []; // populated as pages are written; 404.html and JSON are excluded @@ -624,8 +714,12 @@ function write(p, content, sitemap = true) { rmSync(DIST, { recursive: true, force: true }); mkdirSync(DIST, { recursive: true }); -for (const f of ['site.css', 'site.js', 'demo.css', 'demo.js', 'viz.js']) cpSync(join(HERE, 'src', f), join(DIST, f)); +for (const f of ['site.css', 'site.js']) cpSync(join(HERE, 'src', f), join(DIST, f)); cpSync(join(HERE, 'src', 'fonts'), join(DIST, 'fonts'), { recursive: true }); +cpSync(join(HERE, 'src', 'media'), join(DIST, 'media'), { recursive: true }); +// The Mol* viewer is served from this origin: the site must not depend on a CDN at runtime. +mkdirSync(join(DIST, 'vendor', 'molstar'), { recursive: true }); +for (const f of ['molstar.css', 'molstar.js']) cpSync(join(ROOT, 'node_modules', 'molstar', 'build', 'viewer', f), join(DIST, 'vendor', 'molstar', f)); cpSync(join(DOCS, 'images'), join(DIST, 'docs', 'images'), { recursive: true }); write('favicon.svg', `${IC.brand}`); write('.nojekyll', ''); @@ -636,9 +730,8 @@ const order = DOC_GROUPS.flatMap(([group]) => groupItems(group)); let pages = 0; for (const lang of LANGS) { write(pathOf(lang, 'index.html'), home(lang)); - write(pathOf(lang, 'install/index.html'), install(lang)); - write(pathOf(lang, 'deployment/index.html'), legacyRedirect(lang, 'deployment/index.html'), false); - write(pathOf(lang, 'download/index.html'), legacyRedirect(lang, 'download/index.html'), false); + write(pathOf(lang, 'deployment/index.html'), legacyRedirect(lang, 'deployment/index.html', 'docs/getting-started/deployment.html', 'docs'), false); + write(pathOf(lang, 'download/index.html'), legacyRedirect(lang, 'download/index.html', 'index.html', 'home'), false); write(pathOf(lang, 'docs/index.html'), docsHome(lang, order)); for (const k of order) { write(pathOf(lang, 'docs/' + outPath(k)), docPage(k, lang, order)); pages++; } write(pathOf(lang, 'search-index.json'), JSON.stringify(INDEX[lang])); diff --git a/site/src/demo.css b/site/src/demo.css deleted file mode 100644 index 9700cbf..0000000 --- a/site/src/demo.css +++ /dev/null @@ -1,234 +0,0 @@ -/* Product replica on the home page. Mirrors apps/web: 3-column shell, accent nav, timeline, workspace panel. */ -.app { margin: 20px auto 0; max-width: 1180px; border: 1px solid var(--border-strong); border-radius: var(--radius-xl); background: var(--surface); box-shadow: var(--shadow-4); overflow: hidden; text-align: left; position: relative; } -.chrome { display: flex; align-items: center; gap: 8px; height: 38px; padding: 0 14px; border-bottom: 1px solid var(--border); background: var(--surface-subtle); } -.chrome i { width: 11px; height: 11px; border-radius: 50%; background: var(--border-strong); } -.chrome .url { margin: 0 auto; padding: 2px 44px; border-radius: 6px; background: var(--surface); border: 1px solid var(--border); color: var(--text-faint); font: 12px var(--mono); } -.shell { display: grid; grid-template-columns: 216px minmax(0, 1fr) 262px; height: 660px; } -.app button { font: inherit; color: inherit; } -.app svg { flex: none; } - -/* sidebar */ -.sb { display: flex; flex-direction: column; min-height: 0; padding: 16px 12px 12px; border-right: 1px solid var(--border); background: var(--surface-subtle); overflow: hidden; } -.sb-brand { display: flex; align-items: center; gap: 10px; padding: 0 6px 16px; } -.sb-brand .brand-mark { width: 32px; height: 32px; border-radius: 9px; } -.sb-brand strong { display: block; color: var(--text-strong); font-size: 14px; line-height: 1.2; } -.sb-brand small { color: var(--muted); font-size: 11px; } -.sb-label { display: flex; align-items: center; gap: 6px; padding: 8px 6px 6px; color: var(--muted); font-size: 11.5px; font-weight: 650; letter-spacing: .04em; } -.sb-label .n { margin-left: auto; font-variant-numeric: tabular-nums; } -.sb-item { display: grid; grid-template-columns: 18px minmax(0, 1fr); align-items: center; gap: 9px; width: 100%; min-height: 36px; margin-bottom: 2px; padding: 6px 10px; border: 0; border-radius: 9px; background: transparent; color: var(--text-secondary); text-align: left; cursor: pointer; font-size: 13px; } -.sb-item span:last-child { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } -.sb-item:hover { background: var(--surface-hover); color: var(--text-strong); } -.sb-item.active { background: var(--accent-softer); color: var(--accent-deep); font-weight: 650; } -.sb-item .ic { color: var(--text-faint); display: grid; place-items: center; } -.sb-item.active .ic { color: var(--accent); } -.sb-item .kbd { margin-left: auto; padding: 0 5px; border: 1px solid var(--border); border-radius: 5px; color: var(--text-faint); font-size: 10.5px; } -.sb-spacer { flex: 1; } -.sb-bottom { border-top: 1px solid var(--border); padding-top: 8px; } -.sb-bottom .sb-item { grid-template-columns: 18px minmax(0, 1fr) auto; cursor: default; } -.sb-bottom .cnt { color: var(--text-faint); font-size: 11px; } - -/* main column */ -.main { min-width: 0; min-height: 0; display: flex; flex-direction: column; background: var(--surface); } -.topline { display: flex; align-items: center; gap: 10px; height: 46px; flex: none; padding: 0 20px; border-bottom: 1px solid var(--border); font-size: 12.5px; color: var(--muted); } -.topline b { color: var(--text-strong); font-size: 13px; } -.topline .sp { flex: 1; } -.usage { padding: 3px 9px; border: 1px solid var(--border); border-radius: 7px; font-size: 10.5px; font-weight: 650; letter-spacing: .04em; color: var(--muted); } -.usage b { margin-left: 5px; color: var(--text-strong); font-size: 12px; font-variant-numeric: tabular-nums; } -.dot-ok { width: 8px; height: 8px; border-radius: 50%; background: var(--success-bright); } -.scroll { flex: 1; min-height: 0; overflow-y: auto; padding: 22px 26px 12px; scroll-behavior: smooth; } -.empty { padding: 34px 6px; } -.empty .kick { color: var(--accent-ink); font-size: 12px; font-weight: 650; } -.empty h2 { margin: 4px 0 8px; color: var(--text-strong); font-size: 30px; letter-spacing: -.02em; } -.empty p { margin: 0; color: var(--muted); } - -/* timeline */ -.tl { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 0 12px; padding-bottom: 12px; animation: rise .3s ease; } -@keyframes rise { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } } -.tl-rail { position: relative; display: flex; justify-content: center; } -.tl-rail::before { content: ""; position: absolute; top: 20px; bottom: -14px; width: 1px; background: var(--border); } -.tl:last-child .tl-rail::before { display: none; } -.tl-dot { z-index: 1; margin-top: 7px; width: 22px; height: 22px; display: grid; place-items: center; border: 1px solid var(--border-strong); border-radius: 50%; background: var(--surface); color: var(--muted); } -.tl-dot.user { border-color: var(--accent-border); background: var(--accent-softer); color: var(--accent); } -.tl-dot.ok { border-color: var(--success-bright); background: var(--success-soft); color: var(--success); } -.tl-body { min-width: 0; font-size: 13.5px; } -.bubble { display: inline-block; max-width: 100%; padding: 9px 14px; border: 1px solid var(--accent-border-soft); border-radius: 12px; background: var(--accent-softer); color: var(--accent-deep); } -.say { padding: 6px 0; color: var(--text); } -.say b { color: var(--text-strong); } -.card-x { border: 1px solid var(--border); border-radius: 12px; background: var(--surface); box-shadow: var(--shadow-1); overflow: hidden; } -.card-x + .card-x { margin-top: 8px; } -.tool-h { display: flex; align-items: center; gap: 9px; padding: 9px 12px; cursor: pointer; font-size: 12.5px; } -.tool-h:hover { background: var(--surface-subtle); } -.tool-h .tn { font: 600 12.5px var(--mono); color: var(--text-heading); } -.tool-h .ta { min-width: 0; flex: 1; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: var(--muted); } -.tool-h .ts { color: var(--success); font-weight: 600; font-size: 12px; white-space: nowrap; } -.tool-h .ts.run { color: var(--accent); } -.tool-h .chev { color: var(--text-faint); transition: transform .15s; } -.card-x.open .chev { transform: rotate(90deg); } -.tool-b { display: none; padding: 10px 12px 12px; border-top: 1px solid var(--border); background: var(--surface-sunk); font-size: 12.5px; color: var(--text-secondary); } -.card-x.open .tool-b { display: block; } -.tool-b pre { margin: 6px 0 0; padding: 9px 11px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); color: var(--text); font: 12px/1.55 var(--mono); overflow-x: auto; white-space: pre; } -.spin { width: 13px; height: 13px; border: 2px solid var(--accent-tint); border-top-color: var(--accent); border-radius: 50%; animation: spin .8s linear infinite; flex: none; } -@keyframes spin { to { transform: rotate(360deg); } } -.badge { padding: 0 7px; border-radius: 99px; background: var(--success-soft); color: var(--success); font-size: 10.5px; font-weight: 650; white-space: nowrap; } -.badge.blue { background: var(--accent-softer); color: var(--accent-deep); } -.badge.warn { background: var(--warning-soft); color: var(--warning); } -.plan { padding: 11px 14px; } -.plan h5 { margin: 0 0 6px; color: var(--muted); font-size: 11px; letter-spacing: .05em; } -.plan li { display: flex; align-items: center; gap: 9px; margin: 3px 0; list-style: none; color: var(--text-secondary); font-size: 13px; } -.plan ul { margin: 0; padding: 0; } -.plan .cb { width: 15px; height: 15px; display: grid; place-items: center; border: 1.5px solid var(--border-strong); border-radius: 50%; color: #fff; } -.plan li.doing .cb { border-color: var(--accent); } -.plan li.doing { color: var(--text-strong); font-weight: 600; } -.plan li.done .cb { border-color: var(--success-bright); background: var(--success-bright); } -.plan li.done { color: var(--muted); } -.final { padding: 12px 14px; } -.final p { margin: 0 0 8px; } -.bars { display: grid; gap: 7px; margin: 10px 0 4px; } -.barrow { display: grid; grid-template-columns: 138px minmax(0, 1fr) 34px; align-items: center; gap: 10px; font-size: 12px; color: var(--text-secondary); } -.barrow .lb { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } -.barpair { display: grid; gap: 2px; } -.barpair i { display: block; height: 7px; border-radius: 4px; width: 0; transition: width .7s ease; } -.barpair i.a { background: var(--accent); } -.barpair i.p { background: var(--teal); } -.legend { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 6px; color: var(--muted); font-size: 11.5px; } -.legend i { display: inline-block; width: 9px; height: 9px; margin-right: 5px; border-radius: 50%; vertical-align: -1px; } -.chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; } -.chip { padding: 2px 10px; border: 1px solid var(--border); border-radius: 99px; background: var(--surface); color: var(--text-secondary); font-size: 12px; cursor: pointer; } -.chip:hover { border-color: var(--accent-border-soft); color: var(--accent-strong); } -.chip.on { border-color: var(--accent-border); background: var(--accent-softer); color: var(--accent-deep); font-weight: 600; } - -/* research cards (idea tree / evolve / memory) */ -.rc { border: 1px solid var(--border); border-radius: 13px; background: var(--surface); box-shadow: var(--shadow-1); overflow: hidden; } -.rc-h { display: flex; align-items: flex-start; gap: 12px; padding: 12px 14px 8px; } -.rc-h .kick { color: var(--accent-ink); font-size: 11.5px; font-weight: 650; } -.rc-h h4 { margin: 1px 0 0; color: var(--text-strong); font-size: 14px; line-height: 1.35; } -.rc-h .sp { flex: 1; } -.rc-h .ctl { display: flex; gap: 6px; flex: none; } -.rc-stats { display: flex; flex-wrap: wrap; gap: 4px 22px; padding: 2px 14px 10px; } -.rc-stats div { font-size: 11px; color: var(--muted); } -.rc-stats b { display: block; color: var(--text-strong); font-size: 14px; font-variant-numeric: tabular-nums; } -.rc-tabs { display: flex; gap: 6px; padding: 0 14px 10px; } -.rc-tabs button, .btn-s { padding: 4px 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); color: var(--text-secondary); font-size: 12.5px; cursor: pointer; } -.rc-tabs button.on { border-color: var(--accent); background: var(--accent); color: #fff; font-weight: 600; } -.btn-s:hover { border-color: var(--accent-border-soft); color: var(--accent-strong); background: var(--accent-soft); } -.btn-s:disabled { opacity: .5; cursor: not-allowed; } -.btn-s.primary { border-color: var(--accent); background: var(--accent); color: #fff; font-weight: 600; } -.btn-s.primary:hover { background: var(--accent-strong); color: #fff; } -.rc-b { display: grid; grid-template-columns: minmax(0, 1fr) 232px; gap: 10px; padding: 0 12px 12px; } -.rc-b.one { grid-template-columns: minmax(0, 1fr); } -.plot { border: 1px solid var(--border); border-radius: 10px; background: var(--surface-subtle); overflow: hidden; } -.plot svg { display: block; width: 100%; height: auto; } -.side { border: 1px solid var(--border); border-radius: 10px; background: var(--surface-subtle); padding: 10px 12px; font-size: 12px; color: var(--text-secondary); min-width: 0; } -.side h5 { margin: 0 0 6px; color: var(--text-heading); font-size: 12px; } -.pipe { max-height: 268px; overflow-y: auto; } -.prow { display: grid; grid-template-columns: 26px 44px minmax(0, 1fr) auto; align-items: baseline; gap: 6px; padding: 4px 4px; border-radius: 6px; cursor: pointer; } -.prow:hover, .prow.sel { background: var(--accent-softer); } -.prow b { color: var(--text-strong); font-size: 12.5px; } -.prow .fr { color: var(--text-faint); font-size: 11px; } -.prow .sc { font-variant-numeric: tabular-nums; color: var(--text-strong); font-weight: 600; } -.prow .nb { grid-column: 3 / 5; margin-top: -3px; font-size: 10.5px; color: var(--text-faint); } -.prow .nb.best { color: var(--success); font-weight: 650; } -.tbl { width: 100%; border-collapse: collapse; font-size: 12px; } -.tbl th, .tbl td { padding: 4px 8px; border-bottom: 1px solid var(--border); text-align: left; font-variant-numeric: tabular-nums; } -.tbl th { color: var(--muted); font-weight: 600; } -.dim { display: grid; grid-template-columns: 70px minmax(0, 1fr) 30px; align-items: center; gap: 8px; margin: 5px 0; } -.dim .b { height: 6px; border-radius: 4px; background: var(--surface-track); overflow: hidden; } -.dim .b i { display: block; height: 100%; width: 0; border-radius: inherit; background: var(--accent); transition: width .6s ease; } -.dim em { font-style: normal; text-align: right; color: var(--text-strong); font-variant-numeric: tabular-nums; } - -/* svg */ -.g-edge { stroke: var(--edge); fill: none; } -.g-lbl { fill: var(--text-secondary); stroke: var(--node-halo); stroke-width: 4px; paint-order: stroke; font-size: 10.5px; } -.g-axis { fill: var(--text-faint); font-size: 10px; } -.g-grid { stroke: var(--border); } -.g-base { stroke: var(--text-faint); stroke-dasharray: 4 4; } -.gnode { cursor: pointer; transition: opacity .2s; } -.gnode circle { transition: fill .3s, r .3s; } -.gnode:hover circle { stroke: var(--accent-deep); stroke-width: 2.5; } -.gnode.sel circle { stroke: #f59e0b; stroke-width: 3; } -.gnode.pulse circle { animation: pulse 1s ease-in-out infinite; } -@keyframes pulse { 50% { opacity: .45; } } -.gnode.ghost circle { fill: var(--surface-track) !important; stroke: var(--border-strong); stroke-dasharray: 3 3; } - -/* workspace column */ -.ws { min-height: 0; overflow-y: auto; padding: 14px 14px 12px; border-left: 1px solid var(--border); background: var(--surface-subtle); } -.ws-h { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; } -.ws-h h3 { margin: 0; color: var(--text-strong); font-size: 15px; } -.ws-h .sp { flex: 1; } -.pill-n { padding: 0 8px; border: 1px solid var(--border); border-radius: 99px; background: var(--surface); font-size: 11.5px; color: var(--text-secondary); font-variant-numeric: tabular-nums; } -.drop { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; padding: 9px 11px; border: 1px dashed var(--border-strong); border-radius: 10px; background: var(--surface); color: var(--muted); font-size: 11.5px; } -.drop b { color: var(--text-heading); font-size: 12px; } -.acc { margin-bottom: 8px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); } -.acc-h { display: flex; align-items: center; gap: 8px; width: 100%; padding: 9px 11px; border: 0; background: transparent; text-align: left; cursor: pointer; font-size: 12.5px; font-weight: 650; color: var(--text-strong); } -.acc-h .n { margin-left: auto; color: var(--text-secondary); font-size: 11.5px; font-weight: 600; font-variant-numeric: tabular-nums; } -.acc-h .chev { color: var(--text-faint); transition: transform .15s; } -.acc.open > .acc-h .chev { transform: rotate(90deg); } -.acc-b { display: none; padding: 2px 8px 8px; } -.acc.open > .acc-b { display: block; } -.file-r { display: flex; align-items: center; gap: 8px; width: 100%; padding: 6px 6px; border: 0; border-radius: 7px; background: transparent; text-align: left; cursor: pointer; font-size: 12px; color: var(--text-secondary); animation: rise .3s ease; } -.file-r:hover { background: var(--accent-softer); color: var(--accent-deep); } -.file-r span { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } -.file-r em { margin-left: auto; font-style: normal; color: var(--text-faint); font-size: 10.5px; } -.rev { margin-bottom: 8px; padding: 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); } -.rev-t { display: flex; align-items: center; gap: 10px; } -.rev-t .ico { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: linear-gradient(135deg, #3b82f6, #22b8cf); color: #fff; } -.rev-t b { display: block; color: var(--text-strong); font-size: 13px; } -.rev-t small { color: var(--muted); font-size: 11px; } -.rev-t .badge { margin-left: auto; } -.rev-l { display: flex; justify-content: space-between; margin: 10px 0 8px; padding-top: 8px; border-top: 1px solid var(--border); color: var(--muted); font-size: 11.5px; } -.rev-l b { color: var(--text-strong); } -.rev .go { width: 100%; padding: 8px; border: 0; border-radius: 8px; background: var(--accent); color: #fff; font-weight: 650; font-size: 12.5px; cursor: pointer; } -.rev .go:hover { background: var(--accent-strong); } -.rev .go:disabled { opacity: .7; cursor: progress; } -.rev-out { margin-top: 8px; font-size: 11.5px; color: var(--text-secondary); } -.rev-out li { margin: 3px 0 3px 14px; } -.iso { display: flex; align-items: center; gap: 8px; margin-top: 4px; padding: 8px 10px; border: 1px solid var(--warning-border); border-radius: 9px; background: var(--warning-soft); color: var(--warning); font-size: 11.5px; } -.iso b { font-weight: 650; } - -/* composer */ -.composer { flex: none; margin: 6px 22px 16px; border: 1px solid var(--border-strong); border-radius: 13px; background: var(--surface); box-shadow: var(--shadow-2); } -.ta { min-height: 62px; max-height: 84px; overflow: hidden; padding: 12px 15px 6px; color: var(--text); font-size: 13.5px; line-height: 1.55; } -.ta .ph { color: var(--text-faint); } -.ta .caret { display: inline-block; width: 1.5px; height: 1em; margin-left: 1px; background: var(--accent); vertical-align: -2px; animation: blink 1s steps(1) infinite; } -@keyframes blink { 50% { opacity: 0; } } -.cbar { display: flex; align-items: center; gap: 8px; padding: 6px 10px 10px 15px; font-size: 11px; color: var(--muted); flex-wrap: wrap; } -.cbar .mdl { display: flex; align-items: center; gap: 6px; } -.fsel { padding: 4px 8px; border: 1px solid var(--border); border-radius: 7px; background: var(--surface-subtle); color: var(--text-secondary); font-size: 11.5px; white-space: nowrap; } -.cbar .hint { margin-left: auto; color: var(--text-faint); } -.cbar button.run { display: inline-flex; align-items: center; gap: 7px; margin-left: auto; padding: 8px 16px; border: 0; border-radius: 9px; background: var(--accent); color: #fff; font-weight: 650; font-size: 13px; cursor: pointer; } -.cbar button.run:hover { background: var(--accent-strong); } -.cbar button.run:disabled { opacity: .55; cursor: progress; } - -/* modal */ -.mask { position: absolute; inset: 38px 0 0; z-index: 20; display: grid; place-items: center; padding: 24px; background: rgba(15, 20, 28, .55); animation: fade .2s ease; } -@keyframes fade { from { opacity: 0; } to { opacity: 1; } } -.modal { width: min(720px, 100%); max-height: 100%; display: flex; flex-direction: column; border-radius: 14px; background: var(--surface); box-shadow: var(--shadow-4); overflow: hidden; } -.modal-h { display: flex; align-items: flex-start; gap: 12px; padding: 16px 18px 10px; border-bottom: 1px solid var(--border); } -.modal-h .kick { color: var(--accent-ink); font-size: 11.5px; font-weight: 700; letter-spacing: .04em; } -.modal-h h3 { margin: 2px 0 0; color: var(--text-strong); font-size: 18px; word-break: break-all; } -.modal-h .sp { flex: 1; } -.modal-tabs { display: flex; gap: 6px; padding: 10px 18px 0; } -.modal-tabs button { padding: 5px 12px; border: 0; border-radius: 8px; background: var(--surface-soft); color: var(--text-secondary); font-size: 12.5px; cursor: pointer; } -.modal-tabs button.on { background: var(--accent-softer); color: var(--accent-deep); font-weight: 650; } -.modal-b { padding: 12px 18px 18px; overflow: auto; } -.modal-b pre { margin: 0; padding: 12px 14px; border-radius: 9px; background: var(--surface-sunk); color: var(--text); font: 12px/1.6 var(--mono); overflow: auto; } -.kv { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 6px 12px; font-size: 12.5px; } -.kv dt { color: var(--muted); } -.kv dd { margin: 0; color: var(--text); word-break: break-all; } -.x { width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); color: var(--text-secondary); cursor: pointer; } -.x:hover { background: var(--surface-hover); } - -.demo-hint { margin: 14px 0 0; text-align: center; color: var(--text-faint); font-size: 13px; } - -@media (max-width: 1040px) { .shell { grid-template-columns: 200px minmax(0, 1fr); } .ws { display: none; } .rc-b { grid-template-columns: 1fr; } } -@media (max-width: 720px) { - .shell { grid-template-columns: 1fr; grid-template-rows: auto minmax(0, 1fr); height: 640px; } - .sb { flex-direction: row; overflow-x: auto; padding: 8px; border-right: 0; border-bottom: 1px solid var(--border); gap: 4px; } - .sb-brand, .sb-label, .sb-spacer, .sb-bottom, .sb .proj { display: none; } - .sb-item { width: auto; white-space: nowrap; flex: none; margin: 0; } - .scroll { padding: 14px 12px 8px; } - .composer { margin: 4px 10px 10px; } - .cbar .hint, .cbar .fsel.opt { display: none; } - .barrow { grid-template-columns: 96px minmax(0, 1fr) 30px; } - .empty h2 { font-size: 24px; } -} diff --git a/site/src/demo.js b/site/src/demo.js deleted file mode 100644 index 3c6ee45..0000000 --- a/site/src/demo.js +++ /dev/null @@ -1,616 +0,0 @@ -/* Home-page product replica: sidebar sessions, timeline, workspace panel, artifact viewer, and seven scripted - scenarios (literature, Idea Tree, Evolve, memory graph, protein, crystal, data). Everything is illustrative. */ -(function () { - 'use strict'; - var root = document.getElementById('demo'); - if (!root || !window.SDViz) return; - var V = window.SDViz, NS = 'http://www.w3.org/2000/svg'; - var lang = document.documentElement.lang === 'zh' ? 'zh' : 'en'; - function L(en, zh) { return { en: en, zh: zh }; } - function t(o) { return o == null ? '' : typeof o === 'string' ? o : (o[lang] || o.en); } - function esc(s) { return String(s).replace(/&/g, '&').replace(//g, '>'); } - function h(tag, cls, html) { var n = document.createElement(tag); if (cls) n.className = cls; if (html != null) n.innerHTML = html; return n; } - function sv(tag, attrs, parent, text) { var n = document.createElementNS(NS, tag); for (var k in attrs) n.setAttribute(k, attrs[k]); if (text != null) n.textContent = text; if (parent) parent.appendChild(n); return n; } - function $(s, r) { return (r || root).querySelector(s); } - function $$(s, r) { return Array.prototype.slice.call((r || root).querySelectorAll(s)); } - - var IC = { - folder: '', - chat: '', search: '', - spark: '', - file: '', gear: '', - chev: '', check: '', send: '', - upload: '', shield: '', - x: '', user: '', - bot: '', tool: '', - flask: '', - tree: '', - dna: '', - graph: '', - atom: '', - cube: '', - chart: '' - }; - function ic(n, s) { return ''; } - - /* ------------------------------------------------------------------ UI strings */ - var S = { - sub: L('Local research environment', '本地科研运行环境'), projects: L('Projects', '项目'), sessions: L('Sessions', '会话'), - search: L('Search', '搜索'), usage: L('Usage', '用量'), files: L('Files', '文件'), settings: L('System settings', '系统设置'), - empty1: L('Session workspace ready', '会话工作区已就绪'), empty2: L('What shall we research?', '我们要研究什么?'), - empty3: L('Press Run analysis, or pick another session on the left.', '点击“运行分析”,或在左侧选择其他会话。'), - model: L('Task model', '任务模型'), send: L('Enter to send · Shift+Enter for newline', 'Enter 发送 · Shift+Enter 换行'), - approval: L('Ask before risky operations', '危险操作时询问'), specialist: L('Coordinator', '协调器'), - run: L('Run analysis', '运行分析'), running: L('Running…', '运行中…'), again: L('Run again', '再次运行'), - placeholder: L('Ask anything about your research…', '描述你的研究问题…'), - workspace: L('Workspace', '工作区'), wsFiles: L('Workspace files', '工作区文件'), drop: L('Drop files', '拖放文件'), dropHint: L('text and binary · 1 GiB max', '文本与二进制 · 单个 1 GiB'), - artifacts: L('Artifacts', '产物'), paper: L('Paper reader', '论文阅读'), parsed: L('parsed', '已解析'), prov: L('Provenance record', '溯源记录'), - iso: L('Isolated execution', '隔离执行'), reviewer: L('Reviewer Specialist', '评审专家'), builtin: L('Built-in Specialist', '内置专家'), level: L('Level', '级别'), quick: L('Quick', '快速'), - runReview: L('Run review', '运行评审'), reviewing: L('Reviewing…', '评审中…'), - on: L('On', '开启'), done: L('done', '完成'), runningS: L('running', '运行中'), plan: L('PLAN', '计划'), - preview: L('Preview', '预览'), provenance: L('Provenance', '溯源'), taskChain: L('View task chain', '查看任务链'), artChain: L('View artifact chain', '查看产物链'), - version: L('version', '版本'), close: L('Close', '关闭') - }; - - /* ------------------------------------------------------------------ shell */ - var SESSIONS = [ - { id: 'lit', ic: 'chat', title: L('Liver expression survey', '肝脏表达文献调研'), prompt: L('Search PubMed and bioRxiv for papers published 2023-2025 comparing gene expression in adult vs paediatric liver parenchymal cells. Focus on immune-related pathways. Generate a pathway enrichment bar chart for the top pathways and flag contradictory findings across studies.', '检索 PubMed 与 bioRxiv 上 2023–2025 年比较成人与儿童肝实质细胞基因表达的论文,聚焦免疫相关通路。生成前几位富集通路的柱状图,并标出不同研究之间相互矛盾的结论。') }, - { id: 'tree', ic: 'tree', title: L('Perovskite stability ideas', '钙钛矿稳定性构思'), prompt: L('/idea-tree Improve the operational stability of perovskite solar cells under humidity and heat', '/idea-tree 提升钙钛矿太阳能电池在湿热条件下的运行稳定性') }, - { id: 'evolve', ic: 'dna', title: L('Lossless compression', '无损压缩算法设计'), prompt: L('/evolve Minimise the compressed byte size of text: compress(text)->bytes / decompress(bytes)->str, stdlib only, exact round-trip required.', '/evolve 最小化文本压缩后的字节数:compress(text)->bytes / decompress(bytes)->str,仅限标准库,必须精确还原。') }, - { id: 'memory', ic: 'graph', title: L('Report provenance', '报告溯源'), prompt: L('Trace every claim in report.md back to its evidence and the code that produced it.', '把 report.md 中的每条结论追溯到证据以及生成它的代码。') }, - { id: 'protein', ic: 'atom', title: L('Kinase pocket inspection', '激酶口袋检视'), prompt: L('Find the ligand-binding pocket of the kinase domain, list the lining residues and show hydrogen bonds to the inhibitor in 3D.', '找出激酶结构域的配体结合口袋,列出内衬残基,并在 3D 中显示与抑制剂的氢键。') }, - { id: 'crystal', ic: 'cube', title: L('CsPbI3 crystal structure', 'CsPbI₃ 晶体结构'), prompt: L('Build the cubic CsPbI3 perovskite, check the Goldschmidt tolerance factor and simulate its powder XRD pattern.', '构建立方相 CsPbI₃ 钙钛矿,检查 Goldschmidt 容忍因子,并模拟其粉末 XRD 图谱。') }, - { id: 'data', ic: 'chart', title: L('Differential expression', '差异表达分析'), prompt: L('Run differential expression between adult and paediatric samples, then draw a volcano plot and a heatmap of the top genes.', '对成人与儿童样本做差异表达分析,绘制火山图并画出前几位基因的热图。') } - ]; - - root.innerHTML = - '
    127.0.0.1:4310
    ' + - '
    ' + - '
    '; - - var sb = $('.sb'), topline = $('.topline'), scroll = $('#scroll'), ta = $('#ta'), cbar = $('.cbar'), ws = $('.ws'), shell = $('.shell'); - sb.innerHTML = - '
    ' + ic('flask', 18) + '
    ScienceDiscovery' + t(S.sub) + '
    ' + - '
    ' + t(S.projects).toUpperCase() + '2
    ' + - '
    ' + ic('folder') + 'biomnibench
    ' + - '
    ' + t(S.sessions).toUpperCase() + '' + SESSIONS.length + '
    ' + - '
    ' + - '
    ' + ic('search') + '' + t(S.search) + 'Ctrl K
    ' + - '
    ' + ic('spark') + '' + t(S.usage) + '
    ' + - '
    ' + ic('file') + '' + t(S.files) + '113
    ' + - '
    ' + ic('gear') + '' + t(S.settings) + '
    '; - cbar.innerHTML = - '' + t(S.model) + 'GLM-5.2 · GLM-5.2' + - '' + t(S.send) + '' + t(S.approval) + '' + t(S.specialist) + '' + - ''; - var sess = $('#sess'); - SESSIONS.forEach(function (s) { - var b = h('button', 'sb-item', '' + ic(s.ic) + '' + esc(t(s.title)) + ''); - b.dataset.id = s.id; b.addEventListener('click', function () { select(s.id, true); }); sess.appendChild(b); - }); - - /* ------------------------------------------------------------------ state + player */ - var cur = null, runId = 0, state, tokenTimer; - function fresh() { return { artifacts: [], parsed: 0, tokens: 0, running: false, reviewed: null }; } - function fmtTok(n) { return n >= 1000 ? (n / 1000).toFixed(1) + 'K' : String(n); } - function renderTop() { - var s = SESSIONS.filter(function (x) { return x.id === cur; })[0]; - topline.innerHTML = 'biomnibench›' + esc(t(s.title)) + '' + t(S.usage).toUpperCase() + '' + fmtTok(state.tokens) + ''; - } - function setTokens(n) { state.tokens = n; var e = $('#tok'); if (e) e.textContent = fmtTok(n); } - - function makeCtx(my) { - var ctx = { - wait: function (ms) { return new Promise(function (res, rej) { setTimeout(function () { my === runId ? res() : rej('cancel'); }, ms); }); }, - alive: function () { return my === runId; }, - add: function (node, kind) { - var row = h('div', 'tl'), rail = h('div', 'tl-rail'), dot = h('div', 'tl-dot ' + (kind === 'user' ? 'user' : kind === 'done' ? 'ok' : ''), ic(kind === 'user' ? 'user' : kind === 'done' ? 'check' : kind === 'tool' ? 'tool' : 'bot', 12)); - rail.appendChild(dot); var body = h('div', 'tl-body'); body.appendChild(node); row.appendChild(rail); row.appendChild(body); - scroll.appendChild(row); scroll.scrollTop = scroll.scrollHeight; return row; - }, - user: function (text) { return ctx.add(h('div', 'bubble', esc(text)), 'user'); }, - say: function (html) { return ctx.add(h('div', 'say', html), 'asst'); }, - tok: function (n) { var from = state.tokens, to = from + n, i = 0; clearInterval(tokenTimer); tokenTimer = setInterval(function () { i++; setTokens(Math.round(from + (to - from) * i / 10)); if (i >= 10) clearInterval(tokenTimer); }, 60); }, - plan: function (items) { - var c = h('div', 'card-x plan', '
    ' + t(S.plan) + '
    '), ul = h('ul'), lis = items.map(function (x) { var li = h('li', '', '' + ic('check', 10) + '' + esc(t(x)) + ''); ul.appendChild(li); return li; }); - c.appendChild(ul); ctx.add(c, 'asst'); - return { set: function (i, st) { lis[i].className = st; } }; - }, - tool: async function (o) { - var c = h('div', 'card-x' + (o.open ? ' open' : '')); - var head = h('div', 'tool-h', '' + ic('chev', 13) + '' + o.n + '' + esc(t(o.a)) + '' + (o.sandbox ? '' + t(S.iso) + '' : '') + ''); - var body = h('div', 'tool-b', ''); c.appendChild(head); c.appendChild(body); - head.addEventListener('click', function () { c.classList.toggle('open'); }); - ctx.add(c, 'tool'); if (o.tok) ctx.tok(o.tok); - await ctx.wait(o.ms || 1000); - body.innerHTML = o.r || ''; var st = $('.ts', head); st.className = 'ts'; st.textContent = t(S.done) + ' · ' + ((o.ms || 1000) / 1000).toFixed(1) + ' s'; - if (o.after) o.after(); - }, - artifact: function (a) { state.artifacts.push(a); renderWs(); }, - final: function (node) { return ctx.add(node, 'done'); } - }; - return ctx; - } - - var typing = null; - function showPrompt(text, animate, done) { - clearInterval(typing); - var full = t(text); - if (!animate) { ta.innerHTML = full ? esc(full) : '' + esc(t(S.placeholder)) + ''; if (done) done(); return; } - var i = 0, step = Math.max(2, Math.round(full.length / 34)); - typing = setInterval(function () { i += step; ta.innerHTML = esc(full.slice(0, i)) + ''; if (i >= full.length) { clearInterval(typing); ta.innerHTML = esc(full); setTimeout(done, 350); } }, 28); - } - - function emptyState() { - scroll.innerHTML = '
    ' + t(S.empty1) + '

    ' + t(S.empty2) + '

    ' + t(S.empty3) + '

    '; - } - - function select(id, autoplay) { - runId++; clearInterval(typing); clearInterval(tokenTimer); closeModal(); - cur = id; state = fresh(); renderTop(); renderWs(); emptyState(); - $$('.sb-item', sess).forEach(function (b) { b.classList.toggle('active', b.dataset.id === id); }); - var s = SESSIONS.filter(function (x) { return x.id === id; })[0]; - showPrompt(s.prompt, false); setRun(false); - if (autoplay) setTimeout(function () { if (cur === id) play(); }, 250); - } - function setRun(running, finished) { - var b = $('#run'); b.disabled = running; $('span', b).textContent = running ? t(S.running) : finished ? t(S.again) : t(S.run); - } - function play() { - var my = ++runId, s = SESSIONS.filter(function (x) { return x.id === cur; })[0]; - state = fresh(); state.running = true; renderTop(); renderWs(); clearInterval(tokenTimer); - scroll.innerHTML = ''; setRun(true); closeModal(); - showPrompt(s.prompt, true, function () { - if (my !== runId) return; - var ctx = makeCtx(my); - ta.innerHTML = '' + esc(t(S.placeholder)) + ''; - ctx.user(t(s.prompt)); - SCEN[s.id](ctx).then(function () { if (my === runId) { state.running = false; setRun(false, true); } }, function (e) { if (e !== 'cancel') { console.error(e); } }); - }); - } - $('#run').addEventListener('click', play); - - /* ------------------------------------------------------------------ workspace column */ - var expanded = { art: true, paper: false, prov: false }; - function renderWs() { - var arts = state.artifacts, revHtml = ''; - ws.innerHTML = - '

    ' + t(S.workspace) + '

    ' + t(S.wsFiles) + '' + (113 + arts.length) + '
    ' + - '
    ' + ic('upload', 16) + '' + t(S.drop) + '
    ' + t(S.dropHint) + '
    ' + - '
    ' + - '
    ' + ic('shield', 18) + '
    ' + t(S.reviewer) + '' + t(S.builtin) + '
    ' + t(S.on) + '
    ' + - '
    ' + t(S.level) + '' + t(S.quick) + '
    ' + - '
    ' + - '
    ' + - '
    ' + ic('shield', 15) + '' + t(S.iso) + ' · Epoch b23a2db4
    '; - var list = $('.acc[data-k=art] .acc-b', ws); - arts.forEach(function (a) { - var b = h('button', 'file-r', '' + ic('file', 14) + '' + esc(a.name) + '' + esc(a.size) + ''); - b.addEventListener('click', function () { openArtifact(a); }); list.appendChild(b); - }); - if (!arts.length) list.innerHTML = '
    —
    '; - $('.acc[data-k=paper] .acc-b', ws).innerHTML = state.parsed ? '
    ' + state.parsed + ' PDF · evidence extracted
    Hepatology 2024 · Nat Commun 2024 · bioRxiv 2025 …
    ' : '
    —
    '; - $('.acc[data-k=prov] .acc-b', ws).innerHTML = arts.length ? arts.length + ' × artifact → tool call → sandbox epoch' : '—'; - $$('.acc-h', ws).forEach(function (bt) { bt.addEventListener('click', function () { var a = bt.parentNode; a.classList.toggle('open'); expanded[a.dataset.k] = a.classList.contains('open'); }); }); - var go = $('.go', ws), out = $('.rev-out', ws); - if (state.reviewed) out.innerHTML = state.reviewed; - go.addEventListener('click', function () { - go.disabled = true; go.textContent = t(S.reviewing); var my = runId; - setTimeout(function () { - if (my !== runId) return; - state.reviewed = '
      ' + (REVIEW[cur] || REVIEW.lit).map(function (x) { return '
    • ' + esc(t(x)) + '
    • '; }).join('') + '
    '; - go.disabled = false; go.textContent = t(S.runReview); out.innerHTML = state.reviewed; - }, 1300); - }); - } - var REVIEW = { - lit: [L('Claim 4 relies on a bioRxiv preprint: mark as not peer-reviewed.', '结论 4 依赖 bioRxiv 预印本:需标注未经同行评审。'), L('Cohort sizes differ 3× between two of the cited studies.', '两篇被引研究的队列规模相差 3 倍。')], - protein: [L('Contacts computed on a demo model: verify against an experimental structure.', '接触基于演示模型计算:请对照实验结构核验。')], - crystal: [L('t = 0.85 is below 0.9: the cubic phase is expected only at high temperature.', 't = 0.85 低于 0.9:立方相预计仅在高温下稳定。')], - data: [L('Multiple-testing correction (BH) applied; 3 genes sit near the p threshold.', '已做 BH 多重检验校正;有 3 个基因接近 p 阈值。')], - tree: [L('Pruned branch “Encapsulation layers” scored below the viability floor.', '“封装层”分支低于可行性阈值,已剪枝。')], - evolve: [L('Held-out score (0.9682) is within 0.001 of the search score: no overfit signal.', '留出集得分 0.9682 与搜索得分相差不到 0.001:无过拟合迹象。')], - memory: [L('All 6 claims have at least one supporting evidence node.', '6 条结论均至少有一个支撑证据节点。')] - }; - - /* ------------------------------------------------------------------ artifact modal */ - function hash(s) { var x = 2166136261; for (var i = 0; i < s.length; i++) { x ^= s.charCodeAt(i); x = Math.imul(x, 16777619); } return (x >>> 0).toString(16).padStart(8, '0'); } - function closeModal() { var m = $('.mask'); if (m) m.remove(); } - function openArtifact(a) { - closeModal(); - var m = h('div', 'mask'), d = h('div', 'modal'); - d.innerHTML = '' + - ''; - m.appendChild(d); root.appendChild(m); - var body = $('.modal-b', d); - function show(tab) { - $$('.modal-tabs button', d).forEach(function (b, i) { b.classList.toggle('on', (tab === 'p' && i === 0) || (tab === 'v' && i === 1)); }); - if (tab === 'p') { body.innerHTML = a.preview(); $$('.barpair i', body).forEach(function (i) { i.style.width = i.dataset.w + '%'; }); } - else body.innerHTML = '
    Produced by
    ' + esc(a.by) + '
    Sandbox
    Bubblewrap · epoch b23a2db4
    Inputs
    ' + esc(a.inputs || '—') + '
    SHA-256
    ' + hash(a.name) + hash(a.by).slice(0, 4) + '…
    Session
    ' + esc(t(SESSIONS.filter(function (s) { return s.id === cur; })[0].title)) + '
    '; - } - show('p'); - $$('.modal-tabs button', d).forEach(function (b) { b.addEventListener('click', function () { if (b.dataset.t === 'm') { closeModal(); select('memory', true); } else show(b.dataset.t); }); }); - $('.x', d).addEventListener('click', closeModal); m.addEventListener('click', function (e) { if (e.target === m) closeModal(); }); - } - document.addEventListener('keydown', function (e) { if (e.key === 'Escape') closeModal(); }); - function pre(text) { return '
    ' + esc(text) + '
    '; } - - /* ------------------------------------------------------------------ shared pieces */ - var PATHWAYS = [['Interferon signalling', 38, 21], ['Antigen presentation', 29, 17], ['Complement cascade', 24, 26], ['Cytochrome P450 metabolism', 18, 31], ['Bile acid synthesis', 12, 22], ['Lipid metabolism', 27, 33]]; - function barsHtml() { - return '
    ' + PATHWAYS.map(function (p) { - return '
    ' + p[0] + '' + p[1] + '/' + p[2] + '
    '; - }).join('') + '
    ' + (lang === 'zh' ? '成人' : 'adult') + '' + (lang === 'zh' ? '儿童' : 'paediatric') + '
    '; - } - function growBars(node) { setTimeout(function () { $$('.barpair i', node).forEach(function (i) { i.style.width = i.dataset.w + '%'; }); }, 60); } - var CSV_PATH = 'pathway,adult_genes,paediatric_genes,fdr\n' + PATHWAYS.map(function (p, i) { return p[0] + ',' + p[1] + ',' + p[2] + ',' + (0.0004 * (i + 1)).toFixed(4); }).join('\n'); - function csvTable(csv) { - var rows = csv.split('\n').map(function (r) { return r.split(','); }); - return '
    ' + rows[0].map(function (c) { return ''; }).join('') + '' + - rows.slice(1, 40).map(function (r) { return '' + r.map(function (c) { return ''; }).join('') + ''; }).join('') + '
    ' + esc(c) + '
    ' + esc(c) + '
    '; - } - var PY_ENRICH = 'import pandas as pd\nfrom gseapy import enrichr\n\ndeg = pd.read_csv("adult_vs_paediatric.csv")\nres = enrichr(gene_list=deg.query("padj < 0.05").gene.tolist(),\n gene_sets="Reactome_2022", organism="human")\nres.results.head(14).to_csv("pathway_counts.csv", index=False)'; - - /* ------------------------------------------------------------------ scenarios */ - var SCEN = {}; - - SCEN.lit = async function (c) { - await c.wait(500); - c.say(t(L('I will search two databases, read the key papers, run an enrichment analysis in the sandbox and write a cited report.', '我会检索两个数据库、精读关键论文、在沙箱里做富集分析,最后写出带引用的报告。'))); - c.tok(1800); - var plan = c.plan([L('Search the literature', '检索文献'), L('Read the key papers', '精读关键论文'), L('Enrichment analysis and chart', '富集分析并作图'), L('Cross-check contradictions', '交叉核对矛盾结论')]); - plan.set(0, 'doing'); - await c.tool({ n: 'literature.search', a: L('PubMed · bioRxiv — “liver parenchymal adult paediatric immune”', 'PubMed · bioRxiv —“肝实质 成人 儿童 免疫”'), ms: 1400, tok: 2600, - r: '38 records · 2023–2025 · 12 selected
    Hepatology 2024 — Age-dependent immune gene programmes in hepatocytes\nNat Commun 2024 — Single-cell atlas of paediatric liver\nbioRxiv 2025 — Interferon tone across the liver lifespan
    ' }); - plan.set(0, 'done'); plan.set(1, 'doing'); - await c.tool({ n: 'paper.read', a: L('12 PDFs · extract tables and claims', '12 篇 PDF · 抽取表格与结论'), ms: 1500, tok: 4200, r: '12 parsed · 47 evidence spans · 9 candidate claims', after: function () { state.parsed = 12; renderWs(); } }); - plan.set(1, 'done'); plan.set(2, 'doing'); - await c.tool({ n: 'python.run', a: 'enrichment.py', sandbox: true, open: true, ms: 1900, tok: 3300, - r: pre(PY_ENRICH) + pre('top pathways (FDR < 0.05): 14\nadult-enriched: interferon signalling, antigen presentation\npaediatric-enriched: CYP450, bile-acid synthesis'), - after: function () { - c.artifact({ name: 'enrichment.py', kind: 'code', size: '0.6 KB', by: 'python.run #3', inputs: 'adult_vs_paediatric.csv', preview: function () { return pre(PY_ENRICH); } }); - c.artifact({ name: 'pathway_counts.csv', kind: 'csv', size: '1.1 KB', by: 'python.run #3', inputs: 'enrichment.py', preview: function () { return csvTable(CSV_PATH); } }); - c.artifact({ name: 'enrichment_bar.png', kind: 'png', size: '38 KB', by: 'python.run #3', inputs: 'pathway_counts.csv', preview: function () { return barsHtml(); } }); - } }); - plan.set(2, 'done'); plan.set(3, 'doing'); - await c.tool({ n: 'report.write', a: 'report.md · 9 claims with citations', ms: 1000, tok: 2100, r: '9 claims · 2 flagged as contradictory across studies', - after: function () { c.artifact({ name: 'report.md', kind: 'md', size: '6.2 KB', by: 'report.write #4', inputs: 'pathway_counts.csv', preview: function () { return pre('# Adult vs paediatric liver: immune pathways\n\n1. Interferon signalling is enriched in adult hepatocytes [Hepatology 2024, Table 2].\n2. CYP450 metabolism is higher in paediatric samples [Nat Commun 2024, Fig 3].\n...\n\n> Flag: claims 4 and 7 conflict between cohorts.'); } }); } }); - plan.set(3, 'done'); - await c.wait(300); - var f = h('div', 'card-x final', '

    ' + t(L('Report ready.', '报告已生成。')) + ' ' + t(L('Adult tissue is enriched for interferon signalling and antigen presentation; paediatric tissue for xenobiotic metabolism.', '成人组织富集干扰素信号与抗原呈递,儿童组织富集外源物代谢。')) + '

    ' + barsHtml() + - '
    ' + t(L('2 contradictory findings flagged', '标出 2 处矛盾结论')) + '
    '); - c.final(f); growBars(f); $('#open-memory', f).addEventListener('click', function () { select('memory', true); }); - c.tok(900); - }; - - /* --- Idea Tree --- */ - var TREE = [ - { id: 'r', p: null, x: 320, y: 34, en: 'Perovskite stability', zh: '钙钛矿稳定性' }, - { id: 'A', p: 'r', x: 110, y: 108, s: .72, d: [.8, .7, .65], en: 'Passivation additives', zh: '钝化添加剂', why: L('Surface defects drive moisture ingress; additives are cheap to test.', '表面缺陷是水汽入侵的通道,添加剂便于快速验证。') }, - { id: 'B', p: 'r', x: 320, y: 108, s: .86, d: [.9, .88, .8], en: '2D/3D heterostructure', zh: '2D/3D 异质结构', why: L('A 2D capping layer blocks ion migration while keeping the 3D absorber.', '2D 覆盖层阻止离子迁移,同时保留 3D 吸收层。') }, - { id: 'C', p: 'r', x: 530, y: 108, s: .48, d: [.4, .7, .35], en: 'Encapsulation layers', zh: '封装层设计', why: L('Effective but does not address intrinsic instability; pruned.', '有效但没有解决本征不稳定,已剪枝。'), prune: 1 }, - { id: 'A1', p: 'A', x: 100, y: 188, s: .78, d: [.82, .76, .74], en: 'Ionic-liquid additives', zh: '离子液体添加剂', why: L('Ionic liquids bind both A-site and halide vacancies.', '离子液体可同时钝化 A 位与卤素空位。') }, - { id: 'B1', p: 'B', x: 260, y: 188, s: .91, d: [.94, .9, .88], en: 'Bulky-cation capping', zh: '大体积阳离子封端', why: L('Bulky ammonium forms an ultra-thin 2D phase at grain boundaries.', '大体积铵盐在晶界形成超薄 2D 相。') }, - { id: 'B2', p: 'B', x: 390, y: 188, s: .83, d: [.86, .8, .82], en: 'Graded 2D interlayer', zh: '梯度 2D 中间层', why: L('Graded thickness relieves interfacial strain.', '梯度厚度缓解界面应力。') }, - { id: 'A1a', p: 'A1', x: 70, y: 268, s: .74, d: [.76, .72, .74], en: 'Co-additive blend', zh: '共添加剂组合', why: L('Marginal gain over single additive.', '相比单一添加剂增益有限。') }, - { id: 'B1a', p: 'B1', x: 210, y: 268, s: .94, d: [.96, .93, .92], en: 'Fluorinated spacers', zh: '氟化间隔阳离子', best: 1, why: L('Fluorination raises hydrophobicity and lowers formation energy of the 2D phase.', '氟化提高疏水性并降低 2D 相形成能。') }, - { id: 'B1b', p: 'B1', x: 330, y: 268, s: .88, d: [.9, .87, .86], en: 'Thermal-cycling co-design', zh: '热循环协同设计', why: L('Matches expansion coefficients across layers.', '匹配各层热膨胀系数。') } - ]; - var TREE_ORDER = ['A', 'B', 'C', 'B1', 'B2', 'A1', 'B1a', 'B1b', 'A1a']; - var DIMS = [L('Viability', '活性'), L('Stability', '稳定性'), L('Sustain.', '可持续性')]; - function tcol(s) { return s >= .85 ? '#22a06b' : s >= .6 ? '#2563eb' : '#d19a32'; } - - SCEN.tree = async function (c) { - await c.wait(500); - c.say(t(L('Starting an Idea Tree research run: up to 3 rounds, 3 candidates per round. Each candidate is designed, scored by three independent evaluators and aggregated.', '启动 Idea Tree 研究:最多 3 轮,每轮 3 个候选。每个候选会被设计,由三位独立评估者打分并聚合。'))); - c.tok(1500); - var card = h('div', 'rc'), paused = false, stopped = false, n = 0, round = 1; - card.innerHTML = '
    IDEA TREE

    ' + t(L('Improve the operational stability of perovskite solar cells', '提升钙钛矿太阳能电池的运行稳定性')) + '

    ' + - '
    ' + t(L('Status', '状态')) + '' + t(L('Running', '运行中')) + '
    ' + t(L('Round', '轮次')) + '1 / 3
    ' + t(L('Candidates', '候选')) + '0 / 9
    ' + t(L('Depth', '深度')) + '3
    ' + - '
    '; - c.add(card, 'asst'); - var svg = $('svg', card), side = $('#tside', card), map = {}, groups = {}, edges = {}, sel = null; - TREE.forEach(function (nd) { map[nd.id] = nd; }); - TREE.forEach(function (nd) { - if (!nd.p) return; var p = map[nd.p]; - edges[nd.id] = sv('path', { d: 'M' + p.x + ' ' + (p.y + 20) + ' C' + p.x + ' ' + (p.y + 55) + ' ' + nd.x + ' ' + (nd.y - 55) + ' ' + nd.x + ' ' + (nd.y - 20), 'class': 'g-edge', 'stroke-width': 1.6, opacity: 0 }, svg); - }); - TREE.forEach(function (nd) { - var g = sv('g', { 'class': 'gnode ghost', transform: 'translate(' + nd.x + ',' + nd.y + ')', opacity: nd.p ? 0 : 1 }, svg); - groups[nd.id] = g; sv('circle', { r: 19, fill: '#2563eb', stroke: '#fff', 'stroke-width': 2 }, g); - nd.tx = sv('text', { 'text-anchor': 'middle', y: 4, fill: '#fff', 'font-size': 11, 'font-weight': 700 }, g, nd.p ? '' : '★'); - sv('text', { 'text-anchor': 'middle', y: 36, 'class': 'g-lbl' }, g, t(nd)); - g.addEventListener('click', function () { pick(nd); }); - }); - groups.r.classList.remove('ghost'); - function pick(nd) { - sel = nd; Object.keys(groups).forEach(function (k) { groups[k].classList.remove('sel'); }); groups[nd.id].classList.add('sel'); - if (!nd.p) { side.innerHTML = '
    ' + t(nd) + '
    ' + t(L('Research goal. Children are designed, scored by three independent evaluators and aggregated into one score.', '研究目标。子想法被设计、由三位独立评估者打分并聚合为一个分数。')); return; } - if (nd.s == null || !nd.done) { side.innerHTML = '
    ' + t(nd) + '
    ' + t(L('Evaluating…', '评估中…')); return; } - side.innerHTML = '
    ' + t(nd) + '
    ' + (nd.best ? t(L('best so far', '当前最优')) : nd.prune ? t(L('pruned', '已剪枝')) : t(L('evaluated', '已评估'))) + '' + - '
    ' + nd.s.toFixed(2) + '
    ' + - nd.d.map(function (v, i) { return '
    ' + t(DIMS[i]) + '' + v.toFixed(2) + '
    '; }).join('') + - '

    ' + t(nd.why) + '

    '; - } - $('#tp', card).addEventListener('click', function () { paused = !paused; this.textContent = paused ? t(L('Resume', '继续')) : t(L('Pause', '暂停')); $('#tst', card).textContent = paused ? t(L('Paused', '已暂停')) : t(L('Running', '运行中')); }); - $('#ts', card).addEventListener('click', function () { stopped = true; }); - async function gate() { while (paused && c.alive()) await c.wait(200); } - for (var i = 0; i < TREE_ORDER.length && !stopped; i++) { - var nd = map[TREE_ORDER[i]]; await gate(); - round = Math.floor(i / 3) + 1; $('#trd', card).textContent = round + ' / 3'; - groups[nd.id].setAttribute('opacity', 1); edges[nd.id].setAttribute('opacity', 1); groups[nd.id].classList.add('pulse'); pick(nd); - c.tok(2200); await c.wait(1200); - await gate(); - nd.done = 1; groups[nd.id].classList.remove('ghost', 'pulse'); groups[nd.id].querySelector('circle').setAttribute('fill', tcol(nd.s)); nd.tx.textContent = nd.s.toFixed(2); - if (nd.prune) groups[nd.id].style.opacity = .55; - n++; $('#tcn', card).textContent = n + ' / 9'; pick(nd); await c.wait(350); - } - $('#tst', card).textContent = stopped ? t(L('Stopped', '已结束')) : t(L('Completed', '已完成')); $('#tp', card).disabled = true; $('#ts', card).disabled = true; - var best = map.B1a; groups.B1a.querySelector('circle').setAttribute('stroke', '#f59e0b'); groups.B1a.querySelector('circle').setAttribute('stroke-width', 3); pick(best); - c.say('' + t(L('Best idea: ', '最优想法:')) + '' + t(best) + ' (' + best.s.toFixed(2) + '). ' + t(L('Insights from rounds 1–2 favoured 2D/3D heterostructures over encapsulation.', '第 1–2 轮的洞察表明 2D/3D 异质结构优于封装方案。'))); - }; - - /* --- Evolve --- */ - var CANDS = [[.44, -1, 'baseline'], [.4595, 0], [.9001, 0], [.2539, 0], [.4581, 0], [.2757, 0], [0, 0], [.4797, 1], [.3677, 1], [.9001, 2], [.3179, 2], [.9674, 2], [.9561, 2], [.9001, 2], [.073, 2], [.9682, 11], [.967, 11]]; - var EVO_TITLES = ['Lossless text codec', 'BWT + MTF + Huffman', 'LZ77 window + range coder', 'Order-2 context mixing', 'Dictionary preseed', 'PPM-style predictor', 'Arithmetic coder v2']; - SCEN.evolve = async function (c) { - await c.wait(500); - c.say(t(L('Proposing a program-evolution search: the baseline scores 0.44. I will expand 16 candidates across parent programs and verify the winner on held-out data.', '发起程序演进搜索:基线得分 0.44。我会在父程序之间扩展 16 个候选,并在留出集上验证最优者。'))); - c.tok(1400); - var card = h('div', 'rc'), shown = 0, selRow = null, tab = 'graph', best = -1, done = false; - card.innerHTML = '
    ' + t(L('PROGRAM EVOLUTION', '程序演进')) + '

    ' + t(L('Minimise compressed byte size · stdlib only · exact round-trip', '最小化压缩字节数 · 仅标准库 · 精确还原')) + '

    ' + t(L('Running', '运行中')) + '
    ' + - '
    ' + t(L('Algorithm', '算法')) + 'era
    ' + t(L('Expansions', '扩展次数')) + '0 / 16
    ' + t(L('Depth', '深度')) + '3
    Token0
    ' + - '
    ' + - '
    ' + t(L('Candidate pipeline', '候选流水')) + '
    '; - c.add(card, 'asst'); - var left = $('#eleft', card), rows = $('#erows', card); - function evoName(i) { return EVO_TITLES[i % EVO_TITLES.length]; } - function draw() { - if (tab === 'table') { - left.innerHTML = '
    ' + - CANDS.slice(0, shown).map(function (d, i) { return ''; }).join('') + '
    #' + t(L('Parent', '父'))+ '' + t(L('Candidate', '候选')) + '' + t(L('Score', '得分')) + '
    #' + i + '' + (d[1] < 0 ? '—' : '#' + d[1]) + '' + evoName(i) + '' + d[0].toFixed(4) + '
    '; - return; - } - left.innerHTML = ''; var W = 560, H = 262, Lm = 40, B = 30, T = 14, R = 14, N = 16; - var svg = sv('svg', { viewBox: '0 0 ' + W + ' ' + H }, left); - function X(i) { return Lm + i / N * (W - Lm - R); } function Y(v) { return H - B - v / 1.02 * (H - B - T); } - [0, .25, .5, .75, 1].forEach(function (v) { sv('line', { x1: Lm, x2: W - R, y1: Y(v), y2: Y(v), 'class': 'g-grid' }, svg); sv('text', { x: Lm - 6, y: Y(v) + 3, 'text-anchor': 'end', 'class': 'g-axis' }, svg, v.toFixed(2)); }); - sv('line', { x1: Lm, x2: W - R, y1: Y(.44), y2: Y(.44), 'class': 'g-base' }, svg); sv('text', { x: W - R - 2, y: Y(.44) - 5, 'text-anchor': 'end', 'class': 'g-axis' }, svg, t(L('baseline', '基线'))); - var b = 0, path = ''; - for (var i = 0; i < shown; i++) { if (CANDS[i][0] > b) b = CANDS[i][0]; path += (i ? ' L' : 'M') + X(i) + ' ' + Y(b) + (i < shown - 1 ? ' L' + X(i + 1) + ' ' + Y(b) : ''); } - if (path) sv('path', { d: path, fill: 'none', stroke: 'var(--accent)', 'stroke-width': 2.4 }, svg); - var run = 0; - for (i = 0; i < shown; i++) { - var s = CANDS[i][0], isBest = s > run; if (isBest) run = s; - var dot = s === 0 ? sv('circle', { cx: X(i), cy: Y(0), r: 4.5, fill: 'none', stroke: '#b3312f', 'stroke-width': 2 }, svg) : sv('circle', { cx: X(i), cy: Y(s), r: isBest ? 4.6 : 3.2, fill: isBest ? 'var(--accent)' : '#98a2b3', opacity: isBest ? 1 : .8 }, svg); - if (selRow === i) sv('circle', { cx: X(i), cy: Y(s), r: 8, fill: 'none', stroke: '#f59e0b', 'stroke-width': 2 }, svg); - (function (i) { dot.style.cursor = 'pointer'; dot.addEventListener('click', function () { selRow = i; draw(); rowsDraw(); }); })(i); - } - if (done) { sv('circle', { cx: X(N), cy: Y(.9682), r: 5, fill: '#0f7b57', stroke: 'var(--surface-subtle)', 'stroke-width': 2 }, svg); sv('text', { x: X(N) - 8, y: Y(.9682) + 18, 'text-anchor': 'end', 'class': 'g-lbl' }, svg, t(L('held-out 0.9682', '留出集 0.9682'))); } - [0, 4, 8, 12, 16].forEach(function (i) { sv('text', { x: X(i), y: H - B + 15, 'text-anchor': 'middle', 'class': 'g-axis' }, svg, '#' + i); }); - var lg = h('div', 'legend', '' + t(L('best so far', '当前最优')) + 'rollout' + t(L('failed to run', '没跑起来')) + ''); - lg.style.padding = '0 10px 8px'; left.appendChild(lg); - } - function rowsDraw() { - var run = 0; rows.innerHTML = ''; - CANDS.slice(0, shown).forEach(function (d, i) { - var nb = d[0] > run ? (i ? 'new best' : '') : (i ? 'no lift' : ''); if (d[0] > run) run = d[0]; - if (d[0] === 0) nb = 'failed'; - var r = h('div', 'prow' + (selRow === i ? ' sel' : ''), '#' + i + '' + (d[1] < 0 ? '' : (lang === 'zh' ? '来自 #' : 'from #') + d[1]) + '' + evoName(i) + '' + d[0].toFixed(4) + '' + (i ? '' + (nb === 'new best' ? t(L('becomes best', '成为当前最优')) : nb === 'failed' ? t(L('did not run', '未跑起来')) : t(L('no clear lift', '提升不显著'))) + '' : '')); - r.addEventListener('click', function () { selRow = i; draw(); rowsDraw(); }); rows.appendChild(r); - }); - rows.parentNode.scrollTop = rows.parentNode.scrollHeight; - } - $$('.rc-tabs button', card).forEach(function (b) { b.addEventListener('click', function () { tab = b.dataset.t; $$('.rc-tabs button', card).forEach(function (x) { x.classList.toggle('on', x === b); }); draw(); }); }); - draw(); - for (var i = 0; i < CANDS.length; i++) { - await c.wait(i ? 620 : 400); shown = i + 1; selRow = i; $('#eex', card).textContent = Math.max(0, shown - 1) + ' / 16'; $('#etk', card).textContent = fmtTok(Math.round(shown * 5400)); c.tok(300); draw(); rowsDraw(); - } - done = true; selRow = null; $('#est', card).textContent = t(L('Completed', '已完成')); draw(); - c.artifact({ name: 'candidate.py', kind: 'code', size: '3.4 KB', by: 'evolve #15', inputs: 'candidate #11', preview: function () { return pre('"""Lossless text compression via BWT + MTF + RLE + Huffman."""\nimport heapq\nfrom collections import Counter\n\n\ndef _build_codes(freq):\n heap = [(f, i, None, None) for i, (b, f) in enumerate(freq.items())]\n heapq.heapify(heap)\n ...'); } }); - c.say('' + t(L('Search finished. ', '搜索完成。')) + '' + t(L('Candidate #15 scores 0.9682 on held-out data (baseline 0.44). The gain came from the BWT-based lineage started at #2.', '候选 #15 在留出集上得分 0.9682(基线 0.44)。提升来自 #2 开启的 BWT 谱系。'))); - }; - - /* --- Memory graph --- */ - var MG = { - nodes: [ - { id: 'goal', x: 50, y: 62, c: '#7c3aed', en: 'ResearchGoal', zh: '研究目标', d: L('Compare adult vs paediatric liver immune programmes', '比较成人与儿童肝脏免疫程序') }, - { id: 't1', x: 150, y: 34, c: '#2563eb', en: 'Task: search', zh: '任务:检索', d: L('Search PubMed and bioRxiv', '检索 PubMed 与 bioRxiv') }, - { id: 't2', x: 150, y: 104, c: '#2563eb', en: 'Task: analyse', zh: '任务:分析', d: L('Enrichment analysis', '富集分析') }, - { id: 'c1', x: 250, y: 34, c: '#0f8aa6', en: 'literature.search', zh: 'literature.search', d: L('Tool call #1 · 38 records', '工具调用 #1 · 38 条记录') }, - { id: 'c2', x: 250, y: 104, c: '#0f8aa6', en: 'python.run', zh: 'python.run', d: L('Tool call #3 · sandbox epoch b23a2db4', '工具调用 #3 · 沙箱 epoch b23a2db4') }, - { id: 'code', x: 350, y: 78, c: '#64748b', en: 'enrichment.py', zh: 'enrichment.py', d: L('Code produced by python.run', 'python.run 生成的代码') }, - { id: 'csv', x: 350, y: 138, c: '#22a06b', en: 'pathway_counts.csv', zh: 'pathway_counts.csv', d: L('Artifact · 14 pathways', '产物 · 14 条通路') }, - { id: 'rep', x: 540, y: 150, c: '#22a06b', en: 'report.md', zh: 'report.md', d: L('Final report · 9 claims', '最终报告 · 9 条结论') }, - { id: 'pA', x: 150, y: 226, c: '#0f8aa6', en: 'Hepatology 2024', zh: 'Hepatology 2024', d: L('Paper · Age-dependent immune gene programmes', '论文 · 年龄依赖的免疫基因程序') }, - { id: 'pB', x: 150, y: 272, c: '#0f8aa6', en: 'Nat Commun 2024', zh: 'Nat Commun 2024', d: L('Paper · Single-cell atlas of paediatric liver', '论文 · 儿童肝脏单细胞图谱') }, - { id: 'eA', x: 270, y: 226, c: '#d64545', en: 'Evidence: Table 2', zh: '证据:表 2', d: L('“IFN-γ response genes up 2.1× in adults”', '“成人 IFN-γ 响应基因上调 2.1 倍”') }, - { id: 'eB', x: 270, y: 272, c: '#d64545', en: 'Evidence: Fig 3', zh: '证据:图 3', d: L('“CYP3A4 higher in paediatric hepatocytes”', '“儿童肝细胞 CYP3A4 更高”') }, - { id: 'k1', x: 400, y: 226, c: '#d19a32', en: 'Claim 1', zh: '结论 1', d: L('Interferon signalling is enriched in adults', '成人组织富集干扰素信号') }, - { id: 'k2', x: 400, y: 272, c: '#d19a32', en: 'Claim 2', zh: '结论 2', d: L('CYP450 metabolism is enriched in paediatric samples', '儿童样本富集 CYP450 代谢') } - ], - edges: [['goal', 't1', 'next', 'task'], ['goal', 't2', 'next', 'task'], ['t1', 'c1', 'next', 'task'], ['t2', 'c2', 'next', 'task'], ['c2', 'code', 'produces', 'task'], ['c2', 'csv', 'produces', 'task'], - ['pA', 'eA', 'extracts', 'cite'], ['pB', 'eB', 'extracts', 'cite'], ['eA', 'k1', 'supports', 'cite'], ['eB', 'k2', 'supports', 'cite'], ['csv', 'k1', 'supports', 'cite'], ['k1', 'rep', 'stated_in', 'cite'], ['k2', 'rep', 'stated_in', 'cite'], ['csv', 'rep', 'used_in', 'task']] - }; - SCEN.memory = async function (c) { - await c.wait(500); - c.say(t(L('ScienceMemory recorded this session as two chains: the task chain (what was run) and the citation chain (what each claim rests on). Click any node to trace its lineage.', 'ScienceMemory 把本会话记录成两条链:任务链(做了什么)和引用链(每条结论依据什么)。点击任意节点查看其溯源。'))); - c.tok(900); - var card = h('div', 'rc'), filter = 'all', selId = 'rep'; - card.innerHTML = '
    SCIENCEMEMORY

    ' + t(L('Task chain and citation chain', '任务链与引用链')) + '

    ' + - [['all', L('All', '全部')], ['task', L('Task chain', '任务链')], ['cite', L('Citation chain', '引用链')]].map(function (f) { return ''; }).join('') + - '
    '; - c.add(card, 'asst'); - var svg = $('svg', card), side = $('#mside', card), groups = {}, lines = [], map = {}; - sv('defs', {}, svg).innerHTML = ''; - MG.nodes.forEach(function (n) { map[n.id] = n; }); - MG.edges.forEach(function (e) { - var a = map[e[0]], b = map[e[1]], dx = b.x - a.x, dy = b.y - a.y, l = Math.sqrt(dx * dx + dy * dy), ux = dx / l, uy = dy / l; - var ln = sv('line', { x1: a.x + ux * 20, y1: a.y + uy * 20, x2: b.x - ux * 22, y2: b.y - uy * 22, 'class': 'g-edge', 'stroke-width': 1.5, 'marker-end': 'url(#marr)' }, svg); - var lb = sv('text', { x: (a.x + b.x) / 2, y: (a.y + b.y) / 2 - 4, 'text-anchor': 'middle', 'class': 'g-axis' }, svg, e[2]); - lines.push({ e: e, ln: ln, lb: lb }); - }); - MG.nodes.forEach(function (n) { - var g = sv('g', { 'class': 'gnode', transform: 'translate(' + n.x + ',' + n.y + ')' }, svg); groups[n.id] = g; - sv('circle', { r: 18, fill: n.c, stroke: '#fff', 'stroke-width': 2 }, g); sv('text', { 'text-anchor': 'middle', y: 34, 'class': 'g-lbl' }, g, t(n)); - g.addEventListener('click', function () { selId = n.id; paint(); }); - }); - function paint() { - var up = {}; up[selId] = 1; var ch = true; - while (ch) { ch = false; MG.edges.forEach(function (e) { if (up[e[1]] && !up[e[0]]) { up[e[0]] = 1; ch = true; } }); } - function inChain(id) { return filter === 'all' || MG.edges.some(function (e) { return e[3] === filter && (e[0] === id || e[1] === id); }); } - Object.keys(groups).forEach(function (k) { groups[k].style.opacity = up[k] && inChain(k) ? 1 : .2; groups[k].classList.toggle('sel', k === selId); }); - lines.forEach(function (o) { var on = up[o.e[0]] && up[o.e[1]] && (filter === 'all' || o.e[3] === filter); o.ln.style.opacity = on ? 1 : .15; o.lb.style.opacity = on ? 1 : .15; }); - var n = map[selId], names = MG.nodes.filter(function (x) { return up[x.id] && x.id !== selId; }).map(function (x) { return t(x); }); - side.innerHTML = '
    ' + t(n) + '

    ' + t(n.d) + '

    ' + t(L('Depends on', '依赖于')) + '

    ' + (names.length ? names.join(' → ') : '—') + '

    '; - } - $$('.chip', card).forEach(function (b) { b.addEventListener('click', function () { filter = b.dataset.f; $$('.chip', card).forEach(function (x) { x.classList.toggle('on', x === b); }); paint(); }); }); - paint(); - await c.wait(400); - c.say(t(L('Every claim in report.md resolves to at least one evidence span and the paper it came from.', 'report.md 中的每条结论都能追溯到至少一处证据及其来源论文。'))); - }; - - /* --- Protein --- */ - var PROT = null; - SCEN.protein = async function (c) { - if (!PROT) PROT = V.buildProtein(); - await c.wait(500); - c.say(t(L('I will load the kinase domain, detect the pocket, list contacts to the inhibitor and render the result in 3D.', '我会加载激酶结构域、检测口袋、列出与抑制剂的接触,并在 3D 中呈现。'))); - c.tok(1500); - await c.tool({ n: 'structure.load', a: L('kinase domain · chain A (demo model)', '激酶结构域 · A 链(演示模型)'), ms: 1100, tok: 2100, r: '116 residues · 6 helices · 1 ligand (21 heavy atoms)' }); - await c.tool({ n: 'pocket.detect', a: L('probe radius 1.4 Å', '探针半径 1.4 Å'), sandbox: true, ms: 1500, tok: 2600, r: pre('pocket 1 volume 612 Å3 depth 9.8 Å\nlining residues: ' + PROT.pocket.map(function (p) { return p.name; }).join(', ')), - after: function () { - c.artifact({ name: 'pocket.pdb', kind: 'pdb', size: '2.8 KB', by: 'pocket.detect #2', inputs: 'kinase_domain.pdb', preview: function () { return pre(V.pdbText(PROT)); } }); - var csv = 'residue,type,distance_A,note\n' + PROT.pocket.map(function (p) { return p.name + ',' + p.type + ',' + p.d.toFixed(1) + ',' + p.note; }).join('\n'); - c.artifact({ name: 'contacts.csv', kind: 'csv', size: '0.3 KB', by: 'pocket.detect #2', inputs: 'pocket.pdb', preview: function () { return csvTable(csv); } }); - } }); - var st = { color: 'rainbow', pocket: 1, contacts: 1, ligand: 1, sel: -1 }, viewer; - var card = h('div', 'rc'); - card.innerHTML = '
    ' + t(L('MOLECULAR VIEWER', '分子查看器')) + '

    ' + t(L('Kinase domain · ligand pocket (illustrative model)', '激酶结构域 · 配体口袋(演示模型)')) + '

    ' + - '
    ' + - '
    ' + t(L('Pocket residues', '口袋残基')) + '
    CNOCl
    ' + - '
    ' + t(L('Drag to rotate. Structure is generated locally for illustration, not an experimental model.', '拖动旋转。结构在本地生成,仅作示意,并非实验模型。')) + '
    '; - c.add(card, 'asst'); - viewer = new V.Viewer($('canvas', card), { yaw: .5, pitch: -.3, zoom: 1.05 }); - function scene() { viewer.setScene(V.proteinScene(PROT, st), [0, 0, 0], 17); } - function chip(label, key, val, radio) { var b = h('button', 'chip' + ((radio ? st[key] === val : st[key]) ? ' on' : ''), t(label)); b.addEventListener('click', function () { if (radio) st[key] = val; else st[key] = st[key] ? 0 : 1; ctl(); scene(); }); return b; } - function ctl() { - var box = $('#pctl', card); box.innerHTML = ''; - [chip(L('Rainbow', '彩虹色'), 'color', 'rainbow', 1), chip(L('Secondary structure', '二级结构'), 'color', 'ss', 1), chip(L('Pocket residues', '口袋残基'), 'pocket'), chip(L('Contacts', '接触'), 'contacts'), chip(L('Ligand', '配体'), 'ligand')].forEach(function (b) { box.appendChild(b); }); - var a = h('button', 'chip' + (viewer.auto ? ' on' : ''), t(L('Auto-rotate', '自动旋转'))); a.addEventListener('click', function () { viewer.auto = !viewer.auto; ctl(); }); box.appendChild(a); - } - function rows() { - var box = $('#prows', card); box.innerHTML = ''; - PROT.pocket.forEach(function (p, i) { - var r = h('div', 'prow' + (st.sel === i ? ' sel' : ''), '' + p.name + '' + (p.type === 'hbond' ? 'H-bond ' : 'vdW ') + p.d.toFixed(1) + ' Å' + (p.note === 'hinge' ? t(L('hinge region', '铰链区')) : p.note === 'gatekeeper' ? t(L('gatekeeper', '守门残基')) : t(L('hydrophobic pocket', '疏水口袋'))) + ''); - r.addEventListener('click', function () { st.sel = st.sel === i ? -1 : i; viewer.auto = false; rows(); ctl(); scene(); }); box.appendChild(r); - }); - } - ctl(); rows(); scene(); - await c.wait(500); - c.say(t(L('Two hydrogen bonds anchor the inhibitor (2.9 Å to the hinge residue, 3.1 Å to the gatekeeper); the remaining contacts are hydrophobic.', '两个氢键固定抑制剂(与铰链残基 2.9 Å,与守门残基 3.1 Å),其余接触为疏水作用。'))); - }; - - /* --- Crystal --- */ - SCEN.crystal = async function (c) { - await c.wait(500); - c.say(t(L('I will build the cubic perovskite, evaluate the tolerance factor with Shannon radii and simulate the powder XRD pattern.', '我会构建立方钙钛矿,用 Shannon 半径评估容忍因子,并模拟粉末 XRD 图谱。'))); - c.tok(1400); - await c.tool({ n: 'materials.lookup', a: 'CsPbI3 · Pm-3m', ms: 1000, tok: 1700, r: 'a = 6.29 Å · Z = 1 · high-temperature α phase' }); - var tf = (1.88 + 2.20) / (Math.SQRT2 * (1.19 + 2.20)); - await c.tool({ n: 'python.run', a: 'pymatgen · tolerance factor', sandbox: true, open: true, ms: 1500, tok: 2500, - r: pre('rA, rB, rX = 1.88, 1.19, 2.20 # Shannon radii (A)\nt = (rA + rX) / (sqrt(2) * (rB + rX))\nmu = rB / rX\nprint(round(t, 3), round(mu, 3))\n# -> ' + tf.toFixed(3) + ' 0.541'), - after: function () { c.artifact({ name: 'CsPbI3.cif', kind: 'cif', size: '0.6 KB', by: 'python.run #2', inputs: 'materials.lookup #1', preview: function () { return pre(V.cifText(2, 6.29)); } }); } }); - var st = { n: 2, a: 6.29, octa: 1, bonds: 1, cell: 1, spacefill: 0, tab: 'struct' }, viewer, card = h('div', 'rc'); - card.innerHTML = '
    ' + t(L('CRYSTAL VIEWER', '晶体查看器')) + '

    CsPbI₃ · ' + t(L('cubic perovskite, Pm-3m', '立方钙钛矿,Pm-3m')) + '

    ' + - '
    ' + - '
    ' + - '
    '; - c.add(card, 'asst'); - var view = $('#cview', card), side = $('#cside', card), cvs = null; - function info() { - var a = st.a, V3 = a * a * a; - side.innerHTML = '
    ' + t(L('Cell', '晶胞')) + '
    ' + t(L('Formula', '化学式')) + 'CsPbI₃
    ' + - '
    ' + t(L('Lattice a', '晶格常数 a')) + '' + a.toFixed(2) + ' Å
    V' + V3.toFixed(1) + ' ų
    ' + - '
    Pb–I' + (a / 2).toFixed(2) + ' Å
    ' + t(L('Tolerance t', '容忍因子 t')) + '' + tf.toFixed(2) + '
    ' + - '
    CsPbI
    ' + - '

    ' + t(L('t < 0.9: the cubic phase is only expected at high temperature.', 't < 0.9:立方相预计只在高温下稳定。')) + '

    '; - } - function rescene() { var r = V.crystalScene(st.n, st.a, st); viewer.setScene(r.scene, [0, 0, 0], r.half * 1.5 + 4); } - function mount() { - view.innerHTML = ''; - if (st.tab === 'struct') { cvs = h('canvas'); cvs.style.cssText = 'display:block;width:100%;height:320px'; view.appendChild(cvs); viewer = new V.Viewer(cvs, { yaw: .7, pitch: -.35 }); rescene(); } - else { - var svg = sv('svg', { viewBox: '0 0 560 280' }); view.appendChild(svg); var ro = h('div', '', ''); ro.style.cssText = 'padding:0 12px 10px;font-size:12px;color:var(--text-secondary)'; ro.textContent = t(L('Hover the pattern to read 2θ and intensity.', '在图谱上悬停读取 2θ 与强度。')); view.appendChild(ro); - V.drawXRD(svg, st.a, function (tt, y, pk) { var near = pk.filter(function (p) { return Math.abs(p.t - tt) < 0.6; })[0]; ro.textContent = '2θ = ' + tt.toFixed(2) + '° · I = ' + y.toFixed(0) + (near ? ' · ' + near.l : ''); }); - } - } - function ctl() { - var box = $('#cctl', card); box.innerHTML = ''; - if (st.tab === 'struct') { - [1, 2, 3].forEach(function (n) { var b = h('button', 'chip' + (st.n === n ? ' on' : ''), n + '×' + n + '×' + n); b.addEventListener('click', function () { st.n = n; ctl(); rescene(); }); box.appendChild(b); }); - [['octa', L('Octahedra', '八面体')], ['bonds', L('Bonds', '化学键')], ['cell', L('Cell', '晶胞')], ['spacefill', L('Space-filling', '空间填充')]].forEach(function (o) { var b = h('button', 'chip' + (st[o[0]] ? ' on' : ''), t(o[1])); b.addEventListener('click', function () { st[o[0]] = st[o[0]] ? 0 : 1; ctl(); rescene(); }); box.appendChild(b); }); - } - var lab = h('label', '', 'a ' + st.a.toFixed(2) + ' Å'); lab.style.cssText = 'display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary);margin-left:6px'; - $('input', lab).addEventListener('input', function () { st.a = parseFloat(this.value); $('b', lab).textContent = st.a.toFixed(2) + ' Å'; info(); if (st.tab === 'struct') rescene(); else mount(); }); - box.appendChild(lab); - } - $$('.rc-tabs button', card).forEach(function (b) { b.addEventListener('click', function () { st.tab = b.dataset.t; $$('.rc-tabs button', card).forEach(function (x) { x.classList.toggle('on', x === b); }); ctl(); mount(); }); }); - info(); ctl(); mount(); - await c.wait(500); - c.say(t(L('With t = 0.85 the cubic α phase sits at the edge of stability, which is consistent with its tendency to distort into the non-perovskite δ phase at room temperature. The simulated (100) reflection appears at 2θ ≈ 14.1°.', 't = 0.85 时立方 α 相处于稳定边缘,这与其在室温下畸变为非钙钛矿 δ 相的倾向一致。模拟的 (100) 衍射峰位于 2θ ≈ 14.1°。'))); - }; - - /* --- Data --- */ - SCEN.data = async function (c) { - await c.wait(500); - c.say(t(L('I will run differential expression on 640 genes, apply Benjamini–Hochberg correction and plot the result.', '我会对 640 个基因做差异表达分析,进行 Benjamini–Hochberg 校正,并绘图。'))); - c.tok(1300); - var data = V.volcanoData(); - await c.tool({ n: 'python.run', a: 'deseq2.py · adult vs paediatric', sandbox: true, open: true, ms: 1700, tok: 3000, - r: pre('import pandas as pd\nfrom pydeseq2.dds import DeseqDataSet\n\ndds = DeseqDataSet(counts=counts, metadata=meta, design_factors="age_group")\ndds.deseq2()\nres = DeseqStats(dds, contrast=["age_group", "adult", "paediatric"]).summary()'), - after: function () { - var csv = 'gene,log2FC,neg_log10_p\n' + data.slice(0, 30).map(function (d) { return d.g + ',' + d.fc.toFixed(2) + ',' + d.y.toFixed(2); }).join('\n'); - c.artifact({ name: 'degs.csv', kind: 'csv', size: '38 KB', by: 'python.run #1', inputs: 'counts.csv, meta.csv', preview: function () { return csvTable(csv); } }); - } }); - var th = { fc: 1, p: 1.3 }, tab = 'volcano', card = h('div', 'rc'); - card.innerHTML = '
    ' + t(L('DATA VIEWER', '数据查看器')) + '

    ' + t(L('Adult vs paediatric liver · differential expression', '成人 vs 儿童肝脏 · 差异表达')) + '

    ' + - '
    ' + - '
    '; - c.add(card, 'asst'); - var view = $('#dview', card), side = $('#dside', card), ctl = $('#dctl', card); - function summary(u, d) { side.innerHTML = '
    ' + t(L('Significant genes', '显著基因')) + '
    ▲ ' + t(L('up in adult', '成人上调')) + '' + u + '
    ▼ ' + t(L('down in adult', '成人下调')) + '' + d + '
    ' + t(L('Hover a point for details.', '悬停数据点查看详情。')) + '
    '; } - var vsvg = null; - function drawV() { - var r = V.drawVolcano(vsvg, data, th, function (d, hit) { var e = $('#dhov', card); if (e) e.innerHTML = '' + d.g + '
    log₂FC ' + d.fc.toFixed(2) + '
    −log₁₀ p ' + d.y.toFixed(2) + (hit ? '' : ' · ' + t(L('below threshold', '未达阈值'))); }, function () {}); - summary(r.up, r.down); - } - function paint() { - view.innerHTML = ''; ctl.innerHTML = ''; - if (tab === 'volcano') { - vsvg = sv('svg', { viewBox: '0 0 560 300' }); view.appendChild(vsvg); - function slider(label, key, min, max, step) { - var l = h('label', '', label + ' ' + th[key].toFixed(1) + ''); - $('input', l).addEventListener('input', function () { th[key] = parseFloat(this.value); $('b', l).textContent = th[key].toFixed(1); drawV(); }); ctl.appendChild(l); - } - slider('|log₂FC| ≥', 'fc', 0, 3, 0.1); slider('−log₁₀ p ≥', 'p', 0, 5, 0.1); - drawV(); - } else { - var s2 = sv('svg', { viewBox: '0 0 560 292' }); view.appendChild(s2); - side.innerHTML = '
    ' + t(L('Top genes (z-score)', '前列基因(z 分数)')) + '
    ' + t(L('Hover a cell for the value.', '悬停单元格查看数值。')) + '
    '; - V.drawHeatmap(s2, function (g, sname, z) { var e = $('#dhov', card); if (e) e.innerHTML = '' + g + ' · ' + sname + '
    z = ' + z.toFixed(2); }); - } - } - $$('.rc-tabs button', card).forEach(function (b) { b.addEventListener('click', function () { tab = b.dataset.t; $$('.rc-tabs button', card).forEach(function (x) { x.classList.toggle('on', x === b); }); paint(); }); }); - paint(); - await c.wait(500); - c.say(t(L('Interferon-response genes (IFNG, STAT1, CXCL10) are up in adults while metabolic genes (ALB, CYP3A4) are down. Drag the sliders to change the thresholds.', '干扰素响应基因(IFNG、STAT1、CXCL10)在成人中上调,代谢基因(ALB、CYP3A4)下调。拖动滑块可调整阈值。'))); - }; - - /* ------------------------------------------------------------------ boot */ - select('lit', false); - var started = false; - if ('IntersectionObserver' in window) { - new IntersectionObserver(function (es) { if (es[0].isIntersecting && !started) { started = true; play(); } }, { threshold: .3 }).observe(root); - } else { play(); } -})(); diff --git a/site/src/media/1ATP.pdb b/site/src/media/1ATP.pdb new file mode 100644 index 0000000..b5c9ecf --- /dev/null +++ b/site/src/media/1ATP.pdb @@ -0,0 +1,3698 @@ +HEADER TRANSFERASE(PHOSPHOTRANSFERASE) 08-JAN-93 1ATP +TITLE 2.2 ANGSTROM REFINED CRYSTAL STRUCTURE OF THE CATALYTIC SUBUNIT OF +TITLE 2 CAMP-DEPENDENT PROTEIN KINASE COMPLEXED WITH MNATP AND A PEPTIDE +TITLE 3 INHIBITOR +COMPND MOL_ID: 1; +COMPND 2 MOLECULE: CAMP-DEPENDENT PROTEIN KINASE; +COMPND 3 CHAIN: E; +COMPND 4 EC: 2.7.1.37; +COMPND 5 ENGINEERED: YES; +COMPND 6 MOL_ID: 2; +COMPND 7 MOLECULE: PEPTIDE INHIBITOR PKI(5-24); +COMPND 8 CHAIN: I; +COMPND 9 ENGINEERED: YES +SOURCE MOL_ID: 1; +SOURCE 2 ORGANISM_SCIENTIFIC: MUS MUSCULUS; +SOURCE 3 ORGANISM_COMMON: HOUSE MOUSE; +SOURCE 4 ORGANISM_TAXID: 10090; +SOURCE 5 MOL_ID: 2; +SOURCE 6 ORGANISM_SCIENTIFIC: MUS MUSCULUS; +SOURCE 7 ORGANISM_COMMON: HOUSE MOUSE; +SOURCE 8 ORGANISM_TAXID: 10090 +KEYWDS TRANSFERASE(PHOSPHOTRANSFERASE) +EXPDTA X-RAY DIFFRACTION +AUTHOR J.ZHENG,E.A.TRAFNY,D.R.KNIGHTON,N.-H.XUONG,S.S.TAYLOR,L.F.TENEYCK, +AUTHOR 2 J.M.SOWADSKI +REVDAT 5 06-NOV-24 1ATP 1 REMARK LINK +REVDAT 4 14-AUG-19 1ATP 1 REMARK +REVDAT 3 17-JUL-19 1ATP 1 REMARK LINK +REVDAT 2 24-FEB-09 1ATP 1 VERSN +REVDAT 1 15-APR-93 1ATP 0 +JRNL AUTH J.ZHENG,E.A.TRAFNY,D.R.KNIGHTON,N.H.XUONG,S.S.TAYLOR, +JRNL AUTH 2 L.F.TEN EYCK,J.M.SOWADSKI +JRNL TITL 2.2 A REFINED CRYSTAL STRUCTURE OF THE CATALYTIC SUBUNIT OF +JRNL TITL 2 CAMP-DEPENDENT PROTEIN KINASE COMPLEXED WITH MNATP AND A +JRNL TITL 3 PEPTIDE INHIBITOR. +JRNL REF ACTA CRYSTALLOGR.,SECT.D V. 49 362 1993 +JRNL REFN ISSN 0907-4449 +JRNL PMID 15299527 +JRNL DOI 10.1107/S0907444993000423 +REMARK 1 +REMARK 1 REFERENCE 1 +REMARK 1 AUTH D.R.KNIGHTON,S.M.BELL,J.ZHENG,L.F.TENEYCK,N.-H.XUONG, +REMARK 1 AUTH 2 S.S.TAYLOR,J.M.SOWADSKI +REMARK 1 TITL 2.0 ANGSTROM REFINED CRYSTAL STRUCTURE OF THE CATALYTIC +REMARK 1 TITL 2 SUBUNIT OF CAMP-DEPENDENT PROTEIN KINASE COMPLEXED WITH A +REMARK 1 TITL 3 PEPTIDE INHIBITOR AND DETERGENT +REMARK 1 REF TO BE PUBLISHED +REMARK 1 REFN +REMARK 1 REFERENCE 2 +REMARK 1 AUTH J.ZHENG,D.R.KNIGHTON,L.F.TENEYCK,R.KARLSSON,N.-H.XUONG, +REMARK 1 AUTH 2 S.S.TAYLOR,J.M.SOWADSKI +REMARK 1 TITL CRYSTAL STRUCTURE OF THE CATALYTIC SUBUNIT OF CAMP-DEPENDENT +REMARK 1 TITL 2 PROTEIN KINASE COMPLEXED WITH MG/ATP AND PEPTIDE INHIBITOR +REMARK 1 REF BIOCHEMISTRY V. 32 2154 1993 +REMARK 1 REFN ISSN 0006-2960 +REMARK 1 REFERENCE 3 +REMARK 1 AUTH D.R.KNIGHTON,J.ZHENG,L.F.TENEYCK,V.A.XUONG,N.-H.ASHFORD, +REMARK 1 AUTH 2 S.S.TAYLOR,J.M.SOWADSKI +REMARK 1 TITL CRYSTAL STRUCTURE OF THE CATALYTIC SUBUNIT OF CYCLIC +REMARK 1 TITL 2 ADENOSINE MONOPHOSPHATE-DEPENDENT PROTEIN KINASE +REMARK 1 REF SCIENCE V. 253 407 1991 +REMARK 1 REFN ISSN 0036-8075 +REMARK 1 REFERENCE 4 +REMARK 1 AUTH D.R.KNIGHTON,J.ZHENG,L.F.TENEYCK,N.-H.XUONG,S.S.TAYLOR, +REMARK 1 AUTH 2 J.M.SOWADSKI +REMARK 1 TITL STRUCTURE OF A PEPTIDE INHIBITOR BOUND TO THE CATALYTIC +REMARK 1 TITL 2 SUBUNIT OF CYCLIC ADENOSINE MONOPHOSPHATE-DEPENDENT PROTEIN +REMARK 1 TITL 3 KINASE +REMARK 1 REF SCIENCE V. 253 414 1991 +REMARK 1 REFN ISSN 0036-8075 +REMARK 1 REFERENCE 5 +REMARK 1 AUTH L.W.SLICE,S.S.TAYLOR +REMARK 1 TITL EXPRESSION OF THE CATALYTIC SUBUNIT OF C/AMP-DEPENDENT +REMARK 1 TITL 2 PROTEIN KINASE IN ESCHERICHIA COLI +REMARK 1 REF J.BIOL.CHEM. V. 264 20940 1989 +REMARK 1 REFN ISSN 0021-9258 +REMARK 2 +REMARK 2 RESOLUTION. 2.20 ANGSTROMS. +REMARK 3 +REMARK 3 REFINEMENT. +REMARK 3 PROGRAM : TNT +REMARK 3 AUTHORS : TRONRUD,TEN EYCK,MATTHEWS +REMARK 3 +REMARK 3 DATA USED IN REFINEMENT. +REMARK 3 RESOLUTION RANGE HIGH (ANGSTROMS) : 2.20 +REMARK 3 RESOLUTION RANGE LOW (ANGSTROMS) : 10.00 +REMARK 3 DATA CUTOFF (SIGMA(F)) : 2.000 +REMARK 3 COMPLETENESS FOR RANGE (%) : NULL +REMARK 3 NUMBER OF REFLECTIONS : NULL +REMARK 3 +REMARK 3 USING DATA ABOVE SIGMA CUTOFF. +REMARK 3 CROSS-VALIDATION METHOD : NULL +REMARK 3 FREE R VALUE TEST SET SELECTION : NULL +REMARK 3 R VALUE (WORKING + TEST SET) : NULL +REMARK 3 R VALUE (WORKING SET) : 0.177 +REMARK 3 FREE R VALUE : NULL +REMARK 3 FREE R VALUE TEST SET SIZE (%) : NULL +REMARK 3 FREE R VALUE TEST SET COUNT : NULL +REMARK 3 +REMARK 3 USING ALL DATA, NO SIGMA CUTOFF. +REMARK 3 R VALUE (WORKING + TEST SET, NO CUTOFF) : NULL +REMARK 3 R VALUE (WORKING SET, NO CUTOFF) : NULL +REMARK 3 FREE R VALUE (NO CUTOFF) : NULL +REMARK 3 FREE R VALUE TEST SET SIZE (%, NO CUTOFF) : NULL +REMARK 3 FREE R VALUE TEST SET COUNT (NO CUTOFF) : NULL +REMARK 3 TOTAL NUMBER OF REFLECTIONS (NO CUTOFF) : NULL +REMARK 3 +REMARK 3 NUMBER OF NON-HYDROGEN ATOMS USED IN REFINEMENT. +REMARK 3 PROTEIN ATOMS : 2934 +REMARK 3 NUCLEIC ACID ATOMS : 0 +REMARK 3 HETEROGEN ATOMS : 33 +REMARK 3 SOLVENT ATOMS : 103 +REMARK 3 +REMARK 3 WILSON B VALUE (FROM FCALC, A**2) : NULL +REMARK 3 +REMARK 3 RMS DEVIATIONS FROM IDEAL VALUES. RMS WEIGHT COUNT +REMARK 3 BOND LENGTHS (A) : NULL ; NULL ; NULL +REMARK 3 BOND ANGLES (DEGREES) : NULL ; NULL ; NULL +REMARK 3 TORSION ANGLES (DEGREES) : NULL ; NULL ; NULL +REMARK 3 PSEUDOROTATION ANGLES (DEGREES) : NULL ; NULL ; NULL +REMARK 3 TRIGONAL CARBON PLANES (A) : NULL ; NULL ; NULL +REMARK 3 GENERAL PLANES (A) : NULL ; NULL ; NULL +REMARK 3 ISOTROPIC THERMAL FACTORS (A**2) : NULL ; NULL ; NULL +REMARK 3 NON-BONDED CONTACTS (A) : NULL ; NULL ; NULL +REMARK 3 +REMARK 3 INCORRECT CHIRAL-CENTERS (COUNT) : NULL +REMARK 3 +REMARK 3 BULK SOLVENT MODELING. +REMARK 3 METHOD USED : NULL +REMARK 3 KSOL : NULL +REMARK 3 BSOL : NULL +REMARK 3 +REMARK 3 RESTRAINT LIBRARIES. +REMARK 3 STEREOCHEMISTRY : NULL +REMARK 3 ISOTROPIC THERMAL FACTOR RESTRAINTS : NULL +REMARK 3 +REMARK 3 OTHER REFINEMENT REMARKS: NULL +REMARK 4 +REMARK 4 1ATP COMPLIES WITH FORMAT V. 3.30, 13-JUL-11 +REMARK 100 +REMARK 100 THIS ENTRY HAS BEEN PROCESSED BY BNL. +REMARK 100 THE DEPOSITION ID IS D_1000171245. +REMARK 200 +REMARK 200 EXPERIMENTAL DETAILS +REMARK 200 EXPERIMENT TYPE : X-RAY DIFFRACTION +REMARK 200 DATE OF DATA COLLECTION : NULL +REMARK 200 TEMPERATURE (KELVIN) : NULL +REMARK 200 PH : NULL +REMARK 200 NUMBER OF CRYSTALS USED : NULL +REMARK 200 +REMARK 200 SYNCHROTRON (Y/N) : NULL +REMARK 200 RADIATION SOURCE : NULL +REMARK 200 BEAMLINE : NULL +REMARK 200 X-RAY GENERATOR MODEL : NULL +REMARK 200 MONOCHROMATIC OR LAUE (M/L) : NULL +REMARK 200 WAVELENGTH OR RANGE (A) : NULL +REMARK 200 MONOCHROMATOR : NULL +REMARK 200 OPTICS : NULL +REMARK 200 +REMARK 200 DETECTOR TYPE : NULL +REMARK 200 DETECTOR MANUFACTURER : NULL +REMARK 200 INTENSITY-INTEGRATION SOFTWARE : NULL +REMARK 200 DATA SCALING SOFTWARE : NULL +REMARK 200 +REMARK 200 NUMBER OF UNIQUE REFLECTIONS : NULL +REMARK 200 RESOLUTION RANGE HIGH (A) : NULL +REMARK 200 RESOLUTION RANGE LOW (A) : NULL +REMARK 200 REJECTION CRITERIA (SIGMA(I)) : NULL +REMARK 200 +REMARK 200 OVERALL. +REMARK 200 COMPLETENESS FOR RANGE (%) : NULL +REMARK 200 DATA REDUNDANCY : NULL +REMARK 200 R MERGE (I) : NULL +REMARK 200 R SYM (I) : NULL +REMARK 200 FOR THE DATA SET : NULL +REMARK 200 +REMARK 200 IN THE HIGHEST RESOLUTION SHELL. +REMARK 200 HIGHEST RESOLUTION SHELL, RANGE HIGH (A) : NULL +REMARK 200 HIGHEST RESOLUTION SHELL, RANGE LOW (A) : NULL +REMARK 200 COMPLETENESS FOR SHELL (%) : NULL +REMARK 200 DATA REDUNDANCY IN SHELL : NULL +REMARK 200 R MERGE FOR SHELL (I) : NULL +REMARK 200 R SYM FOR SHELL (I) : NULL +REMARK 200 FOR SHELL : NULL +REMARK 200 +REMARK 200 DIFFRACTION PROTOCOL: NULL +REMARK 200 METHOD USED TO DETERMINE THE STRUCTURE: NULL +REMARK 200 SOFTWARE USED: X-PLOR +REMARK 200 STARTING MODEL: NULL +REMARK 200 +REMARK 200 REMARK: NULL +REMARK 280 +REMARK 280 CRYSTAL +REMARK 280 SOLVENT CONTENT, VS (%): 53.51 +REMARK 280 MATTHEWS COEFFICIENT, VM (ANGSTROMS**3/DA): 2.65 +REMARK 280 +REMARK 280 CRYSTALLIZATION CONDITIONS: NULL +REMARK 290 +REMARK 290 CRYSTALLOGRAPHIC SYMMETRY +REMARK 290 SYMMETRY OPERATORS FOR SPACE GROUP: P 21 21 21 +REMARK 290 +REMARK 290 SYMOP SYMMETRY +REMARK 290 NNNMMM OPERATOR +REMARK 290 1555 X,Y,Z +REMARK 290 2555 -X+1/2,-Y,Z+1/2 +REMARK 290 3555 -X,Y+1/2,-Z+1/2 +REMARK 290 4555 X+1/2,-Y+1/2,-Z +REMARK 290 +REMARK 290 WHERE NNN -> OPERATOR NUMBER +REMARK 290 MMM -> TRANSLATION VECTOR +REMARK 290 +REMARK 290 CRYSTALLOGRAPHIC SYMMETRY TRANSFORMATIONS +REMARK 290 THE FOLLOWING TRANSFORMATIONS OPERATE ON THE ATOM/HETATM +REMARK 290 RECORDS IN THIS ENTRY TO PRODUCE CRYSTALLOGRAPHICALLY +REMARK 290 RELATED MOLECULES. +REMARK 290 SMTRY1 1 1.000000 0.000000 0.000000 0.00000 +REMARK 290 SMTRY2 1 0.000000 1.000000 0.000000 0.00000 +REMARK 290 SMTRY3 1 0.000000 0.000000 1.000000 0.00000 +REMARK 290 SMTRY1 2 -1.000000 0.000000 0.000000 36.79000 +REMARK 290 SMTRY2 2 0.000000 -1.000000 0.000000 0.00000 +REMARK 290 SMTRY3 2 0.000000 0.000000 1.000000 40.29000 +REMARK 290 SMTRY1 3 -1.000000 0.000000 0.000000 0.00000 +REMARK 290 SMTRY2 3 0.000000 1.000000 0.000000 38.14000 +REMARK 290 SMTRY3 3 0.000000 0.000000 -1.000000 40.29000 +REMARK 290 SMTRY1 4 1.000000 0.000000 0.000000 36.79000 +REMARK 290 SMTRY2 4 0.000000 -1.000000 0.000000 38.14000 +REMARK 290 SMTRY3 4 0.000000 0.000000 -1.000000 0.00000 +REMARK 290 +REMARK 290 REMARK: NULL +REMARK 300 +REMARK 300 BIOMOLECULE: 1 +REMARK 300 SEE REMARK 350 FOR THE AUTHOR PROVIDED AND/OR PROGRAM +REMARK 300 GENERATED ASSEMBLY INFORMATION FOR THE STRUCTURE IN +REMARK 300 THIS ENTRY. THE REMARK MAY ALSO PROVIDE INFORMATION ON +REMARK 300 BURIED SURFACE AREA. +REMARK 350 +REMARK 350 COORDINATES FOR A COMPLETE MULTIMER REPRESENTING THE KNOWN +REMARK 350 BIOLOGICALLY SIGNIFICANT OLIGOMERIZATION STATE OF THE +REMARK 350 MOLECULE CAN BE GENERATED BY APPLYING BIOMT TRANSFORMATIONS +REMARK 350 GIVEN BELOW. BOTH NON-CRYSTALLOGRAPHIC AND +REMARK 350 CRYSTALLOGRAPHIC OPERATIONS ARE GIVEN. +REMARK 350 +REMARK 350 BIOMOLECULE: 1 +REMARK 350 AUTHOR DETERMINED BIOLOGICAL UNIT: DIMERIC +REMARK 350 SOFTWARE DETERMINED QUATERNARY STRUCTURE: DIMERIC +REMARK 350 SOFTWARE USED: PISA +REMARK 350 TOTAL BURIED SURFACE AREA: 3770 ANGSTROM**2 +REMARK 350 SURFACE AREA OF THE COMPLEX: 15170 ANGSTROM**2 +REMARK 350 CHANGE IN SOLVENT FREE ENERGY: -14.0 KCAL/MOL +REMARK 350 APPLY THE FOLLOWING TO CHAINS: E, I +REMARK 350 BIOMT1 1 1.000000 0.000000 0.000000 0.00000 +REMARK 350 BIOMT2 1 0.000000 1.000000 0.000000 0.00000 +REMARK 350 BIOMT3 1 0.000000 0.000000 1.000000 0.00000 +REMARK 465 +REMARK 465 MISSING RESIDUES +REMARK 465 THE FOLLOWING RESIDUES WERE NOT LOCATED IN THE +REMARK 465 EXPERIMENT. (M=MODEL NUMBER; RES=RESIDUE NAME; C=CHAIN +REMARK 465 IDENTIFIER; SSSEQ=SEQUENCE NUMBER; I=INSERTION CODE.) +REMARK 465 +REMARK 465 M RES C SSSEQI +REMARK 465 GLY E 1 +REMARK 465 ASN E 2 +REMARK 465 ALA E 3 +REMARK 465 ALA E 4 +REMARK 465 ALA E 5 +REMARK 465 ALA E 6 +REMARK 465 LYS E 7 +REMARK 465 LYS E 8 +REMARK 465 GLY E 9 +REMARK 465 SER E 10 +REMARK 465 GLU E 11 +REMARK 465 GLN E 12 +REMARK 465 GLU E 13 +REMARK 465 SER E 14 +REMARK 500 +REMARK 500 GEOMETRY AND STEREOCHEMISTRY +REMARK 500 SUBTOPIC: CLOSE CONTACTS IN SAME ASYMMETRIC UNIT +REMARK 500 +REMARK 500 THE FOLLOWING ATOMS ARE IN CLOSE CONTACT. +REMARK 500 +REMARK 500 ATM1 RES C SSEQI ATM2 RES C SSEQI DISTANCE +REMARK 500 O TYR E 164 O HOH E 424 1.14 +REMARK 500 O ARG E 165 N ASP E 166 1.78 +REMARK 500 ND2 ASN E 326 O HOH E 605 1.95 +REMARK 500 C TYR E 164 O HOH E 424 2.10 +REMARK 500 +REMARK 500 REMARK: NULL +REMARK 500 +REMARK 500 GEOMETRY AND STEREOCHEMISTRY +REMARK 500 SUBTOPIC: COVALENT BOND LENGTHS +REMARK 500 +REMARK 500 THE STEREOCHEMICAL PARAMETERS OF THE FOLLOWING RESIDUES +REMARK 500 HAVE VALUES WHICH DEVIATE FROM EXPECTED VALUES BY MORE +REMARK 500 THAN 6*RMSD (M=MODEL NUMBER; RES=RESIDUE NAME; C=CHAIN +REMARK 500 IDENTIFIER; SSEQ=SEQUENCE NUMBER; I=INSERTION CODE). +REMARK 500 +REMARK 500 STANDARD TABLE: +REMARK 500 FORMAT: (10X,I3,1X,2(A3,1X,A1,I4,A1,1X,A4,3X),1X,F6.3) +REMARK 500 +REMARK 500 EXPECTED VALUES PROTEIN: ENGH AND HUBER, 1999 +REMARK 500 EXPECTED VALUES NUCLEIC ACID: CLOWNEY ET AL 1996 +REMARK 500 +REMARK 500 M RES CSSEQI ATM1 RES CSSEQI ATM2 DEVIATION +REMARK 500 GLU E 17 CD GLU E 17 OE2 0.073 +REMARK 500 GLU E 24 CD GLU E 24 OE2 0.068 +REMARK 500 GLU E 31 CD GLU E 31 OE1 0.067 +REMARK 500 GLU E 64 CD GLU E 64 OE2 0.069 +REMARK 500 GLU E 91 CD GLU E 91 OE2 -0.068 +REMARK 500 GLU E 140 CD GLU E 140 OE2 0.067 +REMARK 500 ARG E 165 C ASP E 166 N -0.199 +REMARK 500 GLU E 170 CD GLU E 170 OE2 0.085 +REMARK 500 GLU E 203 CD GLU E 203 OE2 0.082 +REMARK 500 GLU E 248 CD GLU E 248 OE1 0.071 +REMARK 500 GLU E 331 CD GLU E 331 OE2 0.072 +REMARK 500 GLU E 333 CD GLU E 333 OE2 0.075 +REMARK 500 +REMARK 500 REMARK: NULL +REMARK 500 +REMARK 500 GEOMETRY AND STEREOCHEMISTRY +REMARK 500 SUBTOPIC: COVALENT BOND ANGLES +REMARK 500 +REMARK 500 THE STEREOCHEMICAL PARAMETERS OF THE FOLLOWING RESIDUES +REMARK 500 HAVE VALUES WHICH DEVIATE FROM EXPECTED VALUES BY MORE +REMARK 500 THAN 6*RMSD (M=MODEL NUMBER; RES=RESIDUE NAME; C=CHAIN +REMARK 500 IDENTIFIER; SSEQ=SEQUENCE NUMBER; I=INSERTION CODE). +REMARK 500 +REMARK 500 STANDARD TABLE: +REMARK 500 FORMAT: (10X,I3,1X,A3,1X,A1,I4,A1,3(1X,A4,2X),12X,F5.1) +REMARK 500 +REMARK 500 EXPECTED VALUES PROTEIN: ENGH AND HUBER, 1999 +REMARK 500 EXPECTED VALUES NUCLEIC ACID: CLOWNEY ET AL 1996 +REMARK 500 +REMARK 500 M RES CSSEQI ATM1 ATM2 ATM3 +REMARK 500 ASP E 44 CB - CG - OD1 ANGL. DEV. = 6.5 DEGREES +REMARK 500 ASP E 44 CB - CG - OD2 ANGL. DEV. = -6.6 DEGREES +REMARK 500 ARG E 56 NE - CZ - NH1 ANGL. DEV. = -4.2 DEGREES +REMARK 500 ASP E 75 CB - CG - OD2 ANGL. DEV. = 5.5 DEGREES +REMARK 500 ASP E 112 CB - CG - OD2 ANGL. DEV. = -6.3 DEGREES +REMARK 500 ARG E 137 NE - CZ - NH1 ANGL. DEV. = 3.0 DEGREES +REMARK 500 ASP E 161 CB - CG - OD1 ANGL. DEV. = -6.4 DEGREES +REMARK 500 ASP E 161 CB - CG - OD2 ANGL. DEV. = 5.6 DEGREES +REMARK 500 ARG E 165 NE - CZ - NH2 ANGL. DEV. = 3.7 DEGREES +REMARK 500 ARG E 165 CA - C - N ANGL. DEV. = 23.8 DEGREES +REMARK 500 ARG E 165 O - C - N ANGL. DEV. = -25.8 DEGREES +REMARK 500 ASP E 166 CA - C - N ANGL. DEV. = -13.9 DEGREES +REMARK 500 ARG E 194 NE - CZ - NH1 ANGL. DEV. = 3.4 DEGREES +REMARK 500 ASP E 241 CB - CG - OD2 ANGL. DEV. = -5.9 DEGREES +REMARK 500 ASP E 267 CB - CG - OD1 ANGL. DEV. = -7.4 DEGREES +REMARK 500 ASP E 290 CB - CG - OD1 ANGL. DEV. = -5.5 DEGREES +REMARK 500 LYS E 317 N - CA - CB ANGL. DEV. = 11.3 DEGREES +REMARK 500 ARG I 18 NE - CZ - NH1 ANGL. DEV. = 3.7 DEGREES +REMARK 500 ASP I 24 CB - CG - OD1 ANGL. DEV. = -5.9 DEGREES +REMARK 500 +REMARK 500 REMARK: NULL +REMARK 500 +REMARK 500 GEOMETRY AND STEREOCHEMISTRY +REMARK 500 SUBTOPIC: TORSION ANGLES +REMARK 500 +REMARK 500 TORSION ANGLES OUTSIDE THE EXPECTED RAMACHANDRAN REGIONS: +REMARK 500 (M=MODEL NUMBER; RES=RESIDUE NAME; C=CHAIN IDENTIFIER; +REMARK 500 SSEQ=SEQUENCE NUMBER; I=INSERTION CODE). +REMARK 500 +REMARK 500 STANDARD TABLE: +REMARK 500 FORMAT:(10X,I3,1X,A3,1X,A1,I4,A1,4X,F7.2,3X,F7.2) +REMARK 500 +REMARK 500 EXPECTED VALUES: GJ KLEYWEGT AND TA JONES (1996). PHI/PSI- +REMARK 500 CHOLOGY: RAMACHANDRAN REVISITED. STRUCTURE 4, 1395 - 1400 +REMARK 500 +REMARK 500 M RES CSSEQI PSI PHI +REMARK 500 ASN E 36 75.09 29.48 +REMARK 500 ILE E 46 -86.36 -107.73 +REMARK 500 ARG E 165 19.16 51.81 +REMARK 500 ASP E 166 76.02 -157.62 +REMARK 500 THR E 183 -165.60 -105.27 +REMARK 500 ASP E 184 87.06 48.73 +REMARK 500 PRO E 202 -60.76 -24.26 +REMARK 500 LEU E 273 45.13 -94.84 +REMARK 500 LEU E 277 -2.74 -55.75 +REMARK 500 GLU E 311 99.60 -64.65 +REMARK 500 LYS E 342 -60.79 -90.98 +REMARK 500 HIS I 23 -136.73 -144.46 +REMARK 500 +REMARK 500 REMARK: NULL +REMARK 500 +REMARK 500 GEOMETRY AND STEREOCHEMISTRY +REMARK 500 SUBTOPIC: MAIN CHAIN PLANARITY +REMARK 500 +REMARK 500 THE FOLLOWING RESIDUES HAVE A PSEUDO PLANARITY +REMARK 500 TORSION ANGLE, C(I) - CA(I) - N(I+1) - O(I), GREATER +REMARK 500 10.0 DEGREES. (M=MODEL NUMBER; RES=RESIDUE NAME; +REMARK 500 C=CHAIN IDENTIFIER; SSEQ=SEQUENCE NUMBER; +REMARK 500 I=INSERTION CODE). +REMARK 500 +REMARK 500 M RES CSSEQI ANGLE +REMARK 500 ARG E 165 -10.44 +REMARK 500 ASP E 166 -23.89 +REMARK 500 +REMARK 500 REMARK: NULL +REMARK 600 +REMARK 600 HETEROGEN +REMARK 600 +REMARK 600 INHIBITOR RESIDUE NUMBERING CORRESPONDS TO NUMBERS FROM +REMARK 600 THE SEQUENCE OF THE LARGER NATURALLY OCCURRING PKI PROTEIN +REMARK 600 OF WHICH THE INHIBITOR IS A SYNTHETIC FRAGMENT. +REMARK 620 +REMARK 620 METAL COORDINATION +REMARK 620 (M=MODEL NUMBER; RES=RESIDUE NAME; C=CHAIN IDENTIFIER; +REMARK 620 SSEQ=SEQUENCE NUMBER; I=INSERTION CODE): +REMARK 620 +REMARK 620 COORDINATION ANGLES FOR: M RES CSSEQI METAL +REMARK 620 MN E 352 MN +REMARK 620 N RES CSSEQI ATOM +REMARK 620 1 ASN E 171 OD1 +REMARK 620 2 ASP E 184 OD2 95.6 +REMARK 620 3 ATP E 355 O2G 116.5 87.1 +REMARK 620 4 ATP E 355 O2A 116.2 89.3 127.3 +REMARK 620 5 HOH E 635 O 96.1 167.9 84.9 88.4 +REMARK 620 N 1 2 3 4 +REMARK 620 +REMARK 620 COORDINATION ANGLES FOR: M RES CSSEQI METAL +REMARK 620 MN E 351 MN +REMARK 620 N RES CSSEQI ATOM +REMARK 620 1 ASP E 184 OD2 +REMARK 620 2 ASP E 184 OD1 59.5 +REMARK 620 3 ATP E 355 O1B 80.7 80.5 +REMARK 620 4 ATP E 355 O3G 89.9 149.1 91.2 +REMARK 620 5 HOH E 447 O 92.7 90.8 170.9 95.1 +REMARK 620 6 HOH E 477 O 152.7 93.7 90.4 116.2 92.6 +REMARK 620 N 1 2 3 4 5 +REMARK 800 +REMARK 800 SITE +REMARK 800 SITE_IDENTIFIER: AC4 +REMARK 800 EVIDENCE_CODE: NULL +REMARK 800 SITE_DESCRIPTION: NULL +REMARK 800 +REMARK 800 SITE_IDENTIFIER: AC5 +REMARK 800 EVIDENCE_CODE: NULL +REMARK 800 SITE_DESCRIPTION: NULL +REMARK 800 +REMARK 800 SITE_IDENTIFIER: AC1 +REMARK 800 EVIDENCE_CODE: SOFTWARE +REMARK 800 SITE_DESCRIPTION: BINDING SITE FOR RESIDUE MN E 351 +REMARK 800 +REMARK 800 SITE_IDENTIFIER: AC2 +REMARK 800 EVIDENCE_CODE: SOFTWARE +REMARK 800 SITE_DESCRIPTION: BINDING SITE FOR RESIDUE MN E 352 +REMARK 800 +REMARK 800 SITE_IDENTIFIER: AC3 +REMARK 800 EVIDENCE_CODE: SOFTWARE +REMARK 800 SITE_DESCRIPTION: BINDING SITE FOR RESIDUE ATP E 355 +DBREF 1ATP E 1 350 UNP P05132 KAPCA_MOUSE 1 350 +DBREF 1ATP I 5 24 UNP P63248 IPKA_MOUSE 5 24 +SEQRES 1 E 350 GLY ASN ALA ALA ALA ALA LYS LYS GLY SER GLU GLN GLU +SEQRES 2 E 350 SER VAL LYS GLU PHE LEU ALA LYS ALA LYS GLU ASP PHE +SEQRES 3 E 350 LEU LYS LYS TRP GLU THR PRO SER GLN ASN THR ALA GLN +SEQRES 4 E 350 LEU ASP GLN PHE ASP ARG ILE LYS THR LEU GLY THR GLY +SEQRES 5 E 350 SER PHE GLY ARG VAL MET LEU VAL LYS HIS LYS GLU SER +SEQRES 6 E 350 GLY ASN HIS TYR ALA MET LYS ILE LEU ASP LYS GLN LYS +SEQRES 7 E 350 VAL VAL LYS LEU LYS GLN ILE GLU HIS THR LEU ASN GLU +SEQRES 8 E 350 LYS ARG ILE LEU GLN ALA VAL ASN PHE PRO PHE LEU VAL +SEQRES 9 E 350 LYS LEU GLU PHE SER PHE LYS ASP ASN SER ASN LEU TYR +SEQRES 10 E 350 MET VAL MET GLU TYR VAL ALA GLY GLY GLU MET PHE SER +SEQRES 11 E 350 HIS LEU ARG ARG ILE GLY ARG PHE SER GLU PRO HIS ALA +SEQRES 12 E 350 ARG PHE TYR ALA ALA GLN ILE VAL LEU THR PHE GLU TYR +SEQRES 13 E 350 LEU HIS SER LEU ASP LEU ILE TYR ARG ASP LEU LYS PRO +SEQRES 14 E 350 GLU ASN LEU LEU ILE ASP GLN GLN GLY TYR ILE GLN VAL +SEQRES 15 E 350 THR ASP PHE GLY PHE ALA LYS ARG VAL LYS GLY ARG THR +SEQRES 16 E 350 TRP TPO LEU CYS GLY THR PRO GLU TYR LEU ALA PRO GLU +SEQRES 17 E 350 ILE ILE LEU SER LYS GLY TYR ASN LYS ALA VAL ASP TRP +SEQRES 18 E 350 TRP ALA LEU GLY VAL LEU ILE TYR GLU MET ALA ALA GLY +SEQRES 19 E 350 TYR PRO PRO PHE PHE ALA ASP GLN PRO ILE GLN ILE TYR +SEQRES 20 E 350 GLU LYS ILE VAL SER GLY LYS VAL ARG PHE PRO SER HIS +SEQRES 21 E 350 PHE SER SER ASP LEU LYS ASP LEU LEU ARG ASN LEU LEU +SEQRES 22 E 350 GLN VAL ASP LEU THR LYS ARG PHE GLY ASN LEU LYS ASN +SEQRES 23 E 350 GLY VAL ASN ASP ILE LYS ASN HIS LYS TRP PHE ALA THR +SEQRES 24 E 350 THR ASP TRP ILE ALA ILE TYR GLN ARG LYS VAL GLU ALA +SEQRES 25 E 350 PRO PHE ILE PRO LYS PHE LYS GLY PRO GLY ASP THR SER +SEQRES 26 E 350 ASN PHE ASP ASP TYR GLU GLU GLU GLU ILE ARG VAL SEP +SEQRES 27 E 350 ILE ASN GLU LYS CYS GLY LYS GLU PHE THR GLU PHE +SEQRES 1 I 20 THR THR TYR ALA ASP PHE ILE ALA SER GLY ARG THR GLY +SEQRES 2 I 20 ARG ARG ASN ALA ILE HIS ASP +MODRES 1ATP TPO E 197 THR PHOSPHOTHREONINE +MODRES 1ATP SEP E 338 SER PHOSPHOSERINE +HET TPO E 197 11 +HET SEP E 338 10 +HET MN E 351 1 +HET MN E 352 1 +HET ATP E 355 31 +HETNAM TPO PHOSPHOTHREONINE +HETNAM SEP PHOSPHOSERINE +HETNAM MN MANGANESE (II) ION +HETNAM ATP ADENOSINE-5'-TRIPHOSPHATE +HETSYN TPO PHOSPHONOTHREONINE +HETSYN SEP PHOSPHONOSERINE +FORMUL 1 TPO C4 H10 N O6 P +FORMUL 1 SEP C3 H8 N O6 P +FORMUL 3 MN 2(MN 2+) +FORMUL 5 ATP C10 H16 N5 O13 P3 +FORMUL 6 HOH *103(H2 O) +HELIX 1 A LYS E 16 GLU E 31 1 16 +HELIX 2 AB LEU E 40 GLN E 42 5NOT NOTED IN REF 3 3 +HELIX 3 B LYS E 76 LYS E 81 1 6 +HELIX 4 C ILE E 85 ALA E 97 1 13 +HELIX 5 D MET E 128 ILE E 135 1 8 +HELIX 6 E GLU E 140 SER E 159 1 20 +HELIX 7 EF0 PRO E 169 ASN E 171 5NOT NOTED IN REF 3 3 +HELIX 8 EF1 PRO E 202 TYR E 204 5NOT NOTED IN REF 3 3 +HELIX 9 EF2 PRO E 207 ILE E 210 1NOT NOTED IN REF 3 4 +HELIX 10 F ALA E 218 ALA E 233 1 16 +HELIX 11 G PRO E 243 SER E 252 1 10 +HELIX 12 H SER E 263 LEU E 272 1 10 +HELIX 13 I ASN E 289 LYS E 292 1 4 +HELIX 14 IJ LYS E 295 PHE E 297 5NOT NOTED IN REF 3 3 +HELIX 15 J TRP E 302 TYR E 306 1 5 +HELIX 16 IA THR I 6 ILE I 11 1INHIBITOR N-TERMINAL HELIX 6 +SHEET 1 A 5 PHE E 43 THR E 51 0 +SHEET 2 A 5 ARG E 56 HIS E 62 -1 +SHEET 3 A 5 ASN E 67 ASP E 75 -1 +SHEET 4 A 5 ASN E 115 MET E 120 -1 +SHEET 5 A 5 LEU E 106 LYS E 111 -1 +SHEET 1 B 2 LEU E 162 ILE E 163 0 +SHEET 2 B 2 LEU E 172 ILE E 174 -1 +SHEET 1 C 2 ILE E 180 VAL E 182 0 +SHEET 2 C 2 LYS E 189 ARG E 190 -1 +LINK C TRP E 196 N TPO E 197 1555 1555 1.32 +LINK C TPO E 197 N LEU E 198 1555 1555 1.30 +LINK C VAL E 337 N SEP E 338 1555 1555 1.32 +LINK C SEP E 338 N ILE E 339 1555 1555 1.33 +LINK OD1 ASN E 171 MN MN E 352 1555 1555 2.09 +LINK OD2 ASP E 184 MN MN E 351 1555 1555 2.19 +LINK OD1 ASP E 184 MN MN E 351 1555 1555 2.35 +LINK OD2 ASP E 184 MN MN E 352 1555 1555 2.14 +LINK MN MN E 351 O1B ATP E 355 1555 1555 2.18 +LINK MN MN E 351 O3G ATP E 355 1555 1555 2.05 +LINK MN MN E 351 O HOH E 447 1555 1555 2.15 +LINK MN MN E 351 O HOH E 477 1555 1555 1.85 +LINK MN MN E 352 O2G ATP E 355 1555 1555 2.21 +LINK MN MN E 352 O2A ATP E 355 1555 1555 1.99 +LINK MN MN E 352 O HOH E 635 1555 1555 2.08 +SITE 1 AC4 5 HIS E 87 ARG E 165 LYS E 189 THR E 195 +SITE 2 AC4 5 HOH E 450 +SITE 1 AC5 2 ASN E 340 HOH E 588 +SITE 1 AC1 4 ASP E 184 ATP E 355 HOH E 447 HOH E 477 +SITE 1 AC2 4 ASN E 171 ASP E 184 ATP E 355 HOH E 635 +SITE 1 AC3 26 THR E 51 GLY E 52 SER E 53 PHE E 54 +SITE 2 AC3 26 GLY E 55 VAL E 57 ALA E 70 LYS E 72 +SITE 3 AC3 26 VAL E 104 GLU E 121 VAL E 123 GLU E 127 +SITE 4 AC3 26 LYS E 168 GLU E 170 ASN E 171 LEU E 173 +SITE 5 AC3 26 THR E 183 ASP E 184 PHE E 327 MN E 351 +SITE 6 AC3 26 MN E 352 HOH E 447 HOH E 477 HOH E 635 +SITE 7 AC3 26 ARG I 18 ALA I 21 +CRYST1 73.580 76.280 80.580 90.00 90.00 90.00 P 21 21 21 4 +ORIGX1 1.000000 0.000000 0.000000 0.00000 +ORIGX2 0.000000 1.000000 0.000000 0.00000 +ORIGX3 0.000000 0.000000 1.000000 0.00000 +SCALE1 0.013591 0.000000 0.000000 0.00000 +SCALE2 0.000000 0.013110 0.000000 0.00000 +SCALE3 0.000000 0.000000 0.012410 0.00000 +ATOM 1 N VAL E 15 -6.512 -12.177 -13.595 1.00 64.39 N +ATOM 2 CA VAL E 15 -5.276 -11.431 -13.476 1.00 47.83 C +ATOM 3 C VAL E 15 -4.815 -10.815 -14.785 1.00 35.56 C +ATOM 4 O VAL E 15 -4.806 -9.592 -14.904 1.00 99.02 O +ATOM 5 CB VAL E 15 -4.193 -12.092 -12.629 1.00100.00 C +ATOM 6 CG1 VAL E 15 -2.823 -11.529 -12.987 1.00 50.97 C +ATOM 7 CG2 VAL E 15 -4.494 -11.830 -11.149 1.00 35.72 C +ATOM 8 N LYS E 16 -4.475 -11.641 -15.778 1.00 35.94 N +ATOM 9 CA LYS E 16 -4.060 -11.108 -17.074 1.00 55.13 C +ATOM 10 C LYS E 16 -5.100 -10.105 -17.531 1.00 59.23 C +ATOM 11 O LYS E 16 -4.877 -9.036 -18.103 1.00 35.80 O +ATOM 12 CB LYS E 16 -3.916 -12.209 -18.110 1.00 47.57 C +ATOM 13 CG LYS E 16 -2.850 -11.886 -19.158 1.00100.00 C +ATOM 14 CD LYS E 16 -1.491 -12.525 -18.888 1.00 94.01 C +ATOM 15 CE LYS E 16 -0.665 -11.794 -17.836 1.00100.00 C +ATOM 16 NZ LYS E 16 -0.505 -12.557 -16.586 1.00 89.11 N +ATOM 17 N GLU E 17 -6.278 -10.506 -17.222 1.00 46.28 N +ATOM 18 CA GLU E 17 -7.452 -9.768 -17.502 1.00 73.06 C +ATOM 19 C GLU E 17 -7.322 -8.347 -16.938 1.00 46.61 C +ATOM 20 O GLU E 17 -7.332 -7.346 -17.671 1.00 32.00 O +ATOM 21 CB GLU E 17 -8.575 -10.616 -16.862 1.00100.00 C +ATOM 22 CG GLU E 17 -8.356 -12.141 -17.142 1.00100.00 C +ATOM 23 CD GLU E 17 -7.798 -13.009 -16.015 1.00 91.73 C +ATOM 24 OE1 GLU E 17 -8.235 -12.995 -14.882 1.00 52.28 O +ATOM 25 OE2 GLU E 17 -6.824 -13.826 -16.389 1.00 38.71 O +ATOM 26 N PHE E 18 -7.181 -8.270 -15.609 1.00100.00 N +ATOM 27 CA PHE E 18 -7.050 -7.008 -14.884 1.00 25.33 C +ATOM 28 C PHE E 18 -5.978 -6.082 -15.467 1.00 18.77 C +ATOM 29 O PHE E 18 -6.204 -4.945 -15.911 1.00 42.08 O +ATOM 30 CB PHE E 18 -6.759 -7.267 -13.392 1.00 45.47 C +ATOM 31 CG PHE E 18 -6.523 -5.962 -12.692 1.00 57.92 C +ATOM 32 CD1 PHE E 18 -7.536 -5.003 -12.655 1.00 87.67 C +ATOM 33 CD2 PHE E 18 -5.291 -5.668 -12.107 1.00 43.65 C +ATOM 34 CE1 PHE E 18 -7.343 -3.774 -12.030 1.00 56.21 C +ATOM 35 CE2 PHE E 18 -5.088 -4.445 -11.469 1.00 13.42 C +ATOM 36 CZ PHE E 18 -6.110 -3.497 -11.436 1.00 99.47 C +ATOM 37 N LEU E 19 -4.789 -6.615 -15.444 1.00 25.01 N +ATOM 38 CA LEU E 19 -3.634 -5.937 -15.936 1.00 57.90 C +ATOM 39 C LEU E 19 -3.888 -5.316 -17.314 1.00 36.17 C +ATOM 40 O LEU E 19 -3.441 -4.191 -17.624 1.00 22.80 O +ATOM 41 CB LEU E 19 -2.459 -6.934 -15.920 1.00 26.96 C +ATOM 42 CG LEU E 19 -1.499 -6.777 -14.726 1.00100.00 C +ATOM 43 CD1 LEU E 19 -2.165 -6.192 -13.498 1.00 21.18 C +ATOM 44 CD2 LEU E 19 -0.942 -8.123 -14.318 1.00 23.73 C +ATOM 45 N ALA E 20 -4.624 -6.063 -18.137 1.00 46.11 N +ATOM 46 CA ALA E 20 -4.955 -5.628 -19.488 1.00 30.37 C +ATOM 47 C ALA E 20 -5.528 -4.228 -19.456 1.00 60.33 C +ATOM 48 O ALA E 20 -5.016 -3.297 -20.077 1.00 39.81 O +ATOM 49 CB ALA E 20 -5.936 -6.595 -20.132 1.00100.00 C +ATOM 50 N LYS E 21 -6.604 -4.117 -18.698 1.00 35.73 N +ATOM 51 CA LYS E 21 -7.307 -2.889 -18.527 1.00 21.49 C +ATOM 52 C LYS E 21 -6.412 -1.856 -17.917 1.00 22.86 C +ATOM 53 O LYS E 21 -6.486 -0.663 -18.236 1.00 36.77 O +ATOM 54 CB LYS E 21 -8.514 -3.116 -17.640 1.00 36.64 C +ATOM 55 CG LYS E 21 -9.779 -3.359 -18.444 1.00100.00 C +ATOM 56 CD LYS E 21 -10.379 -2.078 -19.022 1.00100.00 C +ATOM 57 CE LYS E 21 -11.794 -2.262 -19.578 1.00100.00 C +ATOM 58 NZ LYS E 21 -11.852 -3.014 -20.848 1.00100.00 N +ATOM 59 N ALA E 22 -5.570 -2.359 -17.018 1.00 47.73 N +ATOM 60 CA ALA E 22 -4.635 -1.532 -16.303 1.00 42.43 C +ATOM 61 C ALA E 22 -3.651 -0.868 -17.229 1.00 32.95 C +ATOM 62 O ALA E 22 -3.344 0.330 -17.102 1.00 23.50 O +ATOM 63 CB ALA E 22 -3.932 -2.325 -15.235 1.00 25.69 C +ATOM 64 N LYS E 23 -3.161 -1.652 -18.170 1.00 44.30 N +ATOM 65 CA LYS E 23 -2.214 -1.113 -19.110 1.00 11.58 C +ATOM 66 C LYS E 23 -2.695 0.172 -19.794 1.00 40.32 C +ATOM 67 O LYS E 23 -1.919 1.124 -19.959 1.00 38.01 O +ATOM 68 CB LYS E 23 -1.587 -2.135 -20.053 1.00 30.95 C +ATOM 69 CG LYS E 23 -0.170 -1.728 -20.509 1.00 31.73 C +ATOM 70 CD LYS E 23 0.766 -2.903 -20.829 1.00 12.23 C +ATOM 71 CE LYS E 23 2.203 -2.482 -21.170 1.00 20.87 C +ATOM 72 NZ LYS E 23 2.563 -2.729 -22.576 1.00 50.91 N +ATOM 73 N GLU E 24 -3.980 0.209 -20.177 1.00 32.85 N +ATOM 74 CA GLU E 24 -4.555 1.385 -20.848 1.00 22.29 C +ATOM 75 C GLU E 24 -4.564 2.699 -20.047 1.00 42.05 C +ATOM 76 O GLU E 24 -4.196 3.734 -20.594 1.00 45.13 O +ATOM 77 CB GLU E 24 -5.925 1.088 -21.453 1.00 58.69 C +ATOM 78 CG GLU E 24 -6.072 -0.389 -21.842 1.00100.00 C +ATOM 79 CD GLU E 24 -6.810 -0.561 -23.140 1.00100.00 C +ATOM 80 OE1 GLU E 24 -6.453 -0.020 -24.181 1.00100.00 O +ATOM 81 OE2 GLU E 24 -7.871 -1.337 -23.021 1.00 73.68 O +ATOM 82 N ASP E 25 -4.982 2.669 -18.759 1.00 43.55 N +ATOM 83 CA ASP E 25 -4.999 3.887 -17.949 1.00 26.76 C +ATOM 84 C ASP E 25 -3.654 4.546 -18.075 1.00 31.24 C +ATOM 85 O ASP E 25 -3.495 5.640 -18.589 1.00 35.75 O +ATOM 86 CB ASP E 25 -5.141 3.611 -16.411 1.00100.00 C +ATOM 87 CG ASP E 25 -4.644 4.759 -15.500 1.00100.00 C +ATOM 88 OD1 ASP E 25 -5.270 5.805 -15.446 1.00 65.61 O +ATOM 89 OD2 ASP E 25 -3.507 4.542 -14.769 1.00 31.92 O +ATOM 90 N PHE E 26 -2.704 3.778 -17.543 1.00 25.72 N +ATOM 91 CA PHE E 26 -1.343 4.147 -17.448 1.00 54.72 C +ATOM 92 C PHE E 26 -0.863 4.831 -18.673 1.00 19.08 C +ATOM 93 O PHE E 26 -0.370 5.957 -18.630 1.00 35.72 O +ATOM 94 CB PHE E 26 -0.459 2.984 -17.007 1.00 19.65 C +ATOM 95 CG PHE E 26 0.995 3.327 -17.115 1.00 23.45 C +ATOM 96 CD1 PHE E 26 1.650 3.923 -16.039 1.00 8.06 C +ATOM 97 CD2 PHE E 26 1.718 3.067 -18.281 1.00 21.85 C +ATOM 98 CE1 PHE E 26 3.006 4.252 -16.136 1.00 9.56 C +ATOM 99 CE2 PHE E 26 3.081 3.369 -18.382 1.00 16.79 C +ATOM 100 CZ PHE E 26 3.725 3.965 -17.299 1.00 12.41 C +ATOM 101 N LEU E 27 -1.033 4.138 -19.758 1.00 14.50 N +ATOM 102 CA LEU E 27 -0.603 4.675 -21.016 1.00 56.30 C +ATOM 103 C LEU E 27 -1.134 6.071 -21.249 1.00 40.02 C +ATOM 104 O LEU E 27 -0.405 7.006 -21.535 1.00 32.17 O +ATOM 105 CB LEU E 27 -1.013 3.746 -22.149 1.00 33.59 C +ATOM 106 CG LEU E 27 0.149 2.927 -22.680 1.00 35.32 C +ATOM 107 CD1 LEU E 27 1.478 3.534 -22.234 1.00 42.15 C +ATOM 108 CD2 LEU E 27 0.008 1.486 -22.198 1.00 23.25 C +ATOM 109 N LYS E 28 -2.432 6.218 -21.113 1.00 29.31 N +ATOM 110 CA LYS E 28 -3.028 7.510 -21.333 1.00 13.60 C +ATOM 111 C LYS E 28 -2.373 8.565 -20.484 1.00 16.10 C +ATOM 112 O LYS E 28 -2.063 9.646 -20.947 1.00 35.47 O +ATOM 113 CB LYS E 28 -4.536 7.501 -21.184 1.00 45.22 C +ATOM 114 CG LYS E 28 -5.204 6.378 -21.961 1.00 91.35 C +ATOM 115 CD LYS E 28 -5.906 6.857 -23.222 1.00100.00 C +ATOM 116 CE LYS E 28 -5.326 6.256 -24.499 1.00100.00 C +ATOM 117 NZ LYS E 28 -4.440 7.172 -25.241 1.00100.00 N +ATOM 118 N LYS E 29 -2.172 8.244 -19.230 1.00 20.39 N +ATOM 119 CA LYS E 29 -1.533 9.193 -18.355 1.00 14.46 C +ATOM 120 C LYS E 29 -0.073 9.346 -18.713 1.00 38.12 C +ATOM 121 O LYS E 29 0.484 10.441 -18.665 1.00 21.58 O +ATOM 122 CB LYS E 29 -1.716 8.805 -16.920 1.00 23.78 C +ATOM 123 CG LYS E 29 -3.190 8.557 -16.583 1.00 22.39 C +ATOM 124 CD LYS E 29 -3.416 8.275 -15.106 1.00 50.53 C +ATOM 125 CE LYS E 29 -4.619 8.986 -14.507 1.00100.00 C +ATOM 126 NZ LYS E 29 -5.502 8.076 -13.752 1.00100.00 N +ATOM 127 N TRP E 30 0.534 8.235 -19.102 1.00 13.64 N +ATOM 128 CA TRP E 30 1.921 8.244 -19.473 1.00 17.41 C +ATOM 129 C TRP E 30 2.169 9.278 -20.542 1.00 27.45 C +ATOM 130 O TRP E 30 3.118 10.089 -20.426 1.00 21.76 O +ATOM 131 CB TRP E 30 2.330 6.868 -20.009 1.00 15.35 C +ATOM 132 CG TRP E 30 3.709 6.812 -20.607 1.00 30.81 C +ATOM 133 CD1 TRP E 30 3.994 6.727 -21.925 1.00 22.83 C +ATOM 134 CD2 TRP E 30 4.993 6.895 -19.931 1.00 17.41 C +ATOM 135 NE1 TRP E 30 5.352 6.702 -22.124 1.00 35.21 N +ATOM 136 CE2 TRP E 30 5.995 6.821 -20.914 1.00 53.24 C +ATOM 137 CE3 TRP E 30 5.384 7.013 -18.594 1.00 15.55 C +ATOM 138 CZ2 TRP E 30 7.357 6.822 -20.596 1.00 17.22 C +ATOM 139 CZ3 TRP E 30 6.724 7.029 -18.282 1.00 25.08 C +ATOM 140 CH2 TRP E 30 7.706 6.915 -19.267 1.00 45.68 C +ATOM 141 N GLU E 31 1.285 9.195 -21.578 1.00 17.58 N +ATOM 142 CA GLU E 31 1.291 10.054 -22.768 1.00 42.32 C +ATOM 143 C GLU E 31 0.989 11.522 -22.523 1.00 16.33 C +ATOM 144 O GLU E 31 1.596 12.404 -23.136 1.00 76.98 O +ATOM 145 CB GLU E 31 0.432 9.534 -23.928 1.00 52.50 C +ATOM 146 CG GLU E 31 0.362 8.005 -23.998 1.00100.00 C +ATOM 147 CD GLU E 31 0.915 7.429 -25.259 1.00100.00 C +ATOM 148 OE1 GLU E 31 0.055 7.483 -26.258 1.00 96.20 O +ATOM 149 OE2 GLU E 31 2.038 6.951 -25.320 1.00 98.06 O +ATOM 150 N THR E 32 0.042 11.783 -21.629 1.00 95.23 N +ATOM 151 CA THR E 32 -0.349 13.144 -21.293 1.00 14.13 C +ATOM 152 C THR E 32 -0.291 13.360 -19.791 1.00 34.92 C +ATOM 153 O THR E 32 -1.285 13.365 -19.069 1.00 45.19 O +ATOM 154 CB THR E 32 -1.699 13.556 -21.967 1.00 43.93 C +ATOM 155 OG1 THR E 32 -2.131 12.551 -22.893 1.00 35.19 O +ATOM 156 CG2 THR E 32 -1.533 14.872 -22.729 1.00 18.94 C +ATOM 157 N PRO E 33 0.931 13.513 -19.326 1.00 41.99 N +ATOM 158 CA PRO E 33 1.203 13.723 -17.938 1.00 37.35 C +ATOM 159 C PRO E 33 0.718 15.099 -17.515 1.00100.00 C +ATOM 160 O PRO E 33 0.745 16.037 -18.334 1.00 21.69 O +ATOM 161 CB PRO E 33 2.735 13.669 -17.818 1.00 14.27 C +ATOM 162 CG PRO E 33 3.320 13.724 -19.217 1.00100.00 C +ATOM 163 CD PRO E 33 2.154 13.594 -20.175 1.00 19.71 C +ATOM 164 N SER E 34 0.275 15.204 -16.248 1.00 62.63 N +ATOM 165 CA SER E 34 -0.206 16.475 -15.725 1.00 17.64 C +ATOM 166 C SER E 34 0.911 17.336 -15.147 1.00 91.45 C +ATOM 167 O SER E 34 1.930 16.835 -14.654 1.00 35.12 O +ATOM 168 CB SER E 34 -1.508 16.430 -14.938 1.00 51.20 C +ATOM 169 OG SER E 34 -1.239 16.443 -13.567 1.00 33.12 O +ATOM 170 N GLN E 35 0.686 18.638 -15.257 1.00 18.83 N +ATOM 171 CA GLN E 35 1.598 19.679 -14.850 1.00 83.48 C +ATOM 172 C GLN E 35 0.953 20.784 -14.015 1.00 30.01 C +ATOM 173 O GLN E 35 -0.220 21.081 -14.207 1.00 61.43 O +ATOM 174 CB GLN E 35 2.037 20.298 -16.174 1.00 30.71 C +ATOM 175 CG GLN E 35 3.418 19.829 -16.631 1.00 82.08 C +ATOM 176 CD GLN E 35 4.161 20.951 -17.306 1.00 40.25 C +ATOM 177 OE1 GLN E 35 3.712 21.480 -18.334 1.00 65.77 O +ATOM 178 NE2 GLN E 35 5.284 21.344 -16.707 1.00100.00 N +ATOM 179 N ASN E 36 1.745 21.397 -13.114 1.00 24.75 N +ATOM 180 CA ASN E 36 1.304 22.492 -12.228 1.00100.00 C +ATOM 181 C ASN E 36 -0.176 22.504 -11.821 1.00 25.06 C +ATOM 182 O ASN E 36 -1.000 23.292 -12.284 1.00 40.41 O +ATOM 183 CB ASN E 36 1.855 23.894 -12.585 1.00 34.00 C +ATOM 184 CG ASN E 36 3.169 24.166 -11.864 1.00100.00 C +ATOM 185 OD1 ASN E 36 4.226 23.614 -12.223 1.00 61.43 O +ATOM 186 ND2 ASN E 36 3.109 25.003 -10.826 1.00 90.99 N +ATOM 187 N THR E 37 -0.510 21.609 -10.918 1.00 43.44 N +ATOM 188 CA THR E 37 -1.859 21.509 -10.465 1.00 28.96 C +ATOM 189 C THR E 37 -2.059 22.260 -9.165 1.00 30.33 C +ATOM 190 O THR E 37 -3.074 22.075 -8.527 1.00 39.40 O +ATOM 191 CB THR E 37 -2.206 20.017 -10.338 1.00 65.75 C +ATOM 192 OG1 THR E 37 -1.015 19.295 -10.177 1.00 39.19 O +ATOM 193 CG2 THR E 37 -2.797 19.527 -11.640 1.00 25.69 C +ATOM 194 N ALA E 38 -1.089 23.101 -8.762 1.00 35.92 N +ATOM 195 CA ALA E 38 -1.208 23.853 -7.500 1.00 35.16 C +ATOM 196 C ALA E 38 -0.062 24.835 -7.226 1.00 40.10 C +ATOM 197 O ALA E 38 0.865 24.921 -8.017 1.00 45.44 O +ATOM 198 CB ALA E 38 -1.333 22.889 -6.334 1.00 19.11 C +ATOM 199 N GLN E 39 -0.133 25.575 -6.088 1.00 32.14 N +ATOM 200 CA GLN E 39 0.905 26.536 -5.715 1.00 18.44 C +ATOM 201 C GLN E 39 1.343 26.366 -4.295 1.00 19.28 C +ATOM 202 O GLN E 39 0.605 25.884 -3.440 1.00 23.26 O +ATOM 203 CB GLN E 39 0.524 28.009 -5.812 1.00 48.20 C +ATOM 204 CG GLN E 39 0.309 28.549 -7.213 1.00 45.50 C +ATOM 205 CD GLN E 39 -0.930 29.418 -7.244 1.00 30.31 C +ATOM 206 OE1 GLN E 39 -1.733 29.355 -8.193 1.00100.00 O +ATOM 207 NE2 GLN E 39 -1.111 30.201 -6.177 1.00 37.40 N +ATOM 208 N LEU E 40 2.565 26.794 -4.040 1.00 34.46 N +ATOM 209 CA LEU E 40 3.116 26.678 -2.701 1.00 47.32 C +ATOM 210 C LEU E 40 2.136 27.238 -1.696 1.00 26.47 C +ATOM 211 O LEU E 40 1.756 26.553 -0.763 1.00 32.52 O +ATOM 212 CB LEU E 40 4.484 27.393 -2.598 1.00 31.55 C +ATOM 213 CG LEU E 40 5.541 26.681 -1.763 1.00 31.49 C +ATOM 214 CD1 LEU E 40 6.287 27.704 -0.907 1.00 17.27 C +ATOM 215 CD2 LEU E 40 4.920 25.611 -0.876 1.00 33.77 C +ATOM 216 N ASP E 41 1.737 28.499 -1.964 1.00 32.94 N +ATOM 217 CA ASP E 41 0.826 29.328 -1.179 1.00 85.30 C +ATOM 218 C ASP E 41 -0.434 28.639 -0.682 1.00 25.48 C +ATOM 219 O ASP E 41 -0.925 28.935 0.412 1.00 40.17 O +ATOM 220 CB ASP E 41 0.525 30.687 -1.864 1.00 28.29 C +ATOM 221 CG ASP E 41 -0.472 30.594 -2.983 1.00100.00 C +ATOM 222 OD1 ASP E 41 -1.092 29.580 -3.221 1.00 54.16 O +ATOM 223 OD2 ASP E 41 -0.609 31.713 -3.661 1.00 86.00 O +ATOM 224 N GLN E 42 -0.960 27.730 -1.487 1.00 15.20 N +ATOM 225 CA GLN E 42 -2.155 27.011 -1.105 1.00 15.39 C +ATOM 226 C GLN E 42 -1.913 25.922 -0.057 1.00 24.32 C +ATOM 227 O GLN E 42 -2.784 25.088 0.144 1.00 17.42 O +ATOM 228 CB GLN E 42 -2.858 26.417 -2.338 1.00 20.47 C +ATOM 229 CG GLN E 42 -2.186 26.820 -3.676 1.00 27.09 C +ATOM 230 CD GLN E 42 -2.968 26.363 -4.912 1.00 37.54 C +ATOM 231 OE1 GLN E 42 -3.051 25.165 -5.213 1.00 43.09 O +ATOM 232 NE2 GLN E 42 -3.559 27.312 -5.637 1.00 45.62 N +ATOM 233 N PHE E 43 -0.758 25.899 0.609 1.00 33.75 N +ATOM 234 CA PHE E 43 -0.460 24.890 1.628 1.00 17.38 C +ATOM 235 C PHE E 43 0.208 25.516 2.795 1.00 98.41 C +ATOM 236 O PHE E 43 0.880 26.519 2.621 1.00 15.74 O +ATOM 237 CB PHE E 43 0.553 23.837 1.182 1.00 30.93 C +ATOM 238 CG PHE E 43 0.072 23.096 -0.015 1.00 32.01 C +ATOM 239 CD1 PHE E 43 -0.751 21.979 0.119 1.00 32.90 C +ATOM 240 CD2 PHE E 43 0.429 23.548 -1.280 1.00 25.76 C +ATOM 241 CE1 PHE E 43 -1.198 21.307 -1.012 1.00 7.78 C +ATOM 242 CE2 PHE E 43 -0.016 22.898 -2.423 1.00 32.36 C +ATOM 243 CZ PHE E 43 -0.828 21.777 -2.272 1.00 27.17 C +ATOM 244 N ASP E 44 0.051 24.884 3.954 1.00 29.19 N +ATOM 245 CA ASP E 44 0.670 25.357 5.177 1.00 23.46 C +ATOM 246 C ASP E 44 1.747 24.351 5.584 1.00 26.12 C +ATOM 247 O ASP E 44 1.438 23.167 5.731 1.00 30.52 O +ATOM 248 CB ASP E 44 -0.398 25.484 6.296 1.00 28.01 C +ATOM 249 CG ASP E 44 -1.043 26.847 6.364 1.00100.00 C +ATOM 250 OD1 ASP E 44 -0.437 27.914 6.307 1.00 36.02 O +ATOM 251 OD2 ASP E 44 -2.338 26.762 6.478 1.00 47.44 O +ATOM 252 N ARG E 45 3.004 24.807 5.734 1.00 56.00 N +ATOM 253 CA ARG E 45 4.093 23.912 6.110 1.00 24.19 C +ATOM 254 C ARG E 45 3.996 23.536 7.577 1.00 22.06 C +ATOM 255 O ARG E 45 3.912 24.383 8.477 1.00 76.30 O +ATOM 256 CB ARG E 45 5.477 24.448 5.841 1.00 43.54 C +ATOM 257 CG ARG E 45 6.337 24.143 7.069 1.00100.00 C +ATOM 258 CD ARG E 45 7.385 25.186 7.441 1.00100.00 C +ATOM 259 NE ARG E 45 8.663 24.527 7.666 1.00 44.70 N +ATOM 260 CZ ARG E 45 9.745 24.716 6.905 1.00100.00 C +ATOM 261 NH1 ARG E 45 9.719 25.580 5.861 1.00 32.80 N +ATOM 262 NH2 ARG E 45 10.874 24.021 7.209 1.00 24.16 N +ATOM 263 N ILE E 46 4.018 22.249 7.811 1.00 51.90 N +ATOM 264 CA ILE E 46 3.895 21.762 9.147 1.00 27.34 C +ATOM 265 C ILE E 46 5.158 21.190 9.770 1.00 39.49 C +ATOM 266 O ILE E 46 5.886 21.901 10.456 1.00 54.52 O +ATOM 267 CB ILE E 46 2.690 20.850 9.194 1.00 27.09 C +ATOM 268 CG1 ILE E 46 1.521 21.660 8.631 1.00 22.52 C +ATOM 269 CG2 ILE E 46 2.403 20.441 10.634 1.00 24.68 C +ATOM 270 CD1 ILE E 46 0.187 20.921 8.647 1.00 42.28 C +ATOM 271 N LYS E 47 5.392 19.908 9.522 1.00 33.76 N +ATOM 272 CA LYS E 47 6.537 19.181 10.036 1.00 46.17 C +ATOM 273 C LYS E 47 7.234 18.359 8.943 1.00 24.94 C +ATOM 274 O LYS E 47 6.683 18.009 7.891 1.00 31.24 O +ATOM 275 CB LYS E 47 6.157 18.296 11.248 1.00 25.33 C +ATOM 276 CG LYS E 47 7.356 17.892 12.126 1.00 94.99 C +ATOM 277 CD LYS E 47 7.096 16.737 13.111 1.00 35.66 C +ATOM 278 CE LYS E 47 8.164 15.620 13.090 1.00100.00 C +ATOM 279 NZ LYS E 47 7.872 14.416 12.249 1.00 46.39 N +ATOM 280 N THR E 48 8.481 18.035 9.212 1.00 93.29 N +ATOM 281 CA THR E 48 9.228 17.238 8.289 1.00 10.48 C +ATOM 282 C THR E 48 9.083 15.755 8.671 1.00 20.54 C +ATOM 283 O THR E 48 9.461 15.346 9.761 1.00 34.03 O +ATOM 284 CB THR E 48 10.696 17.688 8.147 1.00 46.57 C +ATOM 285 OG1 THR E 48 10.756 18.910 7.439 1.00 24.67 O +ATOM 286 CG2 THR E 48 11.520 16.640 7.406 1.00 14.79 C +ATOM 287 N LEU E 49 8.521 14.964 7.739 1.00 31.37 N +ATOM 288 CA LEU E 49 8.269 13.546 7.914 1.00 9.20 C +ATOM 289 C LEU E 49 9.418 12.623 7.712 1.00 33.42 C +ATOM 290 O LEU E 49 9.471 11.567 8.335 1.00 15.24 O +ATOM 291 CB LEU E 49 7.080 13.024 7.073 1.00 7.50 C +ATOM 292 CG LEU E 49 5.829 13.799 7.423 1.00 3.00 C +ATOM 293 CD1 LEU E 49 4.728 13.522 6.391 1.00 7.09 C +ATOM 294 CD2 LEU E 49 5.353 13.377 8.800 1.00 41.42 C +ATOM 295 N GLY E 50 10.301 13.000 6.819 1.00 12.95 N +ATOM 296 CA GLY E 50 11.421 12.150 6.532 1.00 18.08 C +ATOM 297 C GLY E 50 12.337 12.848 5.580 1.00 26.03 C +ATOM 298 O GLY E 50 12.021 13.940 5.097 1.00 15.48 O +ATOM 299 N THR E 51 13.468 12.205 5.329 1.00 20.55 N +ATOM 300 CA THR E 51 14.467 12.762 4.462 1.00 23.90 C +ATOM 301 C THR E 51 15.155 11.716 3.603 1.00 32.79 C +ATOM 302 O THR E 51 15.105 10.533 3.911 1.00 26.24 O +ATOM 303 CB THR E 51 15.477 13.518 5.377 1.00 33.35 C +ATOM 304 OG1 THR E 51 15.944 14.681 4.769 1.00 55.60 O +ATOM 305 CG2 THR E 51 16.648 12.650 5.825 1.00 45.27 C +ATOM 306 N GLY E 52 15.808 12.158 2.525 1.00 11.54 N +ATOM 307 CA GLY E 52 16.515 11.229 1.718 1.00 10.24 C +ATOM 308 C GLY E 52 17.793 11.811 1.120 1.00 27.79 C +ATOM 309 O GLY E 52 18.223 12.904 1.426 1.00 25.04 O +ATOM 310 N SER E 53 18.416 11.064 0.223 1.00 41.89 N +ATOM 311 CA SER E 53 19.623 11.550 -0.389 1.00 21.72 C +ATOM 312 C SER E 53 19.333 12.685 -1.309 1.00 20.23 C +ATOM 313 O SER E 53 20.253 13.404 -1.656 1.00 16.81 O +ATOM 314 CB SER E 53 20.369 10.506 -1.227 1.00 10.68 C +ATOM 315 OG SER E 53 21.224 9.698 -0.463 1.00 32.37 O +ATOM 316 N PHE E 54 18.074 12.798 -1.741 1.00 30.11 N +ATOM 317 CA PHE E 54 17.702 13.835 -2.662 1.00 13.06 C +ATOM 318 C PHE E 54 16.840 14.901 -2.119 1.00 39.65 C +ATOM 319 O PHE E 54 17.192 16.071 -2.246 1.00 27.86 O +ATOM 320 CB PHE E 54 17.100 13.280 -3.954 1.00 22.66 C +ATOM 321 CG PHE E 54 17.995 12.178 -4.417 1.00 15.76 C +ATOM 322 CD1 PHE E 54 19.206 12.472 -5.053 1.00 14.31 C +ATOM 323 CD2 PHE E 54 17.672 10.850 -4.138 1.00 34.85 C +ATOM 324 CE1 PHE E 54 20.066 11.445 -5.435 1.00 30.40 C +ATOM 325 CE2 PHE E 54 18.513 9.808 -4.533 1.00 24.10 C +ATOM 326 CZ PHE E 54 19.715 10.117 -5.180 1.00 15.88 C +ATOM 327 N GLY E 55 15.722 14.519 -1.548 1.00 39.66 N +ATOM 328 CA GLY E 55 14.897 15.583 -1.082 1.00 21.48 C +ATOM 329 C GLY E 55 14.286 15.376 0.253 1.00 13.42 C +ATOM 330 O GLY E 55 14.729 14.598 1.098 1.00 24.09 O +ATOM 331 N ARG E 56 13.263 16.163 0.423 1.00 58.10 N +ATOM 332 CA ARG E 56 12.591 16.118 1.691 1.00 25.83 C +ATOM 333 C ARG E 56 11.103 16.121 1.594 1.00 31.34 C +ATOM 334 O ARG E 56 10.510 16.699 0.681 1.00 25.67 O +ATOM 335 CB ARG E 56 13.027 17.288 2.478 1.00 45.02 C +ATOM 336 CG ARG E 56 12.385 18.520 1.875 1.00100.00 C +ATOM 337 CD ARG E 56 12.800 19.652 2.652 1.00100.00 C +ATOM 338 NE ARG E 56 12.567 19.380 4.003 1.00100.00 N +ATOM 339 CZ ARG E 56 13.494 19.617 4.822 1.00 87.40 C +ATOM 340 NH1 ARG E 56 14.550 20.184 4.336 1.00 66.45 N +ATOM 341 NH2 ARG E 56 13.313 19.351 6.045 1.00 99.28 N +ATOM 342 N VAL E 57 10.530 15.502 2.633 1.00 24.70 N +ATOM 343 CA VAL E 57 9.100 15.305 2.758 1.00 77.26 C +ATOM 344 C VAL E 57 8.495 15.978 3.974 1.00 18.10 C +ATOM 345 O VAL E 57 8.811 15.677 5.133 1.00 21.15 O +ATOM 346 CB VAL E 57 8.724 13.845 2.750 1.00 25.69 C +ATOM 347 CG1 VAL E 57 7.205 13.668 2.731 1.00 15.23 C +ATOM 348 CG2 VAL E 57 9.375 13.206 1.550 1.00 36.09 C +ATOM 349 N MET E 58 7.575 16.886 3.695 1.00 50.79 N +ATOM 350 CA MET E 58 6.909 17.597 4.755 1.00 25.02 C +ATOM 351 C MET E 58 5.430 17.324 4.779 1.00 37.66 C +ATOM 352 O MET E 58 4.821 17.130 3.711 1.00 15.48 O +ATOM 353 CB MET E 58 7.054 19.136 4.602 1.00 15.81 C +ATOM 354 CG MET E 58 8.472 19.676 4.727 1.00 25.21 C +ATOM 355 SD MET E 58 8.463 21.425 5.189 1.00 36.97 S +ATOM 356 CE MET E 58 9.807 22.030 4.159 1.00 51.77 C +ATOM 357 N LEU E 59 4.891 17.353 6.023 1.00 28.68 N +ATOM 358 CA LEU E 59 3.460 17.225 6.302 1.00 22.25 C +ATOM 359 C LEU E 59 2.970 18.619 5.971 1.00 56.39 C +ATOM 360 O LEU E 59 3.511 19.585 6.489 1.00 17.19 O +ATOM 361 CB LEU E 59 3.145 17.045 7.794 1.00 16.75 C +ATOM 362 CG LEU E 59 1.884 16.227 8.070 1.00 23.26 C +ATOM 363 CD1 LEU E 59 1.356 16.551 9.462 1.00 15.32 C +ATOM 364 CD2 LEU E 59 0.815 16.448 7.004 1.00 34.97 C +ATOM 365 N VAL E 60 1.991 18.734 5.099 1.00 30.65 N +ATOM 366 CA VAL E 60 1.499 20.021 4.669 1.00 12.39 C +ATOM 367 C VAL E 60 -0.015 20.073 4.790 1.00 12.94 C +ATOM 368 O VAL E 60 -0.677 19.066 5.051 1.00 34.70 O +ATOM 369 CB VAL E 60 1.988 20.193 3.242 1.00 13.97 C +ATOM 370 CG1 VAL E 60 0.871 20.146 2.218 1.00 20.12 C +ATOM 371 CG2 VAL E 60 2.938 21.371 3.082 1.00 32.94 C +ATOM 372 N LYS E 61 -0.576 21.244 4.658 1.00 45.19 N +ATOM 373 CA LYS E 61 -1.999 21.268 4.785 1.00 17.44 C +ATOM 374 C LYS E 61 -2.613 22.145 3.768 1.00 38.97 C +ATOM 375 O LYS E 61 -2.231 23.305 3.632 1.00 19.65 O +ATOM 376 CB LYS E 61 -2.476 21.658 6.153 1.00 56.87 C +ATOM 377 CG LYS E 61 -3.942 22.008 6.128 1.00 22.06 C +ATOM 378 CD LYS E 61 -4.656 21.608 7.404 1.00 29.13 C +ATOM 379 CE LYS E 61 -5.614 22.683 7.901 1.00 78.18 C +ATOM 380 NZ LYS E 61 -6.933 22.157 8.281 1.00100.00 N +ATOM 381 N HIS E 62 -3.558 21.563 3.068 1.00 20.49 N +ATOM 382 CA HIS E 62 -4.287 22.274 2.049 1.00 32.78 C +ATOM 383 C HIS E 62 -5.327 23.145 2.753 1.00100.00 C +ATOM 384 O HIS E 62 -6.306 22.608 3.278 1.00 35.11 O +ATOM 385 CB HIS E 62 -4.983 21.244 1.177 1.00 59.32 C +ATOM 386 CG HIS E 62 -5.247 21.805 -0.151 1.00 18.49 C +ATOM 387 ND1 HIS E 62 -4.278 22.539 -0.812 1.00100.00 N +ATOM 388 CD2 HIS E 62 -6.365 21.750 -0.910 1.00 32.86 C +ATOM 389 CE1 HIS E 62 -4.809 22.908 -1.964 1.00 17.49 C +ATOM 390 NE2 HIS E 62 -6.060 22.458 -2.058 1.00 32.28 N +ATOM 391 N LYS E 63 -5.101 24.469 2.779 1.00 24.56 N +ATOM 392 CA LYS E 63 -5.976 25.416 3.467 1.00 42.95 C +ATOM 393 C LYS E 63 -7.422 25.542 2.999 1.00 24.60 C +ATOM 394 O LYS E 63 -8.347 25.593 3.822 1.00 52.17 O +ATOM 395 CB LYS E 63 -5.332 26.714 3.940 1.00 71.17 C +ATOM 396 CG LYS E 63 -5.628 27.869 3.001 1.00 55.27 C +ATOM 397 CD LYS E 63 -4.427 28.721 2.579 1.00100.00 C +ATOM 398 CE LYS E 63 -3.076 28.330 3.175 1.00 30.39 C +ATOM 399 NZ LYS E 63 -2.231 29.488 3.459 1.00 73.53 N +ATOM 400 N GLU E 64 -7.616 25.600 1.698 1.00 31.05 N +ATOM 401 CA GLU E 64 -8.938 25.698 1.096 1.00 61.85 C +ATOM 402 C GLU E 64 -9.764 24.456 1.456 1.00 69.18 C +ATOM 403 O GLU E 64 -10.948 24.554 1.789 1.00 52.73 O +ATOM 404 CB GLU E 64 -8.842 25.944 -0.431 1.00 90.67 C +ATOM 405 CG GLU E 64 -7.567 25.349 -1.092 1.00100.00 C +ATOM 406 CD GLU E 64 -6.236 25.954 -0.671 1.00100.00 C +ATOM 407 OE1 GLU E 64 -5.816 27.035 -1.070 1.00100.00 O +ATOM 408 OE2 GLU E 64 -5.584 25.189 0.186 1.00 90.42 O +ATOM 409 N SER E 65 -9.096 23.284 1.414 1.00 34.39 N +ATOM 410 CA SER E 65 -9.661 21.952 1.737 1.00 15.95 C +ATOM 411 C SER E 65 -9.592 21.514 3.227 1.00 27.46 C +ATOM 412 O SER E 65 -10.557 21.015 3.789 1.00 36.39 O +ATOM 413 CB SER E 65 -8.964 20.879 0.900 1.00 69.03 C +ATOM 414 OG SER E 65 -8.199 20.027 1.738 1.00 46.76 O +ATOM 415 N GLY E 66 -8.432 21.656 3.877 1.00 25.32 N +ATOM 416 CA GLY E 66 -8.294 21.240 5.266 1.00 25.70 C +ATOM 417 C GLY E 66 -7.734 19.818 5.345 1.00 38.36 C +ATOM 418 O GLY E 66 -7.767 19.132 6.362 1.00 23.18 O +ATOM 419 N ASN E 67 -7.219 19.370 4.222 1.00 37.06 N +ATOM 420 CA ASN E 67 -6.657 18.056 4.121 1.00 42.98 C +ATOM 421 C ASN E 67 -5.171 18.104 4.319 1.00 38.14 C +ATOM 422 O ASN E 67 -4.483 19.089 4.003 1.00 31.48 O +ATOM 423 CB ASN E 67 -6.925 17.453 2.724 1.00 41.51 C +ATOM 424 CG ASN E 67 -8.341 16.938 2.570 1.00 54.12 C +ATOM 425 OD1 ASN E 67 -8.955 16.520 3.549 1.00 37.23 O +ATOM 426 ND2 ASN E 67 -8.871 16.954 1.352 1.00 30.12 N +ATOM 427 N HIS E 68 -4.661 17.016 4.850 1.00 25.44 N +ATOM 428 CA HIS E 68 -3.237 16.961 5.011 1.00 25.79 C +ATOM 429 C HIS E 68 -2.715 16.141 3.859 1.00 20.77 C +ATOM 430 O HIS E 68 -3.452 15.333 3.304 1.00 35.20 O +ATOM 431 CB HIS E 68 -2.770 16.341 6.300 1.00 13.68 C +ATOM 432 CG HIS E 68 -3.211 17.059 7.504 1.00 46.12 C +ATOM 433 ND1 HIS E 68 -2.392 17.993 8.107 1.00 45.15 N +ATOM 434 CD2 HIS E 68 -4.370 16.956 8.208 1.00 38.02 C +ATOM 435 CE1 HIS E 68 -3.062 18.457 9.153 1.00 4.36 C +ATOM 436 NE2 HIS E 68 -4.257 17.858 9.231 1.00 32.68 N +ATOM 437 N TYR E 69 -1.456 16.370 3.514 1.00 23.18 N +ATOM 438 CA TYR E 69 -0.774 15.681 2.437 1.00 10.13 C +ATOM 439 C TYR E 69 0.711 15.579 2.749 1.00 24.72 C +ATOM 440 O TYR E 69 1.180 16.108 3.741 1.00 24.10 O +ATOM 441 CB TYR E 69 -0.950 16.421 1.098 1.00100.00 C +ATOM 442 CG TYR E 69 -2.369 16.470 0.581 1.00 43.84 C +ATOM 443 CD1 TYR E 69 -3.038 15.296 0.231 1.00 20.37 C +ATOM 444 CD2 TYR E 69 -3.036 17.692 0.444 1.00 40.74 C +ATOM 445 CE1 TYR E 69 -4.349 15.344 -0.247 1.00 54.87 C +ATOM 446 CE2 TYR E 69 -4.344 17.757 -0.040 1.00 17.63 C +ATOM 447 CZ TYR E 69 -4.999 16.574 -0.383 1.00 22.97 C +ATOM 448 OH TYR E 69 -6.285 16.625 -0.858 1.00 57.09 O +ATOM 449 N ALA E 70 1.453 14.906 1.887 1.00 63.87 N +ATOM 450 CA ALA E 70 2.883 14.770 2.074 1.00 19.38 C +ATOM 451 C ALA E 70 3.591 15.537 0.984 1.00 32.32 C +ATOM 452 O ALA E 70 3.497 15.137 -0.156 1.00 20.98 O +ATOM 453 CB ALA E 70 3.300 13.315 1.951 1.00 25.42 C +ATOM 454 N MET E 71 4.296 16.627 1.295 1.00 34.27 N +ATOM 455 CA MET E 71 4.971 17.359 0.214 1.00 10.51 C +ATOM 456 C MET E 71 6.437 17.026 0.001 1.00 66.04 C +ATOM 457 O MET E 71 7.265 17.210 0.884 1.00 14.10 O +ATOM 458 CB MET E 71 4.819 18.880 0.325 1.00 27.01 C +ATOM 459 CG MET E 71 5.309 19.650 -0.898 1.00 15.78 C +ATOM 460 SD MET E 71 5.246 21.433 -0.548 1.00 37.02 S +ATOM 461 CE MET E 71 3.507 21.692 -0.939 1.00 25.74 C +ATOM 462 N LYS E 72 6.763 16.558 -1.203 1.00 37.10 N +ATOM 463 CA LYS E 72 8.141 16.240 -1.519 1.00 11.74 C +ATOM 464 C LYS E 72 8.778 17.433 -2.258 1.00 14.00 C +ATOM 465 O LYS E 72 8.343 17.822 -3.350 1.00 34.31 O +ATOM 466 CB LYS E 72 8.321 14.833 -2.128 1.00 13.88 C +ATOM 467 CG LYS E 72 9.633 14.553 -2.874 1.00 12.25 C +ATOM 468 CD LYS E 72 10.047 13.080 -2.872 1.00 12.97 C +ATOM 469 CE LYS E 72 11.554 12.837 -3.024 1.00 28.07 C +ATOM 470 NZ LYS E 72 11.886 11.415 -3.274 1.00 20.99 N +ATOM 471 N ILE E 73 9.796 18.036 -1.605 1.00 13.87 N +ATOM 472 CA ILE E 73 10.500 19.167 -2.154 1.00 16.34 C +ATOM 473 C ILE E 73 11.843 18.759 -2.724 1.00 36.20 C +ATOM 474 O ILE E 73 12.604 18.077 -2.062 1.00 25.64 O +ATOM 475 CB ILE E 73 10.745 20.147 -1.045 1.00 10.90 C +ATOM 476 CG1 ILE E 73 9.466 20.240 -0.225 1.00 13.53 C +ATOM 477 CG2 ILE E 73 11.117 21.494 -1.628 1.00 45.65 C +ATOM 478 CD1 ILE E 73 9.538 21.094 1.013 1.00 22.75 C +ATOM 479 N LEU E 74 12.138 19.179 -3.948 1.00 23.23 N +ATOM 480 CA LEU E 74 13.413 18.868 -4.550 1.00 1.00 C +ATOM 481 C LEU E 74 14.082 20.186 -4.941 1.00 12.75 C +ATOM 482 O LEU E 74 13.493 20.978 -5.679 1.00 23.50 O +ATOM 483 CB LEU E 74 13.316 18.023 -5.834 1.00 12.93 C +ATOM 484 CG LEU E 74 13.154 16.513 -5.714 1.00 47.38 C +ATOM 485 CD1 LEU E 74 13.945 15.900 -4.565 1.00 12.60 C +ATOM 486 CD2 LEU E 74 11.687 16.160 -5.661 1.00 21.61 C +ATOM 487 N ASP E 75 15.327 20.402 -4.473 1.00 26.82 N +ATOM 488 CA ASP E 75 16.034 21.616 -4.834 1.00 25.35 C +ATOM 489 C ASP E 75 16.564 21.411 -6.199 1.00 17.08 C +ATOM 490 O ASP E 75 17.416 20.534 -6.383 1.00 40.74 O +ATOM 491 CB ASP E 75 17.237 21.958 -3.927 1.00 53.92 C +ATOM 492 CG ASP E 75 17.982 23.207 -4.380 1.00 31.13 C +ATOM 493 OD1 ASP E 75 18.693 23.043 -5.457 1.00 52.06 O +ATOM 494 OD2 ASP E 75 17.923 24.273 -3.807 1.00 41.17 O +ATOM 495 N LYS E 76 16.087 22.224 -7.134 1.00 31.53 N +ATOM 496 CA LYS E 76 16.522 22.140 -8.532 1.00 21.73 C +ATOM 497 C LYS E 76 18.045 22.066 -8.742 1.00 39.55 C +ATOM 498 O LYS E 76 18.553 21.279 -9.545 1.00 27.82 O +ATOM 499 CB LYS E 76 15.883 23.198 -9.418 1.00 16.29 C +ATOM 500 CG LYS E 76 14.389 23.356 -9.187 1.00 53.17 C +ATOM 501 CD LYS E 76 13.664 24.010 -10.354 1.00 23.93 C +ATOM 502 CE LYS E 76 13.452 25.511 -10.160 1.00100.00 C +ATOM 503 NZ LYS E 76 12.990 26.234 -11.369 1.00 12.25 N +ATOM 504 N GLN E 77 18.798 22.890 -8.035 1.00 25.28 N +ATOM 505 CA GLN E 77 20.249 22.857 -8.191 1.00 32.81 C +ATOM 506 C GLN E 77 20.892 21.572 -7.688 1.00 15.39 C +ATOM 507 O GLN E 77 21.768 20.992 -8.343 1.00 29.64 O +ATOM 508 CB GLN E 77 20.906 24.127 -7.670 1.00 22.08 C +ATOM 509 CG GLN E 77 20.051 25.351 -8.083 1.00 26.12 C +ATOM 510 CD GLN E 77 20.817 26.647 -8.021 1.00 37.45 C +ATOM 511 OE1 GLN E 77 21.116 27.144 -6.918 1.00 41.36 O +ATOM 512 NE2 GLN E 77 21.145 27.185 -9.198 1.00 58.16 N +ATOM 513 N LYS E 78 20.419 21.116 -6.530 1.00 28.29 N +ATOM 514 CA LYS E 78 20.875 19.888 -5.887 1.00 28.85 C +ATOM 515 C LYS E 78 20.647 18.673 -6.807 1.00 30.03 C +ATOM 516 O LYS E 78 21.490 17.793 -6.918 1.00 36.59 O +ATOM 517 CB LYS E 78 20.135 19.730 -4.573 1.00 40.70 C +ATOM 518 CG LYS E 78 20.906 18.939 -3.537 1.00 22.99 C +ATOM 519 CD LYS E 78 20.097 17.777 -2.989 1.00 44.78 C +ATOM 520 CE LYS E 78 19.997 17.773 -1.474 1.00 61.90 C +ATOM 521 NZ LYS E 78 20.649 16.599 -0.867 1.00 38.79 N +ATOM 522 N VAL E 79 19.483 18.653 -7.478 1.00 21.95 N +ATOM 523 CA VAL E 79 19.073 17.622 -8.430 1.00100.00 C +ATOM 524 C VAL E 79 20.042 17.561 -9.616 1.00 31.83 C +ATOM 525 O VAL E 79 20.448 16.484 -10.096 1.00 26.39 O +ATOM 526 CB VAL E 79 17.642 17.924 -8.899 1.00 17.69 C +ATOM 527 CG1 VAL E 79 17.216 17.025 -10.045 1.00 18.23 C +ATOM 528 CG2 VAL E 79 16.680 17.800 -7.699 1.00 12.37 C +ATOM 529 N VAL E 80 20.415 18.753 -10.081 1.00 16.43 N +ATOM 530 CA VAL E 80 21.335 18.903 -11.179 1.00 9.77 C +ATOM 531 C VAL E 80 22.718 18.412 -10.825 1.00 8.38 C +ATOM 532 O VAL E 80 23.357 17.763 -11.623 1.00 34.38 O +ATOM 533 CB VAL E 80 21.417 20.335 -11.617 1.00 39.56 C +ATOM 534 CG1 VAL E 80 22.562 20.461 -12.620 1.00 28.47 C +ATOM 535 CG2 VAL E 80 20.096 20.673 -12.278 1.00 20.28 C +ATOM 536 N LYS E 81 23.159 18.709 -9.609 1.00 42.79 N +ATOM 537 CA LYS E 81 24.469 18.313 -9.091 1.00 36.56 C +ATOM 538 C LYS E 81 24.643 16.811 -8.878 1.00 32.03 C +ATOM 539 O LYS E 81 25.744 16.279 -8.964 1.00 26.36 O +ATOM 540 CB LYS E 81 24.680 18.922 -7.700 1.00 25.98 C +ATOM 541 CG LYS E 81 25.591 20.132 -7.658 1.00 63.33 C +ATOM 542 CD LYS E 81 26.236 20.332 -6.298 1.00 99.63 C +ATOM 543 CE LYS E 81 25.234 20.434 -5.161 1.00 91.82 C +ATOM 544 NZ LYS E 81 25.528 19.481 -4.070 1.00 52.17 N +ATOM 545 N LEU E 82 23.561 16.135 -8.520 1.00 23.00 N +ATOM 546 CA LEU E 82 23.624 14.720 -8.239 1.00 22.94 C +ATOM 547 C LEU E 82 23.253 13.894 -9.445 1.00 28.69 C +ATOM 548 O LEU E 82 23.088 12.682 -9.380 1.00 11.06 O +ATOM 549 CB LEU E 82 22.859 14.372 -6.957 1.00 16.84 C +ATOM 550 CG LEU E 82 23.236 15.335 -5.823 1.00 17.56 C +ATOM 551 CD1 LEU E 82 22.306 15.152 -4.615 1.00 18.43 C +ATOM 552 CD2 LEU E 82 24.688 15.085 -5.427 1.00 27.98 C +ATOM 553 N LYS E 83 23.149 14.620 -10.555 1.00 16.27 N +ATOM 554 CA LYS E 83 22.817 14.065 -11.831 1.00 19.31 C +ATOM 555 C LYS E 83 21.488 13.351 -11.772 1.00 32.53 C +ATOM 556 O LYS E 83 21.390 12.223 -12.205 1.00 21.85 O +ATOM 557 CB LYS E 83 23.916 13.115 -12.297 1.00 40.99 C +ATOM 558 CG LYS E 83 25.338 13.671 -12.126 1.00 40.80 C +ATOM 559 CD LYS E 83 26.370 13.031 -13.055 1.00 45.07 C +ATOM 560 CE LYS E 83 27.475 12.261 -12.325 1.00100.00 C +ATOM 561 NZ LYS E 83 28.162 13.027 -11.253 1.00 40.32 N +ATOM 562 N GLN E 84 20.461 13.980 -11.230 1.00 20.61 N +ATOM 563 CA GLN E 84 19.222 13.260 -11.174 1.00 20.65 C +ATOM 564 C GLN E 84 18.144 13.902 -11.980 1.00 15.33 C +ATOM 565 O GLN E 84 16.965 13.636 -11.724 1.00 18.59 O +ATOM 566 CB GLN E 84 18.752 13.052 -9.731 1.00 2.48 C +ATOM 567 CG GLN E 84 19.831 12.449 -8.869 1.00 28.97 C +ATOM 568 CD GLN E 84 19.867 11.000 -9.192 1.00 30.86 C +ATOM 569 OE1 GLN E 84 18.789 10.413 -9.405 1.00 25.26 O +ATOM 570 NE2 GLN E 84 21.084 10.440 -9.253 1.00 29.23 N +ATOM 571 N ILE E 85 18.571 14.726 -12.928 1.00 24.54 N +ATOM 572 CA ILE E 85 17.653 15.425 -13.803 1.00 32.40 C +ATOM 573 C ILE E 85 16.677 14.469 -14.484 1.00 32.18 C +ATOM 574 O ILE E 85 15.464 14.612 -14.331 1.00 32.16 O +ATOM 575 CB ILE E 85 18.354 16.314 -14.841 1.00 23.72 C +ATOM 576 CG1 ILE E 85 19.215 17.401 -14.191 1.00 59.00 C +ATOM 577 CG2 ILE E 85 17.313 16.936 -15.772 1.00 27.50 C +ATOM 578 CD1 ILE E 85 20.228 18.039 -15.150 1.00 16.78 C +ATOM 579 N GLU E 86 17.202 13.490 -15.247 1.00 37.30 N +ATOM 580 CA GLU E 86 16.349 12.521 -15.936 1.00 18.07 C +ATOM 581 C GLU E 86 15.466 11.659 -14.996 1.00 43.72 C +ATOM 582 O GLU E 86 14.301 11.401 -15.276 1.00 32.15 O +ATOM 583 CB GLU E 86 17.120 11.648 -16.953 1.00 12.90 C +ATOM 584 CG GLU E 86 16.168 10.888 -17.921 1.00 20.25 C +ATOM 585 CD GLU E 86 15.684 11.679 -19.121 1.00100.00 C +ATOM 586 OE1 GLU E 86 16.282 12.831 -19.294 1.00 47.85 O +ATOM 587 OE2 GLU E 86 14.823 11.276 -19.873 1.00 26.06 O +ATOM 588 N HIS E 87 16.023 11.211 -13.868 1.00 14.16 N +ATOM 589 CA HIS E 87 15.300 10.398 -12.880 1.00 10.41 C +ATOM 590 C HIS E 87 14.160 11.099 -12.196 1.00 50.62 C +ATOM 591 O HIS E 87 13.208 10.428 -11.814 1.00 20.67 O +ATOM 592 CB HIS E 87 16.234 9.885 -11.768 1.00 19.35 C +ATOM 593 CG HIS E 87 17.242 8.925 -12.264 1.00 46.66 C +ATOM 594 ND1 HIS E 87 18.475 8.805 -11.657 1.00 17.78 N +ATOM 595 CD2 HIS E 87 17.177 8.048 -13.301 1.00 18.72 C +ATOM 596 CE1 HIS E 87 19.137 7.871 -12.339 1.00 11.01 C +ATOM 597 NE2 HIS E 87 18.391 7.383 -13.322 1.00 29.49 N +ATOM 598 N THR E 88 14.297 12.424 -12.016 1.00 22.40 N +ATOM 599 CA THR E 88 13.276 13.223 -11.360 1.00 15.98 C +ATOM 600 C THR E 88 12.069 13.305 -12.268 1.00 9.61 C +ATOM 601 O THR E 88 10.929 13.093 -11.869 1.00 21.20 O +ATOM 602 CB THR E 88 13.829 14.609 -10.916 1.00100.00 C +ATOM 603 OG1 THR E 88 14.838 14.429 -9.929 1.00 24.01 O +ATOM 604 CG2 THR E 88 12.737 15.530 -10.354 1.00 21.58 C +ATOM 605 N LEU E 89 12.357 13.605 -13.509 1.00 11.78 N +ATOM 606 CA LEU E 89 11.338 13.686 -14.538 1.00 28.45 C +ATOM 607 C LEU E 89 10.570 12.373 -14.587 1.00 15.53 C +ATOM 608 O LEU E 89 9.349 12.377 -14.611 1.00 29.71 O +ATOM 609 CB LEU E 89 11.971 13.989 -15.904 1.00 8.38 C +ATOM 610 CG LEU E 89 12.592 15.393 -15.989 1.00 35.18 C +ATOM 611 CD1 LEU E 89 13.195 15.644 -17.387 1.00 16.56 C +ATOM 612 CD2 LEU E 89 11.555 16.458 -15.639 1.00 10.88 C +ATOM 613 N ASN E 90 11.313 11.241 -14.570 1.00 16.76 N +ATOM 614 CA ASN E 90 10.726 9.899 -14.565 1.00 12.61 C +ATOM 615 C ASN E 90 9.814 9.714 -13.422 1.00 14.51 C +ATOM 616 O ASN E 90 8.700 9.216 -13.571 1.00 24.61 O +ATOM 617 CB ASN E 90 11.730 8.800 -14.271 1.00 16.39 C +ATOM 618 CG ASN E 90 12.574 8.537 -15.459 1.00 32.52 C +ATOM 619 OD1 ASN E 90 12.137 8.801 -16.592 1.00 23.81 O +ATOM 620 ND2 ASN E 90 13.781 8.045 -15.189 1.00 35.46 N +ATOM 621 N GLU E 91 10.335 10.085 -12.254 1.00 14.57 N +ATOM 622 CA GLU E 91 9.565 9.936 -11.033 1.00 56.46 C +ATOM 623 C GLU E 91 8.243 10.644 -11.042 1.00 26.28 C +ATOM 624 O GLU E 91 7.217 10.055 -10.707 1.00 25.78 O +ATOM 625 CB GLU E 91 10.354 10.142 -9.730 1.00 12.78 C +ATOM 626 CG GLU E 91 9.839 11.253 -8.824 1.00 39.16 C +ATOM 627 CD GLU E 91 10.609 11.333 -7.518 1.00 35.54 C +ATOM 628 OE1 GLU E 91 11.799 11.798 -7.613 1.00 8.23 O +ATOM 629 OE2 GLU E 91 10.181 11.021 -6.459 1.00 7.42 O +ATOM 630 N LYS E 92 8.240 11.900 -11.432 1.00 25.95 N +ATOM 631 CA LYS E 92 6.980 12.571 -11.442 1.00 14.02 C +ATOM 632 C LYS E 92 6.041 11.975 -12.476 1.00 33.75 C +ATOM 633 O LYS E 92 4.863 11.717 -12.227 1.00 15.51 O +ATOM 634 CB LYS E 92 7.119 14.073 -11.565 1.00 52.87 C +ATOM 635 CG LYS E 92 5.771 14.768 -11.598 1.00 38.86 C +ATOM 636 CD LYS E 92 5.215 14.853 -13.005 1.00 28.97 C +ATOM 637 CE LYS E 92 5.327 16.265 -13.567 1.00 25.64 C +ATOM 638 NZ LYS E 92 4.346 16.555 -14.620 1.00 35.80 N +ATOM 639 N ARG E 93 6.600 11.744 -13.647 1.00 23.30 N +ATOM 640 CA ARG E 93 5.903 11.171 -14.789 1.00 18.44 C +ATOM 641 C ARG E 93 5.266 9.819 -14.525 1.00 77.10 C +ATOM 642 O ARG E 93 4.133 9.560 -14.945 1.00 22.52 O +ATOM 643 CB ARG E 93 6.857 11.014 -15.943 1.00 29.48 C +ATOM 644 CG ARG E 93 6.071 10.709 -17.188 1.00 6.17 C +ATOM 645 CD ARG E 93 6.886 10.727 -18.473 1.00 59.85 C +ATOM 646 NE ARG E 93 6.095 10.298 -19.631 1.00 21.73 N +ATOM 647 CZ ARG E 93 6.560 10.340 -20.871 1.00100.00 C +ATOM 648 NH1 ARG E 93 7.787 10.781 -21.149 1.00 12.46 N +ATOM 649 NH2 ARG E 93 5.771 9.927 -21.855 1.00 16.53 N +ATOM 650 N ILE E 94 6.034 8.958 -13.851 1.00 12.81 N +ATOM 651 CA ILE E 94 5.590 7.635 -13.494 1.00 32.01 C +ATOM 652 C ILE E 94 4.545 7.667 -12.365 1.00 24.27 C +ATOM 653 O ILE E 94 3.488 7.049 -12.414 1.00 17.20 O +ATOM 654 CB ILE E 94 6.765 6.754 -13.077 1.00 42.77 C +ATOM 655 CG1 ILE E 94 7.780 6.592 -14.207 1.00 47.27 C +ATOM 656 CG2 ILE E 94 6.237 5.387 -12.681 1.00 22.11 C +ATOM 657 CD1 ILE E 94 8.697 5.385 -14.023 1.00 28.54 C +ATOM 658 N LEU E 95 4.825 8.404 -11.326 1.00 22.63 N +ATOM 659 CA LEU E 95 3.880 8.423 -10.248 1.00 28.89 C +ATOM 660 C LEU E 95 2.490 8.922 -10.610 1.00 27.05 C +ATOM 661 O LEU E 95 1.522 8.309 -10.196 1.00 24.45 O +ATOM 662 CB LEU E 95 4.453 9.050 -8.945 1.00 9.55 C +ATOM 663 CG LEU E 95 4.401 8.224 -7.642 1.00 70.81 C +ATOM 664 CD1 LEU E 95 4.108 9.124 -6.445 1.00 55.70 C +ATOM 665 CD2 LEU E 95 3.395 7.095 -7.666 1.00 20.99 C +ATOM 666 N GLN E 96 2.365 10.010 -11.384 1.00 23.17 N +ATOM 667 CA GLN E 96 1.031 10.509 -11.741 1.00 21.28 C +ATOM 668 C GLN E 96 0.129 9.526 -12.504 1.00 28.61 C +ATOM 669 O GLN E 96 -1.095 9.562 -12.379 1.00 47.48 O +ATOM 670 CB GLN E 96 1.084 11.882 -12.437 1.00 35.95 C +ATOM 671 CG GLN E 96 1.969 11.870 -13.706 1.00 17.16 C +ATOM 672 CD GLN E 96 1.184 11.932 -14.999 1.00100.00 C +ATOM 673 OE1 GLN E 96 0.326 12.811 -15.175 1.00 34.65 O +ATOM 674 NE2 GLN E 96 1.503 11.019 -15.924 1.00 21.63 N +ATOM 675 N ALA E 97 0.746 8.637 -13.285 1.00 40.25 N +ATOM 676 CA ALA E 97 0.031 7.659 -14.092 1.00 9.84 C +ATOM 677 C ALA E 97 -0.266 6.295 -13.473 1.00 8.84 C +ATOM 678 O ALA E 97 -1.127 5.562 -13.976 1.00 34.15 O +ATOM 679 CB ALA E 97 0.789 7.450 -15.404 1.00 12.41 C +ATOM 680 N VAL E 98 0.444 5.878 -12.433 1.00 21.53 N +ATOM 681 CA VAL E 98 0.119 4.548 -11.924 1.00 32.51 C +ATOM 682 C VAL E 98 -1.133 4.576 -11.076 1.00 63.44 C +ATOM 683 O VAL E 98 -1.548 5.638 -10.652 1.00 19.28 O +ATOM 684 CB VAL E 98 1.260 3.849 -11.190 1.00 18.47 C +ATOM 685 CG1 VAL E 98 2.405 3.500 -12.131 1.00 25.02 C +ATOM 686 CG2 VAL E 98 1.743 4.723 -10.025 1.00 11.83 C +ATOM 687 N ASN E 99 -1.719 3.411 -10.827 1.00 22.48 N +ATOM 688 CA ASN E 99 -2.921 3.314 -10.023 1.00 8.56 C +ATOM 689 C ASN E 99 -3.050 1.931 -9.481 1.00 28.69 C +ATOM 690 O ASN E 99 -3.515 0.989 -10.120 1.00 56.07 O +ATOM 691 CB ASN E 99 -4.185 3.729 -10.763 1.00 26.79 C +ATOM 692 CG ASN E 99 -5.320 4.026 -9.805 1.00 16.85 C +ATOM 693 OD1 ASN E 99 -6.483 3.685 -10.070 1.00100.00 O +ATOM 694 ND2 ASN E 99 -4.994 4.655 -8.679 1.00100.00 N +ATOM 695 N PHE E 100 -2.598 1.813 -8.277 1.00 21.42 N +ATOM 696 CA PHE E 100 -2.638 0.554 -7.644 1.00 16.62 C +ATOM 697 C PHE E 100 -2.909 0.728 -6.149 1.00 15.93 C +ATOM 698 O PHE E 100 -2.637 1.775 -5.548 1.00 21.60 O +ATOM 699 CB PHE E 100 -1.337 -0.186 -7.990 1.00 40.62 C +ATOM 700 CG PHE E 100 -1.483 -1.674 -7.933 1.00 21.99 C +ATOM 701 CD1 PHE E 100 -2.205 -2.364 -8.906 1.00 35.20 C +ATOM 702 CD2 PHE E 100 -0.904 -2.382 -6.880 1.00 3.48 C +ATOM 703 CE1 PHE E 100 -2.348 -3.750 -8.845 1.00 26.52 C +ATOM 704 CE2 PHE E 100 -1.030 -3.768 -6.808 1.00 67.43 C +ATOM 705 CZ PHE E 100 -1.744 -4.441 -7.799 1.00 7.07 C +ATOM 706 N PRO E 101 -3.473 -0.303 -5.544 1.00 20.67 N +ATOM 707 CA PRO E 101 -3.811 -0.239 -4.147 1.00 15.31 C +ATOM 708 C PRO E 101 -2.638 -0.211 -3.200 1.00 68.47 C +ATOM 709 O PRO E 101 -2.831 -0.055 -2.005 1.00 29.91 O +ATOM 710 CB PRO E 101 -4.691 -1.457 -3.848 1.00 25.45 C +ATOM 711 CG PRO E 101 -4.851 -2.246 -5.145 1.00 36.30 C +ATOM 712 CD PRO E 101 -4.079 -1.490 -6.221 1.00 21.07 C +ATOM 713 N PHE E 102 -1.428 -0.361 -3.704 1.00 18.95 N +ATOM 714 CA PHE E 102 -0.316 -0.352 -2.790 1.00 17.93 C +ATOM 715 C PHE E 102 0.740 0.688 -3.156 1.00 18.68 C +ATOM 716 O PHE E 102 1.904 0.570 -2.761 1.00 31.42 O +ATOM 717 CB PHE E 102 0.295 -1.753 -2.668 1.00 23.25 C +ATOM 718 CG PHE E 102 -0.702 -2.857 -2.418 1.00 27.55 C +ATOM 719 CD1 PHE E 102 -1.538 -2.820 -1.301 1.00 41.21 C +ATOM 720 CD2 PHE E 102 -0.789 -3.954 -3.279 1.00 42.21 C +ATOM 721 CE1 PHE E 102 -2.449 -3.844 -1.042 1.00 31.94 C +ATOM 722 CE2 PHE E 102 -1.697 -4.987 -3.041 1.00 33.02 C +ATOM 723 CZ PHE E 102 -2.527 -4.925 -1.921 1.00 33.60 C +ATOM 724 N LEU E 103 0.334 1.700 -3.919 1.00 18.11 N +ATOM 725 CA LEU E 103 1.241 2.784 -4.347 1.00 25.07 C +ATOM 726 C LEU E 103 0.749 4.089 -3.796 1.00 34.90 C +ATOM 727 O LEU E 103 -0.468 4.251 -3.772 1.00 23.48 O +ATOM 728 CB LEU E 103 1.213 2.937 -5.870 1.00 19.86 C +ATOM 729 CG LEU E 103 1.578 1.681 -6.608 1.00 5.17 C +ATOM 730 CD1 LEU E 103 1.628 1.988 -8.084 1.00 18.11 C +ATOM 731 CD2 LEU E 103 2.940 1.222 -6.120 1.00 19.87 C +ATOM 732 N VAL E 104 1.636 5.026 -3.375 1.00 28.23 N +ATOM 733 CA VAL E 104 1.105 6.294 -2.848 1.00 35.22 C +ATOM 734 C VAL E 104 0.451 7.030 -3.964 1.00 24.79 C +ATOM 735 O VAL E 104 0.854 6.823 -5.094 1.00 14.60 O +ATOM 736 CB VAL E 104 2.116 7.315 -2.360 1.00 26.72 C +ATOM 737 CG1 VAL E 104 2.360 7.256 -0.876 1.00 19.70 C +ATOM 738 CG2 VAL E 104 3.373 7.282 -3.201 1.00 17.28 C +ATOM 739 N LYS E 105 -0.501 7.908 -3.609 1.00 13.97 N +ATOM 740 CA LYS E 105 -1.217 8.740 -4.554 1.00 34.54 C +ATOM 741 C LYS E 105 -0.591 10.112 -4.586 1.00 22.19 C +ATOM 742 O LYS E 105 -0.361 10.710 -3.557 1.00 27.41 O +ATOM 743 CB LYS E 105 -2.683 8.936 -4.202 1.00 54.89 C +ATOM 744 CG LYS E 105 -3.554 7.695 -4.276 1.00 36.42 C +ATOM 745 CD LYS E 105 -5.032 8.002 -3.973 1.00100.00 C +ATOM 746 CE LYS E 105 -5.337 8.402 -2.520 1.00100.00 C +ATOM 747 NZ LYS E 105 -6.776 8.348 -2.160 1.00 42.23 N +ATOM 748 N LEU E 106 -0.319 10.587 -5.784 1.00 25.22 N +ATOM 749 CA LEU E 106 0.264 11.892 -6.021 1.00 29.95 C +ATOM 750 C LEU E 106 -0.887 12.823 -6.310 1.00 31.27 C +ATOM 751 O LEU E 106 -1.526 12.712 -7.346 1.00 31.23 O +ATOM 752 CB LEU E 106 1.132 11.862 -7.291 1.00 10.90 C +ATOM 753 CG LEU E 106 1.789 13.197 -7.655 1.00 23.81 C +ATOM 754 CD1 LEU E 106 2.686 13.688 -6.519 1.00 29.27 C +ATOM 755 CD2 LEU E 106 2.655 12.999 -8.905 1.00 22.51 C +ATOM 756 N GLU E 107 -1.157 13.722 -5.395 1.00 33.79 N +ATOM 757 CA GLU E 107 -2.246 14.654 -5.551 1.00 24.36 C +ATOM 758 C GLU E 107 -1.976 15.851 -6.465 1.00 33.74 C +ATOM 759 O GLU E 107 -2.775 16.106 -7.363 1.00 48.36 O +ATOM 760 CB GLU E 107 -2.772 15.095 -4.178 1.00 45.15 C +ATOM 761 CG GLU E 107 -3.514 13.964 -3.453 1.00100.00 C +ATOM 762 CD GLU E 107 -4.696 13.484 -4.244 1.00100.00 C +ATOM 763 OE1 GLU E 107 -5.146 14.082 -5.214 1.00100.00 O +ATOM 764 OE2 GLU E 107 -5.177 12.357 -3.786 1.00100.00 O +ATOM 765 N PHE E 108 -0.871 16.594 -6.206 1.00 19.21 N +ATOM 766 CA PHE E 108 -0.473 17.783 -6.965 1.00 24.46 C +ATOM 767 C PHE E 108 1.014 17.761 -7.197 1.00 32.38 C +ATOM 768 O PHE E 108 1.751 17.014 -6.528 1.00 19.42 O +ATOM 769 CB PHE E 108 -0.825 19.129 -6.248 1.00 28.45 C +ATOM 770 CG PHE E 108 -2.048 18.997 -5.375 1.00 16.23 C +ATOM 771 CD1 PHE E 108 -1.988 18.549 -4.051 1.00 34.34 C +ATOM 772 CD2 PHE E 108 -3.301 19.283 -5.917 1.00 54.42 C +ATOM 773 CE1 PHE E 108 -3.150 18.410 -3.282 1.00 19.96 C +ATOM 774 CE2 PHE E 108 -4.471 19.154 -5.168 1.00 58.58 C +ATOM 775 CZ PHE E 108 -4.391 18.714 -3.845 1.00 20.12 C +ATOM 776 N SER E 109 1.402 18.614 -8.141 1.00 19.70 N +ATOM 777 CA SER E 109 2.786 18.822 -8.539 1.00 35.56 C +ATOM 778 C SER E 109 2.968 20.206 -9.137 1.00 48.13 C +ATOM 779 O SER E 109 2.141 20.698 -9.892 1.00 30.56 O +ATOM 780 CB SER E 109 3.273 17.766 -9.496 1.00 12.02 C +ATOM 781 OG SER E 109 2.373 17.653 -10.596 1.00 45.29 O +ATOM 782 N PHE E 110 4.058 20.849 -8.791 1.00 28.72 N +ATOM 783 CA PHE E 110 4.308 22.172 -9.297 1.00 32.53 C +ATOM 784 C PHE E 110 5.711 22.523 -8.986 1.00 32.60 C +ATOM 785 O PHE E 110 6.322 21.893 -8.126 1.00 25.67 O +ATOM 786 CB PHE E 110 3.382 23.224 -8.669 1.00 6.39 C +ATOM 787 CG PHE E 110 3.414 23.260 -7.148 1.00 39.93 C +ATOM 788 CD1 PHE E 110 4.342 24.027 -6.442 1.00 48.93 C +ATOM 789 CD2 PHE E 110 2.487 22.522 -6.410 1.00 36.34 C +ATOM 790 CE1 PHE E 110 4.356 24.052 -5.045 1.00 47.71 C +ATOM 791 CE2 PHE E 110 2.481 22.534 -5.016 1.00 64.83 C +ATOM 792 CZ PHE E 110 3.420 23.304 -4.330 1.00 8.34 C +ATOM 793 N LYS E 111 6.207 23.523 -9.673 1.00 19.92 N +ATOM 794 CA LYS E 111 7.572 23.938 -9.441 1.00 30.38 C +ATOM 795 C LYS E 111 7.586 25.421 -9.272 1.00 74.73 C +ATOM 796 O LYS E 111 6.579 26.075 -9.500 1.00 17.99 O +ATOM 797 CB LYS E 111 8.495 23.539 -10.593 1.00 14.45 C +ATOM 798 CG LYS E 111 7.757 23.559 -11.928 1.00 11.98 C +ATOM 799 CD LYS E 111 8.638 23.852 -13.154 1.00 25.66 C +ATOM 800 CE LYS E 111 7.884 23.714 -14.472 1.00 27.00 C +ATOM 801 NZ LYS E 111 8.715 23.317 -15.616 1.00 27.95 N +ATOM 802 N ASP E 112 8.738 25.929 -8.884 1.00 19.68 N +ATOM 803 CA ASP E 112 8.937 27.344 -8.700 1.00 24.88 C +ATOM 804 C ASP E 112 10.345 27.731 -9.107 1.00 37.97 C +ATOM 805 O ASP E 112 11.092 26.906 -9.618 1.00 47.21 O +ATOM 806 CB ASP E 112 8.526 27.857 -7.319 1.00 17.46 C +ATOM 807 CG ASP E 112 9.429 27.414 -6.232 1.00 19.44 C +ATOM 808 OD1 ASP E 112 10.536 26.942 -6.433 1.00 42.06 O +ATOM 809 OD2 ASP E 112 8.894 27.578 -5.057 1.00 23.09 O +ATOM 810 N ASN E 113 10.706 28.975 -8.885 1.00 35.51 N +ATOM 811 CA ASN E 113 12.026 29.471 -9.245 1.00 24.17 C +ATOM 812 C ASN E 113 13.164 28.636 -8.723 1.00 43.38 C +ATOM 813 O ASN E 113 14.220 28.592 -9.349 1.00 34.42 O +ATOM 814 CB ASN E 113 12.225 30.896 -8.727 1.00100.00 C +ATOM 815 CG ASN E 113 11.984 32.004 -9.730 1.00 53.90 C +ATOM 816 OD1 ASN E 113 11.947 33.169 -9.329 1.00 55.87 O +ATOM 817 ND2 ASN E 113 11.824 31.676 -11.020 1.00 32.72 N +ATOM 818 N SER E 114 12.960 28.001 -7.566 1.00 24.00 N +ATOM 819 CA SER E 114 14.007 27.185 -6.976 1.00 31.88 C +ATOM 820 C SER E 114 13.699 25.713 -6.792 1.00 12.61 C +ATOM 821 O SER E 114 14.639 24.948 -6.617 1.00 47.33 O +ATOM 822 CB SER E 114 14.315 27.704 -5.595 1.00 19.81 C +ATOM 823 OG SER E 114 14.411 29.102 -5.655 1.00 41.31 O +ATOM 824 N ASN E 115 12.419 25.297 -6.780 1.00 22.05 N +ATOM 825 CA ASN E 115 12.195 23.884 -6.515 1.00 30.59 C +ATOM 826 C ASN E 115 11.097 23.202 -7.231 1.00 35.51 C +ATOM 827 O ASN E 115 10.296 23.842 -7.888 1.00 26.15 O +ATOM 828 CB ASN E 115 11.919 23.690 -5.027 1.00 41.72 C +ATOM 829 CG ASN E 115 12.851 24.521 -4.182 1.00 30.55 C +ATOM 830 OD1 ASN E 115 14.070 24.389 -4.295 1.00 40.02 O +ATOM 831 ND2 ASN E 115 12.293 25.406 -3.370 1.00 17.66 N +ATOM 832 N LEU E 116 11.106 21.868 -7.035 1.00 19.71 N +ATOM 833 CA LEU E 116 10.125 20.937 -7.601 1.00 11.35 C +ATOM 834 C LEU E 116 9.251 20.295 -6.494 1.00 20.96 C +ATOM 835 O LEU E 116 9.748 19.751 -5.515 1.00 22.80 O +ATOM 836 CB LEU E 116 10.814 19.811 -8.385 1.00 16.29 C +ATOM 837 CG LEU E 116 11.808 20.275 -9.450 1.00 37.53 C +ATOM 838 CD1 LEU E 116 12.399 19.027 -10.099 1.00 44.12 C +ATOM 839 CD2 LEU E 116 11.139 21.167 -10.507 1.00 15.92 C +ATOM 840 N TYR E 117 7.937 20.326 -6.635 1.00 17.66 N +ATOM 841 CA TYR E 117 7.104 19.742 -5.600 1.00 2.11 C +ATOM 842 C TYR E 117 6.143 18.666 -6.085 1.00 9.97 C +ATOM 843 O TYR E 117 5.576 18.729 -7.178 1.00 38.23 O +ATOM 844 CB TYR E 117 6.289 20.834 -4.858 1.00 25.84 C +ATOM 845 CG TYR E 117 7.046 22.095 -4.494 1.00 35.49 C +ATOM 846 CD1 TYR E 117 7.357 23.034 -5.478 1.00 16.99 C +ATOM 847 CD2 TYR E 117 7.434 22.349 -3.176 1.00 3.12 C +ATOM 848 CE1 TYR E 117 8.054 24.209 -5.187 1.00 9.69 C +ATOM 849 CE2 TYR E 117 8.106 23.530 -2.859 1.00 19.67 C +ATOM 850 CZ TYR E 117 8.411 24.451 -3.862 1.00 21.84 C +ATOM 851 OH TYR E 117 9.092 25.588 -3.547 1.00 31.47 O +ATOM 852 N MET E 118 5.952 17.671 -5.225 1.00 15.52 N +ATOM 853 CA MET E 118 5.054 16.576 -5.488 1.00 37.26 C +ATOM 854 C MET E 118 4.224 16.444 -4.262 1.00 13.94 C +ATOM 855 O MET E 118 4.750 16.166 -3.188 1.00 32.52 O +ATOM 856 CB MET E 118 5.791 15.269 -5.774 1.00 8.65 C +ATOM 857 CG MET E 118 6.845 15.491 -6.839 1.00 38.55 C +ATOM 858 SD MET E 118 7.545 13.943 -7.433 1.00 30.44 S +ATOM 859 CE MET E 118 9.249 14.222 -6.927 1.00 29.10 C +ATOM 860 N VAL E 119 2.929 16.671 -4.399 1.00 43.92 N +ATOM 861 CA VAL E 119 2.079 16.580 -3.233 1.00 62.19 C +ATOM 862 C VAL E 119 1.386 15.257 -3.233 1.00 36.25 C +ATOM 863 O VAL E 119 0.615 14.994 -4.147 1.00 14.03 O +ATOM 864 CB VAL E 119 1.118 17.770 -3.132 1.00 49.03 C +ATOM 865 CG1 VAL E 119 0.280 17.713 -1.842 1.00 11.97 C +ATOM 866 CG2 VAL E 119 1.963 19.032 -3.124 1.00 1.00 C +ATOM 867 N MET E 120 1.693 14.421 -2.243 1.00 6.22 N +ATOM 868 CA MET E 120 1.072 13.121 -2.164 1.00 35.40 C +ATOM 869 C MET E 120 0.244 12.966 -0.913 1.00 27.99 C +ATOM 870 O MET E 120 0.303 13.717 0.043 1.00 28.88 O +ATOM 871 CB MET E 120 2.037 11.890 -2.208 1.00 7.46 C +ATOM 872 CG MET E 120 3.294 12.019 -3.062 1.00 23.34 C +ATOM 873 SD MET E 120 4.694 11.122 -2.317 1.00 24.83 S +ATOM 874 CE MET E 120 5.513 12.462 -1.428 1.00 18.69 C +ATOM 875 N GLU E 121 -0.513 11.917 -0.950 1.00 14.64 N +ATOM 876 CA GLU E 121 -1.330 11.521 0.143 1.00 13.31 C +ATOM 877 C GLU E 121 -0.417 11.267 1.339 1.00 66.17 C +ATOM 878 O GLU E 121 0.705 10.758 1.227 1.00 21.01 O +ATOM 879 CB GLU E 121 -2.024 10.217 -0.312 1.00 15.28 C +ATOM 880 CG GLU E 121 -3.212 9.733 0.513 1.00 99.46 C +ATOM 881 CD GLU E 121 -3.358 8.267 0.265 1.00 84.54 C +ATOM 882 OE1 GLU E 121 -2.588 7.667 -0.481 1.00 52.31 O +ATOM 883 OE2 GLU E 121 -4.367 7.725 0.913 1.00100.00 O +ATOM 884 N TYR E 122 -0.887 11.623 2.511 1.00 30.12 N +ATOM 885 CA TYR E 122 -0.087 11.407 3.683 1.00 17.03 C +ATOM 886 C TYR E 122 -0.289 9.990 4.291 1.00100.00 C +ATOM 887 O TYR E 122 -1.382 9.668 4.729 1.00 35.40 O +ATOM 888 CB TYR E 122 -0.420 12.529 4.688 1.00 22.26 C +ATOM 889 CG TYR E 122 0.195 12.315 6.032 1.00 26.57 C +ATOM 890 CD1 TYR E 122 1.561 12.091 6.196 1.00 5.65 C +ATOM 891 CD2 TYR E 122 -0.618 12.346 7.159 1.00 32.16 C +ATOM 892 CE1 TYR E 122 2.086 11.891 7.474 1.00 22.76 C +ATOM 893 CE2 TYR E 122 -0.109 12.157 8.440 1.00 22.40 C +ATOM 894 CZ TYR E 122 1.251 11.924 8.586 1.00 28.25 C +ATOM 895 OH TYR E 122 1.775 11.721 9.839 1.00 32.15 O +ATOM 896 N VAL E 123 0.751 9.121 4.312 1.00 36.96 N +ATOM 897 CA VAL E 123 0.658 7.757 4.899 1.00 23.53 C +ATOM 898 C VAL E 123 1.193 7.779 6.331 1.00 26.16 C +ATOM 899 O VAL E 123 2.379 7.571 6.588 1.00 22.71 O +ATOM 900 CB VAL E 123 1.312 6.675 4.043 1.00 16.72 C +ATOM 901 CG1 VAL E 123 0.876 5.274 4.476 1.00 23.64 C +ATOM 902 CG2 VAL E 123 0.869 6.887 2.606 1.00 30.40 C +ATOM 903 N ALA E 124 0.277 8.059 7.264 1.00 12.97 N +ATOM 904 CA ALA E 124 0.541 8.224 8.688 1.00 24.53 C +ATOM 905 C ALA E 124 1.225 7.118 9.488 1.00 26.05 C +ATOM 906 O ALA E 124 1.922 7.395 10.462 1.00 46.01 O +ATOM 907 CB ALA E 124 -0.748 8.672 9.338 1.00 33.39 C +ATOM 908 N GLY E 125 1.015 5.876 9.074 1.00 26.24 N +ATOM 909 CA GLY E 125 1.555 4.691 9.734 1.00 73.92 C +ATOM 910 C GLY E 125 3.045 4.695 10.059 1.00 15.81 C +ATOM 911 O GLY E 125 3.471 4.006 10.976 1.00 27.29 O +ATOM 912 N GLY E 126 3.843 5.472 9.311 1.00 25.64 N +ATOM 913 CA GLY E 126 5.277 5.517 9.537 1.00 21.72 C +ATOM 914 C GLY E 126 5.973 4.596 8.556 1.00 23.87 C +ATOM 915 O GLY E 126 5.334 3.974 7.694 1.00 23.84 O +ATOM 916 N GLU E 127 7.291 4.505 8.648 1.00 25.19 N +ATOM 917 CA GLU E 127 8.003 3.603 7.739 1.00 1.00 C +ATOM 918 C GLU E 127 8.040 2.175 8.328 1.00100.00 C +ATOM 919 O GLU E 127 8.097 1.958 9.545 1.00 22.51 O +ATOM 920 CB GLU E 127 9.481 4.023 7.607 1.00 14.26 C +ATOM 921 CG GLU E 127 9.791 5.422 7.060 1.00 28.45 C +ATOM 922 CD GLU E 127 11.253 5.708 7.267 1.00 39.65 C +ATOM 923 OE1 GLU E 127 11.951 5.007 7.989 1.00 25.82 O +ATOM 924 OE2 GLU E 127 11.685 6.755 6.599 1.00 27.84 O +ATOM 925 N MET E 128 8.048 1.158 7.483 1.00 20.35 N +ATOM 926 CA MET E 128 8.115 -0.207 8.023 1.00 13.99 C +ATOM 927 C MET E 128 9.377 -0.327 8.874 1.00 4.46 C +ATOM 928 O MET E 128 9.470 -1.087 9.831 1.00 40.71 O +ATOM 929 CB MET E 128 8.239 -1.229 6.865 1.00 12.11 C +ATOM 930 CG MET E 128 8.403 -2.687 7.280 1.00 1.46 C +ATOM 931 SD MET E 128 8.833 -3.741 5.852 1.00 27.41 S +ATOM 932 CE MET E 128 7.207 -3.885 5.071 1.00 15.92 C +ATOM 933 N PHE E 129 10.348 0.453 8.457 1.00 11.02 N +ATOM 934 CA PHE E 129 11.680 0.526 9.033 1.00 19.07 C +ATOM 935 C PHE E 129 11.660 0.733 10.513 1.00 8.73 C +ATOM 936 O PHE E 129 12.178 -0.079 11.274 1.00 21.96 O +ATOM 937 CB PHE E 129 12.568 1.583 8.301 1.00 11.92 C +ATOM 938 CG PHE E 129 13.943 1.689 8.857 1.00 26.03 C +ATOM 939 CD1 PHE E 129 14.963 0.847 8.415 1.00 82.21 C +ATOM 940 CD2 PHE E 129 14.226 2.625 9.854 1.00 38.17 C +ATOM 941 CE1 PHE E 129 16.242 0.943 8.962 1.00 39.38 C +ATOM 942 CE2 PHE E 129 15.500 2.729 10.413 1.00 15.10 C +ATOM 943 CZ PHE E 129 16.504 1.872 9.971 1.00 24.16 C +ATOM 944 N SER E 130 11.028 1.838 10.901 1.00 13.36 N +ATOM 945 CA SER E 130 10.922 2.228 12.285 1.00 39.37 C +ATOM 946 C SER E 130 10.291 1.155 13.159 1.00 16.84 C +ATOM 947 O SER E 130 10.710 0.913 14.300 1.00 42.70 O +ATOM 948 CB SER E 130 10.249 3.583 12.410 1.00 15.55 C +ATOM 949 OG SER E 130 8.949 3.497 11.843 1.00 38.06 O +ATOM 950 N HIS E 131 9.266 0.516 12.620 1.00 16.19 N +ATOM 951 CA HIS E 131 8.572 -0.523 13.321 1.00 17.34 C +ATOM 952 C HIS E 131 9.436 -1.763 13.398 1.00 52.04 C +ATOM 953 O HIS E 131 9.607 -2.393 14.434 1.00 29.16 O +ATOM 954 CB HIS E 131 7.301 -0.869 12.556 1.00 20.76 C +ATOM 955 CG HIS E 131 6.397 0.292 12.561 1.00 25.72 C +ATOM 956 ND1 HIS E 131 5.766 0.696 13.726 1.00 37.68 N +ATOM 957 CD2 HIS E 131 6.036 1.134 11.558 1.00 42.99 C +ATOM 958 CE1 HIS E 131 5.030 1.759 13.404 1.00 14.08 C +ATOM 959 NE2 HIS E 131 5.171 2.049 12.115 1.00 46.05 N +ATOM 960 N LEU E 132 9.976 -2.117 12.260 1.00 20.20 N +ATOM 961 CA LEU E 132 10.831 -3.280 12.148 1.00 30.46 C +ATOM 962 C LEU E 132 11.987 -3.137 13.098 1.00 32.86 C +ATOM 963 O LEU E 132 12.176 -4.004 13.938 1.00 23.66 O +ATOM 964 CB LEU E 132 11.253 -3.472 10.700 1.00 7.80 C +ATOM 965 CG LEU E 132 12.259 -4.588 10.432 1.00 31.18 C +ATOM 966 CD1 LEU E 132 11.573 -5.952 10.504 1.00 9.78 C +ATOM 967 CD2 LEU E 132 12.882 -4.376 9.047 1.00 25.38 C +ATOM 968 N ARG E 133 12.731 -2.024 12.989 1.00 32.07 N +ATOM 969 CA ARG E 133 13.824 -1.797 13.912 1.00 53.57 C +ATOM 970 C ARG E 133 13.241 -1.815 15.318 1.00 31.15 C +ATOM 971 O ARG E 133 13.914 -2.217 16.253 1.00 37.64 O +ATOM 972 CB ARG E 133 14.518 -0.467 13.709 1.00 20.75 C +ATOM 973 CG ARG E 133 15.382 -0.376 12.471 1.00 19.06 C +ATOM 974 CD ARG E 133 16.659 -1.205 12.547 1.00 17.49 C +ATOM 975 NE ARG E 133 16.561 -2.270 11.580 1.00100.00 N +ATOM 976 CZ ARG E 133 17.096 -2.202 10.382 1.00 43.14 C +ATOM 977 NH1 ARG E 133 17.793 -1.161 9.973 1.00 44.40 N +ATOM 978 NH2 ARG E 133 16.919 -3.220 9.582 1.00 39.75 N +ATOM 979 N ARG E 134 11.990 -1.354 15.488 1.00 59.22 N +ATOM 980 CA ARG E 134 11.339 -1.346 16.801 1.00 23.39 C +ATOM 981 C ARG E 134 11.140 -2.676 17.522 1.00 84.58 C +ATOM 982 O ARG E 134 11.682 -2.947 18.624 1.00 24.14 O +ATOM 983 CB ARG E 134 10.740 -0.052 17.353 1.00 13.31 C +ATOM 984 CG ARG E 134 9.670 -0.293 18.413 1.00 39.61 C +ATOM 985 CD ARG E 134 8.529 0.726 18.433 1.00 20.12 C +ATOM 986 NE ARG E 134 7.221 0.092 18.203 1.00100.00 N +ATOM 987 CZ ARG E 134 6.599 0.033 17.017 1.00 21.72 C +ATOM 988 NH1 ARG E 134 7.122 0.553 15.909 1.00 75.35 N +ATOM 989 NH2 ARG E 134 5.422 -0.582 16.939 1.00 79.79 N +ATOM 990 N ILE E 135 10.364 -3.497 16.831 1.00 27.56 N +ATOM 991 CA ILE E 135 9.968 -4.831 17.207 1.00 33.71 C +ATOM 992 C ILE E 135 11.177 -5.744 17.131 1.00 24.00 C +ATOM 993 O ILE E 135 11.277 -6.737 17.844 1.00 48.51 O +ATOM 994 CB ILE E 135 8.897 -5.277 16.194 1.00 17.31 C +ATOM 995 CG1 ILE E 135 7.659 -4.388 16.271 1.00 33.27 C +ATOM 996 CG2 ILE E 135 8.523 -6.732 16.352 1.00 42.74 C +ATOM 997 CD1 ILE E 135 6.961 -4.213 14.925 1.00 88.07 C +ATOM 998 N GLY E 136 12.097 -5.392 16.235 1.00 32.57 N +ATOM 999 CA GLY E 136 13.296 -6.179 16.037 1.00 20.86 C +ATOM 1000 C GLY E 136 13.099 -7.215 14.936 1.00 23.62 C +ATOM 1001 O GLY E 136 14.004 -7.535 14.180 1.00 24.80 O +ATOM 1002 N ARG E 137 11.897 -7.755 14.844 1.00 37.96 N +ATOM 1003 CA ARG E 137 11.600 -8.736 13.814 1.00 22.76 C +ATOM 1004 C ARG E 137 10.117 -9.083 13.625 1.00 7.96 C +ATOM 1005 O ARG E 137 9.284 -8.946 14.530 1.00100.00 O +ATOM 1006 CB ARG E 137 12.547 -9.944 13.745 1.00 21.32 C +ATOM 1007 CG ARG E 137 12.064 -11.168 14.522 1.00 22.14 C +ATOM 1008 CD ARG E 137 13.015 -12.390 14.489 1.00 17.83 C +ATOM 1009 NE ARG E 137 12.288 -13.620 14.814 1.00100.00 N +ATOM 1010 CZ ARG E 137 11.446 -14.255 13.985 1.00100.00 C +ATOM 1011 NH1 ARG E 137 11.191 -13.840 12.730 1.00100.00 N +ATOM 1012 NH2 ARG E 137 10.840 -15.353 14.438 1.00 68.47 N +ATOM 1013 N PHE E 138 9.807 -9.536 12.399 1.00 25.00 N +ATOM 1014 CA PHE E 138 8.466 -9.923 12.086 1.00 18.66 C +ATOM 1015 C PHE E 138 8.358 -11.435 11.980 1.00 36.50 C +ATOM 1016 O PHE E 138 9.282 -12.135 11.493 1.00 12.03 O +ATOM 1017 CB PHE E 138 7.910 -9.250 10.826 1.00 17.48 C +ATOM 1018 CG PHE E 138 7.889 -7.749 10.887 1.00 20.71 C +ATOM 1019 CD1 PHE E 138 7.910 -7.068 12.100 1.00 20.45 C +ATOM 1020 CD2 PHE E 138 7.841 -7.000 9.712 1.00 9.53 C +ATOM 1021 CE1 PHE E 138 7.893 -5.672 12.156 1.00 7.70 C +ATOM 1022 CE2 PHE E 138 7.809 -5.605 9.743 1.00 34.40 C +ATOM 1023 CZ PHE E 138 7.842 -4.944 10.972 1.00 34.72 C +ATOM 1024 N SER E 139 7.209 -11.922 12.451 1.00 53.83 N +ATOM 1025 CA SER E 139 6.910 -13.335 12.410 1.00 18.04 C +ATOM 1026 C SER E 139 6.638 -13.671 10.978 1.00 29.16 C +ATOM 1027 O SER E 139 6.071 -12.852 10.232 1.00 40.59 O +ATOM 1028 CB SER E 139 5.748 -13.773 13.302 1.00 77.97 C +ATOM 1029 OG SER E 139 4.493 -13.317 12.813 1.00 19.69 O +ATOM 1030 N GLU E 140 7.058 -14.877 10.621 1.00 89.10 N +ATOM 1031 CA GLU E 140 6.902 -15.396 9.289 1.00 16.31 C +ATOM 1032 C GLU E 140 5.548 -15.000 8.614 1.00 18.86 C +ATOM 1033 O GLU E 140 5.476 -14.511 7.489 1.00 31.71 O +ATOM 1034 CB GLU E 140 7.165 -16.915 9.284 1.00 52.82 C +ATOM 1035 CG GLU E 140 8.650 -17.325 9.468 1.00 98.09 C +ATOM 1036 CD GLU E 140 9.084 -18.409 8.497 1.00 18.52 C +ATOM 1037 OE1 GLU E 140 8.316 -18.948 7.725 1.00 28.55 O +ATOM 1038 OE2 GLU E 140 10.373 -18.685 8.528 1.00 28.23 O +ATOM 1039 N PRO E 141 4.444 -15.221 9.320 1.00 19.48 N +ATOM 1040 CA PRO E 141 3.169 -14.903 8.771 1.00 31.10 C +ATOM 1041 C PRO E 141 2.958 -13.414 8.546 1.00 30.05 C +ATOM 1042 O PRO E 141 2.365 -13.029 7.548 1.00 32.86 O +ATOM 1043 CB PRO E 141 2.135 -15.510 9.719 1.00 38.02 C +ATOM 1044 CG PRO E 141 2.885 -16.300 10.775 1.00 24.16 C +ATOM 1045 CD PRO E 141 4.344 -15.996 10.587 1.00 50.65 C +ATOM 1046 N HIS E 142 3.437 -12.586 9.485 1.00 22.96 N +ATOM 1047 CA HIS E 142 3.317 -11.114 9.409 1.00 14.97 C +ATOM 1048 C HIS E 142 4.130 -10.564 8.232 1.00 29.06 C +ATOM 1049 O HIS E 142 3.784 -9.585 7.560 1.00 36.50 O +ATOM 1050 CB HIS E 142 3.833 -10.504 10.718 1.00 21.81 C +ATOM 1051 CG HIS E 142 3.814 -9.016 10.796 1.00 43.67 C +ATOM 1052 ND1 HIS E 142 4.125 -8.366 11.978 1.00 32.40 N +ATOM 1053 CD2 HIS E 142 3.511 -8.068 9.861 1.00 54.22 C +ATOM 1054 CE1 HIS E 142 4.019 -7.046 11.747 1.00 21.25 C +ATOM 1055 NE2 HIS E 142 3.653 -6.840 10.479 1.00 27.63 N +ATOM 1056 N ALA E 143 5.251 -11.220 7.988 1.00 22.44 N +ATOM 1057 CA ALA E 143 6.111 -10.824 6.903 1.00 38.85 C +ATOM 1058 C ALA E 143 5.506 -11.230 5.567 1.00 32.48 C +ATOM 1059 O ALA E 143 5.546 -10.490 4.583 1.00 39.97 O +ATOM 1060 CB ALA E 143 7.458 -11.489 7.092 1.00 4.06 C +ATOM 1061 N ARG E 144 4.953 -12.434 5.545 1.00 26.21 N +ATOM 1062 CA ARG E 144 4.334 -12.968 4.352 1.00 29.07 C +ATOM 1063 C ARG E 144 3.213 -12.048 3.875 1.00 9.07 C +ATOM 1064 O ARG E 144 2.912 -11.965 2.698 1.00 20.80 O +ATOM 1065 CB ARG E 144 3.938 -14.434 4.559 1.00 30.78 C +ATOM 1066 CG ARG E 144 2.651 -14.825 3.866 1.00 47.42 C +ATOM 1067 CD ARG E 144 2.373 -16.320 3.946 1.00 15.72 C +ATOM 1068 NE ARG E 144 3.451 -17.097 4.515 1.00 46.68 N +ATOM 1069 CZ ARG E 144 3.444 -17.606 5.754 1.00 17.43 C +ATOM 1070 NH1 ARG E 144 2.427 -17.435 6.611 1.00 43.91 N +ATOM 1071 NH2 ARG E 144 4.500 -18.311 6.160 1.00 38.19 N +ATOM 1072 N PHE E 145 2.605 -11.335 4.829 1.00 27.15 N +ATOM 1073 CA PHE E 145 1.537 -10.378 4.578 1.00 24.33 C +ATOM 1074 C PHE E 145 2.056 -9.210 3.732 1.00 27.61 C +ATOM 1075 O PHE E 145 1.491 -8.821 2.723 1.00 14.86 O +ATOM 1076 CB PHE E 145 0.971 -9.866 5.938 1.00 41.36 C +ATOM 1077 CG PHE E 145 -0.068 -8.752 5.863 1.00 26.27 C +ATOM 1078 CD1 PHE E 145 -1.292 -8.937 5.214 1.00 19.64 C +ATOM 1079 CD2 PHE E 145 0.175 -7.513 6.458 1.00 50.57 C +ATOM 1080 CE1 PHE E 145 -2.253 -7.924 5.139 1.00 7.92 C +ATOM 1081 CE2 PHE E 145 -0.765 -6.482 6.393 1.00 16.76 C +ATOM 1082 CZ PHE E 145 -1.974 -6.687 5.725 1.00 27.47 C +ATOM 1083 N TYR E 146 3.159 -8.636 4.160 1.00 25.32 N +ATOM 1084 CA TYR E 146 3.753 -7.538 3.443 1.00 22.59 C +ATOM 1085 C TYR E 146 4.277 -8.038 2.129 1.00 8.28 C +ATOM 1086 O TYR E 146 4.031 -7.464 1.073 1.00 32.67 O +ATOM 1087 CB TYR E 146 4.910 -6.901 4.237 1.00 27.18 C +ATOM 1088 CG TYR E 146 4.427 -6.348 5.555 1.00 34.95 C +ATOM 1089 CD1 TYR E 146 3.223 -5.650 5.601 1.00 55.18 C +ATOM 1090 CD2 TYR E 146 5.149 -6.515 6.736 1.00 27.05 C +ATOM 1091 CE1 TYR E 146 2.752 -5.122 6.800 1.00 28.70 C +ATOM 1092 CE2 TYR E 146 4.695 -5.992 7.945 1.00 44.37 C +ATOM 1093 CZ TYR E 146 3.487 -5.295 7.968 1.00 49.32 C +ATOM 1094 OH TYR E 146 3.007 -4.773 9.128 1.00 28.77 O +ATOM 1095 N ALA E 147 5.027 -9.126 2.206 1.00 41.00 N +ATOM 1096 CA ALA E 147 5.628 -9.746 1.037 1.00 12.15 C +ATOM 1097 C ALA E 147 4.582 -9.898 -0.055 1.00 34.51 C +ATOM 1098 O ALA E 147 4.738 -9.470 -1.200 1.00 49.50 O +ATOM 1099 CB ALA E 147 6.131 -11.120 1.477 1.00 13.73 C +ATOM 1100 N ALA E 148 3.487 -10.518 0.344 1.00 11.31 N +ATOM 1101 CA ALA E 148 2.392 -10.765 -0.543 1.00 17.24 C +ATOM 1102 C ALA E 148 1.980 -9.501 -1.244 1.00 44.11 C +ATOM 1103 O ALA E 148 1.662 -9.544 -2.423 1.00 14.10 O +ATOM 1104 CB ALA E 148 1.224 -11.392 0.199 1.00 18.88 C +ATOM 1105 N GLN E 149 1.991 -8.375 -0.519 1.00 9.63 N +ATOM 1106 CA GLN E 149 1.590 -7.077 -1.094 1.00 4.24 C +ATOM 1107 C GLN E 149 2.637 -6.552 -2.056 1.00 22.19 C +ATOM 1108 O GLN E 149 2.335 -5.889 -3.041 1.00 29.76 O +ATOM 1109 CB GLN E 149 1.333 -5.989 -0.016 1.00 29.36 C +ATOM 1110 CG GLN E 149 0.062 -6.172 0.872 1.00 11.10 C +ATOM 1111 CD GLN E 149 0.019 -5.149 1.998 1.00 30.86 C +ATOM 1112 OE1 GLN E 149 -0.102 -3.932 1.758 1.00 41.28 O +ATOM 1113 NE2 GLN E 149 0.134 -5.635 3.228 1.00 24.25 N +ATOM 1114 N ILE E 150 3.888 -6.843 -1.763 1.00 13.74 N +ATOM 1115 CA ILE E 150 4.926 -6.372 -2.634 1.00 21.14 C +ATOM 1116 C ILE E 150 4.879 -7.173 -3.927 1.00 23.74 C +ATOM 1117 O ILE E 150 5.105 -6.666 -5.023 1.00 19.87 O +ATOM 1118 CB ILE E 150 6.286 -6.454 -1.970 1.00 41.19 C +ATOM 1119 CG1 ILE E 150 6.382 -5.480 -0.791 1.00 11.12 C +ATOM 1120 CG2 ILE E 150 7.382 -6.169 -2.997 1.00 13.89 C +ATOM 1121 CD1 ILE E 150 6.161 -4.010 -1.160 1.00 9.21 C +ATOM 1122 N VAL E 151 4.555 -8.446 -3.778 1.00 28.49 N +ATOM 1123 CA VAL E 151 4.464 -9.305 -4.921 1.00 29.23 C +ATOM 1124 C VAL E 151 3.531 -8.755 -5.985 1.00 18.41 C +ATOM 1125 O VAL E 151 3.900 -8.602 -7.146 1.00 24.99 O +ATOM 1126 CB VAL E 151 4.076 -10.729 -4.520 1.00 13.41 C +ATOM 1127 CG1 VAL E 151 3.511 -11.496 -5.740 1.00 27.77 C +ATOM 1128 CG2 VAL E 151 5.347 -11.416 -4.026 1.00 6.09 C +ATOM 1129 N LEU E 152 2.317 -8.462 -5.540 1.00 8.72 N +ATOM 1130 CA LEU E 152 1.284 -7.934 -6.397 1.00 17.59 C +ATOM 1131 C LEU E 152 1.697 -6.607 -6.952 1.00 18.11 C +ATOM 1132 O LEU E 152 1.330 -6.256 -8.054 1.00 14.63 O +ATOM 1133 CB LEU E 152 -0.075 -7.803 -5.686 1.00 19.22 C +ATOM 1134 CG LEU E 152 -0.572 -9.099 -5.076 1.00 16.70 C +ATOM 1135 CD1 LEU E 152 -1.898 -8.836 -4.384 1.00 28.20 C +ATOM 1136 CD2 LEU E 152 -0.761 -10.147 -6.178 1.00 30.48 C +ATOM 1137 N THR E 153 2.446 -5.857 -6.182 1.00 34.59 N +ATOM 1138 CA THR E 153 2.862 -4.572 -6.667 1.00 22.09 C +ATOM 1139 C THR E 153 3.885 -4.680 -7.795 1.00 16.81 C +ATOM 1140 O THR E 153 3.893 -3.944 -8.771 1.00 24.44 O +ATOM 1141 CB THR E 153 3.293 -3.714 -5.484 1.00 57.63 C +ATOM 1142 OG1 THR E 153 2.290 -3.877 -4.500 1.00 18.62 O +ATOM 1143 CG2 THR E 153 3.403 -2.255 -5.900 1.00 12.89 C +ATOM 1144 N PHE E 154 4.756 -5.634 -7.713 1.00 21.05 N +ATOM 1145 CA PHE E 154 5.726 -5.740 -8.789 1.00 22.40 C +ATOM 1146 C PHE E 154 5.111 -6.291 -10.056 1.00 23.33 C +ATOM 1147 O PHE E 154 5.377 -5.839 -11.160 1.00 33.73 O +ATOM 1148 CB PHE E 154 6.863 -6.618 -8.311 1.00 15.24 C +ATOM 1149 CG PHE E 154 7.848 -5.873 -7.472 1.00 29.57 C +ATOM 1150 CD1 PHE E 154 7.786 -4.485 -7.373 1.00 28.69 C +ATOM 1151 CD2 PHE E 154 8.876 -6.550 -6.815 1.00 23.56 C +ATOM 1152 CE1 PHE E 154 8.733 -3.777 -6.634 1.00 17.41 C +ATOM 1153 CE2 PHE E 154 9.843 -5.871 -6.078 1.00 25.01 C +ATOM 1154 CZ PHE E 154 9.757 -4.480 -5.997 1.00 19.77 C +ATOM 1155 N GLU E 155 4.268 -7.292 -9.889 1.00 27.80 N +ATOM 1156 CA GLU E 155 3.603 -7.906 -11.008 1.00 14.60 C +ATOM 1157 C GLU E 155 2.843 -6.846 -11.794 1.00 14.50 C +ATOM 1158 O GLU E 155 2.592 -6.882 -13.001 1.00 23.89 O +ATOM 1159 CB GLU E 155 2.765 -9.060 -10.468 1.00 26.34 C +ATOM 1160 CG GLU E 155 1.987 -9.808 -11.553 1.00 15.17 C +ATOM 1161 CD GLU E 155 0.804 -10.540 -10.997 1.00 44.25 C +ATOM 1162 OE1 GLU E 155 0.157 -10.157 -10.045 1.00 43.84 O +ATOM 1163 OE2 GLU E 155 0.538 -11.622 -11.655 1.00 28.54 O +ATOM 1164 N TYR E 156 2.376 -5.885 -11.025 1.00 10.06 N +ATOM 1165 CA TYR E 156 1.635 -4.812 -11.601 1.00 30.37 C +ATOM 1166 C TYR E 156 2.609 -3.866 -12.278 1.00 15.20 C +ATOM 1167 O TYR E 156 2.480 -3.530 -13.440 1.00 24.58 O +ATOM 1168 CB TYR E 156 0.836 -4.064 -10.536 1.00 12.72 C +ATOM 1169 CG TYR E 156 0.444 -2.641 -10.976 1.00 28.56 C +ATOM 1170 CD1 TYR E 156 -0.447 -2.431 -12.026 1.00 12.81 C +ATOM 1171 CD2 TYR E 156 0.935 -1.501 -10.338 1.00 18.27 C +ATOM 1172 CE1 TYR E 156 -0.840 -1.154 -12.448 1.00 26.61 C +ATOM 1173 CE2 TYR E 156 0.561 -0.214 -10.737 1.00 27.01 C +ATOM 1174 CZ TYR E 156 -0.334 -0.033 -11.792 1.00 56.28 C +ATOM 1175 OH TYR E 156 -0.725 1.228 -12.191 1.00 36.14 O +ATOM 1176 N LEU E 157 3.602 -3.426 -11.530 1.00 36.01 N +ATOM 1177 CA LEU E 157 4.594 -2.520 -12.076 1.00 35.33 C +ATOM 1178 C LEU E 157 5.301 -3.115 -13.291 1.00 18.28 C +ATOM 1179 O LEU E 157 5.381 -2.498 -14.366 1.00 19.78 O +ATOM 1180 CB LEU E 157 5.655 -2.125 -11.012 1.00 31.49 C +ATOM 1181 CG LEU E 157 5.121 -1.196 -9.946 1.00 24.16 C +ATOM 1182 CD1 LEU E 157 6.231 -0.803 -8.993 1.00 39.25 C +ATOM 1183 CD2 LEU E 157 4.552 0.037 -10.624 1.00 64.77 C +ATOM 1184 N HIS E 158 5.847 -4.331 -13.102 1.00 15.28 N +ATOM 1185 CA HIS E 158 6.580 -4.974 -14.163 1.00 11.00 C +ATOM 1186 C HIS E 158 5.736 -5.116 -15.393 1.00 38.95 C +ATOM 1187 O HIS E 158 6.222 -5.014 -16.513 1.00 23.31 O +ATOM 1188 CB HIS E 158 7.249 -6.299 -13.781 1.00 17.51 C +ATOM 1189 CG HIS E 158 8.287 -6.158 -12.713 1.00 27.26 C +ATOM 1190 ND1 HIS E 158 8.697 -4.919 -12.257 1.00 16.13 N +ATOM 1191 CD2 HIS E 158 8.957 -7.116 -12.009 1.00 23.08 C +ATOM 1192 CE1 HIS E 158 9.593 -5.157 -11.311 1.00 51.17 C +ATOM 1193 NE2 HIS E 158 9.772 -6.465 -11.126 1.00 36.21 N +ATOM 1194 N SER E 159 4.457 -5.333 -15.179 1.00 40.07 N +ATOM 1195 CA SER E 159 3.556 -5.471 -16.302 1.00 7.85 C +ATOM 1196 C SER E 159 3.490 -4.219 -17.186 1.00 35.66 C +ATOM 1197 O SER E 159 3.169 -4.312 -18.372 1.00 33.72 O +ATOM 1198 CB SER E 159 2.184 -5.965 -15.856 1.00 30.50 C +ATOM 1199 OG SER E 159 1.348 -4.884 -15.515 1.00 53.28 O +ATOM 1200 N LEU E 160 3.804 -3.047 -16.617 1.00 39.15 N +ATOM 1201 CA LEU E 160 3.774 -1.749 -17.325 1.00 25.30 C +ATOM 1202 C LEU E 160 5.174 -1.443 -17.838 1.00 28.46 C +ATOM 1203 O LEU E 160 5.490 -0.278 -18.057 1.00 42.56 O +ATOM 1204 CB LEU E 160 3.485 -0.618 -16.266 1.00 24.07 C +ATOM 1205 CG LEU E 160 2.056 -0.104 -16.058 1.00 62.38 C +ATOM 1206 CD1 LEU E 160 1.014 -1.145 -16.436 1.00 7.79 C +ATOM 1207 CD2 LEU E 160 1.859 0.322 -14.592 1.00 19.80 C +ATOM 1208 N ASP E 161 6.005 -2.489 -17.983 1.00 14.59 N +ATOM 1209 CA ASP E 161 7.414 -2.364 -18.376 1.00 36.03 C +ATOM 1210 C ASP E 161 8.187 -1.440 -17.410 1.00 35.80 C +ATOM 1211 O ASP E 161 9.217 -0.851 -17.689 1.00 15.70 O +ATOM 1212 CB ASP E 161 7.735 -2.061 -19.840 1.00 20.68 C +ATOM 1213 CG ASP E 161 6.662 -2.385 -20.838 1.00 27.03 C +ATOM 1214 OD1 ASP E 161 6.644 -3.659 -21.141 1.00 26.24 O +ATOM 1215 OD2 ASP E 161 5.924 -1.548 -21.343 1.00 31.76 O +ATOM 1216 N LEU E 162 7.685 -1.297 -16.217 1.00 22.08 N +ATOM 1217 CA LEU E 162 8.374 -0.445 -15.314 1.00 6.99 C +ATOM 1218 C LEU E 162 9.309 -1.244 -14.432 1.00 13.53 C +ATOM 1219 O LEU E 162 9.074 -2.428 -14.250 1.00 27.94 O +ATOM 1220 CB LEU E 162 7.326 0.182 -14.361 1.00 28.10 C +ATOM 1221 CG LEU E 162 6.785 1.537 -14.769 1.00 21.50 C +ATOM 1222 CD1 LEU E 162 6.853 1.673 -16.264 1.00 46.10 C +ATOM 1223 CD2 LEU E 162 5.337 1.688 -14.290 1.00 10.82 C +ATOM 1224 N ILE E 163 10.471 -0.649 -13.890 1.00 21.89 N +ATOM 1225 CA ILE E 163 11.355 -1.095 -12.803 1.00 13.39 C +ATOM 1226 C ILE E 163 11.343 -0.060 -11.676 1.00 2.49 C +ATOM 1227 O ILE E 163 11.430 1.152 -11.919 1.00 39.67 O +ATOM 1228 CB ILE E 163 12.775 -1.272 -13.335 1.00 31.91 C +ATOM 1229 CG1 ILE E 163 12.833 -2.161 -14.579 1.00 26.81 C +ATOM 1230 CG2 ILE E 163 13.717 -1.915 -12.316 1.00 33.56 C +ATOM 1231 CD1 ILE E 163 14.205 -2.799 -14.796 1.00 26.17 C +ATOM 1232 N TYR E 164 11.261 -0.530 -10.469 1.00 14.00 N +ATOM 1233 CA TYR E 164 11.171 0.300 -9.259 1.00 32.62 C +ATOM 1234 C TYR E 164 12.577 0.638 -8.754 1.00 16.53 C +ATOM 1235 O TYR E 164 12.861 1.784 -8.377 1.00 70.64 O +ATOM 1236 CB TYR E 164 10.407 -0.452 -8.168 1.00 13.13 C +ATOM 1237 CG TYR E 164 10.300 0.334 -6.861 1.00 39.60 C +ATOM 1238 CD1 TYR E 164 9.600 1.546 -6.828 1.00 25.39 C +ATOM 1239 CD2 TYR E 164 10.902 -0.160 -5.699 1.00 23.34 C +ATOM 1240 CE1 TYR E 164 9.504 2.266 -5.631 1.00 5.42 C +ATOM 1241 CE2 TYR E 164 10.806 0.559 -4.502 1.00 29.61 C +ATOM 1242 CZ TYR E 164 10.108 1.772 -4.468 1.00 31.64 C +ATOM 1243 OH TYR E 164 10.016 2.471 -3.305 1.00 34.59 O +ATOM 1244 N ARG E 165 13.411 -0.386 -8.767 1.00 26.58 N +ATOM 1245 CA ARG E 165 14.814 -0.287 -8.335 1.00 15.52 C +ATOM 1246 C ARG E 165 14.898 0.347 -6.945 1.00 12.53 C +ATOM 1247 O ARG E 165 15.996 0.577 -6.414 1.00 20.52 O +ATOM 1248 CB ARG E 165 15.605 0.577 -9.319 1.00 15.00 C +ATOM 1249 CG ARG E 165 15.583 0.027 -10.746 1.00 26.76 C +ATOM 1250 CD ARG E 165 16.631 0.676 -11.652 1.00 13.70 C +ATOM 1251 NE ARG E 165 16.356 2.094 -11.923 1.00 38.75 N +ATOM 1252 CZ ARG E 165 16.985 2.813 -12.863 1.00 16.80 C +ATOM 1253 NH1 ARG E 165 17.931 2.261 -13.635 1.00 26.77 N +ATOM 1254 NH2 ARG E 165 16.734 4.105 -13.110 1.00 21.68 N +ATOM 1255 N ASP E 166 14.257 0.555 -6.029 1.00 21.82 N +ATOM 1256 CA ASP E 166 14.522 1.064 -4.671 1.00 13.47 C +ATOM 1257 C ASP E 166 13.420 0.631 -3.705 1.00 17.96 C +ATOM 1258 O ASP E 166 13.169 1.297 -2.688 1.00 15.60 O +ATOM 1259 CB ASP E 166 14.581 2.593 -4.691 1.00 16.61 C +ATOM 1260 CG ASP E 166 15.522 3.173 -3.632 1.00 6.19 C +ATOM 1261 OD1 ASP E 166 16.445 2.434 -3.115 1.00 10.66 O +ATOM 1262 OD2 ASP E 166 15.393 4.400 -3.257 1.00 38.37 O +ATOM 1263 N LEU E 167 13.718 -0.744 -3.462 1.00 11.37 N +ATOM 1264 CA LEU E 167 12.967 -1.459 -2.439 1.00 9.26 C +ATOM 1265 C LEU E 167 13.770 -1.585 -1.160 1.00 37.81 C +ATOM 1266 O LEU E 167 14.865 -2.158 -1.132 1.00 19.98 O +ATOM 1267 CB LEU E 167 12.467 -2.834 -2.936 1.00 21.11 C +ATOM 1268 CG LEU E 167 11.546 -3.552 -1.959 1.00 32.07 C +ATOM 1269 CD1 LEU E 167 10.124 -2.993 -2.076 1.00 10.56 C +ATOM 1270 CD2 LEU E 167 11.581 -5.064 -2.262 1.00 7.66 C +ATOM 1271 N LYS E 168 13.179 -1.014 -0.127 1.00 15.30 N +ATOM 1272 CA LYS E 168 13.732 -0.930 1.190 1.00 11.75 C +ATOM 1273 C LYS E 168 12.593 -0.508 2.084 1.00 24.73 C +ATOM 1274 O LYS E 168 11.620 0.091 1.622 1.00 23.55 O +ATOM 1275 CB LYS E 168 14.892 0.089 1.276 1.00 27.02 C +ATOM 1276 CG LYS E 168 14.594 1.553 0.849 1.00 7.67 C +ATOM 1277 CD LYS E 168 15.861 2.369 0.698 1.00 1.00 C +ATOM 1278 CE LYS E 168 15.628 3.857 0.741 1.00 18.68 C +ATOM 1279 NZ LYS E 168 16.625 4.590 -0.059 1.00 26.54 N +ATOM 1280 N PRO E 169 12.744 -0.847 3.352 1.00 16.03 N +ATOM 1281 CA PRO E 169 11.769 -0.573 4.382 1.00 13.33 C +ATOM 1282 C PRO E 169 11.552 0.918 4.628 1.00 53.61 C +ATOM 1283 O PRO E 169 10.486 1.310 5.122 1.00 28.85 O +ATOM 1284 CB PRO E 169 12.359 -1.270 5.626 1.00 14.24 C +ATOM 1285 CG PRO E 169 13.332 -2.327 5.112 1.00 13.84 C +ATOM 1286 CD PRO E 169 13.800 -1.836 3.761 1.00 1.00 C +ATOM 1287 N GLU E 170 12.583 1.724 4.286 1.00 18.99 N +ATOM 1288 CA GLU E 170 12.574 3.179 4.431 1.00 5.99 C +ATOM 1289 C GLU E 170 11.634 3.780 3.397 1.00 8.06 C +ATOM 1290 O GLU E 170 11.096 4.894 3.559 1.00 11.28 O +ATOM 1291 CB GLU E 170 13.987 3.813 4.259 1.00 14.37 C +ATOM 1292 CG GLU E 170 15.023 3.527 5.401 1.00 29.81 C +ATOM 1293 CD GLU E 170 15.853 2.271 5.230 1.00 26.47 C +ATOM 1294 OE1 GLU E 170 15.390 1.247 4.744 1.00 22.48 O +ATOM 1295 OE2 GLU E 170 17.111 2.369 5.672 1.00 20.33 O +ATOM 1296 N ASN E 171 11.442 3.010 2.318 1.00 14.90 N +ATOM 1297 CA ASN E 171 10.595 3.393 1.190 1.00 20.39 C +ATOM 1298 C ASN E 171 9.203 2.781 1.285 1.00 30.48 C +ATOM 1299 O ASN E 171 8.413 2.976 0.384 1.00 16.39 O +ATOM 1300 CB ASN E 171 11.235 3.046 -0.199 1.00 17.11 C +ATOM 1301 CG ASN E 171 12.305 4.023 -0.699 1.00 11.18 C +ATOM 1302 OD1 ASN E 171 12.563 5.062 -0.085 1.00 22.92 O +ATOM 1303 ND2 ASN E 171 12.956 3.689 -1.819 1.00 16.62 N +ATOM 1304 N LEU E 172 8.909 2.043 2.370 1.00 21.31 N +ATOM 1305 CA LEU E 172 7.603 1.409 2.545 1.00 12.78 C +ATOM 1306 C LEU E 172 6.805 2.000 3.690 1.00 63.82 C +ATOM 1307 O LEU E 172 7.220 1.934 4.841 1.00 16.99 O +ATOM 1308 CB LEU E 172 7.769 -0.092 2.808 1.00 19.39 C +ATOM 1309 CG LEU E 172 8.694 -0.764 1.812 1.00 27.70 C +ATOM 1310 CD1 LEU E 172 8.748 -2.242 2.167 1.00 24.39 C +ATOM 1311 CD2 LEU E 172 8.144 -0.604 0.388 1.00 17.76 C +ATOM 1312 N LEU E 173 5.635 2.546 3.388 1.00 10.85 N +ATOM 1313 CA LEU E 173 4.838 3.155 4.428 1.00 44.87 C +ATOM 1314 C LEU E 173 3.636 2.343 4.820 1.00 36.65 C +ATOM 1315 O LEU E 173 3.062 1.649 3.992 1.00 25.71 O +ATOM 1316 CB LEU E 173 4.460 4.609 4.093 1.00 38.10 C +ATOM 1317 CG LEU E 173 5.657 5.485 3.707 1.00 28.69 C +ATOM 1318 CD1 LEU E 173 5.187 6.467 2.657 1.00 16.83 C +ATOM 1319 CD2 LEU E 173 6.188 6.273 4.906 1.00 10.73 C +ATOM 1320 N ILE E 174 3.275 2.445 6.105 1.00 30.90 N +ATOM 1321 CA ILE E 174 2.139 1.732 6.669 1.00 51.23 C +ATOM 1322 C ILE E 174 0.847 2.564 6.681 1.00 18.05 C +ATOM 1323 O ILE E 174 0.822 3.653 7.244 1.00 34.59 O +ATOM 1324 CB ILE E 174 2.489 1.260 8.072 1.00 43.66 C +ATOM 1325 CG1 ILE E 174 3.748 0.392 8.044 1.00 27.30 C +ATOM 1326 CG2 ILE E 174 1.320 0.509 8.690 1.00 33.03 C +ATOM 1327 CD1 ILE E 174 3.664 -0.736 7.020 1.00 62.06 C +ATOM 1328 N ASP E 175 -0.229 2.056 6.051 1.00 35.25 N +ATOM 1329 CA ASP E 175 -1.494 2.790 6.035 1.00 15.12 C +ATOM 1330 C ASP E 175 -2.306 2.626 7.311 1.00 29.91 C +ATOM 1331 O ASP E 175 -1.923 1.880 8.213 1.00 21.76 O +ATOM 1332 CB ASP E 175 -2.327 2.765 4.736 1.00 65.47 C +ATOM 1333 CG ASP E 175 -2.993 1.457 4.433 1.00 23.22 C +ATOM 1334 OD1 ASP E 175 -3.333 0.786 5.497 1.00 31.75 O +ATOM 1335 OD2 ASP E 175 -3.171 1.065 3.297 1.00 44.07 O +ATOM 1336 N GLN E 176 -3.431 3.332 7.404 1.00 25.04 N +ATOM 1337 CA GLN E 176 -4.259 3.252 8.618 1.00 13.26 C +ATOM 1338 C GLN E 176 -4.856 1.901 8.849 1.00 31.37 C +ATOM 1339 O GLN E 176 -5.544 1.676 9.840 1.00 38.11 O +ATOM 1340 CB GLN E 176 -5.405 4.282 8.629 1.00 51.11 C +ATOM 1341 CG GLN E 176 -4.931 5.721 8.405 1.00100.00 C +ATOM 1342 CD GLN E 176 -5.926 6.707 8.962 1.00 39.80 C +ATOM 1343 OE1 GLN E 176 -6.915 6.305 9.610 1.00100.00 O +ATOM 1344 NE2 GLN E 176 -5.655 7.996 8.723 1.00 58.10 N +ATOM 1345 N GLN E 177 -4.595 1.009 7.925 1.00 25.55 N +ATOM 1346 CA GLN E 177 -5.164 -0.293 8.036 1.00 16.88 C +ATOM 1347 C GLN E 177 -4.125 -1.394 8.062 1.00 15.52 C +ATOM 1348 O GLN E 177 -4.441 -2.573 7.954 1.00 27.91 O +ATOM 1349 CB GLN E 177 -6.257 -0.415 6.929 1.00 17.30 C +ATOM 1350 CG GLN E 177 -6.773 -1.823 6.630 1.00 56.71 C +ATOM 1351 CD GLN E 177 -7.862 -1.796 5.585 1.00100.00 C +ATOM 1352 OE1 GLN E 177 -7.884 -0.904 4.723 1.00 81.93 O +ATOM 1353 NE2 GLN E 177 -8.771 -2.767 5.668 1.00 93.11 N +ATOM 1354 N GLY E 178 -2.868 -1.021 8.214 1.00 27.12 N +ATOM 1355 CA GLY E 178 -1.820 -2.034 8.281 1.00 25.95 C +ATOM 1356 C GLY E 178 -1.322 -2.453 6.908 1.00 17.79 C +ATOM 1357 O GLY E 178 -0.508 -3.352 6.771 1.00 34.84 O +ATOM 1358 N TYR E 179 -1.828 -1.790 5.896 1.00 22.41 N +ATOM 1359 CA TYR E 179 -1.410 -2.093 4.568 1.00 39.45 C +ATOM 1360 C TYR E 179 -0.274 -1.219 4.119 1.00 23.37 C +ATOM 1361 O TYR E 179 0.001 -0.158 4.688 1.00 23.13 O +ATOM 1362 CB TYR E 179 -2.546 -2.026 3.557 1.00 16.48 C +ATOM 1363 CG TYR E 179 -3.406 -3.224 3.699 1.00 68.93 C +ATOM 1364 CD1 TYR E 179 -4.269 -3.331 4.789 1.00 26.27 C +ATOM 1365 CD2 TYR E 179 -3.339 -4.255 2.761 1.00 22.24 C +ATOM 1366 CE1 TYR E 179 -5.092 -4.449 4.919 1.00 18.55 C +ATOM 1367 CE2 TYR E 179 -4.145 -5.385 2.894 1.00 77.44 C +ATOM 1368 CZ TYR E 179 -5.020 -5.479 3.978 1.00 30.17 C +ATOM 1369 OH TYR E 179 -5.817 -6.589 4.109 1.00 68.13 O +ATOM 1370 N ILE E 180 0.345 -1.696 3.042 1.00 44.37 N +ATOM 1371 CA ILE E 180 1.483 -1.078 2.408 1.00 17.64 C +ATOM 1372 C ILE E 180 1.157 -0.017 1.388 1.00 31.48 C +ATOM 1373 O ILE E 180 0.284 -0.171 0.527 1.00 38.60 O +ATOM 1374 CB ILE E 180 2.355 -2.147 1.732 1.00 53.49 C +ATOM 1375 CG1 ILE E 180 3.047 -3.035 2.758 1.00 21.08 C +ATOM 1376 CG2 ILE E 180 3.368 -1.541 0.768 1.00 17.99 C +ATOM 1377 CD1 ILE E 180 4.440 -2.576 3.132 1.00 75.52 C +ATOM 1378 N GLN E 181 1.919 1.065 1.513 1.00 17.93 N +ATOM 1379 CA GLN E 181 1.888 2.206 0.626 1.00 22.60 C +ATOM 1380 C GLN E 181 3.314 2.342 0.159 1.00 26.13 C +ATOM 1381 O GLN E 181 4.195 2.616 0.977 1.00 36.59 O +ATOM 1382 CB GLN E 181 1.503 3.522 1.315 1.00 32.30 C +ATOM 1383 CG GLN E 181 0.066 3.492 1.826 1.00 35.12 C +ATOM 1384 CD GLN E 181 -0.856 3.397 0.648 1.00 44.69 C +ATOM 1385 OE1 GLN E 181 -1.142 4.418 -0.006 1.00 41.58 O +ATOM 1386 NE2 GLN E 181 -1.285 2.169 0.339 1.00 39.36 N +ATOM 1387 N VAL E 182 3.567 2.140 -1.127 1.00 31.58 N +ATOM 1388 CA VAL E 182 4.934 2.272 -1.620 1.00 10.41 C +ATOM 1389 C VAL E 182 5.254 3.677 -2.085 1.00 31.85 C +ATOM 1390 O VAL E 182 4.630 4.158 -3.038 1.00 34.30 O +ATOM 1391 CB VAL E 182 5.290 1.311 -2.745 1.00 7.17 C +ATOM 1392 CG1 VAL E 182 6.728 1.532 -3.216 1.00 1.65 C +ATOM 1393 CG2 VAL E 182 5.059 -0.130 -2.307 1.00 14.83 C +ATOM 1394 N THR E 183 6.245 4.324 -1.428 1.00 18.43 N +ATOM 1395 CA THR E 183 6.657 5.668 -1.849 1.00 20.38 C +ATOM 1396 C THR E 183 8.001 5.665 -2.596 1.00 26.22 C +ATOM 1397 O THR E 183 8.451 4.626 -3.027 1.00 5.28 O +ATOM 1398 CB THR E 183 6.597 6.748 -0.766 1.00 8.95 C +ATOM 1399 OG1 THR E 183 6.683 8.029 -1.374 1.00 19.51 O +ATOM 1400 CG2 THR E 183 7.645 6.518 0.354 1.00 18.16 C +ATOM 1401 N ASP E 184 8.634 6.825 -2.778 1.00 19.06 N +ATOM 1402 CA ASP E 184 9.916 6.904 -3.462 1.00 13.63 C +ATOM 1403 C ASP E 184 10.014 6.179 -4.781 1.00 24.16 C +ATOM 1404 O ASP E 184 10.456 5.017 -4.864 1.00 23.98 O +ATOM 1405 CB ASP E 184 11.138 6.567 -2.570 1.00 34.34 C +ATOM 1406 CG ASP E 184 12.368 7.265 -3.077 1.00 18.20 C +ATOM 1407 OD1 ASP E 184 12.373 7.897 -4.139 1.00 10.97 O +ATOM 1408 OD2 ASP E 184 13.386 7.180 -2.250 1.00 11.89 O +ATOM 1409 N PHE E 185 9.616 6.913 -5.825 1.00 30.88 N +ATOM 1410 CA PHE E 185 9.656 6.445 -7.201 1.00 40.58 C +ATOM 1411 C PHE E 185 10.823 7.110 -7.964 1.00 16.85 C +ATOM 1412 O PHE E 185 10.907 7.111 -9.199 1.00 35.86 O +ATOM 1413 CB PHE E 185 8.292 6.656 -7.882 1.00 20.30 C +ATOM 1414 CG PHE E 185 7.394 5.427 -7.773 1.00 22.93 C +ATOM 1415 CD1 PHE E 185 6.766 5.124 -6.566 1.00 26.89 C +ATOM 1416 CD2 PHE E 185 7.205 4.565 -8.853 1.00 28.36 C +ATOM 1417 CE1 PHE E 185 5.960 3.995 -6.424 1.00 23.56 C +ATOM 1418 CE2 PHE E 185 6.397 3.433 -8.739 1.00 33.52 C +ATOM 1419 CZ PHE E 185 5.781 3.155 -7.520 1.00 23.34 C +ATOM 1420 N GLY E 186 11.740 7.669 -7.169 1.00 24.52 N +ATOM 1421 CA GLY E 186 12.913 8.374 -7.628 1.00 17.27 C +ATOM 1422 C GLY E 186 13.747 7.597 -8.619 1.00 26.24 C +ATOM 1423 O GLY E 186 14.353 8.217 -9.471 1.00 15.93 O +ATOM 1424 N PHE E 187 13.788 6.264 -8.511 1.00 26.97 N +ATOM 1425 CA PHE E 187 14.573 5.474 -9.453 1.00 21.83 C +ATOM 1426 C PHE E 187 13.721 4.783 -10.515 1.00 30.98 C +ATOM 1427 O PHE E 187 14.248 4.188 -11.453 1.00 15.57 O +ATOM 1428 CB PHE E 187 15.604 4.523 -8.785 1.00 2.22 C +ATOM 1429 CG PHE E 187 16.597 5.256 -7.893 1.00 20.72 C +ATOM 1430 CD1 PHE E 187 16.761 6.643 -7.972 1.00 19.80 C +ATOM 1431 CD2 PHE E 187 17.366 4.558 -6.957 1.00 19.42 C +ATOM 1432 CE1 PHE E 187 17.677 7.326 -7.166 1.00 19.71 C +ATOM 1433 CE2 PHE E 187 18.279 5.218 -6.126 1.00 8.34 C +ATOM 1434 CZ PHE E 187 18.417 6.608 -6.220 1.00 10.40 C +ATOM 1435 N ALA E 188 12.399 4.875 -10.389 1.00 27.64 N +ATOM 1436 CA ALA E 188 11.513 4.220 -11.360 1.00 15.63 C +ATOM 1437 C ALA E 188 11.793 4.556 -12.800 1.00 10.06 C +ATOM 1438 O ALA E 188 12.106 5.704 -13.201 1.00 23.69 O +ATOM 1439 CB ALA E 188 10.046 4.065 -10.965 1.00 11.68 C +ATOM 1440 N LYS E 189 11.703 3.515 -13.593 1.00 21.55 N +ATOM 1441 CA LYS E 189 11.976 3.661 -15.002 1.00 22.54 C +ATOM 1442 C LYS E 189 11.117 2.746 -15.873 1.00 20.59 C +ATOM 1443 O LYS E 189 10.892 1.567 -15.562 1.00 32.33 O +ATOM 1444 CB LYS E 189 13.472 3.414 -15.267 1.00 9.15 C +ATOM 1445 CG LYS E 189 14.046 4.184 -16.462 1.00 38.25 C +ATOM 1446 CD LYS E 189 15.361 3.606 -16.968 1.00 31.01 C +ATOM 1447 CE LYS E 189 15.947 4.357 -18.149 1.00 24.31 C +ATOM 1448 NZ LYS E 189 17.244 3.826 -18.590 1.00 36.48 N +ATOM 1449 N ARG E 190 10.637 3.324 -16.981 1.00 16.64 N +ATOM 1450 CA ARG E 190 9.843 2.596 -17.939 1.00 14.01 C +ATOM 1451 C ARG E 190 10.846 2.161 -19.015 1.00 23.94 C +ATOM 1452 O ARG E 190 11.410 2.987 -19.721 1.00 20.60 O +ATOM 1453 CB ARG E 190 8.676 3.407 -18.497 1.00 5.18 C +ATOM 1454 CG ARG E 190 7.752 2.447 -19.240 1.00 15.74 C +ATOM 1455 CD ARG E 190 6.361 2.942 -19.593 1.00 21.80 C +ATOM 1456 NE ARG E 190 5.674 1.886 -20.329 1.00 69.28 N +ATOM 1457 CZ ARG E 190 5.221 1.969 -21.573 1.00 36.70 C +ATOM 1458 NH1 ARG E 190 5.334 3.086 -22.288 1.00 26.54 N +ATOM 1459 NH2 ARG E 190 4.631 0.896 -22.113 1.00 38.01 N +ATOM 1460 N VAL E 191 11.138 0.870 -19.062 1.00 47.46 N +ATOM 1461 CA VAL E 191 12.116 0.328 -19.984 1.00 33.82 C +ATOM 1462 C VAL E 191 11.839 -1.081 -20.398 1.00100.00 C +ATOM 1463 O VAL E 191 11.653 -1.971 -19.555 1.00 22.99 O +ATOM 1464 CB VAL E 191 13.490 0.164 -19.349 1.00 26.52 C +ATOM 1465 CG1 VAL E 191 14.549 0.101 -20.449 1.00 14.27 C +ATOM 1466 CG2 VAL E 191 13.795 1.208 -18.291 1.00 69.74 C +ATOM 1467 N LYS E 192 11.902 -1.219 -21.706 1.00 15.43 N +ATOM 1468 CA LYS E 192 11.738 -2.440 -22.465 1.00 37.81 C +ATOM 1469 C LYS E 192 13.171 -2.707 -22.856 1.00 6.66 C +ATOM 1470 O LYS E 192 13.695 -2.062 -23.769 1.00100.00 O +ATOM 1471 CB LYS E 192 10.880 -2.159 -23.719 1.00 11.53 C +ATOM 1472 CG LYS E 192 9.436 -2.678 -23.634 1.00 15.50 C +ATOM 1473 CD LYS E 192 8.403 -1.759 -24.299 1.00 18.64 C +ATOM 1474 CE LYS E 192 7.021 -2.385 -24.469 1.00 45.14 C +ATOM 1475 NZ LYS E 192 6.147 -1.606 -25.363 1.00 83.97 N +ATOM 1476 N GLY E 193 13.853 -3.580 -22.155 1.00 44.45 N +ATOM 1477 CA GLY E 193 15.252 -3.808 -22.491 1.00 18.59 C +ATOM 1478 C GLY E 193 16.106 -3.666 -21.255 1.00 19.41 C +ATOM 1479 O GLY E 193 15.586 -3.597 -20.134 1.00100.00 O +ATOM 1480 N ARG E 194 17.413 -3.606 -21.463 1.00 39.98 N +ATOM 1481 CA ARG E 194 18.350 -3.475 -20.356 1.00 47.42 C +ATOM 1482 C ARG E 194 18.610 -2.023 -19.983 1.00 29.17 C +ATOM 1483 O ARG E 194 18.393 -1.097 -20.755 1.00 21.37 O +ATOM 1484 CB ARG E 194 19.699 -4.163 -20.657 1.00 54.52 C +ATOM 1485 CG ARG E 194 19.690 -5.697 -20.692 1.00 51.11 C +ATOM 1486 CD ARG E 194 20.788 -6.311 -21.588 1.00 51.05 C +ATOM 1487 NE ARG E 194 20.982 -5.598 -22.856 1.00 96.15 N +ATOM 1488 CZ ARG E 194 21.534 -6.087 -23.979 1.00100.00 C +ATOM 1489 NH1 ARG E 194 21.985 -7.337 -24.098 1.00 44.80 N +ATOM 1490 NH2 ARG E 194 21.620 -5.281 -25.037 1.00100.00 N +ATOM 1491 N THR E 195 19.104 -1.827 -18.785 1.00 16.46 N +ATOM 1492 CA THR E 195 19.422 -0.506 -18.366 1.00 28.04 C +ATOM 1493 C THR E 195 20.718 -0.673 -17.599 1.00 46.20 C +ATOM 1494 O THR E 195 21.051 -1.798 -17.216 1.00 15.89 O +ATOM 1495 CB THR E 195 18.243 0.219 -17.686 1.00 61.09 C +ATOM 1496 OG1 THR E 195 18.309 1.641 -17.793 1.00 17.29 O +ATOM 1497 CG2 THR E 195 18.120 -0.225 -16.256 1.00 12.40 C +ATOM 1498 N TRP E 196 21.473 0.397 -17.416 1.00 23.35 N +ATOM 1499 CA TRP E 196 22.759 0.272 -16.777 1.00 16.92 C +ATOM 1500 C TRP E 196 23.055 1.156 -15.577 1.00 19.19 C +ATOM 1501 O TRP E 196 24.121 1.015 -14.979 1.00 53.71 O +ATOM 1502 CB TRP E 196 23.828 0.566 -17.875 1.00 24.43 C +ATOM 1503 CG TRP E 196 24.026 -0.538 -18.885 1.00 20.09 C +ATOM 1504 CD1 TRP E 196 25.110 -1.375 -18.997 1.00 42.38 C +ATOM 1505 CD2 TRP E 196 23.174 -0.879 -19.963 1.00 17.51 C +ATOM 1506 NE1 TRP E 196 24.947 -2.259 -20.042 1.00 17.02 N +ATOM 1507 CE2 TRP E 196 23.770 -1.981 -20.655 1.00 11.56 C +ATOM 1508 CE3 TRP E 196 21.924 -0.422 -20.359 1.00 30.71 C +ATOM 1509 CZ2 TRP E 196 23.125 -2.597 -21.727 1.00 48.72 C +ATOM 1510 CZ3 TRP E 196 21.272 -1.056 -21.400 1.00 46.60 C +ATOM 1511 CH2 TRP E 196 21.866 -2.135 -22.078 1.00 74.70 C +HETATM 1512 N TPO E 197 22.176 2.074 -15.221 1.00 45.57 N +HETATM 1513 CA TPO E 197 22.485 2.951 -14.106 1.00 22.27 C +HETATM 1514 CB TPO E 197 21.502 4.099 -13.910 1.00 78.41 C +HETATM 1515 CG2 TPO E 197 22.109 5.117 -12.962 1.00 18.45 C +HETATM 1516 OG1 TPO E 197 21.198 4.701 -15.154 1.00 14.67 O +HETATM 1517 P TPO E 197 19.728 4.448 -15.756 1.00 25.70 P +HETATM 1518 O1P TPO E 197 18.812 5.115 -14.808 1.00 14.78 O +HETATM 1519 O2P TPO E 197 19.564 5.102 -17.083 1.00 28.94 O +HETATM 1520 O3P TPO E 197 19.531 2.969 -15.796 1.00 29.87 O +HETATM 1521 C TPO E 197 22.733 2.318 -12.773 1.00 17.31 C +HETATM 1522 O TPO E 197 21.994 1.469 -12.272 1.00 13.03 O +ATOM 1523 N LEU E 198 23.773 2.787 -12.142 1.00 11.72 N +ATOM 1524 CA LEU E 198 24.034 2.229 -10.832 1.00 40.38 C +ATOM 1525 C LEU E 198 23.081 2.896 -9.875 1.00 12.07 C +ATOM 1526 O LEU E 198 23.280 4.019 -9.415 1.00 31.10 O +ATOM 1527 CB LEU E 198 25.504 2.342 -10.392 1.00 45.15 C +ATOM 1528 CG LEU E 198 25.996 1.077 -9.692 1.00100.00 C +ATOM 1529 CD1 LEU E 198 27.513 1.011 -9.700 1.00 48.27 C +ATOM 1530 CD2 LEU E 198 25.536 1.071 -8.250 1.00 9.73 C +ATOM 1531 N CYS E 199 22.016 2.229 -9.602 1.00 29.16 N +ATOM 1532 CA CYS E 199 21.031 2.830 -8.746 1.00 4.75 C +ATOM 1533 C CYS E 199 20.545 1.865 -7.728 1.00 12.07 C +ATOM 1534 O CYS E 199 20.416 0.681 -8.038 1.00 11.32 O +ATOM 1535 CB CYS E 199 19.781 3.148 -9.625 1.00 18.88 C +ATOM 1536 SG CYS E 199 19.889 4.664 -10.584 1.00 28.74 S +ATOM 1537 N GLY E 200 20.237 2.416 -6.549 1.00 12.31 N +ATOM 1538 CA GLY E 200 19.720 1.639 -5.452 1.00 7.68 C +ATOM 1539 C GLY E 200 20.166 2.129 -4.112 1.00 15.34 C +ATOM 1540 O GLY E 200 20.535 3.283 -3.905 1.00 30.94 O +ATOM 1541 N THR E 201 20.126 1.181 -3.203 1.00 22.32 N +ATOM 1542 CA THR E 201 20.535 1.344 -1.844 1.00 19.17 C +ATOM 1543 C THR E 201 21.400 0.110 -1.598 1.00 25.83 C +ATOM 1544 O THR E 201 20.967 -1.026 -1.784 1.00 18.58 O +ATOM 1545 CB THR E 201 19.304 1.504 -0.927 1.00 12.88 C +ATOM 1546 OG1 THR E 201 18.577 2.644 -1.337 1.00 23.95 O +ATOM 1547 CG2 THR E 201 19.727 1.699 0.516 1.00 5.88 C +ATOM 1548 N PRO E 202 22.645 0.361 -1.266 1.00 29.60 N +ATOM 1549 CA PRO E 202 23.662 -0.646 -1.057 1.00 21.19 C +ATOM 1550 C PRO E 202 23.241 -2.046 -0.676 1.00 20.51 C +ATOM 1551 O PRO E 202 23.530 -3.026 -1.380 1.00 17.43 O +ATOM 1552 CB PRO E 202 24.714 -0.068 -0.118 1.00 19.34 C +ATOM 1553 CG PRO E 202 24.349 1.407 0.035 1.00 42.82 C +ATOM 1554 CD PRO E 202 22.957 1.610 -0.539 1.00 12.58 C +ATOM 1555 N GLU E 203 22.575 -2.156 0.455 1.00 14.28 N +ATOM 1556 CA GLU E 203 22.171 -3.470 0.927 1.00 37.05 C +ATOM 1557 C GLU E 203 21.155 -4.148 0.035 1.00 60.65 C +ATOM 1558 O GLU E 203 20.949 -5.332 0.168 1.00 20.32 O +ATOM 1559 CB GLU E 203 21.628 -3.457 2.394 1.00 7.05 C +ATOM 1560 CG GLU E 203 22.605 -3.007 3.512 1.00 16.24 C +ATOM 1561 CD GLU E 203 22.768 -1.514 3.650 1.00 19.17 C +ATOM 1562 OE1 GLU E 203 22.373 -0.729 2.795 1.00 22.83 O +ATOM 1563 OE2 GLU E 203 23.392 -1.143 4.769 1.00 14.19 O +ATOM 1564 N TYR E 204 20.509 -3.405 -0.856 1.00 18.38 N +ATOM 1565 CA TYR E 204 19.471 -3.978 -1.682 1.00 8.73 C +ATOM 1566 C TYR E 204 19.920 -4.225 -3.097 1.00 40.71 C +ATOM 1567 O TYR E 204 19.201 -4.777 -3.931 1.00 25.15 O +ATOM 1568 CB TYR E 204 18.169 -3.106 -1.552 1.00 16.13 C +ATOM 1569 CG TYR E 204 17.419 -3.474 -0.278 1.00 20.31 C +ATOM 1570 CD1 TYR E 204 17.837 -3.012 0.968 1.00 13.96 C +ATOM 1571 CD2 TYR E 204 16.344 -4.368 -0.310 1.00 39.76 C +ATOM 1572 CE1 TYR E 204 17.198 -3.416 2.143 1.00 17.83 C +ATOM 1573 CE2 TYR E 204 15.687 -4.775 0.852 1.00 15.11 C +ATOM 1574 CZ TYR E 204 16.117 -4.292 2.087 1.00 25.05 C +ATOM 1575 OH TYR E 204 15.486 -4.684 3.236 1.00 18.23 O +ATOM 1576 N LEU E 205 21.133 -3.813 -3.364 1.00 11.31 N +ATOM 1577 CA LEU E 205 21.686 -3.987 -4.696 1.00 15.81 C +ATOM 1578 C LEU E 205 21.894 -5.453 -5.114 1.00 37.93 C +ATOM 1579 O LEU E 205 22.463 -6.250 -4.367 1.00 31.24 O +ATOM 1580 CB LEU E 205 22.996 -3.220 -4.818 1.00 15.44 C +ATOM 1581 CG LEU E 205 22.791 -1.724 -4.680 1.00 16.32 C +ATOM 1582 CD1 LEU E 205 23.973 -1.016 -5.318 1.00 53.66 C +ATOM 1583 CD2 LEU E 205 21.487 -1.300 -5.351 1.00 35.21 C +ATOM 1584 N ALA E 206 21.430 -5.785 -6.331 1.00 24.14 N +ATOM 1585 CA ALA E 206 21.536 -7.117 -6.937 1.00 27.96 C +ATOM 1586 C ALA E 206 22.924 -7.302 -7.535 1.00 23.89 C +ATOM 1587 O ALA E 206 23.506 -6.312 -8.003 1.00 50.33 O +ATOM 1588 CB ALA E 206 20.520 -7.260 -8.055 1.00 37.90 C +ATOM 1589 N PRO E 207 23.448 -8.553 -7.527 1.00 18.00 N +ATOM 1590 CA PRO E 207 24.802 -8.819 -8.063 1.00 19.37 C +ATOM 1591 C PRO E 207 25.099 -8.126 -9.392 1.00 14.52 C +ATOM 1592 O PRO E 207 26.079 -7.376 -9.458 1.00 26.01 O +ATOM 1593 CB PRO E 207 25.015 -10.343 -8.090 1.00 7.83 C +ATOM 1594 CG PRO E 207 23.733 -10.957 -7.503 1.00 13.69 C +ATOM 1595 CD PRO E 207 22.688 -9.842 -7.414 1.00 3.46 C +ATOM 1596 N GLU E 208 24.232 -8.340 -10.426 1.00 16.63 N +ATOM 1597 CA GLU E 208 24.400 -7.728 -11.729 1.00 12.12 C +ATOM 1598 C GLU E 208 24.440 -6.220 -11.720 1.00 33.00 C +ATOM 1599 O GLU E 208 24.918 -5.636 -12.675 1.00 21.17 O +ATOM 1600 CB GLU E 208 23.389 -8.154 -12.796 1.00 12.61 C +ATOM 1601 CG GLU E 208 22.544 -9.325 -12.377 1.00 76.77 C +ATOM 1602 CD GLU E 208 21.212 -8.833 -11.973 1.00 39.65 C +ATOM 1603 OE1 GLU E 208 20.528 -8.065 -12.623 1.00 71.85 O +ATOM 1604 OE2 GLU E 208 20.877 -9.340 -10.848 1.00 8.25 O +ATOM 1605 N ILE E 209 23.917 -5.568 -10.688 1.00 24.06 N +ATOM 1606 CA ILE E 209 23.996 -4.120 -10.731 1.00 20.53 C +ATOM 1607 C ILE E 209 25.407 -3.692 -10.361 1.00 22.57 C +ATOM 1608 O ILE E 209 26.059 -2.918 -11.095 1.00 28.45 O +ATOM 1609 CB ILE E 209 22.988 -3.396 -9.849 1.00 14.54 C +ATOM 1610 CG1 ILE E 209 21.565 -3.791 -10.161 1.00 5.60 C +ATOM 1611 CG2 ILE E 209 23.127 -1.881 -10.046 1.00 16.98 C +ATOM 1612 CD1 ILE E 209 20.583 -3.041 -9.258 1.00 12.84 C +ATOM 1613 N ILE E 210 25.845 -4.213 -9.197 1.00 18.12 N +ATOM 1614 CA ILE E 210 27.173 -3.940 -8.679 1.00 10.54 C +ATOM 1615 C ILE E 210 28.230 -4.380 -9.670 1.00 39.60 C +ATOM 1616 O ILE E 210 29.356 -3.910 -9.616 1.00 28.25 O +ATOM 1617 CB ILE E 210 27.566 -4.209 -7.188 1.00 46.75 C +ATOM 1618 CG1 ILE E 210 28.879 -4.952 -7.075 1.00 20.78 C +ATOM 1619 CG2 ILE E 210 26.555 -4.799 -6.195 1.00 8.18 C +ATOM 1620 CD1 ILE E 210 30.032 -4.009 -6.783 1.00 62.75 C +ATOM 1621 N LEU E 211 27.820 -5.262 -10.582 1.00 34.14 N +ATOM 1622 CA LEU E 211 28.692 -5.805 -11.590 1.00 23.53 C +ATOM 1623 C LEU E 211 28.730 -5.022 -12.887 1.00 70.49 C +ATOM 1624 O LEU E 211 29.432 -5.402 -13.825 1.00 28.48 O +ATOM 1625 CB LEU E 211 28.404 -7.286 -11.842 1.00 35.15 C +ATOM 1626 CG LEU E 211 28.950 -8.164 -10.729 1.00 29.33 C +ATOM 1627 CD1 LEU E 211 29.102 -9.588 -11.238 1.00 21.41 C +ATOM 1628 CD2 LEU E 211 30.296 -7.628 -10.248 1.00 33.32 C +ATOM 1629 N SER E 212 27.974 -3.927 -12.941 1.00 39.98 N +ATOM 1630 CA SER E 212 27.960 -3.086 -14.131 1.00 18.21 C +ATOM 1631 C SER E 212 27.718 -3.925 -15.379 1.00100.00 C +ATOM 1632 O SER E 212 28.352 -3.719 -16.418 1.00 60.76 O +ATOM 1633 CB SER E 212 29.295 -2.355 -14.251 1.00 18.42 C +ATOM 1634 OG SER E 212 29.240 -1.121 -13.571 1.00 80.69 O +ATOM 1635 N LYS E 213 26.789 -4.879 -15.272 1.00 21.36 N +ATOM 1636 CA LYS E 213 26.519 -5.777 -16.376 1.00 41.05 C +ATOM 1637 C LYS E 213 25.266 -5.630 -17.229 1.00100.00 C +ATOM 1638 O LYS E 213 25.076 -6.386 -18.188 1.00 80.57 O +ATOM 1639 CB LYS E 213 26.843 -7.214 -16.003 1.00 29.31 C +ATOM 1640 CG LYS E 213 25.723 -8.018 -15.380 1.00 59.24 C +ATOM 1641 CD LYS E 213 26.199 -9.421 -14.991 1.00100.00 C +ATOM 1642 CE LYS E 213 25.372 -10.559 -15.586 1.00100.00 C +ATOM 1643 NZ LYS E 213 25.482 -11.819 -14.825 1.00100.00 N +ATOM 1644 N GLY E 214 24.415 -4.671 -16.928 1.00 38.70 N +ATOM 1645 CA GLY E 214 23.223 -4.551 -17.748 1.00 23.58 C +ATOM 1646 C GLY E 214 22.169 -5.335 -17.005 1.00 27.08 C +ATOM 1647 O GLY E 214 22.432 -6.449 -16.569 1.00 43.08 O +ATOM 1648 N TYR E 215 21.012 -4.754 -16.805 1.00 29.44 N +ATOM 1649 CA TYR E 215 19.992 -5.473 -16.064 1.00 19.29 C +ATOM 1650 C TYR E 215 18.537 -5.168 -16.455 1.00 28.13 C +ATOM 1651 O TYR E 215 18.216 -4.317 -17.315 1.00 37.24 O +ATOM 1652 CB TYR E 215 20.255 -5.371 -14.550 1.00 13.66 C +ATOM 1653 CG TYR E 215 20.280 -3.923 -14.077 1.00 23.92 C +ATOM 1654 CD1 TYR E 215 21.440 -3.150 -14.107 1.00 15.17 C +ATOM 1655 CD2 TYR E 215 19.120 -3.324 -13.587 1.00 21.74 C +ATOM 1656 CE1 TYR E 215 21.438 -1.815 -13.681 1.00 30.22 C +ATOM 1657 CE2 TYR E 215 19.095 -1.992 -13.179 1.00 20.47 C +ATOM 1658 CZ TYR E 215 20.262 -1.228 -13.212 1.00 24.15 C +ATOM 1659 OH TYR E 215 20.226 0.103 -12.818 1.00 20.47 O +ATOM 1660 N ASN E 216 17.648 -5.906 -15.790 1.00 19.06 N +ATOM 1661 CA ASN E 216 16.220 -5.811 -15.995 1.00 33.09 C +ATOM 1662 C ASN E 216 15.468 -5.983 -14.697 1.00 19.36 C +ATOM 1663 O ASN E 216 16.005 -5.827 -13.621 1.00 28.69 O +ATOM 1664 CB ASN E 216 15.759 -6.902 -16.945 1.00 36.43 C +ATOM 1665 CG ASN E 216 16.108 -8.274 -16.385 1.00 25.71 C +ATOM 1666 OD1 ASN E 216 16.657 -8.414 -15.277 1.00 43.47 O +ATOM 1667 ND2 ASN E 216 15.794 -9.298 -17.169 1.00 25.69 N +ATOM 1668 N LYS E 217 14.217 -6.312 -14.841 1.00 16.48 N +ATOM 1669 CA LYS E 217 13.282 -6.518 -13.748 1.00 28.33 C +ATOM 1670 C LYS E 217 13.753 -7.502 -12.658 1.00 81.19 C +ATOM 1671 O LYS E 217 13.377 -7.418 -11.478 1.00 21.44 O +ATOM 1672 CB LYS E 217 11.906 -6.886 -14.343 1.00 24.89 C +ATOM 1673 CG LYS E 217 11.555 -6.094 -15.608 1.00 66.83 C +ATOM 1674 CD LYS E 217 10.640 -4.886 -15.362 1.00100.00 C +ATOM 1675 CE LYS E 217 9.911 -4.369 -16.606 1.00100.00 C +ATOM 1676 NZ LYS E 217 10.774 -3.615 -17.547 1.00 75.15 N +ATOM 1677 N ALA E 218 14.585 -8.461 -13.036 1.00 33.87 N +ATOM 1678 CA ALA E 218 15.070 -9.439 -12.060 1.00 19.75 C +ATOM 1679 C ALA E 218 15.613 -8.762 -10.775 1.00 23.05 C +ATOM 1680 O ALA E 218 15.582 -9.310 -9.651 1.00 22.71 O +ATOM 1681 CB ALA E 218 16.023 -10.439 -12.720 1.00 19.97 C +ATOM 1682 N VAL E 219 16.089 -7.526 -10.937 1.00 22.05 N +ATOM 1683 CA VAL E 219 16.610 -6.757 -9.817 1.00 10.75 C +ATOM 1684 C VAL E 219 15.516 -6.490 -8.801 1.00 50.78 C +ATOM 1685 O VAL E 219 15.724 -6.452 -7.582 1.00 16.94 O +ATOM 1686 CB VAL E 219 17.393 -5.524 -10.220 1.00 12.50 C +ATOM 1687 CG1 VAL E 219 18.526 -5.930 -11.177 1.00 7.44 C +ATOM 1688 CG2 VAL E 219 16.449 -4.471 -10.833 1.00 6.61 C +ATOM 1689 N ASP E 220 14.312 -6.337 -9.296 1.00 7.74 N +ATOM 1690 CA ASP E 220 13.236 -6.116 -8.338 1.00 1.00 C +ATOM 1691 C ASP E 220 13.027 -7.380 -7.481 1.00 52.13 C +ATOM 1692 O ASP E 220 12.812 -7.348 -6.259 1.00 17.17 O +ATOM 1693 CB ASP E 220 11.972 -5.527 -9.005 1.00 3.03 C +ATOM 1694 CG ASP E 220 12.150 -4.047 -9.161 1.00 47.86 C +ATOM 1695 OD1 ASP E 220 12.980 -3.453 -8.516 1.00 14.55 O +ATOM 1696 OD2 ASP E 220 11.388 -3.474 -10.063 1.00 14.00 O +ATOM 1697 N TRP E 221 13.154 -8.527 -8.141 1.00 3.66 N +ATOM 1698 CA TRP E 221 12.993 -9.810 -7.470 1.00 36.95 C +ATOM 1699 C TRP E 221 14.063 -10.101 -6.446 1.00 16.66 C +ATOM 1700 O TRP E 221 13.780 -10.525 -5.322 1.00 26.01 O +ATOM 1701 CB TRP E 221 12.642 -10.960 -8.405 1.00 11.40 C +ATOM 1702 CG TRP E 221 11.335 -10.680 -9.083 1.00 10.11 C +ATOM 1703 CD1 TRP E 221 11.186 -10.500 -10.415 1.00 29.95 C +ATOM 1704 CD2 TRP E 221 10.023 -10.507 -8.502 1.00 25.03 C +ATOM 1705 NE1 TRP E 221 9.870 -10.227 -10.703 1.00 17.48 N +ATOM 1706 CE2 TRP E 221 9.125 -10.242 -9.561 1.00 43.96 C +ATOM 1707 CE3 TRP E 221 9.516 -10.534 -7.219 1.00 9.79 C +ATOM 1708 CZ2 TRP E 221 7.752 -10.019 -9.370 1.00 15.48 C +ATOM 1709 CZ3 TRP E 221 8.157 -10.338 -7.028 1.00 30.92 C +ATOM 1710 CH2 TRP E 221 7.282 -10.079 -8.085 1.00 22.45 C +ATOM 1711 N TRP E 222 15.304 -9.844 -6.804 1.00 25.08 N +ATOM 1712 CA TRP E 222 16.374 -10.045 -5.836 1.00 14.25 C +ATOM 1713 C TRP E 222 16.075 -9.232 -4.572 1.00 14.97 C +ATOM 1714 O TRP E 222 16.088 -9.733 -3.443 1.00 22.92 O +ATOM 1715 CB TRP E 222 17.694 -9.499 -6.431 1.00 18.10 C +ATOM 1716 CG TRP E 222 18.817 -9.486 -5.451 1.00 16.65 C +ATOM 1717 CD1 TRP E 222 19.098 -8.485 -4.576 1.00 21.93 C +ATOM 1718 CD2 TRP E 222 19.811 -10.509 -5.247 1.00 40.86 C +ATOM 1719 NE1 TRP E 222 20.190 -8.824 -3.823 1.00 26.17 N +ATOM 1720 CE2 TRP E 222 20.659 -10.052 -4.212 1.00 23.02 C +ATOM 1721 CE3 TRP E 222 20.066 -11.758 -5.832 1.00 37.60 C +ATOM 1722 CZ2 TRP E 222 21.755 -10.813 -3.764 1.00 17.84 C +ATOM 1723 CZ3 TRP E 222 21.140 -12.517 -5.391 1.00 24.73 C +ATOM 1724 CH2 TRP E 222 21.981 -12.042 -4.368 1.00 24.83 C +ATOM 1725 N ALA E 223 15.815 -7.928 -4.787 1.00 22.27 N +ATOM 1726 CA ALA E 223 15.515 -6.998 -3.688 1.00 21.07 C +ATOM 1727 C ALA E 223 14.323 -7.483 -2.856 1.00 17.83 C +ATOM 1728 O ALA E 223 14.138 -7.173 -1.683 1.00 27.55 O +ATOM 1729 CB ALA E 223 15.297 -5.551 -4.153 1.00 4.84 C +ATOM 1730 N LEU E 224 13.475 -8.266 -3.461 1.00 34.43 N +ATOM 1731 CA LEU E 224 12.393 -8.704 -2.635 1.00 9.85 C +ATOM 1732 C LEU E 224 12.900 -9.720 -1.620 1.00 21.71 C +ATOM 1733 O LEU E 224 12.501 -9.700 -0.471 1.00 28.68 O +ATOM 1734 CB LEU E 224 11.230 -9.295 -3.448 1.00 14.91 C +ATOM 1735 CG LEU E 224 10.108 -9.729 -2.532 1.00 37.62 C +ATOM 1736 CD1 LEU E 224 9.729 -8.623 -1.547 1.00 16.91 C +ATOM 1737 CD2 LEU E 224 8.925 -10.023 -3.392 1.00 15.82 C +ATOM 1738 N GLY E 225 13.780 -10.632 -2.056 1.00 9.32 N +ATOM 1739 CA GLY E 225 14.304 -11.648 -1.138 1.00 21.93 C +ATOM 1740 C GLY E 225 15.047 -10.994 -0.007 1.00 27.29 C +ATOM 1741 O GLY E 225 14.967 -11.388 1.149 1.00 28.28 O +ATOM 1742 N VAL E 226 15.771 -9.950 -0.361 1.00 32.22 N +ATOM 1743 CA VAL E 226 16.500 -9.229 0.641 1.00 8.64 C +ATOM 1744 C VAL E 226 15.521 -8.662 1.696 1.00 16.31 C +ATOM 1745 O VAL E 226 15.794 -8.614 2.894 1.00 4.64 O +ATOM 1746 CB VAL E 226 17.296 -8.045 0.037 1.00 11.43 C +ATOM 1747 CG1 VAL E 226 17.604 -7.074 1.171 1.00 35.54 C +ATOM 1748 CG2 VAL E 226 18.625 -8.424 -0.656 1.00 2.59 C +ATOM 1749 N LEU E 227 14.384 -8.183 1.214 1.00 18.63 N +ATOM 1750 CA LEU E 227 13.358 -7.576 2.058 1.00 35.79 C +ATOM 1751 C LEU E 227 12.772 -8.587 2.988 1.00 18.60 C +ATOM 1752 O LEU E 227 12.787 -8.373 4.202 1.00 27.08 O +ATOM 1753 CB LEU E 227 12.266 -6.825 1.268 1.00 18.95 C +ATOM 1754 CG LEU E 227 11.362 -5.958 2.121 1.00 31.05 C +ATOM 1755 CD1 LEU E 227 11.914 -4.542 2.164 1.00 13.59 C +ATOM 1756 CD2 LEU E 227 10.006 -5.900 1.450 1.00 26.23 C +ATOM 1757 N ILE E 228 12.269 -9.700 2.409 1.00 34.40 N +ATOM 1758 CA ILE E 228 11.673 -10.799 3.177 1.00 20.41 C +ATOM 1759 C ILE E 228 12.682 -11.286 4.198 1.00 39.27 C +ATOM 1760 O ILE E 228 12.372 -11.543 5.348 1.00 24.94 O +ATOM 1761 CB ILE E 228 11.214 -11.971 2.297 1.00 44.95 C +ATOM 1762 CG1 ILE E 228 10.011 -11.595 1.437 1.00 7.25 C +ATOM 1763 CG2 ILE E 228 10.851 -13.206 3.118 1.00 3.17 C +ATOM 1764 CD1 ILE E 228 9.784 -12.613 0.305 1.00 24.56 C +ATOM 1765 N TYR E 229 13.922 -11.411 3.778 1.00 31.17 N +ATOM 1766 CA TYR E 229 14.910 -11.880 4.704 1.00 11.45 C +ATOM 1767 C TYR E 229 15.006 -10.953 5.905 1.00 12.63 C +ATOM 1768 O TYR E 229 14.856 -11.379 7.029 1.00 21.75 O +ATOM 1769 CB TYR E 229 16.238 -12.065 3.968 1.00 14.51 C +ATOM 1770 CG TYR E 229 17.384 -12.507 4.826 1.00 7.08 C +ATOM 1771 CD1 TYR E 229 17.881 -11.718 5.871 1.00 23.09 C +ATOM 1772 CD2 TYR E 229 17.953 -13.765 4.584 1.00 21.16 C +ATOM 1773 CE1 TYR E 229 18.921 -12.167 6.693 1.00 9.61 C +ATOM 1774 CE2 TYR E 229 19.003 -14.230 5.380 1.00 7.42 C +ATOM 1775 CZ TYR E 229 19.475 -13.423 6.414 1.00 25.29 C +ATOM 1776 OH TYR E 229 20.502 -13.889 7.143 1.00 27.10 O +ATOM 1777 N GLU E 230 15.240 -9.671 5.635 1.00 31.30 N +ATOM 1778 CA GLU E 230 15.381 -8.651 6.667 1.00 3.22 C +ATOM 1779 C GLU E 230 14.196 -8.585 7.590 1.00 38.16 C +ATOM 1780 O GLU E 230 14.357 -8.524 8.789 1.00 18.78 O +ATOM 1781 CB GLU E 230 15.672 -7.236 6.094 1.00 15.09 C +ATOM 1782 CG GLU E 230 15.856 -6.150 7.185 1.00 16.62 C +ATOM 1783 CD GLU E 230 16.477 -4.861 6.708 1.00 41.16 C +ATOM 1784 OE1 GLU E 230 16.531 -4.683 5.405 1.00 19.78 O +ATOM 1785 OE2 GLU E 230 16.881 -4.044 7.473 1.00 23.84 O +ATOM 1786 N MET E 231 13.001 -8.578 7.031 1.00 31.46 N +ATOM 1787 CA MET E 231 11.810 -8.518 7.870 1.00 17.53 C +ATOM 1788 C MET E 231 11.760 -9.712 8.834 1.00 24.86 C +ATOM 1789 O MET E 231 11.497 -9.492 10.032 1.00 15.96 O +ATOM 1790 CB MET E 231 10.476 -8.463 7.068 1.00 26.02 C +ATOM 1791 CG MET E 231 10.302 -7.308 6.097 1.00 52.04 C +ATOM 1792 SD MET E 231 8.646 -7.218 5.348 1.00 31.17 S +ATOM 1793 CE MET E 231 8.598 -8.710 4.321 1.00 6.31 C +ATOM 1794 N ALA E 232 11.996 -10.963 8.302 1.00 27.80 N +ATOM 1795 CA ALA E 232 11.952 -12.212 9.117 1.00 21.71 C +ATOM 1796 C ALA E 232 13.115 -12.385 10.061 1.00 21.11 C +ATOM 1797 O ALA E 232 12.929 -12.839 11.184 1.00 66.13 O +ATOM 1798 CB ALA E 232 11.719 -13.481 8.309 1.00 19.86 C +ATOM 1799 N ALA E 233 14.312 -11.998 9.592 1.00 29.34 N +ATOM 1800 CA ALA E 233 15.527 -12.092 10.379 1.00 17.76 C +ATOM 1801 C ALA E 233 15.768 -10.910 11.290 1.00 35.67 C +ATOM 1802 O ALA E 233 16.247 -11.091 12.418 1.00 27.32 O +ATOM 1803 CB ALA E 233 16.733 -12.290 9.474 1.00 20.30 C +ATOM 1804 N GLY E 234 15.468 -9.696 10.806 1.00 20.06 N +ATOM 1805 CA GLY E 234 15.706 -8.510 11.643 1.00 29.18 C +ATOM 1806 C GLY E 234 16.974 -7.739 11.235 1.00 23.92 C +ATOM 1807 O GLY E 234 17.351 -6.713 11.793 1.00 24.38 O +ATOM 1808 N TYR E 235 17.618 -8.250 10.221 1.00 45.14 N +ATOM 1809 CA TYR E 235 18.798 -7.649 9.683 1.00 16.88 C +ATOM 1810 C TYR E 235 18.923 -8.121 8.248 1.00 38.11 C +ATOM 1811 O TYR E 235 18.250 -9.039 7.788 1.00 35.49 O +ATOM 1812 CB TYR E 235 20.066 -7.946 10.513 1.00 22.13 C +ATOM 1813 CG TYR E 235 20.252 -9.423 10.779 1.00 10.18 C +ATOM 1814 CD1 TYR E 235 20.793 -10.240 9.790 1.00 46.72 C +ATOM 1815 CD2 TYR E 235 19.835 -10.006 11.975 1.00 30.25 C +ATOM 1816 CE1 TYR E 235 20.944 -11.609 10.005 1.00 13.41 C +ATOM 1817 CE2 TYR E 235 19.985 -11.372 12.216 1.00 14.84 C +ATOM 1818 CZ TYR E 235 20.552 -12.168 11.218 1.00 28.71 C +ATOM 1819 OH TYR E 235 20.722 -13.511 11.416 1.00 50.29 O +ATOM 1820 N PRO E 236 19.783 -7.487 7.536 1.00 24.52 N +ATOM 1821 CA PRO E 236 19.975 -7.860 6.167 1.00 29.62 C +ATOM 1822 C PRO E 236 20.902 -9.056 6.082 1.00 14.19 C +ATOM 1823 O PRO E 236 21.700 -9.279 6.987 1.00 43.18 O +ATOM 1824 CB PRO E 236 20.636 -6.644 5.497 1.00 46.89 C +ATOM 1825 CG PRO E 236 20.750 -5.542 6.542 1.00 26.17 C +ATOM 1826 CD PRO E 236 20.339 -6.149 7.868 1.00 20.81 C +ATOM 1827 N PRO E 237 20.789 -9.809 4.982 1.00 37.70 N +ATOM 1828 CA PRO E 237 21.620 -10.973 4.740 1.00 48.97 C +ATOM 1829 C PRO E 237 23.079 -10.540 4.582 1.00 30.89 C +ATOM 1830 O PRO E 237 24.002 -11.255 4.963 1.00 47.63 O +ATOM 1831 CB PRO E 237 21.132 -11.574 3.414 1.00 25.45 C +ATOM 1832 CG PRO E 237 20.313 -10.496 2.704 1.00 21.06 C +ATOM 1833 CD PRO E 237 20.058 -9.404 3.745 1.00 25.76 C +ATOM 1834 N PHE E 238 23.267 -9.361 3.979 1.00 23.32 N +ATOM 1835 CA PHE E 238 24.587 -8.813 3.792 1.00 32.88 C +ATOM 1836 C PHE E 238 24.632 -7.417 4.317 1.00 71.21 C +ATOM 1837 O PHE E 238 23.865 -6.539 3.897 1.00 39.60 O +ATOM 1838 CB PHE E 238 25.227 -8.901 2.386 1.00 32.25 C +ATOM 1839 CG PHE E 238 24.552 -9.868 1.465 1.00 19.98 C +ATOM 1840 CD1 PHE E 238 23.347 -9.518 0.857 1.00 24.89 C +ATOM 1841 CD2 PHE E 238 25.122 -11.114 1.198 1.00 23.47 C +ATOM 1842 CE1 PHE E 238 22.699 -10.399 -0.002 1.00 34.38 C +ATOM 1843 CE2 PHE E 238 24.483 -12.014 0.346 1.00 5.54 C +ATOM 1844 CZ PHE E 238 23.269 -11.650 -0.240 1.00 21.11 C +ATOM 1845 N PHE E 239 25.544 -7.260 5.250 1.00 23.78 N +ATOM 1846 CA PHE E 239 25.768 -6.005 5.906 1.00 42.51 C +ATOM 1847 C PHE E 239 27.205 -5.941 6.364 1.00 52.76 C +ATOM 1848 O PHE E 239 27.803 -6.964 6.604 1.00 35.35 O +ATOM 1849 CB PHE E 239 24.779 -5.791 7.078 1.00 32.10 C +ATOM 1850 CG PHE E 239 24.955 -6.729 8.253 1.00 12.90 C +ATOM 1851 CD1 PHE E 239 25.954 -6.506 9.205 1.00 22.51 C +ATOM 1852 CD2 PHE E 239 24.126 -7.843 8.418 1.00 25.93 C +ATOM 1853 CE1 PHE E 239 26.102 -7.366 10.298 1.00 21.02 C +ATOM 1854 CE2 PHE E 239 24.254 -8.709 9.507 1.00 24.18 C +ATOM 1855 CZ PHE E 239 25.253 -8.470 10.453 1.00 18.08 C +ATOM 1856 N ALA E 240 27.744 -4.738 6.460 1.00 15.87 N +ATOM 1857 CA ALA E 240 29.105 -4.473 6.896 1.00 24.70 C +ATOM 1858 C ALA E 240 29.103 -3.034 7.317 1.00 34.00 C +ATOM 1859 O ALA E 240 28.027 -2.417 7.312 1.00 32.71 O +ATOM 1860 CB ALA E 240 30.100 -4.683 5.765 1.00 8.69 C +ATOM 1861 N ASP E 241 30.264 -2.477 7.656 1.00 21.36 N +ATOM 1862 CA ASP E 241 30.251 -1.071 8.051 1.00 43.50 C +ATOM 1863 C ASP E 241 30.308 -0.075 6.891 1.00 36.40 C +ATOM 1864 O ASP E 241 29.821 1.050 7.002 1.00 99.99 O +ATOM 1865 CB ASP E 241 31.130 -0.688 9.247 1.00 12.15 C +ATOM 1866 CG ASP E 241 30.750 -1.442 10.486 1.00100.00 C +ATOM 1867 OD1 ASP E 241 29.589 -1.613 10.830 1.00 34.29 O +ATOM 1868 OD2 ASP E 241 31.798 -1.900 11.136 1.00 57.98 O +ATOM 1869 N GLN E 242 30.900 -0.488 5.773 1.00 92.21 N +ATOM 1870 CA GLN E 242 30.972 0.375 4.615 1.00 36.89 C +ATOM 1871 C GLN E 242 30.399 -0.353 3.442 1.00 20.81 C +ATOM 1872 O GLN E 242 30.414 -1.577 3.404 1.00 52.75 O +ATOM 1873 CB GLN E 242 32.372 0.945 4.313 1.00 74.26 C +ATOM 1874 CG GLN E 242 33.521 0.261 5.072 1.00 61.85 C +ATOM 1875 CD GLN E 242 34.850 0.434 4.359 1.00100.00 C +ATOM 1876 OE1 GLN E 242 34.895 0.916 3.213 1.00100.00 O +ATOM 1877 NE2 GLN E 242 35.938 0.055 5.033 1.00100.00 N +ATOM 1878 N PRO E 243 29.900 0.398 2.477 1.00 28.99 N +ATOM 1879 CA PRO E 243 29.297 -0.165 1.277 1.00 13.20 C +ATOM 1880 C PRO E 243 30.090 -1.176 0.458 1.00 16.84 C +ATOM 1881 O PRO E 243 29.589 -2.254 0.130 1.00 34.05 O +ATOM 1882 CB PRO E 243 28.694 1.014 0.509 1.00 27.70 C +ATOM 1883 CG PRO E 243 28.437 2.087 1.573 1.00 18.54 C +ATOM 1884 CD PRO E 243 29.349 1.751 2.760 1.00 23.01 C +ATOM 1885 N ILE E 244 31.326 -0.843 0.127 1.00 29.44 N +ATOM 1886 CA ILE E 244 32.189 -1.733 -0.628 1.00 20.69 C +ATOM 1887 C ILE E 244 32.254 -3.126 -0.006 1.00 23.45 C +ATOM 1888 O ILE E 244 32.234 -4.144 -0.704 1.00 28.85 O +ATOM 1889 CB ILE E 244 33.593 -1.145 -0.820 1.00 42.59 C +ATOM 1890 CG1 ILE E 244 34.371 -1.165 0.492 1.00 69.19 C +ATOM 1891 CG2 ILE E 244 33.480 0.283 -1.344 1.00100.00 C +ATOM 1892 CD1 ILE E 244 35.842 -0.787 0.324 1.00100.00 C +ATOM 1893 N GLN E 245 32.330 -3.189 1.320 1.00 25.78 N +ATOM 1894 CA GLN E 245 32.357 -4.499 1.949 1.00 30.33 C +ATOM 1895 C GLN E 245 31.043 -5.247 1.684 1.00 43.20 C +ATOM 1896 O GLN E 245 31.029 -6.460 1.472 1.00 44.72 O +ATOM 1897 CB GLN E 245 32.879 -4.565 3.409 1.00 32.79 C +ATOM 1898 CG GLN E 245 33.159 -3.187 4.076 1.00100.00 C +ATOM 1899 CD GLN E 245 33.387 -3.249 5.590 1.00100.00 C +ATOM 1900 OE1 GLN E 245 33.177 -2.265 6.320 1.00 43.89 O +ATOM 1901 NE2 GLN E 245 33.821 -4.412 6.071 1.00100.00 N +ATOM 1902 N ILE E 246 29.928 -4.510 1.650 1.00 15.19 N +ATOM 1903 CA ILE E 246 28.641 -5.132 1.353 1.00 40.77 C +ATOM 1904 C ILE E 246 28.586 -5.722 -0.074 1.00 6.74 C +ATOM 1905 O ILE E 246 28.236 -6.871 -0.313 1.00 39.03 O +ATOM 1906 CB ILE E 246 27.528 -4.109 1.459 1.00 29.73 C +ATOM 1907 CG1 ILE E 246 27.541 -3.416 2.814 1.00 12.36 C +ATOM 1908 CG2 ILE E 246 26.202 -4.814 1.244 1.00 26.51 C +ATOM 1909 CD1 ILE E 246 26.352 -2.482 3.034 1.00 14.70 C +ATOM 1910 N TYR E 247 28.930 -4.899 -1.040 1.00 24.07 N +ATOM 1911 CA TYR E 247 28.932 -5.299 -2.428 1.00 28.30 C +ATOM 1912 C TYR E 247 29.674 -6.578 -2.659 1.00 23.65 C +ATOM 1913 O TYR E 247 29.345 -7.403 -3.522 1.00 23.22 O +ATOM 1914 CB TYR E 247 29.713 -4.253 -3.197 1.00 10.07 C +ATOM 1915 CG TYR E 247 29.007 -2.957 -3.138 1.00 23.86 C +ATOM 1916 CD1 TYR E 247 27.676 -2.906 -2.722 1.00 9.74 C +ATOM 1917 CD2 TYR E 247 29.665 -1.788 -3.514 1.00 14.71 C +ATOM 1918 CE1 TYR E 247 26.993 -1.689 -2.660 1.00 11.93 C +ATOM 1919 CE2 TYR E 247 28.999 -0.564 -3.448 1.00 64.77 C +ATOM 1920 CZ TYR E 247 27.669 -0.521 -3.027 1.00 28.36 C +ATOM 1921 OH TYR E 247 27.031 0.678 -2.988 1.00 40.43 O +ATOM 1922 N GLU E 248 30.715 -6.689 -1.873 1.00 23.00 N +ATOM 1923 CA GLU E 248 31.620 -7.804 -1.918 1.00 20.16 C +ATOM 1924 C GLU E 248 30.999 -9.087 -1.377 1.00 32.21 C +ATOM 1925 O GLU E 248 31.207 -10.190 -1.914 1.00 21.90 O +ATOM 1926 CB GLU E 248 32.886 -7.341 -1.169 1.00 29.42 C +ATOM 1927 CG GLU E 248 34.077 -8.301 -1.197 1.00100.00 C +ATOM 1928 CD GLU E 248 35.147 -7.804 -0.268 1.00100.00 C +ATOM 1929 OE1 GLU E 248 35.848 -6.804 -0.778 1.00 51.65 O +ATOM 1930 OE2 GLU E 248 35.325 -8.270 0.844 1.00100.00 O +ATOM 1931 N LYS E 249 30.233 -8.938 -0.289 1.00 52.54 N +ATOM 1932 CA LYS E 249 29.566 -10.075 0.317 1.00 48.13 C +ATOM 1933 C LYS E 249 28.463 -10.495 -0.605 1.00 15.24 C +ATOM 1934 O LYS E 249 28.238 -11.672 -0.843 1.00 19.34 O +ATOM 1935 CB LYS E 249 28.917 -9.778 1.660 1.00 27.00 C +ATOM 1936 CG LYS E 249 29.841 -9.264 2.736 1.00 46.75 C +ATOM 1937 CD LYS E 249 29.171 -9.300 4.102 1.00 87.88 C +ATOM 1938 CE LYS E 249 30.060 -8.780 5.219 1.00 35.18 C +ATOM 1939 NZ LYS E 249 31.153 -7.918 4.727 1.00100.00 N +ATOM 1940 N ILE E 250 27.755 -9.485 -1.103 1.00 23.28 N +ATOM 1941 CA ILE E 250 26.666 -9.730 -2.008 1.00 10.67 C +ATOM 1942 C ILE E 250 27.103 -10.557 -3.215 1.00 15.77 C +ATOM 1943 O ILE E 250 26.329 -11.367 -3.737 1.00 26.46 O +ATOM 1944 CB ILE E 250 26.063 -8.420 -2.543 1.00 35.05 C +ATOM 1945 CG1 ILE E 250 25.034 -7.839 -1.569 1.00 21.92 C +ATOM 1946 CG2 ILE E 250 25.398 -8.711 -3.902 1.00 9.48 C +ATOM 1947 CD1 ILE E 250 24.690 -6.390 -1.908 1.00 30.62 C +ATOM 1948 N VAL E 251 28.330 -10.336 -3.715 1.00 25.46 N +ATOM 1949 CA VAL E 251 28.732 -11.104 -4.891 1.00 54.02 C +ATOM 1950 C VAL E 251 29.304 -12.488 -4.598 1.00 33.01 C +ATOM 1951 O VAL E 251 29.309 -13.356 -5.476 1.00 53.95 O +ATOM 1952 CB VAL E 251 29.566 -10.307 -5.883 1.00 17.00 C +ATOM 1953 CG1 VAL E 251 28.793 -9.092 -6.363 1.00 20.80 C +ATOM 1954 CG2 VAL E 251 30.831 -9.819 -5.191 1.00100.00 C +ATOM 1955 N SER E 252 29.775 -12.675 -3.360 1.00100.00 N +ATOM 1956 CA SER E 252 30.356 -13.928 -2.880 1.00 27.04 C +ATOM 1957 C SER E 252 29.464 -15.107 -3.209 1.00 61.70 C +ATOM 1958 O SER E 252 29.914 -16.226 -3.443 1.00 57.24 O +ATOM 1959 CB SER E 252 30.556 -13.862 -1.387 1.00 18.06 C +ATOM 1960 OG SER E 252 29.295 -14.013 -0.761 1.00 39.23 O +ATOM 1961 N GLY E 253 28.179 -14.804 -3.207 1.00 19.49 N +ATOM 1962 CA GLY E 253 27.132 -15.745 -3.495 1.00 51.38 C +ATOM 1963 C GLY E 253 26.790 -16.595 -2.299 1.00 70.57 C +ATOM 1964 O GLY E 253 26.212 -17.663 -2.433 1.00 39.27 O +ATOM 1965 N LYS E 254 27.142 -16.127 -1.119 1.00 59.60 N +ATOM 1966 CA LYS E 254 26.855 -16.918 0.052 1.00 29.84 C +ATOM 1967 C LYS E 254 25.868 -16.285 0.977 1.00 25.81 C +ATOM 1968 O LYS E 254 26.016 -15.128 1.356 1.00 77.34 O +ATOM 1969 CB LYS E 254 28.114 -17.266 0.808 1.00 43.69 C +ATOM 1970 CG LYS E 254 28.953 -18.293 0.080 1.00 24.07 C +ATOM 1971 CD LYS E 254 30.147 -18.744 0.911 1.00100.00 C +ATOM 1972 CE LYS E 254 31.452 -18.062 0.512 1.00 31.21 C +ATOM 1973 NZ LYS E 254 31.899 -17.022 1.464 1.00 41.03 N +ATOM 1974 N VAL E 255 24.871 -17.081 1.353 1.00 44.34 N +ATOM 1975 CA VAL E 255 23.838 -16.631 2.253 1.00 28.29 C +ATOM 1976 C VAL E 255 23.650 -17.558 3.429 1.00 61.34 C +ATOM 1977 O VAL E 255 23.715 -18.779 3.313 1.00 43.58 O +ATOM 1978 CB VAL E 255 22.508 -16.367 1.574 1.00 20.63 C +ATOM 1979 CG1 VAL E 255 21.603 -15.657 2.568 1.00 11.18 C +ATOM 1980 CG2 VAL E 255 22.744 -15.487 0.360 1.00 47.49 C +ATOM 1981 N ARG E 256 23.402 -16.956 4.577 1.00 38.45 N +ATOM 1982 CA ARG E 256 23.210 -17.732 5.765 1.00 32.93 C +ATOM 1983 C ARG E 256 21.888 -17.426 6.346 1.00 40.62 C +ATOM 1984 O ARG E 256 21.527 -16.273 6.498 1.00 30.29 O +ATOM 1985 CB ARG E 256 24.262 -17.409 6.793 1.00 51.86 C +ATOM 1986 CG ARG E 256 25.556 -16.954 6.135 1.00 31.54 C +ATOM 1987 CD ARG E 256 26.428 -18.158 5.819 1.00 79.91 C +ATOM 1988 NE ARG E 256 25.749 -19.387 6.227 1.00100.00 N +ATOM 1989 CZ ARG E 256 25.980 -20.026 7.376 1.00100.00 C +ATOM 1990 NH1 ARG E 256 26.891 -19.581 8.267 1.00 35.55 N +ATOM 1991 NH2 ARG E 256 25.287 -21.142 7.635 1.00100.00 N +ATOM 1992 N PHE E 257 21.183 -18.473 6.666 1.00 16.82 N +ATOM 1993 CA PHE E 257 19.902 -18.321 7.261 1.00 22.35 C +ATOM 1994 C PHE E 257 19.881 -18.647 8.717 1.00 44.21 C +ATOM 1995 O PHE E 257 20.433 -19.637 9.226 1.00 35.60 O +ATOM 1996 CB PHE E 257 18.907 -19.282 6.661 1.00 20.74 C +ATOM 1997 CG PHE E 257 18.817 -19.098 5.203 1.00 19.47 C +ATOM 1998 CD1 PHE E 257 18.156 -17.982 4.701 1.00 28.08 C +ATOM 1999 CD2 PHE E 257 19.379 -20.019 4.325 1.00 35.34 C +ATOM 2000 CE1 PHE E 257 18.018 -17.798 3.329 1.00 11.22 C +ATOM 2001 CE2 PHE E 257 19.271 -19.839 2.946 1.00 23.79 C +ATOM 2002 CZ PHE E 257 18.599 -18.718 2.457 1.00 73.41 C +ATOM 2003 N PRO E 258 19.173 -17.780 9.368 1.00 20.43 N +ATOM 2004 CA PRO E 258 18.907 -17.890 10.760 1.00 43.64 C +ATOM 2005 C PRO E 258 18.185 -19.237 10.963 1.00 23.05 C +ATOM 2006 O PRO E 258 17.480 -19.739 10.062 1.00 40.62 O +ATOM 2007 CB PRO E 258 17.978 -16.703 11.072 1.00 13.40 C +ATOM 2008 CG PRO E 258 17.981 -15.802 9.864 1.00 19.51 C +ATOM 2009 CD PRO E 258 18.634 -16.566 8.731 1.00 35.58 C +ATOM 2010 N SER E 259 18.395 -19.806 12.144 1.00 59.42 N +ATOM 2011 CA SER E 259 17.844 -21.079 12.558 1.00 31.26 C +ATOM 2012 C SER E 259 16.318 -21.165 12.571 1.00 53.58 C +ATOM 2013 O SER E 259 15.747 -22.250 12.365 1.00 70.27 O +ATOM 2014 CB SER E 259 18.349 -21.358 13.956 1.00 31.48 C +ATOM 2015 OG SER E 259 18.773 -20.147 14.551 1.00100.00 O +ATOM 2016 N HIS E 260 15.672 -20.016 12.802 1.00 66.75 N +ATOM 2017 CA HIS E 260 14.211 -19.878 12.916 1.00 16.95 C +ATOM 2018 C HIS E 260 13.429 -19.642 11.650 1.00 91.06 C +ATOM 2019 O HIS E 260 12.267 -19.192 11.705 1.00 49.33 O +ATOM 2020 CB HIS E 260 13.873 -18.762 13.906 1.00 41.22 C +ATOM 2021 CG HIS E 260 14.178 -17.402 13.372 1.00 34.96 C +ATOM 2022 ND1 HIS E 260 13.422 -16.839 12.347 1.00 30.79 N +ATOM 2023 CD2 HIS E 260 15.149 -16.519 13.733 1.00 31.60 C +ATOM 2024 CE1 HIS E 260 13.931 -15.642 12.124 1.00 70.74 C +ATOM 2025 NE2 HIS E 260 14.962 -15.418 12.941 1.00 20.20 N +ATOM 2026 N PHE E 261 14.083 -19.945 10.539 1.00 16.08 N +ATOM 2027 CA PHE E 261 13.535 -19.792 9.207 1.00 32.27 C +ATOM 2028 C PHE E 261 13.045 -21.135 8.720 1.00 71.47 C +ATOM 2029 O PHE E 261 13.816 -22.053 8.435 1.00 22.37 O +ATOM 2030 CB PHE E 261 14.599 -19.316 8.185 1.00 59.66 C +ATOM 2031 CG PHE E 261 14.806 -17.820 8.019 1.00 35.14 C +ATOM 2032 CD1 PHE E 261 14.491 -16.917 9.037 1.00 12.12 C +ATOM 2033 CD2 PHE E 261 15.353 -17.319 6.836 1.00 49.66 C +ATOM 2034 CE1 PHE E 261 14.700 -15.543 8.883 1.00 36.01 C +ATOM 2035 CE2 PHE E 261 15.577 -15.952 6.657 1.00 32.76 C +ATOM 2036 CZ PHE E 261 15.235 -15.066 7.682 1.00 19.70 C +ATOM 2037 N SER E 262 11.750 -21.256 8.617 1.00 31.12 N +ATOM 2038 CA SER E 262 11.209 -22.479 8.140 1.00 14.21 C +ATOM 2039 C SER E 262 11.887 -22.845 6.826 1.00 28.88 C +ATOM 2040 O SER E 262 12.346 -21.983 6.057 1.00 27.91 O +ATOM 2041 CB SER E 262 9.717 -22.334 7.966 1.00 25.42 C +ATOM 2042 OG SER E 262 9.442 -21.921 6.636 1.00 42.22 O +ATOM 2043 N SER E 263 11.943 -24.141 6.590 1.00 24.74 N +ATOM 2044 CA SER E 263 12.522 -24.708 5.404 1.00 64.57 C +ATOM 2045 C SER E 263 11.882 -24.124 4.164 1.00 21.85 C +ATOM 2046 O SER E 263 12.539 -23.913 3.139 1.00 36.97 O +ATOM 2047 CB SER E 263 12.248 -26.179 5.464 1.00 52.90 C +ATOM 2048 OG SER E 263 11.714 -26.450 6.744 1.00100.00 O +ATOM 2049 N ASP E 264 10.592 -23.859 4.287 1.00 85.62 N +ATOM 2050 CA ASP E 264 9.864 -23.291 3.187 1.00 16.57 C +ATOM 2051 C ASP E 264 10.427 -21.930 2.822 1.00 45.74 C +ATOM 2052 O ASP E 264 10.631 -21.628 1.651 1.00 36.69 O +ATOM 2053 CB ASP E 264 8.342 -23.241 3.437 1.00100.00 C +ATOM 2054 CG ASP E 264 7.609 -24.502 3.045 1.00 63.73 C +ATOM 2055 OD1 ASP E 264 8.346 -25.366 2.379 1.00 44.50 O +ATOM 2056 OD2 ASP E 264 6.440 -24.690 3.313 1.00 40.37 O +ATOM 2057 N LEU E 265 10.681 -21.131 3.858 1.00 26.92 N +ATOM 2058 CA LEU E 265 11.214 -19.791 3.729 1.00 24.66 C +ATOM 2059 C LEU E 265 12.595 -19.808 3.123 1.00 17.79 C +ATOM 2060 O LEU E 265 12.892 -19.094 2.173 1.00 29.48 O +ATOM 2061 CB LEU E 265 11.271 -19.118 5.100 1.00 20.64 C +ATOM 2062 CG LEU E 265 11.871 -17.734 4.985 1.00 45.20 C +ATOM 2063 CD1 LEU E 265 11.145 -16.996 3.877 1.00 18.62 C +ATOM 2064 CD2 LEU E 265 11.761 -16.995 6.318 1.00 13.59 C +ATOM 2065 N LYS E 266 13.408 -20.664 3.710 1.00 25.29 N +ATOM 2066 CA LYS E 266 14.776 -20.859 3.312 1.00 28.19 C +ATOM 2067 C LYS E 266 14.851 -21.113 1.839 1.00 36.43 C +ATOM 2068 O LYS E 266 15.697 -20.574 1.131 1.00 35.59 O +ATOM 2069 CB LYS E 266 15.373 -22.102 3.978 1.00 7.06 C +ATOM 2070 CG LYS E 266 15.801 -21.941 5.419 1.00 43.25 C +ATOM 2071 CD LYS E 266 16.519 -23.188 5.941 1.00 82.49 C +ATOM 2072 CE LYS E 266 17.456 -22.925 7.114 1.00100.00 C +ATOM 2073 NZ LYS E 266 16.849 -23.237 8.429 1.00 51.65 N +ATOM 2074 N ASP E 267 13.959 -21.980 1.390 1.00 37.92 N +ATOM 2075 CA ASP E 267 13.952 -22.331 -0.001 1.00 9.88 C +ATOM 2076 C ASP E 267 13.465 -21.252 -0.957 1.00 30.64 C +ATOM 2077 O ASP E 267 14.072 -21.003 -1.977 1.00 27.26 O +ATOM 2078 CB ASP E 267 13.432 -23.727 -0.302 1.00 45.76 C +ATOM 2079 CG ASP E 267 12.170 -23.611 -1.057 1.00100.00 C +ATOM 2080 OD1 ASP E 267 11.189 -23.245 -0.272 1.00 76.65 O +ATOM 2081 OD2 ASP E 267 12.101 -23.789 -2.265 1.00 38.24 O +ATOM 2082 N LEU E 268 12.387 -20.584 -0.639 1.00 24.36 N +ATOM 2083 CA LEU E 268 11.937 -19.516 -1.510 1.00 18.89 C +ATOM 2084 C LEU E 268 13.057 -18.505 -1.698 1.00 14.32 C +ATOM 2085 O LEU E 268 13.325 -18.010 -2.803 1.00 46.87 O +ATOM 2086 CB LEU E 268 10.810 -18.751 -0.790 1.00 37.21 C +ATOM 2087 CG LEU E 268 9.895 -17.901 -1.691 1.00 23.13 C +ATOM 2088 CD1 LEU E 268 9.380 -16.708 -0.905 1.00 27.07 C +ATOM 2089 CD2 LEU E 268 10.576 -17.453 -2.980 1.00 71.60 C +ATOM 2090 N LEU E 269 13.698 -18.179 -0.577 1.00 40.20 N +ATOM 2091 CA LEU E 269 14.787 -17.216 -0.541 1.00 27.68 C +ATOM 2092 C LEU E 269 15.961 -17.665 -1.379 1.00 30.20 C +ATOM 2093 O LEU E 269 16.708 -16.845 -1.937 1.00 26.89 O +ATOM 2094 CB LEU E 269 15.267 -16.992 0.896 1.00 11.44 C +ATOM 2095 CG LEU E 269 15.145 -15.571 1.410 1.00 54.70 C +ATOM 2096 CD1 LEU E 269 14.415 -14.682 0.410 1.00 67.90 C +ATOM 2097 CD2 LEU E 269 14.379 -15.615 2.714 1.00 29.06 C +ATOM 2098 N ARG E 270 16.116 -18.982 -1.426 1.00 33.03 N +ATOM 2099 CA ARG E 270 17.194 -19.575 -2.168 1.00 34.76 C +ATOM 2100 C ARG E 270 16.995 -19.261 -3.633 1.00 34.01 C +ATOM 2101 O ARG E 270 17.911 -18.997 -4.422 1.00 33.30 O +ATOM 2102 CB ARG E 270 17.223 -21.078 -1.931 1.00 43.00 C +ATOM 2103 CG ARG E 270 18.252 -21.553 -0.888 1.00 31.46 C +ATOM 2104 CD ARG E 270 18.252 -23.095 -0.733 1.00100.00 C +ATOM 2105 NE ARG E 270 17.700 -23.601 0.535 1.00 51.46 N +ATOM 2106 CZ ARG E 270 18.420 -23.627 1.645 1.00 46.04 C +ATOM 2107 NH1 ARG E 270 19.684 -23.194 1.662 1.00 45.90 N +ATOM 2108 NH2 ARG E 270 17.870 -24.090 2.764 1.00100.00 N +ATOM 2109 N ASN E 271 15.742 -19.263 -3.993 1.00 17.58 N +ATOM 2110 CA ASN E 271 15.384 -19.009 -5.358 1.00 31.79 C +ATOM 2111 C ASN E 271 15.324 -17.563 -5.779 1.00 38.46 C +ATOM 2112 O ASN E 271 15.380 -17.265 -6.967 1.00 34.49 O +ATOM 2113 CB ASN E 271 14.084 -19.751 -5.677 1.00 13.53 C +ATOM 2114 CG ASN E 271 14.311 -21.248 -5.509 1.00 29.46 C +ATOM 2115 OD1 ASN E 271 13.481 -21.953 -4.901 1.00 34.93 O +ATOM 2116 ND2 ASN E 271 15.465 -21.717 -6.007 1.00 85.61 N +ATOM 2117 N LEU E 272 15.222 -16.688 -4.799 1.00 24.10 N +ATOM 2118 CA LEU E 272 15.132 -15.260 -5.017 1.00 26.64 C +ATOM 2119 C LEU E 272 16.520 -14.651 -4.970 1.00 26.43 C +ATOM 2120 O LEU E 272 16.880 -13.721 -5.682 1.00 35.48 O +ATOM 2121 CB LEU E 272 14.320 -14.718 -3.829 1.00 48.57 C +ATOM 2122 CG LEU E 272 13.087 -13.887 -4.138 1.00 88.81 C +ATOM 2123 CD1 LEU E 272 12.447 -14.327 -5.432 1.00 16.53 C +ATOM 2124 CD2 LEU E 272 12.096 -14.062 -2.993 1.00 12.40 C +ATOM 2125 N LEU E 273 17.319 -15.213 -4.083 1.00 16.72 N +ATOM 2126 CA LEU E 273 18.652 -14.729 -3.890 1.00 28.06 C +ATOM 2127 C LEU E 273 19.582 -15.541 -4.726 1.00 29.43 C +ATOM 2128 O LEU E 273 20.651 -16.017 -4.362 1.00 25.00 O +ATOM 2129 CB LEU E 273 18.997 -14.631 -2.393 1.00 29.42 C +ATOM 2130 CG LEU E 273 18.023 -13.725 -1.598 1.00 38.48 C +ATOM 2131 CD1 LEU E 273 18.557 -13.487 -0.203 1.00 18.58 C +ATOM 2132 CD2 LEU E 273 17.835 -12.355 -2.260 1.00 18.18 C +ATOM 2133 N GLN E 274 19.104 -15.701 -5.908 1.00 20.16 N +ATOM 2134 CA GLN E 274 19.836 -16.462 -6.839 1.00 21.29 C +ATOM 2135 C GLN E 274 20.742 -15.513 -7.607 1.00 34.13 C +ATOM 2136 O GLN E 274 20.278 -14.548 -8.204 1.00 55.70 O +ATOM 2137 CB GLN E 274 18.951 -17.507 -7.582 1.00 25.67 C +ATOM 2138 CG GLN E 274 19.604 -18.093 -8.818 1.00 33.92 C +ATOM 2139 CD GLN E 274 20.782 -18.842 -8.362 1.00 19.33 C +ATOM 2140 OE1 GLN E 274 21.946 -18.472 -8.641 1.00 34.87 O +ATOM 2141 NE2 GLN E 274 20.437 -19.863 -7.581 1.00 39.13 N +ATOM 2142 N VAL E 275 22.053 -15.756 -7.493 1.00 29.97 N +ATOM 2143 CA VAL E 275 23.041 -14.929 -8.125 1.00 22.96 C +ATOM 2144 C VAL E 275 22.956 -14.980 -9.637 1.00 42.61 C +ATOM 2145 O VAL E 275 23.169 -13.971 -10.330 1.00 37.57 O +ATOM 2146 CB VAL E 275 24.415 -15.282 -7.610 1.00 38.72 C +ATOM 2147 CG1 VAL E 275 25.459 -14.864 -8.632 1.00 23.55 C +ATOM 2148 CG2 VAL E 275 24.642 -14.578 -6.275 1.00 16.32 C +ATOM 2149 N ASP E 276 22.620 -16.182 -10.115 1.00 40.93 N +ATOM 2150 CA ASP E 276 22.462 -16.501 -11.524 1.00 53.48 C +ATOM 2151 C ASP E 276 21.068 -16.148 -11.977 1.00 54.58 C +ATOM 2152 O ASP E 276 20.127 -16.910 -11.719 1.00 39.29 O +ATOM 2153 CB ASP E 276 22.715 -18.010 -11.772 1.00100.00 C +ATOM 2154 CG ASP E 276 22.772 -18.460 -13.219 1.00100.00 C +ATOM 2155 OD1 ASP E 276 21.794 -18.001 -13.962 1.00 47.40 O +ATOM 2156 OD2 ASP E 276 23.634 -19.210 -13.643 1.00100.00 O +ATOM 2157 N LEU E 277 20.966 -14.996 -12.646 1.00 45.90 N +ATOM 2158 CA LEU E 277 19.712 -14.481 -13.168 1.00 35.73 C +ATOM 2159 C LEU E 277 18.877 -15.344 -14.112 1.00 40.12 C +ATOM 2160 O LEU E 277 17.794 -14.973 -14.518 1.00 42.39 O +ATOM 2161 CB LEU E 277 19.480 -12.942 -13.176 1.00 41.35 C +ATOM 2162 CG LEU E 277 20.111 -12.180 -14.348 1.00 80.88 C +ATOM 2163 CD1 LEU E 277 21.625 -12.347 -14.336 1.00 60.77 C +ATOM 2164 CD2 LEU E 277 19.542 -12.630 -15.688 1.00 60.23 C +ATOM 2165 N THR E 278 19.345 -16.518 -14.473 1.00 42.58 N +ATOM 2166 CA THR E 278 18.520 -17.356 -15.333 1.00 78.76 C +ATOM 2167 C THR E 278 18.006 -18.502 -14.503 1.00 79.67 C +ATOM 2168 O THR E 278 17.411 -19.467 -14.980 1.00 52.36 O +ATOM 2169 CB THR E 278 19.186 -17.880 -16.610 1.00100.00 C +ATOM 2170 OG1 THR E 278 20.584 -17.671 -16.587 1.00100.00 O +ATOM 2171 CG2 THR E 278 18.555 -17.196 -17.814 1.00100.00 C +ATOM 2172 N LYS E 279 18.288 -18.357 -13.231 1.00 22.36 N +ATOM 2173 CA LYS E 279 17.899 -19.300 -12.233 1.00 66.88 C +ATOM 2174 C LYS E 279 16.992 -18.622 -11.207 1.00100.00 C +ATOM 2175 O LYS E 279 16.522 -19.285 -10.260 1.00 30.48 O +ATOM 2176 CB LYS E 279 19.164 -19.828 -11.576 1.00 54.83 C +ATOM 2177 CG LYS E 279 19.573 -21.210 -12.070 1.00 22.21 C +ATOM 2178 CD LYS E 279 20.423 -22.026 -11.105 1.00100.00 C +ATOM 2179 CE LYS E 279 19.612 -23.068 -10.337 1.00100.00 C +ATOM 2180 NZ LYS E 279 20.385 -23.757 -9.287 1.00100.00 N +ATOM 2181 N ARG E 280 16.762 -17.286 -11.440 1.00 29.78 N +ATOM 2182 CA ARG E 280 15.959 -16.399 -10.555 1.00 16.96 C +ATOM 2183 C ARG E 280 14.450 -16.396 -10.664 1.00 25.24 C +ATOM 2184 O ARG E 280 13.897 -15.905 -11.649 1.00 37.40 O +ATOM 2185 CB ARG E 280 16.253 -14.871 -10.599 1.00 31.55 C +ATOM 2186 CG ARG E 280 16.296 -14.248 -9.186 1.00 25.39 C +ATOM 2187 CD ARG E 280 16.931 -12.848 -9.009 1.00 27.00 C +ATOM 2188 NE ARG E 280 18.395 -12.849 -9.001 1.00 16.05 N +ATOM 2189 CZ ARG E 280 19.147 -11.841 -9.428 1.00 18.72 C +ATOM 2190 NH1 ARG E 280 18.596 -10.720 -9.870 1.00 20.32 N +ATOM 2191 NH2 ARG E 280 20.491 -11.956 -9.388 1.00 23.54 N +ATOM 2192 N PHE E 281 13.799 -16.834 -9.567 1.00 15.33 N +ATOM 2193 CA PHE E 281 12.360 -16.815 -9.446 1.00 21.94 C +ATOM 2194 C PHE E 281 11.867 -15.407 -9.830 1.00 37.31 C +ATOM 2195 O PHE E 281 12.333 -14.422 -9.279 1.00 25.35 O +ATOM 2196 CB PHE E 281 11.978 -17.096 -7.983 1.00 31.90 C +ATOM 2197 CG PHE E 281 11.459 -18.501 -7.707 1.00 34.63 C +ATOM 2198 CD1 PHE E 281 11.916 -19.612 -8.414 1.00 34.84 C +ATOM 2199 CD2 PHE E 281 10.499 -18.718 -6.717 1.00100.00 C +ATOM 2200 CE1 PHE E 281 11.439 -20.897 -8.151 1.00 32.86 C +ATOM 2201 CE2 PHE E 281 10.004 -19.992 -6.436 1.00 43.50 C +ATOM 2202 CZ PHE E 281 10.482 -21.085 -7.155 1.00 40.72 C +ATOM 2203 N GLY E 282 10.939 -15.307 -10.780 1.00 30.02 N +ATOM 2204 CA GLY E 282 10.428 -14.005 -11.228 1.00 3.34 C +ATOM 2205 C GLY E 282 10.981 -13.713 -12.610 1.00100.00 C +ATOM 2206 O GLY E 282 10.358 -13.074 -13.450 1.00 30.57 O +ATOM 2207 N ASN E 283 12.176 -14.224 -12.825 1.00 19.35 N +ATOM 2208 CA ASN E 283 12.891 -14.076 -14.064 1.00 65.05 C +ATOM 2209 C ASN E 283 12.877 -15.381 -14.818 1.00 43.94 C +ATOM 2210 O ASN E 283 13.701 -15.595 -15.695 1.00 58.79 O +ATOM 2211 CB ASN E 283 14.350 -13.638 -13.814 1.00 77.14 C +ATOM 2212 CG ASN E 283 15.029 -13.157 -15.079 1.00 43.00 C +ATOM 2213 OD1 ASN E 283 14.597 -12.174 -15.706 1.00100.00 O +ATOM 2214 ND2 ASN E 283 16.074 -13.856 -15.481 1.00 41.06 N +ATOM 2215 N LEU E 284 11.941 -16.264 -14.461 1.00 30.09 N +ATOM 2216 CA LEU E 284 11.862 -17.548 -15.132 1.00 70.36 C +ATOM 2217 C LEU E 284 10.660 -17.698 -16.040 1.00 45.88 C +ATOM 2218 O LEU E 284 9.888 -16.795 -16.309 1.00 32.67 O +ATOM 2219 CB LEU E 284 11.873 -18.747 -14.168 1.00 36.49 C +ATOM 2220 CG LEU E 284 12.963 -18.724 -13.112 1.00 40.82 C +ATOM 2221 CD1 LEU E 284 12.915 -20.024 -12.327 1.00 30.82 C +ATOM 2222 CD2 LEU E 284 14.319 -18.589 -13.774 1.00 37.24 C +ATOM 2223 N LYS E 285 10.515 -18.905 -16.494 1.00 44.65 N +ATOM 2224 CA LYS E 285 9.446 -19.271 -17.362 1.00 40.43 C +ATOM 2225 C LYS E 285 8.107 -18.895 -16.780 1.00100.00 C +ATOM 2226 O LYS E 285 7.334 -18.180 -17.425 1.00 43.11 O +ATOM 2227 CB LYS E 285 9.476 -20.776 -17.609 1.00100.00 C +ATOM 2228 CG LYS E 285 9.396 -21.587 -16.314 1.00 62.65 C +ATOM 2229 CD LYS E 285 10.639 -21.477 -15.434 1.00 61.88 C +ATOM 2230 CE LYS E 285 11.848 -22.233 -15.993 1.00100.00 C +ATOM 2231 NZ LYS E 285 12.510 -21.595 -17.162 1.00 33.89 N +ATOM 2232 N ASN E 286 7.847 -19.392 -15.559 1.00 36.14 N +ATOM 2233 CA ASN E 286 6.578 -19.150 -14.903 1.00100.00 C +ATOM 2234 C ASN E 286 6.338 -17.766 -14.322 1.00 89.52 C +ATOM 2235 O ASN E 286 5.386 -17.543 -13.556 1.00 35.20 O +ATOM 2236 CB ASN E 286 6.232 -20.288 -13.945 1.00 42.31 C +ATOM 2237 CG ASN E 286 5.501 -21.369 -14.674 1.00100.00 C +ATOM 2238 OD1 ASN E 286 6.061 -22.153 -15.421 1.00 76.67 O +ATOM 2239 ND2 ASN E 286 4.205 -21.346 -14.450 1.00100.00 N +ATOM 2240 N GLY E 287 7.200 -16.839 -14.709 1.00 35.09 N +ATOM 2241 CA GLY E 287 7.115 -15.481 -14.242 1.00 42.19 C +ATOM 2242 C GLY E 287 6.887 -15.432 -12.740 1.00 39.51 C +ATOM 2243 O GLY E 287 7.469 -16.197 -11.986 1.00 30.10 O +ATOM 2244 N VAL E 288 6.014 -14.516 -12.342 1.00 55.08 N +ATOM 2245 CA VAL E 288 5.642 -14.287 -10.960 1.00 35.39 C +ATOM 2246 C VAL E 288 4.889 -15.494 -10.382 1.00 59.68 C +ATOM 2247 O VAL E 288 4.739 -15.658 -9.171 1.00 25.70 O +ATOM 2248 CB VAL E 288 4.901 -12.934 -10.819 1.00 19.79 C +ATOM 2249 CG1 VAL E 288 3.564 -12.956 -11.539 1.00 31.60 C +ATOM 2250 CG2 VAL E 288 4.619 -12.566 -9.382 1.00 12.30 C +ATOM 2251 N ASN E 289 4.419 -16.368 -11.268 1.00 34.79 N +ATOM 2252 CA ASN E 289 3.699 -17.547 -10.830 1.00 38.77 C +ATOM 2253 C ASN E 289 4.550 -18.461 -9.987 1.00 28.71 C +ATOM 2254 O ASN E 289 4.058 -19.072 -9.053 1.00 31.37 O +ATOM 2255 CB ASN E 289 3.086 -18.312 -11.999 1.00 69.43 C +ATOM 2256 CG ASN E 289 1.872 -17.584 -12.518 1.00 32.81 C +ATOM 2257 OD1 ASN E 289 1.245 -16.793 -11.788 1.00 61.47 O +ATOM 2258 ND2 ASN E 289 1.558 -17.835 -13.785 1.00100.00 N +ATOM 2259 N ASP E 290 5.835 -18.534 -10.324 1.00 24.82 N +ATOM 2260 CA ASP E 290 6.762 -19.372 -9.594 1.00 37.83 C +ATOM 2261 C ASP E 290 6.717 -19.022 -8.129 1.00 30.86 C +ATOM 2262 O ASP E 290 6.749 -19.910 -7.272 1.00 33.35 O +ATOM 2263 CB ASP E 290 8.194 -19.283 -10.141 1.00 67.54 C +ATOM 2264 CG ASP E 290 8.452 -20.213 -11.287 1.00 43.56 C +ATOM 2265 OD1 ASP E 290 7.557 -21.166 -11.379 1.00 48.28 O +ATOM 2266 OD2 ASP E 290 9.411 -20.092 -12.038 1.00 28.91 O +ATOM 2267 N ILE E 291 6.620 -17.704 -7.863 1.00 16.94 N +ATOM 2268 CA ILE E 291 6.542 -17.179 -6.508 1.00 32.21 C +ATOM 2269 C ILE E 291 5.172 -17.372 -5.878 1.00 19.98 C +ATOM 2270 O ILE E 291 5.024 -17.928 -4.793 1.00 39.56 O +ATOM 2271 CB ILE E 291 6.895 -15.697 -6.467 1.00 75.91 C +ATOM 2272 CG1 ILE E 291 8.299 -15.485 -7.016 1.00 77.12 C +ATOM 2273 CG2 ILE E 291 6.810 -15.199 -5.032 1.00 23.40 C +ATOM 2274 CD1 ILE E 291 8.528 -14.087 -7.560 1.00 9.77 C +ATOM 2275 N LYS E 292 4.153 -16.866 -6.571 1.00 39.25 N +ATOM 2276 CA LYS E 292 2.809 -16.954 -6.062 1.00 39.15 C +ATOM 2277 C LYS E 292 2.470 -18.366 -5.692 1.00 40.93 C +ATOM 2278 O LYS E 292 1.795 -18.607 -4.698 1.00 21.82 O +ATOM 2279 CB LYS E 292 1.787 -16.416 -7.037 1.00 28.14 C +ATOM 2280 CG LYS E 292 1.788 -14.915 -7.213 1.00 29.52 C +ATOM 2281 CD LYS E 292 0.576 -14.498 -8.021 1.00 12.03 C +ATOM 2282 CE LYS E 292 0.629 -13.127 -8.652 1.00 26.40 C +ATOM 2283 NZ LYS E 292 -0.453 -12.979 -9.642 1.00 25.82 N +ATOM 2284 N ASN E 293 2.953 -19.280 -6.516 1.00 33.19 N +ATOM 2285 CA ASN E 293 2.699 -20.684 -6.317 1.00 15.04 C +ATOM 2286 C ASN E 293 3.529 -21.333 -5.254 1.00 42.63 C +ATOM 2287 O ASN E 293 3.171 -22.421 -4.821 1.00 57.02 O +ATOM 2288 CB ASN E 293 2.778 -21.446 -7.638 1.00100.00 C +ATOM 2289 CG ASN E 293 1.641 -21.035 -8.546 1.00 65.81 C +ATOM 2290 OD1 ASN E 293 0.478 -21.050 -8.117 1.00 35.33 O +ATOM 2291 ND2 ASN E 293 1.962 -20.658 -9.788 1.00100.00 N +ATOM 2292 N HIS E 294 4.625 -20.674 -4.841 1.00 43.78 N +ATOM 2293 CA HIS E 294 5.533 -21.205 -3.809 1.00 26.53 C +ATOM 2294 C HIS E 294 4.875 -21.650 -2.482 1.00 47.50 C +ATOM 2295 O HIS E 294 3.935 -21.028 -1.969 1.00 49.11 O +ATOM 2296 CB HIS E 294 6.761 -20.297 -3.584 1.00 36.98 C +ATOM 2297 CG HIS E 294 7.890 -20.954 -2.838 1.00 47.28 C +ATOM 2298 ND1 HIS E 294 7.757 -21.357 -1.502 1.00 23.92 N +ATOM 2299 CD2 HIS E 294 9.168 -21.247 -3.246 1.00 27.53 C +ATOM 2300 CE1 HIS E 294 8.936 -21.877 -1.150 1.00 16.22 C +ATOM 2301 NE2 HIS E 294 9.809 -21.827 -2.176 1.00 40.08 N +ATOM 2302 N LYS E 295 5.397 -22.755 -1.926 1.00 38.49 N +ATOM 2303 CA LYS E 295 4.907 -23.336 -0.672 1.00 46.42 C +ATOM 2304 C LYS E 295 4.660 -22.299 0.397 1.00 38.21 C +ATOM 2305 O LYS E 295 3.541 -22.173 0.894 1.00 44.38 O +ATOM 2306 CB LYS E 295 5.766 -24.462 -0.113 1.00 35.09 C +ATOM 2307 CG LYS E 295 5.934 -25.640 -1.076 1.00100.00 C +ATOM 2308 CD LYS E 295 7.197 -25.592 -1.952 1.00100.00 C +ATOM 2309 CE LYS E 295 8.504 -25.421 -1.165 1.00100.00 C +ATOM 2310 NZ LYS E 295 9.483 -26.522 -1.311 1.00 35.53 N +ATOM 2311 N TRP E 296 5.717 -21.567 0.745 1.00 46.46 N +ATOM 2312 CA TRP E 296 5.656 -20.513 1.760 1.00 67.96 C +ATOM 2313 C TRP E 296 4.399 -19.652 1.638 1.00 21.24 C +ATOM 2314 O TRP E 296 3.928 -19.065 2.616 1.00 58.54 O +ATOM 2315 CB TRP E 296 6.911 -19.596 1.704 1.00 32.04 C +ATOM 2316 CG TRP E 296 7.061 -18.737 2.922 1.00 18.82 C +ATOM 2317 CD1 TRP E 296 7.258 -19.204 4.173 1.00 64.05 C +ATOM 2318 CD2 TRP E 296 7.013 -17.299 3.040 1.00 25.13 C +ATOM 2319 NE1 TRP E 296 7.348 -18.177 5.065 1.00 26.13 N +ATOM 2320 CE2 TRP E 296 7.191 -16.991 4.414 1.00 24.10 C +ATOM 2321 CE3 TRP E 296 6.827 -16.247 2.149 1.00 45.60 C +ATOM 2322 CZ2 TRP E 296 7.195 -15.675 4.904 1.00 45.01 C +ATOM 2323 CZ3 TRP E 296 6.843 -14.950 2.633 1.00 26.84 C +ATOM 2324 CH2 TRP E 296 7.019 -14.662 3.992 1.00 25.67 C +ATOM 2325 N PHE E 297 3.865 -19.599 0.407 1.00 24.41 N +ATOM 2326 CA PHE E 297 2.698 -18.813 0.079 1.00 17.35 C +ATOM 2327 C PHE E 297 1.430 -19.623 -0.072 1.00 48.99 C +ATOM 2328 O PHE E 297 0.453 -19.165 -0.652 1.00 32.40 O +ATOM 2329 CB PHE E 297 2.961 -18.057 -1.247 1.00 21.33 C +ATOM 2330 CG PHE E 297 3.687 -16.719 -1.100 1.00100.00 C +ATOM 2331 CD1 PHE E 297 3.146 -15.644 -0.390 1.00 13.78 C +ATOM 2332 CD2 PHE E 297 4.929 -16.531 -1.706 1.00 11.40 C +ATOM 2333 CE1 PHE E 297 3.820 -14.429 -0.271 1.00 21.82 C +ATOM 2334 CE2 PHE E 297 5.625 -15.328 -1.601 1.00 22.74 C +ATOM 2335 CZ PHE E 297 5.064 -14.276 -0.880 1.00 27.61 C +ATOM 2336 N ALA E 298 1.414 -20.827 0.443 1.00 36.88 N +ATOM 2337 CA ALA E 298 0.225 -21.639 0.275 1.00 59.10 C +ATOM 2338 C ALA E 298 -1.089 -21.231 0.964 1.00 34.21 C +ATOM 2339 O ALA E 298 -2.155 -21.769 0.645 1.00 50.09 O +ATOM 2340 CB ALA E 298 0.545 -23.116 0.349 1.00 46.18 C +ATOM 2341 N THR E 299 -1.068 -20.294 1.906 1.00 56.01 N +ATOM 2342 CA THR E 299 -2.319 -19.918 2.568 1.00 23.97 C +ATOM 2343 C THR E 299 -2.779 -18.525 2.162 1.00 39.86 C +ATOM 2344 O THR E 299 -3.875 -18.070 2.502 1.00 70.11 O +ATOM 2345 CB THR E 299 -2.145 -19.955 4.092 1.00 67.06 C +ATOM 2346 OG1 THR E 299 -0.824 -19.572 4.432 1.00 49.75 O +ATOM 2347 CG2 THR E 299 -2.447 -21.354 4.609 1.00100.00 C +ATOM 2348 N THR E 300 -1.897 -17.858 1.436 1.00 38.10 N +ATOM 2349 CA THR E 300 -2.136 -16.523 0.940 1.00 46.11 C +ATOM 2350 C THR E 300 -3.272 -16.503 -0.059 1.00100.00 C +ATOM 2351 O THR E 300 -3.232 -17.242 -1.051 1.00 47.84 O +ATOM 2352 CB THR E 300 -0.854 -15.926 0.276 1.00 24.30 C +ATOM 2353 OG1 THR E 300 0.238 -16.029 1.169 1.00 32.18 O +ATOM 2354 CG2 THR E 300 -1.073 -14.452 -0.121 1.00 25.85 C +ATOM 2355 N ASP E 301 -4.279 -15.664 0.214 1.00 40.91 N +ATOM 2356 CA ASP E 301 -5.410 -15.504 -0.701 1.00 19.58 C +ATOM 2357 C ASP E 301 -5.062 -14.239 -1.436 1.00 31.08 C +ATOM 2358 O ASP E 301 -5.319 -13.127 -0.947 1.00 19.42 O +ATOM 2359 CB ASP E 301 -6.814 -15.392 -0.021 1.00 46.97 C +ATOM 2360 CG ASP E 301 -8.002 -15.619 -0.946 1.00 18.25 C +ATOM 2361 OD1 ASP E 301 -7.737 -15.332 -2.203 1.00 91.68 O +ATOM 2362 OD2 ASP E 301 -9.085 -16.031 -0.564 1.00 89.04 O +ATOM 2363 N TRP E 302 -4.419 -14.435 -2.580 1.00 21.28 N +ATOM 2364 CA TRP E 302 -3.982 -13.322 -3.396 1.00 28.12 C +ATOM 2365 C TRP E 302 -5.058 -12.250 -3.632 1.00 32.55 C +ATOM 2366 O TRP E 302 -4.842 -11.031 -3.546 1.00 27.82 O +ATOM 2367 CB TRP E 302 -3.282 -13.838 -4.682 1.00 26.55 C +ATOM 2368 CG TRP E 302 -2.053 -14.650 -4.343 1.00 27.66 C +ATOM 2369 CD1 TRP E 302 -1.966 -16.007 -4.353 1.00 14.89 C +ATOM 2370 CD2 TRP E 302 -0.758 -14.177 -3.899 1.00 55.86 C +ATOM 2371 NE1 TRP E 302 -0.711 -16.422 -3.960 1.00 42.26 N +ATOM 2372 CE2 TRP E 302 0.057 -15.317 -3.679 1.00 24.52 C +ATOM 2373 CE3 TRP E 302 -0.203 -12.912 -3.670 1.00 23.20 C +ATOM 2374 CZ2 TRP E 302 1.395 -15.209 -3.263 1.00 55.47 C +ATOM 2375 CZ3 TRP E 302 1.115 -12.809 -3.263 1.00 26.45 C +ATOM 2376 CH2 TRP E 302 1.904 -13.946 -3.060 1.00 28.73 C +ATOM 2377 N ILE E 303 -6.248 -12.721 -3.924 1.00 79.94 N +ATOM 2378 CA ILE E 303 -7.378 -11.859 -4.194 1.00 49.60 C +ATOM 2379 C ILE E 303 -7.875 -11.072 -2.990 1.00 40.21 C +ATOM 2380 O ILE E 303 -8.082 -9.861 -3.069 1.00 33.23 O +ATOM 2381 CB ILE E 303 -8.496 -12.649 -4.843 1.00 86.63 C +ATOM 2382 CG1 ILE E 303 -7.953 -13.342 -6.092 1.00 97.36 C +ATOM 2383 CG2 ILE E 303 -9.623 -11.703 -5.218 1.00 56.35 C +ATOM 2384 CD1 ILE E 303 -7.119 -14.591 -5.793 1.00100.00 C +ATOM 2385 N ALA E 304 -8.078 -11.773 -1.876 1.00 49.10 N +ATOM 2386 CA ALA E 304 -8.543 -11.122 -0.671 1.00 43.64 C +ATOM 2387 C ALA E 304 -7.592 -10.013 -0.336 1.00 79.53 C +ATOM 2388 O ALA E 304 -7.969 -8.936 0.121 1.00 24.94 O +ATOM 2389 CB ALA E 304 -8.532 -12.091 0.496 1.00 38.92 C +ATOM 2390 N ILE E 305 -6.328 -10.315 -0.567 1.00 45.73 N +ATOM 2391 CA ILE E 305 -5.313 -9.350 -0.277 1.00 61.02 C +ATOM 2392 C ILE E 305 -5.418 -8.162 -1.205 1.00 12.85 C +ATOM 2393 O ILE E 305 -5.459 -6.991 -0.815 1.00 22.06 O +ATOM 2394 CB ILE E 305 -3.927 -9.965 -0.171 1.00 38.99 C +ATOM 2395 CG1 ILE E 305 -3.680 -10.302 1.292 1.00 28.77 C +ATOM 2396 CG2 ILE E 305 -2.866 -8.982 -0.637 1.00 56.99 C +ATOM 2397 CD1 ILE E 305 -2.545 -11.291 1.475 1.00 29.39 C +ATOM 2398 N TYR E 306 -5.500 -8.449 -2.472 1.00 35.72 N +ATOM 2399 CA TYR E 306 -5.603 -7.341 -3.364 1.00 6.94 C +ATOM 2400 C TYR E 306 -6.759 -6.448 -2.989 1.00 33.85 C +ATOM 2401 O TYR E 306 -6.719 -5.229 -3.170 1.00 34.80 O +ATOM 2402 CB TYR E 306 -5.635 -7.781 -4.831 1.00 64.35 C +ATOM 2403 CG TYR E 306 -6.064 -6.651 -5.700 1.00 15.02 C +ATOM 2404 CD1 TYR E 306 -7.425 -6.424 -5.901 1.00 25.98 C +ATOM 2405 CD2 TYR E 306 -5.142 -5.791 -6.300 1.00 65.04 C +ATOM 2406 CE1 TYR E 306 -7.867 -5.363 -6.689 1.00 62.44 C +ATOM 2407 CE2 TYR E 306 -5.569 -4.727 -7.097 1.00 73.19 C +ATOM 2408 CZ TYR E 306 -6.937 -4.519 -7.289 1.00 28.12 C +ATOM 2409 OH TYR E 306 -7.394 -3.480 -8.051 1.00 55.02 O +ATOM 2410 N GLN E 307 -7.791 -7.100 -2.460 1.00 42.26 N +ATOM 2411 CA GLN E 307 -8.998 -6.428 -2.065 1.00 26.97 C +ATOM 2412 C GLN E 307 -8.941 -5.794 -0.704 1.00100.00 C +ATOM 2413 O GLN E 307 -9.896 -5.151 -0.287 1.00 32.91 O +ATOM 2414 CB GLN E 307 -10.212 -7.321 -2.213 1.00 54.51 C +ATOM 2415 CG GLN E 307 -10.166 -8.066 -3.547 1.00 58.41 C +ATOM 2416 CD GLN E 307 -11.410 -8.885 -3.771 1.00100.00 C +ATOM 2417 OE1 GLN E 307 -12.152 -8.619 -4.737 1.00 53.42 O +ATOM 2418 NE2 GLN E 307 -11.642 -9.863 -2.876 1.00 36.50 N +ATOM 2419 N ARG E 308 -7.826 -5.979 -0.018 1.00 16.52 N +ATOM 2420 CA ARG E 308 -7.643 -5.395 1.273 1.00 26.97 C +ATOM 2421 C ARG E 308 -8.644 -5.959 2.246 1.00 58.66 C +ATOM 2422 O ARG E 308 -9.106 -5.278 3.163 1.00 52.64 O +ATOM 2423 CB ARG E 308 -7.851 -3.906 1.133 1.00 33.80 C +ATOM 2424 CG ARG E 308 -6.711 -3.049 1.600 1.00 56.12 C +ATOM 2425 CD ARG E 308 -7.062 -1.576 1.496 1.00 38.00 C +ATOM 2426 NE ARG E 308 -6.077 -0.851 0.720 1.00 41.98 N +ATOM 2427 CZ ARG E 308 -5.153 -0.102 1.293 1.00 78.16 C +ATOM 2428 NH1 ARG E 308 -5.087 0.015 2.618 1.00 47.09 N +ATOM 2429 NH2 ARG E 308 -4.274 0.533 0.530 1.00 86.64 N +ATOM 2430 N LYS E 309 -8.980 -7.224 2.028 1.00 89.62 N +ATOM 2431 CA LYS E 309 -9.940 -7.891 2.876 1.00 32.07 C +ATOM 2432 C LYS E 309 -9.314 -8.800 3.894 1.00 33.83 C +ATOM 2433 O LYS E 309 -10.006 -9.496 4.644 1.00 77.47 O +ATOM 2434 CB LYS E 309 -11.084 -8.541 2.109 1.00 33.90 C +ATOM 2435 CG LYS E 309 -10.829 -9.988 1.712 1.00 40.05 C +ATOM 2436 CD LYS E 309 -11.657 -10.388 0.487 1.00100.00 C +ATOM 2437 CE LYS E 309 -12.164 -11.834 0.500 1.00100.00 C +ATOM 2438 NZ LYS E 309 -12.731 -12.273 -0.793 1.00 72.80 N +ATOM 2439 N VAL E 310 -7.980 -8.769 3.933 1.00 49.08 N +ATOM 2440 CA VAL E 310 -7.234 -9.583 4.872 1.00 36.48 C +ATOM 2441 C VAL E 310 -6.987 -8.980 6.275 1.00 30.02 C +ATOM 2442 O VAL E 310 -6.964 -7.773 6.518 1.00 38.92 O +ATOM 2443 CB VAL E 310 -5.956 -10.140 4.274 1.00 49.49 C +ATOM 2444 CG1 VAL E 310 -5.465 -11.342 5.087 1.00 27.07 C +ATOM 2445 CG2 VAL E 310 -6.233 -10.529 2.840 1.00 11.23 C +ATOM 2446 N GLU E 311 -6.776 -9.898 7.187 1.00 47.88 N +ATOM 2447 CA GLU E 311 -6.475 -9.687 8.585 1.00 55.74 C +ATOM 2448 C GLU E 311 -5.124 -8.984 8.733 1.00100.00 C +ATOM 2449 O GLU E 311 -4.080 -9.640 8.657 1.00 64.60 O +ATOM 2450 CB GLU E 311 -6.278 -11.111 9.158 1.00100.00 C +ATOM 2451 CG GLU E 311 -5.748 -12.068 8.049 1.00100.00 C +ATOM 2452 CD GLU E 311 -4.896 -13.238 8.497 1.00100.00 C +ATOM 2453 OE1 GLU E 311 -4.012 -12.917 9.419 1.00100.00 O +ATOM 2454 OE2 GLU E 311 -5.008 -14.364 8.021 1.00 90.36 O +ATOM 2455 N ALA E 312 -5.117 -7.667 8.948 1.00 33.72 N +ATOM 2456 CA ALA E 312 -3.843 -6.959 9.101 1.00 42.07 C +ATOM 2457 C ALA E 312 -3.166 -7.167 10.459 1.00 46.87 C +ATOM 2458 O ALA E 312 -3.589 -6.624 11.474 1.00100.00 O +ATOM 2459 CB ALA E 312 -3.969 -5.483 8.767 1.00 51.08 C +ATOM 2460 N PRO E 313 -2.095 -7.955 10.469 1.00 77.34 N +ATOM 2461 CA PRO E 313 -1.321 -8.283 11.659 1.00 21.81 C +ATOM 2462 C PRO E 313 -1.130 -7.177 12.692 1.00100.00 C +ATOM 2463 O PRO E 313 -1.360 -7.364 13.888 1.00 46.25 O +ATOM 2464 CB PRO E 313 0.061 -8.707 11.154 1.00 75.28 C +ATOM 2465 CG PRO E 313 0.025 -8.681 9.636 1.00 43.25 C +ATOM 2466 CD PRO E 313 -1.407 -8.389 9.235 1.00 26.69 C +ATOM 2467 N PHE E 314 -0.672 -6.031 12.235 1.00 24.27 N +ATOM 2468 CA PHE E 314 -0.418 -4.923 13.108 1.00 25.98 C +ATOM 2469 C PHE E 314 -1.027 -3.694 12.494 1.00 26.75 C +ATOM 2470 O PHE E 314 -0.999 -3.573 11.271 1.00 51.60 O +ATOM 2471 CB PHE E 314 1.129 -4.741 13.232 1.00 26.05 C +ATOM 2472 CG PHE E 314 1.571 -3.331 13.568 1.00 36.91 C +ATOM 2473 CD1 PHE E 314 1.599 -2.313 12.616 1.00 34.18 C +ATOM 2474 CD2 PHE E 314 1.984 -3.016 14.859 1.00100.00 C +ATOM 2475 CE1 PHE E 314 1.989 -1.013 12.939 1.00100.00 C +ATOM 2476 CE2 PHE E 314 2.392 -1.728 15.201 1.00100.00 C +ATOM 2477 CZ PHE E 314 2.392 -0.719 14.240 1.00 49.00 C +ATOM 2478 N ILE E 315 -1.530 -2.791 13.342 1.00 45.94 N +ATOM 2479 CA ILE E 315 -2.120 -1.528 12.894 1.00 24.07 C +ATOM 2480 C ILE E 315 -1.505 -0.356 13.649 1.00 25.84 C +ATOM 2481 O ILE E 315 -1.633 -0.227 14.867 1.00 46.35 O +ATOM 2482 CB ILE E 315 -3.624 -1.411 13.133 1.00 28.60 C +ATOM 2483 CG1 ILE E 315 -4.477 -2.067 12.066 1.00 28.95 C +ATOM 2484 CG2 ILE E 315 -3.970 0.063 13.182 1.00 28.07 C +ATOM 2485 CD1 ILE E 315 -3.704 -2.972 11.122 1.00 97.63 C +ATOM 2486 N PRO E 316 -0.836 0.518 12.942 1.00 68.22 N +ATOM 2487 CA PRO E 316 -0.297 1.611 13.669 1.00 38.60 C +ATOM 2488 C PRO E 316 -1.477 2.433 14.101 1.00 94.83 C +ATOM 2489 O PRO E 316 -2.422 2.641 13.324 1.00 43.52 O +ATOM 2490 CB PRO E 316 0.470 2.462 12.659 1.00 74.90 C +ATOM 2491 CG PRO E 316 -0.100 2.114 11.302 1.00 37.87 C +ATOM 2492 CD PRO E 316 -0.800 0.775 11.476 1.00 45.65 C +ATOM 2493 N LYS E 317 -1.434 2.889 15.336 1.00 33.17 N +ATOM 2494 CA LYS E 317 -2.516 3.719 15.788 1.00100.00 C +ATOM 2495 C LYS E 317 -2.089 5.155 15.910 1.00 74.05 C +ATOM 2496 O LYS E 317 -1.019 5.459 16.446 1.00 59.27 O +ATOM 2497 CB LYS E 317 -3.627 3.178 16.677 1.00100.00 C +ATOM 2498 CG LYS E 317 -5.019 3.556 16.166 1.00100.00 C +ATOM 2499 CD LYS E 317 -5.187 3.406 14.653 1.00100.00 C +ATOM 2500 CE LYS E 317 -6.092 4.468 14.030 1.00100.00 C +ATOM 2501 NZ LYS E 317 -6.068 4.477 12.554 1.00100.00 N +ATOM 2502 N PHE E 318 -2.921 6.014 15.342 1.00 29.49 N +ATOM 2503 CA PHE E 318 -2.653 7.419 15.310 1.00100.00 C +ATOM 2504 C PHE E 318 -3.780 8.233 15.875 1.00 51.93 C +ATOM 2505 O PHE E 318 -4.955 7.984 15.620 1.00 44.19 O +ATOM 2506 CB PHE E 318 -2.125 7.862 13.951 1.00 75.05 C +ATOM 2507 CG PHE E 318 -3.079 8.652 13.116 1.00100.00 C +ATOM 2508 CD1 PHE E 318 -4.411 8.321 12.908 1.00 76.86 C +ATOM 2509 CD2 PHE E 318 -2.620 9.822 12.483 1.00100.00 C +ATOM 2510 CE1 PHE E 318 -5.205 9.151 12.108 1.00100.00 C +ATOM 2511 CE2 PHE E 318 -3.352 10.649 11.639 1.00 62.73 C +ATOM 2512 CZ PHE E 318 -4.685 10.281 11.468 1.00 34.86 C +ATOM 2513 N LYS E 319 -3.383 9.194 16.680 1.00 57.76 N +ATOM 2514 CA LYS E 319 -4.318 10.045 17.364 1.00100.00 C +ATOM 2515 C LYS E 319 -4.588 11.403 16.743 1.00 87.82 C +ATOM 2516 O LYS E 319 -4.003 12.419 17.126 1.00 69.80 O +ATOM 2517 CB LYS E 319 -3.934 10.150 18.829 1.00 97.75 C +ATOM 2518 CG LYS E 319 -3.008 9.018 19.260 1.00 77.34 C +ATOM 2519 CD LYS E 319 -1.552 9.255 18.862 1.00100.00 C +ATOM 2520 CE LYS E 319 -0.663 8.022 18.999 1.00100.00 C +ATOM 2521 NZ LYS E 319 0.775 8.339 19.103 1.00100.00 N +ATOM 2522 N GLY E 320 -5.508 11.422 15.794 1.00 49.92 N +ATOM 2523 CA GLY E 320 -5.877 12.669 15.157 1.00 32.29 C +ATOM 2524 C GLY E 320 -5.171 12.943 13.856 1.00 54.15 C +ATOM 2525 O GLY E 320 -3.976 12.709 13.741 1.00 40.96 O +ATOM 2526 N PRO E 321 -5.937 13.449 12.884 1.00100.00 N +ATOM 2527 CA PRO E 321 -5.396 13.768 11.582 1.00 66.41 C +ATOM 2528 C PRO E 321 -4.266 14.736 11.767 1.00 35.47 C +ATOM 2529 O PRO E 321 -4.357 15.658 12.586 1.00 52.05 O +ATOM 2530 CB PRO E 321 -6.517 14.426 10.771 1.00100.00 C +ATOM 2531 CG PRO E 321 -7.708 14.584 11.704 1.00100.00 C +ATOM 2532 CD PRO E 321 -7.305 14.009 13.056 1.00100.00 C +ATOM 2533 N GLY E 322 -3.195 14.519 11.020 1.00 34.54 N +ATOM 2534 CA GLY E 322 -2.047 15.391 11.152 1.00 20.90 C +ATOM 2535 C GLY E 322 -1.151 14.979 12.341 1.00 21.89 C +ATOM 2536 O GLY E 322 -0.224 15.692 12.687 1.00 44.54 O +ATOM 2537 N ASP E 323 -1.444 13.831 12.967 1.00 45.32 N +ATOM 2538 CA ASP E 323 -0.646 13.308 14.074 1.00 34.36 C +ATOM 2539 C ASP E 323 0.591 12.725 13.426 1.00 77.83 C +ATOM 2540 O ASP E 323 0.478 12.022 12.492 1.00 35.66 O +ATOM 2541 CB ASP E 323 -1.426 12.261 14.910 1.00 18.91 C +ATOM 2542 CG ASP E 323 -0.628 11.275 15.739 1.00 47.51 C +ATOM 2543 OD1 ASP E 323 0.394 11.802 16.358 1.00 42.88 O +ATOM 2544 OD2 ASP E 323 -0.926 10.099 15.836 1.00 44.67 O +ATOM 2545 N THR E 324 1.780 13.079 13.872 1.00 44.46 N +ATOM 2546 CA THR E 324 2.992 12.565 13.240 1.00 37.91 C +ATOM 2547 C THR E 324 3.829 11.661 14.130 1.00 28.51 C +ATOM 2548 O THR E 324 5.029 11.427 13.881 1.00 30.87 O +ATOM 2549 CB THR E 324 3.815 13.715 12.610 1.00 48.77 C +ATOM 2550 OG1 THR E 324 4.469 14.510 13.588 1.00 14.40 O +ATOM 2551 CG2 THR E 324 2.853 14.604 11.850 1.00 39.45 C +ATOM 2552 N SER E 325 3.197 11.154 15.180 1.00 44.16 N +ATOM 2553 CA SER E 325 3.902 10.290 16.102 1.00 22.45 C +ATOM 2554 C SER E 325 4.559 9.084 15.437 1.00 56.58 C +ATOM 2555 O SER E 325 5.460 8.512 16.006 1.00 39.69 O +ATOM 2556 CB SER E 325 3.111 9.918 17.334 1.00 12.88 C +ATOM 2557 OG SER E 325 1.799 9.542 16.939 1.00 34.65 O +ATOM 2558 N ASN E 326 4.162 8.660 14.243 1.00 22.89 N +ATOM 2559 CA ASN E 326 4.870 7.517 13.722 1.00 25.40 C +ATOM 2560 C ASN E 326 6.141 7.798 12.923 1.00 40.53 C +ATOM 2561 O ASN E 326 6.724 6.878 12.348 1.00 19.27 O +ATOM 2562 CB ASN E 326 3.999 6.458 13.078 1.00 17.08 C +ATOM 2563 CG ASN E 326 2.696 6.260 13.813 1.00 22.32 C +ATOM 2564 OD1 ASN E 326 2.463 5.189 14.371 1.00 28.89 O +ATOM 2565 ND2 ASN E 326 1.833 7.271 13.795 1.00 46.21 N +ATOM 2566 N PHE E 327 6.583 9.056 12.885 1.00 11.61 N +ATOM 2567 CA PHE E 327 7.809 9.376 12.138 1.00 16.96 C +ATOM 2568 C PHE E 327 8.864 9.938 13.094 1.00 53.04 C +ATOM 2569 O PHE E 327 8.517 10.413 14.152 1.00 21.85 O +ATOM 2570 CB PHE E 327 7.495 10.451 11.079 1.00 18.39 C +ATOM 2571 CG PHE E 327 6.521 9.977 10.026 1.00 19.38 C +ATOM 2572 CD1 PHE E 327 6.963 9.283 8.898 1.00 24.43 C +ATOM 2573 CD2 PHE E 327 5.157 10.226 10.163 1.00 33.00 C +ATOM 2574 CE1 PHE E 327 6.064 8.851 7.923 1.00 35.49 C +ATOM 2575 CE2 PHE E 327 4.241 9.803 9.202 1.00 21.95 C +ATOM 2576 CZ PHE E 327 4.701 9.108 8.082 1.00 57.23 C +ATOM 2577 N ASP E 328 10.151 9.909 12.765 1.00 44.81 N +ATOM 2578 CA ASP E 328 11.117 10.491 13.700 1.00 33.23 C +ATOM 2579 C ASP E 328 11.030 12.003 13.577 1.00 34.20 C +ATOM 2580 O ASP E 328 10.321 12.509 12.704 1.00 40.44 O +ATOM 2581 CB ASP E 328 12.578 10.150 13.356 1.00 38.15 C +ATOM 2582 CG ASP E 328 13.020 8.743 13.609 1.00 28.51 C +ATOM 2583 OD1 ASP E 328 12.217 8.079 14.409 1.00 43.63 O +ATOM 2584 OD2 ASP E 328 14.041 8.286 13.108 1.00 36.25 O +ATOM 2585 N ASP E 329 11.777 12.719 14.418 1.00 25.61 N +ATOM 2586 CA ASP E 329 11.811 14.181 14.359 1.00 38.42 C +ATOM 2587 C ASP E 329 13.014 14.610 13.489 1.00 30.84 C +ATOM 2588 O ASP E 329 14.071 13.991 13.571 1.00 58.92 O +ATOM 2589 CB ASP E 329 11.824 14.842 15.773 1.00 60.68 C +ATOM 2590 CG ASP E 329 10.638 14.508 16.674 1.00 35.92 C +ATOM 2591 OD1 ASP E 329 9.474 14.727 16.113 1.00 39.18 O +ATOM 2592 OD2 ASP E 329 10.759 14.071 17.810 1.00 91.97 O +ATOM 2593 N TYR E 330 12.847 15.655 12.653 1.00 41.28 N +ATOM 2594 CA TYR E 330 13.912 16.157 11.769 1.00 24.15 C +ATOM 2595 C TYR E 330 14.183 17.648 11.936 1.00 67.01 C +ATOM 2596 O TYR E 330 13.267 18.405 12.204 1.00 32.93 O +ATOM 2597 CB TYR E 330 13.613 15.899 10.269 1.00 18.44 C +ATOM 2598 CG TYR E 330 13.621 14.424 9.940 1.00 37.81 C +ATOM 2599 CD1 TYR E 330 12.466 13.657 10.073 1.00 8.43 C +ATOM 2600 CD2 TYR E 330 14.786 13.796 9.511 1.00 29.23 C +ATOM 2601 CE1 TYR E 330 12.460 12.293 9.783 1.00 28.54 C +ATOM 2602 CE2 TYR E 330 14.814 12.433 9.230 1.00 45.55 C +ATOM 2603 CZ TYR E 330 13.646 11.688 9.368 1.00 18.50 C +ATOM 2604 OH TYR E 330 13.684 10.354 9.085 1.00 25.91 O +ATOM 2605 N GLU E 331 15.440 18.083 11.759 1.00 21.05 N +ATOM 2606 CA GLU E 331 15.799 19.490 11.878 1.00 21.27 C +ATOM 2607 C GLU E 331 15.054 20.208 10.780 1.00 34.92 C +ATOM 2608 O GLU E 331 15.056 19.739 9.656 1.00 38.58 O +ATOM 2609 CB GLU E 331 17.317 19.718 11.683 1.00 43.37 C +ATOM 2610 CG GLU E 331 17.806 19.338 10.256 1.00100.00 C +ATOM 2611 CD GLU E 331 18.757 20.311 9.572 1.00100.00 C +ATOM 2612 OE1 GLU E 331 19.186 21.327 10.099 1.00100.00 O +ATOM 2613 OE2 GLU E 331 19.093 19.936 8.347 1.00100.00 O +ATOM 2614 N GLU E 332 14.394 21.316 11.093 1.00100.00 N +ATOM 2615 CA GLU E 332 13.659 21.996 10.041 1.00 40.16 C +ATOM 2616 C GLU E 332 14.461 22.955 9.183 1.00 27.00 C +ATOM 2617 O GLU E 332 14.821 24.064 9.576 1.00100.00 O +ATOM 2618 CB GLU E 332 12.282 22.603 10.396 1.00 24.91 C +ATOM 2619 CG GLU E 332 11.396 21.743 11.310 1.00 41.44 C +ATOM 2620 CD GLU E 332 10.769 20.602 10.586 1.00 27.25 C +ATOM 2621 OE1 GLU E 332 10.758 20.780 9.282 1.00 33.92 O +ATOM 2622 OE2 GLU E 332 10.343 19.607 11.163 1.00 41.89 O +ATOM 2623 N GLU E 333 14.716 22.501 7.994 1.00100.00 N +ATOM 2624 CA GLU E 333 15.411 23.316 7.061 1.00 34.72 C +ATOM 2625 C GLU E 333 14.304 24.272 6.640 1.00 44.64 C +ATOM 2626 O GLU E 333 13.125 23.925 6.721 1.00 29.95 O +ATOM 2627 CB GLU E 333 15.915 22.401 5.926 1.00100.00 C +ATOM 2628 CG GLU E 333 16.760 21.275 6.547 1.00100.00 C +ATOM 2629 CD GLU E 333 16.198 19.871 6.553 1.00100.00 C +ATOM 2630 OE1 GLU E 333 15.235 19.450 7.212 1.00 81.19 O +ATOM 2631 OE2 GLU E 333 16.987 19.040 5.884 1.00 89.60 O +ATOM 2632 N GLU E 334 14.630 25.480 6.236 1.00 92.72 N +ATOM 2633 CA GLU E 334 13.557 26.371 5.848 1.00 37.65 C +ATOM 2634 C GLU E 334 13.395 26.416 4.345 1.00 22.08 C +ATOM 2635 O GLU E 334 14.331 26.131 3.608 1.00100.00 O +ATOM 2636 CB GLU E 334 13.589 27.742 6.541 1.00100.00 C +ATOM 2637 CG GLU E 334 13.817 27.658 8.078 1.00100.00 C +ATOM 2638 CD GLU E 334 12.888 26.729 8.848 1.00100.00 C +ATOM 2639 OE1 GLU E 334 11.610 27.008 8.703 1.00100.00 O +ATOM 2640 OE2 GLU E 334 13.291 25.822 9.558 1.00100.00 O +ATOM 2641 N ILE E 335 12.203 26.725 3.854 1.00 46.03 N +ATOM 2642 CA ILE E 335 12.049 26.691 2.398 1.00 35.77 C +ATOM 2643 C ILE E 335 12.446 27.985 1.716 1.00 52.78 C +ATOM 2644 O ILE E 335 12.163 29.083 2.201 1.00 48.96 O +ATOM 2645 CB ILE E 335 10.671 26.195 2.001 1.00100.00 C +ATOM 2646 CG1 ILE E 335 10.465 24.754 2.439 1.00 37.66 C +ATOM 2647 CG2 ILE E 335 10.550 26.263 0.508 1.00 13.53 C +ATOM 2648 CD1 ILE E 335 11.727 24.114 3.014 1.00100.00 C +ATOM 2649 N ARG E 336 13.118 27.889 0.582 1.00 52.71 N +ATOM 2650 CA ARG E 336 13.505 29.142 -0.019 1.00 66.42 C +ATOM 2651 C ARG E 336 13.422 29.218 -1.507 1.00 25.44 C +ATOM 2652 O ARG E 336 14.020 28.429 -2.226 1.00100.00 O +ATOM 2653 CB ARG E 336 14.890 29.572 0.417 1.00 28.94 C +ATOM 2654 CG ARG E 336 15.771 28.386 0.820 1.00100.00 C +ATOM 2655 CD ARG E 336 16.821 28.759 1.873 1.00100.00 C +ATOM 2656 NE ARG E 336 17.295 27.648 2.716 1.00100.00 N +ATOM 2657 CZ ARG E 336 16.813 27.335 3.933 1.00100.00 C +ATOM 2658 NH1 ARG E 336 15.804 28.004 4.509 1.00 76.82 N +ATOM 2659 NH2 ARG E 336 17.338 26.295 4.591 1.00 72.97 N +ATOM 2660 N VAL E 337 12.679 30.223 -1.943 1.00 39.64 N +ATOM 2661 CA VAL E 337 12.481 30.524 -3.334 1.00 61.44 C +ATOM 2662 C VAL E 337 13.234 31.795 -3.685 1.00 22.64 C +ATOM 2663 O VAL E 337 13.186 32.790 -2.978 1.00 82.70 O +ATOM 2664 CB VAL E 337 11.013 30.562 -3.735 1.00 26.62 C +ATOM 2665 CG1 VAL E 337 10.874 29.842 -5.084 1.00 27.87 C +ATOM 2666 CG2 VAL E 337 10.192 29.827 -2.678 1.00 60.61 C +HETATM 2667 N SEP E 338 13.942 31.735 -4.796 1.00 55.32 N +HETATM 2668 CA SEP E 338 14.747 32.833 -5.274 1.00 35.07 C +HETATM 2669 CB SEP E 338 15.948 32.307 -6.020 1.00 40.99 C +HETATM 2670 OG SEP E 338 16.645 33.406 -6.562 1.00 61.99 O +HETATM 2671 C SEP E 338 14.021 33.854 -6.125 1.00 42.13 C +HETATM 2672 O SEP E 338 12.898 33.648 -6.563 1.00 51.79 O +HETATM 2673 P SEP E 338 18.094 33.717 -6.008 1.00 45.45 P +HETATM 2674 O1P SEP E 338 18.260 33.001 -4.713 1.00 56.40 O +HETATM 2675 O2P SEP E 338 18.820 34.274 -7.166 1.00 45.64 O +HETATM 2676 O3P SEP E 338 17.963 34.737 -4.940 1.00100.00 O +ATOM 2677 N ILE E 339 14.700 34.973 -6.353 1.00 27.69 N +ATOM 2678 CA ILE E 339 14.154 36.042 -7.158 1.00 41.71 C +ATOM 2679 C ILE E 339 14.280 35.665 -8.618 1.00 52.79 C +ATOM 2680 O ILE E 339 13.506 36.104 -9.468 1.00100.00 O +ATOM 2681 CB ILE E 339 14.916 37.341 -6.923 1.00 44.10 C +ATOM 2682 CG1 ILE E 339 14.684 37.859 -5.510 1.00 53.36 C +ATOM 2683 CG2 ILE E 339 14.554 38.391 -7.963 1.00 54.95 C +ATOM 2684 CD1 ILE E 339 15.993 38.063 -4.753 1.00100.00 C +ATOM 2685 N ASN E 340 15.278 34.831 -8.892 1.00 27.70 N +ATOM 2686 CA ASN E 340 15.542 34.400 -10.243 1.00 44.80 C +ATOM 2687 C ASN E 340 15.361 32.918 -10.440 1.00 71.44 C +ATOM 2688 O ASN E 340 15.587 32.127 -9.526 1.00 28.10 O +ATOM 2689 CB ASN E 340 16.950 34.813 -10.709 1.00 60.84 C +ATOM 2690 CG ASN E 340 17.522 36.023 -9.985 1.00100.00 C +ATOM 2691 OD1 ASN E 340 17.380 37.176 -10.445 1.00100.00 O +ATOM 2692 ND2 ASN E 340 18.184 35.758 -8.852 1.00 48.17 N +ATOM 2693 N GLU E 341 14.951 32.561 -11.653 1.00 47.33 N +ATOM 2694 CA GLU E 341 14.755 31.172 -12.000 1.00 37.08 C +ATOM 2695 C GLU E 341 16.113 30.504 -11.995 1.00 62.38 C +ATOM 2696 O GLU E 341 17.102 31.101 -12.414 1.00 93.38 O +ATOM 2697 CB GLU E 341 14.101 31.047 -13.375 1.00 37.03 C +ATOM 2698 CG GLU E 341 13.030 29.954 -13.465 1.00 39.80 C +ATOM 2699 CD GLU E 341 12.755 29.603 -14.895 1.00100.00 C +ATOM 2700 OE1 GLU E 341 13.544 29.854 -15.790 1.00 88.62 O +ATOM 2701 OE2 GLU E 341 11.594 29.023 -15.068 1.00 84.96 O +ATOM 2702 N LYS E 342 16.175 29.274 -11.513 1.00 32.07 N +ATOM 2703 CA LYS E 342 17.452 28.594 -11.441 1.00 65.53 C +ATOM 2704 C LYS E 342 17.887 27.733 -12.648 1.00 59.01 C +ATOM 2705 O LYS E 342 18.929 28.001 -13.258 1.00 99.54 O +ATOM 2706 CB LYS E 342 17.626 27.942 -10.081 1.00 22.51 C +ATOM 2707 CG LYS E 342 18.487 28.736 -9.104 1.00100.00 C +ATOM 2708 CD LYS E 342 18.802 30.163 -9.539 1.00 39.85 C +ATOM 2709 CE LYS E 342 19.399 31.036 -8.426 1.00100.00 C +ATOM 2710 NZ LYS E 342 20.125 30.313 -7.353 1.00 45.07 N +ATOM 2711 N CYS E 343 17.103 26.696 -12.984 1.00 36.94 N +ATOM 2712 CA CYS E 343 17.355 25.761 -14.097 1.00 57.31 C +ATOM 2713 C CYS E 343 16.063 25.500 -14.871 1.00 27.49 C +ATOM 2714 O CYS E 343 15.571 24.373 -14.944 1.00 72.80 O +ATOM 2715 CB CYS E 343 17.899 24.385 -13.611 1.00 18.00 C +ATOM 2716 SG CYS E 343 19.178 24.440 -12.316 1.00 34.58 S +ATOM 2717 N GLY E 344 15.505 26.549 -15.446 1.00 45.18 N +ATOM 2718 CA GLY E 344 14.259 26.453 -16.168 1.00 9.04 C +ATOM 2719 C GLY E 344 14.146 25.387 -17.254 1.00 17.13 C +ATOM 2720 O GLY E 344 13.247 24.533 -17.293 1.00 32.70 O +ATOM 2721 N LYS E 345 15.063 25.461 -18.172 1.00 39.41 N +ATOM 2722 CA LYS E 345 15.074 24.577 -19.304 1.00 28.51 C +ATOM 2723 C LYS E 345 15.155 23.097 -18.999 1.00 21.21 C +ATOM 2724 O LYS E 345 14.521 22.282 -19.661 1.00 44.34 O +ATOM 2725 CB LYS E 345 16.171 24.994 -20.258 1.00 46.53 C +ATOM 2726 CG LYS E 345 17.169 25.960 -19.613 1.00100.00 C +ATOM 2727 CD LYS E 345 16.652 27.390 -19.395 1.00100.00 C +ATOM 2728 CE LYS E 345 15.993 28.028 -20.620 1.00100.00 C +ATOM 2729 NZ LYS E 345 15.490 29.393 -20.367 1.00 88.64 N +ATOM 2730 N GLU E 346 15.978 22.764 -18.014 1.00 18.45 N +ATOM 2731 CA GLU E 346 16.193 21.388 -17.645 1.00 18.19 C +ATOM 2732 C GLU E 346 14.933 20.747 -17.106 1.00 39.77 C +ATOM 2733 O GLU E 346 14.752 19.550 -17.194 1.00 25.14 O +ATOM 2734 CB GLU E 346 17.354 21.272 -16.622 1.00 38.04 C +ATOM 2735 CG GLU E 346 18.761 21.529 -17.212 1.00 31.36 C +ATOM 2736 CD GLU E 346 19.140 22.991 -17.389 1.00100.00 C +ATOM 2737 OE1 GLU E 346 18.394 23.817 -16.706 1.00 42.17 O +ATOM 2738 OE2 GLU E 346 20.050 23.377 -18.108 1.00 81.38 O +ATOM 2739 N PHE E 347 14.061 21.558 -16.534 1.00 23.33 N +ATOM 2740 CA PHE E 347 12.865 21.018 -15.953 1.00 33.69 C +ATOM 2741 C PHE E 347 11.606 21.458 -16.655 1.00 31.67 C +ATOM 2742 O PHE E 347 10.516 21.379 -16.106 1.00 24.12 O +ATOM 2743 CB PHE E 347 12.831 21.289 -14.421 1.00 19.40 C +ATOM 2744 CG PHE E 347 13.979 20.632 -13.695 1.00 24.59 C +ATOM 2745 CD1 PHE E 347 13.971 19.254 -13.465 1.00 12.17 C +ATOM 2746 CD2 PHE E 347 15.090 21.370 -13.284 1.00 49.06 C +ATOM 2747 CE1 PHE E 347 15.039 18.616 -12.839 1.00 26.00 C +ATOM 2748 CE2 PHE E 347 16.160 20.750 -12.641 1.00 22.74 C +ATOM 2749 CZ PHE E 347 16.136 19.372 -12.432 1.00 13.74 C +ATOM 2750 N THR E 348 11.763 21.934 -17.874 1.00 22.25 N +ATOM 2751 CA THR E 348 10.625 22.389 -18.650 1.00 17.08 C +ATOM 2752 C THR E 348 9.434 21.442 -18.620 1.00 32.18 C +ATOM 2753 O THR E 348 8.320 21.872 -18.846 1.00 25.01 O +ATOM 2754 CB THR E 348 10.927 22.550 -20.141 1.00 25.52 C +ATOM 2755 OG1 THR E 348 12.260 22.893 -20.419 1.00 45.06 O +ATOM 2756 CG2 THR E 348 9.944 23.528 -20.747 1.00 36.37 C +ATOM 2757 N GLU E 349 9.636 20.151 -18.393 1.00 38.75 N +ATOM 2758 CA GLU E 349 8.484 19.273 -18.436 1.00 9.27 C +ATOM 2759 C GLU E 349 7.825 18.854 -17.147 1.00 45.90 C +ATOM 2760 O GLU E 349 6.779 18.201 -17.161 1.00 16.00 O +ATOM 2761 CB GLU E 349 8.684 18.083 -19.360 1.00 12.74 C +ATOM 2762 CG GLU E 349 9.053 16.857 -18.554 1.00 22.56 C +ATOM 2763 CD GLU E 349 9.228 15.683 -19.434 1.00100.00 C +ATOM 2764 OE1 GLU E 349 9.644 15.752 -20.586 1.00 32.97 O +ATOM 2765 OE2 GLU E 349 8.858 14.593 -18.823 1.00 22.21 O +ATOM 2766 N PHE E 350 8.421 19.214 -16.041 1.00 31.23 N +ATOM 2767 CA PHE E 350 7.839 18.888 -14.757 1.00 67.13 C +ATOM 2768 C PHE E 350 6.516 19.638 -14.600 1.00 11.93 C +ATOM 2769 O PHE E 350 6.541 20.886 -14.643 1.00 27.29 O +ATOM 2770 CB PHE E 350 8.783 19.354 -13.647 1.00 24.53 C +ATOM 2771 CG PHE E 350 8.457 18.771 -12.309 1.00 15.48 C +ATOM 2772 CD1 PHE E 350 7.543 19.419 -11.471 1.00 24.68 C +ATOM 2773 CD2 PHE E 350 9.062 17.583 -11.881 1.00 9.19 C +ATOM 2774 CE1 PHE E 350 7.238 18.902 -10.209 1.00 32.35 C +ATOM 2775 CE2 PHE E 350 8.753 17.052 -10.628 1.00 55.63 C +ATOM 2776 CZ PHE E 350 7.847 17.716 -9.793 1.00 19.43 C +ATOM 2777 OXT PHE E 350 5.459 19.006 -14.471 1.00 25.00 O +TER 2778 PHE E 350 +ATOM 2779 N THR I 5 26.503 -13.272 18.422 1.00 14.03 N +ATOM 2780 CA THR I 5 25.486 -13.605 17.470 1.00 16.28 C +ATOM 2781 C THR I 5 25.402 -12.593 16.350 1.00 15.31 C +ATOM 2782 O THR I 5 25.874 -11.457 16.438 1.00 28.90 O +ATOM 2783 CB THR I 5 24.155 -13.603 18.177 1.00 27.22 C +ATOM 2784 OG1 THR I 5 23.823 -12.253 18.415 1.00 18.64 O +ATOM 2785 CG2 THR I 5 24.371 -14.309 19.500 1.00 35.61 C +ATOM 2786 N THR I 6 24.752 -13.023 15.286 1.00 45.62 N +ATOM 2787 CA THR I 6 24.582 -12.159 14.162 1.00 33.59 C +ATOM 2788 C THR I 6 23.850 -10.866 14.519 1.00 57.14 C +ATOM 2789 O THR I 6 24.316 -9.758 14.219 1.00 21.25 O +ATOM 2790 CB THR I 6 23.915 -12.886 13.021 1.00 31.51 C +ATOM 2791 OG1 THR I 6 24.715 -14.012 12.684 1.00 52.35 O +ATOM 2792 CG2 THR I 6 23.865 -11.906 11.882 1.00 26.74 C +ATOM 2793 N TYR I 7 22.704 -11.012 15.175 1.00 11.87 N +ATOM 2794 CA TYR I 7 21.911 -9.860 15.582 1.00 20.29 C +ATOM 2795 C TYR I 7 22.748 -8.861 16.347 1.00 12.35 C +ATOM 2796 O TYR I 7 22.692 -7.643 16.104 1.00 22.00 O +ATOM 2797 CB TYR I 7 20.768 -10.287 16.509 1.00 17.49 C +ATOM 2798 CG TYR I 7 19.809 -9.148 16.762 1.00 12.72 C +ATOM 2799 CD1 TYR I 7 19.040 -8.667 15.701 1.00100.00 C +ATOM 2800 CD2 TYR I 7 19.671 -8.559 18.021 1.00 33.38 C +ATOM 2801 CE1 TYR I 7 18.129 -7.625 15.869 1.00100.00 C +ATOM 2802 CE2 TYR I 7 18.768 -7.509 18.203 1.00 34.95 C +ATOM 2803 CZ TYR I 7 17.998 -7.046 17.130 1.00 49.76 C +ATOM 2804 OH TYR I 7 17.094 -6.020 17.308 1.00100.00 O +ATOM 2805 N ALA I 8 23.511 -9.411 17.297 1.00 48.89 N +ATOM 2806 CA ALA I 8 24.383 -8.614 18.131 1.00 33.02 C +ATOM 2807 C ALA I 8 25.384 -7.949 17.246 1.00 21.14 C +ATOM 2808 O ALA I 8 25.698 -6.794 17.457 1.00 19.41 O +ATOM 2809 CB ALA I 8 25.105 -9.442 19.170 1.00 24.45 C +ATOM 2810 N ASP I 9 25.839 -8.707 16.240 1.00 13.80 N +ATOM 2811 CA ASP I 9 26.793 -8.203 15.290 1.00 12.78 C +ATOM 2812 C ASP I 9 26.234 -7.033 14.487 1.00 34.57 C +ATOM 2813 O ASP I 9 26.886 -6.012 14.322 1.00 23.22 O +ATOM 2814 CB ASP I 9 27.461 -9.302 14.488 1.00 23.73 C +ATOM 2815 CG ASP I 9 28.475 -10.054 15.322 1.00 23.67 C +ATOM 2816 OD1 ASP I 9 29.122 -9.526 16.196 1.00 31.19 O +ATOM 2817 OD2 ASP I 9 28.581 -11.331 15.011 1.00 30.49 O +ATOM 2818 N PHE I 10 24.995 -7.174 14.026 1.00 20.68 N +ATOM 2819 CA PHE I 10 24.329 -6.128 13.271 1.00 12.82 C +ATOM 2820 C PHE I 10 24.118 -4.809 14.056 1.00 6.73 C +ATOM 2821 O PHE I 10 24.436 -3.721 13.570 1.00 33.68 O +ATOM 2822 CB PHE I 10 22.997 -6.652 12.643 1.00 19.03 C +ATOM 2823 CG PHE I 10 22.265 -5.563 11.912 1.00 20.26 C +ATOM 2824 CD1 PHE I 10 22.846 -4.928 10.811 1.00 21.72 C +ATOM 2825 CD2 PHE I 10 21.016 -5.125 12.360 1.00 38.63 C +ATOM 2826 CE1 PHE I 10 22.165 -3.904 10.149 1.00 31.45 C +ATOM 2827 CE2 PHE I 10 20.330 -4.084 11.725 1.00 5.45 C +ATOM 2828 CZ PHE I 10 20.908 -3.494 10.602 1.00 9.35 C +ATOM 2829 N ILE I 11 23.547 -4.943 15.266 1.00 26.63 N +ATOM 2830 CA ILE I 11 23.233 -3.841 16.157 1.00 20.71 C +ATOM 2831 C ILE I 11 24.425 -2.980 16.565 1.00 13.40 C +ATOM 2832 O ILE I 11 24.284 -1.854 17.027 1.00 24.84 O +ATOM 2833 CB ILE I 11 22.280 -4.269 17.290 1.00 49.73 C +ATOM 2834 CG1 ILE I 11 21.042 -3.411 17.208 1.00 41.56 C +ATOM 2835 CG2 ILE I 11 22.888 -4.168 18.677 1.00 21.64 C +ATOM 2836 CD1 ILE I 11 21.158 -2.390 16.082 1.00100.00 C +ATOM 2837 N ALA I 12 25.632 -3.492 16.363 1.00 20.69 N +ATOM 2838 CA ALA I 12 26.770 -2.693 16.710 1.00 8.43 C +ATOM 2839 C ALA I 12 27.441 -2.179 15.450 1.00 35.29 C +ATOM 2840 O ALA I 12 28.489 -1.553 15.455 1.00 34.30 O +ATOM 2841 CB ALA I 12 27.723 -3.460 17.547 1.00 12.66 C +ATOM 2842 N SER I 13 26.822 -2.461 14.340 1.00 22.40 N +ATOM 2843 CA SER I 13 27.375 -2.011 13.102 1.00 25.79 C +ATOM 2844 C SER I 13 26.982 -0.570 12.918 1.00 27.32 C +ATOM 2845 O SER I 13 26.143 -0.058 13.675 1.00 20.19 O +ATOM 2846 CB SER I 13 26.910 -2.856 11.935 1.00 18.17 C +ATOM 2847 OG SER I 13 25.506 -2.741 11.807 1.00 41.67 O +ATOM 2848 N GLY I 14 27.584 0.055 11.898 1.00 15.44 N +ATOM 2849 CA GLY I 14 27.328 1.450 11.573 1.00 35.71 C +ATOM 2850 C GLY I 14 26.150 1.670 10.618 1.00 16.08 C +ATOM 2851 O GLY I 14 25.837 2.808 10.298 1.00 40.51 O +ATOM 2852 N ARG I 15 25.492 0.596 10.168 1.00 27.85 N +ATOM 2853 CA ARG I 15 24.354 0.743 9.261 1.00 25.45 C +ATOM 2854 C ARG I 15 23.011 0.338 9.880 1.00 21.61 C +ATOM 2855 O ARG I 15 22.215 -0.345 9.240 1.00 20.26 O +ATOM 2856 CB ARG I 15 24.517 -0.036 7.965 1.00 33.80 C +ATOM 2857 CG ARG I 15 25.913 -0.069 7.355 1.00 47.25 C +ATOM 2858 CD ARG I 15 25.861 -0.117 5.822 1.00 26.95 C +ATOM 2859 NE ARG I 15 26.050 1.212 5.293 1.00 31.83 N +ATOM 2860 CZ ARG I 15 25.245 1.855 4.459 1.00 69.39 C +ATOM 2861 NH1 ARG I 15 24.141 1.318 3.964 1.00 13.49 N +ATOM 2862 NH2 ARG I 15 25.572 3.087 4.092 1.00 44.12 N +ATOM 2863 N THR I 16 22.739 0.732 11.118 1.00 7.67 N +ATOM 2864 CA THR I 16 21.473 0.347 11.687 1.00 14.65 C +ATOM 2865 C THR I 16 20.444 1.417 11.434 1.00 39.54 C +ATOM 2866 O THR I 16 19.248 1.152 11.424 1.00 19.49 O +ATOM 2867 CB THR I 16 21.546 -0.023 13.173 1.00 20.84 C +ATOM 2868 OG1 THR I 16 21.904 1.104 13.931 1.00 17.38 O +ATOM 2869 CG2 THR I 16 22.534 -1.169 13.418 1.00 15.81 C +ATOM 2870 N GLY I 17 20.906 2.640 11.216 1.00 16.82 N +ATOM 2871 CA GLY I 17 19.967 3.723 10.956 1.00 11.89 C +ATOM 2872 C GLY I 17 19.396 3.686 9.522 1.00 4.35 C +ATOM 2873 O GLY I 17 19.641 2.744 8.748 1.00 23.67 O +ATOM 2874 N ARG I 18 18.626 4.709 9.176 1.00 32.19 N +ATOM 2875 CA ARG I 18 18.026 4.803 7.852 1.00 19.62 C +ATOM 2876 C ARG I 18 19.085 4.913 6.777 1.00 37.80 C +ATOM 2877 O ARG I 18 20.035 5.682 6.907 1.00 22.17 O +ATOM 2878 CB ARG I 18 17.027 5.957 7.763 1.00 21.08 C +ATOM 2879 CG ARG I 18 15.802 5.778 8.668 1.00 47.75 C +ATOM 2880 CD ARG I 18 14.991 7.067 8.769 1.00 3.46 C +ATOM 2881 NE ARG I 18 14.280 7.391 7.505 1.00 32.45 N +ATOM 2882 CZ ARG I 18 14.638 8.272 6.544 1.00 24.38 C +ATOM 2883 NH1 ARG I 18 15.747 9.018 6.588 1.00 22.47 N +ATOM 2884 NH2 ARG I 18 13.846 8.402 5.477 1.00 35.86 N +ATOM 2885 N ARG I 19 18.919 4.131 5.717 1.00 40.94 N +ATOM 2886 CA ARG I 19 19.869 4.126 4.630 1.00 12.83 C +ATOM 2887 C ARG I 19 19.429 4.951 3.416 1.00 11.95 C +ATOM 2888 O ARG I 19 18.356 4.760 2.859 1.00 18.18 O +ATOM 2889 CB ARG I 19 20.206 2.693 4.277 1.00 6.20 C +ATOM 2890 CG ARG I 19 20.455 1.820 5.502 1.00 35.49 C +ATOM 2891 CD ARG I 19 20.134 0.334 5.281 1.00 15.00 C +ATOM 2892 NE ARG I 19 18.687 0.098 5.335 1.00 32.27 N +ATOM 2893 CZ ARG I 19 18.124 -1.090 5.504 1.00 17.67 C +ATOM 2894 NH1 ARG I 19 18.902 -2.172 5.640 1.00 13.56 N +ATOM 2895 NH2 ARG I 19 16.803 -1.231 5.528 1.00 20.87 N +ATOM 2896 N ASN I 20 20.278 5.891 2.989 1.00 12.50 N +ATOM 2897 CA ASN I 20 20.003 6.753 1.843 1.00 15.76 C +ATOM 2898 C ASN I 20 20.325 6.061 0.542 1.00 27.63 C +ATOM 2899 O ASN I 20 21.065 5.095 0.533 1.00 40.35 O +ATOM 2900 CB ASN I 20 20.719 8.118 1.944 1.00 8.98 C +ATOM 2901 CG ASN I 20 19.942 9.050 2.872 1.00 11.03 C +ATOM 2902 OD1 ASN I 20 20.180 10.277 2.903 1.00 44.67 O +ATOM 2903 ND2 ASN I 20 18.976 8.461 3.615 1.00 30.49 N +ATOM 2904 N ALA I 21 19.741 6.551 -0.547 1.00 19.68 N +ATOM 2905 CA ALA I 21 19.970 5.958 -1.838 1.00 26.35 C +ATOM 2906 C ALA I 21 21.354 6.368 -2.300 1.00 31.75 C +ATOM 2907 O ALA I 21 21.883 7.359 -1.796 1.00 24.83 O +ATOM 2908 CB ALA I 21 18.886 6.415 -2.821 1.00 17.50 C +ATOM 2909 N ILE I 22 21.934 5.611 -3.240 1.00 28.16 N +ATOM 2910 CA ILE I 22 23.260 5.906 -3.787 1.00 33.90 C +ATOM 2911 C ILE I 22 23.060 6.782 -4.984 1.00 26.99 C +ATOM 2912 O ILE I 22 22.002 6.740 -5.606 1.00 28.65 O +ATOM 2913 CB ILE I 22 24.029 4.668 -4.303 1.00 21.94 C +ATOM 2914 CG1 ILE I 22 23.283 3.971 -5.449 1.00 50.80 C +ATOM 2915 CG2 ILE I 22 24.287 3.669 -3.197 1.00 25.95 C +ATOM 2916 CD1 ILE I 22 23.801 2.571 -5.800 1.00 19.00 C +ATOM 2917 N HIS I 23 24.061 7.558 -5.323 1.00 17.56 N +ATOM 2918 CA HIS I 23 23.968 8.408 -6.501 1.00 90.99 C +ATOM 2919 C HIS I 23 25.340 8.429 -7.089 1.00 32.39 C +ATOM 2920 O HIS I 23 26.014 7.407 -7.167 1.00 79.80 O +ATOM 2921 CB HIS I 23 23.509 9.855 -6.209 1.00 16.35 C +ATOM 2922 CG HIS I 23 24.401 10.612 -5.249 1.00 16.66 C +ATOM 2923 ND1 HIS I 23 24.219 10.520 -3.862 1.00 33.49 N +ATOM 2924 CD2 HIS I 23 25.451 11.464 -5.477 1.00 23.54 C +ATOM 2925 CE1 HIS I 23 25.145 11.293 -3.304 1.00 44.72 C +ATOM 2926 NE2 HIS I 23 25.901 11.869 -4.243 1.00 68.66 N +ATOM 2927 N ASP I 24 25.770 9.592 -7.488 1.00 53.97 N +ATOM 2928 CA ASP I 24 27.093 9.595 -7.965 1.00 78.36 C +ATOM 2929 C ASP I 24 27.941 9.342 -6.727 1.00100.00 C +ATOM 2930 O ASP I 24 28.047 8.166 -6.331 1.00100.00 O +ATOM 2931 CB ASP I 24 27.519 10.895 -8.641 1.00 57.00 C +ATOM 2932 CG ASP I 24 28.836 10.631 -9.307 1.00100.00 C +ATOM 2933 OD1 ASP I 24 28.705 9.961 -10.427 1.00 87.62 O +ATOM 2934 OD2 ASP I 24 29.909 10.950 -8.821 1.00100.00 O +ATOM 2935 OXT ASP I 24 28.447 10.333 -6.142 1.00100.00 O +TER 2936 ASP I 24 +HETATM 2937 MN MN E 351 14.676 8.154 -3.730 1.00 23.67 MN +HETATM 2938 MN MN E 352 13.555 6.903 -0.131 1.00 21.04 MN +HETATM 2939 PG ATP E 355 16.223 8.151 -1.015 1.00 18.11 P +HETATM 2940 O1G ATP E 355 17.550 8.536 -0.515 1.00 17.95 O +HETATM 2941 O2G ATP E 355 15.748 6.835 -0.427 1.00 15.57 O +HETATM 2942 O3G ATP E 355 16.255 8.014 -2.438 1.00 6.59 O +HETATM 2943 PB ATP E 355 14.471 10.520 -1.490 1.00 22.96 P +HETATM 2944 O1B ATP E 355 13.929 9.920 -2.700 1.00 13.08 O +HETATM 2945 O2B ATP E 355 15.318 11.737 -1.637 1.00 19.59 O +HETATM 2946 O3B ATP E 355 15.196 9.363 -0.681 1.00 13.80 O +HETATM 2947 PA ATP E 355 11.968 9.868 -0.260 1.00 19.49 P +HETATM 2948 O1A ATP E 355 11.100 9.880 -1.430 1.00 13.47 O +HETATM 2949 O2A ATP E 355 12.426 8.514 0.144 1.00 25.00 O +HETATM 2950 O3A ATP E 355 13.242 10.795 -0.567 1.00 21.72 O +HETATM 2951 O5' ATP E 355 11.333 10.591 1.011 1.00 14.92 O +HETATM 2952 C5' ATP E 355 12.092 10.373 2.227 1.00 58.54 C +HETATM 2953 C4' ATP E 355 11.238 9.922 3.406 1.00 15.72 C +HETATM 2954 O4' ATP E 355 10.003 10.681 3.386 1.00 30.04 O +HETATM 2955 C3' ATP E 355 10.722 8.498 3.395 1.00 9.26 C +HETATM 2956 O3' ATP E 355 11.705 7.533 3.717 1.00 33.78 O +HETATM 2957 C2' ATP E 355 9.560 8.606 4.401 1.00 1.00 C +HETATM 2958 O2' ATP E 355 9.942 8.562 5.764 1.00 48.53 O +HETATM 2959 C1' ATP E 355 8.988 9.957 4.085 1.00 12.71 C +HETATM 2960 N9 ATP E 355 7.778 9.924 3.236 1.00 19.15 N +HETATM 2961 C8 ATP E 355 7.884 9.906 1.879 1.00 45.84 C +HETATM 2962 N7 ATP E 355 6.731 9.904 1.248 1.00 35.77 N +HETATM 2963 C5 ATP E 355 5.796 9.977 2.253 1.00 24.00 C +HETATM 2964 C6 ATP E 355 4.373 10.039 2.244 1.00 26.67 C +HETATM 2965 N6 ATP E 355 3.616 10.001 1.128 1.00 31.35 N +HETATM 2966 N1 ATP E 355 3.756 10.034 3.445 1.00 19.73 N +HETATM 2967 C2 ATP E 355 4.499 10.076 4.582 1.00 28.79 C +HETATM 2968 N3 ATP E 355 5.825 10.053 4.705 1.00 18.18 N +HETATM 2969 C4 ATP E 355 6.425 9.873 3.496 1.00 37.89 C +HETATM 2970 O HOH E 400 8.234 9.392 -4.975 1.00 37.01 O +HETATM 2971 O HOH E 402 -1.957 4.450 -6.367 1.00 18.24 O +HETATM 2972 O HOH E 403 12.337 4.400 -6.581 1.00 18.55 O +HETATM 2973 O HOH E 404 0.031 8.329 -8.470 1.00 39.29 O +HETATM 2974 O HOH E 405 4.542 28.351 -6.142 1.00 68.37 O +HETATM 2975 O HOH E 406 -0.315 5.673 -7.808 1.00 39.86 O +HETATM 2976 O HOH E 407 19.106 11.630 -14.113 1.00 20.57 O +HETATM 2977 O HOH E 408 14.382 7.440 -12.100 1.00 16.61 O +HETATM 2978 O HOH E 410 16.870 -0.727 -2.559 1.00 25.40 O +HETATM 2979 O HOH E 411 16.765 -2.421 -6.806 1.00 37.62 O +HETATM 2980 O HOH E 412 16.129 13.154 -7.454 1.00 35.22 O +HETATM 2981 O HOH E 414 10.760 6.180 -17.646 1.00 27.24 O +HETATM 2982 O HOH E 415 25.294 -1.542 -14.564 1.00 65.78 O +HETATM 2983 O HOH E 416 -1.031 15.805 -10.233 1.00 74.89 O +HETATM 2984 O HOH E 417 8.092 14.264 -16.128 1.00 27.14 O +HETATM 2985 O HOH E 419 11.369 11.256 -18.349 1.00 30.64 O +HETATM 2986 O HOH E 420 9.910 6.955 15.179 1.00 33.88 O +HETATM 2987 O HOH E 423 11.132 9.488 8.789 1.00 31.52 O +HETATM 2988 O HOH E 424 12.115 2.638 -8.301 1.00 53.42 O +HETATM 2989 O HOH E 425 14.304 -3.487 19.773 1.00 43.82 O +HETATM 2990 O HOH E 427 12.953 5.885 11.037 1.00 45.97 O +HETATM 2991 O HOH E 428 18.664 3.115 -20.511 1.00 35.17 O +HETATM 2992 O HOH E 429 10.609 7.755 10.488 1.00 25.46 O +HETATM 2993 O HOH E 430 18.377 -0.378 -7.537 1.00 39.26 O +HETATM 2994 O HOH E 431 14.224 -2.755 -5.896 1.00 17.36 O +HETATM 2995 O HOH E 432 11.789 18.600 14.999 1.00 61.45 O +HETATM 2996 O HOH E 434 18.629 -4.510 -6.843 1.00 31.41 O +HETATM 2997 O HOH E 439 -3.033 1.379 -14.317 1.00 41.16 O +HETATM 2998 O HOH E 440 3.809 19.944 -12.600 1.00 27.77 O +HETATM 2999 O HOH E 442 17.788 -8.442 -20.700 1.00 91.92 O +HETATM 3000 O HOH E 443 9.574 -4.979 -20.304 1.00 34.59 O +HETATM 3001 O HOH E 444 -9.052 -5.858 -23.432 1.00 86.30 O +HETATM 3002 O HOH E 445 16.764 25.675 -7.060 1.00 46.03 O +HETATM 3003 O HOH E 446 23.975 23.037 -9.818 1.00 49.23 O +HETATM 3004 O HOH E 447 15.093 6.298 -4.741 1.00 23.18 O +HETATM 3005 O HOH E 449 19.841 7.156 -9.502 1.00 38.31 O +HETATM 3006 O HOH E 450 21.327 2.660 -18.169 1.00 30.77 O +HETATM 3007 O HOH E 458 6.610 29.757 -4.779 1.00 27.40 O +HETATM 3008 O HOH E 462 20.141 13.360 -16.287 1.00 54.57 O +HETATM 3009 O HOH E 463 -7.768 -18.223 -4.077 1.00 36.79 O +HETATM 3010 O HOH E 464 24.302 18.471 -2.328 1.00 55.63 O +HETATM 3011 O HOH E 465 -4.310 -7.705 -8.486 1.00 59.23 O +HETATM 3012 O HOH E 466 -4.713 -18.277 -3.794 1.00 26.95 O +HETATM 3013 O HOH E 467 -3.359 -12.340 -8.001 1.00 34.01 O +HETATM 3014 O HOH E 468 21.563 25.098 -13.587 1.00 58.55 O +HETATM 3015 O HOH E 469 1.225 -20.270 -3.227 1.00 46.01 O +HETATM 3016 O HOH E 470 16.853 28.865 -5.622 1.00 59.21 O +HETATM 3017 O HOH E 473 10.652 17.182 11.899 1.00 44.05 O +HETATM 3018 O HOH E 477 14.959 9.150 -5.261 1.00 10.90 O +HETATM 3019 O HOH E 478 12.380 25.551 12.876 1.00 57.55 O +HETATM 3020 O HOH E 480 19.697 -0.153 8.855 1.00 19.65 O +HETATM 3021 O HOH E 489 21.278 26.766 3.167 1.00 30.62 O +HETATM 3022 O HOH E 492 8.589 6.137 10.916 1.00 19.82 O +HETATM 3023 O HOH E 510 9.734 -25.334 7.018 1.00 43.46 O +HETATM 3024 O HOH E 514 10.647 -23.422 -4.469 1.00 73.00 O +HETATM 3025 O HOH E 524 4.819 17.193 -18.706 1.00 46.05 O +HETATM 3026 O HOH E 527 23.714 11.046 -0.707 1.00 31.58 O +HETATM 3027 O HOH E 535 1.371 2.745 15.601 1.00 73.65 O +HETATM 3028 O HOH E 539 15.528 24.239 -2.001 1.00 44.23 O +HETATM 3029 O HOH E 548 16.345 34.295 -1.708 1.00 55.24 O +HETATM 3030 O HOH E 561 14.845 -26.196 7.544 1.00 90.22 O +HETATM 3031 O HOH E 568 21.729 -7.093 -2.212 1.00 30.68 O +HETATM 3032 O HOH E 569 22.892 -17.570 -5.357 1.00 27.34 O +HETATM 3033 O HOH E 570 22.933 -16.000 -2.731 1.00 38.79 O +HETATM 3034 O HOH E 571 24.682 -19.774 0.306 1.00 58.65 O +HETATM 3035 O HOH E 573 9.487 -17.137 -12.877 1.00 34.87 O +HETATM 3036 O HOH E 576 18.396 -1.349 -4.215 1.00 22.56 O +HETATM 3037 O HOH E 579 11.762 5.526 -20.168 1.00 26.04 O +HETATM 3038 O HOH E 586 16.415 30.500 -8.140 1.00 76.48 O +HETATM 3039 O HOH E 587 11.869 18.730 -19.755 1.00 39.51 O +HETATM 3040 O HOH E 588 21.091 34.869 -7.071 1.00 35.04 O +HETATM 3041 O HOH E 589 22.017 7.599 -9.835 1.00 23.74 O +HETATM 3042 O HOH E 590 5.466 -22.317 -10.591 1.00 69.37 O +HETATM 3043 O HOH E 593 16.549 18.673 -2.735 1.00 31.85 O +HETATM 3044 O HOH E 595 17.872 15.945 1.094 1.00 42.84 O +HETATM 3045 O HOH E 596 13.662 22.979 1.480 1.00 57.88 O +HETATM 3046 O HOH E 597 13.660 12.070 -5.941 1.00 29.72 O +HETATM 3047 O HOH E 598 13.845 7.450 -18.941 1.00 57.95 O +HETATM 3048 O HOH E 599 24.223 9.579 -10.744 1.00 71.80 O +HETATM 3049 O HOH E 605 2.190 9.083 13.154 1.00 47.03 O +HETATM 3050 O HOH E 626 -1.336 -18.874 -2.466 1.00 31.64 O +HETATM 3051 O HOH E 635 14.017 6.954 1.896 1.00 10.43 O +HETATM 3052 O HOH E 658 4.123 -22.210 4.891 1.00 90.64 O +HETATM 3053 O HOH E 659 15.237 26.930 -11.766 1.00 33.12 O +HETATM 3054 O HOH E 675 14.613 19.816 -0.805 1.00 44.79 O +HETATM 3055 O HOH E 681 -2.819 7.080 6.590 1.00 35.23 O +HETATM 3056 O HOH E 683 18.824 27.036 -16.960 1.00 58.98 O +HETATM 3057 O HOH E 684 -2.344 5.487 12.018 1.00 50.42 O +HETATM 3058 O HOH E 689 10.044 -18.229 14.117 1.00 39.67 O +HETATM 3059 O HOH I 421 18.316 1.386 15.562 1.00 43.95 O +HETATM 3060 O HOH I 422 27.565 9.409 -2.439 1.00 43.46 O +HETATM 3061 O HOH I 448 32.733 12.004 -1.612 1.00 93.62 O +HETATM 3062 O HOH I 459 16.308 6.799 3.431 1.00 30.13 O +HETATM 3063 O HOH I 460 26.994 6.291 -5.426 1.00 83.03 O +HETATM 3064 O HOH I 471 18.053 9.567 8.317 1.00 25.84 O +HETATM 3065 O HOH I 472 22.514 6.327 4.614 1.00 34.54 O +HETATM 3066 O HOH I 474 21.883 -2.028 7.045 1.00 29.20 O +HETATM 3067 O HOH I 475 23.183 3.825 11.075 1.00 22.94 O +HETATM 3068 O HOH I 476 23.001 4.352 2.046 1.00 26.35 O +HETATM 3069 O HOH I 479 24.495 1.969 13.014 1.00 49.41 O +HETATM 3070 O HOH I 491 28.415 13.648 -6.428 1.00 49.80 O +HETATM 3071 O HOH I 522 22.767 3.475 7.274 1.00 60.80 O +HETATM 3072 O HOH I 523 24.189 7.314 -0.969 1.00 72.00 O +CONECT 1302 2938 +CONECT 1407 2937 +CONECT 1408 2937 2938 +CONECT 1500 1512 +CONECT 1512 1500 1513 +CONECT 1513 1512 1514 1521 +CONECT 1514 1513 1515 1516 +CONECT 1515 1514 +CONECT 1516 1514 1517 +CONECT 1517 1516 1518 1519 1520 +CONECT 1518 1517 +CONECT 1519 1517 +CONECT 1520 1517 +CONECT 1521 1513 1522 1523 +CONECT 1522 1521 +CONECT 1523 1521 +CONECT 2662 2667 +CONECT 2667 2662 2668 +CONECT 2668 2667 2669 2671 +CONECT 2669 2668 2670 +CONECT 2670 2669 2673 +CONECT 2671 2668 2672 2677 +CONECT 2672 2671 +CONECT 2673 2670 2674 2675 2676 +CONECT 2674 2673 +CONECT 2675 2673 +CONECT 2676 2673 +CONECT 2677 2671 +CONECT 2937 1407 1408 2942 2944 +CONECT 2937 3004 3018 +CONECT 2938 1302 1408 2941 2949 +CONECT 2938 3051 +CONECT 2939 2940 2941 2942 2946 +CONECT 2940 2939 +CONECT 2941 2938 2939 +CONECT 2942 2937 2939 +CONECT 2943 2944 2945 2946 2950 +CONECT 2944 2937 2943 +CONECT 2945 2943 +CONECT 2946 2939 2943 +CONECT 2947 2948 2949 2950 2951 +CONECT 2948 2947 +CONECT 2949 2938 2947 +CONECT 2950 2943 2947 +CONECT 2951 2947 2952 +CONECT 2952 2951 2953 +CONECT 2953 2952 2954 2955 +CONECT 2954 2953 2959 +CONECT 2955 2953 2956 2957 +CONECT 2956 2955 +CONECT 2957 2955 2958 2959 +CONECT 2958 2957 +CONECT 2959 2954 2957 2960 +CONECT 2960 2959 2961 2969 +CONECT 2961 2960 2962 +CONECT 2962 2961 2963 +CONECT 2963 2962 2964 2969 +CONECT 2964 2963 2965 2966 +CONECT 2965 2964 +CONECT 2966 2964 2967 +CONECT 2967 2966 2968 +CONECT 2968 2967 2969 +CONECT 2969 2960 2963 2968 +CONECT 3004 2937 +CONECT 3018 2937 +CONECT 3051 2938 +MASTER 411 0 5 16 9 0 12 6 3070 2 66 29 +END diff --git a/site/src/media/ScienceDiscovery.mp4 b/site/src/media/ScienceDiscovery.mp4 new file mode 100644 index 0000000..7004cb3 Binary files /dev/null and b/site/src/media/ScienceDiscovery.mp4 differ diff --git a/site/src/media/app-icon.png b/site/src/media/app-icon.png new file mode 100644 index 0000000..90d8f95 Binary files /dev/null and b/site/src/media/app-icon.png differ diff --git a/site/src/media/e1.png b/site/src/media/e1.png new file mode 100644 index 0000000..8a2ec7e Binary files /dev/null and b/site/src/media/e1.png differ diff --git a/site/src/media/e6.png b/site/src/media/e6.png new file mode 100644 index 0000000..6ca428c Binary files /dev/null and b/site/src/media/e6.png differ diff --git a/site/src/media/sd-audit-prov.png b/site/src/media/sd-audit-prov.png new file mode 100644 index 0000000..2738c72 Binary files /dev/null and b/site/src/media/sd-audit-prov.png differ diff --git a/site/src/media/sd-evolve.png b/site/src/media/sd-evolve.png new file mode 100644 index 0000000..7a2a065 Binary files /dev/null and b/site/src/media/sd-evolve.png differ diff --git a/site/src/media/sd-protein.png b/site/src/media/sd-protein.png new file mode 100644 index 0000000..4cbbc48 Binary files /dev/null and b/site/src/media/sd-protein.png differ diff --git a/site/src/site.css b/site/src/site.css index 01ce3fc..beb3c8f 100644 --- a/site/src/site.css +++ b/site/src/site.css @@ -67,13 +67,16 @@ --shadow-2: 0 12px 32px rgba(28, 47, 84, .12); --shadow-card: 0 18px 45px rgba(28, 47, 84, .09); --shadow-4: 0 28px 80px rgba(31, 41, 55, .24); - --font: "Manrope Variable", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", ui-sans-serif, sans-serif; - --serif: "Source Serif 4 Variable", "Songti SC", "Noto Serif CJK SC", "Source Han Serif SC", "SimSun", ui-serif, Georgia, serif; + --font: "Microsoft YaHei", "微软雅黑", "Manrope Variable", "PingFang SC", "Hiragino Sans GB", ui-sans-serif, sans-serif; + --serif: "Microsoft YaHei", "微软雅黑", "Source Serif 4 Variable", "PingFang SC", "Hiragino Sans GB", ui-sans-serif, sans-serif; --mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; --nav-h: 60px; --topbar-bg: rgba(248, 250, 252, .88); --code-bg: #0f172a; --code-border: var(--border); --edge: #b6bfcb; --node-halo: #f8fafc; + --bg-home: #f7f9fc; --bg-top: #edf3ff; + --glow-1: rgba(37, 99, 235, .17); --glow-2: rgba(124, 58, 237, .12); --glow-3: rgba(13, 148, 136, .10); + --grid: rgba(16, 27, 45, .055); color-scheme: light; } @@ -98,12 +101,17 @@ --topbar-bg: rgba(13, 17, 23, .85); --code-bg: #0a0e14; --code-border: #253041; --edge: #3a4658; --node-halo: #111720; + --bg-home: #090d14; --bg-top: #121d36; + --glow-1: rgba(79, 131, 241, .28); --glow-2: rgba(124, 58, 237, .22); --glow-3: rgba(15, 138, 166, .17); + --grid: rgba(255, 255, 255, .05); } * { box-sizing: border-box; } html { scroll-behavior: smooth; scroll-padding-top: calc(var(--nav-h) + 20px); } body { margin: 0; background: var(--app-bg); color: var(--text); font: 450 15px/1.7 var(--font); letter-spacing: -.006em; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; } -:where(h1, h2, h3) { font-family: var(--serif); font-weight: 500; text-wrap: balance; } +/* One family everywhere (Microsoft YaHei first, webfonts only as fallback): YaHei ships two + weights, so headings lean on 600 instead of the 500 that a variable serif would have used. */ +:where(h1, h2, h3) { font-family: var(--serif); font-weight: 600; text-wrap: balance; } a { color: var(--accent-strong); text-decoration: none; } a:hover { text-decoration: underline; } img { max-width: 100%; } @@ -115,7 +123,8 @@ code, pre, kbd { font-family: var(--mono); } .topbar-inner { max-width: 1240px; height: 100%; margin: 0 auto; padding: 0 24px; display: flex; align-items: center; gap: 28px; } .brand { display: flex; align-items: center; gap: 11px; color: var(--text-strong); font-weight: 800; font-size: 17px; letter-spacing: -.035em; } .brand:hover { text-decoration: none; } -.brand-mark { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 12px; color: #fff; background: var(--accent); box-shadow: 0 5px 12px rgba(37, 99, 235, .18); } +/* The app icon carries its own rounded square and colours, so the mark is just the image. */ +.brand-mark { display: block; width: 36px; height: 36px; border-radius: 10px; box-shadow: 0 5px 12px rgba(37, 99, 235, .18); } .topnav { display: flex; gap: 4px; margin-right: auto; } .topnav a { padding: 8px 14px; border-radius: var(--radius-m); color: var(--text-secondary); font-size: 13.5px; font-weight: 600; } .topnav a:hover { background: var(--surface-hover); color: var(--text-strong); text-decoration: none; } @@ -134,36 +143,160 @@ code, pre, kbd { font-family: var(--mono); } .btn[aria-disabled="true"] { opacity: .55; cursor: not-allowed; pointer-events: none; } /* ---------- home ---------- */ +/* The backdrop is one fixed layer behind the page: a soft colour wash at the top, three + glows that fall off before the copy starts, and a grid that is masked out below the hero. + Dark mode adds grain so the large gradients do not band. Content paints above it because + the layer sits at z-index -1, which is still above the canvas background. */ +body.home { background: var(--bg-home); } +.aurora { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; + background: + radial-gradient(56% 40% at 50% -6%, var(--glow-1), transparent 72%), + radial-gradient(34% 28% at 93% 4%, var(--glow-2), transparent 74%), + radial-gradient(38% 30% at 3% 24%, var(--glow-3), transparent 74%), + linear-gradient(180deg, var(--bg-top), var(--bg-home) 52%); } +.aurora::before { content: ""; position: absolute; inset: 0; background-size: 68px 68px; + background-image: linear-gradient(to right, var(--grid) 1px, transparent 1px), linear-gradient(to bottom, var(--grid) 1px, transparent 1px); + -webkit-mask-image: radial-gradient(114% 64% at 50% -4%, #000 32%, transparent 76%); + mask-image: radial-gradient(114% 64% at 50% -4%, #000 32%, transparent 76%); } +.aurora::after { content: ""; position: absolute; inset: 0; opacity: .55; background-size: 180px 180px; } +:root[data-theme="dark"] .aurora::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.14'/%3E%3C/svg%3E"); } .wrap { max-width: 1240px; margin: 0 auto; padding: 0 24px; } .hero { padding: 72px 0 36px; text-align: center; } .eyebrow { display: inline-flex; align-items: center; gap: 8px; padding: 5px 13px; border: 1px solid var(--accent-border-soft); border-radius: var(--radius-pill); background: var(--accent-soft); color: var(--accent-deep); font-size: 13px; font-weight: 600; } .hero h1 { max-width: 820px; margin: 20px auto 0; color: var(--text-strong); font-size: clamp(32px, 5vw, 52px); line-height: 1.12; letter-spacing: -.03em; } -.hero h1 em { color: var(--accent); } -html[lang="en"] .hero h1 em { font-style: italic; } -html[lang="zh"] .hero h1 em { font-style: normal; } +/* The brand takes its own line so the slogan wraps as one phrase: left to flow, the headline + broke after 「你」 and orphaned it from the words it belongs to. */ +.quick-install h1 > span { display: block; } +/* The two initials of the wordmark carry the accent, so the name reads as one logo in the headline. */ +.quick-install h1 .h1-initial { color: var(--accent); } +.quick-install h1 .h1-slogan { margin-top: 12px; } +/* The hero's only action sits centred on its own. It inverts on hover — white with blue text at + rest, blue fill under the pointer — and is widened to roughly twice the room its label takes. */ +.quick-install .hero-cta .btn.primary { min-width: 195px; border-color: var(--accent); background: var(--surface); color: var(--accent-strong); } +.quick-install .hero-cta .btn.primary:hover { background: var(--accent); color: #fff; } +/* `em` in a headline is an accent, not emphasis: YaHei only ships a synthetic oblique. */ +.quick-install h1 em { color: var(--accent); font-style: normal; } .hero p.lead { max-width: 680px; margin: 18px auto 0; color: var(--muted); font-size: 17px; } .hero-cta { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 28px; } .quick-install { max-width: 1000px; margin: 0 auto; padding-top: 86px; text-align: center; } -.demo-stage { padding-top: 48px; } -.quick-install h1 { max-width: 900px; margin: 22px auto 0; color: var(--text-strong); font-size: clamp(38px, 5.2vw, 62px); line-height: 1.09; letter-spacing: -.045em; } -.quick-install h1 em { color: var(--accent); } -html[lang="en"] .quick-install h1 em { font-style: italic; } -html[lang="zh"] .quick-install h1 em { font-style: normal; } -.quick-install .lead { max-width: 750px; margin: 22px auto 0; color: var(--muted); font-size: 17.5px; line-height: 1.75; } -.quick-command { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.25fr); gap: 30px; margin-top: 38px; padding: 30px; border: 1px solid var(--accent-border-soft); border-radius: var(--radius-xl); background: linear-gradient(125deg, var(--surface) 8%, var(--accent-soft)); box-shadow: var(--shadow-1); text-align: left; } -.quick-command .eyebrow { padding: 0; border: 0; background: transparent; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; } -.quick-command h2 { margin: 9px 0 8px; color: var(--text-strong); font-size: 22px; letter-spacing: -.035em; } -.quick-command p { margin: 0; color: var(--text-secondary); font-size: 14px; line-height: 1.65; } -.quick-command .quick-download { margin-top: 16px; } -.quick-command pre { align-self: center; min-width: 0; margin: 0; padding: 15px 16px; border: 1px solid var(--code-border); border-radius: var(--radius-m); background: var(--code-bg); color: #e2e8f0; white-space: pre-wrap; overflow-wrap: anywhere; text-align: left; font-size: 13px; line-height: 1.6; } -.install-alternative { margin: 14px 0 0; color: var(--muted); font-size: 14px; } -.install-alternative a { font-weight: 650; } +.quick-install h1 { max-width: 900px; margin: 22px auto 0; color: var(--text-strong); font-size: clamp(38px, 5.2vw, 62px); line-height: 1.25; letter-spacing: -.045em; } +.quick-install .lead { max-width: 750px; margin: 38px auto 0; color: var(--muted); font-size: 17.5px; line-height: 1.75; } +/* The recording replaced the scripted demo and owns the middle of the page: same column as the + hero, so the video edge lines up with the copy above it. */ +.home-video { max-width: 1000px; margin: 76px auto 0; } +.home-video video { display: block; width: 100%; border: 1px solid var(--border); border-radius: var(--radius-l); background: #0b1220; box-shadow: var(--shadow-card); } /* sections */ -.section { padding: 96px 0 0; } +.section { padding: 84px 0 0; } .section h2 { margin: 0; text-align: center; color: var(--text-strong); font-size: clamp(28px, 3.2vw, 38px); letter-spacing: -.045em; } .section .sub { max-width: 620px; margin: 10px auto 0; text-align: center; color: var(--muted); } .grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 36px; } +/* One capability per band: the claim, the detail, then the same question answered by a generic + agent and by ScienceDiscovery so the difference is visible side by side. */ +.feature { max-width: 1080px; margin: 0 auto; padding: 76px 0 0; text-align: center; } +.feature h3 { margin: 18px 0 0; color: var(--text-strong); font-size: clamp(24px, 2.6vw, 32px); letter-spacing: -.04em; } +.feature-text { max-width: 820px; margin: 14px auto 0; color: var(--text-secondary); font-size: 16.5px; line-height: 1.8; } +.compare { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 30px; text-align: left; } +.chat { margin: 0; padding: 20px; border: 1px solid var(--border); border-radius: var(--radius-l); background: var(--surface); box-shadow: var(--shadow-1); } +.chat figcaption { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 13px; font-weight: 700; } +.chat.sd { border-color: var(--accent-border-soft); background: linear-gradient(160deg, var(--surface), var(--accent-soft)); } +.chat.sd figcaption { color: var(--accent-deep); } +.dot { width: 8px; height: 8px; border-radius: 50%; background: var(--border-strong); } +.chat.sd .dot { background: var(--accent); } +.bubble { margin: 12px 0 0; padding: 11px 13px; border-radius: 12px; font-size: 13.5px; line-height: 1.7; } +.bubble.user { border: 1px solid var(--border); background: var(--surface-soft); color: var(--text-secondary); } +.bubble.bot { background: var(--surface-subtle); color: var(--muted); } +.chat.sd .bubble.bot { background: var(--accent-soft); color: var(--text); } +/* A turn is a bubble plus a square avatar: the reader's own words carry theirs on the right, + the agent's on the left, so the two voices in a column are never confused. */ +.turn { display: flex; align-items: flex-start; gap: 10px; margin-top: 12px; } +.turn.user { justify-content: flex-end; } +.turn .bubble { flex: 1; min-width: 0; margin: 0; } +.avatar { flex: none; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; font-weight: 700; } +.turn.user .avatar { background: var(--accent); color: #fff; font-size: 15px; box-shadow: 0 4px 10px rgba(37, 99, 235, .18); } +.turn.bot .avatar { border: 1px solid var(--border); background: var(--surface); color: var(--text-secondary); font-size: 10.5px; } +.turn.bot .avatar.sd { border-color: var(--accent-border); background: var(--accent-softer); color: var(--accent-deep); font-size: 13px; } +.bubble.progress { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; border: 1px dashed var(--border); background: transparent; color: var(--text-faint); } +/* Files the agent already pulled in: the point of the reply is that things landed in the + workspace, so name a few of them and let the three dots say the list keeps going. */ +.files { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; } +.file { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border: 1px solid var(--accent-border-soft); border-radius: var(--radius-s); background: var(--surface); color: var(--text-secondary); font: 12px var(--mono); } +.file svg { flex: none; color: var(--accent); } +.files-more { display: block; margin-top: 9px; color: var(--text-faint); font-size: 17px; line-height: .6; letter-spacing: 3px; } +/* A reply can hold paragraphs, a table, tool-call chips or a fold, so the bubble spaces its own + children instead of leaning on default paragraph margins. */ +.bubble > * { margin-block: 0; } +.bubble > :not(:first-child) { margin-top: 12px; } +.bubble code { padding: 1px 5px; border-radius: 5px; background: var(--surface-track); font-size: 12px; } +.bubble table { width: 100%; border-collapse: collapse; font-size: 12.5px; } +.bubble th, .bubble td { padding: 6px 10px; border: 1px solid var(--border); text-align: left; vertical-align: top; } +.bubble th { width: 1%; background: var(--surface-soft); color: var(--text-secondary); font-weight: 650; white-space: nowrap; } +/* Tool calls and thinking rounds annotate the reply rather than compete with it, so both are the + same small muted line: no chip, no border, no weight. */ +.tool, .step { display: block; color: var(--text-faint); font-size: 12px; letter-spacing: .02em; } +/* A citation marker inside a reply: bracketed like the source text it stands for, but an actual + control, so it opens the evidence behind the claim. */ +.ev { display: inline-block; padding: 1px 7px; border: 1px solid var(--accent-border-soft); border-radius: var(--radius-pill); background: var(--accent-soft); color: var(--accent-deep); font-family: var(--mono); font-size: 11.5px; font-weight: 650; line-height: 1.5; cursor: pointer; } +.ev:hover { border-color: var(--accent-border); background: var(--accent-tint); } +.ev-hint { margin-left: 5px; color: var(--text-faint); font-family: var(--font); font-size: 11px; font-weight: 500; } +/* A downloaded file opens: the left column shows the raw record, the right the rendered result. + A bare file name reads as a label, so each one carries a hint and a glyph, and both react. */ +.fold-label { display: block; color: var(--text-faint); font-size: 12px; font-weight: 700; letter-spacing: .02em; } +.fold > summary, .fold-open { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border: 1px solid var(--accent-border-soft); border-radius: var(--radius-s); background: var(--surface); color: var(--text-secondary); font: 12px var(--mono); cursor: pointer; transition: border-color .18s, background .18s, color .18s; } +.fold > summary::marker, .fold > summary::-webkit-details-marker { content: ""; } +.fold[open] > summary, .fold > summary:hover, .fold-open:hover { border-color: var(--accent-border); background: var(--accent-softer); color: var(--accent-deep); } +.fold > summary svg, .fold-open svg { flex: none; color: var(--accent); } +.fold-hint { color: var(--text-faint); font-family: var(--font); } +/* The invitation to open the 3D view is the payoff of the whole column, so it keeps cycling + through the palette instead of sitting still like the other captions. */ +.fold-hint.hint-live { font-weight: 650; animation: hint-live 2.4s ease-in-out infinite; } +@keyframes hint-live { 0%, 100% { color: var(--accent-strong); } 33% { color: var(--violet); } 66% { color: var(--teal); } } +.fold > summary:hover .fold-hint, .fold-open:hover .fold-hint, .fold[open] > summary .fold-hint { color: var(--accent-ink); } +.chev { transition: transform .18s; } +.fold[open] > summary .chev { transform: rotate(180deg); } +.fold-body pre { max-height: 236px; margin: 0; padding: 12px 13px; border: 1px solid var(--code-border); border-radius: var(--radius-s); background: var(--code-bg); color: #cbd5e1; overflow: auto; font-size: 11.5px; line-height: 1.65; } +.fold-note { display: block; margin-top: 7px; color: var(--text-faint); font-size: 11.5px; } +/* The structure viewer takes over four fifths of the screen, so it gets a way out as well: the + close button, Escape, or a click on the backdrop. */ +.viewer-dialog { width: 80vw; height: 80vh; max-width: 1700px; padding: 0; border: 1px solid var(--border-strong); border-radius: var(--radius-l); background: var(--surface); color: var(--text); box-shadow: var(--shadow-4); overflow: hidden; } +/* minmax(0, 1fr) rather than 1fr: the third row must never grow past the dialog, or a tall + screenshot would be clipped by the dialog's own overflow instead of scaling down to fit. */ +.viewer-dialog[open] { display: grid; grid-template-rows: auto auto minmax(0, 1fr); } +/* A screenshot panel is only as wide as the picture needs: 80vw would leave a wide empty margin + either side of an image that is scaled down to fit the height. The height left for the picture + is the 80vh minus the header, the caption line and the padding (--shot-chrome), turned into a + width by the image's own aspect ratio (--shot-ratio, written inline per dialog at build time). */ +.viewer-dialog.shot-dialog { + --shot-chrome: 130px; --shot-pad: 32px; + width: min(92vw, calc((80vh - var(--shot-chrome)) * var(--shot-ratio) + var(--shot-pad))); +} +.viewer-dialog::backdrop { background: rgba(9, 14, 24, .68); } +.viewer-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px 12px 18px; border-bottom: 1px solid var(--border); } +.viewer-name { display: inline-flex; align-items: center; gap: 7px; color: var(--text-secondary); font: 13px var(--mono); } +.viewer-name svg { flex: none; color: var(--accent); } +.viewer-close { width: 30px; height: 30px; border: 1px solid var(--border); border-radius: var(--radius-s); background: var(--surface); color: var(--text-secondary); font-size: 12px; cursor: pointer; } +.viewer-close:hover { border-color: var(--accent-border); background: var(--accent-soft); color: var(--accent-strong); } +.viewer-note { margin: 0; padding: 10px 18px; border-bottom: 1px solid var(--border); background: var(--surface-subtle); color: var(--text-faint); font-size: 12.5px; line-height: 1.6; } +/* The Evolve panel is a still screenshot, so it only has to fit inside the dialog. The track is + written out rather than left implicit: a percentage max-height cannot resolve against an + auto-sized track, and the picture would then overflow the dialog instead of scaling down. */ +.viewer-shot { display: grid; grid-template: minmax(0, 1fr) / minmax(0, 1fr); min-height: 0; padding: 14px; background: var(--surface-subtle); } +.viewer-shot img { grid-area: 1 / 1; place-self: center; max-width: 100%; max-height: 100%; border: 1px solid var(--border); border-radius: var(--radius-s); background: #fff; } +.viewer-stage { position: relative; min-height: 0; background: #0b1220; } +.viewer-stage > :not(.viewer-msg) { position: absolute; inset: 0; } +.viewer-msg { position: absolute; inset: 0; display: grid; place-items: center; padding: 0 24px; color: #8a96a8; font-size: 13px; text-align: center; } +.pulse { width: 6px; height: 6px; border-radius: 50%; background: var(--accent); animation: pulse 1.1s ease-in-out infinite; } +@keyframes pulse { 0%, 100% { opacity: .25; transform: scale(.8); } 50% { opacity: 1; transform: scale(1); } } +/* The cost line closes the column under the transcript: centred and in the accent colour, because + the two numbers are meant to be compared across the pair rather than read as chat. */ +.tally { display: flex; align-items: center; gap: 7px; width: fit-content; margin: 16px auto 0; padding: 6px 15px; border: 1px solid var(--accent-border-soft); border-radius: var(--radius-pill); background: var(--accent-soft); color: var(--accent-deep); font-size: 14.5px; font-weight: 700; font-variant-numeric: tabular-nums; box-shadow: var(--shadow-1); } +.tally svg { flex: none; } +/* The two transcripts differ in length, so a cost line that simply followed its own bubble would + sit at a different height on each side. Pinning it to the bottom edge of the column keeps the + pair level, and the reserved padding keeps the transcripts from growing into it. */ +.chat.tallied { position: relative; padding-bottom: 80px; } +.chat.tallied .tally { position: absolute; right: 0; left: 0; bottom: 20px; margin: 0 auto; } +.feature-more { margin: 16px 0 0; font-size: 13.5px; font-weight: 650; } .card { padding: 25px; border: 1px solid var(--border); border-radius: var(--radius-l); background: var(--surface); box-shadow: var(--shadow-1); transition: box-shadow .18s, border-color .18s, transform .18s; } a.card { display: block; color: inherit; } a.card:hover { border-color: var(--accent-border-soft); box-shadow: var(--shadow-card); text-decoration: none; transform: translateY(-3px); } @@ -171,10 +304,6 @@ a.card:hover { border-color: var(--accent-border-soft); box-shadow: var(--shadow .card h3 { margin: 0 0 7px; color: var(--text-strong); font-size: 17px; letter-spacing: -.025em; } .card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.65; } .card .more { display: inline-block; margin-top: 12px; font-size: 13px; font-weight: 600; } -.cta { margin: 92px auto 0; padding: 52px 24px; border: 1px solid var(--accent-border-soft); border-radius: var(--radius-xl); background: linear-gradient(135deg, var(--accent-soft), var(--surface)); text-align: center; } -.cta h2 { font-size: 30px; letter-spacing: -.04em; } -.cta .hero-cta { margin-top: 22px; } - .footer { margin-top: 84px; padding: 28px 0 40px; border-top: 1px solid var(--border); color: var(--muted); font-size: 13px; } .footer .wrap { display: flex; flex-wrap: wrap; gap: 12px 24px; justify-content: space-between; } .footer a { color: var(--text-secondary); } @@ -201,6 +330,44 @@ a.file:hover { border-color: var(--accent-border-soft); background: var(--accent .steps h2 { margin: 0 0 12px; font-size: 18px; color: var(--text-strong); } .steps pre { margin: 10px 0 0; } .note { margin-top: 16px; padding: 12px 16px; border: 1px solid var(--accent-border-soft); border-radius: var(--radius-m); background: var(--accent-soft); color: var(--accent-deep); font-size: 13.5px; } +/* The homepage's only action now opens the download, so it is filled and sized like the primary + action it is, rather than the outlined button that used to lead to the install page. */ +.quick-install .hero-cta .btn.download { min-width: 268px; min-height: 54px; padding: 0 30px; border-color: var(--accent); background: var(--accent); color: #fff; font-size: 15.5px; box-shadow: 0 8px 20px rgba(37, 99, 235, .22); } +.quick-install .hero-cta .btn.download:hover { background: var(--accent-strong); color: #fff; box-shadow: 0 11px 26px rgba(37, 99, 235, .3); } +/* The button unfolds a platform picker beneath itself, inside the page flow: opening it pushes the + video below down and closing it lets the page close up again. The row animates from zero to its + own natural height — no magic number — and the panel fades along with it, in both directions. */ +.dl-reveal { display: grid; grid-template-rows: 0fr; margin-top: 0; opacity: 0; visibility: hidden; transition: grid-template-rows .3s ease, margin-top .3s ease, opacity .24s ease, visibility .3s; } +.dl-reveal.open { grid-template-rows: 1fr; margin-top: 22px; opacity: 1; visibility: visible; } +/* The collapsed row is clipped by a bare wrapper: were the panel itself the row's only child, its + own padding and border would hold roughly 30px of the closed row open. */ +.dl-clip { min-height: 0; overflow: hidden; } +/* One row of two short strips, so the picker reads as a wide rectangle rather than a block of + squares. Inside a strip the icon and the name are centred, with any published builds laid out on + the same line to the right of the name — for Linux that is x86_64 then aarch64. The panel is + 620px wide so each strip gets about 290px; below that it just fills the column. */ +.dl-panel { width: min(620px, 100%); margin: 0 auto; padding: 10px 14px; border: 1px solid var(--border-strong); border-radius: var(--radius-l); background: var(--surface); text-align: left; } +.dl-panel .os-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; max-width: none; margin: 0; } +.dl-panel .os { flex-direction: row; align-items: center; justify-content: center; gap: 10px; padding: 6px 12px; border-radius: var(--radius-m); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; } +.dl-panel .os:hover { transform: translateY(-3px); border-color: var(--accent-border); box-shadow: var(--shadow-2); } +.dl-panel .os .ico { flex: none; width: 28px; height: 28px; margin-bottom: 0; border-radius: 8px; transition: transform .18s ease, background .18s ease, color .18s ease; } +.dl-panel .os:hover .ico { transform: scale(1.08); background: var(--accent-softer); color: var(--accent); } +.dl-panel .os h3 { flex: none; font-size: 15px; } +/* Builds run left to right on the name's own line, so the strip stays one line tall. */ +.dl-panel .os .files { grid-template-columns: none; grid-auto-flow: column; gap: 4px; margin-top: 0; } +/* A build chip is a small rounded label, not a pill: the shared radius would round a 22px chip + into a capsule. */ +.dl-panel .os .file { justify-content: flex-start; padding: 2px 8px; border-radius: 5px; font-size: 11.5px; line-height: 1.45; } +/* The release line sits outside the panel, tucked under its right-hand edge, and appears and + disappears with it because it shares the panel's collapsing row. */ +.dl-meta { width: min(620px, 100%); margin: 9px auto 0; justify-content: flex-end; flex-wrap: wrap; font-size: 12px; } +/* A phone cannot hold two strips side by side, so there they stack. */ +@media (max-width: 620px) { + .dl-panel .os-grid { grid-template-columns: minmax(0, 1fr); } +} +/* The card for the visitor's own system gets the ring, and this pill is moved into its heading. */ +#recommend-tag { display: inline-block; padding: 2px 8px; border: 1px solid var(--accent-border); border-radius: var(--radius-pill); background: var(--accent-soft); color: var(--accent-deep); font-size: 10.5px; font-weight: 700; line-height: 1.3; letter-spacing: 0; vertical-align: middle; white-space: nowrap; } +.hidden { display: none !important; } /* ---------- docs ---------- */ .docs { display: grid; grid-template-columns: 280px minmax(0, 1fr) 210px; max-width: 1400px; margin: 0 auto; align-items: start; } @@ -238,6 +405,8 @@ a.file:hover { border-color: var(--accent-border-soft); background: var(--accent .article pre { position: relative; margin: 14px 0; padding: 14px 16px; border: 1px solid var(--code-border); border-radius: var(--radius-m); background: var(--code-bg); color: #e2e8f0; overflow-x: auto; font-size: 13px; line-height: 1.6; } .article pre code { background: none; border: 0; padding: 0; color: inherit; } .article img { display: block; margin: 16px 0; border: 1px solid var(--border); border-radius: var(--radius-m); box-shadow: var(--shadow-1); } +/* Installer screenshots are whole windows, so a rounded corner crops the frame they show. */ +.article img[src*="images/install/"] { border-radius: 0; } .table-wrap { margin: 14px 0; overflow-x: auto; border: 1px solid var(--border); border-radius: var(--radius-m); background: var(--surface); } .article table { width: 100%; border-collapse: collapse; font-size: 13.5px; } .article th, .article td { padding: 9px 13px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; } @@ -298,6 +467,7 @@ a.file:hover { border-color: var(--accent-border-soft); background: var(--accent .theme-toggle { width: 32px; } .lang-switch { padding: 0 8px; font-size: 12px; } .grid, .os-grid, .docs-home .grid { grid-template-columns: 1fr; } + .compare { grid-template-columns: 1fr; } .docs { grid-template-columns: 1fr; } .docs-nav { position: static; height: auto; border-right: 0; border-bottom: 1px solid var(--border); display: none; } .docs-nav.open { display: block; } @@ -306,9 +476,13 @@ a.file:hover { border-color: var(--accent-border-soft); background: var(--accent .page-head { padding-top: 46px; } .docs-home { padding-top: 42px; } .quick-install { padding-top: 44px; } - .demo-stage { padding-top: 32px; } - .quick-command { grid-template-columns: 1fr; padding: 20px; } - .quick-command pre { padding-top: 38px; } + .home-video { margin-top: 48px; } + .feature { padding-top: 56px; } + .chat { padding: 16px; } + .turn { gap: 8px; } + .avatar { width: 32px; height: 32px; border-radius: 9px; } + .turn.user .avatar { font-size: 13px; } + .turn.bot .avatar { font-size: 9.5px; } .install-route pre { white-space: pre-wrap; overflow-wrap: anywhere; } .install-route summary, .install-route-body { padding-left: 18px; padding-right: 18px; } } diff --git a/site/src/site.js b/site/src/site.js index 77ee85f..4540173 100644 --- a/site/src/site.js +++ b/site/src/site.js @@ -21,6 +21,14 @@ }); } catch (e) { /* older browsers */ } + /* ---------------- language ---------------- */ + /* The root page sends Chinese-reading visitors to /zh/ on their own, so an explicit switch has to + outrank the browser language from then on. The link's hreflang is the language it goes to. */ + var langSwitch = $('.lang-switch'); + if (langSwitch) langSwitch.addEventListener('click', function () { + try { localStorage.setItem('sd-lang', langSwitch.getAttribute('hreflang')); } catch (e) { /* private mode */ } + }); + /* ---------------- search ---------------- */ var btn = $('.search-btn'); if (btn) { @@ -113,7 +121,7 @@ var done = lang === 'zh' ? '已复制' : 'Copied', orig = b.textContent; (navigator.clipboard ? navigator.clipboard.writeText(text) : Promise.reject()).then(function () { b.textContent = done; setTimeout(function () { b.textContent = orig; }, 1400); }, function () {}); } - $$('.article pre, .install-route pre, .quick-command pre, .steps pre').forEach(function (pre) { + $$('.article pre, .install-route pre, .steps pre').forEach(function (pre) { var code = $('code', pre); if (!code) return; pre.style.position = 'relative'; var b = document.createElement('button'); b.type = 'button'; b.textContent = lang === 'zh' ? '复制' : 'Copy'; @@ -134,23 +142,76 @@ var card = $('[data-os="' + os + '"]', dl), tag = $('#recommend-tag'); if (card) { card.classList.add('recommended'); if (tag) { $('h3', card).appendChild(tag); tag.classList.remove('hidden'); } } $$('[data-copy]', dl).forEach(function (b) { b.addEventListener('click', function () { copy(b.dataset.copy, b); }); }); + /* The cards above are the platform picker the download button unfolds beneath itself. The class + drives the slide-and-fade in both directions, and Escape or a click outside folds it back. */ + var openBtn = $('[data-download-open]'), panel = $('#download-panel'); + if (openBtn && panel) { + var isOpen = function () { return panel.classList.contains('open'); }; + var setOpen = function (on) { + panel.classList.toggle('open', on); + openBtn.setAttribute('aria-expanded', on ? 'true' : 'false'); + }; + openBtn.addEventListener('click', function () { setOpen(!isOpen()); }); + document.addEventListener('keydown', function (e) { if (e.key === 'Escape' && isOpen()) setOpen(false); }); + document.addEventListener('click', function (e) { if (isOpen() && !panel.contains(e.target) && !openBtn.contains(e.target)) setOpen(false); }); + } } - /* ---------------- install routes ---------------- */ - function openInstallRoute(hash) { - var route = document.getElementById(hash.replace(/^#/, '')); - if (route && route.matches('details.install-route')) route.open = true; - return route; + /* ---------------- structure viewer ---------------- */ + // The 3D view is a real Mol* viewer, not a picture. The bundle is ~5 MB and the structure file + // another 300 KB, so both are fetched the first time a reader opens one and never on page load. + function loadCss(href) { + var link = document.createElement('link'); + link.rel = 'stylesheet'; + link.href = href; + document.head.appendChild(link); } - $$('.install-platform-methods a[href^="#install-"]').forEach(function (link) { - link.addEventListener('click', function () { openInstallRoute(link.hash); }); - }); - function openHashRoute() { - if (location.hash.indexOf('#install-') !== 0) return; - var route = openInstallRoute(location.hash); - if (route) route.scrollIntoView(); + function loadScript(src) { + return new Promise(function (resolve, reject) { + var script = document.createElement('script'); + script.src = src; + script.onload = resolve; + script.onerror = reject; + document.head.appendChild(script); + }); } - window.addEventListener('hashchange', openHashRoute); - openHashRoute(); + $$('[data-viewer]').forEach(function (button) { + var dialog = document.getElementById(button.dataset.viewer); + if (!dialog) return; + var stage = $('.viewer-stage', dialog); + var message = stage ? $('.viewer-msg', stage) : null; + var started = false; + button.addEventListener('click', function () { + dialog.showModal(); + // Panels that hold a still image (an Evolve run) have nothing to initialise. + if (!stage || started) return; + started = true; + loadCss(stage.dataset.viewerCss); + loadScript(stage.dataset.viewerLib) + .then(function () { + // layoutIsExpanded keeps the viewer inside its container: the expanded layout pins + // itself to the viewport and would cover the dialog's own header and close button. + return molstar.Viewer.create(stage, { + layoutIsExpanded: false, layoutShowLog: false, + layoutShowRemoteState: false, + viewportShowExpand: true, viewportShowSettings: true, + viewportShowSelectionMode: true, viewportShowTrajectoryControls: false + }); + }) + .then(function (viewer) { return viewer.loadStructureFromUrl(stage.dataset.viewerSrc, 'pdb'); }) + .then(function () { if (message) message.remove(); }) + .catch(function () { + started = false; + message.textContent = stage.dataset.viewerError; + }); + }); + $('[data-close]', dialog).addEventListener('click', function () { dialog.close(); }); + // Mol* binds Escape for its own shortcuts, so the dialog gets its own way out rather than + // relying on the browser's cancel behaviour. + document.addEventListener('keydown', function (e) { if (e.key === 'Escape' && dialog.open) dialog.close(); }); + // Clicking the backdrop is the third way out, after the button and Escape. The dialog itself + // is the target there, because its children fill every pixel. + dialog.addEventListener('click', function (e) { if (e.target === dialog) dialog.close(); }); + }); })(); diff --git a/site/src/viz.js b/site/src/viz.js deleted file mode 100644 index 7de9017..0000000 --- a/site/src/viz.js +++ /dev/null @@ -1,467 +0,0 @@ -/* Scientific visualisation for the home-page demo: a tiny software 3D renderer (canvas 2D) with protein and - crystal builders, plus SVG plots (volcano, heatmap, XRD). Dependency-free; all data is generated locally - and illustrative. Exposed as window.SDViz. */ -(function () { - 'use strict'; - var NS = 'http://www.w3.org/2000/svg'; - var TAU = Math.PI * 2; - - function rng(seed) { // mulberry32 - var a = seed >>> 0; - return function () { - a = (a + 0x6D2B79F5) >>> 0; - var t = a; - t = Math.imul(t ^ (t >>> 15), t | 1); - t ^= t + Math.imul(t ^ (t >>> 7), t | 61); - return ((t ^ (t >>> 14)) >>> 0) / 4294967296; - }; - } - function gauss(r) { var u = 1 - r(), v = r(); return Math.sqrt(-2 * Math.log(u)) * Math.cos(TAU * v); } - function css(name) { return getComputedStyle(document.documentElement).getPropertyValue(name).trim(); } - function hsl(h, s, l) { return 'hsl(' + h + ',' + s + '%,' + l + '%)'; } - function sub(a, b) { return [a[0] - b[0], a[1] - b[1], a[2] - b[2]]; } - function add(a, b) { return [a[0] + b[0], a[1] + b[1], a[2] + b[2]]; } - function mul(a, k) { return [a[0] * k, a[1] * k, a[2] * k]; } - function len(a) { return Math.sqrt(a[0] * a[0] + a[1] * a[1] + a[2] * a[2]); } - function norm(a) { var l = len(a) || 1; return [a[0] / l, a[1] / l, a[2] / l]; } - function dist(a, b) { return len(sub(a, b)); } - function lerp(a, b, t) { return [a[0] + (b[0] - a[0]) * t, a[1] + (b[1] - a[1]) * t, a[2] + (b[2] - a[2]) * t]; } - - /* ------------------------------------------------------------------ 3D viewer */ - function Viewer(canvas, opts) { - opts = opts || {}; - this.cv = canvas; this.ctx = canvas.getContext('2d'); - this.yaw = opts.yaw != null ? opts.yaw : 0.6; this.pitch = opts.pitch != null ? opts.pitch : -0.35; - this.zoom = opts.zoom || 1; this.auto = opts.auto !== false; this.scene = { atoms: [], bonds: [], ribbons: [], polys: [], lines: [], labels: [] }; - this.dirty = true; this.visible = true; this.center = [0, 0, 0]; this.size = 10; - var me = this, drag = null; - canvas.style.touchAction = 'none'; canvas.style.cursor = 'grab'; - canvas.addEventListener('pointerdown', function (e) { drag = { x: e.clientX, y: e.clientY }; canvas.setPointerCapture(e.pointerId); canvas.style.cursor = 'grabbing'; me.userTouched = true; }); - canvas.addEventListener('pointermove', function (e) { - if (!drag) return; - me.yaw += (e.clientX - drag.x) * 0.01; me.pitch = Math.max(-1.5, Math.min(1.5, me.pitch + (e.clientY - drag.y) * 0.01)); - drag.x = e.clientX; drag.y = e.clientY; me.dirty = true; - }); - function end() { drag = null; canvas.style.cursor = 'grab'; } - canvas.addEventListener('pointerup', end); canvas.addEventListener('pointercancel', end); - if ('IntersectionObserver' in window) new IntersectionObserver(function (es) { me.visible = es[0].isIntersecting; }).observe(canvas); - if ('ResizeObserver' in window) new ResizeObserver(function () { me.dirty = true; }).observe(canvas); - new MutationObserver(function () { me.dirty = true; }).observe(document.documentElement, { attributes: true, attributeFilter: ['data-theme'] }); - (function tick() { - if (!canvas.isConnected) return; - if (me.visible && (me.auto || me.dirty)) { if (me.auto && !drag) me.yaw += 0.006; me.render(); me.dirty = false; } - requestAnimationFrame(tick); - })(); - } - Viewer.prototype.setScene = function (scene, center, size) { - this.scene = scene; this.center = center || [0, 0, 0]; this.size = size || 10; this.dirty = true; - }; - Viewer.prototype.render = function () { - var cv = this.cv, ctx = this.ctx, dpr = window.devicePixelRatio || 1; - var W = cv.clientWidth, H = cv.clientHeight; - if (!W || !H) return; - if (cv.width !== Math.round(W * dpr) || cv.height !== Math.round(H * dpr)) { cv.width = Math.round(W * dpr); cv.height = Math.round(H * dpr); } - ctx.setTransform(dpr, 0, 0, dpr, 0, 0); - var bg = css('--surface-subtle') || '#f8fafc', halo = css('--node-halo') || '#f8fafc', fg = css('--text-secondary') || '#475467'; - ctx.globalAlpha = 1; ctx.fillStyle = bg; ctx.fillRect(0, 0, W, H); - var cy = Math.cos(this.yaw), sy = Math.sin(this.yaw), cp = Math.cos(this.pitch), sp = Math.sin(this.pitch); - var c = this.center, scale = Math.min(W, H) / (this.size * 2.3) * this.zoom, D = this.size * 5; - function P(p) { // rotate about scene centre, then project - var x = p[0] - c[0], y = p[1] - c[1], z = p[2] - c[2]; - var x1 = cy * x + sy * z, z1 = -sy * x + cy * z; - var y2 = cp * y - sp * z1, z2 = sp * y + cp * z1; - var k = D / (D - z2); - return { x: W / 2 + x1 * scale * k, y: H / 2 - y2 * scale * k, z: z2, k: k * scale }; - } - var sc = this.scene, items = [], zmin = 1e9, zmax = -1e9, i, it; - function push(z, fn) { if (z < zmin) zmin = z; if (z > zmax) zmax = z; items.push({ z: z, fn: fn }); } - var pcache = []; - for (i = 0; i < sc.atoms.length; i++) { var a = sc.atoms[i]; a._p = P(a.p); (function (a) { push(a._p.z, function (al) { drawAtom(a, al); }); })(a); } - for (i = 0; i < sc.bonds.length; i++) { - var b = sc.bonds[i], pa = P(b.a), pb = P(b.b); - (function (b, pa, pb) { push((pa.z + pb.z) / 2 - 0.01, function (al) { drawBond(b, pa, pb, al); }); })(b, pa, pb); - } - for (i = 0; i < sc.ribbons.length; i++) { - var r = sc.ribbons[i], pts = r.pts, prev = P(pts[0].p); - for (var j = 1; j < pts.length; j++) { - var cur = P(pts[j].p); - (function (p0, p1, pt) { push((p0.z + p1.z) / 2, function (al) { drawSeg(p0, p1, pt, al); }); })(prev, cur, pts[j]); - prev = cur; - } - } - for (i = 0; i < sc.polys.length; i++) { - var pg = sc.polys[i], pp = pg.pts.map(P), zz = 0; pp.forEach(function (q) { zz += q.z; }); - (function (pg, pp) { push(zz / pp.length, function () { drawPoly(pg, pp); }); })(pg, pp); - } - for (i = 0; i < sc.lines.length; i++) { - var l = sc.lines[i], la = P(l.a), lb = P(l.b); - (function (l, la, lb) { push((la.z + lb.z) / 2 + 0.02, function () { drawLine(l, la, lb); }); })(l, la, lb); - } - items.sort(function (x, y) { return x.z - y.z; }); - var span = (zmax - zmin) || 1; - for (i = 0; i < items.length; i++) { it = items[i]; it.fn(0.5 + 0.5 * ((it.z - zmin) / span)); } - ctx.globalAlpha = 1; - // labels last so they stay readable - ctx.font = '600 11px ui-sans-serif, system-ui, sans-serif'; ctx.textBaseline = 'middle'; ctx.textAlign = 'center'; - for (i = 0; i < sc.labels.length; i++) { - var lab = sc.labels[i], q = P(lab.p); - ctx.lineWidth = 4; ctx.strokeStyle = halo; ctx.strokeText(lab.t, q.x, q.y); ctx.fillStyle = lab.c || fg; ctx.fillText(lab.t, q.x, q.y); - } - - function drawAtom(a, al) { - var p = a._p, r = Math.max(1.5, a.r * p.k); - ctx.globalAlpha = a.alpha != null ? a.alpha : Math.min(1, al + 0.15); - if (r > 5) { - var g = ctx.createRadialGradient(p.x - r * 0.35, p.y - r * 0.35, r * 0.1, p.x, p.y, r); - g.addColorStop(0, shade(a.c, 0.35)); g.addColorStop(0.55, a.c); g.addColorStop(1, shade(a.c, -0.35)); - ctx.fillStyle = g; - } else ctx.fillStyle = a.c; - ctx.beginPath(); ctx.arc(p.x, p.y, r, 0, TAU); ctx.fill(); - if (a.ring) { ctx.lineWidth = 2; ctx.strokeStyle = a.ring; ctx.beginPath(); ctx.arc(p.x, p.y, r + 2.5, 0, TAU); ctx.stroke(); } - } - function drawBond(b, pa, pb, al) { - var w = Math.max(1, b.w * (pa.k + pb.k) / 2); - ctx.globalAlpha = Math.min(1, al + 0.2); ctx.lineCap = 'round'; ctx.lineWidth = w; - var mx = (pa.x + pb.x) / 2, my = (pa.y + pb.y) / 2; - ctx.strokeStyle = b.c1; ctx.beginPath(); ctx.moveTo(pa.x, pa.y); ctx.lineTo(mx, my); ctx.stroke(); - ctx.strokeStyle = b.c2 || b.c1; ctx.beginPath(); ctx.moveTo(mx, my); ctx.lineTo(pb.x, pb.y); ctx.stroke(); - } - function drawSeg(p0, p1, pt, al) { - var w = Math.max(1, pt.w * (p0.k + p1.k) / 2); - ctx.globalAlpha = Math.min(1, al + 0.2); ctx.lineCap = 'round'; - ctx.strokeStyle = 'rgba(0,0,0,.28)'; ctx.lineWidth = w + 1.6; ctx.beginPath(); ctx.moveTo(p0.x, p0.y); ctx.lineTo(p1.x, p1.y); ctx.stroke(); - ctx.strokeStyle = pt.c; ctx.lineWidth = w; ctx.beginPath(); ctx.moveTo(p0.x, p0.y); ctx.lineTo(p1.x, p1.y); ctx.stroke(); - } - function drawPoly(pg, pp) { - ctx.globalAlpha = pg.a; ctx.fillStyle = pg.c; ctx.beginPath(); ctx.moveTo(pp[0].x, pp[0].y); - for (var k = 1; k < pp.length; k++) ctx.lineTo(pp[k].x, pp[k].y); - ctx.closePath(); ctx.fill(); ctx.globalAlpha = Math.min(1, pg.a * 2.2); ctx.lineWidth = 0.8; ctx.strokeStyle = pg.c; ctx.stroke(); - } - function drawLine(l, la, lb) { - ctx.globalAlpha = l.alpha != null ? l.alpha : 0.9; ctx.strokeStyle = l.c; ctx.lineWidth = l.w || 1.2; ctx.lineCap = 'butt'; - if (l.dash) ctx.setLineDash(l.dash); - ctx.beginPath(); ctx.moveTo(la.x, la.y); ctx.lineTo(lb.x, lb.y); ctx.stroke(); ctx.setLineDash([]); - } - }; - function shade(hex, amt) { // hex or hsl() -> lighter/darker - var m = /^#([0-9a-f]{6})$/i.exec(hex); - if (!m) return hex; - var n = parseInt(m[1], 16), r = n >> 16, g = (n >> 8) & 255, b = n & 255, t = amt < 0 ? 0 : 255, p = Math.abs(amt); - r = Math.round((t - r) * p + r); g = Math.round((t - g) * p + g); b = Math.round((t - b) * p + b); - return 'rgb(' + r + ',' + g + ',' + b + ')'; - } - - /* ------------------------------------------------------------------ protein (illustrative helical bundle + ligand) */ - var EL = { C: '#8b95a5', N: '#3b82f6', O: '#ef4444', Cl: '#22c55e', S: '#eab308' }; - var RESNAMES = ['LEU 718', 'VAL 726', 'ALA 743', 'LYS 745', 'MET 793', 'THR 790', 'CYS 797', 'LEU 844', 'ASP 855', 'GLY 796']; - - function buildProtein() { - var r = rng(11), K = 6, R = 10.5, n = 15, rad = 2.3, res = [], i, j; - var helices = []; - for (i = 0; i < K; i++) { - var ang = i * TAU / K + 0.3, dir = i % 2 ? -1 : 1; - var u = [Math.cos(ang), Math.sin(ang), 0], v = [-Math.sin(ang), Math.cos(ang), 0]; - var pts = [], ph = r() * TAU; - for (j = 0; j < n; j++) { - var th = ph + j * (100 * Math.PI / 180), z = dir * (j - (n - 1) / 2) * 1.5; - var c = [R * u[0], R * u[1], z]; - pts.push({ p: add(c, add(mul(u, rad * Math.cos(th)), mul(v, rad * Math.sin(th)))), th: th, u: u, ss: 'H', axis: c }); - } - helices.push(pts); - } - function loop(from, to, up) { // short loop bulging away from the axis - var mid = lerp(from, to, 0.5), out = norm([mid[0], mid[1], 0]); - var ctrl = add(mid, add(mul(out, 6), [0, 0, up * 5])); - var out2 = []; - for (var t = 1; t <= 4; t++) { var s = t / 5, a = lerp(from, ctrl, s), b = lerp(ctrl, to, s); out2.push({ p: lerp(a, b, s), ss: 'L' }); } - return out2; - } - var chain = []; - // N-terminal tail - var h0 = helices[0][0].p; - for (j = 3; j >= 1; j--) chain.push({ p: add(h0, [j * 1.6 + r(), -j * 1.2 + r(), -j * 1.4]), ss: 'L' }); - for (i = 0; i < K; i++) { - helices[i].forEach(function (q) { chain.push(q); }); - if (i < K - 1) { - var last = helices[i][n - 1].p, first = helices[i + 1][0].p; - loop(last, first, i % 2 ? -1 : 1).forEach(function (q) { chain.push(q); }); - } - } - var hl = helices[K - 1][n - 1].p; - for (j = 1; j <= 3; j++) chain.push({ p: add(hl, [j * 1.4, j * 0.8, j * 1.6 * (K % 2 ? 1 : -1)]), ss: 'L' }); - chain.forEach(function (q, idx) { q.idx = idx; q.t = idx / (chain.length - 1); }); - - // smooth (Catmull-Rom) backbone for the ribbon - var back = [], sub_ = 4; - for (i = 0; i < chain.length - 1; i++) { - var p0 = chain[Math.max(0, i - 1)].p, p1 = chain[i].p, p2 = chain[i + 1].p, p3 = chain[Math.min(chain.length - 1, i + 2)].p; - for (var s = 0; s < sub_; s++) { - var t = s / sub_, t2 = t * t, t3 = t2 * t, pt = [0, 0, 0]; - for (var d = 0; d < 3; d++) pt[d] = 0.5 * ((2 * p1[d]) + (-p0[d] + p2[d]) * t + (2 * p0[d] - 5 * p1[d] + 4 * p2[d] - p3[d]) * t2 + (-p0[d] + 3 * p1[d] - 3 * p2[d] + p3[d]) * t3); - var near = t < 0.5 ? chain[i] : chain[i + 1]; - back.push({ p: pt, ss: near.ss, t: chain[i].t + (chain[i + 1].t - chain[i].t) * t }); - } - } - back.push({ p: chain[chain.length - 1].p, ss: chain[chain.length - 1].ss, t: 1 }); - - // ligand: fused bicyclic core + anilino group + alkoxy tail (illustrative, EGFR-inhibitor-like) - var atoms = [], bonds = []; - function hex(cx, cy, a0) { var o = []; for (var k = 0; k < 6; k++) { var a = a0 + k * Math.PI / 3; o.push([cx + 1.4 * Math.cos(a), cy + 1.4 * Math.sin(a), 0]); } return o; } - var ring1 = hex(-1.21, 0, Math.PI / 6), ring2 = hex(1.21, 0, Math.PI / 6 + Math.PI); - function at(el, p) { atoms.push({ el: el, p: p }); return atoms.length - 1; } - // ring1 (benzo): vertices 0..5 at 30,90,150,210,270,330 degrees around (-1.21,0) - var i1 = ring1.map(function (p) { return at('C', p); }); - // ring2 (pyrimidine): vertices at 210.. around (1.21,0); share two atoms with ring1 -> skip duplicates - var seen = {}; - ring1.forEach(function (p) { seen[Math.round(p[0] * 10) + ',' + Math.round(p[1] * 10)] = true; }); - var i2 = []; - ring2.forEach(function (p, k) { - var key = Math.round(p[0] * 10) + ',' + Math.round(p[1] * 10); - if (seen[key]) return; - i2.push(at(k === 3 || k === 5 ? 'N' : 'C', p)); - }); - var oPos = [-1.21 - 2.8, 0, 0.2], o = at('O', oPos); - var e1 = at('C', [oPos[0] - 0.9, 1.2, 0.5]), e2 = at('C', [oPos[0] - 2.3, 1.0, 0.7]); - var top = ring2.filter(function (p, k) { return Math.abs(p[1] - 1.212) < 0.05 || true; }).reduce(function (a, p) { return p[1] > a[1] ? p : a; }, [0, -9, 0]); - var nAm = at('N', add(top, [0.3, 1.35, 0.3])); - var d = norm([0.55, 0.85, 0.25]), ip = add(atoms[nAm].p, mul(d, 1.4)), ring3c = add(ip, mul(d, 1.4)), a0 = Math.atan2(d[1], d[0]) + Math.PI; - var ring3 = []; - for (var k = 0; k < 6; k++) { var aa = a0 + k * Math.PI / 3; ring3.push(at('C', [ring3c[0] + 1.4 * Math.cos(aa), ring3c[1] + 1.4 * Math.sin(aa), ring3c[2] + 0.35 * Math.sin(k)])); } - var clDir = norm(sub(atoms[ring3[2]].p, ring3c)), cl = at('Cl', add(atoms[ring3[2]].p, mul(clDir, 1.75))); - // centre the ligand - var cen = [0, 0, 0]; atoms.forEach(function (a) { cen = add(cen, a.p); }); cen = mul(cen, 1 / atoms.length); - atoms.forEach(function (a) { a.p = sub(a.p, cen); }); - for (i = 0; i < atoms.length; i++) for (j = i + 1; j < atoms.length; j++) if (dist(atoms[i].p, atoms[j].p) < 1.72) bonds.push([i, j]); - - // pocket residues: helix residues whose side chain points to the cavity - var pocket = []; - helices.forEach(function (h, hi) { - var best = null; - h.forEach(function (q, jj) { - var inward = -Math.cos(q.th); - var score = inward - Math.abs(q.p[2]) * 0.05; - if (jj > 2 && jj < n - 3 && (!best || score > best.score)) best = { q: q, score: score, jj: jj }; - }); - pocket.push({ q: best.q, hi: hi, idx: chain.indexOf(best.q) }); - }); - // two ligand atoms form hydrogen bonds; other residues make hydrophobic contacts - var nHinge = i2.filter(function (id) { return atoms[id].el === 'N'; })[0]; - var contacts = [{ atom: nHinge, type: 'hbond', d: 2.9, note: 'hinge' }, { atom: nAm, type: 'hbond', d: 3.1, note: 'gatekeeper' }]; - pocket.forEach(function (pk, k) { - pk.name = RESNAMES[(k * 3 + 4) % RESNAMES.length]; if (k < 2) pk.name = ['MET 793', 'THR 790'][k]; - var inward = norm([-pk.q.u[0], -pk.q.u[1], 0]); - if (k < 2) { - var la = atoms[contacts[k].atom].p, out = norm(la); - pk.tip = add(la, mul(out, contacts[k].d)); pk.type = 'hbond'; pk.d = contacts[k].d; pk.note = contacts[k].note; pk.atom = contacts[k].atom; - } else { - pk.tip = add(pk.q.p, add(mul(inward, 4.3), [0, 0, (k % 2 ? 1 : -1) * 0.8])); - pk.type = 'vdw'; pk.d = [3.6, 3.9, 4.1, 3.7][(k - 2) % 4]; pk.note = 'hydrophobic'; - } - }); - return { back: back, chain: chain, atoms: atoms, bonds: bonds, pocket: pocket, ligandCenterShift: cen }; - } - - function proteinScene(model, st) { - var sc = { atoms: [], bonds: [], ribbons: [], polys: [], lines: [], labels: [] }, i; - var pts = model.back.map(function (q) { - var col = st.color === 'rainbow' ? hsl(Math.round(240 - q.t * 240), 78, 52) : (q.ss === 'H' ? '#e0605c' : '#9aa5b5'); - return { p: q.p, c: col, w: q.ss === 'H' ? 0.8 : 0.32 }; - }); - sc.ribbons.push({ pts: pts }); - if (st.ligand) { - model.atoms.forEach(function (a) { sc.atoms.push({ p: a.p, r: a.el === 'Cl' ? 0.9 : 0.62, c: EL[a.el] }); }); - model.bonds.forEach(function (b) { var A = model.atoms[b[0]], B = model.atoms[b[1]]; sc.bonds.push({ a: A.p, b: B.p, w: 0.28, c1: EL[A.el], c2: EL[B.el] }); }); - } - if (st.pocket) model.pocket.forEach(function (pk, k) { - var sel = st.sel === k, base = pk.q.p, mid = lerp(base, pk.tip, 0.5); - var wob = add(mid, [0.6 * Math.sin(k), 0.6 * Math.cos(k), 0.5]); - var col = sel ? '#f59e0b' : '#b45cf0'; - sc.bonds.push({ a: base, b: wob, w: sel ? 0.34 : 0.24, c1: col }); - sc.bonds.push({ a: wob, b: pk.tip, w: sel ? 0.34 : 0.24, c1: col, c2: pk.type === 'hbond' ? EL.N : col }); - sc.atoms.push({ p: pk.tip, r: sel ? 0.55 : 0.4, c: col }); - sc.labels.push({ p: add(pk.q.p, [0, 1.6, 0]), t: pk.name, c: sel ? '#b45309' : null }); - }); - if (st.ligand && st.contacts) model.pocket.forEach(function (pk) { - if (pk.type !== 'hbond') return; - var la = model.atoms[pk.atom].p; sc.lines.push({ a: la, b: pk.tip, c: '#eab308', dash: [4, 3], w: 1.6 }); - sc.labels.push({ p: lerp(la, pk.tip, 0.5), t: pk.d.toFixed(1) + ' Å', c: '#a16207' }); - }); - return sc; - } - - function pdbText(model) { - var out = ['REMARK Illustrative pocket model generated for the demo (not an experimental structure)'], n = 1; - function f(v, w, d) { return (v >= 0 ? ' ' : '') && v.toFixed(d).padStart(w); } - model.pocket.forEach(function (pk, k) { - var nm = pk.name.split(' '); - out.push('ATOM ' + String(n++).padStart(5) + ' CA ' + nm[0].padEnd(3) + ' A' + nm[1].padStart(4) + ' ' + f(pk.q.p[0], 8, 3) + f(pk.q.p[1], 8, 3) + f(pk.q.p[2], 8, 3) + ' 1.00 20.00 C'); - }); - model.atoms.forEach(function (a, i) { - out.push('HETATM' + String(n++).padStart(5) + ' ' + (a.el + (i + 1)).padEnd(4) + ' LIG B 1 ' + f(a.p[0], 8, 3) + f(a.p[1], 8, 3) + f(a.p[2], 8, 3) + ' 1.00 20.00' + a.el.padStart(12)); - }); - out.push('END'); - return out.join('\n'); - } - - /* ------------------------------------------------------------------ crystal (cubic ABX3 perovskite, CsPbI3) */ - var CRY = { Cs: '#14b8c4', Pb: '#6b7686', I: '#a855f7' }; - function buildCrystal(n, a) { - var atoms = [], key = {}, i, j, k; - function put(el, x, y, z) { - var id = el + x.toFixed(2) + ',' + y.toFixed(2) + ',' + z.toFixed(2); - if (key[id]) return; key[id] = 1; atoms.push({ el: el, p: [x * a, y * a, z * a], f: [x, y, z] }); - } - for (i = 0; i <= n; i++) for (j = 0; j <= n; j++) for (k = 0; k <= n; k++) put('Cs', i, j, k); - for (i = 0; i < n; i++) for (j = 0; j < n; j++) for (k = 0; k < n; k++) { - put('Pb', i + .5, j + .5, k + .5); - put('I', i + .5, j + .5, k); put('I', i + .5, j + .5, k + 1); - put('I', i + .5, j, k + .5); put('I', i + .5, j + 1, k + .5); - put('I', i, j + .5, k + .5); put('I', i + 1, j + .5, k + .5); - } - return atoms; - } - function crystalScene(n, a, st) { - var atoms = buildCrystal(n, a), sc = { atoms: [], bonds: [], ribbons: [], polys: [], lines: [], labels: [] }; - var half = n * a / 2, shift = [half, half, half], R = { Cs: 1.9, Pb: 1.2, I: 1.35 }, pbs = [], is = []; - atoms.forEach(function (at) { - var p = sub(at.p, shift); - sc.atoms.push({ p: p, r: R[at.el] * (st.spacefill ? 1 : 0.55), c: CRY[at.el] }); - if (at.el === 'Pb') pbs.push(p); else if (at.el === 'I') is.push(p); - }); - var half2 = a / 2 * 1.05; - pbs.forEach(function (pb) { - var nb = is.filter(function (q) { return dist(pb, q) < half2; }); - if (st.bonds) nb.forEach(function (q) { sc.bonds.push({ a: pb, b: q, w: 0.22, c1: CRY.Pb, c2: CRY.I }); }); - if (st.octa && nb.length === 6) { - for (var i = 0; i < 6; i++) for (var j = i + 1; j < 6; j++) for (var k = j + 1; k < 6; k++) { - var A = sub(nb[i], pb), B = sub(nb[j], pb), C = sub(nb[k], pb); - // a face joins three mutually adjacent (orthogonal) vertices - if (Math.abs(A[0] * B[0] + A[1] * B[1] + A[2] * B[2]) < 1e-3 && Math.abs(A[0] * C[0] + A[1] * C[1] + A[2] * C[2]) < 1e-3 && Math.abs(B[0] * C[0] + B[1] * C[1] + B[2] * C[2]) < 1e-3) - sc.polys.push({ pts: [nb[i], nb[j], nb[k]], c: '#a855f7', a: 0.13 }); - } - } - }); - if (st.cell) { - var s = n * a / 2, c = [[-s, -s, -s], [s, -s, -s], [s, s, -s], [-s, s, -s], [-s, -s, s], [s, -s, s], [s, s, s], [-s, s, s]]; - [[0, 1], [1, 2], [2, 3], [3, 0], [4, 5], [5, 6], [6, 7], [7, 4], [0, 4], [1, 5], [2, 6], [3, 7]].forEach(function (e) { sc.lines.push({ a: c[e[0]], b: c[e[1]], c: '#3b82f6', w: 1.3, alpha: 0.85 }); }); - } - return { scene: sc, half: half }; - } - function cifText(n, a) { - return ['data_CsPbI3_cubic', '_symmetry_space_group_name_H-M \'P m -3 m\'', '_cell_length_a ' + a.toFixed(3), '_cell_length_b ' + a.toFixed(3), '_cell_length_c ' + a.toFixed(3), - '_cell_angle_alpha 90', '_cell_angle_beta 90', '_cell_angle_gamma 90', 'loop_', ' _atom_site_label', ' _atom_site_type_symbol', ' _atom_site_fract_x', ' _atom_site_fract_y', ' _atom_site_fract_z', - ' Cs1 Cs 0.0 0.0 0.0', ' Pb1 Pb 0.5 0.5 0.5', ' I1 I 0.5 0.5 0.0', ' I2 I 0.5 0.0 0.5', ' I3 I 0.0 0.5 0.5'].join('\n'); - } - - /* ------------------------------------------------------------------ SVG plots */ - function el(tag, attrs, parent, text) { - var n = document.createElementNS(NS, tag); - for (var k in attrs) n.setAttribute(k, attrs[k]); - if (text != null) n.textContent = text; - if (parent) parent.appendChild(n); - return n; - } - var GENES = ['IFNG', 'STAT1', 'CXCL10', 'IRF1', 'GBP1', 'HLA-DRA', 'CD74', 'ALB', 'CYP3A4', 'SERPINA1', 'APOA1', 'TTR', 'FGB', 'HP', 'MT1G', 'CCL5', 'PTPRC', 'CD8A', 'LYZ', 'C3']; - - function volcanoData() { - var r = rng(42), d = [], i; - for (i = 0; i < 640; i++) { - var fc = gauss(r) * 0.9, sig = Math.abs(fc) * (1.1 + r() * 1.1) + r() * 0.9; - d.push({ g: i < GENES.length ? GENES[i] : 'G' + (1000 + i), fc: fc + (i < 10 ? 1.6 + r() : (i < GENES.length ? -1.5 - r() : 0)), y: (i < GENES.length ? 3 + r() * 5 : sig) }); - } - return d; - } - function drawVolcano(svg, data, th, onHover, onPick) { - while (svg.firstChild) svg.removeChild(svg.firstChild); - var W = 560, H = 300, L = 44, B = 34, T = 12, Rr = 14, xs = 4.5, ymax = 9; - function X(v) { return L + (v + xs) / (2 * xs) * (W - L - Rr); } - function Y(v) { return H - B - v / ymax * (H - B - T); } - var g; - [0, 2, 4, 6, 8].forEach(function (v) { el('line', { x1: L, x2: W - Rr, y1: Y(v), y2: Y(v), 'class': 'g-grid' }, svg); el('text', { x: L - 6, y: Y(v) + 3, 'text-anchor': 'end', 'class': 'g-axis' }, svg, v); }); - [-4, -2, 0, 2, 4].forEach(function (v) { el('line', { x1: X(v), x2: X(v), y1: T, y2: H - B, 'class': 'g-grid' }, svg); el('text', { x: X(v), y: H - B + 14, 'text-anchor': 'middle', 'class': 'g-axis' }, svg, v); }); - el('text', { x: (L + W - Rr) / 2, y: H - 6, 'text-anchor': 'middle', 'class': 'g-axis' }, svg, 'log₂ fold change (adult vs paediatric)'); - var yl = el('text', { x: 12, y: (T + H - B) / 2, 'text-anchor': 'middle', 'class': 'g-axis', transform: 'rotate(-90 12 ' + ((T + H - B) / 2) + ')' }, svg, '−log₁₀ p'); - el('line', { x1: X(th.fc), x2: X(th.fc), y1: T, y2: H - B, 'class': 'g-base' }, svg); el('line', { x1: X(-th.fc), x2: X(-th.fc), y1: T, y2: H - B, 'class': 'g-base' }, svg); - el('line', { x1: L, x2: W - Rr, y1: Y(th.p), y2: Y(th.p), 'class': 'g-base' }, svg); - var up = 0, down = 0; - data.forEach(function (d) { - var hit = d.y >= th.p && Math.abs(d.fc) >= th.fc, col = !hit ? '#98a2b3' : d.fc > 0 ? '#e0605c' : '#3b82f6'; - if (hit) { if (d.fc > 0) up++; else down++; } - var c = el('circle', { cx: X(Math.max(-xs + .1, Math.min(xs - .1, d.fc))), cy: Y(Math.min(ymax - .1, d.y)), r: hit ? 3.4 : 2.2, fill: col, opacity: hit ? 0.9 : 0.5, style: 'cursor:pointer' }, svg); - c.addEventListener('mouseenter', function () { onHover(d, hit); }); c.addEventListener('click', function () { onPick(d, hit); }); - }); - data.slice(0, 8).forEach(function (d) { - if (d.y >= th.p && Math.abs(d.fc) >= th.fc) el('text', { x: X(d.fc) + (d.fc > 0 ? 6 : -6), y: Y(Math.min(ymax - .3, d.y)) + 3, 'text-anchor': d.fc > 0 ? 'start' : 'end', 'class': 'g-lbl' }, svg, d.g); - }); - return { up: up, down: down }; - } - - function drawHeatmap(svg, onHover) { - while (svg.firstChild) svg.removeChild(svg.firstChild); - var genes = ['IFNG', 'STAT1', 'CXCL10', 'IRF1', 'GBP1', 'CD74', 'ALB', 'CYP3A4', 'SERPINA1', 'APOA1', 'TTR', 'HP'], r = rng(5), cols = 10, cw = 34, ch = 19, L = 84, T = 34, i, j; - for (j = 0; j < cols; j++) el('text', { x: L + j * cw + cw / 2, y: T - 8, 'text-anchor': 'middle', 'class': 'g-axis' }, svg, (j < 5 ? 'A' : 'P') + (j % 5 + 1)); - el('rect', { x: L, y: 6, width: cw * 5 - 3, height: 4, rx: 2, fill: '#e0605c' }, svg); el('rect', { x: L + cw * 5, y: 6, width: cw * 5 - 3, height: 4, rx: 2, fill: '#3b82f6' }, svg); - el('text', { x: L + cw * 2.5, y: 22, 'text-anchor': 'middle', 'class': 'g-axis' }, svg, 'adult'); el('text', { x: L + cw * 7.5, y: 22, 'text-anchor': 'middle', 'class': 'g-axis' }, svg, 'paediatric'); - function color(z) { // blue - white - red - var t = Math.max(-1, Math.min(1, z / 2)), a = Math.abs(t); - var c = t < 0 ? [59, 130, 246] : [224, 96, 92], w = 244; - return 'rgb(' + Math.round(w + (c[0] - w) * a) + ',' + Math.round(w + (c[1] - w) * a) + ',' + Math.round(w + (c[2] - w) * a) + ')'; - } - for (i = 0; i < genes.length; i++) { - el('text', { x: L - 8, y: T + i * ch + ch / 2 + 4, 'text-anchor': 'end', 'class': 'g-axis' }, svg, genes[i]); - var sign = i < 6 ? 1 : -1; - for (j = 0; j < cols; j++) { - var z = (j < 5 ? sign : -sign) * (0.9 + r() * 0.9) + gauss(r) * 0.35; - var rc = el('rect', { x: L + j * cw, y: T + i * ch, width: cw - 2, height: ch - 2, rx: 3, fill: color(z) }, svg); - (function (g, s, z) { rc.addEventListener('mouseenter', function () { onHover(g, s, z); }); })(genes[i], (j < 5 ? 'A' : 'P') + (j % 5 + 1), z); - } - } - // colour bar - for (i = 0; i < 9; i++) el('rect', { x: L + 300 - 0, y: 0, width: 0, height: 0 }, svg); - var lx = L + cols * cw + 14; - for (i = 0; i < 9; i++) el('rect', { x: lx, y: T + i * 12, width: 10, height: 12, fill: color(2 - i * 0.5) }, svg); - el('text', { x: lx + 15, y: T + 9, 'class': 'g-axis' }, svg, '+2'); el('text', { x: lx + 15, y: T + 9 * 12, 'class': 'g-axis' }, svg, '−2'); el('text', { x: lx, y: T - 8, 'class': 'g-axis' }, svg, 'z'); - } - - function xrdModel(a) { - var hkl = [[1, 0, 0, 100], [1, 1, 0, 55], [1, 1, 1, 12], [2, 0, 0, 40], [2, 1, 0, 8], [2, 1, 1, 22], [2, 2, 0, 16], [3, 0, 0, 6], [3, 1, 0, 10]], pk = []; - hkl.forEach(function (h) { - var dd = a / Math.sqrt(h[0] * h[0] + h[1] * h[1] + h[2] * h[2]), s = 1.5406 / (2 * dd); - if (s < 1) pk.push({ t: 2 * Math.asin(s) * 180 / Math.PI, i: h[3], l: '(' + h[0] + h[1] + h[2] + ')' }); - }); - return pk; - } - function drawXRD(svg, a, onHover) { - while (svg.firstChild) svg.removeChild(svg.firstChild); - var W = 560, H = 280, L = 40, B = 34, T = 14, Rr = 12, lo = 10, hi = 50, pk = xrdModel(a), r = rng(3), pts = [], x, i; - function X(v) { return L + (v - lo) / (hi - lo) * (W - L - Rr); } - function Y(v) { return H - B - v / 118 * (H - B - T); } - [10, 20, 30, 40, 50].forEach(function (v) { el('line', { x1: X(v), x2: X(v), y1: T, y2: H - B, 'class': 'g-grid' }, svg); el('text', { x: X(v), y: H - B + 14, 'text-anchor': 'middle', 'class': 'g-axis' }, svg, v); }); - el('text', { x: (L + W - Rr) / 2, y: H - 6, 'text-anchor': 'middle', 'class': 'g-axis' }, svg, '2θ (°, Cu Kα)'); - var vals = []; - for (x = lo; x <= hi; x += 0.05) { - var y = 4 + r() * 1.6; - pk.forEach(function (p) { var d = (x - p.t) / 0.13; y += p.i * Math.exp(-0.5 * d * d); }); - vals.push([x, y]); - } - var d = 'M' + vals.map(function (v) { return X(v[0]).toFixed(1) + ' ' + Y(v[1]).toFixed(1); }).join(' L'); - el('path', { d: d + ' L' + X(hi) + ' ' + Y(0) + ' L' + X(lo) + ' ' + Y(0) + ' Z', fill: 'var(--accent)', opacity: .14 }, svg); - el('path', { d: d, fill: 'none', stroke: 'var(--accent)', 'stroke-width': 1.5 }, svg); - pk.forEach(function (p) { if (p.t < hi) { el('text', { x: X(p.t), y: Y(p.i + 6) - 4, 'text-anchor': 'middle', 'class': 'g-lbl' }, svg, p.l); } }); - var cross = el('line', { x1: 0, x2: 0, y1: T, y2: H - B, stroke: 'var(--text-faint)', 'stroke-dasharray': '3 3', opacity: 0 }, svg); - var hit = el('rect', { x: L, y: T, width: W - L - Rr, height: H - B - T, fill: 'transparent' }, svg); - hit.addEventListener('mousemove', function (e) { - var box = svg.getBoundingClientRect(), px = (e.clientX - box.left) / box.width * W, t = lo + (px - L) / (W - L - Rr) * (hi - lo); - var yy = 4; pk.forEach(function (p) { var dd = (t - p.t) / 0.13; yy += p.i * Math.exp(-0.5 * dd * dd); }); - cross.setAttribute('x1', px); cross.setAttribute('x2', px); cross.setAttribute('opacity', 1); onHover(t, yy, pk); - }); - hit.addEventListener('mouseleave', function () { cross.setAttribute('opacity', 0); }); - return pk; - } - - window.SDViz = { - Viewer: Viewer, buildProtein: buildProtein, proteinScene: proteinScene, pdbText: pdbText, - crystalScene: crystalScene, cifText: cifText, volcanoData: volcanoData, drawVolcano: drawVolcano, - drawHeatmap: drawHeatmap, drawXRD: drawXRD, xrdModel: xrdModel - }; -})();