[
  {
    "path": ".dockerignore",
    "content": ".dockerignore\ndocker/Dockerfile\n"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "# How to Contribute\n\nWe welcome small patches related to bug fixes and documentation, but we do not\nplan to make any major changes to this repository.\n\n## Contributor License Agreement\n\nContributions to this project must be accompanied by a Contributor License\nAgreement. You (or your employer) retain the copyright to your contribution,\nthis simply gives us permission to use and redistribute your contributions as\npart of the project. Head over to <https://cla.developers.google.com/> to see\nyour current agreements on file or to sign a new one.\n\nYou generally only need to submit a CLA once, so if you've already submitted one\n(even if it was for a different project), you probably don't need to do it\nagain.\n\n## Code reviews\n\nAll submissions, including submissions by project members, require review. We\nuse GitHub pull requests for this purpose. Consult\n[GitHub Help](https://help.github.com/articles/about-pull-requests/) for more\ninformation on using pull requests.\n"
  },
  {
    "path": "LICENSE",
    "content": "\n                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"[]\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright [yyyy] [name of copyright owner]\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n"
  },
  {
    "path": "README.md",
    "content": "![header](imgs/header.jpg)\n\n# AlphaFold\n\nThis package provides an implementation of the inference pipeline of AlphaFold\nv2. For simplicity, we refer to this model as AlphaFold throughout the rest of\nthis document.\n\nWe also provide:\n\n1.  An implementation of AlphaFold-Multimer. This represents a work in progress\n    and AlphaFold-Multimer isn't expected to be as stable as our monomer\n    AlphaFold system. [Read the guide](#updating-existing-installation) for how\n    to upgrade and update code.\n2.  The [technical note](docs/technical_note_v2.3.0.md) containing the models\n    and inference procedure for an updated AlphaFold v2.3.0.\n3.  A [CASP15 baseline](docs/casp15_predictions.zip) set of predictions along\n    with documentation of any manual interventions performed.\n\nAny publication that discloses findings arising from using this source code or\nthe model parameters should [cite](#citing-this-work) the\n[AlphaFold paper](https://doi.org/10.1038/s41586-021-03819-2) and, if\napplicable, the\n[AlphaFold-Multimer paper](https://www.biorxiv.org/content/10.1101/2021.10.04.463034v1).\n\nPlease also refer to the\n[Supplementary Information](https://static-content.springer.com/esm/art%3A10.1038%2Fs41586-021-03819-2/MediaObjects/41586_2021_3819_MOESM1_ESM.pdf)\nfor a detailed description of the method.\n\n**You can use a slightly simplified version of AlphaFold with\ncommunity-supported versions (see below).\n\nIf you have any questions, please contact the AlphaFold team at\n[alphafold@deepmind.com](mailto:alphafold@deepmind.com).\n\n![CASP14 predictions](imgs/casp14_predictions.gif)\n\n## Installation and running your first prediction\n\nYou will need a machine running Linux, AlphaFold does not support other\noperating systems. Full installation requires up to 3 TB of disk space to keep\ngenetic databases (SSD storage is recommended) and a modern NVIDIA GPU (GPUs\nwith more memory can predict larger protein structures).\n\nPlease follow these steps:\n\n1.  Install [Docker](https://www.docker.com/).\n\n    *   Install\n        [NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html)\n        for GPU support.\n    *   Setup running\n        [Docker as a non-root user](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user).\n\n1.  Clone this repository and `cd` into it.\n\n    ```bash\n    git clone https://github.com/deepmind/alphafold.git\n    cd ./alphafold\n    ```\n\n1.  Download genetic databases and model parameters:\n\n    *   Install `aria2c`. On most Linux distributions it is available via the\n        package manager as the `aria2` package (on Debian-based distributions\n        this can be installed by running `sudo apt install aria2`).\n        Same for `rsync`.\n\n    *   Please use the script `scripts/download_all_data.sh` to download and set\n        up full databases. This may take substantial time (download size is 556\n        GB), so we recommend running this script in the background:\n\n    ```bash\n    scripts/download_all_data.sh <DOWNLOAD_DIR> > download.log 2> download_all.log &\n    ```\n\n    *   **Note: The download directory `<DOWNLOAD_DIR>` should *not* be a\n        subdirectory in the AlphaFold repository directory.** If it is, the\n        Docker build will be slow as the large databases will be copied into the\n        docker build context.\n\n    *   It is possible to run AlphaFold with reduced databases; please refer to\n        the [complete documentation](#genetic-databases).\n\n1.  Check that AlphaFold will be able to use a GPU by running:\n\n    ```bash\n    docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi\n    ```\n\n    The output of this command should show a list of your GPUs. If it doesn't,\n    check if you followed all steps correctly when setting up the\n    [NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html)\n    or take a look at the following\n    [NVIDIA Docker issue](https://github.com/NVIDIA/nvidia-docker/issues/1447#issuecomment-801479573).\n\n    If you wish to run AlphaFold using Singularity (a common containerization\n    platform on HPC systems) we recommend using some of the third party\n    Singularity setups as linked in\n    https://github.com/deepmind/alphafold/issues/10 or\n    https://github.com/deepmind/alphafold/issues/24.\n\n1.  Build the Docker image:\n\n    ```bash\n    docker build -f docker/Dockerfile -t alphafold .\n    ```\n\n    If you encounter the following error:\n\n    ```\n    W: GPG error: https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A4B469963BF863CC\n    E: The repository 'https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 InRelease' is not signed.\n    ```\n\n    use the workaround described in\n    https://github.com/deepmind/alphafold/issues/463#issuecomment-1124881779.\n\n1.  Install the `run_docker.py` dependencies. Note: You may optionally wish to\n    create a\n    [Python Virtual Environment](https://docs.python.org/3/tutorial/venv.html)\n    to prevent conflicts with your system's Python environment.\n\n    ```bash\n    pip3 install -r docker/requirements.txt\n    ```\n\n1.  Make sure that the output directory exists (the default is `/tmp/alphafold`)\n    and that you have sufficient permissions to write into it.\n\n1.  Run `run_docker.py` pointing to a FASTA file containing the protein\n    sequence(s) for which you wish to predict the structure (`--fasta_paths`\n    parameter). AlphaFold will search for the available templates before the\n    date specified by the `--max_template_date` parameter; this could be used to\n    avoid certain templates during modeling. `--data_dir` is the directory with\n    downloaded genetic databases and `--output_dir` is the absolute path to the\n    output directory.\n\n    ```bash\n    python3 docker/run_docker.py \\\n      --fasta_paths=your_protein.fasta \\\n      --max_template_date=2022-01-01 \\\n      --data_dir=$DOWNLOAD_DIR \\\n      --output_dir=/home/user/absolute_path_to_the_output_dir\n    ```\n\n1.  Once the run is over, the output directory shall contain predicted\n    structures of the target protein. Please check the documentation below for\n    additional options and troubleshooting tips.\n\n### Genetic databases\n\nThis step requires `aria2c` to be installed on your machine.\n\nAlphaFold needs multiple genetic (sequence) databases to run:\n\n*   [BFD](https://bfd.mmseqs.com/),\n*   [MGnify](https://www.ebi.ac.uk/metagenomics/),\n*   [PDB70](http://wwwuser.gwdg.de/~compbiol/data/hhsuite/databases/hhsuite_dbs/),\n*   [PDB](https://www.rcsb.org/) (structures in the mmCIF format),\n*   [PDB seqres](https://www.rcsb.org/) – only for AlphaFold-Multimer,\n*   [UniRef30 (FKA UniClust30)](https://uniclust.mmseqs.com/),\n*   [UniProt](https://www.uniprot.org/uniprot/) – only for AlphaFold-Multimer,\n*   [UniRef90](https://www.uniprot.org/help/uniref).\n\nWe provide a script `scripts/download_all_data.sh` that can be used to download\nand set up all of these databases:\n\n*   Recommended default:\n\n    ```bash\n    scripts/download_all_data.sh <DOWNLOAD_DIR>\n    ```\n\n    will download the full databases.\n\n*   With `reduced_dbs` parameter:\n\n    ```bash\n    scripts/download_all_data.sh <DOWNLOAD_DIR> reduced_dbs\n    ```\n\n    will download a reduced version of the databases to be used with the\n    `reduced_dbs` database preset. This shall be used with the corresponding\n    AlphaFold parameter `--db_preset=reduced_dbs` later during the AlphaFold run\n    (please see [AlphaFold parameters](#running-alphafold) section).\n\n:ledger: **Note: The download directory `<DOWNLOAD_DIR>` should *not* be a\nsubdirectory in the AlphaFold repository directory.** If it is, the Docker build\nwill be slow as the large databases will be copied during the image creation.\n\nWe don't provide exactly the database versions used in CASP14 – see the\n[note on reproducibility](#note-on-casp14-reproducibility). Some of the\ndatabases are mirrored for speed, see [mirrored databases](#mirrored-databases).\n\n:ledger: **Note: The total download size for the full databases is around 556 GB\nand the total size when unzipped is 2.62 TB. Please make sure you have a large\nenough hard drive space, bandwidth and time to download. We recommend using an\nSSD for better genetic search performance.**\n\n:ledger: **Note: If the download directory and datasets don't have full read and\nwrite permissions, it can cause errors with the MSA tools, with opaque\n(external) error messages. Please ensure the required permissions are applied,\ne.g. with the `sudo chmod 755 --recursive \"$DOWNLOAD_DIR\"` command.**\n\nThe `download_all_data.sh` script will also download the model parameter files.\nOnce the script has finished, you should have the following directory structure:\n\n```\n$DOWNLOAD_DIR/                             # Total: ~ 2.62 TB (download: 556 GB)\n    bfd/                                   # ~ 1.8 TB (download: 271.6 GB)\n        # 6 files.\n    mgnify/                                # ~ 120 GB (download: 67 GB)\n        mgy_clusters_2022_05.fa\n    params/                                # ~ 5.3 GB (download: 5.3 GB)\n        # 5 CASP14 models,\n        # 5 pTM models,\n        # 5 AlphaFold-Multimer models,\n        # LICENSE,\n        # = 16 files.\n    pdb70/                                 # ~ 56 GB (download: 19.5 GB)\n        # 9 files.\n    pdb_mmcif/                             # ~ 238 GB (download: 43 GB)\n        mmcif_files/\n            # About 199,000 .cif files.\n        obsolete.dat\n    pdb_seqres/                            # ~ 0.2 GB (download: 0.2 GB)\n        pdb_seqres.txt\n    small_bfd/                             # ~ 17 GB (download: 9.6 GB)\n        bfd-first_non_consensus_sequences.fasta\n    uniref30/                              # ~ 206 GB (download: 52.5 GB)\n        # 7 files.\n    uniprot/                               # ~ 105 GB (download: 53 GB)\n        uniprot.fasta\n    uniref90/                              # ~ 67 GB (download: 34 GB)\n        uniref90.fasta\n```\n\n`bfd/` is only downloaded if you download the full databases, and `small_bfd/`\nis only downloaded if you download the reduced databases.\n\n### Model parameters\n\nWhile the AlphaFold code is licensed under the Apache 2.0 License, the AlphaFold\nparameters and CASP15 prediction data are made available under the terms of the\nCC BY 4.0 license. Please see the [Disclaimer](#license-and-disclaimer) below\nfor more detail.\n\nThe AlphaFold parameters are available from\nhttps://storage.googleapis.com/alphafold/alphafold_params_2022-12-06.tar, and\nare downloaded as part of the `scripts/download_all_data.sh` script. This script\nwill download parameters for:\n\n*   5 models which were used during CASP14, and were extensively validated for\n    structure prediction quality (see Jumper et al. 2021, Suppl. Methods 1.12\n    for details).\n*   5 pTM models, which were fine-tuned to produce pTM (predicted TM-score) and\n    (PAE) predicted aligned error values alongside their structure predictions\n    (see Jumper et al. 2021, Suppl. Methods 1.9.7 for details).\n*   5 AlphaFold-Multimer models that produce pTM and PAE values alongside their\n    structure predictions.\n\n### Updating existing installation\n\nIf you have a previous version you can either reinstall fully from scratch\n(remove everything and run the setup from scratch) or you can do an incremental\nupdate that will be significantly faster but will require a bit more work. Make\nsure you follow these steps in the exact order they are listed below:\n\n1.  **Update the code.**\n    *   Go to the directory with the cloned AlphaFold repository and run `git\n        fetch origin main` to get all code updates.\n1.  **Update the UniProt, UniRef, MGnify and PDB seqres databases.**\n    *   Remove `<DOWNLOAD_DIR>/uniprot`.\n    *   Run `scripts/download_uniprot.sh <DOWNLOAD_DIR>`.\n    *   Remove `<DOWNLOAD_DIR>/uniclust30`.\n    *   Run `scripts/download_uniref30.sh <DOWNLOAD_DIR>`.\n    *   Remove `<DOWNLOAD_DIR>/uniref90`.\n    *   Run `scripts/download_uniref90.sh <DOWNLOAD_DIR>`.\n    *   Remove `<DOWNLOAD_DIR>/mgnify`.\n    *   Run `scripts/download_mgnify.sh <DOWNLOAD_DIR>`.\n    *   Remove `<DOWNLOAD_DIR>/pdb_mmcif`. It is needed to have PDB SeqRes and\n        PDB from exactly the same date. Failure to do this step will result in\n        potential errors when searching for templates when running\n        AlphaFold-Multimer.\n    *   Run `scripts/download_pdb_mmcif.sh <DOWNLOAD_DIR>`.\n    *   Run `scripts/download_pdb_seqres.sh <DOWNLOAD_DIR>`.\n1.  **Update the model parameters.**\n    *   Remove the old model parameters in `<DOWNLOAD_DIR>/params`.\n    *   Download new model parameters using\n        `scripts/download_alphafold_params.sh <DOWNLOAD_DIR>`.\n1.  **Follow [Running AlphaFold](#running-alphafold).**\n\n#### Using deprecated model weights\n\nTo use the deprecated v2.2.0 AlphaFold-Multimer model weights:\n\n1.  Change `SOURCE_URL` in `scripts/download_alphafold_params.sh` to\n    `https://storage.googleapis.com/alphafold/alphafold_params_2022-03-02.tar`,\n    and download the old parameters.\n2.  Change the `_v3` to `_v2` in the multimer `MODEL_PRESETS` in `config.py`.\n\nTo use the deprecated v2.1.0 AlphaFold-Multimer model weights:\n\n1.  Change `SOURCE_URL` in `scripts/download_alphafold_params.sh` to\n    `https://storage.googleapis.com/alphafold/alphafold_params_2022-01-19.tar`,\n    and download the old parameters.\n2.  Remove the `_v3` in the multimer `MODEL_PRESETS` in `config.py`.\n\n## Running AlphaFold\n\n**The simplest way to run AlphaFold is using the provided Docker script.** This\nwas tested on Google Cloud with a machine using the `nvidia-gpu-cloud-image`\nwith 12 vCPUs, 85 GB of RAM, a 100 GB boot disk, the databases on an additional\n3 TB disk, and an A100 GPU. For your first run, please follow the instructions\nfrom\n[Installation and running your first prediction](#installation-and-running-your-first-prediction)\nsection.\n\n1.  By default, Alphafold will attempt to use all visible GPU devices. To use a\n    subset, specify a comma-separated list of GPU UUID(s) or index(es) using the\n    `--gpu_devices` flag. See\n    [GPU enumeration](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/user-guide.html#gpu-enumeration)\n    for more details.\n\n1.  You can control which AlphaFold model to run by adding the `--model_preset=`\n    flag. We provide the following models:\n\n    *   **monomer**: This is the original model used at CASP14 with no\n        ensembling.\n\n    *   **monomer\\_casp14**: This is the original model used at CASP14 with\n        `num_ensemble=8`, matching our CASP14 configuration. This is largely\n        provided for reproducibility as it is 8x more computationally expensive\n        for limited accuracy gain (+0.1 average GDT gain on CASP14 domains).\n\n    *   **monomer\\_ptm**: This is the original CASP14 model fine tuned with the\n        pTM head, providing a pairwise confidence measure. It is slightly less\n        accurate than the normal monomer model.\n\n    *   **multimer**: This is the [AlphaFold-Multimer](#citing-this-work) model.\n        To use this model, provide a multi-sequence FASTA file. In addition, the\n        UniProt database should have been downloaded.\n\n1.  You can control MSA speed/quality tradeoff by adding\n    `--db_preset=reduced_dbs` or `--db_preset=full_dbs` to the run command. We\n    provide the following presets:\n\n    *   **reduced\\_dbs**: This preset is optimized for speed and lower hardware\n        requirements. It runs with a reduced version of the BFD database. It\n        requires 8 CPU cores (vCPUs), 8 GB of RAM, and 600 GB of disk space.\n\n    *   **full\\_dbs**: This runs with all genetic databases used at CASP14.\n\n    Running the command above with the `monomer` model preset and the\n    `reduced_dbs` data preset would look like this:\n\n    ```bash\n    python3 docker/run_docker.py \\\n      --fasta_paths=T1050.fasta \\\n      --max_template_date=2020-05-14 \\\n      --model_preset=monomer \\\n      --db_preset=reduced_dbs \\\n      --data_dir=$DOWNLOAD_DIR \\\n      --output_dir=/home/user/absolute_path_to_the_output_dir\n    ```\n\n1.  After generating the predicted model, AlphaFold runs a relaxation step to\n    improve local geometry. By default, only the best model (by pLDDT) is\n    relaxed (`--models_to_relax=best`), but also all of the models\n    (`--models_to_relax=all`) or none of the models (`--models_to_relax=none`)\n    can be relaxed.\n\n1.  The relaxation step can be run on GPU (faster, but could be less stable) or\n    CPU (slow, but stable). This can be controlled with\n    `--enable_gpu_relax=true` (default) or `--enable_gpu_relax=false`.\n\n1.  AlphaFold can reuse MSAs (multiple sequence alignments) for the same\n    sequence via `--use_precomputed_msas=true` option; this can be useful for\n    trying different AlphaFold parameters. This option assumes that the\n    directory structure generated by the first AlphaFold run in the output\n    directory exists and that the protein sequence is the same.\n\n### Running AlphaFold-Multimer\n\nAll steps are the same as when running the monomer system, but you will have to\n\n*   provide an input fasta with multiple sequences,\n*   set `--model_preset=multimer`,\n\nAn example that folds a protein complex `multimer.fasta`:\n\n```bash\npython3 docker/run_docker.py \\\n  --fasta_paths=multimer.fasta \\\n  --max_template_date=2020-05-14 \\\n  --model_preset=multimer \\\n  --data_dir=$DOWNLOAD_DIR \\\n  --output_dir=/home/user/absolute_path_to_the_output_dir\n```\n\nBy default the multimer system will run 5 seeds per model (25 total predictions)\nfor a small drop in accuracy you may wish to run a single seed per model. This\ncan be done via the `--num_multimer_predictions_per_model` flag, e.g. set it to\n`--num_multimer_predictions_per_model=1` to run a single seed per model.\n\n### AlphaFold prediction speed\n\nThe table below reports prediction runtimes for proteins of various lengths. We\nonly measure unrelaxed structure prediction with three recycles while excluding\nruntimes from MSA and template search. When running `docker/run_docker.py` with\n`--benchmark=true`, this runtime is stored in `timings.json`. All runtimes are\nfrom a single A100 NVIDIA GPU. Prediction speed on A100 for smaller structures\ncan be improved by increasing `global_config.subbatch_size` in\n`alphafold/model/config.py`.\n\nNo. residues | Prediction time (s)\n-----------: | ------------------:\n100          | 4.9\n200          | 7.7\n300          | 13\n400          | 18\n500          | 29\n600          | 36\n700          | 53\n800          | 60\n900          | 91\n1,000        | 96\n1,100        | 140\n1,500        | 280\n2,000        | 450\n2,500        | 969\n3,000        | 1,240\n3,500        | 2,465\n4,000        | 5,660\n4,500        | 12,475\n5,000        | 18,824\n\n### Examples\n\nBelow are examples on how to use AlphaFold in different scenarios.\n\n#### Folding a monomer\n\nSay we have a monomer with the sequence `<SEQUENCE>`. The input fasta should be:\n\n```fasta\n>sequence_name\n<SEQUENCE>\n```\n\nThen run the following command:\n\n```bash\npython3 docker/run_docker.py \\\n  --fasta_paths=monomer.fasta \\\n  --max_template_date=2021-11-01 \\\n  --model_preset=monomer \\\n  --data_dir=$DOWNLOAD_DIR \\\n  --output_dir=/home/user/absolute_path_to_the_output_dir\n```\n\n#### Folding a homomer\n\nSay we have a homomer with 3 copies of the same sequence `<SEQUENCE>`. The input\nfasta should be:\n\n```fasta\n>sequence_1\n<SEQUENCE>\n>sequence_2\n<SEQUENCE>\n>sequence_3\n<SEQUENCE>\n```\n\nThen run the following command:\n\n```bash\npython3 docker/run_docker.py \\\n  --fasta_paths=homomer.fasta \\\n  --max_template_date=2021-11-01 \\\n  --model_preset=multimer \\\n  --data_dir=$DOWNLOAD_DIR \\\n  --output_dir=/home/user/absolute_path_to_the_output_dir\n```\n\n#### Folding a heteromer\n\nSay we have an A2B3 heteromer, i.e. with 2 copies of `<SEQUENCE A>` and 3 copies\nof `<SEQUENCE B>`. The input fasta should be:\n\n```fasta\n>sequence_1\n<SEQUENCE A>\n>sequence_2\n<SEQUENCE A>\n>sequence_3\n<SEQUENCE B>\n>sequence_4\n<SEQUENCE B>\n>sequence_5\n<SEQUENCE B>\n```\n\nThen run the following command:\n\n```bash\npython3 docker/run_docker.py \\\n  --fasta_paths=heteromer.fasta \\\n  --max_template_date=2021-11-01 \\\n  --model_preset=multimer \\\n  --data_dir=$DOWNLOAD_DIR \\\n  --output_dir=/home/user/absolute_path_to_the_output_dir\n```\n\n#### Folding multiple monomers one after another\n\nSay we have a two monomers, `monomer1.fasta` and `monomer2.fasta`.\n\nWe can fold both sequentially by using the following command:\n\n```bash\npython3 docker/run_docker.py \\\n  --fasta_paths=monomer1.fasta,monomer2.fasta \\\n  --max_template_date=2021-11-01 \\\n  --model_preset=monomer \\\n  --data_dir=$DOWNLOAD_DIR \\\n  --output_dir=/home/user/absolute_path_to_the_output_dir\n```\n\n#### Folding multiple multimers one after another\n\nSay we have a two multimers, `multimer1.fasta` and `multimer2.fasta`.\n\nWe can fold both sequentially by using the following command:\n\n```bash\npython3 docker/run_docker.py \\\n  --fasta_paths=multimer1.fasta,multimer2.fasta \\\n  --max_template_date=2021-11-01 \\\n  --model_preset=multimer \\\n  --data_dir=$DOWNLOAD_DIR \\\n  --output_dir=/home/user/absolute_path_to_the_output_dir\n```\n\n### AlphaFold output\n\nThe outputs will be saved in a subdirectory of the directory provided via the\n`--output_dir` flag of `run_docker.py` (defaults to `/tmp/alphafold/`). The\noutputs include the computed MSAs, unrelaxed structures, relaxed structures,\nranked structures, raw model outputs, prediction metadata, and section timings.\nThe `--output_dir` directory will have the following structure:\n\n```\n<target_name>/\n    features.pkl\n    ranked_{0,1,2,3,4}.pdb\n    ranking_debug.json\n    relax_metrics.json\n    relaxed_model_{1,2,3,4,5}.pdb\n    result_model_{1,2,3,4,5}.pkl\n    timings.json\n    unrelaxed_model_{1,2,3,4,5}.pdb\n    msas/\n        bfd_uniref_hits.a3m\n        mgnify_hits.sto\n        uniref90_hits.sto\n```\n\nThe contents of each output file are as follows:\n\n*   `features.pkl` – A `pickle` file containing the input feature NumPy arrays\n    used by the models to produce the structures.\n*   `unrelaxed_model_*.pdb` – A PDB format text file containing the predicted\n    structure, exactly as outputted by the model.\n*   `relaxed_model_*.pdb` – A PDB format text file containing the predicted\n    structure, after performing an Amber relaxation procedure on the unrelaxed\n    structure prediction (see Jumper et al. 2021, Suppl. Methods 1.8.6 for\n    details).\n*   `ranked_*.pdb` – A PDB format text file containing the predicted structures,\n    after reordering by model confidence. Here `ranked_i.pdb` should contain the\n    prediction with the (`i + 1`)-th highest confidence (so that `ranked_0.pdb`\n    has the highest confidence). To rank model confidence, we use predicted LDDT\n    (pLDDT) scores (see Jumper et al. 2021, Suppl. Methods 1.9.6 for details).\n    If `--models_to_relax=all` then all ranked structures are relaxed. If\n    `--models_to_relax=best` then only `ranked_0.pdb` is relaxed (the rest are\n    unrelaxed). If `--models_to_relax=none`, then the ranked structures are all\n    unrelaxed.\n*   `ranking_debug.json` – A JSON format text file containing the pLDDT values\n    used to perform the model ranking, and a mapping back to the original model\n    names.\n*   `relax_metrics.json` – A JSON format text file containing relax metrics, for\n    instance remaining violations.\n*   `timings.json` – A JSON format text file containing the times taken to run\n    each section of the AlphaFold pipeline.\n*   `msas/` - A directory containing the files describing the various genetic\n    tool hits that were used to construct the input MSA.\n*   `result_model_*.pkl` – A `pickle` file containing a nested dictionary of the\n    various NumPy arrays directly produced by the model. In addition to the\n    output of the structure module, this includes auxiliary outputs such as:\n\n    *   Distograms (`distogram/logits` contains a NumPy array of shape [N_res,\n        N_res, N_bins] and `distogram/bin_edges` contains the definition of the\n        bins).\n    *   Per-residue pLDDT scores (`plddt` contains a NumPy array of shape\n        [N_res] with the range of possible values from `0` to `100`, where `100`\n        means most confident). This can serve to identify sequence regions\n        predicted with high confidence or as an overall per-target confidence\n        score when averaged across residues.\n    *   Present only if using pTM models: predicted TM-score (`ptm` field\n        contains a scalar). As a predictor of a global superposition metric,\n        this score is designed to also assess whether the model is confident in\n        the overall domain packing.\n    *   Present only if using pTM models: predicted pairwise aligned errors\n        (`predicted_aligned_error` contains a NumPy array of shape [N_res,\n        N_res] with the range of possible values from `0` to\n        `max_predicted_aligned_error`, where `0` means most confident). This can\n        serve for a visualisation of domain packing confidence within the\n        structure.\n\nThe pLDDT confidence measure is stored in the B-factor field of the output PDB\nfiles (although unlike a B-factor, higher pLDDT is better, so care must be taken\nwhen using for tasks such as molecular replacement).\n\nThis code has been tested to match mean top-1 accuracy on a CASP14 test set with\npLDDT ranking over 5 model predictions (some CASP targets were run with earlier\nversions of AlphaFold and some had manual interventions; see our forthcoming\npublication for details). Some targets such as T1064 may also have high\nindividual run variance over random seeds.\n\n## Inferencing many proteins\n\nThe provided inference script is optimized for predicting the structure of a\nsingle protein, and it will compile the neural network to be specialized to\nexactly the size of the sequence, MSA, and templates. For large proteins, the\ncompile time is a negligible fraction of the runtime, but it may become more\nsignificant for small proteins or if the multi-sequence alignments are already\nprecomputed. In the bulk inference case, it may make sense to use our\n`make_fixed_size` function to pad the inputs to a uniform size, thereby reducing\nthe number of compilations required.\n\nWe do not provide a bulk inference script, but it should be straightforward to\ndevelop on top of the `RunModel.predict` method with a parallel system for\nprecomputing multi-sequence alignments. Alternatively, this script can be run\nrepeatedly with only moderate overhead.\n\n## Note on CASP14 reproducibility\n\nAlphaFold's output for a small number of proteins has high inter-run variance,\nand may be affected by changes in the input data. The CASP14 target T1064 is a\nnotable example; the large number of SARS-CoV-2-related sequences recently\ndeposited changes its MSA significantly. This variability is somewhat mitigated\nby the model selection process; running 5 models and taking the most confident.\n\nTo reproduce the results of our CASP14 system as closely as possible you must\nuse the same database versions we used in CASP. These may not match the default\nversions downloaded by our scripts.\n\nFor genetics:\n\n*   UniRef90:\n    [v2020_01](https://ftp.uniprot.org/pub/databases/uniprot/previous_releases/release-2020_01/uniref/)\n*   MGnify:\n    [v2018_12](http://ftp.ebi.ac.uk/pub/databases/metagenomics/peptide_database/2018_12/)\n*   Uniclust30: [v2018_08](http://wwwuser.gwdg.de/~compbiol/uniclust/2018_08/)\n*   BFD: [only version available](https://bfd.mmseqs.com/)\n\nFor templates:\n\n*   PDB: (downloaded 2020-05-14)\n*   PDB70:\n    [2020-05-13](http://wwwuser.gwdg.de/~compbiol/data/hhsuite/databases/hhsuite_dbs/old-releases/pdb70_from_mmcif_200513.tar.gz)\n\nAn alternative for templates is to use the latest PDB and PDB70, but pass the\nflag `--max_template_date=2020-05-14`, which restricts templates only to\nstructures that were available at the start of CASP14.\n\n## Citing this work\n\nIf you use the code or data in this package, please cite:\n\n```bibtex\n@Article{AlphaFold2021,\n  author  = {Jumper, John and Evans, Richard and Pritzel, Alexander and Green, Tim and Figurnov, Michael and Ronneberger, Olaf and Tunyasuvunakool, Kathryn and Bates, Russ and {\\v{Z}}{\\'\\i}dek, Augustin and Potapenko, Anna and Bridgland, Alex and Meyer, Clemens and Kohl, Simon A A and Ballard, Andrew J and Cowie, Andrew and Romera-Paredes, Bernardino and Nikolov, Stanislav and Jain, Rishub and Adler, Jonas and Back, Trevor and Petersen, Stig and Reiman, David and Clancy, Ellen and Zielinski, Michal and Steinegger, Martin and Pacholska, Michalina and Berghammer, Tamas and Bodenstein, Sebastian and Silver, David and Vinyals, Oriol and Senior, Andrew W and Kavukcuoglu, Koray and Kohli, Pushmeet and Hassabis, Demis},\n  journal = {Nature},\n  title   = {Highly accurate protein structure prediction with {AlphaFold}},\n  year    = {2021},\n  volume  = {596},\n  number  = {7873},\n  pages   = {583--589},\n  doi     = {10.1038/s41586-021-03819-2}\n}\n```\n\nIn addition, if you use the AlphaFold-Multimer mode, please cite:\n\n```bibtex\n@article {AlphaFold-Multimer2021,\n  author       = {Evans, Richard and O{\\textquoteright}Neill, Michael and Pritzel, Alexander and Antropova, Natasha and Senior, Andrew and Green, Tim and {\\v{Z}}{\\'\\i}dek, Augustin and Bates, Russ and Blackwell, Sam and Yim, Jason and Ronneberger, Olaf and Bodenstein, Sebastian and Zielinski, Michal and Bridgland, Alex and Potapenko, Anna and Cowie, Andrew and Tunyasuvunakool, Kathryn and Jain, Rishub and Clancy, Ellen and Kohli, Pushmeet and Jumper, John and Hassabis, Demis},\n  journal      = {bioRxiv},\n  title        = {Protein complex prediction with AlphaFold-Multimer},\n  year         = {2021},\n  elocation-id = {2021.10.04.463034},\n  doi          = {10.1101/2021.10.04.463034},\n  URL          = {https://www.biorxiv.org/content/early/2021/10/04/2021.10.04.463034},\n  eprint       = {https://www.biorxiv.org/content/early/2021/10/04/2021.10.04.463034.full.pdf},\n}\n```\n\n## Community contributions\n\nColab notebooks provided by the community (please note that these notebooks may\nvary from our full AlphaFold system and we did not validate their accuracy):\n\n*   The\n    [ColabFold AlphaFold2 notebook](https://colab.research.google.com/github/sokrypton/ColabFold/blob/main/AlphaFold2.ipynb)\n    by Martin Steinegger, Sergey Ovchinnikov and Milot Mirdita, which uses an\n    API hosted at the Södinglab based on the MMseqs2 server\n    [(Mirdita et al. 2019, Bioinformatics)](https://academic.oup.com/bioinformatics/article/35/16/2856/5280135)\n    for the multiple sequence alignment creation.\n\n## Acknowledgements\n\nAlphaFold communicates with and/or references the following separate libraries\nand packages:\n\n*   [Abseil](https://github.com/abseil/abseil-py)\n*   [Biopython](https://biopython.org)\n*   [Colab](https://research.google.com/colaboratory/)\n*   [Docker](https://www.docker.com)\n*   [HH Suite](https://github.com/soedinglab/hh-suite)\n*   [HMMER Suite](http://eddylab.org/software/hmmer)\n*   [Haiku](https://github.com/deepmind/dm-haiku)\n*   [JAX](https://github.com/google/jax/)\n*   [Kalign](https://msa.sbc.su.se/cgi-bin/msa.cgi)\n*   [matplotlib](https://matplotlib.org/)\n*   [ML Collections](https://github.com/google/ml_collections)\n*   [NumPy](https://numpy.org)\n*   [OpenMM](https://github.com/openmm/openmm)\n*   [OpenStructure](https://openstructure.org)\n*   [pymol3d](https://github.com/avirshup/py3dmol)\n*   [Sonnet](https://github.com/deepmind/sonnet)\n*   [TensorFlow](https://github.com/tensorflow/tensorflow)\n*   [Tree](https://github.com/deepmind/tree)\n*   [tqdm](https://github.com/tqdm/tqdm)\n\nWe thank all their contributors and maintainers!\n\n## Get in Touch\n\nIf you have any questions not covered in this overview, please contact the\nAlphaFold team at [alphafold@deepmind.com](mailto:alphafold@deepmind.com).\n\nWe would love to hear your feedback and understand how AlphaFold has been useful\nin your research. Share your stories with us at\n[alphafold@deepmind.com](mailto:alphafold@deepmind.com).\n\n## License and Disclaimer\n\nThis is not an officially supported Google product.\n\nCopyright 2022 DeepMind Technologies Limited.\n\nAlphaFold 2 and its output are for theoretical modeling only. They are not\nintended, validated, or approved for clinical use. You should not use the\nAlphaFold 2 or its output for clinical purposes or rely on them for medical or\nother professional advice. Any content regarding those topics is provided for\ninformational purposes only and is not a substitute for advice from a qualified\nprofessional.\n\nOutput of AlphaFold 2 are predictions with varying levels of confidence and\nshould be interpreted carefully. Use discretion before relying on, publishing,\ndownloading or otherwise using AlphaFold 2 and its output.\n\n### AlphaFold Code License\n\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at https://www.apache.org/licenses/LICENSE-2.0.\n\nUnless required by applicable law or agreed to in writing, software distributed\nunder the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\nCONDITIONS OF ANY KIND, either express or implied. See the License for the\nspecific language governing permissions and limitations under the License.\n\n### Model Parameters License\n\nThe AlphaFold parameters are made available under the terms of the Creative\nCommons Attribution 4.0 International (CC BY 4.0) license. You can find details\nat: https://creativecommons.org/licenses/by/4.0/legalcode\n\n### Third-party software\n\nUse of the third-party software, libraries or code referred to in the\n[Acknowledgements](#acknowledgements) section above may be governed by separate\nterms and conditions or license provisions. Your use of the third-party\nsoftware, libraries or code is subject to any such terms and you should check\nthat you can comply with any applicable restrictions or terms and conditions\nbefore use.\n\n### Mirrored Databases\n\nThe following databases have been mirrored by DeepMind, and are available with\nreference to the following:\n\n*   [BFD](https://bfd.mmseqs.com/) (unmodified), by Steinegger M. and Söding J.,\n    available under a\n    [Creative Commons Attribution-ShareAlike 4.0 International License](http://creativecommons.org/licenses/by-sa/4.0/).\n\n*   [BFD](https://bfd.mmseqs.com/) (modified), by Steinegger M. and Söding J.,\n    modified by DeepMind, available under a\n    [Creative Commons Attribution-ShareAlike 4.0 International License](http://creativecommons.org/licenses/by-sa/4.0/).\n    See the Methods section of the\n    [AlphaFold proteome paper](https://www.nature.com/articles/s41586-021-03828-1)\n    for details.\n\n*   [Uniref30: v2021_03](http://wwwuser.gwdg.de/~compbiol/uniclust/2021_03/)\n    (unmodified), by Mirdita M. et al., available under a\n    [Creative Commons Attribution-ShareAlike 4.0 International License](http://creativecommons.org/licenses/by-sa/4.0/).\n\n*   [MGnify: v2022_05](http://ftp.ebi.ac.uk/pub/databases/metagenomics/peptide_database/2022_05/README.txt)\n    (unmodified), by Mitchell AL et al., available free of all copyright\n    restrictions and made fully and freely available for both non-commercial and\n    commercial use under\n    [CC0 1.0 Universal (CC0 1.0) Public Domain Dedication](https://creativecommons.org/publicdomain/zero/1.0/).\n"
  },
  {
    "path": "afdb/README.md",
    "content": "# AlphaFold Protein Structure Database\n\n## Introduction\n\nThe AlphaFold UniProt release (214M predictions) is hosted on\n[Google Cloud Public Datasets](https://console.cloud.google.com/marketplace/product/bigquery-public-data/deepmind-alphafold),\nand is available to download at no cost under a\n[CC-BY-4.0 licence](http://creativecommons.org/licenses/by/4.0/legalcode). The\ndataset is in a Cloud Storage bucket, and metadata is available on BigQuery. A\nGoogle Cloud account is required for the download, but the data can be freely\nused under the terms of the\n[CC-BY 4.0 Licence](http://creativecommons.org/licenses/by/4.0/legalcode).\n\nThis document provides an overview of how to access and download the dataset for\ndifferent use cases. Please refer to the [AlphaFold database FAQ](https://www.alphafold.com/faq)\nfor further information on what proteins are in the database and a changelog of\nreleases.\n\n:ledger: **Note: The full dataset is difficult to manipulate without significant\ncomputational resources (the size of the dataset is 23 TiB, 3 * 214M files).**\n\nThere are also alternatives to downloading the full dataset:\n\n1.  Download a premade subset (covering important species / Swiss-Prot) via our\n    [download page](https://alphafold.ebi.ac.uk/download).\n2.  Download a custom subset of the data. See below.\n\nIf you need to download the full dataset then please see the \"Bulk download\"\nsection. See \"Creating a Google Cloud Account\" below for more information on how\nto avoid any surprise costs when using Google Cloud Public Datasets.\n\n## Licence\n\nData is available for academic and commercial use, under a\n[CC-BY-4.0 licence](http://creativecommons.org/licenses/by/4.0/legalcode).\n\nEMBL-EBI expects attribution (e.g. in publications, services or products) for\nany of its online services, databases or software in accordance with good\nscientific practice.\n\nIf you make use of an AlphaFold prediction, please cite the following papers:\n\n*   [Jumper, J et al. Highly accurate protein structure prediction with\n    AlphaFold. Nature\n    (2021).](https://www.nature.com/articles/s41586-021-03819-2)\n*   [Varadi, M et al. AlphaFold Protein Structure Database: massively expanding\n    the structural coverage of protein-sequence space with high-accuracy models.\n    Nucleic Acids Research\n    (2021).](https://academic.oup.com/nar/advance-article/doi/10.1093/nar/gkab1061/6430488)\n\nAlphaFold Data Copyright (2022) DeepMind Technologies Limited.\n\n## Disclaimer\n\nThe AlphaFold Data and other information provided on this site is for\ntheoretical modelling only, caution should be exercised in its use. It is\nprovided 'as-is' without any warranty of any kind, whether expressed or implied.\nFor clarity, no warranty is given that use of the information shall not infringe\nthe rights of any third party. The information is not intended to be a\nsubstitute for professional medical advice, diagnosis, or treatment, and does\nnot constitute medical or other professional advice.\n\n## Format\n\nDataset file names start with a protein identifier of the form `AF-[a UniProt\naccession]-F[a fragment number]`.\n\nThree files are provided for each entry:\n\n*   **model_v4.cif** – contains the atomic coordinates for the predicted protein\n    structure, along with some metadata. Useful references for this file format\n    are the [ModelCIF](https://github.com/ihmwg/ModelCIF) and\n    [PDBx/mmCIF](https://mmcif.wwpdb.org) project sites.\n*   **confidence_v4.json** – contains a confidence metric output by AlphaFold\n    called pLDDT. This provides a number for each residue, indicating how\n    confident AlphaFold is in the *local* surrounding structure. pLDDT ranges\n    from 0 to 100, where 100 is most confident. This is also contained in the\n    CIF file.\n*   **predicted_aligned_error_v4.json** – contains a confidence metric output by\n    AlphaFold called PAE. This provides a number for every pair of residues,\n    which is lower when AlphaFold is more confident in the relative position of\n    the two residues. PAE is more suitable than pLDDT for judging confidence in \n    relative domain placements.\n    [See here](https://alphafold.ebi.ac.uk/faq#faq-7) for a description of the\n    format.\n\nPredictions grouped by NCBI taxonomy ID are available as\n`proteomes/proteome-tax_id-[TAX ID]-[SHARD ID]_v4.tar` within the same\nbucket.\n\nThere are also two extra files stored in the bucket:\n\n*   `accession_ids.csv` – This file contains a list of all the UniProt\n    accessions that have predictions in AlphaFold DB. The file is in CSV format\n    and includes the following columns, separated by a comma:\n    *   UniProt accession, e.g. A8H2R3\n    *   First residue index (UniProt numbering), e.g. 1\n    *   Last residue index (UniProt numbering), e.g. 199\n    *   AlphaFold DB identifier, e.g. AF-A8H2R3-F1\n    *   Latest version, e.g. 4\n*   `sequences.fasta` – This file contains sequences for all proteins in the\n    current database version in FASTA format. The identifier rows start with\n    \">AFDB\", followed by the AlphaFold DB identifier and the name of the\n    protein. The sequence rows contain the corresponding amino acid sequences.\n    Each sequence is on a single line, i.e. there is no wrapping.\n\n## Creating a Google Cloud Account\n\nDownloading from the Google Cloud Public Datasets (rather than from AFDB or 3D\nBeacons) requires a Google Cloud account. See the\n[Google Cloud get started](https://cloud.google.com/docs/get-started) page, and\nexplore the [free tier account usage limits](https://cloud.google.com/free).\n\n**IMPORTANT: After the trial period has finished (90 days), to continue access,\nyou are required to upgrade to a billing account. While your free tier access\n(including access to the Public Datasets storage bucket) continues, usage beyond\nthe free tier will incur costs – please familiarise yourself with the pricing\nfor the services that you use to avoid any surprises.**\n\n1.  Go to\n    [https://cloud.google.com/datasets](https://cloud.google.com/datasets).\n2.  Create an account:\n    1.  Click \"get started for free\" in the top right corner.\n    2.  Agree to all terms of service.\n    3.  Follow the setup instructions. Note that a payment method is required,\n        but this will not be used unless you enable billing.\n    4.  Access to the Google Cloud Public Datasets storage bucket is always at\n        no cost and you will have access to the\n        [free tier.](https://cloud.google.com/free/docs/gcp-free-tier#free-tier-usage-limits)\n3.  Set up a project:\n    1.  In the top left corner, click the navigation menu (three horizontal bars\n        icon).\n    2.  Select: \"Cloud overview\" -> \"Dashboard\".\n    3.  In the top left corner there is a project menu bar (likely says \"My\n        First Project\"). Select this and a \"Select a Project\" box will appear.\n    4.  To keep using this project, click \"Cancel\" at the bottom of the box.\n    5.  To create a new project, click \"New Project\" at the top of the box:\n        1.  Select a project name.\n        2.  For location, if your organization has a Cloud account then select\n            this, otherwise leave as is.\n4.  Install `gsutil`:\n    1.  Follow these\n        [instructions](https://cloud.google.com/storage/docs/gsutil_install).\n\n## Accessing the dataset\n\nThe data is available from:\n\n*   GCS data bucket:\n    [gs://public-datasets-deepmind-alphafold-v4](https://console.cloud.google.com/storage/browser/public-datasets-deepmind-alphafold-v4)\n\n## Bulk download\n\nWe don't recommend downloading the full dataset unless required for processing\nwith local computational resources, for example in an academic high performance\ncomputing centre.\n\nWe estimate that a 1 Gbps internet connection will allow download of the full\ndatabase in roughly 2.5 days.\n\nWhile we don’t know the exact nature of your computational infrastructure, below\nare some suggested approaches for downloading the dataset. Please reach out to\n[alphafold@deepmind.com](mailto:alphafold@deepmind.com) if you have any\nquestions.\n\nThe recommended way of downloading the whole database is by downloading\n1,015,797 sharded proteome tar files using the command below. This is\nsignificantly faster than downloading all of the individual files because of\nlarge constant per-file latency.\n\n```bash\ngsutil -m cp -r gs://public-datasets-deepmind-alphafold-v4/proteomes/ .\n```\n\nYou will then have to un-tar all of the proteomes and un-gzip all of the\nindividual files. Note that after un-taring, there will be about 644M files, so\nmake sure your filesystem can handle this.\n\n### Storage Transfer Service\n\nSome users might find the\n[Storage Transfer Service](https://cloud.google.com/storage-transfer-service) a\nconvenient way to set up the transfer between this bucket and another bucket, or\nanother cloud service. *Using this service may incur costs*. Please check the\n[pricing page](https://cloud.google.com/storage-transfer/pricing) for more\ndetail, particularly for transfers to other cloud services.\n\n## Downloading subsets of the data\n\n### AlphaFold Database search\n\nFor simple queries, for example by protein name, gene name or UniProt accession\nyou can use the main search bar on\n[alphafold.ebi.ac.uk](https://alphafold.ebi.ac.uk).\n\n### 3D Beacons\n\n[3D-Beacons](https://3d-beacons.org) is an international collaboration of\nprotein structure data providers to create a federated network with unified data\naccess mechanisms. The 3D-Beacons platform allows users to retrieve coordinate\nfiles and metadata of experimentally determined and theoretical protein models\nfrom data providers such as AlphaFold DB.\n\nMore information about how to access AlphaFold predictions using 3D-Beacons is\navailable at\n[3D-Beacons documentation](https://www.ebi.ac.uk/pdbe/pdbe-kb/3dbeacons/docs).\n\n### Other premade species subsets\n\nDownloads for some model organism proteomes, global health proteomes and\nSwiss-Prot are available on the\n[AFDB website](https://alphafold.ebi.ac.uk/download). These are generated from\n[reference proteomes](https://www.uniprot.org/help/reference_proteome). If you\nwant other species, or *all* proteins for a particular species, please continue\nreading.\n\nWe provide 1,015,797 sharded tar files for all species in\n[gs://public-datasets-deepmind-alphafold-v4/proteomes/](https://console.cloud.google.com/storage/browser/public-datasets-deepmind-alphafold-v4/proteomes/).\nWe shard each proteome so that each shard contains at most 10,000 proteins\n(which corresponds to 30,000 files per shard, since there are 3 files per\nprotein). To download a proteome of your choice, you have to do the following\nsteps:\n\n1.  Find the [NCBI taxonomy ID](https://www.ncbi.nlm.nih.gov/taxonomy)\n    (`[TAX_ID]`) of the species in question.\n2.  Run `gsutil -m cp\n    gs://public-datasets-deepmind-alphafold-v4/proteomes/proteome-tax_id-[TAX\n    ID]-*_v4.tar .` to download all shards for this proteome.\n3.  Un-tar all of the downloaded files and un-gzip all of the individual files.\n\n### File manifests\n\nPre-made lists of files (manifests) are available at\n[gs://public-datasets-deepmind-alphafold-v4/manifests](https://console.cloud.google.com/storage/browser/public-datasets-deepmind-alphafold-v4/manifests/).\nNote that these filenames do not include the bucket prefix, but this can be\nadded once the files have been downloaded to your filesystem.\n\nOne can also define their own list of files, for example created by BigQuery\n(see below). `gsutil` can be used to download these files with\n\n```bash\ncat [manifest file] | gsutil -m cp -I .\n```\n\nThis will be much slower than downloading the tar files (grouped by species)\nbecause each file has an associated overhead.\n\n### BigQuery\n\n**IMPORTANT: The\n[free tier](https://cloud.google.com/bigquery/pricing#free-tier) of Google Cloud\ncomes with [BigQuery Sandbox](https://cloud.google.com/bigquery/docs/sandbox)\nwith 1 TB of free processed query data each month. Repeated queries within a\nmonth could exceed this limit and if you have\n[upgraded to a paid Cloud Billing account](https://cloud.google.com/free/docs/gcp-free-tier#how-to-upgrade)\nyou may be charged.**\n\n**This should be sufficient for running a number of queries on the metadata\ntable, though the usage depends on the size of the columns queried and selected.\nPlease look at the\n[BigQuery pricing page](https://cloud.google.com/bigquery/pricing) for more\ninformation.**\n\n**This is the user's responsibility so please ensure you keep track of your\nbilling settings and resource usage in the console.**\n\nBigQuery provides a serverless and highly scalable analytics tool enabling SQL\nqueries over large datasets. The metadata for the UniProt dataset takes up ​​113\nGiB and so can be challenging to process and analyse locally. The table name is:\n\n*   BigQuery metadata table:\n    [bigquery-public-data.deepmind_alphafold.metadata](https://console.cloud.google.com/bigquery?project=bigquery-public-data&ws=!1m5!1m4!4m3!1sbigquery-public-data!2sdeepmind_alphafold!3smetadata)\n\nWith BigQuery SQL you can do complex queries, e.g. find all high accuracy\npredictions for a particular species, or even join on to other datasets, e.g. to\nan experimental dataset by the `uniprotSequence`, or to the NCBI taxonomy by\n`taxId`.\n\nIf you would find additional information in the metadata useful please file a\nGitHub issue.\n\n#### Setup\n\nFollow the\n[BigQuery Sandbox set up guide](https://cloud.google.com/bigquery/docs/sandbox).\n\n#### Exploring the metadata\n\nThe column names and associated data types available can be found using the\nfollowing query.\n\n```sql\nSELECT column_name, data_type FROM bigquery-public-data.deepmind_alphafold.INFORMATION_SCHEMA.COLUMNS\nWHERE table_name = 'metadata'\n```\n\n**Column name**        | **Data type**   | **Description**\n---------------------- | --------------- | ---------------\nallVersions            | `ARRAY<INT64>`  | An array of AFDB versions this prediction has had\nentryId                | `STRING`        | The AFDB entry ID, e.g. \"AF-Q1HGU3-F1\"\nfractionPlddtConfident | `FLOAT64`       | Fraction of the residues in the prediction with pLDDT between 70 and 90\nfractionPlddtLow       | `FLOAT64`       | Fraction of the residues in the prediction with pLDDT between 50 and 70\nfractionPlddtVeryHigh  | `FLOAT64`       | Fraction of the residues in the prediction with pLDDT greater than 90\nfractionPlddtVeryLow   | `FLOAT64`       | Fraction of the residues in the prediction with pLDDT less than 50\ngene                   | `STRING`        | The name of the gene if known, e.g. \"COII\"\ngeneSynonyms           | `ARRAY<STRING>` | Additional synonyms for the gene\nglobalMetricValue      | `FLOAT64`       | The mean pLDDT of this prediction\nisReferenceProteome    | `BOOL`          | Is this protein part of the reference proteome?\nisReviewed             | `BOOL`          | Has this protein been reviewed, i.e. is it part of SwissProt?\nlatestVersion          | `INT64`         | The latest AFDB version for this prediction\nmodelCreatedDate       | `DATE`          | The date of creation for this entry, e.g. \"2022-06-01\"\norganismCommonNames    | `ARRAY<STRING>` | List of common organism names\norganismScientificName | `STRING`        | The scientific name of the organism\norganismSynonyms       | `ARRAY<STRING>` | List of synonyms for the organism\nproteinFullNames       | `ARRAY<STRING>` | Full names of the protein\nproteinShortNames      | `ARRAY<STRING>` | Short names of the protein\nsequenceChecksum       | `STRING`        | [CRC64 hash](https://www.uniprot.org/help/checksum) of the sequence. Can be used for cheaper lookups.\nsequenceVersionDate    | `DATE`          | Date when the sequence data was last modified in UniProt\ntaxId                  | `INT64`         | NCBI taxonomy id of the originating species\nuniprotAccession       | `STRING`        | Uniprot accession ID\nuniprotDescription     | `STRING`        | The name recommended by the UniProt consortium\nuniprotEnd             | `INT64`         | Number of the last residue in the entry relative to the UniProt entry. This is equal to the length of the protein unless we are dealing with protein fragments.\nuniprotId              | `STRING`        | The Uniprot EntryName field\nuniprotSequence        | `STRING`        | Amino acid sequence for this prediction\nuniprotStart           | `INT64`         | Number of the first residue in the entry relative to the UniProt entry. This is 1 unless we are dealing with protein fragments.\n\n#### Producing summary statistics\n\nThe following query gives the mean of the prediction confidence fractions per\nspecies.\n\n```sql\nSELECT\n organismScientificName AS name,\n SUM(fractionPlddtVeryLow) / COUNT(fractionPlddtVeryLow) AS mean_plddt_very_low,\n SUM(fractionPlddtLow) / COUNT(fractionPlddtLow) AS mean_plddt_low,\n SUM(fractionPlddtConfident) / COUNT(fractionPlddtConfident) AS mean_plddt_confident,\n SUM(fractionPlddtVeryHigh) / COUNT(fractionPlddtVeryHigh) AS mean_plddt_very_high,\n COUNT(organismScientificName) AS num_predictions\nFROM bigquery-public-data.deepmind_alphafold.metadata\nGROUP by name\nORDER BY num_predictions DESC;\n```\n\n#### Producing lists of files\n\nWe expect that the most important use for the metadata will be to create subsets\nof proteins according to various criteria, so that users can choose to only copy\na subset of the 214M proteins that exist in the dataset. An example query is\ngiven below:\n\n```sql\nwith file_rows AS (\n  with file_cols AS (\n    SELECT\n      CONCAT(entryID, '-model_v4.cif') as m,\n      CONCAT(entryID, '-predicted_aligned_error_v4.json') as p\n    FROM bigquery-public-data.deepmind_alphafold.metadata\n    WHERE organismScientificName = \"Homo sapiens\"\n      AND (fractionPlddtVeryHigh + fractionPlddtConfident) > 0.5\n  )\n  SELECT * FROM file_cols UNPIVOT (files for filetype in (m, p))\n)\nSELECT CONCAT('gs://public-datasets-deepmind-alphafold-v4/', files) as files\nfrom file_rows\n```\n\nIn this case, the list has been filtered to only include proteins from *Homo\nsapiens* for which over half the residues are confident or better (>70 pLDDT).\n\nThis creates a table with one column \"files\", where each row is the cloud\nlocation of one of the two file types that has been provided for each protein.\nThere is an additional `confidence_v4.json` file which contains the\nper-residue pLDDT. This information is already in the CIF file but may be\npreferred if only this information is required.\n\nThis allows users to bulk download the exact proteins they need, without having\nto download the entire dataset. Other columns may also be used to select subsets\nof proteins, and we point the user to the\n[BigQuery documentation](https://cloud.google.com/bigquery/docs) to understand\nother ways to filter for their desired protein lists. Likewise, the\ndocumentation should be followed to download these file subsets locally, as the\nmost appropriate approach will depend on the filesize. Note that it may be\neasier to download large files using [Colab](https://colab.research.google.com/)\n(e.g. pandas to_csv).\n\n#### Previous versions\nPrevious versions of AFDB will remain available at\n[gs://public-datasets-deepmind-alphafold](https://console.cloud.google.com/storage/browser/public-datasets-deepmind-alphafold)\nto enable reproducible research. We recommend using the latest version (v4)."
  },
  {
    "path": "alphafold/__init__.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\"\"\"An implementation of the inference pipeline of AlphaFold v2.0.\"\"\"\n"
  },
  {
    "path": "alphafold/common/__init__.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\"\"\"Common data types and constants used within Alphafold.\"\"\"\n"
  },
  {
    "path": "alphafold/common/confidence.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Functions for processing confidence metrics.\"\"\"\n\nimport json\nfrom typing import Dict, Optional, Tuple\n\nimport numpy as np\n\n\ndef _softmax(x: np.ndarray, axis: Optional[int] = None):\n  x = np.asarray(x)\n  x_max = np.max(x, axis=axis, keepdims=True)\n  exp_x_shifted = np.exp(x - x_max)\n  return exp_x_shifted / np.sum(exp_x_shifted, axis=axis, keepdims=True)\n\n\ndef compute_plddt(logits: np.ndarray) -> np.ndarray:\n  \"\"\"Computes per-residue pLDDT from logits.\n\n  Args:\n    logits: [num_res, num_bins] output from the PredictedLDDTHead.\n\n  Returns:\n    plddt: [num_res] per-residue pLDDT.\n  \"\"\"\n  num_bins = logits.shape[-1]\n  bin_width = 1.0 / num_bins\n  bin_centers = np.arange(start=0.5 * bin_width, stop=1.0, step=bin_width)\n  probs = np.array(_softmax(logits, axis=-1))\n  predicted_lddt_ca = np.sum(probs * bin_centers[None, :], axis=-1)\n  return predicted_lddt_ca * 100\n\n\ndef _confidence_category(score: float) -> str:\n  \"\"\"Categorizes pLDDT into: disordered (D), low (L), medium (M), high (H).\"\"\"\n  if 0 <= score < 50:\n    return 'D'\n  if 50 <= score < 70:\n    return 'L'\n  elif 70 <= score < 90:\n    return 'M'\n  elif 90 <= score <= 100:\n    return 'H'\n  else:\n    raise ValueError(f'Invalid pLDDT score {score}')\n\n\ndef confidence_json(plddt: np.ndarray) -> str:\n  \"\"\"Returns JSON with confidence score and category for every residue.\n\n  Args:\n    plddt: Per-residue confidence metric data.\n\n  Returns:\n    String with a formatted JSON.\n\n  Raises:\n    ValueError: If `plddt` has a rank different than 1.\n  \"\"\"\n  if plddt.ndim != 1:\n    raise ValueError(f'The plddt array must be rank 1, got: {plddt.shape}.')\n\n  confidence = {\n      'residueNumber': list(range(1, len(plddt) + 1)),\n      'confidenceScore': [round(float(s), 2) for s in plddt],\n      'confidenceCategory': [_confidence_category(s) for s in plddt],\n  }\n  return json.dumps(confidence, indent=None, separators=(',', ':'))\n\n\ndef _calculate_bin_centers(breaks: np.ndarray):\n  \"\"\"Gets the bin centers from the bin edges.\n\n  Args:\n    breaks: [num_bins - 1] the error bin edges.\n\n  Returns:\n    bin_centers: [num_bins] the error bin centers.\n  \"\"\"\n  step = breaks[1] - breaks[0]\n\n  # Add half-step to get the center\n  bin_centers = breaks + step / 2\n  # Add a catch-all bin at the end.\n  bin_centers = np.concatenate([bin_centers, [bin_centers[-1] + step]], axis=0)\n  return bin_centers\n\n\ndef _calculate_expected_aligned_error(\n    alignment_confidence_breaks: np.ndarray,\n    aligned_distance_error_probs: np.ndarray,\n) -> Tuple[np.ndarray, np.ndarray]:\n  \"\"\"Calculates expected aligned distance errors for every pair of residues.\n\n  Args:\n    alignment_confidence_breaks: [num_bins - 1] the error bin edges.\n    aligned_distance_error_probs: [num_res, num_res, num_bins] the predicted\n      probs for each error bin, for each pair of residues.\n\n  Returns:\n    predicted_aligned_error: [num_res, num_res] the expected aligned distance\n      error for each pair of residues.\n    max_predicted_aligned_error: The maximum predicted error possible.\n  \"\"\"\n  bin_centers = _calculate_bin_centers(alignment_confidence_breaks)\n\n  # Tuple of expected aligned distance error and max possible error.\n  return (\n      np.sum(aligned_distance_error_probs * bin_centers, axis=-1),\n      np.asarray(bin_centers[-1]),\n  )\n\n\ndef compute_predicted_aligned_error(\n    logits: np.ndarray, breaks: np.ndarray\n) -> Dict[str, np.ndarray]:\n  \"\"\"Computes aligned confidence metrics from logits.\n\n  Args:\n    logits: [num_res, num_res, num_bins] the logits output from\n      PredictedAlignedErrorHead.\n    breaks: [num_bins - 1] the error bin edges.\n\n  Returns:\n    aligned_confidence_probs: [num_res, num_res, num_bins] the predicted\n      aligned error probabilities over bins for each residue pair.\n    predicted_aligned_error: [num_res, num_res] the expected aligned distance\n      error for each pair of residues.\n    max_predicted_aligned_error: The maximum predicted error possible.\n  \"\"\"\n  aligned_confidence_probs = np.array(_softmax(logits, axis=-1))\n  predicted_aligned_error, max_predicted_aligned_error = (\n      _calculate_expected_aligned_error(\n          alignment_confidence_breaks=breaks,\n          aligned_distance_error_probs=aligned_confidence_probs,\n      )\n  )\n  return {\n      'aligned_confidence_probs': aligned_confidence_probs,\n      'predicted_aligned_error': predicted_aligned_error,\n      'max_predicted_aligned_error': max_predicted_aligned_error,\n  }\n\n\ndef pae_json(pae: np.ndarray, max_pae: float) -> str:\n  \"\"\"Returns the PAE in the same format as is used in the AFDB.\n\n  Note that the values are presented as floats to 1 decimal place, whereas AFDB\n  returns integer values.\n\n  Args:\n    pae: The n_res x n_res PAE array.\n    max_pae: The maximum possible PAE value.\n\n  Returns:\n    PAE output format as a JSON string.\n  \"\"\"\n  # Check the PAE array is the correct shape.\n  if pae.ndim != 2 or pae.shape[0] != pae.shape[1]:\n    raise ValueError(f'PAE must be a square matrix, got {pae.shape}')\n\n  # Round the predicted aligned errors to 1 decimal place.\n  rounded_errors = np.round(pae.astype(np.float64), decimals=1)\n  formatted_output = [{\n      'predicted_aligned_error': rounded_errors.tolist(),\n      'max_predicted_aligned_error': max_pae,\n  }]\n  return json.dumps(formatted_output, indent=None, separators=(',', ':'))\n\n\ndef predicted_tm_score(\n    logits: np.ndarray,\n    breaks: np.ndarray,\n    residue_weights: Optional[np.ndarray] = None,\n    asym_id: Optional[np.ndarray] = None,\n    interface: bool = False,\n) -> np.ndarray:\n  \"\"\"Computes predicted TM alignment or predicted interface TM alignment score.\n\n  Args:\n    logits: [num_res, num_res, num_bins] the logits output from\n      PredictedAlignedErrorHead.\n    breaks: [num_bins] the error bins.\n    residue_weights: [num_res] the per residue weights to use for the\n      expectation.\n    asym_id: [num_res] the asymmetric unit ID - the chain ID. Only needed for\n      ipTM calculation, i.e. when interface=True.\n    interface: If True, interface predicted TM score is computed.\n\n  Returns:\n    ptm_score: The predicted TM alignment or the predicted iTM score.\n  \"\"\"\n\n  # residue_weights has to be in [0, 1], but can be floating-point, i.e. the\n  # exp. resolved head's probability.\n  if residue_weights is None:\n    residue_weights = np.ones(logits.shape[0])\n\n  bin_centers = _calculate_bin_centers(breaks)\n\n  num_res = int(np.sum(residue_weights))\n  # Clip num_res to avoid negative/undefined d0.\n  clipped_num_res = max(num_res, 19)\n\n  # Compute d_0(num_res) as defined by TM-score, eqn. (5) in Yang & Skolnick\n  # \"Scoring function for automated assessment of protein structure template\n  # quality\", 2004: http://zhanglab.ccmb.med.umich.edu/papers/2004_3.pdf\n  d0 = 1.24 * (clipped_num_res - 15) ** (1.0 / 3) - 1.8\n\n  # Convert logits to probs.\n  probs = np.array(_softmax(logits, axis=-1))\n\n  # TM-Score term for every bin.\n  tm_per_bin = 1.0 / (1 + np.square(bin_centers) / np.square(d0))\n  # E_distances tm(distance).\n  predicted_tm_term = np.sum(probs * tm_per_bin, axis=-1)\n\n  pair_mask = np.ones(shape=(num_res, num_res), dtype=bool)\n  if interface:\n    pair_mask *= asym_id[:, None] != asym_id[None, :]\n\n  predicted_tm_term *= pair_mask\n\n  pair_residue_weights = pair_mask * (\n      residue_weights[None, :] * residue_weights[:, None]\n  )\n  normed_residue_mask = pair_residue_weights / (\n      1e-8 + np.sum(pair_residue_weights, axis=-1, keepdims=True)\n  )\n  per_alignment = np.sum(predicted_tm_term * normed_residue_mask, axis=-1)\n  return np.asarray(per_alignment[(per_alignment * residue_weights).argmax()])\n"
  },
  {
    "path": "alphafold/common/confidence_test.py",
    "content": "# Copyright 2023 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Test confidence metrics.\"\"\"\n\n\nfrom absl.testing import absltest\nfrom alphafold.common import confidence\nimport numpy as np\n\n\nclass ConfidenceTest(absltest.TestCase):\n\n  def test_pae_json(self):\n    pae = np.array([[0.01, 13.12345], [20.0987, 0.0]])\n    pae_json = confidence.pae_json(pae=pae, max_pae=31.75)\n    self.assertEqual(\n        pae_json,\n        '[{\"predicted_aligned_error\":[[0.0,13.1],[20.1,0.0]],'\n        '\"max_predicted_aligned_error\":31.75}]',\n    )\n\n  def test_confidence_json(self):\n    plddt = np.array([42, 42.42])\n\n    confidence_json = confidence.confidence_json(plddt=plddt)\n\n    print(confidence_json)\n\n    self.assertEqual(\n        confidence_json,\n        (\n            '{\"residueNumber\":[1,2],'\n            '\"confidenceScore\":[42.0,42.42],'\n            '\"confidenceCategory\":[\"D\",\"D\"]}'\n        ),\n    )\n\n\nif __name__ == '__main__':\n  absltest.main()\n"
  },
  {
    "path": "alphafold/common/mmcif_metadata.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"mmCIF metadata.\"\"\"\n\nfrom typing import Mapping, Sequence\nfrom alphafold import version\nimport numpy as np\n\n\n_DISCLAIMER = \"\"\"ALPHAFOLD DATA, COPYRIGHT (2021) DEEPMIND TECHNOLOGIES LIMITED.\nTHE INFORMATION PROVIDED IS THEORETICAL MODELLING ONLY AND CAUTION SHOULD BE\nEXERCISED IN ITS USE. IT IS PROVIDED \"AS-IS\" WITHOUT ANY WARRANTY OF ANY KIND,\nWHETHER EXPRESSED OR IMPLIED. NO WARRANTY IS GIVEN THAT USE OF THE INFORMATION\nSHALL NOT INFRINGE THE RIGHTS OF ANY THIRD PARTY. DISCLAIMER: THE INFORMATION IS\nNOT INTENDED TO BE A SUBSTITUTE FOR PROFESSIONAL MEDICAL ADVICE, DIAGNOSIS, OR\nTREATMENT, AND DOES NOT CONSTITUTE MEDICAL OR OTHER PROFESSIONAL ADVICE. IT IS\nAVAILABLE FOR ACADEMIC AND COMMERCIAL PURPOSES, UNDER CC-BY 4.0 LICENCE.\"\"\"\n\n# Authors of the Nature methods paper we reference in the mmCIF.\n_MMCIF_PAPER_AUTHORS = (\n    'Jumper, John',\n    'Evans, Richard',\n    'Pritzel, Alexander',\n    'Green, Tim',\n    'Figurnov, Michael',\n    'Ronneberger, Olaf',\n    'Tunyasuvunakool, Kathryn',\n    'Bates, Russ',\n    'Zidek, Augustin',\n    'Potapenko, Anna',\n    'Bridgland, Alex',\n    'Meyer, Clemens',\n    'Kohl, Simon A. A.',\n    'Ballard, Andrew J.',\n    'Cowie, Andrew',\n    'Romera-Paredes, Bernardino',\n    'Nikolov, Stanislav',\n    'Jain, Rishub',\n    'Adler, Jonas',\n    'Back, Trevor',\n    'Petersen, Stig',\n    'Reiman, David',\n    'Clancy, Ellen',\n    'Zielinski, Michal',\n    'Steinegger, Martin',\n    'Pacholska, Michalina',\n    'Berghammer, Tamas',\n    'Silver, David',\n    'Vinyals, Oriol',\n    'Senior, Andrew W.',\n    'Kavukcuoglu, Koray',\n    'Kohli, Pushmeet',\n    'Hassabis, Demis',\n)\n\n# Authors of the mmCIF - we set them to be equal to the authors of the paper.\n_MMCIF_AUTHORS = _MMCIF_PAPER_AUTHORS\n\n\ndef add_metadata_to_mmcif(\n    old_cif: Mapping[str, Sequence[str]], model_type: str\n) -> Mapping[str, Sequence[str]]:\n  \"\"\"Adds AlphaFold metadata in the given mmCIF.\"\"\"\n  cif = {}\n\n  # ModelCIF conformation dictionary.\n  cif['_audit_conform.dict_name'] = ['mmcif_ma.dic']\n  cif['_audit_conform.dict_version'] = ['1.3.9']\n  cif['_audit_conform.dict_location'] = [\n      'https://raw.githubusercontent.com/ihmwg/ModelCIF/master/dist/'\n      'mmcif_ma.dic'\n  ]\n\n  # License and disclaimer.\n  cif['_pdbx_data_usage.id'] = ['1', '2']\n  cif['_pdbx_data_usage.type'] = ['license', 'disclaimer']\n  cif['_pdbx_data_usage.details'] = [\n      'Data in this file is available under a CC-BY-4.0 license.',\n      _DISCLAIMER,\n  ]\n  cif['_pdbx_data_usage.url'] = [\n      'https://creativecommons.org/licenses/by/4.0/',\n      '?',\n  ]\n  cif['_pdbx_data_usage.name'] = ['CC-BY-4.0', '?']\n\n  # Structure author details.\n  cif['_audit_author.name'] = []\n  cif['_audit_author.pdbx_ordinal'] = []\n  for author_index, author_name in enumerate(_MMCIF_AUTHORS, start=1):\n    cif['_audit_author.name'].append(author_name)\n    cif['_audit_author.pdbx_ordinal'].append(str(author_index))\n\n  # Paper author details.\n  cif['_citation_author.citation_id'] = []\n  cif['_citation_author.name'] = []\n  cif['_citation_author.ordinal'] = []\n  for author_index, author_name in enumerate(_MMCIF_PAPER_AUTHORS, start=1):\n    cif['_citation_author.citation_id'].append('primary')\n    cif['_citation_author.name'].append(author_name)\n    cif['_citation_author.ordinal'].append(str(author_index))\n\n  # Paper citation details.\n  cif['_citation.id'] = ['primary']\n  cif['_citation.title'] = [\n      'Highly accurate protein structure prediction with AlphaFold'\n  ]\n  cif['_citation.journal_full'] = ['Nature']\n  cif['_citation.journal_volume'] = ['596']\n  cif['_citation.page_first'] = ['583']\n  cif['_citation.page_last'] = ['589']\n  cif['_citation.year'] = ['2021']\n  cif['_citation.journal_id_ASTM'] = ['NATUAS']\n  cif['_citation.country'] = ['UK']\n  cif['_citation.journal_id_ISSN'] = ['0028-0836']\n  cif['_citation.journal_id_CSD'] = ['0006']\n  cif['_citation.book_publisher'] = ['?']\n  cif['_citation.pdbx_database_id_PubMed'] = ['34265844']\n  cif['_citation.pdbx_database_id_DOI'] = ['10.1038/s41586-021-03819-2']\n\n  # Type of data in the dataset including data used in the model generation.\n  cif['_ma_data.id'] = ['1']\n  cif['_ma_data.name'] = ['Model']\n  cif['_ma_data.content_type'] = ['model coordinates']\n\n  # Description of number of instances for each entity.\n  cif['_ma_target_entity_instance.asym_id'] = old_cif['_struct_asym.id']\n  cif['_ma_target_entity_instance.entity_id'] = old_cif[\n      '_struct_asym.entity_id'\n  ]\n  cif['_ma_target_entity_instance.details'] = ['.'] * len(\n      cif['_ma_target_entity_instance.entity_id']\n  )\n\n  # Details about the target entities.\n  cif['_ma_target_entity.entity_id'] = cif[\n      '_ma_target_entity_instance.entity_id'\n  ]\n  cif['_ma_target_entity.data_id'] = ['1'] * len(\n      cif['_ma_target_entity.entity_id']\n  )\n  cif['_ma_target_entity.origin'] = ['.'] * len(\n      cif['_ma_target_entity.entity_id']\n  )\n\n  # Details of the models being deposited.\n  cif['_ma_model_list.ordinal_id'] = ['1']\n  cif['_ma_model_list.model_id'] = ['1']\n  cif['_ma_model_list.model_group_id'] = ['1']\n  cif['_ma_model_list.model_name'] = ['Top ranked model']\n\n  cif['_ma_model_list.model_group_name'] = [\n      f'AlphaFold {model_type} v{version.__version__} model'\n  ]\n  cif['_ma_model_list.data_id'] = ['1']\n  cif['_ma_model_list.model_type'] = ['Ab initio model']\n\n  # Software used.\n  cif['_software.pdbx_ordinal'] = ['1']\n  cif['_software.name'] = ['AlphaFold']\n  cif['_software.version'] = [f'v{version.__version__}']\n  cif['_software.type'] = ['package']\n  cif['_software.description'] = ['Structure prediction']\n  cif['_software.classification'] = ['other']\n  cif['_software.date'] = ['?']\n\n  # Collection of software into groups.\n  cif['_ma_software_group.ordinal_id'] = ['1']\n  cif['_ma_software_group.group_id'] = ['1']\n  cif['_ma_software_group.software_id'] = ['1']\n\n  # Method description to conform with ModelCIF.\n  cif['_ma_protocol_step.ordinal_id'] = ['1', '2', '3']\n  cif['_ma_protocol_step.protocol_id'] = ['1', '1', '1']\n  cif['_ma_protocol_step.step_id'] = ['1', '2', '3']\n  cif['_ma_protocol_step.method_type'] = [\n      'coevolution MSA',\n      'template search',\n      'modeling',\n  ]\n\n  # Details of the metrics use to assess model confidence.\n  cif['_ma_qa_metric.id'] = ['1', '2']\n  cif['_ma_qa_metric.name'] = ['pLDDT', 'pLDDT']\n  # Accepted values are distance, energy, normalised score, other, zscore.\n  cif['_ma_qa_metric.type'] = ['pLDDT', 'pLDDT']\n  cif['_ma_qa_metric.mode'] = ['global', 'local']\n  cif['_ma_qa_metric.software_group_id'] = ['1', '1']\n\n  # Global model confidence metric value.\n  cif['_ma_qa_metric_global.ordinal_id'] = ['1']\n  cif['_ma_qa_metric_global.model_id'] = ['1']\n  cif['_ma_qa_metric_global.metric_id'] = ['1']\n  global_plddt = np.mean(\n      [float(v) for v in old_cif['_atom_site.B_iso_or_equiv']]\n  )\n  cif['_ma_qa_metric_global.metric_value'] = [f'{global_plddt:.2f}']\n\n  cif['_atom_type.symbol'] = sorted(set(old_cif['_atom_site.type_symbol']))\n\n  return cif\n"
  },
  {
    "path": "alphafold/common/protein.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Protein data type.\"\"\"\n\nimport collections\nimport dataclasses\nimport functools\nimport io\nfrom typing import Any, Dict, List, Mapping, Optional, Tuple\nfrom alphafold.common import mmcif_metadata\nfrom alphafold.common import residue_constants\nfrom Bio.PDB import MMCIFParser\nfrom Bio.PDB import PDBParser\nfrom Bio.PDB.mmcifio import MMCIFIO\nfrom Bio.PDB.Structure import Structure\nimport numpy as np\n\nFeatureDict = Mapping[str, np.ndarray]\nModelOutput = Mapping[str, Any]  # Is a nested dict.\n\n# Complete sequence of chain IDs supported by the PDB format.\nPDB_CHAIN_IDS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'\nPDB_MAX_CHAINS = len(PDB_CHAIN_IDS)  # := 62.\n\n# Data to fill the _chem_comp table when writing mmCIFs.\n_CHEM_COMP: Mapping[str, Tuple[Tuple[str, str], ...]] = {\n    'L-peptide linking': (\n        ('ALA', 'ALANINE'),\n        ('ARG', 'ARGININE'),\n        ('ASN', 'ASPARAGINE'),\n        ('ASP', 'ASPARTIC ACID'),\n        ('CYS', 'CYSTEINE'),\n        ('GLN', 'GLUTAMINE'),\n        ('GLU', 'GLUTAMIC ACID'),\n        ('HIS', 'HISTIDINE'),\n        ('ILE', 'ISOLEUCINE'),\n        ('LEU', 'LEUCINE'),\n        ('LYS', 'LYSINE'),\n        ('MET', 'METHIONINE'),\n        ('PHE', 'PHENYLALANINE'),\n        ('PRO', 'PROLINE'),\n        ('SER', 'SERINE'),\n        ('THR', 'THREONINE'),\n        ('TRP', 'TRYPTOPHAN'),\n        ('TYR', 'TYROSINE'),\n        ('VAL', 'VALINE'),\n    ),\n    'peptide linking': (('GLY', 'GLYCINE'),),\n}\n\n\n@dataclasses.dataclass(frozen=True)\nclass Protein:\n  \"\"\"Protein structure representation.\"\"\"\n\n  # Cartesian coordinates of atoms in angstroms. The atom types correspond to\n  # residue_constants.atom_types, i.e. the first three are N, CA, CB.\n  atom_positions: np.ndarray  # [num_res, num_atom_type, 3]\n\n  # Amino-acid type for each residue represented as an integer between 0 and\n  # 20, where 20 is 'X'.\n  aatype: np.ndarray  # [num_res]\n\n  # Binary float mask to indicate presence of a particular atom. 1.0 if an atom\n  # is present and 0.0 if not. This should be used for loss masking.\n  atom_mask: np.ndarray  # [num_res, num_atom_type]\n\n  # Residue index as used in PDB. It is not necessarily continuous or 0-indexed.\n  residue_index: np.ndarray  # [num_res]\n\n  # 0-indexed number corresponding to the chain in the protein that this residue\n  # belongs to.\n  chain_index: np.ndarray  # [num_res]\n\n  # B-factors, or temperature factors, of each residue (in sq. angstroms units),\n  # representing the displacement of the residue from its ground truth mean\n  # value.\n  b_factors: np.ndarray  # [num_res, num_atom_type]\n\n  def __post_init__(self):\n    if len(np.unique(self.chain_index)) > PDB_MAX_CHAINS:\n      raise ValueError(\n          f'Cannot build an instance with more than {PDB_MAX_CHAINS} chains '\n          'because these cannot be written to PDB format.'\n      )\n\n\ndef _from_bio_structure(\n    structure: Structure, chain_id: Optional[str] = None\n) -> Protein:\n  \"\"\"Takes a Biopython structure and creates a `Protein` instance.\n\n  WARNING: All non-standard residue types will be converted into UNK. All\n    non-standard atoms will be ignored.\n\n  Args:\n    structure: Structure from the Biopython library.\n    chain_id: If chain_id is specified (e.g. A), then only that chain is parsed.\n      Otherwise all chains are parsed.\n\n  Returns:\n    A new `Protein` created from the structure contents.\n\n  Raises:\n    ValueError: If the number of models included in the structure is not 1.\n    ValueError: If insertion code is detected at a residue.\n  \"\"\"\n  models = list(structure.get_models())\n  if len(models) != 1:\n    raise ValueError(\n        'Only single model PDBs/mmCIFs are supported. Found'\n        f' {len(models)} models.'\n    )\n  model = models[0]\n\n  atom_positions = []\n  aatype = []\n  atom_mask = []\n  residue_index = []\n  chain_ids = []\n  b_factors = []\n\n  for chain in model:\n    if chain_id is not None and chain.id != chain_id:\n      continue\n    for res in chain:\n      if res.id[2] != ' ':\n        raise ValueError(\n            f'PDB/mmCIF contains an insertion code at chain {chain.id} and'\n            f' residue index {res.id[1]}. These are not supported.'\n        )\n      res_shortname = residue_constants.restype_3to1.get(res.resname, 'X')\n      restype_idx = residue_constants.restype_order.get(\n          res_shortname, residue_constants.restype_num\n      )\n      pos = np.zeros((residue_constants.atom_type_num, 3))\n      mask = np.zeros((residue_constants.atom_type_num,))\n      res_b_factors = np.zeros((residue_constants.atom_type_num,))\n      for atom in res:\n        if atom.name not in residue_constants.atom_types:\n          continue\n        pos[residue_constants.atom_order[atom.name]] = atom.coord\n        mask[residue_constants.atom_order[atom.name]] = 1.0\n        res_b_factors[residue_constants.atom_order[atom.name]] = atom.bfactor\n      if np.sum(mask) < 0.5:\n        # If no known atom positions are reported for the residue then skip it.\n        continue\n      aatype.append(restype_idx)\n      atom_positions.append(pos)\n      atom_mask.append(mask)\n      residue_index.append(res.id[1])\n      chain_ids.append(chain.id)\n      b_factors.append(res_b_factors)\n\n  # Chain IDs are usually characters so map these to ints.\n  unique_chain_ids = np.unique(chain_ids)\n  chain_id_mapping = {cid: n for n, cid in enumerate(unique_chain_ids)}\n  chain_index = np.array([chain_id_mapping[cid] for cid in chain_ids])\n\n  return Protein(\n      atom_positions=np.array(atom_positions),\n      atom_mask=np.array(atom_mask),\n      aatype=np.array(aatype),\n      residue_index=np.array(residue_index),\n      chain_index=chain_index,\n      b_factors=np.array(b_factors),\n  )\n\n\ndef from_pdb_string(pdb_str: str, chain_id: Optional[str] = None) -> Protein:\n  \"\"\"Takes a PDB string and constructs a `Protein` object.\n\n  WARNING: All non-standard residue types will be converted into UNK. All\n    non-standard atoms will be ignored.\n\n  Args:\n    pdb_str: The contents of the pdb file\n    chain_id: If chain_id is specified (e.g. A), then only that chain is parsed.\n      Otherwise all chains are parsed.\n\n  Returns:\n    A new `Protein` parsed from the pdb contents.\n  \"\"\"\n  with io.StringIO(pdb_str) as pdb_fh:\n    parser = PDBParser(QUIET=True)\n    structure = parser.get_structure(id='none', file=pdb_fh)\n    return _from_bio_structure(structure, chain_id)\n\n\ndef from_mmcif_string(\n    mmcif_str: str, chain_id: Optional[str] = None\n) -> Protein:\n  \"\"\"Takes a mmCIF string and constructs a `Protein` object.\n\n  WARNING: All non-standard residue types will be converted into UNK. All\n    non-standard atoms will be ignored.\n\n  Args:\n    mmcif_str: The contents of the mmCIF file\n    chain_id: If chain_id is specified (e.g. A), then only that chain is parsed.\n      Otherwise all chains are parsed.\n\n  Returns:\n    A new `Protein` parsed from the mmCIF contents.\n  \"\"\"\n  with io.StringIO(mmcif_str) as mmcif_fh:\n    parser = MMCIFParser(QUIET=True)\n    structure = parser.get_structure(structure_id='none', filename=mmcif_fh)\n    return _from_bio_structure(structure, chain_id)\n\n\ndef _chain_end(atom_index, end_resname, chain_name, residue_index) -> str:\n  chain_end = 'TER'\n  return (\n      f'{chain_end:<6}{atom_index:>5}      {end_resname:>3} '\n      f'{chain_name:>1}{residue_index:>4}'\n  )\n\n\ndef to_pdb(prot: Protein) -> str:\n  \"\"\"Converts a `Protein` instance to a PDB string.\n\n  Args:\n    prot: The protein to convert to PDB.\n\n  Returns:\n    PDB string.\n  \"\"\"\n  restypes = residue_constants.restypes + ['X']\n  res_1to3 = lambda r: residue_constants.restype_1to3.get(restypes[r], 'UNK')\n  atom_types = residue_constants.atom_types\n\n  pdb_lines = []\n\n  atom_mask = prot.atom_mask\n  aatype = prot.aatype\n  atom_positions = prot.atom_positions\n  residue_index = prot.residue_index.astype(np.int32)\n  chain_index = prot.chain_index.astype(np.int32)\n  b_factors = prot.b_factors\n\n  if np.any(aatype > residue_constants.restype_num):\n    raise ValueError('Invalid aatypes.')\n\n  # Construct a mapping from chain integer indices to chain ID strings.\n  chain_ids = {}\n  for i in np.unique(chain_index):  # np.unique gives sorted output.\n    if i >= PDB_MAX_CHAINS:\n      raise ValueError(\n          f'The PDB format supports at most {PDB_MAX_CHAINS} chains.'\n      )\n    chain_ids[i] = PDB_CHAIN_IDS[i]\n\n  pdb_lines.append('MODEL     1')\n  atom_index = 1\n  last_chain_index = chain_index[0]\n  # Add all atom sites.\n  for i in range(aatype.shape[0]):\n    # Close the previous chain if in a multichain PDB.\n    if last_chain_index != chain_index[i]:\n      pdb_lines.append(\n          _chain_end(\n              atom_index,\n              res_1to3(aatype[i - 1]),\n              chain_ids[chain_index[i - 1]],\n              residue_index[i - 1],\n          )\n      )\n      last_chain_index = chain_index[i]\n      atom_index += 1  # Atom index increases at the TER symbol.\n\n    res_name_3 = res_1to3(aatype[i])\n    for atom_name, pos, mask, b_factor in zip(\n        atom_types, atom_positions[i], atom_mask[i], b_factors[i]\n    ):\n      if mask < 0.5:\n        continue\n\n      record_type = 'ATOM'\n      name = atom_name if len(atom_name) == 4 else f' {atom_name}'\n      alt_loc = ''\n      insertion_code = ''\n      occupancy = 1.00\n      element = atom_name[0]  # Protein supports only C, N, O, S, this works.\n      charge = ''\n      # PDB is a columnar format, every space matters here!\n      atom_line = (\n          f'{record_type:<6}{atom_index:>5} {name:<4}{alt_loc:>1}'\n          f'{res_name_3:>3} {chain_ids[chain_index[i]]:>1}'\n          f'{residue_index[i]:>4}{insertion_code:>1}   '\n          f'{pos[0]:>8.3f}{pos[1]:>8.3f}{pos[2]:>8.3f}'\n          f'{occupancy:>6.2f}{b_factor:>6.2f}          '\n          f'{element:>2}{charge:>2}'\n      )\n      pdb_lines.append(atom_line)\n      atom_index += 1\n\n  # Close the final chain.\n  pdb_lines.append(\n      _chain_end(\n          atom_index,\n          res_1to3(aatype[-1]),\n          chain_ids[chain_index[-1]],\n          residue_index[-1],\n      )\n  )\n  pdb_lines.append('ENDMDL')\n  pdb_lines.append('END')\n\n  # Pad all lines to 80 characters.\n  pdb_lines = [line.ljust(80) for line in pdb_lines]\n  return '\\n'.join(pdb_lines) + '\\n'  # Add terminating newline.\n\n\ndef ideal_atom_mask(prot: Protein) -> np.ndarray:\n  \"\"\"Computes an ideal atom mask.\n\n  `Protein.atom_mask` typically is defined according to the atoms that are\n  reported in the PDB. This function computes a mask according to heavy atoms\n  that should be present in the given sequence of amino acids.\n\n  Args:\n    prot: `Protein` whose fields are `numpy.ndarray` objects.\n\n  Returns:\n    An ideal atom mask.\n  \"\"\"\n  return residue_constants.STANDARD_ATOM_MASK[prot.aatype]\n\n\ndef from_prediction(\n    features: FeatureDict,\n    result: ModelOutput,\n    b_factors: Optional[np.ndarray] = None,\n    remove_leading_feature_dimension: bool = True,\n) -> Protein:\n  \"\"\"Assembles a protein from a prediction.\n\n  Args:\n    features: Dictionary holding model inputs.\n    result: Dictionary holding model outputs.\n    b_factors: (Optional) B-factors to use for the protein.\n    remove_leading_feature_dimension: Whether to remove the leading dimension of\n      the `features` values.\n\n  Returns:\n    A protein instance.\n  \"\"\"\n  fold_output = result['structure_module']\n\n  def _maybe_remove_leading_dim(arr: np.ndarray) -> np.ndarray:\n    return arr[0] if remove_leading_feature_dimension else arr\n\n  if 'asym_id' in features:\n    chain_index = _maybe_remove_leading_dim(features['asym_id'])\n  else:\n    chain_index = np.zeros_like(_maybe_remove_leading_dim(features['aatype']))\n\n  if b_factors is None:\n    b_factors = np.zeros_like(fold_output['final_atom_mask'])\n\n  return Protein(\n      aatype=_maybe_remove_leading_dim(features['aatype']),\n      atom_positions=fold_output['final_atom_positions'],\n      atom_mask=fold_output['final_atom_mask'],\n      residue_index=_maybe_remove_leading_dim(features['residue_index']) + 1,\n      chain_index=chain_index,\n      b_factors=b_factors,\n  )\n\n\ndef to_mmcif(\n    prot: Protein,\n    file_id: str,\n    model_type: str,\n) -> str:\n  \"\"\"Converts a `Protein` instance to an mmCIF string.\n\n  WARNING 1: The _entity_poly_seq is filled with unknown (UNK) residues for any\n    missing residue indices in the range from min(1, min(residue_index)) to\n    max(residue_index). E.g. for a protein object with positions for residues\n    2 (MET), 3 (LYS), 6 (GLY), this method would set the _entity_poly_seq to:\n    1 UNK\n    2 MET\n    3 LYS\n    4 UNK\n    5 UNK\n    6 GLY\n    This is done to preserve the residue numbering.\n\n  WARNING 2: Converting ground truth mmCIF file to Protein and then back to\n    mmCIF using this method will convert all non-standard residue types to UNK.\n    If you need this behaviour, you need to store more mmCIF metadata in the\n    Protein object (e.g. all fields except for the _atom_site loop).\n\n  WARNING 3: Converting ground truth mmCIF file to Protein and then back to\n    mmCIF using this method will not retain the original chain indices.\n\n  WARNING 4: In case of multiple identical chains, they are assigned different\n    `_atom_site.label_entity_id` values.\n\n  Args:\n    prot: A protein to convert to mmCIF string.\n    file_id: The file ID (usually the PDB ID) to be used in the mmCIF.\n    model_type: 'Multimer' or 'Monomer'.\n\n  Returns:\n    A valid mmCIF string.\n\n  Raises:\n    ValueError: If aminoacid types array contains entries with too many protein\n    types.\n  \"\"\"\n  atom_mask = prot.atom_mask\n  aatype = prot.aatype\n  atom_positions = prot.atom_positions\n  residue_index = prot.residue_index.astype(np.int32)\n  chain_index = prot.chain_index.astype(np.int32)\n  b_factors = prot.b_factors\n\n  # Construct a mapping from chain integer indices to chain ID strings.\n  chain_ids = {}\n  # We count unknown residues as protein residues.\n  for entity_id in np.unique(chain_index):  # np.unique gives sorted output.\n    chain_ids[entity_id] = _int_id_to_str_id(entity_id + 1)\n\n  mmcif_dict = collections.defaultdict(list)\n\n  mmcif_dict['data_'] = file_id.upper()\n  mmcif_dict['_entry.id'] = file_id.upper()\n\n  label_asym_id_to_entity_id = {}\n  # Entity and chain information.\n  for entity_id, chain_id in chain_ids.items():\n    # Add all chain information to the _struct_asym table.\n    label_asym_id_to_entity_id[str(chain_id)] = str(entity_id)\n    mmcif_dict['_struct_asym.id'].append(chain_id)\n    mmcif_dict['_struct_asym.entity_id'].append(str(entity_id))\n    # Add information about the entity to the _entity_poly table.\n    mmcif_dict['_entity_poly.entity_id'].append(str(entity_id))\n    mmcif_dict['_entity_poly.type'].append(residue_constants.PROTEIN_CHAIN)\n    mmcif_dict['_entity_poly.pdbx_strand_id'].append(chain_id)\n    # Generate the _entity table.\n    mmcif_dict['_entity.id'].append(str(entity_id))\n    mmcif_dict['_entity.type'].append(residue_constants.POLYMER_CHAIN)\n\n  # Add the residues to the _entity_poly_seq table.\n  for entity_id, (res_ids, aas) in _get_entity_poly_seq(\n      aatype, residue_index, chain_index\n  ).items():\n    for res_id, aa in zip(res_ids, aas):\n      mmcif_dict['_entity_poly_seq.entity_id'].append(str(entity_id))\n      mmcif_dict['_entity_poly_seq.num'].append(str(res_id))\n      mmcif_dict['_entity_poly_seq.mon_id'].append(\n          residue_constants.resnames[aa]\n      )\n\n  # Populate the chem comp table.\n  for chem_type, chem_comp in _CHEM_COMP.items():\n    for chem_id, chem_name in chem_comp:\n      mmcif_dict['_chem_comp.id'].append(chem_id)\n      mmcif_dict['_chem_comp.type'].append(chem_type)\n      mmcif_dict['_chem_comp.name'].append(chem_name)\n\n  # Add all atom sites.\n  atom_index = 1\n  for i in range(aatype.shape[0]):\n    res_name_3 = residue_constants.resnames[aatype[i]]\n    if aatype[i] <= len(residue_constants.restypes):\n      atom_names = residue_constants.atom_types\n    else:\n      raise ValueError(\n          'Amino acid types array contains entries with too many protein types.'\n      )\n    for atom_name, pos, mask, b_factor in zip(\n        atom_names, atom_positions[i], atom_mask[i], b_factors[i]\n    ):\n      if mask < 0.5:\n        continue\n      type_symbol = residue_constants.atom_id_to_type(atom_name)\n\n      mmcif_dict['_atom_site.group_PDB'].append('ATOM')\n      mmcif_dict['_atom_site.id'].append(str(atom_index))\n      mmcif_dict['_atom_site.type_symbol'].append(type_symbol)\n      mmcif_dict['_atom_site.label_atom_id'].append(atom_name)\n      mmcif_dict['_atom_site.label_alt_id'].append('.')\n      mmcif_dict['_atom_site.label_comp_id'].append(res_name_3)\n      mmcif_dict['_atom_site.label_asym_id'].append(chain_ids[chain_index[i]])\n      mmcif_dict['_atom_site.label_entity_id'].append(\n          label_asym_id_to_entity_id[chain_ids[chain_index[i]]]\n      )\n      mmcif_dict['_atom_site.label_seq_id'].append(str(residue_index[i]))\n      mmcif_dict['_atom_site.pdbx_PDB_ins_code'].append('.')\n      mmcif_dict['_atom_site.Cartn_x'].append(f'{pos[0]:.3f}')\n      mmcif_dict['_atom_site.Cartn_y'].append(f'{pos[1]:.3f}')\n      mmcif_dict['_atom_site.Cartn_z'].append(f'{pos[2]:.3f}')\n      mmcif_dict['_atom_site.occupancy'].append('1.00')\n      mmcif_dict['_atom_site.B_iso_or_equiv'].append(f'{b_factor:.2f}')\n      mmcif_dict['_atom_site.auth_seq_id'].append(str(residue_index[i]))\n      mmcif_dict['_atom_site.auth_asym_id'].append(chain_ids[chain_index[i]])\n      mmcif_dict['_atom_site.pdbx_PDB_model_num'].append('1')\n\n      atom_index += 1\n\n  metadata_dict = mmcif_metadata.add_metadata_to_mmcif(mmcif_dict, model_type)\n  mmcif_dict.update(metadata_dict)\n\n  return _create_mmcif_string(mmcif_dict)\n\n\n@functools.lru_cache(maxsize=256)\ndef _int_id_to_str_id(num: int) -> str:\n  \"\"\"Encodes a number as a string, using reverse spreadsheet style naming.\n\n  Args:\n    num: A positive integer.\n\n  Returns:\n    A string that encodes the positive integer using reverse spreadsheet style,\n    naming e.g. 1 = A, 2 = B, ..., 27 = AA, 28 = BA, 29 = CA, ... This is the\n    usual way to encode chain IDs in mmCIF files.\n  \"\"\"\n  if num <= 0:\n    raise ValueError(f'Only positive integers allowed, got {num}.')\n\n  num = num - 1  # 1-based indexing.\n  output = []\n  while num >= 0:\n    output.append(chr(num % 26 + ord('A')))\n    num = num // 26 - 1\n  return ''.join(output)\n\n\ndef _get_entity_poly_seq(\n    aatypes: np.ndarray, residue_indices: np.ndarray, chain_indices: np.ndarray\n) -> Dict[int, Tuple[List[int], List[int]]]:\n  \"\"\"Constructs gapless residue index and aatype lists for each chain.\n\n  Args:\n    aatypes: A numpy array with aatypes.\n    residue_indices: A numpy array with residue indices.\n    chain_indices: A numpy array with chain indices.\n\n  Returns:\n    A dictionary mapping chain indices to a tuple with list of residue indices\n    and a list of aatypes. Missing residues are filled with UNK residue type.\n  \"\"\"\n  if (\n      aatypes.shape[0] != residue_indices.shape[0]\n      or aatypes.shape[0] != chain_indices.shape[0]\n  ):\n    raise ValueError(\n        'aatypes, residue_indices, chain_indices must have the same length.'\n    )\n\n  # Group the present residues by chain index.\n  present = collections.defaultdict(list)\n  for chain_id, res_id, aa in zip(chain_indices, residue_indices, aatypes):\n    present[chain_id].append((res_id, aa))\n\n  # Add any missing residues (from 1 to the first residue and for any gaps).\n  entity_poly_seq = {}\n  for chain_id, present_residues in present.items():\n    present_residue_indices = set([x[0] for x in present_residues])\n    min_res_id = min(present_residue_indices)  # Could be negative.\n    max_res_id = max(present_residue_indices)\n\n    new_residue_indices = []\n    new_aatypes = []\n    present_index = 0\n    for i in range(min(1, min_res_id), max_res_id + 1):\n      new_residue_indices.append(i)\n      if i in present_residue_indices:\n        new_aatypes.append(present_residues[present_index][1])\n        present_index += 1\n      else:\n        new_aatypes.append(20)  # Unknown amino acid type.\n    entity_poly_seq[chain_id] = (new_residue_indices, new_aatypes)\n  return entity_poly_seq\n\n\ndef _create_mmcif_string(mmcif_dict: Dict[str, Any]) -> str:\n  \"\"\"Converts mmCIF dictionary into mmCIF string.\"\"\"\n  mmcifio = MMCIFIO()\n  mmcifio.set_dict(mmcif_dict)\n\n  with io.StringIO() as file_handle:\n    mmcifio.save(file_handle)\n    return file_handle.getvalue()\n"
  },
  {
    "path": "alphafold/common/protein_test.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport os\n\nfrom absl.testing import absltest\nfrom absl.testing import parameterized\nfrom alphafold.common import protein\nfrom alphafold.common import residue_constants\nimport numpy as np\n\n# Internal import (7716).\n\nTEST_DATA_DIR = 'alphafold/common/testdata/'\n\n\nclass ProteinTest(parameterized.TestCase):\n\n  def _check_shapes(self, prot, num_res):\n    \"\"\"Check that the processed shapes are correct.\"\"\"\n    num_atoms = residue_constants.atom_type_num\n    self.assertEqual((num_res, num_atoms, 3), prot.atom_positions.shape)\n    self.assertEqual((num_res,), prot.aatype.shape)\n    self.assertEqual((num_res, num_atoms), prot.atom_mask.shape)\n    self.assertEqual((num_res,), prot.residue_index.shape)\n    self.assertEqual((num_res,), prot.chain_index.shape)\n    self.assertEqual((num_res, num_atoms), prot.b_factors.shape)\n\n  @parameterized.named_parameters(\n      dict(\n          testcase_name='chain_A',\n          pdb_file='2rbg.pdb',\n          chain_id='A',\n          num_res=282,\n          num_chains=1,\n      ),\n      dict(\n          testcase_name='chain_B',\n          pdb_file='2rbg.pdb',\n          chain_id='B',\n          num_res=282,\n          num_chains=1,\n      ),\n      dict(\n          testcase_name='multichain',\n          pdb_file='2rbg.pdb',\n          chain_id=None,\n          num_res=564,\n          num_chains=2,\n      ),\n  )\n  def test_from_pdb_str(self, pdb_file, chain_id, num_res, num_chains):\n    pdb_file = os.path.join(\n        absltest.get_default_test_srcdir(), TEST_DATA_DIR, pdb_file\n    )\n    with open(pdb_file) as f:\n      pdb_string = f.read()\n    prot = protein.from_pdb_string(pdb_string, chain_id)\n    self._check_shapes(prot, num_res)\n    self.assertGreaterEqual(prot.aatype.min(), 0)\n    # Allow equal since unknown restypes have index equal to restype_num.\n    self.assertLessEqual(prot.aatype.max(), residue_constants.restype_num)\n    self.assertLen(np.unique(prot.chain_index), num_chains)\n\n  def test_to_pdb(self):\n    with open(\n        os.path.join(\n            absltest.get_default_test_srcdir(), TEST_DATA_DIR, '2rbg.pdb'\n        )\n    ) as f:\n      pdb_string = f.read()\n    prot = protein.from_pdb_string(pdb_string)\n    pdb_string_reconstr = protein.to_pdb(prot)\n\n    for line in pdb_string_reconstr.splitlines():\n      self.assertLen(line, 80)\n\n    prot_reconstr = protein.from_pdb_string(pdb_string_reconstr)\n\n    np.testing.assert_array_equal(prot_reconstr.aatype, prot.aatype)\n    np.testing.assert_array_almost_equal(\n        prot_reconstr.atom_positions, prot.atom_positions\n    )\n    np.testing.assert_array_almost_equal(\n        prot_reconstr.atom_mask, prot.atom_mask\n    )\n    np.testing.assert_array_equal(\n        prot_reconstr.residue_index, prot.residue_index\n    )\n    np.testing.assert_array_equal(prot_reconstr.chain_index, prot.chain_index)\n    np.testing.assert_array_almost_equal(\n        prot_reconstr.b_factors, prot.b_factors\n    )\n\n  @parameterized.named_parameters(\n      dict(\n          testcase_name='glucagon',\n          pdb_file='glucagon.pdb',\n          model_type='Monomer',\n      ),\n      dict(testcase_name='7bui', pdb_file='5nmu.pdb', model_type='Multimer'),\n  )\n  def test_to_mmcif(self, pdb_file, model_type):\n    with open(\n        os.path.join(\n            absltest.get_default_test_srcdir(), TEST_DATA_DIR, pdb_file\n        )\n    ) as f:\n      pdb_string = f.read()\n    prot = protein.from_pdb_string(pdb_string)\n\n    file_id = 'test'\n    mmcif_string = protein.to_mmcif(prot, file_id, model_type)\n    prot_reconstr = protein.from_mmcif_string(mmcif_string)\n\n    np.testing.assert_array_equal(prot_reconstr.aatype, prot.aatype)\n    np.testing.assert_array_almost_equal(\n        prot_reconstr.atom_positions, prot.atom_positions\n    )\n    np.testing.assert_array_almost_equal(\n        prot_reconstr.atom_mask, prot.atom_mask\n    )\n    np.testing.assert_array_equal(\n        prot_reconstr.residue_index, prot.residue_index\n    )\n    np.testing.assert_array_equal(prot_reconstr.chain_index, prot.chain_index)\n    np.testing.assert_array_almost_equal(\n        prot_reconstr.b_factors, prot.b_factors\n    )\n\n  def test_ideal_atom_mask(self):\n    with open(\n        os.path.join(\n            absltest.get_default_test_srcdir(), TEST_DATA_DIR, '2rbg.pdb'\n        )\n    ) as f:\n      pdb_string = f.read()\n    prot = protein.from_pdb_string(pdb_string)\n    ideal_mask = protein.ideal_atom_mask(prot)\n    non_ideal_residues = set([102] + list(range(127, 286)))\n    for i, (res, atom_mask) in enumerate(\n        zip(prot.residue_index, prot.atom_mask)\n    ):\n      if res in non_ideal_residues:\n        self.assertFalse(np.all(atom_mask == ideal_mask[i]), msg=f'{res}')\n      else:\n        self.assertTrue(np.all(atom_mask == ideal_mask[i]), msg=f'{res}')\n\n  def test_too_many_chains(self):\n    num_res = protein.PDB_MAX_CHAINS + 1\n    num_atom_type = residue_constants.atom_type_num\n    with self.assertRaises(ValueError):\n      _ = protein.Protein(\n          atom_positions=np.random.random([num_res, num_atom_type, 3]),\n          aatype=np.random.randint(0, 21, [num_res]),\n          atom_mask=np.random.randint(0, 2, [num_res]).astype(np.float32),\n          residue_index=np.arange(1, num_res + 1),\n          chain_index=np.arange(num_res),\n          b_factors=np.random.uniform(1, 100, [num_res]),\n      )\n\n\nif __name__ == '__main__':\n  absltest.main()\n"
  },
  {
    "path": "alphafold/common/residue_constants.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Constants used in AlphaFold.\"\"\"\n\nimport collections\nimport functools\nimport os\nfrom typing import Final, List, Mapping, Tuple\n\nfrom jax import tree\nimport numpy as np\n\n# Internal import (35fd).\n\n\n# Distance from one CA to next CA [trans configuration: omega = 180].\nca_ca = 3.80209737096\n\n# Format: The list for each AA type contains chi1, chi2, chi3, chi4 in\n# this order (or a relevant subset from chi1 onwards). ALA and GLY don't have\n# chi angles so their chi angle lists are empty.\nchi_angles_atoms = {\n    'ALA': [],\n    # Chi5 in arginine is always 0 +- 5 degrees, so ignore it.\n    'ARG': [\n        ['N', 'CA', 'CB', 'CG'],\n        ['CA', 'CB', 'CG', 'CD'],\n        ['CB', 'CG', 'CD', 'NE'],\n        ['CG', 'CD', 'NE', 'CZ'],\n    ],\n    'ASN': [['N', 'CA', 'CB', 'CG'], ['CA', 'CB', 'CG', 'OD1']],\n    'ASP': [['N', 'CA', 'CB', 'CG'], ['CA', 'CB', 'CG', 'OD1']],\n    'CYS': [['N', 'CA', 'CB', 'SG']],\n    'GLN': [\n        ['N', 'CA', 'CB', 'CG'],\n        ['CA', 'CB', 'CG', 'CD'],\n        ['CB', 'CG', 'CD', 'OE1'],\n    ],\n    'GLU': [\n        ['N', 'CA', 'CB', 'CG'],\n        ['CA', 'CB', 'CG', 'CD'],\n        ['CB', 'CG', 'CD', 'OE1'],\n    ],\n    'GLY': [],\n    'HIS': [['N', 'CA', 'CB', 'CG'], ['CA', 'CB', 'CG', 'ND1']],\n    'ILE': [['N', 'CA', 'CB', 'CG1'], ['CA', 'CB', 'CG1', 'CD1']],\n    'LEU': [['N', 'CA', 'CB', 'CG'], ['CA', 'CB', 'CG', 'CD1']],\n    'LYS': [\n        ['N', 'CA', 'CB', 'CG'],\n        ['CA', 'CB', 'CG', 'CD'],\n        ['CB', 'CG', 'CD', 'CE'],\n        ['CG', 'CD', 'CE', 'NZ'],\n    ],\n    'MET': [\n        ['N', 'CA', 'CB', 'CG'],\n        ['CA', 'CB', 'CG', 'SD'],\n        ['CB', 'CG', 'SD', 'CE'],\n    ],\n    'PHE': [['N', 'CA', 'CB', 'CG'], ['CA', 'CB', 'CG', 'CD1']],\n    'PRO': [['N', 'CA', 'CB', 'CG'], ['CA', 'CB', 'CG', 'CD']],\n    'SER': [['N', 'CA', 'CB', 'OG']],\n    'THR': [['N', 'CA', 'CB', 'OG1']],\n    'TRP': [['N', 'CA', 'CB', 'CG'], ['CA', 'CB', 'CG', 'CD1']],\n    'TYR': [['N', 'CA', 'CB', 'CG'], ['CA', 'CB', 'CG', 'CD1']],\n    'VAL': [['N', 'CA', 'CB', 'CG1']],\n}\n\n# If chi angles given in fixed-length array, this matrix determines how to mask\n# them for each AA type. The order is as per restype_order (see below).\nchi_angles_mask = [\n    [0.0, 0.0, 0.0, 0.0],  # ALA\n    [1.0, 1.0, 1.0, 1.0],  # ARG\n    [1.0, 1.0, 0.0, 0.0],  # ASN\n    [1.0, 1.0, 0.0, 0.0],  # ASP\n    [1.0, 0.0, 0.0, 0.0],  # CYS\n    [1.0, 1.0, 1.0, 0.0],  # GLN\n    [1.0, 1.0, 1.0, 0.0],  # GLU\n    [0.0, 0.0, 0.0, 0.0],  # GLY\n    [1.0, 1.0, 0.0, 0.0],  # HIS\n    [1.0, 1.0, 0.0, 0.0],  # ILE\n    [1.0, 1.0, 0.0, 0.0],  # LEU\n    [1.0, 1.0, 1.0, 1.0],  # LYS\n    [1.0, 1.0, 1.0, 0.0],  # MET\n    [1.0, 1.0, 0.0, 0.0],  # PHE\n    [1.0, 1.0, 0.0, 0.0],  # PRO\n    [1.0, 0.0, 0.0, 0.0],  # SER\n    [1.0, 0.0, 0.0, 0.0],  # THR\n    [1.0, 1.0, 0.0, 0.0],  # TRP\n    [1.0, 1.0, 0.0, 0.0],  # TYR\n    [1.0, 0.0, 0.0, 0.0],  # VAL\n]\n\n# The following chi angles are pi periodic: they can be rotated by a multiple\n# of pi without affecting the structure.\nchi_pi_periodic = [\n    [0.0, 0.0, 0.0, 0.0],  # ALA\n    [0.0, 0.0, 0.0, 0.0],  # ARG\n    [0.0, 0.0, 0.0, 0.0],  # ASN\n    [0.0, 1.0, 0.0, 0.0],  # ASP\n    [0.0, 0.0, 0.0, 0.0],  # CYS\n    [0.0, 0.0, 0.0, 0.0],  # GLN\n    [0.0, 0.0, 1.0, 0.0],  # GLU\n    [0.0, 0.0, 0.0, 0.0],  # GLY\n    [0.0, 0.0, 0.0, 0.0],  # HIS\n    [0.0, 0.0, 0.0, 0.0],  # ILE\n    [0.0, 0.0, 0.0, 0.0],  # LEU\n    [0.0, 0.0, 0.0, 0.0],  # LYS\n    [0.0, 0.0, 0.0, 0.0],  # MET\n    [0.0, 1.0, 0.0, 0.0],  # PHE\n    [0.0, 0.0, 0.0, 0.0],  # PRO\n    [0.0, 0.0, 0.0, 0.0],  # SER\n    [0.0, 0.0, 0.0, 0.0],  # THR\n    [0.0, 0.0, 0.0, 0.0],  # TRP\n    [0.0, 1.0, 0.0, 0.0],  # TYR\n    [0.0, 0.0, 0.0, 0.0],  # VAL\n    [0.0, 0.0, 0.0, 0.0],  # UNK\n]\n\n# Atoms positions relative to the 8 rigid groups, defined by the pre-omega, phi,\n# psi and chi angles:\n# 0: 'backbone group',\n# 1: 'pre-omega-group', (empty)\n# 2: 'phi-group', (currently empty, because it defines only hydrogens)\n# 3: 'psi-group',\n# 4,5,6,7: 'chi1,2,3,4-group'\n# The atom positions are relative to the axis-end-atom of the corresponding\n# rotation axis. The x-axis is in direction of the rotation axis, and the y-axis\n# is defined such that the dihedral-angle-defining atom (the last entry in\n# chi_angles_atoms above) is in the xy-plane (with a positive y-coordinate).\n# format: [atomname, group_idx, rel_position]\nrigid_group_atom_positions = {\n    'ALA': [\n        ['N', 0, (-0.525, 1.363, 0.000)],\n        ['CA', 0, (0.000, 0.000, 0.000)],\n        ['C', 0, (1.526, -0.000, -0.000)],\n        ['CB', 0, (-0.529, -0.774, -1.205)],\n        ['O', 3, (0.627, 1.062, 0.000)],\n    ],\n    'ARG': [\n        ['N', 0, (-0.524, 1.362, -0.000)],\n        ['CA', 0, (0.000, 0.000, 0.000)],\n        ['C', 0, (1.525, -0.000, -0.000)],\n        ['CB', 0, (-0.524, -0.778, -1.209)],\n        ['O', 3, (0.626, 1.062, 0.000)],\n        ['CG', 4, (0.616, 1.390, -0.000)],\n        ['CD', 5, (0.564, 1.414, 0.000)],\n        ['NE', 6, (0.539, 1.357, -0.000)],\n        ['NH1', 7, (0.206, 2.301, 0.000)],\n        ['NH2', 7, (2.078, 0.978, -0.000)],\n        ['CZ', 7, (0.758, 1.093, -0.000)],\n    ],\n    'ASN': [\n        ['N', 0, (-0.536, 1.357, 0.000)],\n        ['CA', 0, (0.000, 0.000, 0.000)],\n        ['C', 0, (1.526, -0.000, -0.000)],\n        ['CB', 0, (-0.531, -0.787, -1.200)],\n        ['O', 3, (0.625, 1.062, 0.000)],\n        ['CG', 4, (0.584, 1.399, 0.000)],\n        ['ND2', 5, (0.593, -1.188, 0.001)],\n        ['OD1', 5, (0.633, 1.059, 0.000)],\n    ],\n    'ASP': [\n        ['N', 0, (-0.525, 1.362, -0.000)],\n        ['CA', 0, (0.000, 0.000, 0.000)],\n        ['C', 0, (1.527, 0.000, -0.000)],\n        ['CB', 0, (-0.526, -0.778, -1.208)],\n        ['O', 3, (0.626, 1.062, -0.000)],\n        ['CG', 4, (0.593, 1.398, -0.000)],\n        ['OD1', 5, (0.610, 1.091, 0.000)],\n        ['OD2', 5, (0.592, -1.101, -0.003)],\n    ],\n    'CYS': [\n        ['N', 0, (-0.522, 1.362, -0.000)],\n        ['CA', 0, (0.000, 0.000, 0.000)],\n        ['C', 0, (1.524, 0.000, 0.000)],\n        ['CB', 0, (-0.519, -0.773, -1.212)],\n        ['O', 3, (0.625, 1.062, -0.000)],\n        ['SG', 4, (0.728, 1.653, 0.000)],\n    ],\n    'GLN': [\n        ['N', 0, (-0.526, 1.361, -0.000)],\n        ['CA', 0, (0.000, 0.000, 0.000)],\n        ['C', 0, (1.526, 0.000, 0.000)],\n        ['CB', 0, (-0.525, -0.779, -1.207)],\n        ['O', 3, (0.626, 1.062, -0.000)],\n        ['CG', 4, (0.615, 1.393, 0.000)],\n        ['CD', 5, (0.587, 1.399, -0.000)],\n        ['NE2', 6, (0.593, -1.189, -0.001)],\n        ['OE1', 6, (0.634, 1.060, 0.000)],\n    ],\n    'GLU': [\n        ['N', 0, (-0.528, 1.361, 0.000)],\n        ['CA', 0, (0.000, 0.000, 0.000)],\n        ['C', 0, (1.526, -0.000, -0.000)],\n        ['CB', 0, (-0.526, -0.781, -1.207)],\n        ['O', 3, (0.626, 1.062, 0.000)],\n        ['CG', 4, (0.615, 1.392, 0.000)],\n        ['CD', 5, (0.600, 1.397, 0.000)],\n        ['OE1', 6, (0.607, 1.095, -0.000)],\n        ['OE2', 6, (0.589, -1.104, -0.001)],\n    ],\n    'GLY': [\n        ['N', 0, (-0.572, 1.337, 0.000)],\n        ['CA', 0, (0.000, 0.000, 0.000)],\n        ['C', 0, (1.517, -0.000, -0.000)],\n        ['O', 3, (0.626, 1.062, -0.000)],\n    ],\n    'HIS': [\n        ['N', 0, (-0.527, 1.360, 0.000)],\n        ['CA', 0, (0.000, 0.000, 0.000)],\n        ['C', 0, (1.525, 0.000, 0.000)],\n        ['CB', 0, (-0.525, -0.778, -1.208)],\n        ['O', 3, (0.625, 1.063, 0.000)],\n        ['CG', 4, (0.600, 1.370, -0.000)],\n        ['CD2', 5, (0.889, -1.021, 0.003)],\n        ['ND1', 5, (0.744, 1.160, -0.000)],\n        ['CE1', 5, (2.030, 0.851, 0.002)],\n        ['NE2', 5, (2.145, -0.466, 0.004)],\n    ],\n    'ILE': [\n        ['N', 0, (-0.493, 1.373, -0.000)],\n        ['CA', 0, (0.000, 0.000, 0.000)],\n        ['C', 0, (1.527, -0.000, -0.000)],\n        ['CB', 0, (-0.536, -0.793, -1.213)],\n        ['O', 3, (0.627, 1.062, -0.000)],\n        ['CG1', 4, (0.534, 1.437, -0.000)],\n        ['CG2', 4, (0.540, -0.785, -1.199)],\n        ['CD1', 5, (0.619, 1.391, 0.000)],\n    ],\n    'LEU': [\n        ['N', 0, (-0.520, 1.363, 0.000)],\n        ['CA', 0, (0.000, 0.000, 0.000)],\n        ['C', 0, (1.525, -0.000, -0.000)],\n        ['CB', 0, (-0.522, -0.773, -1.214)],\n        ['O', 3, (0.625, 1.063, -0.000)],\n        ['CG', 4, (0.678, 1.371, 0.000)],\n        ['CD1', 5, (0.530, 1.430, -0.000)],\n        ['CD2', 5, (0.535, -0.774, 1.200)],\n    ],\n    'LYS': [\n        ['N', 0, (-0.526, 1.362, -0.000)],\n        ['CA', 0, (0.000, 0.000, 0.000)],\n        ['C', 0, (1.526, 0.000, 0.000)],\n        ['CB', 0, (-0.524, -0.778, -1.208)],\n        ['O', 3, (0.626, 1.062, -0.000)],\n        ['CG', 4, (0.619, 1.390, 0.000)],\n        ['CD', 5, (0.559, 1.417, 0.000)],\n        ['CE', 6, (0.560, 1.416, 0.000)],\n        ['NZ', 7, (0.554, 1.387, 0.000)],\n    ],\n    'MET': [\n        ['N', 0, (-0.521, 1.364, -0.000)],\n        ['CA', 0, (0.000, 0.000, 0.000)],\n        ['C', 0, (1.525, 0.000, 0.000)],\n        ['CB', 0, (-0.523, -0.776, -1.210)],\n        ['O', 3, (0.625, 1.062, -0.000)],\n        ['CG', 4, (0.613, 1.391, -0.000)],\n        ['SD', 5, (0.703, 1.695, 0.000)],\n        ['CE', 6, (0.320, 1.786, -0.000)],\n    ],\n    'PHE': [\n        ['N', 0, (-0.518, 1.363, 0.000)],\n        ['CA', 0, (0.000, 0.000, 0.000)],\n        ['C', 0, (1.524, 0.000, -0.000)],\n        ['CB', 0, (-0.525, -0.776, -1.212)],\n        ['O', 3, (0.626, 1.062, -0.000)],\n        ['CG', 4, (0.607, 1.377, 0.000)],\n        ['CD1', 5, (0.709, 1.195, -0.000)],\n        ['CD2', 5, (0.706, -1.196, 0.000)],\n        ['CE1', 5, (2.102, 1.198, -0.000)],\n        ['CE2', 5, (2.098, -1.201, -0.000)],\n        ['CZ', 5, (2.794, -0.003, -0.001)],\n    ],\n    'PRO': [\n        ['N', 0, (-0.566, 1.351, -0.000)],\n        ['CA', 0, (0.000, 0.000, 0.000)],\n        ['C', 0, (1.527, -0.000, 0.000)],\n        ['CB', 0, (-0.546, -0.611, -1.293)],\n        ['O', 3, (0.621, 1.066, 0.000)],\n        ['CG', 4, (0.382, 1.445, 0.0)],\n        # ['CD', 5, (0.427, 1.440, 0.0)],\n        ['CD', 5, (0.477, 1.424, 0.0)],  # manually made angle 2 degrees larger\n    ],\n    'SER': [\n        ['N', 0, (-0.529, 1.360, -0.000)],\n        ['CA', 0, (0.000, 0.000, 0.000)],\n        ['C', 0, (1.525, -0.000, -0.000)],\n        ['CB', 0, (-0.518, -0.777, -1.211)],\n        ['O', 3, (0.626, 1.062, -0.000)],\n        ['OG', 4, (0.503, 1.325, 0.000)],\n    ],\n    'THR': [\n        ['N', 0, (-0.517, 1.364, 0.000)],\n        ['CA', 0, (0.000, 0.000, 0.000)],\n        ['C', 0, (1.526, 0.000, -0.000)],\n        ['CB', 0, (-0.516, -0.793, -1.215)],\n        ['O', 3, (0.626, 1.062, 0.000)],\n        ['CG2', 4, (0.550, -0.718, -1.228)],\n        ['OG1', 4, (0.472, 1.353, 0.000)],\n    ],\n    'TRP': [\n        ['N', 0, (-0.521, 1.363, 0.000)],\n        ['CA', 0, (0.000, 0.000, 0.000)],\n        ['C', 0, (1.525, -0.000, 0.000)],\n        ['CB', 0, (-0.523, -0.776, -1.212)],\n        ['O', 3, (0.627, 1.062, 0.000)],\n        ['CG', 4, (0.609, 1.370, -0.000)],\n        ['CD1', 5, (0.824, 1.091, 0.000)],\n        ['CD2', 5, (0.854, -1.148, -0.005)],\n        ['CE2', 5, (2.186, -0.678, -0.007)],\n        ['CE3', 5, (0.622, -2.530, -0.007)],\n        ['NE1', 5, (2.140, 0.690, -0.004)],\n        ['CH2', 5, (3.028, -2.890, -0.013)],\n        ['CZ2', 5, (3.283, -1.543, -0.011)],\n        ['CZ3', 5, (1.715, -3.389, -0.011)],\n    ],\n    'TYR': [\n        ['N', 0, (-0.522, 1.362, 0.000)],\n        ['CA', 0, (0.000, 0.000, 0.000)],\n        ['C', 0, (1.524, -0.000, -0.000)],\n        ['CB', 0, (-0.522, -0.776, -1.213)],\n        ['O', 3, (0.627, 1.062, -0.000)],\n        ['CG', 4, (0.607, 1.382, -0.000)],\n        ['CD1', 5, (0.716, 1.195, -0.000)],\n        ['CD2', 5, (0.713, -1.194, -0.001)],\n        ['CE1', 5, (2.107, 1.200, -0.002)],\n        ['CE2', 5, (2.104, -1.201, -0.003)],\n        ['OH', 5, (4.168, -0.002, -0.005)],\n        ['CZ', 5, (2.791, -0.001, -0.003)],\n    ],\n    'VAL': [\n        ['N', 0, (-0.494, 1.373, -0.000)],\n        ['CA', 0, (0.000, 0.000, 0.000)],\n        ['C', 0, (1.527, -0.000, -0.000)],\n        ['CB', 0, (-0.533, -0.795, -1.213)],\n        ['O', 3, (0.627, 1.062, -0.000)],\n        ['CG1', 4, (0.540, 1.429, -0.000)],\n        ['CG2', 4, (0.533, -0.776, 1.203)],\n    ],\n}\n\n# A list of atoms (excluding hydrogen) for each AA type. PDB naming convention.\n# pylint: disable=line-too-long\n# pyformat: disable\nresidue_atoms = {\n    'ALA': ['C', 'CA', 'CB', 'N', 'O'],\n    'ARG': ['C', 'CA', 'CB', 'CG', 'CD', 'CZ', 'N', 'NE', 'O', 'NH1', 'NH2'],\n    'ASP': ['C', 'CA', 'CB', 'CG', 'N', 'O', 'OD1', 'OD2'],\n    'ASN': ['C', 'CA', 'CB', 'CG', 'N', 'ND2', 'O', 'OD1'],\n    'CYS': ['C', 'CA', 'CB', 'N', 'O', 'SG'],\n    'GLU': ['C', 'CA', 'CB', 'CG', 'CD', 'N', 'O', 'OE1', 'OE2'],\n    'GLN': ['C', 'CA', 'CB', 'CG', 'CD', 'N', 'NE2', 'O', 'OE1'],\n    'GLY': ['C', 'CA', 'N', 'O'],\n    'HIS': ['C', 'CA', 'CB', 'CG', 'CD2', 'CE1', 'N', 'ND1', 'NE2', 'O'],\n    'ILE': ['C', 'CA', 'CB', 'CG1', 'CG2', 'CD1', 'N', 'O'],\n    'LEU': ['C', 'CA', 'CB', 'CG', 'CD1', 'CD2', 'N', 'O'],\n    'LYS': ['C', 'CA', 'CB', 'CG', 'CD', 'CE', 'N', 'NZ', 'O'],\n    'MET': ['C', 'CA', 'CB', 'CG', 'CE', 'N', 'O', 'SD'],\n    'PHE': ['C', 'CA', 'CB', 'CG', 'CD1', 'CD2', 'CE1', 'CE2', 'CZ', 'N', 'O'],\n    'PRO': ['C', 'CA', 'CB', 'CG', 'CD', 'N', 'O'],\n    'SER': ['C', 'CA', 'CB', 'N', 'O', 'OG'],\n    'THR': ['C', 'CA', 'CB', 'CG2', 'N', 'O', 'OG1'],\n    'TRP': ['C', 'CA', 'CB', 'CG', 'CD1', 'CD2', 'CE2', 'CE3', 'CZ2', 'CZ3', 'CH2', 'N', 'NE1', 'O'],\n    'TYR': ['C', 'CA', 'CB', 'CG', 'CD1', 'CD2', 'CE1', 'CE2', 'CZ', 'N', 'O', 'OH'],\n    'VAL': ['C', 'CA', 'CB', 'CG1', 'CG2', 'N', 'O']\n}\n# pyformat: enable\n# pylint: enable=line-too-long\n\n# Naming swaps for ambiguous atom names.\n# Due to symmetries in the amino acids the naming of atoms is ambiguous in\n# 4 of the 20 amino acids.\n# (The LDDT paper lists 7 amino acids as ambiguous, but the naming ambiguities\n# in LEU, VAL and ARG can be resolved by using the 3d constellations of\n# the 'ambiguous' atoms and their neighbours)\nresidue_atom_renaming_swaps = {\n    'ASP': {'OD1': 'OD2'},\n    'GLU': {'OE1': 'OE2'},\n    'PHE': {'CD1': 'CD2', 'CE1': 'CE2'},\n    'TYR': {'CD1': 'CD2', 'CE1': 'CE2'},\n}\n\n# Van der Waals radii [Angstroem] of the atoms (from Wikipedia)\nvan_der_waals_radius = {\n    'C': 1.7,\n    'N': 1.55,\n    'O': 1.52,\n    'S': 1.8,\n}\n\nBond = collections.namedtuple(\n    'Bond', ['atom1_name', 'atom2_name', 'length', 'stddev']\n)\nBondAngle = collections.namedtuple(\n    'BondAngle',\n    ['atom1_name', 'atom2_name', 'atom3name', 'angle_rad', 'stddev'],\n)\n\n\n@functools.lru_cache(maxsize=None)\ndef load_stereo_chemical_props() -> Tuple[\n    Mapping[str, List[Bond]],\n    Mapping[str, List[Bond]],\n    Mapping[str, List[BondAngle]],\n]:\n  \"\"\"Load stereo_chemical_props.txt into a nice structure.\n\n  Load literature values for bond lengths and bond angles and translate\n  bond angles into the length of the opposite edge of the triangle\n  (\"residue_virtual_bonds\").\n\n  Returns:\n    residue_bonds: Dict that maps resname -> list of Bond tuples.\n    residue_virtual_bonds: Dict that maps resname -> list of Bond tuples.\n    residue_bond_angles: Dict that maps resname -> list of BondAngle tuples.\n  \"\"\"\n  stereo_chemical_props_path = os.path.join(\n      os.path.dirname(os.path.abspath(__file__)), 'stereo_chemical_props.txt'\n  )\n  with open(stereo_chemical_props_path, 'rt') as f:\n    stereo_chemical_props = f.read()\n  lines_iter = iter(stereo_chemical_props.splitlines())\n  # Load bond lengths.\n  residue_bonds = {}\n  next(lines_iter)  # Skip header line.\n  for line in lines_iter:\n    if line.strip() == '-':\n      break\n    bond, resname, length, stddev = line.split()\n    atom1, atom2 = bond.split('-')\n    if resname not in residue_bonds:\n      residue_bonds[resname] = []\n    residue_bonds[resname].append(\n        Bond(atom1, atom2, float(length), float(stddev))\n    )\n  residue_bonds['UNK'] = []\n\n  # Load bond angles.\n  residue_bond_angles = {}\n  next(lines_iter)  # Skip empty line.\n  next(lines_iter)  # Skip header line.\n  for line in lines_iter:\n    if line.strip() == '-':\n      break\n    bond, resname, angle_degree, stddev_degree = line.split()\n    atom1, atom2, atom3 = bond.split('-')\n    if resname not in residue_bond_angles:\n      residue_bond_angles[resname] = []\n    residue_bond_angles[resname].append(\n        BondAngle(\n            atom1,\n            atom2,\n            atom3,\n            float(angle_degree) / 180.0 * np.pi,\n            float(stddev_degree) / 180.0 * np.pi,\n        )\n    )\n  residue_bond_angles['UNK'] = []\n\n  def make_bond_key(atom1_name, atom2_name):\n    \"\"\"Unique key to lookup bonds.\"\"\"\n    return '-'.join(sorted([atom1_name, atom2_name]))\n\n  # Translate bond angles into distances (\"virtual bonds\").\n  residue_virtual_bonds = {}\n  for resname, bond_angles in residue_bond_angles.items():\n    # Create a fast lookup dict for bond lengths.\n    bond_cache = {}\n    for b in residue_bonds[resname]:\n      bond_cache[make_bond_key(b.atom1_name, b.atom2_name)] = b\n    residue_virtual_bonds[resname] = []\n    for ba in bond_angles:\n      bond1 = bond_cache[make_bond_key(ba.atom1_name, ba.atom2_name)]\n      bond2 = bond_cache[make_bond_key(ba.atom2_name, ba.atom3name)]\n\n      # Compute distance between atom1 and atom3 using the law of cosines\n      # c^2 = a^2 + b^2 - 2ab*cos(gamma).\n      gamma = ba.angle_rad\n      length = np.sqrt(\n          bond1.length**2\n          + bond2.length**2\n          - 2 * bond1.length * bond2.length * np.cos(gamma)\n      )\n\n      # Propagation of uncertainty assuming uncorrelated errors.\n      dl_outer = 0.5 / length\n      dl_dgamma = (2 * bond1.length * bond2.length * np.sin(gamma)) * dl_outer\n      dl_db1 = (2 * bond1.length - 2 * bond2.length * np.cos(gamma)) * dl_outer\n      dl_db2 = (2 * bond2.length - 2 * bond1.length * np.cos(gamma)) * dl_outer\n      stddev = np.sqrt(\n          (dl_dgamma * ba.stddev) ** 2\n          + (dl_db1 * bond1.stddev) ** 2\n          + (dl_db2 * bond2.stddev) ** 2\n      )\n      residue_virtual_bonds[resname].append(\n          Bond(ba.atom1_name, ba.atom3name, length, stddev)\n      )\n\n  return (residue_bonds, residue_virtual_bonds, residue_bond_angles)\n\n\n# Between-residue bond lengths for general bonds (first element) and for Proline\n# (second element).\nbetween_res_bond_length_c_n = [1.329, 1.341]\nbetween_res_bond_length_stddev_c_n = [0.014, 0.016]\n\n# Between-residue cos_angles.\nbetween_res_cos_angles_c_n_ca = [-0.5203, 0.0353]  # degrees: 121.352 +- 2.315\nbetween_res_cos_angles_ca_c_n = [-0.4473, 0.0311]  # degrees: 116.568 +- 1.995\n\n# This mapping is used when we need to store atom data in a format that requires\n# fixed atom data size for every residue (e.g. a numpy array).\n# pyformat: disable\natom_types = [\n    'N', 'CA', 'C', 'CB', 'O', 'CG', 'CG1', 'CG2', 'OG', 'OG1', 'SG', 'CD',\n    'CD1', 'CD2', 'ND1', 'ND2', 'OD1', 'OD2', 'SD', 'CE', 'CE1', 'CE2', 'CE3',\n    'NE', 'NE1', 'NE2', 'OE1', 'OE2', 'CH2', 'NH1', 'NH2', 'OH', 'CZ', 'CZ2',\n    'CZ3', 'NZ', 'OXT'\n]\n# pyformat: enable\natom_order = {atom_type: i for i, atom_type in enumerate(atom_types)}\natom_type_num = len(atom_types)  # := 37.\n\n\n# A compact atom encoding with 14 columns\n# pylint: disable=line-too-long\n# pylint: disable=bad-whitespace\n# pyformat: disable\nrestype_name_to_atom14_names = {\n    'ALA': ['N', 'CA', 'C', 'O', 'CB', '',    '',    '',    '',    '',    '',    '',    '',    ''],\n    'ARG': ['N', 'CA', 'C', 'O', 'CB', 'CG',  'CD',  'NE',  'CZ',  'NH1', 'NH2', '',    '',    ''],\n    'ASN': ['N', 'CA', 'C', 'O', 'CB', 'CG',  'OD1', 'ND2', '',    '',    '',    '',    '',    ''],\n    'ASP': ['N', 'CA', 'C', 'O', 'CB', 'CG',  'OD1', 'OD2', '',    '',    '',    '',    '',    ''],\n    'CYS': ['N', 'CA', 'C', 'O', 'CB', 'SG',  '',    '',    '',    '',    '',    '',    '',    ''],\n    'GLN': ['N', 'CA', 'C', 'O', 'CB', 'CG',  'CD',  'OE1', 'NE2', '',    '',    '',    '',    ''],\n    'GLU': ['N', 'CA', 'C', 'O', 'CB', 'CG',  'CD',  'OE1', 'OE2', '',    '',    '',    '',    ''],\n    'GLY': ['N', 'CA', 'C', 'O', '',   '',    '',    '',    '',    '',    '',    '',    '',    ''],\n    'HIS': ['N', 'CA', 'C', 'O', 'CB', 'CG',  'ND1', 'CD2', 'CE1', 'NE2', '',    '',    '',    ''],\n    'ILE': ['N', 'CA', 'C', 'O', 'CB', 'CG1', 'CG2', 'CD1', '',    '',    '',    '',    '',    ''],\n    'LEU': ['N', 'CA', 'C', 'O', 'CB', 'CG',  'CD1', 'CD2', '',    '',    '',    '',    '',    ''],\n    'LYS': ['N', 'CA', 'C', 'O', 'CB', 'CG',  'CD',  'CE',  'NZ',  '',    '',    '',    '',    ''],\n    'MET': ['N', 'CA', 'C', 'O', 'CB', 'CG',  'SD',  'CE',  '',    '',    '',    '',    '',    ''],\n    'PHE': ['N', 'CA', 'C', 'O', 'CB', 'CG',  'CD1', 'CD2', 'CE1', 'CE2', 'CZ',  '',    '',    ''],\n    'PRO': ['N', 'CA', 'C', 'O', 'CB', 'CG',  'CD',  '',    '',    '',    '',    '',    '',    ''],\n    'SER': ['N', 'CA', 'C', 'O', 'CB', 'OG',  '',    '',    '',    '',    '',    '',    '',    ''],\n    'THR': ['N', 'CA', 'C', 'O', 'CB', 'OG1', 'CG2', '',    '',    '',    '',    '',    '',    ''],\n    'TRP': ['N', 'CA', 'C', 'O', 'CB', 'CG',  'CD1', 'CD2', 'NE1', 'CE2', 'CE3', 'CZ2', 'CZ3', 'CH2'],\n    'TYR': ['N', 'CA', 'C', 'O', 'CB', 'CG',  'CD1', 'CD2', 'CE1', 'CE2', 'CZ',  'OH',  '',    ''],\n    'VAL': ['N', 'CA', 'C', 'O', 'CB', 'CG1', 'CG2', '',    '',    '',    '',    '',    '',    ''],\n    'UNK': ['',  '',   '',  '',  '',   '',    '',    '',    '',    '',    '',    '',    '',    ''],\n\n}\n# pyformat: enable\n# pylint: enable=line-too-long\n# pylint: enable=bad-whitespace\n\n\n# This is the standard residue order when coding AA type as a number.\n# Reproduce it by taking 3-letter AA codes and sorting them alphabetically.\n# pyformat: disable\nrestypes = [\n    'A', 'R', 'N', 'D', 'C', 'Q', 'E', 'G', 'H', 'I', 'L', 'K', 'M', 'F', 'P',\n    'S', 'T', 'W', 'Y', 'V'\n]\n# pyformat: enable\n\nrestype_order = {restype: i for i, restype in enumerate(restypes)}\nrestype_num = len(restypes)  # := 20.\nunk_restype_index = restype_num  # Catch-all index for unknown restypes.\n\nrestypes_with_x = restypes + ['X']\nrestype_order_with_x = {restype: i for i, restype in enumerate(restypes_with_x)}\n\n\ndef sequence_to_onehot(\n    sequence: str, mapping: Mapping[str, int], map_unknown_to_x: bool = False\n) -> np.ndarray:\n  \"\"\"Maps the given sequence into a one-hot encoded matrix.\n\n  Args:\n    sequence: An amino acid sequence.\n    mapping: A dictionary mapping amino acids to integers.\n    map_unknown_to_x: If True, any amino acid that is not in the mapping will be\n      mapped to the unknown amino acid 'X'. If the mapping doesn't contain amino\n      acid 'X', an error will be thrown. If False, any amino acid not in the\n      mapping will throw an error.\n\n  Returns:\n    A numpy array of shape (seq_len, num_unique_aas) with one-hot encoding of\n    the sequence.\n\n  Raises:\n    ValueError: If the mapping doesn't contain values from 0 to\n      num_unique_aas - 1 without any gaps.\n  \"\"\"\n  num_entries = max(mapping.values()) + 1\n\n  if sorted(set(mapping.values())) != list(range(num_entries)):\n    raise ValueError(\n        'The mapping must have values from 0 to num_unique_aas-1 '\n        'without any gaps. Got: %s'\n        % sorted(mapping.values())\n    )\n\n  one_hot_arr = np.zeros((len(sequence), num_entries), dtype=np.int32)\n\n  for aa_index, aa_type in enumerate(sequence):\n    if map_unknown_to_x:\n      if aa_type.isalpha() and aa_type.isupper():\n        aa_id = mapping.get(aa_type, mapping['X'])\n      else:\n        raise ValueError(f'Invalid character in the sequence: {aa_type}')\n    else:\n      aa_id = mapping[aa_type]\n    one_hot_arr[aa_index, aa_id] = 1\n\n  return one_hot_arr\n\n\nrestype_1to3 = {\n    'A': 'ALA',\n    'R': 'ARG',\n    'N': 'ASN',\n    'D': 'ASP',\n    'C': 'CYS',\n    'Q': 'GLN',\n    'E': 'GLU',\n    'G': 'GLY',\n    'H': 'HIS',\n    'I': 'ILE',\n    'L': 'LEU',\n    'K': 'LYS',\n    'M': 'MET',\n    'F': 'PHE',\n    'P': 'PRO',\n    'S': 'SER',\n    'T': 'THR',\n    'W': 'TRP',\n    'Y': 'TYR',\n    'V': 'VAL',\n}\n\nPROTEIN_CHAIN: Final[str] = 'polypeptide(L)'\nPOLYMER_CHAIN: Final[str] = 'polymer'\n\n\ndef atom_id_to_type(atom_id: str) -> str:\n  \"\"\"Convert atom ID to atom type, works only for standard protein residues.\n\n  Args:\n    atom_id: Atom ID to be converted.\n\n  Returns:\n    String corresponding to atom type.\n\n  Raises:\n    ValueError: If atom ID not recognized.\n  \"\"\"\n\n  if atom_id.startswith('C'):\n    return 'C'\n  elif atom_id.startswith('N'):\n    return 'N'\n  elif atom_id.startswith('O'):\n    return 'O'\n  elif atom_id.startswith('H'):\n    return 'H'\n  elif atom_id.startswith('S'):\n    return 'S'\n  raise ValueError('Atom ID not recognized.')\n\n\n# NB: restype_3to1 differs from Bio.PDB.protein_letters_3to1 by being a simple\n# 1-to-1 mapping of 3 letter names to one letter names. The latter contains\n# many more, and less common, three letter names as keys and maps many of these\n# to the same one letter name (including 'X' and 'U' which we don't use here).\nrestype_3to1 = {v: k for k, v in restype_1to3.items()}\n\n# Define a restype name for all unknown residues.\nunk_restype = 'UNK'\n\nresnames = [restype_1to3[r] for r in restypes] + [unk_restype]\nresname_to_idx = {resname: i for i, resname in enumerate(resnames)}\n\n\n# The mapping here uses hhblits convention, so that B is mapped to D, J and O\n# are mapped to X, U is mapped to C, and Z is mapped to E. Other than that the\n# remaining 20 amino acids are kept in alphabetical order.\n# There are 2 non-amino acid codes, X (representing any amino acid) and\n# \"-\" representing a missing amino acid in an alignment.  The id for these\n# codes is put at the end (20 and 21) so that they can easily be ignored if\n# desired.\nHHBLITS_AA_TO_ID = {\n    'A': 0,\n    'B': 2,\n    'C': 1,\n    'D': 2,\n    'E': 3,\n    'F': 4,\n    'G': 5,\n    'H': 6,\n    'I': 7,\n    'J': 20,\n    'K': 8,\n    'L': 9,\n    'M': 10,\n    'N': 11,\n    'O': 20,\n    'P': 12,\n    'Q': 13,\n    'R': 14,\n    'S': 15,\n    'T': 16,\n    'U': 1,\n    'V': 17,\n    'W': 18,\n    'X': 20,\n    'Y': 19,\n    'Z': 3,\n    '-': 21,\n}\n\n# Partial inversion of HHBLITS_AA_TO_ID.\nID_TO_HHBLITS_AA = {\n    0: 'A',\n    1: 'C',  # Also U.\n    2: 'D',  # Also B.\n    3: 'E',  # Also Z.\n    4: 'F',\n    5: 'G',\n    6: 'H',\n    7: 'I',\n    8: 'K',\n    9: 'L',\n    10: 'M',\n    11: 'N',\n    12: 'P',\n    13: 'Q',\n    14: 'R',\n    15: 'S',\n    16: 'T',\n    17: 'V',\n    18: 'W',\n    19: 'Y',\n    20: 'X',  # Includes J and O.\n    21: '-',\n}\n\nrestypes_with_x_and_gap = restypes + ['X', '-']\nMAP_HHBLITS_AATYPE_TO_OUR_AATYPE = tuple(\n    restypes_with_x_and_gap.index(ID_TO_HHBLITS_AA[i])\n    for i in range(len(restypes_with_x_and_gap))\n)\n\n\ndef _make_standard_atom_mask() -> np.ndarray:\n  \"\"\"Returns [num_res_types, num_atom_types] mask array.\"\"\"\n  # +1 to account for unknown (all 0s).\n  mask = np.zeros([restype_num + 1, atom_type_num], dtype=np.int32)\n  for restype, restype_letter in enumerate(restypes):\n    restype_name = restype_1to3[restype_letter]\n    atom_names = residue_atoms[restype_name]\n    for atom_name in atom_names:\n      atom_type = atom_order[atom_name]\n      mask[restype, atom_type] = 1\n  return mask\n\n\nSTANDARD_ATOM_MASK = _make_standard_atom_mask()\n\n\n# A one hot representation for the first and second atoms defining the axis\n# of rotation for each chi-angle in each residue.\ndef chi_angle_atom(atom_index: int) -> np.ndarray:\n  \"\"\"Define chi-angle rigid groups via one-hot representations.\"\"\"\n  chi_angles_index = {}\n  one_hots = []\n\n  for k, v in chi_angles_atoms.items():\n    indices = [atom_types.index(s[atom_index]) for s in v]\n    indices.extend([-1] * (4 - len(indices)))\n    chi_angles_index[k] = indices\n\n  for r in restypes:\n    res3 = restype_1to3[r]\n    one_hot = np.eye(atom_type_num)[chi_angles_index[res3]]\n    one_hots.append(one_hot)\n\n  one_hots.append(np.zeros([4, atom_type_num]))  # Add zeros for residue `X`.\n  one_hot = np.stack(one_hots, axis=0)\n  one_hot = np.transpose(one_hot, [0, 2, 1])\n\n  return one_hot\n\n\nchi_atom_1_one_hot = chi_angle_atom(1)\nchi_atom_2_one_hot = chi_angle_atom(2)\n\n# An array like chi_angles_atoms but using indices rather than names.\nchi_angles_atom_indices = [chi_angles_atoms[restype_1to3[r]] for r in restypes]\nchi_angles_atom_indices = tree.map(\n    lambda atom_name: atom_order[atom_name], chi_angles_atom_indices\n)\nchi_angles_atom_indices = np.array([\n    chi_atoms + ([[0, 0, 0, 0]] * (4 - len(chi_atoms)))\n    for chi_atoms in chi_angles_atom_indices\n])\n\n# Mapping from (res_name, atom_name) pairs to the atom's chi group index\n# and atom index within that group.\nchi_groups_for_atom = collections.defaultdict(list)\nfor res_name, chi_angle_atoms_for_res in chi_angles_atoms.items():\n  for chi_group_i, chi_group in enumerate(chi_angle_atoms_for_res):\n    for atom_i, atom in enumerate(chi_group):\n      chi_groups_for_atom[(res_name, atom)].append((chi_group_i, atom_i))\nchi_groups_for_atom = dict(chi_groups_for_atom)\n\n\ndef _make_rigid_transformation_4x4(ex, ey, translation):\n  \"\"\"Create a rigid 4x4 transformation matrix from two axes and transl.\"\"\"\n  # Normalize ex.\n  ex_normalized = ex / np.linalg.norm(ex)\n\n  # make ey perpendicular to ex\n  ey_normalized = ey - np.dot(ey, ex_normalized) * ex_normalized\n  ey_normalized /= np.linalg.norm(ey_normalized)\n\n  # compute ez as cross product\n  eznorm = np.cross(ex_normalized, ey_normalized)\n  m = np.stack([ex_normalized, ey_normalized, eznorm, translation]).transpose()\n  m = np.concatenate([m, [[0.0, 0.0, 0.0, 1.0]]], axis=0)\n  return m\n\n\n# create an array with (restype, atomtype) --> rigid_group_idx\n# and an array with (restype, atomtype, coord) for the atom positions\n# and compute affine transformation matrices (4,4) from one rigid group to the\n# previous group\nrestype_atom37_to_rigid_group = np.zeros([21, 37], dtype=int)\nrestype_atom37_mask = np.zeros([21, 37], dtype=np.float32)\nrestype_atom37_rigid_group_positions = np.zeros([21, 37, 3], dtype=np.float32)\nrestype_atom14_to_rigid_group = np.zeros([21, 14], dtype=int)\nrestype_atom14_mask = np.zeros([21, 14], dtype=np.float32)\nrestype_atom14_rigid_group_positions = np.zeros([21, 14, 3], dtype=np.float32)\nrestype_rigid_group_default_frame = np.zeros([21, 8, 4, 4], dtype=np.float32)\n\n\ndef _make_rigid_group_constants():\n  \"\"\"Fill the arrays above.\"\"\"\n  for restype, restype_letter in enumerate(restypes):\n    resname = restype_1to3[restype_letter]\n    for atomname, group_idx, atom_position in rigid_group_atom_positions[\n        resname\n    ]:\n      atomtype = atom_order[atomname]\n      restype_atom37_to_rigid_group[restype, atomtype] = group_idx\n      restype_atom37_mask[restype, atomtype] = 1\n      restype_atom37_rigid_group_positions[restype, atomtype, :] = atom_position\n\n      atom14idx = restype_name_to_atom14_names[resname].index(atomname)\n      restype_atom14_to_rigid_group[restype, atom14idx] = group_idx\n      restype_atom14_mask[restype, atom14idx] = 1\n      restype_atom14_rigid_group_positions[restype, atom14idx, :] = (\n          atom_position\n      )\n\n  for restype, restype_letter in enumerate(restypes):\n    resname = restype_1to3[restype_letter]\n    atom_positions = {\n        name: np.array(pos)\n        for name, _, pos in rigid_group_atom_positions[resname]\n    }\n\n    # backbone to backbone is the identity transform\n    restype_rigid_group_default_frame[restype, 0, :, :] = np.eye(4)\n\n    # pre-omega-frame to backbone (currently dummy identity matrix)\n    restype_rigid_group_default_frame[restype, 1, :, :] = np.eye(4)\n\n    # phi-frame to backbone\n    mat = _make_rigid_transformation_4x4(\n        ex=atom_positions['N'] - atom_positions['CA'],\n        ey=np.array([1.0, 0.0, 0.0]),\n        translation=atom_positions['N'],\n    )\n    restype_rigid_group_default_frame[restype, 2, :, :] = mat\n\n    # psi-frame to backbone\n    mat = _make_rigid_transformation_4x4(\n        ex=atom_positions['C'] - atom_positions['CA'],\n        ey=atom_positions['CA'] - atom_positions['N'],\n        translation=atom_positions['C'],\n    )\n    restype_rigid_group_default_frame[restype, 3, :, :] = mat\n\n    # chi1-frame to backbone\n    if chi_angles_mask[restype][0]:\n      base_atom_names = chi_angles_atoms[resname][0]\n      base_atom_positions = [atom_positions[name] for name in base_atom_names]\n      mat = _make_rigid_transformation_4x4(\n          ex=base_atom_positions[2] - base_atom_positions[1],\n          ey=base_atom_positions[0] - base_atom_positions[1],\n          translation=base_atom_positions[2],\n      )\n      restype_rigid_group_default_frame[restype, 4, :, :] = mat\n\n    # chi2-frame to chi1-frame\n    # chi3-frame to chi2-frame\n    # chi4-frame to chi3-frame\n    # luckily all rotation axes for the next frame start at (0,0,0) of the\n    # previous frame\n    for chi_idx in range(1, 4):\n      if chi_angles_mask[restype][chi_idx]:\n        axis_end_atom_name = chi_angles_atoms[resname][chi_idx][2]\n        axis_end_atom_position = atom_positions[axis_end_atom_name]\n        mat = _make_rigid_transformation_4x4(\n            ex=axis_end_atom_position,\n            ey=np.array([-1.0, 0.0, 0.0]),\n            translation=axis_end_atom_position,\n        )\n        restype_rigid_group_default_frame[restype, 4 + chi_idx, :, :] = mat\n\n\n_make_rigid_group_constants()\n\n\ndef make_atom14_dists_bounds(\n    overlap_tolerance=1.5, bond_length_tolerance_factor=15\n):\n  \"\"\"compute upper and lower bounds for bonds to assess violations.\"\"\"\n  restype_atom14_bond_lower_bound = np.zeros([21, 14, 14], np.float32)\n  restype_atom14_bond_upper_bound = np.zeros([21, 14, 14], np.float32)\n  restype_atom14_bond_stddev = np.zeros([21, 14, 14], np.float32)\n  residue_bonds, residue_virtual_bonds, _ = load_stereo_chemical_props()\n  for restype, restype_letter in enumerate(restypes):\n    resname = restype_1to3[restype_letter]\n    atom_list = restype_name_to_atom14_names[resname]\n\n    # create lower and upper bounds for clashes\n    for atom1_idx, atom1_name in enumerate(atom_list):\n      if not atom1_name:\n        continue\n      atom1_radius = van_der_waals_radius[atom1_name[0]]\n      for atom2_idx, atom2_name in enumerate(atom_list):\n        if (not atom2_name) or atom1_idx == atom2_idx:\n          continue\n        atom2_radius = van_der_waals_radius[atom2_name[0]]\n        lower = atom1_radius + atom2_radius - overlap_tolerance\n        upper = 1e10\n        restype_atom14_bond_lower_bound[restype, atom1_idx, atom2_idx] = lower\n        restype_atom14_bond_lower_bound[restype, atom2_idx, atom1_idx] = lower\n        restype_atom14_bond_upper_bound[restype, atom1_idx, atom2_idx] = upper\n        restype_atom14_bond_upper_bound[restype, atom2_idx, atom1_idx] = upper\n\n    # overwrite lower and upper bounds for bonds and angles\n    for b in residue_bonds[resname] + residue_virtual_bonds[resname]:\n      atom1_idx = atom_list.index(b.atom1_name)\n      atom2_idx = atom_list.index(b.atom2_name)\n      lower = b.length - bond_length_tolerance_factor * b.stddev\n      upper = b.length + bond_length_tolerance_factor * b.stddev\n      restype_atom14_bond_lower_bound[restype, atom1_idx, atom2_idx] = lower\n      restype_atom14_bond_lower_bound[restype, atom2_idx, atom1_idx] = lower\n      restype_atom14_bond_upper_bound[restype, atom1_idx, atom2_idx] = upper\n      restype_atom14_bond_upper_bound[restype, atom2_idx, atom1_idx] = upper\n      restype_atom14_bond_stddev[restype, atom1_idx, atom2_idx] = b.stddev\n      restype_atom14_bond_stddev[restype, atom2_idx, atom1_idx] = b.stddev\n  return {\n      'lower_bound': restype_atom14_bond_lower_bound,  # shape (21,14,14)\n      'upper_bound': restype_atom14_bond_upper_bound,  # shape (21,14,14)\n      'stddev': restype_atom14_bond_stddev,  # shape (21,14,14)\n  }\n\n\n# pyformat: disable\nCCD_NAME_TO_ONE_LETTER: Mapping[str, str] = {\n    '00C': 'C', '01W': 'X', '02K': 'A', '03Y': 'C', '07O': 'C', '08P': 'C',\n    '0A0': 'D', '0A1': 'Y', '0A2': 'K', '0A8': 'C', '0AA': 'V', '0AB': 'V',\n    '0AC': 'G', '0AD': 'G', '0AF': 'W', '0AG': 'L', '0AH': 'S', '0AK': 'D',\n    '0AM': 'A', '0AP': 'C', '0AU': 'U', '0AV': 'A', '0AZ': 'P', '0BN': 'F',\n    '0C': 'C', '0CS': 'A', '0DC': 'C', '0DG': 'G', '0DT': 'T', '0FL': 'A',\n    '0G': 'G', '0NC': 'A', '0SP': 'A', '0U': 'U', '10C': 'C', '125': 'U',\n    '126': 'U', '127': 'U', '128': 'N', '12A': 'A', '143': 'C', '193': 'X',\n    '1AP': 'A', '1MA': 'A', '1MG': 'G', '1PA': 'F', '1PI': 'A', '1PR': 'N',\n    '1SC': 'C', '1TQ': 'W', '1TY': 'Y', '1X6': 'S', '200': 'F', '23F': 'F',\n    '23S': 'X', '26B': 'T', '2AD': 'X', '2AG': 'A', '2AO': 'X', '2AR': 'A',\n    '2AS': 'X', '2AT': 'T', '2AU': 'U', '2BD': 'I', '2BT': 'T', '2BU': 'A',\n    '2CO': 'C', '2DA': 'A', '2DF': 'N', '2DM': 'N', '2DO': 'X', '2DT': 'T',\n    '2EG': 'G', '2FE': 'N', '2FI': 'N', '2FM': 'M', '2GT': 'T', '2HF': 'H',\n    '2LU': 'L', '2MA': 'A', '2MG': 'G', '2ML': 'L', '2MR': 'R', '2MT': 'P',\n    '2MU': 'U', '2NT': 'T', '2OM': 'U', '2OT': 'T', '2PI': 'X', '2PR': 'G',\n    '2SA': 'N', '2SI': 'X', '2ST': 'T', '2TL': 'T', '2TY': 'Y', '2VA': 'V',\n    '2XA': 'C', '32S': 'X', '32T': 'X', '3AH': 'H', '3AR': 'X', '3CF': 'F',\n    '3DA': 'A', '3DR': 'N', '3GA': 'A', '3MD': 'D', '3ME': 'U', '3NF': 'Y',\n    '3QN': 'K', '3TY': 'X', '3XH': 'G', '4AC': 'N', '4BF': 'Y', '4CF': 'F',\n    '4CY': 'M', '4DP': 'W', '4FB': 'P', '4FW': 'W', '4HT': 'W', '4IN': 'W',\n    '4MF': 'N', '4MM': 'X', '4OC': 'C', '4PC': 'C', '4PD': 'C', '4PE': 'C',\n    '4PH': 'F', '4SC': 'C', '4SU': 'U', '4TA': 'N', '4U7': 'A', '56A': 'H',\n    '5AA': 'A', '5AB': 'A', '5AT': 'T', '5BU': 'U', '5CG': 'G', '5CM': 'C',\n    '5CS': 'C', '5FA': 'A', '5FC': 'C', '5FU': 'U', '5HP': 'E', '5HT': 'T',\n    '5HU': 'U', '5IC': 'C', '5IT': 'T', '5IU': 'U', '5MC': 'C', '5MD': 'N',\n    '5MU': 'U', '5NC': 'C', '5PC': 'C', '5PY': 'T', '5SE': 'U', '64T': 'T',\n    '6CL': 'K', '6CT': 'T', '6CW': 'W', '6HA': 'A', '6HC': 'C', '6HG': 'G',\n    '6HN': 'K', '6HT': 'T', '6IA': 'A', '6MA': 'A', '6MC': 'A', '6MI': 'N',\n    '6MT': 'A', '6MZ': 'N', '6OG': 'G', '70U': 'U', '7DA': 'A', '7GU': 'G',\n    '7JA': 'I', '7MG': 'G', '8AN': 'A', '8FG': 'G', '8MG': 'G', '8OG': 'G',\n    '9NE': 'E', '9NF': 'F', '9NR': 'R', '9NV': 'V', 'A': 'A', 'A1P': 'N',\n    'A23': 'A', 'A2L': 'A', 'A2M': 'A', 'A34': 'A', 'A35': 'A', 'A38': 'A',\n    'A39': 'A', 'A3A': 'A', 'A3P': 'A', 'A40': 'A', 'A43': 'A', 'A44': 'A',\n    'A47': 'A', 'A5L': 'A', 'A5M': 'C', 'A5N': 'N', 'A5O': 'A', 'A66': 'X',\n    'AA3': 'A', 'AA4': 'A', 'AAR': 'R', 'AB7': 'X', 'ABA': 'A', 'ABR': 'A',\n    'ABS': 'A', 'ABT': 'N', 'ACB': 'D', 'ACL': 'R', 'AD2': 'A', 'ADD': 'X',\n    'ADX': 'N', 'AEA': 'X', 'AEI': 'D', 'AET': 'A', 'AFA': 'N', 'AFF': 'N',\n    'AFG': 'G', 'AGM': 'R', 'AGT': 'C', 'AHB': 'N', 'AHH': 'X', 'AHO': 'A',\n    'AHP': 'A', 'AHS': 'X', 'AHT': 'X', 'AIB': 'A', 'AKL': 'D', 'AKZ': 'D',\n    'ALA': 'A', 'ALC': 'A', 'ALM': 'A', 'ALN': 'A', 'ALO': 'T', 'ALQ': 'X',\n    'ALS': 'A', 'ALT': 'A', 'ALV': 'A', 'ALY': 'K', 'AN8': 'A', 'AP7': 'A',\n    'APE': 'X', 'APH': 'A', 'API': 'K', 'APK': 'K', 'APM': 'X', 'APP': 'X',\n    'AR2': 'R', 'AR4': 'E', 'AR7': 'R', 'ARG': 'R', 'ARM': 'R', 'ARO': 'R',\n    'ARV': 'X', 'AS': 'A', 'AS2': 'D', 'AS9': 'X', 'ASA': 'D', 'ASB': 'D',\n    'ASI': 'D', 'ASK': 'D', 'ASL': 'D', 'ASM': 'X', 'ASN': 'N', 'ASP': 'D',\n    'ASQ': 'D', 'ASU': 'N', 'ASX': 'B', 'ATD': 'T', 'ATL': 'T', 'ATM': 'T',\n    'AVC': 'A', 'AVN': 'X', 'AYA': 'A', 'AZK': 'K', 'AZS': 'S', 'AZY': 'Y',\n    'B1F': 'F', 'B1P': 'N', 'B2A': 'A', 'B2F': 'F', 'B2I': 'I', 'B2V': 'V',\n    'B3A': 'A', 'B3D': 'D', 'B3E': 'E', 'B3K': 'K', 'B3L': 'X', 'B3M': 'X',\n    'B3Q': 'X', 'B3S': 'S', 'B3T': 'X', 'B3U': 'H', 'B3X': 'N', 'B3Y': 'Y',\n    'BB6': 'C', 'BB7': 'C', 'BB8': 'F', 'BB9': 'C', 'BBC': 'C', 'BCS': 'C',\n    'BE2': 'X', 'BFD': 'D', 'BG1': 'S', 'BGM': 'G', 'BH2': 'D', 'BHD': 'D',\n    'BIF': 'F', 'BIL': 'X', 'BIU': 'I', 'BJH': 'X', 'BLE': 'L', 'BLY': 'K',\n    'BMP': 'N', 'BMT': 'T', 'BNN': 'F', 'BNO': 'X', 'BOE': 'T', 'BOR': 'R',\n    'BPE': 'C', 'BRU': 'U', 'BSE': 'S', 'BT5': 'N', 'BTA': 'L', 'BTC': 'C',\n    'BTR': 'W', 'BUC': 'C', 'BUG': 'V', 'BVP': 'U', 'BZG': 'N', 'C': 'C',\n    'C1X': 'K', 'C25': 'C', 'C2L': 'C', 'C2S': 'C', 'C31': 'C', 'C32': 'C',\n    'C34': 'C', 'C36': 'C', 'C37': 'C', 'C38': 'C', 'C3Y': 'C', 'C42': 'C',\n    'C43': 'C', 'C45': 'C', 'C46': 'C', 'C49': 'C', 'C4R': 'C', 'C4S': 'C',\n    'C5C': 'C', 'C66': 'X', 'C6C': 'C', 'CAF': 'C', 'CAL': 'X', 'CAR': 'C',\n    'CAS': 'C', 'CAV': 'X', 'CAY': 'C', 'CB2': 'C', 'CBR': 'C', 'CBV': 'C',\n    'CCC': 'C', 'CCL': 'K', 'CCS': 'C', 'CDE': 'X', 'CDV': 'X', 'CDW': 'C',\n    'CEA': 'C', 'CFL': 'C', 'CG1': 'G', 'CGA': 'E', 'CGU': 'E', 'CH': 'C',\n    'CHF': 'X', 'CHG': 'X', 'CHP': 'G', 'CHS': 'X', 'CIR': 'R', 'CLE': 'L',\n    'CLG': 'K', 'CLH': 'K', 'CM0': 'N', 'CME': 'C', 'CMH': 'C', 'CML': 'C',\n    'CMR': 'C', 'CMT': 'C', 'CNU': 'U', 'CP1': 'C', 'CPC': 'X', 'CPI': 'X',\n    'CR5': 'G', 'CS0': 'C', 'CS1': 'C', 'CS3': 'C', 'CS4': 'C', 'CS8': 'N',\n    'CSA': 'C', 'CSB': 'C', 'CSD': 'C', 'CSE': 'C', 'CSF': 'C', 'CSI': 'G',\n    'CSJ': 'C', 'CSL': 'C', 'CSO': 'C', 'CSP': 'C', 'CSR': 'C', 'CSS': 'C',\n    'CSU': 'C', 'CSW': 'C', 'CSX': 'C', 'CSZ': 'C', 'CTE': 'W', 'CTG': 'T',\n    'CTH': 'T', 'CUC': 'X', 'CWR': 'S', 'CXM': 'M', 'CY0': 'C', 'CY1': 'C',\n    'CY3': 'C', 'CY4': 'C', 'CYA': 'C', 'CYD': 'C', 'CYF': 'C', 'CYG': 'C',\n    'CYJ': 'X', 'CYM': 'C', 'CYQ': 'C', 'CYR': 'C', 'CYS': 'C', 'CZ2': 'C',\n    'CZZ': 'C', 'D11': 'T', 'D1P': 'N', 'D3': 'N', 'D33': 'N', 'D3P': 'G',\n    'D3T': 'T', 'D4M': 'T', 'D4P': 'X', 'DA': 'A', 'DA2': 'X', 'DAB': 'A',\n    'DAH': 'F', 'DAL': 'A', 'DAR': 'R', 'DAS': 'D', 'DBB': 'T', 'DBM': 'N',\n    'DBS': 'S', 'DBU': 'T', 'DBY': 'Y', 'DBZ': 'A', 'DC': 'C', 'DC2': 'C',\n    'DCG': 'G', 'DCI': 'X', 'DCL': 'X', 'DCT': 'C', 'DCY': 'C', 'DDE': 'H',\n    'DDG': 'G', 'DDN': 'U', 'DDX': 'N', 'DFC': 'C', 'DFG': 'G', 'DFI': 'X',\n    'DFO': 'X', 'DFT': 'N', 'DG': 'G', 'DGH': 'G', 'DGI': 'G', 'DGL': 'E',\n    'DGN': 'Q', 'DHA': 'S', 'DHI': 'H', 'DHL': 'X', 'DHN': 'V', 'DHP': 'X',\n    'DHU': 'U', 'DHV': 'V', 'DI': 'I', 'DIL': 'I', 'DIR': 'R', 'DIV': 'V',\n    'DLE': 'L', 'DLS': 'K', 'DLY': 'K', 'DM0': 'K', 'DMH': 'N', 'DMK': 'D',\n    'DMT': 'X', 'DN': 'N', 'DNE': 'L', 'DNG': 'L', 'DNL': 'K', 'DNM': 'L',\n    'DNP': 'A', 'DNR': 'C', 'DNS': 'K', 'DOA': 'X', 'DOC': 'C', 'DOH': 'D',\n    'DON': 'L', 'DPB': 'T', 'DPH': 'F', 'DPL': 'P', 'DPP': 'A', 'DPQ': 'Y',\n    'DPR': 'P', 'DPY': 'N', 'DRM': 'U', 'DRP': 'N', 'DRT': 'T', 'DRZ': 'N',\n    'DSE': 'S', 'DSG': 'N', 'DSN': 'S', 'DSP': 'D', 'DT': 'T', 'DTH': 'T',\n    'DTR': 'W', 'DTY': 'Y', 'DU': 'U', 'DVA': 'V', 'DXD': 'N', 'DXN': 'N',\n    'DYS': 'C', 'DZM': 'A', 'E': 'A', 'E1X': 'A', 'ECC': 'Q', 'EDA': 'A',\n    'EFC': 'C', 'EHP': 'F', 'EIT': 'T', 'ENP': 'N', 'ESB': 'Y', 'ESC': 'M',\n    'EXB': 'X', 'EXY': 'L', 'EY5': 'N', 'EYS': 'X', 'F2F': 'F', 'FA2': 'A',\n    'FA5': 'N', 'FAG': 'N', 'FAI': 'N', 'FB5': 'A', 'FB6': 'A', 'FCL': 'F',\n    'FFD': 'N', 'FGA': 'E', 'FGL': 'G', 'FGP': 'S', 'FHL': 'X', 'FHO': 'K',\n    'FHU': 'U', 'FLA': 'A', 'FLE': 'L', 'FLT': 'Y', 'FME': 'M', 'FMG': 'G',\n    'FMU': 'N', 'FOE': 'C', 'FOX': 'G', 'FP9': 'P', 'FPA': 'F', 'FRD': 'X',\n    'FT6': 'W', 'FTR': 'W', 'FTY': 'Y', 'FVA': 'V', 'FZN': 'K', 'G': 'G',\n    'G25': 'G', 'G2L': 'G', 'G2S': 'G', 'G31': 'G', 'G32': 'G', 'G33': 'G',\n    'G36': 'G', 'G38': 'G', 'G42': 'G', 'G46': 'G', 'G47': 'G', 'G48': 'G',\n    'G49': 'G', 'G4P': 'N', 'G7M': 'G', 'GAO': 'G', 'GAU': 'E', 'GCK': 'C',\n    'GCM': 'X', 'GDP': 'G', 'GDR': 'G', 'GFL': 'G', 'GGL': 'E', 'GH3': 'G',\n    'GHG': 'Q', 'GHP': 'G', 'GL3': 'G', 'GLH': 'Q', 'GLJ': 'E', 'GLK': 'E',\n    'GLM': 'X', 'GLN': 'Q', 'GLQ': 'E', 'GLU': 'E', 'GLX': 'Z', 'GLY': 'G',\n    'GLZ': 'G', 'GMA': 'E', 'GMS': 'G', 'GMU': 'U', 'GN7': 'G', 'GND': 'X',\n    'GNE': 'N', 'GOM': 'G', 'GPL': 'K', 'GS': 'G', 'GSC': 'G', 'GSR': 'G',\n    'GSS': 'G', 'GSU': 'E', 'GT9': 'C', 'GTP': 'G', 'GVL': 'X', 'H2U': 'U',\n    'H5M': 'P', 'HAC': 'A', 'HAR': 'R', 'HBN': 'H', 'HCS': 'X', 'HDP': 'U',\n    'HEU': 'U', 'HFA': 'X', 'HGL': 'X', 'HHI': 'H', 'HIA': 'H', 'HIC': 'H',\n    'HIP': 'H', 'HIQ': 'H', 'HIS': 'H', 'HL2': 'L', 'HLU': 'L', 'HMR': 'R',\n    'HOL': 'N', 'HPC': 'F', 'HPE': 'F', 'HPH': 'F', 'HPQ': 'F', 'HQA': 'A',\n    'HRG': 'R', 'HRP': 'W', 'HS8': 'H', 'HS9': 'H', 'HSE': 'S', 'HSL': 'S',\n    'HSO': 'H', 'HTI': 'C', 'HTN': 'N', 'HTR': 'W', 'HV5': 'A', 'HVA': 'V',\n    'HY3': 'P', 'HYP': 'P', 'HZP': 'P', 'I': 'I', 'I2M': 'I', 'I58': 'K',\n    'I5C': 'C', 'IAM': 'A', 'IAR': 'R', 'IAS': 'D', 'IC': 'C', 'IEL': 'K',\n    'IG': 'G', 'IGL': 'G', 'IGU': 'G', 'IIL': 'I', 'ILE': 'I', 'ILG': 'E',\n    'ILX': 'I', 'IMC': 'C', 'IML': 'I', 'IOY': 'F', 'IPG': 'G', 'IPN': 'N',\n    'IRN': 'N', 'IT1': 'K', 'IU': 'U', 'IYR': 'Y', 'IYT': 'T', 'IZO': 'M',\n    'JJJ': 'C', 'JJK': 'C', 'JJL': 'C', 'JW5': 'N', 'K1R': 'C', 'KAG': 'G',\n    'KCX': 'K', 'KGC': 'K', 'KNB': 'A', 'KOR': 'M', 'KPI': 'K', 'KST': 'K',\n    'KYQ': 'K', 'L2A': 'X', 'LA2': 'K', 'LAA': 'D', 'LAL': 'A', 'LBY': 'K',\n    'LC': 'C', 'LCA': 'A', 'LCC': 'N', 'LCG': 'G', 'LCH': 'N', 'LCK': 'K',\n    'LCX': 'K', 'LDH': 'K', 'LED': 'L', 'LEF': 'L', 'LEH': 'L', 'LEI': 'V',\n    'LEM': 'L', 'LEN': 'L', 'LET': 'X', 'LEU': 'L', 'LEX': 'L', 'LG': 'G',\n    'LGP': 'G', 'LHC': 'X', 'LHU': 'U', 'LKC': 'N', 'LLP': 'K', 'LLY': 'K',\n    'LME': 'E', 'LMF': 'K', 'LMQ': 'Q', 'LMS': 'N', 'LP6': 'K', 'LPD': 'P',\n    'LPG': 'G', 'LPL': 'X', 'LPS': 'S', 'LSO': 'X', 'LTA': 'X', 'LTR': 'W',\n    'LVG': 'G', 'LVN': 'V', 'LYF': 'K', 'LYK': 'K', 'LYM': 'K', 'LYN': 'K',\n    'LYR': 'K', 'LYS': 'K', 'LYX': 'K', 'LYZ': 'K', 'M0H': 'C', 'M1G': 'G',\n    'M2G': 'G', 'M2L': 'K', 'M2S': 'M', 'M30': 'G', 'M3L': 'K', 'M5M': 'C',\n    'MA': 'A', 'MA6': 'A', 'MA7': 'A', 'MAA': 'A', 'MAD': 'A', 'MAI': 'R',\n    'MBQ': 'Y', 'MBZ': 'N', 'MC1': 'S', 'MCG': 'X', 'MCL': 'K', 'MCS': 'C',\n    'MCY': 'C', 'MD3': 'C', 'MD6': 'G', 'MDH': 'X', 'MDR': 'N', 'MEA': 'F',\n    'MED': 'M', 'MEG': 'E', 'MEN': 'N', 'MEP': 'U', 'MEQ': 'Q', 'MET': 'M',\n    'MEU': 'G', 'MF3': 'X', 'MG1': 'G', 'MGG': 'R', 'MGN': 'Q', 'MGQ': 'A',\n    'MGV': 'G', 'MGY': 'G', 'MHL': 'L', 'MHO': 'M', 'MHS': 'H', 'MIA': 'A',\n    'MIS': 'S', 'MK8': 'L', 'ML3': 'K', 'MLE': 'L', 'MLL': 'L', 'MLY': 'K',\n    'MLZ': 'K', 'MME': 'M', 'MMO': 'R', 'MMT': 'T', 'MND': 'N', 'MNL': 'L',\n    'MNU': 'U', 'MNV': 'V', 'MOD': 'X', 'MP8': 'P', 'MPH': 'X', 'MPJ': 'X',\n    'MPQ': 'G', 'MRG': 'G', 'MSA': 'G', 'MSE': 'M', 'MSL': 'M', 'MSO': 'M',\n    'MSP': 'X', 'MT2': 'M', 'MTR': 'T', 'MTU': 'A', 'MTY': 'Y', 'MVA': 'V',\n    'N': 'N', 'N10': 'S', 'N2C': 'X', 'N5I': 'N', 'N5M': 'C', 'N6G': 'G',\n    'N7P': 'P', 'NA8': 'A', 'NAL': 'A', 'NAM': 'A', 'NB8': 'N', 'NBQ': 'Y',\n    'NC1': 'S', 'NCB': 'A', 'NCX': 'N', 'NCY': 'X', 'NDF': 'F', 'NDN': 'U',\n    'NEM': 'H', 'NEP': 'H', 'NF2': 'N', 'NFA': 'F', 'NHL': 'E', 'NIT': 'X',\n    'NIY': 'Y', 'NLE': 'L', 'NLN': 'L', 'NLO': 'L', 'NLP': 'L', 'NLQ': 'Q',\n    'NMC': 'G', 'NMM': 'R', 'NMS': 'T', 'NMT': 'T', 'NNH': 'R', 'NP3': 'N',\n    'NPH': 'C', 'NPI': 'A', 'NSK': 'X', 'NTY': 'Y', 'NVA': 'V', 'NYM': 'N',\n    'NYS': 'C', 'NZH': 'H', 'O12': 'X', 'O2C': 'N', 'O2G': 'G', 'OAD': 'N',\n    'OAS': 'S', 'OBF': 'X', 'OBS': 'X', 'OCS': 'C', 'OCY': 'C', 'ODP': 'N',\n    'OHI': 'H', 'OHS': 'D', 'OIC': 'X', 'OIP': 'I', 'OLE': 'X', 'OLT': 'T',\n    'OLZ': 'S', 'OMC': 'C', 'OMG': 'G', 'OMT': 'M', 'OMU': 'U', 'ONE': 'U',\n    'ONH': 'A', 'ONL': 'X', 'OPR': 'R', 'ORN': 'A', 'ORQ': 'R', 'OSE': 'S',\n    'OTB': 'X', 'OTH': 'T', 'OTY': 'Y', 'OXX': 'D', 'P': 'G', 'P1L': 'C',\n    'P1P': 'N', 'P2T': 'T', 'P2U': 'U', 'P2Y': 'P', 'P5P': 'A', 'PAQ': 'Y',\n    'PAS': 'D', 'PAT': 'W', 'PAU': 'A', 'PBB': 'C', 'PBF': 'F', 'PBT': 'N',\n    'PCA': 'E', 'PCC': 'P', 'PCE': 'X', 'PCS': 'F', 'PDL': 'X', 'PDU': 'U',\n    'PEC': 'C', 'PF5': 'F', 'PFF': 'F', 'PFX': 'X', 'PG1': 'S', 'PG7': 'G',\n    'PG9': 'G', 'PGL': 'X', 'PGN': 'G', 'PGP': 'G', 'PGY': 'G', 'PHA': 'F',\n    'PHD': 'D', 'PHE': 'F', 'PHI': 'F', 'PHL': 'F', 'PHM': 'F', 'PIV': 'X',\n    'PLE': 'L', 'PM3': 'F', 'PMT': 'C', 'POM': 'P', 'PPN': 'F', 'PPU': 'A',\n    'PPW': 'G', 'PQ1': 'N', 'PR3': 'C', 'PR5': 'A', 'PR9': 'P', 'PRN': 'A',\n    'PRO': 'P', 'PRS': 'P', 'PSA': 'F', 'PSH': 'H', 'PST': 'T', 'PSU': 'U',\n    'PSW': 'C', 'PTA': 'X', 'PTH': 'Y', 'PTM': 'Y', 'PTR': 'Y', 'PU': 'A',\n    'PUY': 'N', 'PVH': 'H', 'PVL': 'X', 'PYA': 'A', 'PYO': 'U', 'PYX': 'C',\n    'PYY': 'N', 'QMM': 'Q', 'QPA': 'C', 'QPH': 'F', 'QUO': 'G', 'R': 'A',\n    'R1A': 'C', 'R4K': 'W', 'RE0': 'W', 'RE3': 'W', 'RIA': 'A', 'RMP': 'A',\n    'RON': 'X', 'RT': 'T', 'RTP': 'N', 'S1H': 'S', 'S2C': 'C', 'S2D': 'A',\n    'S2M': 'T', 'S2P': 'A', 'S4A': 'A', 'S4C': 'C', 'S4G': 'G', 'S4U': 'U',\n    'S6G': 'G', 'SAC': 'S', 'SAH': 'C', 'SAR': 'G', 'SBL': 'S', 'SC': 'C',\n    'SCH': 'C', 'SCS': 'C', 'SCY': 'C', 'SD2': 'X', 'SDG': 'G', 'SDP': 'S',\n    'SEB': 'S', 'SEC': 'A', 'SEG': 'A', 'SEL': 'S', 'SEM': 'S', 'SEN': 'S',\n    'SEP': 'S', 'SER': 'S', 'SET': 'S', 'SGB': 'S', 'SHC': 'C', 'SHP': 'G',\n    'SHR': 'K', 'SIB': 'C', 'SLA': 'P', 'SLR': 'P', 'SLZ': 'K', 'SMC': 'C',\n    'SME': 'M', 'SMF': 'F', 'SMP': 'A', 'SMT': 'T', 'SNC': 'C', 'SNN': 'N',\n    'SOC': 'C', 'SOS': 'N', 'SOY': 'S', 'SPT': 'T', 'SRA': 'A', 'SSU': 'U',\n    'STY': 'Y', 'SUB': 'X', 'SUN': 'S', 'SUR': 'U', 'SVA': 'S', 'SVV': 'S',\n    'SVW': 'S', 'SVX': 'S', 'SVY': 'S', 'SVZ': 'X', 'SYS': 'C', 'T': 'T',\n    'T11': 'F', 'T23': 'T', 'T2S': 'T', 'T2T': 'N', 'T31': 'U', 'T32': 'T',\n    'T36': 'T', 'T37': 'T', 'T38': 'T', 'T39': 'T', 'T3P': 'T', 'T41': 'T',\n    'T48': 'T', 'T49': 'T', 'T4S': 'T', 'T5O': 'U', 'T5S': 'T', 'T66': 'X',\n    'T6A': 'A', 'TA3': 'T', 'TA4': 'X', 'TAF': 'T', 'TAL': 'N', 'TAV': 'D',\n    'TBG': 'V', 'TBM': 'T', 'TC1': 'C', 'TCP': 'T', 'TCQ': 'Y', 'TCR': 'W',\n    'TCY': 'A', 'TDD': 'L', 'TDY': 'T', 'TFE': 'T', 'TFO': 'A', 'TFQ': 'F',\n    'TFT': 'T', 'TGP': 'G', 'TH6': 'T', 'THC': 'T', 'THO': 'X', 'THR': 'T',\n    'THX': 'N', 'THZ': 'R', 'TIH': 'A', 'TLB': 'N', 'TLC': 'T', 'TLN': 'U',\n    'TMB': 'T', 'TMD': 'T', 'TNB': 'C', 'TNR': 'S', 'TOX': 'W', 'TP1': 'T',\n    'TPC': 'C', 'TPG': 'G', 'TPH': 'X', 'TPL': 'W', 'TPO': 'T', 'TPQ': 'Y',\n    'TQI': 'W', 'TQQ': 'W', 'TRF': 'W', 'TRG': 'K', 'TRN': 'W', 'TRO': 'W',\n    'TRP': 'W', 'TRQ': 'W', 'TRW': 'W', 'TRX': 'W', 'TS': 'N', 'TST': 'X',\n    'TT': 'N', 'TTD': 'T', 'TTI': 'U', 'TTM': 'T', 'TTQ': 'W', 'TTS': 'Y',\n    'TY1': 'Y', 'TY2': 'Y', 'TY3': 'Y', 'TY5': 'Y', 'TYB': 'Y', 'TYI': 'Y',\n    'TYJ': 'Y', 'TYN': 'Y', 'TYO': 'Y', 'TYQ': 'Y', 'TYR': 'Y', 'TYS': 'Y',\n    'TYT': 'Y', 'TYU': 'N', 'TYW': 'Y', 'TYX': 'X', 'TYY': 'Y', 'TZB': 'X',\n    'TZO': 'X', 'U': 'U', 'U25': 'U', 'U2L': 'U', 'U2N': 'U', 'U2P': 'U',\n    'U31': 'U', 'U33': 'U', 'U34': 'U', 'U36': 'U', 'U37': 'U', 'U8U': 'U',\n    'UAR': 'U', 'UCL': 'U', 'UD5': 'U', 'UDP': 'N', 'UFP': 'N', 'UFR': 'U',\n    'UFT': 'U', 'UMA': 'A', 'UMP': 'U', 'UMS': 'U', 'UN1': 'X', 'UN2': 'X',\n    'UNK': 'X', 'UR3': 'U', 'URD': 'U', 'US1': 'U', 'US2': 'U', 'US3': 'T',\n    'US5': 'U', 'USM': 'U', 'VAD': 'V', 'VAF': 'V', 'VAL': 'V', 'VB1': 'K',\n    'VDL': 'X', 'VLL': 'X', 'VLM': 'X', 'VMS': 'X', 'VOL': 'X', 'X': 'G',\n    'X2W': 'E', 'X4A': 'N', 'XAD': 'A', 'XAE': 'N', 'XAL': 'A', 'XAR': 'N',\n    'XCL': 'C', 'XCN': 'C', 'XCP': 'X', 'XCR': 'C', 'XCS': 'N', 'XCT': 'C',\n    'XCY': 'C', 'XGA': 'N', 'XGL': 'G', 'XGR': 'G', 'XGU': 'G', 'XPR': 'P',\n    'XSN': 'N', 'XTH': 'T', 'XTL': 'T', 'XTR': 'T', 'XTS': 'G', 'XTY': 'N',\n    'XUA': 'A', 'XUG': 'G', 'XX1': 'K', 'Y': 'A', 'YCM': 'C', 'YG': 'G',\n    'YOF': 'Y', 'YRR': 'N', 'YYG': 'G', 'Z': 'C', 'Z01': 'A', 'ZAD': 'A',\n    'ZAL': 'A', 'ZBC': 'C', 'ZBU': 'U', 'ZCL': 'F', 'ZCY': 'C', 'ZDU': 'U',\n    'ZFB': 'X', 'ZGU': 'G', 'ZHP': 'N', 'ZTH': 'T', 'ZU0': 'T', 'ZZJ': 'A',\n}\n# pyformat: enable\n"
  },
  {
    "path": "alphafold/common/residue_constants_test.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Test that residue_constants generates correct values.\"\"\"\n\nfrom absl.testing import absltest\nfrom absl.testing import parameterized\nfrom alphafold.common import residue_constants\nimport numpy as np\n\n\nclass ResidueConstantsTest(parameterized.TestCase):\n\n  @parameterized.parameters(\n      ('ALA', 0),\n      ('CYS', 1),\n      ('HIS', 2),\n      ('MET', 3),\n      ('LYS', 4),\n      ('ARG', 4),\n  )\n  def testChiAnglesAtoms(self, residue_name, chi_num):\n    chi_angles_atoms = residue_constants.chi_angles_atoms[residue_name]\n    self.assertLen(chi_angles_atoms, chi_num)\n    for chi_angle_atoms in chi_angles_atoms:\n      self.assertLen(chi_angle_atoms, 4)\n\n  def testChiGroupsForAtom(self):\n    for k, chi_groups in residue_constants.chi_groups_for_atom.items():\n      res_name, atom_name = k\n      for chi_group_i, atom_i in chi_groups:\n        self.assertEqual(\n            atom_name,\n            residue_constants.chi_angles_atoms[res_name][chi_group_i][atom_i],\n        )\n\n  @parameterized.parameters(\n      ('ALA', 5),\n      ('ARG', 11),\n      ('ASN', 8),\n      ('ASP', 8),\n      ('CYS', 6),\n      ('GLN', 9),\n      ('GLU', 9),\n      ('GLY', 4),\n      ('HIS', 10),\n      ('ILE', 8),\n      ('LEU', 8),\n      ('LYS', 9),\n      ('MET', 8),\n      ('PHE', 11),\n      ('PRO', 7),\n      ('SER', 6),\n      ('THR', 7),\n      ('TRP', 14),\n      ('TYR', 12),\n      ('VAL', 7),\n  )\n  def testResidueAtoms(self, atom_name, num_residue_atoms):\n    residue_atoms = residue_constants.residue_atoms[atom_name]\n    self.assertLen(residue_atoms, num_residue_atoms)\n\n  def testStandardAtomMask(self):\n    with self.subTest('Check shape'):\n      self.assertEqual(\n          residue_constants.STANDARD_ATOM_MASK.shape,\n          (\n              21,\n              37,\n          ),\n      )\n\n    with self.subTest('Check values'):\n      str_to_row = lambda s: [c == '1' for c in s]  # More clear/concise.\n      np.testing.assert_array_equal(\n          residue_constants.STANDARD_ATOM_MASK,\n          np.array([\n              # NB This was defined by c+p but looks sane.\n              str_to_row('11111                                '),  # ALA\n              str_to_row('111111     1           1     11 1    '),  # ARG\n              str_to_row('111111         11                    '),  # ASP\n              str_to_row('111111          11                   '),  # ASN\n              str_to_row('11111     1                          '),  # CYS\n              str_to_row('111111     1             11          '),  # GLU\n              str_to_row('111111     1              11         '),  # GLN\n              str_to_row('111 1                                '),  # GLY\n              str_to_row('111111       11     1    1           '),  # HIS\n              str_to_row('11111 11    1                        '),  # ILE\n              str_to_row('111111      11                       '),  # LEU\n              str_to_row('111111     1       1               1 '),  # LYS\n              str_to_row('111111            11                 '),  # MET\n              str_to_row('111111      11      11          1    '),  # PHE\n              str_to_row('111111     1                         '),  # PRO\n              str_to_row('11111   1                            '),  # SER\n              str_to_row('11111  1 1                           '),  # THR\n              str_to_row('111111      11       11 1   1    11  '),  # TRP\n              str_to_row('111111      11      11         11    '),  # TYR\n              str_to_row('11111 11                             '),  # VAL\n              str_to_row('                                     '),  # UNK\n          ]),\n      )\n\n    with self.subTest('Check row totals'):\n      # Check each row has the right number of atoms.\n      for row, restype in enumerate(residue_constants.restypes):  # A, R, ...\n        long_restype = residue_constants.restype_1to3[restype]  # ALA, ARG, ...\n        atoms_names = residue_constants.residue_atoms[\n            long_restype\n        ]  # ['C', 'CA', 'CB', 'N', 'O'], ...\n        self.assertLen(\n            atoms_names,\n            residue_constants.STANDARD_ATOM_MASK[row, :].sum(),\n            long_restype,\n        )\n\n  def testAtomTypes(self):\n    self.assertEqual(residue_constants.atom_type_num, 37)\n\n    self.assertEqual(residue_constants.atom_types[0], 'N')\n    self.assertEqual(residue_constants.atom_types[1], 'CA')\n    self.assertEqual(residue_constants.atom_types[2], 'C')\n    self.assertEqual(residue_constants.atom_types[3], 'CB')\n    self.assertEqual(residue_constants.atom_types[4], 'O')\n\n    self.assertEqual(residue_constants.atom_order['N'], 0)\n    self.assertEqual(residue_constants.atom_order['CA'], 1)\n    self.assertEqual(residue_constants.atom_order['C'], 2)\n    self.assertEqual(residue_constants.atom_order['CB'], 3)\n    self.assertEqual(residue_constants.atom_order['O'], 4)\n    self.assertEqual(residue_constants.atom_type_num, 37)\n\n  def testRestypes(self):\n    three_letter_restypes = [\n        residue_constants.restype_1to3[r] for r in residue_constants.restypes\n    ]\n    for restype, exp_restype in zip(\n        three_letter_restypes, sorted(residue_constants.restype_1to3.values())\n    ):\n      self.assertEqual(restype, exp_restype)\n    self.assertEqual(residue_constants.restype_num, 20)\n\n  def testSequenceToOneHotHHBlits(self):\n    one_hot = residue_constants.sequence_to_onehot(\n        'ABCDEFGHIJKLMNOPQRSTUVWXYZ-', residue_constants.HHBLITS_AA_TO_ID\n    )\n    exp_one_hot = np.array([\n        [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n        [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n        [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n        [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n        [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n        [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n        [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n        [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n        [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0],\n        [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n        [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0],\n        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],\n        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0],\n        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],\n        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],\n        [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0],\n        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],\n        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0],\n        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0],\n        [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1],\n    ])\n    np.testing.assert_array_equal(one_hot, exp_one_hot)\n\n  def testSequenceToOneHotStandard(self):\n    one_hot = residue_constants.sequence_to_onehot(\n        'ARNDCQEGHILKMFPSTWYV', residue_constants.restype_order\n    )\n    np.testing.assert_array_equal(one_hot, np.eye(20))\n\n  def testSequenceToOneHotUnknownMapping(self):\n    seq = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'\n    expected_out = np.zeros([26, 21])\n    # pyformat: disable\n    for row, position in enumerate([\n        0, 20, 4, 3, 6, 13, 7, 8, 9, 20, 11, 10, 12, 2, 20, 14, 5, 1, 15, 16,\n        20, 19, 17, 20, 18, 20\n    ]):\n      expected_out[row, position] = 1\n    # pyformat: enable\n    aa_types = residue_constants.sequence_to_onehot(\n        sequence=seq,\n        mapping=residue_constants.restype_order_with_x,\n        map_unknown_to_x=True,\n    )\n    self.assertTrue((aa_types == expected_out).all())\n\n  @parameterized.named_parameters(\n      ('lowercase', 'aaa'),  # Insertions in A3M.\n      ('gaps', '---'),  # Gaps in A3M.\n      ('dots', '...'),  # Gaps in A3M.\n      ('metadata', '>TEST'),  # FASTA metadata line.\n  )\n  def testSequenceToOneHotUnknownMappingError(self, seq):\n    with self.assertRaises(ValueError):\n      residue_constants.sequence_to_onehot(\n          sequence=seq,\n          mapping=residue_constants.restype_order_with_x,\n          map_unknown_to_x=True,\n      )\n\n\nif __name__ == '__main__':\n  absltest.main()\n"
  },
  {
    "path": "alphafold/common/testdata/2rbg.pdb",
    "content": "HEADER    STRUCTURAL GENOMICS, UNKNOWN FUNCTION   19-SEP-07   2RBG              \nTITLE     CRYSTAL STRUCTURE OF HYPOTHETICAL PROTEIN(ST0493) FROM                \nTITLE    2 SULFOLOBUS TOKODAII                                                  \nCOMPND    MOL_ID: 1;                                                            \nCOMPND   2 MOLECULE: PUTATIVE UNCHARACTERIZED PROTEIN ST0493;                   \nCOMPND   3 CHAIN: A, B;                                                         \nCOMPND   4 ENGINEERED: YES                                                      \nSOURCE    MOL_ID: 1;                                                            \nSOURCE   2 ORGANISM_SCIENTIFIC: SULFOLOBUS TOKODAII;                            \nSOURCE   3 ORGANISM_TAXID: 111955;                                              \nSOURCE   4 STRAIN: STRAIN 7;                                                    \nSOURCE   5 EXPRESSION_SYSTEM: ESCHERICHIA COLI;                                 \nSOURCE   6 EXPRESSION_SYSTEM_TAXID: 562;                                        \nSOURCE   7 EXPRESSION_SYSTEM_STRAIN: ROSETTA834(DE3);                           \nSOURCE   8 EXPRESSION_SYSTEM_VECTOR_TYPE: PLASMID;                              \nSOURCE   9 EXPRESSION_SYSTEM_PLASMID: PET-21A                                   \nKEYWDS    HYPOTHETICAL PROTEIN, STRUCTURAL GENOMICS, UNKNOWN FUNCTION,          \nKEYWDS   2 NPPSFA, NATIONAL PROJECT ON PROTEIN STRUCTURAL AND                   \nKEYWDS   3 FUNCTIONAL ANALYSES, RIKEN STRUCTURAL GENOMICS/PROTEOMICS            \nKEYWDS   4 INITIATIVE, RSGI                                                     \nEXPDTA    X-RAY DIFFRACTION                                                     \nAUTHOR    J.JEYAKANTHAN,S.KURAMITSU,S.YOKOYAMA,RIKEN STRUCTURAL                 \nAUTHOR   2 GENOMICS/PROTEOMICS INITIATIVE (RSGI)                                \nREVDAT   2   24-FEB-09 2RBG    1       VERSN                                    \nREVDAT   1   30-SEP-08 2RBG    0                                                \nJRNL        AUTH   J.JEYAKANTHAN,S.KURAMITSU,S.YOKOYAMA                         \nJRNL        TITL   CRYSTAL STRUCTURE OF HYPOTHETICAL PROTEIN(ST0493)            \nJRNL        TITL 2 FROM SULFOLOBUS TOKODAII                                     \nJRNL        REF    TO BE PUBLISHED                                              \nJRNL        REFN                                                                \nREMARK   1                                                                      \nREMARK   2                                                                      \nREMARK   2 RESOLUTION.    1.75 ANGSTROMS.                                       \nREMARK   3                                                                      \nREMARK   3 REFINEMENT.                                                          \nREMARK   3   PROGRAM     : CNS 1.1                                              \nREMARK   3   AUTHORS     : BRUNGER,ADAMS,CLORE,DELANO,GROS,GROSSE-              \nREMARK   3               : KUNSTLEVE,JIANG,KUSZEWSKI,NILGES, PANNU,             \nREMARK   3               : READ,RICE,SIMONSON,WARREN                            \nREMARK   3                                                                      \nREMARK   3  REFINEMENT TARGET : ENGH & HUBER                                    \nREMARK   3                                                                      \nREMARK   3  DATA USED IN REFINEMENT.                                            \nREMARK   3   RESOLUTION RANGE HIGH (ANGSTROMS) : 1.75                           \nREMARK   3   RESOLUTION RANGE LOW  (ANGSTROMS) : 33.49                          \nREMARK   3   DATA CUTOFF            (SIGMA(F)) : 0.000                          \nREMARK   3   DATA CUTOFF HIGH         (ABS(F)) : 2067291.840                    \nREMARK   3   DATA CUTOFF LOW          (ABS(F)) : 0.0000                         \nREMARK   3   COMPLETENESS (WORKING+TEST)   (%) : 99.3                           \nREMARK   3   NUMBER OF REFLECTIONS             : 25029                          \nREMARK   3                                                                      \nREMARK   3  FIT TO DATA USED IN REFINEMENT.                                     \nREMARK   3   CROSS-VALIDATION METHOD          : THROUGHOUT                      \nREMARK   3   FREE R VALUE TEST SET SELECTION  : RANDOM                          \nREMARK   3   R VALUE            (WORKING SET) : 0.173                           \nREMARK   3   FREE R VALUE                     : 0.196                           \nREMARK   3   FREE R VALUE TEST SET SIZE   (%) : 4.900                           \nREMARK   3   FREE R VALUE TEST SET COUNT      : 1216                            \nREMARK   3   ESTIMATED ERROR OF FREE R VALUE  : 0.006                           \nREMARK   3                                                                      \nREMARK   3  FIT IN THE HIGHEST RESOLUTION BIN.                                  \nREMARK   3   TOTAL NUMBER OF BINS USED           : 8                            \nREMARK   3   BIN RESOLUTION RANGE HIGH       (A) : 1.75                         \nREMARK   3   BIN RESOLUTION RANGE LOW        (A) : 1.83                         \nREMARK   3   BIN COMPLETENESS (WORKING+TEST) (%) : 96.80                        \nREMARK   3   REFLECTIONS IN BIN    (WORKING SET) : 2906                         \nREMARK   3   BIN R VALUE           (WORKING SET) : 0.1980                       \nREMARK   3   BIN FREE R VALUE                    : 0.2420                       \nREMARK   3   BIN FREE R VALUE TEST SET SIZE  (%) : 5.10                         \nREMARK   3   BIN FREE R VALUE TEST SET COUNT     : 156                          \nREMARK   3   ESTIMATED ERROR OF BIN FREE R VALUE : 0.019                        \nREMARK   3                                                                      \nREMARK   3  NUMBER OF NON-HYDROGEN ATOMS USED IN REFINEMENT.                    \nREMARK   3   PROTEIN ATOMS            : 2060                                    \nREMARK   3   NUCLEIC ACID ATOMS       : 0                                       \nREMARK   3   HETEROGEN ATOMS          : 5                                       \nREMARK   3   SOLVENT ATOMS            : 316                                     \nREMARK   3                                                                      \nREMARK   3  B VALUES.                                                           \nREMARK   3   FROM WILSON PLOT           (A**2) : 13.30                          \nREMARK   3   MEAN B VALUE      (OVERALL, A**2) : 16.90                          \nREMARK   3   OVERALL ANISOTROPIC B VALUE.                                       \nREMARK   3    B11 (A**2) : 2.81000                                              \nREMARK   3    B22 (A**2) : -1.00000                                             \nREMARK   3    B33 (A**2) : -1.81000                                             \nREMARK   3    B12 (A**2) : 0.00000                                              \nREMARK   3    B13 (A**2) : -1.31000                                             \nREMARK   3    B23 (A**2) : 0.00000                                              \nREMARK   3                                                                      \nREMARK   3  ESTIMATED COORDINATE ERROR.                                         \nREMARK   3   ESD FROM LUZZATI PLOT        (A) : 0.16                            \nREMARK   3   ESD FROM SIGMAA              (A) : 0.06                            \nREMARK   3   LOW RESOLUTION CUTOFF        (A) : 5.00                            \nREMARK   3                                                                      \nREMARK   3  CROSS-VALIDATED ESTIMATED COORDINATE ERROR.                         \nREMARK   3   ESD FROM C-V LUZZATI PLOT    (A) : 0.19                            \nREMARK   3   ESD FROM C-V SIGMAA          (A) : 0.14                            \nREMARK   3                                                                      \nREMARK   3  RMS DEVIATIONS FROM IDEAL VALUES.                                   \nREMARK   3   BOND LENGTHS                 (A) : 0.005                           \nREMARK   3   BOND ANGLES            (DEGREES) : 1.10                            \nREMARK   3   DIHEDRAL ANGLES        (DEGREES) : 22.00                           \nREMARK   3   IMPROPER ANGLES        (DEGREES) : 0.70                            \nREMARK   3                                                                      \nREMARK   3  ISOTROPIC THERMAL MODEL : RESTRAINED                                \nREMARK   3                                                                      \nREMARK   3  ISOTROPIC THERMAL FACTOR RESTRAINTS.    RMS    SIGMA                \nREMARK   3   MAIN-CHAIN BOND              (A**2) : NULL  ; NULL                 \nREMARK   3   MAIN-CHAIN ANGLE             (A**2) : NULL  ; NULL                 \nREMARK   3   SIDE-CHAIN BOND              (A**2) : NULL  ; NULL                 \nREMARK   3   SIDE-CHAIN ANGLE             (A**2) : NULL  ; NULL                 \nREMARK   3                                                                      \nREMARK   3  BULK SOLVENT MODELING.                                              \nREMARK   3   METHOD USED : FLAT MODEL                                           \nREMARK   3   KSOL        : 0.37                                                 \nREMARK   3   BSOL        : 51.20                                                \nREMARK   3                                                                      \nREMARK   3  NCS MODEL : NULL                                                    \nREMARK   3                                                                      \nREMARK   3  NCS RESTRAINTS.                         RMS   SIGMA/WEIGHT          \nREMARK   3   GROUP  1  POSITIONAL            (A) : NULL  ; NULL                 \nREMARK   3   GROUP  1  B-FACTOR           (A**2) : NULL  ; NULL                 \nREMARK   3                                                                      \nREMARK   3  PARAMETER FILE  1  : PROTEIN_REP.PARAM                              \nREMARK   3  PARAMETER FILE  2  : LIGAND.PARAM                                   \nREMARK   3  PARAMETER FILE  3  : ION.PARAM                                      \nREMARK   3  PARAMETER FILE  5  : WATER_REP.PARAM                                \nREMARK   3  PARAMETER FILE  6  : NULL                                           \nREMARK   3  TOPOLOGY FILE  1   : PROTEIN.TOP                                    \nREMARK   3  TOPOLOGY FILE  2   : LIGAND.TOP                                     \nREMARK   3  TOPOLOGY FILE  3   : ION.TOP                                        \nREMARK   3  TOPOLOGY FILE  5   : WATER_PROTIN.TOP                               \nREMARK   3  TOPOLOGY FILE  6   : NULL                                           \nREMARK   3                                                                      \nREMARK   3  OTHER REFINEMENT REMARKS: NULL                                      \nREMARK   4                                                                      \nREMARK   4 2RBG COMPLIES WITH FORMAT V. 3.15, 01-DEC-08                         \nREMARK 100                                                                      \nREMARK 100 THIS ENTRY HAS BEEN PROCESSED BY PDBJ ON 27-SEP-07.                  \nREMARK 100 THE RCSB ID CODE IS RCSB044658.                                      \nREMARK 200                                                                      \nREMARK 200 EXPERIMENTAL DETAILS                                                 \nREMARK 200  EXPERIMENT TYPE                : X-RAY DIFFRACTION                  \nREMARK 200  DATE OF DATA COLLECTION        : 16-JUN-07                          \nREMARK 200  TEMPERATURE           (KELVIN) : 100                                \nREMARK 200  PH                             : 7.5                                \nREMARK 200  NUMBER OF CRYSTALS USED        : 1                                  \nREMARK 200                                                                      \nREMARK 200  SYNCHROTRON              (Y/N) : Y                                  \nREMARK 200  RADIATION SOURCE               : SPRING-8                           \nREMARK 200  BEAMLINE                       : BL26B2                             \nREMARK 200  X-RAY GENERATOR MODEL          : NULL                               \nREMARK 200  MONOCHROMATIC OR LAUE    (M/L) : M                                  \nREMARK 200  WAVELENGTH OR RANGE        (A) : 0.97899, 0.9, 0.97931              \nREMARK 200  MONOCHROMATOR                  : SI-1 1 1 DOUBLE CRYSTAL            \nREMARK 200                                   MONOCHROMATOR                      \nREMARK 200  OPTICS                         : RH COATED BENT-CYRINDRICAL         \nREMARK 200                                   MIRROR                             \nREMARK 200                                                                      \nREMARK 200  DETECTOR TYPE                  : CCD                                \nREMARK 200  DETECTOR MANUFACTURER          : MARMOSAIC 225 MM CCD               \nREMARK 200  INTENSITY-INTEGRATION SOFTWARE : HKL-2000                           \nREMARK 200  DATA SCALING SOFTWARE          : SCALEPACK                          \nREMARK 200                                                                      \nREMARK 200  NUMBER OF UNIQUE REFLECTIONS   : 25105                              \nREMARK 200  RESOLUTION RANGE HIGH      (A) : 1.750                              \nREMARK 200  RESOLUTION RANGE LOW       (A) : 50.000                             \nREMARK 200  REJECTION CRITERIA  (SIGMA(I)) : NULL                               \nREMARK 200                                                                      \nREMARK 200 OVERALL.                                                             \nREMARK 200  COMPLETENESS FOR RANGE     (%) : 99.6                               \nREMARK 200  DATA REDUNDANCY                : NULL                               \nREMARK 200  R MERGE                    (I) : 0.05900                            \nREMARK 200  R SYM                      (I) : 0.06300                            \nREMARK 200  <I/SIGMA(I)> FOR THE DATA SET  : NULL                               \nREMARK 200                                                                      \nREMARK 200 IN THE HIGHEST RESOLUTION SHELL.                                     \nREMARK 200  HIGHEST RESOLUTION SHELL, RANGE HIGH (A) : 1.75                     \nREMARK 200  HIGHEST RESOLUTION SHELL, RANGE LOW  (A) : 1.81                     \nREMARK 200  COMPLETENESS FOR SHELL     (%) : 96.9                               \nREMARK 200  DATA REDUNDANCY IN SHELL       : NULL                               \nREMARK 200  R MERGE FOR SHELL          (I) : 0.14300                            \nREMARK 200  R SYM FOR SHELL            (I) : 0.13300                            \nREMARK 200  <I/SIGMA(I)> FOR SHELL         : NULL                               \nREMARK 200                                                                      \nREMARK 200 DIFFRACTION PROTOCOL: MAD                                            \nREMARK 200 METHOD USED TO DETERMINE THE STRUCTURE: MAD                          \nREMARK 200 SOFTWARE USED: SOLVE                                                 \nREMARK 200 STARTING MODEL: NULL                                                 \nREMARK 200                                                                      \nREMARK 200 REMARK: NULL                                                         \nREMARK 280                                                                      \nREMARK 280 CRYSTAL                                                              \nREMARK 280 SOLVENT CONTENT, VS   (%): 41.69                                     \nREMARK 280 MATTHEWS COEFFICIENT, VM (ANGSTROMS**3/DA): 2.11                     \nREMARK 280                                                                      \nREMARK 280 CRYSTALLIZATION CONDITIONS: 30% PEG 4K, 0.2M AMMONIUM SULFATE,       \nREMARK 280  PH 7.5, MICROBATCH, TEMPERATURE 293K                                \nREMARK 290                                                                      \nREMARK 290 CRYSTALLOGRAPHIC SYMMETRY                                            \nREMARK 290 SYMMETRY OPERATORS FOR SPACE GROUP: P 1 21 1                         \nREMARK 290                                                                      \nREMARK 290      SYMOP   SYMMETRY                                                \nREMARK 290     NNNMMM   OPERATOR                                                \nREMARK 290       1555   X,Y,Z                                                   \nREMARK 290       2555   -X,Y+1/2,-Z                                             \nREMARK 290                                                                      \nREMARK 290     WHERE NNN -> OPERATOR NUMBER                                     \nREMARK 290           MMM -> TRANSLATION VECTOR                                  \nREMARK 290                                                                      \nREMARK 290 CRYSTALLOGRAPHIC SYMMETRY TRANSFORMATIONS                            \nREMARK 290 THE FOLLOWING TRANSFORMATIONS OPERATE ON THE ATOM/HETATM             \nREMARK 290 RECORDS IN THIS ENTRY TO PRODUCE CRYSTALLOGRAPHICALLY                \nREMARK 290 RELATED MOLECULES.                                                   \nREMARK 290   SMTRY1   1  1.000000  0.000000  0.000000        0.00000            \nREMARK 290   SMTRY2   1  0.000000  1.000000  0.000000        0.00000            \nREMARK 290   SMTRY3   1  0.000000  0.000000  1.000000        0.00000            \nREMARK 290   SMTRY1   2 -1.000000  0.000000  0.000000        0.00000            \nREMARK 290   SMTRY2   2  0.000000  1.000000  0.000000       32.59200            \nREMARK 290   SMTRY3   2  0.000000  0.000000 -1.000000        0.00000            \nREMARK 290                                                                      \nREMARK 290 REMARK: NULL                                                         \nREMARK 300                                                                      \nREMARK 300 BIOMOLECULE: 1, 2, 3                                                 \nREMARK 300 SEE REMARK 350 FOR THE AUTHOR PROVIDED AND/OR PROGRAM                \nREMARK 300 GENERATED ASSEMBLY INFORMATION FOR THE STRUCTURE IN                  \nREMARK 300 THIS ENTRY. THE REMARK MAY ALSO PROVIDE INFORMATION ON               \nREMARK 300 BURIED SURFACE AREA.                                                 \nREMARK 350                                                                      \nREMARK 350 COORDINATES FOR A COMPLETE MULTIMER REPRESENTING THE KNOWN           \nREMARK 350 BIOLOGICALLY SIGNIFICANT OLIGOMERIZATION STATE OF THE                \nREMARK 350 MOLECULE CAN BE GENERATED BY APPLYING BIOMT TRANSFORMATIONS          \nREMARK 350 GIVEN BELOW.  BOTH NON-CRYSTALLOGRAPHIC AND                          \nREMARK 350 CRYSTALLOGRAPHIC OPERATIONS ARE GIVEN.                               \nREMARK 350                                                                      \nREMARK 350 BIOMOLECULE: 1                                                       \nREMARK 350 AUTHOR DETERMINED BIOLOGICAL UNIT: DIMERIC                           \nREMARK 350 APPLY THE FOLLOWING TO CHAINS: A, B                                  \nREMARK 350   BIOMT1   1  1.000000  0.000000  0.000000        0.00000            \nREMARK 350   BIOMT2   1  0.000000  1.000000  0.000000        0.00000            \nREMARK 350   BIOMT3   1  0.000000  0.000000  1.000000        0.00000            \nREMARK 350                                                                      \nREMARK 350 BIOMOLECULE: 2                                                       \nREMARK 350 SOFTWARE DETERMINED QUATERNARY STRUCTURE: MONOMERIC                  \nREMARK 350 SOFTWARE USED: PISA                                                  \nREMARK 350 APPLY THE FOLLOWING TO CHAINS: A                                     \nREMARK 350   BIOMT1   1  1.000000  0.000000  0.000000        0.00000            \nREMARK 350   BIOMT2   1  0.000000  1.000000  0.000000        0.00000            \nREMARK 350   BIOMT3   1  0.000000  0.000000  1.000000        0.00000            \nREMARK 350                                                                      \nREMARK 350 BIOMOLECULE: 3                                                       \nREMARK 350 SOFTWARE DETERMINED QUATERNARY STRUCTURE: MONOMERIC                  \nREMARK 350 SOFTWARE USED: PISA                                                  \nREMARK 350 APPLY THE FOLLOWING TO CHAINS: B                                     \nREMARK 350   BIOMT1   1  1.000000  0.000000  0.000000        0.00000            \nREMARK 350   BIOMT2   1  0.000000  1.000000  0.000000        0.00000            \nREMARK 350   BIOMT3   1  0.000000  0.000000  1.000000        0.00000            \nREMARK 465                                                                      \nREMARK 465 MISSING RESIDUES                                                     \nREMARK 465 THE FOLLOWING RESIDUES WERE NOT LOCATED IN THE                       \nREMARK 465 EXPERIMENT. (M=MODEL NUMBER; RES=RESIDUE NAME; C=CHAIN               \nREMARK 465 IDENTIFIER; SSSEQ=SEQUENCE NUMBER; I=INSERTION CODE.)                \nREMARK 465                                                                      \nREMARK 465   M RES C SSSEQI                                                     \nREMARK 465     MSE A     1                                                      \nREMARK 465     PRO A     2                                                      \nREMARK 465     MSE B     1                                                      \nREMARK 465     PRO B     2                                                      \nREMARK 500                                                                      \nREMARK 500 GEOMETRY AND STEREOCHEMISTRY                                         \nREMARK 500 SUBTOPIC: TORSION ANGLES                                             \nREMARK 500                                                                      \nREMARK 500 TORSION ANGLES OUTSIDE THE EXPECTED RAMACHANDRAN REGIONS:            \nREMARK 500 (M=MODEL NUMBER; RES=RESIDUE NAME; C=CHAIN IDENTIFIER;               \nREMARK 500 SSEQ=SEQUENCE NUMBER; I=INSERTION CODE).                             \nREMARK 500                                                                      \nREMARK 500 STANDARD TABLE:                                                      \nREMARK 500 FORMAT:(10X,I3,1X,A3,1X,A1,I4,A1,4X,F7.2,3X,F7.2)                    \nREMARK 500                                                                      \nREMARK 500 EXPECTED VALUES: GJ KLEYWEGT AND TA JONES (1996). PHI/PSI-           \nREMARK 500 CHOLOGY: RAMACHANDRAN REVISITED. STRUCTURE 4, 1395 - 1400            \nREMARK 500                                                                      \nREMARK 500  M RES CSSEQI        PSI       PHI                                   \nREMARK 500    PHE A 121       76.88   -102.11                                   \nREMARK 500    CYS A 122      -73.41   -165.90                                   \nREMARK 500    CYS B 122      -70.28   -161.68                                   \nREMARK 500                                                                      \nREMARK 500 REMARK: NULL                                                         \nREMARK 800                                                                      \nREMARK 800 SITE                                                                 \nREMARK 800 SITE_IDENTIFIER: AC1                                                 \nREMARK 800 EVIDENCE_CODE: SOFTWARE                                              \nREMARK 800 SITE_DESCRIPTION: BINDING SITE FOR RESIDUE SO4 B 127                 \nREMARK 900                                                                      \nREMARK 900 RELATED ENTRIES                                                      \nREMARK 900 RELATED ID: STO001000493.1   RELATED DB: TARGETDB                    \nDBREF  2RBG A    1   126  UNP    Q975B5   Q975B5_SULTO     1    126             \nDBREF  2RBG B    1   126  UNP    Q975B5   Q975B5_SULTO     1    126             \nSEQRES   1 A  126  MSE PRO TYR LYS ASN ILE LEU THR LEU ILE SER VAL ASN          \nSEQRES   2 A  126  ASN ASP ASN PHE GLU ASN TYR PHE ARG LYS ILE PHE LEU          \nSEQRES   3 A  126  ASP VAL ARG SER SER GLY SER LYS LYS THR THR ILE ASN          \nSEQRES   4 A  126  VAL PHE THR GLU ILE GLN TYR GLN GLU LEU VAL THR LEU          \nSEQRES   5 A  126  ILE ARG GLU ALA LEU LEU GLU ASN ILE ASP ILE GLY TYR          \nSEQRES   6 A  126  GLU LEU PHE LEU TRP LYS LYS ASN GLU VAL ASP ILE PHE          \nSEQRES   7 A  126  LEU LYS ASN LEU GLU LYS SER GLU VAL ASP GLY LEU LEU          \nSEQRES   8 A  126  VAL TYR CYS ASP ASP GLU ASN LYS VAL PHE MSE SER LYS          \nSEQRES   9 A  126  ILE VAL ASP ASN LEU PRO THR ALA ILE LYS ARG ASN LEU          \nSEQRES  10 A  126  ILE LYS ASP PHE CYS ARG LYS LEU SER                          \nSEQRES   1 B  126  MSE PRO TYR LYS ASN ILE LEU THR LEU ILE SER VAL ASN          \nSEQRES   2 B  126  ASN ASP ASN PHE GLU ASN TYR PHE ARG LYS ILE PHE LEU          \nSEQRES   3 B  126  ASP VAL ARG SER SER GLY SER LYS LYS THR THR ILE ASN          \nSEQRES   4 B  126  VAL PHE THR GLU ILE GLN TYR GLN GLU LEU VAL THR LEU          \nSEQRES   5 B  126  ILE ARG GLU ALA LEU LEU GLU ASN ILE ASP ILE GLY TYR          \nSEQRES   6 B  126  GLU LEU PHE LEU TRP LYS LYS ASN GLU VAL ASP ILE PHE          \nSEQRES   7 B  126  LEU LYS ASN LEU GLU LYS SER GLU VAL ASP GLY LEU LEU          \nSEQRES   8 B  126  VAL TYR CYS ASP ASP GLU ASN LYS VAL PHE MSE SER LYS          \nSEQRES   9 B  126  ILE VAL ASP ASN LEU PRO THR ALA ILE LYS ARG ASN LEU          \nSEQRES  10 B  126  ILE LYS ASP PHE CYS ARG LYS LEU SER                          \nMODRES 2RBG MSE A  102  MET  SELENOMETHIONINE                                   \nMODRES 2RBG MSE B  102  MET  SELENOMETHIONINE                                   \nHET    MSE  A 102       8                                                       \nHET    MSE  B 102       8                                                       \nHET    SO4  B 127       5                                                       \nHETNAM     MSE SELENOMETHIONINE                                                 \nHETNAM     SO4 SULFATE ION                                                      \nFORMUL   1  MSE    2(C5 H11 N O2 SE)                                            \nFORMUL   3  SO4    O4 S 2-                                                      \nFORMUL   4  HOH   *316(H2 O)                                                    \nHELIX    1   1 ASN A   13  ASP A   15  5                                   3    \nHELIX    2   2 ASN A   16  GLY A   32  1                                  17    \nHELIX    3   3 GLN A   45  ILE A   53  1                                   9    \nHELIX    4   4 ILE A   53  ASN A   60  1                                   8    \nHELIX    5   5 LYS A   71  ASN A   73  5                                   3    \nHELIX    6   6 GLU A   74  GLU A   83  1                                  10    \nHELIX    7   7 ASN A   98  ASN A  108  1                                  11    \nHELIX    8   8 PRO A  110  ARG A  115  1                                   6    \nHELIX    9   9 ASN B   13  ASP B   15  5                                   3    \nHELIX   10  10 ASN B   16  GLY B   32  1                                  17    \nHELIX   11  11 GLN B   45  ILE B   53  1                                   9    \nHELIX   12  12 ILE B   53  GLU B   59  1                                   7    \nHELIX   13  13 LYS B   71  ASN B   73  5                                   3    \nHELIX   14  14 GLU B   74  LEU B   82  1                                   9    \nHELIX   15  15 GLU B   83  SER B   85  5                                   3    \nHELIX   16  16 ASN B   98  ASN B  108  1                                  11    \nHELIX   17  17 PRO B  110  ASN B  116  1                                   7    \nSHEET    1   A 5 GLY A  64  TRP A  70  0                                        \nSHEET    2   A 5 LYS A  35  PHE A  41  1  N  VAL A  40   O  PHE A  68           \nSHEET    3   A 5 ILE A   6  SER A  11  1  N  THR A   8   O  ASN A  39           \nSHEET    4   A 5 GLY A  89  CYS A  94  1  O  GLY A  89   N  LEU A   7           \nSHEET    5   A 5 LEU A 117  PHE A 121  1  O  ILE A 118   N  LEU A  90           \nSHEET    1   B 5 GLY B  64  TRP B  70  0                                        \nSHEET    2   B 5 LYS B  35  PHE B  41  1  N  VAL B  40   O  TRP B  70           \nSHEET    3   B 5 ILE B   6  SER B  11  1  N  THR B   8   O  ASN B  39           \nSHEET    4   B 5 GLY B  89  CYS B  94  1  O  GLY B  89   N  LEU B   7           \nSHEET    5   B 5 LEU B 117  PHE B 121  1  O  ILE B 118   N  LEU B  90           \nSSBOND   1 CYS A   94    CYS A  122                          1555   1555  2.03  \nSSBOND   2 CYS B   94    CYS B  122                          1555   1555  2.03  \nLINK         C   PHE A 101                 N   MSE A 102     1555   1555  1.33  \nLINK         C   MSE A 102                 N   SER A 103     1555   1555  1.33  \nLINK         C   PHE B 101                 N   MSE B 102     1555   1555  1.33  \nLINK         C   MSE B 102                 N   SER B 103     1555   1555  1.33  \nSITE     1 AC1  5 GLU B  18  ARG B  22  GLU B  55  HOH B 217                    \nSITE     2 AC1  5 HOH B 234                                                     \nCRYST1   39.444   65.184   49.604  90.00  98.19  90.00 P 1 21 1      4          \nORIGX1      1.000000  0.000000  0.000000        0.00000                         \nORIGX2      0.000000  1.000000  0.000000        0.00000                         \nORIGX3      0.000000  0.000000  1.000000        0.00000                         \nSCALE1      0.025352  0.000000  0.003650        0.00000                         \nSCALE2      0.000000  0.015341  0.000000        0.00000                         \nSCALE3      0.000000  0.000000  0.020368        0.00000                         \nATOM      1  N   TYR A   3      33.471   9.062  24.101  1.00 24.34           N  \nATOM      2  CA  TYR A   3      32.068   8.798  23.671  1.00 22.76           C  \nATOM      3  C   TYR A   3      31.421  10.059  23.108  1.00 22.12           C  \nATOM      4  O   TYR A   3      31.551  11.144  23.678  1.00 23.86           O  \nATOM      5  CB  TYR A   3      31.252   8.265  24.852  1.00 22.59           C  \nATOM      6  CG  TYR A   3      31.720   6.909  25.338  1.00 23.54           C  \nATOM      7  CD1 TYR A   3      32.254   6.746  26.616  1.00 23.82           C  \nATOM      8  CD2 TYR A   3      31.647   5.792  24.508  1.00 23.93           C  \nATOM      9  CE1 TYR A   3      32.705   5.500  27.055  1.00 25.31           C  \nATOM     10  CE2 TYR A   3      32.095   4.544  24.936  1.00 22.68           C  \nATOM     11  CZ  TYR A   3      32.622   4.405  26.208  1.00 25.21           C  \nATOM     12  OH  TYR A   3      33.070   3.171  26.625  1.00 27.53           O  \nATOM     13  N   LYS A   4      30.720   9.903  21.989  1.00 18.90           N  \nATOM     14  CA  LYS A   4      30.060  11.019  21.317  1.00 18.65           C  \nATOM     15  C   LYS A   4      28.537  10.918  21.313  1.00 15.20           C  \nATOM     16  O   LYS A   4      27.850  11.932  21.232  1.00 13.13           O  \nATOM     17  CB  LYS A   4      30.555  11.114  19.870  1.00 21.41           C  \nATOM     18  CG  LYS A   4      32.064  11.283  19.734  1.00 32.01           C  \nATOM     19  CD  LYS A   4      32.527  12.652  20.213  1.00 36.58           C  \nATOM     20  CE  LYS A   4      32.002  13.760  19.311  1.00 39.57           C  \nATOM     21  NZ  LYS A   4      32.463  15.105  19.752  1.00 43.99           N  \nATOM     22  N   ASN A   5      28.009   9.699  21.374  1.00 13.77           N  \nATOM     23  CA  ASN A   5      26.560   9.508  21.373  1.00 13.94           C  \nATOM     24  C   ASN A   5      26.217   8.213  22.092  1.00 14.07           C  \nATOM     25  O   ASN A   5      26.368   7.121  21.548  1.00 13.93           O  \nATOM     26  CB  ASN A   5      26.022   9.489  19.936  1.00 15.07           C  \nATOM     27  CG  ASN A   5      24.503   9.457  19.879  1.00 19.05           C  \nATOM     28  OD1 ASN A   5      23.826  10.028  20.734  1.00 18.93           O  \nATOM     29  ND2 ASN A   5      23.960   8.805  18.857  1.00 23.13           N  \nATOM     30  N   ILE A   6      25.749   8.359  23.324  1.00 12.56           N  \nATOM     31  CA  ILE A   6      25.398   7.232  24.174  1.00 10.81           C  \nATOM     32  C   ILE A   6      24.026   6.636  23.871  1.00  9.05           C  \nATOM     33  O   ILE A   6      23.032   7.360  23.784  1.00 10.03           O  \nATOM     34  CB  ILE A   6      25.409   7.661  25.661  1.00 10.42           C  \nATOM     35  CG1 ILE A   6      26.761   8.291  26.015  1.00 14.05           C  \nATOM     36  CG2 ILE A   6      25.114   6.465  26.555  1.00 10.54           C  \nATOM     37  CD1 ILE A   6      27.942   7.352  25.864  1.00 13.83           C  \nATOM     38  N   LEU A   7      23.978   5.317  23.695  1.00  7.97           N  \nATOM     39  CA  LEU A   7      22.708   4.638  23.468  1.00  7.84           C  \nATOM     40  C   LEU A   7      22.167   4.341  24.862  1.00  6.49           C  \nATOM     41  O   LEU A   7      22.786   3.598  25.623  1.00  7.93           O  \nATOM     42  CB  LEU A   7      22.901   3.315  22.724  1.00  7.80           C  \nATOM     43  CG  LEU A   7      21.627   2.465  22.610  1.00  8.47           C  \nATOM     44  CD1 LEU A   7      20.587   3.198  21.769  1.00  8.00           C  \nATOM     45  CD2 LEU A   7      21.961   1.115  21.988  1.00 10.59           C  \nATOM     46  N   THR A   8      21.029   4.936  25.201  1.00  5.70           N  \nATOM     47  CA  THR A   8      20.419   4.719  26.508  1.00  6.42           C  \nATOM     48  C   THR A   8      19.137   3.917  26.352  1.00  6.87           C  \nATOM     49  O   THR A   8      18.243   4.298  25.595  1.00  7.76           O  \nATOM     50  CB  THR A   8      20.101   6.061  27.208  1.00  6.58           C  \nATOM     51  OG1 THR A   8      21.328   6.729  27.538  1.00  7.53           O  \nATOM     52  CG2 THR A   8      19.310   5.826  28.490  1.00  7.99           C  \nATOM     53  N   LEU A   9      19.067   2.792  27.057  1.00  7.67           N  \nATOM     54  CA  LEU A   9      17.898   1.930  27.012  1.00  8.24           C  \nATOM     55  C   LEU A   9      17.289   1.878  28.404  1.00  8.48           C  \nATOM     56  O   LEU A   9      18.000   1.681  29.391  1.00  7.88           O  \nATOM     57  CB  LEU A   9      18.293   0.514  26.583  1.00  9.90           C  \nATOM     58  CG  LEU A   9      19.140   0.391  25.315  1.00 11.56           C  \nATOM     59  CD1 LEU A   9      19.413  -1.082  25.031  1.00 10.95           C  \nATOM     60  CD2 LEU A   9      18.418   1.039  24.145  1.00 10.46           C  \nATOM     61  N   ILE A  10      15.976   2.056  28.484  1.00  7.53           N  \nATOM     62  CA  ILE A  10      15.301   2.010  29.771  1.00  7.34           C  \nATOM     63  C   ILE A  10      13.911   1.408  29.690  1.00  8.82           C  \nATOM     64  O   ILE A  10      13.146   1.683  28.767  1.00 10.17           O  \nATOM     65  CB  ILE A  10      15.190   3.420  30.412  1.00  8.96           C  \nATOM     66  CG1 ILE A  10      14.388   3.338  31.717  1.00  7.62           C  \nATOM     67  CG2 ILE A  10      14.524   4.392  29.433  1.00  9.63           C  \nATOM     68  CD1 ILE A  10      14.445   4.613  32.566  1.00 11.33           C  \nATOM     69  N   SER A  11      13.605   0.560  30.664  1.00  8.33           N  \nATOM     70  CA  SER A  11      12.297  -0.060  30.761  1.00 10.47           C  \nATOM     71  C   SER A  11      11.962  -0.145  32.245  1.00  9.11           C  \nATOM     72  O   SER A  11      12.520  -0.964  32.972  1.00 11.58           O  \nATOM     73  CB  SER A  11      12.300  -1.457  30.143  1.00 13.19           C  \nATOM     74  OG  SER A  11      10.990  -1.998  30.156  1.00 19.72           O  \nATOM     75  N   VAL A  12      11.067   0.730  32.687  1.00 11.21           N  \nATOM     76  CA  VAL A  12      10.643   0.770  34.081  1.00 11.41           C  \nATOM     77  C   VAL A  12       9.161   1.098  34.156  1.00 15.63           C  \nATOM     78  O   VAL A  12       8.563   1.528  33.170  1.00 16.75           O  \nATOM     79  CB  VAL A  12      11.402   1.858  34.886  1.00 11.30           C  \nATOM     80  CG1 VAL A  12      12.884   1.530  34.945  1.00  8.11           C  \nATOM     81  CG2 VAL A  12      11.178   3.230  34.255  1.00 12.03           C  \nATOM     82  N   ASN A  13       8.575   0.887  35.330  1.00 17.25           N  \nATOM     83  CA  ASN A  13       7.170   1.200  35.547  1.00 20.47           C  \nATOM     84  C   ASN A  13       7.075   2.724  35.563  1.00 19.38           C  \nATOM     85  O   ASN A  13       8.061   3.404  35.845  1.00 18.17           O  \nATOM     86  CB  ASN A  13       6.700   0.622  36.885  1.00 23.13           C  \nATOM     87  CG  ASN A  13       6.713  -0.895  36.900  1.00 31.36           C  \nATOM     88  OD1 ASN A  13       6.035  -1.541  36.099  1.00 36.96           O  \nATOM     89  ND2 ASN A  13       7.484  -1.472  37.817  1.00 34.18           N  \nATOM     90  N   ASN A  14       5.896   3.259  35.266  1.00 18.03           N  \nATOM     91  CA  ASN A  14       5.707   4.707  35.224  1.00 19.51           C  \nATOM     92  C   ASN A  14       6.148   5.468  36.472  1.00 20.09           C  \nATOM     93  O   ASN A  14       6.659   6.582  36.372  1.00 20.91           O  \nATOM     94  CB  ASN A  14       4.242   5.048  34.941  1.00 20.73           C  \nATOM     95  CG  ASN A  14       3.742   4.437  33.653  1.00 23.53           C  \nATOM     96  OD1 ASN A  14       4.496   4.276  32.696  1.00 22.26           O  \nATOM     97  ND2 ASN A  14       2.456   4.108  33.615  1.00 26.38           N  \nATOM     98  N   ASP A  15       5.954   4.876  37.645  1.00 20.00           N  \nATOM     99  CA  ASP A  15       6.319   5.543  38.890  1.00 23.11           C  \nATOM    100  C   ASP A  15       7.828   5.697  39.071  1.00 20.27           C  \nATOM    101  O   ASP A  15       8.275   6.420  39.958  1.00 21.58           O  \nATOM    102  CB  ASP A  15       5.736   4.783  40.086  1.00 23.65           C  \nATOM    103  CG  ASP A  15       6.495   3.509  40.394  1.00 33.42           C  \nATOM    104  OD1 ASP A  15       6.862   2.787  39.443  1.00 37.24           O  \nATOM    105  OD2 ASP A  15       6.719   3.222  41.591  1.00 40.07           O  \nATOM    106  N   ASN A  16       8.607   5.025  38.228  1.00 17.28           N  \nATOM    107  CA  ASN A  16      10.063   5.089  38.322  1.00 16.22           C  \nATOM    108  C   ASN A  16      10.757   6.035  37.343  1.00 17.13           C  \nATOM    109  O   ASN A  16      11.960   6.258  37.458  1.00 15.71           O  \nATOM    110  CB  ASN A  16      10.670   3.691  38.150  1.00 18.31           C  \nATOM    111  CG  ASN A  16      10.692   2.896  39.440  1.00 21.25           C  \nATOM    112  OD1 ASN A  16      11.056   3.416  40.495  1.00 23.56           O  \nATOM    113  ND2 ASN A  16      10.323   1.623  39.357  1.00 19.07           N  \nATOM    114  N   PHE A  17      10.020   6.598  36.392  1.00 14.63           N  \nATOM    115  CA  PHE A  17      10.641   7.486  35.409  1.00 14.77           C  \nATOM    116  C   PHE A  17      11.409   8.670  35.984  1.00 14.87           C  \nATOM    117  O   PHE A  17      12.552   8.913  35.604  1.00  9.25           O  \nATOM    118  CB  PHE A  17       9.602   7.998  34.404  1.00 12.16           C  \nATOM    119  CG  PHE A  17       9.216   6.987  33.365  1.00 11.38           C  \nATOM    120  CD1 PHE A  17      10.192   6.337  32.614  1.00 13.83           C  \nATOM    121  CD2 PHE A  17       7.878   6.680  33.135  1.00 14.52           C  \nATOM    122  CE1 PHE A  17       9.842   5.393  31.649  1.00 14.54           C  \nATOM    123  CE2 PHE A  17       7.518   5.740  32.174  1.00 14.67           C  \nATOM    124  CZ  PHE A  17       8.500   5.095  31.429  1.00 14.46           C  \nATOM    125  N   GLU A  18      10.792   9.411  36.897  1.00 16.23           N  \nATOM    126  CA  GLU A  18      11.464  10.565  37.475  1.00 16.73           C  \nATOM    127  C   GLU A  18      12.805  10.207  38.106  1.00 16.00           C  \nATOM    128  O   GLU A  18      13.818  10.842  37.814  1.00 16.65           O  \nATOM    129  CB  GLU A  18      10.557  11.247  38.505  1.00 23.36           C  \nATOM    130  CG  GLU A  18       9.338  11.909  37.879  1.00 30.35           C  \nATOM    131  CD  GLU A  18       8.469  12.633  38.889  1.00 37.35           C  \nATOM    132  OE1 GLU A  18       8.971  13.562  39.558  1.00 37.02           O  \nATOM    133  OE2 GLU A  18       7.280  12.273  39.010  1.00 40.39           O  \nATOM    134  N   ASN A  19      12.816   9.184  38.954  1.00 16.87           N  \nATOM    135  CA  ASN A  19      14.049   8.770  39.618  1.00 15.97           C  \nATOM    136  C   ASN A  19      15.094   8.227  38.649  1.00 15.31           C  \nATOM    137  O   ASN A  19      16.278   8.557  38.756  1.00 13.61           O  \nATOM    138  CB  ASN A  19      13.761   7.713  40.690  1.00 19.94           C  \nATOM    139  CG  ASN A  19      12.921   8.251  41.831  1.00 26.59           C  \nATOM    140  OD1 ASN A  19      13.143   9.361  42.313  1.00 28.74           O  \nATOM    141  ND2 ASN A  19      11.958   7.454  42.283  1.00 31.96           N  \nATOM    142  N   TYR A  20      14.667   7.395  37.705  1.00  9.62           N  \nATOM    143  CA  TYR A  20      15.612   6.830  36.750  1.00  8.42           C  \nATOM    144  C   TYR A  20      16.193   7.835  35.765  1.00 10.15           C  \nATOM    145  O   TYR A  20      17.354   7.718  35.390  1.00  8.97           O  \nATOM    146  CB  TYR A  20      14.988   5.667  35.975  1.00  8.90           C  \nATOM    147  CG  TYR A  20      15.099   4.331  36.683  1.00 11.47           C  \nATOM    148  CD1 TYR A  20      14.377   4.074  37.848  1.00 11.36           C  \nATOM    149  CD2 TYR A  20      15.916   3.319  36.178  1.00  9.86           C  \nATOM    150  CE1 TYR A  20      14.461   2.838  38.488  1.00 10.09           C  \nATOM    151  CE2 TYR A  20      16.008   2.080  36.808  1.00 11.95           C  \nATOM    152  CZ  TYR A  20      15.272   1.847  37.965  1.00 10.22           C  \nATOM    153  OH  TYR A  20      15.329   0.615  38.579  1.00 12.19           O  \nATOM    154  N   PHE A  21      15.407   8.817  35.331  1.00 10.83           N  \nATOM    155  CA  PHE A  21      15.961   9.786  34.396  1.00 10.37           C  \nATOM    156  C   PHE A  21      17.015  10.652  35.066  1.00  9.86           C  \nATOM    157  O   PHE A  21      17.893  11.207  34.403  1.00 10.68           O  \nATOM    158  CB  PHE A  21      14.863  10.640  33.760  1.00 10.02           C  \nATOM    159  CG  PHE A  21      14.380  10.090  32.448  1.00  9.94           C  \nATOM    160  CD1 PHE A  21      13.536   8.984  32.413  1.00 10.87           C  \nATOM    161  CD2 PHE A  21      14.844  10.618  31.247  1.00 11.58           C  \nATOM    162  CE1 PHE A  21      13.166   8.405  31.199  1.00 10.52           C  \nATOM    163  CE2 PHE A  21      14.479  10.046  30.021  1.00 12.43           C  \nATOM    164  CZ  PHE A  21      13.640   8.937  29.999  1.00 11.64           C  \nATOM    165  N   ARG A  22      16.937  10.756  36.386  1.00 10.63           N  \nATOM    166  CA  ARG A  22      17.930  11.519  37.121  1.00 12.46           C  \nATOM    167  C   ARG A  22      19.243  10.741  36.990  1.00 12.16           C  \nATOM    168  O   ARG A  22      20.314  11.326  36.831  1.00 12.50           O  \nATOM    169  CB  ARG A  22      17.521  11.653  38.592  1.00 12.81           C  \nATOM    170  CG  ARG A  22      18.512  12.441  39.436  1.00 17.97           C  \nATOM    171  CD  ARG A  22      18.033  12.635  40.873  1.00 15.56           C  \nATOM    172  NE  ARG A  22      16.944  13.605  40.993  1.00 15.48           N  \nATOM    173  CZ  ARG A  22      16.484  14.056  42.158  1.00 17.00           C  \nATOM    174  NH1 ARG A  22      17.020  13.622  43.293  1.00 13.10           N  \nATOM    175  NH2 ARG A  22      15.495  14.941  42.195  1.00 16.86           N  \nATOM    176  N   LYS A  23      19.150   9.414  37.040  1.00  9.11           N  \nATOM    177  CA  LYS A  23      20.330   8.562  36.910  1.00  8.13           C  \nATOM    178  C   LYS A  23      20.899   8.647  35.497  1.00  8.65           C  \nATOM    179  O   LYS A  23      22.109   8.744  35.305  1.00 11.79           O  \nATOM    180  CB  LYS A  23      19.983   7.099  37.206  1.00 10.36           C  \nATOM    181  CG  LYS A  23      19.601   6.794  38.646  1.00 10.87           C  \nATOM    182  CD  LYS A  23      19.398   5.289  38.832  1.00 14.62           C  \nATOM    183  CE  LYS A  23      19.222   4.926  40.294  1.00 23.04           C  \nATOM    184  NZ  LYS A  23      20.438   5.264  41.088  1.00 16.09           N  \nATOM    185  N   ILE A  24      20.015   8.600  34.505  1.00  7.43           N  \nATOM    186  CA  ILE A  24      20.443   8.660  33.116  1.00  6.12           C  \nATOM    187  C   ILE A  24      21.374   9.834  32.842  1.00  8.47           C  \nATOM    188  O   ILE A  24      22.446   9.661  32.271  1.00  9.39           O  \nATOM    189  CB  ILE A  24      19.226   8.750  32.168  1.00  6.49           C  \nATOM    190  CG1 ILE A  24      18.475   7.414  32.183  1.00  5.04           C  \nATOM    191  CG2 ILE A  24      19.684   9.104  30.748  1.00  7.14           C  \nATOM    192  CD1 ILE A  24      17.160   7.432  31.432  1.00  5.89           C  \nATOM    193  N   PHE A  25      20.976  11.031  33.254  1.00  8.27           N  \nATOM    194  CA  PHE A  25      21.814  12.192  32.991  1.00 10.11           C  \nATOM    195  C   PHE A  25      23.098  12.230  33.813  1.00  8.55           C  \nATOM    196  O   PHE A  25      24.106  12.772  33.361  1.00  9.67           O  \nATOM    197  CB  PHE A  25      20.985  13.470  33.142  1.00  9.31           C  \nATOM    198  CG  PHE A  25      20.000  13.667  32.016  1.00 11.97           C  \nATOM    199  CD1 PHE A  25      20.452  13.926  30.721  1.00 13.37           C  \nATOM    200  CD2 PHE A  25      18.635  13.523  32.230  1.00 12.47           C  \nATOM    201  CE1 PHE A  25      19.556  14.034  29.657  1.00 12.22           C  \nATOM    202  CE2 PHE A  25      17.728  13.627  31.173  1.00 15.03           C  \nATOM    203  CZ  PHE A  25      18.193  13.883  29.883  1.00 13.24           C  \nATOM    204  N   LEU A  26      23.077  11.647  35.008  1.00  8.53           N  \nATOM    205  CA  LEU A  26      24.284  11.592  35.825  1.00 10.27           C  \nATOM    206  C   LEU A  26      25.305  10.752  35.054  1.00  7.43           C  \nATOM    207  O   LEU A  26      26.474  11.116  34.935  1.00  8.43           O  \nATOM    208  CB  LEU A  26      24.005  10.915  37.172  1.00 12.37           C  \nATOM    209  CG  LEU A  26      23.874  11.773  38.432  1.00 23.05           C  \nATOM    210  CD1 LEU A  26      22.666  12.653  38.319  1.00 28.50           C  \nATOM    211  CD2 LEU A  26      23.748  10.880  39.654  1.00 23.45           C  \nATOM    212  N   ASP A  27      24.847   9.626  34.519  1.00  8.78           N  \nATOM    213  CA  ASP A  27      25.724   8.732  33.779  1.00  6.87           C  \nATOM    214  C   ASP A  27      26.167   9.306  32.439  1.00  7.47           C  \nATOM    215  O   ASP A  27      27.331   9.171  32.059  1.00  8.28           O  \nATOM    216  CB  ASP A  27      25.053   7.370  33.581  1.00 10.81           C  \nATOM    217  CG  ASP A  27      24.911   6.601  34.882  1.00 11.54           C  \nATOM    218  OD1 ASP A  27      25.857   6.645  35.699  1.00  9.76           O  \nATOM    219  OD2 ASP A  27      23.868   5.947  35.086  1.00 10.25           O  \nATOM    220  N   VAL A  28      25.251   9.952  31.723  1.00  6.57           N  \nATOM    221  CA  VAL A  28      25.619  10.536  30.437  1.00  8.12           C  \nATOM    222  C   VAL A  28      26.681  11.616  30.644  1.00 10.25           C  \nATOM    223  O   VAL A  28      27.683  11.663  29.928  1.00  9.64           O  \nATOM    224  CB  VAL A  28      24.399  11.150  29.718  1.00  8.01           C  \nATOM    225  CG1 VAL A  28      24.862  11.969  28.515  1.00  9.50           C  \nATOM    226  CG2 VAL A  28      23.457  10.034  29.253  1.00  8.04           C  \nATOM    227  N   ARG A  29      26.475  12.475  31.636  1.00 10.05           N  \nATOM    228  CA  ARG A  29      27.444  13.536  31.898  1.00 11.15           C  \nATOM    229  C   ARG A  29      28.827  12.967  32.214  1.00 11.79           C  \nATOM    230  O   ARG A  29      29.835  13.455  31.704  1.00 12.01           O  \nATOM    231  CB  ARG A  29      26.970  14.422  33.053  1.00  9.99           C  \nATOM    232  CG  ARG A  29      25.831  15.367  32.695  1.00 10.18           C  \nATOM    233  CD  ARG A  29      25.445  16.189  33.912  1.00 10.25           C  \nATOM    234  NE  ARG A  29      24.425  17.192  33.628  1.00 14.64           N  \nATOM    235  CZ  ARG A  29      24.640  18.502  33.651  1.00 20.85           C  \nATOM    236  NH1 ARG A  29      25.844  18.976  33.943  1.00 20.73           N  \nATOM    237  NH2 ARG A  29      23.645  19.341  33.398  1.00 23.29           N  \nATOM    238  N   SER A  30      28.875  11.926  33.040  1.00 10.27           N  \nATOM    239  CA  SER A  30      30.149  11.310  33.406  1.00 10.98           C  \nATOM    240  C   SER A  30      30.842  10.609  32.239  1.00 13.07           C  \nATOM    241  O   SER A  30      32.064  10.454  32.245  1.00 12.79           O  \nATOM    242  CB  SER A  30      29.953  10.298  34.543  1.00  8.79           C  \nATOM    243  OG  SER A  30      29.665  10.953  35.765  1.00 12.96           O  \nATOM    244  N   SER A  31      30.067  10.189  31.243  1.00 12.07           N  \nATOM    245  CA  SER A  31      30.625   9.488  30.087  1.00 12.63           C  \nATOM    246  C   SER A  31      31.478  10.385  29.197  1.00 14.41           C  \nATOM    247  O   SER A  31      32.286   9.894  28.411  1.00 16.95           O  \nATOM    248  CB  SER A  31      29.507   8.879  29.237  1.00 15.15           C  \nATOM    249  OG  SER A  31      28.857   9.877  28.469  1.00 12.95           O  \nATOM    250  N   GLY A  32      31.289  11.694  29.312  1.00 16.32           N  \nATOM    251  CA  GLY A  32      32.051  12.623  28.496  1.00 17.33           C  \nATOM    252  C   GLY A  32      31.281  13.013  27.251  1.00 17.70           C  \nATOM    253  O   GLY A  32      31.649  13.951  26.540  1.00 16.74           O  \nATOM    254  N   SER A  33      30.205  12.284  26.981  1.00 14.11           N  \nATOM    255  CA  SER A  33      29.375  12.562  25.818  1.00 12.55           C  \nATOM    256  C   SER A  33      28.436  13.717  26.128  1.00 16.51           C  \nATOM    257  O   SER A  33      28.044  13.919  27.281  1.00 17.01           O  \nATOM    258  CB  SER A  33      28.557  11.324  25.442  1.00 12.31           C  \nATOM    259  OG  SER A  33      27.756  11.569  24.299  1.00 11.59           O  \nATOM    260  N   LYS A  34      28.081  14.476  25.099  1.00 15.42           N  \nATOM    261  CA  LYS A  34      27.176  15.601  25.267  1.00 17.53           C  \nATOM    262  C   LYS A  34      25.871  15.259  24.559  1.00 17.01           C  \nATOM    263  O   LYS A  34      24.970  16.090  24.465  1.00 17.51           O  \nATOM    264  CB  LYS A  34      27.785  16.869  24.656  1.00 21.02           C  \nATOM    265  CG  LYS A  34      29.250  17.100  25.025  1.00 25.18           C  \nATOM    266  CD  LYS A  34      29.463  17.088  26.533  1.00 29.46           C  \nATOM    267  CE  LYS A  34      30.942  17.190  26.884  1.00 31.20           C  \nATOM    268  NZ  LYS A  34      31.184  17.073  28.353  1.00 29.05           N  \nATOM    269  N   LYS A  35      25.781  14.020  24.078  1.00 16.37           N  \nATOM    270  CA  LYS A  35      24.604  13.544  23.358  1.00 13.55           C  \nATOM    271  C   LYS A  35      24.222  12.119  23.748  1.00 10.82           C  \nATOM    272  O   LYS A  35      25.074  11.303  24.092  1.00 12.00           O  \nATOM    273  CB  LYS A  35      24.861  13.551  21.851  1.00 14.65           C  \nATOM    274  CG  LYS A  35      25.180  14.899  21.239  1.00 23.77           C  \nATOM    275  CD  LYS A  35      25.571  14.724  19.774  1.00 29.96           C  \nATOM    276  CE  LYS A  35      25.766  16.063  19.075  1.00 34.03           C  \nATOM    277  NZ  LYS A  35      24.495  16.835  18.986  1.00 39.83           N  \nATOM    278  N   THR A  36      22.932  11.825  23.676  1.00 11.15           N  \nATOM    279  CA  THR A  36      22.449  10.487  23.972  1.00  9.64           C  \nATOM    280  C   THR A  36      21.129  10.278  23.253  1.00  8.90           C  \nATOM    281  O   THR A  36      20.336  11.211  23.103  1.00 11.37           O  \nATOM    282  CB  THR A  36      22.235  10.255  25.494  1.00  9.30           C  \nATOM    283  OG1 THR A  36      21.808   8.903  25.714  1.00 11.46           O  \nATOM    284  CG2 THR A  36      21.178  11.205  26.049  1.00 10.57           C  \nATOM    285  N   THR A  37      20.918   9.064  22.766  1.00  8.09           N  \nATOM    286  CA  THR A  37      19.669   8.733  22.098  1.00  8.90           C  \nATOM    287  C   THR A  37      18.999   7.773  23.072  1.00  9.34           C  \nATOM    288  O   THR A  37      19.467   6.652  23.292  1.00 10.35           O  \nATOM    289  CB  THR A  37      19.916   8.084  20.710  1.00 16.76           C  \nATOM    290  OG1 THR A  37      18.661   7.702  20.136  1.00 18.76           O  \nATOM    291  CG2 THR A  37      20.828   6.875  20.819  1.00 17.18           C  \nATOM    292  N   ILE A  38      17.924   8.254  23.685  1.00  8.42           N  \nATOM    293  CA  ILE A  38      17.186   7.508  24.697  1.00  9.46           C  \nATOM    294  C   ILE A  38      16.015   6.715  24.137  1.00 10.38           C  \nATOM    295  O   ILE A  38      15.143   7.264  23.462  1.00 11.66           O  \nATOM    296  CB  ILE A  38      16.668   8.472  25.778  1.00  9.91           C  \nATOM    297  CG1 ILE A  38      17.829   9.320  26.300  1.00 12.94           C  \nATOM    298  CG2 ILE A  38      16.015   7.697  26.913  1.00  9.08           C  \nATOM    299  CD1 ILE A  38      17.408  10.432  27.235  1.00 11.43           C  \nATOM    300  N   ASN A  39      15.999   5.422  24.441  1.00  6.80           N  \nATOM    301  CA  ASN A  39      14.946   4.527  23.976  1.00  8.56           C  \nATOM    302  C   ASN A  39      14.206   3.962  25.172  1.00  8.17           C  \nATOM    303  O   ASN A  39      14.772   3.221  25.977  1.00 12.28           O  \nATOM    304  CB  ASN A  39      15.563   3.409  23.141  1.00  6.67           C  \nATOM    305  CG  ASN A  39      16.136   3.923  21.841  1.00 11.85           C  \nATOM    306  OD1 ASN A  39      15.430   4.038  20.838  1.00 10.25           O  \nATOM    307  ND2 ASN A  39      17.416   4.264  21.856  1.00 11.82           N  \nATOM    308  N   VAL A  40      12.932   4.318  25.272  1.00  9.81           N  \nATOM    309  CA  VAL A  40      12.091   3.905  26.380  1.00 10.60           C  \nATOM    310  C   VAL A  40      11.061   2.874  25.947  1.00 11.33           C  \nATOM    311  O   VAL A  40      10.274   3.117  25.035  1.00 13.32           O  \nATOM    312  CB  VAL A  40      11.351   5.120  26.969  1.00 10.53           C  \nATOM    313  CG1 VAL A  40      10.654   4.734  28.265  1.00  9.46           C  \nATOM    314  CG2 VAL A  40      12.328   6.266  27.186  1.00 10.11           C  \nATOM    315  N   PHE A  41      11.073   1.724  26.609  1.00 10.47           N  \nATOM    316  CA  PHE A  41      10.134   0.655  26.303  1.00 10.56           C  \nATOM    317  C   PHE A  41       9.024   0.767  27.336  1.00 14.51           C  \nATOM    318  O   PHE A  41       9.169   0.343  28.482  1.00 12.82           O  \nATOM    319  CB  PHE A  41      10.880  -0.674  26.364  1.00 11.18           C  \nATOM    320  CG  PHE A  41      12.024  -0.741  25.393  1.00 13.39           C  \nATOM    321  CD1 PHE A  41      11.798  -1.046  24.052  1.00 11.41           C  \nATOM    322  CD2 PHE A  41      13.314  -0.401  25.795  1.00 13.82           C  \nATOM    323  CE1 PHE A  41      12.837  -1.005  23.125  1.00 12.58           C  \nATOM    324  CE2 PHE A  41      14.361  -0.357  24.875  1.00 16.09           C  \nATOM    325  CZ  PHE A  41      14.120  -0.659  23.535  1.00 13.07           C  \nATOM    326  N   THR A  42       7.918   1.371  26.909  1.00 15.02           N  \nATOM    327  CA  THR A  42       6.788   1.623  27.790  1.00 14.54           C  \nATOM    328  C   THR A  42       5.495   1.721  26.988  1.00 15.87           C  \nATOM    329  O   THR A  42       5.521   1.803  25.764  1.00 14.97           O  \nATOM    330  CB  THR A  42       7.011   2.962  28.532  1.00 16.35           C  \nATOM    331  OG1 THR A  42       5.902   3.242  29.391  1.00 16.32           O  \nATOM    332  CG2 THR A  42       7.166   4.098  27.525  1.00 15.89           C  \nATOM    333  N   GLU A  43       4.366   1.718  27.689  1.00 18.33           N  \nATOM    334  CA  GLU A  43       3.063   1.834  27.041  1.00 22.06           C  \nATOM    335  C   GLU A  43       2.551   3.265  27.188  1.00 23.02           C  \nATOM    336  O   GLU A  43       1.500   3.621  26.656  1.00 22.29           O  \nATOM    337  CB  GLU A  43       2.065   0.859  27.673  1.00 21.32           C  \nATOM    338  CG  GLU A  43       2.461  -0.607  27.557  1.00 26.43           C  \nATOM    339  CD  GLU A  43       2.665  -1.048  26.118  1.00 31.13           C  \nATOM    340  OE1 GLU A  43       1.763  -0.802  25.290  1.00 33.47           O  \nATOM    341  OE2 GLU A  43       3.724  -1.642  25.815  1.00 32.35           O  \nATOM    342  N   ILE A  44       3.311   4.083  27.910  1.00 23.91           N  \nATOM    343  CA  ILE A  44       2.948   5.476  28.149  1.00 26.52           C  \nATOM    344  C   ILE A  44       3.168   6.328  26.894  1.00 27.74           C  \nATOM    345  O   ILE A  44       3.974   5.976  26.033  1.00 24.73           O  \nATOM    346  CB  ILE A  44       3.783   6.040  29.326  1.00 28.12           C  \nATOM    347  CG1 ILE A  44       2.971   7.072  30.104  1.00 28.57           C  \nATOM    348  CG2 ILE A  44       5.080   6.650  28.810  1.00 24.21           C  \nATOM    349  CD1 ILE A  44       3.649   7.523  31.384  1.00 31.00           C  \nATOM    350  N   GLN A  45       2.447   7.444  26.787  1.00 29.19           N  \nATOM    351  CA  GLN A  45       2.580   8.334  25.633  1.00 30.61           C  \nATOM    352  C   GLN A  45       3.693   9.358  25.823  1.00 28.49           C  \nATOM    353  O   GLN A  45       4.030   9.722  26.950  1.00 29.37           O  \nATOM    354  CB  GLN A  45       1.258   9.058  25.363  1.00 36.95           C  \nATOM    355  CG  GLN A  45       0.165   8.172  24.788  1.00 48.09           C  \nATOM    356  CD  GLN A  45       0.496   7.672  23.394  1.00 54.95           C  \nATOM    357  OE1 GLN A  45       0.715   8.463  22.477  1.00 59.19           O  \nATOM    358  NE2 GLN A  45       0.531   6.354  23.229  1.00 59.21           N  \nATOM    359  N   TYR A  46       4.248   9.823  24.708  1.00 24.28           N  \nATOM    360  CA  TYR A  46       5.337  10.793  24.713  1.00 24.71           C  \nATOM    361  C   TYR A  46       5.090  11.982  25.639  1.00 25.54           C  \nATOM    362  O   TYR A  46       5.881  12.250  26.541  1.00 22.81           O  \nATOM    363  CB  TYR A  46       5.583  11.314  23.296  1.00 23.11           C  \nATOM    364  CG  TYR A  46       6.881  12.075  23.142  1.00 27.98           C  \nATOM    365  CD1 TYR A  46       8.087  11.399  22.962  1.00 31.13           C  \nATOM    366  CD2 TYR A  46       6.910  13.468  23.200  1.00 28.93           C  \nATOM    367  CE1 TYR A  46       9.291  12.088  22.845  1.00 32.93           C  \nATOM    368  CE2 TYR A  46       8.113  14.169  23.086  1.00 32.03           C  \nATOM    369  CZ  TYR A  46       9.298  13.470  22.909  1.00 32.08           C  \nATOM    370  OH  TYR A  46      10.492  14.148  22.803  1.00 33.47           O  \nATOM    371  N   GLN A  47       3.994  12.697  25.406  1.00 24.63           N  \nATOM    372  CA  GLN A  47       3.667  13.870  26.208  1.00 25.17           C  \nATOM    373  C   GLN A  47       3.568  13.610  27.706  1.00 23.21           C  \nATOM    374  O   GLN A  47       3.976  14.450  28.507  1.00 24.07           O  \nATOM    375  CB  GLN A  47       2.370  14.508  25.706  1.00 28.35           C  \nATOM    376  CG  GLN A  47       2.495  15.121  24.321  1.00 36.99           C  \nATOM    377  CD  GLN A  47       3.718  16.012  24.190  1.00 43.34           C  \nATOM    378  OE1 GLN A  47       3.944  16.904  25.011  1.00 46.34           O  \nATOM    379  NE2 GLN A  47       4.514  15.776  23.152  1.00 45.64           N  \nATOM    380  N   GLU A  48       3.025  12.459  28.091  1.00 23.97           N  \nATOM    381  CA  GLU A  48       2.911  12.138  29.507  1.00 22.97           C  \nATOM    382  C   GLU A  48       4.296  11.901  30.099  1.00 22.51           C  \nATOM    383  O   GLU A  48       4.583  12.325  31.217  1.00 17.54           O  \nATOM    384  CB  GLU A  48       2.029  10.903  29.720  1.00 27.75           C  \nATOM    385  CG  GLU A  48       2.033  10.402  31.160  1.00 35.85           C  \nATOM    386  CD  GLU A  48       0.862   9.493  31.483  1.00 42.98           C  \nATOM    387  OE1 GLU A  48       0.527   8.621  30.652  1.00 46.34           O  \nATOM    388  OE2 GLU A  48       0.281   9.645  32.578  1.00 44.85           O  \nATOM    389  N   LEU A  49       5.157  11.228  29.342  1.00 18.62           N  \nATOM    390  CA  LEU A  49       6.510  10.961  29.811  1.00 18.78           C  \nATOM    391  C   LEU A  49       7.267  12.268  30.002  1.00 17.00           C  \nATOM    392  O   LEU A  49       7.848  12.511  31.058  1.00 16.05           O  \nATOM    393  CB  LEU A  49       7.269  10.084  28.811  1.00 16.29           C  \nATOM    394  CG  LEU A  49       8.755   9.895  29.139  1.00 16.44           C  \nATOM    395  CD1 LEU A  49       8.901   9.183  30.479  1.00 17.18           C  \nATOM    396  CD2 LEU A  49       9.432   9.102  28.033  1.00 19.52           C  \nATOM    397  N   VAL A  50       7.262  13.102  28.967  1.00 16.87           N  \nATOM    398  CA  VAL A  50       7.953  14.385  29.010  1.00 15.59           C  \nATOM    399  C   VAL A  50       7.490  15.214  30.201  1.00 17.36           C  \nATOM    400  O   VAL A  50       8.260  15.984  30.771  1.00 15.94           O  \nATOM    401  CB  VAL A  50       7.715  15.185  27.712  1.00 20.49           C  \nATOM    402  CG1 VAL A  50       8.450  16.511  27.775  1.00 22.89           C  \nATOM    403  CG2 VAL A  50       8.186  14.373  26.511  1.00 20.90           C  \nATOM    404  N   THR A  51       6.222  15.061  30.568  1.00 16.58           N  \nATOM    405  CA  THR A  51       5.677  15.789  31.705  1.00 13.61           C  \nATOM    406  C   THR A  51       6.308  15.251  32.989  1.00 13.20           C  \nATOM    407  O   THR A  51       6.723  16.020  33.856  1.00 14.98           O  \nATOM    408  CB  THR A  51       4.147  15.633  31.774  1.00 16.56           C  \nATOM    409  OG1 THR A  51       3.559  16.293  30.645  1.00 19.12           O  \nATOM    410  CG2 THR A  51       3.597  16.237  33.060  1.00 17.52           C  \nATOM    411  N   LEU A  52       6.396  13.929  33.099  1.00 13.91           N  \nATOM    412  CA  LEU A  52       6.985  13.303  34.279  1.00 13.78           C  \nATOM    413  C   LEU A  52       8.467  13.623  34.464  1.00 16.52           C  \nATOM    414  O   LEU A  52       8.925  13.837  35.587  1.00 20.03           O  \nATOM    415  CB  LEU A  52       6.814  11.781  34.219  1.00 15.00           C  \nATOM    416  CG  LEU A  52       5.407  11.210  34.404  1.00 18.12           C  \nATOM    417  CD1 LEU A  52       5.443   9.698  34.229  1.00 19.35           C  \nATOM    418  CD2 LEU A  52       4.885  11.576  35.785  1.00 20.14           C  \nATOM    419  N   ILE A  53       9.220  13.657  33.371  1.00 13.70           N  \nATOM    420  CA  ILE A  53      10.653  13.921  33.466  1.00 15.34           C  \nATOM    421  C   ILE A  53      11.051  15.357  33.146  1.00 16.08           C  \nATOM    422  O   ILE A  53      12.228  15.643  32.926  1.00 12.68           O  \nATOM    423  CB  ILE A  53      11.451  12.979  32.540  1.00 13.70           C  \nATOM    424  CG1 ILE A  53      11.137  13.288  31.076  1.00 12.89           C  \nATOM    425  CG2 ILE A  53      11.112  11.530  32.859  1.00 15.48           C  \nATOM    426  CD1 ILE A  53      11.973  12.498  30.092  1.00 17.37           C  \nATOM    427  N   ARG A  54      10.075  16.259  33.133  1.00 14.93           N  \nATOM    428  CA  ARG A  54      10.339  17.663  32.831  1.00 17.46           C  \nATOM    429  C   ARG A  54      11.521  18.227  33.615  1.00 15.05           C  \nATOM    430  O   ARG A  54      12.396  18.875  33.043  1.00 13.17           O  \nATOM    431  CB  ARG A  54       9.100  18.515  33.120  1.00 21.33           C  \nATOM    432  CG  ARG A  54       9.292  19.993  32.805  1.00 27.86           C  \nATOM    433  CD  ARG A  54       8.119  20.838  33.282  1.00 38.40           C  \nATOM    434  NE  ARG A  54       7.921  20.738  34.727  1.00 45.55           N  \nATOM    435  CZ  ARG A  54       6.935  20.058  35.304  1.00 48.28           C  \nATOM    436  NH1 ARG A  54       6.838  20.021  36.627  1.00 49.43           N  \nATOM    437  NH2 ARG A  54       6.037  19.424  34.560  1.00 44.89           N  \nATOM    438  N   GLU A  55      11.542  17.982  34.922  1.00 14.40           N  \nATOM    439  CA  GLU A  55      12.616  18.484  35.777  1.00 18.96           C  \nATOM    440  C   GLU A  55      13.983  17.950  35.365  1.00 15.03           C  \nATOM    441  O   GLU A  55      14.967  18.691  35.337  1.00 13.65           O  \nATOM    442  CB  GLU A  55      12.335  18.123  37.240  1.00 20.18           C  \nATOM    443  CG  GLU A  55      13.348  18.673  38.231  1.00 27.21           C  \nATOM    444  CD  GLU A  55      13.525  20.176  38.117  1.00 30.48           C  \nATOM    445  OE1 GLU A  55      12.515  20.882  37.911  1.00 32.00           O  \nATOM    446  OE2 GLU A  55      14.673  20.653  38.246  1.00 30.82           O  \nATOM    447  N   ALA A  56      14.046  16.664  35.041  1.00 15.12           N  \nATOM    448  CA  ALA A  56      15.308  16.061  34.628  1.00 13.23           C  \nATOM    449  C   ALA A  56      15.794  16.704  33.334  1.00 12.47           C  \nATOM    450  O   ALA A  56      16.980  16.980  33.175  1.00 12.54           O  \nATOM    451  CB  ALA A  56      15.137  14.559  34.439  1.00 12.68           C  \nATOM    452  N   LEU A  57      14.873  16.938  32.404  1.00  8.74           N  \nATOM    453  CA  LEU A  57      15.230  17.554  31.136  1.00  7.77           C  \nATOM    454  C   LEU A  57      15.739  18.981  31.332  1.00  8.61           C  \nATOM    455  O   LEU A  57      16.717  19.390  30.700  1.00  9.52           O  \nATOM    456  CB  LEU A  57      14.023  17.558  30.189  1.00 10.14           C  \nATOM    457  CG  LEU A  57      13.440  16.175  29.888  1.00  9.25           C  \nATOM    458  CD1 LEU A  57      12.287  16.312  28.914  1.00 10.72           C  \nATOM    459  CD2 LEU A  57      14.518  15.277  29.300  1.00 10.29           C  \nATOM    460  N   LEU A  58      15.081  19.731  32.211  1.00  9.14           N  \nATOM    461  CA  LEU A  58      15.472  21.111  32.480  1.00 10.13           C  \nATOM    462  C   LEU A  58      16.850  21.191  33.132  1.00  9.44           C  \nATOM    463  O   LEU A  58      17.678  22.021  32.756  1.00  9.82           O  \nATOM    464  CB  LEU A  58      14.433  21.785  33.386  1.00 13.24           C  \nATOM    465  CG  LEU A  58      14.756  23.201  33.871  1.00 18.30           C  \nATOM    466  CD1 LEU A  58      14.880  24.140  32.686  1.00 21.51           C  \nATOM    467  CD2 LEU A  58      13.657  23.679  34.814  1.00 25.65           C  \nATOM    468  N   GLU A  59      17.090  20.322  34.107  1.00  8.78           N  \nATOM    469  CA  GLU A  59      18.364  20.302  34.818  1.00 11.12           C  \nATOM    470  C   GLU A  59      19.538  19.936  33.920  1.00 11.69           C  \nATOM    471  O   GLU A  59      20.687  20.279  34.210  1.00 12.28           O  \nATOM    472  CB  GLU A  59      18.304  19.309  35.980  1.00 13.15           C  \nATOM    473  CG  GLU A  59      17.497  19.777  37.170  1.00 17.13           C  \nATOM    474  CD  GLU A  59      17.449  18.742  38.275  1.00 18.20           C  \nATOM    475  OE1 GLU A  59      18.404  17.944  38.381  1.00 18.34           O  \nATOM    476  OE2 GLU A  59      16.466  18.734  39.045  1.00 19.18           O  \nATOM    477  N   ASN A  60      19.249  19.245  32.826  1.00  9.78           N  \nATOM    478  CA  ASN A  60      20.295  18.811  31.914  1.00 10.61           C  \nATOM    479  C   ASN A  60      20.108  19.363  30.509  1.00 12.44           C  \nATOM    480  O   ASN A  60      20.324  18.670  29.515  1.00 10.50           O  \nATOM    481  CB  ASN A  60      20.327  17.286  31.914  1.00 11.88           C  \nATOM    482  CG  ASN A  60      20.659  16.731  33.279  1.00 11.93           C  \nATOM    483  OD1 ASN A  60      21.817  16.741  33.693  1.00 13.53           O  \nATOM    484  ND2 ASN A  60      19.640  16.277  34.007  1.00  9.60           N  \nATOM    485  N   ILE A  61      19.726  20.634  30.453  1.00 14.87           N  \nATOM    486  CA  ILE A  61      19.486  21.340  29.203  1.00 14.76           C  \nATOM    487  C   ILE A  61      20.688  21.322  28.253  1.00 15.03           C  \nATOM    488  O   ILE A  61      20.517  21.351  27.035  1.00 13.45           O  \nATOM    489  CB  ILE A  61      19.085  22.812  29.492  1.00 15.88           C  \nATOM    490  CG1 ILE A  61      18.626  23.505  28.208  1.00 20.00           C  \nATOM    491  CG2 ILE A  61      20.250  23.555  30.119  1.00 19.27           C  \nATOM    492  CD1 ILE A  61      17.277  23.039  27.718  1.00 24.49           C  \nATOM    493  N   ASP A  62      21.900  21.274  28.803  1.00 13.67           N  \nATOM    494  CA  ASP A  62      23.103  21.264  27.972  1.00 14.54           C  \nATOM    495  C   ASP A  62      23.280  19.967  27.191  1.00 14.65           C  \nATOM    496  O   ASP A  62      23.929  19.953  26.146  1.00 18.15           O  \nATOM    497  CB  ASP A  62      24.359  21.499  28.819  1.00 17.19           C  \nATOM    498  CG  ASP A  62      24.426  22.899  29.397  1.00 23.32           C  \nATOM    499  OD1 ASP A  62      23.613  23.757  28.991  1.00 22.32           O  \nATOM    500  OD2 ASP A  62      25.304  23.141  30.253  1.00 23.74           O  \nATOM    501  N   ILE A  63      22.711  18.880  27.699  1.00 12.30           N  \nATOM    502  CA  ILE A  63      22.830  17.585  27.038  1.00 12.18           C  \nATOM    503  C   ILE A  63      21.861  17.474  25.867  1.00 14.22           C  \nATOM    504  O   ILE A  63      20.675  17.746  26.010  1.00 18.15           O  \nATOM    505  CB  ILE A  63      22.543  16.420  28.018  1.00 13.92           C  \nATOM    506  CG1 ILE A  63      23.548  16.441  29.172  1.00 17.28           C  \nATOM    507  CG2 ILE A  63      22.620  15.091  27.280  1.00 14.00           C  \nATOM    508  CD1 ILE A  63      24.995  16.287  28.735  1.00 17.06           C  \nATOM    509  N   GLY A  64      22.375  17.081  24.708  1.00 14.14           N  \nATOM    510  CA  GLY A  64      21.516  16.922  23.552  1.00 16.94           C  \nATOM    511  C   GLY A  64      20.961  15.515  23.593  1.00 18.30           C  \nATOM    512  O   GLY A  64      21.693  14.568  23.869  1.00 20.02           O  \nATOM    513  N   TYR A  65      19.673  15.357  23.331  1.00 18.65           N  \nATOM    514  CA  TYR A  65      19.100  14.024  23.372  1.00 18.31           C  \nATOM    515  C   TYR A  65      17.954  13.851  22.395  1.00 20.44           C  \nATOM    516  O   TYR A  65      17.351  14.821  21.934  1.00 19.03           O  \nATOM    517  CB  TYR A  65      18.598  13.718  24.790  1.00 22.93           C  \nATOM    518  CG  TYR A  65      17.282  14.393  25.118  1.00 22.93           C  \nATOM    519  CD1 TYR A  65      16.071  13.842  24.693  1.00 27.91           C  \nATOM    520  CD2 TYR A  65      17.249  15.608  25.797  1.00 24.79           C  \nATOM    521  CE1 TYR A  65      14.862  14.486  24.929  1.00 26.74           C  \nATOM    522  CE2 TYR A  65      16.042  16.264  26.040  1.00 26.83           C  \nATOM    523  CZ  TYR A  65      14.853  15.695  25.600  1.00 28.42           C  \nATOM    524  OH  TYR A  65      13.655  16.334  25.824  1.00 30.78           O  \nATOM    525  N   GLU A  66      17.679  12.593  22.080  1.00 19.35           N  \nATOM    526  CA  GLU A  66      16.576  12.221  21.212  1.00 18.13           C  \nATOM    527  C   GLU A  66      15.814  11.238  22.081  1.00 17.07           C  \nATOM    528  O   GLU A  66      16.422  10.477  22.836  1.00 13.89           O  \nATOM    529  CB  GLU A  66      17.066  11.523  19.944  1.00 22.10           C  \nATOM    530  CG  GLU A  66      17.781  12.427  18.959  1.00 31.96           C  \nATOM    531  CD  GLU A  66      18.028  11.743  17.627  1.00 38.40           C  \nATOM    532  OE1 GLU A  66      18.679  10.676  17.616  1.00 42.11           O  \nATOM    533  OE2 GLU A  66      17.569  12.272  16.592  1.00 43.89           O  \nATOM    534  N   LEU A  67      14.491  11.264  21.992  1.00 15.56           N  \nATOM    535  CA  LEU A  67      13.666  10.376  22.794  1.00 14.40           C  \nATOM    536  C   LEU A  67      12.745   9.543  21.909  1.00 14.70           C  \nATOM    537  O   LEU A  67      11.996  10.080  21.093  1.00 15.80           O  \nATOM    538  CB  LEU A  67      12.839  11.203  23.785  1.00 16.90           C  \nATOM    539  CG  LEU A  67      11.914  10.470  24.757  1.00 19.24           C  \nATOM    540  CD1 LEU A  67      12.727   9.532  25.637  1.00 21.66           C  \nATOM    541  CD2 LEU A  67      11.172  11.489  25.610  1.00 20.68           C  \nATOM    542  N   PHE A  68      12.818   8.227  22.076  1.00 11.13           N  \nATOM    543  CA  PHE A  68      11.996   7.298  21.314  1.00 12.93           C  \nATOM    544  C   PHE A  68      11.285   6.355  22.272  1.00 12.63           C  \nATOM    545  O   PHE A  68      11.911   5.759  23.149  1.00 12.01           O  \nATOM    546  CB  PHE A  68      12.866   6.479  20.355  1.00 12.05           C  \nATOM    547  CG  PHE A  68      13.523   7.296  19.285  1.00 14.59           C  \nATOM    548  CD1 PHE A  68      12.792   7.756  18.195  1.00 14.07           C  \nATOM    549  CD2 PHE A  68      14.870   7.625  19.375  1.00 15.16           C  \nATOM    550  CE1 PHE A  68      13.394   8.532  17.208  1.00 15.37           C  \nATOM    551  CE2 PHE A  68      15.482   8.401  18.393  1.00 17.63           C  \nATOM    552  CZ  PHE A  68      14.744   8.856  17.308  1.00 18.22           C  \nATOM    553  N   LEU A  69       9.974   6.232  22.112  1.00 12.84           N  \nATOM    554  CA  LEU A  69       9.198   5.334  22.955  1.00 13.24           C  \nATOM    555  C   LEU A  69       8.765   4.137  22.123  1.00 14.32           C  \nATOM    556  O   LEU A  69       8.332   4.289  20.978  1.00 13.65           O  \nATOM    557  CB  LEU A  69       7.968   6.046  23.526  1.00 14.24           C  \nATOM    558  CG  LEU A  69       8.206   6.979  24.718  1.00 18.28           C  \nATOM    559  CD1 LEU A  69       9.175   8.085  24.331  1.00 18.52           C  \nATOM    560  CD2 LEU A  69       6.879   7.565  25.175  1.00 19.14           C  \nATOM    561  N   TRP A  70       8.900   2.949  22.702  1.00 12.36           N  \nATOM    562  CA  TRP A  70       8.536   1.716  22.025  1.00 13.82           C  \nATOM    563  C   TRP A  70       7.665   0.826  22.889  1.00 14.23           C  \nATOM    564  O   TRP A  70       7.958   0.612  24.063  1.00 14.03           O  \nATOM    565  CB  TRP A  70       9.783   0.908  21.663  1.00 10.85           C  \nATOM    566  CG  TRP A  70      10.830   1.673  20.944  1.00 10.51           C  \nATOM    567  CD1 TRP A  70      12.000   2.158  21.461  1.00 11.33           C  \nATOM    568  CD2 TRP A  70      10.815   2.036  19.565  1.00  9.50           C  \nATOM    569  NE1 TRP A  70      12.718   2.801  20.477  1.00 10.64           N  \nATOM    570  CE2 TRP A  70      12.012   2.740  19.305  1.00  9.79           C  \nATOM    571  CE3 TRP A  70       9.905   1.834  18.520  1.00 12.09           C  \nATOM    572  CZ2 TRP A  70      12.322   3.243  18.038  1.00 11.85           C  \nATOM    573  CZ3 TRP A  70      10.215   2.336  17.259  1.00 12.80           C  \nATOM    574  CH2 TRP A  70      11.414   3.031  17.031  1.00 14.03           C  \nATOM    575  N   LYS A  71       6.585   0.311  22.315  1.00 16.48           N  \nATOM    576  CA  LYS A  71       5.751  -0.615  23.057  1.00 18.93           C  \nATOM    577  C   LYS A  71       6.589  -1.886  22.981  1.00 22.72           C  \nATOM    578  O   LYS A  71       7.369  -2.052  22.045  1.00 20.37           O  \nATOM    579  CB  LYS A  71       4.404  -0.808  22.362  1.00 21.31           C  \nATOM    580  CG  LYS A  71       3.515   0.422  22.417  1.00 26.79           C  \nATOM    581  CD  LYS A  71       2.153   0.147  21.800  1.00 34.56           C  \nATOM    582  CE  LYS A  71       1.226   1.341  21.964  1.00 38.54           C  \nATOM    583  NZ  LYS A  71       1.787   2.569  21.336  1.00 42.94           N  \nATOM    584  N   LYS A  72       6.453  -2.775  23.957  1.00 25.48           N  \nATOM    585  CA  LYS A  72       7.250  -3.995  23.956  1.00 28.37           C  \nATOM    586  C   LYS A  72       7.172  -4.780  22.646  1.00 25.79           C  \nATOM    587  O   LYS A  72       8.112  -5.485  22.282  1.00 26.09           O  \nATOM    588  CB  LYS A  72       6.847  -4.875  25.142  1.00 33.91           C  \nATOM    589  CG  LYS A  72       7.142  -4.215  26.484  1.00 41.92           C  \nATOM    590  CD  LYS A  72       6.760  -5.093  27.661  1.00 49.29           C  \nATOM    591  CE  LYS A  72       7.062  -4.389  28.976  1.00 53.30           C  \nATOM    592  NZ  LYS A  72       6.675  -5.210  30.154  1.00 56.26           N  \nATOM    593  N   ASN A  73       6.063  -4.638  21.929  1.00 22.90           N  \nATOM    594  CA  ASN A  73       5.882  -5.339  20.663  1.00 22.29           C  \nATOM    595  C   ASN A  73       6.590  -4.636  19.501  1.00 18.11           C  \nATOM    596  O   ASN A  73       6.606  -5.141  18.379  1.00 16.58           O  \nATOM    597  CB  ASN A  73       4.388  -5.471  20.351  1.00 26.17           C  \nATOM    598  CG  ASN A  73       3.713  -4.126  20.148  1.00 30.05           C  \nATOM    599  OD1 ASN A  73       3.996  -3.417  19.182  1.00 34.23           O  \nATOM    600  ND2 ASN A  73       2.815  -3.767  21.060  1.00 33.29           N  \nATOM    601  N   GLU A  74       7.181  -3.476  19.774  1.00 15.76           N  \nATOM    602  CA  GLU A  74       7.876  -2.716  18.737  1.00 12.60           C  \nATOM    603  C   GLU A  74       9.394  -2.799  18.865  1.00 10.48           C  \nATOM    604  O   GLU A  74      10.123  -2.059  18.200  1.00  9.42           O  \nATOM    605  CB  GLU A  74       7.441  -1.250  18.779  1.00 16.35           C  \nATOM    606  CG  GLU A  74       5.944  -1.042  18.607  1.00 17.92           C  \nATOM    607  CD  GLU A  74       5.549   0.420  18.673  1.00 20.34           C  \nATOM    608  OE1 GLU A  74       5.999   1.117  19.606  1.00 16.46           O  \nATOM    609  OE2 GLU A  74       4.782   0.874  17.800  1.00 19.67           O  \nATOM    610  N   VAL A  75       9.871  -3.700  19.715  1.00  9.06           N  \nATOM    611  CA  VAL A  75      11.307  -3.853  19.904  1.00 10.52           C  \nATOM    612  C   VAL A  75      12.000  -4.150  18.577  1.00 10.22           C  \nATOM    613  O   VAL A  75      13.149  -3.753  18.366  1.00 11.77           O  \nATOM    614  CB  VAL A  75      11.630  -4.984  20.903  1.00 11.34           C  \nATOM    615  CG1 VAL A  75      13.144  -5.106  21.081  1.00 15.60           C  \nATOM    616  CG2 VAL A  75      10.972  -4.693  22.241  1.00 17.33           C  \nATOM    617  N   ASP A  76      11.312  -4.838  17.672  1.00  9.91           N  \nATOM    618  CA  ASP A  76      11.929  -5.147  16.387  1.00 12.34           C  \nATOM    619  C   ASP A  76      12.226  -3.892  15.563  1.00  9.21           C  \nATOM    620  O   ASP A  76      13.214  -3.852  14.831  1.00  9.36           O  \nATOM    621  CB  ASP A  76      11.070  -6.145  15.589  1.00 14.04           C  \nATOM    622  CG  ASP A  76       9.660  -5.646  15.307  1.00 17.54           C  \nATOM    623  OD1 ASP A  76       9.238  -4.607  15.857  1.00 13.26           O  \nATOM    624  OD2 ASP A  76       8.960  -6.325  14.525  1.00 15.98           O  \nATOM    625  N   ILE A  77      11.388  -2.865  15.690  1.00  7.60           N  \nATOM    626  CA  ILE A  77      11.612  -1.620  14.956  1.00  8.71           C  \nATOM    627  C   ILE A  77      12.832  -0.927  15.568  1.00  9.62           C  \nATOM    628  O   ILE A  77      13.683  -0.391  14.857  1.00  8.90           O  \nATOM    629  CB  ILE A  77      10.393  -0.676  15.051  1.00 10.93           C  \nATOM    630  CG1 ILE A  77       9.149  -1.364  14.476  1.00 10.71           C  \nATOM    631  CG2 ILE A  77      10.673   0.611  14.282  1.00 10.85           C  \nATOM    632  CD1 ILE A  77       7.862  -0.594  14.705  1.00 12.30           C  \nATOM    633  N   PHE A  78      12.907  -0.944  16.894  1.00  7.81           N  \nATOM    634  CA  PHE A  78      14.037  -0.347  17.592  1.00  8.65           C  \nATOM    635  C   PHE A  78      15.349  -0.969  17.115  1.00 11.53           C  \nATOM    636  O   PHE A  78      16.296  -0.264  16.767  1.00 11.69           O  \nATOM    637  CB  PHE A  78      13.900  -0.555  19.101  1.00  8.63           C  \nATOM    638  CG  PHE A  78      15.210  -0.506  19.831  1.00 10.37           C  \nATOM    639  CD1 PHE A  78      15.906   0.690  19.962  1.00 13.42           C  \nATOM    640  CD2 PHE A  78      15.776  -1.673  20.335  1.00 11.53           C  \nATOM    641  CE1 PHE A  78      17.155   0.722  20.581  1.00 15.39           C  \nATOM    642  CE2 PHE A  78      17.025  -1.651  20.955  1.00 11.81           C  \nATOM    643  CZ  PHE A  78      17.713  -0.451  21.077  1.00 14.87           C  \nATOM    644  N   LEU A  79      15.400  -2.296  17.108  1.00 10.16           N  \nATOM    645  CA  LEU A  79      16.603  -3.000  16.689  1.00  9.69           C  \nATOM    646  C   LEU A  79      16.961  -2.733  15.231  1.00 10.98           C  \nATOM    647  O   LEU A  79      18.139  -2.623  14.893  1.00 10.05           O  \nATOM    648  CB  LEU A  79      16.443  -4.500  16.940  1.00 11.59           C  \nATOM    649  CG  LEU A  79      16.470  -4.879  18.425  1.00  9.25           C  \nATOM    650  CD1 LEU A  79      15.977  -6.304  18.620  1.00 13.42           C  \nATOM    651  CD2 LEU A  79      17.888  -4.720  18.953  1.00 12.07           C  \nATOM    652  N   LYS A  80      15.954  -2.620  14.369  1.00 10.41           N  \nATOM    653  CA  LYS A  80      16.218  -2.349  12.958  1.00 10.15           C  \nATOM    654  C   LYS A  80      16.780  -0.939  12.799  1.00 10.76           C  \nATOM    655  O   LYS A  80      17.782  -0.733  12.114  1.00 10.37           O  \nATOM    656  CB  LYS A  80      14.940  -2.495  12.126  1.00 12.27           C  \nATOM    657  CG  LYS A  80      15.145  -2.238  10.633  1.00 16.44           C  \nATOM    658  CD  LYS A  80      16.171  -3.193  10.040  1.00 20.17           C  \nATOM    659  CE  LYS A  80      16.448  -2.877   8.575  1.00 24.66           C  \nATOM    660  NZ  LYS A  80      17.426  -3.837   7.977  1.00 25.43           N  \nATOM    661  N   ASN A  81      16.134   0.032  13.438  1.00  8.82           N  \nATOM    662  CA  ASN A  81      16.580   1.417  13.367  1.00  9.52           C  \nATOM    663  C   ASN A  81      17.985   1.579  13.938  1.00  9.21           C  \nATOM    664  O   ASN A  81      18.736   2.458  13.516  1.00  8.16           O  \nATOM    665  CB  ASN A  81      15.615   2.325  14.133  1.00  6.26           C  \nATOM    666  CG  ASN A  81      14.281   2.498  13.423  1.00  9.62           C  \nATOM    667  OD1 ASN A  81      14.035   1.894  12.378  1.00  9.19           O  \nATOM    668  ND2 ASN A  81      13.414   3.328  13.993  1.00  6.70           N  \nATOM    669  N   LEU A  82      18.331   0.736  14.904  1.00  8.29           N  \nATOM    670  CA  LEU A  82      19.650   0.796  15.531  1.00  9.25           C  \nATOM    671  C   LEU A  82      20.761   0.619  14.493  1.00 10.59           C  \nATOM    672  O   LEU A  82      21.870   1.130  14.661  1.00  9.88           O  \nATOM    673  CB  LEU A  82      19.762  -0.282  16.614  1.00  9.95           C  \nATOM    674  CG  LEU A  82      21.043  -0.292  17.456  1.00 14.09           C  \nATOM    675  CD1 LEU A  82      21.245   1.066  18.111  1.00 13.71           C  \nATOM    676  CD2 LEU A  82      20.950  -1.389  18.509  1.00 10.74           C  \nATOM    677  N   GLU A  83      20.458  -0.095  13.413  1.00  9.50           N  \nATOM    678  CA  GLU A  83      21.448  -0.317  12.362  1.00 11.88           C  \nATOM    679  C   GLU A  83      21.947   0.992  11.755  1.00 12.86           C  \nATOM    680  O   GLU A  83      23.071   1.058  11.257  1.00 13.04           O  \nATOM    681  CB  GLU A  83      20.865  -1.191  11.249  1.00 12.61           C  \nATOM    682  CG  GLU A  83      20.452  -2.577  11.705  1.00 14.42           C  \nATOM    683  CD  GLU A  83      19.991  -3.454  10.558  1.00 18.48           C  \nATOM    684  OE1 GLU A  83      19.859  -2.939   9.430  1.00 18.66           O  \nATOM    685  OE2 GLU A  83      19.754  -4.658  10.787  1.00 22.59           O  \nATOM    686  N   LYS A  84      21.115   2.030  11.799  1.00 11.63           N  \nATOM    687  CA  LYS A  84      21.477   3.330  11.232  1.00 14.14           C  \nATOM    688  C   LYS A  84      21.896   4.374  12.268  1.00 16.24           C  \nATOM    689  O   LYS A  84      22.274   5.489  11.911  1.00 17.54           O  \nATOM    690  CB  LYS A  84      20.302   3.900  10.431  1.00 13.67           C  \nATOM    691  CG  LYS A  84      19.888   3.087   9.219  1.00 18.74           C  \nATOM    692  CD  LYS A  84      18.672   3.720   8.549  1.00 19.43           C  \nATOM    693  CE  LYS A  84      18.253   2.953   7.308  1.00 25.40           C  \nATOM    694  NZ  LYS A  84      19.315   2.959   6.266  1.00 30.14           N  \nATOM    695  N   SER A  85      21.823   4.016  13.544  1.00 12.83           N  \nATOM    696  CA  SER A  85      22.165   4.943  14.616  1.00 16.34           C  \nATOM    697  C   SER A  85      23.641   4.895  14.983  1.00 17.60           C  \nATOM    698  O   SER A  85      24.186   3.830  15.267  1.00 14.60           O  \nATOM    699  CB  SER A  85      21.316   4.638  15.855  1.00 18.24           C  \nATOM    700  OG  SER A  85      21.550   5.583  16.885  1.00 25.32           O  \nATOM    701  N   GLU A  86      24.281   6.058  14.976  1.00 16.65           N  \nATOM    702  CA  GLU A  86      25.691   6.148  15.318  1.00 20.54           C  \nATOM    703  C   GLU A  86      25.847   6.356  16.818  1.00 19.99           C  \nATOM    704  O   GLU A  86      25.795   7.484  17.308  1.00 23.78           O  \nATOM    705  CB  GLU A  86      26.349   7.301  14.555  1.00 25.96           C  \nATOM    706  CG  GLU A  86      27.754   7.656  15.035  1.00 39.12           C  \nATOM    707  CD  GLU A  86      28.656   6.445  15.179  1.00 45.75           C  \nATOM    708  OE1 GLU A  86      28.753   5.654  14.216  1.00 50.19           O  \nATOM    709  OE2 GLU A  86      29.275   6.290  16.256  1.00 50.06           O  \nATOM    710  N   VAL A  87      26.020   5.254  17.540  1.00 20.16           N  \nATOM    711  CA  VAL A  87      26.198   5.286  18.989  1.00 18.68           C  \nATOM    712  C   VAL A  87      27.523   4.612  19.338  1.00 18.77           C  \nATOM    713  O   VAL A  87      27.977   3.724  18.616  1.00 17.50           O  \nATOM    714  CB  VAL A  87      25.051   4.552  19.704  1.00 18.06           C  \nATOM    715  CG1 VAL A  87      23.748   5.309  19.504  1.00 20.67           C  \nATOM    716  CG2 VAL A  87      24.926   3.138  19.163  1.00 18.82           C  \nATOM    717  N   ASP A  88      28.144   5.031  20.439  1.00 16.11           N  \nATOM    718  CA  ASP A  88      29.428   4.461  20.846  1.00 16.31           C  \nATOM    719  C   ASP A  88      29.521   4.009  22.300  1.00 20.76           C  \nATOM    720  O   ASP A  88      30.507   3.385  22.698  1.00 25.38           O  \nATOM    721  CB  ASP A  88      30.556   5.454  20.570  1.00 19.28           C  \nATOM    722  CG  ASP A  88      30.224   6.857  21.036  1.00 18.16           C  \nATOM    723  OD1 ASP A  88      29.422   7.004  21.984  1.00 19.26           O  \nATOM    724  OD2 ASP A  88      30.779   7.813  20.458  1.00 20.16           O  \nATOM    725  N   GLY A  89      28.514   4.344  23.094  1.00 14.98           N  \nATOM    726  CA  GLY A  89      28.505   3.944  24.492  1.00 11.49           C  \nATOM    727  C   GLY A  89      27.131   3.392  24.807  1.00 11.28           C  \nATOM    728  O   GLY A  89      26.179   3.676  24.081  1.00 11.07           O  \nATOM    729  N   LEU A  90      27.014   2.623  25.887  1.00  7.86           N  \nATOM    730  CA  LEU A  90      25.732   2.028  26.248  1.00  8.27           C  \nATOM    731  C   LEU A  90      25.364   2.179  27.720  1.00  6.84           C  \nATOM    732  O   LEU A  90      26.191   1.947  28.599  1.00  8.06           O  \nATOM    733  CB  LEU A  90      25.743   0.539  25.897  1.00  9.22           C  \nATOM    734  CG  LEU A  90      24.518  -0.287  26.296  1.00  7.17           C  \nATOM    735  CD1 LEU A  90      23.307   0.167  25.493  1.00  7.45           C  \nATOM    736  CD2 LEU A  90      24.793  -1.763  26.048  1.00 10.76           C  \nATOM    737  N   LEU A  91      24.115   2.563  27.969  1.00  6.67           N  \nATOM    738  CA  LEU A  91      23.578   2.701  29.323  1.00  5.88           C  \nATOM    739  C   LEU A  91      22.297   1.877  29.362  1.00  7.65           C  \nATOM    740  O   LEU A  91      21.460   1.981  28.461  1.00  7.92           O  \nATOM    741  CB  LEU A  91      23.271   4.165  29.649  1.00  6.06           C  \nATOM    742  CG  LEU A  91      24.490   5.069  29.862  1.00  7.72           C  \nATOM    743  CD1 LEU A  91      24.037   6.516  30.030  1.00  9.04           C  \nATOM    744  CD2 LEU A  91      25.261   4.604  31.098  1.00 11.40           C  \nATOM    745  N   VAL A  92      22.147   1.056  30.397  1.00  7.74           N  \nATOM    746  CA  VAL A  92      20.973   0.196  30.526  1.00  9.41           C  \nATOM    747  C   VAL A  92      20.280   0.360  31.876  1.00  8.85           C  \nATOM    748  O   VAL A  92      20.929   0.302  32.920  1.00  9.80           O  \nATOM    749  CB  VAL A  92      21.368  -1.292  30.351  1.00  9.33           C  \nATOM    750  CG1 VAL A  92      20.167  -2.188  30.602  1.00 11.21           C  \nATOM    751  CG2 VAL A  92      21.923  -1.520  28.949  1.00  9.68           C  \nATOM    752  N   TYR A  93      18.962   0.546  31.846  1.00  8.30           N  \nATOM    753  CA  TYR A  93      18.179   0.713  33.072  1.00  7.46           C  \nATOM    754  C   TYR A  93      16.867  -0.059  33.053  1.00  9.64           C  \nATOM    755  O   TYR A  93      16.169  -0.096  32.039  1.00  9.58           O  \nATOM    756  CB  TYR A  93      17.833   2.185  33.292  1.00  7.49           C  \nATOM    757  CG  TYR A  93      19.013   3.115  33.250  1.00  7.32           C  \nATOM    758  CD1 TYR A  93      19.727   3.425  34.408  1.00 10.22           C  \nATOM    759  CD2 TYR A  93      19.428   3.677  32.045  1.00  8.50           C  \nATOM    760  CE1 TYR A  93      20.827   4.275  34.363  1.00  7.50           C  \nATOM    761  CE2 TYR A  93      20.519   4.520  31.989  1.00 10.65           C  \nATOM    762  CZ  TYR A  93      21.217   4.818  33.149  1.00  9.17           C  \nATOM    763  OH  TYR A  93      22.297   5.665  33.083  1.00  9.81           O  \nATOM    764  N   CYS A  94      16.525  -0.652  34.191  1.00  9.58           N  \nATOM    765  CA  CYS A  94      15.270  -1.383  34.321  1.00 11.58           C  \nATOM    766  C   CYS A  94      14.964  -1.598  35.795  1.00 11.27           C  \nATOM    767  O   CYS A  94      15.816  -1.357  36.656  1.00 12.83           O  \nATOM    768  CB  CYS A  94      15.356  -2.754  33.632  1.00 11.71           C  \nATOM    769  SG  CYS A  94      16.168  -4.070  34.608  1.00 12.06           S  \nATOM    770  N   ASP A  95      13.733  -2.008  36.085  1.00 13.29           N  \nATOM    771  CA  ASP A  95      13.353  -2.344  37.450  1.00 15.28           C  \nATOM    772  C   ASP A  95      13.033  -3.840  37.408  1.00 15.81           C  \nATOM    773  O   ASP A  95      13.032  -4.440  36.335  1.00 14.16           O  \nATOM    774  CB  ASP A  95      12.152  -1.522  37.960  1.00 14.63           C  \nATOM    775  CG  ASP A  95      11.055  -1.342  36.927  1.00 16.19           C  \nATOM    776  OD1 ASP A  95      10.946  -2.160  35.993  1.00 16.16           O  \nATOM    777  OD2 ASP A  95      10.279  -0.370  37.074  1.00 16.66           O  \nATOM    778  N   ASP A  96      12.781  -4.451  38.561  1.00 18.96           N  \nATOM    779  CA  ASP A  96      12.504  -5.884  38.602  1.00 20.56           C  \nATOM    780  C   ASP A  96      11.413  -6.363  37.654  1.00 20.25           C  \nATOM    781  O   ASP A  96      11.549  -7.411  37.027  1.00 19.79           O  \nATOM    782  CB  ASP A  96      12.154  -6.317  40.026  1.00 25.74           C  \nATOM    783  CG  ASP A  96      13.353  -6.310  40.945  1.00 27.79           C  \nATOM    784  OD1 ASP A  96      14.408  -6.847  40.547  1.00 33.13           O  \nATOM    785  OD2 ASP A  96      13.237  -5.779  42.067  1.00 35.26           O  \nATOM    786  N   GLU A  97      10.333  -5.599  37.556  1.00 20.92           N  \nATOM    787  CA  GLU A  97       9.216  -5.962  36.693  1.00 22.17           C  \nATOM    788  C   GLU A  97       9.593  -6.037  35.216  1.00 22.07           C  \nATOM    789  O   GLU A  97       8.908  -6.691  34.431  1.00 21.21           O  \nATOM    790  CB  GLU A  97       8.068  -4.964  36.869  1.00 25.44           C  \nATOM    791  CG  GLU A  97       7.371  -5.031  38.219  1.00 37.78           C  \nATOM    792  CD  GLU A  97       8.317  -4.805  39.384  1.00 43.22           C  \nATOM    793  OE1 GLU A  97       9.043  -3.786  39.372  1.00 45.28           O  \nATOM    794  OE2 GLU A  97       8.330  -5.642  40.314  1.00 42.89           O  \nATOM    795  N   ASN A  98      10.685  -5.380  34.840  1.00 17.80           N  \nATOM    796  CA  ASN A  98      11.110  -5.371  33.443  1.00 15.94           C  \nATOM    797  C   ASN A  98      12.511  -5.926  33.204  1.00 16.06           C  \nATOM    798  O   ASN A  98      13.054  -5.792  32.104  1.00 13.18           O  \nATOM    799  CB  ASN A  98      11.031  -3.942  32.901  1.00 16.46           C  \nATOM    800  CG  ASN A  98       9.621  -3.391  32.918  1.00 19.73           C  \nATOM    801  OD1 ASN A  98       8.775  -3.797  32.120  1.00 23.19           O  \nATOM    802  ND2 ASN A  98       9.354  -2.468  33.837  1.00 17.02           N  \nATOM    803  N   LYS A  99      13.088  -6.561  34.218  1.00 13.73           N  \nATOM    804  CA  LYS A  99      14.437  -7.107  34.102  1.00 14.87           C  \nATOM    805  C   LYS A  99      14.580  -8.218  33.063  1.00 14.96           C  \nATOM    806  O   LYS A  99      15.552  -8.238  32.307  1.00 14.14           O  \nATOM    807  CB  LYS A  99      14.920  -7.605  35.468  1.00 16.79           C  \nATOM    808  CG  LYS A  99      16.342  -8.144  35.460  1.00 18.70           C  \nATOM    809  CD  LYS A  99      16.878  -8.325  36.875  1.00 25.73           C  \nATOM    810  CE  LYS A  99      16.023  -9.280  37.685  1.00 30.36           C  \nATOM    811  NZ  LYS A  99      16.496  -9.377  39.094  1.00 34.03           N  \nATOM    812  N   VAL A 100      13.628  -9.147  33.025  1.00 15.47           N  \nATOM    813  CA  VAL A 100      13.688 -10.233  32.049  1.00 14.52           C  \nATOM    814  C   VAL A 100      13.612  -9.647  30.641  1.00 13.62           C  \nATOM    815  O   VAL A 100      14.373 -10.028  29.752  1.00 13.40           O  \nATOM    816  CB  VAL A 100      12.520 -11.229  32.240  1.00 17.58           C  \nATOM    817  CG1 VAL A 100      12.531 -12.268  31.124  1.00 14.99           C  \nATOM    818  CG2 VAL A 100      12.641 -11.914  33.593  1.00 18.88           C  \nATOM    819  N   PHE A 101      12.694  -8.707  30.454  1.00 14.49           N  \nATOM    820  CA  PHE A 101      12.518  -8.053  29.166  1.00 16.41           C  \nATOM    821  C   PHE A 101      13.790  -7.329  28.728  1.00 16.42           C  \nATOM    822  O   PHE A 101      14.326  -7.593  27.650  1.00 13.50           O  \nATOM    823  CB  PHE A 101      11.368  -7.052  29.243  1.00 16.85           C  \nATOM    824  CG  PHE A 101      11.188  -6.238  27.995  1.00 21.20           C  \nATOM    825  CD1 PHE A 101      10.807  -6.843  26.801  1.00 22.47           C  \nATOM    826  CD2 PHE A 101      11.394  -4.864  28.013  1.00 24.04           C  \nATOM    827  CE1 PHE A 101      10.633  -6.091  25.642  1.00 24.25           C  \nATOM    828  CE2 PHE A 101      11.224  -4.101  26.861  1.00 28.34           C  \nATOM    829  CZ  PHE A 101      10.842  -4.716  25.672  1.00 27.51           C  \nHETATM  830  N   MSE A 102      14.271  -6.413  29.562  1.00 15.07           N  \nHETATM  831  CA  MSE A 102      15.471  -5.656  29.229  1.00 15.73           C  \nHETATM  832  C   MSE A 102      16.697  -6.542  29.030  1.00 15.29           C  \nHETATM  833  O   MSE A 102      17.510  -6.291  28.138  1.00 14.86           O  \nHETATM  834  CB  MSE A 102      15.761  -4.609  30.308  1.00 16.50           C  \nHETATM  835  CG  MSE A 102      16.999  -3.766  30.031  1.00 12.98           C  \nHETATM  836 SE   MSE A 102      16.938  -2.880  28.300  1.00 27.13          SE  \nHETATM  837  CE  MSE A 102      15.668  -1.533  28.732  1.00  8.64           C  \nATOM    838  N   SER A 103      16.835  -7.578  29.852  1.00 17.48           N  \nATOM    839  CA  SER A 103      17.978  -8.478  29.733  1.00 17.27           C  \nATOM    840  C   SER A 103      18.018  -9.139  28.360  1.00 17.75           C  \nATOM    841  O   SER A 103      19.089  -9.324  27.783  1.00 18.72           O  \nATOM    842  CB  SER A 103      17.930  -9.555  30.822  1.00 17.33           C  \nATOM    843  OG  SER A 103      18.125  -8.986  32.103  1.00 22.22           O  \nATOM    844  N   LYS A 104      16.848  -9.489  27.836  1.00 18.40           N  \nATOM    845  CA  LYS A 104      16.772 -10.126  26.526  1.00 17.38           C  \nATOM    846  C   LYS A 104      17.196  -9.150  25.431  1.00 17.58           C  \nATOM    847  O   LYS A 104      17.929  -9.518  24.512  1.00 19.01           O  \nATOM    848  CB  LYS A 104      15.349 -10.623  26.261  1.00 18.69           C  \nATOM    849  CG  LYS A 104      15.172 -11.313  24.916  1.00 22.54           C  \nATOM    850  CD  LYS A 104      13.791 -11.952  24.792  1.00 23.95           C  \nATOM    851  CE  LYS A 104      12.674 -10.929  24.964  1.00 27.27           C  \nATOM    852  NZ  LYS A 104      11.319 -11.539  24.823  1.00 29.03           N  \nATOM    853  N   ILE A 105      16.734  -7.906  25.533  1.00 16.37           N  \nATOM    854  CA  ILE A 105      17.081  -6.884  24.551  1.00 16.07           C  \nATOM    855  C   ILE A 105      18.596  -6.688  24.526  1.00 14.20           C  \nATOM    856  O   ILE A 105      19.206  -6.640  23.458  1.00 15.34           O  \nATOM    857  CB  ILE A 105      16.404  -5.529  24.878  1.00 15.75           C  \nATOM    858  CG1 ILE A 105      14.885  -5.662  24.757  1.00 18.48           C  \nATOM    859  CG2 ILE A 105      16.901  -4.445  23.925  1.00 16.56           C  \nATOM    860  CD1 ILE A 105      14.134  -4.377  25.044  1.00 22.69           C  \nATOM    861  N   VAL A 106      19.198  -6.572  25.706  1.00 11.65           N  \nATOM    862  CA  VAL A 106      20.641  -6.388  25.798  1.00 13.23           C  \nATOM    863  C   VAL A 106      21.380  -7.546  25.132  1.00 17.19           C  \nATOM    864  O   VAL A 106      22.370  -7.336  24.431  1.00 15.73           O  \nATOM    865  CB  VAL A 106      21.103  -6.275  27.268  1.00 14.34           C  \nATOM    866  CG1 VAL A 106      22.621  -6.188  27.332  1.00 14.51           C  \nATOM    867  CG2 VAL A 106      20.482  -5.042  27.909  1.00 12.30           C  \nATOM    868  N   ASP A 107      20.894  -8.767  25.344  1.00 15.92           N  \nATOM    869  CA  ASP A 107      21.528  -9.939  24.748  1.00 19.28           C  \nATOM    870  C   ASP A 107      21.531  -9.877  23.224  1.00 18.25           C  \nATOM    871  O   ASP A 107      22.408 -10.453  22.581  1.00 19.40           O  \nATOM    872  CB  ASP A 107      20.820 -11.232  25.174  1.00 21.10           C  \nATOM    873  CG  ASP A 107      20.957 -11.522  26.654  1.00 24.44           C  \nATOM    874  OD1 ASP A 107      22.031 -11.238  27.225  1.00 24.29           O  \nATOM    875  OD2 ASP A 107      19.993 -12.057  27.244  1.00 26.54           O  \nATOM    876  N   ASN A 108      20.550  -9.187  22.650  1.00 16.67           N  \nATOM    877  CA  ASN A 108      20.448  -9.090  21.196  1.00 16.97           C  \nATOM    878  C   ASN A 108      21.076  -7.848  20.570  1.00 15.91           C  \nATOM    879  O   ASN A 108      20.954  -7.636  19.366  1.00 13.39           O  \nATOM    880  CB  ASN A 108      18.984  -9.189  20.759  1.00 19.30           C  \nATOM    881  CG  ASN A 108      18.415 -10.582  20.944  1.00 23.83           C  \nATOM    882  OD1 ASN A 108      18.184 -11.032  22.068  1.00 26.90           O  \nATOM    883  ND2 ASN A 108      18.194 -11.278  19.835  1.00 22.68           N  \nATOM    884  N   LEU A 109      21.741  -7.026  21.374  1.00 14.98           N  \nATOM    885  CA  LEU A 109      22.385  -5.828  20.840  1.00 14.18           C  \nATOM    886  C   LEU A 109      23.672  -6.221  20.135  1.00 16.48           C  \nATOM    887  O   LEU A 109      24.253  -7.265  20.431  1.00 14.47           O  \nATOM    888  CB  LEU A 109      22.727  -4.847  21.963  1.00 11.94           C  \nATOM    889  CG  LEU A 109      21.578  -4.194  22.728  1.00  9.62           C  \nATOM    890  CD1 LEU A 109      22.146  -3.384  23.887  1.00  8.05           C  \nATOM    891  CD2 LEU A 109      20.769  -3.304  21.795  1.00  8.93           C  \nATOM    892  N   PRO A 110      24.137  -5.388  19.190  1.00 16.03           N  \nATOM    893  CA  PRO A 110      25.377  -5.682  18.467  1.00 18.68           C  \nATOM    894  C   PRO A 110      26.539  -5.848  19.445  1.00 18.36           C  \nATOM    895  O   PRO A 110      26.588  -5.189  20.486  1.00 16.80           O  \nATOM    896  CB  PRO A 110      25.551  -4.459  17.572  1.00 17.68           C  \nATOM    897  CG  PRO A 110      24.137  -4.055  17.288  1.00 20.90           C  \nATOM    898  CD  PRO A 110      23.488  -4.181  18.649  1.00 17.75           C  \nATOM    899  N   THR A 111      27.473  -6.725  19.102  1.00 17.87           N  \nATOM    900  CA  THR A 111      28.631  -6.987  19.946  1.00 19.17           C  \nATOM    901  C   THR A 111      29.378  -5.717  20.354  1.00 18.59           C  \nATOM    902  O   THR A 111      29.683  -5.518  21.529  1.00 15.29           O  \nATOM    903  CB  THR A 111      29.625  -7.918  19.230  1.00 18.45           C  \nATOM    904  OG1 THR A 111      28.975  -9.154  18.913  1.00 26.33           O  \nATOM    905  CG2 THR A 111      30.828  -8.193  20.116  1.00 22.32           C  \nATOM    906  N   ALA A 112      29.671  -4.864  19.377  1.00 16.37           N  \nATOM    907  CA  ALA A 112      30.402  -3.627  19.631  1.00 18.47           C  \nATOM    908  C   ALA A 112      29.717  -2.716  20.643  1.00 17.46           C  \nATOM    909  O   ALA A 112      30.381  -2.010  21.401  1.00 19.35           O  \nATOM    910  CB  ALA A 112      30.624  -2.875  18.321  1.00 18.49           C  \nATOM    911  N   ILE A 113      28.390  -2.731  20.658  1.00 12.89           N  \nATOM    912  CA  ILE A 113      27.644  -1.887  21.583  1.00 16.15           C  \nATOM    913  C   ILE A 113      27.695  -2.444  23.001  1.00 15.76           C  \nATOM    914  O   ILE A 113      27.925  -1.706  23.959  1.00 17.40           O  \nATOM    915  CB  ILE A 113      26.179  -1.734  21.130  1.00 15.62           C  \nATOM    916  CG1 ILE A 113      26.143  -1.026  19.771  1.00 16.32           C  \nATOM    917  CG2 ILE A 113      25.391  -0.936  22.162  1.00 15.49           C  \nATOM    918  CD1 ILE A 113      24.753  -0.743  19.245  1.00 16.88           C  \nATOM    919  N   LYS A 114      27.491  -3.749  23.134  1.00 16.40           N  \nATOM    920  CA  LYS A 114      27.527  -4.383  24.446  1.00 17.88           C  \nATOM    921  C   LYS A 114      28.898  -4.255  25.099  1.00 18.65           C  \nATOM    922  O   LYS A 114      29.004  -4.206  26.323  1.00 19.90           O  \nATOM    923  CB  LYS A 114      27.149  -5.863  24.332  1.00 20.13           C  \nATOM    924  CG  LYS A 114      25.693  -6.097  23.967  1.00 23.14           C  \nATOM    925  CD  LYS A 114      25.324  -7.573  24.001  1.00 28.04           C  \nATOM    926  CE  LYS A 114      25.952  -8.340  22.854  1.00 31.86           C  \nATOM    927  NZ  LYS A 114      25.460  -9.747  22.805  1.00 36.71           N  \nATOM    928  N   ARG A 115      29.946  -4.185  24.285  1.00 19.13           N  \nATOM    929  CA  ARG A 115      31.299  -4.081  24.819  1.00 21.63           C  \nATOM    930  C   ARG A 115      31.620  -2.708  25.393  1.00 21.69           C  \nATOM    931  O   ARG A 115      32.625  -2.540  26.082  1.00 19.57           O  \nATOM    932  CB  ARG A 115      32.322  -4.458  23.745  1.00 29.14           C  \nATOM    933  CG  ARG A 115      32.066  -5.832  23.150  1.00 40.81           C  \nATOM    934  CD  ARG A 115      33.338  -6.510  22.674  1.00 51.82           C  \nATOM    935  NE  ARG A 115      33.045  -7.808  22.070  1.00 60.88           N  \nATOM    936  CZ  ARG A 115      33.959  -8.734  21.800  1.00 65.54           C  \nATOM    937  NH1 ARG A 115      35.235  -8.513  22.083  1.00 68.77           N  \nATOM    938  NH2 ARG A 115      33.595  -9.882  21.242  1.00 67.23           N  \nATOM    939  N   ASN A 116      30.768  -1.727  25.116  1.00 16.60           N  \nATOM    940  CA  ASN A 116      30.983  -0.385  25.639  1.00 13.28           C  \nATOM    941  C   ASN A 116      29.921  -0.012  26.664  1.00 13.98           C  \nATOM    942  O   ASN A 116      29.466   1.131  26.721  1.00 11.77           O  \nATOM    943  CB  ASN A 116      31.011   0.644  24.508  1.00 17.96           C  \nATOM    944  CG  ASN A 116      32.280   0.560  23.682  1.00 23.95           C  \nATOM    945  OD1 ASN A 116      32.393  -0.258  22.771  1.00 27.65           O  \nATOM    946  ND2 ASN A 116      33.253   1.399  24.014  1.00 24.96           N  \nATOM    947  N   LEU A 117      29.532  -0.993  27.472  1.00 14.76           N  \nATOM    948  CA  LEU A 117      28.539  -0.790  28.520  1.00 16.01           C  \nATOM    949  C   LEU A 117      29.169   0.082  29.606  1.00 16.50           C  \nATOM    950  O   LEU A 117      30.149  -0.311  30.238  1.00 19.94           O  \nATOM    951  CB  LEU A 117      28.119  -2.142  29.100  1.00 13.89           C  \nATOM    952  CG  LEU A 117      27.156  -2.147  30.288  1.00 15.07           C  \nATOM    953  CD1 LEU A 117      25.825  -1.532  29.881  1.00 13.69           C  \nATOM    954  CD2 LEU A 117      26.961  -3.579  30.766  1.00 16.68           C  \nATOM    955  N   ILE A 118      28.601   1.266  29.813  1.00 11.74           N  \nATOM    956  CA  ILE A 118      29.109   2.215  30.801  1.00 13.36           C  \nATOM    957  C   ILE A 118      28.505   1.995  32.180  1.00 12.53           C  \nATOM    958  O   ILE A 118      29.206   2.033  33.191  1.00 12.37           O  \nATOM    959  CB  ILE A 118      28.810   3.664  30.367  1.00 14.81           C  \nATOM    960  CG1 ILE A 118      29.505   3.958  29.037  1.00 17.20           C  \nATOM    961  CG2 ILE A 118      29.273   4.644  31.445  1.00 16.33           C  \nATOM    962  CD1 ILE A 118      29.137   5.297  28.442  1.00 15.95           C  \nATOM    963  N   LYS A 119      27.196   1.782  32.216  1.00  9.94           N  \nATOM    964  CA  LYS A 119      26.491   1.553  33.470  1.00  8.83           C  \nATOM    965  C   LYS A 119      25.264   0.711  33.185  1.00 12.00           C  \nATOM    966  O   LYS A 119      24.547   0.953  32.216  1.00  9.96           O  \nATOM    967  CB  LYS A 119      26.062   2.883  34.105  1.00 10.54           C  \nATOM    968  CG  LYS A 119      25.176   2.742  35.358  1.00 12.68           C  \nATOM    969  CD  LYS A 119      25.904   2.066  36.516  1.00 12.97           C  \nATOM    970  CE  LYS A 119      25.005   1.904  37.747  1.00  9.78           C  \nATOM    971  NZ  LYS A 119      24.704   3.205  38.415  1.00  9.17           N  \nATOM    972  N   ASP A 120      25.043  -0.291  34.025  1.00 11.88           N  \nATOM    973  CA  ASP A 120      23.892  -1.164  33.887  1.00 12.15           C  \nATOM    974  C   ASP A 120      23.189  -1.204  35.238  1.00 13.35           C  \nATOM    975  O   ASP A 120      23.647  -1.875  36.158  1.00 13.72           O  \nATOM    976  CB  ASP A 120      24.332  -2.579  33.492  1.00 13.47           C  \nATOM    977  CG  ASP A 120      23.156  -3.506  33.216  1.00 18.79           C  \nATOM    978  OD1 ASP A 120      22.239  -3.586  34.061  1.00 19.37           O  \nATOM    979  OD2 ASP A 120      23.149  -4.162  32.155  1.00 26.90           O  \nATOM    980  N   PHE A 121      22.112  -0.440  35.374  1.00  9.12           N  \nATOM    981  CA  PHE A 121      21.345  -0.460  36.612  1.00  8.53           C  \nATOM    982  C   PHE A 121      20.158  -1.323  36.233  1.00 10.99           C  \nATOM    983  O   PHE A 121      19.062  -0.820  35.976  1.00 12.01           O  \nATOM    984  CB  PHE A 121      20.864   0.938  37.000  1.00  8.25           C  \nATOM    985  CG  PHE A 121      20.292   1.008  38.388  1.00  9.71           C  \nATOM    986  CD1 PHE A 121      21.126   1.167  39.490  1.00  9.45           C  \nATOM    987  CD2 PHE A 121      18.926   0.875  38.597  1.00 13.08           C  \nATOM    988  CE1 PHE A 121      20.606   1.190  40.781  1.00 10.63           C  \nATOM    989  CE2 PHE A 121      18.394   0.895  39.887  1.00 11.99           C  \nATOM    990  CZ  PHE A 121      19.238   1.054  40.981  1.00 12.89           C  \nATOM    991  N   CYS A 122      20.385  -2.631  36.182  1.00 12.06           N  \nATOM    992  CA  CYS A 122      19.331  -3.542  35.781  1.00 13.91           C  \nATOM    993  C   CYS A 122      19.612  -5.009  36.086  1.00 15.31           C  \nATOM    994  O   CYS A 122      19.032  -5.583  37.008  1.00 15.62           O  \nATOM    995  CB  CYS A 122      19.078  -3.364  34.280  1.00 13.84           C  \nATOM    996  SG  CYS A 122      17.857  -4.508  33.568  1.00 13.88           S  \nATOM    997  N   ARG A 123      20.511  -5.611  35.318  1.00 16.09           N  \nATOM    998  CA  ARG A 123      20.827  -7.025  35.485  1.00 18.40           C  \nATOM    999  C   ARG A 123      21.351  -7.484  36.846  1.00 17.94           C  \nATOM   1000  O   ARG A 123      21.097  -8.621  37.244  1.00 17.65           O  \nATOM   1001  CB  ARG A 123      21.772  -7.468  34.366  1.00 19.65           C  \nATOM   1002  CG  ARG A 123      21.072  -7.500  33.007  1.00 28.18           C  \nATOM   1003  CD  ARG A 123      22.004  -7.899  31.879  1.00 29.84           C  \nATOM   1004  NE  ARG A 123      23.045  -6.901  31.658  1.00 32.33           N  \nATOM   1005  CZ  ARG A 123      24.006  -7.013  30.748  1.00 29.90           C  \nATOM   1006  NH1 ARG A 123      24.060  -8.083  29.967  1.00 27.70           N  \nATOM   1007  NH2 ARG A 123      24.913  -6.056  30.619  1.00 29.83           N  \nATOM   1008  N   LYS A 124      22.063  -6.621  37.567  1.00 13.84           N  \nATOM   1009  CA  LYS A 124      22.574  -7.010  38.881  1.00 12.49           C  \nATOM   1010  C   LYS A 124      21.558  -6.778  40.004  1.00 10.77           C  \nATOM   1011  O   LYS A 124      21.839  -7.074  41.164  1.00 12.23           O  \nATOM   1012  CB  LYS A 124      23.877  -6.264  39.210  1.00 15.02           C  \nATOM   1013  CG  LYS A 124      25.124  -6.785  38.485  1.00 17.86           C  \nATOM   1014  CD  LYS A 124      26.376  -6.035  38.942  1.00 21.21           C  \nATOM   1015  CE  LYS A 124      27.647  -6.566  38.282  1.00 24.54           C  \nATOM   1016  NZ  LYS A 124      28.878  -5.873  38.791  1.00 21.46           N  \nATOM   1017  N   LEU A 125      20.385  -6.246  39.670  1.00  9.74           N  \nATOM   1018  CA  LEU A 125      19.359  -6.009  40.684  1.00 11.32           C  \nATOM   1019  C   LEU A 125      18.803  -7.337  41.180  1.00 14.53           C  \nATOM   1020  O   LEU A 125      18.539  -8.239  40.388  1.00 14.63           O  \nATOM   1021  CB  LEU A 125      18.213  -5.171  40.115  1.00 11.72           C  \nATOM   1022  CG  LEU A 125      18.482  -3.693  39.848  1.00 13.13           C  \nATOM   1023  CD1 LEU A 125      17.307  -3.105  39.084  1.00 13.14           C  \nATOM   1024  CD2 LEU A 125      18.690  -2.955  41.168  1.00 13.06           C  \nATOM   1025  N   SER A 126      18.630  -7.454  42.493  1.00 13.97           N  \nATOM   1026  CA  SER A 126      18.095  -8.673  43.087  1.00 18.03           C  \nATOM   1027  C   SER A 126      16.570  -8.624  43.178  1.00 20.57           C  \nATOM   1028  O   SER A 126      15.954  -9.708  43.269  1.00 24.85           O  \nATOM   1029  CB  SER A 126      18.697  -8.899  44.479  1.00 18.07           C  \nATOM   1030  OG  SER A 126      18.407  -7.823  45.351  1.00 15.78           O  \nTER    1031      SER A 126                                                      \nATOM   1032  N   TYR B   3      24.874 -14.238  65.592  1.00 21.36           N  \nATOM   1033  CA  TYR B   3      24.778 -13.845  64.154  1.00 14.51           C  \nATOM   1034  C   TYR B   3      24.644 -15.062  63.250  1.00 13.36           C  \nATOM   1035  O   TYR B   3      25.275 -16.090  63.494  1.00 14.59           O  \nATOM   1036  CB  TYR B   3      26.025 -13.057  63.736  1.00 14.32           C  \nATOM   1037  CG  TYR B   3      26.252 -11.805  64.544  1.00 12.05           C  \nATOM   1038  CD1 TYR B   3      27.202 -11.769  65.564  1.00 12.30           C  \nATOM   1039  CD2 TYR B   3      25.492 -10.662  64.309  1.00 10.81           C  \nATOM   1040  CE1 TYR B   3      27.388 -10.616  66.331  1.00 14.06           C  \nATOM   1041  CE2 TYR B   3      25.667  -9.512  65.069  1.00 13.41           C  \nATOM   1042  CZ  TYR B   3      26.614  -9.496  66.076  1.00 15.79           C  \nATOM   1043  OH  TYR B   3      26.781  -8.356  66.825  1.00 14.76           O  \nATOM   1044  N   LYS B   4      23.823 -14.950  62.210  1.00 11.22           N  \nATOM   1045  CA  LYS B   4      23.663 -16.057  61.274  1.00 13.45           C  \nATOM   1046  C   LYS B   4      23.831 -15.659  59.804  1.00 10.36           C  \nATOM   1047  O   LYS B   4      23.870 -16.522  58.933  1.00 10.86           O  \nATOM   1048  CB  LYS B   4      22.316 -16.761  61.471  1.00 16.58           C  \nATOM   1049  CG  LYS B   4      21.093 -15.942  61.128  1.00 16.48           C  \nATOM   1050  CD  LYS B   4      19.882 -16.859  61.028  1.00 21.17           C  \nATOM   1051  CE  LYS B   4      18.595 -16.085  60.822  1.00 27.98           C  \nATOM   1052  NZ  LYS B   4      18.247 -15.263  62.014  1.00 29.87           N  \nATOM   1053  N   ASN B   5      23.921 -14.359  59.523  1.00  8.93           N  \nATOM   1054  CA  ASN B   5      24.134 -13.899  58.150  1.00  8.93           C  \nATOM   1055  C   ASN B   5      24.842 -12.553  58.160  1.00  8.91           C  \nATOM   1056  O   ASN B   5      24.222 -11.500  58.322  1.00 10.65           O  \nATOM   1057  CB  ASN B   5      22.820 -13.791  57.372  1.00 11.88           C  \nATOM   1058  CG  ASN B   5      23.049 -13.491  55.898  1.00 13.66           C  \nATOM   1059  OD1 ASN B   5      24.105 -13.815  55.347  1.00 19.21           O  \nATOM   1060  ND2 ASN B   5      22.060 -12.887  55.250  1.00 22.41           N  \nATOM   1061  N   ILE B   6      26.152 -12.612  57.965  1.00  8.00           N  \nATOM   1062  CA  ILE B   6      27.003 -11.433  57.994  1.00  9.10           C  \nATOM   1063  C   ILE B   6      27.177 -10.713  56.666  1.00  8.01           C  \nATOM   1064  O   ILE B   6      27.518 -11.327  55.654  1.00  9.10           O  \nATOM   1065  CB  ILE B   6      28.416 -11.809  58.500  1.00  9.03           C  \nATOM   1066  CG1 ILE B   6      28.320 -12.480  59.874  1.00  9.90           C  \nATOM   1067  CG2 ILE B   6      29.303 -10.572  58.544  1.00 10.80           C  \nATOM   1068  CD1 ILE B   6      27.770 -11.591  60.966  1.00  9.93           C  \nATOM   1069  N   LEU B   7      26.941  -9.405  56.678  1.00  8.14           N  \nATOM   1070  CA  LEU B   7      27.147  -8.591  55.489  1.00  6.09           C  \nATOM   1071  C   LEU B   7      28.588  -8.124  55.596  1.00  6.79           C  \nATOM   1072  O   LEU B   7      28.950  -7.434  56.551  1.00  7.97           O  \nATOM   1073  CB  LEU B   7      26.225  -7.367  55.478  1.00  7.81           C  \nATOM   1074  CG  LEU B   7      26.529  -6.349  54.369  1.00  8.36           C  \nATOM   1075  CD1 LEU B   7      26.304  -6.988  53.002  1.00  9.26           C  \nATOM   1076  CD2 LEU B   7      25.638  -5.118  54.545  1.00  7.47           C  \nATOM   1077  N   THR B   8      29.417  -8.518  54.635  1.00  6.69           N  \nATOM   1078  CA  THR B   8      30.821  -8.123  54.639  1.00  7.81           C  \nATOM   1079  C   THR B   8      31.088  -7.181  53.468  1.00  6.38           C  \nATOM   1080  O   THR B   8      30.726  -7.481  52.328  1.00  6.46           O  \nATOM   1081  CB  THR B   8      31.759  -9.352  54.501  1.00 10.09           C  \nATOM   1082  OG1 THR B   8      31.631 -10.194  55.656  1.00  7.20           O  \nATOM   1083  CG2 THR B   8      33.214  -8.901  54.370  1.00  8.79           C  \nATOM   1084  N   LEU B   9      31.706  -6.039  53.757  1.00  4.35           N  \nATOM   1085  CA  LEU B   9      32.043  -5.062  52.729  1.00  5.78           C  \nATOM   1086  C   LEU B   9      33.558  -4.900  52.689  1.00  6.78           C  \nATOM   1087  O   LEU B   9      34.209  -4.773  53.731  1.00  6.68           O  \nATOM   1088  CB  LEU B   9      31.407  -3.701  53.039  1.00  6.10           C  \nATOM   1089  CG  LEU B   9      29.928  -3.657  53.430  1.00  6.69           C  \nATOM   1090  CD1 LEU B   9      29.491  -2.202  53.589  1.00  7.98           C  \nATOM   1091  CD2 LEU B   9      29.087  -4.351  52.367  1.00  8.90           C  \nATOM   1092  N   ILE B  10      34.125  -4.911  51.490  1.00  5.68           N  \nATOM   1093  CA  ILE B  10      35.562  -4.744  51.369  1.00  6.72           C  \nATOM   1094  C   ILE B  10      35.965  -4.002  50.110  1.00  7.62           C  \nATOM   1095  O   ILE B  10      35.402  -4.206  49.037  1.00  5.59           O  \nATOM   1096  CB  ILE B  10      36.308  -6.109  51.406  1.00  6.91           C  \nATOM   1097  CG1 ILE B  10      37.820  -5.882  51.274  1.00  7.02           C  \nATOM   1098  CG2 ILE B  10      35.802  -7.021  50.297  1.00  6.03           C  \nATOM   1099  CD1 ILE B  10      38.662  -7.130  51.515  1.00  8.43           C  \nATOM   1100  N   SER B  11      36.934  -3.110  50.267  1.00  7.10           N  \nATOM   1101  CA  SER B  11      37.476  -2.363  49.148  1.00  6.62           C  \nATOM   1102  C   SER B  11      38.942  -2.164  49.466  1.00  8.26           C  \nATOM   1103  O   SER B  11      39.288  -1.400  50.368  1.00  7.92           O  \nATOM   1104  CB  SER B  11      36.790  -1.008  48.984  1.00  6.11           C  \nATOM   1105  OG  SER B  11      37.256  -0.365  47.808  1.00  9.34           O  \nATOM   1106  N   VAL B  12      39.792  -2.885  48.742  1.00  7.09           N  \nATOM   1107  CA  VAL B  12      41.239  -2.801  48.918  1.00 10.34           C  \nATOM   1108  C   VAL B  12      41.924  -2.927  47.557  1.00 12.03           C  \nATOM   1109  O   VAL B  12      41.310  -3.347  46.576  1.00 10.61           O  \nATOM   1110  CB  VAL B  12      41.782  -3.938  49.832  1.00 10.18           C  \nATOM   1111  CG1 VAL B  12      41.208  -3.817  51.237  1.00  7.55           C  \nATOM   1112  CG2 VAL B  12      41.446  -5.301  49.234  1.00 11.44           C  \nATOM   1113  N   ASN B  13      43.197  -2.553  47.500  1.00 11.33           N  \nATOM   1114  CA  ASN B  13      43.973  -2.680  46.275  1.00 11.60           C  \nATOM   1115  C   ASN B  13      44.161  -4.169  46.021  1.00 10.16           C  \nATOM   1116  O   ASN B  13      44.092  -4.971  46.953  1.00 11.25           O  \nATOM   1117  CB  ASN B  13      45.327  -1.996  46.446  1.00 14.31           C  \nATOM   1118  CG  ASN B  13      45.205  -0.496  46.587  1.00 19.40           C  \nATOM   1119  OD1 ASN B  13      46.076   0.158  47.157  1.00 27.47           O  \nATOM   1120  ND2 ASN B  13      44.121   0.060  46.054  1.00 20.72           N  \nATOM   1121  N   ASN B  14      44.410  -4.534  44.769  1.00 10.10           N  \nATOM   1122  CA  ASN B  14      44.581  -5.938  44.400  1.00 11.06           C  \nATOM   1123  C   ASN B  14      45.570  -6.732  45.250  1.00 10.81           C  \nATOM   1124  O   ASN B  14      45.307  -7.888  45.580  1.00 10.95           O  \nATOM   1125  CB  ASN B  14      44.995  -6.057  42.930  1.00 10.61           C  \nATOM   1126  CG  ASN B  14      43.954  -5.496  41.982  1.00 15.18           C  \nATOM   1127  OD1 ASN B  14      42.782  -5.372  42.330  1.00 14.69           O  \nATOM   1128  ND2 ASN B  14      44.378  -5.164  40.769  1.00 19.56           N  \nATOM   1129  N   ASP B  15      46.702  -6.125  45.602  1.00 10.94           N  \nATOM   1130  CA  ASP B  15      47.705  -6.838  46.383  1.00 10.98           C  \nATOM   1131  C   ASP B  15      47.330  -7.096  47.836  1.00 10.19           C  \nATOM   1132  O   ASP B  15      48.071  -7.759  48.557  1.00 10.38           O  \nATOM   1133  CB  ASP B  15      49.065  -6.124  46.325  1.00 14.95           C  \nATOM   1134  CG  ASP B  15      49.000  -4.684  46.787  1.00 21.05           C  \nATOM   1135  OD1 ASP B  15      48.229  -4.376  47.719  1.00 22.00           O  \nATOM   1136  OD2 ASP B  15      49.746  -3.853  46.223  1.00 30.99           O  \nATOM   1137  N   ASN B  16      46.183  -6.581  48.267  1.00 11.48           N  \nATOM   1138  CA  ASN B  16      45.732  -6.790  49.641  1.00  7.76           C  \nATOM   1139  C   ASN B  16      44.579  -7.784  49.751  1.00  8.08           C  \nATOM   1140  O   ASN B  16      44.177  -8.141  50.855  1.00  8.44           O  \nATOM   1141  CB  ASN B  16      45.291  -5.466  50.279  1.00 10.28           C  \nATOM   1142  CG  ASN B  16      46.462  -4.627  50.763  1.00 15.33           C  \nATOM   1143  OD1 ASN B  16      47.456  -5.156  51.263  1.00 15.34           O  \nATOM   1144  ND2 ASN B  16      46.339  -3.308  50.640  1.00 12.76           N  \nATOM   1145  N   PHE B  17      44.050  -8.238  48.619  1.00  7.20           N  \nATOM   1146  CA  PHE B  17      42.923  -9.167  48.655  1.00  8.00           C  \nATOM   1147  C   PHE B  17      43.147 -10.464  49.434  1.00  8.33           C  \nATOM   1148  O   PHE B  17      42.342 -10.807  50.296  1.00  7.68           O  \nATOM   1149  CB  PHE B  17      42.446  -9.503  47.237  1.00  9.52           C  \nATOM   1150  CG  PHE B  17      41.524  -8.472  46.637  1.00  8.82           C  \nATOM   1151  CD1 PHE B  17      40.442  -7.979  47.362  1.00  9.39           C  \nATOM   1152  CD2 PHE B  17      41.709  -8.030  45.330  1.00  9.79           C  \nATOM   1153  CE1 PHE B  17      39.554  -7.063  46.793  1.00 11.35           C  \nATOM   1154  CE2 PHE B  17      40.827  -7.116  44.753  1.00  9.80           C  \nATOM   1155  CZ  PHE B  17      39.746  -6.631  45.487  1.00 12.77           C  \nATOM   1156  N   GLU B  18      44.218 -11.194  49.136  1.00  8.33           N  \nATOM   1157  CA  GLU B  18      44.467 -12.456  49.833  1.00  9.72           C  \nATOM   1158  C   GLU B  18      44.568 -12.297  51.348  1.00  6.59           C  \nATOM   1159  O   GLU B  18      43.893 -13.004  52.094  1.00  7.10           O  \nATOM   1160  CB  GLU B  18      45.735 -13.128  49.290  1.00  9.13           C  \nATOM   1161  CG  GLU B  18      46.238 -14.336  50.100  1.00  9.85           C  \nATOM   1162  CD  GLU B  18      45.206 -15.448  50.289  1.00  8.42           C  \nATOM   1163  OE1 GLU B  18      44.234 -15.524  49.511  1.00  9.56           O  \nATOM   1164  OE2 GLU B  18      45.382 -16.271  51.218  1.00  8.00           O  \nATOM   1165  N   ASN B  19      45.401 -11.369  51.806  1.00  9.24           N  \nATOM   1166  CA  ASN B  19      45.557 -11.164  53.242  1.00  9.87           C  \nATOM   1167  C   ASN B  19      44.248 -10.732  53.898  1.00  8.85           C  \nATOM   1168  O   ASN B  19      43.897 -11.222  54.976  1.00  8.14           O  \nATOM   1169  CB  ASN B  19      46.644 -10.121  53.523  1.00 14.61           C  \nATOM   1170  CG  ASN B  19      48.006 -10.540  52.996  1.00 22.00           C  \nATOM   1171  OD1 ASN B  19      48.394 -11.704  53.106  1.00 25.40           O  \nATOM   1172  ND2 ASN B  19      48.743  -9.590  52.434  1.00 24.63           N  \nATOM   1173  N   TYR B  20      43.531  -9.813  53.257  1.00  8.18           N  \nATOM   1174  CA  TYR B  20      42.266  -9.340  53.804  1.00  8.95           C  \nATOM   1175  C   TYR B  20      41.182 -10.413  53.812  1.00  6.99           C  \nATOM   1176  O   TYR B  20      40.396 -10.486  54.756  1.00  6.01           O  \nATOM   1177  CB  TYR B  20      41.754  -8.112  53.038  1.00  7.13           C  \nATOM   1178  CG  TYR B  20      42.236  -6.785  53.592  1.00 10.34           C  \nATOM   1179  CD1 TYR B  20      43.548  -6.365  53.404  1.00 10.74           C  \nATOM   1180  CD2 TYR B  20      41.368  -5.940  54.287  1.00  8.51           C  \nATOM   1181  CE1 TYR B  20      43.987  -5.135  53.886  1.00 12.05           C  \nATOM   1182  CE2 TYR B  20      41.797  -4.704  54.778  1.00 10.80           C  \nATOM   1183  CZ  TYR B  20      43.110  -4.309  54.569  1.00  8.47           C  \nATOM   1184  OH  TYR B  20      43.553  -3.083  55.017  1.00  8.55           O  \nATOM   1185  N   PHE B  21      41.125 -11.248  52.780  1.00  5.65           N  \nATOM   1186  CA  PHE B  21      40.097 -12.284  52.766  1.00  7.22           C  \nATOM   1187  C   PHE B  21      40.299 -13.326  53.856  1.00  6.90           C  \nATOM   1188  O   PHE B  21      39.324 -13.832  54.410  1.00  8.49           O  \nATOM   1189  CB  PHE B  21      39.983 -12.952  51.392  1.00  5.51           C  \nATOM   1190  CG  PHE B  21      38.875 -12.384  50.547  1.00  7.65           C  \nATOM   1191  CD1 PHE B  21      39.053 -11.194  49.852  1.00  6.57           C  \nATOM   1192  CD2 PHE B  21      37.629 -13.008  50.502  1.00  8.14           C  \nATOM   1193  CE1 PHE B  21      38.005 -10.630  49.123  1.00  8.19           C  \nATOM   1194  CE2 PHE B  21      36.577 -12.451  49.778  1.00  7.92           C  \nATOM   1195  CZ  PHE B  21      36.765 -11.262  49.089  1.00  7.63           C  \nATOM   1196  N   ARG B  22      41.545 -13.654  54.184  1.00  8.64           N  \nATOM   1197  CA  ARG B  22      41.753 -14.615  55.260  1.00  7.68           C  \nATOM   1198  C   ARG B  22      41.218 -13.986  56.546  1.00  9.23           C  \nATOM   1199  O   ARG B  22      40.626 -14.672  57.380  1.00  9.14           O  \nATOM   1200  CB  ARG B  22      43.234 -14.984  55.408  1.00  9.83           C  \nATOM   1201  CG  ARG B  22      43.737 -15.893  54.292  1.00 10.47           C  \nATOM   1202  CD  ARG B  22      45.028 -16.626  54.665  1.00 13.14           C  \nATOM   1203  NE  ARG B  22      46.093 -15.705  55.047  1.00 13.85           N  \nATOM   1204  CZ  ARG B  22      46.393 -15.381  56.301  1.00 16.65           C  \nATOM   1205  NH1 ARG B  22      47.374 -14.525  56.546  1.00 19.74           N  \nATOM   1206  NH2 ARG B  22      45.724 -15.926  57.310  1.00 16.23           N  \nATOM   1207  N   LYS B  23      41.398 -12.673  56.692  1.00  7.74           N  \nATOM   1208  CA  LYS B  23      40.906 -11.974  57.875  1.00  7.68           C  \nATOM   1209  C   LYS B  23      39.377 -11.989  57.872  1.00  5.61           C  \nATOM   1210  O   LYS B  23      38.747 -12.230  58.905  1.00  7.57           O  \nATOM   1211  CB  LYS B  23      41.417 -10.528  57.899  1.00  9.24           C  \nATOM   1212  CG  LYS B  23      41.097  -9.790  59.192  1.00 11.93           C  \nATOM   1213  CD  LYS B  23      41.651  -8.368  59.170  1.00 14.74           C  \nATOM   1214  CE  LYS B  23      41.414  -7.664  60.495  1.00 14.38           C  \nATOM   1215  NZ  LYS B  23      42.184  -8.300  61.608  1.00 14.94           N  \nATOM   1216  N   ILE B  24      38.780 -11.740  56.710  1.00  5.67           N  \nATOM   1217  CA  ILE B  24      37.320 -11.754  56.607  1.00  7.29           C  \nATOM   1218  C   ILE B  24      36.753 -13.062  57.160  1.00  6.15           C  \nATOM   1219  O   ILE B  24      35.866 -13.060  58.012  1.00  5.44           O  \nATOM   1220  CB  ILE B  24      36.851 -11.614  55.145  1.00  7.36           C  \nATOM   1221  CG1 ILE B  24      37.094 -10.182  54.655  1.00  8.85           C  \nATOM   1222  CG2 ILE B  24      35.367 -11.981  55.032  1.00  6.64           C  \nATOM   1223  CD1 ILE B  24      36.766  -9.965  53.187  1.00 10.23           C  \nATOM   1224  N   PHE B  25      37.273 -14.181  56.675  1.00  7.30           N  \nATOM   1225  CA  PHE B  25      36.786 -15.477  57.122  1.00  6.63           C  \nATOM   1226  C   PHE B  25      37.036 -15.736  58.600  1.00  6.31           C  \nATOM   1227  O   PHE B  25      36.211 -16.363  59.267  1.00  8.06           O  \nATOM   1228  CB  PHE B  25      37.379 -16.585  56.248  1.00  6.24           C  \nATOM   1229  CG  PHE B  25      36.784 -16.631  54.864  1.00  7.17           C  \nATOM   1230  CD1 PHE B  25      35.424 -16.880  54.690  1.00 10.68           C  \nATOM   1231  CD2 PHE B  25      37.574 -16.405  53.740  1.00  8.30           C  \nATOM   1232  CE1 PHE B  25      34.854 -16.902  53.414  1.00  9.57           C  \nATOM   1233  CE2 PHE B  25      37.018 -16.424  52.459  1.00  9.90           C  \nATOM   1234  CZ  PHE B  25      35.653 -16.674  52.295  1.00  9.39           C  \nATOM   1235  N   LEU B  26      38.160 -15.256  59.125  1.00  6.24           N  \nATOM   1236  CA  LEU B  26      38.429 -15.438  60.548  1.00  7.07           C  \nATOM   1237  C   LEU B  26      37.368 -14.669  61.341  1.00  8.61           C  \nATOM   1238  O   LEU B  26      36.790 -15.187  62.301  1.00  5.92           O  \nATOM   1239  CB  LEU B  26      39.826 -14.922  60.903  1.00  9.61           C  \nATOM   1240  CG  LEU B  26      40.979 -15.783  60.382  1.00 11.99           C  \nATOM   1241  CD1 LEU B  26      42.318 -15.135  60.716  1.00 15.65           C  \nATOM   1242  CD2 LEU B  26      40.888 -17.159  61.010  1.00 15.48           C  \nATOM   1243  N   ASP B  27      37.096 -13.436  60.929  1.00  8.13           N  \nATOM   1244  CA  ASP B  27      36.103 -12.634  61.626  1.00  7.07           C  \nATOM   1245  C   ASP B  27      34.694 -13.209  61.508  1.00  7.64           C  \nATOM   1246  O   ASP B  27      33.921 -13.169  62.470  1.00  7.91           O  \nATOM   1247  CB  ASP B  27      36.155 -11.187  61.136  1.00  7.16           C  \nATOM   1248  CG  ASP B  27      37.445 -10.494  61.533  1.00 11.83           C  \nATOM   1249  OD1 ASP B  27      38.008 -10.859  62.590  1.00 13.94           O  \nATOM   1250  OD2 ASP B  27      37.894  -9.586  60.805  1.00  9.25           O  \nATOM   1251  N   VAL B  28      34.356 -13.751  60.342  1.00  7.89           N  \nATOM   1252  CA  VAL B  28      33.037 -14.357  60.160  1.00  7.06           C  \nATOM   1253  C   VAL B  28      32.926 -15.562  61.097  1.00  9.16           C  \nATOM   1254  O   VAL B  28      31.903 -15.760  61.754  1.00  7.46           O  \nATOM   1255  CB  VAL B  28      32.816 -14.809  58.693  1.00  6.73           C  \nATOM   1256  CG1 VAL B  28      31.580 -15.694  58.589  1.00  7.73           C  \nATOM   1257  CG2 VAL B  28      32.634 -13.586  57.804  1.00  7.11           C  \nATOM   1258  N   ARG B  29      33.987 -16.359  61.174  1.00  8.79           N  \nATOM   1259  CA  ARG B  29      33.973 -17.523  62.054  1.00  7.46           C  \nATOM   1260  C   ARG B  29      33.776 -17.098  63.509  1.00  8.15           C  \nATOM   1261  O   ARG B  29      33.002 -17.712  64.242  1.00  9.77           O  \nATOM   1262  CB  ARG B  29      35.277 -18.318  61.898  1.00  8.24           C  \nATOM   1263  CG  ARG B  29      35.368 -19.078  60.575  1.00  9.41           C  \nATOM   1264  CD  ARG B  29      36.749 -19.682  60.375  1.00  8.70           C  \nATOM   1265  NE  ARG B  29      36.866 -20.456  59.139  1.00  8.62           N  \nATOM   1266  CZ  ARG B  29      36.483 -21.722  59.003  1.00  8.78           C  \nATOM   1267  NH1 ARG B  29      35.950 -22.369  60.030  1.00  9.82           N  \nATOM   1268  NH2 ARG B  29      36.656 -22.349  57.843  1.00  7.70           N  \nATOM   1269  N   SER B  30      34.465 -16.037  63.918  1.00  8.47           N  \nATOM   1270  CA  SER B  30      34.359 -15.538  65.287  1.00  8.70           C  \nATOM   1271  C   SER B  30      32.961 -15.039  65.643  1.00 11.97           C  \nATOM   1272  O   SER B  30      32.552 -15.105  66.807  1.00 10.24           O  \nATOM   1273  CB  SER B  30      35.365 -14.405  65.520  1.00 10.41           C  \nATOM   1274  OG  SER B  30      36.696 -14.894  65.528  1.00 11.54           O  \nATOM   1275  N   SER B  31      32.233 -14.544  64.644  1.00  9.60           N  \nATOM   1276  CA  SER B  31      30.889 -14.011  64.854  1.00 10.45           C  \nATOM   1277  C   SER B  31      29.856 -15.081  65.192  1.00 14.38           C  \nATOM   1278  O   SER B  31      28.767 -14.765  65.677  1.00 12.30           O  \nATOM   1279  CB  SER B  31      30.422 -13.255  63.607  1.00 11.04           C  \nATOM   1280  OG  SER B  31      30.032 -14.161  62.589  1.00 12.20           O  \nATOM   1281  N   GLY B  32      30.193 -16.340  64.928  1.00 10.52           N  \nATOM   1282  CA  GLY B  32      29.270 -17.425  65.206  1.00 11.98           C  \nATOM   1283  C   GLY B  32      28.446 -17.773  63.980  1.00 13.86           C  \nATOM   1284  O   GLY B  32      27.744 -18.785  63.947  1.00 12.72           O  \nATOM   1285  N   SER B  33      28.535 -16.928  62.959  1.00 10.25           N  \nATOM   1286  CA  SER B  33      27.795 -17.154  61.730  1.00 10.12           C  \nATOM   1287  C   SER B  33      28.492 -18.175  60.842  1.00 13.27           C  \nATOM   1288  O   SER B  33      29.716 -18.303  60.857  1.00 14.12           O  \nATOM   1289  CB  SER B  33      27.634 -15.844  60.953  1.00 11.43           C  \nATOM   1290  OG  SER B  33      26.877 -16.052  59.770  1.00  9.60           O  \nATOM   1291  N   LYS B  34      27.692 -18.904  60.075  1.00 12.90           N  \nATOM   1292  CA  LYS B  34      28.201 -19.903  59.151  1.00 16.28           C  \nATOM   1293  C   LYS B  34      28.040 -19.350  57.738  1.00 15.90           C  \nATOM   1294  O   LYS B  34      28.468 -19.973  56.766  1.00 17.22           O  \nATOM   1295  CB  LYS B  34      27.387 -21.195  59.265  1.00 20.08           C  \nATOM   1296  CG  LYS B  34      27.424 -21.879  60.621  1.00 26.09           C  \nATOM   1297  CD  LYS B  34      28.788 -22.475  60.911  1.00 34.94           C  \nATOM   1298  CE  LYS B  34      28.685 -23.580  61.956  1.00 40.70           C  \nATOM   1299  NZ  LYS B  34      27.976 -23.125  63.184  1.00 42.62           N  \nATOM   1300  N   LYS B  35      27.418 -18.177  57.635  1.00 15.00           N  \nATOM   1301  CA  LYS B  35      27.156 -17.559  56.339  1.00 11.11           C  \nATOM   1302  C   LYS B  35      27.487 -16.076  56.267  1.00 10.39           C  \nATOM   1303  O   LYS B  35      27.381 -15.347  57.255  1.00 11.24           O  \nATOM   1304  CB  LYS B  35      25.683 -17.740  55.977  1.00 15.77           C  \nATOM   1305  CG  LYS B  35      25.189 -19.176  56.068  1.00 20.51           C  \nATOM   1306  CD  LYS B  35      23.718 -19.269  55.693  1.00 27.36           C  \nATOM   1307  CE  LYS B  35      23.207 -20.698  55.805  1.00 30.29           C  \nATOM   1308  NZ  LYS B  35      21.767 -20.799  55.436  1.00 32.88           N  \nATOM   1309  N   THR B  36      27.878 -15.635  55.080  1.00  9.45           N  \nATOM   1310  CA  THR B  36      28.195 -14.235  54.860  1.00  6.93           C  \nATOM   1311  C   THR B  36      28.056 -13.890  53.388  1.00  9.04           C  \nATOM   1312  O   THR B  36      28.339 -14.711  52.515  1.00  8.55           O  \nATOM   1313  CB  THR B  36      29.639 -13.890  55.312  1.00  8.94           C  \nATOM   1314  OG1 THR B  36      29.877 -12.488  55.108  1.00  7.64           O  \nATOM   1315  CG2 THR B  36      30.668 -14.686  54.509  1.00  8.11           C  \nATOM   1316  N   THR B  37      27.575 -12.685  53.116  1.00  6.55           N  \nATOM   1317  CA  THR B  37      27.456 -12.220  51.747  1.00  7.22           C  \nATOM   1318  C   THR B  37      28.550 -11.157  51.653  1.00  8.96           C  \nATOM   1319  O   THR B  37      28.499 -10.132  52.332  1.00 10.00           O  \nATOM   1320  CB  THR B  37      26.045 -11.642  51.461  1.00  9.54           C  \nATOM   1321  OG1 THR B  37      26.030 -11.052  50.157  1.00 19.34           O  \nATOM   1322  CG2 THR B  37      25.651 -10.610  52.505  1.00 10.53           C  \nATOM   1323  N   ILE B  38      29.562 -11.441  50.837  1.00  8.16           N  \nATOM   1324  CA  ILE B  38      30.718 -10.567  50.672  1.00  8.94           C  \nATOM   1325  C   ILE B  38      30.612  -9.660  49.451  1.00 10.05           C  \nATOM   1326  O   ILE B  38      30.499 -10.126  48.319  1.00  9.73           O  \nATOM   1327  CB  ILE B  38      32.004 -11.415  50.574  1.00  7.92           C  \nATOM   1328  CG1 ILE B  38      32.062 -12.379  51.763  1.00  9.45           C  \nATOM   1329  CG2 ILE B  38      33.238 -10.515  50.565  1.00  8.79           C  \nATOM   1330  CD1 ILE B  38      33.220 -13.372  51.715  1.00  7.50           C  \nATOM   1331  N   ASN B  39      30.662  -8.357  49.696  1.00  6.83           N  \nATOM   1332  CA  ASN B  39      30.555  -7.375  48.632  1.00  7.60           C  \nATOM   1333  C   ASN B  39      31.892  -6.676  48.469  1.00  7.50           C  \nATOM   1334  O   ASN B  39      32.391  -6.020  49.387  1.00  7.74           O  \nATOM   1335  CB  ASN B  39      29.431  -6.397  48.972  1.00  6.86           C  \nATOM   1336  CG  ASN B  39      28.067  -7.076  48.974  1.00  9.10           C  \nATOM   1337  OD1 ASN B  39      27.369  -7.091  47.962  1.00  8.69           O  \nATOM   1338  ND2 ASN B  39      27.695  -7.661  50.108  1.00  7.52           N  \nATOM   1339  N   VAL B  40      32.458  -6.839  47.279  1.00  7.15           N  \nATOM   1340  CA  VAL B  40      33.767  -6.311  46.936  1.00  7.12           C  \nATOM   1341  C   VAL B  40      33.661  -5.146  45.967  1.00  5.32           C  \nATOM   1342  O   VAL B  40      33.176  -5.295  44.850  1.00  7.18           O  \nATOM   1343  CB  VAL B  40      34.619  -7.420  46.298  1.00  7.37           C  \nATOM   1344  CG1 VAL B  40      36.071  -6.974  46.193  1.00  8.05           C  \nATOM   1345  CG2 VAL B  40      34.495  -8.707  47.128  1.00  8.26           C  \nATOM   1346  N   PHE B  41      34.125  -3.985  46.407  1.00  6.40           N  \nATOM   1347  CA  PHE B  41      34.074  -2.781  45.595  1.00  7.08           C  \nATOM   1348  C   PHE B  41      35.436  -2.650  44.936  1.00  8.59           C  \nATOM   1349  O   PHE B  41      36.407  -2.182  45.533  1.00  9.38           O  \nATOM   1350  CB  PHE B  41      33.711  -1.605  46.501  1.00  7.78           C  \nATOM   1351  CG  PHE B  41      32.379  -1.790  47.188  1.00  6.03           C  \nATOM   1352  CD1 PHE B  41      31.199  -1.394  46.565  1.00  7.43           C  \nATOM   1353  CD2 PHE B  41      32.299  -2.440  48.419  1.00  9.83           C  \nATOM   1354  CE1 PHE B  41      29.961  -1.645  47.155  1.00  7.05           C  \nATOM   1355  CE2 PHE B  41      31.067  -2.696  49.017  1.00  6.67           C  \nATOM   1356  CZ  PHE B  41      29.894  -2.297  48.381  1.00  8.89           C  \nATOM   1357  N   THR B  42      35.482  -3.107  43.690  1.00  7.50           N  \nATOM   1358  CA  THR B  42      36.710  -3.151  42.912  1.00  8.15           C  \nATOM   1359  C   THR B  42      36.402  -3.075  41.421  1.00  9.00           C  \nATOM   1360  O   THR B  42      35.268  -3.300  40.997  1.00  9.92           O  \nATOM   1361  CB  THR B  42      37.437  -4.487  43.196  1.00  8.93           C  \nATOM   1362  OG1 THR B  42      38.652  -4.557  42.448  1.00 10.65           O  \nATOM   1363  CG2 THR B  42      36.541  -5.666  42.806  1.00 11.87           C  \nATOM   1364  N   GLU B  43      37.422  -2.775  40.624  1.00 10.57           N  \nATOM   1365  CA  GLU B  43      37.249  -2.693  39.181  1.00 12.53           C  \nATOM   1366  C   GLU B  43      37.648  -3.989  38.483  1.00 14.07           C  \nATOM   1367  O   GLU B  43      37.383  -4.157  37.293  1.00 16.11           O  \nATOM   1368  CB  GLU B  43      38.075  -1.536  38.611  1.00 16.12           C  \nATOM   1369  CG  GLU B  43      37.726  -0.181  39.197  1.00 15.81           C  \nATOM   1370  CD  GLU B  43      36.268   0.189  38.986  1.00 23.61           C  \nATOM   1371  OE1 GLU B  43      35.846   0.301  37.816  1.00 24.60           O  \nATOM   1372  OE2 GLU B  43      35.545   0.365  39.989  1.00 18.58           O  \nATOM   1373  N   ILE B  44      38.278  -4.910  39.208  1.00 14.38           N  \nATOM   1374  CA  ILE B  44      38.701  -6.163  38.588  1.00 13.44           C  \nATOM   1375  C   ILE B  44      37.572  -7.170  38.400  1.00 15.13           C  \nATOM   1376  O   ILE B  44      36.524  -7.074  39.036  1.00 15.84           O  \nATOM   1377  CB  ILE B  44      39.841  -6.843  39.375  1.00 14.02           C  \nATOM   1378  CG1 ILE B  44      39.340  -7.340  40.733  1.00 11.19           C  \nATOM   1379  CG2 ILE B  44      40.994  -5.866  39.553  1.00 16.33           C  \nATOM   1380  CD1 ILE B  44      40.359  -8.210  41.455  1.00 15.68           C  \nATOM   1381  N   GLN B  45      37.807  -8.134  37.514  1.00 16.76           N  \nATOM   1382  CA  GLN B  45      36.832  -9.174  37.202  1.00 19.24           C  \nATOM   1383  C   GLN B  45      36.789 -10.271  38.260  1.00 16.19           C  \nATOM   1384  O   GLN B  45      37.752 -10.479  38.996  1.00 14.16           O  \nATOM   1385  CB  GLN B  45      37.155  -9.808  35.845  1.00 24.48           C  \nATOM   1386  CG  GLN B  45      37.228  -8.825  34.687  1.00 36.32           C  \nATOM   1387  CD  GLN B  45      35.945  -8.039  34.503  1.00 44.19           C  \nATOM   1388  OE1 GLN B  45      35.594  -7.194  35.328  1.00 48.12           O  \nATOM   1389  NE2 GLN B  45      35.232  -8.317  33.416  1.00 48.87           N  \nATOM   1390  N   TYR B  46      35.667 -10.979  38.312  1.00 14.44           N  \nATOM   1391  CA  TYR B  46      35.469 -12.063  39.267  1.00 15.86           C  \nATOM   1392  C   TYR B  46      36.586 -13.102  39.193  1.00 15.61           C  \nATOM   1393  O   TYR B  46      37.147 -13.498  40.215  1.00 13.79           O  \nATOM   1394  CB  TYR B  46      34.119 -12.740  39.004  1.00 18.12           C  \nATOM   1395  CG  TYR B  46      33.872 -13.978  39.836  1.00 21.54           C  \nATOM   1396  CD1 TYR B  46      33.393 -13.885  41.142  1.00 25.49           C  \nATOM   1397  CD2 TYR B  46      34.141 -15.242  39.324  1.00 25.07           C  \nATOM   1398  CE1 TYR B  46      33.190 -15.030  41.917  1.00 27.73           C  \nATOM   1399  CE2 TYR B  46      33.944 -16.387  40.088  1.00 28.82           C  \nATOM   1400  CZ  TYR B  46      33.470 -16.274  41.381  1.00 26.16           C  \nATOM   1401  OH  TYR B  46      33.292 -17.410  42.136  1.00 35.66           O  \nATOM   1402  N   GLN B  47      36.904 -13.545  37.980  1.00 14.94           N  \nATOM   1403  CA  GLN B  47      37.942 -14.550  37.785  1.00 16.78           C  \nATOM   1404  C   GLN B  47      39.307 -14.112  38.297  1.00 13.48           C  \nATOM   1405  O   GLN B  47      40.060 -14.923  38.834  1.00 14.27           O  \nATOM   1406  CB  GLN B  47      38.049 -14.931  36.306  1.00 22.36           C  \nATOM   1407  CG  GLN B  47      36.854 -15.712  35.777  1.00 35.45           C  \nATOM   1408  CD  GLN B  47      36.478 -16.881  36.668  1.00 40.51           C  \nATOM   1409  OE1 GLN B  47      37.328 -17.687  37.049  1.00 47.75           O  \nATOM   1410  NE2 GLN B  47      35.195 -16.982  37.001  1.00 44.08           N  \nATOM   1411  N   GLU B  48      39.635 -12.835  38.127  1.00 14.84           N  \nATOM   1412  CA  GLU B  48      40.919 -12.340  38.598  1.00 15.28           C  \nATOM   1413  C   GLU B  48      40.953 -12.332  40.122  1.00 11.23           C  \nATOM   1414  O   GLU B  48      41.966 -12.685  40.728  1.00 12.95           O  \nATOM   1415  CB  GLU B  48      41.194 -10.929  38.068  1.00 19.97           C  \nATOM   1416  CG  GLU B  48      42.401 -10.274  38.728  1.00 27.02           C  \nATOM   1417  CD  GLU B  48      42.936  -9.080  37.961  1.00 35.49           C  \nATOM   1418  OE1 GLU B  48      42.132  -8.218  37.548  1.00 40.04           O  \nATOM   1419  OE2 GLU B  48      44.169  -8.997  37.783  1.00 40.61           O  \nATOM   1420  N   LEU B  49      39.846 -11.926  40.736  1.00 11.02           N  \nATOM   1421  CA  LEU B  49      39.762 -11.885  42.193  1.00 11.31           C  \nATOM   1422  C   LEU B  49      39.961 -13.280  42.770  1.00 10.26           C  \nATOM   1423  O   LEU B  49      40.787 -13.481  43.656  1.00  9.70           O  \nATOM   1424  CB  LEU B  49      38.404 -11.336  42.644  1.00 10.72           C  \nATOM   1425  CG  LEU B  49      38.112 -11.444  44.146  1.00 11.65           C  \nATOM   1426  CD1 LEU B  49      39.136 -10.645  44.939  1.00 10.78           C  \nATOM   1427  CD2 LEU B  49      36.704 -10.938  44.434  1.00 11.81           C  \nATOM   1428  N   VAL B  50      39.202 -14.244  42.261  1.00 10.32           N  \nATOM   1429  CA  VAL B  50      39.306 -15.613  42.748  1.00 10.38           C  \nATOM   1430  C   VAL B  50      40.726 -16.154  42.600  1.00 10.88           C  \nATOM   1431  O   VAL B  50      41.206 -16.896  43.455  1.00 13.41           O  \nATOM   1432  CB  VAL B  50      38.310 -16.535  42.016  1.00 13.49           C  \nATOM   1433  CG1 VAL B  50      38.539 -17.985  42.420  1.00 17.72           C  \nATOM   1434  CG2 VAL B  50      36.884 -16.117  42.361  1.00 15.41           C  \nATOM   1435  N   THR B  51      41.407 -15.783  41.523  1.00 11.07           N  \nATOM   1436  CA  THR B  51      42.776 -16.248  41.341  1.00 10.86           C  \nATOM   1437  C   THR B  51      43.654 -15.720  42.478  1.00 11.23           C  \nATOM   1438  O   THR B  51      44.450 -16.459  43.060  1.00 10.30           O  \nATOM   1439  CB  THR B  51      43.347 -15.788  39.984  1.00 12.39           C  \nATOM   1440  OG1 THR B  51      42.631 -16.439  38.926  1.00 15.79           O  \nATOM   1441  CG2 THR B  51      44.827 -16.145  39.877  1.00 18.33           C  \nATOM   1442  N   LEU B  52      43.487 -14.445  42.810  1.00  9.34           N  \nATOM   1443  CA  LEU B  52      44.268 -13.828  43.879  1.00  9.57           C  \nATOM   1444  C   LEU B  52      43.998 -14.404  45.271  1.00 11.04           C  \nATOM   1445  O   LEU B  52      44.922 -14.555  46.074  1.00  9.13           O  \nATOM   1446  CB  LEU B  52      44.007 -12.317  43.913  1.00 10.77           C  \nATOM   1447  CG  LEU B  52      44.517 -11.502  42.726  1.00 12.17           C  \nATOM   1448  CD1 LEU B  52      43.986 -10.074  42.826  1.00  9.44           C  \nATOM   1449  CD2 LEU B  52      46.042 -11.518  42.710  1.00 12.47           C  \nATOM   1450  N   ILE B  53      42.737 -14.722  45.555  1.00  9.03           N  \nATOM   1451  CA  ILE B  53      42.364 -15.239  46.870  1.00  7.73           C  \nATOM   1452  C   ILE B  53      42.152 -16.749  46.942  1.00  7.93           C  \nATOM   1453  O   ILE B  53      41.464 -17.244  47.836  1.00  8.40           O  \nATOM   1454  CB  ILE B  53      41.103 -14.523  47.406  1.00  5.70           C  \nATOM   1455  CG1 ILE B  53      39.873 -14.863  46.556  1.00  6.12           C  \nATOM   1456  CG2 ILE B  53      41.334 -13.011  47.401  1.00  9.05           C  \nATOM   1457  CD1 ILE B  53      38.572 -14.312  47.139  1.00  8.25           C  \nATOM   1458  N   ARG B  54      42.758 -17.477  46.014  1.00  9.29           N  \nATOM   1459  CA  ARG B  54      42.631 -18.928  45.974  1.00  9.99           C  \nATOM   1460  C   ARG B  54      42.875 -19.572  47.327  1.00  8.02           C  \nATOM   1461  O   ARG B  54      42.100 -20.417  47.756  1.00  9.00           O  \nATOM   1462  CB  ARG B  54      43.621 -19.514  44.970  1.00 10.84           C  \nATOM   1463  CG  ARG B  54      43.545 -21.034  44.825  1.00 15.54           C  \nATOM   1464  CD  ARG B  54      44.889 -21.574  44.350  1.00 25.54           C  \nATOM   1465  NE  ARG B  54      45.874 -21.548  45.431  1.00 35.40           N  \nATOM   1466  CZ  ARG B  54      45.931 -22.444  46.417  1.00 35.95           C  \nATOM   1467  NH1 ARG B  54      46.855 -22.337  47.363  1.00 34.18           N  \nATOM   1468  NH2 ARG B  54      45.084 -23.463  46.445  1.00 36.89           N  \nATOM   1469  N   GLU B  55      43.955 -19.179  48.001  1.00  7.65           N  \nATOM   1470  CA  GLU B  55      44.280 -19.755  49.306  1.00  8.27           C  \nATOM   1471  C   GLU B  55      43.230 -19.447  50.378  1.00  8.18           C  \nATOM   1472  O   GLU B  55      42.825 -20.334  51.128  1.00  7.81           O  \nATOM   1473  CB  GLU B  55      45.660 -19.268  49.765  1.00  7.59           C  \nATOM   1474  CG  GLU B  55      46.121 -19.813  51.110  1.00  9.10           C  \nATOM   1475  CD  GLU B  55      46.189 -21.334  51.151  1.00 11.01           C  \nATOM   1476  OE1 GLU B  55      46.581 -21.942  50.133  1.00 11.02           O  \nATOM   1477  OE2 GLU B  55      45.871 -21.924  52.210  1.00 14.73           O  \nATOM   1478  N   ALA B  56      42.780 -18.197  50.450  1.00  5.58           N  \nATOM   1479  CA  ALA B  56      41.766 -17.826  51.441  1.00  8.49           C  \nATOM   1480  C   ALA B  56      40.509 -18.678  51.253  1.00  6.38           C  \nATOM   1481  O   ALA B  56      39.930 -19.169  52.222  1.00  7.61           O  \nATOM   1482  CB  ALA B  56      41.421 -16.341  51.305  1.00  7.15           C  \nATOM   1483  N   LEU B  57      40.087 -18.854  50.003  1.00  6.97           N  \nATOM   1484  CA  LEU B  57      38.895 -19.654  49.723  1.00  6.21           C  \nATOM   1485  C   LEU B  57      39.125 -21.130  50.040  1.00  6.89           C  \nATOM   1486  O   LEU B  57      38.231 -21.810  50.550  1.00  7.94           O  \nATOM   1487  CB  LEU B  57      38.481 -19.495  48.256  1.00  6.42           C  \nATOM   1488  CG  LEU B  57      38.129 -18.065  47.838  1.00  5.28           C  \nATOM   1489  CD1 LEU B  57      37.753 -18.044  46.360  1.00  9.60           C  \nATOM   1490  CD2 LEU B  57      36.975 -17.546  48.688  1.00  8.97           C  \nATOM   1491  N   LEU B  58      40.328 -21.617  49.746  1.00  7.19           N  \nATOM   1492  CA  LEU B  58      40.682 -23.014  50.003  1.00  6.27           C  \nATOM   1493  C   LEU B  58      40.545 -23.373  51.479  1.00  7.53           C  \nATOM   1494  O   LEU B  58      40.129 -24.481  51.820  1.00  8.25           O  \nATOM   1495  CB  LEU B  58      42.121 -23.282  49.548  1.00  6.35           C  \nATOM   1496  CG  LEU B  58      42.717 -24.658  49.858  1.00  7.35           C  \nATOM   1497  CD1 LEU B  58      41.888 -25.747  49.182  1.00  7.89           C  \nATOM   1498  CD2 LEU B  58      44.163 -24.708  49.380  1.00 10.98           C  \nATOM   1499  N   GLU B  59      40.896 -22.431  52.349  1.00  7.39           N  \nATOM   1500  CA  GLU B  59      40.833 -22.649  53.795  1.00  5.78           C  \nATOM   1501  C   GLU B  59      39.439 -22.459  54.377  1.00  7.88           C  \nATOM   1502  O   GLU B  59      39.225 -22.688  55.567  1.00  7.81           O  \nATOM   1503  CB  GLU B  59      41.794 -21.689  54.508  1.00  7.90           C  \nATOM   1504  CG  GLU B  59      43.269 -21.913  54.189  1.00  9.78           C  \nATOM   1505  CD  GLU B  59      44.161 -20.852  54.813  1.00 14.31           C  \nATOM   1506  OE1 GLU B  59      43.781 -20.303  55.868  1.00 14.64           O  \nATOM   1507  OE2 GLU B  59      45.246 -20.578  54.261  1.00 12.79           O  \nATOM   1508  N   ASN B  60      38.487 -22.056  53.543  1.00  7.83           N  \nATOM   1509  CA  ASN B  60      37.139 -21.803  54.034  1.00  6.84           C  \nATOM   1510  C   ASN B  60      36.024 -22.395  53.193  1.00  9.20           C  \nATOM   1511  O   ASN B  60      34.979 -21.777  52.989  1.00  7.74           O  \nATOM   1512  CB  ASN B  60      36.959 -20.295  54.187  1.00  7.58           C  \nATOM   1513  CG  ASN B  60      37.812 -19.737  55.302  1.00  7.35           C  \nATOM   1514  OD1 ASN B  60      37.463 -19.854  56.474  1.00  8.74           O  \nATOM   1515  ND2 ASN B  60      38.955 -19.151  54.947  1.00  7.82           N  \nATOM   1516  N   ILE B  61      36.254 -23.612  52.716  1.00  7.19           N  \nATOM   1517  CA  ILE B  61      35.274 -24.308  51.903  1.00  8.45           C  \nATOM   1518  C   ILE B  61      33.970 -24.537  52.664  1.00  6.57           C  \nATOM   1519  O   ILE B  61      32.893 -24.505  52.067  1.00  7.89           O  \nATOM   1520  CB  ILE B  61      35.847 -25.659  51.421  1.00  5.90           C  \nATOM   1521  CG1 ILE B  61      36.984 -25.406  50.425  1.00  9.41           C  \nATOM   1522  CG2 ILE B  61      34.754 -26.509  50.796  1.00  8.75           C  \nATOM   1523  CD1 ILE B  61      37.798 -26.654  50.073  1.00  8.14           C  \nATOM   1524  N   ASP B  62      34.053 -24.753  53.977  1.00  7.51           N  \nATOM   1525  CA  ASP B  62      32.839 -24.992  54.752  1.00  7.54           C  \nATOM   1526  C   ASP B  62      32.080 -23.742  55.198  1.00  8.49           C  \nATOM   1527  O   ASP B  62      31.092 -23.839  55.927  1.00  9.19           O  \nATOM   1528  CB  ASP B  62      33.125 -25.913  55.954  1.00  8.95           C  \nATOM   1529  CG  ASP B  62      34.151 -25.345  56.931  1.00 11.12           C  \nATOM   1530  OD1 ASP B  62      34.862 -24.373  56.603  1.00 11.35           O  \nATOM   1531  OD2 ASP B  62      34.250 -25.905  58.043  1.00 12.08           O  \nATOM   1532  N   ILE B  63      32.526 -22.570  54.754  1.00  6.73           N  \nATOM   1533  CA  ILE B  63      31.831 -21.333  55.099  1.00  7.47           C  \nATOM   1534  C   ILE B  63      30.831 -21.025  53.983  1.00  6.96           C  \nATOM   1535  O   ILE B  63      31.175 -21.080  52.801  1.00  8.12           O  \nATOM   1536  CB  ILE B  63      32.812 -20.143  55.247  1.00  7.47           C  \nATOM   1537  CG1 ILE B  63      33.789 -20.415  56.397  1.00  8.97           C  \nATOM   1538  CG2 ILE B  63      32.041 -18.852  55.484  1.00  9.26           C  \nATOM   1539  CD1 ILE B  63      33.126 -20.594  57.752  1.00 13.96           C  \nATOM   1540  N   GLY B  64      29.594 -20.718  54.361  1.00  8.71           N  \nATOM   1541  CA  GLY B  64      28.574 -20.414  53.371  1.00  9.81           C  \nATOM   1542  C   GLY B  64      28.652 -18.974  52.900  1.00 11.60           C  \nATOM   1543  O   GLY B  64      27.928 -18.109  53.392  1.00 16.00           O  \nATOM   1544  N   TYR B  65      29.521 -18.716  51.931  1.00  9.38           N  \nATOM   1545  CA  TYR B  65      29.691 -17.360  51.422  1.00  9.58           C  \nATOM   1546  C   TYR B  65      29.271 -17.191  49.968  1.00  9.17           C  \nATOM   1547  O   TYR B  65      29.208 -18.152  49.198  1.00 10.42           O  \nATOM   1548  CB  TYR B  65      31.159 -16.940  51.560  1.00  8.00           C  \nATOM   1549  CG  TYR B  65      32.102 -17.727  50.671  1.00  8.44           C  \nATOM   1550  CD1 TYR B  65      32.355 -17.325  49.358  1.00  8.81           C  \nATOM   1551  CD2 TYR B  65      32.707 -18.900  51.130  1.00  7.86           C  \nATOM   1552  CE1 TYR B  65      33.186 -18.072  48.522  1.00  9.11           C  \nATOM   1553  CE2 TYR B  65      33.542 -19.655  50.300  1.00  7.54           C  \nATOM   1554  CZ  TYR B  65      33.773 -19.233  48.997  1.00  8.70           C  \nATOM   1555  OH  TYR B  65      34.584 -19.970  48.162  1.00  8.32           O  \nATOM   1556  N   GLU B  66      28.971 -15.950  49.609  1.00  9.95           N  \nATOM   1557  CA  GLU B  66      28.626 -15.599  48.244  1.00 10.88           C  \nATOM   1558  C   GLU B  66      29.390 -14.316  47.987  1.00 10.98           C  \nATOM   1559  O   GLU B  66      29.493 -13.463  48.869  1.00 11.96           O  \nATOM   1560  CB  GLU B  66      27.117 -15.390  48.066  1.00 16.40           C  \nATOM   1561  CG  GLU B  66      26.420 -14.541  49.113  1.00 22.87           C  \nATOM   1562  CD  GLU B  66      24.932 -14.377  48.814  1.00 29.66           C  \nATOM   1563  OE1 GLU B  66      24.317 -15.340  48.309  1.00 28.07           O  \nATOM   1564  OE2 GLU B  66      24.372 -13.294  49.089  1.00 28.91           O  \nATOM   1565  N   LEU B  67      29.958 -14.200  46.793  1.00 10.09           N  \nATOM   1566  CA  LEU B  67      30.736 -13.023  46.438  1.00  9.45           C  \nATOM   1567  C   LEU B  67      30.013 -12.174  45.404  1.00  9.82           C  \nATOM   1568  O   LEU B  67      29.510 -12.684  44.405  1.00  9.58           O  \nATOM   1569  CB  LEU B  67      32.098 -13.436  45.864  1.00 10.31           C  \nATOM   1570  CG  LEU B  67      33.024 -14.359  46.663  1.00 12.61           C  \nATOM   1571  CD1 LEU B  67      34.260 -14.652  45.824  1.00 14.54           C  \nATOM   1572  CD2 LEU B  67      33.416 -13.716  47.986  1.00 16.56           C  \nATOM   1573  N   PHE B  68      29.965 -10.874  45.655  1.00  7.13           N  \nATOM   1574  CA  PHE B  68      29.349  -9.941  44.731  1.00  8.35           C  \nATOM   1575  C   PHE B  68      30.373  -8.842  44.496  1.00  8.15           C  \nATOM   1576  O   PHE B  68      30.893  -8.265  45.452  1.00  9.87           O  \nATOM   1577  CB  PHE B  68      28.079  -9.342  45.338  1.00  6.56           C  \nATOM   1578  CG  PHE B  68      26.940 -10.313  45.438  1.00 11.63           C  \nATOM   1579  CD1 PHE B  68      26.211 -10.667  44.306  1.00 15.37           C  \nATOM   1580  CD2 PHE B  68      26.596 -10.875  46.662  1.00 12.83           C  \nATOM   1581  CE1 PHE B  68      25.152 -11.568  44.393  1.00 13.27           C  \nATOM   1582  CE2 PHE B  68      25.539 -11.778  46.760  1.00 15.36           C  \nATOM   1583  CZ  PHE B  68      24.817 -12.124  45.626  1.00 16.24           C  \nATOM   1584  N   LEU B  69      30.692  -8.578  43.234  1.00  5.68           N  \nATOM   1585  CA  LEU B  69      31.650  -7.527  42.914  1.00  4.44           C  \nATOM   1586  C   LEU B  69      30.907  -6.317  42.384  1.00  6.39           C  \nATOM   1587  O   LEU B  69      29.952  -6.459  41.617  1.00  7.09           O  \nATOM   1588  CB  LEU B  69      32.661  -8.008  41.873  1.00  5.18           C  \nATOM   1589  CG  LEU B  69      33.798  -8.882  42.412  1.00 10.26           C  \nATOM   1590  CD1 LEU B  69      33.221 -10.151  43.019  1.00 11.61           C  \nATOM   1591  CD2 LEU B  69      34.768  -9.215  41.286  1.00 11.86           C  \nATOM   1592  N   TRP B  70      31.340  -5.130  42.800  1.00  6.32           N  \nATOM   1593  CA  TRP B  70      30.705  -3.894  42.360  1.00  6.17           C  \nATOM   1594  C   TRP B  70      31.718  -2.869  41.889  1.00  6.61           C  \nATOM   1595  O   TRP B  70      32.664  -2.547  42.611  1.00  7.06           O  \nATOM   1596  CB  TRP B  70      29.895  -3.267  43.501  1.00  7.19           C  \nATOM   1597  CG  TRP B  70      28.922  -4.198  44.142  1.00  8.42           C  \nATOM   1598  CD1 TRP B  70      29.044  -4.803  45.358  1.00  9.62           C  \nATOM   1599  CD2 TRP B  70      27.671  -4.631  43.600  1.00 10.62           C  \nATOM   1600  NE1 TRP B  70      27.941  -5.588  45.610  1.00  8.49           N  \nATOM   1601  CE2 TRP B  70      27.083  -5.499  44.545  1.00  7.83           C  \nATOM   1602  CE3 TRP B  70      26.989  -4.369  42.403  1.00 11.10           C  \nATOM   1603  CZ2 TRP B  70      25.840  -6.108  44.333  1.00 10.76           C  \nATOM   1604  CZ3 TRP B  70      25.756  -4.974  42.191  1.00 13.52           C  \nATOM   1605  CH2 TRP B  70      25.194  -5.835  43.152  1.00 12.87           C  \nATOM   1606  N   LYS B  71      31.529  -2.358  40.679  1.00  7.61           N  \nATOM   1607  CA  LYS B  71      32.419  -1.326  40.172  1.00  6.82           C  \nATOM   1608  C   LYS B  71      32.048  -0.038  40.905  1.00  7.46           C  \nATOM   1609  O   LYS B  71      30.964   0.055  41.489  1.00  8.76           O  \nATOM   1610  CB  LYS B  71      32.262  -1.184  38.657  1.00 10.45           C  \nATOM   1611  CG  LYS B  71      32.688  -2.447  37.920  1.00 14.60           C  \nATOM   1612  CD  LYS B  71      32.776  -2.235  36.424  1.00 21.45           C  \nATOM   1613  CE  LYS B  71      33.170  -3.528  35.718  1.00 28.85           C  \nATOM   1614  NZ  LYS B  71      34.417  -4.119  36.279  1.00 29.47           N  \nATOM   1615  N   LYS B  72      32.934   0.952  40.881  1.00 10.20           N  \nATOM   1616  CA  LYS B  72      32.683   2.190  41.615  1.00 10.67           C  \nATOM   1617  C   LYS B  72      31.363   2.895  41.325  1.00 11.13           C  \nATOM   1618  O   LYS B  72      30.823   3.562  42.204  1.00 12.36           O  \nATOM   1619  CB  LYS B  72      33.845   3.175  41.423  1.00 12.82           C  \nATOM   1620  CG  LYS B  72      34.057   3.639  40.001  1.00 18.96           C  \nATOM   1621  CD  LYS B  72      35.183   4.664  39.913  1.00 28.19           C  \nATOM   1622  CE  LYS B  72      36.520   4.078  40.352  1.00 32.59           C  \nATOM   1623  NZ  LYS B  72      37.623   5.080  40.287  1.00 35.96           N  \nATOM   1624  N   ASN B  73      30.832   2.751  40.113  1.00  8.90           N  \nATOM   1625  CA  ASN B  73      29.574   3.414  39.788  1.00  9.56           C  \nATOM   1626  C   ASN B  73      28.354   2.527  40.037  1.00 10.10           C  \nATOM   1627  O   ASN B  73      27.233   2.896  39.693  1.00 10.34           O  \nATOM   1628  CB  ASN B  73      29.592   3.918  38.328  1.00  8.81           C  \nATOM   1629  CG  ASN B  73      29.639   2.794  37.304  1.00 10.55           C  \nATOM   1630  OD1 ASN B  73      29.998   1.660  37.616  1.00 12.03           O  \nATOM   1631  ND2 ASN B  73      29.290   3.117  36.060  1.00  9.29           N  \nATOM   1632  N   GLU B  74      28.569   1.373  40.666  1.00  9.00           N  \nATOM   1633  CA  GLU B  74      27.469   0.454  40.940  1.00  6.85           C  \nATOM   1634  C   GLU B  74      27.067   0.383  42.410  1.00  8.04           C  \nATOM   1635  O   GLU B  74      26.327  -0.515  42.811  1.00  7.33           O  \nATOM   1636  CB  GLU B  74      27.822  -0.950  40.445  1.00  9.08           C  \nATOM   1637  CG  GLU B  74      28.150  -1.011  38.957  1.00  8.15           C  \nATOM   1638  CD  GLU B  74      28.526  -2.404  38.503  1.00 12.67           C  \nATOM   1639  OE1 GLU B  74      29.315  -3.068  39.207  1.00 10.13           O  \nATOM   1640  OE2 GLU B  74      28.042  -2.832  37.435  1.00 15.47           O  \nATOM   1641  N   VAL B  75      27.546   1.323  43.217  1.00  6.01           N  \nATOM   1642  CA  VAL B  75      27.194   1.309  44.628  1.00  6.91           C  \nATOM   1643  C   VAL B  75      25.682   1.445  44.799  1.00  6.67           C  \nATOM   1644  O   VAL B  75      25.110   0.892  45.736  1.00  8.26           O  \nATOM   1645  CB  VAL B  75      27.912   2.439  45.412  1.00  7.12           C  \nATOM   1646  CG1 VAL B  75      27.420   2.463  46.858  1.00  5.38           C  \nATOM   1647  CG2 VAL B  75      29.418   2.209  45.390  1.00  6.09           C  \nATOM   1648  N   ASP B  76      25.025   2.163  43.893  1.00  6.82           N  \nATOM   1649  CA  ASP B  76      23.583   2.319  44.020  1.00  7.89           C  \nATOM   1650  C   ASP B  76      22.834   1.000  43.830  1.00  7.12           C  \nATOM   1651  O   ASP B  76      21.776   0.803  44.422  1.00  8.14           O  \nATOM   1652  CB  ASP B  76      23.051   3.404  43.064  1.00  7.64           C  \nATOM   1653  CG  ASP B  76      23.365   3.132  41.602  1.00 11.13           C  \nATOM   1654  OD1 ASP B  76      24.132   2.203  41.297  1.00 10.63           O  \nATOM   1655  OD2 ASP B  76      22.837   3.878  40.751  1.00 13.20           O  \nATOM   1656  N   ILE B  77      23.387   0.092  43.028  1.00  6.11           N  \nATOM   1657  CA  ILE B  77      22.744  -1.205  42.808  1.00  8.01           C  \nATOM   1658  C   ILE B  77      22.865  -2.010  44.101  1.00  8.15           C  \nATOM   1659  O   ILE B  77      21.906  -2.637  44.558  1.00  9.44           O  \nATOM   1660  CB  ILE B  77      23.425  -2.003  41.673  1.00  9.58           C  \nATOM   1661  CG1 ILE B  77      23.411  -1.197  40.376  1.00  7.88           C  \nATOM   1662  CG2 ILE B  77      22.686  -3.322  41.452  1.00  8.83           C  \nATOM   1663  CD1 ILE B  77      24.174  -1.865  39.240  1.00 12.83           C  \nATOM   1664  N   PHE B  78      24.063  -1.987  44.677  1.00  6.79           N  \nATOM   1665  CA  PHE B  78      24.345  -2.679  45.931  1.00  8.25           C  \nATOM   1666  C   PHE B  78      23.391  -2.195  47.028  1.00  8.65           C  \nATOM   1667  O   PHE B  78      22.766  -2.994  47.732  1.00  7.35           O  \nATOM   1668  CB  PHE B  78      25.797  -2.404  46.343  1.00  8.13           C  \nATOM   1669  CG  PHE B  78      26.064  -2.614  47.804  1.00  9.18           C  \nATOM   1670  CD1 PHE B  78      26.089  -3.896  48.347  1.00 11.50           C  \nATOM   1671  CD2 PHE B  78      26.260  -1.525  48.647  1.00  9.14           C  \nATOM   1672  CE1 PHE B  78      26.302  -4.091  49.710  1.00 12.70           C  \nATOM   1673  CE2 PHE B  78      26.472  -1.709  50.011  1.00  8.09           C  \nATOM   1674  CZ  PHE B  78      26.492  -2.997  50.543  1.00  8.89           C  \nATOM   1675  N   LEU B  79      23.280  -0.879  47.174  1.00  6.99           N  \nATOM   1676  CA  LEU B  79      22.406  -0.309  48.195  1.00  8.19           C  \nATOM   1677  C   LEU B  79      20.935  -0.653  47.975  1.00  9.19           C  \nATOM   1678  O   LEU B  79      20.199  -0.903  48.933  1.00 10.56           O  \nATOM   1679  CB  LEU B  79      22.586   1.212  48.258  1.00  7.77           C  \nATOM   1680  CG  LEU B  79      23.921   1.718  48.820  1.00  5.84           C  \nATOM   1681  CD1 LEU B  79      23.942   3.241  48.802  1.00  6.51           C  \nATOM   1682  CD2 LEU B  79      24.111   1.209  50.245  1.00  8.59           C  \nATOM   1683  N   LYS B  80      20.506  -0.667  46.717  1.00  8.80           N  \nATOM   1684  CA  LYS B  80      19.117  -0.992  46.399  1.00 11.21           C  \nATOM   1685  C   LYS B  80      18.807  -2.433  46.794  1.00 10.33           C  \nATOM   1686  O   LYS B  80      17.754  -2.720  47.370  1.00 11.42           O  \nATOM   1687  CB  LYS B  80      18.856  -0.805  44.901  1.00  8.58           C  \nATOM   1688  CG  LYS B  80      17.441  -1.174  44.457  1.00 13.04           C  \nATOM   1689  CD  LYS B  80      16.393  -0.278  45.106  1.00 19.56           C  \nATOM   1690  CE  LYS B  80      14.994  -0.616  44.612  1.00 20.22           C  \nATOM   1691  NZ  LYS B  80      14.629  -2.024  44.919  1.00 31.99           N  \nATOM   1692  N   ASN B  81      19.731  -3.335  46.486  1.00  7.78           N  \nATOM   1693  CA  ASN B  81      19.559  -4.746  46.801  1.00  8.85           C  \nATOM   1694  C   ASN B  81      19.494  -5.008  48.302  1.00 11.79           C  \nATOM   1695  O   ASN B  81      18.920  -6.005  48.733  1.00 13.02           O  \nATOM   1696  CB  ASN B  81      20.695  -5.571  46.195  1.00  8.56           C  \nATOM   1697  CG  ASN B  81      20.609  -5.668  44.686  1.00 11.64           C  \nATOM   1698  OD1 ASN B  81      19.701  -5.116  44.060  1.00 10.80           O  \nATOM   1699  ND2 ASN B  81      21.561  -6.377  44.091  1.00 10.75           N  \nATOM   1700  N   LEU B  82      20.082  -4.120  49.098  1.00  9.55           N  \nATOM   1701  CA  LEU B  82      20.057  -4.301  50.545  1.00 10.33           C  \nATOM   1702  C   LEU B  82      18.641  -4.223  51.100  1.00 11.86           C  \nATOM   1703  O   LEU B  82      18.372  -4.695  52.203  1.00 13.00           O  \nATOM   1704  CB  LEU B  82      20.930  -3.254  51.240  1.00  9.26           C  \nATOM   1705  CG  LEU B  82      22.442  -3.431  51.116  1.00  9.05           C  \nATOM   1706  CD1 LEU B  82      23.140  -2.329  51.907  1.00  8.92           C  \nATOM   1707  CD2 LEU B  82      22.851  -4.799  51.646  1.00 10.02           C  \nATOM   1708  N   GLU B  83      17.731  -3.629  50.339  1.00 14.53           N  \nATOM   1709  CA  GLU B  83      16.353  -3.521  50.798  1.00 19.28           C  \nATOM   1710  C   GLU B  83      15.740  -4.909  50.969  1.00 16.91           C  \nATOM   1711  O   GLU B  83      14.796  -5.087  51.740  1.00 22.85           O  \nATOM   1712  CB  GLU B  83      15.523  -2.705  49.806  1.00 17.82           C  \nATOM   1713  CG  GLU B  83      16.124  -1.348  49.480  1.00 20.84           C  \nATOM   1714  CD  GLU B  83      15.169  -0.450  48.720  1.00 24.65           C  \nATOM   1715  OE1 GLU B  83      14.455  -0.957  47.831  1.00 24.44           O  \nATOM   1716  OE2 GLU B  83      15.143   0.766  49.008  1.00 29.53           O  \nATOM   1717  N   LYS B  84      16.288  -5.890  50.257  1.00 18.37           N  \nATOM   1718  CA  LYS B  84      15.791  -7.263  50.318  1.00 19.92           C  \nATOM   1719  C   LYS B  84      16.692  -8.213  51.104  1.00 21.36           C  \nATOM   1720  O   LYS B  84      16.516  -9.429  51.038  1.00 22.42           O  \nATOM   1721  CB  LYS B  84      15.623  -7.824  48.905  1.00 19.42           C  \nATOM   1722  CG  LYS B  84      14.672  -7.046  48.012  1.00 20.23           C  \nATOM   1723  CD  LYS B  84      14.571  -7.707  46.647  1.00 19.41           C  \nATOM   1724  CE  LYS B  84      13.602  -6.969  45.739  1.00 21.89           C  \nATOM   1725  NZ  LYS B  84      13.462  -7.655  44.424  1.00 22.51           N  \nATOM   1726  N   SER B  85      17.653  -7.668  51.842  1.00 20.41           N  \nATOM   1727  CA  SER B  85      18.573  -8.503  52.610  1.00 23.07           C  \nATOM   1728  C   SER B  85      18.061  -8.818  54.011  1.00 23.57           C  \nATOM   1729  O   SER B  85      17.211  -8.109  54.546  1.00 24.14           O  \nATOM   1730  CB  SER B  85      19.933  -7.813  52.728  1.00 21.57           C  \nATOM   1731  OG  SER B  85      19.832  -6.638  53.513  1.00 25.20           O  \nATOM   1732  N   GLU B  86      18.589  -9.890  54.595  1.00 26.07           N  \nATOM   1733  CA  GLU B  86      18.218 -10.297  55.947  1.00 27.12           C  \nATOM   1734  C   GLU B  86      19.449 -10.455  56.833  1.00 25.62           C  \nATOM   1735  O   GLU B  86      19.457 -11.265  57.761  1.00 29.42           O  \nATOM   1736  CB  GLU B  86      17.442 -11.616  55.932  1.00 33.85           C  \nATOM   1737  CG  GLU B  86      15.974 -11.483  55.572  1.00 46.71           C  \nATOM   1738  CD  GLU B  86      15.149 -12.647  56.094  1.00 55.10           C  \nATOM   1739  OE1 GLU B  86      15.076 -12.816  57.331  1.00 58.77           O  \nATOM   1740  OE2 GLU B  86      14.577 -13.393  55.272  1.00 60.31           O  \nATOM   1741  N   VAL B  87      20.487  -9.678  56.549  1.00 19.87           N  \nATOM   1742  CA  VAL B  87      21.721  -9.739  57.325  1.00 15.79           C  \nATOM   1743  C   VAL B  87      21.506  -9.220  58.747  1.00 15.58           C  \nATOM   1744  O   VAL B  87      20.686  -8.329  58.969  1.00 16.78           O  \nATOM   1745  CB  VAL B  87      22.835  -8.920  56.642  1.00 13.99           C  \nATOM   1746  CG1 VAL B  87      23.189  -9.550  55.304  1.00 14.84           C  \nATOM   1747  CG2 VAL B  87      22.378  -7.485  56.435  1.00 15.74           C  \nATOM   1748  N   ASP B  88      22.243  -9.777  59.707  1.00 12.15           N  \nATOM   1749  CA  ASP B  88      22.111  -9.363  61.103  1.00 12.58           C  \nATOM   1750  C   ASP B  88      23.424  -8.891  61.719  1.00 12.85           C  \nATOM   1751  O   ASP B  88      23.489  -8.607  62.913  1.00 12.10           O  \nATOM   1752  CB  ASP B  88      21.535 -10.510  61.946  1.00 12.92           C  \nATOM   1753  CG  ASP B  88      22.373 -11.778  61.865  1.00 16.42           C  \nATOM   1754  OD1 ASP B  88      23.456 -11.748  61.248  1.00 13.85           O  \nATOM   1755  OD2 ASP B  88      21.945 -12.809  62.426  1.00 18.60           O  \nATOM   1756  N   GLY B  89      24.465  -8.810  60.898  1.00  9.61           N  \nATOM   1757  CA  GLY B  89      25.765  -8.370  61.375  1.00  8.63           C  \nATOM   1758  C   GLY B  89      26.526  -7.749  60.220  1.00  8.43           C  \nATOM   1759  O   GLY B  89      26.303  -8.118  59.068  1.00  9.07           O  \nATOM   1760  N   LEU B  90      27.431  -6.824  60.526  1.00  6.06           N  \nATOM   1761  CA  LEU B  90      28.197  -6.125  59.495  1.00  7.92           C  \nATOM   1762  C   LEU B  90      29.699  -6.040  59.755  1.00  8.64           C  \nATOM   1763  O   LEU B  90      30.126  -5.642  60.839  1.00  8.63           O  \nATOM   1764  CB  LEU B  90      27.641  -4.703  59.335  1.00  6.14           C  \nATOM   1765  CG  LEU B  90      28.462  -3.683  58.540  1.00  7.39           C  \nATOM   1766  CD1 LEU B  90      28.459  -4.048  57.061  1.00  8.17           C  \nATOM   1767  CD2 LEU B  90      27.865  -2.287  58.742  1.00  7.67           C  \nATOM   1768  N   LEU B  91      30.488  -6.410  58.747  1.00  8.03           N  \nATOM   1769  CA  LEU B  91      31.948  -6.346  58.821  1.00  7.73           C  \nATOM   1770  C   LEU B  91      32.418  -5.421  57.696  1.00  7.16           C  \nATOM   1771  O   LEU B  91      31.980  -5.560  56.556  1.00  7.44           O  \nATOM   1772  CB  LEU B  91      32.566  -7.739  58.630  1.00  8.30           C  \nATOM   1773  CG  LEU B  91      32.297  -8.804  59.697  1.00  9.27           C  \nATOM   1774  CD1 LEU B  91      32.918 -10.122  59.253  1.00  8.84           C  \nATOM   1775  CD2 LEU B  91      32.879  -8.366  61.036  1.00  9.26           C  \nATOM   1776  N   VAL B  92      33.300  -4.476  58.020  1.00  5.28           N  \nATOM   1777  CA  VAL B  92      33.805  -3.528  57.030  1.00  7.29           C  \nATOM   1778  C   VAL B  92      35.331  -3.537  56.959  1.00  8.28           C  \nATOM   1779  O   VAL B  92      36.003  -3.466  57.991  1.00  8.12           O  \nATOM   1780  CB  VAL B  92      33.333  -2.097  57.360  1.00  6.10           C  \nATOM   1781  CG1 VAL B  92      33.953  -1.102  56.387  1.00  9.80           C  \nATOM   1782  CG2 VAL B  92      31.810  -2.031  57.295  1.00  8.41           C  \nATOM   1783  N   TYR B  93      35.865  -3.613  55.739  1.00  7.56           N  \nATOM   1784  CA  TYR B  93      37.314  -3.644  55.512  1.00  8.52           C  \nATOM   1785  C   TYR B  93      37.751  -2.746  54.368  1.00  8.93           C  \nATOM   1786  O   TYR B  93      37.059  -2.635  53.356  1.00  8.79           O  \nATOM   1787  CB  TYR B  93      37.777  -5.054  55.143  1.00  6.28           C  \nATOM   1788  CG  TYR B  93      37.401  -6.110  56.135  1.00  7.75           C  \nATOM   1789  CD1 TYR B  93      38.258  -6.448  57.178  1.00  8.54           C  \nATOM   1790  CD2 TYR B  93      36.173  -6.760  56.047  1.00  6.62           C  \nATOM   1791  CE1 TYR B  93      37.899  -7.410  58.112  1.00  7.93           C  \nATOM   1792  CE2 TYR B  93      35.805  -7.720  56.973  1.00  7.24           C  \nATOM   1793  CZ  TYR B  93      36.668  -8.041  58.001  1.00  6.95           C  \nATOM   1794  OH  TYR B  93      36.297  -8.983  58.924  1.00  8.30           O  \nATOM   1795  N   CYS B  94      38.916  -2.126  54.519  1.00 10.13           N  \nATOM   1796  CA  CYS B  94      39.474  -1.296  53.458  1.00  6.30           C  \nATOM   1797  C   CYS B  94      40.934  -1.012  53.768  1.00  9.34           C  \nATOM   1798  O   CYS B  94      41.413  -1.327  54.855  1.00  9.31           O  \nATOM   1799  CB  CYS B  94      38.720   0.038  53.327  1.00  9.03           C  \nATOM   1800  SG  CYS B  94      39.178   1.336  54.530  1.00  9.87           S  \nATOM   1801  N   ASP B  95      41.650  -0.461  52.793  1.00  8.48           N  \nATOM   1802  CA  ASP B  95      43.035  -0.071  53.012  1.00 10.08           C  \nATOM   1803  C   ASP B  95      43.051   1.444  52.844  1.00 11.80           C  \nATOM   1804  O   ASP B  95      42.013   2.040  52.560  1.00 10.63           O  \nATOM   1805  CB  ASP B  95      44.006  -0.766  52.039  1.00 10.61           C  \nATOM   1806  CG  ASP B  95      43.580  -0.672  50.585  1.00  8.45           C  \nATOM   1807  OD1 ASP B  95      42.664   0.111  50.255  1.00 12.75           O  \nATOM   1808  OD2 ASP B  95      44.191  -1.392  49.765  1.00 11.59           O  \nATOM   1809  N   ASP B  96      44.202   2.080  53.024  1.00 12.83           N  \nATOM   1810  CA  ASP B  96      44.246   3.534  52.912  1.00 12.81           C  \nATOM   1811  C   ASP B  96      43.786   4.116  51.581  1.00 12.83           C  \nATOM   1812  O   ASP B  96      43.073   5.124  51.555  1.00 12.12           O  \nATOM   1813  CB  ASP B  96      45.646   4.051  53.243  1.00 14.63           C  \nATOM   1814  CG  ASP B  96      45.965   3.940  54.717  1.00 18.00           C  \nATOM   1815  OD1 ASP B  96      45.036   4.107  55.539  1.00 20.62           O  \nATOM   1816  OD2 ASP B  96      47.142   3.704  55.055  1.00 20.71           O  \nATOM   1817  N   GLU B  97      44.181   3.493  50.480  1.00 13.53           N  \nATOM   1818  CA  GLU B  97      43.797   3.990  49.165  1.00 16.29           C  \nATOM   1819  C   GLU B  97      42.293   3.999  48.910  1.00 15.06           C  \nATOM   1820  O   GLU B  97      41.811   4.738  48.053  1.00 13.57           O  \nATOM   1821  CB  GLU B  97      44.491   3.177  48.068  1.00 19.19           C  \nATOM   1822  CG  GLU B  97      45.967   3.506  47.915  1.00 33.67           C  \nATOM   1823  CD  GLU B  97      46.597   2.839  46.710  1.00 39.74           C  \nATOM   1824  OE1 GLU B  97      46.065   3.000  45.590  1.00 44.51           O  \nATOM   1825  OE2 GLU B  97      47.631   2.159  46.883  1.00 45.30           O  \nATOM   1826  N   ASN B  98      41.549   3.195  49.661  1.00 12.17           N  \nATOM   1827  CA  ASN B  98      40.107   3.113  49.459  1.00 11.15           C  \nATOM   1828  C   ASN B  98      39.261   3.487  50.674  1.00 11.99           C  \nATOM   1829  O   ASN B  98      38.048   3.275  50.679  1.00 10.72           O  \nATOM   1830  CB  ASN B  98      39.754   1.699  48.991  1.00 11.64           C  \nATOM   1831  CG  ASN B  98      40.408   1.347  47.664  1.00 10.09           C  \nATOM   1832  OD1 ASN B  98      39.992   1.828  46.607  1.00 13.42           O  \nATOM   1833  ND2 ASN B  98      41.447   0.520  47.713  1.00  8.18           N  \nATOM   1834  N   LYS B  99      39.896   4.064  51.689  1.00 10.70           N  \nATOM   1835  CA  LYS B  99      39.202   4.453  52.914  1.00  9.28           C  \nATOM   1836  C   LYS B  99      38.101   5.505  52.754  1.00 10.44           C  \nATOM   1837  O   LYS B  99      37.004   5.350  53.298  1.00  9.09           O  \nATOM   1838  CB  LYS B  99      40.223   4.933  53.946  1.00 14.04           C  \nATOM   1839  CG  LYS B  99      39.622   5.373  55.271  1.00 15.01           C  \nATOM   1840  CD  LYS B  99      40.712   5.559  56.327  1.00 19.90           C  \nATOM   1841  CE  LYS B  99      41.761   6.564  55.878  1.00 26.11           C  \nATOM   1842  NZ  LYS B  99      42.944   6.571  56.785  1.00 26.96           N  \nATOM   1843  N   VAL B 100      38.390   6.580  52.030  1.00  9.93           N  \nATOM   1844  CA  VAL B 100      37.398   7.632  51.838  1.00  7.71           C  \nATOM   1845  C   VAL B 100      36.164   7.083  51.128  1.00  6.80           C  \nATOM   1846  O   VAL B 100      35.033   7.363  51.524  1.00  8.22           O  \nATOM   1847  CB  VAL B 100      37.983   8.805  51.019  1.00  9.27           C  \nATOM   1848  CG1 VAL B 100      36.916   9.865  50.786  1.00 11.14           C  \nATOM   1849  CG2 VAL B 100      39.168   9.414  51.769  1.00 15.69           C  \nATOM   1850  N   PHE B 101      36.398   6.280  50.097  1.00  7.70           N  \nATOM   1851  CA  PHE B 101      35.322   5.675  49.312  1.00  8.14           C  \nATOM   1852  C   PHE B 101      34.479   4.742  50.180  1.00  8.71           C  \nATOM   1853  O   PHE B 101      33.250   4.853  50.224  1.00  7.41           O  \nATOM   1854  CB  PHE B 101      35.927   4.907  48.130  1.00  5.31           C  \nATOM   1855  CG  PHE B 101      34.907   4.246  47.230  1.00  7.28           C  \nATOM   1856  CD1 PHE B 101      33.906   4.989  46.616  1.00  8.36           C  \nATOM   1857  CD2 PHE B 101      34.976   2.880  46.976  1.00  8.23           C  \nATOM   1858  CE1 PHE B 101      32.985   4.381  45.754  1.00 12.37           C  \nATOM   1859  CE2 PHE B 101      34.066   2.261  46.120  1.00  9.85           C  \nATOM   1860  CZ  PHE B 101      33.068   3.012  45.506  1.00 11.79           C  \nHETATM 1861  N   MSE B 102      35.133   3.819  50.878  1.00  8.34           N  \nHETATM 1862  CA  MSE B 102      34.399   2.889  51.728  1.00  7.79           C  \nHETATM 1863  C   MSE B 102      33.624   3.614  52.821  1.00  8.44           C  \nHETATM 1864  O   MSE B 102      32.502   3.230  53.152  1.00  7.89           O  \nHETATM 1865  CB  MSE B 102      35.342   1.866  52.363  1.00  7.74           C  \nHETATM 1866  CG  MSE B 102      34.653   0.952  53.367  1.00  7.13           C  \nHETATM 1867 SE   MSE B 102      33.179  -0.057  52.589  1.00 21.70          SE  \nHETATM 1868  CE  MSE B 102      34.237  -1.244  51.580  1.00  3.62           C  \nATOM   1869  N   SER B 103      34.214   4.667  53.379  1.00 10.25           N  \nATOM   1870  CA  SER B 103      33.543   5.428  54.423  1.00  9.15           C  \nATOM   1871  C   SER B 103      32.213   5.987  53.913  1.00  9.43           C  \nATOM   1872  O   SER B 103      31.223   6.000  54.643  1.00  8.98           O  \nATOM   1873  CB  SER B 103      34.438   6.569  54.911  1.00 12.94           C  \nATOM   1874  OG  SER B 103      35.597   6.055  55.542  1.00 22.39           O  \nATOM   1875  N   LYS B 104      32.194   6.449  52.664  1.00  9.19           N  \nATOM   1876  CA  LYS B 104      30.970   6.986  52.078  1.00  8.57           C  \nATOM   1877  C   LYS B 104      29.930   5.884  51.887  1.00  8.03           C  \nATOM   1878  O   LYS B 104      28.731   6.110  52.064  1.00  8.00           O  \nATOM   1879  CB  LYS B 104      31.268   7.676  50.740  1.00  8.00           C  \nATOM   1880  CG  LYS B 104      31.871   9.067  50.906  1.00  9.99           C  \nATOM   1881  CD  LYS B 104      32.200   9.726  49.569  1.00  7.11           C  \nATOM   1882  CE  LYS B 104      33.320   8.997  48.840  1.00  6.13           C  \nATOM   1883  NZ  LYS B 104      33.713   9.685  47.577  1.00  5.13           N  \nATOM   1884  N   ILE B 105      30.384   4.688  51.531  1.00  6.44           N  \nATOM   1885  CA  ILE B 105      29.462   3.573  51.353  1.00  6.44           C  \nATOM   1886  C   ILE B 105      28.830   3.272  52.708  1.00  6.86           C  \nATOM   1887  O   ILE B 105      27.612   3.161  52.822  1.00  6.84           O  \nATOM   1888  CB  ILE B 105      30.192   2.306  50.833  1.00  7.27           C  \nATOM   1889  CG1 ILE B 105      30.792   2.582  49.447  1.00  6.29           C  \nATOM   1890  CG2 ILE B 105      29.221   1.133  50.772  1.00  8.00           C  \nATOM   1891  CD1 ILE B 105      31.576   1.404  48.858  1.00  7.28           C  \nATOM   1892  N   VAL B 106      29.661   3.163  53.743  1.00  7.24           N  \nATOM   1893  CA  VAL B 106      29.164   2.872  55.084  1.00  9.20           C  \nATOM   1894  C   VAL B 106      28.161   3.927  55.551  1.00  7.38           C  \nATOM   1895  O   VAL B 106      27.119   3.595  56.122  1.00  8.51           O  \nATOM   1896  CB  VAL B 106      30.323   2.788  56.108  1.00  7.67           C  \nATOM   1897  CG1 VAL B 106      29.766   2.577  57.510  1.00 11.73           C  \nATOM   1898  CG2 VAL B 106      31.254   1.633  55.740  1.00 12.47           C  \nATOM   1899  N   ASP B 107      28.473   5.195  55.298  1.00  7.77           N  \nATOM   1900  CA  ASP B 107      27.600   6.297  55.700  1.00  9.68           C  \nATOM   1901  C   ASP B 107      26.195   6.181  55.132  1.00  9.43           C  \nATOM   1902  O   ASP B 107      25.243   6.702  55.715  1.00 10.12           O  \nATOM   1903  CB  ASP B 107      28.160   7.649  55.246  1.00 11.43           C  \nATOM   1904  CG  ASP B 107      29.454   8.021  55.935  1.00 14.81           C  \nATOM   1905  OD1 ASP B 107      29.679   7.575  57.079  1.00 13.62           O  \nATOM   1906  OD2 ASP B 107      30.238   8.783  55.327  1.00 15.91           O  \nATOM   1907  N   ASN B 108      26.071   5.508  53.992  1.00  6.57           N  \nATOM   1908  CA  ASN B 108      24.786   5.373  53.330  1.00  6.46           C  \nATOM   1909  C   ASN B 108      24.078   4.036  53.473  1.00  7.81           C  \nATOM   1910  O   ASN B 108      23.088   3.775  52.787  1.00  6.91           O  \nATOM   1911  CB  ASN B 108      24.944   5.724  51.854  1.00  5.98           C  \nATOM   1912  CG  ASN B 108      25.294   7.180  51.656  1.00 11.56           C  \nATOM   1913  OD1 ASN B 108      26.455   7.536  51.435  1.00 13.06           O  \nATOM   1914  ND2 ASN B 108      24.288   8.038  51.762  1.00  7.03           N  \nATOM   1915  N   LEU B 109      24.574   3.193  54.367  1.00  8.14           N  \nATOM   1916  CA  LEU B 109      23.942   1.902  54.592  1.00  9.38           C  \nATOM   1917  C   LEU B 109      22.630   2.122  55.329  1.00  9.65           C  \nATOM   1918  O   LEU B 109      22.479   3.106  56.056  1.00 11.76           O  \nATOM   1919  CB  LEU B 109      24.843   1.007  55.443  1.00  7.90           C  \nATOM   1920  CG  LEU B 109      26.133   0.519  54.786  1.00  9.37           C  \nATOM   1921  CD1 LEU B 109      27.005  -0.174  55.820  1.00 11.40           C  \nATOM   1922  CD2 LEU B 109      25.797  -0.421  53.642  1.00  9.65           C  \nATOM   1923  N   PRO B 110      21.658   1.219  55.136  1.00  9.50           N  \nATOM   1924  CA  PRO B 110      20.372   1.357  55.826  1.00 11.16           C  \nATOM   1925  C   PRO B 110      20.658   1.400  57.325  1.00 11.60           C  \nATOM   1926  O   PRO B 110      21.537   0.692  57.816  1.00 11.71           O  \nATOM   1927  CB  PRO B 110      19.628   0.090  55.417  1.00  9.96           C  \nATOM   1928  CG  PRO B 110      20.142  -0.164  54.034  1.00 14.79           C  \nATOM   1929  CD  PRO B 110      21.629   0.087  54.192  1.00 12.17           C  \nATOM   1930  N   THR B 111      19.915   2.230  58.045  1.00 10.64           N  \nATOM   1931  CA  THR B 111      20.094   2.385  59.485  1.00 11.86           C  \nATOM   1932  C   THR B 111      20.244   1.077  60.269  1.00 12.74           C  \nATOM   1933  O   THR B 111      21.185   0.923  61.051  1.00 15.22           O  \nATOM   1934  CB  THR B 111      18.921   3.195  60.078  1.00 14.73           C  \nATOM   1935  OG1 THR B 111      18.902   4.497  59.480  1.00 19.58           O  \nATOM   1936  CG2 THR B 111      19.062   3.336  61.581  1.00 15.13           C  \nATOM   1937  N   ALA B 112      19.323   0.142  60.053  1.00 12.23           N  \nATOM   1938  CA  ALA B 112      19.331  -1.141  60.754  1.00 11.14           C  \nATOM   1939  C   ALA B 112      20.574  -1.979  60.483  1.00 12.34           C  \nATOM   1940  O   ALA B 112      21.040  -2.715  61.355  1.00 13.84           O  \nATOM   1941  CB  ALA B 112      18.080  -1.932  60.391  1.00 12.37           C  \nATOM   1942  N   ILE B 113      21.111  -1.869  59.274  1.00  9.34           N  \nATOM   1943  CA  ILE B 113      22.304  -2.621  58.913  1.00  9.05           C  \nATOM   1944  C   ILE B 113      23.555  -1.956  59.482  1.00  7.74           C  \nATOM   1945  O   ILE B 113      24.417  -2.625  60.057  1.00 11.19           O  \nATOM   1946  CB  ILE B 113      22.432  -2.740  57.378  1.00 10.56           C  \nATOM   1947  CG1 ILE B 113      21.304  -3.629  56.844  1.00 10.65           C  \nATOM   1948  CG2 ILE B 113      23.796  -3.307  57.002  1.00 13.59           C  \nATOM   1949  CD1 ILE B 113      21.297  -3.801  55.332  1.00 15.03           C  \nATOM   1950  N   LYS B 114      23.645  -0.639  59.327  1.00 10.63           N  \nATOM   1951  CA  LYS B 114      24.794   0.124  59.815  1.00 11.86           C  \nATOM   1952  C   LYS B 114      24.963  -0.081  61.318  1.00 11.42           C  \nATOM   1953  O   LYS B 114      26.074  -0.212  61.827  1.00 11.28           O  \nATOM   1954  CB  LYS B 114      24.588   1.614  59.527  1.00 14.01           C  \nATOM   1955  CG  LYS B 114      25.802   2.487  59.815  1.00 17.21           C  \nATOM   1956  CD  LYS B 114      25.454   3.972  59.759  1.00 21.95           C  \nATOM   1957  CE  LYS B 114      24.861   4.377  58.417  1.00 22.79           C  \nATOM   1958  NZ  LYS B 114      24.536   5.835  58.380  1.00 25.75           N  \nATOM   1959  N   ARG B 115      23.831  -0.098  62.012  1.00 11.17           N  \nATOM   1960  CA  ARG B 115      23.769  -0.271  63.455  1.00 12.50           C  \nATOM   1961  C   ARG B 115      24.406  -1.587  63.920  1.00 13.03           C  \nATOM   1962  O   ARG B 115      24.989  -1.654  65.005  1.00 12.52           O  \nATOM   1963  CB  ARG B 115      22.293  -0.205  63.865  1.00 17.05           C  \nATOM   1964  CG  ARG B 115      21.964  -0.530  65.299  1.00 24.23           C  \nATOM   1965  CD  ARG B 115      20.478  -0.855  65.396  1.00 17.93           C  \nATOM   1966  NE  ARG B 115      19.625   0.260  64.986  1.00 17.89           N  \nATOM   1967  CZ  ARG B 115      18.384   0.122  64.528  1.00 15.78           C  \nATOM   1968  NH1 ARG B 115      17.848  -1.084  64.406  1.00 18.02           N  \nATOM   1969  NH2 ARG B 115      17.665   1.191  64.219  1.00 16.37           N  \nATOM   1970  N   ASN B 116      24.299  -2.623  63.091  1.00 11.67           N  \nATOM   1971  CA  ASN B 116      24.841  -3.943  63.414  1.00 11.83           C  \nATOM   1972  C   ASN B 116      26.324  -4.121  63.093  1.00 10.94           C  \nATOM   1973  O   ASN B 116      26.787  -5.246  62.882  1.00  8.87           O  \nATOM   1974  CB  ASN B 116      24.043  -5.033  62.688  1.00 16.10           C  \nATOM   1975  CG  ASN B 116      22.639  -5.197  63.240  1.00 25.97           C  \nATOM   1976  OD1 ASN B 116      22.443  -5.273  64.453  1.00 29.95           O  \nATOM   1977  ND2 ASN B 116      21.656  -5.268  62.348  1.00 29.56           N  \nATOM   1978  N   LEU B 117      27.063  -3.018  63.057  1.00 11.88           N  \nATOM   1979  CA  LEU B 117      28.491  -3.063  62.772  1.00 12.36           C  \nATOM   1980  C   LEU B 117      29.195  -3.846  63.874  1.00 14.22           C  \nATOM   1981  O   LEU B 117      29.126  -3.479  65.049  1.00 15.46           O  \nATOM   1982  CB  LEU B 117      29.061  -1.640  62.696  1.00 14.10           C  \nATOM   1983  CG  LEU B 117      30.572  -1.486  62.471  1.00 14.06           C  \nATOM   1984  CD1 LEU B 117      30.963  -2.022  61.099  1.00 11.30           C  \nATOM   1985  CD2 LEU B 117      30.951  -0.014  62.586  1.00 15.66           C  \nATOM   1986  N   ILE B 118      29.860  -4.931  63.487  1.00 11.99           N  \nATOM   1987  CA  ILE B 118      30.584  -5.786  64.424  1.00 14.24           C  \nATOM   1988  C   ILE B 118      32.050  -5.387  64.479  1.00 14.47           C  \nATOM   1989  O   ILE B 118      32.655  -5.317  65.551  1.00 15.41           O  \nATOM   1990  CB  ILE B 118      30.537  -7.271  63.985  1.00 13.78           C  \nATOM   1991  CG1 ILE B 118      29.107  -7.801  64.047  1.00 17.05           C  \nATOM   1992  CG2 ILE B 118      31.464  -8.106  64.863  1.00 21.57           C  \nATOM   1993  CD1 ILE B 118      28.975  -9.211  63.506  1.00 13.64           C  \nATOM   1994  N   LYS B 119      32.617  -5.133  63.307  1.00 12.50           N  \nATOM   1995  CA  LYS B 119      34.020  -4.779  63.206  1.00 13.01           C  \nATOM   1996  C   LYS B 119      34.268  -3.873  62.013  1.00 13.28           C  \nATOM   1997  O   LYS B 119      33.690  -4.068  60.943  1.00 10.47           O  \nATOM   1998  CB  LYS B 119      34.845  -6.058  63.061  1.00 15.90           C  \nATOM   1999  CG  LYS B 119      36.341  -5.859  62.985  1.00 20.79           C  \nATOM   2000  CD  LYS B 119      37.027  -7.195  62.754  1.00 22.35           C  \nATOM   2001  CE  LYS B 119      38.522  -7.087  62.940  1.00 23.28           C  \nATOM   2002  NZ  LYS B 119      38.848  -6.704  64.340  1.00 21.74           N  \nATOM   2003  N   ASP B 120      35.123  -2.875  62.207  1.00 11.74           N  \nATOM   2004  CA  ASP B 120      35.468  -1.949  61.143  1.00 13.09           C  \nATOM   2005  C   ASP B 120      36.980  -1.826  61.068  1.00 15.64           C  \nATOM   2006  O   ASP B 120      37.588  -1.076  61.830  1.00 18.59           O  \nATOM   2007  CB  ASP B 120      34.859  -0.566  61.395  1.00 14.18           C  \nATOM   2008  CG  ASP B 120      35.133   0.406  60.255  1.00 21.36           C  \nATOM   2009  OD1 ASP B 120      36.318   0.667  59.958  1.00 18.80           O  \nATOM   2010  OD2 ASP B 120      34.162   0.905  59.651  1.00 24.72           O  \nATOM   2011  N   PHE B 121      37.586  -2.590  60.165  1.00 10.68           N  \nATOM   2012  CA  PHE B 121      39.028  -2.547  59.977  1.00  8.67           C  \nATOM   2013  C   PHE B 121      39.187  -1.661  58.755  1.00  9.80           C  \nATOM   2014  O   PHE B 121      39.505  -2.131  57.658  1.00 10.45           O  \nATOM   2015  CB  PHE B 121      39.567  -3.948  59.690  1.00 11.06           C  \nATOM   2016  CG  PHE B 121      41.064  -4.048  59.755  1.00  8.57           C  \nATOM   2017  CD1 PHE B 121      41.720  -4.053  60.981  1.00  7.88           C  \nATOM   2018  CD2 PHE B 121      41.819  -4.133  58.589  1.00 11.03           C  \nATOM   2019  CE1 PHE B 121      43.108  -4.144  61.049  1.00  9.29           C  \nATOM   2020  CE2 PHE B 121      43.210  -4.224  58.644  1.00 12.45           C  \nATOM   2021  CZ  PHE B 121      43.857  -4.230  59.876  1.00 11.76           C  \nATOM   2022  N   CYS B 122      38.954  -0.368  58.952  1.00  9.68           N  \nATOM   2023  CA  CYS B 122      39.012   0.558  57.842  1.00 11.76           C  \nATOM   2024  C   CYS B 122      39.164   2.035  58.195  1.00 12.00           C  \nATOM   2025  O   CYS B 122      40.214   2.631  57.964  1.00 11.46           O  \nATOM   2026  CB  CYS B 122      37.749   0.362  56.999  1.00 10.50           C  \nATOM   2027  SG  CYS B 122      37.515   1.575  55.670  1.00 12.06           S  \nATOM   2028  N   ARG B 123      38.109   2.618  58.753  1.00 13.81           N  \nATOM   2029  CA  ARG B 123      38.098   4.038  59.077  1.00 13.54           C  \nATOM   2030  C   ARG B 123      39.199   4.550  60.003  1.00 15.49           C  \nATOM   2031  O   ARG B 123      39.665   5.677  59.835  1.00 15.89           O  \nATOM   2032  CB  ARG B 123      36.724   4.424  59.631  1.00 17.36           C  \nATOM   2033  CG  ARG B 123      35.592   4.061  58.678  1.00 27.63           C  \nATOM   2034  CD  ARG B 123      34.225   4.502  59.180  1.00 35.34           C  \nATOM   2035  NE  ARG B 123      34.042   5.948  59.100  1.00 40.69           N  \nATOM   2036  CZ  ARG B 123      32.965   6.534  58.583  1.00 43.50           C  \nATOM   2037  NH1 ARG B 123      32.876   7.856  58.550  1.00 44.75           N  \nATOM   2038  NH2 ARG B 123      31.979   5.797  58.087  1.00 40.61           N  \nATOM   2039  N   LYS B 124      39.622   3.735  60.964  1.00 12.28           N  \nATOM   2040  CA  LYS B 124      40.664   4.165  61.897  1.00 10.38           C  \nATOM   2041  C   LYS B 124      42.094   3.826  61.471  1.00 11.81           C  \nATOM   2042  O   LYS B 124      43.044   4.116  62.200  1.00 10.66           O  \nATOM   2043  CB  LYS B 124      40.400   3.591  63.293  1.00 12.36           C  \nATOM   2044  CG  LYS B 124      39.249   4.256  64.030  1.00 15.36           C  \nATOM   2045  CD  LYS B 124      39.132   3.712  65.448  1.00 24.54           C  \nATOM   2046  CE  LYS B 124      38.082   4.458  66.251  1.00 31.08           C  \nATOM   2047  NZ  LYS B 124      38.118   4.064  67.691  1.00 36.16           N  \nATOM   2048  N   LEU B 125      42.251   3.215  60.301  1.00 10.78           N  \nATOM   2049  CA  LEU B 125      43.581   2.873  59.807  1.00  9.35           C  \nATOM   2050  C   LEU B 125      44.342   4.140  59.430  1.00 13.02           C  \nATOM   2051  O   LEU B 125      43.768   5.079  58.880  1.00 16.48           O  \nATOM   2052  CB  LEU B 125      43.482   1.964  58.579  1.00 12.38           C  \nATOM   2053  CG  LEU B 125      43.052   0.517  58.828  1.00  9.98           C  \nATOM   2054  CD1 LEU B 125      42.807  -0.166  57.488  1.00 15.34           C  \nATOM   2055  CD2 LEU B 125      44.125  -0.216  59.624  1.00 10.78           C  \nATOM   2056  N   SER B 126      45.634   4.162  59.737  1.00 10.00           N  \nATOM   2057  CA  SER B 126      46.478   5.305  59.416  1.00 14.06           C  \nATOM   2058  C   SER B 126      47.202   5.060  58.094  1.00 16.28           C  \nATOM   2059  O   SER B 126      47.689   6.043  57.498  1.00 15.23           O  \nATOM   2060  CB  SER B 126      47.498   5.546  60.535  1.00 15.40           C  \nATOM   2061  OG  SER B 126      48.333   4.419  60.724  1.00 18.55           O  \nTER    2062      SER B 126                                                      \nHETATM 2063  S   SO4 B 127      48.867 -16.604  52.271  1.00 25.56           S  \nHETATM 2064  O1  SO4 B 127      49.341 -16.224  50.947  1.00 28.92           O  \nHETATM 2065  O2  SO4 B 127      48.593 -18.036  52.303  1.00 28.08           O  \nHETATM 2066  O3  SO4 B 127      47.644 -15.882  52.588  1.00 25.89           O  \nHETATM 2067  O4  SO4 B 127      49.897 -16.287  53.254  1.00 29.35           O  \nHETATM 2068  O   HOH A 127      28.458   6.021  35.670  1.00 18.16           O  \nHETATM 2069  O   HOH A 128      15.890   4.410  18.138  1.00 20.16           O  \nHETATM 2070  O   HOH A 129      27.529   3.101  15.774  1.00 15.18           O  \nHETATM 2071  O   HOH A 130      32.450  11.412  36.797  1.00 19.18           O  \nHETATM 2072  O   HOH A 131       8.531   7.793  20.199  1.00 17.77           O  \nHETATM 2073  O   HOH A 132      14.364   5.265  15.973  1.00 14.05           O  \nHETATM 2074  O   HOH A 133      21.168 -10.826  39.672  1.00 40.57           O  \nHETATM 2075  O   HOH A 134      13.915  13.483  37.608  1.00 27.78           O  \nHETATM 2076  O   HOH A 135      26.790  -7.651  16.405  1.00 24.21           O  \nHETATM 2077  O   HOH A 136       6.144   2.232  31.847  1.00 13.55           O  \nHETATM 2078  O   HOH A 137      23.212   5.252  37.469  1.00 16.16           O  \nHETATM 2079  O   HOH A 138      32.876  14.054  31.321  1.00 14.52           O  \nHETATM 2080  O   HOH A 139      18.750  15.727  36.860  1.00 13.89           O  \nHETATM 2081  O   HOH A 140      20.509  13.974  37.699  1.00 18.12           O  \nHETATM 2082  O   HOH A 141      12.567  16.103  40.950  1.00 47.04           O  \nHETATM 2083  O   HOH A 142       9.021  -9.289  16.267  1.00 17.98           O  \nHETATM 2084  O   HOH A 143      17.666   0.546   9.599  1.00 17.59           O  \nHETATM 2085  O   HOH A 144      20.509  19.781  39.096  1.00 16.70           O  \nHETATM 2086  O   HOH A 145      29.542  14.893  29.222  1.00 19.74           O  \nHETATM 2087  O   HOH A 146      24.207   0.245   8.979  1.00 13.69           O  \nHETATM 2088  O   HOH A 147      19.424  -0.651   7.809  1.00 27.68           O  \nHETATM 2089  O   HOH A 148       9.795   2.207  30.687  1.00 15.45           O  \nHETATM 2090  O   HOH A 149      18.090   5.197  13.129  1.00 16.39           O  \nHETATM 2091  O   HOH A 150      10.390   8.107  40.116  1.00 22.43           O  \nHETATM 2092  O   HOH A 151       9.065  -6.856  18.209  1.00 15.48           O  \nHETATM 2093  O   HOH A 152       0.569   7.297  34.180  1.00 59.53           O  \nHETATM 2094  O   HOH A 153      15.795 -12.274  29.582  1.00 22.45           O  \nHETATM 2095  O   HOH A 154       0.364   8.593  28.085  1.00 32.19           O  \nHETATM 2096  O   HOH A 155      14.526  -6.119  13.878  1.00 17.77           O  \nHETATM 2097  O   HOH A 156      32.185  -6.589  38.208  1.00 18.38           O  \nHETATM 2098  O   HOH A 157       7.829   8.695  37.464  1.00 26.42           O  \nHETATM 2099  O   HOH A 158      34.392  10.333  26.308  1.00 36.60           O  \nHETATM 2100  O   HOH A 159      23.565  -8.918  42.385  1.00 17.23           O  \nHETATM 2101  O   HOH A 160      13.468  -2.601  41.021  1.00 31.02           O  \nHETATM 2102  O   HOH A 161      15.974 -11.974  39.259  1.00 46.44           O  \nHETATM 2103  O   HOH A 162      20.465  -3.746  15.557  1.00 19.08           O  \nHETATM 2104  O   HOH A 163      10.423  -8.380  32.230  1.00 20.38           O  \nHETATM 2105  O   HOH A 164      26.461  20.839  31.209  1.00 31.39           O  \nHETATM 2106  O   HOH A 165      29.295  -9.281  16.094  1.00 23.95           O  \nHETATM 2107  O   HOH A 166      26.125   5.967  38.272  1.00 11.91           O  \nHETATM 2108  O   HOH A 167      29.108   7.237  33.084  1.00 20.47           O  \nHETATM 2109  O   HOH A 168      34.636  11.173  33.949  1.00 30.19           O  \nHETATM 2110  O   HOH A 169       6.420  -3.918  15.489  1.00 25.60           O  \nHETATM 2111  O   HOH A 170      23.472  24.694  26.504  1.00 26.33           O  \nHETATM 2112  O   HOH A 171      34.478  14.634  27.057  1.00 37.21           O  \nHETATM 2113  O   HOH A 172      18.881   4.081  43.149  1.00 24.39           O  \nHETATM 2114  O   HOH A 173      28.866  14.402  22.340  1.00 18.69           O  \nHETATM 2115  O   HOH A 174       4.439   4.023  24.306  1.00 23.70           O  \nHETATM 2116  O   HOH A 175      31.755   2.603  33.263  1.00 16.38           O  \nHETATM 2117  O   HOH A 176      23.200  -4.358  36.680  1.00 31.65           O  \nHETATM 2118  O   HOH A 177      21.150  21.348  36.961  1.00 26.97           O  \nHETATM 2119  O   HOH A 178      11.925  20.572  30.823  1.00 22.88           O  \nHETATM 2120  O   HOH A 179      16.017 -13.071  21.195  1.00 25.75           O  \nHETATM 2121  O   HOH A 180      14.731  -0.038  41.120  1.00 26.44           O  \nHETATM 2122  O   HOH A 181      11.300  -9.182  34.868  1.00 21.65           O  \nHETATM 2123  O   HOH A 182      18.427   8.411  15.853  1.00 38.01           O  \nHETATM 2124  O   HOH A 183      14.795  -4.039  42.949  1.00 21.73           O  \nHETATM 2125  O   HOH A 184      21.308   0.911   6.430  1.00 32.59           O  \nHETATM 2126  O   HOH A 185       4.527   0.507  15.147  1.00 25.41           O  \nHETATM 2127  O   HOH A 186      29.661   0.827  20.631  1.00 25.66           O  \nHETATM 2128  O   HOH A 187      21.751  11.717  19.933  1.00 32.92           O  \nHETATM 2129  O   HOH A 188      21.736  -9.779  17.752  1.00 27.30           O  \nHETATM 2130  O   HOH A 189      11.316 -12.582  27.378  1.00 29.15           O  \nHETATM 2131  O   HOH A 190       9.669   5.484  18.610  1.00 26.69           O  \nHETATM 2132  O   HOH A 191      19.318   3.820  18.119  1.00 38.74           O  \nHETATM 2133  O   HOH A 192      18.070 -13.805  22.871  1.00 25.31           O  \nHETATM 2134  O   HOH A 193      22.731   8.761  14.625  1.00 41.11           O  \nHETATM 2135  O   HOH A 194       4.385   2.690  38.102  1.00 35.23           O  \nHETATM 2136  O   HOH A 195      23.645  19.112  17.947  1.00 46.35           O  \nHETATM 2137  O   HOH A 196      30.774   3.605  16.864  1.00 28.90           O  \nHETATM 2138  O   HOH A 197      19.222 -10.903  33.649  1.00 28.13           O  \nHETATM 2139  O   HOH A 198      17.347   9.215  41.145  1.00 22.51           O  \nHETATM 2140  O   HOH A 199      21.370   8.664  17.154  1.00 38.09           O  \nHETATM 2141  O   HOH A 200      18.365 -12.649  29.262  1.00 33.71           O  \nHETATM 2142  O   HOH A 201       2.634   2.625  18.276  1.00 42.51           O  \nHETATM 2143  O   HOH A 202      13.378  13.206  20.148  1.00 35.17           O  \nHETATM 2144  O   HOH A 203       8.441  -6.718  31.351  1.00 38.20           O  \nHETATM 2145  O   HOH A 204      21.225  -5.776  17.077  1.00 25.88           O  \nHETATM 2146  O   HOH A 205       9.449  -9.504  24.578  1.00 41.50           O  \nHETATM 2147  O   HOH A 206      33.653   8.582  34.021  1.00 37.11           O  \nHETATM 2148  O   HOH A 207      32.071  -2.237  29.668  1.00 38.24           O  \nHETATM 2149  O   HOH A 208      22.846  20.908  31.331  1.00 24.85           O  \nHETATM 2150  O   HOH A 209       9.709  16.523  36.392  1.00 34.23           O  \nHETATM 2151  O   HOH A 210      19.545  -8.901  47.793  1.00 19.93           O  \nHETATM 2152  O   HOH A 211       3.834   1.410  34.546  1.00 29.83           O  \nHETATM 2153  O   HOH A 212       9.928  10.065  19.432  1.00 23.37           O  \nHETATM 2154  O   HOH A 213      17.316   2.456  17.331  1.00 23.33           O  \nHETATM 2155  O   HOH A 214      18.932 -10.214  38.460  1.00 51.98           O  \nHETATM 2156  O   HOH A 215      12.017  14.522  36.271  1.00 20.10           O  \nHETATM 2157  O   HOH A 216      16.337   6.663  14.598  1.00 20.86           O  \nHETATM 2158  O   HOH A 217      11.392  -9.367  14.836  1.00 24.37           O  \nHETATM 2159  O   HOH A 218      24.178  -2.514   8.091  1.00 29.18           O  \nHETATM 2160  O   HOH A 219      19.046   7.405  11.509  1.00 24.46           O  \nHETATM 2161  O   HOH A 220      13.723  -7.995  15.643  1.00 19.27           O  \nHETATM 2162  O   HOH A 221      16.915  -6.210  12.855  1.00 34.03           O  \nHETATM 2163  O   HOH A 222      15.213 -12.334  36.436  1.00 43.21           O  \nHETATM 2164  O   HOH A 223      16.447 -11.679  34.274  1.00 31.98           O  \nHETATM 2165  O   HOH A 224      22.688  -2.690  14.501  1.00 17.55           O  \nHETATM 2166  O   HOH A 225       9.995 -10.442  28.308  1.00 27.23           O  \nHETATM 2167  O   HOH A 226      31.864   6.950  32.720  1.00 21.11           O  \nHETATM 2168  O   HOH A 227       4.229  -2.360  15.587  1.00 23.38           O  \nHETATM 2169  O   HOH A 228       4.505   0.687  30.549  1.00 23.25           O  \nHETATM 2170  O   HOH A 229       6.174   9.648  39.470  1.00 41.45           O  \nHETATM 2171  O   HOH A 230       4.610  12.718  39.742  1.00 35.21           O  \nHETATM 2172  O   HOH A 231      15.402  10.740  42.875  1.00 36.92           O  \nHETATM 2173  O   HOH A 232      16.260  14.730  38.071  1.00 25.76           O  \nHETATM 2174  O   HOH A 233      15.127  16.485  39.592  1.00 30.08           O  \nHETATM 2175  O   HOH A 234      28.618   7.242  38.403  1.00 15.53           O  \nHETATM 2176  O   HOH A 235      28.047  16.891  29.963  1.00 23.89           O  \nHETATM 2177  O   HOH A 236      27.988  19.477  29.092  1.00 28.80           O  \nHETATM 2178  O   HOH A 237      26.753  23.936  32.222  1.00 31.67           O  \nHETATM 2179  O   HOH A 238      28.048  21.800  33.174  1.00 21.45           O  \nHETATM 2180  O   HOH A 239      33.571  13.322  35.119  1.00 15.52           O  \nHETATM 2181  O   HOH A 240      32.541   8.637  36.660  1.00 36.94           O  \nHETATM 2182  O   HOH A 241      34.452  16.574  29.303  1.00 48.18           O  \nHETATM 2183  O   HOH A 242      18.024   5.361  19.430  1.00 47.32           O  \nHETATM 2184  O   HOH A 243      14.592  11.263  14.709  1.00 42.99           O  \nHETATM 2185  O   HOH A 244      14.557  12.387  17.278  1.00 40.04           O  \nHETATM 2186  O   HOH A 245       5.402  11.533  19.367  1.00 37.99           O  \nHETATM 2187  O   HOH A 246       1.547  10.483  34.966  1.00 50.86           O  \nHETATM 2188  O   HOH A 247       8.347  19.301  29.971  1.00 34.22           O  \nHETATM 2189  O   HOH A 248       4.474   5.156  21.778  1.00 35.03           O  \nHETATM 2190  O   HOH A 249       4.468  -6.497  29.200  1.00 55.94           O  \nHETATM 2191  O   HOH A 250      19.651  -5.640  13.417  1.00 36.65           O  \nHETATM 2192  O   HOH A 251      21.605  -7.187  12.499  1.00 40.70           O  \nHETATM 2193  O   HOH A 252      23.453  -4.868  12.762  1.00 29.49           O  \nHETATM 2194  O   HOH A 253      23.477   2.365   7.143  1.00 32.07           O  \nHETATM 2195  O   HOH A 254       9.360 -11.007  35.370  1.00 34.26           O  \nHETATM 2196  O   HOH A 255      13.398 -14.109  27.878  1.00 35.77           O  \nHETATM 2197  O   HOH A 256      21.048 -13.292  21.921  1.00 33.01           O  \nHETATM 2198  O   HOH A 257      33.756  -0.353  28.616  1.00 50.01           O  \nHETATM 2199  O   HOH A 258      23.567 -10.992  38.444  1.00 31.78           O  \nHETATM 2200  O   HOH A 259      17.284 -11.906  42.550  1.00 54.66           O  \nHETATM 2201  O   HOH A 260      30.748  19.823  29.133  1.00 25.39           O  \nHETATM 2202  O   HOH A 261      25.043  -8.497  14.937  1.00 41.33           O  \nHETATM 2203  O   HOH A 262      19.440   8.016  41.932  1.00 35.29           O  \nHETATM 2204  O   HOH A 263      29.159   5.342  11.721  1.00 43.86           O  \nHETATM 2205  O   HOH A 264      10.175  16.614  23.367  1.00 47.96           O  \nHETATM 2206  O   HOH A 265       8.888  19.630  27.509  1.00 45.65           O  \nHETATM 2207  O   HOH A 266      15.171   8.791  13.449  1.00 28.77           O  \nHETATM 2208  O   HOH A 267      17.008   9.159  11.329  1.00 40.73           O  \nHETATM 2209  O   HOH A 268      20.272 -10.986  36.161  1.00 41.24           O  \nHETATM 2210  O   HOH A 269      21.708 -11.083  42.464  1.00 33.85           O  \nHETATM 2211  O   HOH A 270      34.883  19.761  29.704  1.00 42.92           O  \nHETATM 2212  O   HOH A 271      33.870  21.990  30.733  1.00 43.19           O  \nHETATM 2213  O   HOH A 272      10.579 -15.293  33.494  1.00 39.64           O  \nHETATM 2214  O   HOH A 273       9.508 -13.518  35.159  1.00 38.76           O  \nHETATM 2215  O   HOH A 274      12.930 -11.463  37.352  1.00 43.18           O  \nHETATM 2216  O   HOH A 275      16.007 -13.401  32.247  1.00 39.13           O  \nHETATM 2217  O   HOH A 276       9.398 -14.257  28.668  1.00 33.79           O  \nHETATM 2218  O   HOH A 277       1.835  11.932  23.571  1.00 30.16           O  \nHETATM 2219  O   HOH A 278       9.119 -10.573  30.966  1.00 37.25           O  \nHETATM 2220  O   HOH A 279       7.930  -9.110  27.143  1.00 42.11           O  \nHETATM 2221  O   HOH A 280      26.814  17.987  16.451  1.00 51.41           O  \nHETATM 2222  O   HOH A 281       9.758   9.876  16.768  1.00 40.33           O  \nHETATM 2223  O   HOH A 282       7.752  12.854  19.320  1.00 35.83           O  \nHETATM 2224  O   HOH A 283       6.752  15.361  19.555  1.00 39.15           O  \nHETATM 2225  O   HOH A 284      12.304  -3.776  44.474  1.00 42.18           O  \nHETATM 2226  O   HOH B 128      21.749   7.845  52.818  1.00 14.25           O  \nHETATM 2227  O   HOH B 129      35.392 -13.107  35.614  1.00 25.17           O  \nHETATM 2228  O   HOH B 130      35.727   8.326  46.410  1.00 12.99           O  \nHETATM 2229  O   HOH B 131      23.311  -8.504  45.288  1.00 12.61           O  \nHETATM 2230  O   HOH B 132      29.110 -18.789  46.047  1.00 23.45           O  \nHETATM 2231  O   HOH B 133      47.502   1.457  58.755  1.00 14.50           O  \nHETATM 2232  O   HOH B 134      27.493  10.307  51.644  1.00 12.27           O  \nHETATM 2233  O   HOH B 135      24.522  10.723  51.950  1.00 10.99           O  \nHETATM 2234  O   HOH B 136      39.003   6.377  48.604  1.00 14.10           O  \nHETATM 2235  O   HOH B 137      27.459  -7.921  41.927  1.00 18.41           O  \nHETATM 2236  O   HOH B 138      27.538   1.783  63.090  1.00 19.30           O  \nHETATM 2237  O   HOH B 139      24.761  -7.627  47.446  1.00 12.74           O  \nHETATM 2238  O   HOH B 140      39.216   4.896  46.269  1.00 19.66           O  \nHETATM 2239  O   HOH B 141      29.205  10.791  53.689  1.00 15.87           O  \nHETATM 2240  O   HOH B 142      19.940   2.678  45.179  1.00 13.59           O  \nHETATM 2241  O   HOH B 143      29.698 -20.740  49.396  1.00 16.97           O  \nHETATM 2242  O   HOH B 144      41.100   6.919  50.486  1.00 10.64           O  \nHETATM 2243  O   HOH B 145      20.931   5.078  51.843  1.00 29.27           O  \nHETATM 2244  O   HOH B 146      27.235  -1.233  35.422  1.00 19.56           O  \nHETATM 2245  O   HOH B 147      46.212   1.487  50.336  1.00 23.03           O  \nHETATM 2246  O   HOH B 148      22.198 -11.958  48.612  1.00 24.32           O  \nHETATM 2247  O   HOH B 149      29.694 -10.191  41.013  1.00 18.37           O  \nHETATM 2248  O   HOH B 150      33.598 -20.124  45.598  1.00 15.74           O  \nHETATM 2249  O   HOH B 151      36.668   7.905  57.359  1.00 28.27           O  \nHETATM 2250  O   HOH B 152      22.383   3.251  62.407  1.00 21.39           O  \nHETATM 2251  O   HOH B 153      30.112 -16.483  44.979  1.00 20.97           O  \nHETATM 2252  O   HOH B 154      34.356  -5.386  39.413  1.00 16.41           O  \nHETATM 2253  O   HOH B 155      15.656  -4.125  46.248  1.00 18.93           O  \nHETATM 2254  O   HOH B 156      16.874  -4.983  44.105  1.00 17.87           O  \nHETATM 2255  O   HOH B 157      33.806  -0.151  43.682  1.00 16.12           O  \nHETATM 2256  O   HOH B 158      15.326   3.157  46.586  1.00 41.28           O  \nHETATM 2257  O   HOH B 159      32.716   9.399  55.235  1.00 21.01           O  \nHETATM 2258  O   HOH B 160      34.643   9.442  53.256  1.00 16.07           O  \nHETATM 2259  O   HOH B 161      29.968  -0.287  35.588  1.00 19.95           O  \nHETATM 2260  O   HOH B 162      23.577   9.066  55.922  1.00 30.60           O  \nHETATM 2261  O   HOH B 163      29.571  -4.628  36.083  1.00 31.15           O  \nHETATM 2262  O   HOH B 164      28.896 -12.583  41.636  1.00 33.44           O  \nHETATM 2263  O   HOH B 165      46.622   0.764  53.966  1.00 19.11           O  \nHETATM 2264  O   HOH B 166      22.306   5.686  56.691  1.00 29.21           O  \nHETATM 2265  O   HOH B 167      36.992   7.644  39.802  1.00 35.51           O  \nHETATM 2266  O   HOH B 168      25.761  -3.624  36.491  1.00 38.29           O  \nHETATM 2267  O   HOH B 169      18.592   1.549  49.716  1.00 27.31           O  \nHETATM 2268  O   HOH B 170      42.868   7.188  46.987  1.00 35.86           O  \nHETATM 2269  O   HOH B 171      27.292 -14.274  43.160  1.00 37.43           O  \nHETATM 2270  O   HOH B 172      25.362 -15.750  45.104  1.00 30.52           O  \nHETATM 2271  O   HOH B 173      43.076   9.501  56.562  1.00 43.34           O  \nHETATM 2272  O   HOH B 174      32.204   2.950  60.662  1.00 32.82           O  \nHETATM 2273  O   HOH B 175      33.831   1.926  37.009  1.00 29.41           O  \nHETATM 2274  O   HOH B 176      47.425   8.687  58.230  1.00 35.83           O  \nHETATM 2275  O   HOH B 177      43.492   7.252  53.386  1.00 29.73           O  \nHETATM 2276  O   HOH B 178      32.958 -17.842  44.639  1.00 36.54           O  \nHETATM 2277  O   HOH B 179      23.971   6.496  39.400  1.00 31.56           O  \nHETATM 2278  O   HOH B 180      38.250   8.614  47.381  1.00 19.44           O  \nHETATM 2279  O   HOH B 181      21.536 -10.246  46.303  1.00 20.07           O  \nHETATM 2280  O   HOH B 182      30.890 -20.716  46.247  1.00 18.53           O  \nHETATM 2281  O   HOH B 183      26.565 -19.302  45.680  1.00 34.84           O  \nHETATM 2282  O   HOH B 184      46.915  -0.253  56.738  1.00 18.35           O  \nHETATM 2283  O   HOH B 185      45.975  -2.818  56.285  1.00 19.90           O  \nHETATM 2284  O   HOH B 186      25.009   3.263  63.422  1.00 16.72           O  \nHETATM 2285  O   HOH B 187      25.048  -8.829  50.066  1.00 15.00           O  \nHETATM 2286  O   HOH B 188      17.988   2.155  47.022  1.00 26.39           O  \nHETATM 2287  O   HOH B 189      20.881   4.644  46.848  1.00 14.77           O  \nHETATM 2288  O   HOH B 190      23.050   5.646  45.819  1.00 13.73           O  \nHETATM 2289  O   HOH B 191      19.937   4.058  49.511  1.00 15.75           O  \nHETATM 2290  O   HOH B 192      17.160   1.434  51.955  1.00 32.82           O  \nHETATM 2291  O   HOH B 193      48.590  -1.720  48.336  1.00 27.63           O  \nHETATM 2292  O   HOH B 194      47.845  -3.678  44.065  1.00 28.54           O  \nHETATM 2293  O   HOH B 195      44.564  -2.291  42.836  1.00 25.85           O  \nHETATM 2294  O   HOH B 196      40.878  -3.749  43.732  1.00 11.38           O  \nHETATM 2295  O   HOH B 197      38.402  -3.964  46.400  1.00 14.57           O  \nHETATM 2296  O   HOH B 198      18.847  -6.953  56.593  1.00 25.01           O  \nHETATM 2297  O   HOH B 199      17.606  -2.703  54.515  1.00 27.07           O  \nHETATM 2298  O   HOH B 200      35.941 -22.085  49.046  1.00  8.69           O  \nHETATM 2299  O   HOH B 201      36.529   9.884  55.225  1.00 34.94           O  \nHETATM 2300  O   HOH B 202      21.808   7.078  43.858  1.00 15.74           O  \nHETATM 2301  O   HOH B 203      33.310 -10.259  36.870  1.00 28.74           O  \nHETATM 2302  O   HOH B 204      24.861 -18.928  59.731  1.00 19.32           O  \nHETATM 2303  O   HOH B 205      32.609   0.477  35.005  1.00 33.68           O  \nHETATM 2304  O   HOH B 206      25.908  -5.820  34.938  1.00 32.89           O  \nHETATM 2305  O   HOH B 207      25.406  -5.983  66.383  1.00 18.21           O  \nHETATM 2306  O   HOH B 208      22.532 -12.430  65.714  1.00 21.91           O  \nHETATM 2307  O   HOH B 209      36.385   0.150  42.555  1.00 21.29           O  \nHETATM 2308  O   HOH B 210      40.011  -1.866  41.602  1.00 16.46           O  \nHETATM 2309  O   HOH B 211      45.990 -10.409  46.937  1.00 15.14           O  \nHETATM 2310  O   HOH B 212      47.299 -12.855  46.122  1.00 37.65           O  \nHETATM 2311  O   HOH B 213      47.300 -10.021  50.070  1.00 11.57           O  \nHETATM 2312  O   HOH B 214      49.415 -11.742  49.384  1.00 25.56           O  \nHETATM 2313  O   HOH B 215      50.432  -8.592  48.180  1.00 34.76           O  \nHETATM 2314  O   HOH B 216      45.950 -17.117  47.140  1.00 11.91           O  \nHETATM 2315  O   HOH B 217      48.209 -16.855  48.400  1.00 20.67           O  \nHETATM 2316  O   HOH B 218      49.622 -19.497  48.902  1.00 36.91           O  \nHETATM 2317  O   HOH B 219      41.472 -19.513  42.460  1.00 22.18           O  \nHETATM 2318  O   HOH B 220      41.314 -19.608  39.815  1.00 29.27           O  \nHETATM 2319  O   HOH B 221      39.856 -17.844  38.429  1.00 27.86           O  \nHETATM 2320  O   HOH B 222      42.340 -15.231  36.539  1.00 36.18           O  \nHETATM 2321  O   HOH B 223      44.862 -13.117  36.832  1.00 31.70           O  \nHETATM 2322  O   HOH B 224      40.127  -8.641  36.131  1.00 26.48           O  \nHETATM 2323  O   HOH B 225      51.919 -10.132  49.666  1.00 40.48           O  \nHETATM 2324  O   HOH B 226      45.494 -11.393  57.214  1.00 17.13           O  \nHETATM 2325  O   HOH B 227      40.907 -17.643  56.706  1.00 12.60           O  \nHETATM 2326  O   HOH B 228      43.628 -18.106  57.649  1.00 17.39           O  \nHETATM 2327  O   HOH B 229      44.061 -22.668  57.601  1.00 21.34           O  \nHETATM 2328  O   HOH B 230      40.771 -24.364  57.020  1.00 20.20           O  \nHETATM 2329  O   HOH B 231      45.333 -24.598  53.420  1.00 28.40           O  \nHETATM 2330  O   HOH B 232      46.233 -26.590  51.909  1.00 21.65           O  \nHETATM 2331  O   HOH B 233      47.659 -24.550  50.161  1.00 20.60           O  \nHETATM 2332  O   HOH B 234      49.724 -20.577  51.545  1.00 34.06           O  \nHETATM 2333  O   HOH B 235      40.623 -10.464  63.091  1.00 15.64           O  \nHETATM 2334  O   HOH B 236      33.734 -11.034  64.366  1.00 21.79           O  \nHETATM 2335  O   HOH B 237      26.492 -22.373  55.525  1.00 23.99           O  \nHETATM 2336  O   HOH B 238      25.286 -19.773  52.394  1.00 35.79           O  \nHETATM 2337  O   HOH B 239      25.742 -17.045  51.744  1.00 29.50           O  \nHETATM 2338  O   HOH B 240      20.699 -11.436  52.346  1.00 31.96           O  \nHETATM 2339  O   HOH B 241      17.839 -12.847  51.084  1.00 53.96           O  \nHETATM 2340  O   HOH B 242      17.325 -14.512  53.143  1.00 48.01           O  \nHETATM 2341  O   HOH B 243      35.255 -19.515  41.312  1.00 31.47           O  \nHETATM 2342  O   HOH B 244      33.856 -21.721  40.045  1.00 48.42           O  \nHETATM 2343  O   HOH B 245      39.732 -21.420  43.520  1.00 21.00           O  \nHETATM 2344  O   HOH B 246      46.284 -18.521  42.584  1.00 31.72           O  \nHETATM 2345  O   HOH B 247      48.066 -14.706  42.752  1.00 40.32           O  \nHETATM 2346  O   HOH B 248      26.797 -21.029  50.222  1.00 33.09           O  \nHETATM 2347  O   HOH B 249      25.231 -19.819  48.034  1.00 34.56           O  \nHETATM 2348  O   HOH B 250      26.390 -12.057  40.877  1.00 38.86           O  \nHETATM 2349  O   HOH B 251      18.719  -5.241  58.774  1.00 33.80           O  \nHETATM 2350  O   HOH B 252      28.694  -8.590  68.622  1.00 44.04           O  \nHETATM 2351  O   HOH B 253      46.080   7.186  51.268  1.00 44.97           O  \nHETATM 2352  O   HOH B 254      28.373   6.487  59.114  1.00 33.05           O  \nHETATM 2353  O   HOH B 255      27.450  11.405  55.672  1.00 31.86           O  \nHETATM 2354  O   HOH B 256      16.075  -0.438  53.582  1.00 38.00           O  \nHETATM 2355  O   HOH B 257      19.558  -3.430  63.621  1.00 18.86           O  \nHETATM 2356  O   HOH B 258      25.992   0.299  66.754  1.00 27.95           O  \nHETATM 2357  O   HOH B 259      28.314   0.884  65.617  1.00 32.35           O  \nHETATM 2358  O   HOH B 260      38.082   1.529  62.092  1.00 20.93           O  \nHETATM 2359  O   HOH B 261      43.837   6.147  64.045  1.00 24.66           O  \nHETATM 2360  O   HOH B 262      41.759   6.912  65.427  1.00 32.58           O  \nHETATM 2361  O   HOH B 263      36.427   5.947  43.277  1.00 54.89           O  \nHETATM 2362  O   HOH B 264      28.281   6.171  42.732  1.00 30.95           O  \nHETATM 2363  O   HOH B 265      28.532   3.758  42.855  1.00 31.26           O  \nHETATM 2364  O   HOH B 266      26.279   4.488  42.304  1.00 18.18           O  \nHETATM 2365  O   HOH B 267      38.450 -25.374  53.625  1.00 11.50           O  \nHETATM 2366  O   HOH B 268      33.268 -11.967  34.839  1.00 44.52           O  \nHETATM 2367  O   HOH B 269      21.291   7.640  55.382  1.00 37.07           O  \nHETATM 2368  O   HOH B 270      40.543  -6.191  35.086  1.00 46.78           O  \nHETATM 2369  O   HOH B 271      36.278   8.494  43.716  1.00 39.94           O  \nHETATM 2370  O   HOH B 272      38.077   0.885  44.425  1.00 37.70           O  \nHETATM 2371  O   HOH B 273      36.624   2.995  44.072  1.00 44.84           O  \nHETATM 2372  O   HOH B 274      47.680  -3.802  54.241  1.00 29.52           O  \nHETATM 2373  O   HOH B 275      47.542 -25.183  47.426  1.00 44.28           O  \nHETATM 2374  O   HOH B 276      47.958  -0.641  51.434  1.00 41.18           O  \nHETATM 2375  O   HOH B 277      48.773  -1.142  45.731  1.00 47.19           O  \nHETATM 2376  O   HOH B 278      52.432  -3.449  47.286  1.00 34.07           O  \nHETATM 2377  O   HOH B 279      22.927 -20.727  46.764  1.00 43.74           O  \nHETATM 2378  O   HOH B 280      19.895 -12.192  66.540  1.00 37.79           O  \nHETATM 2379  O   HOH B 281      41.198  10.198  58.267  1.00 48.98           O  \nHETATM 2380  O   HOH B 282      44.205  11.703  55.646  1.00 52.92           O  \nHETATM 2381  O   HOH B 283      42.359   7.497  60.196  1.00 46.88           O  \nHETATM 2382  O   HOH B 284      43.862 -18.935  38.363  1.00 32.12           O  \nHETATM 2383  O   HOH B 285      44.692 -12.023  39.188  1.00 33.96           O  \nCONECT  769  996                                                                \nCONECT  821  830                                                                \nCONECT  830  821  831                                                           \nCONECT  831  830  832  834                                                      \nCONECT  832  831  833  838                                                      \nCONECT  833  832                                                                \nCONECT  834  831  835                                                           \nCONECT  835  834  836                                                           \nCONECT  836  835  837                                                           \nCONECT  837  836                                                                \nCONECT  838  832                                                                \nCONECT  996  769                                                                \nCONECT 1800 2027                                                                \nCONECT 1852 1861                                                                \nCONECT 1861 1852 1862                                                           \nCONECT 1862 1861 1863 1865                                                      \nCONECT 1863 1862 1864 1869                                                      \nCONECT 1864 1863                                                                \nCONECT 1865 1862 1866                                                           \nCONECT 1866 1865 1867                                                           \nCONECT 1867 1866 1868                                                           \nCONECT 1868 1867                                                                \nCONECT 1869 1863                                                                \nCONECT 2027 1800                                                                \nCONECT 2063 2064 2065 2066 2067                                                 \nCONECT 2064 2063                                                                \nCONECT 2065 2063                                                                \nCONECT 2066 2063                                                                \nCONECT 2067 2063                                                                \nMASTER      266    0    3   17   10    0    2    6 2381    2   29   20          \nEND                                                                             \n"
  },
  {
    "path": "alphafold/common/testdata/5nmu.pdb",
    "content": "MODEL     1                                                                     \nATOM      1  N   GLY B   1     -13.429 -31.688  20.141  1.00 38.44           N  \nATOM      2  CA  GLY B   1     -12.662 -31.377  18.945  1.00 38.44           C  \nATOM      3  C   GLY B   1     -11.200 -31.093  19.231  1.00 38.44           C  \nATOM      4  O   GLY B   1     -10.829 -30.806  20.371  1.00 38.44           O  \nATOM      5  N   PRO B   2     -10.243 -31.505  18.368  1.00 50.86           N  \nATOM      6  CA  PRO B   2      -8.816 -31.416  18.688  1.00 50.86           C  \nATOM      7  C   PRO B   2      -8.413 -30.038  19.208  1.00 50.86           C  \nATOM      8  CB  PRO B   2      -8.136 -31.715  17.350  1.00 50.86           C  \nATOM      9  O   PRO B   2      -8.956 -29.023  18.763  1.00 50.86           O  \nATOM     10  CG  PRO B   2      -9.241 -31.687  16.344  1.00 50.86           C  \nATOM     11  CD  PRO B   2     -10.542 -31.504  17.071  1.00 50.86           C  \nATOM     12  N   MET B   3      -7.921 -29.907  20.481  1.00 59.36           N  \nATOM     13  CA  MET B   3      -7.548 -28.696  21.206  1.00 59.36           C  \nATOM     14  C   MET B   3      -6.474 -27.919  20.451  1.00 59.36           C  \nATOM     15  CB  MET B   3      -7.053 -29.041  22.612  1.00 59.36           C  \nATOM     16  O   MET B   3      -5.371 -28.425  20.237  1.00 59.36           O  \nATOM     17  CG  MET B   3      -8.139 -28.989  23.674  1.00 59.36           C  \nATOM     18  SD  MET B   3      -7.476 -29.226  25.369  1.00 59.36           S  \nATOM     19  CE  MET B   3      -6.129 -30.392  25.025  1.00 59.36           C  \nATOM     20  N   VAL B   4      -6.728 -27.005  19.518  1.00 78.49           N  \nATOM     21  CA  VAL B   4      -5.824 -26.125  18.784  1.00 78.49           C  \nATOM     22  C   VAL B   4      -5.220 -25.095  19.735  1.00 78.49           C  \nATOM     23  CB  VAL B   4      -6.546 -25.415  17.617  1.00 78.49           C  \nATOM     24  O   VAL B   4      -5.874 -24.661  20.687  1.00 78.49           O  \nATOM     25  CG1 VAL B   4      -5.550 -24.637  16.759  1.00 78.49           C  \nATOM     26  CG2 VAL B   4      -7.311 -26.429  16.768  1.00 78.49           C  \nATOM     27  N   LEU B   5      -3.804 -25.032  19.704  1.00 91.32           N  \nATOM     28  CA  LEU B   5      -3.105 -24.026  20.496  1.00 91.32           C  \nATOM     29  C   LEU B   5      -3.709 -22.644  20.275  1.00 91.32           C  \nATOM     30  CB  LEU B   5      -1.615 -24.007  20.143  1.00 91.32           C  \nATOM     31  O   LEU B   5      -3.924 -22.230  19.134  1.00 91.32           O  \nATOM     32  CG  LEU B   5      -0.684 -23.359  21.169  1.00 91.32           C  \nATOM     33  CD1 LEU B   5      -0.564 -24.240  22.408  1.00 91.32           C  \nATOM     34  CD2 LEU B   5       0.688 -23.099  20.556  1.00 91.32           C  \nATOM     35  N   GLN B   6      -4.013 -22.010  21.428  1.00 95.12           N  \nATOM     36  CA  GLN B   6      -4.759 -20.760  21.344  1.00 95.12           C  \nATOM     37  C   GLN B   6      -3.872 -19.566  21.685  1.00 95.12           C  \nATOM     38  CB  GLN B   6      -5.973 -20.795  22.273  1.00 95.12           C  \nATOM     39  O   GLN B   6      -2.798 -19.730  22.267  1.00 95.12           O  \nATOM     40  CG  GLN B   6      -6.956 -21.914  21.958  1.00 95.12           C  \nATOM     41  CD  GLN B   6      -8.118 -21.967  22.933  1.00 95.12           C  \nATOM     42  NE2 GLN B   6      -9.178 -22.673  22.555  1.00 95.12           N  \nATOM     43  OE1 GLN B   6      -8.063 -21.377  24.017  1.00 95.12           O  \nATOM     44  N   ALA B   7      -4.341 -18.393  21.405  1.00 96.17           N  \nATOM     45  CA  ALA B   7      -3.606 -17.148  21.609  1.00 96.17           C  \nATOM     46  C   ALA B   7      -3.248 -16.956  23.080  1.00 96.17           C  \nATOM     47  CB  ALA B   7      -4.421 -15.960  21.104  1.00 96.17           C  \nATOM     48  O   ALA B   7      -2.114 -16.600  23.409  1.00 96.17           O  \nATOM     49  N   GLN B   8      -4.162 -17.234  23.970  1.00 96.39           N  \nATOM     50  CA  GLN B   8      -3.947 -16.995  25.393  1.00 96.39           C  \nATOM     51  C   GLN B   8      -2.836 -17.888  25.939  1.00 96.39           C  \nATOM     52  CB  GLN B   8      -5.239 -17.225  26.179  1.00 96.39           C  \nATOM     53  O   GLN B   8      -2.228 -17.575  26.965  1.00 96.39           O  \nATOM     54  CG  GLN B   8      -5.738 -18.663  26.133  1.00 96.39           C  \nATOM     55  CD  GLN B   8      -7.043 -18.855  26.883  1.00 96.39           C  \nATOM     56  NE2 GLN B   8      -7.231 -20.041  27.452  1.00 96.39           N  \nATOM     57  OE1 GLN B   8      -7.875 -17.945  26.951  1.00 96.39           O  \nATOM     58  N   GLU B   9      -2.552 -18.927  25.259  1.00 96.86           N  \nATOM     59  CA  GLU B   9      -1.562 -19.888  25.736  1.00 96.86           C  \nATOM     60  C   GLU B   9      -0.147 -19.447  25.375  1.00 96.86           C  \nATOM     61  CB  GLU B   9      -1.842 -21.279  25.162  1.00 96.86           C  \nATOM     62  O   GLU B   9       0.827 -19.928  25.958  1.00 96.86           O  \nATOM     63  CG  GLU B   9      -3.156 -21.885  25.632  1.00 96.86           C  \nATOM     64  CD  GLU B   9      -3.503 -23.187  24.927  1.00 96.86           C  \nATOM     65  OE1 GLU B   9      -3.241 -24.272  25.494  1.00 96.86           O  \nATOM     66  OE2 GLU B   9      -4.039 -23.121  23.798  1.00 96.86           O  \nATOM     67  N   ILE B  10      -0.047 -18.558  24.432  1.00 97.16           N  \nATOM     68  CA  ILE B  10       1.308 -18.207  24.019  1.00 97.16           C  \nATOM     69  C   ILE B  10       1.508 -16.698  24.132  1.00 97.16           C  \nATOM     70  CB  ILE B  10       1.599 -18.681  22.577  1.00 97.16           C  \nATOM     71  O   ILE B  10       2.586 -16.183  23.827  1.00 97.16           O  \nATOM     72  CG1 ILE B  10       0.663 -17.980  21.586  1.00 97.16           C  \nATOM     73  CG2 ILE B  10       1.469 -20.203  22.472  1.00 97.16           C  \nATOM     74  CD1 ILE B  10       1.148 -18.018  20.143  1.00 97.16           C  \nATOM     75  N   MET B  11       0.534 -15.951  24.523  1.00 97.15           N  \nATOM     76  CA  MET B  11       0.624 -14.499  24.639  1.00 97.15           C  \nATOM     77  C   MET B  11       1.581 -14.100  25.758  1.00 97.15           C  \nATOM     78  CB  MET B  11      -0.758 -13.893  24.894  1.00 97.15           C  \nATOM     79  O   MET B  11       1.918 -14.920  26.614  1.00 97.15           O  \nATOM     80  CG  MET B  11      -1.330 -14.224  26.262  1.00 97.15           C  \nATOM     81  SD  MET B  11      -2.990 -13.489  26.527  1.00 97.15           S  \nATOM     82  CE  MET B  11      -3.326 -14.055  28.218  1.00 97.15           C  \nATOM     83  N   THR B  12       2.058 -12.889  25.676  1.00 94.07           N  \nATOM     84  CA  THR B  12       2.781 -12.288  26.791  1.00 94.07           C  \nATOM     85  C   THR B  12       1.812 -11.667  27.793  1.00 94.07           C  \nATOM     86  CB  THR B  12       3.773 -11.217  26.301  1.00 94.07           C  \nATOM     87  O   THR B  12       0.938 -10.884  27.415  1.00 94.07           O  \nATOM     88  CG2 THR B  12       4.580 -10.643  27.461  1.00 94.07           C  \nATOM     89  OG1 THR B  12       4.672 -11.805  25.353  1.00 94.07           O  \nATOM     90  N   GLN B  13       1.874 -12.022  29.014  1.00 91.53           N  \nATOM     91  CA  GLN B  13       0.911 -11.594  30.023  1.00 91.53           C  \nATOM     92  C   GLN B  13       1.345 -10.286  30.678  1.00 91.53           C  \nATOM     93  CB  GLN B  13       0.730 -12.679  31.086  1.00 91.53           C  \nATOM     94  O   GLN B  13       0.508  -9.517  31.154  1.00 91.53           O  \nATOM     95  CG  GLN B  13       0.074 -13.950  30.563  1.00 91.53           C  \nATOM     96  CD  GLN B  13      -0.024 -15.037  31.617  1.00 91.53           C  \nATOM     97  NE2 GLN B  13      -0.180 -16.279  31.174  1.00 91.53           N  \nATOM     98  OE1 GLN B  13       0.042 -14.762  32.819  1.00 91.53           O  \nATOM     99  N   ASN B  14       2.624 -10.106  30.853  1.00 83.95           N  \nATOM    100  CA  ASN B  14       3.098  -8.857  31.440  1.00 83.95           C  \nATOM    101  C   ASN B  14       2.902  -7.680  30.489  1.00 83.95           C  \nATOM    102  CB  ASN B  14       4.569  -8.977  31.841  1.00 83.95           C  \nATOM    103  O   ASN B  14       3.795  -7.357  29.703  1.00 83.95           O  \nATOM    104  CG  ASN B  14       4.970  -7.969  32.901  1.00 83.95           C  \nATOM    105  ND2 ASN B  14       6.215  -8.050  33.355  1.00 83.95           N  \nATOM    106  OD1 ASN B  14       4.167  -7.126  33.307  1.00 83.95           O  \nATOM    107  N   VAL B  15       1.720  -7.063  30.605  1.00 88.01           N  \nATOM    108  CA  VAL B  15       1.397  -5.945  29.724  1.00 88.01           C  \nATOM    109  C   VAL B  15       1.580  -4.627  30.473  1.00 88.01           C  \nATOM    110  CB  VAL B  15      -0.044  -6.052  29.177  1.00 88.01           C  \nATOM    111  O   VAL B  15       1.172  -4.501  31.630  1.00 88.01           O  \nATOM    112  CG1 VAL B  15      -0.334  -4.918  28.195  1.00 88.01           C  \nATOM    113  CG2 VAL B  15      -0.262  -7.409  28.511  1.00 88.01           C  \nATOM    114  N   VAL B  16       2.304  -3.718  29.912  1.00 95.07           N  \nATOM    115  CA  VAL B  16       2.489  -2.385  30.476  1.00 95.07           C  \nATOM    116  C   VAL B  16       1.652  -1.373  29.696  1.00 95.07           C  \nATOM    117  CB  VAL B  16       3.976  -1.966  30.468  1.00 95.07           C  \nATOM    118  O   VAL B  16       1.564  -1.446  28.468  1.00 95.07           O  \nATOM    119  CG1 VAL B  16       4.142  -0.553  31.025  1.00 95.07           C  \nATOM    120  CG2 VAL B  16       4.814  -2.961  31.268  1.00 95.07           C  \nATOM    121  N   THR B  17       1.030  -0.552  30.420  1.00 96.28           N  \nATOM    122  CA  THR B  17       0.158   0.441  29.801  1.00 96.28           C  \nATOM    123  C   THR B  17       0.768   1.836  29.905  1.00 96.28           C  \nATOM    124  CB  THR B  17      -1.239   0.439  30.449  1.00 96.28           C  \nATOM    125  O   THR B  17       1.687   2.060  30.695  1.00 96.28           O  \nATOM    126  CG2 THR B  17      -1.846  -0.960  30.443  1.00 96.28           C  \nATOM    127  OG1 THR B  17      -1.131   0.895  31.804  1.00 96.28           O  \nATOM    128  N   ILE B  18       0.278   2.763  29.035  1.00 97.93           N  \nATOM    129  CA  ILE B  18       0.697   4.160  29.022  1.00 97.93           C  \nATOM    130  C   ILE B  18      -0.486   5.051  28.652  1.00 97.93           C  \nATOM    131  CB  ILE B  18       1.868   4.389  28.040  1.00 97.93           C  \nATOM    132  O   ILE B  18      -1.436   4.597  28.010  1.00 97.93           O  \nATOM    133  CG1 ILE B  18       2.508   5.761  28.282  1.00 97.93           C  \nATOM    134  CG2 ILE B  18       1.392   4.255  26.590  1.00 97.93           C  \nATOM    135  CD1 ILE B  18       3.868   5.936  27.620  1.00 97.93           C  \nATOM    136  N   ARG B  19      -0.399   6.234  29.112  1.00 96.93           N  \nATOM    137  CA  ARG B  19      -1.435   7.189  28.730  1.00 96.93           C  \nATOM    138  C   ARG B  19      -1.145   7.793  27.360  1.00 96.93           C  \nATOM    139  CB  ARG B  19      -1.555   8.299  29.777  1.00 96.93           C  \nATOM    140  O   ARG B  19       0.017   7.985  26.994  1.00 96.93           O  \nATOM    141  CG  ARG B  19      -2.096   7.826  31.117  1.00 96.93           C  \nATOM    142  CD  ARG B  19      -2.357   8.990  32.062  1.00 96.93           C  \nATOM    143  NE  ARG B  19      -3.032   8.554  33.281  1.00 96.93           N  \nATOM    144  NH1 ARG B  19      -3.141  10.661  34.222  1.00 96.93           N  \nATOM    145  NH2 ARG B  19      -4.000   8.855  35.342  1.00 96.93           N  \nATOM    146  CZ  ARG B  19      -3.390   9.358  34.279  1.00 96.93           C  \nATOM    147  N   GLY B  20      -2.200   8.158  26.706  1.00 97.51           N  \nATOM    148  CA  GLY B  20      -2.028   8.813  25.418  1.00 97.51           C  \nATOM    149  C   GLY B  20      -1.341  10.161  25.522  1.00 97.51           C  \nATOM    150  O   GLY B  20      -0.659  10.589  24.588  1.00 97.51           O  \nATOM    151  N   SER B  21      -1.487  10.844  26.590  1.00 97.13           N  \nATOM    152  CA  SER B  21      -0.939  12.182  26.789  1.00 97.13           C  \nATOM    153  C   SER B  21       0.543  12.125  27.141  1.00 97.13           C  \nATOM    154  CB  SER B  21      -1.705  12.916  27.890  1.00 97.13           C  \nATOM    155  O   SER B  21       1.223  13.153  27.154  1.00 97.13           O  \nATOM    156  OG  SER B  21      -1.651  12.194  29.108  1.00 97.13           O  \nATOM    157  N   ALA B  22       1.055  10.944  27.377  1.00 98.10           N  \nATOM    158  CA  ALA B  22       2.475  10.822  27.697  1.00 98.10           C  \nATOM    159  C   ALA B  22       3.342  11.234  26.511  1.00 98.10           C  \nATOM    160  CB  ALA B  22       2.803   9.393  28.122  1.00 98.10           C  \nATOM    161  O   ALA B  22       2.884  11.223  25.365  1.00 98.10           O  \nATOM    162  N   THR B  23       4.556  11.629  26.816  1.00 98.36           N  \nATOM    163  CA  THR B  23       5.488  11.926  25.733  1.00 98.36           C  \nATOM    164  C   THR B  23       6.032  10.639  25.119  1.00 98.36           C  \nATOM    165  CB  THR B  23       6.659  12.796  26.227  1.00 98.36           C  \nATOM    166  O   THR B  23       6.006   9.583  25.754  1.00 98.36           O  \nATOM    167  CG2 THR B  23       6.153  14.060  26.915  1.00 98.36           C  \nATOM    168  OG1 THR B  23       7.448  12.043  27.156  1.00 98.36           O  \nATOM    169  N   VAL B  24       6.508  10.766  23.973  1.00 98.81           N  \nATOM    170  CA  VAL B  24       7.162   9.638  23.319  1.00 98.81           C  \nATOM    171  C   VAL B  24       8.417   9.247  24.096  1.00 98.81           C  \nATOM    172  CB  VAL B  24       7.523   9.963  21.852  1.00 98.81           C  \nATOM    173  O   VAL B  24       8.748   8.063  24.198  1.00 98.81           O  \nATOM    174  CG1 VAL B  24       8.371   8.847  21.244  1.00 98.81           C  \nATOM    175  CG2 VAL B  24       6.256  10.185  21.028  1.00 98.81           C  \nATOM    176  N   ALA B  25       9.067  10.212  24.657  1.00 98.66           N  \nATOM    177  CA  ALA B  25      10.238   9.939  25.487  1.00 98.66           C  \nATOM    178  C   ALA B  25       9.877   9.035  26.663  1.00 98.66           C  \nATOM    179  CB  ALA B  25      10.849  11.244  25.990  1.00 98.66           C  \nATOM    180  O   ALA B  25      10.613   8.099  26.982  1.00 98.66           O  \nATOM    181  N   ASP B  26       8.751   9.305  27.295  1.00 98.48           N  \nATOM    182  CA  ASP B  26       8.273   8.462  28.386  1.00 98.48           C  \nATOM    183  C   ASP B  26       8.047   7.028  27.914  1.00 98.48           C  \nATOM    184  CB  ASP B  26       6.982   9.031  28.978  1.00 98.48           C  \nATOM    185  O   ASP B  26       8.405   6.076  28.610  1.00 98.48           O  \nATOM    186  CG  ASP B  26       7.193  10.345  29.709  1.00 98.48           C  \nATOM    187  OD1 ASP B  26       8.292  10.565  30.263  1.00 98.48           O  \nATOM    188  OD2 ASP B  26       6.251  11.166  29.734  1.00 98.48           O  \nATOM    189  N   ALA B  27       7.471   6.935  26.777  1.00 98.74           N  \nATOM    190  CA  ALA B  27       7.205   5.613  26.216  1.00 98.74           C  \nATOM    191  C   ALA B  27       8.503   4.849  25.972  1.00 98.74           C  \nATOM    192  CB  ALA B  27       6.412   5.736  24.918  1.00 98.74           C  \nATOM    193  O   ALA B  27       8.614   3.673  26.325  1.00 98.74           O  \nATOM    194  N   VAL B  28       9.481   5.515  25.378  1.00 98.75           N  \nATOM    195  CA  VAL B  28      10.772   4.888  25.110  1.00 98.75           C  \nATOM    196  C   VAL B  28      11.416   4.449  26.423  1.00 98.75           C  \nATOM    197  CB  VAL B  28      11.717   5.841  24.345  1.00 98.75           C  \nATOM    198  O   VAL B  28      11.917   3.327  26.531  1.00 98.75           O  \nATOM    199  CG1 VAL B  28      13.111   5.230  24.216  1.00 98.75           C  \nATOM    200  CG2 VAL B  28      11.144   6.168  22.967  1.00 98.75           C  \nATOM    201  N   LYS B  29      11.370   5.313  27.366  1.00 98.49           N  \nATOM    202  CA  LYS B  29      11.925   4.993  28.678  1.00 98.49           C  \nATOM    203  C   LYS B  29      11.269   3.746  29.263  1.00 98.49           C  \nATOM    204  CB  LYS B  29      11.755   6.173  29.635  1.00 98.49           C  \nATOM    205  O   LYS B  29      11.958   2.837  29.731  1.00 98.49           O  \nATOM    206  CG  LYS B  29      12.350   5.941  31.016  1.00 98.49           C  \nATOM    207  CD  LYS B  29      12.132   7.142  31.928  1.00 98.49           C  \nATOM    208  CE  LYS B  29      12.660   6.882  33.332  1.00 98.49           C  \nATOM    209  NZ  LYS B  29      12.405   8.038  34.243  1.00 98.49           N  \nATOM    210  N   LEU B  30      10.035   3.740  29.241  1.00 98.22           N  \nATOM    211  CA  LEU B  30       9.281   2.614  29.782  1.00 98.22           C  \nATOM    212  C   LEU B  30       9.601   1.331  29.023  1.00 98.22           C  \nATOM    213  CB  LEU B  30       7.778   2.896  29.720  1.00 98.22           C  \nATOM    214  O   LEU B  30       9.792   0.275  29.632  1.00 98.22           O  \nATOM    215  CG  LEU B  30       6.873   1.918  30.471  1.00 98.22           C  \nATOM    216  CD1 LEU B  30       7.316   1.798  31.926  1.00 98.22           C  \nATOM    217  CD2 LEU B  30       5.417   2.362  30.385  1.00 98.22           C  \nATOM    218  N   MET B  31       9.701   1.379  27.739  1.00 97.87           N  \nATOM    219  CA  MET B  31      10.031   0.215  26.922  1.00 97.87           C  \nATOM    220  C   MET B  31      11.433  -0.294  27.241  1.00 97.87           C  \nATOM    221  CB  MET B  31       9.923   0.554  25.434  1.00 97.87           C  \nATOM    222  O   MET B  31      11.653  -1.503  27.330  1.00 97.87           O  \nATOM    223  CG  MET B  31       8.493   0.705  24.942  1.00 97.87           C  \nATOM    224  SD  MET B  31       8.404   1.088  23.149  1.00 97.87           S  \nATOM    225  CE  MET B  31       6.617   1.344  22.966  1.00 97.87           C  \nATOM    226  N   LYS B  32      12.357   0.614  27.411  1.00 97.65           N  \nATOM    227  CA  LYS B  32      13.721   0.235  27.770  1.00 97.65           C  \nATOM    228  C   LYS B  32      13.763  -0.434  29.141  1.00 97.65           C  \nATOM    229  CB  LYS B  32      14.639   1.458  27.755  1.00 97.65           C  \nATOM    230  O   LYS B  32      14.346  -1.509  29.295  1.00 97.65           O  \nATOM    231  CG  LYS B  32      14.967   1.969  26.360  1.00 97.65           C  \nATOM    232  CD  LYS B  32      15.931   3.148  26.408  1.00 97.65           C  \nATOM    233  CE  LYS B  32      16.336   3.598  25.011  1.00 97.65           C  \nATOM    234  NZ  LYS B  32      17.323   4.718  25.054  1.00 97.65           N  \nATOM    235  N   GLU B  33      13.084   0.159  30.107  1.00 97.19           N  \nATOM    236  CA  GLU B  33      13.089  -0.341  31.478  1.00 97.19           C  \nATOM    237  C   GLU B  33      12.450  -1.724  31.564  1.00 97.19           C  \nATOM    238  CB  GLU B  33      12.363   0.632  32.410  1.00 97.19           C  \nATOM    239  O   GLU B  33      12.946  -2.601  32.274  1.00 97.19           O  \nATOM    240  CG  GLU B  33      13.142   1.908  32.696  1.00 97.19           C  \nATOM    241  CD  GLU B  33      12.365   2.911  33.532  1.00 97.19           C  \nATOM    242  OE1 GLU B  33      12.940   3.954  33.918  1.00 97.19           O  \nATOM    243  OE2 GLU B  33      11.172   2.652  33.805  1.00 97.19           O  \nATOM    244  N   LYS B  34      11.415  -1.876  30.809  1.00 96.31           N  \nATOM    245  CA  LYS B  34      10.650  -3.115  30.917  1.00 96.31           C  \nATOM    246  C   LYS B  34      11.026  -4.092  29.807  1.00 96.31           C  \nATOM    247  CB  LYS B  34       9.149  -2.824  30.872  1.00 96.31           C  \nATOM    248  O   LYS B  34      10.509  -5.210  29.754  1.00 96.31           O  \nATOM    249  CG  LYS B  34       8.658  -1.931  32.001  1.00 96.31           C  \nATOM    250  CD  LYS B  34       8.803  -2.612  33.356  1.00 96.31           C  \nATOM    251  CE  LYS B  34       8.212  -1.765  34.475  1.00 96.31           C  \nATOM    252  NZ  LYS B  34       8.342  -2.434  35.804  1.00 96.31           N  \nATOM    253  N   LYS B  35      11.950  -3.656  28.866  1.00 94.24           N  \nATOM    254  CA  LYS B  35      12.416  -4.464  27.743  1.00 94.24           C  \nATOM    255  C   LYS B  35      11.247  -4.936  26.883  1.00 94.24           C  \nATOM    256  CB  LYS B  35      13.217  -5.667  28.243  1.00 94.24           C  \nATOM    257  O   LYS B  35      11.123  -6.128  26.593  1.00 94.24           O  \nATOM    258  CG  LYS B  35      14.475  -5.296  29.014  1.00 94.24           C  \nATOM    259  CD  LYS B  35      15.260  -6.532  29.433  1.00 94.24           C  \nATOM    260  CE  LYS B  35      16.510  -6.162  30.219  1.00 94.24           C  \nATOM    261  NZ  LYS B  35      17.285  -7.371  30.629  1.00 94.24           N  \nATOM    262  N   LEU B  36      10.446  -4.002  26.533  1.00 94.80           N  \nATOM    263  CA  LEU B  36       9.262  -4.281  25.729  1.00 94.80           C  \nATOM    264  C   LEU B  36       9.342  -3.573  24.381  1.00 94.80           C  \nATOM    265  CB  LEU B  36       7.995  -3.847  26.472  1.00 94.80           C  \nATOM    266  O   LEU B  36      10.055  -2.577  24.239  1.00 94.80           O  \nATOM    267  CG  LEU B  36       7.692  -4.580  27.779  1.00 94.80           C  \nATOM    268  CD1 LEU B  36       6.566  -3.878  28.532  1.00 94.80           C  \nATOM    269  CD2 LEU B  36       7.331  -6.036  27.505  1.00 94.80           C  \nATOM    270  N   ARG B  37       8.646  -4.096  23.418  1.00 95.22           N  \nATOM    271  CA  ARG B  37       8.673  -3.537  22.070  1.00 95.22           C  \nATOM    272  C   ARG B  37       7.332  -2.904  21.713  1.00 95.22           C  \nATOM    273  CB  ARG B  37       9.032  -4.617  21.047  1.00 95.22           C  \nATOM    274  O   ARG B  37       7.143  -2.430  20.591  1.00 95.22           O  \nATOM    275  CG  ARG B  37      10.445  -5.159  21.194  1.00 95.22           C  \nATOM    276  CD  ARG B  37      10.709  -6.312  20.235  1.00 95.22           C  \nATOM    277  NE  ARG B  37      12.016  -6.919  20.469  1.00 95.22           N  \nATOM    278  NH1 ARG B  37      11.348  -9.063  19.924  1.00 95.22           N  \nATOM    279  NH2 ARG B  37      13.514  -8.658  20.557  1.00 95.22           N  \nATOM    280  CZ  ARG B  37      12.290  -8.212  20.316  1.00 95.22           C  \nATOM    281  N   GLY B  38       6.364  -2.908  22.580  1.00 96.40           N  \nATOM    282  CA  GLY B  38       5.055  -2.285  22.466  1.00 96.40           C  \nATOM    283  C   GLY B  38       4.397  -2.030  23.809  1.00 96.40           C  \nATOM    284  O   GLY B  38       4.602  -2.787  24.760  1.00 96.40           O  \nATOM    285  N   LEU B  39       3.586  -0.972  23.799  1.00 98.10           N  \nATOM    286  CA  LEU B  39       2.814  -0.601  24.980  1.00 98.10           C  \nATOM    287  C   LEU B  39       1.335  -0.459  24.641  1.00 98.10           C  \nATOM    288  CB  LEU B  39       3.342   0.707  25.576  1.00 98.10           C  \nATOM    289  O   LEU B  39       0.985  -0.012  23.546  1.00 98.10           O  \nATOM    290  CG  LEU B  39       4.839   0.756  25.884  1.00 98.10           C  \nATOM    291  CD1 LEU B  39       5.261   2.179  26.237  1.00 98.10           C  \nATOM    292  CD2 LEU B  39       5.184  -0.205  27.017  1.00 98.10           C  \nATOM    293  N   ILE B  40       0.520  -0.811  25.600  1.00 97.89           N  \nATOM    294  CA  ILE B  40      -0.917  -0.625  25.428  1.00 97.89           C  \nATOM    295  C   ILE B  40      -1.321   0.762  25.924  1.00 97.89           C  \nATOM    296  CB  ILE B  40      -1.720  -1.715  26.171  1.00 97.89           C  \nATOM    297  O   ILE B  40      -0.861   1.210  26.976  1.00 97.89           O  \nATOM    298  CG1 ILE B  40      -1.403  -3.100  25.594  1.00 97.89           C  \nATOM    299  CG2 ILE B  40      -3.222  -1.423  26.099  1.00 97.89           C  \nATOM    300  CD1 ILE B  40      -1.729  -3.242  24.113  1.00 97.89           C  \nATOM    301  N   VAL B  41      -2.035   1.483  25.146  1.00 97.86           N  \nATOM    302  CA  VAL B  41      -2.584   2.771  25.556  1.00 97.86           C  \nATOM    303  C   VAL B  41      -3.930   2.563  26.246  1.00 97.86           C  \nATOM    304  CB  VAL B  41      -2.743   3.729  24.354  1.00 97.86           C  \nATOM    305  O   VAL B  41      -4.864   2.022  25.648  1.00 97.86           O  \nATOM    306  CG1 VAL B  41      -3.292   5.080  24.809  1.00 97.86           C  \nATOM    307  CG2 VAL B  41      -1.407   3.906  23.634  1.00 97.86           C  \nATOM    308  N   GLU B  42      -4.102   3.043  27.341  1.00 93.50           N  \nATOM    309  CA  GLU B  42      -5.257   2.786  28.197  1.00 93.50           C  \nATOM    310  C   GLU B  42      -6.486   3.548  27.709  1.00 93.50           C  \nATOM    311  CB  GLU B  42      -4.946   3.163  29.648  1.00 93.50           C  \nATOM    312  O   GLU B  42      -6.372   4.678  27.229  1.00 93.50           O  \nATOM    313  CG  GLU B  42      -3.861   2.309  30.286  1.00 93.50           C  \nATOM    314  CD  GLU B  42      -3.502   2.750  31.696  1.00 93.50           C  \nATOM    315  OE1 GLU B  42      -2.712   2.049  32.369  1.00 93.50           O  \nATOM    316  OE2 GLU B  42      -4.015   3.805  32.132  1.00 93.50           O  \nATOM    317  N   PRO B  43      -7.640   2.899  27.934  1.00 92.04           N  \nATOM    318  CA  PRO B  43      -8.868   3.662  27.702  1.00 92.04           C  \nATOM    319  C   PRO B  43      -9.100   4.744  28.755  1.00 92.04           C  \nATOM    320  CB  PRO B  43      -9.964   2.595  27.765  1.00 92.04           C  \nATOM    321  O   PRO B  43      -8.675   4.593  29.903  1.00 92.04           O  \nATOM    322  CG  PRO B  43      -9.233   1.293  27.710  1.00 92.04           C  \nATOM    323  CD  PRO B  43      -7.824   1.517  28.181  1.00 92.04           C  \nATOM    324  N   ARG B  44      -9.694   5.794  28.390  1.00 86.25           N  \nATOM    325  CA  ARG B  44      -9.976   6.882  29.321  1.00 86.25           C  \nATOM    326  C   ARG B  44     -11.243   6.603  30.122  1.00 86.25           C  \nATOM    327  CB  ARG B  44     -10.111   8.210  28.572  1.00 86.25           C  \nATOM    328  O   ARG B  44     -11.372   7.048  31.264  1.00 86.25           O  \nATOM    329  CG  ARG B  44      -8.838   8.651  27.866  1.00 86.25           C  \nATOM    330  CD  ARG B  44      -7.868   9.328  28.824  1.00 86.25           C  \nATOM    331  NE  ARG B  44      -8.356  10.636  29.250  1.00 86.25           N  \nATOM    332  NH1 ARG B  44      -6.289  11.418  29.924  1.00 86.25           N  \nATOM    333  NH2 ARG B  44      -8.143  12.752  30.117  1.00 86.25           N  \nATOM    334  CZ  ARG B  44      -7.595  11.599  29.762  1.00 86.25           C  \nATOM    335  N   HIS B  45     -12.203   5.951  29.493  1.00 82.21           N  \nATOM    336  CA  HIS B  45     -13.462   5.554  30.114  1.00 82.21           C  \nATOM    337  C   HIS B  45     -13.980   4.247  29.523  1.00 82.21           C  \nATOM    338  CB  HIS B  45     -14.511   6.655  29.950  1.00 82.21           C  \nATOM    339  O   HIS B  45     -13.359   3.679  28.621  1.00 82.21           O  \nATOM    340  CG  HIS B  45     -14.688   7.110  28.536  1.00 82.21           C  \nATOM    341  CD2 HIS B  45     -14.244   8.217  27.896  1.00 82.21           C  \nATOM    342  ND1 HIS B  45     -15.404   6.387  27.606  1.00 82.21           N  \nATOM    343  CE1 HIS B  45     -15.390   7.031  26.451  1.00 82.21           C  \nATOM    344  NE2 HIS B  45     -14.693   8.145  26.600  1.00 82.21           N  \nATOM    345  N   GLU B  46     -14.986   3.764  29.964  1.00 75.72           N  \nATOM    346  CA  GLU B  46     -15.494   2.435  29.637  1.00 75.72           C  \nATOM    347  C   GLU B  46     -15.814   2.316  28.150  1.00 75.72           C  \nATOM    348  CB  GLU B  46     -16.738   2.115  30.470  1.00 75.72           C  \nATOM    349  O   GLU B  46     -15.682   1.239  27.565  1.00 75.72           O  \nATOM    350  CG  GLU B  46     -16.431   1.714  31.905  1.00 75.72           C  \nATOM    351  CD  GLU B  46     -17.665   1.299  32.690  1.00 75.72           C  \nATOM    352  OE1 GLU B  46     -17.526   0.865  33.856  1.00 75.72           O  \nATOM    353  OE2 GLU B  46     -18.781   1.407  32.133  1.00 75.72           O  \nATOM    354  N   GLN B  47     -16.196   3.344  27.536  1.00 76.14           N  \nATOM    355  CA  GLN B  47     -16.576   3.303  26.127  1.00 76.14           C  \nATOM    356  C   GLN B  47     -15.377   3.581  25.226  1.00 76.14           C  \nATOM    357  CB  GLN B  47     -17.691   4.310  25.843  1.00 76.14           C  \nATOM    358  O   GLN B  47     -15.483   3.503  24.000  1.00 76.14           O  \nATOM    359  CG  GLN B  47     -19.001   3.994  26.552  1.00 76.14           C  \nATOM    360  CD  GLN B  47     -19.932   5.189  26.627  1.00 76.14           C  \nATOM    361  NE2 GLN B  47     -21.105   4.991  27.218  1.00 76.14           N  \nATOM    362  OE1 GLN B  47     -19.599   6.283  26.158  1.00 76.14           O  \nATOM    363  N   ASP B  48     -14.282   3.943  25.810  1.00 87.25           N  \nATOM    364  CA  ASP B  48     -13.053   4.224  25.072  1.00 87.25           C  \nATOM    365  C   ASP B  48     -12.275   2.941  24.794  1.00 87.25           C  \nATOM    366  CB  ASP B  48     -12.178   5.214  25.844  1.00 87.25           C  \nATOM    367  O   ASP B  48     -12.162   2.075  25.665  1.00 87.25           O  \nATOM    368  CG  ASP B  48     -11.024   5.754  25.019  1.00 87.25           C  \nATOM    369  OD1 ASP B  48     -11.194   5.968  23.799  1.00 87.25           O  \nATOM    370  OD2 ASP B  48      -9.933   5.965  25.592  1.00 87.25           O  \nATOM    371  N   PRO B  49     -11.756   2.734  23.614  1.00 92.67           N  \nATOM    372  CA  PRO B  49     -11.035   1.508  23.263  1.00 92.67           C  \nATOM    373  C   PRO B  49      -9.565   1.549  23.674  1.00 92.67           C  \nATOM    374  CB  PRO B  49     -11.175   1.439  21.740  1.00 92.67           C  \nATOM    375  O   PRO B  49      -9.033   2.623  23.968  1.00 92.67           O  \nATOM    376  CG  PRO B  49     -11.189   2.866  21.294  1.00 92.67           C  \nATOM    377  CD  PRO B  49     -11.940   3.676  22.310  1.00 92.67           C  \nATOM    378  N   TYR B  50      -8.980   0.390  23.661  1.00 94.30           N  \nATOM    379  CA  TYR B  50      -7.536   0.294  23.844  1.00 94.30           C  \nATOM    380  C   TYR B  50      -6.796   0.759  22.595  1.00 94.30           C  \nATOM    381  CB  TYR B  50      -7.132  -1.143  24.185  1.00 94.30           C  \nATOM    382  O   TYR B  50      -7.332   0.690  21.486  1.00 94.30           O  \nATOM    383  CG  TYR B  50      -7.571  -1.588  25.558  1.00 94.30           C  \nATOM    384  CD1 TYR B  50      -6.822  -1.268  26.688  1.00 94.30           C  \nATOM    385  CD2 TYR B  50      -8.736  -2.329  25.729  1.00 94.30           C  \nATOM    386  CE1 TYR B  50      -7.222  -1.678  27.956  1.00 94.30           C  \nATOM    387  CE2 TYR B  50      -9.145  -2.744  26.992  1.00 94.30           C  \nATOM    388  OH  TYR B  50      -8.784  -2.821  29.350  1.00 94.30           O  \nATOM    389  CZ  TYR B  50      -8.384  -2.413  28.098  1.00 94.30           C  \nATOM    390  N   GLY B  51      -5.649   1.322  22.842  1.00 96.72           N  \nATOM    391  CA  GLY B  51      -4.696   1.608  21.781  1.00 96.72           C  \nATOM    392  C   GLY B  51      -3.364   0.908  21.970  1.00 96.72           C  \nATOM    393  O   GLY B  51      -3.170   0.186  22.951  1.00 96.72           O  \nATOM    394  N   ILE B  52      -2.498   1.084  20.995  1.00 98.36           N  \nATOM    395  CA  ILE B  52      -1.171   0.485  21.079  1.00 98.36           C  \nATOM    396  C   ILE B  52      -0.144   1.414  20.436  1.00 98.36           C  \nATOM    397  CB  ILE B  52      -1.134  -0.904  20.403  1.00 98.36           C  \nATOM    398  O   ILE B  52      -0.443   2.093  19.451  1.00 98.36           O  \nATOM    399  CG1 ILE B  52       0.208  -1.594  20.672  1.00 98.36           C  \nATOM    400  CG2 ILE B  52      -1.394  -0.780  18.899  1.00 98.36           C  \nATOM    401  CD1 ILE B  52       0.224  -3.076  20.323  1.00 98.36           C  \nATOM    402  N   VAL B  53       1.018   1.517  21.038  1.00 98.58           N  \nATOM    403  CA  VAL B  53       2.182   2.182  20.461  1.00 98.58           C  \nATOM    404  C   VAL B  53       3.372   1.226  20.453  1.00 98.58           C  \nATOM    405  CB  VAL B  53       2.539   3.471  21.234  1.00 98.58           C  \nATOM    406  O   VAL B  53       3.640   0.549  21.449  1.00 98.58           O  \nATOM    407  CG1 VAL B  53       2.913   3.149  22.680  1.00 98.58           C  \nATOM    408  CG2 VAL B  53       3.679   4.212  20.537  1.00 98.58           C  \nATOM    409  N   THR B  54       4.068   1.131  19.318  1.00 98.20           N  \nATOM    410  CA  THR B  54       5.138   0.152  19.160  1.00 98.20           C  \nATOM    411  C   THR B  54       6.460   0.843  18.834  1.00 98.20           C  \nATOM    412  CB  THR B  54       4.804  -0.868  18.056  1.00 98.20           C  \nATOM    413  O   THR B  54       6.484   2.041  18.543  1.00 98.20           O  \nATOM    414  CG2 THR B  54       3.410  -1.454  18.253  1.00 98.20           C  \nATOM    415  OG1 THR B  54       4.861  -0.218  16.780  1.00 98.20           O  \nATOM    416  N   GLU B  55       7.522   0.076  18.873  1.00 98.01           N  \nATOM    417  CA  GLU B  55       8.839   0.577  18.492  1.00 98.01           C  \nATOM    418  C   GLU B  55       8.860   1.020  17.032  1.00 98.01           C  \nATOM    419  CB  GLU B  55       9.911  -0.489  18.734  1.00 98.01           C  \nATOM    420  O   GLU B  55       9.551   1.978  16.678  1.00 98.01           O  \nATOM    421  CG  GLU B  55       9.692  -1.771  17.945  1.00 98.01           C  \nATOM    422  CD  GLU B  55      10.726  -2.845  18.246  1.00 98.01           C  \nATOM    423  OE1 GLU B  55      10.735  -3.889  17.556  1.00 98.01           O  \nATOM    424  OE2 GLU B  55      11.534  -2.640  19.179  1.00 98.01           O  \nATOM    425  N   THR B  56       8.086   0.327  16.278  1.00 98.02           N  \nATOM    426  CA  THR B  56       8.022   0.692  14.868  1.00 98.02           C  \nATOM    427  C   THR B  56       7.363   2.058  14.692  1.00 98.02           C  \nATOM    428  CB  THR B  56       7.252  -0.361  14.051  1.00 98.02           C  \nATOM    429  O   THR B  56       7.821   2.875  13.890  1.00 98.02           O  \nATOM    430  CG2 THR B  56       7.253  -0.016  12.566  1.00 98.02           C  \nATOM    431  OG1 THR B  56       7.868  -1.642  14.233  1.00 98.02           O  \nATOM    432  N   ASP B  57       6.317   2.370  15.409  1.00 98.44           N  \nATOM    433  CA  ASP B  57       5.691   3.688  15.367  1.00 98.44           C  \nATOM    434  C   ASP B  57       6.698   4.786  15.703  1.00 98.44           C  \nATOM    435  CB  ASP B  57       4.505   3.750  16.331  1.00 98.44           C  \nATOM    436  O   ASP B  57       6.797   5.785  14.988  1.00 98.44           O  \nATOM    437  CG  ASP B  57       3.352   2.856  15.911  1.00 98.44           C  \nATOM    438  OD1 ASP B  57       3.062   2.764  14.698  1.00 98.44           O  \nATOM    439  OD2 ASP B  57       2.726   2.239  16.800  1.00 98.44           O  \nATOM    440  N   ILE B  58       7.442   4.562  16.719  1.00 98.77           N  \nATOM    441  CA  ILE B  58       8.380   5.559  17.223  1.00 98.77           C  \nATOM    442  C   ILE B  58       9.492   5.785  16.201  1.00 98.77           C  \nATOM    443  CB  ILE B  58       8.979   5.136  18.583  1.00 98.77           C  \nATOM    444  O   ILE B  58       9.807   6.927  15.858  1.00 98.77           O  \nATOM    445  CG1 ILE B  58       7.898   5.149  19.670  1.00 98.77           C  \nATOM    446  CG2 ILE B  58      10.149   6.047  18.964  1.00 98.77           C  \nATOM    447  CD1 ILE B  58       8.345   4.548  20.995  1.00 98.77           C  \nATOM    448  N   VAL B  59      10.002   4.728  15.691  1.00 98.59           N  \nATOM    449  CA  VAL B  59      11.124   4.850  14.766  1.00 98.59           C  \nATOM    450  C   VAL B  59      10.642   5.447  13.446  1.00 98.59           C  \nATOM    451  CB  VAL B  59      11.806   3.487  14.517  1.00 98.59           C  \nATOM    452  O   VAL B  59      11.260   6.373  12.913  1.00 98.59           O  \nATOM    453  CG1 VAL B  59      12.809   3.586  13.369  1.00 98.59           C  \nATOM    454  CG2 VAL B  59      12.493   2.994  15.790  1.00 98.59           C  \nATOM    455  N   TYR B  60       9.506   5.023  12.984  1.00 98.23           N  \nATOM    456  CA  TYR B  60       8.996   5.445  11.684  1.00 98.23           C  \nATOM    457  C   TYR B  60       8.505   6.887  11.733  1.00 98.23           C  \nATOM    458  CB  TYR B  60       7.862   4.523  11.226  1.00 98.23           C  \nATOM    459  O   TYR B  60       8.631   7.626  10.754  1.00 98.23           O  \nATOM    460  CG  TYR B  60       8.342   3.259  10.553  1.00 98.23           C  \nATOM    461  CD1 TYR B  60       9.657   2.824  10.702  1.00 98.23           C  \nATOM    462  CD2 TYR B  60       7.482   2.500   9.767  1.00 98.23           C  \nATOM    463  CE1 TYR B  60      10.103   1.661  10.082  1.00 98.23           C  \nATOM    464  CE2 TYR B  60       7.918   1.336   9.143  1.00 98.23           C  \nATOM    465  OH  TYR B  60       9.665  -0.227   8.690  1.00 98.23           O  \nATOM    466  CZ  TYR B  60       9.228   0.925   9.306  1.00 98.23           C  \nATOM    467  N   LYS B  61       7.915   7.281  12.825  1.00 98.15           N  \nATOM    468  CA  LYS B  61       7.173   8.538  12.838  1.00 98.15           C  \nATOM    469  C   LYS B  61       7.928   9.614  13.614  1.00 98.15           C  \nATOM    470  CB  LYS B  61       5.783   8.335  13.443  1.00 98.15           C  \nATOM    471  O   LYS B  61       7.636  10.804  13.480  1.00 98.15           O  \nATOM    472  CG  LYS B  61       4.896   7.385  12.652  1.00 98.15           C  \nATOM    473  CD  LYS B  61       3.544   7.190  13.326  1.00 98.15           C  \nATOM    474  CE  LYS B  61       2.701   6.151  12.599  1.00 98.15           C  \nATOM    475  NZ  LYS B  61       1.386   5.935  13.273  1.00 98.15           N  \nATOM    476  N   VAL B  62       8.876   9.236  14.420  1.00 98.39           N  \nATOM    477  CA  VAL B  62       9.558  10.220  15.255  1.00 98.39           C  \nATOM    478  C   VAL B  62      11.039  10.272  14.886  1.00 98.39           C  \nATOM    479  CB  VAL B  62       9.394   9.900  16.758  1.00 98.39           C  \nATOM    480  O   VAL B  62      11.500  11.244  14.283  1.00 98.39           O  \nATOM    481  CG1 VAL B  62       9.999  11.011  17.615  1.00 98.39           C  \nATOM    482  CG2 VAL B  62       7.919   9.699  17.102  1.00 98.39           C  \nATOM    483  N   ALA B  63      11.770   9.207  15.081  1.00 97.85           N  \nATOM    484  CA  ALA B  63      13.210   9.182  14.838  1.00 97.85           C  \nATOM    485  C   ALA B  63      13.524   9.473  13.373  1.00 97.85           C  \nATOM    486  CB  ALA B  63      13.795   7.832  15.247  1.00 97.85           C  \nATOM    487  O   ALA B  63      14.438  10.243  13.069  1.00 97.85           O  \nATOM    488  N   ALA B  64      12.769   8.960  12.549  1.00 97.14           N  \nATOM    489  CA  ALA B  64      13.001   9.067  11.111  1.00 97.14           C  \nATOM    490  C   ALA B  64      12.873  10.513  10.641  1.00 97.14           C  \nATOM    491  CB  ALA B  64      12.027   8.174  10.347  1.00 97.14           C  \nATOM    492  O   ALA B  64      13.397  10.878   9.586  1.00 97.14           O  \nATOM    493  N   PHE B  65      12.175  11.286  11.433  1.00 95.87           N  \nATOM    494  CA  PHE B  65      11.890  12.644  10.986  1.00 95.87           C  \nATOM    495  C   PHE B  65      12.555  13.666  11.901  1.00 95.87           C  \nATOM    496  CB  PHE B  65      10.378  12.889  10.936  1.00 95.87           C  \nATOM    497  O   PHE B  65      12.360  14.872  11.738  1.00 95.87           O  \nATOM    498  CG  PHE B  65       9.657  12.031   9.933  1.00 95.87           C  \nATOM    499  CD1 PHE B  65       9.646  12.372   8.586  1.00 95.87           C  \nATOM    500  CD2 PHE B  65       8.990  10.881  10.336  1.00 95.87           C  \nATOM    501  CE1 PHE B  65       8.979  11.579   7.654  1.00 95.87           C  \nATOM    502  CE2 PHE B  65       8.321  10.084   9.412  1.00 95.87           C  \nATOM    503  CZ  PHE B  65       8.316  10.435   8.071  1.00 95.87           C  \nATOM    504  N   GLY B  66      13.218  13.186  12.848  1.00 93.44           N  \nATOM    505  CA  GLY B  66      13.952  14.063  13.746  1.00 93.44           C  \nATOM    506  C   GLY B  66      13.054  14.827  14.700  1.00 93.44           C  \nATOM    507  O   GLY B  66      13.409  15.915  15.159  1.00 93.44           O  \nATOM    508  N   HIS B  67      11.894  14.427  14.929  1.00 96.19           N  \nATOM    509  CA  HIS B  67      11.017  15.061  15.907  1.00 96.19           C  \nATOM    510  C   HIS B  67      11.544  14.869  17.325  1.00 96.19           C  \nATOM    511  CB  HIS B  67       9.597  14.503  15.795  1.00 96.19           C  \nATOM    512  O   HIS B  67      12.248  13.896  17.604  1.00 96.19           O  \nATOM    513  CG  HIS B  67       8.935  14.806  14.489  1.00 96.19           C  \nATOM    514  CD2 HIS B  67       8.235  14.015  13.642  1.00 96.19           C  \nATOM    515  ND1 HIS B  67       8.955  16.060  13.918  1.00 96.19           N  \nATOM    516  CE1 HIS B  67       8.294  16.027  12.773  1.00 96.19           C  \nATOM    517  NE2 HIS B  67       7.847  14.798  12.583  1.00 96.19           N  \nATOM    518  N   ASP B  68      11.160  15.720  18.188  1.00 96.03           N  \nATOM    519  CA  ASP B  68      11.597  15.630  19.578  1.00 96.03           C  \nATOM    520  C   ASP B  68      10.661  14.740  20.392  1.00 96.03           C  \nATOM    521  CB  ASP B  68      11.678  17.023  20.206  1.00 96.03           C  \nATOM    522  O   ASP B  68       9.512  15.109  20.648  1.00 96.03           O  \nATOM    523  CG  ASP B  68      12.251  17.007  21.612  1.00 96.03           C  \nATOM    524  OD1 ASP B  68      12.515  15.910  22.151  1.00 96.03           O  \nATOM    525  OD2 ASP B  68      12.437  18.100  22.188  1.00 96.03           O  \nATOM    526  N   PRO B  69      11.178  13.663  20.851  1.00 98.04           N  \nATOM    527  CA  PRO B  69      10.326  12.747  21.612  1.00 98.04           C  \nATOM    528  C   PRO B  69       9.858  13.342  22.938  1.00 98.04           C  \nATOM    529  CB  PRO B  69      11.233  11.536  21.848  1.00 98.04           C  \nATOM    530  O   PRO B  69       8.914  12.833  23.548  1.00 98.04           O  \nATOM    531  CG  PRO B  69      12.319  11.668  20.830  1.00 98.04           C  \nATOM    532  CD  PRO B  69      12.550  13.129  20.566  1.00 98.04           C  \nATOM    533  N   LYS B  70      10.480  14.341  23.397  1.00 97.02           N  \nATOM    534  CA  LYS B  70      10.105  14.959  24.665  1.00 97.02           C  \nATOM    535  C   LYS B  70       8.906  15.887  24.492  1.00 97.02           C  \nATOM    536  CB  LYS B  70      11.286  15.734  25.254  1.00 97.02           C  \nATOM    537  O   LYS B  70       8.248  16.249  25.470  1.00 97.02           O  \nATOM    538  CG  LYS B  70      12.465  14.857  25.651  1.00 97.02           C  \nATOM    539  CD  LYS B  70      13.648  15.692  26.123  1.00 97.02           C  \nATOM    540  CE  LYS B  70      14.885  14.834  26.348  1.00 97.02           C  \nATOM    541  NZ  LYS B  70      16.085  15.663  26.668  1.00 97.02           N  \nATOM    542  N   THR B  71       8.616  16.272  23.269  1.00 96.30           N  \nATOM    543  CA  THR B  71       7.494  17.160  22.986  1.00 96.30           C  \nATOM    544  C   THR B  71       6.357  16.397  22.312  1.00 96.30           C  \nATOM    545  CB  THR B  71       7.925  18.337  22.092  1.00 96.30           C  \nATOM    546  O   THR B  71       5.184  16.628  22.613  1.00 96.30           O  \nATOM    547  CG2 THR B  71       9.064  19.125  22.732  1.00 96.30           C  \nATOM    548  OG1 THR B  71       8.363  17.832  20.824  1.00 96.30           O  \nATOM    549  N   MET B  72       6.684  15.485  21.501  1.00 97.90           N  \nATOM    550  CA  MET B  72       5.657  14.702  20.820  1.00 97.90           C  \nATOM    551  C   MET B  72       4.989  13.726  21.784  1.00 97.90           C  \nATOM    552  CB  MET B  72       6.256  13.941  19.636  1.00 97.90           C  \nATOM    553  O   MET B  72       5.643  13.185  22.677  1.00 97.90           O  \nATOM    554  CG  MET B  72       5.218  13.402  18.665  1.00 97.90           C  \nATOM    555  SD  MET B  72       5.971  12.723  17.136  1.00 97.90           S  \nATOM    556  CE  MET B  72       6.431  14.264  16.295  1.00 97.90           C  \nATOM    557  N   ARG B  73       3.721  13.541  21.581  1.00 98.46           N  \nATOM    558  CA  ARG B  73       2.947  12.734  22.519  1.00 98.46           C  \nATOM    559  C   ARG B  73       2.540  11.405  21.892  1.00 98.46           C  \nATOM    560  CB  ARG B  73       1.704  13.496  22.985  1.00 98.46           C  \nATOM    561  O   ARG B  73       2.481  11.283  20.667  1.00 98.46           O  \nATOM    562  CG  ARG B  73       2.005  14.866  23.571  1.00 98.46           C  \nATOM    563  CD  ARG B  73       2.727  14.762  24.907  1.00 98.46           C  \nATOM    564  NE  ARG B  73       2.921  16.073  25.519  1.00 98.46           N  \nATOM    565  NH1 ARG B  73       2.633  15.333  27.688  1.00 98.46           N  \nATOM    566  NH2 ARG B  73       3.062  17.547  27.275  1.00 98.46           N  \nATOM    567  CZ  ARG B  73       2.872  16.315  26.826  1.00 98.46           C  \nATOM    568  N   VAL B  74       2.204  10.455  22.690  1.00 98.72           N  \nATOM    569  CA  VAL B  74       1.860   9.097  22.284  1.00 98.72           C  \nATOM    570  C   VAL B  74       0.596   9.118  21.426  1.00 98.72           C  \nATOM    571  CB  VAL B  74       1.658   8.172  23.505  1.00 98.72           C  \nATOM    572  O   VAL B  74       0.515   8.422  20.411  1.00 98.72           O  \nATOM    573  CG1 VAL B  74       0.944   6.885  23.097  1.00 98.72           C  \nATOM    574  CG2 VAL B  74       3.001   7.856  24.162  1.00 98.72           C  \nATOM    575  N   TYR B  75      -0.361   9.939  21.725  1.00 97.51           N  \nATOM    576  CA  TYR B  75      -1.621   9.947  20.991  1.00 97.51           C  \nATOM    577  C   TYR B  75      -1.415  10.428  19.560  1.00 97.51           C  \nATOM    578  CB  TYR B  75      -2.649  10.835  21.697  1.00 97.51           C  \nATOM    579  O   TYR B  75      -2.283  10.240  18.704  1.00 97.51           O  \nATOM    580  CG  TYR B  75      -2.337  12.310  21.614  1.00 97.51           C  \nATOM    581  CD1 TYR B  75      -1.816  12.994  22.710  1.00 97.51           C  \nATOM    582  CD2 TYR B  75      -2.562  13.021  20.440  1.00 97.51           C  \nATOM    583  CE1 TYR B  75      -1.529  14.353  22.639  1.00 97.51           C  \nATOM    584  CE2 TYR B  75      -2.278  14.380  20.358  1.00 97.51           C  \nATOM    585  OH  TYR B  75      -1.479  16.382  21.384  1.00 97.51           O  \nATOM    586  CZ  TYR B  75      -1.762  15.036  21.460  1.00 97.51           C  \nATOM    587  N   GLU B  76      -0.279  11.056  19.276  1.00 97.86           N  \nATOM    588  CA  GLU B  76       0.005  11.559  17.935  1.00 97.86           C  \nATOM    589  C   GLU B  76       0.502  10.443  17.020  1.00 97.86           C  \nATOM    590  CB  GLU B  76       1.034  12.691  17.991  1.00 97.86           C  \nATOM    591  O   GLU B  76       0.447  10.567  15.795  1.00 97.86           O  \nATOM    592  CG  GLU B  76       0.553  13.924  18.742  1.00 97.86           C  \nATOM    593  CD  GLU B  76       1.628  14.986  18.904  1.00 97.86           C  \nATOM    594  OE1 GLU B  76       1.904  15.724  17.931  1.00 97.86           O  \nATOM    595  OE2 GLU B  76       2.201  15.080  20.013  1.00 97.86           O  \nATOM    596  N   ILE B  77       0.973   9.300  17.576  1.00 98.28           N  \nATOM    597  CA  ILE B  77       1.613   8.303  16.725  1.00 98.28           C  \nATOM    598  C   ILE B  77       0.998   6.930  16.986  1.00 98.28           C  \nATOM    599  CB  ILE B  77       3.140   8.258  16.957  1.00 98.28           C  \nATOM    600  O   ILE B  77       1.281   5.969  16.266  1.00 98.28           O  \nATOM    601  CG1 ILE B  77       3.449   7.879  18.410  1.00 98.28           C  \nATOM    602  CG2 ILE B  77       3.781   9.601  16.593  1.00 98.28           C  \nATOM    603  CD1 ILE B  77       4.873   7.388  18.633  1.00 98.28           C  \nATOM    604  N   MET B  78       0.173   6.767  17.932  1.00 98.18           N  \nATOM    605  CA  MET B  78      -0.395   5.487  18.347  1.00 98.18           C  \nATOM    606  C   MET B  78      -1.464   5.022  17.363  1.00 98.18           C  \nATOM    607  CB  MET B  78      -0.988   5.591  19.753  1.00 98.18           C  \nATOM    608  O   MET B  78      -1.952   5.810  16.552  1.00 98.18           O  \nATOM    609  CG  MET B  78      -2.226   6.469  19.833  1.00 98.18           C  \nATOM    610  SD  MET B  78      -2.917   6.557  21.531  1.00 98.18           S  \nATOM    611  CE  MET B  78      -4.380   7.587  21.227  1.00 98.18           C  \nATOM    612  N   ALA B  79      -1.784   3.701  17.457  1.00 97.69           N  \nATOM    613  CA  ALA B  79      -2.986   3.150  16.838  1.00 97.69           C  \nATOM    614  C   ALA B  79      -4.109   2.997  17.860  1.00 97.69           C  \nATOM    615  CB  ALA B  79      -2.679   1.805  16.184  1.00 97.69           C  \nATOM    616  O   ALA B  79      -3.985   2.227  18.816  1.00 97.69           O  \nATOM    617  N   LYS B  80      -5.137   3.753  17.672  1.00 96.64           N  \nATOM    618  CA  LYS B  80      -6.307   3.698  18.544  1.00 96.64           C  \nATOM    619  C   LYS B  80      -7.587   3.987  17.764  1.00 96.64           C  \nATOM    620  CB  LYS B  80      -6.162   4.690  19.699  1.00 96.64           C  \nATOM    621  O   LYS B  80      -7.739   5.066  17.189  1.00 96.64           O  \nATOM    622  CG  LYS B  80      -7.255   4.578  20.751  1.00 96.64           C  \nATOM    623  CD  LYS B  80      -6.921   5.392  21.994  1.00 96.64           C  \nATOM    624  CE  LYS B  80      -7.977   5.221  23.077  1.00 96.64           C  \nATOM    625  NZ  LYS B  80      -7.543   5.821  24.374  1.00 96.64           N  \nATOM    626  N   PRO B  81      -8.577   3.093  17.720  1.00 95.26           N  \nATOM    627  CA  PRO B  81      -8.557   1.735  18.269  1.00 95.26           C  \nATOM    628  C   PRO B  81      -7.574   0.819  17.542  1.00 95.26           C  \nATOM    629  CB  PRO B  81      -9.997   1.254  18.074  1.00 95.26           C  \nATOM    630  O   PRO B  81      -7.112   1.149  16.446  1.00 95.26           O  \nATOM    631  CG  PRO B  81     -10.494   2.010  16.884  1.00 95.26           C  \nATOM    632  CD  PRO B  81      -9.811   3.346  16.848  1.00 95.26           C  \nATOM    633  N   CYS B  82      -7.167  -0.163  18.176  1.00 95.09           N  \nATOM    634  CA  CYS B  82      -6.296  -1.157  17.558  1.00 95.09           C  \nATOM    635  C   CYS B  82      -7.040  -2.466  17.325  1.00 95.09           C  \nATOM    636  CB  CYS B  82      -5.065  -1.407  18.429  1.00 95.09           C  \nATOM    637  O   CYS B  82      -8.103  -2.692  17.906  1.00 95.09           O  \nATOM    638  SG  CYS B  82      -5.458  -1.961  20.103  1.00 95.09           S  \nATOM    639  N   VAL B  83      -6.552  -3.301  16.336  1.00 95.52           N  \nATOM    640  CA  VAL B  83      -7.060  -4.653  16.129  1.00 95.52           C  \nATOM    641  C   VAL B  83      -6.820  -5.492  17.382  1.00 95.52           C  \nATOM    642  CB  VAL B  83      -6.401  -5.326  14.904  1.00 95.52           C  \nATOM    643  O   VAL B  83      -5.751  -5.416  17.993  1.00 95.52           O  \nATOM    644  CG1 VAL B  83      -6.877  -6.770  14.760  1.00 95.52           C  \nATOM    645  CG2 VAL B  83      -6.703  -4.531  13.634  1.00 95.52           C  \nATOM    646  N   VAL B  84      -7.799  -6.204  17.754  1.00 94.98           N  \nATOM    647  CA  VAL B  84      -7.685  -7.016  18.961  1.00 94.98           C  \nATOM    648  C   VAL B  84      -7.831  -8.494  18.605  1.00 94.98           C  \nATOM    649  CB  VAL B  84      -8.740  -6.615  20.016  1.00 94.98           C  \nATOM    650  O   VAL B  84      -8.405  -8.836  17.568  1.00 94.98           O  \nATOM    651  CG1 VAL B  84      -8.564  -5.155  20.429  1.00 94.98           C  \nATOM    652  CG2 VAL B  84     -10.150  -6.855  19.479  1.00 94.98           C  \nATOM    653  N   VAL B  85      -7.276  -9.368  19.460  1.00 95.45           N  \nATOM    654  CA  VAL B  85      -7.307 -10.809  19.235  1.00 95.45           C  \nATOM    655  C   VAL B  85      -8.135 -11.485  20.325  1.00 95.45           C  \nATOM    656  CB  VAL B  85      -5.884 -11.409  19.198  1.00 95.45           C  \nATOM    657  O   VAL B  85      -7.981 -11.179  21.510  1.00 95.45           O  \nATOM    658  CG1 VAL B  85      -5.941 -12.935  19.192  1.00 95.45           C  \nATOM    659  CG2 VAL B  85      -5.120 -10.895  17.978  1.00 95.45           C  \nATOM    660  N   ASN B  86      -9.011 -12.408  19.950  1.00 93.17           N  \nATOM    661  CA  ASN B  86      -9.717 -13.282  20.881  1.00 93.17           C  \nATOM    662  C   ASN B  86      -8.773 -14.294  21.524  1.00 93.17           C  \nATOM    663  CB  ASN B  86     -10.867 -14.002  20.175  1.00 93.17           C  \nATOM    664  O   ASN B  86      -7.992 -14.948  20.831  1.00 93.17           O  \nATOM    665  CG  ASN B  86     -11.705 -14.836  21.125  1.00 93.17           C  \nATOM    666  ND2 ASN B  86     -13.015 -14.838  20.913  1.00 93.17           N  \nATOM    667  OD1 ASN B  86     -11.178 -15.473  22.041  1.00 93.17           O  \nATOM    668  N   PRO B  87      -8.874 -14.403  22.868  1.00 94.79           N  \nATOM    669  CA  PRO B  87      -7.950 -15.315  23.547  1.00 94.79           C  \nATOM    670  C   PRO B  87      -8.110 -16.764  23.092  1.00 94.79           C  \nATOM    671  CB  PRO B  87      -8.326 -15.161  25.023  1.00 94.79           C  \nATOM    672  O   PRO B  87      -7.157 -17.544  23.160  1.00 94.79           O  \nATOM    673  CG  PRO B  87      -9.715 -14.608  25.009  1.00 94.79           C  \nATOM    674  CD  PRO B  87      -9.876 -13.758  23.781  1.00 94.79           C  \nATOM    675  N   GLU B  88      -9.200 -17.130  22.542  1.00 93.09           N  \nATOM    676  CA  GLU B  88      -9.465 -18.513  22.159  1.00 93.09           C  \nATOM    677  C   GLU B  88      -9.161 -18.744  20.681  1.00 93.09           C  \nATOM    678  CB  GLU B  88     -10.918 -18.887  22.461  1.00 93.09           C  \nATOM    679  O   GLU B  88      -9.341 -19.852  20.171  1.00 93.09           O  \nATOM    680  CG  GLU B  88     -11.275 -18.821  23.939  1.00 93.09           C  \nATOM    681  CD  GLU B  88     -12.751 -19.063  24.211  1.00 93.09           C  \nATOM    682  OE1 GLU B  88     -13.144 -19.148  25.397  1.00 93.09           O  \nATOM    683  OE2 GLU B  88     -13.521 -19.169  23.230  1.00 93.09           O  \nATOM    684  N   LEU B  89      -8.750 -17.702  20.033  1.00 93.12           N  \nATOM    685  CA  LEU B  89      -8.421 -17.836  18.618  1.00 93.12           C  \nATOM    686  C   LEU B  89      -7.200 -18.730  18.426  1.00 93.12           C  \nATOM    687  CB  LEU B  89      -8.164 -16.461  17.995  1.00 93.12           C  \nATOM    688  O   LEU B  89      -6.213 -18.604  19.154  1.00 93.12           O  \nATOM    689  CG  LEU B  89      -8.124 -16.406  16.467  1.00 93.12           C  \nATOM    690  CD1 LEU B  89      -9.472 -16.817  15.886  1.00 93.12           C  \nATOM    691  CD2 LEU B  89      -7.734 -15.011  15.992  1.00 93.12           C  \nATOM    692  N   GLY B  90      -7.257 -19.624  17.391  1.00 92.81           N  \nATOM    693  CA  GLY B  90      -6.111 -20.462  17.073  1.00 92.81           C  \nATOM    694  C   GLY B  90      -4.916 -19.673  16.572  1.00 92.81           C  \nATOM    695  O   GLY B  90      -5.076 -18.664  15.883  1.00 92.81           O  \nATOM    696  N   VAL B  91      -3.789 -20.163  16.813  1.00 94.83           N  \nATOM    697  CA  VAL B  91      -2.540 -19.456  16.550  1.00 94.83           C  \nATOM    698  C   VAL B  91      -2.377 -19.237  15.047  1.00 94.83           C  \nATOM    699  CB  VAL B  91      -1.323 -20.224  17.112  1.00 94.83           C  \nATOM    700  O   VAL B  91      -1.882 -18.193  14.616  1.00 94.83           O  \nATOM    701  CG1 VAL B  91      -0.017 -19.588  16.639  1.00 94.83           C  \nATOM    702  CG2 VAL B  91      -1.379 -20.266  18.638  1.00 94.83           C  \nATOM    703  N   GLU B  92      -2.732 -20.185  14.262  1.00 94.28           N  \nATOM    704  CA  GLU B  92      -2.615 -20.024  12.815  1.00 94.28           C  \nATOM    705  C   GLU B  92      -3.517 -18.902  12.310  1.00 94.28           C  \nATOM    706  CB  GLU B  92      -2.953 -21.334  12.099  1.00 94.28           C  \nATOM    707  O   GLU B  92      -3.144 -18.162  11.398  1.00 94.28           O  \nATOM    708  CG  GLU B  92      -1.956 -22.454  12.361  1.00 94.28           C  \nATOM    709  CD  GLU B  92      -2.225 -23.208  13.653  1.00 94.28           C  \nATOM    710  OE1 GLU B  92      -1.500 -24.185  13.949  1.00 94.28           O  \nATOM    711  OE2 GLU B  92      -3.170 -22.819  14.376  1.00 94.28           O  \nATOM    712  N   TYR B  93      -4.642 -18.815  12.905  1.00 95.14           N  \nATOM    713  CA  TYR B  93      -5.560 -17.745  12.530  1.00 95.14           C  \nATOM    714  C   TYR B  93      -5.039 -16.391  12.996  1.00 95.14           C  \nATOM    715  CB  TYR B  93      -6.951 -18.000  13.118  1.00 95.14           C  \nATOM    716  O   TYR B  93      -5.258 -15.373  12.335  1.00 95.14           O  \nATOM    717  CG  TYR B  93      -7.733 -19.064  12.387  1.00 95.14           C  \nATOM    718  CD1 TYR B  93      -7.989 -18.955  11.022  1.00 95.14           C  \nATOM    719  CD2 TYR B  93      -8.218 -20.181  13.060  1.00 95.14           C  \nATOM    720  CE1 TYR B  93      -8.711 -19.932  10.345  1.00 95.14           C  \nATOM    721  CE2 TYR B  93      -8.941 -21.164  12.393  1.00 95.14           C  \nATOM    722  OH  TYR B  93      -9.897 -22.002  10.372  1.00 95.14           O  \nATOM    723  CZ  TYR B  93      -9.182 -21.032  11.038  1.00 95.14           C  \nATOM    724  N   VAL B  94      -4.359 -16.348  14.145  1.00 96.78           N  \nATOM    725  CA  VAL B  94      -3.698 -15.116  14.562  1.00 96.78           C  \nATOM    726  C   VAL B  94      -2.663 -14.705  13.517  1.00 96.78           C  \nATOM    727  CB  VAL B  94      -3.027 -15.272  15.945  1.00 96.78           C  \nATOM    728  O   VAL B  94      -2.624 -13.547  13.095  1.00 96.78           O  \nATOM    729  CG1 VAL B  94      -2.360 -13.965  16.372  1.00 96.78           C  \nATOM    730  CG2 VAL B  94      -4.051 -15.719  16.987  1.00 96.78           C  \nATOM    731  N   ALA B  95      -1.893 -15.701  13.105  1.00 98.05           N  \nATOM    732  CA  ALA B  95      -0.902 -15.442  12.064  1.00 98.05           C  \nATOM    733  C   ALA B  95      -1.561 -14.886  10.805  1.00 98.05           C  \nATOM    734  CB  ALA B  95      -0.128 -16.717  11.737  1.00 98.05           C  \nATOM    735  O   ALA B  95      -1.073 -13.918  10.217  1.00 98.05           O  \nATOM    736  N   ARG B  96      -2.627 -15.477  10.409  1.00 97.77           N  \nATOM    737  CA  ARG B  96      -3.337 -15.050   9.207  1.00 97.77           C  \nATOM    738  C   ARG B  96      -3.907 -13.646   9.378  1.00 97.77           C  \nATOM    739  CB  ARG B  96      -4.459 -16.033   8.868  1.00 97.77           C  \nATOM    740  O   ARG B  96      -3.869 -12.837   8.448  1.00 97.77           O  \nATOM    741  CG  ARG B  96      -5.108 -15.785   7.515  1.00 97.77           C  \nATOM    742  CD  ARG B  96      -6.058 -16.910   7.130  1.00 97.77           C  \nATOM    743  NE  ARG B  96      -6.880 -16.550   5.978  1.00 97.77           N  \nATOM    744  NH1 ARG B  96      -5.421 -17.409   4.407  1.00 97.77           N  \nATOM    745  NH2 ARG B  96      -7.381 -16.425   3.740  1.00 97.77           N  \nATOM    746  CZ  ARG B  96      -6.559 -16.796   4.711  1.00 97.77           C  \nATOM    747  N   LEU B  97      -4.420 -13.333  10.557  1.00 97.57           N  \nATOM    748  CA  LEU B  97      -4.918 -11.994  10.852  1.00 97.57           C  \nATOM    749  C   LEU B  97      -3.805 -10.959  10.722  1.00 97.57           C  \nATOM    750  CB  LEU B  97      -5.518 -11.942  12.260  1.00 97.57           C  \nATOM    751  O   LEU B  97      -3.999  -9.906  10.112  1.00 97.57           O  \nATOM    752  CG  LEU B  97      -6.143 -10.612  12.682  1.00 97.57           C  \nATOM    753  CD1 LEU B  97      -7.328 -10.274  11.782  1.00 97.57           C  \nATOM    754  CD2 LEU B  97      -6.573 -10.663  14.144  1.00 97.57           C  \nATOM    755  N   PHE B  98      -2.650 -11.264  11.246  1.00 98.07           N  \nATOM    756  CA  PHE B  98      -1.499 -10.376  11.141  1.00 98.07           C  \nATOM    757  C   PHE B  98      -1.103 -10.173   9.683  1.00 98.07           C  \nATOM    758  CB  PHE B  98      -0.313 -10.935  11.934  1.00 98.07           C  \nATOM    759  O   PHE B  98      -0.863  -9.044   9.251  1.00 98.07           O  \nATOM    760  CG  PHE B  98      -0.449 -10.773  13.424  1.00 98.07           C  \nATOM    761  CD1 PHE B  98      -1.510 -10.059  13.966  1.00 98.07           C  \nATOM    762  CD2 PHE B  98       0.486 -11.336  14.283  1.00 98.07           C  \nATOM    763  CE1 PHE B  98      -1.638  -9.907  15.344  1.00 98.07           C  \nATOM    764  CE2 PHE B  98       0.364 -11.189  15.662  1.00 98.07           C  \nATOM    765  CZ  PHE B  98      -0.698 -10.474  16.190  1.00 98.07           C  \nATOM    766  N   ALA B  99      -1.100 -11.268   8.967  1.00 97.78           N  \nATOM    767  CA  ALA B  99      -0.732 -11.186   7.556  1.00 97.78           C  \nATOM    768  C   ALA B  99      -1.722 -10.321   6.780  1.00 97.78           C  \nATOM    769  CB  ALA B  99      -0.658 -12.582   6.943  1.00 97.78           C  \nATOM    770  O   ALA B  99      -1.320  -9.480   5.972  1.00 97.78           O  \nATOM    771  N   GLN B 100      -2.973 -10.445   7.026  1.00 96.01           N  \nATOM    772  CA  GLN B 100      -4.022  -9.736   6.300  1.00 96.01           C  \nATOM    773  C   GLN B 100      -4.033  -8.253   6.660  1.00 96.01           C  \nATOM    774  CB  GLN B 100      -5.390 -10.357   6.590  1.00 96.01           C  \nATOM    775  O   GLN B 100      -4.271  -7.403   5.800  1.00 96.01           O  \nATOM    776  CG  GLN B 100      -5.606 -11.708   5.923  1.00 96.01           C  \nATOM    777  CD  GLN B 100      -6.885 -12.387   6.373  1.00 96.01           C  \nATOM    778  NE2 GLN B 100      -7.290 -13.428   5.653  1.00 96.01           N  \nATOM    779  OE1 GLN B 100      -7.505 -11.981   7.362  1.00 96.01           O  \nATOM    780  N   THR B 101      -3.783  -7.944   7.910  1.00 96.58           N  \nATOM    781  CA  THR B 101      -3.877  -6.567   8.383  1.00 96.58           C  \nATOM    782  C   THR B 101      -2.504  -5.900   8.384  1.00 96.58           C  \nATOM    783  CB  THR B 101      -4.484  -6.502   9.797  1.00 96.58           C  \nATOM    784  O   THR B 101      -2.393  -4.698   8.634  1.00 96.58           O  \nATOM    785  CG2 THR B 101      -5.905  -7.055   9.812  1.00 96.58           C  \nATOM    786  OG1 THR B 101      -3.674  -7.273  10.694  1.00 96.58           O  \nATOM    787  N   ARG B 102      -1.437  -6.684   8.270  1.00 95.88           N  \nATOM    788  CA  ARG B 102      -0.055  -6.217   8.209  1.00 95.88           C  \nATOM    789  C   ARG B 102       0.379  -5.617   9.542  1.00 95.88           C  \nATOM    790  CB  ARG B 102       0.116  -5.188   7.090  1.00 95.88           C  \nATOM    791  O   ARG B 102       1.066  -4.593   9.573  1.00 95.88           O  \nATOM    792  CG  ARG B 102      -0.139  -5.744   5.698  1.00 95.88           C  \nATOM    793  CD  ARG B 102       0.974  -6.682   5.252  1.00 95.88           C  \nATOM    794  NE  ARG B 102       0.815  -7.084   3.858  1.00 95.88           N  \nATOM    795  NH1 ARG B 102       2.939  -7.968   3.654  1.00 95.88           N  \nATOM    796  NH2 ARG B 102       1.500  -8.007   1.870  1.00 95.88           N  \nATOM    797  CZ  ARG B 102       1.752  -7.685   3.130  1.00 95.88           C  \nATOM    798  N   ILE B 103      -0.153  -6.185  10.599  1.00 96.39           N  \nATOM    799  CA  ILE B 103       0.332  -5.837  11.930  1.00 96.39           C  \nATOM    800  C   ILE B 103       1.166  -6.985  12.493  1.00 96.39           C  \nATOM    801  CB  ILE B 103      -0.835  -5.503  12.887  1.00 96.39           C  \nATOM    802  O   ILE B 103       1.170  -8.087  11.939  1.00 96.39           O  \nATOM    803  CG1 ILE B 103      -1.720  -6.736  13.100  1.00 96.39           C  \nATOM    804  CG2 ILE B 103      -1.654  -4.326  12.350  1.00 96.39           C  \nATOM    805  CD1 ILE B 103      -2.806  -6.545  14.150  1.00 96.39           C  \nATOM    806  N   ARG B 104       1.904  -6.737  13.549  1.00 96.57           N  \nATOM    807  CA  ARG B 104       2.830  -7.744  14.056  1.00 96.57           C  \nATOM    808  C   ARG B 104       2.545  -8.063  15.519  1.00 96.57           C  \nATOM    809  CB  ARG B 104       4.277  -7.275  13.894  1.00 96.57           C  \nATOM    810  O   ARG B 104       3.152  -8.969  16.093  1.00 96.57           O  \nATOM    811  CG  ARG B 104       4.708  -7.091  12.447  1.00 96.57           C  \nATOM    812  CD  ARG B 104       6.035  -6.354  12.343  1.00 96.57           C  \nATOM    813  NE  ARG B 104       6.370  -6.040  10.956  1.00 96.57           N  \nATOM    814  NH1 ARG B 104       8.338  -4.942  11.463  1.00 96.57           N  \nATOM    815  NH2 ARG B 104       7.663  -5.146   9.282  1.00 96.57           N  \nATOM    816  CZ  ARG B 104       7.456  -5.377  10.570  1.00 96.57           C  \nATOM    817  N   ARG B 105       1.699  -7.248  16.087  1.00 97.31           N  \nATOM    818  CA  ARG B 105       1.305  -7.455  17.477  1.00 97.31           C  \nATOM    819  C   ARG B 105      -0.073  -6.862  17.750  1.00 97.31           C  \nATOM    820  CB  ARG B 105       2.338  -6.841  18.425  1.00 97.31           C  \nATOM    821  O   ARG B 105      -0.490  -5.915  17.081  1.00 97.31           O  \nATOM    822  CG  ARG B 105       2.417  -5.324  18.350  1.00 97.31           C  \nATOM    823  CD  ARG B 105       3.600  -4.782  19.140  1.00 97.31           C  \nATOM    824  NE  ARG B 105       4.855  -5.405  18.728  1.00 97.31           N  \nATOM    825  NH1 ARG B 105       5.870  -5.210  20.794  1.00 97.31           N  \nATOM    826  NH2 ARG B 105       6.996  -6.172  19.045  1.00 97.31           N  \nATOM    827  CZ  ARG B 105       5.904  -5.594  19.523  1.00 97.31           C  \nATOM    828  N   ALA B 106      -0.707  -7.431  18.715  1.00 97.60           N  \nATOM    829  CA  ALA B 106      -2.048  -6.984  19.083  1.00 97.60           C  \nATOM    830  C   ALA B 106      -2.385  -7.382  20.517  1.00 97.60           C  \nATOM    831  CB  ALA B 106      -3.083  -7.556  18.118  1.00 97.60           C  \nATOM    832  O   ALA B 106      -1.887  -8.392  21.020  1.00 97.60           O  \nATOM    833  N   PRO B 107      -3.186  -6.560  21.171  1.00 97.39           N  \nATOM    834  CA  PRO B 107      -3.659  -6.980  22.493  1.00 97.39           C  \nATOM    835  C   PRO B 107      -4.650  -8.139  22.424  1.00 97.39           C  \nATOM    836  CB  PRO B 107      -4.330  -5.719  23.044  1.00 97.39           C  \nATOM    837  O   PRO B 107      -5.412  -8.249  21.460  1.00 97.39           O  \nATOM    838  CG  PRO B 107      -4.725  -4.936  21.833  1.00 97.39           C  \nATOM    839  CD  PRO B 107      -3.779  -5.275  20.717  1.00 97.39           C  \nATOM    840  N   VAL B 108      -4.560  -9.017  23.372  1.00 96.93           N  \nATOM    841  CA  VAL B 108      -5.527 -10.091  23.572  1.00 96.93           C  \nATOM    842  C   VAL B 108      -6.557  -9.672  24.619  1.00 96.93           C  \nATOM    843  CB  VAL B 108      -4.836 -11.405  24.000  1.00 96.93           C  \nATOM    844  O   VAL B 108      -6.218  -9.478  25.789  1.00 96.93           O  \nATOM    845  CG1 VAL B 108      -5.855 -12.536  24.122  1.00 96.93           C  \nATOM    846  CG2 VAL B 108      -3.736 -11.777  23.007  1.00 96.93           C  \nATOM    847  N   ILE B 109      -7.765  -9.544  24.206  1.00 92.98           N  \nATOM    848  CA  ILE B 109      -8.800  -8.995  25.075  1.00 92.98           C  \nATOM    849  C   ILE B 109      -9.969  -9.972  25.166  1.00 92.98           C  \nATOM    850  CB  ILE B 109      -9.289  -7.618  24.572  1.00 92.98           C  \nATOM    851  O   ILE B 109     -10.406 -10.524  24.153  1.00 92.98           O  \nATOM    852  CG1 ILE B 109      -8.134  -6.611  24.563  1.00 92.98           C  \nATOM    853  CG2 ILE B 109     -10.451  -7.111  25.431  1.00 92.98           C  \nATOM    854  CD1 ILE B 109      -8.508  -5.245  24.003  1.00 92.98           C  \nATOM    855  N   GLN B 110     -10.490 -10.249  26.361  1.00 90.40           N  \nATOM    856  CA  GLN B 110     -11.716 -10.990  26.639  1.00 90.40           C  \nATOM    857  C   GLN B 110     -12.786 -10.080  27.235  1.00 90.40           C  \nATOM    858  CB  GLN B 110     -11.434 -12.159  27.583  1.00 90.40           C  \nATOM    859  O   GLN B 110     -12.677  -9.658  28.389  1.00 90.40           O  \nATOM    860  CG  GLN B 110     -12.625 -13.087  27.786  1.00 90.40           C  \nATOM    861  CD  GLN B 110     -12.250 -14.378  28.489  1.00 90.40           C  \nATOM    862  NE2 GLN B 110     -12.824 -15.488  28.038  1.00 90.40           N  \nATOM    863  OE1 GLN B 110     -11.450 -14.378  29.430  1.00 90.40           O  \nATOM    864  N   GLY B 111     -13.793  -9.766  26.412  1.00 83.40           N  \nATOM    865  CA  GLY B 111     -14.731  -8.750  26.862  1.00 83.40           C  \nATOM    866  C   GLY B 111     -14.109  -7.371  26.972  1.00 83.40           C  \nATOM    867  O   GLY B 111     -13.678  -6.797  25.970  1.00 83.40           O  \nATOM    868  N   LYS B 112     -14.037  -6.951  28.272  1.00 83.17           N  \nATOM    869  CA  LYS B 112     -13.435  -5.643  28.513  1.00 83.17           C  \nATOM    870  C   LYS B 112     -12.094  -5.778  29.228  1.00 83.17           C  \nATOM    871  CB  LYS B 112     -14.378  -4.760  29.331  1.00 83.17           C  \nATOM    872  O   LYS B 112     -11.466  -4.776  29.576  1.00 83.17           O  \nATOM    873  CG  LYS B 112     -15.645  -4.355  28.591  1.00 83.17           C  \nATOM    874  CD  LYS B 112     -16.441  -3.318  29.372  1.00 83.17           C  \nATOM    875  CE  LYS B 112     -17.672  -2.860  28.601  1.00 83.17           C  \nATOM    876  NZ  LYS B 112     -18.434  -1.813  29.346  1.00 83.17           N  \nATOM    877  N   THR B 113     -11.663  -6.982  29.276  1.00 90.06           N  \nATOM    878  CA  THR B 113     -10.469  -7.218  30.081  1.00 90.06           C  \nATOM    879  C   THR B 113      -9.261  -7.486  29.188  1.00 90.06           C  \nATOM    880  CB  THR B 113     -10.670  -8.400  31.046  1.00 90.06           C  \nATOM    881  O   THR B 113      -9.318  -8.333  28.294  1.00 90.06           O  \nATOM    882  CG2 THR B 113      -9.480  -8.551  31.987  1.00 90.06           C  \nATOM    883  OG1 THR B 113     -11.854  -8.179  31.823  1.00 90.06           O  \nATOM    884  N   LEU B 114      -8.274  -6.769  29.428  1.00 94.06           N  \nATOM    885  CA  LEU B 114      -7.001  -6.978  28.747  1.00 94.06           C  \nATOM    886  C   LEU B 114      -6.242  -8.149  29.362  1.00 94.06           C  \nATOM    887  CB  LEU B 114      -6.145  -5.711  28.809  1.00 94.06           C  \nATOM    888  O   LEU B 114      -5.891  -8.115  30.544  1.00 94.06           O  \nATOM    889  CG  LEU B 114      -4.751  -5.803  28.185  1.00 94.06           C  \nATOM    890  CD1 LEU B 114      -4.858  -6.006  26.677  1.00 94.06           C  \nATOM    891  CD2 LEU B 114      -3.938  -4.554  28.505  1.00 94.06           C  \nATOM    892  N   LEU B 115      -5.890  -9.206  28.612  1.00 95.95           N  \nATOM    893  CA  LEU B 115      -5.234 -10.403  29.125  1.00 95.95           C  \nATOM    894  C   LEU B 115      -3.738 -10.371  28.831  1.00 95.95           C  \nATOM    895  CB  LEU B 115      -5.859 -11.661  28.516  1.00 95.95           C  \nATOM    896  O   LEU B 115      -2.937 -10.903  29.604  1.00 95.95           O  \nATOM    897  CG  LEU B 115      -7.329 -11.917  28.849  1.00 95.95           C  \nATOM    898  CD1 LEU B 115      -7.782 -13.248  28.259  1.00 95.95           C  \nATOM    899  CD2 LEU B 115      -7.547 -11.893  30.358  1.00 95.95           C  \nATOM    900  N   GLY B 116      -3.374  -9.778  27.675  1.00 96.57           N  \nATOM    901  CA  GLY B 116      -1.982  -9.755  27.255  1.00 96.57           C  \nATOM    902  C   GLY B 116      -1.787  -9.174  25.867  1.00 96.57           C  \nATOM    903  O   GLY B 116      -2.627  -8.413  25.384  1.00 96.57           O  \nATOM    904  N   ILE B 117      -0.577  -9.398  25.306  1.00 97.20           N  \nATOM    905  CA  ILE B 117      -0.206  -9.013  23.948  1.00 97.20           C  \nATOM    906  C   ILE B 117       0.347 -10.224  23.201  1.00 97.20           C  \nATOM    907  CB  ILE B 117       0.828  -7.865  23.949  1.00 97.20           C  \nATOM    908  O   ILE B 117       1.100 -11.020  23.767  1.00 97.20           O  \nATOM    909  CG1 ILE B 117       0.204  -6.583  24.512  1.00 97.20           C  \nATOM    910  CG2 ILE B 117       1.377  -7.632  22.538  1.00 97.20           C  \nATOM    911  CD1 ILE B 117       1.184  -5.426  24.652  1.00 97.20           C  \nATOM    912  N   ILE B 118      -0.040 -10.445  22.049  1.00 97.87           N  \nATOM    913  CA  ILE B 118       0.504 -11.510  21.213  1.00 97.87           C  \nATOM    914  C   ILE B 118       1.218 -10.904  20.006  1.00 97.87           C  \nATOM    915  CB  ILE B 118      -0.602 -12.483  20.748  1.00 97.87           C  \nATOM    916  O   ILE B 118       0.748  -9.922  19.427  1.00 97.87           O  \nATOM    917  CG1 ILE B 118       0.012 -13.666  19.989  1.00 97.87           C  \nATOM    918  CG2 ILE B 118      -1.635 -11.755  19.883  1.00 97.87           C  \nATOM    919  CD1 ILE B 118      -0.932 -14.848  19.818  1.00 97.87           C  \nATOM    920  N   SER B 119       2.321 -11.434  19.618  1.00 97.51           N  \nATOM    921  CA  SER B 119       3.122 -10.903  18.520  1.00 97.51           C  \nATOM    922  C   SER B 119       3.588 -12.016  17.587  1.00 97.51           C  \nATOM    923  CB  SER B 119       4.331 -10.137  19.058  1.00 97.51           C  \nATOM    924  O   SER B 119       3.431 -13.199  17.897  1.00 97.51           O  \nATOM    925  OG  SER B 119       5.274 -11.026  19.632  1.00 97.51           O  \nATOM    926  N   VAL B 120       4.168 -11.670  16.496  1.00 98.01           N  \nATOM    927  CA  VAL B 120       4.773 -12.620  15.569  1.00 98.01           C  \nATOM    928  C   VAL B 120       5.882 -13.397  16.275  1.00 98.01           C  \nATOM    929  CB  VAL B 120       5.334 -11.911  14.315  1.00 98.01           C  \nATOM    930  O   VAL B 120       6.102 -14.576  15.989  1.00 98.01           O  \nATOM    931  CG1 VAL B 120       4.201 -11.336  13.468  1.00 98.01           C  \nATOM    932  CG2 VAL B 120       6.315 -10.813  14.719  1.00 98.01           C  \nATOM    933  N   SER B 121       6.561 -12.754  17.213  1.00 97.00           N  \nATOM    934  CA  SER B 121       7.604 -13.429  17.979  1.00 97.00           C  \nATOM    935  C   SER B 121       7.023 -14.546  18.839  1.00 97.00           C  \nATOM    936  CB  SER B 121       8.352 -12.430  18.863  1.00 97.00           C  \nATOM    937  O   SER B 121       7.598 -15.633  18.925  1.00 97.00           O  \nATOM    938  OG  SER B 121       9.026 -11.465  18.073  1.00 97.00           O  \nATOM    939  N   ASP B 122       5.922 -14.239  19.423  1.00 97.48           N  \nATOM    940  CA  ASP B 122       5.268 -15.271  20.221  1.00 97.48           C  \nATOM    941  C   ASP B 122       4.902 -16.480  19.363  1.00 97.48           C  \nATOM    942  CB  ASP B 122       4.018 -14.711  20.903  1.00 97.48           C  \nATOM    943  O   ASP B 122       5.111 -17.624  19.771  1.00 97.48           O  \nATOM    944  CG  ASP B 122       4.337 -13.701  21.991  1.00 97.48           C  \nATOM    945  OD1 ASP B 122       5.300 -13.916  22.758  1.00 97.48           O  \nATOM    946  OD2 ASP B 122       3.618 -12.683  22.083  1.00 97.48           O  \nATOM    947  N   ILE B 123       4.378 -16.216  18.190  1.00 98.11           N  \nATOM    948  CA  ILE B 123       3.987 -17.297  17.292  1.00 98.11           C  \nATOM    949  C   ILE B 123       5.218 -18.111  16.897  1.00 98.11           C  \nATOM    950  CB  ILE B 123       3.276 -16.756  16.031  1.00 98.11           C  \nATOM    951  O   ILE B 123       5.196 -19.343  16.945  1.00 98.11           O  \nATOM    952  CG1 ILE B 123       1.950 -16.088  16.412  1.00 98.11           C  \nATOM    953  CG2 ILE B 123       3.052 -17.878  15.014  1.00 98.11           C  \nATOM    954  CD1 ILE B 123       1.271 -15.359  15.260  1.00 98.11           C  \nATOM    955  N   LEU B 124       6.269 -17.458  16.604  1.00 98.24           N  \nATOM    956  CA  LEU B 124       7.477 -18.137  16.148  1.00 98.24           C  \nATOM    957  C   LEU B 124       8.100 -18.954  17.275  1.00 98.24           C  \nATOM    958  CB  LEU B 124       8.493 -17.123  15.615  1.00 98.24           C  \nATOM    959  O   LEU B 124       8.441 -20.123  17.084  1.00 98.24           O  \nATOM    960  CG  LEU B 124       9.741 -17.701  14.947  1.00 98.24           C  \nATOM    961  CD1 LEU B 124       9.444 -18.072  13.498  1.00 98.24           C  \nATOM    962  CD2 LEU B 124      10.897 -16.709  15.024  1.00 98.24           C  \nATOM    963  N   PHE B 125       8.210 -18.428  18.452  1.00 97.65           N  \nATOM    964  CA  PHE B 125       9.023 -19.011  19.514  1.00 97.65           C  \nATOM    965  C   PHE B 125       8.194 -19.960  20.371  1.00 97.65           C  \nATOM    966  CB  PHE B 125       9.634 -17.912  20.389  1.00 97.65           C  \nATOM    967  O   PHE B 125       8.732 -20.892  20.972  1.00 97.65           O  \nATOM    968  CG  PHE B 125      10.790 -17.196  19.745  1.00 97.65           C  \nATOM    969  CD1 PHE B 125      12.038 -17.801  19.655  1.00 97.65           C  \nATOM    970  CD2 PHE B 125      10.629 -15.917  19.228  1.00 97.65           C  \nATOM    971  CE1 PHE B 125      13.110 -17.141  19.059  1.00 97.65           C  \nATOM    972  CE2 PHE B 125      11.696 -15.251  18.631  1.00 97.65           C  \nATOM    973  CZ  PHE B 125      12.935 -15.864  18.549  1.00 97.65           C  \nATOM    974  N   LYS B 126       6.891 -19.754  20.431  1.00 97.44           N  \nATOM    975  CA  LYS B 126       6.139 -20.467  21.460  1.00 97.44           C  \nATOM    976  C   LYS B 126       5.087 -21.381  20.838  1.00 97.44           C  \nATOM    977  CB  LYS B 126       5.473 -19.479  22.420  1.00 97.44           C  \nATOM    978  O   LYS B 126       4.557 -22.271  21.507  1.00 97.44           O  \nATOM    979  CG  LYS B 126       6.449 -18.545  23.121  1.00 97.44           C  \nATOM    980  CD  LYS B 126       5.724 -17.562  24.032  1.00 97.44           C  \nATOM    981  CE  LYS B 126       6.673 -16.505  24.581  1.00 97.44           C  \nATOM    982  NZ  LYS B 126       5.940 -15.434  25.320  1.00 97.44           N  \nATOM    983  N   SER B 127       4.794 -21.220  19.581  1.00 96.41           N  \nATOM    984  CA  SER B 127       3.711 -22.004  18.995  1.00 96.41           C  \nATOM    985  C   SER B 127       4.226 -23.329  18.440  1.00 96.41           C  \nATOM    986  CB  SER B 127       3.015 -21.214  17.887  1.00 96.41           C  \nATOM    987  O   SER B 127       5.416 -23.633  18.549  1.00 96.41           O  \nATOM    988  OG  SER B 127       3.734 -21.314  16.669  1.00 96.41           O  \nATOM    989  N   ASP B 128       3.272 -24.123  17.935  1.00 95.83           N  \nATOM    990  CA  ASP B 128       3.616 -25.453  17.444  1.00 95.83           C  \nATOM    991  C   ASP B 128       3.355 -25.570  15.944  1.00 95.83           C  \nATOM    992  CB  ASP B 128       2.829 -26.525  18.200  1.00 95.83           C  \nATOM    993  O   ASP B 128       3.060 -26.657  15.443  1.00 95.83           O  \nATOM    994  CG  ASP B 128       1.325 -26.366  18.059  1.00 95.83           C  \nATOM    995  OD1 ASP B 128       0.871 -25.382  17.436  1.00 95.83           O  \nATOM    996  OD2 ASP B 128       0.587 -27.232  18.577  1.00 95.83           O  \nATOM    997  N   PHE B 129       3.449 -24.482  15.229  1.00 95.39           N  \nATOM    998  CA  PHE B 129       3.100 -24.501  13.813  1.00 95.39           C  \nATOM    999  C   PHE B 129       4.122 -25.302  13.015  1.00 95.39           C  \nATOM   1000  CB  PHE B 129       3.005 -23.074  13.263  1.00 95.39           C  \nATOM   1001  O   PHE B 129       3.828 -25.770  11.913  1.00 95.39           O  \nATOM   1002  CG  PHE B 129       4.339 -22.400  13.091  1.00 95.39           C  \nATOM   1003  CD1 PHE B 129       4.930 -21.717  14.147  1.00 95.39           C  \nATOM   1004  CD2 PHE B 129       5.003 -22.448  11.872  1.00 95.39           C  \nATOM   1005  CE1 PHE B 129       6.165 -21.091  13.991  1.00 95.39           C  \nATOM   1006  CE2 PHE B 129       6.237 -21.826  11.708  1.00 95.39           C  \nATOM   1007  CZ  PHE B 129       6.816 -21.147  12.768  1.00 95.39           C  \nATOM   1008  N   VAL B 130       5.353 -25.413  13.539  1.00 96.78           N  \nATOM   1009  CA  VAL B 130       6.362 -26.222  12.862  1.00 96.78           C  \nATOM   1010  C   VAL B 130       6.043 -27.704  13.043  1.00 96.78           C  \nATOM   1011  CB  VAL B 130       7.782 -25.914  13.387  1.00 96.78           C  \nATOM   1012  O   VAL B 130       6.068 -28.473  12.079  1.00 96.78           O  \nATOM   1013  CG1 VAL B 130       8.799 -26.888  12.795  1.00 96.78           C  \nATOM   1014  CG2 VAL B 130       8.169 -24.472  13.065  1.00 96.78           C  \nATOM   1015  N   GLU B 131       5.678 -28.100  14.261  1.00 94.59           N  \nATOM   1016  CA  GLU B 131       5.416 -29.496  14.598  1.00 94.59           C  \nATOM   1017  C   GLU B 131       4.069 -29.954  14.047  1.00 94.59           C  \nATOM   1018  CB  GLU B 131       5.461 -29.701  16.114  1.00 94.59           C  \nATOM   1019  O   GLU B 131       3.931 -31.094  13.599  1.00 94.59           O  \nATOM   1020  CG  GLU B 131       6.832 -29.455  16.728  1.00 94.59           C  \nATOM   1021  CD  GLU B 131       7.149 -27.980  16.916  1.00 94.59           C  \nATOM   1022  OE1 GLU B 131       8.336 -27.634  17.114  1.00 94.59           O  \nATOM   1023  OE2 GLU B 131       6.202 -27.163  16.867  1.00 94.59           O  \nATOM   1024  N   LYS B 132       3.139 -29.050  14.088  1.00 92.55           N  \nATOM   1025  CA  LYS B 132       1.785 -29.395  13.663  1.00 92.55           C  \nATOM   1026  C   LYS B 132       1.252 -28.384  12.652  1.00 92.55           C  \nATOM   1027  CB  LYS B 132       0.848 -29.475  14.868  1.00 92.55           C  \nATOM   1028  O   LYS B 132       0.270 -27.689  12.920  1.00 92.55           O  \nATOM   1029  CG  LYS B 132       1.263 -30.504  15.908  1.00 92.55           C  \nATOM   1030  CD  LYS B 132       0.296 -30.533  17.085  1.00 92.55           C  \nATOM   1031  CE  LYS B 132       0.756 -31.502  18.165  1.00 92.55           C  \nATOM   1032  NZ  LYS B 132      -0.137 -31.462  19.362  1.00 92.55           N  \nATOM   1033  N   PRO B 133       1.824 -28.521  11.499  1.00 90.92           N  \nATOM   1034  CA  PRO B 133       1.255 -27.628  10.487  1.00 90.92           C  \nATOM   1035  C   PRO B 133      -0.197 -27.963  10.153  1.00 90.92           C  \nATOM   1036  CB  PRO B 133       2.160 -27.849   9.273  1.00 90.92           C  \nATOM   1037  O   PRO B 133      -0.570 -29.139  10.116  1.00 90.92           O  \nATOM   1038  CG  PRO B 133       2.750 -29.207   9.478  1.00 90.92           C  \nATOM   1039  CD  PRO B 133       2.768 -29.501  10.951  1.00 90.92           C  \nATOM   1040  N   LYS B 134      -1.037 -26.882   9.954  1.00 86.66           N  \nATOM   1041  CA  LYS B 134      -2.465 -27.111   9.754  1.00 86.66           C  \nATOM   1042  C   LYS B 134      -2.947 -26.479   8.451  1.00 86.66           C  \nATOM   1043  CB  LYS B 134      -3.268 -26.558  10.932  1.00 86.66           C  \nATOM   1044  O   LYS B 134      -2.687 -25.303   8.192  1.00 86.66           O  \nATOM   1045  CG  LYS B 134      -3.007 -27.273  12.250  1.00 86.66           C  \nATOM   1046  CD  LYS B 134      -3.829 -26.674  13.384  1.00 86.66           C  \nATOM   1047  CE  LYS B 134      -3.500 -27.328  14.719  1.00 86.66           C  \nATOM   1048  NZ  LYS B 134      -4.255 -26.699  15.844  1.00 86.66           N  \nATOM   1049  N   ARG B 135      -3.637 -27.301   7.643  1.00 88.81           N  \nATOM   1050  CA  ARG B 135      -4.381 -26.770   6.505  1.00 88.81           C  \nATOM   1051  C   ARG B 135      -5.669 -26.092   6.962  1.00 88.81           C  \nATOM   1052  CB  ARG B 135      -4.701 -27.882   5.504  1.00 88.81           C  \nATOM   1053  O   ARG B 135      -6.632 -26.765   7.335  1.00 88.81           O  \nATOM   1054  CG  ARG B 135      -5.119 -27.376   4.133  1.00 88.81           C  \nATOM   1055  CD  ARG B 135      -5.094 -28.484   3.091  1.00 88.81           C  \nATOM   1056  NE  ARG B 135      -5.404 -27.977   1.757  1.00 88.81           N  \nATOM   1057  NH1 ARG B 135      -4.794 -29.913   0.654  1.00 88.81           N  \nATOM   1058  NH2 ARG B 135      -5.567 -28.109  -0.530  1.00 88.81           N  \nATOM   1059  CZ  ARG B 135      -5.254 -28.668   0.630  1.00 88.81           C  \nATOM   1060  N   LEU B 136      -5.788 -24.917   6.909  1.00 87.53           N  \nATOM   1061  CA  LEU B 136      -6.779 -24.102   7.603  1.00 87.53           C  \nATOM   1062  C   LEU B 136      -8.184 -24.402   7.094  1.00 87.53           C  \nATOM   1063  CB  LEU B 136      -6.467 -22.613   7.427  1.00 87.53           C  \nATOM   1064  O   LEU B 136      -9.124 -24.515   7.884  1.00 87.53           O  \nATOM   1065  CG  LEU B 136      -5.195 -22.102   8.105  1.00 87.53           C  \nATOM   1066  CD1 LEU B 136      -4.926 -20.655   7.705  1.00 87.53           C  \nATOM   1067  CD2 LEU B 136      -5.307 -22.231   9.620  1.00 87.53           C  \nATOM   1068  N   PHE B 137      -8.395 -24.688   5.824  1.00 92.95           N  \nATOM   1069  CA  PHE B 137      -9.743 -24.813   5.281  1.00 92.95           C  \nATOM   1070  C   PHE B 137      -9.981 -26.217   4.741  1.00 92.95           C  \nATOM   1071  CB  PHE B 137      -9.976 -23.778   4.176  1.00 92.95           C  \nATOM   1072  O   PHE B 137     -10.693 -26.395   3.750  1.00 92.95           O  \nATOM   1073  CG  PHE B 137      -9.705 -22.361   4.604  1.00 92.95           C  \nATOM   1074  CD1 PHE B 137     -10.324 -21.830   5.729  1.00 92.95           C  \nATOM   1075  CD2 PHE B 137      -8.832 -21.560   3.880  1.00 92.95           C  \nATOM   1076  CE1 PHE B 137     -10.075 -20.518   6.127  1.00 92.95           C  \nATOM   1077  CE2 PHE B 137      -8.578 -20.248   4.272  1.00 92.95           C  \nATOM   1078  CZ  PHE B 137      -9.202 -19.729   5.395  1.00 92.95           C  \nATOM   1079  N   ILE B 138      -9.373 -27.181   5.358  1.00 92.92           N  \nATOM   1080  CA  ILE B 138      -9.420 -28.555   4.871  1.00 92.92           C  \nATOM   1081  C   ILE B 138     -10.855 -29.073   4.927  1.00 92.92           C  \nATOM   1082  CB  ILE B 138      -8.485 -29.476   5.686  1.00 92.92           C  \nATOM   1083  O   ILE B 138     -11.288 -29.818   4.044  1.00 92.92           O  \nATOM   1084  CG1 ILE B 138      -8.410 -30.865   5.042  1.00 92.92           C  \nATOM   1085  CG2 ILE B 138      -8.956 -29.572   7.141  1.00 92.92           C  \nATOM   1086  CD1 ILE B 138      -7.715 -30.883   3.688  1.00 92.92           C  \nATOM   1087  N   GLU B 139     -11.586 -28.645   5.958  1.00 93.13           N  \nATOM   1088  CA  GLU B 139     -12.968 -29.103   6.064  1.00 93.13           C  \nATOM   1089  C   GLU B 139     -13.821 -28.553   4.924  1.00 93.13           C  \nATOM   1090  CB  GLU B 139     -13.567 -28.697   7.413  1.00 93.13           C  \nATOM   1091  O   GLU B 139     -14.637 -29.275   4.348  1.00 93.13           O  \nATOM   1092  CG  GLU B 139     -12.893 -29.355   8.608  1.00 93.13           C  \nATOM   1093  CD  GLU B 139     -12.997 -30.872   8.596  1.00 93.13           C  \nATOM   1094  OE1 GLU B 139     -12.073 -31.548   9.103  1.00 93.13           O  \nATOM   1095  OE2 GLU B 139     -14.011 -31.388   8.075  1.00 93.13           O  \nATOM   1096  N   ASP B 140     -13.661 -27.313   4.592  1.00 94.97           N  \nATOM   1097  CA  ASP B 140     -14.357 -26.727   3.451  1.00 94.97           C  \nATOM   1098  C   ASP B 140     -13.955 -27.416   2.149  1.00 94.97           C  \nATOM   1099  CB  ASP B 140     -14.072 -25.226   3.362  1.00 94.97           C  \nATOM   1100  O   ASP B 140     -14.803 -27.688   1.296  1.00 94.97           O  \nATOM   1101  CG  ASP B 140     -14.776 -24.424   4.442  1.00 94.97           C  \nATOM   1102  OD1 ASP B 140     -15.935 -24.746   4.783  1.00 94.97           O  \nATOM   1103  OD2 ASP B 140     -14.168 -23.460   4.954  1.00 94.97           O  \nATOM   1104  N   GLU B 141     -12.736 -27.696   2.013  1.00 96.11           N  \nATOM   1105  CA  GLU B 141     -12.231 -28.356   0.812  1.00 96.11           C  \nATOM   1106  C   GLU B 141     -12.847 -29.742   0.644  1.00 96.11           C  \nATOM   1107  CB  GLU B 141     -10.705 -28.460   0.856  1.00 96.11           C  \nATOM   1108  O   GLU B 141     -13.181 -30.148  -0.471  1.00 96.11           O  \nATOM   1109  CG  GLU B 141      -9.993 -27.118   0.758  1.00 96.11           C  \nATOM   1110  CD  GLU B 141      -8.482 -27.230   0.881  1.00 96.11           C  \nATOM   1111  OE1 GLU B 141      -7.865 -26.392   1.576  1.00 96.11           O  \nATOM   1112  OE2 GLU B 141      -7.909 -28.164   0.275  1.00 96.11           O  \nATOM   1113  N   ILE B 142     -12.928 -30.471   1.786  1.00 96.33           N  \nATOM   1114  CA  ILE B 142     -13.514 -31.807   1.760  1.00 96.33           C  \nATOM   1115  C   ILE B 142     -14.971 -31.722   1.311  1.00 96.33           C  \nATOM   1116  CB  ILE B 142     -13.417 -32.494   3.141  1.00 96.33           C  \nATOM   1117  O   ILE B 142     -15.404 -32.480   0.440  1.00 96.33           O  \nATOM   1118  CG1 ILE B 142     -11.962 -32.858   3.455  1.00 96.33           C  \nATOM   1119  CG2 ILE B 142     -14.315 -33.733   3.191  1.00 96.33           C  \nATOM   1120  CD1 ILE B 142     -11.727 -33.278   4.899  1.00 96.33           C  \nATOM   1121  N   GLU B 143     -15.677 -30.800   1.864  1.00 96.24           N  \nATOM   1122  CA  GLU B 143     -17.080 -30.638   1.493  1.00 96.24           C  \nATOM   1123  C   GLU B 143     -17.222 -30.259   0.022  1.00 96.24           C  \nATOM   1124  CB  GLU B 143     -17.751 -29.583   2.376  1.00 96.24           C  \nATOM   1125  O   GLU B 143     -18.065 -30.810  -0.688  1.00 96.24           O  \nATOM   1126  CG  GLU B 143     -19.264 -29.529   2.227  1.00 96.24           C  \nATOM   1127  CD  GLU B 143     -19.932 -28.594   3.223  1.00 96.24           C  \nATOM   1128  OE1 GLU B 143     -21.167 -28.404   3.143  1.00 96.24           O  \nATOM   1129  OE2 GLU B 143     -19.214 -28.046   4.089  1.00 96.24           O  \nATOM   1130  N   ALA B 144     -16.441 -29.405  -0.426  1.00 96.25           N  \nATOM   1131  CA  ALA B 144     -16.457 -29.011  -1.832  1.00 96.25           C  \nATOM   1132  C   ALA B 144     -16.124 -30.194  -2.737  1.00 96.25           C  \nATOM   1133  CB  ALA B 144     -15.476 -27.867  -2.076  1.00 96.25           C  \nATOM   1134  O   ALA B 144     -16.788 -30.412  -3.753  1.00 96.25           O  \nATOM   1135  N   ALA B 145     -15.119 -30.925  -2.354  1.00 96.97           N  \nATOM   1136  CA  ALA B 145     -14.713 -32.089  -3.138  1.00 96.97           C  \nATOM   1137  C   ALA B 145     -15.828 -33.129  -3.191  1.00 96.97           C  \nATOM   1138  CB  ALA B 145     -13.442 -32.704  -2.559  1.00 96.97           C  \nATOM   1139  O   ALA B 145     -16.025 -33.786  -4.216  1.00 96.97           O  \nATOM   1140  N   ARG B 146     -16.534 -33.309  -2.080  1.00 97.62           N  \nATOM   1141  CA  ARG B 146     -17.665 -34.230  -2.045  1.00 97.62           C  \nATOM   1142  C   ARG B 146     -18.749 -33.805  -3.030  1.00 97.62           C  \nATOM   1143  CB  ARG B 146     -18.245 -34.317  -0.632  1.00 97.62           C  \nATOM   1144  O   ARG B 146     -19.278 -34.632  -3.775  1.00 97.62           O  \nATOM   1145  CG  ARG B 146     -17.435 -35.189   0.314  1.00 97.62           C  \nATOM   1146  CD  ARG B 146     -18.031 -35.205   1.715  1.00 97.62           C  \nATOM   1147  NE  ARG B 146     -17.284 -36.086   2.608  1.00 97.62           N  \nATOM   1148  NH1 ARG B 146     -18.329 -35.360   4.536  1.00 97.62           N  \nATOM   1149  NH2 ARG B 146     -16.710 -36.980   4.645  1.00 97.62           N  \nATOM   1150  CZ  ARG B 146     -17.443 -36.140   3.928  1.00 97.62           C  \nATOM   1151  N   GLU B 147     -19.031 -32.560  -3.010  1.00 96.13           N  \nATOM   1152  CA  GLU B 147     -20.040 -32.042  -3.929  1.00 96.13           C  \nATOM   1153  C   GLU B 147     -19.597 -32.203  -5.381  1.00 96.13           C  \nATOM   1154  CB  GLU B 147     -20.336 -30.570  -3.630  1.00 96.13           C  \nATOM   1155  O   GLU B 147     -20.395 -32.582  -6.240  1.00 96.13           O  \nATOM   1156  CG  GLU B 147     -21.093 -30.348  -2.329  1.00 96.13           C  \nATOM   1157  CD  GLU B 147     -21.364 -28.881  -2.035  1.00 96.13           C  \nATOM   1158  OE1 GLU B 147     -21.924 -28.570  -0.959  1.00 96.13           O  \nATOM   1159  OE2 GLU B 147     -21.015 -28.035  -2.889  1.00 96.13           O  \nATOM   1160  N   ASP B 148     -18.375 -31.973  -5.627  1.00 95.80           N  \nATOM   1161  CA  ASP B 148     -17.839 -32.145  -6.973  1.00 95.80           C  \nATOM   1162  C   ASP B 148     -17.914 -33.606  -7.412  1.00 95.80           C  \nATOM   1163  CB  ASP B 148     -16.393 -31.649  -7.042  1.00 95.80           C  \nATOM   1164  O   ASP B 148     -18.289 -33.899  -8.549  1.00 95.80           O  \nATOM   1165  CG  ASP B 148     -16.282 -30.136  -6.986  1.00 95.80           C  \nATOM   1166  OD1 ASP B 148     -17.317 -29.444  -7.092  1.00 95.80           O  \nATOM   1167  OD2 ASP B 148     -15.148 -29.631  -6.838  1.00 95.80           O  \nATOM   1168  N   ALA B 149     -17.518 -34.507  -6.486  1.00 96.23           N  \nATOM   1169  CA  ALA B 149     -17.565 -35.932  -6.801  1.00 96.23           C  \nATOM   1170  C   ALA B 149     -18.988 -36.376  -7.127  1.00 96.23           C  \nATOM   1171  CB  ALA B 149     -17.008 -36.752  -5.639  1.00 96.23           C  \nATOM   1172  O   ALA B 149     -19.213 -37.093  -8.105  1.00 96.23           O  \nATOM   1173  N   ARG B 150     -19.912 -35.879  -6.364  1.00 96.58           N  \nATOM   1174  CA  ARG B 150     -21.310 -36.211  -6.616  1.00 96.58           C  \nATOM   1175  C   ARG B 150     -21.756 -35.699  -7.982  1.00 96.58           C  \nATOM   1176  CB  ARG B 150     -22.207 -35.631  -5.521  1.00 96.58           C  \nATOM   1177  O   ARG B 150     -22.420 -36.416  -8.733  1.00 96.58           O  \nATOM   1178  CG  ARG B 150     -22.125 -36.377  -4.198  1.00 96.58           C  \nATOM   1179  CD  ARG B 150     -23.004 -35.736  -3.133  1.00 96.58           C  \nATOM   1180  NE  ARG B 150     -22.768 -36.321  -1.816  1.00 96.58           N  \nATOM   1181  NH1 ARG B 150     -23.672 -34.550  -0.640  1.00 96.58           N  \nATOM   1182  NH2 ARG B 150     -22.831 -36.366   0.479  1.00 96.58           N  \nATOM   1183  CZ  ARG B 150     -23.091 -35.744  -0.662  1.00 96.58           C  \nATOM   1184  N   ALA B 151     -21.382 -34.526  -8.312  1.00 95.20           N  \nATOM   1185  CA  ALA B 151     -21.771 -33.918  -9.582  1.00 95.20           C  \nATOM   1186  C   ALA B 151     -21.137 -34.653 -10.759  1.00 95.20           C  \nATOM   1187  CB  ALA B 151     -21.379 -32.442  -9.607  1.00 95.20           C  \nATOM   1188  O   ALA B 151     -21.803 -34.925 -11.761  1.00 95.20           O  \nATOM   1189  N   ILE B 152     -19.870 -34.978 -10.685  1.00 95.93           N  \nATOM   1190  CA  ILE B 152     -19.151 -35.668 -11.750  1.00 95.93           C  \nATOM   1191  C   ILE B 152     -19.747 -37.058 -11.959  1.00 95.93           C  \nATOM   1192  CB  ILE B 152     -17.641 -35.773 -11.437  1.00 95.93           C  \nATOM   1193  O   ILE B 152     -19.954 -37.487 -13.096  1.00 95.93           O  \nATOM   1194  CG1 ILE B 152     -16.983 -34.390 -11.507  1.00 95.93           C  \nATOM   1195  CG2 ILE B 152     -16.958 -36.754 -12.394  1.00 95.93           C  \nATOM   1196  CD1 ILE B 152     -15.573 -34.346 -10.934  1.00 95.93           C  \nATOM   1197  N   CYS B 153     -20.084 -37.802 -10.822  1.00 95.18           N  \nATOM   1198  CA  CYS B 153     -20.669 -39.134 -10.924  1.00 95.18           C  \nATOM   1199  C   CYS B 153     -22.061 -39.073 -11.540  1.00 95.18           C  \nATOM   1200  CB  CYS B 153     -20.739 -39.795  -9.548  1.00 95.18           C  \nATOM   1201  O   CYS B 153     -22.441 -39.951 -12.316  1.00 95.18           O  \nATOM   1202  SG  CYS B 153     -19.123 -40.207  -8.854  1.00 95.18           S  \nATOM   1203  N   ALA B 154     -22.794 -38.047 -11.276  1.00 96.36           N  \nATOM   1204  CA  ALA B 154     -24.119 -37.869 -11.863  1.00 96.36           C  \nATOM   1205  C   ALA B 154     -24.023 -37.599 -13.362  1.00 96.36           C  \nATOM   1206  CB  ALA B 154     -24.862 -36.731 -11.167  1.00 96.36           C  \nATOM   1207  O   ALA B 154     -24.828 -38.110 -14.144  1.00 96.36           O  \nATOM   1208  N   ALA B 155     -23.047 -36.865 -13.770  1.00 94.84           N  \nATOM   1209  CA  ALA B 155     -22.904 -36.462 -15.167  1.00 94.84           C  \nATOM   1210  C   ALA B 155     -22.259 -37.570 -15.994  1.00 94.84           C  \nATOM   1211  CB  ALA B 155     -22.082 -35.179 -15.268  1.00 94.84           C  \nATOM   1212  O   ALA B 155     -22.650 -37.805 -17.140  1.00 94.84           O  \nATOM   1213  N   LYS B 156     -21.279 -38.271 -15.435  1.00 95.47           N  \nATOM   1214  CA  LYS B 156     -20.476 -39.192 -16.234  1.00 95.47           C  \nATOM   1215  C   LYS B 156     -20.791 -40.643 -15.883  1.00 95.47           C  \nATOM   1216  CB  LYS B 156     -18.985 -38.916 -16.034  1.00 95.47           C  \nATOM   1217  O   LYS B 156     -20.338 -41.565 -16.565  1.00 95.47           O  \nATOM   1218  CG  LYS B 156     -18.543 -37.537 -16.500  1.00 95.47           C  \nATOM   1219  CD  LYS B 156     -17.039 -37.482 -16.737  1.00 95.47           C  \nATOM   1220  CE  LYS B 156     -16.611 -36.137 -17.309  1.00 95.47           C  \nATOM   1221  NZ  LYS B 156     -15.142 -36.092 -17.578  1.00 95.47           N  \nATOM   1222  N   GLY B 157     -21.540 -40.885 -14.839  1.00 94.83           N  \nATOM   1223  CA  GLY B 157     -21.904 -42.224 -14.405  1.00 94.83           C  \nATOM   1224  C   GLY B 157     -21.163 -42.670 -13.159  1.00 94.83           C  \nATOM   1225  O   GLY B 157     -19.995 -42.325 -12.968  1.00 94.83           O  \nATOM   1226  N   GLU B 158     -21.739 -43.433 -12.245  1.00 92.86           N  \nATOM   1227  CA  GLU B 158     -21.216 -43.859 -10.950  1.00 92.86           C  \nATOM   1228  C   GLU B 158     -20.022 -44.794 -11.118  1.00 92.86           C  \nATOM   1229  CB  GLU B 158     -22.310 -44.546 -10.128  1.00 92.86           C  \nATOM   1230  O   GLU B 158     -19.154 -44.865 -10.245  1.00 92.86           O  \nATOM   1231  CG  GLU B 158     -23.367 -43.591  -9.593  1.00 92.86           C  \nATOM   1232  CD  GLU B 158     -24.347 -44.255  -8.639  1.00 92.86           C  \nATOM   1233  OE1 GLU B 158     -25.190 -43.546  -8.044  1.00 92.86           O  \nATOM   1234  OE2 GLU B 158     -24.271 -45.495  -8.485  1.00 92.86           O  \nATOM   1235  N   THR B 159     -19.972 -45.528 -12.286  1.00 93.44           N  \nATOM   1236  CA  THR B 159     -18.892 -46.490 -12.476  1.00 93.44           C  \nATOM   1237  C   THR B 159     -17.826 -45.929 -13.413  1.00 93.44           C  \nATOM   1238  CB  THR B 159     -19.423 -47.822 -13.039  1.00 93.44           C  \nATOM   1239  O   THR B 159     -16.912 -46.647 -13.824  1.00 93.44           O  \nATOM   1240  CG2 THR B 159     -20.429 -48.459 -12.087  1.00 93.44           C  \nATOM   1241  OG1 THR B 159     -20.060 -47.581 -14.299  1.00 93.44           O  \nATOM   1242  N   SER B 160     -17.889 -44.662 -13.793  1.00 94.78           N  \nATOM   1243  CA  SER B 160     -16.935 -44.040 -14.705  1.00 94.78           C  \nATOM   1244  C   SER B 160     -15.594 -43.796 -14.021  1.00 94.78           C  \nATOM   1245  CB  SER B 160     -17.489 -42.720 -15.243  1.00 94.78           C  \nATOM   1246  O   SER B 160     -15.537 -43.611 -12.804  1.00 94.78           O  \nATOM   1247  OG  SER B 160     -17.434 -41.710 -14.251  1.00 94.78           O  \nATOM   1248  N   PRO B 161     -14.441 -43.891 -14.819  1.00 96.06           N  \nATOM   1249  CA  PRO B 161     -13.129 -43.562 -14.256  1.00 96.06           C  \nATOM   1250  C   PRO B 161     -13.072 -42.148 -13.680  1.00 96.06           C  \nATOM   1251  CB  PRO B 161     -12.186 -43.702 -15.453  1.00 96.06           C  \nATOM   1252  O   PRO B 161     -12.379 -41.909 -12.689  1.00 96.06           O  \nATOM   1253  CG  PRO B 161     -12.933 -44.553 -16.430  1.00 96.06           C  \nATOM   1254  CD  PRO B 161     -14.404 -44.400 -16.168  1.00 96.06           C  \nATOM   1255  N   ASP B 162     -13.785 -41.267 -14.227  1.00 95.08           N  \nATOM   1256  CA  ASP B 162     -13.809 -39.886 -13.755  1.00 95.08           C  \nATOM   1257  C   ASP B 162     -14.445 -39.791 -12.370  1.00 95.08           C  \nATOM   1258  CB  ASP B 162     -14.564 -38.994 -14.743  1.00 95.08           C  \nATOM   1259  O   ASP B 162     -13.973 -39.038 -11.515  1.00 95.08           O  \nATOM   1260  CG  ASP B 162     -13.851 -38.851 -16.076  1.00 95.08           C  \nATOM   1261  OD1 ASP B 162     -12.624 -39.077 -16.139  1.00 95.08           O  \nATOM   1262  OD2 ASP B 162     -14.523 -38.506 -17.072  1.00 95.08           O  \nATOM   1263  N   CYS B 163     -15.512 -40.522 -12.173  1.00 93.27           N  \nATOM   1264  CA  CYS B 163     -16.175 -40.561 -10.874  1.00 93.27           C  \nATOM   1265  C   CYS B 163     -15.248 -41.128  -9.806  1.00 93.27           C  \nATOM   1266  CB  CYS B 163     -17.453 -41.396 -10.949  1.00 93.27           C  \nATOM   1267  O   CYS B 163     -15.105 -40.547  -8.729  1.00 93.27           O  \nATOM   1268  SG  CYS B 163     -18.377 -41.453  -9.399  1.00 93.27           S  \nATOM   1269  N   ALA B 164     -14.566 -42.228 -10.171  1.00 95.64           N  \nATOM   1270  CA  ALA B 164     -13.635 -42.847  -9.231  1.00 95.64           C  \nATOM   1271  C   ALA B 164     -12.516 -41.882  -8.852  1.00 95.64           C  \nATOM   1272  CB  ALA B 164     -13.051 -44.127  -9.825  1.00 95.64           C  \nATOM   1273  O   ALA B 164     -12.154 -41.771  -7.678  1.00 95.64           O  \nATOM   1274  N   ALA B 165     -11.998 -41.188  -9.807  1.00 96.29           N  \nATOM   1275  CA  ALA B 165     -10.930 -40.223  -9.562  1.00 96.29           C  \nATOM   1276  C   ALA B 165     -11.404 -39.100  -8.644  1.00 96.29           C  \nATOM   1277  CB  ALA B 165     -10.420 -39.647 -10.881  1.00 96.29           C  \nATOM   1278  O   ALA B 165     -10.658 -38.643  -7.775  1.00 96.29           O  \nATOM   1279  N   ALA B 166     -12.606 -38.621  -8.811  1.00 95.88           N  \nATOM   1280  CA  ALA B 166     -13.164 -37.551  -7.989  1.00 95.88           C  \nATOM   1281  C   ALA B 166     -13.270 -37.980  -6.528  1.00 95.88           C  \nATOM   1282  CB  ALA B 166     -14.534 -37.133  -8.518  1.00 95.88           C  \nATOM   1283  O   ALA B 166     -12.945 -37.208  -5.623  1.00 95.88           O  \nATOM   1284  N   TRP B 167     -13.691 -39.180  -6.313  1.00 96.41           N  \nATOM   1285  CA  TRP B 167     -13.821 -39.664  -4.943  1.00 96.41           C  \nATOM   1286  C   TRP B 167     -12.452 -39.933  -4.328  1.00 96.41           C  \nATOM   1287  CB  TRP B 167     -14.672 -40.937  -4.901  1.00 96.41           C  \nATOM   1288  O   TRP B 167     -12.277 -39.821  -3.112  1.00 96.41           O  \nATOM   1289  CG  TRP B 167     -16.149 -40.681  -4.896  1.00 96.41           C  \nATOM   1290  CD1 TRP B 167     -17.032 -40.926  -5.911  1.00 96.41           C  \nATOM   1291  CD2 TRP B 167     -16.916 -40.126  -3.823  1.00 96.41           C  \nATOM   1292  CE2 TRP B 167     -18.259 -40.063  -4.258  1.00 96.41           C  \nATOM   1293  CE3 TRP B 167     -16.599 -39.675  -2.535  1.00 96.41           C  \nATOM   1294  NE1 TRP B 167     -18.302 -40.556  -5.534  1.00 96.41           N  \nATOM   1295  CH2 TRP B 167     -18.945 -39.133  -2.193  1.00 96.41           C  \nATOM   1296  CZ2 TRP B 167     -19.283 -39.566  -3.448  1.00 96.41           C  \nATOM   1297  CZ3 TRP B 167     -17.620 -39.182  -1.731  1.00 96.41           C  \nATOM   1298  N   ASP B 168     -11.522 -40.259  -5.163  1.00 96.50           N  \nATOM   1299  CA  ASP B 168     -10.155 -40.400  -4.671  1.00 96.50           C  \nATOM   1300  C   ASP B 168      -9.652 -39.093  -4.063  1.00 96.50           C  \nATOM   1301  CB  ASP B 168      -9.223 -40.849  -5.799  1.00 96.50           C  \nATOM   1302  O   ASP B 168      -8.950 -39.104  -3.050  1.00 96.50           O  \nATOM   1303  CG  ASP B 168      -9.403 -42.310  -6.171  1.00 96.50           C  \nATOM   1304  OD1 ASP B 168     -10.096 -43.046  -5.436  1.00 96.50           O  \nATOM   1305  OD2 ASP B 168      -8.844 -42.730  -7.207  1.00 96.50           O  \nATOM   1306  N   VAL B 169      -9.989 -38.027  -4.686  1.00 96.59           N  \nATOM   1307  CA  VAL B 169      -9.603 -36.719  -4.167  1.00 96.59           C  \nATOM   1308  C   VAL B 169     -10.212 -36.512  -2.782  1.00 96.59           C  \nATOM   1309  CB  VAL B 169     -10.039 -35.580  -5.116  1.00 96.59           C  \nATOM   1310  O   VAL B 169      -9.529 -36.065  -1.857  1.00 96.59           O  \nATOM   1311  CG1 VAL B 169      -9.786 -34.217  -4.476  1.00 96.59           C  \nATOM   1312  CG2 VAL B 169      -9.307 -35.691  -6.452  1.00 96.59           C  \nATOM   1313  N   VAL B 170     -11.440 -36.832  -2.594  1.00 96.64           N  \nATOM   1314  CA  VAL B 170     -12.122 -36.719  -1.309  1.00 96.64           C  \nATOM   1315  C   VAL B 170     -11.397 -37.565  -0.264  1.00 96.64           C  \nATOM   1316  CB  VAL B 170     -13.602 -37.151  -1.411  1.00 96.64           C  \nATOM   1317  O   VAL B 170     -11.117 -37.092   0.841  1.00 96.64           O  \nATOM   1318  CG1 VAL B 170     -14.255 -37.173  -0.030  1.00 96.64           C  \nATOM   1319  CG2 VAL B 170     -14.365 -36.220  -2.351  1.00 96.64           C  \nATOM   1320  N   GLU B 171     -11.089 -38.765  -0.658  1.00 96.26           N  \nATOM   1321  CA  GLU B 171     -10.430 -39.685   0.263  1.00 96.26           C  \nATOM   1322  C   GLU B 171      -9.050 -39.171   0.663  1.00 96.26           C  \nATOM   1323  CB  GLU B 171     -10.311 -41.079  -0.360  1.00 96.26           C  \nATOM   1324  O   GLU B 171      -8.655 -39.277   1.826  1.00 96.26           O  \nATOM   1325  CG  GLU B 171     -11.629 -41.837  -0.424  1.00 96.26           C  \nATOM   1326  CD  GLU B 171     -11.490 -43.231  -1.015  1.00 96.26           C  \nATOM   1327  OE1 GLU B 171     -12.493 -43.981  -1.042  1.00 96.26           O  \nATOM   1328  OE2 GLU B 171     -10.370 -43.577  -1.452  1.00 96.26           O  \nATOM   1329  N   GLU B 172      -8.419 -38.625  -0.275  1.00 95.45           N  \nATOM   1330  CA  GLU B 172      -7.101 -38.070   0.019  1.00 95.45           C  \nATOM   1331  C   GLU B 172      -7.198 -36.910   1.005  1.00 95.45           C  \nATOM   1332  CB  GLU B 172      -6.412 -37.610  -1.268  1.00 95.45           C  \nATOM   1333  O   GLU B 172      -6.417 -36.829   1.955  1.00 95.45           O  \nATOM   1334  CG  GLU B 172      -4.969 -37.169  -1.070  1.00 95.45           C  \nATOM   1335  CD  GLU B 172      -4.270 -36.800  -2.368  1.00 95.45           C  \nATOM   1336  OE1 GLU B 172      -3.080 -36.414  -2.329  1.00 95.45           O  \nATOM   1337  OE2 GLU B 172      -4.918 -36.896  -3.434  1.00 95.45           O  \nATOM   1338  N   LEU B 173      -8.120 -36.070   0.810  1.00 95.31           N  \nATOM   1339  CA  LEU B 173      -8.322 -34.934   1.703  1.00 95.31           C  \nATOM   1340  C   LEU B 173      -8.744 -35.402   3.091  1.00 95.31           C  \nATOM   1341  CB  LEU B 173      -9.375 -33.982   1.130  1.00 95.31           C  \nATOM   1342  O   LEU B 173      -8.275 -34.871   4.100  1.00 95.31           O  \nATOM   1343  CG  LEU B 173      -8.950 -33.150  -0.081  1.00 95.31           C  \nATOM   1344  CD1 LEU B 173     -10.159 -32.451  -0.695  1.00 95.31           C  \nATOM   1345  CD2 LEU B 173      -7.883 -32.135   0.315  1.00 95.31           C  \nATOM   1346  N   GLN B 174      -9.606 -36.358   3.147  1.00 95.11           N  \nATOM   1347  CA  GLN B 174     -10.047 -36.907   4.425  1.00 95.11           C  \nATOM   1348  C   GLN B 174      -8.888 -37.559   5.173  1.00 95.11           C  \nATOM   1349  CB  GLN B 174     -11.173 -37.921   4.214  1.00 95.11           C  \nATOM   1350  O   GLN B 174      -8.789 -37.445   6.396  1.00 95.11           O  \nATOM   1351  CG  GLN B 174     -12.518 -37.287   3.885  1.00 95.11           C  \nATOM   1352  CD  GLN B 174     -13.599 -38.315   3.609  1.00 95.11           C  \nATOM   1353  NE2 GLN B 174     -14.797 -38.070   4.129  1.00 95.11           N  \nATOM   1354  OE1 GLN B 174     -13.360 -39.321   2.932  1.00 95.11           O  \nATOM   1355  N   ALA B 175      -8.069 -38.211   4.395  1.00 92.96           N  \nATOM   1356  CA  ALA B 175      -6.885 -38.812   5.005  1.00 92.96           C  \nATOM   1357  C   ALA B 175      -5.980 -37.746   5.615  1.00 92.96           C  \nATOM   1358  CB  ALA B 175      -6.115 -39.633   3.974  1.00 92.96           C  \nATOM   1359  O   ALA B 175      -5.483 -37.909   6.731  1.00 92.96           O  \nATOM   1360  N   GLU B 176      -5.846 -36.727   4.904  1.00 90.82           N  \nATOM   1361  CA  GLU B 176      -5.031 -35.628   5.413  1.00 90.82           C  \nATOM   1362  C   GLU B 176      -5.658 -35.006   6.658  1.00 90.82           C  \nATOM   1363  CB  GLU B 176      -4.834 -34.560   4.334  1.00 90.82           C  \nATOM   1364  O   GLU B 176      -4.959 -34.707   7.628  1.00 90.82           O  \nATOM   1365  CG  GLU B 176      -3.930 -33.413   4.762  1.00 90.82           C  \nATOM   1366  CD  GLU B 176      -3.069 -32.873   3.631  1.00 90.82           C  \nATOM   1367  OE1 GLU B 176      -2.236 -31.973   3.879  1.00 90.82           O  \nATOM   1368  OE2 GLU B 176      -3.230 -33.354   2.487  1.00 90.82           O  \nATOM   1369  N   ALA B 177      -6.916 -34.810   6.644  1.00 90.06           N  \nATOM   1370  CA  ALA B 177      -7.624 -34.259   7.797  1.00 90.06           C  \nATOM   1371  C   ALA B 177      -7.473 -35.162   9.017  1.00 90.06           C  \nATOM   1372  CB  ALA B 177      -9.102 -34.058   7.467  1.00 90.06           C  \nATOM   1373  O   ALA B 177      -7.280 -34.678  10.135  1.00 90.06           O  \nATOM   1374  N   SER B 178      -7.550 -36.455   8.783  1.00 88.13           N  \nATOM   1375  CA  SER B 178      -7.392 -37.416   9.869  1.00 88.13           C  \nATOM   1376  C   SER B 178      -5.974 -37.389  10.430  1.00 88.13           C  \nATOM   1377  CB  SER B 178      -7.734 -38.828   9.391  1.00 88.13           C  \nATOM   1378  O   SER B 178      -5.779 -37.460  11.645  1.00 88.13           O  \nATOM   1379  OG  SER B 178      -9.091 -38.908   8.990  1.00 88.13           O  \nATOM   1380  N   HIS B 179      -5.056 -37.294   9.488  1.00 85.92           N  \nATOM   1381  CA  HIS B 179      -3.664 -37.200   9.915  1.00 85.92           C  \nATOM   1382  C   HIS B 179      -3.436 -35.965  10.780  1.00 85.92           C  \nATOM   1383  CB  HIS B 179      -2.733 -37.170   8.702  1.00 85.92           C  \nATOM   1384  O   HIS B 179      -2.746 -36.035  11.799  1.00 85.92           O  \nATOM   1385  CG  HIS B 179      -1.281 -37.150   9.060  1.00 85.92           C  \nATOM   1386  CD2 HIS B 179      -0.415 -38.158   9.319  1.00 85.92           C  \nATOM   1387  ND1 HIS B 179      -0.563 -35.981   9.191  1.00 85.92           N  \nATOM   1388  CE1 HIS B 179       0.686 -36.273   9.514  1.00 85.92           C  \nATOM   1389  NE2 HIS B 179       0.802 -37.587   9.598  1.00 85.92           N  \nATOM   1390  N   GLN B 180      -4.045 -34.937  10.439  1.00 81.24           N  \nATOM   1391  CA  GLN B 180      -3.920 -33.696  11.197  1.00 81.24           C  \nATOM   1392  C   GLN B 180      -4.535 -33.836  12.587  1.00 81.24           C  \nATOM   1393  CB  GLN B 180      -4.578 -32.538  10.446  1.00 81.24           C  \nATOM   1394  O   GLN B 180      -3.973 -33.351  13.572  1.00 81.24           O  \nATOM   1395  CG  GLN B 180      -3.784 -32.058   9.238  1.00 81.24           C  \nATOM   1396  CD  GLN B 180      -4.314 -30.757   8.667  1.00 81.24           C  \nATOM   1397  NE2 GLN B 180      -4.310 -30.646   7.343  1.00 81.24           N  \nATOM   1398  OE1 GLN B 180      -4.726 -29.859   9.409  1.00 81.24           O  \nATOM   1399  N   ARG B 181      -5.641 -34.543  12.638  1.00 77.27           N  \nATOM   1400  CA  ARG B 181      -6.315 -34.757  13.915  1.00 77.27           C  \nATOM   1401  C   ARG B 181      -5.520 -35.711  14.800  1.00 77.27           C  \nATOM   1402  CB  ARG B 181      -7.727 -35.302  13.693  1.00 77.27           C  \nATOM   1403  O   ARG B 181      -5.452 -35.525  16.017  1.00 77.27           O  \nATOM   1404  CG  ARG B 181      -8.699 -34.282  13.120  1.00 77.27           C  \nATOM   1405  CD  ARG B 181     -10.061 -34.899  12.835  1.00 77.27           C  \nATOM   1406  NE  ARG B 181     -10.901 -34.005  12.042  1.00 77.27           N  \nATOM   1407  NH1 ARG B 181     -12.297 -35.673  11.264  1.00 77.27           N  \nATOM   1408  NH2 ARG B 181     -12.641 -33.497  10.632  1.00 77.27           N  \nATOM   1409  CZ  ARG B 181     -11.945 -34.394  11.314  1.00 77.27           C  \nATOM   1410  N   ALA B 182      -4.914 -36.702  14.198  1.00 69.55           N  \nATOM   1411  CA  ALA B 182      -4.137 -37.696  14.935  1.00 69.55           C  \nATOM   1412  C   ALA B 182      -2.881 -37.073  15.538  1.00 69.55           C  \nATOM   1413  CB  ALA B 182      -3.764 -38.862  14.023  1.00 69.55           C  \nATOM   1414  O   ALA B 182      -2.519 -37.371  16.678  1.00 69.55           O  \nATOM   1415  N   LYS B 183      -2.164 -36.323  14.777  1.00 64.59           N  \nATOM   1416  CA  LYS B 183      -0.965 -35.656  15.274  1.00 64.59           C  \nATOM   1417  C   LYS B 183      -1.291 -34.746  16.454  1.00 64.59           C  \nATOM   1418  CB  LYS B 183      -0.298 -34.849  14.159  1.00 64.59           C  \nATOM   1419  O   LYS B 183      -0.485 -34.602  17.376  1.00 64.59           O  \nATOM   1420  CG  LYS B 183       0.619 -35.670  13.264  1.00 64.59           C  \nATOM   1421  CD  LYS B 183       1.413 -34.783  12.314  1.00 64.59           C  \nATOM   1422  CE  LYS B 183       2.351 -35.602  11.437  1.00 64.59           C  \nATOM   1423  NZ  LYS B 183       3.110 -34.740  10.482  1.00 64.59           N  \nATOM   1424  N   LYS B 184      -2.461 -34.254  16.520  1.00 59.43           N  \nATOM   1425  CA  LYS B 184      -2.886 -33.380  17.609  1.00 59.43           C  \nATOM   1426  C   LYS B 184      -3.199 -34.184  18.868  1.00 59.43           C  \nATOM   1427  CB  LYS B 184      -4.108 -32.560  17.194  1.00 59.43           C  \nATOM   1428  O   LYS B 184      -2.915 -33.738  19.982  1.00 59.43           O  \nATOM   1429  CG  LYS B 184      -3.774 -31.324  16.372  1.00 59.43           C  \nATOM   1430  CD  LYS B 184      -5.017 -30.494  16.079  1.00 59.43           C  \nATOM   1431  CE  LYS B 184      -4.690 -29.279  15.223  1.00 59.43           C  \nATOM   1432  NZ  LYS B 184      -5.912 -28.481  14.904  1.00 59.43           N  \nATOM   1433  N   GLN B 185      -3.837 -35.402  18.692  1.00 55.76           N  \nATOM   1434  CA  GLN B 185      -4.172 -36.273  19.814  1.00 55.76           C  \nATOM   1435  C   GLN B 185      -2.918 -36.893  20.423  1.00 55.76           C  \nATOM   1436  CB  GLN B 185      -5.139 -37.372  19.372  1.00 55.76           C  \nATOM   1437  O   GLN B 185      -2.839 -37.079  21.639  1.00 55.76           O  \nATOM   1438  CG  GLN B 185      -6.598 -36.936  19.352  1.00 55.76           C  \nATOM   1439  CD  GLN B 185      -7.528 -38.021  18.844  1.00 55.76           C  \nATOM   1440  NE2 GLN B 185      -8.828 -37.750  18.873  1.00 55.76           N  \nATOM   1441  OE1 GLN B 185      -7.082 -39.095  18.426  1.00 55.76           O  \nATOM   1442  N   GLY B 186      -1.870 -37.216  19.637  1.00 49.70           N  \nATOM   1443  CA  GLY B 186      -0.647 -37.820  20.141  1.00 49.70           C  \nATOM   1444  C   GLY B 186       0.178 -36.873  20.993  1.00 49.70           C  \nATOM   1445  O   GLY B 186       0.790 -37.290  21.979  1.00 49.70           O  \nATOM   1446  N   SER B 187       0.267 -35.631  20.672  1.00 50.44           N  \nATOM   1447  CA  SER B 187       0.985 -34.660  21.491  1.00 50.44           C  \nATOM   1448  C   SER B 187       0.293 -34.450  22.834  1.00 50.44           C  \nATOM   1449  CB  SER B 187       1.107 -33.324  20.757  1.00 50.44           C  \nATOM   1450  O   SER B 187       0.952 -34.372  23.873  1.00 50.44           O  \nATOM   1451  OG  SER B 187       0.278 -32.343  21.356  1.00 50.44           O  \nATOM   1452  N   ASN B 188      -1.013 -34.448  22.894  1.00 48.06           N  \nATOM   1453  CA  ASN B 188      -1.754 -34.352  24.147  1.00 48.06           C  \nATOM   1454  C   ASN B 188      -1.578 -35.606  25.000  1.00 48.06           C  \nATOM   1455  CB  ASN B 188      -3.238 -34.099  23.875  1.00 48.06           C  \nATOM   1456  O   ASN B 188      -1.458 -35.518  26.223  1.00 48.06           O  \nATOM   1457  CG  ASN B 188      -3.659 -32.681  24.207  1.00 48.06           C  \nATOM   1458  ND2 ASN B 188      -4.894 -32.334  23.865  1.00 48.06           N  \nATOM   1459  OD1 ASN B 188      -2.881 -31.903  24.765  1.00 48.06           O  \nATOM   1460  N   SER B 189      -1.523 -36.774  24.377  1.00 50.24           N  \nATOM   1461  CA  SER B 189      -1.277 -38.006  25.119  1.00 50.24           C  \nATOM   1462  C   SER B 189       0.124 -38.018  25.722  1.00 50.24           C  \nATOM   1463  CB  SER B 189      -1.461 -39.224  24.212  1.00 50.24           C  \nATOM   1464  O   SER B 189       0.312 -38.456  26.859  1.00 50.24           O  \nATOM   1465  OG  SER B 189      -0.266 -39.983  24.141  1.00 50.24           O  \nATOM   1466  N   PHE B 190       1.099 -37.500  25.052  1.00 50.43           N  \nATOM   1467  CA  PHE B 190       2.448 -37.414  25.597  1.00 50.43           C  \nATOM   1468  C   PHE B 190       2.519 -36.369  26.704  1.00 50.43           C  \nATOM   1469  CB  PHE B 190       3.455 -37.079  24.493  1.00 50.43           C  \nATOM   1470  O   PHE B 190       3.114 -36.611  27.756  1.00 50.43           O  \nATOM   1471  CG  PHE B 190       4.885 -37.061  24.961  1.00 50.43           C  \nATOM   1472  CD1 PHE B 190       5.558 -35.858  25.137  1.00 50.43           C  \nATOM   1473  CD2 PHE B 190       5.558 -38.247  25.225  1.00 50.43           C  \nATOM   1474  CE1 PHE B 190       6.882 -35.838  25.570  1.00 50.43           C  \nATOM   1475  CE2 PHE B 190       6.880 -38.235  25.658  1.00 50.43           C  \nATOM   1476  CZ  PHE B 190       7.541 -37.029  25.829  1.00 50.43           C  \nATOM   1477  N   GLN B 191       1.897 -35.210  26.560  1.00 51.22           N  \nATOM   1478  CA  GLN B 191       1.815 -34.206  27.615  1.00 51.22           C  \nATOM   1479  C   GLN B 191       1.014 -34.723  28.806  1.00 51.22           C  \nATOM   1480  CB  GLN B 191       1.190 -32.915  27.083  1.00 51.22           C  \nATOM   1481  O   GLN B 191       1.420 -34.550  29.957  1.00 51.22           O  \nATOM   1482  CG  GLN B 191       1.663 -31.660  27.803  1.00 51.22           C  \nATOM   1483  CD  GLN B 191       1.468 -30.401  26.979  1.00 51.22           C  \nATOM   1484  NE2 GLN B 191       1.961 -29.277  27.487  1.00 51.22           N  \nATOM   1485  OE1 GLN B 191       0.879 -30.439  25.894  1.00 51.22           O  \nATOM   1486  N   ALA B 192      -0.133 -35.340  28.533  1.00 54.63           N  \nATOM   1487  CA  ALA B 192      -0.896 -35.986  29.598  1.00 54.63           C  \nATOM   1488  C   ALA B 192      -0.088 -37.106  30.249  1.00 54.63           C  \nATOM   1489  CB  ALA B 192      -2.213 -36.533  29.053  1.00 54.63           C  \nATOM   1490  O   ALA B 192      -0.106 -37.262  31.472  1.00 54.63           O  \nATOM   1491  N   TYR B 193       0.583 -37.883  29.398  1.00 52.50           N  \nATOM   1492  CA  TYR B 193       1.492 -38.902  29.912  1.00 52.50           C  \nATOM   1493  C   TYR B 193       2.606 -38.272  30.739  1.00 52.50           C  \nATOM   1494  CB  TYR B 193       2.092 -39.716  28.761  1.00 52.50           C  \nATOM   1495  O   TYR B 193       2.897 -38.727  31.848  1.00 52.50           O  \nATOM   1496  CG  TYR B 193       3.091 -40.755  29.210  1.00 52.50           C  \nATOM   1497  CD1 TYR B 193       4.460 -40.534  29.081  1.00 52.50           C  \nATOM   1498  CD2 TYR B 193       2.667 -41.959  29.762  1.00 52.50           C  \nATOM   1499  CE1 TYR B 193       5.384 -41.490  29.491  1.00 52.50           C  \nATOM   1500  CE2 TYR B 193       3.583 -42.922  30.175  1.00 52.50           C  \nATOM   1501  OH  TYR B 193       5.847 -43.627  30.444  1.00 52.50           O  \nATOM   1502  CZ  TYR B 193       4.937 -42.678  30.037  1.00 52.50           C  \nATOM   1503  N   CYS B 194       3.174 -37.209  30.226  1.00 57.39           N  \nATOM   1504  CA  CYS B 194       4.242 -36.554  30.974  1.00 57.39           C  \nATOM   1505  C   CYS B 194       3.689 -35.833  32.197  1.00 57.39           C  \nATOM   1506  CB  CYS B 194       4.992 -35.565  30.083  1.00 57.39           C  \nATOM   1507  O   CYS B 194       4.369 -35.723  33.219  1.00 57.39           O  \nATOM   1508  SG  CYS B 194       6.159 -36.347  28.948  1.00 57.39           S  \nATOM   1509  N   GLU B 195       2.491 -35.226  32.195  1.00 59.70           N  \nATOM   1510  CA  GLU B 195       1.815 -34.678  33.367  1.00 59.70           C  \nATOM   1511  C   GLU B 195       1.485 -35.775  34.376  1.00 59.70           C  \nATOM   1512  CB  GLU B 195       0.539 -33.940  32.956  1.00 59.70           C  \nATOM   1513  O   GLU B 195       1.602 -35.568  35.586  1.00 59.70           O  \nATOM   1514  CG  GLU B 195       0.776 -32.504  32.512  1.00 59.70           C  \nATOM   1515  CD  GLU B 195      -0.489 -31.808  32.034  1.00 59.70           C  \nATOM   1516  OE1 GLU B 195      -0.425 -30.609  31.679  1.00 59.70           O  \nATOM   1517  OE2 GLU B 195      -1.553 -32.466  32.016  1.00 59.70           O  \nATOM   1518  N   ALA B 196       1.107 -37.049  33.929  1.00 64.85           N  \nATOM   1519  CA  ALA B 196       0.790 -38.191  34.782  1.00 64.85           C  \nATOM   1520  C   ALA B 196       2.059 -38.908  35.234  1.00 64.85           C  \nATOM   1521  CB  ALA B 196      -0.134 -39.162  34.050  1.00 64.85           C  \nATOM   1522  O   ALA B 196       2.080 -39.539  36.293  1.00 64.85           O  \nATOM   1523  N   ASN B 197       3.034 -38.968  34.270  1.00 52.85           N  \nATOM   1524  CA  ASN B 197       4.302 -39.607  34.607  1.00 52.85           C  \nATOM   1525  C   ASN B 197       5.474 -38.642  34.455  1.00 52.85           C  \nATOM   1526  CB  ASN B 197       4.522 -40.851  33.744  1.00 52.85           C  \nATOM   1527  O   ASN B 197       6.270 -38.768  33.523  1.00 52.85           O  \nATOM   1528  CG  ASN B 197       3.583 -41.985  34.103  1.00 52.85           C  \nATOM   1529  ND2 ASN B 197       3.061 -42.666  33.090  1.00 52.85           N  \nATOM   1530  OD1 ASN B 197       3.327 -42.246  35.282  1.00 52.85           O  \nATOM   1531  N   PRO B 198       5.532 -37.570  35.293  1.00 57.52           N  \nATOM   1532  CA  PRO B 198       6.522 -36.496  35.175  1.00 57.52           C  \nATOM   1533  C   PRO B 198       7.959 -37.012  35.210  1.00 57.52           C  \nATOM   1534  CB  PRO B 198       6.230 -35.612  36.390  1.00 57.52           C  \nATOM   1535  O   PRO B 198       8.856 -36.391  34.635  1.00 57.52           O  \nATOM   1536  CG  PRO B 198       5.230 -36.382  37.191  1.00 57.52           C  \nATOM   1537  CD  PRO B 198       4.839 -37.607  36.416  1.00 57.52           C  \nATOM   1538  N   ASP B 199       8.165 -38.126  35.876  1.00 53.86           N  \nATOM   1539  CA  ASP B 199       9.496 -38.685  36.090  1.00 53.86           C  \nATOM   1540  C   ASP B 199       9.900 -39.598  34.934  1.00 53.86           C  \nATOM   1541  CB  ASP B 199       9.550 -39.453  37.412  1.00 53.86           C  \nATOM   1542  O   ASP B 199      10.983 -40.187  34.951  1.00 53.86           O  \nATOM   1543  CG  ASP B 199       9.402 -38.555  38.627  1.00 53.86           C  \nATOM   1544  OD1 ASP B 199       9.840 -37.385  38.577  1.00 53.86           O  \nATOM   1545  OD2 ASP B 199       8.846 -39.021  39.644  1.00 53.86           O  \nATOM   1546  N   ALA B 200       9.002 -39.756  33.994  1.00 54.36           N  \nATOM   1547  CA  ALA B 200       9.318 -40.657  32.889  1.00 54.36           C  \nATOM   1548  C   ALA B 200      10.399 -40.065  31.990  1.00 54.36           C  \nATOM   1549  CB  ALA B 200       8.062 -40.961  32.076  1.00 54.36           C  \nATOM   1550  O   ALA B 200      10.432 -38.853  31.764  1.00 54.36           O  \nATOM   1551  N   LEU B 201      11.599 -40.794  31.561  1.00 53.95           N  \nATOM   1552  CA  LEU B 201      12.788 -40.396  30.817  1.00 53.95           C  \nATOM   1553  C   LEU B 201      12.408 -39.632  29.553  1.00 53.95           C  \nATOM   1554  CB  LEU B 201      13.628 -41.622  30.452  1.00 53.95           C  \nATOM   1555  O   LEU B 201      13.045 -38.633  29.211  1.00 53.95           O  \nATOM   1556  CG  LEU B 201      14.890 -41.852  31.286  1.00 53.95           C  \nATOM   1557  CD1 LEU B 201      15.093 -43.342  31.539  1.00 53.95           C  \nATOM   1558  CD2 LEU B 201      16.107 -41.252  30.592  1.00 53.95           C  \nATOM   1559  N   GLU B 202      11.430 -40.078  28.977  1.00 56.75           N  \nATOM   1560  CA  GLU B 202      11.006 -39.529  27.692  1.00 56.75           C  \nATOM   1561  C   GLU B 202      10.477 -38.106  27.849  1.00 56.75           C  \nATOM   1562  CB  GLU B 202       9.937 -40.419  27.053  1.00 56.75           C  \nATOM   1563  O   GLU B 202      10.579 -37.295  26.925  1.00 56.75           O  \nATOM   1564  CG  GLU B 202      10.481 -41.723  26.488  1.00 56.75           C  \nATOM   1565  CD  GLU B 202       9.491 -42.874  26.574  1.00 56.75           C  \nATOM   1566  OE1 GLU B 202       9.787 -43.970  26.047  1.00 56.75           O  \nATOM   1567  OE2 GLU B 202       8.409 -42.676  27.171  1.00 56.75           O  \nATOM   1568  N   CYS B 203       9.877 -37.840  29.067  1.00 50.08           N  \nATOM   1569  CA  CYS B 203       9.304 -36.530  29.357  1.00 50.08           C  \nATOM   1570  C   CYS B 203      10.384 -35.549  29.798  1.00 50.08           C  \nATOM   1571  CB  CYS B 203       8.231 -36.642  30.440  1.00 50.08           C  \nATOM   1572  O   CYS B 203      10.211 -34.335  29.679  1.00 50.08           O  \nATOM   1573  SG  CYS B 203       6.785 -37.599  29.935  1.00 50.08           S  \nATOM   1574  N   ARG B 204      11.530 -35.883  30.373  1.00 46.34           N  \nATOM   1575  CA  ARG B 204      12.634 -35.062  30.859  1.00 46.34           C  \nATOM   1576  C   ARG B 204      13.453 -34.504  29.700  1.00 46.34           C  \nATOM   1577  CB  ARG B 204      13.534 -35.870  31.796  1.00 46.34           C  \nATOM   1578  O   ARG B 204      14.160 -33.506  29.855  1.00 46.34           O  \nATOM   1579  CG  ARG B 204      13.119 -35.806  33.257  1.00 46.34           C  \nATOM   1580  CD  ARG B 204      14.145 -36.469  34.165  1.00 46.34           C  \nATOM   1581  NE  ARG B 204      13.775 -36.353  35.572  1.00 46.34           N  \nATOM   1582  NH1 ARG B 204      15.436 -37.763  36.340  1.00 46.34           N  \nATOM   1583  NH2 ARG B 204      13.975 -36.794  37.817  1.00 46.34           N  \nATOM   1584  CZ  ARG B 204      14.396 -36.970  36.573  1.00 46.34           C  \nATOM   1585  N   ILE B 205      13.503 -35.147  28.528  1.00 42.42           N  \nATOM   1586  CA  ILE B 205      14.344 -34.672  27.435  1.00 42.42           C  \nATOM   1587  C   ILE B 205      13.778 -33.368  26.877  1.00 42.42           C  \nATOM   1588  CB  ILE B 205      14.463 -35.729  26.314  1.00 42.42           C  \nATOM   1589  O   ILE B 205      14.527 -32.515  26.396  1.00 42.42           O  \nATOM   1590  CG1 ILE B 205      15.131 -37.001  26.847  1.00 42.42           C  \nATOM   1591  CG2 ILE B 205      15.235 -35.164  25.118  1.00 42.42           C  \nATOM   1592  CD1 ILE B 205      15.138 -38.158  25.858  1.00 42.42           C  \nATOM   1593  N   TYR B 206      12.511 -33.226  27.037  1.00 36.67           N  \nATOM   1594  CA  TYR B 206      11.937 -32.032  26.425  1.00 36.67           C  \nATOM   1595  C   TYR B 206      12.002 -30.846  27.379  1.00 36.67           C  \nATOM   1596  CB  TYR B 206      10.486 -32.287  26.006  1.00 36.67           C  \nATOM   1597  O   TYR B 206      11.614 -29.731  27.021  1.00 36.67           O  \nATOM   1598  CG  TYR B 206      10.320 -32.568  24.533  1.00 36.67           C  \nATOM   1599  CD1 TYR B 206      10.078 -31.535  23.630  1.00 36.67           C  \nATOM   1600  CD2 TYR B 206      10.403 -33.866  24.041  1.00 36.67           C  \nATOM   1601  CE1 TYR B 206       9.922 -31.790  22.271  1.00 36.67           C  \nATOM   1602  CE2 TYR B 206      10.249 -34.132  22.684  1.00 36.67           C  \nATOM   1603  OH  TYR B 206       9.856 -33.347  20.464  1.00 36.67           O  \nATOM   1604  CZ  TYR B 206      10.010 -33.089  21.808  1.00 36.67           C  \nATOM   1605  N   ASP B 207      12.230 -31.001  28.750  1.00 33.70           N  \nATOM   1606  CA  ASP B 207      12.302 -29.873  29.674  1.00 33.70           C  \nATOM   1607  C   ASP B 207      13.663 -29.184  29.595  1.00 33.70           C  \nATOM   1608  CB  ASP B 207      12.028 -30.334  31.106  1.00 33.70           C  \nATOM   1609  O   ASP B 207      13.873 -28.141  30.218  1.00 33.70           O  \nATOM   1610  CG  ASP B 207      10.547 -30.441  31.422  1.00 33.70           C  \nATOM   1611  OD1 ASP B 207       9.718 -29.920  30.645  1.00 33.70           O  \nATOM   1612  OD2 ASP B 207      10.205 -31.049  32.460  1.00 33.70           O  \nATOM   1613  N   ASP B 208      14.746 -29.869  29.058  1.00 27.72           N  \nATOM   1614  CA  ASP B 208      15.954 -29.050  29.049  1.00 27.72           C  \nATOM   1615  C   ASP B 208      15.965 -28.100  27.854  1.00 27.72           C  \nATOM   1616  CB  ASP B 208      17.202 -29.935  29.030  1.00 27.72           C  \nATOM   1617  O   ASP B 208      15.637 -28.499  26.735  1.00 27.72           O  \nATOM   1618  CG  ASP B 208      17.575 -30.464  30.404  1.00 27.72           C  \nATOM   1619  OD1 ASP B 208      16.977 -30.026  31.410  1.00 27.72           O  \nATOM   1620  OD2 ASP B 208      18.478 -31.326  30.481  1.00 27.72           O  \nTER    1621      ASP B 208                                                      \nATOM   1622  N   GLY C   1      33.491  17.421  12.054  1.00 38.13           N  \nATOM   1623  CA  GLY C   1      32.051  17.582  12.180  1.00 38.13           C  \nATOM   1624  C   GLY C   1      31.451  16.733  13.285  1.00 38.13           C  \nATOM   1625  O   GLY C   1      32.070  15.769  13.740  1.00 38.13           O  \nATOM   1626  N   PRO C   2      30.465  17.227  14.040  1.00 50.65           N  \nATOM   1627  CA  PRO C   2      29.988  16.513  15.227  1.00 50.65           C  \nATOM   1628  C   PRO C   2      29.714  15.035  14.956  1.00 50.65           C  \nATOM   1629  CB  PRO C   2      28.696  17.251  15.587  1.00 50.65           C  \nATOM   1630  O   PRO C   2      29.292  14.674  13.855  1.00 50.65           O  \nATOM   1631  CG  PRO C   2      28.428  18.144  14.419  1.00 50.65           C  \nATOM   1632  CD  PRO C   2      29.595  18.061  13.477  1.00 50.65           C  \nATOM   1633  N   MET C   3      30.395  14.069  15.672  1.00 59.35           N  \nATOM   1634  CA  MET C   3      30.366  12.615  15.535  1.00 59.35           C  \nATOM   1635  C   MET C   3      28.952  12.079  15.732  1.00 59.35           C  \nATOM   1636  CB  MET C   3      31.317  11.961  16.539  1.00 59.35           C  \nATOM   1637  O   MET C   3      28.368  12.232  16.806  1.00 59.35           O  \nATOM   1638  CG  MET C   3      32.658  11.563  15.943  1.00 59.35           C  \nATOM   1639  SD  MET C   3      33.684  10.587  17.109  1.00 59.35           S  \nATOM   1640  CE  MET C   3      33.079  11.240  18.691  1.00 59.35           C  \nATOM   1641  N   VAL C   4      28.049  11.949  14.748  1.00 78.26           N  \nATOM   1642  CA  VAL C   4      26.707  11.375  14.763  1.00 78.26           C  \nATOM   1643  C   VAL C   4      26.793   9.864  14.970  1.00 78.26           C  \nATOM   1644  CB  VAL C   4      25.941  11.691  13.459  1.00 78.26           C  \nATOM   1645  O   VAL C   4      27.747   9.223  14.523  1.00 78.26           O  \nATOM   1646  CG1 VAL C   4      24.482  11.251  13.570  1.00 78.26           C  \nATOM   1647  CG2 VAL C   4      26.030  13.181  13.136  1.00 78.26           C  \nATOM   1648  N   LEU C   5      25.991   9.396  16.032  1.00 91.20           N  \nATOM   1649  CA  LEU C   5      25.917   7.961  16.282  1.00 91.20           C  \nATOM   1650  C   LEU C   5      25.618   7.200  14.995  1.00 91.20           C  \nATOM   1651  CB  LEU C   5      24.844   7.654  17.331  1.00 91.20           C  \nATOM   1652  O   LEU C   5      24.703   7.563  14.252  1.00 91.20           O  \nATOM   1653  CG  LEU C   5      24.949   6.299  18.032  1.00 91.20           C  \nATOM   1654  CD1 LEU C   5      26.140   6.287  18.985  1.00 91.20           C  \nATOM   1655  CD2 LEU C   5      23.658   5.981  18.778  1.00 91.20           C  \nATOM   1656  N   GLN C   6      26.480   6.185  14.773  1.00 95.13           N  \nATOM   1657  CA  GLN C   6      26.406   5.499  13.487  1.00 95.13           C  \nATOM   1658  C   GLN C   6      25.820   4.099  13.643  1.00 95.13           C  \nATOM   1659  CB  GLN C   6      27.790   5.420  12.840  1.00 95.13           C  \nATOM   1660  O   GLN C   6      25.759   3.566  14.752  1.00 95.13           O  \nATOM   1661  CG  GLN C   6      28.424   6.779  12.577  1.00 95.13           C  \nATOM   1662  CD  GLN C   6      29.830   6.672  12.017  1.00 95.13           C  \nATOM   1663  NE2 GLN C   6      30.336   7.771  11.468  1.00 95.13           N  \nATOM   1664  OE1 GLN C   6      30.458   5.610  12.078  1.00 95.13           O  \nATOM   1665  N   ALA C   7      25.483   3.486  12.568  1.00 96.36           N  \nATOM   1666  CA  ALA C   7      24.849   2.171  12.535  1.00 96.36           C  \nATOM   1667  C   ALA C   7      25.749   1.112  13.167  1.00 96.36           C  \nATOM   1668  CB  ALA C   7      24.503   1.783  11.100  1.00 96.36           C  \nATOM   1669  O   ALA C   7      25.288   0.292  13.964  1.00 96.36           O  \nATOM   1670  N   GLN C   8      27.017   1.148  12.864  1.00 96.36           N  \nATOM   1671  CA  GLN C   8      27.942   0.127  13.342  1.00 96.36           C  \nATOM   1672  C   GLN C   8      28.069   0.168  14.862  1.00 96.36           C  \nATOM   1673  CB  GLN C   8      29.317   0.302  12.696  1.00 96.36           C  \nATOM   1674  O   GLN C   8      28.453  -0.824  15.486  1.00 96.36           O  \nATOM   1675  CG  GLN C   8      30.007   1.609  13.062  1.00 96.36           C  \nATOM   1676  CD  GLN C   8      31.349   1.778  12.374  1.00 96.36           C  \nATOM   1677  NE2 GLN C   8      32.272   2.466  13.036  1.00 96.36           N  \nATOM   1678  OE1 GLN C   8      31.554   1.292  11.257  1.00 96.36           O  \nATOM   1679  N   GLU C   9      27.712   1.249  15.444  1.00 96.73           N  \nATOM   1680  CA  GLU C   9      27.870   1.416  16.886  1.00 96.73           C  \nATOM   1681  C   GLU C   9      26.694   0.805  17.644  1.00 96.73           C  \nATOM   1682  CB  GLU C   9      28.014   2.897  17.244  1.00 96.73           C  \nATOM   1683  O   GLU C   9      26.791   0.546  18.845  1.00 96.73           O  \nATOM   1684  CG  GLU C   9      29.274   3.544  16.687  1.00 96.73           C  \nATOM   1685  CD  GLU C   9      29.323   5.048  16.905  1.00 96.73           C  \nATOM   1686  OE1 GLU C   9      29.956   5.499  17.886  1.00 96.73           O  \nATOM   1687  OE2 GLU C   9      28.722   5.781  16.088  1.00 96.73           O  \nATOM   1688  N   ILE C  10      25.637   0.603  16.970  1.00 97.23           N  \nATOM   1689  CA  ILE C  10      24.483   0.112  17.714  1.00 97.23           C  \nATOM   1690  C   ILE C  10      23.981  -1.189  17.090  1.00 97.23           C  \nATOM   1691  CB  ILE C  10      23.348   1.160  17.753  1.00 97.23           C  \nATOM   1692  O   ILE C  10      23.008  -1.778  17.565  1.00 97.23           O  \nATOM   1693  CG1 ILE C  10      22.839   1.449  16.336  1.00 97.23           C  \nATOM   1694  CG2 ILE C  10      23.823   2.445  18.438  1.00 97.23           C  \nATOM   1695  CD1 ILE C  10      21.460   2.093  16.293  1.00 97.23           C  \nATOM   1696  N   MET C  11      24.562  -1.660  16.049  1.00 97.20           N  \nATOM   1697  CA  MET C  11      24.141  -2.881  15.367  1.00 97.20           C  \nATOM   1698  C   MET C  11      24.380  -4.105  16.246  1.00 97.20           C  \nATOM   1699  CB  MET C  11      24.882  -3.039  14.039  1.00 97.20           C  \nATOM   1700  O   MET C  11      25.140  -4.040  17.214  1.00 97.20           O  \nATOM   1701  CG  MET C  11      26.364  -3.341  14.195  1.00 97.20           C  \nATOM   1702  SD  MET C  11      27.222  -3.504  12.581  1.00 97.20           S  \nATOM   1703  CE  MET C  11      28.903  -3.881  13.150  1.00 97.20           C  \nATOM   1704  N   THR C  12      23.665  -5.138  15.920  1.00 94.11           N  \nATOM   1705  CA  THR C  12      23.962  -6.440  16.509  1.00 94.11           C  \nATOM   1706  C   THR C  12      25.061  -7.150  15.724  1.00 94.11           C  \nATOM   1707  CB  THR C  12      22.706  -7.330  16.559  1.00 94.11           C  \nATOM   1708  O   THR C  12      24.978  -7.272  14.500  1.00 94.11           O  \nATOM   1709  CG2 THR C  12      23.006  -8.665  17.232  1.00 94.11           C  \nATOM   1710  OG1 THR C  12      21.679  -6.655  17.296  1.00 94.11           O  \nATOM   1711  N   GLN C  13      26.095  -7.580  16.354  1.00 91.31           N  \nATOM   1712  CA  GLN C  13      27.258  -8.146  15.680  1.00 91.31           C  \nATOM   1713  C   GLN C  13      27.122  -9.658  15.523  1.00 91.31           C  \nATOM   1714  CB  GLN C  13      28.539  -7.811  16.446  1.00 91.31           C  \nATOM   1715  O   GLN C  13      27.687 -10.245  14.598  1.00 91.31           O  \nATOM   1716  CG  GLN C  13      28.883  -6.327  16.450  1.00 91.31           C  \nATOM   1717  CD  GLN C  13      30.119  -6.014  17.272  1.00 91.31           C  \nATOM   1718  NE2 GLN C  13      30.264  -4.754  17.668  1.00 91.31           N  \nATOM   1719  OE1 GLN C  13      30.937  -6.897  17.549  1.00 91.31           O  \nATOM   1720  N   ASN C  14      26.531 -10.284  16.476  1.00 83.65           N  \nATOM   1721  CA  ASN C  14      26.333 -11.725  16.362  1.00 83.65           C  \nATOM   1722  C   ASN C  14      25.304 -12.066  15.288  1.00 83.65           C  \nATOM   1723  CB  ASN C  14      25.912 -12.317  17.709  1.00 83.65           C  \nATOM   1724  O   ASN C  14      24.109 -12.161  15.576  1.00 83.65           O  \nATOM   1725  CG  ASN C  14      26.176 -13.807  17.799  1.00 83.65           C  \nATOM   1726  ND2 ASN C  14      25.904 -14.388  18.962  1.00 83.65           N  \nATOM   1727  OD1 ASN C  14      26.621 -14.432  16.832  1.00 83.65           O  \nATOM   1728  N   VAL C  15      25.828 -12.268  14.055  1.00 87.98           N  \nATOM   1729  CA  VAL C  15      24.937 -12.560  12.937  1.00 87.98           C  \nATOM   1730  C   VAL C  15      25.006 -14.047  12.596  1.00 87.98           C  \nATOM   1731  CB  VAL C  15      25.289 -11.712  11.695  1.00 87.98           C  \nATOM   1732  O   VAL C  15      26.090 -14.633  12.563  1.00 87.98           O  \nATOM   1733  CG1 VAL C  15      24.279 -11.949  10.574  1.00 87.98           C  \nATOM   1734  CG2 VAL C  15      25.348 -10.230  12.061  1.00 87.98           C  \nATOM   1735  N   VAL C  16      23.894 -14.661  12.494  1.00 94.84           N  \nATOM   1736  CA  VAL C  16      23.815 -16.062  12.095  1.00 94.84           C  \nATOM   1737  C   VAL C  16      23.324 -16.161  10.652  1.00 94.84           C  \nATOM   1738  CB  VAL C  16      22.888 -16.868  13.031  1.00 94.84           C  \nATOM   1739  O   VAL C  16      22.437 -15.410  10.239  1.00 94.84           O  \nATOM   1740  CG1 VAL C  16      22.784 -18.320  12.568  1.00 94.84           C  \nATOM   1741  CG2 VAL C  16      23.392 -16.797  14.471  1.00 94.84           C  \nATOM   1742  N   THR C  17      23.946 -17.002   9.955  1.00 96.21           N  \nATOM   1743  CA  THR C  17      23.608 -17.160   8.545  1.00 96.21           C  \nATOM   1744  C   THR C  17      22.913 -18.497   8.302  1.00 96.21           C  \nATOM   1745  CB  THR C  17      24.861 -17.060   7.655  1.00 96.21           C  \nATOM   1746  O   THR C  17      22.968 -19.393   9.146  1.00 96.21           O  \nATOM   1747  CG2 THR C  17      25.630 -15.772   7.931  1.00 96.21           C  \nATOM   1748  OG1 THR C  17      25.716 -18.180   7.917  1.00 96.21           O  \nATOM   1749  N   ILE C  18      22.203 -18.595   7.146  1.00 97.92           N  \nATOM   1750  CA  ILE C  18      21.517 -19.810   6.719  1.00 97.92           C  \nATOM   1751  C   ILE C  18      21.564 -19.921   5.197  1.00 97.92           C  \nATOM   1752  CB  ILE C  18      20.054 -19.836   7.214  1.00 97.92           C  \nATOM   1753  O   ILE C  18      21.708 -18.914   4.499  1.00 97.92           O  \nATOM   1754  CG1 ILE C  18      19.459 -21.239   7.047  1.00 97.92           C  \nATOM   1755  CG2 ILE C  18      19.214 -18.793   6.473  1.00 97.92           C  \nATOM   1756  CD1 ILE C  18      18.163 -21.458   7.816  1.00 97.92           C  \nATOM   1757  N   ARG C  19      21.485 -21.115   4.753  1.00 96.95           N  \nATOM   1758  CA  ARG C  19      21.428 -21.316   3.308  1.00 96.95           C  \nATOM   1759  C   ARG C  19      20.006 -21.137   2.787  1.00 96.95           C  \nATOM   1760  CB  ARG C  19      21.952 -22.705   2.937  1.00 96.95           C  \nATOM   1761  O   ARG C  19      19.040 -21.463   3.479  1.00 96.95           O  \nATOM   1762  CG  ARG C  19      23.438 -22.892   3.194  1.00 96.95           C  \nATOM   1763  CD  ARG C  19      23.938 -24.230   2.666  1.00 96.95           C  \nATOM   1764  NE  ARG C  19      25.390 -24.341   2.768  1.00 96.95           N  \nATOM   1765  NH1 ARG C  19      25.500 -26.457   1.848  1.00 96.95           N  \nATOM   1766  NH2 ARG C  19      27.417 -25.391   2.516  1.00 96.95           N  \nATOM   1767  CZ  ARG C  19      26.099 -25.396   2.377  1.00 96.95           C  \nATOM   1768  N   GLY C  20      19.946 -20.728   1.574  1.00 97.65           N  \nATOM   1769  CA  GLY C  20      18.636 -20.596   0.956  1.00 97.65           C  \nATOM   1770  C   GLY C  20      17.915 -21.921   0.796  1.00 97.65           C  \nATOM   1771  O   GLY C  20      16.683 -21.969   0.808  1.00 97.65           O  \nATOM   1772  N   SER C  21      18.618 -22.973   0.645  1.00 97.15           N  \nATOM   1773  CA  SER C  21      18.049 -24.296   0.411  1.00 97.15           C  \nATOM   1774  C   SER C  21      17.551 -24.921   1.710  1.00 97.15           C  \nATOM   1775  CB  SER C  21      19.082 -25.215  -0.243  1.00 97.15           C  \nATOM   1776  O   SER C  21      16.869 -25.948   1.690  1.00 97.15           O  \nATOM   1777  OG  SER C  21      20.238 -25.331   0.568  1.00 97.15           O  \nATOM   1778  N   ALA C  22      17.837 -24.311   2.831  1.00 98.12           N  \nATOM   1779  CA  ALA C  22      17.369 -24.847   4.106  1.00 98.12           C  \nATOM   1780  C   ALA C  22      15.846 -24.802   4.194  1.00 98.12           C  \nATOM   1781  CB  ALA C  22      17.989 -24.074   5.268  1.00 98.12           C  \nATOM   1782  O   ALA C  22      15.199 -24.028   3.485  1.00 98.12           O  \nATOM   1783  N   THR C  23      15.311 -25.663   5.029  1.00 98.41           N  \nATOM   1784  CA  THR C  23      13.872 -25.608   5.262  1.00 98.41           C  \nATOM   1785  C   THR C  23      13.518 -24.452   6.193  1.00 98.41           C  \nATOM   1786  CB  THR C  23      13.352 -26.929   5.858  1.00 98.41           C  \nATOM   1787  O   THR C  23      14.372 -23.964   6.937  1.00 98.41           O  \nATOM   1788  CG2 THR C  23      13.751 -28.119   4.992  1.00 98.41           C  \nATOM   1789  OG1 THR C  23      13.900 -27.103   7.171  1.00 98.41           O  \nATOM   1790  N   VAL C  24      12.324 -24.076   6.135  1.00 98.80           N  \nATOM   1791  CA  VAL C  24      11.831 -23.055   7.053  1.00 98.80           C  \nATOM   1792  C   VAL C  24      11.897 -23.574   8.487  1.00 98.80           C  \nATOM   1793  CB  VAL C  24      10.387 -22.628   6.706  1.00 98.80           C  \nATOM   1794  O   VAL C  24      12.185 -22.816   9.416  1.00 98.80           O  \nATOM   1795  CG1 VAL C  24       9.823 -21.704   7.783  1.00 98.80           C  \nATOM   1796  CG2 VAL C  24      10.346 -21.948   5.339  1.00 98.80           C  \nATOM   1797  N   ALA C  25      11.679 -24.856   8.656  1.00 98.69           N  \nATOM   1798  CA  ALA C  25      11.795 -25.470   9.976  1.00 98.69           C  \nATOM   1799  C   ALA C  25      13.201 -25.293  10.542  1.00 98.69           C  \nATOM   1800  CB  ALA C  25      11.436 -26.952   9.906  1.00 98.69           C  \nATOM   1801  O   ALA C  25      13.367 -24.978  11.722  1.00 98.69           O  \nATOM   1802  N   ASP C  26      14.201 -25.473   9.708  1.00 98.49           N  \nATOM   1803  CA  ASP C  26      15.583 -25.255  10.123  1.00 98.49           C  \nATOM   1804  C   ASP C  26      15.799 -23.814  10.580  1.00 98.49           C  \nATOM   1805  CB  ASP C  26      16.546 -25.595   8.984  1.00 98.49           C  \nATOM   1806  O   ASP C  26      16.467 -23.569  11.586  1.00 98.49           O  \nATOM   1807  CG  ASP C  26      16.580 -27.078   8.659  1.00 98.49           C  \nATOM   1808  OD1 ASP C  26      16.362 -27.907   9.569  1.00 98.49           O  \nATOM   1809  OD2 ASP C  26      16.829 -27.421   7.483  1.00 98.49           O  \nATOM   1810  N   ALA C  27      15.249 -22.949   9.840  1.00 98.74           N  \nATOM   1811  CA  ALA C  27      15.380 -21.532  10.173  1.00 98.74           C  \nATOM   1812  C   ALA C  27      14.747 -21.226  11.527  1.00 98.74           C  \nATOM   1813  CB  ALA C  27      14.746 -20.669   9.085  1.00 98.74           C  \nATOM   1814  O   ALA C  27      15.345 -20.539  12.358  1.00 98.74           O  \nATOM   1815  N   VAL C  28      13.547 -21.729  11.742  1.00 98.75           N  \nATOM   1816  CA  VAL C  28      12.853 -21.511  13.007  1.00 98.75           C  \nATOM   1817  C   VAL C  28      13.678 -22.087  14.156  1.00 98.75           C  \nATOM   1818  CB  VAL C  28      11.442 -22.140  12.996  1.00 98.75           C  \nATOM   1819  O   VAL C  28      13.862 -21.434  15.185  1.00 98.75           O  \nATOM   1820  CG1 VAL C  28      10.798 -22.048  14.378  1.00 98.75           C  \nATOM   1821  CG2 VAL C  28      10.563 -21.461  11.948  1.00 98.75           C  \nATOM   1822  N   LYS C  29      14.163 -23.258  13.953  1.00 98.51           N  \nATOM   1823  CA  LYS C  29      14.999 -23.899  14.964  1.00 98.51           C  \nATOM   1824  C   LYS C  29      16.210 -23.035  15.305  1.00 98.51           C  \nATOM   1825  CB  LYS C  29      15.457 -25.278  14.487  1.00 98.51           C  \nATOM   1826  O   LYS C  29      16.503 -22.804  16.480  1.00 98.51           O  \nATOM   1827  CG  LYS C  29      16.300 -26.035  15.503  1.00 98.51           C  \nATOM   1828  CD  LYS C  29      16.740 -27.391  14.964  1.00 98.51           C  \nATOM   1829  CE  LYS C  29      17.651 -28.115  15.946  1.00 98.51           C  \nATOM   1830  NZ  LYS C  29      18.139 -29.414  15.395  1.00 98.51           N  \nATOM   1831  N   LEU C  30      16.848 -22.621  14.333  1.00 98.22           N  \nATOM   1832  CA  LEU C  30      18.036 -21.795  14.518  1.00 98.22           C  \nATOM   1833  C   LEU C  30      17.686 -20.490  15.226  1.00 98.22           C  \nATOM   1834  CB  LEU C  30      18.696 -21.496  13.169  1.00 98.22           C  \nATOM   1835  O   LEU C  30      18.404 -20.059  16.131  1.00 98.22           O  \nATOM   1836  CG  LEU C  30      20.082 -20.852  13.221  1.00 98.22           C  \nATOM   1837  CD1 LEU C  30      21.023 -21.688  14.082  1.00 98.22           C  \nATOM   1838  CD2 LEU C  30      20.646 -20.683  11.814  1.00 98.22           C  \nATOM   1839  N   MET C  31      16.617 -19.876  14.889  1.00 97.81           N  \nATOM   1840  CA  MET C  31      16.178 -18.635  15.520  1.00 97.81           C  \nATOM   1841  C   MET C  31      15.846 -18.861  16.991  1.00 97.81           C  \nATOM   1842  CB  MET C  31      14.962 -18.060  14.792  1.00 97.81           C  \nATOM   1843  O   MET C  31      16.192 -18.040  17.843  1.00 97.81           O  \nATOM   1844  CG  MET C  31      15.290 -17.451  13.438  1.00 97.81           C  \nATOM   1845  SD  MET C  31      13.810 -16.760  12.601  1.00 97.81           S  \nATOM   1846  CE  MET C  31      14.538 -16.281  11.010  1.00 97.81           C  \nATOM   1847  N   LYS C  32      15.188 -19.952  17.279  1.00 97.71           N  \nATOM   1848  CA  LYS C  32      14.864 -20.291  18.662  1.00 97.71           C  \nATOM   1849  C   LYS C  32      16.130 -20.528  19.480  1.00 97.71           C  \nATOM   1850  CB  LYS C  32      13.966 -21.528  18.715  1.00 97.71           C  \nATOM   1851  O   LYS C  32      16.290 -19.963  20.564  1.00 97.71           O  \nATOM   1852  CG  LYS C  32      12.534 -21.273  18.270  1.00 97.71           C  \nATOM   1853  CD  LYS C  32      11.676 -22.525  18.402  1.00 97.71           C  \nATOM   1854  CE  LYS C  32      10.222 -22.247  18.047  1.00 97.71           C  \nATOM   1855  NZ  LYS C  32       9.364 -23.455  18.236  1.00 97.71           N  \nATOM   1856  N   GLU C  33      17.052 -21.286  18.924  1.00 97.27           N  \nATOM   1857  CA  GLU C  33      18.284 -21.639  19.622  1.00 97.27           C  \nATOM   1858  C   GLU C  33      19.137 -20.404  19.896  1.00 97.27           C  \nATOM   1859  CB  GLU C  33      19.086 -22.663  18.814  1.00 97.27           C  \nATOM   1860  O   GLU C  33      19.713 -20.268  20.977  1.00 97.27           O  \nATOM   1861  CG  GLU C  33      18.484 -24.061  18.823  1.00 97.27           C  \nATOM   1862  CD  GLU C  33      19.232 -25.042  17.935  1.00 97.27           C  \nATOM   1863  OE1 GLU C  33      18.897 -26.248  17.946  1.00 97.27           O  \nATOM   1864  OE2 GLU C  33      20.161 -24.601  17.222  1.00 97.27           O  \nATOM   1865  N   LYS C  34      19.151 -19.535  18.930  1.00 96.25           N  \nATOM   1866  CA  LYS C  34      20.041 -18.382  19.033  1.00 96.25           C  \nATOM   1867  C   LYS C  34      19.286 -17.146  19.513  1.00 96.25           C  \nATOM   1868  CB  LYS C  34      20.710 -18.098  17.688  1.00 96.25           C  \nATOM   1869  O   LYS C  34      19.880 -16.082  19.697  1.00 96.25           O  \nATOM   1870  CG  LYS C  34      21.565 -19.244  17.167  1.00 96.25           C  \nATOM   1871  CD  LYS C  34      22.771 -19.493  18.063  1.00 96.25           C  \nATOM   1872  CE  LYS C  34      23.688 -20.562  17.484  1.00 96.25           C  \nATOM   1873  NZ  LYS C  34      24.881 -20.798  18.352  1.00 96.25           N  \nATOM   1874  N   LYS C  35      17.919 -17.275  19.697  1.00 94.23           N  \nATOM   1875  CA  LYS C  35      17.053 -16.190  20.148  1.00 94.23           C  \nATOM   1876  C   LYS C  35      17.157 -14.982  19.220  1.00 94.23           C  \nATOM   1877  CB  LYS C  35      17.403 -15.782  21.580  1.00 94.23           C  \nATOM   1878  O   LYS C  35      17.381 -13.859  19.677  1.00 94.23           O  \nATOM   1879  CG  LYS C  35      17.212 -16.892  22.603  1.00 94.23           C  \nATOM   1880  CD  LYS C  35      17.517 -16.408  24.015  1.00 94.23           C  \nATOM   1881  CE  LYS C  35      17.339 -17.522  25.039  1.00 94.23           C  \nATOM   1882  NZ  LYS C  35      17.635 -17.051  26.425  1.00 94.23           N  \nATOM   1883  N   LEU C  36      17.022 -15.254  17.972  1.00 94.81           N  \nATOM   1884  CA  LEU C  36      17.113 -14.220  16.946  1.00 94.81           C  \nATOM   1885  C   LEU C  36      15.787 -14.071  16.207  1.00 94.81           C  \nATOM   1886  CB  LEU C  36      18.231 -14.547  15.953  1.00 94.81           C  \nATOM   1887  O   LEU C  36      14.983 -15.005  16.172  1.00 94.81           O  \nATOM   1888  CG  LEU C  36      19.651 -14.586  16.520  1.00 94.81           C  \nATOM   1889  CD1 LEU C  36      20.616 -15.167  15.492  1.00 94.81           C  \nATOM   1890  CD2 LEU C  36      20.094 -13.192  16.949  1.00 94.81           C  \nATOM   1891  N   ARG C  37      15.567 -12.922  15.663  1.00 95.29           N  \nATOM   1892  CA  ARG C  37      14.318 -12.637  14.965  1.00 95.29           C  \nATOM   1893  C   ARG C  37      14.548 -12.506  13.463  1.00 95.29           C  \nATOM   1894  CB  ARG C  37      13.676 -11.360  15.510  1.00 95.29           C  \nATOM   1895  O   ARG C  37      13.618 -12.206  12.711  1.00 95.29           O  \nATOM   1896  CG  ARG C  37      13.209 -11.473  16.953  1.00 95.29           C  \nATOM   1897  CD  ARG C  37      12.701 -10.141  17.487  1.00 95.29           C  \nATOM   1898  NE  ARG C  37      12.398 -10.213  18.913  1.00 95.29           N  \nATOM   1899  NH1 ARG C  37      12.866  -7.990  19.335  1.00 95.29           N  \nATOM   1900  NH2 ARG C  37      12.183  -9.366  21.037  1.00 95.29           N  \nATOM   1901  CZ  ARG C  37      12.483  -9.189  19.759  1.00 95.29           C  \nATOM   1902  N   GLY C  38      15.713 -12.660  12.965  1.00 96.42           N  \nATOM   1903  CA  GLY C  38      16.121 -12.661  11.569  1.00 96.42           C  \nATOM   1904  C   GLY C  38      17.438 -13.375  11.333  1.00 96.42           C  \nATOM   1905  O   GLY C  38      18.320 -13.363  12.195  1.00 96.42           O  \nATOM   1906  N   LEU C  39      17.540 -13.903  10.123  1.00 98.05           N  \nATOM   1907  CA  LEU C  39      18.755 -14.584   9.688  1.00 98.05           C  \nATOM   1908  C   LEU C  39      19.232 -14.039   8.346  1.00 98.05           C  \nATOM   1909  CB  LEU C  39      18.515 -16.092   9.583  1.00 98.05           C  \nATOM   1910  O   LEU C  39      18.418 -13.698   7.484  1.00 98.05           O  \nATOM   1911  CG  LEU C  39      17.940 -16.775  10.825  1.00 98.05           C  \nATOM   1912  CD1 LEU C  39      17.528 -18.207  10.499  1.00 98.05           C  \nATOM   1913  CD2 LEU C  39      18.951 -16.750  11.966  1.00 98.05           C  \nATOM   1914  N   ILE C  40      20.516 -14.022   8.201  1.00 97.82           N  \nATOM   1915  CA  ILE C  40      21.087 -13.612   6.922  1.00 97.82           C  \nATOM   1916  C   ILE C  40      21.240 -14.828   6.012  1.00 97.82           C  \nATOM   1917  CB  ILE C  40      22.450 -12.910   7.111  1.00 97.82           C  \nATOM   1918  O   ILE C  40      21.673 -15.894   6.456  1.00 97.82           O  \nATOM   1919  CG1 ILE C  40      22.278 -11.622   7.925  1.00 97.82           C  \nATOM   1920  CG2 ILE C  40      23.100 -12.618   5.756  1.00 97.82           C  \nATOM   1921  CD1 ILE C  40      21.347 -10.603   7.283  1.00 97.82           C  \nATOM   1922  N   VAL C  41      20.777 -14.740   4.827  1.00 97.86           N  \nATOM   1923  CA  VAL C  41      20.975 -15.786   3.829  1.00 97.86           C  \nATOM   1924  C   VAL C  41      22.297 -15.559   3.097  1.00 97.86           C  \nATOM   1925  CB  VAL C  41      19.808 -15.834   2.817  1.00 97.86           C  \nATOM   1926  O   VAL C  41      22.493 -14.519   2.465  1.00 97.86           O  \nATOM   1927  CG1 VAL C  41      20.023 -16.951   1.798  1.00 97.86           C  \nATOM   1928  CG2 VAL C  41      18.479 -16.020   3.547  1.00 97.86           C  \nATOM   1929  N   GLU C  42      23.095 -16.460   3.039  1.00 93.37           N  \nATOM   1930  CA  GLU C  42      24.462 -16.343   2.540  1.00 93.37           C  \nATOM   1931  C   GLU C  42      24.489 -16.277   1.016  1.00 93.37           C  \nATOM   1932  CB  GLU C  42      25.316 -17.514   3.032  1.00 93.37           C  \nATOM   1933  O   GLU C  42      23.690 -16.936   0.347  1.00 93.37           O  \nATOM   1934  CG  GLU C  42      25.509 -17.544   4.541  1.00 93.37           C  \nATOM   1935  CD  GLU C  42      26.279 -18.763   5.023  1.00 93.37           C  \nATOM   1936  OE1 GLU C  42      26.602 -18.838   6.231  1.00 93.37           O  \nATOM   1937  OE2 GLU C  42      26.564 -19.649   4.187  1.00 93.37           O  \nATOM   1938  N   PRO C  43      25.494 -15.523   0.532  1.00 91.97           N  \nATOM   1939  CA  PRO C  43      25.719 -15.595  -0.913  1.00 91.97           C  \nATOM   1940  C   PRO C  43      26.313 -16.931  -1.352  1.00 91.97           C  \nATOM   1941  CB  PRO C  43      26.701 -14.449  -1.175  1.00 91.97           C  \nATOM   1942  O   PRO C  43      27.044 -17.567  -0.588  1.00 91.97           O  \nATOM   1943  CG  PRO C  43      26.689 -13.642   0.083  1.00 91.97           C  \nATOM   1944  CD  PRO C  43      26.228 -14.521   1.210  1.00 91.97           C  \nATOM   1945  N   ARG C  44      25.999 -17.350  -2.503  1.00 86.28           N  \nATOM   1946  CA  ARG C  44      26.524 -18.610  -3.020  1.00 86.28           C  \nATOM   1947  C   ARG C  44      27.918 -18.421  -3.611  1.00 86.28           C  \nATOM   1948  CB  ARG C  44      25.582 -19.192  -4.076  1.00 86.28           C  \nATOM   1949  O   ARG C  44      28.732 -19.346  -3.602  1.00 86.28           O  \nATOM   1950  CG  ARG C  44      24.210 -19.566  -3.539  1.00 86.28           C  \nATOM   1951  CD  ARG C  44      24.226 -20.921  -2.845  1.00 86.28           C  \nATOM   1952  NE  ARG C  44      24.418 -22.011  -3.797  1.00 86.28           N  \nATOM   1953  NH1 ARG C  44      23.597 -23.655  -2.396  1.00 86.28           N  \nATOM   1954  NH2 ARG C  44      24.331 -24.196  -4.499  1.00 86.28           N  \nATOM   1955  CZ  ARG C  44      24.115 -23.285  -3.562  1.00 86.28           C  \nATOM   1956  N   HIS C  45      28.146 -17.270  -4.216  1.00 82.59           N  \nATOM   1957  CA  HIS C  45      29.436 -16.895  -4.786  1.00 82.59           C  \nATOM   1958  C   HIS C  45      29.676 -15.394  -4.665  1.00 82.59           C  \nATOM   1959  CB  HIS C  45      29.518 -17.324  -6.252  1.00 82.59           C  \nATOM   1960  O   HIS C  45      28.827 -14.664  -4.150  1.00 82.59           O  \nATOM   1961  CG  HIS C  45      28.364 -16.856  -7.080  1.00 82.59           C  \nATOM   1962  CD2 HIS C  45      27.273 -17.514  -7.538  1.00 82.59           C  \nATOM   1963  ND1 HIS C  45      28.251 -15.559  -7.533  1.00 82.59           N  \nATOM   1964  CE1 HIS C  45      27.137 -15.440  -8.236  1.00 82.59           C  \nATOM   1965  NE2 HIS C  45      26.525 -16.612  -8.254  1.00 82.59           N  \nATOM   1966  N   GLU C  46      30.727 -14.926  -5.065  1.00 75.63           N  \nATOM   1967  CA  GLU C  46      31.173 -13.554  -4.841  1.00 75.63           C  \nATOM   1968  C   GLU C  46      30.220 -12.552  -5.484  1.00 75.63           C  \nATOM   1969  CB  GLU C  46      32.591 -13.355  -5.383  1.00 75.63           C  \nATOM   1970  O   GLU C  46      30.046 -11.440  -4.979  1.00 75.63           O  \nATOM   1971  CG  GLU C  46      33.677 -13.956  -4.502  1.00 75.63           C  \nATOM   1972  CD  GLU C  46      35.084 -13.629  -4.977  1.00 75.63           C  \nATOM   1973  OE1 GLU C  46      36.058 -13.975  -4.271  1.00 75.63           O  \nATOM   1974  OE2 GLU C  46      35.213 -13.022  -6.064  1.00 75.63           O  \nATOM   1975  N   GLN C  47      29.631 -12.903  -6.524  1.00 76.19           N  \nATOM   1976  CA  GLN C  47      28.749 -11.984  -7.237  1.00 76.19           C  \nATOM   1977  C   GLN C  47      27.313 -12.097  -6.733  1.00 76.19           C  \nATOM   1978  CB  GLN C  47      28.799 -12.251  -8.742  1.00 76.19           C  \nATOM   1979  O   GLN C  47      26.444 -11.324  -7.141  1.00 76.19           O  \nATOM   1980  CG  GLN C  47      30.156 -11.968  -9.372  1.00 76.19           C  \nATOM   1981  CD  GLN C  47      30.336 -12.653 -10.714  1.00 76.19           C  \nATOM   1982  NE2 GLN C  47      31.488 -12.441 -11.339  1.00 76.19           N  \nATOM   1983  OE1 GLN C  47      29.445 -13.369 -11.184  1.00 76.19           O  \nATOM   1984  N   ASP C  48      27.111 -13.051  -5.892  1.00 87.73           N  \nATOM   1985  CA  ASP C  48      25.785 -13.265  -5.322  1.00 87.73           C  \nATOM   1986  C   ASP C  48      25.555 -12.363  -4.111  1.00 87.73           C  \nATOM   1987  CB  ASP C  48      25.600 -14.732  -4.929  1.00 87.73           C  \nATOM   1988  O   ASP C  48      26.452 -12.187  -3.283  1.00 87.73           O  \nATOM   1989  CG  ASP C  48      24.160 -15.079  -4.594  1.00 87.73           C  \nATOM   1990  OD1 ASP C  48      23.236 -14.533  -5.235  1.00 87.73           O  \nATOM   1991  OD2 ASP C  48      23.947 -15.903  -3.678  1.00 87.73           O  \nATOM   1992  N   PRO C  49      24.380 -11.753  -3.956  1.00 92.97           N  \nATOM   1993  CA  PRO C  49      24.118 -10.844  -2.838  1.00 92.97           C  \nATOM   1994  C   PRO C  49      23.640 -11.573  -1.584  1.00 92.97           C  \nATOM   1995  CB  PRO C  49      23.024  -9.921  -3.383  1.00 92.97           C  \nATOM   1996  O   PRO C  49      23.254 -12.742  -1.655  1.00 92.97           O  \nATOM   1997  CG  PRO C  49      22.221 -10.782  -4.303  1.00 92.97           C  \nATOM   1998  CD  PRO C  49      23.154 -11.722  -5.012  1.00 92.97           C  \nATOM   1999  N   TYR C  50      23.679 -10.856  -0.470  1.00 94.31           N  \nATOM   2000  CA  TYR C  50      23.084 -11.349   0.768  1.00 94.31           C  \nATOM   2001  C   TYR C  50      21.563 -11.280   0.706  1.00 94.31           C  \nATOM   2002  CB  TYR C  50      23.595 -10.546   1.967  1.00 94.31           C  \nATOM   2003  O   TYR C  50      21.001 -10.458  -0.022  1.00 94.31           O  \nATOM   2004  CG  TYR C  50      25.046 -10.802   2.296  1.00 94.31           C  \nATOM   2005  CD1 TYR C  50      25.423 -11.903   3.061  1.00 94.31           C  \nATOM   2006  CD2 TYR C  50      26.042  -9.944   1.843  1.00 94.31           C  \nATOM   2007  CE1 TYR C  50      26.759 -12.142   3.368  1.00 94.31           C  \nATOM   2008  CE2 TYR C  50      27.380 -10.173   2.143  1.00 94.31           C  \nATOM   2009  OH  TYR C  50      29.052 -11.505   3.206  1.00 94.31           O  \nATOM   2010  CZ  TYR C  50      27.729 -11.273   2.905  1.00 94.31           C  \nATOM   2011  N   GLY C  51      20.969 -12.215   1.383  1.00 96.82           N  \nATOM   2012  CA  GLY C  51      19.539 -12.171   1.647  1.00 96.82           C  \nATOM   2013  C   GLY C  51      19.206 -12.162   3.127  1.00 96.82           C  \nATOM   2014  O   GLY C  51      20.104 -12.202   3.971  1.00 96.82           O  \nATOM   2015  N   ILE C  52      17.932 -12.058   3.420  1.00 98.38           N  \nATOM   2016  CA  ILE C  52      17.488 -12.073   4.810  1.00 98.38           C  \nATOM   2017  C   ILE C  52      16.137 -12.777   4.912  1.00 98.38           C  \nATOM   2018  CB  ILE C  52      17.392 -10.643   5.388  1.00 98.38           C  \nATOM   2019  O   ILE C  52      15.304 -12.670   4.010  1.00 98.38           O  \nATOM   2020  CG1 ILE C  52      17.121 -10.694   6.896  1.00 98.38           C  \nATOM   2021  CG2 ILE C  52      16.308  -9.839   4.663  1.00 98.38           C  \nATOM   2022  CD1 ILE C  52      17.324  -9.362   7.606  1.00 98.38           C  \nATOM   2023  N   VAL C  53      15.948 -13.556   5.947  1.00 98.60           N  \nATOM   2024  CA  VAL C  53      14.662 -14.136   6.320  1.00 98.60           C  \nATOM   2025  C   VAL C  53      14.328 -13.768   7.764  1.00 98.60           C  \nATOM   2026  CB  VAL C  53      14.660 -15.671   6.148  1.00 98.60           C  \nATOM   2027  O   VAL C  53      15.181 -13.866   8.649  1.00 98.60           O  \nATOM   2028  CG1 VAL C  53      15.694 -16.319   7.067  1.00 98.60           C  \nATOM   2029  CG2 VAL C  53      13.268 -16.237   6.422  1.00 98.60           C  \nATOM   2030  N   THR C  54      13.107 -13.310   8.011  1.00 98.23           N  \nATOM   2031  CA  THR C  54      12.730 -12.804   9.326  1.00 98.23           C  \nATOM   2032  C   THR C  54      11.549 -13.589   9.890  1.00 98.23           C  \nATOM   2033  CB  THR C  54      12.373 -11.307   9.267  1.00 98.23           C  \nATOM   2034  O   THR C  54      10.919 -14.371   9.175  1.00 98.23           O  \nATOM   2035  CG2 THR C  54      13.460 -10.511   8.553  1.00 98.23           C  \nATOM   2036  OG1 THR C  54      11.136 -11.144   8.563  1.00 98.23           O  \nATOM   2037  N   GLU C  55      11.279 -13.366  11.137  1.00 98.06           N  \nATOM   2038  CA  GLU C  55      10.117 -13.975  11.778  1.00 98.06           C  \nATOM   2039  C   GLU C  55       8.821 -13.536  11.102  1.00 98.06           C  \nATOM   2040  CB  GLU C  55      10.078 -13.622  13.267  1.00 98.06           C  \nATOM   2041  O   GLU C  55       7.870 -14.315  11.007  1.00 98.06           O  \nATOM   2042  CG  GLU C  55       9.994 -12.128  13.543  1.00 98.06           C  \nATOM   2043  CD  GLU C  55      10.025 -11.789  15.025  1.00 98.06           C  \nATOM   2044  OE1 GLU C  55       9.834 -10.604  15.381  1.00 98.06           O  \nATOM   2045  OE2 GLU C  55      10.244 -12.715  15.837  1.00 98.06           O  \nATOM   2046  N   THR C  56       8.834 -12.340  10.611  1.00 98.06           N  \nATOM   2047  CA  THR C  56       7.647 -11.839   9.926  1.00 98.06           C  \nATOM   2048  C   THR C  56       7.421 -12.590   8.617  1.00 98.06           C  \nATOM   2049  CB  THR C  56       7.762 -10.330   9.642  1.00 98.06           C  \nATOM   2050  O   THR C  56       6.286 -12.936   8.282  1.00 98.06           O  \nATOM   2051  CG2 THR C  56       6.494  -9.797   8.983  1.00 98.06           C  \nATOM   2052  OG1 THR C  56       7.976  -9.632  10.875  1.00 98.06           O  \nATOM   2053  N   ASP C  57       8.462 -12.878   7.901  1.00 98.52           N  \nATOM   2054  CA  ASP C  57       8.337 -13.674   6.683  1.00 98.52           C  \nATOM   2055  C   ASP C  57       7.707 -15.034   6.978  1.00 98.52           C  \nATOM   2056  CB  ASP C  57       9.704 -13.861   6.021  1.00 98.52           C  \nATOM   2057  O   ASP C  57       6.774 -15.454   6.291  1.00 98.52           O  \nATOM   2058  CG  ASP C  57      10.276 -12.567   5.470  1.00 98.52           C  \nATOM   2059  OD1 ASP C  57       9.509 -11.742   4.928  1.00 98.52           O  \nATOM   2060  OD2 ASP C  57      11.507 -12.371   5.575  1.00 98.52           O  \nATOM   2061  N   ILE C  58       8.174 -15.645   7.987  1.00 98.78           N  \nATOM   2062  CA  ILE C  58       7.745 -16.995   8.335  1.00 98.78           C  \nATOM   2063  C   ILE C  58       6.281 -16.975   8.769  1.00 98.78           C  \nATOM   2064  CB  ILE C  58       8.627 -17.599   9.450  1.00 98.78           C  \nATOM   2065  O   ILE C  58       5.474 -17.777   8.292  1.00 98.78           O  \nATOM   2066  CG1 ILE C  58      10.049 -17.845   8.933  1.00 98.78           C  \nATOM   2067  CG2 ILE C  58       8.008 -18.892   9.988  1.00 98.78           C  \nATOM   2068  CD1 ILE C  58      11.042 -18.243  10.016  1.00 98.78           C  \nATOM   2069  N   VAL C  59       5.950 -16.054   9.576  1.00 98.62           N  \nATOM   2070  CA  VAL C  59       4.589 -16.013  10.102  1.00 98.62           C  \nATOM   2071  C   VAL C  59       3.618 -15.609   8.995  1.00 98.62           C  \nATOM   2072  CB  VAL C  59       4.472 -15.039  11.296  1.00 98.62           C  \nATOM   2073  O   VAL C  59       2.574 -16.240   8.817  1.00 98.62           O  \nATOM   2074  CG1 VAL C  59       3.008 -14.820  11.672  1.00 98.62           C  \nATOM   2075  CG2 VAL C  59       5.262 -15.565  12.493  1.00 98.62           C  \nATOM   2076  N   TYR C  60       3.981 -14.649   8.180  1.00 98.29           N  \nATOM   2077  CA  TYR C  60       3.098 -14.115   7.149  1.00 98.29           C  \nATOM   2078  C   TYR C  60       2.934 -15.107   6.004  1.00 98.29           C  \nATOM   2079  CB  TYR C  60       3.637 -12.785   6.615  1.00 98.29           C  \nATOM   2080  O   TYR C  60       1.861 -15.198   5.402  1.00 98.29           O  \nATOM   2081  CG  TYR C  60       3.256 -11.593   7.457  1.00 98.29           C  \nATOM   2082  CD1 TYR C  60       2.808 -11.755   8.767  1.00 98.29           C  \nATOM   2083  CD2 TYR C  60       3.341 -10.302   6.947  1.00 98.29           C  \nATOM   2084  CE1 TYR C  60       2.454 -10.659   9.547  1.00 98.29           C  \nATOM   2085  CE2 TYR C  60       2.989  -9.199   7.717  1.00 98.29           C  \nATOM   2086  OH  TYR C  60       2.198  -8.298   9.782  1.00 98.29           O  \nATOM   2087  CZ  TYR C  60       2.548  -9.387   9.014  1.00 98.29           C  \nATOM   2088  N   LYS C  61       3.984 -15.814   5.671  1.00 98.13           N  \nATOM   2089  CA  LYS C  61       3.983 -16.562   4.417  1.00 98.13           C  \nATOM   2090  C   LYS C  61       3.845 -18.060   4.671  1.00 98.13           C  \nATOM   2091  CB  LYS C  61       5.260 -16.281   3.623  1.00 98.13           C  \nATOM   2092  O   LYS C  61       3.514 -18.821   3.760  1.00 98.13           O  \nATOM   2093  CG  LYS C  61       5.414 -14.829   3.193  1.00 98.13           C  \nATOM   2094  CD  LYS C  61       6.722 -14.604   2.444  1.00 98.13           C  \nATOM   2095  CE  LYS C  61       6.932 -13.133   2.114  1.00 98.13           C  \nATOM   2096  NZ  LYS C  61       8.228 -12.903   1.408  1.00 98.13           N  \nATOM   2097  N   VAL C  62       4.090 -18.501   5.872  1.00 98.39           N  \nATOM   2098  CA  VAL C  62       4.060 -19.936   6.134  1.00 98.39           C  \nATOM   2099  C   VAL C  62       2.966 -20.253   7.151  1.00 98.39           C  \nATOM   2100  CB  VAL C  62       5.426 -20.449   6.643  1.00 98.39           C  \nATOM   2101  O   VAL C  62       1.934 -20.832   6.802  1.00 98.39           O  \nATOM   2102  CG1 VAL C  62       5.412 -21.970   6.788  1.00 98.39           C  \nATOM   2103  CG2 VAL C  62       6.545 -20.009   5.701  1.00 98.39           C  \nATOM   2104  N   ALA C  63       3.075 -19.783   8.358  1.00 97.94           N  \nATOM   2105  CA  ALA C  63       2.125 -20.096   9.423  1.00 97.94           C  \nATOM   2106  C   ALA C  63       0.719 -19.631   9.057  1.00 97.94           C  \nATOM   2107  CB  ALA C  63       2.569 -19.456  10.736  1.00 97.94           C  \nATOM   2108  O   ALA C  63      -0.255 -20.361   9.257  1.00 97.94           O  \nATOM   2109  N   ALA C  64       0.634 -18.531   8.497  1.00 97.29           N  \nATOM   2110  CA  ALA C  64      -0.651 -17.916   8.173  1.00 97.29           C  \nATOM   2111  C   ALA C  64      -1.412 -18.746   7.143  1.00 97.29           C  \nATOM   2112  CB  ALA C  64      -0.446 -16.493   7.659  1.00 97.29           C  \nATOM   2113  O   ALA C  64      -2.635 -18.634   7.027  1.00 97.29           O  \nATOM   2114  N   PHE C  65      -0.664 -19.538   6.417  1.00 96.00           N  \nATOM   2115  CA  PHE C  65      -1.297 -20.261   5.321  1.00 96.00           C  \nATOM   2116  C   PHE C  65      -1.265 -21.764   5.574  1.00 96.00           C  \nATOM   2117  CB  PHE C  65      -0.607 -19.938   3.992  1.00 96.00           C  \nATOM   2118  O   PHE C  65      -1.673 -22.552   4.719  1.00 96.00           O  \nATOM   2119  CG  PHE C  65      -0.729 -18.496   3.580  1.00 96.00           C  \nATOM   2120  CD1 PHE C  65      -1.882 -18.031   2.960  1.00 96.00           C  \nATOM   2121  CD2 PHE C  65       0.310 -17.604   3.814  1.00 96.00           C  \nATOM   2122  CE1 PHE C  65      -1.998 -16.697   2.577  1.00 96.00           C  \nATOM   2123  CE2 PHE C  65       0.201 -16.269   3.434  1.00 96.00           C  \nATOM   2124  CZ  PHE C  65      -0.953 -15.818   2.815  1.00 96.00           C  \nATOM   2125  N   GLY C  66      -0.743 -22.123   6.642  1.00 93.55           N  \nATOM   2126  CA  GLY C  66      -0.710 -23.526   7.022  1.00 93.55           C  \nATOM   2127  C   GLY C  66       0.267 -24.344   6.199  1.00 93.55           C  \nATOM   2128  O   GLY C  66       0.087 -25.552   6.033  1.00 93.55           O  \nATOM   2129  N   HIS C  67       1.202 -23.809   5.573  1.00 96.32           N  \nATOM   2130  CA  HIS C  67       2.227 -24.546   4.843  1.00 96.32           C  \nATOM   2131  C   HIS C  67       3.120 -25.336   5.794  1.00 96.32           C  \nATOM   2132  CB  HIS C  67       3.073 -23.593   3.998  1.00 96.32           C  \nATOM   2133  O   HIS C  67       3.285 -24.957   6.956  1.00 96.32           O  \nATOM   2134  CG  HIS C  67       2.302 -22.904   2.917  1.00 96.32           C  \nATOM   2135  CD2 HIS C  67       2.264 -21.603   2.543  1.00 96.32           C  \nATOM   2136  ND1 HIS C  67       1.440 -23.573   2.076  1.00 96.32           N  \nATOM   2137  CE1 HIS C  67       0.903 -22.711   1.229  1.00 96.32           C  \nATOM   2138  NE2 HIS C  67       1.387 -21.509   1.491  1.00 96.32           N  \nATOM   2139  N   ASP C  68       3.732 -26.354   5.294  1.00 96.26           N  \nATOM   2140  CA  ASP C  68       4.613 -27.182   6.112  1.00 96.26           C  \nATOM   2141  C   ASP C  68       6.038 -26.633   6.114  1.00 96.26           C  \nATOM   2142  CB  ASP C  68       4.607 -28.628   5.612  1.00 96.26           C  \nATOM   2143  O   ASP C  68       6.729 -26.683   5.094  1.00 96.26           O  \nATOM   2144  CG  ASP C  68       5.400 -29.567   6.504  1.00 96.26           C  \nATOM   2145  OD1 ASP C  68       6.047 -29.095   7.464  1.00 96.26           O  \nATOM   2146  OD2 ASP C  68       5.380 -30.789   6.243  1.00 96.26           O  \nATOM   2147  N   PRO C  69       6.457 -26.170   7.255  1.00 98.10           N  \nATOM   2148  CA  PRO C  69       7.802 -25.595   7.321  1.00 98.10           C  \nATOM   2149  C   PRO C  69       8.897 -26.623   7.044  1.00 98.10           C  \nATOM   2150  CB  PRO C  69       7.893 -25.074   8.758  1.00 98.10           C  \nATOM   2151  O   PRO C  69      10.042 -26.253   6.772  1.00 98.10           O  \nATOM   2152  CG  PRO C  69       6.474 -24.973   9.217  1.00 98.10           C  \nATOM   2153  CD  PRO C  69       5.672 -26.039   8.529  1.00 98.10           C  \nATOM   2154  N   LYS C  70       8.609 -27.837   7.117  1.00 97.03           N  \nATOM   2155  CA  LYS C  70       9.600 -28.882   6.883  1.00 97.03           C  \nATOM   2156  C   LYS C  70       9.804 -29.124   5.390  1.00 97.03           C  \nATOM   2157  CB  LYS C  70       9.182 -30.182   7.572  1.00 97.03           C  \nATOM   2158  O   LYS C  70      10.803 -29.720   4.983  1.00 97.03           O  \nATOM   2159  CG  LYS C  70       9.147 -30.095   9.090  1.00 97.03           C  \nATOM   2160  CD  LYS C  70       8.614 -31.380   9.712  1.00 97.03           C  \nATOM   2161  CE  LYS C  70       8.403 -31.231  11.213  1.00 97.03           C  \nATOM   2162  NZ  LYS C  70       7.744 -32.434  11.802  1.00 97.03           N  \nATOM   2163  N   THR C  71       8.886 -28.663   4.574  1.00 96.32           N  \nATOM   2164  CA  THR C  71       8.973 -28.838   3.128  1.00 96.32           C  \nATOM   2165  C   THR C  71       9.296 -27.514   2.442  1.00 96.32           C  \nATOM   2166  CB  THR C  71       7.664 -29.410   2.555  1.00 96.32           C  \nATOM   2167  O   THR C  71      10.076 -27.477   1.488  1.00 96.32           O  \nATOM   2168  CG2 THR C  71       7.306 -30.736   3.217  1.00 96.32           C  \nATOM   2169  OG1 THR C  71       6.601 -28.475   2.779  1.00 96.32           O  \nATOM   2170  N   MET C  72       8.769 -26.480   2.962  1.00 97.95           N  \nATOM   2171  CA  MET C  72       9.037 -25.171   2.371  1.00 97.95           C  \nATOM   2172  C   MET C  72      10.461 -24.719   2.676  1.00 97.95           C  \nATOM   2173  CB  MET C  72       8.038 -24.134   2.884  1.00 97.95           C  \nATOM   2174  O   MET C  72      10.984 -24.986   3.759  1.00 97.95           O  \nATOM   2175  CG  MET C  72       8.003 -22.856   2.062  1.00 97.95           C  \nATOM   2176  SD  MET C  72       6.623 -21.747   2.543  1.00 97.95           S  \nATOM   2177  CE  MET C  72       5.221 -22.654   1.833  1.00 97.95           C  \nATOM   2178  N   ARG C  73      11.048 -24.044   1.701  1.00 98.49           N  \nATOM   2179  CA  ARG C  73      12.454 -23.673   1.818  1.00 98.49           C  \nATOM   2180  C   ARG C  73      12.608 -22.170   2.028  1.00 98.49           C  \nATOM   2181  CB  ARG C  73      13.232 -24.110   0.575  1.00 98.49           C  \nATOM   2182  O   ARG C  73      11.719 -21.394   1.671  1.00 98.49           O  \nATOM   2183  CG  ARG C  73      13.088 -25.588   0.247  1.00 98.49           C  \nATOM   2184  CD  ARG C  73      13.787 -26.464   1.277  1.00 98.49           C  \nATOM   2185  NE  ARG C  73      13.743 -27.875   0.903  1.00 98.49           N  \nATOM   2186  NH1 ARG C  73      15.838 -28.376   1.738  1.00 98.49           N  \nATOM   2187  NH2 ARG C  73      14.572 -30.011   0.749  1.00 98.49           N  \nATOM   2188  CZ  ARG C  73      14.718 -28.751   1.131  1.00 98.49           C  \nATOM   2189  N   VAL C  74      13.724 -21.757   2.541  1.00 98.71           N  \nATOM   2190  CA  VAL C  74      14.025 -20.370   2.878  1.00 98.71           C  \nATOM   2191  C   VAL C  74      14.018 -19.517   1.612  1.00 98.71           C  \nATOM   2192  CB  VAL C  74      15.386 -20.244   3.599  1.00 98.71           C  \nATOM   2193  O   VAL C  74      13.491 -18.402   1.609  1.00 98.71           O  \nATOM   2194  CG1 VAL C  74      15.863 -18.793   3.602  1.00 98.71           C  \nATOM   2195  CG2 VAL C  74      15.285 -20.779   5.026  1.00 98.71           C  \nATOM   2196  N   TYR C  75      14.498 -20.016   0.501  1.00 97.56           N  \nATOM   2197  CA  TYR C  75      14.592 -19.219  -0.717  1.00 97.56           C  \nATOM   2198  C   TYR C  75      13.208 -18.882  -1.257  1.00 97.56           C  \nATOM   2199  CB  TYR C  75      15.403 -19.960  -1.784  1.00 97.56           C  \nATOM   2200  O   TYR C  75      13.062 -17.989  -2.095  1.00 97.56           O  \nATOM   2201  CG  TYR C  75      14.692 -21.159  -2.362  1.00 97.56           C  \nATOM   2202  CD1 TYR C  75      15.040 -22.453  -1.979  1.00 97.56           C  \nATOM   2203  CD2 TYR C  75      13.671 -21.002  -3.294  1.00 97.56           C  \nATOM   2204  CE1 TYR C  75      14.388 -23.560  -2.511  1.00 97.56           C  \nATOM   2205  CE2 TYR C  75      13.013 -22.102  -3.833  1.00 97.56           C  \nATOM   2206  OH  TYR C  75      12.729 -24.469  -3.965  1.00 97.56           O  \nATOM   2207  CZ  TYR C  75      13.378 -23.376  -3.435  1.00 97.56           C  \nATOM   2208  N   GLU C  76      12.188 -19.574  -0.796  1.00 97.98           N  \nATOM   2209  CA  GLU C  76      10.824 -19.332  -1.259  1.00 97.98           C  \nATOM   2210  C   GLU C  76      10.206 -18.131  -0.549  1.00 97.98           C  \nATOM   2211  CB  GLU C  76       9.956 -20.574  -1.046  1.00 97.98           C  \nATOM   2212  O   GLU C  76       9.238 -17.545  -1.038  1.00 97.98           O  \nATOM   2213  CG  GLU C  76      10.400 -21.782  -1.858  1.00 97.98           C  \nATOM   2214  CD  GLU C  76       9.610 -23.042  -1.541  1.00 97.98           C  \nATOM   2215  OE1 GLU C  76      10.115 -23.900  -0.783  1.00 97.98           O  \nATOM   2216  OE2 GLU C  76       8.477 -23.172  -2.056  1.00 97.98           O  \nATOM   2217  N   ILE C  77      10.746 -17.707   0.618  1.00 98.34           N  \nATOM   2218  CA  ILE C  77      10.062 -16.681   1.397  1.00 98.34           C  \nATOM   2219  C   ILE C  77      11.038 -15.558   1.742  1.00 98.34           C  \nATOM   2220  CB  ILE C  77       9.443 -17.267   2.685  1.00 98.34           C  \nATOM   2221  O   ILE C  77      10.634 -14.511   2.253  1.00 98.34           O  \nATOM   2222  CG1 ILE C  77      10.536 -17.856   3.583  1.00 98.34           C  \nATOM   2223  CG2 ILE C  77       8.386 -18.322   2.345  1.00 98.34           C  \nATOM   2224  CD1 ILE C  77      10.109 -18.053   5.031  1.00 98.34           C  \nATOM   2225  N   MET C  78      12.280 -15.666   1.471  1.00 98.22           N  \nATOM   2226  CA  MET C  78      13.318 -14.711   1.849  1.00 98.22           C  \nATOM   2227  C   MET C  78      13.266 -13.472   0.962  1.00 98.22           C  \nATOM   2228  CB  MET C  78      14.701 -15.358   1.764  1.00 98.22           C  \nATOM   2229  O   MET C  78      12.637 -13.488  -0.098  1.00 98.22           O  \nATOM   2230  CG  MET C  78      15.141 -15.681   0.345  1.00 98.22           C  \nATOM   2231  SD  MET C  78      16.810 -16.441   0.282  1.00 98.22           S  \nATOM   2232  CE  MET C  78      17.019 -16.603  -1.513  1.00 98.22           C  \nATOM   2233  N   ALA C  79      13.912 -12.396   1.451  1.00 97.74           N  \nATOM   2234  CA  ALA C  79      14.242 -11.243   0.617  1.00 97.74           C  \nATOM   2235  C   ALA C  79      15.688 -11.313   0.132  1.00 97.74           C  \nATOM   2236  CB  ALA C  79      14.005  -9.945   1.385  1.00 97.74           C  \nATOM   2237  O   ALA C  79      16.622 -11.265   0.936  1.00 97.74           O  \nATOM   2238  N   LYS C  80      15.867 -11.441  -1.136  1.00 96.68           N  \nATOM   2239  CA  LYS C  80      17.187 -11.496  -1.759  1.00 96.68           C  \nATOM   2240  C   LYS C  80      17.159 -10.891  -3.160  1.00 96.68           C  \nATOM   2241  CB  LYS C  80      17.692 -12.938  -1.821  1.00 96.68           C  \nATOM   2242  O   LYS C  80      16.436 -11.371  -4.035  1.00 96.68           O  \nATOM   2243  CG  LYS C  80      19.129 -13.070  -2.302  1.00 96.68           C  \nATOM   2244  CD  LYS C  80      19.658 -14.484  -2.101  1.00 96.68           C  \nATOM   2245  CE  LYS C  80      21.118 -14.601  -2.518  1.00 96.68           C  \nATOM   2246  NZ  LYS C  80      21.710 -15.908  -2.104  1.00 96.68           N  \nATOM   2247  N   PRO C  81      17.929  -9.867  -3.494  1.00 95.52           N  \nATOM   2248  CA  PRO C  81      18.783  -9.126  -2.562  1.00 95.52           C  \nATOM   2249  C   PRO C  81      17.983  -8.349  -1.520  1.00 95.52           C  \nATOM   2250  CB  PRO C  81      19.560  -8.174  -3.475  1.00 95.52           C  \nATOM   2251  O   PRO C  81      16.769  -8.181  -1.667  1.00 95.52           O  \nATOM   2252  CG  PRO C  81      18.652  -7.935  -4.638  1.00 95.52           C  \nATOM   2253  CD  PRO C  81      17.816  -9.164  -4.852  1.00 95.52           C  \nATOM   2254  N   CYS C  82      18.588  -8.044  -0.463  1.00 95.15           N  \nATOM   2255  CA  CYS C  82      17.959  -7.221   0.564  1.00 95.15           C  \nATOM   2256  C   CYS C  82      18.595  -5.837   0.619  1.00 95.15           C  \nATOM   2257  CB  CYS C  82      18.065  -7.896   1.931  1.00 95.15           C  \nATOM   2258  O   CYS C  82      19.692  -5.632   0.097  1.00 95.15           O  \nATOM   2259  SG  CYS C  82      19.762  -8.251   2.438  1.00 95.15           S  \nATOM   2260  N   VAL C  83      17.835  -4.817   1.137  1.00 95.52           N  \nATOM   2261  CA  VAL C  83      18.381  -3.491   1.410  1.00 95.52           C  \nATOM   2262  C   VAL C  83      19.506  -3.597   2.437  1.00 95.52           C  \nATOM   2263  CB  VAL C  83      17.289  -2.521   1.915  1.00 95.52           C  \nATOM   2264  O   VAL C  83      19.390  -4.331   3.421  1.00 95.52           O  \nATOM   2265  CG1 VAL C  83      17.897  -1.171   2.288  1.00 95.52           C  \nATOM   2266  CG2 VAL C  83      16.201  -2.347   0.857  1.00 95.52           C  \nATOM   2267  N   VAL C  84      20.537  -2.920   2.151  1.00 95.10           N  \nATOM   2268  CA  VAL C  84      21.684  -2.974   3.051  1.00 95.10           C  \nATOM   2269  C   VAL C  84      21.962  -1.584   3.619  1.00 95.10           C  \nATOM   2270  CB  VAL C  84      22.941  -3.518   2.336  1.00 95.10           C  \nATOM   2271  O   VAL C  84      21.565  -0.575   3.030  1.00 95.10           O  \nATOM   2272  CG1 VAL C  84      22.698  -4.935   1.820  1.00 95.10           C  \nATOM   2273  CG2 VAL C  84      23.346  -2.592   1.191  1.00 95.10           C  \nATOM   2274  N   VAL C  85      22.632  -1.539   4.792  1.00 95.60           N  \nATOM   2275  CA  VAL C  85      22.938  -0.286   5.473  1.00 95.60           C  \nATOM   2276  C   VAL C  85      24.451  -0.083   5.527  1.00 95.60           C  \nATOM   2277  CB  VAL C  85      22.345  -0.256   6.899  1.00 95.60           C  \nATOM   2278  O   VAL C  85      25.197  -1.014   5.841  1.00 95.60           O  \nATOM   2279  CG1 VAL C  85      22.870   0.950   7.677  1.00 95.60           C  \nATOM   2280  CG2 VAL C  85      20.819  -0.236   6.842  1.00 95.60           C  \nATOM   2281  N   ASN C  86      24.929   1.110   5.227  1.00 93.40           N  \nATOM   2282  CA  ASN C  86      26.316   1.513   5.435  1.00 93.40           C  \nATOM   2283  C   ASN C  86      26.644   1.648   6.919  1.00 93.40           C  \nATOM   2284  CB  ASN C  86      26.609   2.825   4.705  1.00 93.40           C  \nATOM   2285  O   ASN C  86      25.899   2.281   7.669  1.00 93.40           O  \nATOM   2286  CG  ASN C  86      28.069   3.224   4.786  1.00 93.40           C  \nATOM   2287  ND2 ASN C  86      28.592   3.785   3.702  1.00 93.40           N  \nATOM   2288  OD1 ASN C  86      28.723   3.029   5.815  1.00 93.40           O  \nATOM   2289  N   PRO C  87      27.759   1.053   7.341  1.00 94.80           N  \nATOM   2290  CA  PRO C  87      28.094   1.104   8.766  1.00 94.80           C  \nATOM   2291  C   PRO C  87      28.287   2.530   9.276  1.00 94.80           C  \nATOM   2292  CB  PRO C  87      29.402   0.313   8.849  1.00 94.80           C  \nATOM   2293  O   PRO C  87      28.081   2.799  10.462  1.00 94.80           O  \nATOM   2294  CG  PRO C  87      29.951   0.336   7.459  1.00 94.80           C  \nATOM   2295  CD  PRO C  87      28.802   0.384   6.493  1.00 94.80           C  \nATOM   2296  N   GLU C  88      28.556   3.452   8.424  1.00 93.21           N  \nATOM   2297  CA  GLU C  88      28.841   4.823   8.838  1.00 93.21           C  \nATOM   2298  C   GLU C  88      27.596   5.699   8.742  1.00 93.21           C  \nATOM   2299  CB  GLU C  88      29.969   5.416   7.989  1.00 93.21           C  \nATOM   2300  O   GLU C  88      27.648   6.895   9.035  1.00 93.21           O  \nATOM   2301  CG  GLU C  88      31.296   4.685   8.133  1.00 93.21           C  \nATOM   2302  CD  GLU C  88      32.368   5.198   7.184  1.00 93.21           C  \nATOM   2303  OE1 GLU C  88      33.543   4.785   7.316  1.00 93.21           O  \nATOM   2304  OE2 GLU C  88      32.031   6.019   6.302  1.00 93.21           O  \nATOM   2305  N   LEU C  89      26.542   5.112   8.323  1.00 93.23           N  \nATOM   2306  CA  LEU C  89      25.301   5.872   8.215  1.00 93.23           C  \nATOM   2307  C   LEU C  89      24.786   6.271   9.593  1.00 93.23           C  \nATOM   2308  CB  LEU C  89      24.237   5.058   7.475  1.00 93.23           C  \nATOM   2309  O   LEU C  89      24.787   5.457  10.520  1.00 93.23           O  \nATOM   2310  CG  LEU C  89      22.999   5.825   7.007  1.00 93.23           C  \nATOM   2311  CD1 LEU C  89      23.392   6.900   5.999  1.00 93.23           C  \nATOM   2312  CD2 LEU C  89      21.973   4.871   6.407  1.00 93.23           C  \nATOM   2313  N   GLY C  90      24.278   7.529   9.713  1.00 92.86           N  \nATOM   2314  CA  GLY C  90      23.691   7.979  10.965  1.00 92.86           C  \nATOM   2315  C   GLY C  90      22.408   7.250  11.318  1.00 92.86           C  \nATOM   2316  O   GLY C  90      21.629   6.891  10.434  1.00 92.86           O  \nATOM   2317  N   VAL C  91      22.173   7.153  12.536  1.00 94.81           N  \nATOM   2318  CA  VAL C  91      21.073   6.343  13.049  1.00 94.81           C  \nATOM   2319  C   VAL C  91      19.740   6.934  12.597  1.00 94.81           C  \nATOM   2320  CB  VAL C  91      21.115   6.239  14.590  1.00 94.81           C  \nATOM   2321  O   VAL C  91      18.801   6.198  12.285  1.00 94.81           O  \nATOM   2322  CG1 VAL C  91      19.847   5.575  15.121  1.00 94.81           C  \nATOM   2323  CG2 VAL C  91      22.355   5.468  15.039  1.00 94.81           C  \nATOM   2324  N   GLU C  92      19.615   8.195  12.581  1.00 94.36           N  \nATOM   2325  CA  GLU C  92      18.370   8.815  12.138  1.00 94.36           C  \nATOM   2326  C   GLU C  92      18.093   8.509  10.669  1.00 94.36           C  \nATOM   2327  CB  GLU C  92      18.413  10.329  12.362  1.00 94.36           C  \nATOM   2328  O   GLU C  92      16.941   8.311  10.277  1.00 94.36           O  \nATOM   2329  CG  GLU C  92      18.444  10.733  13.828  1.00 94.36           C  \nATOM   2330  CD  GLU C  92      19.840  10.704  14.430  1.00 94.36           C  \nATOM   2331  OE1 GLU C  92      19.996  11.065  15.619  1.00 94.36           O  \nATOM   2332  OE2 GLU C  92      20.785  10.319  13.706  1.00 94.36           O  \nATOM   2333  N   TYR C  93      19.132   8.496   9.926  1.00 95.11           N  \nATOM   2334  CA  TYR C  93      18.980   8.164   8.514  1.00 95.11           C  \nATOM   2335  C   TYR C  93      18.630   6.692   8.334  1.00 95.11           C  \nATOM   2336  CB  TYR C  93      20.262   8.494   7.743  1.00 95.11           C  \nATOM   2337  O   TYR C  93      17.896   6.330   7.411  1.00 95.11           O  \nATOM   2338  CG  TYR C  93      20.446   9.968   7.474  1.00 95.11           C  \nATOM   2339  CD1 TYR C  93      19.474  10.699   6.794  1.00 95.11           C  \nATOM   2340  CD2 TYR C  93      21.592  10.632   7.897  1.00 95.11           C  \nATOM   2341  CE1 TYR C  93      19.640  12.057   6.542  1.00 95.11           C  \nATOM   2342  CE2 TYR C  93      21.769  11.990   7.651  1.00 95.11           C  \nATOM   2343  OH  TYR C  93      20.959  14.037   6.727  1.00 95.11           O  \nATOM   2344  CZ  TYR C  93      20.789  12.692   6.974  1.00 95.11           C  \nATOM   2345  N   VAL C  94      19.159   5.821   9.200  1.00 96.87           N  \nATOM   2346  CA  VAL C  94      18.733   4.425   9.180  1.00 96.87           C  \nATOM   2347  C   VAL C  94      17.233   4.338   9.450  1.00 96.87           C  \nATOM   2348  CB  VAL C  94      19.511   3.580  10.213  1.00 96.87           C  \nATOM   2349  O   VAL C  94      16.505   3.654   8.727  1.00 96.87           O  \nATOM   2350  CG1 VAL C  94      19.063   2.120  10.163  1.00 96.87           C  \nATOM   2351  CG2 VAL C  94      21.015   3.689   9.968  1.00 96.87           C  \nATOM   2352  N   ALA C  95      16.831   5.073  10.474  1.00 98.08           N  \nATOM   2353  CA  ALA C  95      15.405   5.115  10.791  1.00 98.08           C  \nATOM   2354  C   ALA C  95      14.589   5.577   9.587  1.00 98.08           C  \nATOM   2355  CB  ALA C  95      15.152   6.031  11.985  1.00 98.08           C  \nATOM   2356  O   ALA C  95      13.557   4.984   9.264  1.00 98.08           O  \nATOM   2357  N   ARG C  96      15.013   6.595   8.938  1.00 97.77           N  \nATOM   2358  CA  ARG C  96      14.312   7.138   7.779  1.00 97.77           C  \nATOM   2359  C   ARG C  96      14.297   6.136   6.629  1.00 97.77           C  \nATOM   2360  CB  ARG C  96      14.958   8.448   7.324  1.00 97.77           C  \nATOM   2361  O   ARG C  96      13.287   5.993   5.937  1.00 97.77           O  \nATOM   2362  CG  ARG C  96      14.164   9.190   6.262  1.00 97.77           C  \nATOM   2363  CD  ARG C  96      14.728  10.580   6.004  1.00 97.77           C  \nATOM   2364  NE  ARG C  96      14.143  11.188   4.812  1.00 97.77           N  \nATOM   2365  NH1 ARG C  96      12.453  12.280   5.946  1.00 97.77           N  \nATOM   2366  NH2 ARG C  96      12.627  12.479   3.669  1.00 97.77           N  \nATOM   2367  CZ  ARG C  96      13.076  11.981   4.812  1.00 97.77           C  \nATOM   2368  N   LEU C  97      15.418   5.445   6.428  1.00 97.62           N  \nATOM   2369  CA  LEU C  97      15.481   4.406   5.406  1.00 97.62           C  \nATOM   2370  C   LEU C  97      14.454   3.313   5.678  1.00 97.62           C  \nATOM   2371  CB  LEU C  97      16.885   3.799   5.344  1.00 97.62           C  \nATOM   2372  O   LEU C  97      13.737   2.888   4.769  1.00 97.62           O  \nATOM   2373  CG  LEU C  97      17.120   2.742   4.264  1.00 97.62           C  \nATOM   2374  CD1 LEU C  97      16.941   3.351   2.878  1.00 97.62           C  \nATOM   2375  CD2 LEU C  97      18.509   2.129   4.409  1.00 97.62           C  \nATOM   2376  N   PHE C  98      14.354   2.887   6.913  1.00 98.14           N  \nATOM   2377  CA  PHE C  98      13.373   1.881   7.301  1.00 98.14           C  \nATOM   2378  C   PHE C  98      11.955   2.383   7.052  1.00 98.14           C  \nATOM   2379  CB  PHE C  98      13.544   1.503   8.775  1.00 98.14           C  \nATOM   2380  O   PHE C  98      11.125   1.662   6.495  1.00 98.14           O  \nATOM   2381  CG  PHE C  98      14.730   0.616   9.041  1.00 98.14           C  \nATOM   2382  CD1 PHE C  98      15.489   0.114   7.991  1.00 98.14           C  \nATOM   2383  CD2 PHE C  98      15.088   0.286  10.341  1.00 98.14           C  \nATOM   2384  CE1 PHE C  98      16.588  -0.707   8.233  1.00 98.14           C  \nATOM   2385  CE2 PHE C  98      16.185  -0.534  10.592  1.00 98.14           C  \nATOM   2386  CZ  PHE C  98      16.933  -1.030   9.536  1.00 98.14           C  \nATOM   2387  N   ALA C  99      11.751   3.610   7.430  1.00 97.84           N  \nATOM   2388  CA  ALA C  99      10.424   4.189   7.235  1.00 97.84           C  \nATOM   2389  C   ALA C  99      10.066   4.256   5.753  1.00 97.84           C  \nATOM   2390  CB  ALA C  99      10.354   5.581   7.859  1.00 97.84           C  \nATOM   2391  O   ALA C  99       8.950   3.908   5.362  1.00 97.84           O  \nATOM   2392  N   GLN C 100      10.953   4.623   4.909  1.00 96.04           N  \nATOM   2393  CA  GLN C 100      10.714   4.802   3.481  1.00 96.04           C  \nATOM   2394  C   GLN C 100      10.524   3.459   2.783  1.00 96.04           C  \nATOM   2395  CB  GLN C 100      11.867   5.571   2.835  1.00 96.04           C  \nATOM   2396  O   GLN C 100       9.704   3.338   1.870  1.00 96.04           O  \nATOM   2397  CG  GLN C 100      11.894   7.052   3.189  1.00 96.04           C  \nATOM   2398  CD  GLN C 100      13.144   7.752   2.691  1.00 96.04           C  \nATOM   2399  NE2 GLN C 100      13.133   9.081   2.725  1.00 96.04           N  \nATOM   2400  OE1 GLN C 100      14.112   7.105   2.280  1.00 96.04           O  \nATOM   2401  N   THR C 101      11.273   2.455   3.225  1.00 96.60           N  \nATOM   2402  CA  THR C 101      11.249   1.160   2.554  1.00 96.60           C  \nATOM   2403  C   THR C 101      10.308   0.196   3.271  1.00 96.60           C  \nATOM   2404  CB  THR C 101      12.659   0.544   2.478  1.00 96.60           C  \nATOM   2405  O   THR C 101      10.056  -0.909   2.786  1.00 96.60           O  \nATOM   2406  CG2 THR C 101      13.601   1.426   1.664  1.00 96.60           C  \nATOM   2407  OG1 THR C 101      13.183   0.401   3.804  1.00 96.60           O  \nATOM   2408  N   ARG C 102       9.878   0.508   4.476  1.00 95.93           N  \nATOM   2409  CA  ARG C 102       8.947  -0.266   5.290  1.00 95.93           C  \nATOM   2410  C   ARG C 102       9.567  -1.592   5.719  1.00 95.93           C  \nATOM   2411  CB  ARG C 102       7.646  -0.520   4.526  1.00 95.93           C  \nATOM   2412  O   ARG C 102       8.893  -2.624   5.731  1.00 95.93           O  \nATOM   2413  CG  ARG C 102       6.870   0.745   4.194  1.00 95.93           C  \nATOM   2414  CD  ARG C 102       6.244   1.364   5.435  1.00 95.93           C  \nATOM   2415  NE  ARG C 102       5.360   2.476   5.096  1.00 95.93           N  \nATOM   2416  NH1 ARG C 102       4.380   2.606   7.184  1.00 95.93           N  \nATOM   2417  NH2 ARG C 102       3.738   4.046   5.521  1.00 95.93           N  \nATOM   2418  CZ  ARG C 102       4.495   3.040   5.934  1.00 95.93           C  \nATOM   2419  N   ILE C 103      10.861  -1.538   5.938  1.00 96.47           N  \nATOM   2420  CA  ILE C 103      11.535  -2.683   6.540  1.00 96.47           C  \nATOM   2421  C   ILE C 103      11.896  -2.365   7.989  1.00 96.47           C  \nATOM   2422  CB  ILE C 103      12.800  -3.077   5.746  1.00 96.47           C  \nATOM   2423  O   ILE C 103      11.813  -1.212   8.418  1.00 96.47           O  \nATOM   2424  CG1 ILE C 103      13.833  -1.945   5.791  1.00 96.47           C  \nATOM   2425  CG2 ILE C 103      12.442  -3.435   4.301  1.00 96.47           C  \nATOM   2426  CD1 ILE C 103      15.174  -2.305   5.166  1.00 96.47           C  \nATOM   2427  N   ARG C 104      12.257  -3.375   8.747  1.00 96.60           N  \nATOM   2428  CA  ARG C 104      12.486  -3.170  10.173  1.00 96.60           C  \nATOM   2429  C   ARG C 104      13.887  -3.620  10.573  1.00 96.60           C  \nATOM   2430  CB  ARG C 104      11.439  -3.921  10.999  1.00 96.60           C  \nATOM   2431  O   ARG C 104      14.309  -3.413  11.713  1.00 96.60           O  \nATOM   2432  CG  ARG C 104      10.019  -3.414  10.802  1.00 96.60           C  \nATOM   2433  CD  ARG C 104       8.992  -4.367  11.397  1.00 96.60           C  \nATOM   2434  NE  ARG C 104       7.629  -3.974  11.053  1.00 96.60           N  \nATOM   2435  NH1 ARG C 104       6.620  -5.722  12.178  1.00 96.60           N  \nATOM   2436  NH2 ARG C 104       5.342  -4.181  11.061  1.00 96.60           N  \nATOM   2437  CZ  ARG C 104       6.533  -4.627  11.431  1.00 96.60           C  \nATOM   2438  N   ARG C 105      14.506  -4.278   9.652  1.00 97.34           N  \nATOM   2439  CA  ARG C 105      15.870  -4.739   9.889  1.00 97.34           C  \nATOM   2440  C   ARG C 105      16.629  -4.899   8.576  1.00 97.34           C  \nATOM   2441  CB  ARG C 105      15.865  -6.062  10.657  1.00 97.34           C  \nATOM   2442  O   ARG C 105      16.024  -5.140   7.529  1.00 97.34           O  \nATOM   2443  CG  ARG C 105      15.274  -7.225   9.876  1.00 97.34           C  \nATOM   2444  CD  ARG C 105      15.082  -8.454  10.754  1.00 97.34           C  \nATOM   2445  NE  ARG C 105      14.288  -8.150  11.941  1.00 97.34           N  \nATOM   2446  NH1 ARG C 105      15.344  -9.693  13.297  1.00 97.34           N  \nATOM   2447  NH2 ARG C 105      13.654  -8.391  14.136  1.00 97.34           N  \nATOM   2448  CZ  ARG C 105      14.431  -8.745  13.122  1.00 97.34           C  \nATOM   2449  N   ALA C 106      17.910  -4.778   8.687  1.00 97.65           N  \nATOM   2450  CA  ALA C 106      18.772  -4.888   7.513  1.00 97.65           C  \nATOM   2451  C   ALA C 106      20.199  -5.252   7.912  1.00 97.65           C  \nATOM   2452  CB  ALA C 106      18.761  -3.583   6.720  1.00 97.65           C  \nATOM   2453  O   ALA C 106      20.654  -4.900   9.003  1.00 97.65           O  \nATOM   2454  N   PRO C 107      20.868  -5.970   7.015  1.00 97.37           N  \nATOM   2455  CA  PRO C 107      22.289  -6.205   7.278  1.00 97.37           C  \nATOM   2456  C   PRO C 107      23.137  -4.947   7.109  1.00 97.37           C  \nATOM   2457  CB  PRO C 107      22.669  -7.264   6.240  1.00 97.37           C  \nATOM   2458  O   PRO C 107      22.822  -4.093   6.276  1.00 97.37           O  \nATOM   2459  CG  PRO C 107      21.676  -7.090   5.137  1.00 97.37           C  \nATOM   2460  CD  PRO C 107      20.409  -6.532   5.718  1.00 97.37           C  \nATOM   2461  N   VAL C 108      24.123  -4.808   7.956  1.00 96.99           N  \nATOM   2462  CA  VAL C 108      25.141  -3.770   7.840  1.00 96.99           C  \nATOM   2463  C   VAL C 108      26.373  -4.329   7.132  1.00 96.99           C  \nATOM   2464  CB  VAL C 108      25.533  -3.202   9.222  1.00 96.99           C  \nATOM   2465  O   VAL C 108      27.047  -5.220   7.655  1.00 96.99           O  \nATOM   2466  CG1 VAL C 108      26.535  -2.058   9.073  1.00 96.99           C  \nATOM   2467  CG2 VAL C 108      24.291  -2.734   9.978  1.00 96.99           C  \nATOM   2468  N   ILE C 109      26.641  -3.809   5.974  1.00 92.93           N  \nATOM   2469  CA  ILE C 109      27.695  -4.369   5.136  1.00 92.93           C  \nATOM   2470  C   ILE C 109      28.702  -3.279   4.776  1.00 92.93           C  \nATOM   2471  CB  ILE C 109      27.118  -5.009   3.853  1.00 92.93           C  \nATOM   2472  O   ILE C 109      28.317  -2.163   4.420  1.00 92.93           O  \nATOM   2473  CG1 ILE C 109      26.175  -6.164   4.211  1.00 92.93           C  \nATOM   2474  CG2 ILE C 109      28.245  -5.487   2.934  1.00 92.93           C  \nATOM   2475  CD1 ILE C 109      25.493  -6.801   3.008  1.00 92.93           C  \nATOM   2476  N   GLN C 110      30.014  -3.533   4.883  1.00 90.32           N  \nATOM   2477  CA  GLN C 110      31.121  -2.710   4.408  1.00 90.32           C  \nATOM   2478  C   GLN C 110      31.864  -3.394   3.264  1.00 90.32           C  \nATOM   2479  CB  GLN C 110      32.089  -2.400   5.550  1.00 90.32           C  \nATOM   2480  O   GLN C 110      32.568  -4.383   3.477  1.00 90.32           O  \nATOM   2481  CG  GLN C 110      33.180  -1.404   5.179  1.00 90.32           C  \nATOM   2482  CD  GLN C 110      33.946  -0.896   6.386  1.00 90.32           C  \nATOM   2483  NE2 GLN C 110      34.270   0.393   6.383  1.00 90.32           N  \nATOM   2484  OE1 GLN C 110      34.244  -1.655   7.314  1.00 90.32           O  \nATOM   2485  N   GLY C 111      31.685  -2.842   2.047  1.00 83.11           N  \nATOM   2486  CA  GLY C 111      32.207  -3.571   0.902  1.00 83.11           C  \nATOM   2487  C   GLY C 111      31.516  -4.902   0.677  1.00 83.11           C  \nATOM   2488  O   GLY C 111      30.320  -4.944   0.381  1.00 83.11           O  \nATOM   2489  N   LYS C 112      32.347  -5.969   0.941  1.00 83.12           N  \nATOM   2490  CA  LYS C 112      31.792  -7.309   0.773  1.00 83.12           C  \nATOM   2491  C   LYS C 112      31.678  -8.028   2.114  1.00 83.12           C  \nATOM   2492  CB  LYS C 112      32.650  -8.129  -0.191  1.00 83.12           C  \nATOM   2493  O   LYS C 112      31.289  -9.197   2.166  1.00 83.12           O  \nATOM   2494  CG  LYS C 112      32.621  -7.625  -1.627  1.00 83.12           C  \nATOM   2495  CD  LYS C 112      33.320  -8.594  -2.573  1.00 83.12           C  \nATOM   2496  CE  LYS C 112      33.230  -8.126  -4.019  1.00 83.12           C  \nATOM   2497  NZ  LYS C 112      33.877  -9.094  -4.955  1.00 83.12           N  \nATOM   2498  N   THR C 113      31.880  -7.273   3.131  1.00 89.79           N  \nATOM   2499  CA  THR C 113      31.947  -7.916   4.439  1.00 89.79           C  \nATOM   2500  C   THR C 113      30.691  -7.618   5.253  1.00 89.79           C  \nATOM   2501  CB  THR C 113      33.191  -7.459   5.223  1.00 89.79           C  \nATOM   2502  O   THR C 113      30.296  -6.458   5.392  1.00 89.79           O  \nATOM   2503  CG2 THR C 113      33.337  -8.239   6.526  1.00 89.79           C  \nATOM   2504  OG1 THR C 113      34.359  -7.669   4.420  1.00 89.79           O  \nATOM   2505  N   LEU C 114      30.113  -8.627   5.706  1.00 94.10           N  \nATOM   2506  CA  LEU C 114      28.971  -8.506   6.606  1.00 94.10           C  \nATOM   2507  C   LEU C 114      29.428  -8.166   8.021  1.00 94.10           C  \nATOM   2508  CB  LEU C 114      28.157  -9.802   6.618  1.00 94.10           C  \nATOM   2509  O   LEU C 114      30.161  -8.938   8.643  1.00 94.10           O  \nATOM   2510  CG  LEU C 114      26.961  -9.844   7.571  1.00 94.10           C  \nATOM   2511  CD1 LEU C 114      25.901  -8.838   7.134  1.00 94.10           C  \nATOM   2512  CD2 LEU C 114      26.377 -11.251   7.635  1.00 94.10           C  \nATOM   2513  N   LEU C 115      28.990  -7.057   8.643  1.00 95.81           N  \nATOM   2514  CA  LEU C 115      29.432  -6.612   9.960  1.00 95.81           C  \nATOM   2515  C   LEU C 115      28.397  -6.956  11.025  1.00 95.81           C  \nATOM   2516  CB  LEU C 115      29.695  -5.104   9.956  1.00 95.81           C  \nATOM   2517  O   LEU C 115      28.748  -7.207  12.180  1.00 95.81           O  \nATOM   2518  CG  LEU C 115      30.818  -4.614   9.041  1.00 95.81           C  \nATOM   2519  CD1 LEU C 115      31.032  -3.114   9.219  1.00 95.81           C  \nATOM   2520  CD2 LEU C 115      32.107  -5.379   9.319  1.00 95.81           C  \nATOM   2521  N   GLY C 116      27.137  -6.905  10.618  1.00 96.58           N  \nATOM   2522  CA  GLY C 116      26.062  -7.144  11.568  1.00 96.58           C  \nATOM   2523  C   GLY C 116      24.683  -6.913  10.980  1.00 96.58           C  \nATOM   2524  O   GLY C 116      24.504  -6.973   9.762  1.00 96.58           O  \nATOM   2525  N   ILE C 117      23.650  -6.828  11.882  1.00 97.31           N  \nATOM   2526  CA  ILE C 117      22.266  -6.518  11.544  1.00 97.31           C  \nATOM   2527  C   ILE C 117      21.774  -5.352  12.399  1.00 97.31           C  \nATOM   2528  CB  ILE C 117      21.348  -7.746  11.735  1.00 97.31           C  \nATOM   2529  O   ILE C 117      22.075  -5.279  13.593  1.00 97.31           O  \nATOM   2530  CG1 ILE C 117      21.706  -8.842  10.724  1.00 97.31           C  \nATOM   2531  CG2 ILE C 117      19.876  -7.345  11.610  1.00 97.31           C  \nATOM   2532  CD1 ILE C 117      20.921 -10.134  10.909  1.00 97.31           C  \nATOM   2533  N   ILE C 118      21.137  -4.441  11.853  1.00 97.98           N  \nATOM   2534  CA  ILE C 118      20.537  -3.336  12.594  1.00 97.98           C  \nATOM   2535  C   ILE C 118      19.018  -3.386  12.455  1.00 97.98           C  \nATOM   2536  CB  ILE C 118      21.076  -1.972  12.108  1.00 97.98           C  \nATOM   2537  O   ILE C 118      18.496  -3.682  11.377  1.00 97.98           O  \nATOM   2538  CG1 ILE C 118      20.536  -0.840  12.990  1.00 97.98           C  \nATOM   2539  CG2 ILE C 118      20.713  -1.741  10.638  1.00 97.98           C  \nATOM   2540  CD1 ILE C 118      21.288   0.475  12.838  1.00 97.98           C  \nATOM   2541  N   SER C 119      18.321  -3.112  13.498  1.00 97.75           N  \nATOM   2542  CA  SER C 119      16.864  -3.189  13.497  1.00 97.75           C  \nATOM   2543  C   SER C 119      16.246  -1.972  14.177  1.00 97.75           C  \nATOM   2544  CB  SER C 119      16.395  -4.466  14.196  1.00 97.75           C  \nATOM   2545  O   SER C 119      16.955  -1.165  14.781  1.00 97.75           O  \nATOM   2546  OG  SER C 119      16.626  -4.389  15.592  1.00 97.75           O  \nATOM   2547  N   VAL C 120      14.955  -1.853  14.080  1.00 97.87           N  \nATOM   2548  CA  VAL C 120      14.213  -0.809  14.779  1.00 97.87           C  \nATOM   2549  C   VAL C 120      14.425  -0.945  16.285  1.00 97.87           C  \nATOM   2550  CB  VAL C 120      12.706  -0.865  14.446  1.00 97.87           C  \nATOM   2551  O   VAL C 120      14.462   0.055  17.006  1.00 97.87           O  \nATOM   2552  CG1 VAL C 120      12.462  -0.499  12.983  1.00 97.87           C  \nATOM   2553  CG2 VAL C 120      12.142  -2.250  14.755  1.00 97.87           C  \nATOM   2554  N   SER C 121      14.612  -2.143  16.780  1.00 97.12           N  \nATOM   2555  CA  SER C 121      14.875  -2.367  18.197  1.00 97.12           C  \nATOM   2556  C   SER C 121      16.217  -1.774  18.611  1.00 97.12           C  \nATOM   2557  CB  SER C 121      14.847  -3.862  18.518  1.00 97.12           C  \nATOM   2558  O   SER C 121      16.329  -1.159  19.674  1.00 97.12           O  \nATOM   2559  OG  SER C 121      13.558  -4.402  18.285  1.00 97.12           O  \nATOM   2560  N   ASP C 122      17.142  -1.986  17.757  1.00 97.47           N  \nATOM   2561  CA  ASP C 122      18.448  -1.402  18.045  1.00 97.47           C  \nATOM   2562  C   ASP C 122      18.359   0.119  18.144  1.00 97.47           C  \nATOM   2563  CB  ASP C 122      19.463  -1.802  16.973  1.00 97.47           C  \nATOM   2564  O   ASP C 122      18.941   0.723  19.047  1.00 97.47           O  \nATOM   2565  CG  ASP C 122      19.820  -3.277  17.015  1.00 97.47           C  \nATOM   2566  OD1 ASP C 122      19.987  -3.833  18.122  1.00 97.47           O  \nATOM   2567  OD2 ASP C 122      19.938  -3.889  15.931  1.00 97.47           O  \nATOM   2568  N   ILE C 123      17.640   0.701  17.228  1.00 98.06           N  \nATOM   2569  CA  ILE C 123      17.491   2.153  17.225  1.00 98.06           C  \nATOM   2570  C   ILE C 123      16.792   2.602  18.506  1.00 98.06           C  \nATOM   2571  CB  ILE C 123      16.706   2.638  15.987  1.00 98.06           C  \nATOM   2572  O   ILE C 123      17.237   3.544  19.166  1.00 98.06           O  \nATOM   2573  CG1 ILE C 123      17.493   2.341  14.705  1.00 98.06           C  \nATOM   2574  CG2 ILE C 123      16.389   4.132  16.100  1.00 98.06           C  \nATOM   2575  CD1 ILE C 123      16.715   2.611  13.424  1.00 98.06           C  \nATOM   2576  N   LEU C 124      15.797   1.915  18.887  1.00 98.25           N  \nATOM   2577  CA  LEU C 124      15.015   2.299  20.058  1.00 98.25           C  \nATOM   2578  C   LEU C 124      15.828   2.122  21.336  1.00 98.25           C  \nATOM   2579  CB  LEU C 124      13.729   1.471  20.139  1.00 98.25           C  \nATOM   2580  O   LEU C 124      15.876   3.024  22.176  1.00 98.25           O  \nATOM   2581  CG  LEU C 124      12.727   1.880  21.219  1.00 98.25           C  \nATOM   2582  CD1 LEU C 124      11.869   3.044  20.733  1.00 98.25           C  \nATOM   2583  CD2 LEU C 124      11.854   0.694  21.615  1.00 98.25           C  \nATOM   2584  N   PHE C 125      16.512   1.055  21.508  1.00 97.68           N  \nATOM   2585  CA  PHE C 125      17.100   0.672  22.786  1.00 97.68           C  \nATOM   2586  C   PHE C 125      18.518   1.216  22.914  1.00 97.68           C  \nATOM   2587  CB  PHE C 125      17.107  -0.852  22.941  1.00 97.68           C  \nATOM   2588  O   PHE C 125      19.004   1.442  24.025  1.00 97.68           O  \nATOM   2589  CG  PHE C 125      15.758  -1.436  23.265  1.00 97.68           C  \nATOM   2590  CD1 PHE C 125      15.219  -1.309  24.539  1.00 97.68           C  \nATOM   2591  CD2 PHE C 125      15.029  -2.111  22.295  1.00 97.68           C  \nATOM   2592  CE1 PHE C 125      13.971  -1.848  24.842  1.00 97.68           C  \nATOM   2593  CE2 PHE C 125      13.781  -2.652  22.590  1.00 97.68           C  \nATOM   2594  CZ  PHE C 125      13.254  -2.520  23.865  1.00 97.68           C  \nATOM   2595  N   LYS C 126      19.172   1.433  21.788  1.00 97.41           N  \nATOM   2596  CA  LYS C 126      20.608   1.674  21.899  1.00 97.41           C  \nATOM   2597  C   LYS C 126      20.974   3.060  21.376  1.00 97.41           C  \nATOM   2598  CB  LYS C 126      21.392   0.603  21.139  1.00 97.41           C  \nATOM   2599  O   LYS C 126      22.069   3.560  21.643  1.00 97.41           O  \nATOM   2600  CG  LYS C 126      21.120  -0.817  21.614  1.00 97.41           C  \nATOM   2601  CD  LYS C 126      21.898  -1.839  20.795  1.00 97.41           C  \nATOM   2602  CE  LYS C 126      21.481  -3.264  21.135  1.00 97.41           C  \nATOM   2603  NZ  LYS C 126      22.101  -4.258  20.209  1.00 97.41           N  \nATOM   2604  N   SER C 127      20.112   3.717  20.680  1.00 96.38           N  \nATOM   2605  CA  SER C 127      20.480   4.993  20.077  1.00 96.38           C  \nATOM   2606  C   SER C 127      20.198   6.155  21.024  1.00 96.38           C  \nATOM   2607  CB  SER C 127      19.727   5.203  18.762  1.00 96.38           C  \nATOM   2608  O   SER C 127      19.752   5.946  22.154  1.00 96.38           O  \nATOM   2609  OG  SER C 127      18.423   5.702  19.003  1.00 96.38           O  \nATOM   2610  N   ASP C 128      20.553   7.339  20.544  1.00 95.76           N  \nATOM   2611  CA  ASP C 128      20.414   8.526  21.382  1.00 95.76           C  \nATOM   2612  C   ASP C 128      19.420   9.513  20.776  1.00 95.76           C  \nATOM   2613  CB  ASP C 128      21.771   9.203  21.585  1.00 95.76           C  \nATOM   2614  O   ASP C 128      19.539  10.724  20.975  1.00 95.76           O  \nATOM   2615  CG  ASP C 128      22.419   9.633  20.281  1.00 95.76           C  \nATOM   2616  OD1 ASP C 128      21.851   9.365  19.200  1.00 95.76           O  \nATOM   2617  OD2 ASP C 128      23.509  10.243  20.334  1.00 95.76           O  \nATOM   2618  N   PHE C 129      18.465   9.025  20.058  1.00 95.24           N  \nATOM   2619  CA  PHE C 129      17.551   9.919  19.356  1.00 95.24           C  \nATOM   2620  C   PHE C 129      16.640  10.644  20.340  1.00 95.24           C  \nATOM   2621  CB  PHE C 129      16.711   9.140  18.339  1.00 95.24           C  \nATOM   2622  O   PHE C 129      16.082  11.695  20.019  1.00 95.24           O  \nATOM   2623  CG  PHE C 129      15.643   8.283  18.963  1.00 95.24           C  \nATOM   2624  CD1 PHE C 129      15.928   6.987  19.378  1.00 95.24           C  \nATOM   2625  CD2 PHE C 129      14.355   8.772  19.134  1.00 95.24           C  \nATOM   2626  CE1 PHE C 129      14.942   6.191  19.956  1.00 95.24           C  \nATOM   2627  CE2 PHE C 129      13.364   7.982  19.711  1.00 95.24           C  \nATOM   2628  CZ  PHE C 129      13.659   6.692  20.120  1.00 95.24           C  \nATOM   2629  N   VAL C 130      16.444  10.073  21.527  1.00 96.79           N  \nATOM   2630  CA  VAL C 130      15.640  10.742  22.544  1.00 96.79           C  \nATOM   2631  C   VAL C 130      16.430  11.900  23.149  1.00 96.79           C  \nATOM   2632  CB  VAL C 130      15.197   9.762  23.653  1.00 96.79           C  \nATOM   2633  O   VAL C 130      15.908  13.009  23.289  1.00 96.79           O  \nATOM   2634  CG1 VAL C 130      14.508  10.510  24.792  1.00 96.79           C  \nATOM   2635  CG2 VAL C 130      14.274   8.688  23.079  1.00 96.79           C  \nATOM   2636  N   GLU C 131      17.691  11.658  23.443  1.00 94.46           N  \nATOM   2637  CA  GLU C 131      18.545  12.644  24.097  1.00 94.46           C  \nATOM   2638  C   GLU C 131      18.979  13.733  23.119  1.00 94.46           C  \nATOM   2639  CB  GLU C 131      19.775  11.969  24.711  1.00 94.46           C  \nATOM   2640  O   GLU C 131      19.074  14.905  23.490  1.00 94.46           O  \nATOM   2641  CG  GLU C 131      19.446  11.001  25.838  1.00 94.46           C  \nATOM   2642  CD  GLU C 131      18.953   9.650  25.344  1.00 94.46           C  \nATOM   2643  OE1 GLU C 131      18.368   8.887  26.146  1.00 94.46           O  \nATOM   2644  OE2 GLU C 131      19.154   9.352  24.146  1.00 94.46           O  \nATOM   2645  N   LYS C 132      19.225  13.303  21.896  1.00 92.26           N  \nATOM   2646  CA  LYS C 132      19.721  14.240  20.892  1.00 92.26           C  \nATOM   2647  C   LYS C 132      18.884  14.173  19.618  1.00 92.26           C  \nATOM   2648  CB  LYS C 132      21.189  13.955  20.571  1.00 92.26           C  \nATOM   2649  O   LYS C 132      19.392  13.809  18.554  1.00 92.26           O  \nATOM   2650  CG  LYS C 132      22.116  14.055  21.774  1.00 92.26           C  \nATOM   2651  CD  LYS C 132      23.558  13.745  21.395  1.00 92.26           C  \nATOM   2652  CE  LYS C 132      24.472  13.757  22.612  1.00 92.26           C  \nATOM   2653  NZ  LYS C 132      25.869  13.361  22.261  1.00 92.26           N  \nATOM   2654  N   PRO C 133      17.713  14.713  19.784  1.00 90.82           N  \nATOM   2655  CA  PRO C 133      16.932  14.749  18.546  1.00 90.82           C  \nATOM   2656  C   PRO C 133      17.549  15.658  17.485  1.00 90.82           C  \nATOM   2657  CB  PRO C 133      15.573  15.286  19.002  1.00 90.82           C  \nATOM   2658  O   PRO C 133      18.102  16.710  17.815  1.00 90.82           O  \nATOM   2659  CG  PRO C 133      15.863  16.041  20.259  1.00 90.82           C  \nATOM   2660  CD  PRO C 133      17.108  15.475  20.879  1.00 90.82           C  \nATOM   2661  N   LYS C 134      17.506  15.197  16.183  1.00 86.36           N  \nATOM   2662  CA  LYS C 134      18.184  15.943  15.127  1.00 86.36           C  \nATOM   2663  C   LYS C 134      17.215  16.313  14.008  1.00 86.36           C  \nATOM   2664  CB  LYS C 134      19.353  15.134  14.563  1.00 86.36           C  \nATOM   2665  O   LYS C 134      16.496  15.455  13.493  1.00 86.36           O  \nATOM   2666  CG  LYS C 134      20.478  14.895  15.559  1.00 86.36           C  \nATOM   2667  CD  LYS C 134      21.607  14.080  14.942  1.00 86.36           C  \nATOM   2668  CE  LYS C 134      22.690  13.760  15.963  1.00 86.36           C  \nATOM   2669  NZ  LYS C 134      23.766  12.903  15.380  1.00 86.36           N  \nATOM   2670  N   ARG C 135      17.212  17.602  13.664  1.00 88.55           N  \nATOM   2671  CA  ARG C 135      16.544  18.045  12.444  1.00 88.55           C  \nATOM   2672  C   ARG C 135      17.366  17.689  11.210  1.00 88.55           C  \nATOM   2673  CB  ARG C 135      16.289  19.553  12.487  1.00 88.55           C  \nATOM   2674  O   ARG C 135      18.386  18.323  10.933  1.00 88.55           O  \nATOM   2675  CG  ARG C 135      15.282  20.037  11.456  1.00 88.55           C  \nATOM   2676  CD  ARG C 135      14.811  21.455  11.751  1.00 88.55           C  \nATOM   2677  NE  ARG C 135      13.772  21.882  10.819  1.00 88.55           N  \nATOM   2678  NH1 ARG C 135      13.208  23.787  11.998  1.00 88.55           N  \nATOM   2679  NH2 ARG C 135      12.114  23.274  10.050  1.00 88.55           N  \nATOM   2680  CZ  ARG C 135      13.034  22.980  10.958  1.00 88.55           C  \nATOM   2681  N   LEU C 136      17.003  16.845  10.465  1.00 87.38           N  \nATOM   2682  CA  LEU C 136      17.810  16.155   9.464  1.00 87.38           C  \nATOM   2683  C   LEU C 136      18.250  17.116   8.365  1.00 87.38           C  \nATOM   2684  CB  LEU C 136      17.026  14.989   8.855  1.00 87.38           C  \nATOM   2685  O   LEU C 136      19.405  17.084   7.932  1.00 87.38           O  \nATOM   2686  CG  LEU C 136      16.717  13.819   9.790  1.00 87.38           C  \nATOM   2687  CD1 LEU C 136      15.806  12.812   9.095  1.00 87.38           C  \nATOM   2688  CD2 LEU C 136      18.007  13.150  10.254  1.00 87.38           C  \nATOM   2689  N   PHE C 137      17.459  18.076   7.965  1.00 92.83           N  \nATOM   2690  CA  PHE C 137      17.788  18.900   6.808  1.00 92.83           C  \nATOM   2691  C   PHE C 137      17.945  20.361   7.212  1.00 92.83           C  \nATOM   2692  CB  PHE C 137      16.710  18.768   5.727  1.00 92.83           C  \nATOM   2693  O   PHE C 137      17.602  21.263   6.445  1.00 92.83           O  \nATOM   2694  CG  PHE C 137      16.443  17.347   5.307  1.00 92.83           C  \nATOM   2695  CD1 PHE C 137      17.480  16.529   4.877  1.00 92.83           C  \nATOM   2696  CD2 PHE C 137      15.155  16.831   5.343  1.00 92.83           C  \nATOM   2697  CE1 PHE C 137      17.237  15.214   4.487  1.00 92.83           C  \nATOM   2698  CE2 PHE C 137      14.903  15.518   4.955  1.00 92.83           C  \nATOM   2699  CZ  PHE C 137      15.945  14.711   4.527  1.00 92.83           C  \nATOM   2700  N   ILE C 138      18.411  20.584   8.396  1.00 92.99           N  \nATOM   2701  CA  ILE C 138      18.498  21.930   8.952  1.00 92.99           C  \nATOM   2702  C   ILE C 138      19.471  22.768   8.126  1.00 92.99           C  \nATOM   2703  CB  ILE C 138      18.938  21.902  10.433  1.00 92.99           C  \nATOM   2704  O   ILE C 138      19.248  23.963   7.918  1.00 92.99           O  \nATOM   2705  CG1 ILE C 138      18.838  23.304  11.046  1.00 92.99           C  \nATOM   2706  CG2 ILE C 138      20.359  21.347  10.564  1.00 92.99           C  \nATOM   2707  CD1 ILE C 138      17.411  23.811  11.203  1.00 92.99           C  \nATOM   2708  N   GLU C 139      20.522  22.116   7.628  1.00 93.05           N  \nATOM   2709  CA  GLU C 139      21.486  22.863   6.827  1.00 93.05           C  \nATOM   2710  C   GLU C 139      20.869  23.325   5.510  1.00 93.05           C  \nATOM   2711  CB  GLU C 139      22.732  22.016   6.555  1.00 93.05           C  \nATOM   2712  O   GLU C 139      21.082  24.462   5.083  1.00 93.05           O  \nATOM   2713  CG  GLU C 139      23.531  21.679   7.806  1.00 93.05           C  \nATOM   2714  CD  GLU C 139      24.066  22.907   8.525  1.00 93.05           C  \nATOM   2715  OE1 GLU C 139      24.204  22.870   9.769  1.00 93.05           O  \nATOM   2716  OE2 GLU C 139      24.348  23.915   7.839  1.00 93.05           O  \nATOM   2717  N   ASP C 140      20.146  22.485   4.873  1.00 95.04           N  \nATOM   2718  CA  ASP C 140      19.434  22.869   3.658  1.00 95.04           C  \nATOM   2719  C   ASP C 140      18.418  23.973   3.941  1.00 95.04           C  \nATOM   2720  CB  ASP C 140      18.734  21.656   3.041  1.00 95.04           C  \nATOM   2721  O   ASP C 140      18.287  24.918   3.161  1.00 95.04           O  \nATOM   2722  CG  ASP C 140      19.700  20.682   2.388  1.00 95.04           C  \nATOM   2723  OD1 ASP C 140      20.695  21.127   1.776  1.00 95.04           O  \nATOM   2724  OD2 ASP C 140      19.462  19.459   2.485  1.00 95.04           O  \nATOM   2725  N   GLU C 141      17.758  23.849   5.011  1.00 96.36           N  \nATOM   2726  CA  GLU C 141      16.760  24.844   5.391  1.00 96.36           C  \nATOM   2727  C   GLU C 141      17.399  26.213   5.605  1.00 96.36           C  \nATOM   2728  CB  GLU C 141      16.019  24.406   6.657  1.00 96.36           C  \nATOM   2729  O   GLU C 141      16.831  27.236   5.216  1.00 96.36           O  \nATOM   2730  CG  GLU C 141      15.137  23.182   6.461  1.00 96.36           C  \nATOM   2731  CD  GLU C 141      14.469  22.712   7.743  1.00 96.36           C  \nATOM   2732  OE1 GLU C 141      14.397  21.484   7.976  1.00 96.36           O  \nATOM   2733  OE2 GLU C 141      14.012  23.579   8.521  1.00 96.36           O  \nATOM   2734  N   ILE C 142      18.555  26.204   6.286  1.00 96.38           N  \nATOM   2735  CA  ILE C 142      19.273  27.447   6.542  1.00 96.38           C  \nATOM   2736  C   ILE C 142      19.670  28.096   5.218  1.00 96.38           C  \nATOM   2737  CB  ILE C 142      20.523  27.208   7.418  1.00 96.38           C  \nATOM   2738  O   ILE C 142      19.461  29.295   5.020  1.00 96.38           O  \nATOM   2739  CG1 ILE C 142      20.111  26.848   8.850  1.00 96.38           C  \nATOM   2740  CG2 ILE C 142      21.436  28.438   7.403  1.00 96.38           C  \nATOM   2741  CD1 ILE C 142      21.253  26.321   9.708  1.00 96.38           C  \nATOM   2742  N   GLU C 143      20.170  27.299   4.333  1.00 96.35           N  \nATOM   2743  CA  GLU C 143      20.574  27.828   3.033  1.00 96.35           C  \nATOM   2744  C   GLU C 143      19.375  28.373   2.262  1.00 96.35           C  \nATOM   2745  CB  GLU C 143      21.283  26.749   2.210  1.00 96.35           C  \nATOM   2746  O   GLU C 143      19.445  29.458   1.681  1.00 96.35           O  \nATOM   2747  CG  GLU C 143      21.954  27.277   0.951  1.00 96.35           C  \nATOM   2748  CD  GLU C 143      22.792  26.231   0.233  1.00 96.35           C  \nATOM   2749  OE1 GLU C 143      23.337  26.531  -0.853  1.00 96.35           O  \nATOM   2750  OE2 GLU C 143      22.903  25.102   0.761  1.00 96.35           O  \nATOM   2751  N   ALA C 144      18.350  27.697   2.277  1.00 96.54           N  \nATOM   2752  CA  ALA C 144      17.129  28.154   1.617  1.00 96.54           C  \nATOM   2753  C   ALA C 144      16.626  29.455   2.236  1.00 96.54           C  \nATOM   2754  CB  ALA C 144      16.048  27.079   1.695  1.00 96.54           C  \nATOM   2755  O   ALA C 144      16.254  30.387   1.519  1.00 96.54           O  \nATOM   2756  N   ALA C 145      16.639  29.491   3.547  1.00 97.07           N  \nATOM   2757  CA  ALA C 145      16.187  30.689   4.250  1.00 97.07           C  \nATOM   2758  C   ALA C 145      17.072  31.887   3.920  1.00 97.07           C  \nATOM   2759  CB  ALA C 145      16.167  30.444   5.757  1.00 97.07           C  \nATOM   2760  O   ALA C 145      16.584  33.013   3.801  1.00 97.07           O  \nATOM   2761  N   ARG C 146      18.355  31.663   3.809  1.00 97.64           N  \nATOM   2762  CA  ARG C 146      19.280  32.727   3.431  1.00 97.64           C  \nATOM   2763  C   ARG C 146      18.948  33.275   2.048  1.00 97.64           C  \nATOM   2764  CB  ARG C 146      20.723  32.220   3.462  1.00 97.64           C  \nATOM   2765  O   ARG C 146      18.911  34.491   1.848  1.00 97.64           O  \nATOM   2766  CG  ARG C 146      21.315  32.128   4.859  1.00 97.64           C  \nATOM   2767  CD  ARG C 146      22.734  31.578   4.836  1.00 97.64           C  \nATOM   2768  NE  ARG C 146      23.319  31.539   6.174  1.00 97.64           N  \nATOM   2769  NH1 ARG C 146      25.156  30.281   5.558  1.00 97.64           N  \nATOM   2770  NH2 ARG C 146      24.897  30.951   7.735  1.00 97.64           N  \nATOM   2771  CZ  ARG C 146      24.456  30.924   6.486  1.00 97.64           C  \nATOM   2772  N   GLU C 147      18.738  32.384   1.165  1.00 96.27           N  \nATOM   2773  CA  GLU C 147      18.387  32.801  -0.190  1.00 96.27           C  \nATOM   2774  C   GLU C 147      17.067  33.566  -0.207  1.00 96.27           C  \nATOM   2775  CB  GLU C 147      18.305  31.589  -1.122  1.00 96.27           C  \nATOM   2776  O   GLU C 147      16.942  34.583  -0.892  1.00 96.27           O  \nATOM   2777  CG  GLU C 147      19.656  30.963  -1.436  1.00 96.27           C  \nATOM   2778  CD  GLU C 147      19.557  29.744  -2.339  1.00 96.27           C  \nATOM   2779  OE1 GLU C 147      20.598  29.104  -2.612  1.00 96.27           O  \nATOM   2780  OE2 GLU C 147      18.429  29.427  -2.779  1.00 96.27           O  \nATOM   2781  N   ASP C 148      16.156  33.115   0.545  1.00 95.97           N  \nATOM   2782  CA  ASP C 148      14.871  33.800   0.640  1.00 95.97           C  \nATOM   2783  C   ASP C 148      15.036  35.198   1.233  1.00 95.97           C  \nATOM   2784  CB  ASP C 148      13.889  32.984   1.484  1.00 95.97           C  \nATOM   2785  O   ASP C 148      14.437  36.159   0.746  1.00 95.97           O  \nATOM   2786  CG  ASP C 148      13.388  31.740   0.772  1.00 95.97           C  \nATOM   2787  OD1 ASP C 148      13.632  31.593  -0.445  1.00 95.97           O  \nATOM   2788  OD2 ASP C 148      12.740  30.900   1.433  1.00 95.97           O  \nATOM   2789  N   ALA C 149      15.833  35.273   2.326  1.00 96.26           N  \nATOM   2790  CA  ALA C 149      16.070  36.567   2.961  1.00 96.26           C  \nATOM   2791  C   ALA C 149      16.712  37.547   1.983  1.00 96.26           C  \nATOM   2792  CB  ALA C 149      16.950  36.400   4.197  1.00 96.26           C  \nATOM   2793  O   ALA C 149      16.294  38.704   1.890  1.00 96.26           O  \nATOM   2794  N   ARG C 150      17.636  37.057   1.228  1.00 96.60           N  \nATOM   2795  CA  ARG C 150      18.287  37.903   0.232  1.00 96.60           C  \nATOM   2796  C   ARG C 150      17.288  38.385  -0.814  1.00 96.60           C  \nATOM   2797  CB  ARG C 150      19.435  37.151  -0.445  1.00 96.60           C  \nATOM   2798  O   ARG C 150      17.282  39.562  -1.179  1.00 96.60           O  \nATOM   2799  CG  ARG C 150      20.670  36.996   0.428  1.00 96.60           C  \nATOM   2800  CD  ARG C 150      21.762  36.204  -0.277  1.00 96.60           C  \nATOM   2801  NE  ARG C 150      22.861  35.878   0.628  1.00 96.60           N  \nATOM   2802  NH1 ARG C 150      23.704  34.169  -0.678  1.00 96.60           N  \nATOM   2803  NH2 ARG C 150      24.717  34.708   1.306  1.00 96.60           N  \nATOM   2804  CZ  ARG C 150      23.758  34.919   0.417  1.00 96.60           C  \nATOM   2805  N   ALA C 151      16.471  37.523  -1.259  1.00 95.41           N  \nATOM   2806  CA  ALA C 151      15.486  37.859  -2.284  1.00 95.41           C  \nATOM   2807  C   ALA C 151      14.463  38.859  -1.755  1.00 95.41           C  \nATOM   2808  CB  ALA C 151      14.785  36.597  -2.781  1.00 95.41           C  \nATOM   2809  O   ALA C 151      14.117  39.825  -2.441  1.00 95.41           O  \nATOM   2810  N   ILE C 152      13.960  38.659  -0.562  1.00 96.05           N  \nATOM   2811  CA  ILE C 152      12.964  39.535   0.044  1.00 96.05           C  \nATOM   2812  C   ILE C 152      13.562  40.923   0.262  1.00 96.05           C  \nATOM   2813  CB  ILE C 152      12.443  38.960   1.380  1.00 96.05           C  \nATOM   2814  O   ILE C 152      12.917  41.935  -0.019  1.00 96.05           O  \nATOM   2815  CG1 ILE C 152      11.596  37.707   1.128  1.00 96.05           C  \nATOM   2816  CG2 ILE C 152      11.643  40.016   2.147  1.00 96.05           C  \nATOM   2817  CD1 ILE C 152      11.283  36.908   2.386  1.00 96.05           C  \nATOM   2818  N   CYS C 153      14.853  41.015   0.752  1.00 95.32           N  \nATOM   2819  CA  CYS C 153      15.512  42.296   0.981  1.00 95.32           C  \nATOM   2820  C   CYS C 153      15.752  43.028  -0.334  1.00 95.32           C  \nATOM   2821  CB  CYS C 153      16.839  42.093   1.711  1.00 95.32           C  \nATOM   2822  O   CYS C 153      15.629  44.252  -0.400  1.00 95.32           O  \nATOM   2823  SG  CYS C 153      16.652  41.512   3.411  1.00 95.32           S  \nATOM   2824  N   ALA C 154      16.020  42.326  -1.387  1.00 96.43           N  \nATOM   2825  CA  ALA C 154      16.207  42.931  -2.704  1.00 96.43           C  \nATOM   2826  C   ALA C 154      14.896  43.499  -3.238  1.00 96.43           C  \nATOM   2827  CB  ALA C 154      16.779  41.909  -3.683  1.00 96.43           C  \nATOM   2828  O   ALA C 154      14.877  44.577  -3.836  1.00 96.43           O  \nATOM   2829  N   ALA C 155      13.833  42.829  -2.992  1.00 94.95           N  \nATOM   2830  CA  ALA C 155      12.533  43.222  -3.530  1.00 94.95           C  \nATOM   2831  C   ALA C 155      11.899  44.322  -2.683  1.00 94.95           C  \nATOM   2832  CB  ALA C 155      11.602  42.014  -3.609  1.00 94.95           C  \nATOM   2833  O   ALA C 155      11.288  45.251  -3.218  1.00 94.95           O  \nATOM   2834  N   LYS C 156      12.039  44.245  -1.353  1.00 95.51           N  \nATOM   2835  CA  LYS C 156      11.282  45.133  -0.475  1.00 95.51           C  \nATOM   2836  C   LYS C 156      12.192  46.175   0.169  1.00 95.51           C  \nATOM   2837  CB  LYS C 156      10.559  44.329   0.607  1.00 95.51           C  \nATOM   2838  O   LYS C 156      11.714  47.110   0.815  1.00 95.51           O  \nATOM   2839  CG  LYS C 156       9.516  43.362   0.066  1.00 95.51           C  \nATOM   2840  CD  LYS C 156       8.529  42.942   1.148  1.00 95.51           C  \nATOM   2841  CE  LYS C 156       7.421  42.063   0.585  1.00 95.51           C  \nATOM   2842  NZ  LYS C 156       6.432  41.676   1.635  1.00 95.51           N  \nATOM   2843  N   GLY C 157      13.467  46.059   0.030  1.00 94.90           N  \nATOM   2844  CA  GLY C 157      14.431  46.986   0.602  1.00 94.90           C  \nATOM   2845  C   GLY C 157      15.155  46.423   1.811  1.00 94.90           C  \nATOM   2846  O   GLY C 157      14.571  45.675   2.598  1.00 94.90           O  \nATOM   2847  N   GLU C 158      16.419  46.691   2.061  1.00 92.78           N  \nATOM   2848  CA  GLU C 158      17.292  46.156   3.101  1.00 92.78           C  \nATOM   2849  C   GLU C 158      16.827  46.588   4.488  1.00 92.78           C  \nATOM   2850  CB  GLU C 158      18.739  46.599   2.870  1.00 92.78           C  \nATOM   2851  O   GLU C 158      17.073  45.893   5.476  1.00 92.78           O  \nATOM   2852  CG  GLU C 158      19.414  45.905   1.696  1.00 92.78           C  \nATOM   2853  CD  GLU C 158      20.896  46.228   1.579  1.00 92.78           C  \nATOM   2854  OE1 GLU C 158      21.582  45.628   0.721  1.00 92.78           O  \nATOM   2855  OE2 GLU C 158      21.374  47.087   2.354  1.00 92.78           O  \nATOM   2856  N   THR C 159      16.128  47.771   4.555  1.00 93.51           N  \nATOM   2857  CA  THR C 159      15.713  48.272   5.861  1.00 93.51           C  \nATOM   2858  C   THR C 159      14.232  47.993   6.101  1.00 93.51           C  \nATOM   2859  CB  THR C 159      15.982  49.782   5.992  1.00 93.51           C  \nATOM   2860  O   THR C 159      13.654  48.477   7.076  1.00 93.51           O  \nATOM   2861  CG2 THR C 159      17.469  50.090   5.853  1.00 93.51           C  \nATOM   2862  OG1 THR C 159      15.262  50.480   4.968  1.00 93.51           O  \nATOM   2863  N   SER C 160      13.563  47.240   5.248  1.00 94.91           N  \nATOM   2864  CA  SER C 160      12.142  46.937   5.374  1.00 94.91           C  \nATOM   2865  C   SER C 160      11.885  45.948   6.506  1.00 94.91           C  \nATOM   2866  CB  SER C 160      11.595  46.375   4.061  1.00 94.91           C  \nATOM   2867  O   SER C 160      12.749  45.131   6.831  1.00 94.91           O  \nATOM   2868  OG  SER C 160      12.022  45.037   3.870  1.00 94.91           O  \nATOM   2869  N   PRO C 161      10.690  46.082   7.224  1.00 96.07           N  \nATOM   2870  CA  PRO C 161      10.327  45.099   8.248  1.00 96.07           C  \nATOM   2871  C   PRO C 161      10.294  43.671   7.710  1.00 96.07           C  \nATOM   2872  CB  PRO C 161       8.931  45.549   8.687  1.00 96.07           C  \nATOM   2873  O   PRO C 161      10.628  42.727   8.432  1.00 96.07           O  \nATOM   2874  CG  PRO C 161       8.838  46.978   8.260  1.00 96.07           C  \nATOM   2875  CD  PRO C 161       9.776  47.194   7.108  1.00 96.07           C  \nATOM   2876  N   ASP C 162       9.943  43.508   6.512  1.00 95.25           N  \nATOM   2877  CA  ASP C 162       9.886  42.185   5.898  1.00 95.25           C  \nATOM   2878  C   ASP C 162      11.280  41.574   5.778  1.00 95.25           C  \nATOM   2879  CB  ASP C 162       9.225  42.262   4.520  1.00 95.25           C  \nATOM   2880  O   ASP C 162      11.460  40.376   6.006  1.00 95.25           O  \nATOM   2881  CG  ASP C 162       7.754  42.633   4.587  1.00 95.25           C  \nATOM   2882  OD1 ASP C 162       7.127  42.450   5.653  1.00 95.25           O  \nATOM   2883  OD2 ASP C 162       7.216  43.110   3.564  1.00 95.25           O  \nATOM   2884  N   CYS C 163      12.221  42.383   5.391  1.00 93.23           N  \nATOM   2885  CA  CYS C 163      13.604  41.930   5.296  1.00 93.23           C  \nATOM   2886  C   CYS C 163      14.132  41.499   6.659  1.00 93.23           C  \nATOM   2887  CB  CYS C 163      14.491  43.035   4.721  1.00 93.23           C  \nATOM   2888  O   CYS C 163      14.715  40.421   6.791  1.00 93.23           O  \nATOM   2889  SG  CYS C 163      16.216  42.545   4.507  1.00 93.23           S  \nATOM   2890  N   ALA C 164      13.830  42.312   7.671  1.00 95.60           N  \nATOM   2891  CA  ALA C 164      14.269  41.985   9.025  1.00 95.60           C  \nATOM   2892  C   ALA C 164      13.662  40.665   9.494  1.00 95.60           C  \nATOM   2893  CB  ALA C 164      13.900  43.109   9.990  1.00 95.60           C  \nATOM   2894  O   ALA C 164      14.354  39.830  10.081  1.00 95.60           O  \nATOM   2895  N   ALA C 165      12.439  40.492   9.237  1.00 96.36           N  \nATOM   2896  CA  ALA C 165      11.756  39.262   9.628  1.00 96.36           C  \nATOM   2897  C   ALA C 165      12.369  38.049   8.935  1.00 96.36           C  \nATOM   2898  CB  ALA C 165      10.266  39.356   9.309  1.00 96.36           C  \nATOM   2899  O   ALA C 165      12.508  36.984   9.541  1.00 96.36           O  \nATOM   2900  N   ALA C 166      12.724  38.156   7.677  1.00 95.98           N  \nATOM   2901  CA  ALA C 166      13.326  37.063   6.917  1.00 95.98           C  \nATOM   2902  C   ALA C 166      14.664  36.647   7.522  1.00 95.98           C  \nATOM   2903  CB  ALA C 166      13.508  37.466   5.456  1.00 95.98           C  \nATOM   2904  O   ALA C 166      14.953  35.454   7.643  1.00 95.98           O  \nATOM   2905  N   TRP C 167      15.431  37.591   7.892  1.00 96.45           N  \nATOM   2906  CA  TRP C 167      16.729  37.273   8.480  1.00 96.45           C  \nATOM   2907  C   TRP C 167      16.566  36.711   9.888  1.00 96.45           C  \nATOM   2908  CB  TRP C 167      17.623  38.516   8.513  1.00 96.45           C  \nATOM   2909  O   TRP C 167      17.387  35.911  10.342  1.00 96.45           O  \nATOM   2910  CG  TRP C 167      18.332  38.791   7.221  1.00 96.45           C  \nATOM   2911  CD1 TRP C 167      18.089  39.815   6.349  1.00 96.45           C  \nATOM   2912  CD2 TRP C 167      19.400  38.026   6.654  1.00 96.45           C  \nATOM   2913  CE2 TRP C 167      19.757  38.645   5.436  1.00 96.45           C  \nATOM   2914  CE3 TRP C 167      20.092  36.876   7.059  1.00 96.45           C  \nATOM   2915  NE1 TRP C 167      18.942  39.733   5.273  1.00 96.45           N  \nATOM   2916  CH2 TRP C 167      21.436  37.026   5.037  1.00 96.45           C  \nATOM   2917  CZ2 TRP C 167      20.776  38.151   4.618  1.00 96.45           C  \nATOM   2918  CZ3 TRP C 167      21.106  36.387   6.244  1.00 96.45           C  \nATOM   2919  N   ASP C 168      15.521  37.094  10.547  1.00 96.44           N  \nATOM   2920  CA  ASP C 168      15.222  36.497  11.845  1.00 96.44           C  \nATOM   2921  C   ASP C 168      15.009  34.990  11.721  1.00 96.44           C  \nATOM   2922  CB  ASP C 168      13.987  37.153  12.467  1.00 96.44           C  \nATOM   2923  O   ASP C 168      15.430  34.225  12.591  1.00 96.44           O  \nATOM   2924  CG  ASP C 168      14.261  38.550  12.997  1.00 96.44           C  \nATOM   2925  OD1 ASP C 168      15.443  38.948  13.085  1.00 96.44           O  \nATOM   2926  OD2 ASP C 168      13.287  39.257  13.333  1.00 96.44           O  \nATOM   2927  N   VAL C 169      14.356  34.631  10.678  1.00 96.70           N  \nATOM   2928  CA  VAL C 169      14.138  33.208  10.435  1.00 96.70           C  \nATOM   2929  C   VAL C 169      15.482  32.500  10.277  1.00 96.70           C  \nATOM   2930  CB  VAL C 169      13.261  32.973   9.185  1.00 96.70           C  \nATOM   2931  O   VAL C 169      15.700  31.433  10.856  1.00 96.70           O  \nATOM   2932  CG1 VAL C 169      13.197  31.486   8.843  1.00 96.70           C  \nATOM   2933  CG2 VAL C 169      11.858  33.535   9.405  1.00 96.70           C  \nATOM   2934  N   VAL C 170      16.384  33.045   9.549  1.00 96.62           N  \nATOM   2935  CA  VAL C 170      17.717  32.485   9.354  1.00 96.62           C  \nATOM   2936  C   VAL C 170      18.422  32.346  10.701  1.00 96.62           C  \nATOM   2937  CB  VAL C 170      18.563  33.356   8.397  1.00 96.62           C  \nATOM   2938  O   VAL C 170      18.985  31.293  11.009  1.00 96.62           O  \nATOM   2939  CG1 VAL C 170      19.999  32.840   8.326  1.00 96.62           C  \nATOM   2940  CG2 VAL C 170      17.933  33.385   7.006  1.00 96.62           C  \nATOM   2941  N   GLU C 171      18.327  33.382  11.473  1.00 96.20           N  \nATOM   2942  CA  GLU C 171      18.991  33.384  12.773  1.00 96.20           C  \nATOM   2943  C   GLU C 171      18.402  32.321  13.696  1.00 96.20           C  \nATOM   2944  CB  GLU C 171      18.888  34.764  13.427  1.00 96.20           C  \nATOM   2945  O   GLU C 171      19.135  31.648  14.424  1.00 96.20           O  \nATOM   2946  CG  GLU C 171      19.780  35.817  12.786  1.00 96.20           C  \nATOM   2947  CD  GLU C 171      19.685  37.176  13.461  1.00 96.20           C  \nATOM   2948  OE1 GLU C 171      20.437  38.100  13.075  1.00 96.20           O  \nATOM   2949  OE2 GLU C 171      18.854  37.318  14.385  1.00 96.20           O  \nATOM   2950  N   GLU C 172      17.169  32.202  13.606  1.00 95.35           N  \nATOM   2951  CA  GLU C 172      16.518  31.186  14.428  1.00 95.35           C  \nATOM   2952  C   GLU C 172      16.965  29.783  14.029  1.00 95.35           C  \nATOM   2953  CB  GLU C 172      14.995  31.303  14.321  1.00 95.35           C  \nATOM   2954  O   GLU C 172      17.267  28.954  14.890  1.00 95.35           O  \nATOM   2955  CG  GLU C 172      14.240  30.391  15.276  1.00 95.35           C  \nATOM   2956  CD  GLU C 172      12.731  30.572  15.213  1.00 95.35           C  \nATOM   2957  OE1 GLU C 172      12.003  29.863  15.944  1.00 95.35           O  \nATOM   2958  OE2 GLU C 172      12.274  31.430  14.425  1.00 95.35           O  \nATOM   2959  N   LEU C 173      17.032  29.547  12.789  1.00 95.39           N  \nATOM   2960  CA  LEU C 173      17.472  28.247  12.293  1.00 95.39           C  \nATOM   2961  C   LEU C 173      18.935  27.999  12.646  1.00 95.39           C  \nATOM   2962  CB  LEU C 173      17.278  28.158  10.777  1.00 95.39           C  \nATOM   2963  O   LEU C 173      19.303  26.889  13.038  1.00 95.39           O  \nATOM   2964  CG  LEU C 173      15.836  28.027  10.285  1.00 95.39           C  \nATOM   2965  CD1 LEU C 173      15.774  28.206   8.772  1.00 95.39           C  \nATOM   2966  CD2 LEU C 173      15.251  26.679  10.694  1.00 95.39           C  \nATOM   2967  N   GLN C 174      19.747  28.984  12.491  1.00 95.02           N  \nATOM   2968  CA  GLN C 174      21.160  28.864  12.837  1.00 95.02           C  \nATOM   2969  C   GLN C 174      21.341  28.594  14.327  1.00 95.02           C  \nATOM   2970  CB  GLN C 174      21.920  30.130  12.437  1.00 95.02           C  \nATOM   2971  O   GLN C 174      22.209  27.812  14.721  1.00 95.02           O  \nATOM   2972  CG  GLN C 174      22.170  30.250  10.940  1.00 95.02           C  \nATOM   2973  CD  GLN C 174      22.858  31.548  10.561  1.00 95.02           C  \nATOM   2974  NE2 GLN C 174      23.827  31.465   9.656  1.00 95.02           N  \nATOM   2975  OE1 GLN C 174      22.521  32.618  11.078  1.00 95.02           O  \nATOM   2976  N   ALA C 175      20.498  29.239  15.100  1.00 92.82           N  \nATOM   2977  CA  ALA C 175      20.541  28.993  16.539  1.00 92.82           C  \nATOM   2978  C   ALA C 175      20.194  27.542  16.858  1.00 92.82           C  \nATOM   2979  CB  ALA C 175      19.590  29.938  17.269  1.00 92.82           C  \nATOM   2980  O   ALA C 175      20.856  26.905  17.682  1.00 92.82           O  \nATOM   2981  N   GLU C 176      19.248  27.104  16.196  1.00 90.77           N  \nATOM   2982  CA  GLU C 176      18.860  25.712  16.399  1.00 90.77           C  \nATOM   2983  C   GLU C 176      19.967  24.760  15.956  1.00 90.77           C  \nATOM   2984  CB  GLU C 176      17.565  25.399  15.644  1.00 90.77           C  \nATOM   2985  O   GLU C 176      20.262  23.780  16.643  1.00 90.77           O  \nATOM   2986  CG  GLU C 176      17.048  23.985  15.869  1.00 90.77           C  \nATOM   2987  CD  GLU C 176      15.540  23.866  15.718  1.00 90.77           C  \nATOM   2988  OE1 GLU C 176      14.996  22.756  15.913  1.00 90.77           O  \nATOM   2989  OE2 GLU C 176      14.897  24.892  15.402  1.00 90.77           O  \nATOM   2990  N   ALA C 177      20.551  25.023  14.861  1.00 89.99           N  \nATOM   2991  CA  ALA C 177      21.652  24.202  14.364  1.00 89.99           C  \nATOM   2992  C   ALA C 177      22.821  24.200  15.345  1.00 89.99           C  \nATOM   2993  CB  ALA C 177      22.111  24.700  12.996  1.00 89.99           C  \nATOM   2994  O   ALA C 177      23.441  23.160  15.579  1.00 89.99           O  \nATOM   2995  N   SER C 178      23.093  25.352  15.905  1.00 87.91           N  \nATOM   2996  CA  SER C 178      24.173  25.464  16.880  1.00 87.91           C  \nATOM   2997  C   SER C 178      23.853  24.682  18.150  1.00 87.91           C  \nATOM   2998  CB  SER C 178      24.433  26.930  17.227  1.00 87.91           C  \nATOM   2999  O   SER C 178      24.727  24.020  18.714  1.00 87.91           O  \nATOM   3000  OG  SER C 178      24.862  27.649  16.083  1.00 87.91           O  \nATOM   3001  N   HIS C 179      22.607  24.828  18.550  1.00 85.80           N  \nATOM   3002  CA  HIS C 179      22.177  24.074  19.722  1.00 85.80           C  \nATOM   3003  C   HIS C 179      22.335  22.574  19.501  1.00 85.80           C  \nATOM   3004  CB  HIS C 179      20.723  24.403  20.067  1.00 85.80           C  \nATOM   3005  O   HIS C 179      22.793  21.855  20.392  1.00 85.80           O  \nATOM   3006  CG  HIS C 179      20.238  23.738  21.316  1.00 85.80           C  \nATOM   3007  CD2 HIS C 179      20.285  24.133  22.610  1.00 85.80           C  \nATOM   3008  ND1 HIS C 179      19.617  22.508  21.310  1.00 85.80           N  \nATOM   3009  CE1 HIS C 179      19.302  22.175  22.551  1.00 85.80           C  \nATOM   3010  NE2 HIS C 179      19.697  23.144  23.358  1.00 85.80           N  \nATOM   3011  N   GLN C 180      22.048  22.169  18.339  1.00 80.98           N  \nATOM   3012  CA  GLN C 180      22.177  20.755  18.003  1.00 80.98           C  \nATOM   3013  C   GLN C 180      23.638  20.315  18.024  1.00 80.98           C  \nATOM   3014  CB  GLN C 180      21.562  20.470  16.632  1.00 80.98           C  \nATOM   3015  O   GLN C 180      23.958  19.226  18.505  1.00 80.98           O  \nATOM   3016  CG  GLN C 180      20.039  20.479  16.627  1.00 80.98           C  \nATOM   3017  CD  GLN C 180      19.453  19.953  15.330  1.00 80.98           C  \nATOM   3018  NE2 GLN C 180      18.369  20.571  14.876  1.00 80.98           N  \nATOM   3019  OE1 GLN C 180      19.972  19.000  14.741  1.00 80.98           O  \nATOM   3020  N   ARG C 181      24.487  21.193  17.553  1.00 76.60           N  \nATOM   3021  CA  ARG C 181      25.914  20.892  17.530  1.00 76.60           C  \nATOM   3022  C   ARG C 181      26.499  20.901  18.938  1.00 76.60           C  \nATOM   3023  CB  ARG C 181      26.661  21.894  16.647  1.00 76.60           C  \nATOM   3024  O   ARG C 181      27.360  20.081  19.264  1.00 76.60           O  \nATOM   3025  CG  ARG C 181      26.403  21.716  15.159  1.00 76.60           C  \nATOM   3026  CD  ARG C 181      27.093  22.793  14.334  1.00 76.60           C  \nATOM   3027  NE  ARG C 181      26.622  22.798  12.952  1.00 76.60           N  \nATOM   3028  NH1 ARG C 181      27.131  25.018  12.568  1.00 76.60           N  \nATOM   3029  NH2 ARG C 181      26.195  23.749  10.905  1.00 76.60           N  \nATOM   3030  CZ  ARG C 181      26.651  23.855  12.145  1.00 76.60           C  \nATOM   3031  N   ALA C 182      26.047  21.793  19.780  1.00 69.37           N  \nATOM   3032  CA  ALA C 182      26.538  21.917  21.149  1.00 69.37           C  \nATOM   3033  C   ALA C 182      26.146  20.703  21.986  1.00 69.37           C  \nATOM   3034  CB  ALA C 182      26.006  23.196  21.792  1.00 69.37           C  \nATOM   3035  O   ALA C 182      26.945  20.205  22.782  1.00 69.37           O  \nATOM   3036  N   LYS C 183      24.926  20.321  21.927  1.00 64.06           N  \nATOM   3037  CA  LYS C 183      24.470  19.147  22.666  1.00 64.06           C  \nATOM   3038  C   LYS C 183      25.278  17.910  22.285  1.00 64.06           C  \nATOM   3039  CB  LYS C 183      22.982  18.899  22.414  1.00 64.06           C  \nATOM   3040  O   LYS C 183      25.527  17.042  23.124  1.00 64.06           O  \nATOM   3041  CG  LYS C 183      22.059  19.727  23.296  1.00 64.06           C  \nATOM   3042  CD  LYS C 183      20.607  19.289  23.152  1.00 64.06           C  \nATOM   3043  CE  LYS C 183      19.686  20.094  24.059  1.00 64.06           C  \nATOM   3044  NZ  LYS C 183      18.257  19.691  23.896  1.00 64.06           N  \nATOM   3045  N   LYS C 184      25.797  17.891  21.120  1.00 59.49           N  \nATOM   3046  CA  LYS C 184      26.605  16.766  20.656  1.00 59.49           C  \nATOM   3047  C   LYS C 184      28.015  16.826  21.237  1.00 59.49           C  \nATOM   3048  CB  LYS C 184      26.668  16.745  19.128  1.00 59.49           C  \nATOM   3049  O   LYS C 184      28.606  15.791  21.553  1.00 59.49           O  \nATOM   3050  CG  LYS C 184      25.444  16.128  18.467  1.00 59.49           C  \nATOM   3051  CD  LYS C 184      25.613  16.034  16.956  1.00 59.49           C  \nATOM   3052  CE  LYS C 184      24.367  15.468  16.288  1.00 59.49           C  \nATOM   3053  NZ  LYS C 184      24.491  15.461  14.799  1.00 59.49           N  \nATOM   3054  N   GLN C 185      28.617  18.063  21.327  1.00 55.13           N  \nATOM   3055  CA  GLN C 185      29.955  18.253  21.878  1.00 55.13           C  \nATOM   3056  C   GLN C 185      29.969  18.012  23.385  1.00 55.13           C  \nATOM   3057  CB  GLN C 185      30.469  19.660  21.567  1.00 55.13           C  \nATOM   3058  O   GLN C 185      30.949  17.498  23.927  1.00 55.13           O  \nATOM   3059  CG  GLN C 185      31.085  19.797  20.181  1.00 55.13           C  \nATOM   3060  CD  GLN C 185      31.523  21.216  19.871  1.00 55.13           C  \nATOM   3061  NE2 GLN C 185      32.142  21.405  18.711  1.00 55.13           N  \nATOM   3062  OE1 GLN C 185      31.305  22.135  20.667  1.00 55.13           O  \nATOM   3063  N   GLY C 186      28.942  18.345  24.180  1.00 48.51           N  \nATOM   3064  CA  GLY C 186      28.878  18.161  25.622  1.00 48.51           C  \nATOM   3065  C   GLY C 186      28.801  16.704  26.034  1.00 48.51           C  \nATOM   3066  O   GLY C 186      29.380  16.309  27.049  1.00 48.51           O  \nATOM   3067  N   SER C 187      28.073  15.843  25.363  1.00 49.95           N  \nATOM   3068  CA  SER C 187      28.031  14.415  25.663  1.00 49.95           C  \nATOM   3069  C   SER C 187      29.388  13.760  25.425  1.00 49.95           C  \nATOM   3070  CB  SER C 187      26.965  13.721  24.815  1.00 49.95           C  \nATOM   3071  O   SER C 187      29.818  12.910  26.207  1.00 49.95           O  \nATOM   3072  OG  SER C 187      27.563  12.932  23.801  1.00 49.95           O  \nATOM   3073  N   ASN C 188      30.122  14.191  24.370  1.00 46.54           N  \nATOM   3074  CA  ASN C 188      31.471  13.686  24.137  1.00 46.54           C  \nATOM   3075  C   ASN C 188      32.445  14.173  25.206  1.00 46.54           C  \nATOM   3076  CB  ASN C 188      31.963  14.092  22.746  1.00 46.54           C  \nATOM   3077  O   ASN C 188      33.333  13.430  25.628  1.00 46.54           O  \nATOM   3078  CG  ASN C 188      31.996  12.928  21.775  1.00 46.54           C  \nATOM   3079  ND2 ASN C 188      32.269  13.220  20.509  1.00 46.54           N  \nATOM   3080  OD1 ASN C 188      31.778  11.777  22.160  1.00 46.54           O  \nATOM   3081  N   SER C 189      32.255  15.388  25.636  1.00 48.96           N  \nATOM   3082  CA  SER C 189      33.105  15.895  26.709  1.00 48.96           C  \nATOM   3083  C   SER C 189      32.856  15.143  28.013  1.00 48.96           C  \nATOM   3084  CB  SER C 189      32.867  17.391  26.921  1.00 48.96           C  \nATOM   3085  O   SER C 189      33.798  14.834  28.746  1.00 48.96           O  \nATOM   3086  OG  SER C 189      32.522  17.660  28.269  1.00 48.96           O  \nATOM   3087  N   PHE C 190      31.643  14.749  28.296  1.00 50.30           N  \nATOM   3088  CA  PHE C 190      31.350  13.946  29.477  1.00 50.30           C  \nATOM   3089  C   PHE C 190      31.864  12.522  29.306  1.00 50.30           C  \nATOM   3090  CB  PHE C 190      29.844  13.931  29.758  1.00 50.30           C  \nATOM   3091  O   PHE C 190      32.469  11.961  30.222  1.00 50.30           O  \nATOM   3092  CG  PHE C 190      29.469  13.194  31.015  1.00 50.30           C  \nATOM   3093  CD1 PHE C 190      28.875  11.940  30.952  1.00 50.30           C  \nATOM   3094  CD2 PHE C 190      29.710  13.757  32.262  1.00 50.30           C  \nATOM   3095  CE1 PHE C 190      28.526  11.256  32.114  1.00 50.30           C  \nATOM   3096  CE2 PHE C 190      29.365  13.079  33.428  1.00 50.30           C  \nATOM   3097  CZ  PHE C 190      28.772  11.829  33.352  1.00 50.30           C  \nATOM   3098  N   GLN C 191      31.678  11.889  28.150  1.00 51.25           N  \nATOM   3099  CA  GLN C 191      32.242  10.574  27.866  1.00 51.25           C  \nATOM   3100  C   GLN C 191      33.768  10.616  27.875  1.00 51.25           C  \nATOM   3101  CB  GLN C 191      31.739  10.053  26.519  1.00 51.25           C  \nATOM   3102  O   GLN C 191      34.415   9.740  28.451  1.00 51.25           O  \nATOM   3103  CG  GLN C 191      31.663   8.534  26.436  1.00 51.25           C  \nATOM   3104  CD  GLN C 191      30.733   8.052  25.339  1.00 51.25           C  \nATOM   3105  NE2 GLN C 191      30.520   6.742  25.276  1.00 51.25           N  \nATOM   3106  OE1 GLN C 191      30.210   8.850  24.555  1.00 51.25           O  \nATOM   3107  N   ALA C 192      34.349  11.623  27.224  1.00 54.29           N  \nATOM   3108  CA  ALA C 192      35.796  11.814  27.288  1.00 54.29           C  \nATOM   3109  C   ALA C 192      36.251  12.079  28.720  1.00 54.29           C  \nATOM   3110  CB  ALA C 192      36.223  12.961  26.376  1.00 54.29           C  \nATOM   3111  O   ALA C 192      37.280  11.560  29.158  1.00 54.29           O  \nATOM   3112  N   TYR C 193      35.462  12.934  29.412  1.00 52.22           N  \nATOM   3113  CA  TYR C 193      35.725  13.158  30.828  1.00 52.22           C  \nATOM   3114  C   TYR C 193      35.603  11.861  31.618  1.00 52.22           C  \nATOM   3115  CB  TYR C 193      34.763  14.207  31.395  1.00 52.22           C  \nATOM   3116  O   TYR C 193      36.475  11.535  32.427  1.00 52.22           O  \nATOM   3117  CG  TYR C 193      34.937  14.454  32.874  1.00 52.22           C  \nATOM   3118  CD1 TYR C 193      34.059  13.899  33.801  1.00 52.22           C  \nATOM   3119  CD2 TYR C 193      35.980  15.244  33.347  1.00 52.22           C  \nATOM   3120  CE1 TYR C 193      34.214  14.126  35.165  1.00 52.22           C  \nATOM   3121  CE2 TYR C 193      36.145  15.478  34.708  1.00 52.22           C  \nATOM   3122  OH  TYR C 193      35.417  15.143  36.956  1.00 52.22           O  \nATOM   3123  CZ  TYR C 193      35.259  14.915  35.608  1.00 52.22           C  \nATOM   3124  N   CYS C 194      34.562  11.122  31.345  1.00 57.34           N  \nATOM   3125  CA  CYS C 194      34.395   9.864  32.064  1.00 57.34           C  \nATOM   3126  C   CYS C 194      35.429   8.838  31.616  1.00 57.34           C  \nATOM   3127  CB  CYS C 194      32.987   9.309  31.853  1.00 57.34           C  \nATOM   3128  O   CYS C 194      35.850   7.990  32.405  1.00 57.34           O  \nATOM   3129  SG  CYS C 194      31.722  10.137  32.840  1.00 57.34           S  \nATOM   3130  N   GLU C 195      35.875   8.761  30.347  1.00 59.93           N  \nATOM   3131  CA  GLU C 195      36.987   7.938  29.882  1.00 59.93           C  \nATOM   3132  C   GLU C 195      38.302   8.375  30.522  1.00 59.93           C  \nATOM   3133  CB  GLU C 195      37.100   7.999  28.357  1.00 59.93           C  \nATOM   3134  O   GLU C 195      39.134   7.537  30.876  1.00 59.93           O  \nATOM   3135  CG  GLU C 195      36.165   7.041  27.633  1.00 59.93           C  \nATOM   3136  CD  GLU C 195      36.234   7.164  26.119  1.00 59.93           C  \nATOM   3137  OE1 GLU C 195      35.539   6.397  25.415  1.00 59.93           O  \nATOM   3138  OE2 GLU C 195      36.989   8.036  25.633  1.00 59.93           O  \nATOM   3139  N   ALA C 196      38.545   9.739  30.756  1.00 64.42           N  \nATOM   3140  CA  ALA C 196      39.751  10.285  31.374  1.00 64.42           C  \nATOM   3141  C   ALA C 196      39.676  10.195  32.896  1.00 64.42           C  \nATOM   3142  CB  ALA C 196      39.964  11.733  30.940  1.00 64.42           C  \nATOM   3143  O   ALA C 196      40.706  10.123  33.571  1.00 64.42           O  \nATOM   3144  N   ASN C 197      38.422  10.439  33.427  1.00 52.36           N  \nATOM   3145  CA  ASN C 197      38.229  10.340  34.870  1.00 52.36           C  \nATOM   3146  C   ASN C 197      37.193   9.278  35.226  1.00 52.36           C  \nATOM   3147  CB  ASN C 197      37.822  11.695  35.452  1.00 52.36           C  \nATOM   3148  O   ASN C 197      36.079   9.605  35.638  1.00 52.36           O  \nATOM   3149  CG  ASN C 197      38.947  12.711  35.410  1.00 52.36           C  \nATOM   3150  ND2 ASN C 197      38.620  13.942  35.036  1.00 52.36           N  \nATOM   3151  OD1 ASN C 197      40.100  12.391  35.710  1.00 52.36           O  \nATOM   3152  N   PRO C 198      37.487   7.983  34.957  1.00 57.18           N  \nATOM   3153  CA  PRO C 198      36.540   6.878  35.126  1.00 57.18           C  \nATOM   3154  C   PRO C 198      35.979   6.794  36.544  1.00 57.18           C  \nATOM   3155  CB  PRO C 198      37.379   5.641  34.796  1.00 57.18           C  \nATOM   3156  O   PRO C 198      34.860   6.315  36.741  1.00 57.18           O  \nATOM   3157  CG  PRO C 198      38.776   6.154  34.652  1.00 57.18           C  \nATOM   3158  CD  PRO C 198      38.749   7.650  34.776  1.00 57.18           C  \nATOM   3159  N   ASP C 199      36.757   7.247  37.504  1.00 53.89           N  \nATOM   3160  CA  ASP C 199      36.401   7.135  38.915  1.00 53.89           C  \nATOM   3161  C   ASP C 199      35.557   8.326  39.365  1.00 53.89           C  \nATOM   3162  CB  ASP C 199      37.659   7.026  39.779  1.00 53.89           C  \nATOM   3163  O   ASP C 199      35.191   8.427  40.538  1.00 53.89           O  \nATOM   3164  CG  ASP C 199      38.425   5.735  39.551  1.00 53.89           C  \nATOM   3165  OD1 ASP C 199      37.796   4.698  39.249  1.00 53.89           O  \nATOM   3166  OD2 ASP C 199      39.669   5.754  39.677  1.00 53.89           O  \nATOM   3167  N   ALA C 200      35.331   9.249  38.469  1.00 53.34           N  \nATOM   3168  CA  ALA C 200      34.568  10.431  38.859  1.00 53.34           C  \nATOM   3169  C   ALA C 200      33.106  10.080  39.119  1.00 53.34           C  \nATOM   3170  CB  ALA C 200      34.668  11.509  37.782  1.00 53.34           C  \nATOM   3171  O   ALA C 200      32.523   9.257  38.409  1.00 53.34           O  \nATOM   3172  N   LEU C 201      32.381  10.462  40.318  1.00 54.15           N  \nATOM   3173  CA  LEU C 201      31.049  10.141  40.820  1.00 54.15           C  \nATOM   3174  C   LEU C 201      29.998  10.331  39.731  1.00 54.15           C  \nATOM   3175  CB  LEU C 201      30.709  11.012  42.032  1.00 54.15           C  \nATOM   3176  O   LEU C 201      29.083   9.515  39.597  1.00 54.15           O  \nATOM   3177  CG  LEU C 201      30.806  10.337  43.401  1.00 54.15           C  \nATOM   3178  CD1 LEU C 201      31.371  11.309  44.432  1.00 54.15           C  \nATOM   3179  CD2 LEU C 201      29.441   9.818  43.840  1.00 54.15           C  \nATOM   3180  N   GLU C 202      30.171  11.322  39.021  1.00 56.19           N  \nATOM   3181  CA  GLU C 202      29.197  11.705  38.003  1.00 56.19           C  \nATOM   3182  C   GLU C 202      29.143  10.677  36.877  1.00 56.19           C  \nATOM   3183  CB  GLU C 202      29.525  13.089  37.438  1.00 56.19           C  \nATOM   3184  O   GLU C 202      28.100  10.493  36.247  1.00 56.19           O  \nATOM   3185  CG  GLU C 202      29.210  14.233  38.390  1.00 56.19           C  \nATOM   3186  CD  GLU C 202      30.123  15.435  38.206  1.00 56.19           C  \nATOM   3187  OE1 GLU C 202      29.898  16.475  38.867  1.00 56.19           O  \nATOM   3188  OE2 GLU C 202      31.069  15.337  37.394  1.00 56.19           O  \nATOM   3189  N   CYS C 203      30.326  10.025  36.608  1.00 49.83           N  \nATOM   3190  CA  CYS C 203      30.434   9.032  35.545  1.00 49.83           C  \nATOM   3191  C   CYS C 203      29.905   7.679  36.007  1.00 49.83           C  \nATOM   3192  CB  CYS C 203      31.885   8.893  35.086  1.00 49.83           C  \nATOM   3193  O   CYS C 203      29.507   6.851  35.186  1.00 49.83           O  \nATOM   3194  SG  CYS C 203      32.544  10.377  34.295  1.00 49.83           S  \nATOM   3195  N   ARG C 204      29.879   7.259  37.274  1.00 46.80           N  \nATOM   3196  CA  ARG C 204      29.431   5.996  37.852  1.00 46.80           C  \nATOM   3197  C   ARG C 204      27.909   5.903  37.851  1.00 46.80           C  \nATOM   3198  CB  ARG C 204      29.965   5.837  39.277  1.00 46.80           C  \nATOM   3199  O   ARG C 204      27.349   4.806  37.907  1.00 46.80           O  \nATOM   3200  CG  ARG C 204      31.321   5.154  39.354  1.00 46.80           C  \nATOM   3201  CD  ARG C 204      31.721   4.853  40.792  1.00 46.80           C  \nATOM   3202  NE  ARG C 204      32.998   4.150  40.860  1.00 46.80           N  \nATOM   3203  NH1 ARG C 204      33.187   4.289  43.158  1.00 46.80           N  \nATOM   3204  NH2 ARG C 204      34.820   3.250  41.930  1.00 46.80           N  \nATOM   3205  CZ  ARG C 204      33.666   3.898  41.983  1.00 46.80           C  \nATOM   3206  N   ILE C 205      27.152   7.004  37.871  1.00 42.44           N  \nATOM   3207  CA  ILE C 205      25.698   6.935  37.956  1.00 42.44           C  \nATOM   3208  C   ILE C 205      25.130   6.394  36.646  1.00 42.44           C  \nATOM   3209  CB  ILE C 205      25.084   8.316  38.277  1.00 42.44           C  \nATOM   3210  O   ILE C 205      24.080   5.747  36.637  1.00 42.44           O  \nATOM   3211  CG1 ILE C 205      25.570   8.812  39.644  1.00 42.44           C  \nATOM   3212  CG2 ILE C 205      23.554   8.251  38.230  1.00 42.44           C  \nATOM   3213  CD1 ILE C 205      25.151  10.239  39.969  1.00 42.44           C  \nATOM   3214  N   TYR C 206      25.874   6.587  35.614  1.00 36.66           N  \nATOM   3215  CA  TYR C 206      25.309   6.160  34.339  1.00 36.66           C  \nATOM   3216  C   TYR C 206      25.635   4.697  34.061  1.00 36.66           C  \nATOM   3217  CB  TYR C 206      25.834   7.037  33.198  1.00 36.66           C  \nATOM   3218  O   TYR C 206      25.186   4.134  33.060  1.00 36.66           O  \nATOM   3219  CG  TYR C 206      24.856   8.094  32.746  1.00 36.66           C  \nATOM   3220  CD1 TYR C 206      23.944   7.837  31.725  1.00 36.66           C  \nATOM   3221  CD2 TYR C 206      24.842   9.352  33.340  1.00 36.66           C  \nATOM   3222  CE1 TYR C 206      23.042   8.810  31.304  1.00 36.66           C  \nATOM   3223  CE2 TYR C 206      23.945  10.332  32.927  1.00 36.66           C  \nATOM   3224  OH  TYR C 206      22.160  11.018  31.499  1.00 36.66           O  \nATOM   3225  CZ  TYR C 206      23.050  10.051  31.911  1.00 36.66           C  \nATOM   3226  N   ASP C 207      26.647   4.020  34.728  1.00 34.09           N  \nATOM   3227  CA  ASP C 207      26.969   2.618  34.478  1.00 34.09           C  \nATOM   3228  C   ASP C 207      25.964   1.694  35.162  1.00 34.09           C  \nATOM   3229  CB  ASP C 207      28.387   2.299  34.956  1.00 34.09           C  \nATOM   3230  O   ASP C 207      25.995   0.478  34.961  1.00 34.09           O  \nATOM   3231  CG  ASP C 207      29.453   2.677  33.943  1.00 34.09           C  \nATOM   3232  OD1 ASP C 207      29.116   2.923  32.765  1.00 34.09           O  \nATOM   3233  OD2 ASP C 207      30.642   2.726  34.325  1.00 34.09           O  \nATOM   3234  N   ASP C 208      25.195   2.187  36.212  1.00 27.68           N  \nATOM   3235  CA  ASP C 208      24.286   1.169  36.732  1.00 27.68           C  \nATOM   3236  C   ASP C 208      23.025   1.071  35.877  1.00 27.68           C  \nATOM   3237  CB  ASP C 208      23.914   1.474  38.184  1.00 27.68           C  \nATOM   3238  O   ASP C 208      22.415   2.088  35.541  1.00 27.68           O  \nATOM   3239  CG  ASP C 208      25.006   1.093  39.169  1.00 27.68           C  \nATOM   3240  OD1 ASP C 208      25.958   0.383  38.779  1.00 27.68           O  \nATOM   3241  OD2 ASP C 208      24.912   1.505  40.345  1.00 27.68           O  \nTER    3242      ASP C 208                                                      \nATOM   3243  N   GLY D   1      33.614 -18.501 -11.988  1.00 38.10           N  \nATOM   3244  CA  GLY D   1      32.177 -18.650 -12.155  1.00 38.10           C  \nATOM   3245  C   GLY D   1      31.612 -17.787 -13.267  1.00 38.10           C  \nATOM   3246  O   GLY D   1      32.248 -16.821 -13.694  1.00 38.10           O  \nATOM   3247  N   PRO D   2      30.643 -18.260 -14.043  1.00 50.60           N  \nATOM   3248  CA  PRO D   2      30.208 -17.535 -15.239  1.00 50.60           C  \nATOM   3249  C   PRO D   2      29.937 -16.057 -14.966  1.00 50.60           C  \nATOM   3250  CB  PRO D   2      28.922 -18.260 -15.643  1.00 50.60           C  \nATOM   3251  O   PRO D   2      29.479 -15.700 -13.878  1.00 50.60           O  \nATOM   3252  CG  PRO D   2      28.607 -19.153 -14.486  1.00 50.60           C  \nATOM   3253  CD  PRO D   2      29.745 -19.085 -13.508  1.00 50.60           C  \nATOM   3254  N   MET D   3      30.649 -15.095 -15.662  1.00 59.17           N  \nATOM   3255  CA  MET D   3      30.634 -13.642 -15.516  1.00 59.17           C  \nATOM   3256  C   MET D   3      29.234 -13.086 -15.753  1.00 59.17           C  \nATOM   3257  CB  MET D   3      31.625 -12.994 -16.484  1.00 59.17           C  \nATOM   3258  O   MET D   3      28.682 -13.227 -16.846  1.00 59.17           O  \nATOM   3259  CG  MET D   3      33.002 -12.758 -15.885  1.00 59.17           C  \nATOM   3260  SD  MET D   3      34.108 -11.822 -17.011  1.00 59.17           S  \nATOM   3261  CE  MET D   3      33.697 -12.612 -18.592  1.00 59.17           C  \nATOM   3262  N   VAL D   4      28.304 -12.951 -14.802  1.00 78.30           N  \nATOM   3263  CA  VAL D   4      26.973 -12.355 -14.856  1.00 78.30           C  \nATOM   3264  C   VAL D   4      27.091 -10.846 -15.060  1.00 78.30           C  \nATOM   3265  CB  VAL D   4      26.163 -12.657 -13.576  1.00 78.30           C  \nATOM   3266  O   VAL D   4      28.041 -10.221 -14.582  1.00 78.30           O  \nATOM   3267  CG1 VAL D   4      24.716 -12.193 -13.730  1.00 78.30           C  \nATOM   3268  CG2 VAL D   4      26.217 -14.149 -13.251  1.00 78.30           C  \nATOM   3269  N   LEU D   5      26.341 -10.361 -16.158  1.00 91.22           N  \nATOM   3270  CA  LEU D   5      26.299  -8.925 -16.410  1.00 91.22           C  \nATOM   3271  C   LEU D   5      25.970  -8.158 -15.133  1.00 91.22           C  \nATOM   3272  CB  LEU D   5      25.268  -8.601 -17.494  1.00 91.22           C  \nATOM   3273  O   LEU D   5      25.026  -8.508 -14.420  1.00 91.22           O  \nATOM   3274  CG  LEU D   5      25.417  -7.246 -18.189  1.00 91.22           C  \nATOM   3275  CD1 LEU D   5      26.642  -7.250 -19.098  1.00 91.22           C  \nATOM   3276  CD2 LEU D   5      24.158  -6.909 -18.980  1.00 91.22           C  \nATOM   3277  N   GLN D   6      26.843  -7.155 -14.878  1.00 95.18           N  \nATOM   3278  CA  GLN D   6      26.739  -6.469 -13.595  1.00 95.18           C  \nATOM   3279  C   GLN D   6      26.182  -5.059 -13.768  1.00 95.18           C  \nATOM   3280  CB  GLN D   6      28.101  -6.414 -12.902  1.00 95.18           C  \nATOM   3281  O   GLN D   6      26.165  -4.525 -14.880  1.00 95.18           O  \nATOM   3282  CG  GLN D   6      28.703  -7.784 -12.619  1.00 95.18           C  \nATOM   3283  CD  GLN D   6      30.091  -7.702 -12.012  1.00 95.18           C  \nATOM   3284  NE2 GLN D   6      30.561  -8.812 -11.454  1.00 95.18           N  \nATOM   3285  OE1 GLN D   6      30.736  -6.649 -12.045  1.00 95.18           O  \nATOM   3286  N   ALA D   7      25.826  -4.434 -12.705  1.00 96.36           N  \nATOM   3287  CA  ALA D   7      25.216  -3.107 -12.692  1.00 96.36           C  \nATOM   3288  C   ALA D   7      26.156  -2.065 -13.292  1.00 96.36           C  \nATOM   3289  CB  ALA D   7      24.829  -2.712 -11.269  1.00 96.36           C  \nATOM   3290  O   ALA D   7      25.737  -1.236 -14.104  1.00 96.36           O  \nATOM   3291  N   GLN D   8      27.407  -2.124 -12.950  1.00 96.35           N  \nATOM   3292  CA  GLN D   8      28.366  -1.120 -13.397  1.00 96.35           C  \nATOM   3293  C   GLN D   8      28.542  -1.163 -14.912  1.00 96.35           C  \nATOM   3294  CB  GLN D   8      29.716  -1.320 -12.707  1.00 96.35           C  \nATOM   3295  O   GLN D   8      28.961  -0.177 -15.522  1.00 96.35           O  \nATOM   3296  CG  GLN D   8      30.394  -2.639 -13.053  1.00 96.35           C  \nATOM   3297  CD  GLN D   8      31.710  -2.832 -12.323  1.00 96.35           C  \nATOM   3298  NE2 GLN D   8      32.648  -3.521 -12.964  1.00 96.35           N  \nATOM   3299  OE1 GLN D   8      31.883  -2.364 -11.193  1.00 96.35           O  \nATOM   3300  N   GLU D   9      28.186  -2.233 -15.502  1.00 96.76           N  \nATOM   3301  CA  GLU D   9      28.389  -2.405 -16.937  1.00 96.76           C  \nATOM   3302  C   GLU D   9      27.250  -1.778 -17.735  1.00 96.76           C  \nATOM   3303  CB  GLU D   9      28.523  -3.889 -17.287  1.00 96.76           C  \nATOM   3304  O   GLU D   9      27.391  -1.523 -18.933  1.00 96.76           O  \nATOM   3305  CG  GLU D   9      29.752  -4.555 -16.687  1.00 96.76           C  \nATOM   3306  CD  GLU D   9      29.784  -6.060 -16.900  1.00 96.76           C  \nATOM   3307  OE1 GLU D   9      30.456  -6.524 -17.849  1.00 96.76           O  \nATOM   3308  OE2 GLU D   9      29.131  -6.780 -16.113  1.00 96.76           O  \nATOM   3309  N   ILE D  10      26.172  -1.565 -17.097  1.00 97.20           N  \nATOM   3310  CA  ILE D  10      25.049  -1.058 -17.878  1.00 97.20           C  \nATOM   3311  C   ILE D  10      24.545   0.249 -17.270  1.00 97.20           C  \nATOM   3312  CB  ILE D  10      23.902  -2.091 -17.955  1.00 97.20           C  \nATOM   3313  O   ILE D  10      23.591   0.847 -17.772  1.00 97.20           O  \nATOM   3314  CG1 ILE D  10      23.349  -2.380 -16.555  1.00 97.20           C  \nATOM   3315  CG2 ILE D  10      24.380  -3.379 -18.632  1.00 97.20           C  \nATOM   3316  CD1 ILE D  10      21.958  -2.999 -16.554  1.00 97.20           C  \nATOM   3317  N   MET D  11      25.104   0.716 -16.208  1.00 97.16           N  \nATOM   3318  CA  MET D  11      24.680   1.946 -15.544  1.00 97.16           C  \nATOM   3319  C   MET D  11      24.964   3.162 -16.418  1.00 97.16           C  \nATOM   3320  CB  MET D  11      25.382   2.097 -14.193  1.00 97.16           C  \nATOM   3321  O   MET D  11      25.747   3.082 -17.366  1.00 97.16           O  \nATOM   3322  CG  MET D  11      26.871   2.379 -14.304  1.00 97.16           C  \nATOM   3323  SD  MET D  11      27.682   2.537 -12.666  1.00 97.16           S  \nATOM   3324  CE  MET D  11      29.384   2.893 -13.183  1.00 97.16           C  \nATOM   3325  N   THR D  12      24.256   4.211 -16.128  1.00 94.13           N  \nATOM   3326  CA  THR D  12      24.592   5.507 -16.707  1.00 94.13           C  \nATOM   3327  C   THR D  12      25.678   6.199 -15.889  1.00 94.13           C  \nATOM   3328  CB  THR D  12      23.353   6.417 -16.796  1.00 94.13           C  \nATOM   3329  O   THR D  12      25.559   6.323 -14.668  1.00 94.13           O  \nATOM   3330  CG2 THR D  12      23.695   7.748 -17.459  1.00 94.13           C  \nATOM   3331  OG1 THR D  12      22.338   5.760 -17.564  1.00 94.13           O  \nATOM   3332  N   GLN D  13      26.736   6.600 -16.475  1.00 91.26           N  \nATOM   3333  CA  GLN D  13      27.886   7.150 -15.766  1.00 91.26           C  \nATOM   3334  C   GLN D  13      27.767   8.663 -15.614  1.00 91.26           C  \nATOM   3335  CB  GLN D  13      29.185   6.796 -16.492  1.00 91.26           C  \nATOM   3336  O   GLN D  13      28.311   9.243 -14.672  1.00 91.26           O  \nATOM   3337  CG  GLN D  13      29.510   5.308 -16.480  1.00 91.26           C  \nATOM   3338  CD  GLN D  13      30.760   4.974 -17.273  1.00 91.26           C  \nATOM   3339  NE2 GLN D  13      30.900   3.710 -17.656  1.00 91.26           N  \nATOM   3340  OE1 GLN D  13      31.593   5.846 -17.540  1.00 91.26           O  \nATOM   3341  N   ASN D  14      27.206   9.297 -16.585  1.00 83.66           N  \nATOM   3342  CA  ASN D  14      27.028  10.741 -16.476  1.00 83.66           C  \nATOM   3343  C   ASN D  14      25.975  11.099 -15.432  1.00 83.66           C  \nATOM   3344  CB  ASN D  14      26.654  11.339 -17.834  1.00 83.66           C  \nATOM   3345  O   ASN D  14      24.791  11.219 -15.753  1.00 83.66           O  \nATOM   3346  CG  ASN D  14      26.966  12.820 -17.926  1.00 83.66           C  \nATOM   3347  ND2 ASN D  14      26.731  13.404 -19.095  1.00 83.66           N  \nATOM   3348  OD1 ASN D  14      27.415  13.433 -16.954  1.00 83.66           O  \nATOM   3349  N   VAL D  15      26.469  11.276 -14.184  1.00 87.99           N  \nATOM   3350  CA  VAL D  15      25.552  11.585 -13.092  1.00 87.99           C  \nATOM   3351  C   VAL D  15      25.639  13.071 -12.749  1.00 87.99           C  \nATOM   3352  CB  VAL D  15      25.852  10.731 -11.840  1.00 87.99           C  \nATOM   3353  O   VAL D  15      26.733  13.636 -12.682  1.00 87.99           O  \nATOM   3354  CG1 VAL D  15      24.816  10.990 -10.748  1.00 87.99           C  \nATOM   3355  CG2 VAL D  15      25.891   9.248 -12.204  1.00 87.99           C  \nATOM   3356  N   VAL D  16      24.544  13.716 -12.689  1.00 94.92           N  \nATOM   3357  CA  VAL D  16      24.480  15.119 -12.292  1.00 94.92           C  \nATOM   3358  C   VAL D  16      23.943  15.229 -10.867  1.00 94.92           C  \nATOM   3359  CB  VAL D  16      23.598  15.941 -13.259  1.00 94.92           C  \nATOM   3360  O   VAL D  16      23.028  14.497 -10.483  1.00 94.92           O  \nATOM   3361  CG1 VAL D  16      23.505  17.395 -12.799  1.00 94.92           C  \nATOM   3362  CG2 VAL D  16      24.150  15.862 -14.681  1.00 94.92           C  \nATOM   3363  N   THR D  17      24.558  16.051 -10.143  1.00 96.23           N  \nATOM   3364  CA  THR D  17      24.177  16.218  -8.745  1.00 96.23           C  \nATOM   3365  C   THR D  17      23.497  17.566  -8.527  1.00 96.23           C  \nATOM   3366  CB  THR D  17      25.399  16.100  -7.815  1.00 96.23           C  \nATOM   3367  O   THR D  17      23.597  18.462  -9.368  1.00 96.23           O  \nATOM   3368  CG2 THR D  17      26.155  14.799  -8.063  1.00 96.23           C  \nATOM   3369  OG1 THR D  17      26.281  17.204  -8.052  1.00 96.23           O  \nATOM   3370  N   ILE D  18      22.751  17.686  -7.404  1.00 97.93           N  \nATOM   3371  CA  ILE D  18      22.073  18.912  -6.999  1.00 97.93           C  \nATOM   3372  C   ILE D  18      22.073  19.024  -5.476  1.00 97.93           C  \nATOM   3373  CB  ILE D  18      20.626  18.962  -7.540  1.00 97.93           C  \nATOM   3374  O   ILE D  18      22.176  18.015  -4.774  1.00 97.93           O  \nATOM   3375  CG1 ILE D  18      20.049  20.375  -7.392  1.00 97.93           C  \nATOM   3376  CG2 ILE D  18      19.746  17.934  -6.823  1.00 97.93           C  \nATOM   3377  CD1 ILE D  18      18.780  20.613  -8.198  1.00 97.93           C  \nATOM   3378  N   ARG D  19      22.008  20.215  -5.031  1.00 96.94           N  \nATOM   3379  CA  ARG D  19      21.907  20.417  -3.589  1.00 96.94           C  \nATOM   3380  C   ARG D  19      20.466  20.266  -3.115  1.00 96.94           C  \nATOM   3381  CB  ARG D  19      22.445  21.795  -3.200  1.00 96.94           C  \nATOM   3382  O   ARG D  19      19.529  20.610  -3.839  1.00 96.94           O  \nATOM   3383  CG  ARG D  19      23.943  21.953  -3.407  1.00 96.94           C  \nATOM   3384  CD  ARG D  19      24.451  23.283  -2.867  1.00 96.94           C  \nATOM   3385  NE  ARG D  19      25.908  23.366  -2.921  1.00 96.94           N  \nATOM   3386  NH1 ARG D  19      26.027  25.485  -2.010  1.00 96.94           N  \nATOM   3387  NH2 ARG D  19      27.944  24.380  -2.608  1.00 96.94           N  \nATOM   3388  CZ  ARG D  19      26.623  24.410  -2.513  1.00 96.94           C  \nATOM   3389  N   GLY D  20      20.362  19.861  -1.903  1.00 97.61           N  \nATOM   3390  CA  GLY D  20      19.031  19.752  -1.329  1.00 97.61           C  \nATOM   3391  C   GLY D  20      18.328  21.090  -1.192  1.00 97.61           C  \nATOM   3392  O   GLY D  20      17.099  21.159  -1.245  1.00 97.61           O  \nATOM   3393  N   SER D  21      19.044  22.129  -1.014  1.00 97.13           N  \nATOM   3394  CA  SER D  21      18.491  23.463  -0.800  1.00 97.13           C  \nATOM   3395  C   SER D  21      18.049  24.096  -2.115  1.00 97.13           C  \nATOM   3396  CB  SER D  21      19.516  24.364  -0.110  1.00 97.13           C  \nATOM   3397  O   SER D  21      17.385  25.135  -2.118  1.00 97.13           O  \nATOM   3398  OG  SER D  21      20.702  24.459  -0.881  1.00 97.13           O  \nATOM   3399  N   ALA D  22      18.366  23.479  -3.222  1.00 98.12           N  \nATOM   3400  CA  ALA D  22      17.948  24.020  -4.513  1.00 98.12           C  \nATOM   3401  C   ALA D  22      16.428  24.001  -4.649  1.00 98.12           C  \nATOM   3402  CB  ALA D  22      18.591  23.234  -5.652  1.00 98.12           C  \nATOM   3403  O   ALA D  22      15.746  23.235  -3.965  1.00 98.12           O  \nATOM   3404  N   THR D  23      15.935  24.868  -5.499  1.00 98.40           N  \nATOM   3405  CA  THR D  23      14.503  24.838  -5.776  1.00 98.40           C  \nATOM   3406  C   THR D  23      14.159  23.690  -6.721  1.00 98.40           C  \nATOM   3407  CB  THR D  23      14.023  26.169  -6.384  1.00 98.40           C  \nATOM   3408  O   THR D  23      15.026  23.191  -7.441  1.00 98.40           O  \nATOM   3409  CG2 THR D  23      14.414  27.349  -5.501  1.00 98.40           C  \nATOM   3410  OG1 THR D  23      14.615  26.338  -7.678  1.00 98.40           O  \nATOM   3411  N   VAL D  24      12.952  23.342  -6.701  1.00 98.80           N  \nATOM   3412  CA  VAL D  24      12.470  22.331  -7.635  1.00 98.80           C  \nATOM   3413  C   VAL D  24      12.590  22.850  -9.067  1.00 98.80           C  \nATOM   3414  CB  VAL D  24      11.008  21.931  -7.334  1.00 98.80           C  \nATOM   3415  O   VAL D  24      12.893  22.086  -9.987  1.00 98.80           O  \nATOM   3416  CG1 VAL D  24      10.461  21.020  -8.431  1.00 98.80           C  \nATOM   3417  CG2 VAL D  24      10.912  21.249  -5.971  1.00 98.80           C  \nATOM   3418  N   ALA D  25      12.404  24.131  -9.245  1.00 98.67           N  \nATOM   3419  CA  ALA D  25      12.574  24.743 -10.560  1.00 98.67           C  \nATOM   3420  C   ALA D  25      13.994  24.538 -11.081  1.00 98.67           C  \nATOM   3421  CB  ALA D  25      12.241  26.231 -10.502  1.00 98.67           C  \nATOM   3422  O   ALA D  25      14.191  24.219 -12.255  1.00 98.67           O  \nATOM   3423  N   ASP D  26      14.975  24.704 -10.219  1.00 98.49           N  \nATOM   3424  CA  ASP D  26      16.366  24.459 -10.590  1.00 98.49           C  \nATOM   3425  C   ASP D  26      16.568  23.014 -11.039  1.00 98.49           C  \nATOM   3426  CB  ASP D  26      17.298  24.782  -9.420  1.00 98.49           C  \nATOM   3427  O   ASP D  26      17.261  22.756 -12.026  1.00 98.49           O  \nATOM   3428  CG  ASP D  26      17.349  26.264  -9.094  1.00 98.49           C  \nATOM   3429  OD1 ASP D  26      17.170  27.096 -10.009  1.00 98.49           O  \nATOM   3430  OD2 ASP D  26      17.574  26.602  -7.912  1.00 98.49           O  \nATOM   3431  N   ALA D  27      15.976  22.155 -10.309  1.00 98.75           N  \nATOM   3432  CA  ALA D  27      16.091  20.736 -10.638  1.00 98.75           C  \nATOM   3433  C   ALA D  27      15.496  20.441 -12.012  1.00 98.75           C  \nATOM   3434  CB  ALA D  27      15.407  19.885  -9.571  1.00 98.75           C  \nATOM   3435  O   ALA D  27      16.108  19.744 -12.824  1.00 98.75           O  \nATOM   3436  N   VAL D  28      14.311  20.967 -12.268  1.00 98.75           N  \nATOM   3437  CA  VAL D  28      13.655  20.763 -13.555  1.00 98.75           C  \nATOM   3438  C   VAL D  28      14.528  21.324 -14.675  1.00 98.75           C  \nATOM   3439  CB  VAL D  28      12.256  21.419 -13.590  1.00 98.75           C  \nATOM   3440  O   VAL D  28      14.735  20.666 -15.698  1.00 98.75           O  \nATOM   3441  CG1 VAL D  28      11.655  21.333 -14.992  1.00 98.75           C  \nATOM   3442  CG2 VAL D  28      11.333  20.760 -12.567  1.00 98.75           C  \nATOM   3443  N   LYS D  29      15.029  22.488 -14.463  1.00 98.51           N  \nATOM   3444  CA  LYS D  29      15.908  23.113 -15.447  1.00 98.51           C  \nATOM   3445  C   LYS D  29      17.114  22.226 -15.747  1.00 98.51           C  \nATOM   3446  CB  LYS D  29      16.375  24.484 -14.956  1.00 98.51           C  \nATOM   3447  O   LYS D  29      17.442  21.989 -16.911  1.00 98.51           O  \nATOM   3448  CG  LYS D  29      17.266  25.224 -15.943  1.00 98.51           C  \nATOM   3449  CD  LYS D  29      17.713  26.572 -15.391  1.00 98.51           C  \nATOM   3450  CE  LYS D  29      18.670  27.277 -16.342  1.00 98.51           C  \nATOM   3451  NZ  LYS D  29      19.161  28.569 -15.777  1.00 98.51           N  \nATOM   3452  N   LEU D  30      17.710  21.801 -14.753  1.00 98.22           N  \nATOM   3453  CA  LEU D  30      18.888  20.953 -14.899  1.00 98.22           C  \nATOM   3454  C   LEU D  30      18.538  19.656 -15.621  1.00 98.22           C  \nATOM   3455  CB  LEU D  30      19.497  20.641 -13.530  1.00 98.22           C  \nATOM   3456  O   LEU D  30      19.277  19.213 -16.503  1.00 98.22           O  \nATOM   3457  CG  LEU D  30      20.874  19.975 -13.536  1.00 98.22           C  \nATOM   3458  CD1 LEU D  30      21.856  20.795 -14.364  1.00 98.22           C  \nATOM   3459  CD2 LEU D  30      21.387  19.795 -12.111  1.00 98.22           C  \nATOM   3460  N   MET D  31      17.445  19.054 -15.314  1.00 97.79           N  \nATOM   3461  CA  MET D  31      17.005  17.821 -15.960  1.00 97.79           C  \nATOM   3462  C   MET D  31      16.727  18.052 -17.441  1.00 97.79           C  \nATOM   3463  CB  MET D  31      15.756  17.269 -15.272  1.00 97.79           C  \nATOM   3464  O   MET D  31      17.084  17.224 -18.281  1.00 97.79           O  \nATOM   3465  CG  MET D  31      16.027  16.656 -13.908  1.00 97.79           C  \nATOM   3466  SD  MET D  31      14.507  15.994 -13.120  1.00 97.79           S  \nATOM   3467  CE  MET D  31      15.174  15.497 -11.507  1.00 97.79           C  \nATOM   3468  N   LYS D  32      16.095  19.159 -17.748  1.00 97.69           N  \nATOM   3469  CA  LYS D  32      15.822  19.503 -19.140  1.00 97.69           C  \nATOM   3470  C   LYS D  32      17.118  19.717 -19.918  1.00 97.69           C  \nATOM   3471  CB  LYS D  32      14.949  20.756 -19.223  1.00 97.69           C  \nATOM   3472  O   LYS D  32      17.303  19.147 -20.995  1.00 97.69           O  \nATOM   3473  CG  LYS D  32      13.499  20.528 -18.823  1.00 97.69           C  \nATOM   3474  CD  LYS D  32      12.668  21.794 -18.983  1.00 97.69           C  \nATOM   3475  CE  LYS D  32      11.199  21.543 -18.673  1.00 97.69           C  \nATOM   3476  NZ  LYS D  32      10.370  22.767 -18.889  1.00 97.69           N  \nATOM   3477  N   GLU D  33      18.044  20.465 -19.327  1.00 97.25           N  \nATOM   3478  CA  GLU D  33      19.304  20.795 -19.985  1.00 97.25           C  \nATOM   3479  C   GLU D  33      20.143  19.544 -20.231  1.00 97.25           C  \nATOM   3480  CB  GLU D  33      20.097  21.806 -19.153  1.00 97.25           C  \nATOM   3481  O   GLU D  33      20.753  19.398 -21.292  1.00 97.25           O  \nATOM   3482  CG  GLU D  33      19.521  23.214 -19.182  1.00 97.25           C  \nATOM   3483  CD  GLU D  33      20.257  24.182 -18.269  1.00 97.25           C  \nATOM   3484  OE1 GLU D  33      19.944  25.394 -18.292  1.00 97.25           O  \nATOM   3485  OE2 GLU D  33      21.155  23.725 -17.527  1.00 97.25           O  \nATOM   3486  N   LYS D  34      20.101  18.680 -19.269  1.00 96.25           N  \nATOM   3487  CA  LYS D  34      20.973  17.512 -19.343  1.00 96.25           C  \nATOM   3488  C   LYS D  34      20.213  16.289 -19.847  1.00 96.25           C  \nATOM   3489  CB  LYS D  34      21.592  17.217 -17.976  1.00 96.25           C  \nATOM   3490  O   LYS D  34      20.794  15.214 -20.011  1.00 96.25           O  \nATOM   3491  CG  LYS D  34      22.450  18.348 -17.427  1.00 96.25           C  \nATOM   3492  CD  LYS D  34      23.689  18.575 -18.283  1.00 96.25           C  \nATOM   3493  CE  LYS D  34      24.605  19.629 -17.675  1.00 96.25           C  \nATOM   3494  NZ  LYS D  34      25.831  19.842 -18.500  1.00 96.25           N  \nATOM   3495  N   LYS D  35      18.851  16.437 -20.078  1.00 94.16           N  \nATOM   3496  CA  LYS D  35      17.982  15.367 -20.558  1.00 94.16           C  \nATOM   3497  C   LYS D  35      18.033  14.158 -19.628  1.00 94.16           C  \nATOM   3498  CB  LYS D  35      18.372  14.953 -21.977  1.00 94.16           C  \nATOM   3499  O   LYS D  35      18.251  13.031 -20.077  1.00 94.16           O  \nATOM   3500  CG  LYS D  35      18.239  16.066 -23.006  1.00 94.16           C  \nATOM   3501  CD  LYS D  35      18.583  15.577 -24.407  1.00 94.16           C  \nATOM   3502  CE  LYS D  35      18.463  16.694 -25.435  1.00 94.16           C  \nATOM   3503  NZ  LYS D  35      18.796  16.219 -26.811  1.00 94.16           N  \nATOM   3504  N   LEU D  36      17.860  14.427 -18.387  1.00 94.69           N  \nATOM   3505  CA  LEU D  36      17.898  13.392 -17.360  1.00 94.69           C  \nATOM   3506  C   LEU D  36      16.546  13.267 -16.664  1.00 94.69           C  \nATOM   3507  CB  LEU D  36      18.988  13.698 -16.329  1.00 94.69           C  \nATOM   3508  O   LEU D  36      15.754  14.212 -16.663  1.00 94.69           O  \nATOM   3509  CG  LEU D  36      20.427  13.708 -16.848  1.00 94.69           C  \nATOM   3510  CD1 LEU D  36      21.368  14.273 -15.789  1.00 94.69           C  \nATOM   3511  CD2 LEU D  36      20.857  12.304 -17.259  1.00 94.69           C  \nATOM   3512  N   ARG D  37      16.296  12.124 -16.114  1.00 95.25           N  \nATOM   3513  CA  ARG D  37      15.021  11.863 -15.454  1.00 95.25           C  \nATOM   3514  C   ARG D  37      15.202  11.732 -13.946  1.00 95.25           C  \nATOM   3515  CB  ARG D  37      14.374  10.595 -16.017  1.00 95.25           C  \nATOM   3516  O   ARG D  37      14.245  11.449 -13.223  1.00 95.25           O  \nATOM   3517  CG  ARG D  37      13.960  10.710 -17.475  1.00 95.25           C  \nATOM   3518  CD  ARG D  37      13.446   9.385 -18.021  1.00 95.25           C  \nATOM   3519  NE  ARG D  37      13.183   9.459 -19.456  1.00 95.25           N  \nATOM   3520  NH1 ARG D  37      13.665   7.237 -19.868  1.00 95.25           N  \nATOM   3521  NH2 ARG D  37      13.030   8.615 -21.586  1.00 95.25           N  \nATOM   3522  CZ  ARG D  37      13.293   8.437 -20.300  1.00 95.25           C  \nATOM   3523  N   GLY D  38      16.357  11.867 -13.420  1.00 96.38           N  \nATOM   3524  CA  GLY D  38      16.719  11.861 -12.012  1.00 96.38           C  \nATOM   3525  C   GLY D  38      18.039  12.552 -11.732  1.00 96.38           C  \nATOM   3526  O   GLY D  38      18.946  12.532 -12.567  1.00 96.38           O  \nATOM   3527  N   LEU D  39      18.107  13.082 -10.528  1.00 98.05           N  \nATOM   3528  CA  LEU D  39      19.318  13.741 -10.051  1.00 98.05           C  \nATOM   3529  C   LEU D  39      19.740  13.186  -8.695  1.00 98.05           C  \nATOM   3530  CB  LEU D  39      19.101  15.253  -9.952  1.00 98.05           C  \nATOM   3531  O   LEU D  39      18.892  12.856  -7.863  1.00 98.05           O  \nATOM   3532  CG  LEU D  39      18.579  15.947 -11.210  1.00 98.05           C  \nATOM   3533  CD1 LEU D  39      18.183  17.386 -10.896  1.00 98.05           C  \nATOM   3534  CD2 LEU D  39      19.625  15.905 -12.318  1.00 98.05           C  \nATOM   3535  N   ILE D  40      21.024  13.146  -8.502  1.00 97.83           N  \nATOM   3536  CA  ILE D  40      21.545  12.725  -7.206  1.00 97.83           C  \nATOM   3537  C   ILE D  40      21.691  13.938  -6.290  1.00 97.83           C  \nATOM   3538  CB  ILE D  40      22.900  11.997  -7.350  1.00 97.83           C  \nATOM   3539  O   ILE D  40      22.155  14.997  -6.720  1.00 97.83           O  \nATOM   3540  CG1 ILE D  40      22.733  10.717  -8.176  1.00 97.83           C  \nATOM   3541  CG2 ILE D  40      23.497  11.687  -5.974  1.00 97.83           C  \nATOM   3542  CD1 ILE D  40      21.766   9.710  -7.569  1.00 97.83           C  \nATOM   3543  N   VAL D  41      21.196  13.860  -5.129  1.00 97.87           N  \nATOM   3544  CA  VAL D  41      21.381  14.902  -4.124  1.00 97.87           C  \nATOM   3545  C   VAL D  41      22.674  14.653  -3.352  1.00 97.87           C  \nATOM   3546  CB  VAL D  41      20.183  14.970  -3.150  1.00 97.87           C  \nATOM   3547  O   VAL D  41      22.834  13.607  -2.718  1.00 97.87           O  \nATOM   3548  CG1 VAL D  41      20.386  16.082  -2.122  1.00 97.87           C  \nATOM   3549  CG2 VAL D  41      18.881  15.182  -3.920  1.00 97.87           C  \nATOM   3550  N   GLU D  42      23.481  15.539  -3.272  1.00 93.35           N  \nATOM   3551  CA  GLU D  42      24.829  15.402  -2.727  1.00 93.35           C  \nATOM   3552  C   GLU D  42      24.803  15.336  -1.203  1.00 93.35           C  \nATOM   3553  CB  GLU D  42      25.717  16.560  -3.189  1.00 93.35           C  \nATOM   3554  O   GLU D  42      23.995  16.011  -0.561  1.00 93.35           O  \nATOM   3555  CG  GLU D  42      25.963  16.585  -4.691  1.00 93.35           C  \nATOM   3556  CD  GLU D  42      26.773  17.788  -5.146  1.00 93.35           C  \nATOM   3557  OE1 GLU D  42      27.149  17.851  -6.338  1.00 93.35           O  \nATOM   3558  OE2 GLU D  42      27.034  18.675  -4.303  1.00 93.35           O  \nATOM   3559  N   PRO D  43      25.784  14.558  -0.679  1.00 91.88           N  \nATOM   3560  CA  PRO D  43      25.962  14.628   0.773  1.00 91.88           C  \nATOM   3561  C   PRO D  43      26.566  15.954   1.231  1.00 91.88           C  \nATOM   3562  CB  PRO D  43      26.913  13.465   1.068  1.00 91.88           C  \nATOM   3563  O   PRO D  43      27.333  16.575   0.491  1.00 91.88           O  \nATOM   3564  CG  PRO D  43      26.929  12.657  -0.189  1.00 91.88           C  \nATOM   3565  CD  PRO D  43      26.521  13.542  -1.331  1.00 91.88           C  \nATOM   3566  N   ARG D  44      26.212  16.375   2.368  1.00 86.13           N  \nATOM   3567  CA  ARG D  44      26.742  17.626   2.901  1.00 86.13           C  \nATOM   3568  C   ARG D  44      28.110  17.413   3.540  1.00 86.13           C  \nATOM   3569  CB  ARG D  44      25.775  18.229   3.922  1.00 86.13           C  \nATOM   3570  O   ARG D  44      28.941  18.323   3.559  1.00 86.13           O  \nATOM   3571  CG  ARG D  44      24.434  18.639   3.334  1.00 86.13           C  \nATOM   3572  CD  ARG D  44      24.508  20.001   2.658  1.00 86.13           C  \nATOM   3573  NE  ARG D  44      24.681  21.077   3.630  1.00 86.13           N  \nATOM   3574  NH1 ARG D  44      23.972  22.755   2.209  1.00 86.13           N  \nATOM   3575  NH2 ARG D  44      24.615  23.256   4.352  1.00 86.13           N  \nATOM   3576  CZ  ARG D  44      24.422  22.360   3.395  1.00 86.13           C  \nATOM   3577  N   HIS D  45      28.284  16.246   4.155  1.00 81.89           N  \nATOM   3578  CA  HIS D  45      29.544  15.849   4.773  1.00 81.89           C  \nATOM   3579  C   HIS D  45      29.764  14.345   4.660  1.00 81.89           C  \nATOM   3580  CB  HIS D  45      29.579  16.276   6.242  1.00 81.89           C  \nATOM   3581  O   HIS D  45      28.921  13.629   4.113  1.00 81.89           O  \nATOM   3582  CG  HIS D  45      28.388  15.823   7.026  1.00 81.89           C  \nATOM   3583  CD2 HIS D  45      27.290  16.496   7.442  1.00 81.89           C  \nATOM   3584  ND1 HIS D  45      28.241  14.529   7.475  1.00 81.89           N  \nATOM   3585  CE1 HIS D  45      27.100  14.425   8.135  1.00 81.89           C  \nATOM   3586  NE2 HIS D  45      26.504  15.605   8.130  1.00 81.89           N  \nATOM   3587  N   GLU D  46      30.799  13.872   5.103  1.00 74.94           N  \nATOM   3588  CA  GLU D  46      31.230  12.492   4.896  1.00 74.94           C  \nATOM   3589  C   GLU D  46      30.237  11.507   5.506  1.00 74.94           C  \nATOM   3590  CB  GLU D  46      32.623  12.269   5.489  1.00 74.94           C  \nATOM   3591  O   GLU D  46      30.061  10.399   4.995  1.00 74.94           O  \nATOM   3592  CG  GLU D  46      33.752  12.825   4.633  1.00 74.94           C  \nATOM   3593  CD  GLU D  46      35.134  12.489   5.170  1.00 74.94           C  \nATOM   3594  OE1 GLU D  46      36.141  12.805   4.496  1.00 74.94           O  \nATOM   3595  OE2 GLU D  46      35.211  11.904   6.273  1.00 74.94           O  \nATOM   3596  N   GLN D  47      29.624  11.868   6.524  1.00 75.70           N  \nATOM   3597  CA  GLN D  47      28.701  10.966   7.206  1.00 75.70           C  \nATOM   3598  C   GLN D  47      27.287  11.104   6.651  1.00 75.70           C  \nATOM   3599  CB  GLN D  47      28.703  11.234   8.712  1.00 75.70           C  \nATOM   3600  O   GLN D  47      26.390  10.345   7.026  1.00 75.70           O  \nATOM   3601  CG  GLN D  47      30.031  10.927   9.390  1.00 75.70           C  \nATOM   3602  CD  GLN D  47      30.163  11.588  10.749  1.00 75.70           C  \nATOM   3603  NE2 GLN D  47      31.289  11.355  11.415  1.00 75.70           N  \nATOM   3604  OE1 GLN D  47      29.261  12.302  11.197  1.00 75.70           O  \nATOM   3605  N   ASP D  48      27.137  12.043   5.797  1.00 87.46           N  \nATOM   3606  CA  ASP D  48      25.836  12.283   5.179  1.00 87.46           C  \nATOM   3607  C   ASP D  48      25.633  11.385   3.961  1.00 87.46           C  \nATOM   3608  CB  ASP D  48      25.695  13.753   4.779  1.00 87.46           C  \nATOM   3609  O   ASP D  48      26.557  11.183   3.170  1.00 87.46           O  \nATOM   3610  CG  ASP D  48      24.275  14.128   4.391  1.00 87.46           C  \nATOM   3611  OD1 ASP D  48      23.318  13.594   4.991  1.00 87.46           O  \nATOM   3612  OD2 ASP D  48      24.113  14.963   3.475  1.00 87.46           O  \nATOM   3613  N   PRO D  49      24.447  10.799   3.771  1.00 92.92           N  \nATOM   3614  CA  PRO D  49      24.208   9.897   2.642  1.00 92.92           C  \nATOM   3615  C   PRO D  49      23.785  10.636   1.375  1.00 92.92           C  \nATOM   3616  CB  PRO D  49      23.083   8.990   3.148  1.00 92.92           C  \nATOM   3617  O   PRO D  49      23.419  11.813   1.435  1.00 92.92           O  \nATOM   3618  CG  PRO D  49      22.262   9.863   4.042  1.00 92.92           C  \nATOM   3619  CD  PRO D  49      23.185  10.787   4.783  1.00 92.92           C  \nATOM   3620  N   TYR D  50      23.848   9.925   0.265  1.00 94.38           N  \nATOM   3621  CA  TYR D  50      23.302  10.431  -0.990  1.00 94.38           C  \nATOM   3622  C   TYR D  50      21.779  10.387  -0.980  1.00 94.38           C  \nATOM   3623  CB  TYR D  50      23.840   9.622  -2.174  1.00 94.38           C  \nATOM   3624  O   TYR D  50      21.180   9.578  -0.268  1.00 94.38           O  \nATOM   3625  CG  TYR D  50      25.305   9.854  -2.453  1.00 94.38           C  \nATOM   3626  CD1 TYR D  50      25.726  10.949  -3.204  1.00 94.38           C  \nATOM   3627  CD2 TYR D  50      26.271   8.978  -1.968  1.00 94.38           C  \nATOM   3628  CE1 TYR D  50      27.075  11.166  -3.465  1.00 94.38           C  \nATOM   3629  CE2 TYR D  50      27.622   9.186  -2.223  1.00 94.38           C  \nATOM   3630  OH  TYR D  50      29.351  10.491  -3.226  1.00 94.38           O  \nATOM   3631  CZ  TYR D  50      28.014  10.281  -2.971  1.00 94.38           C  \nATOM   3632  N   GLY D  51      21.223  11.339  -1.676  1.00 96.82           N  \nATOM   3633  CA  GLY D  51      19.803  11.319  -1.986  1.00 96.82           C  \nATOM   3634  C   GLY D  51      19.518  11.314  -3.476  1.00 96.82           C  \nATOM   3635  O   GLY D  51      20.443  11.336  -4.290  1.00 96.82           O  \nATOM   3636  N   ILE D  52      18.249  11.229  -3.809  1.00 98.38           N  \nATOM   3637  CA  ILE D  52      17.849  11.250  -5.212  1.00 98.38           C  \nATOM   3638  C   ILE D  52      16.514  11.977  -5.358  1.00 98.38           C  \nATOM   3639  CB  ILE D  52      17.747   9.821  -5.792  1.00 98.38           C  \nATOM   3640  O   ILE D  52      15.649  11.880  -4.484  1.00 98.38           O  \nATOM   3641  CG1 ILE D  52      17.518   9.874  -7.307  1.00 98.38           C  \nATOM   3642  CG2 ILE D  52      16.632   9.034  -5.097  1.00 98.38           C  \nATOM   3643  CD1 ILE D  52      17.706   8.536  -8.009  1.00 98.38           C  \nATOM   3644  N   VAL D  53      16.376  12.759  -6.397  1.00 98.59           N  \nATOM   3645  CA  VAL D  53      15.113  13.359  -6.813  1.00 98.59           C  \nATOM   3646  C   VAL D  53      14.822  12.998  -8.267  1.00 98.59           C  \nATOM   3647  CB  VAL D  53      15.129  14.894  -6.638  1.00 98.59           C  \nATOM   3648  O   VAL D  53      15.706  13.080  -9.123  1.00 98.59           O  \nATOM   3649  CG1 VAL D  53      16.202  15.527  -7.523  1.00 98.59           C  \nATOM   3650  CG2 VAL D  53      13.755  15.482  -6.956  1.00 98.59           C  \nATOM   3651  N   THR D  54      13.599  12.571  -8.553  1.00 98.22           N  \nATOM   3652  CA  THR D  54      13.256  12.073  -9.881  1.00 98.22           C  \nATOM   3653  C   THR D  54      12.110  12.881 -10.482  1.00 98.22           C  \nATOM   3654  CB  THR D  54      12.869  10.583  -9.836  1.00 98.22           C  \nATOM   3655  O   THR D  54      11.470  13.673  -9.788  1.00 98.22           O  \nATOM   3656  CG2 THR D  54      13.914   9.766  -9.084  1.00 98.22           C  \nATOM   3657  OG1 THR D  54      11.604  10.443  -9.177  1.00 98.22           O  \nATOM   3658  N   GLU D  55      11.878  12.658 -11.738  1.00 98.04           N  \nATOM   3659  CA  GLU D  55      10.749  13.288 -12.417  1.00 98.04           C  \nATOM   3660  C   GLU D  55       9.424  12.875 -11.784  1.00 98.04           C  \nATOM   3661  CB  GLU D  55      10.753  12.934 -13.907  1.00 98.04           C  \nATOM   3662  O   GLU D  55       8.482  13.670 -11.729  1.00 98.04           O  \nATOM   3663  CG  GLU D  55      10.650  11.441 -14.185  1.00 98.04           C  \nATOM   3664  CD  GLU D  55      10.722  11.100 -15.664  1.00 98.04           C  \nATOM   3665  OE1 GLU D  55      10.525   9.917 -16.025  1.00 98.04           O  \nATOM   3666  OE2 GLU D  55      10.979  12.023 -16.470  1.00 98.04           O  \nATOM   3667  N   THR D  56       9.401  11.675 -11.286  1.00 98.05           N  \nATOM   3668  CA  THR D  56       8.184  11.197 -10.641  1.00 98.05           C  \nATOM   3669  C   THR D  56       7.928  11.953  -9.340  1.00 98.05           C  \nATOM   3670  CB  THR D  56       8.261   9.686 -10.353  1.00 98.05           C  \nATOM   3671  O   THR D  56       6.789  12.321  -9.044  1.00 98.05           O  \nATOM   3672  CG2 THR D  56       6.962   9.177  -9.736  1.00 98.05           C  \nATOM   3673  OG1 THR D  56       8.502   8.984 -11.579  1.00 98.05           O  \nATOM   3674  N   ASP D  57       8.946  12.231  -8.593  1.00 98.51           N  \nATOM   3675  CA  ASP D  57       8.797  13.031  -7.381  1.00 98.51           C  \nATOM   3676  C   ASP D  57       8.201  14.401  -7.698  1.00 98.51           C  \nATOM   3677  CB  ASP D  57      10.145  13.194  -6.676  1.00 98.51           C  \nATOM   3678  O   ASP D  57       7.254  14.838  -7.041  1.00 98.51           O  \nATOM   3679  CG  ASP D  57      10.675  11.892  -6.102  1.00 98.51           C  \nATOM   3680  OD1 ASP D  57       9.875  11.083  -5.585  1.00 98.51           O  \nATOM   3681  OD2 ASP D  57      11.904  11.674  -6.165  1.00 98.51           O  \nATOM   3682  N   ILE D  58       8.714  14.999  -8.687  1.00 98.77           N  \nATOM   3683  CA  ILE D  58       8.321  16.355  -9.051  1.00 98.77           C  \nATOM   3684  C   ILE D  58       6.871  16.361  -9.532  1.00 98.77           C  \nATOM   3685  CB  ILE D  58       9.249  16.940 -10.140  1.00 98.77           C  \nATOM   3686  O   ILE D  58       6.065  17.178  -9.082  1.00 98.77           O  \nATOM   3687  CG1 ILE D  58      10.657  17.164  -9.577  1.00 98.77           C  \nATOM   3688  CG2 ILE D  58       8.670  18.242 -10.700  1.00 98.77           C  \nATOM   3689  CD1 ILE D  58      11.691  17.543 -10.628  1.00 98.77           C  \nATOM   3690  N   VAL D  59       6.553  15.446 -10.349  1.00 98.61           N  \nATOM   3691  CA  VAL D  59       5.211  15.428 -10.920  1.00 98.61           C  \nATOM   3692  C   VAL D  59       4.197  15.042  -9.846  1.00 98.61           C  \nATOM   3693  CB  VAL D  59       5.116  14.454 -12.117  1.00 98.61           C  \nATOM   3694  O   VAL D  59       3.159  15.691  -9.701  1.00 98.61           O  \nATOM   3695  CG1 VAL D  59       3.661  14.263 -12.543  1.00 98.61           C  \nATOM   3696  CG2 VAL D  59       5.956  14.964 -13.286  1.00 98.61           C  \nATOM   3697  N   TYR D  60       4.520  14.078  -9.016  1.00 98.25           N  \nATOM   3698  CA  TYR D  60       3.596  13.559  -8.015  1.00 98.25           C  \nATOM   3699  C   TYR D  60       3.411  14.554  -6.875  1.00 98.25           C  \nATOM   3700  CB  TYR D  60       4.096  12.221  -7.463  1.00 98.25           C  \nATOM   3701  O   TYR D  60       2.322  14.662  -6.307  1.00 98.25           O  \nATOM   3702  CG  TYR D  60       3.720  11.034  -8.316  1.00 98.25           C  \nATOM   3703  CD1 TYR D  60       3.317  11.202  -9.639  1.00 98.25           C  \nATOM   3704  CD2 TYR D  60       3.766   9.743  -7.801  1.00 98.25           C  \nATOM   3705  CE1 TYR D  60       2.968  10.111 -10.428  1.00 98.25           C  \nATOM   3706  CE2 TYR D  60       3.419   8.644  -8.581  1.00 98.25           C  \nATOM   3707  OH  TYR D  60       2.677   7.755 -10.669  1.00 98.25           O  \nATOM   3708  CZ  TYR D  60       3.022   8.838  -9.892  1.00 98.25           C  \nATOM   3709  N   LYS D  61       4.459  15.240  -6.510  1.00 98.11           N  \nATOM   3710  CA  LYS D  61       4.431  15.989  -5.257  1.00 98.11           C  \nATOM   3711  C   LYS D  61       4.325  17.489  -5.515  1.00 98.11           C  \nATOM   3712  CB  LYS D  61       5.678  15.688  -4.423  1.00 98.11           C  \nATOM   3713  O   LYS D  61       3.976  18.256  -4.614  1.00 98.11           O  \nATOM   3714  CG  LYS D  61       5.797  14.234  -3.991  1.00 98.11           C  \nATOM   3715  CD  LYS D  61       7.076  13.989  -3.200  1.00 98.11           C  \nATOM   3716  CE  LYS D  61       7.254  12.514  -2.867  1.00 98.11           C  \nATOM   3717  NZ  LYS D  61       8.523  12.264  -2.120  1.00 98.11           N  \nATOM   3718  N   VAL D  62       4.616  17.925  -6.708  1.00 98.37           N  \nATOM   3719  CA  VAL D  62       4.622  19.360  -6.969  1.00 98.37           C  \nATOM   3720  C   VAL D  62       3.569  19.698  -8.022  1.00 98.37           C  \nATOM   3721  CB  VAL D  62       6.013  19.847  -7.432  1.00 98.37           C  \nATOM   3722  O   VAL D  62       2.537  20.296  -7.707  1.00 98.37           O  \nATOM   3723  CG1 VAL D  62       6.034  21.368  -7.572  1.00 98.37           C  \nATOM   3724  CG2 VAL D  62       7.092  19.383  -6.455  1.00 98.37           C  \nATOM   3725  N   ALA D  63       3.705  19.219  -9.222  1.00 97.90           N  \nATOM   3726  CA  ALA D  63       2.797  19.547 -10.317  1.00 97.90           C  \nATOM   3727  C   ALA D  63       1.371  19.109  -9.998  1.00 97.90           C  \nATOM   3728  CB  ALA D  63       3.272  18.898 -11.615  1.00 97.90           C  \nATOM   3729  O   ALA D  63       0.418  19.856 -10.233  1.00 97.90           O  \nATOM   3730  N   ALA D  64       1.252  18.020  -9.435  1.00 97.25           N  \nATOM   3731  CA  ALA D  64      -0.053  17.427  -9.155  1.00 97.25           C  \nATOM   3732  C   ALA D  64      -0.836  18.272  -8.154  1.00 97.25           C  \nATOM   3733  CB  ALA D  64       0.112  16.003  -8.630  1.00 97.25           C  \nATOM   3734  O   ALA D  64      -2.064  18.180  -8.081  1.00 97.25           O  \nATOM   3735  N   PHE D  65      -0.103  19.049  -7.408  1.00 95.91           N  \nATOM   3736  CA  PHE D  65      -0.762  19.783  -6.334  1.00 95.91           C  \nATOM   3737  C   PHE D  65      -0.691  21.285  -6.581  1.00 95.91           C  \nATOM   3738  CB  PHE D  65      -0.128  19.444  -4.981  1.00 95.91           C  \nATOM   3739  O   PHE D  65      -1.115  22.079  -5.739  1.00 95.91           O  \nATOM   3740  CG  PHE D  65      -0.295  18.004  -4.577  1.00 95.91           C  \nATOM   3741  CD1 PHE D  65      -1.483  17.559  -4.011  1.00 95.91           C  \nATOM   3742  CD2 PHE D  65       0.738  17.094  -4.763  1.00 95.91           C  \nATOM   3743  CE1 PHE D  65      -1.641  16.227  -3.636  1.00 95.91           C  \nATOM   3744  CE2 PHE D  65       0.588  15.761  -4.391  1.00 95.91           C  \nATOM   3745  CZ  PHE D  65      -0.601  15.330  -3.827  1.00 95.91           C  \nATOM   3746  N   GLY D  66      -0.113  21.640  -7.641  1.00 93.46           N  \nATOM   3747  CA  GLY D  66      -0.042  23.043  -8.018  1.00 93.46           C  \nATOM   3748  C   GLY D  66       0.922  23.842  -7.162  1.00 93.46           C  \nATOM   3749  O   GLY D  66       0.758  25.053  -6.999  1.00 93.46           O  \nATOM   3750  N   HIS D  67       1.820  23.280  -6.506  1.00 96.20           N  \nATOM   3751  CA  HIS D  67       2.835  23.998  -5.744  1.00 96.20           C  \nATOM   3752  C   HIS D  67       3.774  24.769  -6.666  1.00 96.20           C  \nATOM   3753  CB  HIS D  67       3.636  23.029  -4.872  1.00 96.20           C  \nATOM   3754  O   HIS D  67       3.971  24.384  -7.821  1.00 96.20           O  \nATOM   3755  CG  HIS D  67       2.819  22.360  -3.813  1.00 96.20           C  \nATOM   3756  CD2 HIS D  67       2.746  21.063  -3.433  1.00 96.20           C  \nATOM   3757  ND1 HIS D  67       1.940  23.049  -3.005  1.00 96.20           N  \nATOM   3758  CE1 HIS D  67       1.362  22.201  -2.170  1.00 96.20           C  \nATOM   3759  NE2 HIS D  67       1.833  20.990  -2.410  1.00 96.20           N  \nATOM   3760  N   ASP D  68       4.381  25.774  -6.144  1.00 96.18           N  \nATOM   3761  CA  ASP D  68       5.302  26.585  -6.934  1.00 96.18           C  \nATOM   3762  C   ASP D  68       6.716  26.010  -6.891  1.00 96.18           C  \nATOM   3763  CB  ASP D  68       5.307  28.031  -6.435  1.00 96.18           C  \nATOM   3764  O   ASP D  68       7.375  26.046  -5.850  1.00 96.18           O  \nATOM   3765  CG  ASP D  68       6.144  28.955  -7.303  1.00 96.18           C  \nATOM   3766  OD1 ASP D  68       6.811  28.470  -8.242  1.00 96.18           O  \nATOM   3767  OD2 ASP D  68       6.140  30.177  -7.042  1.00 96.18           O  \nATOM   3768  N   PRO D  69       7.160  25.544  -8.021  1.00 98.07           N  \nATOM   3769  CA  PRO D  69       8.496  24.943  -8.044  1.00 98.07           C  \nATOM   3770  C   PRO D  69       9.601  25.949  -7.731  1.00 98.07           C  \nATOM   3771  CB  PRO D  69       8.623  24.421  -9.478  1.00 98.07           C  \nATOM   3772  O   PRO D  69      10.729  25.556  -7.421  1.00 98.07           O  \nATOM   3773  CG  PRO D  69       7.218  24.347  -9.983  1.00 98.07           C  \nATOM   3774  CD  PRO D  69       6.415  25.429  -9.320  1.00 98.07           C  \nATOM   3775  N   LYS D  70       9.343  27.162  -7.816  1.00 97.02           N  \nATOM   3776  CA  LYS D  70      10.348  28.188  -7.550  1.00 97.02           C  \nATOM   3777  C   LYS D  70      10.508  28.424  -6.051  1.00 97.02           C  \nATOM   3778  CB  LYS D  70       9.978  29.497  -8.250  1.00 97.02           C  \nATOM   3779  O   LYS D  70      11.506  28.999  -5.611  1.00 97.02           O  \nATOM   3780  CG  LYS D  70       9.989  29.411  -9.769  1.00 97.02           C  \nATOM   3781  CD  LYS D  70       9.502  30.706 -10.405  1.00 97.02           C  \nATOM   3782  CE  LYS D  70       9.342  30.564 -11.913  1.00 97.02           C  \nATOM   3783  NZ  LYS D  70       8.721  31.779 -12.521  1.00 97.02           N  \nATOM   3784  N   THR D  71       9.548  27.985  -5.261  1.00 96.22           N  \nATOM   3785  CA  THR D  71       9.593  28.157  -3.813  1.00 96.22           C  \nATOM   3786  C   THR D  71       9.872  26.828  -3.119  1.00 96.22           C  \nATOM   3787  CB  THR D  71       8.277  28.752  -3.280  1.00 96.22           C  \nATOM   3788  O   THR D  71      10.622  26.777  -2.142  1.00 96.22           O  \nATOM   3789  CG2 THR D  71       7.963  30.085  -3.951  1.00 96.22           C  \nATOM   3790  OG1 THR D  71       7.206  27.835  -3.539  1.00 96.22           O  \nATOM   3791  N   MET D  72       9.353  25.808  -3.651  1.00 97.93           N  \nATOM   3792  CA  MET D  72       9.578  24.495  -3.052  1.00 97.93           C  \nATOM   3793  C   MET D  72      11.004  24.018  -3.307  1.00 97.93           C  \nATOM   3794  CB  MET D  72       8.579  23.475  -3.600  1.00 97.93           C  \nATOM   3795  O   MET D  72      11.568  24.275  -4.372  1.00 97.93           O  \nATOM   3796  CG  MET D  72       8.496  22.197  -2.781  1.00 97.93           C  \nATOM   3797  SD  MET D  72       7.114  21.112  -3.308  1.00 97.93           S  \nATOM   3798  CE  MET D  72       5.707  22.029  -2.620  1.00 97.93           C  \nATOM   3799  N   ARG D  73      11.543  23.342  -2.321  1.00 98.48           N  \nATOM   3800  CA  ARG D  73      12.946  22.944  -2.391  1.00 98.48           C  \nATOM   3801  C   ARG D  73      13.079  21.439  -2.594  1.00 98.48           C  \nATOM   3802  CB  ARG D  73      13.690  23.371  -1.124  1.00 98.48           C  \nATOM   3803  O   ARG D  73      12.166  20.679  -2.261  1.00 98.48           O  \nATOM   3804  CG  ARG D  73      13.567  24.853  -0.807  1.00 98.48           C  \nATOM   3805  CD  ARG D  73      14.321  25.710  -1.813  1.00 98.48           C  \nATOM   3806  NE  ARG D  73      14.293  27.123  -1.447  1.00 98.48           N  \nATOM   3807  NH1 ARG D  73      16.407  27.588  -2.255  1.00 98.48           N  \nATOM   3808  NH2 ARG D  73      15.153  29.247  -1.291  1.00 98.48           N  \nATOM   3809  CZ  ARG D  73      15.284  27.982  -1.665  1.00 98.48           C  \nATOM   3810  N   VAL D  74      14.195  21.004  -3.069  1.00 98.71           N  \nATOM   3811  CA  VAL D  74      14.482  19.611  -3.396  1.00 98.71           C  \nATOM   3812  C   VAL D  74      14.420  18.760  -2.129  1.00 98.71           C  \nATOM   3813  CB  VAL D  74      15.862  19.459  -4.073  1.00 98.71           C  \nATOM   3814  O   VAL D  74      13.874  17.654  -2.142  1.00 98.71           O  \nATOM   3815  CG1 VAL D  74      16.311  17.999  -4.063  1.00 98.71           C  \nATOM   3816  CG2 VAL D  74      15.817  19.998  -5.502  1.00 98.71           C  \nATOM   3817  N   TYR D  75      14.874  19.246  -1.003  1.00 97.53           N  \nATOM   3818  CA  TYR D  75      14.916  18.448   0.217  1.00 97.53           C  \nATOM   3819  C   TYR D  75      13.509  18.138   0.714  1.00 97.53           C  \nATOM   3820  CB  TYR D  75      15.707  19.175   1.309  1.00 97.53           C  \nATOM   3821  O   TYR D  75      13.321  17.251   1.550  1.00 97.53           O  \nATOM   3822  CG  TYR D  75      14.999  20.386   1.866  1.00 97.53           C  \nATOM   3823  CD1 TYR D  75      15.389  21.674   1.505  1.00 97.53           C  \nATOM   3824  CD2 TYR D  75      13.939  20.246   2.756  1.00 97.53           C  \nATOM   3825  CE1 TYR D  75      14.741  22.792   2.017  1.00 97.53           C  \nATOM   3826  CE2 TYR D  75      13.284  21.357   3.276  1.00 97.53           C  \nATOM   3827  OH  TYR D  75      13.046  23.729   3.411  1.00 97.53           O  \nATOM   3828  CZ  TYR D  75      13.691  22.624   2.900  1.00 97.53           C  \nATOM   3829  N   GLU D  76      12.516  18.849   0.216  1.00 97.92           N  \nATOM   3830  CA  GLU D  76      11.135  18.631   0.637  1.00 97.92           C  \nATOM   3831  C   GLU D  76      10.517  17.442  -0.093  1.00 97.92           C  \nATOM   3832  CB  GLU D  76      10.296  19.889   0.399  1.00 97.92           C  \nATOM   3833  O   GLU D  76       9.523  16.875   0.364  1.00 97.92           O  \nATOM   3834  CG  GLU D  76      10.737  21.088   1.225  1.00 97.92           C  \nATOM   3835  CD  GLU D  76       9.980  22.362   0.886  1.00 97.92           C  \nATOM   3836  OE1 GLU D  76      10.524  23.213   0.147  1.00 97.92           O  \nATOM   3837  OE2 GLU D  76       8.833  22.510   1.363  1.00 97.92           O  \nATOM   3838  N   ILE D  77      11.084  17.005  -1.235  1.00 98.32           N  \nATOM   3839  CA  ILE D  77      10.406  15.990  -2.033  1.00 98.32           C  \nATOM   3840  C   ILE D  77      11.370  14.848  -2.345  1.00 98.32           C  \nATOM   3841  CB  ILE D  77       9.840  16.585  -3.342  1.00 98.32           C  \nATOM   3842  O   ILE D  77      10.963  13.807  -2.866  1.00 98.32           O  \nATOM   3843  CG1 ILE D  77      10.973  17.155  -4.203  1.00 98.32           C  \nATOM   3844  CG2 ILE D  77       8.791  17.659  -3.038  1.00 98.32           C  \nATOM   3845  CD1 ILE D  77      10.597  17.359  -5.664  1.00 98.32           C  \nATOM   3846  N   MET D  78      12.610  14.934  -2.049  1.00 98.18           N  \nATOM   3847  CA  MET D  78      13.642  13.959  -2.391  1.00 98.18           C  \nATOM   3848  C   MET D  78      13.539  12.724  -1.503  1.00 98.18           C  \nATOM   3849  CB  MET D  78      15.034  14.580  -2.265  1.00 98.18           C  \nATOM   3850  O   MET D  78      12.877  12.754  -0.464  1.00 98.18           O  \nATOM   3851  CG  MET D  78      15.436  14.897  -0.833  1.00 98.18           C  \nATOM   3852  SD  MET D  78      17.116  15.624  -0.720  1.00 98.18           S  \nATOM   3853  CE  MET D  78      17.272  15.791   1.080  1.00 98.18           C  \nATOM   3854  N   ALA D  79      14.181  11.638  -1.978  1.00 97.71           N  \nATOM   3855  CA  ALA D  79      14.463  10.481  -1.131  1.00 97.71           C  \nATOM   3856  C   ALA D  79      15.894  10.525  -0.601  1.00 97.71           C  \nATOM   3857  CB  ALA D  79      14.225   9.186  -1.904  1.00 97.71           C  \nATOM   3858  O   ALA D  79      16.851  10.453  -1.375  1.00 97.71           O  \nATOM   3859  N   LYS D  80      16.032  10.661   0.682  1.00 96.64           N  \nATOM   3860  CA  LYS D  80      17.331  10.689   1.346  1.00 96.64           C  \nATOM   3861  C   LYS D  80      17.246  10.088   2.746  1.00 96.64           C  \nATOM   3862  CB  LYS D  80      17.865  12.120   1.422  1.00 96.64           C  \nATOM   3863  O   LYS D  80      16.501  10.583   3.595  1.00 96.64           O  \nATOM   3864  CG  LYS D  80      19.290  12.223   1.945  1.00 96.64           C  \nATOM   3865  CD  LYS D  80      19.856  13.624   1.753  1.00 96.64           C  \nATOM   3866  CE  LYS D  80      21.307  13.709   2.209  1.00 96.64           C  \nATOM   3867  NZ  LYS D  80      21.934  15.008   1.821  1.00 96.64           N  \nATOM   3868  N   PRO D  81      17.989   9.049   3.101  1.00 95.42           N  \nATOM   3869  CA  PRO D  81      18.861   8.293   2.199  1.00 95.42           C  \nATOM   3870  C   PRO D  81      18.084   7.530   1.129  1.00 95.42           C  \nATOM   3871  CB  PRO D  81      19.588   7.328   3.138  1.00 95.42           C  \nATOM   3872  O   PRO D  81      16.864   7.380   1.235  1.00 95.42           O  \nATOM   3873  CG  PRO D  81      18.639   7.110   4.272  1.00 95.42           C  \nATOM   3874  CD  PRO D  81      17.819   8.355   4.453  1.00 95.42           C  \nATOM   3875  N   CYS D  82      18.721   7.202   0.096  1.00 95.14           N  \nATOM   3876  CA  CYS D  82      18.113   6.390  -0.952  1.00 95.14           C  \nATOM   3877  C   CYS D  82      18.727   4.995  -0.985  1.00 95.14           C  \nATOM   3878  CB  CYS D  82      18.278   7.062  -2.315  1.00 95.14           C  \nATOM   3879  O   CYS D  82      19.802   4.771  -0.425  1.00 95.14           O  \nATOM   3880  SG  CYS D  82      19.998   7.384  -2.764  1.00 95.14           S  \nATOM   3881  N   VAL D  83      17.962   3.995  -1.536  1.00 95.48           N  \nATOM   3882  CA  VAL D  83      18.493   2.660  -1.790  1.00 95.48           C  \nATOM   3883  C   VAL D  83      19.653   2.745  -2.780  1.00 95.48           C  \nATOM   3884  CB  VAL D  83      17.402   1.708  -2.328  1.00 95.48           C  \nATOM   3885  O   VAL D  83      19.580   3.478  -3.770  1.00 95.48           O  \nATOM   3886  CG1 VAL D  83      17.998   0.345  -2.675  1.00 95.48           C  \nATOM   3887  CG2 VAL D  83      16.275   1.558  -1.307  1.00 95.48           C  \nATOM   3888  N   VAL D  84      20.662   2.054  -2.458  1.00 95.09           N  \nATOM   3889  CA  VAL D  84      21.837   2.088  -3.323  1.00 95.09           C  \nATOM   3890  C   VAL D  84      22.108   0.693  -3.881  1.00 95.09           C  \nATOM   3891  CB  VAL D  84      23.081   2.612  -2.571  1.00 95.09           C  \nATOM   3892  O   VAL D  84      21.677  -0.308  -3.304  1.00 95.09           O  \nATOM   3893  CG1 VAL D  84      22.845   4.033  -2.062  1.00 95.09           C  \nATOM   3894  CG2 VAL D  84      23.437   1.679  -1.415  1.00 95.09           C  \nATOM   3895  N   VAL D  85      22.815   0.640  -5.033  1.00 95.64           N  \nATOM   3896  CA  VAL D  85      23.121  -0.620  -5.703  1.00 95.64           C  \nATOM   3897  C   VAL D  85      24.630  -0.851  -5.706  1.00 95.64           C  \nATOM   3898  CB  VAL D  85      22.575  -0.641  -7.148  1.00 95.64           C  \nATOM   3899  O   VAL D  85      25.404   0.066  -5.994  1.00 95.64           O  \nATOM   3900  CG1 VAL D  85      23.103  -1.858  -7.907  1.00 95.64           C  \nATOM   3901  CG2 VAL D  85      21.047  -0.633  -7.142  1.00 95.64           C  \nATOM   3902  N   ASN D  86      25.072  -2.050  -5.390  1.00 93.46           N  \nATOM   3903  CA  ASN D  86      26.458  -2.479  -5.550  1.00 93.46           C  \nATOM   3904  C   ASN D  86      26.834  -2.622  -7.023  1.00 93.46           C  \nATOM   3905  CB  ASN D  86      26.701  -3.796  -4.810  1.00 93.46           C  \nATOM   3906  O   ASN D  86      26.105  -3.245  -7.796  1.00 93.46           O  \nATOM   3907  CG  ASN D  86      28.155  -4.224  -4.843  1.00 93.46           C  \nATOM   3908  ND2 ASN D  86      28.630  -4.796  -3.743  1.00 93.46           N  \nATOM   3909  OD1 ASN D  86      28.846  -4.041  -5.849  1.00 93.46           O  \nATOM   3910  N   PRO D  87      27.969  -2.053  -7.408  1.00 94.83           N  \nATOM   3911  CA  PRO D  87      28.351  -2.110  -8.821  1.00 94.83           C  \nATOM   3912  C   PRO D  87      28.534  -3.539  -9.325  1.00 94.83           C  \nATOM   3913  CB  PRO D  87      29.675  -1.343  -8.859  1.00 94.83           C  \nATOM   3914  O   PRO D  87      28.364  -3.804 -10.518  1.00 94.83           O  \nATOM   3915  CG  PRO D  87      30.176  -1.375  -7.451  1.00 94.83           C  \nATOM   3916  CD  PRO D  87      28.994  -1.401  -6.525  1.00 94.83           C  \nATOM   3917  N   GLU D  88      28.763  -4.458  -8.468  1.00 93.29           N  \nATOM   3918  CA  GLU D  88      29.039  -5.833  -8.874  1.00 93.29           C  \nATOM   3919  C   GLU D  88      27.777  -6.689  -8.823  1.00 93.29           C  \nATOM   3920  CB  GLU D  88      30.127  -6.447  -7.989  1.00 93.29           C  \nATOM   3921  O   GLU D  88      27.818  -7.884  -9.122  1.00 93.29           O  \nATOM   3922  CG  GLU D  88      31.470  -5.736  -8.083  1.00 93.29           C  \nATOM   3923  CD  GLU D  88      32.504  -6.277  -7.109  1.00 93.29           C  \nATOM   3924  OE1 GLU D  88      33.689  -5.883  -7.201  1.00 93.29           O  \nATOM   3925  OE2 GLU D  88      32.127  -7.103  -6.248  1.00 93.29           O  \nATOM   3926  N   LEU D  89      26.721  -6.093  -8.435  1.00 93.33           N  \nATOM   3927  CA  LEU D  89      25.465  -6.832  -8.368  1.00 93.33           C  \nATOM   3928  C   LEU D  89      24.989  -7.224  -9.763  1.00 93.33           C  \nATOM   3929  CB  LEU D  89      24.390  -6.000  -7.664  1.00 93.33           C  \nATOM   3930  O   LEU D  89      25.038  -6.413 -10.690  1.00 93.33           O  \nATOM   3931  CG  LEU D  89      23.124  -6.747  -7.239  1.00 93.33           C  \nATOM   3932  CD1 LEU D  89      23.464  -7.827  -6.218  1.00 93.33           C  \nATOM   3933  CD2 LEU D  89      22.093  -5.775  -6.675  1.00 93.33           C  \nATOM   3934  N   GLY D  90      24.457  -8.470  -9.900  1.00 93.00           N  \nATOM   3935  CA  GLY D  90      23.903  -8.911 -11.170  1.00 93.00           C  \nATOM   3936  C   GLY D  90      22.645  -8.159 -11.565  1.00 93.00           C  \nATOM   3937  O   GLY D  90      21.845  -7.784 -10.706  1.00 93.00           O  \nATOM   3938  N   VAL D  91      22.453  -8.058 -12.783  1.00 94.89           N  \nATOM   3939  CA  VAL D  91      21.387  -7.226 -13.332  1.00 94.89           C  \nATOM   3940  C   VAL D  91      20.028  -7.793 -12.925  1.00 94.89           C  \nATOM   3941  CB  VAL D  91      21.482  -7.123 -14.870  1.00 94.89           C  \nATOM   3942  O   VAL D  91      19.093  -7.039 -12.643  1.00 94.89           O  \nATOM   3943  CG1 VAL D  91      20.244  -6.436 -15.443  1.00 94.89           C  \nATOM   3944  CG2 VAL D  91      22.749  -6.374 -15.277  1.00 94.89           C  \nATOM   3945  N   GLU D  92      19.876  -9.053 -12.918  1.00 94.40           N  \nATOM   3946  CA  GLU D  92      18.606  -9.651 -12.517  1.00 94.40           C  \nATOM   3947  C   GLU D  92      18.285  -9.338 -11.059  1.00 94.40           C  \nATOM   3948  CB  GLU D  92      18.632 -11.165 -12.737  1.00 94.40           C  \nATOM   3949  O   GLU D  92      17.125  -9.118 -10.706  1.00 94.40           O  \nATOM   3950  CG  GLU D  92      18.707 -11.573 -14.201  1.00 94.40           C  \nATOM   3951  CD  GLU D  92      20.124 -11.567 -14.754  1.00 94.40           C  \nATOM   3952  OE1 GLU D  92      20.315 -11.925 -15.938  1.00 94.40           O  \nATOM   3953  OE2 GLU D  92      21.050 -11.203 -13.996  1.00 94.40           O  \nATOM   3954  N   TYR D  93      19.301  -9.343 -10.279  1.00 95.25           N  \nATOM   3955  CA  TYR D  93      19.111  -9.008  -8.872  1.00 95.25           C  \nATOM   3956  C   TYR D  93      18.780  -7.530  -8.703  1.00 95.25           C  \nATOM   3957  CB  TYR D  93      20.362  -9.359  -8.061  1.00 95.25           C  \nATOM   3958  O   TYR D  93      18.024  -7.156  -7.803  1.00 95.25           O  \nATOM   3959  CG  TYR D  93      20.513 -10.835  -7.784  1.00 95.25           C  \nATOM   3960  CD1 TYR D  93      19.504 -11.549  -7.142  1.00 95.25           C  \nATOM   3961  CD2 TYR D  93      21.663 -11.518  -8.163  1.00 95.25           C  \nATOM   3962  CE1 TYR D  93      19.638 -12.909  -6.883  1.00 95.25           C  \nATOM   3963  CE2 TYR D  93      21.809 -12.878  -7.909  1.00 95.25           C  \nATOM   3964  OH  TYR D  93      20.931 -14.910  -7.016  1.00 95.25           O  \nATOM   3965  CZ  TYR D  93      20.792 -13.564  -7.270  1.00 95.25           C  \nATOM   3966  N   VAL D  94      19.348  -6.671  -9.560  1.00 96.96           N  \nATOM   3967  CA  VAL D  94      18.950  -5.267  -9.551  1.00 96.96           C  \nATOM   3968  C   VAL D  94      17.461  -5.151  -9.869  1.00 96.96           C  \nATOM   3969  CB  VAL D  94      19.776  -4.436 -10.559  1.00 96.96           C  \nATOM   3970  O   VAL D  94      16.723  -4.453  -9.169  1.00 96.96           O  \nATOM   3971  CG1 VAL D  94      19.357  -2.968 -10.520  1.00 96.96           C  \nATOM   3972  CG2 VAL D  94      21.269  -4.577 -10.267  1.00 96.96           C  \nATOM   3973  N   ALA D  95      17.077  -5.880 -10.896  1.00 98.10           N  \nATOM   3974  CA  ALA D  95      15.662  -5.895 -11.258  1.00 98.10           C  \nATOM   3975  C   ALA D  95      14.800  -6.342 -10.081  1.00 98.10           C  \nATOM   3976  CB  ALA D  95      15.430  -6.807 -12.460  1.00 98.10           C  \nATOM   3977  O   ALA D  95      13.768  -5.732  -9.792  1.00 98.10           O  \nATOM   3978  N   ARG D  96      15.191  -7.364  -9.423  1.00 97.79           N  \nATOM   3979  CA  ARG D  96      14.443  -7.895  -8.288  1.00 97.79           C  \nATOM   3980  C   ARG D  96      14.408  -6.893  -7.138  1.00 97.79           C  \nATOM   3981  CB  ARG D  96      15.052  -9.216  -7.814  1.00 97.79           C  \nATOM   3982  O   ARG D  96      13.379  -6.733  -6.479  1.00 97.79           O  \nATOM   3983  CG  ARG D  96      14.210  -9.947  -6.780  1.00 97.79           C  \nATOM   3984  CD  ARG D  96      14.739 -11.348  -6.510  1.00 97.79           C  \nATOM   3985  NE  ARG D  96      14.107 -11.946  -5.337  1.00 97.79           N  \nATOM   3986  NH1 ARG D  96      12.412 -12.978  -6.521  1.00 97.79           N  \nATOM   3987  NH2 ARG D  96      12.525 -13.200  -4.242  1.00 97.79           N  \nATOM   3988  CZ  ARG D  96      13.016 -12.707  -5.369  1.00 97.79           C  \nATOM   3989  N   LEU D  97      15.531  -6.215  -6.899  1.00 97.66           N  \nATOM   3990  CA  LEU D  97      15.581  -5.177  -5.875  1.00 97.66           C  \nATOM   3991  C   LEU D  97      14.583  -4.065  -6.180  1.00 97.66           C  \nATOM   3992  CB  LEU D  97      16.994  -4.597  -5.769  1.00 97.66           C  \nATOM   3993  O   LEU D  97      13.848  -3.625  -5.293  1.00 97.66           O  \nATOM   3994  CG  LEU D  97      17.213  -3.542  -4.683  1.00 97.66           C  \nATOM   3995  CD1 LEU D  97      16.978  -4.145  -3.302  1.00 97.66           C  \nATOM   3996  CD2 LEU D  97      18.617  -2.955  -4.783  1.00 97.66           C  \nATOM   3997  N   PHE D  98      14.526  -3.650  -7.415  1.00 98.15           N  \nATOM   3998  CA  PHE D  98      13.575  -2.626  -7.834  1.00 98.15           C  \nATOM   3999  C   PHE D  98      12.142  -3.102  -7.628  1.00 98.15           C  \nATOM   4000  CB  PHE D  98      13.799  -2.253  -9.303  1.00 98.15           C  \nATOM   4001  O   PHE D  98      11.309  -2.365  -7.097  1.00 98.15           O  \nATOM   4002  CG  PHE D  98      15.008  -1.387  -9.532  1.00 98.15           C  \nATOM   4003  CD1 PHE D  98      15.740  -0.894  -8.459  1.00 98.15           C  \nATOM   4004  CD2 PHE D  98      15.411  -1.065 -10.821  1.00 98.15           C  \nATOM   4005  CE1 PHE D  98      16.860  -0.092  -8.668  1.00 98.15           C  \nATOM   4006  CE2 PHE D  98      16.529  -0.264 -11.038  1.00 98.15           C  \nATOM   4007  CZ  PHE D  98      17.251   0.223  -9.960  1.00 98.15           C  \nATOM   4008  N   ALA D  99      11.928  -4.318  -8.012  1.00 97.88           N  \nATOM   4009  CA  ALA D  99      10.586  -4.872  -7.858  1.00 97.88           C  \nATOM   4010  C   ALA D  99      10.182  -4.930  -6.387  1.00 97.88           C  \nATOM   4011  CB  ALA D  99      10.510  -6.263  -8.482  1.00 97.88           C  \nATOM   4012  O   ALA D  99       9.061  -4.560  -6.030  1.00 97.88           O  \nATOM   4013  N   GLN D 100      11.033  -5.319  -5.516  1.00 96.09           N  \nATOM   4014  CA  GLN D 100      10.747  -5.493  -4.096  1.00 96.09           C  \nATOM   4015  C   GLN D 100      10.564  -4.146  -3.402  1.00 96.09           C  \nATOM   4016  CB  GLN D 100      11.864  -6.285  -3.416  1.00 96.09           C  \nATOM   4017  O   GLN D 100       9.720  -4.008  -2.514  1.00 96.09           O  \nATOM   4018  CG  GLN D 100      11.872  -7.766  -3.771  1.00 96.09           C  \nATOM   4019  CD  GLN D 100      13.090  -8.493  -3.232  1.00 96.09           C  \nATOM   4020  NE2 GLN D 100      13.052  -9.821  -3.267  1.00 96.09           N  \nATOM   4021  OE1 GLN D 100      14.058  -7.866  -2.790  1.00 96.09           O  \nATOM   4022  N   THR D 101      11.350  -3.152  -3.815  1.00 96.65           N  \nATOM   4023  CA  THR D 101      11.333  -1.855  -3.146  1.00 96.65           C  \nATOM   4024  C   THR D 101      10.431  -0.874  -3.890  1.00 96.65           C  \nATOM   4025  CB  THR D 101      12.752  -1.267  -3.032  1.00 96.65           C  \nATOM   4026  O   THR D 101      10.186   0.236  -3.413  1.00 96.65           O  \nATOM   4027  CG2 THR D 101      13.653  -2.163  -2.188  1.00 96.65           C  \nATOM   4028  OG1 THR D 101      13.316  -1.140  -4.343  1.00 96.65           O  \nATOM   4029  N   ARG D 102      10.024  -1.187  -5.116  1.00 95.94           N  \nATOM   4030  CA  ARG D 102       9.131  -0.396  -5.956  1.00 95.94           C  \nATOM   4031  C   ARG D 102       9.788   0.917  -6.368  1.00 95.94           C  \nATOM   4032  CB  ARG D 102       7.815  -0.117  -5.228  1.00 95.94           C  \nATOM   4033  O   ARG D 102       9.133   1.961  -6.402  1.00 95.94           O  \nATOM   4034  CG  ARG D 102       7.004  -1.366  -4.921  1.00 95.94           C  \nATOM   4035  CD  ARG D 102       6.394  -1.966  -6.180  1.00 95.94           C  \nATOM   4036  NE  ARG D 102       5.481  -3.061  -5.867  1.00 95.94           N  \nATOM   4037  NH1 ARG D 102       4.527  -3.141  -7.970  1.00 95.94           N  \nATOM   4038  NH2 ARG D 102       3.830  -4.589  -6.335  1.00 95.94           N  \nATOM   4039  CZ  ARG D 102       4.615  -3.594  -6.725  1.00 95.94           C  \nATOM   4040  N   ILE D 103      11.087   0.849  -6.545  1.00 96.40           N  \nATOM   4041  CA  ILE D 103      11.798   1.981  -7.128  1.00 96.40           C  \nATOM   4042  C   ILE D 103      12.199   1.654  -8.565  1.00 96.40           C  \nATOM   4043  CB  ILE D 103      13.044   2.356  -6.295  1.00 96.40           C  \nATOM   4044  O   ILE D 103      12.108   0.501  -8.994  1.00 96.40           O  \nATOM   4045  CG1 ILE D 103      14.058   1.206  -6.305  1.00 96.40           C  \nATOM   4046  CG2 ILE D 103      12.646   2.723  -4.863  1.00 96.40           C  \nATOM   4047  CD1 ILE D 103      15.384   1.544  -5.637  1.00 96.40           C  \nATOM   4048  N   ARG D 104      12.603   2.651  -9.317  1.00 96.61           N  \nATOM   4049  CA  ARG D 104      12.875   2.438 -10.734  1.00 96.61           C  \nATOM   4050  C   ARG D 104      14.297   2.861 -11.088  1.00 96.61           C  \nATOM   4051  CB  ARG D 104      11.870   3.205 -11.596  1.00 96.61           C  \nATOM   4052  O   ARG D 104      14.754   2.643 -12.212  1.00 96.61           O  \nATOM   4053  CG  ARG D 104      10.435   2.731 -11.438  1.00 96.61           C  \nATOM   4054  CD  ARG D 104       9.448   3.696 -12.080  1.00 96.61           C  \nATOM   4055  NE  ARG D 104       8.066   3.334 -11.778  1.00 96.61           N  \nATOM   4056  NH1 ARG D 104       7.132   5.094 -12.948  1.00 96.61           N  \nATOM   4057  NH2 ARG D 104       5.785   3.589 -11.864  1.00 96.61           N  \nATOM   4058  CZ  ARG D 104       6.997   4.006 -12.197  1.00 96.61           C  \nATOM   4059  N   ARG D 105      14.900   3.512 -10.148  1.00 97.36           N  \nATOM   4060  CA  ARG D 105      16.280   3.945 -10.338  1.00 97.36           C  \nATOM   4061  C   ARG D 105      16.996   4.097  -9.000  1.00 97.36           C  \nATOM   4062  CB  ARG D 105      16.327   5.266 -11.110  1.00 97.36           C  \nATOM   4063  O   ARG D 105      16.360   4.348  -7.975  1.00 97.36           O  \nATOM   4064  CG  ARG D 105      15.730   6.442 -10.355  1.00 97.36           C  \nATOM   4065  CD  ARG D 105      15.599   7.673 -11.242  1.00 97.36           C  \nATOM   4066  NE  ARG D 105      14.834   7.386 -12.452  1.00 97.36           N  \nATOM   4067  NH1 ARG D 105      16.074   8.781 -13.814  1.00 97.36           N  \nATOM   4068  NH2 ARG D 105      14.320   7.588 -14.681  1.00 97.36           N  \nATOM   4069  CZ  ARG D 105      15.078   7.919 -13.646  1.00 97.36           C  \nATOM   4070  N   ALA D 106      18.282   3.952  -9.066  1.00 97.65           N  \nATOM   4071  CA  ALA D 106      19.107   4.048  -7.864  1.00 97.65           C  \nATOM   4072  C   ALA D 106      20.552   4.387  -8.216  1.00 97.65           C  \nATOM   4073  CB  ALA D 106      19.047   2.745  -7.072  1.00 97.65           C  \nATOM   4074  O   ALA D 106      21.036   4.028  -9.292  1.00 97.65           O  \nATOM   4075  N   PRO D 107      21.196   5.099  -7.312  1.00 97.39           N  \nATOM   4076  CA  PRO D 107      22.629   5.310  -7.530  1.00 97.39           C  \nATOM   4077  C   PRO D 107      23.449   4.038  -7.333  1.00 97.39           C  \nATOM   4078  CB  PRO D 107      22.993   6.363  -6.479  1.00 97.39           C  \nATOM   4079  O   PRO D 107      23.093   3.190  -6.511  1.00 97.39           O  \nATOM   4080  CG  PRO D 107      21.961   6.208  -5.409  1.00 97.39           C  \nATOM   4081  CD  PRO D 107      20.705   5.670  -6.032  1.00 97.39           C  \nATOM   4082  N   VAL D 108      24.464   3.876  -8.147  1.00 96.98           N  \nATOM   4083  CA  VAL D 108      25.460   2.821  -7.997  1.00 96.98           C  \nATOM   4084  C   VAL D 108      26.677   3.361  -7.249  1.00 96.98           C  \nATOM   4085  CB  VAL D 108      25.888   2.246  -9.366  1.00 96.98           C  \nATOM   4086  O   VAL D 108      27.381   4.241  -7.750  1.00 96.98           O  \nATOM   4087  CG1 VAL D 108      26.865   1.086  -9.184  1.00 96.98           C  \nATOM   4088  CG2 VAL D 108      24.664   1.798 -10.162  1.00 96.98           C  \nATOM   4089  N   ILE D 109      26.896   2.841  -6.087  1.00 92.92           N  \nATOM   4090  CA  ILE D 109      27.931   3.384  -5.215  1.00 92.92           C  \nATOM   4091  C   ILE D 109      28.909   2.277  -4.825  1.00 92.92           C  \nATOM   4092  CB  ILE D 109      27.323   4.032  -3.951  1.00 92.92           C  \nATOM   4093  O   ILE D 109      28.495   1.166  -4.485  1.00 92.92           O  \nATOM   4094  CG1 ILE D 109      26.409   5.200  -4.337  1.00 92.92           C  \nATOM   4095  CG2 ILE D 109      28.428   4.493  -2.996  1.00 92.92           C  \nATOM   4096  CD1 ILE D 109      25.699   5.847  -3.156  1.00 92.92           C  \nATOM   4097  N   GLN D 110      30.224   2.506  -4.889  1.00 90.31           N  \nATOM   4098  CA  GLN D 110      31.302   1.665  -4.379  1.00 90.31           C  \nATOM   4099  C   GLN D 110      32.020   2.337  -3.212  1.00 90.31           C  \nATOM   4100  CB  GLN D 110      32.300   1.337  -5.491  1.00 90.31           C  \nATOM   4101  O   GLN D 110      32.747   3.314  -3.404  1.00 90.31           O  \nATOM   4102  CG  GLN D 110      33.356   0.317  -5.089  1.00 90.31           C  \nATOM   4103  CD  GLN D 110      34.152  -0.201  -6.271  1.00 90.31           C  \nATOM   4104  NE2 GLN D 110      34.450  -1.496  -6.264  1.00 90.31           N  \nATOM   4105  OE1 GLN D 110      34.496   0.555  -7.185  1.00 90.31           O  \nATOM   4106  N   GLY D 111      31.802   1.782  -2.001  1.00 83.09           N  \nATOM   4107  CA  GLY D 111      32.302   2.502  -0.841  1.00 83.09           C  \nATOM   4108  C   GLY D 111      31.626   3.845  -0.635  1.00 83.09           C  \nATOM   4109  O   GLY D 111      30.423   3.907  -0.374  1.00 83.09           O  \nATOM   4110  N   LYS D 112      32.470   4.897  -0.869  1.00 83.13           N  \nATOM   4111  CA  LYS D 112      31.932   6.247  -0.718  1.00 83.13           C  \nATOM   4112  C   LYS D 112      31.872   6.967  -2.062  1.00 83.13           C  \nATOM   4113  CB  LYS D 112      32.774   7.053   0.272  1.00 83.13           C  \nATOM   4114  O   LYS D 112      31.502   8.141  -2.127  1.00 83.13           O  \nATOM   4115  CG  LYS D 112      32.692   6.551   1.706  1.00 83.13           C  \nATOM   4116  CD  LYS D 112      33.381   7.506   2.672  1.00 83.13           C  \nATOM   4117  CE  LYS D 112      33.238   7.042   4.116  1.00 83.13           C  \nATOM   4118  NZ  LYS D 112      33.876   7.997   5.070  1.00 83.13           N  \nATOM   4119  N   THR D 113      32.100   6.208  -3.074  1.00 89.76           N  \nATOM   4120  CA  THR D 113      32.219   6.848  -4.379  1.00 89.76           C  \nATOM   4121  C   THR D 113      30.985   6.570  -5.232  1.00 89.76           C  \nATOM   4122  CB  THR D 113      33.479   6.370  -5.123  1.00 89.76           C  \nATOM   4123  O   THR D 113      30.574   5.417  -5.382  1.00 89.76           O  \nATOM   4124  CG2 THR D 113      33.679   7.144  -6.422  1.00 89.76           C  \nATOM   4125  OG1 THR D 113      34.625   6.562  -4.284  1.00 89.76           O  \nATOM   4126  N   LEU D 114      30.431   7.589  -5.707  1.00 94.06           N  \nATOM   4127  CA  LEU D 114      29.317   7.486  -6.643  1.00 94.06           C  \nATOM   4128  C   LEU D 114      29.813   7.139  -8.043  1.00 94.06           C  \nATOM   4129  CB  LEU D 114      28.526   8.796  -6.681  1.00 94.06           C  \nATOM   4130  O   LEU D 114      30.579   7.898  -8.641  1.00 94.06           O  \nATOM   4131  CG  LEU D 114      27.362   8.858  -7.671  1.00 94.06           C  \nATOM   4132  CD1 LEU D 114      26.272   7.870  -7.270  1.00 94.06           C  \nATOM   4133  CD2 LEU D 114      26.804  10.274  -7.754  1.00 94.06           C  \nATOM   4134  N   LEU D 115      29.381   6.048  -8.672  1.00 95.79           N  \nATOM   4135  CA  LEU D 115      29.857   5.594  -9.974  1.00 95.79           C  \nATOM   4136  C   LEU D 115      28.864   5.957 -11.073  1.00 95.79           C  \nATOM   4137  CB  LEU D 115      30.092   4.081  -9.961  1.00 95.79           C  \nATOM   4138  O   LEU D 115      29.259   6.207 -12.214  1.00 95.79           O  \nATOM   4139  CG  LEU D 115      31.175   3.571  -9.010  1.00 95.79           C  \nATOM   4140  CD1 LEU D 115      31.364   2.067  -9.179  1.00 95.79           C  \nATOM   4141  CD2 LEU D 115      32.487   4.311  -9.247  1.00 95.79           C  \nATOM   4142  N   GLY D 116      27.591   5.916 -10.706  1.00 96.54           N  \nATOM   4143  CA  GLY D 116      26.552   6.171 -11.691  1.00 96.54           C  \nATOM   4144  C   GLY D 116      25.151   5.964 -11.148  1.00 96.54           C  \nATOM   4145  O   GLY D 116      24.932   6.032  -9.937  1.00 96.54           O  \nATOM   4146  N   ILE D 117      24.153   5.895 -12.080  1.00 97.27           N  \nATOM   4147  CA  ILE D 117      22.754   5.608 -11.787  1.00 97.27           C  \nATOM   4148  C   ILE D 117      22.272   4.449 -12.657  1.00 97.27           C  \nATOM   4149  CB  ILE D 117      21.863   6.851 -12.008  1.00 97.27           C  \nATOM   4150  O   ILE D 117      22.610   4.371 -13.841  1.00 97.27           O  \nATOM   4151  CG1 ILE D 117      22.203   7.940 -10.985  1.00 97.27           C  \nATOM   4152  CG2 ILE D 117      20.381   6.473 -11.934  1.00 97.27           C  \nATOM   4153  CD1 ILE D 117      21.447   9.245 -11.195  1.00 97.27           C  \nATOM   4154  N   ILE D 118      21.598   3.557 -12.130  1.00 97.96           N  \nATOM   4155  CA  ILE D 118      21.005   2.462 -12.890  1.00 97.96           C  \nATOM   4156  C   ILE D 118      19.482   2.535 -12.798  1.00 97.96           C  \nATOM   4157  CB  ILE D 118      21.506   1.089 -12.388  1.00 97.96           C  \nATOM   4158  O   ILE D 118      18.932   2.838 -11.736  1.00 97.96           O  \nATOM   4159  CG1 ILE D 118      20.974  -0.034 -13.285  1.00 97.96           C  \nATOM   4160  CG2 ILE D 118      21.098   0.865 -10.929  1.00 97.96           C  \nATOM   4161  CD1 ILE D 118      21.701  -1.361 -13.113  1.00 97.96           C  \nATOM   4162  N   SER D 119      18.802   2.269 -13.859  1.00 97.70           N  \nATOM   4163  CA  SER D 119      17.347   2.369 -13.902  1.00 97.70           C  \nATOM   4164  C   SER D 119      16.730   1.162 -14.602  1.00 97.70           C  \nATOM   4165  CB  SER D 119      16.919   3.654 -14.612  1.00 97.70           C  \nATOM   4166  O   SER D 119      17.444   0.346 -15.188  1.00 97.70           O  \nATOM   4167  OG  SER D 119      17.185   3.574 -16.002  1.00 97.70           O  \nATOM   4168  N   VAL D 120      15.439   1.067 -14.555  1.00 97.84           N  \nATOM   4169  CA  VAL D 120      14.703   0.037 -15.281  1.00 97.84           C  \nATOM   4170  C   VAL D 120      14.969   0.169 -16.778  1.00 97.84           C  \nATOM   4171  CB  VAL D 120      13.186   0.119 -15.000  1.00 97.84           C  \nATOM   4172  O   VAL D 120      15.016  -0.832 -17.498  1.00 97.84           O  \nATOM   4173  CG1 VAL D 120      12.886  -0.236 -13.544  1.00 97.84           C  \nATOM   4174  CG2 VAL D 120      12.657   1.513 -15.332  1.00 97.84           C  \nATOM   4175  N   SER D 121      15.195   1.366 -17.263  1.00 97.05           N  \nATOM   4176  CA  SER D 121      15.509   1.584 -18.672  1.00 97.05           C  \nATOM   4177  C   SER D 121      16.855   0.969 -19.039  1.00 97.05           C  \nATOM   4178  CB  SER D 121      15.517   3.078 -18.995  1.00 97.05           C  \nATOM   4179  O   SER D 121      16.993   0.350 -20.096  1.00 97.05           O  \nATOM   4180  OG  SER D 121      14.230   3.640 -18.808  1.00 97.05           O  \nATOM   4181  N   ASP D 122      17.760   1.170 -18.155  1.00 97.43           N  \nATOM   4182  CA  ASP D 122      19.064   0.562 -18.402  1.00 97.43           C  \nATOM   4183  C   ASP D 122      18.951  -0.957 -18.504  1.00 97.43           C  \nATOM   4184  CB  ASP D 122      20.051   0.943 -17.297  1.00 97.43           C  \nATOM   4185  O   ASP D 122      19.552  -1.571 -19.388  1.00 97.43           O  \nATOM   4186  CG  ASP D 122      20.438   2.412 -17.327  1.00 97.43           C  \nATOM   4187  OD1 ASP D 122      20.651   2.964 -18.429  1.00 97.43           O  \nATOM   4188  OD2 ASP D 122      20.533   3.021 -16.240  1.00 97.43           O  \nATOM   4189  N   ILE D 123      18.188  -1.535 -17.619  1.00 98.07           N  \nATOM   4190  CA  ILE D 123      18.014  -2.983 -17.623  1.00 98.07           C  \nATOM   4191  C   ILE D 123      17.349  -3.419 -18.927  1.00 98.07           C  \nATOM   4192  CB  ILE D 123      17.179  -3.456 -16.412  1.00 98.07           C  \nATOM   4193  O   ILE D 123      17.801  -4.366 -19.575  1.00 98.07           O  \nATOM   4194  CG1 ILE D 123      17.927  -3.172 -15.104  1.00 98.07           C  \nATOM   4195  CG2 ILE D 123      16.840  -4.944 -16.537  1.00 98.07           C  \nATOM   4196  CD1 ILE D 123      17.102  -3.428 -13.851  1.00 98.07           C  \nATOM   4197  N   LEU D 124      16.373  -2.705 -19.340  1.00 98.25           N  \nATOM   4198  CA  LEU D 124      15.626  -3.076 -20.537  1.00 98.25           C  \nATOM   4199  C   LEU D 124      16.485  -2.915 -21.786  1.00 98.25           C  \nATOM   4200  CB  LEU D 124      14.358  -2.227 -20.662  1.00 98.25           C  \nATOM   4201  O   LEU D 124      16.546  -3.817 -22.624  1.00 98.25           O  \nATOM   4202  CG  LEU D 124      13.388  -2.617 -21.778  1.00 98.25           C  \nATOM   4203  CD1 LEU D 124      12.497  -3.770 -21.327  1.00 98.25           C  \nATOM   4204  CD2 LEU D 124      12.547  -1.417 -22.200  1.00 98.25           C  \nATOM   4205  N   PHE D 125      17.191  -1.855 -21.936  1.00 97.67           N  \nATOM   4206  CA  PHE D 125      17.829  -1.483 -23.193  1.00 97.67           C  \nATOM   4207  C   PHE D 125      19.240  -2.053 -23.273  1.00 97.67           C  \nATOM   4208  CB  PHE D 125      17.869   0.041 -23.347  1.00 97.67           C  \nATOM   4209  O   PHE D 125      19.759  -2.290 -24.367  1.00 97.67           O  \nATOM   4210  CG  PHE D 125      16.544   0.648 -23.721  1.00 97.67           C  \nATOM   4211  CD1 PHE D 125      16.057   0.544 -25.018  1.00 97.67           C  \nATOM   4212  CD2 PHE D 125      15.785   1.324 -22.774  1.00 97.67           C  \nATOM   4213  CE1 PHE D 125      14.830   1.105 -25.366  1.00 97.67           C  \nATOM   4214  CE2 PHE D 125      14.559   1.887 -23.115  1.00 97.67           C  \nATOM   4215  CZ  PHE D 125      14.084   1.777 -24.411  1.00 97.67           C  \nATOM   4216  N   LYS D 126      19.855  -2.282 -22.129  1.00 97.41           N  \nATOM   4217  CA  LYS D 126      21.289  -2.550 -22.194  1.00 97.41           C  \nATOM   4218  C   LYS D 126      21.612  -3.943 -21.659  1.00 97.41           C  \nATOM   4219  CB  LYS D 126      22.069  -1.494 -21.409  1.00 97.41           C  \nATOM   4220  O   LYS D 126      22.704  -4.465 -21.893  1.00 97.41           O  \nATOM   4221  CG  LYS D 126      21.844  -0.070 -21.895  1.00 97.41           C  \nATOM   4222  CD  LYS D 126      22.625   0.936 -21.060  1.00 97.41           C  \nATOM   4223  CE  LYS D 126      22.257   2.369 -21.421  1.00 97.41           C  \nATOM   4224  NZ  LYS D 126      22.881   3.353 -20.487  1.00 97.41           N  \nATOM   4225  N   SER D 127      20.714  -4.583 -20.979  1.00 96.41           N  \nATOM   4226  CA  SER D 127      21.040  -5.865 -20.363  1.00 96.41           C  \nATOM   4227  C   SER D 127      20.771  -7.023 -21.319  1.00 96.41           C  \nATOM   4228  CB  SER D 127      20.240  -6.061 -19.074  1.00 96.41           C  \nATOM   4229  O   SER D 127      20.362  -6.808 -22.462  1.00 96.41           O  \nATOM   4230  OG  SER D 127      18.936  -6.537 -19.360  1.00 96.41           O  \nATOM   4231  N   ASP D 128      21.092  -8.211 -20.830  1.00 95.76           N  \nATOM   4232  CA  ASP D 128      20.961  -9.395 -21.674  1.00 95.76           C  \nATOM   4233  C   ASP D 128      19.928 -10.364 -21.104  1.00 95.76           C  \nATOM   4234  CB  ASP D 128      22.312 -10.097 -21.826  1.00 95.76           C  \nATOM   4235  O   ASP D 128      20.030 -11.576 -21.302  1.00 95.76           O  \nATOM   4236  CG  ASP D 128      22.903 -10.541 -20.500  1.00 95.76           C  \nATOM   4237  OD1 ASP D 128      22.300 -10.264 -19.440  1.00 95.76           O  \nATOM   4238  OD2 ASP D 128      23.983 -11.170 -20.514  1.00 95.76           O  \nATOM   4239  N   PHE D 129      18.963  -9.862 -20.413  1.00 95.30           N  \nATOM   4240  CA  PHE D 129      18.009 -10.740 -19.745  1.00 95.30           C  \nATOM   4241  C   PHE D 129      17.120 -11.447 -20.762  1.00 95.30           C  \nATOM   4242  CB  PHE D 129      17.149  -9.948 -18.756  1.00 95.30           C  \nATOM   4243  O   PHE D 129      16.538 -12.491 -20.464  1.00 95.30           O  \nATOM   4244  CG  PHE D 129      16.121  -9.068 -19.414  1.00 95.30           C  \nATOM   4245  CD1 PHE D 129      16.445  -7.779 -19.818  1.00 95.30           C  \nATOM   4246  CD2 PHE D 129      14.829  -9.531 -19.630  1.00 95.30           C  \nATOM   4247  CE1 PHE D 129      15.496  -6.962 -20.428  1.00 95.30           C  \nATOM   4248  CE2 PHE D 129      13.875  -8.720 -20.239  1.00 95.30           C  \nATOM   4249  CZ  PHE D 129      14.210  -7.436 -20.636  1.00 95.30           C  \nATOM   4250  N   VAL D 130      16.964 -10.862 -21.939  1.00 96.85           N  \nATOM   4251  CA  VAL D 130      16.181 -11.515 -22.983  1.00 96.85           C  \nATOM   4252  C   VAL D 130      16.968 -12.689 -23.562  1.00 96.85           C  \nATOM   4253  CB  VAL D 130      15.796 -10.527 -24.106  1.00 96.85           C  \nATOM   4254  O   VAL D 130      16.431 -13.789 -23.716  1.00 96.85           O  \nATOM   4255  CG1 VAL D 130      15.127 -11.262 -25.266  1.00 96.85           C  \nATOM   4256  CG2 VAL D 130      14.878  -9.434 -23.562  1.00 96.85           C  \nATOM   4257  N   GLU D 131      18.244 -12.468 -23.827  1.00 94.49           N  \nATOM   4258  CA  GLU D 131      19.099 -13.472 -24.451  1.00 94.49           C  \nATOM   4259  C   GLU D 131      19.478 -14.568 -23.460  1.00 94.49           C  \nATOM   4260  CB  GLU D 131      20.361 -12.823 -25.025  1.00 94.49           C  \nATOM   4261  O   GLU D 131      19.561 -15.743 -23.825  1.00 94.49           O  \nATOM   4262  CG  GLU D 131      20.088 -11.845 -26.159  1.00 94.49           C  \nATOM   4263  CD  GLU D 131      19.607 -10.486 -25.676  1.00 94.49           C  \nATOM   4264  OE1 GLU D 131      19.069  -9.707 -26.495  1.00 94.49           O  \nATOM   4265  OE2 GLU D 131      19.771 -10.197 -24.470  1.00 94.49           O  \nATOM   4266  N   LYS D 132      19.700 -14.138 -22.236  1.00 92.34           N  \nATOM   4267  CA  LYS D 132      20.145 -15.083 -21.216  1.00 92.34           C  \nATOM   4268  C   LYS D 132      19.269 -14.999 -19.969  1.00 92.34           C  \nATOM   4269  CB  LYS D 132      21.607 -14.826 -20.847  1.00 92.34           C  \nATOM   4270  O   LYS D 132      19.747 -14.641 -18.891  1.00 92.34           O  \nATOM   4271  CG  LYS D 132      22.571 -14.945 -22.018  1.00 92.34           C  \nATOM   4272  CD  LYS D 132      24.006 -14.663 -21.593  1.00 92.34           C  \nATOM   4273  CE  LYS D 132      24.959 -14.694 -22.780  1.00 92.34           C  \nATOM   4274  NZ  LYS D 132      26.349 -14.320 -22.384  1.00 92.34           N  \nATOM   4275  N   PRO D 133      18.098 -15.519 -20.170  1.00 90.98           N  \nATOM   4276  CA  PRO D 133      17.277 -15.540 -18.958  1.00 90.98           C  \nATOM   4277  C   PRO D 133      17.843 -16.458 -17.877  1.00 90.98           C  \nATOM   4278  CB  PRO D 133      15.924 -16.055 -19.457  1.00 90.98           C  \nATOM   4279  O   PRO D 133      18.389 -17.521 -18.188  1.00 90.98           O  \nATOM   4280  CG  PRO D 133      16.242 -16.814 -20.705  1.00 90.98           C  \nATOM   4281  CD  PRO D 133      17.508 -16.260 -21.292  1.00 90.98           C  \nATOM   4282  N   LYS D 134      17.758 -15.998 -16.578  1.00 86.50           N  \nATOM   4283  CA  LYS D 134      18.386 -16.756 -15.500  1.00 86.50           C  \nATOM   4284  C   LYS D 134      17.374 -17.108 -14.414  1.00 86.50           C  \nATOM   4285  CB  LYS D 134      19.550 -15.969 -14.897  1.00 86.50           C  \nATOM   4286  O   LYS D 134      16.649 -16.237 -13.928  1.00 86.50           O  \nATOM   4287  CG  LYS D 134      20.711 -15.749 -15.855  1.00 86.50           C  \nATOM   4288  CD  LYS D 134      21.833 -14.953 -15.201  1.00 86.50           C  \nATOM   4289  CE  LYS D 134      22.955 -14.653 -16.186  1.00 86.50           C  \nATOM   4290  NZ  LYS D 134      24.034 -13.829 -15.563  1.00 86.50           N  \nATOM   4291  N   ARG D 135      17.335 -18.401 -14.069  1.00 88.89           N  \nATOM   4292  CA  ARG D 135      16.618 -18.832 -12.873  1.00 88.89           C  \nATOM   4293  C   ARG D 135      17.406 -18.494 -11.611  1.00 88.89           C  \nATOM   4294  CB  ARG D 135      16.335 -20.334 -12.927  1.00 88.89           C  \nATOM   4295  O   ARG D 135      18.401 -19.152 -11.299  1.00 88.89           O  \nATOM   4296  CG  ARG D 135      15.281 -20.799 -11.935  1.00 88.89           C  \nATOM   4297  CD  ARG D 135      14.791 -22.206 -12.250  1.00 88.89           C  \nATOM   4298  NE  ARG D 135      13.706 -22.610 -11.361  1.00 88.89           N  \nATOM   4299  NH1 ARG D 135      13.159 -24.511 -12.555  1.00 88.89           N  \nATOM   4300  NH2 ARG D 135      11.995 -23.970 -10.655  1.00 88.89           N  \nATOM   4301  CZ  ARG D 135      12.956 -23.696 -11.526  1.00 88.89           C  \nATOM   4302  N   LEU D 136      17.041 -17.641 -10.879  1.00 87.56           N  \nATOM   4303  CA  LEU D 136      17.829 -16.968  -9.852  1.00 87.56           C  \nATOM   4304  C   LEU D 136      18.219 -17.939  -8.743  1.00 87.56           C  \nATOM   4305  CB  LEU D 136      17.049 -15.789  -9.264  1.00 87.56           C  \nATOM   4306  O   LEU D 136      19.361 -17.928  -8.276  1.00 87.56           O  \nATOM   4307  CG  LEU D 136      16.793 -14.609 -10.203  1.00 87.56           C  \nATOM   4308  CD1 LEU D 136      15.874 -13.591  -9.537  1.00 87.56           C  \nATOM   4309  CD2 LEU D 136      18.109 -13.959 -10.616  1.00 87.56           C  \nATOM   4310  N   PHE D 137      17.390 -18.890  -8.366  1.00 93.02           N  \nATOM   4311  CA  PHE D 137      17.670 -19.722  -7.202  1.00 93.02           C  \nATOM   4312  C   PHE D 137      17.818 -21.185  -7.605  1.00 93.02           C  \nATOM   4313  CB  PHE D 137      16.561 -19.576  -6.156  1.00 93.02           C  \nATOM   4314  O   PHE D 137      17.441 -22.083  -6.851  1.00 93.02           O  \nATOM   4315  CG  PHE D 137      16.303 -18.153  -5.739  1.00 93.02           C  \nATOM   4316  CD1 PHE D 137      17.342 -17.348  -5.288  1.00 93.02           C  \nATOM   4317  CD2 PHE D 137      15.022 -17.621  -5.799  1.00 93.02           C  \nATOM   4318  CE1 PHE D 137      17.106 -16.030  -4.901  1.00 93.02           C  \nATOM   4319  CE2 PHE D 137      14.779 -16.305  -5.414  1.00 93.02           C  \nATOM   4320  CZ  PHE D 137      15.822 -15.512  -4.965  1.00 93.02           C  \nATOM   4321  N   ILE D 138      18.315 -21.413  -8.780  1.00 93.11           N  \nATOM   4322  CA  ILE D 138      18.395 -22.759  -9.337  1.00 93.11           C  \nATOM   4323  C   ILE D 138      19.327 -23.616  -8.483  1.00 93.11           C  \nATOM   4324  CB  ILE D 138      18.883 -22.735 -10.803  1.00 93.11           C  \nATOM   4325  O   ILE D 138      19.077 -24.807  -8.284  1.00 93.11           O  \nATOM   4326  CG1 ILE D 138      18.779 -24.134 -11.422  1.00 93.11           C  \nATOM   4327  CG2 ILE D 138      20.316 -22.204 -10.887  1.00 93.11           C  \nATOM   4328  CD1 ILE D 138      17.350 -24.616 -11.626  1.00 93.11           C  \nATOM   4329  N   GLU D 139      20.381 -22.984  -7.959  1.00 93.20           N  \nATOM   4330  CA  GLU D 139      21.304 -23.751  -7.128  1.00 93.20           C  \nATOM   4331  C   GLU D 139      20.636 -24.202  -5.832  1.00 93.20           C  \nATOM   4332  CB  GLU D 139      22.556 -22.927  -6.815  1.00 93.20           C  \nATOM   4333  O   GLU D 139      20.816 -25.342  -5.399  1.00 93.20           O  \nATOM   4334  CG  GLU D 139      23.400 -22.602  -8.039  1.00 93.20           C  \nATOM   4335  CD  GLU D 139      23.931 -23.838  -8.748  1.00 93.20           C  \nATOM   4336  OE1 GLU D 139      24.107 -23.798  -9.987  1.00 93.20           O  \nATOM   4337  OE2 GLU D 139      24.171 -24.854  -8.059  1.00 93.20           O  \nATOM   4338  N   ASP D 140      19.905 -23.357  -5.214  1.00 95.21           N  \nATOM   4339  CA  ASP D 140      19.149 -23.730  -4.022  1.00 95.21           C  \nATOM   4340  C   ASP D 140      18.125 -24.818  -4.339  1.00 95.21           C  \nATOM   4341  CB  ASP D 140      18.449 -22.507  -3.426  1.00 95.21           C  \nATOM   4342  O   ASP D 140      17.955 -25.762  -3.565  1.00 95.21           O  \nATOM   4343  CG  ASP D 140      19.410 -21.548  -2.745  1.00 95.21           C  \nATOM   4344  OD1 ASP D 140      20.376 -22.008  -2.099  1.00 95.21           O  \nATOM   4345  OD2 ASP D 140      19.197 -20.321  -2.852  1.00 95.21           O  \nATOM   4346  N   GLU D 141      17.499 -24.689  -5.421  1.00 96.49           N  \nATOM   4347  CA  GLU D 141      16.496 -25.667  -5.832  1.00 96.49           C  \nATOM   4348  C   GLU D 141      17.118 -27.047  -6.027  1.00 96.49           C  \nATOM   4349  CB  GLU D 141      15.801 -25.216  -7.120  1.00 96.49           C  \nATOM   4350  O   GLU D 141      16.524 -28.060  -5.654  1.00 96.49           O  \nATOM   4351  CG  GLU D 141      14.932 -23.979  -6.949  1.00 96.49           C  \nATOM   4352  CD  GLU D 141      14.310 -23.498  -8.250  1.00 96.49           C  \nATOM   4353  OE1 GLU D 141      14.274 -22.270  -8.489  1.00 96.49           O  \nATOM   4354  OE2 GLU D 141      13.854 -24.357  -9.038  1.00 96.49           O  \nATOM   4355  N   ILE D 142      18.293 -27.048  -6.683  1.00 96.47           N  \nATOM   4356  CA  ILE D 142      18.997 -28.304  -6.915  1.00 96.47           C  \nATOM   4357  C   ILE D 142      19.339 -28.959  -5.579  1.00 96.47           C  \nATOM   4358  CB  ILE D 142      20.280 -28.087  -7.749  1.00 96.47           C  \nATOM   4359  O   ILE D 142      19.106 -30.155  -5.390  1.00 96.47           O  \nATOM   4360  CG1 ILE D 142      19.922 -27.721  -9.194  1.00 96.47           C  \nATOM   4361  CG2 ILE D 142      21.171 -29.332  -7.703  1.00 96.47           C  \nATOM   4362  CD1 ILE D 142      21.100 -27.213 -10.014  1.00 96.47           C  \nATOM   4363  N   GLU D 143      19.826 -28.175  -4.667  1.00 96.42           N  \nATOM   4364  CA  GLU D 143      20.177 -28.711  -3.355  1.00 96.42           C  \nATOM   4365  C   GLU D 143      18.944 -29.234  -2.624  1.00 96.42           C  \nATOM   4366  CB  GLU D 143      20.878 -27.645  -2.508  1.00 96.42           C  \nATOM   4367  O   GLU D 143      18.975 -30.321  -2.043  1.00 96.42           O  \nATOM   4368  CG  GLU D 143      21.494 -28.185  -1.226  1.00 96.42           C  \nATOM   4369  CD  GLU D 143      22.322 -27.153  -0.478  1.00 96.42           C  \nATOM   4370  OE1 GLU D 143      22.820 -27.461   0.629  1.00 96.42           O  \nATOM   4371  OE2 GLU D 143      22.474 -26.027  -1.002  1.00 96.42           O  \nATOM   4372  N   ALA D 144      17.932 -28.540  -2.674  1.00 96.59           N  \nATOM   4373  CA  ALA D 144      16.683 -28.976  -2.053  1.00 96.59           C  \nATOM   4374  C   ALA D 144      16.177 -30.268  -2.688  1.00 96.59           C  \nATOM   4375  CB  ALA D 144      15.624 -27.882  -2.163  1.00 96.59           C  \nATOM   4376  O   ALA D 144      15.765 -31.194  -1.985  1.00 96.59           O  \nATOM   4377  N   ALA D 145      16.229 -30.306  -4.001  1.00 97.20           N  \nATOM   4378  CA  ALA D 145      15.777 -31.494  -4.719  1.00 97.20           C  \nATOM   4379  C   ALA D 145      16.629 -32.709  -4.361  1.00 97.20           C  \nATOM   4380  CB  ALA D 145      15.810 -31.251  -6.226  1.00 97.20           C  \nATOM   4381  O   ALA D 145      16.116 -33.826  -4.257  1.00 97.20           O  \nATOM   4382  N   ARG D 146      17.913 -32.507  -4.215  1.00 97.69           N  \nATOM   4383  CA  ARG D 146      18.805 -33.587  -3.807  1.00 97.69           C  \nATOM   4384  C   ARG D 146      18.417 -34.130  -2.436  1.00 97.69           C  \nATOM   4385  CB  ARG D 146      20.258 -33.107  -3.788  1.00 97.69           C  \nATOM   4386  O   ARG D 146      18.352 -35.345  -2.238  1.00 97.69           O  \nATOM   4387  CG  ARG D 146      20.898 -33.026  -5.165  1.00 97.69           C  \nATOM   4388  CD  ARG D 146      22.325 -32.500  -5.093  1.00 97.69           C  \nATOM   4389  NE  ARG D 146      22.956 -32.473  -6.410  1.00 97.69           N  \nATOM   4390  NH1 ARG D 146      24.797 -31.254  -5.731  1.00 97.69           N  \nATOM   4391  NH2 ARG D 146      24.598 -31.917  -7.916  1.00 97.69           N  \nATOM   4392  CZ  ARG D 146      24.116 -31.881  -6.682  1.00 97.69           C  \nATOM   4393  N   GLU D 147      18.191 -33.244  -1.547  1.00 96.33           N  \nATOM   4394  CA  GLU D 147      17.788 -33.656  -0.206  1.00 96.33           C  \nATOM   4395  C   GLU D 147      16.455 -34.398  -0.234  1.00 96.33           C  \nATOM   4396  CB  GLU D 147      17.695 -32.443   0.724  1.00 96.33           C  \nATOM   4397  O   GLU D 147      16.289 -35.414   0.444  1.00 96.33           O  \nATOM   4398  CG  GLU D 147      19.044 -31.840   1.085  1.00 96.33           C  \nATOM   4399  CD  GLU D 147      18.935 -30.620   1.986  1.00 96.33           C  \nATOM   4400  OE1 GLU D 147      19.976 -29.995   2.291  1.00 96.33           O  \nATOM   4401  OE2 GLU D 147      17.799 -30.287   2.391  1.00 96.33           O  \nATOM   4402  N   ASP D 148      15.572 -33.932  -1.016  1.00 96.05           N  \nATOM   4403  CA  ASP D 148      14.279 -34.595  -1.154  1.00 96.05           C  \nATOM   4404  C   ASP D 148      14.439 -35.995  -1.742  1.00 96.05           C  \nATOM   4405  CB  ASP D 148      13.339 -33.762  -2.028  1.00 96.05           C  \nATOM   4406  O   ASP D 148      13.810 -36.947  -1.275  1.00 96.05           O  \nATOM   4407  CG  ASP D 148      12.836 -32.510  -1.332  1.00 96.05           C  \nATOM   4408  OD1 ASP D 148      13.044 -32.368  -0.107  1.00 96.05           O  \nATOM   4409  OD2 ASP D 148      12.224 -31.659  -2.013  1.00 96.05           O  \nATOM   4410  N   ALA D 149      15.269 -36.079  -2.817  1.00 96.41           N  \nATOM   4411  CA  ALA D 149      15.505 -37.377  -3.445  1.00 96.41           C  \nATOM   4412  C   ALA D 149      16.096 -38.370  -2.449  1.00 96.41           C  \nATOM   4413  CB  ALA D 149      16.429 -37.224  -4.652  1.00 96.41           C  \nATOM   4414  O   ALA D 149      15.656 -39.519  -2.372  1.00 96.41           O  \nATOM   4415  N   ARG D 150      17.007 -37.888  -1.661  1.00 96.70           N  \nATOM   4416  CA  ARG D 150      17.609 -38.747  -0.646  1.00 96.70           C  \nATOM   4417  C   ARG D 150      16.567 -39.211   0.366  1.00 96.70           C  \nATOM   4418  CB  ARG D 150      18.746 -38.016   0.071  1.00 96.70           C  \nATOM   4419  O   ARG D 150      16.529 -40.388   0.731  1.00 96.70           O  \nATOM   4420  CG  ARG D 150      20.011 -37.879  -0.762  1.00 96.70           C  \nATOM   4421  CD  ARG D 150      21.096 -37.115  -0.017  1.00 96.70           C  \nATOM   4422  NE  ARG D 150      22.226 -36.798  -0.886  1.00 96.70           N  \nATOM   4423  NH1 ARG D 150      23.012 -35.063   0.422  1.00 96.70           N  \nATOM   4424  NH2 ARG D 150      24.099 -35.628  -1.516  1.00 96.70           N  \nATOM   4425  CZ  ARG D 150      23.110 -35.830  -0.658  1.00 96.70           C  \nATOM   4426  N   ALA D 151      15.751 -38.343   0.789  1.00 95.48           N  \nATOM   4427  CA  ALA D 151      14.728 -38.663   1.781  1.00 95.48           C  \nATOM   4428  C   ALA D 151      13.706 -39.646   1.217  1.00 95.48           C  \nATOM   4429  CB  ALA D 151      14.031 -37.390   2.256  1.00 95.48           C  \nATOM   4430  O   ALA D 151      13.322 -40.606   1.890  1.00 95.48           O  \nATOM   4431  N   ILE D 152      13.249 -39.433   0.004  1.00 96.18           N  \nATOM   4432  CA  ILE D 152      12.260 -40.293  -0.636  1.00 96.18           C  \nATOM   4433  C   ILE D 152      12.843 -41.690  -0.835  1.00 96.18           C  \nATOM   4434  CB  ILE D 152      11.793 -39.708  -1.988  1.00 96.18           C  \nATOM   4435  O   ILE D 152      12.173 -42.692  -0.574  1.00 96.18           O  \nATOM   4436  CG1 ILE D 152      10.958 -38.443  -1.763  1.00 96.18           C  \nATOM   4437  CG2 ILE D 152      11.003 -40.752  -2.783  1.00 96.18           C  \nATOM   4438  CD1 ILE D 152      10.698 -37.639  -3.030  1.00 96.18           C  \nATOM   4439  N   CYS D 153      14.145 -41.802  -1.277  1.00 95.46           N  \nATOM   4440  CA  CYS D 153      14.790 -43.093  -1.485  1.00 95.46           C  \nATOM   4441  C   CYS D 153      14.971 -43.831  -0.164  1.00 95.46           C  \nATOM   4442  CB  CYS D 153      16.144 -42.912  -2.169  1.00 95.46           C  \nATOM   4443  O   CYS D 153      14.823 -45.053  -0.105  1.00 95.46           O  \nATOM   4444  SG  CYS D 153      16.027 -42.331  -3.875  1.00 95.46           S  \nATOM   4445  N   ALA D 154      15.216 -43.129   0.900  1.00 96.59           N  \nATOM   4446  CA  ALA D 154      15.350 -43.739   2.221  1.00 96.59           C  \nATOM   4447  C   ALA D 154      14.012 -44.284   2.711  1.00 96.59           C  \nATOM   4448  CB  ALA D 154      15.908 -42.728   3.220  1.00 96.59           C  \nATOM   4449  O   ALA D 154      13.955 -45.363   3.306  1.00 96.59           O  \nATOM   4450  N   ALA D 155      12.973 -43.600   2.423  1.00 95.10           N  \nATOM   4451  CA  ALA D 155      11.650 -43.971   2.918  1.00 95.10           C  \nATOM   4452  C   ALA D 155      11.026 -45.060   2.051  1.00 95.10           C  \nATOM   4453  CB  ALA D 155      10.738 -42.747   2.968  1.00 95.10           C  \nATOM   4454  O   ALA D 155      10.379 -45.977   2.564  1.00 95.10           O  \nATOM   4455  N   LYS D 156      11.212 -44.986   0.726  1.00 95.61           N  \nATOM   4456  CA  LYS D 156      10.471 -45.861  -0.177  1.00 95.61           C  \nATOM   4457  C   LYS D 156      11.385 -46.917  -0.792  1.00 95.61           C  \nATOM   4458  CB  LYS D 156       9.796 -45.046  -1.281  1.00 95.61           C  \nATOM   4459  O   LYS D 156      10.914 -47.844  -1.455  1.00 95.61           O  \nATOM   4460  CG  LYS D 156       8.751 -44.063  -0.773  1.00 95.61           C  \nATOM   4461  CD  LYS D 156       7.810 -43.622  -1.888  1.00 95.61           C  \nATOM   4462  CE  LYS D 156       6.699 -42.725  -1.360  1.00 95.61           C  \nATOM   4463  NZ  LYS D 156       5.753 -42.320  -2.442  1.00 95.61           N  \nATOM   4464  N   GLY D 157      12.667 -46.821  -0.615  1.00 95.03           N  \nATOM   4465  CA  GLY D 157      13.634 -47.762  -1.157  1.00 95.03           C  \nATOM   4466  C   GLY D 157      14.405 -47.210  -2.342  1.00 95.03           C  \nATOM   4467  O   GLY D 157      13.858 -46.453  -3.147  1.00 95.03           O  \nATOM   4468  N   GLU D 158      15.667 -47.502  -2.557  1.00 92.93           N  \nATOM   4469  CA  GLU D 158      16.582 -46.980  -3.568  1.00 92.93           C  \nATOM   4470  C   GLU D 158      16.154 -47.404  -4.970  1.00 92.93           C  \nATOM   4471  CB  GLU D 158      18.013 -47.446  -3.291  1.00 92.93           C  \nATOM   4472  O   GLU D 158      16.445 -46.714  -5.949  1.00 92.93           O  \nATOM   4473  CG  GLU D 158      18.661 -46.767  -2.093  1.00 92.93           C  \nATOM   4474  CD  GLU D 158      20.136 -47.101  -1.938  1.00 92.93           C  \nATOM   4475  OE1 GLU D 158      20.803 -46.511  -1.058  1.00 92.93           O  \nATOM   4476  OE2 GLU D 158      20.629 -47.959  -2.704  1.00 92.93           O  \nATOM   4477  N   THR D 159      15.432 -48.578  -5.061  1.00 93.57           N  \nATOM   4478  CA  THR D 159      15.052 -49.072  -6.379  1.00 93.57           C  \nATOM   4479  C   THR D 159      13.584 -48.767  -6.668  1.00 93.57           C  \nATOM   4480  CB  THR D 159      15.298 -50.587  -6.501  1.00 93.57           C  \nATOM   4481  O   THR D 159      13.030 -49.244  -7.660  1.00 93.57           O  \nATOM   4482  CG2 THR D 159      16.773 -50.921  -6.309  1.00 93.57           C  \nATOM   4483  OG1 THR D 159      14.530 -51.272  -5.504  1.00 93.57           O  \nATOM   4484  N   SER D 160      12.903 -48.001  -5.840  1.00 94.95           N  \nATOM   4485  CA  SER D 160      11.491 -47.674  -6.013  1.00 94.95           C  \nATOM   4486  C   SER D 160      11.289 -46.677  -7.149  1.00 94.95           C  \nATOM   4487  CB  SER D 160      10.908 -47.108  -4.717  1.00 94.95           C  \nATOM   4488  O   SER D 160      12.176 -45.872  -7.440  1.00 94.95           O  \nATOM   4489  OG  SER D 160      11.359 -45.782  -4.501  1.00 94.95           O  \nATOM   4490  N   PRO D 161      10.106 -46.783  -7.903  1.00 96.14           N  \nATOM   4491  CA  PRO D 161       9.794 -45.792  -8.936  1.00 96.14           C  \nATOM   4492  C   PRO D 161       9.768 -44.364  -8.395  1.00 96.14           C  \nATOM   4493  CB  PRO D 161       8.406 -46.217  -9.424  1.00 96.14           C  \nATOM   4494  O   PRO D 161      10.142 -43.426  -9.103  1.00 96.14           O  \nATOM   4495  CG  PRO D 161       8.272 -47.643  -8.999  1.00 96.14           C  \nATOM   4496  CD  PRO D 161       9.168 -47.876  -7.817  1.00 96.14           C  \nATOM   4497  N   ASP D 162       9.397 -44.204  -7.198  1.00 95.35           N  \nATOM   4498  CA  ASP D 162       9.343 -42.881  -6.583  1.00 95.35           C  \nATOM   4499  C   ASP D 162      10.743 -42.295  -6.417  1.00 95.35           C  \nATOM   4500  CB  ASP D 162       8.636 -42.947  -5.227  1.00 95.35           C  \nATOM   4501  O   ASP D 162      10.951 -41.100  -6.637  1.00 95.35           O  \nATOM   4502  CG  ASP D 162       7.161 -43.290  -5.343  1.00 95.35           C  \nATOM   4503  OD1 ASP D 162       6.571 -43.087  -6.426  1.00 95.35           O  \nATOM   4504  OD2 ASP D 162       6.583 -43.764  -4.341  1.00 95.35           O  \nATOM   4505  N   CYS D 163      11.665 -43.119  -5.999  1.00 93.40           N  \nATOM   4506  CA  CYS D 163      13.052 -42.691  -5.858  1.00 93.40           C  \nATOM   4507  C   CYS D 163      13.632 -42.268  -7.203  1.00 93.40           C  \nATOM   4508  CB  CYS D 163      13.900 -43.811  -5.256  1.00 93.40           C  \nATOM   4509  O   CYS D 163      14.236 -41.200  -7.315  1.00 93.40           O  \nATOM   4510  SG  CYS D 163      15.626 -43.351  -4.986  1.00 93.40           S  \nATOM   4511  N   ALA D 164      13.341 -43.076  -8.229  1.00 95.65           N  \nATOM   4512  CA  ALA D 164      13.829 -42.756  -9.568  1.00 95.65           C  \nATOM   4513  C   ALA D 164      13.261 -41.426 -10.056  1.00 95.65           C  \nATOM   4514  CB  ALA D 164      13.474 -43.873 -10.546  1.00 95.65           C  \nATOM   4515  O   ALA D 164      13.985 -40.604 -10.621  1.00 95.65           O  \nATOM   4516  N   ALA D 165      12.033 -41.233  -9.832  1.00 96.37           N  \nATOM   4517  CA  ALA D 165      11.383 -39.992 -10.244  1.00 96.37           C  \nATOM   4518  C   ALA D 165      11.993 -38.790  -9.528  1.00 96.37           C  \nATOM   4519  CB  ALA D 165       9.882 -40.062  -9.975  1.00 96.37           C  \nATOM   4520  O   ALA D 165      12.167 -37.725 -10.127  1.00 96.37           O  \nATOM   4521  N   ALA D 166      12.306 -38.905  -8.263  1.00 96.05           N  \nATOM   4522  CA  ALA D 166      12.900 -37.824  -7.482  1.00 96.05           C  \nATOM   4523  C   ALA D 166      14.264 -37.429  -8.041  1.00 96.05           C  \nATOM   4524  CB  ALA D 166      13.028 -38.233  -6.016  1.00 96.05           C  \nATOM   4525  O   ALA D 166      14.578 -36.241  -8.148  1.00 96.05           O  \nATOM   4526  N   TRP D 167      15.027 -38.378  -8.396  1.00 96.51           N  \nATOM   4527  CA  TRP D 167      16.348 -38.081  -8.941  1.00 96.51           C  \nATOM   4528  C   TRP D 167      16.239 -37.513 -10.352  1.00 96.51           C  \nATOM   4529  CB  TRP D 167      17.222 -39.338  -8.949  1.00 96.51           C  \nATOM   4530  O   TRP D 167      17.088 -36.726 -10.778  1.00 96.51           O  \nATOM   4531  CG  TRP D 167      17.880 -39.631  -7.634  1.00 96.51           C  \nATOM   4532  CD1 TRP D 167      17.590 -40.657  -6.777  1.00 96.51           C  \nATOM   4533  CD2 TRP D 167      18.937 -38.885  -7.023  1.00 96.51           C  \nATOM   4534  CE2 TRP D 167      19.239 -39.516  -5.796  1.00 96.51           C  \nATOM   4535  CE3 TRP D 167      19.659 -37.743  -7.394  1.00 96.51           C  \nATOM   4536  NE1 TRP D 167      18.404 -40.593  -5.670  1.00 96.51           N  \nATOM   4537  CH2 TRP D 167      20.925 -37.924  -5.325  1.00 96.51           C  \nATOM   4538  CZ2 TRP D 167      20.234 -39.042  -4.938  1.00 96.51           C  \nATOM   4539  CZ3 TRP D 167      20.649 -37.273  -6.539  1.00 96.51           C  \nATOM   4540  N   ASP D 168      15.206 -37.880 -11.044  1.00 96.48           N  \nATOM   4541  CA  ASP D 168      14.959 -37.277 -12.349  1.00 96.48           C  \nATOM   4542  C   ASP D 168      14.766 -35.767 -12.229  1.00 96.48           C  \nATOM   4543  CB  ASP D 168      13.734 -37.912 -13.011  1.00 96.48           C  \nATOM   4544  O   ASP D 168      15.224 -35.007 -13.084  1.00 96.48           O  \nATOM   4545  CG  ASP D 168      14.003 -39.311 -13.538  1.00 96.48           C  \nATOM   4546  OD1 ASP D 168      15.181 -39.725 -13.593  1.00 96.48           O  \nATOM   4547  OD2 ASP D 168      13.029 -40.003 -13.904  1.00 96.48           O  \nATOM   4548  N   VAL D 169      14.089 -35.396 -11.199  1.00 96.70           N  \nATOM   4549  CA  VAL D 169      13.887 -33.970 -10.960  1.00 96.70           C  \nATOM   4550  C   VAL D 169      15.236 -33.283 -10.758  1.00 96.70           C  \nATOM   4551  CB  VAL D 169      12.975 -33.723  -9.737  1.00 96.70           C  \nATOM   4552  O   VAL D 169      15.489 -32.220 -11.329  1.00 96.70           O  \nATOM   4553  CG1 VAL D 169      12.923 -32.236  -9.395  1.00 96.70           C  \nATOM   4554  CG2 VAL D 169      11.571 -34.264 -10.002  1.00 96.70           C  \nATOM   4555  N   VAL D 170      16.104 -33.842 -10.012  1.00 96.64           N  \nATOM   4556  CA  VAL D 170      17.439 -33.305  -9.774  1.00 96.64           C  \nATOM   4557  C   VAL D 170      18.188 -33.176 -11.099  1.00 96.64           C  \nATOM   4558  CB  VAL D 170      18.241 -34.189  -8.792  1.00 96.64           C  \nATOM   4559  O   VAL D 170      18.778 -32.132 -11.386  1.00 96.64           O  \nATOM   4560  CG1 VAL D 170      19.681 -33.694  -8.672  1.00 96.64           C  \nATOM   4561  CG2 VAL D 170      17.564 -34.213  -7.423  1.00 96.64           C  \nATOM   4562  N   GLU D 171      18.103 -34.213 -11.878  1.00 96.22           N  \nATOM   4563  CA  GLU D 171      18.808 -34.226 -13.157  1.00 96.22           C  \nATOM   4564  C   GLU D 171      18.266 -33.152 -14.096  1.00 96.22           C  \nATOM   4565  CB  GLU D 171      18.702 -35.603 -13.816  1.00 96.22           C  \nATOM   4566  O   GLU D 171      19.032 -32.492 -14.801  1.00 96.22           O  \nATOM   4567  CG  GLU D 171      19.562 -36.670 -13.153  1.00 96.22           C  \nATOM   4568  CD  GLU D 171      19.463 -38.027 -13.831  1.00 96.22           C  \nATOM   4569  OE1 GLU D 171      20.184 -38.964 -13.421  1.00 96.22           O  \nATOM   4570  OE2 GLU D 171      18.659 -38.153 -14.782  1.00 96.22           O  \nATOM   4571  N   GLU D 172      17.033 -33.014 -14.038  1.00 95.37           N  \nATOM   4572  CA  GLU D 172      16.424 -31.986 -14.877  1.00 95.37           C  \nATOM   4573  C   GLU D 172      16.885 -30.591 -14.464  1.00 95.37           C  \nATOM   4574  CB  GLU D 172      14.897 -32.075 -14.814  1.00 95.37           C  \nATOM   4575  O   GLU D 172      17.226 -29.767 -15.314  1.00 95.37           O  \nATOM   4576  CG  GLU D 172      14.186 -31.152 -15.793  1.00 95.37           C  \nATOM   4577  CD  GLU D 172      12.674 -31.316 -15.782  1.00 95.37           C  \nATOM   4578  OE1 GLU D 172      11.981 -30.601 -16.541  1.00 95.37           O  \nATOM   4579  OE2 GLU D 172      12.179 -32.165 -15.008  1.00 95.37           O  \nATOM   4580  N   LEU D 173      16.916 -30.353 -13.223  1.00 95.40           N  \nATOM   4581  CA  LEU D 173      17.366 -29.062 -12.712  1.00 95.40           C  \nATOM   4582  C   LEU D 173      18.843 -28.841 -13.020  1.00 95.40           C  \nATOM   4583  CB  LEU D 173      17.127 -28.971 -11.203  1.00 95.40           C  \nATOM   4584  O   LEU D 173      19.244 -27.739 -13.398  1.00 95.40           O  \nATOM   4585  CG  LEU D 173      15.673 -28.813 -10.755  1.00 95.40           C  \nATOM   4586  CD1 LEU D 173      15.562 -28.993  -9.244  1.00 95.40           C  \nATOM   4587  CD2 LEU D 173      15.127 -27.454 -11.178  1.00 95.40           C  \nATOM   4588  N   GLN D 174      19.632 -29.840 -12.851  1.00 95.08           N  \nATOM   4589  CA  GLN D 174      21.057 -29.746 -13.154  1.00 95.08           C  \nATOM   4590  C   GLN D 174      21.287 -29.478 -14.638  1.00 95.08           C  \nATOM   4591  CB  GLN D 174      21.781 -31.026 -12.733  1.00 95.08           C  \nATOM   4592  O   GLN D 174      22.182 -28.714 -15.005  1.00 95.08           O  \nATOM   4593  CG  GLN D 174      21.982 -31.152 -11.229  1.00 95.08           C  \nATOM   4594  CD  GLN D 174      22.635 -32.463 -10.832  1.00 95.08           C  \nATOM   4595  NE2 GLN D 174      23.578 -32.398  -9.899  1.00 95.08           N  \nATOM   4596  OE1 GLN D 174      22.293 -33.527 -11.359  1.00 95.08           O  \nATOM   4597  N   ALA D 175      20.453 -30.107 -15.430  1.00 92.89           N  \nATOM   4598  CA  ALA D 175      20.543 -29.863 -16.867  1.00 92.89           C  \nATOM   4599  C   ALA D 175      20.234 -28.405 -17.196  1.00 92.89           C  \nATOM   4600  CB  ALA D 175      19.595 -30.789 -17.625  1.00 92.89           C  \nATOM   4601  O   ALA D 175      20.935 -27.781 -17.996  1.00 92.89           O  \nATOM   4602  N   GLU D 176      19.277 -27.952 -16.548  1.00 90.80           N  \nATOM   4603  CA  GLU D 176      18.923 -26.553 -16.762  1.00 90.80           C  \nATOM   4604  C   GLU D 176      20.034 -25.623 -16.285  1.00 90.80           C  \nATOM   4605  CB  GLU D 176      17.611 -26.215 -16.048  1.00 90.80           C  \nATOM   4606  O   GLU D 176      20.367 -24.646 -16.960  1.00 90.80           O  \nATOM   4607  CG  GLU D 176      17.128 -24.792 -16.290  1.00 90.80           C  \nATOM   4608  CD  GLU D 176      15.665 -24.587 -15.932  1.00 90.80           C  \nATOM   4609  OE1 GLU D 176      15.161 -23.448 -16.066  1.00 90.80           O  \nATOM   4610  OE2 GLU D 176      15.017 -25.572 -15.511  1.00 90.80           O  \nATOM   4611  N   ALA D 177      20.583 -25.896 -15.183  1.00 90.10           N  \nATOM   4612  CA  ALA D 177      21.684 -25.096 -14.652  1.00 90.10           C  \nATOM   4613  C   ALA D 177      22.880 -25.113 -15.599  1.00 90.10           C  \nATOM   4614  CB  ALA D 177      22.093 -25.604 -13.272  1.00 90.10           C  \nATOM   4615  O   ALA D 177      23.526 -24.084 -15.812  1.00 90.10           O  \nATOM   4616  N   SER D 178      23.141 -26.267 -16.165  1.00 87.98           N  \nATOM   4617  CA  SER D 178      24.246 -26.397 -17.109  1.00 87.98           C  \nATOM   4618  C   SER D 178      23.976 -25.608 -18.387  1.00 87.98           C  \nATOM   4619  CB  SER D 178      24.491 -27.867 -17.450  1.00 87.98           C  \nATOM   4620  O   SER D 178      24.878 -24.964 -18.927  1.00 87.98           O  \nATOM   4621  OG  SER D 178      24.867 -28.595 -16.294  1.00 87.98           O  \nATOM   4622  N   HIS D 179      22.741 -25.726 -18.813  1.00 85.78           N  \nATOM   4623  CA  HIS D 179      22.356 -24.963 -19.995  1.00 85.78           C  \nATOM   4624  C   HIS D 179      22.533 -23.465 -19.766  1.00 85.78           C  \nATOM   4625  CB  HIS D 179      20.907 -25.267 -20.381  1.00 85.78           C  \nATOM   4626  O   HIS D 179      23.029 -22.753 -20.642  1.00 85.78           O  \nATOM   4627  CG  HIS D 179      20.459 -24.572 -21.627  1.00 85.78           C  \nATOM   4628  CD2 HIS D 179      20.558 -24.930 -22.929  1.00 85.78           C  \nATOM   4629  ND1 HIS D 179      19.825 -23.349 -21.610  1.00 85.78           N  \nATOM   4630  CE1 HIS D 179      19.551 -22.984 -22.851  1.00 85.78           C  \nATOM   4631  NE2 HIS D 179      19.986 -23.926 -23.671  1.00 85.78           N  \nATOM   4632  N   GLN D 180      22.228 -23.056 -18.620  1.00 81.14           N  \nATOM   4633  CA  GLN D 180      22.371 -21.645 -18.278  1.00 81.14           C  \nATOM   4634  C   GLN D 180      23.839 -21.231 -18.254  1.00 81.14           C  \nATOM   4635  CB  GLN D 180      21.721 -21.352 -16.925  1.00 81.14           C  \nATOM   4636  O   GLN D 180      24.192 -20.147 -18.723  1.00 81.14           O  \nATOM   4637  CG  GLN D 180      20.198 -21.342 -16.963  1.00 81.14           C  \nATOM   4638  CD  GLN D 180      19.583 -20.799 -15.687  1.00 81.14           C  \nATOM   4639  NE2 GLN D 180      18.472 -21.394 -15.265  1.00 81.14           N  \nATOM   4640  OE1 GLN D 180      20.101 -19.854 -15.085  1.00 81.14           O  \nATOM   4641  N   ARG D 181      24.657 -22.124 -17.763  1.00 76.70           N  \nATOM   4642  CA  ARG D 181      26.088 -21.846 -17.696  1.00 76.70           C  \nATOM   4643  C   ARG D 181      26.715 -21.863 -19.087  1.00 76.70           C  \nATOM   4644  CB  ARG D 181      26.791 -22.862 -16.792  1.00 76.70           C  \nATOM   4645  O   ARG D 181      27.599 -21.058 -19.385  1.00 76.70           O  \nATOM   4646  CG  ARG D 181      26.492 -22.680 -15.313  1.00 76.70           C  \nATOM   4647  CD  ARG D 181      27.149 -23.762 -14.468  1.00 76.70           C  \nATOM   4648  NE  ARG D 181      26.626 -23.772 -13.104  1.00 76.70           N  \nATOM   4649  NH1 ARG D 181      27.051 -26.014 -12.738  1.00 76.70           N  \nATOM   4650  NH2 ARG D 181      26.095 -24.739 -11.090  1.00 76.70           N  \nATOM   4651  CZ  ARG D 181      26.592 -24.842 -12.314  1.00 76.70           C  \nATOM   4652  N   ALA D 182      26.271 -22.741 -19.931  1.00 69.50           N  \nATOM   4653  CA  ALA D 182      26.801 -22.869 -21.286  1.00 69.50           C  \nATOM   4654  C   ALA D 182      26.455 -21.644 -22.128  1.00 69.50           C  \nATOM   4655  CB  ALA D 182      26.265 -24.135 -21.949  1.00 69.50           C  \nATOM   4656  O   ALA D 182      27.286 -21.157 -22.898  1.00 69.50           O  \nATOM   4657  N   LYS D 183      25.246 -21.236 -22.096  1.00 64.21           N  \nATOM   4658  CA  LYS D 183      24.833 -20.050 -22.841  1.00 64.21           C  \nATOM   4659  C   LYS D 183      25.647 -18.828 -22.425  1.00 64.21           C  \nATOM   4660  CB  LYS D 183      23.341 -19.781 -22.638  1.00 64.21           C  \nATOM   4661  O   LYS D 183      25.944 -17.963 -23.251  1.00 64.21           O  \nATOM   4662  CG  LYS D 183      22.435 -20.589 -23.555  1.00 64.21           C  \nATOM   4663  CD  LYS D 183      20.987 -20.128 -23.459  1.00 64.21           C  \nATOM   4664  CE  LYS D 183      20.085 -20.915 -24.400  1.00 64.21           C  \nATOM   4665  NZ  LYS D 183      18.658 -20.490 -24.284  1.00 64.21           N  \nATOM   4666  N   LYS D 184      26.124 -18.817 -21.232  1.00 59.71           N  \nATOM   4667  CA  LYS D 184      26.929 -17.707 -20.730  1.00 59.71           C  \nATOM   4668  C   LYS D 184      28.359 -17.782 -21.258  1.00 59.71           C  \nATOM   4669  CB  LYS D 184      26.935 -17.697 -19.201  1.00 59.71           C  \nATOM   4670  O   LYS D 184      28.972 -16.754 -21.555  1.00 59.71           O  \nATOM   4671  CG  LYS D 184      25.696 -17.069 -18.581  1.00 59.71           C  \nATOM   4672  CD  LYS D 184      25.806 -16.996 -17.063  1.00 59.71           C  \nATOM   4673  CE  LYS D 184      24.544 -16.417 -16.438  1.00 59.71           C  \nATOM   4674  NZ  LYS D 184      24.612 -16.423 -14.946  1.00 59.71           N  \nATOM   4675  N   GLN D 185      28.948 -19.036 -21.320  1.00 55.22           N  \nATOM   4676  CA  GLN D 185      30.303 -19.243 -21.821  1.00 55.22           C  \nATOM   4677  C   GLN D 185      30.376 -18.995 -23.325  1.00 55.22           C  \nATOM   4678  CB  GLN D 185      30.785 -20.658 -21.499  1.00 55.22           C  \nATOM   4679  O   GLN D 185      31.380 -18.484 -23.827  1.00 55.22           O  \nATOM   4680  CG  GLN D 185      31.319 -20.818 -20.082  1.00 55.22           C  \nATOM   4681  CD  GLN D 185      31.735 -22.243 -19.768  1.00 55.22           C  \nATOM   4682  NE2 GLN D 185      32.332 -22.443 -18.598  1.00 55.22           N  \nATOM   4683  OE1 GLN D 185      31.521 -23.157 -20.571  1.00 55.22           O  \nATOM   4684  N   GLY D 186      29.366 -19.284 -24.132  1.00 48.91           N  \nATOM   4685  CA  GLY D 186      29.359 -19.091 -25.573  1.00 48.91           C  \nATOM   4686  C   GLY D 186      29.323 -17.630 -25.979  1.00 48.91           C  \nATOM   4687  O   GLY D 186      29.937 -17.241 -26.975  1.00 48.91           O  \nATOM   4688  N   SER D 187      28.567 -16.778 -25.345  1.00 50.45           N  \nATOM   4689  CA  SER D 187      28.563 -15.351 -25.653  1.00 50.45           C  \nATOM   4690  C   SER D 187      29.925 -14.723 -25.377  1.00 50.45           C  \nATOM   4691  CB  SER D 187      27.486 -14.630 -24.841  1.00 50.45           C  \nATOM   4692  O   SER D 187      30.408 -13.904 -26.162  1.00 50.45           O  \nATOM   4693  OG  SER D 187      28.066 -13.896 -23.776  1.00 50.45           O  \nATOM   4694  N   ASN D 188      30.621 -15.111 -24.339  1.00 46.74           N  \nATOM   4695  CA  ASN D 188      31.974 -14.652 -24.044  1.00 46.74           C  \nATOM   4696  C   ASN D 188      32.976 -15.159 -25.078  1.00 46.74           C  \nATOM   4697  CB  ASN D 188      32.395 -15.089 -22.639  1.00 46.74           C  \nATOM   4698  O   ASN D 188      33.901 -14.438 -25.456  1.00 46.74           O  \nATOM   4699  CG  ASN D 188      32.391 -13.944 -21.645  1.00 46.74           C  \nATOM   4700  ND2 ASN D 188      32.598 -14.261 -20.373  1.00 46.74           N  \nATOM   4701  OD1 ASN D 188      32.202 -12.783 -22.018  1.00 46.74           O  \nATOM   4702  N   SER D 189      32.823 -16.422 -25.531  1.00 49.26           N  \nATOM   4703  CA  SER D 189      33.693 -16.920 -26.591  1.00 49.26           C  \nATOM   4704  C   SER D 189      33.487 -16.142 -27.887  1.00 49.26           C  \nATOM   4705  CB  SER D 189      33.443 -18.409 -26.835  1.00 49.26           C  \nATOM   4706  O   SER D 189      34.449 -15.837 -28.594  1.00 49.26           O  \nATOM   4707  OG  SER D 189      33.006 -18.634 -28.165  1.00 49.26           O  \nATOM   4708  N   PHE D 190      32.259 -15.748 -28.226  1.00 49.14           N  \nATOM   4709  CA  PHE D 190      32.005 -14.939 -29.412  1.00 49.14           C  \nATOM   4710  C   PHE D 190      32.537 -13.523 -29.226  1.00 49.14           C  \nATOM   4711  CB  PHE D 190      30.507 -14.900 -29.728  1.00 49.14           C  \nATOM   4712  O   PHE D 190      33.169 -12.968 -30.127  1.00 49.14           O  \nATOM   4713  CG  PHE D 190      30.175 -14.183 -31.009  1.00 49.14           C  \nATOM   4714  CD1 PHE D 190      29.625 -12.907 -30.985  1.00 49.14           C  \nATOM   4715  CD2 PHE D 190      30.413 -14.785 -32.237  1.00 49.14           C  \nATOM   4716  CE1 PHE D 190      29.316 -12.241 -32.169  1.00 49.14           C  \nATOM   4717  CE2 PHE D 190      30.108 -14.126 -33.424  1.00 49.14           C  \nATOM   4718  CZ  PHE D 190      29.558 -12.855 -33.388  1.00 49.14           C  \nATOM   4719  N   GLN D 191      32.368 -12.895 -28.051  1.00 51.31           N  \nATOM   4720  CA  GLN D 191      32.954 -11.592 -27.753  1.00 51.31           C  \nATOM   4721  C   GLN D 191      34.477 -11.670 -27.710  1.00 51.31           C  \nATOM   4722  CB  GLN D 191      32.418 -11.053 -26.425  1.00 51.31           C  \nATOM   4723  O   GLN D 191      35.164 -10.812 -28.267  1.00 51.31           O  \nATOM   4724  CG  GLN D 191      32.356  -9.533 -26.359  1.00 51.31           C  \nATOM   4725  CD  GLN D 191      31.354  -9.031 -25.337  1.00 51.31           C  \nATOM   4726  NE2 GLN D 191      31.142  -7.719 -25.309  1.00 51.31           N  \nATOM   4727  OE1 GLN D 191      30.774  -9.815 -24.578  1.00 51.31           O  \nATOM   4728  N   ALA D 192      35.010 -12.693 -27.033  1.00 54.63           N  \nATOM   4729  CA  ALA D 192      36.453 -12.917 -27.059  1.00 54.63           C  \nATOM   4730  C   ALA D 192      36.939 -13.199 -28.478  1.00 54.63           C  \nATOM   4731  CB  ALA D 192      36.829 -14.071 -26.133  1.00 54.63           C  \nATOM   4732  O   ALA D 192      37.991 -12.706 -28.890  1.00 54.63           O  \nATOM   4733  N   TYR D 193      36.149 -14.020 -29.172  1.00 52.20           N  \nATOM   4734  CA  TYR D 193      36.448 -14.257 -30.580  1.00 52.20           C  \nATOM   4735  C   TYR D 193      36.373 -12.961 -31.378  1.00 52.20           C  \nATOM   4736  CB  TYR D 193      35.481 -15.289 -31.168  1.00 52.20           C  \nATOM   4737  O   TYR D 193      37.273 -12.656 -32.164  1.00 52.20           O  \nATOM   4738  CG  TYR D 193      35.708 -15.566 -32.635  1.00 52.20           C  \nATOM   4739  CD1 TYR D 193      34.888 -14.998 -33.606  1.00 52.20           C  \nATOM   4740  CD2 TYR D 193      36.743 -16.397 -33.051  1.00 52.20           C  \nATOM   4741  CE1 TYR D 193      35.092 -15.252 -34.959  1.00 52.20           C  \nATOM   4742  CE2 TYR D 193      36.956 -16.659 -34.401  1.00 52.20           C  \nATOM   4743  OH  TYR D 193      36.334 -16.337 -36.683  1.00 52.20           O  \nATOM   4744  CZ  TYR D 193      36.127 -16.082 -35.346  1.00 52.20           C  \nATOM   4745  N   CYS D 194      35.339 -12.188 -31.145  1.00 57.32           N  \nATOM   4746  CA  CYS D 194      35.215 -10.929 -31.870  1.00 57.32           C  \nATOM   4747  C   CYS D 194      36.252  -9.920 -31.393  1.00 57.32           C  \nATOM   4748  CB  CYS D 194      33.811 -10.349 -31.700  1.00 57.32           C  \nATOM   4749  O   CYS D 194      36.711  -9.080 -32.170  1.00 57.32           O  \nATOM   4750  SG  CYS D 194      32.562 -11.154 -32.727  1.00 57.32           S  \nATOM   4751  N   GLU D 195      36.661  -9.858 -30.111  1.00 60.29           N  \nATOM   4752  CA  GLU D 195      37.774  -9.053 -29.617  1.00 60.29           C  \nATOM   4753  C   GLU D 195      39.099  -9.519 -30.213  1.00 60.29           C  \nATOM   4754  CB  GLU D 195      37.838  -9.104 -28.088  1.00 60.29           C  \nATOM   4755  O   GLU D 195      39.958  -8.700 -30.547  1.00 60.29           O  \nATOM   4756  CG  GLU D 195      36.913  -8.110 -27.401  1.00 60.29           C  \nATOM   4757  CD  GLU D 195      36.928  -8.226 -25.885  1.00 60.29           C  \nATOM   4758  OE1 GLU D 195      36.230  -7.436 -25.209  1.00 60.29           O  \nATOM   4759  OE2 GLU D 195      37.643  -9.114 -25.369  1.00 60.29           O  \nATOM   4760  N   ALA D 196      39.320 -10.893 -30.434  1.00 64.61           N  \nATOM   4761  CA  ALA D 196      40.530 -11.465 -31.017  1.00 64.61           C  \nATOM   4762  C   ALA D 196      40.501 -11.374 -32.540  1.00 64.61           C  \nATOM   4763  CB  ALA D 196      40.697 -12.918 -30.578  1.00 64.61           C  \nATOM   4764  O   ALA D 196      41.551 -11.330 -33.186  1.00 64.61           O  \nATOM   4765  N   ASN D 197      39.269 -11.579 -33.095  1.00 52.06           N  \nATOM   4766  CA  ASN D 197      39.124 -11.481 -34.543  1.00 52.06           C  \nATOM   4767  C   ASN D 197      38.121 -10.399 -34.935  1.00 52.06           C  \nATOM   4768  CB  ASN D 197      38.707 -12.829 -35.134  1.00 52.06           C  \nATOM   4769  O   ASN D 197      37.016 -10.705 -35.386  1.00 52.06           O  \nATOM   4770  CG  ASN D 197      39.821 -13.857 -35.086  1.00 52.06           C  \nATOM   4771  ND2 ASN D 197      39.474 -15.091 -34.742  1.00 52.06           N  \nATOM   4772  OD1 ASN D 197      40.983 -13.543 -35.356  1.00 52.06           O  \nATOM   4773  N   PRO D 198      38.437  -9.108 -34.640  1.00 57.40           N  \nATOM   4774  CA  PRO D 198      37.518  -7.984 -34.837  1.00 57.40           C  \nATOM   4775  C   PRO D 198      37.001  -7.890 -36.271  1.00 57.40           C  \nATOM   4776  CB  PRO D 198      38.372  -6.764 -34.484  1.00 57.40           C  \nATOM   4777  O   PRO D 198      35.898  -7.386 -36.501  1.00 57.40           O  \nATOM   4778  CG  PRO D 198      39.755  -7.304 -34.308  1.00 57.40           C  \nATOM   4779  CD  PRO D 198      39.701  -8.800 -34.425  1.00 57.40           C  \nATOM   4780  N   ASP D 199      37.803  -8.350 -37.192  1.00 53.72           N  \nATOM   4781  CA  ASP D 199      37.493  -8.229 -38.613  1.00 53.72           C  \nATOM   4782  C   ASP D 199      36.639  -9.402 -39.090  1.00 53.72           C  \nATOM   4783  CB  ASP D 199      38.778  -8.144 -39.439  1.00 53.72           C  \nATOM   4784  O   ASP D 199      36.306  -9.493 -40.274  1.00 53.72           O  \nATOM   4785  CG  ASP D 199      39.565  -6.871 -39.181  1.00 53.72           C  \nATOM   4786  OD1 ASP D 199      38.951  -5.825 -38.879  1.00 53.72           O  \nATOM   4787  OD2 ASP D 199      40.810  -6.914 -39.283  1.00 53.72           O  \nATOM   4788  N   ALA D 200      36.375 -10.315 -38.191  1.00 53.53           N  \nATOM   4789  CA  ALA D 200      35.599 -11.479 -38.608  1.00 53.53           C  \nATOM   4790  C   ALA D 200      34.153 -11.095 -38.911  1.00 53.53           C  \nATOM   4791  CB  ALA D 200      35.644 -12.562 -37.534  1.00 53.53           C  \nATOM   4792  O   ALA D 200      33.578 -10.239 -38.234  1.00 53.53           O  \nATOM   4793  N   LEU D 201      33.438 -11.475 -40.126  1.00 53.64           N  \nATOM   4794  CA  LEU D 201      32.126 -11.131 -40.661  1.00 53.64           C  \nATOM   4795  C   LEU D 201      31.045 -11.299 -39.599  1.00 53.64           C  \nATOM   4796  CB  LEU D 201      31.799 -11.997 -41.880  1.00 53.64           C  \nATOM   4797  O   LEU D 201      30.144 -10.464 -39.485  1.00 53.64           O  \nATOM   4798  CG  LEU D 201      31.924 -11.320 -43.246  1.00 53.64           C  \nATOM   4799  CD1 LEU D 201      32.530 -12.284 -44.261  1.00 53.64           C  \nATOM   4800  CD2 LEU D 201      30.565 -10.819 -43.721  1.00 53.64           C  \nATOM   4801  N   GLU D 202      31.172 -12.293 -38.878  1.00 56.84           N  \nATOM   4802  CA  GLU D 202      30.164 -12.653 -37.887  1.00 56.84           C  \nATOM   4803  C   GLU D 202      30.104 -11.624 -36.762  1.00 56.84           C  \nATOM   4804  CB  GLU D 202      30.446 -14.044 -37.313  1.00 56.84           C  \nATOM   4805  O   GLU D 202      29.052 -11.424 -36.151  1.00 56.84           O  \nATOM   4806  CG  GLU D 202      30.136 -15.181 -38.276  1.00 56.84           C  \nATOM   4807  CD  GLU D 202      31.075 -16.368 -38.124  1.00 56.84           C  \nATOM   4808  OE1 GLU D 202      30.853 -17.406 -38.788  1.00 56.84           O  \nATOM   4809  OE2 GLU D 202      32.039 -16.259 -37.334  1.00 56.84           O  \nATOM   4810  N   CYS D 203      31.294 -11.007 -36.504  1.00 50.19           N  \nATOM   4811  CA  CYS D 203      31.409 -10.013 -35.443  1.00 50.19           C  \nATOM   4812  C   CYS D 203      30.930  -8.648 -35.921  1.00 50.19           C  \nATOM   4813  CB  CYS D 203      32.855  -9.915 -34.957  1.00 50.19           C  \nATOM   4814  O   CYS D 203      30.541  -7.804 -35.111  1.00 50.19           O  \nATOM   4815  SG  CYS D 203      33.457 -11.416 -34.153  1.00 50.19           S  \nATOM   4816  N   ARG D 204      30.931  -8.214 -37.159  1.00 46.63           N  \nATOM   4817  CA  ARG D 204      30.529  -6.940 -37.746  1.00 46.63           C  \nATOM   4818  C   ARG D 204      29.010  -6.810 -37.784  1.00 46.63           C  \nATOM   4819  CB  ARG D 204      31.103  -6.793 -39.157  1.00 46.63           C  \nATOM   4820  O   ARG D 204      28.479  -5.701 -37.868  1.00 46.63           O  \nATOM   4821  CG  ARG D 204      32.487  -6.164 -39.197  1.00 46.63           C  \nATOM   4822  CD  ARG D 204      32.913  -5.828 -40.619  1.00 46.63           C  \nATOM   4823  NE  ARG D 204      34.229  -5.197 -40.652  1.00 46.63           N  \nATOM   4824  NH1 ARG D 204      34.418  -5.235 -42.955  1.00 46.63           N  \nATOM   4825  NH2 ARG D 204      36.104  -4.353 -41.676  1.00 46.63           N  \nATOM   4826  CZ  ARG D 204      34.914  -4.930 -41.761  1.00 46.63           C  \nATOM   4827  N   ILE D 205      28.222  -7.904 -37.843  1.00 42.20           N  \nATOM   4828  CA  ILE D 205      26.772  -7.796 -37.960  1.00 42.20           C  \nATOM   4829  C   ILE D 205      26.189  -7.237 -36.664  1.00 42.20           C  \nATOM   4830  CB  ILE D 205      26.129  -9.161 -38.291  1.00 42.20           C  \nATOM   4831  O   ILE D 205      25.164  -6.551 -36.682  1.00 42.20           O  \nATOM   4832  CG1 ILE D 205      26.625  -9.670 -39.650  1.00 42.20           C  \nATOM   4833  CG2 ILE D 205      24.601  -9.058 -38.270  1.00 42.20           C  \nATOM   4834  CD1 ILE D 205      26.176 -11.086 -39.982  1.00 42.20           C  \nATOM   4835  N   TYR D 206      26.897  -7.473 -35.611  1.00 36.82           N  \nATOM   4836  CA  TYR D 206      26.309  -7.027 -34.352  1.00 36.82           C  \nATOM   4837  C   TYR D 206      26.680  -5.578 -34.060  1.00 36.82           C  \nATOM   4838  CB  TYR D 206      26.765  -7.925 -33.198  1.00 36.82           C  \nATOM   4839  O   TYR D 206      26.229  -5.004 -33.066  1.00 36.82           O  \nATOM   4840  CG  TYR D 206      25.739  -8.953 -32.787  1.00 36.82           C  \nATOM   4841  CD1 TYR D 206      24.801  -8.671 -31.796  1.00 36.82           C  \nATOM   4842  CD2 TYR D 206      25.705 -10.207 -33.387  1.00 36.82           C  \nATOM   4843  CE1 TYR D 206      23.855  -9.615 -31.412  1.00 36.82           C  \nATOM   4844  CE2 TYR D 206      24.763 -11.159 -33.011  1.00 36.82           C  \nATOM   4845  OH  TYR D 206      22.908 -11.793 -31.648  1.00 36.82           O  \nATOM   4846  CZ  TYR D 206      23.843 -10.854 -32.024  1.00 36.82           C  \nATOM   4847  N   ASP D 207      27.736  -4.939 -34.704  1.00 33.87           N  \nATOM   4848  CA  ASP D 207      28.102  -3.553 -34.433  1.00 33.87           C  \nATOM   4849  C   ASP D 207      27.153  -2.586 -35.138  1.00 33.87           C  \nATOM   4850  CB  ASP D 207      29.545  -3.283 -34.868  1.00 33.87           C  \nATOM   4851  O   ASP D 207      27.226  -1.373 -34.929  1.00 33.87           O  \nATOM   4852  CG  ASP D 207      30.566  -3.707 -33.827  1.00 33.87           C  \nATOM   4853  OD1 ASP D 207      30.184  -3.957 -32.664  1.00 33.87           O  \nATOM   4854  OD2 ASP D 207      31.765  -3.788 -34.173  1.00 33.87           O  \nATOM   4855  N   ASP D 208      26.408  -3.029 -36.230  1.00 27.62           N  \nATOM   4856  CA  ASP D 208      25.552  -1.972 -36.758  1.00 27.62           C  \nATOM   4857  C   ASP D 208      24.273  -1.838 -35.933  1.00 27.62           C  \nATOM   4858  CB  ASP D 208      25.206  -2.242 -38.224  1.00 27.62           C  \nATOM   4859  O   ASP D 208      23.584  -2.828 -35.682  1.00 27.62           O  \nATOM   4860  CG  ASP D 208      26.340  -1.898 -39.173  1.00 27.62           C  \nATOM   4861  OD1 ASP D 208      27.313  -1.238 -38.748  1.00 27.62           O  \nATOM   4862  OD2 ASP D 208      26.260  -2.289 -40.358  1.00 27.62           O  \nTER    4863      ASP D 208                                                      \nATOM   4864  N   GLY E   1     -12.272  31.313 -21.502  1.00 38.46           N  \nATOM   4865  CA  GLY E   1     -11.509  31.048 -20.293  1.00 38.46           C  \nATOM   4866  C   GLY E   1     -10.049  30.739 -20.566  1.00 38.46           C  \nATOM   4867  O   GLY E   1      -9.681  30.393 -21.691  1.00 38.46           O  \nATOM   4868  N   PRO E   2      -9.101  31.186 -19.714  1.00 50.71           N  \nATOM   4869  CA  PRO E   2      -7.676  31.078 -20.036  1.00 50.71           C  \nATOM   4870  C   PRO E   2      -7.279  29.676 -20.492  1.00 50.71           C  \nATOM   4871  CB  PRO E   2      -6.988  31.439 -18.717  1.00 50.71           C  \nATOM   4872  O   PRO E   2      -7.831  28.685 -20.006  1.00 50.71           O  \nATOM   4873  CG  PRO E   2      -8.088  31.456 -17.705  1.00 50.71           C  \nATOM   4874  CD  PRO E   2      -9.396  31.277 -18.419  1.00 50.71           C  \nATOM   4875  N   MET E   3      -6.742  29.493 -21.748  1.00 59.35           N  \nATOM   4876  CA  MET E   3      -6.379  28.258 -22.437  1.00 59.35           C  \nATOM   4877  C   MET E   3      -5.339  27.476 -21.642  1.00 59.35           C  \nATOM   4878  CB  MET E   3      -5.847  28.561 -23.839  1.00 59.35           C  \nATOM   4879  O   MET E   3      -4.233  27.966 -21.410  1.00 59.35           O  \nATOM   4880  CG  MET E   3      -6.875  28.362 -24.941  1.00 59.35           C  \nATOM   4881  SD  MET E   3      -6.147  28.523 -26.618  1.00 59.35           S  \nATOM   4882  CE  MET E   3      -4.736  29.603 -26.253  1.00 59.35           C  \nATOM   4883  N   VAL E   4      -5.634  26.582 -20.702  1.00 78.50           N  \nATOM   4884  CA  VAL E   4      -4.762  25.696 -19.938  1.00 78.50           C  \nATOM   4885  C   VAL E   4      -4.143  24.654 -20.867  1.00 78.50           C  \nATOM   4886  CB  VAL E   4      -5.526  25.000 -18.790  1.00 78.50           C  \nATOM   4887  O   VAL E   4      -4.770  24.228 -21.839  1.00 78.50           O  \nATOM   4888  CG1 VAL E   4      -4.563  24.225 -17.893  1.00 78.50           C  \nATOM   4889  CG2 VAL E   4      -6.313  26.025 -17.975  1.00 78.50           C  \nATOM   4890  N   LEU E   5      -2.731  24.575 -20.779  1.00 91.36           N  \nATOM   4891  CA  LEU E   5      -2.022  23.558 -21.548  1.00 91.36           C  \nATOM   4892  C   LEU E   5      -2.654  22.185 -21.346  1.00 91.36           C  \nATOM   4893  CB  LEU E   5      -0.545  23.517 -21.148  1.00 91.36           C  \nATOM   4894  O   LEU E   5      -2.910  21.775 -20.211  1.00 91.36           O  \nATOM   4895  CG  LEU E   5       0.409  22.854 -22.143  1.00 91.36           C  \nATOM   4896  CD1 LEU E   5       0.582  23.732 -23.377  1.00 91.36           C  \nATOM   4897  CD2 LEU E   5       1.757  22.573 -21.487  1.00 91.36           C  \nATOM   4898  N   GLN E   6      -2.934  21.558 -22.508  1.00 95.19           N  \nATOM   4899  CA  GLN E   6      -3.703  20.319 -22.446  1.00 95.19           C  \nATOM   4900  C   GLN E   6      -2.825  19.111 -22.760  1.00 95.19           C  \nATOM   4901  CB  GLN E   6      -4.887  20.372 -23.413  1.00 95.19           C  \nATOM   4902  O   GLN E   6      -1.730  19.258 -23.308  1.00 95.19           O  \nATOM   4903  CG  GLN E   6      -5.859  21.510 -23.132  1.00 95.19           C  \nATOM   4904  CD  GLN E   6      -6.976  21.594 -24.155  1.00 95.19           C  \nATOM   4905  NE2 GLN E   6      -8.023  22.344 -23.830  1.00 95.19           N  \nATOM   4906  OE1 GLN E   6      -6.897  20.992 -25.231  1.00 95.19           O  \nATOM   4907  N   ALA E   7      -3.323  17.945 -22.500  1.00 96.24           N  \nATOM   4908  CA  ALA E   7      -2.602  16.687 -22.680  1.00 96.24           C  \nATOM   4909  C   ALA E   7      -2.203  16.488 -24.139  1.00 96.24           C  \nATOM   4910  CB  ALA E   7      -3.451  15.514 -22.198  1.00 96.24           C  \nATOM   4911  O   ALA E   7      -1.066  16.111 -24.432  1.00 96.24           O  \nATOM   4912  N   GLN E   8      -3.094  16.773 -25.051  1.00 96.39           N  \nATOM   4913  CA  GLN E   8      -2.839  16.530 -26.466  1.00 96.39           C  \nATOM   4914  C   GLN E   8      -1.697  17.404 -26.978  1.00 96.39           C  \nATOM   4915  CB  GLN E   8      -4.102  16.781 -27.291  1.00 96.39           C  \nATOM   4916  O   GLN E   8      -1.066  17.082 -27.987  1.00 96.39           O  \nATOM   4917  CG  GLN E   8      -4.579  18.227 -27.261  1.00 96.39           C  \nATOM   4918  CD  GLN E   8      -5.854  18.441 -28.055  1.00 96.39           C  \nATOM   4919  NE2 GLN E   8      -6.000  19.628 -28.634  1.00 96.39           N  \nATOM   4920  OE1 GLN E   8      -6.701  17.547 -28.148  1.00 96.39           O  \nATOM   4921  N   GLU E   9      -1.411  18.442 -26.291  1.00 96.82           N  \nATOM   4922  CA  GLU E   9      -0.391  19.386 -26.738  1.00 96.82           C  \nATOM   4923  C   GLU E   9       1.006  18.923 -26.333  1.00 96.82           C  \nATOM   4924  CB  GLU E   9      -0.666  20.783 -26.173  1.00 96.82           C  \nATOM   4925  O   GLU E   9       2.004  19.387 -26.887  1.00 96.82           O  \nATOM   4926  CG  GLU E   9      -1.956  21.409 -26.684  1.00 96.82           C  \nATOM   4927  CD  GLU E   9      -2.298  22.722 -25.997  1.00 96.82           C  \nATOM   4928  OE1 GLU E   9      -1.995  23.798 -26.560  1.00 96.82           O  \nATOM   4929  OE2 GLU E   9      -2.872  22.673 -24.886  1.00 96.82           O  \nATOM   4930  N   ILE E  10       1.061  18.041 -25.392  1.00 97.19           N  \nATOM   4931  CA  ILE E  10       2.396  17.668 -24.938  1.00 97.19           C  \nATOM   4932  C   ILE E  10       2.573  16.155 -25.044  1.00 97.19           C  \nATOM   4933  CB  ILE E  10       2.652  18.137 -23.488  1.00 97.19           C  \nATOM   4934  O   ILE E  10       3.631  15.622 -24.702  1.00 97.19           O  \nATOM   4935  CG1 ILE E  10       1.672  17.455 -22.526  1.00 97.19           C  \nATOM   4936  CG2 ILE E  10       2.547  19.661 -23.387  1.00 97.19           C  \nATOM   4937  CD1 ILE E  10       2.117  17.478 -21.070  1.00 97.19           C  \nATOM   4938  N   MET E  11       1.602  15.427 -25.456  1.00 97.10           N  \nATOM   4939  CA  MET E  11       1.670  13.972 -25.570  1.00 97.10           C  \nATOM   4940  C   MET E  11       2.657  13.557 -26.657  1.00 97.10           C  \nATOM   4941  CB  MET E  11       0.288  13.391 -25.870  1.00 97.10           C  \nATOM   4942  O   MET E  11       3.037  14.371 -27.500  1.00 97.10           O  \nATOM   4943  CG  MET E  11      -0.234  13.732 -27.256  1.00 97.10           C  \nATOM   4944  SD  MET E  11      -1.900  13.032 -27.573  1.00 97.10           S  \nATOM   4945  CE  MET E  11      -2.167  13.599 -29.276  1.00 97.10           C  \nATOM   4946  N   THR E  12       3.103  12.343 -26.561  1.00 94.08           N  \nATOM   4947  CA  THR E  12       3.853  11.732 -27.653  1.00 94.08           C  \nATOM   4948  C   THR E  12       2.907  11.124 -28.685  1.00 94.08           C  \nATOM   4949  CB  THR E  12       4.814  10.647 -27.131  1.00 94.08           C  \nATOM   4950  O   THR E  12       2.008  10.356 -28.334  1.00 94.08           O  \nATOM   4951  CG2 THR E  12       5.646  10.058 -28.266  1.00 94.08           C  \nATOM   4952  OG1 THR E  12       5.694  11.224 -26.158  1.00 94.08           O  \nATOM   4953  N   GLN E  13       3.031  11.474 -29.911  1.00 91.54           N  \nATOM   4954  CA  GLN E  13       2.095  11.059 -30.950  1.00 91.54           C  \nATOM   4955  C   GLN E  13       2.534   9.746 -31.593  1.00 91.54           C  \nATOM   4956  CB  GLN E  13       1.959  12.147 -32.017  1.00 91.54           C  \nATOM   4957  O   GLN E  13       1.704   8.991 -32.104  1.00 91.54           O  \nATOM   4958  CG  GLN E  13       1.308  13.427 -31.511  1.00 91.54           C  \nATOM   4959  CD  GLN E  13       1.241  14.510 -32.571  1.00 91.54           C  \nATOM   4960  NE2 GLN E  13       1.035  15.750 -32.140  1.00 91.54           N  \nATOM   4961  OE1 GLN E  13       1.376  14.236 -33.768  1.00 91.54           O  \nATOM   4962  N   ASN E  14       3.808   9.546 -31.714  1.00 84.00           N  \nATOM   4963  CA  ASN E  14       4.281   8.291 -32.288  1.00 84.00           C  \nATOM   4964  C   ASN E  14       4.038   7.116 -31.344  1.00 84.00           C  \nATOM   4965  CB  ASN E  14       5.767   8.388 -32.641  1.00 84.00           C  \nATOM   4966  O   ASN E  14       4.898   6.782 -30.527  1.00 84.00           O  \nATOM   4967  CG  ASN E  14       6.186   7.374 -33.686  1.00 84.00           C  \nATOM   4968  ND2 ASN E  14       7.447   7.434 -34.099  1.00 84.00           N  \nATOM   4969  OD1 ASN E  14       5.384   6.543 -34.121  1.00 84.00           O  \nATOM   4970  N   VAL E  15       2.861   6.509 -31.497  1.00 88.18           N  \nATOM   4971  CA  VAL E  15       2.494   5.397 -30.626  1.00 88.18           C  \nATOM   4972  C   VAL E  15       2.678   4.076 -31.370  1.00 88.18           C  \nATOM   4973  CB  VAL E  15       1.039   5.526 -30.123  1.00 88.18           C  \nATOM   4974  O   VAL E  15       2.313   3.959 -32.542  1.00 88.18           O  \nATOM   4975  CG1 VAL E  15       0.704   4.402 -29.144  1.00 88.18           C  \nATOM   4976  CG2 VAL E  15       0.820   6.890 -29.470  1.00 88.18           C  \nATOM   4977  N   VAL E  16       3.355   3.153 -30.783  1.00 95.02           N  \nATOM   4978  CA  VAL E  16       3.534   1.818 -31.344  1.00 95.02           C  \nATOM   4979  C   VAL E  16       2.654   0.821 -30.595  1.00 95.02           C  \nATOM   4980  CB  VAL E  16       5.012   1.372 -31.288  1.00 95.02           C  \nATOM   4981  O   VAL E  16       2.524   0.895 -29.371  1.00 95.02           O  \nATOM   4982  CG1 VAL E  16       5.170  -0.044 -31.840  1.00 95.02           C  \nATOM   4983  CG2 VAL E  16       5.894   2.352 -32.060  1.00 95.02           C  \nATOM   4984  N   THR E  17       2.044   0.005 -31.345  1.00 96.25           N  \nATOM   4985  CA  THR E  17       1.135  -0.972 -30.756  1.00 96.25           C  \nATOM   4986  C   THR E  17       1.723  -2.377 -30.838  1.00 96.25           C  \nATOM   4987  CB  THR E  17      -0.239  -0.946 -31.451  1.00 96.25           C  \nATOM   4988  O   THR E  17       2.665  -2.618 -31.595  1.00 96.25           O  \nATOM   4989  CG2 THR E  17      -0.822   0.463 -31.465  1.00 96.25           C  \nATOM   4990  OG1 THR E  17      -0.094  -1.404 -32.801  1.00 96.25           O  \nATOM   4991  N   ILE E  18       1.181  -3.291 -29.990  1.00 97.93           N  \nATOM   4992  CA  ILE E  18       1.577  -4.695 -29.961  1.00 97.93           C  \nATOM   4993  C   ILE E  18       0.368  -5.566 -29.626  1.00 97.93           C  \nATOM   4994  CB  ILE E  18       2.713  -4.941 -28.943  1.00 97.93           C  \nATOM   4995  O   ILE E  18      -0.594  -5.094 -29.015  1.00 97.93           O  \nATOM   4996  CG1 ILE E  18       3.334  -6.326 -29.160  1.00 97.93           C  \nATOM   4997  CG2 ILE E  18       2.195  -4.792 -27.509  1.00 97.93           C  \nATOM   4998  CD1 ILE E  18       4.669  -6.523 -28.455  1.00 97.93           C  \nATOM   4999  N   ARG E  19       0.445  -6.755 -30.077  1.00 96.98           N  \nATOM   5000  CA  ARG E  19      -0.619  -7.691 -29.726  1.00 96.98           C  \nATOM   5001  C   ARG E  19      -0.381  -8.299 -28.348  1.00 96.98           C  \nATOM   5002  CB  ARG E  19      -0.728  -8.798 -30.776  1.00 96.98           C  \nATOM   5003  O   ARG E  19       0.765  -8.512 -27.947  1.00 96.98           O  \nATOM   5004  CG  ARG E  19      -1.214  -8.315 -32.134  1.00 96.98           C  \nATOM   5005  CD  ARG E  19      -1.460  -9.473 -33.090  1.00 96.98           C  \nATOM   5006  NE  ARG E  19      -2.072  -9.022 -34.337  1.00 96.98           N  \nATOM   5007  NH1 ARG E  19      -2.197 -11.128 -35.278  1.00 96.98           N  \nATOM   5008  NH2 ARG E  19      -2.958  -9.303 -36.437  1.00 96.98           N  \nATOM   5009  CZ  ARG E  19      -2.408  -9.819 -35.348  1.00 96.98           C  \nATOM   5010  N   GLY E  20      -1.456  -8.642 -27.736  1.00 97.56           N  \nATOM   5011  CA  GLY E  20      -1.334  -9.299 -26.444  1.00 97.56           C  \nATOM   5012  C   GLY E  20      -0.667 -10.659 -26.526  1.00 97.56           C  \nATOM   5013  O   GLY E  20      -0.020 -11.097 -25.572  1.00 97.56           O  \nATOM   5014  N   SER E  21      -0.798 -11.337 -27.593  1.00 97.16           N  \nATOM   5015  CA  SER E  21      -0.266 -12.684 -27.773  1.00 97.16           C  \nATOM   5016  C   SER E  21       1.228 -12.652 -28.078  1.00 97.16           C  \nATOM   5017  CB  SER E  21      -1.009 -13.408 -28.896  1.00 97.16           C  \nATOM   5018  O   SER E  21       1.891 -13.691 -28.070  1.00 97.16           O  \nATOM   5019  OG  SER E  21      -0.905 -12.690 -30.113  1.00 97.16           O  \nATOM   5020  N   ALA E  22       1.769 -11.488 -28.307  1.00 98.13           N  \nATOM   5021  CA  ALA E  22       3.201 -11.390 -28.578  1.00 98.13           C  \nATOM   5022  C   ALA E  22       4.020 -11.812 -27.362  1.00 98.13           C  \nATOM   5023  CB  ALA E  22       3.567  -9.968 -28.995  1.00 98.13           C  \nATOM   5024  O   ALA E  22       3.523 -11.790 -26.233  1.00 98.13           O  \nATOM   5025  N   THR E  23       5.236 -12.224 -27.628  1.00 98.36           N  \nATOM   5026  CA  THR E  23       6.124 -12.536 -26.513  1.00 98.36           C  \nATOM   5027  C   THR E  23       6.670 -11.258 -25.883  1.00 98.36           C  \nATOM   5028  CB  THR E  23       7.294 -13.430 -26.964  1.00 98.36           C  \nATOM   5029  O   THR E  23       6.686 -10.203 -26.520  1.00 98.36           O  \nATOM   5030  CG2 THR E  23       6.788 -14.686 -27.665  1.00 98.36           C  \nATOM   5031  OG1 THR E  23       8.128 -12.695 -27.868  1.00 98.36           O  \nATOM   5032  N   VAL E  24       7.103 -11.389 -24.719  1.00 98.81           N  \nATOM   5033  CA  VAL E  24       7.753 -10.271 -24.044  1.00 98.81           C  \nATOM   5034  C   VAL E  24       9.040  -9.902 -24.778  1.00 98.81           C  \nATOM   5035  CB  VAL E  24       8.058 -10.600 -22.566  1.00 98.81           C  \nATOM   5036  O   VAL E  24       9.393  -8.724 -24.870  1.00 98.81           O  \nATOM   5037  CG1 VAL E  24       8.906  -9.499 -21.931  1.00 98.81           C  \nATOM   5038  CG2 VAL E  24       6.761 -10.798 -21.784  1.00 98.81           C  \nATOM   5039  N   ALA E  25       9.692 -10.878 -25.315  1.00 98.66           N  \nATOM   5040  CA  ALA E  25      10.894 -10.627 -26.106  1.00 98.66           C  \nATOM   5041  C   ALA E  25      10.588  -9.722 -27.297  1.00 98.66           C  \nATOM   5042  CB  ALA E  25      11.500 -11.944 -26.585  1.00 98.66           C  \nATOM   5043  O   ALA E  25      11.350  -8.800 -27.595  1.00 98.66           O  \nATOM   5044  N   ASP E  26       9.479  -9.972 -27.964  1.00 98.48           N  \nATOM   5045  CA  ASP E  26       9.050  -9.123 -29.071  1.00 98.48           C  \nATOM   5046  C   ASP E  26       8.836  -7.683 -28.609  1.00 98.48           C  \nATOM   5047  CB  ASP E  26       7.766  -9.669 -29.700  1.00 98.48           C  \nATOM   5048  O   ASP E  26       9.231  -6.740 -29.297  1.00 98.48           O  \nATOM   5049  CG  ASP E  26       7.975 -10.990 -30.421  1.00 98.48           C  \nATOM   5050  OD1 ASP E  26       9.086 -11.232 -30.941  1.00 98.48           O  \nATOM   5051  OD2 ASP E  26       7.019 -11.793 -30.473  1.00 98.48           O  \nATOM   5052  N   ALA E  27       8.226  -7.590 -27.494  1.00 98.74           N  \nATOM   5053  CA  ALA E  27       7.965  -6.263 -26.944  1.00 98.74           C  \nATOM   5054  C   ALA E  27       9.269  -5.522 -26.658  1.00 98.74           C  \nATOM   5055  CB  ALA E  27       7.128  -6.369 -25.672  1.00 98.74           C  \nATOM   5056  O   ALA E  27       9.412  -4.348 -27.007  1.00 98.74           O  \nATOM   5057  N   VAL E  28      10.211  -6.196 -26.032  1.00 98.75           N  \nATOM   5058  CA  VAL E  28      11.502  -5.592 -25.722  1.00 98.75           C  \nATOM   5059  C   VAL E  28      12.197  -5.166 -27.014  1.00 98.75           C  \nATOM   5060  CB  VAL E  28      12.406  -6.560 -24.926  1.00 98.75           C  \nATOM   5061  O   VAL E  28      12.720  -4.053 -27.107  1.00 98.75           O  \nATOM   5062  CG1 VAL E  28      13.805  -5.974 -24.752  1.00 98.75           C  \nATOM   5063  CG2 VAL E  28      11.782  -6.875 -23.567  1.00 98.75           C  \nATOM   5064  N   LYS E  29      12.168  -6.027 -27.956  1.00 98.49           N  \nATOM   5065  CA  LYS E  29      12.770  -5.720 -29.250  1.00 98.49           C  \nATOM   5066  C   LYS E  29      12.155  -4.463 -29.858  1.00 98.49           C  \nATOM   5067  CB  LYS E  29      12.608  -6.899 -30.211  1.00 98.49           C  \nATOM   5068  O   LYS E  29      12.875  -3.567 -30.305  1.00 98.49           O  \nATOM   5069  CG  LYS E  29      13.248  -6.680 -31.574  1.00 98.49           C  \nATOM   5070  CD  LYS E  29      13.038  -7.879 -32.490  1.00 98.49           C  \nATOM   5071  CE  LYS E  29      13.613  -7.631 -33.878  1.00 98.49           C  \nATOM   5072  NZ  LYS E  29      13.369  -8.786 -34.793  1.00 98.49           N  \nATOM   5073  N   LEU E  30      10.925  -4.443 -29.875  1.00 98.21           N  \nATOM   5074  CA  LEU E  30      10.207  -3.306 -30.442  1.00 98.21           C  \nATOM   5075  C   LEU E  30      10.523  -2.026 -29.674  1.00 98.21           C  \nATOM   5076  CB  LEU E  30       8.698  -3.563 -30.429  1.00 98.21           C  \nATOM   5077  O   LEU E  30      10.749  -0.975 -30.277  1.00 98.21           O  \nATOM   5078  CG  LEU E  30       7.835  -2.574 -31.214  1.00 98.21           C  \nATOM   5079  CD1 LEU E  30       8.331  -2.462 -32.652  1.00 98.21           C  \nATOM   5080  CD2 LEU E  30       6.371  -2.996 -31.178  1.00 98.21           C  \nATOM   5081  N   MET E  31      10.588  -2.077 -28.393  1.00 97.85           N  \nATOM   5082  CA  MET E  31      10.911  -0.917 -27.567  1.00 97.85           C  \nATOM   5083  C   MET E  31      12.331  -0.433 -27.839  1.00 97.85           C  \nATOM   5084  CB  MET E  31      10.747  -1.250 -26.083  1.00 97.85           C  \nATOM   5085  O   MET E  31      12.575   0.772 -27.921  1.00 97.85           O  \nATOM   5086  CG  MET E  31       9.299  -1.370 -25.638  1.00 97.85           C  \nATOM   5087  SD  MET E  31       9.142  -1.747 -23.849  1.00 97.85           S  \nATOM   5088  CE  MET E  31       7.345  -1.959 -23.722  1.00 97.85           C  \nATOM   5089  N   LYS E  32      13.240  -1.347 -27.974  1.00 97.65           N  \nATOM   5090  CA  LYS E  32      14.622  -0.994 -28.288  1.00 97.65           C  \nATOM   5091  C   LYS E  32      14.722  -0.330 -29.658  1.00 97.65           C  \nATOM   5092  CB  LYS E  32      15.517  -2.233 -28.240  1.00 97.65           C  \nATOM   5093  O   LYS E  32      15.327   0.735 -29.795  1.00 97.65           O  \nATOM   5094  CG  LYS E  32      15.792  -2.744 -26.834  1.00 97.65           C  \nATOM   5095  CD  LYS E  32      16.735  -3.940 -26.848  1.00 97.65           C  \nATOM   5096  CE  LYS E  32      17.089  -4.391 -25.437  1.00 97.65           C  \nATOM   5097  NZ  LYS E  32      18.064  -5.523 -25.445  1.00 97.65           N  \nATOM   5098  N   GLU E  33      14.065  -0.913 -30.644  1.00 97.19           N  \nATOM   5099  CA  GLU E  33      14.123  -0.414 -32.015  1.00 97.19           C  \nATOM   5100  C   GLU E  33      13.510   0.980 -32.121  1.00 97.19           C  \nATOM   5101  CB  GLU E  33      13.410  -1.376 -32.968  1.00 97.19           C  \nATOM   5102  O   GLU E  33      14.043   1.847 -32.817  1.00 97.19           O  \nATOM   5103  CG  GLU E  33      14.177  -2.665 -33.228  1.00 97.19           C  \nATOM   5104  CD  GLU E  33      13.411  -3.655 -34.091  1.00 97.19           C  \nATOM   5105  OE1 GLU E  33      13.984  -4.704 -34.465  1.00 97.19           O  \nATOM   5106  OE2 GLU E  33      12.230  -3.379 -34.397  1.00 97.19           O  \nATOM   5107  N   LYS E  34      12.456   1.148 -31.400  1.00 96.29           N  \nATOM   5108  CA  LYS E  34      11.715   2.398 -31.532  1.00 96.29           C  \nATOM   5109  C   LYS E  34      12.073   3.371 -30.412  1.00 96.29           C  \nATOM   5110  CB  LYS E  34      10.208   2.132 -31.532  1.00 96.29           C  \nATOM   5111  O   LYS E  34      11.572   4.497 -30.376  1.00 96.29           O  \nATOM   5112  CG  LYS E  34       9.737   1.245 -32.675  1.00 96.29           C  \nATOM   5113  CD  LYS E  34       9.932   1.922 -34.025  1.00 96.29           C  \nATOM   5114  CE  LYS E  34       9.360   1.083 -35.160  1.00 96.29           C  \nATOM   5115  NZ  LYS E  34       9.534   1.750 -36.485  1.00 96.29           N  \nATOM   5116  N   LYS E  35      12.955   2.918 -29.436  1.00 94.22           N  \nATOM   5117  CA  LYS E  35      13.399   3.721 -28.299  1.00 94.22           C  \nATOM   5118  C   LYS E  35      12.211   4.214 -27.478  1.00 94.22           C  \nATOM   5119  CB  LYS E  35      14.237   4.908 -28.775  1.00 94.22           C  \nATOM   5120  O   LYS E  35      12.100   5.409 -27.193  1.00 94.22           O  \nATOM   5121  CG  LYS E  35      15.512   4.513 -29.504  1.00 94.22           C  \nATOM   5122  CD  LYS E  35      16.333   5.735 -29.898  1.00 94.22           C  \nATOM   5123  CE  LYS E  35      17.603   5.342 -30.640  1.00 94.22           C  \nATOM   5124  NZ  LYS E  35      18.413   6.536 -31.022  1.00 94.22           N  \nATOM   5125  N   LEU E  36      11.382   3.294 -27.158  1.00 94.77           N  \nATOM   5126  CA  LEU E  36      10.177   3.595 -26.392  1.00 94.77           C  \nATOM   5127  C   LEU E  36      10.201   2.887 -25.041  1.00 94.77           C  \nATOM   5128  CB  LEU E  36       8.927   3.184 -27.174  1.00 94.77           C  \nATOM   5129  O   LEU E  36      10.890   1.877 -24.877  1.00 94.77           O  \nATOM   5130  CG  LEU E  36       8.677   3.923 -28.490  1.00 94.77           C  \nATOM   5131  CD1 LEU E  36       7.552   3.251 -29.270  1.00 94.77           C  \nATOM   5132  CD2 LEU E  36       8.350   5.389 -28.226  1.00 94.77           C  \nATOM   5133  N   ARG E  37       9.485   3.427 -24.095  1.00 95.21           N  \nATOM   5134  CA  ARG E  37       9.458   2.870 -22.747  1.00 95.21           C  \nATOM   5135  C   ARG E  37       8.096   2.257 -22.435  1.00 95.21           C  \nATOM   5136  CB  ARG E  37       9.798   3.945 -21.713  1.00 95.21           C  \nATOM   5137  O   ARG E  37       7.864   1.783 -21.321  1.00 95.21           O  \nATOM   5138  CG  ARG E  37      11.220   4.473 -21.819  1.00 95.21           C  \nATOM   5139  CD  ARG E  37      11.470   5.618 -20.848  1.00 95.21           C  \nATOM   5140  NE  ARG E  37      12.800   6.195 -21.025  1.00 95.21           N  \nATOM   5141  NH1 ARG E  37      12.157   8.355 -20.518  1.00 95.21           N  \nATOM   5142  NH2 ARG E  37      14.339   7.899 -21.052  1.00 95.21           N  \nATOM   5143  CZ  ARG E  37      13.096   7.482 -20.864  1.00 95.21           C  \nATOM   5144  N   GLY E  38       7.160   2.274 -23.327  1.00 96.37           N  \nATOM   5145  CA  GLY E  38       5.837   1.674 -23.256  1.00 96.37           C  \nATOM   5146  C   GLY E  38       5.218   1.432 -24.620  1.00 96.37           C  \nATOM   5147  O   GLY E  38       5.464   2.188 -25.562  1.00 96.37           O  \nATOM   5148  N   LEU E  39       4.385   0.392 -24.641  1.00 98.07           N  \nATOM   5149  CA  LEU E  39       3.647   0.034 -25.847  1.00 98.07           C  \nATOM   5150  C   LEU E  39       2.155  -0.084 -25.557  1.00 98.07           C  \nATOM   5151  CB  LEU E  39       4.172  -1.282 -26.427  1.00 98.07           C  \nATOM   5152  O   LEU E  39       1.762  -0.534 -24.478  1.00 98.07           O  \nATOM   5153  CG  LEU E  39       5.678  -1.356 -26.685  1.00 98.07           C  \nATOM   5154  CD1 LEU E  39       6.086  -2.783 -27.035  1.00 98.07           C  \nATOM   5155  CD2 LEU E  39       6.078  -0.392 -27.797  1.00 98.07           C  \nATOM   5156  N   ILE E  40       1.374   0.279 -26.536  1.00 97.87           N  \nATOM   5157  CA  ILE E  40      -0.070   0.117 -26.410  1.00 97.87           C  \nATOM   5158  C   ILE E  40      -0.481  -1.263 -26.917  1.00 97.87           C  \nATOM   5159  CB  ILE E  40      -0.832   1.220 -27.180  1.00 97.87           C  \nATOM   5160  O   ILE E  40       0.002  -1.719 -27.956  1.00 97.87           O  \nATOM   5161  CG1 ILE E  40      -0.512   2.599 -26.594  1.00 97.87           C  \nATOM   5162  CG2 ILE E  40      -2.339   0.951 -27.157  1.00 97.87           C  \nATOM   5163  CD1 ILE E  40      -0.889   2.751 -25.126  1.00 97.87           C  \nATOM   5164  N   VAL E  41      -1.230  -1.967 -26.171  1.00 97.89           N  \nATOM   5165  CA  VAL E  41      -1.789  -3.246 -26.598  1.00 97.89           C  \nATOM   5166  C   VAL E  41      -3.110  -3.015 -27.328  1.00 97.89           C  \nATOM   5167  CB  VAL E  41      -2.001  -4.201 -25.401  1.00 97.89           C  \nATOM   5168  O   VAL E  41      -4.054  -2.464 -26.756  1.00 97.89           O  \nATOM   5169  CG1 VAL E  41      -2.557  -5.543 -25.873  1.00 97.89           C  \nATOM   5170  CG2 VAL E  41      -0.691  -4.399 -24.640  1.00 97.89           C  \nATOM   5171  N   GLU E  42      -3.253  -3.483 -28.424  1.00 93.51           N  \nATOM   5172  CA  GLU E  42      -4.375  -3.201 -29.314  1.00 93.51           C  \nATOM   5173  C   GLU E  42      -5.632  -3.945 -28.871  1.00 93.51           C  \nATOM   5174  CB  GLU E  42      -4.024  -3.573 -30.757  1.00 93.51           C  \nATOM   5175  O   GLU E  42      -5.552  -5.079 -28.393  1.00 93.51           O  \nATOM   5176  CG  GLU E  42      -2.903  -2.734 -31.353  1.00 93.51           C  \nATOM   5177  CD  GLU E  42      -2.503  -3.175 -32.752  1.00 93.51           C  \nATOM   5178  OE1 GLU E  42      -1.680  -2.484 -33.394  1.00 93.51           O  \nATOM   5179  OE2 GLU E  42      -3.017  -4.221 -33.210  1.00 93.51           O  \nATOM   5180  N   PRO E  43      -6.765  -3.282 -29.133  1.00 92.09           N  \nATOM   5181  CA  PRO E  43      -8.013  -4.026 -28.945  1.00 92.09           C  \nATOM   5182  C   PRO E  43      -8.223  -5.102 -30.007  1.00 92.09           C  \nATOM   5183  CB  PRO E  43      -9.088  -2.941 -29.046  1.00 92.09           C  \nATOM   5184  O   PRO E  43      -7.763  -4.954 -31.142  1.00 92.09           O  \nATOM   5185  CG  PRO E  43      -8.339  -1.651 -28.963  1.00 92.09           C  \nATOM   5186  CD  PRO E  43      -6.917  -1.898 -29.378  1.00 92.09           C  \nATOM   5187  N   ARG E  44      -8.855  -6.146 -29.675  1.00 86.50           N  \nATOM   5188  CA  ARG E  44      -9.119  -7.229 -30.617  1.00 86.50           C  \nATOM   5189  C   ARG E  44     -10.352  -6.931 -31.463  1.00 86.50           C  \nATOM   5190  CB  ARG E  44      -9.301  -8.555 -29.874  1.00 86.50           C  \nATOM   5191  O   ARG E  44     -10.449  -7.380 -32.607  1.00 86.50           O  \nATOM   5192  CG  ARG E  44      -8.058  -9.023 -29.134  1.00 86.50           C  \nATOM   5193  CD  ARG E  44      -7.089  -9.746 -30.060  1.00 86.50           C  \nATOM   5194  NE  ARG E  44      -7.615 -11.039 -30.486  1.00 86.50           N  \nATOM   5195  NH1 ARG E  44      -5.566 -11.895 -31.122  1.00 86.50           N  \nATOM   5196  NH2 ARG E  44      -7.461 -13.167 -31.338  1.00 86.50           N  \nATOM   5197  CZ  ARG E  44      -6.879 -12.031 -30.981  1.00 86.50           C  \nATOM   5198  N   HIS E  45     -11.317  -6.258 -30.868  1.00 82.46           N  \nATOM   5199  CA  HIS E  45     -12.546  -5.839 -31.532  1.00 82.46           C  \nATOM   5200  C   HIS E  45     -13.059  -4.521 -30.961  1.00 82.46           C  \nATOM   5201  CB  HIS E  45     -13.620  -6.920 -31.405  1.00 82.46           C  \nATOM   5202  O   HIS E  45     -12.459  -3.964 -30.038  1.00 82.46           O  \nATOM   5203  CG  HIS E  45     -13.852  -7.373 -29.998  1.00 82.46           C  \nATOM   5204  CD2 HIS E  45     -13.459  -8.494 -29.349  1.00 82.46           C  \nATOM   5205  ND1 HIS E  45     -14.573  -6.632 -29.087  1.00 82.46           N  \nATOM   5206  CE1 HIS E  45     -14.612  -7.280 -27.935  1.00 82.46           C  \nATOM   5207  NE2 HIS E  45     -13.944  -8.412 -28.067  1.00 82.46           N  \nATOM   5208  N   GLU E  46     -14.040  -4.015 -31.440  1.00 75.71           N  \nATOM   5209  CA  GLU E  46     -14.533  -2.675 -31.133  1.00 75.71           C  \nATOM   5210  C   GLU E  46     -14.902  -2.548 -29.658  1.00 75.71           C  \nATOM   5211  CB  GLU E  46     -15.741  -2.332 -32.009  1.00 75.71           C  \nATOM   5212  O   GLU E  46     -14.767  -1.473 -29.069  1.00 75.71           O  \nATOM   5213  CG  GLU E  46     -15.376  -1.947 -33.435  1.00 75.71           C  \nATOM   5214  CD  GLU E  46     -16.569  -1.480 -34.254  1.00 75.71           C  \nATOM   5215  OE1 GLU E  46     -16.377  -1.037 -35.409  1.00 75.71           O  \nATOM   5216  OE2 GLU E  46     -17.706  -1.557 -33.736  1.00 75.71           O  \nATOM   5217  N   GLN E  47     -15.327  -3.561 -29.052  1.00 76.13           N  \nATOM   5218  CA  GLN E  47     -15.758  -3.510 -27.659  1.00 76.13           C  \nATOM   5219  C   GLN E  47     -14.599  -3.809 -26.713  1.00 76.13           C  \nATOM   5220  CB  GLN E  47     -16.903  -4.494 -27.415  1.00 76.13           C  \nATOM   5221  O   GLN E  47     -14.749  -3.719 -25.492  1.00 76.13           O  \nATOM   5222  CG  GLN E  47     -18.179  -4.153 -28.172  1.00 76.13           C  \nATOM   5223  CD  GLN E  47     -19.109  -5.343 -28.320  1.00 76.13           C  \nATOM   5224  NE2 GLN E  47     -20.250  -5.127 -28.967  1.00 76.13           N  \nATOM   5225  OE1 GLN E  47     -18.805  -6.447 -27.858  1.00 76.13           O  \nATOM   5226  N   ASP E  48     -13.502  -4.194 -27.261  1.00 87.64           N  \nATOM   5227  CA  ASP E  48     -12.310  -4.497 -26.475  1.00 87.64           C  \nATOM   5228  C   ASP E  48     -11.521  -3.228 -26.162  1.00 87.64           C  \nATOM   5229  CB  ASP E  48     -11.422  -5.501 -27.213  1.00 87.64           C  \nATOM   5230  O   ASP E  48     -11.369  -2.358 -27.022  1.00 87.64           O  \nATOM   5231  CG  ASP E  48     -10.315  -6.067 -26.341  1.00 87.64           C  \nATOM   5232  OD1 ASP E  48     -10.538  -6.270 -25.127  1.00 87.64           O  \nATOM   5233  OD2 ASP E  48      -9.209  -6.309 -26.871  1.00 87.64           O  \nATOM   5234  N   PRO E  49     -11.019  -3.042 -24.969  1.00 92.77           N  \nATOM   5235  CA  PRO E  49     -10.287  -1.831 -24.587  1.00 92.77           C  \nATOM   5236  C   PRO E  49      -8.804  -1.901 -24.944  1.00 92.77           C  \nATOM   5237  CB  PRO E  49     -10.482  -1.765 -23.070  1.00 92.77           C  \nATOM   5238  O   PRO E  49      -8.285  -2.982 -25.232  1.00 92.77           O  \nATOM   5239  CG  PRO E  49     -10.545  -3.193 -22.631  1.00 92.77           C  \nATOM   5240  CD  PRO E  49     -11.264  -3.985 -23.685  1.00 92.77           C  \nATOM   5241  N   TYR E  50      -8.193  -0.757 -24.903  1.00 94.35           N  \nATOM   5242  CA  TYR E  50      -6.742  -0.688 -25.040  1.00 94.35           C  \nATOM   5243  C   TYR E  50      -6.052  -1.171 -23.770  1.00 94.35           C  \nATOM   5244  CB  TYR E  50      -6.300   0.742 -25.363  1.00 94.35           C  \nATOM   5245  O   TYR E  50      -6.622  -1.097 -22.679  1.00 94.35           O  \nATOM   5246  CG  TYR E  50      -6.676   1.195 -26.753  1.00 94.35           C  \nATOM   5247  CD1 TYR E  50      -5.888   0.861 -27.852  1.00 94.35           C  \nATOM   5248  CD2 TYR E  50      -7.818   1.957 -26.970  1.00 94.35           C  \nATOM   5249  CE1 TYR E  50      -6.230   1.277 -29.135  1.00 94.35           C  \nATOM   5250  CE2 TYR E  50      -8.170   2.379 -28.248  1.00 94.35           C  \nATOM   5251  OH  TYR E  50      -7.714   2.449 -30.590  1.00 94.35           O  \nATOM   5252  CZ  TYR E  50      -7.371   2.034 -29.322  1.00 94.35           C  \nATOM   5253  N   GLY E  51      -4.908  -1.740 -23.986  1.00 96.78           N  \nATOM   5254  CA  GLY E  51      -3.993  -2.043 -22.897  1.00 96.78           C  \nATOM   5255  C   GLY E  51      -2.644  -1.364 -23.044  1.00 96.78           C  \nATOM   5256  O   GLY E  51      -2.407  -0.648 -24.019  1.00 96.78           O  \nATOM   5257  N   ILE E  52      -1.808  -1.557 -22.052  1.00 98.38           N  \nATOM   5258  CA  ILE E  52      -0.468  -0.981 -22.093  1.00 98.38           C  \nATOM   5259  C   ILE E  52       0.521  -1.926 -21.414  1.00 98.38           C  \nATOM   5260  CB  ILE E  52      -0.430   0.409 -21.419  1.00 98.38           C  \nATOM   5261  O   ILE E  52       0.179  -2.594 -20.436  1.00 98.38           O  \nATOM   5262  CG1 ILE E  52       0.931   1.077 -21.649  1.00 98.38           C  \nATOM   5263  CG2 ILE E  52      -0.738   0.293 -19.924  1.00 98.38           C  \nATOM   5264  CD1 ILE E  52       0.959   2.559 -21.303  1.00 98.38           C  \nATOM   5265  N   VAL E  53       1.697  -2.052 -21.971  1.00 98.59           N  \nATOM   5266  CA  VAL E  53       2.829  -2.736 -21.355  1.00 98.59           C  \nATOM   5267  C   VAL E  53       4.035  -1.799 -21.306  1.00 98.59           C  \nATOM   5268  CB  VAL E  53       3.191  -4.032 -22.114  1.00 98.59           C  \nATOM   5269  O   VAL E  53       4.347  -1.128 -22.292  1.00 98.59           O  \nATOM   5270  CG1 VAL E  53       3.622  -3.717 -23.545  1.00 98.59           C  \nATOM   5271  CG2 VAL E  53       4.292  -4.792 -21.376  1.00 98.59           C  \nATOM   5272  N   THR E  54       4.694  -1.717 -20.161  1.00 98.20           N  \nATOM   5273  CA  THR E  54       5.774  -0.755 -19.966  1.00 98.20           C  \nATOM   5274  C   THR E  54       7.072  -1.466 -19.598  1.00 98.20           C  \nATOM   5275  CB  THR E  54       5.419   0.270 -18.873  1.00 98.20           C  \nATOM   5276  O   THR E  54       7.069  -2.665 -19.308  1.00 98.20           O  \nATOM   5277  CG2 THR E  54       4.042   0.879 -19.117  1.00 98.20           C  \nATOM   5278  OG1 THR E  54       5.421  -0.382 -17.597  1.00 98.20           O  \nATOM   5279  N   GLU E  55       8.138  -0.709 -19.599  1.00 98.00           N  \nATOM   5280  CA  GLU E  55       9.434  -1.233 -19.176  1.00 98.00           C  \nATOM   5281  C   GLU E  55       9.399  -1.676 -17.716  1.00 98.00           C  \nATOM   5282  CB  GLU E  55      10.531  -0.185 -19.381  1.00 98.00           C  \nATOM   5283  O   GLU E  55      10.061  -2.646 -17.340  1.00 98.00           O  \nATOM   5284  CG  GLU E  55      10.306   1.102 -18.600  1.00 98.00           C  \nATOM   5285  CD  GLU E  55      11.365   2.159 -18.868  1.00 98.00           C  \nATOM   5286  OE1 GLU E  55      11.361   3.209 -18.186  1.00 98.00           O  \nATOM   5287  OE2 GLU E  55      12.205   1.936 -19.769  1.00 98.00           O  \nATOM   5288  N   THR E  56       8.611  -0.973 -16.985  1.00 98.00           N  \nATOM   5289  CA  THR E  56       8.495  -1.342 -15.579  1.00 98.00           C  \nATOM   5290  C   THR E  56       7.808  -2.696 -15.429  1.00 98.00           C  \nATOM   5291  CB  THR E  56       7.715  -0.277 -14.785  1.00 98.00           C  \nATOM   5292  O   THR E  56       8.227  -3.525 -14.618  1.00 98.00           O  \nATOM   5293  CG2 THR E  56       7.658  -0.629 -13.302  1.00 98.00           C  \nATOM   5294  OG1 THR E  56       8.360   0.993 -14.939  1.00 98.00           O  \nATOM   5295  N   ASP E  57       6.780  -2.988 -16.176  1.00 98.45           N  \nATOM   5296  CA  ASP E  57       6.131  -4.295 -16.154  1.00 98.45           C  \nATOM   5297  C   ASP E  57       7.130  -5.409 -16.457  1.00 98.45           C  \nATOM   5298  CB  ASP E  57       4.975  -4.337 -17.155  1.00 98.45           C  \nATOM   5299  O   ASP E  57       7.189  -6.409 -15.739  1.00 98.45           O  \nATOM   5300  CG  ASP E  57       3.822  -3.427 -16.769  1.00 98.45           C  \nATOM   5301  OD1 ASP E  57       3.499  -3.330 -15.566  1.00 98.45           O  \nATOM   5302  OD2 ASP E  57       3.230  -2.804 -17.677  1.00 98.45           O  \nATOM   5303  N   ILE E  58       7.910  -5.200 -17.448  1.00 98.78           N  \nATOM   5304  CA  ILE E  58       8.849  -6.213 -17.918  1.00 98.78           C  \nATOM   5305  C   ILE E  58       9.921  -6.455 -16.858  1.00 98.78           C  \nATOM   5306  CB  ILE E  58       9.503  -5.799 -19.256  1.00 98.78           C  \nATOM   5307  O   ILE E  58      10.206  -7.602 -16.505  1.00 98.78           O  \nATOM   5308  CG1 ILE E  58       8.461  -5.796 -20.381  1.00 98.78           C  \nATOM   5309  CG2 ILE E  58      10.672  -6.729 -19.596  1.00 98.78           C  \nATOM   5310  CD1 ILE E  58       8.965  -5.205 -21.690  1.00 98.78           C  \nATOM   5311  N   VAL E  59      10.435  -5.407 -16.332  1.00 98.59           N  \nATOM   5312  CA  VAL E  59      11.523  -5.550 -15.369  1.00 98.59           C  \nATOM   5313  C   VAL E  59      10.986  -6.137 -14.066  1.00 98.59           C  \nATOM   5314  CB  VAL E  59      12.221  -4.198 -15.097  1.00 98.59           C  \nATOM   5315  O   VAL E  59      11.567  -7.075 -13.515  1.00 98.59           O  \nATOM   5316  CG1 VAL E  59      13.186  -4.317 -13.919  1.00 98.59           C  \nATOM   5317  CG2 VAL E  59      12.955  -3.716 -16.347  1.00 98.59           C  \nATOM   5318  N   TYR E  60       9.842  -5.700 -13.639  1.00 98.25           N  \nATOM   5319  CA  TYR E  60       9.282  -6.113 -12.357  1.00 98.25           C  \nATOM   5320  C   TYR E  60       8.766  -7.546 -12.424  1.00 98.25           C  \nATOM   5321  CB  TYR E  60       8.152  -5.170 -11.935  1.00 98.25           C  \nATOM   5322  O   TYR E  60       8.849  -8.288 -11.443  1.00 98.25           O  \nATOM   5323  CG  TYR E  60       8.632  -3.922 -11.237  1.00 98.25           C  \nATOM   5324  CD1 TYR E  60       9.959  -3.511 -11.335  1.00 98.25           C  \nATOM   5325  CD2 TYR E  60       7.760  -3.150 -10.476  1.00 98.25           C  \nATOM   5326  CE1 TYR E  60      10.407  -2.362 -10.692  1.00 98.25           C  \nATOM   5327  CE2 TYR E  60       8.196  -1.999  -9.828  1.00 98.25           C  \nATOM   5328  OH  TYR E  60       9.957  -0.476  -9.302  1.00 98.25           O  \nATOM   5329  CZ  TYR E  60       9.520  -1.614  -9.942  1.00 98.25           C  \nATOM   5330  N   LYS E  61       8.199  -7.927 -13.534  1.00 98.15           N  \nATOM   5331  CA  LYS E  61       7.438  -9.172 -13.571  1.00 98.15           C  \nATOM   5332  C   LYS E  61       8.200 -10.260 -14.322  1.00 98.15           C  \nATOM   5333  CB  LYS E  61       6.071  -8.947 -14.219  1.00 98.15           C  \nATOM   5334  O   LYS E  61       7.883 -11.445 -14.198  1.00 98.15           O  \nATOM   5335  CG  LYS E  61       5.175  -7.982 -13.456  1.00 98.15           C  \nATOM   5336  CD  LYS E  61       3.848  -7.767 -14.172  1.00 98.15           C  \nATOM   5337  CE  LYS E  61       2.999  -6.713 -13.473  1.00 98.15           C  \nATOM   5338  NZ  LYS E  61       1.711  -6.475 -14.190  1.00 98.15           N  \nATOM   5339  N   VAL E  62       9.179  -9.897 -15.096  1.00 98.41           N  \nATOM   5340  CA  VAL E  62       9.872 -10.895 -15.905  1.00 98.41           C  \nATOM   5341  C   VAL E  62      11.338 -10.972 -15.485  1.00 98.41           C  \nATOM   5342  CB  VAL E  62       9.765 -10.577 -17.413  1.00 98.41           C  \nATOM   5343  O   VAL E  62      11.762 -11.949 -14.863  1.00 98.41           O  \nATOM   5344  CG1 VAL E  62      10.382 -11.699 -18.246  1.00 98.41           C  \nATOM   5345  CG2 VAL E  62       8.307 -10.353 -17.808  1.00 98.41           C  \nATOM   5346  N   ALA E  63      12.100  -9.917 -15.668  1.00 97.89           N  \nATOM   5347  CA  ALA E  63      13.531  -9.918 -15.374  1.00 97.89           C  \nATOM   5348  C   ALA E  63      13.788 -10.215 -13.900  1.00 97.89           C  \nATOM   5349  CB  ALA E  63      14.154  -8.579 -15.762  1.00 97.89           C  \nATOM   5350  O   ALA E  63      14.675 -11.004 -13.564  1.00 97.89           O  \nATOM   5351  N   ALA E  64      13.022  -9.682 -13.090  1.00 97.22           N  \nATOM   5352  CA  ALA E  64      13.205  -9.795 -11.645  1.00 97.22           C  \nATOM   5353  C   ALA E  64      13.032 -11.239 -11.182  1.00 97.22           C  \nATOM   5354  CB  ALA E  64      12.225  -8.883 -10.912  1.00 97.22           C  \nATOM   5355  O   ALA E  64      13.517 -11.617 -10.113  1.00 97.22           O  \nATOM   5356  N   PHE E  65      12.338 -12.008 -12.002  1.00 95.94           N  \nATOM   5357  CA  PHE E  65      12.013 -13.360 -11.566  1.00 95.94           C  \nATOM   5358  C   PHE E  65      12.686 -14.394 -12.460  1.00 95.94           C  \nATOM   5359  CB  PHE E  65      10.496 -13.576 -11.564  1.00 95.94           C  \nATOM   5360  O   PHE E  65      12.458 -15.596 -12.309  1.00 95.94           O  \nATOM   5361  CG  PHE E  65       9.761 -12.706 -10.581  1.00 95.94           C  \nATOM   5362  CD1 PHE E  65       9.700 -13.051  -9.236  1.00 95.94           C  \nATOM   5363  CD2 PHE E  65       9.130 -11.542 -11.001  1.00 95.94           C  \nATOM   5364  CE1 PHE E  65       9.020 -12.248  -8.323  1.00 95.94           C  \nATOM   5365  CE2 PHE E  65       8.448 -10.735 -10.095  1.00 95.94           C  \nATOM   5366  CZ  PHE E  65       8.394 -11.090  -8.757  1.00 95.94           C  \nATOM   5367  N   GLY E  66      13.389 -13.924 -13.382  1.00 93.60           N  \nATOM   5368  CA  GLY E  66      14.136 -14.813 -14.258  1.00 93.60           C  \nATOM   5369  C   GLY E  66      13.254 -15.561 -15.240  1.00 93.60           C  \nATOM   5370  O   GLY E  66      13.608 -16.652 -15.693  1.00 93.60           O  \nATOM   5371  N   HIS E  67      12.107 -15.142 -15.495  1.00 96.32           N  \nATOM   5372  CA  HIS E  67      11.252 -15.761 -16.503  1.00 96.32           C  \nATOM   5373  C   HIS E  67      11.832 -15.579 -17.902  1.00 96.32           C  \nATOM   5374  CB  HIS E  67       9.840 -15.176 -16.440  1.00 96.32           C  \nATOM   5375  O   HIS E  67      12.560 -14.618 -18.157  1.00 96.32           O  \nATOM   5376  CG  HIS E  67       9.127 -15.468 -15.157  1.00 96.32           C  \nATOM   5377  CD2 HIS E  67       8.414 -14.664 -14.334  1.00 96.32           C  \nATOM   5378  ND1 HIS E  67       9.104 -16.722 -14.588  1.00 96.32           N  \nATOM   5379  CE1 HIS E  67       8.404 -16.677 -13.466  1.00 96.32           C  \nATOM   5380  NE2 HIS E  67       7.975 -15.439 -13.289  1.00 96.32           N  \nATOM   5381  N   ASP E  68      11.462 -16.414 -18.777  1.00 96.07           N  \nATOM   5382  CA  ASP E  68      11.951 -16.334 -20.150  1.00 96.07           C  \nATOM   5383  C   ASP E  68      11.060 -15.429 -20.999  1.00 96.07           C  \nATOM   5384  CB  ASP E  68      12.029 -17.729 -20.774  1.00 96.07           C  \nATOM   5385  O   ASP E  68       9.915 -15.777 -21.294  1.00 96.07           O  \nATOM   5386  CG  ASP E  68      12.655 -17.726 -22.158  1.00 96.07           C  \nATOM   5387  OD1 ASP E  68      12.949 -16.635 -22.691  1.00 96.07           O  \nATOM   5388  OD2 ASP E  68      12.852 -18.824 -22.721  1.00 96.07           O  \nATOM   5389  N   PRO E  69      11.607 -14.369 -21.444  1.00 98.04           N  \nATOM   5390  CA  PRO E  69      10.800 -13.437 -22.236  1.00 98.04           C  \nATOM   5391  C   PRO E  69      10.366 -14.025 -23.577  1.00 98.04           C  \nATOM   5392  CB  PRO E  69      11.737 -12.244 -22.440  1.00 98.04           C  \nATOM   5393  O   PRO E  69       9.455 -13.498 -24.221  1.00 98.04           O  \nATOM   5394  CG  PRO E  69      12.783 -12.395 -21.383  1.00 98.04           C  \nATOM   5395  CD  PRO E  69      12.978 -13.859 -21.110  1.00 98.04           C  \nATOM   5396  N   LYS E  70      10.988 -15.027 -24.009  1.00 97.01           N  \nATOM   5397  CA  LYS E  70      10.647 -15.639 -25.290  1.00 97.01           C  \nATOM   5398  C   LYS E  70       9.426 -16.546 -25.158  1.00 97.01           C  \nATOM   5399  CB  LYS E  70      11.833 -16.434 -25.838  1.00 97.01           C  \nATOM   5400  O   LYS E  70       8.796 -16.897 -26.157  1.00 97.01           O  \nATOM   5401  CG  LYS E  70      13.040 -15.579 -26.195  1.00 97.01           C  \nATOM   5402  CD  LYS E  70      14.225 -16.435 -26.623  1.00 97.01           C  \nATOM   5403  CE  LYS E  70      15.485 -15.599 -26.800  1.00 97.01           C  \nATOM   5404  NZ  LYS E  70      16.681 -16.450 -27.072  1.00 97.01           N  \nATOM   5405  N   THR E  71       9.081 -16.929 -23.947  1.00 96.29           N  \nATOM   5406  CA  THR E  71       7.934 -17.796 -23.700  1.00 96.29           C  \nATOM   5407  C   THR E  71       6.789 -17.011 -23.066  1.00 96.29           C  \nATOM   5408  CB  THR E  71       8.314 -18.980 -22.792  1.00 96.29           C  \nATOM   5409  O   THR E  71       5.622 -17.225 -23.401  1.00 96.29           O  \nATOM   5410  CG2 THR E  71       9.456 -19.791 -23.394  1.00 96.29           C  \nATOM   5411  OG1 THR E  71       8.719 -18.482 -21.511  1.00 96.29           O  \nATOM   5412  N   MET E  72       7.113 -16.107 -22.247  1.00 97.93           N  \nATOM   5413  CA  MET E  72       6.078 -15.303 -21.602  1.00 97.93           C  \nATOM   5414  C   MET E  72       5.461 -14.317 -22.587  1.00 97.93           C  \nATOM   5415  CB  MET E  72       6.652 -14.552 -20.399  1.00 97.93           C  \nATOM   5416  O   MET E  72       6.155 -13.783 -23.454  1.00 97.93           O  \nATOM   5417  CG  MET E  72       5.594 -13.993 -19.463  1.00 97.93           C  \nATOM   5418  SD  MET E  72       6.309 -13.331 -17.908  1.00 97.93           S  \nATOM   5419  CE  MET E  72       6.715 -14.881 -17.057  1.00 97.93           C  \nATOM   5420  N   ARG E  73       4.183 -14.109 -22.425  1.00 98.48           N  \nATOM   5421  CA  ARG E  73       3.453 -13.289 -23.387  1.00 98.48           C  \nATOM   5422  C   ARG E  73       3.051 -11.952 -22.773  1.00 98.48           C  \nATOM   5423  CB  ARG E  73       2.211 -14.028 -23.891  1.00 98.48           C  \nATOM   5424  O   ARG E  73       2.954 -11.828 -21.550  1.00 98.48           O  \nATOM   5425  CG  ARG E  73       2.506 -15.401 -24.474  1.00 98.48           C  \nATOM   5426  CD  ARG E  73       3.272 -15.305 -25.786  1.00 98.48           C  \nATOM   5427  NE  ARG E  73       3.456 -16.617 -26.400  1.00 98.48           N  \nATOM   5428  NH1 ARG E  73       3.264 -15.856 -28.573  1.00 98.48           N  \nATOM   5429  NH2 ARG E  73       3.626 -18.082 -28.161  1.00 98.48           N  \nATOM   5430  CZ  ARG E  73       3.448 -16.848 -27.710  1.00 98.48           C  \nATOM   5431  N   VAL E  74       2.768 -11.007 -23.580  1.00 98.73           N  \nATOM   5432  CA  VAL E  74       2.436  -9.642 -23.183  1.00 98.73           C  \nATOM   5433  C   VAL E  74       1.144  -9.640 -22.369  1.00 98.73           C  \nATOM   5434  CB  VAL E  74       2.295  -8.713 -24.410  1.00 98.73           C  \nATOM   5435  O   VAL E  74       1.042  -8.943 -21.357  1.00 98.73           O  \nATOM   5436  CG1 VAL E  74       1.587  -7.415 -24.025  1.00 98.73           C  \nATOM   5437  CG2 VAL E  74       3.665  -8.419 -25.016  1.00 98.73           C  \nATOM   5438  N   TYR E  75       0.180 -10.438 -22.695  1.00 97.54           N  \nATOM   5439  CA  TYR E  75      -1.104 -10.422 -22.003  1.00 97.54           C  \nATOM   5440  C   TYR E  75      -0.955 -10.903 -20.565  1.00 97.54           C  \nATOM   5441  CB  TYR E  75      -2.124 -11.293 -22.743  1.00 97.54           C  \nATOM   5442  O   TYR E  75      -1.848 -10.698 -19.740  1.00 97.54           O  \nATOM   5443  CG  TYR E  75      -1.844 -12.773 -22.642  1.00 97.54           C  \nATOM   5444  CD1 TYR E  75      -1.298 -13.474 -23.715  1.00 97.54           C  \nATOM   5445  CD2 TYR E  75      -2.125 -13.474 -21.474  1.00 97.54           C  \nATOM   5446  CE1 TYR E  75      -1.040 -14.838 -23.628  1.00 97.54           C  \nATOM   5447  CE2 TYR E  75      -1.871 -14.838 -21.375  1.00 97.54           C  \nATOM   5448  OH  TYR E  75      -1.076 -16.861 -22.363  1.00 97.54           O  \nATOM   5449  CZ  TYR E  75      -1.329 -15.510 -22.455  1.00 97.54           C  \nATOM   5450  N   GLU E  76       0.158 -11.550 -20.252  1.00 97.89           N  \nATOM   5451  CA  GLU E  76       0.387 -12.057 -18.903  1.00 97.89           C  \nATOM   5452  C   GLU E  76       0.874 -10.949 -17.972  1.00 97.89           C  \nATOM   5453  CB  GLU E  76       1.397 -13.207 -18.925  1.00 97.89           C  \nATOM   5454  O   GLU E  76       0.775 -11.071 -16.750  1.00 97.89           O  \nATOM   5455  CG  GLU E  76       0.920 -14.430 -19.695  1.00 97.89           C  \nATOM   5456  CD  GLU E  76       1.982 -15.511 -19.820  1.00 97.89           C  \nATOM   5457  OE1 GLU E  76       2.617 -15.616 -20.894  1.00 97.89           O  \nATOM   5458  OE2 GLU E  76       2.179 -16.260 -18.838  1.00 97.89           O  \nATOM   5459  N   ILE E  77       1.390  -9.820 -18.505  1.00 98.31           N  \nATOM   5460  CA  ILE E  77       2.019  -8.833 -17.635  1.00 98.31           C  \nATOM   5461  C   ILE E  77       1.436  -7.450 -17.917  1.00 98.31           C  \nATOM   5462  CB  ILE E  77       3.553  -8.816 -17.816  1.00 98.31           C  \nATOM   5463  O   ILE E  77       1.708  -6.494 -17.187  1.00 98.31           O  \nATOM   5464  CG1 ILE E  77       3.916  -8.441 -19.257  1.00 98.31           C  \nATOM   5465  CG2 ILE E  77       4.157 -10.170 -17.433  1.00 98.31           C  \nATOM   5466  CD1 ILE E  77       5.356  -7.977 -19.432  1.00 98.31           C  \nATOM   5467  N   MET E  78       0.645  -7.272 -18.890  1.00 98.19           N  \nATOM   5468  CA  MET E  78       0.113  -5.984 -19.325  1.00 98.19           C  \nATOM   5469  C   MET E  78      -0.976  -5.496 -18.376  1.00 98.19           C  \nATOM   5470  CB  MET E  78      -0.439  -6.082 -20.748  1.00 98.19           C  \nATOM   5471  O   MET E  78      -1.501  -6.272 -17.576  1.00 98.19           O  \nATOM   5472  CG  MET E  78      -1.690  -6.939 -20.863  1.00 98.19           C  \nATOM   5473  SD  MET E  78      -2.335  -7.017 -22.579  1.00 98.19           S  \nATOM   5474  CE  MET E  78      -3.822  -8.022 -22.317  1.00 98.19           C  \nATOM   5475  N   ALA E  79      -1.271  -4.170 -18.485  1.00 97.73           N  \nATOM   5476  CA  ALA E  79      -2.483  -3.595 -17.908  1.00 97.73           C  \nATOM   5477  C   ALA E  79      -3.569  -3.428 -18.968  1.00 97.73           C  \nATOM   5478  CB  ALA E  79      -2.175  -2.252 -17.251  1.00 97.73           C  \nATOM   5479  O   ALA E  79      -3.401  -2.667 -19.923  1.00 97.73           O  \nATOM   5480  N   LYS E  80      -4.623  -4.163 -18.805  1.00 96.69           N  \nATOM   5481  CA  LYS E  80      -5.761  -4.096 -19.717  1.00 96.69           C  \nATOM   5482  C   LYS E  80      -7.071  -4.364 -18.981  1.00 96.69           C  \nATOM   5483  CB  LYS E  80      -5.590  -5.094 -20.863  1.00 96.69           C  \nATOM   5484  O   LYS E  80      -7.260  -5.441 -18.411  1.00 96.69           O  \nATOM   5485  CG  LYS E  80      -6.646  -4.973 -21.952  1.00 96.69           C  \nATOM   5486  CD  LYS E  80      -6.285  -5.804 -23.176  1.00 96.69           C  \nATOM   5487  CE  LYS E  80      -7.307  -5.631 -24.292  1.00 96.69           C  \nATOM   5488  NZ  LYS E  80      -6.836  -6.238 -25.573  1.00 96.69           N  \nATOM   5489  N   PRO E  81      -8.040  -3.458 -18.977  1.00 95.37           N  \nATOM   5490  CA  PRO E  81      -7.978  -2.099 -19.521  1.00 95.37           C  \nATOM   5491  C   PRO E  81      -7.006  -1.202 -18.759  1.00 95.37           C  \nATOM   5492  CB  PRO E  81      -9.416  -1.595 -19.374  1.00 95.37           C  \nATOM   5493  O   PRO E  81      -6.583  -1.544 -17.651  1.00 95.37           O  \nATOM   5494  CG  PRO E  81      -9.967  -2.346 -18.205  1.00 95.37           C  \nATOM   5495  CD  PRO E  81      -9.307  -3.694 -18.151  1.00 95.37           C  \nATOM   5496  N   CYS E  82      -6.555  -0.238 -19.371  1.00 95.03           N  \nATOM   5497  CA  CYS E  82      -5.688   0.738 -18.719  1.00 95.03           C  \nATOM   5498  C   CYS E  82      -6.415   2.062 -18.514  1.00 95.03           C  \nATOM   5499  CB  CYS E  82      -4.421   0.963 -19.543  1.00 95.03           C  \nATOM   5500  O   CYS E  82      -7.443   2.315 -19.145  1.00 95.03           O  \nATOM   5501  SG  CYS E  82      -4.739   1.521 -21.231  1.00 95.03           S  \nATOM   5502  N   VAL E  83      -5.961   2.897 -17.508  1.00 95.51           N  \nATOM   5503  CA  VAL E  83      -6.448   4.259 -17.319  1.00 95.51           C  \nATOM   5504  C   VAL E  83      -6.150   5.092 -18.563  1.00 95.51           C  \nATOM   5505  CB  VAL E  83      -5.817   4.919 -16.072  1.00 95.51           C  \nATOM   5506  O   VAL E  83      -5.061   4.999 -19.135  1.00 95.51           O  \nATOM   5507  CG1 VAL E  83      -6.280   6.368 -15.935  1.00 95.51           C  \nATOM   5508  CG2 VAL E  83      -6.163   4.123 -14.815  1.00 95.51           C  \nATOM   5509  N   VAL E  84      -7.102   5.812 -18.977  1.00 95.00           N  \nATOM   5510  CA  VAL E  84      -6.932   6.624 -20.178  1.00 95.00           C  \nATOM   5511  C   VAL E  84      -7.070   8.103 -19.826  1.00 95.00           C  \nATOM   5512  CB  VAL E  84      -7.953   6.239 -21.272  1.00 95.00           C  \nATOM   5513  O   VAL E  84      -7.674   8.452 -18.809  1.00 95.00           O  \nATOM   5514  CG1 VAL E  84      -7.783   4.776 -21.679  1.00 95.00           C  \nATOM   5515  CG2 VAL E  84      -9.378   6.501 -20.788  1.00 95.00           C  \nATOM   5516  N   VAL E  85      -6.472   8.975 -20.655  1.00 95.47           N  \nATOM   5517  CA  VAL E  85      -6.488  10.417 -20.426  1.00 95.47           C  \nATOM   5518  C   VAL E  85      -7.268  11.108 -21.542  1.00 95.47           C  \nATOM   5519  CB  VAL E  85      -5.057  10.994 -20.340  1.00 95.47           C  \nATOM   5520  O   VAL E  85      -7.080  10.802 -22.722  1.00 95.47           O  \nATOM   5521  CG1 VAL E  85      -5.090  12.521 -20.340  1.00 95.47           C  \nATOM   5522  CG2 VAL E  85      -4.346  10.471 -19.093  1.00 95.47           C  \nATOM   5523  N   ASN E  86      -8.138  12.041 -21.199  1.00 93.31           N  \nATOM   5524  CA  ASN E  86      -8.797  12.928 -22.152  1.00 93.31           C  \nATOM   5525  C   ASN E  86      -7.815  13.923 -22.763  1.00 93.31           C  \nATOM   5526  CB  ASN E  86      -9.957  13.668 -21.483  1.00 93.31           C  \nATOM   5527  O   ASN E  86      -7.047  14.565 -22.043  1.00 93.31           O  \nATOM   5528  CG  ASN E  86     -10.747  14.519 -22.458  1.00 93.31           C  \nATOM   5529  ND2 ASN E  86     -12.061  14.566 -22.274  1.00 93.31           N  \nATOM   5530  OD1 ASN E  86     -10.181  15.128 -23.369  1.00 93.31           O  \nATOM   5531  N   PRO E  87      -7.868  14.034 -24.109  1.00 94.84           N  \nATOM   5532  CA  PRO E  87      -6.909  14.930 -24.759  1.00 94.84           C  \nATOM   5533  C   PRO E  87      -7.059  16.382 -24.307  1.00 94.84           C  \nATOM   5534  CB  PRO E  87      -7.240  14.784 -26.246  1.00 94.84           C  \nATOM   5535  O   PRO E  87      -6.091  17.145 -24.340  1.00 94.84           O  \nATOM   5536  CG  PRO E  87      -8.636  14.250 -26.276  1.00 94.84           C  \nATOM   5537  CD  PRO E  87      -8.848  13.402 -25.055  1.00 94.84           C  \nATOM   5538  N   GLU E  88      -8.155  16.764 -23.796  1.00 93.17           N  \nATOM   5539  CA  GLU E  88      -8.410  18.151 -23.422  1.00 93.17           C  \nATOM   5540  C   GLU E  88      -8.150  18.379 -21.936  1.00 93.17           C  \nATOM   5541  CB  GLU E  88      -9.848  18.547 -23.771  1.00 93.17           C  \nATOM   5542  O   GLU E  88      -8.329  19.490 -21.432  1.00 93.17           O  \nATOM   5543  CG  GLU E  88     -10.161  18.476 -25.259  1.00 93.17           C  \nATOM   5544  CD  GLU E  88     -11.621  18.755 -25.578  1.00 93.17           C  \nATOM   5545  OE1 GLU E  88     -11.961  18.917 -26.772  1.00 93.17           O  \nATOM   5546  OE2 GLU E  88     -12.432  18.813 -24.626  1.00 93.17           O  \nATOM   5547  N   LEU E  89      -7.782  17.325 -21.270  1.00 93.23           N  \nATOM   5548  CA  LEU E  89      -7.496  17.456 -19.846  1.00 93.23           C  \nATOM   5549  C   LEU E  89      -6.265  18.327 -19.617  1.00 93.23           C  \nATOM   5550  CB  LEU E  89      -7.286  16.078 -19.213  1.00 93.23           C  \nATOM   5551  O   LEU E  89      -5.259  18.183 -20.314  1.00 93.23           O  \nATOM   5552  CG  LEU E  89      -7.296  16.026 -17.684  1.00 93.23           C  \nATOM   5553  CD1 LEU E  89      -8.656  16.461 -17.148  1.00 93.23           C  \nATOM   5554  CD2 LEU E  89      -6.947  14.625 -17.195  1.00 93.23           C  \nATOM   5555  N   GLY E  90      -6.330  19.222 -18.580  1.00 92.93           N  \nATOM   5556  CA  GLY E  90      -5.180  20.040 -18.229  1.00 92.93           C  \nATOM   5557  C   GLY E  90      -4.015  19.233 -17.688  1.00 92.93           C  \nATOM   5558  O   GLY E  90      -4.215  18.226 -17.005  1.00 92.93           O  \nATOM   5559  N   VAL E  91      -2.887  19.703 -17.887  1.00 94.86           N  \nATOM   5560  CA  VAL E  91      -1.660  18.975 -17.582  1.00 94.86           C  \nATOM   5561  C   VAL E  91      -1.550  18.757 -16.074  1.00 94.86           C  \nATOM   5562  CB  VAL E  91      -0.412  19.720 -18.106  1.00 94.86           C  \nATOM   5563  O   VAL E  91      -1.088  17.706 -15.625  1.00 94.86           O  \nATOM   5564  CG1 VAL E  91       0.866  19.060 -17.593  1.00 94.86           C  \nATOM   5565  CG2 VAL E  91      -0.420  19.765 -19.632  1.00 94.86           C  \nATOM   5566  N   GLU E  92      -1.916  19.710 -15.300  1.00 94.33           N  \nATOM   5567  CA  GLU E  92      -1.850  19.549 -13.851  1.00 94.33           C  \nATOM   5568  C   GLU E  92      -2.786  18.442 -13.375  1.00 94.33           C  \nATOM   5569  CB  GLU E  92      -2.191  20.866 -13.148  1.00 94.33           C  \nATOM   5570  O   GLU E  92      -2.456  17.697 -12.450  1.00 94.33           O  \nATOM   5571  CG  GLU E  92      -1.168  21.969 -13.379  1.00 94.33           C  \nATOM   5572  CD  GLU E  92      -1.382  22.721 -14.682  1.00 94.33           C  \nATOM   5573  OE1 GLU E  92      -0.627  23.681 -14.960  1.00 94.33           O  \nATOM   5574  OE2 GLU E  92      -2.312  22.349 -15.432  1.00 94.33           O  \nATOM   5575  N   TYR E  93      -3.892  18.373 -14.007  1.00 95.24           N  \nATOM   5576  CA  TYR E  93      -4.839  17.318 -13.661  1.00 95.24           C  \nATOM   5577  C   TYR E  93      -4.325  15.955 -14.108  1.00 95.24           C  \nATOM   5578  CB  TYR E  93      -6.206  17.594 -14.294  1.00 95.24           C  \nATOM   5579  O   TYR E  93      -4.580  14.943 -13.451  1.00 95.24           O  \nATOM   5580  CG  TYR E  93      -6.998  18.667 -13.586  1.00 95.24           C  \nATOM   5581  CD1 TYR E  93      -7.296  18.559 -12.229  1.00 95.24           C  \nATOM   5582  CD2 TYR E  93      -7.449  19.789 -14.272  1.00 95.24           C  \nATOM   5583  CE1 TYR E  93      -8.027  19.544 -11.573  1.00 95.24           C  \nATOM   5584  CE2 TYR E  93      -8.181  20.781 -13.626  1.00 95.24           C  \nATOM   5585  OH  TYR E  93      -9.188  21.628 -11.634  1.00 95.24           O  \nATOM   5586  CZ  TYR E  93      -8.464  20.650 -12.279  1.00 95.24           C  \nATOM   5587  N   VAL E  94      -3.613  15.908 -15.233  1.00 96.84           N  \nATOM   5588  CA  VAL E  94      -2.960  14.664 -15.626  1.00 96.84           C  \nATOM   5589  C   VAL E  94      -1.965  14.239 -14.549  1.00 96.84           C  \nATOM   5590  CB  VAL E  94      -2.243  14.805 -16.988  1.00 96.84           C  \nATOM   5591  O   VAL E  94      -1.957  13.080 -14.125  1.00 96.84           O  \nATOM   5592  CG1 VAL E  94      -1.585  13.487 -17.391  1.00 96.84           C  \nATOM   5593  CG2 VAL E  94      -3.225  15.266 -18.063  1.00 96.84           C  \nATOM   5594  N   ALA E  95      -1.187  15.214 -14.114  1.00 98.04           N  \nATOM   5595  CA  ALA E  95      -0.235  14.939 -13.041  1.00 98.04           C  \nATOM   5596  C   ALA E  95      -0.944  14.395 -11.805  1.00 98.04           C  \nATOM   5597  CB  ALA E  95       0.549  16.201 -12.690  1.00 98.04           C  \nATOM   5598  O   ALA E  95      -0.493  13.419 -11.201  1.00 98.04           O  \nATOM   5599  N   ARG E  96      -2.012  15.004 -11.439  1.00 97.77           N  \nATOM   5600  CA  ARG E  96      -2.767  14.586 -10.262  1.00 97.77           C  \nATOM   5601  C   ARG E  96      -3.352  13.191 -10.454  1.00 97.77           C  \nATOM   5602  CB  ARG E  96      -3.885  15.586  -9.958  1.00 97.77           C  \nATOM   5603  O   ARG E  96      -3.357  12.381  -9.525  1.00 97.77           O  \nATOM   5604  CG  ARG E  96      -4.583  15.343  -8.629  1.00 97.77           C  \nATOM   5605  CD  ARG E  96      -5.531  16.480  -8.275  1.00 97.77           C  \nATOM   5606  NE  ARG E  96      -6.393  16.133  -7.148  1.00 97.77           N  \nATOM   5607  NH1 ARG E  96      -4.986  17.004  -5.536  1.00 97.77           N  \nATOM   5608  NH2 ARG E  96      -6.969  16.029  -4.927  1.00 97.77           N  \nATOM   5609  CZ  ARG E  96      -6.114  16.389  -5.873  1.00 97.77           C  \nATOM   5610  N   LEU E  97      -3.833  12.899 -11.653  1.00 97.61           N  \nATOM   5611  CA  LEU E  97      -4.343  11.568 -11.963  1.00 97.61           C  \nATOM   5612  C   LEU E  97      -3.251  10.516 -11.796  1.00 97.61           C  \nATOM   5613  CB  LEU E  97      -4.896  11.524 -13.390  1.00 97.61           C  \nATOM   5614  O   LEU E  97      -3.482   9.467 -11.191  1.00 97.61           O  \nATOM   5615  CG  LEU E  97      -5.533  10.205 -13.830  1.00 97.61           C  \nATOM   5616  CD1 LEU E  97      -6.754   9.894 -12.971  1.00 97.61           C  \nATOM   5617  CD2 LEU E  97      -5.912  10.261 -15.306  1.00 97.61           C  \nATOM   5618  N   PHE E  98      -2.080  10.801 -12.288  1.00 98.08           N  \nATOM   5619  CA  PHE E  98      -0.948   9.894 -12.142  1.00 98.08           C  \nATOM   5620  C   PHE E  98      -0.605   9.688 -10.672  1.00 98.08           C  \nATOM   5621  CB  PHE E  98       0.274  10.430 -12.896  1.00 98.08           C  \nATOM   5622  O   PHE E  98      -0.396   8.556 -10.230  1.00 98.08           O  \nATOM   5623  CG  PHE E  98       0.185  10.268 -14.389  1.00 98.08           C  \nATOM   5624  CD1 PHE E  98      -0.867   9.566 -14.965  1.00 98.08           C  \nATOM   5625  CD2 PHE E  98       1.153  10.819 -15.218  1.00 98.08           C  \nATOM   5626  CE1 PHE E  98      -0.952   9.414 -16.347  1.00 98.08           C  \nATOM   5627  CE2 PHE E  98       1.075  10.671 -16.600  1.00 98.08           C  \nATOM   5628  CZ  PHE E  98       0.022   9.968 -17.163  1.00 98.08           C  \nATOM   5629  N   ALA E  99      -0.601  10.778  -9.959  1.00 97.82           N  \nATOM   5630  CA  ALA E  99      -0.283  10.688  -8.536  1.00 97.82           C  \nATOM   5631  C   ALA E  99      -1.313   9.839  -7.797  1.00 97.82           C  \nATOM   5632  CB  ALA E  99      -0.206  12.083  -7.919  1.00 97.82           C  \nATOM   5633  O   ALA E  99      -0.954   8.997  -6.970  1.00 97.82           O  \nATOM   5634  N   GLN E 100      -2.555   9.975  -8.080  1.00 96.07           N  \nATOM   5635  CA  GLN E 100      -3.637   9.280  -7.391  1.00 96.07           C  \nATOM   5636  C   GLN E 100      -3.659   7.798  -7.754  1.00 96.07           C  \nATOM   5637  CB  GLN E 100      -4.985   9.922  -7.723  1.00 96.07           C  \nATOM   5638  O   GLN E 100      -3.932   6.949  -6.904  1.00 96.07           O  \nATOM   5639  CG  GLN E 100      -5.203  11.274  -7.058  1.00 96.07           C  \nATOM   5640  CD  GLN E 100      -6.458  11.973  -7.545  1.00 96.07           C  \nATOM   5641  NE2 GLN E 100      -6.857  13.030  -6.847  1.00 96.07           N  \nATOM   5642  OE1 GLN E 100      -7.064  11.566  -8.542  1.00 96.07           O  \nATOM   5643  N   THR E 101      -3.364   7.501  -8.996  1.00 96.58           N  \nATOM   5644  CA  THR E 101      -3.465   6.126  -9.474  1.00 96.58           C  \nATOM   5645  C   THR E 101      -2.104   5.437  -9.428  1.00 96.58           C  \nATOM   5646  CB  THR E 101      -4.022   6.073 -10.909  1.00 96.58           C  \nATOM   5647  O   THR E 101      -2.006   4.230  -9.660  1.00 96.58           O  \nATOM   5648  CG2 THR E 101      -5.433   6.649 -10.972  1.00 96.58           C  \nATOM   5649  OG1 THR E 101      -3.169   6.832 -11.775  1.00 96.58           O  \nATOM   5650  N   ARG E 102      -1.022   6.201  -9.284  1.00 95.86           N  \nATOM   5651  CA  ARG E 102       0.349   5.713  -9.176  1.00 95.86           C  \nATOM   5652  C   ARG E 102       0.821   5.109 -10.495  1.00 95.86           C  \nATOM   5653  CB  ARG E 102       0.464   4.678  -8.055  1.00 95.86           C  \nATOM   5654  O   ARG E 102       1.511   4.088 -10.504  1.00 95.86           O  \nATOM   5655  CG  ARG E 102       0.175   5.235  -6.670  1.00 95.86           C  \nATOM   5656  CD  ARG E 102       1.291   6.151  -6.187  1.00 95.86           C  \nATOM   5657  NE  ARG E 102       1.103   6.540  -4.792  1.00 95.86           N  \nATOM   5658  NH1 ARG E 102       3.250   7.346  -4.512  1.00 95.86           N  \nATOM   5659  NH2 ARG E 102       1.759   7.412  -2.772  1.00 95.86           N  \nATOM   5660  CZ  ARG E 102       2.038   7.099  -4.029  1.00 95.86           C  \nATOM   5661  N   ILE E 103       0.313   5.672 -11.576  1.00 96.37           N  \nATOM   5662  CA  ILE E 103       0.839   5.318 -12.890  1.00 96.37           C  \nATOM   5663  C   ILE E 103       1.716   6.451 -13.417  1.00 96.37           C  \nATOM   5664  CB  ILE E 103      -0.299   5.010 -13.889  1.00 96.37           C  \nATOM   5665  O   ILE E 103       1.722   7.551 -12.860  1.00 96.37           O  \nATOM   5666  CG1 ILE E 103      -1.154   6.260 -14.127  1.00 96.37           C  \nATOM   5667  CG2 ILE E 103      -1.158   3.846 -13.388  1.00 96.37           C  \nATOM   5668  CD1 ILE E 103      -2.204   6.094 -15.216  1.00 96.37           C  \nATOM   5669  N   ARG E 104       2.485   6.184 -14.454  1.00 96.48           N  \nATOM   5670  CA  ARG E 104       3.447   7.173 -14.929  1.00 96.48           C  \nATOM   5671  C   ARG E 104       3.215   7.500 -16.400  1.00 96.48           C  \nATOM   5672  CB  ARG E 104       4.879   6.674 -14.723  1.00 96.48           C  \nATOM   5673  O   ARG E 104       3.856   8.397 -16.951  1.00 96.48           O  \nATOM   5674  CG  ARG E 104       5.259   6.481 -13.263  1.00 96.48           C  \nATOM   5675  CD  ARG E 104       6.574   5.727 -13.119  1.00 96.48           C  \nATOM   5676  NE  ARG E 104       6.857   5.399 -11.724  1.00 96.48           N  \nATOM   5677  NH1 ARG E 104       8.815   4.259 -12.173  1.00 96.48           N  \nATOM   5678  NH2 ARG E 104       8.074   4.467 -10.014  1.00 96.48           N  \nATOM   5679  CZ  ARG E 104       7.915   4.709 -11.307  1.00 96.48           C  \nATOM   5680  N   ARG E 105       2.369   6.706 -16.997  1.00 97.31           N  \nATOM   5681  CA  ARG E 105       2.020   6.925 -18.398  1.00 97.31           C  \nATOM   5682  C   ARG E 105       0.641   6.355 -18.714  1.00 97.31           C  \nATOM   5683  CB  ARG E 105       3.070   6.297 -19.317  1.00 97.31           C  \nATOM   5684  O   ARG E 105       0.184   5.420 -18.053  1.00 97.31           O  \nATOM   5685  CG  ARG E 105       3.131   4.780 -19.238  1.00 97.31           C  \nATOM   5686  CD  ARG E 105       4.337   4.225 -19.983  1.00 97.31           C  \nATOM   5687  NE  ARG E 105       5.584   4.823 -19.513  1.00 97.31           N  \nATOM   5688  NH1 ARG E 105       6.610   4.813 -21.583  1.00 97.31           N  \nATOM   5689  NH2 ARG E 105       7.719   5.633 -19.752  1.00 97.31           N  \nATOM   5690  CZ  ARG E 105       6.635   5.088 -20.284  1.00 97.31           C  \nATOM   5691  N   ALA E 106       0.045   6.925 -19.693  1.00 97.61           N  \nATOM   5692  CA  ALA E 106      -1.291   6.502 -20.105  1.00 97.61           C  \nATOM   5693  C   ALA E 106      -1.571   6.902 -21.551  1.00 97.61           C  \nATOM   5694  CB  ALA E 106      -2.348   7.097 -19.177  1.00 97.61           C  \nATOM   5695  O   ALA E 106      -1.043   7.904 -22.038  1.00 97.61           O  \nATOM   5696  N   PRO E 107      -2.369   6.095 -22.229  1.00 97.36           N  \nATOM   5697  CA  PRO E 107      -2.793   6.521 -23.565  1.00 97.36           C  \nATOM   5698  C   PRO E 107      -3.766   7.696 -23.529  1.00 97.36           C  \nATOM   5699  CB  PRO E 107      -3.467   5.271 -24.136  1.00 97.36           C  \nATOM   5700  O   PRO E 107      -4.557   7.819 -22.591  1.00 97.36           O  \nATOM   5701  CG  PRO E 107      -3.907   4.493 -22.938  1.00 97.36           C  \nATOM   5702  CD  PRO E 107      -2.989   4.818 -21.795  1.00 97.36           C  \nATOM   5703  N   VAL E 108      -3.633   8.570 -24.477  1.00 96.95           N  \nATOM   5704  CA  VAL E 108      -4.575   9.661 -24.707  1.00 96.95           C  \nATOM   5705  C   VAL E 108      -5.576   9.260 -25.788  1.00 96.95           C  \nATOM   5706  CB  VAL E 108      -3.848  10.963 -25.111  1.00 96.95           C  \nATOM   5707  O   VAL E 108      -5.202   9.057 -26.946  1.00 96.95           O  \nATOM   5708  CG1 VAL E 108      -4.842  12.112 -25.264  1.00 96.95           C  \nATOM   5709  CG2 VAL E 108      -2.774  11.315 -24.083  1.00 96.95           C  \nATOM   5710  N   ILE E 109      -6.802   9.157 -25.412  1.00 92.95           N  \nATOM   5711  CA  ILE E 109      -7.818   8.628 -26.316  1.00 92.95           C  \nATOM   5712  C   ILE E 109      -8.967   9.625 -26.441  1.00 92.95           C  \nATOM   5713  CB  ILE E 109      -8.347   7.259 -25.832  1.00 92.95           C  \nATOM   5714  O   ILE E 109      -9.424  10.184 -25.441  1.00 92.95           O  \nATOM   5715  CG1 ILE E 109      -7.209   6.232 -25.790  1.00 92.95           C  \nATOM   5716  CG2 ILE E 109      -9.490   6.774 -26.729  1.00 92.95           C  \nATOM   5717  CD1 ILE E 109      -7.624   4.871 -25.247  1.00 92.95           C  \nATOM   5718  N   GLN E 110      -9.448   9.907 -27.651  1.00 90.43           N  \nATOM   5719  CA  GLN E 110     -10.654  10.666 -27.964  1.00 90.43           C  \nATOM   5720  C   GLN E 110     -11.720   9.773 -28.592  1.00 90.43           C  \nATOM   5721  CB  GLN E 110     -10.328  11.831 -28.899  1.00 90.43           C  \nATOM   5722  O   GLN E 110     -11.580   9.344 -29.739  1.00 90.43           O  \nATOM   5723  CG  GLN E 110     -11.498  12.776 -29.136  1.00 90.43           C  \nATOM   5724  CD  GLN E 110     -11.085  14.061 -29.829  1.00 90.43           C  \nATOM   5725  NE2 GLN E 110     -11.692  15.173 -29.429  1.00 90.43           N  \nATOM   5726  OE1 GLN E 110     -10.226  14.054 -30.717  1.00 90.43           O  \nATOM   5727  N   GLY E 111     -12.768   9.487 -27.808  1.00 83.34           N  \nATOM   5728  CA  GLY E 111     -13.707   8.483 -28.282  1.00 83.34           C  \nATOM   5729  C   GLY E 111     -13.103   7.094 -28.370  1.00 83.34           C  \nATOM   5730  O   GLY E 111     -12.721   6.513 -27.352  1.00 83.34           O  \nATOM   5731  N   LYS E 112     -12.989   6.671 -29.668  1.00 83.28           N  \nATOM   5732  CA  LYS E 112     -12.400   5.353 -29.886  1.00 83.28           C  \nATOM   5733  C   LYS E 112     -11.035   5.466 -30.559  1.00 83.28           C  \nATOM   5734  CB  LYS E 112     -13.331   4.482 -30.730  1.00 83.28           C  \nATOM   5735  O   LYS E 112     -10.410   4.453 -30.878  1.00 83.28           O  \nATOM   5736  CG  LYS E 112     -14.627   4.101 -30.029  1.00 83.28           C  \nATOM   5737  CD  LYS E 112     -15.415   3.073 -30.831  1.00 83.28           C  \nATOM   5738  CE  LYS E 112     -16.677   2.638 -30.098  1.00 83.28           C  \nATOM   5739  NZ  LYS E 112     -17.431   1.599 -30.861  1.00 83.28           N  \nATOM   5740  N   THR E 113     -10.578   6.668 -30.606  1.00 90.07           N  \nATOM   5741  CA  THR E 113      -9.356   6.883 -31.373  1.00 90.07           C  \nATOM   5742  C   THR E 113      -8.171   7.130 -30.444  1.00 90.07           C  \nATOM   5743  CB  THR E 113      -9.507   8.070 -32.343  1.00 90.07           C  \nATOM   5744  O   THR E 113      -8.240   7.978 -29.552  1.00 90.07           O  \nATOM   5745  CG2 THR E 113      -8.285   8.201 -33.246  1.00 90.07           C  \nATOM   5746  OG1 THR E 113     -10.670   7.870 -33.156  1.00 90.07           O  \nATOM   5747  N   LEU E 114      -7.186   6.387 -30.654  1.00 94.03           N  \nATOM   5748  CA  LEU E 114      -5.931   6.577 -29.933  1.00 94.03           C  \nATOM   5749  C   LEU E 114      -5.136   7.737 -30.523  1.00 94.03           C  \nATOM   5750  CB  LEU E 114      -5.093   5.296 -29.972  1.00 94.03           C  \nATOM   5751  O   LEU E 114      -4.750   7.700 -31.693  1.00 94.03           O  \nATOM   5752  CG  LEU E 114      -3.718   5.366 -29.306  1.00 94.03           C  \nATOM   5753  CD1 LEU E 114      -3.867   5.569 -27.801  1.00 94.03           C  \nATOM   5754  CD2 LEU E 114      -2.914   4.105 -29.603  1.00 94.03           C  \nATOM   5755  N   LEU E 115      -4.790   8.790 -29.759  1.00 95.89           N  \nATOM   5756  CA  LEU E 115      -4.099   9.977 -30.249  1.00 95.89           C  \nATOM   5757  C   LEU E 115      -2.614   9.922 -29.908  1.00 95.89           C  \nATOM   5758  CB  LEU E 115      -4.724  11.243 -29.656  1.00 95.89           C  \nATOM   5759  O   LEU E 115      -1.781  10.440 -30.656  1.00 95.89           O  \nATOM   5760  CG  LEU E 115      -6.179  11.523 -30.035  1.00 95.89           C  \nATOM   5761  CD1 LEU E 115      -6.630  12.860 -29.457  1.00 95.89           C  \nATOM   5762  CD2 LEU E 115      -6.351  11.504 -31.550  1.00 95.89           C  \nATOM   5763  N   GLY E 116      -2.298   9.318 -28.745  1.00 96.55           N  \nATOM   5764  CA  GLY E 116      -0.921   9.271 -28.281  1.00 96.55           C  \nATOM   5765  C   GLY E 116      -0.779   8.686 -26.889  1.00 96.55           C  \nATOM   5766  O   GLY E 116      -1.646   7.936 -26.434  1.00 96.55           O  \nATOM   5767  N   ILE E 117       0.422   8.892 -26.281  1.00 97.18           N  \nATOM   5768  CA  ILE E 117       0.743   8.500 -24.912  1.00 97.18           C  \nATOM   5769  C   ILE E 117       1.290   9.702 -24.146  1.00 97.18           C  \nATOM   5770  CB  ILE E 117       1.759   7.336 -24.881  1.00 97.18           C  \nATOM   5771  O   ILE E 117       2.074  10.486 -24.687  1.00 97.18           O  \nATOM   5772  CG1 ILE E 117       1.131   6.063 -25.460  1.00 97.18           C  \nATOM   5773  CG2 ILE E 117       2.263   7.098 -23.454  1.00 97.18           C  \nATOM   5774  CD1 ILE E 117       2.096   4.890 -25.566  1.00 97.18           C  \nATOM   5775  N   ILE E 118       0.866   9.923 -23.011  1.00 97.87           N  \nATOM   5776  CA  ILE E 118       1.398  10.979 -22.157  1.00 97.87           C  \nATOM   5777  C   ILE E 118       2.064  10.363 -20.929  1.00 97.87           C  \nATOM   5778  CB  ILE E 118       0.292  11.969 -21.727  1.00 97.87           C  \nATOM   5779  O   ILE E 118       1.561   9.387 -20.367  1.00 97.87           O  \nATOM   5780  CG1 ILE E 118       0.899  13.142 -20.948  1.00 97.87           C  \nATOM   5781  CG2 ILE E 118      -0.778  11.256 -20.896  1.00 97.87           C  \nATOM   5782  CD1 ILE E 118      -0.031  14.339 -20.808  1.00 97.87           C  \nATOM   5783  N   SER E 119       3.159  10.879 -20.507  1.00 97.58           N  \nATOM   5784  CA  SER E 119       3.915  10.338 -19.383  1.00 97.58           C  \nATOM   5785  C   SER E 119       4.370  11.445 -18.438  1.00 97.58           C  \nATOM   5786  CB  SER E 119       5.128   9.551 -19.881  1.00 97.58           C  \nATOM   5787  O   SER E 119       4.245  12.630 -18.756  1.00 97.58           O  \nATOM   5788  OG  SER E 119       6.106  10.423 -20.422  1.00 97.58           O  \nATOM   5789  N   VAL E 120       4.911  11.086 -17.315  1.00 97.96           N  \nATOM   5790  CA  VAL E 120       5.502  12.026 -16.369  1.00 97.96           C  \nATOM   5791  C   VAL E 120       6.647  12.782 -17.038  1.00 97.96           C  \nATOM   5792  CB  VAL E 120       6.007  11.309 -15.097  1.00 97.96           C  \nATOM   5793  O   VAL E 120       6.878  13.958 -16.745  1.00 97.96           O  \nATOM   5794  CG1 VAL E 120       4.837  10.743 -14.294  1.00 97.96           C  \nATOM   5795  CG2 VAL E 120       6.992  10.202 -15.465  1.00 97.96           C  \nATOM   5796  N   SER E 121       7.333  12.136 -17.964  1.00 96.99           N  \nATOM   5797  CA  SER E 121       8.412  12.792 -18.695  1.00 96.99           C  \nATOM   5798  C   SER E 121       7.879  13.918 -19.574  1.00 96.99           C  \nATOM   5799  CB  SER E 121       9.170  11.779 -19.555  1.00 96.99           C  \nATOM   5800  O   SER E 121       8.475  14.995 -19.641  1.00 96.99           O  \nATOM   5801  OG  SER E 121       9.805  10.806 -18.743  1.00 96.99           O  \nATOM   5802  N   ASP E 122       6.801  13.626 -20.186  1.00 97.45           N  \nATOM   5803  CA  ASP E 122       6.189  14.668 -21.005  1.00 97.45           C  \nATOM   5804  C   ASP E 122       5.816  15.883 -20.159  1.00 97.45           C  \nATOM   5805  CB  ASP E 122       4.951  14.127 -21.723  1.00 97.45           C  \nATOM   5806  O   ASP E 122       6.057  17.023 -20.560  1.00 97.45           O  \nATOM   5807  CG  ASP E 122       5.288  13.113 -22.802  1.00 97.45           C  \nATOM   5808  OD1 ASP E 122       6.275  13.313 -23.541  1.00 97.45           O  \nATOM   5809  OD2 ASP E 122       4.557  12.105 -22.916  1.00 97.45           O  \nATOM   5810  N   ILE E 123       5.254  15.617 -19.005  1.00 98.10           N  \nATOM   5811  CA  ILE E 123       4.853  16.704 -18.118  1.00 98.10           C  \nATOM   5812  C   ILE E 123       6.084  17.498 -17.686  1.00 98.10           C  \nATOM   5813  CB  ILE E 123       4.095  16.174 -16.881  1.00 98.10           C  \nATOM   5814  O   ILE E 123       6.083  18.730 -17.730  1.00 98.10           O  \nATOM   5815  CG1 ILE E 123       2.770  15.528 -17.303  1.00 98.10           C  \nATOM   5816  CG2 ILE E 123       3.857  17.299 -15.870  1.00 98.10           C  \nATOM   5817  CD1 ILE E 123       2.045  14.809 -16.174  1.00 98.10           C  \nATOM   5818  N   LEU E 124       7.108  16.838 -17.366  1.00 98.22           N  \nATOM   5819  CA  LEU E 124       8.312  17.496 -16.871  1.00 98.22           C  \nATOM   5820  C   LEU E 124       8.985  18.301 -17.978  1.00 98.22           C  \nATOM   5821  CB  LEU E 124       9.293  16.466 -16.305  1.00 98.22           C  \nATOM   5822  O   LEU E 124       9.340  19.465 -17.778  1.00 98.22           O  \nATOM   5823  CG  LEU E 124      10.524  17.023 -15.590  1.00 98.22           C  \nATOM   5824  CD1 LEU E 124      10.180  17.389 -14.150  1.00 98.22           C  \nATOM   5825  CD2 LEU E 124      11.669  16.016 -15.632  1.00 98.22           C  \nATOM   5826  N   PHE E 125       9.124  17.774 -19.147  1.00 97.63           N  \nATOM   5827  CA  PHE E 125       9.979  18.342 -20.184  1.00 97.63           C  \nATOM   5828  C   PHE E 125       9.193  19.306 -21.065  1.00 97.63           C  \nATOM   5829  CB  PHE E 125      10.597  17.233 -21.040  1.00 97.63           C  \nATOM   5830  O   PHE E 125       9.765  20.230 -21.647  1.00 97.63           O  \nATOM   5831  CG  PHE E 125      11.725  16.501 -20.364  1.00 97.63           C  \nATOM   5832  CD1 PHE E 125      12.978  17.088 -20.242  1.00 97.63           C  \nATOM   5833  CD2 PHE E 125      11.530  15.226 -19.850  1.00 97.63           C  \nATOM   5834  CE1 PHE E 125      14.024  16.412 -19.616  1.00 97.63           C  \nATOM   5835  CE2 PHE E 125      12.570  14.545 -19.223  1.00 97.63           C  \nATOM   5836  CZ  PHE E 125      13.816  15.139 -19.108  1.00 97.63           C  \nATOM   5837  N   LYS E 126       7.893  19.115 -21.162  1.00 97.42           N  \nATOM   5838  CA  LYS E 126       7.184  19.839 -22.213  1.00 97.42           C  \nATOM   5839  C   LYS E 126       6.129  20.771 -21.623  1.00 97.42           C  \nATOM   5840  CB  LYS E 126       6.531  18.862 -23.192  1.00 97.42           C  \nATOM   5841  O   LYS E 126       5.635  21.670 -22.307  1.00 97.42           O  \nATOM   5842  CG  LYS E 126       7.511  17.910 -23.862  1.00 97.42           C  \nATOM   5843  CD  LYS E 126       6.798  16.938 -24.794  1.00 97.42           C  \nATOM   5844  CE  LYS E 126       7.744  15.865 -25.314  1.00 97.42           C  \nATOM   5845  NZ  LYS E 126       7.016  14.805 -26.075  1.00 97.42           N  \nATOM   5846  N   SER E 127       5.794  20.611 -20.375  1.00 96.39           N  \nATOM   5847  CA  SER E 127       4.708  21.414 -19.822  1.00 96.39           C  \nATOM   5848  C   SER E 127       5.228  22.730 -19.253  1.00 96.39           C  \nATOM   5849  CB  SER E 127       3.967  20.636 -18.734  1.00 96.39           C  \nATOM   5850  O   SER E 127       6.427  23.009 -19.316  1.00 96.39           O  \nATOM   5851  OG  SER E 127       4.655  20.720 -17.498  1.00 96.39           O  \nATOM   5852  N   ASP E 128       4.282  23.545 -18.789  1.00 95.79           N  \nATOM   5853  CA  ASP E 128       4.634  24.870 -18.290  1.00 95.79           C  \nATOM   5854  C   ASP E 128       4.331  24.994 -16.798  1.00 95.79           C  \nATOM   5855  CB  ASP E 128       3.888  25.954 -19.070  1.00 95.79           C  \nATOM   5856  O   ASP E 128       4.042  26.087 -16.307  1.00 95.79           O  \nATOM   5857  CG  ASP E 128       2.378  25.814 -18.983  1.00 95.79           C  \nATOM   5858  OD1 ASP E 128       1.890  24.844 -18.363  1.00 95.79           O  \nATOM   5859  OD2 ASP E 128       1.670  26.679 -19.541  1.00 95.79           O  \nATOM   5860  N   PHE E 129       4.384  23.908 -16.078  1.00 95.38           N  \nATOM   5861  CA  PHE E 129       3.992  23.937 -14.674  1.00 95.38           C  \nATOM   5862  C   PHE E 129       5.003  24.720 -13.845  1.00 95.38           C  \nATOM   5863  CB  PHE E 129       3.852  22.514 -14.124  1.00 95.38           C  \nATOM   5864  O   PHE E 129       4.684  25.194 -12.753  1.00 95.38           O  \nATOM   5865  CG  PHE E 129       5.167  21.814 -13.911  1.00 95.38           C  \nATOM   5866  CD1 PHE E 129       5.774  21.114 -14.946  1.00 95.38           C  \nATOM   5867  CD2 PHE E 129       5.797  21.857 -12.674  1.00 95.38           C  \nATOM   5868  CE1 PHE E 129       6.991  20.465 -14.751  1.00 95.38           C  \nATOM   5869  CE2 PHE E 129       7.013  21.211 -12.471  1.00 95.38           C  \nATOM   5870  CZ  PHE E 129       7.608  20.515 -13.511  1.00 95.38           C  \nATOM   5871  N   VAL E 130       6.247  24.811 -14.332  1.00 96.78           N  \nATOM   5872  CA  VAL E 130       7.249  25.601 -13.625  1.00 96.78           C  \nATOM   5873  C   VAL E 130       6.964  27.089 -13.816  1.00 96.78           C  \nATOM   5874  CB  VAL E 130       8.679  25.266 -14.107  1.00 96.78           C  \nATOM   5875  O   VAL E 130       6.976  27.858 -12.853  1.00 96.78           O  \nATOM   5876  CG1 VAL E 130       9.696  26.221 -13.486  1.00 96.78           C  \nATOM   5877  CG2 VAL E 130       9.028  23.817 -13.773  1.00 96.78           C  \nATOM   5878  N   GLU E 131       6.643  27.479 -15.038  1.00 94.61           N  \nATOM   5879  CA  GLU E 131       6.417  28.880 -15.384  1.00 94.61           C  \nATOM   5880  C   GLU E 131       5.061  29.362 -14.879  1.00 94.61           C  \nATOM   5881  CB  GLU E 131       6.517  29.083 -16.898  1.00 94.61           C  \nATOM   5882  O   GLU E 131       4.926  30.506 -14.441  1.00 94.61           O  \nATOM   5883  CG  GLU E 131       7.902  28.807 -17.466  1.00 94.61           C  \nATOM   5884  CD  GLU E 131       8.192  27.326 -17.648  1.00 94.61           C  \nATOM   5885  OE1 GLU E 131       9.376  26.955 -17.817  1.00 94.61           O  \nATOM   5886  OE2 GLU E 131       7.227  26.530 -17.623  1.00 94.61           O  \nATOM   5887  N   LYS E 132       4.115  28.479 -14.951  1.00 92.50           N  \nATOM   5888  CA  LYS E 132       2.755  28.848 -14.571  1.00 92.50           C  \nATOM   5889  C   LYS E 132       2.170  27.846 -13.579  1.00 92.50           C  \nATOM   5890  CB  LYS E 132       1.859  28.945 -15.807  1.00 92.50           C  \nATOM   5891  O   LYS E 132       1.184  27.170 -13.880  1.00 92.50           O  \nATOM   5892  CG  LYS E 132       2.330  29.964 -16.834  1.00 92.50           C  \nATOM   5893  CD  LYS E 132       1.408  30.003 -18.046  1.00 92.50           C  \nATOM   5894  CE  LYS E 132       1.925  30.959 -19.112  1.00 92.50           C  \nATOM   5895  NZ  LYS E 132       1.079  30.928 -20.342  1.00 92.50           N  \nATOM   5896  N   PRO E 133       2.700  27.975 -12.396  1.00 90.98           N  \nATOM   5897  CA  PRO E 133       2.082  27.093 -11.404  1.00 90.98           C  \nATOM   5898  C   PRO E 133       0.625  27.453 -11.121  1.00 90.98           C  \nATOM   5899  CB  PRO E 133       2.947  27.301 -10.159  1.00 90.98           C  \nATOM   5900  O   PRO E 133       0.270  28.635 -11.098  1.00 90.98           O  \nATOM   5901  CG  PRO E 133       3.569  28.647 -10.346  1.00 90.98           C  \nATOM   5902  CD  PRO E 133       3.642  28.938 -11.818  1.00 90.98           C  \nATOM   5903  N   LYS E 134      -0.239  26.386 -10.944  1.00 86.60           N  \nATOM   5904  CA  LYS E 134      -1.669  26.641 -10.796  1.00 86.60           C  \nATOM   5905  C   LYS E 134      -2.208  26.020  -9.510  1.00 86.60           C  \nATOM   5906  CB  LYS E 134      -2.438  26.101 -12.002  1.00 86.60           C  \nATOM   5907  O   LYS E 134      -1.975  24.840  -9.240  1.00 86.60           O  \nATOM   5908  CG  LYS E 134      -2.114  26.807 -13.310  1.00 86.60           C  \nATOM   5909  CD  LYS E 134      -2.907  26.223 -14.472  1.00 86.60           C  \nATOM   5910  CE  LYS E 134      -2.516  26.865 -15.796  1.00 86.60           C  \nATOM   5911  NZ  LYS E 134      -3.247  26.254 -16.946  1.00 86.60           N  \nATOM   5912  N   ARG E 135      -2.918  26.849  -8.733  1.00 88.73           N  \nATOM   5913  CA  ARG E 135      -3.708  26.332  -7.620  1.00 88.73           C  \nATOM   5914  C   ARG E 135      -4.991  25.676  -8.118  1.00 88.73           C  \nATOM   5915  CB  ARG E 135      -4.042  27.452  -6.632  1.00 88.73           C  \nATOM   5916  O   ARG E 135      -5.931  26.364  -8.521  1.00 88.73           O  \nATOM   5917  CG  ARG E 135      -4.508  26.955  -5.273  1.00 88.73           C  \nATOM   5918  CD  ARG E 135      -4.495  28.066  -4.231  1.00 88.73           C  \nATOM   5919  NE  ARG E 135      -4.851  27.566  -2.906  1.00 88.73           N  \nATOM   5920  NH1 ARG E 135      -4.262  29.502  -1.791  1.00 88.73           N  \nATOM   5921  NH2 ARG E 135      -5.087  27.708  -0.626  1.00 88.73           N  \nATOM   5922  CZ  ARG E 135      -4.733  28.260  -1.778  1.00 88.73           C  \nATOM   5923  N   LEU E 136      -5.124  24.502  -8.063  1.00 87.60           N  \nATOM   5924  CA  LEU E 136      -6.107  23.702  -8.786  1.00 87.60           C  \nATOM   5925  C   LEU E 136      -7.521  24.025  -8.317  1.00 87.60           C  \nATOM   5926  CB  LEU E 136      -5.823  22.209  -8.601  1.00 87.60           C  \nATOM   5927  O   LEU E 136      -8.436  24.159  -9.134  1.00 87.60           O  \nATOM   5928  CG  LEU E 136      -4.542  21.677  -9.246  1.00 87.60           C  \nATOM   5929  CD1 LEU E 136      -4.310  20.225  -8.843  1.00 87.60           C  \nATOM   5930  CD2 LEU E 136      -4.612  21.812 -10.764  1.00 87.60           C  \nATOM   5931  N   PHE E 137      -7.766  24.304  -7.058  1.00 93.01           N  \nATOM   5932  CA  PHE E 137      -9.126  24.452  -6.553  1.00 93.01           C  \nATOM   5933  C   PHE E 137      -9.354  25.861  -6.019  1.00 93.01           C  \nATOM   5934  CB  PHE E 137      -9.408  23.421  -5.455  1.00 93.01           C  \nATOM   5935  O   PHE E 137     -10.088  26.049  -5.046  1.00 93.01           O  \nATOM   5936  CG  PHE E 137      -9.153  22.000  -5.878  1.00 93.01           C  \nATOM   5937  CD1 PHE E 137      -9.775  21.472  -7.002  1.00 93.01           C  \nATOM   5938  CD2 PHE E 137      -8.291  21.190  -5.149  1.00 93.01           C  \nATOM   5939  CE1 PHE E 137      -9.542  20.156  -7.395  1.00 93.01           C  \nATOM   5940  CE2 PHE E 137      -8.053  19.875  -5.536  1.00 93.01           C  \nATOM   5941  CZ  PHE E 137      -8.680  19.359  -6.658  1.00 93.01           C  \nATOM   5942  N   ILE E 138      -8.713  26.809  -6.613  1.00 92.97           N  \nATOM   5943  CA  ILE E 138      -8.752  28.183  -6.126  1.00 92.97           C  \nATOM   5944  C   ILE E 138     -10.175  28.728  -6.229  1.00 92.97           C  \nATOM   5945  CB  ILE E 138      -7.773  29.088  -6.908  1.00 92.97           C  \nATOM   5946  O   ILE E 138     -10.622  29.482  -5.362  1.00 92.97           O  \nATOM   5947  CG1 ILE E 138      -7.687  30.472  -6.254  1.00 92.97           C  \nATOM   5948  CG2 ILE E 138      -8.198  29.201  -8.375  1.00 92.97           C  \nATOM   5949  CD1 ILE E 138      -6.842  30.507  -4.988  1.00 92.97           C  \nATOM   5950  N   GLU E 139     -10.873  28.325  -7.283  1.00 93.20           N  \nATOM   5951  CA  GLU E 139     -12.243  28.808  -7.434  1.00 93.20           C  \nATOM   5952  C   GLU E 139     -13.142  28.271  -6.324  1.00 93.20           C  \nATOM   5953  CB  GLU E 139     -12.804  28.415  -8.803  1.00 93.20           C  \nATOM   5954  O   GLU E 139     -13.964  29.006  -5.774  1.00 93.20           O  \nATOM   5955  CG  GLU E 139     -12.090  29.076  -9.973  1.00 93.20           C  \nATOM   5956  CD  GLU E 139     -12.177  30.593  -9.950  1.00 93.20           C  \nATOM   5957  OE1 GLU E 139     -11.232  31.263 -10.424  1.00 93.20           O  \nATOM   5958  OE2 GLU E 139     -13.199  31.117  -9.452  1.00 93.20           O  \nATOM   5959  N   ASP E 140     -13.014  27.031  -5.999  1.00 95.04           N  \nATOM   5960  CA  ASP E 140     -13.757  26.457  -4.881  1.00 95.04           C  \nATOM   5961  C   ASP E 140     -13.386  27.140  -3.566  1.00 95.04           C  \nATOM   5962  CB  ASP E 140     -13.501  24.952  -4.782  1.00 95.04           C  \nATOM   5963  O   ASP E 140     -14.257  27.429  -2.743  1.00 95.04           O  \nATOM   5964  CG  ASP E 140     -14.184  24.161  -5.884  1.00 95.04           C  \nATOM   5965  OD1 ASP E 140     -15.323  24.505  -6.265  1.00 95.04           O  \nATOM   5966  OD2 ASP E 140     -13.578  23.183  -6.373  1.00 95.04           O  \nATOM   5967  N   GLU E 141     -12.173  27.387  -3.402  1.00 96.28           N  \nATOM   5968  CA  GLU E 141     -11.697  28.039  -2.186  1.00 96.28           C  \nATOM   5969  C   GLU E 141     -12.294  29.435  -2.038  1.00 96.28           C  \nATOM   5970  CB  GLU E 141     -10.168  28.118  -2.181  1.00 96.28           C  \nATOM   5971  O   GLU E 141     -12.659  29.847  -0.935  1.00 96.28           O  \nATOM   5972  CG  GLU E 141      -9.483  26.764  -2.057  1.00 96.28           C  \nATOM   5973  CD  GLU E 141      -7.966  26.851  -2.128  1.00 96.28           C  \nATOM   5974  OE1 GLU E 141      -7.340  25.992  -2.789  1.00 96.28           O  \nATOM   5975  OE2 GLU E 141      -7.400  27.784  -1.516  1.00 96.28           O  \nATOM   5976  N   ILE E 142     -12.322  30.168  -3.170  1.00 96.43           N  \nATOM   5977  CA  ILE E 142     -12.885  31.514  -3.164  1.00 96.43           C  \nATOM   5978  C   ILE E 142     -14.358  31.455  -2.766  1.00 96.43           C  \nATOM   5979  CB  ILE E 142     -12.728  32.199  -4.540  1.00 96.43           C  \nATOM   5980  O   ILE E 142     -14.807  32.223  -1.911  1.00 96.43           O  \nATOM   5981  CG1 ILE E 142     -11.256  32.536  -4.805  1.00 96.43           C  \nATOM   5982  CG2 ILE E 142     -13.601  33.454  -4.621  1.00 96.43           C  \nATOM   5983  CD1 ILE E 142     -10.963  32.943  -6.242  1.00 96.43           C  \nATOM   5984  N   GLU E 143     -15.054  30.541  -3.336  1.00 96.36           N  \nATOM   5985  CA  GLU E 143     -16.471  30.403  -3.014  1.00 96.36           C  \nATOM   5986  C   GLU E 143     -16.670  30.027  -1.548  1.00 96.36           C  \nATOM   5987  CB  GLU E 143     -17.130  29.358  -3.919  1.00 96.36           C  \nATOM   5988  O   GLU E 143     -17.528  30.594  -0.868  1.00 96.36           O  \nATOM   5989  CG  GLU E 143     -18.648  29.330  -3.821  1.00 96.36           C  \nATOM   5990  CD  GLU E 143     -19.298  28.413  -4.845  1.00 96.36           C  \nATOM   5991  OE1 GLU E 143     -20.541  28.264  -4.825  1.00 96.36           O  \nATOM   5992  OE2 GLU E 143     -18.558  27.837  -5.674  1.00 96.36           O  \nATOM   5993  N   ALA E 144     -15.922  29.163  -1.080  1.00 96.40           N  \nATOM   5994  CA  ALA E 144     -15.991  28.772   0.325  1.00 96.40           C  \nATOM   5995  C   ALA E 144     -15.672  29.951   1.239  1.00 96.40           C  \nATOM   5996  CB  ALA E 144     -15.035  27.614   0.602  1.00 96.40           C  \nATOM   5997  O   ALA E 144     -16.367  30.181   2.231  1.00 96.40           O  \nATOM   5998  N   ALA E 145     -14.649  30.665   0.891  1.00 97.04           N  \nATOM   5999  CA  ALA E 145     -14.254  31.824   1.688  1.00 97.04           C  \nATOM   6000  C   ALA E 145     -15.355  32.880   1.703  1.00 97.04           C  \nATOM   6001  CB  ALA E 145     -12.955  32.421   1.151  1.00 97.04           C  \nATOM   6002  O   ALA E 145     -15.576  33.540   2.721  1.00 97.04           O  \nATOM   6003  N   ARG E 146     -16.008  33.075   0.579  1.00 97.61           N  \nATOM   6004  CA  ARG E 146     -17.123  34.014   0.503  1.00 97.61           C  \nATOM   6005  C   ARG E 146     -18.247  33.605   1.449  1.00 97.61           C  \nATOM   6006  CB  ARG E 146     -17.652  34.107  -0.930  1.00 97.61           C  \nATOM   6007  O   ARG E 146     -18.790  34.442   2.174  1.00 97.61           O  \nATOM   6008  CG  ARG E 146     -16.799  34.970  -1.846  1.00 97.61           C  \nATOM   6009  CD  ARG E 146     -17.346  34.996  -3.266  1.00 97.61           C  \nATOM   6010  NE  ARG E 146     -16.553  35.862  -4.134  1.00 97.61           N  \nATOM   6011  NH1 ARG E 146     -17.601  35.213  -6.087  1.00 97.61           N  \nATOM   6012  NH2 ARG E 146     -15.917  36.767  -6.147  1.00 97.61           N  \nATOM   6013  CZ  ARG E 146     -16.692  35.945  -5.454  1.00 97.61           C  \nATOM   6014  N   GLU E 147     -18.546  32.373   1.419  1.00 96.20           N  \nATOM   6015  CA  GLU E 147     -19.594  31.870   2.303  1.00 96.20           C  \nATOM   6016  C   GLU E 147     -19.200  32.027   3.770  1.00 96.20           C  \nATOM   6017  CB  GLU E 147     -19.900  30.402   1.995  1.00 96.20           C  \nATOM   6018  O   GLU E 147     -20.022  32.419   4.600  1.00 96.20           O  \nATOM   6019  CG  GLU E 147     -20.617  30.189   0.670  1.00 96.20           C  \nATOM   6020  CD  GLU E 147     -20.885  28.725   0.361  1.00 96.20           C  \nATOM   6021  OE1 GLU E 147     -21.414  28.422  -0.732  1.00 96.20           O  \nATOM   6022  OE2 GLU E 147     -20.563  27.874   1.220  1.00 96.20           O  \nATOM   6023  N   ASP E 148     -17.995  31.766   4.050  1.00 95.82           N  \nATOM   6024  CA  ASP E 148     -17.503  31.932   5.415  1.00 95.82           C  \nATOM   6025  C   ASP E 148     -17.573  33.394   5.850  1.00 95.82           C  \nATOM   6026  CB  ASP E 148     -16.068  31.415   5.535  1.00 95.82           C  \nATOM   6027  O   ASP E 148     -17.983  33.694   6.973  1.00 95.82           O  \nATOM   6028  CG  ASP E 148     -15.977  29.900   5.484  1.00 95.82           C  \nATOM   6029  OD1 ASP E 148     -17.025  29.223   5.557  1.00 95.82           O  \nATOM   6030  OD2 ASP E 148     -14.846  29.379   5.374  1.00 95.82           O  \nATOM   6031  N   ALA E 149     -17.133  34.290   4.943  1.00 96.31           N  \nATOM   6032  CA  ALA E 149     -17.172  35.717   5.254  1.00 96.31           C  \nATOM   6033  C   ALA E 149     -18.600  36.179   5.529  1.00 96.31           C  \nATOM   6034  CB  ALA E 149     -16.564  36.527   4.112  1.00 96.31           C  \nATOM   6035  O   ALA E 149     -18.850  36.900   6.498  1.00 96.31           O  \nATOM   6036  N   ARG E 150     -19.494  35.697   4.735  1.00 96.58           N  \nATOM   6037  CA  ARG E 150     -20.895  36.049   4.936  1.00 96.58           C  \nATOM   6038  C   ARG E 150     -21.398  35.546   6.285  1.00 96.58           C  \nATOM   6039  CB  ARG E 150     -21.760  35.480   3.809  1.00 96.58           C  \nATOM   6040  O   ARG E 150     -22.077  36.275   7.012  1.00 96.58           O  \nATOM   6041  CG  ARG E 150     -21.624  36.225   2.492  1.00 96.58           C  \nATOM   6042  CD  ARG E 150     -22.470  35.593   1.395  1.00 96.58           C  \nATOM   6043  NE  ARG E 150     -22.173  36.167   0.086  1.00 96.58           N  \nATOM   6044  NH1 ARG E 150     -23.026  34.389  -1.117  1.00 96.58           N  \nATOM   6045  NH2 ARG E 150     -22.131  36.194  -2.210  1.00 96.58           N  \nATOM   6046  CZ  ARG E 150     -22.444  35.582  -1.077  1.00 96.58           C  \nATOM   6047  N   ALA E 151     -21.055  34.372   6.621  1.00 95.33           N  \nATOM   6048  CA  ALA E 151     -21.496  33.772   7.878  1.00 95.33           C  \nATOM   6049  C   ALA E 151     -20.894  34.501   9.075  1.00 95.33           C  \nATOM   6050  CB  ALA E 151     -21.125  32.291   7.919  1.00 95.33           C  \nATOM   6051  O   ALA E 151     -21.591  34.785  10.052  1.00 95.33           O  \nATOM   6052  N   ILE E 152     -19.624  34.797   9.045  1.00 96.02           N  \nATOM   6053  CA  ILE E 152     -18.934  35.480  10.134  1.00 96.02           C  \nATOM   6054  C   ILE E 152     -19.517  36.879  10.318  1.00 96.02           C  \nATOM   6055  CB  ILE E 152     -17.413  35.563   9.874  1.00 96.02           C  \nATOM   6056  O   ILE E 152     -19.758  37.315  11.446  1.00 96.02           O  \nATOM   6057  CG1 ILE E 152     -16.778  34.171   9.971  1.00 96.02           C  \nATOM   6058  CG2 ILE E 152     -16.750  36.537  10.852  1.00 96.02           C  \nATOM   6059  CD1 ILE E 152     -15.349  34.105   9.450  1.00 96.02           C  \nATOM   6060  N   CYS E 153     -19.808  37.640   9.183  1.00 95.38           N  \nATOM   6061  CA  CYS E 153     -20.379  38.980   9.261  1.00 95.38           C  \nATOM   6062  C   CYS E 153     -21.793  38.939   9.826  1.00 95.38           C  \nATOM   6063  CB  CYS E 153     -20.390  39.639   7.882  1.00 95.38           C  \nATOM   6064  O   CYS E 153     -22.187  39.823  10.589  1.00 95.38           O  \nATOM   6065  SG  CYS E 153     -18.744  40.018   7.242  1.00 95.38           S  \nATOM   6066  N   ALA E 154     -22.515  37.923   9.526  1.00 96.41           N  \nATOM   6067  CA  ALA E 154     -23.863  37.765  10.065  1.00 96.41           C  \nATOM   6068  C   ALA E 154     -23.826  37.496  11.567  1.00 96.41           C  \nATOM   6069  CB  ALA E 154     -24.596  36.636   9.344  1.00 96.41           C  \nATOM   6070  O   ALA E 154     -24.651  38.021  12.319  1.00 96.41           O  \nATOM   6071  N   ALA E 155     -22.880  36.743  12.021  1.00 94.88           N  \nATOM   6072  CA  ALA E 155     -22.792  36.339  13.422  1.00 94.88           C  \nATOM   6073  C   ALA E 155     -22.163  37.440  14.271  1.00 94.88           C  \nATOM   6074  CB  ALA E 155     -21.991  35.046  13.554  1.00 94.88           C  \nATOM   6075  O   ALA E 155     -22.594  37.684  15.400  1.00 94.88           O  \nATOM   6076  N   LYS E 156     -21.150  38.129  13.742  1.00 95.42           N  \nATOM   6077  CA  LYS E 156     -20.365  39.041  14.568  1.00 95.42           C  \nATOM   6078  C   LYS E 156     -20.647  40.496  14.201  1.00 95.42           C  \nATOM   6079  CB  LYS E 156     -18.871  38.745  14.424  1.00 95.42           C  \nATOM   6080  O   LYS E 156     -20.206  41.413  14.896  1.00 95.42           O  \nATOM   6081  CG  LYS E 156     -18.465  37.360  14.907  1.00 95.42           C  \nATOM   6082  CD  LYS E 156     -16.970  37.282  15.187  1.00 95.42           C  \nATOM   6083  CE  LYS E 156     -16.581  35.932  15.775  1.00 95.42           C  \nATOM   6084  NZ  LYS E 156     -15.121  35.862  16.082  1.00 95.42           N  \nATOM   6085  N   GLY E 157     -21.355  40.742  13.140  1.00 94.89           N  \nATOM   6086  CA  GLY E 157     -21.684  42.084  12.687  1.00 94.89           C  \nATOM   6087  C   GLY E 157     -20.884  42.516  11.473  1.00 94.89           C  \nATOM   6088  O   GLY E 157     -19.713  42.156  11.334  1.00 94.89           O  \nATOM   6089  N   GLU E 158     -21.407  43.279  10.531  1.00 92.84           N  \nATOM   6090  CA  GLU E 158     -20.825  43.694   9.258  1.00 92.84           C  \nATOM   6091  C   GLU E 158     -19.623  44.610   9.473  1.00 92.84           C  \nATOM   6092  CB  GLU E 158     -21.873  44.396   8.391  1.00 92.84           C  \nATOM   6093  O   GLU E 158     -18.722  44.668   8.633  1.00 92.84           O  \nATOM   6094  CG  GLU E 158     -22.923  43.457   7.815  1.00 92.84           C  \nATOM   6095  CD  GLU E 158     -23.848  44.132   6.814  1.00 92.84           C  \nATOM   6096  OE1 GLU E 158     -24.676  43.434   6.186  1.00 92.84           O  \nATOM   6097  OE2 GLU E 158     -23.742  45.369   6.656  1.00 92.84           O  \nATOM   6098  N   THR E 159     -19.617  45.344  10.628  1.00 93.42           N  \nATOM   6099  CA  THR E 159     -18.531  46.290  10.859  1.00 93.42           C  \nATOM   6100  C   THR E 159     -17.508  45.711  11.832  1.00 93.42           C  \nATOM   6101  CB  THR E 159     -19.062  47.628  11.403  1.00 93.42           C  \nATOM   6102  O   THR E 159     -16.597  46.415  12.274  1.00 93.42           O  \nATOM   6103  CG2 THR E 159     -20.019  48.284  10.413  1.00 93.42           C  \nATOM   6104  OG1 THR E 159     -19.754  47.395  12.636  1.00 93.42           O  \nATOM   6105  N   SER E 160     -17.604  44.450  12.225  1.00 94.80           N  \nATOM   6106  CA  SER E 160     -16.694  43.813  13.171  1.00 94.80           C  \nATOM   6107  C   SER E 160     -15.333  43.549  12.536  1.00 94.80           C  \nATOM   6108  CB  SER E 160     -17.288  42.502  13.688  1.00 94.80           C  \nATOM   6109  O   SER E 160     -15.234  43.361  11.322  1.00 94.80           O  \nATOM   6110  OG  SER E 160     -17.204  41.488  12.701  1.00 94.80           O  \nATOM   6111  N   PRO E 161     -14.215  43.630  13.369  1.00 96.07           N  \nATOM   6112  CA  PRO E 161     -12.888  43.281  12.855  1.00 96.07           C  \nATOM   6113  C   PRO E 161     -12.831  41.867  12.282  1.00 96.07           C  \nATOM   6114  CB  PRO E 161     -11.988  43.410  14.086  1.00 96.07           C  \nATOM   6115  O   PRO E 161     -12.105  41.617  11.317  1.00 96.07           O  \nATOM   6116  CG  PRO E 161     -12.758  44.270  15.035  1.00 96.07           C  \nATOM   6117  CD  PRO E 161     -14.220  44.141  14.717  1.00 96.07           C  \nATOM   6118  N   ASP E 162     -13.555  40.993  12.805  1.00 95.16           N  \nATOM   6119  CA  ASP E 162     -13.581  39.612  12.333  1.00 95.16           C  \nATOM   6120  C   ASP E 162     -14.170  39.524  10.927  1.00 95.16           C  \nATOM   6121  CB  ASP E 162     -14.380  38.731  13.294  1.00 95.16           C  \nATOM   6122  O   ASP E 162     -13.681  38.763  10.090  1.00 95.16           O  \nATOM   6123  CG  ASP E 162     -13.717  38.583  14.653  1.00 95.16           C  \nATOM   6124  OD1 ASP E 162     -12.490  38.792  14.758  1.00 95.16           O  \nATOM   6125  OD2 ASP E 162     -14.429  38.251  15.625  1.00 95.16           O  \nATOM   6126  N   CYS E 163     -15.226  40.262  10.691  1.00 93.29           N  \nATOM   6127  CA  CYS E 163     -15.841  40.308   9.370  1.00 93.29           C  \nATOM   6128  C   CYS E 163     -14.869  40.860   8.334  1.00 93.29           C  \nATOM   6129  CB  CYS E 163     -17.109  41.162   9.398  1.00 93.29           C  \nATOM   6130  O   CYS E 163     -14.697  40.275   7.264  1.00 93.29           O  \nATOM   6131  SG  CYS E 163     -17.974  41.234   7.814  1.00 93.29           S  \nATOM   6132  N   ALA E 164     -14.187  41.959   8.712  1.00 95.60           N  \nATOM   6133  CA  ALA E 164     -13.214  42.562   7.804  1.00 95.60           C  \nATOM   6134  C   ALA E 164     -12.097  41.579   7.466  1.00 95.60           C  \nATOM   6135  CB  ALA E 164     -12.633  43.834   8.416  1.00 95.60           C  \nATOM   6136  O   ALA E 164     -11.697  41.460   6.305  1.00 95.60           O  \nATOM   6137  N   ALA E 165     -11.629  40.891   8.438  1.00 96.32           N  \nATOM   6138  CA  ALA E 165     -10.566  39.911   8.233  1.00 96.32           C  \nATOM   6139  C   ALA E 165     -11.022  38.794   7.298  1.00 96.32           C  \nATOM   6140  CB  ALA E 165     -10.112  39.330   9.570  1.00 96.32           C  \nATOM   6141  O   ALA E 165     -10.252  38.326   6.457  1.00 96.32           O  \nATOM   6142  N   ALA E 166     -12.234  38.328   7.432  1.00 95.95           N  \nATOM   6143  CA  ALA E 166     -12.777  37.265   6.590  1.00 95.95           C  \nATOM   6144  C   ALA E 166     -12.827  37.696   5.127  1.00 95.95           C  \nATOM   6145  CB  ALA E 166     -14.169  36.864   7.071  1.00 95.95           C  \nATOM   6146  O   ALA E 166     -12.480  36.921   4.233  1.00 95.95           O  \nATOM   6147  N   TRP E 167     -13.229  38.894   4.894  1.00 96.44           N  \nATOM   6148  CA  TRP E 167     -13.304  39.381   3.520  1.00 96.44           C  \nATOM   6149  C   TRP E 167     -11.910  39.630   2.954  1.00 96.44           C  \nATOM   6150  CB  TRP E 167     -14.134  40.666   3.450  1.00 96.44           C  \nATOM   6151  O   TRP E 167     -11.693  39.510   1.746  1.00 96.44           O  \nATOM   6152  CG  TRP E 167     -15.614  40.432   3.390  1.00 96.44           C  \nATOM   6153  CD1 TRP E 167     -16.529  40.693   4.371  1.00 96.44           C  \nATOM   6154  CD2 TRP E 167     -16.348  39.885   2.291  1.00 96.44           C  \nATOM   6155  CE2 TRP E 167     -17.707  39.843   2.676  1.00 96.44           C  \nATOM   6156  CE3 TRP E 167     -15.990  39.427   1.016  1.00 96.44           C  \nATOM   6157  NE1 TRP E 167     -17.790  40.341   3.948  1.00 96.44           N  \nATOM   6158  CH2 TRP E 167     -18.330  38.918   0.588  1.00 96.44           C  \nATOM   6159  CZ2 TRP E 167     -18.708  39.360   1.829  1.00 96.44           C  \nATOM   6160  CZ3 TRP E 167     -16.987  38.946   0.176  1.00 96.44           C  \nATOM   6161  N   ASP E 168     -11.000  39.946   3.813  1.00 96.50           N  \nATOM   6162  CA  ASP E 168      -9.615  40.068   3.370  1.00 96.50           C  \nATOM   6163  C   ASP E 168      -9.109  38.753   2.781  1.00 96.50           C  \nATOM   6164  CB  ASP E 168      -8.717  40.506   4.528  1.00 96.50           C  \nATOM   6165  O   ASP E 168      -8.370  38.752   1.794  1.00 96.50           O  \nATOM   6166  CG  ASP E 168      -8.889  41.970   4.891  1.00 96.50           C  \nATOM   6167  OD1 ASP E 168      -9.539  42.716   4.127  1.00 96.50           O  \nATOM   6168  OD2 ASP E 168      -8.367  42.383   5.949  1.00 96.50           O  \nATOM   6169  N   VAL E 169      -9.487  37.690   3.395  1.00 96.57           N  \nATOM   6170  CA  VAL E 169      -9.099  36.376   2.892  1.00 96.57           C  \nATOM   6171  C   VAL E 169      -9.662  36.173   1.487  1.00 96.57           C  \nATOM   6172  CB  VAL E 169      -9.582  35.245   3.827  1.00 96.57           C  \nATOM   6173  O   VAL E 169      -8.953  35.716   0.587  1.00 96.57           O  \nATOM   6174  CG1 VAL E 169      -9.325  33.877   3.198  1.00 96.57           C  \nATOM   6175  CG2 VAL E 169      -8.894  35.348   5.187  1.00 96.57           C  \nATOM   6176  N   VAL E 170     -10.883  36.510   1.260  1.00 96.65           N  \nATOM   6177  CA  VAL E 170     -11.519  36.403  -0.049  1.00 96.65           C  \nATOM   6178  C   VAL E 170     -10.746  37.236  -1.069  1.00 96.65           C  \nATOM   6179  CB  VAL E 170     -12.996  36.856  -0.001  1.00 96.65           C  \nATOM   6180  O   VAL E 170     -10.432  36.757  -2.161  1.00 96.65           O  \nATOM   6181  CG1 VAL E 170     -13.599  36.880  -1.404  1.00 96.65           C  \nATOM   6182  CG2 VAL E 170     -13.805  35.939   0.915  1.00 96.65           C  \nATOM   6183  N   GLU E 171     -10.424  38.441  -0.666  1.00 96.27           N  \nATOM   6184  CA  GLU E 171      -9.719  39.348  -1.566  1.00 96.27           C  \nATOM   6185  C   GLU E 171      -8.334  38.813  -1.915  1.00 96.27           C  \nATOM   6186  CB  GLU E 171      -9.603  40.742  -0.942  1.00 96.27           C  \nATOM   6187  O   GLU E 171      -7.895  38.913  -3.063  1.00 96.27           O  \nATOM   6188  CG  GLU E 171     -10.911  41.518  -0.922  1.00 96.27           C  \nATOM   6189  CD  GLU E 171     -10.772  42.913  -0.334  1.00 96.27           C  \nATOM   6190  OE1 GLU E 171     -11.765  43.676  -0.339  1.00 96.27           O  \nATOM   6191  OE2 GLU E 171      -9.661  43.247   0.134  1.00 96.27           O  \nATOM   6192  N   GLU E 172      -7.752  38.254  -0.963  1.00 95.47           N  \nATOM   6193  CA  GLU E 172      -6.433  37.679  -1.210  1.00 95.47           C  \nATOM   6194  C   GLU E 172      -6.513  36.519  -2.199  1.00 95.47           C  \nATOM   6195  CB  GLU E 172      -5.797  37.209   0.101  1.00 95.47           C  \nATOM   6196  O   GLU E 172      -5.703  36.429  -3.124  1.00 95.47           O  \nATOM   6197  CG  GLU E 172      -4.352  36.755  -0.044  1.00 95.47           C  \nATOM   6198  CD  GLU E 172      -3.710  36.365   1.278  1.00 95.47           C  \nATOM   6199  OE1 GLU E 172      -2.526  35.958   1.280  1.00 95.47           O  \nATOM   6200  OE2 GLU E 172      -4.396  36.468   2.319  1.00 95.47           O  \nATOM   6201  N   LEU E 173      -7.451  35.700  -2.033  1.00 95.33           N  \nATOM   6202  CA  LEU E 173      -7.640  34.566  -2.931  1.00 95.33           C  \nATOM   6203  C   LEU E 173      -8.008  35.039  -4.334  1.00 95.33           C  \nATOM   6204  CB  LEU E 173      -8.726  33.631  -2.394  1.00 95.33           C  \nATOM   6205  O   LEU E 173      -7.513  34.499  -5.326  1.00 95.33           O  \nATOM   6206  CG  LEU E 173      -8.355  32.794  -1.169  1.00 95.33           C  \nATOM   6207  CD1 LEU E 173      -9.594  32.113  -0.597  1.00 95.33           C  \nATOM   6208  CD2 LEU E 173      -7.290  31.763  -1.528  1.00 95.33           C  \nATOM   6209  N   GLN E 174      -8.862  35.998  -4.416  1.00 95.10           N  \nATOM   6210  CA  GLN E 174      -9.251  36.551  -5.709  1.00 95.10           C  \nATOM   6211  C   GLN E 174      -8.058  37.185  -6.418  1.00 95.10           C  \nATOM   6212  CB  GLN E 174     -10.369  37.582  -5.537  1.00 95.10           C  \nATOM   6213  O   GLN E 174      -7.920  37.068  -7.637  1.00 95.10           O  \nATOM   6214  CG  GLN E 174     -11.733  36.968  -5.254  1.00 95.10           C  \nATOM   6215  CD  GLN E 174     -12.808  38.012  -5.016  1.00 95.10           C  \nATOM   6216  NE2 GLN E 174     -13.987  37.789  -5.586  1.00 95.10           N  \nATOM   6217  OE1 GLN E 174     -12.581  39.009  -4.324  1.00 95.10           O  \nATOM   6218  N   ALA E 175      -7.248  37.832  -5.615  1.00 92.88           N  \nATOM   6219  CA  ALA E 175      -6.037  38.415  -6.185  1.00 92.88           C  \nATOM   6220  C   ALA E 175      -5.128  37.335  -6.765  1.00 92.88           C  \nATOM   6221  CB  ALA E 175      -5.289  39.226  -5.130  1.00 92.88           C  \nATOM   6222  O   ALA E 175      -4.593  37.490  -7.866  1.00 92.88           O  \nATOM   6223  N   GLU E 176      -5.041  36.315  -6.061  1.00 90.76           N  \nATOM   6224  CA  GLU E 176      -4.226  35.204  -6.542  1.00 90.76           C  \nATOM   6225  C   GLU E 176      -4.820  34.590  -7.806  1.00 90.76           C  \nATOM   6226  CB  GLU E 176      -4.078  34.135  -5.457  1.00 90.76           C  \nATOM   6227  O   GLU E 176      -4.094  34.282  -8.754  1.00 90.76           O  \nATOM   6228  CG  GLU E 176      -3.181  32.972  -5.856  1.00 90.76           C  \nATOM   6229  CD  GLU E 176      -2.397  32.391  -4.690  1.00 90.76           C  \nATOM   6230  OE1 GLU E 176      -1.585  31.463  -4.907  1.00 90.76           O  \nATOM   6231  OE2 GLU E 176      -2.598  32.866  -3.550  1.00 90.76           O  \nATOM   6232  N   ALA E 177      -6.069  34.408  -7.830  1.00 90.02           N  \nATOM   6233  CA  ALA E 177      -6.746  33.865  -9.005  1.00 90.02           C  \nATOM   6234  C   ALA E 177      -6.542  34.764 -10.221  1.00 90.02           C  \nATOM   6235  CB  ALA E 177      -8.236  33.684  -8.724  1.00 90.02           C  \nATOM   6236  O   ALA E 177      -6.321  34.276 -11.331  1.00 90.02           O  \nATOM   6237  N   SER E 178      -6.607  36.061  -9.986  1.00 88.11           N  \nATOM   6238  CA  SER E 178      -6.402  37.017 -11.069  1.00 88.11           C  \nATOM   6239  C   SER E 178      -4.966  36.970 -11.583  1.00 88.11           C  \nATOM   6240  CB  SER E 178      -6.739  38.434 -10.605  1.00 88.11           C  \nATOM   6241  O   SER E 178      -4.732  37.038 -12.791  1.00 88.11           O  \nATOM   6242  OG  SER E 178      -8.106  38.533 -10.243  1.00 88.11           O  \nATOM   6243  N   HIS E 179      -4.086  36.873 -10.618  1.00 85.80           N  \nATOM   6244  CA  HIS E 179      -2.684  36.759 -11.001  1.00 85.80           C  \nATOM   6245  C   HIS E 179      -2.446  35.519 -11.857  1.00 85.80           C  \nATOM   6246  CB  HIS E 179      -1.790  36.719  -9.760  1.00 85.80           C  \nATOM   6247  O   HIS E 179      -1.726  35.578 -12.856  1.00 85.80           O  \nATOM   6248  CG  HIS E 179      -0.329  36.684 -10.074  1.00 85.80           C  \nATOM   6249  CD2 HIS E 179       0.560  37.683 -10.284  1.00 85.80           C  \nATOM   6250  ND1 HIS E 179       0.375  35.507 -10.208  1.00 85.80           N  \nATOM   6251  CE1 HIS E 179       1.638  35.785 -10.486  1.00 85.80           C  \nATOM   6252  NE2 HIS E 179       1.777  37.099 -10.537  1.00 85.80           N  \nATOM   6253  N   GLN E 180      -3.080  34.496 -11.526  1.00 81.12           N  \nATOM   6254  CA  GLN E 180      -2.947  33.253 -12.278  1.00 81.12           C  \nATOM   6255  C   GLN E 180      -3.516  33.397 -13.686  1.00 81.12           C  \nATOM   6256  CB  GLN E 180      -3.642  32.104 -11.545  1.00 81.12           C  \nATOM   6257  O   GLN E 180      -2.934  32.899 -14.651  1.00 81.12           O  \nATOM   6258  CG  GLN E 180      -2.889  31.613 -10.317  1.00 81.12           C  \nATOM   6259  CD  GLN E 180      -3.455  30.320  -9.760  1.00 81.12           C  \nATOM   6260  NE2 GLN E 180      -3.466  30.198  -8.437  1.00 81.12           N  \nATOM   6261  OE1 GLN E 180      -3.880  29.438 -10.513  1.00 81.12           O  \nATOM   6262  N   ARG E 181      -4.608  34.113 -13.772  1.00 76.93           N  \nATOM   6263  CA  ARG E 181      -5.237  34.335 -15.070  1.00 76.93           C  \nATOM   6264  C   ARG E 181      -4.401  35.277 -15.930  1.00 76.93           C  \nATOM   6265  CB  ARG E 181      -6.648  34.900 -14.894  1.00 76.93           C  \nATOM   6266  O   ARG E 181      -4.298  35.090 -17.144  1.00 76.93           O  \nATOM   6267  CG  ARG E 181      -7.654  33.892 -14.363  1.00 76.93           C  \nATOM   6268  CD  ARG E 181      -9.018  34.526 -14.126  1.00 76.93           C  \nATOM   6269  NE  ARG E 181      -9.887  33.657 -13.338  1.00 76.93           N  \nATOM   6270  NH1 ARG E 181     -11.197  35.371 -12.511  1.00 76.93           N  \nATOM   6271  NH2 ARG E 181     -11.628  33.200 -11.912  1.00 76.93           N  \nATOM   6272  CZ  ARG E 181     -10.902  34.078 -12.589  1.00 76.93           C  \nATOM   6273  N   ALA E 182      -3.801  36.269 -15.316  1.00 69.39           N  \nATOM   6274  CA  ALA E 182      -2.988  37.252 -16.028  1.00 69.39           C  \nATOM   6275  C   ALA E 182      -1.721  36.613 -16.589  1.00 69.39           C  \nATOM   6276  CB  ALA E 182      -2.631  38.415 -15.107  1.00 69.39           C  \nATOM   6277  O   ALA E 182      -1.318  36.905 -17.717  1.00 69.39           O  \nATOM   6278  N   LYS E 183      -1.044  35.860 -15.810  1.00 64.42           N  \nATOM   6279  CA  LYS E 183       0.161  35.176 -16.269  1.00 64.42           C  \nATOM   6280  C   LYS E 183      -0.142  34.270 -17.460  1.00 64.42           C  \nATOM   6281  CB  LYS E 183       0.780  34.359 -15.134  1.00 64.42           C  \nATOM   6282  O   LYS E 183       0.690  34.115 -18.356  1.00 64.42           O  \nATOM   6283  CG  LYS E 183       1.674  35.168 -14.206  1.00 64.42           C  \nATOM   6284  CD  LYS E 183       2.422  34.272 -13.228  1.00 64.42           C  \nATOM   6285  CE  LYS E 183       3.337  35.078 -12.316  1.00 64.42           C  \nATOM   6286  NZ  LYS E 183       4.042  34.207 -11.329  1.00 64.42           N  \nATOM   6287  N   LYS E 184      -1.313  33.800 -17.557  1.00 59.54           N  \nATOM   6288  CA  LYS E 184      -1.720  32.935 -18.661  1.00 59.54           C  \nATOM   6289  C   LYS E 184      -1.981  33.746 -19.928  1.00 59.54           C  \nATOM   6290  CB  LYS E 184      -2.969  32.136 -18.285  1.00 59.54           C  \nATOM   6291  O   LYS E 184      -1.676  33.295 -21.034  1.00 59.54           O  \nATOM   6292  CG  LYS E 184      -2.683  30.903 -17.440  1.00 59.54           C  \nATOM   6293  CD  LYS E 184      -3.948  30.095 -17.184  1.00 59.54           C  \nATOM   6294  CE  LYS E 184      -3.674  28.892 -16.292  1.00 59.54           C  \nATOM   6295  NZ  LYS E 184      -4.926  28.146 -15.967  1.00 59.54           N  \nATOM   6296  N   GLN E 185      -2.604  34.973 -19.774  1.00 55.44           N  \nATOM   6297  CA  GLN E 185      -2.888  35.850 -20.905  1.00 55.44           C  \nATOM   6298  C   GLN E 185      -1.604  36.450 -21.471  1.00 55.44           C  \nATOM   6299  CB  GLN E 185      -3.851  36.964 -20.492  1.00 55.44           C  \nATOM   6300  O   GLN E 185      -1.483  36.639 -22.683  1.00 55.44           O  \nATOM   6301  CG  GLN E 185      -5.317  36.555 -20.528  1.00 55.44           C  \nATOM   6302  CD  GLN E 185      -6.246  37.655 -20.050  1.00 55.44           C  \nATOM   6303  NE2 GLN E 185      -7.549  37.405 -20.124  1.00 55.44           N  \nATOM   6304  OE1 GLN E 185      -5.796  38.721 -19.618  1.00 55.44           O  \nATOM   6305  N   GLY E 186      -0.576  36.744 -20.663  1.00 49.82           N  \nATOM   6306  CA  GLY E 186       0.671  37.333 -21.123  1.00 49.82           C  \nATOM   6307  C   GLY E 186       1.514  36.378 -21.947  1.00 49.82           C  \nATOM   6308  O   GLY E 186       2.170  36.790 -22.906  1.00 49.82           O  \nATOM   6309  N   SER E 187       1.582  35.122 -21.637  1.00 50.58           N  \nATOM   6310  CA  SER E 187       2.313  34.148 -22.441  1.00 50.58           C  \nATOM   6311  C   SER E 187       1.671  33.970 -23.812  1.00 50.58           C  \nATOM   6312  CB  SER E 187       2.380  32.800 -21.721  1.00 50.58           C  \nATOM   6313  O   SER E 187       2.369  33.889 -24.825  1.00 50.58           O  \nATOM   6314  OG  SER E 187       1.546  31.848 -22.358  1.00 50.58           O  \nATOM   6315  N   ASN E 188       0.368  33.994 -23.928  1.00 48.21           N  \nATOM   6316  CA  ASN E 188      -0.325  33.932 -25.210  1.00 48.21           C  \nATOM   6317  C   ASN E 188      -0.088  35.192 -26.037  1.00 48.21           C  \nATOM   6318  CB  ASN E 188      -1.824  33.708 -25.000  1.00 48.21           C  \nATOM   6319  O   ASN E 188       0.072  35.118 -27.257  1.00 48.21           O  \nATOM   6320  CG  ASN E 188      -2.273  32.323 -25.422  1.00 48.21           C  \nATOM   6321  ND2 ASN E 188      -3.530  31.998 -25.148  1.00 48.21           N  \nATOM   6322  OD1 ASN E 188      -1.495  31.551 -25.990  1.00 48.21           O  \nATOM   6323  N   SER E 189      -0.022  36.338 -25.404  1.00 50.20           N  \nATOM   6324  CA  SER E 189       0.279  37.572 -26.122  1.00 50.20           C  \nATOM   6325  C   SER E 189       1.702  37.559 -26.670  1.00 50.20           C  \nATOM   6326  CB  SER E 189       0.087  38.784 -25.209  1.00 50.20           C  \nATOM   6327  O   SER E 189       1.944  38.006 -27.794  1.00 50.20           O  \nATOM   6328  OG  SER E 189       1.292  39.520 -25.090  1.00 50.20           O  \nATOM   6329  N   PHE E 190       2.644  37.021 -25.978  1.00 50.31           N  \nATOM   6330  CA  PHE E 190       4.011  36.912 -26.474  1.00 50.31           C  \nATOM   6331  C   PHE E 190       4.100  35.877 -27.589  1.00 50.31           C  \nATOM   6332  CB  PHE E 190       4.969  36.543 -25.337  1.00 50.31           C  \nATOM   6333  O   PHE E 190       4.739  36.117 -28.616  1.00 50.31           O  \nATOM   6334  CG  PHE E 190       6.415  36.501 -25.752  1.00 50.31           C  \nATOM   6335  CD1 PHE E 190       7.070  35.286 -25.915  1.00 50.31           C  \nATOM   6336  CD2 PHE E 190       7.119  37.676 -25.978  1.00 50.31           C  \nATOM   6337  CE1 PHE E 190       8.408  35.243 -26.299  1.00 50.31           C  \nATOM   6338  CE2 PHE E 190       8.457  37.641 -26.362  1.00 50.31           C  \nATOM   6339  CZ  PHE E 190       9.100  36.424 -26.521  1.00 50.31           C  \nATOM   6340  N   GLN E 191       3.447  34.726 -27.483  1.00 51.30           N  \nATOM   6341  CA  GLN E 191       3.384  33.737 -28.554  1.00 51.30           C  \nATOM   6342  C   GLN E 191       2.638  34.285 -29.767  1.00 51.30           C  \nATOM   6343  CB  GLN E 191       2.715  32.453 -28.061  1.00 51.30           C  \nATOM   6344  O   GLN E 191       3.083  34.118 -30.904  1.00 51.30           O  \nATOM   6345  CG  GLN E 191       3.204  31.195 -28.765  1.00 51.30           C  \nATOM   6346  CD  GLN E 191       2.928  29.932 -27.970  1.00 51.30           C  \nATOM   6347  NE2 GLN E 191       3.425  28.802 -28.460  1.00 51.30           N  \nATOM   6348  OE1 GLN E 191       2.275  29.973 -26.923  1.00 51.30           O  \nATOM   6349  N   ALA E 192       1.500  34.924 -29.525  1.00 54.91           N  \nATOM   6350  CA  ALA E 192       0.793  35.599 -30.611  1.00 54.91           C  \nATOM   6351  C   ALA E 192       1.649  36.709 -31.215  1.00 54.91           C  \nATOM   6352  CB  ALA E 192      -0.533  36.166 -30.111  1.00 54.91           C  \nATOM   6353  O   ALA E 192       1.682  36.881 -32.436  1.00 54.91           O  \nATOM   6354  N   TYR E 193       2.307  37.460 -30.333  1.00 52.80           N  \nATOM   6355  CA  TYR E 193       3.257  38.464 -30.799  1.00 52.80           C  \nATOM   6356  C   TYR E 193       4.390  37.818 -31.589  1.00 52.80           C  \nATOM   6357  CB  TYR E 193       3.829  39.252 -29.617  1.00 52.80           C  \nATOM   6358  O   TYR E 193       4.737  38.280 -32.678  1.00 52.80           O  \nATOM   6359  CG  TYR E 193       4.867  40.274 -30.014  1.00 52.80           C  \nATOM   6360  CD1 TYR E 193       6.225  40.023 -29.832  1.00 52.80           C  \nATOM   6361  CD2 TYR E 193       4.492  41.492 -30.571  1.00 52.80           C  \nATOM   6362  CE1 TYR E 193       7.185  40.962 -30.194  1.00 52.80           C  \nATOM   6363  CE2 TYR E 193       5.444  42.438 -30.938  1.00 52.80           C  \nATOM   6364  OH  TYR E 193       7.732  43.097 -31.107  1.00 52.80           O  \nATOM   6365  CZ  TYR E 193       6.786  42.164 -30.746  1.00 52.80           C  \nATOM   6366  N   CYS E 194       4.906  36.739 -31.075  1.00 57.65           N  \nATOM   6367  CA  CYS E 194       5.988  36.069 -31.789  1.00 57.65           C  \nATOM   6368  C   CYS E 194       5.467  35.372 -33.039  1.00 57.65           C  \nATOM   6369  CB  CYS E 194       6.683  35.056 -30.880  1.00 57.65           C  \nATOM   6370  O   CYS E 194       6.182  35.260 -34.037  1.00 57.65           O  \nATOM   6371  SG  CYS E 194       7.822  35.802 -29.694  1.00 57.65           S  \nATOM   6372  N   GLU E 195       4.254  34.791 -33.087  1.00 59.97           N  \nATOM   6373  CA  GLU E 195       3.612  34.271 -34.290  1.00 59.97           C  \nATOM   6374  C   GLU E 195       3.341  35.386 -35.297  1.00 59.97           C  \nATOM   6375  CB  GLU E 195       2.306  33.554 -33.937  1.00 59.97           C  \nATOM   6376  O   GLU E 195       3.502  35.193 -36.504  1.00 59.97           O  \nATOM   6377  CG  GLU E 195       2.497  32.109 -33.500  1.00 59.97           C  \nATOM   6378  CD  GLU E 195       1.202  31.433 -33.078  1.00 59.97           C  \nATOM   6379  OE1 GLU E 195       1.230  30.230 -32.734  1.00 59.97           O  \nATOM   6380  OE2 GLU E 195       0.151  32.112 -33.094  1.00 59.97           O  \nATOM   6381  N   ALA E 196       2.968  36.664 -34.843  1.00 64.99           N  \nATOM   6382  CA  ALA E 196       2.706  37.822 -35.693  1.00 64.99           C  \nATOM   6383  C   ALA E 196       4.005  38.519 -36.085  1.00 64.99           C  \nATOM   6384  CB  ALA E 196       1.773  38.802 -34.984  1.00 64.99           C  \nATOM   6385  O   ALA E 196       4.079  39.164 -37.134  1.00 64.99           O  \nATOM   6386  N   ASN E 197       4.950  38.540 -35.097  1.00 52.80           N  \nATOM   6387  CA  ASN E 197       6.243  39.153 -35.378  1.00 52.80           C  \nATOM   6388  C   ASN E 197       7.387  38.160 -35.193  1.00 52.80           C  \nATOM   6389  CB  ASN E 197       6.458  40.382 -34.492  1.00 52.80           C  \nATOM   6390  O   ASN E 197       8.153  38.261 -34.233  1.00 52.80           O  \nATOM   6391  CG  ASN E 197       5.567  41.545 -34.881  1.00 52.80           C  \nATOM   6392  ND2 ASN E 197       5.003  42.218 -33.885  1.00 52.80           N  \nATOM   6393  OD1 ASN E 197       5.386  41.836 -36.066  1.00 52.80           O  \nATOM   6394  N   PRO E 198       7.441  37.092 -36.040  1.00 57.44           N  \nATOM   6395  CA  PRO E 198       8.403  35.997 -35.902  1.00 57.44           C  \nATOM   6396  C   PRO E 198       9.851  36.483 -35.879  1.00 57.44           C  \nATOM   6397  CB  PRO E 198       8.136  35.135 -37.138  1.00 57.44           C  \nATOM   6398  O   PRO E 198      10.714  35.835 -35.281  1.00 57.44           O  \nATOM   6399  CG  PRO E 198       7.184  35.937 -37.965  1.00 57.44           C  \nATOM   6400  CD  PRO E 198       6.790  37.160 -37.187  1.00 57.44           C  \nATOM   6401  N   ASP E 199      10.090  37.592 -36.534  1.00 53.62           N  \nATOM   6402  CA  ASP E 199      11.439  38.127 -36.692  1.00 53.62           C  \nATOM   6403  C   ASP E 199      11.820  39.014 -35.510  1.00 53.62           C  \nATOM   6404  CB  ASP E 199      11.553  38.915 -37.999  1.00 53.62           C  \nATOM   6405  O   ASP E 199      12.912  39.586 -35.483  1.00 53.62           O  \nATOM   6406  CG  ASP E 199      11.424  38.039 -39.233  1.00 53.62           C  \nATOM   6407  OD1 ASP E 199      11.833  36.858 -39.189  1.00 53.62           O  \nATOM   6408  OD2 ASP E 199      10.911  38.534 -40.260  1.00 53.62           O  \nATOM   6409  N   ALA E 200      10.892  39.170 -34.603  1.00 54.21           N  \nATOM   6410  CA  ALA E 200      11.192  40.045 -33.473  1.00 54.21           C  \nATOM   6411  C   ALA E 200      12.228  39.412 -32.549  1.00 54.21           C  \nATOM   6412  CB  ALA E 200       9.918  40.368 -32.696  1.00 54.21           C  \nATOM   6413  O   ALA E 200      12.219  38.197 -32.336  1.00 54.21           O  \nATOM   6414  N   LEU E 201      13.417  40.089 -32.075  1.00 53.85           N  \nATOM   6415  CA  LEU E 201      14.573  39.652 -31.299  1.00 53.85           C  \nATOM   6416  C   LEU E 201      14.135  38.884 -30.057  1.00 53.85           C  \nATOM   6417  CB  LEU E 201      15.432  40.853 -30.895  1.00 53.85           C  \nATOM   6418  O   LEU E 201      14.739  37.868 -29.705  1.00 53.85           O  \nATOM   6419  CG  LEU E 201      16.724  41.060 -31.688  1.00 53.85           C  \nATOM   6420  CD1 LEU E 201      16.964  42.547 -31.930  1.00 53.85           C  \nATOM   6421  CD2 LEU E 201      17.906  40.434 -30.956  1.00 53.85           C  \nATOM   6422  N   GLU E 202      13.144  39.346 -29.499  1.00 56.98           N  \nATOM   6423  CA  GLU E 202      12.666  38.796 -28.234  1.00 56.98           C  \nATOM   6424  C   GLU E 202      12.114  37.385 -28.419  1.00 56.98           C  \nATOM   6425  CB  GLU E 202      11.596  39.704 -27.622  1.00 56.98           C  \nATOM   6426  O   GLU E 202      12.154  36.571 -27.494  1.00 56.98           O  \nATOM   6427  CG  GLU E 202      12.147  40.998 -27.041  1.00 56.98           C  \nATOM   6428  CD  GLU E 202      11.179  42.165 -27.153  1.00 56.98           C  \nATOM   6429  OE1 GLU E 202      11.483  43.258 -26.623  1.00 56.98           O  \nATOM   6430  OE2 GLU E 202      10.108  41.985 -27.773  1.00 56.98           O  \nATOM   6431  N   CYS E 203      11.575  37.162 -29.670  1.00 49.95           N  \nATOM   6432  CA  CYS E 203      10.983  35.870 -30.002  1.00 49.95           C  \nATOM   6433  C   CYS E 203      12.054  34.872 -30.427  1.00 49.95           C  \nATOM   6434  CB  CYS E 203       9.947  36.026 -31.115  1.00 49.95           C  \nATOM   6435  O   CYS E 203      11.842  33.661 -30.356  1.00 49.95           O  \nATOM   6436  SG  CYS E 203       8.505  37.002 -30.635  1.00 49.95           S  \nATOM   6437  N   ARG E 204      13.217  35.167 -30.946  1.00 45.98           N  \nATOM   6438  CA  ARG E 204      14.314  34.329 -31.420  1.00 45.98           C  \nATOM   6439  C   ARG E 204      15.084  33.723 -30.251  1.00 45.98           C  \nATOM   6440  CB  ARG E 204      15.262  35.135 -32.310  1.00 45.98           C  \nATOM   6441  O   ARG E 204      15.799  32.732 -30.419  1.00 45.98           O  \nATOM   6442  CG  ARG E 204      14.877  35.133 -33.781  1.00 45.98           C  \nATOM   6443  CD  ARG E 204      15.950  35.779 -34.646  1.00 45.98           C  \nATOM   6444  NE  ARG E 204      15.606  35.722 -36.064  1.00 45.98           N  \nATOM   6445  NH1 ARG E 204      17.349  37.073 -36.753  1.00 45.98           N  \nATOM   6446  NH2 ARG E 204      15.878  36.219 -38.290  1.00 45.98           N  \nATOM   6447  CZ  ARG E 204      16.278  36.338 -37.032  1.00 45.98           C  \nATOM   6448  N   ILE E 205      15.087  34.319 -29.047  1.00 41.88           N  \nATOM   6449  CA  ILE E 205      15.889  33.798 -27.946  1.00 41.88           C  \nATOM   6450  C   ILE E 205      15.304  32.471 -27.465  1.00 41.88           C  \nATOM   6451  CB  ILE E 205      15.967  34.805 -26.777  1.00 41.88           C  \nATOM   6452  O   ILE E 205      16.039  31.590 -27.013  1.00 41.88           O  \nATOM   6453  CG1 ILE E 205      16.667  36.092 -27.226  1.00 41.88           C  \nATOM   6454  CG2 ILE E 205      16.683  34.182 -25.575  1.00 41.88           C  \nATOM   6455  CD1 ILE E 205      16.656  37.200 -26.182  1.00 41.88           C  \nATOM   6456  N   TYR E 206      14.038  32.326 -27.686  1.00 36.38           N  \nATOM   6457  CA  TYR E 206      13.455  31.107 -27.137  1.00 36.38           C  \nATOM   6458  C   TYR E 206      13.535  29.963 -28.141  1.00 36.38           C  \nATOM   6459  CB  TYR E 206      11.998  31.343 -26.730  1.00 36.38           C  \nATOM   6460  O   TYR E 206      13.109  28.843 -27.851  1.00 36.38           O  \nATOM   6461  CG  TYR E 206      11.815  31.608 -25.255  1.00 36.38           C  \nATOM   6462  CD1 TYR E 206      11.577  30.565 -24.364  1.00 36.38           C  \nATOM   6463  CD2 TYR E 206      11.878  32.903 -24.751  1.00 36.38           C  \nATOM   6464  CE1 TYR E 206      11.405  30.804 -23.005  1.00 36.38           C  \nATOM   6465  CE2 TYR E 206      11.708  33.154 -23.393  1.00 36.38           C  \nATOM   6466  OH  TYR E 206      11.304  32.344 -21.185  1.00 36.38           O  \nATOM   6467  CZ  TYR E 206      11.473  32.100 -22.529  1.00 36.38           C  \nATOM   6468  N   ASP E 207      13.809  30.189 -29.493  1.00 33.41           N  \nATOM   6469  CA  ASP E 207      13.889  29.095 -30.457  1.00 33.41           C  \nATOM   6470  C   ASP E 207      15.224  28.363 -30.347  1.00 33.41           C  \nATOM   6471  CB  ASP E 207      13.692  29.619 -31.881  1.00 33.41           C  \nATOM   6472  O   ASP E 207      15.434  27.341 -31.004  1.00 33.41           O  \nATOM   6473  CG  ASP E 207      12.230  29.784 -32.255  1.00 33.41           C  \nATOM   6474  OD1 ASP E 207      11.353  29.256 -31.537  1.00 33.41           O  \nATOM   6475  OD2 ASP E 207      11.952  30.445 -33.279  1.00 33.41           O  \nATOM   6476  N   ASP E 208      16.318  28.997 -29.740  1.00 27.03           N  \nATOM   6477  CA  ASP E 208      17.492  28.130 -29.725  1.00 27.03           C  \nATOM   6478  C   ASP E 208      17.413  27.119 -28.583  1.00 27.03           C  \nATOM   6479  CB  ASP E 208      18.772  28.960 -29.605  1.00 27.03           C  \nATOM   6480  O   ASP E 208      17.053  27.472 -27.458  1.00 27.03           O  \nATOM   6481  CG  ASP E 208      19.219  29.555 -30.929  1.00 27.03           C  \nATOM   6482  OD1 ASP E 208      18.657  29.187 -31.984  1.00 27.03           O  \nATOM   6483  OD2 ASP E 208      20.144  30.396 -30.918  1.00 27.03           O  \nTER    6484      ASP E 208                                                      \nATOM   6485  N   GLY F   1     -19.945  -9.516 -33.708  1.00 37.95           N  \nATOM   6486  CA  GLY F   1     -19.318 -10.205 -32.591  1.00 37.95           C  \nATOM   6487  C   GLY F   1     -20.208 -10.287 -31.366  1.00 37.95           C  \nATOM   6488  O   GLY F   1     -21.175  -9.532 -31.243  1.00 37.95           O  \nATOM   6489  N   PRO F   2     -20.209 -11.386 -30.604  1.00 50.65           N  \nATOM   6490  CA  PRO F   2     -21.183 -11.583 -29.528  1.00 50.65           C  \nATOM   6491  C   PRO F   2     -21.300 -10.369 -28.609  1.00 50.65           C  \nATOM   6492  CB  PRO F   2     -20.629 -12.792 -28.768  1.00 50.65           C  \nATOM   6493  O   PRO F   2     -20.308  -9.678 -28.363  1.00 50.65           O  \nATOM   6494  CG  PRO F   2     -19.263 -13.006 -29.335  1.00 50.65           C  \nATOM   6495  CD  PRO F   2     -19.071 -12.062 -30.487  1.00 50.65           C  \nATOM   6496  N   MET F   3     -22.522  -9.742 -28.467  1.00 59.32           N  \nATOM   6497  CA  MET F   3     -22.859  -8.528 -27.729  1.00 59.32           C  \nATOM   6498  C   MET F   3     -22.529  -8.683 -26.248  1.00 59.32           C  \nATOM   6499  CB  MET F   3     -24.340  -8.186 -27.902  1.00 59.32           C  \nATOM   6500  O   MET F   3     -23.085  -9.550 -25.571  1.00 59.32           O  \nATOM   6501  CG  MET F   3     -24.605  -7.134 -28.966  1.00 59.32           C  \nATOM   6502  SD  MET F   3     -26.357  -6.589 -28.994  1.00 59.32           S  \nATOM   6503  CE  MET F   3     -27.180  -8.130 -28.504  1.00 59.32           C  \nATOM   6504  N   VAL F   4     -21.345  -8.385 -25.698  1.00 78.42           N  \nATOM   6505  CA  VAL F   4     -20.917  -8.386 -24.303  1.00 78.42           C  \nATOM   6506  C   VAL F   4     -21.634  -7.273 -23.542  1.00 78.42           C  \nATOM   6507  CB  VAL F   4     -19.386  -8.216 -24.179  1.00 78.42           C  \nATOM   6508  O   VAL F   4     -21.925  -6.215 -24.104  1.00 78.42           O  \nATOM   6509  CG1 VAL F   4     -18.937  -8.409 -22.732  1.00 78.42           C  \nATOM   6510  CG2 VAL F   4     -18.665  -9.197 -25.101  1.00 78.42           C  \nATOM   6511  N   LEU F   5     -22.285  -7.713 -22.358  1.00 91.39           N  \nATOM   6512  CA  LEU F   5     -22.932  -6.736 -21.490  1.00 91.39           C  \nATOM   6513  C   LEU F   5     -21.993  -5.574 -21.184  1.00 91.39           C  \nATOM   6514  CB  LEU F   5     -23.388  -7.396 -20.186  1.00 91.39           C  \nATOM   6515  O   LEU F   5     -20.835  -5.786 -20.817  1.00 91.39           O  \nATOM   6516  CG  LEU F   5     -24.463  -6.654 -19.390  1.00 91.39           C  \nATOM   6517  CD1 LEU F   5     -25.806  -6.738 -20.108  1.00 91.39           C  \nATOM   6518  CD2 LEU F   5     -24.570  -7.221 -17.978  1.00 91.39           C  \nATOM   6519  N   GLN F   6     -22.547  -4.381 -21.431  1.00 95.24           N  \nATOM   6520  CA  GLN F   6     -21.689  -3.203 -21.349  1.00 95.24           C  \nATOM   6521  C   GLN F   6     -22.011  -2.373 -20.110  1.00 95.24           C  \nATOM   6522  CB  GLN F   6     -21.834  -2.345 -22.608  1.00 95.24           C  \nATOM   6523  O   GLN F   6     -23.068  -2.545 -19.499  1.00 95.24           O  \nATOM   6524  CG  GLN F   6     -21.460  -3.071 -23.893  1.00 95.24           C  \nATOM   6525  CD  GLN F   6     -21.694  -2.228 -25.132  1.00 95.24           C  \nATOM   6526  NE2 GLN F   6     -21.127  -2.655 -26.256  1.00 95.24           N  \nATOM   6527  OE1 GLN F   6     -22.379  -1.202 -25.081  1.00 95.24           O  \nATOM   6528  N   ALA F   7     -21.178  -1.444 -19.799  1.00 96.36           N  \nATOM   6529  CA  ALA F   7     -21.298  -0.598 -18.615  1.00 96.36           C  \nATOM   6530  C   ALA F   7     -22.588   0.216 -18.650  1.00 96.36           C  \nATOM   6531  CB  ALA F   7     -20.090   0.330 -18.499  1.00 96.36           C  \nATOM   6532  O   ALA F   7     -23.302   0.304 -17.648  1.00 96.36           O  \nATOM   6533  N   GLN F   8     -22.906   0.769 -19.795  1.00 96.43           N  \nATOM   6534  CA  GLN F   8     -24.073   1.638 -19.907  1.00 96.43           C  \nATOM   6535  C   GLN F   8     -25.362   0.866 -19.642  1.00 96.43           C  \nATOM   6536  CB  GLN F   8     -24.126   2.289 -21.290  1.00 96.43           C  \nATOM   6537  O   GLN F   8     -26.384   1.457 -19.285  1.00 96.43           O  \nATOM   6538  CG  GLN F   8     -24.309   1.297 -22.431  1.00 96.43           C  \nATOM   6539  CD  GLN F   8     -24.311   1.963 -23.794  1.00 96.43           C  \nATOM   6540  NE2 GLN F   8     -25.064   1.396 -24.730  1.00 96.43           N  \nATOM   6541  OE1 GLN F   8     -23.643   2.980 -24.003  1.00 96.43           O  \nATOM   6542  N   GLU F   9     -25.321  -0.392 -19.747  1.00 96.72           N  \nATOM   6543  CA  GLU F   9     -26.517  -1.214 -19.592  1.00 96.72           C  \nATOM   6544  C   GLU F   9     -26.792  -1.518 -18.122  1.00 96.72           C  \nATOM   6545  CB  GLU F   9     -26.379  -2.519 -20.382  1.00 96.72           C  \nATOM   6546  O   GLU F   9     -27.907  -1.899 -17.760  1.00 96.72           O  \nATOM   6547  CG  GLU F   9     -26.295  -2.320 -21.888  1.00 96.72           C  \nATOM   6548  CD  GLU F   9     -25.989  -3.602 -22.646  1.00 96.72           C  \nATOM   6549  OE1 GLU F   9     -26.936  -4.256 -23.139  1.00 96.72           O  \nATOM   6550  OE2 GLU F   9     -24.793  -3.956 -22.747  1.00 96.72           O  \nATOM   6551  N   ILE F  10     -25.820  -1.367 -17.306  1.00 97.12           N  \nATOM   6552  CA  ILE F  10     -26.053  -1.754 -15.918  1.00 97.12           C  \nATOM   6553  C   ILE F  10     -25.743  -0.577 -14.996  1.00 97.12           C  \nATOM   6554  CB  ILE F  10     -25.203  -2.982 -15.524  1.00 97.12           C  \nATOM   6555  O   ILE F  10     -25.871  -0.686 -13.775  1.00 97.12           O  \nATOM   6556  CG1 ILE F  10     -23.709  -2.654 -15.628  1.00 97.12           C  \nATOM   6557  CG2 ILE F  10     -25.560  -4.189 -16.396  1.00 97.12           C  \nATOM   6558  CD1 ILE F  10     -22.811  -3.596 -14.837  1.00 97.12           C  \nATOM   6559  N   MET F  11     -25.305   0.522 -15.511  1.00 97.20           N  \nATOM   6560  CA  MET F  11     -24.962   1.693 -14.709  1.00 97.20           C  \nATOM   6561  C   MET F  11     -26.205   2.285 -14.052  1.00 97.20           C  \nATOM   6562  CB  MET F  11     -24.272   2.752 -15.571  1.00 97.20           C  \nATOM   6563  O   MET F  11     -27.329   1.986 -14.458  1.00 97.20           O  \nATOM   6564  CG  MET F  11     -25.190   3.407 -16.590  1.00 97.20           C  \nATOM   6565  SD  MET F  11     -24.324   4.660 -17.613  1.00 97.20           S  \nATOM   6566  CE  MET F  11     -25.698   5.230 -18.652  1.00 97.20           C  \nATOM   6567  N   THR F  12     -25.983   3.035 -12.978  1.00 93.92           N  \nATOM   6568  CA  THR F  12     -27.040   3.856 -12.397  1.00 93.92           C  \nATOM   6569  C   THR F  12     -27.153   5.189 -13.130  1.00 93.92           C  \nATOM   6570  CB  THR F  12     -26.790   4.110 -10.899  1.00 93.92           C  \nATOM   6571  O   THR F  12     -26.155   5.890 -13.312  1.00 93.92           O  \nATOM   6572  CG2 THR F  12     -27.931   4.909 -10.278  1.00 93.92           C  \nATOM   6573  OG1 THR F  12     -26.676   2.853 -10.219  1.00 93.92           O  \nATOM   6574  N   GLN F  13     -28.265   5.556 -13.605  1.00 91.17           N  \nATOM   6575  CA  GLN F  13     -28.447   6.742 -14.434  1.00 91.17           C  \nATOM   6576  C   GLN F  13     -28.760   7.967 -13.580  1.00 91.17           C  \nATOM   6577  CB  GLN F  13     -29.562   6.517 -15.457  1.00 91.17           C  \nATOM   6578  O   GLN F  13     -28.475   9.098 -13.979  1.00 91.17           O  \nATOM   6579  CG  GLN F  13     -29.231   5.465 -16.506  1.00 91.17           C  \nATOM   6580  CD  GLN F  13     -30.380   5.207 -17.462  1.00 91.17           C  \nATOM   6581  NE2 GLN F  13     -30.359   4.051 -18.117  1.00 91.17           N  \nATOM   6582  OE1 GLN F  13     -31.281   6.039 -17.610  1.00 91.17           O  \nATOM   6583  N   ASN F  14     -29.475   7.783 -12.494  1.00 84.23           N  \nATOM   6584  CA  ASN F  14     -29.771   8.909 -11.614  1.00 84.23           C  \nATOM   6585  C   ASN F  14     -28.522   9.393 -10.883  1.00 84.23           C  \nATOM   6586  CB  ASN F  14     -30.862   8.532 -10.610  1.00 84.23           C  \nATOM   6587  O   ASN F  14     -28.236   8.945  -9.771  1.00 84.23           O  \nATOM   6588  CG  ASN F  14     -31.540   9.744 -10.002  1.00 84.23           C  \nATOM   6589  ND2 ASN F  14     -32.534   9.506  -9.155  1.00 84.23           N  \nATOM   6590  OD1 ASN F  14     -31.173  10.886 -10.291  1.00 84.23           O  \nATOM   6591  N   VAL F  15     -27.854  10.329 -11.570  1.00 87.82           N  \nATOM   6592  CA  VAL F  15     -26.615  10.842 -10.994  1.00 87.82           C  \nATOM   6593  C   VAL F  15     -26.865  12.212 -10.367  1.00 87.82           C  \nATOM   6594  CB  VAL F  15     -25.493  10.937 -12.052  1.00 87.82           C  \nATOM   6595  O   VAL F  15     -27.554  13.052 -10.951  1.00 87.82           O  \nATOM   6596  CG1 VAL F  15     -24.183  11.390 -11.411  1.00 87.82           C  \nATOM   6597  CG2 VAL F  15     -25.310   9.594 -12.757  1.00 87.82           C  \nATOM   6598  N   VAL F  16     -26.447  12.391  -9.167  1.00 95.01           N  \nATOM   6599  CA  VAL F  16     -26.554  13.672  -8.478  1.00 95.01           C  \nATOM   6600  C   VAL F  16     -25.178  14.331  -8.394  1.00 95.01           C  \nATOM   6601  CB  VAL F  16     -27.152  13.508  -7.063  1.00 95.01           C  \nATOM   6602  O   VAL F  16     -24.174  13.657  -8.154  1.00 95.01           O  \nATOM   6603  CG1 VAL F  16     -27.215  14.854  -6.343  1.00 95.01           C  \nATOM   6604  CG2 VAL F  16     -28.540  12.875  -7.141  1.00 95.01           C  \nATOM   6605  N   THR F  17     -25.177  15.555  -8.676  1.00 96.31           N  \nATOM   6606  CA  THR F  17     -23.920  16.295  -8.682  1.00 96.31           C  \nATOM   6607  C   THR F  17     -23.844  17.243  -7.489  1.00 96.31           C  \nATOM   6608  CB  THR F  17     -23.749  17.094  -9.987  1.00 96.31           C  \nATOM   6609  O   THR F  17     -24.861  17.536  -6.857  1.00 96.31           O  \nATOM   6610  CG2 THR F  17     -23.889  16.191 -11.208  1.00 96.31           C  \nATOM   6611  OG1 THR F  17     -24.749  18.119 -10.048  1.00 96.31           O  \nATOM   6612  N   ILE F  18     -22.605  17.679  -7.146  1.00 97.92           N  \nATOM   6613  CA  ILE F  18     -22.340  18.628  -6.071  1.00 97.92           C  \nATOM   6614  C   ILE F  18     -21.155  19.515  -6.445  1.00 97.92           C  \nATOM   6615  CB  ILE F  18     -22.066  17.904  -4.733  1.00 97.92           C  \nATOM   6616  O   ILE F  18     -20.313  19.126  -7.258  1.00 97.92           O  \nATOM   6617  CG1 ILE F  18     -22.115  18.898  -3.568  1.00 97.92           C  \nATOM   6618  CG2 ILE F  18     -20.717  17.179  -4.778  1.00 97.92           C  \nATOM   6619  CD1 ILE F  18     -22.203  18.242  -2.197  1.00 97.92           C  \nATOM   6620  N   ARG F  19     -21.170  20.661  -5.897  1.00 96.98           N  \nATOM   6621  CA  ARG F  19     -20.028  21.543  -6.117  1.00 96.98           C  \nATOM   6622  C   ARG F  19     -18.880  21.197  -5.175  1.00 96.98           C  \nATOM   6623  CB  ARG F  19     -20.435  23.006  -5.931  1.00 96.98           C  \nATOM   6624  O   ARG F  19     -19.107  20.779  -4.038  1.00 96.98           O  \nATOM   6625  CG  ARG F  19     -21.393  23.519  -6.995  1.00 96.98           C  \nATOM   6626  CD  ARG F  19     -21.642  25.014  -6.857  1.00 96.98           C  \nATOM   6627  NE  ARG F  19     -22.433  25.534  -7.969  1.00 96.98           N  \nATOM   6628  NH1 ARG F  19     -22.447  27.716  -7.209  1.00 96.98           N  \nATOM   6629  NH2 ARG F  19     -23.517  27.170  -9.161  1.00 96.98           N  \nATOM   6630  CZ  ARG F  19     -22.797  26.806  -8.110  1.00 96.98           C  \nATOM   6631  N   GLY F  20     -17.709  21.471  -5.647  1.00 97.62           N  \nATOM   6632  CA  GLY F  20     -16.550  21.245  -4.798  1.00 97.62           C  \nATOM   6633  C   GLY F  20     -16.527  22.135  -3.570  1.00 97.62           C  \nATOM   6634  O   GLY F  20     -15.982  21.755  -2.531  1.00 97.62           O  \nATOM   6635  N   SER F  21     -17.077  23.286  -3.636  1.00 97.15           N  \nATOM   6636  CA  SER F  21     -17.066  24.261  -2.550  1.00 97.15           C  \nATOM   6637  C   SER F  21     -18.110  23.921  -1.491  1.00 97.15           C  \nATOM   6638  CB  SER F  21     -17.317  25.669  -3.091  1.00 97.15           C  \nATOM   6639  O   SER F  21     -18.124  24.515  -0.411  1.00 97.15           O  \nATOM   6640  OG  SER F  21     -18.556  25.732  -3.775  1.00 97.15           O  \nATOM   6641  N   ALA F  22     -18.948  22.941  -1.752  1.00 98.12           N  \nATOM   6642  CA  ALA F  22     -19.952  22.549  -0.767  1.00 98.12           C  \nATOM   6643  C   ALA F  22     -19.298  21.959   0.479  1.00 98.12           C  \nATOM   6644  CB  ALA F  22     -20.931  21.547  -1.375  1.00 98.12           C  \nATOM   6645  O   ALA F  22     -18.158  21.491   0.427  1.00 98.12           O  \nATOM   6646  N   THR F  23     -20.021  22.047   1.571  1.00 98.35           N  \nATOM   6647  CA  THR F  23     -19.518  21.404   2.780  1.00 98.35           C  \nATOM   6648  C   THR F  23     -19.725  19.893   2.714  1.00 98.35           C  \nATOM   6649  CB  THR F  23     -20.206  21.965   4.038  1.00 98.35           C  \nATOM   6650  O   THR F  23     -20.574  19.409   1.963  1.00 98.35           O  \nATOM   6651  CG2 THR F  23     -20.085  23.484   4.100  1.00 98.35           C  \nATOM   6652  OG1 THR F  23     -21.593  21.608   4.017  1.00 98.35           O  \nATOM   6653  N   VAL F  24     -18.997  19.235   3.488  1.00 98.80           N  \nATOM   6654  CA  VAL F  24     -19.175  17.791   3.603  1.00 98.80           C  \nATOM   6655  C   VAL F  24     -20.553  17.485   4.186  1.00 98.80           C  \nATOM   6656  CB  VAL F  24     -18.073  17.151   4.477  1.00 98.80           C  \nATOM   6657  O   VAL F  24     -21.193  16.505   3.799  1.00 98.80           O  \nATOM   6658  CG1 VAL F  24     -18.380  15.678   4.740  1.00 98.80           C  \nATOM   6659  CG2 VAL F  24     -16.707  17.304   3.809  1.00 98.80           C  \nATOM   6660  N   ALA F  25     -21.017  18.323   5.065  1.00 98.67           N  \nATOM   6661  CA  ALA F  25     -22.357  18.166   5.626  1.00 98.67           C  \nATOM   6662  C   ALA F  25     -23.418  18.203   4.530  1.00 98.67           C  \nATOM   6663  CB  ALA F  25     -22.630  19.252   6.664  1.00 98.67           C  \nATOM   6664  O   ALA F  25     -24.354  17.400   4.536  1.00 98.67           O  \nATOM   6665  N   ASP F  26     -23.268  19.117   3.579  1.00 98.48           N  \nATOM   6666  CA  ASP F  26     -24.181  19.191   2.443  1.00 98.48           C  \nATOM   6667  C   ASP F  26     -24.169  17.891   1.642  1.00 98.48           C  \nATOM   6668  CB  ASP F  26     -23.817  20.370   1.538  1.00 98.48           C  \nATOM   6669  O   ASP F  26     -25.221  17.400   1.230  1.00 98.48           O  \nATOM   6670  CG  ASP F  26     -24.071  21.718   2.189  1.00 98.48           C  \nATOM   6671  OD1 ASP F  26     -24.992  21.827   3.027  1.00 98.48           O  \nATOM   6672  OD2 ASP F  26     -23.346  22.681   1.859  1.00 98.48           O  \nATOM   6673  N   ALA F  27     -23.015  17.411   1.457  1.00 98.72           N  \nATOM   6674  CA  ALA F  27     -22.874  16.165   0.708  1.00 98.72           C  \nATOM   6675  C   ALA F  27     -23.580  15.015   1.419  1.00 98.72           C  \nATOM   6676  CB  ALA F  27     -21.398  15.833   0.502  1.00 98.72           C  \nATOM   6677  O   ALA F  27     -24.308  14.242   0.791  1.00 98.72           O  \nATOM   6678  N   VAL F  28     -23.367  14.903   2.720  1.00 98.74           N  \nATOM   6679  CA  VAL F  28     -24.005  13.850   3.502  1.00 98.74           C  \nATOM   6680  C   VAL F  28     -25.523  13.990   3.417  1.00 98.74           C  \nATOM   6681  CB  VAL F  28     -23.549  13.883   4.978  1.00 98.74           C  \nATOM   6682  O   VAL F  28     -26.232  13.006   3.197  1.00 98.74           O  \nATOM   6683  CG1 VAL F  28     -24.348  12.884   5.813  1.00 98.74           C  \nATOM   6684  CG2 VAL F  28     -22.052  13.593   5.080  1.00 98.74           C  \nATOM   6685  N   LYS F  29     -25.969  15.173   3.572  1.00 98.49           N  \nATOM   6686  CA  LYS F  29     -27.402  15.436   3.477  1.00 98.49           C  \nATOM   6687  C   LYS F  29     -27.957  14.981   2.130  1.00 98.49           C  \nATOM   6688  CB  LYS F  29     -27.690  16.923   3.687  1.00 98.49           C  \nATOM   6689  O   LYS F  29     -28.978  14.293   2.073  1.00 98.49           O  \nATOM   6690  CG  LYS F  29     -29.169  17.279   3.647  1.00 98.49           C  \nATOM   6691  CD  LYS F  29     -29.390  18.774   3.843  1.00 98.49           C  \nATOM   6692  CE  LYS F  29     -30.862  19.143   3.723  1.00 98.49           C  \nATOM   6693  NZ  LYS F  29     -31.076  20.615   3.848  1.00 98.49           N  \nATOM   6694  N   LEU F  30     -27.316  15.366   1.143  1.00 98.19           N  \nATOM   6695  CA  LEU F  30     -27.745  15.015  -0.207  1.00 98.19           C  \nATOM   6696  C   LEU F  30     -27.724  13.504  -0.409  1.00 98.19           C  \nATOM   6697  CB  LEU F  30     -26.849  15.694  -1.247  1.00 98.19           C  \nATOM   6698  O   LEU F  30     -28.657  12.937  -0.982  1.00 98.19           O  \nATOM   6699  CG  LEU F  30     -27.322  15.621  -2.700  1.00 98.19           C  \nATOM   6700  CD1 LEU F  30     -28.746  16.153  -2.820  1.00 98.19           C  \nATOM   6701  CD2 LEU F  30     -26.377  16.398  -3.610  1.00 98.19           C  \nATOM   6702  N   MET F  31     -26.735  12.835   0.060  1.00 97.75           N  \nATOM   6703  CA  MET F  31     -26.634  11.383  -0.056  1.00 97.75           C  \nATOM   6704  C   MET F  31     -27.757  10.696   0.713  1.00 97.75           C  \nATOM   6705  CB  MET F  31     -25.276  10.896   0.454  1.00 97.75           C  \nATOM   6706  O   MET F  31     -28.340   9.723   0.232  1.00 97.75           O  \nATOM   6707  CG  MET F  31     -24.121  11.214  -0.481  1.00 97.75           C  \nATOM   6708  SD  MET F  31     -22.513  10.598   0.154  1.00 97.75           S  \nATOM   6709  CE  MET F  31     -21.391  11.287  -1.094  1.00 97.75           C  \nATOM   6710  N   LYS F  32     -28.056  11.191   1.890  1.00 97.65           N  \nATOM   6711  CA  LYS F  32     -29.151  10.641   2.685  1.00 97.65           C  \nATOM   6712  C   LYS F  32     -30.490  10.829   1.979  1.00 97.65           C  \nATOM   6713  CB  LYS F  32     -29.191  11.294   4.068  1.00 97.65           C  \nATOM   6714  O   LYS F  32     -31.261   9.878   1.836  1.00 97.65           O  \nATOM   6715  CG  LYS F  32     -28.073  10.844   4.997  1.00 97.65           C  \nATOM   6716  CD  LYS F  32     -28.199  11.484   6.374  1.00 97.65           C  \nATOM   6717  CE  LYS F  32     -27.138  10.963   7.333  1.00 97.65           C  \nATOM   6718  NZ  LYS F  32     -27.297  11.539   8.702  1.00 97.65           N  \nATOM   6719  N   GLU F  33     -30.720  12.026   1.466  1.00 97.20           N  \nATOM   6720  CA  GLU F  33     -31.985  12.355   0.816  1.00 97.20           C  \nATOM   6721  C   GLU F  33     -32.190  11.522  -0.446  1.00 97.20           C  \nATOM   6722  CB  GLU F  33     -32.043  13.847   0.476  1.00 97.20           C  \nATOM   6723  O   GLU F  33     -33.298  11.050  -0.711  1.00 97.20           O  \nATOM   6724  CG  GLU F  33     -32.242  14.746   1.688  1.00 97.20           C  \nATOM   6725  CD  GLU F  33     -32.190  16.227   1.350  1.00 97.20           C  \nATOM   6726  OE1 GLU F  33     -32.450  17.063   2.246  1.00 97.20           O  \nATOM   6727  OE2 GLU F  33     -31.890  16.555   0.181  1.00 97.20           O  \nATOM   6728  N   LYS F  34     -31.127  11.331  -1.137  1.00 96.16           N  \nATOM   6729  CA  LYS F  34     -31.238  10.666  -2.432  1.00 96.16           C  \nATOM   6730  C   LYS F  34     -30.861   9.191  -2.327  1.00 96.16           C  \nATOM   6731  CB  LYS F  34     -30.355  11.361  -3.470  1.00 96.16           C  \nATOM   6732  O   LYS F  34     -30.928   8.457  -3.315  1.00 96.16           O  \nATOM   6733  CG  LYS F  34     -30.717  12.818  -3.715  1.00 96.16           C  \nATOM   6734  CD  LYS F  34     -32.097  12.953  -4.346  1.00 96.16           C  \nATOM   6735  CE  LYS F  34     -32.413  14.401  -4.696  1.00 96.16           C  \nATOM   6736  NZ  LYS F  34     -33.758  14.536  -5.331  1.00 96.16           N  \nATOM   6737  N   LYS F  35     -30.431   8.743  -1.101  1.00 94.06           N  \nATOM   6738  CA  LYS F  35     -30.033   7.364  -0.831  1.00 94.06           C  \nATOM   6739  C   LYS F  35     -28.915   6.921  -1.770  1.00 94.06           C  \nATOM   6740  CB  LYS F  35     -31.232   6.424  -0.963  1.00 94.06           C  \nATOM   6741  O   LYS F  35     -29.015   5.873  -2.411  1.00 94.06           O  \nATOM   6742  CG  LYS F  35     -32.356   6.712   0.021  1.00 94.06           C  \nATOM   6743  CD  LYS F  35     -33.492   5.706  -0.117  1.00 94.06           C  \nATOM   6744  CE  LYS F  35     -34.623   6.001   0.858  1.00 94.06           C  \nATOM   6745  NZ  LYS F  35     -35.738   5.015   0.728  1.00 94.06           N  \nATOM   6746  N   LEU F  36     -27.935   7.731  -1.828  1.00 94.64           N  \nATOM   6747  CA  LEU F  36     -26.790   7.474  -2.694  1.00 94.64           C  \nATOM   6748  C   LEU F  36     -25.518   7.291  -1.874  1.00 94.64           C  \nATOM   6749  CB  LEU F  36     -26.607   8.619  -3.694  1.00 94.64           C  \nATOM   6750  O   LEU F  36     -25.436   7.757  -0.735  1.00 94.64           O  \nATOM   6751  CG  LEU F  36     -27.742   8.833  -4.696  1.00 94.64           C  \nATOM   6752  CD1 LEU F  36     -27.545  10.145  -5.449  1.00 94.64           C  \nATOM   6753  CD2 LEU F  36     -27.828   7.661  -5.667  1.00 94.64           C  \nATOM   6754  N   ARG F  37     -24.577   6.611  -2.441  1.00 95.13           N  \nATOM   6755  CA  ARG F  37     -23.327   6.327  -1.744  1.00 95.13           C  \nATOM   6756  C   ARG F  37     -22.160   7.066  -2.389  1.00 95.13           C  \nATOM   6757  CB  ARG F  37     -23.050   4.822  -1.728  1.00 95.13           C  \nATOM   6758  O   ARG F  37     -21.010   6.905  -1.974  1.00 95.13           O  \nATOM   6759  CG  ARG F  37     -24.056   4.018  -0.920  1.00 95.13           C  \nATOM   6760  CD  ARG F  37     -23.802   2.521  -1.031  1.00 95.13           C  \nATOM   6761  NE  ARG F  37     -24.831   1.747  -0.342  1.00 95.13           N  \nATOM   6762  NH1 ARG F  37     -24.899   0.052  -1.909  1.00 95.13           N  \nATOM   6763  NH2 ARG F  37     -26.261  -0.028  -0.067  1.00 95.13           N  \nATOM   6764  CZ  ARG F  37     -25.328   0.592  -0.774  1.00 95.13           C  \nATOM   6765  N   GLY F  38     -22.340   7.837  -3.400  1.00 96.39           N  \nATOM   6766  CA  GLY F  38     -21.388   8.689  -4.094  1.00 96.39           C  \nATOM   6767  C   GLY F  38     -22.049   9.815  -4.867  1.00 96.39           C  \nATOM   6768  O   GLY F  38     -23.164   9.659  -5.369  1.00 96.39           O  \nATOM   6769  N   LEU F  39     -21.297  10.892  -4.971  1.00 98.04           N  \nATOM   6770  CA  LEU F  39     -21.736  12.060  -5.727  1.00 98.04           C  \nATOM   6771  C   LEU F  39     -20.679  12.478  -6.744  1.00 98.04           C  \nATOM   6772  CB  LEU F  39     -22.043  13.225  -4.784  1.00 98.04           C  \nATOM   6773  O   LEU F  39     -19.480  12.373  -6.477  1.00 98.04           O  \nATOM   6774  CG  LEU F  39     -23.019  12.935  -3.642  1.00 98.04           C  \nATOM   6775  CD1 LEU F  39     -23.042  14.099  -2.657  1.00 98.04           C  \nATOM   6776  CD2 LEU F  39     -24.416  12.663  -4.189  1.00 98.04           C  \nATOM   6777  N   ILE F  40     -21.153  12.967  -7.856  1.00 97.83           N  \nATOM   6778  CA  ILE F  40     -20.238  13.491  -8.864  1.00 97.83           C  \nATOM   6779  C   ILE F  40     -19.969  14.970  -8.598  1.00 97.83           C  \nATOM   6780  CB  ILE F  40     -20.797  13.296 -10.291  1.00 97.83           C  \nATOM   6781  O   ILE F  40     -20.891  15.730  -8.292  1.00 97.83           O  \nATOM   6782  CG1 ILE F  40     -20.954  11.803 -10.603  1.00 97.83           C  \nATOM   6783  CG2 ILE F  40     -19.894  13.978 -11.323  1.00 97.83           C  \nATOM   6784  CD1 ILE F  40     -19.654  11.015 -10.531  1.00 97.83           C  \nATOM   6785  N   VAL F  41     -18.759  15.359  -8.565  1.00 97.81           N  \nATOM   6786  CA  VAL F  41     -18.385  16.764  -8.448  1.00 97.81           C  \nATOM   6787  C   VAL F  41     -18.329  17.402  -9.834  1.00 97.81           C  \nATOM   6788  CB  VAL F  41     -17.028  16.932  -7.728  1.00 97.81           C  \nATOM   6789  O   VAL F  41     -17.554  16.971 -10.691  1.00 97.81           O  \nATOM   6790  CG1 VAL F  41     -16.668  18.411  -7.592  1.00 97.81           C  \nATOM   6791  CG2 VAL F  41     -17.065  16.260  -6.357  1.00 97.81           C  \nATOM   6792  N   GLU F  42     -18.949  18.403 -10.045  1.00 93.41           N  \nATOM   6793  CA  GLU F  42     -19.137  19.024 -11.353  1.00 93.41           C  \nATOM   6794  C   GLU F  42     -17.881  19.768 -11.796  1.00 93.41           C  \nATOM   6795  CB  GLU F  42     -20.333  19.980 -11.327  1.00 93.41           C  \nATOM   6796  O   GLU F  42     -17.181  20.362 -10.973  1.00 93.41           O  \nATOM   6797  CG  GLU F  42     -21.667  19.290 -11.081  1.00 93.41           C  \nATOM   6798  CD  GLU F  42     -22.832  20.260 -10.971  1.00 93.41           C  \nATOM   6799  OE1 GLU F  42     -23.996  19.805 -10.902  1.00 93.41           O  \nATOM   6800  OE2 GLU F  42     -22.579  21.485 -10.953  1.00 93.41           O  \nATOM   6801  N   PRO F  43     -17.701  19.763 -13.134  1.00 92.01           N  \nATOM   6802  CA  PRO F  43     -16.648  20.641 -13.650  1.00 92.01           C  \nATOM   6803  C   PRO F  43     -17.017  22.120 -13.558  1.00 92.01           C  \nATOM   6804  CB  PRO F  43     -16.509  20.203 -15.110  1.00 92.01           C  \nATOM   6805  O   PRO F  43     -18.198  22.471 -13.622  1.00 92.01           O  \nATOM   6806  CG  PRO F  43     -17.259  18.913 -15.196  1.00 92.01           C  \nATOM   6807  CD  PRO F  43     -18.262  18.870 -14.078  1.00 92.01           C  \nATOM   6808  N   ARG F  44     -16.071  22.944 -13.370  1.00 86.19           N  \nATOM   6809  CA  ARG F  44     -16.316  24.380 -13.284  1.00 86.19           C  \nATOM   6810  C   ARG F  44     -16.422  25.001 -14.673  1.00 86.19           C  \nATOM   6811  CB  ARG F  44     -15.207  25.068 -12.485  1.00 86.19           C  \nATOM   6812  O   ARG F  44     -17.129  25.994 -14.862  1.00 86.19           O  \nATOM   6813  CG  ARG F  44     -15.137  24.635 -11.030  1.00 86.19           C  \nATOM   6814  CD  ARG F  44     -16.156  25.372 -10.172  1.00 86.19           C  \nATOM   6815  NE  ARG F  44     -15.806  26.781 -10.010  1.00 86.19           N  \nATOM   6816  NH1 ARG F  44     -17.119  27.105  -8.137  1.00 86.19           N  \nATOM   6817  NH2 ARG F  44     -15.887  28.838  -8.994  1.00 86.19           N  \nATOM   6818  CZ  ARG F  44     -16.272  27.572  -9.047  1.00 86.19           C  \nATOM   6819  N   HIS F  45     -15.644  24.471 -15.619  1.00 81.94           N  \nATOM   6820  CA  HIS F  45     -15.650  24.901 -17.012  1.00 81.94           C  \nATOM   6821  C   HIS F  45     -15.360  23.734 -17.951  1.00 81.94           C  \nATOM   6822  CB  HIS F  45     -14.630  26.019 -17.233  1.00 81.94           C  \nATOM   6823  O   HIS F  45     -15.138  22.609 -17.498  1.00 81.94           O  \nATOM   6824  CG  HIS F  45     -13.258  25.685 -16.740  1.00 81.94           C  \nATOM   6825  CD2 HIS F  45     -12.598  26.065 -15.620  1.00 81.94           C  \nATOM   6826  ND1 HIS F  45     -12.397  24.863 -17.435  1.00 81.94           N  \nATOM   6827  CE1 HIS F  45     -11.264  24.752 -16.762  1.00 81.94           C  \nATOM   6828  NE2 HIS F  45     -11.360  25.471 -15.657  1.00 81.94           N  \nATOM   6829  N   GLU F  46     -15.365  23.934 -19.130  1.00 75.95           N  \nATOM   6830  CA  GLU F  46     -15.299  22.886 -20.145  1.00 75.95           C  \nATOM   6831  C   GLU F  46     -13.993  22.104 -20.047  1.00 75.95           C  \nATOM   6832  CB  GLU F  46     -15.450  23.484 -21.546  1.00 75.95           C  \nATOM   6833  O   GLU F  46     -13.955  20.908 -20.345  1.00 75.95           O  \nATOM   6834  CG  GLU F  46     -16.882  23.854 -21.906  1.00 75.95           C  \nATOM   6835  CD  GLU F  46     -17.036  24.326 -23.343  1.00 75.95           C  \nATOM   6836  OE1 GLU F  46     -18.184  24.563 -23.784  1.00 75.95           O  \nATOM   6837  OE2 GLU F  46     -16.001  24.459 -24.034  1.00 75.95           O  \nATOM   6838  N   GLN F  47     -12.986  22.706 -19.626  1.00 75.88           N  \nATOM   6839  CA  GLN F  47     -11.683  22.054 -19.560  1.00 75.88           C  \nATOM   6840  C   GLN F  47     -11.466  21.397 -18.200  1.00 75.88           C  \nATOM   6841  CB  GLN F  47     -10.564  23.057 -19.843  1.00 75.88           C  \nATOM   6842  O   GLN F  47     -10.478  20.688 -17.997  1.00 75.88           O  \nATOM   6843  CG  GLN F  47     -10.568  23.597 -21.267  1.00 75.88           C  \nATOM   6844  CD  GLN F  47      -9.598  24.747 -21.461  1.00 75.88           C  \nATOM   6845  NE2 GLN F  47      -9.508  25.246 -22.689  1.00 75.88           N  \nATOM   6846  OE1 GLN F  47      -8.934  25.183 -20.515  1.00 75.88           O  \nATOM   6847  N   ASP F  48     -12.367  21.641 -17.365  1.00 87.10           N  \nATOM   6848  CA  ASP F  48     -12.294  21.068 -16.024  1.00 87.10           C  \nATOM   6849  C   ASP F  48     -12.876  19.656 -15.997  1.00 87.10           C  \nATOM   6850  CB  ASP F  48     -13.028  21.958 -15.019  1.00 87.10           C  \nATOM   6851  O   ASP F  48     -13.896  19.388 -16.635  1.00 87.10           O  \nATOM   6852  CG  ASP F  48     -12.764  21.566 -13.576  1.00 87.10           C  \nATOM   6853  OD1 ASP F  48     -11.634  21.138 -13.257  1.00 87.10           O  \nATOM   6854  OD2 ASP F  48     -13.696  21.683 -12.751  1.00 87.10           O  \nATOM   6855  N   PRO F  49     -12.245  18.719 -15.302  1.00 92.85           N  \nATOM   6856  CA  PRO F  49     -12.732  17.338 -15.270  1.00 92.85           C  \nATOM   6857  C   PRO F  49     -13.780  17.108 -14.183  1.00 92.85           C  \nATOM   6858  CB  PRO F  49     -11.467  16.523 -14.990  1.00 92.85           C  \nATOM   6859  O   PRO F  49     -13.939  17.941 -13.287  1.00 92.85           O  \nATOM   6860  CG  PRO F  49     -10.628  17.406 -14.123  1.00 92.85           C  \nATOM   6861  CD  PRO F  49     -10.799  18.826 -14.581  1.00 92.85           C  \nATOM   6862  N   TYR F  50     -14.452  15.959 -14.285  1.00 94.35           N  \nATOM   6863  CA  TYR F  50     -15.352  15.511 -13.228  1.00 94.35           C  \nATOM   6864  C   TYR F  50     -14.567  14.979 -12.034  1.00 94.35           C  \nATOM   6865  CB  TYR F  50     -16.302  14.430 -13.752  1.00 94.35           C  \nATOM   6866  O   TYR F  50     -13.435  14.515 -12.185  1.00 94.35           O  \nATOM   6867  CG  TYR F  50     -17.332  14.948 -14.726  1.00 94.35           C  \nATOM   6868  CD1 TYR F  50     -18.504  15.551 -14.275  1.00 94.35           C  \nATOM   6869  CD2 TYR F  50     -17.136  14.835 -16.098  1.00 94.35           C  \nATOM   6870  CE1 TYR F  50     -19.457  16.028 -15.169  1.00 94.35           C  \nATOM   6871  CE2 TYR F  50     -18.082  15.309 -17.001  1.00 94.35           C  \nATOM   6872  OH  TYR F  50     -20.178  16.373 -17.417  1.00 94.35           O  \nATOM   6873  CZ  TYR F  50     -19.237  15.903 -16.528  1.00 94.35           C  \nATOM   6874  N   GLY F  51     -15.159  15.183 -10.892  1.00 96.76           N  \nATOM   6875  CA  GLY F  51     -14.693  14.534  -9.677  1.00 96.76           C  \nATOM   6876  C   GLY F  51     -15.744  13.651  -9.031  1.00 96.76           C  \nATOM   6877  O   GLY F  51     -16.865  13.543  -9.532  1.00 96.76           O  \nATOM   6878  N   ILE F  52     -15.345  13.002  -7.966  1.00 98.33           N  \nATOM   6879  CA  ILE F  52     -16.276  12.147  -7.238  1.00 98.33           C  \nATOM   6880  C   ILE F  52     -15.966  12.199  -5.744  1.00 98.33           C  \nATOM   6881  CB  ILE F  52     -16.220  10.689  -7.747  1.00 98.33           C  \nATOM   6882  O   ILE F  52     -14.802  12.299  -5.349  1.00 98.33           O  \nATOM   6883  CG1 ILE F  52     -17.337   9.857  -7.108  1.00 98.33           C  \nATOM   6884  CG2 ILE F  52     -14.847  10.071  -7.465  1.00 98.33           C  \nATOM   6885  CD1 ILE F  52     -17.565   8.508  -7.776  1.00 98.33           C  \nATOM   6886  N   VAL F  53     -17.001  12.231  -4.930  1.00 98.57           N  \nATOM   6887  CA  VAL F  53     -16.899  12.066  -3.483  1.00 98.57           C  \nATOM   6888  C   VAL F  53     -17.800  10.921  -3.029  1.00 98.57           C  \nATOM   6889  CB  VAL F  53     -17.271  13.366  -2.736  1.00 98.57           C  \nATOM   6890  O   VAL F  53     -18.956  10.828  -3.449  1.00 98.57           O  \nATOM   6891  CG1 VAL F  53     -18.722  13.752  -3.013  1.00 98.57           C  \nATOM   6892  CG2 VAL F  53     -17.035  13.205  -1.236  1.00 98.57           C  \nATOM   6893  N   THR F  54     -17.268  10.026  -2.214  1.00 98.17           N  \nATOM   6894  CA  THR F  54     -17.997   8.824  -1.825  1.00 98.17           C  \nATOM   6895  C   THR F  54     -18.168   8.762  -0.310  1.00 98.17           C  \nATOM   6896  CB  THR F  54     -17.279   7.553  -2.316  1.00 98.17           C  \nATOM   6897  O   THR F  54     -17.550   9.538   0.422  1.00 98.17           O  \nATOM   6898  CG2 THR F  54     -16.931   7.654  -3.797  1.00 98.17           C  \nATOM   6899  OG1 THR F  54     -16.072   7.372  -1.564  1.00 98.17           O  \nATOM   6900  N   GLU F  55     -19.003   7.824   0.124  1.00 98.02           N  \nATOM   6901  CA  GLU F  55     -19.187   7.587   1.552  1.00 98.02           C  \nATOM   6902  C   GLU F  55     -17.880   7.159   2.214  1.00 98.02           C  \nATOM   6903  CB  GLU F  55     -20.268   6.529   1.787  1.00 98.02           C  \nATOM   6904  O   GLU F  55     -17.621   7.504   3.369  1.00 98.02           O  \nATOM   6905  CG  GLU F  55     -19.952   5.179   1.159  1.00 98.02           C  \nATOM   6906  CD  GLU F  55     -21.066   4.159   1.339  1.00 98.02           C  \nATOM   6907  OE1 GLU F  55     -20.868   2.975   0.982  1.00 98.02           O  \nATOM   6908  OE2 GLU F  55     -22.145   4.547   1.839  1.00 98.02           O  \nATOM   6909  N   THR F  56     -17.100   6.479   1.487  1.00 98.06           N  \nATOM   6910  CA  THR F  56     -15.816   6.041   2.023  1.00 98.06           C  \nATOM   6911  C   THR F  56     -14.894   7.234   2.259  1.00 98.06           C  \nATOM   6912  CB  THR F  56     -15.129   5.037   1.079  1.00 98.06           C  \nATOM   6913  O   THR F  56     -14.211   7.305   3.283  1.00 98.06           O  \nATOM   6914  CG2 THR F  56     -13.823   4.524   1.677  1.00 98.06           C  \nATOM   6915  OG1 THR F  56     -16.007   3.927   0.852  1.00 98.06           O  \nATOM   6916  N   ASP F  57     -14.865   8.200   1.351  1.00 98.43           N  \nATOM   6917  CA  ASP F  57     -14.082   9.416   1.551  1.00 98.43           C  \nATOM   6918  C   ASP F  57     -14.487  10.124   2.842  1.00 98.43           C  \nATOM   6919  CB  ASP F  57     -14.244  10.361   0.359  1.00 98.43           C  \nATOM   6920  O   ASP F  57     -13.631  10.497   3.647  1.00 98.43           O  \nATOM   6921  CG  ASP F  57     -13.623   9.819  -0.916  1.00 98.43           C  \nATOM   6922  OD1 ASP F  57     -12.538   9.202  -0.852  1.00 98.43           O  \nATOM   6923  OD2 ASP F  57     -14.223  10.014  -1.996  1.00 98.43           O  \nATOM   6924  N   ILE F  58     -15.744  10.232   3.037  1.00 98.76           N  \nATOM   6925  CA  ILE F  58     -16.283  10.971   4.173  1.00 98.76           C  \nATOM   6926  C   ILE F  58     -15.942  10.243   5.472  1.00 98.76           C  \nATOM   6927  CB  ILE F  58     -17.812  11.160   4.050  1.00 98.76           C  \nATOM   6928  O   ILE F  58     -15.447  10.854   6.421  1.00 98.76           O  \nATOM   6929  CG1 ILE F  58     -18.142  12.098   2.883  1.00 98.76           C  \nATOM   6930  CG2 ILE F  58     -18.398  11.691   5.362  1.00 98.76           C  \nATOM   6931  CD1 ILE F  58     -19.626  12.180   2.555  1.00 98.76           C  \nATOM   6932  N   VAL F  59     -16.134   8.989   5.479  1.00 98.59           N  \nATOM   6933  CA  VAL F  59     -15.913   8.229   6.705  1.00 98.59           C  \nATOM   6934  C   VAL F  59     -14.418   8.156   7.006  1.00 98.59           C  \nATOM   6935  CB  VAL F  59     -16.507   6.807   6.607  1.00 98.59           C  \nATOM   6936  O   VAL F  59     -13.993   8.399   8.138  1.00 98.59           O  \nATOM   6937  CG1 VAL F  59     -16.061   5.952   7.791  1.00 98.59           C  \nATOM   6938  CG2 VAL F  59     -18.032   6.869   6.534  1.00 98.59           C  \nATOM   6939  N   TYR F  60     -13.603   7.951   6.006  1.00 98.25           N  \nATOM   6940  CA  TYR F  60     -12.167   7.767   6.184  1.00 98.25           C  \nATOM   6941  C   TYR F  60     -11.487   9.086   6.533  1.00 98.25           C  \nATOM   6942  CB  TYR F  60     -11.539   7.174   4.919  1.00 98.25           C  \nATOM   6943  O   TYR F  60     -10.524   9.110   7.303  1.00 98.25           O  \nATOM   6944  CG  TYR F  60     -11.649   5.671   4.834  1.00 98.25           C  \nATOM   6945  CD1 TYR F  60     -12.562   4.974   5.622  1.00 98.25           C  \nATOM   6946  CD2 TYR F  60     -10.840   4.945   3.966  1.00 98.25           C  \nATOM   6947  CE1 TYR F  60     -12.666   3.589   5.548  1.00 98.25           C  \nATOM   6948  CE2 TYR F  60     -10.935   3.560   3.885  1.00 98.25           C  \nATOM   6949  OH  TYR F  60     -11.948   1.520   4.601  1.00 98.25           O  \nATOM   6950  CZ  TYR F  60     -11.850   2.892   4.678  1.00 98.25           C  \nATOM   6951  N   LYS F  61     -11.945  10.157   5.956  1.00 98.16           N  \nATOM   6952  CA  LYS F  61     -11.171  11.394   6.015  1.00 98.16           C  \nATOM   6953  C   LYS F  61     -11.813  12.399   6.967  1.00 98.16           C  \nATOM   6954  CB  LYS F  61     -11.031  12.007   4.621  1.00 98.16           C  \nATOM   6955  O   LYS F  61     -11.167  13.358   7.394  1.00 98.16           O  \nATOM   6956  CG  LYS F  61     -10.267  11.135   3.636  1.00 98.16           C  \nATOM   6957  CD  LYS F  61     -10.194  11.781   2.258  1.00 98.16           C  \nATOM   6958  CE  LYS F  61      -9.533  10.860   1.242  1.00 98.16           C  \nATOM   6959  NZ  LYS F  61      -9.486  11.477  -0.117  1.00 98.16           N  \nATOM   6960  N   VAL F  62     -13.060  12.214   7.300  1.00 98.37           N  \nATOM   6961  CA  VAL F  62     -13.742  13.205   8.126  1.00 98.37           C  \nATOM   6962  C   VAL F  62     -14.170  12.569   9.447  1.00 98.37           C  \nATOM   6963  CB  VAL F  62     -14.969  13.801   7.401  1.00 98.37           C  \nATOM   6964  O   VAL F  62     -13.595  12.861  10.499  1.00 98.37           O  \nATOM   6965  CG1 VAL F  62     -15.589  14.928   8.225  1.00 98.37           C  \nATOM   6966  CG2 VAL F  62     -14.574  14.305   6.014  1.00 98.37           C  \nATOM   6967  N   ALA F  63     -15.048  11.592   9.420  1.00 97.88           N  \nATOM   6968  CA  ALA F  63     -15.577  10.972  10.632  1.00 97.88           C  \nATOM   6969  C   ALA F  63     -14.462  10.327  11.450  1.00 97.88           C  \nATOM   6970  CB  ALA F  63     -16.642   9.936  10.279  1.00 97.88           C  \nATOM   6971  O   ALA F  63     -14.416  10.475  12.674  1.00 97.88           O  \nATOM   6972  N   ALA F  64     -13.587   9.746  10.815  1.00 97.26           N  \nATOM   6973  CA  ALA F  64     -12.517   8.995  11.465  1.00 97.26           C  \nATOM   6974  C   ALA F  64     -11.593   9.924  12.249  1.00 97.26           C  \nATOM   6975  CB  ALA F  64     -11.718   8.204  10.432  1.00 97.26           C  \nATOM   6976  O   ALA F  64     -10.885   9.483  13.157  1.00 97.26           O  \nATOM   6977  N   PHE F  65     -11.618  11.167  11.866  1.00 96.02           N  \nATOM   6978  CA  PHE F  65     -10.668  12.091  12.473  1.00 96.02           C  \nATOM   6979  C   PHE F  65     -11.393  13.159  13.283  1.00 96.02           C  \nATOM   6980  CB  PHE F  65      -9.795  12.749  11.400  1.00 96.02           C  \nATOM   6981  O   PHE F  65     -10.765  14.084  13.804  1.00 96.02           O  \nATOM   6982  CG  PHE F  65      -8.915  11.781  10.656  1.00 96.02           C  \nATOM   6983  CD1 PHE F  65      -7.715  11.347  11.206  1.00 96.02           C  \nATOM   6984  CD2 PHE F  65      -9.288  11.305   9.405  1.00 96.02           C  \nATOM   6985  CE1 PHE F  65      -6.898  10.451  10.520  1.00 96.02           C  \nATOM   6986  CE2 PHE F  65      -8.477  10.410   8.714  1.00 96.02           C  \nATOM   6987  CZ  PHE F  65      -7.282   9.985   9.272  1.00 96.02           C  \nATOM   6988  N   GLY F  66     -12.648  13.072  13.305  1.00 93.53           N  \nATOM   6989  CA  GLY F  66     -13.443  13.996  14.099  1.00 93.53           C  \nATOM   6990  C   GLY F  66     -13.504  15.391  13.507  1.00 93.53           C  \nATOM   6991  O   GLY F  66     -13.689  16.371  14.232  1.00 93.53           O  \nATOM   6992  N   HIS F  67     -13.246  15.587  12.305  1.00 96.27           N  \nATOM   6993  CA  HIS F  67     -13.381  16.886  11.655  1.00 96.27           C  \nATOM   6994  C   HIS F  67     -14.843  17.312  11.576  1.00 96.27           C  \nATOM   6995  CB  HIS F  67     -12.768  16.851  10.254  1.00 96.27           C  \nATOM   6996  O   HIS F  67     -15.741  16.467  11.557  1.00 96.27           O  \nATOM   6997  CG  HIS F  67     -11.290  16.621  10.252  1.00 96.27           C  \nATOM   6998  CD2 HIS F  67     -10.521  15.784   9.517  1.00 96.27           C  \nATOM   6999  ND1 HIS F  67     -10.430  17.301  11.088  1.00 96.27           N  \nATOM   7000  CE1 HIS F  67      -9.193  16.890  10.864  1.00 96.27           C  \nATOM   7001  NE2 HIS F  67      -9.221  15.970   9.916  1.00 96.27           N  \nATOM   7002  N   ASP F  68     -15.064  18.579  11.467  1.00 96.13           N  \nATOM   7003  CA  ASP F  68     -16.424  19.102  11.382  1.00 96.13           C  \nATOM   7004  C   ASP F  68     -16.907  19.143   9.934  1.00 96.13           C  \nATOM   7005  CB  ASP F  68     -16.501  20.500  12.001  1.00 96.13           C  \nATOM   7006  O   ASP F  68     -16.415  19.939   9.132  1.00 96.13           O  \nATOM   7007  CG  ASP F  68     -17.918  21.044  12.061  1.00 96.13           C  \nATOM   7008  OD1 ASP F  68     -18.846  20.388  11.542  1.00 96.13           O  \nATOM   7009  OD2 ASP F  68     -18.106  22.141  12.630  1.00 96.13           O  \nATOM   7010  N   PRO F  69     -17.884  18.345   9.642  1.00 98.07           N  \nATOM   7011  CA  PRO F  69     -18.375  18.307   8.262  1.00 98.07           C  \nATOM   7012  C   PRO F  69     -19.004  19.627   7.823  1.00 98.07           C  \nATOM   7013  CB  PRO F  69     -19.419  17.188   8.291  1.00 98.07           C  \nATOM   7014  O   PRO F  69     -19.193  19.857   6.626  1.00 98.07           O  \nATOM   7015  CG  PRO F  69     -19.099  16.398   9.519  1.00 98.07           C  \nATOM   7016  CD  PRO F  69     -18.515  17.326  10.545  1.00 98.07           C  \nATOM   7017  N   LYS F  70     -19.327  20.447   8.715  1.00 97.02           N  \nATOM   7018  CA  LYS F  70     -19.950  21.723   8.379  1.00 97.02           C  \nATOM   7019  C   LYS F  70     -18.905  22.750   7.951  1.00 97.02           C  \nATOM   7020  CB  LYS F  70     -20.753  22.257   9.566  1.00 97.02           C  \nATOM   7021  O   LYS F  70     -19.239  23.763   7.334  1.00 97.02           O  \nATOM   7022  CG  LYS F  70     -21.946  21.392   9.946  1.00 97.02           C  \nATOM   7023  CD  LYS F  70     -22.640  21.915  11.197  1.00 97.02           C  \nATOM   7024  CE  LYS F  70     -23.722  20.958  11.678  1.00 97.02           C  \nATOM   7025  NZ  LYS F  70     -24.302  21.389  12.985  1.00 97.02           N  \nATOM   7026  N   THR F  71     -17.657  22.505   8.262  1.00 96.26           N  \nATOM   7027  CA  THR F  71     -16.575  23.417   7.909  1.00 96.26           C  \nATOM   7028  C   THR F  71     -15.722  22.837   6.785  1.00 96.26           C  \nATOM   7029  CB  THR F  71     -15.683  23.724   9.127  1.00 96.26           C  \nATOM   7030  O   THR F  71     -15.299  23.562   5.882  1.00 96.26           O  \nATOM   7031  CG2 THR F  71     -16.501  24.308  10.274  1.00 96.26           C  \nATOM   7032  OG1 THR F  71     -15.057  22.513   9.569  1.00 96.26           O  \nATOM   7033  N   MET F  72     -15.541  21.577   6.802  1.00 97.92           N  \nATOM   7034  CA  MET F  72     -14.744  20.940   5.758  1.00 97.92           C  \nATOM   7035  C   MET F  72     -15.508  20.899   4.439  1.00 97.92           C  \nATOM   7036  CB  MET F  72     -14.343  19.524   6.175  1.00 97.92           C  \nATOM   7037  O   MET F  72     -16.728  20.724   4.429  1.00 97.92           O  \nATOM   7038  CG  MET F  72     -13.228  18.929   5.330  1.00 97.92           C  \nATOM   7039  SD  MET F  72     -12.596  17.348   6.014  1.00 97.92           S  \nATOM   7040  CE  MET F  72     -11.636  17.969   7.423  1.00 97.92           C  \nATOM   7041  N   ARG F  73     -14.778  21.060   3.371  1.00 98.47           N  \nATOM   7042  CA  ARG F  73     -15.411  21.174   2.061  1.00 98.47           C  \nATOM   7043  C   ARG F  73     -15.149  19.932   1.216  1.00 98.47           C  \nATOM   7044  CB  ARG F  73     -14.910  22.421   1.329  1.00 98.47           C  \nATOM   7045  O   ARG F  73     -14.178  19.210   1.449  1.00 98.47           O  \nATOM   7046  CG  ARG F  73     -15.080  23.709   2.119  1.00 98.47           C  \nATOM   7047  CD  ARG F  73     -16.546  24.093   2.263  1.00 98.47           C  \nATOM   7048  NE  ARG F  73     -16.703  25.386   2.923  1.00 98.47           N  \nATOM   7049  NH1 ARG F  73     -18.546  26.027   1.688  1.00 98.47           N  \nATOM   7050  NH2 ARG F  73     -17.699  27.421   3.298  1.00 98.47           N  \nATOM   7051  CZ  ARG F  73     -17.649  26.275   2.635  1.00 98.47           C  \nATOM   7052  N   VAL F  74     -15.946  19.710   0.217  1.00 98.72           N  \nATOM   7053  CA  VAL F  74     -15.897  18.542  -0.656  1.00 98.72           C  \nATOM   7054  C   VAL F  74     -14.573  18.520  -1.416  1.00 98.72           C  \nATOM   7055  CB  VAL F  74     -17.082  18.525  -1.648  1.00 98.72           C  \nATOM   7056  O   VAL F  74     -13.950  17.465  -1.559  1.00 98.72           O  \nATOM   7057  CG1 VAL F  74     -16.824  17.532  -2.780  1.00 98.72           C  \nATOM   7058  CG2 VAL F  74     -18.382  18.186  -0.921  1.00 98.72           C  \nATOM   7059  N   TYR F  75     -14.065  19.649  -1.824  1.00 97.54           N  \nATOM   7060  CA  TYR F  75     -12.848  19.681  -2.627  1.00 97.54           C  \nATOM   7061  C   TYR F  75     -11.642  19.234  -1.808  1.00 97.54           C  \nATOM   7062  CB  TYR F  75     -12.607  21.088  -3.183  1.00 97.54           C  \nATOM   7063  O   TYR F  75     -10.590  18.913  -2.366  1.00 97.54           O  \nATOM   7064  CG  TYR F  75     -12.196  22.093  -2.135  1.00 97.54           C  \nATOM   7065  CD1 TYR F  75     -13.103  23.033  -1.650  1.00 97.54           C  \nATOM   7066  CD2 TYR F  75     -10.901  22.106  -1.629  1.00 97.54           C  \nATOM   7067  CE1 TYR F  75     -12.728  23.963  -0.685  1.00 97.54           C  \nATOM   7068  CE2 TYR F  75     -10.515  23.031  -0.665  1.00 97.54           C  \nATOM   7069  OH  TYR F  75     -11.057  24.872   0.755  1.00 97.54           O  \nATOM   7070  CZ  TYR F  75     -11.434  23.954  -0.200  1.00 97.54           C  \nATOM   7071  N   GLU F  76     -11.763  19.193  -0.492  1.00 97.89           N  \nATOM   7072  CA  GLU F  76     -10.663  18.786   0.378  1.00 97.89           C  \nATOM   7073  C   GLU F  76     -10.551  17.266   0.452  1.00 97.89           C  \nATOM   7074  CB  GLU F  76     -10.843  19.370   1.781  1.00 97.89           C  \nATOM   7075  O   GLU F  76      -9.501  16.734   0.817  1.00 97.89           O  \nATOM   7076  CG  GLU F  76     -10.793  20.890   1.827  1.00 97.89           C  \nATOM   7077  CD  GLU F  76     -11.099  21.460   3.203  1.00 97.89           C  \nATOM   7078  OE1 GLU F  76     -12.246  21.905   3.434  1.00 97.89           O  \nATOM   7079  OE2 GLU F  76     -10.185  21.461   4.057  1.00 97.89           O  \nATOM   7080  N   ILE F  77     -11.609  16.517   0.096  1.00 98.29           N  \nATOM   7081  CA  ILE F  77     -11.578  15.078   0.332  1.00 98.29           C  \nATOM   7082  C   ILE F  77     -11.939  14.336  -0.953  1.00 98.29           C  \nATOM   7083  CB  ILE F  77     -12.538  14.672   1.473  1.00 98.29           C  \nATOM   7084  O   ILE F  77     -11.817  13.111  -1.025  1.00 98.29           O  \nATOM   7085  CG1 ILE F  77     -13.982  15.039   1.112  1.00 98.29           C  \nATOM   7086  CG2 ILE F  77     -12.118  15.329   2.791  1.00 98.29           C  \nATOM   7087  CD1 ILE F  77     -15.031  14.305   1.935  1.00 98.29           C  \nATOM   7088  N   MET F  78     -12.348  14.973  -1.988  1.00 98.21           N  \nATOM   7089  CA  MET F  78     -12.820  14.370  -3.231  1.00 98.21           C  \nATOM   7090  C   MET F  78     -11.654  13.832  -4.052  1.00 98.21           C  \nATOM   7091  CB  MET F  78     -13.616  15.385  -4.053  1.00 98.21           C  \nATOM   7092  O   MET F  78     -10.499  14.181  -3.801  1.00 98.21           O  \nATOM   7093  CG  MET F  78     -12.770  16.516  -4.614  1.00 98.21           C  \nATOM   7094  SD  MET F  78     -13.755  17.706  -5.605  1.00 98.21           S  \nATOM   7095  CE  MET F  78     -12.440  18.827  -6.159  1.00 98.21           C  \nATOM   7096  N   ALA F  79     -11.983  12.957  -5.027  1.00 97.74           N  \nATOM   7097  CA  ALA F  79     -11.068  12.587  -6.104  1.00 97.74           C  \nATOM   7098  C   ALA F  79     -11.373  13.372  -7.377  1.00 97.74           C  \nATOM   7099  CB  ALA F  79     -11.144  11.087  -6.376  1.00 97.74           C  \nATOM   7100  O   ALA F  79     -12.447  13.219  -7.965  1.00 97.74           O  \nATOM   7101  N   LYS F  80     -10.493  14.203  -7.750  1.00 96.58           N  \nATOM   7102  CA  LYS F  80     -10.620  15.004  -8.964  1.00 96.58           C  \nATOM   7103  C   LYS F  80      -9.258  15.242  -9.611  1.00 96.58           C  \nATOM   7104  CB  LYS F  80     -11.294  16.342  -8.657  1.00 96.58           C  \nATOM   7105  O   LYS F  80      -8.368  15.834  -8.996  1.00 96.58           O  \nATOM   7106  CG  LYS F  80     -11.615  17.172  -9.891  1.00 96.58           C  \nATOM   7107  CD  LYS F  80     -12.509  18.357  -9.551  1.00 96.58           C  \nATOM   7108  CE  LYS F  80     -12.883  19.152 -10.795  1.00 96.58           C  \nATOM   7109  NZ  LYS F  80     -13.944  20.162 -10.509  1.00 96.58           N  \nATOM   7110  N   PRO F  81      -8.992  14.843 -10.858  1.00 95.46           N  \nATOM   7111  CA  PRO F  81      -9.896  14.064 -11.707  1.00 95.46           C  \nATOM   7112  C   PRO F  81     -10.113  12.643 -11.191  1.00 95.46           C  \nATOM   7113  CB  PRO F  81      -9.182  14.050 -13.062  1.00 95.46           C  \nATOM   7114  O   PRO F  81      -9.392  12.190 -10.299  1.00 95.46           O  \nATOM   7115  CG  PRO F  81      -7.730  14.168 -12.729  1.00 95.46           C  \nATOM   7116  CD  PRO F  81      -7.593  14.968 -11.466  1.00 95.46           C  \nATOM   7117  N   CYS F  82     -11.141  12.014 -11.616  1.00 95.01           N  \nATOM   7118  CA  CYS F  82     -11.409  10.625 -11.260  1.00 95.01           C  \nATOM   7119  C   CYS F  82     -11.288   9.717 -12.477  1.00 95.01           C  \nATOM   7120  CB  CYS F  82     -12.803  10.488 -10.647  1.00 95.01           C  \nATOM   7121  O   CYS F  82     -11.303  10.191 -13.615  1.00 95.01           O  \nATOM   7122  SG  CYS F  82     -14.131  11.077 -11.720  1.00 95.01           S  \nATOM   7123  N   VAL F  83     -11.033   8.450 -12.206  1.00 96.00           N  \nATOM   7124  CA  VAL F  83     -11.061   7.445 -13.264  1.00 96.00           C  \nATOM   7125  C   VAL F  83     -12.461   7.368 -13.868  1.00 96.00           C  \nATOM   7126  CB  VAL F  83     -10.629   6.057 -12.740  1.00 96.00           C  \nATOM   7127  O   VAL F  83     -13.459   7.393 -13.143  1.00 96.00           O  \nATOM   7128  CG1 VAL F  83     -10.759   5.002 -13.836  1.00 96.00           C  \nATOM   7129  CG2 VAL F  83      -9.197   6.109 -12.210  1.00 96.00           C  \nATOM   7130  N   VAL F  84     -12.487   7.325 -15.133  1.00 95.06           N  \nATOM   7131  CA  VAL F  84     -13.778   7.285 -15.812  1.00 95.06           C  \nATOM   7132  C   VAL F  84     -13.904   5.987 -16.607  1.00 95.06           C  \nATOM   7133  CB  VAL F  84     -13.967   8.502 -16.744  1.00 95.06           C  \nATOM   7134  O   VAL F  84     -12.898   5.362 -16.949  1.00 95.06           O  \nATOM   7135  CG1 VAL F  84     -13.909   9.806 -15.950  1.00 95.06           C  \nATOM   7136  CG2 VAL F  84     -12.911   8.498 -17.848  1.00 95.06           C  \nATOM   7137  N   VAL F  85     -15.180   5.582 -16.874  1.00 95.53           N  \nATOM   7138  CA  VAL F  85     -15.457   4.343 -17.593  1.00 95.53           C  \nATOM   7139  C   VAL F  85     -16.140   4.658 -18.922  1.00 95.53           C  \nATOM   7140  CB  VAL F  85     -16.335   3.386 -16.757  1.00 95.53           C  \nATOM   7141  O   VAL F  85     -17.066   5.471 -18.974  1.00 95.53           O  \nATOM   7142  CG1 VAL F  85     -16.807   2.206 -17.605  1.00 95.53           C  \nATOM   7143  CG2 VAL F  85     -15.568   2.893 -15.531  1.00 95.53           C  \nATOM   7144  N   ASN F  86     -15.699   4.030 -19.998  1.00 93.44           N  \nATOM   7145  CA  ASN F  86     -16.382   4.067 -21.286  1.00 93.44           C  \nATOM   7146  C   ASN F  86     -17.701   3.301 -21.243  1.00 93.44           C  \nATOM   7147  CB  ASN F  86     -15.480   3.509 -22.389  1.00 93.44           C  \nATOM   7148  O   ASN F  86     -17.750   2.166 -20.765  1.00 93.44           O  \nATOM   7149  CG  ASN F  86     -16.098   3.633 -23.768  1.00 93.44           C  \nATOM   7150  ND2 ASN F  86     -15.275   3.954 -24.759  1.00 93.44           N  \nATOM   7151  OD1 ASN F  86     -17.305   3.444 -23.940  1.00 93.44           O  \nATOM   7152  N   PRO F  87     -18.764   3.935 -21.772  1.00 94.89           N  \nATOM   7153  CA  PRO F  87     -20.069   3.275 -21.703  1.00 94.89           C  \nATOM   7154  C   PRO F  87     -20.100   1.949 -22.460  1.00 94.89           C  \nATOM   7155  CB  PRO F  87     -21.014   4.293 -22.346  1.00 94.89           C  \nATOM   7156  O   PRO F  87     -20.885   1.059 -22.123  1.00 94.89           O  \nATOM   7157  CG  PRO F  87     -20.127   5.172 -23.166  1.00 94.89           C  \nATOM   7158  CD  PRO F  87     -18.782   5.247 -22.501  1.00 94.89           C  \nATOM   7159  N   GLU F  88     -19.240   1.741 -23.359  1.00 93.30           N  \nATOM   7160  CA  GLU F  88     -19.257   0.540 -24.189  1.00 93.30           C  \nATOM   7161  C   GLU F  88     -18.306  -0.521 -23.645  1.00 93.30           C  \nATOM   7162  CB  GLU F  88     -18.892   0.881 -25.636  1.00 93.30           C  \nATOM   7163  O   GLU F  88     -18.177  -1.602 -24.223  1.00 93.30           O  \nATOM   7164  CG  GLU F  88     -19.874   1.827 -26.312  1.00 93.30           C  \nATOM   7165  CD  GLU F  88     -19.429   2.266 -27.697  1.00 93.30           C  \nATOM   7166  OE1 GLU F  88     -20.212   2.942 -28.401  1.00 93.30           O  \nATOM   7167  OE2 GLU F  88     -18.287   1.929 -28.083  1.00 93.30           O  \nATOM   7168  N   LEU F  89     -17.649  -0.190 -22.575  1.00 93.34           N  \nATOM   7169  CA  LEU F  89     -16.726  -1.149 -21.979  1.00 93.34           C  \nATOM   7170  C   LEU F  89     -17.479  -2.348 -21.411  1.00 93.34           C  \nATOM   7171  CB  LEU F  89     -15.898  -0.483 -20.877  1.00 93.34           C  \nATOM   7172  O   LEU F  89     -18.512  -2.185 -20.759  1.00 93.34           O  \nATOM   7173  CG  LEU F  89     -14.678  -1.261 -20.382  1.00 93.34           C  \nATOM   7174  CD1 LEU F  89     -13.674  -1.449 -21.515  1.00 93.34           C  \nATOM   7175  CD2 LEU F  89     -14.030  -0.545 -19.201  1.00 93.34           C  \nATOM   7176  N   GLY F  90     -16.924  -3.574 -21.624  1.00 92.94           N  \nATOM   7177  CA  GLY F  90     -17.522  -4.772 -21.054  1.00 92.94           C  \nATOM   7178  C   GLY F  90     -17.454  -4.810 -19.539  1.00 92.94           C  \nATOM   7179  O   GLY F  90     -16.486  -4.333 -18.944  1.00 92.94           O  \nATOM   7180  N   VAL F  91     -18.383  -5.438 -18.967  1.00 94.89           N  \nATOM   7181  CA  VAL F  91     -18.557  -5.431 -17.518  1.00 94.89           C  \nATOM   7182  C   VAL F  91     -17.364  -6.111 -16.850  1.00 94.89           C  \nATOM   7183  CB  VAL F  91     -19.871  -6.129 -17.101  1.00 94.89           C  \nATOM   7184  O   VAL F  91     -16.918  -5.687 -15.781  1.00 94.89           O  \nATOM   7185  CG1 VAL F  91     -19.934  -6.300 -15.584  1.00 94.89           C  \nATOM   7186  CG2 VAL F  91     -21.078  -5.339 -17.603  1.00 94.89           C  \nATOM   7187  N   GLU F  92     -16.877  -7.150 -17.421  1.00 94.38           N  \nATOM   7188  CA  GLU F  92     -15.725  -7.829 -16.837  1.00 94.38           C  \nATOM   7189  C   GLU F  92     -14.497  -6.922 -16.828  1.00 94.38           C  \nATOM   7190  CB  GLU F  92     -15.419  -9.121 -17.598  1.00 94.38           C  \nATOM   7191  O   GLU F  92     -13.707  -6.948 -15.882  1.00 94.38           O  \nATOM   7192  CG  GLU F  92     -16.497 -10.186 -17.460  1.00 94.38           C  \nATOM   7193  CD  GLU F  92     -17.651 -10.001 -18.433  1.00 94.38           C  \nATOM   7194  OE1 GLU F  92     -18.577 -10.844 -18.443  1.00 94.38           O  \nATOM   7195  OE2 GLU F  92     -17.628  -9.006 -19.191  1.00 94.38           O  \nATOM   7196  N   TYR F  93     -14.373  -6.180 -17.847  1.00 95.26           N  \nATOM   7197  CA  TYR F  93     -13.258  -5.241 -17.917  1.00 95.26           C  \nATOM   7198  C   TYR F  93     -13.441  -4.103 -16.921  1.00 95.26           C  \nATOM   7199  CB  TYR F  93     -13.118  -4.678 -19.334  1.00 95.26           C  \nATOM   7200  O   TYR F  93     -12.464  -3.586 -16.374  1.00 95.26           O  \nATOM   7201  CG  TYR F  93     -12.484  -5.640 -20.310  1.00 95.26           C  \nATOM   7202  CD1 TYR F  93     -11.229  -6.191 -20.060  1.00 95.26           C  \nATOM   7203  CD2 TYR F  93     -13.138  -5.998 -21.484  1.00 95.26           C  \nATOM   7204  CE1 TYR F  93     -10.641  -7.076 -20.957  1.00 95.26           C  \nATOM   7205  CE2 TYR F  93     -12.558  -6.883 -22.388  1.00 95.26           C  \nATOM   7206  OH  TYR F  93     -10.734  -8.292 -23.008  1.00 95.26           O  \nATOM   7207  CZ  TYR F  93     -11.312  -7.416 -22.116  1.00 95.26           C  \nATOM   7208  N   VAL F  94     -14.697  -3.678 -16.680  1.00 96.91           N  \nATOM   7209  CA  VAL F  94     -14.948  -2.708 -15.619  1.00 96.91           C  \nATOM   7210  C   VAL F  94     -14.495  -3.280 -14.278  1.00 96.91           C  \nATOM   7211  CB  VAL F  94     -16.440  -2.312 -15.553  1.00 96.91           C  \nATOM   7212  O   VAL F  94     -13.792  -2.611 -13.516  1.00 96.91           O  \nATOM   7213  CG1 VAL F  94     -16.679  -1.286 -14.447  1.00 96.91           C  \nATOM   7214  CG2 VAL F  94     -16.907  -1.767 -16.902  1.00 96.91           C  \nATOM   7215  N   ALA F  95     -14.886  -4.528 -14.072  1.00 98.04           N  \nATOM   7216  CA  ALA F  95     -14.462  -5.201 -12.847  1.00 98.04           C  \nATOM   7217  C   ALA F  95     -12.941  -5.218 -12.729  1.00 98.04           C  \nATOM   7218  CB  ALA F  95     -15.011  -6.625 -12.806  1.00 98.04           C  \nATOM   7219  O   ALA F  95     -12.392  -4.931 -11.662  1.00 98.04           O  \nATOM   7220  N   ARG F  96     -12.274  -5.544 -13.765  1.00 97.83           N  \nATOM   7221  CA  ARG F  96     -10.816  -5.613 -13.769  1.00 97.83           C  \nATOM   7222  C   ARG F  96     -10.202  -4.237 -13.537  1.00 97.83           C  \nATOM   7223  CB  ARG F  96     -10.309  -6.197 -15.089  1.00 97.83           C  \nATOM   7224  O   ARG F  96      -9.210  -4.107 -12.817  1.00 97.83           O  \nATOM   7225  CG  ARG F  96      -8.820  -6.506 -15.094  1.00 97.83           C  \nATOM   7226  CD  ARG F  96      -8.410  -7.286 -16.336  1.00 97.83           C  \nATOM   7227  NE  ARG F  96      -6.958  -7.354 -16.475  1.00 97.83           N  \nATOM   7228  NH1 ARG F  96      -6.739  -9.363 -15.354  1.00 97.83           N  \nATOM   7229  NH2 ARG F  96      -4.886  -8.302 -16.187  1.00 97.83           N  \nATOM   7230  CZ  ARG F  96      -6.198  -8.339 -16.005  1.00 97.83           C  \nATOM   7231  N   LEU F  97     -10.794  -3.208 -14.133  1.00 97.63           N  \nATOM   7232  CA  LEU F  97     -10.335  -1.841 -13.912  1.00 97.63           C  \nATOM   7233  C   LEU F  97     -10.445  -1.462 -12.439  1.00 97.63           C  \nATOM   7234  CB  LEU F  97     -11.143  -0.860 -14.765  1.00 97.63           C  \nATOM   7235  O   LEU F  97      -9.510  -0.898 -11.867  1.00 97.63           O  \nATOM   7236  CG  LEU F  97     -10.722   0.609 -14.692  1.00 97.63           C  \nATOM   7237  CD1 LEU F  97      -9.300   0.780 -15.215  1.00 97.63           C  \nATOM   7238  CD2 LEU F  97     -11.695   1.484 -15.475  1.00 97.63           C  \nATOM   7239  N   PHE F  98     -11.554  -1.792 -11.821  1.00 98.08           N  \nATOM   7240  CA  PHE F  98     -11.749  -1.529 -10.400  1.00 98.08           C  \nATOM   7241  C   PHE F  98     -10.711  -2.271  -9.566  1.00 98.08           C  \nATOM   7242  CB  PHE F  98     -13.160  -1.936  -9.965  1.00 98.08           C  \nATOM   7243  O   PHE F  98     -10.112  -1.694  -8.655  1.00 98.08           O  \nATOM   7244  CG  PHE F  98     -14.231  -0.976 -10.406  1.00 98.08           C  \nATOM   7245  CD1 PHE F  98     -13.898   0.218 -11.036  1.00 98.08           C  \nATOM   7246  CD2 PHE F  98     -15.572  -1.266 -10.191  1.00 98.08           C  \nATOM   7247  CE1 PHE F  98     -14.888   1.108 -11.445  1.00 98.08           C  \nATOM   7248  CE2 PHE F  98     -16.567  -0.381 -10.598  1.00 98.08           C  \nATOM   7249  CZ  PHE F  98     -16.222   0.806 -11.223  1.00 98.08           C  \nATOM   7250  N   ALA F  99     -10.502  -3.510  -9.944  1.00 97.80           N  \nATOM   7251  CA  ALA F  99      -9.529  -4.314  -9.209  1.00 97.80           C  \nATOM   7252  C   ALA F  99      -8.127  -3.722  -9.327  1.00 97.80           C  \nATOM   7253  CB  ALA F  99      -9.539  -5.755  -9.714  1.00 97.80           C  \nATOM   7254  O   ALA F  99      -7.399  -3.633  -8.335  1.00 97.80           O  \nATOM   7255  N   GLN F 100      -7.732  -3.274 -10.443  1.00 96.17           N  \nATOM   7256  CA  GLN F 100      -6.394  -2.757 -10.706  1.00 96.17           C  \nATOM   7257  C   GLN F 100      -6.188  -1.399 -10.041  1.00 96.17           C  \nATOM   7258  CB  GLN F 100      -6.147  -2.646 -12.212  1.00 96.17           C  \nATOM   7259  O   GLN F 100      -5.099  -1.105  -9.543  1.00 96.17           O  \nATOM   7260  CG  GLN F 100      -5.951  -3.989 -12.903  1.00 96.17           C  \nATOM   7261  CD  GLN F 100      -5.897  -3.868 -14.414  1.00 96.17           C  \nATOM   7262  NE2 GLN F 100      -5.466  -4.935 -15.079  1.00 96.17           N  \nATOM   7263  OE1 GLN F 100      -6.240  -2.825 -14.980  1.00 96.17           O  \nATOM   7264  N   THR F 101      -7.220  -0.585 -10.020  1.00 96.59           N  \nATOM   7265  CA  THR F 101      -7.096   0.777  -9.513  1.00 96.59           C  \nATOM   7266  C   THR F 101      -7.566   0.860  -8.063  1.00 96.59           C  \nATOM   7267  CB  THR F 101      -7.900   1.769 -10.373  1.00 96.59           C  \nATOM   7268  O   THR F 101      -7.420   1.899  -7.416  1.00 96.59           O  \nATOM   7269  CG2 THR F 101      -7.380   1.801 -11.807  1.00 96.59           C  \nATOM   7270  OG1 THR F 101      -9.277   1.374 -10.385  1.00 96.59           O  \nATOM   7271  N   ARG F 102      -8.260  -0.156  -7.564  1.00 95.73           N  \nATOM   7272  CA  ARG F 102      -8.751  -0.270  -6.195  1.00 95.73           C  \nATOM   7273  C   ARG F 102      -9.839   0.762  -5.916  1.00 95.73           C  \nATOM   7274  CB  ARG F 102      -7.604  -0.105  -5.196  1.00 95.73           C  \nATOM   7275  O   ARG F 102      -9.879   1.352  -4.835  1.00 95.73           O  \nATOM   7276  CG  ARG F 102      -6.547  -1.194  -5.286  1.00 95.73           C  \nATOM   7277  CD  ARG F 102      -7.063  -2.525  -4.758  1.00 95.73           C  \nATOM   7278  NE  ARG F 102      -6.001  -3.524  -4.684  1.00 95.73           N  \nATOM   7279  NH1 ARG F 102      -7.192  -4.994  -3.358  1.00 95.73           N  \nATOM   7280  NH2 ARG F 102      -5.059  -5.511  -4.020  1.00 95.73           N  \nATOM   7281  CZ  ARG F 102      -6.086  -4.674  -4.021  1.00 95.73           C  \nATOM   7282  N   ILE F 103     -10.595   1.032  -6.957  1.00 96.45           N  \nATOM   7283  CA  ILE F 103     -11.788   1.850  -6.767  1.00 96.45           C  \nATOM   7284  C   ILE F 103     -13.034   0.971  -6.854  1.00 96.45           C  \nATOM   7285  CB  ILE F 103     -11.863   2.991  -7.806  1.00 96.45           C  \nATOM   7286  O   ILE F 103     -12.957  -0.187  -7.270  1.00 96.45           O  \nATOM   7287  CG1 ILE F 103     -11.993   2.417  -9.222  1.00 96.45           C  \nATOM   7288  CG2 ILE F 103     -10.639   3.904  -7.695  1.00 96.45           C  \nATOM   7289  CD1 ILE F 103     -12.236   3.467 -10.296  1.00 96.45           C  \nATOM   7290  N   ARG F 104     -14.165   1.512  -6.436  1.00 96.56           N  \nATOM   7291  CA  ARG F 104     -15.369   0.690  -6.360  1.00 96.56           C  \nATOM   7292  C   ARG F 104     -16.502   1.303  -7.175  1.00 96.56           C  \nATOM   7293  CB  ARG F 104     -15.806   0.511  -4.905  1.00 96.56           C  \nATOM   7294  O   ARG F 104     -17.560   0.690  -7.336  1.00 96.56           O  \nATOM   7295  CG  ARG F 104     -14.812  -0.263  -4.053  1.00 96.56           C  \nATOM   7296  CD  ARG F 104     -15.121  -0.133  -2.568  1.00 96.56           C  \nATOM   7297  NE  ARG F 104     -14.071  -0.726  -1.745  1.00 96.56           N  \nATOM   7298  NH1 ARG F 104     -15.061  -0.189   0.272  1.00 96.56           N  \nATOM   7299  NH2 ARG F 104     -13.060  -1.306   0.233  1.00 96.56           N  \nATOM   7300  CZ  ARG F 104     -14.066  -0.739  -0.415  1.00 96.56           C  \nATOM   7301  N   ARG F 105     -16.270   2.512  -7.562  1.00 97.29           N  \nATOM   7302  CA  ARG F 105     -17.254   3.207  -8.385  1.00 97.29           C  \nATOM   7303  C   ARG F 105     -16.588   4.264  -9.260  1.00 97.29           C  \nATOM   7304  CB  ARG F 105     -18.329   3.853  -7.508  1.00 97.29           C  \nATOM   7305  O   ARG F 105     -15.528   4.789  -8.910  1.00 97.29           O  \nATOM   7306  CG  ARG F 105     -17.808   4.972  -6.620  1.00 97.29           C  \nATOM   7307  CD  ARG F 105     -18.853   5.422  -5.609  1.00 97.29           C  \nATOM   7308  NE  ARG F 105     -19.354   4.302  -4.817  1.00 97.29           N  \nATOM   7309  NH1 ARG F 105     -21.494   5.145  -4.599  1.00 97.29           N  \nATOM   7310  NH2 ARG F 105     -20.947   3.134  -3.645  1.00 97.29           N  \nATOM   7311  CZ  ARG F 105     -20.597   4.196  -4.356  1.00 97.29           C  \nATOM   7312  N   ALA F 106     -17.228   4.536 -10.361  1.00 97.58           N  \nATOM   7313  CA  ALA F 106     -16.705   5.515 -11.311  1.00 97.58           C  \nATOM   7314  C   ALA F 106     -17.820   6.075 -12.190  1.00 97.58           C  \nATOM   7315  CB  ALA F 106     -15.615   4.887 -12.175  1.00 97.58           C  \nATOM   7316  O   ALA F 106     -18.810   5.390 -12.460  1.00 97.58           O  \nATOM   7317  N   PRO F 107     -17.644   7.333 -12.582  1.00 97.27           N  \nATOM   7318  CA  PRO F 107     -18.602   7.860 -13.556  1.00 97.27           C  \nATOM   7319  C   PRO F 107     -18.438   7.240 -14.941  1.00 97.27           C  \nATOM   7320  CB  PRO F 107     -18.285   9.357 -13.587  1.00 97.27           C  \nATOM   7321  O   PRO F 107     -17.322   6.893 -15.338  1.00 97.27           O  \nATOM   7322  CG  PRO F 107     -16.861   9.456 -13.143  1.00 97.27           C  \nATOM   7323  CD  PRO F 107     -16.559   8.289 -12.247  1.00 97.27           C  \nATOM   7324  N   VAL F 108     -19.542   7.026 -15.609  1.00 96.88           N  \nATOM   7325  CA  VAL F 108     -19.575   6.609 -17.007  1.00 96.88           C  \nATOM   7326  C   VAL F 108     -19.759   7.829 -17.907  1.00 96.88           C  \nATOM   7327  CB  VAL F 108     -20.698   5.581 -17.266  1.00 96.88           C  \nATOM   7328  O   VAL F 108     -20.799   8.489 -17.862  1.00 96.88           O  \nATOM   7329  CG1 VAL F 108     -20.660   5.093 -18.714  1.00 96.88           C  \nATOM   7330  CG2 VAL F 108     -20.578   4.404 -16.300  1.00 96.88           C  \nATOM   7331  N   ILE F 109     -18.773   8.108 -18.683  1.00 92.76           N  \nATOM   7332  CA  ILE F 109     -18.770   9.336 -19.471  1.00 92.76           C  \nATOM   7333  C   ILE F 109     -18.584   9.000 -20.948  1.00 92.76           C  \nATOM   7334  CB  ILE F 109     -17.665  10.307 -18.999  1.00 92.76           C  \nATOM   7335  O   ILE F 109     -17.741   8.172 -21.302  1.00 92.76           O  \nATOM   7336  CG1 ILE F 109     -17.899  10.714 -17.539  1.00 92.76           C  \nATOM   7337  CG2 ILE F 109     -17.605  11.539 -19.907  1.00 92.76           C  \nATOM   7338  CD1 ILE F 109     -16.809  11.607 -16.963  1.00 92.76           C  \nATOM   7339  N   GLN F 110     -19.360   9.571 -21.866  1.00 90.14           N  \nATOM   7340  CA  GLN F 110     -19.216   9.535 -23.317  1.00 90.14           C  \nATOM   7341  C   GLN F 110     -18.854  10.912 -23.867  1.00 90.14           C  \nATOM   7342  CB  GLN F 110     -20.502   9.030 -23.973  1.00 90.14           C  \nATOM   7343  O   GLN F 110     -19.685  11.822 -23.875  1.00 90.14           O  \nATOM   7344  CG  GLN F 110     -20.378   8.800 -25.473  1.00 90.14           C  \nATOM   7345  CD  GLN F 110     -21.559   8.042 -26.050  1.00 90.14           C  \nATOM   7346  NE2 GLN F 110     -21.286   7.144 -26.990  1.00 90.14           N  \nATOM   7347  OE1 GLN F 110     -22.708   8.263 -25.654  1.00 90.14           O  \nATOM   7348  N   GLY F 111     -17.597  11.045 -24.300  1.00 83.24           N  \nATOM   7349  CA  GLY F 111     -17.148  12.384 -24.648  1.00 83.24           C  \nATOM   7350  C   GLY F 111     -17.087  13.322 -23.458  1.00 83.24           C  \nATOM   7351  O   GLY F 111     -16.298  13.110 -22.534  1.00 83.24           O  \nATOM   7352  N   LYS F 112     -18.044  14.300 -23.533  1.00 83.31           N  \nATOM   7353  CA  LYS F 112     -18.099  15.258 -22.432  1.00 83.31           C  \nATOM   7354  C   LYS F 112     -19.385  15.095 -21.626  1.00 83.31           C  \nATOM   7355  CB  LYS F 112     -17.989  16.689 -22.959  1.00 83.31           C  \nATOM   7356  O   LYS F 112     -19.638  15.856 -20.690  1.00 83.31           O  \nATOM   7357  CG  LYS F 112     -16.631  17.026 -23.557  1.00 83.31           C  \nATOM   7358  CD  LYS F 112     -16.514  18.510 -23.878  1.00 83.31           C  \nATOM   7359  CE  LYS F 112     -15.132  18.860 -24.412  1.00 83.31           C  \nATOM   7360  NZ  LYS F 112     -14.999  20.322 -24.690  1.00 83.31           N  \nATOM   7361  N   THR F 113     -20.048  14.047 -21.931  1.00 89.76           N  \nATOM   7362  CA  THR F 113     -21.365  13.901 -21.321  1.00 89.76           C  \nATOM   7363  C   THR F 113     -21.343  12.828 -20.237  1.00 89.76           C  \nATOM   7364  CB  THR F 113     -22.432  13.549 -22.374  1.00 89.76           C  \nATOM   7365  O   THR F 113     -20.878  11.710 -20.471  1.00 89.76           O  \nATOM   7366  CG2 THR F 113     -23.829  13.543 -21.760  1.00 89.76           C  \nATOM   7367  OG1 THR F 113     -22.391  14.517 -23.430  1.00 89.76           O  \nATOM   7368  N   LEU F 114     -21.796  13.205 -19.130  1.00 94.01           N  \nATOM   7369  CA  LEU F 114     -21.957  12.264 -18.027  1.00 94.01           C  \nATOM   7370  C   LEU F 114     -23.214  11.421 -18.211  1.00 94.01           C  \nATOM   7371  CB  LEU F 114     -22.019  13.009 -16.691  1.00 94.01           C  \nATOM   7372  O   LEU F 114     -24.324  11.955 -18.255  1.00 94.01           O  \nATOM   7373  CG  LEU F 114     -22.250  12.151 -15.446  1.00 94.01           C  \nATOM   7374  CD1 LEU F 114     -21.058  11.231 -15.208  1.00 94.01           C  \nATOM   7375  CD2 LEU F 114     -22.502  13.033 -14.228  1.00 94.01           C  \nATOM   7376  N   LEU F 115     -23.137  10.087 -18.262  1.00 95.79           N  \nATOM   7377  CA  LEU F 115     -24.271   9.204 -18.513  1.00 95.79           C  \nATOM   7378  C   LEU F 115     -24.774   8.583 -17.215  1.00 95.79           C  \nATOM   7379  CB  LEU F 115     -23.883   8.103 -19.503  1.00 95.79           C  \nATOM   7380  O   LEU F 115     -25.968   8.309 -17.076  1.00 95.79           O  \nATOM   7381  CG  LEU F 115     -23.495   8.561 -20.910  1.00 95.79           C  \nATOM   7382  CD1 LEU F 115     -23.234   7.356 -21.807  1.00 95.79           C  \nATOM   7383  CD2 LEU F 115     -24.584   9.449 -21.503  1.00 95.79           C  \nATOM   7384  N   GLY F 116     -23.838   8.303 -16.294  1.00 96.43           N  \nATOM   7385  CA  GLY F 116     -24.192   7.644 -15.048  1.00 96.43           C  \nATOM   7386  C   GLY F 116     -22.988   7.306 -14.188  1.00 96.43           C  \nATOM   7387  O   GLY F 116     -21.930   7.923 -14.324  1.00 96.43           O  \nATOM   7388  N   ILE F 117     -23.217   6.433 -13.161  1.00 97.18           N  \nATOM   7389  CA  ILE F 117     -22.190   5.898 -12.274  1.00 97.18           C  \nATOM   7390  C   ILE F 117     -22.268   4.373 -12.254  1.00 97.18           C  \nATOM   7391  CB  ILE F 117     -22.332   6.460 -10.841  1.00 97.18           C  \nATOM   7392  O   ILE F 117     -23.360   3.801 -12.230  1.00 97.18           O  \nATOM   7393  CG1 ILE F 117     -22.040   7.965 -10.827  1.00 97.18           C  \nATOM   7394  CG2 ILE F 117     -21.408   5.713  -9.875  1.00 97.18           C  \nATOM   7395  CD1 ILE F 117     -22.257   8.625  -9.472  1.00 97.18           C  \nATOM   7396  N   ILE F 118     -21.220   3.728 -12.353  1.00 97.85           N  \nATOM   7397  CA  ILE F 118     -21.174   2.275 -12.241  1.00 97.85           C  \nATOM   7398  C   ILE F 118     -20.364   1.878 -11.008  1.00 97.85           C  \nATOM   7399  CB  ILE F 118     -20.571   1.629 -13.509  1.00 97.85           C  \nATOM   7400  O   ILE F 118     -19.333   2.487 -10.713  1.00 97.85           O  \nATOM   7401  CG1 ILE F 118     -20.654   0.101 -13.420  1.00 97.85           C  \nATOM   7402  CG2 ILE F 118     -19.125   2.088 -13.713  1.00 97.85           C  \nATOM   7403  CD1 ILE F 118     -20.442  -0.608 -14.751  1.00 97.85           C  \nATOM   7404  N   SER F 119     -20.808   0.896 -10.277  1.00 97.67           N  \nATOM   7405  CA  SER F 119     -20.152   0.467  -9.046  1.00 97.67           C  \nATOM   7406  C   SER F 119     -20.009  -1.050  -8.996  1.00 97.67           C  \nATOM   7407  CB  SER F 119     -20.934   0.954  -7.825  1.00 97.67           C  \nATOM   7408  O   SER F 119     -20.562  -1.759  -9.839  1.00 97.67           O  \nATOM   7409  OG  SER F 119     -22.159   0.252  -7.699  1.00 97.67           O  \nATOM   7410  N   VAL F 120     -19.266  -1.544  -8.030  1.00 97.81           N  \nATOM   7411  CA  VAL F 120     -19.145  -2.977  -7.785  1.00 97.81           C  \nATOM   7412  C   VAL F 120     -20.523  -3.573  -7.506  1.00 97.81           C  \nATOM   7413  CB  VAL F 120     -18.188  -3.272  -6.608  1.00 97.81           C  \nATOM   7414  O   VAL F 120     -20.793  -4.722  -7.862  1.00 97.81           O  \nATOM   7415  CG1 VAL F 120     -16.751  -2.907  -6.975  1.00 97.81           C  \nATOM   7416  CG2 VAL F 120     -18.633  -2.516  -5.357  1.00 97.81           C  \nATOM   7417  N   SER F 121     -21.431  -2.804  -6.922  1.00 97.03           N  \nATOM   7418  CA  SER F 121     -22.790  -3.265  -6.655  1.00 97.03           C  \nATOM   7419  C   SER F 121     -23.560  -3.494  -7.951  1.00 97.03           C  \nATOM   7420  CB  SER F 121     -23.536  -2.258  -5.780  1.00 97.03           C  \nATOM   7421  O   SER F 121     -24.279  -4.487  -8.085  1.00 97.03           O  \nATOM   7422  OG  SER F 121     -22.918  -2.140  -4.510  1.00 97.03           O  \nATOM   7423  N   ASP F 122     -23.351  -2.579  -8.824  1.00 97.40           N  \nATOM   7424  CA  ASP F 122     -24.004  -2.751 -10.118  1.00 97.40           C  \nATOM   7425  C   ASP F 122     -23.536  -4.033 -10.804  1.00 97.40           C  \nATOM   7426  CB  ASP F 122     -23.736  -1.545 -11.020  1.00 97.40           C  \nATOM   7427  O   ASP F 122     -24.347  -4.779 -11.357  1.00 97.40           O  \nATOM   7428  CG  ASP F 122     -24.428  -0.281 -10.540  1.00 97.40           C  \nATOM   7429  OD1 ASP F 122     -25.598  -0.353 -10.104  1.00 97.40           O  \nATOM   7430  OD2 ASP F 122     -23.799   0.798 -10.600  1.00 97.40           O  \nATOM   7431  N   ILE F 123     -22.255  -4.277 -10.752  1.00 98.06           N  \nATOM   7432  CA  ILE F 123     -21.702  -5.473 -11.377  1.00 98.06           C  \nATOM   7433  C   ILE F 123     -22.274  -6.719 -10.704  1.00 98.06           C  \nATOM   7434  CB  ILE F 123     -20.158  -5.486 -11.305  1.00 98.06           C  \nATOM   7435  O   ILE F 123     -22.713  -7.652 -11.381  1.00 98.06           O  \nATOM   7436  CG1 ILE F 123     -19.575  -4.335 -12.132  1.00 98.06           C  \nATOM   7437  CG2 ILE F 123     -19.607  -6.835 -11.777  1.00 98.06           C  \nATOM   7438  CD1 ILE F 123     -18.073  -4.153 -11.966  1.00 98.06           C  \nATOM   7439  N   LEU F 124     -22.349  -6.702  -9.431  1.00 98.23           N  \nATOM   7440  CA  LEU F 124     -22.816  -7.868  -8.689  1.00 98.23           C  \nATOM   7441  C   LEU F 124     -24.301  -8.111  -8.937  1.00 98.23           C  \nATOM   7442  CB  LEU F 124     -22.560  -7.686  -7.190  1.00 98.23           C  \nATOM   7443  O   LEU F 124     -24.709  -9.238  -9.228  1.00 98.23           O  \nATOM   7444  CG  LEU F 124     -22.849  -8.898  -6.302  1.00 98.23           C  \nATOM   7445  CD1 LEU F 124     -21.662  -9.855  -6.310  1.00 98.23           C  \nATOM   7446  CD2 LEU F 124     -23.174  -8.453  -4.880  1.00 98.23           C  \nATOM   7447  N   PHE F 125     -25.110  -7.116  -8.891  1.00 97.62           N  \nATOM   7448  CA  PHE F 125     -26.560  -7.272  -8.847  1.00 97.62           C  \nATOM   7449  C   PHE F 125     -27.144  -7.297 -10.254  1.00 97.62           C  \nATOM   7450  CB  PHE F 125     -27.198  -6.141  -8.034  1.00 97.62           C  \nATOM   7451  O   PHE F 125     -28.204  -7.885 -10.481  1.00 97.62           O  \nATOM   7452  CG  PHE F 125     -27.033  -6.295  -6.546  1.00 97.62           C  \nATOM   7453  CD1 PHE F 125     -27.793  -7.221  -5.841  1.00 97.62           C  \nATOM   7454  CD2 PHE F 125     -26.118  -5.515  -5.853  1.00 97.62           C  \nATOM   7455  CE1 PHE F 125     -27.642  -7.366  -4.464  1.00 97.62           C  \nATOM   7456  CE2 PHE F 125     -25.962  -5.654  -4.476  1.00 97.62           C  \nATOM   7457  CZ  PHE F 125     -26.726  -6.579  -3.784  1.00 97.62           C  \nATOM   7458  N   LYS F 126     -26.461  -6.669 -11.206  1.00 97.41           N  \nATOM   7459  CA  LYS F 126     -27.143  -6.438 -12.475  1.00 97.41           C  \nATOM   7460  C   LYS F 126     -26.425  -7.142 -13.622  1.00 97.41           C  \nATOM   7461  CB  LYS F 126     -27.247  -4.939 -12.764  1.00 97.41           C  \nATOM   7462  O   LYS F 126     -26.991  -7.314 -14.704  1.00 97.41           O  \nATOM   7463  CG  LYS F 126     -27.982  -4.151 -11.689  1.00 97.41           C  \nATOM   7464  CD  LYS F 126     -28.017  -2.663 -12.012  1.00 97.41           C  \nATOM   7465  CE  LYS F 126     -28.577  -1.851 -10.852  1.00 97.41           C  \nATOM   7466  NZ  LYS F 126     -28.444  -0.383 -11.089  1.00 97.41           N  \nATOM   7467  N   SER F 127     -25.224  -7.589 -13.439  1.00 96.44           N  \nATOM   7468  CA  SER F 127     -24.476  -8.161 -14.554  1.00 96.44           C  \nATOM   7469  C   SER F 127     -24.731  -9.660 -14.679  1.00 96.44           C  \nATOM   7470  CB  SER F 127     -22.979  -7.902 -14.385  1.00 96.44           C  \nATOM   7471  O   SER F 127     -25.509 -10.229 -13.911  1.00 96.44           O  \nATOM   7472  OG  SER F 127     -22.397  -8.862 -13.520  1.00 96.44           O  \nATOM   7473  N   ASP F 128     -24.103 -10.233 -15.699  1.00 95.85           N  \nATOM   7474  CA  ASP F 128     -24.327 -11.647 -15.981  1.00 95.85           C  \nATOM   7475  C   ASP F 128     -23.036 -12.449 -15.827  1.00 95.85           C  \nATOM   7476  CB  ASP F 128     -24.894 -11.830 -17.391  1.00 95.85           C  \nATOM   7477  O   ASP F 128     -22.849 -13.469 -16.493  1.00 95.85           O  \nATOM   7478  CG  ASP F 128     -23.980 -11.283 -18.473  1.00 95.85           C  \nATOM   7479  OD1 ASP F 128     -22.922 -10.705 -18.144  1.00 95.85           O  \nATOM   7480  OD2 ASP F 128     -24.323 -11.428 -19.667  1.00 95.85           O  \nATOM   7481  N   PHE F 129     -22.164 -12.010 -14.982  1.00 95.42           N  \nATOM   7482  CA  PHE F 129     -20.865 -12.662 -14.871  1.00 95.42           C  \nATOM   7483  C   PHE F 129     -21.005 -14.044 -14.244  1.00 95.42           C  \nATOM   7484  CB  PHE F 129     -19.901 -11.806 -14.044  1.00 95.42           C  \nATOM   7485  O   PHE F 129     -20.133 -14.899 -14.411  1.00 95.42           O  \nATOM   7486  CG  PHE F 129     -20.202 -11.805 -12.569  1.00 95.42           C  \nATOM   7487  CD1 PHE F 129     -21.109 -10.901 -12.031  1.00 95.42           C  \nATOM   7488  CD2 PHE F 129     -19.576 -12.709 -11.721  1.00 95.42           C  \nATOM   7489  CE1 PHE F 129     -21.390 -10.898 -10.667  1.00 95.42           C  \nATOM   7490  CE2 PHE F 129     -19.851 -12.713 -10.356  1.00 95.42           C  \nATOM   7491  CZ  PHE F 129     -20.758 -11.806  -9.831  1.00 95.42           C  \nATOM   7492  N   VAL F 130     -22.078 -14.262 -13.472  1.00 96.77           N  \nATOM   7493  CA  VAL F 130     -22.312 -15.581 -12.894  1.00 96.77           C  \nATOM   7494  C   VAL F 130     -22.787 -16.544 -13.978  1.00 96.77           C  \nATOM   7495  CB  VAL F 130     -23.343 -15.521 -11.744  1.00 96.77           C  \nATOM   7496  O   VAL F 130     -22.287 -17.667 -14.083  1.00 96.77           O  \nATOM   7497  CG1 VAL F 130     -23.701 -16.927 -11.267  1.00 96.77           C  \nATOM   7498  CG2 VAL F 130     -22.803 -14.682 -10.587  1.00 96.77           C  \nATOM   7499  N   GLU F 131     -23.700 -16.072 -14.820  1.00 94.52           N  \nATOM   7500  CA  GLU F 131     -24.301 -16.903 -15.859  1.00 94.52           C  \nATOM   7501  C   GLU F 131     -23.336 -17.114 -17.023  1.00 94.52           C  \nATOM   7502  CB  GLU F 131     -25.603 -16.275 -16.363  1.00 94.52           C  \nATOM   7503  O   GLU F 131     -23.288 -18.199 -17.607  1.00 94.52           O  \nATOM   7504  CG  GLU F 131     -26.699 -16.202 -15.310  1.00 94.52           C  \nATOM   7505  CD  GLU F 131     -26.519 -15.049 -14.335  1.00 94.52           C  \nATOM   7506  OE1 GLU F 131     -27.168 -15.052 -13.265  1.00 94.52           O  \nATOM   7507  OE2 GLU F 131     -25.723 -14.135 -14.645  1.00 94.52           O  \nATOM   7508  N   LYS F 132     -22.616 -16.085 -17.321  1.00 92.47           N  \nATOM   7509  CA  LYS F 132     -21.713 -16.138 -18.467  1.00 92.47           C  \nATOM   7510  C   LYS F 132     -20.302 -15.706 -18.076  1.00 92.47           C  \nATOM   7511  CB  LYS F 132     -22.235 -15.258 -19.603  1.00 92.47           C  \nATOM   7512  O   LYS F 132     -19.796 -14.699 -18.575  1.00 92.47           O  \nATOM   7513  CG  LYS F 132     -23.615 -15.653 -20.107  1.00 92.47           C  \nATOM   7514  CD  LYS F 132     -24.081 -14.739 -21.233  1.00 92.47           C  \nATOM   7515  CE  LYS F 132     -25.497 -15.078 -21.680  1.00 92.47           C  \nATOM   7516  NZ  LYS F 132     -25.995 -14.123 -22.715  1.00 92.47           N  \nATOM   7517  N   PRO F 133     -19.709 -16.615 -17.356  1.00 91.05           N  \nATOM   7518  CA  PRO F 133     -18.318 -16.267 -17.055  1.00 91.05           C  \nATOM   7519  C   PRO F 133     -17.436 -16.230 -18.301  1.00 91.05           C  \nATOM   7520  CB  PRO F 133     -17.873 -17.382 -16.105  1.00 91.05           C  \nATOM   7521  O   PRO F 133     -17.611 -17.046 -19.210  1.00 91.05           O  \nATOM   7522  CG  PRO F 133     -18.786 -18.527 -16.406  1.00 91.05           C  \nATOM   7523  CD  PRO F 133     -20.071 -17.981 -16.957  1.00 91.05           C  \nATOM   7524  N   LYS F 134     -16.501 -15.205 -18.353  1.00 86.55           N  \nATOM   7525  CA  LYS F 134     -15.705 -15.023 -19.563  1.00 86.55           C  \nATOM   7526  C   LYS F 134     -14.212 -15.061 -19.249  1.00 86.55           C  \nATOM   7527  CB  LYS F 134     -16.063 -13.703 -20.247  1.00 86.55           C  \nATOM   7528  O   LYS F 134     -13.743 -14.363 -18.348  1.00 86.55           O  \nATOM   7529  CG  LYS F 134     -17.485 -13.650 -20.786  1.00 86.55           C  \nATOM   7530  CD  LYS F 134     -17.782 -12.312 -21.450  1.00 86.55           C  \nATOM   7531  CE  LYS F 134     -19.232 -12.222 -21.904  1.00 86.55           C  \nATOM   7532  NZ  LYS F 134     -19.546 -10.887 -22.495  1.00 86.55           N  \nATOM   7533  N   ARG F 135     -13.486 -15.910 -19.991  1.00 88.72           N  \nATOM   7534  CA  ARG F 135     -12.028 -15.858 -19.987  1.00 88.72           C  \nATOM   7535  C   ARG F 135     -11.521 -14.669 -20.796  1.00 88.72           C  \nATOM   7536  CB  ARG F 135     -11.441 -17.158 -20.543  1.00 88.72           C  \nATOM   7537  O   ARG F 135     -11.561 -14.686 -22.028  1.00 88.72           O  \nATOM   7538  CG  ARG F 135      -9.966 -17.350 -20.230  1.00 88.72           C  \nATOM   7539  CD  ARG F 135      -9.516 -18.780 -20.495  1.00 88.72           C  \nATOM   7540  NE  ARG F 135      -8.127 -18.990 -20.097  1.00 88.72           N  \nATOM   7541  NH1 ARG F 135      -8.196 -21.289 -20.311  1.00 88.72           N  \nATOM   7542  NH2 ARG F 135      -6.263 -20.254 -19.645  1.00 88.72           N  \nATOM   7543  CZ  ARG F 135      -7.532 -20.177 -20.019  1.00 88.72           C  \nATOM   7544  N   LEU F 136     -11.017 -13.730 -20.261  1.00 87.69           N  \nATOM   7545  CA  LEU F 136     -10.805 -12.402 -20.826  1.00 87.69           C  \nATOM   7546  C   LEU F 136      -9.791 -12.450 -21.964  1.00 87.69           C  \nATOM   7547  CB  LEU F 136     -10.329 -11.428 -19.745  1.00 87.69           C  \nATOM   7548  O   LEU F 136      -9.991 -11.823 -23.007  1.00 87.69           O  \nATOM   7549  CG  LEU F 136     -11.338 -11.089 -18.647  1.00 87.69           C  \nATOM   7550  CD1 LEU F 136     -10.681 -10.234 -17.568  1.00 87.69           C  \nATOM   7551  CD2 LEU F 136     -12.551 -10.376 -19.236  1.00 87.69           C  \nATOM   7552  N   PHE F 137      -8.759 -13.276 -21.918  1.00 92.99           N  \nATOM   7553  CA  PHE F 137      -7.691 -13.226 -22.911  1.00 92.99           C  \nATOM   7554  C   PHE F 137      -7.611 -14.536 -23.685  1.00 92.99           C  \nATOM   7555  CB  PHE F 137      -6.346 -12.929 -22.241  1.00 92.99           C  \nATOM   7556  O   PHE F 137      -6.523 -14.972 -24.066  1.00 92.99           O  \nATOM   7557  CG  PHE F 137      -6.347 -11.677 -21.405  1.00 92.99           C  \nATOM   7558  CD1 PHE F 137      -6.776 -10.469 -21.940  1.00 92.99           C  \nATOM   7559  CD2 PHE F 137      -5.920 -11.710 -20.084  1.00 92.99           C  \nATOM   7560  CE1 PHE F 137      -6.778  -9.308 -21.169  1.00 92.99           C  \nATOM   7561  CE2 PHE F 137      -5.920 -10.554 -19.308  1.00 92.99           C  \nATOM   7562  CZ  PHE F 137      -6.348  -9.355 -19.852  1.00 92.99           C  \nATOM   7563  N   ILE F 138      -8.732 -15.164 -23.875  1.00 93.02           N  \nATOM   7564  CA  ILE F 138      -8.777 -16.484 -24.493  1.00 93.02           C  \nATOM   7565  C   ILE F 138      -8.276 -16.398 -25.933  1.00 93.02           C  \nATOM   7566  CB  ILE F 138     -10.204 -17.077 -24.456  1.00 93.02           C  \nATOM   7567  O   ILE F 138      -7.603 -17.310 -26.418  1.00 93.02           O  \nATOM   7568  CG1 ILE F 138     -10.190 -18.534 -24.933  1.00 93.02           C  \nATOM   7569  CG2 ILE F 138     -11.161 -16.233 -25.303  1.00 93.02           C  \nATOM   7570  CD1 ILE F 138      -9.528 -19.498 -23.958  1.00 93.02           C  \nATOM   7571  N   GLU F 139      -8.583 -15.278 -26.603  1.00 93.26           N  \nATOM   7572  CA  GLU F 139      -8.125 -15.133 -27.982  1.00 93.26           C  \nATOM   7573  C   GLU F 139      -6.604 -15.024 -28.049  1.00 93.26           C  \nATOM   7574  CB  GLU F 139      -8.770 -13.910 -28.638  1.00 93.26           C  \nATOM   7575  O   GLU F 139      -5.970 -15.630 -28.915  1.00 93.26           O  \nATOM   7576  CG  GLU F 139     -10.280 -14.020 -28.792  1.00 93.26           C  \nATOM   7577  CD  GLU F 139     -10.710 -15.182 -29.672  1.00 93.26           C  \nATOM   7578  OE1 GLU F 139     -11.801 -15.751 -29.437  1.00 93.26           O  \nATOM   7579  OE2 GLU F 139      -9.950 -15.528 -30.604  1.00 93.26           O  \nATOM   7580  N   ASP F 140      -6.023 -14.282 -27.176  1.00 95.13           N  \nATOM   7581  CA  ASP F 140      -4.568 -14.198 -27.100  1.00 95.13           C  \nATOM   7582  C   ASP F 140      -3.955 -15.556 -26.767  1.00 95.13           C  \nATOM   7583  CB  ASP F 140      -4.145 -13.160 -26.057  1.00 95.13           C  \nATOM   7584  O   ASP F 140      -2.940 -15.944 -27.348  1.00 95.13           O  \nATOM   7585  CG  ASP F 140      -4.389 -11.731 -26.509  1.00 95.13           C  \nATOM   7586  OD1 ASP F 140      -4.186 -11.426 -27.704  1.00 95.13           O  \nATOM   7587  OD2 ASP F 140      -4.787 -10.902 -25.662  1.00 95.13           O  \nATOM   7588  N   GLU F 141      -4.553 -16.225 -25.896  1.00 96.32           N  \nATOM   7589  CA  GLU F 141      -4.062 -17.540 -25.495  1.00 96.32           C  \nATOM   7590  C   GLU F 141      -4.078 -18.517 -26.667  1.00 96.32           C  \nATOM   7591  CB  GLU F 141      -4.895 -18.094 -24.336  1.00 96.32           C  \nATOM   7592  O   GLU F 141      -3.152 -19.314 -26.830  1.00 96.32           O  \nATOM   7593  CG  GLU F 141      -4.729 -17.323 -23.035  1.00 96.32           C  \nATOM   7594  CD  GLU F 141      -5.618 -17.839 -21.914  1.00 96.32           C  \nATOM   7595  OE1 GLU F 141      -6.214 -17.014 -21.184  1.00 96.32           O  \nATOM   7596  OE2 GLU F 141      -5.720 -19.077 -21.765  1.00 96.32           O  \nATOM   7597  N   ILE F 142      -5.176 -18.471 -27.433  1.00 96.46           N  \nATOM   7598  CA  ILE F 142      -5.303 -19.343 -28.596  1.00 96.46           C  \nATOM   7599  C   ILE F 142      -4.187 -19.039 -29.593  1.00 96.46           C  \nATOM   7600  CB  ILE F 142      -6.683 -19.185 -29.272  1.00 96.46           C  \nATOM   7601  O   ILE F 142      -3.525 -19.953 -30.090  1.00 96.46           O  \nATOM   7602  CG1 ILE F 142      -7.783 -19.781 -28.386  1.00 96.46           C  \nATOM   7603  CG2 ILE F 142      -6.683 -19.838 -30.658  1.00 96.46           C  \nATOM   7604  CD1 ILE F 142      -9.196 -19.418 -28.825  1.00 96.46           C  \nATOM   7605  N   GLU F 143      -3.978 -17.793 -29.831  1.00 96.44           N  \nATOM   7606  CA  GLU F 143      -2.926 -17.406 -30.766  1.00 96.44           C  \nATOM   7607  C   GLU F 143      -1.552 -17.837 -30.260  1.00 96.44           C  \nATOM   7608  CB  GLU F 143      -2.948 -15.894 -31.004  1.00 96.44           C  \nATOM   7609  O   GLU F 143      -0.745 -18.372 -31.023  1.00 96.44           O  \nATOM   7610  CG  GLU F 143      -2.053 -15.438 -32.148  1.00 96.44           C  \nATOM   7611  CD  GLU F 143      -2.211 -13.963 -32.482  1.00 96.44           C  \nATOM   7612  OE1 GLU F 143      -1.477 -13.458 -33.361  1.00 96.44           O  \nATOM   7613  OE2 GLU F 143      -3.074 -13.307 -31.858  1.00 96.44           O  \nATOM   7614  N   ALA F 144      -1.307 -17.650 -29.055  1.00 96.51           N  \nATOM   7615  CA  ALA F 144      -0.044 -18.076 -28.460  1.00 96.51           C  \nATOM   7616  C   ALA F 144       0.124 -19.590 -28.555  1.00 96.51           C  \nATOM   7617  CB  ALA F 144       0.036 -17.626 -27.003  1.00 96.51           C  \nATOM   7618  O   ALA F 144       1.197 -20.081 -28.914  1.00 96.51           O  \nATOM   7619  N   ALA F 145      -0.933 -20.291 -28.245  1.00 97.01           N  \nATOM   7620  CA  ALA F 145      -0.891 -21.750 -28.305  1.00 97.01           C  \nATOM   7621  C   ALA F 145      -0.634 -22.232 -29.730  1.00 97.01           C  \nATOM   7622  CB  ALA F 145      -2.194 -22.342 -27.773  1.00 97.01           C  \nATOM   7623  O   ALA F 145       0.070 -23.223 -29.939  1.00 97.01           O  \nATOM   7624  N   ARG F 146      -1.221 -21.574 -30.702  1.00 97.69           N  \nATOM   7625  CA  ARG F 146      -0.987 -21.912 -32.102  1.00 97.69           C  \nATOM   7626  C   ARG F 146       0.484 -21.743 -32.467  1.00 97.69           C  \nATOM   7627  CB  ARG F 146      -1.857 -21.048 -33.017  1.00 97.69           C  \nATOM   7628  O   ARG F 146       1.073 -22.612 -33.114  1.00 97.69           O  \nATOM   7629  CG  ARG F 146      -3.306 -21.501 -33.098  1.00 97.69           C  \nATOM   7630  CD  ARG F 146      -4.136 -20.583 -33.983  1.00 97.69           C  \nATOM   7631  NE  ARG F 146      -5.515 -21.048 -34.100  1.00 97.69           N  \nATOM   7632  NH1 ARG F 146      -6.284 -19.147 -35.164  1.00 97.69           N  \nATOM   7633  NH2 ARG F 146      -7.722 -20.875 -34.712  1.00 97.69           N  \nATOM   7634  CZ  ARG F 146      -6.504 -20.356 -34.658  1.00 97.69           C  \nATOM   7635  N   GLU F 147       0.999 -20.665 -32.067  1.00 96.27           N  \nATOM   7636  CA  GLU F 147       2.410 -20.414 -32.342  1.00 96.27           C  \nATOM   7637  C   GLU F 147       3.298 -21.448 -31.656  1.00 96.27           C  \nATOM   7638  CB  GLU F 147       2.803 -19.004 -31.894  1.00 96.27           C  \nATOM   7639  O   GLU F 147       4.261 -21.939 -32.249  1.00 96.27           O  \nATOM   7640  CG  GLU F 147       2.213 -17.898 -32.758  1.00 96.27           C  \nATOM   7641  CD  GLU F 147       2.585 -16.503 -32.282  1.00 96.27           C  \nATOM   7642  OE1 GLU F 147       2.107 -15.511 -32.878  1.00 96.27           O  \nATOM   7643  OE2 GLU F 147       3.362 -16.400 -31.306  1.00 96.27           O  \nATOM   7644  N   ASP F 148       2.970 -21.775 -30.472  1.00 95.90           N  \nATOM   7645  CA  ASP F 148       3.723 -22.794 -29.747  1.00 95.90           C  \nATOM   7646  C   ASP F 148       3.632 -24.147 -30.448  1.00 95.90           C  \nATOM   7647  CB  ASP F 148       3.217 -22.912 -28.308  1.00 95.90           C  \nATOM   7648  O   ASP F 148       4.634 -24.853 -30.579  1.00 95.90           O  \nATOM   7649  CG  ASP F 148       3.614 -21.730 -27.441  1.00 95.90           C  \nATOM   7650  OD1 ASP F 148       4.447 -20.906 -27.877  1.00 95.90           O  \nATOM   7651  OD2 ASP F 148       3.091 -21.623 -26.311  1.00 95.90           O  \nATOM   7652  N   ALA F 149       2.406 -24.508 -30.859  1.00 96.28           N  \nATOM   7653  CA  ALA F 149       2.213 -25.778 -31.555  1.00 96.28           C  \nATOM   7654  C   ALA F 149       3.042 -25.833 -32.835  1.00 96.28           C  \nATOM   7655  CB  ALA F 149       0.735 -25.991 -31.872  1.00 96.28           C  \nATOM   7656  O   ALA F 149       3.702 -26.837 -33.111  1.00 96.28           O  \nATOM   7657  N   ARG F 150       3.041 -24.738 -33.542  1.00 96.63           N  \nATOM   7658  CA  ARG F 150       3.835 -24.676 -34.765  1.00 96.63           C  \nATOM   7659  C   ARG F 150       5.320 -24.848 -34.464  1.00 96.63           C  \nATOM   7660  CB  ARG F 150       3.598 -23.351 -35.493  1.00 96.63           C  \nATOM   7661  O   ARG F 150       6.018 -25.589 -35.158  1.00 96.63           O  \nATOM   7662  CG  ARG F 150       2.255 -23.270 -36.202  1.00 96.63           C  \nATOM   7663  CD  ARG F 150       2.053 -21.919 -36.875  1.00 96.63           C  \nATOM   7664  NE  ARG F 150       0.687 -21.759 -37.363  1.00 96.63           N  \nATOM   7665  NH1 ARG F 150       0.801 -19.459 -37.545  1.00 96.63           N  \nATOM   7666  NH2 ARG F 150      -1.128 -20.563 -38.107  1.00 96.63           N  \nATOM   7667  CZ  ARG F 150       0.123 -20.594 -37.671  1.00 96.63           C  \nATOM   7668  N   ALA F 151       5.773 -24.222 -33.456  1.00 95.31           N  \nATOM   7669  CA  ALA F 151       7.185 -24.287 -33.085  1.00 95.31           C  \nATOM   7670  C   ALA F 151       7.567 -25.692 -32.627  1.00 95.31           C  \nATOM   7671  CB  ALA F 151       7.494 -23.271 -31.989  1.00 95.31           C  \nATOM   7672  O   ALA F 151       8.614 -26.215 -33.016  1.00 95.31           O  \nATOM   7673  N   ILE F 152       6.766 -26.308 -31.797  1.00 95.97           N  \nATOM   7674  CA  ILE F 152       7.031 -27.647 -31.281  1.00 95.97           C  \nATOM   7675  C   ILE F 152       7.037 -28.652 -32.430  1.00 95.97           C  \nATOM   7676  CB  ILE F 152       5.990 -28.058 -30.215  1.00 95.97           C  \nATOM   7677  O   ILE F 152       7.910 -29.520 -32.500  1.00 95.97           O  \nATOM   7678  CG1 ILE F 152       6.172 -27.224 -28.942  1.00 95.97           C  \nATOM   7679  CG2 ILE F 152       6.092 -29.555 -29.910  1.00 95.97           C  \nATOM   7680  CD1 ILE F 152       5.024 -27.351 -27.950  1.00 95.97           C  \nATOM   7681  N   CYS F 153       6.072 -28.563 -33.409  1.00 95.27           N  \nATOM   7682  CA  CYS F 153       6.010 -29.468 -34.551  1.00 95.27           C  \nATOM   7683  C   CYS F 153       7.222 -29.288 -35.457  1.00 95.27           C  \nATOM   7684  CB  CYS F 153       4.727 -29.236 -35.349  1.00 95.27           C  \nATOM   7685  O   CYS F 153       7.745 -30.261 -36.001  1.00 95.27           O  \nATOM   7686  SG  CYS F 153       3.224 -29.704 -34.463  1.00 95.27           S  \nATOM   7687  N   ALA F 154       7.690 -28.083 -35.593  1.00 96.52           N  \nATOM   7688  CA  ALA F 154       8.883 -27.818 -36.394  1.00 96.52           C  \nATOM   7689  C   ALA F 154      10.124 -28.427 -35.747  1.00 96.52           C  \nATOM   7690  CB  ALA F 154       9.071 -26.316 -36.588  1.00 96.52           C  \nATOM   7691  O   ALA F 154      10.986 -28.975 -36.437  1.00 96.52           O  \nATOM   7692  N   ALA F 155      10.210 -28.399 -34.456  1.00 94.82           N  \nATOM   7693  CA  ALA F 155      11.388 -28.863 -33.730  1.00 94.82           C  \nATOM   7694  C   ALA F 155      11.366 -30.379 -33.559  1.00 94.82           C  \nATOM   7695  CB  ALA F 155      11.477 -28.179 -32.368  1.00 94.82           C  \nATOM   7696  O   ALA F 155      12.402 -31.038 -33.669  1.00 94.82           O  \nATOM   7697  N   LYS F 156      10.184 -30.965 -33.306  1.00 95.40           N  \nATOM   7698  CA  LYS F 156      10.119 -32.371 -32.920  1.00 95.40           C  \nATOM   7699  C   LYS F 156       9.516 -33.220 -34.035  1.00 95.40           C  \nATOM   7700  CB  LYS F 156       9.305 -32.538 -31.636  1.00 95.40           C  \nATOM   7701  O   LYS F 156       9.528 -34.451 -33.961  1.00 95.40           O  \nATOM   7702  CG  LYS F 156       9.912 -31.848 -30.423  1.00 95.40           C  \nATOM   7703  CD  LYS F 156       9.358 -32.414 -29.122  1.00 95.40           C  \nATOM   7704  CE  LYS F 156      10.045 -31.802 -27.908  1.00 95.40           C  \nATOM   7705  NZ  LYS F 156       9.526 -32.375 -26.631  1.00 95.40           N  \nATOM   7706  N   GLY F 157       8.981 -32.617 -35.062  1.00 94.92           N  \nATOM   7707  CA  GLY F 157       8.373 -33.317 -36.182  1.00 94.92           C  \nATOM   7708  C   GLY F 157       6.858 -33.251 -36.176  1.00 94.92           C  \nATOM   7709  O   GLY F 157       6.235 -33.263 -35.113  1.00 94.92           O  \nATOM   7710  N   GLU F 158       6.166 -33.170 -37.286  1.00 92.93           N  \nATOM   7711  CA  GLU F 158       4.727 -32.991 -37.459  1.00 92.93           C  \nATOM   7712  C   GLU F 158       3.955 -34.203 -36.946  1.00 92.93           C  \nATOM   7713  CB  GLU F 158       4.391 -32.737 -38.931  1.00 92.93           C  \nATOM   7714  O   GLU F 158       2.798 -34.081 -36.537  1.00 92.93           O  \nATOM   7715  CG  GLU F 158       4.805 -31.359 -39.427  1.00 92.93           C  \nATOM   7716  CD  GLU F 158       4.316 -31.057 -40.834  1.00 92.93           C  \nATOM   7717  OE1 GLU F 158       4.500 -29.912 -41.308  1.00 92.93           O  \nATOM   7718  OE2 GLU F 158       3.743 -31.971 -41.468  1.00 92.93           O  \nATOM   7719  N   THR F 159       4.629 -35.405 -36.943  1.00 93.49           N  \nATOM   7720  CA  THR F 159       3.922 -36.612 -36.529  1.00 93.49           C  \nATOM   7721  C   THR F 159       4.324 -37.015 -35.113  1.00 93.49           C  \nATOM   7722  CB  THR F 159       4.197 -37.779 -37.495  1.00 93.49           C  \nATOM   7723  O   THR F 159       3.959 -38.094 -34.642  1.00 93.49           O  \nATOM   7724  CG2 THR F 159       3.723 -37.449 -38.906  1.00 93.49           C  \nATOM   7725  OG1 THR F 159       5.605 -38.044 -37.526  1.00 93.49           O  \nATOM   7726  N   SER F 160       5.072 -36.208 -34.392  1.00 94.81           N  \nATOM   7727  CA  SER F 160       5.532 -36.514 -33.042  1.00 94.81           C  \nATOM   7728  C   SER F 160       4.394 -36.404 -32.032  1.00 94.81           C  \nATOM   7729  CB  SER F 160       6.674 -35.581 -32.639  1.00 94.81           C  \nATOM   7730  O   SER F 160       3.451 -35.635 -32.233  1.00 94.81           O  \nATOM   7731  OG  SER F 160       6.184 -34.285 -32.344  1.00 94.81           O  \nATOM   7732  N   PRO F 161       4.419 -37.280 -30.944  1.00 96.07           N  \nATOM   7733  CA  PRO F 161       3.422 -37.154 -29.878  1.00 96.07           C  \nATOM   7734  C   PRO F 161       3.399 -35.760 -29.254  1.00 96.07           C  \nATOM   7735  CB  PRO F 161       3.865 -38.203 -28.855  1.00 96.07           C  \nATOM   7736  O   PRO F 161       2.338 -35.278 -28.852  1.00 96.07           O  \nATOM   7737  CG  PRO F 161       4.745 -39.137 -29.622  1.00 96.07           C  \nATOM   7738  CD  PRO F 161       5.312 -38.399 -30.801  1.00 96.07           C  \nATOM   7739  N   ASP F 162       4.475 -35.125 -29.198  1.00 95.16           N  \nATOM   7740  CA  ASP F 162       4.560 -33.784 -28.628  1.00 95.16           C  \nATOM   7741  C   ASP F 162       3.802 -32.774 -29.486  1.00 95.16           C  \nATOM   7742  CB  ASP F 162       6.022 -33.356 -28.479  1.00 95.16           C  \nATOM   7743  O   ASP F 162       3.130 -31.885 -28.959  1.00 95.16           O  \nATOM   7744  CG  ASP F 162       6.778 -34.175 -27.448  1.00 95.16           C  \nATOM   7745  OD1 ASP F 162       6.137 -34.787 -26.566  1.00 95.16           O  \nATOM   7746  OD2 ASP F 162       8.025 -34.208 -27.516  1.00 95.16           O  \nATOM   7747  N   CYS F 163       3.951 -32.896 -30.792  1.00 93.29           N  \nATOM   7748  CA  CYS F 163       3.230 -32.027 -31.716  1.00 93.29           C  \nATOM   7749  C   CYS F 163       1.724 -32.214 -31.577  1.00 93.29           C  \nATOM   7750  CB  CYS F 163       3.657 -32.306 -33.157  1.00 93.29           C  \nATOM   7751  O   CYS F 163       0.981 -31.237 -31.466  1.00 93.29           O  \nATOM   7752  SG  CYS F 163       2.861 -31.232 -34.372  1.00 93.29           S  \nATOM   7753  N   ALA F 164       1.316 -33.471 -31.494  1.00 95.58           N  \nATOM   7754  CA  ALA F 164      -0.106 -33.765 -31.339  1.00 95.58           C  \nATOM   7755  C   ALA F 164      -0.651 -33.171 -30.043  1.00 95.58           C  \nATOM   7756  CB  ALA F 164      -0.345 -35.272 -31.372  1.00 95.58           C  \nATOM   7757  O   ALA F 164      -1.736 -32.585 -30.030  1.00 95.58           O  \nATOM   7758  N   ALA F 165       0.064 -33.314 -29.009  1.00 96.30           N  \nATOM   7759  CA  ALA F 165      -0.348 -32.775 -27.716  1.00 96.30           C  \nATOM   7760  C   ALA F 165      -0.475 -31.255 -27.771  1.00 96.30           C  \nATOM   7761  CB  ALA F 165       0.642 -33.184 -26.628  1.00 96.30           C  \nATOM   7762  O   ALA F 165      -1.392 -30.680 -27.178  1.00 96.30           O  \nATOM   7763  N   ALA F 166       0.424 -30.565 -28.432  1.00 95.95           N  \nATOM   7764  CA  ALA F 166       0.396 -29.110 -28.556  1.00 95.95           C  \nATOM   7765  C   ALA F 166      -0.863 -28.646 -29.282  1.00 95.95           C  \nATOM   7766  CB  ALA F 166       1.641 -28.614 -29.286  1.00 95.95           C  \nATOM   7767  O   ALA F 166      -1.498 -27.670 -28.875  1.00 95.95           O  \nATOM   7768  N   TRP F 167      -1.208 -29.323 -30.313  1.00 96.46           N  \nATOM   7769  CA  TRP F 167      -2.400 -28.942 -31.063  1.00 96.46           C  \nATOM   7770  C   TRP F 167      -3.665 -29.279 -30.281  1.00 96.46           C  \nATOM   7771  CB  TRP F 167      -2.426 -29.641 -32.425  1.00 96.46           C  \nATOM   7772  O   TRP F 167      -4.691 -28.609 -30.429  1.00 96.46           O  \nATOM   7773  CG  TRP F 167      -1.606 -28.955 -33.477  1.00 96.46           C  \nATOM   7774  CD1 TRP F 167      -0.434 -29.396 -34.026  1.00 96.46           C  \nATOM   7775  CD2 TRP F 167      -1.897 -27.702 -34.103  1.00 96.46           C  \nATOM   7776  CE2 TRP F 167      -0.857 -27.444 -35.024  1.00 96.46           C  \nATOM   7777  CE3 TRP F 167      -2.937 -26.772 -33.976  1.00 96.46           C  \nATOM   7778  NE1 TRP F 167       0.022 -28.492 -34.957  1.00 96.46           N  \nATOM   7779  CH2 TRP F 167      -1.857 -25.399 -35.670  1.00 96.46           C  \nATOM   7780  CZ2 TRP F 167      -0.827 -26.292 -35.814  1.00 96.46           C  \nATOM   7781  CZ3 TRP F 167      -2.906 -25.626 -34.763  1.00 96.46           C  \nATOM   7782  N   ASP F 168      -3.585 -30.279 -29.447  1.00 96.43           N  \nATOM   7783  CA  ASP F 168      -4.707 -30.575 -28.562  1.00 96.43           C  \nATOM   7784  C   ASP F 168      -5.010 -29.393 -27.644  1.00 96.43           C  \nATOM   7785  CB  ASP F 168      -4.417 -31.827 -27.730  1.00 96.43           C  \nATOM   7786  O   ASP F 168      -6.174 -29.097 -27.368  1.00 96.43           O  \nATOM   7787  CG  ASP F 168      -4.515 -33.110 -28.535  1.00 96.43           C  \nATOM   7788  OD1 ASP F 168      -5.009 -33.074 -29.683  1.00 96.43           O  \nATOM   7789  OD2 ASP F 168      -4.098 -34.168 -28.016  1.00 96.43           O  \nATOM   7790  N   VAL F 169      -3.978 -28.782 -27.187  1.00 96.57           N  \nATOM   7791  CA  VAL F 169      -4.153 -27.608 -26.338  1.00 96.57           C  \nATOM   7792  C   VAL F 169      -4.888 -26.516 -27.112  1.00 96.57           C  \nATOM   7793  CB  VAL F 169      -2.797 -27.074 -25.822  1.00 96.57           C  \nATOM   7794  O   VAL F 169      -5.820 -25.898 -26.592  1.00 96.57           O  \nATOM   7795  CG1 VAL F 169      -2.983 -25.746 -25.090  1.00 96.57           C  \nATOM   7796  CG2 VAL F 169      -2.133 -28.103 -24.909  1.00 96.57           C  \nATOM   7797  N   VAL F 170      -4.522 -26.269 -28.328  1.00 96.63           N  \nATOM   7798  CA  VAL F 170      -5.173 -25.279 -29.180  1.00 96.63           C  \nATOM   7799  C   VAL F 170      -6.651 -25.627 -29.341  1.00 96.63           C  \nATOM   7800  CB  VAL F 170      -4.494 -25.188 -30.565  1.00 96.63           C  \nATOM   7801  O   VAL F 170      -7.519 -24.766 -29.179  1.00 96.63           O  \nATOM   7802  CG1 VAL F 170      -5.279 -24.262 -31.492  1.00 96.63           C  \nATOM   7803  CG2 VAL F 170      -3.051 -24.706 -30.420  1.00 96.63           C  \nATOM   7804  N   GLU F 171      -6.895 -26.871 -29.602  1.00 96.21           N  \nATOM   7805  CA  GLU F 171      -8.267 -27.320 -29.816  1.00 96.21           C  \nATOM   7806  C   GLU F 171      -9.106 -27.156 -28.552  1.00 96.21           C  \nATOM   7807  CB  GLU F 171      -8.289 -28.781 -30.276  1.00 96.21           C  \nATOM   7808  O   GLU F 171     -10.270 -26.756 -28.621  1.00 96.21           O  \nATOM   7809  CG  GLU F 171      -7.833 -28.980 -31.714  1.00 96.21           C  \nATOM   7810  CD  GLU F 171      -7.882 -30.432 -32.163  1.00 96.21           C  \nATOM   7811  OE1 GLU F 171      -7.601 -30.709 -33.351  1.00 96.21           O  \nATOM   7812  OE2 GLU F 171      -8.205 -31.298 -31.320  1.00 96.21           O  \nATOM   7813  N   GLU F 172      -8.506 -27.421 -27.492  1.00 95.32           N  \nATOM   7814  CA  GLU F 172      -9.214 -27.259 -26.226  1.00 95.32           C  \nATOM   7815  C   GLU F 172      -9.571 -25.796 -25.977  1.00 95.32           C  \nATOM   7816  CB  GLU F 172      -8.374 -27.800 -25.066  1.00 95.32           C  \nATOM   7817  O   GLU F 172     -10.696 -25.485 -25.580  1.00 95.32           O  \nATOM   7818  CG  GLU F 172      -9.110 -27.829 -23.735  1.00 95.32           C  \nATOM   7819  CD  GLU F 172      -8.292 -28.442 -22.610  1.00 95.32           C  \nATOM   7820  OE1 GLU F 172      -8.788 -28.504 -21.462  1.00 95.32           O  \nATOM   7821  OE2 GLU F 172      -7.145 -28.864 -22.878  1.00 95.32           O  \nATOM   7822  N   LEU F 173      -8.662 -24.950 -26.212  1.00 95.25           N  \nATOM   7823  CA  LEU F 173      -8.900 -23.522 -26.036  1.00 95.25           C  \nATOM   7824  C   LEU F 173      -9.954 -23.021 -27.017  1.00 95.25           C  \nATOM   7825  CB  LEU F 173      -7.599 -22.735 -26.220  1.00 95.25           C  \nATOM   7826  O   LEU F 173     -10.820 -22.224 -26.651  1.00 95.25           O  \nATOM   7827  CG  LEU F 173      -6.568 -22.857 -25.096  1.00 95.25           C  \nATOM   7828  CD1 LEU F 173      -5.241 -22.241 -25.526  1.00 95.25           C  \nATOM   7829  CD2 LEU F 173      -7.083 -22.195 -23.823  1.00 95.25           C  \nATOM   7830  N   GLN F 174      -9.882 -23.451 -28.241  1.00 95.03           N  \nATOM   7831  CA  GLN F 174     -10.863 -23.064 -29.249  1.00 95.03           C  \nATOM   7832  C   GLN F 174     -12.258 -23.561 -28.878  1.00 95.03           C  \nATOM   7833  CB  GLN F 174     -10.463 -23.603 -30.623  1.00 95.03           C  \nATOM   7834  O   GLN F 174     -13.249 -22.858 -29.088  1.00 95.03           O  \nATOM   7835  CG  GLN F 174      -9.318 -22.837 -31.274  1.00 95.03           C  \nATOM   7836  CD  GLN F 174      -8.889 -23.438 -32.599  1.00 95.03           C  \nATOM   7837  NE2 GLN F 174      -8.636 -22.582 -33.584  1.00 95.03           N  \nATOM   7838  OE1 GLN F 174      -8.784 -24.661 -32.737  1.00 95.03           O  \nATOM   7839  N   ALA F 175     -12.275 -24.746 -28.326  1.00 92.84           N  \nATOM   7840  CA  ALA F 175     -13.554 -25.280 -27.866  1.00 92.84           C  \nATOM   7841  C   ALA F 175     -14.144 -24.414 -26.757  1.00 92.84           C  \nATOM   7842  CB  ALA F 175     -13.387 -26.718 -27.382  1.00 92.84           C  \nATOM   7843  O   ALA F 175     -15.340 -24.115 -26.764  1.00 92.84           O  \nATOM   7844  N   GLU F 176     -13.315 -24.036 -25.925  1.00 90.69           N  \nATOM   7845  CA  GLU F 176     -13.768 -23.168 -24.842  1.00 90.69           C  \nATOM   7846  C   GLU F 176     -14.244 -21.821 -25.377  1.00 90.69           C  \nATOM   7847  CB  GLU F 176     -12.653 -22.962 -23.814  1.00 90.69           C  \nATOM   7848  O   GLU F 176     -15.273 -21.302 -24.940  1.00 90.69           O  \nATOM   7849  CG  GLU F 176     -13.071 -22.129 -22.611  1.00 90.69           C  \nATOM   7850  CD  GLU F 176     -12.259 -22.432 -21.361  1.00 90.69           C  \nATOM   7851  OE1 GLU F 176     -12.522 -21.815 -20.304  1.00 90.69           O  \nATOM   7852  OE2 GLU F 176     -11.354 -23.291 -21.441  1.00 90.69           O  \nATOM   7853  N   ALA F 177     -13.530 -21.278 -26.271  1.00 89.99           N  \nATOM   7854  CA  ALA F 177     -13.913 -20.008 -26.882  1.00 89.99           C  \nATOM   7855  C   ALA F 177     -15.262 -20.123 -27.586  1.00 89.99           C  \nATOM   7856  CB  ALA F 177     -12.841 -19.545 -27.865  1.00 89.99           C  \nATOM   7857  O   ALA F 177     -16.095 -19.218 -27.496  1.00 89.99           O  \nATOM   7858  N   SER F 178     -15.454 -21.224 -28.260  1.00 88.13           N  \nATOM   7859  CA  SER F 178     -16.718 -21.456 -28.952  1.00 88.13           C  \nATOM   7860  C   SER F 178     -17.871 -21.602 -27.964  1.00 88.13           C  \nATOM   7861  CB  SER F 178     -16.627 -22.704 -29.831  1.00 88.13           C  \nATOM   7862  O   SER F 178     -18.964 -21.082 -28.197  1.00 88.13           O  \nATOM   7863  OG  SER F 178     -15.652 -22.536 -30.845  1.00 88.13           O  \nATOM   7864  N   HIS F 179     -17.565 -22.331 -26.907  1.00 85.57           N  \nATOM   7865  CA  HIS F 179     -18.575 -22.483 -25.866  1.00 85.57           C  \nATOM   7866  C   HIS F 179     -18.971 -21.131 -25.281  1.00 85.57           C  \nATOM   7867  CB  HIS F 179     -18.067 -23.406 -24.757  1.00 85.57           C  \nATOM   7868  O   HIS F 179     -20.156 -20.870 -25.057  1.00 85.57           O  \nATOM   7869  CG  HIS F 179     -19.079 -23.673 -23.688  1.00 85.57           C  \nATOM   7870  CD2 HIS F 179     -20.049 -24.613 -23.597  1.00 85.57           C  \nATOM   7871  ND1 HIS F 179     -19.165 -22.917 -22.539  1.00 85.57           N  \nATOM   7872  CE1 HIS F 179     -20.147 -23.383 -21.786  1.00 85.57           C  \nATOM   7873  NE2 HIS F 179     -20.700 -24.412 -22.405  1.00 85.57           N  \nATOM   7874  N   GLN F 180     -18.041 -20.312 -25.125  1.00 80.89           N  \nATOM   7875  CA  GLN F 180     -18.301 -18.979 -24.592  1.00 80.89           C  \nATOM   7876  C   GLN F 180     -19.148 -18.156 -25.558  1.00 80.89           C  \nATOM   7877  CB  GLN F 180     -16.988 -18.253 -24.296  1.00 80.89           C  \nATOM   7878  O   GLN F 180     -20.056 -17.436 -25.137  1.00 80.89           O  \nATOM   7879  CG  GLN F 180     -16.275 -18.756 -23.048  1.00 80.89           C  \nATOM   7880  CD  GLN F 180     -15.121 -17.864 -22.631  1.00 80.89           C  \nATOM   7881  NE2 GLN F 180     -14.055 -18.472 -22.122  1.00 80.89           N  \nATOM   7882  OE1 GLN F 180     -15.187 -16.638 -22.766  1.00 80.89           O  \nATOM   7883  N   ARG F 181     -18.869 -18.325 -26.832  1.00 76.85           N  \nATOM   7884  CA  ARG F 181     -19.621 -17.601 -27.852  1.00 76.85           C  \nATOM   7885  C   ARG F 181     -21.041 -18.143 -27.974  1.00 76.85           C  \nATOM   7886  CB  ARG F 181     -18.910 -17.684 -29.205  1.00 76.85           C  \nATOM   7887  O   ARG F 181     -21.987 -17.380 -28.177  1.00 76.85           O  \nATOM   7888  CG  ARG F 181     -17.632 -16.865 -29.281  1.00 76.85           C  \nATOM   7889  CD  ARG F 181     -16.914 -17.062 -30.609  1.00 76.85           C  \nATOM   7890  NE  ARG F 181     -15.570 -16.491 -30.584  1.00 76.85           N  \nATOM   7891  NH1 ARG F 181     -14.752 -17.821 -32.287  1.00 76.85           N  \nATOM   7892  NH2 ARG F 181     -13.390 -16.279 -31.275  1.00 76.85           N  \nATOM   7893  CZ  ARG F 181     -14.574 -16.865 -31.382  1.00 76.85           C  \nATOM   7894  N   ALA F 182     -21.210 -19.433 -27.844  1.00 69.52           N  \nATOM   7895  CA  ALA F 182     -22.517 -20.077 -27.957  1.00 69.52           C  \nATOM   7896  C   ALA F 182     -23.424 -19.683 -26.795  1.00 69.52           C  \nATOM   7897  CB  ALA F 182     -22.359 -21.595 -28.013  1.00 69.52           C  \nATOM   7898  O   ALA F 182     -24.617 -19.435 -26.987  1.00 69.52           O  \nATOM   7899  N   LYS F 183     -22.937 -19.745 -25.607  1.00 63.80           N  \nATOM   7900  CA  LYS F 183     -23.719 -19.351 -24.439  1.00 63.80           C  \nATOM   7901  C   LYS F 183     -24.205 -17.910 -24.564  1.00 63.80           C  \nATOM   7902  CB  LYS F 183     -22.897 -19.518 -23.161  1.00 63.80           C  \nATOM   7903  O   LYS F 183     -25.300 -17.576 -24.105  1.00 63.80           O  \nATOM   7904  CG  LYS F 183     -22.909 -20.932 -22.598  1.00 63.80           C  \nATOM   7905  CD  LYS F 183     -22.256 -20.991 -21.223  1.00 63.80           C  \nATOM   7906  CE  LYS F 183     -22.298 -22.399 -20.643  1.00 63.80           C  \nATOM   7907  NZ  LYS F 183     -21.630 -22.469 -19.309  1.00 63.80           N  \nATOM   7908  N   LYS F 184     -23.518 -17.103 -25.261  1.00 59.15           N  \nATOM   7909  CA  LYS F 184     -23.897 -15.708 -25.464  1.00 59.15           C  \nATOM   7910  C   LYS F 184     -25.013 -15.585 -26.497  1.00 59.15           C  \nATOM   7911  CB  LYS F 184     -22.686 -14.881 -25.899  1.00 59.15           C  \nATOM   7912  O   LYS F 184     -25.892 -14.731 -26.371  1.00 59.15           O  \nATOM   7913  CG  LYS F 184     -21.785 -14.450 -24.751  1.00 59.15           C  \nATOM   7914  CD  LYS F 184     -20.660 -13.543 -25.233  1.00 59.15           C  \nATOM   7915  CE  LYS F 184     -19.723 -13.160 -24.096  1.00 59.15           C  \nATOM   7916  NZ  LYS F 184     -18.575 -12.335 -24.578  1.00 59.15           N  \nATOM   7917  N   GLN F 185     -24.977 -16.424 -27.612  1.00 54.78           N  \nATOM   7918  CA  GLN F 185     -25.997 -16.416 -28.656  1.00 54.78           C  \nATOM   7919  C   GLN F 185     -27.312 -16.997 -28.145  1.00 54.78           C  \nATOM   7920  CB  GLN F 185     -25.518 -17.197 -29.881  1.00 54.78           C  \nATOM   7921  O   GLN F 185     -28.390 -16.549 -28.541  1.00 54.78           O  \nATOM   7922  CG  GLN F 185     -24.630 -16.388 -30.817  1.00 54.78           C  \nATOM   7923  CD  GLN F 185     -24.117 -17.203 -31.989  1.00 54.78           C  \nATOM   7924  NE2 GLN F 185     -23.388 -16.553 -32.890  1.00 54.78           N  \nATOM   7925  OE1 GLN F 185     -24.373 -18.408 -32.084  1.00 54.78           O  \nATOM   7926  N   GLY F 186     -27.351 -18.003 -27.246  1.00 48.26           N  \nATOM   7927  CA  GLY F 186     -28.553 -18.625 -26.715  1.00 48.26           C  \nATOM   7928  C   GLY F 186     -29.344 -17.711 -25.799  1.00 48.26           C  \nATOM   7929  O   GLY F 186     -30.576 -17.754 -25.782  1.00 48.26           O  \nATOM   7930  N   SER F 187     -28.725 -16.931 -24.944  1.00 49.55           N  \nATOM   7931  CA  SER F 187     -29.435 -15.963 -24.113  1.00 49.55           C  \nATOM   7932  C   SER F 187     -30.095 -14.883 -24.964  1.00 49.55           C  \nATOM   7933  CB  SER F 187     -28.480 -15.318 -23.107  1.00 49.55           C  \nATOM   7934  O   SER F 187     -31.231 -14.485 -24.699  1.00 49.55           O  \nATOM   7935  OG  SER F 187     -28.228 -13.966 -23.448  1.00 49.55           O  \nATOM   7936  N   ASN F 188     -29.467 -14.410 -26.025  1.00 46.44           N  \nATOM   7937  CA  ASN F 188     -30.056 -13.439 -26.940  1.00 46.44           C  \nATOM   7938  C   ASN F 188     -31.224 -14.038 -27.719  1.00 46.44           C  \nATOM   7939  CB  ASN F 188     -28.998 -12.898 -27.904  1.00 46.44           C  \nATOM   7940  O   ASN F 188     -32.216 -13.356 -27.981  1.00 46.44           O  \nATOM   7941  CG  ASN F 188     -28.467 -11.540 -27.486  1.00 46.44           C  \nATOM   7942  ND2 ASN F 188     -27.403 -11.093 -28.142  1.00 46.44           N  \nATOM   7943  OD1 ASN F 188     -29.009 -10.900 -26.582  1.00 46.44           O  \nATOM   7944  N   SER F 189     -31.126 -15.306 -28.104  1.00 49.35           N  \nATOM   7945  CA  SER F 189     -32.242 -15.976 -28.763  1.00 49.35           C  \nATOM   7946  C   SER F 189     -33.426 -16.140 -27.817  1.00 49.35           C  \nATOM   7947  CB  SER F 189     -31.809 -17.344 -29.292  1.00 49.35           C  \nATOM   7948  O   SER F 189     -34.578 -15.961 -28.218  1.00 49.35           O  \nATOM   7949  OG  SER F 189     -32.609 -18.374 -28.737  1.00 49.35           O  \nATOM   7950  N   PHE F 190     -33.196 -16.408 -26.534  1.00 49.36           N  \nATOM   7951  CA  PHE F 190     -34.281 -16.498 -25.564  1.00 49.36           C  \nATOM   7952  C   PHE F 190     -34.872 -15.121 -25.285  1.00 49.36           C  \nATOM   7953  CB  PHE F 190     -33.786 -17.131 -24.259  1.00 49.36           C  \nATOM   7954  O   PHE F 190     -36.094 -14.963 -25.235  1.00 49.36           O  \nATOM   7955  CG  PHE F 190     -34.872 -17.349 -23.241  1.00 49.36           C  \nATOM   7956  CD1 PHE F 190     -34.976 -16.524 -22.127  1.00 49.36           C  \nATOM   7957  CD2 PHE F 190     -35.790 -18.380 -23.397  1.00 49.36           C  \nATOM   7958  CE1 PHE F 190     -35.980 -16.724 -21.183  1.00 49.36           C  \nATOM   7959  CE2 PHE F 190     -36.796 -18.585 -22.458  1.00 49.36           C  \nATOM   7960  CZ  PHE F 190     -36.889 -17.757 -21.351  1.00 49.36           C  \nATOM   7961  N   GLN F 191     -34.077 -14.072 -25.143  1.00 50.77           N  \nATOM   7962  CA  GLN F 191     -34.568 -12.706 -25.001  1.00 50.77           C  \nATOM   7963  C   GLN F 191     -35.283 -12.244 -26.267  1.00 50.77           C  \nATOM   7964  CB  GLN F 191     -33.418 -11.753 -24.670  1.00 50.77           C  \nATOM   7965  O   GLN F 191     -36.359 -11.646 -26.196  1.00 50.77           O  \nATOM   7966  CG  GLN F 191     -33.839 -10.545 -23.843  1.00 50.77           C  \nATOM   7967  CD  GLN F 191     -32.685  -9.929 -23.075  1.00 50.77           C  \nATOM   7968  NE2 GLN F 191     -32.988  -8.936 -22.245  1.00 50.77           N  \nATOM   7969  OE1 GLN F 191     -31.531 -10.343 -23.224  1.00 50.77           O  \nATOM   7970  N   ALA F 192     -34.698 -12.513 -27.450  1.00 54.21           N  \nATOM   7971  CA  ALA F 192     -35.379 -12.228 -28.710  1.00 54.21           C  \nATOM   7972  C   ALA F 192     -36.658 -13.051 -28.840  1.00 54.21           C  \nATOM   7973  CB  ALA F 192     -34.451 -12.504 -29.890  1.00 54.21           C  \nATOM   7974  O   ALA F 192     -37.686 -12.543 -29.295  1.00 54.21           O  \nATOM   7975  N   TYR F 193     -36.538 -14.318 -28.439  1.00 52.80           N  \nATOM   7976  CA  TYR F 193     -37.729 -15.158 -28.397  1.00 52.80           C  \nATOM   7977  C   TYR F 193     -38.756 -14.599 -27.419  1.00 52.80           C  \nATOM   7978  CB  TYR F 193     -37.363 -16.593 -28.005  1.00 52.80           C  \nATOM   7979  O   TYR F 193     -39.940 -14.488 -27.748  1.00 52.80           O  \nATOM   7980  CG  TYR F 193     -38.553 -17.514 -27.890  1.00 52.80           C  \nATOM   7981  CD1 TYR F 193     -39.073 -17.859 -26.645  1.00 52.80           C  \nATOM   7982  CD2 TYR F 193     -39.159 -18.040 -29.026  1.00 52.80           C  \nATOM   7983  CE1 TYR F 193     -40.169 -18.709 -26.534  1.00 52.80           C  \nATOM   7984  CE2 TYR F 193     -40.255 -18.891 -28.927  1.00 52.80           C  \nATOM   7985  OH  TYR F 193     -41.837 -20.061 -27.575  1.00 52.80           O  \nATOM   7986  CZ  TYR F 193     -40.752 -19.219 -27.679  1.00 52.80           C  \nATOM   7987  N   CYS F 194     -38.301 -14.207 -26.257  1.00 57.00           N  \nATOM   7988  CA  CYS F 194     -39.233 -13.654 -25.281  1.00 57.00           C  \nATOM   7989  C   CYS F 194     -39.712 -12.272 -25.708  1.00 57.00           C  \nATOM   7990  CB  CYS F 194     -38.580 -13.574 -23.901  1.00 57.00           C  \nATOM   7991  O   CYS F 194     -40.840 -11.879 -25.402  1.00 57.00           O  \nATOM   7992  SG  CYS F 194     -38.521 -15.155 -23.031  1.00 57.00           S  \nATOM   7993  N   GLU F 195     -38.936 -11.402 -26.377  1.00 59.64           N  \nATOM   7994  CA  GLU F 195     -39.374 -10.145 -26.977  1.00 59.64           C  \nATOM   7995  C   GLU F 195     -40.366 -10.391 -28.110  1.00 59.64           C  \nATOM   7996  CB  GLU F 195     -38.172  -9.349 -27.493  1.00 59.64           C  \nATOM   7997  O   GLU F 195     -41.340  -9.650 -28.260  1.00 59.64           O  \nATOM   7998  CG  GLU F 195     -37.484  -8.513 -26.425  1.00 59.64           C  \nATOM   7999  CD  GLU F 195     -36.249  -7.786 -26.935  1.00 59.64           C  \nATOM   8000  OE1 GLU F 195     -35.620  -7.037 -26.154  1.00 59.64           O  \nATOM   8001  OE2 GLU F 195     -35.909  -7.967 -28.125  1.00 59.64           O  \nATOM   8002  N   ALA F 196     -40.206 -11.501 -28.950  1.00 64.74           N  \nATOM   8003  CA  ALA F 196     -41.092 -11.856 -30.056  1.00 64.74           C  \nATOM   8004  C   ALA F 196     -42.316 -12.618 -29.555  1.00 64.74           C  \nATOM   8005  CB  ALA F 196     -40.341 -12.684 -31.095  1.00 64.74           C  \nATOM   8006  O   ALA F 196     -43.377 -12.581 -30.181  1.00 64.74           O  \nATOM   8007  N   ASN F 197     -42.062 -13.507 -28.519  1.00 52.03           N  \nATOM   8008  CA  ASN F 197     -43.170 -14.256 -27.937  1.00 52.03           C  \nATOM   8009  C   ASN F 197     -43.332 -13.952 -26.450  1.00 52.03           C  \nATOM   8010  CB  ASN F 197     -42.975 -15.758 -28.154  1.00 52.03           C  \nATOM   8011  O   ASN F 197     -43.024 -14.793 -25.603  1.00 52.03           O  \nATOM   8012  CG  ASN F 197     -43.129 -16.163 -29.606  1.00 52.03           C  \nATOM   8013  ND2 ASN F 197     -42.267 -17.062 -30.066  1.00 52.03           N  \nATOM   8014  OD1 ASN F 197     -44.016 -15.672 -30.310  1.00 52.03           O  \nATOM   8015  N   PRO F 198     -43.709 -12.696 -26.093  1.00 57.19           N  \nATOM   8016  CA  PRO F 198     -43.777 -12.230 -24.706  1.00 57.19           C  \nATOM   8017  C   PRO F 198     -44.686 -13.097 -23.836  1.00 57.19           C  \nATOM   8018  CB  PRO F 198     -44.338 -10.812 -24.838  1.00 57.19           C  \nATOM   8019  O   PRO F 198     -44.478 -13.193 -22.624  1.00 57.19           O  \nATOM   8020  CG  PRO F 198     -44.706 -10.679 -26.280  1.00 57.19           C  \nATOM   8021  CD  PRO F 198     -44.276 -11.926 -26.999  1.00 57.19           C  \nATOM   8022  N   ASP F 199     -45.673 -13.695 -24.427  1.00 53.19           N  \nATOM   8023  CA  ASP F 199     -46.684 -14.467 -23.711  1.00 53.19           C  \nATOM   8024  C   ASP F 199     -46.237 -15.915 -23.522  1.00 53.19           C  \nATOM   8025  CB  ASP F 199     -48.020 -14.421 -24.455  1.00 53.19           C  \nATOM   8026  O   ASP F 199     -46.979 -16.732 -22.972  1.00 53.19           O  \nATOM   8027  CG  ASP F 199     -48.641 -13.035 -24.474  1.00 53.19           C  \nATOM   8028  OD1 ASP F 199     -48.431 -12.259 -23.517  1.00 53.19           O  \nATOM   8029  OD2 ASP F 199     -49.349 -12.718 -25.455  1.00 53.19           O  \nATOM   8030  N   ALA F 200     -45.086 -16.250 -24.031  1.00 53.32           N  \nATOM   8031  CA  ALA F 200     -44.633 -17.634 -23.919  1.00 53.32           C  \nATOM   8032  C   ALA F 200     -44.258 -17.973 -22.479  1.00 53.32           C  \nATOM   8033  CB  ALA F 200     -43.446 -17.883 -24.847  1.00 53.32           C  \nATOM   8034  O   ALA F 200     -43.703 -17.138 -21.762  1.00 53.32           O  \nATOM   8035  N   LEU F 201     -44.747 -19.139 -21.752  1.00 53.59           N  \nATOM   8036  CA  LEU F 201     -44.622 -19.583 -20.368  1.00 53.59           C  \nATOM   8037  C   LEU F 201     -43.172 -19.507 -19.901  1.00 53.59           C  \nATOM   8038  CB  LEU F 201     -45.146 -21.013 -20.214  1.00 53.59           C  \nATOM   8039  O   LEU F 201     -42.900 -19.095 -18.771  1.00 53.59           O  \nATOM   8040  CG  LEU F 201     -46.522 -21.164 -19.564  1.00 53.59           C  \nATOM   8041  CD1 LEU F 201     -47.316 -22.268 -20.254  1.00 53.59           C  \nATOM   8042  CD2 LEU F 201     -46.381 -21.453 -18.073  1.00 53.59           C  \nATOM   8043  N   GLU F 202     -42.357 -19.845 -20.724  1.00 55.89           N  \nATOM   8044  CA  GLU F 202     -40.937 -19.930 -20.400  1.00 55.89           C  \nATOM   8045  C   GLU F 202     -40.348 -18.547 -20.135  1.00 55.89           C  \nATOM   8046  CB  GLU F 202     -40.167 -20.622 -21.528  1.00 55.89           C  \nATOM   8047  O   GLU F 202     -39.396 -18.409 -19.364  1.00 55.89           O  \nATOM   8048  CG  GLU F 202     -40.396 -22.125 -21.596  1.00 55.89           C  \nATOM   8049  CD  GLU F 202     -40.295 -22.683 -23.007  1.00 55.89           C  \nATOM   8050  OE1 GLU F 202     -40.360 -23.922 -23.175  1.00 55.89           O  \nATOM   8051  OE2 GLU F 202     -40.150 -21.876 -23.951  1.00 55.89           O  \nATOM   8052  N   CYS F 203     -40.927 -17.507 -20.836  1.00 49.48           N  \nATOM   8053  CA  CYS F 203     -40.456 -16.133 -20.702  1.00 49.48           C  \nATOM   8054  C   CYS F 203     -41.037 -15.477 -19.455  1.00 49.48           C  \nATOM   8055  CB  CYS F 203     -40.826 -15.316 -21.939  1.00 49.48           C  \nATOM   8056  O   CYS F 203     -40.470 -14.515 -18.934  1.00 49.48           O  \nATOM   8057  SG  CYS F 203     -39.996 -15.863 -23.448  1.00 49.48           S  \nATOM   8058  N   ARG F 204     -42.183 -15.809 -18.864  1.00 46.22           N  \nATOM   8059  CA  ARG F 204     -42.863 -15.260 -17.695  1.00 46.22           C  \nATOM   8060  C   ARG F 204     -42.169 -15.690 -16.406  1.00 46.22           C  \nATOM   8061  CB  ARG F 204     -44.329 -15.697 -17.672  1.00 46.22           C  \nATOM   8062  O   ARG F 204     -42.355 -15.068 -15.358  1.00 46.22           O  \nATOM   8063  CG  ARG F 204     -45.265 -14.750 -18.405  1.00 46.22           C  \nATOM   8064  CD  ARG F 204     -46.726 -15.126 -18.195  1.00 46.22           C  \nATOM   8065  NE  ARG F 204     -47.625 -14.177 -18.846  1.00 46.22           N  \nATOM   8066  NH1 ARG F 204     -49.534 -15.431 -18.496  1.00 46.22           N  \nATOM   8067  NH2 ARG F 204     -49.663 -13.417 -19.583  1.00 46.22           N  \nATOM   8068  CZ  ARG F 204     -48.939 -14.344 -18.973  1.00 46.22           C  \nATOM   8069  N   ILE F 205     -41.445 -16.810 -16.348  1.00 41.80           N  \nATOM   8070  CA  ILE F 205     -40.855 -17.273 -15.096  1.00 41.80           C  \nATOM   8071  C   ILE F 205     -39.722 -16.336 -14.683  1.00 41.80           C  \nATOM   8072  CB  ILE F 205     -40.334 -18.722 -15.218  1.00 41.80           C  \nATOM   8073  O   ILE F 205     -39.452 -16.166 -13.492  1.00 41.80           O  \nATOM   8074  CG1 ILE F 205     -41.490 -19.680 -15.529  1.00 41.80           C  \nATOM   8075  CG2 ILE F 205     -39.603 -19.143 -13.940  1.00 41.80           C  \nATOM   8076  CD1 ILE F 205     -41.049 -21.108 -15.822  1.00 41.80           C  \nATOM   8077  N   TYR F 206     -39.159 -15.692 -15.652  1.00 36.19           N  \nATOM   8078  CA  TYR F 206     -38.010 -14.876 -15.273  1.00 36.19           C  \nATOM   8079  C   TYR F 206     -38.447 -13.472 -14.872  1.00 36.19           C  \nATOM   8080  CB  TYR F 206     -37.001 -14.801 -16.423  1.00 36.19           C  \nATOM   8081  O   TYR F 206     -37.617 -12.641 -14.495  1.00 36.19           O  \nATOM   8082  CG  TYR F 206     -35.824 -15.732 -16.259  1.00 36.19           C  \nATOM   8083  CD1 TYR F 206     -34.661 -15.310 -15.619  1.00 36.19           C  \nATOM   8084  CD2 TYR F 206     -35.872 -17.034 -16.745  1.00 36.19           C  \nATOM   8085  CE1 TYR F 206     -33.573 -16.164 -15.468  1.00 36.19           C  \nATOM   8086  CE2 TYR F 206     -34.790 -17.896 -16.600  1.00 36.19           C  \nATOM   8087  OH  TYR F 206     -32.573 -18.302 -15.813  1.00 36.19           O  \nATOM   8088  CZ  TYR F 206     -33.647 -17.453 -15.960  1.00 36.19           C  \nATOM   8089  N   ASP F 207     -39.714 -12.970 -15.173  1.00 33.25           N  \nATOM   8090  CA  ASP F 207     -40.143 -11.630 -14.786  1.00 33.25           C  \nATOM   8091  C   ASP F 207     -40.531 -11.582 -13.310  1.00 33.25           C  \nATOM   8092  CB  ASP F 207     -41.317 -11.171 -15.653  1.00 33.25           C  \nATOM   8093  O   ASP F 207     -40.815 -10.510 -12.771  1.00 33.25           O  \nATOM   8094  CG  ASP F 207     -40.878 -10.603 -16.992  1.00 33.25           C  \nATOM   8095  OD1 ASP F 207     -39.675 -10.311 -17.166  1.00 33.25           O  \nATOM   8096  OD2 ASP F 207     -41.744 -10.443 -17.879  1.00 33.25           O  \nATOM   8097  N   ASP F 208     -40.831 -12.766 -12.650  1.00 27.22           N  \nATOM   8098  CA  ASP F 208     -41.145 -12.513 -11.247  1.00 27.22           C  \nATOM   8099  C   ASP F 208     -39.872 -12.364 -10.417  1.00 27.22           C  \nATOM   8100  CB  ASP F 208     -42.014 -13.638 -10.680  1.00 27.22           C  \nATOM   8101  O   ASP F 208     -38.930 -13.145 -10.570  1.00 27.22           O  \nATOM   8102  CG  ASP F 208     -43.484 -13.484 -11.026  1.00 27.22           C  \nATOM   8103  OD1 ASP F 208     -43.880 -12.420 -11.549  1.00 27.22           O  \nATOM   8104  OD2 ASP F 208     -44.255 -14.434 -10.771  1.00 27.22           O  \nTER    8105      ASP F 208                                                      \nATOM   8106  N   GLY G   1     -20.796   9.345  32.073  1.00 38.05           N  \nATOM   8107  CA  GLY G   1     -20.116  10.007  30.971  1.00 38.05           C  \nATOM   8108  C   GLY G   1     -20.970  10.113  29.721  1.00 38.05           C  \nATOM   8109  O   GLY G   1     -21.959   9.392  29.576  1.00 38.05           O  \nATOM   8110  N   PRO G   2     -20.904  11.211  28.967  1.00 50.65           N  \nATOM   8111  CA  PRO G   2     -21.844  11.434  27.866  1.00 50.65           C  \nATOM   8112  C   PRO G   2     -21.974  10.222  26.946  1.00 50.65           C  \nATOM   8113  CB  PRO G   2     -21.235  12.623  27.119  1.00 50.65           C  \nATOM   8114  O   PRO G   2     -21.000   9.495  26.735  1.00 50.65           O  \nATOM   8115  CG  PRO G   2     -19.873  12.790  27.711  1.00 50.65           C  \nATOM   8116  CD  PRO G   2     -19.739  11.846  28.871  1.00 50.65           C  \nATOM   8117  N   MET G   3     -23.201   9.622  26.779  1.00 59.17           N  \nATOM   8118  CA  MET G   3     -23.558   8.423  26.026  1.00 59.17           C  \nATOM   8119  C   MET G   3     -23.181   8.571  24.555  1.00 59.17           C  \nATOM   8120  CB  MET G   3     -25.054   8.131  26.156  1.00 59.17           C  \nATOM   8121  O   MET G   3     -23.695   9.453  23.865  1.00 59.17           O  \nATOM   8122  CG  MET G   3     -25.383   7.062  27.185  1.00 59.17           C  \nATOM   8123  SD  MET G   3     -27.156   6.590  27.166  1.00 59.17           S  \nATOM   8124  CE  MET G   3     -27.885   8.111  26.498  1.00 59.17           C  \nATOM   8125  N   VAL G   4     -21.990   8.254  24.041  1.00 78.46           N  \nATOM   8126  CA  VAL G   4     -21.522   8.249  22.659  1.00 78.46           C  \nATOM   8127  C   VAL G   4     -22.233   7.147  21.876  1.00 78.46           C  \nATOM   8128  CB  VAL G   4     -19.991   8.057  22.579  1.00 78.46           C  \nATOM   8129  O   VAL G   4     -22.560   6.095  22.431  1.00 78.46           O  \nATOM   8130  CG1 VAL G   4     -19.496   8.249  21.147  1.00 78.46           C  \nATOM   8131  CG2 VAL G   4     -19.282   9.023  23.527  1.00 78.46           C  \nATOM   8132  N   LEU G   5     -22.848   7.593  20.677  1.00 91.44           N  \nATOM   8133  CA  LEU G   5     -23.484   6.626  19.790  1.00 91.44           C  \nATOM   8134  C   LEU G   5     -22.555   5.447  19.516  1.00 91.44           C  \nATOM   8135  CB  LEU G   5     -23.886   7.291  18.471  1.00 91.44           C  \nATOM   8136  O   LEU G   5     -21.384   5.639  19.182  1.00 91.44           O  \nATOM   8137  CG  LEU G   5     -24.941   6.562  17.638  1.00 91.44           C  \nATOM   8138  CD1 LEU G   5     -26.307   6.661  18.309  1.00 91.44           C  \nATOM   8139  CD2 LEU G   5     -24.992   7.129  16.224  1.00 91.44           C  \nATOM   8140  N   GLN G   6     -23.148   4.264  19.748  1.00 95.20           N  \nATOM   8141  CA  GLN G   6     -22.308   3.072  19.693  1.00 95.20           C  \nATOM   8142  C   GLN G   6     -22.605   2.248  18.443  1.00 95.20           C  \nATOM   8143  CB  GLN G   6     -22.507   2.216  20.945  1.00 95.20           C  \nATOM   8144  O   GLN G   6     -23.640   2.436  17.800  1.00 95.20           O  \nATOM   8145  CG  GLN G   6     -22.161   2.935  22.242  1.00 95.20           C  \nATOM   8146  CD  GLN G   6     -22.449   2.096  23.473  1.00 95.20           C  \nATOM   8147  NE2 GLN G   6     -21.892   2.501  24.610  1.00 95.20           N  \nATOM   8148  OE1 GLN G   6     -23.166   1.094  23.403  1.00 95.20           O  \nATOM   8149  N   ALA G   7     -21.770   1.306  18.159  1.00 96.25           N  \nATOM   8150  CA  ALA G   7     -21.867   0.464  16.969  1.00 96.25           C  \nATOM   8151  C   ALA G   7     -23.171  -0.327  16.962  1.00 96.25           C  \nATOM   8152  CB  ALA G   7     -20.672  -0.483  16.889  1.00 96.25           C  \nATOM   8153  O   ALA G   7     -23.854  -0.401  15.937  1.00 96.25           O  \nATOM   8154  N   GLN G   8     -23.543  -0.868  18.100  1.00 96.39           N  \nATOM   8155  CA  GLN G   8     -24.728  -1.716  18.172  1.00 96.39           C  \nATOM   8156  C   GLN G   8     -25.993  -0.921  17.865  1.00 96.39           C  \nATOM   8157  CB  GLN G   8     -24.839  -2.368  19.551  1.00 96.39           C  \nATOM   8158  O   GLN G   8     -27.013  -1.494  17.476  1.00 96.39           O  \nATOM   8159  CG  GLN G   8     -25.041  -1.373  20.687  1.00 96.39           C  \nATOM   8160  CD  GLN G   8     -25.103  -2.041  22.048  1.00 96.39           C  \nATOM   8161  NE2 GLN G   8     -25.865  -1.452  22.963  1.00 96.39           N  \nATOM   8162  OE1 GLN G   8     -24.472  -3.078  22.275  1.00 96.39           O  \nATOM   8163  N   GLU G   9     -25.936   0.336  17.973  1.00 96.72           N  \nATOM   8164  CA  GLU G   9     -27.112   1.179  17.780  1.00 96.72           C  \nATOM   8165  C   GLU G   9     -27.333   1.488  16.302  1.00 96.72           C  \nATOM   8166  CB  GLU G   9     -26.976   2.480  18.575  1.00 96.72           C  \nATOM   8167  O   GLU G   9     -28.428   1.890  15.904  1.00 96.72           O  \nATOM   8168  CG  GLU G   9     -26.942   2.279  20.083  1.00 96.72           C  \nATOM   8169  CD  GLU G   9     -26.634   3.554  20.852  1.00 96.72           C  \nATOM   8170  OE1 GLU G   9     -27.581   4.219  21.329  1.00 96.72           O  \nATOM   8171  OE2 GLU G   9     -25.435   3.891  20.977  1.00 96.72           O  \nATOM   8172  N   ILE G  10     -26.338   1.314  15.508  1.00 97.09           N  \nATOM   8173  CA  ILE G  10     -26.519   1.702  14.113  1.00 97.09           C  \nATOM   8174  C   ILE G  10     -26.199   0.519  13.202  1.00 97.09           C  \nATOM   8175  CB  ILE G  10     -25.635   2.916  13.745  1.00 97.09           C  \nATOM   8176  O   ILE G  10     -26.282   0.631  11.977  1.00 97.09           O  \nATOM   8177  CG1 ILE G  10     -24.151   2.561  13.894  1.00 97.09           C  \nATOM   8178  CG2 ILE G  10     -25.997   4.128  14.608  1.00 97.09           C  \nATOM   8179  CD1 ILE G  10     -23.213   3.494  13.141  1.00 97.09           C  \nATOM   8180  N   MET G  11     -25.795  -0.584  13.734  1.00 97.16           N  \nATOM   8181  CA  MET G  11     -25.449  -1.762  12.944  1.00 97.16           C  \nATOM   8182  C   MET G  11     -26.680  -2.332  12.249  1.00 97.16           C  \nATOM   8183  CB  MET G  11     -24.805  -2.832  13.827  1.00 97.16           C  \nATOM   8184  O   MET G  11     -27.811  -2.009  12.616  1.00 97.16           O  \nATOM   8185  CG  MET G  11     -25.765  -3.466  14.821  1.00 97.16           C  \nATOM   8186  SD  MET G  11     -24.954  -4.733  15.872  1.00 97.16           S  \nATOM   8187  CE  MET G  11     -26.369  -5.273  16.871  1.00 97.16           C  \nATOM   8188  N   THR G  12     -26.430  -3.090  11.195  1.00 93.86           N  \nATOM   8189  CA  THR G  12     -27.483  -3.891  10.581  1.00 93.86           C  \nATOM   8190  C   THR G  12     -27.643  -5.223  11.309  1.00 93.86           C  \nATOM   8191  CB  THR G  12     -27.192  -4.149   9.091  1.00 93.86           C  \nATOM   8192  O   THR G  12     -26.665  -5.942  11.520  1.00 93.86           O  \nATOM   8193  CG2 THR G  12     -28.326  -4.931   8.436  1.00 93.86           C  \nATOM   8194  OG1 THR G  12     -27.039  -2.895   8.416  1.00 93.86           O  \nATOM   8195  N   GLN G  13     -28.776  -5.574  11.748  1.00 90.96           N  \nATOM   8196  CA  GLN G  13     -29.006  -6.756  12.572  1.00 90.96           C  \nATOM   8197  C   GLN G  13     -29.314  -7.977  11.709  1.00 90.96           C  \nATOM   8198  CB  GLN G  13     -30.149  -6.509  13.558  1.00 90.96           C  \nATOM   8199  O   GLN G  13     -29.073  -9.113  12.123  1.00 90.96           O  \nATOM   8200  CG  GLN G  13     -29.830  -5.465  14.620  1.00 90.96           C  \nATOM   8201  CD  GLN G  13     -31.003  -5.185  15.539  1.00 90.96           C  \nATOM   8202  NE2 GLN G  13     -30.980  -4.031  16.196  1.00 90.96           N  \nATOM   8203  OE1 GLN G  13     -31.924  -6.000  15.658  1.00 90.96           O  \nATOM   8204  N   ASN G  14     -29.979  -7.792  10.598  1.00 83.96           N  \nATOM   8205  CA  ASN G  14     -30.265  -8.915   9.711  1.00 83.96           C  \nATOM   8206  C   ASN G  14     -29.002  -9.415   9.015  1.00 83.96           C  \nATOM   8207  CB  ASN G  14     -31.323  -8.526   8.677  1.00 83.96           C  \nATOM   8208  O   ASN G  14     -28.669  -8.958   7.920  1.00 83.96           O  \nATOM   8209  CG  ASN G  14     -32.049  -9.727   8.104  1.00 83.96           C  \nATOM   8210  ND2 ASN G  14     -33.029  -9.474   7.245  1.00 83.96           N  \nATOM   8211  OD1 ASN G  14     -31.731 -10.874   8.431  1.00 83.96           O  \nATOM   8212  N   VAL G  15     -28.366 -10.366   9.710  1.00 87.82           N  \nATOM   8213  CA  VAL G  15     -27.119 -10.896   9.167  1.00 87.82           C  \nATOM   8214  C   VAL G  15     -27.371 -12.263   8.534  1.00 87.82           C  \nATOM   8215  CB  VAL G  15     -26.027 -11.005  10.254  1.00 87.82           C  \nATOM   8216  O   VAL G  15     -28.090 -13.092   9.098  1.00 87.82           O  \nATOM   8217  CG1 VAL G  15     -24.707 -11.477   9.648  1.00 87.82           C  \nATOM   8218  CG2 VAL G  15     -25.844  -9.664  10.962  1.00 87.82           C  \nATOM   8219  N   VAL G  16     -26.935 -12.448   7.352  1.00 94.95           N  \nATOM   8220  CA  VAL G  16     -27.040 -13.728   6.660  1.00 94.95           C  \nATOM   8221  C   VAL G  16     -25.673 -14.407   6.619  1.00 94.95           C  \nATOM   8222  CB  VAL G  16     -27.591 -13.555   5.227  1.00 94.95           C  \nATOM   8223  O   VAL G  16     -24.651 -13.749   6.412  1.00 94.95           O  \nATOM   8224  CG1 VAL G  16     -27.649 -14.899   4.504  1.00 94.95           C  \nATOM   8225  CG2 VAL G  16     -28.973 -12.904   5.263  1.00 94.95           C  \nATOM   8226  N   THR G  17     -25.703 -15.624   6.902  1.00 96.27           N  \nATOM   8227  CA  THR G  17     -24.457 -16.382   6.948  1.00 96.27           C  \nATOM   8228  C   THR G  17     -24.359 -17.334   5.759  1.00 96.27           C  \nATOM   8229  CB  THR G  17     -24.337 -17.181   8.259  1.00 96.27           C  \nATOM   8230  O   THR G  17     -25.361 -17.613   5.097  1.00 96.27           O  \nATOM   8231  CG2 THR G  17     -24.513 -16.274   9.473  1.00 96.27           C  \nATOM   8232  OG1 THR G  17     -25.346 -18.198   8.287  1.00 96.27           O  \nATOM   8233  N   ILE G  18     -23.116 -17.791   5.454  1.00 97.90           N  \nATOM   8234  CA  ILE G  18     -22.833 -18.744   4.387  1.00 97.90           C  \nATOM   8235  C   ILE G  18     -21.674 -19.649   4.797  1.00 97.90           C  \nATOM   8236  CB  ILE G  18     -22.506 -18.024   3.059  1.00 97.90           C  \nATOM   8237  O   ILE G  18     -20.855 -19.276   5.640  1.00 97.90           O  \nATOM   8238  CG1 ILE G  18     -22.541 -19.017   1.891  1.00 97.90           C  \nATOM   8239  CG2 ILE G  18     -21.145 -17.326   3.143  1.00 97.90           C  \nATOM   8240  CD1 ILE G  18     -22.581 -18.358   0.519  1.00 97.90           C  \nATOM   8241  N   ARG G  19     -21.692 -20.790   4.232  1.00 96.91           N  \nATOM   8242  CA  ARG G  19     -20.573 -21.692   4.488  1.00 96.91           C  \nATOM   8243  C   ARG G  19     -19.389 -21.365   3.584  1.00 96.91           C  \nATOM   8244  CB  ARG G  19     -21.000 -23.148   4.287  1.00 96.91           C  \nATOM   8245  O   ARG G  19     -19.573 -20.939   2.442  1.00 96.91           O  \nATOM   8246  CG  ARG G  19     -21.999 -23.645   5.320  1.00 96.91           C  \nATOM   8247  CD  ARG G  19     -22.266 -25.136   5.174  1.00 96.91           C  \nATOM   8248  NE  ARG G  19     -23.104 -25.642   6.258  1.00 96.91           N  \nATOM   8249  NH1 ARG G  19     -23.141 -27.821   5.489  1.00 96.91           N  \nATOM   8250  NH2 ARG G  19     -24.261 -27.258   7.409  1.00 96.91           N  \nATOM   8251  CZ  ARG G  19     -23.500 -26.906   6.383  1.00 96.91           C  \nATOM   8252  N   GLY G  20     -18.236 -21.666   4.094  1.00 97.55           N  \nATOM   8253  CA  GLY G  20     -17.046 -21.462   3.282  1.00 97.55           C  \nATOM   8254  C   GLY G  20     -17.002 -22.352   2.054  1.00 97.55           C  \nATOM   8255  O   GLY G  20     -16.416 -21.982   1.034  1.00 97.55           O  \nATOM   8256  N   SER G  21     -17.570 -23.494   2.103  1.00 97.09           N  \nATOM   8257  CA  SER G  21     -17.544 -24.468   1.018  1.00 97.09           C  \nATOM   8258  C   SER G  21     -18.547 -24.108  -0.073  1.00 97.09           C  \nATOM   8259  CB  SER G  21     -17.837 -25.872   1.549  1.00 97.09           C  \nATOM   8260  O   SER G  21     -18.534 -24.698  -1.155  1.00 97.09           O  \nATOM   8261  OG  SER G  21     -19.102 -25.914   2.187  1.00 97.09           O  \nATOM   8262  N   ALA G  22     -19.380 -23.115   0.165  1.00 98.07           N  \nATOM   8263  CA  ALA G  22     -20.347 -22.705  -0.850  1.00 98.07           C  \nATOM   8264  C   ALA G  22     -19.644 -22.128  -2.076  1.00 98.07           C  \nATOM   8265  CB  ALA G  22     -21.326 -21.686  -0.273  1.00 98.07           C  \nATOM   8266  O   ALA G  22     -18.497 -21.683  -1.989  1.00 98.07           O  \nATOM   8267  N   THR G  23     -20.333 -22.199  -3.200  1.00 98.34           N  \nATOM   8268  CA  THR G  23     -19.781 -21.565  -4.392  1.00 98.34           C  \nATOM   8269  C   THR G  23     -19.962 -20.051  -4.334  1.00 98.34           C  \nATOM   8270  CB  THR G  23     -20.438 -22.114  -5.672  1.00 98.34           C  \nATOM   8271  O   THR G  23     -20.823 -19.552  -3.606  1.00 98.34           O  \nATOM   8272  CG2 THR G  23     -20.341 -23.635  -5.732  1.00 98.34           C  \nATOM   8273  OG1 THR G  23     -21.820 -21.734  -5.694  1.00 98.34           O  \nATOM   8274  N   VAL G  24     -19.197 -19.408  -5.077  1.00 98.80           N  \nATOM   8275  CA  VAL G  24     -19.346 -17.962  -5.200  1.00 98.80           C  \nATOM   8276  C   VAL G  24     -20.698 -17.633  -5.828  1.00 98.80           C  \nATOM   8277  CB  VAL G  24     -18.204 -17.343  -6.038  1.00 98.80           C  \nATOM   8278  O   VAL G  24     -21.333 -16.640  -5.464  1.00 98.80           O  \nATOM   8279  CG1 VAL G  24     -18.477 -15.866  -6.314  1.00 98.80           C  \nATOM   8280  CG2 VAL G  24     -16.865 -17.518  -5.325  1.00 98.80           C  \nATOM   8281  N   ALA G  25     -21.145 -18.462  -6.718  1.00 98.67           N  \nATOM   8282  CA  ALA G  25     -22.462 -18.283  -7.322  1.00 98.67           C  \nATOM   8283  C   ALA G  25     -23.559 -18.300  -6.262  1.00 98.67           C  \nATOM   8284  CB  ALA G  25     -22.720 -19.366  -8.367  1.00 98.67           C  \nATOM   8285  O   ALA G  25     -24.481 -17.481  -6.299  1.00 98.67           O  \nATOM   8286  N   ASP G  26     -23.460 -19.211  -5.313  1.00 98.46           N  \nATOM   8287  CA  ASP G  26     -24.410 -19.269  -4.206  1.00 98.46           C  \nATOM   8288  C   ASP G  26     -24.400 -17.969  -3.405  1.00 98.46           C  \nATOM   8289  CB  ASP G  26     -24.096 -20.453  -3.290  1.00 98.46           C  \nATOM   8290  O   ASP G  26     -25.456 -17.459  -3.026  1.00 98.46           O  \nATOM   8291  CG  ASP G  26     -24.351 -21.797  -3.950  1.00 98.46           C  \nATOM   8292  OD1 ASP G  26     -25.244 -21.890  -4.820  1.00 98.46           O  \nATOM   8293  OD2 ASP G  26     -23.655 -22.773  -3.595  1.00 98.46           O  \nATOM   8294  N   ALA G  27     -23.244 -17.515  -3.179  1.00 98.73           N  \nATOM   8295  CA  ALA G  27     -23.103 -16.271  -2.425  1.00 98.73           C  \nATOM   8296  C   ALA G  27     -23.767 -15.108  -3.157  1.00 98.73           C  \nATOM   8297  CB  ALA G  27     -21.629 -15.965  -2.173  1.00 98.73           C  \nATOM   8298  O   ALA G  27     -24.500 -14.323  -2.552  1.00 98.73           O  \nATOM   8299  N   VAL G  28     -23.513 -14.997  -4.449  1.00 98.75           N  \nATOM   8300  CA  VAL G  28     -24.107 -13.933  -5.252  1.00 98.75           C  \nATOM   8301  C   VAL G  28     -25.629 -14.047  -5.215  1.00 98.75           C  \nATOM   8302  CB  VAL G  28     -23.604 -13.975  -6.712  1.00 98.75           C  \nATOM   8303  O   VAL G  28     -26.328 -13.050  -5.017  1.00 98.75           O  \nATOM   8304  CG1 VAL G  28     -24.358 -12.962  -7.572  1.00 98.75           C  \nATOM   8305  CG2 VAL G  28     -22.100 -13.712  -6.766  1.00 98.75           C  \nATOM   8306  N   LYS G  29     -26.092 -15.215  -5.379  1.00 98.49           N  \nATOM   8307  CA  LYS G  29     -27.532 -15.453  -5.331  1.00 98.49           C  \nATOM   8308  C   LYS G  29     -28.122 -14.991  -4.002  1.00 98.49           C  \nATOM   8309  CB  LYS G  29     -27.839 -16.934  -5.554  1.00 98.49           C  \nATOM   8310  O   LYS G  29     -29.132 -14.285  -3.977  1.00 98.49           O  \nATOM   8311  CG  LYS G  29     -29.324 -17.264  -5.564  1.00 98.49           C  \nATOM   8312  CD  LYS G  29     -29.565 -18.754  -5.772  1.00 98.49           C  \nATOM   8313  CE  LYS G  29     -31.047 -19.097  -5.701  1.00 98.49           C  \nATOM   8314  NZ  LYS G  29     -31.283 -20.565  -5.839  1.00 98.49           N  \nATOM   8315  N   LEU G  30     -27.523 -15.395  -2.996  1.00 98.20           N  \nATOM   8316  CA  LEU G  30     -27.989 -15.040  -1.660  1.00 98.20           C  \nATOM   8317  C   LEU G  30     -27.947 -13.529  -1.454  1.00 98.20           C  \nATOM   8318  CB  LEU G  30     -27.140 -15.736  -0.593  1.00 98.20           C  \nATOM   8319  O   LEU G  30     -28.886 -12.947  -0.907  1.00 98.20           O  \nATOM   8320  CG  LEU G  30     -27.659 -15.659   0.844  1.00 98.20           C  \nATOM   8321  CD1 LEU G  30     -29.097 -16.164   0.916  1.00 98.20           C  \nATOM   8322  CD2 LEU G  30     -26.759 -16.455   1.782  1.00 98.20           C  \nATOM   8323  N   MET G  31     -26.931 -12.876  -1.892  1.00 97.78           N  \nATOM   8324  CA  MET G  31     -26.807 -11.426  -1.771  1.00 97.78           C  \nATOM   8325  C   MET G  31     -27.894 -10.718  -2.573  1.00 97.78           C  \nATOM   8326  CB  MET G  31     -25.426 -10.963  -2.239  1.00 97.78           C  \nATOM   8327  O   MET G  31     -28.476  -9.737  -2.107  1.00 97.78           O  \nATOM   8328  CG  MET G  31     -24.305 -11.303  -1.270  1.00 97.78           C  \nATOM   8329  SD  MET G  31     -22.668 -10.715  -1.856  1.00 97.78           S  \nATOM   8330  CE  MET G  31     -21.598 -11.418  -0.570  1.00 97.78           C  \nATOM   8331  N   LYS G  32     -28.161 -11.201  -3.751  1.00 97.65           N  \nATOM   8332  CA  LYS G  32     -29.220 -10.632  -4.579  1.00 97.65           C  \nATOM   8333  C   LYS G  32     -30.585 -10.797  -3.917  1.00 97.65           C  \nATOM   8334  CB  LYS G  32     -29.228 -11.282  -5.963  1.00 97.65           C  \nATOM   8335  O   LYS G  32     -31.343  -9.832  -3.796  1.00 97.65           O  \nATOM   8336  CG  LYS G  32     -28.073 -10.852  -6.856  1.00 97.65           C  \nATOM   8337  CD  LYS G  32     -28.168 -11.486  -8.238  1.00 97.65           C  \nATOM   8338  CE  LYS G  32     -27.068 -10.981  -9.162  1.00 97.65           C  \nATOM   8339  NZ  LYS G  32     -27.197 -11.549 -10.538  1.00 97.65           N  \nATOM   8340  N   GLU G  33     -30.853 -11.988  -3.412  1.00 97.19           N  \nATOM   8341  CA  GLU G  33     -32.143 -12.296  -2.803  1.00 97.19           C  \nATOM   8342  C   GLU G  33     -32.374 -11.461  -1.547  1.00 97.19           C  \nATOM   8343  CB  GLU G  33     -32.237 -13.787  -2.467  1.00 97.19           C  \nATOM   8344  O   GLU G  33     -33.482 -10.971  -1.316  1.00 97.19           O  \nATOM   8345  CG  GLU G  33     -32.411 -14.682  -3.686  1.00 97.19           C  \nATOM   8346  CD  GLU G  33     -32.395 -16.164  -3.349  1.00 97.19           C  \nATOM   8347  OE1 GLU G  33     -32.637 -16.995  -4.254  1.00 97.19           O  \nATOM   8348  OE2 GLU G  33     -32.139 -16.498  -2.170  1.00 97.19           O  \nATOM   8349  N   LYS G  34     -31.337 -11.300  -0.824  1.00 96.17           N  \nATOM   8350  CA  LYS G  34     -31.478 -10.634   0.468  1.00 96.17           C  \nATOM   8351  C   LYS G  34     -31.072  -9.165   0.376  1.00 96.17           C  \nATOM   8352  CB  LYS G  34     -30.641 -11.343   1.532  1.00 96.17           C  \nATOM   8353  O   LYS G  34     -31.158  -8.430   1.361  1.00 96.17           O  \nATOM   8354  CG  LYS G  34     -31.036 -12.794   1.766  1.00 96.17           C  \nATOM   8355  CD  LYS G  34     -32.437 -12.903   2.354  1.00 96.17           C  \nATOM   8356  CE  LYS G  34     -32.792 -14.345   2.692  1.00 96.17           C  \nATOM   8357  NZ  LYS G  34     -34.161 -14.456   3.279  1.00 96.17           N  \nATOM   8358  N   LYS G  35     -30.593  -8.709  -0.839  1.00 94.15           N  \nATOM   8359  CA  LYS G  35     -30.159  -7.339  -1.094  1.00 94.15           C  \nATOM   8360  C   LYS G  35     -29.064  -6.918  -0.119  1.00 94.15           C  \nATOM   8361  CB  LYS G  35     -31.343  -6.375  -1.000  1.00 94.15           C  \nATOM   8362  O   LYS G  35     -29.164  -5.870   0.522  1.00 94.15           O  \nATOM   8363  CG  LYS G  35     -32.435  -6.633  -2.027  1.00 94.15           C  \nATOM   8364  CD  LYS G  35     -33.552  -5.602  -1.927  1.00 94.15           C  \nATOM   8365  CE  LYS G  35     -34.650  -5.865  -2.949  1.00 94.15           C  \nATOM   8366  NZ  LYS G  35     -35.746  -4.854  -2.857  1.00 94.15           N  \nATOM   8367  N   LEU G  36     -28.098  -7.746  -0.032  1.00 94.62           N  \nATOM   8368  CA  LEU G  36     -26.977  -7.513   0.872  1.00 94.62           C  \nATOM   8369  C   LEU G  36     -25.675  -7.354   0.094  1.00 94.62           C  \nATOM   8370  CB  LEU G  36     -26.849  -8.663   1.874  1.00 94.62           C  \nATOM   8371  O   LEU G  36     -25.560  -7.832  -1.037  1.00 94.62           O  \nATOM   8372  CG  LEU G  36     -28.021  -8.856   2.838  1.00 94.62           C  \nATOM   8373  CD1 LEU G  36     -27.874 -10.172   3.595  1.00 94.62           C  \nATOM   8374  CD2 LEU G  36     -28.115  -7.683   3.808  1.00 94.62           C  \nATOM   8375  N   ARG G  37     -24.744  -6.679   0.686  1.00 95.09           N  \nATOM   8376  CA  ARG G  37     -23.468  -6.419   0.028  1.00 95.09           C  \nATOM   8377  C   ARG G  37     -22.336  -7.182   0.707  1.00 95.09           C  \nATOM   8378  CB  ARG G  37     -23.161  -4.920   0.023  1.00 95.09           C  \nATOM   8379  O   ARG G  37     -21.172  -7.046   0.326  1.00 95.09           O  \nATOM   8380  CG  ARG G  37     -24.122  -4.097  -0.820  1.00 95.09           C  \nATOM   8381  CD  ARG G  37     -23.846  -2.605  -0.695  1.00 95.09           C  \nATOM   8382  NE  ARG G  37     -24.842  -1.811  -1.409  1.00 95.09           N  \nATOM   8383  NH1 ARG G  37     -24.803  -0.045   0.081  1.00 95.09           N  \nATOM   8384  NH2 ARG G  37     -26.183   0.022  -1.749  1.00 95.09           N  \nATOM   8385  CZ  ARG G  37     -25.274  -0.613  -1.024  1.00 95.09           C  \nATOM   8386  N   GLY G  38     -22.567  -7.950   1.713  1.00 96.37           N  \nATOM   8387  CA  GLY G  38     -21.652  -8.819   2.436  1.00 96.37           C  \nATOM   8388  C   GLY G  38     -22.354  -9.934   3.186  1.00 96.37           C  \nATOM   8389  O   GLY G  38     -23.482  -9.761   3.653  1.00 96.37           O  \nATOM   8390  N   LEU G  39     -21.619 -11.026   3.319  1.00 98.03           N  \nATOM   8391  CA  LEU G  39     -22.101 -12.187   4.059  1.00 98.03           C  \nATOM   8392  C   LEU G  39     -21.084 -12.623   5.109  1.00 98.03           C  \nATOM   8393  CB  LEU G  39     -22.397 -13.347   3.105  1.00 98.03           C  \nATOM   8394  O   LEU G  39     -19.875 -12.539   4.880  1.00 98.03           O  \nATOM   8395  CG  LEU G  39     -23.333 -13.040   1.935  1.00 98.03           C  \nATOM   8396  CD1 LEU G  39     -23.341 -14.201   0.945  1.00 98.03           C  \nATOM   8397  CD2 LEU G  39     -24.742 -12.750   2.439  1.00 98.03           C  \nATOM   8398  N   ILE G  40     -21.610 -13.109   6.202  1.00 97.83           N  \nATOM   8399  CA  ILE G  40     -20.736 -13.647   7.239  1.00 97.83           C  \nATOM   8400  C   ILE G  40     -20.487 -15.132   6.983  1.00 97.83           C  \nATOM   8401  CB  ILE G  40     -21.335 -13.439   8.648  1.00 97.83           C  \nATOM   8402  O   ILE G  40     -21.412 -15.874   6.646  1.00 97.83           O  \nATOM   8403  CG1 ILE G  40     -21.476 -11.943   8.952  1.00 97.83           C  \nATOM   8404  CG2 ILE G  40     -20.477 -14.135   9.708  1.00 97.83           C  \nATOM   8405  CD1 ILE G  40     -20.160 -11.178   8.917  1.00 97.83           C  \nATOM   8406  N   VAL G  41     -19.272 -15.539   6.992  1.00 97.77           N  \nATOM   8407  CA  VAL G  41     -18.920 -16.951   6.884  1.00 97.77           C  \nATOM   8408  C   VAL G  41     -18.917 -17.590   8.271  1.00 97.77           C  \nATOM   8409  CB  VAL G  41     -17.545 -17.143   6.206  1.00 97.77           C  \nATOM   8410  O   VAL G  41     -18.165 -17.170   9.153  1.00 97.77           O  \nATOM   8411  CG1 VAL G  41     -17.208 -18.627   6.080  1.00 97.77           C  \nATOM   8412  CG2 VAL G  41     -17.528 -16.470   4.835  1.00 97.77           C  \nATOM   8413  N   GLU G  42     -19.569 -18.585   8.464  1.00 93.39           N  \nATOM   8414  CA  GLU G  42     -19.807 -19.204   9.765  1.00 93.39           C  \nATOM   8415  C   GLU G  42     -18.577 -19.968  10.246  1.00 93.39           C  \nATOM   8416  CB  GLU G  42     -21.016 -20.141   9.701  1.00 93.39           C  \nATOM   8417  O   GLU G  42     -17.863 -20.574   9.444  1.00 93.39           O  \nATOM   8418  CG  GLU G  42     -22.332 -19.429   9.421  1.00 93.39           C  \nATOM   8419  CD  GLU G  42     -23.509 -20.380   9.271  1.00 93.39           C  \nATOM   8420  OE1 GLU G  42     -24.663 -19.905   9.165  1.00 93.39           O  \nATOM   8421  OE2 GLU G  42     -23.275 -21.609   9.261  1.00 93.39           O  \nATOM   8422  N   PRO G  43     -18.431 -19.965  11.588  1.00 91.81           N  \nATOM   8423  CA  PRO G  43     -17.408 -20.858  12.136  1.00 91.81           C  \nATOM   8424  C   PRO G  43     -17.795 -22.332  12.034  1.00 91.81           C  \nATOM   8425  CB  PRO G  43     -17.306 -20.421  13.600  1.00 91.81           C  \nATOM   8426  O   PRO G  43     -18.982 -22.665  12.060  1.00 91.81           O  \nATOM   8427  CG  PRO G  43     -18.037 -19.119  13.662  1.00 91.81           C  \nATOM   8428  CD  PRO G  43     -19.006 -19.061  12.516  1.00 91.81           C  \nATOM   8429  N   ARG G  44     -16.847 -23.168  11.877  1.00 85.96           N  \nATOM   8430  CA  ARG G  44     -17.109 -24.600  11.784  1.00 85.96           C  \nATOM   8431  C   ARG G  44     -17.277 -25.217  13.169  1.00 85.96           C  \nATOM   8432  CB  ARG G  44     -15.982 -25.306  11.029  1.00 85.96           C  \nATOM   8433  O   ARG G  44     -18.009 -26.195  13.334  1.00 85.96           O  \nATOM   8434  CG  ARG G  44     -15.859 -24.887   9.572  1.00 85.96           C  \nATOM   8435  CD  ARG G  44     -16.840 -25.639   8.684  1.00 85.96           C  \nATOM   8436  NE  ARG G  44     -16.476 -27.047   8.552  1.00 85.96           N  \nATOM   8437  NH1 ARG G  44     -17.712 -27.399   6.632  1.00 85.96           N  \nATOM   8438  NH2 ARG G  44     -16.507 -29.116   7.555  1.00 85.96           N  \nATOM   8439  CZ  ARG G  44     -16.899 -27.851   7.580  1.00 85.96           C  \nATOM   8440  N   HIS G  45     -16.526 -24.699  14.132  1.00 81.67           N  \nATOM   8441  CA  HIS G  45     -16.590 -25.127  15.525  1.00 81.67           C  \nATOM   8442  C   HIS G  45     -16.314 -23.964  16.472  1.00 81.67           C  \nATOM   8443  CB  HIS G  45     -15.598 -26.261  15.783  1.00 81.67           C  \nATOM   8444  O   HIS G  45     -16.055 -22.843  16.027  1.00 81.67           O  \nATOM   8445  CG  HIS G  45     -14.203 -25.951  15.340  1.00 81.67           C  \nATOM   8446  CD2 HIS G  45     -13.509 -26.346  14.247  1.00 81.67           C  \nATOM   8447  ND1 HIS G  45     -13.355 -25.141  16.064  1.00 81.67           N  \nATOM   8448  CE1 HIS G  45     -12.197 -25.051  15.433  1.00 81.67           C  \nATOM   8449  NE2 HIS G  45     -12.264 -25.773  14.327  1.00 81.67           N  \nATOM   8450  N   GLU G  46     -16.374 -24.161  17.653  1.00 75.76           N  \nATOM   8451  CA  GLU G  46     -16.327 -23.114  18.669  1.00 75.76           C  \nATOM   8452  C   GLU G  46     -15.005 -22.354  18.619  1.00 75.76           C  \nATOM   8453  CB  GLU G  46     -16.539 -23.709  20.064  1.00 75.76           C  \nATOM   8454  O   GLU G  46     -14.957 -21.160  18.922  1.00 75.76           O  \nATOM   8455  CG  GLU G  46     -17.990 -24.048  20.374  1.00 75.76           C  \nATOM   8456  CD  GLU G  46     -18.205 -24.512  21.806  1.00 75.76           C  \nATOM   8457  OE1 GLU G  46     -19.372 -24.719  22.208  1.00 75.76           O  \nATOM   8458  OE2 GLU G  46     -17.197 -24.668  22.532  1.00 75.76           O  \nATOM   8459  N   GLN G  47     -13.987 -22.969  18.224  1.00 75.65           N  \nATOM   8460  CA  GLN G  47     -12.673 -22.336  18.202  1.00 75.65           C  \nATOM   8461  C   GLN G  47     -12.397 -21.690  16.847  1.00 75.65           C  \nATOM   8462  CB  GLN G  47     -11.580 -23.354  18.531  1.00 75.65           C  \nATOM   8463  O   GLN G  47     -11.392 -20.997  16.677  1.00 75.65           O  \nATOM   8464  CG  GLN G  47     -11.647 -23.889  19.955  1.00 75.65           C  \nATOM   8465  CD  GLN G  47     -10.695 -25.046  20.192  1.00 75.65           C  \nATOM   8466  NE2 GLN G  47     -10.641 -25.525  21.430  1.00 75.65           N  \nATOM   8467  OE1 GLN G  47     -10.014 -25.506  19.270  1.00 75.65           O  \nATOM   8468  N   ASP G  48     -13.281 -21.913  15.974  1.00 86.91           N  \nATOM   8469  CA  ASP G  48     -13.157 -21.344  14.636  1.00 86.91           C  \nATOM   8470  C   ASP G  48     -13.715 -19.923  14.589  1.00 86.91           C  \nATOM   8471  CB  ASP G  48     -13.873 -22.224  13.610  1.00 86.91           C  \nATOM   8472  O   ASP G  48     -14.750 -19.637  15.194  1.00 86.91           O  \nATOM   8473  CG  ASP G  48     -13.559 -21.837  12.175  1.00 86.91           C  \nATOM   8474  OD1 ASP G  48     -12.415 -21.424  11.891  1.00 86.91           O  \nATOM   8475  OD2 ASP G  48     -14.467 -21.944  11.321  1.00 86.91           O  \nATOM   8476  N   PRO G  49     -13.040 -19.002  13.921  1.00 92.76           N  \nATOM   8477  CA  PRO G  49     -13.504 -17.613  13.875  1.00 92.76           C  \nATOM   8478  C   PRO G  49     -14.514 -17.365  12.757  1.00 92.76           C  \nATOM   8479  CB  PRO G  49     -12.218 -16.819  13.636  1.00 92.76           C  \nATOM   8480  O   PRO G  49     -14.653 -18.191  11.851  1.00 92.76           O  \nATOM   8481  CG  PRO G  49     -11.367 -17.714  12.794  1.00 92.76           C  \nATOM   8482  CD  PRO G  49     -11.573 -19.131  13.245  1.00 92.76           C  \nATOM   8483  N   TYR G  50     -15.178 -16.211  12.850  1.00 94.24           N  \nATOM   8484  CA  TYR G  50     -16.033 -15.745  11.764  1.00 94.24           C  \nATOM   8485  C   TYR G  50     -15.201 -15.225  10.598  1.00 94.24           C  \nATOM   8486  CB  TYR G  50     -16.981 -14.648  12.259  1.00 94.24           C  \nATOM   8487  O   TYR G  50     -14.068 -14.775  10.788  1.00 94.24           O  \nATOM   8488  CG  TYR G  50     -18.052 -15.149  13.197  1.00 94.24           C  \nATOM   8489  CD1 TYR G  50     -19.217 -15.734  12.706  1.00 94.24           C  \nATOM   8490  CD2 TYR G  50     -17.902 -15.037  14.575  1.00 94.24           C  \nATOM   8491  CE1 TYR G  50     -20.208 -16.195  13.567  1.00 94.24           C  \nATOM   8492  CE2 TYR G  50     -18.886 -15.495  15.445  1.00 94.24           C  \nATOM   8493  OH  TYR G  50     -21.011 -16.526  15.789  1.00 94.24           O  \nATOM   8494  CZ  TYR G  50     -20.034 -16.072  14.932  1.00 94.24           C  \nATOM   8495  N   GLY G  51     -15.747 -15.426   9.423  1.00 96.68           N  \nATOM   8496  CA  GLY G  51     -15.229 -14.784   8.225  1.00 96.68           C  \nATOM   8497  C   GLY G  51     -16.242 -13.882   7.546  1.00 96.68           C  \nATOM   8498  O   GLY G  51     -17.377 -13.756   8.009  1.00 96.68           O  \nATOM   8499  N   ILE G  52     -15.801 -13.222   6.506  1.00 98.31           N  \nATOM   8500  CA  ILE G  52     -16.691 -12.349   5.750  1.00 98.31           C  \nATOM   8501  C   ILE G  52     -16.334 -12.406   4.266  1.00 98.31           C  \nATOM   8502  CB  ILE G  52     -16.623 -10.892   6.262  1.00 98.31           C  \nATOM   8503  O   ILE G  52     -15.160 -12.523   3.908  1.00 98.31           O  \nATOM   8504  CG1 ILE G  52     -17.701 -10.037   5.586  1.00 98.31           C  \nATOM   8505  CG2 ILE G  52     -15.229 -10.303   6.027  1.00 98.31           C  \nATOM   8506  CD1 ILE G  52     -17.915  -8.680   6.241  1.00 98.31           C  \nATOM   8507  N   VAL G  53     -17.341 -12.430   3.413  1.00 98.55           N  \nATOM   8508  CA  VAL G  53     -17.190 -12.270   1.971  1.00 98.55           C  \nATOM   8509  C   VAL G  53     -18.058 -11.112   1.485  1.00 98.55           C  \nATOM   8510  CB  VAL G  53     -17.558 -13.567   1.215  1.00 98.55           C  \nATOM   8511  O   VAL G  53     -19.226 -11.001   1.866  1.00 98.55           O  \nATOM   8512  CG1 VAL G  53     -19.024 -13.929   1.447  1.00 98.55           C  \nATOM   8513  CG2 VAL G  53     -17.273 -13.413  -0.278  1.00 98.55           C  \nATOM   8514  N   THR G  54     -17.495 -10.217   0.685  1.00 98.18           N  \nATOM   8515  CA  THR G  54     -18.193  -9.005   0.272  1.00 98.18           C  \nATOM   8516  C   THR G  54     -18.315  -8.943  -1.248  1.00 98.18           C  \nATOM   8517  CB  THR G  54     -17.474  -7.743   0.783  1.00 98.18           C  \nATOM   8518  O   THR G  54     -17.686  -9.729  -1.959  1.00 98.18           O  \nATOM   8519  CG2 THR G  54     -17.176  -7.847   2.276  1.00 98.18           C  \nATOM   8520  OG1 THR G  54     -16.240  -7.582   0.072  1.00 98.18           O  \nATOM   8521  N   GLU G  55     -19.111  -7.997  -1.703  1.00 98.04           N  \nATOM   8522  CA  GLU G  55     -19.243  -7.757  -3.137  1.00 98.04           C  \nATOM   8523  C   GLU G  55     -17.908  -7.351  -3.755  1.00 98.04           C  \nATOM   8524  CB  GLU G  55     -20.297  -6.680  -3.408  1.00 98.04           C  \nATOM   8525  O   GLU G  55     -17.617  -7.699  -4.901  1.00 98.04           O  \nATOM   8526  CG  GLU G  55     -19.980  -5.336  -2.769  1.00 98.04           C  \nATOM   8527  CD  GLU G  55     -21.069  -4.297  -2.985  1.00 98.04           C  \nATOM   8528  OE1 GLU G  55     -20.861  -3.115  -2.629  1.00 98.04           O  \nATOM   8529  OE2 GLU G  55     -22.141  -4.668  -3.514  1.00 98.04           O  \nATOM   8530  N   THR G  56     -17.132  -6.690  -2.992  1.00 98.06           N  \nATOM   8531  CA  THR G  56     -15.823  -6.275  -3.485  1.00 98.06           C  \nATOM   8532  C   THR G  56     -14.915  -7.484  -3.694  1.00 98.06           C  \nATOM   8533  CB  THR G  56     -15.149  -5.286  -2.516  1.00 98.06           C  \nATOM   8534  O   THR G  56     -14.205  -7.568  -4.699  1.00 98.06           O  \nATOM   8535  CG2 THR G  56     -13.815  -4.796  -3.070  1.00 98.06           C  \nATOM   8536  OG1 THR G  56     -16.012  -4.160  -2.315  1.00 98.06           O  \nATOM   8537  N   ASP G  57     -14.939  -8.447  -2.802  1.00 98.46           N  \nATOM   8538  CA  ASP G  57     -14.171  -9.675  -2.979  1.00 98.46           C  \nATOM   8539  C   ASP G  57     -14.548 -10.375  -4.283  1.00 98.46           C  \nATOM   8540  CB  ASP G  57     -14.387 -10.619  -1.794  1.00 98.46           C  \nATOM   8541  O   ASP G  57     -13.673 -10.764  -5.060  1.00 98.46           O  \nATOM   8542  CG  ASP G  57     -13.800 -10.087  -0.498  1.00 98.46           C  \nATOM   8543  OD1 ASP G  57     -12.702  -9.490  -0.525  1.00 98.46           O  \nATOM   8544  OD2 ASP G  57     -14.440 -10.269   0.560  1.00 98.46           O  \nATOM   8545  N   ILE G  58     -15.795 -10.463  -4.507  1.00 98.76           N  \nATOM   8546  CA  ILE G  58     -16.312 -11.193  -5.660  1.00 98.76           C  \nATOM   8547  C   ILE G  58     -15.916 -10.471  -6.947  1.00 98.76           C  \nATOM   8548  CB  ILE G  58     -17.847 -11.354  -5.586  1.00 98.76           C  \nATOM   8549  O   ILE G  58     -15.402 -11.091  -7.881  1.00 98.76           O  \nATOM   8550  CG1 ILE G  58     -18.231 -12.285  -4.431  1.00 98.76           C  \nATOM   8551  CG2 ILE G  58     -18.400 -11.874  -6.916  1.00 98.76           C  \nATOM   8552  CD1 ILE G  58     -19.726 -12.341  -4.151  1.00 98.76           C  \nATOM   8553  N   VAL G  59     -16.090  -9.209  -6.960  1.00 98.60           N  \nATOM   8554  CA  VAL G  59     -15.815  -8.454  -8.179  1.00 98.60           C  \nATOM   8555  C   VAL G  59     -14.310  -8.408  -8.431  1.00 98.60           C  \nATOM   8556  CB  VAL G  59     -16.387  -7.021  -8.099  1.00 98.60           C  \nATOM   8557  O   VAL G  59     -13.853  -8.659  -9.548  1.00 98.60           O  \nATOM   8558  CG1 VAL G  59     -15.885  -6.174  -9.267  1.00 98.60           C  \nATOM   8559  CG2 VAL G  59     -17.914  -7.056  -8.078  1.00 98.60           C  \nATOM   8560  N   TYR G  60     -13.522  -8.221  -7.403  1.00 98.28           N  \nATOM   8561  CA  TYR G  60     -12.078  -8.059  -7.536  1.00 98.28           C  \nATOM   8562  C   TYR G  60     -11.408  -9.387  -7.863  1.00 98.28           C  \nATOM   8563  CB  TYR G  60     -11.482  -7.475  -6.251  1.00 98.28           C  \nATOM   8564  O   TYR G  60     -10.417  -9.426  -8.597  1.00 98.28           O  \nATOM   8565  CG  TYR G  60     -11.565  -5.970  -6.172  1.00 98.28           C  \nATOM   8566  CD1 TYR G  60     -12.435  -5.257  -6.994  1.00 98.28           C  \nATOM   8567  CD2 TYR G  60     -10.774  -5.259  -5.277  1.00 98.28           C  \nATOM   8568  CE1 TYR G  60     -12.514  -3.870  -6.925  1.00 98.28           C  \nATOM   8569  CE2 TYR G  60     -10.845  -3.872  -5.200  1.00 98.28           C  \nATOM   8570  OH  TYR G  60     -11.790  -1.814  -5.955  1.00 98.28           O  \nATOM   8571  CZ  TYR G  60     -11.717  -3.187  -6.027  1.00 98.28           C  \nATOM   8572  N   LYS G  61     -11.901 -10.455  -7.306  1.00 98.18           N  \nATOM   8573  CA  LYS G  61     -11.145 -11.703  -7.344  1.00 98.18           C  \nATOM   8574  C   LYS G  61     -11.775 -12.698  -8.314  1.00 98.18           C  \nATOM   8575  CB  LYS G  61     -11.055 -12.319  -5.946  1.00 98.18           C  \nATOM   8576  O   LYS G  61     -11.132 -13.668  -8.722  1.00 98.18           O  \nATOM   8577  CG  LYS G  61     -10.309 -11.459  -4.937  1.00 98.18           C  \nATOM   8578  CD  LYS G  61     -10.288 -12.106  -3.559  1.00 98.18           C  \nATOM   8579  CE  LYS G  61      -9.646 -11.193  -2.522  1.00 98.18           C  \nATOM   8580  NZ  LYS G  61      -9.652 -11.810  -1.162  1.00 98.18           N  \nATOM   8581  N   VAL G  62     -13.008 -12.491  -8.684  1.00 98.39           N  \nATOM   8582  CA  VAL G  62     -13.681 -13.468  -9.533  1.00 98.39           C  \nATOM   8583  C   VAL G  62     -14.054 -12.823 -10.866  1.00 98.39           C  \nATOM   8584  CB  VAL G  62     -14.941 -14.044  -8.849  1.00 98.39           C  \nATOM   8585  O   VAL G  62     -13.452 -13.125 -11.899  1.00 98.39           O  \nATOM   8586  CG1 VAL G  62     -15.554 -15.158  -9.695  1.00 98.39           C  \nATOM   8587  CG2 VAL G  62     -14.600 -14.556  -7.450  1.00 98.39           C  \nATOM   8588  N   ALA G  63     -14.920 -11.839 -10.863  1.00 97.89           N  \nATOM   8589  CA  ALA G  63     -15.400 -11.209 -12.090  1.00 97.89           C  \nATOM   8590  C   ALA G  63     -14.249 -10.583 -12.872  1.00 97.89           C  \nATOM   8591  CB  ALA G  63     -16.457 -10.155 -11.769  1.00 97.89           C  \nATOM   8592  O   ALA G  63     -14.169 -10.729 -14.094  1.00 97.89           O  \nATOM   8593  N   ALA G  64     -13.390 -10.016 -12.208  1.00 97.27           N  \nATOM   8594  CA  ALA G  64     -12.285  -9.286 -12.824  1.00 97.27           C  \nATOM   8595  C   ALA G  64     -11.357 -10.232 -13.580  1.00 97.27           C  \nATOM   8596  CB  ALA G  64     -11.504  -8.511 -11.767  1.00 97.27           C  \nATOM   8597  O   ALA G  64     -10.618  -9.807 -14.471  1.00 97.27           O  \nATOM   8598  N   PHE G  65     -11.405 -11.478 -13.196  1.00 96.11           N  \nATOM   8599  CA  PHE G  65     -10.451 -12.417 -13.775  1.00 96.11           C  \nATOM   8600  C   PHE G  65     -11.169 -13.473 -14.608  1.00 96.11           C  \nATOM   8601  CB  PHE G  65      -9.622 -13.090 -12.676  1.00 96.11           C  \nATOM   8602  O   PHE G  65     -10.542 -14.410 -15.106  1.00 96.11           O  \nATOM   8603  CG  PHE G  65      -8.747 -12.137 -11.907  1.00 96.11           C  \nATOM   8604  CD1 PHE G  65      -7.525 -11.724 -12.422  1.00 96.11           C  \nATOM   8605  CD2 PHE G  65      -9.148 -11.654 -10.669  1.00 96.11           C  \nATOM   8606  CE1 PHE G  65      -6.713 -10.843 -11.713  1.00 96.11           C  \nATOM   8607  CE2 PHE G  65      -8.342 -10.772  -9.953  1.00 96.11           C  \nATOM   8608  CZ  PHE G  65      -7.125 -10.369 -10.477  1.00 96.11           C  \nATOM   8609  N   GLY G  66     -12.422 -13.354 -14.666  1.00 93.62           N  \nATOM   8610  CA  GLY G  66     -13.209 -14.261 -15.487  1.00 93.62           C  \nATOM   8611  C   GLY G  66     -13.314 -15.656 -14.902  1.00 93.62           C  \nATOM   8612  O   GLY G  66     -13.503 -16.630 -15.635  1.00 93.62           O  \nATOM   8613  N   HIS G  67     -13.089 -15.859 -13.699  1.00 96.35           N  \nATOM   8614  CA  HIS G  67     -13.269 -17.157 -13.059  1.00 96.35           C  \nATOM   8615  C   HIS G  67     -14.740 -17.557 -13.027  1.00 96.35           C  \nATOM   8616  CB  HIS G  67     -12.699 -17.139 -11.640  1.00 96.35           C  \nATOM   8617  O   HIS G  67     -15.622 -16.696 -13.029  1.00 96.35           O  \nATOM   8618  CG  HIS G  67     -11.218 -16.934 -11.591  1.00 96.35           C  \nATOM   8619  CD2 HIS G  67     -10.459 -16.110 -10.830  1.00 96.35           C  \nATOM   8620  ND1 HIS G  67     -10.344 -17.628 -12.399  1.00 96.35           N  \nATOM   8621  CE1 HIS G  67      -9.107 -17.238 -12.136  1.00 96.35           C  \nATOM   8622  NE2 HIS G  67      -9.150 -16.318 -11.188  1.00 96.35           N  \nATOM   8623  N   ASP G  68     -14.995 -18.820 -12.928  1.00 96.12           N  \nATOM   8624  CA  ASP G  68     -16.366 -19.321 -12.889  1.00 96.12           C  \nATOM   8625  C   ASP G  68     -16.897 -19.356 -11.457  1.00 96.12           C  \nATOM   8626  CB  ASP G  68     -16.446 -20.715 -13.514  1.00 96.12           C  \nATOM   8627  O   ASP G  68     -16.447 -20.164 -10.642  1.00 96.12           O  \nATOM   8628  CG  ASP G  68     -17.869 -21.233 -13.625  1.00 96.12           C  \nATOM   8629  OD1 ASP G  68     -18.802 -20.566 -13.129  1.00 96.12           O  \nATOM   8630  OD2 ASP G  68     -18.059 -22.321 -14.212  1.00 96.12           O  \nATOM   8631  N   PRO G  69     -17.857 -18.539 -11.196  1.00 98.06           N  \nATOM   8632  CA  PRO G  69     -18.391 -18.494  -9.833  1.00 98.06           C  \nATOM   8633  C   PRO G  69     -19.058 -19.804  -9.417  1.00 98.06           C  \nATOM   8634  CB  PRO G  69     -19.413 -17.356  -9.893  1.00 98.06           C  \nATOM   8635  O   PRO G  69     -19.288 -20.033  -8.227  1.00 98.06           O  \nATOM   8636  CG  PRO G  69     -19.037 -16.568 -11.105  1.00 98.06           C  \nATOM   8637  CD  PRO G  69     -18.438 -17.503 -12.116  1.00 98.06           C  \nATOM   8638  N   LYS G  70     -19.375 -20.608 -10.322  1.00 97.01           N  \nATOM   8639  CA  LYS G  70     -20.034 -21.873 -10.009  1.00 97.01           C  \nATOM   8640  C   LYS G  70     -19.024 -22.919  -9.546  1.00 97.01           C  \nATOM   8641  CB  LYS G  70     -20.805 -22.391 -11.224  1.00 97.01           C  \nATOM   8642  O   LYS G  70     -19.398 -23.926  -8.942  1.00 97.01           O  \nATOM   8643  CG  LYS G  70     -21.971 -21.507 -11.640  1.00 97.01           C  \nATOM   8644  CD  LYS G  70     -22.628 -22.012 -12.918  1.00 97.01           C  \nATOM   8645  CE  LYS G  70     -23.673 -21.033 -13.436  1.00 97.01           C  \nATOM   8646  NZ  LYS G  70     -24.208 -21.447 -14.767  1.00 97.01           N  \nATOM   8647  N   THR G  71     -17.762 -22.700  -9.815  1.00 96.23           N  \nATOM   8648  CA  THR G  71     -16.712 -23.634  -9.425  1.00 96.23           C  \nATOM   8649  C   THR G  71     -15.885 -23.068  -8.273  1.00 96.23           C  \nATOM   8650  CB  THR G  71     -15.787 -23.962 -10.611  1.00 96.23           C  \nATOM   8651  O   THR G  71     -15.505 -23.800  -7.357  1.00 96.23           O  \nATOM   8652  CG2 THR G  71     -16.577 -24.536 -11.782  1.00 96.23           C  \nATOM   8653  OG1 THR G  71     -15.124 -22.766 -11.038  1.00 96.23           O  \nATOM   8654  N   MET G  72     -15.667 -21.819  -8.287  1.00 97.90           N  \nATOM   8655  CA  MET G  72     -14.892 -21.194  -7.218  1.00 97.90           C  \nATOM   8656  C   MET G  72     -15.697 -21.140  -5.924  1.00 97.90           C  \nATOM   8657  CB  MET G  72     -14.456 -19.785  -7.623  1.00 97.90           C  \nATOM   8658  O   MET G  72     -16.913 -20.942  -5.951  1.00 97.90           O  \nATOM   8659  CG  MET G  72     -13.356 -19.209  -6.746  1.00 97.90           C  \nATOM   8660  SD  MET G  72     -12.677 -17.639  -7.410  1.00 97.90           S  \nATOM   8661  CE  MET G  72     -11.683 -18.277  -8.787  1.00 97.90           C  \nATOM   8662  N   ARG G  73     -15.013 -21.314  -4.833  1.00 98.44           N  \nATOM   8663  CA  ARG G  73     -15.689 -21.417  -3.543  1.00 98.44           C  \nATOM   8664  C   ARG G  73     -15.432 -20.179  -2.690  1.00 98.44           C  \nATOM   8665  CB  ARG G  73     -15.234 -22.672  -2.796  1.00 98.44           C  \nATOM   8666  O   ARG G  73     -14.443 -19.472  -2.895  1.00 98.44           O  \nATOM   8667  CG  ARG G  73     -15.396 -23.957  -3.593  1.00 98.44           C  \nATOM   8668  CD  ARG G  73     -16.862 -24.319  -3.786  1.00 98.44           C  \nATOM   8669  NE  ARG G  73     -17.014 -25.608  -4.457  1.00 98.44           N  \nATOM   8670  NH1 ARG G  73     -18.921 -26.216  -3.303  1.00 98.44           N  \nATOM   8671  NH2 ARG G  73     -18.033 -27.622  -4.880  1.00 98.44           N  \nATOM   8672  CZ  ARG G  73     -17.989 -26.479  -4.212  1.00 98.44           C  \nATOM   8673  N   VAL G  74     -16.250 -19.943  -1.713  1.00 98.70           N  \nATOM   8674  CA  VAL G  74     -16.209 -18.776  -0.838  1.00 98.70           C  \nATOM   8675  C   VAL G  74     -14.909 -18.778  -0.036  1.00 98.70           C  \nATOM   8676  CB  VAL G  74     -17.424 -18.738   0.116  1.00 98.70           C  \nATOM   8677  O   VAL G  74     -14.274 -17.734   0.131  1.00 98.70           O  \nATOM   8678  CG1 VAL G  74     -17.184 -17.752   1.257  1.00 98.70           C  \nATOM   8679  CG2 VAL G  74     -18.693 -18.374  -0.652  1.00 98.70           C  \nATOM   8680  N   TYR G  75     -14.433 -19.913   0.387  1.00 97.52           N  \nATOM   8681  CA  TYR G  75     -13.242 -19.967   1.227  1.00 97.52           C  \nATOM   8682  C   TYR G  75     -12.005 -19.540   0.446  1.00 97.52           C  \nATOM   8683  CB  TYR G  75     -13.043 -21.379   1.787  1.00 97.52           C  \nATOM   8684  O   TYR G  75     -10.964 -19.238   1.035  1.00 97.52           O  \nATOM   8685  CG  TYR G  75     -12.626 -22.391   0.749  1.00 97.52           C  \nATOM   8686  CD1 TYR G  75     -13.539 -23.313   0.240  1.00 97.52           C  \nATOM   8687  CD2 TYR G  75     -11.319 -22.430   0.275  1.00 97.52           C  \nATOM   8688  CE1 TYR G  75     -13.159 -24.249  -0.715  1.00 97.52           C  \nATOM   8689  CE2 TYR G  75     -10.928 -23.362  -0.681  1.00 97.52           C  \nATOM   8690  OH  TYR G  75     -11.472 -25.191  -2.116  1.00 97.52           O  \nATOM   8691  CZ  TYR G  75     -11.853 -24.266  -1.169  1.00 97.52           C  \nATOM   8692  N   GLU G  76     -12.077 -19.494  -0.878  1.00 97.88           N  \nATOM   8693  CA  GLU G  76     -10.944 -19.106  -1.713  1.00 97.88           C  \nATOM   8694  C   GLU G  76     -10.803 -17.588  -1.781  1.00 97.88           C  \nATOM   8695  CB  GLU G  76     -11.091 -19.684  -3.123  1.00 97.88           C  \nATOM   8696  O   GLU G  76      -9.734 -17.072  -2.115  1.00 97.88           O  \nATOM   8697  CG  GLU G  76     -11.064 -21.205  -3.169  1.00 97.88           C  \nATOM   8698  CD  GLU G  76     -11.339 -21.768  -4.554  1.00 97.88           C  \nATOM   8699  OE1 GLU G  76     -10.424 -21.750  -5.409  1.00 97.88           O  \nATOM   8700  OE2 GLU G  76     -12.478 -22.230  -4.787  1.00 97.88           O  \nATOM   8701  N   ILE G  77     -11.865 -16.820  -1.448  1.00 98.25           N  \nATOM   8702  CA  ILE G  77     -11.804 -15.381  -1.678  1.00 98.25           C  \nATOM   8703  C   ILE G  77     -12.191 -14.637  -0.402  1.00 98.25           C  \nATOM   8704  CB  ILE G  77     -12.721 -14.955  -2.846  1.00 98.25           C  \nATOM   8705  O   ILE G  77     -12.052 -13.414  -0.323  1.00 98.25           O  \nATOM   8706  CG1 ILE G  77     -14.182 -15.299  -2.530  1.00 98.25           C  \nATOM   8707  CG2 ILE G  77     -12.273 -15.617  -4.153  1.00 98.25           C  \nATOM   8708  CD1 ILE G  77     -15.193 -14.547  -3.384  1.00 98.25           C  \nATOM   8709  N   MET G  78     -12.639 -15.268   0.618  1.00 98.18           N  \nATOM   8710  CA  MET G  78     -13.141 -14.660   1.847  1.00 98.18           C  \nATOM   8711  C   MET G  78     -11.993 -14.145   2.709  1.00 98.18           C  \nATOM   8712  CB  MET G  78     -13.981 -15.663   2.640  1.00 98.18           C  \nATOM   8713  O   MET G  78     -10.837 -14.517   2.496  1.00 98.18           O  \nATOM   8714  CG  MET G  78     -13.174 -16.810   3.227  1.00 98.18           C  \nATOM   8715  SD  MET G  78     -14.212 -17.984   4.181  1.00 98.18           S  \nATOM   8716  CE  MET G  78     -12.935 -19.127   4.779  1.00 98.18           C  \nATOM   8717  N   ALA G  79     -12.328 -13.262   3.670  1.00 97.74           N  \nATOM   8718  CA  ALA G  79     -11.442 -12.908   4.775  1.00 97.74           C  \nATOM   8719  C   ALA G  79     -11.803 -13.685   6.038  1.00 97.74           C  \nATOM   8720  CB  ALA G  79     -11.499 -11.406   5.043  1.00 97.74           C  \nATOM   8721  O   ALA G  79     -12.891 -13.511   6.592  1.00 97.74           O  \nATOM   8722  N   LYS G  80     -10.964 -14.524   6.446  1.00 96.57           N  \nATOM   8723  CA  LYS G  80     -11.146 -15.322   7.654  1.00 96.57           C  \nATOM   8724  C   LYS G  80      -9.811 -15.583   8.347  1.00 96.57           C  \nATOM   8725  CB  LYS G  80     -11.832 -16.649   7.324  1.00 96.57           C  \nATOM   8726  O   LYS G  80      -8.912 -16.192   7.764  1.00 96.57           O  \nATOM   8727  CG  LYS G  80     -12.212 -17.471   8.546  1.00 96.57           C  \nATOM   8728  CD  LYS G  80     -13.111 -18.643   8.174  1.00 96.57           C  \nATOM   8729  CE  LYS G  80     -13.545 -19.429   9.404  1.00 96.57           C  \nATOM   8730  NZ  LYS G  80     -14.604 -20.430   9.077  1.00 96.57           N  \nATOM   8731  N   PRO G  81      -9.577 -15.177   9.602  1.00 95.42           N  \nATOM   8732  CA  PRO G  81     -10.503 -14.385  10.416  1.00 95.42           C  \nATOM   8733  C   PRO G  81     -10.682 -12.963   9.890  1.00 95.42           C  \nATOM   8734  CB  PRO G  81      -9.841 -14.378  11.796  1.00 95.42           C  \nATOM   8735  O   PRO G  81      -9.924 -12.521   9.023  1.00 95.42           O  \nATOM   8736  CG  PRO G  81      -8.379 -14.519  11.520  1.00 95.42           C  \nATOM   8737  CD  PRO G  81      -8.206 -15.322  10.263  1.00 95.42           C  \nATOM   8738  N   CYS G  82     -11.706 -12.322  10.271  1.00 94.89           N  \nATOM   8739  CA  CYS G  82     -11.941 -10.929   9.909  1.00 94.89           C  \nATOM   8740  C   CYS G  82     -11.838 -10.024  11.131  1.00 94.89           C  \nATOM   8741  CB  CYS G  82     -13.315 -10.769   9.259  1.00 94.89           C  \nATOM   8742  O   CYS G  82     -11.894 -10.498  12.267  1.00 94.89           O  \nATOM   8743  SG  CYS G  82     -14.682 -11.335  10.295  1.00 94.89           S  \nATOM   8744  N   VAL G  83     -11.551  -8.759  10.876  1.00 95.85           N  \nATOM   8745  CA  VAL G  83     -11.593  -7.755  11.934  1.00 95.85           C  \nATOM   8746  C   VAL G  83     -13.009  -7.656  12.497  1.00 95.85           C  \nATOM   8747  CB  VAL G  83     -11.125  -6.374  11.425  1.00 95.85           C  \nATOM   8748  O   VAL G  83     -13.985  -7.666  11.744  1.00 95.85           O  \nATOM   8749  CG1 VAL G  83     -11.273  -5.316  12.518  1.00 95.85           C  \nATOM   8750  CG2 VAL G  83      -9.678  -6.447  10.940  1.00 95.85           C  \nATOM   8751  N   VAL G  84     -13.088  -7.604  13.764  1.00 94.99           N  \nATOM   8752  CA  VAL G  84     -14.398  -7.545  14.403  1.00 94.99           C  \nATOM   8753  C   VAL G  84     -14.530  -6.244  15.192  1.00 94.99           C  \nATOM   8754  CB  VAL G  84     -14.631  -8.757  15.333  1.00 94.99           C  \nATOM   8755  O   VAL G  84     -13.527  -5.630  15.561  1.00 94.99           O  \nATOM   8756  CG1 VAL G  84     -14.578 -10.062  14.541  1.00 94.99           C  \nATOM   8757  CG2 VAL G  84     -13.601  -8.770  16.460  1.00 94.99           C  \nATOM   8758  N   VAL G  85     -15.798  -5.817  15.411  1.00 95.43           N  \nATOM   8759  CA  VAL G  85     -16.079  -4.572  16.119  1.00 95.43           C  \nATOM   8760  C   VAL G  85     -16.807  -4.875  17.427  1.00 95.43           C  \nATOM   8761  CB  VAL G  85     -16.917  -3.604  15.254  1.00 95.43           C  \nATOM   8762  O   VAL G  85     -17.745  -5.675  17.452  1.00 95.43           O  \nATOM   8763  CG1 VAL G  85     -17.396  -2.415  16.085  1.00 95.43           C  \nATOM   8764  CG2 VAL G  85     -16.106  -3.127  14.050  1.00 95.43           C  \nATOM   8765  N   ASN G  86     -16.395  -4.238  18.518  1.00 93.33           N  \nATOM   8766  CA  ASN G  86     -17.118  -4.261  19.786  1.00 93.33           C  \nATOM   8767  C   ASN G  86     -18.424  -3.476  19.700  1.00 93.33           C  \nATOM   8768  CB  ASN G  86     -16.242  -3.712  20.913  1.00 93.33           C  \nATOM   8769  O   ASN G  86     -18.441  -2.341  19.220  1.00 93.33           O  \nATOM   8770  CG  ASN G  86     -16.903  -3.823  22.273  1.00 93.33           C  \nATOM   8771  ND2 ASN G  86     -16.108  -4.107  23.298  1.00 93.33           N  \nATOM   8772  OD1 ASN G  86     -18.118  -3.655  22.402  1.00 93.33           O  \nATOM   8773  N   PRO G  87     -19.509  -4.106  20.192  1.00 94.82           N  \nATOM   8774  CA  PRO G  87     -20.801  -3.424  20.085  1.00 94.82           C  \nATOM   8775  C   PRO G  87     -20.833  -2.099  20.843  1.00 94.82           C  \nATOM   8776  CB  PRO G  87     -21.782  -4.427  20.697  1.00 94.82           C  \nATOM   8777  O   PRO G  87     -21.592  -1.195  20.483  1.00 94.82           O  \nATOM   8778  CG  PRO G  87     -20.933  -5.328  21.536  1.00 94.82           C  \nATOM   8779  CD  PRO G  87     -19.571  -5.418  20.910  1.00 94.82           C  \nATOM   8780  N   GLU G  88     -19.999  -1.894  21.768  1.00 93.28           N  \nATOM   8781  CA  GLU G  88     -20.021  -0.695  22.600  1.00 93.28           C  \nATOM   8782  C   GLU G  88     -19.033   0.350  22.088  1.00 93.28           C  \nATOM   8783  CB  GLU G  88     -19.708  -1.045  24.057  1.00 93.28           C  \nATOM   8784  O   GLU G  88     -18.902   1.427  22.673  1.00 93.28           O  \nATOM   8785  CG  GLU G  88     -20.727  -1.975  24.698  1.00 93.28           C  \nATOM   8786  CD  GLU G  88     -20.333  -2.425  26.096  1.00 93.28           C  \nATOM   8787  OE1 GLU G  88     -21.154  -3.081  26.777  1.00 93.28           O  \nATOM   8788  OE2 GLU G  88     -19.195  -2.118  26.514  1.00 93.28           O  \nATOM   8789  N   LEU G  89     -18.352   0.007  21.040  1.00 93.26           N  \nATOM   8790  CA  LEU G  89     -17.394   0.950  20.475  1.00 93.26           C  \nATOM   8791  C   LEU G  89     -18.107   2.162  19.885  1.00 93.26           C  \nATOM   8792  CB  LEU G  89     -16.543   0.271  19.399  1.00 93.26           C  \nATOM   8793  O   LEU G  89     -19.121   2.017  19.198  1.00 93.26           O  \nATOM   8794  CG  LEU G  89     -15.296   1.029  18.941  1.00 93.26           C  \nATOM   8795  CD1 LEU G  89     -14.325   1.204  20.104  1.00 93.26           C  \nATOM   8796  CD2 LEU G  89     -14.623   0.303  17.781  1.00 93.26           C  \nATOM   8797  N   GLY G  90     -17.548   3.385  20.119  1.00 92.82           N  \nATOM   8798  CA  GLY G  90     -18.107   4.592  19.530  1.00 92.82           C  \nATOM   8799  C   GLY G  90     -17.991   4.627  18.018  1.00 92.82           C  \nATOM   8800  O   GLY G  90     -17.013   4.132  17.454  1.00 92.82           O  \nATOM   8801  N   VAL G  91     -18.886   5.265  17.412  1.00 94.80           N  \nATOM   8802  CA  VAL G  91     -19.014   5.259  15.959  1.00 94.80           C  \nATOM   8803  C   VAL G  91     -17.788   5.916  15.329  1.00 94.80           C  \nATOM   8804  CB  VAL G  91     -20.301   5.980  15.499  1.00 94.80           C  \nATOM   8805  O   VAL G  91     -17.315   5.481  14.276  1.00 94.80           O  \nATOM   8806  CG1 VAL G  91     -20.314   6.146  13.981  1.00 94.80           C  \nATOM   8807  CG2 VAL G  91     -21.537   5.215  15.967  1.00 94.80           C  \nATOM   8808  N   GLU G  92     -17.299   6.955  15.915  1.00 94.32           N  \nATOM   8809  CA  GLU G  92     -16.115   7.610  15.367  1.00 94.32           C  \nATOM   8810  C   GLU G  92     -14.906   6.680  15.397  1.00 94.32           C  \nATOM   8811  CB  GLU G  92     -15.808   8.897  16.138  1.00 94.32           C  \nATOM   8812  O   GLU G  92     -14.086   6.689  14.476  1.00 94.32           O  \nATOM   8813  CG  GLU G  92     -16.861   9.982  15.968  1.00 94.32           C  \nATOM   8814  CD  GLU G  92     -18.046   9.820  16.907  1.00 94.32           C  \nATOM   8815  OE1 GLU G  92     -18.955  10.680  16.891  1.00 94.32           O  \nATOM   8816  OE2 GLU G  92     -18.065   8.824  17.665  1.00 94.32           O  \nATOM   8817  N   TYR G  93     -14.826   5.930  16.409  1.00 95.18           N  \nATOM   8818  CA  TYR G  93     -13.730   4.973  16.514  1.00 95.18           C  \nATOM   8819  C   TYR G  93     -13.901   3.837  15.512  1.00 95.18           C  \nATOM   8820  CB  TYR G  93     -13.644   4.407  17.935  1.00 95.18           C  \nATOM   8821  O   TYR G  93     -12.916   3.301  14.998  1.00 95.18           O  \nATOM   8822  CG  TYR G  93     -13.034   5.361  18.932  1.00 95.18           C  \nATOM   8823  CD1 TYR G  93     -11.760   5.888  18.731  1.00 95.18           C  \nATOM   8824  CD2 TYR G  93     -13.728   5.736  20.077  1.00 95.18           C  \nATOM   8825  CE1 TYR G  93     -11.192   6.766  19.649  1.00 95.18           C  \nATOM   8826  CE2 TYR G  93     -13.170   6.614  21.001  1.00 95.18           C  \nATOM   8827  OH  TYR G  93     -11.346   7.992  21.690  1.00 95.18           O  \nATOM   8828  CZ  TYR G  93     -11.904   7.123  20.778  1.00 95.18           C  \nATOM   8829  N   VAL G  94     -15.162   3.433  15.234  1.00 96.79           N  \nATOM   8830  CA  VAL G  94     -15.396   2.468  14.165  1.00 96.79           C  \nATOM   8831  C   VAL G  94     -14.889   3.030  12.839  1.00 96.79           C  \nATOM   8832  CB  VAL G  94     -16.893   2.101  14.051  1.00 96.79           C  \nATOM   8833  O   VAL G  94     -14.175   2.348  12.101  1.00 96.79           O  \nATOM   8834  CG1 VAL G  94     -17.114   1.073  12.942  1.00 96.79           C  \nATOM   8835  CG2 VAL G  94     -17.416   1.572  15.385  1.00 96.79           C  \nATOM   8836  N   ALA G  95     -15.257   4.287  12.617  1.00 98.01           N  \nATOM   8837  CA  ALA G  95     -14.782   4.950  11.405  1.00 98.01           C  \nATOM   8838  C   ALA G  95     -13.257   4.939  11.336  1.00 98.01           C  \nATOM   8839  CB  ALA G  95     -15.304   6.384  11.344  1.00 98.01           C  \nATOM   8840  O   ALA G  95     -12.680   4.641  10.288  1.00 98.01           O  \nATOM   8841  N   ARG G  96     -12.610   5.253  12.402  1.00 97.79           N  \nATOM   8842  CA  ARG G  96     -11.152   5.296  12.453  1.00 97.79           C  \nATOM   8843  C   ARG G  96     -10.556   3.909  12.243  1.00 97.79           C  \nATOM   8844  CB  ARG G  96     -10.678   5.874  13.788  1.00 97.79           C  \nATOM   8845  O   ARG G  96      -9.543   3.761  11.555  1.00 97.79           O  \nATOM   8846  CG  ARG G  96      -9.185   6.156  13.841  1.00 97.79           C  \nATOM   8847  CD  ARG G  96      -8.801   6.926  15.097  1.00 97.79           C  \nATOM   8848  NE  ARG G  96      -7.353   6.968  15.282  1.00 97.79           N  \nATOM   8849  NH1 ARG G  96      -7.060   8.968  14.165  1.00 97.79           N  \nATOM   8850  NH2 ARG G  96      -5.255   7.875  15.060  1.00 97.79           N  \nATOM   8851  CZ  ARG G  96      -6.559   7.937  14.835  1.00 97.79           C  \nATOM   8852  N   LEU G  97     -11.188   2.888  12.810  1.00 97.60           N  \nATOM   8853  CA  LEU G  97     -10.746   1.513  12.606  1.00 97.60           C  \nATOM   8854  C   LEU G  97     -10.813   1.134  11.131  1.00 97.60           C  \nATOM   8855  CB  LEU G  97     -11.598   0.547  13.433  1.00 97.60           C  \nATOM   8856  O   LEU G  97      -9.869   0.554  10.591  1.00 97.60           O  \nATOM   8857  CG  LEU G  97     -11.203  -0.929  13.371  1.00 97.60           C  \nATOM   8858  CD1 LEU G  97      -9.802  -1.127  13.940  1.00 97.60           C  \nATOM   8859  CD2 LEU G  97     -12.216  -1.786  14.122  1.00 97.60           C  \nATOM   8860  N   PHE G  98     -11.898   1.481  10.477  1.00 98.05           N  \nATOM   8861  CA  PHE G  98     -12.050   1.219   9.051  1.00 98.05           C  \nATOM   8862  C   PHE G  98     -10.974   1.942   8.250  1.00 98.05           C  \nATOM   8863  CB  PHE G  98     -13.440   1.648   8.570  1.00 98.05           C  \nATOM   8864  O   PHE G  98     -10.357   1.356   7.359  1.00 98.05           O  \nATOM   8865  CG  PHE G  98     -14.541   0.707   8.978  1.00 98.05           C  \nATOM   8866  CD1 PHE G  98     -14.249  -0.490   9.620  1.00 98.05           C  \nATOM   8867  CD2 PHE G  98     -15.869   1.021   8.720  1.00 98.05           C  \nATOM   8868  CE1 PHE G  98     -15.266  -1.363   9.999  1.00 98.05           C  \nATOM   8869  CE2 PHE G  98     -16.891   0.153   9.096  1.00 98.05           C  \nATOM   8870  CZ  PHE G  98     -16.587  -1.038   9.734  1.00 98.05           C  \nATOM   8871  N   ALA G  99     -10.750   3.180   8.631  1.00 97.78           N  \nATOM   8872  CA  ALA G  99      -9.739   3.965   7.927  1.00 97.78           C  \nATOM   8873  C   ALA G  99      -8.353   3.350   8.093  1.00 97.78           C  \nATOM   8874  CB  ALA G  99      -9.741   5.407   8.428  1.00 97.78           C  \nATOM   8875  O   ALA G  99      -7.598   3.235   7.125  1.00 97.78           O  \nATOM   8876  N   GLN G 100      -7.999   2.892   9.229  1.00 96.12           N  \nATOM   8877  CA  GLN G 100      -6.678   2.352   9.533  1.00 96.12           C  \nATOM   8878  C   GLN G 100      -6.476   0.990   8.874  1.00 96.12           C  \nATOM   8879  CB  GLN G 100      -6.480   2.238  11.045  1.00 96.12           C  \nATOM   8880  O   GLN G 100      -5.379   0.679   8.405  1.00 96.12           O  \nATOM   8881  CG  GLN G 100      -6.279   3.577  11.742  1.00 96.12           C  \nATOM   8882  CD  GLN G 100      -6.256   3.454  13.254  1.00 96.12           C  \nATOM   8883  NE2 GLN G 100      -5.831   4.517  13.928  1.00 96.12           N  \nATOM   8884  OE1 GLN G 100      -6.617   2.413  13.811  1.00 96.12           O  \nATOM   8885  N   THR G 101      -7.523   0.191   8.825  1.00 96.61           N  \nATOM   8886  CA  THR G 101      -7.407  -1.173   8.322  1.00 96.61           C  \nATOM   8887  C   THR G 101      -7.829  -1.248   6.858  1.00 96.61           C  \nATOM   8888  CB  THR G 101      -8.258  -2.150   9.155  1.00 96.61           C  \nATOM   8889  O   THR G 101      -7.681  -2.290   6.216  1.00 96.61           O  \nATOM   8890  CG2 THR G 101      -7.793  -2.184  10.607  1.00 96.61           C  \nATOM   8891  OG1 THR G 101      -9.629  -1.735   9.114  1.00 96.61           O  \nATOM   8892  N   ARG G 102      -8.483  -0.224   6.335  1.00 95.75           N  \nATOM   8893  CA  ARG G 102      -8.926  -0.101   4.949  1.00 95.75           C  \nATOM   8894  C   ARG G 102     -10.019  -1.116   4.632  1.00 95.75           C  \nATOM   8895  CB  ARG G 102      -7.748  -0.282   3.990  1.00 95.75           C  \nATOM   8896  O   ARG G 102     -10.020  -1.718   3.556  1.00 95.75           O  \nATOM   8897  CG  ARG G 102      -6.679   0.792   4.117  1.00 95.75           C  \nATOM   8898  CD  ARG G 102      -7.157   2.130   3.571  1.00 95.75           C  \nATOM   8899  NE  ARG G 102      -6.077   3.111   3.526  1.00 95.75           N  \nATOM   8900  NH1 ARG G 102      -7.199   4.591   2.152  1.00 95.75           N  \nATOM   8901  NH2 ARG G 102      -5.081   5.077   2.880  1.00 95.75           N  \nATOM   8902  CZ  ARG G 102      -6.121   4.258   2.853  1.00 95.75           C  \nATOM   8903  N   ILE G 103     -10.827  -1.353   5.641  1.00 96.44           N  \nATOM   8904  CA  ILE G 103     -12.028  -2.149   5.411  1.00 96.44           C  \nATOM   8905  C   ILE G 103     -13.261  -1.249   5.460  1.00 96.44           C  \nATOM   8906  CB  ILE G 103     -12.156  -3.290   6.445  1.00 96.44           C  \nATOM   8907  O   ILE G 103     -13.175  -0.090   5.874  1.00 96.44           O  \nATOM   8908  CG1 ILE G 103     -12.327  -2.716   7.856  1.00 96.44           C  \nATOM   8909  CG2 ILE G 103     -10.941  -4.220   6.376  1.00 96.44           C  \nATOM   8910  CD1 ILE G 103     -12.617  -3.766   8.920  1.00 96.44           C  \nATOM   8911  N   ARG G 104     -14.395  -1.769   5.009  1.00 96.47           N  \nATOM   8912  CA  ARG G 104     -15.582  -0.928   4.896  1.00 96.47           C  \nATOM   8913  C   ARG G 104     -16.752  -1.523   5.671  1.00 96.47           C  \nATOM   8914  CB  ARG G 104     -15.969  -0.738   3.427  1.00 96.47           C  \nATOM   8915  O   ARG G 104     -17.805  -0.895   5.795  1.00 96.47           O  \nATOM   8916  CG  ARG G 104     -14.930   0.012   2.608  1.00 96.47           C  \nATOM   8917  CD  ARG G 104     -15.208  -0.092   1.115  1.00 96.47           C  \nATOM   8918  NE  ARG G 104     -14.127   0.491   0.324  1.00 96.47           N  \nATOM   8919  NH1 ARG G 104     -15.096   0.028  -1.721  1.00 96.47           N  \nATOM   8920  NH2 ARG G 104     -13.066   1.089  -1.623  1.00 96.47           N  \nATOM   8921  CZ  ARG G 104     -14.099   0.535  -1.005  1.00 96.47           C  \nATOM   8922  N   ARG G 105     -16.548  -2.733   6.073  1.00 97.22           N  \nATOM   8923  CA  ARG G 105     -17.569  -3.412   6.864  1.00 97.22           C  \nATOM   8924  C   ARG G 105     -16.948  -4.480   7.758  1.00 97.22           C  \nATOM   8925  CB  ARG G 105     -18.625  -4.040   5.953  1.00 97.22           C  \nATOM   8926  O   ARG G 105     -15.886  -5.021   7.442  1.00 97.22           O  \nATOM   8927  CG  ARG G 105     -18.095  -5.168   5.082  1.00 97.22           C  \nATOM   8928  CD  ARG G 105     -19.115  -5.600   4.037  1.00 97.22           C  \nATOM   8929  NE  ARG G 105     -19.562  -4.475   3.222  1.00 97.22           N  \nATOM   8930  NH1 ARG G 105     -21.724  -5.248   2.970  1.00 97.22           N  \nATOM   8931  NH2 ARG G 105     -21.090  -3.269   2.003  1.00 97.22           N  \nATOM   8932  CZ  ARG G 105     -20.791  -4.333   2.733  1.00 97.22           C  \nATOM   8933  N   ALA G 106     -17.620  -4.742   8.832  1.00 97.53           N  \nATOM   8934  CA  ALA G 106     -17.145  -5.732   9.796  1.00 97.53           C  \nATOM   8935  C   ALA G 106     -18.296  -6.271  10.641  1.00 97.53           C  \nATOM   8936  CB  ALA G 106     -16.068  -5.127  10.693  1.00 97.53           C  \nATOM   8937  O   ALA G 106     -19.278  -5.567  10.885  1.00 97.53           O  \nATOM   8938  N   PRO G 107     -18.160  -7.529  11.055  1.00 97.18           N  \nATOM   8939  CA  PRO G 107     -19.159  -8.040  11.997  1.00 97.18           C  \nATOM   8940  C   PRO G 107     -19.028  -7.423  13.388  1.00 97.18           C  \nATOM   8941  CB  PRO G 107     -18.870  -9.543  12.037  1.00 97.18           C  \nATOM   8942  O   PRO G 107     -17.920  -7.095  13.820  1.00 97.18           O  \nATOM   8943  CG  PRO G 107     -17.434  -9.666  11.641  1.00 97.18           C  \nATOM   8944  CD  PRO G 107     -17.082  -8.506  10.754  1.00 97.18           C  \nATOM   8945  N   VAL G 108     -20.149  -7.198  14.010  1.00 96.88           N  \nATOM   8946  CA  VAL G 108     -20.219  -6.778  15.406  1.00 96.88           C  \nATOM   8947  C   VAL G 108     -20.453  -7.994  16.300  1.00 96.88           C  \nATOM   8948  CB  VAL G 108     -21.332  -5.730  15.628  1.00 96.88           C  \nATOM   8949  O   VAL G 108     -21.502  -8.637  16.221  1.00 96.88           O  \nATOM   8950  CG1 VAL G 108     -21.331  -5.241  17.075  1.00 96.88           C  \nATOM   8951  CG2 VAL G 108     -21.160  -4.557  14.664  1.00 96.88           C  \nATOM   8952  N   ILE G 109     -19.501  -8.282  17.119  1.00 92.73           N  \nATOM   8953  CA  ILE G 109     -19.545  -9.510  17.906  1.00 92.73           C  \nATOM   8954  C   ILE G 109     -19.402  -9.178  19.389  1.00 92.73           C  \nATOM   8955  CB  ILE G 109     -18.443 -10.501  17.469  1.00 92.73           C  \nATOM   8956  O   ILE G 109     -18.556  -8.365  19.771  1.00 92.73           O  \nATOM   8957  CG1 ILE G 109     -18.635 -10.902  16.002  1.00 92.73           C  \nATOM   8958  CG2 ILE G 109     -18.434 -11.734  18.377  1.00 92.73           C  \nATOM   8959  CD1 ILE G 109     -17.543 -11.815  15.462  1.00 92.73           C  \nATOM   8960  N   GLN G 110     -20.223  -9.750  20.273  1.00 90.04           N  \nATOM   8961  CA  GLN G 110     -20.126  -9.716  21.729  1.00 90.04           C  \nATOM   8962  C   GLN G 110     -19.809 -11.099  22.291  1.00 90.04           C  \nATOM   8963  CB  GLN G 110     -21.423  -9.185  22.341  1.00 90.04           C  \nATOM   8964  O   GLN G 110     -20.660 -11.992  22.273  1.00 90.04           O  \nATOM   8965  CG  GLN G 110     -21.345  -8.958  23.845  1.00 90.04           C  \nATOM   8966  CD  GLN G 110     -22.529  -8.177  24.383  1.00 90.04           C  \nATOM   8967  NE2 GLN G 110     -22.266  -7.267  25.315  1.00 90.04           N  \nATOM   8968  OE1 GLN G 110     -23.672  -8.390  23.964  1.00 90.04           O  \nATOM   8969  N   GLY G 111     -18.568 -11.247  22.762  1.00 83.15           N  \nATOM   8970  CA  GLY G 111     -18.156 -12.595  23.124  1.00 83.15           C  \nATOM   8971  C   GLY G 111     -18.068 -13.531  21.934  1.00 83.15           C  \nATOM   8972  O   GLY G 111     -17.249 -13.326  21.035  1.00 83.15           O  \nATOM   8973  N   LYS G 112     -19.033 -14.504  21.979  1.00 83.10           N  \nATOM   8974  CA  LYS G 112     -19.068 -15.457  20.873  1.00 83.10           C  \nATOM   8975  C   LYS G 112     -20.324 -15.270  20.027  1.00 83.10           C  \nATOM   8976  CB  LYS G 112     -18.998 -16.892  21.398  1.00 83.10           C  \nATOM   8977  O   LYS G 112     -20.555 -16.020  19.075  1.00 83.10           O  \nATOM   8978  CG  LYS G 112     -17.662 -17.256  22.029  1.00 83.10           C  \nATOM   8979  CD  LYS G 112     -17.579 -18.744  22.342  1.00 83.10           C  \nATOM   8980  CE  LYS G 112     -16.217 -19.122  22.907  1.00 83.10           C  \nATOM   8981  NZ  LYS G 112     -16.116 -20.588  23.176  1.00 83.10           N  \nATOM   8982  N   THR G 113     -20.979 -14.219  20.318  1.00 89.64           N  \nATOM   8983  CA  THR G 113     -22.274 -14.051  19.667  1.00 89.64           C  \nATOM   8984  C   THR G 113     -22.199 -12.977  18.585  1.00 89.64           C  \nATOM   8985  CB  THR G 113     -23.368 -13.680  20.686  1.00 89.64           C  \nATOM   8986  O   THR G 113     -21.723 -11.868  18.835  1.00 89.64           O  \nATOM   8987  CG2 THR G 113     -24.744 -13.655  20.030  1.00 89.64           C  \nATOM   8988  OG1 THR G 113     -23.373 -14.646  21.744  1.00 89.64           O  \nATOM   8989  N   LEU G 114     -22.624 -13.343  17.462  1.00 93.99           N  \nATOM   8990  CA  LEU G 114     -22.733 -12.400  16.355  1.00 93.99           C  \nATOM   8991  C   LEU G 114     -23.982 -11.535  16.499  1.00 93.99           C  \nATOM   8992  CB  LEU G 114     -22.765 -13.143  15.018  1.00 93.99           C  \nATOM   8993  O   LEU G 114     -25.102 -12.051  16.499  1.00 93.99           O  \nATOM   8994  CG  LEU G 114     -22.937 -12.281  13.766  1.00 93.99           C  \nATOM   8995  CD1 LEU G 114     -21.718 -11.386  13.567  1.00 93.99           C  \nATOM   8996  CD2 LEU G 114     -23.168 -13.158  12.540  1.00 93.99           C  \nATOM   8997  N   LEU G 115     -23.880 -10.194  16.574  1.00 95.77           N  \nATOM   8998  CA  LEU G 115     -25.007  -9.292  16.785  1.00 95.77           C  \nATOM   8999  C   LEU G 115     -25.457  -8.667  15.468  1.00 95.77           C  \nATOM   9000  CB  LEU G 115     -24.633  -8.193  17.783  1.00 95.77           C  \nATOM   9001  O   LEU G 115     -26.643  -8.381  15.286  1.00 95.77           O  \nATOM   9002  CG  LEU G 115     -24.298  -8.652  19.203  1.00 95.77           C  \nATOM   9003  CD1 LEU G 115     -24.049  -7.447  20.104  1.00 95.77           C  \nATOM   9004  CD2 LEU G 115     -25.418  -9.522  19.762  1.00 95.77           C  \nATOM   9005  N   GLY G 116     -24.491  -8.397  14.572  1.00 96.39           N  \nATOM   9006  CA  GLY G 116     -24.794  -7.736  13.313  1.00 96.39           C  \nATOM   9007  C   GLY G 116     -23.558  -7.418  12.494  1.00 96.39           C  \nATOM   9008  O   GLY G 116     -22.514  -8.050  12.664  1.00 96.39           O  \nATOM   9009  N   ILE G 117     -23.740  -6.540  11.453  1.00 97.19           N  \nATOM   9010  CA  ILE G 117     -22.676  -6.023  10.598  1.00 97.19           C  \nATOM   9011  C   ILE G 117     -22.730  -4.497  10.573  1.00 97.19           C  \nATOM   9012  CB  ILE G 117     -22.780  -6.587   9.163  1.00 97.19           C  \nATOM   9013  O   ILE G 117     -23.812  -3.909  10.514  1.00 97.19           O  \nATOM   9014  CG1 ILE G 117     -22.519  -8.097   9.163  1.00 97.19           C  \nATOM   9015  CG2 ILE G 117     -21.808  -5.863   8.227  1.00 97.19           C  \nATOM   9016  CD1 ILE G 117     -22.704  -8.757   7.804  1.00 97.19           C  \nATOM   9017  N   ILE G 118     -21.670  -3.865  10.703  1.00 97.84           N  \nATOM   9018  CA  ILE G 118     -21.598  -2.412  10.592  1.00 97.84           C  \nATOM   9019  C   ILE G 118     -20.742  -2.028   9.388  1.00 97.84           C  \nATOM   9020  CB  ILE G 118     -21.029  -1.775  11.879  1.00 97.84           C  \nATOM   9021  O   ILE G 118     -19.712  -2.652   9.126  1.00 97.84           O  \nATOM   9022  CG1 ILE G 118     -21.088  -0.245  11.789  1.00 97.84           C  \nATOM   9023  CG2 ILE G 118     -19.597  -2.254  12.132  1.00 97.84           C  \nATOM   9024  CD1 ILE G 118     -20.912   0.461  13.126  1.00 97.84           C  \nATOM   9025  N   SER G 119     -21.150  -1.043   8.637  1.00 97.64           N  \nATOM   9026  CA  SER G 119     -20.449  -0.625   7.428  1.00 97.64           C  \nATOM   9027  C   SER G 119     -20.276   0.890   7.385  1.00 97.64           C  \nATOM   9028  CB  SER G 119     -21.200  -1.095   6.181  1.00 97.64           C  \nATOM   9029  O   SER G 119     -20.843   1.608   8.211  1.00 97.64           O  \nATOM   9030  OG  SER G 119     -22.407  -0.371   6.018  1.00 97.64           O  \nATOM   9031  N   VAL G 120     -19.491   1.371   6.447  1.00 97.79           N  \nATOM   9032  CA  VAL G 120     -19.333   2.802   6.206  1.00 97.79           C  \nATOM   9033  C   VAL G 120     -20.690   3.424   5.884  1.00 97.79           C  \nATOM   9034  CB  VAL G 120     -18.335   3.077   5.060  1.00 97.79           C  \nATOM   9035  O   VAL G 120     -20.949   4.579   6.232  1.00 97.79           O  \nATOM   9036  CG1 VAL G 120     -16.918   2.679   5.470  1.00 97.79           C  \nATOM   9037  CG2 VAL G 120     -18.757   2.333   3.794  1.00 97.79           C  \nATOM   9038  N   SER G 121     -21.600   2.679   5.274  1.00 97.03           N  \nATOM   9039  CA  SER G 121     -22.939   3.166   4.962  1.00 97.03           C  \nATOM   9040  C   SER G 121     -23.748   3.408   6.232  1.00 97.03           C  \nATOM   9041  CB  SER G 121     -23.675   2.173   4.061  1.00 97.03           C  \nATOM   9042  O   SER G 121     -24.456   4.411   6.342  1.00 97.03           O  \nATOM   9043  OG  SER G 121     -23.017   2.045   2.812  1.00 97.03           O  \nATOM   9044  N   ASP G 122     -23.578   2.491   7.115  1.00 97.39           N  \nATOM   9045  CA  ASP G 122     -24.268   2.673   8.388  1.00 97.39           C  \nATOM   9046  C   ASP G 122     -23.799   3.945   9.090  1.00 97.39           C  \nATOM   9047  CB  ASP G 122     -24.050   1.461   9.295  1.00 97.39           C  \nATOM   9048  O   ASP G 122     -24.613   4.704   9.621  1.00 97.39           O  \nATOM   9049  CG  ASP G 122     -24.748   0.210   8.792  1.00 97.39           C  \nATOM   9050  OD1 ASP G 122     -25.901   0.304   8.317  1.00 97.39           O  \nATOM   9051  OD2 ASP G 122     -24.141  -0.880   8.873  1.00 97.39           O  \nATOM   9052  N   ILE G 123     -22.511   4.163   9.072  1.00 98.04           N  \nATOM   9053  CA  ILE G 123     -21.955   5.349   9.714  1.00 98.04           C  \nATOM   9054  C   ILE G 123     -22.483   6.605   9.023  1.00 98.04           C  \nATOM   9055  CB  ILE G 123     -20.410   5.334   9.689  1.00 98.04           C  \nATOM   9056  O   ILE G 123     -22.925   7.546   9.686  1.00 98.04           O  \nATOM   9057  CG1 ILE G 123     -19.874   4.171  10.533  1.00 98.04           C  \nATOM   9058  CG2 ILE G 123     -19.849   6.671  10.181  1.00 98.04           C  \nATOM   9059  CD1 ILE G 123     -18.371   3.961  10.413  1.00 98.04           C  \nATOM   9060  N   LEU G 124     -22.524   6.593   7.753  1.00 98.19           N  \nATOM   9061  CA  LEU G 124     -22.944   7.766   6.994  1.00 98.19           C  \nATOM   9062  C   LEU G 124     -24.431   8.039   7.194  1.00 98.19           C  \nATOM   9063  CB  LEU G 124     -22.644   7.576   5.505  1.00 98.19           C  \nATOM   9064  O   LEU G 124     -24.827   9.174   7.467  1.00 98.19           O  \nATOM   9065  CG  LEU G 124     -22.867   8.795   4.608  1.00 98.19           C  \nATOM   9066  CD1 LEU G 124     -21.659   9.723   4.664  1.00 98.19           C  \nATOM   9067  CD2 LEU G 124     -23.147   8.359   3.173  1.00 98.19           C  \nATOM   9068  N   PHE G 125     -25.256   7.060   7.129  1.00 97.57           N  \nATOM   9069  CA  PHE G 125     -26.700   7.243   7.039  1.00 97.57           C  \nATOM   9070  C   PHE G 125     -27.328   7.278   8.427  1.00 97.57           C  \nATOM   9071  CB  PHE G 125     -27.334   6.126   6.204  1.00 97.57           C  \nATOM   9072  O   PHE G 125     -28.383   7.886   8.622  1.00 97.57           O  \nATOM   9073  CG  PHE G 125     -27.116   6.277   4.723  1.00 97.57           C  \nATOM   9074  CD1 PHE G 125     -27.829   7.221   3.994  1.00 97.57           C  \nATOM   9075  CD2 PHE G 125     -26.197   5.475   4.059  1.00 97.57           C  \nATOM   9076  CE1 PHE G 125     -27.630   7.363   2.623  1.00 97.57           C  \nATOM   9077  CE2 PHE G 125     -25.992   5.612   2.689  1.00 97.57           C  \nATOM   9078  CZ  PHE G 125     -26.710   6.556   1.973  1.00 97.57           C  \nATOM   9079  N   LYS G 126     -26.689   6.638   9.395  1.00 97.37           N  \nATOM   9080  CA  LYS G 126     -27.415   6.418  10.642  1.00 97.37           C  \nATOM   9081  C   LYS G 126     -26.720   7.109  11.812  1.00 97.37           C  \nATOM   9082  CB  LYS G 126     -27.554   4.921  10.925  1.00 97.37           C  \nATOM   9083  O   LYS G 126     -27.316   7.290  12.876  1.00 97.37           O  \nATOM   9084  CG  LYS G 126     -28.274   4.149   9.830  1.00 97.37           C  \nATOM   9085  CD  LYS G 126     -28.344   2.661  10.149  1.00 97.37           C  \nATOM   9086  CE  LYS G 126     -28.887   1.861   8.972  1.00 97.37           C  \nATOM   9087  NZ  LYS G 126     -28.787   0.390   9.210  1.00 97.37           N  \nATOM   9088  N   SER G 127     -25.509   7.536  11.664  1.00 96.39           N  \nATOM   9089  CA  SER G 127     -24.785   8.093  12.803  1.00 96.39           C  \nATOM   9090  C   SER G 127     -25.015   9.596  12.923  1.00 96.39           C  \nATOM   9091  CB  SER G 127     -23.288   7.806  12.679  1.00 96.39           C  \nATOM   9092  O   SER G 127     -25.763  10.180  12.135  1.00 96.39           O  \nATOM   9093  OG  SER G 127     -22.664   8.753  11.829  1.00 96.39           O  \nATOM   9094  N   ASP G 128     -24.405  10.160  13.970  1.00 95.84           N  \nATOM   9095  CA  ASP G 128     -24.610  11.578  14.249  1.00 95.84           C  \nATOM   9096  C   ASP G 128     -23.301  12.356  14.133  1.00 95.84           C  \nATOM   9097  CB  ASP G 128     -25.213  11.769  15.642  1.00 95.84           C  \nATOM   9098  O   ASP G 128     -23.115  13.372  14.805  1.00 95.84           O  \nATOM   9099  CG  ASP G 128     -24.341  11.202  16.749  1.00 95.84           C  \nATOM   9100  OD1 ASP G 128     -23.283  10.609  16.448  1.00 95.84           O  \nATOM   9101  OD2 ASP G 128     -24.717  11.348  17.932  1.00 95.84           O  \nATOM   9102  N   PHE G 129     -22.418  11.910  13.307  1.00 95.33           N  \nATOM   9103  CA  PHE G 129     -21.104  12.537  13.233  1.00 95.33           C  \nATOM   9104  C   PHE G 129     -21.199  13.920  12.601  1.00 95.33           C  \nATOM   9105  CB  PHE G 129     -20.132  11.661  12.437  1.00 95.33           C  \nATOM   9106  O   PHE G 129     -20.316  14.759  12.793  1.00 95.33           O  \nATOM   9107  CG  PHE G 129     -20.386  11.666  10.954  1.00 95.33           C  \nATOM   9108  CD1 PHE G 129     -21.295  10.782  10.387  1.00 95.33           C  \nATOM   9109  CD2 PHE G 129     -19.715  12.557  10.126  1.00 95.33           C  \nATOM   9110  CE1 PHE G 129     -21.532  10.785   9.014  1.00 95.33           C  \nATOM   9111  CE2 PHE G 129     -19.946  12.566   8.753  1.00 95.33           C  \nATOM   9112  CZ  PHE G 129     -20.855  11.678   8.199  1.00 95.33           C  \nATOM   9113  N   VAL G 130     -22.247  14.158  11.800  1.00 96.75           N  \nATOM   9114  CA  VAL G 130     -22.438  15.481  11.214  1.00 96.75           C  \nATOM   9115  C   VAL G 130     -22.930  16.454  12.283  1.00 96.75           C  \nATOM   9116  CB  VAL G 130     -23.433  15.439  10.033  1.00 96.75           C  \nATOM   9117  O   VAL G 130     -22.413  17.567  12.402  1.00 96.75           O  \nATOM   9118  CG1 VAL G 130     -23.751  16.851   9.544  1.00 96.75           C  \nATOM   9119  CG2 VAL G 130     -22.873  14.590   8.893  1.00 96.75           C  \nATOM   9120  N   GLU G 131     -23.870  16.010  13.103  1.00 94.49           N  \nATOM   9121  CA  GLU G 131     -24.488  16.852  14.124  1.00 94.49           C  \nATOM   9122  C   GLU G 131     -23.556  17.045  15.317  1.00 94.49           C  \nATOM   9123  CB  GLU G 131     -25.817  16.248  14.587  1.00 94.49           C  \nATOM   9124  O   GLU G 131     -23.508  18.129  15.904  1.00 94.49           O  \nATOM   9125  CG  GLU G 131     -26.880  16.197  13.500  1.00 94.49           C  \nATOM   9126  CD  GLU G 131     -26.692  15.041  12.530  1.00 94.49           C  \nATOM   9127  OE1 GLU G 131     -27.307  15.057  11.440  1.00 94.49           O  \nATOM   9128  OE2 GLU G 131     -25.925  14.111  12.865  1.00 94.49           O  \nATOM   9129  N   LYS G 132     -22.851  15.991  15.632  1.00 92.46           N  \nATOM   9130  CA  LYS G 132     -21.983  16.028  16.806  1.00 92.46           C  \nATOM   9131  C   LYS G 132     -20.569  15.570  16.460  1.00 92.46           C  \nATOM   9132  CB  LYS G 132     -22.556  15.158  17.926  1.00 92.46           C  \nATOM   9133  O   LYS G 132     -20.097  14.555  16.974  1.00 92.46           O  \nATOM   9134  CG  LYS G 132     -23.945  15.576  18.385  1.00 92.46           C  \nATOM   9135  CD  LYS G 132     -24.467  14.665  19.489  1.00 92.46           C  \nATOM   9136  CE  LYS G 132     -25.891  15.027  19.888  1.00 92.46           C  \nATOM   9137  NZ  LYS G 132     -26.442  14.076  20.899  1.00 92.46           N  \nATOM   9138  N   PRO G 133     -19.944  16.468  15.763  1.00 90.99           N  \nATOM   9139  CA  PRO G 133     -18.551  16.096  15.505  1.00 90.99           C  \nATOM   9140  C   PRO G 133     -17.709  16.044  16.778  1.00 90.99           C  \nATOM   9141  CB  PRO G 133     -18.058  17.202  14.569  1.00 90.99           C  \nATOM   9142  O   PRO G 133     -17.898  16.862  17.682  1.00 90.99           O  \nATOM   9143  CG  PRO G 133     -18.961  18.363  14.841  1.00 90.99           C  \nATOM   9144  CD  PRO G 133     -20.270  17.838  15.355  1.00 90.99           C  \nATOM   9145  N   LYS G 134     -16.785  15.009  16.858  1.00 86.46           N  \nATOM   9146  CA  LYS G 134     -16.031  14.812  18.092  1.00 86.46           C  \nATOM   9147  C   LYS G 134     -14.528  14.828  17.827  1.00 86.46           C  \nATOM   9148  CB  LYS G 134     -16.432  13.497  18.762  1.00 86.46           C  \nATOM   9149  O   LYS G 134     -14.042  14.122  16.941  1.00 86.46           O  \nATOM   9150  CG  LYS G 134     -17.872  13.466  19.253  1.00 86.46           C  \nATOM   9151  CD  LYS G 134     -18.212  12.130  19.902  1.00 86.46           C  \nATOM   9152  CE  LYS G 134     -19.677  12.064  20.312  1.00 86.46           C  \nATOM   9153  NZ  LYS G 134     -20.026  10.741  20.911  1.00 86.46           N  \nATOM   9154  N   ARG G 135     -13.817  15.657  18.599  1.00 88.61           N  \nATOM   9155  CA  ARG G 135     -12.360  15.580  18.643  1.00 88.61           C  \nATOM   9156  C   ARG G 135     -11.900  14.381  19.465  1.00 88.61           C  \nATOM   9157  CB  ARG G 135     -11.770  16.869  19.220  1.00 88.61           C  \nATOM   9158  O   ARG G 135     -11.978  14.398  20.695  1.00 88.61           O  \nATOM   9159  CG  ARG G 135     -10.280  17.032  18.965  1.00 88.61           C  \nATOM   9160  CD  ARG G 135      -9.811  18.452  19.251  1.00 88.61           C  \nATOM   9161  NE  ARG G 135      -8.401  18.631  18.916  1.00 88.61           N  \nATOM   9162  NH1 ARG G 135      -8.434  20.933  19.118  1.00 88.61           N  \nATOM   9163  NH2 ARG G 135      -6.493  19.855  18.545  1.00 88.61           N  \nATOM   9164  CZ  ARG G 135      -7.779  19.806  18.861  1.00 88.61           C  \nATOM   9165  N   LEU G 136     -11.390  13.439  18.944  1.00 87.39           N  \nATOM   9166  CA  LEU G 136     -11.219  12.106  19.512  1.00 87.39           C  \nATOM   9167  C   LEU G 136     -10.243  12.134  20.683  1.00 87.39           C  \nATOM   9168  CB  LEU G 136     -10.724  11.127  18.443  1.00 87.39           C  \nATOM   9169  O   LEU G 136     -10.487  11.504  21.715  1.00 87.39           O  \nATOM   9170  CG  LEU G 136     -11.705  10.803  17.314  1.00 87.39           C  \nATOM   9171  CD1 LEU G 136     -11.026   9.941  16.255  1.00 87.39           C  \nATOM   9172  CD2 LEU G 136     -12.944  10.106  17.866  1.00 87.39           C  \nATOM   9173  N   PHE G 137      -9.209  12.938  20.677  1.00 92.85           N  \nATOM   9174  CA  PHE G 137      -8.176  12.866  21.703  1.00 92.85           C  \nATOM   9175  C   PHE G 137      -8.094  14.172  22.483  1.00 92.85           C  \nATOM   9176  CB  PHE G 137      -6.816  12.542  21.076  1.00 92.85           C  \nATOM   9177  O   PHE G 137      -7.009  14.587  22.899  1.00 92.85           O  \nATOM   9178  CG  PHE G 137      -6.816  11.293  20.237  1.00 92.85           C  \nATOM   9179  CD1 PHE G 137      -7.276  10.090  20.757  1.00 92.85           C  \nATOM   9180  CD2 PHE G 137      -6.355  11.323  18.927  1.00 92.85           C  \nATOM   9181  CE1 PHE G 137      -7.278   8.932  19.982  1.00 92.85           C  \nATOM   9182  CE2 PHE G 137      -6.354  10.170  18.147  1.00 92.85           C  \nATOM   9183  CZ  PHE G 137      -6.814   8.975  18.677  1.00 92.85           C  \nATOM   9184  N   ILE G 138      -9.213  14.815  22.633  1.00 92.78           N  \nATOM   9185  CA  ILE G 138      -9.254  16.135  23.254  1.00 92.78           C  \nATOM   9186  C   ILE G 138      -8.804  16.035  24.709  1.00 92.78           C  \nATOM   9187  CB  ILE G 138     -10.668  16.754  23.171  1.00 92.78           C  \nATOM   9188  O   ILE G 138      -8.131  16.933  25.221  1.00 92.78           O  \nATOM   9189  CG1 ILE G 138     -10.641  18.210  23.651  1.00 92.78           C  \nATOM   9190  CG2 ILE G 138     -11.668  15.927  23.983  1.00 92.78           C  \nATOM   9191  CD1 ILE G 138      -9.936  19.164  22.697  1.00 92.78           C  \nATOM   9192  N   GLU G 139      -9.144  14.912  25.364  1.00 93.05           N  \nATOM   9193  CA  GLU G 139      -8.737  14.755  26.757  1.00 93.05           C  \nATOM   9194  C   GLU G 139      -7.222  14.619  26.877  1.00 93.05           C  \nATOM   9195  CB  GLU G 139      -9.425  13.540  27.385  1.00 93.05           C  \nATOM   9196  O   GLU G 139      -6.609  15.212  27.767  1.00 93.05           O  \nATOM   9197  CG  GLU G 139     -10.936  13.680  27.499  1.00 93.05           C  \nATOM   9198  CD  GLU G 139     -11.367  14.841  28.381  1.00 93.05           C  \nATOM   9199  OE1 GLU G 139     -12.446  15.424  28.133  1.00 93.05           O  \nATOM   9200  OE2 GLU G 139     -10.618  15.170  29.328  1.00 93.05           O  \nATOM   9201  N   ASP G 140      -6.629  13.886  26.021  1.00 94.87           N  \nATOM   9202  CA  ASP G 140      -5.174  13.773  25.994  1.00 94.87           C  \nATOM   9203  C   ASP G 140      -4.525  15.120  25.682  1.00 94.87           C  \nATOM   9204  CB  ASP G 140      -4.735  12.728  24.966  1.00 94.87           C  \nATOM   9205  O   ASP G 140      -3.520  15.488  26.295  1.00 94.87           O  \nATOM   9206  CG  ASP G 140      -5.025  11.304  25.408  1.00 94.87           C  \nATOM   9207  OD1 ASP G 140      -4.864  10.993  26.608  1.00 94.87           O  \nATOM   9208  OD2 ASP G 140      -5.415  10.485  24.548  1.00 94.87           O  \nATOM   9209  N   GLU G 141      -5.084  15.818  24.795  1.00 96.08           N  \nATOM   9210  CA  GLU G 141      -4.555  17.124  24.412  1.00 96.08           C  \nATOM   9211  C   GLU G 141      -4.594  18.101  25.583  1.00 96.08           C  \nATOM   9212  CB  GLU G 141      -5.337  17.693  23.225  1.00 96.08           C  \nATOM   9213  O   GLU G 141      -3.661  18.883  25.777  1.00 96.08           O  \nATOM   9214  CG  GLU G 141      -5.139  16.919  21.930  1.00 96.08           C  \nATOM   9215  CD  GLU G 141      -5.978  17.452  20.779  1.00 96.08           C  \nATOM   9216  OE1 GLU G 141      -6.563  16.639  20.028  1.00 96.08           O  \nATOM   9217  OE2 GLU G 141      -6.049  18.692  20.626  1.00 96.08           O  \nATOM   9218  N   ILE G 142      -5.713  18.064  26.316  1.00 96.27           N  \nATOM   9219  CA  ILE G 142      -5.864  18.936  27.475  1.00 96.27           C  \nATOM   9220  C   ILE G 142      -4.789  18.611  28.509  1.00 96.27           C  \nATOM   9221  CB  ILE G 142      -7.270  18.803  28.103  1.00 96.27           C  \nATOM   9222  O   ILE G 142      -4.129  19.512  29.032  1.00 96.27           O  \nATOM   9223  CG1 ILE G 142      -8.328  19.418  27.180  1.00 96.27           C  \nATOM   9224  CG2 ILE G 142      -7.306  19.454  29.489  1.00 96.27           C  \nATOM   9225  CD1 ILE G 142      -9.760  19.086  27.573  1.00 96.27           C  \nATOM   9226  N   GLU G 143      -4.608  17.359  28.749  1.00 96.25           N  \nATOM   9227  CA  GLU G 143      -3.595  16.952  29.718  1.00 96.25           C  \nATOM   9228  C   GLU G 143      -2.198  17.361  29.262  1.00 96.25           C  \nATOM   9229  CB  GLU G 143      -3.651  15.440  29.952  1.00 96.25           C  \nATOM   9230  O   GLU G 143      -1.407  17.878  30.053  1.00 96.25           O  \nATOM   9231  CG  GLU G 143      -2.808  14.967  31.127  1.00 96.25           C  \nATOM   9232  CD  GLU G 143      -2.999  13.494  31.449  1.00 96.25           C  \nATOM   9233  OE1 GLU G 143      -2.296  12.972  32.344  1.00 96.25           O  \nATOM   9234  OE2 GLU G 143      -3.858  12.856  30.800  1.00 96.25           O  \nATOM   9235  N   ALA G 144      -1.917  17.187  28.061  1.00 96.33           N  \nATOM   9236  CA  ALA G 144      -0.627  17.592  27.509  1.00 96.33           C  \nATOM   9237  C   ALA G 144      -0.434  19.102  27.615  1.00 96.33           C  \nATOM   9238  CB  ALA G 144      -0.506  17.145  26.054  1.00 96.33           C  \nATOM   9239  O   ALA G 144       0.636  19.572  28.009  1.00 96.33           O  \nATOM   9240  N   ALA G 145      -1.470  19.824  27.281  1.00 96.92           N  \nATOM   9241  CA  ALA G 145      -1.406  21.281  27.349  1.00 96.92           C  \nATOM   9242  C   ALA G 145      -1.188  21.754  28.783  1.00 96.92           C  \nATOM   9243  CB  ALA G 145      -2.680  21.897  26.776  1.00 96.92           C  \nATOM   9244  O   ALA G 145      -0.475  22.733  29.019  1.00 96.92           O  \nATOM   9245  N   ARG G 146      -1.814  21.084  29.735  1.00 97.64           N  \nATOM   9246  CA  ARG G 146      -1.619  21.411  31.144  1.00 97.64           C  \nATOM   9247  C   ARG G 146      -0.164  21.213  31.556  1.00 97.64           C  \nATOM   9248  CB  ARG G 146      -2.533  20.557  32.026  1.00 97.64           C  \nATOM   9249  O   ARG G 146       0.418  22.068  32.227  1.00 97.64           O  \nATOM   9250  CG  ARG G 146      -3.975  21.037  32.064  1.00 97.64           C  \nATOM   9251  CD  ARG G 146      -4.847  20.136  32.928  1.00 97.64           C  \nATOM   9252  NE  ARG G 146      -6.221  20.625  33.002  1.00 97.64           N  \nATOM   9253  NH1 ARG G 146      -7.065  18.718  33.997  1.00 97.64           N  \nATOM   9254  NH2 ARG G 146      -8.452  20.481  33.526  1.00 97.64           N  \nATOM   9255  CZ  ARG G 146      -7.243  19.940  33.508  1.00 97.64           C  \nATOM   9256  N   GLU G 147       0.361  20.137  31.153  1.00 96.18           N  \nATOM   9257  CA  GLU G 147       1.759  19.862  31.471  1.00 96.18           C  \nATOM   9258  C   GLU G 147       2.685  20.886  30.821  1.00 96.18           C  \nATOM   9259  CB  GLU G 147       2.144  18.448  31.027  1.00 96.18           C  \nATOM   9260  O   GLU G 147       3.635  21.358  31.449  1.00 96.18           O  \nATOM   9261  CG  GLU G 147       1.515  17.347  31.867  1.00 96.18           C  \nATOM   9262  CD  GLU G 147       1.878  15.949  31.393  1.00 96.18           C  \nATOM   9263  OE1 GLU G 147       1.367  14.961  31.968  1.00 96.18           O  \nATOM   9264  OE2 GLU G 147       2.680  15.840  30.439  1.00 96.18           O  \nATOM   9265  N   ASP G 148       2.387  21.233  29.638  1.00 95.84           N  \nATOM   9266  CA  ASP G 148       3.179  22.243  28.945  1.00 95.84           C  \nATOM   9267  C   ASP G 148       3.087  23.594  29.652  1.00 95.84           C  \nATOM   9268  CB  ASP G 148       2.722  22.379  27.491  1.00 95.84           C  \nATOM   9269  O   ASP G 148       4.095  24.284  29.817  1.00 95.84           O  \nATOM   9270  CG  ASP G 148       3.130  21.197  26.629  1.00 95.84           C  \nATOM   9271  OD1 ASP G 148       3.935  20.358  27.085  1.00 95.84           O  \nATOM   9272  OD2 ASP G 148       2.642  21.106  25.481  1.00 95.84           O  \nATOM   9273  N   ALA G 149       1.852  23.974  30.025  1.00 96.21           N  \nATOM   9274  CA  ALA G 149       1.655  25.242  30.722  1.00 96.21           C  \nATOM   9275  C   ALA G 149       2.442  25.278  32.029  1.00 96.21           C  \nATOM   9276  CB  ALA G 149       0.171  25.476  30.991  1.00 96.21           C  \nATOM   9277  O   ALA G 149       3.108  26.271  32.332  1.00 96.21           O  \nATOM   9278  N   ARG G 150       2.410  24.173  32.724  1.00 96.65           N  \nATOM   9279  CA  ARG G 150       3.161  24.093  33.973  1.00 96.65           C  \nATOM   9280  C   ARG G 150       4.658  24.239  33.722  1.00 96.65           C  \nATOM   9281  CB  ARG G 150       2.876  22.770  34.688  1.00 96.65           C  \nATOM   9282  O   ARG G 150       5.346  24.964  34.443  1.00 96.65           O  \nATOM   9283  CG  ARG G 150       1.509  22.709  35.349  1.00 96.65           C  \nATOM   9284  CD  ARG G 150       1.262  21.361  36.011  1.00 96.65           C  \nATOM   9285  NE  ARG G 150      -0.122  21.225  36.457  1.00 96.65           N  \nATOM   9286  NH1 ARG G 150      -0.054  18.923  36.639  1.00 96.65           N  \nATOM   9287  NH2 ARG G 150      -1.979  20.061  37.142  1.00 96.65           N  \nATOM   9288  CZ  ARG G 150      -0.715  20.070  36.745  1.00 96.65           C  \nATOM   9289  N   ALA G 151       5.140  23.609  32.718  1.00 95.27           N  \nATOM   9290  CA  ALA G 151       6.563  23.649  32.393  1.00 95.27           C  \nATOM   9291  C   ALA G 151       6.986  25.048  31.954  1.00 95.27           C  \nATOM   9292  CB  ALA G 151       6.890  22.632  31.303  1.00 95.27           C  \nATOM   9293  O   ALA G 151       8.028  25.551  32.380  1.00 95.27           O  \nATOM   9294  N   ILE G 152       6.220  25.708  31.125  1.00 95.88           N  \nATOM   9295  CA  ILE G 152       6.526  27.043  30.622  1.00 95.88           C  \nATOM   9296  C   ILE G 152       6.511  28.044  31.775  1.00 95.88           C  \nATOM   9297  CB  ILE G 152       5.528  27.475  29.524  1.00 95.88           C  \nATOM   9298  O   ILE G 152       7.394  28.899  31.874  1.00 95.88           O  \nATOM   9299  CG1 ILE G 152       5.740  26.645  28.253  1.00 95.88           C  \nATOM   9300  CG2 ILE G 152       5.664  28.972  29.230  1.00 95.88           C  \nATOM   9301  CD1 ILE G 152       4.629  26.795  27.223  1.00 95.88           C  \nATOM   9302  N   CYS G 153       5.517  27.940  32.722  1.00 95.38           N  \nATOM   9303  CA  CYS G 153       5.431  28.842  33.865  1.00 95.38           C  \nATOM   9304  C   CYS G 153       6.610  28.638  34.810  1.00 95.38           C  \nATOM   9305  CB  CYS G 153       4.119  28.628  34.619  1.00 95.38           C  \nATOM   9306  O   CYS G 153       7.131  29.601  35.376  1.00 95.38           O  \nATOM   9307  SG  CYS G 153       2.656  29.145  33.694  1.00 95.38           S  \nATOM   9308  N   ALA G 154       7.065  27.438  34.953  1.00 96.43           N  \nATOM   9309  CA  ALA G 154       8.226  27.152  35.792  1.00 96.43           C  \nATOM   9310  C   ALA G 154       9.497  27.743  35.189  1.00 96.43           C  \nATOM   9311  CB  ALA G 154       8.384  25.646  35.987  1.00 96.43           C  \nATOM   9312  O   ALA G 154      10.344  28.276  35.910  1.00 96.43           O  \nATOM   9313  N   ALA G 155       9.618  27.713  33.891  1.00 94.73           N  \nATOM   9314  CA  ALA G 155      10.826  28.163  33.205  1.00 94.73           C  \nATOM   9315  C   ALA G 155      10.831  29.680  33.042  1.00 94.73           C  \nATOM   9316  CB  ALA G 155      10.950  27.484  31.843  1.00 94.73           C  \nATOM   9317  O   ALA G 155      11.872  30.324  33.191  1.00 94.73           O  \nATOM   9318  N   LYS G 156       9.668  30.290  32.747  1.00 95.42           N  \nATOM   9319  CA  LYS G 156       9.637  31.698  32.364  1.00 95.42           C  \nATOM   9320  C   LYS G 156       9.008  32.553  33.461  1.00 95.42           C  \nATOM   9321  CB  LYS G 156       8.871  31.882  31.053  1.00 95.42           C  \nATOM   9322  O   LYS G 156       9.036  33.783  33.389  1.00 95.42           O  \nATOM   9323  CG  LYS G 156       9.512  31.188  29.859  1.00 95.42           C  \nATOM   9324  CD  LYS G 156       9.006  31.762  28.542  1.00 95.42           C  \nATOM   9325  CE  LYS G 156       9.724  31.143  27.350  1.00 95.42           C  \nATOM   9326  NZ  LYS G 156       9.253  31.724  26.057  1.00 95.42           N  \nATOM   9327  N   GLY G 157       8.437  31.951  34.475  1.00 94.91           N  \nATOM   9328  CA  GLY G 157       7.803  32.658  35.576  1.00 94.91           C  \nATOM   9329  C   GLY G 157       6.288  32.616  35.519  1.00 94.91           C  \nATOM   9330  O   GLY G 157       5.702  32.637  34.434  1.00 94.91           O  \nATOM   9331  N   GLU G 158       5.550  32.545  36.605  1.00 92.94           N  \nATOM   9332  CA  GLU G 158       4.104  32.388  36.730  1.00 92.94           C  \nATOM   9333  C   GLU G 158       3.368  33.614  36.196  1.00 92.94           C  \nATOM   9334  CB  GLU G 158       3.714  32.135  38.189  1.00 92.94           C  \nATOM   9335  O   GLU G 158       2.223  33.512  35.750  1.00 92.94           O  \nATOM   9336  CG  GLU G 158       4.096  30.752  38.696  1.00 92.94           C  \nATOM   9337  CD  GLU G 158       3.529  30.439  40.071  1.00 92.94           C  \nATOM   9338  OE1 GLU G 158       3.674  29.287  40.540  1.00 92.94           O  \nATOM   9339  OE2 GLU G 158       2.935  31.353  40.685  1.00 92.94           O  \nATOM   9340  N   THR G 159       4.067  34.806  36.227  1.00 93.51           N  \nATOM   9341  CA  THR G 159       3.395  36.026  35.795  1.00 93.51           C  \nATOM   9342  C   THR G 159       3.849  36.426  34.394  1.00 93.51           C  \nATOM   9343  CB  THR G 159       3.657  37.186  36.773  1.00 93.51           C  \nATOM   9344  O   THR G 159       3.521  37.514  33.916  1.00 93.51           O  \nATOM   9345  CG2 THR G 159       3.131  36.859  38.167  1.00 93.51           C  \nATOM   9346  OG1 THR G 159       5.067  37.428  36.851  1.00 93.51           O  \nATOM   9347  N   SER G 160       4.608  35.606  33.681  1.00 94.83           N  \nATOM   9348  CA  SER G 160       5.117  35.909  32.348  1.00 94.83           C  \nATOM   9349  C   SER G 160       4.012  35.818  31.300  1.00 94.83           C  \nATOM   9350  CB  SER G 160       6.258  34.959  31.980  1.00 94.83           C  \nATOM   9351  O   SER G 160       3.051  35.065  31.468  1.00 94.83           O  \nATOM   9352  OG  SER G 160       5.757  33.676  31.648  1.00 94.83           O  \nATOM   9353  N   PRO G 161       4.086  36.696  30.236  1.00 96.10           N  \nATOM   9354  CA  PRO G 161       3.123  36.591  29.137  1.00 96.10           C  \nATOM   9355  C   PRO G 161       3.098  35.201  28.506  1.00 96.10           C  \nATOM   9356  CB  PRO G 161       3.618  37.637  28.135  1.00 96.10           C  \nATOM   9357  O   PRO G 161       2.042  34.737  28.068  1.00 96.10           O  \nATOM   9358  CG  PRO G 161       4.482  38.556  28.937  1.00 96.10           C  \nATOM   9359  CD  PRO G 161       5.001  37.804  30.128  1.00 96.10           C  \nATOM   9360  N   ASP G 162       4.170  34.540  28.479  1.00 95.23           N  \nATOM   9361  CA  ASP G 162       4.252  33.200  27.905  1.00 95.23           C  \nATOM   9362  C   ASP G 162       3.450  32.198  28.732  1.00 95.23           C  \nATOM   9363  CB  ASP G 162       5.710  32.749  27.801  1.00 95.23           C  \nATOM   9364  O   ASP G 162       2.781  31.323  28.179  1.00 95.23           O  \nATOM   9365  CG  ASP G 162       6.510  33.555  26.793  1.00 95.23           C  \nATOM   9366  OD1 ASP G 162       5.908  34.168  25.886  1.00 95.23           O  \nATOM   9367  OD2 ASP G 162       7.755  33.576  26.906  1.00 95.23           O  \nATOM   9368  N   CYS G 163       3.548  32.316  30.029  1.00 93.34           N  \nATOM   9369  CA  CYS G 163       2.783  31.455  30.924  1.00 93.34           C  \nATOM   9370  C   CYS G 163       1.285  31.664  30.736  1.00 93.34           C  \nATOM   9371  CB  CYS G 163       3.165  31.720  32.380  1.00 93.34           C  \nATOM   9372  O   CYS G 163       0.533  30.699  30.591  1.00 93.34           O  \nATOM   9373  SG  CYS G 163       2.313  30.654  33.563  1.00 93.34           S  \nATOM   9374  N   ALA G 164       0.903  32.937  30.652  1.00 95.61           N  \nATOM   9375  CA  ALA G 164      -0.508  33.254  30.452  1.00 95.61           C  \nATOM   9376  C   ALA G 164      -1.019  32.676  29.135  1.00 95.61           C  \nATOM   9377  CB  ALA G 164      -0.725  34.765  30.486  1.00 95.61           C  \nATOM   9378  O   ALA G 164      -2.112  32.109  29.081  1.00 95.61           O  \nATOM   9379  N   ALA G 165      -0.265  32.808  28.126  1.00 96.33           N  \nATOM   9380  CA  ALA G 165      -0.643  32.284  26.816  1.00 96.33           C  \nATOM   9381  C   ALA G 165      -0.796  30.766  26.856  1.00 96.33           C  \nATOM   9382  CB  ALA G 165       0.389  32.684  25.765  1.00 96.33           C  \nATOM   9383  O   ALA G 165      -1.703  30.211  26.231  1.00 96.33           O  \nATOM   9384  N   ALA G 166       0.066  30.059  27.542  1.00 95.83           N  \nATOM   9385  CA  ALA G 166       0.010  28.604  27.655  1.00 95.83           C  \nATOM   9386  C   ALA G 166      -1.280  28.156  28.336  1.00 95.83           C  \nATOM   9387  CB  ALA G 166       1.222  28.082  28.423  1.00 95.83           C  \nATOM   9388  O   ALA G 166      -1.918  27.194  27.901  1.00 95.83           O  \nATOM   9389  N   TRP G 167      -1.644  28.832  29.362  1.00 96.44           N  \nATOM   9390  CA  TRP G 167      -2.867  28.466  30.070  1.00 96.44           C  \nATOM   9391  C   TRP G 167      -4.100  28.827  29.248  1.00 96.44           C  \nATOM   9392  CB  TRP G 167      -2.926  29.159  31.434  1.00 96.44           C  \nATOM   9393  O   TRP G 167      -5.139  28.173  29.358  1.00 96.44           O  \nATOM   9394  CG  TRP G 167      -2.156  28.453  32.509  1.00 96.44           C  \nATOM   9395  CD1 TRP G 167      -0.994  28.869  33.099  1.00 96.44           C  \nATOM   9396  CD2 TRP G 167      -2.490  27.203  33.119  1.00 96.44           C  \nATOM   9397  CE2 TRP G 167      -1.487  26.921  34.073  1.00 96.44           C  \nATOM   9398  CE3 TRP G 167      -3.543  26.292  32.953  1.00 96.44           C  \nATOM   9399  NE1 TRP G 167      -0.587  27.952  34.040  1.00 96.44           N  \nATOM   9400  CH2 TRP G 167      -2.546  24.892  34.674  1.00 96.44           C  \nATOM   9401  CZ2 TRP G 167      -1.506  25.765  34.857  1.00 96.44           C  \nATOM   9402  CZ3 TRP G 167      -3.560  25.143  33.735  1.00 96.44           C  \nATOM   9403  N   ASP G 168      -3.980  29.826  28.416  1.00 96.47           N  \nATOM   9404  CA  ASP G 168      -5.067  30.146  27.497  1.00 96.47           C  \nATOM   9405  C   ASP G 168      -5.361  28.973  26.564  1.00 96.47           C  \nATOM   9406  CB  ASP G 168      -4.730  31.395  26.680  1.00 96.47           C  \nATOM   9407  O   ASP G 168      -6.521  28.698  26.249  1.00 96.47           O  \nATOM   9408  CG  ASP G 168      -4.832  32.677  27.488  1.00 96.47           C  \nATOM   9409  OD1 ASP G 168      -5.367  32.645  28.618  1.00 96.47           O  \nATOM   9410  OD2 ASP G 168      -4.377  33.729  26.990  1.00 96.47           O  \nATOM   9411  N   VAL G 169      -4.326  28.343  26.140  1.00 96.52           N  \nATOM   9412  CA  VAL G 169      -4.496  27.175  25.281  1.00 96.52           C  \nATOM   9413  C   VAL G 169      -5.277  26.095  26.026  1.00 96.52           C  \nATOM   9414  CB  VAL G 169      -3.136  26.618  24.806  1.00 96.52           C  \nATOM   9415  O   VAL G 169      -6.204  25.498  25.475  1.00 96.52           O  \nATOM   9416  CG1 VAL G 169      -3.325  25.304  24.050  1.00 96.52           C  \nATOM   9417  CG2 VAL G 169      -2.417  27.642  23.930  1.00 96.52           C  \nATOM   9418  N   VAL G 170      -4.959  25.850  27.257  1.00 96.62           N  \nATOM   9419  CA  VAL G 170      -5.656  24.871  28.085  1.00 96.62           C  \nATOM   9420  C   VAL G 170      -7.132  25.245  28.196  1.00 96.62           C  \nATOM   9421  CB  VAL G 170      -5.026  24.765  29.491  1.00 96.62           C  \nATOM   9422  O   VAL G 170      -8.010  24.399  28.004  1.00 96.62           O  \nATOM   9423  CG1 VAL G 170      -5.856  23.849  30.388  1.00 96.62           C  \nATOM   9424  CG2 VAL G 170      -3.587  24.261  29.394  1.00 96.62           C  \nATOM   9425  N   GLU G 171      -7.365  26.495  28.460  1.00 96.27           N  \nATOM   9426  CA  GLU G 171      -8.735  26.969  28.632  1.00 96.27           C  \nATOM   9427  C   GLU G 171      -9.534  26.825  27.340  1.00 96.27           C  \nATOM   9428  CB  GLU G 171      -8.746  28.427  29.097  1.00 96.27           C  \nATOM   9429  O   GLU G 171     -10.708  26.448  27.368  1.00 96.27           O  \nATOM   9430  CG  GLU G 171      -8.329  28.612  30.549  1.00 96.27           C  \nATOM   9431  CD  GLU G 171      -8.381  30.060  31.009  1.00 96.27           C  \nATOM   9432  OE1 GLU G 171      -8.147  30.325  32.210  1.00 96.27           O  \nATOM   9433  OE2 GLU G 171      -8.658  30.938  30.160  1.00 96.27           O  \nATOM   9434  N   GLU G 172      -8.888  27.082  26.298  1.00 95.35           N  \nATOM   9435  CA  GLU G 172      -9.558  26.938  25.009  1.00 95.35           C  \nATOM   9436  C   GLU G 172      -9.933  25.483  24.742  1.00 95.35           C  \nATOM   9437  CB  GLU G 172      -8.671  27.469  23.880  1.00 95.35           C  \nATOM   9438  O   GLU G 172     -11.050  25.194  24.308  1.00 95.35           O  \nATOM   9439  CG  GLU G 172      -9.363  27.517  22.526  1.00 95.35           C  \nATOM   9440  CD  GLU G 172      -8.500  28.126  21.432  1.00 95.35           C  \nATOM   9441  OE1 GLU G 172      -8.960  28.209  20.271  1.00 95.35           O  \nATOM   9442  OE2 GLU G 172      -7.353  28.522  21.739  1.00 95.35           O  \nATOM   9443  N   LEU G 173      -9.050  24.612  25.000  1.00 95.23           N  \nATOM   9444  CA  LEU G 173      -9.310  23.189  24.808  1.00 95.23           C  \nATOM   9445  C   LEU G 173     -10.405  22.704  25.753  1.00 95.23           C  \nATOM   9446  CB  LEU G 173      -8.031  22.376  25.030  1.00 95.23           C  \nATOM   9447  O   LEU G 173     -11.273  21.924  25.355  1.00 95.23           O  \nATOM   9448  CG  LEU G 173      -6.964  22.481  23.940  1.00 95.23           C  \nATOM   9449  CD1 LEU G 173      -5.664  21.835  24.408  1.00 95.23           C  \nATOM   9450  CD2 LEU G 173      -7.453  21.836  22.648  1.00 95.23           C  \nATOM   9451  N   GLN G 174     -10.357  23.137  26.988  1.00 95.07           N  \nATOM   9452  CA  GLN G 174     -11.379  22.766  27.962  1.00 95.07           C  \nATOM   9453  C   GLN G 174     -12.752  23.287  27.544  1.00 95.07           C  \nATOM   9454  CB  GLN G 174     -11.016  23.295  29.350  1.00 95.07           C  \nATOM   9455  O   GLN G 174     -13.761  22.601  27.719  1.00 95.07           O  \nATOM   9456  CG  GLN G 174      -9.908  22.508  30.038  1.00 95.07           C  \nATOM   9457  CD  GLN G 174      -9.518  23.096  31.381  1.00 95.07           C  \nATOM   9458  NE2 GLN G 174      -9.310  22.232  32.368  1.00 95.07           N  \nATOM   9459  OE1 GLN G 174      -9.403  24.317  31.529  1.00 95.07           O  \nATOM   9460  N   ALA G 175     -12.727  24.477  26.987  1.00 93.04           N  \nATOM   9461  CA  ALA G 175     -13.981  25.034  26.487  1.00 93.04           C  \nATOM   9462  C   ALA G 175     -14.547  24.182  25.355  1.00 93.04           C  \nATOM   9463  CB  ALA G 175     -13.773  26.471  26.013  1.00 93.04           C  \nATOM   9464  O   ALA G 175     -15.748  23.903  25.321  1.00 93.04           O  \nATOM   9465  N   GLU G 176     -13.697  23.781  24.547  1.00 90.75           N  \nATOM   9466  CA  GLU G 176     -14.130  22.924  23.447  1.00 90.75           C  \nATOM   9467  C   GLU G 176     -14.647  21.584  23.962  1.00 90.75           C  \nATOM   9468  CB  GLU G 176     -12.985  22.700  22.457  1.00 90.75           C  \nATOM   9469  O   GLU G 176     -15.669  21.083  23.488  1.00 90.75           O  \nATOM   9470  CG  GLU G 176     -13.380  21.887  21.233  1.00 90.75           C  \nATOM   9471  CD  GLU G 176     -12.370  21.978  20.100  1.00 90.75           C  \nATOM   9472  OE1 GLU G 176     -12.557  21.300  19.064  1.00 90.75           O  \nATOM   9473  OE2 GLU G 176     -11.383  22.733  20.250  1.00 90.75           O  \nATOM   9474  N   ALA G 177     -13.977  21.022  24.884  1.00 90.03           N  \nATOM   9475  CA  ALA G 177     -14.403  19.757  25.477  1.00 90.03           C  \nATOM   9476  C   ALA G 177     -15.774  19.893  26.135  1.00 90.03           C  \nATOM   9477  CB  ALA G 177     -13.374  19.273  26.496  1.00 90.03           C  \nATOM   9478  O   ALA G 177     -16.616  19.000  26.021  1.00 90.03           O  \nATOM   9479  N   SER G 178     -15.971  21.005  26.814  1.00 88.28           N  \nATOM   9480  CA  SER G 178     -17.255  21.257  27.462  1.00 88.28           C  \nATOM   9481  C   SER G 178     -18.369  21.425  26.435  1.00 88.28           C  \nATOM   9482  CB  SER G 178     -17.174  22.502  28.347  1.00 88.28           C  \nATOM   9483  O   SER G 178     -19.478  20.922  26.627  1.00 88.28           O  \nATOM   9484  OG  SER G 178     -16.233  22.318  29.390  1.00 88.28           O  \nATOM   9485  N   HIS G 179     -18.012  22.146  25.378  1.00 86.04           N  \nATOM   9486  CA  HIS G 179     -18.982  22.318  24.303  1.00 86.04           C  \nATOM   9487  C   HIS G 179     -19.380  20.975  23.701  1.00 86.04           C  \nATOM   9488  CB  HIS G 179     -18.419  23.235  23.215  1.00 86.04           C  \nATOM   9489  O   HIS G 179     -20.561  20.734  23.437  1.00 86.04           O  \nATOM   9490  CG  HIS G 179     -19.389  23.527  22.115  1.00 86.04           C  \nATOM   9491  CD2 HIS G 179     -20.332  24.490  21.994  1.00 86.04           C  \nATOM   9492  ND1 HIS G 179     -19.457  22.772  20.964  1.00 86.04           N  \nATOM   9493  CE1 HIS G 179     -20.403  23.262  20.180  1.00 86.04           C  \nATOM   9494  NE2 HIS G 179     -20.950  24.304  20.782  1.00 86.04           N  \nATOM   9495  N   GLN G 180     -18.463  20.138  23.576  1.00 81.18           N  \nATOM   9496  CA  GLN G 180     -18.726  18.811  23.029  1.00 81.18           C  \nATOM   9497  C   GLN G 180     -19.618  17.998  23.962  1.00 81.18           C  \nATOM   9498  CB  GLN G 180     -17.414  18.066  22.775  1.00 81.18           C  \nATOM   9499  O   GLN G 180     -20.523  17.296  23.508  1.00 81.18           O  \nATOM   9500  CG  GLN G 180     -16.649  18.566  21.557  1.00 81.18           C  \nATOM   9501  CD  GLN G 180     -15.489  17.663  21.181  1.00 81.18           C  \nATOM   9502  NE2 GLN G 180     -14.377  18.264  20.773  1.00 81.18           N  \nATOM   9503  OE1 GLN G 180     -15.592  16.434  21.258  1.00 81.18           O  \nATOM   9504  N   ARG G 181     -19.372  18.153  25.251  1.00 77.01           N  \nATOM   9505  CA  ARG G 181     -20.170  17.435  26.240  1.00 77.01           C  \nATOM   9506  C   ARG G 181     -21.584  17.999  26.316  1.00 77.01           C  \nATOM   9507  CB  ARG G 181     -19.505  17.501  27.617  1.00 77.01           C  \nATOM   9508  O   ARG G 181     -22.549  17.250  26.482  1.00 77.01           O  \nATOM   9509  CG  ARG G 181     -18.250  16.651  27.737  1.00 77.01           C  \nATOM   9510  CD  ARG G 181     -17.575  16.829  29.089  1.00 77.01           C  \nATOM   9511  NE  ARG G 181     -16.252  16.211  29.117  1.00 77.01           N  \nATOM   9512  NH1 ARG G 181     -15.432  17.558  30.805  1.00 77.01           N  \nATOM   9513  NH2 ARG G 181     -14.100  15.941  29.873  1.00 77.01           N  \nATOM   9514  CZ  ARG G 181     -15.264  16.571  29.932  1.00 77.01           C  \nATOM   9515  N   ALA G 182     -21.727  19.291  26.187  1.00 69.60           N  \nATOM   9516  CA  ALA G 182     -23.026  19.954  26.258  1.00 69.60           C  \nATOM   9517  C   ALA G 182     -23.900  19.576  25.065  1.00 69.60           C  \nATOM   9518  CB  ALA G 182     -22.848  21.469  26.323  1.00 69.60           C  \nATOM   9519  O   ALA G 182     -25.103  19.348  25.217  1.00 69.60           O  \nATOM   9520  N   LYS G 183     -23.367  19.624  23.892  1.00 64.28           N  \nATOM   9521  CA  LYS G 183     -24.116  19.242  22.698  1.00 64.28           C  \nATOM   9522  C   LYS G 183     -24.625  17.807  22.803  1.00 64.28           C  \nATOM   9523  CB  LYS G 183     -23.250  19.401  21.447  1.00 64.28           C  \nATOM   9524  O   LYS G 183     -25.705  17.488  22.302  1.00 64.28           O  \nATOM   9525  CG  LYS G 183     -23.224  20.816  20.888  1.00 64.28           C  \nATOM   9526  CD  LYS G 183     -22.529  20.868  19.534  1.00 64.28           C  \nATOM   9527  CE  LYS G 183     -22.529  22.278  18.959  1.00 64.28           C  \nATOM   9528  NZ  LYS G 183     -21.809  22.344  17.651  1.00 64.28           N  \nATOM   9529  N   LYS G 184     -23.970  16.989  23.536  1.00 59.37           N  \nATOM   9530  CA  LYS G 184     -24.371  15.598  23.724  1.00 59.37           C  \nATOM   9531  C   LYS G 184     -25.522  15.487  24.719  1.00 59.37           C  \nATOM   9532  CB  LYS G 184     -23.185  14.757  24.199  1.00 59.37           C  \nATOM   9533  O   LYS G 184     -26.407  14.643  24.561  1.00 59.37           O  \nATOM   9534  CG  LYS G 184     -22.242  14.330  23.084  1.00 59.37           C  \nATOM   9535  CD  LYS G 184     -21.148  13.404  23.600  1.00 59.37           C  \nATOM   9536  CE  LYS G 184     -20.174  13.019  22.495  1.00 59.37           C  \nATOM   9537  NZ  LYS G 184     -19.045  12.192  23.017  1.00 59.37           N  \nATOM   9538  N   GLN G 185     -25.521  16.318  25.831  1.00 55.05           N  \nATOM   9539  CA  GLN G 185     -26.571  16.321  26.843  1.00 55.05           C  \nATOM   9540  C   GLN G 185     -27.862  16.922  26.295  1.00 55.05           C  \nATOM   9541  CB  GLN G 185     -26.119  17.091  28.085  1.00 55.05           C  \nATOM   9542  O   GLN G 185     -28.958  16.484  26.651  1.00 55.05           O  \nATOM   9543  CG  GLN G 185     -25.251  16.275  29.033  1.00 55.05           C  \nATOM   9544  CD  GLN G 185     -24.768  17.079  30.226  1.00 55.05           C  \nATOM   9545  NE2 GLN G 185     -24.113  16.408  31.167  1.00 55.05           N  \nATOM   9546  OE1 GLN G 185     -24.982  18.293  30.300  1.00 55.05           O  \nATOM   9547  N   GLY G 186     -27.871  17.924  25.399  1.00 48.53           N  \nATOM   9548  CA  GLY G 186     -29.049  18.566  24.838  1.00 48.53           C  \nATOM   9549  C   GLY G 186     -29.828  17.666  23.897  1.00 48.53           C  \nATOM   9550  O   GLY G 186     -31.059  17.723  23.853  1.00 48.53           O  \nATOM   9551  N   SER G 187     -29.193  16.884  23.063  1.00 49.60           N  \nATOM   9552  CA  SER G 187     -29.895  15.933  22.206  1.00 49.60           C  \nATOM   9553  C   SER G 187     -30.602  14.863  23.031  1.00 49.60           C  \nATOM   9554  CB  SER G 187     -28.923  15.274  21.227  1.00 49.60           C  \nATOM   9555  O   SER G 187     -31.735  14.485  22.727  1.00 49.60           O  \nATOM   9556  OG  SER G 187     -28.642  13.941  21.617  1.00 49.60           O  \nATOM   9557  N   ASN G 188     -30.024  14.366  24.104  1.00 45.89           N  \nATOM   9558  CA  ASN G 188     -30.663  13.405  24.997  1.00 45.89           C  \nATOM   9559  C   ASN G 188     -31.843  14.026  25.739  1.00 45.89           C  \nATOM   9560  CB  ASN G 188     -29.648  12.839  25.992  1.00 45.89           C  \nATOM   9561  O   ASN G 188     -32.865  13.371  25.947  1.00 45.89           O  \nATOM   9562  CG  ASN G 188     -29.296  11.392  25.709  1.00 45.89           C  \nATOM   9563  ND2 ASN G 188     -28.322  10.864  26.441  1.00 45.89           N  \nATOM   9564  OD1 ASN G 188     -29.894  10.754  24.839  1.00 45.89           O  \nATOM   9565  N   SER G 189     -31.710  15.286  26.091  1.00 49.99           N  \nATOM   9566  CA  SER G 189     -32.836  15.967  26.723  1.00 49.99           C  \nATOM   9567  C   SER G 189     -33.995  16.141  25.747  1.00 49.99           C  \nATOM   9568  CB  SER G 189     -32.403  17.331  27.262  1.00 49.99           C  \nATOM   9569  O   SER G 189     -35.158  15.975  26.121  1.00 49.99           O  \nATOM   9570  OG  SER G 189     -33.023  18.378  26.536  1.00 49.99           O  \nATOM   9571  N   PHE G 190     -33.733  16.384  24.483  1.00 49.88           N  \nATOM   9572  CA  PHE G 190     -34.792  16.481  23.485  1.00 49.88           C  \nATOM   9573  C   PHE G 190     -35.389  15.109  23.195  1.00 49.88           C  \nATOM   9574  CB  PHE G 190     -34.258  17.105  22.192  1.00 49.88           C  \nATOM   9575  O   PHE G 190     -36.611  14.962  23.116  1.00 49.88           O  \nATOM   9576  CG  PHE G 190     -35.316  17.333  21.146  1.00 49.88           C  \nATOM   9577  CD1 PHE G 190     -35.400  16.509  20.031  1.00 49.88           C  \nATOM   9578  CD2 PHE G 190     -36.227  18.373  21.279  1.00 49.88           C  \nATOM   9579  CE1 PHE G 190     -36.379  16.717  19.062  1.00 49.88           C  \nATOM   9580  CE2 PHE G 190     -37.208  18.588  20.314  1.00 49.88           C  \nATOM   9581  CZ  PHE G 190     -37.281  17.759  19.206  1.00 49.88           C  \nATOM   9582  N   GLN G 191     -34.598  14.060  23.077  1.00 50.96           N  \nATOM   9583  CA  GLN G 191     -35.098  12.698  22.919  1.00 50.96           C  \nATOM   9584  C   GLN G 191     -35.856  12.243  24.163  1.00 50.96           C  \nATOM   9585  CB  GLN G 191     -33.947  11.734  22.624  1.00 50.96           C  \nATOM   9586  O   GLN G 191     -36.936  11.658  24.058  1.00 50.96           O  \nATOM   9587  CG  GLN G 191     -34.349  10.540  21.770  1.00 50.96           C  \nATOM   9588  CD  GLN G 191     -33.165   9.878  21.092  1.00 50.96           C  \nATOM   9589  NE2 GLN G 191     -33.441   8.897  20.240  1.00 50.96           N  \nATOM   9590  OE1 GLN G 191     -32.010  10.246  21.331  1.00 50.96           O  \nATOM   9591  N   ALA G 192     -35.291  12.503  25.356  1.00 54.08           N  \nATOM   9592  CA  ALA G 192     -36.011  12.228  26.597  1.00 54.08           C  \nATOM   9593  C   ALA G 192     -37.290  13.056  26.684  1.00 54.08           C  \nATOM   9594  CB  ALA G 192     -35.118  12.507  27.803  1.00 54.08           C  \nATOM   9595  O   ALA G 192     -38.334  12.554  27.109  1.00 54.08           O  \nATOM   9596  N   TYR G 193     -37.131  14.326  26.287  1.00 52.78           N  \nATOM   9597  CA  TYR G 193     -38.314  15.175  26.204  1.00 52.78           C  \nATOM   9598  C   TYR G 193     -39.319  14.615  25.204  1.00 52.78           C  \nATOM   9599  CB  TYR G 193     -37.925  16.603  25.809  1.00 52.78           C  \nATOM   9600  O   TYR G 193     -40.511  14.515  25.502  1.00 52.78           O  \nATOM   9601  CG  TYR G 193     -39.105  17.532  25.654  1.00 52.78           C  \nATOM   9602  CD1 TYR G 193     -39.588  17.871  24.393  1.00 52.78           C  \nATOM   9603  CD2 TYR G 193     -39.737  18.074  26.769  1.00 52.78           C  \nATOM   9604  CE1 TYR G 193     -40.673  18.729  24.245  1.00 52.78           C  \nATOM   9605  CE2 TYR G 193     -40.822  18.933  26.633  1.00 52.78           C  \nATOM   9606  OH  TYR G 193     -42.358  20.103  25.229  1.00 52.78           O  \nATOM   9607  CZ  TYR G 193     -41.283  19.253  25.369  1.00 52.78           C  \nATOM   9608  N   CYS G 194     -38.827  14.215  24.058  1.00 57.33           N  \nATOM   9609  CA  CYS G 194     -39.735  13.663  23.059  1.00 57.33           C  \nATOM   9610  C   CYS G 194     -40.240  12.289  23.481  1.00 57.33           C  \nATOM   9611  CB  CYS G 194     -39.044  13.568  21.699  1.00 57.33           C  \nATOM   9612  O   CYS G 194     -41.365  11.907  23.151  1.00 57.33           O  \nATOM   9613  SG  CYS G 194     -38.949  15.142  20.819  1.00 57.33           S  \nATOM   9614  N   GLU G 195     -39.481  11.416  24.174  1.00 59.54           N  \nATOM   9615  CA  GLU G 195     -39.946  10.167  24.771  1.00 59.54           C  \nATOM   9616  C   GLU G 195     -40.972  10.428  25.870  1.00 59.54           C  \nATOM   9617  CB  GLU G 195     -38.766   9.368  25.332  1.00 59.54           C  \nATOM   9618  O   GLU G 195     -41.954   9.694  25.997  1.00 59.54           O  \nATOM   9619  CG  GLU G 195     -38.041   8.529  24.290  1.00 59.54           C  \nATOM   9620  CD  GLU G 195     -36.826   7.802  24.845  1.00 59.54           C  \nATOM   9621  OE1 GLU G 195     -36.171   7.050  24.088  1.00 59.54           O  \nATOM   9622  OE2 GLU G 195     -36.528   7.986  26.046  1.00 59.54           O  \nATOM   9623  N   ALA G 196     -40.816  11.540  26.693  1.00 64.39           N  \nATOM   9624  CA  ALA G 196     -41.731  11.913  27.768  1.00 64.39           C  \nATOM   9625  C   ALA G 196     -42.935  12.677  27.224  1.00 64.39           C  \nATOM   9626  CB  ALA G 196     -41.005  12.750  28.819  1.00 64.39           C  \nATOM   9627  O   ALA G 196     -44.014  12.654  27.821  1.00 64.39           O  \nATOM   9628  N   ASN G 197     -42.649  13.545  26.189  1.00 52.10           N  \nATOM   9629  CA  ASN G 197     -43.733  14.300  25.571  1.00 52.10           C  \nATOM   9630  C   ASN G 197     -43.859  13.984  24.083  1.00 52.10           C  \nATOM   9631  CB  ASN G 197     -43.529  15.802  25.779  1.00 52.10           C  \nATOM   9632  O   ASN G 197     -43.521  14.813  23.237  1.00 52.10           O  \nATOM   9633  CG  ASN G 197     -43.728  16.224  27.221  1.00 52.10           C  \nATOM   9634  ND2 ASN G 197     -42.863  17.108  27.705  1.00 52.10           N  \nATOM   9635  OD1 ASN G 197     -44.651  15.760  27.895  1.00 52.10           O  \nATOM   9636  N   PRO G 198     -44.234  12.732  23.733  1.00 57.36           N  \nATOM   9637  CA  PRO G 198     -44.271  12.252  22.349  1.00 57.36           C  \nATOM   9638  C   PRO G 198     -45.151  13.117  21.448  1.00 57.36           C  \nATOM   9639  CB  PRO G 198     -44.847  10.840  22.481  1.00 57.36           C  \nATOM   9640  O   PRO G 198     -44.911  13.199  20.241  1.00 57.36           O  \nATOM   9641  CG  PRO G 198     -45.267  10.730  23.912  1.00 57.36           C  \nATOM   9642  CD  PRO G 198     -44.837  11.976  24.631  1.00 57.36           C  \nATOM   9643  N   ASP G 199     -46.149  13.728  22.028  1.00 53.09           N  \nATOM   9644  CA  ASP G 199     -47.136  14.502  21.282  1.00 53.09           C  \nATOM   9645  C   ASP G 199     -46.674  15.946  21.094  1.00 53.09           C  \nATOM   9646  CB  ASP G 199     -48.490  14.472  21.994  1.00 53.09           C  \nATOM   9647  O   ASP G 199     -47.395  16.764  20.520  1.00 53.09           O  \nATOM   9648  CG  ASP G 199     -49.125  13.093  22.003  1.00 53.09           C  \nATOM   9649  OD1 ASP G 199     -48.919  12.320  21.042  1.00 53.09           O  \nATOM   9650  OD2 ASP G 199     -49.839  12.776  22.979  1.00 53.09           O  \nATOM   9651  N   ALA G 200     -45.523  16.262  21.625  1.00 53.50           N  \nATOM   9652  CA  ALA G 200     -45.056  17.642  21.512  1.00 53.50           C  \nATOM   9653  C   ALA G 200     -44.645  17.967  20.079  1.00 53.50           C  \nATOM   9654  CB  ALA G 200     -43.889  17.888  22.466  1.00 53.50           C  \nATOM   9655  O   ALA G 200     -44.083  17.119  19.381  1.00 53.50           O  \nATOM   9656  N   LEU G 201     -45.101  19.137  19.341  1.00 53.79           N  \nATOM   9657  CA  LEU G 201     -44.937  19.572  17.958  1.00 53.79           C  \nATOM   9658  C   LEU G 201     -43.478  19.478  17.527  1.00 53.79           C  \nATOM   9659  CB  LEU G 201     -45.441  21.007  17.784  1.00 53.79           C  \nATOM   9660  O   LEU G 201     -43.183  19.055  16.407  1.00 53.79           O  \nATOM   9661  CG  LEU G 201     -46.798  21.171  17.097  1.00 53.79           C  \nATOM   9662  CD1 LEU G 201     -47.593  22.293  17.756  1.00 53.79           C  \nATOM   9663  CD2 LEU G 201     -46.614  21.442  15.608  1.00 53.79           C  \nATOM   9664  N   GLU G 202     -42.685  19.816  18.385  1.00 56.18           N  \nATOM   9665  CA  GLU G 202     -41.255  19.888  18.097  1.00 56.18           C  \nATOM   9666  C   GLU G 202     -40.671  18.499  17.851  1.00 56.18           C  \nATOM   9667  CB  GLU G 202     -40.510  20.575  19.244  1.00 56.18           C  \nATOM   9668  O   GLU G 202     -39.705  18.351  17.099  1.00 56.18           O  \nATOM   9669  CG  GLU G 202     -40.731  22.080  19.306  1.00 56.18           C  \nATOM   9670  CD  GLU G 202     -40.695  22.633  20.722  1.00 56.18           C  \nATOM   9671  OE1 GLU G 202     -40.761  23.872  20.891  1.00 56.18           O  \nATOM   9672  OE2 GLU G 202     -40.600  21.822  21.669  1.00 56.18           O  \nATOM   9673  N   CYS G 203     -41.279  17.468  18.521  1.00 49.50           N  \nATOM   9674  CA  CYS G 203     -40.819  16.089  18.404  1.00 49.50           C  \nATOM   9675  C   CYS G 203     -41.375  15.434  17.146  1.00 49.50           C  \nATOM   9676  CB  CYS G 203     -41.230  15.281  19.635  1.00 49.50           C  \nATOM   9677  O   CYS G 203     -40.801  14.470  16.637  1.00 49.50           O  \nATOM   9678  SG  CYS G 203     -40.435  15.826  21.162  1.00 49.50           S  \nATOM   9679  N   ARG G 204     -42.504  15.771  16.533  1.00 46.33           N  \nATOM   9680  CA  ARG G 204     -43.166  15.223  15.353  1.00 46.33           C  \nATOM   9681  C   ARG G 204     -42.439  15.634  14.077  1.00 46.33           C  \nATOM   9682  CB  ARG G 204     -44.626  15.679  15.295  1.00 46.33           C  \nATOM   9683  O   ARG G 204     -42.597  14.997  13.034  1.00 46.33           O  \nATOM   9684  CG  ARG G 204     -45.590  14.752  16.018  1.00 46.33           C  \nATOM   9685  CD  ARG G 204     -47.040  15.143  15.772  1.00 46.33           C  \nATOM   9686  NE  ARG G 204     -47.966  14.217  16.418  1.00 46.33           N  \nATOM   9687  NH1 ARG G 204     -49.852  15.483  15.997  1.00 46.33           N  \nATOM   9688  NH2 ARG G 204     -50.029  13.493  17.120  1.00 46.33           N  \nATOM   9689  CZ  ARG G 204     -49.280  14.400  16.510  1.00 46.33           C  \nATOM   9690  N   ILE G 205     -41.711  16.743  14.028  1.00 41.81           N  \nATOM   9691  CA  ILE G 205     -41.088  17.189  12.787  1.00 41.81           C  \nATOM   9692  C   ILE G 205     -39.960  16.234  12.403  1.00 41.81           C  \nATOM   9693  CB  ILE G 205     -40.549  18.632  12.912  1.00 41.81           C  \nATOM   9694  O   ILE G 205     -39.683  16.035  11.218  1.00 41.81           O  \nATOM   9695  CG1 ILE G 205     -41.698  19.609  13.188  1.00 41.81           C  \nATOM   9696  CG2 ILE G 205     -39.780  19.033  11.649  1.00 41.81           C  \nATOM   9697  CD1 ILE G 205     -41.243  21.033  13.479  1.00 41.81           C  \nATOM   9698  N   TYR G 206     -39.417  15.590  13.387  1.00 36.33           N  \nATOM   9699  CA  TYR G 206     -38.272  14.755  13.040  1.00 36.33           C  \nATOM   9700  C   TYR G 206     -38.720  13.354  12.641  1.00 36.33           C  \nATOM   9701  CB  TYR G 206     -37.290  14.675  14.213  1.00 36.33           C  \nATOM   9702  O   TYR G 206     -37.894  12.510  12.284  1.00 36.33           O  \nATOM   9703  CG  TYR G 206     -36.105  15.601  14.076  1.00 36.33           C  \nATOM   9704  CD1 TYR G 206     -34.933  15.177  13.453  1.00 36.33           C  \nATOM   9705  CD2 TYR G 206     -36.154  16.900  14.571  1.00 36.33           C  \nATOM   9706  CE1 TYR G 206     -33.839  16.026  13.327  1.00 36.33           C  \nATOM   9707  CE2 TYR G 206     -35.066  17.757  14.450  1.00 36.33           C  \nATOM   9708  OH  TYR G 206     -32.833  18.156  13.705  1.00 36.33           O  \nATOM   9709  CZ  TYR G 206     -33.914  17.312  13.827  1.00 36.33           C  \nATOM   9710  N   ASP G 207     -39.991  12.867  12.933  1.00 33.55           N  \nATOM   9711  CA  ASP G 207     -40.430  11.527  12.557  1.00 33.55           C  \nATOM   9712  C   ASP G 207     -40.799  11.465  11.076  1.00 33.55           C  \nATOM   9713  CB  ASP G 207     -41.620  11.091  13.414  1.00 33.55           C  \nATOM   9714  O   ASP G 207     -41.063  10.386  10.542  1.00 33.55           O  \nATOM   9715  CG  ASP G 207     -41.205  10.526  14.761  1.00 33.55           C  \nATOM   9716  OD1 ASP G 207     -40.010  10.210  14.948  1.00 33.55           O  \nATOM   9717  OD2 ASP G 207     -42.081  10.394  15.643  1.00 33.55           O  \nATOM   9718  N   ASP G 208     -41.085  12.646  10.393  1.00 27.53           N  \nATOM   9719  CA  ASP G 208     -41.388  12.382   8.990  1.00 27.53           C  \nATOM   9720  C   ASP G 208     -40.108  12.208   8.175  1.00 27.53           C  \nATOM   9721  CB  ASP G 208     -42.236  13.512   8.402  1.00 27.53           C  \nATOM   9722  O   ASP G 208     -39.176  13.006   8.296  1.00 27.53           O  \nATOM   9723  CG  ASP G 208     -43.699  13.423   8.799  1.00 27.53           C  \nATOM   9724  OD1 ASP G 208     -44.126  12.372   9.323  1.00 27.53           O  \nATOM   9725  OD2 ASP G 208     -44.432  14.412   8.582  1.00 27.53           O  \nTER    9726      ASP G 208                                                      \nENDMDL                                                                          \nEND                                                                             "
  },
  {
    "path": "alphafold/common/testdata/glucagon.pdb",
    "content": "HEADER    HORMONE                                 17-OCT-77   1GCN              \nTITLE     X-RAY ANALYSIS OF GLUCAGON AND ITS RELATIONSHIP TO RECEPTOR           \nTITLE    2 BINDING                                                              \nCOMPND    MOL_ID: 1;                                                            \nCOMPND   2 MOLECULE: GLUCAGON;                                                  \nCOMPND   3 CHAIN: A;                                                            \nCOMPND   4 ENGINEERED: YES                                                      \nSOURCE    MOL_ID: 1;                                                            \nSOURCE   2 ORGANISM_SCIENTIFIC: SUS SCROFA;                                     \nSOURCE   3 ORGANISM_COMMON: PIG;                                                \nSOURCE   4 ORGANISM_TAXID: 9823                                                 \nKEYWDS    HORMONE                                                               \nEXPDTA    X-RAY DIFFRACTION                                                     \nAUTHOR    T.L.BLUNDELL,K.SASAKI,S.DOCKERILL,I.J.TICKLE                          \nREVDAT   6   24-FEB-09 1GCN    1       VERSN                                    \nREVDAT   5   30-SEP-83 1GCN    1       REVDAT                                   \nREVDAT   4   31-DEC-80 1GCN    1       REMARK                                   \nREVDAT   3   22-OCT-79 1GCN    3       ATOM                                     \nREVDAT   2   29-AUG-79 1GCN    3       CRYST1                                   \nREVDAT   1   28-NOV-77 1GCN    0                                                \nJRNL        AUTH   K.SASAKI,S.DOCKERILL,D.A.ADAMIAK,I.J.TICKLE,                 \nJRNL        AUTH 2 T.BLUNDELL                                                   \nJRNL        TITL   X-RAY ANALYSIS OF GLUCAGON AND ITS RELATIONSHIP TO           \nJRNL        TITL 2 RECEPTOR BINDING.                                            \nJRNL        REF    NATURE                        V. 257   751 1975              \nJRNL        REFN                   ISSN 0028-0836                               \nJRNL        PMID   171582                                                       \nJRNL        DOI    10.1038/257751A0                                             \nREMARK   1                                                                      \nREMARK   1 REFERENCE 1                                                          \nREMARK   1  EDIT   M.O.DAYHOFF                                                  \nREMARK   1  REF    ATLAS OF PROTEIN SEQUENCE     V.   5   125 1976              \nREMARK   1  REF  2 AND STRUCTURE,SUPPLEMENT 2                                   \nREMARK   1  PUBL   NATIONAL BIOMEDICAL RESEARCH FOUNDATION, SILVER              \nREMARK   1  PUBL 2 SPRING,MD.                                                   \nREMARK   1  REFN                   ISSN 0-912466-05-7                           \nREMARK   2                                                                      \nREMARK   2 RESOLUTION.    3.00 ANGSTROMS.                                       \nREMARK   3                                                                      \nREMARK   3 REFINEMENT.                                                          \nREMARK   3   PROGRAM     : NULL                                                 \nREMARK   3   AUTHORS     : NULL                                                 \nREMARK   3                                                                      \nREMARK   3  DATA USED IN REFINEMENT.                                            \nREMARK   3   RESOLUTION RANGE HIGH (ANGSTROMS) : 3.00                           \nREMARK   3   RESOLUTION RANGE LOW  (ANGSTROMS) : NULL                           \nREMARK   3   DATA CUTOFF            (SIGMA(F)) : NULL                           \nREMARK   3   DATA CUTOFF HIGH         (ABS(F)) : NULL                           \nREMARK   3   DATA CUTOFF LOW          (ABS(F)) : NULL                           \nREMARK   3   COMPLETENESS (WORKING+TEST)   (%) : NULL                           \nREMARK   3   NUMBER OF REFLECTIONS             : NULL                           \nREMARK   3                                                                      \nREMARK   3  FIT TO DATA USED IN REFINEMENT.                                     \nREMARK   3   CROSS-VALIDATION METHOD          : NULL                            \nREMARK   3   FREE R VALUE TEST SET SELECTION  : NULL                            \nREMARK   3   R VALUE            (WORKING SET) : NULL                            \nREMARK   3   FREE R VALUE                     : NULL                            \nREMARK   3   FREE R VALUE TEST SET SIZE   (%) : NULL                            \nREMARK   3   FREE R VALUE TEST SET COUNT      : NULL                            \nREMARK   3   ESTIMATED ERROR OF FREE R VALUE  : NULL                            \nREMARK   3                                                                      \nREMARK   3  FIT IN THE HIGHEST RESOLUTION BIN.                                  \nREMARK   3   TOTAL NUMBER OF BINS USED           : NULL                         \nREMARK   3   BIN RESOLUTION RANGE HIGH       (A) : NULL                         \nREMARK   3   BIN RESOLUTION RANGE LOW        (A) : NULL                         \nREMARK   3   BIN COMPLETENESS (WORKING+TEST) (%) : NULL                         \nREMARK   3   REFLECTIONS IN BIN    (WORKING SET) : NULL                         \nREMARK   3   BIN R VALUE           (WORKING SET) : NULL                         \nREMARK   3   BIN FREE R VALUE                    : NULL                         \nREMARK   3   BIN FREE R VALUE TEST SET SIZE  (%) : NULL                         \nREMARK   3   BIN FREE R VALUE TEST SET COUNT     : NULL                         \nREMARK   3   ESTIMATED ERROR OF BIN FREE R VALUE : NULL                         \nREMARK   3                                                                      \nREMARK   3  NUMBER OF NON-HYDROGEN ATOMS USED IN REFINEMENT.                    \nREMARK   3   PROTEIN ATOMS            : 246                                     \nREMARK   3   NUCLEIC ACID ATOMS       : 0                                       \nREMARK   3   HETEROGEN ATOMS          : 0                                       \nREMARK   3   SOLVENT ATOMS            : 0                                       \nREMARK   3                                                                      \nREMARK   3  B VALUES.                                                           \nREMARK   3   FROM WILSON PLOT           (A**2) : NULL                           \nREMARK   3   MEAN B VALUE      (OVERALL, A**2) : NULL                           \nREMARK   3   OVERALL ANISOTROPIC B VALUE.                                       \nREMARK   3    B11 (A**2) : NULL                                                 \nREMARK   3    B22 (A**2) : NULL                                                 \nREMARK   3    B33 (A**2) : NULL                                                 \nREMARK   3    B12 (A**2) : NULL                                                 \nREMARK   3    B13 (A**2) : NULL                                                 \nREMARK   3    B23 (A**2) : NULL                                                 \nREMARK   3                                                                      \nREMARK   3  ESTIMATED COORDINATE ERROR.                                         \nREMARK   3   ESD FROM LUZZATI PLOT        (A) : NULL                            \nREMARK   3   ESD FROM SIGMAA              (A) : NULL                            \nREMARK   3   LOW RESOLUTION CUTOFF        (A) : NULL                            \nREMARK   3                                                                      \nREMARK   3  CROSS-VALIDATED ESTIMATED COORDINATE ERROR.                         \nREMARK   3   ESD FROM C-V LUZZATI PLOT    (A) : NULL                            \nREMARK   3   ESD FROM C-V SIGMAA          (A) : NULL                            \nREMARK   3                                                                      \nREMARK   3  RMS DEVIATIONS FROM IDEAL VALUES.                                   \nREMARK   3   BOND LENGTHS                 (A) : NULL                            \nREMARK   3   BOND ANGLES            (DEGREES) : NULL                            \nREMARK   3   DIHEDRAL ANGLES        (DEGREES) : NULL                            \nREMARK   3   IMPROPER ANGLES        (DEGREES) : NULL                            \nREMARK   3                                                                      \nREMARK   3  ISOTROPIC THERMAL MODEL : NULL                                      \nREMARK   3                                                                      \nREMARK   3  ISOTROPIC THERMAL FACTOR RESTRAINTS.    RMS    SIGMA                \nREMARK   3   MAIN-CHAIN BOND              (A**2) : NULL  ; NULL                 \nREMARK   3   MAIN-CHAIN ANGLE             (A**2) : NULL  ; NULL                 \nREMARK   3   SIDE-CHAIN BOND              (A**2) : NULL  ; NULL                 \nREMARK   3   SIDE-CHAIN ANGLE             (A**2) : NULL  ; NULL                 \nREMARK   3                                                                      \nREMARK   3  NCS MODEL : NULL                                                    \nREMARK   3                                                                      \nREMARK   3  NCS RESTRAINTS.                         RMS   SIGMA/WEIGHT          \nREMARK   3   GROUP  1  POSITIONAL            (A) : NULL  ; NULL                 \nREMARK   3   GROUP  1  B-FACTOR           (A**2) : NULL  ; NULL                 \nREMARK   3                                                                      \nREMARK   3  PARAMETER FILE  1  : NULL                                           \nREMARK   3  TOPOLOGY FILE  1   : NULL                                           \nREMARK   3                                                                      \nREMARK   3  OTHER REFINEMENT REMARKS: NULL                                      \nREMARK   4                                                                      \nREMARK   4 1GCN COMPLIES WITH FORMAT V. 3.15, 01-DEC-08                         \nREMARK 100                                                                      \nREMARK 100 THIS ENTRY HAS BEEN PROCESSED BY BNL.                                \nREMARK 200                                                                      \nREMARK 200 EXPERIMENTAL DETAILS                                                 \nREMARK 200  EXPERIMENT TYPE                : X-RAY DIFFRACTION                  \nREMARK 200  DATE OF DATA COLLECTION        : NULL                               \nREMARK 200  TEMPERATURE           (KELVIN) : NULL                               \nREMARK 200  PH                             : NULL                               \nREMARK 200  NUMBER OF CRYSTALS USED        : NULL                               \nREMARK 200                                                                      \nREMARK 200  SYNCHROTRON              (Y/N) : NULL                               \nREMARK 200  RADIATION SOURCE               : NULL                               \nREMARK 200  BEAMLINE                       : NULL                               \nREMARK 200  X-RAY GENERATOR MODEL          : NULL                               \nREMARK 200  MONOCHROMATIC OR LAUE    (M/L) : NULL                               \nREMARK 200  WAVELENGTH OR RANGE        (A) : NULL                               \nREMARK 200  MONOCHROMATOR                  : NULL                               \nREMARK 200  OPTICS                         : NULL                               \nREMARK 200                                                                      \nREMARK 200  DETECTOR TYPE                  : NULL                               \nREMARK 200  DETECTOR MANUFACTURER          : NULL                               \nREMARK 200  INTENSITY-INTEGRATION SOFTWARE : NULL                               \nREMARK 200  DATA SCALING SOFTWARE          : NULL                               \nREMARK 200                                                                      \nREMARK 200  NUMBER OF UNIQUE REFLECTIONS   : NULL                               \nREMARK 200  RESOLUTION RANGE HIGH      (A) : NULL                               \nREMARK 200  RESOLUTION RANGE LOW       (A) : NULL                               \nREMARK 200  REJECTION CRITERIA  (SIGMA(I)) : NULL                               \nREMARK 200                                                                      \nREMARK 200 OVERALL.                                                             \nREMARK 200  COMPLETENESS FOR RANGE     (%) : NULL                               \nREMARK 200  DATA REDUNDANCY                : NULL                               \nREMARK 200  R MERGE                    (I) : NULL                               \nREMARK 200  R SYM                      (I) : NULL                               \nREMARK 200  <I/SIGMA(I)> FOR THE DATA SET  : NULL                               \nREMARK 200                                                                      \nREMARK 200 IN THE HIGHEST RESOLUTION SHELL.                                     \nREMARK 200  HIGHEST RESOLUTION SHELL, RANGE HIGH (A) : NULL                     \nREMARK 200  HIGHEST RESOLUTION SHELL, RANGE LOW  (A) : NULL                     \nREMARK 200  COMPLETENESS FOR SHELL     (%) : NULL                               \nREMARK 200  DATA REDUNDANCY IN SHELL       : NULL                               \nREMARK 200  R MERGE FOR SHELL          (I) : NULL                               \nREMARK 200  R SYM FOR SHELL            (I) : NULL                               \nREMARK 200  <I/SIGMA(I)> FOR SHELL         : NULL                               \nREMARK 200                                                                      \nREMARK 200 DIFFRACTION PROTOCOL: NULL                                           \nREMARK 200 METHOD USED TO DETERMINE THE STRUCTURE: NULL                         \nREMARK 200 SOFTWARE USED: NULL                                                  \nREMARK 200 STARTING MODEL: NULL                                                 \nREMARK 200                                                                      \nREMARK 200 REMARK: NULL                                                         \nREMARK 280                                                                      \nREMARK 280 CRYSTAL                                                              \nREMARK 280 SOLVENT CONTENT, VS   (%): 50.74                                     \nREMARK 280 MATTHEWS COEFFICIENT, VM (ANGSTROMS**3/DA): 2.50                     \nREMARK 280                                                                      \nREMARK 280 CRYSTALLIZATION CONDITIONS: NULL                                     \nREMARK 290                                                                      \nREMARK 290 CRYSTALLOGRAPHIC SYMMETRY                                            \nREMARK 290 SYMMETRY OPERATORS FOR SPACE GROUP: P 21 3                           \nREMARK 290                                                                      \nREMARK 290      SYMOP   SYMMETRY                                                \nREMARK 290     NNNMMM   OPERATOR                                                \nREMARK 290       1555   X,Y,Z                                                   \nREMARK 290       2555   -X+1/2,-Y,Z+1/2                                         \nREMARK 290       3555   -X,Y+1/2,-Z+1/2                                         \nREMARK 290       4555   X+1/2,-Y+1/2,-Z                                         \nREMARK 290       5555   Z,X,Y                                                   \nREMARK 290       6555   Z+1/2,-X+1/2,-Y                                         \nREMARK 290       7555   -Z+1/2,-X,Y+1/2                                         \nREMARK 290       8555   -Z,X+1/2,-Y+1/2                                         \nREMARK 290       9555   Y,Z,X                                                   \nREMARK 290      10555   -Y,Z+1/2,-X+1/2                                         \nREMARK 290      11555   Y+1/2,-Z+1/2,-X                                         \nREMARK 290      12555   -Y+1/2,-Z,X+1/2                                         \nREMARK 290                                                                      \nREMARK 290     WHERE NNN -> OPERATOR NUMBER                                     \nREMARK 290           MMM -> TRANSLATION VECTOR                                  \nREMARK 290                                                                      \nREMARK 290 CRYSTALLOGRAPHIC SYMMETRY TRANSFORMATIONS                            \nREMARK 290 THE FOLLOWING TRANSFORMATIONS OPERATE ON THE ATOM/HETATM             \nREMARK 290 RECORDS IN THIS ENTRY TO PRODUCE CRYSTALLOGRAPHICALLY                \nREMARK 290 RELATED MOLECULES.                                                   \nREMARK 290   SMTRY1   1  1.000000  0.000000  0.000000        0.00000            \nREMARK 290   SMTRY2   1  0.000000  1.000000  0.000000        0.00000            \nREMARK 290   SMTRY3   1  0.000000  0.000000  1.000000        0.00000            \nREMARK 290   SMTRY1   2 -1.000000  0.000000  0.000000       23.55000            \nREMARK 290   SMTRY2   2  0.000000 -1.000000  0.000000        0.00000            \nREMARK 290   SMTRY3   2  0.000000  0.000000  1.000000       23.55000            \nREMARK 290   SMTRY1   3 -1.000000  0.000000  0.000000        0.00000            \nREMARK 290   SMTRY2   3  0.000000  1.000000  0.000000       23.55000            \nREMARK 290   SMTRY3   3  0.000000  0.000000 -1.000000       23.55000            \nREMARK 290   SMTRY1   4  1.000000  0.000000  0.000000       23.55000            \nREMARK 290   SMTRY2   4  0.000000 -1.000000  0.000000       23.55000            \nREMARK 290   SMTRY3   4  0.000000  0.000000 -1.000000        0.00000            \nREMARK 290   SMTRY1   5  0.000000  0.000000  1.000000        0.00000            \nREMARK 290   SMTRY2   5  1.000000  0.000000  0.000000        0.00000            \nREMARK 290   SMTRY3   5  0.000000  1.000000  0.000000        0.00000            \nREMARK 290   SMTRY1   6  0.000000  0.000000  1.000000       23.55000            \nREMARK 290   SMTRY2   6 -1.000000  0.000000  0.000000       23.55000            \nREMARK 290   SMTRY3   6  0.000000 -1.000000  0.000000        0.00000            \nREMARK 290   SMTRY1   7  0.000000  0.000000 -1.000000       23.55000            \nREMARK 290   SMTRY2   7 -1.000000  0.000000  0.000000        0.00000            \nREMARK 290   SMTRY3   7  0.000000  1.000000  0.000000       23.55000            \nREMARK 290   SMTRY1   8  0.000000  0.000000 -1.000000        0.00000            \nREMARK 290   SMTRY2   8  1.000000  0.000000  0.000000       23.55000            \nREMARK 290   SMTRY3   8  0.000000 -1.000000  0.000000       23.55000            \nREMARK 290   SMTRY1   9  0.000000  1.000000  0.000000        0.00000            \nREMARK 290   SMTRY2   9  0.000000  0.000000  1.000000        0.00000            \nREMARK 290   SMTRY3   9  1.000000  0.000000  0.000000        0.00000            \nREMARK 290   SMTRY1  10  0.000000 -1.000000  0.000000        0.00000            \nREMARK 290   SMTRY2  10  0.000000  0.000000  1.000000       23.55000            \nREMARK 290   SMTRY3  10 -1.000000  0.000000  0.000000       23.55000            \nREMARK 290   SMTRY1  11  0.000000  1.000000  0.000000       23.55000            \nREMARK 290   SMTRY2  11  0.000000  0.000000 -1.000000       23.55000            \nREMARK 290   SMTRY3  11 -1.000000  0.000000  0.000000        0.00000            \nREMARK 290   SMTRY1  12  0.000000 -1.000000  0.000000       23.55000            \nREMARK 290   SMTRY2  12  0.000000  0.000000 -1.000000        0.00000            \nREMARK 290   SMTRY3  12  1.000000  0.000000  0.000000       23.55000            \nREMARK 290                                                                      \nREMARK 290 REMARK: NULL                                                         \nREMARK 300                                                                      \nREMARK 300 BIOMOLECULE: 1                                                       \nREMARK 300 SEE REMARK 350 FOR THE AUTHOR PROVIDED AND/OR PROGRAM                \nREMARK 300 GENERATED ASSEMBLY INFORMATION FOR THE STRUCTURE IN                  \nREMARK 300 THIS ENTRY. THE REMARK MAY ALSO PROVIDE INFORMATION ON               \nREMARK 300 BURIED SURFACE AREA.                                                 \nREMARK 350                                                                      \nREMARK 350 COORDINATES FOR A COMPLETE MULTIMER REPRESENTING THE KNOWN           \nREMARK 350 BIOLOGICALLY SIGNIFICANT OLIGOMERIZATION STATE OF THE                \nREMARK 350 MOLECULE CAN BE GENERATED BY APPLYING BIOMT TRANSFORMATIONS          \nREMARK 350 GIVEN BELOW.  BOTH NON-CRYSTALLOGRAPHIC AND                          \nREMARK 350 CRYSTALLOGRAPHIC OPERATIONS ARE GIVEN.                               \nREMARK 350                                                                      \nREMARK 350 BIOMOLECULE: 1                                                       \nREMARK 350 AUTHOR DETERMINED BIOLOGICAL UNIT: MONOMERIC                         \nREMARK 350 APPLY THE FOLLOWING TO CHAINS: A                                     \nREMARK 350   BIOMT1   1  1.000000  0.000000  0.000000        0.00000            \nREMARK 350   BIOMT2   1  0.000000  1.000000  0.000000        0.00000            \nREMARK 350   BIOMT3   1  0.000000  0.000000  1.000000        0.00000            \nREMARK 500                                                                      \nREMARK 500 GEOMETRY AND STEREOCHEMISTRY                                         \nREMARK 500 SUBTOPIC: COVALENT BOND LENGTHS                                      \nREMARK 500                                                                      \nREMARK 500 THE STEREOCHEMICAL PARAMETERS OF THE FOLLOWING RESIDUES              \nREMARK 500 HAVE VALUES WHICH DEVIATE FROM EXPECTED VALUES BY MORE               \nREMARK 500 THAN 6*RMSD (M=MODEL NUMBER; RES=RESIDUE NAME; C=CHAIN               \nREMARK 500 IDENTIFIER; SSEQ=SEQUENCE NUMBER; I=INSERTION CODE).                 \nREMARK 500                                                                      \nREMARK 500 STANDARD TABLE:                                                      \nREMARK 500 FORMAT: (10X,I3,1X,2(A3,1X,A1,I4,A1,1X,A4,3X),1X,F6.3)               \nREMARK 500                                                                      \nREMARK 500 EXPECTED VALUES PROTEIN: ENGH AND HUBER, 1999                        \nREMARK 500 EXPECTED VALUES NUCLEIC ACID: CLOWNEY ET AL 1996                     \nREMARK 500                                                                      \nREMARK 500  M RES CSSEQI ATM1   RES CSSEQI ATM2   DEVIATION                     \nREMARK 500    TYR A  10   CZ    TYR A  10   OH     -0.387                       \nREMARK 500    TRP A  25   CD1   TRP A  25   NE1     0.287                       \nREMARK 500    TRP A  25   NE1   TRP A  25   CE2     0.109                       \nREMARK 500                                                                      \nREMARK 500 REMARK: NULL                                                         \nREMARK 500                                                                      \nREMARK 500 GEOMETRY AND STEREOCHEMISTRY                                         \nREMARK 500 SUBTOPIC: COVALENT BOND ANGLES                                       \nREMARK 500                                                                      \nREMARK 500 THE STEREOCHEMICAL PARAMETERS OF THE FOLLOWING RESIDUES              \nREMARK 500 HAVE VALUES WHICH DEVIATE FROM EXPECTED VALUES BY MORE               \nREMARK 500 THAN 6*RMSD (M=MODEL NUMBER; RES=RESIDUE NAME; C=CHAIN               \nREMARK 500 IDENTIFIER; SSEQ=SEQUENCE NUMBER; I=INSERTION CODE).                 \nREMARK 500                                                                      \nREMARK 500 STANDARD TABLE:                                                      \nREMARK 500 FORMAT: (10X,I3,1X,A3,1X,A1,I4,A1,3(1X,A4,2X),12X,F5.1)              \nREMARK 500                                                                      \nREMARK 500 EXPECTED VALUES PROTEIN: ENGH AND HUBER, 1999                        \nREMARK 500 EXPECTED VALUES NUCLEIC ACID: CLOWNEY ET AL 1996                     \nREMARK 500                                                                      \nREMARK 500  M RES CSSEQI ATM1   ATM2   ATM3                                     \nREMARK 500    TRP A  25   CG  -  CD1 -  NE1 ANGL. DEV. =   6.7 DEGREES          \nREMARK 500    TRP A  25   CD1 -  NE1 -  CE2 ANGL. DEV. = -21.5 DEGREES          \nREMARK 500    TRP A  25   NE1 -  CE2 -  CZ2 ANGL. DEV. = -11.0 DEGREES          \nREMARK 500    TRP A  25   NE1 -  CE2 -  CD2 ANGL. DEV. =   9.6 DEGREES          \nREMARK 500                                                                      \nREMARK 500 REMARK: NULL                                                         \nREMARK 500                                                                      \nREMARK 500 GEOMETRY AND STEREOCHEMISTRY                                         \nREMARK 500 SUBTOPIC: TORSION ANGLES                                             \nREMARK 500                                                                      \nREMARK 500 TORSION ANGLES OUTSIDE THE EXPECTED RAMACHANDRAN REGIONS:            \nREMARK 500 (M=MODEL NUMBER; RES=RESIDUE NAME; C=CHAIN IDENTIFIER;               \nREMARK 500 SSEQ=SEQUENCE NUMBER; I=INSERTION CODE).                             \nREMARK 500                                                                      \nREMARK 500 STANDARD TABLE:                                                      \nREMARK 500 FORMAT:(10X,I3,1X,A3,1X,A1,I4,A1,4X,F7.2,3X,F7.2)                    \nREMARK 500                                                                      \nREMARK 500 EXPECTED VALUES: GJ KLEYWEGT AND TA JONES (1996). PHI/PSI-           \nREMARK 500 CHOLOGY: RAMACHANDRAN REVISITED. STRUCTURE 4, 1395 - 1400            \nREMARK 500                                                                      \nREMARK 500  M RES CSSEQI        PSI       PHI                                   \nREMARK 500    SER A   2      -57.57    -21.14                                   \nREMARK 500    THR A   5       54.62    -63.85                                   \nREMARK 500    SER A  11        9.62    -51.97                                   \nREMARK 500    MET A  27      -93.98   -145.30                                   \nREMARK 500    ASN A  28       64.02     15.67                                   \nREMARK 500                                                                      \nREMARK 500 REMARK: NULL                                                         \nREMARK 500                                                                      \nREMARK 500 GEOMETRY AND STEREOCHEMISTRY                                         \nREMARK 500 SUBTOPIC: PLANAR GROUPS                                              \nREMARK 500                                                                      \nREMARK 500 PLANAR GROUPS IN THE FOLLOWING RESIDUES HAVE A TOTAL                 \nREMARK 500 RMS DISTANCE OF ALL ATOMS FROM THE BEST-FIT PLANE                    \nREMARK 500 BY MORE THAN AN EXPECTED VALUE OF 6*RMSD, WITH AN                    \nREMARK 500 RMSD 0.02 ANGSTROMS, OR AT LEAST ONE ATOM HAS                        \nREMARK 500 AN RMSD GREATER THAN THIS VALUE                                      \nREMARK 500 (M=MODEL NUMBER; RES=RESIDUE NAME; C=CHAIN IDENTIFIER;               \nREMARK 500 SSEQ=SEQUENCE NUMBER; I=INSERTION CODE).                             \nREMARK 500                                                                      \nREMARK 500  M RES CSSEQI        RMS     TYPE                                    \nREMARK 500    ASN A  28         0.08    SIDE_CHAIN                              \nREMARK 500                                                                      \nREMARK 500 REMARK: NULL                                                         \nREMARK 500                                                                      \nREMARK 500 GEOMETRY AND STEREOCHEMISTRY                                         \nREMARK 500 SUBTOPIC: MAIN CHAIN PLANARITY                                       \nREMARK 500                                                                      \nREMARK 500 THE FOLLOWING RESIDUES HAVE A PSEUDO PLANARITY                       \nREMARK 500 TORSION, C(I) - CA(I) - N(I+1) - O(I), GREATER                       \nREMARK 500 10.0 DEGREES. (M=MODEL NUMBER; RES=RESIDUE NAME;                     \nREMARK 500 C=CHAIN IDENTIFIER; SSEQ=SEQUENCE NUMBER;                            \nREMARK 500 I=INSERTION CODE).                                                   \nREMARK 500                                                                      \nREMARK 500  M RES CSSEQI        ANGLE                                           \nREMARK 500    HIS A   1         19.48                                           \nREMARK 500    GLN A   3        -15.78                                           \nREMARK 500    GLY A   4        -17.23                                           \nREMARK 500    THR A   5        -10.38                                           \nREMARK 500    PHE A   6        -12.06                                           \nREMARK 500    THR A   7        -14.66                                           \nREMARK 500    SER A  11        -15.10                                           \nREMARK 500    LYS A  12         14.46                                           \nREMARK 500    ALA A  19        -10.92                                           \nREMARK 500    GLN A  20        -13.40                                           \nREMARK 500    VAL A  23        -15.87                                           \nREMARK 500    LEU A  26        -14.56                                           \nREMARK 500    MET A  27        -16.22                                           \nREMARK 500                                                                      \nREMARK 500 REMARK: NULL                                                         \nDBREF  1GCN A    1    29  UNP    P01274   GLUC_PIG        33     61             \nSEQRES   1 A   29  HIS SER GLN GLY THR PHE THR SER ASP TYR SER LYS TYR          \nSEQRES   2 A   29  LEU ASP SER ARG ARG ALA GLN ASP PHE VAL GLN TRP LEU          \nSEQRES   3 A   29  MET ASN THR                                                  \nHELIX    1   A PHE A    6  LEU A   26  1                                  21    \nCRYST1   47.100   47.100   47.100  90.00  90.00  90.00 P 21 3       12          \nORIGX1      0.021231  0.000000  0.000000        0.00000                         \nORIGX2      0.000000  0.021231  0.000000        0.00000                         \nORIGX3      0.000000  0.000000  0.021231        0.00000                         \nSCALE1      0.021231  0.000000  0.000000        0.00000                         \nSCALE2      0.000000  0.021231  0.000000        0.00000                         \nSCALE3      0.000000  0.000000  0.021231        0.00000                         \nATOM      1  N   HIS A   1      49.668  24.248  10.436  1.00 25.00           N  \nATOM      2  CA  HIS A   1      50.197  25.578  10.784  1.00 16.00           C  \nATOM      3  C   HIS A   1      49.169  26.701  10.917  1.00 16.00           C  \nATOM      4  O   HIS A   1      48.241  26.524  11.749  1.00 16.00           O  \nATOM      5  CB  HIS A   1      51.312  26.048   9.843  1.00 16.00           C  \nATOM      6  CG  HIS A   1      50.958  26.068   8.340  1.00 16.00           C  \nATOM      7  ND1 HIS A   1      49.636  26.144   7.860  1.00 16.00           N  \nATOM      8  CD2 HIS A   1      51.797  26.043   7.286  1.00 16.00           C  \nATOM      9  CE1 HIS A   1      49.691  26.152   6.454  1.00 17.00           C  \nATOM     10  NE2 HIS A   1      51.046  26.090   6.098  1.00 17.00           N  \nATOM     11  N   SER A   2      49.788  27.850  10.784  1.00 16.00           N  \nATOM     12  CA  SER A   2      49.138  29.147  10.620  1.00 15.00           C  \nATOM     13  C   SER A   2      47.713  29.006  10.110  1.00 15.00           C  \nATOM     14  O   SER A   2      46.740  29.251  10.864  1.00 15.00           O  \nATOM     15  CB  SER A   2      49.875  29.930   9.569  1.00 16.00           C  \nATOM     16  OG  SER A   2      49.145  31.057   9.176  1.00 19.00           O  \nATOM     17  N   GLN A   3      47.620  28.367   8.973  1.00 15.00           N  \nATOM     18  CA  GLN A   3      46.287  28.193   8.308  1.00 14.00           C  \nATOM     19  C   GLN A   3      45.406  27.172   8.963  1.00 14.00           C  \nATOM     20  O   GLN A   3      44.198  27.508   9.014  1.00 14.00           O  \nATOM     21  CB  GLN A   3      46.489  27.963   6.806  1.00 18.00           C  \nATOM     22  CG  GLN A   3      45.138  27.800   6.111  1.00 21.00           C  \nATOM     23  CD  GLN A   3      45.304  27.952   4.603  1.00 24.00           C  \nATOM     24  OE1 GLN A   3      46.432  28.202   4.112  1.00 24.00           O  \nATOM     25  NE2 GLN A   3      44.233  27.647   3.897  1.00 26.00           N  \nATOM     26  N   GLY A   4      46.014  26.394   9.871  1.00 14.00           N  \nATOM     27  CA  GLY A   4      45.422  25.287  10.680  1.00 14.00           C  \nATOM     28  C   GLY A   4      43.892  25.215  10.719  1.00 14.00           C  \nATOM     29  O   GLY A   4      43.287  26.155  11.288  1.00 14.00           O  \nATOM     30  N   THR A   5      43.406  23.993  10.767  1.00 14.00           N  \nATOM     31  CA  THR A   5      42.004  23.642  10.443  1.00 12.00           C  \nATOM     32  C   THR A   5      40.788  24.146  11.252  1.00 12.00           C  \nATOM     33  O   THR A   5      39.804  23.384  11.410  1.00 12.00           O  \nATOM     34  CB  THR A   5      41.934  22.202   9.889  1.00 14.00           C  \nATOM     35  OG1 THR A   5      41.080  21.317  10.609  1.00 15.00           O  \nATOM     36  CG2 THR A   5      43.317  21.556   9.849  1.00 15.00           C  \nATOM     37  N   PHE A   6      40.628  25.463  11.441  1.00 12.00           N  \nATOM     38  CA  PHE A   6      39.381  25.950  12.104  1.00 12.00           C  \nATOM     39  C   PHE A   6      38.156  25.684  11.232  1.00 12.00           C  \nATOM     40  O   PHE A   6      37.231  25.002  11.719  1.00 12.00           O  \nATOM     41  CB  PHE A   6      39.407  27.425  12.584  1.00 12.00           C  \nATOM     42  CG  PHE A   6      38.187  27.923  13.430  1.00 12.00           C  \nATOM     43  CD1 PHE A   6      36.889  27.518  13.163  1.00 12.00           C  \nATOM     44  CD2 PHE A   6      38.386  28.862  14.419  1.00 12.00           C  \nATOM     45  CE1 PHE A   6      35.813  27.967  13.909  1.00 12.00           C  \nATOM     46  CE2 PHE A   6      37.306  29.328  15.177  1.00 12.00           C  \nATOM     47  CZ  PHE A   6      36.019  28.871  14.928  1.00 12.00           C  \nATOM     48  N   THR A   7      38.341  25.794   9.956  1.00 12.00           N  \nATOM     49  CA  THR A   7      37.249  25.666   8.991  1.00 12.00           C  \nATOM     50  C   THR A   7      36.324  24.452   9.101  1.00 12.00           C  \nATOM     51  O   THR A   7      35.111  24.637   9.387  1.00 12.00           O  \nATOM     52  CB  THR A   7      37.884  25.743   7.628  1.00 13.00           C  \nATOM     53  OG1 THR A   7      37.940  27.122   7.317  1.00 14.00           O  \nATOM     54  CG2 THR A   7      37.073  25.003   6.585  1.00 14.00           C  \nATOM     55  N   SER A   8      36.964  23.356   9.442  1.00 12.00           N  \nATOM     56  CA  SER A   8      36.286  22.063   9.486  1.00 12.00           C  \nATOM     57  C   SER A   8      35.575  21.813  10.813  1.00 11.00           C  \nATOM     58  O   SER A   8      35.203  20.650  11.111  1.00 10.00           O  \nATOM     59  CB  SER A   8      37.291  20.958   9.189  1.00 16.00           C  \nATOM     60  OG  SER A   8      37.917  21.247   7.943  1.00 20.00           O  \nATOM     61  N   ASP A   9      35.723  22.783  11.694  1.00 10.00           N  \nATOM     62  CA  ASP A   9      35.004  22.803  12.977  1.00 10.00           C  \nATOM     63  C   ASP A   9      33.532  23.121  12.749  1.00 10.00           C  \nATOM     64  O   ASP A   9      32.645  22.360  13.210  1.00 10.00           O  \nATOM     65  CB  ASP A   9      35.556  23.874  13.919  1.00 11.00           C  \nATOM     66  CG  ASP A   9      36.280  23.230  15.096  1.00 13.00           C  \nATOM     67  OD1 ASP A   9      36.088  22.010  15.324  1.00 16.00           O  \nATOM     68  OD2 ASP A   9      36.821  23.974  15.951  1.00 16.00           O  \nATOM     69  N   TYR A  10      33.316  24.220  12.040  1.00 10.00           N  \nATOM     70  CA  TYR A  10      31.967  24.742  11.748  1.00 10.00           C  \nATOM     71  C   TYR A  10      31.203  23.973  10.685  1.00 10.00           C  \nATOM     72  O   TYR A  10      29.980  23.772  10.885  1.00 10.00           O  \nATOM     73  CB  TYR A  10      31.951  26.230  11.367  1.00 10.00           C  \nATOM     74  CG  TYR A  10      30.613  26.678  10.713  1.00 10.00           C  \nATOM     75  CD1 TYR A  10      30.563  26.886   9.350  1.00 10.00           C  \nATOM     76  CD2 TYR A  10      29.463  26.824  11.461  1.00 10.00           C  \nATOM     77  CE1 TYR A  10      29.377  27.275   8.733  1.00 10.00           C  \nATOM     78  CE2 TYR A  10      28.272  27.214  10.848  1.00 10.00           C  \nATOM     79  CZ  TYR A  10      28.226  27.452   9.483  1.00 10.00           C  \nATOM     80  OH  TYR A  10      27.365  27.683   9.060  1.00 11.00           O  \nATOM     81  N   SER A  11      31.796  23.909   9.491  1.00 10.00           N  \nATOM     82  CA  SER A  11      31.146  23.418   8.250  1.00 10.00           C  \nATOM     83  C   SER A  11      30.463  22.048   8.303  1.00 10.00           C  \nATOM     84  O   SER A  11      29.615  21.759   7.422  1.00 10.00           O  \nATOM     85  CB  SER A  11      32.004  23.615   6.998  1.00 14.00           C  \nATOM     86  OG  SER A  11      32.013  24.995   6.632  1.00 19.00           O  \nATOM     87  N   LYS A  12      30.402  21.619   9.544  1.00 10.00           N  \nATOM     88  CA  LYS A  12      29.792  20.460  10.189  1.00  9.00           C  \nATOM     89  C   LYS A  12      28.494  20.817  10.932  1.00  9.00           C  \nATOM     90  O   LYS A  12      27.597  19.943  10.980  1.00  9.00           O  \nATOM     91  CB  LYS A  12      30.811  20.013  11.224  1.00 10.00           C  \nATOM     92  CG  LYS A  12      30.482  18.661  11.833  1.00 14.00           C  \nATOM     93  CD  LYS A  12      31.413  18.365  12.999  1.00 18.00           C  \nATOM     94  CE  LYS A  12      31.243  16.937  13.498  1.00 22.00           C  \nATOM     95  NZ  LYS A  12      32.121  16.717  14.652  1.00 26.00           N  \nATOM     96  N   TYR A  13      28.583  21.742  11.894  1.00  9.00           N  \nATOM     97  CA  TYR A  13      27.396  22.283  12.612  1.00  8.00           C  \nATOM     98  C   TYR A  13      26.214  22.497  11.670  1.00  8.00           C  \nATOM     99  O   TYR A  13      25.037  22.245  12.029  1.00  8.00           O  \nATOM    100  CB  TYR A  13      27.730  23.578  13.385  1.00  8.00           C  \nATOM    101  CG  TYR A  13      26.516  24.500  13.692  1.00  8.00           C  \nATOM    102  CD1 TYR A  13      25.798  24.377  14.867  1.00  8.00           C  \nATOM    103  CD2 TYR A  13      26.185  25.498  12.796  1.00  8.00           C  \nATOM    104  CE1 TYR A  13      24.713  25.228  15.120  1.00  8.00           C  \nATOM    105  CE2 TYR A  13      25.108  26.342  13.035  1.00  8.00           C  \nATOM    106  CZ  TYR A  13      24.370  26.210  14.196  1.00  8.00           C  \nATOM    107  OH  TYR A  13      23.202  26.933  14.347  1.00 10.00           O  \nATOM    108  N   LEU A  14      26.522  22.993  10.494  1.00  8.00           N  \nATOM    109  CA  LEU A  14      25.461  23.263   9.523  1.00  8.00           C  \nATOM    110  C   LEU A  14      24.912  21.978   8.907  1.00  8.00           C  \nATOM    111  O   LEU A  14      24.122  22.025   7.933  1.00  8.00           O  \nATOM    112  CB  LEU A  14      25.923  24.242   8.447  1.00 13.00           C  \nATOM    113  CG  LEU A  14      25.064  25.509   8.412  1.00 19.00           C  \nATOM    114  CD1 LEU A  14      25.564  26.496   7.505  1.00 25.00           C  \nATOM    115  CD2 LEU A  14      23.582  25.209   8.199  1.00 25.00           C  \nATOM    116  N   ASP A  15      25.556  20.886   9.263  1.00  8.00           N  \nATOM    117  CA  ASP A  15      25.075  19.552   8.885  1.00  8.00           C  \nATOM    118  C   ASP A  15      24.208  19.002  10.009  1.00  8.00           C  \nATOM    119  O   ASP A  15      23.550  17.940   9.861  1.00  8.00           O  \nATOM    120  CB  ASP A  15      26.246  18.601   8.644  1.00 11.00           C  \nATOM    121  CG  ASP A  15      26.260  18.121   7.196  1.00 16.00           C  \nATOM    122  OD1 ASP A  15      26.021  18.946   6.280  1.00 21.00           O  \nATOM    123  OD2 ASP A  15      26.732  16.984   6.946  1.00 21.00           O  \nATOM    124  N   SER A  16      24.015  19.861  10.986  1.00  8.00           N  \nATOM    125  CA  SER A  16      23.180  19.548  12.149  1.00  7.00           C  \nATOM    126  C   SER A  16      21.923  20.414  12.167  1.00  7.00           C  \nATOM    127  O   SER A  16      20.841  19.941  12.598  1.00  7.00           O  \nATOM    128  CB  SER A  16      23.981  19.746  13.437  1.00  9.00           C  \nATOM    129  OG  SER A  16      23.327  19.102  14.524  1.00 11.00           O  \nATOM    130  N   ARG A  17      22.037  21.605  11.597  1.00  7.00           N  \nATOM    131  CA  ARG A  17      20.875  22.504  11.583  1.00  6.00           C  \nATOM    132  C   ARG A  17      19.868  22.156  10.491  1.00  6.00           C  \nATOM    133  O   ARG A  17      18.665  22.015  10.809  1.00  6.00           O  \nATOM    134  CB  ARG A  17      21.214  23.997  11.557  1.00  7.00           C  \nATOM    135  CG  ARG A  17      20.010  24.800  12.063  1.00  9.00           C  \nATOM    136  CD  ARG A  17      19.570  25.929  11.132  1.00 11.00           C  \nATOM    137  NE  ARG A  17      20.149  27.218  11.537  1.00 12.00           N  \nATOM    138  CZ  ARG A  17      19.828  28.351  10.936  1.00 13.00           C  \nATOM    139  NH1 ARG A  17      19.319  28.304   9.720  1.00 14.00           N  \nATOM    140  NH2 ARG A  17      20.351  29.485  11.362  1.00 14.00           N  \nATOM    141  N   ARG A  18      20.378  21.725   9.348  1.00  6.00           N  \nATOM    142  CA  ARG A  18      19.530  21.258   8.235  1.00  5.00           C  \nATOM    143  C   ARG A  18      19.148  19.796   8.478  1.00  5.00           C  \nATOM    144  O   ARG A  18      18.326  19.189   7.741  1.00  5.00           O  \nATOM    145  CB  ARG A  18      20.237  21.481   6.888  1.00  8.00           C  \nATOM    146  CG  ARG A  18      19.384  21.236   5.634  1.00  9.00           C  \nATOM    147  CD  ARG A  18      19.623  19.860   5.005  1.00 11.00           C  \nATOM    148  NE  ARG A  18      20.029  19.997   3.600  1.00 12.00           N  \nATOM    149  CZ  ARG A  18      19.398  19.415   2.597  1.00 13.00           C  \nATOM    150  NH1 ARG A  18      18.483  18.493   2.835  1.00 14.00           N  \nATOM    151  NH2 ARG A  18      19.831  19.597   1.364  1.00 14.00           N  \nATOM    152  N   ALA A  19      19.560  19.319   9.623  1.00  6.00           N  \nATOM    153  CA  ALA A  19      19.126  17.991  10.053  1.00  6.00           C  \nATOM    154  C   ALA A  19      18.002  18.136  11.071  1.00  6.00           C  \nATOM    155  O   ALA A  19      16.933  17.494  10.922  1.00  7.00           O  \nATOM    156  CB  ALA A  19      20.285  17.187  10.629  1.00 15.00           C  \nATOM    157  N   GLN A  20      18.094  19.241  11.783  1.00  7.00           N  \nATOM    158  CA  GLN A  20      17.013  19.632  12.689  1.00  7.00           C  \nATOM    159  C   GLN A  20      15.897  20.314  11.905  1.00  7.00           C  \nATOM    160  O   GLN A  20      14.701  20.031  12.162  1.00  7.00           O  \nATOM    161  CB  GLN A  20      17.513  20.538  13.821  1.00 11.00           C  \nATOM    162  CG  GLN A  20      16.699  21.829  13.936  1.00 16.00           C  \nATOM    163  CD  GLN A  20      16.591  22.277  15.393  1.00 22.00           C  \nATOM    164  OE1 GLN A  20      17.533  22.060  16.194  1.00 24.00           O  \nATOM    165  NE2 GLN A  20      15.356  22.544  15.773  1.00 24.00           N  \nATOM    166  N   ASP A  21      16.292  20.724  10.714  1.00  7.00           N  \nATOM    167  CA  ASP A  21      15.405  21.490   9.835  1.00  7.00           C  \nATOM    168  C   ASP A  21      14.451  20.565   9.120  1.00  7.00           C  \nATOM    169  O   ASP A  21      13.245  20.850   8.962  1.00  7.00           O  \nATOM    170  CB  ASP A  21      16.212  22.278   8.809  1.00 14.00           C  \nATOM    171  CG  ASP A  21      15.427  23.525   8.413  1.00 21.00           C  \nATOM    172  OD1 ASP A  21      15.031  24.298   9.321  1.00 28.00           O  \nATOM    173  OD2 ASP A  21      15.316  23.827   7.200  1.00 28.00           O  \nATOM    174  N   PHE A  22      14.987  19.373   8.843  1.00  7.00           N  \nATOM    175  CA  PHE A  22      14.216  18.253   8.289  1.00  7.00           C  \nATOM    176  C   PHE A  22      13.098  17.860   9.246  1.00  7.00           C  \nATOM    177  O   PHE A  22      11.956  17.556   8.818  1.00  7.00           O  \nATOM    178  CB  PHE A  22      15.134  17.038   8.105  1.00  8.00           C  \nATOM    179  CG  PHE A  22      14.349  15.761   7.724  1.00 10.00           C  \nATOM    180  CD1 PHE A  22      14.022  15.527   6.410  1.00 12.00           C  \nATOM    181  CD2 PHE A  22      13.992  14.842   8.689  1.00 12.00           C  \nATOM    182  CE1 PHE A  22      13.302  14.391   6.050  1.00 14.00           C  \nATOM    183  CE2 PHE A  22      13.269  13.708   8.340  1.00 14.00           C  \nATOM    184  CZ  PHE A  22      12.917  13.483   7.018  1.00 16.00           C  \nATOM    185  N   VAL A  23      13.455  17.883  10.517  1.00  7.00           N  \nATOM    186  CA  VAL A  23      12.574  17.403  11.589  1.00  7.00           C  \nATOM    187  C   VAL A  23      11.283  18.205  11.729  1.00  7.00           C  \nATOM    188  O   VAL A  23      10.233  17.600  12.052  1.00  7.00           O  \nATOM    189  CB  VAL A  23      13.339  17.278  12.906  1.00 10.00           C  \nATOM    190  CG1 VAL A  23      12.441  17.004  14.108  1.00 13.00           C  \nATOM    191  CG2 VAL A  23      14.455  16.248  12.794  1.00 13.00           C  \nATOM    192  N   GLN A  24      11.255  19.253  10.941  1.00  8.00           N  \nATOM    193  CA  GLN A  24      10.082  20.114  10.818  1.00  8.00           C  \nATOM    194  C   GLN A  24       9.158  19.638   9.692  1.00  8.00           C  \nATOM    195  O   GLN A  24       7.959  19.990   9.663  1.00  8.00           O  \nATOM    196  CB  GLN A  24      10.575  21.521  10.498  1.00 14.00           C  \nATOM    197  CG  GLN A  24       9.505  22.591  10.661  1.00 20.00           C  \nATOM    198  CD  GLN A  24       9.964  23.862   9.956  1.00 26.00           C  \nATOM    199  OE1 GLN A  24      10.079  24.941  10.587  1.00 32.00           O  \nATOM    200  NE2 GLN A  24      10.086  23.739   8.649  1.00 32.00           N  \nATOM    201  N   TRP A  25       9.723  19.074   8.651  1.00  8.00           N  \nATOM    202  CA  TRP A  25       8.899  18.676   7.495  1.00  9.00           C  \nATOM    203  C   TRP A  25       8.118  17.395   7.751  1.00  9.00           C  \nATOM    204  O   TRP A  25       6.860  17.395   7.725  1.00  9.00           O  \nATOM    205  CB  TRP A  25       9.761  18.442   6.262  1.00 11.00           C  \nATOM    206  CG  TRP A  25       8.871  18.331   5.004  1.00 12.00           C  \nATOM    207  CD1 TRP A  25       8.097  19.279   4.442  1.00 12.00           C  \nATOM    208  CD2 TRP A  25       8.640  17.180   4.249  1.00 12.00           C  \nATOM    209  NE1 TRP A  25       7.041  18.780   3.259  1.00 12.00           N  \nATOM    210  CE2 TRP A  25       7.873  17.564   3.121  1.00 12.00           C  \nATOM    211  CE3 TRP A  25       9.124  15.884   4.378  1.00 12.00           C  \nATOM    212  CZ2 TRP A  25       7.726  16.765   2.003  1.00 12.00           C  \nATOM    213  CZ3 TRP A  25       8.870  15.038   3.296  1.00 12.00           C  \nATOM    214  CH2 TRP A  25       8.216  15.469   2.140  1.00 12.00           C  \nATOM    215  N   LEU A  26       8.857  16.484   8.346  1.00  9.00           N  \nATOM    216  CA  LEU A  26       8.377  15.159   8.741  1.00 10.00           C  \nATOM    217  C   LEU A  26       7.534  15.279  10.012  1.00 11.00           C  \nATOM    218  O   LEU A  26       6.755  14.347  10.331  1.00 11.00           O  \nATOM    219  CB  LEU A  26       9.611  14.267   8.924  1.00 10.00           C  \nATOM    220  CG  LEU A  26       9.342  12.810   9.303  1.00 10.00           C  \nATOM    221  CD1 LEU A  26       8.223  12.149   8.505  1.00 10.00           C  \nATOM    222  CD2 LEU A  26      10.637  11.982   9.250  1.00 10.00           C  \nATOM    223  N   MET A  27       7.281  16.544  10.320  1.00 11.00           N  \nATOM    224  CA  MET A  27       6.446  16.959  11.451  1.00 11.00           C  \nATOM    225  C   MET A  27       5.607  18.227  11.219  1.00 13.00           C  \nATOM    226  O   MET A  27       4.823  18.240  10.244  1.00 13.00           O  \nATOM    227  CB  MET A  27       7.327  17.118  12.679  1.00 11.00           C  \nATOM    228  CG  MET A  27       6.518  17.289  13.953  1.00 11.00           C  \nATOM    229  SD  MET A  27       7.301  18.326  15.196  1.00 11.00           S  \nATOM    230  CE  MET A  27       5.833  18.677  16.178  1.00 11.00           C  \nATOM    231  N   ASN A  28       6.147  19.366  11.620  1.00 14.00           N  \nATOM    232  CA  ASN A  28       5.399  20.637  11.728  1.00 14.00           C  \nATOM    233  C   ASN A  28       3.878  20.587  11.716  1.00 17.00           C  \nATOM    234  O   ASN A  28       3.252  21.114  10.763  1.00 19.00           O  \nATOM    235  CB  ASN A  28       5.874  21.774  10.843  1.00 14.00           C  \nATOM    236  CG  ASN A  28       6.246  22.905  11.791  1.00 14.00           C  \nATOM    237  OD1 ASN A  28       6.929  22.629  12.807  1.00 14.00           O  \nATOM    238  ND2 ASN A  28       6.271  24.085  11.229  1.00 14.00           N  \nATOM    239  N   THR A  29       3.391  19.940  12.762  1.00 21.00           N  \nATOM    240  CA  THR A  29       2.014  19.761  13.283  1.00 21.00           C  \nATOM    241  C   THR A  29       0.826  19.943  12.332  1.00 23.00           C  \nATOM    242  O   THR A  29       0.932  19.600  11.133  1.00 30.00           O  \nATOM    243  CB  THR A  29       1.845  20.667  14.505  1.00 21.00           C  \nATOM    244  OG1 THR A  29       1.214  21.893  14.153  1.00 21.00           O  \nATOM    245  CG2 THR A  29       3.180  20.968  15.185  1.00 21.00           C  \nATOM    246  OXT THR A  29      -0.317  20.109  12.824  1.00 25.00           O  \nTER     247      THR A  29                                                      \nMASTER      344    1    0    1    0    0    0    6  246    1    0    3          \nEND                                                                             \n"
  },
  {
    "path": "alphafold/data/__init__.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\"\"\"Data pipeline for model features.\"\"\"\n"
  },
  {
    "path": "alphafold/data/feature_processing.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Feature processing logic for multimer data pipeline.\"\"\"\n\nfrom typing import Iterable, List, MutableMapping\n\nfrom alphafold.common import residue_constants\nfrom alphafold.data import msa_pairing\nfrom alphafold.data import pipeline\nimport numpy as np\n\nREQUIRED_FEATURES = frozenset({\n    'aatype',\n    'all_atom_mask',\n    'all_atom_positions',\n    'all_chains_entity_ids',\n    'all_crops_all_chains_mask',\n    'all_crops_all_chains_positions',\n    'all_crops_all_chains_residue_ids',\n    'assembly_num_chains',\n    'asym_id',\n    'bert_mask',\n    'cluster_bias_mask',\n    'deletion_matrix',\n    'deletion_mean',\n    'entity_id',\n    'entity_mask',\n    'mem_peak',\n    'msa',\n    'msa_mask',\n    'num_alignments',\n    'num_templates',\n    'queue_size',\n    'residue_index',\n    'resolution',\n    'seq_length',\n    'seq_mask',\n    'sym_id',\n    'template_aatype',\n    'template_all_atom_mask',\n    'template_all_atom_positions',\n})\n\nMAX_TEMPLATES = 4\nMSA_CROP_SIZE = 2048\n\n\ndef _is_homomer_or_monomer(chains: Iterable[pipeline.FeatureDict]) -> bool:\n  \"\"\"Checks if a list of chains represents a homomer/monomer example.\"\"\"\n  # Note that an entity_id of 0 indicates padding.\n  num_unique_chains = len(\n      np.unique(\n          np.concatenate([\n              np.unique(chain['entity_id'][chain['entity_id'] > 0])\n              for chain in chains\n          ])\n      )\n  )\n  return num_unique_chains == 1\n\n\ndef pair_and_merge(\n    all_chain_features: MutableMapping[str, pipeline.FeatureDict],\n) -> pipeline.FeatureDict:\n  \"\"\"Runs processing on features to augment, pair and merge.\n\n  Args:\n    all_chain_features: A MutableMap of dictionaries of features for each chain.\n\n  Returns:\n    A dictionary of features.\n  \"\"\"\n\n  process_unmerged_features(all_chain_features)\n\n  np_chains_list = list(all_chain_features.values())\n\n  pair_msa_sequences = not _is_homomer_or_monomer(np_chains_list)\n\n  if pair_msa_sequences:\n    np_chains_list = msa_pairing.create_paired_features(chains=np_chains_list)\n    np_chains_list = msa_pairing.deduplicate_unpaired_sequences(np_chains_list)\n  np_chains_list = crop_chains(\n      np_chains_list,\n      msa_crop_size=MSA_CROP_SIZE,\n      pair_msa_sequences=pair_msa_sequences,\n      max_templates=MAX_TEMPLATES,\n  )\n  np_example = msa_pairing.merge_chain_features(\n      np_chains_list=np_chains_list,\n      pair_msa_sequences=pair_msa_sequences,\n      max_templates=MAX_TEMPLATES,\n  )\n  np_example = process_final(np_example)\n  return np_example\n\n\ndef crop_chains(\n    chains_list: List[pipeline.FeatureDict],\n    msa_crop_size: int,\n    pair_msa_sequences: bool,\n    max_templates: int,\n) -> List[pipeline.FeatureDict]:\n  \"\"\"Crops the MSAs for a set of chains.\n\n  Args:\n    chains_list: A list of chains to be cropped.\n    msa_crop_size: The total number of sequences to crop from the MSA.\n    pair_msa_sequences: Whether we are operating in sequence-pairing mode.\n    max_templates: The maximum templates to use per chain.\n\n  Returns:\n    The chains cropped.\n  \"\"\"\n\n  # Apply the cropping.\n  cropped_chains = []\n  for chain in chains_list:\n    cropped_chain = _crop_single_chain(\n        chain,\n        msa_crop_size=msa_crop_size,\n        pair_msa_sequences=pair_msa_sequences,\n        max_templates=max_templates,\n    )\n    cropped_chains.append(cropped_chain)\n\n  return cropped_chains\n\n\ndef _crop_single_chain(\n    chain: pipeline.FeatureDict,\n    msa_crop_size: int,\n    pair_msa_sequences: bool,\n    max_templates: int,\n) -> pipeline.FeatureDict:\n  \"\"\"Crops msa sequences to `msa_crop_size`.\"\"\"\n  msa_size = chain['num_alignments']\n\n  if pair_msa_sequences:\n    msa_size_all_seq = chain['num_alignments_all_seq']\n    msa_crop_size_all_seq = np.minimum(msa_size_all_seq, msa_crop_size // 2)\n\n    # We reduce the number of un-paired sequences, by the number of times a\n    # sequence from this chain's MSA is included in the paired MSA.  This keeps\n    # the MSA size for each chain roughly constant.\n    msa_all_seq = chain['msa_all_seq'][:msa_crop_size_all_seq, :]\n    num_non_gapped_pairs = np.sum(\n        np.any(msa_all_seq != msa_pairing.MSA_GAP_IDX, axis=1)\n    )\n    num_non_gapped_pairs = np.minimum(\n        num_non_gapped_pairs, msa_crop_size_all_seq\n    )\n\n    # Restrict the unpaired crop size so that paired+unpaired sequences do not\n    # exceed msa_seqs_per_chain for each chain.\n    max_msa_crop_size = np.maximum(msa_crop_size - num_non_gapped_pairs, 0)\n    msa_crop_size = np.minimum(msa_size, max_msa_crop_size)\n  else:\n    msa_crop_size = np.minimum(msa_size, msa_crop_size)\n\n  include_templates = 'template_aatype' in chain and max_templates\n  if include_templates:\n    num_templates = chain['template_aatype'].shape[0]\n    templates_crop_size = np.minimum(num_templates, max_templates)\n\n  for k in chain:\n    k_split = k.split('_all_seq')[0]\n    if k_split in msa_pairing.TEMPLATE_FEATURES:\n      chain[k] = chain[k][:templates_crop_size, :]\n    elif k_split in msa_pairing.MSA_FEATURES:\n      if '_all_seq' in k and pair_msa_sequences:\n        chain[k] = chain[k][:msa_crop_size_all_seq, :]\n      else:\n        chain[k] = chain[k][:msa_crop_size, :]\n\n  chain['num_alignments'] = np.asarray(msa_crop_size, dtype=np.int32)\n  if include_templates:\n    chain['num_templates'] = np.asarray(templates_crop_size, dtype=np.int32)\n  if pair_msa_sequences:\n    chain['num_alignments_all_seq'] = np.asarray(\n        msa_crop_size_all_seq, dtype=np.int32\n    )\n  return chain\n\n\ndef process_final(np_example: pipeline.FeatureDict) -> pipeline.FeatureDict:\n  \"\"\"Final processing steps in data pipeline, after merging and pairing.\"\"\"\n  np_example = _correct_msa_restypes(np_example)\n  np_example = _make_seq_mask(np_example)\n  np_example = _make_msa_mask(np_example)\n  np_example = _filter_features(np_example)\n  return np_example\n\n\ndef _correct_msa_restypes(np_example):\n  \"\"\"Correct MSA restype to have the same order as residue_constants.\"\"\"\n  new_order_list = residue_constants.MAP_HHBLITS_AATYPE_TO_OUR_AATYPE\n  np_example['msa'] = np.take(new_order_list, np_example['msa'], axis=0)\n  np_example['msa'] = np_example['msa'].astype(np.int32)\n  return np_example\n\n\ndef _make_seq_mask(np_example):\n  np_example['seq_mask'] = (np_example['entity_id'] > 0).astype(np.float32)\n  return np_example\n\n\ndef _make_msa_mask(np_example):\n  \"\"\"Mask features are all ones, but will later be zero-padded.\"\"\"\n\n  np_example['msa_mask'] = np.ones_like(np_example['msa'], dtype=np.float32)\n\n  seq_mask = (np_example['entity_id'] > 0).astype(np.float32)\n  np_example['msa_mask'] *= seq_mask[None]\n\n  return np_example\n\n\ndef _filter_features(np_example: pipeline.FeatureDict) -> pipeline.FeatureDict:\n  \"\"\"Filters features of example to only those requested.\"\"\"\n  return {k: v for (k, v) in np_example.items() if k in REQUIRED_FEATURES}\n\n\ndef process_unmerged_features(\n    all_chain_features: MutableMapping[str, pipeline.FeatureDict],\n):\n  \"\"\"Postprocessing stage for per-chain features before merging.\"\"\"\n  num_chains = len(all_chain_features)\n  for chain_features in all_chain_features.values():\n    # Convert deletion matrices to float.\n    chain_features['deletion_matrix'] = np.asarray(\n        chain_features.pop('deletion_matrix_int'), dtype=np.float32\n    )\n    if 'deletion_matrix_int_all_seq' in chain_features:\n      chain_features['deletion_matrix_all_seq'] = np.asarray(\n          chain_features.pop('deletion_matrix_int_all_seq'), dtype=np.float32\n      )\n\n    chain_features['deletion_mean'] = np.mean(\n        chain_features['deletion_matrix'], axis=0\n    )\n\n    # Add all_atom_mask and dummy all_atom_positions based on aatype.\n    all_atom_mask = residue_constants.STANDARD_ATOM_MASK[\n        chain_features['aatype']\n    ]\n    chain_features['all_atom_mask'] = all_atom_mask\n    chain_features['all_atom_positions'] = np.zeros(\n        list(all_atom_mask.shape) + [3]\n    )\n\n    # Add assembly_num_chains.\n    chain_features['assembly_num_chains'] = np.asarray(num_chains)\n\n  # Add entity_mask.\n  for chain_features in all_chain_features.values():\n    chain_features['entity_mask'] = (chain_features['entity_id'] != 0).astype(\n        np.int32\n    )\n"
  },
  {
    "path": "alphafold/data/mmcif_parsing.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Parses the mmCIF file format.\"\"\"\nimport collections\nimport dataclasses\nimport functools\nimport io\nfrom typing import Any, Mapping, Optional, Sequence, Tuple\n\nfrom absl import logging\nfrom alphafold.common import residue_constants\nfrom Bio import PDB\n\n# Type aliases:\nChainId = str\nPdbHeader = Mapping[str, Any]\nPdbStructure = PDB.Structure.Structure\nSeqRes = str\nMmCIFDict = Mapping[str, Sequence[str]]\n\n\n@dataclasses.dataclass(frozen=True)\nclass Monomer:\n  id: str\n  num: int\n\n\n# Note - mmCIF format provides no guarantees on the type of author-assigned\n# sequence numbers. They need not be integers.\n@dataclasses.dataclass(frozen=True)\nclass AtomSite:\n  residue_name: str\n  author_chain_id: str\n  mmcif_chain_id: str\n  author_seq_num: str\n  mmcif_seq_num: int\n  insertion_code: str\n  hetatm_atom: str\n  model_num: int\n\n\n# Used to map SEQRES index to a residue in the structure.\n@dataclasses.dataclass(frozen=True)\nclass ResiduePosition:\n  chain_id: str\n  residue_number: int\n  insertion_code: str\n\n\n@dataclasses.dataclass(frozen=True)\nclass ResidueAtPosition:\n  position: Optional[ResiduePosition]\n  name: str\n  is_missing: bool\n  hetflag: str\n\n\n@dataclasses.dataclass(frozen=True)\nclass MmcifObject:\n  \"\"\"Representation of a parsed mmCIF file.\n\n  Contains:\n    file_id: A meaningful name, e.g. a pdb_id. Should be unique amongst all\n      files being processed.\n    header: Biopython header.\n    structure: Biopython structure.\n    chain_to_seqres: Dict mapping chain_id to 1 letter amino acid sequence. E.g.\n      {'A': 'ABCDEFG'}\n    seqres_to_structure: Dict; for each chain_id contains a mapping between\n      SEQRES index and a ResidueAtPosition. e.g. {'A': {0: ResidueAtPosition,\n                                                        1: ResidueAtPosition,\n                                                        ...}}\n    raw_string: The raw string used to construct the MmcifObject.\n  \"\"\"\n\n  file_id: str\n  header: PdbHeader\n  structure: PdbStructure\n  chain_to_seqres: Mapping[ChainId, SeqRes]\n  seqres_to_structure: Mapping[ChainId, Mapping[int, ResidueAtPosition]]\n  raw_string: Any\n\n\n@dataclasses.dataclass(frozen=True)\nclass ParsingResult:\n  \"\"\"Returned by the parse function.\n\n  Contains:\n    mmcif_object: A MmcifObject, may be None if no chain could be successfully\n      parsed.\n    errors: A dict mapping (file_id, chain_id) to any exception generated.\n  \"\"\"\n\n  mmcif_object: Optional[MmcifObject]\n  errors: Mapping[Tuple[str, str], Any]\n\n\nclass ParseError(Exception):\n  \"\"\"An error indicating that an mmCIF file could not be parsed.\"\"\"\n\n\ndef mmcif_loop_to_list(\n    prefix: str, parsed_info: MmCIFDict\n) -> Sequence[Mapping[str, str]]:\n  \"\"\"Extracts loop associated with a prefix from mmCIF data as a list.\n\n  Reference for loop_ in mmCIF:\n    http://mmcif.wwpdb.org/docs/tutorials/mechanics/pdbx-mmcif-syntax.html\n\n  Args:\n    prefix: Prefix shared by each of the data items in the loop. e.g.\n      '_entity_poly_seq.', where the data items are _entity_poly_seq.num,\n      _entity_poly_seq.mon_id. Should include the trailing period.\n    parsed_info: A dict of parsed mmCIF data, e.g. _mmcif_dict from a Biopython\n      parser.\n\n  Returns:\n    Returns a list of dicts; each dict represents 1 entry from an mmCIF loop.\n  \"\"\"\n  cols = []\n  data = []\n  for key, value in parsed_info.items():\n    if key.startswith(prefix):\n      cols.append(key)\n      data.append(value)\n\n  assert all([len(xs) == len(data[0]) for xs in data]), (\n      'mmCIF error: Not all loops are the same length: %s' % cols\n  )\n\n  return [dict(zip(cols, xs)) for xs in zip(*data)]\n\n\ndef mmcif_loop_to_dict(\n    prefix: str,\n    index: str,\n    parsed_info: MmCIFDict,\n) -> Mapping[str, Mapping[str, str]]:\n  \"\"\"Extracts loop associated with a prefix from mmCIF data as a dictionary.\n\n  Args:\n    prefix: Prefix shared by each of the data items in the loop. e.g.\n      '_entity_poly_seq.', where the data items are _entity_poly_seq.num,\n      _entity_poly_seq.mon_id. Should include the trailing period.\n    index: Which item of loop data should serve as the key.\n    parsed_info: A dict of parsed mmCIF data, e.g. _mmcif_dict from a Biopython\n      parser.\n\n  Returns:\n    Returns a dict of dicts; each dict represents 1 entry from an mmCIF loop,\n    indexed by the index column.\n  \"\"\"\n  entries = mmcif_loop_to_list(prefix, parsed_info)\n  return {entry[index]: entry for entry in entries}\n\n\n@functools.lru_cache(16, typed=False)\ndef parse(\n    *, file_id: str, mmcif_string: str, catch_all_errors: bool = True\n) -> ParsingResult:\n  \"\"\"Entry point, parses an mmcif_string.\n\n  Args:\n    file_id: A string identifier for this file. Should be unique within the\n      collection of files being processed.\n    mmcif_string: Contents of an mmCIF file.\n    catch_all_errors: If True, all exceptions are caught and error messages are\n      returned as part of the ParsingResult. If False exceptions will be allowed\n      to propagate.\n\n  Returns:\n    A ParsingResult.\n  \"\"\"\n  errors = {}\n  try:\n    parser = PDB.MMCIFParser(QUIET=True)\n    handle = io.StringIO(mmcif_string)\n    full_structure = parser.get_structure('', handle)\n    first_model_structure = _get_first_model(full_structure)\n    # Extract the _mmcif_dict from the parser, which contains useful fields not\n    # reflected in the Biopython structure.\n    parsed_info = parser._mmcif_dict  # pylint:disable=protected-access\n\n    # Ensure all values are lists, even if singletons.\n    for key, value in parsed_info.items():\n      if not isinstance(value, list):\n        parsed_info[key] = [value]\n\n    header = _get_header(parsed_info)\n\n    # Determine the protein chains, and their start numbers according to the\n    # internal mmCIF numbering scheme (likely but not guaranteed to be 1).\n    valid_chains = _get_protein_chains(parsed_info=parsed_info)\n    if not valid_chains:\n      return ParsingResult(\n          None, {(file_id, ''): 'No protein chains found in this file.'}\n      )\n    seq_start_num = {\n        chain_id: min([monomer.num for monomer in seq])\n        for chain_id, seq in valid_chains.items()\n    }\n\n    # Loop over the atoms for which we have coordinates. Populate two mappings:\n    # -mmcif_to_author_chain_id (maps internal mmCIF chain ids to chain ids used\n    # the authors / Biopython).\n    # -seq_to_structure_mappings (maps idx into sequence to ResidueAtPosition).\n    mmcif_to_author_chain_id = {}\n    seq_to_structure_mappings = {}\n    for atom in _get_atom_site_list(parsed_info):\n      if atom.model_num != '1':\n        # We only process the first model at the moment.\n        continue\n\n      mmcif_to_author_chain_id[atom.mmcif_chain_id] = atom.author_chain_id\n\n      if atom.mmcif_chain_id in valid_chains:\n        hetflag = ' '\n        if atom.hetatm_atom == 'HETATM':\n          # Water atoms are assigned a special hetflag of W in Biopython. We\n          # need to do the same, so that this hetflag can be used to fetch\n          # a residue from the Biopython structure by id.\n          if atom.residue_name in ('HOH', 'WAT'):\n            hetflag = 'W'\n          else:\n            hetflag = 'H_' + atom.residue_name\n        insertion_code = atom.insertion_code\n        if not _is_set(atom.insertion_code):\n          insertion_code = ' '\n        position = ResiduePosition(\n            chain_id=atom.author_chain_id,\n            residue_number=int(atom.author_seq_num),\n            insertion_code=insertion_code,\n        )\n        seq_idx = int(atom.mmcif_seq_num) - seq_start_num[atom.mmcif_chain_id]\n        current = seq_to_structure_mappings.get(atom.author_chain_id, {})\n        current[seq_idx] = ResidueAtPosition(\n            position=position,\n            name=atom.residue_name,\n            is_missing=False,\n            hetflag=hetflag,\n        )\n        seq_to_structure_mappings[atom.author_chain_id] = current\n\n    # Add missing residue information to seq_to_structure_mappings.\n    for chain_id, seq_info in valid_chains.items():\n      author_chain = mmcif_to_author_chain_id[chain_id]\n      current_mapping = seq_to_structure_mappings[author_chain]\n      for idx, monomer in enumerate(seq_info):\n        if idx not in current_mapping:\n          current_mapping[idx] = ResidueAtPosition(\n              position=None, name=monomer.id, is_missing=True, hetflag=' '\n          )\n\n    author_chain_to_sequence = {}\n    for chain_id, seq_info in valid_chains.items():\n      author_chain = mmcif_to_author_chain_id[chain_id]\n      seq = []\n      for monomer in seq_info:\n        code = residue_constants.CCD_NAME_TO_ONE_LETTER.get(monomer.id, 'X')\n        seq.append(code if len(code) == 1 else 'X')\n      seq = ''.join(seq)\n      author_chain_to_sequence[author_chain] = seq\n\n    mmcif_object = MmcifObject(\n        file_id=file_id,\n        header=header,\n        structure=first_model_structure,\n        chain_to_seqres=author_chain_to_sequence,\n        seqres_to_structure=seq_to_structure_mappings,\n        raw_string=parsed_info,\n    )\n\n    return ParsingResult(mmcif_object=mmcif_object, errors=errors)\n  except Exception as e:  # pylint:disable=broad-except\n    errors[(file_id, '')] = e\n    if not catch_all_errors:\n      raise\n    return ParsingResult(mmcif_object=None, errors=errors)\n\n\ndef _get_first_model(structure: PdbStructure) -> PdbStructure:\n  \"\"\"Returns the first model in a Biopython structure.\"\"\"\n  return next(structure.get_models())\n\n\n_MIN_LENGTH_OF_CHAIN_TO_BE_COUNTED_AS_PEPTIDE = 21\n\n\ndef get_release_date(parsed_info: MmCIFDict) -> str:\n  \"\"\"Returns the oldest revision date.\"\"\"\n  revision_dates = parsed_info['_pdbx_audit_revision_history.revision_date']\n  return min(revision_dates)\n\n\ndef _get_header(parsed_info: MmCIFDict) -> PdbHeader:\n  \"\"\"Returns a basic header containing method, release date and resolution.\"\"\"\n  header = {}\n\n  experiments = mmcif_loop_to_list('_exptl.', parsed_info)\n  header['structure_method'] = ','.join(\n      [experiment['_exptl.method'].lower() for experiment in experiments]\n  )\n\n  # Note: The release_date here corresponds to the oldest revision. We prefer to\n  # use this for dataset filtering over the deposition_date.\n  if '_pdbx_audit_revision_history.revision_date' in parsed_info:\n    header['release_date'] = get_release_date(parsed_info)\n  else:\n    logging.warning(\n        'Could not determine release_date: %s', parsed_info['_entry.id']\n    )\n\n  header['resolution'] = 0.00\n  for res_key in (\n      '_refine.ls_d_res_high',\n      '_em_3d_reconstruction.resolution',\n      '_reflns.d_resolution_high',\n  ):\n    if res_key in parsed_info:\n      try:\n        raw_resolution = parsed_info[res_key][0]\n        header['resolution'] = float(raw_resolution)\n        break\n      except ValueError:\n        logging.debug('Invalid resolution format: %s', parsed_info[res_key])\n\n  return header\n\n\ndef _get_atom_site_list(parsed_info: MmCIFDict) -> Sequence[AtomSite]:\n  \"\"\"Returns list of atom sites; contains data not present in the structure.\"\"\"\n  return [\n      AtomSite(*site)\n      for site in zip(  # pylint:disable=g-complex-comprehension\n          parsed_info['_atom_site.label_comp_id'],\n          parsed_info['_atom_site.auth_asym_id'],\n          parsed_info['_atom_site.label_asym_id'],\n          parsed_info['_atom_site.auth_seq_id'],\n          parsed_info['_atom_site.label_seq_id'],\n          parsed_info['_atom_site.pdbx_PDB_ins_code'],\n          parsed_info['_atom_site.group_PDB'],\n          parsed_info['_atom_site.pdbx_PDB_model_num'],\n      )\n  ]\n\n\ndef _get_protein_chains(\n    *, parsed_info: Mapping[str, Any]\n) -> Mapping[ChainId, Sequence[Monomer]]:\n  \"\"\"Extracts polymer information for protein chains only.\n\n  Args:\n    parsed_info: _mmcif_dict produced by the Biopython parser.\n\n  Returns:\n    A dict mapping mmcif chain id to a list of Monomers.\n  \"\"\"\n  # Get polymer information for each entity in the structure.\n  entity_poly_seqs = mmcif_loop_to_list('_entity_poly_seq.', parsed_info)\n\n  polymers = collections.defaultdict(list)\n  for entity_poly_seq in entity_poly_seqs:\n    polymers[entity_poly_seq['_entity_poly_seq.entity_id']].append(\n        Monomer(\n            id=entity_poly_seq['_entity_poly_seq.mon_id'],\n            num=int(entity_poly_seq['_entity_poly_seq.num']),\n        )\n    )\n\n  # Get chemical compositions. Will allow us to identify which of these polymers\n  # are proteins.\n  chem_comps = mmcif_loop_to_dict('_chem_comp.', '_chem_comp.id', parsed_info)\n\n  # Get chains information for each entity. Necessary so that we can return a\n  # dict keyed on chain id rather than entity.\n  struct_asyms = mmcif_loop_to_list('_struct_asym.', parsed_info)\n\n  entity_to_mmcif_chains = collections.defaultdict(list)\n  for struct_asym in struct_asyms:\n    chain_id = struct_asym['_struct_asym.id']\n    entity_id = struct_asym['_struct_asym.entity_id']\n    entity_to_mmcif_chains[entity_id].append(chain_id)\n\n  # Identify and return the valid protein chains.\n  valid_chains = {}\n  for entity_id, seq_info in polymers.items():\n    chain_ids = entity_to_mmcif_chains[entity_id]\n\n    # Reject polymers without any peptide-like components, such as DNA/RNA.\n    if any([\n        'peptide' in chem_comps[monomer.id]['_chem_comp.type'].lower()\n        for monomer in seq_info\n    ]):\n      for chain_id in chain_ids:\n        valid_chains[chain_id] = seq_info\n  return valid_chains\n\n\ndef _is_set(data: str) -> bool:\n  \"\"\"Returns False if data is a special mmCIF character indicating 'unset'.\"\"\"\n  return data not in ('.', '?')\n"
  },
  {
    "path": "alphafold/data/msa_identifiers.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Utilities for extracting identifiers from MSA sequence descriptions.\"\"\"\n\nimport dataclasses\nimport re\nfrom typing import Optional\n\n\n# Sequences coming from UniProtKB database come in the\n# `db|UniqueIdentifier|EntryName` format, e.g. `tr|A0A146SKV9|A0A146SKV9_FUNHE`\n# or `sp|P0C2L1|A3X1_LOXLA` (for TREMBL/Swiss-Prot respectively).\n_UNIPROT_PATTERN = re.compile(\n    r\"\"\"\n    ^\n    # UniProtKB/TrEMBL or UniProtKB/Swiss-Prot\n    (?:tr|sp)\n    \\|\n    # A primary accession number of the UniProtKB entry.\n    (?P<AccessionIdentifier>[A-Za-z0-9]{6,10})\n    # Occasionally there is a _0 or _1 isoform suffix, which we ignore.\n    (?:_\\d)?\n    \\|\n    # TREMBL repeats the accession ID here. Swiss-Prot has a mnemonic\n    # protein ID code.\n    (?:[A-Za-z0-9]+)\n    _\n    # A mnemonic species identification code.\n    (?P<SpeciesIdentifier>([A-Za-z0-9]){1,5})\n    # Small BFD uses a final value after an underscore, which we ignore.\n    (?:_\\d+)?\n    $\n    \"\"\",\n    re.VERBOSE,\n)\n\n\n@dataclasses.dataclass(frozen=True)\nclass Identifiers:\n  species_id: str = ''\n\n\ndef _parse_sequence_identifier(msa_sequence_identifier: str) -> Identifiers:\n  \"\"\"Gets species from an msa sequence identifier.\n\n  The sequence identifier has the format specified by\n  _UNIPROT_TREMBL_ENTRY_NAME_PATTERN or _UNIPROT_SWISSPROT_ENTRY_NAME_PATTERN.\n  An example of a sequence identifier: `tr|A0A146SKV9|A0A146SKV9_FUNHE`\n\n  Args:\n    msa_sequence_identifier: a sequence identifier.\n\n  Returns:\n    An `Identifiers` instance with species_id. These\n    can be empty in the case where no identifier was found.\n  \"\"\"\n  matches = re.search(_UNIPROT_PATTERN, msa_sequence_identifier.strip())\n  if matches:\n    return Identifiers(species_id=matches.group('SpeciesIdentifier'))\n  return Identifiers()\n\n\ndef _extract_sequence_identifier(description: str) -> Optional[str]:\n  \"\"\"Extracts sequence identifier from description. Returns None if no match.\"\"\"\n  split_description = description.split()\n  if split_description:\n    return split_description[0].partition('/')[0]\n  else:\n    return None\n\n\ndef get_identifiers(description: str) -> Identifiers:\n  \"\"\"Computes extra MSA features from the description.\"\"\"\n  sequence_identifier = _extract_sequence_identifier(description)\n  if sequence_identifier is None:\n    return Identifiers()\n  else:\n    return _parse_sequence_identifier(sequence_identifier)\n"
  },
  {
    "path": "alphafold/data/msa_pairing.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Pairing logic for multimer data pipeline.\"\"\"\n\nimport collections\nimport dataclasses\nfrom typing import Iterable, List, Mapping, Sequence\n\nfrom alphafold.common import residue_constants\nfrom alphafold.data import pipeline\nfrom jax.scipy import linalg\nimport numpy as np\n\n\nMSA_GAP_IDX = residue_constants.restypes_with_x_and_gap.index('-')\nSEQUENCE_GAP_CUTOFF = 0.5\nSEQUENCE_SIMILARITY_CUTOFF = 0.9\n\nMSA_PAD_VALUES = {\n    'msa_all_seq': MSA_GAP_IDX,\n    'msa_mask_all_seq': 1,\n    'deletion_matrix_all_seq': 0,\n    'deletion_matrix_int_all_seq': 0,\n    'msa': MSA_GAP_IDX,\n    'msa_mask': 1,\n    'deletion_matrix': 0,\n    'deletion_matrix_int': 0,\n}\n\nMSA_FEATURES = ('msa', 'msa_mask', 'deletion_matrix', 'deletion_matrix_int')\nSEQ_FEATURES = (\n    'residue_index',\n    'aatype',\n    'all_atom_positions',\n    'all_atom_mask',\n    'seq_mask',\n    'between_segment_residues',\n    'has_alt_locations',\n    'has_hetatoms',\n    'asym_id',\n    'entity_id',\n    'sym_id',\n    'entity_mask',\n    'deletion_mean',\n    'prediction_atom_mask',\n    'literature_positions',\n    'atom_indices_to_group_indices',\n    'rigid_group_default_frame',\n)\nTEMPLATE_FEATURES = (\n    'template_aatype',\n    'template_all_atom_positions',\n    'template_all_atom_mask',\n)\nCHAIN_FEATURES = ('num_alignments', 'seq_length')\n\n\n@dataclasses.dataclass(frozen=True, kw_only=True, slots=True)\nclass MSAStatistics:\n  \"\"\"Statistics about an MSA.\n\n  Attributes:\n    species_identifiers: An array of species identifiers for each row in the\n      MSA.\n    row: An array of row indices for each row in the MSA.\n    similarity: An array of sequence similarity values for each row in the MSA.\n    gap: An array of gap percentages for each row in the MSA.\n  \"\"\"\n\n  species_identifiers: np.ndarray\n  row: np.ndarray\n  similarity: np.ndarray\n  gap: np.ndarray\n\n  @classmethod\n  def from_chain_features(\n      cls, chain_features: pipeline.FeatureDict\n  ) -> 'MSAStatistics':\n    \"\"\"Creates MSAStatistics object from chain features.\n\n    Args:\n      chain_features: A feature dictionary for a single chain. Expected keys: -\n        msa_all_seq: A 2D array where each row corresponds to a sequence in the\n          MSA and each column corresponds to a residue position in the target\n          sequence. The target sequence is the first row in this array. -\n        msa_species_identifiers_all_seq: An array of species identifiers for\n          each sequence in the MSA.\n\n    Returns:\n      An MSAStatistics object.\n    \"\"\"\n    chain_msa = chain_features['msa_all_seq']\n    target_seq = chain_msa[0]\n    return cls(\n        species_identifiers=chain_features['msa_species_identifiers_all_seq'],\n        row=np.arange(\n            len(chain_features['msa_species_identifiers_all_seq']),\n            dtype=np.int32,\n        ),\n        similarity=np.mean(\n            target_seq[None] == chain_msa,\n            axis=-1,\n            dtype=np.float32,\n        ),\n        gap=np.mean(\n            chain_msa == MSA_GAP_IDX,\n            axis=-1,\n            dtype=np.float32,\n        ),\n    )\n\n  def __len__(self) -> int:\n    return len(self.row)\n\n  def get_top_msa_rows(self, num_rows: int) -> np.ndarray:\n    \"\"\"Returns the top num_rows MSA rows, sorted in descending order of sequence similarity.\"\"\"\n    sort_indices = np.argsort(-self.similarity, kind='stable')\n    return self.row[sort_indices][:num_rows]\n\n  def to_species_dict(self) -> Mapping[bytes, 'MSAStatistics']:\n    \"\"\"Creates mapping from species to MSAStatistics of that species.\"\"\"\n    if not self.species_identifiers.size:\n      return {}\n    species_lookup = {}\n    sort_indices = np.argsort(self.species_identifiers, kind='stable')\n    sorted_species = self.species_identifiers[sort_indices]\n    unique_species, split_points = np.unique(sorted_species, return_index=True)\n    index_groups = np.split(sort_indices, split_points[1:])\n\n    for species, indices in zip(unique_species, index_groups, strict=True):\n      species_stats = self.__class__(\n          species_identifiers=self.species_identifiers[indices],\n          row=self.row[indices],\n          similarity=self.similarity[indices],\n          gap=self.gap[indices],\n      )\n      species_lookup[species] = species_stats\n    return species_lookup\n\n\ndef create_paired_features(\n    chains: Iterable[pipeline.FeatureDict],\n) -> List[pipeline.FeatureDict]:\n  \"\"\"Returns the original chains with paired NUM_SEQ features.\n\n  Args:\n    chains:  An iterable of feature dictionaries for each chain.\n\n  Returns:\n    A list of feature dictionaries with sequence features including only\n    rows to be paired.\n  \"\"\"\n  chains = list(chains)\n  chain_keys = chains[0].keys()\n\n  if len(chains) < 2:\n    return chains\n\n  updated_chains = []\n  paired_chains_to_paired_row_indices = pair_sequences(chains)\n  paired_rows = reorder_paired_rows(paired_chains_to_paired_row_indices)\n\n  for chain_num, chain in enumerate(chains):\n    new_chain = {k: v for k, v in chain.items() if '_all_seq' not in k}\n    for feature_name in chain_keys:\n      if feature_name.endswith('_all_seq'):\n        feats_padded = pad_features(chain[feature_name], feature_name)\n        new_chain[feature_name] = feats_padded[paired_rows[:, chain_num]]\n    new_chain['num_alignments_all_seq'] = np.asarray(\n        len(paired_rows[:, chain_num])\n    )\n    updated_chains.append(new_chain)\n  return updated_chains\n\n\ndef pad_features(feature: np.ndarray, feature_name: str) -> np.ndarray:\n  \"\"\"Add a 'padding' row at the end of the features list.\n\n  The padding row will be selected as a 'paired' row in the case of partial\n  alignment - for the chain that doesn't have paired alignment.\n\n  Args:\n    feature: The feature to be padded.\n    feature_name: The name of the feature to be padded.\n\n  Returns:\n    The feature with an additional padding row.\n  \"\"\"\n  assert feature.dtype != np.dtype(np.bytes_)\n  if feature_name in (\n      'msa_all_seq',\n      'msa_mask_all_seq',\n      'deletion_matrix_all_seq',\n      'deletion_matrix_int_all_seq',\n  ):\n    num_res = feature.shape[1]\n    padding = MSA_PAD_VALUES[feature_name] * np.ones(\n        [1, num_res], feature.dtype\n    )\n  elif feature_name == 'msa_species_identifiers_all_seq':\n    padding = [b'']\n  else:\n    return feature\n  feats_padded = np.concatenate([feature, padding], axis=0)\n  return feats_padded\n\n\ndef _match_rows_by_sequence_similarity(\n    this_species_msa_stats: Sequence[MSAStatistics],\n) -> Sequence[Sequence[int]]:\n  \"\"\"Finds MSA sequence pairings across chains based on sequence similarity.\n\n  Each chain's MSA sequences are first sorted by their sequence similarity to\n  their respective target sequence. The sequences are then paired, starting\n  from the sequences most similar to their target sequence.\n\n  Args:\n    this_species_msa_stats: a list of MSAStatistics containing MSA features for\n      sequences for a specific species.\n\n  Returns:\n   A list of lists, each containing M indices corresponding to paired MSA rows,\n   where M is the number of chains.\n  \"\"\"\n  all_paired_msa_rows = []\n\n  num_seqs = [\n      len(species_df)\n      for species_df in this_species_msa_stats\n      if species_df is not None\n  ]\n  take_num_seqs = np.min(num_seqs)\n\n  for species_stats in this_species_msa_stats:\n    if species_stats is not None:\n      msa_rows = species_stats.get_top_msa_rows(take_num_seqs)\n    else:\n      msa_rows = [-1] * take_num_seqs  # take the last 'padding' row\n    all_paired_msa_rows.append(msa_rows)\n  all_paired_msa_rows = list(np.array(all_paired_msa_rows).transpose())\n  return all_paired_msa_rows\n\n\ndef pair_sequences(\n    examples: Sequence[pipeline.FeatureDict],\n) -> Mapping[int, np.ndarray]:\n  \"\"\"Returns indices for paired MSA sequences across chains.\n\n  Args:\n    examples: A list of feature dictionaries for each chain.\n\n  Returns:\n    A dictionary mapping the number of paired chains to the paired indices.\n    The first key is the number of examples, i.e. the number of chains.\n  \"\"\"\n  num_examples = len(examples)\n\n  all_chain_species_dict = []\n  common_species = set()\n  for chain_features in examples:\n    msa_stats = MSAStatistics.from_chain_features(chain_features)\n    species_dict = msa_stats.to_species_dict()\n    all_chain_species_dict.append(species_dict)\n    common_species.update(set(species_dict))\n\n  common_species = sorted(common_species)\n  common_species.remove(b'')  # Remove target sequence species.\n\n  all_paired_msa_rows_dict = {k: [] for k in range(num_examples)}\n  # The first row of the MSA is the target sequence.\n  # We start by adding a pairing of all target sequences.\n  all_paired_msa_rows_dict[num_examples] = [np.zeros(num_examples, int)]\n\n  for species in common_species:\n    if not species:\n      continue\n    this_species_msa_stats = []\n    species_stats_present = 0\n    for species_dict in all_chain_species_dict:\n      if species in species_dict:\n        this_species_msa_stats.append(species_dict[species])\n        species_stats_present += 1\n      else:\n        this_species_msa_stats.append(None)\n\n    # Skip species that are present in only one chain.\n    if species_stats_present <= 1:\n      continue\n\n    if np.any(\n        np.array([\n            len(species_stats.row)\n            for species_stats in this_species_msa_stats\n            if isinstance(species_stats, MSAStatistics)\n        ])\n        > 600\n    ):\n      continue\n\n    paired_msa_rows = _match_rows_by_sequence_similarity(this_species_msa_stats)\n    all_paired_msa_rows_dict[species_stats_present].extend(paired_msa_rows)\n\n  all_paired_msa_rows_dict = {\n      num_examples: np.array(paired_msa_rows)\n      for num_examples, paired_msa_rows in all_paired_msa_rows_dict.items()\n  }\n  return all_paired_msa_rows_dict\n\n\ndef reorder_paired_rows(\n    all_paired_msa_rows_dict: Mapping[int, np.ndarray],\n) -> np.ndarray:\n  \"\"\"Creates a list of indices of paired MSA rows across chains.\n\n  Args:\n    all_paired_msa_rows_dict: a mapping from the number of paired chains to the\n      paired indices.\n\n  Returns:\n    a list of lists, each containing indices of paired MSA rows across chains.\n    The paired-index lists are ordered by:\n      1) the number of chains in the paired alignment, i.e, all-chain pairings\n         will come first.\n      2) e-values\n  \"\"\"\n  all_paired_msa_rows = []\n\n  for num_pairings in sorted(all_paired_msa_rows_dict, reverse=True):\n    paired_rows = all_paired_msa_rows_dict[num_pairings]\n    paired_rows_product = abs(np.array([np.prod(rows) for rows in paired_rows]))\n    paired_rows_sort_index = np.argsort(paired_rows_product, kind='stable')\n    all_paired_msa_rows.extend(paired_rows[paired_rows_sort_index])\n\n  return np.array(all_paired_msa_rows)\n\n\ndef block_diag(*arrs: np.ndarray, pad_value: float = 0.0) -> np.ndarray:\n  \"\"\"Like scipy.linalg.block_diag but with an optional padding value.\"\"\"\n  ones_arrs = [np.ones_like(x) for x in arrs]\n  off_diag_mask = 1.0 - np.array(linalg.block_diag(*ones_arrs))\n  diag = np.array(linalg.block_diag(*arrs))\n  diag += (off_diag_mask * pad_value).astype(diag.dtype)\n  return diag\n\n\ndef _correct_post_merged_feats(\n    np_example: pipeline.FeatureDict,\n    np_chains_list: Sequence[pipeline.FeatureDict],\n    pair_msa_sequences: bool,\n) -> pipeline.FeatureDict:\n  \"\"\"Adds features that need to be computed/recomputed post merging.\"\"\"\n\n  np_example['seq_length'] = np.asarray(\n      np_example['aatype'].shape[0], dtype=np.int32\n  )\n  np_example['num_alignments'] = np.asarray(\n      np_example['msa'].shape[0], dtype=np.int32\n  )\n\n  if not pair_msa_sequences:\n    # Generate a bias that is 1 for the first row of every block in the\n    # block diagonal MSA - i.e. make sure the cluster stack always includes\n    # the query sequences for each chain (since the first row is the query\n    # sequence).\n    cluster_bias_masks = []\n    for chain in np_chains_list:\n      mask = np.zeros(chain['msa'].shape[0])\n      mask[0] = 1\n      cluster_bias_masks.append(mask)\n    np_example['cluster_bias_mask'] = np.concatenate(cluster_bias_masks)\n\n    # Initialize Bert mask with masked out off diagonals.\n    msa_masks = [\n        np.ones(x['msa'].shape, dtype=np.float32) for x in np_chains_list\n    ]\n\n    np_example['bert_mask'] = block_diag(*msa_masks, pad_value=0)\n  else:\n    np_example['cluster_bias_mask'] = np.zeros(np_example['msa'].shape[0])\n    np_example['cluster_bias_mask'][0] = 1\n\n    # Initialize Bert mask with masked out off diagonals.\n    msa_masks = [\n        np.ones(x['msa'].shape, dtype=np.float32) for x in np_chains_list\n    ]\n    msa_masks_all_seq = [\n        np.ones(x['msa_all_seq'].shape, dtype=np.float32)\n        for x in np_chains_list\n    ]\n\n    msa_mask_block_diag = block_diag(*msa_masks, pad_value=0)\n    msa_mask_all_seq = np.concatenate(msa_masks_all_seq, axis=1)\n    np_example['bert_mask'] = np.concatenate(\n        [msa_mask_all_seq, msa_mask_block_diag], axis=0\n    )\n  return np_example\n\n\ndef _pad_templates(\n    chains: Sequence[pipeline.FeatureDict], max_templates: int\n) -> Sequence[pipeline.FeatureDict]:\n  \"\"\"For each chain pad the number of templates to a fixed size.\n\n  Args:\n    chains: A list of protein chains.\n    max_templates: Each chain will be padded to have this many templates.\n\n  Returns:\n    The list of chains, updated to have template features padded to\n    max_templates.\n  \"\"\"\n  for chain in chains:\n    for k, v in chain.items():\n      if k in TEMPLATE_FEATURES:\n        padding = np.zeros_like(v.shape)\n        padding[0] = max_templates - v.shape[0]\n        padding = [(0, p) for p in padding]\n        chain[k] = np.pad(v, padding, mode='constant')\n  return chains\n\n\ndef _merge_features_from_multiple_chains(\n    chains: Sequence[pipeline.FeatureDict], pair_msa_sequences: bool\n) -> pipeline.FeatureDict:\n  \"\"\"Merge features from multiple chains.\n\n  Args:\n    chains: A list of feature dictionaries that we want to merge.\n    pair_msa_sequences: Whether to concatenate MSA features along the num_res\n      dimension (if True), or to block diagonalize them (if False).\n\n  Returns:\n    A feature dictionary for the merged example.\n  \"\"\"\n  merged_example = {}\n  for feature_name in chains[0]:\n    feats = [x[feature_name] for x in chains]\n    feature_name_split = feature_name.split('_all_seq')[0]\n    if feature_name_split in MSA_FEATURES:\n      if pair_msa_sequences or '_all_seq' in feature_name:\n        merged_example[feature_name] = np.concatenate(feats, axis=1)\n      else:\n        merged_example[feature_name] = block_diag(\n            *feats, pad_value=MSA_PAD_VALUES[feature_name]\n        )\n    elif feature_name_split in SEQ_FEATURES:\n      merged_example[feature_name] = np.concatenate(feats, axis=0)\n    elif feature_name_split in TEMPLATE_FEATURES:\n      merged_example[feature_name] = np.concatenate(feats, axis=1)\n    elif feature_name_split in CHAIN_FEATURES:\n      merged_example[feature_name] = np.sum([x for x in feats]).astype(np.int32)\n    else:\n      merged_example[feature_name] = feats[0]\n  return merged_example\n\n\ndef _merge_homomers_dense_msa(\n    chains: Iterable[pipeline.FeatureDict],\n) -> Sequence[pipeline.FeatureDict]:\n  \"\"\"Merge all identical chains, making the resulting MSA dense.\n\n  Args:\n    chains: An iterable of features for each chain.\n\n  Returns:\n    A list of feature dictionaries.  All features with the same entity_id\n    will be merged - MSA features will be concatenated along the num_res\n    dimension - making them dense.\n  \"\"\"\n  entity_chains = collections.defaultdict(list)\n  for chain in chains:\n    entity_id = chain['entity_id'][0]\n    entity_chains[entity_id].append(chain)\n\n  grouped_chains = []\n  for entity_id in sorted(entity_chains):\n    chains = entity_chains[entity_id]\n    grouped_chains.append(chains)\n  chains = [\n      _merge_features_from_multiple_chains(chains, pair_msa_sequences=True)\n      for chains in grouped_chains\n  ]\n  return chains\n\n\ndef _concatenate_paired_and_unpaired_features(\n    example: pipeline.FeatureDict,\n) -> pipeline.FeatureDict:\n  \"\"\"Merges paired and block-diagonalised features.\"\"\"\n  features = MSA_FEATURES\n  for feature_name in features:\n    if feature_name in example:\n      feat = example[feature_name]\n      feat_all_seq = example[feature_name + '_all_seq']\n      merged_feat = np.concatenate([feat_all_seq, feat], axis=0)\n      example[feature_name] = merged_feat\n  example['num_alignments'] = np.array(example['msa'].shape[0], dtype=np.int32)\n  return example\n\n\ndef merge_chain_features(\n    np_chains_list: List[pipeline.FeatureDict],\n    pair_msa_sequences: bool,\n    max_templates: int,\n) -> pipeline.FeatureDict:\n  \"\"\"Merges features for multiple chains to single FeatureDict.\n\n  Args:\n    np_chains_list: List of FeatureDicts for each chain.\n    pair_msa_sequences: Whether to merge paired MSAs.\n    max_templates: The maximum number of templates to include.\n\n  Returns:\n    Single FeatureDict for entire complex.\n  \"\"\"\n  np_chains_list = _pad_templates(np_chains_list, max_templates=max_templates)\n  np_chains_list = _merge_homomers_dense_msa(np_chains_list)\n  # Unpaired MSA features will be always block-diagonalised; paired MSA\n  # features will be concatenated.\n  np_example = _merge_features_from_multiple_chains(\n      np_chains_list, pair_msa_sequences=False\n  )\n  if pair_msa_sequences:\n    np_example = _concatenate_paired_and_unpaired_features(np_example)\n  np_example = _correct_post_merged_feats(\n      np_example=np_example,\n      np_chains_list=np_chains_list,\n      pair_msa_sequences=pair_msa_sequences,\n  )\n\n  return np_example\n\n\ndef deduplicate_unpaired_sequences(\n    np_chains: List[pipeline.FeatureDict],\n) -> List[pipeline.FeatureDict]:\n  \"\"\"Removes unpaired sequences which duplicate a paired sequence.\"\"\"\n\n  feature_names = np_chains[0].keys()\n  msa_features = MSA_FEATURES\n\n  for chain in np_chains:\n    # Convert the msa_all_seq numpy array to a tuple for hashing.\n    sequence_set = set(tuple(s) for s in chain['msa_all_seq'])\n    keep_rows = []\n    # Go through unpaired MSA seqs and remove any rows that correspond to the\n    # sequences that are already present in the paired MSA.\n    for row_num, seq in enumerate(chain['msa']):\n      if tuple(seq) not in sequence_set:\n        keep_rows.append(row_num)\n    for feature_name in feature_names:\n      if feature_name in msa_features:\n        chain[feature_name] = chain[feature_name][keep_rows]\n    chain['num_alignments'] = np.array(chain['msa'].shape[0], dtype=np.int32)\n  return np_chains\n"
  },
  {
    "path": "alphafold/data/parsers.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Functions for parsing various file formats.\"\"\"\nimport collections\nimport dataclasses\nimport itertools\nimport re\nimport string\nfrom typing import Dict, Iterable, List, Optional, Sequence, Set, Tuple\n\n# Internal import (7716).\n\n\nDeletionMatrix = Sequence[Sequence[int]]\n\n\n@dataclasses.dataclass(frozen=True)\nclass Msa:\n  \"\"\"Class representing a parsed MSA file.\"\"\"\n\n  sequences: Sequence[str]\n  deletion_matrix: DeletionMatrix\n  descriptions: Sequence[str]\n\n  def __post_init__(self):\n    if not (\n        len(self.sequences)\n        == len(self.deletion_matrix)\n        == len(self.descriptions)\n    ):\n      raise ValueError(\n          'All fields for an MSA must have the same length. '\n          f'Got {len(self.sequences)} sequences, '\n          f'{len(self.deletion_matrix)} rows in the deletion matrix and '\n          f'{len(self.descriptions)} descriptions.'\n      )\n\n  def __len__(self):\n    return len(self.sequences)\n\n  def truncate(self, max_seqs: int):\n    return Msa(\n        sequences=self.sequences[:max_seqs],\n        deletion_matrix=self.deletion_matrix[:max_seqs],\n        descriptions=self.descriptions[:max_seqs],\n    )\n\n\n@dataclasses.dataclass(frozen=True)\nclass TemplateHit:\n  \"\"\"Class representing a template hit.\"\"\"\n\n  index: int\n  name: str\n  aligned_cols: int\n  sum_probs: Optional[float]\n  query: str\n  hit_sequence: str\n  indices_query: List[int]\n  indices_hit: List[int]\n\n\ndef parse_fasta(fasta_string: str) -> Tuple[Sequence[str], Sequence[str]]:\n  \"\"\"Parses FASTA string and returns list of strings with amino-acid sequences.\n\n  Arguments:\n    fasta_string: The string contents of a FASTA file.\n\n  Returns:\n    A tuple of two lists:\n    * A list of sequences.\n    * A list of sequence descriptions taken from the comment lines. In the\n      same order as the sequences.\n  \"\"\"\n  sequences = []\n  descriptions = []\n  index = -1\n  for line in fasta_string.splitlines():\n    line = line.strip()\n    if line.startswith('>'):\n      index += 1\n      descriptions.append(line[1:])  # Remove the '>' at the beginning.\n      sequences.append('')\n      continue\n    elif not line:\n      continue  # Skip blank lines.\n    sequences[index] += line\n\n  return sequences, descriptions\n\n\ndef parse_stockholm(stockholm_string: str) -> Msa:\n  \"\"\"Parses sequences and deletion matrix from stockholm format alignment.\n\n  Args:\n    stockholm_string: The string contents of a stockholm file. The first\n      sequence in the file should be the query sequence.\n\n  Returns:\n    A tuple of:\n      * A list of sequences that have been aligned to the query. These\n        might contain duplicates.\n      * The deletion matrix for the alignment as a list of lists. The element\n        at `deletion_matrix[i][j]` is the number of residues deleted from\n        the aligned sequence i at residue position j.\n      * The names of the targets matched, including the jackhmmer subsequence\n        suffix.\n  \"\"\"\n  name_to_sequence = collections.OrderedDict()\n  for line in stockholm_string.splitlines():\n    line = line.strip()\n    if not line or line.startswith(('#', '//')):\n      continue\n    name, sequence = line.split()\n    if name not in name_to_sequence:\n      name_to_sequence[name] = ''\n    name_to_sequence[name] += sequence\n\n  msa = []\n  deletion_matrix = []\n\n  query = ''\n  keep_columns = []\n  for seq_index, sequence in enumerate(name_to_sequence.values()):\n    if seq_index == 0:\n      # Gather the columns with gaps from the query\n      query = sequence\n      keep_columns = [i for i, res in enumerate(query) if res != '-']\n\n    # Remove the columns with gaps in the query from all sequences.\n    aligned_sequence = ''.join([sequence[c] for c in keep_columns])\n\n    msa.append(aligned_sequence)\n\n    # Count the number of deletions w.r.t. query.\n    deletion_vec = []\n    deletion_count = 0\n    for seq_res, query_res in zip(sequence, query):\n      if seq_res != '-' or query_res != '-':\n        if query_res == '-':\n          deletion_count += 1\n        else:\n          deletion_vec.append(deletion_count)\n          deletion_count = 0\n    deletion_matrix.append(deletion_vec)\n\n  return Msa(\n      sequences=msa,\n      deletion_matrix=deletion_matrix,\n      descriptions=list(name_to_sequence.keys()),\n  )\n\n\ndef parse_a3m(a3m_string: str) -> Msa:\n  \"\"\"Parses sequences and deletion matrix from a3m format alignment.\n\n  Args:\n    a3m_string: The string contents of a a3m file. The first sequence in the\n      file should be the query sequence.\n\n  Returns:\n    A tuple of:\n      * A list of sequences that have been aligned to the query. These\n        might contain duplicates.\n      * The deletion matrix for the alignment as a list of lists. The element\n        at `deletion_matrix[i][j]` is the number of residues deleted from\n        the aligned sequence i at residue position j.\n      * A list of descriptions, one per sequence, from the a3m file.\n  \"\"\"\n  sequences, descriptions = parse_fasta(a3m_string)\n  deletion_matrix = []\n  for msa_sequence in sequences:\n    deletion_vec = []\n    deletion_count = 0\n    for j in msa_sequence:\n      if j.islower():\n        deletion_count += 1\n      else:\n        deletion_vec.append(deletion_count)\n        deletion_count = 0\n    deletion_matrix.append(deletion_vec)\n\n  # Make the MSA matrix out of aligned (deletion-free) sequences.\n  deletion_table = str.maketrans('', '', string.ascii_lowercase)\n  aligned_sequences = [s.translate(deletion_table) for s in sequences]\n  return Msa(\n      sequences=aligned_sequences,\n      deletion_matrix=deletion_matrix,\n      descriptions=descriptions,\n  )\n\n\ndef _convert_sto_seq_to_a3m(\n    query_non_gaps: Sequence[bool], sto_seq: str\n) -> Iterable[str]:\n  for is_query_res_non_gap, sequence_res in zip(query_non_gaps, sto_seq):\n    if is_query_res_non_gap:\n      yield sequence_res\n    elif sequence_res != '-':\n      yield sequence_res.lower()\n\n\ndef convert_stockholm_to_a3m(\n    stockholm_format: str,\n    max_sequences: Optional[int] = None,\n    remove_first_row_gaps: bool = True,\n) -> str:\n  \"\"\"Converts MSA in Stockholm format to the A3M format.\"\"\"\n  descriptions = {}\n  sequences = {}\n  reached_max_sequences = False\n\n  for line in stockholm_format.splitlines():\n    reached_max_sequences = max_sequences and len(sequences) >= max_sequences\n    if line.strip() and not line.startswith(('#', '//')):\n      # Ignore blank lines, markup and end symbols - remainder are alignment\n      # sequence parts.\n      seqname, aligned_seq = line.split(maxsplit=1)\n      if seqname not in sequences:\n        if reached_max_sequences:\n          continue\n        sequences[seqname] = ''\n      sequences[seqname] += aligned_seq\n\n  for line in stockholm_format.splitlines():\n    if line[:4] == '#=GS':\n      # Description row - example format is:\n      # #=GS UniRef90_Q9H5Z4/4-78            DE [subseq from] cDNA: FLJ22755 ...\n      columns = line.split(maxsplit=3)\n      seqname, feature = columns[1:3]\n      value = columns[3] if len(columns) == 4 else ''\n      if feature != 'DE':\n        continue\n      if reached_max_sequences and seqname not in sequences:\n        continue\n      descriptions[seqname] = value\n      if len(descriptions) == len(sequences):\n        break\n\n  # Convert sto format to a3m line by line\n  a3m_sequences = {}\n  if remove_first_row_gaps:\n    # query_sequence is assumed to be the first sequence\n    query_sequence = next(iter(sequences.values()))\n    query_non_gaps = [res != '-' for res in query_sequence]\n  for seqname, sto_sequence in sequences.items():\n    # Dots are optional in a3m format and are commonly removed.\n    out_sequence = sto_sequence.replace('.', '')\n    if remove_first_row_gaps:\n      out_sequence = ''.join(\n          _convert_sto_seq_to_a3m(query_non_gaps, out_sequence)\n      )\n    a3m_sequences[seqname] = out_sequence\n\n  fasta_chunks = (\n      f\">{k} {descriptions.get(k, '')}\\n{a3m_sequences[k]}\"\n      for k in a3m_sequences\n  )\n  return '\\n'.join(fasta_chunks) + '\\n'  # Include terminating newline.\n\n\ndef _keep_line(line: str, seqnames: Set[str]) -> bool:\n  \"\"\"Function to decide which lines to keep.\"\"\"\n  if not line.strip():\n    return True\n  if line.strip() == '//':  # End tag\n    return True\n  if line.startswith('# STOCKHOLM'):  # Start tag\n    return True\n  if line.startswith('#=GC RF'):  # Reference Annotation Line\n    return True\n  if line[:4] == '#=GS':  # Description lines - keep if sequence in list.\n    _, seqname, _ = line.split(maxsplit=2)\n    return seqname in seqnames\n  elif line.startswith('#'):  # Other markup - filter out\n    return False\n  else:  # Alignment data - keep if sequence in list.\n    seqname = line.partition(' ')[0]\n    return seqname in seqnames\n\n\ndef truncate_stockholm_msa(stockholm_msa_path: str, max_sequences: int) -> str:\n  \"\"\"Reads + truncates a Stockholm file while preventing excessive RAM usage.\"\"\"\n  seqnames = set()\n  filtered_lines = []\n\n  with open(stockholm_msa_path) as f:\n    for line in f:\n      if line.strip() and not line.startswith(('#', '//')):\n        # Ignore blank lines, markup and end symbols - remainder are alignment\n        # sequence parts.\n        seqname = line.partition(' ')[0]\n        seqnames.add(seqname)\n        if len(seqnames) >= max_sequences:\n          break\n\n    f.seek(0)\n    for line in f:\n      if _keep_line(line, seqnames):\n        filtered_lines.append(line)\n\n  return ''.join(filtered_lines)\n\n\ndef remove_empty_columns_from_stockholm_msa(stockholm_msa: str) -> str:\n  \"\"\"Removes empty columns (dashes-only) from a Stockholm MSA.\"\"\"\n  processed_lines = {}\n  unprocessed_lines = {}\n  for i, line in enumerate(stockholm_msa.splitlines()):\n    if line.startswith('#=GC RF'):\n      reference_annotation_i = i\n      reference_annotation_line = line\n      # Reached the end of this chunk of the alignment. Process chunk.\n      _, _, first_alignment = line.rpartition(' ')\n      mask = []\n      for j in range(len(first_alignment)):\n        for _, unprocessed_line in unprocessed_lines.items():\n          prefix, _, alignment = unprocessed_line.rpartition(' ')\n          if alignment[j] != '-':\n            mask.append(True)\n            break\n        else:  # Every row contained a hyphen - empty column.\n          mask.append(False)\n      # Add reference annotation for processing with mask.\n      unprocessed_lines[reference_annotation_i] = reference_annotation_line\n\n      if not any(mask):  # All columns were empty. Output empty lines for chunk.\n        for line_index in unprocessed_lines:\n          processed_lines[line_index] = ''\n      else:\n        for line_index, unprocessed_line in unprocessed_lines.items():\n          prefix, _, alignment = unprocessed_line.rpartition(' ')\n          masked_alignment = ''.join(itertools.compress(alignment, mask))\n          processed_lines[line_index] = f'{prefix} {masked_alignment}'\n\n      # Clear raw_alignments.\n      unprocessed_lines = {}\n    elif line.strip() and not line.startswith(('#', '//')):\n      unprocessed_lines[i] = line\n    else:\n      processed_lines[i] = line\n  return '\\n'.join((processed_lines[i] for i in range(len(processed_lines))))\n\n\ndef deduplicate_stockholm_msa(stockholm_msa: str) -> str:\n  \"\"\"Remove duplicate sequences (ignoring insertions wrt query).\"\"\"\n  sequence_dict = collections.defaultdict(str)\n\n  # First we must extract all sequences from the MSA.\n  for line in stockholm_msa.splitlines():\n    # Only consider the alignments - ignore reference annotation, empty lines,\n    # descriptions or markup.\n    if line.strip() and not line.startswith(('#', '//')):\n      line = line.strip()\n      seqname, alignment = line.split()\n      sequence_dict[seqname] += alignment\n\n  seen_sequences = set()\n  seqnames = set()\n  # First alignment is the query.\n  query_align = next(iter(sequence_dict.values()))\n  mask = [c != '-' for c in query_align]  # Mask is False for insertions.\n  for seqname, alignment in sequence_dict.items():\n    # Apply mask to remove all insertions from the string.\n    masked_alignment = ''.join(itertools.compress(alignment, mask))\n    if masked_alignment in seen_sequences:\n      continue\n    else:\n      seen_sequences.add(masked_alignment)\n      seqnames.add(seqname)\n\n  filtered_lines = []\n  for line in stockholm_msa.splitlines():\n    if _keep_line(line, seqnames):\n      filtered_lines.append(line)\n\n  return '\\n'.join(filtered_lines) + '\\n'\n\n\ndef _get_hhr_line_regex_groups(\n    regex_pattern: str, line: str\n) -> Sequence[Optional[str]]:\n  match = re.match(regex_pattern, line)\n  if match is None:\n    raise RuntimeError(f'Could not parse query line {line}')\n  return match.groups()\n\n\ndef _update_hhr_residue_indices_list(\n    sequence: str, start_index: int, indices_list: List[int]\n):\n  \"\"\"Computes the relative indices for each residue with respect to the original sequence.\"\"\"\n  counter = start_index\n  for symbol in sequence:\n    if symbol == '-':\n      indices_list.append(-1)\n    else:\n      indices_list.append(counter)\n      counter += 1\n\n\ndef _parse_hhr_hit(detailed_lines: Sequence[str]) -> TemplateHit:\n  \"\"\"Parses the detailed HMM HMM comparison section for a single Hit.\n\n  This works on .hhr files generated from both HHBlits and HHSearch.\n\n  Args:\n    detailed_lines: A list of lines from a single comparison section between 2\n      sequences (which each have their own HMM's)\n\n  Returns:\n    A dictionary with the information from that detailed comparison section\n\n  Raises:\n    RuntimeError: If a certain line cannot be processed\n  \"\"\"\n  # Parse first 2 lines.\n  number_of_hit = int(detailed_lines[0].split()[-1])\n  name_hit = detailed_lines[1][1:]\n\n  # Parse the summary line.\n  pattern = (\n      'Probab=(.*)[\\t ]*E-value=(.*)[\\t ]*Score=(.*)[\\t ]*Aligned_cols=(.*)[\\t'\n      ' ]*Identities=(.*)%[\\t ]*Similarity=(.*)[\\t ]*Sum_probs=(.*)[\\t '\n      ']*Template_Neff=(.*)'\n  )\n  match = re.match(pattern, detailed_lines[2])\n  if match is None:\n    raise RuntimeError(\n        'Could not parse section: %s. Expected this: \\n%s to contain summary.'\n        % (detailed_lines, detailed_lines[2])\n    )\n  (_, _, _, aligned_cols, _, _, sum_probs, _) = [\n      float(x) for x in match.groups()\n  ]\n\n  # The next section reads the detailed comparisons. These are in a 'human\n  # readable' format which has a fixed length. The strategy employed is to\n  # assume that each block starts with the query sequence line, and to parse\n  # that with a regexp in order to deduce the fixed length used for that block.\n  query = ''\n  hit_sequence = ''\n  indices_query = []\n  indices_hit = []\n  length_block = None\n\n  for line in detailed_lines[3:]:\n    # Parse the query sequence line\n    if (\n        line.startswith('Q ')\n        and not line.startswith('Q ss_dssp')\n        and not line.startswith('Q ss_pred')\n        and not line.startswith('Q Consensus')\n    ):\n      # Thus the first 17 characters must be 'Q <query_name> ', and we can parse\n      # everything after that.\n      #              start    sequence       end       total_sequence_length\n      patt = r'[\\t ]*([0-9]*) ([A-Z-]*)[\\t ]*([0-9]*) \\([0-9]*\\)'\n      groups = _get_hhr_line_regex_groups(patt, line[17:])\n\n      # Get the length of the parsed block using the start and finish indices,\n      # and ensure it is the same as the actual block length.\n      start = int(groups[0]) - 1  # Make index zero based.\n      delta_query = groups[1]\n      end = int(groups[2])\n      num_insertions = len([x for x in delta_query if x == '-'])\n      length_block = end - start + num_insertions\n      assert length_block == len(delta_query)\n\n      # Update the query sequence and indices list.\n      query += delta_query\n      _update_hhr_residue_indices_list(delta_query, start, indices_query)\n\n    elif line.startswith('T '):\n      # Parse the hit sequence.\n      if (\n          not line.startswith('T ss_dssp')\n          and not line.startswith('T ss_pred')\n          and not line.startswith('T Consensus')\n      ):\n        # Thus the first 17 characters must be 'T <hit_name> ', and we can\n        # parse everything after that.\n        #              start    sequence       end     total_sequence_length\n        patt = r'[\\t ]*([0-9]*) ([A-Z-]*)[\\t ]*[0-9]* \\([0-9]*\\)'\n        groups = _get_hhr_line_regex_groups(patt, line[17:])\n        start = int(groups[0]) - 1  # Make index zero based.\n        delta_hit_sequence = groups[1]\n        assert length_block == len(delta_hit_sequence)\n\n        # Update the hit sequence and indices list.\n        hit_sequence += delta_hit_sequence\n        _update_hhr_residue_indices_list(delta_hit_sequence, start, indices_hit)\n\n  return TemplateHit(\n      index=number_of_hit,\n      name=name_hit,\n      aligned_cols=int(aligned_cols),\n      sum_probs=sum_probs,\n      query=query,\n      hit_sequence=hit_sequence,\n      indices_query=indices_query,\n      indices_hit=indices_hit,\n  )\n\n\ndef parse_hhr(hhr_string: str) -> Sequence[TemplateHit]:\n  \"\"\"Parses the content of an entire HHR file.\"\"\"\n  lines = hhr_string.splitlines()\n\n  # Each .hhr file starts with a results table, then has a sequence of hit\n  # \"paragraphs\", each paragraph starting with a line 'No <hit number>'. We\n  # iterate through each paragraph to parse each hit.\n\n  block_starts = [i for i, line in enumerate(lines) if line.startswith('No ')]\n\n  hits = []\n  if block_starts:\n    block_starts.append(len(lines))  # Add the end of the final block.\n    for i in range(len(block_starts) - 1):\n      hits.append(_parse_hhr_hit(lines[block_starts[i] : block_starts[i + 1]]))\n  return hits\n\n\ndef parse_e_values_from_tblout(tblout: str) -> Dict[str, float]:\n  \"\"\"Parse target to e-value mapping parsed from Jackhmmer tblout string.\"\"\"\n  e_values = {'query': 0}\n  lines = [line for line in tblout.splitlines() if line[0] != '#']\n  # As per http://eddylab.org/software/hmmer/Userguide.pdf fields are\n  # space-delimited. Relevant fields are (1) target name:  and\n  # (5) E-value (full sequence) (numbering from 1).\n  for line in lines:\n    fields = line.split()\n    e_value = fields[4]\n    target_name = fields[0]\n    e_values[target_name] = float(e_value)\n  return e_values\n\n\ndef _get_indices(sequence: str, start: int) -> List[int]:\n  \"\"\"Returns indices for non-gap/insert residues starting at the given index.\"\"\"\n  indices = []\n  counter = start\n  for symbol in sequence:\n    # Skip gaps but add a placeholder so that the alignment is preserved.\n    if symbol == '-':\n      indices.append(-1)\n    # Skip deleted residues, but increase the counter.\n    elif symbol.islower():\n      counter += 1\n    # Normal aligned residue. Increase the counter and append to indices.\n    else:\n      indices.append(counter)\n      counter += 1\n  return indices\n\n\n@dataclasses.dataclass(frozen=True)\nclass HitMetadata:\n  pdb_id: str\n  chain: str\n  start: int\n  end: int\n  length: int\n  text: str\n\n\ndef _parse_hmmsearch_description(description: str) -> HitMetadata:\n  \"\"\"Parses the hmmsearch A3M sequence description line.\"\"\"\n  # Example 1: >4pqx_A/2-217 [subseq from] mol:protein length:217  Free text\n  # Example 2: >5g3r_A/1-55 [subseq from] mol:protein length:352\n  match = re.match(\n      r'^>?([a-z0-9]+)_(\\w+)/([0-9]+)-([0-9]+).*protein length:([0-9]+) *(.*)$',\n      description.strip(),\n  )\n\n  if not match:\n    raise ValueError(f'Could not parse description: \"{description}\".')\n\n  return HitMetadata(\n      pdb_id=match[1],\n      chain=match[2],\n      start=int(match[3]),\n      end=int(match[4]),\n      length=int(match[5]),\n      text=match[6],\n  )\n\n\ndef parse_hmmsearch_a3m(\n    query_sequence: str, a3m_string: str, skip_first: bool = True\n) -> Sequence[TemplateHit]:\n  \"\"\"Parses an a3m string produced by hmmsearch.\n\n  Args:\n    query_sequence: The query sequence.\n    a3m_string: The a3m string produced by hmmsearch.\n    skip_first: Whether to skip the first sequence in the a3m string.\n\n  Returns:\n    A sequence of `TemplateHit` results.\n  \"\"\"\n  # Zip the descriptions and MSAs together, skip the first query sequence.\n  parsed_a3m = list(zip(*parse_fasta(a3m_string)))\n  if skip_first:\n    parsed_a3m = parsed_a3m[1:]\n\n  indices_query = _get_indices(query_sequence, start=0)\n\n  hits = []\n  for i, (hit_sequence, hit_description) in enumerate(parsed_a3m, start=1):\n    if 'mol:protein' not in hit_description:\n      continue  # Skip non-protein chains.\n    metadata = _parse_hmmsearch_description(hit_description)\n    # Aligned columns are only the match states.\n    aligned_cols = sum([r.isupper() and r != '-' for r in hit_sequence])\n    indices_hit = _get_indices(hit_sequence, start=metadata.start - 1)\n\n    hit = TemplateHit(\n        index=i,\n        name=f'{metadata.pdb_id}_{metadata.chain}',\n        aligned_cols=aligned_cols,\n        sum_probs=None,\n        query=query_sequence,\n        hit_sequence=hit_sequence.upper(),\n        indices_query=indices_query,\n        indices_hit=indices_hit,\n    )\n    hits.append(hit)\n\n  return hits\n"
  },
  {
    "path": "alphafold/data/pipeline.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Functions for building the input features for the AlphaFold model.\"\"\"\n\nimport os\nfrom typing import Any, Mapping, MutableMapping, Optional, Sequence, Union\n\nfrom absl import logging\nfrom alphafold.common import residue_constants\nfrom alphafold.data import msa_identifiers\nfrom alphafold.data import parsers\nfrom alphafold.data import templates\nfrom alphafold.data.tools import hhblits\nfrom alphafold.data.tools import hhsearch\nfrom alphafold.data.tools import hmmsearch\nfrom alphafold.data.tools import jackhmmer\nimport numpy as np\n\n# Internal import (7716).\n\nFeatureDict = MutableMapping[str, np.ndarray]\nTemplateSearcher = Union[hhsearch.HHSearch, hmmsearch.Hmmsearch]\n\n\ndef make_sequence_features(\n    sequence: str, description: str, num_res: int\n) -> FeatureDict:\n  \"\"\"Constructs a feature dict of sequence features.\"\"\"\n  features = {}\n  features['aatype'] = residue_constants.sequence_to_onehot(\n      sequence=sequence,\n      mapping=residue_constants.restype_order_with_x,\n      map_unknown_to_x=True,\n  )\n  features['between_segment_residues'] = np.zeros((num_res,), dtype=np.int32)\n  features['domain_name'] = np.array(\n      [description.encode('utf-8')], dtype=np.object_\n  )\n  features['residue_index'] = np.array(range(num_res), dtype=np.int32)\n  features['seq_length'] = np.array([num_res] * num_res, dtype=np.int32)\n  features['sequence'] = np.array([sequence.encode('utf-8')], dtype=np.object_)\n  return features\n\n\ndef make_msa_features(msas: Sequence[parsers.Msa]) -> FeatureDict:\n  \"\"\"Constructs a feature dict of MSA features.\"\"\"\n  if not msas:\n    raise ValueError('At least one MSA must be provided.')\n\n  int_msa = []\n  deletion_matrix = []\n  species_ids = []\n  seen_sequences = set()\n  for msa_index, msa in enumerate(msas):\n    if not msa:\n      raise ValueError(f'MSA {msa_index} must contain at least one sequence.')\n    for sequence_index, sequence in enumerate(msa.sequences):\n      if sequence in seen_sequences:\n        continue\n      seen_sequences.add(sequence)\n      int_msa.append(\n          [residue_constants.HHBLITS_AA_TO_ID[res] for res in sequence]\n      )\n      deletion_matrix.append(msa.deletion_matrix[sequence_index])\n      identifiers = msa_identifiers.get_identifiers(\n          msa.descriptions[sequence_index]\n      )\n      species_ids.append(identifiers.species_id.encode('utf-8'))\n\n  num_res = len(msas[0].sequences[0])\n  num_alignments = len(int_msa)\n  features = {}\n  features['deletion_matrix_int'] = np.array(deletion_matrix, dtype=np.int32)\n  features['msa'] = np.array(int_msa, dtype=np.int32)\n  features['num_alignments'] = np.array(\n      [num_alignments] * num_res, dtype=np.int32\n  )\n  features['msa_species_identifiers'] = np.array(species_ids, dtype=np.object_)\n  return features\n\n\ndef run_msa_tool(\n    msa_runner,\n    input_fasta_path: str,\n    msa_out_path: str,\n    msa_format: str,\n    use_precomputed_msas: bool,\n    max_sto_sequences: Optional[int] = None,\n) -> Mapping[str, Any]:\n  \"\"\"Runs an MSA tool, checking if output already exists first.\"\"\"\n  if not use_precomputed_msas or not os.path.exists(msa_out_path):\n    if msa_format == 'sto' and max_sto_sequences is not None:\n      result = msa_runner.query(input_fasta_path, max_sto_sequences)[0]  # pytype: disable=wrong-arg-count\n    else:\n      result = msa_runner.query(input_fasta_path)[0]\n    with open(msa_out_path, 'w') as f:\n      f.write(result[msa_format])\n  else:\n    logging.warning('Reading MSA from file %s', msa_out_path)\n    if msa_format == 'sto' and max_sto_sequences is not None:\n      precomputed_msa = parsers.truncate_stockholm_msa(\n          msa_out_path, max_sto_sequences\n      )\n      result = {'sto': precomputed_msa}\n    else:\n      with open(msa_out_path, 'r') as f:\n        result = {msa_format: f.read()}\n  return result\n\n\nclass DataPipeline:\n  \"\"\"Runs the alignment tools and assembles the input features.\"\"\"\n\n  def __init__(\n      self,\n      *,\n      jackhmmer_binary_path: str,\n      hhblits_binary_path: str,\n      uniref90_database_path: str,\n      mgnify_database_path: str,\n      bfd_database_path: Optional[str],\n      uniref30_database_path: Optional[str],\n      small_bfd_database_path: Optional[str],\n      template_searcher: TemplateSearcher,\n      template_featurizer: templates.TemplateHitFeaturizer,\n      use_small_bfd: bool,\n      mgnify_max_hits: int = 501,\n      uniref_max_hits: int = 10000,\n      use_precomputed_msas: bool = False,\n      msa_tools_n_cpu: int = 8,\n  ):\n    \"\"\"Initializes the data pipeline.\"\"\"\n    self._use_small_bfd = use_small_bfd\n    self.jackhmmer_uniref90_runner = jackhmmer.Jackhmmer(\n        binary_path=jackhmmer_binary_path,\n        database_path=uniref90_database_path,\n        n_cpu=msa_tools_n_cpu,\n    )\n    if use_small_bfd:\n      self.jackhmmer_small_bfd_runner = jackhmmer.Jackhmmer(\n          binary_path=jackhmmer_binary_path,\n          database_path=small_bfd_database_path,\n          n_cpu=msa_tools_n_cpu,\n      )\n    else:\n      self.hhblits_bfd_uniref_runner = hhblits.HHBlits(\n          binary_path=hhblits_binary_path,\n          databases=[bfd_database_path, uniref30_database_path],\n          n_cpu=msa_tools_n_cpu,\n      )\n    self.jackhmmer_mgnify_runner = jackhmmer.Jackhmmer(\n        binary_path=jackhmmer_binary_path,\n        database_path=mgnify_database_path,\n        n_cpu=msa_tools_n_cpu,\n    )\n    self.template_searcher = template_searcher\n    self.template_featurizer = template_featurizer\n    self.mgnify_max_hits = mgnify_max_hits\n    self.uniref_max_hits = uniref_max_hits\n    self.use_precomputed_msas = use_precomputed_msas\n\n  def process(self, input_fasta_path: str, msa_output_dir: str) -> FeatureDict:\n    \"\"\"Runs alignment tools on the input sequence and creates features.\"\"\"\n    with open(input_fasta_path) as f:\n      input_fasta_str = f.read()\n    input_seqs, input_descs = parsers.parse_fasta(input_fasta_str)\n    if len(input_seqs) != 1:\n      raise ValueError(\n          f'More than one input sequence found in {input_fasta_path}.'\n      )\n    input_sequence = input_seqs[0]\n    input_description = input_descs[0]\n    num_res = len(input_sequence)\n\n    uniref90_out_path = os.path.join(msa_output_dir, 'uniref90_hits.sto')\n    jackhmmer_uniref90_result = run_msa_tool(\n        msa_runner=self.jackhmmer_uniref90_runner,\n        input_fasta_path=input_fasta_path,\n        msa_out_path=uniref90_out_path,\n        msa_format='sto',\n        use_precomputed_msas=self.use_precomputed_msas,\n        max_sto_sequences=self.uniref_max_hits,\n    )\n    mgnify_out_path = os.path.join(msa_output_dir, 'mgnify_hits.sto')\n    jackhmmer_mgnify_result = run_msa_tool(\n        msa_runner=self.jackhmmer_mgnify_runner,\n        input_fasta_path=input_fasta_path,\n        msa_out_path=mgnify_out_path,\n        msa_format='sto',\n        use_precomputed_msas=self.use_precomputed_msas,\n        max_sto_sequences=self.mgnify_max_hits,\n    )\n\n    msa_for_templates = jackhmmer_uniref90_result['sto']\n    msa_for_templates = parsers.deduplicate_stockholm_msa(msa_for_templates)\n    msa_for_templates = parsers.remove_empty_columns_from_stockholm_msa(\n        msa_for_templates\n    )\n\n    if self.template_searcher.input_format == 'sto':\n      pdb_templates_result = self.template_searcher.query(msa_for_templates)\n    elif self.template_searcher.input_format == 'a3m':\n      uniref90_msa_as_a3m = parsers.convert_stockholm_to_a3m(msa_for_templates)\n      pdb_templates_result = self.template_searcher.query(uniref90_msa_as_a3m)\n    else:\n      raise ValueError(\n          'Unrecognized template input format: '\n          f'{self.template_searcher.input_format}'\n      )\n\n    pdb_hits_out_path = os.path.join(\n        msa_output_dir, f'pdb_hits.{self.template_searcher.output_format}'\n    )\n    with open(pdb_hits_out_path, 'w') as f:\n      f.write(pdb_templates_result)\n\n    uniref90_msa = parsers.parse_stockholm(jackhmmer_uniref90_result['sto'])\n    mgnify_msa = parsers.parse_stockholm(jackhmmer_mgnify_result['sto'])\n\n    pdb_template_hits = self.template_searcher.get_template_hits(\n        output_string=pdb_templates_result, input_sequence=input_sequence\n    )\n\n    if self._use_small_bfd:\n      bfd_out_path = os.path.join(msa_output_dir, 'small_bfd_hits.sto')\n      jackhmmer_small_bfd_result = run_msa_tool(\n          msa_runner=self.jackhmmer_small_bfd_runner,\n          input_fasta_path=input_fasta_path,\n          msa_out_path=bfd_out_path,\n          msa_format='sto',\n          use_precomputed_msas=self.use_precomputed_msas,\n      )\n      bfd_msa = parsers.parse_stockholm(jackhmmer_small_bfd_result['sto'])\n    else:\n      bfd_out_path = os.path.join(msa_output_dir, 'bfd_uniref_hits.a3m')\n      hhblits_bfd_uniref_result = run_msa_tool(\n          msa_runner=self.hhblits_bfd_uniref_runner,\n          input_fasta_path=input_fasta_path,\n          msa_out_path=bfd_out_path,\n          msa_format='a3m',\n          use_precomputed_msas=self.use_precomputed_msas,\n      )\n      bfd_msa = parsers.parse_a3m(hhblits_bfd_uniref_result['a3m'])\n\n    templates_result = self.template_featurizer.get_templates(\n        query_sequence=input_sequence, hits=pdb_template_hits\n    )\n\n    sequence_features = make_sequence_features(\n        sequence=input_sequence, description=input_description, num_res=num_res\n    )\n\n    msa_features = make_msa_features((uniref90_msa, bfd_msa, mgnify_msa))\n\n    logging.info('Uniref90 MSA size: %d sequences.', len(uniref90_msa))\n    logging.info('BFD MSA size: %d sequences.', len(bfd_msa))\n    logging.info('MGnify MSA size: %d sequences.', len(mgnify_msa))\n    logging.info(\n        'Final (deduplicated) MSA size: %d sequences.',\n        msa_features['num_alignments'][0],\n    )\n    logging.info(\n        'Total number of templates (NB: this can include bad '\n        'templates and is later filtered to top 4): %d.',\n        templates_result.features['template_domain_names'].shape[0],\n    )\n\n    return {**sequence_features, **msa_features, **templates_result.features}\n"
  },
  {
    "path": "alphafold/data/pipeline_multimer.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Functions for building the features for the AlphaFold multimer model.\"\"\"\n\nimport collections\nimport contextlib\nimport copy\nimport dataclasses\nimport json\nimport os\nimport tempfile\nfrom typing import Mapping, MutableMapping, Sequence\n\nfrom absl import logging\nfrom alphafold.common import protein\nfrom alphafold.common import residue_constants\nfrom alphafold.data import feature_processing\nfrom alphafold.data import msa_pairing\nfrom alphafold.data import parsers\nfrom alphafold.data import pipeline\nfrom alphafold.data.tools import jackhmmer\nimport numpy as np\n\n# Internal import (7716).\n\n\n@dataclasses.dataclass(frozen=True)\nclass _FastaChain:\n  sequence: str\n  description: str\n\n\ndef _make_chain_id_map(\n    *,\n    sequences: Sequence[str],\n    descriptions: Sequence[str],\n) -> Mapping[str, _FastaChain]:\n  \"\"\"Makes a mapping from PDB-format chain ID to sequence and description.\"\"\"\n  if len(sequences) != len(descriptions):\n    raise ValueError(\n        'sequences and descriptions must have equal length. '\n        f'Got {len(sequences)} != {len(descriptions)}.'\n    )\n  if len(sequences) > protein.PDB_MAX_CHAINS:\n    raise ValueError(\n        'Cannot process more chains than the PDB format supports. '\n        f'Got {len(sequences)} chains.'\n    )\n  chain_id_map = {}\n  for chain_id, sequence, description in zip(\n      protein.PDB_CHAIN_IDS, sequences, descriptions\n  ):\n    chain_id_map[chain_id] = _FastaChain(\n        sequence=sequence, description=description\n    )\n  return chain_id_map\n\n\n@contextlib.contextmanager\ndef temp_fasta_file(fasta_str: str):\n  with tempfile.NamedTemporaryFile('w', suffix='.fasta') as fasta_file:\n    fasta_file.write(fasta_str)\n    fasta_file.seek(0)\n    yield fasta_file.name\n\n\ndef convert_monomer_features(\n    monomer_features: pipeline.FeatureDict, chain_id: str\n) -> pipeline.FeatureDict:\n  \"\"\"Reshapes and modifies monomer features for multimer models.\"\"\"\n  converted = {}\n  converted['auth_chain_id'] = np.asarray(chain_id, dtype=np.object_)\n  unnecessary_leading_dim_feats = {\n      'sequence',\n      'domain_name',\n      'num_alignments',\n      'seq_length',\n  }\n  for feature_name, feature in monomer_features.items():\n    if feature_name in unnecessary_leading_dim_feats:\n      # asarray ensures it's a np.ndarray.\n      feature = np.asarray(feature[0], dtype=feature.dtype)\n    elif feature_name == 'aatype':\n      # The multimer model performs the one-hot operation itself.\n      feature = np.argmax(feature, axis=-1).astype(np.int32)\n    elif feature_name == 'template_aatype':\n      feature = np.argmax(feature, axis=-1).astype(np.int32)\n      new_order_list = residue_constants.MAP_HHBLITS_AATYPE_TO_OUR_AATYPE\n      feature = np.take(new_order_list, feature.astype(np.int32), axis=0)\n    elif feature_name == 'template_all_atom_masks':\n      feature_name = 'template_all_atom_mask'\n    converted[feature_name] = feature\n  return converted\n\n\ndef int_id_to_str_id(num: int) -> str:\n  \"\"\"Encodes a number as a string, using reverse spreadsheet style naming.\n\n  Args:\n    num: A positive integer.\n\n  Returns:\n    A string that encodes the positive integer using reverse spreadsheet style,\n    naming e.g. 1 = A, 2 = B, ..., 27 = AA, 28 = BA, 29 = CA, ... This is the\n    usual way to encode chain IDs in mmCIF files.\n  \"\"\"\n  if num <= 0:\n    raise ValueError(f'Only positive integers allowed, got {num}.')\n\n  num = num - 1  # 1-based indexing.\n  output = []\n  while num >= 0:\n    output.append(chr(num % 26 + ord('A')))\n    num = num // 26 - 1\n  return ''.join(output)\n\n\ndef add_assembly_features(\n    all_chain_features: MutableMapping[str, pipeline.FeatureDict],\n) -> MutableMapping[str, pipeline.FeatureDict]:\n  \"\"\"Add features to distinguish between chains.\n\n  Args:\n    all_chain_features: A dictionary which maps chain_id to a dictionary of\n      features for each chain.\n\n  Returns:\n    all_chain_features: A dictionary which maps strings of the form\n      `<seq_id>_<sym_id>` to the corresponding chain features. E.g. two\n      chains from a homodimer would have keys A_1 and A_2. Two chains from a\n      heterodimer would have keys A_1 and B_1.\n  \"\"\"\n  # Group the chains by sequence\n  seq_to_entity_id = {}\n  grouped_chains = collections.defaultdict(list)\n  for _, chain_features in all_chain_features.items():\n    seq = str(chain_features['sequence'])\n    if seq not in seq_to_entity_id:\n      seq_to_entity_id[seq] = len(seq_to_entity_id) + 1\n    grouped_chains[seq_to_entity_id[seq]].append(chain_features)\n\n  new_all_chain_features = {}\n  chain_id = 1\n  for entity_id, group_chain_features in grouped_chains.items():\n    for sym_id, chain_features in enumerate(group_chain_features, start=1):\n      new_all_chain_features[f'{int_id_to_str_id(entity_id)}_{sym_id}'] = (\n          chain_features\n      )\n      seq_length = chain_features['seq_length']\n      chain_features['asym_id'] = chain_id * np.ones(seq_length)\n      chain_features['sym_id'] = sym_id * np.ones(seq_length)\n      chain_features['entity_id'] = entity_id * np.ones(seq_length)\n      chain_id += 1\n\n  return new_all_chain_features\n\n\ndef pad_msa(np_example, min_num_seq):\n  np_example = dict(np_example)\n  num_seq = np_example['msa'].shape[0]\n  if num_seq < min_num_seq:\n    for feat in ('msa', 'deletion_matrix', 'bert_mask', 'msa_mask'):\n      np_example[feat] = np.pad(\n          np_example[feat], ((0, min_num_seq - num_seq), (0, 0))\n      )\n    np_example['cluster_bias_mask'] = np.pad(\n        np_example['cluster_bias_mask'], ((0, min_num_seq - num_seq),)\n    )\n  return np_example\n\n\nclass DataPipeline:\n  \"\"\"Runs the alignment tools and assembles the input features.\"\"\"\n\n  def __init__(\n      self,\n      monomer_data_pipeline: pipeline.DataPipeline,\n      *,\n      jackhmmer_binary_path: str,\n      uniprot_database_path: str,\n      max_uniprot_hits: int = 50000,\n      use_precomputed_msas: bool = False,\n      jackhmmer_n_cpu: int = 8,\n  ):\n    \"\"\"Initializes the data pipeline.\n\n    Args:\n      monomer_data_pipeline: An instance of pipeline.DataPipeline - that runs\n        the data pipeline for the monomer AlphaFold system.\n      jackhmmer_binary_path: Location of the jackhmmer binary.\n      uniprot_database_path: Location of the unclustered uniprot sequences, that\n        will be searched with jackhmmer and used for MSA pairing.\n      max_uniprot_hits: The maximum number of hits to return from uniprot.\n      use_precomputed_msas: Whether to use pre-existing MSAs; see run_alphafold.\n      jackhmmer_n_cpu: Number of CPUs to use for Jackhmmer.\n    \"\"\"\n    self._monomer_data_pipeline = monomer_data_pipeline\n    self._uniprot_msa_runner = jackhmmer.Jackhmmer(\n        binary_path=jackhmmer_binary_path,\n        database_path=uniprot_database_path,\n        n_cpu=jackhmmer_n_cpu,\n    )\n    self._max_uniprot_hits = max_uniprot_hits\n    self.use_precomputed_msas = use_precomputed_msas\n\n  def _process_single_chain(\n      self,\n      chain_id: str,\n      sequence: str,\n      description: str,\n      msa_output_dir: str,\n      is_homomer_or_monomer: bool,\n  ) -> pipeline.FeatureDict:\n    \"\"\"Runs the monomer pipeline on a single chain.\"\"\"\n    chain_fasta_str = f'>chain_{chain_id}\\n{sequence}\\n'\n    chain_msa_output_dir = os.path.join(msa_output_dir, chain_id)\n    if not os.path.exists(chain_msa_output_dir):\n      os.makedirs(chain_msa_output_dir)\n    with temp_fasta_file(chain_fasta_str) as chain_fasta_path:\n      logging.info(\n          'Running monomer pipeline on chain %s: %s', chain_id, description\n      )\n      chain_features = self._monomer_data_pipeline.process(\n          input_fasta_path=chain_fasta_path, msa_output_dir=chain_msa_output_dir\n      )\n\n      # We only construct the pairing features if there are 2 or more unique\n      # sequences.\n      if not is_homomer_or_monomer:\n        all_seq_msa_features = self._all_seq_msa_features(\n            chain_fasta_path, chain_msa_output_dir\n        )\n        chain_features.update(all_seq_msa_features)\n    return chain_features\n\n  def _all_seq_msa_features(self, input_fasta_path, msa_output_dir):\n    \"\"\"Get MSA features for unclustered uniprot, for pairing.\"\"\"\n    out_path = os.path.join(msa_output_dir, 'uniprot_hits.sto')\n    result = pipeline.run_msa_tool(\n        self._uniprot_msa_runner,\n        input_fasta_path,\n        out_path,\n        'sto',\n        self.use_precomputed_msas,\n    )\n    msa = parsers.parse_stockholm(result['sto'])\n    msa = msa.truncate(max_seqs=self._max_uniprot_hits)\n    all_seq_features = pipeline.make_msa_features([msa])\n    valid_feats = msa_pairing.MSA_FEATURES + ('msa_species_identifiers',)\n    feats = {\n        f'{k}_all_seq': v\n        for k, v in all_seq_features.items()\n        if k in valid_feats\n    }\n    return feats\n\n  def process(\n      self, input_fasta_path: str, msa_output_dir: str\n  ) -> pipeline.FeatureDict:\n    \"\"\"Runs alignment tools on the input sequences and creates features.\"\"\"\n    with open(input_fasta_path) as f:\n      input_fasta_str = f.read()\n    input_seqs, input_descs = parsers.parse_fasta(input_fasta_str)\n\n    chain_id_map = _make_chain_id_map(\n        sequences=input_seqs, descriptions=input_descs\n    )\n    chain_id_map_path = os.path.join(msa_output_dir, 'chain_id_map.json')\n    with open(chain_id_map_path, 'w') as f:\n      chain_id_map_dict = {\n          chain_id: dataclasses.asdict(fasta_chain)\n          for chain_id, fasta_chain in chain_id_map.items()\n      }\n      json.dump(chain_id_map_dict, f, indent=4, sort_keys=True)\n\n    all_chain_features = {}\n    sequence_features = {}\n    is_homomer_or_monomer = len(set(input_seqs)) == 1\n    for chain_id, fasta_chain in chain_id_map.items():\n      if fasta_chain.sequence in sequence_features:\n        all_chain_features[chain_id] = copy.deepcopy(\n            sequence_features[fasta_chain.sequence]\n        )\n        continue\n      chain_features = self._process_single_chain(\n          chain_id=chain_id,\n          sequence=fasta_chain.sequence,\n          description=fasta_chain.description,\n          msa_output_dir=msa_output_dir,\n          is_homomer_or_monomer=is_homomer_or_monomer,\n      )\n\n      chain_features = convert_monomer_features(\n          chain_features, chain_id=chain_id\n      )\n      all_chain_features[chain_id] = chain_features\n      sequence_features[fasta_chain.sequence] = chain_features\n\n    all_chain_features = add_assembly_features(all_chain_features)\n\n    np_example = feature_processing.pair_and_merge(\n        all_chain_features=all_chain_features\n    )\n\n    # Pad MSA to avoid zero-sized extra_msa.\n    np_example = pad_msa(np_example, 512)\n\n    return np_example\n"
  },
  {
    "path": "alphafold/data/templates.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Functions for getting templates and calculating template features.\"\"\"\nimport abc\nimport dataclasses\nimport datetime\nimport functools\nimport glob\nimport os\nimport re\nfrom typing import Any, Dict, Mapping, Optional, Sequence, Tuple\n\nfrom absl import logging\nfrom alphafold.common import residue_constants\nfrom alphafold.data import mmcif_parsing\nfrom alphafold.data import parsers\nfrom alphafold.data.tools import kalign\nimport numpy as np\n\n# Internal import (7716).\n\n\nclass Error(Exception):\n  \"\"\"Base class for exceptions.\"\"\"\n\n\nclass NoChainsError(Error):\n  \"\"\"An error indicating that template mmCIF didn't have any chains.\"\"\"\n\n\nclass SequenceNotInTemplateError(Error):\n  \"\"\"An error indicating that template mmCIF didn't contain the sequence.\"\"\"\n\n\nclass NoAtomDataInTemplateError(Error):\n  \"\"\"An error indicating that template mmCIF didn't contain atom positions.\"\"\"\n\n\nclass TemplateAtomMaskAllZerosError(Error):\n  \"\"\"An error indicating that template mmCIF had all atom positions masked.\"\"\"\n\n\nclass QueryToTemplateAlignError(Error):\n  \"\"\"An error indicating that the query can't be aligned to the template.\"\"\"\n\n\nclass CaDistanceError(Error):\n  \"\"\"An error indicating that a CA atom distance exceeds a threshold.\"\"\"\n\n\nclass MultipleChainsError(Error):\n  \"\"\"An error indicating that multiple chains were found for a given ID.\"\"\"\n\n\n# Prefilter exceptions.\nclass PrefilterError(Exception):\n  \"\"\"A base class for template prefilter exceptions.\"\"\"\n\n\nclass DateError(PrefilterError):\n  \"\"\"An error indicating that the hit date was after the max allowed date.\"\"\"\n\n\nclass AlignRatioError(PrefilterError):\n  \"\"\"An error indicating that the hit align ratio to the query was too small.\"\"\"\n\n\nclass DuplicateError(PrefilterError):\n  \"\"\"An error indicating that the hit was an exact subsequence of the query.\"\"\"\n\n\nclass LengthError(PrefilterError):\n  \"\"\"An error indicating that the hit was too short.\"\"\"\n\n\nTEMPLATE_FEATURES = {\n    'template_aatype': np.float32,\n    'template_all_atom_masks': np.float32,\n    'template_all_atom_positions': np.float32,\n    'template_domain_names': object,\n    'template_sequence': object,\n    'template_sum_probs': np.float32,\n}\n\n\ndef _get_pdb_id_and_chain(hit: parsers.TemplateHit) -> Tuple[str, str]:\n  \"\"\"Returns PDB id and chain id for an HHSearch Hit.\"\"\"\n  # PDB ID: 4 letters. Chain ID: 1+ alphanumeric letters or \".\" if unknown.\n  id_match = re.match(r'[a-zA-Z\\d]{4}_[a-zA-Z0-9.]+', hit.name)\n  if not id_match:\n    raise ValueError(f'hit.name did not start with PDBID_chain: {hit.name}')\n  pdb_id, chain_id = id_match.group(0).split('_')\n  return pdb_id.lower(), chain_id\n\n\ndef _is_after_cutoff(\n    pdb_id: str,\n    release_dates: Mapping[str, datetime.datetime],\n    release_date_cutoff: Optional[datetime.datetime],\n) -> bool:\n  \"\"\"Checks if the template date is after the release date cutoff.\n\n  Args:\n    pdb_id: 4 letter pdb code.\n    release_dates: Dictionary mapping PDB ids to their structure release dates.\n    release_date_cutoff: Max release date that is valid for this query.\n\n  Returns:\n    True if the template release date is after the cutoff, False otherwise.\n  \"\"\"\n  if release_date_cutoff is None:\n    raise ValueError('The release_date_cutoff must not be None.')\n  if pdb_id in release_dates:\n    return release_dates[pdb_id] > release_date_cutoff\n  else:\n    # Since this is just a quick prefilter to reduce the number of mmCIF files\n    # we need to parse, we don't have to worry about returning True here.\n    return False\n\n\ndef _parse_obsolete(obsolete_file_path: str) -> Mapping[str, Optional[str]]:\n  \"\"\"Parses the data file from PDB that lists which pdb_ids are obsolete.\"\"\"\n  with open(obsolete_file_path) as f:\n    result = {}\n    for line in f:\n      line = line.strip()\n      # Format:    Date      From     To\n      # 'OBSLTE    06-NOV-19 6G9Y'                - Removed, rare\n      # 'OBSLTE    31-JUL-94 116L     216L'       - Replaced, common\n      # 'OBSLTE    26-SEP-06 2H33     2JM5 2OWI'  - Replaced by multiple, rare\n      if line.startswith('OBSLTE'):\n        if len(line) > 30:\n          # Replaced by at least one structure.\n          from_id = line[20:24].lower()\n          to_id = line[29:33].lower()\n          result[from_id] = to_id\n        elif len(line) == 24:\n          # Removed.\n          from_id = line[20:24].lower()\n          result[from_id] = None\n    return result\n\n\ndef _parse_release_dates(path: str) -> Mapping[str, datetime.datetime]:\n  \"\"\"Parses release dates file, returns a mapping from PDBs to release dates.\"\"\"\n  if path.endswith('txt'):\n    release_dates = {}\n    with open(path, 'r') as f:\n      for line in f:\n        pdb_id, date = line.split(':')\n        date = date.strip()\n        # Python 3.6 doesn't have datetime.date.fromisoformat() which is about\n        # 90x faster than strptime. However, splitting the string manually is\n        # about 10x faster than strptime.\n        release_dates[pdb_id.strip()] = datetime.datetime(\n            year=int(date[:4]), month=int(date[5:7]), day=int(date[8:10])\n        )\n    return release_dates\n  else:\n    raise ValueError('Invalid format of the release date file %s.' % path)\n\n\ndef _assess_hhsearch_hit(\n    hit: parsers.TemplateHit,\n    hit_pdb_code: str,\n    query_sequence: str,\n    release_dates: Mapping[str, datetime.datetime],\n    release_date_cutoff: datetime.datetime,\n    max_subsequence_ratio: float = 0.95,\n    min_align_ratio: float = 0.1,\n) -> bool:\n  \"\"\"Determines if template is valid (without parsing the template mmcif file).\n\n  Args:\n    hit: HhrHit for the template.\n    hit_pdb_code: The 4 letter pdb code of the template hit. This might be\n      different from the value in the actual hit since the original pdb might\n      have become obsolete.\n    query_sequence: Amino acid sequence of the query.\n    release_dates: Dictionary mapping pdb codes to their structure release\n      dates.\n    release_date_cutoff: Max release date that is valid for this query.\n    max_subsequence_ratio: Exclude any exact matches with this much overlap.\n    min_align_ratio: Minimum overlap between the template and query.\n\n  Returns:\n    True if the hit passed the prefilter. Raises an exception otherwise.\n\n  Raises:\n    DateError: If the hit date was after the max allowed date.\n    AlignRatioError: If the hit align ratio to the query was too small.\n    DuplicateError: If the hit was an exact subsequence of the query.\n    LengthError: If the hit was too short.\n  \"\"\"\n  aligned_cols = hit.aligned_cols\n  align_ratio = aligned_cols / len(query_sequence)\n\n  template_sequence = hit.hit_sequence.replace('-', '')\n  length_ratio = float(len(template_sequence)) / len(query_sequence)\n\n  # Check whether the template is a large subsequence or duplicate of original\n  # query. This can happen due to duplicate entries in the PDB database.\n  duplicate = (\n      template_sequence in query_sequence\n      and length_ratio > max_subsequence_ratio\n  )\n\n  if _is_after_cutoff(hit_pdb_code, release_dates, release_date_cutoff):\n    raise DateError(\n        f'Date ({release_dates[hit_pdb_code]}) > max template date '\n        f'({release_date_cutoff}).'\n    )\n\n  if align_ratio <= min_align_ratio:\n    raise AlignRatioError(\n        'Proportion of residues aligned to query too small. '\n        f'Align ratio: {align_ratio}.'\n    )\n\n  if duplicate:\n    raise DuplicateError(\n        'Template is an exact subsequence of query with large '\n        f'coverage. Length ratio: {length_ratio}.'\n    )\n\n  if len(template_sequence) < 10:\n    raise LengthError(f'Template too short. Length: {len(template_sequence)}.')\n\n  return True\n\n\ndef _find_template_in_pdb(\n    template_chain_id: str,\n    template_sequence: str,\n    mmcif_object: mmcif_parsing.MmcifObject,\n) -> Tuple[str, str, int]:\n  \"\"\"Tries to find the template chain in the given pdb file.\n\n  This method tries the three following things in order:\n    1. Tries if there is an exact match in both the chain ID and the sequence.\n       If yes, the chain sequence is returned. Otherwise:\n    2. Tries if there is an exact match only in the sequence.\n       If yes, the chain sequence is returned. Otherwise:\n    3. Tries if there is a fuzzy match (X = wildcard) in the sequence.\n       If yes, the chain sequence is returned.\n  If none of these succeed, a SequenceNotInTemplateError is thrown.\n\n  Args:\n    template_chain_id: The template chain ID.\n    template_sequence: The template chain sequence.\n    mmcif_object: The PDB object to search for the template in.\n\n  Returns:\n    A tuple with:\n    * The chain sequence that was found to match the template in the PDB object.\n    * The ID of the chain that is being returned.\n    * The offset where the template sequence starts in the chain sequence.\n\n  Raises:\n    SequenceNotInTemplateError: If no match is found after the steps described\n      above.\n  \"\"\"\n  # Try if there is an exact match in both the chain ID and the (sub)sequence.\n  pdb_id = mmcif_object.file_id\n  chain_sequence = mmcif_object.chain_to_seqres.get(template_chain_id)\n  if chain_sequence and (template_sequence in chain_sequence):\n    logging.info(\n        'Found an exact template match %s_%s.', pdb_id, template_chain_id\n    )\n    mapping_offset = chain_sequence.find(template_sequence)\n    return chain_sequence, template_chain_id, mapping_offset\n\n  # Try if there is an exact match in the (sub)sequence only.\n  for chain_id, chain_sequence in mmcif_object.chain_to_seqres.items():\n    if chain_sequence and (template_sequence in chain_sequence):\n      logging.info('Found a sequence-only match %s_%s.', pdb_id, chain_id)\n      mapping_offset = chain_sequence.find(template_sequence)\n      return chain_sequence, chain_id, mapping_offset\n\n  # Return a chain sequence that fuzzy matches (X = wildcard) the template.\n  # Make parentheses unnamed groups (?:_) to avoid the 100 named groups limit.\n  regex = ['.' if aa == 'X' else '(?:%s|X)' % aa for aa in template_sequence]\n  regex = re.compile(''.join(regex))\n  for chain_id, chain_sequence in mmcif_object.chain_to_seqres.items():\n    match = re.search(regex, chain_sequence)\n    if match:\n      logging.info('Found a fuzzy sequence-only match %s_%s.', pdb_id, chain_id)\n      mapping_offset = match.start()\n      return chain_sequence, chain_id, mapping_offset\n\n  # No hits, raise an error.\n  raise SequenceNotInTemplateError(\n      'Could not find the template sequence in %s_%s. Template sequence: %s, '\n      'chain_to_seqres: %s'\n      % (\n          pdb_id,\n          template_chain_id,\n          template_sequence,\n          mmcif_object.chain_to_seqres,\n      )\n  )\n\n\ndef _realign_pdb_template_to_query(\n    old_template_sequence: str,\n    template_chain_id: str,\n    mmcif_object: mmcif_parsing.MmcifObject,\n    old_mapping: Mapping[int, int],\n    kalign_binary_path: str,\n) -> Tuple[str, Mapping[int, int]]:\n  \"\"\"Aligns template from the mmcif_object to the query.\n\n  In case PDB70 contains a different version of the template sequence, we need\n  to perform a realignment to the actual sequence that is in the mmCIF file.\n  This method performs such realignment, but returns the new sequence and\n  mapping only if the sequence in the mmCIF file is 90% identical to the old\n  sequence.\n\n  Note that the old_template_sequence comes from the hit, and contains only that\n  part of the chain that matches with the query while the new_template_sequence\n  is the full chain.\n\n  Args:\n    old_template_sequence: The template sequence that was returned by the PDB\n      template search (typically done using HHSearch).\n    template_chain_id: The template chain id was returned by the PDB template\n      search (typically done using HHSearch). This is used to find the right\n      chain in the mmcif_object chain_to_seqres mapping.\n    mmcif_object: A mmcif_object which holds the actual template data.\n    old_mapping: A mapping from the query sequence to the template sequence.\n      This mapping will be used to compute the new mapping from the query\n      sequence to the actual mmcif_object template sequence by aligning the\n      old_template_sequence and the actual template sequence.\n    kalign_binary_path: The path to a kalign executable.\n\n  Returns:\n    A tuple (new_template_sequence, new_query_to_template_mapping) where:\n    * new_template_sequence is the actual template sequence that was found in\n      the mmcif_object.\n    * new_query_to_template_mapping is the new mapping from the query to the\n      actual template found in the mmcif_object.\n\n  Raises:\n    QueryToTemplateAlignError:\n    * If there was an error thrown by the alignment tool.\n    * Or if the actual template sequence differs by more than 10% from the\n      old_template_sequence.\n  \"\"\"\n  aligner = kalign.Kalign(binary_path=kalign_binary_path)\n  new_template_sequence = mmcif_object.chain_to_seqres.get(\n      template_chain_id, ''\n  )\n\n  # Sometimes the template chain id is unknown. But if there is only a single\n  # sequence within the mmcif_object, it is safe to assume it is that one.\n  if not new_template_sequence:\n    if len(mmcif_object.chain_to_seqres) == 1:\n      logging.info(\n          'Could not find %s in %s, but there is only 1 sequence, so '\n          'using that one.',\n          template_chain_id,\n          mmcif_object.file_id,\n      )\n      new_template_sequence = list(mmcif_object.chain_to_seqres.values())[0]\n    else:\n      raise QueryToTemplateAlignError(\n          f'Could not find chain {template_chain_id} in {mmcif_object.file_id}.'\n          ' If there are no mmCIF parsing errors, it is possible it was not a'\n          ' protein chain.'\n      )\n\n  try:\n    parsed_a3m = parsers.parse_a3m(\n        aligner.align([old_template_sequence, new_template_sequence])\n    )\n    old_aligned_template, new_aligned_template = parsed_a3m.sequences\n  except Exception as e:\n    raise QueryToTemplateAlignError(\n        'Could not align old template %s to template %s (%s_%s). Error: %s'\n        % (\n            old_template_sequence,\n            new_template_sequence,\n            mmcif_object.file_id,\n            template_chain_id,\n            str(e),\n        )\n    ) from e\n\n  logging.info(\n      'Old aligned template: %s\\nNew aligned template: %s',\n      old_aligned_template,\n      new_aligned_template,\n  )\n\n  old_to_new_template_mapping = {}\n  old_template_index = -1\n  new_template_index = -1\n  num_same = 0\n  for old_template_aa, new_template_aa in zip(\n      old_aligned_template, new_aligned_template\n  ):\n    if old_template_aa != '-':\n      old_template_index += 1\n    if new_template_aa != '-':\n      new_template_index += 1\n    if old_template_aa != '-' and new_template_aa != '-':\n      old_to_new_template_mapping[old_template_index] = new_template_index\n      if old_template_aa == new_template_aa:\n        num_same += 1\n\n  # Require at least 90 % sequence identity wrt to the shorter of the sequences.\n  if (\n      float(num_same)\n      / min(len(old_template_sequence), len(new_template_sequence))\n      < 0.9\n  ):\n    raise QueryToTemplateAlignError(\n        'Insufficient similarity of the sequence in the database: %s to the '\n        'actual sequence in the mmCIF file %s_%s: %s. We require at least '\n        '90 %% similarity wrt to the shorter of the sequences. This is not a '\n        'problem unless you think this is a template that should be included.'\n        % (\n            old_template_sequence,\n            mmcif_object.file_id,\n            template_chain_id,\n            new_template_sequence,\n        )\n    )\n\n  new_query_to_template_mapping = {}\n  for query_index, old_template_index in old_mapping.items():\n    new_query_to_template_mapping[query_index] = (\n        old_to_new_template_mapping.get(old_template_index, -1)\n    )\n\n  new_template_sequence = new_template_sequence.replace('-', '')\n\n  return new_template_sequence, new_query_to_template_mapping\n\n\ndef _check_residue_distances(\n    all_positions: np.ndarray,\n    all_positions_mask: np.ndarray,\n    max_ca_ca_distance: float,\n):\n  \"\"\"Checks if the distance between unmasked neighbor residues is ok.\"\"\"\n  ca_position = residue_constants.atom_order['CA']\n  prev_is_unmasked = False\n  prev_calpha = None\n  for i, (coords, mask) in enumerate(zip(all_positions, all_positions_mask)):\n    this_is_unmasked = bool(mask[ca_position])\n    if this_is_unmasked:\n      this_calpha = coords[ca_position]\n      if prev_is_unmasked:\n        distance = np.linalg.norm(this_calpha - prev_calpha)\n        if distance > max_ca_ca_distance:\n          raise CaDistanceError(\n              'The distance between residues %d and %d is %f > limit %f.'\n              % (i, i + 1, distance, max_ca_ca_distance)\n          )\n      prev_calpha = this_calpha\n    prev_is_unmasked = this_is_unmasked\n\n\ndef _get_atom_positions(\n    mmcif_object: mmcif_parsing.MmcifObject,\n    auth_chain_id: str,\n    max_ca_ca_distance: float,\n) -> Tuple[np.ndarray, np.ndarray]:\n  \"\"\"Gets atom positions and mask from a list of Biopython Residues.\"\"\"\n  num_res = len(mmcif_object.chain_to_seqres[auth_chain_id])\n\n  relevant_chains = [\n      c for c in mmcif_object.structure.get_chains() if c.id == auth_chain_id\n  ]\n  if len(relevant_chains) != 1:\n    raise MultipleChainsError(\n        f'Expected exactly one chain in structure with id {auth_chain_id}.'\n    )\n  chain = relevant_chains[0]\n\n  all_positions = np.zeros([num_res, residue_constants.atom_type_num, 3])\n  all_positions_mask = np.zeros(\n      [num_res, residue_constants.atom_type_num], dtype=np.int64\n  )\n  for res_index in range(num_res):\n    pos = np.zeros([residue_constants.atom_type_num, 3], dtype=np.float32)\n    mask = np.zeros([residue_constants.atom_type_num], dtype=np.float32)\n    res_at_position = mmcif_object.seqres_to_structure[auth_chain_id][res_index]\n    if not res_at_position.is_missing:\n      assert res_at_position.position is not None\n      res = chain[(\n          res_at_position.hetflag,\n          res_at_position.position.residue_number,\n          res_at_position.position.insertion_code,\n      )]\n      for atom in res.get_atoms():\n        atom_name = atom.get_name()\n        x, y, z = atom.get_coord()\n        if atom_name in residue_constants.atom_order.keys():\n          pos[residue_constants.atom_order[atom_name]] = [x, y, z]\n          mask[residue_constants.atom_order[atom_name]] = 1.0\n        elif atom_name.upper() == 'SE' and res.get_resname() == 'MSE':\n          # Put the coordinates of the selenium atom in the sulphur column.\n          pos[residue_constants.atom_order['SD']] = [x, y, z]\n          mask[residue_constants.atom_order['SD']] = 1.0\n\n      # Fix naming errors in arginine residues where NH2 is incorrectly\n      # assigned to be closer to CD than NH1.\n      cd = residue_constants.atom_order['CD']\n      nh1 = residue_constants.atom_order['NH1']\n      nh2 = residue_constants.atom_order['NH2']\n      if (\n          res.get_resname() == 'ARG'\n          and all(mask[atom_index] for atom_index in (cd, nh1, nh2))\n          and (\n              np.linalg.norm(pos[nh1] - pos[cd])\n              > np.linalg.norm(pos[nh2] - pos[cd])\n          )\n      ):\n        pos[nh1], pos[nh2] = pos[nh2].copy(), pos[nh1].copy()\n        mask[nh1], mask[nh2] = mask[nh2].copy(), mask[nh1].copy()\n\n    all_positions[res_index] = pos\n    all_positions_mask[res_index] = mask\n  _check_residue_distances(\n      all_positions, all_positions_mask, max_ca_ca_distance\n  )\n  return all_positions, all_positions_mask\n\n\ndef _extract_template_features(\n    mmcif_object: mmcif_parsing.MmcifObject,\n    pdb_id: str,\n    mapping: Mapping[int, int],\n    template_sequence: str,\n    query_sequence: str,\n    template_chain_id: str,\n    kalign_binary_path: str,\n) -> Tuple[Dict[str, Any], Optional[str]]:\n  \"\"\"Parses atom positions in the target structure and aligns with the query.\n\n  Atoms for each residue in the template structure are indexed to coincide\n  with their corresponding residue in the query sequence, according to the\n  alignment mapping provided.\n\n  Args:\n    mmcif_object: mmcif_parsing.MmcifObject representing the template.\n    pdb_id: PDB code for the template.\n    mapping: Dictionary mapping indices in the query sequence to indices in the\n      template sequence.\n    template_sequence: String describing the amino acid sequence for the\n      template protein.\n    query_sequence: String describing the amino acid sequence for the query\n      protein.\n    template_chain_id: String ID describing which chain in the structure proto\n      should be used.\n    kalign_binary_path: The path to a kalign executable used for template\n      realignment.\n\n  Returns:\n    A tuple with:\n    * A dictionary containing the extra features derived from the template\n      protein structure.\n    * A warning message if the hit was realigned to the actual mmCIF sequence.\n      Otherwise None.\n\n  Raises:\n    NoChainsError: If the mmcif object doesn't contain any chains.\n    SequenceNotInTemplateError: If the given chain id / sequence can't\n      be found in the mmcif object.\n    QueryToTemplateAlignError: If the actual template in the mmCIF file\n      can't be aligned to the query.\n    NoAtomDataInTemplateError: If the mmcif object doesn't contain\n      atom positions.\n    TemplateAtomMaskAllZerosError: If the mmcif object doesn't have any\n      unmasked residues.\n  \"\"\"\n  if mmcif_object is None or not mmcif_object.chain_to_seqres:\n    raise NoChainsError('No chains in PDB: %s_%s' % (pdb_id, template_chain_id))\n\n  warning = None\n  try:\n    _, chain_id, mapping_offset = _find_template_in_pdb(\n        template_chain_id=template_chain_id,\n        template_sequence=template_sequence,\n        mmcif_object=mmcif_object,\n    )\n  except SequenceNotInTemplateError:\n    # If PDB70 contains a different version of the template, we use the sequence\n    # from the mmcif_object.\n    chain_id = template_chain_id\n    warning = (\n        f'The exact sequence {template_sequence} was not found in '\n        f'{pdb_id}_{chain_id}. Realigning the template to the actual sequence.'\n    )\n    logging.warning(warning)\n    # This throws an exception if it fails to realign the hit.\n    seqres, mapping = _realign_pdb_template_to_query(\n        old_template_sequence=template_sequence,\n        template_chain_id=template_chain_id,\n        mmcif_object=mmcif_object,\n        old_mapping=mapping,\n        kalign_binary_path=kalign_binary_path,\n    )\n    logging.info(\n        'Sequence in %s_%s: %s successfully realigned to %s',\n        pdb_id,\n        chain_id,\n        template_sequence,\n        seqres,\n    )\n    # The template sequence changed.\n    template_sequence = seqres\n    # No mapping offset, the query is aligned to the actual sequence.\n    mapping_offset = 0\n\n  try:\n    # Essentially set to infinity - we don't want to reject templates unless\n    # they're really really bad.\n    all_atom_positions, all_atom_mask = _get_atom_positions(\n        mmcif_object, chain_id, max_ca_ca_distance=150.0\n    )\n  except (CaDistanceError, KeyError) as ex:\n    raise NoAtomDataInTemplateError(\n        'Could not get atom data (%s_%s): %s' % (pdb_id, chain_id, str(ex))\n    ) from ex\n\n  all_atom_positions = np.split(all_atom_positions, all_atom_positions.shape[0])\n  all_atom_masks = np.split(all_atom_mask, all_atom_mask.shape[0])\n\n  output_templates_sequence = []\n  templates_all_atom_positions = []\n  templates_all_atom_masks = []\n\n  for _ in query_sequence:\n    # Residues in the query_sequence that are not in the template_sequence:\n    templates_all_atom_positions.append(\n        np.zeros((residue_constants.atom_type_num, 3))\n    )\n    templates_all_atom_masks.append(np.zeros(residue_constants.atom_type_num))\n    output_templates_sequence.append('-')\n\n  for k, v in mapping.items():\n    template_index = v + mapping_offset\n    templates_all_atom_positions[k] = all_atom_positions[template_index][0]\n    templates_all_atom_masks[k] = all_atom_masks[template_index][0]\n    output_templates_sequence[k] = template_sequence[v]\n\n  # Alanine (AA with the lowest number of atoms) has 5 atoms (C, CA, CB, N, O).\n  if np.sum(templates_all_atom_masks) < 5:\n    raise TemplateAtomMaskAllZerosError(\n        'Template all atom mask was all zeros: %s_%s. Residue range: %d-%d'\n        % (\n            pdb_id,\n            chain_id,\n            min(mapping.values()) + mapping_offset,\n            max(mapping.values()) + mapping_offset,\n        )\n    )\n\n  output_templates_sequence = ''.join(output_templates_sequence)\n\n  templates_aatype = residue_constants.sequence_to_onehot(\n      output_templates_sequence, residue_constants.HHBLITS_AA_TO_ID\n  )\n\n  return (\n      {\n          'template_all_atom_positions': np.array(templates_all_atom_positions),\n          'template_all_atom_masks': np.array(templates_all_atom_masks),\n          'template_sequence': output_templates_sequence.encode(),\n          'template_aatype': np.array(templates_aatype),\n          'template_domain_names': f'{pdb_id.lower()}_{chain_id}'.encode(),\n      },\n      warning,\n  )\n\n\ndef _build_query_to_hit_index_mapping(\n    hit_query_sequence: str,\n    hit_sequence: str,\n    indices_hit: Sequence[int],\n    indices_query: Sequence[int],\n    original_query_sequence: str,\n) -> Mapping[int, int]:\n  \"\"\"Gets mapping from indices in original query sequence to indices in the hit.\n\n  hit_query_sequence and hit_sequence are two aligned sequences containing gap\n  characters. hit_query_sequence contains only the part of the original query\n  sequence that matched the hit. When interpreting the indices from the .hhr, we\n  need to correct for this to recover a mapping from original query sequence to\n  the hit sequence.\n\n  Args:\n    hit_query_sequence: The portion of the query sequence that is in the .hhr\n      hit\n    hit_sequence: The portion of the hit sequence that is in the .hhr\n    indices_hit: The indices for each aminoacid relative to the hit sequence\n    indices_query: The indices for each aminoacid relative to the original query\n      sequence\n    original_query_sequence: String describing the original query sequence.\n\n  Returns:\n    Dictionary with indices in the original query sequence as keys and indices\n    in the hit sequence as values.\n  \"\"\"\n  # If the hit is empty (no aligned residues), return empty mapping\n  if not hit_query_sequence:\n    return {}\n\n  # Remove gaps and find the offset of hit.query relative to original query.\n  hhsearch_query_sequence = hit_query_sequence.replace('-', '')\n  hit_sequence = hit_sequence.replace('-', '')\n  hhsearch_query_offset = original_query_sequence.find(hhsearch_query_sequence)\n\n  # Index of -1 used for gap characters. Subtract the min index ignoring gaps.\n  min_idx = min(x for x in indices_hit if x > -1)\n  fixed_indices_hit = [x - min_idx if x > -1 else -1 for x in indices_hit]\n\n  min_idx = min(x for x in indices_query if x > -1)\n  fixed_indices_query = [x - min_idx if x > -1 else -1 for x in indices_query]\n\n  # Zip the corrected indices, ignore case where both seqs have gap characters.\n  mapping = {}\n  for q_i, q_t in zip(fixed_indices_query, fixed_indices_hit):\n    if q_t != -1 and q_i != -1:\n      if q_t >= len(hit_sequence) or q_i + hhsearch_query_offset >= len(\n          original_query_sequence\n      ):\n        continue\n      mapping[q_i + hhsearch_query_offset] = q_t\n\n  return mapping\n\n\n@dataclasses.dataclass(frozen=True)\nclass SingleHitResult:\n  features: Optional[Mapping[str, Any]]\n  error: Optional[str]\n  warning: Optional[str]\n\n\n@functools.lru_cache(16, typed=False)\ndef _read_file(path):\n  with open(path, 'r') as f:\n    file_data = f.read()\n  return file_data\n\n\ndef _process_single_hit(\n    query_sequence: str,\n    hit: parsers.TemplateHit,\n    mmcif_dir: str,\n    max_template_date: datetime.datetime,\n    release_dates: Mapping[str, datetime.datetime],\n    obsolete_pdbs: Mapping[str, Optional[str]],\n    kalign_binary_path: str,\n    strict_error_check: bool = False,\n) -> SingleHitResult:\n  \"\"\"Tries to extract template features from a single HHSearch hit.\"\"\"\n  # Fail hard if we can't get the PDB ID and chain name from the hit.\n  hit_pdb_code, hit_chain_id = _get_pdb_id_and_chain(hit)\n\n  # This hit has been removed (obsoleted) from PDB, skip it.\n  if hit_pdb_code in obsolete_pdbs and obsolete_pdbs[hit_pdb_code] is None:\n    return SingleHitResult(\n        features=None, error=None, warning=f'Hit {hit_pdb_code} is obsolete.'\n    )\n\n  if hit_pdb_code not in release_dates:\n    if hit_pdb_code in obsolete_pdbs:\n      hit_pdb_code = obsolete_pdbs[hit_pdb_code]\n\n  # Pass hit_pdb_code since it might have changed due to the pdb being obsolete.\n  try:\n    _assess_hhsearch_hit(\n        hit=hit,\n        hit_pdb_code=hit_pdb_code,\n        query_sequence=query_sequence,\n        release_dates=release_dates,\n        release_date_cutoff=max_template_date,\n    )\n  except PrefilterError as e:\n    msg = f'hit {hit_pdb_code}_{hit_chain_id} did not pass prefilter: {str(e)}'\n    logging.info(msg)\n    if strict_error_check and isinstance(e, (DateError, DuplicateError)):\n      # In strict mode we treat some prefilter cases as errors.\n      return SingleHitResult(features=None, error=msg, warning=None)\n\n    return SingleHitResult(features=None, error=None, warning=None)\n\n  mapping = _build_query_to_hit_index_mapping(\n      hit.query,\n      hit.hit_sequence,\n      hit.indices_hit,\n      hit.indices_query,\n      query_sequence,\n  )\n\n  # The mapping is from the query to the actual hit sequence, so we need to\n  # remove gaps (which regardless have a missing confidence score).\n  template_sequence = hit.hit_sequence.replace('-', '')\n\n  cif_path = os.path.join(mmcif_dir, hit_pdb_code + '.cif')\n  logging.debug(\n      'Reading PDB entry from %s. Query: %s, template: %s',\n      cif_path,\n      query_sequence,\n      template_sequence,\n  )\n  # Fail if we can't find the mmCIF file.\n  cif_string = _read_file(cif_path)\n\n  parsing_result = mmcif_parsing.parse(\n      file_id=hit_pdb_code, mmcif_string=cif_string\n  )\n\n  if parsing_result.mmcif_object is not None:\n    hit_release_date = datetime.datetime.strptime(\n        parsing_result.mmcif_object.header['release_date'], '%Y-%m-%d'\n    )\n    if hit_release_date > max_template_date:\n      error = 'Template %s date (%s) > max template date (%s).' % (\n          hit_pdb_code,\n          hit_release_date,\n          max_template_date,\n      )\n      if strict_error_check:\n        return SingleHitResult(features=None, error=error, warning=None)\n      else:\n        logging.debug(error)\n        return SingleHitResult(features=None, error=None, warning=None)\n\n  try:\n    features, realign_warning = _extract_template_features(\n        mmcif_object=parsing_result.mmcif_object,\n        pdb_id=hit_pdb_code,\n        mapping=mapping,\n        template_sequence=template_sequence,\n        query_sequence=query_sequence,\n        template_chain_id=hit_chain_id,\n        kalign_binary_path=kalign_binary_path,\n    )\n    if hit.sum_probs is None:\n      features['template_sum_probs'] = [0]\n    else:\n      features['template_sum_probs'] = [hit.sum_probs]\n\n    # It is possible there were some errors when parsing the other chains in the\n    # mmCIF file, but the template features for the chain we want were still\n    # computed. In such case the mmCIF parsing errors are not relevant.\n    return SingleHitResult(\n        features=features, error=None, warning=realign_warning\n    )\n  except (\n      NoChainsError,\n      NoAtomDataInTemplateError,\n      TemplateAtomMaskAllZerosError,\n  ) as e:\n    # These 3 errors indicate missing mmCIF experimental data rather than a\n    # problem with the template search, so turn them into warnings.\n    warning = (\n        '%s_%s (sum_probs: %s, rank: %s): feature extracting errors: '\n        '%s, mmCIF parsing errors: %s'\n        % (\n            hit_pdb_code,\n            hit_chain_id,\n            hit.sum_probs,\n            hit.index,\n            str(e),\n            parsing_result.errors,\n        )\n    )\n    if strict_error_check:\n      return SingleHitResult(features=None, error=warning, warning=None)\n    else:\n      return SingleHitResult(features=None, error=None, warning=warning)\n  except Error as e:\n    error = (\n        '%s_%s (sum_probs: %.2f, rank: %d): feature extracting errors: '\n        '%s, mmCIF parsing errors: %s'\n        % (\n            hit_pdb_code,\n            hit_chain_id,\n            hit.sum_probs,\n            hit.index,\n            str(e),\n            parsing_result.errors,\n        )\n    )\n    return SingleHitResult(features=None, error=error, warning=None)\n\n\n@dataclasses.dataclass(frozen=True)\nclass TemplateSearchResult:\n  features: Mapping[str, Any]\n  errors: Sequence[str]\n  warnings: Sequence[str]\n\n\nclass TemplateHitFeaturizer(abc.ABC):\n  \"\"\"An abstract base class for turning template hits to template features.\"\"\"\n\n  def __init__(\n      self,\n      mmcif_dir: str,\n      max_template_date: str,\n      max_hits: int,\n      kalign_binary_path: str,\n      release_dates_path: Optional[str],\n      obsolete_pdbs_path: Optional[str],\n      strict_error_check: bool = False,\n  ):\n    \"\"\"Initializes the Template Search.\n\n    Args:\n      mmcif_dir: Path to a directory with mmCIF structures. Once a template ID\n        is found by HHSearch, this directory is used to retrieve the template\n        data.\n      max_template_date: The maximum date permitted for template structures. No\n        template with date higher than this date will be returned. In ISO8601\n        date format, YYYY-MM-DD.\n      max_hits: The maximum number of templates that will be returned.\n      kalign_binary_path: The path to a kalign executable used for template\n        realignment.\n      release_dates_path: An optional path to a file with a mapping from PDB IDs\n        to their release dates. Thanks to this we don't have to redundantly\n        parse mmCIF files to get that information.\n      obsolete_pdbs_path: An optional path to a file containing a mapping from\n        obsolete PDB IDs to the PDB IDs of their replacements.\n      strict_error_check: If True, then the following will be treated as errors:\n        * If any template date is after the max_template_date. * If any template\n        has identical PDB ID to the query. * If any template is a duplicate of\n        the query. * Any feature computation errors.\n    \"\"\"\n    self._mmcif_dir = mmcif_dir\n    if not glob.glob(os.path.join(self._mmcif_dir, '*.cif')):\n      logging.error('Could not find CIFs in %s', self._mmcif_dir)\n      raise ValueError(f'Could not find CIFs in {self._mmcif_dir}')\n\n    try:\n      self._max_template_date = datetime.datetime.strptime(\n          max_template_date, '%Y-%m-%d'\n      )\n    except ValueError as e:\n      raise ValueError(\n          'max_template_date must be set and have format YYYY-MM-DD.'\n      ) from e\n    self._max_hits = max_hits\n    self._kalign_binary_path = kalign_binary_path\n    self._strict_error_check = strict_error_check\n\n    if release_dates_path:\n      logging.info('Using precomputed release dates %s.', release_dates_path)\n      self._release_dates = _parse_release_dates(release_dates_path)\n    else:\n      self._release_dates = {}\n\n    if obsolete_pdbs_path:\n      logging.info('Using precomputed obsolete pdbs %s.', obsolete_pdbs_path)\n      self._obsolete_pdbs = _parse_obsolete(obsolete_pdbs_path)\n    else:\n      self._obsolete_pdbs = {}\n\n  @abc.abstractmethod\n  def get_templates(\n      self, query_sequence: str, hits: Sequence[parsers.TemplateHit]\n  ) -> TemplateSearchResult:\n    \"\"\"Computes the templates for given query sequence.\"\"\"\n\n\nclass HhsearchHitFeaturizer(TemplateHitFeaturizer):\n  \"\"\"A class for turning a3m hits from hhsearch to template features.\"\"\"\n\n  def get_templates(\n      self, query_sequence: str, hits: Sequence[parsers.TemplateHit]\n  ) -> TemplateSearchResult:\n    \"\"\"Computes the templates for given query sequence (more details above).\"\"\"\n    logging.info('Searching for template for: %s', query_sequence)\n\n    template_features = {}\n    for template_feature_name in TEMPLATE_FEATURES:\n      template_features[template_feature_name] = []\n\n    num_hits = 0\n    errors = []\n    warnings = []\n\n    for hit in sorted(hits, key=lambda x: x.sum_probs, reverse=True):\n      # We got all the templates we wanted, stop processing hits.\n      if num_hits >= self._max_hits:\n        break\n\n      result = _process_single_hit(\n          query_sequence=query_sequence,\n          hit=hit,\n          mmcif_dir=self._mmcif_dir,\n          max_template_date=self._max_template_date,\n          release_dates=self._release_dates,\n          obsolete_pdbs=self._obsolete_pdbs,\n          strict_error_check=self._strict_error_check,\n          kalign_binary_path=self._kalign_binary_path,\n      )\n\n      if result.error:\n        errors.append(result.error)\n\n      # There could be an error even if there are some results, e.g. thrown by\n      # other unparsable chains in the same mmCIF file.\n      if result.warning:\n        warnings.append(result.warning)\n\n      if result.features is None:\n        logging.info(\n            'Skipped invalid hit %s, error: %s, warning: %s',\n            hit.name,\n            result.error,\n            result.warning,\n        )\n      else:\n        # Increment the hit counter, since we got features out of this hit.\n        num_hits += 1\n        for k in template_features:\n          template_features[k].append(result.features[k])\n\n    for name in template_features:\n      if num_hits > 0:\n        template_features[name] = np.stack(\n            template_features[name], axis=0\n        ).astype(TEMPLATE_FEATURES[name])\n      else:\n        # Make sure the feature has correct dtype even if empty.\n        template_features[name] = np.array([], dtype=TEMPLATE_FEATURES[name])\n\n    return TemplateSearchResult(\n        features=template_features, errors=errors, warnings=warnings\n    )\n\n\nclass HmmsearchHitFeaturizer(TemplateHitFeaturizer):\n  \"\"\"A class for turning a3m hits from hmmsearch to template features.\"\"\"\n\n  def get_templates(\n      self, query_sequence: str, hits: Sequence[parsers.TemplateHit]\n  ) -> TemplateSearchResult:\n    \"\"\"Computes the templates for given query sequence (more details above).\"\"\"\n    logging.info('Searching for template for: %s', query_sequence)\n\n    template_features = {}\n    for template_feature_name in TEMPLATE_FEATURES:\n      template_features[template_feature_name] = []\n\n    already_seen = set()\n    errors = []\n    warnings = []\n\n    if not hits or hits[0].sum_probs is None:\n      sorted_hits = hits\n    else:\n      sorted_hits = sorted(hits, key=lambda x: x.sum_probs, reverse=True)\n\n    for hit in sorted_hits:\n      # We got all the templates we wanted, stop processing hits.\n      if len(already_seen) >= self._max_hits:\n        break\n\n      result = _process_single_hit(\n          query_sequence=query_sequence,\n          hit=hit,\n          mmcif_dir=self._mmcif_dir,\n          max_template_date=self._max_template_date,\n          release_dates=self._release_dates,\n          obsolete_pdbs=self._obsolete_pdbs,\n          strict_error_check=self._strict_error_check,\n          kalign_binary_path=self._kalign_binary_path,\n      )\n\n      if result.error:\n        errors.append(result.error)\n\n      # There could be an error even if there are some results, e.g. thrown by\n      # other unparsable chains in the same mmCIF file.\n      if result.warning:\n        warnings.append(result.warning)\n\n      if result.features is None:\n        logging.debug(\n            'Skipped invalid hit %s, error: %s, warning: %s',\n            hit.name,\n            result.error,\n            result.warning,\n        )\n      else:\n        already_seen_key = result.features['template_sequence']\n        if already_seen_key in already_seen:\n          continue\n        # Increment the hit counter, since we got features out of this hit.\n        already_seen.add(already_seen_key)\n        for k in template_features:\n          template_features[k].append(result.features[k])\n\n    if already_seen:\n      for name in template_features:\n        template_features[name] = np.stack(\n            template_features[name], axis=0\n        ).astype(TEMPLATE_FEATURES[name])\n    else:\n      num_res = len(query_sequence)\n      # Construct a default template with all zeros.\n      template_features = {\n          'template_aatype': np.zeros(\n              (1, num_res, len(residue_constants.restypes_with_x_and_gap)),\n              np.float32,\n          ),\n          'template_all_atom_masks': np.zeros(\n              (1, num_res, residue_constants.atom_type_num), np.float32\n          ),\n          'template_all_atom_positions': np.zeros(\n              (1, num_res, residue_constants.atom_type_num, 3), np.float32\n          ),\n          'template_domain_names': np.array([''.encode()], dtype=object),\n          'template_sequence': np.array([''.encode()], dtype=object),\n          'template_sum_probs': np.array([0], dtype=np.float32),\n      }\n    return TemplateSearchResult(\n        features=template_features, errors=errors, warnings=warnings\n    )\n"
  },
  {
    "path": "alphafold/data/tools/__init__.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\"\"\"Python wrappers for third party tools.\"\"\"\n"
  },
  {
    "path": "alphafold/data/tools/hhblits.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Library to run HHblits from Python.\"\"\"\n\nimport glob\nimport os\nimport subprocess\nfrom typing import Any, List, Mapping, Optional, Sequence\n\nfrom absl import logging\nfrom alphafold.data.tools import utils\n\n# Internal import (7716).\n\n\n_HHBLITS_DEFAULT_P = 20\n_HHBLITS_DEFAULT_Z = 500\n\n\nclass HHBlits:\n  \"\"\"Python wrapper of the HHblits binary.\"\"\"\n\n  def __init__(\n      self,\n      *,\n      binary_path: str,\n      databases: Sequence[str],\n      n_cpu: int = 4,\n      n_iter: int = 3,\n      e_value: float = 0.001,\n      maxseq: int = 1_000_000,\n      realign_max: int = 100_000,\n      maxfilt: int = 100_000,\n      min_prefilter_hits: int = 1000,\n      all_seqs: bool = False,\n      alt: Optional[int] = None,\n      p: int = _HHBLITS_DEFAULT_P,\n      z: int = _HHBLITS_DEFAULT_Z,\n  ):\n    \"\"\"Initializes the Python HHblits wrapper.\n\n    Args:\n      binary_path: The path to the HHblits executable.\n      databases: A sequence of HHblits database paths. This should be the common\n        prefix for the database files (i.e. up to but not including _hhm.ffindex\n        etc.)\n      n_cpu: The number of CPUs to give HHblits.\n      n_iter: The number of HHblits iterations.\n      e_value: The E-value, see HHblits docs for more details.\n      maxseq: The maximum number of rows in an input alignment. Note that this\n        parameter is only supported in HHBlits version 3.1 and higher.\n      realign_max: Max number of HMM-HMM hits to realign. HHblits default: 500.\n      maxfilt: Max number of hits allowed to pass the 2nd prefilter. HHblits\n        default is 20000.\n      min_prefilter_hits: Min number of hits to pass prefilter. HHblits default:\n        100.\n      all_seqs: Return all sequences in the MSA / Do not filter the result MSA.\n        HHblits default is False.\n      alt: Show up to this many alternative alignments.\n      p: Minimum Prob for a hit to be included in the output hhr file. HHblits\n        default is 20.\n      z: Hard cap on number of hits reported in the hhr file. HHblits default is\n        500. NB: The relevant HHblits flag is -Z not -z.\n\n    Raises:\n      RuntimeError: If HHblits binary not found within the path.\n    \"\"\"\n    self.binary_path = binary_path\n    self.databases = databases\n\n    for database_path in self.databases:\n      if not glob.glob(database_path + '_*'):\n        logging.error('Could not find HHBlits database %s', database_path)\n        raise ValueError(f'Could not find HHBlits database {database_path}')\n\n    self.n_cpu = n_cpu\n    self.n_iter = n_iter\n    self.e_value = e_value\n    self.maxseq = maxseq\n    self.realign_max = realign_max\n    self.maxfilt = maxfilt\n    self.min_prefilter_hits = min_prefilter_hits\n    self.all_seqs = all_seqs\n    self.alt = alt\n    self.p = p\n    self.z = z\n\n  def query(self, input_fasta_path: str) -> List[Mapping[str, Any]]:\n    \"\"\"Queries the database using HHblits.\"\"\"\n    with utils.tmpdir_manager() as query_tmp_dir:\n      a3m_path = os.path.join(query_tmp_dir, 'output.a3m')\n\n      db_cmd = []\n      for db_path in self.databases:\n        db_cmd.append('-d')\n        db_cmd.append(db_path)\n      cmd = [\n          self.binary_path,\n          *('-i', input_fasta_path),\n          *('-cpu', str(self.n_cpu)),\n          *('-oa3m', a3m_path),\n          *('-o', '/dev/null'),\n          *('-n', str(self.n_iter)),\n          *('-e', str(self.e_value)),\n          *('-maxseq', str(self.maxseq)),\n          *('-realign_max', str(self.realign_max)),\n          *('-maxfilt', str(self.maxfilt)),\n          *('-min_prefilter_hits', str(self.min_prefilter_hits)),\n      ]\n      if self.all_seqs:\n        cmd += ['-all']\n      if self.alt:\n        cmd += ['-alt', str(self.alt)]\n      if self.p != _HHBLITS_DEFAULT_P:\n        cmd += ['-p', str(self.p)]\n      if self.z != _HHBLITS_DEFAULT_Z:\n        cmd += ['-Z', str(self.z)]\n      cmd += db_cmd\n\n      logging.info('Launching subprocess \"%s\"', ' '.join(cmd))\n      process = subprocess.Popen(\n          cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE\n      )\n\n      with utils.timing('HHblits query'):\n        stdout, stderr = process.communicate()\n        retcode = process.wait()\n\n      if retcode:\n        # Logs have a 15k character limit, so log HHblits error line by line.\n        logging.error('HHblits failed. HHblits stderr begin:')\n        for error_line in stderr.decode('utf-8').splitlines():\n          if error_line.strip():\n            logging.error(error_line.strip())\n        logging.error('HHblits stderr end')\n        raise RuntimeError(\n            'HHblits failed\\nstdout:\\n%s\\n\\nstderr:\\n%s\\n'\n            % (stdout.decode('utf-8'), stderr[:500_000].decode('utf-8'))\n        )\n\n      with open(a3m_path) as f:\n        a3m = f.read()\n\n    raw_output = dict(\n        a3m=a3m,\n        output=stdout,\n        stderr=stderr,\n        n_iter=self.n_iter,\n        e_value=self.e_value,\n    )\n    return [raw_output]\n"
  },
  {
    "path": "alphafold/data/tools/hhsearch.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Library to run HHsearch from Python.\"\"\"\n\nimport glob\nimport os\nimport subprocess\nfrom typing import Sequence\n\nfrom absl import logging\nfrom alphafold.data import parsers\nfrom alphafold.data.tools import utils\n\n# Internal import (7716).\n\n\nclass HHSearch:\n  \"\"\"Python wrapper of the HHsearch binary.\"\"\"\n\n  def __init__(\n      self,\n      *,\n      binary_path: str,\n      databases: Sequence[str],\n      maxseq: int = 1_000_000,\n      cpu: int = 8,\n  ):\n    \"\"\"Initializes the Python HHsearch wrapper.\n\n    Args:\n      binary_path: The path to the HHsearch executable.\n      databases: A sequence of HHsearch database paths. This should be the\n        common prefix for the database files (i.e. up to but not including\n        _hhm.ffindex etc.)\n      maxseq: The maximum number of rows in an input alignment. Note that this\n        parameter is only supported in HHBlits version 3.1 and higher.\n      cpu: The number of CPUs to use.\n\n    Raises:\n      RuntimeError: If HHsearch binary not found within the path.\n    \"\"\"\n    self.binary_path = binary_path\n    self.databases = databases\n    self.maxseq = maxseq\n    self.cpu = cpu\n\n    for database_path in self.databases:\n      if not glob.glob(database_path + '_*'):\n        logging.error('Could not find HHsearch database %s', database_path)\n        raise ValueError(f'Could not find HHsearch database {database_path}')\n\n  @property\n  def output_format(self) -> str:\n    return 'hhr'\n\n  @property\n  def input_format(self) -> str:\n    return 'a3m'\n\n  def query(self, a3m: str) -> str:\n    \"\"\"Queries the database using HHsearch using a given a3m.\"\"\"\n    with utils.tmpdir_manager() as query_tmp_dir:\n      input_path = os.path.join(query_tmp_dir, 'query.a3m')\n      hhr_path = os.path.join(query_tmp_dir, 'output.hhr')\n      with open(input_path, 'w') as f:\n        f.write(a3m)\n\n      db_cmd = []\n      for db_path in self.databases:\n        db_cmd.append('-d')\n        db_cmd.append(db_path)\n      cmd = [\n          self.binary_path,\n          *('-i', input_path),\n          *('-o', hhr_path),\n          *('-maxseq', str(self.maxseq)),\n          *('-cpu', str(self.cpu)),\n      ] + db_cmd\n\n      logging.info('Launching subprocess \"%s\"', ' '.join(cmd))\n      process = subprocess.Popen(\n          cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE\n      )\n      with utils.timing('HHsearch query'):\n        stdout, stderr = process.communicate()\n        retcode = process.wait()\n\n      if retcode:\n        # Stderr is truncated to prevent proto size errors in Beam.\n        raise RuntimeError(\n            'HHSearch failed:\\nstdout:\\n%s\\n\\nstderr:\\n%s\\n'\n            % (stdout.decode('utf-8'), stderr[:100_000].decode('utf-8'))\n        )\n\n      with open(hhr_path) as f:\n        hhr = f.read()\n    return hhr\n\n  def get_template_hits(\n      self, output_string: str, input_sequence: str\n  ) -> Sequence[parsers.TemplateHit]:\n    \"\"\"Gets parsed template hits from the raw string output by the tool.\"\"\"\n    del input_sequence  # Used by hmmseach but not needed for hhsearch.\n    return parsers.parse_hhr(output_string)\n"
  },
  {
    "path": "alphafold/data/tools/hmmbuild.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"A Python wrapper for hmmbuild - construct HMM profiles from MSA.\"\"\"\n\nimport os\nimport re\nimport subprocess\n\nfrom absl import logging\nfrom alphafold.data.tools import utils\n\n# Internal import (7716).\n\n\nclass Hmmbuild(object):\n  \"\"\"Python wrapper of the hmmbuild binary.\"\"\"\n\n  def __init__(self, *, binary_path: str, singlemx: bool = False):\n    \"\"\"Initializes the Python hmmbuild wrapper.\n\n    Args:\n      binary_path: The path to the hmmbuild executable.\n      singlemx: Whether to use --singlemx flag. If True, it forces HMMBuild to\n        just use a common substitution score matrix.\n\n    Raises:\n      RuntimeError: If hmmbuild binary not found within the path.\n    \"\"\"\n    self.binary_path = binary_path\n    self.singlemx = singlemx\n\n  def build_profile_from_sto(self, sto: str, model_construction='fast') -> str:\n    \"\"\"Builds a HHM for the aligned sequences given as an A3M string.\n\n    Args:\n      sto: A string with the aligned sequences in the Stockholm format.\n      model_construction: Whether to use reference annotation in the msa to\n        determine consensus columns ('hand') or default ('fast').\n\n    Returns:\n      A string with the profile in the HMM format.\n\n    Raises:\n      RuntimeError: If hmmbuild fails.\n    \"\"\"\n    return self._build_profile(sto, model_construction=model_construction)\n\n  def build_profile_from_a3m(self, a3m: str) -> str:\n    \"\"\"Builds a HHM for the aligned sequences given as an A3M string.\n\n    Args:\n      a3m: A string with the aligned sequences in the A3M format.\n\n    Returns:\n      A string with the profile in the HMM format.\n\n    Raises:\n      RuntimeError: If hmmbuild fails.\n    \"\"\"\n    lines = []\n    for line in a3m.splitlines():\n      if not line.startswith('>'):\n        line = re.sub('[a-z]+', '', line)  # Remove inserted residues.\n      lines.append(line + '\\n')\n    msa = ''.join(lines)\n    return self._build_profile(msa, model_construction='fast')\n\n  def _build_profile(self, msa: str, model_construction: str = 'fast') -> str:\n    \"\"\"Builds a HMM for the aligned sequences given as an MSA string.\n\n    Args:\n      msa: A string with the aligned sequences, in A3M or STO format.\n      model_construction: Whether to use reference annotation in the msa to\n        determine consensus columns ('hand') or default ('fast').\n\n    Returns:\n      A string with the profile in the HMM format.\n\n    Raises:\n      RuntimeError: If hmmbuild fails.\n      ValueError: If unspecified arguments are provided.\n    \"\"\"\n    if model_construction not in {'hand', 'fast'}:\n      raise ValueError(\n          f'Invalid model_construction {model_construction} - only'\n          'hand and fast supported.'\n      )\n\n    with utils.tmpdir_manager() as query_tmp_dir:\n      input_query = os.path.join(query_tmp_dir, 'query.msa')\n      output_hmm_path = os.path.join(query_tmp_dir, 'output.hmm')\n\n      with open(input_query, 'w') as f:\n        f.write(msa)\n\n      cmd = [self.binary_path]\n      # If adding flags, we have to do so before the output and input:\n\n      if model_construction == 'hand':\n        cmd.append(f'--{model_construction}')\n      if self.singlemx:\n        cmd.append('--singlemx')\n      cmd.extend([\n          '--amino',\n          output_hmm_path,\n          input_query,\n      ])\n\n      logging.info('Launching subprocess %s', cmd)\n      process = subprocess.Popen(\n          cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE\n      )\n\n      with utils.timing('hmmbuild query'):\n        stdout, stderr = process.communicate()\n        retcode = process.wait()\n        logging.info(\n            'hmmbuild stdout:\\n%s\\n\\nstderr:\\n%s\\n',\n            stdout.decode('utf-8'),\n            stderr.decode('utf-8'),\n        )\n\n      if retcode:\n        raise RuntimeError(\n            'hmmbuild failed\\nstdout:\\n%s\\n\\nstderr:\\n%s\\n'\n            % (stdout.decode('utf-8'), stderr.decode('utf-8'))\n        )\n\n      with open(output_hmm_path, encoding='utf-8') as f:\n        hmm = f.read()\n\n    return hmm\n"
  },
  {
    "path": "alphafold/data/tools/hmmsearch.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"A Python wrapper for hmmsearch - search profile against a sequence db.\"\"\"\n\nimport os\nimport subprocess\nfrom typing import Optional, Sequence\n\nfrom absl import logging\nfrom alphafold.data import parsers\nfrom alphafold.data.tools import hmmbuild\nfrom alphafold.data.tools import utils\n\n# Internal import (7716).\n\n\nclass Hmmsearch(object):\n  \"\"\"Python wrapper of the hmmsearch binary.\"\"\"\n\n  def __init__(\n      self,\n      *,\n      binary_path: str,\n      hmmbuild_binary_path: str,\n      database_path: str,\n      flags: Optional[Sequence[str]] = None,\n      cpu: int = 8,\n  ):\n    \"\"\"Initializes the Python hmmsearch wrapper.\n\n    Args:\n      binary_path: The path to the hmmsearch executable.\n      hmmbuild_binary_path: The path to the hmmbuild executable. Used to build\n        an hmm from an input a3m.\n      database_path: The path to the hmmsearch database (FASTA format).\n      flags: List of flags to be used by hmmsearch.\n      cpu: The number of CPUs to use for the hmmsearch query.\n\n    Raises:\n      RuntimeError: If hmmsearch binary not found within the path.\n    \"\"\"\n    self.binary_path = binary_path\n    self.hmmbuild_runner = hmmbuild.Hmmbuild(binary_path=hmmbuild_binary_path)\n    self.database_path = database_path\n    self.cpu = cpu\n    if flags is None:\n      # Default hmmsearch run settings.\n      flags = [\n          *('--F1', '0.1'),\n          *('--F2', '0.1'),\n          *('--F3', '0.1'),\n          *('--incE', '100'),\n          *('-E', '100'),\n          *('--domE', '100'),\n          *('--incdomE', '100'),\n      ]\n    self.flags = flags\n\n    if not os.path.exists(self.database_path):\n      logging.error('Could not find hmmsearch database %s', database_path)\n      raise ValueError(f'Could not find hmmsearch database {database_path}')\n\n  @property\n  def output_format(self) -> str:\n    return 'sto'\n\n  @property\n  def input_format(self) -> str:\n    return 'sto'\n\n  def query(self, msa_sto: str) -> str:\n    \"\"\"Queries the database using hmmsearch using a given stockholm msa.\"\"\"\n    hmm = self.hmmbuild_runner.build_profile_from_sto(\n        msa_sto, model_construction='hand'\n    )\n    return self.query_with_hmm(hmm)\n\n  def query_with_hmm(self, hmm: str) -> str:\n    \"\"\"Queries the database using hmmsearch using a given hmm.\"\"\"\n    with utils.tmpdir_manager() as query_tmp_dir:\n      hmm_input_path = os.path.join(query_tmp_dir, 'query.hmm')\n      out_path = os.path.join(query_tmp_dir, 'output.sto')\n      with open(hmm_input_path, 'w') as f:\n        f.write(hmm)\n\n      cmd = [\n          self.binary_path,\n          '--noali',  # Don't include the alignment in stdout.\n          '--cpu',\n          str(self.cpu),\n      ]\n      # If adding flags, we have to do so before the output and input:\n      if self.flags:\n        cmd.extend(self.flags)\n      cmd.extend([\n          '-A',\n          out_path,\n          hmm_input_path,\n          self.database_path,\n      ])\n\n      logging.info('Launching sub-process %s', cmd)\n      process = subprocess.Popen(\n          cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE\n      )\n      with utils.timing(\n          f'hmmsearch ({os.path.basename(self.database_path)}) query'\n      ):\n        stdout, stderr = process.communicate()\n        retcode = process.wait()\n\n      if retcode:\n        raise RuntimeError(\n            'hmmsearch failed:\\nstdout:\\n%s\\n\\nstderr:\\n%s\\n'\n            % (stdout.decode('utf-8'), stderr.decode('utf-8'))\n        )\n\n      with open(out_path) as f:\n        out_msa = f.read()\n\n    return out_msa\n\n  def get_template_hits(\n      self, output_string: str, input_sequence: str\n  ) -> Sequence[parsers.TemplateHit]:\n    \"\"\"Gets parsed template hits from the raw string output by the tool.\"\"\"\n    a3m_string = parsers.convert_stockholm_to_a3m(\n        output_string, remove_first_row_gaps=False\n    )\n    template_hits = parsers.parse_hmmsearch_a3m(\n        query_sequence=input_sequence, a3m_string=a3m_string, skip_first=False\n    )\n    return template_hits\n"
  },
  {
    "path": "alphafold/data/tools/jackhmmer.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Library to run Jackhmmer from Python.\"\"\"\n\nfrom concurrent import futures\nimport glob\nimport os\nimport subprocess\nfrom typing import Any, Callable, Mapping, Optional, Sequence\nfrom urllib import request\n\nfrom absl import logging\nfrom alphafold.data import parsers\nfrom alphafold.data.tools import utils\n\n# Internal import (7716).\n\n\nclass Jackhmmer:\n  \"\"\"Python wrapper of the Jackhmmer binary.\"\"\"\n\n  def __init__(\n      self,\n      *,\n      binary_path: str,\n      database_path: str,\n      n_cpu: int = 8,\n      n_iter: int = 1,\n      e_value: float = 0.0001,\n      z_value: Optional[int] = None,\n      get_tblout: bool = False,\n      filter_f1: float = 0.0005,\n      filter_f2: float = 0.00005,\n      filter_f3: float = 0.0000005,\n      incdom_e: Optional[float] = None,\n      dom_e: Optional[float] = None,\n      num_streamed_chunks: Optional[int] = None,\n      streaming_callback: Optional[Callable[[int], None]] = None,\n  ):\n    \"\"\"Initializes the Python Jackhmmer wrapper.\n\n    Args:\n      binary_path: The path to the jackhmmer executable.\n      database_path: The path to the jackhmmer database (FASTA format).\n      n_cpu: The number of CPUs to give Jackhmmer.\n      n_iter: The number of Jackhmmer iterations.\n      e_value: The E-value, see Jackhmmer docs for more details.\n      z_value: The Z-value, see Jackhmmer docs for more details.\n      get_tblout: Whether to save tblout string.\n      filter_f1: MSV and biased composition pre-filter, set to >1.0 to turn off.\n      filter_f2: Viterbi pre-filter, set to >1.0 to turn off.\n      filter_f3: Forward pre-filter, set to >1.0 to turn off.\n      incdom_e: Domain e-value criteria for inclusion of domains in MSA/next\n        round.\n      dom_e: Domain e-value criteria for inclusion in tblout.\n      num_streamed_chunks: Number of database chunks to stream over.\n      streaming_callback: Callback function run after each chunk iteration with\n        the iteration number as argument.\n    \"\"\"\n    self.binary_path = binary_path\n    self.database_path = database_path\n    self.num_streamed_chunks = num_streamed_chunks\n\n    if not os.path.exists(self.database_path) and num_streamed_chunks is None:\n      logging.error('Could not find Jackhmmer database %s', database_path)\n      raise ValueError(f'Could not find Jackhmmer database {database_path}')\n\n    self.n_cpu = n_cpu\n    self.n_iter = n_iter\n    self.e_value = e_value\n    self.z_value = z_value\n    self.filter_f1 = filter_f1\n    self.filter_f2 = filter_f2\n    self.filter_f3 = filter_f3\n    self.incdom_e = incdom_e\n    self.dom_e = dom_e\n    self.get_tblout = get_tblout\n    self.streaming_callback = streaming_callback\n\n  def _query_chunk(\n      self,\n      input_fasta_path: str,\n      database_path: str,\n      max_sequences: Optional[int] = None,\n  ) -> Mapping[str, Any]:\n    \"\"\"Queries the database chunk using Jackhmmer.\"\"\"\n    with utils.tmpdir_manager() as query_tmp_dir:\n      sto_path = os.path.join(query_tmp_dir, 'output.sto')\n\n      # The F1/F2/F3 are the expected proportion to pass each of the filtering\n      # stages (which get progressively more expensive), reducing these\n      # speeds up the pipeline at the expensive of sensitivity.  They are\n      # currently set very low to make querying Mgnify run in a reasonable\n      # amount of time.\n      cmd_flags = [\n          # Don't pollute stdout with Jackhmmer output.\n          *('-o', '/dev/null'),\n          *('-A', sto_path),\n          '--noali',\n          *('--F1', str(self.filter_f1)),\n          *('--F2', str(self.filter_f2)),\n          *('--F3', str(self.filter_f3)),\n          *('--incE', str(self.e_value)),\n          # Report only sequences with E-values <= x in per-sequence output.\n          *('-E', str(self.e_value)),\n          *('--cpu', str(self.n_cpu)),\n          *('-N', str(self.n_iter)),\n      ]\n      if self.get_tblout:\n        tblout_path = os.path.join(query_tmp_dir, 'tblout.txt')\n        cmd_flags.extend(['--tblout', tblout_path])\n\n      if self.z_value:\n        cmd_flags.extend(['-Z', str(self.z_value)])\n\n      if self.dom_e is not None:\n        cmd_flags.extend(['--domE', str(self.dom_e)])\n\n      if self.incdom_e is not None:\n        cmd_flags.extend(['--incdomE', str(self.incdom_e)])\n\n      cmd = [self.binary_path] + cmd_flags + [input_fasta_path, database_path]\n\n      logging.info('Launching subprocess \"%s\"', ' '.join(cmd))\n      process = subprocess.Popen(\n          cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE\n      )\n      with utils.timing(f'Jackhmmer ({os.path.basename(database_path)}) query'):\n        _, stderr = process.communicate()\n        retcode = process.wait()\n\n      if retcode:\n        raise RuntimeError(\n            'Jackhmmer failed\\nstderr:\\n%s\\n' % stderr.decode('utf-8')\n        )\n\n      # Get e-values for each target name\n      tbl = ''\n      if self.get_tblout:\n        with open(tblout_path) as f:\n          tbl = f.read()\n\n      if max_sequences is None:\n        with open(sto_path) as f:\n          sto = f.read()\n      else:\n        sto = parsers.truncate_stockholm_msa(sto_path, max_sequences)\n\n    raw_output = dict(\n        sto=sto,\n        tbl=tbl,\n        stderr=stderr,\n        n_iter=self.n_iter,\n        e_value=self.e_value,\n    )\n\n    return raw_output\n\n  def query(\n      self, input_fasta_path: str, max_sequences: Optional[int] = None\n  ) -> Sequence[Mapping[str, Any]]:\n    \"\"\"Queries the database using Jackhmmer.\"\"\"\n    return self.query_multiple([input_fasta_path], max_sequences)[0]\n\n  def query_multiple(\n      self,\n      input_fasta_paths: Sequence[str],\n      max_sequences: Optional[int] = None,\n  ) -> Sequence[Sequence[Mapping[str, Any]]]:\n    \"\"\"Queries the database for multiple queries using Jackhmmer.\"\"\"\n    if self.num_streamed_chunks is None:\n      single_chunk_results = []\n      for input_fasta_path in input_fasta_paths:\n        single_chunk_results.append([\n            self._query_chunk(\n                input_fasta_path, self.database_path, max_sequences\n            )\n        ])\n      return single_chunk_results\n\n    db_basename = os.path.basename(self.database_path)\n    db_remote_chunk = lambda db_idx: f'{self.database_path}.{db_idx}'\n    db_local_chunk = lambda db_idx: f'/tmp/ramdisk/{db_basename}.{db_idx}'\n\n    # Remove existing files to prevent OOM\n    for f in glob.glob(db_local_chunk('[0-9]*')):\n      try:\n        os.remove(f)\n      except OSError:\n        print(f'OSError while deleting {f}')\n\n    # Download the (i+1)-th chunk while Jackhmmer is running on the i-th chunk\n    with futures.ThreadPoolExecutor(max_workers=2) as executor:\n      chunked_outputs = [[] for _ in range(len(input_fasta_paths))]\n      for i in range(1, self.num_streamed_chunks + 1):\n        # Copy the chunk locally\n        if i == 1:\n          future = executor.submit(\n              request.urlretrieve, db_remote_chunk(i), db_local_chunk(i)\n          )\n        if i < self.num_streamed_chunks:\n          next_future = executor.submit(\n              request.urlretrieve, db_remote_chunk(i + 1), db_local_chunk(i + 1)\n          )\n\n        # Run Jackhmmer with the chunk\n        future.result()\n        for fasta_index, input_fasta_path in enumerate(input_fasta_paths):\n          chunked_outputs[fasta_index].append(\n              self._query_chunk(\n                  input_fasta_path, db_local_chunk(i), max_sequences\n              )\n          )\n        # Remove the local copy of the chunk\n        os.remove(db_local_chunk(i))\n        # Do not set next_future for the last chunk so that this works even for\n        # databases with only 1 chunk.\n        if i < self.num_streamed_chunks:\n          future = next_future\n        if self.streaming_callback:\n          self.streaming_callback(i)\n    return chunked_outputs\n"
  },
  {
    "path": "alphafold/data/tools/kalign.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"A Python wrapper for Kalign.\"\"\"\nimport os\nimport subprocess\nfrom typing import Sequence\n\nfrom absl import logging\nfrom alphafold.data.tools import utils\n\n# Internal import (7716).\n\n\ndef _to_a3m(sequences: Sequence[str]) -> str:\n  \"\"\"Converts sequences to an a3m file.\"\"\"\n  names = ['sequence %d' % i for i in range(1, len(sequences) + 1)]\n  a3m = []\n  for sequence, name in zip(sequences, names):\n    a3m.append('>' + name + '\\n')\n    a3m.append(sequence + '\\n')\n  return ''.join(a3m)\n\n\nclass Kalign:\n  \"\"\"Python wrapper of the Kalign binary.\"\"\"\n\n  def __init__(self, *, binary_path: str):\n    \"\"\"Initializes the Python Kalign wrapper.\n\n    Args:\n      binary_path: The path to the Kalign binary.\n\n    Raises:\n      RuntimeError: If Kalign binary not found within the path.\n    \"\"\"\n    self.binary_path = binary_path\n\n  def align(self, sequences: Sequence[str]) -> str:\n    \"\"\"Aligns the sequences and returns the alignment in A3M string.\n\n    Args:\n      sequences: A list of query sequence strings. The sequences have to be at\n        least 6 residues long (Kalign requires this). Note that the order in\n        which you give the sequences might alter the output slightly as\n        different alignment tree might get constructed.\n\n    Returns:\n      A string with the alignment in a3m format.\n\n    Raises:\n      RuntimeError: If Kalign fails.\n      ValueError: If any of the sequences is less than 6 residues long.\n    \"\"\"\n    logging.info('Aligning %d sequences', len(sequences))\n\n    for s in sequences:\n      if len(s) < 6:\n        raise ValueError(\n            'Kalign requires all sequences to be at least 6 '\n            'residues long. Got %s (%d residues).' % (s, len(s))\n        )\n\n    with utils.tmpdir_manager() as query_tmp_dir:\n      input_fasta_path = os.path.join(query_tmp_dir, 'input.fasta')\n      output_a3m_path = os.path.join(query_tmp_dir, 'output.a3m')\n\n      with open(input_fasta_path, 'w') as f:\n        f.write(_to_a3m(sequences))\n\n      cmd = [\n          self.binary_path,\n          *('-i', input_fasta_path),\n          *('-o', output_a3m_path),\n          *('-format', 'fasta'),\n      ]\n\n      logging.info('Launching subprocess \"%s\"', ' '.join(cmd))\n      process = subprocess.Popen(\n          cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE\n      )\n\n      with utils.timing('Kalign query'):\n        stdout, stderr = process.communicate()\n        retcode = process.wait()\n        logging.info(\n            'Kalign stdout:\\n%s\\n\\nstderr:\\n%s\\n',\n            stdout.decode('utf-8'),\n            stderr.decode('utf-8'),\n        )\n\n      if retcode:\n        raise RuntimeError(\n            'Kalign failed\\nstdout:\\n%s\\n\\nstderr:\\n%s\\n'\n            % (stdout.decode('utf-8'), stderr.decode('utf-8'))\n        )\n\n      with open(output_a3m_path) as f:\n        a3m = f.read()\n\n      return a3m\n"
  },
  {
    "path": "alphafold/data/tools/utils.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\"\"\"Common utilities for data pipeline tools.\"\"\"\nimport contextlib\nimport shutil\nimport tempfile\nimport time\nfrom typing import Optional\n\nfrom absl import logging\n\n\n@contextlib.contextmanager\ndef tmpdir_manager(base_dir: Optional[str] = None):\n  \"\"\"Context manager that deletes a temporary directory on exit.\"\"\"\n  tmpdir = tempfile.mkdtemp(dir=base_dir)\n  try:\n    yield tmpdir\n  finally:\n    shutil.rmtree(tmpdir, ignore_errors=True)\n\n\n@contextlib.contextmanager\ndef timing(msg: str):\n  logging.info('Started %s', msg)\n  tic = time.time()\n  yield\n  toc = time.time()\n  logging.info('Finished %s in %.3f seconds', msg, toc - tic)\n"
  },
  {
    "path": "alphafold/model/__init__.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\"\"\"Alphafold model.\"\"\"\n"
  },
  {
    "path": "alphafold/model/all_atom.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Ops for all atom representations.\n\nGenerally we employ two different representations for all atom coordinates,\none is atom37 where each heavy atom corresponds to a given position in a 37\ndimensional array, This mapping is non amino acid specific, but each slot\ncorresponds to an atom of a given name, for example slot 12 always corresponds\nto 'C delta 1', positions that are not present for a given amino acid are\nzeroed out and denoted by a mask.\nThe other representation we employ is called atom14, this is a more dense way\nof representing atoms with 14 slots. Here a given slot will correspond to a\ndifferent kind of atom depending on amino acid type, for example slot 5\ncorresponds to 'N delta 2' for Aspargine, but to 'C delta 1' for Isoleucine.\n14 is chosen because it is the maximum number of heavy atoms for any standard\namino acid.\nThe order of slots can be found in 'residue_constants.residue_atoms'.\nInternally the model uses the atom14 representation because it is\ncomputationally more efficient.\nThe internal atom14 representation is turned into the atom37 at the output of\nthe network to facilitate easier conversion to existing protein datastructures.\n\"\"\"\nfrom typing import Dict, Optional, Union\nfrom alphafold.common import residue_constants\nfrom alphafold.model import r3\nfrom alphafold.model import utils\nimport jax\nimport jax.numpy as jnp\nimport numpy as np\n\n\ndef squared_difference(x, y):\n  return jnp.square(x - y)\n\n\ndef get_chi_atom_indices():\n  \"\"\"Returns atom indices needed to compute chi angles for all residue types.\n\n  Returns:\n    A tensor of shape [residue_types=21, chis=4, atoms=4]. The residue types are\n    in the order specified in residue_constants.restypes + unknown residue type\n    at the end. For chi angles which are not defined on the residue, the\n    positions indices are by default set to 0.\n  \"\"\"\n  chi_atom_indices = []\n  for residue_name in residue_constants.restypes:\n    residue_name = residue_constants.restype_1to3[residue_name]\n    residue_chi_angles = residue_constants.chi_angles_atoms[residue_name]\n    atom_indices = []\n    for chi_angle in residue_chi_angles:\n      atom_indices.append(\n          [residue_constants.atom_order[atom] for atom in chi_angle]\n      )\n    for _ in range(4 - len(atom_indices)):\n      atom_indices.append([0, 0, 0, 0])  # For chi angles not defined on the AA.\n    chi_atom_indices.append(atom_indices)\n\n  chi_atom_indices.append([[0, 0, 0, 0]] * 4)  # For UNKNOWN residue.\n\n  return jnp.asarray(chi_atom_indices)\n\n\ndef atom14_to_atom37(\n    atom14_data: jnp.ndarray, batch: Dict[str, jnp.ndarray]  # (N, 14, ...)\n) -> jnp.ndarray:  # (N, 37, ...)\n  \"\"\"Convert atom14 to atom37 representation.\"\"\"\n  assert len(atom14_data.shape) in [2, 3]\n  assert 'residx_atom37_to_atom14' in batch\n  assert 'atom37_atom_exists' in batch\n\n  atom37_data = utils.batched_gather(\n      atom14_data, batch['residx_atom37_to_atom14'], batch_dims=1\n  )\n  if len(atom14_data.shape) == 2:\n    atom37_data *= batch['atom37_atom_exists']\n  elif len(atom14_data.shape) == 3:\n    atom37_data *= batch['atom37_atom_exists'][:, :, None].astype(\n        atom37_data.dtype\n    )\n  return atom37_data\n\n\ndef atom37_to_atom14(\n    atom37_data: jnp.ndarray, batch: Dict[str, jnp.ndarray]  # (N, 37, ...)\n) -> jnp.ndarray:  # (N, 14, ...)\n  \"\"\"Convert atom14 to atom37 representation.\"\"\"\n  assert len(atom37_data.shape) in [2, 3]\n  assert 'residx_atom14_to_atom37' in batch\n  assert 'atom14_atom_exists' in batch\n\n  atom14_data = utils.batched_gather(\n      atom37_data, batch['residx_atom14_to_atom37'], batch_dims=1\n  )\n  if len(atom37_data.shape) == 2:\n    atom14_data *= batch['atom14_atom_exists'].astype(atom14_data.dtype)\n  elif len(atom37_data.shape) == 3:\n    atom14_data *= batch['atom14_atom_exists'][:, :, None].astype(\n        atom14_data.dtype\n    )\n  return atom14_data\n\n\ndef atom37_to_frames(\n    aatype: jnp.ndarray,  # (...)\n    all_atom_positions: jnp.ndarray,  # (..., 37, 3)\n    all_atom_mask: jnp.ndarray,  # (..., 37)\n) -> Dict[str, jnp.ndarray]:\n  \"\"\"Computes the frames for the up to 8 rigid groups for each residue.\n\n  The rigid groups are defined by the possible torsions in a given amino acid.\n  We group the atoms according to their dependence on the torsion angles into\n  \"rigid groups\".  E.g., the position of atoms in the chi2-group depend on\n  chi1 and chi2, but do not depend on chi3 or chi4.\n  Jumper et al. (2021) Suppl. Table 2 and corresponding text.\n\n  Args:\n    aatype: Amino acid type, given as array with integers.\n    all_atom_positions: atom37 representation of all atom coordinates.\n    all_atom_mask: atom37 representation of mask on all atom coordinates.\n\n  Returns:\n    Dictionary containing:\n      * 'rigidgroups_gt_frames': 8 Frames corresponding to 'all_atom_positions'\n           represented as flat 12 dimensional array.\n      * 'rigidgroups_gt_exists': Mask denoting whether the atom positions for\n          the given frame are available in the ground truth, e.g. if they were\n          resolved in the experiment.\n      * 'rigidgroups_group_exists': Mask denoting whether given group is in\n          principle present for given amino acid type.\n      * 'rigidgroups_group_is_ambiguous': Mask denoting whether frame is\n          affected by naming ambiguity.\n      * 'rigidgroups_alt_gt_frames': 8 Frames with alternative atom renaming\n          corresponding to 'all_atom_positions' represented as flat\n          12 dimensional array.\n  \"\"\"\n  # 0: 'backbone group',\n  # 1: 'pre-omega-group', (empty)\n  # 2: 'phi-group', (currently empty, because it defines only hydrogens)\n  # 3: 'psi-group',\n  # 4,5,6,7: 'chi1,2,3,4-group'\n  aatype_in_shape = aatype.shape\n\n  # If there is a batch axis, just flatten it away, and reshape everything\n  # back at the end of the function.\n  aatype = jnp.reshape(aatype, [-1])\n  all_atom_positions = jnp.reshape(all_atom_positions, [-1, 37, 3])\n  all_atom_mask = jnp.reshape(all_atom_mask, [-1, 37])\n\n  # Create an array with the atom names.\n  # shape (num_restypes, num_rigidgroups, 3_atoms): (21, 8, 3)\n  restype_rigidgroup_base_atom_names = np.full([21, 8, 3], '', dtype=object)\n\n  # 0: backbone frame\n  restype_rigidgroup_base_atom_names[:, 0, :] = ['C', 'CA', 'N']\n\n  # 3: 'psi-group'\n  restype_rigidgroup_base_atom_names[:, 3, :] = ['CA', 'C', 'O']\n\n  # 4,5,6,7: 'chi1,2,3,4-group'\n  for restype, restype_letter in enumerate(residue_constants.restypes):\n    resname = residue_constants.restype_1to3[restype_letter]\n    for chi_idx in range(4):\n      if residue_constants.chi_angles_mask[restype][chi_idx]:\n        atom_names = residue_constants.chi_angles_atoms[resname][chi_idx]\n        restype_rigidgroup_base_atom_names[restype, chi_idx + 4, :] = (\n            atom_names[1:]\n        )\n\n  # Create mask for existing rigid groups.\n  restype_rigidgroup_mask = np.zeros([21, 8], dtype=np.float32)\n  restype_rigidgroup_mask[:, 0] = 1\n  restype_rigidgroup_mask[:, 3] = 1\n  restype_rigidgroup_mask[:20, 4:] = residue_constants.chi_angles_mask\n\n  # Translate atom names into atom37 indices.\n  lookuptable = residue_constants.atom_order.copy()\n  lookuptable[''] = 0\n  restype_rigidgroup_base_atom37_idx = np.vectorize(lambda x: lookuptable[x])(\n      restype_rigidgroup_base_atom_names\n  )\n\n  # Compute the gather indices for all residues in the chain.\n  # shape (N, 8, 3)\n  residx_rigidgroup_base_atom37_idx = utils.batched_gather(\n      restype_rigidgroup_base_atom37_idx, aatype\n  )\n\n  # Gather the base atom positions for each rigid group.\n  base_atom_pos = utils.batched_gather(\n      all_atom_positions, residx_rigidgroup_base_atom37_idx, batch_dims=1\n  )\n\n  # Compute the Rigids.\n  gt_frames = r3.rigids_from_3_points(\n      point_on_neg_x_axis=r3.vecs_from_tensor(base_atom_pos[:, :, 0, :]),\n      origin=r3.vecs_from_tensor(base_atom_pos[:, :, 1, :]),\n      point_on_xy_plane=r3.vecs_from_tensor(base_atom_pos[:, :, 2, :]),\n  )\n\n  # Compute a mask whether the group exists.\n  # (N, 8)\n  group_exists = utils.batched_gather(restype_rigidgroup_mask, aatype)\n\n  # Compute a mask whether ground truth exists for the group\n  gt_atoms_exist = utils.batched_gather(  # shape (N, 8, 3)\n      all_atom_mask.astype(jnp.float32),\n      residx_rigidgroup_base_atom37_idx,\n      batch_dims=1,\n  )\n  gt_exists = jnp.min(gt_atoms_exist, axis=-1) * group_exists  # (N, 8)\n\n  # Adapt backbone frame to old convention (mirror x-axis and z-axis).\n  rots = np.tile(np.eye(3, dtype=np.float32), [8, 1, 1])\n  rots[0, 0, 0] = -1\n  rots[0, 2, 2] = -1\n  gt_frames = r3.rigids_mul_rots(gt_frames, r3.rots_from_tensor3x3(rots))\n\n  # The frames for ambiguous rigid groups are just rotated by 180 degree around\n  # the x-axis. The ambiguous group is always the last chi-group.\n  restype_rigidgroup_is_ambiguous = np.zeros([21, 8], dtype=np.float32)\n  restype_rigidgroup_rots = np.tile(np.eye(3, dtype=np.float32), [21, 8, 1, 1])\n\n  for resname, _ in residue_constants.residue_atom_renaming_swaps.items():\n    restype = residue_constants.restype_order[\n        residue_constants.restype_3to1[resname]\n    ]\n    chi_idx = int(sum(residue_constants.chi_angles_mask[restype]) - 1)\n    restype_rigidgroup_is_ambiguous[restype, chi_idx + 4] = 1\n    restype_rigidgroup_rots[restype, chi_idx + 4, 1, 1] = -1\n    restype_rigidgroup_rots[restype, chi_idx + 4, 2, 2] = -1\n\n  # Gather the ambiguity information for each residue.\n  residx_rigidgroup_is_ambiguous = utils.batched_gather(\n      restype_rigidgroup_is_ambiguous, aatype\n  )\n  residx_rigidgroup_ambiguity_rot = utils.batched_gather(\n      restype_rigidgroup_rots, aatype\n  )\n\n  # Create the alternative ground truth frames.\n  alt_gt_frames = r3.rigids_mul_rots(\n      gt_frames, r3.rots_from_tensor3x3(residx_rigidgroup_ambiguity_rot)\n  )\n\n  gt_frames_flat12 = r3.rigids_to_tensor_flat12(gt_frames)\n  alt_gt_frames_flat12 = r3.rigids_to_tensor_flat12(alt_gt_frames)\n\n  # reshape back to original residue layout\n  gt_frames_flat12 = jnp.reshape(gt_frames_flat12, aatype_in_shape + (8, 12))\n  gt_exists = jnp.reshape(gt_exists, aatype_in_shape + (8,))\n  group_exists = jnp.reshape(group_exists, aatype_in_shape + (8,))\n  gt_frames_flat12 = jnp.reshape(gt_frames_flat12, aatype_in_shape + (8, 12))\n  residx_rigidgroup_is_ambiguous = jnp.reshape(\n      residx_rigidgroup_is_ambiguous, aatype_in_shape + (8,)\n  )\n  alt_gt_frames_flat12 = jnp.reshape(\n      alt_gt_frames_flat12,\n      aatype_in_shape\n      + (\n          8,\n          12,\n      ),\n  )\n\n  return {\n      'rigidgroups_gt_frames': gt_frames_flat12,  # (..., 8, 12)\n      'rigidgroups_gt_exists': gt_exists,  # (..., 8)\n      'rigidgroups_group_exists': group_exists,  # (..., 8)\n      'rigidgroups_group_is_ambiguous': (\n          residx_rigidgroup_is_ambiguous\n      ),  # (..., 8)\n      'rigidgroups_alt_gt_frames': alt_gt_frames_flat12,  # (..., 8, 12)\n  }\n\n\ndef atom37_to_torsion_angles(\n    aatype: jnp.ndarray,  # (B, N)\n    all_atom_pos: jnp.ndarray,  # (B, N, 37, 3)\n    all_atom_mask: jnp.ndarray,  # (B, N, 37)\n    placeholder_for_undefined=False,\n) -> Dict[str, jnp.ndarray]:\n  \"\"\"Computes the 7 torsion angles (in sin, cos encoding) for each residue.\n\n  The 7 torsion angles are in the order\n  '[pre_omega, phi, psi, chi_1, chi_2, chi_3, chi_4]',\n  here pre_omega denotes the omega torsion angle between the given amino acid\n  and the previous amino acid.\n\n  Args:\n    aatype: Amino acid type, given as array with integers.\n    all_atom_pos: atom37 representation of all atom coordinates.\n    all_atom_mask: atom37 representation of mask on all atom coordinates.\n    placeholder_for_undefined: flag denoting whether to set masked torsion\n      angles to zero.\n\n  Returns:\n    Dict containing:\n      * 'torsion_angles_sin_cos': Array with shape (B, N, 7, 2) where the final\n        2 dimensions denote sin and cos respectively\n      * 'alt_torsion_angles_sin_cos': same as 'torsion_angles_sin_cos', but\n        with the angle shifted by pi for all chi angles affected by the naming\n        ambiguities.\n      * 'torsion_angles_mask': Mask for which chi angles are present.\n  \"\"\"\n\n  # Map aatype > 20 to 'Unknown' (20).\n  aatype = jnp.minimum(aatype, 20)\n\n  # Compute the backbone angles.\n  num_batch, num_res = aatype.shape\n\n  pad = jnp.zeros([num_batch, 1, 37, 3], jnp.float32)\n  prev_all_atom_pos = jnp.concatenate([pad, all_atom_pos[:, :-1, :, :]], axis=1)\n\n  pad = jnp.zeros([num_batch, 1, 37], jnp.float32)\n  prev_all_atom_mask = jnp.concatenate([pad, all_atom_mask[:, :-1, :]], axis=1)\n\n  # For each torsion angle collect the 4 atom positions that define this angle.\n  # shape (B, N, atoms=4, xyz=3)\n  pre_omega_atom_pos = jnp.concatenate(\n      [\n          prev_all_atom_pos[:, :, 1:3, :],  # prev CA, C\n          all_atom_pos[:, :, 0:2, :],  # this N, CA\n      ],\n      axis=-2,\n  )\n  phi_atom_pos = jnp.concatenate(\n      [\n          prev_all_atom_pos[:, :, 2:3, :],  # prev C\n          all_atom_pos[:, :, 0:3, :],  # this N, CA, C\n      ],\n      axis=-2,\n  )\n  psi_atom_pos = jnp.concatenate(\n      [\n          all_atom_pos[:, :, 0:3, :],  # this N, CA, C\n          all_atom_pos[:, :, 4:5, :],  # this O\n      ],\n      axis=-2,\n  )\n\n  # Collect the masks from these atoms.\n  # Shape [batch, num_res]\n  pre_omega_mask = jnp.prod(\n      prev_all_atom_mask[:, :, 1:3], axis=-1\n  ) * jnp.prod(  # prev CA, C\n      all_atom_mask[:, :, 0:2], axis=-1\n  )  # this N, CA\n  phi_mask = prev_all_atom_mask[:, :, 2] * jnp.prod(  # prev C\n      all_atom_mask[:, :, 0:3], axis=-1\n  )  # this N, CA, C\n  psi_mask = (\n      jnp.prod(all_atom_mask[:, :, 0:3], axis=-1)  # this N, CA, C\n      * all_atom_mask[:, :, 4]\n  )  # this O\n\n  # Collect the atoms for the chi-angles.\n  # Compute the table of chi angle indices. Shape: [restypes, chis=4, atoms=4].\n  chi_atom_indices = get_chi_atom_indices()\n  # Select atoms to compute chis. Shape: [batch, num_res, chis=4, atoms=4].\n  atom_indices = utils.batched_gather(\n      params=chi_atom_indices, indices=aatype, axis=0, batch_dims=0\n  )\n  # Gather atom positions. Shape: [batch, num_res, chis=4, atoms=4, xyz=3].\n  chis_atom_pos = utils.batched_gather(\n      params=all_atom_pos, indices=atom_indices, axis=-2, batch_dims=2\n  )\n\n  # Copy the chi angle mask, add the UNKNOWN residue. Shape: [restypes, 4].\n  chi_angles_mask = list(residue_constants.chi_angles_mask)\n  chi_angles_mask.append([0.0, 0.0, 0.0, 0.0])\n  chi_angles_mask = jnp.asarray(chi_angles_mask)\n\n  # Compute the chi angle mask. I.e. which chis angles exist according to the\n  # aatype. Shape [batch, num_res, chis=4].\n  chis_mask = utils.batched_gather(\n      params=chi_angles_mask, indices=aatype, axis=0, batch_dims=0\n  )\n\n  # Constrain the chis_mask to those chis, where the ground truth coordinates of\n  # all defining four atoms are available.\n  # Gather the chi angle atoms mask. Shape: [batch, num_res, chis=4, atoms=4].\n  chi_angle_atoms_mask = utils.batched_gather(\n      params=all_atom_mask, indices=atom_indices, axis=-1, batch_dims=2\n  )\n  # Check if all 4 chi angle atoms were set. Shape: [batch, num_res, chis=4].\n  chi_angle_atoms_mask = jnp.prod(chi_angle_atoms_mask, axis=[-1])\n  chis_mask = chis_mask * (chi_angle_atoms_mask).astype(jnp.float32)\n\n  # Stack all torsion angle atom positions.\n  # Shape (B, N, torsions=7, atoms=4, xyz=3)\n  torsions_atom_pos = jnp.concatenate(\n      [\n          pre_omega_atom_pos[:, :, None, :, :],\n          phi_atom_pos[:, :, None, :, :],\n          psi_atom_pos[:, :, None, :, :],\n          chis_atom_pos,\n      ],\n      axis=2,\n  )\n\n  # Stack up masks for all torsion angles.\n  # shape (B, N, torsions=7)\n  torsion_angles_mask = jnp.concatenate(\n      [\n          pre_omega_mask[:, :, None],\n          phi_mask[:, :, None],\n          psi_mask[:, :, None],\n          chis_mask,\n      ],\n      axis=2,\n  )\n\n  # Create a frame from the first three atoms:\n  # First atom: point on x-y-plane\n  # Second atom: point on negative x-axis\n  # Third atom: origin\n  # r3.Rigids (B, N, torsions=7)\n  torsion_frames = r3.rigids_from_3_points(\n      point_on_neg_x_axis=r3.vecs_from_tensor(torsions_atom_pos[:, :, :, 1, :]),\n      origin=r3.vecs_from_tensor(torsions_atom_pos[:, :, :, 2, :]),\n      point_on_xy_plane=r3.vecs_from_tensor(torsions_atom_pos[:, :, :, 0, :]),\n  )\n\n  # Compute the position of the forth atom in this frame (y and z coordinate\n  # define the chi angle)\n  # r3.Vecs (B, N, torsions=7)\n  forth_atom_rel_pos = r3.rigids_mul_vecs(\n      r3.invert_rigids(torsion_frames),\n      r3.vecs_from_tensor(torsions_atom_pos[:, :, :, 3, :]),\n  )\n\n  # Normalize to have the sin and cos of the torsion angle.\n  # jnp.ndarray (B, N, torsions=7, sincos=2)\n  torsion_angles_sin_cos = jnp.stack(\n      [forth_atom_rel_pos.z, forth_atom_rel_pos.y], axis=-1\n  )\n  torsion_angles_sin_cos /= jnp.sqrt(\n      jnp.sum(jnp.square(torsion_angles_sin_cos), axis=-1, keepdims=True) + 1e-8\n  )\n\n  # Mirror psi, because we computed it from the Oxygen-atom.\n  torsion_angles_sin_cos *= jnp.asarray([1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0])[\n      None, None, :, None\n  ]\n\n  # Create alternative angles for ambiguous atom names.\n  chi_is_ambiguous = utils.batched_gather(\n      jnp.asarray(residue_constants.chi_pi_periodic), aatype\n  )\n  mirror_torsion_angles = jnp.concatenate(\n      [jnp.ones([num_batch, num_res, 3]), 1.0 - 2.0 * chi_is_ambiguous], axis=-1\n  )\n  alt_torsion_angles_sin_cos = (\n      torsion_angles_sin_cos * mirror_torsion_angles[:, :, :, None]\n  )\n\n  if placeholder_for_undefined:\n    # Add placeholder torsions in place of undefined torsion angles\n    # (e.g. N-terminus pre-omega)\n    placeholder_torsions = jnp.stack(\n        [\n            jnp.ones(torsion_angles_sin_cos.shape[:-1]),\n            jnp.zeros(torsion_angles_sin_cos.shape[:-1]),\n        ],\n        axis=-1,\n    )\n    torsion_angles_sin_cos = torsion_angles_sin_cos * torsion_angles_mask[\n        ..., None\n    ] + placeholder_torsions * (1 - torsion_angles_mask[..., None])\n    alt_torsion_angles_sin_cos = (\n        alt_torsion_angles_sin_cos * torsion_angles_mask[..., None]\n        + placeholder_torsions * (1 - torsion_angles_mask[..., None])\n    )\n\n  return {\n      'torsion_angles_sin_cos': torsion_angles_sin_cos,  # (B, N, 7, 2)\n      'alt_torsion_angles_sin_cos': alt_torsion_angles_sin_cos,  # (B, N, 7, 2)\n      'torsion_angles_mask': torsion_angles_mask,  # (B, N, 7)\n  }\n\n\ndef torsion_angles_to_frames(\n    aatype: jnp.ndarray,  # (N)\n    backb_to_global: r3.Rigids,  # (N)\n    torsion_angles_sin_cos: jnp.ndarray,  # (N, 7, 2)\n) -> r3.Rigids:  # (N, 8)\n  \"\"\"Compute rigid group frames from torsion angles.\n\n  Jumper et al. (2021) Suppl. Alg. 24 \"computeAllAtomCoordinates\" lines 2-10\n  Jumper et al. (2021) Suppl. Alg. 25 \"makeRotX\"\n\n  Args:\n    aatype: aatype for each residue\n    backb_to_global: Rigid transformations describing transformation from\n      backbone frame to global frame.\n    torsion_angles_sin_cos: sin and cosine of the 7 torsion angles\n\n  Returns:\n    Frames corresponding to all the Sidechain Rigid Transforms\n  \"\"\"\n  assert len(aatype.shape) == 1\n  assert len(backb_to_global.rot.xx.shape) == 1\n  assert len(torsion_angles_sin_cos.shape) == 3\n  assert torsion_angles_sin_cos.shape[1] == 7\n  assert torsion_angles_sin_cos.shape[2] == 2\n\n  # Gather the default frames for all rigid groups.\n  # r3.Rigids with shape (N, 8)\n  m = utils.batched_gather(\n      residue_constants.restype_rigid_group_default_frame, aatype\n  )\n  default_frames = r3.rigids_from_tensor4x4(m)\n\n  # Create the rotation matrices according to the given angles (each frame is\n  # defined such that its rotation is around the x-axis).\n  sin_angles = torsion_angles_sin_cos[..., 0]\n  cos_angles = torsion_angles_sin_cos[..., 1]\n\n  # insert zero rotation for backbone group.\n  (num_residues,) = aatype.shape\n  sin_angles = jnp.concatenate(\n      [jnp.zeros([num_residues, 1]), sin_angles], axis=-1\n  )\n  cos_angles = jnp.concatenate(\n      [jnp.ones([num_residues, 1]), cos_angles], axis=-1\n  )\n  zeros = jnp.zeros_like(sin_angles)\n  ones = jnp.ones_like(sin_angles)\n\n  # all_rots are r3.Rots with shape (N, 8)\n  all_rots = r3.Rots(\n      ones,\n      zeros,\n      zeros,\n      zeros,\n      cos_angles,\n      -sin_angles,\n      zeros,\n      sin_angles,\n      cos_angles,\n  )\n\n  # Apply rotations to the frames.\n  all_frames = r3.rigids_mul_rots(default_frames, all_rots)\n\n  # chi2, chi3, and chi4 frames do not transform to the backbone frame but to\n  # the previous frame. So chain them up accordingly.\n  chi2_frame_to_frame = jax.tree.map(lambda x: x[:, 5], all_frames)\n  chi3_frame_to_frame = jax.tree.map(lambda x: x[:, 6], all_frames)\n  chi4_frame_to_frame = jax.tree.map(lambda x: x[:, 7], all_frames)\n\n  chi1_frame_to_backb = jax.tree.map(lambda x: x[:, 4], all_frames)\n  chi2_frame_to_backb = r3.rigids_mul_rigids(\n      chi1_frame_to_backb, chi2_frame_to_frame\n  )\n  chi3_frame_to_backb = r3.rigids_mul_rigids(\n      chi2_frame_to_backb, chi3_frame_to_frame\n  )\n  chi4_frame_to_backb = r3.rigids_mul_rigids(\n      chi3_frame_to_backb, chi4_frame_to_frame\n  )\n\n  # Recombine them to a r3.Rigids with shape (N, 8).\n  def _concat_frames(xall, x5, x6, x7):\n    return jnp.concatenate(\n        [xall[:, 0:5], x5[:, None], x6[:, None], x7[:, None]], axis=-1\n    )\n\n  all_frames_to_backb = jax.tree.map(\n      _concat_frames,\n      all_frames,\n      chi2_frame_to_backb,\n      chi3_frame_to_backb,\n      chi4_frame_to_backb,\n  )\n\n  # Create the global frames.\n  # shape (N, 8)\n  all_frames_to_global = r3.rigids_mul_rigids(\n      jax.tree.map(lambda x: x[:, None], backb_to_global), all_frames_to_backb\n  )\n\n  return all_frames_to_global\n\n\ndef frames_and_literature_positions_to_atom14_pos(\n    aatype: jnp.ndarray, all_frames_to_global: r3.Rigids  # (N)  # (N, 8)\n) -> r3.Vecs:  # (N, 14)\n  \"\"\"Put atom literature positions (atom14 encoding) in each rigid group.\n\n  Jumper et al. (2021) Suppl. Alg. 24 \"computeAllAtomCoordinates\" line 11\n\n  Args:\n    aatype: aatype for each residue.\n    all_frames_to_global: All per residue coordinate frames.\n\n  Returns:\n    Positions of all atom coordinates in global frame.\n  \"\"\"\n\n  # Pick the appropriate transform for every atom.\n  residx_to_group_idx = utils.batched_gather(\n      residue_constants.restype_atom14_to_rigid_group, aatype\n  )\n  group_mask = jax.nn.one_hot(\n      residx_to_group_idx, num_classes=8\n  )  # shape (N, 14, 8)\n\n  # r3.Rigids with shape (N, 14)\n  map_atoms_to_global = jax.tree.map(\n      lambda x: jnp.sum(x[:, None, :] * group_mask, axis=-1),\n      all_frames_to_global,\n  )\n\n  # Gather the literature atom positions for each residue.\n  # r3.Vecs with shape (N, 14)\n  lit_positions = r3.vecs_from_tensor(\n      utils.batched_gather(\n          residue_constants.restype_atom14_rigid_group_positions, aatype\n      )\n  )\n\n  # Transform each atom from its local frame to the global frame.\n  # r3.Vecs with shape (N, 14)\n  pred_positions = r3.rigids_mul_vecs(map_atoms_to_global, lit_positions)\n\n  # Mask out non-existing atoms.\n  mask = utils.batched_gather(residue_constants.restype_atom14_mask, aatype)\n  pred_positions = jax.tree.map(lambda x: x * mask, pred_positions)\n\n  return pred_positions\n\n\ndef extreme_ca_ca_distance_violations(\n    pred_atom_positions: jnp.ndarray,  # (N, 37(14), 3)\n    pred_atom_mask: jnp.ndarray,  # (N, 37(14))\n    residue_index: jnp.ndarray,  # (N)\n    max_angstrom_tolerance=1.5,\n) -> jnp.ndarray:\n  \"\"\"Counts residues whose Ca is a large distance from its neighbour.\n\n  Measures the fraction of CA-CA pairs between consecutive amino acids that are\n  more than 'max_angstrom_tolerance' apart.\n\n  Args:\n    pred_atom_positions: Atom positions in atom37/14 representation\n    pred_atom_mask: Atom mask in atom37/14 representation\n    residue_index: Residue index for given amino acid, this is assumed to be\n      monotonically increasing.\n    max_angstrom_tolerance: Maximum distance allowed to not count as violation.\n\n  Returns:\n    Fraction of consecutive CA-CA pairs with violation.\n  \"\"\"\n  this_ca_pos = pred_atom_positions[:-1, 1, :]  # (N - 1, 3)\n  this_ca_mask = pred_atom_mask[:-1, 1]  # (N - 1)\n  next_ca_pos = pred_atom_positions[1:, 1, :]  # (N - 1, 3)\n  next_ca_mask = pred_atom_mask[1:, 1]  # (N - 1)\n  has_no_gap_mask = ((residue_index[1:] - residue_index[:-1]) == 1.0).astype(\n      jnp.float32\n  )\n  ca_ca_distance = jnp.sqrt(\n      1e-6 + jnp.sum(squared_difference(this_ca_pos, next_ca_pos), axis=-1)\n  )\n  violations = (\n      ca_ca_distance - residue_constants.ca_ca\n  ) > max_angstrom_tolerance\n  mask = this_ca_mask * next_ca_mask * has_no_gap_mask\n  return utils.mask_mean(mask=mask, value=violations)\n\n\ndef between_residue_bond_loss(\n    pred_atom_positions: jnp.ndarray,  # (N, 37(14), 3)\n    pred_atom_mask: jnp.ndarray,  # (N, 37(14))\n    residue_index: jnp.ndarray,  # (N)\n    aatype: jnp.ndarray,  # (N)\n    tolerance_factor_soft=12.0,\n    tolerance_factor_hard=12.0,\n) -> Dict[str, jnp.ndarray]:\n  \"\"\"Flat-bottom loss to penalize structural violations between residues.\n\n  This is a loss penalizing any violation of the geometry around the peptide\n  bond between consecutive amino acids. This loss corresponds to\n  Jumper et al. (2021) Suppl. Sec. 1.9.11, eq 44, 45.\n\n  Args:\n    pred_atom_positions: Atom positions in atom37/14 representation\n    pred_atom_mask: Atom mask in atom37/14 representation\n    residue_index: Residue index for given amino acid, this is assumed to be\n      monotonically increasing.\n    aatype: Amino acid type of given residue\n    tolerance_factor_soft: soft tolerance factor measured in standard deviations\n      of pdb distributions\n    tolerance_factor_hard: hard tolerance factor measured in standard deviations\n      of pdb distributions\n\n  Returns:\n    Dict containing:\n      * 'c_n_loss_mean': Loss for peptide bond length violations\n      * 'ca_c_n_loss_mean': Loss for violations of bond angle around C spanned\n          by CA, C, N\n      * 'c_n_ca_loss_mean': Loss for violations of bond angle around N spanned\n          by C, N, CA\n      * 'per_residue_loss_sum': sum of all losses for each residue\n      * 'per_residue_violation_mask': mask denoting all residues with violation\n          present.\n  \"\"\"\n  assert len(pred_atom_positions.shape) == 3\n  assert len(pred_atom_mask.shape) == 2\n  assert len(residue_index.shape) == 1\n  assert len(aatype.shape) == 1\n\n  # Get the positions of the relevant backbone atoms.\n  this_ca_pos = pred_atom_positions[:-1, 1, :]  # (N - 1, 3)\n  this_ca_mask = pred_atom_mask[:-1, 1]  # (N - 1)\n  this_c_pos = pred_atom_positions[:-1, 2, :]  # (N - 1, 3)\n  this_c_mask = pred_atom_mask[:-1, 2]  # (N - 1)\n  next_n_pos = pred_atom_positions[1:, 0, :]  # (N - 1, 3)\n  next_n_mask = pred_atom_mask[1:, 0]  # (N - 1)\n  next_ca_pos = pred_atom_positions[1:, 1, :]  # (N - 1, 3)\n  next_ca_mask = pred_atom_mask[1:, 1]  # (N - 1)\n  has_no_gap_mask = ((residue_index[1:] - residue_index[:-1]) == 1.0).astype(\n      jnp.float32\n  )\n\n  # Compute loss for the C--N bond.\n  c_n_bond_length = jnp.sqrt(\n      1e-6 + jnp.sum(squared_difference(this_c_pos, next_n_pos), axis=-1)\n  )\n\n  # The C-N bond to proline has slightly different length because of the ring.\n  next_is_proline = (\n      aatype[1:] == residue_constants.resname_to_idx['PRO']\n  ).astype(jnp.float32)\n  c_n_loss_per_residue, c_n_loss, c_n_violation_mask = _loss_and_violation_mask(\n      metric=c_n_bond_length,\n      gt_metric=(\n          (1.0 - next_is_proline)\n          * residue_constants.between_res_bond_length_c_n[0]\n          + next_is_proline * residue_constants.between_res_bond_length_c_n[1]\n      ),\n      gt_stddev=(\n          (1.0 - next_is_proline)\n          * residue_constants.between_res_bond_length_stddev_c_n[0]\n          + next_is_proline\n          * residue_constants.between_res_bond_length_stddev_c_n[1]\n      ),\n      mask=this_c_mask * next_n_mask * has_no_gap_mask,\n      tolerance_factor_soft=tolerance_factor_soft,\n      tolerance_factor_hard=tolerance_factor_hard,\n  )\n\n  # Compute loss for the angles.\n  ca_c_bond_length = jnp.sqrt(\n      1e-6 + jnp.sum(squared_difference(this_ca_pos, this_c_pos), axis=-1)\n  )\n  n_ca_bond_length = jnp.sqrt(\n      1e-6 + jnp.sum(squared_difference(next_n_pos, next_ca_pos), axis=-1)\n  )\n\n  c_ca_unit_vec = (this_ca_pos - this_c_pos) / ca_c_bond_length[:, None]\n  c_n_unit_vec = (next_n_pos - this_c_pos) / c_n_bond_length[:, None]\n  n_ca_unit_vec = (next_ca_pos - next_n_pos) / n_ca_bond_length[:, None]\n\n  ca_c_n_loss_per_residue, ca_c_n_loss, ca_c_n_violation_mask = (\n      _loss_and_violation_mask(\n          metric=jnp.sum(c_ca_unit_vec * c_n_unit_vec, axis=-1),\n          gt_metric=residue_constants.between_res_cos_angles_ca_c_n[0],\n          gt_stddev=residue_constants.between_res_cos_angles_ca_c_n[1],\n          mask=this_ca_mask * this_c_mask * next_n_mask * has_no_gap_mask,\n          tolerance_factor_soft=tolerance_factor_soft,\n          tolerance_factor_hard=tolerance_factor_hard,\n      )\n  )\n\n  c_n_ca_loss_per_residue, c_n_ca_loss, c_n_ca_violation_mask = (\n      _loss_and_violation_mask(\n          metric=jnp.sum((-c_n_unit_vec) * n_ca_unit_vec, axis=-1),\n          gt_metric=residue_constants.between_res_cos_angles_c_n_ca[0],\n          gt_stddev=residue_constants.between_res_cos_angles_c_n_ca[1],\n          mask=this_c_mask * next_n_mask * next_ca_mask * has_no_gap_mask,\n          tolerance_factor_soft=tolerance_factor_soft,\n          tolerance_factor_hard=tolerance_factor_hard,\n      )\n  )\n\n  # Compute a per residue loss (equally distribute the loss to both\n  # neighbouring residues).\n  per_residue_loss_sum = (\n      c_n_loss_per_residue + ca_c_n_loss_per_residue + c_n_ca_loss_per_residue\n  )\n  per_residue_loss_sum = 0.5 * (\n      jnp.pad(per_residue_loss_sum, [[0, 1]])\n      + jnp.pad(per_residue_loss_sum, [[1, 0]])\n  )\n\n  # Compute hard violations.\n  violation_mask = jnp.max(\n      jnp.stack(\n          [c_n_violation_mask, ca_c_n_violation_mask, c_n_ca_violation_mask]\n      ),\n      axis=0,\n  )\n  violation_mask = jnp.maximum(\n      jnp.pad(violation_mask, [[0, 1]]), jnp.pad(violation_mask, [[1, 0]])\n  )\n\n  return {\n      'c_n_loss_mean': c_n_loss,  # shape ()\n      'ca_c_n_loss_mean': ca_c_n_loss,  # shape ()\n      'c_n_ca_loss_mean': c_n_ca_loss,  # shape ()\n      'per_residue_loss_sum': per_residue_loss_sum,  # shape (N)\n      'per_residue_violation_mask': violation_mask,  # shape (N)\n  }\n\n\ndef _loss_and_violation_mask(\n    *,\n    metric: jnp.ndarray,  # (N - 1)\n    gt_metric: Union[float, jnp.ndarray],\n    gt_stddev: Union[float, jnp.ndarray],\n    mask: jnp.ndarray,  # (N - 1)\n    tolerance_factor_soft: float = 12.0,\n    tolerance_factor_hard: float = 12.0,\n):\n  \"\"\"Compute loss and violation mask for a given metric.\"\"\"\n  error = jnp.sqrt(1e-6 + jnp.square(metric - gt_metric))\n  loss_per_residue = jax.nn.relu(error - tolerance_factor_soft * gt_stddev)\n  loss = jnp.sum(mask * loss_per_residue) / (jnp.sum(mask) + 1e-6)\n  violation_mask = mask * (error > (tolerance_factor_hard * gt_stddev))\n  return loss_per_residue, loss, violation_mask\n\n\ndef between_residue_clash_loss(\n    atom14_pred_positions: jnp.ndarray,  # (N, 14, 3)\n    atom14_atom_exists: jnp.ndarray,  # (N, 14)\n    atom14_atom_radius: jnp.ndarray,  # (N, 14)\n    residue_index: jnp.ndarray,  # (N)\n    overlap_tolerance_soft=1.5,\n    overlap_tolerance_hard=1.5,\n) -> Dict[str, jnp.ndarray]:\n  \"\"\"Loss to penalize steric clashes between residues.\n\n  This is a loss penalizing any steric clashes due to non bonded atoms in\n  different peptides coming too close. This loss corresponds to the part with\n  different residues of\n  Jumper et al. (2021) Suppl. Sec. 1.9.11, eq 46.\n\n  Args:\n    atom14_pred_positions: Predicted positions of atoms in global prediction\n      frame\n    atom14_atom_exists: Mask denoting whether atom at positions exists for given\n      amino acid type\n    atom14_atom_radius: Van der Waals radius for each atom.\n    residue_index: Residue index for given amino acid.\n    overlap_tolerance_soft: Soft tolerance factor.\n    overlap_tolerance_hard: Hard tolerance factor.\n\n  Returns:\n    Dict containing:\n      * 'mean_loss': average clash loss\n      * 'per_atom_loss_sum': sum of all clash losses per atom, shape (N, 14)\n      * 'per_atom_clash_mask': mask whether atom clashes with any other atom\n          shape (N, 14)\n  \"\"\"\n  assert len(atom14_pred_positions.shape) == 3\n  assert len(atom14_atom_exists.shape) == 2\n  assert len(atom14_atom_radius.shape) == 2\n  assert len(residue_index.shape) == 1\n\n  # Create the distance matrix.\n  # (N, N, 14, 14)\n  dists = jnp.sqrt(\n      1e-10\n      + jnp.sum(\n          squared_difference(\n              atom14_pred_positions[:, None, :, None, :],\n              atom14_pred_positions[None, :, None, :, :],\n          ),\n          axis=-1,\n      )\n  )\n\n  # Create the mask for valid distances.\n  # shape (N, N, 14, 14)\n  dists_mask = (\n      atom14_atom_exists[:, None, :, None]\n      * atom14_atom_exists[None, :, None, :]\n  )\n\n  # Mask out all the duplicate entries in the lower triangular matrix.\n  # Also mask out the diagonal (atom-pairs from the same residue) -- these atoms\n  # are handled separately.\n  dists_mask *= (\n      residue_index[:, None, None, None] < residue_index[None, :, None, None]\n  )\n\n  # Backbone C--N bond between subsequent residues is no clash.\n  c_one_hot = jax.nn.one_hot(2, num_classes=14)\n  n_one_hot = jax.nn.one_hot(0, num_classes=14)\n  neighbour_mask = (residue_index[:, None, None, None] + 1) == residue_index[\n      None, :, None, None\n  ]\n  c_n_bonds = (\n      neighbour_mask\n      * c_one_hot[None, None, :, None]\n      * n_one_hot[None, None, None, :]\n  )\n  dists_mask *= 1.0 - c_n_bonds\n\n  # Disulfide bridge between two cysteines is no clash.\n  cys_sg_idx = residue_constants.restype_name_to_atom14_names['CYS'].index('SG')\n  cys_sg_one_hot = jax.nn.one_hot(cys_sg_idx, num_classes=14)\n  disulfide_bonds = (\n      cys_sg_one_hot[None, None, :, None] * cys_sg_one_hot[None, None, None, :]\n  )\n  dists_mask *= 1.0 - disulfide_bonds\n\n  # Compute the lower bound for the allowed distances.\n  # shape (N, N, 14, 14)\n  dists_lower_bound = dists_mask * (\n      atom14_atom_radius[:, None, :, None]\n      + atom14_atom_radius[None, :, None, :]\n  )\n\n  # Compute the error.\n  # shape (N, N, 14, 14)\n  dists_to_low_error = dists_mask * jax.nn.relu(\n      dists_lower_bound - overlap_tolerance_soft - dists\n  )\n\n  # Compute the mean loss.\n  # shape ()\n  mean_loss = jnp.sum(dists_to_low_error) / (1e-6 + jnp.sum(dists_mask))\n\n  # Compute the per atom loss sum.\n  # shape (N, 14)\n  per_atom_loss_sum = jnp.sum(dists_to_low_error, axis=[0, 2]) + jnp.sum(\n      dists_to_low_error, axis=[1, 3]\n  )\n\n  # Compute the hard clash mask.\n  # shape (N, N, 14, 14)\n  clash_mask = dists_mask * (\n      dists < (dists_lower_bound - overlap_tolerance_hard)\n  )\n\n  # Compute the per atom clash.\n  # shape (N, 14)\n  per_atom_clash_mask = jnp.maximum(\n      jnp.max(clash_mask, axis=[0, 2]), jnp.max(clash_mask, axis=[1, 3])\n  )\n\n  return {\n      'mean_loss': mean_loss,  # shape ()\n      'per_atom_loss_sum': per_atom_loss_sum,  # shape (N, 14)\n      'per_atom_clash_mask': per_atom_clash_mask,  # shape (N, 14)\n  }\n\n\ndef within_residue_violations(\n    atom14_pred_positions: jnp.ndarray,  # (N, 14, 3)\n    atom14_atom_exists: jnp.ndarray,  # (N, 14)\n    atom14_dists_lower_bound: jnp.ndarray,  # (N, 14, 14)\n    atom14_dists_upper_bound: jnp.ndarray,  # (N, 14, 14)\n    tighten_bounds_for_loss=0.0,\n) -> Dict[str, jnp.ndarray]:\n  \"\"\"Loss to penalize steric clashes within residues.\n\n  This is a loss penalizing any steric violations or clashes of non-bonded atoms\n  in a given peptide. This loss corresponds to the part with\n  the same residues of\n  Jumper et al. (2021) Suppl. Sec. 1.9.11, eq 46.\n\n  Args:\n    atom14_pred_positions: Predicted positions of atoms in global prediction\n      frame\n    atom14_atom_exists: Mask denoting whether atom at positions exists for given\n      amino acid type\n    atom14_dists_lower_bound: Lower bound on allowed distances.\n    atom14_dists_upper_bound: Upper bound on allowed distances\n    tighten_bounds_for_loss: Extra factor to tighten loss\n\n  Returns:\n    Dict containing:\n      * 'per_atom_loss_sum': sum of all clash losses per atom, shape (N, 14)\n      * 'per_atom_clash_mask': mask whether atom clashes with any other atom\n          shape (N, 14)\n  \"\"\"\n  assert len(atom14_pred_positions.shape) == 3\n  assert len(atom14_atom_exists.shape) == 2\n  assert len(atom14_dists_lower_bound.shape) == 3\n  assert len(atom14_dists_upper_bound.shape) == 3\n\n  # Compute the mask for each residue.\n  # shape (N, 14, 14)\n  dists_masks = 1.0 - jnp.eye(14, 14)[None]\n  dists_masks *= atom14_atom_exists[:, :, None] * atom14_atom_exists[:, None, :]\n\n  # Distance matrix\n  # shape (N, 14, 14)\n  dists = jnp.sqrt(\n      1e-10\n      + jnp.sum(\n          squared_difference(\n              atom14_pred_positions[:, :, None, :],\n              atom14_pred_positions[:, None, :, :],\n          ),\n          axis=-1,\n      )\n  )\n\n  # Compute the loss.\n  # shape (N, 14, 14)\n  dists_to_low_error = jax.nn.relu(\n      atom14_dists_lower_bound + tighten_bounds_for_loss - dists\n  )\n  dists_to_high_error = jax.nn.relu(\n      dists - (atom14_dists_upper_bound - tighten_bounds_for_loss)\n  )\n  loss = dists_masks * (dists_to_low_error + dists_to_high_error)\n\n  # Compute the per atom loss sum.\n  # shape (N, 14)\n  per_atom_loss_sum = jnp.sum(loss, axis=1) + jnp.sum(loss, axis=2)\n\n  # Compute the violations mask.\n  # shape (N, 14, 14)\n  violations = dists_masks * (\n      (dists < atom14_dists_lower_bound) | (dists > atom14_dists_upper_bound)\n  )\n\n  # Compute the per atom violations.\n  # shape (N, 14)\n  per_atom_violations = jnp.maximum(\n      jnp.max(violations, axis=1), jnp.max(violations, axis=2)\n  )\n\n  return {\n      'per_atom_loss_sum': per_atom_loss_sum,  # shape (N, 14)\n      'per_atom_violations': per_atom_violations,  # shape (N, 14)\n  }\n\n\ndef find_optimal_renaming(\n    atom14_gt_positions: jnp.ndarray,  # (N, 14, 3)\n    atom14_alt_gt_positions: jnp.ndarray,  # (N, 14, 3)\n    atom14_atom_is_ambiguous: jnp.ndarray,  # (N, 14)\n    atom14_gt_exists: jnp.ndarray,  # (N, 14)\n    atom14_pred_positions: jnp.ndarray,  # (N, 14, 3)\n    atom14_atom_exists: jnp.ndarray,  # (N, 14)\n) -> jnp.ndarray:  # (N):\n  \"\"\"Find optimal renaming for ground truth that maximizes LDDT.\n\n  Jumper et al. (2021) Suppl. Alg. 26\n  \"renameSymmetricGroundTruthAtoms\" lines 1-5\n\n  Args:\n    atom14_gt_positions: Ground truth positions in global frame of ground truth.\n    atom14_alt_gt_positions: Alternate ground truth positions in global frame of\n      ground truth with coordinates of ambiguous atoms swapped relative to\n      'atom14_gt_positions'.\n    atom14_atom_is_ambiguous: Mask denoting whether atom is among ambiguous\n      atoms, see Jumper et al. (2021) Suppl. Table 3\n    atom14_gt_exists: Mask denoting whether atom at positions exists in ground\n      truth.\n    atom14_pred_positions: Predicted positions of atoms in global prediction\n      frame\n    atom14_atom_exists: Mask denoting whether atom at positions exists for given\n      amino acid type\n\n  Returns:\n    Float array of shape [N] with 1. where atom14_alt_gt_positions is closer to\n    prediction and 0. otherwise\n  \"\"\"\n  assert len(atom14_gt_positions.shape) == 3\n  assert len(atom14_alt_gt_positions.shape) == 3\n  assert len(atom14_atom_is_ambiguous.shape) == 2\n  assert len(atom14_gt_exists.shape) == 2\n  assert len(atom14_pred_positions.shape) == 3\n  assert len(atom14_atom_exists.shape) == 2\n\n  # Create the pred distance matrix.\n  # shape (N, N, 14, 14)\n  pred_dists = jnp.sqrt(\n      1e-10\n      + jnp.sum(\n          squared_difference(\n              atom14_pred_positions[:, None, :, None, :],\n              atom14_pred_positions[None, :, None, :, :],\n          ),\n          axis=-1,\n      )\n  )\n\n  # Compute distances for ground truth with original and alternative names.\n  # shape (N, N, 14, 14)\n  gt_dists = jnp.sqrt(\n      1e-10\n      + jnp.sum(\n          squared_difference(\n              atom14_gt_positions[:, None, :, None, :],\n              atom14_gt_positions[None, :, None, :, :],\n          ),\n          axis=-1,\n      )\n  )\n  alt_gt_dists = jnp.sqrt(\n      1e-10\n      + jnp.sum(\n          squared_difference(\n              atom14_alt_gt_positions[:, None, :, None, :],\n              atom14_alt_gt_positions[None, :, None, :, :],\n          ),\n          axis=-1,\n      )\n  )\n\n  # Compute LDDT's.\n  # shape (N, N, 14, 14)\n  lddt = jnp.sqrt(1e-10 + squared_difference(pred_dists, gt_dists))\n  alt_lddt = jnp.sqrt(1e-10 + squared_difference(pred_dists, alt_gt_dists))\n\n  # Create a mask for ambiguous atoms in rows vs. non-ambiguous atoms\n  # in cols.\n  # shape (N ,N, 14, 14)\n  mask = (\n      atom14_gt_exists[:, None, :, None]  # rows\n      * atom14_atom_is_ambiguous[:, None, :, None]  # rows\n      * atom14_gt_exists[None, :, None, :]  # cols\n      * (1.0 - atom14_atom_is_ambiguous[None, :, None, :])\n  )  # cols\n\n  # Aggregate distances for each residue to the non-amibuguous atoms.\n  # shape (N)\n  per_res_lddt = jnp.sum(mask * lddt, axis=[1, 2, 3])\n  alt_per_res_lddt = jnp.sum(mask * alt_lddt, axis=[1, 2, 3])\n\n  # Decide for each residue, whether alternative naming is better.\n  # shape (N)\n  alt_naming_is_better = (alt_per_res_lddt < per_res_lddt).astype(jnp.float32)\n\n  return alt_naming_is_better  # shape (N)\n\n\ndef frame_aligned_point_error(\n    pred_frames: r3.Rigids,  # shape (num_frames)\n    target_frames: r3.Rigids,  # shape (num_frames)\n    frames_mask: jnp.ndarray,  # shape (num_frames)\n    pred_positions: r3.Vecs,  # shape (num_positions)\n    target_positions: r3.Vecs,  # shape (num_positions)\n    positions_mask: jnp.ndarray,  # shape (num_positions)\n    length_scale: float,\n    l1_clamp_distance: Optional[float] = None,\n    epsilon=1e-4,\n) -> jnp.ndarray:  # shape ()\n  \"\"\"Measure point error under different alignments.\n\n  Jumper et al. (2021) Suppl. Alg. 28 \"computeFAPE\"\n\n  Computes error between two structures with B points under A alignments derived\n  from the given pairs of frames.\n  Args:\n    pred_frames: num_frames reference frames for 'pred_positions'.\n    target_frames: num_frames reference frames for 'target_positions'.\n    frames_mask: Mask for frame pairs to use.\n    pred_positions: num_positions predicted positions of the structure.\n    target_positions: num_positions target positions of the structure.\n    positions_mask: Mask on which positions to score.\n    length_scale: length scale to divide loss by.\n    l1_clamp_distance: Distance cutoff on error beyond which gradients will be\n      zero.\n    epsilon: small value used to regularize denominator for masked average.\n\n  Returns:\n    Masked Frame Aligned Point Error.\n  \"\"\"\n  assert pred_frames.rot.xx.ndim == 1\n  assert target_frames.rot.xx.ndim == 1\n  assert frames_mask.ndim == 1, frames_mask.ndim\n  assert pred_positions.x.ndim == 1\n  assert target_positions.x.ndim == 1\n  assert positions_mask.ndim == 1\n\n  # Compute array of predicted positions in the predicted frames.\n  # r3.Vecs (num_frames, num_positions)\n  local_pred_pos = r3.rigids_mul_vecs(\n      jax.tree.map(lambda r: r[:, None], r3.invert_rigids(pred_frames)),\n      jax.tree.map(lambda x: x[None, :], pred_positions),\n  )\n\n  # Compute array of target positions in the target frames.\n  # r3.Vecs (num_frames, num_positions)\n  local_target_pos = r3.rigids_mul_vecs(\n      jax.tree.map(lambda r: r[:, None], r3.invert_rigids(target_frames)),\n      jax.tree.map(lambda x: x[None, :], target_positions),\n  )\n\n  # Compute errors between the structures.\n  # jnp.ndarray (num_frames, num_positions)\n  error_dist = jnp.sqrt(\n      r3.vecs_squared_distance(local_pred_pos, local_target_pos) + epsilon\n  )\n\n  if l1_clamp_distance:\n    error_dist = jnp.clip(error_dist, 0, l1_clamp_distance)\n\n  normed_error = error_dist / length_scale\n  normed_error *= jnp.expand_dims(frames_mask, axis=-1)\n  normed_error *= jnp.expand_dims(positions_mask, axis=-2)\n\n  normalization_factor = jnp.sum(frames_mask, axis=-1) * jnp.sum(\n      positions_mask, axis=-1\n  )\n  return jnp.sum(normed_error, axis=(-2, -1)) / (epsilon + normalization_factor)\n\n\ndef _make_renaming_matrices():\n  \"\"\"Matrices to map atoms to symmetry partners in ambiguous case.\"\"\"\n  # As the atom naming is ambiguous for 7 of the 20 amino acids, provide\n  # alternative groundtruth coordinates where the naming is swapped\n  restype_3 = [\n      residue_constants.restype_1to3[res] for res in residue_constants.restypes\n  ]\n  restype_3 += ['UNK']\n  # Matrices for renaming ambiguous atoms.\n  all_matrices = {res: np.eye(14, dtype=np.float32) for res in restype_3}\n  for resname, swap in residue_constants.residue_atom_renaming_swaps.items():\n    correspondences = np.arange(14)\n    for source_atom_swap, target_atom_swap in swap.items():\n      source_index = residue_constants.restype_name_to_atom14_names[\n          resname\n      ].index(source_atom_swap)\n      target_index = residue_constants.restype_name_to_atom14_names[\n          resname\n      ].index(target_atom_swap)\n      correspondences[source_index] = target_index\n      correspondences[target_index] = source_index\n\n    renaming_matrix = np.zeros((14, 14), dtype=np.float32)\n    for index, correspondence in enumerate(correspondences):\n      renaming_matrix[index, correspondence] = 1.0\n    all_matrices[resname] = renaming_matrix.astype(np.float32)\n  renaming_matrices = np.stack([all_matrices[restype] for restype in restype_3])\n  return renaming_matrices\n\n\nRENAMING_MATRICES = _make_renaming_matrices()\n\n\ndef get_alt_atom14(aatype, positions, mask):\n  \"\"\"Get alternative atom14 positions.\n\n  Constructs renamed atom positions for ambiguous residues.\n\n  Jumper et al. (2021) Suppl. Table 3 \"Ambiguous atom names due to 180 degree-\n  rotation-symmetry\"\n\n  Args:\n    aatype: Amino acid at given position\n    positions: Atom positions as r3.Vecs in atom14 representation, (N, 14)\n    mask: Atom masks in atom14 representation, (N, 14)\n\n  Returns:\n    renamed atom positions, renamed atom mask\n  \"\"\"\n  # pick the transformation matrices for the given residue sequence\n  # shape (num_res, 14, 14)\n  renaming_transform = utils.batched_gather(\n      jnp.asarray(RENAMING_MATRICES), aatype\n  )\n\n  positions = jax.tree.map(lambda x: x[:, :, None], positions)\n  alternative_positions = jax.tree.map(\n      lambda x: jnp.sum(x, axis=1), positions * renaming_transform\n  )\n\n  # Create the mask for the alternative ground truth (differs from the\n  # ground truth mask, if only one of the atoms in an ambiguous pair has a\n  # ground truth position)\n  alternative_mask = jnp.sum(mask[..., None] * renaming_transform, axis=1)\n\n  return alternative_positions, alternative_mask\n"
  },
  {
    "path": "alphafold/model/all_atom_multimer.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\"\"\"Ops for all atom representations.\"\"\"\n\nfrom typing import Dict, Optional\n\nfrom alphafold.common import residue_constants\nfrom alphafold.model import geometry\nfrom alphafold.model import utils\nimport jax\nimport jax.numpy as jnp\nimport numpy as np\n\n\ndef squared_difference(x, y):\n  return jnp.square(x - y)\n\n\ndef _make_chi_atom_indices():\n  \"\"\"Returns atom indices needed to compute chi angles for all residue types.\n\n  Returns:\n    A tensor of shape [residue_types=21, chis=4, atoms=4]. The residue types are\n    in the order specified in residue_constants.restypes + unknown residue type\n    at the end. For chi angles which are not defined on the residue, the\n    positions indices are by default set to 0.\n  \"\"\"\n  chi_atom_indices = []\n  for residue_name in residue_constants.restypes:\n    residue_name = residue_constants.restype_1to3[residue_name]\n    residue_chi_angles = residue_constants.chi_angles_atoms[residue_name]\n    atom_indices = []\n    for chi_angle in residue_chi_angles:\n      atom_indices.append(\n          [residue_constants.atom_order[atom] for atom in chi_angle]\n      )\n    for _ in range(4 - len(atom_indices)):\n      atom_indices.append([0, 0, 0, 0])  # For chi angles not defined on the AA.\n    chi_atom_indices.append(atom_indices)\n\n  chi_atom_indices.append([[0, 0, 0, 0]] * 4)  # For UNKNOWN residue.\n\n  return np.array(chi_atom_indices)\n\n\ndef _make_renaming_matrices():\n  \"\"\"Matrices to map atoms to symmetry partners in ambiguous case.\"\"\"\n  # As the atom naming is ambiguous for 7 of the 20 amino acids, provide\n  # alternative groundtruth coordinates where the naming is swapped\n  restype_3 = [\n      residue_constants.restype_1to3[res] for res in residue_constants.restypes\n  ]\n  restype_3 += ['UNK']\n  # Matrices for renaming ambiguous atoms.\n  all_matrices = {res: np.eye(14, dtype=np.float32) for res in restype_3}\n  for resname, swap in residue_constants.residue_atom_renaming_swaps.items():\n    correspondences = np.arange(14)\n    for source_atom_swap, target_atom_swap in swap.items():\n      source_index = residue_constants.restype_name_to_atom14_names[\n          resname\n      ].index(source_atom_swap)\n      target_index = residue_constants.restype_name_to_atom14_names[\n          resname\n      ].index(target_atom_swap)\n      correspondences[source_index] = target_index\n      correspondences[target_index] = source_index\n      renaming_matrix = np.zeros((14, 14), dtype=np.float32)\n      for index, correspondence in enumerate(correspondences):\n        renaming_matrix[index, correspondence] = 1.0\n    all_matrices[resname] = renaming_matrix.astype(np.float32)\n  renaming_matrices = np.stack([all_matrices[restype] for restype in restype_3])\n  return renaming_matrices\n\n\ndef _make_restype_atom37_mask():\n  \"\"\"Mask of which atoms are present for which residue type in atom37.\"\"\"\n  # create the corresponding mask\n  restype_atom37_mask = np.zeros([21, 37], dtype=np.float32)\n  for restype, restype_letter in enumerate(residue_constants.restypes):\n    restype_name = residue_constants.restype_1to3[restype_letter]\n    atom_names = residue_constants.residue_atoms[restype_name]\n    for atom_name in atom_names:\n      atom_type = residue_constants.atom_order[atom_name]\n      restype_atom37_mask[restype, atom_type] = 1\n  return restype_atom37_mask\n\n\ndef _make_restype_atom14_mask():\n  \"\"\"Mask of which atoms are present for which residue type in atom14.\"\"\"\n  restype_atom14_mask = []\n\n  for rt in residue_constants.restypes:\n    atom_names = residue_constants.restype_name_to_atom14_names[\n        residue_constants.restype_1to3[rt]\n    ]\n    restype_atom14_mask.append([(1.0 if name else 0.0) for name in atom_names])\n\n  restype_atom14_mask.append([0.0] * 14)\n  restype_atom14_mask = np.array(restype_atom14_mask, dtype=np.float32)\n  return restype_atom14_mask\n\n\ndef _make_restype_atom37_to_atom14():\n  \"\"\"Map from atom37 to atom14 per residue type.\"\"\"\n  restype_atom37_to_atom14 = []  # mapping (restype, atom37) --> atom14\n  for rt in residue_constants.restypes:\n    atom_names = residue_constants.restype_name_to_atom14_names[\n        residue_constants.restype_1to3[rt]\n    ]\n    atom_name_to_idx14 = {name: i for i, name in enumerate(atom_names)}\n    restype_atom37_to_atom14.append([\n        (atom_name_to_idx14[name] if name in atom_name_to_idx14 else 0)\n        for name in residue_constants.atom_types\n    ])\n\n  restype_atom37_to_atom14.append([0] * 37)\n  restype_atom37_to_atom14 = np.array(restype_atom37_to_atom14, dtype=np.int32)\n  return restype_atom37_to_atom14\n\n\ndef _make_restype_atom14_to_atom37():\n  \"\"\"Map from atom14 to atom37 per residue type.\"\"\"\n  restype_atom14_to_atom37 = []  # mapping (restype, atom14) --> atom37\n  for rt in residue_constants.restypes:\n    atom_names = residue_constants.restype_name_to_atom14_names[\n        residue_constants.restype_1to3[rt]\n    ]\n    restype_atom14_to_atom37.append([\n        (residue_constants.atom_order[name] if name else 0)\n        for name in atom_names\n    ])\n  # Add dummy mapping for restype 'UNK'\n  restype_atom14_to_atom37.append([0] * 14)\n  restype_atom14_to_atom37 = np.array(restype_atom14_to_atom37, dtype=np.int32)\n  return restype_atom14_to_atom37\n\n\ndef _make_restype_atom14_is_ambiguous():\n  \"\"\"Mask which atoms are ambiguous in atom14.\"\"\"\n  # create an ambiguous atoms mask.  shape: (21, 14)\n  restype_atom14_is_ambiguous = np.zeros((21, 14), dtype=np.float32)\n  for resname, swap in residue_constants.residue_atom_renaming_swaps.items():\n    for atom_name1, atom_name2 in swap.items():\n      restype = residue_constants.restype_order[\n          residue_constants.restype_3to1[resname]\n      ]\n      atom_idx1 = residue_constants.restype_name_to_atom14_names[resname].index(\n          atom_name1\n      )\n      atom_idx2 = residue_constants.restype_name_to_atom14_names[resname].index(\n          atom_name2\n      )\n      restype_atom14_is_ambiguous[restype, atom_idx1] = 1\n      restype_atom14_is_ambiguous[restype, atom_idx2] = 1\n\n  return restype_atom14_is_ambiguous\n\n\ndef _make_restype_rigidgroup_base_atom37_idx():\n  \"\"\"Create Map from rigidgroups to atom37 indices.\"\"\"\n  # Create an array with the atom names.\n  # shape (num_restypes, num_rigidgroups, 3_atoms): (21, 8, 3)\n  base_atom_names = np.full([21, 8, 3], '', dtype=object)\n\n  # 0: backbone frame\n  base_atom_names[:, 0, :] = ['C', 'CA', 'N']\n\n  # 3: 'psi-group'\n  base_atom_names[:, 3, :] = ['CA', 'C', 'O']\n\n  # 4,5,6,7: 'chi1,2,3,4-group'\n  for restype, restype_letter in enumerate(residue_constants.restypes):\n    resname = residue_constants.restype_1to3[restype_letter]\n    for chi_idx in range(4):\n      if residue_constants.chi_angles_mask[restype][chi_idx]:\n        atom_names = residue_constants.chi_angles_atoms[resname][chi_idx]\n        base_atom_names[restype, chi_idx + 4, :] = atom_names[1:]\n\n  # Translate atom names into atom37 indices.\n  lookuptable = residue_constants.atom_order.copy()\n  lookuptable[''] = 0\n  restype_rigidgroup_base_atom37_idx = np.vectorize(lambda x: lookuptable[x])(\n      base_atom_names\n  )\n  return restype_rigidgroup_base_atom37_idx\n\n\nCHI_ATOM_INDICES = _make_chi_atom_indices()\nRENAMING_MATRICES = _make_renaming_matrices()\nRESTYPE_ATOM14_TO_ATOM37 = _make_restype_atom14_to_atom37()\nRESTYPE_ATOM37_TO_ATOM14 = _make_restype_atom37_to_atom14()\nRESTYPE_ATOM37_MASK = _make_restype_atom37_mask()\nRESTYPE_ATOM14_MASK = _make_restype_atom14_mask()\nRESTYPE_ATOM14_IS_AMBIGUOUS = _make_restype_atom14_is_ambiguous()\nRESTYPE_RIGIDGROUP_BASE_ATOM37_IDX = _make_restype_rigidgroup_base_atom37_idx()\n\n# Create mask for existing rigid groups.\nRESTYPE_RIGIDGROUP_MASK = np.zeros([21, 8], dtype=np.float32)\nRESTYPE_RIGIDGROUP_MASK[:, 0] = 1\nRESTYPE_RIGIDGROUP_MASK[:, 3] = 1\nRESTYPE_RIGIDGROUP_MASK[:20, 4:] = residue_constants.chi_angles_mask\n\n\ndef get_atom37_mask(aatype):\n  return utils.batched_gather(jnp.asarray(RESTYPE_ATOM37_MASK), aatype)\n\n\ndef get_atom14_mask(aatype):\n  return utils.batched_gather(jnp.asarray(RESTYPE_ATOM14_MASK), aatype)\n\n\ndef get_atom14_is_ambiguous(aatype):\n  return utils.batched_gather(jnp.asarray(RESTYPE_ATOM14_IS_AMBIGUOUS), aatype)\n\n\ndef get_atom14_to_atom37_map(aatype):\n  return utils.batched_gather(jnp.asarray(RESTYPE_ATOM14_TO_ATOM37), aatype)\n\n\ndef get_atom37_to_atom14_map(aatype):\n  return utils.batched_gather(jnp.asarray(RESTYPE_ATOM37_TO_ATOM14), aatype)\n\n\ndef atom14_to_atom37(\n    atom14_data: jnp.ndarray, aatype: jnp.ndarray  # (N, 14, ...)\n) -> jnp.ndarray:  # (N, 37, ...)\n  \"\"\"Convert atom14 to atom37 representation.\"\"\"\n  assert len(atom14_data.shape) in [2, 3]\n  idx_atom37_to_atom14 = get_atom37_to_atom14_map(aatype)\n  atom37_data = utils.batched_gather(\n      atom14_data, idx_atom37_to_atom14, batch_dims=1\n  )\n  atom37_mask = get_atom37_mask(aatype)\n  if len(atom14_data.shape) == 2:\n    atom37_data *= atom37_mask\n  elif len(atom14_data.shape) == 3:\n    atom37_data *= atom37_mask[:, :, None].astype(atom37_data.dtype)\n  return atom37_data\n\n\ndef atom37_to_atom14(aatype, all_atom_pos, all_atom_mask):\n  \"\"\"Convert Atom37 positions to Atom14 positions.\"\"\"\n  residx_atom14_to_atom37 = utils.batched_gather(\n      jnp.asarray(RESTYPE_ATOM14_TO_ATOM37), aatype\n  )\n  atom14_mask = utils.batched_gather(\n      all_atom_mask, residx_atom14_to_atom37, batch_dims=1\n  ).astype(jnp.float32)\n  # create a mask for known groundtruth positions\n  atom14_mask *= utils.batched_gather(jnp.asarray(RESTYPE_ATOM14_MASK), aatype)\n  # gather the groundtruth positions\n  atom14_positions = jax.tree.map(\n      lambda x: utils.batched_gather(x, residx_atom14_to_atom37, batch_dims=1),\n      all_atom_pos,\n  )\n  atom14_positions = atom14_mask * atom14_positions\n  return atom14_positions, atom14_mask\n\n\ndef get_alt_atom14(aatype, positions: geometry.Vec3Array, mask):\n  \"\"\"Get alternative atom14 positions.\"\"\"\n  # pick the transformation matrices for the given residue sequence\n  # shape (num_res, 14, 14)\n  renaming_transform = utils.batched_gather(\n      jnp.asarray(RENAMING_MATRICES), aatype\n  )\n\n  alternative_positions = jax.tree.map(\n      lambda x: jnp.sum(x, axis=1), positions[:, :, None] * renaming_transform\n  )\n\n  # Create the mask for the alternative ground truth (differs from the\n  # ground truth mask, if only one of the atoms in an ambiguous pair has a\n  # ground truth position)\n  alternative_mask = jnp.sum(mask[..., None] * renaming_transform, axis=1)\n\n  return alternative_positions, alternative_mask\n\n\ndef atom37_to_frames(\n    aatype: jnp.ndarray,  # (...)\n    all_atom_positions: geometry.Vec3Array,  # (..., 37)\n    all_atom_mask: jnp.ndarray,  # (..., 37)\n) -> Dict[str, jnp.ndarray]:\n  \"\"\"Computes the frames for the up to 8 rigid groups for each residue.\"\"\"\n  # 0: 'backbone group',\n  # 1: 'pre-omega-group', (empty)\n  # 2: 'phi-group', (currently empty, because it defines only hydrogens)\n  # 3: 'psi-group',\n  # 4,5,6,7: 'chi1,2,3,4-group'\n  aatype_in_shape = aatype.shape\n\n  # If there is a batch axis, just flatten it away, and reshape everything\n  # back at the end of the function.\n  aatype = jnp.reshape(aatype, [-1])\n  all_atom_positions = jax.tree.map(\n      lambda x: jnp.reshape(x, [-1, 37]), all_atom_positions\n  )\n  all_atom_mask = jnp.reshape(all_atom_mask, [-1, 37])\n\n  # Compute the gather indices for all residues in the chain.\n  # shape (N, 8, 3)\n  residx_rigidgroup_base_atom37_idx = utils.batched_gather(\n      RESTYPE_RIGIDGROUP_BASE_ATOM37_IDX, aatype\n  )\n\n  # Gather the base atom positions for each rigid group.\n  base_atom_pos = jax.tree.map(\n      lambda x: utils.batched_gather(  # pylint: disable=g-long-lambda\n          x, residx_rigidgroup_base_atom37_idx, batch_dims=1\n      ),\n      all_atom_positions,\n  )\n\n  # Compute the Rigids.\n  point_on_neg_x_axis = base_atom_pos[:, :, 0]\n  origin = base_atom_pos[:, :, 1]\n  point_on_xy_plane = base_atom_pos[:, :, 2]\n  gt_rotation = geometry.Rot3Array.from_two_vectors(\n      origin - point_on_neg_x_axis, point_on_xy_plane - origin\n  )\n\n  gt_frames = geometry.Rigid3Array(gt_rotation, origin)\n\n  # Compute a mask whether the group exists.\n  # (N, 8)\n  group_exists = utils.batched_gather(RESTYPE_RIGIDGROUP_MASK, aatype)\n\n  # Compute a mask whether ground truth exists for the group\n  gt_atoms_exist = utils.batched_gather(  # shape (N, 8, 3)\n      all_atom_mask.astype(jnp.float32),\n      residx_rigidgroup_base_atom37_idx,\n      batch_dims=1,\n  )\n  gt_exists = jnp.min(gt_atoms_exist, axis=-1) * group_exists  # (N, 8)\n\n  # Adapt backbone frame to old convention (mirror x-axis and z-axis).\n  rots = np.tile(np.eye(3, dtype=np.float32), [8, 1, 1])\n  rots[0, 0, 0] = -1\n  rots[0, 2, 2] = -1\n  gt_frames = gt_frames.compose_rotation(geometry.Rot3Array.from_array(rots))\n\n  # The frames for ambiguous rigid groups are just rotated by 180 degree around\n  # the x-axis. The ambiguous group is always the last chi-group.\n  restype_rigidgroup_is_ambiguous = np.zeros([21, 8], dtype=np.float32)\n  restype_rigidgroup_rots = np.tile(np.eye(3, dtype=np.float32), [21, 8, 1, 1])\n\n  for resname, _ in residue_constants.residue_atom_renaming_swaps.items():\n    restype = residue_constants.restype_order[\n        residue_constants.restype_3to1[resname]\n    ]\n    chi_idx = int(sum(residue_constants.chi_angles_mask[restype]) - 1)\n    restype_rigidgroup_is_ambiguous[restype, chi_idx + 4] = 1\n    restype_rigidgroup_rots[restype, chi_idx + 4, 1, 1] = -1\n    restype_rigidgroup_rots[restype, chi_idx + 4, 2, 2] = -1\n\n  # Gather the ambiguity information for each residue.\n  residx_rigidgroup_is_ambiguous = utils.batched_gather(\n      restype_rigidgroup_is_ambiguous, aatype\n  )\n  ambiguity_rot = utils.batched_gather(restype_rigidgroup_rots, aatype)\n  ambiguity_rot = geometry.Rot3Array.from_array(ambiguity_rot)\n\n  # Create the alternative ground truth frames.\n  alt_gt_frames = gt_frames.compose_rotation(ambiguity_rot)\n\n  fix_shape = lambda x: jnp.reshape(x, aatype_in_shape + (8,))\n\n  # reshape back to original residue layout\n  gt_frames = jax.tree.map(fix_shape, gt_frames)\n  gt_exists = fix_shape(gt_exists)\n  group_exists = fix_shape(group_exists)\n  residx_rigidgroup_is_ambiguous = fix_shape(residx_rigidgroup_is_ambiguous)\n  alt_gt_frames = jax.tree.map(fix_shape, alt_gt_frames)\n\n  return {\n      'rigidgroups_gt_frames': gt_frames,  # Rigid (..., 8)\n      'rigidgroups_gt_exists': gt_exists,  # (..., 8)\n      'rigidgroups_group_exists': group_exists,  # (..., 8)\n      'rigidgroups_group_is_ambiguous': (\n          residx_rigidgroup_is_ambiguous\n      ),  # (..., 8)\n      'rigidgroups_alt_gt_frames': alt_gt_frames,  # Rigid (..., 8)\n  }\n\n\ndef torsion_angles_to_frames(\n    aatype: jnp.ndarray,  # (N)\n    backb_to_global: geometry.Rigid3Array,  # (N)\n    torsion_angles_sin_cos: jnp.ndarray,  # (N, 7, 2)\n) -> geometry.Rigid3Array:  # (N, 8)\n  \"\"\"Compute rigid group frames from torsion angles.\"\"\"\n  assert (\n      len(aatype.shape) == 1\n  ), f'Expected array of rank 1, got array with shape: {aatype.shape}.'\n  assert len(backb_to_global.rotation.shape) == 1, (\n      'Expected array of rank 1, got array with shape: '\n      f'{backb_to_global.rotation.shape}'\n  )\n  assert len(torsion_angles_sin_cos.shape) == 3, (\n      'Expected array of rank 3, got array with shape: '\n      f'{torsion_angles_sin_cos.shape}'\n  )\n  assert (\n      torsion_angles_sin_cos.shape[1] == 7\n  ), f'wrong shape {torsion_angles_sin_cos.shape}'\n  assert (\n      torsion_angles_sin_cos.shape[2] == 2\n  ), f'wrong shape {torsion_angles_sin_cos.shape}'\n\n  # Gather the default frames for all rigid groups.\n  # geometry.Rigid3Array with shape (N, 8)\n  m = utils.batched_gather(\n      residue_constants.restype_rigid_group_default_frame, aatype\n  )\n  default_frames = geometry.Rigid3Array.from_array4x4(m)\n\n  # Create the rotation matrices according to the given angles (each frame is\n  # defined such that its rotation is around the x-axis).\n  sin_angles = torsion_angles_sin_cos[..., 0]\n  cos_angles = torsion_angles_sin_cos[..., 1]\n\n  # insert zero rotation for backbone group.\n  (num_residues,) = aatype.shape\n  sin_angles = jnp.concatenate(\n      [jnp.zeros([num_residues, 1]), sin_angles], axis=-1\n  )\n  cos_angles = jnp.concatenate(\n      [jnp.ones([num_residues, 1]), cos_angles], axis=-1\n  )\n  zeros = jnp.zeros_like(sin_angles)\n  ones = jnp.ones_like(sin_angles)\n\n  # all_rots are geometry.Rot3Array with shape (N, 8)\n  all_rots = geometry.Rot3Array(\n      *(ones, zeros, zeros),\n      *(zeros, cos_angles, -sin_angles),\n      *(zeros, sin_angles, cos_angles),\n  )\n\n  # Apply rotations to the frames.\n  all_frames = default_frames.compose_rotation(all_rots)\n\n  # chi2, chi3, and chi4 frames do not transform to the backbone frame but to\n  # the previous frame. So chain them up accordingly.\n\n  chi1_frame_to_backb = all_frames[:, 4]\n  chi2_frame_to_backb = chi1_frame_to_backb @ all_frames[:, 5]\n  chi3_frame_to_backb = chi2_frame_to_backb @ all_frames[:, 6]\n  chi4_frame_to_backb = chi3_frame_to_backb @ all_frames[:, 7]\n\n  all_frames_to_backb = jax.tree.map(\n      lambda *x: jnp.concatenate(x, axis=-1),\n      all_frames[:, 0:5],\n      chi2_frame_to_backb[:, None],\n      chi3_frame_to_backb[:, None],\n      chi4_frame_to_backb[:, None],\n  )\n\n  # Create the global frames.\n  # shape (N, 8)\n  all_frames_to_global = backb_to_global[:, None] @ all_frames_to_backb\n\n  return all_frames_to_global\n\n\ndef frames_and_literature_positions_to_atom14_pos(\n    aatype: jnp.ndarray,  # (N)\n    all_frames_to_global: geometry.Rigid3Array,  # (N, 8)\n) -> geometry.Vec3Array:  # (N, 14)\n  \"\"\"Put atom literature positions (atom14 encoding) in each rigid group.\"\"\"\n\n  # Pick the appropriate transform for every atom.\n  residx_to_group_idx = utils.batched_gather(\n      residue_constants.restype_atom14_to_rigid_group, aatype\n  )\n  group_mask = jax.nn.one_hot(\n      residx_to_group_idx, num_classes=8\n  )  # shape (N, 14, 8)\n\n  # geometry.Rigid3Array with shape (N, 14)\n  map_atoms_to_global = jax.tree.map(\n      lambda x: jnp.sum(x[:, None, :] * group_mask, axis=-1),\n      all_frames_to_global,\n  )\n\n  # Gather the literature atom positions for each residue.\n  # geometry.Vec3Array with shape (N, 14)\n  lit_positions = geometry.Vec3Array.from_array(\n      utils.batched_gather(\n          residue_constants.restype_atom14_rigid_group_positions, aatype\n      )\n  )\n\n  # Transform each atom from its local frame to the global frame.\n  # geometry.Vec3Array with shape (N, 14)\n  pred_positions = map_atoms_to_global.apply_to_point(lit_positions)\n\n  # Mask out non-existing atoms.\n  mask = utils.batched_gather(residue_constants.restype_atom14_mask, aatype)\n  pred_positions = pred_positions * mask\n\n  return pred_positions\n\n\ndef extreme_ca_ca_distance_violations(\n    positions: geometry.Vec3Array,  # (N, 37(14))\n    mask: jnp.ndarray,  # (N, 37(14))\n    residue_index: jnp.ndarray,  # (N)\n    max_angstrom_tolerance=1.5,\n) -> jnp.ndarray:\n  \"\"\"Counts residues whose Ca is a large distance from its neighbor.\"\"\"\n  this_ca_pos = positions[:-1, 1]  # (N - 1,)\n  this_ca_mask = mask[:-1, 1]  # (N - 1)\n  next_ca_pos = positions[1:, 1]  # (N - 1,)\n  next_ca_mask = mask[1:, 1]  # (N - 1)\n  has_no_gap_mask = ((residue_index[1:] - residue_index[:-1]) == 1.0).astype(\n      jnp.float32\n  )\n  ca_ca_distance = geometry.euclidean_distance(this_ca_pos, next_ca_pos, 1e-6)\n  violations = (\n      ca_ca_distance - residue_constants.ca_ca\n  ) > max_angstrom_tolerance\n  mask = this_ca_mask * next_ca_mask * has_no_gap_mask\n  return utils.mask_mean(mask=mask, value=violations)\n\n\ndef between_residue_bond_loss(\n    pred_atom_positions: geometry.Vec3Array,  # (N, 37(14))\n    pred_atom_mask: jnp.ndarray,  # (N, 37(14))\n    residue_index: jnp.ndarray,  # (N)\n    aatype: jnp.ndarray,  # (N)\n    tolerance_factor_soft=12.0,\n    tolerance_factor_hard=12.0,\n) -> Dict[str, jnp.ndarray]:\n  \"\"\"Flat-bottom loss to penalize structural violations between residues.\"\"\"\n  assert len(pred_atom_positions.shape) == 2\n  assert len(pred_atom_mask.shape) == 2\n  assert len(residue_index.shape) == 1\n  assert len(aatype.shape) == 1\n\n  # Get the positions of the relevant backbone atoms.\n  this_ca_pos = pred_atom_positions[:-1, 1]  # (N - 1)\n  this_ca_mask = pred_atom_mask[:-1, 1]  # (N - 1)\n  this_c_pos = pred_atom_positions[:-1, 2]  # (N - 1)\n  this_c_mask = pred_atom_mask[:-1, 2]  # (N - 1)\n  next_n_pos = pred_atom_positions[1:, 0]  # (N - 1)\n  next_n_mask = pred_atom_mask[1:, 0]  # (N - 1)\n  next_ca_pos = pred_atom_positions[1:, 1]  # (N - 1)\n  next_ca_mask = pred_atom_mask[1:, 1]  # (N - 1)\n  has_no_gap_mask = ((residue_index[1:] - residue_index[:-1]) == 1.0).astype(\n      jnp.float32\n  )\n\n  # Compute loss for the C--N bond.\n  c_n_bond_length = geometry.euclidean_distance(this_c_pos, next_n_pos, 1e-6)\n\n  # The C-N bond to proline has slightly different length because of the ring.\n  next_is_proline = (aatype[1:] == residue_constants.restype_order['P']).astype(\n      jnp.float32\n  )\n  gt_length = (\n      1.0 - next_is_proline\n  ) * residue_constants.between_res_bond_length_c_n[\n      0\n  ] + next_is_proline * residue_constants.between_res_bond_length_c_n[\n      1\n  ]\n  gt_stddev = (\n      1.0 - next_is_proline\n  ) * residue_constants.between_res_bond_length_stddev_c_n[\n      0\n  ] + next_is_proline * residue_constants.between_res_bond_length_stddev_c_n[\n      1\n  ]\n  c_n_bond_length_error = jnp.sqrt(\n      1e-6 + jnp.square(c_n_bond_length - gt_length)\n  )\n  c_n_loss_per_residue = jax.nn.relu(\n      c_n_bond_length_error - tolerance_factor_soft * gt_stddev\n  )\n  mask = this_c_mask * next_n_mask * has_no_gap_mask\n  c_n_loss = jnp.sum(mask * c_n_loss_per_residue) / (jnp.sum(mask) + 1e-6)\n  c_n_violation_mask = mask * (\n      c_n_bond_length_error > (tolerance_factor_hard * gt_stddev)\n  )\n\n  # Compute loss for the angles.\n  c_ca_unit_vec = (this_ca_pos - this_c_pos).normalized(1e-6)\n  c_n_unit_vec = (next_n_pos - this_c_pos) / c_n_bond_length\n  n_ca_unit_vec = (next_ca_pos - next_n_pos).normalized(1e-6)\n\n  ca_c_n_cos_angle = c_ca_unit_vec.dot(c_n_unit_vec)\n  gt_angle = residue_constants.between_res_cos_angles_ca_c_n[0]\n  gt_stddev = residue_constants.between_res_bond_length_stddev_c_n[0]\n  ca_c_n_cos_angle_error = jnp.sqrt(\n      1e-6 + jnp.square(ca_c_n_cos_angle - gt_angle)\n  )\n  ca_c_n_loss_per_residue = jax.nn.relu(\n      ca_c_n_cos_angle_error - tolerance_factor_soft * gt_stddev\n  )\n  mask = this_ca_mask * this_c_mask * next_n_mask * has_no_gap_mask\n  ca_c_n_loss = jnp.sum(mask * ca_c_n_loss_per_residue) / (jnp.sum(mask) + 1e-6)\n  ca_c_n_violation_mask = mask * (\n      ca_c_n_cos_angle_error > (tolerance_factor_hard * gt_stddev)\n  )\n\n  c_n_ca_cos_angle = (-c_n_unit_vec).dot(n_ca_unit_vec)\n  gt_angle = residue_constants.between_res_cos_angles_c_n_ca[0]\n  gt_stddev = residue_constants.between_res_cos_angles_c_n_ca[1]\n  c_n_ca_cos_angle_error = jnp.sqrt(\n      1e-6 + jnp.square(c_n_ca_cos_angle - gt_angle)\n  )\n  c_n_ca_loss_per_residue = jax.nn.relu(\n      c_n_ca_cos_angle_error - tolerance_factor_soft * gt_stddev\n  )\n  mask = this_c_mask * next_n_mask * next_ca_mask * has_no_gap_mask\n  c_n_ca_loss = jnp.sum(mask * c_n_ca_loss_per_residue) / (jnp.sum(mask) + 1e-6)\n  c_n_ca_violation_mask = mask * (\n      c_n_ca_cos_angle_error > (tolerance_factor_hard * gt_stddev)\n  )\n\n  # Compute a per residue loss (equally distribute the loss to both\n  # neighbouring residues).\n  per_residue_loss_sum = (\n      c_n_loss_per_residue + ca_c_n_loss_per_residue + c_n_ca_loss_per_residue\n  )\n  per_residue_loss_sum = 0.5 * (\n      jnp.pad(per_residue_loss_sum, [[0, 1]])\n      + jnp.pad(per_residue_loss_sum, [[1, 0]])\n  )\n\n  # Compute hard violations.\n  violation_mask = jnp.max(\n      jnp.stack(\n          [c_n_violation_mask, ca_c_n_violation_mask, c_n_ca_violation_mask]\n      ),\n      axis=0,\n  )\n  violation_mask = jnp.maximum(\n      jnp.pad(violation_mask, [[0, 1]]), jnp.pad(violation_mask, [[1, 0]])\n  )\n\n  return {\n      'c_n_loss_mean': c_n_loss,  # shape ()\n      'ca_c_n_loss_mean': ca_c_n_loss,  # shape ()\n      'c_n_ca_loss_mean': c_n_ca_loss,  # shape ()\n      'per_residue_loss_sum': per_residue_loss_sum,  # shape (N)\n      'per_residue_violation_mask': violation_mask,  # shape (N)\n  }\n\n\ndef between_residue_clash_loss(\n    pred_positions: geometry.Vec3Array,  # (N, 14)\n    atom_exists: jnp.ndarray,  # (N, 14)\n    atom_radius: jnp.ndarray,  # (N, 14)\n    residue_index: jnp.ndarray,  # (N)\n    asym_id: jnp.ndarray,  # (N)\n    overlap_tolerance_soft=1.5,\n    overlap_tolerance_hard=1.5,\n) -> Dict[str, jnp.ndarray]:\n  \"\"\"Loss to penalize steric clashes between residues.\"\"\"\n  assert len(pred_positions.shape) == 2\n  assert len(atom_exists.shape) == 2\n  assert len(atom_radius.shape) == 2\n  assert len(residue_index.shape) == 1\n\n  # Create the distance matrix.\n  # (N, N, 14, 14)\n  dists = geometry.euclidean_distance(\n      pred_positions[:, None, :, None], pred_positions[None, :, None, :], 1e-10\n  )\n\n  # Create the mask for valid distances.\n  # shape (N, N, 14, 14)\n  dists_mask = atom_exists[:, None, :, None] * atom_exists[None, :, None, :]\n\n  # Mask out all the duplicate entries in the lower triangular matrix.\n  # Also mask out the diagonal (atom-pairs from the same residue) -- these atoms\n  # are handled separately.\n  dists_mask *= (\n      residue_index[:, None, None, None] < residue_index[None, :, None, None]\n  )\n\n  # Backbone C--N bond between subsequent residues is no clash.\n  c_one_hot = jax.nn.one_hot(2, num_classes=14)\n  n_one_hot = jax.nn.one_hot(0, num_classes=14)\n  neighbour_mask = (residue_index[:, None] + 1) == residue_index[None, :]\n  neighbour_mask &= asym_id[:, None] == asym_id[None, :]\n  neighbour_mask = neighbour_mask[..., None, None]\n  c_n_bonds = (\n      neighbour_mask\n      * c_one_hot[None, None, :, None]\n      * n_one_hot[None, None, None, :]\n  )\n  dists_mask *= 1.0 - c_n_bonds\n\n  # Disulfide bridge between two cysteines is no clash.\n  cys_sg_idx = residue_constants.restype_name_to_atom14_names['CYS'].index('SG')\n  cys_sg_one_hot = jax.nn.one_hot(cys_sg_idx, num_classes=14)\n  disulfide_bonds = (\n      cys_sg_one_hot[None, None, :, None] * cys_sg_one_hot[None, None, None, :]\n  )\n  dists_mask *= 1.0 - disulfide_bonds\n\n  # Compute the lower bound for the allowed distances.\n  # shape (N, N, 14, 14)\n  dists_lower_bound = dists_mask * (\n      atom_radius[:, None, :, None] + atom_radius[None, :, None, :]\n  )\n\n  # Compute the error.\n  # shape (N, N, 14, 14)\n  dists_to_low_error = dists_mask * jax.nn.relu(\n      dists_lower_bound - overlap_tolerance_soft - dists\n  )\n\n  # Compute the mean loss.\n  # shape ()\n  mean_loss = jnp.sum(dists_to_low_error) / (1e-6 + jnp.sum(dists_mask))\n\n  # Compute the per atom loss sum.\n  # shape (N, 14)\n  per_atom_loss_sum = jnp.sum(dists_to_low_error, axis=[0, 2]) + jnp.sum(\n      dists_to_low_error, axis=[1, 3]\n  )\n\n  # Compute the hard clash mask.\n  # shape (N, N, 14, 14)\n  clash_mask = dists_mask * (\n      dists < (dists_lower_bound - overlap_tolerance_hard)\n  )\n\n  # Compute the per atom clash.\n  # shape (N, 14)\n  per_atom_clash_mask = jnp.maximum(\n      jnp.max(clash_mask, axis=[0, 2]), jnp.max(clash_mask, axis=[1, 3])\n  )\n\n  return {\n      'mean_loss': mean_loss,  # shape ()\n      'per_atom_loss_sum': per_atom_loss_sum,  # shape (N, 14)\n      'per_atom_clash_mask': per_atom_clash_mask,  # shape (N, 14)\n  }\n\n\ndef within_residue_violations(\n    pred_positions: geometry.Vec3Array,  # (N, 14)\n    atom_exists: jnp.ndarray,  # (N, 14)\n    dists_lower_bound: jnp.ndarray,  # (N, 14, 14)\n    dists_upper_bound: jnp.ndarray,  # (N, 14, 14)\n    tighten_bounds_for_loss=0.0,\n) -> Dict[str, jnp.ndarray]:\n  \"\"\"Find within-residue violations.\"\"\"\n  assert len(pred_positions.shape) == 2\n  assert len(atom_exists.shape) == 2\n  assert len(dists_lower_bound.shape) == 3\n  assert len(dists_upper_bound.shape) == 3\n\n  # Compute the mask for each residue.\n  # shape (N, 14, 14)\n  dists_masks = 1.0 - jnp.eye(14, 14)[None]\n  dists_masks *= atom_exists[:, :, None] * atom_exists[:, None, :]\n\n  # Distance matrix\n  # shape (N, 14, 14)\n  dists = geometry.euclidean_distance(\n      pred_positions[:, :, None], pred_positions[:, None, :], 1e-10\n  )\n\n  # Compute the loss.\n  # shape (N, 14, 14)\n  dists_to_low_error = jax.nn.relu(\n      dists_lower_bound + tighten_bounds_for_loss - dists\n  )\n  dists_to_high_error = jax.nn.relu(\n      dists + tighten_bounds_for_loss - dists_upper_bound\n  )\n  loss = dists_masks * (dists_to_low_error + dists_to_high_error)\n\n  # Compute the per atom loss sum.\n  # shape (N, 14)\n  per_atom_loss_sum = jnp.sum(loss, axis=1) + jnp.sum(loss, axis=2)\n\n  # Compute the violations mask.\n  # shape (N, 14, 14)\n  violations = dists_masks * (\n      (dists < dists_lower_bound) | (dists > dists_upper_bound)\n  )\n\n  # Compute the per atom violations.\n  # shape (N, 14)\n  per_atom_violations = jnp.maximum(\n      jnp.max(violations, axis=1), jnp.max(violations, axis=2)\n  )\n\n  return {\n      'per_atom_loss_sum': per_atom_loss_sum,  # shape (N, 14)\n      'per_atom_violations': per_atom_violations,  # shape (N, 14)\n  }\n\n\ndef find_optimal_renaming(\n    gt_positions: geometry.Vec3Array,  # (N, 14)\n    alt_gt_positions: geometry.Vec3Array,  # (N, 14)\n    atom_is_ambiguous: jnp.ndarray,  # (N, 14)\n    gt_exists: jnp.ndarray,  # (N, 14)\n    pred_positions: geometry.Vec3Array,  # (N, 14)\n) -> jnp.ndarray:  # (N):\n  \"\"\"Find optimal renaming for ground truth that maximizes LDDT.\"\"\"\n  assert len(gt_positions.shape) == 2\n  assert len(alt_gt_positions.shape) == 2\n  assert len(atom_is_ambiguous.shape) == 2\n  assert len(gt_exists.shape) == 2\n  assert len(pred_positions.shape) == 2\n\n  # Create the pred distance matrix.\n  # shape (N, N, 14, 14)\n  pred_dists = geometry.euclidean_distance(\n      pred_positions[:, None, :, None], pred_positions[None, :, None, :], 1e-10\n  )\n\n  # Compute distances for ground truth with original and alternative names.\n  # shape (N, N, 14, 14)\n  gt_dists = geometry.euclidean_distance(\n      gt_positions[:, None, :, None], gt_positions[None, :, None, :], 1e-10\n  )\n\n  alt_gt_dists = geometry.euclidean_distance(\n      alt_gt_positions[:, None, :, None],\n      alt_gt_positions[None, :, None, :],\n      1e-10,\n  )\n\n  # Compute LDDT's.\n  # shape (N, N, 14, 14)\n  lddt = jnp.sqrt(1e-10 + squared_difference(pred_dists, gt_dists))\n  alt_lddt = jnp.sqrt(1e-10 + squared_difference(pred_dists, alt_gt_dists))\n\n  # Create a mask for ambiguous atoms in rows vs. non-ambiguous atoms\n  # in cols.\n  # shape (N ,N, 14, 14)\n  mask = (\n      gt_exists[:, None, :, None]  # rows\n      * atom_is_ambiguous[:, None, :, None]  # rows\n      * gt_exists[None, :, None, :]  # cols\n      * (1.0 - atom_is_ambiguous[None, :, None, :])\n  )  # cols\n\n  # Aggregate distances for each residue to the non-amibuguous atoms.\n  # shape (N)\n  per_res_lddt = jnp.sum(mask * lddt, axis=[1, 2, 3])\n  alt_per_res_lddt = jnp.sum(mask * alt_lddt, axis=[1, 2, 3])\n\n  # Decide for each residue, whether alternative naming is better.\n  # shape (N)\n  alt_naming_is_better = (alt_per_res_lddt < per_res_lddt).astype(jnp.float32)\n\n  return alt_naming_is_better  # shape (N)\n\n\ndef frame_aligned_point_error(\n    pred_frames: geometry.Rigid3Array,  # shape (num_frames)\n    target_frames: geometry.Rigid3Array,  # shape (num_frames)\n    frames_mask: jnp.ndarray,  # shape (num_frames)\n    pred_positions: geometry.Vec3Array,  # shape (num_positions)\n    target_positions: geometry.Vec3Array,  # shape (num_positions)\n    positions_mask: jnp.ndarray,  # shape (num_positions)\n    pair_mask: Optional[jnp.ndarray],  # shape (num_frames, num_posiitons)\n    l1_clamp_distance: float,\n    length_scale=20.0,\n    epsilon=1e-4,\n) -> jnp.ndarray:  # shape ()\n  \"\"\"Measure point error under different alignments.\n\n  Computes error between two structures with B points\n  under A alignments derived form the given pairs of frames.\n  Args:\n    pred_frames: num_frames reference frames for 'pred_positions'.\n    target_frames: num_frames reference frames for 'target_positions'.\n    frames_mask: Mask for frame pairs to use.\n    pred_positions: num_positions predicted positions of the structure.\n    target_positions: num_positions target positions of the structure.\n    positions_mask: Mask on which positions to score.\n    pair_mask: A (num_frames, num_positions) mask to use in the loss, useful for\n      separating intra from inter chain losses.\n    l1_clamp_distance: Distance cutoff on error beyond which gradients will be\n      zero.\n    length_scale: length scale to divide loss by.\n    epsilon: small value used to regularize denominator for masked average.\n\n  Returns:\n    Masked Frame aligned point error.\n  \"\"\"\n  # For now we do not allow any batch dimensions.\n  assert len(pred_frames.rotation.shape) == 1\n  assert len(target_frames.rotation.shape) == 1\n  assert frames_mask.ndim == 1\n  assert pred_positions.x.ndim == 1\n  assert target_positions.x.ndim == 1\n  assert positions_mask.ndim == 1\n\n  # Compute array of predicted positions in the predicted frames.\n  # geometry.Vec3Array (num_frames, num_positions)\n  local_pred_pos = (\n      pred_frames[:, None].inverse().apply_to_point(pred_positions[None, :])\n  )\n\n  # Compute array of target positions in the target frames.\n  # geometry.Vec3Array (num_frames, num_positions)\n  local_target_pos = (\n      target_frames[:, None].inverse().apply_to_point(target_positions[None, :])\n  )\n\n  # Compute errors between the structures.\n  # jnp.ndarray (num_frames, num_positions)\n  error_dist = geometry.euclidean_distance(\n      local_pred_pos, local_target_pos, epsilon\n  )\n\n  clipped_error_dist = jnp.clip(error_dist, 0, l1_clamp_distance)\n\n  normed_error = clipped_error_dist / length_scale\n  normed_error *= jnp.expand_dims(frames_mask, axis=-1)\n  normed_error *= jnp.expand_dims(positions_mask, axis=-2)\n  if pair_mask is not None:\n    normed_error *= pair_mask\n\n  mask = jnp.expand_dims(frames_mask, axis=-1) * jnp.expand_dims(\n      positions_mask, axis=-2\n  )\n  if pair_mask is not None:\n    mask *= pair_mask\n  normalization_factor = jnp.sum(mask, axis=(-1, -2))\n  return jnp.sum(normed_error, axis=(-2, -1)) / (epsilon + normalization_factor)\n\n\ndef get_chi_atom_indices():\n  \"\"\"Returns atom indices needed to compute chi angles for all residue types.\n\n  Returns:\n    A tensor of shape [residue_types=21, chis=4, atoms=4]. The residue types are\n    in the order specified in residue_constants.restypes + unknown residue type\n    at the end. For chi angles which are not defined on the residue, the\n    positions indices are by default set to 0.\n  \"\"\"\n  chi_atom_indices = []\n  for residue_name in residue_constants.restypes:\n    residue_name = residue_constants.restype_1to3[residue_name]\n    residue_chi_angles = residue_constants.chi_angles_atoms[residue_name]\n    atom_indices = []\n    for chi_angle in residue_chi_angles:\n      atom_indices.append(\n          [residue_constants.atom_order[atom] for atom in chi_angle]\n      )\n    for _ in range(4 - len(atom_indices)):\n      atom_indices.append([0, 0, 0, 0])  # For chi angles not defined on the AA.\n    chi_atom_indices.append(atom_indices)\n\n  chi_atom_indices.append([[0, 0, 0, 0]] * 4)  # For UNKNOWN residue.\n\n  return jnp.asarray(chi_atom_indices)\n\n\ndef compute_chi_angles(\n    positions: geometry.Vec3Array,\n    mask: geometry.Vec3Array,\n    aatype: geometry.Vec3Array,\n):\n  \"\"\"Computes the chi angles given all atom positions and the amino acid type.\n\n  Args:\n    positions: A Vec3Array of shape [num_res, residue_constants.atom_type_num],\n      with positions of atoms needed to calculate chi angles. Supports up to 1\n      batch dimension.\n    mask: An optional tensor of shape [num_res, residue_constants.atom_type_num]\n      that masks which atom positions are set for each residue. If given, then\n      the chi mask will be set to 1 for a chi angle only if the amino acid has\n      that chi angle and all the chi atoms needed to calculate that chi angle\n      are set. If not given (set to None), the chi mask will be set to 1 for a\n      chi angle if the amino acid has that chi angle and whether the actual\n      atoms needed to calculate it were set will be ignored.\n    aatype: A tensor of shape [num_res] with amino acid type integer code (0 to\n      21). Supports up to 1 batch dimension.\n\n  Returns:\n    A tuple of tensors (chi_angles, mask), where both have shape\n    [num_res, 4]. The mask masks out unused chi angles for amino acid\n    types that have less than 4 chi angles. If atom_positions_mask is set, the\n    chi mask will also mask out uncomputable chi angles.\n  \"\"\"\n\n  # Don't assert on the num_res and batch dimensions as they might be unknown.\n  assert positions.shape[-1] == residue_constants.atom_type_num\n  assert mask.shape[-1] == residue_constants.atom_type_num\n\n  # Compute the table of chi angle indices. Shape: [restypes, chis=4, atoms=4].\n  chi_atom_indices = get_chi_atom_indices()\n  # Select atoms to compute chis. Shape: [num_res, chis=4, atoms=4].\n  atom_indices = utils.batched_gather(\n      params=chi_atom_indices, indices=aatype, axis=0\n  )\n  # Gather atom positions. Shape: [num_res, chis=4, atoms=4, xyz=3].\n  chi_angle_atoms = jax.tree.map(\n      lambda x: utils.batched_gather(  # pylint: disable=g-long-lambda\n          params=x, indices=atom_indices, axis=-1, batch_dims=1\n      ),\n      positions,\n  )\n  a, b, c, d = [chi_angle_atoms[..., i] for i in range(4)]\n\n  chi_angles = geometry.dihedral_angle(a, b, c, d)\n\n  # Copy the chi angle mask, add the UNKNOWN residue. Shape: [restypes, 4].\n  chi_angles_mask = list(residue_constants.chi_angles_mask)\n  chi_angles_mask.append([0.0, 0.0, 0.0, 0.0])\n  chi_angles_mask = jnp.asarray(chi_angles_mask)\n  # Compute the chi angle mask. Shape [num_res, chis=4].\n  chi_mask = utils.batched_gather(\n      params=chi_angles_mask, indices=aatype, axis=0\n  )\n\n  # The chi_mask is set to 1 only when all necessary chi angle atoms were set.\n  # Gather the chi angle atoms mask. Shape: [num_res, chis=4, atoms=4].\n  chi_angle_atoms_mask = utils.batched_gather(\n      params=mask, indices=atom_indices, axis=-1, batch_dims=1\n  )\n  # Check if all 4 chi angle atoms were set. Shape: [num_res, chis=4].\n  chi_angle_atoms_mask = jnp.prod(chi_angle_atoms_mask, axis=[-1])\n  chi_mask = chi_mask * chi_angle_atoms_mask.astype(jnp.float32)\n\n  return chi_angles, chi_mask\n\n\ndef make_transform_from_reference(\n    a_xyz: geometry.Vec3Array,\n    b_xyz: geometry.Vec3Array,\n    c_xyz: geometry.Vec3Array,\n) -> geometry.Rigid3Array:\n  \"\"\"Returns rotation and translation matrices to convert from reference.\n\n  Note that this method does not take care of symmetries. If you provide the\n  coordinates in the non-standard way, the A atom will end up in the negative\n  y-axis rather than in the positive y-axis. You need to take care of such\n  cases in your code.\n\n  Args:\n    a_xyz: A Vec3Array.\n    b_xyz: A Vec3Array.\n    c_xyz: A Vec3Array.\n\n  Returns:\n    A Rigid3Array which, when applied to coordinates in a canonicalized\n    reference frame, will give coordinates approximately equal\n    the original coordinates (in the global frame).\n  \"\"\"\n  rotation = geometry.Rot3Array.from_two_vectors(c_xyz - b_xyz, a_xyz - b_xyz)\n  return geometry.Rigid3Array(rotation, b_xyz)\n"
  },
  {
    "path": "alphafold/model/all_atom_test.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nfrom absl.testing import absltest\nfrom absl.testing import parameterized\nfrom alphafold.common import residue_constants\nfrom alphafold.model import all_atom\nfrom alphafold.model import r3\nimport jax\nimport jax.numpy as jnp\nimport numpy as np\n\n\nL1_CLAMP_DISTANCE = 10\n\nBL_C_N = residue_constants.between_res_bond_length_c_n\nBL_STD_DEV_C_N = residue_constants.between_res_bond_length_stddev_c_n\nCOS_CA_C_N = residue_constants.between_res_cos_angles_ca_c_n\nCOS_C_N_CA = residue_constants.between_res_cos_angles_c_n_ca\n\n\ndef _relu(x):\n  \"\"\"Computes relu on a numpy array.\"\"\"\n  return np.maximum(0, x)\n\n\ndef _get_positions_for_ca_c_n_violation_mask():\n  p = np.zeros((2, 37, 3), dtype=np.float32)\n  p[1, 0, 0] = BL_C_N[0]\n  return p\n\n\ndef _get_mask_for_ca_c_n_violation_mask():\n  m = np.ones((2, 37), dtype=np.float32)\n  m[1, 1] = 0.0\n  return m\n\n\ndef get_identity_rigid(shape):\n  \"\"\"Returns identity rigid transform.\"\"\"\n\n  ones = np.ones(shape)\n  zeros = np.zeros(shape)\n  rot = r3.Rots(ones, zeros, zeros, zeros, ones, zeros, zeros, zeros, ones)\n  trans = r3.Vecs(zeros, zeros, zeros)\n  return r3.Rigids(rot, trans)\n\n\ndef get_global_rigid_transform(rot_angle, translation, bcast_dims):\n  \"\"\"Returns rigid transform that globally rotates/translates by same amount.\"\"\"\n\n  rot_angle = np.asarray(rot_angle)\n  translation = np.asarray(translation)\n  if bcast_dims:\n    for _ in range(bcast_dims):\n      rot_angle = np.expand_dims(rot_angle, 0)\n      translation = np.expand_dims(translation, 0)\n  sin_angle = np.sin(np.deg2rad(rot_angle))\n  cos_angle = np.cos(np.deg2rad(rot_angle))\n  ones = np.ones_like(sin_angle)\n  zeros = np.zeros_like(sin_angle)\n  rot = r3.Rots(\n      ones,\n      zeros,\n      zeros,\n      zeros,\n      cos_angle,\n      -sin_angle,\n      zeros,\n      sin_angle,\n      cos_angle,\n  )\n  trans = r3.Vecs(translation[..., 0], translation[..., 1], translation[..., 2])\n  return r3.Rigids(rot, trans)\n\n\nclass AllAtomTest(parameterized.TestCase):\n\n  @parameterized.named_parameters(\n      ('identity', 0, [0, 0, 0]),\n      ('rot_90', 90, [0, 0, 0]),\n      ('trans_10', 0, [0, 0, 10]),\n      ('rot_174_trans_1', 174, [1, 1, 1]),\n  )\n  def test_frame_aligned_point_error_perfect_on_global_transform(\n      self, rot_angle, translation\n  ):\n    \"\"\"Tests global transform between target and preds gives perfect score.\"\"\"\n\n    # pylint: disable=bad-whitespace\n    target_positions = np.array([\n        [21.182, 23.095, 19.731],\n        [22.055, 20.919, 17.294],\n        [24.599, 20.005, 15.041],\n        [25.567, 18.214, 12.166],\n        [28.063, 17.082, 10.043],\n        [28.779, 15.569, 6.985],\n        [30.581, 13.815, 4.612],\n        [29.258, 12.193, 2.296],\n    ])\n    # pylint: enable=bad-whitespace\n    global_rigid_transform = get_global_rigid_transform(\n        rot_angle, translation, 1\n    )\n\n    target_positions = r3.vecs_from_tensor(jax.numpy.array(target_positions))\n    pred_positions = r3.rigids_mul_vecs(\n        global_rigid_transform, target_positions\n    )\n    positions_mask = np.ones(target_positions.x.shape[0])\n\n    target_frames = get_identity_rigid(10)\n    pred_frames = r3.rigids_mul_rigids(global_rigid_transform, target_frames)\n    frames_mask = np.ones(10)\n\n    fape = all_atom.frame_aligned_point_error(\n        pred_frames,\n        target_frames,\n        frames_mask,\n        pred_positions,\n        target_positions,\n        positions_mask,\n        L1_CLAMP_DISTANCE,\n        L1_CLAMP_DISTANCE,\n        epsilon=0,\n    )\n    self.assertAlmostEqual(fape, 0.0, places=6)\n\n  @parameterized.named_parameters(\n      (\n          'identity',\n          [[0, 0, 0], [5, 0, 0], [10, 0, 0]],\n          [[0, 0, 0], [5, 0, 0], [10, 0, 0]],\n          0.0,\n      ),\n      (\n          'shift_2.5',\n          [[0, 0, 0], [5, 0, 0], [10, 0, 0]],\n          [[2.5, 0, 0], [7.5, 0, 0], [7.5, 0, 0]],\n          0.25,\n      ),\n      (\n          'shift_5',\n          [[0, 0, 0], [5, 0, 0], [10, 0, 0]],\n          [[5, 0, 0], [10, 0, 0], [15, 0, 0]],\n          0.5,\n      ),\n      (\n          'shift_10',\n          [[0, 0, 0], [5, 0, 0], [10, 0, 0]],\n          [[10, 0, 0], [15, 0, 0], [0, 0, 0]],\n          1.0,\n      ),\n  )\n  def test_frame_aligned_point_error_matches_expected(\n      self, target_positions, pred_positions, expected_alddt\n  ):\n    \"\"\"Tests score matches expected.\"\"\"\n\n    target_frames = get_identity_rigid(2)\n    pred_frames = target_frames\n    frames_mask = np.ones(2)\n\n    target_positions = r3.vecs_from_tensor(jax.numpy.array(target_positions))\n    pred_positions = r3.vecs_from_tensor(jax.numpy.array(pred_positions))\n    positions_mask = np.ones(target_positions.x.shape[0])\n\n    alddt = all_atom.frame_aligned_point_error(\n        pred_frames,\n        target_frames,\n        frames_mask,\n        pred_positions,\n        target_positions,\n        positions_mask,\n        L1_CLAMP_DISTANCE,\n        L1_CLAMP_DISTANCE,\n        epsilon=0,\n    )\n    self.assertAlmostEqual(alddt, expected_alddt)\n\n  @parameterized.named_parameters(\n      dict(\n          testcase_name='c_n_loss',\n          key='c_n_loss_mean',\n          pred_atom_positions=np.zeros((2, 37, 3), dtype=np.float32),\n          pred_atom_mask=np.ones((2, 37), dtype=np.float32),\n          residue_index=np.arange(2, dtype=np.int32),\n          aatype=np.zeros(2, dtype=np.int32),\n          expected_val=np.sum(\n              _relu(\n                  np.sqrt(1e-6 + np.square(0.001 - BL_C_N[0]))\n                  - 12.0 * BL_STD_DEV_C_N[0]\n              )\n          ).astype(np.float32),\n      ),\n      dict(\n          testcase_name='ca_c_n_loss',\n          key='ca_c_n_loss_mean',\n          pred_atom_positions=np.zeros((2, 37, 3), dtype=np.float32),\n          pred_atom_mask=np.ones((2, 37), dtype=np.float32),\n          residue_index=np.arange(2, dtype=np.int32),\n          aatype=np.zeros(2, dtype=np.int32),\n          expected_val=np.sum(\n              _relu(\n                  np.sqrt(1e-6 + np.square(-COS_CA_C_N[0]))\n                  - 12.0 * COS_CA_C_N[1]\n              )\n          ).astype(np.float32),\n      ),\n      dict(\n          testcase_name='c_n_ca_loss',\n          key='c_n_ca_loss_mean',\n          pred_atom_positions=np.zeros((2, 37, 3), dtype=np.float32),\n          pred_atom_mask=np.ones((2, 37), dtype=np.float32),\n          residue_index=np.arange(2, dtype=np.int32),\n          aatype=np.zeros(2, dtype=np.int32),\n          expected_val=np.sum(\n              _relu(\n                  np.sqrt(1e-6 + np.square(0.0 - COS_C_N_CA[0]))\n                  - 12.0 * COS_C_N_CA[1]\n              )\n          ).astype(np.float32),\n      ),\n      dict(\n          testcase_name='per_residue_loss_sum',\n          key='per_residue_loss_sum',\n          pred_atom_positions=np.zeros((2, 37, 3), dtype=np.float32),\n          pred_atom_mask=np.ones((2, 37), dtype=np.float32),\n          residue_index=np.arange(2, dtype=np.int32),\n          aatype=np.zeros(2, dtype=np.int32),\n          expected_val=np.array([0.665401, 0.665401], dtype=np.float32),\n      ),\n      dict(\n          testcase_name='per_residue_violation_mask',\n          key='per_residue_violation_mask',\n          pred_atom_positions=np.zeros((2, 37, 3), dtype=np.float32),\n          pred_atom_mask=np.ones((2, 37), dtype=np.float32),\n          residue_index=np.arange(2, dtype=np.int32),\n          aatype=np.zeros(2, dtype=np.int32),\n          expected_val=np.array([1.0, 1.0], dtype=np.float32),\n      ),\n      dict(\n          # This test verifies that the violation mask is correctly computed\n          # for CA, C, N violations.\n          testcase_name='ca_c_n_violation_mask',\n          key='per_residue_violation_mask',\n          pred_atom_positions=_get_positions_for_ca_c_n_violation_mask(),\n          pred_atom_mask=_get_mask_for_ca_c_n_violation_mask(),\n          residue_index=np.arange(2, dtype=np.int32),\n          aatype=np.zeros(2, dtype=np.int32),\n          expected_val=np.array([0.0, 0.0], dtype=np.float32),\n          tolerance_factor_hard=15.0,\n      ),\n  )\n  def test_between_residue_bond_loss(\n      self,\n      key,\n      pred_atom_positions,\n      pred_atom_mask,\n      residue_index,\n      aatype,\n      expected_val,\n      tolerance_factor_hard=12.0,\n  ):\n    got = all_atom.between_residue_bond_loss(\n        pred_atom_positions=jnp.array(pred_atom_positions),\n        pred_atom_mask=jnp.array(pred_atom_mask),\n        residue_index=jnp.array(residue_index),\n        aatype=jnp.array(aatype),\n        tolerance_factor_hard=tolerance_factor_hard,\n    )\n    self.assertIn(key, got)\n    self.assertEqual(\n        got[key].shape,\n        expected_val.shape,\n        f'Shape mismatch for key \"{key}\"',\n    )\n    self.assertEqual(\n        got[key].dtype,\n        expected_val.dtype,\n        f'Dtype mismatch for key \"{key}\"',\n    )\n    np.testing.assert_allclose(got[key], expected_val, rtol=2e-6)\n\n\nif __name__ == '__main__':\n  absltest.main()\n"
  },
  {
    "path": "alphafold/model/base_config.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Config for the protein folding model and experiment.\"\"\"\n\nfrom collections.abc import Mapping\nimport contextlib\nimport copy\nimport dataclasses\nimport types\nimport typing\nfrom typing import Any, ClassVar, Iterator, TypeVar\n\n\n_T = TypeVar('_T')\n_ConfigT = TypeVar('_ConfigT', bound='BaseConfig')\n\n\ndef _strip_optional(t: type[Any]) -> type[Any]:\n  \"\"\"Transforms type annotations of the form `T | None` to `T`.\"\"\"\n  if typing.get_origin(t) in (typing.Union, types.UnionType):\n    args = set(typing.get_args(t)) - {types.NoneType}\n    if len(args) == 1:\n      return args.pop()\n  return t\n\n\n_NO_UPDATE = object()\n\n\nclass _Autocreate:\n\n  def __init__(self, **defaults: Any):\n    self.defaults = defaults\n\n\ndef autocreate(**defaults: Any) -> Any:\n  \"\"\"Marks a field as having a default factory derived from its type.\"\"\"\n  return _Autocreate(**defaults)\n\n\ndef _clone_field(\n    field: dataclasses.Field[_T], new_default: _T\n) -> dataclasses.Field[_T]:\n  if new_default is _NO_UPDATE:\n    return copy.copy(field)\n  return dataclasses.field(\n      default=new_default,\n      init=True,\n      kw_only=True,\n      repr=field.repr,\n      hash=field.hash,\n      compare=field.compare,\n      metadata=field.metadata,\n  )\n\n\n@typing.dataclass_transform()\nclass ConfigMeta(type):\n  \"\"\"Metaclass that synthesizes a __post_init__ that coerces dicts to Config subclass instances.\"\"\"\n\n  def __new__(mcs, name, bases, classdict):\n    cls = super().__new__(mcs, name, bases, classdict)\n\n    def _coercable_fields(self) -> Mapping[str, tuple[ConfigMeta, Any]]:\n      type_hints = typing.get_type_hints(self.__class__)\n      fields = dataclasses.fields(self.__class__)\n      field_to_type_and_default = {\n          field.name: (_strip_optional(type_hints[field.name]), field.default)\n          for field in fields\n      }\n      coercable_fields = {\n          f: t\n          for f, t in field_to_type_and_default.items()\n          if issubclass(type(t[0]), ConfigMeta)\n      }\n      return coercable_fields\n\n    cls._coercable_fields = property(_coercable_fields)\n\n    old_post_init = getattr(cls, '__post_init__', None)\n\n    def _post_init(self) -> None:\n      # Use get_type_hints instead of Field.type to ensure that forward\n      # references are resolved.\n      for field_name, (\n          field_type,\n          field_default,\n      ) in self._coercable_fields.items():  # pylint: disable=protected-access\n        field_value = getattr(self, field_name)\n        if field_value is None:\n          continue\n        try:\n          match field_value:\n            case _Autocreate():\n              # Construct from field defaults.\n              setattr(self, field_name, field_type(**field_value.defaults))\n            case Mapping():\n              # Field value is not yet a `Config` instance; Assume we can create\n              # one by splatting keys and values.\n              args = {}\n              # Apply default args first, if present.\n              if isinstance(field_default, _Autocreate):\n                args.update(field_default.defaults)\n              args.update(field_value)\n              setattr(self, field_name, field_type(**args))\n            case _:\n              pass\n        except TypeError as e:\n          raise TypeError(\n              f'Failure while coercing field {field_name!r} of'\n              f' {self.__class__.__qualname__}'\n          ) from e\n      if old_post_init:\n        old_post_init(self)\n\n    cls.__post_init__ = _post_init\n    return dataclasses.dataclass(kw_only=True)(cls)\n\n\nclass BaseConfig(metaclass=ConfigMeta):\n  \"\"\"Config base class.\n\n  Subclassing BaseConfig automatically makes the subclass a kw_only dataclass\n  with a `__post_init__` that coerces Config-subclass field values from mappings\n  to instances of the right type.\n  \"\"\"\n\n  # Provided by dataclasses.make_dataclass\n  __dataclass_fields__: ClassVar[dict[str, dataclasses.Field[Any]]]\n  _is_frozen: ClassVar[bool] = dataclasses.field(\n      default=False, init=False, repr=False\n  )\n\n  # Overridden by metaclass\n  @property\n  def _coercable_fields(self) -> Mapping[str, tuple[type['BaseConfig'], Any]]:\n    return {}\n\n  def as_dict(self, include_none: bool = True) -> Mapping[str, Any]:\n    \"\"\"Returns a dict representation of the config.\n\n    Args:\n      include_none: Whether to include fields with value None.\n    \"\"\"\n    result = dataclasses.asdict(self)\n    for field_name in self._coercable_fields:\n      field_value = getattr(self, field_name, None)\n      if isinstance(field_value, BaseConfig):\n        result[field_name] = field_value.as_dict(include_none)\n    return (\n        result\n        if include_none\n        else {k: v for k, v in result.items() if v is not None}\n    )\n\n  def __setattr__(self, name: str, value: Any) -> None:\n    if getattr(self, '_is_frozen', False) and name != '_is_frozen':\n      # If we are frozen, raise an error\n      raise dataclasses.FrozenInstanceError(\n          f\"Cannot assign to field '{name}'; instance is frozen.\"\n      )\n\n    # If not frozen, set the attribute normally\n    super().__setattr__(name, value)\n\n  def _toggle_freeze(self, frozen: bool) -> None:\n    \"\"\"Toggles the frozen state of the config and all subconfigs.\"\"\"\n    self._is_frozen = frozen\n    for field_name in self._coercable_fields:\n      field_value = getattr(self, field_name, None)\n      if isinstance(field_value, BaseConfig):\n        field_value._toggle_freeze(frozen)\n\n  def freeze(self) -> None:\n    \"\"\"Freezes the config and all subconfigs to prevent further changes.\"\"\"\n    self._toggle_freeze(True)\n\n  @contextlib.contextmanager\n  def unfreeze(self: _ConfigT) -> Iterator[_ConfigT]:\n    \"\"\"A context manager to temporarily unfreeze the config.\"\"\"\n    was_frozen = self._is_frozen\n    self._toggle_freeze(False)\n    try:\n      yield self\n    finally:\n      if was_frozen:\n        self._toggle_freeze(True)\n"
  },
  {
    "path": "alphafold/model/base_config_test.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport dataclasses\nfrom unittest import mock\n\nfrom absl.testing import absltest\nfrom alphafold.model import base_config\nimport jax\n\n\nclass InnerConfig(base_config.BaseConfig):\n  a: int\n  b: int = 10\n\n\nclass OuterConfig(base_config.BaseConfig):\n  x: int\n  z: InnerConfig\n  optional_z: InnerConfig | None\n  y: int = 11\n  optional_z_default: InnerConfig | None = None\n  z_requires_a: InnerConfig = base_config.autocreate()\n  z_default: InnerConfig | None = base_config.autocreate(a=12)\n\n\nclass ModelConfigTest(absltest.TestCase):\n\n  def _equal_at_path(self, path, a, b):\n    self.assertEqual(a, b, f'trees differ at path {path}: {a} != {b}')\n\n  def test_post_init_is_chained(self):\n    post_init = mock.Mock()\n\n    class Config(base_config.BaseConfig):\n      x: int\n      __post_init__ = post_init\n\n    Config(x=1)\n    post_init.assert_called_once()\n\n  def test_config_is_dataclass(self):\n    self.assertTrue(dataclasses.is_dataclass(OuterConfig))\n\n  def test_nested_values_not_provided(self):\n    with self.assertRaisesRegex(\n        TypeError, r\"Failure while coercing field 'z_requires_a' of OuterConfig\"\n    ):\n      OuterConfig(x=5, z=InnerConfig(a=2), optional_z=None)\n\n  def test_config_dict_escape_hatch(self):\n    class Config(base_config.BaseConfig):\n      x: int\n      y: dict[str, int]\n\n    conf = {'x': 1, 'y': {'z': 2}}\n    conf2 = Config(**conf)\n    self.assertIs(conf['y'], conf2.y)\n\n  def test_config_from_dict(self):\n    config = OuterConfig(**{\n        'x': 5,\n        'z': InnerConfig(a=2),\n        'optional_z': InnerConfig(a=3),\n        'optional_z_default': InnerConfig(a=4),\n        'z_requires_a': InnerConfig(a=5, b=10),\n    })\n    expected = {\n        'x': 5,\n        'z': dict(a=2, b=10),\n        'optional_z': dict(a=3, b=10),\n        'y': 11,\n        'optional_z_default': dict(a=4, b=10),\n        'z_requires_a': dict(a=5, b=10),\n        'z_default': dict(a=12, b=10),\n    }\n    jax.tree_util.tree_map_with_path(\n        self._equal_at_path, config.as_dict(), expected\n    )\n\n  def test_create_config(self):\n    config = OuterConfig(\n        x=5,\n        z=InnerConfig(a=2),\n        optional_z=None,\n        z_requires_a=InnerConfig(a=3),\n        z_default=None,\n    )\n    expected = {\n        'x': 5,\n        'z': dict(a=2, b=10),\n        'optional_z': None,\n        'y': 11,\n        'optional_z_default': None,\n        'z_requires_a': dict(a=3, b=10),\n        'z_default': None,\n    }\n    jax.tree_util.tree_map_with_path(\n        self._equal_at_path, config.as_dict(), expected\n    )\n\n  def test_freeze(self):\n    config = OuterConfig(\n        x=5,\n        z=InnerConfig(a=2),\n        optional_z=None,\n        z_requires_a=InnerConfig(a=3),\n        z_default=None,\n    )\n    config.freeze()\n\n    # Check that the config and all subconfigs are frozen.\n    self.assertTrue(config._is_frozen)\n    self.assertTrue(config.z._is_frozen)\n    self.assertTrue(config.z_requires_a._is_frozen)\n\n    # Check that we cannot modify the config.\n    with self.assertRaises(dataclasses.FrozenInstanceError):\n      config.x = 1\n    with self.assertRaises(dataclasses.FrozenInstanceError):\n      config.z.a = 1\n\n  def test_unfreeze(self):\n    config = OuterConfig(\n        x=5,\n        z=InnerConfig(a=2),\n        optional_z=None,\n        z_requires_a=InnerConfig(a=3),\n        z_default=None,\n    )\n    config.freeze()\n\n    # Check that we can modify the config within the unfrozen context.\n    with config.unfreeze() as mutable_config:\n      mutable_config.x = 1\n      mutable_config.z.a = 1\n    self.assertEqual(config.x, 1)\n    self.assertEqual(config.z.a, 1)\n\n    # Check that the config and all subconfigs are frozen again.\n    self.assertTrue(config._is_frozen)\n    self.assertTrue(config.z._is_frozen)\n    self.assertTrue(config.z_requires_a._is_frozen)\n    with self.assertRaises(dataclasses.FrozenInstanceError):\n      config.x = 2\n    with self.assertRaises(dataclasses.FrozenInstanceError):\n      config.z.a = 2\n\n    # Check that a config that was not frozen remains unfrozen.\n    unfrozen_config = OuterConfig(\n        x=5,\n        z=InnerConfig(a=2),\n        optional_z=None,\n        z_requires_a=InnerConfig(a=3),\n        z_default=None,\n    )\n    self.assertFalse(unfrozen_config._is_frozen)\n    with unfrozen_config.unfreeze() as mutable_config:\n      mutable_config.x = 1\n    self.assertEqual(unfrozen_config.x, 1)\n    self.assertFalse(unfrozen_config._is_frozen)\n\n\nif __name__ == '__main__':\n  absltest.main()\n"
  },
  {
    "path": "alphafold/model/common_modules.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"A collection of common Haiku modules for use in protein folding.\"\"\"\nimport numbers\nfrom typing import Sequence, Union\n\nimport haiku as hk\nimport jax.numpy as jnp\nimport numpy as np\n\n\n# Constant from scipy.stats.truncnorm.std(a=-2, b=2, loc=0., scale=1.)\nTRUNCATED_NORMAL_STDDEV_FACTOR = np.asarray(\n    0.87962566103423978, dtype=np.float32\n)\nLAYER_NORM_EPSILON = 1e-5\n\n\ndef get_initializer_scale(initializer_name, input_shape):\n  \"\"\"Get Initializer for weights and scale to multiply activations by.\"\"\"\n\n  if initializer_name == 'zeros':\n    w_init = hk.initializers.Constant(0.0)\n  else:\n    # fan-in scaling\n    scale = 1.0\n    for channel_dim in input_shape:\n      scale /= channel_dim\n    if initializer_name == 'relu':\n      scale *= 2\n\n    noise_scale = scale\n\n    stddev = np.sqrt(noise_scale)\n    # Adjust stddev for truncation.\n    stddev = stddev / TRUNCATED_NORMAL_STDDEV_FACTOR\n    w_init = hk.initializers.TruncatedNormal(mean=0.0, stddev=stddev)\n\n  return w_init\n\n\nclass Linear(hk.Module):\n  \"\"\"Protein folding specific Linear module.\n\n  This differs from the standard Haiku Linear in a few ways:\n    * It supports inputs and outputs of arbitrary rank\n    * Initializers are specified by strings\n  \"\"\"\n\n  def __init__(\n      self,\n      num_output: Union[int, Sequence[int]],\n      initializer: str = 'linear',\n      num_input_dims: int = 1,\n      use_bias: bool = True,\n      bias_init: float = 0.0,\n      precision=None,\n      name: str = 'linear',\n  ):\n    \"\"\"Constructs Linear Module.\n\n    Args:\n      num_output: Number of output channels. Can be tuple when outputting\n        multiple dimensions.\n      initializer: What initializer to use, should be one of {'linear', 'relu',\n        'zeros'}\n      num_input_dims: Number of dimensions from the end to project.\n      use_bias: Whether to include trainable bias\n      bias_init: Value used to initialize bias.\n      precision: What precision to use for matrix multiplication, defaults to\n        None.\n      name: Name of module, used for name scopes.\n    \"\"\"\n    super().__init__(name=name)\n    if isinstance(num_output, numbers.Integral):\n      self.output_shape = (num_output,)\n    else:\n      self.output_shape = tuple(num_output)\n    self.initializer = initializer\n    self.use_bias = use_bias\n    self.bias_init = bias_init\n    self.num_input_dims = num_input_dims\n    self.num_output_dims = len(self.output_shape)\n    self.precision = precision\n\n  def __call__(self, inputs):\n    \"\"\"Connects Module.\n\n    Args:\n      inputs: Tensor with at least num_input_dims dimensions.\n\n    Returns:\n      output of shape [...] + num_output.\n    \"\"\"\n    if self.num_input_dims > 0:\n      in_shape = inputs.shape[-self.num_input_dims :]\n    else:\n      in_shape = ()\n\n    weight_init = get_initializer_scale(self.initializer, in_shape)\n\n    in_letters = 'abcde'[: self.num_input_dims]\n    out_letters = 'hijkl'[: self.num_output_dims]\n\n    weight_shape = in_shape + self.output_shape\n    weights = hk.get_parameter(\n        'weights', weight_shape, inputs.dtype, weight_init\n    )\n\n    equation = f'...{in_letters}, {in_letters}{out_letters}->...{out_letters}'\n\n    output = jnp.einsum(equation, inputs, weights, precision=self.precision)\n\n    if self.use_bias:\n      bias = hk.get_parameter(\n          'bias',\n          self.output_shape,\n          inputs.dtype,\n          hk.initializers.Constant(self.bias_init),\n      )\n      output += bias\n\n    return output\n\n\nclass LayerNorm(hk.LayerNorm):\n  \"\"\"LayerNorm module.\n\n  Equivalent to hk.LayerNorm but with different parameter shapes: they are\n  always vectors rather than possibly higher-rank tensors. This makes it easier\n  to change the layout whilst keep the model weight-compatible.\n  \"\"\"\n\n  def __init__(\n      self,\n      axis,\n      create_scale: bool,\n      create_offset: bool,\n      eps: float = LAYER_NORM_EPSILON,\n      scale_init=None,\n      offset_init=None,\n      use_fast_variance: bool = False,\n      name=None,\n      param_axis=None,\n  ):\n    super().__init__(\n        axis=axis,\n        create_scale=False,\n        create_offset=False,\n        eps=eps,\n        scale_init=None,\n        offset_init=None,\n        use_fast_variance=use_fast_variance,\n        name=name,\n        param_axis=param_axis,\n    )\n    self._temp_create_scale = create_scale\n    self._temp_create_offset = create_offset\n\n  def __call__(self, x: jnp.ndarray) -> jnp.ndarray:\n    is_bf16 = x.dtype == jnp.bfloat16\n    if is_bf16:\n      x = x.astype(jnp.float32)\n\n    param_axis = self.param_axis[0] if self.param_axis else -1\n    param_shape = (x.shape[param_axis],)\n\n    param_broadcast_shape = [1] * x.ndim\n    param_broadcast_shape[param_axis] = x.shape[param_axis]\n    scale = None\n    offset = None\n    if self._temp_create_scale:\n      scale = hk.get_parameter(\n          'scale', param_shape, x.dtype, init=self.scale_init\n      )\n      scale = scale.reshape(param_broadcast_shape)\n\n    if self._temp_create_offset:\n      offset = hk.get_parameter(\n          'offset', param_shape, x.dtype, init=self.offset_init\n      )\n      offset = offset.reshape(param_broadcast_shape)\n\n    out = super().__call__(x, scale=scale, offset=offset)\n\n    if is_bf16:\n      out = out.astype(jnp.bfloat16)\n\n    return out\n"
  },
  {
    "path": "alphafold/model/config.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\"\"\"Model config.\"\"\"\n\nimport copy\nimport functools\nfrom typing import Any, Dict, Final, Optional, Sequence\n\nfrom alphafold.model import base_config\nfrom alphafold.model.tf import shape_placeholders\nimport ml_collections\n\n\nNUM_RES: Final = shape_placeholders.NUM_RES\nNUM_MSA_SEQ: Final = shape_placeholders.NUM_MSA_SEQ\nNUM_EXTRA_SEQ: Final = shape_placeholders.NUM_EXTRA_SEQ\nNUM_TEMPLATES: Final = shape_placeholders.NUM_TEMPLATES\n\nMODEL_PRESETS = {\n    'monomer': (\n        'model_1',\n        'model_2',\n        'model_3',\n        'model_4',\n        'model_5',\n    ),\n    'monomer_ptm': (\n        'model_1_ptm',\n        'model_2_ptm',\n        'model_3_ptm',\n        'model_4_ptm',\n        'model_5_ptm',\n    ),\n    'multimer': (\n        'model_1_multimer_v3',\n        'model_2_multimer_v3',\n        'model_3_multimer_v3',\n        'model_4_multimer_v3',\n        'model_5_multimer_v3',\n    ),\n}\nMODEL_PRESETS['monomer_casp14'] = MODEL_PRESETS['monomer']\n\nCONFIG_DIFFS = {\n    'model_1': {\n        # Jumper et al. (2021) Suppl. Table 5, Model 1.1.1\n        'data.common.max_extra_msa': 5120,\n        'data.common.reduce_msa_clusters_by_max_templates': True,\n        'data.common.use_templates': True,\n        'model.embeddings_and_evoformer.template.embed_torsion_angles': True,\n        'model.embeddings_and_evoformer.template.enabled': True,\n    },\n    'model_2': {\n        # Jumper et al. (2021) Suppl. Table 5, Model 1.1.2\n        'data.common.reduce_msa_clusters_by_max_templates': True,\n        'data.common.use_templates': True,\n        'model.embeddings_and_evoformer.template.embed_torsion_angles': True,\n        'model.embeddings_and_evoformer.template.enabled': True,\n    },\n    'model_3': {\n        # Jumper et al. (2021) Suppl. Table 5, Model 1.2.1\n        'data.common.max_extra_msa': 5120,\n    },\n    'model_4': {\n        # Jumper et al. (2021) Suppl. Table 5, Model 1.2.2\n        'data.common.max_extra_msa': 5120,\n    },\n    'model_5': {\n        # Jumper et al. (2021) Suppl. Table 5, Model 1.2.3\n    },\n    # The following models are fine-tuned from the corresponding models above\n    # with an additional predicted_aligned_error head that can produce\n    # predicted TM-score (pTM) and predicted aligned errors.\n    'model_1_ptm': {\n        'data.common.max_extra_msa': 5120,\n        'data.common.reduce_msa_clusters_by_max_templates': True,\n        'data.common.use_templates': True,\n        'model.embeddings_and_evoformer.template.embed_torsion_angles': True,\n        'model.embeddings_and_evoformer.template.enabled': True,\n        'model.heads.predicted_aligned_error.weight': 0.1,\n    },\n    'model_2_ptm': {\n        'data.common.reduce_msa_clusters_by_max_templates': True,\n        'data.common.use_templates': True,\n        'model.embeddings_and_evoformer.template.embed_torsion_angles': True,\n        'model.embeddings_and_evoformer.template.enabled': True,\n        'model.heads.predicted_aligned_error.weight': 0.1,\n    },\n    'model_3_ptm': {\n        'data.common.max_extra_msa': 5120,\n        'model.heads.predicted_aligned_error.weight': 0.1,\n    },\n    'model_4_ptm': {\n        'data.common.max_extra_msa': 5120,\n        'model.heads.predicted_aligned_error.weight': 0.1,\n    },\n    'model_5_ptm': {'model.heads.predicted_aligned_error.weight': 0.1},\n    'model_1_multimer_v3': {},\n    'model_2_multimer_v3': {},\n    'model_3_multimer_v3': {},\n    'model_4_multimer_v3': {\n        'model.embeddings_and_evoformer.num_extra_msa': 1152\n    },\n    'model_5_multimer_v3': {\n        'model.embeddings_and_evoformer.num_extra_msa': 1152\n    },\n}\n# Key differences between multimer v1/v2 and v3, mostly due to numerical\n# optimisations in the TriangleMultiplication module.\ncommon_updates = {\n    'model.embeddings_and_evoformer.num_msa': 252,\n    'model.embeddings_and_evoformer.num_extra_msa': 1152,\n    'model.embeddings_and_evoformer.evoformer.triangle_multiplication_incoming.fuse_projection_weights': False,  # pylint: disable=line-too-long\n    'model.embeddings_and_evoformer.evoformer.triangle_multiplication_outgoing.fuse_projection_weights': False,  # pylint: disable=line-too-long\n    'model.embeddings_and_evoformer.template.template_pair_stack.triangle_multiplication_incoming.fuse_projection_weights': False,  # pylint: disable=line-too-long\n    'model.embeddings_and_evoformer.template.template_pair_stack.triangle_multiplication_outgoing.fuse_projection_weights': False,  # pylint: disable=line-too-long\n}\nCONFIG_DIFFS.update(\n    {f'model_{i}_multimer': common_updates for i in range(1, 6)}\n)\nCONFIG_DIFFS.update(\n    {f'model_{i}_multimer_v2': common_updates for i in range(1, 6)}\n)\n\nCONFIG = ml_collections.ConfigDict({\n    'data': {\n        'common': {\n            'masked_msa': {\n                'profile_prob': 0.1,\n                'same_prob': 0.1,\n                'uniform_prob': 0.1,\n            },\n            'max_extra_msa': 1024,\n            'msa_cluster_features': True,\n            'num_recycle': 3,\n            'reduce_msa_clusters_by_max_templates': False,\n            'resample_msa_in_recycling': True,\n            'template_features': [\n                'template_all_atom_positions',\n                'template_sum_probs',\n                'template_aatype',\n                'template_all_atom_masks',\n                'template_domain_names',\n            ],\n            'unsupervised_features': [\n                'aatype',\n                'residue_index',\n                'sequence',\n                'msa',\n                'domain_name',\n                'num_alignments',\n                'seq_length',\n                'between_segment_residues',\n                'deletion_matrix',\n            ],\n            'use_templates': False,\n        },\n        'eval': {\n            'feat': {\n                'aatype': [NUM_RES],\n                'all_atom_mask': [NUM_RES, None],\n                'all_atom_positions': [NUM_RES, None, None],\n                'alt_chi_angles': [NUM_RES, None],\n                'atom14_alt_gt_exists': [NUM_RES, None],\n                'atom14_alt_gt_positions': [NUM_RES, None, None],\n                'atom14_atom_exists': [NUM_RES, None],\n                'atom14_atom_is_ambiguous': [NUM_RES, None],\n                'atom14_gt_exists': [NUM_RES, None],\n                'atom14_gt_positions': [NUM_RES, None, None],\n                'atom37_atom_exists': [NUM_RES, None],\n                'backbone_affine_mask': [NUM_RES],\n                'backbone_affine_tensor': [NUM_RES, None],\n                'bert_mask': [NUM_MSA_SEQ, NUM_RES],\n                'chi_angles': [NUM_RES, None],\n                'chi_mask': [NUM_RES, None],\n                'extra_deletion_value': [NUM_EXTRA_SEQ, NUM_RES],\n                'extra_has_deletion': [NUM_EXTRA_SEQ, NUM_RES],\n                'extra_msa': [NUM_EXTRA_SEQ, NUM_RES],\n                'extra_msa_mask': [NUM_EXTRA_SEQ, NUM_RES],\n                'extra_msa_row_mask': [NUM_EXTRA_SEQ],\n                'is_distillation': [],\n                'msa_feat': [NUM_MSA_SEQ, NUM_RES, None],\n                'msa_mask': [NUM_MSA_SEQ, NUM_RES],\n                'msa_row_mask': [NUM_MSA_SEQ],\n                'pseudo_beta': [NUM_RES, None],\n                'pseudo_beta_mask': [NUM_RES],\n                'random_crop_to_size_seed': [None],\n                'residue_index': [NUM_RES],\n                'residx_atom14_to_atom37': [NUM_RES, None],\n                'residx_atom37_to_atom14': [NUM_RES, None],\n                'resolution': [],\n                'rigidgroups_alt_gt_frames': [NUM_RES, None, None],\n                'rigidgroups_group_exists': [NUM_RES, None],\n                'rigidgroups_group_is_ambiguous': [NUM_RES, None],\n                'rigidgroups_gt_exists': [NUM_RES, None],\n                'rigidgroups_gt_frames': [NUM_RES, None, None],\n                'seq_length': [],\n                'seq_mask': [NUM_RES],\n                'target_feat': [NUM_RES, None],\n                'template_aatype': [NUM_TEMPLATES, NUM_RES],\n                'template_all_atom_masks': [NUM_TEMPLATES, NUM_RES, None],\n                'template_all_atom_positions': [\n                    NUM_TEMPLATES,\n                    NUM_RES,\n                    None,\n                    None,\n                ],\n                'template_backbone_affine_mask': [NUM_TEMPLATES, NUM_RES],\n                'template_backbone_affine_tensor': [\n                    NUM_TEMPLATES,\n                    NUM_RES,\n                    None,\n                ],\n                'template_mask': [NUM_TEMPLATES],\n                'template_pseudo_beta': [NUM_TEMPLATES, NUM_RES, None],\n                'template_pseudo_beta_mask': [NUM_TEMPLATES, NUM_RES],\n                'template_sum_probs': [NUM_TEMPLATES, None],\n                'true_msa': [NUM_MSA_SEQ, NUM_RES],\n            },\n            'fixed_size': True,\n            'subsample_templates': False,  # We want top templates.\n            'masked_msa_replace_fraction': 0.15,\n            'max_msa_clusters': 512,\n            'max_templates': 4,\n            'num_ensemble': 1,\n        },\n    },\n    'model': {\n        'embeddings_and_evoformer': {\n            'evoformer_num_block': 48,\n            'evoformer': {\n                'msa_row_attention_with_pair_bias': {\n                    'dropout_rate': 0.15,\n                    'gating': True,\n                    'num_head': 8,\n                    'orientation': 'per_row',\n                    'shared_dropout': True,\n                },\n                'msa_column_attention': {\n                    'dropout_rate': 0.0,\n                    'gating': True,\n                    'num_head': 8,\n                    'orientation': 'per_column',\n                    'shared_dropout': True,\n                },\n                'msa_transition': {\n                    'dropout_rate': 0.0,\n                    'num_intermediate_factor': 4,\n                    'orientation': 'per_row',\n                    'shared_dropout': True,\n                },\n                'outer_product_mean': {\n                    'first': False,\n                    'chunk_size': 128,\n                    'dropout_rate': 0.0,\n                    'num_outer_channel': 32,\n                    'orientation': 'per_row',\n                    'shared_dropout': True,\n                },\n                'triangle_attention_starting_node': {\n                    'dropout_rate': 0.25,\n                    'gating': True,\n                    'num_head': 4,\n                    'orientation': 'per_row',\n                    'shared_dropout': True,\n                },\n                'triangle_attention_ending_node': {\n                    'dropout_rate': 0.25,\n                    'gating': True,\n                    'num_head': 4,\n                    'orientation': 'per_column',\n                    'shared_dropout': True,\n                },\n                'triangle_multiplication_outgoing': {\n                    'dropout_rate': 0.25,\n                    'equation': 'ikc,jkc->ijc',\n                    'num_intermediate_channel': 128,\n                    'orientation': 'per_row',\n                    'shared_dropout': True,\n                    'fuse_projection_weights': False,\n                },\n                'triangle_multiplication_incoming': {\n                    'dropout_rate': 0.25,\n                    'equation': 'kjc,kic->ijc',\n                    'num_intermediate_channel': 128,\n                    'orientation': 'per_row',\n                    'shared_dropout': True,\n                    'fuse_projection_weights': False,\n                },\n                'pair_transition': {\n                    'dropout_rate': 0.0,\n                    'num_intermediate_factor': 4,\n                    'orientation': 'per_row',\n                    'shared_dropout': True,\n                },\n            },\n            'extra_msa_channel': 64,\n            'extra_msa_stack_num_block': 4,\n            'max_relative_feature': 32,\n            'msa_channel': 256,\n            'pair_channel': 128,\n            'prev_pos': {'min_bin': 3.25, 'max_bin': 20.75, 'num_bins': 15},\n            'recycle_features': True,\n            'recycle_pos': True,\n            'seq_channel': 384,\n            'template': {\n                'attention': {\n                    'gating': False,\n                    'key_dim': 64,\n                    'num_head': 4,\n                    'value_dim': 64,\n                },\n                'dgram_features': {\n                    'min_bin': 3.25,\n                    'max_bin': 50.75,\n                    'num_bins': 39,\n                },\n                'embed_torsion_angles': False,\n                'enabled': False,\n                'template_pair_stack': {\n                    'num_block': 2,\n                    'triangle_attention_starting_node': {\n                        'dropout_rate': 0.25,\n                        'gating': True,\n                        'key_dim': 64,\n                        'num_head': 4,\n                        'orientation': 'per_row',\n                        'shared_dropout': True,\n                        'value_dim': 64,\n                    },\n                    'triangle_attention_ending_node': {\n                        'dropout_rate': 0.25,\n                        'gating': True,\n                        'key_dim': 64,\n                        'num_head': 4,\n                        'orientation': 'per_column',\n                        'shared_dropout': True,\n                        'value_dim': 64,\n                    },\n                    'triangle_multiplication_outgoing': {\n                        'dropout_rate': 0.25,\n                        'equation': 'ikc,jkc->ijc',\n                        'num_intermediate_channel': 64,\n                        'orientation': 'per_row',\n                        'shared_dropout': True,\n                        'fuse_projection_weights': False,\n                    },\n                    'triangle_multiplication_incoming': {\n                        'dropout_rate': 0.25,\n                        'equation': 'kjc,kic->ijc',\n                        'num_intermediate_channel': 64,\n                        'orientation': 'per_row',\n                        'shared_dropout': True,\n                        'fuse_projection_weights': False,\n                    },\n                    'pair_transition': {\n                        'dropout_rate': 0.0,\n                        'num_intermediate_factor': 2,\n                        'orientation': 'per_row',\n                        'shared_dropout': True,\n                    },\n                },\n                'max_templates': 4,\n                'subbatch_size': 128,\n                'use_template_unit_vector': False,\n            },\n        },\n        'global_config': {\n            'deterministic': False,\n            'multimer_mode': False,\n            'subbatch_size': 4,\n            'use_remat': False,\n            'zero_init': True,\n            'eval_dropout': False,\n        },\n        'heads': {\n            'distogram': {\n                'first_break': 2.3125,\n                'last_break': 21.6875,\n                'num_bins': 64,\n                'weight': 0.3,\n            },\n            'predicted_aligned_error': {\n                # `num_bins - 1` bins uniformly space the\n                # [0, max_error_bin A] range.\n                # The final bin covers [max_error_bin A, +infty]\n                # 31A gives bins with 0.5A width.\n                'max_error_bin': 31.0,\n                'num_bins': 64,\n                'num_channels': 128,\n                'filter_by_resolution': True,\n                'min_resolution': 0.1,\n                'max_resolution': 3.0,\n                'weight': 0.0,\n            },\n            'experimentally_resolved': {\n                'filter_by_resolution': True,\n                'max_resolution': 3.0,\n                'min_resolution': 0.1,\n                'weight': 0.01,\n            },\n            'structure_module': {\n                'num_layer': 8,\n                'fape': {\n                    'clamp_distance': 10.0,\n                    'clamp_type': 'relu',\n                    'loss_unit_distance': 10.0,\n                },\n                'angle_norm_weight': 0.01,\n                'chi_weight': 0.5,\n                'clash_overlap_tolerance': 1.5,\n                'compute_in_graph_metrics': True,\n                'dropout': 0.1,\n                'num_channel': 384,\n                'num_head': 12,\n                'num_layer_in_transition': 3,\n                'num_point_qk': 4,\n                'num_point_v': 8,\n                'num_scalar_qk': 16,\n                'num_scalar_v': 16,\n                'position_scale': 10.0,\n                'sidechain': {\n                    'atom_clamp_distance': 10.0,\n                    'num_channel': 128,\n                    'num_residual_block': 2,\n                    'weight_frac': 0.5,\n                    'length_scale': 10.0,\n                },\n                'structural_violation_loss_weight': 1.0,\n                'violation_tolerance_factor': 12.0,\n                'weight': 1.0,\n            },\n            'predicted_lddt': {\n                'filter_by_resolution': True,\n                'max_resolution': 3.0,\n                'min_resolution': 0.1,\n                'num_bins': 50,\n                'num_channels': 128,\n                'weight': 0.01,\n            },\n            'masked_msa': {'num_output': 23, 'weight': 2.0},\n        },\n        'num_recycle': 3,\n        'resample_msa_in_recycling': True,\n    },\n})\n\n\nCONFIG_MULTIMER = ml_collections.ConfigDict({\n    'model': {\n        'embeddings_and_evoformer': {\n            'evoformer_num_block': 48,\n            'evoformer': {\n                'msa_column_attention': {\n                    'dropout_rate': 0.0,\n                    'gating': True,\n                    'num_head': 8,\n                    'orientation': 'per_column',\n                    'shared_dropout': True,\n                },\n                'msa_row_attention_with_pair_bias': {\n                    'dropout_rate': 0.15,\n                    'gating': True,\n                    'num_head': 8,\n                    'orientation': 'per_row',\n                    'shared_dropout': True,\n                },\n                'msa_transition': {\n                    'dropout_rate': 0.0,\n                    'num_intermediate_factor': 4,\n                    'orientation': 'per_row',\n                    'shared_dropout': True,\n                },\n                'outer_product_mean': {\n                    'chunk_size': 128,\n                    'dropout_rate': 0.0,\n                    'first': True,\n                    'num_outer_channel': 32,\n                    'orientation': 'per_row',\n                    'shared_dropout': True,\n                },\n                'pair_transition': {\n                    'dropout_rate': 0.0,\n                    'num_intermediate_factor': 4,\n                    'orientation': 'per_row',\n                    'shared_dropout': True,\n                },\n                'triangle_attention_ending_node': {\n                    'dropout_rate': 0.25,\n                    'gating': True,\n                    'num_head': 4,\n                    'orientation': 'per_column',\n                    'shared_dropout': True,\n                },\n                'triangle_attention_starting_node': {\n                    'dropout_rate': 0.25,\n                    'gating': True,\n                    'num_head': 4,\n                    'orientation': 'per_row',\n                    'shared_dropout': True,\n                },\n                'triangle_multiplication_incoming': {\n                    'dropout_rate': 0.25,\n                    'equation': 'kjc,kic->ijc',\n                    'num_intermediate_channel': 128,\n                    'orientation': 'per_row',\n                    'shared_dropout': True,\n                    'fuse_projection_weights': True,\n                },\n                'triangle_multiplication_outgoing': {\n                    'dropout_rate': 0.25,\n                    'equation': 'ikc,jkc->ijc',\n                    'num_intermediate_channel': 128,\n                    'orientation': 'per_row',\n                    'shared_dropout': True,\n                    'fuse_projection_weights': True,\n                },\n            },\n            'extra_msa_channel': 64,\n            'extra_msa_stack_num_block': 4,\n            'num_msa': 508,\n            'num_extra_msa': 2048,\n            'masked_msa': {\n                'profile_prob': 0.1,\n                'replace_fraction': 0.15,\n                'same_prob': 0.1,\n                'uniform_prob': 0.1,\n            },\n            'use_chain_relative': True,\n            'max_relative_chain': 2,\n            'max_relative_idx': 32,\n            'seq_channel': 384,\n            'msa_channel': 256,\n            'pair_channel': 128,\n            'prev_pos': {'max_bin': 20.75, 'min_bin': 3.25, 'num_bins': 15},\n            'recycle_features': True,\n            'recycle_pos': True,\n            'template': {\n                'attention': {'gating': False, 'num_head': 4},\n                'dgram_features': {\n                    'max_bin': 50.75,\n                    'min_bin': 3.25,\n                    'num_bins': 39,\n                },\n                'enabled': True,\n                'max_templates': 4,\n                'num_channels': 64,\n                'subbatch_size': 128,\n                'template_pair_stack': {\n                    'num_block': 2,\n                    'pair_transition': {\n                        'dropout_rate': 0.0,\n                        'num_intermediate_factor': 2,\n                        'orientation': 'per_row',\n                        'shared_dropout': True,\n                    },\n                    'triangle_attention_ending_node': {\n                        'dropout_rate': 0.25,\n                        'gating': True,\n                        'num_head': 4,\n                        'orientation': 'per_column',\n                        'shared_dropout': True,\n                    },\n                    'triangle_attention_starting_node': {\n                        'dropout_rate': 0.25,\n                        'gating': True,\n                        'num_head': 4,\n                        'orientation': 'per_row',\n                        'shared_dropout': True,\n                    },\n                    'triangle_multiplication_incoming': {\n                        'dropout_rate': 0.25,\n                        'equation': 'kjc,kic->ijc',\n                        'num_intermediate_channel': 64,\n                        'orientation': 'per_row',\n                        'shared_dropout': True,\n                        'fuse_projection_weights': True,\n                    },\n                    'triangle_multiplication_outgoing': {\n                        'dropout_rate': 0.25,\n                        'equation': 'ikc,jkc->ijc',\n                        'num_intermediate_channel': 64,\n                        'orientation': 'per_row',\n                        'shared_dropout': True,\n                        'fuse_projection_weights': True,\n                    },\n                },\n            },\n        },\n        'global_config': {\n            'bfloat16': True,\n            'bfloat16_output': False,\n            'deterministic': False,\n            'multimer_mode': True,\n            'subbatch_size': 4,\n            'use_remat': False,\n            'zero_init': True,\n            'eval_dropout': False,\n        },\n        'heads': {\n            'distogram': {\n                'first_break': 2.3125,\n                'last_break': 21.6875,\n                'num_bins': 64,\n                'weight': 0.3,\n            },\n            'experimentally_resolved': {\n                'filter_by_resolution': True,\n                'max_resolution': 3.0,\n                'min_resolution': 0.1,\n                'weight': 0.01,\n            },\n            'masked_msa': {'weight': 2.0},\n            'predicted_aligned_error': {\n                'filter_by_resolution': True,\n                'max_error_bin': 31.0,\n                'max_resolution': 3.0,\n                'min_resolution': 0.1,\n                'num_bins': 64,\n                'num_channels': 128,\n                'weight': 0.1,\n            },\n            'predicted_lddt': {\n                'filter_by_resolution': True,\n                'max_resolution': 3.0,\n                'min_resolution': 0.1,\n                'num_bins': 50,\n                'num_channels': 128,\n                'weight': 0.01,\n            },\n            'structure_module': {\n                'angle_norm_weight': 0.01,\n                'chi_weight': 0.5,\n                'clash_overlap_tolerance': 1.5,\n                'dropout': 0.1,\n                'interface_fape': {\n                    'atom_clamp_distance': 1000.0,\n                    'loss_unit_distance': 20.0,\n                },\n                'intra_chain_fape': {\n                    'atom_clamp_distance': 10.0,\n                    'loss_unit_distance': 10.0,\n                },\n                'num_channel': 384,\n                'num_head': 12,\n                'num_layer': 8,\n                'num_layer_in_transition': 3,\n                'num_point_qk': 4,\n                'num_point_v': 8,\n                'num_scalar_qk': 16,\n                'num_scalar_v': 16,\n                'position_scale': 20.0,\n                'sidechain': {\n                    'atom_clamp_distance': 10.0,\n                    'loss_unit_distance': 10.0,\n                    'num_channel': 128,\n                    'num_residual_block': 2,\n                    'weight_frac': 0.5,\n                },\n                'structural_violation_loss_weight': 1.0,\n                'violation_tolerance_factor': 12.0,\n                'weight': 1.0,\n            },\n        },\n        'num_ensemble_eval': 1,\n        'num_recycle': 20,\n        # A negative value indicates that no early stopping will occur, i.e.\n        # the model will always run `num_recycle` number of recycling\n        # iterations.  A positive value will enable early stopping if the\n        # difference in pairwise distances is less than the tolerance between\n        # recycling steps.\n        'recycle_early_stop_tolerance': 0.5,\n        'resample_msa_in_recycling': True,\n    }\n})\n\n\nclass MaskedMsa(base_config.BaseConfig):\n  profile_prob: float\n  same_prob: float\n  uniform_prob: float\n  replace_fraction: Optional[float] = None\n\n\nclass CommonData(base_config.BaseConfig):\n  masked_msa: MaskedMsa\n  max_extra_msa: int\n  msa_cluster_features: bool\n  num_recycle: int\n  reduce_msa_clusters_by_max_templates: bool\n  resample_msa_in_recycling: bool\n  template_features: Sequence[str]\n  unsupervised_features: Sequence[str]\n  use_templates: bool\n\n\nclass EvalData(base_config.BaseConfig):\n  feat: Dict[str, Any]\n  fixed_size: bool\n  subsample_templates: bool\n  masked_msa_replace_fraction: float\n  max_msa_clusters: int\n  max_templates: int\n  num_ensemble: int\n  crop_size: Optional[int] = None\n\n\nclass Data(base_config.BaseConfig):\n  common: CommonData\n  eval: EvalData\n\n\nclass MsaRowAttentionWithPairBias(base_config.BaseConfig):\n  dropout_rate: float\n  gating: bool\n  num_head: int\n  orientation: str\n  shared_dropout: bool\n\n\nclass MsaColumnAttention(base_config.BaseConfig):\n  dropout_rate: float\n  gating: bool\n  num_head: int\n  orientation: str\n  shared_dropout: bool\n\n\nclass MsaTransition(base_config.BaseConfig):\n  dropout_rate: float\n  num_intermediate_factor: int\n  orientation: str\n  shared_dropout: bool\n\n\nclass OuterProductMean(base_config.BaseConfig):\n  first: bool\n  chunk_size: int\n  dropout_rate: float\n  num_outer_channel: int\n  orientation: str\n  shared_dropout: bool\n\n\nclass TriangleAttention(base_config.BaseConfig):\n  dropout_rate: float\n  gating: bool\n  num_head: int\n  orientation: str\n  shared_dropout: bool\n\n\nclass TriangleMultiplication(base_config.BaseConfig):\n  dropout_rate: float\n  equation: str\n  num_intermediate_channel: int\n  orientation: str\n  shared_dropout: bool\n  fuse_projection_weights: bool\n\n\nclass PairTransition(base_config.BaseConfig):\n  dropout_rate: float\n  num_intermediate_factor: int\n  orientation: str\n  shared_dropout: bool\n\n\nclass Evoformer(base_config.BaseConfig):\n  msa_row_attention_with_pair_bias: MsaRowAttentionWithPairBias\n  msa_column_attention: MsaColumnAttention\n  msa_transition: MsaTransition\n  outer_product_mean: OuterProductMean\n  triangle_attention_starting_node: TriangleAttention\n  triangle_attention_ending_node: TriangleAttention\n  triangle_multiplication_outgoing: TriangleMultiplication\n  triangle_multiplication_incoming: TriangleMultiplication\n  pair_transition: PairTransition\n\n\nclass TemplateAttention(base_config.BaseConfig):\n  gating: bool\n  num_head: int\n  key_dim: Optional[int] = None\n  value_dim: Optional[int] = None\n\n\nclass DgramFeatures(base_config.BaseConfig):\n  min_bin: float\n  max_bin: float\n  num_bins: int\n\n\nclass TemplatePairStackAttention(base_config.BaseConfig):\n  dropout_rate: float\n  gating: bool\n  num_head: int\n  orientation: str\n  shared_dropout: bool\n  key_dim: Optional[int] = None\n  value_dim: Optional[int] = None\n\n\nclass TemplatePairStackTriangleMultiplication(base_config.BaseConfig):\n  dropout_rate: float\n  equation: str\n  num_intermediate_channel: int\n  orientation: str\n  shared_dropout: bool\n  fuse_projection_weights: bool\n\n\nclass TemplatePairStackTransition(base_config.BaseConfig):\n  dropout_rate: float\n  num_intermediate_factor: int\n  orientation: str\n  shared_dropout: bool\n\n\nclass TemplatePairStack(base_config.BaseConfig):\n  num_block: int\n  triangle_attention_starting_node: TemplatePairStackAttention\n  triangle_attention_ending_node: TemplatePairStackAttention\n  triangle_multiplication_outgoing: TemplatePairStackTriangleMultiplication\n  triangle_multiplication_incoming: TemplatePairStackTriangleMultiplication\n  pair_transition: TemplatePairStackTransition\n\n\nclass Template(base_config.BaseConfig):\n  attention: TemplateAttention\n  dgram_features: DgramFeatures\n  enabled: bool\n  template_pair_stack: TemplatePairStack\n  max_templates: int\n  subbatch_size: int\n  use_template_unit_vector: Optional[bool] = None\n  embed_torsion_angles: Optional[bool] = None\n  num_channels: Optional[int] = None\n\n\nclass PrevPos(base_config.BaseConfig):\n  min_bin: float\n  max_bin: float\n  num_bins: int\n\n\nclass EmbeddingsAndEvoformer(base_config.BaseConfig):\n  \"\"\"Config for the embeddings and evoformer.\"\"\"\n\n  evoformer_num_block: int\n  evoformer: Evoformer\n  extra_msa_channel: int\n  extra_msa_stack_num_block: int\n  msa_channel: int\n  pair_channel: int\n  prev_pos: PrevPos\n  recycle_features: bool\n  recycle_pos: bool\n  seq_channel: int\n  template: Template\n  max_relative_feature: Optional[int] = None\n  num_msa: Optional[int] = None\n  num_extra_msa: Optional[int] = None\n  masked_msa: Optional[MaskedMsa] = None\n  use_chain_relative: Optional[bool] = None\n  max_relative_chain: Optional[int] = None\n  max_relative_idx: Optional[int] = None\n\n\nclass GlobalConfig(base_config.BaseConfig):\n  deterministic: bool\n  multimer_mode: bool\n  subbatch_size: int\n  use_remat: bool\n  zero_init: bool\n  eval_dropout: bool\n  bfloat16: Optional[bool] = None\n  bfloat16_output: Optional[bool] = None\n\n\nclass DistogramHead(base_config.BaseConfig):\n  first_break: float\n  last_break: float\n  num_bins: int\n  weight: float\n\n\nclass PredictedAlignedErrorHead(base_config.BaseConfig):\n  max_error_bin: float\n  num_bins: int\n  num_channels: int\n  filter_by_resolution: bool\n  min_resolution: float\n  max_resolution: float\n  weight: float\n\n\nclass ExperimentallyResolvedHead(base_config.BaseConfig):\n  filter_by_resolution: bool\n  max_resolution: float\n  min_resolution: float\n  weight: float\n\n\nclass Fape(base_config.BaseConfig):\n  clamp_distance: float\n  clamp_type: str\n  loss_unit_distance: float\n\n\nclass Sidechain(base_config.BaseConfig):\n  atom_clamp_distance: float\n  num_channel: int\n  num_residual_block: int\n  weight_frac: float\n  length_scale: Optional[float] = None\n  loss_unit_distance: Optional[float] = None\n\n\nclass StructureModuleHead(base_config.BaseConfig):\n  \"\"\"Config for the structure module head.\"\"\"\n\n  num_layer: int\n  angle_norm_weight: float\n  chi_weight: float\n  clash_overlap_tolerance: float\n  dropout: float\n  num_channel: int\n  num_head: int\n  num_layer_in_transition: int\n  num_point_qk: int\n  num_point_v: int\n  num_scalar_qk: int\n  num_scalar_v: int\n  position_scale: float\n  sidechain: Sidechain\n  structural_violation_loss_weight: float\n  violation_tolerance_factor: float\n  weight: float\n  fape: Optional[Fape] = None\n  compute_in_graph_metrics: Optional[bool] = None\n  interface_fape: Optional[Dict[str, float]] = None\n  intra_chain_fape: Optional[Dict[str, float]] = None\n\n\nclass PredictedLDDTHead(base_config.BaseConfig):\n  filter_by_resolution: bool\n  max_resolution: float\n  min_resolution: float\n  num_bins: int\n  num_channels: int\n  weight: float\n\n\nclass MaskedMSAHead(base_config.BaseConfig):\n  weight: float\n  num_output: Optional[int] = None\n\n\nclass Heads(base_config.BaseConfig):\n  distogram: DistogramHead\n  predicted_aligned_error: PredictedAlignedErrorHead\n  experimentally_resolved: ExperimentallyResolvedHead\n  structure_module: StructureModuleHead\n  predicted_lddt: PredictedLDDTHead\n  masked_msa: MaskedMSAHead\n\n\nclass Model(base_config.BaseConfig):\n  embeddings_and_evoformer: EmbeddingsAndEvoformer\n  global_config: GlobalConfig\n  heads: Heads\n  num_recycle: int\n  resample_msa_in_recycling: bool\n  num_ensemble_eval: Optional[int] = None\n  recycle_early_stop_tolerance: Optional[float] = None\n\n\nclass AlphaFoldConfig(base_config.BaseConfig):\n  model: Model\n  data: Optional[Data] = None\n\n\ndef model_config(name: str) -> ml_collections.ConfigDict:\n  \"\"\"Get the ConfigDict of a CASP14 model.\"\"\"\n\n  if name not in CONFIG_DIFFS:\n    raise ValueError(f'Invalid model name {name}.')\n  if 'multimer' in name:\n    cfg = copy.deepcopy(CONFIG_MULTIMER)\n  else:\n    cfg = copy.deepcopy(CONFIG)\n  cfg.update_from_flattened_dict(CONFIG_DIFFS[name])\n  return cfg\n\n\n@functools.lru_cache  #  Cache configs per model to avoid re-initializing.\ndef get_model_config(name: str, frozen: bool = True) -> AlphaFoldConfig:\n  \"\"\"Get the Config DataClass of a CASP14 model.\"\"\"\n  if name not in CONFIG_DIFFS:\n    raise ValueError(f'Invalid model name {name}.')\n  cfg = (\n      AlphaFoldConfig(**(CONFIG_MULTIMER.to_dict()))\n      if 'multimer' in name\n      else AlphaFoldConfig(**(CONFIG.to_dict()))\n  )\n  apply_diff_op = CONFIG_DIFF_OPS[name]\n  apply_diff_op(cfg)\n  if frozen:\n    cfg.freeze()\n  return cfg\n\n\ndef _apply_model_1_diff(cfg: AlphaFoldConfig) -> None:\n  if cfg.data:\n    cfg.data.common.max_extra_msa = 5120\n    cfg.data.common.reduce_msa_clusters_by_max_templates = True\n    cfg.data.common.use_templates = True\n  cfg.model.embeddings_and_evoformer.template.embed_torsion_angles = True\n  cfg.model.embeddings_and_evoformer.template.enabled = True\n\n\ndef _apply_model_2_diff(cfg: AlphaFoldConfig) -> None:\n  if cfg.data:\n    cfg.data.common.reduce_msa_clusters_by_max_templates = True\n    cfg.data.common.use_templates = True\n  cfg.model.embeddings_and_evoformer.template.embed_torsion_angles = True\n  cfg.model.embeddings_and_evoformer.template.enabled = True\n\n\ndef _apply_model_3_diff(cfg: AlphaFoldConfig) -> None:\n  if cfg.data:\n    cfg.data.common.max_extra_msa = 5120\n\n\ndef _apply_model_4_diff(cfg: AlphaFoldConfig) -> None:\n  if cfg.data:\n    cfg.data.common.max_extra_msa = 5120\n\n\ndef _apply_model_5_diff(cfg: AlphaFoldConfig) -> None:  # pylint: disable=unused-argument\n  pass\n\n\ndef _apply_model_1_ptm_diff(cfg: AlphaFoldConfig) -> None:\n  if cfg.data:\n    cfg.data.common.max_extra_msa = 5120\n    cfg.data.common.reduce_msa_clusters_by_max_templates = True\n    cfg.data.common.use_templates = True\n  cfg.model.embeddings_and_evoformer.template.embed_torsion_angles = True\n  cfg.model.embeddings_and_evoformer.template.enabled = True\n  cfg.model.heads.predicted_aligned_error.weight = 0.1\n\n\ndef _apply_model_2_ptm_diff(cfg: AlphaFoldConfig) -> None:\n  if cfg.data:\n    cfg.data.common.reduce_msa_clusters_by_max_templates = True\n    cfg.data.common.use_templates = True\n  cfg.model.embeddings_and_evoformer.template.embed_torsion_angles = True\n  cfg.model.embeddings_and_evoformer.template.enabled = True\n  cfg.model.heads.predicted_aligned_error.weight = 0.1\n\n\ndef _apply_model_3_ptm_diff(cfg: AlphaFoldConfig) -> None:\n  if cfg.data:\n    cfg.data.common.max_extra_msa = 5120\n  cfg.model.heads.predicted_aligned_error.weight = 0.1\n\n\ndef _apply_model_4_ptm_diff(cfg: AlphaFoldConfig) -> None:\n  if cfg.data:\n    cfg.data.common.max_extra_msa = 5120\n  cfg.model.heads.predicted_aligned_error.weight = 0.1\n\n\ndef _apply_model_5_ptm_diff(cfg: AlphaFoldConfig) -> None:\n  cfg.model.heads.predicted_aligned_error.weight = 0.1\n\n\ndef _apply_model_1_multimer_v3_diff(cfg: AlphaFoldConfig) -> None:  # pylint: disable=unused-argument\n  pass\n\n\ndef _apply_model_2_multimer_v3_diff(cfg: AlphaFoldConfig) -> None:  # pylint: disable=unused-argument\n  pass\n\n\ndef _apply_model_3_multimer_v3_diff(cfg: AlphaFoldConfig) -> None:  # pylint: disable=unused-argument\n  pass\n\n\ndef _apply_model_4_multimer_v3_diff(cfg: AlphaFoldConfig) -> None:\n  cfg.model.embeddings_and_evoformer.num_extra_msa = 1152\n\n\ndef _apply_model_5_multimer_v3_diff(cfg: AlphaFoldConfig) -> None:\n  cfg.model.embeddings_and_evoformer.num_extra_msa = 1152\n\n\ndef _common_updates(cfg: AlphaFoldConfig) -> None:\n  \"\"\"Applies common updates to the AlphaFold config.\"\"\"\n  cfg.model.embeddings_and_evoformer.num_msa = 252\n  cfg.model.embeddings_and_evoformer.num_extra_msa = 1152\n  cfg.model.embeddings_and_evoformer.evoformer.triangle_multiplication_incoming.fuse_projection_weights = (\n      False\n  )\n  cfg.model.embeddings_and_evoformer.evoformer.triangle_multiplication_outgoing.fuse_projection_weights = (\n      False\n  )\n  cfg.model.embeddings_and_evoformer.template.template_pair_stack.triangle_multiplication_incoming.fuse_projection_weights = (\n      False\n  )\n  cfg.model.embeddings_and_evoformer.template.template_pair_stack.triangle_multiplication_outgoing.fuse_projection_weights = (\n      False\n  )\n\n\nCONFIG_DIFF_OPS = {\n    'model_1': _apply_model_1_diff,\n    'model_2': _apply_model_2_diff,\n    'model_3': _apply_model_3_diff,\n    'model_4': _apply_model_4_diff,\n    'model_5': _apply_model_5_diff,\n    'model_1_ptm': _apply_model_1_ptm_diff,\n    'model_2_ptm': _apply_model_2_ptm_diff,\n    'model_3_ptm': _apply_model_3_ptm_diff,\n    'model_4_ptm': _apply_model_4_ptm_diff,\n    'model_5_ptm': _apply_model_5_ptm_diff,\n    'model_1_multimer_v3': _apply_model_1_multimer_v3_diff,\n    'model_2_multimer_v3': _apply_model_2_multimer_v3_diff,\n    'model_3_multimer_v3': _apply_model_3_multimer_v3_diff,\n    'model_4_multimer_v3': _apply_model_4_multimer_v3_diff,\n    'model_5_multimer_v3': _apply_model_5_multimer_v3_diff,\n}\n\nCONFIG_DIFF_OPS.update(\n    {f'model_{i}_multimer': _common_updates for i in range(1, 6)}\n)\nCONFIG_DIFF_OPS.update(\n    {f'model_{i}_multimer_v2': _common_updates for i in range(1, 6)}\n)\n"
  },
  {
    "path": "alphafold/model/config_test.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport json\n\nfrom absl.testing import absltest\nfrom absl.testing import parameterized\nfrom alphafold.model import config\n\n\nclass ConfigTest(parameterized.TestCase):\n\n  @parameterized.parameters(config.CONFIG_DIFFS.keys())\n  def test_config_dict_and_dataclass_agree(self, model_name):\n    \"\"\"Ensures model_config() and get_model_config() return same values.\"\"\"\n    config_dict_json = json.dumps(config.model_config(model_name).to_dict())\n    config_dataclass_json = json.dumps(\n        config.get_model_config(model_name).as_dict(include_none=False)\n    )\n    self.assertJsonEqual(config_dict_json, config_dataclass_json)\n\n\nif __name__ == '__main__':\n  absltest.main()\n"
  },
  {
    "path": "alphafold/model/data.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Convenience functions for reading data.\"\"\"\n\nimport io\nimport os\nfrom alphafold.model import utils\nimport haiku as hk\nimport numpy as np\n# Internal import (7716).\n\n\ndef get_model_haiku_params(model_name: str, data_dir: str) -> hk.Params:\n  \"\"\"Get the Haiku parameters from a model name.\"\"\"\n\n  path = os.path.join(data_dir, 'params', f'params_{model_name}.npz')\n\n  with open(path, 'rb') as f:\n    params = np.load(io.BytesIO(f.read()), allow_pickle=False)\n\n  return utils.flat_params_to_haiku(params)\n"
  },
  {
    "path": "alphafold/model/features.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Code to generate processed features.\"\"\"\nimport copy\nfrom typing import List, Mapping, Tuple\n\nfrom alphafold.model.tf import input_pipeline\nfrom alphafold.model.tf import proteins_dataset\nimport ml_collections\nimport numpy as np\nimport tensorflow.compat.v1 as tf\n\nFeatureDict = Mapping[str, np.ndarray]\n\n\ndef make_data_config(\n    config: ml_collections.ConfigDict,\n    num_res: int,\n) -> Tuple[ml_collections.ConfigDict, List[str]]:\n  \"\"\"Makes a data config for the input pipeline.\"\"\"\n  cfg = copy.deepcopy(config.data)\n\n  feature_names = cfg.common.unsupervised_features\n  if cfg.common.use_templates:\n    feature_names += cfg.common.template_features\n\n  with cfg.unlocked():\n    cfg.eval.crop_size = num_res\n\n  return cfg, feature_names\n\n\ndef np_example_to_features(\n    np_example: FeatureDict,\n    config: ml_collections.ConfigDict,\n    random_seed: int = 0,\n) -> FeatureDict:\n  \"\"\"Preprocesses NumPy feature dict using TF pipeline.\"\"\"\n  np_example = dict(np_example)\n  num_res = int(np_example['seq_length'][0])\n  cfg, feature_names = make_data_config(config, num_res=num_res)\n\n  if 'deletion_matrix_int' in np_example:\n    np_example['deletion_matrix'] = np_example.pop(\n        'deletion_matrix_int'\n    ).astype(np.float32)\n\n  tf_graph = tf.Graph()\n  with tf_graph.as_default(), tf.device('/device:CPU:0'):\n    tf.compat.v1.set_random_seed(random_seed)\n    tensor_dict = proteins_dataset.np_to_tensor_dict(\n        np_example=np_example, features=feature_names\n    )\n\n    processed_batch = input_pipeline.process_tensors_from_config(\n        tensor_dict, cfg\n    )\n\n  tf_graph.finalize()\n\n  with tf.Session(graph=tf_graph) as sess:\n    features = sess.run(processed_batch)\n\n  return {k: v for k, v in features.items() if v.dtype != 'O'}\n"
  },
  {
    "path": "alphafold/model/folding.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Modules and utilities for the structure module.\"\"\"\n\nimport functools\nfrom typing import Dict\nfrom alphafold.common import residue_constants\nfrom alphafold.model import all_atom\nfrom alphafold.model import common_modules\nfrom alphafold.model import prng\nfrom alphafold.model import quat_affine\nfrom alphafold.model import r3\nfrom alphafold.model import utils\nimport haiku as hk\nimport jax\nimport jax.numpy as jnp\nimport ml_collections\nimport numpy as np\n\n\ndef squared_difference(x, y):\n  return jnp.square(x - y)\n\n\nclass InvariantPointAttention(hk.Module):\n  \"\"\"Invariant Point attention module.\n\n  The high-level idea is that this attention module works over a set of points\n  and associated orientations in 3D space (e.g. protein residues).\n\n  Each residue outputs a set of queries and keys as points in their local\n  reference frame.  The attention is then defined as the euclidean distance\n  between the queries and keys in the global frame.\n\n  Jumper et al. (2021) Suppl. Alg. 22 \"InvariantPointAttention\"\n  \"\"\"\n\n  def __init__(\n      self,\n      config,\n      global_config,\n      dist_epsilon=1e-8,\n      name='invariant_point_attention',\n  ):\n    \"\"\"Initialize.\n\n    Args:\n      config: Structure Module Config\n      global_config: Global Config of Model.\n      dist_epsilon: Small value to avoid NaN in distance calculation.\n      name: Haiku Module name.\n    \"\"\"\n    super().__init__(name=name)\n\n    self._dist_epsilon = dist_epsilon\n    self._zero_initialize_last = global_config.zero_init\n\n    self.config = config\n\n    self.global_config = global_config\n\n  def __call__(self, inputs_1d, inputs_2d, mask, affine):\n    \"\"\"Compute geometry-aware attention.\n\n    Given a set of query residues (defined by affines and associated scalar\n    features), this function computes geometry-aware attention between the\n    query residues and target residues.\n\n    The residues produce points in their local reference frame, which\n    are converted into the global frame in order to compute attention via\n    euclidean distance.\n\n    Equivalently, the target residues produce points in their local frame to be\n    used as attention values, which are converted into the query residues'\n    local frames.\n\n    Args:\n      inputs_1d: (N, C) 1D input embedding that is the basis for the scalar\n        queries.\n      inputs_2d: (N, M, C') 2D input embedding, used for biases and values.\n      mask: (N, 1) mask to indicate which elements of inputs_1d participate in\n        the attention.\n      affine: QuatAffine object describing the position and orientation of every\n        element in inputs_1d.\n\n    Returns:\n      Transformation of the input embedding.\n    \"\"\"\n    num_residues, _ = inputs_1d.shape\n\n    # Improve readability by removing a large number of 'self's.\n    num_head = self.config.num_head\n    num_scalar_qk = self.config.num_scalar_qk\n    num_point_qk = self.config.num_point_qk\n    num_scalar_v = self.config.num_scalar_v\n    num_point_v = self.config.num_point_v\n    num_output = self.config.num_channel\n\n    assert num_scalar_qk > 0\n    assert num_point_qk > 0\n    assert num_point_v > 0\n\n    # Construct scalar queries of shape:\n    # [num_query_residues, num_head, num_points]\n    q_scalar = common_modules.Linear(num_head * num_scalar_qk, name='q_scalar')(\n        inputs_1d\n    )\n    q_scalar = jnp.reshape(q_scalar, [num_residues, num_head, num_scalar_qk])\n\n    # Construct scalar keys/values of shape:\n    # [num_target_residues, num_head, num_points]\n    kv_scalar = common_modules.Linear(\n        num_head * (num_scalar_v + num_scalar_qk), name='kv_scalar'\n    )(inputs_1d)\n    kv_scalar = jnp.reshape(\n        kv_scalar, [num_residues, num_head, num_scalar_v + num_scalar_qk]\n    )\n    k_scalar, v_scalar = jnp.split(kv_scalar, [num_scalar_qk], axis=-1)\n\n    # Construct query points of shape:\n    # [num_residues, num_head, num_point_qk]\n\n    # First construct query points in local frame.\n    q_point_local = common_modules.Linear(\n        num_head * 3 * num_point_qk, name='q_point_local'\n    )(inputs_1d)\n    q_point_local = jnp.split(q_point_local, 3, axis=-1)\n    # Project query points into global frame.\n    q_point_global = affine.apply_to_point(q_point_local, extra_dims=1)\n    # Reshape query point for later use.\n    q_point = [\n        jnp.reshape(x, [num_residues, num_head, num_point_qk])\n        for x in q_point_global\n    ]\n\n    # Construct key and value points.\n    # Key points have shape [num_residues, num_head, num_point_qk]\n    # Value points have shape [num_residues, num_head, num_point_v]\n\n    # Construct key and value points in local frame.\n    kv_point_local = common_modules.Linear(\n        num_head * 3 * (num_point_qk + num_point_v), name='kv_point_local'\n    )(inputs_1d)\n    kv_point_local = jnp.split(kv_point_local, 3, axis=-1)\n    # Project key and value points into global frame.\n    kv_point_global = affine.apply_to_point(kv_point_local, extra_dims=1)\n    kv_point_global = [\n        jnp.reshape(x, [num_residues, num_head, (num_point_qk + num_point_v)])\n        for x in kv_point_global\n    ]\n    # Split key and value points.\n    k_point, v_point = list(\n        zip(*[jnp.split(x, [num_point_qk], axis=-1) for x in kv_point_global])\n    )\n\n    # We assume that all queries and keys come iid from N(0, 1) distribution\n    # and compute the variances of the attention logits.\n    # Each scalar pair (q, k) contributes Var q*k = 1\n    scalar_variance = max(num_scalar_qk, 1) * 1.0\n    # Each point pair (q, k) contributes Var [0.5 ||q||^2 - <q, k>] = 9 / 2\n    point_variance = max(num_point_qk, 1) * 9.0 / 2\n\n    # Allocate equal variance to scalar, point and attention 2d parts so that\n    # the sum is 1.\n\n    num_logit_terms = 3\n\n    scalar_weights = np.sqrt(1.0 / (num_logit_terms * scalar_variance))\n    point_weights = np.sqrt(1.0 / (num_logit_terms * point_variance))\n    attention_2d_weights = np.sqrt(1.0 / (num_logit_terms))\n\n    # Trainable per-head weights for points.\n    trainable_point_weights = jax.nn.softplus(\n        hk.get_parameter(\n            'trainable_point_weights',\n            shape=[num_head],\n            # softplus^{-1} (1)\n            init=hk.initializers.Constant(np.log(np.exp(1.0) - 1.0)),\n        )\n    )\n    point_weights *= jnp.expand_dims(trainable_point_weights, axis=1)\n\n    v_point = [jnp.swapaxes(x, -2, -3) for x in v_point]\n\n    q_point = [jnp.swapaxes(x, -2, -3) for x in q_point]\n    k_point = [jnp.swapaxes(x, -2, -3) for x in k_point]\n    dist2 = [\n        squared_difference(qx[:, :, None, :], kx[:, None, :, :])\n        for qx, kx in zip(q_point, k_point)\n    ]\n    dist2 = sum(dist2)\n    attn_qk_point = -0.5 * jnp.sum(\n        point_weights[:, None, None, :] * dist2, axis=-1\n    )\n\n    v = jnp.swapaxes(v_scalar, -2, -3)\n    q = jnp.swapaxes(scalar_weights * q_scalar, -2, -3)\n    k = jnp.swapaxes(k_scalar, -2, -3)\n    attn_qk_scalar = jnp.matmul(q, jnp.swapaxes(k, -2, -1))\n    attn_logits = attn_qk_scalar + attn_qk_point\n\n    attention_2d = common_modules.Linear(num_head, name='attention_2d')(\n        inputs_2d\n    )\n\n    attention_2d = jnp.transpose(attention_2d, [2, 0, 1])\n    attention_2d = attention_2d_weights * attention_2d\n    attn_logits += attention_2d\n\n    mask_2d = mask * jnp.swapaxes(mask, -1, -2)\n    attn_logits -= 1e5 * (1.0 - mask_2d)\n\n    # [num_head, num_query_residues, num_target_residues]\n    attn = jax.nn.softmax(attn_logits)\n\n    # [num_head, num_query_residues, num_head * num_scalar_v]\n    result_scalar = jnp.matmul(attn, v)\n\n    # For point result, implement matmul manually so that it will be a float32\n    # on TPU.  This is equivalent to\n    # result_point_global = [jnp.einsum('bhqk,bhkc->bhqc', attn, vx)\n    #                        for vx in v_point]\n    # but on the TPU, doing the multiply and reduce_sum ensures the\n    # computation happens in float32 instead of bfloat16.\n    result_point_global = [\n        jnp.sum(attn[:, :, :, None] * vx[:, None, :, :], axis=-2)\n        for vx in v_point\n    ]\n\n    # [num_query_residues, num_head, num_head * num_(scalar|point)_v]\n    result_scalar = jnp.swapaxes(result_scalar, -2, -3)\n    result_point_global = [jnp.swapaxes(x, -2, -3) for x in result_point_global]\n\n    # Features used in the linear output projection. Should have the size\n    # [num_query_residues, ?]\n    output_features = []\n\n    result_scalar = jnp.reshape(\n        result_scalar, [num_residues, num_head * num_scalar_v]\n    )\n    output_features.append(result_scalar)\n\n    result_point_global = [\n        jnp.reshape(r, [num_residues, num_head * num_point_v])\n        for r in result_point_global\n    ]\n    result_point_local = affine.invert_point(result_point_global, extra_dims=1)\n    output_features.extend(result_point_local)\n\n    output_features.append(\n        jnp.sqrt(\n            self._dist_epsilon\n            + jnp.square(result_point_local[0])\n            + jnp.square(result_point_local[1])\n            + jnp.square(result_point_local[2])\n        )\n    )\n\n    # Dimensions: h = heads, i and j = residues,\n    # c = inputs_2d channels\n    # Contraction happens over the second residue dimension, similarly to how\n    # the usual attention is performed.\n    result_attention_over_2d = jnp.einsum('hij, ijc->ihc', attn, inputs_2d)\n    num_out = num_head * result_attention_over_2d.shape[-1]\n    output_features.append(\n        jnp.reshape(result_attention_over_2d, [num_residues, num_out])\n    )\n\n    final_init = 'zeros' if self._zero_initialize_last else 'linear'\n\n    final_act = jnp.concatenate(output_features, axis=-1)\n\n    return common_modules.Linear(\n        num_output, initializer=final_init, name='output_projection'\n    )(final_act)\n\n\nclass FoldIteration(hk.Module):\n  \"\"\"A single iteration of the main structure module loop.\n\n  Jumper et al. (2021) Suppl. Alg. 20 \"StructureModule\" lines 6-21\n\n  First, each residue attends to all residues using InvariantPointAttention.\n  Then, we apply transition layers to update the hidden representations.\n  Finally, we use the hidden representations to produce an update to the\n  affine of each residue.\n  \"\"\"\n\n  def __init__(self, config, global_config, name='fold_iteration'):\n    super().__init__(name=name)\n    self.config = config\n    self.global_config = global_config\n\n  def __call__(\n      self,\n      activations,\n      sequence_mask,\n      update_affine,\n      is_training,\n      initial_act,\n      safe_key=None,\n      static_feat_2d=None,\n      aatype=None,\n  ):\n    c = self.config\n\n    if safe_key is None:\n      safe_key = prng.SafeKey(hk.next_rng_key())\n\n    def safe_dropout_fn(tensor, safe_key):\n      return prng.safe_dropout(\n          tensor=tensor,\n          safe_key=safe_key,\n          rate=c.dropout,\n          is_deterministic=self.global_config.deterministic,\n          is_training=is_training,\n      )\n\n    affine = quat_affine.QuatAffine.from_tensor(activations['affine'])\n\n    act = activations['act']\n    attention_module = InvariantPointAttention(self.config, self.global_config)\n    # Attention\n    attn = attention_module(\n        inputs_1d=act,\n        inputs_2d=static_feat_2d,\n        mask=sequence_mask,\n        affine=affine,\n    )\n    act += attn\n    safe_key, *sub_keys = safe_key.split(3)\n    sub_keys = iter(sub_keys)\n    act = safe_dropout_fn(act, next(sub_keys))\n    act = common_modules.LayerNorm(\n        axis=[-1],\n        create_scale=True,\n        create_offset=True,\n        name='attention_layer_norm',\n    )(act)\n\n    final_init = 'zeros' if self.global_config.zero_init else 'linear'\n\n    # Transition\n    input_act = act\n    for i in range(c.num_layer_in_transition):\n      init = 'relu' if i < c.num_layer_in_transition - 1 else final_init\n      act = common_modules.Linear(\n          c.num_channel, initializer=init, name='transition'\n      )(act)\n      if i < c.num_layer_in_transition - 1:\n        act = jax.nn.relu(act)\n    act += input_act\n    act = safe_dropout_fn(act, next(sub_keys))\n    act = common_modules.LayerNorm(\n        axis=[-1],\n        create_scale=True,\n        create_offset=True,\n        name='transition_layer_norm',\n    )(act)\n\n    if update_affine:\n      # This block corresponds to\n      # Jumper et al. (2021) Alg. 23 \"Backbone update\"\n      affine_update_size = 6\n\n      # Affine update\n      affine_update = common_modules.Linear(\n          affine_update_size, initializer=final_init, name='affine_update'\n      )(act)\n\n      affine = affine.pre_compose(affine_update)\n\n    sc = MultiRigidSidechain(c.sidechain, self.global_config)(\n        affine.scale_translation(c.position_scale), [act, initial_act], aatype\n    )\n\n    outputs = {'affine': affine.to_tensor(), 'sc': sc}\n\n    affine = affine.apply_rotation_tensor_fn(jax.lax.stop_gradient)\n\n    new_activations = {'act': act, 'affine': affine.to_tensor()}\n    return new_activations, outputs\n\n\ndef generate_affines(\n    representations, batch, config, global_config, is_training, safe_key\n):\n  \"\"\"Generate predicted affines for a single chain.\n\n  Jumper et al. (2021) Suppl. Alg. 20 \"StructureModule\"\n\n  This is the main part of the structure module - it iteratively applies\n  folding to produce a set of predicted residue positions.\n\n  Args:\n    representations: Representations dictionary.\n    batch: Batch dictionary.\n    config: Config for the structure module.\n    global_config: Global config.\n    is_training: Whether the model is being trained.\n    safe_key: A prng.SafeKey object that wraps a PRNG key.\n\n  Returns:\n    A dictionary containing residue affines and sidechain positions.\n  \"\"\"\n  c = config\n  sequence_mask = batch['seq_mask'][:, None]\n\n  act = common_modules.LayerNorm(\n      axis=[-1], create_scale=True, create_offset=True, name='single_layer_norm'\n  )(representations['single'])\n\n  initial_act = act\n  act = common_modules.Linear(c.num_channel, name='initial_projection')(act)\n\n  affine = generate_new_affine(sequence_mask)\n\n  fold_iteration = FoldIteration(c, global_config, name='fold_iteration')\n\n  assert len(batch['seq_mask'].shape) == 1\n\n  activations = {\n      'act': act,\n      'affine': affine.to_tensor(),\n  }\n\n  act_2d = common_modules.LayerNorm(\n      axis=[-1], create_scale=True, create_offset=True, name='pair_layer_norm'\n  )(representations['pair'])\n\n  outputs = []\n  safe_keys = safe_key.split(c.num_layer)\n  for sub_key in safe_keys:\n    activations, output = fold_iteration(\n        activations,\n        initial_act=initial_act,\n        static_feat_2d=act_2d,\n        safe_key=sub_key,\n        sequence_mask=sequence_mask,\n        update_affine=True,\n        is_training=is_training,\n        aatype=batch['aatype'],\n    )\n    outputs.append(output)\n\n  output = jax.tree.map(lambda *x: jnp.stack(x), *outputs)\n  # Include the activations in the output dict for use by the LDDT-Head.\n  output['act'] = activations['act']\n\n  return output\n\n\nclass StructureModule(hk.Module):\n  \"\"\"StructureModule as a network head.\n\n  Jumper et al. (2021) Suppl. Alg. 20 \"StructureModule\"\n  \"\"\"\n\n  def __init__(\n      self, config, global_config, compute_loss=True, name='structure_module'\n  ):\n    super().__init__(name=name)\n    self.config = config\n    self.global_config = global_config\n    self.compute_loss = compute_loss\n\n  def __call__(self, representations, batch, is_training, safe_key=None):\n    c = self.config\n    ret = {}\n\n    if safe_key is None:\n      safe_key = prng.SafeKey(hk.next_rng_key())\n\n    output = generate_affines(\n        representations=representations,\n        batch=batch,\n        config=self.config,\n        global_config=self.global_config,\n        is_training=is_training,\n        safe_key=safe_key,\n    )\n\n    ret['representations'] = {'structure_module': output['act']}\n\n    ret['traj'] = output['affine'] * jnp.array(\n        [1.0] * 4 + [c.position_scale] * 3\n    )\n\n    ret['sidechains'] = output['sc']\n\n    atom14_pred_positions = r3.vecs_to_tensor(output['sc']['atom_pos'])[-1]\n    ret['final_atom14_positions'] = atom14_pred_positions  # (N, 14, 3)\n    ret['final_atom14_mask'] = batch['atom14_atom_exists']  # (N, 14)\n\n    atom37_pred_positions = all_atom.atom14_to_atom37(\n        atom14_pred_positions, batch\n    )\n    atom37_pred_positions *= batch['atom37_atom_exists'][:, :, None]\n    ret['final_atom_positions'] = atom37_pred_positions  # (N, 37, 3)\n\n    ret['final_atom_mask'] = batch['atom37_atom_exists']  # (N, 37)\n    ret['final_affines'] = ret['traj'][-1]\n\n    if self.compute_loss:\n      return ret\n    else:\n      no_loss_features = [\n          'final_atom_positions',\n          'final_atom_mask',\n          'representations',\n      ]\n      no_loss_ret = {k: ret[k] for k in no_loss_features}\n      return no_loss_ret\n\n  def loss(self, value, batch):\n    ret = {'loss': 0.0}\n\n    ret['metrics'] = {}\n    # If requested, compute in-graph metrics.\n    if self.config.compute_in_graph_metrics:\n      atom14_pred_positions = value['final_atom14_positions']\n      # Compute renaming and violations.\n      value.update(compute_renamed_ground_truth(batch, atom14_pred_positions))\n      value['violations'] = find_structural_violations(\n          batch, atom14_pred_positions, self.config\n      )\n\n      # Several violation metrics:\n      violation_metrics = compute_violation_metrics(\n          batch=batch,\n          atom14_pred_positions=atom14_pred_positions,\n          violations=value['violations'],\n      )\n      ret['metrics'].update(violation_metrics)\n\n    backbone_loss(ret, batch, value, self.config)\n\n    if 'renamed_atom14_gt_positions' not in value:\n      value.update(\n          compute_renamed_ground_truth(batch, value['final_atom14_positions'])\n      )\n    sc_loss = sidechain_loss(batch, value, self.config)\n\n    ret['loss'] = (1 - self.config.sidechain.weight_frac) * ret[\n        'loss'\n    ] + self.config.sidechain.weight_frac * sc_loss['loss']\n    ret['sidechain_fape'] = sc_loss['fape']\n\n    supervised_chi_loss(ret, batch, value, self.config)\n\n    if self.config.structural_violation_loss_weight:\n      if 'violations' not in value:\n        value['violations'] = find_structural_violations(\n            batch, value['final_atom14_positions'], self.config\n        )\n      structural_violation_loss(ret, batch, value, self.config)\n\n    return ret\n\n\ndef compute_renamed_ground_truth(\n    batch: Dict[str, jnp.ndarray],\n    atom14_pred_positions: jnp.ndarray,\n) -> Dict[str, jnp.ndarray]:\n  \"\"\"Find optimal renaming of ground truth based on the predicted positions.\n\n  Jumper et al. (2021) Suppl. Alg. 26 \"renameSymmetricGroundTruthAtoms\"\n\n  This renamed ground truth is then used for all losses,\n  such that each loss moves the atoms in the same direction.\n  Shape (N).\n\n  Args:\n    batch: Dictionary containing:\n      * atom14_gt_positions: Ground truth positions.\n      * atom14_alt_gt_positions: Ground truth positions with renaming swaps.\n      * atom14_atom_is_ambiguous: 1.0 for atoms that are affected by renaming\n        swaps.\n      * atom14_gt_exists: Mask for which atoms exist in ground truth.\n      * atom14_alt_gt_exists: Mask for which atoms exist in ground truth after\n        renaming.\n      * atom14_atom_exists: Mask for whether each atom is part of the given\n        amino acid type.\n    atom14_pred_positions: Array of atom positions in global frame with shape\n      (N, 14, 3).\n\n  Returns:\n    Dictionary containing:\n      alt_naming_is_better: Array with 1.0 where alternative swap is better.\n      renamed_atom14_gt_positions: Array of optimal ground truth positions\n        after renaming swaps are performed.\n      renamed_atom14_gt_exists: Mask after renaming swap is performed.\n  \"\"\"\n  alt_naming_is_better = all_atom.find_optimal_renaming(\n      atom14_gt_positions=batch['atom14_gt_positions'],\n      atom14_alt_gt_positions=batch['atom14_alt_gt_positions'],\n      atom14_atom_is_ambiguous=batch['atom14_atom_is_ambiguous'],\n      atom14_gt_exists=batch['atom14_gt_exists'],\n      atom14_pred_positions=atom14_pred_positions,\n      atom14_atom_exists=batch['atom14_atom_exists'],\n  )\n\n  renamed_atom14_gt_positions = (\n      1.0 - alt_naming_is_better[:, None, None]\n  ) * batch['atom14_gt_positions'] + alt_naming_is_better[\n      :, None, None\n  ] * batch[\n      'atom14_alt_gt_positions'\n  ]\n\n  renamed_atom14_gt_mask = (1.0 - alt_naming_is_better[:, None]) * batch[\n      'atom14_gt_exists'\n  ] + alt_naming_is_better[:, None] * batch['atom14_alt_gt_exists']\n\n  return {\n      'alt_naming_is_better': alt_naming_is_better,  # (N)\n      'renamed_atom14_gt_positions': renamed_atom14_gt_positions,  # (N, 14, 3)\n      'renamed_atom14_gt_exists': renamed_atom14_gt_mask,  # (N, 14)\n  }\n\n\ndef backbone_loss(ret, batch, value, config):\n  \"\"\"Backbone FAPE Loss.\n\n  Jumper et al. (2021) Suppl. Alg. 20 \"StructureModule\" line 17\n\n  Args:\n    ret: Dictionary to write outputs into, needs to contain 'loss'.\n    batch: Batch, needs to contain 'backbone_affine_tensor',\n      'backbone_affine_mask'.\n    value: Dictionary containing structure module output, needs to contain\n      'traj', a trajectory of rigids.\n    config: Configuration of loss, should contain 'fape.clamp_distance' and\n      'fape.loss_unit_distance'.\n  \"\"\"\n  affine_trajectory = quat_affine.QuatAffine.from_tensor(value['traj'])\n  rigid_trajectory = r3.rigids_from_quataffine(affine_trajectory)\n\n  gt_affine = quat_affine.QuatAffine.from_tensor(\n      batch['backbone_affine_tensor']\n  )\n  gt_rigid = r3.rigids_from_quataffine(gt_affine)\n  backbone_mask = batch['backbone_affine_mask']\n\n  fape_loss_fn = functools.partial(\n      all_atom.frame_aligned_point_error,\n      l1_clamp_distance=config.fape.clamp_distance,\n      length_scale=config.fape.loss_unit_distance,\n  )\n\n  fape_loss_fn = jax.vmap(fape_loss_fn, (0, None, None, 0, None, None))\n  fape_loss = fape_loss_fn(\n      rigid_trajectory,\n      gt_rigid,\n      backbone_mask,\n      rigid_trajectory.trans,\n      gt_rigid.trans,\n      backbone_mask,\n  )\n\n  if 'use_clamped_fape' in batch:\n    # Jumper et al. (2021) Suppl. Sec. 1.11.5 \"Loss clamping details\"\n    use_clamped_fape = jnp.asarray(batch['use_clamped_fape'], jnp.float32)\n    unclamped_fape_loss_fn = functools.partial(\n        all_atom.frame_aligned_point_error,\n        l1_clamp_distance=None,\n        length_scale=config.fape.loss_unit_distance,\n    )\n    unclamped_fape_loss_fn = jax.vmap(\n        unclamped_fape_loss_fn, (0, None, None, 0, None, None)\n    )\n    fape_loss_unclamped = unclamped_fape_loss_fn(\n        rigid_trajectory,\n        gt_rigid,\n        backbone_mask,\n        rigid_trajectory.trans,\n        gt_rigid.trans,\n        backbone_mask,\n    )\n\n    fape_loss = fape_loss * use_clamped_fape + fape_loss_unclamped * (\n        1 - use_clamped_fape\n    )\n\n  ret['fape'] = fape_loss[-1]\n  ret['loss'] += jnp.mean(fape_loss)\n\n\ndef sidechain_loss(batch, value, config):\n  \"\"\"All Atom FAPE Loss using renamed rigids.\"\"\"\n  # Rename Frames\n  # Jumper et al. (2021) Suppl. Alg. 26 \"renameSymmetricGroundTruthAtoms\" line 7\n  alt_naming_is_better = value['alt_naming_is_better']\n  renamed_gt_frames = (1.0 - alt_naming_is_better[:, None, None]) * batch[\n      'rigidgroups_gt_frames'\n  ] + alt_naming_is_better[:, None, None] * batch['rigidgroups_alt_gt_frames']\n\n  flat_gt_frames = r3.rigids_from_tensor_flat12(\n      jnp.reshape(renamed_gt_frames, [-1, 12])\n  )\n  flat_frames_mask = jnp.reshape(batch['rigidgroups_gt_exists'], [-1])\n\n  flat_gt_positions = r3.vecs_from_tensor(\n      jnp.reshape(value['renamed_atom14_gt_positions'], [-1, 3])\n  )\n  flat_positions_mask = jnp.reshape(value['renamed_atom14_gt_exists'], [-1])\n\n  # Compute frame_aligned_point_error score for the final layer.\n  pred_frames = value['sidechains']['frames']\n  pred_positions = value['sidechains']['atom_pos']\n\n  def _slice_last_layer_and_flatten(x):\n    return jnp.reshape(x[-1], [-1])\n\n  flat_pred_frames = jax.tree.map(_slice_last_layer_and_flatten, pred_frames)\n  flat_pred_positions = jax.tree.map(\n      _slice_last_layer_and_flatten, pred_positions\n  )\n  # FAPE Loss on sidechains\n  fape = all_atom.frame_aligned_point_error(\n      pred_frames=flat_pred_frames,\n      target_frames=flat_gt_frames,\n      frames_mask=flat_frames_mask,\n      pred_positions=flat_pred_positions,\n      target_positions=flat_gt_positions,\n      positions_mask=flat_positions_mask,\n      l1_clamp_distance=config.sidechain.atom_clamp_distance,\n      length_scale=config.sidechain.length_scale,\n  )\n\n  return {'fape': fape, 'loss': fape}\n\n\ndef structural_violation_loss(ret, batch, value, config):\n  \"\"\"Computes loss for structural violations.\"\"\"\n  assert config.sidechain.weight_frac\n\n  # Put all violation losses together to one large loss.\n  violations = value['violations']\n  num_atoms = jnp.sum(batch['atom14_atom_exists']).astype(jnp.float32)\n  ret['loss'] += config.structural_violation_loss_weight * (\n      violations['between_residues']['bonds_c_n_loss_mean']\n      + violations['between_residues']['angles_ca_c_n_loss_mean']\n      + violations['between_residues']['angles_c_n_ca_loss_mean']\n      + jnp.sum(\n          violations['between_residues']['clashes_per_atom_loss_sum']\n          + violations['within_residues']['per_atom_loss_sum']\n      )\n      / (1e-6 + num_atoms)\n  )\n\n\ndef find_structural_violations(\n    batch: Dict[str, jnp.ndarray],\n    atom14_pred_positions: jnp.ndarray,  # (N, 14, 3)\n    config: ml_collections.ConfigDict,\n):\n  \"\"\"Computes several checks for structural violations.\"\"\"\n\n  # Compute between residue backbone violations of bonds and angles.\n  connection_violations = all_atom.between_residue_bond_loss(\n      pred_atom_positions=atom14_pred_positions,\n      pred_atom_mask=batch['atom14_atom_exists'].astype(jnp.float32),\n      residue_index=batch['residue_index'].astype(jnp.float32),\n      aatype=batch['aatype'],\n      tolerance_factor_soft=config.violation_tolerance_factor,\n      tolerance_factor_hard=config.violation_tolerance_factor,\n  )\n\n  # Compute the Van der Waals radius for every atom\n  # (the first letter of the atom name is the element type).\n  # Shape: (N, 14).\n  atomtype_radius = jnp.array([\n      residue_constants.van_der_waals_radius[name[0]]\n      for name in residue_constants.atom_types\n  ])\n  atom14_atom_radius = batch['atom14_atom_exists'] * utils.batched_gather(\n      atomtype_radius, batch['residx_atom14_to_atom37']\n  )\n\n  # Compute the between residue clash loss.\n  between_residue_clashes = all_atom.between_residue_clash_loss(\n      atom14_pred_positions=atom14_pred_positions,\n      atom14_atom_exists=batch['atom14_atom_exists'],\n      atom14_atom_radius=atom14_atom_radius,\n      residue_index=batch['residue_index'],\n      overlap_tolerance_soft=config.clash_overlap_tolerance,\n      overlap_tolerance_hard=config.clash_overlap_tolerance,\n  )\n\n  # Compute all within-residue violations (clashes,\n  # bond length and angle violations).\n  restype_atom14_bounds = residue_constants.make_atom14_dists_bounds(\n      overlap_tolerance=config.clash_overlap_tolerance,\n      bond_length_tolerance_factor=config.violation_tolerance_factor,\n  )\n  atom14_dists_lower_bound = utils.batched_gather(\n      restype_atom14_bounds['lower_bound'], batch['aatype']\n  )\n  atom14_dists_upper_bound = utils.batched_gather(\n      restype_atom14_bounds['upper_bound'], batch['aatype']\n  )\n  within_residue_violations = all_atom.within_residue_violations(\n      atom14_pred_positions=atom14_pred_positions,\n      atom14_atom_exists=batch['atom14_atom_exists'],\n      atom14_dists_lower_bound=atom14_dists_lower_bound,\n      atom14_dists_upper_bound=atom14_dists_upper_bound,\n      tighten_bounds_for_loss=0.0,\n  )\n\n  # Combine them to a single per-residue violation mask (used later for LDDT).\n  per_residue_violations_mask = jnp.max(\n      jnp.stack([\n          connection_violations['per_residue_violation_mask'],\n          jnp.max(between_residue_clashes['per_atom_clash_mask'], axis=-1),\n          jnp.max(within_residue_violations['per_atom_violations'], axis=-1),\n      ]),\n      axis=0,\n  )\n\n  return {\n      'between_residues': {\n          'bonds_c_n_loss_mean': connection_violations['c_n_loss_mean'],  # ()\n          'angles_ca_c_n_loss_mean': connection_violations[\n              'ca_c_n_loss_mean'\n          ],  # ()\n          'angles_c_n_ca_loss_mean': connection_violations[\n              'c_n_ca_loss_mean'\n          ],  # ()\n          'connections_per_residue_loss_sum': connection_violations[\n              'per_residue_loss_sum'\n          ],  # (N)\n          'connections_per_residue_violation_mask': connection_violations[\n              'per_residue_violation_mask'\n          ],  # (N)\n          'clashes_mean_loss': between_residue_clashes['mean_loss'],  # ()\n          'clashes_per_atom_loss_sum': between_residue_clashes[\n              'per_atom_loss_sum'\n          ],  # (N, 14)\n          'clashes_per_atom_clash_mask': between_residue_clashes[\n              'per_atom_clash_mask'\n          ],  # (N, 14)\n      },\n      'within_residues': {\n          'per_atom_loss_sum': within_residue_violations[\n              'per_atom_loss_sum'\n          ],  # (N, 14)\n          'per_atom_violations': within_residue_violations[\n              'per_atom_violations'\n          ],  # (N, 14),\n      },\n      'total_per_residue_violations_mask': per_residue_violations_mask,  # (N)\n  }\n\n\ndef compute_violation_metrics(\n    batch: Dict[str, jnp.ndarray],\n    atom14_pred_positions: jnp.ndarray,  # (N, 14, 3)\n    violations: Dict[str, jnp.ndarray],\n) -> Dict[str, jnp.ndarray]:\n  \"\"\"Compute several metrics to assess the structural violations.\"\"\"\n\n  ret = {}\n  extreme_ca_ca_violations = all_atom.extreme_ca_ca_distance_violations(\n      pred_atom_positions=atom14_pred_positions,\n      pred_atom_mask=batch['atom14_atom_exists'].astype(jnp.float32),\n      residue_index=batch['residue_index'].astype(jnp.float32),\n  )\n  ret['violations_extreme_ca_ca_distance'] = extreme_ca_ca_violations\n  ret['violations_between_residue_bond'] = utils.mask_mean(\n      mask=batch['seq_mask'],\n      value=violations['between_residues'][\n          'connections_per_residue_violation_mask'\n      ],\n  )\n  ret['violations_between_residue_clash'] = utils.mask_mean(\n      mask=batch['seq_mask'],\n      value=jnp.max(\n          violations['between_residues']['clashes_per_atom_clash_mask'], axis=-1\n      ),\n  )\n  ret['violations_within_residue'] = utils.mask_mean(\n      mask=batch['seq_mask'],\n      value=jnp.max(\n          violations['within_residues']['per_atom_violations'], axis=-1\n      ),\n  )\n  ret['violations_per_residue'] = utils.mask_mean(\n      mask=batch['seq_mask'],\n      value=violations['total_per_residue_violations_mask'],\n  )\n  return ret\n\n\ndef supervised_chi_loss(ret, batch, value, config):\n  \"\"\"Computes loss for direct chi angle supervision.\n\n  Jumper et al. (2021) Suppl. Alg. 27 \"torsionAngleLoss\"\n\n  Args:\n    ret: Dictionary to write outputs into, needs to contain 'loss'.\n    batch: Batch, needs to contain 'seq_mask', 'chi_mask', 'chi_angles'.\n    value: Dictionary containing structure module output, needs to contain\n      value['sidechains']['angles_sin_cos'] for angles and\n      value['sidechains']['unnormalized_angles_sin_cos'] for unnormalized\n      angles.\n    config: Configuration of loss, should contain 'chi_weight' and\n      'angle_norm_weight', 'angle_norm_weight' scales angle norm term,\n      'chi_weight' scales torsion term.\n  \"\"\"\n  eps = 1e-6\n\n  sequence_mask = batch['seq_mask']\n  num_res = sequence_mask.shape[0]\n  chi_mask = batch['chi_mask'].astype(jnp.float32)\n  pred_angles = jnp.reshape(\n      value['sidechains']['angles_sin_cos'], [-1, num_res, 7, 2]\n  )\n  pred_angles = pred_angles[:, :, 3:]\n\n  residue_type_one_hot = jax.nn.one_hot(\n      batch['aatype'], residue_constants.restype_num + 1, dtype=jnp.float32\n  )[None]\n  chi_pi_periodic = jnp.einsum(\n      'ijk, kl->ijl',\n      residue_type_one_hot,\n      jnp.asarray(residue_constants.chi_pi_periodic),\n  )\n\n  true_chi = batch['chi_angles'][None]\n  sin_true_chi = jnp.sin(true_chi)\n  cos_true_chi = jnp.cos(true_chi)\n  sin_cos_true_chi = jnp.stack([sin_true_chi, cos_true_chi], axis=-1)\n\n  # This is -1 if chi is pi-periodic and +1 if it's 2pi-periodic\n  shifted_mask = (1 - 2 * chi_pi_periodic)[..., None]\n  sin_cos_true_chi_shifted = shifted_mask * sin_cos_true_chi\n\n  sq_chi_error = jnp.sum(squared_difference(sin_cos_true_chi, pred_angles), -1)\n  sq_chi_error_shifted = jnp.sum(\n      squared_difference(sin_cos_true_chi_shifted, pred_angles), -1\n  )\n  sq_chi_error = jnp.minimum(sq_chi_error, sq_chi_error_shifted)\n\n  sq_chi_loss = utils.mask_mean(mask=chi_mask[None], value=sq_chi_error)\n  ret['chi_loss'] = sq_chi_loss\n  ret['loss'] += config.chi_weight * sq_chi_loss\n  unnormed_angles = jnp.reshape(\n      value['sidechains']['unnormalized_angles_sin_cos'], [-1, num_res, 7, 2]\n  )\n  angle_norm = jnp.sqrt(jnp.sum(jnp.square(unnormed_angles), axis=-1) + eps)\n  norm_error = jnp.abs(angle_norm - 1.0)\n  angle_norm_loss = utils.mask_mean(\n      mask=sequence_mask[None, :, None], value=norm_error\n  )\n\n  ret['angle_norm_loss'] = angle_norm_loss\n  ret['loss'] += config.angle_norm_weight * angle_norm_loss\n\n\ndef generate_new_affine(sequence_mask):\n  num_residues, _ = sequence_mask.shape\n  quaternion = jnp.tile(\n      jnp.reshape(jnp.asarray([1.0, 0.0, 0.0, 0.0]), [1, 4]), [num_residues, 1]\n  )\n\n  translation = jnp.zeros([num_residues, 3])\n  return quat_affine.QuatAffine(quaternion, translation, unstack_inputs=True)\n\n\ndef l2_normalize(x, axis=-1, epsilon=1e-12):\n  return x / jnp.sqrt(\n      jnp.maximum(jnp.sum(x**2, axis=axis, keepdims=True), epsilon)\n  )\n\n\nclass MultiRigidSidechain(hk.Module):\n  \"\"\"Class to make side chain atoms.\"\"\"\n\n  def __init__(self, config, global_config, name='rigid_sidechain'):\n    super().__init__(name=name)\n    self.config = config\n    self.global_config = global_config\n\n  def __call__(self, affine, representations_list, aatype):\n    \"\"\"Predict side chains using multi-rigid representations.\n\n    Args:\n      affine: The affines for each residue (translations in angstroms).\n      representations_list: A list of activations to predict side chains from.\n      aatype: Amino acid types.\n\n    Returns:\n      Dict containing atom positions and frames (in angstroms).\n    \"\"\"\n    act = [\n        common_modules.Linear(  # pylint: disable=g-complex-comprehension\n            self.config.num_channel, name='input_projection'\n        )(jax.nn.relu(x))\n        for x in representations_list\n    ]\n    # Sum the activation list (equivalent to concat then Linear).\n    act = sum(act)\n\n    final_init = 'zeros' if self.global_config.zero_init else 'linear'\n\n    # Mapping with some residual blocks.\n    for _ in range(self.config.num_residual_block):\n      old_act = act\n      act = common_modules.Linear(\n          self.config.num_channel, initializer='relu', name='resblock1'\n      )(jax.nn.relu(act))\n      act = common_modules.Linear(\n          self.config.num_channel, initializer=final_init, name='resblock2'\n      )(jax.nn.relu(act))\n      act += old_act\n\n    # Map activations to torsion angles. Shape: (num_res, 14).\n    num_res = act.shape[0]\n    unnormalized_angles = common_modules.Linear(14, name='unnormalized_angles')(\n        jax.nn.relu(act)\n    )\n    unnormalized_angles = jnp.reshape(unnormalized_angles, [num_res, 7, 2])\n    angles = l2_normalize(unnormalized_angles, axis=-1)\n\n    outputs = {\n        'angles_sin_cos': angles,  # jnp.ndarray (N, 7, 2)\n        'unnormalized_angles_sin_cos': (\n            unnormalized_angles\n        ),  # jnp.ndarray (N, 7, 2)\n    }\n\n    # Map torsion angles to frames.\n    backb_to_global = r3.rigids_from_quataffine(affine)\n\n    # Jumper et al. (2021) Suppl. Alg. 24 \"computeAllAtomCoordinates\"\n\n    # r3.Rigids with shape (N, 8).\n    all_frames_to_global = all_atom.torsion_angles_to_frames(\n        aatype, backb_to_global, angles\n    )\n\n    # Use frames and literature positions to create the final atom coordinates.\n    # r3.Vecs with shape (N, 14).\n    pred_positions = all_atom.frames_and_literature_positions_to_atom14_pos(\n        aatype, all_frames_to_global\n    )\n\n    outputs.update({\n        'atom_pos': pred_positions,  # r3.Vecs (N, 14)\n        'frames': all_frames_to_global,  # r3.Rigids (N, 8)\n    })\n    return outputs\n"
  },
  {
    "path": "alphafold/model/folding_multimer.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Modules and utilities for the structure module in the multimer system.\"\"\"\n\nimport functools\nimport numbers\nfrom typing import Any, Dict, Iterable, Mapping, Optional, Tuple, Union\n\nfrom alphafold.common import residue_constants\nfrom alphafold.model import all_atom_multimer\nfrom alphafold.model import common_modules\nfrom alphafold.model import geometry\nfrom alphafold.model import modules\nfrom alphafold.model import prng\nfrom alphafold.model import utils\nfrom alphafold.model.geometry import utils as geometry_utils\nimport haiku as hk\nimport jax\nimport jax.numpy as jnp\nimport ml_collections\nimport numpy as np\n\n\nEPSILON = 1e-8\nFloat = Union[float, jnp.ndarray]\n\n\ndef squared_difference(x: jnp.ndarray, y: jnp.ndarray) -> jnp.ndarray:\n  \"\"\"Computes Squared difference between two arrays.\"\"\"\n  return jnp.square(x - y)\n\n\ndef make_backbone_affine(\n    positions: geometry.Vec3Array,\n    mask: jnp.ndarray,\n    aatype: jnp.ndarray,\n) -> Tuple[geometry.Rigid3Array, jnp.ndarray]:\n  \"\"\"Make backbone Rigid3Array and mask.\"\"\"\n  del aatype\n  a = residue_constants.atom_order['N']\n  b = residue_constants.atom_order['CA']\n  c = residue_constants.atom_order['C']\n\n  rigid_mask = (mask[:, a] * mask[:, b] * mask[:, c]).astype(jnp.float32)\n\n  rigid = all_atom_multimer.make_transform_from_reference(\n      a_xyz=positions[:, a], b_xyz=positions[:, b], c_xyz=positions[:, c]\n  )\n\n  return rigid, rigid_mask\n\n\nclass QuatRigid(hk.Module):\n  \"\"\"Module for projecting Rigids via a quaternion.\"\"\"\n\n  def __init__(\n      self,\n      global_config: ml_collections.ConfigDict,\n      rigid_shape: Union[int, Iterable[int]] = tuple(),\n      full_quat: bool = False,\n      init: str = 'zeros',\n      name: str = 'quat_rigid',\n  ):\n    \"\"\"Module projecting a Rigid Object.\n\n    For this Module the Rotation is parametrized as a quaternion,\n    If 'full_quat' is True a 4 vector is produced for the rotation which is\n    normalized and treated as a quaternion.\n    When 'full_quat' is False a 3 vector is produced and the 1st component of\n    the quaternion is set to 1.\n\n    Args:\n      global_config: Global Config, used to set certain properties of underlying\n        Linear module, see common_modules.Linear for details.\n      rigid_shape: Shape of Rigids relative to shape of activations, e.g. when\n        activations have shape (n,) and this is (m,) output will be (n, m)\n      full_quat: Whether to parametrize rotation using full quaternion.\n      init: initializer to use, see common_modules.Linear for details\n      name: Name to use for module.\n    \"\"\"\n    self.init = init\n    self.global_config = global_config\n    if isinstance(rigid_shape, int):\n      self.rigid_shape = (rigid_shape,)\n    else:\n      self.rigid_shape = tuple(rigid_shape)\n    self.full_quat = full_quat\n    super(QuatRigid, self).__init__(name=name)\n\n  def __call__(self, activations: jnp.ndarray) -> geometry.Rigid3Array:\n    \"\"\"Executes Module.\n\n    This returns a set of rigid with the same shape as activations, projecting\n    the channel dimension, rigid_shape controls the trailing dimensions.\n    For example when activations is shape (12, 5) and rigid_shape is (3, 2)\n    then the shape of the output rigids will be (12, 3, 2).\n    This also supports passing in an empty tuple for rigid shape, in that case\n    the example would produce a rigid of shape (12,).\n\n    Args:\n      activations: Activations to use for projection, shape [..., num_channel]\n\n    Returns:\n      Rigid transformations with shape [...] + rigid_shape\n    \"\"\"\n    if self.full_quat:\n      rigid_dim = 7\n    else:\n      rigid_dim = 6\n    linear_dims = self.rigid_shape + (rigid_dim,)\n    rigid_flat = common_modules.Linear(\n        linear_dims,\n        initializer=self.init,\n        precision=jax.lax.Precision.HIGHEST,\n        name='rigid',\n    )(activations)\n    rigid_flat = geometry_utils.unstack(rigid_flat)\n    if self.full_quat:\n      qw, qx, qy, qz = rigid_flat[:4]\n      translation = rigid_flat[4:]\n    else:\n      qx, qy, qz = rigid_flat[:3]\n      qw = jnp.ones_like(qx)\n      translation = rigid_flat[3:]\n    rotation = geometry.Rot3Array.from_quaternion(\n        qw, qx, qy, qz, normalize=True\n    )\n    translation = geometry.Vec3Array(*translation)\n    return geometry.Rigid3Array(rotation, translation)\n\n\nclass PointProjection(hk.Module):\n  \"\"\"Given input representation and frame produces points in global frame.\"\"\"\n\n  def __init__(\n      self,\n      num_points: Union[Iterable[int], int],\n      global_config: ml_collections.ConfigDict,\n      return_local_points: bool = False,\n      name: str = 'point_projection',\n  ):\n    \"\"\"Constructs Linear Module.\n\n    Args:\n      num_points: number of points to project. Can be tuple when outputting\n        multiple dimensions\n      global_config: Global Config, passed through to underlying Linear\n      return_local_points: Whether to return points in local frame as well.\n      name: name of module, used for name scopes.\n    \"\"\"\n    if isinstance(num_points, numbers.Integral):\n      self.num_points = (num_points,)\n    else:\n      self.num_points = tuple(num_points)\n\n    self.return_local_points = return_local_points\n\n    self.global_config = global_config\n\n    super().__init__(name=name)\n\n  def __call__(\n      self, activations: jnp.ndarray, rigids: geometry.Rigid3Array\n  ) -> Union[geometry.Vec3Array, Tuple[geometry.Vec3Array, geometry.Vec3Array]]:\n    output_shape = self.num_points\n    output_shape = output_shape[:-1] + (3 * output_shape[-1],)\n    points_local = common_modules.Linear(\n        output_shape,\n        precision=jax.lax.Precision.HIGHEST,\n        name='point_projection',\n    )(activations)\n    points_local = jnp.split(points_local, 3, axis=-1)\n    points_local = geometry.Vec3Array(*points_local)\n    rigids = rigids[(...,) + (None,) * len(output_shape)]\n    points_global = rigids.apply_to_point(points_local)\n    if self.return_local_points:\n      return points_global, points_local\n    else:\n      return points_global\n\n\nclass InvariantPointAttention(hk.Module):\n  \"\"\"Invariant point attention module.\n\n  The high-level idea is that this attention module works over a set of points\n  and associated orientations in 3D space (e.g. protein residues).\n\n  Each residue outputs a set of queries and keys as points in their local\n  reference frame.  The attention is then defined as the euclidean distance\n  between the queries and keys in the global frame.\n  \"\"\"\n\n  def __init__(\n      self,\n      config: ml_collections.ConfigDict,\n      global_config: ml_collections.ConfigDict,\n      dist_epsilon: float = 1e-8,\n      name: str = 'invariant_point_attention',\n  ):\n    \"\"\"Initialize.\n\n    Args:\n      config: iterative Fold Head Config\n      global_config: Global Config of Model.\n      dist_epsilon: Small value to avoid NaN in distance calculation.\n      name: Sonnet name.\n    \"\"\"\n    super().__init__(name=name)\n\n    self._dist_epsilon = dist_epsilon\n    self._zero_initialize_last = global_config.zero_init\n\n    self.config = config\n\n    self.global_config = global_config\n\n  def __call__(\n      self,\n      inputs_1d: jnp.ndarray,\n      inputs_2d: jnp.ndarray,\n      mask: jnp.ndarray,\n      rigid: geometry.Rigid3Array,\n  ) -> jnp.ndarray:\n    \"\"\"Compute geometric aware attention.\n\n    Given a set of query residues (defined by affines and associated scalar\n    features), this function computes geometric aware attention between the\n    query residues and target residues.\n\n    The residues produce points in their local reference frame, which\n    are converted into the global frame to get attention via euclidean distance.\n\n    Equivalently the target residues produce points in their local frame to be\n    used as attention values, which are converted into the query residues local\n    frames.\n\n    Args:\n      inputs_1d: (N, C) 1D input embedding that is the basis for the scalar\n        queries.\n      inputs_2d: (N, M, C') 2D input embedding, used for biases values in the\n        attention between query_inputs_1d and target_inputs_1d.\n      mask: (N, 1) mask to indicate query_inputs_1d that participate in the\n        attention.\n      rigid: Rigid object describing the position and orientation of every\n        element in query_inputs_1d.\n\n    Returns:\n      Transformation of the input embedding.\n    \"\"\"\n\n    num_head = self.config.num_head\n\n    attn_logits = 0.0\n\n    num_point_qk = self.config.num_point_qk\n    # Each point pair (q, k) contributes Var [0.5 ||q||^2 - <q, k>] = 9 / 2\n    point_variance = max(num_point_qk, 1) * 9.0 / 2\n    point_weights = np.sqrt(1.0 / point_variance)\n\n    # This is equivalent to jax.nn.softplus, but avoids a bug in the test...\n    softplus = lambda x: jnp.logaddexp(x, jnp.zeros_like(x))\n    raw_point_weights = hk.get_parameter(\n        'trainable_point_weights',\n        shape=[num_head],\n        # softplus^{-1} (1)\n        init=hk.initializers.Constant(np.log(np.exp(1.0) - 1.0)),\n    )\n\n    # Trainable per-head weights for points.\n    trainable_point_weights = softplus(raw_point_weights)\n    point_weights *= trainable_point_weights\n    q_point = PointProjection(\n        [num_head, num_point_qk], self.global_config, name='q_point_projection'\n    )(inputs_1d, rigid)\n\n    k_point = PointProjection(\n        [num_head, num_point_qk], self.global_config, name='k_point_projection'\n    )(inputs_1d, rigid)\n\n    dist2 = geometry.square_euclidean_distance(\n        q_point[:, None, :, :], k_point[None, :, :, :], epsilon=0.0\n    )\n    attn_qk_point = -0.5 * jnp.sum(point_weights[:, None] * dist2, axis=-1)\n    attn_logits += attn_qk_point\n\n    num_scalar_qk = self.config.num_scalar_qk\n    # We assume that all queries and keys come iid from N(0, 1) distribution\n    # and compute the variances of the attention logits.\n    # Each scalar pair (q, k) contributes Var q*k = 1\n    scalar_variance = max(num_scalar_qk, 1) * 1.0\n    scalar_weights = np.sqrt(1.0 / scalar_variance)\n    q_scalar = common_modules.Linear(\n        [num_head, num_scalar_qk], use_bias=False, name='q_scalar_projection'\n    )(inputs_1d)\n\n    k_scalar = common_modules.Linear(\n        [num_head, num_scalar_qk], use_bias=False, name='k_scalar_projection'\n    )(inputs_1d)\n    q_scalar *= scalar_weights\n    attn_logits += jnp.einsum('qhc,khc->qkh', q_scalar, k_scalar)\n\n    attention_2d = common_modules.Linear(num_head, name='attention_2d')(\n        inputs_2d\n    )\n    attn_logits += attention_2d\n\n    mask_2d = mask * jnp.swapaxes(mask, -1, -2)\n    attn_logits -= 1e5 * (1.0 - mask_2d[..., None])\n\n    attn_logits *= np.sqrt(1.0 / 3)  # Normalize by number of logit terms (3)\n    attn = jax.nn.softmax(attn_logits, axis=-2)\n\n    num_scalar_v = self.config.num_scalar_v\n\n    v_scalar = common_modules.Linear(\n        [num_head, num_scalar_v], use_bias=False, name='v_scalar_projection'\n    )(inputs_1d)\n\n    # [num_query_residues, num_head, num_scalar_v]\n    result_scalar = jnp.einsum('qkh, khc->qhc', attn, v_scalar)\n\n    num_point_v = self.config.num_point_v\n    v_point = PointProjection(\n        [num_head, num_point_v], self.global_config, name='v_point_projection'\n    )(inputs_1d, rigid)\n\n    result_point_global = jax.tree.map(\n        lambda x: jnp.sum(attn[..., None] * x, axis=-3), v_point[None]\n    )\n\n    # Features used in the linear output projection. Should have the size\n    # [num_query_residues, ?]\n    output_features = []\n    num_query_residues, _ = inputs_1d.shape\n\n    flat_shape = [num_query_residues, -1]\n\n    result_scalar = jnp.reshape(result_scalar, flat_shape)\n    output_features.append(result_scalar)\n\n    result_point_global = jax.tree.map(\n        lambda r: jnp.reshape(r, flat_shape), result_point_global\n    )\n    result_point_local = rigid[..., None].apply_inverse_to_point(\n        result_point_global\n    )\n    output_features.extend(\n        [result_point_local.x, result_point_local.y, result_point_local.z]\n    )\n\n    point_norms = result_point_local.norm(self._dist_epsilon)\n    output_features.append(point_norms)\n\n    # Dimensions: h = heads, i and j = residues,\n    # c = inputs_2d channels\n    # Contraction happens over the second residue dimension, similarly to how\n    # the usual attention is performed.\n    result_attention_over_2d = jnp.einsum('ijh, ijc->ihc', attn, inputs_2d)\n    output_features.append(jnp.reshape(result_attention_over_2d, flat_shape))\n\n    final_init = 'zeros' if self._zero_initialize_last else 'linear'\n\n    final_act = jnp.concatenate(output_features, axis=-1)\n\n    return common_modules.Linear(\n        self.config.num_channel,\n        initializer=final_init,\n        name='output_projection',\n    )(final_act)\n\n\nclass FoldIteration(hk.Module):\n  \"\"\"A single iteration of iterative folding.\n\n  First, each residue attends to all residues using InvariantPointAttention.\n  Then, we apply transition layers to update the hidden representations.\n  Finally, we use the hidden representations to produce an update to the\n  affine of each residue.\n  \"\"\"\n\n  def __init__(\n      self,\n      config: ml_collections.ConfigDict,\n      global_config: ml_collections.ConfigDict,\n      name: str = 'fold_iteration',\n  ):\n    super().__init__(name=name)\n    self.config = config\n    self.global_config = global_config\n\n  def __call__(\n      self,\n      activations: Mapping[str, Any],\n      aatype: jnp.ndarray,\n      sequence_mask: jnp.ndarray,\n      update_rigid: bool,\n      is_training: bool,\n      initial_act: jnp.ndarray,\n      safe_key: Optional[prng.SafeKey] = None,\n      static_feat_2d: Optional[jnp.ndarray] = None,\n  ) -> Tuple[Dict[str, Any], Dict[str, Any]]:\n\n    c = self.config\n\n    if safe_key is None:\n      safe_key = prng.SafeKey(hk.next_rng_key())\n\n    def safe_dropout_fn(tensor, safe_key):\n      return modules.apply_dropout(\n          tensor=tensor,\n          safe_key=safe_key,\n          rate=0.0 if self.global_config.deterministic else c.dropout,\n          is_training=is_training,\n      )\n\n    rigid = activations['rigid']\n\n    act = activations['act']\n    attention_module = InvariantPointAttention(self.config, self.global_config)\n    # Attention\n    act += attention_module(\n        inputs_1d=act, inputs_2d=static_feat_2d, mask=sequence_mask, rigid=rigid\n    )\n\n    safe_key, *sub_keys = safe_key.split(3)\n    sub_keys = iter(sub_keys)\n    act = safe_dropout_fn(act, next(sub_keys))\n    act = common_modules.LayerNorm(\n        axis=-1,\n        create_scale=True,\n        create_offset=True,\n        name='attention_layer_norm',\n    )(act)\n    final_init = 'zeros' if self.global_config.zero_init else 'linear'\n\n    # Transition\n    input_act = act\n    for i in range(c.num_layer_in_transition):\n      init = 'relu' if i < c.num_layer_in_transition - 1 else final_init\n      act = common_modules.Linear(\n          c.num_channel, initializer=init, name='transition'\n      )(act)\n      if i < c.num_layer_in_transition - 1:\n        act = jax.nn.relu(act)\n    act += input_act\n    act = safe_dropout_fn(act, next(sub_keys))\n    act = common_modules.LayerNorm(\n        axis=-1,\n        create_scale=True,\n        create_offset=True,\n        name='transition_layer_norm',\n    )(act)\n    if update_rigid:\n      # Rigid update\n      rigid_update = QuatRigid(self.global_config, init=final_init)(act)\n      rigid = rigid @ rigid_update\n\n    sc = MultiRigidSidechain(c.sidechain, self.global_config)(\n        rigid.scale_translation(c.position_scale), [act, initial_act], aatype\n    )\n\n    outputs = {'rigid': rigid, 'sc': sc}\n\n    rotation = jax.tree.map(jax.lax.stop_gradient, rigid.rotation)\n    rigid = geometry.Rigid3Array(rotation, rigid.translation)\n\n    new_activations = {'act': act, 'rigid': rigid}\n    return new_activations, outputs\n\n\ndef generate_monomer_rigids(\n    representations: Mapping[str, jnp.ndarray],\n    batch: Mapping[str, jnp.ndarray],\n    config: ml_collections.ConfigDict,\n    global_config: ml_collections.ConfigDict,\n    is_training: bool,\n    safe_key: prng.SafeKey,\n) -> Dict[str, Any]:\n  \"\"\"Generate predicted Rigid's for a single chain.\n\n  This is the main part of the iterative fold head - it iteratively applies\n  folding to produce a set of predicted residue positions.\n\n  Args:\n    representations: Embeddings dictionary.\n    batch: Batch dictionary.\n    config: config for the iterative fold head.\n    global_config: global config.\n    is_training: is training.\n    safe_key: A prng.SafeKey object that wraps a PRNG key.\n\n  Returns:\n    A dictionary containing residue Rigid's and sidechain positions.\n  \"\"\"\n  c = config\n  sequence_mask = batch['seq_mask'][:, None]\n  act = common_modules.LayerNorm(\n      axis=-1, create_scale=True, create_offset=True, name='single_layer_norm'\n  )(representations['single'])\n\n  initial_act = act\n  act = common_modules.Linear(c.num_channel, name='initial_projection')(act)\n\n  # Sequence Mask has extra 1 at the end.\n  rigid = geometry.Rigid3Array.identity(sequence_mask.shape[:-1])\n\n  fold_iteration = FoldIteration(c, global_config, name='fold_iteration')\n\n  assert len(batch['seq_mask'].shape) == 1\n\n  activations = {'act': act, 'rigid': rigid}\n\n  act_2d = common_modules.LayerNorm(\n      axis=-1, create_scale=True, create_offset=True, name='pair_layer_norm'\n  )(representations['pair'])\n\n  safe_keys = safe_key.split(c.num_layer)\n  outputs = []\n  for key in safe_keys:\n\n    activations, output = fold_iteration(\n        activations,\n        initial_act=initial_act,\n        static_feat_2d=act_2d,\n        aatype=batch['aatype'],\n        safe_key=key,\n        sequence_mask=sequence_mask,\n        update_rigid=True,\n        is_training=is_training,\n    )\n    outputs.append(output)\n\n  output = jax.tree.map(lambda *x: jnp.stack(x), *outputs)\n  # Pass along for LDDT-Head.\n  output['act'] = activations['act']\n\n  return output\n\n\nclass StructureModule(hk.Module):\n  \"\"\"StructureModule as a network head.\n\n  Jumper et al. (2021) Suppl. Alg. 20 \"StructureModule\"\n  \"\"\"\n\n  def __init__(\n      self,\n      config: ml_collections.ConfigDict,\n      global_config: ml_collections.ConfigDict,\n      name: str = 'structure_module',\n  ):\n    super().__init__(name=name)\n    self.config = config\n    self.global_config = global_config\n\n  def __call__(\n      self,\n      representations: Mapping[str, jnp.ndarray],\n      batch: Mapping[str, Any],\n      is_training: bool,\n      safe_key: Optional[prng.SafeKey] = None,\n      compute_loss: bool = False,\n  ) -> Dict[str, Any]:\n    c = self.config\n    ret = {}\n\n    if safe_key is None:\n      safe_key = prng.SafeKey(hk.next_rng_key())\n\n    output = generate_monomer_rigids(\n        representations=representations,\n        batch=batch,\n        config=self.config,\n        global_config=self.global_config,\n        is_training=is_training,\n        safe_key=safe_key,\n    )\n\n    ret['traj'] = output['rigid'].scale_translation(c.position_scale).to_array()\n    ret['sidechains'] = output['sc']\n    ret['sidechains']['atom_pos'] = ret['sidechains']['atom_pos'].to_array()\n    ret['sidechains']['frames'] = ret['sidechains']['frames'].to_array()\n    if 'local_atom_pos' in ret['sidechains']:\n      ret['sidechains']['local_atom_pos'] = ret['sidechains'][\n          'local_atom_pos'\n      ].to_array()\n      ret['sidechains']['local_frames'] = ret['sidechains'][\n          'local_frames'\n      ].to_array()\n\n    aatype = batch['aatype']\n    seq_mask = batch['seq_mask']\n\n    atom14_pred_mask = (\n        all_atom_multimer.get_atom14_mask(aatype) * seq_mask[:, None]\n    )\n    atom14_pred_positions = output['sc']['atom_pos'][-1]\n    ret['final_atom14_positions'] = atom14_pred_positions  # (N, 14, 3)\n    ret['final_atom14_mask'] = atom14_pred_mask  # (N, 14)\n\n    atom37_mask = all_atom_multimer.get_atom37_mask(aatype) * seq_mask[:, None]\n    atom37_pred_positions = all_atom_multimer.atom14_to_atom37(\n        atom14_pred_positions, aatype\n    )\n    atom37_pred_positions *= atom37_mask[:, :, None]\n    ret['final_atom_positions'] = atom37_pred_positions  # (N, 37, 3)\n    ret['final_atom_mask'] = atom37_mask  # (N, 37)\n    ret['final_rigids'] = ret['traj'][-1]\n\n    ret['act'] = output['act']\n\n    if compute_loss:\n      return ret\n    else:\n      no_loss_features = ['final_atom_positions', 'final_atom_mask', 'act']\n      no_loss_ret = {k: ret[k] for k in no_loss_features}\n      return no_loss_ret\n\n  def loss(\n      self, value: Mapping[str, Any], batch: Mapping[str, Any]\n  ) -> Dict[str, Any]:\n\n    raise NotImplementedError(\n        'This function should be called on a batch with reordered chains (see '\n        'Evans et al (2021) Section 7.3. Multi-Chain Permutation Alignment.'\n    )\n\n    ret = {'loss': 0.0}\n\n    ret['metrics'] = {}\n\n    aatype = batch['aatype']\n    all_atom_positions = batch['all_atom_positions']\n    all_atom_positions = geometry.Vec3Array.from_array(all_atom_positions)\n    all_atom_mask = batch['all_atom_mask']\n    seq_mask = batch['seq_mask']\n    residue_index = batch['residue_index']\n\n    gt_rigid, gt_affine_mask = make_backbone_affine(\n        all_atom_positions, all_atom_mask, aatype\n    )\n\n    chi_angles, chi_mask = all_atom_multimer.compute_chi_angles(\n        all_atom_positions, all_atom_mask, aatype\n    )\n\n    pred_mask = all_atom_multimer.get_atom14_mask(aatype)\n    pred_mask *= seq_mask[:, None]\n    pred_positions = value['final_atom14_positions']\n    pred_positions = geometry.Vec3Array.from_array(pred_positions)\n\n    gt_positions, gt_mask, alt_naming_is_better = compute_atom14_gt(\n        aatype, all_atom_positions, all_atom_mask, pred_positions\n    )\n\n    violations = find_structural_violations(\n        aatype=aatype,\n        residue_index=residue_index,\n        mask=pred_mask,\n        pred_positions=pred_positions,\n        config=self.config,\n        asym_id=batch['asym_id'],\n    )\n\n    sidechains = value['sidechains']\n\n    gt_chi_angles = get_renamed_chi_angles(\n        aatype, chi_angles, alt_naming_is_better\n    )\n\n    # Several violation metrics:\n    violation_metrics = compute_violation_metrics(\n        residue_index=residue_index,\n        mask=pred_mask,\n        seq_mask=seq_mask,\n        pred_positions=pred_positions,\n        violations=violations,\n    )\n    ret['metrics'].update(violation_metrics)\n\n    target_rigid = geometry.Rigid3Array.from_array(value['traj'])\n    gt_frames_mask = gt_affine_mask\n\n    # Split the loss into within-chain and between-chain components.\n    intra_chain_mask = batch['asym_id'][:, None] == batch['asym_id'][None, :]\n    intra_chain_bb_loss, intra_chain_fape = backbone_loss(\n        gt_rigid=gt_rigid,\n        gt_frames_mask=gt_frames_mask,\n        gt_positions_mask=gt_affine_mask,\n        target_rigid=target_rigid,\n        config=self.config.intra_chain_fape,\n        pair_mask=intra_chain_mask,\n    )\n    interface_bb_loss, interface_fape = backbone_loss(\n        gt_rigid=gt_rigid,\n        gt_frames_mask=gt_frames_mask,\n        gt_positions_mask=gt_affine_mask,\n        target_rigid=target_rigid,\n        config=self.config.interface_fape,\n        pair_mask=1.0 - intra_chain_mask,\n    )\n\n    bb_loss = intra_chain_bb_loss + interface_bb_loss\n    ret['fape'] = intra_chain_fape + interface_fape\n    ret['bb_loss'] = bb_loss\n    ret['loss'] += bb_loss\n\n    pred_frames = geometry.Rigid3Array.from_array(sidechains['frames'])\n    pred_positions = geometry.Vec3Array.from_array(sidechains['atom_pos'])\n    gt_sc_frames, gt_sc_frames_mask = compute_frames(\n        aatype=aatype,\n        all_atom_positions=all_atom_positions,\n        all_atom_mask=all_atom_mask,\n        use_alt=alt_naming_is_better,\n    )\n\n    sc_loss = sidechain_loss(\n        gt_frames=gt_sc_frames,\n        gt_frames_mask=gt_sc_frames_mask,\n        gt_positions=gt_positions,\n        gt_mask=gt_mask,\n        pred_frames=pred_frames,\n        pred_positions=pred_positions,\n        config=self.config,\n    )\n\n    ret['loss'] = (1 - self.config.sidechain.weight_frac) * ret[\n        'loss'\n    ] + self.config.sidechain.weight_frac * sc_loss['loss']\n    ret['sidechain_fape'] = sc_loss['fape']\n\n    unnormed_angles = sidechains['unnormalized_angles_sin_cos']\n    pred_angles = sidechains['angles_sin_cos']\n\n    sup_chi_loss, ret['chi_loss'], ret['angle_norm_loss'] = supervised_chi_loss(\n        sequence_mask=seq_mask,\n        target_chi_mask=chi_mask,\n        target_chi_angles=gt_chi_angles,\n        aatype=aatype,\n        pred_angles=pred_angles,\n        unnormed_angles=unnormed_angles,\n        config=self.config,\n    )\n    ret['loss'] += sup_chi_loss\n\n    if self.config.structural_violation_loss_weight:\n\n      ret['loss'] += structural_violation_loss(\n          mask=pred_mask, violations=violations, config=self.config\n      )\n\n    return ret\n\n\ndef compute_atom14_gt(\n    aatype: jnp.ndarray,\n    all_atom_positions: geometry.Vec3Array,\n    all_atom_mask: jnp.ndarray,\n    pred_pos: geometry.Vec3Array,\n) -> Tuple[geometry.Vec3Array, jnp.ndarray, jnp.ndarray]:\n  \"\"\"Find atom14 positions, this includes finding the correct renaming.\"\"\"\n  gt_positions, gt_mask = all_atom_multimer.atom37_to_atom14(\n      aatype, all_atom_positions, all_atom_mask\n  )\n  alt_gt_positions, alt_gt_mask = all_atom_multimer.get_alt_atom14(\n      aatype, gt_positions, gt_mask\n  )\n  atom_is_ambiguous = all_atom_multimer.get_atom14_is_ambiguous(aatype)\n\n  alt_naming_is_better = all_atom_multimer.find_optimal_renaming(\n      gt_positions=gt_positions,\n      alt_gt_positions=alt_gt_positions,\n      atom_is_ambiguous=atom_is_ambiguous,\n      gt_exists=gt_mask,\n      pred_positions=pred_pos,\n  )\n\n  use_alt = alt_naming_is_better[:, None]\n\n  gt_mask = (1.0 - use_alt) * gt_mask + use_alt * alt_gt_mask\n  gt_positions = (1.0 - use_alt) * gt_positions + use_alt * alt_gt_positions\n\n  return gt_positions, gt_mask, alt_naming_is_better\n\n\ndef backbone_loss(\n    gt_rigid: geometry.Rigid3Array,\n    gt_frames_mask: jnp.ndarray,\n    gt_positions_mask: jnp.ndarray,\n    target_rigid: geometry.Rigid3Array,\n    config: ml_collections.ConfigDict,\n    pair_mask: jnp.ndarray,\n) -> Tuple[Float, jnp.ndarray]:\n  \"\"\"Backbone FAPE Loss.\"\"\"\n  loss_fn = functools.partial(\n      all_atom_multimer.frame_aligned_point_error,\n      l1_clamp_distance=config.atom_clamp_distance,\n      length_scale=config.loss_unit_distance,\n  )\n\n  loss_fn = jax.vmap(loss_fn, (0, None, None, 0, None, None, None))\n  fape = loss_fn(\n      target_rigid,\n      gt_rigid,\n      gt_frames_mask,\n      target_rigid.translation,\n      gt_rigid.translation,\n      gt_positions_mask,\n      pair_mask,\n  )\n\n  return jnp.mean(fape), fape[-1]\n\n\ndef compute_frames(\n    aatype: jnp.ndarray,\n    all_atom_positions: geometry.Vec3Array,\n    all_atom_mask: jnp.ndarray,\n    use_alt: jnp.ndarray,\n) -> Tuple[geometry.Rigid3Array, jnp.ndarray]:\n  \"\"\"Compute Frames from all atom positions.\n\n  Args:\n    aatype: array of aatypes, int of [N]\n    all_atom_positions: Vector of all atom positions, shape [N, 37]\n    all_atom_mask: mask, shape [N]\n    use_alt: whether to use alternative orientation for ambiguous aatypes shape\n      [N]\n\n  Returns:\n    Rigid corresponding to Frames w shape [N, 8],\n    mask which Rigids are present w shape [N, 8]\n  \"\"\"\n  frames_batch = all_atom_multimer.atom37_to_frames(\n      aatype, all_atom_positions, all_atom_mask\n  )\n  gt_frames = frames_batch['rigidgroups_gt_frames']\n  alt_gt_frames = frames_batch['rigidgroups_alt_gt_frames']\n  use_alt = use_alt[:, None]\n\n  renamed_gt_frames = jax.tree.map(\n      lambda x, y: (1.0 - use_alt) * x + use_alt * y, gt_frames, alt_gt_frames\n  )\n\n  return renamed_gt_frames, frames_batch['rigidgroups_gt_exists']\n\n\ndef sidechain_loss(\n    gt_frames: geometry.Rigid3Array,\n    gt_frames_mask: jnp.ndarray,\n    gt_positions: geometry.Vec3Array,\n    gt_mask: jnp.ndarray,\n    pred_frames: geometry.Rigid3Array,\n    pred_positions: geometry.Vec3Array,\n    config: ml_collections.ConfigDict,\n) -> Dict[str, jnp.ndarray]:\n  \"\"\"Sidechain Loss using cleaned up rigids.\"\"\"\n\n  flat_gt_frames = jax.tree.map(jnp.ravel, gt_frames)\n  flat_frames_mask = jnp.ravel(gt_frames_mask)\n\n  flat_gt_positions = jax.tree.map(jnp.ravel, gt_positions)\n  flat_positions_mask = jnp.ravel(gt_mask)\n\n  # Compute frame_aligned_point_error score for the final layer.\n  def _slice_last_layer_and_flatten(x):\n    return jnp.ravel(x[-1])\n\n  flat_pred_frames = jax.tree.map(_slice_last_layer_and_flatten, pred_frames)\n  flat_pred_positions = jax.tree.map(\n      _slice_last_layer_and_flatten, pred_positions\n  )\n  fape = all_atom_multimer.frame_aligned_point_error(\n      pred_frames=flat_pred_frames,\n      target_frames=flat_gt_frames,\n      frames_mask=flat_frames_mask,\n      pred_positions=flat_pred_positions,\n      target_positions=flat_gt_positions,\n      positions_mask=flat_positions_mask,\n      pair_mask=None,\n      length_scale=config.sidechain.loss_unit_distance,\n      l1_clamp_distance=config.sidechain.atom_clamp_distance,\n  )\n\n  return {'fape': fape, 'loss': fape}\n\n\ndef structural_violation_loss(\n    mask: jnp.ndarray,\n    violations: Mapping[str, Float],\n    config: ml_collections.ConfigDict,\n) -> Float:\n  \"\"\"Computes Loss for structural Violations.\"\"\"\n  # Put all violation losses together to one large loss.\n  num_atoms = jnp.sum(mask).astype(jnp.float32) + 1e-6\n  between_residues = violations['between_residues']\n  within_residues = violations['within_residues']\n  return config.structural_violation_loss_weight * (\n      between_residues['bonds_c_n_loss_mean']\n      + between_residues['angles_ca_c_n_loss_mean']\n      + between_residues['angles_c_n_ca_loss_mean']\n      + jnp.sum(\n          between_residues['clashes_per_atom_loss_sum']\n          + within_residues['per_atom_loss_sum']\n      )\n      / num_atoms\n  )\n\n\ndef find_structural_violations(\n    aatype: jnp.ndarray,\n    residue_index: jnp.ndarray,\n    mask: jnp.ndarray,\n    pred_positions: geometry.Vec3Array,  # (N, 14)\n    config: ml_collections.ConfigDict,\n    asym_id: jnp.ndarray,\n) -> Dict[str, Any]:\n  \"\"\"Computes several checks for structural Violations.\"\"\"\n\n  # Compute between residue backbone violations of bonds and angles.\n  connection_violations = all_atom_multimer.between_residue_bond_loss(\n      pred_atom_positions=pred_positions,\n      pred_atom_mask=mask.astype(jnp.float32),\n      residue_index=residue_index.astype(jnp.float32),\n      aatype=aatype,\n      tolerance_factor_soft=config.violation_tolerance_factor,\n      tolerance_factor_hard=config.violation_tolerance_factor,\n  )\n\n  # Compute the van der Waals radius for every atom\n  # (the first letter of the atom name is the element type).\n  # shape (N, 14)\n  atomtype_radius = jnp.array([\n      residue_constants.van_der_waals_radius[name[0]]\n      for name in residue_constants.atom_types\n  ])\n  residx_atom14_to_atom37 = all_atom_multimer.get_atom14_to_atom37_map(aatype)\n  atom_radius = mask * utils.batched_gather(\n      atomtype_radius, residx_atom14_to_atom37\n  )\n\n  # Compute the between residue clash loss.\n  between_residue_clashes = all_atom_multimer.between_residue_clash_loss(\n      pred_positions=pred_positions,\n      atom_exists=mask,\n      atom_radius=atom_radius,\n      residue_index=residue_index,\n      overlap_tolerance_soft=config.clash_overlap_tolerance,\n      overlap_tolerance_hard=config.clash_overlap_tolerance,\n      asym_id=asym_id,\n  )\n\n  # Compute all within-residue violations (clashes,\n  # bond length and angle violations).\n  restype_atom14_bounds = residue_constants.make_atom14_dists_bounds(\n      overlap_tolerance=config.clash_overlap_tolerance,\n      bond_length_tolerance_factor=config.violation_tolerance_factor,\n  )\n  dists_lower_bound = utils.batched_gather(\n      restype_atom14_bounds['lower_bound'], aatype\n  )\n  dists_upper_bound = utils.batched_gather(\n      restype_atom14_bounds['upper_bound'], aatype\n  )\n  within_residue_violations = all_atom_multimer.within_residue_violations(\n      pred_positions=pred_positions,\n      atom_exists=mask,\n      dists_lower_bound=dists_lower_bound,\n      dists_upper_bound=dists_upper_bound,\n      tighten_bounds_for_loss=0.0,\n  )\n\n  # Combine them to a single per-residue violation mask (used later for LDDT).\n  per_residue_violations_mask = jnp.max(\n      jnp.stack([\n          connection_violations['per_residue_violation_mask'],\n          jnp.max(between_residue_clashes['per_atom_clash_mask'], axis=-1),\n          jnp.max(within_residue_violations['per_atom_violations'], axis=-1),\n      ]),\n      axis=0,\n  )\n\n  return {\n      'between_residues': {\n          'bonds_c_n_loss_mean': connection_violations['c_n_loss_mean'],  # ()\n          'angles_ca_c_n_loss_mean': connection_violations[\n              'ca_c_n_loss_mean'\n          ],  # ()\n          'angles_c_n_ca_loss_mean': connection_violations[\n              'c_n_ca_loss_mean'\n          ],  # ()\n          'connections_per_residue_loss_sum': connection_violations[\n              'per_residue_loss_sum'\n          ],  # (N)\n          'connections_per_residue_violation_mask': connection_violations[\n              'per_residue_violation_mask'\n          ],  # (N)\n          'clashes_mean_loss': between_residue_clashes['mean_loss'],  # ()\n          'clashes_per_atom_loss_sum': between_residue_clashes[\n              'per_atom_loss_sum'\n          ],  # (N, 14)\n          'clashes_per_atom_clash_mask': between_residue_clashes[\n              'per_atom_clash_mask'\n          ],  # (N, 14)\n      },\n      'within_residues': {\n          'per_atom_loss_sum': within_residue_violations[\n              'per_atom_loss_sum'\n          ],  # (N, 14)\n          'per_atom_violations': within_residue_violations[\n              'per_atom_violations'\n          ],  # (N, 14),\n      },\n      'total_per_residue_violations_mask': per_residue_violations_mask,  # (N)\n  }\n\n\ndef compute_violation_metrics(\n    residue_index: jnp.ndarray,\n    mask: jnp.ndarray,\n    seq_mask: jnp.ndarray,\n    pred_positions: geometry.Vec3Array,  # (N, 14)\n    violations: Mapping[str, jnp.ndarray],\n) -> Dict[str, jnp.ndarray]:\n  \"\"\"Compute several metrics to assess the structural violations.\"\"\"\n  ret = {}\n  between_residues = violations['between_residues']\n  within_residues = violations['within_residues']\n  extreme_ca_ca_violations = (\n      all_atom_multimer.extreme_ca_ca_distance_violations(\n          positions=pred_positions,\n          mask=mask.astype(jnp.float32),\n          residue_index=residue_index.astype(jnp.float32),\n      )\n  )\n  ret['violations_extreme_ca_ca_distance'] = extreme_ca_ca_violations\n  ret['violations_between_residue_bond'] = utils.mask_mean(\n      mask=seq_mask,\n      value=between_residues['connections_per_residue_violation_mask'],\n  )\n  ret['violations_between_residue_clash'] = utils.mask_mean(\n      mask=seq_mask,\n      value=jnp.max(between_residues['clashes_per_atom_clash_mask'], axis=-1),\n  )\n  ret['violations_within_residue'] = utils.mask_mean(\n      mask=seq_mask,\n      value=jnp.max(within_residues['per_atom_violations'], axis=-1),\n  )\n  ret['violations_per_residue'] = utils.mask_mean(\n      mask=seq_mask, value=violations['total_per_residue_violations_mask']\n  )\n  return ret\n\n\ndef supervised_chi_loss(\n    sequence_mask: jnp.ndarray,\n    target_chi_mask: jnp.ndarray,\n    aatype: jnp.ndarray,\n    target_chi_angles: jnp.ndarray,\n    pred_angles: jnp.ndarray,\n    unnormed_angles: jnp.ndarray,\n    config: ml_collections.ConfigDict,\n) -> Tuple[Float, Float, Float]:\n  \"\"\"Computes loss for direct chi angle supervision.\"\"\"\n  eps = 1e-6\n  chi_mask = target_chi_mask.astype(jnp.float32)\n\n  pred_angles = pred_angles[:, :, 3:]\n\n  residue_type_one_hot = jax.nn.one_hot(\n      aatype, residue_constants.restype_num + 1, dtype=jnp.float32\n  )[None]\n  chi_pi_periodic = jnp.einsum(\n      'ijk, kl->ijl',\n      residue_type_one_hot,\n      jnp.asarray(residue_constants.chi_pi_periodic),\n  )\n\n  true_chi = target_chi_angles[None]\n  sin_true_chi = jnp.sin(true_chi)\n  cos_true_chi = jnp.cos(true_chi)\n  sin_cos_true_chi = jnp.stack([sin_true_chi, cos_true_chi], axis=-1)\n\n  # This is -1 if chi is pi periodic and +1 if it's 2 pi periodic\n  shifted_mask = (1 - 2 * chi_pi_periodic)[..., None]\n  sin_cos_true_chi_shifted = shifted_mask * sin_cos_true_chi\n\n  sq_chi_error = jnp.sum(squared_difference(sin_cos_true_chi, pred_angles), -1)\n  sq_chi_error_shifted = jnp.sum(\n      squared_difference(sin_cos_true_chi_shifted, pred_angles), -1\n  )\n  sq_chi_error = jnp.minimum(sq_chi_error, sq_chi_error_shifted)\n\n  sq_chi_loss = utils.mask_mean(mask=chi_mask[None], value=sq_chi_error)\n  angle_norm = jnp.sqrt(jnp.sum(jnp.square(unnormed_angles), axis=-1) + eps)\n  norm_error = jnp.abs(angle_norm - 1.0)\n  angle_norm_loss = utils.mask_mean(\n      mask=sequence_mask[None, :, None], value=norm_error\n  )\n  loss = (\n      config.chi_weight * sq_chi_loss\n      + config.angle_norm_weight * angle_norm_loss\n  )\n  return loss, sq_chi_loss, angle_norm_loss\n\n\ndef l2_normalize(\n    x: jnp.ndarray, axis: int = -1, epsilon: float = 1e-12\n) -> jnp.ndarray:\n  return x / jnp.sqrt(\n      jnp.maximum(jnp.sum(x**2, axis=axis, keepdims=True), epsilon)\n  )\n\n\ndef get_renamed_chi_angles(\n    aatype: jnp.ndarray, chi_angles: jnp.ndarray, alt_is_better: jnp.ndarray\n) -> jnp.ndarray:\n  \"\"\"Return renamed chi angles.\"\"\"\n  chi_angle_is_ambiguous = utils.batched_gather(\n      jnp.array(residue_constants.chi_pi_periodic, dtype=jnp.float32), aatype\n  )\n  alt_chi_angles = chi_angles + np.pi * chi_angle_is_ambiguous\n  # Map back to [-pi, pi].\n  alt_chi_angles = alt_chi_angles - 2 * np.pi * (alt_chi_angles > np.pi).astype(\n      jnp.float32\n  )\n  alt_is_better = alt_is_better[:, None]\n  return (1.0 - alt_is_better) * chi_angles + alt_is_better * alt_chi_angles\n\n\nclass MultiRigidSidechain(hk.Module):\n  \"\"\"Class to make side chain atoms.\"\"\"\n\n  def __init__(\n      self,\n      config: ml_collections.ConfigDict,\n      global_config: ml_collections.ConfigDict,\n      name: str = 'rigid_sidechain',\n  ):\n    super().__init__(name=name)\n    self.config = config\n    self.global_config = global_config\n\n  def __call__(\n      self,\n      rigid: geometry.Rigid3Array,\n      representations_list: Iterable[jnp.ndarray],\n      aatype: jnp.ndarray,\n  ) -> Dict[str, Any]:\n    \"\"\"Predict sidechains using multi-rigid representations.\n\n    Args:\n      rigid: The Rigid's for each residue (translations in angstoms)\n      representations_list: A list of activations to predict sidechains from.\n      aatype: amino acid types.\n\n    Returns:\n      dict containing atom positions and frames (in angstrom)\n    \"\"\"\n    act = [\n        common_modules.Linear(  # pylint: disable=g-complex-comprehension\n            self.config.num_channel, name='input_projection'\n        )(jax.nn.relu(x))\n        for x in representations_list\n    ]\n    # Sum the activation list (equivalent to concat then Conv1D)\n    act = sum(act)\n\n    final_init = 'zeros' if self.global_config.zero_init else 'linear'\n\n    # Mapping with some residual blocks.\n    for _ in range(self.config.num_residual_block):\n      old_act = act\n      act = common_modules.Linear(\n          self.config.num_channel, initializer='relu', name='resblock1'\n      )(jax.nn.relu(act))\n      act = common_modules.Linear(\n          self.config.num_channel, initializer=final_init, name='resblock2'\n      )(jax.nn.relu(act))\n      act += old_act\n\n    # Map activations to torsion angles.\n    # [batch_size, num_res, 14]\n    num_res = act.shape[0]\n    unnormalized_angles = common_modules.Linear(14, name='unnormalized_angles')(\n        jax.nn.relu(act)\n    )\n    unnormalized_angles = jnp.reshape(unnormalized_angles, [num_res, 7, 2])\n    angles = l2_normalize(unnormalized_angles, axis=-1)\n\n    outputs = {\n        'angles_sin_cos': angles,  # jnp.ndarray (N, 7, 2)\n        'unnormalized_angles_sin_cos': (\n            unnormalized_angles\n        ),  # jnp.ndarray (N, 7, 2)\n    }\n\n    # Map torsion angles to frames.\n    # geometry.Rigid3Array with shape (N, 8)\n    all_frames_to_global = all_atom_multimer.torsion_angles_to_frames(\n        aatype, rigid, angles\n    )\n\n    # Use frames and literature positions to create the final atom coordinates.\n    # geometry.Vec3Array with shape (N, 14)\n    pred_positions = (\n        all_atom_multimer.frames_and_literature_positions_to_atom14_pos(\n            aatype, all_frames_to_global\n        )\n    )\n\n    outputs.update({\n        'atom_pos': pred_positions,  # geometry.Vec3Array (N, 14)\n        'frames': all_frames_to_global,  # geometry.Rigid3Array (N, 8)\n    })\n    return outputs\n"
  },
  {
    "path": "alphafold/model/geometry/__init__.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\"\"\"Geometry Module.\"\"\"\n\nfrom alphafold.model.geometry import rigid_matrix_vector\nfrom alphafold.model.geometry import rotation_matrix\nfrom alphafold.model.geometry import struct_of_array\nfrom alphafold.model.geometry import vector\n\nRot3Array = rotation_matrix.Rot3Array\nRigid3Array = rigid_matrix_vector.Rigid3Array\n\nStructOfArray = struct_of_array.StructOfArray\n\nVec3Array = vector.Vec3Array\nsquare_euclidean_distance = vector.square_euclidean_distance\neuclidean_distance = vector.euclidean_distance\ndihedral_angle = vector.dihedral_angle\ndot = vector.dot\ncross = vector.cross\n"
  },
  {
    "path": "alphafold/model/geometry/rigid_matrix_vector.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\"\"\"Rigid3Array Transformations represented by a Matrix and a Vector.\"\"\"\n\nfrom __future__ import annotations\n\nfrom typing import Union\n\nfrom alphafold.model.geometry import rotation_matrix\nfrom alphafold.model.geometry import struct_of_array\nfrom alphafold.model.geometry import vector\nimport jax\nimport jax.numpy as jnp\n\nFloat = Union[float, jnp.ndarray]\n\nVERSION = '0.1'\n\n\n@struct_of_array.StructOfArray(same_dtype=True)\nclass Rigid3Array:\n  \"\"\"Rigid Transformation, i.e. element of special euclidean group.\"\"\"\n\n  rotation: rotation_matrix.Rot3Array\n  translation: vector.Vec3Array\n\n  def __matmul__(self, other: Rigid3Array) -> Rigid3Array:\n    new_rotation = self.rotation @ other.rotation\n    new_translation = self.apply_to_point(other.translation)\n    return Rigid3Array(new_rotation, new_translation)\n\n  def inverse(self) -> Rigid3Array:\n    \"\"\"Return Rigid3Array corresponding to inverse transform.\"\"\"\n    inv_rotation = self.rotation.inverse()\n    inv_translation = inv_rotation.apply_to_point(-self.translation)\n    return Rigid3Array(inv_rotation, inv_translation)\n\n  def apply_to_point(self, point: vector.Vec3Array) -> vector.Vec3Array:\n    \"\"\"Apply Rigid3Array transform to point.\"\"\"\n    return self.rotation.apply_to_point(point) + self.translation\n\n  def apply_inverse_to_point(self, point: vector.Vec3Array) -> vector.Vec3Array:\n    \"\"\"Apply inverse Rigid3Array transform to point.\"\"\"\n    new_point = point - self.translation\n    return self.rotation.apply_inverse_to_point(new_point)\n\n  def compose_rotation(self, other_rotation):\n    rot = self.rotation @ other_rotation\n    trans = jax.tree.map(\n        lambda x: jnp.broadcast_to(x, rot.shape), self.translation\n    )\n    return Rigid3Array(rot, trans)\n\n  @classmethod\n  def identity(cls, shape, dtype=jnp.float32) -> Rigid3Array:\n    \"\"\"Return identity Rigid3Array of given shape.\"\"\"\n    return cls(\n        rotation_matrix.Rot3Array.identity(shape, dtype=dtype),\n        vector.Vec3Array.zeros(shape, dtype=dtype),\n    )  # pytype: disable=wrong-arg-count  # trace-all-classes\n\n  def scale_translation(self, factor: Float) -> Rigid3Array:\n    \"\"\"Scale translation in Rigid3Array by 'factor'.\"\"\"\n    return Rigid3Array(self.rotation, self.translation * factor)\n\n  def to_array(self):\n    rot_array = self.rotation.to_array()\n    vec_array = self.translation.to_array()\n    return jnp.concatenate([rot_array, vec_array[..., None]], axis=-1)\n\n  @classmethod\n  def from_array(cls, array):\n    rot = rotation_matrix.Rot3Array.from_array(array[..., :3])\n    vec = vector.Vec3Array.from_array(array[..., -1])\n    return cls(rot, vec)  # pytype: disable=wrong-arg-count  # trace-all-classes\n\n  @classmethod\n  def from_array4x4(cls, array: jnp.ndarray) -> Rigid3Array:\n    \"\"\"Construct Rigid3Array from homogeneous 4x4 array.\"\"\"\n    assert array.shape[-1] == 4\n    assert array.shape[-2] == 4\n    rotation = rotation_matrix.Rot3Array(\n        *(array[..., 0, 0], array[..., 0, 1], array[..., 0, 2]),\n        *(array[..., 1, 0], array[..., 1, 1], array[..., 1, 2]),\n        *(array[..., 2, 0], array[..., 2, 1], array[..., 2, 2]),\n    )\n    translation = vector.Vec3Array(\n        array[..., 0, 3], array[..., 1, 3], array[..., 2, 3]\n    )\n    return cls(rotation, translation)  # pytype: disable=wrong-arg-count  # trace-all-classes\n\n  def __getstate__(self):\n    return (VERSION, (self.rotation, self.translation))\n\n  def __setstate__(self, state):\n    version, (rot, trans) = state\n    del version\n    object.__setattr__(self, 'rotation', rot)\n    object.__setattr__(self, 'translation', trans)\n"
  },
  {
    "path": "alphafold/model/geometry/rotation_matrix.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\"\"\"Rot3Array Matrix Class.\"\"\"\n\nfrom __future__ import annotations\n\nimport dataclasses\n\nfrom alphafold.model.geometry import struct_of_array\nfrom alphafold.model.geometry import utils\nfrom alphafold.model.geometry import vector\nimport jax\nimport jax.numpy as jnp\nimport numpy as np\n\nCOMPONENTS = ['xx', 'xy', 'xz', 'yx', 'yy', 'yz', 'zx', 'zy', 'zz']\n\nVERSION = '0.1'\n\n\n@struct_of_array.StructOfArray(same_dtype=True)\nclass Rot3Array:\n  \"\"\"Rot3Array Matrix in 3 dimensional Space implemented as struct of arrays.\"\"\"\n\n  xx: jnp.ndarray = dataclasses.field(metadata={'dtype': jnp.float32})\n  xy: jnp.ndarray\n  xz: jnp.ndarray\n  yx: jnp.ndarray\n  yy: jnp.ndarray\n  yz: jnp.ndarray\n  zx: jnp.ndarray\n  zy: jnp.ndarray\n  zz: jnp.ndarray\n\n  __array_ufunc__ = None\n\n  def inverse(self) -> Rot3Array:\n    \"\"\"Returns inverse of Rot3Array.\"\"\"\n    return Rot3Array(\n        *(self.xx, self.yx, self.zx),\n        *(self.xy, self.yy, self.zy),\n        *(self.xz, self.yz, self.zz),\n    )\n\n  def apply_to_point(self, point: vector.Vec3Array) -> vector.Vec3Array:\n    \"\"\"Applies Rot3Array to point.\"\"\"\n    return vector.Vec3Array(\n        self.xx * point.x + self.xy * point.y + self.xz * point.z,\n        self.yx * point.x + self.yy * point.y + self.yz * point.z,\n        self.zx * point.x + self.zy * point.y + self.zz * point.z,\n    )\n\n  def apply_inverse_to_point(self, point: vector.Vec3Array) -> vector.Vec3Array:\n    \"\"\"Applies inverse Rot3Array to point.\"\"\"\n    return self.inverse().apply_to_point(point)\n\n  def __matmul__(self, other: Rot3Array) -> Rot3Array:\n    \"\"\"Composes two Rot3Arrays.\"\"\"\n    c0 = self.apply_to_point(vector.Vec3Array(other.xx, other.yx, other.zx))\n    c1 = self.apply_to_point(vector.Vec3Array(other.xy, other.yy, other.zy))\n    c2 = self.apply_to_point(vector.Vec3Array(other.xz, other.yz, other.zz))\n    return Rot3Array(c0.x, c1.x, c2.x, c0.y, c1.y, c2.y, c0.z, c1.z, c2.z)\n\n  @classmethod\n  def identity(cls, shape, dtype=jnp.float32) -> Rot3Array:\n    \"\"\"Returns identity of given shape.\"\"\"\n    ones = jnp.ones(shape, dtype=dtype)\n    zeros = jnp.zeros(shape, dtype=dtype)\n    return cls(ones, zeros, zeros, zeros, ones, zeros, zeros, zeros, ones)  # pytype: disable=wrong-arg-count  # trace-all-classes\n\n  @classmethod\n  def from_two_vectors(\n      cls, e0: vector.Vec3Array, e1: vector.Vec3Array\n  ) -> Rot3Array:\n    \"\"\"Construct Rot3Array from two Vectors.\n\n    Rot3Array is constructed such that in the corresponding frame 'e0' lies on\n    the positive x-Axis and 'e1' lies in the xy plane with positive sign of y.\n\n    Args:\n      e0: Vector\n      e1: Vector\n\n    Returns:\n      Rot3Array\n    \"\"\"\n    # Normalize the unit vector for the x-axis, e0.\n    e0 = e0.normalized()\n    # make e1 perpendicular to e0.\n    c = e1.dot(e0)\n    e1 = (e1 - c * e0).normalized()\n    # Compute e2 as cross product of e0 and e1.\n    e2 = e0.cross(e1)\n    return cls(e0.x, e1.x, e2.x, e0.y, e1.y, e2.y, e0.z, e1.z, e2.z)  # pytype: disable=wrong-arg-count  # trace-all-classes\n\n  @classmethod\n  def from_array(cls, array: jnp.ndarray) -> Rot3Array:\n    \"\"\"Construct Rot3Array Matrix from array of shape. [..., 3, 3].\"\"\"\n    unstacked = utils.unstack(array, axis=-2)\n    unstacked = sum([utils.unstack(x, axis=-1) for x in unstacked], [])\n    return cls(*unstacked)\n\n  def to_array(self) -> jnp.ndarray:\n    \"\"\"Convert Rot3Array to array of shape [..., 3, 3].\"\"\"\n    return jnp.stack(\n        [\n            jnp.stack([self.xx, self.xy, self.xz], axis=-1),\n            jnp.stack([self.yx, self.yy, self.yz], axis=-1),\n            jnp.stack([self.zx, self.zy, self.zz], axis=-1),\n        ],\n        axis=-2,\n    )\n\n  @classmethod\n  def from_quaternion(\n      cls,\n      w: jnp.ndarray,\n      x: jnp.ndarray,\n      y: jnp.ndarray,\n      z: jnp.ndarray,\n      normalize: bool = True,\n      epsilon: float = 1e-6,\n  ) -> Rot3Array:\n    \"\"\"Construct Rot3Array from components of quaternion.\"\"\"\n    if normalize:\n      inv_norm = jax.lax.rsqrt(jnp.maximum(epsilon, w**2 + x**2 + y**2 + z**2))\n      w *= inv_norm\n      x *= inv_norm\n      y *= inv_norm\n      z *= inv_norm\n    xx = 1 - 2 * (jnp.square(y) + jnp.square(z))\n    xy = 2 * (x * y - w * z)\n    xz = 2 * (x * z + w * y)\n    yx = 2 * (x * y + w * z)\n    yy = 1 - 2 * (jnp.square(x) + jnp.square(z))\n    yz = 2 * (y * z - w * x)\n    zx = 2 * (x * z - w * y)\n    zy = 2 * (y * z + w * x)\n    zz = 1 - 2 * (jnp.square(x) + jnp.square(y))\n    return cls(xx, xy, xz, yx, yy, yz, zx, zy, zz)  # pytype: disable=wrong-arg-count  # trace-all-classes\n\n  @classmethod\n  def random_uniform(cls, key, shape, dtype=jnp.float32) -> Rot3Array:\n    \"\"\"Samples uniform random Rot3Array according to Haar Measure.\"\"\"\n    quat_array = jax.random.normal(key, tuple(shape) + (4,), dtype=dtype)\n    quats = utils.unstack(quat_array)\n    return cls.from_quaternion(*quats)\n\n  def __getstate__(self):\n    return (VERSION, [np.asarray(getattr(self, field)) for field in COMPONENTS])\n\n  def __setstate__(self, state):\n    version, state = state\n    del version\n    for i, field in enumerate(COMPONENTS):\n      object.__setattr__(self, field, state[i])\n"
  },
  {
    "path": "alphafold/model/geometry/struct_of_array.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\"\"\"Class decorator to represent (nested) struct of arrays.\"\"\"\n\nimport dataclasses\n\nimport jax\n\n\ndef get_item(instance, key):\n  sliced = {}\n  for field in get_array_fields(instance):\n    num_trailing_dims = field.metadata.get('num_trailing_dims', 0)\n    this_key = key\n    if isinstance(key, tuple) and Ellipsis in this_key:\n      this_key += (slice(None),) * num_trailing_dims\n    sliced[field.name] = getattr(instance, field.name)[this_key]\n  return dataclasses.replace(instance, **sliced)\n\n\n@property\ndef get_shape(instance):\n  \"\"\"Returns Shape for given instance of dataclass.\"\"\"\n  first_field = dataclasses.fields(instance)[0]\n  num_trailing_dims = first_field.metadata.get('num_trailing_dims', None)\n  value = getattr(instance, first_field.name)\n  if num_trailing_dims:\n    return value.shape[:-num_trailing_dims]\n  else:\n    return value.shape\n\n\ndef get_len(instance):\n  \"\"\"Returns length for given instance of dataclass.\"\"\"\n  shape = instance.shape\n  if shape:\n    return shape[0]\n  else:\n    raise TypeError('len() of unsized object')  # Match jax.numpy behavior.\n\n\n@property\ndef get_dtype(instance):\n  \"\"\"Returns Dtype for given instance of dataclass.\"\"\"\n  fields = dataclasses.fields(instance)\n  sets_dtype = [\n      field.name for field in fields if field.metadata.get('sets_dtype', False)\n  ]\n  if sets_dtype:\n    assert len(sets_dtype) == 1, 'at most field can set dtype'\n    field_value = getattr(instance, sets_dtype[0])\n  elif instance.same_dtype:\n    field_value = getattr(instance, fields[0].name)\n  else:\n    # Should this be Value Error?\n    raise AttributeError(\n        'Trying to access Dtype on Struct of Array without'\n        'either \"same_dtype\" or field setting dtype'\n    )\n\n  if hasattr(field_value, 'dtype'):\n    return field_value.dtype\n  else:\n    # Should this be Value Error?\n    raise AttributeError(f'field_value {field_value} does not have dtype')\n\n\ndef replace(instance, **kwargs):\n  return dataclasses.replace(instance, **kwargs)\n\n\ndef post_init(instance):\n  \"\"\"Validate instance has same shapes & dtypes.\"\"\"\n  array_fields = get_array_fields(instance)\n  arrays = list(get_array_fields(instance, return_values=True).values())\n  first_field = array_fields[0]\n  # These slightly weird constructions about checking whether the leaves are\n  # actual arrays is since e.g. vmap internally relies on being able to\n  # construct pytree's with object() as leaves, this would break the checking\n  # as such we are only validating the object when the entries in the dataclass\n  # Are arrays or other dataclasses of arrays.\n  try:\n    dtype = instance.dtype\n  except AttributeError:\n    dtype = None\n  if dtype is not None:\n    first_shape = instance.shape\n    for array, field in zip(arrays, array_fields):\n      field_shape = array.shape\n      num_trailing_dims = field.metadata.get('num_trailing_dims', None)\n      if num_trailing_dims:\n        array_shape = array.shape\n        field_shape = array_shape[:-num_trailing_dims]\n        msg = (\n            f'field {field} should have number of trailing dims'\n            ' {num_trailing_dims}'\n        )\n        assert len(array_shape) == len(first_shape) + num_trailing_dims, msg\n      else:\n        field_shape = array.shape\n\n      shape_msg = (\n          f\"Stripped Shape {field_shape} of field {field} doesn't \"\n          f'match shape {first_shape} of field {first_field}'\n      )\n      assert field_shape == first_shape, shape_msg\n\n      field_dtype = array.dtype\n\n      allowed_metadata_dtypes = field.metadata.get('allowed_dtypes', [])\n      if allowed_metadata_dtypes:\n        msg = f'Dtype is {field_dtype} but must be in {allowed_metadata_dtypes}'\n        assert field_dtype in allowed_metadata_dtypes, msg\n\n      if 'dtype' in field.metadata:\n        target_dtype = field.metadata['dtype']\n      else:\n        target_dtype = dtype\n\n      msg = f'Dtype is {field_dtype} but must be {target_dtype}'\n      assert field_dtype == target_dtype, msg\n\n\ndef flatten(instance):\n  \"\"\"Flatten Struct of Array instance.\"\"\"\n  array_likes = list(get_array_fields(instance, return_values=True).values())\n  flat_array_likes = []\n  inner_treedefs = []\n  num_arrays = []\n  for array_like in array_likes:\n    flat_array_like, inner_treedef = jax.tree_util.tree_flatten(array_like)\n    inner_treedefs.append(inner_treedef)\n    flat_array_likes += flat_array_like\n    num_arrays.append(len(flat_array_like))\n  metadata = get_metadata_fields(instance, return_values=True)\n  metadata = type(instance).metadata_cls(**metadata)\n  return flat_array_likes, (inner_treedefs, metadata, num_arrays)\n\n\ndef make_metadata_class(cls):\n  metadata_fields = get_fields(\n      cls, lambda x: x.metadata.get('is_metadata', False)\n  )\n  metadata_cls = dataclasses.make_dataclass(\n      cls_name='Meta' + cls.__name__,\n      fields=[(field.name, field.type, field) for field in metadata_fields],\n      frozen=True,\n      eq=True,\n  )\n  return metadata_cls\n\n\ndef get_fields(cls_or_instance, filterfn, return_values=False):\n  fields = dataclasses.fields(cls_or_instance)\n  fields = [field for field in fields if filterfn(field)]\n  if return_values:\n    return {\n        field.name: getattr(cls_or_instance, field.name) for field in fields\n    }\n  else:\n    return fields\n\n\ndef get_array_fields(cls, return_values=False):\n  return get_fields(\n      cls,\n      lambda x: not x.metadata.get('is_metadata', False),\n      return_values=return_values,\n  )\n\n\ndef get_metadata_fields(cls, return_values=False):\n  return get_fields(\n      cls,\n      lambda x: x.metadata.get('is_metadata', False),\n      return_values=return_values,\n  )\n\n\nclass StructOfArray:\n  \"\"\"Class Decorator for Struct Of Arrays.\"\"\"\n\n  def __init__(self, same_dtype=True):\n    self.same_dtype = same_dtype\n\n  def __call__(self, cls):\n    cls.__array_ufunc__ = None\n    cls.replace = replace\n    cls.same_dtype = self.same_dtype\n    cls.dtype = get_dtype\n    cls.shape = get_shape\n    cls.__len__ = get_len\n    cls.__getitem__ = get_item\n    cls.__post_init__ = post_init\n    new_cls = dataclasses.dataclass(cls, frozen=True, eq=False)  # pytype: disable=wrong-keyword-args\n    # pytree claims to require metadata to be hashable, not sure why,\n    # But making derived dataclass that can just hold metadata\n    new_cls.metadata_cls = make_metadata_class(new_cls)\n\n    def unflatten(aux, data):\n      inner_treedefs, metadata, num_arrays = aux\n      array_fields = [field.name for field in get_array_fields(new_cls)]\n      value_dict = {}\n      array_start = 0\n      for num_array, inner_treedef, array_field in zip(\n          num_arrays, inner_treedefs, array_fields\n      ):\n        value_dict[array_field] = jax.tree_util.tree_unflatten(\n            inner_treedef, data[array_start : array_start + num_array]\n        )\n        array_start += num_array\n      metadata_fields = get_metadata_fields(new_cls)\n      for field in metadata_fields:\n        value_dict[field.name] = getattr(metadata, field.name)\n\n      return new_cls(**value_dict)\n\n    jax.tree_util.register_pytree_node(\n        nodetype=new_cls, flatten_func=flatten, unflatten_func=unflatten\n    )\n    return new_cls\n"
  },
  {
    "path": "alphafold/model/geometry/test_utils.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\"\"\"Shared utils for tests.\"\"\"\n\nimport dataclasses\n\nfrom alphafold.model.geometry import rigid_matrix_vector\nfrom alphafold.model.geometry import rotation_matrix\nfrom alphafold.model.geometry import vector\nimport jax.numpy as jnp\nimport numpy as np\n\n\ndef assert_rotation_matrix_equal(\n    matrix1: rotation_matrix.Rot3Array, matrix2: rotation_matrix.Rot3Array\n):\n  for field in dataclasses.fields(rotation_matrix.Rot3Array):\n    field = field.name\n    np.testing.assert_array_equal(\n        getattr(matrix1, field), getattr(matrix2, field)\n    )\n\n\ndef assert_rotation_matrix_close(\n    mat1: rotation_matrix.Rot3Array, mat2: rotation_matrix.Rot3Array\n):\n  np.testing.assert_array_almost_equal(mat1.to_array(), mat2.to_array(), 6)\n\n\ndef assert_array_equal_to_rotation_matrix(\n    array: jnp.ndarray, matrix: rotation_matrix.Rot3Array\n):\n  \"\"\"Check that array and Matrix match.\"\"\"\n  np.testing.assert_array_equal(matrix.xx, array[..., 0, 0])\n  np.testing.assert_array_equal(matrix.xy, array[..., 0, 1])\n  np.testing.assert_array_equal(matrix.xz, array[..., 0, 2])\n  np.testing.assert_array_equal(matrix.yx, array[..., 1, 0])\n  np.testing.assert_array_equal(matrix.yy, array[..., 1, 1])\n  np.testing.assert_array_equal(matrix.yz, array[..., 1, 2])\n  np.testing.assert_array_equal(matrix.zx, array[..., 2, 0])\n  np.testing.assert_array_equal(matrix.zy, array[..., 2, 1])\n  np.testing.assert_array_equal(matrix.zz, array[..., 2, 2])\n\n\ndef assert_array_close_to_rotation_matrix(\n    array: jnp.ndarray, matrix: rotation_matrix.Rot3Array\n):\n  np.testing.assert_array_almost_equal(matrix.to_array(), array, 6)\n\n\ndef assert_vectors_equal(vec1: vector.Vec3Array, vec2: vector.Vec3Array):\n  np.testing.assert_array_equal(vec1.x, vec2.x)\n  np.testing.assert_array_equal(vec1.y, vec2.y)\n  np.testing.assert_array_equal(vec1.z, vec2.z)\n\n\ndef assert_vectors_close(vec1: vector.Vec3Array, vec2: vector.Vec3Array):\n  np.testing.assert_allclose(vec1.x, vec2.x, atol=1e-5, rtol=0.0)\n  np.testing.assert_allclose(vec1.y, vec2.y, atol=1e-5, rtol=0.0)\n  np.testing.assert_allclose(vec1.z, vec2.z, atol=1e-5, rtol=0.0)\n\n\ndef assert_array_close_to_vector(array: jnp.ndarray, vec: vector.Vec3Array):\n  np.testing.assert_allclose(vec.to_array(), array, atol=1e-6, rtol=0.0)\n\n\ndef assert_array_equal_to_vector(array: jnp.ndarray, vec: vector.Vec3Array):\n  np.testing.assert_array_equal(vec.to_array(), array)\n\n\ndef assert_rigid_equal_to_rigid(\n    rigid1: rigid_matrix_vector.Rigid3Array,\n    rigid2: rigid_matrix_vector.Rigid3Array,\n):\n  assert_rot_trans_equal_to_rigid(rigid1.rotation, rigid1.translation, rigid2)\n\n\ndef assert_rigid_close_to_rigid(\n    rigid1: rigid_matrix_vector.Rigid3Array,\n    rigid2: rigid_matrix_vector.Rigid3Array,\n):\n  assert_rot_trans_close_to_rigid(rigid1.rotation, rigid1.translation, rigid2)\n\n\ndef assert_rot_trans_equal_to_rigid(\n    rot: rotation_matrix.Rot3Array,\n    trans: vector.Vec3Array,\n    rigid: rigid_matrix_vector.Rigid3Array,\n):\n  assert_rotation_matrix_equal(rot, rigid.rotation)\n  assert_vectors_equal(trans, rigid.translation)\n\n\ndef assert_rot_trans_close_to_rigid(\n    rot: rotation_matrix.Rot3Array,\n    trans: vector.Vec3Array,\n    rigid: rigid_matrix_vector.Rigid3Array,\n):\n  assert_rotation_matrix_close(rot, rigid.rotation)\n  assert_vectors_close(trans, rigid.translation)\n"
  },
  {
    "path": "alphafold/model/geometry/utils.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\"\"\"Utils for geometry library.\"\"\"\n\nfrom typing import List\n\nimport jax.numpy as jnp\n\n\ndef unstack(value: jnp.ndarray, axis: int = -1) -> List[jnp.ndarray]:\n  return [\n      jnp.squeeze(v, axis=axis)\n      for v in jnp.split(value, value.shape[axis], axis=axis)\n  ]\n"
  },
  {
    "path": "alphafold/model/geometry/vector.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\"\"\"Vec3Array Class.\"\"\"\n\nfrom __future__ import annotations\n\nimport dataclasses\nfrom typing import Union\n\nfrom alphafold.model.geometry import struct_of_array\nfrom alphafold.model.geometry import utils\nimport jax\nimport jax.numpy as jnp\nimport numpy as np\n\nFloat = Union[float, jnp.ndarray]\n\nVERSION = '0.1'\n\n\n@struct_of_array.StructOfArray(same_dtype=True)\nclass Vec3Array:\n  \"\"\"Vec3Array in 3 dimensional Space implemented as struct of arrays.\n\n  This is done in order to improve performance and precision.\n  On TPU small matrix multiplications are very suboptimal and will waste large\n  compute resources, furthermore any matrix multiplication on tpu happen in\n  mixed bfloat16/float32 precision, which is often undesirable when handling\n  physical coordinates.\n  In most cases this will also be faster on cpu's/gpu's since it allows for\n  easier use of vector instructions.\n  \"\"\"\n\n  x: jnp.ndarray = dataclasses.field(metadata={'dtype': jnp.float32})\n  y: jnp.ndarray\n  z: jnp.ndarray\n\n  def __post_init__(self):\n    if hasattr(self.x, 'dtype'):\n      assert self.x.dtype == self.y.dtype\n      assert self.x.dtype == self.z.dtype\n      assert all([x == y for x, y in zip(self.x.shape, self.y.shape)])\n      assert all([x == z for x, z in zip(self.x.shape, self.z.shape)])\n\n  def __add__(self, other: Vec3Array) -> Vec3Array:\n    return jax.tree.map(lambda x, y: x + y, self, other)\n\n  def __sub__(self, other: Vec3Array) -> Vec3Array:\n    return jax.tree.map(lambda x, y: x - y, self, other)\n\n  def __mul__(self, other: Float) -> Vec3Array:\n    return jax.tree.map(lambda x: x * other, self)\n\n  def __rmul__(self, other: Float) -> Vec3Array:\n    return self * other\n\n  def __truediv__(self, other: Float) -> Vec3Array:\n    return jax.tree.map(lambda x: x / other, self)\n\n  def __neg__(self) -> Vec3Array:\n    return jax.tree.map(lambda x: -x, self)\n\n  def __pos__(self) -> Vec3Array:\n    return jax.tree.map(lambda x: x, self)\n\n  def cross(self, other: Vec3Array) -> Vec3Array:\n    \"\"\"Compute cross product between 'self' and 'other'.\"\"\"\n    new_x = self.y * other.z - self.z * other.y\n    new_y = self.z * other.x - self.x * other.z\n    new_z = self.x * other.y - self.y * other.x\n    return Vec3Array(new_x, new_y, new_z)\n\n  def dot(self, other: Vec3Array) -> Float:\n    \"\"\"Compute dot product between 'self' and 'other'.\"\"\"\n    return self.x * other.x + self.y * other.y + self.z * other.z\n\n  def norm(self, epsilon: float = 1e-6) -> Float:\n    \"\"\"Compute Norm of Vec3Array, clipped to epsilon.\"\"\"\n    # To avoid NaN on the backward pass, we must use maximum before the sqrt\n    norm2 = self.dot(self)\n    if epsilon:\n      norm2 = jnp.maximum(norm2, epsilon**2)\n    return jnp.sqrt(norm2)\n\n  def norm2(self):\n    return self.dot(self)\n\n  def normalized(self, epsilon: float = 1e-6) -> Vec3Array:\n    \"\"\"Return unit vector with optional clipping.\"\"\"\n    return self / self.norm(epsilon)\n\n  @classmethod\n  def zeros(cls, shape, dtype=jnp.float32):\n    \"\"\"Return Vec3Array corresponding to zeros of given shape.\"\"\"\n    return cls(\n        jnp.zeros(shape, dtype),\n        jnp.zeros(shape, dtype),\n        jnp.zeros(shape, dtype),\n    )  # pytype: disable=wrong-arg-count  # trace-all-classes\n\n  def to_array(self) -> jnp.ndarray:\n    return jnp.stack([self.x, self.y, self.z], axis=-1)\n\n  @classmethod\n  def from_array(cls, array):\n    return cls(*utils.unstack(array))\n\n  def __getstate__(self):\n    return (\n        VERSION,\n        [np.asarray(self.x), np.asarray(self.y), np.asarray(self.z)],\n    )\n\n  def __setstate__(self, state):\n    version, state = state\n    del version\n    for i, letter in enumerate('xyz'):\n      object.__setattr__(self, letter, state[i])\n\n\ndef square_euclidean_distance(\n    vec1: Vec3Array, vec2: Vec3Array, epsilon: float = 1e-6\n) -> Float:\n  \"\"\"Computes square of euclidean distance between 'vec1' and 'vec2'.\n\n  Args:\n    vec1: Vec3Array to compute  distance to\n    vec2: Vec3Array to compute  distance from, should be broadcast compatible\n      with 'vec1'\n    epsilon: distance is clipped from below to be at least epsilon\n\n  Returns:\n    Array of square euclidean distances;\n    shape will be result of broadcasting 'vec1' and 'vec2'\n  \"\"\"\n  difference = vec1 - vec2\n  distance = difference.dot(difference)\n  if epsilon:\n    distance = jnp.maximum(distance, epsilon)\n  return distance\n\n\ndef dot(vector1: Vec3Array, vector2: Vec3Array) -> Float:\n  return vector1.dot(vector2)\n\n\ndef cross(vector1: Vec3Array, vector2: Vec3Array) -> Float:\n  return vector1.cross(vector2)\n\n\ndef norm(vector: Vec3Array, epsilon: float = 1e-6) -> Float:\n  return vector.norm(epsilon)\n\n\ndef normalized(vector: Vec3Array, epsilon: float = 1e-6) -> Vec3Array:\n  return vector.normalized(epsilon)\n\n\ndef euclidean_distance(\n    vec1: Vec3Array, vec2: Vec3Array, epsilon: float = 1e-6\n) -> Float:\n  \"\"\"Computes euclidean distance between 'vec1' and 'vec2'.\n\n  Args:\n    vec1: Vec3Array to compute euclidean distance to\n    vec2: Vec3Array to compute euclidean distance from, should be broadcast\n      compatible with 'vec1'\n    epsilon: distance is clipped from below to be at least epsilon\n\n  Returns:\n    Array of euclidean distances;\n    shape will be result of broadcasting 'vec1' and 'vec2'\n  \"\"\"\n  distance_sq = square_euclidean_distance(vec1, vec2, epsilon**2)\n  distance = jnp.sqrt(distance_sq)\n  return distance\n\n\ndef dihedral_angle(\n    a: Vec3Array, b: Vec3Array, c: Vec3Array, d: Vec3Array\n) -> Float:\n  \"\"\"Computes torsion angle for a quadruple of points.\n\n  For points (a, b, c, d), this is the angle between the planes defined by\n  points (a, b, c) and (b, c, d). It is also known as the dihedral angle.\n\n  Arguments:\n    a: A Vec3Array of coordinates.\n    b: A Vec3Array of coordinates.\n    c: A Vec3Array of coordinates.\n    d: A Vec3Array of coordinates.\n\n  Returns:\n    A tensor of angles in radians: [-pi, pi].\n  \"\"\"\n  v1 = a - b\n  v2 = b - c\n  v3 = d - c\n\n  c1 = v1.cross(v2)\n  c2 = v3.cross(v2)\n  c3 = c2.cross(c1)\n\n  v2_mag = v2.norm()\n  return jnp.arctan2(c3.dot(v2), v2_mag * c1.dot(c2))\n\n\ndef random_gaussian_vector(shape, key, dtype=jnp.float32):\n  vec_array = jax.random.normal(key, shape + (3,), dtype)\n  return Vec3Array.from_array(vec_array)\n"
  },
  {
    "path": "alphafold/model/layer_stack.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Function to stack repeats of a layer function without shared parameters.\"\"\"\n\nimport collections\nimport contextlib\nimport functools\nimport inspect\nfrom typing import Any, Callable, Optional, Tuple, Union\n\nimport haiku as hk\nimport jax\nimport jax.numpy as jnp\n\nLayerStackCarry = collections.namedtuple('LayerStackCarry', ['x', 'rng'])\nLayerStackScanned = collections.namedtuple(\n    'LayerStackScanned', ['i', 'args_ys']\n)\n\n# WrappedFn should take in arbitrarily nested `jnp.ndarray`, and return the\n# exact same type. We cannot express this with `typing`. So we just use it\n# to inform the user. In reality, the typing below will accept anything.\nNestedArray = Any\nWrappedFn = Callable[..., Union[NestedArray, Tuple[NestedArray]]]\n\n\ndef _check_no_varargs(f):\n  if (\n      list(inspect.signature(f).parameters.values())[0].kind\n      == inspect.Parameter.VAR_POSITIONAL\n  ):\n    raise ValueError(\n        'The function `f` should not have any `varargs` (that is *args) '\n        'argument. Instead, it should only use explicit positional'\n        'arguments.'\n    )\n\n\n@contextlib.contextmanager\ndef nullcontext():\n  yield\n\n\ndef maybe_with_rng(key):\n  if key is not None:\n    return hk.with_rng(key)\n  else:\n    return nullcontext()\n\n\ndef maybe_fold_in(key, data):\n  if key is not None:\n    return jax.random.fold_in(key, data)\n  else:\n    return None\n\n\nclass _LayerStack(hk.Module):\n  \"\"\"Module to compose parameterized functions, implemented as a scan.\"\"\"\n\n  def __init__(self, count: int, unroll: int, name: Optional[str] = None):\n    \"\"\"Iterate a function `f` `count` times, with non-shared parameters.\"\"\"\n    super().__init__(name=name)\n    self._count = count\n    self._unroll = unroll\n\n  def __call__(self, x, *args_ys):\n    count = self._count\n    if hk.running_init():\n      # At initialization time, we run just one layer but add an extra first\n      # dimension to every initialized tensor, making sure to use different\n      # random keys for different slices.\n      def creator(next_creator, shape, dtype, init, context):\n        del context\n\n        def multi_init(shape, dtype):\n          assert shape[0] == count\n          key = hk.maybe_next_rng_key()\n\n          def rng_context_init(slice_idx):\n            slice_key = maybe_fold_in(key, slice_idx)\n            with maybe_with_rng(slice_key):\n              return init(shape[1:], dtype)\n\n          return jax.vmap(rng_context_init)(jnp.arange(count))\n\n        return next_creator((count,) + tuple(shape), dtype, multi_init)\n\n      def getter(next_getter, value, context):\n        trailing_dims = len(context.original_shape) + 1\n        sliced_value = jax.lax.index_in_dim(\n            value, index=0, axis=value.ndim - trailing_dims, keepdims=False\n        )\n        return next_getter(sliced_value)\n\n      with hk.experimental.custom_creator(\n          creator\n      ), hk.experimental.custom_getter(getter):\n        if len(args_ys) == 1 and args_ys[0] is None:\n          args0 = (None,)\n        else:\n          args0 = [\n              jax.lax.dynamic_index_in_dim(ys, 0, keepdims=False)  # pytype: disable=wrong-arg-types\n              for ys in args_ys\n          ]\n        x, z = self._call_wrapped(x, *args0)\n        if z is None:\n          return x, z\n\n        # Broadcast state to hold each layer state.\n        def broadcast_state(layer_state):\n          return jnp.broadcast_to(\n              layer_state, [count] + list(layer_state.shape)\n          )\n\n        zs = jax.tree_util.tree_map(broadcast_state, z)\n        return x, zs\n    else:\n      # Use scan during apply, threading through random seed so that it's\n      # unique for each layer.\n      def layer(carry: LayerStackCarry, scanned: LayerStackScanned):\n        rng = carry.rng\n\n        def getter(next_getter, value, context):\n          # Getter slices the full param at the current loop index.\n          trailing_dims = len(context.original_shape) + 1\n          assert value.shape[value.ndim - trailing_dims] == count, (\n              'Attempting to use a parameter stack of size '\n              f'{value.shape[value.ndim - trailing_dims]} for a LayerStack of '\n              f'size {count}.'\n          )\n\n          sliced_value = jax.lax.dynamic_index_in_dim(\n              value, scanned.i, axis=value.ndim - trailing_dims, keepdims=False\n          )\n          return next_getter(sliced_value)\n\n        with hk.experimental.custom_getter(getter):\n          if rng is None:\n            out_x, z = self._call_wrapped(carry.x, *scanned.args_ys)\n          else:\n            rng, rng_ = jax.random.split(rng)\n            with hk.with_rng(rng_):\n              out_x, z = self._call_wrapped(carry.x, *scanned.args_ys)\n        return LayerStackCarry(x=out_x, rng=rng), z\n\n      carry = LayerStackCarry(x=x, rng=hk.maybe_next_rng_key())\n      scanned = LayerStackScanned(\n          i=jnp.arange(count, dtype=jnp.int32), args_ys=args_ys\n      )\n\n      carry, zs = hk.scan(\n          layer, carry, scanned, length=count, unroll=self._unroll\n      )\n      return carry.x, zs\n\n  def _call_wrapped(\n      self,\n      x: jnp.ndarray,\n      *args,\n  ) -> Tuple[jnp.ndarray, Optional[jnp.ndarray]]:\n    raise NotImplementedError()\n\n\nclass _LayerStackNoState(_LayerStack):\n  \"\"\"_LayerStack impl with no per-layer state provided to the function.\"\"\"\n\n  def __init__(\n      self, f: WrappedFn, count: int, unroll: int, name: Optional[str] = None\n  ):\n    super().__init__(count=count, unroll=unroll, name=name)\n    _check_no_varargs(f)\n    self._f = f\n\n  @hk.transparent\n  def _call_wrapped(self, args, y):\n    del y\n    ret = self._f(*args)\n    if len(args) == 1:\n      # If the function takes a single argument, the wrapped function receives\n      # a tuple of length 1, and therefore it must return a tuple of length 1.\n      ret = (ret,)\n    return ret, None\n\n\nclass _LayerStackWithState(_LayerStack):\n  \"\"\"_LayerStack impl with per-layer state provided to the function.\"\"\"\n\n  def __init__(\n      self, f: WrappedFn, count: int, unroll: int, name: Optional[str] = None\n  ):\n    super().__init__(count=count, unroll=unroll, name=name)\n    self._f = f\n\n  @hk.transparent\n  def _call_wrapped(self, x, *args):\n    return self._f(x, *args)\n\n\ndef layer_stack(\n    num_layers: int,\n    with_state=False,\n    unroll: int = 1,\n    name: Optional[str] = None,\n):\n  \"\"\"Utility to wrap a Haiku function and recursively apply it to an input.\n\n  A function is valid if it uses only explicit position parameters, and\n  its return type matches its input type. The position parameters can be\n  arbitrarily nested structures with `jnp.ndarray` at the leaf nodes. Note\n  that kwargs are not supported, neither are functions with variable number\n  of parameters (specified by `*args`).\n\n  If `with_state=False` then the new, wrapped function can be understood as\n  performing the following:\n  ```\n  for i in range(num_layers):\n    x = f(x)\n  return x\n  ```\n\n  And if `with_state=True`, assuming `f` takes two arguments on top of `x`:\n  ```\n  for i in range(num_layers):\n    x, zs[i] = f(x, ys_0[i], ys_1[i])\n  return x, zs\n  ```\n  The code using `layer_stack` for the above function would be:\n  ```\n  def f(x, y_0, y_1):\n    ...\n    return new_x, z\n  x, zs = layer_stack.layer_stack(num_layers,\n                                  with_state=True)(f)(x, ys_0, ys_1)\n  ```\n\n  Crucially, any parameters created inside `f` will not be shared across\n  iterations.\n\n  Args:\n    num_layers: The number of times to iterate the wrapped function.\n    with_state: Whether or not to pass per-layer state to the wrapped function.\n    unroll: the unroll used by `scan`.\n    name: Name of the Haiku context.\n\n  Returns:\n    Callable that will produce a layer stack when called with a valid function.\n  \"\"\"\n\n  def iterate(f):\n    if with_state:\n\n      @functools.wraps(f)\n      def wrapped(x, *args):\n        for ys in args:\n          assert ys.shape[0] == num_layers\n        return _LayerStackWithState(f, num_layers, unroll=unroll, name=name)(\n            x, *args\n        )\n\n    else:\n      _check_no_varargs(f)\n\n      @functools.wraps(f)\n      def wrapped(*args):\n        ret = _LayerStackNoState(f, num_layers, unroll=unroll, name=name)(\n            args, None\n        )[0]\n        if len(args) == 1:\n          # If the function takes a single argument, we must also return a\n          # single value, and not a tuple of length 1.\n          ret = ret[0]\n        return ret\n\n    return wrapped\n\n  return iterate\n"
  },
  {
    "path": "alphafold/model/layer_stack_test.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport functools\nfrom absl.testing import absltest\nfrom absl.testing import parameterized\nfrom alphafold.model import layer_stack\nfrom alphafold.model import utils\nimport haiku as hk\nimport jax\nimport jax.numpy as jnp\nimport numpy as np\n\n\n# Suffixes applied by Haiku for repeated module names.\nsuffixes = [''] + [f'_{i}' for i in range(1, 100)]\n\n\ndef _slice_layers_params(layers_params):\n  sliced_layers_params = {}\n  for k, v in layers_params.items():\n    for inner_k in v:\n      for var_slice, suffix in zip(v[inner_k], suffixes):\n        k_new = k.split('/')[-1] + suffix\n        if k_new not in sliced_layers_params:\n          sliced_layers_params[k_new] = {}\n        sliced_layers_params[k_new][inner_k] = var_slice\n  return sliced_layers_params\n\n\nclass LayerStackTest(parameterized.TestCase):\n\n  @parameterized.parameters([1, 2, 4])\n  def test_layer_stack(self, unroll):\n    \"\"\"Compare layer_stack to the equivalent unrolled stack.\n\n    Tests that the layer_stack application of a Haiku layer function is\n    equivalent to repeatedly applying the layer function in an unrolled loop.\n\n    Args:\n      unroll: Number of unrolled layers.\n    \"\"\"\n    num_layers = 20\n\n    def inner_fn(x):\n      x += hk.Linear(100, name='linear1')(x)\n      x += hk.Linear(100, name='linear2')(x)\n      return x\n\n    def outer_fn_unrolled(x):\n      for _ in range(num_layers):\n        x = inner_fn(x)\n      return x\n\n    def outer_fn_layer_stack(x):\n      stack = layer_stack.layer_stack(num_layers, unroll=unroll)(inner_fn)\n      return stack(x)\n\n    unrolled_fn = hk.transform(outer_fn_unrolled)\n    layer_stack_fn = hk.transform(outer_fn_layer_stack)\n\n    x = jax.random.uniform(jax.random.PRNGKey(0), [10, 256, 100])\n\n    rng_init = jax.random.PRNGKey(42)\n\n    params = layer_stack_fn.init(rng_init, x)\n\n    sliced_params = _slice_layers_params(params)\n\n    unrolled_pred = unrolled_fn.apply(sliced_params, None, x)\n    layer_stack_pred = layer_stack_fn.apply(params, None, x)\n\n    np.testing.assert_allclose(unrolled_pred, layer_stack_pred)\n\n  def test_layer_stack_multi_args(self):\n    \"\"\"Compare layer_stack to the equivalent unrolled stack.\n\n    Similar to `test_layer_stack`, but use a function that takes more than one\n    argument.\n    \"\"\"\n    num_layers = 20\n\n    def inner_fn(x, y):\n      x_out = x + hk.Linear(100, name='linear1')(y)\n      y_out = y + hk.Linear(100, name='linear2')(x)\n      return x_out, y_out\n\n    def outer_fn_unrolled(x, y):\n      for _ in range(num_layers):\n        x, y = inner_fn(x, y)\n      return x, y\n\n    def outer_fn_layer_stack(x, y):\n      stack = layer_stack.layer_stack(num_layers)(inner_fn)\n      return stack(x, y)\n\n    unrolled_fn = hk.transform(outer_fn_unrolled)\n    layer_stack_fn = hk.transform(outer_fn_layer_stack)\n\n    x = jax.random.uniform(jax.random.PRNGKey(0), [10, 256, 100])\n    y = jax.random.uniform(jax.random.PRNGKey(1), [10, 256, 100])\n\n    rng_init = jax.random.PRNGKey(42)\n\n    params = layer_stack_fn.init(rng_init, x, y)\n\n    sliced_params = _slice_layers_params(params)\n\n    unrolled_x, unrolled_y = unrolled_fn.apply(sliced_params, None, x, y)\n    layer_stack_x, layer_stack_y = layer_stack_fn.apply(params, None, x, y)\n\n    np.testing.assert_allclose(unrolled_x, layer_stack_x)\n    np.testing.assert_allclose(unrolled_y, layer_stack_y)\n\n  def test_layer_stack_no_varargs(self):\n    \"\"\"Test an error is raised when using a function with varargs.\"\"\"\n\n    class VarArgsModule(hk.Module):\n      \"\"\"When used, this module should cause layer_stack to raise an Error.\"\"\"\n\n      def __call__(self, *args):\n        return args\n\n    class NoVarArgsModule(hk.Module):\n      \"\"\"This module should be fine to use with layer_stack.\"\"\"\n\n      def __call__(self, x):\n        return x\n\n    def build_and_init_stack(module_class):\n      def stack_fn(x):\n        module = module_class()\n        return layer_stack.layer_stack(1)(module)(x)\n\n      stack = hk.without_apply_rng(hk.transform(stack_fn))\n      stack.init(jax.random.PRNGKey(1729), jnp.ones([5]))\n\n    build_and_init_stack(NoVarArgsModule)\n    with self.assertRaisesRegex(\n        ValueError, 'The function `f` should not have any `varargs`'\n    ):\n      build_and_init_stack(VarArgsModule)\n\n  @parameterized.parameters([1, 2, 4])\n  def test_layer_stack_grads(self, unroll):\n    \"\"\"Compare layer_stack gradients to the equivalent unrolled stack.\n\n    Tests that the layer_stack application of a Haiku layer function is\n    equivalent to repeatedly applying the layer function in an unrolled loop.\n\n    Args:\n      unroll: Number of unrolled layers.\n    \"\"\"\n    num_layers = 20\n\n    def inner_fn(x):\n      x += hk.Linear(100, name='linear1')(x)\n      x += hk.Linear(100, name='linear2')(x)\n      return x\n\n    def outer_fn_unrolled(x):\n      for _ in range(num_layers):\n        x = inner_fn(x)\n      return x\n\n    def outer_fn_layer_stack(x):\n      stack = layer_stack.layer_stack(num_layers, unroll=unroll)(inner_fn)\n      return stack(x)\n\n    unrolled_fn = hk.transform(outer_fn_unrolled)\n    layer_stack_fn = hk.transform(outer_fn_layer_stack)\n\n    x = jax.random.uniform(jax.random.PRNGKey(0), [10, 256, 100])\n\n    rng_init = jax.random.PRNGKey(42)\n\n    params = layer_stack_fn.init(rng_init, x)\n\n    sliced_params = _slice_layers_params(params)\n\n    unrolled_grad = jax.grad(\n        lambda p, x: jnp.mean(unrolled_fn.apply(p, None, x))\n    )(sliced_params, x)\n    layer_stack_grad = jax.grad(\n        lambda p, x: jnp.mean(layer_stack_fn.apply(p, None, x))\n    )(params, x)\n\n    assert_fn = functools.partial(\n        np.testing.assert_allclose, atol=1e-4, rtol=1e-4\n    )\n\n    jax.tree.map(\n        assert_fn, unrolled_grad, _slice_layers_params(layer_stack_grad)\n    )\n\n  def test_random(self):\n    \"\"\"Random numbers should be handled correctly.\"\"\"\n    n = 100\n\n    @hk.transform\n    @layer_stack.layer_stack(n)\n    def add_random(x):\n      x = x + jax.random.normal(hk.next_rng_key())\n      return x\n\n    # Evaluate a bunch of times\n    key, *keys = jax.random.split(jax.random.PRNGKey(7), 1024 + 1)\n    params = add_random.init(key, 0.0)\n    apply_fn = jax.jit(add_random.apply)\n    values = [apply_fn(params, key, 0.0) for key in keys]\n\n    # Should be roughly N(0, sqrt(n))\n    _, p = utils.ks_normal_test(sample=np.array(values), sigma=np.sqrt(n))\n    self.assertLess(0.3, p)\n\n  def test_threading(self):\n    \"\"\"Test @layer_stack when the function gets per-layer state.\"\"\"\n    n = 5\n\n    @layer_stack.layer_stack(n, with_state=True)\n    def f(x, y):\n      x = x + y * jax.nn.one_hot(y, len(x)) / 10\n      return x, 2 * y\n\n    @hk.without_apply_rng\n    @hk.transform\n    def g(x, ys):\n      x, zs = f(x, ys)\n      # Check here to catch issues at init time\n      self.assertEqual(zs.shape, (n,))\n      return x, zs\n\n    rng = jax.random.PRNGKey(7)\n    x = np.zeros(n)\n    ys = np.arange(n).astype(np.float32)\n    params = g.init(rng, x, ys)\n    x, zs = g.apply(params, x, ys)\n    self.assertTrue(np.allclose(x, [0, 0.1, 0.2, 0.3, 0.4]))\n    self.assertTrue(np.all(zs == 2 * ys))\n\n  def test_nested_stacks(self):\n    def stack_fn(x):\n      def layer_fn(x):\n        return hk.Linear(100)(x)\n\n      outer_fn = layer_stack.layer_stack(10)(layer_fn)\n\n      layer_outer = layer_stack.layer_stack(20)(outer_fn)\n      return layer_outer(x)\n\n    hk_mod = hk.transform(stack_fn)\n    apply_rng, init_rng = jax.random.split(jax.random.PRNGKey(0))\n\n    params = hk_mod.init(init_rng, jnp.zeros([10, 100]))\n\n    hk_mod.apply(params, apply_rng, jnp.zeros([10, 100]))\n\n    (p,) = params.values()\n\n    assert p['w'].shape == (10, 20, 100, 100)\n    assert p['b'].shape == (10, 20, 100)\n\n  def test_with_state_multi_args(self):\n    \"\"\"Test layer_stack with state with multiple arguments.\"\"\"\n    width = 4\n    batch_size = 5\n    stack_height = 3\n\n    def f_with_multi_args(x, a, b):\n      return (\n          hk.Linear(width, w_init=hk.initializers.Constant(jnp.eye(width)))(x)\n          * a\n          + b,\n          None,\n      )\n\n    @hk.without_apply_rng\n    @hk.transform\n    def hk_fn(x):\n      return layer_stack.layer_stack(stack_height, with_state=True)(\n          f_with_multi_args\n      )(x, jnp.full([stack_height], 2.0), jnp.ones([stack_height]))\n\n    x = jnp.zeros([batch_size, width])\n    key_seq = hk.PRNGSequence(19)\n    params = hk_fn.init(next(key_seq), x)\n    output, z = hk_fn.apply(params, x)\n    self.assertIsNone(z)\n    self.assertEqual(output.shape, (batch_size, width))\n    np.testing.assert_equal(output, np.full([batch_size, width], 7.0))\n\n  def test_with_container_state(self):\n    width = 2\n    batch_size = 2\n    stack_height = 3\n\n    def f_with_container_state(x):\n      hk_layer = hk.Linear(\n          width, w_init=hk.initializers.Constant(jnp.eye(width))\n      )\n      layer_output = hk_layer(x)\n      layer_state = {\n          'raw_output': layer_output,\n          'output_projection': jnp.sum(layer_output),\n      }\n      return layer_output + jnp.ones_like(layer_output), layer_state\n\n    @hk.without_apply_rng\n    @hk.transform\n    def hk_fn(x):\n      return layer_stack.layer_stack(stack_height, with_state=True)(\n          f_with_container_state\n      )(x)\n\n    x = jnp.zeros([batch_size, width])\n    key_seq = hk.PRNGSequence(19)\n    params = hk_fn.init(next(key_seq), x)\n    output, z = hk_fn.apply(params, x)\n    self.assertEqual(z['raw_output'].shape, (stack_height, batch_size, width))\n    self.assertEqual(output.shape, (batch_size, width))\n    self.assertEqual(z['output_projection'].shape, (stack_height,))\n    np.testing.assert_equal(np.sum(z['output_projection']), np.array(12.0))\n    np.testing.assert_equal(\n        np.all(z['raw_output'] == np.array([0.0, 1.0, 2.0])[..., None, None]),\n        np.array(True),\n    )\n\n\nif __name__ == '__main__':\n  absltest.main()\n"
  },
  {
    "path": "alphafold/model/lddt.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"lDDT protein distance score.\"\"\"\nimport jax.numpy as jnp\n\n\ndef lddt(\n    predicted_points,\n    true_points,\n    true_points_mask,\n    cutoff=15.0,\n    per_residue=False,\n):\n  \"\"\"Measure (approximate) lDDT for a batch of coordinates.\n\n  lDDT reference:\n  Mariani, V., Biasini, M., Barbato, A. & Schwede, T. lDDT: A local\n  superposition-free score for comparing protein structures and models using\n  distance difference tests. Bioinformatics 29, 2722–2728 (2013).\n\n  lDDT is a measure of the difference between the true distance matrix and the\n  distance matrix of the predicted points.  The difference is computed only on\n  points closer than cutoff *in the true structure*.\n\n  This function does not compute the exact lDDT value that the original paper\n  describes because it does not include terms for physical feasibility\n  (e.g. bond length violations). Therefore this is only an approximate\n  lDDT score.\n\n  Args:\n    predicted_points: (batch, length, 3) array of predicted 3D points\n    true_points: (batch, length, 3) array of true 3D points\n    true_points_mask: (batch, length, 1) binary-valued float array.  This mask\n      should be 1 for points that exist in the true points.\n    cutoff: Maximum distance for a pair of points to be included\n    per_residue: If true, return score for each residue.  Note that the overall\n      lDDT is not exactly the mean of the per_residue lDDT's because some\n      residues have more contacts than others.\n\n  Returns:\n    An (approximate, see above) lDDT score in the range 0-1.\n  \"\"\"\n\n  assert len(predicted_points.shape) == 3\n  assert predicted_points.shape[-1] == 3\n  assert true_points_mask.shape[-1] == 1\n  assert len(true_points_mask.shape) == 3\n\n  # Compute true and predicted distance matrices.\n  dmat_true = jnp.sqrt(\n      1e-10\n      + jnp.sum(\n          (true_points[:, :, None] - true_points[:, None, :]) ** 2, axis=-1\n      )\n  )\n\n  dmat_predicted = jnp.sqrt(\n      1e-10\n      + jnp.sum(\n          (predicted_points[:, :, None] - predicted_points[:, None, :]) ** 2,\n          axis=-1,\n      )\n  )\n\n  dists_to_score = (\n      (dmat_true < cutoff).astype(jnp.float32)\n      * true_points_mask\n      * jnp.transpose(true_points_mask, [0, 2, 1])\n      * (1.0 - jnp.eye(dmat_true.shape[1]))  # Exclude self-interaction.\n  )\n\n  # Shift unscored distances to be far away.\n  dist_l1 = jnp.abs(dmat_true - dmat_predicted)\n\n  # True lDDT uses a number of fixed bins.\n  # We ignore the physical plausibility correction to lDDT, though.\n  score = 0.25 * (\n      (dist_l1 < 0.5).astype(jnp.float32)\n      + (dist_l1 < 1.0).astype(jnp.float32)\n      + (dist_l1 < 2.0).astype(jnp.float32)\n      + (dist_l1 < 4.0).astype(jnp.float32)\n  )\n\n  # Normalize over the appropriate axes.\n  reduce_axes = (-1,) if per_residue else (-2, -1)\n  norm = 1.0 / (1e-10 + jnp.sum(dists_to_score, axis=reduce_axes))\n  score = norm * (1e-10 + jnp.sum(dists_to_score * score, axis=reduce_axes))\n\n  return score\n"
  },
  {
    "path": "alphafold/model/lddt_test.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nfrom absl.testing import absltest\nfrom absl.testing import parameterized\nfrom alphafold.model import lddt\nimport numpy as np\n\n\nclass LddtTest(parameterized.TestCase, absltest.TestCase):\n\n  @parameterized.named_parameters(\n      (\n          'same',\n          [[0, 0, 0], [5, 0, 0], [10, 0, 0]],\n          [[0, 0, 0], [5, 0, 0], [10, 0, 0]],\n          [1, 1, 1],\n      ),\n      (\n          'all_shifted',\n          [[0, 0, 0], [5, 0, 0], [10, 0, 0]],\n          [[-1, 0, 0], [4, 0, 0], [9, 0, 0]],\n          [1, 1, 1],\n      ),\n      (\n          'all_rotated',\n          [[0, 0, 0], [5, 0, 0], [10, 0, 0]],\n          [[0, 0, 0], [0, 5, 0], [0, 10, 0]],\n          [1, 1, 1],\n      ),\n      (\n          'half_a_dist',\n          [[0, 0, 0], [5, 0, 0]],\n          [[0, 0, 0], [5.5 - 1e-5, 0, 0]],\n          [1, 1],\n      ),\n      (\n          'one_a_dist',\n          [[0, 0, 0], [5, 0, 0]],\n          [[0, 0, 0], [6 - 1e-5, 0, 0]],\n          [0.75, 0.75],\n      ),\n      (\n          'two_a_dist',\n          [[0, 0, 0], [5, 0, 0]],\n          [[0, 0, 0], [7 - 1e-5, 0, 0]],\n          [0.5, 0.5],\n      ),\n      (\n          'four_a_dist',\n          [[0, 0, 0], [5, 0, 0]],\n          [[0, 0, 0], [9 - 1e-5, 0, 0]],\n          [0.25, 0.25],\n      ),\n      (\n          'five_a_dist',\n          [[0, 0, 0], [16 - 1e-5, 0, 0]],\n          [[0, 0, 0], [11, 0, 0]],\n          [0, 0],\n      ),\n      (\n          'no_pairs',\n          [[0, 0, 0], [20, 0, 0]],\n          [[0, 0, 0], [25 - 1e-5, 0, 0]],\n          [1, 1],\n      ),\n  )\n  def test_lddt(self, predicted_pos, true_pos, exp_lddt):\n    predicted_pos = np.array([predicted_pos], dtype=np.float32)\n    true_points_mask = np.array([[[1]] * len(true_pos)], dtype=np.float32)\n    true_pos = np.array([true_pos], dtype=np.float32)\n    cutoff = 15.0\n    per_residue = True\n\n    result = lddt.lddt(\n        predicted_pos, true_pos, true_points_mask, cutoff, per_residue\n    )\n\n    np.testing.assert_almost_equal(result, [exp_lddt], decimal=4)\n\n\nif __name__ == '__main__':\n  absltest.main()\n"
  },
  {
    "path": "alphafold/model/mapping.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Specialized mapping functions.\"\"\"\n\nimport functools\nimport inspect\nfrom typing import Any, Callable, Optional, Sequence, TypeVar, Union\n\nimport haiku as hk\nimport jax\nimport jax.numpy as jnp\n\n\nPYTREE = Any\nPYTREE_JAX_ARRAY = Any\n\npartial = functools.partial\nPROXY = object()\n\n\nT = TypeVar('T')\n\n\ndef _set_docstring(docstr: str) -> Callable[[T], T]:\n  \"\"\"Decorator for setting the docstring of a function.\"\"\"\n\n  def wrapped(fun: T) -> T:\n    fun.__doc__ = docstr.format(fun=getattr(fun, '__name__', repr(fun)))\n    return fun\n\n  return wrapped\n\n\ndef _maybe_slice(array, i, slice_size, axis):\n  if axis is PROXY:\n    return array\n  else:\n    return jax.lax.dynamic_slice_in_dim(\n        array, i, slice_size=slice_size, axis=axis\n    )\n\n\ndef _maybe_get_size(array, axis):\n  if axis == PROXY:\n    return -1\n  else:\n    return array.shape[axis]\n\n\ndef _expand_axes(axes, values, name='sharded_apply'):\n  values_tree_def = jax.tree_util.tree_flatten(values)[1]\n  flat_axes = jax.api_util.flatten_axes(name, values_tree_def, axes)\n  # Replace None's with PROXY\n  flat_axes = [PROXY if x is None else x for x in flat_axes]\n  return jax.tree_util.tree_unflatten(values_tree_def, flat_axes)\n\n\ndef sharded_map(\n    fun: Callable[..., PYTREE_JAX_ARRAY],\n    shard_size: Union[int, None] = 1,\n    in_axes: Union[int, PYTREE] = 0,\n    out_axes: Union[int, PYTREE] = 0,\n) -> Callable[..., PYTREE_JAX_ARRAY]:\n  \"\"\"Sharded vmap.\n\n  Maps `fun` over axes, in a way similar to vmap, but does so in shards of\n  `shard_size`. This allows a smooth trade-off between memory usage\n  (as in a plain map) vs higher throughput (as in a vmap).\n\n  Args:\n    fun: Function to apply smap transform to.\n    shard_size: Integer denoting shard size.\n    in_axes: Either integer or pytree describing which axis to map over for each\n      input to `fun`, None denotes broadcasting.\n    out_axes: integer or pytree denoting to what axis in the output the mapped\n      over axis maps.\n\n  Returns:\n    function with smap applied.\n  \"\"\"\n  if 'split_rng' in inspect.signature(hk.vmap).parameters:\n    vmapped_fun = hk.vmap(fun, in_axes, out_axes, split_rng=False)\n  else:\n    # TODO(tomhennigan): Remove this when older versions of Haiku aren't used.\n    vmapped_fun = hk.vmap(fun, in_axes, out_axes)\n  return sharded_apply(vmapped_fun, shard_size, in_axes, out_axes)\n\n\ndef sharded_apply(\n    fun: Callable[..., PYTREE_JAX_ARRAY],  # pylint: disable=g-bare-generic\n    shard_size: Union[int, None] = 1,\n    in_axes: Union[int, PYTREE] = 0,\n    out_axes: Union[int, PYTREE] = 0,\n    new_out_axes: bool = False,\n) -> Callable[..., PYTREE_JAX_ARRAY]:\n  \"\"\"Sharded apply.\n\n  Applies `fun` over shards to axes, in a way similar to vmap,\n  but does so in shards of `shard_size`. Shards are stacked after.\n  This allows a smooth trade-off between\n  memory usage (as in a plain map) vs higher throughput (as in a vmap).\n\n  Args:\n    fun: Function to apply smap transform to.\n    shard_size: Integer denoting shard size.\n    in_axes: Either integer or pytree describing which axis to map over for each\n      input to `fun`, None denotes broadcasting.\n    out_axes: integer or pytree denoting to what axis in the output the mapped\n      over axis maps.\n    new_out_axes: whether to stack outputs on new axes. This assumes that the\n      output sizes for each shard (including the possible remainder shard) are\n      the same.\n\n  Returns:\n    function with smap applied.\n  \"\"\"\n  docstr = (\n      'Mapped version of {fun}. Takes similar arguments to {fun} '\n      'but with additional array axes over which {fun} is mapped.'\n  )\n  if new_out_axes:\n    raise NotImplementedError('New output axes not yet implemented.')\n\n  # shard size None denotes no sharding\n  if shard_size is None:\n    return fun\n\n  @_set_docstring(docstr)\n  @functools.wraps(fun)\n  def mapped_fn(*args):\n    # Expand in axes and Determine Loop range\n    in_axes_ = _expand_axes(in_axes, args)\n\n    in_sizes = jax.tree.map(_maybe_get_size, args, in_axes_)\n    flat_sizes = jax.tree_util.tree_flatten(in_sizes)[0]\n    in_size = max(flat_sizes)\n    assert all(i in {in_size, -1} for i in flat_sizes)\n\n    num_extra_shards = (in_size - 1) // shard_size\n\n    # Fix Up if necessary\n    last_shard_size = in_size % shard_size\n    last_shard_size = shard_size if last_shard_size == 0 else last_shard_size\n\n    def apply_fun_to_slice(slice_start, slice_size):\n      input_slice = jax.tree.map(\n          lambda array, axis: _maybe_slice(\n              array, slice_start, slice_size, axis\n          ),\n          args,\n          in_axes_,\n      )\n      return fun(*input_slice)\n\n    remainder_shape_dtype = hk.eval_shape(\n        partial(apply_fun_to_slice, 0, last_shard_size)\n    )\n    out_dtypes = jax.tree.map(lambda x: x.dtype, remainder_shape_dtype)\n    out_shapes = jax.tree.map(lambda x: x.shape, remainder_shape_dtype)\n    out_axes_ = _expand_axes(out_axes, remainder_shape_dtype)\n\n    if num_extra_shards > 0:\n      regular_shard_shape_dtype = hk.eval_shape(\n          partial(apply_fun_to_slice, 0, shard_size)\n      )\n      shard_shapes = jax.tree.map(lambda x: x.shape, regular_shard_shape_dtype)\n\n      def make_output_shape(axis, shard_shape, remainder_shape):\n        return (\n            shard_shape[:axis]\n            + (shard_shape[axis] * num_extra_shards + remainder_shape[axis],)\n            + shard_shape[axis + 1 :]\n        )\n\n      out_shapes = jax.tree.map(\n          make_output_shape, out_axes_, shard_shapes, out_shapes\n      )\n\n    # Calls dynamic Update slice with different argument order\n    # This is here since tree_map only works with positional arguments\n    def dynamic_update_slice_in_dim(full_array, update, axis, i):\n      return jax.lax.dynamic_update_slice_in_dim(full_array, update, i, axis)\n\n    def compute_shard(outputs, slice_start, slice_size):\n      slice_out = apply_fun_to_slice(slice_start, slice_size)\n      update_slice = partial(dynamic_update_slice_in_dim, i=slice_start)\n      return jax.tree.map(update_slice, outputs, slice_out, out_axes_)\n\n    def scan_iteration(outputs, i):\n      new_outputs = compute_shard(outputs, i, shard_size)\n      return new_outputs, ()\n\n    slice_starts = jnp.arange(0, in_size - shard_size + 1, shard_size)\n\n    def allocate_buffer(dtype, shape):\n      return jnp.zeros(shape, dtype=dtype)\n\n    outputs = jax.tree.map(allocate_buffer, out_dtypes, out_shapes)\n\n    if slice_starts.shape[0] > 0:\n      outputs, _ = hk.scan(scan_iteration, outputs, slice_starts)\n\n    if last_shard_size != shard_size:\n      remainder_start = in_size - last_shard_size\n      outputs = compute_shard(outputs, remainder_start, last_shard_size)\n\n    return outputs\n\n  return mapped_fn\n\n\ndef inference_subbatch(\n    module: Callable[..., PYTREE_JAX_ARRAY],\n    subbatch_size: int,\n    batched_args: Sequence[PYTREE_JAX_ARRAY],\n    nonbatched_args: Sequence[PYTREE_JAX_ARRAY],\n    low_memory: bool = True,\n    input_subbatch_dim: int = 0,\n    output_subbatch_dim: Optional[int] = None,\n) -> PYTREE_JAX_ARRAY:\n  \"\"\"Run through subbatches (like batch apply but with split and concat).\"\"\"\n  assert len(batched_args) > 0  # pylint: disable=g-explicit-length-test\n\n  if not low_memory:\n    args = list(batched_args) + list(nonbatched_args)\n    return module(*args)\n\n  if output_subbatch_dim is None:\n    output_subbatch_dim = input_subbatch_dim\n\n  def run_module(*batched_args):\n    args = list(batched_args) + list(nonbatched_args)\n    return module(*args)\n\n  sharded_module = sharded_apply(\n      run_module,\n      shard_size=subbatch_size,\n      in_axes=input_subbatch_dim,\n      out_axes=output_subbatch_dim,\n  )\n  return sharded_module(*batched_args)\n"
  },
  {
    "path": "alphafold/model/model.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Code for constructing the model.\"\"\"\n\nfrom typing import Any, Mapping, Optional\n\nfrom absl import logging\nfrom alphafold.common import confidence\nfrom alphafold.model import features\nfrom alphafold.model import modules\nfrom alphafold.model import modules_multimer\nimport haiku as hk\nimport jax\nfrom jax import tree\nimport ml_collections\nimport numpy as np\n\n\ndef get_confidence_metrics(\n    prediction_result: Mapping[str, Any], multimer_mode: bool\n) -> Mapping[str, Any]:\n  \"\"\"Post processes prediction_result to get confidence metrics.\"\"\"\n  confidence_metrics = {}\n  confidence_metrics['plddt'] = confidence.compute_plddt(\n      prediction_result['predicted_lddt']['logits']\n  )\n  if 'predicted_aligned_error' in prediction_result:\n    confidence_metrics.update(\n        confidence.compute_predicted_aligned_error(\n            logits=prediction_result['predicted_aligned_error']['logits'],\n            breaks=prediction_result['predicted_aligned_error']['breaks'],\n        )\n    )\n    confidence_metrics['ptm'] = confidence.predicted_tm_score(\n        logits=prediction_result['predicted_aligned_error']['logits'],\n        breaks=prediction_result['predicted_aligned_error']['breaks'],\n        asym_id=None,\n    )\n    if multimer_mode:\n      # Compute the ipTM only for the multimer model.\n      confidence_metrics['iptm'] = confidence.predicted_tm_score(\n          logits=prediction_result['predicted_aligned_error']['logits'],\n          breaks=prediction_result['predicted_aligned_error']['breaks'],\n          asym_id=prediction_result['predicted_aligned_error']['asym_id'],\n          interface=True,\n      )\n      confidence_metrics['ranking_confidence'] = (\n          0.8 * confidence_metrics['iptm'] + 0.2 * confidence_metrics['ptm']\n      )\n\n  if not multimer_mode:\n    # Monomer models use mean pLDDT for model ranking.\n    confidence_metrics['ranking_confidence'] = np.mean(\n        confidence_metrics['plddt']\n    )\n\n  return confidence_metrics\n\n\nclass RunModel:\n  \"\"\"Container for JAX model.\"\"\"\n\n  def __init__(\n      self,\n      config: ml_collections.ConfigDict,\n      params: Optional[Mapping[str, Mapping[str, jax.Array]]] = None,\n  ):\n    self.config = config\n    self.params = params\n    self.multimer_mode = config.model.global_config.multimer_mode\n\n    if self.multimer_mode:\n\n      def _forward_fn(batch):\n        model = modules_multimer.AlphaFold(self.config.model)\n        return model(batch, is_training=False)\n\n    else:\n\n      def _forward_fn(batch):\n        model = modules.AlphaFold(self.config.model)\n        return model(\n            batch,\n            is_training=False,\n            compute_loss=False,\n            ensemble_representations=True,\n        )\n\n    self.apply = jax.jit(hk.transform(_forward_fn).apply)\n    self.init = jax.jit(hk.transform(_forward_fn).init)\n\n  def init_params(self, feat: features.FeatureDict, random_seed: int = 0):\n    \"\"\"Initializes the model parameters.\n\n    If none were provided when this class was instantiated then the parameters\n    are randomly initialized.\n\n    Args:\n      feat: A dictionary of NumPy feature arrays as output by\n        RunModel.process_features.\n      random_seed: A random seed to use to initialize the parameters if none\n        were set when this class was initialized.\n    \"\"\"\n    if not self.params:\n      # Init params randomly.\n      rng = jax.random.PRNGKey(random_seed)\n      self.params = hk.data_structures.to_mutable_dict(self.init(rng, feat))\n      logging.warning('Initialized parameters randomly')\n\n  def process_features(\n      self,\n      raw_features: features.FeatureDict,\n      random_seed: int,\n  ) -> features.FeatureDict:\n    \"\"\"Processes features to prepare for feeding them into the model.\n\n    Args:\n      raw_features: The output of the data pipeline as a dict of NumPy arrays.\n      random_seed: The random seed to use when processing the features.\n\n    Returns:\n      A dict of NumPy feature arrays suitable for feeding into the model.\n    \"\"\"\n    if self.multimer_mode:\n      return raw_features\n    else:\n      return features.np_example_to_features(\n          np_example=raw_features, config=self.config, random_seed=random_seed\n      )\n\n  def eval_shape(self, feat: features.FeatureDict) -> jax.ShapeDtypeStruct:\n    self.init_params(feat)\n    logging.info(\n        'Running eval_shape with shape(feat) = %s',\n        tree.map(lambda x: x.shape, feat),\n    )\n    shape = jax.eval_shape(self.apply, self.params, jax.random.PRNGKey(0), feat)\n    logging.info('Output shape was %s', shape)\n    return shape\n\n  def predict(\n      self,\n      feat: features.FeatureDict,\n      random_seed: int,\n  ) -> Mapping[str, Any]:\n    \"\"\"Makes a prediction by inferencing the model on the provided features.\n\n    Args:\n      feat: A dictionary of NumPy feature arrays as output by\n        RunModel.process_features.\n      random_seed: The random seed to use when running the model. In the\n        multimer model this controls the MSA sampling.\n\n    Returns:\n      A dictionary of model outputs.\n    \"\"\"\n    self.init_params(feat)\n    logging.info(\n        'Running predict with shape(feat) = %s',\n        tree.map(lambda x: x.shape, feat),\n    )\n    result = self.apply(self.params, jax.random.PRNGKey(random_seed), feat)\n\n    # This block is to ensure benchmark timings are accurate. Some blocking is\n    # already happening when computing get_confidence_metrics, and this ensures\n    # all outputs are blocked on.\n    tree.map(lambda x: x.block_until_ready(), result)\n    result.update(\n        get_confidence_metrics(result, multimer_mode=self.multimer_mode)\n    )\n    logging.info('Output shape was %s', tree.map(lambda x: x.shape, result))\n    return result\n"
  },
  {
    "path": "alphafold/model/modules.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Modules and code used in the core part of AlphaFold.\n\nThe structure generation code is in 'folding.py'.\n\"\"\"\nimport functools\nfrom alphafold.common import residue_constants\nfrom alphafold.model import all_atom\nfrom alphafold.model import common_modules\nfrom alphafold.model import folding\nfrom alphafold.model import layer_stack\nfrom alphafold.model import lddt\nfrom alphafold.model import mapping\nfrom alphafold.model import prng\nfrom alphafold.model import quat_affine\nfrom alphafold.model import utils\nimport haiku as hk\nimport jax\nimport jax.numpy as jnp\n\n\n_SOFTMAX_MASK = -1e9\n\n\ndef softmax_cross_entropy(logits, labels):\n  \"\"\"Computes softmax cross entropy given logits and one-hot class labels.\"\"\"\n  loss = -jnp.sum(labels * jax.nn.log_softmax(logits), axis=-1)\n  return jnp.asarray(loss)\n\n\ndef sigmoid_cross_entropy(logits, labels):\n  \"\"\"Computes sigmoid cross entropy given logits and multiple class labels.\"\"\"\n  log_p = jax.nn.log_sigmoid(logits)\n  # log(1 - sigmoid(x)) = log_sigmoid(-x), the latter is more numerically stable\n  log_not_p = jax.nn.log_sigmoid(-logits)\n  loss = -labels * log_p - (1.0 - labels) * log_not_p\n  return jnp.asarray(loss)\n\n\ndef apply_dropout(*, tensor, safe_key, rate, is_training, broadcast_dim=None):\n  \"\"\"Applies dropout to a tensor.\"\"\"\n  if is_training and rate != 0.0:\n    shape = list(tensor.shape)\n    if broadcast_dim is not None:\n      shape[broadcast_dim] = 1\n    keep_rate = 1.0 - rate\n    keep = jax.random.bernoulli(safe_key.get(), keep_rate, shape=shape)\n    return keep * tensor / keep_rate\n  else:\n    return tensor\n\n\ndef dropout_wrapper(\n    module,\n    input_act,\n    mask,\n    safe_key,\n    global_config,\n    output_act=None,\n    is_training=True,\n    **kwargs\n):\n  \"\"\"Applies module + dropout + residual update.\"\"\"\n  if output_act is None:\n    output_act = input_act\n\n  gc = global_config\n  residual = module(input_act, mask, is_training=is_training, **kwargs)\n  dropout_rate = 0.0 if gc.deterministic else module.config.dropout_rate\n\n  # Will override `is_training` to True if want to use dropout.\n  should_apply_dropout = True if gc.eval_dropout else is_training\n\n  if module.config.shared_dropout:\n    if module.config.orientation == 'per_row':\n      broadcast_dim = 0\n    else:\n      broadcast_dim = 1\n  else:\n    broadcast_dim = None\n\n  residual = apply_dropout(\n      tensor=residual,\n      safe_key=safe_key,\n      rate=dropout_rate,\n      is_training=should_apply_dropout,\n      broadcast_dim=broadcast_dim,\n  )\n\n  new_act = output_act + residual\n\n  return new_act\n\n\ndef create_extra_msa_feature(batch):\n  \"\"\"Expand extra_msa into 1hot and concat with other extra msa features.\n\n  We do this as late as possible as the one_hot extra msa can be very large.\n\n  Arguments:\n    batch: a dictionary with the following keys: * 'extra_msa': [N_extra_seq,\n      N_res] MSA that wasn't selected as a cluster centre. Note, that this is\n      not one-hot encoded. * 'extra_has_deletion': [N_extra_seq, N_res] Whether\n      there is a deletion to the left of each position in the extra MSA. *\n      'extra_deletion_value': [N_extra_seq, N_res] The number of deletions to\n      the left of each position in the extra MSA.\n\n  Returns:\n    Concatenated tensor of extra MSA features.\n  \"\"\"\n  # 23 = 20 amino acids + 'X' for unknown + gap + bert mask\n  msa_1hot = jax.nn.one_hot(batch['extra_msa'], 23)\n  msa_feat = [\n      msa_1hot,\n      jnp.expand_dims(batch['extra_has_deletion'], axis=-1),\n      jnp.expand_dims(batch['extra_deletion_value'], axis=-1),\n  ]\n  return jnp.concatenate(msa_feat, axis=-1)\n\n\nclass AlphaFoldIteration(hk.Module):\n  \"\"\"A single recycling iteration of AlphaFold architecture.\n\n  Computes ensembled (averaged) representations from the provided features.\n  These representations are then passed to the various heads\n  that have been requested by the configuration file. Each head also returns a\n  loss which is combined as a weighted sum to produce the total loss.\n\n  Jumper et al. (2021) Suppl. Alg. 2 \"Inference\" lines 3-22\n  \"\"\"\n\n  def __init__(self, config, global_config, name='alphafold_iteration'):\n    super().__init__(name=name)\n    self.config = config\n    self.global_config = global_config\n\n  def __call__(\n      self,\n      ensembled_batch,\n      non_ensembled_batch,\n      is_training,\n      compute_loss=False,\n      ensemble_representations=False,\n      return_representations=False,\n  ):\n\n    num_ensemble = jnp.asarray(ensembled_batch['seq_length'].shape[0])\n\n    if not ensemble_representations:\n      assert ensembled_batch['seq_length'].shape[0] == 1\n\n    def slice_batch(i):\n      b = {k: v[i] for k, v in ensembled_batch.items()}\n      b.update(non_ensembled_batch)\n      return b\n\n    # Compute representations for each batch element and average.\n    evoformer_module = EmbeddingsAndEvoformer(\n        self.config.embeddings_and_evoformer, self.global_config\n    )\n    batch0 = slice_batch(0)\n    representations = evoformer_module(batch0, is_training)\n\n    # MSA representations are not ensembled so\n    # we don't pass tensor into the loop.\n    msa_representation = representations['msa']\n    del representations['msa']\n\n    # Average the representations (except MSA) over the batch dimension.\n    if ensemble_representations:\n\n      def body(x):\n        \"\"\"Add one element to the representations ensemble.\"\"\"\n        i, current_representations = x\n        feats = slice_batch(i)\n        representations_update = evoformer_module(feats, is_training)\n\n        new_representations = {}\n        for k in current_representations:\n          new_representations[k] = (\n              current_representations[k] + representations_update[k]\n          )\n        return i + 1, new_representations\n\n      if hk.running_init():\n        # When initializing the Haiku module, run one iteration of the\n        # while_loop to initialize the Haiku modules used in `body`.\n        _, representations = body((1, representations))\n      else:\n        _, representations = hk.while_loop(\n            lambda x: x[0] < num_ensemble, body, (1, representations)\n        )\n\n      for k in representations:\n        if k != 'msa':\n          representations[k] /= num_ensemble.astype(representations[k].dtype)\n\n    representations['msa'] = msa_representation\n    batch = batch0  # We are not ensembled from here on.\n\n    heads = {}\n    for head_name, head_config in sorted(self.config.heads.items()):\n      if not head_config.weight:\n        continue  # Do not instantiate zero-weight heads.\n\n      head_factory = {\n          'masked_msa': MaskedMsaHead,\n          'distogram': DistogramHead,\n          'structure_module': functools.partial(\n              folding.StructureModule, compute_loss=compute_loss\n          ),\n          'predicted_lddt': PredictedLDDTHead,\n          'predicted_aligned_error': PredictedAlignedErrorHead,\n          'experimentally_resolved': ExperimentallyResolvedHead,\n      }[head_name]\n      heads[head_name] = (\n          head_config,\n          head_factory(head_config, self.global_config),\n      )\n\n    total_loss = 0.0\n    ret = {}\n    ret['representations'] = representations\n\n    def loss(module, head_config, ret, name, filter_ret=True):\n      if filter_ret:\n        value = ret[name]\n      else:\n        value = ret\n      loss_output = module.loss(value, batch)\n      ret[name].update(loss_output)\n      loss = head_config.weight * ret[name]['loss']\n      return loss\n\n    for name, (head_config, module) in heads.items():\n      # Skip PredictedLDDTHead and PredictedAlignedErrorHead until\n      # StructureModule is executed.\n      if name in ('predicted_lddt', 'predicted_aligned_error'):\n        continue\n      else:\n        ret[name] = module(representations, batch, is_training)\n        if 'representations' in ret[name]:\n          # Extra representations from the head. Used by the structure module\n          # to provide activations for the PredictedLDDTHead.\n          representations.update(ret[name].pop('representations'))\n      if compute_loss:\n        total_loss += loss(module, head_config, ret, name)\n\n    if self.config.heads.get('predicted_lddt.weight', 0.0):\n      # Add PredictedLDDTHead after StructureModule executes.\n      name = 'predicted_lddt'\n      # Feed all previous results to give access to structure_module result.\n      head_config, module = heads[name]\n      ret[name] = module(representations, batch, is_training)\n      if compute_loss:\n        total_loss += loss(module, head_config, ret, name, filter_ret=False)\n\n    if (\n        'predicted_aligned_error' in self.config.heads\n        and self.config.heads.get('predicted_aligned_error.weight', 0.0)\n    ):\n      # Add PredictedAlignedErrorHead after StructureModule executes.\n      name = 'predicted_aligned_error'\n      # Feed all previous results to give access to structure_module result.\n      head_config, module = heads[name]\n      ret[name] = module(representations, batch, is_training)\n      if compute_loss:\n        total_loss += loss(module, head_config, ret, name, filter_ret=False)\n\n    if compute_loss:\n      return ret, total_loss\n    else:\n      return ret\n\n\nclass AlphaFold(hk.Module):\n  \"\"\"AlphaFold model with recycling.\n\n  Jumper et al. (2021) Suppl. Alg. 2 \"Inference\"\n  \"\"\"\n\n  def __init__(self, config, name='alphafold'):\n    super().__init__(name=name)\n    self.config = config\n    self.global_config = config.global_config\n\n  def __call__(\n      self,\n      batch,\n      is_training,\n      compute_loss=False,\n      ensemble_representations=False,\n      return_representations=False,\n  ):\n    \"\"\"Run the AlphaFold model.\n\n    Arguments:\n      batch: Dictionary with inputs to the AlphaFold model.\n      is_training: Whether the system is in training or inference mode.\n      compute_loss: Whether to compute losses (requires extra features to be\n        present in the batch and knowing the true structure).\n      ensemble_representations: Whether to use ensembling of representations.\n      return_representations: Whether to also return the intermediate\n        representations.\n\n    Returns:\n      When compute_loss is True:\n        a tuple of loss and output of AlphaFoldIteration.\n      When compute_loss is False:\n        just output of AlphaFoldIteration.\n\n      The output of AlphaFoldIteration is a nested dictionary containing\n      predictions from the various heads.\n    \"\"\"\n\n    impl = AlphaFoldIteration(self.config, self.global_config)\n    batch_size, num_residues = batch['aatype'].shape\n\n    def get_prev(ret):\n      new_prev = {\n          'prev_pos': ret['structure_module']['final_atom_positions'],\n          'prev_msa_first_row': ret['representations']['msa_first_row'],\n          'prev_pair': ret['representations']['pair'],\n      }\n      return jax.tree.map(jax.lax.stop_gradient, new_prev)\n\n    def do_call(prev, recycle_idx, compute_loss=compute_loss):\n      if self.config.resample_msa_in_recycling:\n        num_ensemble = batch_size // (self.config.num_recycle + 1)\n\n        def slice_recycle_idx(x):\n          start = recycle_idx * num_ensemble\n          size = num_ensemble\n          return jax.lax.dynamic_slice_in_dim(x, start, size, axis=0)\n\n        ensembled_batch = jax.tree.map(slice_recycle_idx, batch)\n      else:\n        num_ensemble = batch_size\n        ensembled_batch = batch\n\n      non_ensembled_batch = jax.tree.map(lambda x: x, prev)\n\n      return impl(\n          ensembled_batch=ensembled_batch,\n          non_ensembled_batch=non_ensembled_batch,\n          is_training=is_training,\n          compute_loss=compute_loss,\n          ensemble_representations=ensemble_representations,\n      )\n\n    prev = {}\n    emb_config = self.config.embeddings_and_evoformer\n    if emb_config.recycle_pos:\n      prev['prev_pos'] = jnp.zeros(\n          [num_residues, residue_constants.atom_type_num, 3]\n      )\n    if emb_config.recycle_features:\n      prev['prev_msa_first_row'] = jnp.zeros(\n          [num_residues, emb_config.msa_channel]\n      )\n      prev['prev_pair'] = jnp.zeros(\n          [num_residues, num_residues, emb_config.pair_channel]\n      )\n\n    if self.config.num_recycle:\n      if 'num_iter_recycling' in batch:\n        # Training time: num_iter_recycling is in batch.\n        # The value for each ensemble batch is the same, so arbitrarily taking\n        # 0-th.\n        num_iter = batch['num_iter_recycling'][0]\n\n        # Add insurance that we will not run more\n        # recyclings than the model is configured to run.\n        num_iter = jnp.minimum(num_iter, self.config.num_recycle)\n      else:\n        # Eval mode or tests: use the maximum number of iterations.\n        num_iter = self.config.num_recycle\n\n      body = lambda x: (\n          x[0] + 1,  # pylint: disable=g-long-lambda\n          get_prev(do_call(x[1], recycle_idx=x[0], compute_loss=False)),\n      )\n      if hk.running_init():\n        # When initializing the Haiku module, run one iteration of the\n        # while_loop to initialize the Haiku modules used in `body`.\n        _, prev = body((0, prev))\n      else:\n        _, prev = hk.while_loop(lambda x: x[0] < num_iter, body, (0, prev))\n    else:\n      num_iter = 0\n\n    ret = do_call(prev=prev, recycle_idx=num_iter)\n    if compute_loss:\n      ret = ret[0], [ret[1]]\n\n    if not return_representations:\n      del (ret[0] if compute_loss else ret)['representations']  # pytype: disable=unsupported-operands\n    return ret\n\n\nclass TemplatePairStack(hk.Module):\n  \"\"\"Pair stack for the templates.\n\n  Jumper et al. (2021) Suppl. Alg. 16 \"TemplatePairStack\"\n  \"\"\"\n\n  def __init__(self, config, global_config, name='template_pair_stack'):\n    super().__init__(name=name)\n    self.config = config\n    self.global_config = global_config\n\n  def __call__(self, pair_act, pair_mask, is_training, safe_key=None):\n    \"\"\"Builds TemplatePairStack module.\n\n    Arguments:\n      pair_act: Pair activations for single template, shape [N_res, N_res, c_t].\n      pair_mask: Pair mask, shape [N_res, N_res].\n      is_training: Whether the module is in training mode.\n      safe_key: Safe key object encapsulating the random number generation key.\n\n    Returns:\n      Updated pair_act, shape [N_res, N_res, c_t].\n    \"\"\"\n\n    if safe_key is None:\n      safe_key = prng.SafeKey(hk.next_rng_key())\n\n    gc = self.global_config\n    c = self.config\n\n    if not c.num_block:\n      return pair_act\n\n    def block(x):\n      \"\"\"One block of the template pair stack.\"\"\"\n      pair_act, safe_key = x\n\n      dropout_wrapper_fn = functools.partial(\n          dropout_wrapper, is_training=is_training, global_config=gc\n      )\n\n      safe_key, *sub_keys = safe_key.split(6)\n      sub_keys = iter(sub_keys)\n\n      pair_act = dropout_wrapper_fn(\n          TriangleAttention(\n              c.triangle_attention_starting_node,\n              gc,\n              name='triangle_attention_starting_node',\n          ),\n          pair_act,\n          pair_mask,\n          next(sub_keys),\n      )\n      pair_act = dropout_wrapper_fn(\n          TriangleAttention(\n              c.triangle_attention_ending_node,\n              gc,\n              name='triangle_attention_ending_node',\n          ),\n          pair_act,\n          pair_mask,\n          next(sub_keys),\n      )\n      pair_act = dropout_wrapper_fn(\n          TriangleMultiplication(\n              c.triangle_multiplication_outgoing,\n              gc,\n              name='triangle_multiplication_outgoing',\n          ),\n          pair_act,\n          pair_mask,\n          next(sub_keys),\n      )\n      pair_act = dropout_wrapper_fn(\n          TriangleMultiplication(\n              c.triangle_multiplication_incoming,\n              gc,\n              name='triangle_multiplication_incoming',\n          ),\n          pair_act,\n          pair_mask,\n          next(sub_keys),\n      )\n      pair_act = dropout_wrapper_fn(\n          Transition(c.pair_transition, gc, name='pair_transition'),\n          pair_act,\n          pair_mask,\n          next(sub_keys),\n      )\n\n      return pair_act, safe_key\n\n    if gc.use_remat:\n      block = hk.remat(block)\n\n    res_stack = layer_stack.layer_stack(c.num_block)(block)\n    pair_act, safe_key = res_stack((pair_act, safe_key))\n    return pair_act\n\n\nclass Transition(hk.Module):\n  \"\"\"Transition layer.\n\n  Jumper et al. (2021) Suppl. Alg. 9 \"MSATransition\"\n  Jumper et al. (2021) Suppl. Alg. 15 \"PairTransition\"\n  \"\"\"\n\n  def __init__(self, config, global_config, name='transition_block'):\n    super().__init__(name=name)\n    self.config = config\n    self.global_config = global_config\n\n  def __call__(self, act, mask, is_training=True):\n    \"\"\"Builds Transition module.\n\n    Arguments:\n      act: A tensor of queries of size [batch_size, N_res, N_channel].\n      mask: A tensor denoting the mask of size [batch_size, N_res].\n      is_training: Whether the module is in training mode.\n\n    Returns:\n      A float32 tensor of size [batch_size, N_res, N_channel].\n    \"\"\"\n    _, _, nc = act.shape\n\n    num_intermediate = int(nc * self.config.num_intermediate_factor)\n    mask = jnp.expand_dims(mask, axis=-1)\n\n    act = common_modules.LayerNorm(\n        axis=[-1],\n        create_scale=True,\n        create_offset=True,\n        name='input_layer_norm',\n    )(act)\n\n    transition_module = hk.Sequential([\n        common_modules.Linear(\n            num_intermediate, initializer='relu', name='transition1'\n        ),\n        jax.nn.relu,\n        common_modules.Linear(\n            nc,\n            initializer=utils.final_init(self.global_config),\n            name='transition2',\n        ),\n    ])\n\n    act = mapping.inference_subbatch(\n        transition_module,\n        self.global_config.subbatch_size,\n        batched_args=[act],\n        nonbatched_args=[],\n        low_memory=not is_training,\n    )\n\n    return act\n\n\ndef glorot_uniform():\n  return hk.initializers.VarianceScaling(\n      scale=1.0, mode='fan_avg', distribution='uniform'\n  )\n\n\nclass Attention(hk.Module):\n  \"\"\"Multihead attention.\"\"\"\n\n  def __init__(self, config, global_config, output_dim, name='attention'):\n    super().__init__(name=name)\n\n    self.config = config\n    self.global_config = global_config\n    self.output_dim = output_dim\n\n  def __call__(self, q_data, m_data, mask, nonbatched_bias=None):\n    \"\"\"Builds Attention module.\n\n    Arguments:\n      q_data: A tensor of queries, shape [batch_size, N_queries, q_channels].\n      m_data: A tensor of memories from which the keys and values are projected,\n        shape [batch_size, N_keys, m_channels].\n      mask: A mask for the attention, shape [batch_size, N_heads, N_queries,\n        N_keys].\n      nonbatched_bias: Shared bias, shape [N_heads, N_queries, N_keys].\n\n    Returns:\n      A float32 tensor of shape [batch_size, N_queries, output_dim].\n    \"\"\"\n    # Sensible default for when the config keys are missing\n    key_dim = self.config.get('key_dim', int(q_data.shape[-1]))\n    value_dim = self.config.get('value_dim', int(m_data.shape[-1]))\n    num_head = self.config.num_head\n    assert key_dim % num_head == 0\n    assert value_dim % num_head == 0\n    key_dim = key_dim // num_head\n    value_dim = value_dim // num_head\n\n    q_weights = hk.get_parameter(\n        'query_w',\n        shape=(q_data.shape[-1], num_head, key_dim),\n        dtype=q_data.dtype,\n        init=glorot_uniform(),\n    )\n    k_weights = hk.get_parameter(\n        'key_w',\n        shape=(m_data.shape[-1], num_head, key_dim),\n        dtype=q_data.dtype,\n        init=glorot_uniform(),\n    )\n    v_weights = hk.get_parameter(\n        'value_w',\n        shape=(m_data.shape[-1], num_head, value_dim),\n        dtype=q_data.dtype,\n        init=glorot_uniform(),\n    )\n\n    q = jnp.einsum('bqa,ahc->bqhc', q_data, q_weights) * key_dim ** (-0.5)\n    k = jnp.einsum('bka,ahc->bkhc', m_data, k_weights)\n    v = jnp.einsum('bka,ahc->bkhc', m_data, v_weights)\n    logits = jnp.einsum('bqhc,bkhc->bhqk', q, k)\n    if nonbatched_bias is not None:\n      logits += jnp.expand_dims(nonbatched_bias, axis=0)\n    logits = jnp.where(mask, logits, _SOFTMAX_MASK)\n    weights = utils.stable_softmax(logits)\n    weighted_avg = jnp.einsum('bhqk,bkhc->bqhc', weights, v)\n\n    if self.global_config.zero_init:\n      init = hk.initializers.Constant(0.0)\n    else:\n      init = glorot_uniform()\n\n    if self.config.gating:\n      gating_weights = hk.get_parameter(\n          'gating_w',\n          shape=(q_data.shape[-1], num_head, value_dim),\n          dtype=q_data.dtype,\n          init=hk.initializers.Constant(0.0),\n      )\n      gating_bias = hk.get_parameter(\n          'gating_b',\n          shape=(num_head, value_dim),\n          dtype=q_data.dtype,\n          init=hk.initializers.Constant(1.0),\n      )\n\n      gate_values = (\n          jnp.einsum('bqc, chv->bqhv', q_data, gating_weights) + gating_bias\n      )\n\n      gate_values = jax.nn.sigmoid(gate_values)\n\n      weighted_avg *= gate_values\n\n    o_weights = hk.get_parameter(\n        'output_w',\n        shape=(num_head, value_dim, self.output_dim),\n        dtype=q_data.dtype,\n        init=init,\n    )\n    o_bias = hk.get_parameter(\n        'output_b',\n        shape=(self.output_dim,),\n        dtype=q_data.dtype,\n        init=hk.initializers.Constant(0.0),\n    )\n\n    output = jnp.einsum('bqhc,hco->bqo', weighted_avg, o_weights) + o_bias\n\n    return output\n\n\nclass GlobalAttention(hk.Module):\n  \"\"\"Global attention.\n\n  Jumper et al. (2021) Suppl. Alg. 19 \"MSAColumnGlobalAttention\" lines 2-7\n  \"\"\"\n\n  def __init__(self, config, global_config, output_dim, name='attention'):\n    super().__init__(name=name)\n\n    self.config = config\n    self.global_config = global_config\n    self.output_dim = output_dim\n\n  def __call__(self, q_data, m_data, q_mask):\n    \"\"\"Builds GlobalAttention module.\n\n    Arguments:\n      q_data: A tensor of queries with size [batch_size, N_queries, q_channels]\n      m_data: A tensor of memories from which the keys and values projected.\n        Size [batch_size, N_keys, m_channels]\n      q_mask: A binary mask for q_data with zeros in the padded sequence\n        elements and ones otherwise. Size [batch_size, N_queries, q_channels]\n        (or broadcastable to this shape).\n\n    Returns:\n      A float32 tensor of size [batch_size, N_queries, output_dim].\n    \"\"\"\n    # Sensible default for when the config keys are missing\n    key_dim = self.config.get('key_dim', int(q_data.shape[-1]))\n    value_dim = self.config.get('value_dim', int(m_data.shape[-1]))\n    num_head = self.config.num_head\n    assert key_dim % num_head == 0\n    assert value_dim % num_head == 0\n    key_dim = key_dim // num_head\n    value_dim = value_dim // num_head\n\n    q_weights = hk.get_parameter(\n        'query_w',\n        shape=(q_data.shape[-1], num_head, key_dim),\n        dtype=q_data.dtype,\n        init=glorot_uniform(),\n    )\n    k_weights = hk.get_parameter(\n        'key_w',\n        shape=(m_data.shape[-1], key_dim),\n        dtype=q_data.dtype,\n        init=glorot_uniform(),\n    )\n    v_weights = hk.get_parameter(\n        'value_w',\n        shape=(m_data.shape[-1], value_dim),\n        dtype=q_data.dtype,\n        init=glorot_uniform(),\n    )\n\n    v = jnp.einsum('bka,ac->bkc', m_data, v_weights)\n\n    q_avg = utils.mask_mean(q_mask, q_data, axis=1)\n\n    q = jnp.einsum('ba,ahc->bhc', q_avg, q_weights) * key_dim ** (-0.5)\n    k = jnp.einsum('bka,ac->bkc', m_data, k_weights)\n    bias = q_mask[:, None, :, 0]\n    logits = jnp.einsum('bhc,bkc->bhk', q, k)\n    logits = jnp.where(bias, logits, _SOFTMAX_MASK)\n    weights = utils.stable_softmax(logits)\n    weighted_avg = jnp.einsum('bhk,bkc->bhc', weights, v)\n\n    if self.global_config.zero_init:\n      init = hk.initializers.Constant(0.0)\n    else:\n      init = glorot_uniform()\n\n    o_weights = hk.get_parameter(\n        'output_w',\n        shape=(num_head, value_dim, self.output_dim),\n        dtype=q_data.dtype,\n        init=init,\n    )\n    o_bias = hk.get_parameter(\n        'output_b',\n        shape=(self.output_dim,),\n        dtype=q_data.dtype,\n        init=hk.initializers.Constant(0.0),\n    )\n\n    if self.config.gating:\n      gating_weights = hk.get_parameter(\n          'gating_w',\n          shape=(q_data.shape[-1], num_head, value_dim),\n          dtype=q_data.dtype,\n          init=hk.initializers.Constant(0.0),\n      )\n      gating_bias = hk.get_parameter(\n          'gating_b',\n          shape=(num_head, value_dim),\n          dtype=q_data.dtype,\n          init=hk.initializers.Constant(1.0),\n      )\n\n      gate_values = jnp.einsum('bqc, chv->bqhv', q_data, gating_weights)\n      gate_values = jax.nn.sigmoid(gate_values + gating_bias)\n      weighted_avg = weighted_avg[:, None] * gate_values\n      output = jnp.einsum('bqhc,hco->bqo', weighted_avg, o_weights) + o_bias\n    else:\n      output = jnp.einsum('bhc,hco->bo', weighted_avg, o_weights) + o_bias\n      output = output[:, None]\n    return output\n\n\nclass MSARowAttentionWithPairBias(hk.Module):\n  \"\"\"MSA per-row attention biased by the pair representation.\n\n  Jumper et al. (2021) Suppl. Alg. 7 \"MSARowAttentionWithPairBias\"\n  \"\"\"\n\n  def __init__(\n      self, config, global_config, name='msa_row_attention_with_pair_bias'\n  ):\n    super().__init__(name=name)\n    self.config = config\n    self.global_config = global_config\n\n  def __call__(self, msa_act, msa_mask, pair_act, is_training=False):\n    \"\"\"Builds MSARowAttentionWithPairBias module.\n\n    Arguments:\n      msa_act: [N_seq, N_res, c_m] MSA representation.\n      msa_mask: [N_seq, N_res] mask of non-padded regions.\n      pair_act: [N_res, N_res, c_z] pair representation.\n      is_training: Whether the module is in training mode.\n\n    Returns:\n      Update to msa_act, shape [N_seq, N_res, c_m].\n    \"\"\"\n    c = self.config\n\n    assert len(msa_act.shape) == 3\n    assert len(msa_mask.shape) == 2\n    assert c.orientation == 'per_row'\n\n    mask = msa_mask[:, None, None, :]\n    assert len(mask.shape) == 4\n\n    msa_act = common_modules.LayerNorm(\n        axis=[-1], create_scale=True, create_offset=True, name='query_norm'\n    )(msa_act)\n\n    pair_act = common_modules.LayerNorm(\n        axis=[-1], create_scale=True, create_offset=True, name='feat_2d_norm'\n    )(pair_act)\n\n    init_factor = 1.0 / jnp.sqrt(int(pair_act.shape[-1]))\n    weights = hk.get_parameter(\n        'feat_2d_weights',\n        shape=(pair_act.shape[-1], c.num_head),\n        dtype=msa_act.dtype,\n        init=hk.initializers.RandomNormal(stddev=init_factor),\n    )\n    nonbatched_bias = jnp.einsum('qkc,ch->hqk', pair_act, weights)\n\n    attn_mod = Attention(c, self.global_config, msa_act.shape[-1])\n    msa_act = mapping.inference_subbatch(\n        attn_mod,\n        self.global_config.subbatch_size,\n        batched_args=[msa_act, msa_act, mask],\n        nonbatched_args=[nonbatched_bias],\n        low_memory=not is_training,\n    )\n\n    return msa_act\n\n\nclass MSAColumnAttention(hk.Module):\n  \"\"\"MSA per-column attention.\n\n  Jumper et al. (2021) Suppl. Alg. 8 \"MSAColumnAttention\"\n  \"\"\"\n\n  def __init__(self, config, global_config, name='msa_column_attention'):\n    super().__init__(name=name)\n    self.config = config\n    self.global_config = global_config\n\n  def __call__(self, msa_act, msa_mask, is_training=False):\n    \"\"\"Builds MSAColumnAttention module.\n\n    Arguments:\n      msa_act: [N_seq, N_res, c_m] MSA representation.\n      msa_mask: [N_seq, N_res] mask of non-padded regions.\n      is_training: Whether the module is in training mode.\n\n    Returns:\n      Update to msa_act, shape [N_seq, N_res, c_m]\n    \"\"\"\n    c = self.config\n\n    assert len(msa_act.shape) == 3\n    assert len(msa_mask.shape) == 2\n    assert c.orientation == 'per_column'\n\n    msa_act = jnp.swapaxes(msa_act, -2, -3)\n    msa_mask = jnp.swapaxes(msa_mask, -1, -2)\n\n    mask = msa_mask[:, None, None, :]\n    assert len(mask.shape) == 4\n\n    msa_act = common_modules.LayerNorm(\n        axis=[-1], create_scale=True, create_offset=True, name='query_norm'\n    )(msa_act)\n\n    attn_mod = Attention(c, self.global_config, msa_act.shape[-1])\n    msa_act = mapping.inference_subbatch(\n        attn_mod,\n        self.global_config.subbatch_size,\n        batched_args=[msa_act, msa_act, mask],\n        nonbatched_args=[],\n        low_memory=not is_training,\n    )\n\n    msa_act = jnp.swapaxes(msa_act, -2, -3)\n\n    return msa_act\n\n\nclass MSAColumnGlobalAttention(hk.Module):\n  \"\"\"MSA per-column global attention.\n\n  Jumper et al. (2021) Suppl. Alg. 19 \"MSAColumnGlobalAttention\"\n  \"\"\"\n\n  def __init__(self, config, global_config, name='msa_column_global_attention'):\n    super().__init__(name=name)\n    self.config = config\n    self.global_config = global_config\n\n  def __call__(self, msa_act, msa_mask, is_training=False):\n    \"\"\"Builds MSAColumnGlobalAttention module.\n\n    Arguments:\n      msa_act: [N_seq, N_res, c_m] MSA representation.\n      msa_mask: [N_seq, N_res] mask of non-padded regions.\n      is_training: Whether the module is in training mode.\n\n    Returns:\n      Update to msa_act, shape [N_seq, N_res, c_m].\n    \"\"\"\n    c = self.config\n\n    assert len(msa_act.shape) == 3\n    assert len(msa_mask.shape) == 2\n    assert c.orientation == 'per_column'\n\n    msa_act = jnp.swapaxes(msa_act, -2, -3)\n    msa_mask = jnp.swapaxes(msa_mask, -1, -2)\n\n    msa_act = common_modules.LayerNorm(\n        axis=[-1], create_scale=True, create_offset=True, name='query_norm'\n    )(msa_act)\n\n    attn_mod = GlobalAttention(\n        c, self.global_config, msa_act.shape[-1], name='attention'\n    )\n    # [N_seq, N_res, 1]\n    msa_mask = jnp.expand_dims(msa_mask, axis=-1)\n    msa_act = mapping.inference_subbatch(\n        attn_mod,\n        self.global_config.subbatch_size,\n        batched_args=[msa_act, msa_act, msa_mask],\n        nonbatched_args=[],\n        low_memory=not is_training,\n    )\n\n    msa_act = jnp.swapaxes(msa_act, -2, -3)\n\n    return msa_act\n\n\nclass TriangleAttention(hk.Module):\n  \"\"\"Triangle Attention.\n\n  Jumper et al. (2021) Suppl. Alg. 13 \"TriangleAttentionStartingNode\"\n  Jumper et al. (2021) Suppl. Alg. 14 \"TriangleAttentionEndingNode\"\n  \"\"\"\n\n  def __init__(self, config, global_config, name='triangle_attention'):\n    super().__init__(name=name)\n    self.config = config\n    self.global_config = global_config\n\n  def __call__(self, pair_act, pair_mask, is_training=False):\n    \"\"\"Builds TriangleAttention module.\n\n    Arguments:\n      pair_act: [N_res, N_res, c_z] pair activations tensor\n      pair_mask: [N_res, N_res] mask of non-padded regions in the tensor.\n      is_training: Whether the module is in training mode.\n\n    Returns:\n      Update to pair_act, shape [N_res, N_res, c_z].\n    \"\"\"\n    c = self.config\n\n    assert len(pair_act.shape) == 3\n    assert len(pair_mask.shape) == 2\n    assert c.orientation in ['per_row', 'per_column']\n\n    if c.orientation == 'per_column':\n      pair_act = jnp.swapaxes(pair_act, -2, -3)\n      pair_mask = jnp.swapaxes(pair_mask, -1, -2)\n\n    mask = pair_mask[:, None, None, :]\n    assert len(mask.shape) == 4\n\n    pair_act = common_modules.LayerNorm(\n        axis=[-1], create_scale=True, create_offset=True, name='query_norm'\n    )(pair_act)\n\n    init_factor = 1.0 / jnp.sqrt(int(pair_act.shape[-1]))\n    weights = hk.get_parameter(\n        'feat_2d_weights',\n        shape=(pair_act.shape[-1], c.num_head),\n        dtype=pair_act.dtype,\n        init=hk.initializers.RandomNormal(stddev=init_factor),\n    )\n    nonbatched_bias = jnp.einsum('qkc,ch->hqk', pair_act, weights)\n\n    attn_mod = Attention(c, self.global_config, pair_act.shape[-1])\n    pair_act = mapping.inference_subbatch(\n        attn_mod,\n        self.global_config.subbatch_size,\n        batched_args=[pair_act, pair_act, mask],\n        nonbatched_args=[nonbatched_bias],\n        low_memory=not is_training,\n    )\n\n    if c.orientation == 'per_column':\n      pair_act = jnp.swapaxes(pair_act, -2, -3)\n\n    return pair_act\n\n\nclass MaskedMsaHead(hk.Module):\n  \"\"\"Head to predict MSA at the masked locations.\n\n  The MaskedMsaHead employs a BERT-style objective to reconstruct a masked\n  version of the full MSA, based on a linear projection of\n  the MSA representation.\n  Jumper et al. (2021) Suppl. Sec. 1.9.9 \"Masked MSA prediction\"\n  \"\"\"\n\n  def __init__(self, config, global_config, name='masked_msa_head'):\n    super().__init__(name=name)\n    self.config = config\n    self.global_config = global_config\n\n    if global_config.multimer_mode:\n      self.num_output = len(residue_constants.restypes_with_x_and_gap)\n    else:\n      self.num_output = config.num_output\n\n  def __call__(self, representations, batch, is_training):\n    \"\"\"Builds MaskedMsaHead module.\n\n    Arguments:\n      representations: Dictionary of representations, must contain: * 'msa': MSA\n        representation, shape [N_seq, N_res, c_m].\n      batch: Batch, unused.\n      is_training: Whether the module is in training mode.\n\n    Returns:\n      Dictionary containing:\n        * 'logits': logits of shape [N_seq, N_res, N_aatype] with\n            (unnormalized) log probabilities of predicted aatype at position.\n    \"\"\"\n    del batch\n    logits = common_modules.Linear(\n        self.num_output,\n        initializer=utils.final_init(self.global_config),\n        name='logits',\n    )(representations['msa'])\n    return dict(logits=logits)\n\n  def loss(self, value, batch):\n    errors = softmax_cross_entropy(\n        labels=jax.nn.one_hot(batch['true_msa'], num_classes=self.num_output),\n        logits=value['logits'],\n    )\n    loss = jnp.sum(errors * batch['bert_mask'], axis=(-2, -1)) / (\n        1e-8 + jnp.sum(batch['bert_mask'], axis=(-2, -1))\n    )\n    return {'loss': loss}\n\n\nclass PredictedLDDTHead(hk.Module):\n  \"\"\"Head to predict the per-residue LDDT to be used as a confidence measure.\n\n  Jumper et al. (2021) Suppl. Sec. 1.9.6 \"Model confidence prediction (pLDDT)\"\n  Jumper et al. (2021) Suppl. Alg. 29 \"predictPerResidueLDDT_Ca\"\n  \"\"\"\n\n  def __init__(self, config, global_config, name='predicted_lddt_head'):\n    super().__init__(name=name)\n    self.config = config\n    self.global_config = global_config\n\n  def __call__(self, representations, batch, is_training):\n    \"\"\"Builds PredictedLDDTHead module.\n\n    Arguments:\n      representations: Dictionary of representations, must contain: *\n        'structure_module': Single representation from the structure module,\n        shape [N_res, c_s].\n      batch: Batch, unused.\n      is_training: Whether the module is in training mode.\n\n    Returns:\n      Dictionary containing :\n        * 'logits': logits of shape [N_res, N_bins] with\n            (unnormalized) log probabilities of binned predicted lDDT.\n    \"\"\"\n    act = representations['structure_module']\n\n    act = common_modules.LayerNorm(\n        axis=[-1],\n        create_scale=True,\n        create_offset=True,\n        name='input_layer_norm',\n    )(act)\n\n    act = common_modules.Linear(\n        self.config.num_channels, initializer='relu', name='act_0'\n    )(act)\n    act = jax.nn.relu(act)\n\n    act = common_modules.Linear(\n        self.config.num_channels, initializer='relu', name='act_1'\n    )(act)\n    act = jax.nn.relu(act)\n\n    logits = common_modules.Linear(\n        self.config.num_bins,\n        initializer=utils.final_init(self.global_config),\n        name='logits',\n    )(act)\n    # Shape (batch_size, num_res, num_bins)\n    return dict(logits=logits)\n\n  def loss(self, value, batch):\n    # Shape (num_res, 37, 3)\n    pred_all_atom_pos = value['structure_module']['final_atom_positions']\n    # Shape (num_res, 37, 3)\n    true_all_atom_pos = batch['all_atom_positions']\n    # Shape (num_res, 37)\n    all_atom_mask = batch['all_atom_mask']\n\n    # Shape (num_res,)\n    lddt_ca = lddt.lddt(\n        # Shape (batch_size, num_res, 3)\n        predicted_points=pred_all_atom_pos[None, :, 1, :],\n        # Shape (batch_size, num_res, 3)\n        true_points=true_all_atom_pos[None, :, 1, :],\n        # Shape (batch_size, num_res, 1)\n        true_points_mask=all_atom_mask[None, :, 1:2].astype(jnp.float32),\n        cutoff=15.0,\n        per_residue=True,\n    )\n    lddt_ca = jax.lax.stop_gradient(lddt_ca)\n\n    num_bins = self.config.num_bins\n    bin_index = jnp.floor(lddt_ca * num_bins).astype(jnp.int32)\n\n    # protect against out of range for lddt_ca == 1\n    bin_index = jnp.minimum(bin_index, num_bins - 1)\n    lddt_ca_one_hot = jax.nn.one_hot(bin_index, num_classes=num_bins)\n\n    # Shape (num_res, num_channel)\n    logits = value['predicted_lddt']['logits']\n    errors = softmax_cross_entropy(labels=lddt_ca_one_hot, logits=logits)\n\n    # Shape (num_res,)\n    mask_ca = all_atom_mask[:, residue_constants.atom_order['CA']]\n    mask_ca = mask_ca.astype(jnp.float32)\n    loss = jnp.sum(errors * mask_ca) / (jnp.sum(mask_ca) + 1e-8)\n\n    if self.config.filter_by_resolution:\n      # NMR & distillation have resolution = 0\n      loss *= (\n          (batch['resolution'] >= self.config.min_resolution)\n          & (batch['resolution'] <= self.config.max_resolution)\n      ).astype(jnp.float32)\n\n    output = {'loss': loss}\n    return output\n\n\nclass PredictedAlignedErrorHead(hk.Module):\n  \"\"\"Head to predict the distance errors in the backbone alignment frames.\n\n  Can be used to compute predicted TM-Score.\n  Jumper et al. (2021) Suppl. Sec. 1.9.7 \"TM-score prediction\"\n  \"\"\"\n\n  def __init__(\n      self, config, global_config, name='predicted_aligned_error_head'\n  ):\n    super().__init__(name=name)\n    self.config = config\n    self.global_config = global_config\n\n  def __call__(self, representations, batch, is_training):\n    \"\"\"Builds PredictedAlignedErrorHead module.\n\n    Arguments:\n      representations: Dictionary of representations, must contain: * 'pair':\n        pair representation, shape [N_res, N_res, c_z].\n      batch: Batch, unused.\n      is_training: Whether the module is in training mode.\n\n    Returns:\n      Dictionary containing:\n        * logits: logits for aligned error, shape [N_res, N_res, N_bins].\n        * bin_breaks: array containing bin breaks, shape [N_bins - 1].\n    \"\"\"\n\n    act = representations['pair']\n\n    # Shape (num_res, num_res, num_bins)\n    logits = common_modules.Linear(\n        self.config.num_bins,\n        initializer=utils.final_init(self.global_config),\n        name='logits',\n    )(act)\n    # Shape (num_bins,)\n    breaks = jnp.linspace(\n        0.0, self.config.max_error_bin, self.config.num_bins - 1\n    )\n    return dict(logits=logits, breaks=breaks)\n\n  def loss(self, value, batch):\n    # Shape (num_res, 7)\n    predicted_affine = quat_affine.QuatAffine.from_tensor(\n        value['structure_module']['final_affines']\n    )\n    # Shape (num_res, 7)\n    true_affine = quat_affine.QuatAffine.from_tensor(\n        batch['backbone_affine_tensor']\n    )\n    # Shape (num_res)\n    mask = batch['backbone_affine_mask']\n    # Shape (num_res, num_res)\n    square_mask = mask[:, None] * mask[None, :]\n    num_bins = self.config.num_bins\n    # (1, num_bins - 1)\n    breaks = value['predicted_aligned_error']['breaks']\n    # (1, num_bins)\n    logits = value['predicted_aligned_error']['logits']\n\n    # Compute the squared error for each alignment.\n    def _local_frame_points(affine):\n      points = [jnp.expand_dims(x, axis=-2) for x in affine.translation]\n      return affine.invert_point(points, extra_dims=1)\n\n    error_dist2_xyz = [\n        jnp.square(a - b)\n        for a, b in zip(\n            _local_frame_points(predicted_affine),\n            _local_frame_points(true_affine),\n        )\n    ]\n    error_dist2 = sum(error_dist2_xyz)\n    # Shape (num_res, num_res)\n    # First num_res are alignment frames, second num_res are the residues.\n    error_dist2 = jax.lax.stop_gradient(error_dist2)\n\n    sq_breaks = jnp.square(breaks)\n    true_bins = jnp.sum(\n        (error_dist2[..., None] > sq_breaks).astype(jnp.int32), axis=-1\n    )\n\n    errors = softmax_cross_entropy(\n        labels=jax.nn.one_hot(true_bins, num_bins, axis=-1), logits=logits\n    )\n\n    loss = jnp.sum(errors * square_mask, axis=(-2, -1)) / (\n        1e-8 + jnp.sum(square_mask, axis=(-2, -1))\n    )\n\n    if self.config.filter_by_resolution:\n      # NMR & distillation have resolution = 0\n      loss *= (\n          (batch['resolution'] >= self.config.min_resolution)\n          & (batch['resolution'] <= self.config.max_resolution)\n      ).astype(jnp.float32)\n\n    output = {'loss': loss}\n    return output\n\n\nclass ExperimentallyResolvedHead(hk.Module):\n  \"\"\"Predicts if an atom is experimentally resolved in a high-res structure.\n\n  Only trained on high-resolution X-ray crystals & cryo-EM.\n  Jumper et al. (2021) Suppl. Sec. 1.9.10 '\"Experimentally resolved\" prediction'\n  \"\"\"\n\n  def __init__(\n      self, config, global_config, name='experimentally_resolved_head'\n  ):\n    super().__init__(name=name)\n    self.config = config\n    self.global_config = global_config\n\n  def __call__(self, representations, batch, is_training):\n    \"\"\"Builds ExperimentallyResolvedHead module.\n\n    Arguments:\n      representations: Dictionary of representations, must contain: * 'single':\n        Single representation, shape [N_res, c_s].\n      batch: Batch, unused.\n      is_training: Whether the module is in training mode.\n\n    Returns:\n      Dictionary containing:\n        * 'logits': logits of shape [N_res, 37],\n            log probability that an atom is resolved in atom37 representation,\n            can be converted to probability by applying sigmoid.\n    \"\"\"\n    logits = common_modules.Linear(\n        37,  # atom_exists.shape[-1]\n        initializer=utils.final_init(self.global_config),\n        name='logits',\n    )(representations['single'])\n    return dict(logits=logits)\n\n  def loss(self, value, batch):\n    logits = value['logits']\n    assert len(logits.shape) == 2\n\n    # Does the atom appear in the amino acid?\n    atom_exists = batch['atom37_atom_exists']\n    # Is the atom resolved in the experiment? Subset of atom_exists,\n    # *except for OXT*\n    all_atom_mask = batch['all_atom_mask'].astype(jnp.float32)\n\n    xent = sigmoid_cross_entropy(labels=all_atom_mask, logits=logits)\n    loss = jnp.sum(xent * atom_exists) / (1e-8 + jnp.sum(atom_exists))\n\n    if self.config.filter_by_resolution:\n      # NMR & distillation examples have resolution = 0.\n      loss *= (\n          (batch['resolution'] >= self.config.min_resolution)\n          & (batch['resolution'] <= self.config.max_resolution)\n      ).astype(jnp.float32)\n\n    output = {'loss': loss}\n    return output\n\n\ndef _layer_norm(axis=-1, name='layer_norm'):\n  return common_modules.LayerNorm(\n      axis=axis,\n      create_scale=True,\n      create_offset=True,\n      eps=1e-5,\n      use_fast_variance=True,\n      scale_init=hk.initializers.Constant(1.0),\n      offset_init=hk.initializers.Constant(0.0),\n      param_axis=axis,\n      name=name,\n  )\n\n\nclass TriangleMultiplication(hk.Module):\n  \"\"\"Triangle multiplication layer (\"outgoing\" or \"incoming\").\n\n  Jumper et al. (2021) Suppl. Alg. 11 \"TriangleMultiplicationOutgoing\"\n  Jumper et al. (2021) Suppl. Alg. 12 \"TriangleMultiplicationIncoming\"\n  \"\"\"\n\n  def __init__(self, config, global_config, name='triangle_multiplication'):\n    super().__init__(name=name)\n    self.config = config\n    self.global_config = global_config\n\n  def __call__(self, left_act, left_mask, is_training=True):\n    \"\"\"Builds TriangleMultiplication module.\n\n    Arguments:\n      left_act: Pair activations, shape [N_res, N_res, c_z]\n      left_mask: Pair mask, shape [N_res, N_res].\n      is_training: Whether the module is in training mode.\n\n    Returns:\n      Outputs, same shape/type as left_act.\n    \"\"\"\n    del is_training\n\n    if self.config.fuse_projection_weights:\n      return self._fused_triangle_multiplication(left_act, left_mask)\n    else:\n      return self._triangle_multiplication(left_act, left_mask)\n\n  @hk.transparent\n  def _triangle_multiplication(self, left_act, left_mask):\n    \"\"\"Implementation of TriangleMultiplication used in AF2 and AF-M<2.3.\"\"\"\n    c = self.config\n    gc = self.global_config\n\n    mask = left_mask[..., None]\n\n    act = common_modules.LayerNorm(\n        axis=[-1],\n        create_scale=True,\n        create_offset=True,\n        name='layer_norm_input',\n    )(left_act)\n    input_act = act\n\n    left_projection = common_modules.Linear(\n        c.num_intermediate_channel, name='left_projection'\n    )\n    left_proj_act = mask * left_projection(act)\n\n    right_projection = common_modules.Linear(\n        c.num_intermediate_channel, name='right_projection'\n    )\n    right_proj_act = mask * right_projection(act)\n\n    left_gate_values = jax.nn.sigmoid(\n        common_modules.Linear(\n            c.num_intermediate_channel,\n            bias_init=1.0,\n            initializer=utils.final_init(gc),\n            name='left_gate',\n        )(act)\n    )\n\n    right_gate_values = jax.nn.sigmoid(\n        common_modules.Linear(\n            c.num_intermediate_channel,\n            bias_init=1.0,\n            initializer=utils.final_init(gc),\n            name='right_gate',\n        )(act)\n    )\n\n    left_proj_act *= left_gate_values\n    right_proj_act *= right_gate_values\n\n    # \"Outgoing\" edges equation: 'ikc,jkc->ijc'\n    # \"Incoming\" edges equation: 'kjc,kic->ijc'\n    # Note on the Suppl. Alg. 11 & 12 notation:\n    # For the \"outgoing\" edges, a = left_proj_act and b = right_proj_act\n    # For the \"incoming\" edges, it's swapped:\n    #   b = left_proj_act and a = right_proj_act\n    act = jnp.einsum(c.equation, left_proj_act, right_proj_act)\n\n    act = common_modules.LayerNorm(\n        axis=[-1],\n        create_scale=True,\n        create_offset=True,\n        name='center_layer_norm',\n    )(act)\n\n    output_channel = int(input_act.shape[-1])\n\n    act = common_modules.Linear(\n        output_channel,\n        initializer=utils.final_init(gc),\n        name='output_projection',\n    )(act)\n\n    gate_values = jax.nn.sigmoid(\n        common_modules.Linear(\n            output_channel,\n            bias_init=1.0,\n            initializer=utils.final_init(gc),\n            name='gating_linear',\n        )(input_act)\n    )\n    act *= gate_values\n\n    return act\n\n  @hk.transparent\n  def _fused_triangle_multiplication(self, left_act, left_mask):\n    \"\"\"TriangleMultiplication with fused projection weights.\"\"\"\n    mask = left_mask[..., None]\n    c = self.config\n    gc = self.global_config\n\n    left_act = _layer_norm(axis=-1, name='left_norm_input')(left_act)\n\n    # Both left and right projections are fused into projection.\n    projection = common_modules.Linear(\n        2 * c.num_intermediate_channel, name='projection'\n    )\n    proj_act = mask * projection(left_act)\n\n    # Both left + right gate are fused into gate_values.\n    gate_values = common_modules.Linear(\n        2 * c.num_intermediate_channel,\n        name='gate',\n        bias_init=1.0,\n        initializer=utils.final_init(gc),\n    )(left_act)\n    proj_act *= jax.nn.sigmoid(gate_values)\n\n    left_proj_act = proj_act[:, :, : c.num_intermediate_channel]\n    right_proj_act = proj_act[:, :, c.num_intermediate_channel :]\n    act = jnp.einsum(c.equation, left_proj_act, right_proj_act)\n\n    act = _layer_norm(axis=-1, name='center_norm')(act)\n\n    output_channel = int(left_act.shape[-1])\n\n    act = common_modules.Linear(\n        output_channel,\n        initializer=utils.final_init(gc),\n        name='output_projection',\n    )(act)\n\n    gate_values = common_modules.Linear(\n        output_channel,\n        bias_init=1.0,\n        initializer=utils.final_init(gc),\n        name='gating_linear',\n    )(left_act)\n    act *= jax.nn.sigmoid(gate_values)\n\n    return act\n\n\nclass DistogramHead(hk.Module):\n  \"\"\"Head to predict a distogram.\n\n  Jumper et al. (2021) Suppl. Sec. 1.9.8 \"Distogram prediction\"\n  \"\"\"\n\n  def __init__(self, config, global_config, name='distogram_head'):\n    super().__init__(name=name)\n    self.config = config\n    self.global_config = global_config\n\n  def __call__(self, representations, batch, is_training):\n    \"\"\"Builds DistogramHead module.\n\n    Arguments:\n      representations: Dictionary of representations, must contain: * 'pair':\n        pair representation, shape [N_res, N_res, c_z].\n      batch: Batch, unused.\n      is_training: Whether the module is in training mode.\n\n    Returns:\n      Dictionary containing:\n        * logits: logits for distogram, shape [N_res, N_res, N_bins].\n        * bin_breaks: array containing bin breaks, shape [N_bins - 1,].\n    \"\"\"\n    half_logits = common_modules.Linear(\n        self.config.num_bins,\n        initializer=utils.final_init(self.global_config),\n        name='half_logits',\n    )(representations['pair'])\n\n    logits = half_logits + jnp.swapaxes(half_logits, -2, -3)\n    breaks = jnp.linspace(\n        self.config.first_break,\n        self.config.last_break,\n        self.config.num_bins - 1,\n    )\n\n    return dict(logits=logits, bin_edges=breaks)\n\n  def loss(self, value, batch):\n    return _distogram_log_loss(\n        value['logits'], value['bin_edges'], batch, self.config.num_bins\n    )\n\n\ndef _distogram_log_loss(logits, bin_edges, batch, num_bins):\n  \"\"\"Log loss of a distogram.\"\"\"\n\n  assert len(logits.shape) == 3\n  positions = batch['pseudo_beta']\n  mask = batch['pseudo_beta_mask']\n\n  assert positions.shape[-1] == 3\n\n  sq_breaks = jnp.square(bin_edges)\n\n  dist2 = jnp.sum(\n      jnp.square(\n          jnp.expand_dims(positions, axis=-2)\n          - jnp.expand_dims(positions, axis=-3)\n      ),\n      axis=-1,\n      keepdims=True,\n  )\n\n  true_bins = jnp.sum(dist2 > sq_breaks, axis=-1)\n\n  errors = softmax_cross_entropy(\n      labels=jax.nn.one_hot(true_bins, num_bins), logits=logits\n  )\n\n  square_mask = jnp.expand_dims(mask, axis=-2) * jnp.expand_dims(mask, axis=-1)\n\n  avg_error = jnp.sum(errors * square_mask, axis=(-2, -1)) / (\n      1e-6 + jnp.sum(square_mask, axis=(-2, -1))\n  )\n  dist2 = dist2[..., 0]\n  return dict(loss=avg_error, true_dist=jnp.sqrt(1e-6 + dist2))\n\n\nclass OuterProductMean(hk.Module):\n  \"\"\"Computes mean outer product.\n\n  Jumper et al. (2021) Suppl. Alg. 10 \"OuterProductMean\"\n  \"\"\"\n\n  def __init__(\n      self, config, global_config, num_output_channel, name='outer_product_mean'\n  ):\n    super().__init__(name=name)\n    self.global_config = global_config\n    self.config = config\n    self.num_output_channel = num_output_channel\n\n  def __call__(self, act, mask, is_training=True):\n    \"\"\"Builds OuterProductMean module.\n\n    Arguments:\n      act: MSA representation, shape [N_seq, N_res, c_m].\n      mask: MSA mask, shape [N_seq, N_res].\n      is_training: Whether the module is in training mode.\n\n    Returns:\n      Update to pair representation, shape [N_res, N_res, c_z].\n    \"\"\"\n    gc = self.global_config\n    c = self.config\n\n    mask = mask[..., None]\n    act = common_modules.LayerNorm([-1], True, True, name='layer_norm_input')(\n        act\n    )\n\n    left_act = mask * common_modules.Linear(\n        c.num_outer_channel, initializer='linear', name='left_projection'\n    )(act)\n\n    right_act = mask * common_modules.Linear(\n        c.num_outer_channel, initializer='linear', name='right_projection'\n    )(act)\n\n    if gc.zero_init:\n      init_w = hk.initializers.Constant(0.0)\n    else:\n      init_w = hk.initializers.VarianceScaling(scale=2.0, mode='fan_in')\n\n    output_w = hk.get_parameter(\n        'output_w',\n        shape=(\n            c.num_outer_channel,\n            c.num_outer_channel,\n            self.num_output_channel,\n        ),\n        dtype=act.dtype,\n        init=init_w,\n    )\n    output_b = hk.get_parameter(\n        'output_b',\n        shape=(self.num_output_channel,),\n        dtype=act.dtype,\n        init=hk.initializers.Constant(0.0),\n    )\n\n    def compute_chunk(left_act):\n      # This is equivalent to\n      #\n      # act = jnp.einsum('abc,ade->dceb', left_act, right_act)\n      # act = jnp.einsum('dceb,cef->bdf', act, output_w) + output_b\n      #\n      # but faster.\n      left_act = jnp.transpose(left_act, [0, 2, 1])\n      act = jnp.einsum('acb,ade->dceb', left_act, right_act)\n      act = jnp.einsum('dceb,cef->dbf', act, output_w) + output_b\n      return jnp.transpose(act, [1, 0, 2])\n\n    act = mapping.inference_subbatch(\n        compute_chunk,\n        c.chunk_size,\n        batched_args=[left_act],\n        nonbatched_args=[],\n        low_memory=True,\n        input_subbatch_dim=1,\n        output_subbatch_dim=0,\n    )\n\n    epsilon = 1e-3\n    norm = jnp.einsum('abc,adc->bdc', mask, mask)\n    act /= epsilon + norm\n\n    return act\n\n\ndef dgram_from_positions(positions, num_bins, min_bin, max_bin):\n  \"\"\"Compute distogram from amino acid positions.\n\n  Arguments:\n    positions: [N_res, 3] Position coordinates.\n    num_bins: The number of bins in the distogram.\n    min_bin: The left edge of the first bin.\n    max_bin: The left edge of the final bin. The final bin catches everything\n      larger than `max_bin`.\n\n  Returns:\n    Distogram with the specified number of bins.\n  \"\"\"\n\n  def squared_difference(x, y):\n    return jnp.square(x - y)\n\n  lower_breaks = jnp.linspace(min_bin, max_bin, num_bins)\n  lower_breaks = jnp.square(lower_breaks)\n  upper_breaks = jnp.concatenate(\n      [lower_breaks[1:], jnp.array([1e8], dtype=jnp.float32)], axis=-1\n  )\n  dist2 = jnp.sum(\n      squared_difference(\n          jnp.expand_dims(positions, axis=-2),\n          jnp.expand_dims(positions, axis=-3),\n      ),\n      axis=-1,\n      keepdims=True,\n  )\n\n  dgram = (dist2 > lower_breaks).astype(jnp.float32) * (\n      dist2 < upper_breaks\n  ).astype(jnp.float32)\n  return dgram\n\n\ndef pseudo_beta_fn(aatype, all_atom_positions, all_atom_masks):\n  \"\"\"Create pseudo beta features.\"\"\"\n\n  is_gly = jnp.equal(aatype, residue_constants.restype_order['G'])\n  ca_idx = residue_constants.atom_order['CA']\n  cb_idx = residue_constants.atom_order['CB']\n  pseudo_beta = jnp.where(\n      jnp.tile(is_gly[..., None], [1] * len(is_gly.shape) + [3]),\n      all_atom_positions[..., ca_idx, :],\n      all_atom_positions[..., cb_idx, :],\n  )\n\n  if all_atom_masks is not None:\n    pseudo_beta_mask = jnp.where(\n        is_gly, all_atom_masks[..., ca_idx], all_atom_masks[..., cb_idx]\n    )\n    pseudo_beta_mask = pseudo_beta_mask.astype(jnp.float32)\n    return pseudo_beta, pseudo_beta_mask\n  else:\n    return pseudo_beta\n\n\nclass EvoformerIteration(hk.Module):\n  \"\"\"Single iteration (block) of Evoformer stack.\n\n  Jumper et al. (2021) Suppl. Alg. 6 \"EvoformerStack\" lines 2-10\n  \"\"\"\n\n  def __init__(\n      self, config, global_config, is_extra_msa, name='evoformer_iteration'\n  ):\n    super().__init__(name=name)\n    self.config = config\n    self.global_config = global_config\n    self.is_extra_msa = is_extra_msa\n\n  def __call__(self, activations, masks, is_training=True, safe_key=None):\n    \"\"\"Builds EvoformerIteration module.\n\n    Arguments:\n      activations: Dictionary containing activations: * 'msa': MSA activations,\n        shape [N_seq, N_res, c_m]. * 'pair': pair activations, shape [N_res,\n        N_res, c_z].\n      masks: Dictionary of masks: * 'msa': MSA mask, shape [N_seq, N_res]. *\n        'pair': pair mask, shape [N_res, N_res].\n      is_training: Whether the module is in training mode.\n      safe_key: prng.SafeKey encapsulating rng key.\n\n    Returns:\n      Outputs, same shape/type as act.\n    \"\"\"\n    c = self.config\n    gc = self.global_config\n\n    msa_act, pair_act = activations['msa'], activations['pair']\n\n    if safe_key is None:\n      safe_key = prng.SafeKey(hk.next_rng_key())\n\n    msa_mask, pair_mask = masks['msa'], masks['pair']\n\n    dropout_wrapper_fn = functools.partial(\n        dropout_wrapper, is_training=is_training, global_config=gc\n    )\n\n    safe_key, *sub_keys = safe_key.split(10)\n    sub_keys = iter(sub_keys)\n\n    outer_module = OuterProductMean(\n        config=c.outer_product_mean,\n        global_config=self.global_config,\n        num_output_channel=int(pair_act.shape[-1]),\n        name='outer_product_mean',\n    )\n    if c.outer_product_mean.first:\n      pair_act = dropout_wrapper_fn(\n          outer_module,\n          msa_act,\n          msa_mask,\n          safe_key=next(sub_keys),\n          output_act=pair_act,\n      )\n\n    msa_act = dropout_wrapper_fn(\n        MSARowAttentionWithPairBias(\n            c.msa_row_attention_with_pair_bias,\n            gc,\n            name='msa_row_attention_with_pair_bias',\n        ),\n        msa_act,\n        msa_mask,\n        safe_key=next(sub_keys),\n        pair_act=pair_act,\n    )\n\n    if not self.is_extra_msa:\n      attn_mod = MSAColumnAttention(\n          c.msa_column_attention, gc, name='msa_column_attention'\n      )\n    else:\n      attn_mod = MSAColumnGlobalAttention(\n          c.msa_column_attention, gc, name='msa_column_global_attention'\n      )\n    msa_act = dropout_wrapper_fn(\n        attn_mod, msa_act, msa_mask, safe_key=next(sub_keys)\n    )\n\n    msa_act = dropout_wrapper_fn(\n        Transition(c.msa_transition, gc, name='msa_transition'),\n        msa_act,\n        msa_mask,\n        safe_key=next(sub_keys),\n    )\n\n    if not c.outer_product_mean.first:\n      pair_act = dropout_wrapper_fn(\n          outer_module,\n          msa_act,\n          msa_mask,\n          safe_key=next(sub_keys),\n          output_act=pair_act,\n      )\n\n    pair_act = dropout_wrapper_fn(\n        TriangleMultiplication(\n            c.triangle_multiplication_outgoing,\n            gc,\n            name='triangle_multiplication_outgoing',\n        ),\n        pair_act,\n        pair_mask,\n        safe_key=next(sub_keys),\n    )\n    pair_act = dropout_wrapper_fn(\n        TriangleMultiplication(\n            c.triangle_multiplication_incoming,\n            gc,\n            name='triangle_multiplication_incoming',\n        ),\n        pair_act,\n        pair_mask,\n        safe_key=next(sub_keys),\n    )\n\n    pair_act = dropout_wrapper_fn(\n        TriangleAttention(\n            c.triangle_attention_starting_node,\n            gc,\n            name='triangle_attention_starting_node',\n        ),\n        pair_act,\n        pair_mask,\n        safe_key=next(sub_keys),\n    )\n    pair_act = dropout_wrapper_fn(\n        TriangleAttention(\n            c.triangle_attention_ending_node,\n            gc,\n            name='triangle_attention_ending_node',\n        ),\n        pair_act,\n        pair_mask,\n        safe_key=next(sub_keys),\n    )\n\n    pair_act = dropout_wrapper_fn(\n        Transition(c.pair_transition, gc, name='pair_transition'),\n        pair_act,\n        pair_mask,\n        safe_key=next(sub_keys),\n    )\n\n    return {'msa': msa_act, 'pair': pair_act}\n\n\nclass EmbeddingsAndEvoformer(hk.Module):\n  \"\"\"Embeds the input data and runs Evoformer.\n\n  Produces the MSA, single and pair representations.\n  Jumper et al. (2021) Suppl. Alg. 2 \"Inference\" line 5-18\n  \"\"\"\n\n  def __init__(self, config, global_config, name='evoformer'):\n    super().__init__(name=name)\n    self.config = config\n    self.global_config = global_config\n\n  def __call__(self, batch, is_training, safe_key=None):\n\n    c = self.config\n    gc = self.global_config\n\n    if safe_key is None:\n      safe_key = prng.SafeKey(hk.next_rng_key())\n\n    # Embed clustered MSA.\n    # Jumper et al. (2021) Suppl. Alg. 2 \"Inference\" line 5\n    # Jumper et al. (2021) Suppl. Alg. 3 \"InputEmbedder\"\n    preprocess_1d = common_modules.Linear(c.msa_channel, name='preprocess_1d')(\n        batch['target_feat']\n    )\n\n    preprocess_msa = common_modules.Linear(\n        c.msa_channel, name='preprocess_msa'\n    )(batch['msa_feat'])\n\n    msa_activations = jnp.expand_dims(preprocess_1d, axis=0) + preprocess_msa\n\n    left_single = common_modules.Linear(c.pair_channel, name='left_single')(\n        batch['target_feat']\n    )\n    right_single = common_modules.Linear(c.pair_channel, name='right_single')(\n        batch['target_feat']\n    )\n    pair_activations = left_single[:, None] + right_single[None]\n    mask_2d = batch['seq_mask'][:, None] * batch['seq_mask'][None, :]\n\n    # Inject previous outputs for recycling.\n    # Jumper et al. (2021) Suppl. Alg. 2 \"Inference\" line 6\n    # Jumper et al. (2021) Suppl. Alg. 32 \"RecyclingEmbedder\"\n    if c.recycle_pos:\n      prev_pseudo_beta = pseudo_beta_fn(\n          batch['aatype'], batch['prev_pos'], None\n      )\n      dgram = dgram_from_positions(prev_pseudo_beta, **self.config.prev_pos)\n      pair_activations += common_modules.Linear(\n          c.pair_channel, name='prev_pos_linear'\n      )(dgram)\n\n    if c.recycle_features:\n      prev_msa_first_row = common_modules.LayerNorm(\n          axis=[-1],\n          create_scale=True,\n          create_offset=True,\n          name='prev_msa_first_row_norm',\n      )(batch['prev_msa_first_row'])\n      msa_activations = msa_activations.at[0].add(prev_msa_first_row)\n\n      pair_activations += common_modules.LayerNorm(\n          axis=[-1],\n          create_scale=True,\n          create_offset=True,\n          name='prev_pair_norm',\n      )(batch['prev_pair'])\n\n    # Relative position encoding.\n    # Jumper et al. (2021) Suppl. Alg. 4 \"relpos\"\n    # Jumper et al. (2021) Suppl. Alg. 5 \"one_hot\"\n    if c.max_relative_feature:\n      # Add one-hot-encoded clipped residue distances to the pair activations.\n      pos = batch['residue_index']\n      offset = pos[:, None] - pos[None, :]\n      rel_pos = jax.nn.one_hot(\n          jnp.clip(\n              offset + c.max_relative_feature,\n              a_min=0,\n              a_max=2 * c.max_relative_feature,\n          ),\n          2 * c.max_relative_feature + 1,\n      )\n      pair_activations += common_modules.Linear(\n          c.pair_channel, name='pair_activiations'\n      )(rel_pos)\n\n    # Embed templates into the pair activations.\n    # Jumper et al. (2021) Suppl. Alg. 2 \"Inference\" lines 9-13\n    if c.template.enabled:\n      template_batch = {k: batch[k] for k in batch if k.startswith('template_')}\n      template_pair_representation = TemplateEmbedding(c.template, gc)(\n          pair_activations, template_batch, mask_2d, is_training=is_training\n      )\n\n      pair_activations += template_pair_representation\n\n    # Embed extra MSA features.\n    # Jumper et al. (2021) Suppl. Alg. 2 \"Inference\" lines 14-16\n    extra_msa_feat = create_extra_msa_feature(batch)\n    extra_msa_activations = common_modules.Linear(\n        c.extra_msa_channel, name='extra_msa_activations'\n    )(extra_msa_feat)\n\n    # Extra MSA Stack.\n    # Jumper et al. (2021) Suppl. Alg. 18 \"ExtraMsaStack\"\n    extra_msa_stack_input = {\n        'msa': extra_msa_activations,\n        'pair': pair_activations,\n    }\n\n    extra_msa_stack_iteration = EvoformerIteration(\n        c.evoformer, gc, is_extra_msa=True, name='extra_msa_stack'\n    )\n\n    def extra_msa_stack_fn(x):\n      act, safe_key = x\n      safe_key, safe_subkey = safe_key.split()\n      extra_evoformer_output = extra_msa_stack_iteration(\n          activations=act,\n          masks={'msa': batch['extra_msa_mask'], 'pair': mask_2d},\n          is_training=is_training,\n          safe_key=safe_subkey,\n      )\n      return (extra_evoformer_output, safe_key)\n\n    if gc.use_remat:\n      extra_msa_stack_fn = hk.remat(extra_msa_stack_fn)\n\n    extra_msa_stack = layer_stack.layer_stack(c.extra_msa_stack_num_block)(\n        extra_msa_stack_fn\n    )\n    extra_msa_output, safe_key = extra_msa_stack(\n        (extra_msa_stack_input, safe_key)\n    )\n\n    pair_activations = extra_msa_output['pair']\n\n    evoformer_input = {\n        'msa': msa_activations,\n        'pair': pair_activations,\n    }\n\n    evoformer_masks = {'msa': batch['msa_mask'], 'pair': mask_2d}\n\n    # Append num_templ rows to msa_activations with template embeddings.\n    # Jumper et al. (2021) Suppl. Alg. 2 \"Inference\" lines 7-8\n    if c.template.enabled and c.template.embed_torsion_angles:\n      num_templ, num_res = batch['template_aatype'].shape\n\n      # Embed the templates aatypes.\n      aatype_one_hot = jax.nn.one_hot(batch['template_aatype'], 22, axis=-1)\n\n      # Embed the templates aatype, torsion angles and masks.\n      # Shape (templates, residues, msa_channels)\n      ret = all_atom.atom37_to_torsion_angles(\n          aatype=batch['template_aatype'],\n          all_atom_pos=batch['template_all_atom_positions'],\n          all_atom_mask=batch['template_all_atom_masks'],\n          # Ensure consistent behaviour during testing:\n          placeholder_for_undefined=not gc.zero_init,\n      )\n\n      template_features = jnp.concatenate(\n          [\n              aatype_one_hot,\n              jnp.reshape(\n                  ret['torsion_angles_sin_cos'], [num_templ, num_res, 14]\n              ),\n              jnp.reshape(\n                  ret['alt_torsion_angles_sin_cos'], [num_templ, num_res, 14]\n              ),\n              ret['torsion_angles_mask'],\n          ],\n          axis=-1,\n      )\n\n      template_activations = common_modules.Linear(\n          c.msa_channel, initializer='relu', name='template_single_embedding'\n      )(template_features)\n      template_activations = jax.nn.relu(template_activations)\n      template_activations = common_modules.Linear(\n          c.msa_channel, initializer='relu', name='template_projection'\n      )(template_activations)\n\n      # Concatenate the templates to the msa.\n      evoformer_input['msa'] = jnp.concatenate(\n          [evoformer_input['msa'], template_activations], axis=0\n      )\n      # Concatenate templates masks to the msa masks.\n      # Use mask from the psi angle, as it only depends on the backbone atoms\n      # from a single residue.\n      torsion_angle_mask = ret['torsion_angles_mask'][:, :, 2]\n      torsion_angle_mask = torsion_angle_mask.astype(\n          evoformer_masks['msa'].dtype\n      )\n      evoformer_masks['msa'] = jnp.concatenate(\n          [evoformer_masks['msa'], torsion_angle_mask], axis=0\n      )\n\n    # Main trunk of the network\n    # Jumper et al. (2021) Suppl. Alg. 2 \"Inference\" lines 17-18\n    evoformer_iteration = EvoformerIteration(\n        c.evoformer, gc, is_extra_msa=False, name='evoformer_iteration'\n    )\n\n    def evoformer_fn(x):\n      act, safe_key = x\n      safe_key, safe_subkey = safe_key.split()\n      evoformer_output = evoformer_iteration(\n          activations=act,\n          masks=evoformer_masks,\n          is_training=is_training,\n          safe_key=safe_subkey,\n      )\n      return (evoformer_output, safe_key)\n\n    if gc.use_remat:\n      evoformer_fn = hk.remat(evoformer_fn)\n\n    evoformer_stack = layer_stack.layer_stack(c.evoformer_num_block)(\n        evoformer_fn\n    )\n    evoformer_output, safe_key = evoformer_stack((evoformer_input, safe_key))\n\n    msa_activations = evoformer_output['msa']\n    pair_activations = evoformer_output['pair']\n\n    single_activations = common_modules.Linear(\n        c.seq_channel, name='single_activations'\n    )(msa_activations[0])\n\n    num_sequences = batch['msa_feat'].shape[0]\n    output = {\n        'single': single_activations,\n        'pair': pair_activations,\n        # Crop away template rows such that they are not used in MaskedMsaHead.\n        'msa': msa_activations[:num_sequences, :, :],\n        'msa_first_row': msa_activations[0],\n    }\n\n    return output\n\n\nclass SingleTemplateEmbedding(hk.Module):\n  \"\"\"Embeds a single template.\n\n  Jumper et al. (2021) Suppl. Alg. 2 \"Inference\" lines 9+11\n  \"\"\"\n\n  def __init__(self, config, global_config, name='single_template_embedding'):\n    super().__init__(name=name)\n    self.config = config\n    self.global_config = global_config\n\n  def __call__(self, query_embedding, batch, mask_2d, is_training):\n    \"\"\"Build the single template embedding.\n\n    Arguments:\n      query_embedding: Query pair representation, shape [N_res, N_res, c_z].\n      batch: A batch of template features (note the template dimension has been\n        stripped out as this module only runs over a single template).\n      mask_2d: Padding mask (Note: this doesn't care if a template exists,\n        unlike the template_pseudo_beta_mask).\n      is_training: Whether the module is in training mode.\n\n    Returns:\n      A template embedding [N_res, N_res, c_z].\n    \"\"\"\n    assert mask_2d.dtype == query_embedding.dtype\n    dtype = query_embedding.dtype\n    num_res = batch['template_aatype'].shape[0]\n    num_channels = (\n        self.config.template_pair_stack.triangle_attention_ending_node.value_dim\n    )\n    template_mask = batch['template_pseudo_beta_mask']\n    template_mask_2d = template_mask[:, None] * template_mask[None, :]\n    template_mask_2d = template_mask_2d.astype(dtype)\n\n    template_dgram = dgram_from_positions(\n        batch['template_pseudo_beta'], **self.config.dgram_features\n    )\n    template_dgram = template_dgram.astype(dtype)\n\n    to_concat = [template_dgram, template_mask_2d[:, :, None]]\n\n    aatype = jax.nn.one_hot(batch['template_aatype'], 22, axis=-1, dtype=dtype)\n\n    to_concat.append(jnp.tile(aatype[None, :, :], [num_res, 1, 1]))\n    to_concat.append(jnp.tile(aatype[:, None, :], [1, num_res, 1]))\n\n    n, ca, c = [residue_constants.atom_order[a] for a in ('N', 'CA', 'C')]\n    rot, trans = quat_affine.make_transform_from_reference(\n        n_xyz=batch['template_all_atom_positions'][:, n],\n        ca_xyz=batch['template_all_atom_positions'][:, ca],\n        c_xyz=batch['template_all_atom_positions'][:, c],\n    )\n    affines = quat_affine.QuatAffine(\n        quaternion=quat_affine.rot_to_quat(rot, unstack_inputs=True),\n        translation=trans,\n        rotation=rot,\n        unstack_inputs=True,\n    )\n    points = [jnp.expand_dims(x, axis=-2) for x in affines.translation]\n    affine_vec = affines.invert_point(points, extra_dims=1)\n    inv_distance_scalar = jax.lax.rsqrt(\n        1e-6 + sum([jnp.square(x) for x in affine_vec])\n    )\n\n    # Backbone affine mask: whether the residue has C, CA, N\n    # (the template mask defined above only considers pseudo CB).\n    template_mask = (\n        batch['template_all_atom_masks'][..., n]\n        * batch['template_all_atom_masks'][..., ca]\n        * batch['template_all_atom_masks'][..., c]\n    )\n    template_mask_2d = template_mask[:, None] * template_mask[None, :]\n\n    inv_distance_scalar *= template_mask_2d.astype(inv_distance_scalar.dtype)\n\n    unit_vector = [(x * inv_distance_scalar)[..., None] for x in affine_vec]\n\n    unit_vector = [x.astype(dtype) for x in unit_vector]\n    template_mask_2d = template_mask_2d.astype(dtype)\n    if not self.config.use_template_unit_vector:\n      unit_vector = [jnp.zeros_like(x) for x in unit_vector]\n    to_concat.extend(unit_vector)\n\n    to_concat.append(template_mask_2d[..., None])\n\n    act = jnp.concatenate(to_concat, axis=-1)\n\n    # Mask out non-template regions so we don't get arbitrary values in the\n    # distogram for these regions.\n    act *= template_mask_2d[..., None]\n\n    # Jumper et al. (2021) Suppl. Alg. 2 \"Inference\" line 9\n    act = common_modules.Linear(\n        num_channels, initializer='relu', name='embedding2d'\n    )(act)\n\n    # Jumper et al. (2021) Suppl. Alg. 2 \"Inference\" line 11\n    act = TemplatePairStack(\n        self.config.template_pair_stack, self.global_config\n    )(act, mask_2d, is_training)\n\n    act = common_modules.LayerNorm([-1], True, True, name='output_layer_norm')(\n        act\n    )\n    return act\n\n\nclass TemplateEmbedding(hk.Module):\n  \"\"\"Embeds a set of templates.\n\n  Jumper et al. (2021) Suppl. Alg. 2 \"Inference\" lines 9-12\n  Jumper et al. (2021) Suppl. Alg. 17 \"TemplatePointwiseAttention\"\n  \"\"\"\n\n  def __init__(self, config, global_config, name='template_embedding'):\n    super().__init__(name=name)\n    self.config = config\n    self.global_config = global_config\n\n  def __call__(self, query_embedding, template_batch, mask_2d, is_training):\n    \"\"\"Build TemplateEmbedding module.\n\n    Arguments:\n      query_embedding: Query pair representation, shape [N_res, N_res, c_z].\n      template_batch: A batch of template features.\n      mask_2d: Padding mask (Note: this doesn't care if a template exists,\n        unlike the template_pseudo_beta_mask).\n      is_training: Whether the module is in training mode.\n\n    Returns:\n      A template embedding [N_res, N_res, c_z].\n    \"\"\"\n\n    num_templates = template_batch['template_mask'].shape[0]\n    num_channels = (\n        self.config.template_pair_stack.triangle_attention_ending_node.value_dim\n    )\n    num_res = query_embedding.shape[0]\n\n    dtype = query_embedding.dtype\n    template_mask = template_batch['template_mask']\n    template_mask = template_mask.astype(dtype)\n\n    query_num_channels = query_embedding.shape[-1]\n\n    # Make sure the weights are shared across templates by constructing the\n    # embedder here.\n    # Jumper et al. (2021) Suppl. Alg. 2 \"Inference\" lines 9-12\n    template_embedder = SingleTemplateEmbedding(self.config, self.global_config)\n\n    def map_fn(batch):\n      return template_embedder(query_embedding, batch, mask_2d, is_training)\n\n    template_pair_representation = mapping.sharded_map(map_fn, in_axes=0)(\n        template_batch\n    )\n\n    # Cross attend from the query to the templates along the residue\n    # dimension by flattening everything else into the batch dimension.\n    # Jumper et al. (2021) Suppl. Alg. 17 \"TemplatePointwiseAttention\"\n    flat_query = jnp.reshape(\n        query_embedding, [num_res * num_res, 1, query_num_channels]\n    )\n\n    flat_templates = jnp.reshape(\n        jnp.transpose(template_pair_representation, [1, 2, 0, 3]),\n        [num_res * num_res, num_templates, num_channels],\n    )\n\n    mask = template_mask[None, None, None, :]\n\n    template_pointwise_attention_module = Attention(\n        self.config.attention, self.global_config, query_num_channels\n    )\n    nonbatched_args = [mask]\n    batched_args = [flat_query, flat_templates]\n\n    embedding = mapping.inference_subbatch(\n        template_pointwise_attention_module,\n        self.config.subbatch_size,\n        batched_args=batched_args,\n        nonbatched_args=nonbatched_args,\n        low_memory=not is_training,\n    )\n    embedding = jnp.reshape(embedding, [num_res, num_res, query_num_channels])\n\n    # No gradients if no templates.\n    embedding *= (jnp.sum(template_mask) > 0.0).astype(embedding.dtype)\n\n    return embedding\n"
  },
  {
    "path": "alphafold/model/modules_multimer.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Core modules, which have been refactored in AlphaFold-Multimer.\n\nThe main difference is that MSA sampling pipeline is moved inside the JAX model\nfor easier implementation of recycling and ensembling.\n\nLower-level modules up to EvoformerIteration are reused from modules.py.\n\"\"\"\n\nimport functools\nfrom typing import Sequence\n\nfrom alphafold.common import residue_constants\nfrom alphafold.model import all_atom_multimer\nfrom alphafold.model import common_modules\nfrom alphafold.model import folding_multimer\nfrom alphafold.model import geometry\nfrom alphafold.model import layer_stack\nfrom alphafold.model import modules\nfrom alphafold.model import prng\nfrom alphafold.model import utils\nimport haiku as hk\nimport jax\nimport jax.numpy as jnp\nimport numpy as np\n\n\ndef reduce_fn(x, mode):\n  if mode == 'none' or mode is None:\n    return jnp.asarray(x)\n  elif mode == 'sum':\n    return jnp.asarray(x).sum()\n  elif mode == 'mean':\n    return jnp.mean(jnp.asarray(x))\n  else:\n    raise ValueError('Unsupported reduction option.')\n\n\ndef gumbel_noise(key: jnp.ndarray, shape: Sequence[int]) -> jnp.ndarray:\n  \"\"\"Generate Gumbel Noise of given Shape.\n\n  This generates samples from Gumbel(0, 1).\n\n  Args:\n    key: Jax random number key.\n    shape: Shape of noise to return.\n\n  Returns:\n    Gumbel noise of given shape.\n  \"\"\"\n  epsilon = 1e-6\n  uniform = utils.padding_consistent_rng(jax.random.uniform)\n  uniform_noise = uniform(\n      key, shape=shape, dtype=jnp.float32, minval=0.0, maxval=1.0\n  )\n  gumbel = -jnp.log(-jnp.log(uniform_noise + epsilon) + epsilon)\n  return gumbel\n\n\ndef gumbel_max_sample(key: jnp.ndarray, logits: jnp.ndarray) -> jnp.ndarray:\n  \"\"\"Samples from a probability distribution given by 'logits'.\n\n  This uses Gumbel-max trick to implement the sampling in an efficient manner.\n\n  Args:\n    key: prng key.\n    logits: Logarithm of probabilities to sample from, probabilities can be\n      unnormalized.\n\n  Returns:\n    Sample from logprobs in one-hot form.\n  \"\"\"\n  z = gumbel_noise(key, logits.shape)\n  return jax.nn.one_hot(\n      jnp.argmax(logits + z, axis=-1), logits.shape[-1], dtype=logits.dtype\n  )\n\n\ndef gumbel_argsort_sample_idx(\n    key: jnp.ndarray, logits: jnp.ndarray\n) -> jnp.ndarray:\n  \"\"\"Samples with replacement from a distribution given by 'logits'.\n\n  This uses Gumbel trick to implement the sampling an efficient manner. For a\n  distribution over k items this samples k times without replacement, so this\n  is effectively sampling a random permutation with probabilities over the\n  permutations derived from the logprobs.\n\n  Args:\n    key: prng key.\n    logits: Logarithm of probabilities to sample from, probabilities can be\n      unnormalized.\n\n  Returns:\n    Sample from logprobs in one-hot form.\n  \"\"\"\n  z = gumbel_noise(key, logits.shape)\n  # This construction is equivalent to jnp.argsort, but using a non stable sort,\n  # since stable sort's aren't supported by jax2tf.\n  axis = len(logits.shape) - 1\n  iota = jax.lax.broadcasted_iota(jnp.int64, logits.shape, axis)\n  _, perm = jax.lax.sort_key_val(\n      logits + z, iota, dimension=-1, is_stable=False\n  )\n  return perm[::-1]\n\n\ndef make_masked_msa(batch, key, config, epsilon=1e-6):\n  \"\"\"Create data for BERT on raw MSA.\"\"\"\n  # Add a random amino acid uniformly.\n  random_aa = jnp.array([0.05] * 20 + [0.0, 0.0], dtype=jnp.float32)\n\n  categorical_probs = (\n      config.uniform_prob * random_aa\n      + config.profile_prob * batch['msa_profile']\n      + config.same_prob * jax.nn.one_hot(batch['msa'], 22)\n  )\n\n  # Put all remaining probability on [MASK] which is a new column.\n  pad_shapes = [[0, 0] for _ in range(len(categorical_probs.shape))]\n  pad_shapes[-1][1] = 1\n  mask_prob = 1.0 - config.profile_prob - config.same_prob - config.uniform_prob\n  assert mask_prob >= 0.0\n  categorical_probs = jnp.pad(\n      categorical_probs, pad_shapes, constant_values=mask_prob\n  )\n  sh = batch['msa'].shape\n  key, mask_subkey, gumbel_subkey = key.split(3)\n  uniform = utils.padding_consistent_rng(jax.random.uniform)\n  mask_position = uniform(mask_subkey.get(), sh) < config.replace_fraction\n  mask_position *= batch['msa_mask']\n\n  logits = jnp.log(categorical_probs + epsilon)\n  bert_msa = gumbel_max_sample(gumbel_subkey.get(), logits)\n  bert_msa = jnp.where(\n      mask_position, jnp.argmax(bert_msa, axis=-1), batch['msa']\n  )\n  bert_msa *= batch['msa_mask']\n\n  # Mix real and masked MSA.\n  if 'bert_mask' in batch:\n    batch['bert_mask'] *= mask_position.astype(jnp.float32)\n  else:\n    batch['bert_mask'] = mask_position.astype(jnp.float32)\n  batch['true_msa'] = batch['msa']\n  batch['msa'] = bert_msa\n\n  return batch\n\n\ndef nearest_neighbor_clusters(batch, gap_agreement_weight=0.0):\n  \"\"\"Assign each extra MSA sequence to its nearest neighbor in sampled MSA.\"\"\"\n\n  # Determine how much weight we assign to each agreement.  In theory, we could\n  # use a full BLOSUM matrix here, but right now let's just down-weight gap\n  # agreement because it could be spurious.\n  # Never put weight on agreeing on BERT mask.\n\n  weights = jnp.array(\n      [1.0] * 21 + [gap_agreement_weight] + [0.0], dtype=jnp.float32\n  )\n\n  msa_mask = batch['msa_mask']\n  msa_one_hot = jax.nn.one_hot(batch['msa'], 23)\n\n  extra_mask = batch['extra_msa_mask']\n  extra_one_hot = jax.nn.one_hot(batch['extra_msa'], 23)\n\n  msa_one_hot_masked = msa_mask[:, :, None] * msa_one_hot\n  extra_one_hot_masked = extra_mask[:, :, None] * extra_one_hot\n\n  agreement = jnp.einsum(\n      'mrc, nrc->nm', extra_one_hot_masked, weights * msa_one_hot_masked\n  )\n\n  cluster_assignment = jax.nn.softmax(1e3 * agreement, axis=0)\n  cluster_assignment *= jnp.einsum('mr, nr->mn', msa_mask, extra_mask)\n\n  cluster_count = jnp.sum(cluster_assignment, axis=-1)\n  cluster_count += 1.0  # We always include the sequence itself.\n\n  msa_sum = jnp.einsum('nm, mrc->nrc', cluster_assignment, extra_one_hot_masked)\n  msa_sum += msa_one_hot_masked\n\n  cluster_profile = msa_sum / cluster_count[:, None, None]\n\n  extra_deletion_matrix = batch['extra_deletion_matrix']\n  deletion_matrix = batch['deletion_matrix']\n\n  del_sum = jnp.einsum(\n      'nm, mc->nc', cluster_assignment, extra_mask * extra_deletion_matrix\n  )\n  del_sum += deletion_matrix  # Original sequence.\n  cluster_deletion_mean = del_sum / cluster_count[:, None]\n\n  return cluster_profile, cluster_deletion_mean\n\n\ndef create_msa_feat(batch):\n  \"\"\"Create and concatenate MSA features.\"\"\"\n  msa_1hot = jax.nn.one_hot(batch['msa'], 23)\n  deletion_matrix = batch['deletion_matrix']\n  has_deletion = jnp.clip(deletion_matrix, 0.0, 1.0)[..., None]\n  deletion_value = (jnp.arctan(deletion_matrix / 3.0) * (2.0 / jnp.pi))[\n      ..., None\n  ]\n\n  deletion_mean_value = (\n      jnp.arctan(batch['cluster_deletion_mean'] / 3.0) * (2.0 / jnp.pi)\n  )[..., None]\n\n  msa_feat = [\n      msa_1hot,\n      has_deletion,\n      deletion_value,\n      batch['cluster_profile'],\n      deletion_mean_value,\n  ]\n\n  return jnp.concatenate(msa_feat, axis=-1)\n\n\ndef create_extra_msa_feature(batch, num_extra_msa):\n  \"\"\"Expand extra_msa into 1hot and concat with other extra msa features.\n\n  We do this as late as possible as the one_hot extra msa can be very large.\n\n  Args:\n    batch: a dictionary with the following keys: * 'extra_msa': [num_seq,\n      num_res] MSA that wasn't selected as a cluster centre. Note - This isn't\n      one-hotted. * 'extra_deletion_matrix': [num_seq, num_res] Number of\n      deletions at given position.\n    num_extra_msa: Number of extra msa to use.\n\n  Returns:\n    Concatenated tensor of extra MSA features.\n  \"\"\"\n  # 23 = 20 amino acids + 'X' for unknown + gap + bert mask\n  extra_msa = batch['extra_msa'][:num_extra_msa]\n  deletion_matrix = batch['extra_deletion_matrix'][:num_extra_msa]\n  msa_1hot = jax.nn.one_hot(extra_msa, 23)\n  has_deletion = jnp.clip(deletion_matrix, 0.0, 1.0)[..., None]\n  deletion_value = (jnp.arctan(deletion_matrix / 3.0) * (2.0 / jnp.pi))[\n      ..., None\n  ]\n  extra_msa_mask = batch['extra_msa_mask'][:num_extra_msa]\n  return (\n      jnp.concatenate([msa_1hot, has_deletion, deletion_value], axis=-1),\n      extra_msa_mask,\n  )\n\n\ndef sample_msa(key, batch, max_seq):\n  \"\"\"Sample MSA randomly, remaining sequences are stored as `extra_*`.\n\n  Args:\n    key: safe key for random number generation.\n    batch: batch to sample msa from.\n    max_seq: number of sequences to sample.\n\n  Returns:\n    Protein with sampled msa.\n  \"\"\"\n  # Sample uniformly among sequences with at least one non-masked position.\n  logits = (jnp.clip(jnp.sum(batch['msa_mask'], axis=-1), 0.0, 1.0) - 1.0) * 1e6\n  # The cluster_bias_mask can be used to preserve the first row (target\n  # sequence) for each chain, for example.\n  if 'cluster_bias_mask' not in batch:\n    cluster_bias_mask = jnp.pad(\n        jnp.zeros(batch['msa'].shape[0] - 1), (1, 0), constant_values=1.0\n    )\n  else:\n    cluster_bias_mask = batch['cluster_bias_mask']\n\n  logits += cluster_bias_mask * 1e6\n  index_order = gumbel_argsort_sample_idx(key.get(), logits)\n  sel_idx = index_order[:max_seq]\n  extra_idx = index_order[max_seq:]\n\n  for k in ['msa', 'deletion_matrix', 'msa_mask', 'bert_mask']:\n    if k in batch:\n      batch['extra_' + k] = batch[k][extra_idx]\n      batch[k] = batch[k][sel_idx]\n\n  return batch\n\n\ndef make_msa_profile(batch):\n  \"\"\"Compute the MSA profile.\"\"\"\n\n  # Compute the profile for every residue (over all MSA sequences).\n  return utils.mask_mean(\n      batch['msa_mask'][:, :, None], jax.nn.one_hot(batch['msa'], 22), axis=0\n  )\n\n\nclass AlphaFoldIteration(hk.Module):\n  \"\"\"A single recycling iteration of AlphaFold architecture.\n\n  Computes ensembled (averaged) representations from the provided features.\n  These representations are then passed to the various heads\n  that have been requested by the configuration file.\n  \"\"\"\n\n  def __init__(self, config, global_config, name='alphafold_iteration'):\n    super().__init__(name=name)\n    self.config = config\n    self.global_config = global_config\n\n  def __call__(\n      self, batch, is_training, return_representations=False, safe_key=None\n  ):\n\n    if is_training:\n      num_ensemble = np.asarray(self.config.num_ensemble_train)\n    else:\n      num_ensemble = np.asarray(self.config.num_ensemble_eval)\n\n    # Compute representations for each MSA sample and average.\n    embedding_module = EmbeddingsAndEvoformer(\n        self.config.embeddings_and_evoformer, self.global_config\n    )\n    repr_shape = hk.eval_shape(lambda: embedding_module(batch, is_training))\n    representations = {\n        k: jnp.zeros(v.shape, v.dtype) for (k, v) in repr_shape.items()\n    }\n\n    def ensemble_body(x, unused_y):\n      \"\"\"Add into representations ensemble.\"\"\"\n      del unused_y\n      representations, safe_key = x\n      safe_key, safe_subkey = safe_key.split()\n      representations_update = embedding_module(\n          batch, is_training, safe_key=safe_subkey\n      )\n\n      for k in representations:\n        if k not in {'msa', 'true_msa', 'bert_mask'}:\n          representations[k] += representations_update[k] * (\n              1.0 / num_ensemble\n          ).astype(representations[k].dtype)\n        else:\n          representations[k] = representations_update[k]\n\n      return (representations, safe_key), None\n\n    (representations, _), _ = hk.scan(\n        ensemble_body, (representations, safe_key), None, length=num_ensemble\n    )\n\n    self.representations = representations\n    self.batch = batch\n    self.heads = {}\n    for head_name, head_config in sorted(self.config.heads.items()):\n      if not head_config.weight:\n        continue  # Do not instantiate zero-weight heads.\n\n      head_factory = {\n          'masked_msa': modules.MaskedMsaHead,\n          'distogram': modules.DistogramHead,\n          'structure_module': folding_multimer.StructureModule,\n          'predicted_aligned_error': modules.PredictedAlignedErrorHead,\n          'predicted_lddt': modules.PredictedLDDTHead,\n          'experimentally_resolved': modules.ExperimentallyResolvedHead,\n      }[head_name]\n      self.heads[head_name] = (\n          head_config,\n          head_factory(head_config, self.global_config),\n      )\n\n    structure_module_output = None\n    if 'entity_id' in batch and 'all_atom_positions' in batch:\n      _, fold_module = self.heads['structure_module']\n      structure_module_output = fold_module(representations, batch, is_training)\n\n    ret = {}\n    ret['representations'] = representations\n\n    for name, (head_config, module) in self.heads.items():\n      if name == 'structure_module' and structure_module_output is not None:\n        ret[name] = structure_module_output\n        representations['structure_module'] = structure_module_output.pop('act')\n      # Skip confidence heads until StructureModule is executed.\n      elif name in {\n          'predicted_lddt',\n          'predicted_aligned_error',\n          'experimentally_resolved',\n      }:\n        continue\n      else:\n        ret[name] = module(representations, batch, is_training)\n\n    # Add confidence heads after StructureModule is executed.\n    if self.config.heads.get('predicted_lddt.weight', 0.0):\n      name = 'predicted_lddt'\n      head_config, module = self.heads[name]\n      ret[name] = module(representations, batch, is_training)\n\n    if self.config.heads.experimentally_resolved.weight:\n      name = 'experimentally_resolved'\n      head_config, module = self.heads[name]\n      ret[name] = module(representations, batch, is_training)\n\n    if self.config.heads.get('predicted_aligned_error.weight', 0.0):\n      name = 'predicted_aligned_error'\n      head_config, module = self.heads[name]\n      ret[name] = module(representations, batch, is_training)\n      # Will be used for ipTM computation.\n      ret[name]['asym_id'] = batch['asym_id']\n\n    return ret\n\n\nclass AlphaFold(hk.Module):\n  \"\"\"AlphaFold-Multimer model with recycling.\"\"\"\n\n  def __init__(self, config, name='alphafold'):\n    super().__init__(name=name)\n    self.config = config\n    self.global_config = config.global_config\n\n  def __call__(\n      self, batch, is_training, return_representations=False, safe_key=None\n  ):\n\n    c = self.config\n    impl = AlphaFoldIteration(c, self.global_config)\n\n    if safe_key is None:\n      safe_key = prng.SafeKey(hk.next_rng_key())\n    elif isinstance(safe_key, jnp.ndarray):\n      safe_key = prng.SafeKey(safe_key)\n\n    assert isinstance(batch, dict)\n    num_res = batch['aatype'].shape[0]\n\n    def get_prev(ret):\n      new_prev = {\n          'prev_pos': ret['structure_module']['final_atom_positions'],\n          'prev_msa_first_row': ret['representations']['msa_first_row'],\n          'prev_pair': ret['representations']['pair'],\n      }\n      return jax.tree.map(jax.lax.stop_gradient, new_prev)\n\n    def apply_network(prev, safe_key):\n      recycled_batch = {**batch, **prev}\n      return impl(\n          batch=recycled_batch, is_training=is_training, safe_key=safe_key\n      )\n\n    prev = {}\n    emb_config = self.config.embeddings_and_evoformer\n    if emb_config.recycle_pos:\n      prev['prev_pos'] = jnp.zeros(\n          [num_res, residue_constants.atom_type_num, 3]\n      )\n    if emb_config.recycle_features:\n      prev['prev_msa_first_row'] = jnp.zeros([num_res, emb_config.msa_channel])\n      prev['prev_pair'] = jnp.zeros([num_res, num_res, emb_config.pair_channel])\n\n    if self.config.num_recycle:\n      if 'num_iter_recycling' in batch:\n        # Training time: num_iter_recycling is in batch.\n        # Value for each ensemble batch is the same, so arbitrarily taking 0-th.\n        num_iter = batch['num_iter_recycling'][0]\n\n        # Add insurance that even when ensembling, we will not run more\n        # recyclings than the model is configured to run.\n        num_iter = jnp.minimum(num_iter, c.num_recycle)\n      else:\n        # Eval mode or tests: use the maximum number of iterations.\n        num_iter = c.num_recycle\n\n      def distances(points):\n        \"\"\"Compute all pairwise distances for a set of points.\"\"\"\n        return jnp.sqrt(\n            jnp.sum((points[:, None] - points[None, :]) ** 2, axis=-1)\n        )\n\n      def recycle_body(x):\n        i, _, prev, safe_key = x\n        safe_key1, safe_key2 = safe_key.split() if c.resample_msa_in_recycling else safe_key.duplicate()  # pylint: disable=line-too-long\n        ret = apply_network(prev=prev, safe_key=safe_key2)\n        return i + 1, prev, get_prev(ret), safe_key1\n\n      def recycle_cond(x):\n        i, prev, next_in, _ = x\n        ca_idx = residue_constants.atom_order['CA']\n        sq_diff = jnp.square(\n            distances(prev['prev_pos'][:, ca_idx, :])\n            - distances(next_in['prev_pos'][:, ca_idx, :])\n        )\n        mask = batch['seq_mask'][:, None] * batch['seq_mask'][None, :]\n        sq_diff = utils.mask_mean(mask, sq_diff)\n        # Early stopping criteria based on criteria used in\n        # AF2Complex: https://www.nature.com/articles/s41467-022-29394-2\n        diff = jnp.sqrt(sq_diff + 1e-8)  # avoid bad numerics giving negatives\n        less_than_max_recycles = i < num_iter\n        has_exceeded_tolerance = (i == 0) | (\n            diff > c.recycle_early_stop_tolerance\n        )\n        return less_than_max_recycles & has_exceeded_tolerance\n\n      if hk.running_init():\n        num_recycles, _, prev, safe_key = recycle_body(\n            (0, prev, prev, safe_key)\n        )\n      else:\n        num_recycles, _, prev, safe_key = hk.while_loop(\n            recycle_cond, recycle_body, (0, prev, prev, safe_key)\n        )\n    else:\n      # No recycling.\n      num_recycles = 0\n\n    # Run extra iteration.\n    ret = apply_network(prev=prev, safe_key=safe_key)\n\n    if not return_representations:\n      del ret['representations']\n    ret['num_recycles'] = num_recycles\n\n    return ret\n\n\nclass EmbeddingsAndEvoformer(hk.Module):\n  \"\"\"Embeds the input data and runs Evoformer.\n\n  Produces the MSA, single and pair representations.\n  \"\"\"\n\n  def __init__(self, config, global_config, name='evoformer'):\n    super().__init__(name=name)\n    self.config = config\n    self.global_config = global_config\n\n  def _relative_encoding(self, batch):\n    \"\"\"Add relative position encodings.\n\n    For position (i, j), the value is (i-j) clipped to [-k, k] and one-hotted.\n\n    When not using 'use_chain_relative' the residue indices are used as is, e.g.\n    for heteromers relative positions will be computed using the positions in\n    the corresponding chains.\n\n    When using 'use_chain_relative' we add an extra bin that denotes\n    'different chain'. Furthermore we also provide the relative chain index\n    (i.e. sym_id) clipped and one-hotted to the network. And an extra feature\n    which denotes whether they belong to the same chain type, i.e. it's 0 if\n    they are in different heteromer chains and 1 otherwise.\n\n    Args:\n      batch: batch.\n\n    Returns:\n      Feature embedding using the features as described before.\n    \"\"\"\n    c = self.config\n    gc = self.global_config\n    rel_feats = []\n    pos = batch['residue_index']\n    asym_id = batch['asym_id']\n    asym_id_same = jnp.equal(asym_id[:, None], asym_id[None, :])\n    offset = pos[:, None] - pos[None, :]\n    dtype = jnp.bfloat16 if gc.bfloat16 else jnp.float32\n\n    clipped_offset = jnp.clip(\n        offset + c.max_relative_idx, a_min=0, a_max=2 * c.max_relative_idx\n    )\n\n    if c.use_chain_relative:\n\n      final_offset = jnp.where(\n          asym_id_same,\n          clipped_offset,\n          (2 * c.max_relative_idx + 1) * jnp.ones_like(clipped_offset),\n      )\n\n      rel_pos = jax.nn.one_hot(final_offset, 2 * c.max_relative_idx + 2)\n\n      rel_feats.append(rel_pos)\n\n      entity_id = batch['entity_id']\n      entity_id_same = jnp.equal(entity_id[:, None], entity_id[None, :])\n      rel_feats.append(entity_id_same.astype(rel_pos.dtype)[..., None])\n\n      sym_id = batch['sym_id']\n      rel_sym_id = sym_id[:, None] - sym_id[None, :]\n\n      max_rel_chain = c.max_relative_chain\n\n      clipped_rel_chain = jnp.clip(\n          rel_sym_id + max_rel_chain, a_min=0, a_max=2 * max_rel_chain\n      )\n\n      final_rel_chain = jnp.where(\n          entity_id_same,\n          clipped_rel_chain,\n          (2 * max_rel_chain + 1) * jnp.ones_like(clipped_rel_chain),\n      )\n      rel_chain = jax.nn.one_hot(final_rel_chain, 2 * c.max_relative_chain + 2)\n\n      rel_feats.append(rel_chain)\n\n    else:\n      rel_pos = jax.nn.one_hot(clipped_offset, 2 * c.max_relative_idx + 1)\n      rel_feats.append(rel_pos)\n\n    rel_feat = jnp.concatenate(rel_feats, axis=-1)\n\n    rel_feat = rel_feat.astype(dtype)\n    return common_modules.Linear(c.pair_channel, name='position_activations')(\n        rel_feat\n    )\n\n  def __call__(self, batch, is_training, safe_key=None):\n\n    c = self.config\n    gc = self.global_config\n\n    batch = dict(batch)\n    dtype = jnp.bfloat16 if gc.bfloat16 else jnp.float32\n\n    if safe_key is None:\n      safe_key = prng.SafeKey(hk.next_rng_key())\n\n    output = {}\n\n    batch['msa_profile'] = make_msa_profile(batch)\n\n    with utils.bfloat16_context():\n      target_feat = jax.nn.one_hot(batch['aatype'], 21).astype(dtype)\n\n      preprocess_1d = common_modules.Linear(\n          c.msa_channel, name='preprocess_1d'\n      )(target_feat)\n\n      safe_key, sample_key, mask_key = safe_key.split(3)\n      batch = sample_msa(sample_key, batch, c.num_msa)\n      batch = make_masked_msa(batch, mask_key, c.masked_msa)\n\n      (batch['cluster_profile'], batch['cluster_deletion_mean']) = (\n          nearest_neighbor_clusters(batch)\n      )\n\n      msa_feat = create_msa_feat(batch).astype(dtype)\n\n      preprocess_msa = common_modules.Linear(\n          c.msa_channel, name='preprocess_msa'\n      )(msa_feat)\n      msa_activations = jnp.expand_dims(preprocess_1d, axis=0) + preprocess_msa\n\n      left_single = common_modules.Linear(c.pair_channel, name='left_single')(\n          target_feat\n      )\n      right_single = common_modules.Linear(c.pair_channel, name='right_single')(\n          target_feat\n      )\n      pair_activations = left_single[:, None] + right_single[None]\n      mask_2d = batch['seq_mask'][:, None] * batch['seq_mask'][None, :]\n      mask_2d = mask_2d.astype(dtype)\n\n      if c.recycle_pos:\n        prev_pseudo_beta = modules.pseudo_beta_fn(\n            batch['aatype'], batch['prev_pos'], None\n        )\n\n        dgram = modules.dgram_from_positions(\n            prev_pseudo_beta, **self.config.prev_pos\n        )\n        dgram = dgram.astype(dtype)\n        pair_activations += common_modules.Linear(\n            c.pair_channel, name='prev_pos_linear'\n        )(dgram)\n      if c.recycle_features:\n        prev_msa_first_row = common_modules.LayerNorm(\n            axis=[-1],\n            create_scale=True,\n            create_offset=True,\n            name='prev_msa_first_row_norm',\n        )(batch['prev_msa_first_row']).astype(dtype)\n        msa_activations = msa_activations.at[0].add(prev_msa_first_row)\n\n        pair_activations += common_modules.LayerNorm(\n            axis=[-1],\n            create_scale=True,\n            create_offset=True,\n            name='prev_pair_norm',\n        )(batch['prev_pair']).astype(dtype)\n\n      if c.max_relative_idx:\n        pair_activations += self._relative_encoding(batch)\n\n      if c.template.enabled:\n        template_module = TemplateEmbedding(c.template, gc)\n        template_batch = {\n            'template_aatype': batch['template_aatype'],\n            'template_all_atom_positions': batch['template_all_atom_positions'],\n            'template_all_atom_mask': batch['template_all_atom_mask'],\n        }\n        # Construct a mask such that only intra-chain template features are\n        # computed, since all templates are for each chain individually.\n        multichain_mask = batch['asym_id'][:, None] == batch['asym_id'][None, :]\n        safe_key, safe_subkey = safe_key.split()\n        template_act = template_module(\n            query_embedding=pair_activations,\n            template_batch=template_batch,\n            padding_mask_2d=mask_2d,\n            multichain_mask_2d=multichain_mask,\n            is_training=is_training,\n            safe_key=safe_subkey,\n        )\n        pair_activations += template_act\n\n      # Extra MSA stack.\n      (extra_msa_feat, extra_msa_mask) = create_extra_msa_feature(\n          batch, c.num_extra_msa\n      )\n      extra_msa_activations = common_modules.Linear(\n          c.extra_msa_channel, name='extra_msa_activations'\n      )(extra_msa_feat).astype(dtype)\n      extra_msa_mask = extra_msa_mask.astype(dtype)\n\n      extra_evoformer_input = {\n          'msa': extra_msa_activations,\n          'pair': pair_activations,\n      }\n      extra_masks = {'msa': extra_msa_mask, 'pair': mask_2d}\n\n      extra_evoformer_iteration = modules.EvoformerIteration(\n          c.evoformer, gc, is_extra_msa=True, name='extra_msa_stack'\n      )\n\n      def extra_evoformer_fn(x):\n        act, safe_key = x\n        safe_key, safe_subkey = safe_key.split()\n        extra_evoformer_output = extra_evoformer_iteration(\n            activations=act,\n            masks=extra_masks,\n            is_training=is_training,\n            safe_key=safe_subkey,\n        )\n        return (extra_evoformer_output, safe_key)\n\n      if gc.use_remat:\n        extra_evoformer_fn = hk.remat(extra_evoformer_fn)\n\n      safe_key, safe_subkey = safe_key.split()\n      extra_evoformer_stack = layer_stack.layer_stack(\n          c.extra_msa_stack_num_block\n      )(extra_evoformer_fn)\n      extra_evoformer_output, safe_key = extra_evoformer_stack(\n          (extra_evoformer_input, safe_subkey)\n      )\n\n      pair_activations = extra_evoformer_output['pair']\n\n      # Get the size of the MSA before potentially adding templates, so we\n      # can crop out the templates later.\n      num_msa_sequences = msa_activations.shape[0]\n      evoformer_input = {\n          'msa': msa_activations,\n          'pair': pair_activations,\n      }\n      evoformer_masks = {\n          'msa': batch['msa_mask'].astype(dtype),\n          'pair': mask_2d,\n      }\n      if c.template.enabled:\n        template_features, template_masks = template_embedding_1d(\n            batch=batch, num_channel=c.msa_channel, global_config=gc\n        )\n\n        evoformer_input['msa'] = jnp.concatenate(\n            [evoformer_input['msa'], template_features], axis=0\n        )\n        evoformer_masks['msa'] = jnp.concatenate(\n            [evoformer_masks['msa'], template_masks], axis=0\n        )\n      evoformer_iteration = modules.EvoformerIteration(\n          c.evoformer, gc, is_extra_msa=False, name='evoformer_iteration'\n      )\n\n      def evoformer_fn(x):\n        act, safe_key = x\n        safe_key, safe_subkey = safe_key.split()\n        evoformer_output = evoformer_iteration(\n            activations=act,\n            masks=evoformer_masks,\n            is_training=is_training,\n            safe_key=safe_subkey,\n        )\n        return (evoformer_output, safe_key)\n\n      if gc.use_remat:\n        evoformer_fn = hk.remat(evoformer_fn)\n\n      safe_key, safe_subkey = safe_key.split()\n      evoformer_stack = layer_stack.layer_stack(c.evoformer_num_block)(\n          evoformer_fn\n      )\n\n      def run_evoformer(evoformer_input):\n        evoformer_output, _ = evoformer_stack((evoformer_input, safe_subkey))\n        return evoformer_output\n\n      evoformer_output = run_evoformer(evoformer_input)\n\n      msa_activations = evoformer_output['msa']\n      pair_activations = evoformer_output['pair']\n\n      single_activations = common_modules.Linear(\n          c.seq_channel, name='single_activations'\n      )(msa_activations[0])\n\n    output.update({\n        'single': single_activations,\n        'pair': pair_activations,\n        # Crop away template rows such that they are not used in MaskedMsaHead.\n        'msa': msa_activations[:num_msa_sequences, :, :],\n        'msa_first_row': msa_activations[0],\n    })\n\n    # Convert back to float32 if we're not saving memory.\n    if not gc.bfloat16_output:\n      for k, v in output.items():\n        if v.dtype == jnp.bfloat16:\n          output[k] = v.astype(jnp.float32)\n\n    return output\n\n\nclass TemplateEmbedding(hk.Module):\n  \"\"\"Embed a set of templates.\"\"\"\n\n  def __init__(self, config, global_config, name='template_embedding'):\n    super().__init__(name=name)\n    self.config = config\n    self.global_config = global_config\n\n  def __call__(\n      self,\n      query_embedding,\n      template_batch,\n      padding_mask_2d,\n      multichain_mask_2d,\n      is_training,\n      safe_key=None,\n  ):\n    \"\"\"Generate an embedding for a set of templates.\n\n    Args:\n      query_embedding: [num_res, num_res, num_channel] a query tensor that will\n        be used to attend over the templates to remove the num_templates\n        dimension.\n      template_batch: A dictionary containing: `template_aatype`:\n        [num_templates, num_res] aatype for each template.\n        `template_all_atom_positions`: [num_templates, num_res, 37, 3] atom\n        positions for all templates. `template_all_atom_mask`: [num_templates,\n        num_res, 37] mask for each template.\n      padding_mask_2d: [num_res, num_res] Pair mask for attention operations.\n      multichain_mask_2d: [num_res, num_res] Mask indicating which residue pairs\n        are intra-chain, used to mask out residue distance based features\n        between chains.\n      is_training: bool indicating where we are running in training mode.\n      safe_key: random key generator.\n\n    Returns:\n      An embedding of size [num_res, num_res, num_channels]\n    \"\"\"\n    c = self.config\n    if safe_key is None:\n      safe_key = prng.SafeKey(hk.next_rng_key())\n\n    num_templates = template_batch['template_aatype'].shape[0]\n    num_res, _, query_num_channels = query_embedding.shape\n\n    # Embed each template separately.\n    template_embedder = SingleTemplateEmbedding(self.config, self.global_config)\n\n    def partial_template_embedder(\n        template_aatype,\n        template_all_atom_positions,\n        template_all_atom_mask,\n        unsafe_key,\n    ):\n      safe_key = prng.SafeKey(unsafe_key)\n      return template_embedder(\n          query_embedding,\n          template_aatype,\n          template_all_atom_positions,\n          template_all_atom_mask,\n          padding_mask_2d,\n          multichain_mask_2d,\n          is_training,\n          safe_key,\n      )\n\n    safe_key, unsafe_key = safe_key.split()\n    unsafe_keys = jax.random.split(unsafe_key._key, num_templates)\n\n    def scan_fn(carry, x):\n      return carry + partial_template_embedder(*x), None\n\n    scan_init = jnp.zeros(\n        (num_res, num_res, c.num_channels), dtype=query_embedding.dtype\n    )\n    summed_template_embeddings, _ = hk.scan(\n        scan_fn,\n        scan_init,\n        (\n            template_batch['template_aatype'],\n            template_batch['template_all_atom_positions'],\n            template_batch['template_all_atom_mask'],\n            unsafe_keys,\n        ),\n    )\n\n    embedding = summed_template_embeddings / num_templates\n    embedding = jax.nn.relu(embedding)\n    embedding = common_modules.Linear(\n        query_num_channels, initializer='relu', name='output_linear'\n    )(embedding)\n\n    return embedding\n\n\nclass SingleTemplateEmbedding(hk.Module):\n  \"\"\"Embed a single template.\"\"\"\n\n  def __init__(self, config, global_config, name='single_template_embedding'):\n    super().__init__(name=name)\n    self.config = config\n    self.global_config = global_config\n\n  def __call__(\n      self,\n      query_embedding,\n      template_aatype,\n      template_all_atom_positions,\n      template_all_atom_mask,\n      padding_mask_2d,\n      multichain_mask_2d,\n      is_training,\n      safe_key,\n  ):\n    \"\"\"Build the single template embedding graph.\n\n    Args:\n      query_embedding: (num_res, num_res, num_channels) - embedding of the query\n        sequence/msa.\n      template_aatype: [num_res] aatype for each template.\n      template_all_atom_positions: [num_res, 37, 3] atom positions for all\n        templates.\n      template_all_atom_mask: [num_res, 37] mask for each template.\n      padding_mask_2d: Padding mask (Note: this doesn't care if a template\n        exists, unlike the template_pseudo_beta_mask).\n      multichain_mask_2d: A mask indicating intra-chain residue pairs, used to\n        mask out between chain distances/features when templates are for single\n        chains.\n      is_training: Are we in training mode.\n      safe_key: Random key generator.\n\n    Returns:\n      A template embedding (num_res, num_res, num_channels).\n    \"\"\"\n    gc = self.global_config\n    c = self.config\n    assert padding_mask_2d.dtype == query_embedding.dtype\n    dtype = query_embedding.dtype\n    num_channels = self.config.num_channels\n\n    def construct_input(\n        query_embedding,\n        template_aatype,\n        template_all_atom_positions,\n        template_all_atom_mask,\n        multichain_mask_2d,\n    ):\n\n      # Compute distogram feature for the template.\n      template_positions, pseudo_beta_mask = modules.pseudo_beta_fn(\n          template_aatype, template_all_atom_positions, template_all_atom_mask\n      )\n      pseudo_beta_mask_2d = (\n          pseudo_beta_mask[:, None] * pseudo_beta_mask[None, :]\n      )\n      pseudo_beta_mask_2d *= multichain_mask_2d\n      template_dgram = modules.dgram_from_positions(\n          template_positions, **self.config.dgram_features\n      )\n      template_dgram *= pseudo_beta_mask_2d[..., None]\n      template_dgram = template_dgram.astype(dtype)\n      pseudo_beta_mask_2d = pseudo_beta_mask_2d.astype(dtype)\n      to_concat = [(template_dgram, 1), (pseudo_beta_mask_2d, 0)]\n\n      aatype = jax.nn.one_hot(template_aatype, 22, axis=-1, dtype=dtype)\n      to_concat.append((aatype[None, :, :], 1))\n      to_concat.append((aatype[:, None, :], 1))\n\n      # Compute a feature representing the normalized vector between each\n      # backbone affine - i.e. in each residues local frame, what direction are\n      # each of the other residues.\n      raw_atom_pos = template_all_atom_positions\n      if gc.bfloat16:\n        # Vec3Arrays are required to be float32\n        raw_atom_pos = raw_atom_pos.astype(jnp.float32)\n\n      atom_pos = geometry.Vec3Array.from_array(raw_atom_pos)\n      rigid, backbone_mask = folding_multimer.make_backbone_affine(\n          atom_pos, template_all_atom_mask, template_aatype\n      )\n      points = rigid.translation\n      rigid_vec = rigid[:, None].inverse().apply_to_point(points)\n      unit_vector = rigid_vec.normalized()\n      unit_vector = [unit_vector.x, unit_vector.y, unit_vector.z]\n\n      if gc.bfloat16:\n        unit_vector = [x.astype(jnp.bfloat16) for x in unit_vector]\n        backbone_mask = backbone_mask.astype(jnp.bfloat16)\n\n      backbone_mask_2d = backbone_mask[:, None] * backbone_mask[None, :]\n      backbone_mask_2d *= multichain_mask_2d\n      unit_vector = [x * backbone_mask_2d for x in unit_vector]\n\n      # Note that the backbone_mask takes into account C, CA and N (unlike\n      # pseudo beta mask which just needs CB) so we add both masks as features.\n      to_concat.extend([(x, 0) for x in unit_vector])\n      to_concat.append((backbone_mask_2d, 0))\n\n      query_embedding = common_modules.LayerNorm(\n          axis=[-1],\n          create_scale=True,\n          create_offset=True,\n          name='query_embedding_norm',\n      )(query_embedding)\n      # Allow the template embedder to see the query embedding.  Note this\n      # contains the position relative feature, so this is how the network knows\n      # which residues are next to each other.\n      to_concat.append((query_embedding, 1))\n\n      act = 0\n\n      for i, (x, n_input_dims) in enumerate(to_concat):\n\n        act += common_modules.Linear(\n            num_channels,\n            num_input_dims=n_input_dims,\n            initializer='relu',\n            name=f'template_pair_embedding_{i}',\n        )(x)\n      return act\n\n    act = construct_input(\n        query_embedding,\n        template_aatype,\n        template_all_atom_positions,\n        template_all_atom_mask,\n        multichain_mask_2d,\n    )\n\n    template_iteration = TemplateEmbeddingIteration(\n        c.template_pair_stack, gc, name='template_embedding_iteration'\n    )\n\n    def template_iteration_fn(x):\n      act, safe_key = x\n\n      safe_key, safe_subkey = safe_key.split()\n      act = template_iteration(\n          act=act,\n          pair_mask=padding_mask_2d,\n          is_training=is_training,\n          safe_key=safe_subkey,\n      )\n      return (act, safe_key)\n\n    if gc.use_remat:\n      template_iteration_fn = hk.remat(template_iteration_fn)\n\n    safe_key, safe_subkey = safe_key.split()\n    template_stack = layer_stack.layer_stack(c.template_pair_stack.num_block)(\n        template_iteration_fn\n    )\n    act, safe_key = template_stack((act, safe_subkey))\n\n    act = common_modules.LayerNorm(\n        axis=[-1],\n        create_scale=True,\n        create_offset=True,\n        name='output_layer_norm',\n    )(act)\n\n    return act\n\n\nclass TemplateEmbeddingIteration(hk.Module):\n  \"\"\"Single Iteration of Template Embedding.\"\"\"\n\n  def __init__(\n      self, config, global_config, name='template_embedding_iteration'\n  ):\n    super().__init__(name=name)\n    self.config = config\n    self.global_config = global_config\n\n  def __call__(self, act, pair_mask, is_training=True, safe_key=None):\n    \"\"\"Build a single iteration of the template embedder.\n\n    Args:\n      act: [num_res, num_res, num_channel] Input pairwise activations.\n      pair_mask: [num_res, num_res] padding mask.\n      is_training: Whether to run in training mode.\n      safe_key: Safe pseudo-random generator key.\n\n    Returns:\n      [num_res, num_res, num_channel] tensor of activations.\n    \"\"\"\n    c = self.config\n    gc = self.global_config\n\n    if safe_key is None:\n      safe_key = prng.SafeKey(hk.next_rng_key())\n\n    dropout_wrapper_fn = functools.partial(\n        modules.dropout_wrapper, is_training=is_training, global_config=gc\n    )\n\n    safe_key, *sub_keys = safe_key.split(20)\n    sub_keys = iter(sub_keys)\n\n    act = dropout_wrapper_fn(\n        modules.TriangleMultiplication(\n            c.triangle_multiplication_outgoing,\n            gc,\n            name='triangle_multiplication_outgoing',\n        ),\n        act,\n        pair_mask,\n        safe_key=next(sub_keys),\n    )\n\n    act = dropout_wrapper_fn(\n        modules.TriangleMultiplication(\n            c.triangle_multiplication_incoming,\n            gc,\n            name='triangle_multiplication_incoming',\n        ),\n        act,\n        pair_mask,\n        safe_key=next(sub_keys),\n    )\n    act = dropout_wrapper_fn(\n        modules.TriangleAttention(\n            c.triangle_attention_starting_node,\n            gc,\n            name='triangle_attention_starting_node',\n        ),\n        act,\n        pair_mask,\n        safe_key=next(sub_keys),\n    )\n    act = dropout_wrapper_fn(\n        modules.TriangleAttention(\n            c.triangle_attention_ending_node,\n            gc,\n            name='triangle_attention_ending_node',\n        ),\n        act,\n        pair_mask,\n        safe_key=next(sub_keys),\n    )\n    act = dropout_wrapper_fn(\n        modules.Transition(c.pair_transition, gc, name='pair_transition'),\n        act,\n        pair_mask,\n        safe_key=next(sub_keys),\n    )\n\n    return act\n\n\ndef template_embedding_1d(batch, num_channel, global_config):\n  \"\"\"Embed templates into an (num_res, num_templates, num_channels) embedding.\n\n  Args:\n    batch: A batch containing: template_aatype, (num_templates, num_res) aatype\n      for the templates. template_all_atom_positions, (num_templates,\n      num_residues, 37, 3) atom positions for the templates.\n      template_all_atom_mask, (num_templates, num_residues, 37) atom mask for\n      each template.\n    num_channel: The number of channels in the output.\n    global_config: The global_config.\n\n  Returns:\n    An embedding of shape (num_templates, num_res, num_channels) and a mask of\n    shape (num_templates, num_res).\n  \"\"\"\n\n  # Embed the templates aatypes.\n  aatype_one_hot = jax.nn.one_hot(batch['template_aatype'], 22, axis=-1)\n\n  num_templates = batch['template_aatype'].shape[0]\n  all_chi_angles = []\n  all_chi_masks = []\n  for i in range(num_templates):\n    atom_pos = geometry.Vec3Array.from_array(\n        batch['template_all_atom_positions'][i, :, :, :]\n    )\n    template_chi_angles, template_chi_mask = (\n        all_atom_multimer.compute_chi_angles(\n            atom_pos,\n            batch['template_all_atom_mask'][i, :, :],\n            batch['template_aatype'][i, :],\n        )\n    )\n    all_chi_angles.append(template_chi_angles)\n    all_chi_masks.append(template_chi_mask)\n  chi_angles = jnp.stack(all_chi_angles, axis=0)\n  chi_mask = jnp.stack(all_chi_masks, axis=0)\n\n  template_features = jnp.concatenate(\n      [\n          aatype_one_hot,\n          jnp.sin(chi_angles) * chi_mask,\n          jnp.cos(chi_angles) * chi_mask,\n          chi_mask,\n      ],\n      axis=-1,\n  )\n\n  template_mask = chi_mask[:, :, 0]\n\n  if global_config.bfloat16:\n    template_features = template_features.astype(jnp.bfloat16)\n    template_mask = template_mask.astype(jnp.bfloat16)\n\n  template_activations = common_modules.Linear(\n      num_channel, initializer='relu', name='template_single_embedding'\n  )(template_features)\n  template_activations = jax.nn.relu(template_activations)\n  template_activations = common_modules.Linear(\n      num_channel, initializer='relu', name='template_projection'\n  )(template_activations)\n  return template_activations, template_mask\n"
  },
  {
    "path": "alphafold/model/prng.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"A collection of utilities surrounding PRNG usage in protein folding.\"\"\"\n\nimport haiku as hk\nimport jax\n\n\ndef safe_dropout(*, tensor, safe_key, rate, is_deterministic, is_training):\n  if is_training and rate != 0.0 and not is_deterministic:\n    return hk.dropout(safe_key.get(), rate, tensor)\n  else:\n    return tensor\n\n\nclass SafeKey:\n  \"\"\"Safety wrapper for PRNG keys.\"\"\"\n\n  def __init__(self, key):\n    self._key = key\n    self._used = False\n\n  def _assert_not_used(self):\n    if self._used:\n      raise RuntimeError('Random key has been used previously.')\n\n  def get(self):\n    self._assert_not_used()\n    self._used = True\n    return self._key\n\n  def split(self, num_keys=2):\n    self._assert_not_used()\n    self._used = True\n    new_keys = jax.random.split(self._key, num_keys)\n    return jax.tree.map(SafeKey, tuple(new_keys))\n\n  def duplicate(self, num_keys=2):\n    self._assert_not_used()\n    self._used = True\n    return tuple(SafeKey(self._key) for _ in range(num_keys))\n\n\ndef _safe_key_flatten(safe_key):\n  # Flatten transfers \"ownership\" to the tree\n  return (safe_key._key,), safe_key._used  # pylint: disable=protected-access\n\n\ndef _safe_key_unflatten(aux_data, children):\n  ret = SafeKey(children[0])\n  ret._used = aux_data  # pylint: disable=protected-access\n  return ret\n\n\njax.tree_util.register_pytree_node(\n    SafeKey, _safe_key_flatten, _safe_key_unflatten\n)\n"
  },
  {
    "path": "alphafold/model/prng_test.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nfrom absl.testing import absltest\nfrom alphafold.model import prng\nimport jax\n\n\nclass PrngTest(absltest.TestCase):\n\n  def test_key_reuse(self):\n\n    init_key = jax.random.PRNGKey(42)\n    safe_key = prng.SafeKey(init_key)\n    _, safe_key = safe_key.split()\n\n    raw_key = safe_key.get()\n\n    self.assertFalse((raw_key == init_key).all())\n\n    with self.assertRaises(RuntimeError):\n      safe_key.get()\n\n    with self.assertRaises(RuntimeError):\n      safe_key.split()\n\n    with self.assertRaises(RuntimeError):\n      safe_key.duplicate()\n\n\nif __name__ == '__main__':\n  absltest.main()\n"
  },
  {
    "path": "alphafold/model/quat_affine.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Quaternion geometry modules.\n\nThis introduces a representation of coordinate frames that is based around a\n‘QuatAffine’ object. This object describes an array of coordinate frames.\nIt consists of vectors corresponding to the\norigin of the frames as well as orientations which are stored in two\nways, as unit quaternions as well as a rotation matrices.\nThe rotation matrices are derived from the unit quaternions and the two are kept\nin sync.\nFor an explanation of the relation between unit quaternions and rotations see\nhttps://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation\n\nThis representation is used in the model for the backbone frames.\n\nOne important thing to note here, is that while we update both representations\nthe jit compiler is going to ensure that only the parts that are\nactually used are executed.\n\"\"\"\n\n\nimport functools\nfrom typing import Tuple\n\nimport jax\nimport jax.numpy as jnp\nimport numpy as np\n\n# pylint: disable=bad-whitespace\n# pyformat: disable\nQUAT_TO_ROT = np.zeros((4, 4, 3, 3), dtype=np.float32)\n\nQUAT_TO_ROT[0, 0] = [[ 1, 0, 0], [ 0, 1, 0], [ 0, 0, 1]]  # rr\nQUAT_TO_ROT[1, 1] = [[ 1, 0, 0], [ 0,-1, 0], [ 0, 0,-1]]  # ii\nQUAT_TO_ROT[2, 2] = [[-1, 0, 0], [ 0, 1, 0], [ 0, 0,-1]]  # jj\nQUAT_TO_ROT[3, 3] = [[-1, 0, 0], [ 0,-1, 0], [ 0, 0, 1]]  # kk\n\nQUAT_TO_ROT[1, 2] = [[ 0, 2, 0], [ 2, 0, 0], [ 0, 0, 0]]  # ij\nQUAT_TO_ROT[1, 3] = [[ 0, 0, 2], [ 0, 0, 0], [ 2, 0, 0]]  # ik\nQUAT_TO_ROT[2, 3] = [[ 0, 0, 0], [ 0, 0, 2], [ 0, 2, 0]]  # jk\n\nQUAT_TO_ROT[0, 1] = [[ 0, 0, 0], [ 0, 0,-2], [ 0, 2, 0]]  # ir\nQUAT_TO_ROT[0, 2] = [[ 0, 0, 2], [ 0, 0, 0], [-2, 0, 0]]  # jr\nQUAT_TO_ROT[0, 3] = [[ 0,-2, 0], [ 2, 0, 0], [ 0, 0, 0]]  # kr\n\nQUAT_MULTIPLY = np.zeros((4, 4, 4), dtype=np.float32)\nQUAT_MULTIPLY[:, :, 0] = [\n    [1,  0,  0,  0],\n    [0, -1,  0,  0],\n    [0,  0, -1,  0],\n    [0,  0,  0, -1],\n]\n\nQUAT_MULTIPLY[:, :, 1] = [\n    [0,  1,  0,  0],\n    [1,  0,  0,  0],\n    [0,  0,  0,  1],\n    [0,  0, -1,  0],\n]\n\nQUAT_MULTIPLY[:, :, 2] = [\n    [0,  0,  1,  0],\n    [0,  0,  0, -1],\n    [1,  0,  0,  0],\n    [0,  1,  0,  0],\n]\n\nQUAT_MULTIPLY[:, :, 3] = [\n    [0,  0,  0,  1],\n    [0,  0,  1,  0],\n    [0, -1,  0,  0],\n    [1,  0,  0,  0],\n]\n# pyformat: enable\n\nQUAT_MULTIPLY_BY_VEC = QUAT_MULTIPLY[:, 1:, :]\n# pylint: enable=bad-whitespace\n\n\ndef rot_to_quat(rot, unstack_inputs=False):\n  \"\"\"Convert rotation matrix to quaternion.\n\n  Note that this function calls self_adjoint_eig which is extremely expensive on\n  the GPU. If at all possible, this function should run on the CPU.\n\n  Args:\n     rot: rotation matrix (see below for format).\n     unstack_inputs:  If true, rotation matrix should be shape (..., 3, 3)\n       otherwise the rotation matrix should be a list of lists of tensors.\n\n  Returns:\n    Quaternion as (..., 4) tensor.\n  \"\"\"\n  if unstack_inputs:\n    rot = [jnp.moveaxis(x, -1, 0) for x in jnp.moveaxis(rot, -2, 0)]\n\n  [[xx, xy, xz], [yx, yy, yz], [zx, zy, zz]] = rot\n\n  # pylint: disable=bad-whitespace\n  # pyformat: disable\n  k = [[ xx + yy + zz,      zy - yz,      xz - zx,      yx - xy,],\n       [      zy - yz, xx - yy - zz,      xy + yx,      xz + zx,],\n       [      xz - zx,      xy + yx, yy - xx - zz,      yz + zy,],\n       [      yx - xy,      xz + zx,      yz + zy, zz - xx - yy,]]\n  # pyformat: enable\n  # pylint: enable=bad-whitespace\n\n  k = (1.0 / 3.0) * jnp.stack([jnp.stack(x, axis=-1) for x in k], axis=-2)\n\n  # Get eigenvalues in non-decreasing order and associated.\n  _, qs = jnp.linalg.eigh(k)\n  return qs[..., -1]\n\n\ndef rot_list_to_tensor(rot_list):\n  \"\"\"Convert list of lists to rotation tensor.\"\"\"\n  return jnp.stack(\n      [\n          jnp.stack(rot_list[0], axis=-1),\n          jnp.stack(rot_list[1], axis=-1),\n          jnp.stack(rot_list[2], axis=-1),\n      ],\n      axis=-2,\n  )\n\n\ndef vec_list_to_tensor(vec_list):\n  \"\"\"Convert list to vector tensor.\"\"\"\n  return jnp.stack(vec_list, axis=-1)\n\n\ndef quat_to_rot(normalized_quat):\n  \"\"\"Convert a normalized quaternion to a rotation matrix.\"\"\"\n  rot_tensor = jnp.sum(\n      np.reshape(QUAT_TO_ROT, (4, 4, 9))\n      * normalized_quat[..., :, None, None]\n      * normalized_quat[..., None, :, None],\n      axis=(-3, -2),\n  )\n  rot = jnp.moveaxis(rot_tensor, -1, 0)  # Unstack.\n  return [\n      [rot[0], rot[1], rot[2]],\n      [rot[3], rot[4], rot[5]],\n      [rot[6], rot[7], rot[8]],\n  ]\n\n\ndef quat_multiply_by_vec(quat, vec):\n  \"\"\"Multiply a quaternion by a pure-vector quaternion.\"\"\"\n  return jnp.sum(\n      QUAT_MULTIPLY_BY_VEC * quat[..., :, None, None] * vec[..., None, :, None],\n      axis=(-3, -2),\n  )\n\n\ndef quat_multiply(quat1, quat2):\n  \"\"\"Multiply a quaternion by another quaternion.\"\"\"\n  return jnp.sum(\n      QUAT_MULTIPLY * quat1[..., :, None, None] * quat2[..., None, :, None],\n      axis=(-3, -2),\n  )\n\n\ndef apply_rot_to_vec(rot, vec, unstack=False):\n  \"\"\"Multiply rotation matrix by a vector.\"\"\"\n  if unstack:\n    x, y, z = [vec[:, i] for i in range(3)]\n  else:\n    x, y, z = vec\n  return [\n      rot[0][0] * x + rot[0][1] * y + rot[0][2] * z,\n      rot[1][0] * x + rot[1][1] * y + rot[1][2] * z,\n      rot[2][0] * x + rot[2][1] * y + rot[2][2] * z,\n  ]\n\n\ndef apply_inverse_rot_to_vec(rot, vec):\n  \"\"\"Multiply the inverse of a rotation matrix by a vector.\"\"\"\n  # Inverse rotation is just transpose\n  return [\n      rot[0][0] * vec[0] + rot[1][0] * vec[1] + rot[2][0] * vec[2],\n      rot[0][1] * vec[0] + rot[1][1] * vec[1] + rot[2][1] * vec[2],\n      rot[0][2] * vec[0] + rot[1][2] * vec[1] + rot[2][2] * vec[2],\n  ]\n\n\nclass QuatAffine(object):\n  \"\"\"Affine transformation represented by quaternion and vector.\"\"\"\n\n  def __init__(\n      self,\n      quaternion,\n      translation,\n      rotation=None,\n      normalize=True,\n      unstack_inputs=False,\n  ):\n    \"\"\"Initialize from quaternion and translation.\n\n    Args:\n      quaternion: Rotation represented by a quaternion, to be applied before\n        translation.  Must be a unit quaternion unless normalize==True.\n      translation: Translation represented as a vector.\n      rotation: Same rotation as the quaternion, represented as a (..., 3, 3)\n        tensor.  If None, rotation will be calculated from the quaternion.\n      normalize: If True, l2 normalize the quaternion on input.\n      unstack_inputs: If True, translation is a vector with last component 3\n    \"\"\"\n\n    if quaternion is not None:\n      assert quaternion.shape[-1] == 4\n\n    if unstack_inputs:\n      if rotation is not None:\n        rotation = [\n            jnp.moveaxis(x, -1, 0)  # Unstack.\n            for x in jnp.moveaxis(rotation, -2, 0)\n        ]  # Unstack.\n      translation = jnp.moveaxis(translation, -1, 0)  # Unstack.\n\n    if normalize and quaternion is not None:\n      quaternion = quaternion / jnp.linalg.norm(\n          quaternion, axis=-1, keepdims=True\n      )\n\n    if rotation is None:\n      rotation = quat_to_rot(quaternion)\n\n    self.quaternion = quaternion\n    self.rotation = [list(row) for row in rotation]\n    self.translation = list(translation)\n\n    assert all(len(row) == 3 for row in self.rotation)\n    assert len(self.translation) == 3\n\n  def to_tensor(self):\n    return jnp.concatenate(\n        [self.quaternion]\n        + [jnp.expand_dims(x, axis=-1) for x in self.translation],\n        axis=-1,\n    )\n\n  def apply_tensor_fn(self, tensor_fn):\n    \"\"\"Return a new QuatAffine with tensor_fn applied (e.g. stop_gradient).\"\"\"\n    return QuatAffine(\n        tensor_fn(self.quaternion),\n        [tensor_fn(x) for x in self.translation],\n        rotation=[[tensor_fn(x) for x in row] for row in self.rotation],\n        normalize=False,\n    )\n\n  def apply_rotation_tensor_fn(self, tensor_fn):\n    \"\"\"Return a new QuatAffine with tensor_fn applied to the rotation part.\"\"\"\n    return QuatAffine(\n        tensor_fn(self.quaternion),\n        [x for x in self.translation],\n        rotation=[[tensor_fn(x) for x in row] for row in self.rotation],\n        normalize=False,\n    )\n\n  def scale_translation(self, position_scale):\n    \"\"\"Return a new quat affine with a different scale for translation.\"\"\"\n\n    return QuatAffine(\n        self.quaternion,\n        [x * position_scale for x in self.translation],\n        rotation=[[x for x in row] for row in self.rotation],\n        normalize=False,\n    )\n\n  @classmethod\n  def from_tensor(cls, tensor, normalize=False):\n    quaternion, tx, ty, tz = jnp.split(tensor, [4, 5, 6], axis=-1)\n    return cls(\n        quaternion, [tx[..., 0], ty[..., 0], tz[..., 0]], normalize=normalize\n    )\n\n  def pre_compose(self, update):\n    \"\"\"Return a new QuatAffine which applies the transformation update first.\n\n    Args:\n      update: Length-6 vector. 3-vector of x, y, and z such that the quaternion\n        update is (1, x, y, z) and zero for the 3-vector is the identity\n        quaternion. 3-vector for translation concatenated.\n\n    Returns:\n      New QuatAffine object.\n    \"\"\"\n    vector_quaternion_update, x, y, z = jnp.split(update, [3, 4, 5], axis=-1)\n    trans_update = [\n        jnp.squeeze(x, axis=-1),\n        jnp.squeeze(y, axis=-1),\n        jnp.squeeze(z, axis=-1),\n    ]\n\n    new_quaternion = self.quaternion + quat_multiply_by_vec(\n        self.quaternion, vector_quaternion_update\n    )\n\n    trans_update = apply_rot_to_vec(self.rotation, trans_update)\n    new_translation = [\n        self.translation[0] + trans_update[0],\n        self.translation[1] + trans_update[1],\n        self.translation[2] + trans_update[2],\n    ]\n\n    return QuatAffine(new_quaternion, new_translation)\n\n  def apply_to_point(self, point, extra_dims=0):\n    \"\"\"Apply affine to a point.\n\n    Args:\n      point: List of 3 tensors to apply affine.\n      extra_dims:  Number of dimensions at the end of the transformed_point\n        shape that are not present in the rotation and translation.  The most\n        common use is rotation N points at once with extra_dims=1 for use in a\n        network.\n\n    Returns:\n      Transformed point after applying affine.\n    \"\"\"\n    rotation = self.rotation\n    translation = self.translation\n    for _ in range(extra_dims):\n      expand_fn = functools.partial(jnp.expand_dims, axis=-1)\n      rotation = jax.tree.map(expand_fn, rotation)\n      translation = jax.tree.map(expand_fn, translation)\n\n    rot_point = apply_rot_to_vec(rotation, point)\n    return [\n        rot_point[0] + translation[0],\n        rot_point[1] + translation[1],\n        rot_point[2] + translation[2],\n    ]\n\n  def invert_point(self, transformed_point, extra_dims=0):\n    \"\"\"Apply inverse of transformation to a point.\n\n    Args:\n      transformed_point: List of 3 tensors to apply affine\n      extra_dims:  Number of dimensions at the end of the transformed_point\n        shape that are not present in the rotation and translation.  The most\n        common use is rotation N points at once with extra_dims=1 for use in a\n        network.\n\n    Returns:\n      Transformed point after applying affine.\n    \"\"\"\n    rotation = self.rotation\n    translation = self.translation\n    for _ in range(extra_dims):\n      expand_fn = functools.partial(jnp.expand_dims, axis=-1)\n      rotation = jax.tree.map(expand_fn, rotation)\n      translation = jax.tree.map(expand_fn, translation)\n\n    rot_point = [\n        transformed_point[0] - translation[0],\n        transformed_point[1] - translation[1],\n        transformed_point[2] - translation[2],\n    ]\n\n    return apply_inverse_rot_to_vec(rotation, rot_point)\n\n  def __repr__(self):\n    return 'QuatAffine(%r, %r)' % (self.quaternion, self.translation)\n\n\ndef _multiply(a, b):\n  return jnp.stack([\n      jnp.array([\n          a[0][0] * b[0][0] + a[0][1] * b[1][0] + a[0][2] * b[2][0],\n          a[0][0] * b[0][1] + a[0][1] * b[1][1] + a[0][2] * b[2][1],\n          a[0][0] * b[0][2] + a[0][1] * b[1][2] + a[0][2] * b[2][2],\n      ]),\n      jnp.array([\n          a[1][0] * b[0][0] + a[1][1] * b[1][0] + a[1][2] * b[2][0],\n          a[1][0] * b[0][1] + a[1][1] * b[1][1] + a[1][2] * b[2][1],\n          a[1][0] * b[0][2] + a[1][1] * b[1][2] + a[1][2] * b[2][2],\n      ]),\n      jnp.array([\n          a[2][0] * b[0][0] + a[2][1] * b[1][0] + a[2][2] * b[2][0],\n          a[2][0] * b[0][1] + a[2][1] * b[1][1] + a[2][2] * b[2][1],\n          a[2][0] * b[0][2] + a[2][1] * b[1][2] + a[2][2] * b[2][2],\n      ]),\n  ])\n\n\ndef make_canonical_transform(\n    n_xyz: jnp.ndarray, ca_xyz: jnp.ndarray, c_xyz: jnp.ndarray\n) -> Tuple[jnp.ndarray, jnp.ndarray]:\n  \"\"\"Returns translation and rotation matrices to canonicalize residue atoms.\n\n  Note that this method does not take care of symmetries. If you provide the\n  atom positions in the non-standard way, the N atom will end up not at\n  [-0.527250, 1.359329, 0.0] but instead at [-0.527250, -1.359329, 0.0]. You\n  need to take care of such cases in your code.\n\n  Args:\n    n_xyz: An array of shape [batch, 3] of nitrogen xyz coordinates.\n    ca_xyz: An array of shape [batch, 3] of carbon alpha xyz coordinates.\n    c_xyz: An array of shape [batch, 3] of carbon xyz coordinates.\n\n  Returns:\n    A tuple (translation, rotation) where:\n      translation is an array of shape [batch, 3] defining the translation.\n      rotation is an array of shape [batch, 3, 3] defining the rotation.\n    After applying the translation and rotation to all atoms in a residue:\n      * All atoms will be shifted so that CA is at the origin,\n      * All atoms will be rotated so that C is at the x-axis,\n      * All atoms will be shifted so that N is in the xy plane.\n  \"\"\"\n  assert len(n_xyz.shape) == 2, n_xyz.shape\n  assert n_xyz.shape[-1] == 3, n_xyz.shape\n  assert n_xyz.shape == ca_xyz.shape == c_xyz.shape, (\n      n_xyz.shape,\n      ca_xyz.shape,\n      c_xyz.shape,\n  )\n\n  # Place CA at the origin.\n  translation = -ca_xyz\n  n_xyz = n_xyz + translation\n  c_xyz = c_xyz + translation\n\n  # Place C on the x-axis.\n  c_x, c_y, c_z = [c_xyz[:, i] for i in range(3)]\n  # Rotate by angle c1 in the x-y plane (around the z-axis).\n  sin_c1 = -c_y / jnp.sqrt(1e-20 + c_x**2 + c_y**2)\n  cos_c1 = c_x / jnp.sqrt(1e-20 + c_x**2 + c_y**2)\n  zeros = jnp.zeros_like(sin_c1)\n  ones = jnp.ones_like(sin_c1)\n  # pylint: disable=bad-whitespace\n  c1_rot_matrix = jnp.stack([\n      jnp.array([cos_c1, -sin_c1, zeros]),\n      jnp.array([sin_c1, cos_c1, zeros]),\n      jnp.array([zeros, zeros, ones]),\n  ])\n\n  # Rotate by angle c2 in the x-z plane (around the y-axis).\n  sin_c2 = c_z / jnp.sqrt(1e-20 + c_x**2 + c_y**2 + c_z**2)\n  cos_c2 = jnp.sqrt(c_x**2 + c_y**2) / jnp.sqrt(\n      1e-20 + c_x**2 + c_y**2 + c_z**2\n  )\n  c2_rot_matrix = jnp.stack([\n      jnp.array([cos_c2, zeros, sin_c2]),\n      jnp.array([zeros, ones, zeros]),\n      jnp.array([-sin_c2, zeros, cos_c2]),\n  ])\n\n  c_rot_matrix = _multiply(c2_rot_matrix, c1_rot_matrix)\n  n_xyz = jnp.stack(apply_rot_to_vec(c_rot_matrix, n_xyz, unstack=True)).T\n\n  # Place N in the x-y plane.\n  _, n_y, n_z = [n_xyz[:, i] for i in range(3)]\n  # Rotate by angle alpha in the y-z plane (around the x-axis).\n  sin_n = -n_z / jnp.sqrt(1e-20 + n_y**2 + n_z**2)\n  cos_n = n_y / jnp.sqrt(1e-20 + n_y**2 + n_z**2)\n  n_rot_matrix = jnp.stack([\n      jnp.array([ones, zeros, zeros]),\n      jnp.array([zeros, cos_n, -sin_n]),\n      jnp.array([zeros, sin_n, cos_n]),\n  ])\n  # pylint: enable=bad-whitespace\n\n  return (\n      translation,\n      jnp.transpose(_multiply(n_rot_matrix, c_rot_matrix), [2, 0, 1]),\n  )\n\n\ndef make_transform_from_reference(\n    n_xyz: jnp.ndarray, ca_xyz: jnp.ndarray, c_xyz: jnp.ndarray\n) -> Tuple[jnp.ndarray, jnp.ndarray]:\n  \"\"\"Returns rotation and translation matrices to convert from reference.\n\n  Note that this method does not take care of symmetries. If you provide the\n  atom positions in the non-standard way, the N atom will end up not at\n  [-0.527250, 1.359329, 0.0] but instead at [-0.527250, -1.359329, 0.0]. You\n  need to take care of such cases in your code.\n\n  Args:\n    n_xyz: An array of shape [batch, 3] of nitrogen xyz coordinates.\n    ca_xyz: An array of shape [batch, 3] of carbon alpha xyz coordinates.\n    c_xyz: An array of shape [batch, 3] of carbon xyz coordinates.\n\n  Returns:\n    A tuple (rotation, translation) where:\n      rotation is an array of shape [batch, 3, 3] defining the rotation.\n      translation is an array of shape [batch, 3] defining the translation.\n    After applying the translation and rotation to the reference backbone,\n    the coordinates will approximately equal to the input coordinates.\n\n    The order of translation and rotation differs from make_canonical_transform\n    because the rotation from this function should be applied before the\n    translation, unlike make_canonical_transform.\n  \"\"\"\n  translation, rotation = make_canonical_transform(n_xyz, ca_xyz, c_xyz)\n  return np.transpose(rotation, (0, 2, 1)), -translation\n"
  },
  {
    "path": "alphafold/model/quat_affine_test.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nfrom absl import logging\nfrom absl.testing import absltest\nfrom alphafold.model import quat_affine\nimport jax\nimport jax.numpy as jnp\nimport numpy as np\n\nVERBOSE = False\nnp.set_printoptions(precision=3, suppress=True)\n\nr2t = quat_affine.rot_list_to_tensor\nv2t = quat_affine.vec_list_to_tensor\n\nq2r = lambda q: r2t(quat_affine.quat_to_rot(q))\n\n\nclass QuatAffineTest(absltest.TestCase):\n\n  def _assert_check(self, to_check, tol=1e-5):\n    for k, (correct, generated) in to_check.items():\n      if VERBOSE:\n        logging.info(k)\n        logging.info('Correct %s', correct)\n        logging.info('Predicted %s', generated)\n      self.assertLess(np.max(np.abs(correct - generated)), tol)\n\n  def test_conversion(self):\n    quat = jnp.array([-2.0, 5.0, -1.0, 4.0])\n\n    rotation = jnp.array([\n        [0.26087, 0.130435, 0.956522],\n        [-0.565217, -0.782609, 0.26087],\n        [0.782609, -0.608696, -0.130435],\n    ])\n\n    translation = jnp.array([1.0, -3.0, 4.0])\n    point = jnp.array([0.7, 3.2, -2.9])\n\n    a = quat_affine.QuatAffine(quat, translation, unstack_inputs=True)\n    true_new_point = jnp.matmul(rotation, point[:, None])[:, 0] + translation\n\n    self._assert_check({\n        'rot': (rotation, r2t(a.rotation)),\n        'trans': (translation, v2t(a.translation)),\n        'point': (\n            true_new_point,\n            v2t(a.apply_to_point(jnp.moveaxis(point, -1, 0))),\n        ),\n        # Because of the double cover, we must be careful and compare rotations\n        'quat': (q2r(a.quaternion), q2r(quat_affine.rot_to_quat(a.rotation))),\n    })\n\n  def test_double_cover(self):\n    \"\"\"Test that -q is the same rotation as q.\"\"\"\n    rng = jax.random.PRNGKey(42)\n    keys = jax.random.split(rng)\n    q = jax.random.normal(keys[0], (2, 4))\n    trans = jax.random.normal(keys[1], (2, 3))\n    a1 = quat_affine.QuatAffine(q, trans, unstack_inputs=True)\n    a2 = quat_affine.QuatAffine(-q, trans, unstack_inputs=True)\n\n    self._assert_check({\n        'rot': (r2t(a1.rotation), r2t(a2.rotation)),\n        'trans': (v2t(a1.translation), v2t(a2.translation)),\n    })\n\n  def test_homomorphism(self):\n    rng = jax.random.PRNGKey(42)\n    keys = jax.random.split(rng, 4)\n    vec_q1 = jax.random.normal(keys[0], (2, 3))\n\n    q1 = jnp.concatenate([jnp.ones_like(vec_q1)[:, :1], vec_q1], axis=-1)\n\n    q2 = jax.random.normal(keys[1], (2, 4))\n    t1 = jax.random.normal(keys[2], (2, 3))\n    t2 = jax.random.normal(keys[3], (2, 3))\n\n    a1 = quat_affine.QuatAffine(q1, t1, unstack_inputs=True)\n    a2 = quat_affine.QuatAffine(q2, t2, unstack_inputs=True)\n    a21 = a2.pre_compose(jnp.concatenate([vec_q1, t1], axis=-1))\n\n    rng, key = jax.random.split(rng)\n    x = jax.random.normal(key, (2, 3))\n    new_x = a21.apply_to_point(jnp.moveaxis(x, -1, 0))\n    new_x_apply2 = a2.apply_to_point(a1.apply_to_point(jnp.moveaxis(x, -1, 0)))\n\n    self._assert_check({\n        'quat': (\n            q2r(quat_affine.quat_multiply(a2.quaternion, a1.quaternion)),\n            q2r(a21.quaternion),\n        ),\n        'rot': (\n            jnp.matmul(r2t(a2.rotation), r2t(a1.rotation)),\n            r2t(a21.rotation),\n        ),\n        'point': (v2t(new_x_apply2), v2t(new_x)),\n        'inverse': (x, v2t(a21.invert_point(new_x))),\n    })\n\n  def test_batching(self):\n    \"\"\"Test that affine applies batchwise.\"\"\"\n    rng = jax.random.PRNGKey(42)\n    keys = jax.random.split(rng, 3)\n    q = jax.random.uniform(keys[0], (5, 2, 4))\n    t = jax.random.uniform(keys[1], (2, 3))\n    x = jax.random.uniform(keys[2], (5, 1, 3))\n\n    a = quat_affine.QuatAffine(q, t, unstack_inputs=True)\n    y = v2t(a.apply_to_point(jnp.moveaxis(x, -1, 0)))\n\n    y_list = []\n    for i in range(5):\n      for j in range(2):\n        a_local = quat_affine.QuatAffine(q[i, j], t[j], unstack_inputs=True)\n        y_local = v2t(a_local.apply_to_point(jnp.moveaxis(x[i, 0], -1, 0)))\n        y_list.append(y_local)\n    y_combine = jnp.reshape(jnp.stack(y_list, axis=0), (5, 2, 3))\n\n    self._assert_check({\n        'batch': (y_combine, y),\n        'quat': (q2r(a.quaternion), q2r(quat_affine.rot_to_quat(a.rotation))),\n    })\n\n  def assertAllClose(self, a, b, rtol=1e-06, atol=1e-06):\n    self.assertTrue(np.allclose(a, b, rtol=rtol, atol=atol))\n\n  def assertAllEqual(self, a, b):\n    self.assertTrue(np.all(np.array(a) == np.array(b)))\n\n\nif __name__ == '__main__':\n  absltest.main()\n"
  },
  {
    "path": "alphafold/model/r3.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Transformations for 3D coordinates.\n\nThis Module contains objects for representing Vectors (Vecs), Rotation Matrices\n(Rots) and proper Rigid transformation (Rigids). These are represented as\nnamed tuples with arrays for each entry, for example a set of\n[N, M] points would be represented as a Vecs object with arrays of shape [N, M]\nfor x, y and z.\n\nThis is being done to improve readability by making it very clear what objects\nare geometric objects rather than relying on comments and array shapes.\nAnother reason for this is to avoid using matrix\nmultiplication primitives like matmul or einsum, on modern accelerator hardware\nthese can end up on specialized cores such as tensor cores on GPU or the MXU on\ncloud TPUs, this often involves lower computational precision which can be\nproblematic for coordinate geometry. Also these cores are typically optimized\nfor larger matrices than 3 dimensional, this code is written to avoid any\nunintended use of these cores on both GPUs and TPUs.\n\"\"\"\n\nimport collections\nfrom typing import List\n\nfrom alphafold.model import quat_affine\nfrom jax import tree\nimport jax.numpy as jnp\n\n\n# Array of 3-component vectors, stored as individual array for\n# each component.\nVecs = collections.namedtuple('Vecs', ['x', 'y', 'z'])\n\n# Array of 3x3 rotation matrices, stored as individual array for\n# each component.\nRots = collections.namedtuple(\n    'Rots', ['xx', 'xy', 'xz', 'yx', 'yy', 'yz', 'zx', 'zy', 'zz']\n)\n# Array of rigid 3D transformations, stored as array of rotations and\n# array of translations.\nRigids = collections.namedtuple('Rigids', ['rot', 'trans'])\n\n\ndef squared_difference(x, y):\n  return jnp.square(x - y)\n\n\ndef invert_rigids(r: Rigids) -> Rigids:\n  \"\"\"Computes group inverse of rigid transformations 'r'.\"\"\"\n  inv_rots = invert_rots(r.rot)\n  t = rots_mul_vecs(inv_rots, r.trans)\n  inv_trans = Vecs(-t.x, -t.y, -t.z)\n  return Rigids(inv_rots, inv_trans)\n\n\ndef invert_rots(m: Rots) -> Rots:\n  \"\"\"Computes inverse of rotations 'm'.\"\"\"\n  return Rots(m.xx, m.yx, m.zx, m.xy, m.yy, m.zy, m.xz, m.yz, m.zz)\n\n\ndef rigids_from_3_points(\n    point_on_neg_x_axis: Vecs,  # shape (...)\n    origin: Vecs,  # shape (...)\n    point_on_xy_plane: Vecs,  # shape (...)\n) -> Rigids:  # shape (...)\n  \"\"\"Create Rigids from 3 points.\n\n  Jumper et al. (2021) Suppl. Alg. 21 \"rigidFrom3Points\"\n  This creates a set of rigid transformations from 3 points by Gram Schmidt\n  orthogonalization.\n\n  Args:\n    point_on_neg_x_axis: Vecs corresponding to points on the negative x axis\n    origin: Origin of resulting rigid transformations\n    point_on_xy_plane: Vecs corresponding to points in the xy plane\n\n  Returns:\n    Rigid transformations from global frame to local frames derived from\n    the input points.\n  \"\"\"\n  m = rots_from_two_vecs(\n      e0_unnormalized=vecs_sub(origin, point_on_neg_x_axis),\n      e1_unnormalized=vecs_sub(point_on_xy_plane, origin),\n  )\n\n  return Rigids(rot=m, trans=origin)\n\n\ndef rigids_from_list(l: List[jnp.ndarray]) -> Rigids:\n  \"\"\"Converts flat list of arrays to rigid transformations.\"\"\"\n  assert len(l) == 12\n  return Rigids(Rots(*(l[:9])), Vecs(*(l[9:])))\n\n\ndef rigids_from_quataffine(a: quat_affine.QuatAffine) -> Rigids:\n  \"\"\"Converts QuatAffine object to the corresponding Rigids object.\"\"\"\n  return Rigids(Rots(*tree.flatten(a.rotation)[0]), Vecs(*a.translation))\n\n\ndef rigids_from_tensor4x4(\n    m: jnp.ndarray,  # shape (..., 4, 4)\n) -> Rigids:  # shape (...)\n  \"\"\"Construct Rigids object from an 4x4 array.\n\n  Here the 4x4 is representing the transformation in homogeneous coordinates.\n\n  Args:\n    m: Array representing transformations in homogeneous coordinates.\n\n  Returns:\n    Rigids object corresponding to transformations m\n  \"\"\"\n  assert m.shape[-1] == 4\n  assert m.shape[-2] == 4\n  return Rigids(\n      Rots(\n          m[..., 0, 0],\n          m[..., 0, 1],\n          m[..., 0, 2],\n          m[..., 1, 0],\n          m[..., 1, 1],\n          m[..., 1, 2],\n          m[..., 2, 0],\n          m[..., 2, 1],\n          m[..., 2, 2],\n      ),\n      Vecs(m[..., 0, 3], m[..., 1, 3], m[..., 2, 3]),\n  )\n\n\ndef rigids_from_tensor_flat9(\n    m: jnp.ndarray,  # shape (..., 9)\n) -> Rigids:  # shape (...)\n  \"\"\"Flat9 encoding: first two columns of rotation matrix + translation.\"\"\"\n  assert m.shape[-1] == 9\n  e0 = Vecs(m[..., 0], m[..., 1], m[..., 2])\n  e1 = Vecs(m[..., 3], m[..., 4], m[..., 5])\n  trans = Vecs(m[..., 6], m[..., 7], m[..., 8])\n  return Rigids(rot=rots_from_two_vecs(e0, e1), trans=trans)\n\n\ndef rigids_from_tensor_flat12(\n    m: jnp.ndarray,  # shape (..., 12)\n) -> Rigids:  # shape (...)\n  \"\"\"Flat12 encoding: rotation matrix (9 floats) + translation (3 floats).\"\"\"\n  assert m.shape[-1] == 12\n  x = jnp.moveaxis(m, -1, 0)  # Unstack\n  return Rigids(Rots(*x[:9]), Vecs(*x[9:]))\n\n\ndef rigids_mul_rigids(a: Rigids, b: Rigids) -> Rigids:\n  \"\"\"Group composition of Rigids 'a' and 'b'.\"\"\"\n  return Rigids(\n      rots_mul_rots(a.rot, b.rot),\n      vecs_add(a.trans, rots_mul_vecs(a.rot, b.trans)),\n  )\n\n\ndef rigids_mul_rots(r: Rigids, m: Rots) -> Rigids:\n  \"\"\"Compose rigid transformations 'r' with rotations 'm'.\"\"\"\n  return Rigids(rots_mul_rots(r.rot, m), r.trans)\n\n\ndef rigids_mul_vecs(r: Rigids, v: Vecs) -> Vecs:\n  \"\"\"Apply rigid transforms 'r' to points 'v'.\"\"\"\n  return vecs_add(rots_mul_vecs(r.rot, v), r.trans)\n\n\ndef rigids_to_list(r: Rigids) -> List[jnp.ndarray]:\n  \"\"\"Turn Rigids into flat list, inverse of 'rigids_from_list'.\"\"\"\n  return list(r.rot) + list(r.trans)\n\n\ndef rigids_to_quataffine(r: Rigids) -> quat_affine.QuatAffine:\n  \"\"\"Convert Rigids r into QuatAffine, inverse of 'rigids_from_quataffine'.\"\"\"\n  return quat_affine.QuatAffine(\n      quaternion=None,\n      rotation=[\n          [r.rot.xx, r.rot.xy, r.rot.xz],\n          [r.rot.yx, r.rot.yy, r.rot.yz],\n          [r.rot.zx, r.rot.zy, r.rot.zz],\n      ],\n      translation=[r.trans.x, r.trans.y, r.trans.z],\n  )\n\n\ndef rigids_to_tensor_flat9(\n    r: Rigids,  # shape (...)\n) -> jnp.ndarray:  # shape (..., 9)\n  \"\"\"Flat9 encoding: first two columns of rotation matrix + translation.\"\"\"\n  return jnp.stack(\n      [r.rot.xx, r.rot.yx, r.rot.zx, r.rot.xy, r.rot.yy, r.rot.zy]\n      + list(r.trans),\n      axis=-1,\n  )\n\n\ndef rigids_to_tensor_flat12(\n    r: Rigids,  # shape (...)\n) -> jnp.ndarray:  # shape (..., 12)\n  \"\"\"Flat12 encoding: rotation matrix (9 floats) + translation (3 floats).\"\"\"\n  return jnp.stack(list(r.rot) + list(r.trans), axis=-1)\n\n\ndef rots_from_tensor3x3(\n    m: jnp.ndarray,  # shape (..., 3, 3)\n) -> Rots:  # shape (...)\n  \"\"\"Convert rotations represented as (3, 3) array to Rots.\"\"\"\n  assert m.shape[-1] == 3\n  assert m.shape[-2] == 3\n  return Rots(\n      m[..., 0, 0],\n      m[..., 0, 1],\n      m[..., 0, 2],\n      m[..., 1, 0],\n      m[..., 1, 1],\n      m[..., 1, 2],\n      m[..., 2, 0],\n      m[..., 2, 1],\n      m[..., 2, 2],\n  )\n\n\ndef rots_from_two_vecs(e0_unnormalized: Vecs, e1_unnormalized: Vecs) -> Rots:\n  \"\"\"Create rotation matrices from unnormalized vectors for the x and y-axes.\n\n  This creates a rotation matrix from two vectors using Gram-Schmidt\n  orthogonalization.\n\n  Args:\n    e0_unnormalized: vectors lying along x-axis of resulting rotation\n    e1_unnormalized: vectors lying in xy-plane of resulting rotation\n\n  Returns:\n    Rotations resulting from Gram-Schmidt procedure.\n  \"\"\"\n  # Normalize the unit vector for the x-axis, e0.\n  e0 = vecs_robust_normalize(e0_unnormalized)\n\n  # make e1 perpendicular to e0.\n  c = vecs_dot_vecs(e1_unnormalized, e0)\n  e1 = Vecs(\n      e1_unnormalized.x - c * e0.x,\n      e1_unnormalized.y - c * e0.y,\n      e1_unnormalized.z - c * e0.z,\n  )\n  e1 = vecs_robust_normalize(e1)\n\n  # Compute e2 as cross product of e0 and e1.\n  e2 = vecs_cross_vecs(e0, e1)\n\n  return Rots(e0.x, e1.x, e2.x, e0.y, e1.y, e2.y, e0.z, e1.z, e2.z)\n\n\ndef rots_mul_rots(a: Rots, b: Rots) -> Rots:\n  \"\"\"Composition of rotations 'a' and 'b'.\"\"\"\n  c0 = rots_mul_vecs(a, Vecs(b.xx, b.yx, b.zx))\n  c1 = rots_mul_vecs(a, Vecs(b.xy, b.yy, b.zy))\n  c2 = rots_mul_vecs(a, Vecs(b.xz, b.yz, b.zz))\n  return Rots(c0.x, c1.x, c2.x, c0.y, c1.y, c2.y, c0.z, c1.z, c2.z)\n\n\ndef rots_mul_vecs(m: Rots, v: Vecs) -> Vecs:\n  \"\"\"Apply rotations 'm' to vectors 'v'.\"\"\"\n  return Vecs(\n      m.xx * v.x + m.xy * v.y + m.xz * v.z,\n      m.yx * v.x + m.yy * v.y + m.yz * v.z,\n      m.zx * v.x + m.zy * v.y + m.zz * v.z,\n  )\n\n\ndef vecs_add(v1: Vecs, v2: Vecs) -> Vecs:\n  \"\"\"Add two vectors 'v1' and 'v2'.\"\"\"\n  return Vecs(v1.x + v2.x, v1.y + v2.y, v1.z + v2.z)\n\n\ndef vecs_dot_vecs(v1: Vecs, v2: Vecs) -> jnp.ndarray:\n  \"\"\"Dot product of vectors 'v1' and 'v2'.\"\"\"\n  return v1.x * v2.x + v1.y * v2.y + v1.z * v2.z\n\n\ndef vecs_cross_vecs(v1: Vecs, v2: Vecs) -> Vecs:\n  \"\"\"Cross product of vectors 'v1' and 'v2'.\"\"\"\n  return Vecs(\n      v1.y * v2.z - v1.z * v2.y,\n      v1.z * v2.x - v1.x * v2.z,\n      v1.x * v2.y - v1.y * v2.x,\n  )\n\n\ndef vecs_from_tensor(x: jnp.ndarray) -> Vecs:  # shape (..., 3)  # shape (...)\n  \"\"\"Converts from tensor of shape (3,) to Vecs.\"\"\"\n  num_components = x.shape[-1]\n  assert num_components == 3\n  return Vecs(x[..., 0], x[..., 1], x[..., 2])\n\n\ndef vecs_robust_normalize(v: Vecs, epsilon: float = 1e-8) -> Vecs:\n  \"\"\"Normalizes vectors 'v'.\n\n  Args:\n    v: vectors to be normalized.\n    epsilon: small regularizer added to squared norm before taking square root.\n\n  Returns:\n    normalized vectors\n  \"\"\"\n  norms = vecs_robust_norm(v, epsilon)\n  return Vecs(v.x / norms, v.y / norms, v.z / norms)\n\n\ndef vecs_robust_norm(v: Vecs, epsilon: float = 1e-8) -> jnp.ndarray:\n  \"\"\"Computes norm of vectors 'v'.\n\n  Args:\n    v: vectors to be normalized.\n    epsilon: small regularizer added to squared norm before taking square root.\n\n  Returns:\n    norm of 'v'\n  \"\"\"\n  return jnp.sqrt(jnp.square(v.x) + jnp.square(v.y) + jnp.square(v.z) + epsilon)\n\n\ndef vecs_sub(v1: Vecs, v2: Vecs) -> Vecs:\n  \"\"\"Computes v1 - v2.\"\"\"\n  return Vecs(v1.x - v2.x, v1.y - v2.y, v1.z - v2.z)\n\n\ndef vecs_squared_distance(v1: Vecs, v2: Vecs) -> jnp.ndarray:\n  \"\"\"Computes squared euclidean difference between 'v1' and 'v2'.\"\"\"\n  return (\n      squared_difference(v1.x, v2.x)\n      + squared_difference(v1.y, v2.y)\n      + squared_difference(v1.z, v2.z)\n  )\n\n\ndef vecs_to_tensor(v: Vecs) -> jnp.ndarray:  # shape (...)  # shape(..., 3)\n  \"\"\"Converts 'v' to tensor with shape 3, inverse of 'vecs_from_tensor'.\"\"\"\n  return jnp.stack([v.x, v.y, v.z], axis=-1)\n"
  },
  {
    "path": "alphafold/model/tf/__init__.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\"\"\"Alphafold model TensorFlow code.\"\"\"\n"
  },
  {
    "path": "alphafold/model/tf/data_transforms.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Data for AlphaFold.\"\"\"\n\nfrom alphafold.common import residue_constants\nfrom alphafold.model.tf import shape_helpers\nfrom alphafold.model.tf import shape_placeholders\nfrom alphafold.model.tf import utils\nimport numpy as np\nimport tensorflow.compat.v1 as tf\n\n# Pylint gets confused by the curry1 decorator because it changes the number\n#   of arguments to the function.\n# pylint:disable=no-value-for-parameter\n\n\nNUM_RES = shape_placeholders.NUM_RES\nNUM_MSA_SEQ = shape_placeholders.NUM_MSA_SEQ\nNUM_EXTRA_SEQ = shape_placeholders.NUM_EXTRA_SEQ\nNUM_TEMPLATES = shape_placeholders.NUM_TEMPLATES\n\n\ndef cast_64bit_ints(protein):\n\n  for k, v in protein.items():\n    if v.dtype == tf.int64:\n      protein[k] = tf.cast(v, tf.int32)\n  return protein\n\n\n_MSA_FEATURE_NAMES = [\n    'msa',\n    'deletion_matrix',\n    'msa_mask',\n    'msa_row_mask',\n    'bert_mask',\n    'true_msa',\n]\n\n\ndef make_seq_mask(protein):\n  protein['seq_mask'] = tf.ones(\n      shape_helpers.shape_list(protein['aatype']), dtype=tf.float32\n  )\n  return protein\n\n\ndef make_template_mask(protein):\n  protein['template_mask'] = tf.ones(\n      shape_helpers.shape_list(protein['template_domain_names']),\n      dtype=tf.float32,\n  )\n  return protein\n\n\ndef curry1(f):\n  \"\"\"Supply all arguments but the first.\"\"\"\n\n  def fc(*args, **kwargs):\n    return lambda x: f(x, *args, **kwargs)\n\n  return fc\n\n\n@curry1\ndef add_distillation_flag(protein, distillation):\n  protein['is_distillation'] = tf.constant(\n      float(distillation), shape=[], dtype=tf.float32\n  )\n  return protein\n\n\ndef make_all_atom_aatype(protein):\n  protein['all_atom_aatype'] = protein['aatype']\n  return protein\n\n\ndef fix_templates_aatype(protein):\n  \"\"\"Fixes aatype encoding of templates.\"\"\"\n  # Map one-hot to indices.\n  protein['template_aatype'] = tf.argmax(\n      protein['template_aatype'], output_type=tf.int32, axis=-1\n  )\n  # Map hhsearch-aatype to our aatype.\n  new_order_list = residue_constants.MAP_HHBLITS_AATYPE_TO_OUR_AATYPE\n  new_order = tf.constant(new_order_list, dtype=tf.int32)\n  protein['template_aatype'] = tf.gather(\n      params=new_order, indices=protein['template_aatype']\n  )\n  return protein\n\n\ndef correct_msa_restypes(protein):\n  \"\"\"Correct MSA restype to have the same order as residue_constants.\"\"\"\n  new_order_list = residue_constants.MAP_HHBLITS_AATYPE_TO_OUR_AATYPE\n  new_order = tf.constant(new_order_list, dtype=protein['msa'].dtype)\n  protein['msa'] = tf.gather(new_order, protein['msa'], axis=0)\n\n  perm_matrix = np.zeros((22, 22), dtype=np.float32)\n  perm_matrix[range(len(new_order_list)), new_order_list] = 1.0\n\n  for k in protein:\n    if 'profile' in k:  # Include both hhblits and psiblast profiles\n      num_dim = protein[k].shape.as_list()[-1]\n      assert num_dim in [\n          20,\n          21,\n          22,\n      ], 'num_dim for %s out of expected range: %s' % (k, num_dim)\n      protein[k] = tf.tensordot(protein[k], perm_matrix[:num_dim, :num_dim], 1)\n  return protein\n\n\ndef squeeze_features(protein):\n  \"\"\"Remove singleton and repeated dimensions in protein features.\"\"\"\n  protein['aatype'] = tf.argmax(\n      protein['aatype'], axis=-1, output_type=tf.int32\n  )\n  for k in [\n      'domain_name',\n      'msa',\n      'num_alignments',\n      'seq_length',\n      'sequence',\n      'superfamily',\n      'deletion_matrix',\n      'resolution',\n      'between_segment_residues',\n      'residue_index',\n      'template_all_atom_masks',\n  ]:\n    if k in protein:\n      final_dim = shape_helpers.shape_list(protein[k])[-1]\n      if isinstance(final_dim, int) and final_dim == 1:\n        protein[k] = tf.squeeze(protein[k], axis=-1)\n\n  for k in ['seq_length', 'num_alignments']:\n    if k in protein:\n      protein[k] = protein[k][0]  # Remove fake sequence dimension\n  return protein\n\n\ndef make_random_crop_to_size_seed(protein):\n  \"\"\"Random seed for cropping residues and templates.\"\"\"\n  protein['random_crop_to_size_seed'] = utils.make_random_seed()\n  return protein\n\n\n@curry1\ndef randomly_replace_msa_with_unknown(protein, replace_proportion):\n  \"\"\"Replace a proportion of the MSA with 'X'.\"\"\"\n  msa_mask = (\n      tf.random.uniform(shape_helpers.shape_list(protein['msa']))\n      < replace_proportion\n  )\n  x_idx = 20\n  gap_idx = 21\n  msa_mask = tf.logical_and(msa_mask, protein['msa'] != gap_idx)\n  protein['msa'] = tf.where(\n      msa_mask, tf.ones_like(protein['msa']) * x_idx, protein['msa']\n  )\n  aatype_mask = (\n      tf.random.uniform(shape_helpers.shape_list(protein['aatype']))\n      < replace_proportion\n  )\n\n  protein['aatype'] = tf.where(\n      aatype_mask, tf.ones_like(protein['aatype']) * x_idx, protein['aatype']\n  )\n  return protein\n\n\n@curry1\ndef sample_msa(protein, max_seq, keep_extra):\n  \"\"\"Sample MSA randomly, remaining sequences are stored as `extra_*`.\n\n  Args:\n    protein: batch to sample msa from.\n    max_seq: number of sequences to sample.\n    keep_extra: When True sequences not sampled are put into fields starting\n      with 'extra_*'.\n\n  Returns:\n    Protein with sampled msa.\n  \"\"\"\n  num_seq = tf.shape(protein['msa'])[0]\n  shuffled = tf.random_shuffle(tf.range(1, num_seq))\n  index_order = tf.concat([[0], shuffled], axis=0)\n  num_sel = tf.minimum(max_seq, num_seq)\n\n  sel_seq, not_sel_seq = tf.split(index_order, [num_sel, num_seq - num_sel])\n\n  for k in _MSA_FEATURE_NAMES:\n    if k in protein:\n      if keep_extra:\n        protein['extra_' + k] = tf.gather(protein[k], not_sel_seq)\n      protein[k] = tf.gather(protein[k], sel_seq)\n\n  return protein\n\n\n@curry1\ndef crop_extra_msa(protein, max_extra_msa):\n  \"\"\"MSA features are cropped so only `max_extra_msa` sequences are kept.\"\"\"\n  num_seq = tf.shape(protein['extra_msa'])[0]\n  num_sel = tf.minimum(max_extra_msa, num_seq)\n  select_indices = tf.random_shuffle(tf.range(0, num_seq))[:num_sel]\n  for k in _MSA_FEATURE_NAMES:\n    if 'extra_' + k in protein:\n      protein['extra_' + k] = tf.gather(protein['extra_' + k], select_indices)\n\n  return protein\n\n\ndef delete_extra_msa(protein):\n  for k in _MSA_FEATURE_NAMES:\n    if 'extra_' + k in protein:\n      del protein['extra_' + k]\n  return protein\n\n\n@curry1\ndef block_delete_msa(protein, config):\n  \"\"\"Sample MSA by deleting contiguous blocks.\n\n  Jumper et al. (2021) Suppl. Alg. 1 \"MSABlockDeletion\"\n\n  Arguments:\n    protein: batch dict containing the msa\n    config: ConfigDict with parameters\n\n  Returns:\n    updated protein\n  \"\"\"\n  num_seq = shape_helpers.shape_list(protein['msa'])[0]\n  block_num_seq = tf.cast(\n      tf.floor(tf.cast(num_seq, tf.float32) * config.msa_fraction_per_block),\n      tf.int32,\n  )\n\n  if config.randomize_num_blocks:\n    nb = tf.random.uniform([], 0, config.num_blocks + 1, dtype=tf.int32)\n  else:\n    nb = config.num_blocks\n\n  del_block_starts = tf.random.uniform([nb], 0, num_seq, dtype=tf.int32)\n  del_blocks = del_block_starts[:, None] + tf.range(block_num_seq)\n  del_blocks = tf.clip_by_value(del_blocks, 0, num_seq - 1)\n  del_indices = tf.unique(tf.sort(tf.reshape(del_blocks, [-1])))[0]\n\n  # Make sure we keep the original sequence\n  sparse_diff = tf.sets.difference(\n      tf.range(1, num_seq)[None], del_indices[None]\n  )\n  keep_indices = tf.squeeze(tf.sparse.to_dense(sparse_diff), 0)\n  keep_indices = tf.concat([[0], keep_indices], axis=0)\n\n  for k in _MSA_FEATURE_NAMES:\n    if k in protein:\n      protein[k] = tf.gather(protein[k], keep_indices)\n\n  return protein\n\n\n@curry1\ndef nearest_neighbor_clusters(protein, gap_agreement_weight=0.0):\n  \"\"\"Assign each extra MSA sequence to its nearest neighbor in sampled MSA.\"\"\"\n\n  # Determine how much weight we assign to each agreement.  In theory, we could\n  # use a full BLOSUM matrix here, but right now let's just down-weight gap\n  # agreement because it could be spurious.\n  # Never put weight on agreeing on BERT mask\n  weights = tf.concat(\n      [tf.ones(21), gap_agreement_weight * tf.ones(1), np.zeros(1)], 0\n  )\n\n  # Make agreement score as weighted Hamming distance\n  sample_one_hot = protein['msa_mask'][:, :, None] * tf.one_hot(\n      protein['msa'], 23\n  )\n  extra_one_hot = protein['extra_msa_mask'][:, :, None] * tf.one_hot(\n      protein['extra_msa'], 23\n  )\n\n  num_seq, num_res, _ = shape_helpers.shape_list(sample_one_hot)\n  extra_num_seq, _, _ = shape_helpers.shape_list(extra_one_hot)\n\n  # Compute tf.einsum('mrc,nrc,c->mn', sample_one_hot, extra_one_hot, weights)\n  # in an optimized fashion to avoid possible memory or computation blowup.\n  agreement = tf.matmul(\n      tf.reshape(extra_one_hot, [extra_num_seq, num_res * 23]),\n      tf.reshape(sample_one_hot * weights, [num_seq, num_res * 23]),\n      transpose_b=True,\n  )\n\n  # Assign each sequence in the extra sequences to the closest MSA sample\n  protein['extra_cluster_assignment'] = tf.argmax(\n      agreement, axis=1, output_type=tf.int32\n  )\n\n  return protein\n\n\n@curry1\ndef summarize_clusters(protein):\n  \"\"\"Produce profile and deletion_matrix_mean within each cluster.\"\"\"\n  num_seq = shape_helpers.shape_list(protein['msa'])[0]\n\n  def csum(x):\n    return tf.math.unsorted_segment_sum(\n        x, protein['extra_cluster_assignment'], num_seq\n    )\n\n  mask = protein['extra_msa_mask']\n  mask_counts = 1e-6 + protein['msa_mask'] + csum(mask)  # Include center\n\n  msa_sum = csum(mask[:, :, None] * tf.one_hot(protein['extra_msa'], 23))\n  msa_sum += tf.one_hot(protein['msa'], 23)  # Original sequence\n  protein['cluster_profile'] = msa_sum / mask_counts[:, :, None]\n\n  del msa_sum\n\n  del_sum = csum(mask * protein['extra_deletion_matrix'])\n  del_sum += protein['deletion_matrix']  # Original sequence\n  protein['cluster_deletion_mean'] = del_sum / mask_counts\n  del del_sum\n\n  return protein\n\n\ndef make_msa_mask(protein):\n  \"\"\"Mask features are all ones, but will later be zero-padded.\"\"\"\n  protein['msa_mask'] = tf.ones(\n      shape_helpers.shape_list(protein['msa']), dtype=tf.float32\n  )\n  protein['msa_row_mask'] = tf.ones(\n      shape_helpers.shape_list(protein['msa'])[0], dtype=tf.float32\n  )\n  return protein\n\n\ndef pseudo_beta_fn(aatype, all_atom_positions, all_atom_masks):\n  \"\"\"Create pseudo beta features.\"\"\"\n  is_gly = tf.equal(aatype, residue_constants.restype_order['G'])\n  ca_idx = residue_constants.atom_order['CA']\n  cb_idx = residue_constants.atom_order['CB']\n  pseudo_beta = tf.where(\n      tf.tile(is_gly[..., None], [1] * len(is_gly.shape) + [3]),\n      all_atom_positions[..., ca_idx, :],\n      all_atom_positions[..., cb_idx, :],\n  )\n\n  if all_atom_masks is not None:\n    pseudo_beta_mask = tf.where(\n        is_gly, all_atom_masks[..., ca_idx], all_atom_masks[..., cb_idx]\n    )\n    pseudo_beta_mask = tf.cast(pseudo_beta_mask, tf.float32)\n    return pseudo_beta, pseudo_beta_mask\n  else:\n    return pseudo_beta\n\n\n@curry1\ndef make_pseudo_beta(protein, prefix=''):\n  \"\"\"Create pseudo-beta (alpha for glycine) position and mask.\"\"\"\n  assert prefix in ['', 'template_']\n  protein[prefix + 'pseudo_beta'], protein[prefix + 'pseudo_beta_mask'] = (\n      pseudo_beta_fn(\n          protein['template_aatype' if prefix else 'all_atom_aatype'],\n          protein[prefix + 'all_atom_positions'],\n          protein['template_all_atom_masks' if prefix else 'all_atom_mask'],\n      )\n  )\n  return protein\n\n\n@curry1\ndef add_constant_field(protein, key, value):\n  protein[key] = tf.convert_to_tensor(value)\n  return protein\n\n\ndef shaped_categorical(probs, epsilon=1e-10):\n  ds = shape_helpers.shape_list(probs)\n  num_classes = ds[-1]\n  counts = tf.random.categorical(\n      tf.reshape(tf.log(probs + epsilon), [-1, num_classes]), 1, dtype=tf.int32\n  )\n  return tf.reshape(counts, ds[:-1])\n\n\ndef make_hhblits_profile(protein):\n  \"\"\"Compute the HHblits MSA profile if not already present.\"\"\"\n  if 'hhblits_profile' in protein:\n    return protein\n\n  # Compute the profile for every residue (over all MSA sequences).\n  protein['hhblits_profile'] = tf.reduce_mean(\n      tf.one_hot(protein['msa'], 22), axis=0\n  )\n  return protein\n\n\n@curry1\ndef make_masked_msa(protein, config, replace_fraction):\n  \"\"\"Create data for BERT on raw MSA.\"\"\"\n  # Add a random amino acid uniformly\n  random_aa = tf.constant([0.05] * 20 + [0.0, 0.0], dtype=tf.float32)\n\n  categorical_probs = (\n      config.uniform_prob * random_aa\n      + config.profile_prob * protein['hhblits_profile']\n      + config.same_prob * tf.one_hot(protein['msa'], 22)\n  )\n\n  # Put all remaining probability on [MASK] which is a new column\n  pad_shapes = [[0, 0] for _ in range(len(categorical_probs.shape))]\n  pad_shapes[-1][1] = 1\n  mask_prob = 1.0 - config.profile_prob - config.same_prob - config.uniform_prob\n  assert mask_prob >= 0.0\n  categorical_probs = tf.pad(\n      categorical_probs, pad_shapes, constant_values=mask_prob\n  )\n\n  sh = shape_helpers.shape_list(protein['msa'])\n  mask_position = tf.random.uniform(sh) < replace_fraction\n\n  bert_msa = shaped_categorical(categorical_probs)\n  bert_msa = tf.where(mask_position, bert_msa, protein['msa'])\n\n  # Mix real and masked MSA\n  protein['bert_mask'] = tf.cast(mask_position, tf.float32)\n  protein['true_msa'] = protein['msa']\n  protein['msa'] = bert_msa\n\n  return protein\n\n\n@curry1\ndef make_fixed_size(\n    protein,\n    shape_schema,\n    msa_cluster_size,\n    extra_msa_size,\n    num_res,\n    num_templates=0,\n):\n  \"\"\"Guess at the MSA and sequence dimensions to make fixed size.\"\"\"\n\n  pad_size_map = {\n      NUM_RES: num_res,\n      NUM_MSA_SEQ: msa_cluster_size,\n      NUM_EXTRA_SEQ: extra_msa_size,\n      NUM_TEMPLATES: num_templates,\n  }\n\n  for k, v in protein.items():\n    # Don't transfer this to the accelerator.\n    if k == 'extra_cluster_assignment':\n      continue\n    shape = v.shape.as_list()\n    schema = shape_schema[k]\n    assert len(shape) == len(schema), (\n        f'Rank mismatch between shape and shape schema for {k}: '\n        f'{shape} vs {schema}'\n    )\n    pad_size = [\n        pad_size_map.get(s2, None) or s1 for (s1, s2) in zip(shape, schema)\n    ]\n    padding = [(0, p - tf.shape(v)[i]) for i, p in enumerate(pad_size)]\n    if padding:\n      protein[k] = tf.pad(v, padding, name=f'pad_to_fixed_{k}')\n      protein[k].set_shape(pad_size)\n\n  return protein\n\n\n@curry1\ndef make_msa_feat(protein):\n  \"\"\"Create and concatenate MSA features.\"\"\"\n  # Whether there is a domain break. Always zero for chains, but keeping\n  # for compatibility with domain datasets.\n  has_break = tf.clip_by_value(\n      tf.cast(protein['between_segment_residues'], tf.float32), 0, 1\n  )\n  aatype_1hot = tf.one_hot(protein['aatype'], 21, axis=-1)\n\n  target_feat = [\n      tf.expand_dims(has_break, axis=-1),\n      aatype_1hot,  # Everyone gets the original sequence.\n  ]\n\n  msa_1hot = tf.one_hot(protein['msa'], 23, axis=-1)\n  has_deletion = tf.clip_by_value(protein['deletion_matrix'], 0.0, 1.0)\n  deletion_value = tf.atan(protein['deletion_matrix'] / 3.0) * (2.0 / np.pi)\n\n  msa_feat = [\n      msa_1hot,\n      tf.expand_dims(has_deletion, axis=-1),\n      tf.expand_dims(deletion_value, axis=-1),\n  ]\n\n  if 'cluster_profile' in protein:\n    deletion_mean_value = tf.atan(protein['cluster_deletion_mean'] / 3.0) * (\n        2.0 / np.pi\n    )\n    msa_feat.extend([\n        protein['cluster_profile'],\n        tf.expand_dims(deletion_mean_value, axis=-1),\n    ])\n\n  if 'extra_deletion_matrix' in protein:\n    protein['extra_has_deletion'] = tf.clip_by_value(\n        protein['extra_deletion_matrix'], 0.0, 1.0\n    )\n    protein['extra_deletion_value'] = tf.atan(\n        protein['extra_deletion_matrix'] / 3.0\n    ) * (2.0 / np.pi)\n\n  protein['msa_feat'] = tf.concat(msa_feat, axis=-1)\n  protein['target_feat'] = tf.concat(target_feat, axis=-1)\n  return protein\n\n\n@curry1\ndef select_feat(protein, feature_list):\n  return {k: v for k, v in protein.items() if k in feature_list}\n\n\n@curry1\ndef crop_templates(protein, max_templates):\n  for k, v in protein.items():\n    if k.startswith('template_'):\n      protein[k] = v[:max_templates]\n  return protein\n\n\n@curry1\ndef random_crop_to_size(\n    protein, crop_size, max_templates, shape_schema, subsample_templates=False\n):\n  \"\"\"Crop randomly to `crop_size`, or keep as is if shorter than that.\"\"\"\n  seq_length = protein['seq_length']\n  if 'template_mask' in protein:\n    num_templates = tf.cast(\n        shape_helpers.shape_list(protein['template_mask'])[0], tf.int32\n    )\n  else:\n    num_templates = tf.constant(0, dtype=tf.int32)\n  num_res_crop_size = tf.math.minimum(seq_length, crop_size)\n\n  # Ensures that the cropping of residues and templates happens in the same way\n  # across ensembling iterations.\n  # Do not use for randomness that should vary in ensembling.\n  seed_maker = utils.SeedMaker(initial_seed=protein['random_crop_to_size_seed'])\n\n  if subsample_templates:\n    templates_crop_start = tf.random.stateless_uniform(\n        shape=(),\n        minval=0,\n        maxval=num_templates + 1,\n        dtype=tf.int32,\n        seed=seed_maker(),\n    )\n  else:\n    templates_crop_start = 0\n\n  num_templates_crop_size = tf.math.minimum(\n      num_templates - templates_crop_start, max_templates\n  )\n\n  num_res_crop_start = tf.random.stateless_uniform(\n      shape=(),\n      minval=0,\n      maxval=seq_length - num_res_crop_size + 1,\n      dtype=tf.int32,\n      seed=seed_maker(),\n  )\n\n  templates_select_indices = tf.argsort(\n      tf.random.stateless_uniform([num_templates], seed=seed_maker())\n  )\n\n  for k, v in protein.items():\n    if k not in shape_schema or (\n        'template' not in k and NUM_RES not in shape_schema[k]\n    ):\n      continue\n\n    # randomly permute the templates before cropping them.\n    if k.startswith('template') and subsample_templates:\n      v = tf.gather(v, templates_select_indices)\n\n    crop_sizes = []\n    crop_starts = []\n    for i, (dim_size, dim) in enumerate(\n        zip(shape_schema[k], shape_helpers.shape_list(v))\n    ):\n      is_num_res = dim_size == NUM_RES\n      if i == 0 and k.startswith('template'):\n        crop_size = num_templates_crop_size\n        crop_start = templates_crop_start\n      else:\n        crop_start = num_res_crop_start if is_num_res else 0\n        crop_size = (\n            num_res_crop_size if is_num_res else (-1 if dim is None else dim)\n        )\n      crop_sizes.append(crop_size)\n      crop_starts.append(crop_start)\n    protein[k] = tf.slice(v, crop_starts, crop_sizes)\n\n  protein['seq_length'] = num_res_crop_size\n  return protein\n\n\ndef make_atom14_masks(protein):\n  \"\"\"Construct denser atom positions (14 dimensions instead of 37).\"\"\"\n  restype_atom14_to_atom37 = []  # mapping (restype, atom14) --> atom37\n  restype_atom37_to_atom14 = []  # mapping (restype, atom37) --> atom14\n  restype_atom14_mask = []\n\n  for rt in residue_constants.restypes:\n    atom_names = residue_constants.restype_name_to_atom14_names[\n        residue_constants.restype_1to3[rt]\n    ]\n\n    restype_atom14_to_atom37.append([\n        (residue_constants.atom_order[name] if name else 0)\n        for name in atom_names\n    ])\n\n    atom_name_to_idx14 = {name: i for i, name in enumerate(atom_names)}\n    restype_atom37_to_atom14.append([\n        (atom_name_to_idx14[name] if name in atom_name_to_idx14 else 0)\n        for name in residue_constants.atom_types\n    ])\n\n    restype_atom14_mask.append([(1.0 if name else 0.0) for name in atom_names])\n\n  # Add dummy mapping for restype 'UNK'\n  restype_atom14_to_atom37.append([0] * 14)\n  restype_atom37_to_atom14.append([0] * 37)\n  restype_atom14_mask.append([0.0] * 14)\n\n  restype_atom14_to_atom37 = np.array(restype_atom14_to_atom37, dtype=np.int32)\n  restype_atom37_to_atom14 = np.array(restype_atom37_to_atom14, dtype=np.int32)\n  restype_atom14_mask = np.array(restype_atom14_mask, dtype=np.float32)\n\n  # create the mapping for (residx, atom14) --> atom37, i.e. an array\n  # with shape (num_res, 14) containing the atom37 indices for this protein\n  residx_atom14_to_atom37 = tf.gather(\n      restype_atom14_to_atom37, protein['aatype']\n  )\n  residx_atom14_mask = tf.gather(restype_atom14_mask, protein['aatype'])\n\n  protein['atom14_atom_exists'] = residx_atom14_mask\n  protein['residx_atom14_to_atom37'] = residx_atom14_to_atom37\n\n  # create the gather indices for mapping back\n  residx_atom37_to_atom14 = tf.gather(\n      restype_atom37_to_atom14, protein['aatype']\n  )\n  protein['residx_atom37_to_atom14'] = residx_atom37_to_atom14\n\n  # create the corresponding mask\n  restype_atom37_mask = np.zeros([21, 37], dtype=np.float32)\n  for restype, restype_letter in enumerate(residue_constants.restypes):\n    restype_name = residue_constants.restype_1to3[restype_letter]\n    atom_names = residue_constants.residue_atoms[restype_name]\n    for atom_name in atom_names:\n      atom_type = residue_constants.atom_order[atom_name]\n      restype_atom37_mask[restype, atom_type] = 1\n\n  residx_atom37_mask = tf.gather(restype_atom37_mask, protein['aatype'])\n  protein['atom37_atom_exists'] = residx_atom37_mask\n\n  return protein\n"
  },
  {
    "path": "alphafold/model/tf/input_pipeline.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Feature pre-processing input pipeline for AlphaFold.\"\"\"\n\nfrom alphafold.model.tf import data_transforms\nfrom alphafold.model.tf import shape_placeholders\nfrom jax import tree\nimport tensorflow.compat.v1 as tf\n\n\n# Pylint gets confused by the curry1 decorator because it changes the number\n#   of arguments to the function.\n# pylint:disable=no-value-for-parameter\n\n\nNUM_RES = shape_placeholders.NUM_RES\nNUM_MSA_SEQ = shape_placeholders.NUM_MSA_SEQ\nNUM_EXTRA_SEQ = shape_placeholders.NUM_EXTRA_SEQ\nNUM_TEMPLATES = shape_placeholders.NUM_TEMPLATES\n\n\ndef nonensembled_map_fns(data_config):\n  \"\"\"Input pipeline functions which are not ensembled.\"\"\"\n  common_cfg = data_config.common\n\n  map_fns = [\n      data_transforms.correct_msa_restypes,\n      data_transforms.add_distillation_flag(False),\n      data_transforms.cast_64bit_ints,\n      data_transforms.squeeze_features,\n      # Keep to not disrupt RNG.\n      data_transforms.randomly_replace_msa_with_unknown(0.0),\n      data_transforms.make_seq_mask,\n      data_transforms.make_msa_mask,\n      # Compute the HHblits profile if it's not set. This has to be run before\n      # sampling the MSA.\n      data_transforms.make_hhblits_profile,\n      data_transforms.make_random_crop_to_size_seed,\n  ]\n  if common_cfg.use_templates:\n    map_fns.extend([\n        data_transforms.fix_templates_aatype,\n        data_transforms.make_template_mask,\n        data_transforms.make_pseudo_beta('template_'),\n    ])\n  map_fns.extend([\n      data_transforms.make_atom14_masks,\n  ])\n\n  return map_fns\n\n\ndef ensembled_map_fns(data_config):\n  \"\"\"Input pipeline functions that can be ensembled and averaged.\"\"\"\n  common_cfg = data_config.common\n  eval_cfg = data_config.eval\n\n  map_fns = []\n\n  if common_cfg.reduce_msa_clusters_by_max_templates:\n    pad_msa_clusters = eval_cfg.max_msa_clusters - eval_cfg.max_templates\n  else:\n    pad_msa_clusters = eval_cfg.max_msa_clusters\n\n  max_msa_clusters = pad_msa_clusters\n  max_extra_msa = common_cfg.max_extra_msa\n\n  map_fns.append(data_transforms.sample_msa(max_msa_clusters, keep_extra=True))\n\n  if 'masked_msa' in common_cfg:\n    # Masked MSA should come *before* MSA clustering so that\n    # the clustering and full MSA profile do not leak information about\n    # the masked locations and secret corrupted locations.\n    map_fns.append(\n        data_transforms.make_masked_msa(\n            common_cfg.masked_msa, eval_cfg.masked_msa_replace_fraction\n        )\n    )\n\n  if common_cfg.msa_cluster_features:\n    map_fns.append(data_transforms.nearest_neighbor_clusters())\n    map_fns.append(data_transforms.summarize_clusters())\n\n  # Crop after creating the cluster profiles.\n  if max_extra_msa:\n    map_fns.append(data_transforms.crop_extra_msa(max_extra_msa))\n  else:\n    map_fns.append(data_transforms.delete_extra_msa)\n\n  map_fns.append(data_transforms.make_msa_feat())\n\n  crop_feats = dict(eval_cfg.feat)\n\n  if eval_cfg.fixed_size:\n    map_fns.append(data_transforms.select_feat(list(crop_feats)))\n    map_fns.append(\n        data_transforms.random_crop_to_size(\n            eval_cfg.crop_size,\n            eval_cfg.max_templates,\n            crop_feats,\n            eval_cfg.subsample_templates,\n        )\n    )\n    map_fns.append(\n        data_transforms.make_fixed_size(\n            crop_feats,\n            pad_msa_clusters,\n            common_cfg.max_extra_msa,\n            eval_cfg.crop_size,\n            eval_cfg.max_templates,\n        )\n    )\n  else:\n    map_fns.append(data_transforms.crop_templates(eval_cfg.max_templates))\n\n  return map_fns\n\n\ndef process_tensors_from_config(tensors, data_config):\n  \"\"\"Apply filters and maps to an existing dataset, based on the config.\"\"\"\n\n  def wrap_ensemble_fn(data, i):\n    \"\"\"Function to be mapped over the ensemble dimension.\"\"\"\n    d = data.copy()\n    fns = ensembled_map_fns(data_config)\n    fn = compose(fns)\n    d['ensemble_index'] = i\n    return fn(d)\n\n  eval_cfg = data_config.eval\n  tensors = compose(nonensembled_map_fns(data_config))(tensors)\n\n  tensors_0 = wrap_ensemble_fn(tensors, tf.constant(0))\n  num_ensemble = eval_cfg.num_ensemble\n  if data_config.common.resample_msa_in_recycling:\n    # Separate batch per ensembling & recycling step.\n    num_ensemble *= data_config.common.num_recycle + 1\n\n  if isinstance(num_ensemble, tf.Tensor) or num_ensemble > 1:\n    fn_output_signature = tree.map(tf.TensorSpec.from_tensor, tensors_0)\n    tensors = tf.map_fn(\n        lambda x: wrap_ensemble_fn(tensors, x),\n        tf.range(num_ensemble),\n        parallel_iterations=1,\n        fn_output_signature=fn_output_signature,\n    )\n  else:\n    tensors = tree.map(lambda x: x[None], tensors_0)\n  return tensors\n\n\n@data_transforms.curry1\ndef compose(x, fs):\n  for f in fs:\n    x = f(x)\n  return x\n"
  },
  {
    "path": "alphafold/model/tf/protein_features.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Contains descriptions of various protein features.\"\"\"\nimport enum\nfrom typing import Dict, Optional, Sequence, Tuple, Union\nfrom alphafold.common import residue_constants\nimport tensorflow.compat.v1 as tf\n\n# Type aliases.\nFeaturesMetadata = Dict[str, Tuple[tf.dtypes.DType, Sequence[Union[str, int]]]]\n\n\nclass FeatureType(enum.Enum):\n  ZERO_DIM = 0  # Shape [x]\n  ONE_DIM = 1  # Shape [num_res, x]\n  TWO_DIM = 2  # Shape [num_res, num_res, x]\n  MSA = 3  # Shape [msa_length, num_res, x]\n\n\n# Placeholder values that will be replaced with their true value at runtime.\nNUM_RES = \"num residues placeholder\"\nNUM_SEQ = \"length msa placeholder\"\nNUM_TEMPLATES = \"num templates placeholder\"\n# Sizes of the protein features, NUM_RES and NUM_SEQ are allowed as placeholders\n# to be replaced with the number of residues and the number of sequences in the\n# multiple sequence alignment, respectively.\n\n\nFEATURES = {\n    #### Static features of a protein sequence ####\n    \"aatype\": (tf.float32, [NUM_RES, 21]),\n    \"between_segment_residues\": (tf.int64, [NUM_RES, 1]),\n    \"deletion_matrix\": (tf.float32, [NUM_SEQ, NUM_RES, 1]),\n    \"domain_name\": (tf.string, [1]),\n    \"msa\": (tf.int64, [NUM_SEQ, NUM_RES, 1]),\n    \"num_alignments\": (tf.int64, [NUM_RES, 1]),\n    \"residue_index\": (tf.int64, [NUM_RES, 1]),\n    \"seq_length\": (tf.int64, [NUM_RES, 1]),\n    \"sequence\": (tf.string, [1]),\n    \"all_atom_positions\": (\n        tf.float32,\n        [NUM_RES, residue_constants.atom_type_num, 3],\n    ),\n    \"all_atom_mask\": (tf.int64, [NUM_RES, residue_constants.atom_type_num]),\n    \"resolution\": (tf.float32, [1]),\n    \"template_domain_names\": (tf.string, [NUM_TEMPLATES]),\n    \"template_sum_probs\": (tf.float32, [NUM_TEMPLATES, 1]),\n    \"template_aatype\": (tf.float32, [NUM_TEMPLATES, NUM_RES, 22]),\n    \"template_all_atom_positions\": (\n        tf.float32,\n        [NUM_TEMPLATES, NUM_RES, residue_constants.atom_type_num, 3],\n    ),\n    \"template_all_atom_masks\": (\n        tf.float32,\n        [NUM_TEMPLATES, NUM_RES, residue_constants.atom_type_num, 1],\n    ),\n}\n\nFEATURE_TYPES = {k: v[0] for k, v in FEATURES.items()}\nFEATURE_SIZES = {k: v[1] for k, v in FEATURES.items()}\n\n\ndef register_feature(\n    name: str, type_: tf.dtypes.DType, shape_: Tuple[Union[str, int]]\n):\n  \"\"\"Register extra features used in custom datasets.\"\"\"\n  FEATURES[name] = (type_, shape_)\n  FEATURE_TYPES[name] = type_\n  FEATURE_SIZES[name] = shape_\n\n\ndef shape(\n    feature_name: str,\n    num_residues: int,\n    msa_length: int,\n    num_templates: Optional[int] = None,\n    features: Optional[FeaturesMetadata] = None,\n):\n  \"\"\"Get the shape for the given feature name.\n\n  This is near identical to _get_tf_shape_no_placeholders() but with 2\n  differences:\n  * This method does not calculate a single placeholder from the total number of\n    elements (eg given <NUM_RES, 3> and size := 12, this won't deduce NUM_RES\n    must be 4)\n  * This method will work with tensors\n\n  Args:\n    feature_name: String identifier for the feature. If the feature name ends\n      with \"_unnormalized\", this suffix is stripped off.\n    num_residues: The number of residues in the current domain - some elements\n      of the shape can be dynamic and will be replaced by this value.\n    msa_length: The number of sequences in the multiple sequence alignment, some\n      elements of the shape can be dynamic and will be replaced by this value.\n      If the number of alignments is unknown / not read, please pass None for\n      msa_length.\n    num_templates (optional): The number of templates in this tfexample.\n    features: A feature_name to (tf_dtype, shape) lookup; defaults to FEATURES.\n\n  Returns:\n    List of ints representation the tensor size.\n\n  Raises:\n    ValueError: If a feature is requested but no concrete placeholder value is\n        given.\n  \"\"\"\n  features = features or FEATURES\n  if feature_name.endswith(\"_unnormalized\"):\n    feature_name = feature_name[:-13]\n\n  unused_dtype, raw_sizes = features[feature_name]\n  replacements = {NUM_RES: num_residues, NUM_SEQ: msa_length}\n\n  if num_templates is not None:\n    replacements[NUM_TEMPLATES] = num_templates\n\n  sizes = [replacements.get(dimension, dimension) for dimension in raw_sizes]\n  for dimension in sizes:\n    if isinstance(dimension, str):\n      raise ValueError(\n          \"Could not parse %s (shape: %s) with values: %s\"\n          % (feature_name, raw_sizes, replacements)\n      )\n  return sizes\n"
  },
  {
    "path": "alphafold/model/tf/protein_features_test.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nfrom absl.testing import absltest\nfrom alphafold.model.tf import protein_features\n\n\nclass FeaturesTest(absltest.TestCase):\n\n  def testFeatureNames(self):\n    self.assertEqual(\n        len(protein_features.FEATURE_SIZES), len(protein_features.FEATURE_TYPES)\n    )\n    sorted_size_names = sorted(protein_features.FEATURE_SIZES.keys())\n    sorted_type_names = sorted(protein_features.FEATURE_TYPES.keys())\n    for i, size_name in enumerate(sorted_size_names):\n      self.assertEqual(size_name, sorted_type_names[i], msg=size_name)\n\n  def testReplacement(self):\n    for name in protein_features.FEATURE_SIZES.keys():\n      sizes = protein_features.shape(\n          name, num_residues=12, msa_length=24, num_templates=3\n      )\n      for x in sizes:\n        self.assertEqual(type(x), int)\n        self.assertGreater(x, 0)\n\n\nif __name__ == '__main__':\n  absltest.main()\n"
  },
  {
    "path": "alphafold/model/tf/proteins_dataset.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Datasets consisting of proteins.\"\"\"\nfrom typing import Dict, Mapping, Optional, Sequence\nfrom alphafold.model.tf import protein_features\nimport numpy as np\nimport tensorflow.compat.v1 as tf\n\nTensorDict = Dict[str, tf.Tensor]\n\n\ndef _first(tensor: tf.Tensor) -> tf.Tensor:\n  \"\"\"Returns the 1st element - the input can be a tensor or a scalar.\"\"\"\n  return tf.reshape(tensor, shape=(-1,))[0]\n\n\ndef parse_reshape_logic(\n    parsed_features: TensorDict,\n    features: protein_features.FeaturesMetadata,\n    key: Optional[str] = None,\n) -> TensorDict:\n  \"\"\"Transforms parsed serial features to the correct shape.\"\"\"\n  # Find out what is the number of sequences and the number of alignments.\n  num_residues = tf.cast(_first(parsed_features[\"seq_length\"]), dtype=tf.int32)\n\n  if \"num_alignments\" in parsed_features:\n    num_msa = tf.cast(_first(parsed_features[\"num_alignments\"]), dtype=tf.int32)\n  else:\n    num_msa = 0\n\n  if \"template_domain_names\" in parsed_features:\n    num_templates = tf.cast(\n        tf.shape(parsed_features[\"template_domain_names\"])[0], dtype=tf.int32\n    )\n  else:\n    num_templates = 0\n\n  if key is not None and \"key\" in features:\n    parsed_features[\"key\"] = [key]  # Expand dims from () to (1,).\n\n  # Reshape the tensors according to the sequence length and num alignments.\n  for k, v in parsed_features.items():\n    new_shape = protein_features.shape(\n        feature_name=k,\n        num_residues=num_residues,\n        msa_length=num_msa,\n        num_templates=num_templates,\n        features=features,\n    )\n    new_shape_size = tf.constant(1, dtype=tf.int32)\n    for dim in new_shape:\n      new_shape_size *= tf.cast(dim, tf.int32)\n\n    assert_equal = tf.assert_equal(\n        tf.size(v),\n        new_shape_size,\n        name=\"assert_%s_shape_correct\" % k,\n        message=\"The size of feature %s (%s) could not be reshaped into %s\"\n        % (k, tf.size(v), new_shape),\n    )\n    if \"template\" not in k:\n      # Make sure the feature we are reshaping is not empty.\n      assert_non_empty = tf.assert_greater(\n          tf.size(v),\n          0,\n          name=\"assert_%s_non_empty\" % k,\n          message=(\n              \"The feature %s is not set in the tf.Example. Either do not \"\n              \"request the feature or use a tf.Example that has the \"\n              \"feature set.\"\n          )\n          % k,\n      )\n      with tf.control_dependencies([assert_non_empty, assert_equal]):\n        parsed_features[k] = tf.reshape(v, new_shape, name=\"reshape_%s\" % k)\n    else:\n      with tf.control_dependencies([assert_equal]):\n        parsed_features[k] = tf.reshape(v, new_shape, name=\"reshape_%s\" % k)\n\n  return parsed_features\n\n\ndef _make_features_metadata(\n    feature_names: Sequence[str],\n) -> protein_features.FeaturesMetadata:\n  \"\"\"Makes a feature name to type and shape mapping from a list of names.\"\"\"\n  # Make sure these features are always read.\n  required_features = [\"aatype\", \"sequence\", \"seq_length\"]\n  feature_names = list(set(feature_names) | set(required_features))\n\n  features_metadata = {\n      name: protein_features.FEATURES[name] for name in feature_names\n  }\n  return features_metadata\n\n\ndef np_to_tensor_dict(\n    np_example: Mapping[str, np.ndarray],\n    features: Sequence[str],\n) -> TensorDict:\n  \"\"\"Creates dict of tensors from a dict of NumPy arrays.\n\n  Args:\n    np_example: A dict of NumPy feature arrays.\n    features: A list of strings of feature names to be returned in the dataset.\n\n  Returns:\n    A dictionary of features mapping feature names to features. Only the given\n    features are returned, all other ones are filtered out.\n  \"\"\"\n  features_metadata = _make_features_metadata(features)\n  tensor_dict = {\n      k: tf.constant(v) for k, v in np_example.items() if k in features_metadata\n  }\n\n  # Ensures shapes are as expected. Needed for setting size of empty features\n  # e.g. when no template hits were found.\n  tensor_dict = parse_reshape_logic(tensor_dict, features_metadata)\n  return tensor_dict\n"
  },
  {
    "path": "alphafold/model/tf/shape_helpers.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Utilities for dealing with shapes of TensorFlow tensors.\"\"\"\nimport tensorflow.compat.v1 as tf\n\n\ndef shape_list(x):\n  \"\"\"Return list of dimensions of a tensor, statically where possible.\n\n  Like `x.shape.as_list()` but with tensors instead of `None`s.\n\n  Args:\n    x: A tensor.\n\n  Returns:\n    A list with length equal to the rank of the tensor. The n-th element of the\n    list is an integer when that dimension is statically known otherwise it is\n    the n-th element of `tf.shape(x)`.\n  \"\"\"\n  x = tf.convert_to_tensor(x)\n\n  # If unknown rank, return dynamic shape\n  if x.get_shape().dims is None:\n    return tf.shape(x)\n\n  static = x.get_shape().as_list()\n  shape = tf.shape(x)\n\n  ret = []\n  for i in range(len(static)):\n    dim = static[i]\n    if dim is None:\n      dim = shape[i]\n    ret.append(dim)\n  return ret\n"
  },
  {
    "path": "alphafold/model/tf/shape_helpers_test.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nfrom alphafold.model.tf import shape_helpers\nimport numpy as np\nimport tensorflow.compat.v1 as tf\n\n\nclass ShapeTest(tf.test.TestCase):\n\n  def setUp(self):\n    super().setUp()\n    tf.disable_v2_behavior()\n\n  def test_shape_list(self):\n    \"\"\"Test that shape_list can allow for reshaping to dynamic shapes.\"\"\"\n    a = tf.zeros([10, 4, 4, 2])\n    p = tf.placeholder(tf.float32, shape=[None, None, 1, 4, 4])\n    shape_dyn = shape_helpers.shape_list(p)[:2] + [4, 4]\n\n    b = tf.reshape(a, shape_dyn)\n    with self.session() as sess:\n      out = sess.run(b, feed_dict={p: np.ones((20, 1, 1, 4, 4))})\n\n    self.assertAllEqual(out.shape, (20, 1, 4, 4))\n\n\nif __name__ == '__main__':\n  tf.test.main()\n"
  },
  {
    "path": "alphafold/model/tf/shape_placeholders.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Placeholder values for run-time varying dimension sizes.\"\"\"\n\nNUM_RES = 'num residues placeholder'\nNUM_MSA_SEQ = 'msa placeholder'\nNUM_EXTRA_SEQ = 'extra msa placeholder'\nNUM_TEMPLATES = 'num templates placeholder'\n"
  },
  {
    "path": "alphafold/model/tf/utils.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Shared utilities for various components.\"\"\"\nimport tensorflow.compat.v1 as tf\n\n\nclass SeedMaker(object):\n  \"\"\"Return unique seeds.\"\"\"\n\n  def __init__(self, initial_seed=0):\n    self.next_seed = initial_seed\n\n  def __call__(self):\n    i = self.next_seed\n    self.next_seed += 1\n    return i\n\n\nseed_maker = SeedMaker()\n\n\ndef make_random_seed():\n  return tf.random.uniform(\n      [2], tf.int32.min, tf.int32.max, tf.int32, seed=seed_maker()\n  )\n"
  },
  {
    "path": "alphafold/model/utils.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"A collection of JAX utility functions for use in protein folding.\"\"\"\n\nimport collections\nimport contextlib\nimport functools\nimport numbers\nfrom typing import Mapping\nfrom typing import Tuple\nimport haiku as hk\nimport jax\nimport jax.numpy as jnp\nfrom jax.scipy.stats import norm\nimport numpy as np\n\n\ndef stable_softmax(logits: jax.Array) -> jax.Array:\n  \"\"\"Numerically stable softmax for (potential) bfloat 16.\"\"\"\n  if logits.dtype == jnp.float32:\n    output = jax.nn.softmax(logits)\n  elif logits.dtype == jnp.bfloat16:\n    # Need to explicitly do softmax in float32 to avoid numerical issues\n    # with large negatives. Large negatives can occur if trying to mask\n    # by adding on large negative logits so that things softmax to zero.\n    output = jax.nn.softmax(logits.astype(jnp.float32)).astype(jnp.bfloat16)\n  else:\n    raise ValueError(f'Unexpected input dtype {logits.dtype}')\n  return output\n\n\ndef bfloat16_creator(next_creator, shape, dtype, init, context):\n  \"\"\"Creates float32 variables when bfloat16 is requested.\"\"\"\n  if context.original_dtype == jnp.bfloat16:\n    dtype = jnp.float32\n  return next_creator(shape, dtype, init)\n\n\ndef bfloat16_getter(next_getter, value, context):\n  \"\"\"Casts float32 to bfloat16 when bfloat16 was originally requested.\"\"\"\n  if context.original_dtype == jnp.bfloat16:\n    assert value.dtype == jnp.float32\n    value = value.astype(jnp.bfloat16)\n  return next_getter(value)\n\n\n@contextlib.contextmanager\ndef bfloat16_context():\n  with hk.custom_creator(bfloat16_creator), hk.custom_getter(bfloat16_getter):\n    yield\n\n\ndef final_init(config):\n  if config.zero_init:\n    return 'zeros'\n  else:\n    return 'linear'\n\n\ndef batched_gather(params, indices, axis=0, batch_dims=0):\n  \"\"\"Implements a JAX equivalent of `tf.gather` with `axis` and `batch_dims`.\"\"\"\n  take_fn = lambda p, i: jnp.take(p, i, axis=axis, mode='clip')\n  for _ in range(batch_dims):\n    take_fn = jax.vmap(take_fn)\n  return take_fn(params, indices)\n\n\ndef mask_mean(mask, value, axis=None, drop_mask_channel=False, eps=1e-10):\n  \"\"\"Masked mean.\"\"\"\n  if drop_mask_channel:\n    mask = mask[..., 0]\n\n  mask_shape = mask.shape\n  value_shape = value.shape\n\n  assert len(mask_shape) == len(value_shape)\n\n  if isinstance(axis, numbers.Integral):\n    axis = [axis]\n  elif axis is None:\n    axis = list(range(len(mask_shape)))\n  assert isinstance(\n      axis, collections.abc.Iterable\n  ), 'axis needs to be either an iterable, integer or \"None\"'\n\n  broadcast_factor = 1.0\n  for axis_ in axis:\n    value_size = value_shape[axis_]\n    mask_size = mask_shape[axis_]\n    if mask_size == 1:\n      broadcast_factor *= value_size\n    else:\n      assert mask_size == value_size\n\n  return jnp.sum(mask * value, axis=axis) / (\n      jnp.sum(mask, axis=axis) * broadcast_factor + eps\n  )\n\n\ndef flat_params_to_haiku(params: Mapping[str, np.ndarray]) -> hk.Params:\n  \"\"\"Convert a dictionary of NumPy arrays to Haiku parameters.\"\"\"\n  hk_params = {}\n  for path, array in params.items():\n    scope, name = path.split('//')\n    if scope not in hk_params:\n      hk_params[scope] = {}\n    hk_params[scope][name] = jnp.array(array)\n\n  return hk_params\n\n\ndef padding_consistent_rng(f):\n  \"\"\"Modify any element-wise random function to be consistent with padding.\n\n  Normally if you take a function like jax.random.normal and generate an array,\n  say of size (10,10), you will get a different set of random numbers to if you\n  add padding and take the first (10,10) sub-array.\n\n  This function makes a random function that is consistent regardless of the\n  amount of padding added.\n\n  Note: The padding-consistent function is likely to be slower to compile and\n  run than the function it is wrapping, but these slowdowns are likely to be\n  negligible in a large network.\n\n  Args:\n    f: Any element-wise function that takes (PRNG key, shape) as the first 2\n      arguments.\n\n  Returns:\n    An equivalent function to f, that is now consistent for different amounts of\n    padding.\n  \"\"\"\n\n  def grid_keys(key, shape):\n    \"\"\"Generate a grid of rng keys that is consistent with different padding.\n\n    Generate random keys such that the keys will be identical, regardless of\n    how much padding is added to any dimension.\n\n    Args:\n      key: A PRNG key.\n      shape: The shape of the output array of keys that will be generated.\n\n    Returns:\n      An array of shape `shape` consisting of random keys.\n    \"\"\"\n    if not shape:\n      return key\n    new_keys = jax.vmap(functools.partial(jax.random.fold_in, key))(\n        jnp.arange(shape[0])\n    )\n    return jax.vmap(functools.partial(grid_keys, shape=shape[1:]))(new_keys)\n\n  def inner(key, shape, **kwargs):\n    keys = grid_keys(key, shape)\n    signature = (\n        '()->()'\n        if jax.dtypes.issubdtype(keys.dtype, jax.dtypes.prng_key)\n        else '(2)->()'\n    )\n    return jnp.vectorize(\n        functools.partial(f, shape=(), **kwargs), signature=signature\n    )(keys)\n\n  return inner\n\n\ndef ks_normal_test(\n    sample: np.ndarray, mu: float = 0.0, sigma: float = 1.0\n) -> Tuple[float, float]:\n  \"\"\"Kolmogorov–Smirnov normality test for N(mu, sigma).\n\n  This function performs a one-sample Kolmogorov-Smirnov test to check if a\n  given sample is drawn from a normal distribution with a specified mean (mu)\n  and standard deviation (sigma). It uses the JAX cumulative distribution\n  function (CDF) for the normal distribution.\n\n  Args:\n    sample: The sample data to be tested. Expected to be a 1D array-like\n      structure.\n    mu: The mean of the target normal distribution (default: 0.0).\n    sigma: The standard deviation of the target normal distribution (default:\n      1.0). Must be greater than 0.\n\n  Returns:\n    A tuple containing:\n      D: The KS statistic (float).\n      p_value: The asymptotic KS p-value (float). This value represents the\n        probability of observing a KS statistic as extreme as, or more extreme\n        than, the one calculated from the sample, assuming the sample is indeed\n        drawn from the specified normal distribution.\n\n  Raises:\n    ValueError: If sigma is not greater than 0.\n  \"\"\"\n  if sigma <= 0:\n    raise ValueError('sigma must be > 0')\n  sample = np.sort(sample)\n  n = len(sample)\n\n  # Empirical CDF\n  ecdf = np.arange(1, n + 1) / n\n\n  # Normal CDF with given mu, sigma\n  z = (sample - mu) / sigma\n  cdf_vals = norm.cdf(z)\n\n  # KS statistic\n  d_plus = np.max(ecdf - cdf_vals)\n  d_minus = np.max(cdf_vals - (ecdf - 1 / n))\n  d_stat = max(d_plus, d_minus)\n\n  # Asymptotic KS p-value\n  x = d_stat * np.sqrt(n)\n  terms = 100\n  ks_sum = np.sum([\n      (-1) ** (k - 1) * np.exp(-2 * (k**2) * x**2) for k in range(1, terms + 1)\n  ])\n  p_value = float(min(max(2 * ks_sum, 0.0), 1.0))\n\n  return d_stat, p_value\n"
  },
  {
    "path": "alphafold/notebooks/__init__.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\"\"\"AlphaFold Colab notebook.\"\"\"\n"
  },
  {
    "path": "alphafold/notebooks/notebook_utils.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Helper methods for the AlphaFold Colab notebook.\"\"\"\nfrom typing import AbstractSet, Any, Mapping, Optional, Sequence\n\nfrom alphafold.common import residue_constants\nfrom alphafold.data import parsers\nfrom matplotlib import pyplot as plt\nimport numpy as np\n\n\ndef clean_and_validate_single_sequence(\n    input_sequence: str, min_length: int, max_length: int\n) -> str:\n  \"\"\"Checks that the input sequence is ok and returns a clean version of it.\"\"\"\n  # Remove all whitespaces, tabs and end lines; upper-case.\n  clean_sequence = input_sequence.translate(\n      str.maketrans('', '', ' \\n\\t')\n  ).upper()\n  aatypes = set(residue_constants.restypes)  # 20 standard aatypes.\n  if not set(clean_sequence).issubset(aatypes):\n    raise ValueError(\n        'Input sequence contains non-amino acid letters: '\n        f'{set(clean_sequence) - aatypes}. AlphaFold only supports 20 standard '\n        'amino acids as inputs.'\n    )\n  if len(clean_sequence) < min_length:\n    raise ValueError(\n        f'Input sequence is too short: {len(clean_sequence)} amino acids, '\n        f'while the minimum is {min_length}'\n    )\n  if len(clean_sequence) > max_length:\n    raise ValueError(\n        f'Input sequence is too long: {len(clean_sequence)} amino acids, while '\n        f'the maximum is {max_length}. You may be able to run it with the full '\n        'AlphaFold system depending on your resources (system memory, '\n        'GPU memory).'\n    )\n  return clean_sequence\n\n\ndef clean_and_validate_input_sequences(\n    input_sequences: Sequence[str],\n    min_sequence_length: int,\n    max_sequence_length: int,\n) -> Sequence[str]:\n  \"\"\"Validates and cleans input sequences.\"\"\"\n  sequences = []\n\n  for input_sequence in input_sequences:\n    if input_sequence.strip():\n      input_sequence = clean_and_validate_single_sequence(\n          input_sequence=input_sequence,\n          min_length=min_sequence_length,\n          max_length=max_sequence_length,\n      )\n      sequences.append(input_sequence)\n\n  if sequences:\n    return sequences\n  else:\n    raise ValueError(\n        'No input amino acid sequence provided, please provide at '\n        'least one sequence.'\n    )\n\n\ndef merge_chunked_msa(\n    results: Sequence[Mapping[str, Any]], max_hits: Optional[int] = None\n) -> parsers.Msa:\n  \"\"\"Merges chunked database hits together into hits for the full database.\"\"\"\n  unsorted_results = []\n  for chunk_index, chunk in enumerate(results):\n    msa = parsers.parse_stockholm(chunk['sto'])\n    e_values_dict = parsers.parse_e_values_from_tblout(chunk['tbl'])\n    # Jackhmmer lists sequences as <sequence name>/<residue from>-<residue to>.\n    e_values = [e_values_dict[t.partition('/')[0]] for t in msa.descriptions]\n    chunk_results = zip(\n        msa.sequences, msa.deletion_matrix, msa.descriptions, e_values\n    )\n    if chunk_index != 0:\n      next(chunk_results)  # Only take query (first hit) from the first chunk.\n    unsorted_results.extend(chunk_results)\n\n  sorted_by_evalue = sorted(unsorted_results, key=lambda x: x[-1])\n  merged_sequences, merged_deletion_matrix, merged_descriptions, _ = zip(\n      *sorted_by_evalue\n  )\n  merged_msa = parsers.Msa(\n      sequences=merged_sequences,\n      deletion_matrix=merged_deletion_matrix,\n      descriptions=merged_descriptions,\n  )\n  if max_hits is not None:\n    merged_msa = merged_msa.truncate(max_seqs=max_hits)\n\n  return merged_msa\n\n\ndef show_msa_info(\n    single_chain_msas: Sequence[parsers.Msa], sequence_index: int\n):\n  \"\"\"Prints info and shows a plot of the deduplicated single chain MSA.\"\"\"\n  full_single_chain_msa = []\n  for single_chain_msa in single_chain_msas:\n    full_single_chain_msa.extend(single_chain_msa.sequences)\n\n  # Deduplicate but preserve order (hence can't use set).\n  deduped_full_single_chain_msa = list(dict.fromkeys(full_single_chain_msa))\n  total_msa_size = len(deduped_full_single_chain_msa)\n  print(\n      f'\\n{total_msa_size} unique sequences found in total for sequence '\n      f'{sequence_index}\\n'\n  )\n\n  aa_map = {res: i for i, res in enumerate('ABCDEFGHIJKLMNOPQRSTUVWXYZ-')}\n  msa_arr = np.array(\n      [[aa_map[aa] for aa in seq] for seq in deduped_full_single_chain_msa]\n  )\n\n  plt.figure(figsize=(12, 3))\n  plt.title(\n      'Per-Residue Count of Non-Gap Amino Acids in the MSA for Sequence '\n      f'{sequence_index}'\n  )\n  plt.plot(np.sum(msa_arr != aa_map['-'], axis=0), color='black')\n  plt.ylabel('Non-Gap Count')\n  plt.yticks(range(0, total_msa_size + 1, max(1, int(total_msa_size / 3))))\n  plt.show()\n\n\ndef empty_placeholder_template_features(\n    num_templates: int, num_res: int\n) -> Mapping[str, np.ndarray]:\n  return {\n      'template_aatype': np.zeros(\n          (\n              num_templates,\n              num_res,\n              len(residue_constants.restypes_with_x_and_gap),\n          ),\n          dtype=np.float32,\n      ),\n      'template_all_atom_masks': np.zeros(\n          (num_templates, num_res, residue_constants.atom_type_num),\n          dtype=np.float32,\n      ),\n      'template_all_atom_positions': np.zeros(\n          (num_templates, num_res, residue_constants.atom_type_num, 3),\n          dtype=np.float32,\n      ),\n      'template_domain_names': np.zeros([num_templates], dtype=object),\n      'template_sequence': np.zeros([num_templates], dtype=object),\n      'template_sum_probs': np.zeros([num_templates], dtype=np.float32),\n  }\n\n\ndef check_cell_execution_order(\n    cells_ran: AbstractSet[int], cell_number: int\n) -> None:\n  \"\"\"Check that the cell execution order is correct.\n\n  Args:\n    cells_ran: Set of cell numbers that have been executed.\n    cell_number: The number of the cell that this check is called in.\n\n  Raises:\n    If <1:cell_number> cells haven't been executed, raise error.\n  \"\"\"\n  previous_cells = set(range(1, cell_number))\n  cells_not_ran = previous_cells - cells_ran\n  if cells_not_ran != set():\n    cells_not_ran_str = ', '.join([str(x) for x in sorted(cells_not_ran)])\n    raise ValueError(\n        f'You did not execute the cells: {cells_not_ran_str}. Your Colab '\n        'runtime may have died during execution. Please restart the runtime '\n        'and run from the first cell!'\n    )\n"
  },
  {
    "path": "alphafold/notebooks/notebook_utils_test.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport io\nfrom unittest import mock\n\nfrom absl.testing import absltest\nfrom absl.testing import parameterized\nfrom alphafold.data import parsers\nfrom alphafold.data import templates\nfrom alphafold.notebooks import notebook_utils\nimport numpy as np\n\n\nONLY_QUERY_HIT = {\n    'sto': (\n        '# STOCKHOLM 1.0\\n'\n        '#=GF ID query-i1\\n'\n        'query   MAAHKGAEHHHKAAEHHEQAAKHHHAAAEHHEKGEHEQAAHHADTAYAHHKHAEEH\\n'\n        '//\\n'\n    ),\n    'tbl': '',\n    'stderr': b'',\n    'n_iter': 1,\n    'e_value': 0.0001,\n}\n\n# pylint: disable=line-too-long\nMULTI_SEQUENCE_HIT_1 = {\n    'sto': (\n        '# STOCKHOLM 1.0\\n'\n        '#=GF ID query-i1\\n'\n        '#=GS ERR1700680_4602609/41-109  DE [subseq from] ERR1700680_4602609\\n'\n        '#=GS ERR1019366_5760491/40-105  DE [subseq from] ERR1019366_5760491\\n'\n        '#=GS SRR5580704_12853319/61-125 DE [subseq from] SRR5580704_12853319\\n'\n        'query                             '\n        ' MAAHKGAEHHHKAAEHHEQAAKHHHAAAEHHEKGEHEQAAHHADTAYAHHKHAEEHAAQAAKHDAEHHAPKPH\\n'\n        'ERR1700680_4602609/41-109         '\n        ' --INKGAEYHKKAAEHHELAAKHHREAAKHHEAGSHEKAAHHSEIAAGHGLTAVHHTEEATK-HHPEEHTEK--\\n'\n        'ERR1019366_5760491/40-105         '\n        ' ---RSGAQHHDAAAQHYEEAARHHRMAAKQYQASHHEKAAHYAQLAYAHHMYAEQHAAEAAK-AHAKNHG----\\n'\n        'SRR5580704_12853319/61-125        '\n        ' ----PAADHHMKAAEHHEEAAKHHRAAAEHHTAGDHQKAGHHAHVANGHHVNAVHHAEEASK-HHATDHS----\\n'\n        '//\\n'\n    ),\n    'tbl': (\n        'ERR1700680_4602609   -          query                -           '\n        ' 7.7e-09   47.7  33.8   1.1e-08   47.2  33.8   1.2   1   0   0   1   1'\n        '   1   1 -\\nERR1019366_5760491   -          query                -    '\n        '        1.7e-08   46.6  33.1   2.5e-08   46.1  33.1   1.3   1   0   0 '\n        '  1   1   1   1 -\\nSRR5580704_12853319  -          query              '\n        '  -            1.1e-07   44.0  41.6     2e-07   43.1  41.6   1.4   1  '\n        ' 0   0   1   1   1   1 -\\n'\n    ),\n    'stderr': b'',\n    'n_iter': 1,\n    'e_value': 0.0001,\n}\n\nMULTI_SEQUENCE_HIT_2 = {\n    'sto': (\n        '# STOCKHOLM 1.0\\n'\n        '#=GF ID query-i1\\n'\n        '#=GS ERR1700719_3476944/70-137  DE [subseq from] ERR1700719_3476944\\n'\n        '#=GS ERR1700761_4254522/72-138  DE [subseq from] ERR1700761_4254522\\n'\n        '#=GS SRR5438477_9761204/64-132  DE [subseq from] SRR5438477_9761204\\n'\n        'query                             '\n        ' MAAHKGAEHHHKAAEHHEQAAKHHHAAAEHHEKGEHEQAAHHADTAYAHHKHAEEHAAQAAKHDAEHHAPKPH\\n'\n        'ERR1700719_3476944/70-137         '\n        ' ---KQAAEHHHQAAEHHEHAARHHREAAKHHEAGDHESAAHHAHTAQGHLHQATHHASEAAKLHVEHHGQK--\\n'\n        'ERR1700761_4254522/72-138         '\n        ' ----QASEHHNLAAEHHEHAARHHRDAAKHHKAGDHEKAAHHAHVAHGHHLHATHHATEAAKHHVEAHGEK--\\n'\n        'SRR5438477_9761204/64-132         '\n        ' MPKHEGAEHHKKAAEHNEHAARHHKEAARHHEEGSHEKVGHHAHIAHGHHLHATHHAEEAAKTHSNQHE----\\n'\n        '//\\n'\n    ),\n    'tbl': (\n        'ERR1700719_3476944   -          query                -             '\n        ' 2e-07   43.2  47.5   3.5e-07   42.4  47.5   1.4   1   0   0   1   1  '\n        ' 1   1 -\\nERR1700761_4254522   -          query                -      '\n        '      6.1e-07   41.6  48.1   8.1e-07   41.3  48.1   1.2   1   0   0  '\n        ' 1   1   1   1 -\\nSRR5438477_9761204   -          query               '\n        ' -            1.8e-06   40.2  46.9   2.3e-06   39.8  46.9   1.2   1  '\n        ' 0   0   1   1   1   1 -\\n'\n    ),\n    'stderr': b'',\n    'n_iter': 1,\n    'e_value': 0.0001,\n}\n# pylint: enable=line-too-long\n\n\nclass NotebookUtilsTest(parameterized.TestCase):\n\n  @parameterized.parameters(\n      ('DeepMind', 'DEEPMIND'),\n      ('A ', 'A'),\n      ('\\tA', 'A'),\n      (' A\\t\\n', 'A'),\n      ('ACDEFGHIKLMNPQRSTVWY', 'ACDEFGHIKLMNPQRSTVWY'),\n  )\n  def test_clean_and_validate_sequence_ok(self, sequence, exp_clean):\n    clean = notebook_utils.clean_and_validate_single_sequence(\n        sequence, min_length=1, max_length=100\n    )\n    self.assertEqual(clean, exp_clean)\n\n  @parameterized.named_parameters(\n      ('too_short', 'AA', 'too short'),\n      ('too_long', 'AAAAAAAAAA', 'too long'),\n      ('bad_amino_acids_B', 'BBBB', 'non-amino acid'),\n      ('bad_amino_acids_J', 'JJJJ', 'non-amino acid'),\n      ('bad_amino_acids_O', 'OOOO', 'non-amino acid'),\n      ('bad_amino_acids_U', 'UUUU', 'non-amino acid'),\n      ('bad_amino_acids_X', 'XXXX', 'non-amino acid'),\n      ('bad_amino_acids_Z', 'ZZZZ', 'non-amino acid'),\n  )\n  def test_clean_and_validate_sequence_bad(self, sequence, exp_error):\n    with self.assertRaisesRegex(ValueError, f'.*{exp_error}.*'):\n      notebook_utils.clean_and_validate_single_sequence(\n          sequence, min_length=4, max_length=8\n      )\n\n  @parameterized.parameters(\n      (['A', '', '', ' ', '\\t', ' \\t\\n', '', ''], ['A']),\n      (['', 'A'], ['A']),\n      (['A', 'C ', ''], ['A', 'C']),\n      (['', 'A', '', 'C '], ['A', 'C']),\n  )\n  def test_validate_input_ok(self, input_sequences, exp_sequences):\n    sequences = notebook_utils.clean_and_validate_input_sequences(\n        input_sequences=input_sequences,\n        min_sequence_length=1,\n        max_sequence_length=100,\n    )\n    self.assertSequenceEqual(sequences, exp_sequences)\n\n  @parameterized.named_parameters(\n      ('no_input_sequence', ['', '\\t', '\\n'], 'No input amino acid sequence'),\n      ('too_long_single', ['AAAAAAAAA', 'AAAA'], 'Input sequence is too long'),\n      ('too_short_single', ['AAA', 'AAAA'], 'Input sequence is too short'),\n  )\n  def test_validate_input_bad(self, input_sequences, exp_error):\n    with self.assertRaisesRegex(ValueError, f'.*{exp_error}.*'):\n      notebook_utils.clean_and_validate_input_sequences(\n          input_sequences=input_sequences,\n          min_sequence_length=4,\n          max_sequence_length=8,\n      )\n\n  def test_merge_chunked_msa_no_hits(self):\n    results = [ONLY_QUERY_HIT, ONLY_QUERY_HIT]\n    merged_msa = notebook_utils.merge_chunked_msa(results=results)\n    self.assertSequenceEqual(\n        merged_msa.sequences,\n        ('MAAHKGAEHHHKAAEHHEQAAKHHHAAAEHHEKGEHEQAAHHADTAYAHHKHAEEH',),\n    )\n    self.assertSequenceEqual(merged_msa.deletion_matrix, ([0] * 56,))\n\n  def test_merge_chunked_msa(self):\n    results = [MULTI_SEQUENCE_HIT_1, MULTI_SEQUENCE_HIT_2]\n    merged_msa = notebook_utils.merge_chunked_msa(results=results)\n    self.assertLen(merged_msa.sequences, 7)\n    # The 1st one is the query.\n    self.assertEqual(\n        merged_msa.sequences[0],\n        'MAAHKGAEHHHKAAEHHEQAAKHHHAAAEHHEKGEHEQAAHHADTAYAHHKHAEEHAAQAAKHDAEHHAP'\n        'KPH',\n    )\n    # The 2nd one is the one with the lowest e-value: ERR1700680_4602609.\n    self.assertEqual(\n        merged_msa.sequences[1],\n        '--INKGAEYHKKAAEHHELAAKHHREAAKHHEAGSHEKAAHHSEIAAGHGLTAVHHTEEATK-HHPEEHT'\n        'EK-',\n    )\n    # The last one is the one with the largest e-value: SRR5438477_9761204.\n    self.assertEqual(\n        merged_msa.sequences[-1],\n        'MPKHEGAEHHKKAAEHNEHAARHHKEAARHHEEGSHEKVGHHAHIAHGHHLHATHHAEEAAKTHSNQHE-'\n        '---',\n    )\n    self.assertLen(merged_msa.deletion_matrix, 7)\n\n  @mock.patch('sys.stdout', new_callable=io.StringIO)\n  def test_show_msa_info(self, mocked_stdout):\n    single_chain_msas = [\n        parsers.Msa(\n            sequences=['A', 'B', 'C', 'C'],\n            deletion_matrix=[[0]] * 4,\n            descriptions=[''] * 4,\n        ),\n        parsers.Msa(\n            sequences=['A', 'A', 'A', 'D'],\n            deletion_matrix=[[0]] * 4,\n            descriptions=[''] * 4,\n        ),\n    ]\n    notebook_utils.show_msa_info(\n        single_chain_msas=single_chain_msas, sequence_index=1\n    )\n    self.assertEqual(\n        mocked_stdout.getvalue(),\n        '\\n4 unique sequences found in total for sequence 1\\n\\n',\n    )\n\n  @parameterized.named_parameters(('some_templates', 4), ('no_templates', 0))\n  def test_empty_placeholder_template_features(self, num_templates):\n    template_features = notebook_utils.empty_placeholder_template_features(\n        num_templates=num_templates, num_res=16\n    )\n    self.assertCountEqual(\n        template_features.keys(), templates.TEMPLATE_FEATURES.keys()\n    )\n    self.assertSameElements(\n        [v.shape[0] for v in template_features.values()], [num_templates]\n    )\n    self.assertSequenceEqual(\n        [t.dtype for t in template_features.values()],\n        [\n            np.array([], dtype=templates.TEMPLATE_FEATURES[feat_name]).dtype\n            for feat_name in template_features\n        ],\n    )\n\n  def test_check_cell_execution_order_correct(self):\n    notebook_utils.check_cell_execution_order({1, 2}, 3)\n\n  @parameterized.named_parameters(\n      ('One missing', 4, {1, 2}, '3'),\n      ('Two missing', 5, {1, 2}, '3, 4'),\n  )\n  def test_check_cell_execution_order_missing(\n      self, cell_num, cells_ran, cells_missing\n  ):\n    with self.assertRaisesRegex(ValueError, f'.+{cells_missing}'):\n      notebook_utils.check_cell_execution_order(cells_ran, cell_num)\n\n\nif __name__ == '__main__':\n  absltest.main()\n"
  },
  {
    "path": "alphafold/relax/__init__.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\"\"\"Amber relaxation.\"\"\"\n"
  },
  {
    "path": "alphafold/relax/amber_minimize.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Restrained Amber Minimization of a structure.\"\"\"\n\nimport io\nimport time\nfrom typing import Collection, Optional, Sequence\n\nfrom absl import logging\nfrom alphafold.common import protein\nfrom alphafold.common import residue_constants\nfrom alphafold.model import folding\nfrom alphafold.relax import cleanup\nfrom alphafold.relax import utils\nimport jax\nimport ml_collections\nimport numpy as np\nimport openmm\nfrom openmm import app as openmm_app\nfrom openmm import unit\nfrom openmm.app.internal.pdbstructure import PdbStructure\n\n\nENERGY = unit.kilocalories_per_mole\nLENGTH = unit.angstroms\n\n\ndef will_restrain(atom: openmm_app.Atom, rset: str) -> bool:\n  \"\"\"Returns True if the atom will be restrained by the given restraint set.\"\"\"\n\n  if rset == \"non_hydrogen\":\n    return atom.element.name != \"hydrogen\"\n  elif rset == \"c_alpha\":\n    return atom.name == \"CA\"  # pytype: disable=bad-return-type\n\n\ndef _add_restraints(\n    system: openmm.System,\n    reference_pdb: openmm_app.PDBFile,\n    stiffness: unit.Unit,\n    rset: str,\n    exclude_residues: Sequence[int],\n):\n  \"\"\"Adds a harmonic potential that restrains the system to a structure.\"\"\"\n  assert rset in [\"non_hydrogen\", \"c_alpha\"]\n\n  force = openmm.CustomExternalForce(\n      \"0.5 * k * ((x-x0)^2 + (y-y0)^2 + (z-z0)^2)\"\n  )\n  force.addGlobalParameter(\"k\", stiffness)\n  for p in [\"x0\", \"y0\", \"z0\"]:\n    force.addPerParticleParameter(p)\n\n  for i, atom in enumerate(reference_pdb.topology.atoms()):\n    if atom.residue.index in exclude_residues:\n      continue\n    if will_restrain(atom, rset):\n      force.addParticle(i, reference_pdb.positions[i])\n  logging.info(\n      \"Restraining %d / %d particles.\",\n      force.getNumParticles(),\n      system.getNumParticles(),\n  )\n  system.addForce(force)\n\n\ndef _openmm_minimize(\n    pdb_str: str,\n    max_iterations: int,\n    tolerance: unit.Unit,\n    stiffness: unit.Unit,\n    restraint_set: str,\n    exclude_residues: Sequence[int],\n    use_gpu: bool,\n):\n  \"\"\"Minimize energy via openmm.\"\"\"\n\n  pdb_file = io.StringIO(pdb_str)\n  pdb = openmm_app.PDBFile(pdb_file)\n\n  force_field = openmm_app.ForceField(\"amber99sb.xml\")\n  constraints = openmm_app.HBonds\n  system = force_field.createSystem(pdb.topology, constraints=constraints)\n  if stiffness > 0 * ENERGY / (LENGTH**2):\n    _add_restraints(system, pdb, stiffness, restraint_set, exclude_residues)\n\n  integrator = openmm.LangevinIntegrator(0, 0.01, 0.0)\n  platform = openmm.Platform.getPlatformByName(\"CUDA\" if use_gpu else \"CPU\")\n  simulation = openmm_app.Simulation(pdb.topology, system, integrator, platform)\n  simulation.context.setPositions(pdb.positions)\n\n  ret = {}\n  state = simulation.context.getState(getEnergy=True, getPositions=True)\n  ret[\"einit\"] = state.getPotentialEnergy().value_in_unit(ENERGY)\n  ret[\"posinit\"] = state.getPositions(asNumpy=True).value_in_unit(LENGTH)\n  simulation.minimizeEnergy(maxIterations=max_iterations, tolerance=tolerance)\n  state = simulation.context.getState(getEnergy=True, getPositions=True)\n  ret[\"efinal\"] = state.getPotentialEnergy().value_in_unit(ENERGY)\n  ret[\"pos\"] = state.getPositions(asNumpy=True).value_in_unit(LENGTH)\n  ret[\"min_pdb\"] = _get_pdb_string(simulation.topology, state.getPositions())\n  return ret\n\n\ndef _get_pdb_string(topology: openmm_app.Topology, positions: unit.Quantity):\n  \"\"\"Returns a pdb string provided OpenMM topology and positions.\"\"\"\n  with io.StringIO() as f:\n    openmm_app.PDBFile.writeFile(topology, positions, f)\n    return f.getvalue()\n\n\ndef _check_cleaned_atoms(pdb_cleaned_string: str, pdb_ref_string: str):\n  \"\"\"Checks that no atom positions have been altered by cleaning.\"\"\"\n  cleaned = openmm_app.PDBFile(io.StringIO(pdb_cleaned_string))\n  reference = openmm_app.PDBFile(io.StringIO(pdb_ref_string))\n\n  cl_xyz = np.array(cleaned.getPositions().value_in_unit(LENGTH))\n  ref_xyz = np.array(reference.getPositions().value_in_unit(LENGTH))\n\n  for ref_res, cl_res in zip(\n      reference.topology.residues(), cleaned.topology.residues()\n  ):\n    assert ref_res.name == cl_res.name\n    for rat in ref_res.atoms():\n      for cat in cl_res.atoms():\n        if cat.name == rat.name:\n          if not np.array_equal(cl_xyz[cat.index], ref_xyz[rat.index]):\n            raise ValueError(\n                f\"Coordinates of cleaned atom {cat} do not match \"\n                f\"coordinates of reference atom {rat}.\"\n            )\n\n\ndef _check_residues_are_well_defined(prot: protein.Protein):\n  \"\"\"Checks that all residues contain non-empty atom sets.\"\"\"\n  if (prot.atom_mask.sum(axis=-1) == 0).any():\n    raise ValueError(\n        \"Amber minimization can only be performed on proteins with\"\n        \" well-defined residues. This protein contains at least\"\n        \" one residue with no atoms.\"\n    )\n\n\ndef _check_atom_mask_is_ideal(prot):\n  \"\"\"Sanity-check the atom mask is ideal, up to a possible OXT.\"\"\"\n  atom_mask = prot.atom_mask\n  ideal_atom_mask = protein.ideal_atom_mask(prot)\n  utils.assert_equal_nonterminal_atom_types(atom_mask, ideal_atom_mask)\n\n\ndef clean_protein(prot: protein.Protein, checks: bool = True):\n  \"\"\"Adds missing atoms to Protein instance.\n\n  Args:\n    prot: A `protein.Protein` instance.\n    checks: A `bool` specifying whether to add additional checks to the cleaning\n      process.\n\n  Returns:\n    pdb_string: A string of the cleaned protein.\n  \"\"\"\n  _check_atom_mask_is_ideal(prot)\n\n  # Clean pdb.\n  prot_pdb_string = protein.to_pdb(prot)\n  pdb_file = io.StringIO(prot_pdb_string)\n  alterations_info = {}\n  fixed_pdb = cleanup.fix_pdb(pdb_file, alterations_info)\n  fixed_pdb_file = io.StringIO(fixed_pdb)\n  pdb_structure = PdbStructure(fixed_pdb_file)\n  cleanup.clean_structure(pdb_structure, alterations_info)\n\n  logging.info(\"alterations info: %s\", alterations_info)\n\n  # Write pdb file of cleaned structure.\n  as_file = openmm_app.PDBFile(pdb_structure)\n  pdb_string = _get_pdb_string(as_file.getTopology(), as_file.getPositions())\n  if checks:\n    _check_cleaned_atoms(pdb_string, prot_pdb_string)\n  return pdb_string\n\n\ndef make_atom14_positions(prot):\n  \"\"\"Constructs denser atom positions (14 dimensions instead of 37).\"\"\"\n  restype_atom14_to_atom37 = []  # mapping (restype, atom14) --> atom37\n  restype_atom37_to_atom14 = []  # mapping (restype, atom37) --> atom14\n  restype_atom14_mask = []\n\n  for rt in residue_constants.restypes:\n    atom_names = residue_constants.restype_name_to_atom14_names[\n        residue_constants.restype_1to3[rt]\n    ]\n\n    restype_atom14_to_atom37.append([\n        (residue_constants.atom_order[name] if name else 0)\n        for name in atom_names\n    ])\n\n    atom_name_to_idx14 = {name: i for i, name in enumerate(atom_names)}\n    restype_atom37_to_atom14.append([\n        (atom_name_to_idx14[name] if name in atom_name_to_idx14 else 0)\n        for name in residue_constants.atom_types\n    ])\n\n    restype_atom14_mask.append([(1.0 if name else 0.0) for name in atom_names])\n\n  # Add dummy mapping for restype 'UNK'.\n  restype_atom14_to_atom37.append([0] * 14)\n  restype_atom37_to_atom14.append([0] * 37)\n  restype_atom14_mask.append([0.0] * 14)\n\n  restype_atom14_to_atom37 = np.array(restype_atom14_to_atom37, dtype=np.int32)\n  restype_atom37_to_atom14 = np.array(restype_atom37_to_atom14, dtype=np.int32)\n  restype_atom14_mask = np.array(restype_atom14_mask, dtype=np.float32)\n\n  # Create the mapping for (residx, atom14) --> atom37, i.e. an array\n  # with shape (num_res, 14) containing the atom37 indices for this protein.\n  residx_atom14_to_atom37 = restype_atom14_to_atom37[prot[\"aatype\"]]\n  residx_atom14_mask = restype_atom14_mask[prot[\"aatype\"]]\n\n  # Create a mask for known ground truth positions.\n  residx_atom14_gt_mask = residx_atom14_mask * np.take_along_axis(\n      prot[\"all_atom_mask\"], residx_atom14_to_atom37, axis=1\n  ).astype(np.float32)\n\n  # Gather the ground truth positions.\n  residx_atom14_gt_positions = residx_atom14_gt_mask[:, :, None] * (\n      np.take_along_axis(\n          prot[\"all_atom_positions\"], residx_atom14_to_atom37[..., None], axis=1\n      )\n  )\n\n  prot[\"atom14_atom_exists\"] = residx_atom14_mask\n  prot[\"atom14_gt_exists\"] = residx_atom14_gt_mask\n  prot[\"atom14_gt_positions\"] = residx_atom14_gt_positions\n\n  prot[\"residx_atom14_to_atom37\"] = residx_atom14_to_atom37\n\n  # Create the gather indices for mapping back.\n  residx_atom37_to_atom14 = restype_atom37_to_atom14[prot[\"aatype\"]]\n  prot[\"residx_atom37_to_atom14\"] = residx_atom37_to_atom14\n\n  # Create the corresponding mask.\n  restype_atom37_mask = np.zeros([21, 37], dtype=np.float32)\n  for restype, restype_letter in enumerate(residue_constants.restypes):\n    restype_name = residue_constants.restype_1to3[restype_letter]\n    atom_names = residue_constants.residue_atoms[restype_name]\n    for atom_name in atom_names:\n      atom_type = residue_constants.atom_order[atom_name]\n      restype_atom37_mask[restype, atom_type] = 1\n\n  residx_atom37_mask = restype_atom37_mask[prot[\"aatype\"]]\n  prot[\"atom37_atom_exists\"] = residx_atom37_mask\n\n  # As the atom naming is ambiguous for 7 of the 20 amino acids, provide\n  # alternative ground truth coordinates where the naming is swapped\n  restype_3 = [\n      residue_constants.restype_1to3[res] for res in residue_constants.restypes\n  ]\n  restype_3 += [\"UNK\"]\n\n  # Matrices for renaming ambiguous atoms.\n  all_matrices = {res: np.eye(14, dtype=np.float32) for res in restype_3}\n  for resname, swap in residue_constants.residue_atom_renaming_swaps.items():\n    correspondences = np.arange(14)\n    for source_atom_swap, target_atom_swap in swap.items():\n      source_index = residue_constants.restype_name_to_atom14_names[\n          resname\n      ].index(source_atom_swap)\n      target_index = residue_constants.restype_name_to_atom14_names[\n          resname\n      ].index(target_atom_swap)\n      correspondences[source_index] = target_index\n      correspondences[target_index] = source_index\n      renaming_matrix = np.zeros((14, 14), dtype=np.float32)\n      for index, correspondence in enumerate(correspondences):\n        renaming_matrix[index, correspondence] = 1.0\n    all_matrices[resname] = renaming_matrix.astype(np.float32)\n  renaming_matrices = np.stack([all_matrices[restype] for restype in restype_3])\n\n  # Pick the transformation matrices for the given residue sequence\n  # shape (num_res, 14, 14).\n  renaming_transform = renaming_matrices[prot[\"aatype\"]]\n\n  # Apply it to the ground truth positions. shape (num_res, 14, 3).\n  alternative_gt_positions = np.einsum(\n      \"rac,rab->rbc\", residx_atom14_gt_positions, renaming_transform\n  )\n  prot[\"atom14_alt_gt_positions\"] = alternative_gt_positions\n\n  # Create the mask for the alternative ground truth (differs from the\n  # ground truth mask, if only one of the atoms in an ambiguous pair has a\n  # ground truth position).\n  alternative_gt_mask = np.einsum(\n      \"ra,rab->rb\", residx_atom14_gt_mask, renaming_transform\n  )\n\n  prot[\"atom14_alt_gt_exists\"] = alternative_gt_mask\n\n  # Create an ambiguous atoms mask.  shape: (21, 14).\n  restype_atom14_is_ambiguous = np.zeros((21, 14), dtype=np.float32)\n  for resname, swap in residue_constants.residue_atom_renaming_swaps.items():\n    for atom_name1, atom_name2 in swap.items():\n      restype = residue_constants.restype_order[\n          residue_constants.restype_3to1[resname]\n      ]\n      atom_idx1 = residue_constants.restype_name_to_atom14_names[resname].index(\n          atom_name1\n      )\n      atom_idx2 = residue_constants.restype_name_to_atom14_names[resname].index(\n          atom_name2\n      )\n      restype_atom14_is_ambiguous[restype, atom_idx1] = 1\n      restype_atom14_is_ambiguous[restype, atom_idx2] = 1\n\n  # From this create an ambiguous_mask for the given sequence.\n  prot[\"atom14_atom_is_ambiguous\"] = restype_atom14_is_ambiguous[prot[\"aatype\"]]\n\n  return prot\n\n\ndef find_violations(prot_np: protein.Protein):\n  \"\"\"Analyzes a protein and returns structural violation information.\n\n  Args:\n    prot_np: A protein.\n\n  Returns:\n    violations: A `dict` of structure components with structural violations.\n    violation_metrics: A `dict` of violation metrics.\n  \"\"\"\n  batch = {\n      \"aatype\": prot_np.aatype,\n      \"all_atom_positions\": prot_np.atom_positions.astype(np.float32),\n      \"all_atom_mask\": prot_np.atom_mask.astype(np.float32),\n      \"residue_index\": prot_np.residue_index,\n  }\n\n  batch[\"seq_mask\"] = np.ones_like(batch[\"aatype\"], np.float32)\n  batch = make_atom14_positions(batch)\n\n  violations = folding.find_structural_violations(\n      batch=batch,\n      atom14_pred_positions=batch[\"atom14_gt_positions\"],\n      config=ml_collections.ConfigDict({\n          \"violation_tolerance_factor\": 12,  # Taken from model config.\n          \"clash_overlap_tolerance\": 1.5,  # Taken from model config.\n      }),\n  )\n  violation_metrics = folding.compute_violation_metrics(\n      batch=batch,\n      atom14_pred_positions=batch[\"atom14_gt_positions\"],\n      violations=violations,\n  )\n\n  return violations, violation_metrics\n\n\ndef get_violation_metrics(prot: protein.Protein):\n  \"\"\"Computes violation and alignment metrics.\"\"\"\n  structural_violations, struct_metrics = find_violations(prot)\n  violation_idx = np.flatnonzero(\n      structural_violations[\"total_per_residue_violations_mask\"]\n  )\n\n  struct_metrics[\"residue_violations\"] = violation_idx\n  struct_metrics[\"num_residue_violations\"] = len(violation_idx)\n  struct_metrics[\"structural_violations\"] = structural_violations\n  return struct_metrics\n\n\ndef _run_one_iteration(\n    *,\n    pdb_string: str,\n    max_iterations: int,\n    tolerance: float,\n    stiffness: float,\n    restraint_set: str,\n    max_attempts: int,\n    use_gpu: bool,\n    exclude_residues: Optional[Collection[int]] = None,\n):\n  \"\"\"Runs the minimization pipeline.\n\n  Args:\n    pdb_string: A pdb string.\n    max_iterations: An `int` specifying the maximum number of L-BFGS iterations.\n      A value of 0 specifies no limit.\n    tolerance: kcal/(mol * nm), the force tolerance of L-BFGS.\n    stiffness: kcal/mol A**2, spring constant of heavy atom restraining\n      potential.\n    restraint_set: The set of atoms to restrain.\n    max_attempts: The maximum number of minimization attempts.\n    use_gpu: Whether to run on GPU.\n    exclude_residues: An optional list of zero-indexed residues to exclude from\n      restraints.\n\n  Returns:\n    A `dict` of minimization info.\n  \"\"\"\n  exclude_residues = exclude_residues or []\n\n  # Assign physical dimensions.\n  tolerance = tolerance * ENERGY / unit.nanometer\n  stiffness = stiffness * ENERGY / (LENGTH**2)\n\n  start = time.time()\n  minimized = False\n  attempts = 0\n  while not minimized and attempts < max_attempts:\n    attempts += 1\n    try:\n      logging.info(\n          \"Minimizing protein, attempt %d of %d.\", attempts, max_attempts\n      )\n      ret = _openmm_minimize(\n          pdb_string,\n          max_iterations=max_iterations,\n          tolerance=tolerance,\n          stiffness=stiffness,\n          restraint_set=restraint_set,\n          exclude_residues=exclude_residues,\n          use_gpu=use_gpu,\n      )\n      minimized = True\n    except Exception as e:  # pylint: disable=broad-except\n      logging.info(e)\n  if not minimized:\n    raise ValueError(f\"Minimization failed after {max_attempts} attempts.\")\n  ret[\"opt_time\"] = time.time() - start\n  ret[\"min_attempts\"] = attempts\n  return ret\n\n\ndef run_pipeline(\n    prot: protein.Protein,\n    stiffness: float,\n    use_gpu: bool,\n    max_outer_iterations: int = 1,\n    place_hydrogens_every_iteration: bool = True,\n    max_iterations: int = 0,\n    tolerance: float = 2.39,\n    restraint_set: str = \"non_hydrogen\",\n    max_attempts: int = 100,\n    checks: bool = True,\n    exclude_residues: Optional[Sequence[int]] = None,\n):\n  \"\"\"Run iterative amber relax.\n\n  Successive relax iterations are performed until all violations have been\n  resolved. Each iteration involves a restrained Amber minimization, with\n  restraint exclusions determined by violation-participating residues.\n\n  Args:\n    prot: A protein to be relaxed.\n    stiffness: kcal/mol A**2, the restraint stiffness.\n    use_gpu: Whether to run on GPU.\n    max_outer_iterations: The maximum number of iterative minimization.\n    place_hydrogens_every_iteration: Whether hydrogens are re-initialized prior\n      to every minimization.\n    max_iterations: An `int` specifying the maximum number of L-BFGS steps per\n      relax iteration. A value of 0 specifies no limit.\n    tolerance: kcal/(mol * nm), the force tolerance of L-BFGS. The default value\n      is the OpenMM default.\n    restraint_set: The set of atoms to restrain.\n    max_attempts: The maximum number of minimization attempts per iteration.\n    checks: Whether to perform cleaning checks.\n    exclude_residues: An optional list of zero-indexed residues to exclude from\n      restraints.\n\n  Returns:\n    out: A dictionary of output values.\n  \"\"\"\n\n  # `protein.to_pdb` will strip any poorly-defined residues so we need to\n  # perform this check before `clean_protein`.\n  _check_residues_are_well_defined(prot)\n  pdb_string = clean_protein(prot, checks=checks)\n\n  exclude_residues = exclude_residues or []\n  exclude_residues = set(exclude_residues)\n  violations = np.inf\n  iteration = 0\n\n  while violations > 0 and iteration < max_outer_iterations:\n    ret = _run_one_iteration(\n        pdb_string=pdb_string,\n        exclude_residues=exclude_residues,\n        max_iterations=max_iterations,\n        tolerance=tolerance,\n        stiffness=stiffness,\n        restraint_set=restraint_set,\n        max_attempts=max_attempts,\n        use_gpu=use_gpu,\n    )\n    prot = protein.from_pdb_string(ret[\"min_pdb\"])\n    if place_hydrogens_every_iteration:\n      pdb_string = clean_protein(prot, checks=True)\n    else:\n      pdb_string = ret[\"min_pdb\"]\n    # Calculation of violations can cause CUDA errors for some JAX versions.\n    with jax.default_device(jax.local_devices(backend=\"cpu\")[0]):\n      ret.update(get_violation_metrics(prot))\n    ret.update({\n        \"num_exclusions\": len(exclude_residues),\n        \"iteration\": iteration,\n    })\n    violations = ret[\"violations_per_residue\"]\n    exclude_residues = exclude_residues.union(ret[\"residue_violations\"])\n\n    logging.info(\n        \"Iteration completed: Einit %.2f Efinal %.2f Time %.2f s \"\n        \"num residue violations %d num residue exclusions %d \",\n        ret[\"einit\"],\n        ret[\"efinal\"],\n        ret[\"opt_time\"],\n        ret[\"num_residue_violations\"],\n        ret[\"num_exclusions\"],\n    )\n    iteration += 1\n  return ret\n"
  },
  {
    "path": "alphafold/relax/amber_minimize_test.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport os\n\nfrom absl.testing import absltest\nfrom alphafold.common import protein\nfrom alphafold.relax import amber_minimize\nimport numpy as np\n\n# Internal import (7716).\n\n_USE_GPU = False\n\n\ndef _load_test_protein(data_path):\n  pdb_path = os.path.join(absltest.get_default_test_srcdir(), data_path)\n  with open(pdb_path, 'r') as f:\n    return protein.from_pdb_string(f.read())\n\n\nclass AmberMinimizeTest(absltest.TestCase):\n\n  def test_multiple_disulfides_target(self):\n    prot = _load_test_protein(\n        'alphafold/relax/testdata/multiple_disulfides_target.pdb'\n    )\n    ret = amber_minimize.run_pipeline(\n        prot,\n        max_iterations=10,\n        max_attempts=1,\n        stiffness=10.0,\n        use_gpu=_USE_GPU,\n    )\n    self.assertIn('opt_time', ret)\n    self.assertIn('min_attempts', ret)\n\n  def test_raises_invalid_protein_assertion(self):\n    prot = _load_test_protein(\n        'alphafold/relax/testdata/multiple_disulfides_target.pdb'\n    )\n    prot.atom_mask[4, :] = 0\n    with self.assertRaisesRegex(\n        ValueError,\n        'Amber minimization can only be performed on proteins with well-defined'\n        ' residues. This protein contains at least one residue with no atoms.',\n    ):\n      amber_minimize.run_pipeline(\n          prot,\n          max_iterations=10,\n          stiffness=1.0,\n          max_attempts=1,\n          use_gpu=_USE_GPU,\n      )\n\n  def test_iterative_relax(self):\n    prot = _load_test_protein(\n        'alphafold/relax/testdata/with_violations.pdb'\n    )\n    violations = amber_minimize.get_violation_metrics(prot)\n    self.assertGreater(violations['num_residue_violations'], 0)\n    out = amber_minimize.run_pipeline(\n        prot=prot, max_outer_iterations=10, stiffness=10.0, use_gpu=_USE_GPU\n    )\n    self.assertLess(out['efinal'], out['einit'])\n    self.assertEqual(0, out['num_residue_violations'])\n\n  def test_find_violations(self):\n    prot = _load_test_protein(\n        'alphafold/relax/testdata/multiple_disulfides_target.pdb'\n    )\n    viols, _ = amber_minimize.find_violations(prot)\n\n    expected_between_residues_connection_mask = np.zeros((191,), np.float32)\n    for residue in (135, 136):\n      expected_between_residues_connection_mask[residue] = 1.0\n\n    expected_clash_indices = np.array(\n        [\n            [8, 4],\n            [8, 5],\n            [13, 3],\n            [14, 1],\n            [14, 4],\n            [26, 4],\n            [26, 5],\n            [31, 8],\n            [31, 10],\n            [39, 0],\n            [39, 1],\n            [39, 2],\n            [39, 3],\n            [39, 4],\n            [42, 5],\n            [42, 6],\n            [42, 7],\n            [42, 8],\n            [47, 7],\n            [47, 8],\n            [47, 9],\n            [47, 10],\n            [64, 4],\n            [85, 5],\n            [102, 4],\n            [102, 5],\n            [109, 13],\n            [111, 5],\n            [118, 6],\n            [118, 7],\n            [118, 8],\n            [124, 4],\n            [124, 5],\n            [131, 5],\n            [139, 7],\n            [147, 4],\n            [152, 7],\n        ],\n        dtype=np.int32,\n    )\n    expected_between_residues_clash_mask = np.zeros([191, 14])\n    expected_between_residues_clash_mask[\n        expected_clash_indices[:, 0], expected_clash_indices[:, 1]\n    ] += 1\n    expected_per_atom_violations = np.zeros([191, 14])\n    np.testing.assert_array_equal(\n        viols['between_residues']['connections_per_residue_violation_mask'],\n        expected_between_residues_connection_mask,\n    )\n    np.testing.assert_array_equal(\n        viols['between_residues']['clashes_per_atom_clash_mask'],\n        expected_between_residues_clash_mask,\n    )\n    np.testing.assert_array_equal(\n        viols['within_residues']['per_atom_violations'],\n        expected_per_atom_violations,\n    )\n\n\nif __name__ == '__main__':\n  absltest.main()\n"
  },
  {
    "path": "alphafold/relax/cleanup.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Cleans up a PDB file using pdbfixer in preparation for OpenMM simulations.\n\nfix_pdb uses a third-party tool. We also support fixing some additional edge\ncases like removing chains of length one (see clean_structure).\n\"\"\"\nimport io\n\nfrom openmm import app\nfrom openmm.app import element\nimport pdbfixer\n\n\ndef fix_pdb(pdbfile, alterations_info):\n  \"\"\"Apply pdbfixer to the contents of a PDB file; return a PDB string result.\n\n  1) Replaces nonstandard residues.\n  2) Removes heterogens (non protein residues) including water.\n  3) Adds missing residues and missing atoms within existing residues.\n  4) Adds hydrogens assuming pH=7.0.\n  5) KeepIds is currently true, so the fixer must keep the existing chain and\n     residue identifiers. This will fail for some files in wider PDB that have\n     invalid IDs.\n\n  Args:\n    pdbfile: Input PDB file handle.\n    alterations_info: A dict that will store details of changes made.\n\n  Returns:\n    A PDB string representing the fixed structure.\n  \"\"\"\n  fixer = pdbfixer.PDBFixer(pdbfile=pdbfile)\n  fixer.findNonstandardResidues()\n  alterations_info['nonstandard_residues'] = fixer.nonstandardResidues\n  fixer.replaceNonstandardResidues()\n  _remove_heterogens(fixer, alterations_info, keep_water=False)\n  fixer.findMissingResidues()\n  alterations_info['missing_residues'] = fixer.missingResidues\n  fixer.findMissingAtoms()\n  alterations_info['missing_heavy_atoms'] = fixer.missingAtoms\n  alterations_info['missing_terminals'] = fixer.missingTerminals\n  fixer.addMissingAtoms(seed=0)\n  fixer.addMissingHydrogens()\n  out_handle = io.StringIO()\n  app.PDBFile.writeFile(\n      fixer.topology, fixer.positions, out_handle, keepIds=True\n  )\n  return out_handle.getvalue()\n\n\ndef clean_structure(pdb_structure, alterations_info):\n  \"\"\"Applies additional fixes to an OpenMM structure, to handle edge cases.\n\n  Args:\n    pdb_structure: An OpenMM structure to modify and fix.\n    alterations_info: A dict that will store details of changes made.\n  \"\"\"\n  _replace_met_se(pdb_structure, alterations_info)\n  _remove_chains_of_length_one(pdb_structure, alterations_info)\n\n\ndef _remove_heterogens(fixer, alterations_info, keep_water):\n  \"\"\"Removes the residues that Pdbfixer considers to be heterogens.\n\n  Args:\n    fixer: A Pdbfixer instance.\n    alterations_info: A dict that will store details of changes made.\n    keep_water: If True, water (HOH) is not considered to be a heterogen.\n  \"\"\"\n  initial_resnames = set()\n  for chain in fixer.topology.chains():\n    for residue in chain.residues():\n      initial_resnames.add(residue.name)\n  fixer.removeHeterogens(keepWater=keep_water)\n  final_resnames = set()\n  for chain in fixer.topology.chains():\n    for residue in chain.residues():\n      final_resnames.add(residue.name)\n  alterations_info['removed_heterogens'] = initial_resnames.difference(\n      final_resnames\n  )\n\n\ndef _replace_met_se(pdb_structure, alterations_info):\n  \"\"\"Replace the Se in any MET residues that were not marked as modified.\"\"\"\n  modified_met_residues = []\n  for res in pdb_structure.iter_residues():\n    name = res.get_name_with_spaces().strip()\n    if name == 'MET':\n      s_atom = res.get_atom('SD')\n      if s_atom.element_symbol == 'Se':\n        s_atom.element_symbol = 'S'\n        s_atom.element = element.get_by_symbol('S')\n        modified_met_residues.append(s_atom.residue_number)\n  alterations_info['Se_in_MET'] = modified_met_residues\n\n\ndef _remove_chains_of_length_one(pdb_structure, alterations_info):\n  \"\"\"Removes chains that correspond to a single amino acid.\n\n  A single amino acid in a chain is both N and C terminus. There is no force\n  template for this case.\n\n  Args:\n    pdb_structure: An OpenMM pdb_structure to modify and fix.\n    alterations_info: A dict that will store details of changes made.\n  \"\"\"\n  removed_chains = {}\n  for model in pdb_structure.iter_models():\n    valid_chains = [c for c in model.iter_chains() if len(c) > 1]\n    invalid_chain_ids = [c.chain_id for c in model.iter_chains() if len(c) <= 1]\n    model.chains = valid_chains\n    for chain_id in invalid_chain_ids:\n      model.chains_by_id.pop(chain_id)\n    removed_chains[model.number] = invalid_chain_ids\n  alterations_info['removed_chains'] = removed_chains\n"
  },
  {
    "path": "alphafold/relax/cleanup_test.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport io\n\nfrom absl.testing import absltest\nfrom alphafold.relax import cleanup\nfrom openmm.app.internal import pdbstructure\n\n\ndef _pdb_to_structure(pdb_str):\n  handle = io.StringIO(pdb_str)\n  return pdbstructure.PdbStructure(handle)\n\n\ndef _lines_to_structure(pdb_lines):\n  return _pdb_to_structure('\\n'.join(pdb_lines))\n\n\nclass CleanupTest(absltest.TestCase):\n\n  def test_missing_residues(self):\n    # pyformat: disable\n    # pylint: disable=line-too-long\n    pdb_lines = [\n        'SEQRES   1 C    3  CYS GLY LEU',\n        'ATOM      1  N   CYS C   1     -12.262  20.115  60.959  1.00 19.08           N',\n        'ATOM      2  CA  CYS C   1     -11.065  20.934  60.773  1.00 17.23           C',\n        'ATOM      3  C   CYS C   1     -10.002  20.742  61.844  1.00 15.38           C',\n        'ATOM      4  O   CYS C   1     -10.284  20.225  62.929  1.00 16.04           O',\n        'ATOM      5  N   LEU C   3      -7.688  18.700  62.045  1.00 14.75           N',\n        'ATOM      6  CA  LEU C   3      -7.256  17.320  62.234  1.00 16.81           C',\n        'ATOM      7  C   LEU C   3      -6.380  16.864  61.070  1.00 16.95           C',\n        'ATOM      8  O   LEU C   3      -6.551  17.332  59.947  1.00 16.97           O'\n    ]\n    # pylint: enable=line-too-long\n    # pyformat: enable\n    input_handle = io.StringIO('\\n'.join(pdb_lines))\n    alterations = {}\n    result = cleanup.fix_pdb(input_handle, alterations)\n    structure = _pdb_to_structure(result)\n    residue_names = [r.get_name() for r in structure.iter_residues()]\n    self.assertCountEqual(residue_names, ['CYS', 'GLY', 'LEU'])\n    self.assertCountEqual(alterations['missing_residues'].values(), [['GLY']])\n\n  def test_missing_atoms(self):\n    # pyformat: disable\n    # pylint: disable=line-too-long\n    pdb_lines = [\n        'SEQRES   1 A    1  PRO',\n        'ATOM      1  CA  PRO A   1       1.000   1.000   1.000  1.00  0.00           C',\n    ]\n    # pylint: enable=line-too-long\n    # pyformat: enable\n    input_handle = io.StringIO('\\n'.join(pdb_lines))\n    alterations = {}\n    result = cleanup.fix_pdb(input_handle, alterations)\n    structure = _pdb_to_structure(result)\n    atom_names = [a.get_name() for a in structure.iter_atoms()]\n    exp_heavy_atoms = ['N', 'CD', 'CG', 'CB', 'CA', 'C', 'O', 'OXT']\n    exp_hydrogens = ['HD2', 'HD3', 'HG2', 'HG3', 'HB2', 'HB3', 'HA', 'H2', 'H3']\n    self.assertCountEqual(atom_names, exp_heavy_atoms + exp_hydrogens)\n    missing_atoms_by_residue = list(alterations['missing_heavy_atoms'].values())\n    self.assertLen(missing_atoms_by_residue, 1)\n    atoms_added = [a.name for a in missing_atoms_by_residue[0]]\n    self.assertCountEqual(atoms_added, ['N', 'CD', 'CG', 'CB', 'C', 'O'])\n    missing_terminals_by_residue = alterations['missing_terminals']\n    self.assertLen(missing_terminals_by_residue, 1)\n    has_missing_terminal = [r.name for r in missing_terminals_by_residue.keys()]\n    self.assertCountEqual(has_missing_terminal, ['PRO'])\n    self.assertCountEqual(\n        [t for t in missing_terminals_by_residue.values()], [['OXT']]\n    )\n\n  def test_remove_heterogens(self):\n    # pyformat: disable\n    # pylint: disable=line-too-long\n    pdb_lines = [\n        'SEQRES   1 A    1  GLY',\n        'ATOM      1  CA  GLY A   1       0.000   0.000   0.000  1.00  0.00           C',\n        'ATOM      2   O  HOH A   2       0.000   0.000   0.000  1.00  0.00           O'\n    ]\n    # pylint: enable=line-too-long\n    # pyformat: enable\n    input_handle = io.StringIO('\\n'.join(pdb_lines))\n    alterations = {}\n    result = cleanup.fix_pdb(input_handle, alterations)\n    structure = _pdb_to_structure(result)\n    self.assertCountEqual(\n        [res.get_name() for res in structure.iter_residues()], ['GLY']\n    )\n    self.assertEqual(alterations['removed_heterogens'], set(['HOH']))\n\n  def test_fix_nonstandard_residues(self):\n    # pyformat: disable\n    # pylint: disable=line-too-long\n    pdb_lines = [\n        'SEQRES   1 A    1  DAL',\n        'ATOM      1  CA  DAL A   1       0.000   0.000   0.000  1.00  0.00           C',\n    ]\n    # pylint: enable=line-too-long\n    # pyformat: enable\n    input_handle = io.StringIO('\\n'.join(pdb_lines))\n    alterations = {}\n    result = cleanup.fix_pdb(input_handle, alterations)\n    structure = _pdb_to_structure(result)\n    residue_names = [res.get_name() for res in structure.iter_residues()]\n    self.assertCountEqual(residue_names, ['ALA'])\n    self.assertLen(alterations['nonstandard_residues'], 1)\n    original_res, new_name = alterations['nonstandard_residues'][0]\n    self.assertEqual(original_res.id, '1')\n    self.assertEqual(new_name, 'ALA')\n\n  def test_replace_met_se(self):\n    # pyformat: disable\n    # pylint: disable=line-too-long\n    pdb_lines = [\n        'SEQRES   1 A    1  MET',\n        'ATOM      1  SD  MET A   1       0.000   0.000   0.000  1.00  0.00          Se',\n    ]\n    # pylint: enable=line-too-long\n    # pyformat: enable\n    structure = _lines_to_structure(pdb_lines)\n    alterations = {}\n    cleanup._replace_met_se(structure, alterations)\n    sd = [a for a in structure.iter_atoms() if a.get_name() == 'SD']\n    self.assertLen(sd, 1)\n    self.assertEqual(sd[0].element_symbol, 'S')\n    self.assertCountEqual(alterations['Se_in_MET'], [sd[0].residue_number])\n\n  def test_remove_chains_of_length_one(self):\n    # pyformat: disable\n    # pylint: disable=line-too-long\n    pdb_lines = [\n        'SEQRES   1 A    1  GLY',\n        'ATOM      1  CA  GLY A   1       0.000   0.000   0.000  1.00  0.00           C',\n    ]\n    # pylint: enable=line-too-long\n    # pyformat: enable\n    structure = _lines_to_structure(pdb_lines)\n    alterations = {}\n    cleanup._remove_chains_of_length_one(structure, alterations)\n    chains = list(structure.iter_chains())\n    self.assertEmpty(chains)\n    self.assertCountEqual(alterations['removed_chains'].values(), [['A']])\n\n\nif __name__ == '__main__':\n  absltest.main()\n"
  },
  {
    "path": "alphafold/relax/relax.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Amber relaxation.\"\"\"\nfrom typing import Any, Dict, Sequence, Tuple\nfrom alphafold.common import protein\nfrom alphafold.relax import amber_minimize\nfrom alphafold.relax import utils\nimport numpy as np\n\n\nclass AmberRelaxation(object):\n  \"\"\"Amber relaxation.\"\"\"\n\n  def __init__(\n      self,\n      *,\n      max_iterations: int,\n      tolerance: float,\n      stiffness: float,\n      exclude_residues: Sequence[int],\n      max_outer_iterations: int,\n      use_gpu: bool\n  ):\n    \"\"\"Initialize Amber Relaxer.\n\n    Args:\n      max_iterations: Maximum number of L-BFGS iterations. 0 means no max.\n      tolerance: kcal/mol, the energy tolerance of L-BFGS.\n      stiffness: kcal/mol A**2, spring constant of heavy atom restraining\n        potential.\n      exclude_residues: Residues to exclude from per-atom restraining.\n        Zero-indexed.\n      max_outer_iterations: Maximum number of violation-informed relax\n        iterations. A value of 1 will run the non-iterative procedure used in\n        CASP14. Use 20 so that >95% of the bad cases are relaxed. Relax finishes\n        as soon as there are no violations, hence in most cases this causes no\n        slowdown. In the worst case we do 20 outer iterations.\n      use_gpu: Whether to run on GPU.\n    \"\"\"\n\n    self._max_iterations = max_iterations\n    self._tolerance = tolerance\n    self._stiffness = stiffness\n    self._exclude_residues = exclude_residues\n    self._max_outer_iterations = max_outer_iterations\n    self._use_gpu = use_gpu\n\n  def process(\n      self, *, prot: protein.Protein\n  ) -> Tuple[str, Dict[str, Any], Sequence[float]]:\n    \"\"\"Runs Amber relax on a prediction, adds hydrogens, returns PDB string.\"\"\"\n    out = amber_minimize.run_pipeline(\n        prot=prot,\n        max_iterations=self._max_iterations,\n        tolerance=self._tolerance,\n        stiffness=self._stiffness,\n        exclude_residues=self._exclude_residues,\n        max_outer_iterations=self._max_outer_iterations,\n        use_gpu=self._use_gpu,\n    )\n    min_pos = out['pos']\n    start_pos = out['posinit']\n    rmsd = np.sqrt(np.sum((start_pos - min_pos) ** 2) / start_pos.shape[0])\n    debug_data = {\n        'initial_energy': out['einit'],\n        'final_energy': out['efinal'],\n        'attempts': out['min_attempts'],\n        'rmsd': rmsd,\n    }\n    min_pdb = out['min_pdb']\n    min_pdb = utils.overwrite_b_factors(min_pdb, prot.b_factors)\n    utils.assert_equal_nonterminal_atom_types(\n        protein.from_pdb_string(min_pdb).atom_mask, prot.atom_mask\n    )\n    violations = out['structural_violations'][\n        'total_per_residue_violations_mask'\n    ].tolist()\n    return min_pdb, debug_data, violations\n"
  },
  {
    "path": "alphafold/relax/relax_test.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport os\n\nfrom absl.testing import absltest\nfrom alphafold.common import protein\nfrom alphafold.relax import relax\nimport numpy as np\n\n# Internal import (7716).\n\n\nclass RunAmberRelaxTest(absltest.TestCase):\n\n  def setUp(self):\n    super().setUp()\n    self.test_dir = os.path.join(\n        absltest.get_default_test_srcdir(),\n        'alphafold/relax/testdata/',\n    )\n    self.test_config = {\n        'max_iterations': 1,\n        'tolerance': 2.39,\n        'stiffness': 10.0,\n        'exclude_residues': [],\n        'max_outer_iterations': 1,\n        'use_gpu': False,\n    }\n\n  def test_process(self):\n    amber_relax = relax.AmberRelaxation(**self.test_config)\n\n    with open(os.path.join(self.test_dir, 'model_output.pdb')) as f:\n      test_prot = protein.from_pdb_string(f.read())\n    pdb_min, debug_info, num_violations = amber_relax.process(prot=test_prot)\n\n    self.assertCountEqual(\n        debug_info.keys(),\n        set({'initial_energy', 'final_energy', 'attempts', 'rmsd'}),\n    )\n    self.assertLess(debug_info['final_energy'], debug_info['initial_energy'])\n    self.assertGreater(debug_info['rmsd'], 0)\n\n    prot_min = protein.from_pdb_string(pdb_min)\n    # Most protein properties should be unchanged.\n    np.testing.assert_almost_equal(test_prot.aatype, prot_min.aatype)\n    np.testing.assert_almost_equal(\n        test_prot.residue_index, prot_min.residue_index\n    )\n    # Atom mask and bfactors identical except for terminal OXT of last residue.\n    np.testing.assert_almost_equal(\n        test_prot.atom_mask[:-1, :], prot_min.atom_mask[:-1, :]\n    )\n    np.testing.assert_almost_equal(\n        test_prot.b_factors[:-1, :], prot_min.b_factors[:-1, :]\n    )\n    np.testing.assert_almost_equal(\n        test_prot.atom_mask[:, :-1], prot_min.atom_mask[:, :-1]\n    )\n    np.testing.assert_almost_equal(\n        test_prot.b_factors[:, :-1], prot_min.b_factors[:, :-1]\n    )\n    # There are no residues with violations.\n    np.testing.assert_equal(num_violations, np.zeros_like(num_violations))\n\n  def test_unresolved_violations(self):\n    amber_relax = relax.AmberRelaxation(**self.test_config)\n    with open(\n        os.path.join(self.test_dir, 'with_violations_casp14.pdb')\n    ) as f:\n      test_prot = protein.from_pdb_string(f.read())\n    _, _, num_violations = amber_relax.process(prot=test_prot)\n    # pyformat: disable\n    exp_num_violations = np.array([\n        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1,\n        1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,\n        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,\n        0, 0, 0, 0,\n    ])\n    # pyformat: enable\n    # Check no violations were added. Can't check exactly due to stochasticity.\n    self.assertTrue(np.all(np.array(num_violations) <= exp_num_violations))\n\n\nif __name__ == '__main__':\n  absltest.main()\n"
  },
  {
    "path": "alphafold/relax/testdata/model_output.pdb",
    "content": "ATOM      1  C   MET A   1       1.921 -46.152   7.786  1.00  4.39           C  \nATOM      2  CA  MET A   1       1.631 -46.829   9.131  1.00  4.39           C  \nATOM      3  CB  MET A   1       2.759 -47.768   9.578  1.00  4.39           C  \nATOM      4  CE  MET A   1       3.466 -49.770  13.198  1.00  4.39           C  \nATOM      5  CG  MET A   1       2.581 -48.221  11.034  1.00  4.39           C  \nATOM      6  H   MET A   1       0.234 -48.249   8.549  1.00  4.39           H  \nATOM      7  H2  MET A   1      -0.424 -46.789   8.952  1.00  4.39           H  \nATOM      8  H3  MET A   1       0.111 -47.796  10.118  1.00  4.39           H  \nATOM      9  HA  MET A   1       1.628 -46.009   9.849  1.00  4.39           H  \nATOM     10  HB2 MET A   1       3.701 -47.225   9.500  1.00  4.39           H  \nATOM     11  HB3 MET A   1       2.807 -48.640   8.926  1.00  4.39           H  \nATOM     12  HE1 MET A   1       2.747 -50.537  12.910  1.00  4.39           H  \nATOM     13  HE2 MET A   1       4.296 -50.241  13.725  1.00  4.39           H  \nATOM     14  HE3 MET A   1       2.988 -49.052  13.864  1.00  4.39           H  \nATOM     15  HG2 MET A   1       1.791 -48.971  11.083  1.00  4.39           H  \nATOM     16  HG3 MET A   1       2.295 -47.368  11.650  1.00  4.39           H  \nATOM     17  N   MET A   1       0.291 -47.464   9.182  1.00  4.39           N  \nATOM     18  O   MET A   1       2.091 -44.945   7.799  1.00  4.39           O  \nATOM     19  SD  MET A   1       4.096 -48.921  11.725  1.00  4.39           S  \nATOM     20  C   LYS A   2       1.366 -45.033   4.898  1.00  2.92           C  \nATOM     21  CA  LYS A   2       2.235 -46.242   5.308  1.00  2.92           C  \nATOM     22  CB  LYS A   2       2.206 -47.314   4.196  1.00  2.92           C  \nATOM     23  CD  LYS A   2       3.331 -49.342   3.134  1.00  2.92           C  \nATOM     24  CE  LYS A   2       4.434 -50.403   3.293  1.00  2.92           C  \nATOM     25  CG  LYS A   2       3.294 -48.395   4.349  1.00  2.92           C  \nATOM     26  H   LYS A   2       1.832 -47.853   6.656  1.00  2.92           H  \nATOM     27  HA  LYS A   2       3.248 -45.841   5.355  1.00  2.92           H  \nATOM     28  HB2 LYS A   2       1.223 -47.785   4.167  1.00  2.92           H  \nATOM     29  HB3 LYS A   2       2.363 -46.812   3.241  1.00  2.92           H  \nATOM     30  HD2 LYS A   2       3.524 -48.754   2.237  1.00  2.92           H  \nATOM     31  HD3 LYS A   2       2.364 -49.833   3.031  1.00  2.92           H  \nATOM     32  HE2 LYS A   2       5.383 -49.891   3.455  1.00  2.92           H  \nATOM     33  HE3 LYS A   2       4.225 -51.000   4.180  1.00  2.92           H  \nATOM     34  HG2 LYS A   2       3.102 -48.977   5.250  1.00  2.92           H  \nATOM     35  HG3 LYS A   2       4.264 -47.909   4.446  1.00  2.92           H  \nATOM     36  HZ1 LYS A   2       4.763 -50.747   1.274  1.00  2.92           H  \nATOM     37  HZ2 LYS A   2       3.681 -51.785   1.931  1.00  2.92           H  \nATOM     38  HZ3 LYS A   2       5.280 -51.965   2.224  1.00  2.92           H  \nATOM     39  N   LYS A   2       1.907 -46.846   6.629  1.00  2.92           N  \nATOM     40  NZ  LYS A   2       4.542 -51.286   2.100  1.00  2.92           N  \nATOM     41  O   LYS A   2       1.882 -44.093   4.312  1.00  2.92           O  \nATOM     42  C   PHE A   3      -0.511 -42.597   5.624  1.00  4.39           C  \nATOM     43  CA  PHE A   3      -0.853 -43.933   4.929  1.00  4.39           C  \nATOM     44  CB  PHE A   3      -2.271 -44.408   5.285  1.00  4.39           C  \nATOM     45  CD1 PHE A   3      -3.760 -43.542   3.432  1.00  4.39           C  \nATOM     46  CD2 PHE A   3      -4.050 -42.638   5.675  1.00  4.39           C  \nATOM     47  CE1 PHE A   3      -4.797 -42.715   2.965  1.00  4.39           C  \nATOM     48  CE2 PHE A   3      -5.091 -41.818   5.207  1.00  4.39           C  \nATOM     49  CG  PHE A   3      -3.382 -43.505   4.788  1.00  4.39           C  \nATOM     50  CZ  PHE A   3      -5.463 -41.853   3.853  1.00  4.39           C  \nATOM     51  H   PHE A   3      -0.311 -45.868   5.655  1.00  4.39           H  \nATOM     52  HA  PHE A   3      -0.817 -43.746   3.856  1.00  4.39           H  \nATOM     53  HB2 PHE A   3      -2.353 -44.512   6.367  1.00  4.39           H  \nATOM     54  HB3 PHE A   3      -2.432 -45.393   4.848  1.00  4.39           H  \nATOM     55  HD1 PHE A   3      -3.255 -44.198   2.739  1.00  4.39           H  \nATOM     56  HD2 PHE A   3      -3.768 -42.590   6.716  1.00  4.39           H  \nATOM     57  HE1 PHE A   3      -5.083 -42.735   1.923  1.00  4.39           H  \nATOM     58  HE2 PHE A   3      -5.604 -41.151   5.885  1.00  4.39           H  \nATOM     59  HZ  PHE A   3      -6.257 -41.215   3.493  1.00  4.39           H  \nATOM     60  N   PHE A   3       0.079 -45.027   5.253  1.00  4.39           N  \nATOM     61  O   PHE A   3      -0.633 -41.541   5.014  1.00  4.39           O  \nATOM     62  C   LEU A   4       1.598 -40.732   7.042  1.00  4.39           C  \nATOM     63  CA  LEU A   4       0.367 -41.437   7.633  1.00  4.39           C  \nATOM     64  CB  LEU A   4       0.628 -41.823   9.104  1.00  4.39           C  \nATOM     65  CD1 LEU A   4      -0.319 -42.778  11.228  1.00  4.39           C  \nATOM     66  CD2 LEU A   4      -1.300 -40.694  10.309  1.00  4.39           C  \nATOM     67  CG  LEU A   4      -0.650 -42.027   9.937  1.00  4.39           C  \nATOM     68  H   LEU A   4       0.163 -43.538   7.292  1.00  4.39           H  \nATOM     69  HA  LEU A   4      -0.445 -40.712   7.588  1.00  4.39           H  \nATOM     70  HB2 LEU A   4       1.213 -41.034   9.576  1.00  4.39           H  \nATOM     71  HB3 LEU A   4       1.235 -42.728   9.127  1.00  4.39           H  \nATOM     72 HD11 LEU A   4       0.380 -42.191  11.824  1.00  4.39           H  \nATOM     73 HD12 LEU A   4       0.127 -43.747  11.002  1.00  4.39           H  \nATOM     74 HD13 LEU A   4      -1.230 -42.927  11.808  1.00  4.39           H  \nATOM     75 HD21 LEU A   4      -0.606 -40.080  10.883  1.00  4.39           H  \nATOM     76 HD22 LEU A   4      -2.193 -40.869  10.909  1.00  4.39           H  \nATOM     77 HD23 LEU A   4      -1.593 -40.147   9.413  1.00  4.39           H  \nATOM     78  HG  LEU A   4      -1.359 -42.630   9.370  1.00  4.39           H  \nATOM     79  N   LEU A   4      -0.012 -42.638   6.869  1.00  4.39           N  \nATOM     80  O   LEU A   4       1.655 -39.508   7.028  1.00  4.39           O  \nATOM     81  C   VAL A   5       3.372 -40.190   4.573  1.00  4.39           C  \nATOM     82  CA  VAL A   5       3.752 -40.956   5.845  1.00  4.39           C  \nATOM     83  CB  VAL A   5       4.757 -42.083   5.528  1.00  4.39           C  \nATOM     84  CG1 VAL A   5       6.019 -41.568   4.827  1.00  4.39           C  \nATOM     85  CG2 VAL A   5       5.199 -42.807   6.810  1.00  4.39           C  \nATOM     86  H   VAL A   5       2.440 -42.503   6.548  1.00  4.39           H  \nATOM     87  HA  VAL A   5       4.234 -40.242   6.512  1.00  4.39           H  \nATOM     88  HB  VAL A   5       4.279 -42.813   4.875  1.00  4.39           H  \nATOM     89 HG11 VAL A   5       6.494 -40.795   5.431  1.00  4.39           H  \nATOM     90 HG12 VAL A   5       5.770 -41.145   3.853  1.00  4.39           H  \nATOM     91 HG13 VAL A   5       6.725 -42.383   4.670  1.00  4.39           H  \nATOM     92 HG21 VAL A   5       4.347 -43.283   7.297  1.00  4.39           H  \nATOM     93 HG22 VAL A   5       5.933 -43.575   6.568  1.00  4.39           H  \nATOM     94 HG23 VAL A   5       5.651 -42.093   7.498  1.00  4.39           H  \nATOM     95  N   VAL A   5       2.554 -41.501   6.509  1.00  4.39           N  \nATOM     96  O   VAL A   5       3.937 -39.138   4.297  1.00  4.39           O  \nTER      96      VAL A   5                                                      \nEND\n"
  },
  {
    "path": "alphafold/relax/testdata/multiple_disulfides_target.pdb",
    "content": "MODEL        0\nATOM      1  N   MET A   1      19.164 -28.457  26.130  1.00  0.00          N   \nATOM      2  CA  MET A   1      19.746 -27.299  25.456  1.00  0.00          C   \nATOM      3  C   MET A   1      19.080 -26.008  25.921  1.00  0.00          C   \nATOM      4  CB  MET A   1      19.615 -27.438  23.938  1.00  0.00          C   \nATOM      5  O   MET A   1      17.853 -25.899  25.913  1.00  0.00          O   \nATOM      6  CG  MET A   1      19.873 -28.846  23.427  1.00  0.00          C   \nATOM      7  SD  MET A   1      21.636 -29.126  23.002  1.00  0.00          S   \nATOM      8  CE  MET A   1      22.302 -27.462  23.284  1.00  0.00          C   \nATOM      9  N   ALA A   2      19.679 -25.354  27.019  1.00  0.00          N   \nATOM     10  CA  ALA A   2      19.241 -24.061  27.539  1.00  0.00          C   \nATOM     11  C   ALA A   2      18.629 -23.204  26.434  1.00  0.00          C   \nATOM     12  CB  ALA A   2      20.410 -23.326  28.192  1.00  0.00          C   \nATOM     13  O   ALA A   2      19.158 -23.145  25.322  1.00  0.00          O   \nATOM     14  N   HIS A   3      17.369 -23.382  26.161  1.00  0.00          N   \nATOM     15  CA  HIS A   3      16.748 -22.427  25.250  1.00  0.00          C   \nATOM     16  C   HIS A   3      17.419 -21.061  25.342  1.00  0.00          C   \nATOM     17  CB  HIS A   3      15.252 -22.299  25.547  1.00  0.00          C   \nATOM     18  O   HIS A   3      17.896 -20.669  26.409  1.00  0.00          O   \nATOM     19  CG  HIS A   3      14.464 -23.520  25.196  1.00  0.00          C   \nATOM     20  CD2 HIS A   3      13.848 -24.436  25.979  1.00  0.00          C   \nATOM     21  ND1 HIS A   3      14.242 -23.914  23.894  1.00  0.00          N   \nATOM     22  CE1 HIS A   3      13.520 -25.022  23.892  1.00  0.00          C   \nATOM     23  NE2 HIS A   3      13.268 -25.360  25.145  1.00  0.00          N   \nATOM     24  N   GLU A   4      18.306 -20.798  24.429  1.00  0.00          N   \nATOM     25  CA  GLU A   4      18.907 -19.505  24.115  1.00  0.00          C   \nATOM     26  C   GLU A   4      18.392 -18.415  25.050  1.00  0.00          C   \nATOM     27  CB  GLU A   4      18.631 -19.123  22.659  1.00  0.00          C   \nATOM     28  O   GLU A   4      17.240 -18.458  25.486  1.00  0.00          O   \nATOM     29  CG  GLU A   4      19.253 -20.072  21.645  1.00  0.00          C   \nATOM     30  CD  GLU A   4      20.767 -19.956  21.564  1.00  0.00          C   \nATOM     31  OE1 GLU A   4      21.330 -18.981  22.111  1.00  0.00          O   \nATOM     32  OE2 GLU A   4      21.394 -20.846  20.948  1.00  0.00          O   \nATOM     33  N   GLU A   5      19.093 -18.090  26.026  1.00  0.00          N   \nATOM     34  CA  GLU A   5      19.080 -16.885  26.849  1.00  0.00          C   \nATOM     35  C   GLU A   5      17.938 -15.956  26.449  1.00  0.00          C   \nATOM     36  CB  GLU A   5      20.418 -16.148  26.746  1.00  0.00          C   \nATOM     37  O   GLU A   5      17.774 -15.636  25.269  1.00  0.00          O   \nATOM     38  CG  GLU A   5      21.604 -16.952  27.257  1.00  0.00          C   \nATOM     39  CD  GLU A   5      21.641 -17.070  28.772  1.00  0.00          C   \nATOM     40  OE1 GLU A   5      20.899 -16.330  29.457  1.00  0.00          O   \nATOM     41  OE2 GLU A   5      22.419 -17.909  29.279  1.00  0.00          O   \nATOM     42  N   ASP A   6      16.721 -16.161  26.857  1.00  0.00          N   \nATOM     43  CA  ASP A   6      15.629 -15.196  26.948  1.00  0.00          C   \nATOM     44  C   ASP A   6      16.107 -13.791  26.591  1.00  0.00          C   \nATOM     45  CB  ASP A   6      15.022 -15.204  28.353  1.00  0.00          C   \nATOM     46  O   ASP A   6      17.144 -13.339  27.079  1.00  0.00          O   \nATOM     47  CG  ASP A   6      14.317 -16.507  28.687  1.00  0.00          C   \nATOM     48  OD1 ASP A   6      14.123 -16.805  29.885  1.00  0.00          O   \nATOM     49  OD2 ASP A   6      13.956 -17.243  27.744  1.00  0.00          O   \nATOM     50  N   GLY A   7      16.251 -13.433  25.339  1.00  0.00          N   \nATOM     51  CA  GLY A   7      16.311 -11.996  25.123  1.00  0.00          C   \nATOM     52  C   GLY A   7      15.833 -11.192  26.317  1.00  0.00          C   \nATOM     53  O   GLY A   7      15.023 -11.674  27.112  1.00  0.00          O   \nATOM     54  N   VAL A   8      16.762 -10.664  27.143  1.00  0.00          N   \nATOM     55  CA  VAL A   8      16.521  -9.756  28.260  1.00  0.00          C   \nATOM     56  C   VAL A   8      15.307  -8.880  27.960  1.00  0.00          C   \nATOM     57  CB  VAL A   8      17.755  -8.875  28.552  1.00  0.00          C   \nATOM     58  O   VAL A   8      15.173  -8.351  26.854  1.00  0.00          O   \nATOM     59  CG1 VAL A   8      17.461  -7.891  29.683  1.00  0.00          C   \nATOM     60  CG2 VAL A   8      18.962  -9.745  28.898  1.00  0.00          C   \nATOM     61  N   CYS A   9      14.157  -9.255  28.398  1.00  0.00          N   \nATOM     62  CA  CYS A   9      13.010  -8.353  28.403  1.00  0.00          C   \nATOM     63  C   CYS A   9      13.310  -7.095  29.209  1.00  0.00          C   \nATOM     64  CB  CYS A   9      11.779  -9.055  28.975  1.00  0.00          C   \nATOM     65  O   CYS A   9      14.058  -7.142  30.187  1.00  0.00          O   \nATOM     66  SG  CYS A   9      11.197 -10.439  27.970  1.00  0.00          S   \nATOM     67  N   ASN A  10      13.304  -5.993  28.589  1.00  0.00          N   \nATOM     68  CA  ASN A  10      13.371  -4.703  29.267  1.00  0.00          C   \nATOM     69  C   ASN A  10      12.018  -3.997  29.264  1.00  0.00          C   \nATOM     70  CB  ASN A  10      14.436  -3.812  28.624  1.00  0.00          C   \nATOM     71  O   ASN A  10      11.047  -4.510  28.706  1.00  0.00          O   \nATOM     72  CG  ASN A  10      14.149  -3.521  27.164  1.00  0.00          C   \nATOM     73  ND2 ASN A  10      15.189  -3.547  26.338  1.00  0.00          N   \nATOM     74  OD1 ASN A  10      13.003  -3.275  26.781  1.00  0.00          O   \nATOM     75  N   SER A  11      11.830  -2.986  30.142  1.00  0.00          N   \nATOM     76  CA  SER A  11      10.597  -2.233  30.343  1.00  0.00          C   \nATOM     77  C   SER A  11      10.027  -1.741  29.017  1.00  0.00          C   \nATOM     78  CB  SER A  11      10.840  -1.044  31.274  1.00  0.00          C   \nATOM     79  O   SER A  11       8.847  -1.392  28.933  1.00  0.00          O   \nATOM     80  OG  SER A  11      11.841  -0.190  30.748  1.00  0.00          O   \nATOM     81  N   ASN A  12      10.789  -1.874  27.933  1.00  0.00          N   \nATOM     82  CA  ASN A  12      10.334  -1.422  26.622  1.00  0.00          C   \nATOM     83  C   ASN A  12       9.775  -2.576  25.795  1.00  0.00          C   \nATOM     84  CB  ASN A  12      11.472  -0.730  25.868  1.00  0.00          C   \nATOM     85  O   ASN A  12       9.262  -2.365  24.694  1.00  0.00          O   \nATOM     86  CG  ASN A  12      11.875   0.587  26.501  1.00  0.00          C   \nATOM     87  ND2 ASN A  12      13.170   0.882  26.482  1.00  0.00          N   \nATOM     88  OD1 ASN A  12      11.031   1.333  27.004  1.00  0.00          O   \nATOM     89  N   ALA A  13      10.045  -3.775  26.303  1.00  0.00          N   \nATOM     90  CA  ALA A  13       9.523  -4.930  25.578  1.00  0.00          C   \nATOM     91  C   ALA A  13       8.001  -4.994  25.671  1.00  0.00          C   \nATOM     92  CB  ALA A  13      10.140  -6.219  26.115  1.00  0.00          C   \nATOM     93  O   ALA A  13       7.423  -4.684  26.715  1.00  0.00          O   \nATOM     94  N   PRO A  14       7.310  -5.193  24.591  1.00  0.00          N   \nATOM     95  CA  PRO A  14       5.846  -5.238  24.577  1.00  0.00          C   \nATOM     96  C   PRO A  14       5.280  -6.316  25.499  1.00  0.00          C   \nATOM     97  CB  PRO A  14       5.517  -5.544  23.113  1.00  0.00          C   \nATOM     98  O   PRO A  14       4.127  -6.222  25.929  1.00  0.00          O   \nATOM     99  CG  PRO A  14       6.757  -6.177  22.568  1.00  0.00          C   \nATOM    100  CD  PRO A  14       7.941  -5.617  23.303  1.00  0.00          C   \nATOM    101  N   CYS A  15       6.076  -7.229  25.793  1.00  0.00          N   \nATOM    102  CA  CYS A  15       5.597  -8.339  26.610  1.00  0.00          C   \nATOM    103  C   CYS A  15       6.142  -8.245  28.030  1.00  0.00          C   \nATOM    104  CB  CYS A  15       5.999  -9.676  25.987  1.00  0.00          C   \nATOM    105  O   CYS A  15       6.205  -9.249  28.743  1.00  0.00          O   \nATOM    106  SG  CYS A  15       7.766  -9.813  25.636  1.00  0.00          S   \nATOM    107  N   TYR A  16       6.510  -6.994  28.366  1.00  0.00          N   \nATOM    108  CA  TYR A  16       7.076  -6.735  29.685  1.00  0.00          C   \nATOM    109  C   TYR A  16       5.978  -6.589  30.731  1.00  0.00          C   \nATOM    110  CB  TYR A  16       7.944  -5.473  29.659  1.00  0.00          C   \nATOM    111  O   TYR A  16       5.053  -5.791  30.563  1.00  0.00          O   \nATOM    112  CG  TYR A  16       8.545  -5.122  30.998  1.00  0.00          C   \nATOM    113  CD1 TYR A  16       8.126  -3.993  31.698  1.00  0.00          C   \nATOM    114  CD2 TYR A  16       9.534  -5.918  31.566  1.00  0.00          C   \nATOM    115  CE1 TYR A  16       8.678  -3.665  32.932  1.00  0.00          C   \nATOM    116  CE2 TYR A  16      10.093  -5.600  32.799  1.00  0.00          C   \nATOM    117  OH  TYR A  16      10.210  -4.153  34.695  1.00  0.00          O   \nATOM    118  CZ  TYR A  16       9.660  -4.473  33.474  1.00  0.00          C   \nATOM    119  N   HIS A  17       5.834  -7.548  31.703  1.00  0.00          N   \nATOM    120  CA  HIS A  17       4.846  -7.504  32.775  1.00  0.00          C   \nATOM    121  C   HIS A  17       5.518  -7.493  34.143  1.00  0.00          C   \nATOM    122  CB  HIS A  17       3.888  -8.692  32.669  1.00  0.00          C   \nATOM    123  O   HIS A  17       6.482  -8.228  34.372  1.00  0.00          O   \nATOM    124  CG  HIS A  17       2.782  -8.661  33.675  1.00  0.00          C   \nATOM    125  CD2 HIS A  17       2.548  -9.432  34.764  1.00  0.00          C   \nATOM    126  ND1 HIS A  17       1.748  -7.752  33.617  1.00  0.00          N   \nATOM    127  CE1 HIS A  17       0.924  -7.965  34.630  1.00  0.00          C   \nATOM    128  NE2 HIS A  17       1.387  -8.979  35.341  1.00  0.00          N   \nATOM    129  N   CYS A  18       5.067  -6.579  34.995  1.00  0.00          N   \nATOM    130  CA  CYS A  18       5.599  -6.487  36.350  1.00  0.00          C   \nATOM    131  C   CYS A  18       4.501  -6.711  37.383  1.00  0.00          C   \nATOM    132  CB  CYS A  18       6.255  -5.126  36.577  1.00  0.00          C   \nATOM    133  O   CYS A  18       3.325  -6.465  37.109  1.00  0.00          O   \nATOM    134  SG  CYS A  18       7.757  -4.870  35.607  1.00  0.00          S   \nATOM    135  N   ASP A  19       4.791  -7.344  38.476  1.00  0.00          N   \nATOM    136  CA  ASP A  19       3.829  -7.460  39.568  1.00  0.00          C   \nATOM    137  C   ASP A  19       3.430  -6.084  40.096  1.00  0.00          C   \nATOM    138  CB  ASP A  19       4.403  -8.313  40.701  1.00  0.00          C   \nATOM    139  O   ASP A  19       3.960  -5.064  39.651  1.00  0.00          O   \nATOM    140  CG  ASP A  19       5.572  -7.650  41.408  1.00  0.00          C   \nATOM    141  OD1 ASP A  19       6.325  -8.345  42.124  1.00  0.00          O   \nATOM    142  OD2 ASP A  19       5.741  -6.422  41.250  1.00  0.00          O   \nATOM    143  N   ALA A  20       2.383  -5.908  40.933  1.00  0.00          N   \nATOM    144  CA  ALA A  20       1.776  -4.676  41.429  1.00  0.00          C   \nATOM    145  C   ALA A  20       2.806  -3.807  42.144  1.00  0.00          C   \nATOM    146  CB  ALA A  20       0.612  -4.995  42.363  1.00  0.00          C   \nATOM    147  O   ALA A  20       2.714  -2.577  42.119  1.00  0.00          O   \nATOM    148  N   ASN A  21       3.841  -4.457  42.638  1.00  0.00          N   \nATOM    149  CA  ASN A  21       4.863  -3.719  43.373  1.00  0.00          C   \nATOM    150  C   ASN A  21       6.048  -3.362  42.480  1.00  0.00          C   \nATOM    151  CB  ASN A  21       5.335  -4.521  44.588  1.00  0.00          C   \nATOM    152  O   ASN A  21       6.980  -2.686  42.919  1.00  0.00          O   \nATOM    153  CG  ASN A  21       4.246  -4.704  45.626  1.00  0.00          C   \nATOM    154  ND2 ASN A  21       4.183  -5.892  46.216  1.00  0.00          N   \nATOM    155  OD1 ASN A  21       3.467  -3.786  45.895  1.00  0.00          O   \nATOM    156  N   GLY A  22       5.989  -3.893  41.230  1.00  0.00          N   \nATOM    157  CA  GLY A  22       7.093  -3.614  40.325  1.00  0.00          C   \nATOM    158  C   GLY A  22       8.376  -4.324  40.712  1.00  0.00          C   \nATOM    159  O   GLY A  22       9.456  -3.972  40.234  1.00  0.00          O   \nATOM    160  N   GLU A  23       8.305  -5.221  41.664  1.00  0.00          N   \nATOM    161  CA  GLU A  23       9.501  -5.877  42.183  1.00  0.00          C   \nATOM    162  C   GLU A  23       9.861  -7.105  41.352  1.00  0.00          C   \nATOM    163  CB  GLU A  23       9.306  -6.272  43.649  1.00  0.00          C   \nATOM    164  O   GLU A  23      11.038  -7.361  41.089  1.00  0.00          O   \nATOM    165  CG  GLU A  23       9.200  -5.085  44.596  1.00  0.00          C   \nATOM    166  CD  GLU A  23       9.074  -5.493  46.055  1.00  0.00          C   \nATOM    167  OE1 GLU A  23       9.075  -6.710  46.348  1.00  0.00          O   \nATOM    168  OE2 GLU A  23       8.972  -4.587  46.913  1.00  0.00          O   \nATOM    169  N   ASN A  24       8.853  -7.853  40.844  1.00  0.00          N   \nATOM    170  CA  ASN A  24       9.050  -9.077  40.075  1.00  0.00          C   \nATOM    171  C   ASN A  24       8.522  -8.936  38.651  1.00  0.00          C   \nATOM    172  CB  ASN A  24       8.381 -10.263  40.774  1.00  0.00          C   \nATOM    173  O   ASN A  24       7.317  -9.045  38.417  1.00  0.00          O   \nATOM    174  CG  ASN A  24       8.973 -10.546  42.140  1.00  0.00          C   \nATOM    175  ND2 ASN A  24       8.125 -10.569  43.162  1.00  0.00          N   \nATOM    176  OD1 ASN A  24      10.184 -10.741  42.277  1.00  0.00          O   \nATOM    177  N   CYS A  25       9.371  -8.554  37.764  1.00  0.00          N   \nATOM    178  CA  CYS A  25       8.978  -8.390  36.369  1.00  0.00          C   \nATOM    179  C   CYS A  25       9.448  -9.572  35.529  1.00  0.00          C   \nATOM    180  CB  CYS A  25       9.548  -7.091  35.800  1.00  0.00          C   \nATOM    181  O   CYS A  25      10.486 -10.171  35.816  1.00  0.00          O   \nATOM    182  SG  CYS A  25       8.933  -5.605  36.623  1.00  0.00          S   \nATOM    183  N   SER A  26       8.561 -10.102  34.701  1.00  0.00          N   \nATOM    184  CA  SER A  26       8.921 -11.145  33.746  1.00  0.00          C   \nATOM    185  C   SER A  26       8.422 -10.808  32.345  1.00  0.00          C   \nATOM    186  CB  SER A  26       8.353 -12.495  34.187  1.00  0.00          C   \nATOM    187  O   SER A  26       7.563  -9.940  32.178  1.00  0.00          O   \nATOM    188  OG  SER A  26       6.936 -12.470  34.186  1.00  0.00          O   \nATOM    189  N   CYS A  27       9.208 -11.265  31.277  1.00  0.00          N   \nATOM    190  CA  CYS A  27       8.779 -11.211  29.884  1.00  0.00          C   \nATOM    191  C   CYS A  27       7.948 -12.436  29.521  1.00  0.00          C   \nATOM    192  CB  CYS A  27       9.988 -11.110  28.954  1.00  0.00          C   \nATOM    193  O   CYS A  27       8.470 -13.551  29.464  1.00  0.00          O   \nATOM    194  SG  CYS A  27      10.970  -9.614  29.197  1.00  0.00          S   \nATOM    195  N   ASN A  28       6.768 -12.360  29.728  1.00  0.00          N   \nATOM    196  CA  ASN A  28       5.905 -13.476  29.355  1.00  0.00          C   \nATOM    197  C   ASN A  28       5.123 -13.178  28.079  1.00  0.00          C   \nATOM    198  CB  ASN A  28       4.946 -13.817  30.498  1.00  0.00          C   \nATOM    199  O   ASN A  28       4.074 -12.532  28.125  1.00  0.00          O   \nATOM    200  CG  ASN A  28       4.239 -15.142  30.291  1.00  0.00          C   \nATOM    201  ND2 ASN A  28       3.472 -15.568  31.288  1.00  0.00          N   \nATOM    202  OD1 ASN A  28       4.381 -15.779  29.243  1.00  0.00          O   \nATOM    203  N   CYS A  29       5.741 -13.488  26.787  1.00  0.00          N   \nATOM    204  CA  CYS A  29       5.086 -13.282  25.500  1.00  0.00          C   \nATOM    205  C   CYS A  29       3.880 -14.201  25.348  1.00  0.00          C   \nATOM    206  CB  CYS A  29       6.070 -13.522  24.355  1.00  0.00          C   \nATOM    207  O   CYS A  29       3.011 -13.958  24.510  1.00  0.00          O   \nATOM    208  SG  CYS A  29       7.446 -12.353  24.319  1.00  0.00          S   \nATOM    209  N   GLU A  30       3.849 -15.077  26.140  1.00  0.00          N   \nATOM    210  CA  GLU A  30       2.725 -16.005  26.063  1.00  0.00          C   \nATOM    211  C   GLU A  30       1.452 -15.379  26.627  1.00  0.00          C   \nATOM    212  CB  GLU A  30       3.047 -17.303  26.808  1.00  0.00          C   \nATOM    213  O   GLU A  30       0.344 -15.770  26.255  1.00  0.00          O   \nATOM    214  CG  GLU A  30       4.161 -18.119  26.169  1.00  0.00          C   \nATOM    215  CD  GLU A  30       4.469 -19.405  26.919  1.00  0.00          C   \nATOM    216  OE1 GLU A  30       3.822 -19.672  27.957  1.00  0.00          O   \nATOM    217  OE2 GLU A  30       5.366 -20.150  26.466  1.00  0.00          O   \nATOM    218  N   LEU A  31       1.743 -14.305  27.387  1.00  0.00          N   \nATOM    219  CA  LEU A  31       0.622 -13.672  28.074  1.00  0.00          C   \nATOM    220  C   LEU A  31       0.044 -12.536  27.237  1.00  0.00          C   \nATOM    221  CB  LEU A  31       1.061 -13.142  29.441  1.00  0.00          C   \nATOM    222  O   LEU A  31      -0.996 -11.971  27.584  1.00  0.00          O   \nATOM    223  CG  LEU A  31       1.437 -14.194  30.487  1.00  0.00          C   \nATOM    224  CD1 LEU A  31       1.920 -13.520  31.766  1.00  0.00          C   \nATOM    225  CD2 LEU A  31       0.252 -15.110  30.774  1.00  0.00          C   \nATOM    226  N   PHE A  32       0.769 -12.166  26.008  1.00  0.00          N   \nATOM    227  CA  PHE A  32       0.157 -11.063  25.278  1.00  0.00          C   \nATOM    228  C   PHE A  32      -1.020 -11.553  24.443  1.00  0.00          C   \nATOM    229  CB  PHE A  32       1.188 -10.374  24.378  1.00  0.00          C   \nATOM    230  O   PHE A  32      -0.898 -12.531  23.702  1.00  0.00          O   \nATOM    231  CG  PHE A  32       2.115  -9.447  25.117  1.00  0.00          C   \nATOM    232  CD1 PHE A  32       3.383  -9.869  25.499  1.00  0.00          C   \nATOM    233  CD2 PHE A  32       1.719  -8.153  25.429  1.00  0.00          C   \nATOM    234  CE1 PHE A  32       4.243  -9.014  26.183  1.00  0.00          C   \nATOM    235  CE2 PHE A  32       2.574  -7.293  26.112  1.00  0.00          C   \nATOM    236  CZ  PHE A  32       3.835  -7.725  26.489  1.00  0.00          C   \nATOM    237  N   ASP A  33      -2.070 -11.361  25.097  1.00  0.00          N   \nATOM    238  CA  ASP A  33      -3.364 -11.602  24.466  1.00  0.00          C   \nATOM    239  C   ASP A  33      -3.423 -10.975  23.075  1.00  0.00          C   \nATOM    240  CB  ASP A  33      -4.496 -11.055  25.339  1.00  0.00          C   \nATOM    241  O   ASP A  33      -3.225  -9.767  22.924  1.00  0.00          O   \nATOM    242  CG  ASP A  33      -5.861 -11.590  24.943  1.00  0.00          C   \nATOM    243  OD1 ASP A  33      -6.769 -11.638  25.800  1.00  0.00          O   \nATOM    244  OD2 ASP A  33      -6.029 -11.969  23.764  1.00  0.00          O   \nATOM    245  N   CYS A  34      -3.021 -11.756  22.063  1.00  0.00          N   \nATOM    246  CA  CYS A  34      -3.371 -11.337  20.711  1.00  0.00          C   \nATOM    247  C   CYS A  34      -4.691 -10.576  20.700  1.00  0.00          C   \nATOM    248  CB  CYS A  34      -3.461 -12.547  19.781  1.00  0.00          C   \nATOM    249  O   CYS A  34      -4.986  -9.851  19.748  1.00  0.00          O   \nATOM    250  SG  CYS A  34      -1.909 -13.455  19.615  1.00  0.00          S   \nATOM    251  N   GLU A  35      -5.284 -10.672  21.987  1.00  0.00          N   \nATOM    252  CA  GLU A  35      -6.617 -10.086  22.085  1.00  0.00          C   \nATOM    253  C   GLU A  35      -6.556  -8.667  22.644  1.00  0.00          C   \nATOM    254  CB  GLU A  35      -7.525 -10.956  22.958  1.00  0.00          C   \nATOM    255  O   GLU A  35      -7.592  -8.032  22.853  1.00  0.00          O   \nATOM    256  CG  GLU A  35      -7.790 -12.339  22.381  1.00  0.00          C   \nATOM    257  CD  GLU A  35      -8.779 -13.152  23.202  1.00  0.00          C   \nATOM    258  OE1 GLU A  35      -9.290 -12.636  24.222  1.00  0.00          O   \nATOM    259  OE2 GLU A  35      -9.046 -14.314  22.821  1.00  0.00          O   \nATOM    260  N   ALA A  36      -5.315  -8.202  22.860  1.00  0.00          N   \nATOM    261  CA  ALA A  36      -5.282  -6.884  23.489  1.00  0.00          C   \nATOM    262  C   ALA A  36      -5.714  -5.797  22.509  1.00  0.00          C   \nATOM    263  CB  ALA A  36      -3.884  -6.586  24.027  1.00  0.00          C   \nATOM    264  O   ALA A  36      -5.299  -5.799  21.348  1.00  0.00          O   \nATOM    265  N   LYS A  37      -6.942  -5.271  22.819  1.00  0.00          N   \nATOM    266  CA  LYS A  37      -7.519  -4.143  22.094  1.00  0.00          C   \nATOM    267  C   LYS A  37      -6.974  -2.817  22.617  1.00  0.00          C   \nATOM    268  CB  LYS A  37      -9.045  -4.160  22.200  1.00  0.00          C   \nATOM    269  O   LYS A  37      -6.897  -2.606  23.829  1.00  0.00          O   \nATOM    270  CG  LYS A  37      -9.701  -5.341  21.499  1.00  0.00          C   \nATOM    271  CD  LYS A  37     -11.220  -5.239  21.536  1.00  0.00          C   \nATOM    272  CE  LYS A  37     -11.877  -6.385  20.778  1.00  0.00          C   \nATOM    273  NZ  LYS A  37     -13.353  -6.194  20.656  1.00  0.00          N   \nATOM    274  N   LYS A  38      -6.207  -2.111  21.604  1.00  0.00          N   \nATOM    275  CA  LYS A  38      -5.876  -0.745  21.998  1.00  0.00          C   \nATOM    276  C   LYS A  38      -7.131   0.118  22.100  1.00  0.00          C   \nATOM    277  CB  LYS A  38      -4.892  -0.123  21.007  1.00  0.00          C   \nATOM    278  O   LYS A  38      -8.188  -0.253  21.585  1.00  0.00          O   \nATOM    279  CG  LYS A  38      -3.518  -0.776  21.006  1.00  0.00          C   \nATOM    280  CD  LYS A  38      -2.564  -0.072  20.049  1.00  0.00          C   \nATOM    281  CE  LYS A  38      -1.196  -0.740  20.029  1.00  0.00          C   \nATOM    282  NZ  LYS A  38      -0.234  -0.007  19.153  1.00  0.00          N   \nATOM    283  N   PRO A  39      -7.175   1.097  22.994  1.00  0.00          N   \nATOM    284  CA  PRO A  39      -8.319   2.000  23.133  1.00  0.00          C   \nATOM    285  C   PRO A  39      -8.863   2.474  21.787  1.00  0.00          C   \nATOM    286  CB  PRO A  39      -7.748   3.173  23.934  1.00  0.00          C   \nATOM    287  O   PRO A  39     -10.057   2.762  21.666  1.00  0.00          O   \nATOM    288  CG  PRO A  39      -6.594   2.594  24.688  1.00  0.00          C   \nATOM    289  CD  PRO A  39      -6.004   1.478  23.874  1.00  0.00          C   \nATOM    290  N   ASP A  40      -8.068   2.468  20.731  1.00  0.00          N   \nATOM    291  CA  ASP A  40      -8.452   2.969  19.415  1.00  0.00          C   \nATOM    292  C   ASP A  40      -9.034   1.852  18.551  1.00  0.00          C   \nATOM    293  CB  ASP A  40      -7.252   3.607  18.712  1.00  0.00          C   \nATOM    294  O   ASP A  40      -9.337   2.064  17.375  1.00  0.00          O   \nATOM    295  CG  ASP A  40      -6.113   2.630  18.480  1.00  0.00          C   \nATOM    296  OD1 ASP A  40      -5.040   3.049  17.994  1.00  0.00          O   \nATOM    297  OD2 ASP A  40      -6.290   1.431  18.784  1.00  0.00          O   \nATOM    298  N   GLY A  41      -9.199   0.638  19.013  1.00  0.00          N   \nATOM    299  CA  GLY A  41      -9.761  -0.484  18.279  1.00  0.00          C   \nATOM    300  C   GLY A  41      -8.723  -1.268  17.500  1.00  0.00          C   \nATOM    301  O   GLY A  41      -9.019  -2.338  16.963  1.00  0.00          O   \nATOM    302  N   SER A  42      -7.510  -0.651  17.403  1.00  0.00          N   \nATOM    303  CA  SER A  42      -6.433  -1.355  16.714  1.00  0.00          C   \nATOM    304  C   SER A  42      -5.824  -2.436  17.601  1.00  0.00          C   \nATOM    305  CB  SER A  42      -5.346  -0.373  16.274  1.00  0.00          C   \nATOM    306  O   SER A  42      -6.031  -2.440  18.816  1.00  0.00          O   \nATOM    307  OG  SER A  42      -4.758   0.262  17.396  1.00  0.00          O   \nATOM    308  N   TYR A  43      -5.412  -3.575  16.938  1.00  0.00          N   \nATOM    309  CA  TYR A  43      -4.705  -4.628  17.660  1.00  0.00          C   \nATOM    310  C   TYR A  43      -3.244  -4.254  17.877  1.00  0.00          C   \nATOM    311  CB  TYR A  43      -4.798  -5.955  16.901  1.00  0.00          C   \nATOM    312  O   TYR A  43      -2.651  -3.542  17.063  1.00  0.00          O   \nATOM    313  CG  TYR A  43      -6.184  -6.551  16.887  1.00  0.00          C   \nATOM    314  CD1 TYR A  43      -7.022  -6.388  15.786  1.00  0.00          C   \nATOM    315  CD2 TYR A  43      -6.659  -7.277  17.974  1.00  0.00          C   \nATOM    316  CE1 TYR A  43      -8.302  -6.934  15.769  1.00  0.00          C   \nATOM    317  CE2 TYR A  43      -7.937  -7.827  17.968  1.00  0.00          C   \nATOM    318  OH  TYR A  43     -10.015  -8.194  16.852  1.00  0.00          O   \nATOM    319  CZ  TYR A  43      -8.749  -7.651  16.863  1.00  0.00          C   \nATOM    320  N   ALA A  44      -3.024  -4.415  19.155  1.00  0.00          N   \nATOM    321  CA  ALA A  44      -1.659  -4.137  19.595  1.00  0.00          C   \nATOM    322  C   ALA A  44      -0.642  -4.865  18.721  1.00  0.00          C   \nATOM    323  CB  ALA A  44      -1.480  -4.536  21.058  1.00  0.00          C   \nATOM    324  O   ALA A  44       0.477  -4.383  18.527  1.00  0.00          O   \nATOM    325  N   HIS A  45      -1.081  -5.938  17.989  1.00  0.00          N   \nATOM    326  CA  HIS A  45      -0.065  -6.665  17.236  1.00  0.00          C   \nATOM    327  C   HIS A  45      -0.455  -6.795  15.768  1.00  0.00          C   \nATOM    328  CB  HIS A  45       0.163  -8.051  17.843  1.00  0.00          C   \nATOM    329  O   HIS A  45      -1.558  -7.246  15.452  1.00  0.00          O   \nATOM    330  CG  HIS A  45       1.501  -8.634  17.520  1.00  0.00          C   \nATOM    331  CD2 HIS A  45       2.577  -8.880  18.304  1.00  0.00          C   \nATOM    332  ND1 HIS A  45       1.850  -9.037  16.249  1.00  0.00          N   \nATOM    333  CE1 HIS A  45       3.086  -9.508  16.266  1.00  0.00          C   \nATOM    334  NE2 HIS A  45       3.550  -9.423  17.502  1.00  0.00          N   \nATOM    335  N   PRO A  46       0.267  -6.191  14.776  1.00  0.00          N   \nATOM    336  CA  PRO A  46       0.007  -6.193  13.334  1.00  0.00          C   \nATOM    337  C   PRO A  46      -0.224  -7.596  12.778  1.00  0.00          C   \nATOM    338  CB  PRO A  46       1.278  -5.574  12.747  1.00  0.00          C   \nATOM    339  O   PRO A  46      -0.835  -7.750  11.717  1.00  0.00          O   \nATOM    340  CG  PRO A  46       2.320  -5.770  13.800  1.00  0.00          C   \nATOM    341  CD  PRO A  46       1.648  -5.768  15.143  1.00  0.00          C   \nATOM    342  N   CYS A  47       0.238  -8.592  13.354  1.00  0.00          N   \nATOM    343  CA  CYS A  47       0.115  -9.950  12.835  1.00  0.00          C   \nATOM    344  C   CYS A  47      -1.253 -10.537  13.163  1.00  0.00          C   \nATOM    345  CB  CYS A  47       1.214 -10.844  13.408  1.00  0.00          C   \nATOM    346  O   CYS A  47      -1.515 -11.707  12.880  1.00  0.00          O   \nATOM    347  SG  CYS A  47       1.222 -10.923  15.212  1.00  0.00          S   \nATOM    348  N   ARG A  48      -2.155  -9.724  13.452  1.00  0.00          N   \nATOM    349  CA  ARG A  48      -3.422 -10.192  14.005  1.00  0.00          C   \nATOM    350  C   ARG A  48      -4.542 -10.086  12.974  1.00  0.00          C   \nATOM    351  CB  ARG A  48      -3.788  -9.396  15.260  1.00  0.00          C   \nATOM    352  O   ARG A  48      -4.649  -9.082  12.268  1.00  0.00          O   \nATOM    353  CG  ARG A  48      -5.032  -9.905  15.970  1.00  0.00          C   \nATOM    354  CD  ARG A  48      -5.909  -8.761  16.460  1.00  0.00          C   \nATOM    355  NE  ARG A  48      -6.344  -7.906  15.359  1.00  0.00          N   \nATOM    356  NH1 ARG A  48      -6.885  -6.103  16.700  1.00  0.00          N   \nATOM    357  NH2 ARG A  48      -7.167  -5.974  14.429  1.00  0.00          N   \nATOM    358  CZ  ARG A  48      -6.798  -6.663  15.499  1.00  0.00          C   \nATOM    359  N   ARG A  49      -5.146 -11.174  12.527  1.00  0.00          N   \nATOM    360  CA  ARG A  49      -6.391 -11.158  11.765  1.00  0.00          C   \nATOM    361  C   ARG A  49      -7.546 -11.713  12.593  1.00  0.00          C   \nATOM    362  CB  ARG A  49      -6.241 -11.962  10.472  1.00  0.00          C   \nATOM    363  O   ARG A  49      -7.402 -12.739  13.261  1.00  0.00          O   \nATOM    364  CG  ARG A  49      -5.303 -11.327   9.458  1.00  0.00          C   \nATOM    365  CD  ARG A  49      -5.887 -10.048   8.873  1.00  0.00          C   \nATOM    366  NE  ARG A  49      -5.349  -9.769   7.544  1.00  0.00          N   \nATOM    367  NH1 ARG A  49      -6.902  -8.137   7.033  1.00  0.00          N   \nATOM    368  NH2 ARG A  49      -5.276  -8.694   5.516  1.00  0.00          N   \nATOM    369  CZ  ARG A  49      -5.843  -8.867   6.701  1.00  0.00          C   \nATOM    370  N   CYS A  50      -8.427 -10.800  12.832  1.00  0.00          N   \nATOM    371  CA  CYS A  50      -9.591 -11.226  13.601  1.00  0.00          C   \nATOM    372  C   CYS A  50     -10.795 -11.442  12.692  1.00  0.00          C   \nATOM    373  CB  CYS A  50      -9.931 -10.193  14.675  1.00  0.00          C   \nATOM    374  O   CYS A  50     -11.034 -10.657  11.773  1.00  0.00          O   \nATOM    375  SG  CYS A  50      -8.684 -10.057  15.975  1.00  0.00          S   \nATOM    376  N   ASP A  51     -11.409 -12.618  12.691  1.00  0.00          N   \nATOM    377  CA  ASP A  51     -12.641 -12.851  11.943  1.00  0.00          C   \nATOM    378  C   ASP A  51     -13.818 -12.115  12.580  1.00  0.00          C   \nATOM    379  CB  ASP A  51     -12.942 -14.349  11.858  1.00  0.00          C   \nATOM    380  O   ASP A  51     -13.640 -11.361  13.539  1.00  0.00          O   \nATOM    381  CG  ASP A  51     -13.232 -14.974  13.211  1.00  0.00          C   \nATOM    382  OD1 ASP A  51     -13.125 -16.212  13.347  1.00  0.00          O   \nATOM    383  OD2 ASP A  51     -13.573 -14.221  14.150  1.00  0.00          O   \nATOM    384  N   ALA A  52     -15.076 -12.051  11.991  1.00  0.00          N   \nATOM    385  CA  ALA A  52     -16.275 -11.314  12.381  1.00  0.00          C   \nATOM    386  C   ALA A  52     -16.730 -11.710  13.783  1.00  0.00          C   \nATOM    387  CB  ALA A  52     -17.397 -11.550  11.374  1.00  0.00          C   \nATOM    388  O   ALA A  52     -17.439 -10.952  14.450  1.00  0.00          O   \nATOM    389  N   ASN A  53     -16.263 -12.790  14.290  1.00  0.00          N   \nATOM    390  CA  ASN A  53     -16.638 -13.257  15.620  1.00  0.00          C   \nATOM    391  C   ASN A  53     -15.557 -12.943  16.650  1.00  0.00          C   \nATOM    392  CB  ASN A  53     -16.930 -14.759  15.599  1.00  0.00          C   \nATOM    393  O   ASN A  53     -15.602 -13.442  17.776  1.00  0.00          O   \nATOM    394  CG  ASN A  53     -18.169 -15.101  14.795  1.00  0.00          C   \nATOM    395  ND2 ASN A  53     -18.098 -16.183  14.029  1.00  0.00          N   \nATOM    396  OD1 ASN A  53     -19.181 -14.399  14.862  1.00  0.00          O   \nATOM    397  N   ASN A  54     -14.551 -12.153  16.191  1.00  0.00          N   \nATOM    398  CA  ASN A  54     -13.470 -11.666  17.041  1.00  0.00          C   \nATOM    399  C   ASN A  54     -12.543 -12.798  17.474  1.00  0.00          C   \nATOM    400  CB  ASN A  54     -14.034 -10.943  18.266  1.00  0.00          C   \nATOM    401  O   ASN A  54     -11.968 -12.753  18.563  1.00  0.00          O   \nATOM    402  CG  ASN A  54     -14.752  -9.657  17.906  1.00  0.00          C   \nATOM    403  ND2 ASN A  54     -15.894  -9.418  18.540  1.00  0.00          N   \nATOM    404  OD1 ASN A  54     -14.285  -8.885  17.065  1.00  0.00          O   \nATOM    405  N   ILE A  55     -12.428 -13.839  16.751  1.00  0.00          N   \nATOM    406  CA  ILE A  55     -11.423 -14.875  16.963  1.00  0.00          C   \nATOM    407  C   ILE A  55     -10.158 -14.536  16.179  1.00  0.00          C   \nATOM    408  CB  ILE A  55     -11.952 -16.268  16.552  1.00  0.00          C   \nATOM    409  O   ILE A  55     -10.162 -14.552  14.946  1.00  0.00          O   \nATOM    410  CG1 ILE A  55     -13.233 -16.602  17.325  1.00  0.00          C   \nATOM    411  CG2 ILE A  55     -10.881 -17.340  16.777  1.00  0.00          C   \nATOM    412  CD1 ILE A  55     -13.942 -17.857  16.834  1.00  0.00          C   \nATOM    413  N   CYS A  56      -9.197 -14.050  16.887  1.00  0.00          N   \nATOM    414  CA  CYS A  56      -7.960 -13.587  16.266  1.00  0.00          C   \nATOM    415  C   CYS A  56      -6.914 -14.694  16.244  1.00  0.00          C   \nATOM    416  CB  CYS A  56      -7.411 -12.369  17.009  1.00  0.00          C   \nATOM    417  O   CYS A  56      -6.807 -15.473  17.192  1.00  0.00          O   \nATOM    418  SG  CYS A  56      -8.495 -10.925  16.941  1.00  0.00          S   \nATOM    419  N   LYS A  57      -6.417 -14.976  15.112  1.00  0.00          N   \nATOM    420  CA  LYS A  57      -5.263 -15.861  14.977  1.00  0.00          C   \nATOM    421  C   LYS A  57      -4.007 -15.075  14.612  1.00  0.00          C   \nATOM    422  CB  LYS A  57      -5.532 -16.937  13.924  1.00  0.00          C   \nATOM    423  O   LYS A  57      -4.077 -14.092  13.873  1.00  0.00          O   \nATOM    424  CG  LYS A  57      -6.672 -17.880  14.280  1.00  0.00          C   \nATOM    425  CD  LYS A  57      -6.811 -19.000  13.257  1.00  0.00          C   \nATOM    426  CE  LYS A  57      -7.903 -19.986  13.651  1.00  0.00          C   \nATOM    427  NZ  LYS A  57      -7.947 -21.161  12.730  1.00  0.00          N   \nATOM    428  N   CYS A  58      -2.976 -15.105  15.608  1.00  0.00          N   \nATOM    429  CA  CYS A  58      -1.644 -14.583  15.328  1.00  0.00          C   \nATOM    430  C   CYS A  58      -0.938 -15.425  14.272  1.00  0.00          C   \nATOM    431  CB  CYS A  58      -0.804 -14.543  16.605  1.00  0.00          C   \nATOM    432  O   CYS A  58      -0.662 -16.605  14.495  1.00  0.00          O   \nATOM    433  SG  CYS A  58      -1.471 -13.452  17.881  1.00  0.00          S   \nATOM    434  N   SER A  59      -1.100 -15.266  13.105  1.00  0.00          N   \nATOM    435  CA  SER A  59      -0.317 -16.194  12.296  1.00  0.00          C   \nATOM    436  C   SER A  59       0.363 -15.475  11.135  1.00  0.00          C   \nATOM    437  CB  SER A  59      -1.204 -17.319  11.760  1.00  0.00          C   \nATOM    438  O   SER A  59      -0.281 -15.151  10.135  1.00  0.00          O   \nATOM    439  OG  SER A  59      -0.425 -18.302  11.100  1.00  0.00          O   \nATOM    440  N   CYS A  60       1.699 -14.861  11.329  1.00  0.00          N   \nATOM    441  CA  CYS A  60       2.405 -14.577  10.084  1.00  0.00          C   \nATOM    442  C   CYS A  60       2.585 -15.845   9.258  1.00  0.00          C   \nATOM    443  CB  CYS A  60       3.768 -13.947  10.372  1.00  0.00          C   \nATOM    444  O   CYS A  60       2.717 -15.781   8.035  1.00  0.00          O   \nATOM    445  SG  CYS A  60       4.863 -14.997  11.352  1.00  0.00          S   \nATOM    446  N   THR A  61       2.370 -16.747  10.083  1.00  0.00          N   \nATOM    447  CA  THR A  61       2.549 -18.025   9.403  1.00  0.00          C   \nATOM    448  C   THR A  61       1.237 -18.493   8.779  1.00  0.00          C   \nATOM    449  CB  THR A  61       3.075 -19.103  10.369  1.00  0.00          C   \nATOM    450  O   THR A  61       1.241 -19.301   7.848  1.00  0.00          O   \nATOM    451  CG2 THR A  61       4.474 -18.758  10.869  1.00  0.00          C   \nATOM    452  OG1 THR A  61       2.190 -19.204  11.491  1.00  0.00          O   \nATOM    453  N   ALA A  62       0.127 -17.759   9.279  1.00  0.00          N   \nATOM    454  CA  ALA A  62      -1.157 -18.259   8.792  1.00  0.00          C   \nATOM    455  C   ALA A  62      -1.490 -17.673   7.423  1.00  0.00          C   \nATOM    456  CB  ALA A  62      -2.266 -17.936   9.790  1.00  0.00          C   \nATOM    457  O   ALA A  62      -2.183 -18.305   6.623  1.00  0.00          O   \nATOM    458  N   ILE A  63      -0.953 -16.508   7.207  1.00  0.00          N   \nATOM    459  CA  ILE A  63      -1.310 -15.966   5.900  1.00  0.00          C   \nATOM    460  C   ILE A  63      -0.123 -16.091   4.948  1.00  0.00          C   \nATOM    461  CB  ILE A  63      -1.761 -14.492   6.004  1.00  0.00          C   \nATOM    462  O   ILE A  63       0.973 -15.611   5.246  1.00  0.00          O   \nATOM    463  CG1 ILE A  63      -2.978 -14.369   6.929  1.00  0.00          C   \nATOM    464  CG2 ILE A  63      -2.068 -13.922   4.616  1.00  0.00          C   \nATOM    465  CD1 ILE A  63      -3.430 -12.936   7.171  1.00  0.00          C   \nATOM    466  N   PRO A  64      -0.261 -17.160   4.081  1.00  0.00          N   \nATOM    467  CA  PRO A  64       0.812 -17.254   3.088  1.00  0.00          C   \nATOM    468  C   PRO A  64       1.182 -15.899   2.489  1.00  0.00          C   \nATOM    469  CB  PRO A  64       0.224 -18.181   2.021  1.00  0.00          C   \nATOM    470  O   PRO A  64       0.304 -15.069   2.242  1.00  0.00          O   \nATOM    471  CG  PRO A  64      -1.257 -18.050   2.175  1.00  0.00          C   \nATOM    472  CD  PRO A  64      -1.560 -17.707   3.605  1.00  0.00          C   \nATOM    473  N   CYS A  65       2.470 -15.492   2.721  1.00  0.00          N   \nATOM    474  CA  CYS A  65       2.970 -14.283   2.076  1.00  0.00          C   \nATOM    475  C   CYS A  65       2.884 -14.399   0.559  1.00  0.00          C   \nATOM    476  CB  CYS A  65       4.415 -14.011   2.494  1.00  0.00          C   \nATOM    477  O   CYS A  65       3.627 -15.170  -0.052  1.00  0.00          O   \nATOM    478  SG  CYS A  65       4.983 -12.341   2.107  1.00  0.00          S   \nATOM    479  N   ASN A  66       1.810 -14.008   0.034  1.00  0.00          N   \nATOM    480  CA  ASN A  66       1.657 -13.952  -1.416  1.00  0.00          C   \nATOM    481  C   ASN A  66       1.636 -12.512  -1.922  1.00  0.00          C   \nATOM    482  CB  ASN A  66       0.388 -14.686  -1.851  1.00  0.00          C   \nATOM    483  O   ASN A  66       1.843 -11.575  -1.149  1.00  0.00          O   \nATOM    484  CG  ASN A  66      -0.864 -14.121  -1.209  1.00  0.00          C   \nATOM    485  ND2 ASN A  66      -1.787 -14.999  -0.835  1.00  0.00          N   \nATOM    486  OD1 ASN A  66      -0.999 -12.905  -1.050  1.00  0.00          O   \nATOM    487  N   GLU A  67       1.630 -12.346  -3.214  1.00  0.00          N   \nATOM    488  CA  GLU A  67       1.700 -11.038  -3.857  1.00  0.00          C   \nATOM    489  C   GLU A  67       0.657 -10.083  -3.284  1.00  0.00          C   \nATOM    490  CB  GLU A  67       1.515 -11.172  -5.371  1.00  0.00          C   \nATOM    491  O   GLU A  67       0.820  -8.863  -3.353  1.00  0.00          O   \nATOM    492  CG  GLU A  67       0.220 -11.863  -5.773  1.00  0.00          C   \nATOM    493  CD  GLU A  67       0.104 -12.095  -7.271  1.00  0.00          C   \nATOM    494  OE1 GLU A  67      -1.026 -12.040  -7.808  1.00  0.00          O   \nATOM    495  OE2 GLU A  67       1.151 -12.333  -7.914  1.00  0.00          O   \nATOM    496  N   ASP A  68      -0.317 -10.492  -2.553  1.00  0.00          N   \nATOM    497  CA  ASP A  68      -1.388  -9.666  -2.004  1.00  0.00          C   \nATOM    498  C   ASP A  68      -1.103  -9.292  -0.551  1.00  0.00          C   \nATOM    499  CB  ASP A  68      -2.731 -10.391  -2.108  1.00  0.00          C   \nATOM    500  O   ASP A  68      -1.847  -8.517   0.053  1.00  0.00          O   \nATOM    501  CG  ASP A  68      -3.195 -10.578  -3.541  1.00  0.00          C   \nATOM    502  OD1 ASP A  68      -3.828 -11.611  -3.848  1.00  0.00          O   \nATOM    503  OD2 ASP A  68      -2.923  -9.685  -4.373  1.00  0.00          O   \nATOM    504  N   HIS A  69      -0.167  -9.956   0.090  1.00  0.00          N   \nATOM    505  CA  HIS A  69       0.211  -9.683   1.472  1.00  0.00          C   \nATOM    506  C   HIS A  69       1.044  -8.410   1.574  1.00  0.00          C   \nATOM    507  CB  HIS A  69       0.985 -10.865   2.059  1.00  0.00          C   \nATOM    508  O   HIS A  69       2.031  -8.249   0.852  1.00  0.00          O   \nATOM    509  CG  HIS A  69       1.021 -10.875   3.555  1.00  0.00          C   \nATOM    510  CD2 HIS A  69       0.448 -11.711   4.452  1.00  0.00          C   \nATOM    511  ND1 HIS A  69       1.712  -9.936   4.288  1.00  0.00          N   \nATOM    512  CE1 HIS A  69       1.562 -10.195   5.577  1.00  0.00          C   \nATOM    513  NE2 HIS A  69       0.800 -11.267   5.703  1.00  0.00          N   \nATOM    514  N   PRO A  70       0.701  -7.489   2.427  1.00  0.00          N   \nATOM    515  CA  PRO A  70       1.384  -6.197   2.516  1.00  0.00          C   \nATOM    516  C   PRO A  70       2.882  -6.337   2.776  1.00  0.00          C   \nATOM    517  CB  PRO A  70       0.687  -5.510   3.693  1.00  0.00          C   \nATOM    518  O   PRO A  70       3.663  -5.461   2.397  1.00  0.00          O   \nATOM    519  CG  PRO A  70      -0.046  -6.606   4.396  1.00  0.00          C   \nATOM    520  CD  PRO A  70      -0.242  -7.742   3.433  1.00  0.00          C   \nATOM    521  N   CYS A  71       3.295  -7.400   3.302  1.00  0.00          N   \nATOM    522  CA  CYS A  71       4.698  -7.619   3.633  1.00  0.00          C   \nATOM    523  C   CYS A  71       5.402  -8.407   2.534  1.00  0.00          C   \nATOM    524  CB  CYS A  71       4.825  -8.359   4.965  1.00  0.00          C   \nATOM    525  O   CYS A  71       6.576  -8.754   2.669  1.00  0.00          O   \nATOM    526  SG  CYS A  71       4.149  -7.448   6.371  1.00  0.00          S   \nATOM    527  N   HIS A  72       4.559  -8.757   1.576  1.00  0.00          N   \nATOM    528  CA  HIS A  72       5.119  -9.541   0.482  1.00  0.00          C   \nATOM    529  C   HIS A  72       6.010  -8.684  -0.411  1.00  0.00          C   \nATOM    530  CB  HIS A  72       4.003 -10.179  -0.347  1.00  0.00          C   \nATOM    531  O   HIS A  72       5.596  -7.614  -0.864  1.00  0.00          O   \nATOM    532  CG  HIS A  72       4.498 -10.942  -1.534  1.00  0.00          C   \nATOM    533  CD2 HIS A  72       4.508 -10.627  -2.851  1.00  0.00          C   \nATOM    534  ND1 HIS A  72       5.064 -12.194  -1.431  1.00  0.00          N   \nATOM    535  CE1 HIS A  72       5.402 -12.618  -2.638  1.00  0.00          C   \nATOM    536  NE2 HIS A  72       5.076 -11.686  -3.517  1.00  0.00          N   \nATOM    537  N   HIS A  73       7.276  -9.193  -0.608  1.00  0.00          N   \nATOM    538  CA  HIS A  73       8.219  -8.528  -1.500  1.00  0.00          C   \nATOM    539  C   HIS A  73       8.888  -9.527  -2.439  1.00  0.00          C   \nATOM    540  CB  HIS A  73       9.278  -7.774  -0.695  1.00  0.00          C   \nATOM    541  O   HIS A  73       9.246 -10.632  -2.024  1.00  0.00          O   \nATOM    542  CG  HIS A  73       8.715  -6.693   0.172  1.00  0.00          C   \nATOM    543  CD2 HIS A  73       8.550  -6.625   1.514  1.00  0.00          C   \nATOM    544  ND1 HIS A  73       8.240  -5.504  -0.336  1.00  0.00          N   \nATOM    545  CE1 HIS A  73       7.806  -4.749   0.660  1.00  0.00          C   \nATOM    546  NE2 HIS A  73       7.983  -5.406   1.793  1.00  0.00          N   \nATOM    547  N   CYS A  74       8.907  -9.137  -3.729  1.00  0.00          N   \nATOM    548  CA  CYS A  74       9.582  -9.976  -4.713  1.00  0.00          C   \nATOM    549  C   CYS A  74      10.677  -9.199  -5.433  1.00  0.00          C   \nATOM    550  CB  CYS A  74       8.580 -10.523  -5.729  1.00  0.00          C   \nATOM    551  O   CYS A  74      10.529  -8.003  -5.689  1.00  0.00          O   \nATOM    552  SG  CYS A  74       7.391 -11.686  -5.025  1.00  0.00          S   \nATOM    553  N   HIS A  75      11.715  -9.738  -5.575  1.00  0.00          N   \nATOM    554  CA  HIS A  75      12.772  -9.115  -6.364  1.00  0.00          C   \nATOM    555  C   HIS A  75      13.308 -10.074  -7.422  1.00  0.00          C   \nATOM    556  CB  HIS A  75      13.910  -8.643  -5.458  1.00  0.00          C   \nATOM    557  O   HIS A  75      13.275 -11.292  -7.235  1.00  0.00          O   \nATOM    558  CG  HIS A  75      14.605  -9.755  -4.740  1.00  0.00          C   \nATOM    559  CD2 HIS A  75      15.789 -10.366  -4.981  1.00  0.00          C   \nATOM    560  ND1 HIS A  75      14.075 -10.368  -3.625  1.00  0.00          N   \nATOM    561  CE1 HIS A  75      14.905 -11.310  -3.211  1.00  0.00          C   \nATOM    562  NE2 HIS A  75      15.954 -11.330  -4.016  1.00  0.00          N   \nATOM    563  N   GLU A  76      13.647  -9.546  -8.538  1.00  0.00          N   \nATOM    564  CA  GLU A  76      14.228 -10.322  -9.630  1.00  0.00          C   \nATOM    565  C   GLU A  76      15.753 -10.283  -9.585  1.00  0.00          C   \nATOM    566  CB  GLU A  76      13.727  -9.806 -10.981  1.00  0.00          C   \nATOM    567  O   GLU A  76      16.350  -9.205  -9.546  1.00  0.00          O   \nATOM    568  CG  GLU A  76      14.060 -10.722 -12.150  1.00  0.00          C   \nATOM    569  CD  GLU A  76      13.399 -10.297 -13.452  1.00  0.00          C   \nATOM    570  OE1 GLU A  76      12.554  -9.373 -13.430  1.00  0.00          O   \nATOM    571  OE2 GLU A  76      13.727 -10.894 -14.501  1.00  0.00          O   \nATOM    572  N   GLU A  77      16.313 -11.414  -9.551  1.00  0.00          N   \nATOM    573  CA  GLU A  77      17.769 -11.510  -9.570  1.00  0.00          C   \nATOM    574  C   GLU A  77      18.310 -11.423 -10.994  1.00  0.00          C   \nATOM    575  CB  GLU A  77      18.231 -12.812  -8.911  1.00  0.00          C   \nATOM    576  O   GLU A  77      17.548 -11.510 -11.959  1.00  0.00          O   \nATOM    577  CG  GLU A  77      17.844 -12.929  -7.444  1.00  0.00          C   \nATOM    578  CD  GLU A  77      18.639 -12.003  -6.537  1.00  0.00          C   \nATOM    579  OE1 GLU A  77      19.776 -11.626  -6.901  1.00  0.00          O   \nATOM    580  OE2 GLU A  77      18.120 -11.651  -5.454  1.00  0.00          O   \nATOM    581  N   ASP A  78      19.573 -11.066 -11.091  1.00  0.00          N   \nATOM    582  CA  ASP A  78      20.266 -10.915 -12.367  1.00  0.00          C   \nATOM    583  C   ASP A  78      20.084 -12.153 -13.241  1.00  0.00          C   \nATOM    584  CB  ASP A  78      21.755 -10.645 -12.140  1.00  0.00          C   \nATOM    585  O   ASP A  78      20.095 -12.059 -14.470  1.00  0.00          O   \nATOM    586  CG  ASP A  78      22.029  -9.254 -11.597  1.00  0.00          C   \nATOM    587  OD1 ASP A  78      23.114  -9.028 -11.018  1.00  0.00          O   \nATOM    588  OD2 ASP A  78      21.152  -8.376 -11.747  1.00  0.00          O   \nATOM    589  N   ASP A  79      19.875 -13.279 -12.572  1.00  0.00          N   \nATOM    590  CA  ASP A  79      19.730 -14.515 -13.335  1.00  0.00          C   \nATOM    591  C   ASP A  79      18.288 -14.708 -13.799  1.00  0.00          C   \nATOM    592  CB  ASP A  79      20.180 -15.716 -12.501  1.00  0.00          C   \nATOM    593  O   ASP A  79      17.946 -15.750 -14.363  1.00  0.00          O   \nATOM    594  CG  ASP A  79      19.357 -15.903 -11.238  1.00  0.00          C   \nATOM    595  OD1 ASP A  79      19.656 -16.822 -10.446  1.00  0.00          O   \nATOM    596  OD2 ASP A  79      18.399 -15.127 -11.036  1.00  0.00          O   \nATOM    597  N   GLY A  80      17.414 -13.715 -13.581  1.00  0.00          N   \nATOM    598  CA  GLY A  80      16.044 -13.776 -14.063  1.00  0.00          C   \nATOM    599  C   GLY A  80      15.095 -14.439 -13.081  1.00  0.00          C   \nATOM    600  O   GLY A  80      13.881 -14.444 -13.291  1.00  0.00          O   \nATOM    601  N   ASP A  81      15.662 -15.063 -12.040  1.00  0.00          N   \nATOM    602  CA  ASP A  81      14.823 -15.721 -11.043  1.00  0.00          C   \nATOM    603  C   ASP A  81      14.161 -14.699 -10.121  1.00  0.00          C   \nATOM    604  CB  ASP A  81      15.646 -16.715 -10.221  1.00  0.00          C   \nATOM    605  O   ASP A  81      14.715 -13.625  -9.878  1.00  0.00          O   \nATOM    606  CG  ASP A  81      16.113 -17.911 -11.031  1.00  0.00          C   \nATOM    607  OD1 ASP A  81      17.118 -18.550 -10.652  1.00  0.00          O   \nATOM    608  OD2 ASP A  81      15.472 -18.216 -12.060  1.00  0.00          O   \nATOM    609  N   THR A  82      12.968 -14.929  -9.764  1.00  0.00          N   \nATOM    610  CA  THR A  82      12.231 -14.082  -8.832  1.00  0.00          C   \nATOM    611  C   THR A  82      12.233 -14.689  -7.432  1.00  0.00          C   \nATOM    612  CB  THR A  82      10.780 -13.868  -9.299  1.00  0.00          C   \nATOM    613  O   THR A  82      11.931 -15.872  -7.262  1.00  0.00          O   \nATOM    614  CG2 THR A  82      10.028 -12.938  -8.352  1.00  0.00          C   \nATOM    615  OG1 THR A  82      10.786 -13.291 -10.611  1.00  0.00          O   \nATOM    616  N   HIS A  83      12.679 -13.936  -6.510  1.00  0.00          N   \nATOM    617  CA  HIS A  83      12.653 -14.347  -5.110  1.00  0.00          C   \nATOM    618  C   HIS A  83      11.661 -13.511  -4.309  1.00  0.00          C   \nATOM    619  CB  HIS A  83      14.049 -14.239  -4.494  1.00  0.00          C   \nATOM    620  O   HIS A  83      11.675 -12.280  -4.387  1.00  0.00          O   \nATOM    621  CG  HIS A  83      15.047 -15.170  -5.104  1.00  0.00          C   \nATOM    622  CD2 HIS A  83      15.925 -14.991  -6.119  1.00  0.00          C   \nATOM    623  ND1 HIS A  83      15.219 -16.466  -4.669  1.00  0.00          N   \nATOM    624  CE1 HIS A  83      16.163 -17.046  -5.391  1.00  0.00          C   \nATOM    625  NE2 HIS A  83      16.608 -16.172  -6.279  1.00  0.00          N   \nATOM    626  N   CYS A  84      10.791 -14.185  -3.722  1.00  0.00          N   \nATOM    627  CA  CYS A  84       9.793 -13.514  -2.896  1.00  0.00          C   \nATOM    628  C   CYS A  84      10.017 -13.813  -1.419  1.00  0.00          C   \nATOM    629  CB  CYS A  84       8.384 -13.942  -3.305  1.00  0.00          C   \nATOM    630  O   CYS A  84      10.408 -14.924  -1.059  1.00  0.00          O   \nATOM    631  SG  CYS A  84       7.968 -13.539  -5.016  1.00  0.00          S   \nATOM    632  N   HIS A  85       9.909 -12.859  -0.708  1.00  0.00          N   \nATOM    633  CA  HIS A  85       9.975 -13.070   0.733  1.00  0.00          C   \nATOM    634  C   HIS A  85       8.927 -12.236   1.461  1.00  0.00          C   \nATOM    635  CB  HIS A  85      11.372 -12.734   1.260  1.00  0.00          C   \nATOM    636  O   HIS A  85       8.377 -11.289   0.894  1.00  0.00          O   \nATOM    637  CG  HIS A  85      11.748 -11.296   1.089  1.00  0.00          C   \nATOM    638  CD2 HIS A  85      11.777 -10.273   1.975  1.00  0.00          C   \nATOM    639  ND1 HIS A  85      12.152 -10.772  -0.120  1.00  0.00          N   \nATOM    640  CE1 HIS A  85      12.415  -9.485   0.031  1.00  0.00          C   \nATOM    641  NE2 HIS A  85      12.196  -9.157   1.293  1.00  0.00          N   \nATOM    642  N   CYS A  86       8.500 -12.728   2.583  1.00  0.00          N   \nATOM    643  CA  CYS A  86       7.596 -12.021   3.484  1.00  0.00          C   \nATOM    644  C   CYS A  86       8.373 -11.290   4.572  1.00  0.00          C   \nATOM    645  CB  CYS A  86       6.603 -12.993   4.119  1.00  0.00          C   \nATOM    646  O   CYS A  86       8.939 -11.920   5.467  1.00  0.00          O   \nATOM    647  SG  CYS A  86       5.473 -13.757   2.934  1.00  0.00          S   \nATOM    648  N   SER A  87       8.541 -10.143   4.355  1.00  0.00          N   \nATOM    649  CA  SER A  87       9.296  -9.406   5.363  1.00  0.00          C   \nATOM    650  C   SER A  87       8.570  -8.129   5.774  1.00  0.00          C   \nATOM    651  CB  SER A  87      10.692  -9.064   4.843  1.00  0.00          C   \nATOM    652  O   SER A  87       8.018  -7.424   4.927  1.00  0.00          O   \nATOM    653  OG  SER A  87      11.410  -8.297   5.794  1.00  0.00          O   \nATOM    654  N   CYS A  88       8.324  -8.020   6.956  1.00  0.00          N   \nATOM    655  CA  CYS A  88       7.764  -6.786   7.497  1.00  0.00          C   \nATOM    656  C   CYS A  88       8.869  -5.829   7.928  1.00  0.00          C   \nATOM    657  CB  CYS A  88       6.847  -7.088   8.681  1.00  0.00          C   \nATOM    658  O   CYS A  88       8.600  -4.816   8.576  1.00  0.00          O   \nATOM    659  SG  CYS A  88       5.414  -8.102   8.253  1.00  0.00          S   \nATOM    660  N   GLU A  89       9.941  -6.277   7.427  1.00  0.00          N   \nATOM    661  CA  GLU A  89      11.079  -5.417   7.736  1.00  0.00          C   \nATOM    662  C   GLU A  89      11.164  -4.244   6.763  1.00  0.00          C   \nATOM    663  CB  GLU A  89      12.382  -6.219   7.709  1.00  0.00          C   \nATOM    664  O   GLU A  89      10.884  -4.397   5.572  1.00  0.00          O   \nATOM    665  CG  GLU A  89      12.497  -7.244   8.828  1.00  0.00          C   \nATOM    666  CD  GLU A  89      12.821  -6.626  10.178  1.00  0.00          C   \nATOM    667  OE1 GLU A  89      13.318  -5.477  10.216  1.00  0.00          O   \nATOM    668  OE2 GLU A  89      12.577  -7.295  11.207  1.00  0.00          O   \nATOM    669  N   HIS A  90      10.877  -2.882   7.151  1.00  0.00          N   \nATOM    670  CA  HIS A  90      11.037  -1.634   6.414  1.00  0.00          C   \nATOM    671  C   HIS A  90      12.477  -1.452   5.945  1.00  0.00          C   \nATOM    672  CB  HIS A  90      10.611  -0.444   7.276  1.00  0.00          C   \nATOM    673  O   HIS A  90      13.291  -0.847   6.647  1.00  0.00          O   \nATOM    674  CG  HIS A  90       9.172  -0.482   7.682  1.00  0.00          C   \nATOM    675  CD2 HIS A  90       8.592  -0.729   8.880  1.00  0.00          C   \nATOM    676  ND1 HIS A  90       8.143  -0.249   6.795  1.00  0.00          N   \nATOM    677  CE1 HIS A  90       6.989  -0.350   7.434  1.00  0.00          C   \nATOM    678  NE2 HIS A  90       7.234  -0.641   8.700  1.00  0.00          N   \nATOM    679  N   SER A  91      13.113  -2.415   5.257  1.00  0.00          N   \nATOM    680  CA  SER A  91      14.468  -1.999   4.909  1.00  0.00          C   \nATOM    681  C   SER A  91      14.482  -1.180   3.623  1.00  0.00          C   \nATOM    682  CB  SER A  91      15.380  -3.217   4.758  1.00  0.00          C   \nATOM    683  O   SER A  91      13.868  -1.568   2.627  1.00  0.00          O   \nATOM    684  OG  SER A  91      15.023  -3.974   3.614  1.00  0.00          O   \nATOM    685  N   HIS A  92      14.296   0.148   3.642  1.00  0.00          N   \nATOM    686  CA  HIS A  92      14.603   1.170   2.647  1.00  0.00          C   \nATOM    687  C   HIS A  92      15.930   0.882   1.953  1.00  0.00          C   \nATOM    688  CB  HIS A  92      14.638   2.555   3.295  1.00  0.00          C   \nATOM    689  O   HIS A  92      16.284   1.551   0.979  1.00  0.00          O   \nATOM    690  CG  HIS A  92      13.324   2.984   3.866  1.00  0.00          C   \nATOM    691  CD2 HIS A  92      12.943   3.213   5.145  1.00  0.00          C   \nATOM    692  ND1 HIS A  92      12.216   3.224   3.084  1.00  0.00          N   \nATOM    693  CE1 HIS A  92      11.207   3.584   3.859  1.00  0.00          C   \nATOM    694  NE2 HIS A  92      11.621   3.585   5.114  1.00  0.00          N   \nATOM    695  N   ASP A  93      16.676  -0.193   2.168  1.00  0.00          N   \nATOM    696  CA  ASP A  93      18.015  -0.132   1.589  1.00  0.00          C   \nATOM    697  C   ASP A  93      18.097  -0.954   0.305  1.00  0.00          C   \nATOM    698  CB  ASP A  93      19.058  -0.622   2.596  1.00  0.00          C   \nATOM    699  O   ASP A  93      19.179  -1.132  -0.256  1.00  0.00          O   \nATOM    700  CG  ASP A  93      19.487   0.454   3.577  1.00  0.00          C   \nATOM    701  OD1 ASP A  93      20.370   0.192   4.423  1.00  0.00          O   \nATOM    702  OD2 ASP A  93      18.935   1.573   3.507  1.00  0.00          O   \nATOM    703  N   HIS A  94      17.467  -0.634  -0.758  1.00  0.00          N   \nATOM    704  CA  HIS A  94      18.140  -1.057  -1.982  1.00  0.00          C   \nATOM    705  C   HIS A  94      17.627  -0.280  -3.189  1.00  0.00          C   \nATOM    706  CB  HIS A  94      17.951  -2.559  -2.205  1.00  0.00          C   \nATOM    707  O   HIS A  94      16.419  -0.075  -3.334  1.00  0.00          O   \nATOM    708  CG  HIS A  94      18.800  -3.409  -1.315  1.00  0.00          C   \nATOM    709  CD2 HIS A  94      18.467  -4.255  -0.312  1.00  0.00          C   \nATOM    710  ND1 HIS A  94      20.175  -3.442  -1.407  1.00  0.00          N   \nATOM    711  CE1 HIS A  94      20.651  -4.276  -0.497  1.00  0.00          C   \nATOM    712  NE2 HIS A  94      19.635  -4.782   0.181  1.00  0.00          N   \nATOM    713  N   HIS A  95      18.249   0.957  -3.481  1.00  0.00          N   \nATOM    714  CA  HIS A  95      18.496   1.578  -4.778  1.00  0.00          C   \nATOM    715  C   HIS A  95      18.041   0.672  -5.918  1.00  0.00          C   \nATOM    716  CB  HIS A  95      19.979   1.916  -4.936  1.00  0.00          C   \nATOM    717  O   HIS A  95      18.521   0.799  -7.046  1.00  0.00          O   \nATOM    718  CG  HIS A  95      20.458   2.973  -3.992  1.00  0.00          C   \nATOM    719  CD2 HIS A  95      21.388   2.932  -3.010  1.00  0.00          C   \nATOM    720  ND1 HIS A  95      19.959   4.258  -3.999  1.00  0.00          N   \nATOM    721  CE1 HIS A  95      20.565   4.963  -3.059  1.00  0.00          C   \nATOM    722  NE2 HIS A  95      21.437   4.182  -2.444  1.00  0.00          N   \nATOM    723  N   ASP A  96      16.923   0.136  -5.980  1.00  0.00          N   \nATOM    724  CA  ASP A  96      16.554  -0.218  -7.347  1.00  0.00          C   \nATOM    725  C   ASP A  96      15.459   0.705  -7.877  1.00  0.00          C   \nATOM    726  CB  ASP A  96      16.093  -1.676  -7.418  1.00  0.00          C   \nATOM    727  O   ASP A  96      14.655   1.230  -7.104  1.00  0.00          O   \nATOM    728  CG  ASP A  96      17.246  -2.663  -7.414  1.00  0.00          C   \nATOM    729  OD1 ASP A  96      17.024  -3.859  -7.125  1.00  0.00          O   \nATOM    730  OD2 ASP A  96      18.388  -2.242  -7.699  1.00  0.00          O   \nATOM    731  N   ASP A  97      15.890   1.837  -8.509  1.00  0.00          N   \nATOM    732  CA  ASP A  97      15.081   2.551  -9.491  1.00  0.00          C   \nATOM    733  C   ASP A  97      13.874   1.718  -9.918  1.00  0.00          C   \nATOM    734  CB  ASP A  97      15.923   2.923 -10.713  1.00  0.00          C   \nATOM    735  O   ASP A  97      13.369   1.874 -11.032  1.00  0.00          O   \nATOM    736  CG  ASP A  97      16.981   3.969 -10.409  1.00  0.00          C   \nATOM    737  OD1 ASP A  97      18.049   3.963 -11.058  1.00  0.00          O   \nATOM    738  OD2 ASP A  97      16.746   4.804  -9.509  1.00  0.00          O   \nATOM    739  N   ASP A  98      13.468   0.802  -9.181  1.00  0.00          N   \nATOM    740  CA  ASP A  98      12.224   0.241  -9.699  1.00  0.00          C   \nATOM    741  C   ASP A  98      11.093   1.266  -9.639  1.00  0.00          C   \nATOM    742  CB  ASP A  98      11.837  -1.017  -8.920  1.00  0.00          C   \nATOM    743  O   ASP A  98      10.974   2.010  -8.663  1.00  0.00          O   \nATOM    744  CG  ASP A  98      12.688  -2.222  -9.278  1.00  0.00          C   \nATOM    745  OD1 ASP A  98      12.775  -3.170  -8.468  1.00  0.00          O   \nATOM    746  OD2 ASP A  98      13.280  -2.223 -10.379  1.00  0.00          O   \nATOM    747  N   THR A  99      11.132   2.146 -10.695  1.00  0.00          N   \nATOM    748  CA  THR A  99       9.998   2.959 -11.120  1.00  0.00          C   \nATOM    749  C   THR A  99       8.685   2.355 -10.628  1.00  0.00          C   \nATOM    750  CB  THR A  99       9.957   3.102 -12.653  1.00  0.00          C   \nATOM    751  O   THR A  99       7.730   2.223 -11.396  1.00  0.00          O   \nATOM    752  CG2 THR A  99      11.214   3.791 -13.174  1.00  0.00          C   \nATOM    753  OG1 THR A  99       9.857   1.802 -13.246  1.00  0.00          O   \nATOM    754  N   HIS A 100       8.653   1.675  -9.540  1.00  0.00          N   \nATOM    755  CA  HIS A 100       7.234   1.548  -9.228  1.00  0.00          C   \nATOM    756  C   HIS A 100       6.625   2.899  -8.870  1.00  0.00          C   \nATOM    757  CB  HIS A 100       7.024   0.557  -8.082  1.00  0.00          C   \nATOM    758  O   HIS A 100       7.154   3.617  -8.019  1.00  0.00          O   \nATOM    759  CG  HIS A 100       7.437  -0.842  -8.414  1.00  0.00          C   \nATOM    760  CD2 HIS A 100       8.446  -1.607  -7.937  1.00  0.00          C   \nATOM    761  ND1 HIS A 100       6.777  -1.610  -9.349  1.00  0.00          N   \nATOM    762  CE1 HIS A 100       7.365  -2.793  -9.431  1.00  0.00          C   \nATOM    763  NE2 HIS A 100       8.380  -2.816  -8.585  1.00  0.00          N   \nATOM    764  N   GLY A 101       6.381   3.654  -9.900  1.00  0.00          N   \nATOM    765  CA  GLY A 101       5.487   4.753  -9.574  1.00  0.00          C   \nATOM    766  C   GLY A 101       4.744   4.550  -8.267  1.00  0.00          C   \nATOM    767  O   GLY A 101       3.522   4.386  -8.261  1.00  0.00          O   \nATOM    768  N   GLU A 102       5.430   3.707  -7.432  1.00  0.00          N   \nATOM    769  CA  GLU A 102       4.594   3.693  -6.235  1.00  0.00          C   \nATOM    770  C   GLU A 102       4.478   5.087  -5.627  1.00  0.00          C   \nATOM    771  CB  GLU A 102       5.153   2.712  -5.201  1.00  0.00          C   \nATOM    772  O   GLU A 102       5.392   5.905  -5.757  1.00  0.00          O   \nATOM    773  CG  GLU A 102       5.195   1.269  -5.681  1.00  0.00          C   \nATOM    774  CD  GLU A 102       3.815   0.668  -5.897  1.00  0.00          C   \nATOM    775  OE1 GLU A 102       2.810   1.292  -5.486  1.00  0.00          O   \nATOM    776  OE2 GLU A 102       3.738  -0.436  -6.481  1.00  0.00          O   \nATOM    777  N   CYS A 103       3.304   5.585  -5.881  1.00  0.00          N   \nATOM    778  CA  CYS A 103       2.937   6.733  -5.061  1.00  0.00          C   \nATOM    779  C   CYS A 103       3.767   6.778  -3.783  1.00  0.00          C   \nATOM    780  CB  CYS A 103       1.449   6.690  -4.712  1.00  0.00          C   \nATOM    781  O   CYS A 103       3.803   5.806  -3.027  1.00  0.00          O   \nATOM    782  SG  CYS A 103       0.362   6.999  -6.121  1.00  0.00          S   \nATOM    783  N   THR A 104       4.856   7.423  -3.910  1.00  0.00          N   \nATOM    784  CA  THR A 104       5.617   7.650  -2.686  1.00  0.00          C   \nATOM    785  C   THR A 104       5.025   8.808  -1.888  1.00  0.00          C   \nATOM    786  CB  THR A 104       7.098   7.939  -2.995  1.00  0.00          C   \nATOM    787  O   THR A 104       4.142   9.517  -2.375  1.00  0.00          O   \nATOM    788  CG2 THR A 104       7.686   6.875  -3.916  1.00  0.00          C   \nATOM    789  OG1 THR A 104       7.206   9.219  -3.631  1.00  0.00          O   \nATOM    790  N   LYS A 105       5.301   8.726  -0.683  1.00  0.00          N   \nATOM    791  CA  LYS A 105       4.870   9.830   0.169  1.00  0.00          C   \nATOM    792  C   LYS A 105       5.196  11.178  -0.469  1.00  0.00          C   \nATOM    793  CB  LYS A 105       5.523   9.731   1.548  1.00  0.00          C   \nATOM    794  O   LYS A 105       4.534  12.179  -0.190  1.00  0.00          O   \nATOM    795  CG  LYS A 105       4.955   8.625   2.425  1.00  0.00          C   \nATOM    796  CD  LYS A 105       5.514   8.690   3.840  1.00  0.00          C   \nATOM    797  CE  LYS A 105       4.894   7.627   4.736  1.00  0.00          C   \nATOM    798  NZ  LYS A 105       5.487   7.643   6.107  1.00  0.00          N   \nATOM    799  N   LYS A 106       6.132  11.170  -1.417  1.00  0.00          N   \nATOM    800  CA  LYS A 106       6.565  12.408  -2.059  1.00  0.00          C   \nATOM    801  C   LYS A 106       5.727  12.707  -3.298  1.00  0.00          C   \nATOM    802  CB  LYS A 106       8.046  12.329  -2.434  1.00  0.00          C   \nATOM    803  O   LYS A 106       5.794  13.808  -3.849  1.00  0.00          O   \nATOM    804  CG  LYS A 106       8.986  12.274  -1.239  1.00  0.00          C   \nATOM    805  CD  LYS A 106      10.445  12.262  -1.676  1.00  0.00          C   \nATOM    806  CE  LYS A 106      11.387  12.222  -0.480  1.00  0.00          C   \nATOM    807  NZ  LYS A 106      12.817  12.151  -0.903  1.00  0.00          N   \nATOM    808  N   ALA A 107       5.009  11.655  -3.672  1.00  0.00          N   \nATOM    809  CA  ALA A 107       4.208  11.854  -4.877  1.00  0.00          C   \nATOM    810  C   ALA A 107       3.004  12.748  -4.594  1.00  0.00          C   \nATOM    811  CB  ALA A 107       3.749  10.511  -5.439  1.00  0.00          C   \nATOM    812  O   ALA A 107       2.358  12.618  -3.552  1.00  0.00          O   \nATOM    813  N   PRO A 108       2.750  13.735  -5.350  1.00  0.00          N   \nATOM    814  CA  PRO A 108       1.593  14.609  -5.140  1.00  0.00          C   \nATOM    815  C   PRO A 108       0.271  13.845  -5.124  1.00  0.00          C   \nATOM    816  CB  PRO A 108       1.656  15.568  -6.331  1.00  0.00          C   \nATOM    817  O   PRO A 108      -0.730  14.348  -4.607  1.00  0.00          O   \nATOM    818  CG  PRO A 108       2.473  14.851  -7.356  1.00  0.00          C   \nATOM    819  CD  PRO A 108       3.398  13.901  -6.650  1.00  0.00          C   \nATOM    820  N   CYS A 109       0.245  12.652  -5.681  1.00  0.00          N   \nATOM    821  CA  CYS A 109      -1.009  11.911  -5.770  1.00  0.00          C   \nATOM    822  C   CYS A 109      -1.162  10.954  -4.594  1.00  0.00          C   \nATOM    823  CB  CYS A 109      -1.079  11.134  -7.084  1.00  0.00          C   \nATOM    824  O   CYS A 109      -2.174  10.261  -4.480  1.00  0.00          O   \nATOM    825  SG  CYS A 109       0.290   9.980  -7.322  1.00  0.00          S   \nATOM    826  N   TRP A 110      -0.068  10.925  -3.822  1.00  0.00          N   \nATOM    827  CA  TRP A 110      -0.125  10.100  -2.621  1.00  0.00          C   \nATOM    828  C   TRP A 110      -1.071  10.704  -1.589  1.00  0.00          C   \nATOM    829  CB  TRP A 110       1.272   9.934  -2.016  1.00  0.00          C   \nATOM    830  O   TRP A 110      -0.962  11.887  -1.255  1.00  0.00          O   \nATOM    831  CG  TRP A 110       1.322   8.997  -0.846  1.00  0.00          C   \nATOM    832  CD1 TRP A 110       1.696   7.682  -0.859  1.00  0.00          C   \nATOM    833  CD2 TRP A 110       0.980   9.304   0.509  1.00  0.00          C   \nATOM    834  CE2 TRP A 110       1.172   8.127   1.266  1.00  0.00          C   \nATOM    835  CE3 TRP A 110       0.531  10.462   1.158  1.00  0.00          C   \nATOM    836  NE1 TRP A 110       1.608   7.153   0.408  1.00  0.00          N   \nATOM    837  CH2 TRP A 110       0.491   9.222   3.250  1.00  0.00          C   \nATOM    838  CZ2 TRP A 110       0.929   8.075   2.640  1.00  0.00          C   \nATOM    839  CZ3 TRP A 110       0.290  10.409   2.526  1.00  0.00          C   \nATOM    840  N   ARG A 111      -2.102   9.880  -1.162  1.00  0.00          N   \nATOM    841  CA  ARG A 111      -3.086  10.357  -0.197  1.00  0.00          C   \nATOM    842  C   ARG A 111      -3.345   9.313   0.884  1.00  0.00          C   \nATOM    843  CB  ARG A 111      -4.397  10.720  -0.899  1.00  0.00          C   \nATOM    844  O   ARG A 111      -3.329   8.111   0.610  1.00  0.00          O   \nATOM    845  CG  ARG A 111      -5.466  11.263   0.034  1.00  0.00          C   \nATOM    846  CD  ARG A 111      -5.180  12.701   0.443  1.00  0.00          C   \nATOM    847  NE  ARG A 111      -6.289  13.277   1.200  1.00  0.00          N   \nATOM    848  NH1 ARG A 111      -5.313  15.357   1.444  1.00  0.00          N   \nATOM    849  NH2 ARG A 111      -7.384  14.946   2.335  1.00  0.00          N   \nATOM    850  CZ  ARG A 111      -6.326  14.525   1.658  1.00  0.00          C   \nATOM    851  N   CYS A 112      -3.365   9.888   2.033  1.00  0.00          N   \nATOM    852  CA  CYS A 112      -3.705   9.030   3.162  1.00  0.00          C   \nATOM    853  C   CYS A 112      -5.019   9.463   3.801  1.00  0.00          C   \nATOM    854  CB  CYS A 112      -2.589   9.051   4.206  1.00  0.00          C   \nATOM    855  O   CYS A 112      -5.318  10.657   3.866  1.00  0.00          O   \nATOM    856  SG  CYS A 112      -1.031   8.349   3.621  1.00  0.00          S   \nATOM    857  N   GLU A 113      -5.830   8.580   3.951  1.00  0.00          N   \nATOM    858  CA  GLU A 113      -7.053   8.822   4.710  1.00  0.00          C   \nATOM    859  C   GLU A 113      -7.031   8.080   6.044  1.00  0.00          C   \nATOM    860  CB  GLU A 113      -8.282   8.407   3.897  1.00  0.00          C   \nATOM    861  O   GLU A 113      -6.553   6.947   6.122  1.00  0.00          O   \nATOM    862  CG  GLU A 113      -8.500   9.241   2.643  1.00  0.00          C   \nATOM    863  CD  GLU A 113      -9.731   8.826   1.853  1.00  0.00          C   \nATOM    864  OE1 GLU A 113     -10.458   7.909   2.299  1.00  0.00          O   \nATOM    865  OE2 GLU A 113      -9.971   9.422   0.780  1.00  0.00          O   \nATOM    866  N   TYR A 114      -7.305   8.869   7.059  1.00  0.00          N   \nATOM    867  CA  TYR A 114      -7.411   8.262   8.381  1.00  0.00          C   \nATOM    868  C   TYR A 114      -8.671   7.412   8.491  1.00  0.00          C   \nATOM    869  CB  TYR A 114      -7.412   9.340   9.469  1.00  0.00          C   \nATOM    870  O   TYR A 114      -9.775   7.889   8.219  1.00  0.00          O   \nATOM    871  CG  TYR A 114      -7.392   8.785  10.872  1.00  0.00          C   \nATOM    872  CD1 TYR A 114      -8.527   8.834  11.678  1.00  0.00          C   \nATOM    873  CD2 TYR A 114      -6.238   8.213  11.396  1.00  0.00          C   \nATOM    874  CE1 TYR A 114      -8.513   8.326  12.973  1.00  0.00          C   \nATOM    875  CE2 TYR A 114      -6.212   7.702  12.690  1.00  0.00          C   \nATOM    876  OH  TYR A 114      -7.333   7.258  14.750  1.00  0.00          O   \nATOM    877  CZ  TYR A 114      -7.353   7.762  13.469  1.00  0.00          C   \nATOM    878  N   ASN A 115      -8.439   6.137   8.704  1.00  0.00          N   \nATOM    879  CA  ASN A 115      -9.527   5.202   8.972  1.00  0.00          C   \nATOM    880  C   ASN A 115      -9.770   5.039  10.469  1.00  0.00          C   \nATOM    881  CB  ASN A 115      -9.238   3.844   8.330  1.00  0.00          C   \nATOM    882  O   ASN A 115      -8.953   4.443  11.174  1.00  0.00          O   \nATOM    883  CG  ASN A 115     -10.442   2.922   8.345  1.00  0.00          C   \nATOM    884  ND2 ASN A 115     -10.511   2.021   7.373  1.00  0.00          N   \nATOM    885  OD1 ASN A 115     -11.302   3.020   9.224  1.00  0.00          O   \nATOM    886  N   ALA A 116     -10.796   5.699  10.920  1.00  0.00          N   \nATOM    887  CA  ALA A 116     -11.108   5.723  12.347  1.00  0.00          C   \nATOM    888  C   ALA A 116     -11.283   4.310  12.894  1.00  0.00          C   \nATOM    889  CB  ALA A 116     -12.366   6.549  12.603  1.00  0.00          C   \nATOM    890  O   ALA A 116     -10.898   4.025  14.031  1.00  0.00          O   \nATOM    891  N   ASP A 117     -11.725   3.414  12.007  1.00  0.00          N   \nATOM    892  CA  ASP A 117     -11.929   2.033  12.433  1.00  0.00          C   \nATOM    893  C   ASP A 117     -10.595   1.313  12.619  1.00  0.00          C   \nATOM    894  CB  ASP A 117     -12.796   1.281  11.421  1.00  0.00          C   \nATOM    895  O   ASP A 117     -10.432   0.529  13.557  1.00  0.00          O   \nATOM    896  CG  ASP A 117     -14.225   1.793  11.369  1.00  0.00          C   \nATOM    897  OD1 ASP A 117     -14.898   1.618  10.331  1.00  0.00          O   \nATOM    898  OD2 ASP A 117     -14.681   2.378  12.375  1.00  0.00          O   \nATOM    899  N   LEU A 118      -9.664   1.666  11.738  1.00  0.00          N   \nATOM    900  CA  LEU A 118      -8.349   1.035  11.785  1.00  0.00          C   \nATOM    901  C   LEU A 118      -7.364   1.891  12.575  1.00  0.00          C   \nATOM    902  CB  LEU A 118      -7.816   0.800  10.369  1.00  0.00          C   \nATOM    903  O   LEU A 118      -6.231   1.472  12.822  1.00  0.00          O   \nATOM    904  CG  LEU A 118      -8.639  -0.135   9.481  1.00  0.00          C   \nATOM    905  CD1 LEU A 118      -8.022  -0.225   8.090  1.00  0.00          C   \nATOM    906  CD2 LEU A 118      -8.746  -1.518  10.115  1.00  0.00          C   \nATOM    907  N   LYS A 119      -7.828   3.091  12.895  1.00  0.00          N   \nATOM    908  CA  LYS A 119      -6.988   4.069  13.580  1.00  0.00          C   \nATOM    909  C   LYS A 119      -5.640   4.222  12.882  1.00  0.00          C   \nATOM    910  CB  LYS A 119      -6.780   3.668  15.041  1.00  0.00          C   \nATOM    911  O   LYS A 119      -4.596   4.257  13.537  1.00  0.00          O   \nATOM    912  CG  LYS A 119      -8.064   3.604  15.855  1.00  0.00          C   \nATOM    913  CD  LYS A 119      -7.786   3.255  17.311  1.00  0.00          C   \nATOM    914  CE  LYS A 119      -9.062   3.263  18.143  1.00  0.00          C   \nATOM    915  NZ  LYS A 119      -8.786   2.979  19.583  1.00  0.00          N   \nATOM    916  N   HIS A 120      -5.544   4.099  11.731  1.00  0.00          N   \nATOM    917  CA  HIS A 120      -4.341   4.353  10.946  1.00  0.00          C   \nATOM    918  C   HIS A 120      -4.690   4.898   9.565  1.00  0.00          C   \nATOM    919  CB  HIS A 120      -3.510   3.075  10.811  1.00  0.00          C   \nATOM    920  O   HIS A 120      -5.853   4.869   9.156  1.00  0.00          O   \nATOM    921  CG  HIS A 120      -4.217   1.973  10.089  1.00  0.00          C   \nATOM    922  CD2 HIS A 120      -4.107   1.532   8.813  1.00  0.00          C   \nATOM    923  ND1 HIS A 120      -5.174   1.183  10.689  1.00  0.00          N   \nATOM    924  CE1 HIS A 120      -5.622   0.301   9.811  1.00  0.00          C   \nATOM    925  NE2 HIS A 120      -4.990   0.491   8.666  1.00  0.00          N   \nATOM    926  N   ASP A 121      -3.704   5.475   9.017  1.00  0.00          N   \nATOM    927  CA  ASP A 121      -3.873   6.009   7.669  1.00  0.00          C   \nATOM    928  C   ASP A 121      -3.838   4.892   6.628  1.00  0.00          C   \nATOM    929  CB  ASP A 121      -2.792   7.047   7.363  1.00  0.00          C   \nATOM    930  O   ASP A 121      -3.053   3.949   6.747  1.00  0.00          O   \nATOM    931  CG  ASP A 121      -2.917   8.301   8.210  1.00  0.00          C   \nATOM    932  OD1 ASP A 121      -1.936   9.069   8.312  1.00  0.00          O   \nATOM    933  OD2 ASP A 121      -4.006   8.521   8.784  1.00  0.00          O   \nATOM    934  N   VAL A 122      -4.829   4.935   5.875  1.00  0.00          N   \nATOM    935  CA  VAL A 122      -4.775   4.123   4.663  1.00  0.00          C   \nATOM    936  C   VAL A 122      -4.276   4.971   3.495  1.00  0.00          C   \nATOM    937  CB  VAL A 122      -6.154   3.511   4.328  1.00  0.00          C   \nATOM    938  O   VAL A 122      -4.857   6.013   3.184  1.00  0.00          O   \nATOM    939  CG1 VAL A 122      -6.063   2.625   3.087  1.00  0.00          C   \nATOM    940  CG2 VAL A 122      -6.688   2.717   5.518  1.00  0.00          C   \nATOM    941  N   CYS A 123      -3.142   4.531   3.102  1.00  0.00          N   \nATOM    942  CA  CYS A 123      -2.472   5.318   2.073  1.00  0.00          C   \nATOM    943  C   CYS A 123      -2.628   4.669   0.702  1.00  0.00          C   \nATOM    944  CB  CYS A 123      -0.988   5.481   2.403  1.00  0.00          C   \nATOM    945  O   CYS A 123      -2.671   3.443   0.593  1.00  0.00          O   \nATOM    946  SG  CYS A 123      -0.681   6.285   3.991  1.00  0.00          S   \nATOM    947  N   GLY A 124      -2.924   5.462  -0.260  1.00  0.00          N   \nATOM    948  CA  GLY A 124      -2.940   5.028  -1.648  1.00  0.00          C   \nATOM    949  C   GLY A 124      -2.699   6.159  -2.630  1.00  0.00          C   \nATOM    950  O   GLY A 124      -2.463   7.299  -2.225  1.00  0.00          O   \nATOM    951  N   CYS A 125      -2.378   5.820  -3.813  1.00  0.00          N   \nATOM    952  CA  CYS A 125      -2.283   6.770  -4.916  1.00  0.00          C   \nATOM    953  C   CYS A 125      -3.667   7.160  -5.421  1.00  0.00          C   \nATOM    954  CB  CYS A 125      -1.458   6.183  -6.061  1.00  0.00          C   \nATOM    955  O   CYS A 125      -4.425   6.307  -5.886  1.00  0.00          O   \nATOM    956  SG  CYS A 125       0.275   5.900  -5.639  1.00  0.00          S   \nATOM    957  N   GLU A 126      -4.004   8.323  -5.203  1.00  0.00          N   \nATOM    958  CA  GLU A 126      -5.332   8.779  -5.604  1.00  0.00          C   \nATOM    959  C   GLU A 126      -5.243   9.988  -6.530  1.00  0.00          C   \nATOM    960  CB  GLU A 126      -6.177   9.119  -4.374  1.00  0.00          C   \nATOM    961  O   GLU A 126      -5.752  11.064  -6.206  1.00  0.00          O   \nATOM    962  CG  GLU A 126      -6.467   7.924  -3.478  1.00  0.00          C   \nATOM    963  CD  GLU A 126      -7.488   6.964  -4.068  1.00  0.00          C   \nATOM    964  OE1 GLU A 126      -8.228   7.361  -4.997  1.00  0.00          O   \nATOM    965  OE2 GLU A 126      -7.550   5.807  -3.597  1.00  0.00          O   \nATOM    966  N   CYS A 127      -4.822   9.841  -7.699  1.00  0.00          N   \nATOM    967  CA  CYS A 127      -4.615  10.948  -8.626  1.00  0.00          C   \nATOM    968  C   CYS A 127      -5.940  11.598  -9.005  1.00  0.00          C   \nATOM    969  CB  CYS A 127      -3.895  10.466  -9.885  1.00  0.00          C   \nATOM    970  O   CYS A 127      -5.987  12.790  -9.312  1.00  0.00          O   \nATOM    971  SG  CYS A 127      -2.217   9.868  -9.581  1.00  0.00          S   \nATOM    972  N   SER A 128      -6.846  10.833  -8.955  1.00  0.00          N   \nATOM    973  CA  SER A 128      -8.150  11.305  -9.408  1.00  0.00          C   \nATOM    974  C   SER A 128      -8.755  12.293  -8.417  1.00  0.00          C   \nATOM    975  CB  SER A 128      -9.104  10.128  -9.616  1.00  0.00          C   \nATOM    976  O   SER A 128      -9.642  13.073  -8.772  1.00  0.00          O   \nATOM    977  OG  SER A 128      -9.249   9.381  -8.420  1.00  0.00          O   \nATOM    978  N   LYS A 129      -8.286  12.254  -7.213  1.00  0.00          N   \nATOM    979  CA  LYS A 129      -8.887  13.076  -6.166  1.00  0.00          C   \nATOM    980  C   LYS A 129      -8.020  14.294  -5.859  1.00  0.00          C   \nATOM    981  CB  LYS A 129      -9.104  12.253  -4.896  1.00  0.00          C   \nATOM    982  O   LYS A 129      -8.420  15.169  -5.089  1.00  0.00          O   \nATOM    983  CG  LYS A 129     -10.151  11.158  -5.039  1.00  0.00          C   \nATOM    984  CD  LYS A 129     -10.395  10.441  -3.717  1.00  0.00          C   \nATOM    985  CE  LYS A 129     -11.490   9.392  -3.843  1.00  0.00          C   \nATOM    986  NZ  LYS A 129     -11.820   8.774  -2.524  1.00  0.00          N   \nATOM    987  N   LEU A 130      -6.820  14.391  -6.394  1.00  0.00          N   \nATOM    988  CA  LEU A 130      -5.922  15.506  -6.110  1.00  0.00          C   \nATOM    989  C   LEU A 130      -6.255  16.708  -6.987  1.00  0.00          C   \nATOM    990  CB  LEU A 130      -4.465  15.089  -6.326  1.00  0.00          C   \nATOM    991  O   LEU A 130      -6.713  16.548  -8.120  1.00  0.00          O   \nATOM    992  CG  LEU A 130      -3.879  14.117  -5.300  1.00  0.00          C   \nATOM    993  CD1 LEU A 130      -2.476  13.689  -5.718  1.00  0.00          C   \nATOM    994  CD2 LEU A 130      -3.859  14.751  -3.913  1.00  0.00          C   \nATOM    995  N   PRO A 131      -6.218  17.878  -6.321  1.00  0.00          N   \nATOM    996  CA  PRO A 131      -6.403  19.088  -7.125  1.00  0.00          C   \nATOM    997  C   PRO A 131      -5.423  19.176  -8.293  1.00  0.00          C   \nATOM    998  CB  PRO A 131      -6.159  20.219  -6.123  1.00  0.00          C   \nATOM    999  O   PRO A 131      -4.287  18.706  -8.188  1.00  0.00          O   \nATOM   1000  CG  PRO A 131      -5.279  19.617  -5.075  1.00  0.00          C   \nATOM   1001  CD  PRO A 131      -5.586  18.150  -4.979  1.00  0.00          C   \nATOM   1002  N   CYS A 132      -5.915  19.530  -9.527  1.00  0.00          N   \nATOM   1003  CA  CYS A 132      -5.087  19.711 -10.714  1.00  0.00          C   \nATOM   1004  C   CYS A 132      -4.132  20.886 -10.540  1.00  0.00          C   \nATOM   1005  CB  CYS A 132      -5.960  19.930 -11.949  1.00  0.00          C   \nATOM   1006  O   CYS A 132      -4.531  22.042 -10.690  1.00  0.00          O   \nATOM   1007  SG  CYS A 132      -6.896  18.468 -12.448  1.00  0.00          S   \nATOM   1008  N   ASN A 133      -3.080  20.705  -9.927  1.00  0.00          N   \nATOM   1009  CA  ASN A 133      -2.027  21.708  -9.810  1.00  0.00          C   \nATOM   1010  C   ASN A 133      -0.764  21.283 -10.553  1.00  0.00          C   \nATOM   1011  CB  ASN A 133      -1.710  21.986  -8.339  1.00  0.00          C   \nATOM   1012  O   ASN A 133      -0.740  20.230 -11.194  1.00  0.00          O   \nATOM   1013  CG  ASN A 133      -1.260  20.744  -7.595  1.00  0.00          C   \nATOM   1014  ND2 ASN A 133      -1.758  20.570  -6.376  1.00  0.00          N   \nATOM   1015  OD1 ASN A 133      -0.470  19.949  -8.110  1.00  0.00          O   \nATOM   1016  N   ASP A 134       0.201  22.148 -10.651  1.00  0.00          N   \nATOM   1017  CA  ASP A 134       1.408  21.962 -11.451  1.00  0.00          C   \nATOM   1018  C   ASP A 134       2.162  20.705 -11.023  1.00  0.00          C   \nATOM   1019  CB  ASP A 134       2.320  23.185 -11.338  1.00  0.00          C   \nATOM   1020  O   ASP A 134       2.999  20.192 -11.768  1.00  0.00          O   \nATOM   1021  CG  ASP A 134       1.789  24.392 -12.091  1.00  0.00          C   \nATOM   1022  OD1 ASP A 134       2.250  25.525 -11.832  1.00  0.00          O   \nATOM   1023  OD2 ASP A 134       0.898  24.210 -12.950  1.00  0.00          O   \nATOM   1024  N   GLU A 135       1.732  20.132  -9.899  1.00  0.00          N   \nATOM   1025  CA  GLU A 135       2.429  18.946  -9.410  1.00  0.00          C   \nATOM   1026  C   GLU A 135       1.714  17.669  -9.840  1.00  0.00          C   \nATOM   1027  CB  GLU A 135       2.559  18.988  -7.885  1.00  0.00          C   \nATOM   1028  O   GLU A 135       2.282  16.577  -9.766  1.00  0.00          O   \nATOM   1029  CG  GLU A 135       3.439  20.120  -7.374  1.00  0.00          C   \nATOM   1030  CD  GLU A 135       3.561  20.146  -5.859  1.00  0.00          C   \nATOM   1031  OE1 GLU A 135       2.885  19.340  -5.181  1.00  0.00          O   \nATOM   1032  OE2 GLU A 135       4.339  20.981  -5.346  1.00  0.00          O   \nATOM   1033  N   HIS A 136       0.480  17.885 -10.293  1.00  0.00          N   \nATOM   1034  CA  HIS A 136      -0.314  16.733 -10.704  1.00  0.00          C   \nATOM   1035  C   HIS A 136       0.053  16.287 -12.116  1.00  0.00          C   \nATOM   1036  CB  HIS A 136      -1.807  17.057 -10.628  1.00  0.00          C   \nATOM   1037  O   HIS A 136       0.114  17.107 -13.035  1.00  0.00          O   \nATOM   1038  CG  HIS A 136      -2.685  15.846 -10.645  1.00  0.00          C   \nATOM   1039  CD2 HIS A 136      -3.469  15.303  -9.684  1.00  0.00          C   \nATOM   1040  ND1 HIS A 136      -2.822  15.042 -11.756  1.00  0.00          N   \nATOM   1041  CE1 HIS A 136      -3.655  14.054 -11.476  1.00  0.00          C   \nATOM   1042  NE2 HIS A 136      -4.062  14.189 -10.225  1.00  0.00          N   \nATOM   1043  N   PRO A 137       0.226  15.184 -12.322  1.00  0.00          N   \nATOM   1044  CA  PRO A 137       0.690  14.688 -13.619  1.00  0.00          C   \nATOM   1045  C   PRO A 137      -0.331  14.908 -14.734  1.00  0.00          C   \nATOM   1046  CB  PRO A 137       0.910  13.194 -13.368  1.00  0.00          C   \nATOM   1047  O   PRO A 137       0.032  14.929 -15.913  1.00  0.00          O   \nATOM   1048  CG  PRO A 137       0.170  12.907 -12.101  1.00  0.00          C   \nATOM   1049  CD  PRO A 137       0.003  14.193 -11.344  1.00  0.00          C   \nATOM   1050  N   CYS A 138      -1.650  15.096 -14.399  1.00  0.00          N   \nATOM   1051  CA  CYS A 138      -2.702  15.293 -15.390  1.00  0.00          C   \nATOM   1052  C   CYS A 138      -2.947  16.776 -15.639  1.00  0.00          C   \nATOM   1053  CB  CYS A 138      -3.998  14.621 -14.937  1.00  0.00          C   \nATOM   1054  O   CYS A 138      -3.870  17.144 -16.368  1.00  0.00          O   \nATOM   1055  SG  CYS A 138      -3.887  12.822 -14.830  1.00  0.00          S   \nATOM   1056  N   TYR A 139      -2.050  17.530 -14.923  1.00  0.00          N   \nATOM   1057  CA  TYR A 139      -2.147  18.977 -15.082  1.00  0.00          C   \nATOM   1058  C   TYR A 139      -1.580  19.417 -16.427  1.00  0.00          C   \nATOM   1059  CB  TYR A 139      -1.411  19.693 -13.946  1.00  0.00          C   \nATOM   1060  O   TYR A 139      -0.470  19.029 -16.796  1.00  0.00          O   \nATOM   1061  CG  TYR A 139      -1.400  21.197 -14.083  1.00  0.00          C   \nATOM   1062  CD1 TYR A 139      -0.320  21.854 -14.668  1.00  0.00          C   \nATOM   1063  CD2 TYR A 139      -2.468  21.962 -13.627  1.00  0.00          C   \nATOM   1064  CE1 TYR A 139      -0.305  23.239 -14.795  1.00  0.00          C   \nATOM   1065  CE2 TYR A 139      -2.463  23.348 -13.748  1.00  0.00          C   \nATOM   1066  OH  TYR A 139      -1.369  25.348 -14.456  1.00  0.00          O   \nATOM   1067  CZ  TYR A 139      -1.379  23.976 -14.333  1.00  0.00          C   \nATOM   1068  N   ARG A 140      -2.489  20.100 -17.284  1.00  0.00          N   \nATOM   1069  CA  ARG A 140      -2.036  20.668 -18.550  1.00  0.00          C   \nATOM   1070  C   ARG A 140      -2.355  22.157 -18.626  1.00  0.00          C   \nATOM   1071  CB  ARG A 140      -2.678  19.934 -19.729  1.00  0.00          C   \nATOM   1072  O   ARG A 140      -3.435  22.589 -18.217  1.00  0.00          O   \nATOM   1073  CG  ARG A 140      -2.260  18.477 -19.849  1.00  0.00          C   \nATOM   1074  CD  ARG A 140      -2.856  17.819 -21.086  1.00  0.00          C   \nATOM   1075  NE  ARG A 140      -2.303  16.486 -21.307  1.00  0.00          N   \nATOM   1076  NH1 ARG A 140      -1.510  16.942 -23.429  1.00  0.00          N   \nATOM   1077  NH2 ARG A 140      -1.212  14.863 -22.510  1.00  0.00          N   \nATOM   1078  CZ  ARG A 140      -1.676  16.100 -22.415  1.00  0.00          C   \nATOM   1079  N   LYS A 141      -1.270  22.911 -18.875  1.00  0.00          N   \nATOM   1080  CA  LYS A 141      -1.432  24.343 -19.105  1.00  0.00          C   \nATOM   1081  C   LYS A 141      -1.210  24.693 -20.574  1.00  0.00          C   \nATOM   1082  CB  LYS A 141      -0.468  25.141 -18.226  1.00  0.00          C   \nATOM   1083  O   LYS A 141      -0.111  24.513 -21.101  1.00  0.00          O   \nATOM   1084  CG  LYS A 141      -0.749  26.636 -18.196  1.00  0.00          C   \nATOM   1085  CD  LYS A 141       0.167  27.359 -17.217  1.00  0.00          C   \nATOM   1086  CE  LYS A 141      -0.124  28.853 -17.175  1.00  0.00          C   \nATOM   1087  NZ  LYS A 141       0.783  29.568 -16.230  1.00  0.00          N   \nATOM   1088  N   GLU A 142      -2.285  24.849 -21.311  1.00  0.00          N   \nATOM   1089  CA  GLU A 142      -2.217  25.247 -22.713  1.00  0.00          C   \nATOM   1090  C   GLU A 142      -2.920  26.583 -22.942  1.00  0.00          C   \nATOM   1091  CB  GLU A 142      -2.832  24.169 -23.609  1.00  0.00          C   \nATOM   1092  O   GLU A 142      -4.113  26.718 -22.665  1.00  0.00          O   \nATOM   1093  CG  GLU A 142      -2.588  24.391 -25.095  1.00  0.00          C   \nATOM   1094  CD  GLU A 142      -3.160  23.287 -25.969  1.00  0.00          C   \nATOM   1095  OE1 GLU A 142      -3.890  22.415 -25.445  1.00  0.00          O   \nATOM   1096  OE2 GLU A 142      -2.875  23.292 -27.187  1.00  0.00          O   \nATOM   1097  N   GLY A 143      -2.182  27.579 -23.469  1.00  0.00          N   \nATOM   1098  CA  GLY A 143      -2.758  28.882 -23.764  1.00  0.00          C   \nATOM   1099  C   GLY A 143      -3.342  29.566 -22.543  1.00  0.00          C   \nATOM   1100  O   GLY A 143      -4.385  30.217 -22.629  1.00  0.00          O   \nATOM   1101  N   GLY A 144      -2.777  29.290 -21.354  1.00  0.00          N   \nATOM   1102  CA  GLY A 144      -3.245  29.947 -20.144  1.00  0.00          C   \nATOM   1103  C   GLY A 144      -4.395  29.217 -19.476  1.00  0.00          C   \nATOM   1104  O   GLY A 144      -4.892  29.651 -18.435  1.00  0.00          O   \nATOM   1105  N   VAL A 145      -4.936  28.140 -20.164  1.00  0.00          N   \nATOM   1106  CA  VAL A 145      -6.039  27.365 -19.605  1.00  0.00          C   \nATOM   1107  C   VAL A 145      -5.504  26.079 -18.980  1.00  0.00          C   \nATOM   1108  CB  VAL A 145      -7.101  27.035 -20.678  1.00  0.00          C   \nATOM   1109  O   VAL A 145      -4.666  25.395 -19.573  1.00  0.00          O   \nATOM   1110  CG1 VAL A 145      -8.253  26.236 -20.071  1.00  0.00          C   \nATOM   1111  CG2 VAL A 145      -7.619  28.316 -21.328  1.00  0.00          C   \nATOM   1112  N   VAL A 146      -5.959  25.837 -17.763  1.00  0.00          N   \nATOM   1113  CA  VAL A 146      -5.574  24.626 -17.045  1.00  0.00          C   \nATOM   1114  C   VAL A 146      -6.593  23.521 -17.311  1.00  0.00          C   \nATOM   1115  CB  VAL A 146      -5.450  24.882 -15.526  1.00  0.00          C   \nATOM   1116  O   VAL A 146      -7.803  23.758 -17.264  1.00  0.00          O   \nATOM   1117  CG1 VAL A 146      -5.098  23.592 -14.788  1.00  0.00          C   \nATOM   1118  CG2 VAL A 146      -4.405  25.962 -15.251  1.00  0.00          C   \nATOM   1119  N   SER A 147      -6.150  22.494 -17.818  1.00  0.00          N   \nATOM   1120  CA  SER A 147      -7.007  21.324 -17.979  1.00  0.00          C   \nATOM   1121  C   SER A 147      -6.522  20.161 -17.121  1.00  0.00          C   \nATOM   1122  CB  SER A 147      -7.062  20.898 -19.447  1.00  0.00          C   \nATOM   1123  O   SER A 147      -5.316  19.946 -16.982  1.00  0.00          O   \nATOM   1124  OG  SER A 147      -7.912  19.776 -19.614  1.00  0.00          O   \nATOM   1125  N   CYS A 148      -7.409  19.637 -16.271  1.00  0.00          N   \nATOM   1126  CA  CYS A 148      -7.135  18.448 -15.471  1.00  0.00          C   \nATOM   1127  C   CYS A 148      -7.876  17.237 -16.024  1.00  0.00          C   \nATOM   1128  CB  CYS A 148      -7.534  18.680 -14.014  1.00  0.00          C   \nATOM   1129  O   CYS A 148      -8.941  16.873 -15.523  1.00  0.00          O   \nATOM   1130  SG  CYS A 148      -6.884  17.438 -12.875  1.00  0.00          S   \nATOM   1131  N   ASP A 149      -7.699  16.869 -17.159  1.00  0.00          N   \nATOM   1132  CA  ASP A 149      -8.393  15.760 -17.806  1.00  0.00          C   \nATOM   1133  C   ASP A 149      -7.445  14.590 -18.056  1.00  0.00          C   \nATOM   1134  CB  ASP A 149      -9.023  16.217 -19.124  1.00  0.00          C   \nATOM   1135  O   ASP A 149      -6.548  14.679 -18.896  1.00  0.00          O   \nATOM   1136  CG  ASP A 149      -9.976  15.192 -19.713  1.00  0.00          C   \nATOM   1137  OD1 ASP A 149     -10.762  15.540 -20.620  1.00  0.00          O   \nATOM   1138  OD2 ASP A 149      -9.941  14.025 -19.265  1.00  0.00          O   \nATOM   1139  N   CYS A 150      -7.567  13.519 -17.222  1.00  0.00          N   \nATOM   1140  CA  CYS A 150      -6.727  12.334 -17.354  1.00  0.00          C   \nATOM   1141  C   CYS A 150      -7.054  11.573 -18.634  1.00  0.00          C   \nATOM   1142  CB  CYS A 150      -6.900  11.416 -16.145  1.00  0.00          C   \nATOM   1143  O   CYS A 150      -6.244  10.777 -19.112  1.00  0.00          O   \nATOM   1144  SG  CYS A 150      -6.406  12.171 -14.581  1.00  0.00          S   \nATOM   1145  N   LYS A 151      -8.188  11.835 -19.161  1.00  0.00          N   \nATOM   1146  CA  LYS A 151      -8.679  11.063 -20.298  1.00  0.00          C   \nATOM   1147  C   LYS A 151      -8.050  11.543 -21.603  1.00  0.00          C   \nATOM   1148  CB  LYS A 151     -10.204  11.151 -20.388  1.00  0.00          C   \nATOM   1149  O   LYS A 151      -7.990  10.796 -22.581  1.00  0.00          O   \nATOM   1150  CG  LYS A 151     -10.931  10.505 -19.219  1.00  0.00          C   \nATOM   1151  CD  LYS A 151     -12.443  10.620 -19.368  1.00  0.00          C   \nATOM   1152  CE  LYS A 151     -13.172   9.972 -18.199  1.00  0.00          C   \nATOM   1153  NZ  LYS A 151     -14.653  10.132 -18.313  1.00  0.00          N   \nATOM   1154  N   THR A 152      -7.674  12.782 -21.597  1.00  0.00          N   \nATOM   1155  CA  THR A 152      -7.207  13.367 -22.850  1.00  0.00          C   \nATOM   1156  C   THR A 152      -5.688  13.279 -22.954  1.00  0.00          C   \nATOM   1157  CB  THR A 152      -7.649  14.836 -22.979  1.00  0.00          C   \nATOM   1158  O   THR A 152      -5.115  13.562 -24.008  1.00  0.00          O   \nATOM   1159  CG2 THR A 152      -9.168  14.950 -23.052  1.00  0.00          C   \nATOM   1160  OG1 THR A 152      -7.180  15.572 -21.843  1.00  0.00          O   \nATOM   1161  N   ILE A 153      -5.064  12.924 -21.810  1.00  0.00          N   \nATOM   1162  CA  ILE A 153      -3.608  12.834 -21.820  1.00  0.00          C   \nATOM   1163  C   ILE A 153      -3.181  11.435 -22.259  1.00  0.00          C   \nATOM   1164  CB  ILE A 153      -3.011  13.167 -20.435  1.00  0.00          C   \nATOM   1165  O   ILE A 153      -3.826  10.444 -21.909  1.00  0.00          O   \nATOM   1166  CG1 ILE A 153      -3.390  14.593 -20.018  1.00  0.00          C   \nATOM   1167  CG2 ILE A 153      -1.490  12.986 -20.444  1.00  0.00          C   \nATOM   1168  CD1 ILE A 153      -2.744  15.679 -20.868  1.00  0.00          C   \nATOM   1169  N   THR A 154      -2.270  11.363 -23.110  1.00  0.00          N   \nATOM   1170  CA  THR A 154      -1.713  10.090 -23.553  1.00  0.00          C   \nATOM   1171  C   THR A 154      -1.160   9.301 -22.370  1.00  0.00          C   \nATOM   1172  CB  THR A 154      -0.603  10.299 -24.599  1.00  0.00          C   \nATOM   1173  O   THR A 154      -0.336   9.812 -21.607  1.00  0.00          O   \nATOM   1174  CG2 THR A 154      -0.102   8.965 -25.144  1.00  0.00          C   \nATOM   1175  OG1 THR A 154      -1.117  11.082 -25.683  1.00  0.00          O   \nATOM   1176  N   CYS A 155      -1.859   8.148 -22.092  1.00  0.00          N   \nATOM   1177  CA  CYS A 155      -1.409   7.282 -21.008  1.00  0.00          C   \nATOM   1178  C   CYS A 155      -0.060   6.653 -21.338  1.00  0.00          C   \nATOM   1179  CB  CYS A 155      -2.439   6.187 -20.734  1.00  0.00          C   \nATOM   1180  O   CYS A 155       0.086   5.991 -22.367  1.00  0.00          O   \nATOM   1181  SG  CYS A 155      -4.010   6.809 -20.095  1.00  0.00          S   \nATOM   1182  N   ASN A 156       0.893   7.176 -20.743  1.00  0.00          N   \nATOM   1183  CA  ASN A 156       2.201   6.536 -20.836  1.00  0.00          C   \nATOM   1184  C   ASN A 156       2.611   5.904 -19.509  1.00  0.00          C   \nATOM   1185  CB  ASN A 156       3.259   7.541 -21.294  1.00  0.00          C   \nATOM   1186  O   ASN A 156       1.841   5.916 -18.546  1.00  0.00          O   \nATOM   1187  CG  ASN A 156       3.393   8.721 -20.351  1.00  0.00          C   \nATOM   1188  ND2 ASN A 156       3.554   9.913 -20.912  1.00  0.00          N   \nATOM   1189  OD1 ASN A 156       3.352   8.561 -19.128  1.00  0.00          O   \nATOM   1190  N   GLU A 157       3.624   5.165 -19.538  1.00  0.00          N   \nATOM   1191  CA  GLU A 157       4.078   4.402 -18.379  1.00  0.00          C   \nATOM   1192  C   GLU A 157       4.196   5.291 -17.145  1.00  0.00          C   \nATOM   1193  CB  GLU A 157       5.421   3.727 -18.672  1.00  0.00          C   \nATOM   1194  O   GLU A 157       4.169   4.799 -16.014  1.00  0.00          O   \nATOM   1195  CG  GLU A 157       5.336   2.611 -19.703  1.00  0.00          C   \nATOM   1196  CD  GLU A 157       6.670   1.925 -19.955  1.00  0.00          C   \nATOM   1197  OE1 GLU A 157       7.660   2.250 -19.261  1.00  0.00          O   \nATOM   1198  OE2 GLU A 157       6.725   1.058 -20.855  1.00  0.00          O   \nATOM   1199  N   ASP A 158       4.203   6.614 -17.357  1.00  0.00          N   \nATOM   1200  CA  ASP A 158       4.344   7.540 -16.237  1.00  0.00          C   \nATOM   1201  C   ASP A 158       2.979   8.001 -15.731  1.00  0.00          C   \nATOM   1202  CB  ASP A 158       5.190   8.748 -16.643  1.00  0.00          C   \nATOM   1203  O   ASP A 158       2.882   8.629 -14.675  1.00  0.00          O   \nATOM   1204  CG  ASP A 158       6.638   8.390 -16.927  1.00  0.00          C   \nATOM   1205  OD1 ASP A 158       7.251   8.999 -17.830  1.00  0.00          O   \nATOM   1206  OD2 ASP A 158       7.169   7.487 -16.244  1.00  0.00          O   \nATOM   1207  N   HIS A 159       2.048   7.688 -16.589  1.00  0.00          N   \nATOM   1208  CA  HIS A 159       0.697   8.104 -16.230  1.00  0.00          C   \nATOM   1209  C   HIS A 159       0.098   7.180 -15.176  1.00  0.00          C   \nATOM   1210  CB  HIS A 159      -0.199   8.139 -17.469  1.00  0.00          C   \nATOM   1211  O   HIS A 159       0.148   5.956 -15.317  1.00  0.00          O   \nATOM   1212  CG  HIS A 159      -1.463   8.914 -17.273  1.00  0.00          C   \nATOM   1213  CD2 HIS A 159      -1.859  10.110 -17.769  1.00  0.00          C   \nATOM   1214  ND1 HIS A 159      -2.495   8.466 -16.477  1.00  0.00          N   \nATOM   1215  CE1 HIS A 159      -3.474   9.356 -16.493  1.00  0.00          C   \nATOM   1216  NE2 HIS A 159      -3.113  10.363 -17.270  1.00  0.00          N   \nATOM   1217  N   PRO A 160      -0.393   7.607 -14.171  1.00  0.00          N   \nATOM   1218  CA  PRO A 160      -0.882   6.789 -13.059  1.00  0.00          C   \nATOM   1219  C   PRO A 160      -2.041   5.880 -13.461  1.00  0.00          C   \nATOM   1220  CB  PRO A 160      -1.334   7.828 -12.030  1.00  0.00          C   \nATOM   1221  O   PRO A 160      -2.326   4.896 -12.773  1.00  0.00          O   \nATOM   1222  CG  PRO A 160      -1.619   9.058 -12.828  1.00  0.00          C   \nATOM   1223  CD  PRO A 160      -0.678   9.096 -13.998  1.00  0.00          C   \nATOM   1224  N   CYS A 161      -2.737   6.193 -14.475  1.00  0.00          N   \nATOM   1225  CA  CYS A 161      -3.885   5.408 -14.913  1.00  0.00          C   \nATOM   1226  C   CYS A 161      -3.470   4.357 -15.936  1.00  0.00          C   \nATOM   1227  CB  CYS A 161      -4.960   6.317 -15.509  1.00  0.00          C   \nATOM   1228  O   CYS A 161      -4.312   3.621 -16.453  1.00  0.00          O   \nATOM   1229  SG  CYS A 161      -5.656   7.493 -14.328  1.00  0.00          S   \nATOM   1230  N   TYR A 162      -2.132   4.465 -16.183  1.00  0.00          N   \nATOM   1231  CA  TYR A 162      -1.573   3.516 -17.140  1.00  0.00          C   \nATOM   1232  C   TYR A 162      -1.452   2.127 -16.525  1.00  0.00          C   \nATOM   1233  CB  TYR A 162      -0.201   3.992 -17.629  1.00  0.00          C   \nATOM   1234  O   TYR A 162      -0.908   1.972 -15.429  1.00  0.00          O   \nATOM   1235  CG  TYR A 162       0.469   3.033 -18.583  1.00  0.00          C   \nATOM   1236  CD1 TYR A 162       1.424   2.124 -18.131  1.00  0.00          C   \nATOM   1237  CD2 TYR A 162       0.151   3.035 -19.936  1.00  0.00          C   \nATOM   1238  CE1 TYR A 162       2.046   1.240 -19.007  1.00  0.00          C   \nATOM   1239  CE2 TYR A 162       0.766   2.155 -20.821  1.00  0.00          C   \nATOM   1240  OH  TYR A 162       2.323   0.390 -21.219  1.00  0.00          O   \nATOM   1241  CZ  TYR A 162       1.710   1.263 -20.348  1.00  0.00          C   \nATOM   1242  N   HIS A 163      -2.235   1.147 -17.118  1.00  0.00          N   \nATOM   1243  CA  HIS A 163      -2.129  -0.243 -16.689  1.00  0.00          C   \nATOM   1244  C   HIS A 163      -1.553  -1.119 -17.797  1.00  0.00          C   \nATOM   1245  CB  HIS A 163      -3.496  -0.776 -16.256  1.00  0.00          C   \nATOM   1246  O   HIS A 163      -1.953  -1.002 -18.957  1.00  0.00          O   \nATOM   1247  CG  HIS A 163      -4.058  -0.081 -15.057  1.00  0.00          C   \nATOM   1248  CD2 HIS A 163      -5.018   0.867 -14.948  1.00  0.00          C   \nATOM   1249  ND1 HIS A 163      -3.625  -0.342 -13.775  1.00  0.00          N   \nATOM   1250  CE1 HIS A 163      -4.297   0.419 -12.926  1.00  0.00          C   \nATOM   1251  NE2 HIS A 163      -5.148   1.162 -13.613  1.00  0.00          N   \nATOM   1252  N   SER A 164      -0.416  -1.652 -17.433  1.00  0.00          N   \nATOM   1253  CA  SER A 164       0.122  -2.646 -18.356  1.00  0.00          C   \nATOM   1254  C   SER A 164      -0.175  -4.063 -17.877  1.00  0.00          C   \nATOM   1255  CB  SER A 164       1.630  -2.462 -18.523  1.00  0.00          C   \nATOM   1256  O   SER A 164      -0.055  -4.360 -16.687  1.00  0.00          O   \nATOM   1257  OG  SER A 164       2.304  -2.686 -17.297  1.00  0.00          O   \nATOM   1258  N   TYR A 165      -0.841  -4.799 -18.656  1.00  0.00          N   \nATOM   1259  CA  TYR A 165      -1.123  -6.182 -18.287  1.00  0.00          C   \nATOM   1260  C   TYR A 165      -0.783  -7.132 -19.429  1.00  0.00          C   \nATOM   1261  CB  TYR A 165      -2.594  -6.345 -17.894  1.00  0.00          C   \nATOM   1262  O   TYR A 165      -0.643  -6.705 -20.578  1.00  0.00          O   \nATOM   1263  CG  TYR A 165      -3.559  -6.039 -19.013  1.00  0.00          C   \nATOM   1264  CD1 TYR A 165      -3.953  -4.730 -19.282  1.00  0.00          C   \nATOM   1265  CD2 TYR A 165      -4.080  -7.058 -19.804  1.00  0.00          C   \nATOM   1266  CE1 TYR A 165      -4.843  -4.444 -20.312  1.00  0.00          C   \nATOM   1267  CE2 TYR A 165      -4.971  -6.783 -20.836  1.00  0.00          C   \nATOM   1268  OH  TYR A 165      -6.228  -5.197 -22.103  1.00  0.00          O   \nATOM   1269  CZ  TYR A 165      -5.346  -5.475 -21.082  1.00  0.00          C   \nATOM   1270  N   GLU A 166      -0.437  -8.271 -19.075  1.00  0.00          N   \nATOM   1271  CA  GLU A 166      -0.092  -9.311 -20.039  1.00  0.00          C   \nATOM   1272  C   GLU A 166      -1.292 -10.203 -20.342  1.00  0.00          C   \nATOM   1273  CB  GLU A 166       1.075 -10.158 -19.523  1.00  0.00          C   \nATOM   1274  O   GLU A 166      -1.951 -10.699 -19.426  1.00  0.00          O   \nATOM   1275  CG  GLU A 166       1.667 -11.091 -20.569  1.00  0.00          C   \nATOM   1276  CD  GLU A 166       2.944 -11.776 -20.108  1.00  0.00          C   \nATOM   1277  OE1 GLU A 166       3.581 -11.289 -19.146  1.00  0.00          O   \nATOM   1278  OE2 GLU A 166       3.310 -12.808 -20.713  1.00  0.00          O   \nATOM   1279  N   GLU A 167      -1.701 -10.268 -21.599  1.00  0.00          N   \nATOM   1280  CA  GLU A 167      -2.770 -11.135 -22.087  1.00  0.00          C   \nATOM   1281  C   GLU A 167      -2.310 -11.956 -23.288  1.00  0.00          C   \nATOM   1282  CB  GLU A 167      -4.006 -10.310 -22.455  1.00  0.00          C   \nATOM   1283  O   GLU A 167      -1.837 -11.400 -24.282  1.00  0.00          O   \nATOM   1284  CG  GLU A 167      -5.232 -11.150 -22.780  1.00  0.00          C   \nATOM   1285  CD  GLU A 167      -6.476 -10.318 -23.048  1.00  0.00          C   \nATOM   1286  OE1 GLU A 167      -6.367  -9.075 -23.139  1.00  0.00          O   \nATOM   1287  OE2 GLU A 167      -7.570 -10.915 -23.165  1.00  0.00          O   \nATOM   1288  N   ASP A 168      -2.308 -13.235 -23.226  1.00  0.00          N   \nATOM   1289  CA  ASP A 168      -1.919 -14.168 -24.278  1.00  0.00          C   \nATOM   1290  C   ASP A 168      -0.472 -13.938 -24.708  1.00  0.00          C   \nATOM   1291  CB  ASP A 168      -2.852 -14.039 -25.483  1.00  0.00          C   \nATOM   1292  O   ASP A 168      -0.162 -13.963 -25.901  1.00  0.00          O   \nATOM   1293  CG  ASP A 168      -4.284 -14.437 -25.170  1.00  0.00          C   \nATOM   1294  OD1 ASP A 168      -5.222 -13.831 -25.730  1.00  0.00          O   \nATOM   1295  OD2 ASP A 168      -4.475 -15.363 -24.352  1.00  0.00          O   \nATOM   1296  N   GLY A 169       0.378 -13.615 -23.661  1.00  0.00          N   \nATOM   1297  CA  GLY A 169       1.802 -13.483 -23.928  1.00  0.00          C   \nATOM   1298  C   GLY A 169       2.181 -12.123 -24.482  1.00  0.00          C   \nATOM   1299  O   GLY A 169       3.340 -11.889 -24.830  1.00  0.00          O   \nATOM   1300  N   VAL A 170       1.173 -11.220 -24.645  1.00  0.00          N   \nATOM   1301  CA  VAL A 170       1.451  -9.891 -25.180  1.00  0.00          C   \nATOM   1302  C   VAL A 170       1.131  -8.832 -24.128  1.00  0.00          C   \nATOM   1303  CB  VAL A 170       0.648  -9.620 -26.472  1.00  0.00          C   \nATOM   1304  O   VAL A 170       0.124  -8.932 -23.423  1.00  0.00          O   \nATOM   1305  CG1 VAL A 170       0.954  -8.226 -27.016  1.00  0.00          C   \nATOM   1306  CG2 VAL A 170       0.952 -10.686 -27.523  1.00  0.00          C   \nATOM   1307  N   THR A 171       2.053  -7.976 -23.977  1.00  0.00          N   \nATOM   1308  CA  THR A 171       1.846  -6.867 -23.053  1.00  0.00          C   \nATOM   1309  C   THR A 171       0.857  -5.859 -23.631  1.00  0.00          C   \nATOM   1310  CB  THR A 171       3.173  -6.158 -22.725  1.00  0.00          C   \nATOM   1311  O   THR A 171       1.042  -5.370 -24.747  1.00  0.00          O   \nATOM   1312  CG2 THR A 171       2.958  -5.020 -21.732  1.00  0.00          C   \nATOM   1313  OG1 THR A 171       4.087  -7.105 -22.158  1.00  0.00          O   \nATOM   1314  N   LYS A 172      -0.220  -5.669 -22.883  1.00  0.00          N   \nATOM   1315  CA  LYS A 172      -1.215  -4.669 -23.260  1.00  0.00          C   \nATOM   1316  C   LYS A 172      -1.232  -3.510 -22.267  1.00  0.00          C   \nATOM   1317  CB  LYS A 172      -2.604  -5.301 -23.351  1.00  0.00          C   \nATOM   1318  O   LYS A 172      -0.846  -3.673 -21.107  1.00  0.00          O   \nATOM   1319  CG  LYS A 172      -2.720  -6.393 -24.405  1.00  0.00          C   \nATOM   1320  CD  LYS A 172      -4.154  -6.886 -24.543  1.00  0.00          C   \nATOM   1321  CE  LYS A 172      -4.280  -7.941 -25.634  1.00  0.00          C   \nATOM   1322  NZ  LYS A 172      -5.700  -8.358 -25.841  1.00  0.00          N   \nATOM   1323  N   SER A 173      -1.325  -2.368 -22.806  1.00  0.00          N   \nATOM   1324  CA  SER A 173      -1.442  -1.178 -21.969  1.00  0.00          C   \nATOM   1325  C   SER A 173      -2.815  -0.530 -22.119  1.00  0.00          C   \nATOM   1326  CB  SER A 173      -0.350  -0.167 -22.320  1.00  0.00          C   \nATOM   1327  O   SER A 173      -3.418  -0.584 -23.193  1.00  0.00          O   \nATOM   1328  OG  SER A 173      -0.430   0.207 -23.684  1.00  0.00          O   \nATOM   1329  N   ASP A 174      -3.338  -0.380 -21.075  1.00  0.00          N   \nATOM   1330  CA  ASP A 174      -4.630   0.300 -21.062  1.00  0.00          C   \nATOM   1331  C   ASP A 174      -4.627   1.467 -20.077  1.00  0.00          C   \nATOM   1332  CB  ASP A 174      -5.749  -0.682 -20.712  1.00  0.00          C   \nATOM   1333  O   ASP A 174      -3.834   1.488 -19.134  1.00  0.00          O   \nATOM   1334  CG  ASP A 174      -7.118  -0.209 -21.168  1.00  0.00          C   \nATOM   1335  OD1 ASP A 174      -8.137  -0.811 -20.767  1.00  0.00          O   \nATOM   1336  OD2 ASP A 174      -7.178   0.774 -21.938  1.00  0.00          O   \nATOM   1337  N   CYS A 175      -5.254   2.474 -20.569  1.00  0.00          N   \nATOM   1338  CA  CYS A 175      -5.511   3.614 -19.696  1.00  0.00          C   \nATOM   1339  C   CYS A 175      -6.886   3.506 -19.049  1.00  0.00          C   \nATOM   1340  CB  CYS A 175      -5.407   4.922 -20.479  1.00  0.00          C   \nATOM   1341  O   CYS A 175      -7.906   3.530 -19.740  1.00  0.00          O   \nATOM   1342  SG  CYS A 175      -5.469   6.399 -19.441  1.00  0.00          S   \nATOM   1343  N   ASP A 176      -6.926   3.117 -17.897  1.00  0.00          N   \nATOM   1344  CA  ASP A 176      -8.216   2.947 -17.236  1.00  0.00          C   \nATOM   1345  C   ASP A 176      -8.579   4.181 -16.413  1.00  0.00          C   \nATOM   1346  CB  ASP A 176      -8.202   1.705 -16.343  1.00  0.00          C   \nATOM   1347  O   ASP A 176      -8.390   4.199 -15.195  1.00  0.00          O   \nATOM   1348  CG  ASP A 176      -9.574   1.352 -15.795  1.00  0.00          C   \nATOM   1349  OD1 ASP A 176      -9.681   0.413 -14.978  1.00  0.00          O   \nATOM   1350  OD2 ASP A 176     -10.557   2.018 -16.187  1.00  0.00          O   \nATOM   1351  N   CYS A 177      -8.999   5.207 -17.129  1.00  0.00          N   \nATOM   1352  CA  CYS A 177      -9.425   6.426 -16.450  1.00  0.00          C   \nATOM   1353  C   CYS A 177     -10.930   6.422 -16.214  1.00  0.00          C   \nATOM   1354  CB  CYS A 177      -9.030   7.658 -17.264  1.00  0.00          C   \nATOM   1355  O   CYS A 177     -11.489   7.406 -15.726  1.00  0.00          O   \nATOM   1356  SG  CYS A 177      -7.251   7.814 -17.535  1.00  0.00          S   \nATOM   1357  N   GLU A 178     -11.529   5.450 -16.815  1.00  0.00          N   \nATOM   1358  CA  GLU A 178     -12.986   5.385 -16.754  1.00  0.00          C   \nATOM   1359  C   GLU A 178     -13.473   5.263 -15.313  1.00  0.00          C   \nATOM   1360  CB  GLU A 178     -13.508   4.211 -17.586  1.00  0.00          C   \nATOM   1361  O   GLU A 178     -14.584   5.686 -14.990  1.00  0.00          O   \nATOM   1362  CG  GLU A 178     -13.379   4.417 -19.089  1.00  0.00          C   \nATOM   1363  CD  GLU A 178     -13.985   3.285 -19.903  1.00  0.00          C   \nATOM   1364  OE1 GLU A 178     -14.377   2.254 -19.312  1.00  0.00          O   \nATOM   1365  OE2 GLU A 178     -14.069   3.431 -21.143  1.00  0.00          O   \nATOM   1366  N   HIS A 179     -12.602   4.539 -14.596  1.00  0.00          N   \nATOM   1367  CA  HIS A 179     -13.083   4.370 -13.230  1.00  0.00          C   \nATOM   1368  C   HIS A 179     -12.913   5.654 -12.423  1.00  0.00          C   \nATOM   1369  CB  HIS A 179     -12.350   3.217 -12.542  1.00  0.00          C   \nATOM   1370  O   HIS A 179     -13.259   5.699 -11.241  1.00  0.00          O   \nATOM   1371  CG  HIS A 179     -12.672   1.874 -13.117  1.00  0.00          C   \nATOM   1372  CD2 HIS A 179     -11.913   1.007 -13.828  1.00  0.00          C   \nATOM   1373  ND1 HIS A 179     -13.911   1.286 -12.986  1.00  0.00          N   \nATOM   1374  CE1 HIS A 179     -13.900   0.111 -13.593  1.00  0.00          C   \nATOM   1375  NE2 HIS A 179     -12.700  -0.082 -14.113  1.00  0.00          N   \nATOM   1376  N   SER A 180     -12.761   6.762 -13.153  1.00  0.00          N   \nATOM   1377  CA  SER A 180     -12.625   8.074 -12.529  1.00  0.00          C   \nATOM   1378  C   SER A 180     -13.967   8.797 -12.465  1.00  0.00          C   \nATOM   1379  CB  SER A 180     -11.612   8.928 -13.291  1.00  0.00          C   \nATOM   1380  O   SER A 180     -14.740   8.767 -13.424  1.00  0.00          O   \nATOM   1381  OG  SER A 180     -12.114   9.284 -14.568  1.00  0.00          O   \nATOM   1382  N   PRO A 181     -14.719   8.802 -11.393  1.00  0.00          N   \nATOM   1383  CA  PRO A 181     -15.790   9.799 -11.316  1.00  0.00          C   \nATOM   1384  C   PRO A 181     -15.334  11.190 -11.748  1.00  0.00          C   \nATOM   1385  CB  PRO A 181     -16.178   9.786  -9.836  1.00  0.00          C   \nATOM   1386  O   PRO A 181     -14.337  11.704 -11.233  1.00  0.00          O   \nATOM   1387  CG  PRO A 181     -14.965   9.275  -9.127  1.00  0.00          C   \nATOM   1388  CD  PRO A 181     -14.184   8.416 -10.079  1.00  0.00          C   \nATOM   1389  N   GLY A 182     -15.240  11.453 -13.029  1.00  0.00          N   \nATOM   1390  CA  GLY A 182     -15.037  12.822 -13.476  1.00  0.00          C   \nATOM   1391  C   GLY A 182     -15.937  13.820 -12.770  1.00  0.00          C   \nATOM   1392  O   GLY A 182     -16.871  13.431 -12.066  1.00  0.00          O   \nATOM   1393  N   PRO A 183     -15.396  14.822 -12.165  1.00  0.00          N   \nATOM   1394  CA  PRO A 183     -16.219  15.888 -11.589  1.00  0.00          C   \nATOM   1395  C   PRO A 183     -17.636  15.913 -12.158  1.00  0.00          C   \nATOM   1396  CB  PRO A 183     -15.458  17.162 -11.964  1.00  0.00          C   \nATOM   1397  O   PRO A 183     -17.838  15.604 -13.335  1.00  0.00          O   \nATOM   1398  CG  PRO A 183     -14.695  16.803 -13.198  1.00  0.00          C   \nATOM   1399  CD  PRO A 183     -14.401  15.330 -13.164  1.00  0.00          C   \nATOM   1400  N   SER A 184     -18.521  15.085 -11.531  1.00  0.00          N   \nATOM   1401  CA  SER A 184     -19.918  15.360 -11.852  1.00  0.00          C   \nATOM   1402  C   SER A 184     -20.093  16.779 -12.385  1.00  0.00          C   \nATOM   1403  CB  SER A 184     -20.801  15.157 -10.620  1.00  0.00          C   \nATOM   1404  O   SER A 184     -19.543  17.730 -11.826  1.00  0.00          O   \nATOM   1405  OG  SER A 184     -20.375  15.985  -9.553  1.00  0.00          O   \nATOM   1406  N   GLU A 185     -19.658  16.958 -13.662  1.00  0.00          N   \nATOM   1407  CA  GLU A 185     -20.167  18.200 -14.237  1.00  0.00          C   \nATOM   1408  C   GLU A 185     -21.492  18.603 -13.597  1.00  0.00          C   \nATOM   1409  CB  GLU A 185     -20.336  18.061 -15.752  1.00  0.00          C   \nATOM   1410  O   GLU A 185     -22.450  17.827 -13.598  1.00  0.00          O   \nATOM   1411  CG  GLU A 185     -19.029  17.836 -16.499  1.00  0.00          C   \nATOM   1412  CD  GLU A 185     -18.110  19.046 -16.478  1.00  0.00          C   \nATOM   1413  OE1 GLU A 185     -18.546  20.132 -16.032  1.00  0.00          O   \nATOM   1414  OE2 GLU A 185     -16.944  18.908 -16.911  1.00  0.00          O   \nATOM   1415  N   HIS A 186     -21.419  18.961 -12.324  1.00  0.00          N   \nATOM   1416  CA  HIS A 186     -22.672  19.612 -11.958  1.00  0.00          C   \nATOM   1417  C   HIS A 186     -23.102  20.617 -13.022  1.00  0.00          C   \nATOM   1418  CB  HIS A 186     -22.539  20.307 -10.602  1.00  0.00          C   \nATOM   1419  O   HIS A 186     -22.311  21.471 -13.430  1.00  0.00          O   \nATOM   1420  CG  HIS A 186     -22.402  19.359  -9.453  1.00  0.00          C   \nATOM   1421  CD2 HIS A 186     -21.354  19.097  -8.637  1.00  0.00          C   \nATOM   1422  ND1 HIS A 186     -23.431  18.543  -9.034  1.00  0.00          N   \nATOM   1423  CE1 HIS A 186     -23.020  17.819  -8.007  1.00  0.00          C   \nATOM   1424  NE2 HIS A 186     -21.763  18.136  -7.746  1.00  0.00          N   \nATOM   1425  N   HIS A 187     -23.592  20.072 -14.139  1.00  0.00          N   \nATOM   1426  CA  HIS A 187     -24.308  20.983 -15.025  1.00  0.00          C   \nATOM   1427  C   HIS A 187     -24.996  22.092 -14.235  1.00  0.00          C   \nATOM   1428  CB  HIS A 187     -25.335  20.219 -15.862  1.00  0.00          C   \nATOM   1429  O   HIS A 187     -25.860  21.819 -13.399  1.00  0.00          O   \nATOM   1430  CG  HIS A 187     -24.723  19.267 -16.840  1.00  0.00          C   \nATOM   1431  CD2 HIS A 187     -24.703  17.913 -16.868  1.00  0.00          C   \nATOM   1432  ND1 HIS A 187     -24.026  19.687 -17.952  1.00  0.00          N   \nATOM   1433  CE1 HIS A 187     -23.603  18.630 -18.624  1.00  0.00          C   \nATOM   1434  NE2 HIS A 187     -24.000  17.541 -17.988  1.00  0.00          N   \nATOM   1435  N   HIS A 188     -24.187  22.915 -13.610  1.00  0.00          N   \nATOM   1436  CA  HIS A 188     -24.905  24.094 -13.140  1.00  0.00          C   \nATOM   1437  C   HIS A 188     -25.814  24.656 -14.228  1.00  0.00          C   \nATOM   1438  CB  HIS A 188     -23.923  25.168 -12.669  1.00  0.00          C   \nATOM   1439  O   HIS A 188     -25.380  24.849 -15.366  1.00  0.00          O   \nATOM   1440  CG  HIS A 188     -23.207  24.814 -11.404  1.00  0.00          C   \nATOM   1441  CD2 HIS A 188     -21.913  24.489 -11.176  1.00  0.00          C   \nATOM   1442  ND1 HIS A 188     -23.839  24.765 -10.181  1.00  0.00          N   \nATOM   1443  CE1 HIS A 188     -22.961  24.425  -9.252  1.00  0.00          C   \nATOM   1444  NE2 HIS A 188     -21.785  24.251  -9.830  1.00  0.00          N   \nATOM   1445  N   HIS A 189     -26.993  24.045 -14.412  1.00  0.00          N   \nATOM   1446  CA  HIS A 189     -28.031  24.708 -15.193  1.00  0.00          C   \nATOM   1447  C   HIS A 189     -28.031  26.213 -14.944  1.00  0.00          C   \nATOM   1448  CB  HIS A 189     -29.406  24.122 -14.865  1.00  0.00          C   \nATOM   1449  O   HIS A 189     -27.980  26.656 -13.795  1.00  0.00          O   \nATOM   1450  CG  HIS A 189     -29.586  22.714 -15.335  1.00  0.00          C   \nATOM   1451  CD2 HIS A 189     -29.619  21.546 -14.652  1.00  0.00          C   \nATOM   1452  ND1 HIS A 189     -29.755  22.390 -16.664  1.00  0.00          N   \nATOM   1453  CE1 HIS A 189     -29.887  21.079 -16.778  1.00  0.00          C   \nATOM   1454  NE2 HIS A 189     -29.808  20.543 -15.572  1.00  0.00          N   \nATOM   1455  N   HIS A 190     -27.150  26.911 -15.639  1.00  0.00          N   \nATOM   1456  CA  HIS A 190     -27.271  28.363 -15.688  1.00  0.00          C   \nATOM   1457  C   HIS A 190     -28.733  28.796 -15.667  1.00  0.00          C   \nATOM   1458  CB  HIS A 190     -26.577  28.917 -16.934  1.00  0.00          C   \nATOM   1459  O   HIS A 190     -29.546  28.288 -16.443  1.00  0.00          O   \nATOM   1460  CG  HIS A 190     -25.087  28.794 -16.896  1.00  0.00          C   \nATOM   1461  CD2 HIS A 190     -24.243  27.997 -17.592  1.00  0.00          C   \nATOM   1462  ND1 HIS A 190     -24.299  29.553 -16.058  1.00  0.00          N   \nATOM   1463  CE1 HIS A 190     -23.030  29.227 -16.242  1.00  0.00          C   \nATOM   1464  NE2 HIS A 190     -22.969  28.285 -17.168  1.00  0.00          N   \nATOM   1465  N   HIS A 191     -29.301  28.820 -14.496  1.00  0.00          N   \nATOM   1466  CA  HIS A 191     -30.497  29.651 -14.423  1.00  0.00          C   \nATOM   1467  C   HIS A 191     -30.240  31.039 -15.001  1.00  0.00          C   \nATOM   1468  CB  HIS A 191     -30.981  29.766 -12.976  1.00  0.00          C   \nATOM   1469  O   HIS A 191     -29.144  31.584 -14.855  1.00  0.00          O   \nATOM   1470  CG  HIS A 191     -31.644  28.528 -12.465  1.00  0.00          C   \nATOM   1471  CD2 HIS A 191     -31.230  27.603 -11.566  1.00  0.00          C   \nATOM   1472  ND1 HIS A 191     -32.892  28.123 -12.888  1.00  0.00          N   \nATOM   1473  CE1 HIS A 191     -33.217  27.000 -12.270  1.00  0.00          C   \nATOM   1474  NE2 HIS A 191     -32.226  26.664 -11.462  1.00  0.00          N   \nTER    1475      HIS A 191\nENDMDL\nEND\n"
  },
  {
    "path": "alphafold/relax/testdata/with_violations.pdb",
    "content": "MODEL        0\nATOM      1  N   SER A   1      23.291   1.505   0.613  1.00  6.08          N   \nATOM      2  CA  SER A   1      22.518   0.883  -0.457  1.00  6.08          C   \nATOM      3  C   SER A   1      21.020   1.015  -0.206  1.00  6.08          C   \nATOM      4  CB  SER A   1      22.891  -0.593  -0.601  1.00  6.08          C   \nATOM      5  O   SER A   1      20.593   1.246   0.928  1.00  6.08          O   \nATOM      6  OG  SER A   1      22.364  -1.352   0.474  1.00  6.08          O   \nATOM      7  N   PHE A   2      20.180   1.317  -1.280  1.00  6.08          N   \nATOM      8  CA  PHE A   2      18.725   1.321  -1.187  1.00  6.08          C   \nATOM      9  C   PHE A   2      18.244   0.288  -0.175  1.00  6.08          C   \nATOM     10  CB  PHE A   2      18.097   1.046  -2.557  1.00  6.08          C   \nATOM     11  O   PHE A   2      17.437   0.600   0.703  1.00  6.08          O   \nATOM     12  CG  PHE A   2      16.601   0.880  -2.517  1.00  6.08          C   \nATOM     13  CD1 PHE A   2      15.765   1.989  -2.519  1.00  6.08          C   \nATOM     14  CD2 PHE A   2      16.033  -0.386  -2.478  1.00  6.08          C   \nATOM     15  CE1 PHE A   2      14.380   1.838  -2.482  1.00  6.08          C   \nATOM     16  CE2 PHE A   2      14.650  -0.545  -2.441  1.00  6.08          C   \nATOM     17  CZ  PHE A   2      13.826   0.569  -2.442  1.00  6.08          C   \nATOM     18  N   GLU A   3      18.695  -0.904  -0.178  1.00  6.08          N   \nATOM     19  CA  GLU A   3      18.305  -2.028   0.668  1.00  6.08          C   \nATOM     20  C   GLU A   3      18.535  -1.714   2.144  1.00  6.08          C   \nATOM     21  CB  GLU A   3      19.073  -3.291   0.273  1.00  6.08          C   \nATOM     22  O   GLU A   3      17.664  -1.961   2.980  1.00  6.08          O   \nATOM     23  CG  GLU A   3      18.413  -4.088  -0.843  1.00  6.08          C   \nATOM     24  CD  GLU A   3      19.408  -4.840  -1.713  1.00  6.08          C   \nATOM     25  OE1 GLU A   3      18.977  -5.585  -2.622  1.00  6.08          O   \nATOM     26  OE2 GLU A   3      20.628  -4.683  -1.482  1.00  6.08          O   \nATOM     27  N   GLU A   4      19.823  -1.305   2.459  1.00  6.08          N   \nATOM     28  CA  GLU A   4      20.190  -1.047   3.848  1.00  6.08          C   \nATOM     29  C   GLU A   4      19.315   0.044   4.456  1.00  6.08          C   \nATOM     30  CB  GLU A   4      21.666  -0.656   3.950  1.00  6.08          C   \nATOM     31  O   GLU A   4      18.868  -0.076   5.599  1.00  6.08          O   \nATOM     32  CG  GLU A   4      22.621  -1.841   3.913  1.00  6.08          C   \nATOM     33  CD  GLU A   4      24.085  -1.434   3.973  1.00  6.08          C   \nATOM     34  OE1 GLU A   4      24.957  -2.324   4.094  1.00  6.08          O   \nATOM     35  OE2 GLU A   4      24.361  -0.216   3.899  1.00  6.08          O   \nATOM     36  N   GLN A   5      19.061   1.102   3.590  1.00  6.08          N   \nATOM     37  CA  GLN A   5      18.207   2.189   4.056  1.00  6.08          C   \nATOM     38  C   GLN A   5      16.771   1.714   4.255  1.00  6.08          C   \nATOM     39  CB  GLN A   5      18.241   3.359   3.071  1.00  6.08          C   \nATOM     40  O   GLN A   5      16.113   2.097   5.225  1.00  6.08          O   \nATOM     41  CG  GLN A   5      19.395   4.326   3.304  1.00  6.08          C   \nATOM     42  CD  GLN A   5      19.384   5.496   2.338  1.00  6.08          C   \nATOM     43  NE2 GLN A   5      20.565   6.022   2.031  1.00  6.08          N   \nATOM     44  OE1 GLN A   5      18.323   5.922   1.871  1.00  6.08          O   \nATOM     45  N   PHE A   6      16.354   0.831   3.208  1.00  5.36          N   \nATOM     46  CA  PHE A   6      15.014   0.260   3.283  1.00  5.36          C   \nATOM     47  C   PHE A   6      14.844  -0.555   4.559  1.00  5.36          C   \nATOM     48  CB  PHE A   6      14.732  -0.616   2.059  1.00  5.36          C   \nATOM     49  O   PHE A   6      13.859  -0.388   5.282  1.00  5.36          O   \nATOM     50  CG  PHE A   6      13.331  -1.164   2.014  1.00  5.36          C   \nATOM     51  CD1 PHE A   6      12.278  -0.379   1.561  1.00  5.36          C   \nATOM     52  CD2 PHE A   6      13.068  -2.464   2.424  1.00  5.36          C   \nATOM     53  CE1 PHE A   6      10.980  -0.884   1.518  1.00  5.36          C   \nATOM     54  CE2 PHE A   6      11.774  -2.975   2.384  1.00  5.36          C   \nATOM     55  CZ  PHE A   6      10.731  -2.183   1.932  1.00  5.36          C   \nATOM     56  N   ILE A   7      15.772  -1.382   4.937  1.00  6.08          N   \nATOM     57  CA  ILE A   7      15.726  -2.220   6.131  1.00  6.08          C   \nATOM     58  C   ILE A   7      15.811  -1.345   7.379  1.00  6.08          C   \nATOM     59  CB  ILE A   7      16.864  -3.266   6.130  1.00  6.08          C   \nATOM     60  O   ILE A   7      15.052  -1.538   8.332  1.00  6.08          O   \nATOM     61  CG1 ILE A   7      16.652  -4.286   5.006  1.00  6.08          C   \nATOM     62  CG2 ILE A   7      16.957  -3.962   7.491  1.00  6.08          C   \nATOM     63  CD1 ILE A   7      17.837  -5.214   4.781  1.00  6.08          C   \nATOM     64  N   LYS A   8      16.750  -0.406   7.403  1.00  6.08          N   \nATOM     65  CA  LYS A   8      16.953   0.493   8.535  1.00  6.08          C   \nATOM     66  C   LYS A   8      15.689   1.294   8.836  1.00  6.08          C   \nATOM     67  CB  LYS A   8      18.122   1.442   8.265  1.00  6.08          C   \nATOM     68  O   LYS A   8      15.304   1.443   9.997  1.00  6.08          O   \nATOM     69  CG  LYS A   8      18.564   2.242   9.481  1.00  6.08          C   \nATOM     70  CD  LYS A   8      19.735   3.159   9.151  1.00  6.08          C   \nATOM     71  CE  LYS A   8      20.102   4.046  10.333  1.00  6.08          C   \nATOM     72  NZ  LYS A   8      21.192   5.007   9.987  1.00  6.08          N   \nATOM     73  N   ASN A   9      14.988   1.804   7.750  1.00  6.08          N   \nATOM     74  CA  ASN A   9      13.799   2.629   7.937  1.00  6.08          C   \nATOM     75  C   ASN A   9      12.593   1.788   8.349  1.00  6.08          C   \nATOM     76  CB  ASN A   9      13.486   3.416   6.663  1.00  6.08          C   \nATOM     77  O   ASN A   9      11.581   2.327   8.801  1.00  6.08          O   \nATOM     78  CG  ASN A   9      14.404   4.608   6.473  1.00  6.08          C   \nATOM     79  ND2 ASN A   9      14.484   5.105   5.244  1.00  6.08          N   \nATOM     80  OD1 ASN A   9      15.036   5.078   7.423  1.00  6.08          O   \nATOM     81  N   ASN A  10      12.800   0.438   8.337  1.00  6.08          N   \nATOM     82  CA  ASN A  10      11.572  -0.311   8.581  1.00  6.08          C   \nATOM     83  C   ASN A  10      11.753  -1.335   9.699  1.00  6.08          C   \nATOM     84  CB  ASN A  10      11.100  -1.002   7.300  1.00  6.08          C   \nATOM     85  O   ASN A  10      10.808  -2.039  10.060  1.00  6.08          O   \nATOM     86  CG  ASN A  10      10.549  -0.025   6.280  1.00  6.08          C   \nATOM     87  ND2 ASN A  10      11.285   0.176   5.193  1.00  6.08          N   \nATOM     88  OD1 ASN A  10       9.471   0.545   6.467  1.00  6.08          O   \nATOM     89  N   SER A  11      12.959  -1.512  10.211  1.00  6.08          N   \nATOM     90  CA  SER A  11      13.197  -2.465  11.291  1.00  6.08          C   \nATOM     91  C   SER A  11      12.666  -1.938  12.620  1.00  6.08          C   \nATOM     92  CB  SER A  11      14.690  -2.772  11.415  1.00  6.08          C   \nATOM     93  O   SER A  11      12.451  -2.709  13.557  1.00  6.08          O   \nATOM     94  OG  SER A  11      15.435  -1.581  11.601  1.00  6.08          O   \nATOM     95  N   ASP A  12      12.220  -0.675  12.710  1.00  6.08          N   \nATOM     96  CA  ASP A  12      11.747  -0.267  14.029  1.00  6.08          C   \nATOM     97  C   ASP A  12      10.304  -0.711  14.256  1.00  6.08          C   \nATOM     98  CB  ASP A  12      11.864   1.249  14.196  1.00  6.08          C   \nATOM     99  O   ASP A  12       9.847  -0.792  15.398  1.00  6.08          O   \nATOM    100  CG  ASP A  12      13.206   1.682  14.760  1.00  6.08          C   \nATOM    101  OD1 ASP A  12      13.586   2.861  14.592  1.00  6.08          O   \nATOM    102  OD2 ASP A  12      13.890   0.837  15.376  1.00  6.08          O   \nATOM    103  N   SER A  13       9.678  -1.277  13.274  1.00  6.08          N   \nATOM    104  CA  SER A  13       8.274  -1.520  13.587  1.00  6.08          C   \nATOM    105  C   SER A  13       8.041  -2.973  13.988  1.00  6.08          C   \nATOM    106  CB  SER A  13       7.389  -1.164  12.393  1.00  6.08          C   \nATOM    107  O   SER A  13       8.569  -3.889  13.355  1.00  6.08          O   \nATOM    108  OG  SER A  13       7.871  -1.776  11.209  1.00  6.08          O   \nATOM    109  N   ASN A  14       8.368  -3.385  15.178  1.00  6.08          N   \nATOM    110  CA  ASN A  14       7.591  -4.466  15.775  1.00  6.08          C   \nATOM    111  C   ASN A  14       6.843  -5.271  14.716  1.00  6.08          C   \nATOM    112  CB  ASN A  14       6.610  -3.912  16.812  1.00  6.08          C   \nATOM    113  O   ASN A  14       6.016  -6.122  15.047  1.00  6.08          O   \nATOM    114  CG  ASN A  14       7.250  -3.709  18.171  1.00  6.08          C   \nATOM    115  ND2 ASN A  14       6.608  -2.910  19.015  1.00  6.08          N   \nATOM    116  OD1 ASN A  14       8.313  -4.265  18.460  1.00  6.08          O   \nATOM    117  N   ILE A  15       7.204  -5.229  13.474  1.00  6.08          N   \nATOM    118  CA  ILE A  15       6.430  -5.995  12.502  1.00  6.08          C   \nATOM    119  C   ILE A  15       7.095  -7.349  12.265  1.00  6.08          C   \nATOM    120  CB  ILE A  15       6.282  -5.229  11.168  1.00  6.08          C   \nATOM    121  O   ILE A  15       8.306  -7.422  12.045  1.00  6.08          O   \nATOM    122  CG1 ILE A  15       5.583  -3.885  11.398  1.00  6.08          C   \nATOM    123  CG2 ILE A  15       5.520  -6.074  10.143  1.00  6.08          C   \nATOM    124  CD1 ILE A  15       5.473  -3.022  10.149  1.00  6.08          C   \nATOM    125  N   LEU A  16       6.669  -8.397  13.068  1.00  6.08          N   \nATOM    126  CA  LEU A  16       6.808  -9.846  12.972  1.00  6.08          C   \nATOM    127  C   LEU A  16       6.967 -10.281  11.519  1.00  6.08          C   \nATOM    128  CB  LEU A  16       5.597 -10.544  13.596  1.00  6.08          C   \nATOM    129  O   LEU A  16       6.238  -9.812  10.643  1.00  6.08          O   \nATOM    130  CG  LEU A  16       5.559 -10.598  15.125  1.00  6.08          C   \nATOM    131  CD1 LEU A  16       4.134 -10.839  15.611  1.00  6.08          C   \nATOM    132  CD2 LEU A  16       6.498 -11.682  15.644  1.00  6.08          C   \nATOM    133  N   ALA A  17       8.248 -10.386  11.036  1.00  6.08          N   \nATOM    134  CA  ALA A  17       8.700 -10.996   9.788  1.00  6.08          C   \nATOM    135  C   ALA A  17       7.863 -12.224   9.444  1.00  6.08          C   \nATOM    136  CB  ALA A  17      10.177 -11.372   9.884  1.00  6.08          C   \nATOM    137  O   ALA A  17       7.473 -12.986  10.332  1.00  6.08          O   \nATOM    138  N   PRO A  18       7.023 -12.218   8.206  1.00  6.08          N   \nATOM    139  CA  PRO A  18       6.298 -13.437   7.841  1.00  6.08          C   \nATOM    140  C   PRO A  18       7.204 -14.499   7.222  1.00  6.08          C   \nATOM    141  CB  PRO A  18       5.264 -12.942   6.826  1.00  6.08          C   \nATOM    142  O   PRO A  18       8.307 -14.186   6.767  1.00  6.08          O   \nATOM    143  CG  PRO A  18       5.663 -11.532   6.531  1.00  6.08          C   \nATOM    144  CD  PRO A  18       6.762 -11.140   7.476  1.00  6.08          C   \nATOM    145  N   LYS A  19       6.910 -15.813   7.261  1.00  6.08          N   \nATOM    146  CA  LYS A  19       7.401 -17.032   6.627  1.00  6.08          C   \nATOM    147  C   LYS A  19       6.700 -17.279   5.294  1.00  6.08          C   \nATOM    148  CB  LYS A  19       7.206 -18.235   7.552  1.00  6.08          C   \nATOM    149  O   LYS A  19       5.494 -17.054   5.170  1.00  6.08          O   \nATOM    150  CG  LYS A  19       8.289 -18.383   8.610  1.00  6.08          C   \nATOM    151  CD  LYS A  19       8.149 -19.695   9.372  1.00  6.08          C   \nATOM    152  CE  LYS A  19       9.213 -19.830  10.454  1.00  6.08          C   \nATOM    153  NZ  LYS A  19       9.104 -21.132  11.178  1.00  6.08          N   \nATOM    154  N   VAL A  20       7.272 -17.218   4.055  1.00  6.08          N   \nATOM    155  CA  VAL A  20       6.741 -17.404   2.708  1.00  6.08          C   \nATOM    156  C   VAL A  20       7.061 -18.814   2.217  1.00  6.08          C   \nATOM    157  CB  VAL A  20       7.307 -16.355   1.725  1.00  6.08          C   \nATOM    158  O   VAL A  20       8.148 -19.336   2.476  1.00  6.08          O   \nATOM    159  CG1 VAL A  20       6.686 -16.524   0.339  1.00  6.08          C   \nATOM    160  CG2 VAL A  20       7.064 -14.943   2.254  1.00  6.08          C   \nATOM    161  N   SER A  21       6.082 -19.480   1.504  1.00  6.08          N   \nATOM    162  CA  SER A  21       6.281 -20.787   0.888  1.00  6.08          C   \nATOM    163  C   SER A  21       7.315 -20.720  -0.230  1.00  6.08          C   \nATOM    164  CB  SER A  21       4.960 -21.329   0.340  1.00  6.08          C   \nATOM    165  O   SER A  21       7.458 -19.688  -0.889  1.00  6.08          O   \nATOM    166  OG  SER A  21       4.811 -20.999  -1.030  1.00  6.08          O   \nATOM    167  N   GLN A  22       8.094 -21.778  -0.457  1.00  6.08          N   \nATOM    168  CA  GLN A  22       9.146 -22.023  -1.437  1.00  6.08          C   \nATOM    169  C   GLN A  22       8.608 -21.912  -2.861  1.00  6.08          C   \nATOM    170  CB  GLN A  22       9.774 -23.400  -1.218  1.00  6.08          C   \nATOM    171  O   GLN A  22       9.307 -21.436  -3.758  1.00  6.08          O   \nATOM    172  CG  GLN A  22      11.028 -23.375  -0.356  1.00  6.08          C   \nATOM    173  CD  GLN A  22      11.900 -24.601  -0.550  1.00  6.08          C   \nATOM    174  NE2 GLN A  22      13.017 -24.654   0.167  1.00  6.08          N   \nATOM    175  OE1 GLN A  22      11.570 -25.495  -1.337  1.00  6.08          O   \nATOM    176  N   SER A  23       7.326 -22.350  -3.087  1.00  6.08          N   \nATOM    177  CA  SER A  23       6.818 -22.344  -4.455  1.00  6.08          C   \nATOM    178  C   SER A  23       6.627 -20.921  -4.968  1.00  6.08          C   \nATOM    179  CB  SER A  23       5.494 -23.106  -4.539  1.00  6.08          C   \nATOM    180  O   SER A  23       6.916 -20.631  -6.131  1.00  6.08          O   \nATOM    181  OG  SER A  23       4.496 -22.467  -3.762  1.00  6.08          O   \nATOM    182  N   VAL A  24       6.156 -19.987  -4.125  1.00  6.08          N   \nATOM    183  CA  VAL A  24       5.987 -18.582  -4.483  1.00  6.08          C   \nATOM    184  C   VAL A  24       7.353 -17.938  -4.708  1.00  6.08          C   \nATOM    185  CB  VAL A  24       5.206 -17.809  -3.397  1.00  6.08          C   \nATOM    186  O   VAL A  24       7.534 -17.165  -5.652  1.00  6.08          O   \nATOM    187  CG1 VAL A  24       5.211 -16.310  -3.691  1.00  6.08          C   \nATOM    188  CG2 VAL A  24       3.775 -18.332  -3.296  1.00  6.08          C   \nATOM    189  N   ILE A  25       8.365 -18.356  -3.827  1.00  6.08          N   \nATOM    190  CA  ILE A  25       9.724 -17.836  -3.937  1.00  6.08          C   \nATOM    191  C   ILE A  25      10.325 -18.244  -5.280  1.00  6.08          C   \nATOM    192  CB  ILE A  25      10.616 -18.332  -2.777  1.00  6.08          C   \nATOM    193  O   ILE A  25      11.011 -17.450  -5.928  1.00  6.08          O   \nATOM    194  CG1 ILE A  25      10.127 -17.755  -1.444  1.00  6.08          C   \nATOM    195  CG2 ILE A  25      12.081 -17.966  -3.028  1.00  6.08          C   \nATOM    196  CD1 ILE A  25      10.848 -18.316  -0.226  1.00  6.08          C   \nATOM    197  N   LYS A  26       9.942 -19.394  -5.728  1.00  6.08          N   \nATOM    198  CA  LYS A  26      10.533 -19.885  -6.969  1.00  6.08          C   \nATOM    199  C   LYS A  26       9.961 -19.150  -8.178  1.00  6.08          C   \nATOM    200  CB  LYS A  26      10.303 -21.391  -7.115  1.00  6.08          C   \nATOM    201  O   LYS A  26      10.615 -19.055  -9.219  1.00  6.08          O   \nATOM    202  CG  LYS A  26      11.247 -22.244  -6.281  1.00  6.08          C   \nATOM    203  CD  LYS A  26      11.022 -23.730  -6.527  1.00  6.08          C   \nATOM    204  CE  LYS A  26      11.909 -24.587  -5.634  1.00  6.08          C   \nATOM    205  NZ  LYS A  26      11.672 -26.045  -5.852  1.00  6.08          N   \nATOM    206  N   SER A  27       8.716 -18.585  -8.016  1.00  6.08          N   \nATOM    207  CA  SER A  27       8.115 -17.884  -9.146  1.00  6.08          C   \nATOM    208  C   SER A  27       8.597 -16.439  -9.220  1.00  6.08          C   \nATOM    209  CB  SER A  27       6.589 -17.917  -9.047  1.00  6.08          C   \nATOM    210  O   SER A  27       8.389 -15.761 -10.229  1.00  6.08          O   \nATOM    211  OG  SER A  27       6.145 -17.239  -7.885  1.00  6.08          O   \nATOM    212  N   ILE A  28       9.326 -16.021  -8.127  1.00  6.08          N   \nATOM    213  CA  ILE A  28       9.655 -14.600  -8.095  1.00  6.08          C   \nATOM    214  C   ILE A  28      11.013 -14.370  -8.753  1.00  6.08          C   \nATOM    215  CB  ILE A  28       9.660 -14.055  -6.649  1.00  6.08          C   \nATOM    216  O   ILE A  28      12.005 -15.000  -8.381  1.00  6.08          O   \nATOM    217  CG1 ILE A  28       8.282 -14.238  -6.004  1.00  6.08          C   \nATOM    218  CG2 ILE A  28      10.082 -12.583  -6.629  1.00  6.08          C   \nATOM    219  CD1 ILE A  28       8.241 -13.892  -4.522  1.00  6.08          C   \nATOM    220  N   LYS A  29      11.102 -13.748  -9.982  1.00  6.08          N   \nATOM    221  CA  LYS A  29      12.253 -13.354 -10.790  1.00  6.08          C   \nATOM    222  C   LYS A  29      12.954 -12.137 -10.192  1.00  6.08          C   \nATOM    223  CB  LYS A  29      11.825 -13.058 -12.228  1.00  6.08          C   \nATOM    224  O   LYS A  29      12.302 -11.156  -9.829  1.00  6.08          O   \nATOM    225  CG  LYS A  29      11.657 -14.299 -13.092  1.00  6.08          C   \nATOM    226  CD  LYS A  29      11.456 -13.937 -14.557  1.00  6.08          C   \nATOM    227  CE  LYS A  29      11.272 -15.178 -15.421  1.00  6.08          C   \nATOM    228  NZ  LYS A  29      11.145 -14.832 -16.868  1.00  6.08          N   \nATOM    229  N   GLY A  30      13.888 -12.322  -9.217  1.00  6.08          N   \nATOM    230  CA  GLY A  30      14.719 -11.185  -8.854  1.00  6.08          C   \nATOM    231  C   GLY A  30      14.960 -11.074  -7.361  1.00  6.08          C   \nATOM    232  O   GLY A  30      14.940  -9.975  -6.804  1.00  6.08          O   \nATOM    233  N   ILE A  31      15.279 -12.138  -6.638  1.00  6.08          N   \nATOM    234  CA  ILE A  31      15.591 -12.164  -5.214  1.00  6.08          C   \nATOM    235  C   ILE A  31      16.885 -11.396  -4.954  1.00  6.08          C   \nATOM    236  CB  ILE A  31      15.713 -13.612  -4.689  1.00  6.08          C   \nATOM    237  O   ILE A  31      17.945 -11.761  -5.468  1.00  6.08          O   \nATOM    238  CG1 ILE A  31      14.396 -14.369  -4.897  1.00  6.08          C   \nATOM    239  CG2 ILE A  31      16.121 -13.619  -3.212  1.00  6.08          C   \nATOM    240  CD1 ILE A  31      14.475 -15.853  -4.565  1.00  6.08          C   \nATOM    241  N   LYS A  32      16.933 -10.089  -4.574  1.00  6.08          N   \nATOM    242  CA  LYS A  32      18.183  -9.378  -4.323  1.00  6.08          C   \nATOM    243  C   LYS A  32      18.755  -9.738  -2.954  1.00  6.08          C   \nATOM    244  CB  LYS A  32      17.970  -7.867  -4.420  1.00  6.08          C   \nATOM    245  O   LYS A  32      19.969  -9.892  -2.804  1.00  6.08          O   \nATOM    246  CG  LYS A  32      18.023  -7.324  -5.841  1.00  6.08          C   \nATOM    247  CD  LYS A  32      18.626  -5.926  -5.883  1.00  6.08          C   \nATOM    248  CE  LYS A  32      18.645  -5.367  -7.300  1.00  6.08          C   \nATOM    249  NZ  LYS A  32      19.320  -4.036  -7.361  1.00  6.08          N   \nATOM    250  N   SER A  33      17.909 -10.205  -1.893  1.00  6.08          N   \nATOM    251  CA  SER A  33      18.320 -10.572  -0.542  1.00  6.08          C   \nATOM    252  C   SER A  33      17.215 -11.331   0.185  1.00  6.08          C   \nATOM    253  CB  SER A  33      18.707  -9.328   0.258  1.00  6.08          C   \nATOM    254  O   SER A  33      16.099 -11.450  -0.324  1.00  6.08          O   \nATOM    255  OG  SER A  33      17.560  -8.560   0.581  1.00  6.08          O   \nATOM    256  N   LYS A  34      17.506 -12.068   1.188  1.00  6.08          N   \nATOM    257  CA  LYS A  34      16.610 -12.918   1.967  1.00  6.08          C   \nATOM    258  C   LYS A  34      15.403 -12.131   2.468  1.00  6.08          C   \nATOM    259  CB  LYS A  34      17.356 -13.542   3.148  1.00  6.08          C   \nATOM    260  O   LYS A  34      14.341 -12.706   2.718  1.00  6.08          O   \nATOM    261  CG  LYS A  34      18.074 -14.840   2.810  1.00  6.08          C   \nATOM    262  CD  LYS A  34      18.733 -15.451   4.040  1.00  6.08          C   \nATOM    263  CE  LYS A  34      19.519 -16.707   3.689  1.00  6.08          C   \nATOM    264  NZ  LYS A  34      20.155 -17.318   4.894  1.00  6.08          N   \nATOM    265  N   HIS A  35      15.371 -10.863   2.266  1.00  5.36          N   \nATOM    266  CA  HIS A  35      14.261 -10.259   2.994  1.00  5.36          C   \nATOM    267  C   HIS A  35      13.500  -9.270   2.117  1.00  5.36          C   \nATOM    268  CB  HIS A  35      14.765  -9.560   4.258  1.00  5.36          C   \nATOM    269  O   HIS A  35      12.451  -8.760   2.515  1.00  5.36          O   \nATOM    270  CG  HIS A  35      15.436 -10.482   5.225  1.00  5.36          C   \nATOM    271  CD2 HIS A  35      16.730 -10.574   5.614  1.00  5.36          C   \nATOM    272  ND1 HIS A  35      14.755 -11.461   5.916  1.00  5.36          N   \nATOM    273  CE1 HIS A  35      15.604 -12.116   6.691  1.00  5.36          C   \nATOM    274  NE2 HIS A  35      16.808 -11.597   6.526  1.00  5.36          N   \nATOM    275  N   VAL A  36      14.059  -8.954   0.978  1.00  5.36          N   \nATOM    276  CA  VAL A  36      13.407  -7.973   0.118  1.00  5.36          C   \nATOM    277  C   VAL A  36      13.086  -8.603  -1.235  1.00  5.36          C   \nATOM    278  CB  VAL A  36      14.284  -6.715  -0.074  1.00  5.36          C   \nATOM    279  O   VAL A  36      13.962  -9.187  -1.878  1.00  5.36          O   \nATOM    280  CG1 VAL A  36      13.591  -5.709  -0.992  1.00  5.36          C   \nATOM    281  CG2 VAL A  36      14.605  -6.078   1.277  1.00  5.36          C   \nATOM    282  N   PHE A  37      11.770  -8.603  -1.484  1.00  5.36          N   \nATOM    283  CA  PHE A  37      11.361  -9.204  -2.749  1.00  5.36          C   \nATOM    284  C   PHE A  37      10.980  -8.129  -3.760  1.00  5.36          C   \nATOM    285  CB  PHE A  37      10.186 -10.163  -2.535  1.00  5.36          C   \nATOM    286  O   PHE A  37      10.245  -7.195  -3.434  1.00  5.36          O   \nATOM    287  CG  PHE A  37      10.500 -11.311  -1.614  1.00  5.36          C   \nATOM    288  CD1 PHE A  37      10.346 -11.180  -0.239  1.00  5.36          C   \nATOM    289  CD2 PHE A  37      10.949 -12.522  -2.124  1.00  5.36          C   \nATOM    290  CE1 PHE A  37      10.636 -12.242   0.616  1.00  5.36          C   \nATOM    291  CE2 PHE A  37      11.241 -13.587  -1.276  1.00  5.36          C   \nATOM    292  CZ  PHE A  37      11.084 -13.445   0.093  1.00  5.36          C   \nATOM    293  N   GLU A  38      11.560  -8.160  -4.884  1.00  5.36          N   \nATOM    294  CA  GLU A  38      11.250  -7.279  -6.006  1.00  5.36          C   \nATOM    295  C   GLU A  38      10.193  -7.897  -6.917  1.00  5.36          C   \nATOM    296  CB  GLU A  38      12.516  -6.965  -6.808  1.00  5.36          C   \nATOM    297  O   GLU A  38      10.363  -9.016  -7.405  1.00  5.36          O   \nATOM    298  CG  GLU A  38      12.298  -5.965  -7.934  1.00  5.36          C   \nATOM    299  CD  GLU A  38      13.552  -5.698  -8.751  1.00  5.36          C   \nATOM    300  OE1 GLU A  38      13.571  -6.025  -9.960  1.00  5.36          O   \nATOM    301  OE2 GLU A  38      14.525  -5.158  -8.178  1.00  5.36          O   \nATOM    302  N   LEU A  39       9.040  -7.269  -6.940  1.00  5.36          N   \nATOM    303  CA  LEU A  39       7.988  -7.741  -7.834  1.00  5.36          C   \nATOM    304  C   LEU A  39       7.842  -6.816  -9.038  1.00  5.36          C   \nATOM    305  CB  LEU A  39       6.655  -7.839  -7.087  1.00  5.36          C   \nATOM    306  O   LEU A  39       7.250  -5.740  -8.931  1.00  5.36          O   \nATOM    307  CG  LEU A  39       6.571  -8.896  -5.984  1.00  5.36          C   \nATOM    308  CD1 LEU A  39       5.425  -8.577  -5.030  1.00  5.36          C   \nATOM    309  CD2 LEU A  39       6.401 -10.286  -6.587  1.00  5.36          C   \nATOM    310  N   PRO A  40       8.487  -7.251 -10.143  1.00  6.08          N   \nATOM    311  CA  PRO A  40       8.346  -6.359 -11.296  1.00  6.08          C   \nATOM    312  C   PRO A  40       6.896  -6.208 -11.751  1.00  6.08          C   \nATOM    313  CB  PRO A  40       9.189  -7.043 -12.376  1.00  6.08          C   \nATOM    314  O   PRO A  40       6.198  -7.207 -11.942  1.00  6.08          O   \nATOM    315  CG  PRO A  40       9.550  -8.371 -11.794  1.00  6.08          C   \nATOM    316  CD  PRO A  40       9.068  -8.416 -10.373  1.00  6.08          C   \nATOM    317  N   ILE A  41       6.243  -4.982 -11.734  1.00  6.08          N   \nATOM    318  CA  ILE A  41       4.884  -4.747 -12.210  1.00  6.08          C   \nATOM    319  C   ILE A  41       4.900  -4.508 -13.718  1.00  6.08          C   \nATOM    320  CB  ILE A  41       4.229  -3.551 -11.484  1.00  6.08          C   \nATOM    321  O   ILE A  41       4.158  -5.153 -14.463  1.00  6.08          O   \nATOM    322  CG1 ILE A  41       4.176  -3.807  -9.974  1.00  6.08          C   \nATOM    323  CG2 ILE A  41       2.829  -3.280 -12.044  1.00  6.08          C   \nATOM    324  CD1 ILE A  41       3.647  -2.630  -9.165  1.00  6.08          C   \nATOM    325  N   ASN A  42       5.810  -3.703 -14.250  1.00  6.08          N   \nATOM    326  CA  ASN A  42       6.141  -3.456 -15.649  1.00  6.08          C   \nATOM    327  C   ASN A  42       7.598  -3.034 -15.814  1.00  6.08          C   \nATOM    328  CB  ASN A  42       5.210  -2.396 -16.242  1.00  6.08          C   \nATOM    329  O   ASN A  42       8.396  -3.167 -14.885  1.00  6.08          O   \nATOM    330  CG  ASN A  42       5.303  -1.067 -15.518  1.00  6.08          C   \nATOM    331  ND2 ASN A  42       4.156  -0.448 -15.267  1.00  6.08          N   \nATOM    332  OD1 ASN A  42       6.397  -0.600 -15.189  1.00  6.08          O   \nATOM    333  N   ASP A  43       7.989  -2.622 -17.089  1.00  6.08          N   \nATOM    334  CA  ASP A  43       9.387  -2.328 -17.387  1.00  6.08          C   \nATOM    335  C   ASP A  43       9.898  -1.169 -16.534  1.00  6.08          C   \nATOM    336  CB  ASP A  43       9.563  -2.005 -18.873  1.00  6.08          C   \nATOM    337  O   ASP A  43      11.101  -1.051 -16.294  1.00  6.08          O   \nATOM    338  CG  ASP A  43       9.350  -3.211 -19.771  1.00  6.08          C   \nATOM    339  OD1 ASP A  43       9.124  -3.033 -20.987  1.00  6.08          O   \nATOM    340  OD2 ASP A  43       9.406  -4.349 -19.257  1.00  6.08          O   \nATOM    341  N   LYS A  44       8.964  -0.340 -16.036  1.00  6.08          N   \nATOM    342  CA  LYS A  44       9.421   0.879 -15.374  1.00  6.08          C   \nATOM    343  C   LYS A  44       9.078   0.858 -13.887  1.00  6.08          C   \nATOM    344  CB  LYS A  44       8.806   2.113 -16.036  1.00  6.08          C   \nATOM    345  O   LYS A  44       9.523   1.723 -13.130  1.00  6.08          O   \nATOM    346  CG  LYS A  44       9.329   2.388 -17.438  1.00  6.08          C   \nATOM    347  CD  LYS A  44       8.792   3.704 -17.986  1.00  6.08          C   \nATOM    348  CE  LYS A  44       9.281   3.960 -19.405  1.00  6.08          C   \nATOM    349  NZ  LYS A  44       8.775   5.260 -19.939  1.00  6.08          N   \nATOM    350  N   THR A  45       8.261  -0.019 -13.522  1.00  6.08          N   \nATOM    351  CA  THR A  45       7.740   0.030 -12.161  1.00  6.08          C   \nATOM    352  C   THR A  45       8.037  -1.272 -11.421  1.00  6.08          C   \nATOM    353  CB  THR A  45       6.223   0.293 -12.152  1.00  6.08          C   \nATOM    354  O   THR A  45       7.755  -2.359 -11.929  1.00  6.08          O   \nATOM    355  CG2 THR A  45       5.716   0.544 -10.736  1.00  6.08          C   \nATOM    356  OG1 THR A  45       5.938   1.442 -12.960  1.00  6.08          O   \nATOM    357  N   LYS A  46       8.731  -1.136 -10.322  1.00  5.36          N   \nATOM    358  CA  LYS A  46       9.040  -2.324  -9.532  1.00  5.36          C   \nATOM    359  C   LYS A  46       8.519  -2.186  -8.104  1.00  5.36          C   \nATOM    360  CB  LYS A  46      10.548  -2.581  -9.517  1.00  5.36          C   \nATOM    361  O   LYS A  46       8.374  -1.073  -7.595  1.00  5.36          O   \nATOM    362  CG  LYS A  46      11.163  -2.738 -10.899  1.00  5.36          C   \nATOM    363  CD  LYS A  46      12.677  -2.883 -10.824  1.00  5.36          C   \nATOM    364  CE  LYS A  46      13.302  -2.960 -12.211  1.00  5.36          C   \nATOM    365  NZ  LYS A  46      14.790  -2.843 -12.156  1.00  5.36          N   \nATOM    366  N   ARG A  47       8.105  -3.267  -7.558  1.00  5.36          N   \nATOM    367  CA  ARG A  47       7.620  -3.302  -6.182  1.00  5.36          C   \nATOM    368  C   ARG A  47       8.642  -3.956  -5.258  1.00  5.36          C   \nATOM    369  CB  ARG A  47       6.286  -4.047  -6.100  1.00  5.36          C   \nATOM    370  O   ARG A  47       9.291  -4.934  -5.635  1.00  5.36          O   \nATOM    371  CG  ARG A  47       5.588  -3.915  -4.756  1.00  5.36          C   \nATOM    372  CD  ARG A  47       4.227  -4.596  -4.758  1.00  5.36          C   \nATOM    373  NE  ARG A  47       3.162  -3.674  -4.374  1.00  5.36          N   \nATOM    374  NH1 ARG A  47       1.449  -5.188  -4.705  1.00  5.36          N   \nATOM    375  NH2 ARG A  47       0.983  -3.060  -3.991  1.00  5.36          N   \nATOM    376  CZ  ARG A  47       1.867  -3.976  -4.358  1.00  5.36          C   \nATOM    377  N   TYR A  48       8.748  -3.477  -3.978  1.00  5.36          N   \nATOM    378  CA  TYR A  48       9.593  -4.175  -3.016  1.00  5.36          C   \nATOM    379  C   TYR A  48       8.779  -4.649  -1.818  1.00  5.36          C   \nATOM    380  CB  TYR A  48      10.734  -3.268  -2.546  1.00  5.36          C   \nATOM    381  O   TYR A  48       7.943  -3.908  -1.295  1.00  5.36          O   \nATOM    382  CG  TYR A  48      11.694  -2.881  -3.645  1.00  5.36          C   \nATOM    383  CD1 TYR A  48      11.441  -1.781  -4.462  1.00  5.36          C   \nATOM    384  CD2 TYR A  48      12.854  -3.613  -3.869  1.00  5.36          C   \nATOM    385  CE1 TYR A  48      12.321  -1.421  -5.477  1.00  5.36          C   \nATOM    386  CE2 TYR A  48      13.742  -3.263  -4.881  1.00  5.36          C   \nATOM    387  OH  TYR A  48      14.342  -1.815  -6.682  1.00  5.36          O   \nATOM    388  CZ  TYR A  48      13.467  -2.167  -5.678  1.00  5.36          C   \nATOM    389  N   ILE A  49       8.717  -5.888  -1.613  1.00  5.36          N   \nATOM    390  CA  ILE A  49       7.989  -6.430  -0.471  1.00  5.36          C   \nATOM    391  C   ILE A  49       8.975  -6.856   0.614  1.00  5.36          C   \nATOM    392  CB  ILE A  49       7.097  -7.622  -0.882  1.00  5.36          C   \nATOM    393  O   ILE A  49      10.017  -7.445   0.318  1.00  5.36          O   \nATOM    394  CG1 ILE A  49       6.166  -7.220  -2.032  1.00  5.36          C   \nATOM    395  CG2 ILE A  49       6.296  -8.136   0.317  1.00  5.36          C   \nATOM    396  CD1 ILE A  49       5.367  -8.378  -2.615  1.00  5.36          C   \nATOM    397  N   LEU A  50       8.862  -6.262   1.857  1.00  5.36          N   \nATOM    398  CA  LEU A  50       9.614  -6.778   2.996  1.00  5.36          C   \nATOM    399  C   LEU A  50       8.946  -8.023   3.570  1.00  5.36          C   \nATOM    400  CB  LEU A  50       9.742  -5.707   4.083  1.00  5.36          C   \nATOM    401  O   LEU A  50       7.743  -8.018   3.842  1.00  5.36          O   \nATOM    402  CG  LEU A  50      11.100  -5.606   4.779  1.00  5.36          C   \nATOM    403  CD1 LEU A  50      11.885  -4.416   4.238  1.00  5.36          C   \nATOM    404  CD2 LEU A  50      10.920  -5.493   6.289  1.00  5.36          C   \nATOM    405  N   GLY A  51       9.463  -9.224   3.543  1.00  5.36          N   \nATOM    406  CA  GLY A  51       9.015 -10.310   4.400  1.00  5.36          C   \nATOM    407  C   GLY A  51       7.865 -11.102   3.807  1.00  5.36          C   \nATOM    408  O   GLY A  51       6.957 -10.529   3.200  1.00  5.36          O   \nATOM    409  N   ALA A  52       8.049 -12.344   3.364  1.00  5.36          N   \nATOM    410  CA  ALA A  52       6.949 -13.257   3.063  1.00  5.36          C   \nATOM    411  C   ALA A  52       6.954 -14.454   4.009  1.00  5.36          C   \nATOM    412  CB  ALA A  52       7.031 -13.728   1.613  1.00  5.36          C   \nATOM    413  O   ALA A  52       8.016 -14.901   4.449  1.00  5.36          O   \nATOM    414  N   THR A  53       5.741 -14.626   4.821  1.00  6.08          N   \nATOM    415  CA  THR A  53       5.638 -15.818   5.655  1.00  6.08          C   \nATOM    416  C   THR A  53       4.816 -16.898   4.956  1.00  6.08          C   \nATOM    417  CB  THR A  53       5.005 -15.492   7.020  1.00  6.08          C   \nATOM    418  O   THR A  53       4.163 -16.631   3.944  1.00  6.08          O   \nATOM    419  CG2 THR A  53       5.758 -14.364   7.719  1.00  6.08          C   \nATOM    420  OG1 THR A  53       3.643 -15.093   6.826  1.00  6.08          O   \nATOM    421  N   GLU A  54       4.971 -18.204   5.377  1.00  6.08          N   \nATOM    422  CA  GLU A  54       4.419 -19.510   5.031  1.00  6.08          C   \nATOM    423  C   GLU A  54       2.894 -19.498   5.093  1.00  6.08          C   \nATOM    424  CB  GLU A  54       4.974 -20.593   5.960  1.00  6.08          C   \nATOM    425  O   GLU A  54       2.229 -20.148   4.283  1.00  6.08          O   \nATOM    426  CG  GLU A  54       6.145 -21.367   5.371  1.00  6.08          C   \nATOM    427  CD  GLU A  54       6.620 -22.505   6.261  1.00  6.08          C   \nATOM    428  OE1 GLU A  54       7.586 -23.207   5.885  1.00  6.08          O   \nATOM    429  OE2 GLU A  54       6.021 -22.696   7.343  1.00  6.08          O   \nATOM    430  N   THR A  55       2.284 -18.768   6.100  1.00  6.08          N   \nATOM    431  CA  THR A  55       0.931 -19.163   6.472  1.00  6.08          C   \nATOM    432  C   THR A  55      -0.065 -18.051   6.153  1.00  6.08          C   \nATOM    433  CB  THR A  55       0.844 -19.519   7.968  1.00  6.08          C   \nATOM    434  O   THR A  55      -1.275 -18.282   6.132  1.00  6.08          O   \nATOM    435  CG2 THR A  55       1.686 -20.749   8.290  1.00  6.08          C   \nATOM    436  OG1 THR A  55       1.318 -18.412   8.745  1.00  6.08          O   \nATOM    437  N   LYS A  56       0.188 -16.955   5.564  1.00  6.08          N   \nATOM    438  CA  LYS A  56      -0.870 -15.980   5.311  1.00  6.08          C   \nATOM    439  C   LYS A  56      -0.294 -14.671   4.777  1.00  6.08          C   \nATOM    440  CB  LYS A  56      -1.676 -15.719   6.584  1.00  6.08          C   \nATOM    441  O   LYS A  56       0.578 -14.069   5.406  1.00  6.08          O   \nATOM    442  CG  LYS A  56      -2.640 -16.838   6.947  1.00  6.08          C   \nATOM    443  CD  LYS A  56      -3.584 -16.421   8.067  1.00  6.08          C   \nATOM    444  CE  LYS A  56      -4.524 -17.554   8.458  1.00  6.08          C   \nATOM    445  NZ  LYS A  56      -5.505 -17.125   9.499  1.00  6.08          N   \nATOM    446  N   GLU A  57      -0.274 -14.530   3.508  1.00  6.08          N   \nATOM    447  CA  GLU A  57      -0.600 -13.449   2.582  1.00  6.08          C   \nATOM    448  C   GLU A  57      -0.543 -12.092   3.276  1.00  6.08          C   \nATOM    449  CB  GLU A  57      -1.984 -13.668   1.966  1.00  6.08          C   \nATOM    450  O   GLU A  57      -0.932 -11.075   2.696  1.00  6.08          O   \nATOM    451  CG  GLU A  57      -1.976 -14.563   0.735  1.00  6.08          C   \nATOM    452  CD  GLU A  57      -3.338 -14.683   0.071  1.00  6.08          C   \nATOM    453  OE1 GLU A  57      -3.423 -15.253  -1.040  1.00  6.08          O   \nATOM    454  OE2 GLU A  57      -4.328 -14.203   0.667  1.00  6.08          O   \nATOM    455  N   GLU A  58       0.126 -11.928   4.480  1.00  6.08          N   \nATOM    456  CA  GLU A  58      -0.009 -10.492   4.706  1.00  6.08          C   \nATOM    457  C   GLU A  58       1.168  -9.726   4.108  1.00  6.08          C   \nATOM    458  CB  GLU A  58      -0.125 -10.192   6.203  1.00  6.08          C   \nATOM    459  O   GLU A  58       2.323 -10.126   4.271  1.00  6.08          O   \nATOM    460  CG  GLU A  58      -1.553  -9.953   6.673  1.00  6.08          C   \nATOM    461  CD  GLU A  58      -1.648  -9.595   8.147  1.00  6.08          C   \nATOM    462  OE1 GLU A  58      -2.761  -9.279   8.625  1.00  6.08          O   \nATOM    463  OE2 GLU A  58      -0.600  -9.629   8.830  1.00  6.08          O   \nATOM    464  N   VAL A  59       0.923  -8.970   3.115  1.00  5.36          N   \nATOM    465  CA  VAL A  59       1.676  -8.056   2.262  1.00  5.36          C   \nATOM    466  C   VAL A  59       1.616  -6.644   2.838  1.00  5.36          C   \nATOM    467  CB  VAL A  59       1.141  -8.064   0.812  1.00  5.36          C   \nATOM    468  O   VAL A  59       0.550  -6.026   2.875  1.00  5.36          O   \nATOM    469  CG1 VAL A  59       2.113  -7.351  -0.126  1.00  5.36          C   \nATOM    470  CG2 VAL A  59       0.894  -9.496   0.342  1.00  5.36          C   \nATOM    471  N   LEU A  60       2.134  -6.382   4.062  1.00  5.36          N   \nATOM    472  CA  LEU A  60       2.206  -4.926   4.093  1.00  5.36          C   \nATOM    473  C   LEU A  60       3.467  -4.459   4.813  1.00  5.36          C   \nATOM    474  CB  LEU A  60       0.968  -4.342   4.778  1.00  5.36          C   \nATOM    475  O   LEU A  60       3.645  -4.732   6.002  1.00  5.36          O   \nATOM    476  CG  LEU A  60      -0.362  -4.523   4.044  1.00  5.36          C   \nATOM    477  CD1 LEU A  60      -1.528  -4.217   4.977  1.00  5.36          C   \nATOM    478  CD2 LEU A  60      -0.414  -3.635   2.805  1.00  5.36          C   \nATOM    479  N   PRO A  61       4.690  -3.899   4.294  1.00  5.36          N   \nATOM    480  CA  PRO A  61       4.413  -2.559   3.771  1.00  5.36          C   \nATOM    481  C   PRO A  61       4.305  -2.531   2.248  1.00  5.36          C   \nATOM    482  CB  PRO A  61       5.614  -1.739   4.248  1.00  5.36          C   \nATOM    483  O   PRO A  61       4.930  -3.348   1.566  1.00  5.36          O   \nATOM    484  CG  PRO A  61       6.588  -2.750   4.760  1.00  5.36          C   \nATOM    485  CD  PRO A  61       5.908  -4.089   4.803  1.00  5.36          C   \nATOM    486  N   ASN A  62       3.352  -1.777   1.774  1.00  4.42          N   \nATOM    487  CA  ASN A  62       2.773  -1.209   0.561  1.00  4.42          C   \nATOM    488  C   ASN A  62       3.673  -0.134  -0.041  1.00  4.42          C   \nATOM    489  CB  ASN A  62       1.382  -0.637   0.847  1.00  4.42          C   \nATOM    490  O   ASN A  62       3.461   1.058   0.186  1.00  4.42          O   \nATOM    491  CG  ASN A  62       0.321  -1.714   0.963  1.00  4.42          C   \nATOM    492  ND2 ASN A  62      -0.756  -1.410   1.679  1.00  4.42          N   \nATOM    493  OD1 ASN A  62       0.468  -2.809   0.415  1.00  4.42          O   \nATOM    494  N   TYR A  63       4.982  -0.411  -0.311  1.00  4.42          N   \nATOM    495  CA  TYR A  63       5.766   0.563  -1.062  1.00  4.42          C   \nATOM    496  C   TYR A  63       5.569   0.381  -2.563  1.00  4.42          C   \nATOM    497  CB  TYR A  63       7.252   0.442  -0.712  1.00  4.42          C   \nATOM    498  O   TYR A  63       5.291  -0.726  -3.029  1.00  4.42          O   \nATOM    499  CG  TYR A  63       7.556   0.705   0.743  1.00  4.42          C   \nATOM    500  CD1 TYR A  63       7.564  -0.333   1.672  1.00  4.42          C   \nATOM    501  CD2 TYR A  63       7.835   1.992   1.191  1.00  4.42          C   \nATOM    502  CE1 TYR A  63       7.842  -0.094   3.014  1.00  4.42          C   \nATOM    503  CE2 TYR A  63       8.114   2.242   2.531  1.00  4.42          C   \nATOM    504  OH  TYR A  63       8.392   1.435   4.760  1.00  4.42          O   \nATOM    505  CZ  TYR A  63       8.116   1.194   3.433  1.00  4.42          C   \nATOM    506  N   VAL A  64       5.361   1.479  -3.257  1.00  4.42          N   \nATOM    507  CA  VAL A  64       5.323   1.484  -4.716  1.00  4.42          C   \nATOM    508  C   VAL A  64       6.456   2.350  -5.260  1.00  4.42          C   \nATOM    509  CB  VAL A  64       3.963   1.991  -5.246  1.00  4.42          C   \nATOM    510  O   VAL A  64       6.668   3.472  -4.794  1.00  4.42          O   \nATOM    511  CG1 VAL A  64       4.005   2.161  -6.764  1.00  4.42          C   \nATOM    512  CG2 VAL A  64       2.843   1.034  -4.844  1.00  4.42          C   \nATOM    513  N   LYS A  65       7.501   1.678  -5.944  1.00  5.36          N   \nATOM    514  CA  LYS A  65       8.535   2.445  -6.634  1.00  5.36          C   \nATOM    515  C   LYS A  65       8.078   2.847  -8.033  1.00  5.36          C   \nATOM    516  CB  LYS A  65       9.834   1.643  -6.717  1.00  5.36          C   \nATOM    517  O   LYS A  65       7.631   2.004  -8.812  1.00  5.36          O   \nATOM    518  CG  LYS A  65      11.017   2.434  -7.256  1.00  5.36          C   \nATOM    519  CD  LYS A  65      12.295   1.605  -7.245  1.00  5.36          C   \nATOM    520  CE  LYS A  65      13.479   2.395  -7.786  1.00  5.36          C   \nATOM    521  NZ  LYS A  65      14.742   1.599  -7.745  1.00  5.36          N   \nATOM    522  N   VAL A  66       8.093   4.091  -8.333  1.00  5.36          N   \nATOM    523  CA  VAL A  66       7.778   4.641  -9.647  1.00  5.36          C   \nATOM    524  C   VAL A  66       9.008   5.340 -10.223  1.00  5.36          C   \nATOM    525  CB  VAL A  66       6.589   5.625  -9.580  1.00  5.36          C   \nATOM    526  O   VAL A  66       9.375   6.430  -9.779  1.00  5.36          O   \nATOM    527  CG1 VAL A  66       6.222   6.125 -10.977  1.00  5.36          C   \nATOM    528  CG2 VAL A  66       5.385   4.962  -8.914  1.00  5.36          C   \nATOM    529  N   GLY A  67       9.659   4.635 -11.193  1.00  5.36          N   \nATOM    530  CA  GLY A  67      10.950   5.142 -11.630  1.00  5.36          C   \nATOM    531  C   GLY A  67      12.012   5.081 -10.548  1.00  5.36          C   \nATOM    532  O   GLY A  67      12.305   4.007 -10.019  1.00  5.36          O   \nATOM    533  N   SER A  68      12.514   6.343 -10.271  1.00  5.36          N   \nATOM    534  CA  SER A  68      13.526   6.411  -9.222  1.00  5.36          C   \nATOM    535  C   SER A  68      12.902   6.759  -7.874  1.00  5.36          C   \nATOM    536  CB  SER A  68      14.598   7.442  -9.577  1.00  5.36          C   \nATOM    537  O   SER A  68      13.608   6.894  -6.873  1.00  5.36          O   \nATOM    538  OG  SER A  68      14.006   8.654 -10.011  1.00  5.36          O   \nATOM    539  N   ASP A  69      11.527   6.878  -7.937  1.00  5.36          N   \nATOM    540  CA  ASP A  69      10.872   7.348  -6.720  1.00  5.36          C   \nATOM    541  C   ASP A  69      10.208   6.193  -5.973  1.00  5.36          C   \nATOM    542  CB  ASP A  69       9.837   8.425  -7.049  1.00  5.36          C   \nATOM    543  O   ASP A  69       9.669   5.274  -6.594  1.00  5.36          O   \nATOM    544  CG  ASP A  69      10.453   9.672  -7.660  1.00  5.36          C   \nATOM    545  OD1 ASP A  69       9.841  10.271  -8.571  1.00  5.36          O   \nATOM    546  OD2 ASP A  69      11.561  10.057  -7.229  1.00  5.36          O   \nATOM    547  N   LEU A  70      10.310   6.167  -4.690  1.00  4.42          N   \nATOM    548  CA  LEU A  70       9.712   5.170  -3.810  1.00  4.42          C   \nATOM    549  C   LEU A  70       8.614   5.789  -2.952  1.00  4.42          C   \nATOM    550  CB  LEU A  70      10.780   4.537  -2.914  1.00  4.42          C   \nATOM    551  O   LEU A  70       8.810   6.853  -2.359  1.00  4.42          O   \nATOM    552  CG  LEU A  70      10.378   3.255  -2.182  1.00  4.42          C   \nATOM    553  CD1 LEU A  70      10.240   2.102  -3.170  1.00  4.42          C   \nATOM    554  CD2 LEU A  70      11.395   2.918  -1.097  1.00  4.42          C   \nATOM    555  N   TYR A  71       7.500   5.181  -2.953  1.00  4.42          N   \nATOM    556  CA  TYR A  71       6.370   5.703  -2.192  1.00  4.42          C   \nATOM    557  C   TYR A  71       5.940   4.719  -1.110  1.00  4.42          C   \nATOM    558  CB  TYR A  71       5.190   6.006  -3.121  1.00  4.42          C   \nATOM    559  O   TYR A  71       5.994   3.504  -1.311  1.00  4.42          O   \nATOM    560  CG  TYR A  71       5.502   7.031  -4.184  1.00  4.42          C   \nATOM    561  CD1 TYR A  71       6.112   6.661  -5.380  1.00  4.42          C   \nATOM    562  CD2 TYR A  71       5.190   8.373  -3.993  1.00  4.42          C   \nATOM    563  CE1 TYR A  71       6.403   7.603  -6.361  1.00  4.42          C   \nATOM    564  CE2 TYR A  71       5.476   9.324  -4.967  1.00  4.42          C   \nATOM    565  OH  TYR A  71       6.367   9.867  -7.114  1.00  4.42          O   \nATOM    566  CZ  TYR A  71       6.081   8.930  -6.146  1.00  4.42          C   \nATOM    567  N   ARG A  72       5.750   5.231   0.077  1.00  4.42          N   \nATOM    568  CA  ARG A  72       5.102   4.470   1.140  1.00  4.42          C   \nATOM    569  C   ARG A  72       3.588   4.648   1.097  1.00  4.42          C   \nATOM    570  CB  ARG A  72       5.641   4.892   2.509  1.00  4.42          C   \nATOM    571  O   ARG A  72       3.093   5.772   0.987  1.00  4.42          O   \nATOM    572  CG  ARG A  72       5.185   4.000   3.652  1.00  4.42          C   \nATOM    573  CD  ARG A  72       5.797   4.427   4.979  1.00  4.42          C   \nATOM    574  NE  ARG A  72       5.284   3.630   6.090  1.00  4.42          N   \nATOM    575  NH1 ARG A  72       6.305   4.890   7.736  1.00  4.42          N   \nATOM    576  NH2 ARG A  72       5.019   3.079   8.304  1.00  4.42          N   \nATOM    577  CZ  ARG A  72       5.538   3.868   7.374  1.00  4.42          C   \nATOM    578  N   LEU A  73       2.852   3.545   1.039  1.00  3.21          N   \nATOM    579  CA  LEU A  73       1.395   3.610   1.029  1.00  3.21          C   \nATOM    580  C   LEU A  73       0.833   3.435   2.436  1.00  3.21          C   \nATOM    581  CB  LEU A  73       0.816   2.541   0.099  1.00  3.21          C   \nATOM    582  O   LEU A  73       1.261   2.544   3.173  1.00  3.21          O   \nATOM    583  CG  LEU A  73       1.212   2.639  -1.375  1.00  3.21          C   \nATOM    584  CD1 LEU A  73       1.030   1.291  -2.064  1.00  3.21          C   \nATOM    585  CD2 LEU A  73       0.396   3.719  -2.078  1.00  3.21          C   \nATOM    586  N   LYS A  74       0.064   4.404   2.921  1.00  4.42          N   \nATOM    587  CA  LYS A  74      -0.627   4.299   4.203  1.00  4.42          C   \nATOM    588  C   LYS A  74      -2.140   4.374   4.020  1.00  4.42          C   \nATOM    589  CB  LYS A  74      -0.159   5.400   5.156  1.00  4.42          C   \nATOM    590  O   LYS A  74      -2.643   5.256   3.320  1.00  4.42          O   \nATOM    591  CG  LYS A  74      -0.498   5.139   6.617  1.00  4.42          C   \nATOM    592  CD  LYS A  74       0.083   6.214   7.526  1.00  4.42          C   \nATOM    593  CE  LYS A  74      -0.315   5.993   8.979  1.00  4.42          C   \nATOM    594  NZ  LYS A  74       0.270   7.033   9.878  1.00  4.42          N   \nATOM    595  N   ALA A  75      -2.781   3.329   4.523  1.00  4.42          N   \nATOM    596  CA  ALA A  75      -4.241   3.343   4.479  1.00  4.42          C   \nATOM    597  C   ALA A  75      -4.826   3.741   5.831  1.00  4.42          C   \nATOM    598  CB  ALA A  75      -4.774   1.977   4.053  1.00  4.42          C   \nATOM    599  O   ALA A  75      -4.275   3.396   6.879  1.00  4.42          O   \nATOM    600  N   TYR A  76      -5.770   4.597   5.772  1.00  5.36          N   \nATOM    601  CA  TYR A  76      -6.435   4.990   7.009  1.00  5.36          C   \nATOM    602  C   TYR A  76      -7.924   5.215   6.781  1.00  5.36          C   \nATOM    603  CB  TYR A  76      -5.797   6.259   7.583  1.00  5.36          C   \nATOM    604  O   TYR A  76      -8.375   5.314   5.637  1.00  5.36          O   \nATOM    605  CG  TYR A  76      -5.887   7.453   6.665  1.00  5.36          C   \nATOM    606  CD1 TYR A  76      -6.916   8.382   6.798  1.00  5.36          C   \nATOM    607  CD2 TYR A  76      -4.946   7.653   5.661  1.00  5.36          C   \nATOM    608  CE1 TYR A  76      -7.005   9.483   5.952  1.00  5.36          C   \nATOM    609  CE2 TYR A  76      -5.024   8.750   4.809  1.00  5.36          C   \nATOM    610  OH  TYR A  76      -6.138  10.746   4.123  1.00  5.36          O   \nATOM    611  CZ  TYR A  76      -6.055   9.659   4.963  1.00  5.36          C   \nATOM    612  N   ARG A  77      -8.726   5.218   7.799  1.00  5.36          N   \nATOM    613  CA  ARG A  77     -10.169   5.419   7.723  1.00  5.36          C   \nATOM    614  C   ARG A  77     -10.570   6.753   8.344  1.00  5.36          C   \nATOM    615  CB  ARG A  77     -10.909   4.274   8.418  1.00  5.36          C   \nATOM    616  O   ARG A  77     -10.028   7.151   9.377  1.00  5.36          O   \nATOM    617  CG  ARG A  77     -12.424   4.372   8.322  1.00  5.36          C   \nATOM    618  CD  ARG A  77     -13.109   3.207   9.024  1.00  5.36          C   \nATOM    619  NE  ARG A  77     -13.016   1.977   8.244  1.00  5.36          N   \nATOM    620  NH1 ARG A  77     -14.417   0.756   9.616  1.00  5.36          N   \nATOM    621  NH2 ARG A  77     -13.484  -0.219   7.763  1.00  5.36          N   \nATOM    622  CZ  ARG A  77     -13.639   0.841   8.542  1.00  5.36          C   \nATOM    623  N   GLU A  78     -11.384   7.464   7.705  1.00  5.36          N   \nATOM    624  CA  GLU A  78     -12.045   8.659   8.221  1.00  5.36          C   \nATOM    625  C   GLU A  78     -13.563   8.519   8.164  1.00  5.36          C   \nATOM    626  CB  GLU A  78     -11.601   9.899   7.439  1.00  5.36          C   \nATOM    627  O   GLU A  78     -14.081   7.514   7.673  1.00  5.36          O   \nATOM    628  CG  GLU A  78     -10.154  10.298   7.690  1.00  5.36          C   \nATOM    629  CD  GLU A  78      -9.792  11.648   7.092  1.00  5.36          C   \nATOM    630  OE1 GLU A  78      -8.647  12.113   7.291  1.00  5.36          O   \nATOM    631  OE2 GLU A  78     -10.661  12.247   6.420  1.00  5.36          O   \nATOM    632  N   LYS A  79     -14.255   9.510   8.676  1.00  5.36          N   \nATOM    633  CA  LYS A  79     -15.715   9.478   8.716  1.00  5.36          C   \nATOM    634  C   LYS A  79     -16.297   9.210   7.332  1.00  5.36          C   \nATOM    635  CB  LYS A  79     -16.265  10.793   9.271  1.00  5.36          C   \nATOM    636  O   LYS A  79     -17.266   8.460   7.195  1.00  5.36          O   \nATOM    637  CG  LYS A  79     -16.312  10.853  10.790  1.00  5.36          C   \nATOM    638  CD  LYS A  79     -16.955  12.144  11.279  1.00  5.36          C   \nATOM    639  CE  LYS A  79     -16.920  12.247  12.798  1.00  5.36          C   \nATOM    640  NZ  LYS A  79     -17.524  13.525  13.281  1.00  5.36          N   \nATOM    641  N   SER A  80     -15.615   9.685   6.280  1.00  5.36          N   \nATOM    642  CA  SER A  80     -16.194   9.676   4.940  1.00  5.36          C   \nATOM    643  C   SER A  80     -15.768   8.435   4.163  1.00  5.36          C   \nATOM    644  CB  SER A  80     -15.787  10.934   4.171  1.00  5.36          C   \nATOM    645  O   SER A  80     -16.312   8.148   3.094  1.00  5.36          O   \nATOM    646  OG  SER A  80     -14.376  11.064   4.131  1.00  5.36          O   \nATOM    647  N   GLY A  81     -14.790   7.696   4.700  1.00  5.36          N   \nATOM    648  CA  GLY A  81     -14.368   6.508   3.975  1.00  5.36          C   \nATOM    649  C   GLY A  81     -12.932   6.112   4.264  1.00  5.36          C   \nATOM    650  O   GLY A  81     -12.367   6.508   5.285  1.00  5.36          O   \nATOM    651  N   VAL A  82     -12.402   5.137   3.681  1.00  5.36          N   \nATOM    652  CA  VAL A  82     -11.030   4.653   3.791  1.00  5.36          C   \nATOM    653  C   VAL A  82     -10.148   5.364   2.767  1.00  5.36          C   \nATOM    654  CB  VAL A  82     -10.951   3.123   3.591  1.00  5.36          C   \nATOM    655  O   VAL A  82     -10.540   5.531   1.610  1.00  5.36          O   \nATOM    656  CG1 VAL A  82      -9.503   2.642   3.674  1.00  5.36          C   \nATOM    657  CG2 VAL A  82     -11.816   2.405   4.626  1.00  5.36          C   \nATOM    658  N   TYR A  83      -9.046   5.835   3.278  1.00  5.36          N   \nATOM    659  CA  TYR A  83      -8.137   6.587   2.421  1.00  5.36          C   \nATOM    660  C   TYR A  83      -6.784   5.894   2.319  1.00  5.36          C   \nATOM    661  CB  TYR A  83      -7.955   8.013   2.949  1.00  5.36          C   \nATOM    662  O   TYR A  83      -6.401   5.132   3.211  1.00  5.36          O   \nATOM    663  CG  TYR A  83      -9.240   8.802   3.021  1.00  5.36          C   \nATOM    664  CD1 TYR A  83     -10.101   8.671   4.108  1.00  5.36          C   \nATOM    665  CD2 TYR A  83      -9.595   9.680   2.003  1.00  5.36          C   \nATOM    666  CE1 TYR A  83     -11.287   9.395   4.177  1.00  5.36          C   \nATOM    667  CE2 TYR A  83     -10.778  10.409   2.062  1.00  5.36          C   \nATOM    668  OH  TYR A  83     -12.789  10.979   3.215  1.00  5.36          O   \nATOM    669  CZ  TYR A  83     -11.616  10.260   3.151  1.00  5.36          C   \nATOM    670  N   VAL A  84      -6.217   5.977   1.159  1.00  4.42          N   \nATOM    671  CA  VAL A  84      -4.820   5.583   1.013  1.00  4.42          C   \nATOM    672  C   VAL A  84      -3.961   6.815   0.737  1.00  4.42          C   \nATOM    673  CB  VAL A  84      -4.638   4.544  -0.116  1.00  4.42          C   \nATOM    674  O   VAL A  84      -4.300   7.638  -0.117  1.00  4.42          O   \nATOM    675  CG1 VAL A  84      -3.161   4.207  -0.308  1.00  4.42          C   \nATOM    676  CG2 VAL A  84      -5.442   3.281   0.188  1.00  4.42          C   \nATOM    677  N   ARG A  85      -3.015   6.909   1.573  1.00  4.42          N   \nATOM    678  CA  ARG A  85      -2.052   8.001   1.472  1.00  4.42          C   \nATOM    679  C   ARG A  85      -0.722   7.508   0.912  1.00  4.42          C   \nATOM    680  CB  ARG A  85      -1.835   8.655   2.838  1.00  4.42          C   \nATOM    681  O   ARG A  85      -0.256   6.423   1.268  1.00  4.42          O   \nATOM    682  CG  ARG A  85      -1.113   9.992   2.773  1.00  4.42          C   \nATOM    683  CD  ARG A  85      -0.941  10.607   4.154  1.00  4.42          C   \nATOM    684  NE  ARG A  85      -2.049  11.496   4.491  1.00  4.42          N   \nATOM    685  NH1 ARG A  85      -1.423  11.780   6.696  1.00  4.42          N   \nATOM    686  NH2 ARG A  85      -3.293  12.829   5.887  1.00  4.42          N   \nATOM    687  CZ  ARG A  85      -2.252  12.033   5.691  1.00  4.42          C   \nATOM    688  N   THR A  86      -0.152   8.200  -0.153  1.00  4.42          N   \nATOM    689  CA  THR A  86       1.170   7.866  -0.672  1.00  4.42          C   \nATOM    690  C   THR A  86       2.192   8.924  -0.269  1.00  4.42          C   \nATOM    691  CB  THR A  86       1.148   7.726  -2.205  1.00  4.42          C   \nATOM    692  O   THR A  86       1.918  10.123  -0.351  1.00  4.42          O   \nATOM    693  CG2 THR A  86       0.290   6.542  -2.638  1.00  4.42          C   \nATOM    694  OG1 THR A  86       0.614   8.925  -2.781  1.00  4.42          O   \nATOM    695  N   ASN A  87       3.286   8.434   0.354  1.00  5.36          N   \nATOM    696  CA  ASN A  87       4.370   9.361   0.664  1.00  5.36          C   \nATOM    697  C   ASN A  87       5.610   9.075  -0.179  1.00  5.36          C   \nATOM    698  CB  ASN A  87       4.716   9.304   2.153  1.00  5.36          C   \nATOM    699  O   ASN A  87       6.062   7.932  -0.258  1.00  5.36          O   \nATOM    700  CG  ASN A  87       3.662   9.959   3.024  1.00  5.36          C   \nATOM    701  ND2 ASN A  87       3.845   9.882   4.336  1.00  5.36          N   \nATOM    702  OD1 ASN A  87       2.690  10.529   2.520  1.00  5.36          O   \nATOM    703  N   LYS A  88       6.095  10.057  -0.960  1.00  5.36          N   \nATOM    704  CA  LYS A  88       7.392   9.866  -1.603  1.00  5.36          C   \nATOM    705  C   LYS A  88       8.509   9.764  -0.569  1.00  5.36          C   \nATOM    706  CB  LYS A  88       7.682  11.009  -2.577  1.00  5.36          C   \nATOM    707  O   LYS A  88       8.639  10.630   0.299  1.00  5.36          O   \nATOM    708  CG  LYS A  88       8.904  10.780  -3.454  1.00  5.36          C   \nATOM    709  CD  LYS A  88       9.096  11.914  -4.452  1.00  5.36          C   \nATOM    710  CE  LYS A  88      10.325  11.692  -5.323  1.00  5.36          C   \nATOM    711  NZ  LYS A  88      10.494  12.781  -6.331  1.00  5.36          N   \nATOM    712  N   LEU A  89       9.164   8.645  -0.576  1.00  5.36          N   \nATOM    713  CA  LEU A  89      10.225   8.484   0.412  1.00  5.36          C   \nATOM    714  C   LEU A  89      11.425   9.361   0.069  1.00  5.36          C   \nATOM    715  CB  LEU A  89      10.658   7.018   0.498  1.00  5.36          C   \nATOM    716  O   LEU A  89      11.670   9.653  -1.104  1.00  5.36          O   \nATOM    717  CG  LEU A  89       9.718   6.077   1.253  1.00  5.36          C   \nATOM    718  CD1 LEU A  89      10.100   4.624   0.990  1.00  5.36          C   \nATOM    719  CD2 LEU A  89       9.744   6.380   2.747  1.00  5.36          C   \nATOM    720  N   GLY A  90      12.223   9.812   1.163  1.00  5.36          N   \nATOM    721  CA  GLY A  90      13.408  10.650   1.084  1.00  5.36          C   \nATOM    722  C   GLY A  90      13.092  12.133   1.100  1.00  5.36          C   \nATOM    723  O   GLY A  90      13.993  12.967   0.984  1.00  5.36          O   \nATOM    724  N   PHE A  91      11.852  12.465   1.066  1.00  6.08          N   \nATOM    725  CA  PHE A  91      11.399  13.841   1.233  1.00  6.08          C   \nATOM    726  C   PHE A  91      10.518  13.974   2.470  1.00  6.08          C   \nATOM    727  CB  PHE A  91      10.634  14.312  -0.008  1.00  6.08          C   \nATOM    728  O   PHE A  91       9.318  13.699   2.417  1.00  6.08          O   \nATOM    729  CG  PHE A  91      11.519  14.611  -1.188  1.00  6.08          C   \nATOM    730  CD1 PHE A  91      11.797  13.630  -2.132  1.00  6.08          C   \nATOM    731  CD2 PHE A  91      12.073  15.874  -1.353  1.00  6.08          C   \nATOM    732  CE1 PHE A  91      12.615  13.904  -3.226  1.00  6.08          C   \nATOM    733  CE2 PHE A  91      12.891  16.155  -2.443  1.00  6.08          C   \nATOM    734  CZ  PHE A  91      13.162  15.168  -3.378  1.00  6.08          C   \nATOM    735  N   GLU A  92      11.137  13.459   3.617  1.00  6.08          N   \nATOM    736  CA  GLU A  92      10.535  13.509   4.945  1.00  6.08          C   \nATOM    737  C   GLU A  92      10.313  14.950   5.397  1.00  6.08          C   \nATOM    738  CB  GLU A  92      11.409  12.768   5.960  1.00  6.08          C   \nATOM    739  O   GLU A  92      11.270  15.664   5.704  1.00  6.08          O   \nATOM    740  CG  GLU A  92      10.998  11.320   6.186  1.00  6.08          C   \nATOM    741  CD  GLU A  92      11.819  10.623   7.259  1.00  6.08          C   \nATOM    742  OE1 GLU A  92      11.506   9.461   7.604  1.00  6.08          O   \nATOM    743  OE2 GLU A  92      12.783  11.245   7.759  1.00  6.08          O   \nATOM    744  N   ASP A  93       9.620  15.891   4.677  1.00  6.08          N   \nATOM    745  CA  ASP A  93       9.157  16.934   5.587  1.00  6.08          C   \nATOM    746  C   ASP A  93       7.745  16.640   6.087  1.00  6.08          C   \nATOM    747  CB  ASP A  93       9.199  18.302   4.902  1.00  6.08          C   \nATOM    748  O   ASP A  93       6.797  16.602   5.299  1.00  6.08          O   \nATOM    749  CG  ASP A  93       8.970  19.454   5.864  1.00  6.08          C   \nATOM    750  OD1 ASP A  93       9.176  20.624   5.475  1.00  6.08          O   \nATOM    751  OD2 ASP A  93       8.583  19.190   7.023  1.00  6.08          O   \nATOM    752  N   PRO A  94       7.665  15.732   7.134  1.00  6.08          N   \nATOM    753  CA  PRO A  94       6.298  15.546   7.627  1.00  6.08          C   \nATOM    754  C   PRO A  94       5.438  16.798   7.468  1.00  6.08          C   \nATOM    755  CB  PRO A  94       6.500  15.207   9.106  1.00  6.08          C   \nATOM    756  O   PRO A  94       4.211  16.701   7.386  1.00  6.08          O   \nATOM    757  CG  PRO A  94       7.963  15.397   9.346  1.00  6.08          C   \nATOM    758  CD  PRO A  94       8.633  15.652   8.026  1.00  6.08          C   \nATOM    759  N   LYS A  95       6.057  18.015   7.264  1.00  6.08          N   \nATOM    760  CA  LYS A  95       5.244  19.214   7.077  1.00  6.08          C   \nATOM    761  C   LYS A  95       5.046  19.517   5.595  1.00  6.08          C   \nATOM    762  CB  LYS A  95       5.887  20.413   7.776  1.00  6.08          C   \nATOM    763  O   LYS A  95       4.278  20.413   5.236  1.00  6.08          O   \nATOM    764  CG  LYS A  95       5.879  20.321   9.295  1.00  6.08          C   \nATOM    765  CD  LYS A  95       6.403  21.600   9.935  1.00  6.08          C   \nATOM    766  CE  LYS A  95       6.462  21.483  11.452  1.00  6.08          C   \nATOM    767  NZ  LYS A  95       6.972  22.736  12.085  1.00  6.08          N   \nATOM    768  N   SER A  96       5.718  18.813   4.741  1.00  6.08          N   \nATOM    769  CA  SER A  96       5.637  19.195   3.335  1.00  6.08          C   \nATOM    770  C   SER A  96       4.505  18.459   2.626  1.00  6.08          C   \nATOM    771  CB  SER A  96       6.963  18.912   2.626  1.00  6.08          C   \nATOM    772  O   SER A  96       4.417  17.231   2.696  1.00  6.08          O   \nATOM    773  OG  SER A  96       6.791  17.942   1.607  1.00  6.08          O   \nATOM    774  N   PHE A  97       3.312  18.985   2.701  1.00  6.08          N   \nATOM    775  CA  PHE A  97       2.069  18.645   2.019  1.00  6.08          C   \nATOM    776  C   PHE A  97       2.310  18.435   0.529  1.00  6.08          C   \nATOM    777  CB  PHE A  97       1.020  19.741   2.232  1.00  6.08          C   \nATOM    778  O   PHE A  97       1.445  17.913  -0.178  1.00  6.08          O   \nATOM    779  CG  PHE A  97       0.311  19.653   3.556  1.00  6.08          C   \nATOM    780  CD1 PHE A  97       0.741  20.404   4.643  1.00  6.08          C   \nATOM    781  CD2 PHE A  97      -0.787  18.817   3.714  1.00  6.08          C   \nATOM    782  CE1 PHE A  97       0.086  20.325   5.869  1.00  6.08          C   \nATOM    783  CE2 PHE A  97      -1.447  18.732   4.937  1.00  6.08          C   \nATOM    784  CZ  PHE A  97      -1.008  19.486   6.014  1.00  6.08          C   \nATOM    785  N   LEU A  98       3.513  18.640   0.039  1.00  6.08          N   \nATOM    786  CA  LEU A  98       3.587  18.842  -1.404  1.00  6.08          C   \nATOM    787  C   LEU A  98       3.826  17.520  -2.126  1.00  6.08          C   \nATOM    788  CB  LEU A  98       4.699  19.835  -1.751  1.00  6.08          C   \nATOM    789  O   LEU A  98       3.478  17.377  -3.300  1.00  6.08          O   \nATOM    790  CG  LEU A  98       4.372  21.315  -1.552  1.00  6.08          C   \nATOM    791  CD1 LEU A  98       5.651  22.145  -1.553  1.00  6.08          C   \nATOM    792  CD2 LEU A  98       3.413  21.801  -2.634  1.00  6.08          C   \nATOM    793  N   SER A  99       3.933  16.395  -1.418  1.00  6.08          N   \nATOM    794  CA  SER A  99       3.847  15.299  -2.377  1.00  6.08          C   \nATOM    795  C   SER A  99       2.856  14.236  -1.915  1.00  6.08          C   \nATOM    796  CB  SER A  99       5.222  14.666  -2.593  1.00  6.08          C   \nATOM    797  O   SER A  99       3.126  13.039  -2.024  1.00  6.08          O   \nATOM    798  OG  SER A  99       6.045  14.848  -1.453  1.00  6.08          O   \nATOM    799  N   ILE A 100       1.863  14.672  -1.135  1.00  6.08          N   \nATOM    800  CA  ILE A 100       0.897  13.774  -0.510  1.00  6.08          C   \nATOM    801  C   ILE A 100      -0.327  13.626  -1.411  1.00  6.08          C   \nATOM    802  CB  ILE A 100       0.475  14.281   0.887  1.00  6.08          C   \nATOM    803  O   ILE A 100      -0.866  14.619  -1.905  1.00  6.08          O   \nATOM    804  CG1 ILE A 100       1.693  14.364   1.815  1.00  6.08          C   \nATOM    805  CG2 ILE A 100      -0.608  13.379   1.485  1.00  6.08          C   \nATOM    806  CD1 ILE A 100       1.410  15.041   3.149  1.00  6.08          C   \nATOM    807  N   LYS A 101      -0.627  12.452  -2.003  1.00  6.08          N   \nATOM    808  CA  LYS A 101      -1.914  12.267  -2.668  1.00  6.08          C   \nATOM    809  C   LYS A 101      -2.834  11.369  -1.846  1.00  6.08          C   \nATOM    810  CB  LYS A 101      -1.717  11.677  -4.065  1.00  6.08          C   \nATOM    811  O   LYS A 101      -2.372  10.433  -1.190  1.00  6.08          O   \nATOM    812  CG  LYS A 101      -1.039  12.621  -5.046  1.00  6.08          C   \nATOM    813  CD  LYS A 101      -1.055  12.062  -6.463  1.00  6.08          C   \nATOM    814  CE  LYS A 101      -0.350  12.992  -7.441  1.00  6.08          C   \nATOM    815  NZ  LYS A 101      -0.430  12.486  -8.844  1.00  6.08          N   \nATOM    816  N   GLU A 102      -3.972  11.868  -1.441  1.00  6.08          N   \nATOM    817  CA  GLU A 102      -5.024  11.157  -0.721  1.00  6.08          C   \nATOM    818  C   GLU A 102      -6.074  10.605  -1.681  1.00  6.08          C   \nATOM    819  CB  GLU A 102      -5.686  12.076   0.310  1.00  6.08          C   \nATOM    820  O   GLU A 102      -6.525  11.308  -2.587  1.00  6.08          O   \nATOM    821  CG  GLU A 102      -6.179  11.350   1.553  1.00  6.08          C   \nATOM    822  CD  GLU A 102      -6.742  12.286   2.611  1.00  6.08          C   \nATOM    823  OE1 GLU A 102      -7.929  12.141   2.980  1.00  6.08          O   \nATOM    824  OE2 GLU A 102      -5.989  13.172   3.073  1.00  6.08          O   \nATOM    825  N   TYR A 103      -6.415   9.341  -1.509  1.00  5.36          N   \nATOM    826  CA  TYR A 103      -7.466   8.743  -2.325  1.00  5.36          C   \nATOM    827  C   TYR A 103      -8.614   8.244  -1.456  1.00  5.36          C   \nATOM    828  CB  TYR A 103      -6.906   7.589  -3.163  1.00  5.36          C   \nATOM    829  O   TYR A 103      -8.406   7.443  -0.541  1.00  5.36          O   \nATOM    830  CG  TYR A 103      -5.758   7.990  -4.057  1.00  5.36          C   \nATOM    831  CD1 TYR A 103      -4.440   7.899  -3.614  1.00  5.36          C   \nATOM    832  CD2 TYR A 103      -5.988   8.459  -5.345  1.00  5.36          C   \nATOM    833  CE1 TYR A 103      -3.379   8.269  -4.434  1.00  5.36          C   \nATOM    834  CE2 TYR A 103      -4.935   8.832  -6.174  1.00  5.36          C   \nATOM    835  OH  TYR A 103      -2.589   9.101  -6.526  1.00  5.36          O   \nATOM    836  CZ  TYR A 103      -3.636   8.733  -5.710  1.00  5.36          C   \nATOM    837  N   LYS A 104      -9.836   8.844  -1.571  1.00  6.08          N   \nATOM    838  CA  LYS A 104     -11.038   8.471  -0.832  1.00  6.08          C   \nATOM    839  C   LYS A 104     -11.649   7.188  -1.387  1.00  6.08          C   \nATOM    840  CB  LYS A 104     -12.066   9.602  -0.872  1.00  6.08          C   \nATOM    841  O   LYS A 104     -11.782   7.033  -2.603  1.00  6.08          O   \nATOM    842  CG  LYS A 104     -13.244   9.402   0.070  1.00  6.08          C   \nATOM    843  CD  LYS A 104     -14.209  10.579   0.017  1.00  6.08          C   \nATOM    844  CE  LYS A 104     -15.411  10.360   0.925  1.00  6.08          C   \nATOM    845  NZ  LYS A 104     -16.346  11.524   0.898  1.00  6.08          N   \nATOM    846  N   PHE A 105     -11.952   6.243  -0.555  1.00  6.08          N   \nATOM    847  CA  PHE A 105     -12.601   4.981  -0.891  1.00  6.08          C   \nATOM    848  C   PHE A 105     -14.029   4.948  -0.359  1.00  6.08          C   \nATOM    849  CB  PHE A 105     -11.804   3.799  -0.330  1.00  6.08          C   \nATOM    850  O   PHE A 105     -14.252   5.098   0.844  1.00  6.08          O   \nATOM    851  CG  PHE A 105     -11.481   2.744  -1.354  1.00  6.08          C   \nATOM    852  CD1 PHE A 105     -10.418   2.913  -2.234  1.00  6.08          C   \nATOM    853  CD2 PHE A 105     -12.239   1.584  -1.436  1.00  6.08          C   \nATOM    854  CE1 PHE A 105     -10.116   1.938  -3.182  1.00  6.08          C   \nATOM    855  CE2 PHE A 105     -11.944   0.606  -2.382  1.00  6.08          C   \nATOM    856  CZ  PHE A 105     -10.883   0.785  -3.254  1.00  6.08          C   \nATOM    857  N   GLY A 106     -15.105   4.749  -1.141  1.00  6.08          N   \nATOM    858  CA  GLY A 106     -16.469   4.462  -0.727  1.00  6.08          C   \nATOM    859  C   GLY A 106     -17.097   5.584   0.078  1.00  6.08          C   \nATOM    860  O   GLY A 106     -16.419   6.547   0.445  1.00  6.08          O   \nATOM    861  N   THR A 107     -18.460   5.770  -0.034  1.00  6.08          N   \nATOM    862  CA  THR A 107     -19.388   6.728   0.555  1.00  6.08          C   \nATOM    863  C   THR A 107     -20.150   6.098   1.717  1.00  6.08          C   \nATOM    864  CB  THR A 107     -20.386   7.256  -0.492  1.00  6.08          C   \nATOM    865  O   THR A 107     -21.036   5.267   1.507  1.00  6.08          O   \nATOM    866  CG2 THR A 107     -19.699   8.182  -1.490  1.00  6.08          C   \nATOM    867  OG1 THR A 107     -20.957   6.148  -1.200  1.00  6.08          O   \nATOM    868  N   ARG A 108     -19.518   5.476   2.709  1.00  6.08          N   \nATOM    869  CA  ARG A 108     -20.503   5.366   3.780  1.00  6.08          C   \nATOM    870  C   ARG A 108     -20.263   6.422   4.855  1.00  6.08          C   \nATOM    871  CB  ARG A 108     -20.469   3.968   4.402  1.00  6.08          C   \nATOM    872  O   ARG A 108     -19.123   6.646   5.268  1.00  6.08          O   \nATOM    873  CG  ARG A 108     -21.303   2.941   3.653  1.00  6.08          C   \nATOM    874  CD  ARG A 108     -21.351   1.609   4.389  1.00  6.08          C   \nATOM    875  NE  ARG A 108     -22.338   0.706   3.804  1.00  6.08          N   \nATOM    876  NH1 ARG A 108     -22.022  -0.977   5.356  1.00  6.08          N   \nATOM    877  NH2 ARG A 108     -23.549  -1.241   3.667  1.00  6.08          N   \nATOM    878  CZ  ARG A 108     -22.634  -0.502   4.277  1.00  6.08          C   \nATOM    879  N   THR A 109     -21.000   7.550   4.650  1.00  6.08          N   \nATOM    880  CA  THR A 109     -21.263   8.726   5.472  1.00  6.08          C   \nATOM    881  C   THR A 109     -21.852   8.323   6.821  1.00  6.08          C   \nATOM    882  CB  THR A 109     -22.219   9.702   4.762  1.00  6.08          C   \nATOM    883  O   THR A 109     -22.761   7.492   6.883  1.00  6.08          O   \nATOM    884  CG2 THR A 109     -21.477  10.545   3.730  1.00  6.08          C   \nATOM    885  OG1 THR A 109     -23.249   8.956   4.102  1.00  6.08          O   \nATOM    886  N   GLY A 110     -21.151   8.030   7.805  1.00  6.08          N   \nATOM    887  CA  GLY A 110     -21.715   8.302   9.117  1.00  6.08          C   \nATOM    888  C   GLY A 110     -20.888   7.731  10.253  1.00  6.08          C   \nATOM    889  O   GLY A 110     -20.720   6.514  10.354  1.00  6.08          O   \nATOM    890  N   GLY A 111     -20.142   8.505  10.862  1.00  6.08          N   \nATOM    891  CA  GLY A 111     -19.936   8.533  12.301  1.00  6.08          C   \nATOM    892  C   GLY A 111     -18.518   8.904  12.693  1.00  6.08          C   \nATOM    893  O   GLY A 111     -17.638   9.007  11.836  1.00  6.08          O   \nATOM    894  N   ASN A 112     -18.313   9.718  13.747  1.00  6.08          N   \nATOM    895  CA  ASN A 112     -17.174  10.179  14.534  1.00  6.08          C   \nATOM    896  C   ASN A 112     -16.127   9.082  14.702  1.00  6.08          C   \nATOM    897  CB  ASN A 112     -17.637  10.685  15.902  1.00  6.08          C   \nATOM    898  O   ASN A 112     -16.444   7.978  15.149  1.00  6.08          O   \nATOM    899  CG  ASN A 112     -18.364  12.013  15.817  1.00  6.08          C   \nATOM    900  ND2 ASN A 112     -19.255  12.262  16.770  1.00  6.08          N   \nATOM    901  OD1 ASN A 112     -18.128  12.807  14.904  1.00  6.08          O   \nATOM    902  N   PHE A 113     -14.987   8.972  14.050  1.00  6.08          N   \nATOM    903  CA  PHE A 113     -14.107   7.891  14.478  1.00  6.08          C   \nATOM    904  C   PHE A 113     -12.665   8.373  14.576  1.00  6.08          C   \nATOM    905  CB  PHE A 113     -14.201   6.706  13.512  1.00  6.08          C   \nATOM    906  O   PHE A 113     -12.245   9.251  13.819  1.00  6.08          O   \nATOM    907  CG  PHE A 113     -15.131   5.617  13.975  1.00  6.08          C   \nATOM    908  CD1 PHE A 113     -16.472   5.629  13.613  1.00  6.08          C   \nATOM    909  CD2 PHE A 113     -14.664   4.581  14.774  1.00  6.08          C   \nATOM    910  CE1 PHE A 113     -17.336   4.623  14.040  1.00  6.08          C   \nATOM    911  CE2 PHE A 113     -15.520   3.572  15.204  1.00  6.08          C   \nATOM    912  CZ  PHE A 113     -16.856   3.595  14.837  1.00  6.08          C   \nATOM    913  N   THR A 114     -11.825   7.651  15.237  1.00  6.08          N   \nATOM    914  CA  THR A 114     -10.413   7.467  15.554  1.00  6.08          C   \nATOM    915  C   THR A 114     -10.065   5.983  15.631  1.00  6.08          C   \nATOM    916  CB  THR A 114     -10.044   8.154  16.882  1.00  6.08          C   \nATOM    917  O   THR A 114     -10.307   5.336  16.652  1.00  6.08          O   \nATOM    918  CG2 THR A 114     -10.124   9.672  16.757  1.00  6.08          C   \nATOM    919  OG1 THR A 114     -10.951   7.722  17.904  1.00  6.08          O   \nATOM    920  N   GLY A 115     -10.385   5.096  14.476  1.00  6.08          N   \nATOM    921  CA  GLY A 115      -9.894   3.756  14.757  1.00  6.08          C   \nATOM    922  C   GLY A 115      -9.108   3.156  13.607  1.00  6.08          C   \nATOM    923  O   GLY A 115      -8.864   3.823  12.600  1.00  6.08          O   \nATOM    924  N   GLU A 116      -8.292   2.078  13.803  1.00  6.08          N   \nATOM    925  CA  GLU A 116      -7.455   1.166  13.029  1.00  6.08          C   \nATOM    926  C   GLU A 116      -8.271   0.435  11.966  1.00  6.08          C   \nATOM    927  CB  GLU A 116      -6.766   0.156  13.950  1.00  6.08          C   \nATOM    928  O   GLU A 116      -9.471   0.214  12.141  1.00  6.08          O   \nATOM    929  CG  GLU A 116      -5.620   0.745  14.760  1.00  6.08          C   \nATOM    930  CD  GLU A 116      -4.833  -0.301  15.533  1.00  6.08          C   \nATOM    931  OE1 GLU A 116      -3.793   0.046  16.138  1.00  6.08          O   \nATOM    932  OE2 GLU A 116      -5.258  -1.478  15.533  1.00  6.08          O   \nATOM    933  N   LEU A 117      -7.867   0.276  10.616  1.00  5.36          N   \nATOM    934  CA  LEU A 117      -8.515  -0.475   9.546  1.00  5.36          C   \nATOM    935  C   LEU A 117      -8.722  -1.930   9.952  1.00  5.36          C   \nATOM    936  CB  LEU A 117      -7.684  -0.404   8.263  1.00  5.36          C   \nATOM    937  O   LEU A 117      -7.933  -2.483  10.723  1.00  5.36          O   \nATOM    938  CG  LEU A 117      -7.563   0.973   7.608  1.00  5.36          C   \nATOM    939  CD1 LEU A 117      -6.504   0.947   6.511  1.00  5.36          C   \nATOM    940  CD2 LEU A 117      -8.910   1.418   7.048  1.00  5.36          C   \nATOM    941  N   THR A 118      -9.851  -2.455   9.647  1.00  5.36          N   \nATOM    942  CA  THR A 118     -10.035  -3.895   9.790  1.00  5.36          C   \nATOM    943  C   THR A 118      -9.157  -4.654   8.798  1.00  5.36          C   \nATOM    944  CB  THR A 118     -11.508  -4.294   9.584  1.00  5.36          C   \nATOM    945  O   THR A 118      -8.605  -4.060   7.869  1.00  5.36          O   \nATOM    946  CG2 THR A 118     -12.428  -3.487  10.493  1.00  5.36          C   \nATOM    947  OG1 THR A 118     -11.875  -4.057   8.219  1.00  5.36          O   \nATOM    948  N   LYS A 119      -8.889  -5.923   9.112  1.00  6.08          N   \nATOM    949  CA  LYS A 119      -8.123  -6.769   8.201  1.00  6.08          C   \nATOM    950  C   LYS A 119      -8.726  -6.753   6.799  1.00  6.08          C   \nATOM    951  CB  LYS A 119      -8.057  -8.204   8.727  1.00  6.08          C   \nATOM    952  O   LYS A 119      -8.000  -6.675   5.806  1.00  6.08          O   \nATOM    953  CG  LYS A 119      -7.022  -9.073   8.027  1.00  6.08          C   \nATOM    954  CD  LYS A 119      -6.951 -10.463   8.644  1.00  6.08          C   \nATOM    955  CE  LYS A 119      -6.004 -11.371   7.872  1.00  6.08          C   \nATOM    956  NZ  LYS A 119      -5.944 -12.741   8.463  1.00  6.08          N   \nATOM    957  N   GLN A 120     -10.033  -6.874   6.687  1.00  6.08          N   \nATOM    958  CA  GLN A 120     -10.739  -6.867   5.410  1.00  6.08          C   \nATOM    959  C   GLN A 120     -10.510  -5.558   4.661  1.00  6.08          C   \nATOM    960  CB  GLN A 120     -12.236  -7.096   5.623  1.00  6.08          C   \nATOM    961  O   GLN A 120     -10.287  -5.560   3.449  1.00  6.08          O   \nATOM    962  CG  GLN A 120     -12.965  -7.594   4.383  1.00  6.08          C   \nATOM    963  CD  GLN A 120     -14.269  -8.298   4.711  1.00  6.08          C   \nATOM    964  NE2 GLN A 120     -14.806  -9.032   3.742  1.00  6.08          N   \nATOM    965  OE1 GLN A 120     -14.788  -8.184   5.826  1.00  6.08          O   \nATOM    966  N   GLU A 121     -10.563  -4.457   5.339  1.00  5.36          N   \nATOM    967  CA  GLU A 121     -10.315  -3.150   4.738  1.00  5.36          C   \nATOM    968  C   GLU A 121      -8.891  -3.052   4.198  1.00  5.36          C   \nATOM    969  CB  GLU A 121     -10.571  -2.034   5.753  1.00  5.36          C   \nATOM    970  O   GLU A 121      -8.667  -2.500   3.119  1.00  5.36          O   \nATOM    971  CG  GLU A 121     -12.041  -1.836   6.092  1.00  5.36          C   \nATOM    972  CD  GLU A 121     -12.266  -0.891   7.262  1.00  5.36          C   \nATOM    973  OE1 GLU A 121     -13.256  -0.126   7.243  1.00  5.36          O   \nATOM    974  OE2 GLU A 121     -11.443  -0.916   8.205  1.00  5.36          O   \nATOM    975  N   LEU A 122      -7.942  -3.571   4.960  1.00  5.36          N   \nATOM    976  CA  LEU A 122      -6.554  -3.544   4.512  1.00  5.36          C   \nATOM    977  C   LEU A 122      -6.385  -4.331   3.217  1.00  5.36          C   \nATOM    978  CB  LEU A 122      -5.632  -4.115   5.593  1.00  5.36          C   \nATOM    979  O   LEU A 122      -5.705  -3.876   2.294  1.00  5.36          O   \nATOM    980  CG  LEU A 122      -5.295  -3.183   6.758  1.00  5.36          C   \nATOM    981  CD1 LEU A 122      -4.667  -3.971   7.903  1.00  5.36          C   \nATOM    982  CD2 LEU A 122      -4.365  -2.066   6.298  1.00  5.36          C   \nATOM    983  N   VAL A 123      -6.991  -5.567   3.232  1.00  5.36          N   \nATOM    984  CA  VAL A 123      -6.926  -6.409   2.042  1.00  5.36          C   \nATOM    985  C   VAL A 123      -7.518  -5.664   0.848  1.00  5.36          C   \nATOM    986  CB  VAL A 123      -7.667  -7.749   2.255  1.00  5.36          C   \nATOM    987  O   VAL A 123      -6.921  -5.633  -0.230  1.00  5.36          O   \nATOM    988  CG1 VAL A 123      -7.796  -8.509   0.936  1.00  5.36          C   \nATOM    989  CG2 VAL A 123      -6.942  -8.599   3.296  1.00  5.36          C   \nATOM    990  N   TYR A 124      -8.671  -5.070   1.043  1.00  5.36          N   \nATOM    991  CA  TYR A 124      -9.359  -4.338  -0.015  1.00  5.36          C   \nATOM    992  C   TYR A 124      -8.521  -3.160  -0.496  1.00  5.36          C   \nATOM    993  CB  TYR A 124     -10.724  -3.844   0.473  1.00  5.36          C   \nATOM    994  O   TYR A 124      -8.387  -2.937  -1.702  1.00  5.36          O   \nATOM    995  CG  TYR A 124     -11.884  -4.667  -0.033  1.00  5.36          C   \nATOM    996  CD1 TYR A 124     -12.554  -5.552   0.808  1.00  5.36          C   \nATOM    997  CD2 TYR A 124     -12.312  -4.561  -1.352  1.00  5.36          C   \nATOM    998  CE1 TYR A 124     -13.622  -6.314   0.346  1.00  5.36          C   \nATOM    999  CE2 TYR A 124     -13.379  -5.318  -1.825  1.00  5.36          C   \nATOM   1000  OH  TYR A 124     -15.084  -6.942  -1.432  1.00  5.36          O   \nATOM   1001  CZ  TYR A 124     -14.027  -6.190  -0.969  1.00  5.36          C   \nATOM   1002  N   THR A 125      -8.064  -2.317   0.476  1.00  5.36          N   \nATOM   1003  CA  THR A 125      -7.230  -1.175   0.117  1.00  5.36          C   \nATOM   1004  C   THR A 125      -6.008  -1.626  -0.679  1.00  5.36          C   \nATOM   1005  CB  THR A 125      -6.774  -0.402   1.368  1.00  5.36          C   \nATOM   1006  O   THR A 125      -5.643  -0.999  -1.675  1.00  5.36          O   \nATOM   1007  CG2 THR A 125      -7.392   0.992   1.408  1.00  5.36          C   \nATOM   1008  OG1 THR A 125      -7.173  -1.123   2.540  1.00  5.36          O   \nATOM   1009  N   ASN A 126      -5.437  -2.705  -0.271  1.00  5.36          N   \nATOM   1010  CA  ASN A 126      -4.265  -3.214  -0.977  1.00  5.36          C   \nATOM   1011  C   ASN A 126      -4.614  -3.656  -2.395  1.00  5.36          C   \nATOM   1012  CB  ASN A 126      -3.631  -4.370  -0.201  1.00  5.36          C   \nATOM   1013  O   ASN A 126      -3.866  -3.384  -3.336  1.00  5.36          O   \nATOM   1014  CG  ASN A 126      -2.693  -3.896   0.891  1.00  5.36          C   \nATOM   1015  ND2 ASN A 126      -2.429  -4.760   1.864  1.00  5.36          N   \nATOM   1016  OD1 ASN A 126      -2.209  -2.761   0.861  1.00  5.36          O   \nATOM   1017  N   GLN A 127      -5.691  -4.483  -2.497  1.00  5.36          N   \nATOM   1018  CA  GLN A 127      -6.138  -4.897  -3.823  1.00  5.36          C   \nATOM   1019  C   GLN A 127      -6.385  -3.689  -4.722  1.00  5.36          C   \nATOM   1020  CB  GLN A 127      -7.407  -5.744  -3.721  1.00  5.36          C   \nATOM   1021  O   GLN A 127      -5.973  -3.679  -5.884  1.00  5.36          O   \nATOM   1022  CG  GLN A 127      -7.729  -6.525  -4.989  1.00  5.36          C   \nATOM   1023  CD  GLN A 127      -8.927  -7.440  -4.826  1.00  5.36          C   \nATOM   1024  NE2 GLN A 127      -9.350  -8.064  -5.921  1.00  5.36          N   \nATOM   1025  OE1 GLN A 127      -9.468  -7.587  -3.726  1.00  5.36          O   \nATOM   1026  N   TRP A 128      -7.149  -2.688  -4.151  1.00  5.36          N   \nATOM   1027  CA  TRP A 128      -7.418  -1.471  -4.911  1.00  5.36          C   \nATOM   1028  C   TRP A 128      -6.119  -0.818  -5.371  1.00  5.36          C   \nATOM   1029  CB  TRP A 128      -8.232  -0.482  -4.072  1.00  5.36          C   \nATOM   1030  O   TRP A 128      -5.992  -0.427  -6.534  1.00  5.36          O   \nATOM   1031  CG  TRP A 128      -8.637   0.757  -4.813  1.00  5.36          C   \nATOM   1032  CD1 TRP A 128      -9.759   0.931  -5.576  1.00  5.36          C   \nATOM   1033  CD2 TRP A 128      -7.919   1.993  -4.866  1.00  5.36          C   \nATOM   1034  CE2 TRP A 128      -8.665   2.875  -5.680  1.00  5.36          C   \nATOM   1035  CE3 TRP A 128      -6.717   2.442  -4.304  1.00  5.36          C   \nATOM   1036  NE1 TRP A 128      -9.781   2.203  -6.099  1.00  5.36          N   \nATOM   1037  CH2 TRP A 128      -7.067   4.595  -5.381  1.00  5.36          C   \nATOM   1038  CZ2 TRP A 128      -8.247   4.181  -5.944  1.00  5.36          C   \nATOM   1039  CZ3 TRP A 128      -6.302   3.742  -4.568  1.00  5.36          C   \nATOM   1040  N   VAL A 129      -5.185  -0.613  -4.368  1.00  4.42          N   \nATOM   1041  CA  VAL A 129      -3.899  -0.000  -4.687  1.00  4.42          C   \nATOM   1042  C   VAL A 129      -3.213  -0.789  -5.800  1.00  4.42          C   \nATOM   1043  CB  VAL A 129      -2.983   0.077  -3.446  1.00  4.42          C   \nATOM   1044  O   VAL A 129      -2.691  -0.205  -6.753  1.00  4.42          O   \nATOM   1045  CG1 VAL A 129      -1.562   0.471  -3.846  1.00  4.42          C   \nATOM   1046  CG2 VAL A 129      -3.548   1.065  -2.427  1.00  4.42          C   \nATOM   1047  N   ASN A 130      -3.323  -2.084  -5.765  1.00  5.36          N   \nATOM   1048  CA  ASN A 130      -2.699  -2.948  -6.762  1.00  5.36          C   \nATOM   1049  C   ASN A 130      -3.320  -2.751  -8.142  1.00  5.36          C   \nATOM   1050  CB  ASN A 130      -2.799  -4.415  -6.339  1.00  5.36          C   \nATOM   1051  O   ASN A 130      -2.613  -2.751  -9.151  1.00  5.36          O   \nATOM   1052  CG  ASN A 130      -1.767  -4.793  -5.294  1.00  5.36          C   \nATOM   1053  ND2 ASN A 130      -2.027  -5.874  -4.568  1.00  5.36          N   \nATOM   1054  OD1 ASN A 130      -0.746  -4.118  -5.140  1.00  5.36          O   \nATOM   1055  N   GLU A 131      -4.600  -2.603  -8.153  1.00  5.36          N   \nATOM   1056  CA  GLU A 131      -5.337  -2.535  -9.412  1.00  5.36          C   \nATOM   1057  C   GLU A 131      -5.256  -1.140 -10.024  1.00  5.36          C   \nATOM   1058  CB  GLU A 131      -6.800  -2.932  -9.200  1.00  5.36          C   \nATOM   1059  O   GLU A 131      -5.324  -0.988 -11.246  1.00  5.36          O   \nATOM   1060  CG  GLU A 131      -7.000  -4.413  -8.911  1.00  5.36          C   \nATOM   1061  CD  GLU A 131      -8.445  -4.776  -8.611  1.00  5.36          C   \nATOM   1062  OE1 GLU A 131      -8.733  -5.970  -8.365  1.00  5.36          O   \nATOM   1063  OE2 GLU A 131      -9.297  -3.860  -8.623  1.00  5.36          O   \nATOM   1064  N   ASN A 132      -5.147  -0.162  -9.186  1.00  5.36          N   \nATOM   1065  CA  ASN A 132      -5.357   1.190  -9.693  1.00  5.36          C   \nATOM   1066  C   ASN A 132      -4.037   1.936  -9.863  1.00  5.36          C   \nATOM   1067  CB  ASN A 132      -6.292   1.971  -8.767  1.00  5.36          C   \nATOM   1068  O   ASN A 132      -3.931   2.838 -10.696  1.00  5.36          O   \nATOM   1069  CG  ASN A 132      -7.729   1.494  -8.851  1.00  5.36          C   \nATOM   1070  ND2 ASN A 132      -8.165   0.745  -7.845  1.00  5.36          N   \nATOM   1071  OD1 ASN A 132      -8.441   1.795  -9.813  1.00  5.36          O   \nATOM   1072  N   ILE A 133      -3.015   1.608  -8.992  1.00  5.36          N   \nATOM   1073  CA  ILE A 133      -1.781   2.384  -9.062  1.00  5.36          C   \nATOM   1074  C   ILE A 133      -0.907   1.861 -10.200  1.00  5.36          C   \nATOM   1075  CB  ILE A 133      -1.007   2.336  -7.726  1.00  5.36          C   \nATOM   1076  O   ILE A 133      -0.112   2.609 -10.773  1.00  5.36          O   \nATOM   1077  CG1 ILE A 133      -1.777   3.089  -6.635  1.00  5.36          C   \nATOM   1078  CG2 ILE A 133       0.402   2.911  -7.897  1.00  5.36          C   \nATOM   1079  CD1 ILE A 133      -1.113   3.045  -5.266  1.00  5.36          C   \nATOM   1080  N   THR A 134      -1.214   0.937 -10.975  1.00  6.08          N   \nATOM   1081  CA  THR A 134      -0.412   0.479 -12.104  1.00  6.08          C   \nATOM   1082  C   THR A 134      -0.466   1.485 -13.250  1.00  6.08          C   \nATOM   1083  CB  THR A 134      -0.887  -0.898 -12.605  1.00  6.08          C   \nATOM   1084  O   THR A 134       0.513   1.656 -13.980  1.00  6.08          O   \nATOM   1085  CG2 THR A 134       0.024  -2.012 -12.097  1.00  6.08          C   \nATOM   1086  OG1 THR A 134      -2.220  -1.137 -12.137  1.00  6.08          O   \nATOM   1087  N   LEU A 135      -1.656   2.194 -13.502  1.00  6.08          N   \nATOM   1088  CA  LEU A 135      -2.187   2.386 -14.847  1.00  6.08          C   \nATOM   1089  C   LEU A 135      -2.051   3.841 -15.283  1.00  6.08          C   \nATOM   1090  CB  LEU A 135      -3.656   1.958 -14.908  1.00  6.08          C   \nATOM   1091  O   LEU A 135      -2.144   4.147 -16.474  1.00  6.08          O   \nATOM   1092  CG  LEU A 135      -3.923   0.452 -14.925  1.00  6.08          C   \nATOM   1093  CD1 LEU A 135      -5.388   0.171 -14.609  1.00  6.08          C   \nATOM   1094  CD2 LEU A 135      -3.538  -0.144 -16.274  1.00  6.08          C   \nATOM   1095  N   ALA A 136      -1.314   4.761 -14.697  1.00  6.08          N   \nATOM   1096  CA  ALA A 136      -1.322   5.912 -15.597  1.00  6.08          C   \nATOM   1097  C   ALA A 136       0.036   6.607 -15.610  1.00  6.08          C   \nATOM   1098  CB  ALA A 136      -2.417   6.896 -15.193  1.00  6.08          C   \nATOM   1099  O   ALA A 136       0.626   6.851 -14.555  1.00  6.08          O   \nATOM   1100  N   ASN A 137       1.001   6.147 -16.376  1.00  6.08          N   \nATOM   1101  CA  ASN A 137       1.962   7.100 -16.923  1.00  6.08          C   \nATOM   1102  C   ASN A 137       2.561   7.982 -15.832  1.00  6.08          C   \nATOM   1103  CB  ASN A 137       1.305   7.963 -18.003  1.00  6.08          C   \nATOM   1104  O   ASN A 137       2.685   9.196 -16.007  1.00  6.08          O   \nATOM   1105  CG  ASN A 137       1.244   7.267 -19.349  1.00  6.08          C   \nATOM   1106  ND2 ASN A 137       0.354   7.734 -20.218  1.00  6.08          N   \nATOM   1107  OD1 ASN A 137       1.989   6.318 -19.606  1.00  6.08          O   \nATOM   1108  N   GLY A 138       2.939   7.445 -14.762  1.00  6.08          N   \nATOM   1109  CA  GLY A 138       3.642   8.286 -13.808  1.00  6.08          C   \nATOM   1110  C   GLY A 138       2.721   9.212 -13.036  1.00  6.08          C   \nATOM   1111  O   GLY A 138       3.179  10.003 -12.209  1.00  6.08          O   \nATOM   1112  N   TYR A 139       1.463   9.234 -13.302  1.00  6.08          N   \nATOM   1113  CA  TYR A 139       0.469  10.113 -12.696  1.00  6.08          C   \nATOM   1114  C   TYR A 139      -0.736   9.318 -12.207  1.00  6.08          C   \nATOM   1115  CB  TYR A 139       0.019  11.184 -13.694  1.00  6.08          C   \nATOM   1116  O   TYR A 139      -1.121   8.321 -12.822  1.00  6.08          O   \nATOM   1117  CG  TYR A 139       0.919  12.395 -13.732  1.00  6.08          C   \nATOM   1118  CD1 TYR A 139       1.986  12.467 -14.625  1.00  6.08          C   \nATOM   1119  CD2 TYR A 139       0.705  13.469 -12.874  1.00  6.08          C   \nATOM   1120  CE1 TYR A 139       2.819  13.580 -14.662  1.00  6.08          C   \nATOM   1121  CE2 TYR A 139       1.532  14.587 -12.903  1.00  6.08          C   \nATOM   1122  OH  TYR A 139       3.406  15.738 -13.831  1.00  6.08          O   \nATOM   1123  CZ  TYR A 139       2.584  14.634 -13.799  1.00  6.08          C   \nATOM   1124  N   ILE A 140      -0.939   9.058 -10.837  1.00  6.08          N   \nATOM   1125  CA  ILE A 140      -2.155   8.654 -10.138  1.00  6.08          C   \nATOM   1126  C   ILE A 140      -3.276   9.645 -10.440  1.00  6.08          C   \nATOM   1127  CB  ILE A 140      -1.924   8.553  -8.614  1.00  6.08          C   \nATOM   1128  O   ILE A 140      -3.182  10.824 -10.091  1.00  6.08          O   \nATOM   1129  CG1 ILE A 140      -0.789   7.569  -8.310  1.00  6.08          C   \nATOM   1130  CG2 ILE A 140      -3.213   8.140  -7.899  1.00  6.08          C   \nATOM   1131  CD1 ILE A 140      -0.415   7.492  -6.836  1.00  6.08          C   \nATOM   1132  N   SER A 141      -3.684   9.839 -11.715  1.00  6.08          N   \nATOM   1133  CA  SER A 141      -4.883  10.669 -11.786  1.00  6.08          C   \nATOM   1134  C   SER A 141      -6.105   9.922 -11.262  1.00  6.08          C   \nATOM   1135  CB  SER A 141      -5.133  11.127 -13.224  1.00  6.08          C   \nATOM   1136  O   SER A 141      -6.378   8.796 -11.682  1.00  6.08          O   \nATOM   1137  OG  SER A 141      -6.496  10.963 -13.574  1.00  6.08          O   \nATOM   1138  N   ALA A 142      -6.198   9.687  -9.878  1.00  6.08          N   \nATOM   1139  CA  ALA A 142      -7.356   9.155  -9.164  1.00  6.08          C   \nATOM   1140  C   ALA A 142      -8.656   9.539  -9.865  1.00  6.08          C   \nATOM   1141  CB  ALA A 142      -7.366   9.651  -7.721  1.00  6.08          C   \nATOM   1142  O   ALA A 142      -8.874  10.710 -10.184  1.00  6.08          O   \nATOM   1143  N   ASP A 143      -9.016   8.898 -10.877  1.00  6.08          N   \nATOM   1144  CA  ASP A 143     -10.425   8.964 -11.253  1.00  6.08          C   \nATOM   1145  C   ASP A 143     -11.295   9.345 -10.057  1.00  6.08          C   \nATOM   1146  CB  ASP A 143     -10.889   7.628 -11.836  1.00  6.08          C   \nATOM   1147  O   ASP A 143     -11.158   8.769  -8.975  1.00  6.08          O   \nATOM   1148  CG  ASP A 143     -11.385   7.746 -13.267  1.00  6.08          C   \nATOM   1149  OD1 ASP A 143     -11.573   6.706 -13.934  1.00  6.08          O   \nATOM   1150  OD2 ASP A 143     -11.586   8.889 -13.731  1.00  6.08          O   \nATOM   1151  N   SER A 144     -11.432  10.610  -9.724  1.00  6.08          N   \nATOM   1152  CA  SER A 144     -12.633  11.251  -9.197  1.00  6.08          C   \nATOM   1153  C   SER A 144     -13.803  10.274  -9.147  1.00  6.08          C   \nATOM   1154  CB  SER A 144     -13.009  12.466 -10.046  1.00  6.08          C   \nATOM   1155  O   SER A 144     -14.946  10.678  -8.919  1.00  6.08          O   \nATOM   1156  OG  SER A 144     -12.987  12.143 -11.426  1.00  6.08          O   \nATOM   1157  N   ARG A 145     -13.625   8.971  -9.055  1.00  6.08          N   \nATOM   1158  CA  ARG A 145     -14.877   8.231  -8.942  1.00  6.08          C   \nATOM   1159  C   ARG A 145     -15.517   8.442  -7.574  1.00  6.08          C   \nATOM   1160  CB  ARG A 145     -14.644   6.738  -9.187  1.00  6.08          C   \nATOM   1161  O   ARG A 145     -14.826   8.444  -6.554  1.00  6.08          O   \nATOM   1162  CG  ARG A 145     -14.402   6.383 -10.645  1.00  6.08          C   \nATOM   1163  CD  ARG A 145     -14.336   4.877 -10.856  1.00  6.08          C   \nATOM   1164  NE  ARG A 145     -13.186   4.497 -11.671  1.00  6.08          N   \nATOM   1165  NH1 ARG A 145     -13.735   2.255 -11.769  1.00  6.08          N   \nATOM   1166  NH2 ARG A 145     -11.852   3.025 -12.824  1.00  6.08          N   \nATOM   1167  CZ  ARG A 145     -12.927   3.260 -12.086  1.00  6.08          C   \nATOM   1168  N   THR A 146     -16.379   9.419  -7.415  1.00  6.08          N   \nATOM   1169  CA  THR A 146     -17.507   9.485  -6.494  1.00  6.08          C   \nATOM   1170  C   THR A 146     -18.280   8.169  -6.491  1.00  6.08          C   \nATOM   1171  CB  THR A 146     -18.458  10.641  -6.856  1.00  6.08          C   \nATOM   1172  O   THR A 146     -18.534   7.590  -7.549  1.00  6.08          O   \nATOM   1173  CG2 THR A 146     -18.028  11.939  -6.180  1.00  6.08          C   \nATOM   1174  OG1 THR A 146     -18.451  10.830  -8.276  1.00  6.08          O   \nATOM   1175  N   VAL A 147     -17.785   7.142  -5.708  1.00  6.08          N   \nATOM   1176  CA  VAL A 147     -18.621   5.978  -5.435  1.00  6.08          C   \nATOM   1177  C   VAL A 147     -20.048   6.427  -5.126  1.00  6.08          C   \nATOM   1178  CB  VAL A 147     -18.061   5.139  -4.264  1.00  6.08          C   \nATOM   1179  O   VAL A 147     -20.261   7.305  -4.287  1.00  6.08          O   \nATOM   1180  CG1 VAL A 147     -18.638   3.725  -4.289  1.00  6.08          C   \nATOM   1181  CG2 VAL A 147     -16.535   5.098  -4.321  1.00  6.08          C   \nATOM   1182  N   ASP A 148     -20.960   6.728  -6.190  1.00  6.08          N   \nATOM   1183  CA  ASP A 148     -22.394   6.829  -5.938  1.00  6.08          C   \nATOM   1184  C   ASP A 148     -22.901   5.619  -5.157  1.00  6.08          C   \nATOM   1185  CB  ASP A 148     -23.162   6.965  -7.254  1.00  6.08          C   \nATOM   1186  O   ASP A 148     -22.505   4.485  -5.432  1.00  6.08          O   \nATOM   1187  CG  ASP A 148     -22.902   8.285  -7.959  1.00  6.08          C   \nATOM   1188  OD1 ASP A 148     -23.140   8.380  -9.182  1.00  6.08          O   \nATOM   1189  OD2 ASP A 148     -22.451   9.237  -7.286  1.00  6.08          O   \nTER    1190      ASP A 148\nENDMDL\nEND\n"
  },
  {
    "path": "alphafold/relax/testdata/with_violations_casp14.pdb",
    "content": "MODEL        0\nATOM      1  N   SER A   1      27.311  -3.395  37.375  1.00  8.64          N   \nATOM      2  CA  SER A   1      26.072  -4.109  37.084  1.00  8.64          C   \nATOM      3  C   SER A   1      26.047  -4.608  35.643  1.00  8.64          C   \nATOM      4  CB  SER A   1      24.862  -3.211  37.342  1.00  8.64          C   \nATOM      5  O   SER A   1      26.782  -4.101  34.792  1.00  8.64          O   \nATOM      6  OG  SER A   1      24.740  -2.228  36.329  1.00  8.64          O   \nATOM      7  N   PHE A   2      25.619  -5.987  35.357  1.00  8.64          N   \nATOM      8  CA  PHE A   2      25.448  -6.479  33.995  1.00  8.64          C   \nATOM      9  C   PHE A   2      25.049  -5.347  33.056  1.00  8.64          C   \nATOM     10  CB  PHE A   2      24.395  -7.591  33.953  1.00  8.64          C   \nATOM     11  O   PHE A   2      25.590  -5.226  31.955  1.00  8.64          O   \nATOM     12  CG  PHE A   2      24.140  -8.134  32.573  1.00  8.64          C   \nATOM     13  CD1 PHE A   2      25.003  -9.063  32.006  1.00  8.64          C   \nATOM     14  CD2 PHE A   2      23.036  -7.714  31.842  1.00  8.64          C   \nATOM     15  CE1 PHE A   2      24.770  -9.567  30.728  1.00  8.64          C   \nATOM     16  CE2 PHE A   2      22.796  -8.214  30.565  1.00  8.64          C   \nATOM     17  CZ  PHE A   2      23.665  -9.139  30.010  1.00  8.64          C   \nATOM     18  N   GLU A   3      24.279  -4.453  33.583  1.00  8.64          N   \nATOM     19  CA  GLU A   3      23.756  -3.316  32.831  1.00  8.64          C   \nATOM     20  C   GLU A   3      24.858  -2.308  32.517  1.00  8.64          C   \nATOM     21  CB  GLU A   3      22.624  -2.635  33.604  1.00  8.64          C   \nATOM     22  O   GLU A   3      24.963  -1.828  31.387  1.00  8.64          O   \nATOM     23  CG  GLU A   3      21.251  -3.239  33.345  1.00  8.64          C   \nATOM     24  CD  GLU A   3      20.291  -3.067  34.511  1.00  8.64          C   \nATOM     25  OE1 GLU A   3      19.129  -3.525  34.413  1.00  8.64          O   \nATOM     26  OE2 GLU A   3      20.702  -2.469  35.530  1.00  8.64          O   \nATOM     27  N   GLU A   4      25.795  -2.118  33.499  1.00  8.64          N   \nATOM     28  CA  GLU A   4      26.873  -1.150  33.321  1.00  8.64          C   \nATOM     29  C   GLU A   4      27.923  -1.667  32.341  1.00  8.64          C   \nATOM     30  CB  GLU A   4      27.526  -0.820  34.666  1.00  8.64          C   \nATOM     31  O   GLU A   4      28.401  -0.920  31.485  1.00  8.64          O   \nATOM     32  CG  GLU A   4      26.709   0.130  35.529  1.00  8.64          C   \nATOM     33  CD  GLU A   4      27.351   0.416  36.878  1.00  8.64          C   \nATOM     34  OE1 GLU A   4      26.801   1.234  37.650  1.00  8.64          O   \nATOM     35  OE2 GLU A   4      28.412  -0.182  37.164  1.00  8.64          O   \nATOM     36  N   GLN A   5      28.078  -2.983  32.335  1.00  8.64          N   \nATOM     37  CA  GLN A   5      29.050  -3.614  31.449  1.00  8.64          C   \nATOM     38  C   GLN A   5      28.520  -3.696  30.020  1.00  8.64          C   \nATOM     39  CB  GLN A   5      29.410  -5.012  31.956  1.00  8.64          C   \nATOM     40  O   GLN A   5      29.268  -3.487  29.063  1.00  8.64          O   \nATOM     41  CG  GLN A   5      30.587  -5.031  32.922  1.00  8.64          C   \nATOM     42  CD  GLN A   5      30.906  -6.425  33.430  1.00  8.64          C   \nATOM     43  NE2 GLN A   5      31.803  -6.509  34.407  1.00  8.64          N   \nATOM     44  OE1 GLN A   5      30.350  -7.418  32.950  1.00  8.64          O   \nATOM     45  N   PHE A   6      27.127  -3.824  29.849  1.00  8.64          N   \nATOM     46  CA  PHE A   6      26.442  -3.868  28.562  1.00  8.64          C   \nATOM     47  C   PHE A   6      26.501  -2.512  27.870  1.00  8.64          C   \nATOM     48  CB  PHE A   6      24.983  -4.302  28.744  1.00  8.64          C   \nATOM     49  O   PHE A   6      26.819  -2.429  26.682  1.00  8.64          O   \nATOM     50  CG  PHE A   6      24.232  -4.461  27.450  1.00  8.64          C   \nATOM     51  CD1 PHE A   6      24.326  -5.636  26.715  1.00  8.64          C   \nATOM     52  CD2 PHE A   6      23.431  -3.434  26.968  1.00  8.64          C   \nATOM     53  CE1 PHE A   6      23.631  -5.786  25.517  1.00  8.64          C   \nATOM     54  CE2 PHE A   6      22.734  -3.576  25.771  1.00  8.64          C   \nATOM     55  CZ  PHE A   6      22.836  -4.753  25.047  1.00  8.64          C   \nATOM     56  N   ILE A   7      26.367  -1.421  28.620  1.00  8.64          N   \nATOM     57  CA  ILE A   7      26.395  -0.058  28.103  1.00  8.64          C   \nATOM     58  C   ILE A   7      27.816   0.304  27.677  1.00  8.64          C   \nATOM     59  CB  ILE A   7      25.874   0.954  29.148  1.00  8.64          C   \nATOM     60  O   ILE A   7      28.020   0.896  26.614  1.00  8.64          O   \nATOM     61  CG1 ILE A   7      24.383   0.725  29.417  1.00  8.64          C   \nATOM     62  CG2 ILE A   7      26.133   2.391  28.685  1.00  8.64          C   \nATOM     63  CD1 ILE A   7      23.831   1.540  30.579  1.00  8.64          C   \nATOM     64  N   LYS A   8      28.765  -0.137  28.420  1.00  8.64          N   \nATOM     65  CA  LYS A   8      30.171   0.158  28.160  1.00  8.64          C   \nATOM     66  C   LYS A   8      30.668  -0.584  26.922  1.00  8.64          C   \nATOM     67  CB  LYS A   8      31.030  -0.210  29.371  1.00  8.64          C   \nATOM     68  O   LYS A   8      31.368  -0.008  26.086  1.00  8.64          O   \nATOM     69  CG  LYS A   8      32.396   0.462  29.387  1.00  8.64          C   \nATOM     70  CD  LYS A   8      33.170   0.123  30.655  1.00  8.64          C   \nATOM     71  CE  LYS A   8      34.584   0.686  30.615  1.00  8.64          C   \nATOM     72  NZ  LYS A   8      35.350   0.348  31.852  1.00  8.64          N   \nATOM     73  N   ASN A   9      30.138  -1.772  26.738  1.00  8.64          N   \nATOM     74  CA  ASN A   9      30.622  -2.602  25.640  1.00  8.64          C   \nATOM     75  C   ASN A   9      29.908  -2.274  24.332  1.00  8.64          C   \nATOM     76  CB  ASN A   9      30.461  -4.086  25.976  1.00  8.64          C   \nATOM     77  O   ASN A   9      30.396  -2.610  23.252  1.00  8.64          O   \nATOM     78  CG  ASN A   9      31.429  -4.551  27.046  1.00  8.64          C   \nATOM     79  ND2 ASN A   9      31.123  -5.682  27.670  1.00  8.64          N   \nATOM     80  OD1 ASN A   9      32.442  -3.898  27.310  1.00  8.64          O   \nATOM     81  N   ASN A  10      28.860  -1.389  24.447  1.00  8.64          N   \nATOM     82  CA  ASN A  10      28.104  -1.128  23.227  1.00  8.64          C   \nATOM     83  C   ASN A  10      28.029   0.366  22.923  1.00  8.64          C   \nATOM     84  CB  ASN A  10      26.697  -1.720  23.330  1.00  8.64          C   \nATOM     85  O   ASN A  10      27.356   0.778  21.977  1.00  8.64          O   \nATOM     86  CG  ASN A  10      26.693  -3.234  23.250  1.00  8.64          C   \nATOM     87  ND2 ASN A  10      26.544  -3.888  24.396  1.00  8.64          N   \nATOM     88  OD1 ASN A  10      26.823  -3.811  22.167  1.00  8.64          O   \nATOM     89  N   SER A  11      28.833   1.149  23.636  1.00  8.64          N   \nATOM     90  CA  SER A  11      28.835   2.602  23.500  1.00  8.64          C   \nATOM     91  C   SER A  11      29.617   3.040  22.266  1.00  8.64          C   \nATOM     92  CB  SER A  11      29.427   3.257  24.748  1.00  8.64          C   \nATOM     93  O   SER A  11      29.395   4.132  21.740  1.00  8.64          O   \nATOM     94  OG  SER A  11      30.701   2.712  25.046  1.00  8.64          O   \nATOM     95  N   ASP A  12      30.212   2.067  21.630  1.00  8.64          N   \nATOM     96  CA  ASP A  12      30.855   2.541  20.408  1.00  8.64          C   \nATOM     97  C   ASP A  12      29.975   2.284  19.188  1.00  8.64          C   \nATOM     98  CB  ASP A  12      32.218   1.871  20.224  1.00  8.64          C   \nATOM     99  O   ASP A  12      30.218   2.836  18.113  1.00  8.64          O   \nATOM    100  CG  ASP A  12      33.270   2.391  21.189  1.00  8.64          C   \nATOM    101  OD1 ASP A  12      34.250   1.668  21.471  1.00  8.64          O   \nATOM    102  OD2 ASP A  12      33.116   3.533  21.673  1.00  8.64          O   \nATOM    103  N   SER A  13      28.711   1.753  19.485  1.00  8.64          N   \nATOM    104  CA  SER A  13      27.850   1.458  18.344  1.00  8.64          C   \nATOM    105  C   SER A  13      26.738   2.492  18.209  1.00  8.64          C   \nATOM    106  CB  SER A  13      27.245   0.060  18.477  1.00  8.64          C   \nATOM    107  O   SER A  13      26.268   3.040  19.208  1.00  8.64          O   \nATOM    108  OG  SER A  13      26.522  -0.062  19.690  1.00  8.64          O   \nATOM    109  N   ASN A  14      26.876   3.556  17.578  1.00  8.64          N   \nATOM    110  CA  ASN A  14      25.876   4.507  17.103  1.00  8.64          C   \nATOM    111  C   ASN A  14      24.502   3.857  16.973  1.00  8.64          C   \nATOM    112  CB  ASN A  14      26.306   5.114  15.766  1.00  8.64          C   \nATOM    113  O   ASN A  14      23.638   4.361  16.252  1.00  8.64          O   \nATOM    114  CG  ASN A  14      27.367   6.185  15.925  1.00  8.64          C   \nATOM    115  ND2 ASN A  14      28.105   6.452  14.854  1.00  8.64          N   \nATOM    116  OD1 ASN A  14      27.523   6.767  17.002  1.00  8.64          O   \nATOM    117  N   ILE A  15      24.147   2.876  17.739  1.00  8.64          N   \nATOM    118  CA  ILE A  15      22.782   2.392  17.562  1.00  8.64          C   \nATOM    119  C   ILE A  15      21.867   3.040  18.600  1.00  8.64          C   \nATOM    120  CB  ILE A  15      22.709   0.853  17.670  1.00  8.64          C   \nATOM    121  O   ILE A  15      22.173   3.037  19.794  1.00  8.64          O   \nATOM    122  CG1 ILE A  15      23.583   0.200  16.594  1.00  8.64          C   \nATOM    123  CG2 ILE A  15      21.259   0.372  17.564  1.00  8.64          C   \nATOM    124  CD1 ILE A  15      23.694  -1.313  16.720  1.00  8.64          C   \nATOM    125  N   LEU A  16      21.054   3.988  18.304  1.00  8.64          N   \nATOM    126  CA  LEU A  16      19.978   4.667  19.017  1.00  8.64          C   \nATOM    127  C   LEU A  16      18.932   3.668  19.501  1.00  8.64          C   \nATOM    128  CB  LEU A  16      19.320   5.718  18.120  1.00  8.64          C   \nATOM    129  O   LEU A  16      18.483   2.813  18.734  1.00  8.64          O   \nATOM    130  CG  LEU A  16      20.096   7.021  17.921  1.00  8.64          C   \nATOM    131  CD1 LEU A  16      19.696   7.681  16.605  1.00  8.64          C   \nATOM    132  CD2 LEU A  16      19.860   7.968  19.093  1.00  8.64          C   \nATOM    133  N   ALA A  17      18.869   3.238  20.703  1.00  8.64          N   \nATOM    134  CA  ALA A  17      17.774   2.555  21.387  1.00  8.64          C   \nATOM    135  C   ALA A  17      16.496   3.388  21.343  1.00  8.64          C   \nATOM    136  CB  ALA A  17      18.158   2.251  22.833  1.00  8.64          C   \nATOM    137  O   ALA A  17      16.550   4.620  21.358  1.00  8.64          O   \nATOM    138  N   PRO A  18      15.357   2.800  20.785  1.00  8.64          N   \nATOM    139  CA  PRO A  18      14.061   3.472  20.894  1.00  8.64          C   \nATOM    140  C   PRO A  18      13.755   3.936  22.317  1.00  8.64          C   \nATOM    141  CB  PRO A  18      13.067   2.397  20.446  1.00  8.64          C   \nATOM    142  O   PRO A  18      14.149   3.277  23.283  1.00  8.64          O   \nATOM    143  CG  PRO A  18      13.852   1.125  20.452  1.00  8.64          C   \nATOM    144  CD  PRO A  18      15.296   1.456  20.699  1.00  8.64          C   \nATOM    145  N   LYS A  19      13.655   5.179  22.533  1.00  8.64          N   \nATOM    146  CA  LYS A  19      13.091   5.770  23.743  1.00  8.64          C   \nATOM    147  C   LYS A  19      11.590   5.512  23.832  1.00  8.64          C   \nATOM    148  CB  LYS A  19      13.369   7.273  23.786  1.00  8.64          C   \nATOM    149  O   LYS A  19      10.851   5.783  22.884  1.00  8.64          O   \nATOM    150  CG  LYS A  19      14.728   7.635  24.367  1.00  8.64          C   \nATOM    151  CD  LYS A  19      14.887   9.143  24.519  1.00  8.64          C   \nATOM    152  CE  LYS A  19      16.267   9.509  25.048  1.00  8.64          C   \nATOM    153  NZ  LYS A  19      16.425  10.986  25.206  1.00  8.64          N   \nATOM    154  N   VAL A  20      11.044   4.381  24.383  1.00  8.64          N   \nATOM    155  CA  VAL A  20       9.629   4.231  24.706  1.00  8.64          C   \nATOM    156  C   VAL A  20       9.274   5.116  25.898  1.00  8.64          C   \nATOM    157  CB  VAL A  20       9.268   2.759  25.009  1.00  8.64          C   \nATOM    158  O   VAL A  20       9.977   5.115  26.911  1.00  8.64          O   \nATOM    159  CG1 VAL A  20       7.753   2.575  25.067  1.00  8.64          C   \nATOM    160  CG2 VAL A  20       9.882   1.833  23.960  1.00  8.64          C   \nATOM    161  N   SER A  21       8.650   6.317  25.693  1.00  8.64          N   \nATOM    162  CA  SER A  21       8.096   7.229  26.687  1.00  8.64          C   \nATOM    163  C   SER A  21       7.175   6.497  27.657  1.00  8.64          C   \nATOM    164  CB  SER A  21       7.332   8.365  26.005  1.00  8.64          C   \nATOM    165  O   SER A  21       6.372   5.657  27.245  1.00  8.64          O   \nATOM    166  OG  SER A  21       5.963   8.343  26.373  1.00  8.64          O   \nATOM    167  N   GLN A  22       7.597   6.311  28.856  1.00  8.64          N   \nATOM    168  CA  GLN A  22       6.871   5.820  30.022  1.00  8.64          C   \nATOM    169  C   GLN A  22       5.495   6.472  30.128  1.00  8.64          C   \nATOM    170  CB  GLN A  22       7.672   6.073  31.300  1.00  8.64          C   \nATOM    171  O   GLN A  22       4.544   5.852  30.609  1.00  8.64          O   \nATOM    172  CG  GLN A  22       8.650   4.958  31.644  1.00  8.64          C   \nATOM    173  CD  GLN A  22       9.489   5.270  32.869  1.00  8.64          C   \nATOM    174  NE2 GLN A  22      10.341   4.329  33.260  1.00  8.64          N   \nATOM    175  OE1 GLN A  22       9.372   6.349  33.460  1.00  8.64          O   \nATOM    176  N   SER A  23       5.264   7.531  29.349  1.00  8.64          N   \nATOM    177  CA  SER A  23       4.000   8.243  29.506  1.00  8.64          C   \nATOM    178  C   SER A  23       2.897   7.603  28.670  1.00  8.64          C   \nATOM    179  CB  SER A  23       4.160   9.713  29.115  1.00  8.64          C   \nATOM    180  O   SER A  23       1.719   7.671  29.029  1.00  8.64          O   \nATOM    181  OG  SER A  23       4.522   9.834  27.751  1.00  8.64          O   \nATOM    182  N   VAL A  24       3.264   6.700  27.791  1.00  8.64          N   \nATOM    183  CA  VAL A  24       2.305   6.038  26.913  1.00  8.64          C   \nATOM    184  C   VAL A  24       1.784   4.767  27.581  1.00  8.64          C   \nATOM    185  CB  VAL A  24       2.931   5.700  25.541  1.00  8.64          C   \nATOM    186  O   VAL A  24       0.599   4.443  27.474  1.00  8.64          O   \nATOM    187  CG1 VAL A  24       1.954   4.895  24.686  1.00  8.64          C   \nATOM    188  CG2 VAL A  24       3.350   6.979  24.818  1.00  8.64          C   \nATOM    189  N   ILE A  25       2.491   4.247  28.597  1.00  8.64          N   \nATOM    190  CA  ILE A  25       2.093   2.989  29.220  1.00  8.64          C   \nATOM    191  C   ILE A  25       1.071   3.261  30.322  1.00  8.64          C   \nATOM    192  CB  ILE A  25       3.311   2.231  29.793  1.00  8.64          C   \nATOM    193  O   ILE A  25       0.106   2.509  30.482  1.00  8.64          O   \nATOM    194  CG1 ILE A  25       4.253   1.802  28.662  1.00  8.64          C   \nATOM    195  CG2 ILE A  25       2.856   1.021  30.615  1.00  8.64          C   \nATOM    196  CD1 ILE A  25       5.548   1.162  29.144  1.00  8.64          C   \nATOM    197  N   LYS A  26       0.966   4.583  30.669  1.00  8.64          N   \nATOM    198  CA  LYS A  26       0.057   4.828  31.785  1.00  8.64          C   \nATOM    199  C   LYS A  26      -1.334   5.210  31.288  1.00  8.64          C   \nATOM    200  CB  LYS A  26       0.608   5.928  32.694  1.00  8.64          C   \nATOM    201  O   LYS A  26      -2.335   4.927  31.951  1.00  8.64          O   \nATOM    202  CG  LYS A  26       1.656   5.444  33.686  1.00  8.64          C   \nATOM    203  CD  LYS A  26       2.100   6.562  34.621  1.00  8.64          C   \nATOM    204  CE  LYS A  26       3.222   6.107  35.544  1.00  8.64          C   \nATOM    205  NZ  LYS A  26       3.671   7.205  36.452  1.00  8.64          N   \nATOM    206  N   SER A  27      -1.519   5.405  29.984  1.00  8.64          N   \nATOM    207  CA  SER A  27      -2.818   5.830  29.472  1.00  8.64          C   \nATOM    208  C   SER A  27      -3.593   4.654  28.886  1.00  8.64          C   \nATOM    209  CB  SER A  27      -2.647   6.918  28.412  1.00  8.64          C   \nATOM    210  O   SER A  27      -4.818   4.714  28.757  1.00  8.64          O   \nATOM    211  OG  SER A  27      -1.783   7.941  28.876  1.00  8.64          O   \nATOM    212  N   ILE A  28      -3.005   3.525  29.012  1.00  8.64          N   \nATOM    213  CA  ILE A  28      -3.699   2.421  28.358  1.00  8.64          C   \nATOM    214  C   ILE A  28      -4.341   1.519  29.410  1.00  8.64          C   \nATOM    215  CB  ILE A  28      -2.741   1.603  27.463  1.00  8.64          C   \nATOM    216  O   ILE A  28      -5.121   0.624  29.076  1.00  8.64          O   \nATOM    217  CG1 ILE A  28      -2.140   2.495  26.370  1.00  8.64          C   \nATOM    218  CG2 ILE A  28      -3.468   0.402  26.851  1.00  8.64          C   \nATOM    219  CD1 ILE A  28      -1.059   1.814  25.541  1.00  8.64          C   \nATOM    220  N   LYS A  29      -4.577   2.107  30.648  1.00  8.64          N   \nATOM    221  CA  LYS A  29      -5.233   1.333  31.698  1.00  8.64          C   \nATOM    222  C   LYS A  29      -6.750   1.358  31.533  1.00  8.64          C   \nATOM    223  CB  LYS A  29      -4.847   1.867  33.078  1.00  8.64          C   \nATOM    224  O   LYS A  29      -7.358   2.430  31.493  1.00  8.64          O   \nATOM    225  CG  LYS A  29      -3.666   1.147  33.712  1.00  8.64          C   \nATOM    226  CD  LYS A  29      -3.402   1.645  35.127  1.00  8.64          C   \nATOM    227  CE  LYS A  29      -2.190   0.960  35.745  1.00  8.64          C   \nATOM    228  NZ  LYS A  29      -1.924   1.448  37.131  1.00  8.64          N   \nATOM    229  N   GLY A  30      -7.229   1.083  30.294  1.00  8.64          N   \nATOM    230  CA  GLY A  30      -8.601   0.618  30.176  1.00  8.64          C   \nATOM    231  C   GLY A  30      -8.899  -0.029  28.837  1.00  8.64          C   \nATOM    232  O   GLY A  30      -9.937  -0.674  28.670  1.00  8.64          O   \nATOM    233  N   ILE A  31      -7.830  -0.266  28.050  1.00  8.64          N   \nATOM    234  CA  ILE A  31      -8.106  -0.892  26.762  1.00  8.64          C   \nATOM    235  C   ILE A  31      -7.458  -2.274  26.711  1.00  8.64          C   \nATOM    236  CB  ILE A  31      -7.601  -0.021  25.590  1.00  8.64          C   \nATOM    237  O   ILE A  31      -6.281  -2.428  27.045  1.00  8.64          O   \nATOM    238  CG1 ILE A  31      -8.334   1.326  25.572  1.00  8.64          C   \nATOM    239  CG2 ILE A  31      -7.773  -0.756  24.258  1.00  8.64          C   \nATOM    240  CD1 ILE A  31      -7.778   2.319  24.562  1.00  8.64          C   \nATOM    241  N   LYS A  32      -8.177  -3.230  27.032  1.00  8.64          N   \nATOM    242  CA  LYS A  32      -7.883  -4.648  26.851  1.00  8.64          C   \nATOM    243  C   LYS A  32      -7.261  -4.910  25.482  1.00  8.64          C   \nATOM    244  CB  LYS A  32      -9.152  -5.485  27.018  1.00  8.64          C   \nATOM    245  O   LYS A  32      -7.777  -4.449  24.461  1.00  8.64          O   \nATOM    246  CG  LYS A  32      -9.602  -5.645  28.463  1.00  8.64          C   \nATOM    247  CD  LYS A  32     -10.735  -6.656  28.587  1.00  8.64          C   \nATOM    248  CE  LYS A  32     -11.232  -6.767  30.022  1.00  8.64          C   \nATOM    249  NZ  LYS A  32     -12.323  -7.777  30.154  1.00  8.64          N   \nATOM    250  N   SER A  33      -5.945  -4.505  25.154  1.00  8.64          N   \nATOM    251  CA  SER A  33      -4.816  -4.797  24.277  1.00  8.64          C   \nATOM    252  C   SER A  33      -5.289  -5.219  22.890  1.00  8.64          C   \nATOM    253  CB  SER A  33      -3.937  -5.894  24.880  1.00  8.64          C   \nATOM    254  O   SER A  33      -6.134  -6.107  22.759  1.00  8.64          O   \nATOM    255  OG  SER A  33      -4.706  -7.046  25.181  1.00  8.64          O   \nATOM    256  N   LYS A  34      -5.506  -4.290  21.907  1.00  8.64          N   \nATOM    257  CA  LYS A  34      -5.176  -4.717  20.550  1.00  8.64          C   \nATOM    258  C   LYS A  34      -3.963  -3.963  20.015  1.00  8.64          C   \nATOM    259  CB  LYS A  34      -6.372  -4.514  19.618  1.00  8.64          C   \nATOM    260  O   LYS A  34      -3.833  -2.755  20.227  1.00  8.64          O   \nATOM    261  CG  LYS A  34      -7.490  -5.528  19.815  1.00  8.64          C   \nATOM    262  CD  LYS A  34      -8.616  -5.321  18.811  1.00  8.64          C   \nATOM    263  CE  LYS A  34      -9.773  -6.278  19.062  1.00  8.64          C   \nATOM    264  NZ  LYS A  34     -10.875  -6.087  18.072  1.00  8.64          N   \nATOM    265  N   HIS A  35      -2.824  -4.493  19.949  1.00  8.64          N   \nATOM    266  CA  HIS A  35      -1.491  -4.114  19.495  1.00  8.64          C   \nATOM    267  C   HIS A  35      -1.527  -3.581  18.066  1.00  8.64          C   \nATOM    268  CB  HIS A  35      -0.535  -5.304  19.588  1.00  8.64          C   \nATOM    269  O   HIS A  35      -2.122  -4.202  17.182  1.00  8.64          O   \nATOM    270  CG  HIS A  35      -0.328  -5.799  20.983  1.00  8.64          C   \nATOM    271  CD2 HIS A  35      -0.455  -7.038  21.515  1.00  8.64          C   \nATOM    272  ND1 HIS A  35       0.057  -4.973  22.017  1.00  8.64          N   \nATOM    273  CE1 HIS A  35       0.158  -5.684  23.127  1.00  8.64          C   \nATOM    274  NE2 HIS A  35      -0.147  -6.940  22.850  1.00  8.64          N   \nATOM    275  N   VAL A  36      -1.503  -2.286  17.829  1.00  8.64          N   \nATOM    276  CA  VAL A  36      -1.192  -1.701  16.529  1.00  8.64          C   \nATOM    277  C   VAL A  36       0.304  -1.410  16.437  1.00  8.64          C   \nATOM    278  CB  VAL A  36      -2.002  -0.410  16.279  1.00  8.64          C   \nATOM    279  O   VAL A  36       0.894  -0.861  17.371  1.00  8.64          O   \nATOM    280  CG1 VAL A  36      -1.660   0.188  14.915  1.00  8.64          C   \nATOM    281  CG2 VAL A  36      -3.500  -0.692  16.381  1.00  8.64          C   \nATOM    282  N   PHE A  37       1.020  -2.124  15.486  1.00  8.64          N   \nATOM    283  CA  PHE A  37       2.422  -1.855  15.187  1.00  8.64          C   \nATOM    284  C   PHE A  37       2.551  -0.928  13.985  1.00  8.64          C   \nATOM    285  CB  PHE A  37       3.177  -3.162  14.926  1.00  8.64          C   \nATOM    286  O   PHE A  37       1.807  -1.060  13.010  1.00  8.64          O   \nATOM    287  CG  PHE A  37       3.251  -4.071  16.124  1.00  8.64          C   \nATOM    288  CD1 PHE A  37       2.301  -5.066  16.318  1.00  8.64          C   \nATOM    289  CD2 PHE A  37       4.270  -3.928  17.057  1.00  8.64          C   \nATOM    290  CE1 PHE A  37       2.367  -5.908  17.426  1.00  8.64          C   \nATOM    291  CE2 PHE A  37       4.342  -4.766  18.166  1.00  8.64          C   \nATOM    292  CZ  PHE A  37       3.389  -5.755  18.349  1.00  8.64          C   \nATOM    293  N   GLU A  38       3.248   0.202  14.094  1.00  8.64          N   \nATOM    294  CA  GLU A  38       3.645   1.092  13.007  1.00  8.64          C   \nATOM    295  C   GLU A  38       5.086   0.830  12.578  1.00  8.64          C   \nATOM    296  CB  GLU A  38       3.477   2.556  13.421  1.00  8.64          C   \nATOM    297  O   GLU A  38       5.981   0.731  13.419  1.00  8.64          O   \nATOM    298  CG  GLU A  38       2.545   3.348  12.515  1.00  8.64          C   \nATOM    299  CD  GLU A  38       2.381   4.798  12.943  1.00  8.64          C   \nATOM    300  OE1 GLU A  38       1.724   5.575  12.214  1.00  8.64          O   \nATOM    301  OE2 GLU A  38       2.914   5.159  14.016  1.00  8.64          O   \nATOM    302  N   LEU A  39       5.280   0.263  11.288  1.00  8.64          N   \nATOM    303  CA  LEU A  39       6.615   0.024  10.751  1.00  8.64          C   \nATOM    304  C   LEU A  39       7.133   1.253  10.013  1.00  8.64          C   \nATOM    305  CB  LEU A  39       6.607  -1.185   9.811  1.00  8.64          C   \nATOM    306  O   LEU A  39       6.371   1.936   9.324  1.00  8.64          O   \nATOM    307  CG  LEU A  39       6.486  -2.558  10.474  1.00  8.64          C   \nATOM    308  CD1 LEU A  39       5.969  -3.586   9.473  1.00  8.64          C   \nATOM    309  CD2 LEU A  39       7.829  -2.994  11.050  1.00  8.64          C   \nATOM    310  N   PRO A  40       8.338   1.782  10.282  1.00  8.64          N   \nATOM    311  CA  PRO A  40       8.943   2.928   9.599  1.00  8.64          C   \nATOM    312  C   PRO A  40       9.200   2.662   8.117  1.00  8.64          C   \nATOM    313  CB  PRO A  40      10.259   3.133  10.353  1.00  8.64          C   \nATOM    314  O   PRO A  40       9.522   1.534   7.735  1.00  8.64          O   \nATOM    315  CG  PRO A  40      10.482   1.852  11.090  1.00  8.64          C   \nATOM    316  CD  PRO A  40       9.238   1.017  10.981  1.00  8.64          C   \nATOM    317  N   ILE A  41       8.660   3.312   7.012  1.00  8.64          N   \nATOM    318  CA  ILE A  41       8.626   3.183   5.560  1.00  8.64          C   \nATOM    319  C   ILE A  41       9.887   3.798   4.958  1.00  8.64          C   \nATOM    320  CB  ILE A  41       7.367   3.850   4.962  1.00  8.64          C   \nATOM    321  O   ILE A  41      10.222   4.950   5.244  1.00  8.64          O   \nATOM    322  CG1 ILE A  41       6.099   3.238   5.570  1.00  8.64          C   \nATOM    323  CG2 ILE A  41       7.360   3.722   3.436  1.00  8.64          C   \nATOM    324  CD1 ILE A  41       4.813   3.939   5.155  1.00  8.64          C   \nATOM    325  N   ASN A  42      10.941   3.063   4.710  1.00  8.64          N   \nATOM    326  CA  ASN A  42      11.934   3.552   3.759  1.00  8.64          C   \nATOM    327  C   ASN A  42      11.614   3.106   2.335  1.00  8.64          C   \nATOM    328  CB  ASN A  42      13.336   3.085   4.159  1.00  8.64          C   \nATOM    329  O   ASN A  42      10.806   2.198   2.131  1.00  8.64          O   \nATOM    330  CG  ASN A  42      13.525   1.591   3.986  1.00  8.64          C   \nATOM    331  ND2 ASN A  42      14.569   1.051   4.604  1.00  8.64          N   \nATOM    332  OD1 ASN A  42      12.741   0.928   3.303  1.00  8.64          O   \nATOM    333  N   ASP A  43      11.701   4.001   1.461  1.00  8.64          N   \nATOM    334  CA  ASP A  43      11.331   4.253   0.072  1.00  8.64          C   \nATOM    335  C   ASP A  43      11.757   3.096  -0.829  1.00  8.64          C   \nATOM    336  CB  ASP A  43      11.956   5.561  -0.421  1.00  8.64          C   \nATOM    337  O   ASP A  43      11.082   2.788  -1.813  1.00  8.64          O   \nATOM    338  CG  ASP A  43      11.313   6.793   0.191  1.00  8.64          C   \nATOM    339  OD1 ASP A  43      11.900   7.893   0.108  1.00  8.64          O   \nATOM    340  OD2 ASP A  43      10.210   6.661   0.764  1.00  8.64          O   \nATOM    341  N   LYS A  44      12.353   2.046  -0.514  1.00  8.64          N   \nATOM    342  CA  LYS A  44      12.727   0.989  -1.449  1.00  8.64          C   \nATOM    343  C   LYS A  44      11.978  -0.305  -1.142  1.00  8.64          C   \nATOM    344  CB  LYS A  44      14.236   0.744  -1.407  1.00  8.64          C   \nATOM    345  O   LYS A  44      11.810  -1.154  -2.021  1.00  8.64          O   \nATOM    346  CG  LYS A  44      15.059   1.832  -2.080  1.00  8.64          C   \nATOM    347  CD  LYS A  44      16.537   1.468  -2.124  1.00  8.64          C   \nATOM    348  CE  LYS A  44      17.370   2.584  -2.741  1.00  8.64          C   \nATOM    349  NZ  LYS A  44      18.820   2.229  -2.793  1.00  8.64          N   \nATOM    350  N   THR A  45      11.103  -0.291  -0.142  1.00  8.64          N   \nATOM    351  CA  THR A  45      10.454  -1.552   0.197  1.00  8.64          C   \nATOM    352  C   THR A  45       8.939  -1.437   0.054  1.00  8.64          C   \nATOM    353  CB  THR A  45      10.805  -1.993   1.630  1.00  8.64          C   \nATOM    354  O   THR A  45       8.223  -2.436   0.149  1.00  8.64          O   \nATOM    355  CG2 THR A  45      12.095  -2.806   1.656  1.00  8.64          C   \nATOM    356  OG1 THR A  45      10.968  -0.832   2.454  1.00  8.64          O   \nATOM    357  N   LYS A  46       8.412  -0.546  -0.642  1.00  8.64          N   \nATOM    358  CA  LYS A  46       6.961  -0.392  -0.700  1.00  8.64          C   \nATOM    359  C   LYS A  46       6.386  -1.066  -1.942  1.00  8.64          C   \nATOM    360  CB  LYS A  46       6.578   1.089  -0.682  1.00  8.64          C   \nATOM    361  O   LYS A  46       6.699  -0.675  -3.068  1.00  8.64          O   \nATOM    362  CG  LYS A  46       6.727   1.750   0.680  1.00  8.64          C   \nATOM    363  CD  LYS A  46       6.243   3.195   0.656  1.00  8.64          C   \nATOM    364  CE  LYS A  46       6.459   3.880   1.998  1.00  8.64          C   \nATOM    365  NZ  LYS A  46       6.003   5.302   1.974  1.00  8.64          N   \nATOM    366  N   ARG A  47       6.500  -2.491  -2.290  1.00  8.64          N   \nATOM    367  CA  ARG A  47       5.304  -2.979  -2.968  1.00  8.64          C   \nATOM    368  C   ARG A  47       5.112  -4.474  -2.731  1.00  8.64          C   \nATOM    369  CB  ARG A  47       5.382  -2.692  -4.469  1.00  8.64          C   \nATOM    370  O   ARG A  47       5.990  -5.276  -3.055  1.00  8.64          O   \nATOM    371  CG  ARG A  47       4.430  -1.603  -4.938  1.00  8.64          C   \nATOM    372  CD  ARG A  47       4.526  -1.379  -6.440  1.00  8.64          C   \nATOM    373  NE  ARG A  47       4.838   0.011  -6.759  1.00  8.64          N   \nATOM    374  NH1 ARG A  47       4.576  -0.237  -9.041  1.00  8.64          N   \nATOM    375  NH2 ARG A  47       5.152   1.801  -8.164  1.00  8.64          N   \nATOM    376  CZ  ARG A  47       4.854   0.522  -7.987  1.00  8.64          C   \nATOM    377  N   TYR A  48       4.776  -5.036  -1.672  1.00  8.64          N   \nATOM    378  CA  TYR A  48       4.245  -6.394  -1.657  1.00  8.64          C   \nATOM    379  C   TYR A  48       2.731  -6.390  -1.828  1.00  8.64          C   \nATOM    380  CB  TYR A  48       4.621  -7.104  -0.353  1.00  8.64          C   \nATOM    381  O   TYR A  48       2.027  -5.622  -1.168  1.00  8.64          O   \nATOM    382  CG  TYR A  48       6.098  -7.385  -0.219  1.00  8.64          C   \nATOM    383  CD1 TYR A  48       6.931  -6.518   0.484  1.00  8.64          C   \nATOM    384  CD2 TYR A  48       6.663  -8.518  -0.795  1.00  8.64          C   \nATOM    385  CE1 TYR A  48       8.293  -6.772   0.609  1.00  8.64          C   \nATOM    386  CE2 TYR A  48       8.024  -8.782  -0.677  1.00  8.64          C   \nATOM    387  OH  TYR A  48      10.177  -8.161   0.146  1.00  8.64          O   \nATOM    388  CZ  TYR A  48       8.829  -7.905   0.026  1.00  8.64          C   \nATOM    389  N   ILE A  49       2.115  -6.489  -3.067  1.00  8.64          N   \nATOM    390  CA  ILE A  49       0.852  -6.880  -3.684  1.00  8.64          C   \nATOM    391  C   ILE A  49       0.101  -7.837  -2.761  1.00  8.64          C   \nATOM    392  CB  ILE A  49       1.076  -7.534  -5.066  1.00  8.64          C   \nATOM    393  O   ILE A  49       0.588  -8.929  -2.459  1.00  8.64          O   \nATOM    394  CG1 ILE A  49       1.810  -6.567  -6.002  1.00  8.64          C   \nATOM    395  CG2 ILE A  49      -0.256  -7.981  -5.674  1.00  8.64          C   \nATOM    396  CD1 ILE A  49       2.101  -7.142  -7.381  1.00  8.64          C   \nATOM    397  N   LEU A  50      -0.593  -7.592  -1.660  1.00  8.64          N   \nATOM    398  CA  LEU A  50      -1.573  -8.173  -0.750  1.00  8.64          C   \nATOM    399  C   LEU A  50      -2.949  -8.245  -1.405  1.00  8.64          C   \nATOM    400  CB  LEU A  50      -1.653  -7.358   0.544  1.00  8.64          C   \nATOM    401  O   LEU A  50      -3.384  -7.289  -2.050  1.00  8.64          O   \nATOM    402  CG  LEU A  50      -0.484  -7.515   1.517  1.00  8.64          C   \nATOM    403  CD1 LEU A  50      -0.441  -6.339   2.488  1.00  8.64          C   \nATOM    404  CD2 LEU A  50      -0.591  -8.835   2.273  1.00  8.64          C   \nATOM    405  N   GLY A  51      -3.407  -9.384  -2.202  1.00  8.64          N   \nATOM    406  CA  GLY A  51      -4.655 -10.100  -1.989  1.00  8.64          C   \nATOM    407  C   GLY A  51      -5.574 -10.070  -3.195  1.00  8.64          C   \nATOM    408  O   GLY A  51      -6.476  -9.233  -3.274  1.00  8.64          O   \nATOM    409  N   ALA A  52      -5.228 -10.625  -4.456  1.00  8.64          N   \nATOM    410  CA  ALA A  52      -6.350 -10.631  -5.391  1.00  8.64          C   \nATOM    411  C   ALA A  52      -6.952 -12.027  -5.518  1.00  8.64          C   \nATOM    412  CB  ALA A  52      -5.905 -10.121  -6.760  1.00  8.64          C   \nATOM    413  O   ALA A  52      -6.245 -12.989  -5.829  1.00  8.64          O   \nATOM    414  N   THR A  53      -7.821 -12.550  -4.658  1.00  8.64          N   \nATOM    415  CA  THR A  53      -8.645 -13.723  -4.929  1.00  8.64          C   \nATOM    416  C   THR A  53      -9.877 -13.343  -5.745  1.00  8.64          C   \nATOM    417  CB  THR A  53      -9.083 -14.411  -3.622  1.00  8.64          C   \nATOM    418  O   THR A  53     -10.285 -12.180  -5.756  1.00  8.64          O   \nATOM    419  CG2 THR A  53      -7.877 -14.908  -2.831  1.00  8.64          C   \nATOM    420  OG1 THR A  53      -9.815 -13.477  -2.820  1.00  8.64          O   \nATOM    421  N   GLU A  54     -10.028 -13.989  -6.922  1.00  8.64          N   \nATOM    422  CA  GLU A  54     -11.170 -13.968  -7.831  1.00  8.64          C   \nATOM    423  C   GLU A  54     -12.473 -13.725  -7.074  1.00  8.64          C   \nATOM    424  CB  GLU A  54     -11.256 -15.279  -8.618  1.00  8.64          C   \nATOM    425  O   GLU A  54     -13.399 -13.109  -7.604  1.00  8.64          O   \nATOM    426  CG  GLU A  54     -10.288 -15.357  -9.789  1.00  8.64          C   \nATOM    427  CD  GLU A  54     -10.430 -16.635 -10.601  1.00  8.64          C   \nATOM    428  OE1 GLU A  54      -9.704 -16.798 -11.608  1.00  8.64          O   \nATOM    429  OE2 GLU A  54     -11.276 -17.478 -10.228  1.00  8.64          O   \nATOM    430  N   THR A  55     -12.360 -13.799  -5.890  1.00  8.64          N   \nATOM    431  CA  THR A  55     -13.448 -13.571  -4.946  1.00  8.64          C   \nATOM    432  C   THR A  55     -13.101 -12.439  -3.983  1.00  8.64          C   \nATOM    433  CB  THR A  55     -13.771 -14.847  -4.146  1.00  8.64          C   \nATOM    434  O   THR A  55     -11.941 -12.282  -3.594  1.00  8.64          O   \nATOM    435  CG2 THR A  55     -14.391 -15.915  -5.041  1.00  8.64          C   \nATOM    436  OG1 THR A  55     -12.563 -15.363  -3.573  1.00  8.64          O   \nATOM    437  N   LYS A  56     -13.303 -11.292  -4.478  1.00  8.64          N   \nATOM    438  CA  LYS A  56     -13.121  -9.990  -3.842  1.00  8.64          C   \nATOM    439  C   LYS A  56     -12.513 -10.138  -2.450  1.00  8.64          C   \nATOM    440  CB  LYS A  56     -14.454  -9.244  -3.755  1.00  8.64          C   \nATOM    441  O   LYS A  56     -13.231 -10.124  -1.449  1.00  8.64          O   \nATOM    442  CG  LYS A  56     -15.022  -8.833  -5.105  1.00  8.64          C   \nATOM    443  CD  LYS A  56     -16.241  -7.932  -4.948  1.00  8.64          C   \nATOM    444  CE  LYS A  56     -16.839  -7.558  -6.298  1.00  8.64          C   \nATOM    445  NZ  LYS A  56     -18.009  -6.643  -6.150  1.00  8.64          N   \nATOM    446  N   GLU A  57     -11.444 -10.923  -2.365  1.00  8.64          N   \nATOM    447  CA  GLU A  57     -10.922 -10.869  -1.003  1.00  8.64          C   \nATOM    448  C   GLU A  57      -9.945  -9.710  -0.832  1.00  8.64          C   \nATOM    449  CB  GLU A  57     -10.241 -12.190  -0.635  1.00  8.64          C   \nATOM    450  O   GLU A  57      -9.129  -9.443  -1.717  1.00  8.64          O   \nATOM    451  CG  GLU A  57     -11.101 -13.108   0.221  1.00  8.64          C   \nATOM    452  CD  GLU A  57     -10.378 -14.373   0.656  1.00  8.64          C   \nATOM    453  OE1 GLU A  57     -10.943 -15.149   1.461  1.00  8.64          O   \nATOM    454  OE2 GLU A  57      -9.238 -14.590   0.190  1.00  8.64          O   \nATOM    455  N   GLU A  58     -10.407  -8.718  -0.201  1.00  8.64          N   \nATOM    456  CA  GLU A  58      -9.599  -7.616   0.312  1.00  8.64          C   \nATOM    457  C   GLU A  58      -8.294  -8.124   0.918  1.00  8.64          C   \nATOM    458  CB  GLU A  58     -10.384  -6.812   1.352  1.00  8.64          C   \nATOM    459  O   GLU A  58      -8.299  -9.054   1.728  1.00  8.64          O   \nATOM    460  CG  GLU A  58     -10.114  -5.315   1.303  1.00  8.64          C   \nATOM    461  CD  GLU A  58     -10.947  -4.523   2.298  1.00  8.64          C   \nATOM    462  OE1 GLU A  58     -10.733  -3.296   2.428  1.00  8.64          O   \nATOM    463  OE2 GLU A  58     -11.819  -5.134   2.955  1.00  8.64          O   \nATOM    464  N   VAL A  59      -7.183  -8.070   0.289  1.00  6.72          N   \nATOM    465  CA  VAL A  59      -5.863  -8.557   0.675  1.00  6.72          C   \nATOM    466  C   VAL A  59      -5.151  -7.505   1.523  1.00  6.72          C   \nATOM    467  CB  VAL A  59      -5.006  -8.915  -0.560  1.00  6.72          C   \nATOM    468  O   VAL A  59      -4.402  -7.842   2.442  1.00  6.72          O   \nATOM    469  CG1 VAL A  59      -3.820  -9.790  -0.159  1.00  6.72          C   \nATOM    470  CG2 VAL A  59      -5.860  -9.616  -1.615  1.00  6.72          C   \nATOM    471  N   LEU A  60      -5.923  -6.877   2.559  1.00  6.72          N   \nATOM    472  CA  LEU A  60      -5.509  -6.065   3.699  1.00  6.72          C   \nATOM    473  C   LEU A  60      -5.287  -4.615   3.281  1.00  6.72          C   \nATOM    474  CB  LEU A  60      -4.231  -6.631   4.324  1.00  6.72          C   \nATOM    475  O   LEU A  60      -4.724  -4.351   2.216  1.00  6.72          O   \nATOM    476  CG  LEU A  60      -4.398  -7.870   5.205  1.00  6.72          C   \nATOM    477  CD1 LEU A  60      -3.064  -8.591   5.363  1.00  6.72          C   \nATOM    478  CD2 LEU A  60      -4.969  -7.486   6.565  1.00  6.72          C   \nATOM    479  N   PRO A  61      -6.061  -3.706   3.745  1.00  6.72          N   \nATOM    480  CA  PRO A  61      -5.827  -2.294   3.434  1.00  6.72          C   \nATOM    481  C   PRO A  61      -4.391  -1.859   3.717  1.00  6.72          C   \nATOM    482  CB  PRO A  61      -6.810  -1.563   4.353  1.00  6.72          C   \nATOM    483  O   PRO A  61      -3.782  -2.317   4.687  1.00  6.72          O   \nATOM    484  CG  PRO A  61      -7.183  -2.571   5.392  1.00  6.72          C   \nATOM    485  CD  PRO A  61      -6.789  -3.933   4.898  1.00  6.72          C   \nATOM    486  N   ASN A  62      -3.671  -1.566   2.620  1.00  6.72          N   \nATOM    487  CA  ASN A  62      -2.420  -0.834   2.785  1.00  6.72          C   \nATOM    488  C   ASN A  62      -2.630   0.672   2.655  1.00  6.72          C   \nATOM    489  CB  ASN A  62      -1.379  -1.315   1.772  1.00  6.72          C   \nATOM    490  O   ASN A  62      -3.578   1.117   2.004  1.00  6.72          O   \nATOM    491  CG  ASN A  62      -0.729  -2.622   2.178  1.00  6.72          C   \nATOM    492  ND2 ASN A  62      -0.250  -3.376   1.195  1.00  6.72          N   \nATOM    493  OD1 ASN A  62      -0.659  -2.953   3.364  1.00  6.72          O   \nATOM    494  N   TYR A  63      -2.223   1.347   3.620  1.00  6.72          N   \nATOM    495  CA  TYR A  63      -2.253   2.806   3.627  1.00  6.72          C   \nATOM    496  C   TYR A  63      -0.969   3.381   3.043  1.00  6.72          C   \nATOM    497  CB  TYR A  63      -2.461   3.332   5.050  1.00  6.72          C   \nATOM    498  O   TYR A  63       0.099   2.774   3.157  1.00  6.72          O   \nATOM    499  CG  TYR A  63      -3.732   2.841   5.700  1.00  6.72          C   \nATOM    500  CD1 TYR A  63      -3.747   1.663   6.442  1.00  6.72          C   \nATOM    501  CD2 TYR A  63      -4.920   3.553   5.571  1.00  6.72          C   \nATOM    502  CE1 TYR A  63      -4.917   1.205   7.041  1.00  6.72          C   \nATOM    503  CE2 TYR A  63      -6.095   3.105   6.166  1.00  6.72          C   \nATOM    504  OH  TYR A  63      -7.244   1.484   7.488  1.00  6.72          O   \nATOM    505  CZ  TYR A  63      -6.083   1.932   6.898  1.00  6.72          C   \nATOM    506  N   VAL A  64      -1.142   4.342   2.173  1.00  4.66          N   \nATOM    507  CA  VAL A  64      -0.000   5.090   1.658  1.00  4.66          C   \nATOM    508  C   VAL A  64      -0.129   6.561   2.046  1.00  4.66          C   \nATOM    509  CB  VAL A  64       0.125   4.951   0.125  1.00  4.66          C   \nATOM    510  O   VAL A  64      -1.219   7.133   1.982  1.00  4.66          O   \nATOM    511  CG1 VAL A  64      -1.005   5.701  -0.579  1.00  4.66          C   \nATOM    512  CG2 VAL A  64       1.485   5.462  -0.348  1.00  4.66          C   \nATOM    513  N   LYS A  65       0.916   7.003   2.673  1.00  6.72          N   \nATOM    514  CA  LYS A  65       0.982   8.432   2.966  1.00  6.72          C   \nATOM    515  C   LYS A  65       1.692   9.190   1.848  1.00  6.72          C   \nATOM    516  CB  LYS A  65       1.693   8.674   4.298  1.00  6.72          C   \nATOM    517  O   LYS A  65       2.804   8.830   1.455  1.00  6.72          O   \nATOM    518  CG  LYS A  65       1.604  10.110   4.795  1.00  6.72          C   \nATOM    519  CD  LYS A  65       2.207  10.258   6.186  1.00  6.72          C   \nATOM    520  CE  LYS A  65       2.153  11.701   6.669  1.00  6.72          C   \nATOM    521  NZ  LYS A  65       2.726  11.848   8.040  1.00  6.72          N   \nATOM    522  N   VAL A  66       1.057  10.179   1.205  1.00  6.72          N   \nATOM    523  CA  VAL A  66       1.588  11.120   0.224  1.00  6.72          C   \nATOM    524  C   VAL A  66       1.485  12.544   0.766  1.00  6.72          C   \nATOM    525  CB  VAL A  66       0.847  11.009  -1.127  1.00  6.72          C   \nATOM    526  O   VAL A  66       0.389  13.105   0.851  1.00  6.72          O   \nATOM    527  CG1 VAL A  66       1.477  11.935  -2.166  1.00  6.72          C   \nATOM    528  CG2 VAL A  66       0.854   9.564  -1.622  1.00  6.72          C   \nATOM    529  N   GLY A  67       2.645  13.103   1.210  1.00  6.72          N   \nATOM    530  CA  GLY A  67       2.556  14.375   1.909  1.00  6.72          C   \nATOM    531  C   GLY A  67       1.847  14.273   3.247  1.00  6.72          C   \nATOM    532  O   GLY A  67       2.248  13.488   4.109  1.00  6.72          O   \nATOM    533  N   SER A  68       0.772  15.228   3.461  1.00  6.72          N   \nATOM    534  CA  SER A  68      -0.022  15.225   4.685  1.00  6.72          C   \nATOM    535  C   SER A  68      -1.250  14.332   4.545  1.00  6.72          C   \nATOM    536  CB  SER A  68      -0.453  16.647   5.048  1.00  6.72          C   \nATOM    537  O   SER A  68      -2.061  14.234   5.469  1.00  6.72          O   \nATOM    538  OG  SER A  68      -1.210  17.226   3.999  1.00  6.72          O   \nATOM    539  N   ASP A  69      -1.295  13.620   3.451  1.00  6.72          N   \nATOM    540  CA  ASP A  69      -2.507  12.844   3.203  1.00  6.72          C   \nATOM    541  C   ASP A  69      -2.237  11.347   3.332  1.00  6.72          C   \nATOM    542  CB  ASP A  69      -3.071  13.160   1.816  1.00  6.72          C   \nATOM    543  O   ASP A  69      -1.146  10.877   3.002  1.00  6.72          O   \nATOM    544  CG  ASP A  69      -3.522  14.603   1.673  1.00  6.72          C   \nATOM    545  OD1 ASP A  69      -3.312  15.204   0.598  1.00  6.72          O   \nATOM    546  OD2 ASP A  69      -4.090  15.144   2.646  1.00  6.72          O   \nATOM    547  N   LEU A  70      -3.211  10.550   3.934  1.00  4.66          N   \nATOM    548  CA  LEU A  70      -3.196   9.096   4.057  1.00  4.66          C   \nATOM    549  C   LEU A  70      -4.202   8.459   3.105  1.00  4.66          C   \nATOM    550  CB  LEU A  70      -3.502   8.677   5.498  1.00  4.66          C   \nATOM    551  O   LEU A  70      -5.357   8.886   3.039  1.00  4.66          O   \nATOM    552  CG  LEU A  70      -3.258   7.207   5.842  1.00  4.66          C   \nATOM    553  CD1 LEU A  70      -1.767   6.890   5.788  1.00  4.66          C   \nATOM    554  CD2 LEU A  70      -3.830   6.877   7.216  1.00  4.66          C   \nATOM    555  N   TYR A  71      -3.655   7.568   2.260  1.00  4.66          N   \nATOM    556  CA  TYR A  71      -4.497   6.862   1.300  1.00  4.66          C   \nATOM    557  C   TYR A  71      -4.630   5.390   1.671  1.00  4.66          C   \nATOM    558  CB  TYR A  71      -3.926   6.994  -0.115  1.00  4.66          C   \nATOM    559  O   TYR A  71      -3.674   4.774   2.148  1.00  4.66          O   \nATOM    560  CG  TYR A  71      -3.900   8.412  -0.629  1.00  4.66          C   \nATOM    561  CD1 TYR A  71      -2.852   9.272  -0.307  1.00  4.66          C   \nATOM    562  CD2 TYR A  71      -4.923   8.897  -1.437  1.00  4.66          C   \nATOM    563  CE1 TYR A  71      -2.824  10.581  -0.777  1.00  4.66          C   \nATOM    564  CE2 TYR A  71      -4.906  10.204  -1.913  1.00  4.66          C   \nATOM    565  OH  TYR A  71      -3.832  12.332  -2.046  1.00  4.66          O   \nATOM    566  CZ  TYR A  71      -3.854  11.037  -1.578  1.00  4.66          C   \nATOM    567  N   ARG A  72      -5.791   4.900   1.584  1.00  4.66          N   \nATOM    568  CA  ARG A  72      -6.044   3.465   1.655  1.00  4.66          C   \nATOM    569  C   ARG A  72      -5.981   2.829   0.270  1.00  4.66          C   \nATOM    570  CB  ARG A  72      -7.406   3.190   2.296  1.00  4.66          C   \nATOM    571  O   ARG A  72      -6.604   3.321  -0.674  1.00  4.66          O   \nATOM    572  CG  ARG A  72      -7.679   1.717   2.555  1.00  4.66          C   \nATOM    573  CD  ARG A  72      -9.040   1.500   3.201  1.00  4.66          C   \nATOM    574  NE  ARG A  72      -9.274   0.091   3.505  1.00  4.66          N   \nATOM    575  NH1 ARG A  72     -11.472   0.383   4.153  1.00  4.66          N   \nATOM    576  NH2 ARG A  72     -10.528  -1.705   4.194  1.00  4.66          N   \nATOM    577  CZ  ARG A  72     -10.424  -0.407   3.950  1.00  4.66          C   \nATOM    578  N   LEU A  73      -5.092   1.875   0.180  1.00  4.66          N   \nATOM    579  CA  LEU A  73      -4.937   1.157  -1.080  1.00  4.66          C   \nATOM    580  C   LEU A  73      -5.727  -0.147  -1.064  1.00  4.66          C   \nATOM    581  CB  LEU A  73      -3.458   0.868  -1.354  1.00  4.66          C   \nATOM    582  O   LEU A  73      -5.700  -0.882  -0.074  1.00  4.66          O   \nATOM    583  CG  LEU A  73      -2.548   2.087  -1.518  1.00  4.66          C   \nATOM    584  CD1 LEU A  73      -1.084   1.663  -1.481  1.00  4.66          C   \nATOM    585  CD2 LEU A  73      -2.866   2.820  -2.817  1.00  4.66          C   \nATOM    586  N   LYS A  74      -6.458  -0.297  -2.040  1.00  4.66          N   \nATOM    587  CA  LYS A  74      -7.147  -1.567  -2.251  1.00  4.66          C   \nATOM    588  C   LYS A  74      -6.751  -2.192  -3.586  1.00  4.66          C   \nATOM    589  CB  LYS A  74      -8.662  -1.371  -2.193  1.00  4.66          C   \nATOM    590  O   LYS A  74      -6.697  -1.504  -4.608  1.00  4.66          O   \nATOM    591  CG  LYS A  74      -9.189  -1.022  -0.809  1.00  4.66          C   \nATOM    592  CD  LYS A  74     -10.710  -0.932  -0.796  1.00  4.66          C   \nATOM    593  CE  LYS A  74     -11.234  -0.515   0.572  1.00  4.66          C   \nATOM    594  NZ  LYS A  74     -12.725  -0.424   0.589  1.00  4.66          N   \nATOM    595  N   ALA A  75      -6.218  -3.399  -3.444  1.00  4.66          N   \nATOM    596  CA  ALA A  75      -5.851  -4.111  -4.666  1.00  4.66          C   \nATOM    597  C   ALA A  75      -6.823  -5.253  -4.948  1.00  4.66          C   \nATOM    598  CB  ALA A  75      -4.424  -4.644  -4.562  1.00  4.66          C   \nATOM    599  O   ALA A  75      -7.332  -5.887  -4.021  1.00  4.66          O   \nATOM    600  N   TYR A  76      -7.207  -5.295  -6.175  1.00  6.72          N   \nATOM    601  CA  TYR A  76      -8.028  -6.438  -6.558  1.00  6.72          C   \nATOM    602  C   TYR A  76      -7.576  -7.011  -7.896  1.00  6.72          C   \nATOM    603  CB  TYR A  76      -9.505  -6.039  -6.633  1.00  6.72          C   \nATOM    604  O   TYR A  76      -6.891  -6.335  -8.668  1.00  6.72          O   \nATOM    605  CG  TYR A  76      -9.757  -4.799  -7.457  1.00  6.72          C   \nATOM    606  CD1 TYR A  76     -10.045  -4.889  -8.817  1.00  6.72          C   \nATOM    607  CD2 TYR A  76      -9.707  -3.536  -6.878  1.00  6.72          C   \nATOM    608  CE1 TYR A  76     -10.276  -3.750  -9.580  1.00  6.72          C   \nATOM    609  CE2 TYR A  76      -9.937  -2.389  -7.631  1.00  6.72          C   \nATOM    610  OH  TYR A  76     -10.448  -1.375  -9.730  1.00  6.72          O   \nATOM    611  CZ  TYR A  76     -10.220  -2.506  -8.979  1.00  6.72          C   \nATOM    612  N   ARG A  77      -7.735  -8.365  -8.035  1.00  6.72          N   \nATOM    613  CA  ARG A  77      -7.400  -9.083  -9.261  1.00  6.72          C   \nATOM    614  C   ARG A  77      -8.658  -9.466 -10.033  1.00  6.72          C   \nATOM    615  CB  ARG A  77      -6.578 -10.335  -8.944  1.00  6.72          C   \nATOM    616  O   ARG A  77      -9.624  -9.964  -9.449  1.00  6.72          O   \nATOM    617  CG  ARG A  77      -6.025 -11.036 -10.174  1.00  6.72          C   \nATOM    618  CD  ARG A  77      -5.161 -12.233  -9.800  1.00  6.72          C   \nATOM    619  NE  ARG A  77      -4.366 -12.698 -10.933  1.00  6.72          N   \nATOM    620  NH1 ARG A  77      -3.944 -14.788 -10.043  1.00  6.72          N   \nATOM    621  NH2 ARG A  77      -3.103 -14.221 -12.098  1.00  6.72          N   \nATOM    622  CZ  ARG A  77      -3.806 -13.901 -11.022  1.00  6.72          C   \nATOM    623  N   GLU A  78      -8.703  -8.968 -11.357  1.00  6.72          N   \nATOM    624  CA  GLU A  78      -9.710  -9.433 -12.306  1.00  6.72          C   \nATOM    625  C   GLU A  78      -9.072 -10.231 -13.440  1.00  6.72          C   \nATOM    626  CB  GLU A  78     -10.500  -8.252 -12.875  1.00  6.72          C   \nATOM    627  O   GLU A  78      -7.847 -10.344 -13.513  1.00  6.72          O   \nATOM    628  CG  GLU A  78     -11.352  -7.528 -11.842  1.00  6.72          C   \nATOM    629  CD  GLU A  78     -12.234  -6.446 -12.444  1.00  6.72          C   \nATOM    630  OE1 GLU A  78     -12.957  -5.760 -11.686  1.00  6.72          O   \nATOM    631  OE2 GLU A  78     -12.203  -6.283 -13.684  1.00  6.72          O   \nATOM    632  N   LYS A  79      -9.991 -10.926 -14.239  1.00  6.72          N   \nATOM    633  CA  LYS A  79      -9.539 -11.713 -15.383  1.00  6.72          C   \nATOM    634  C   LYS A  79      -8.611 -10.898 -16.279  1.00  6.72          C   \nATOM    635  CB  LYS A  79     -10.735 -12.221 -16.191  1.00  6.72          C   \nATOM    636  O   LYS A  79      -7.610 -11.415 -16.778  1.00  6.72          O   \nATOM    637  CG  LYS A  79     -10.419 -13.415 -17.079  1.00  6.72          C   \nATOM    638  CD  LYS A  79     -11.665 -13.928 -17.790  1.00  6.72          C   \nATOM    639  CE  LYS A  79     -11.329 -15.033 -18.782  1.00  6.72          C   \nATOM    640  NZ  LYS A  79     -12.556 -15.601 -19.415  1.00  6.72          N   \nATOM    641  N   SER A  80      -8.775  -9.596 -16.232  1.00  6.72          N   \nATOM    642  CA  SER A  80      -8.111  -8.740 -17.209  1.00  6.72          C   \nATOM    643  C   SER A  80      -6.887  -8.057 -16.606  1.00  6.72          C   \nATOM    644  CB  SER A  80      -9.080  -7.685 -17.745  1.00  6.72          C   \nATOM    645  O   SER A  80      -6.072  -7.482 -17.329  1.00  6.72          O   \nATOM    646  OG  SER A  80      -9.634  -6.926 -16.684  1.00  6.72          O   \nATOM    647  N   GLY A  81      -6.705  -8.234 -15.324  1.00  6.72          N   \nATOM    648  CA  GLY A  81      -5.576  -7.527 -14.740  1.00  6.72          C   \nATOM    649  C   GLY A  81      -5.757  -7.232 -13.263  1.00  6.72          C   \nATOM    650  O   GLY A  81      -6.659  -7.775 -12.622  1.00  6.72          O   \nATOM    651  N   VAL A  82      -4.698  -6.651 -12.655  1.00  6.72          N   \nATOM    652  CA  VAL A  82      -4.661  -6.238 -11.256  1.00  6.72          C   \nATOM    653  C   VAL A  82      -4.972  -4.747 -11.149  1.00  6.72          C   \nATOM    654  CB  VAL A  82      -3.292  -6.545 -10.609  1.00  6.72          C   \nATOM    655  O   VAL A  82      -4.465  -3.943 -11.935  1.00  6.72          O   \nATOM    656  CG1 VAL A  82      -3.263  -6.076  -9.156  1.00  6.72          C   \nATOM    657  CG2 VAL A  82      -2.983  -8.039 -10.698  1.00  6.72          C   \nATOM    658  N   TYR A  83      -5.928  -4.428 -10.292  1.00  6.72          N   \nATOM    659  CA  TYR A  83      -6.336  -3.045 -10.073  1.00  6.72          C   \nATOM    660  C   TYR A  83      -5.965  -2.583  -8.668  1.00  6.72          C   \nATOM    661  CB  TYR A  83      -7.843  -2.888 -10.293  1.00  6.72          C   \nATOM    662  O   TYR A  83      -5.976  -3.376  -7.724  1.00  6.72          O   \nATOM    663  CG  TYR A  83      -8.298  -3.276 -11.679  1.00  6.72          C   \nATOM    664  CD1 TYR A  83      -8.526  -4.610 -12.011  1.00  6.72          C   \nATOM    665  CD2 TYR A  83      -8.499  -2.311 -12.660  1.00  6.72          C   \nATOM    666  CE1 TYR A  83      -8.942  -4.973 -13.287  1.00  6.72          C   \nATOM    667  CE2 TYR A  83      -8.916  -2.662 -13.940  1.00  6.72          C   \nATOM    668  OH  TYR A  83      -9.548  -4.347 -15.509  1.00  6.72          O   \nATOM    669  CZ  TYR A  83      -9.135  -3.993 -14.243  1.00  6.72          C   \nATOM    670  N   VAL A  84      -5.503  -1.346  -8.569  1.00  4.66          N   \nATOM    671  CA  VAL A  84      -5.269  -0.727  -7.268  1.00  4.66          C   \nATOM    672  C   VAL A  84      -6.170   0.496  -7.109  1.00  4.66          C   \nATOM    673  CB  VAL A  84      -3.788  -0.325  -7.089  1.00  4.66          C   \nATOM    674  O   VAL A  84      -6.240   1.343  -8.002  1.00  4.66          O   \nATOM    675  CG1 VAL A  84      -3.573   0.352  -5.737  1.00  4.66          C   \nATOM    676  CG2 VAL A  84      -2.884  -1.549  -7.227  1.00  4.66          C   \nATOM    677  N   ARG A  85      -6.913   0.488  -6.095  1.00  6.72          N   \nATOM    678  CA  ARG A  85      -7.754   1.633  -5.763  1.00  6.72          C   \nATOM    679  C   ARG A  85      -7.206   2.383  -4.553  1.00  6.72          C   \nATOM    680  CB  ARG A  85      -9.192   1.183  -5.492  1.00  6.72          C   \nATOM    681  O   ARG A  85      -6.730   1.766  -3.597  1.00  6.72          O   \nATOM    682  CG  ARG A  85     -10.184   2.329  -5.379  1.00  6.72          C   \nATOM    683  CD  ARG A  85     -11.596   1.828  -5.108  1.00  6.72          C   \nATOM    684  NE  ARG A  85     -12.400   1.796  -6.326  1.00  6.72          N   \nATOM    685  NH1 ARG A  85     -14.250   0.839  -5.327  1.00  6.72          N   \nATOM    686  NH2 ARG A  85     -14.283   1.347  -7.562  1.00  6.72          N   \nATOM    687  CZ  ARG A  85     -13.643   1.327  -6.402  1.00  6.72          C   \nATOM    688  N   THR A  86      -7.071   3.732  -4.691  1.00  6.72          N   \nATOM    689  CA  THR A  86      -6.621   4.528  -3.555  1.00  6.72          C   \nATOM    690  C   THR A  86      -7.733   5.453  -3.068  1.00  6.72          C   \nATOM    691  CB  THR A  86      -5.376   5.361  -3.914  1.00  6.72          C   \nATOM    692  O   THR A  86      -8.527   5.952  -3.868  1.00  6.72          O   \nATOM    693  CG2 THR A  86      -4.246   4.471  -4.420  1.00  6.72          C   \nATOM    694  OG1 THR A  86      -5.719   6.306  -4.935  1.00  6.72          O   \nATOM    695  N   ASN A  87      -7.936   5.475  -1.707  1.00  6.72          N   \nATOM    696  CA  ASN A  87      -8.831   6.444  -1.084  1.00  6.72          C   \nATOM    697  C   ASN A  87      -8.087   7.347  -0.105  1.00  6.72          C   \nATOM    698  CB  ASN A  87      -9.985   5.730  -0.376  1.00  6.72          C   \nATOM    699  O   ASN A  87      -7.297   6.868   0.711  1.00  6.72          O   \nATOM    700  CG  ASN A  87     -10.918   5.027  -1.342  1.00  6.72          C   \nATOM    701  ND2 ASN A  87     -11.709   4.093  -0.828  1.00  6.72          N   \nATOM    702  OD1 ASN A  87     -10.927   5.321  -2.540  1.00  6.72          O   \nATOM    703  N   LYS A  88      -8.092   8.633  -0.265  1.00  6.72          N   \nATOM    704  CA  LYS A  88      -7.558   9.565   0.724  1.00  6.72          C   \nATOM    705  C   LYS A  88      -8.305   9.448   2.049  1.00  6.72          C   \nATOM    706  CB  LYS A  88      -7.634  11.001   0.204  1.00  6.72          C   \nATOM    707  O   LYS A  88      -9.536   9.505   2.081  1.00  6.72          O   \nATOM    708  CG  LYS A  88      -6.902  12.014   1.072  1.00  6.72          C   \nATOM    709  CD  LYS A  88      -6.972  13.415   0.478  1.00  6.72          C   \nATOM    710  CE  LYS A  88      -6.293  14.439   1.377  1.00  6.72          C   \nATOM    711  NZ  LYS A  88      -6.372  15.816   0.806  1.00  6.72          N   \nATOM    712  N   LEU A  89      -7.493   9.040   3.089  1.00  6.72          N   \nATOM    713  CA  LEU A  89      -8.056   8.925   4.430  1.00  6.72          C   \nATOM    714  C   LEU A  89      -8.211  10.298   5.074  1.00  6.72          C   \nATOM    715  CB  LEU A  89      -7.174   8.033   5.307  1.00  6.72          C   \nATOM    716  O   LEU A  89      -7.367  11.177   4.884  1.00  6.72          O   \nATOM    717  CG  LEU A  89      -7.197   6.537   4.993  1.00  6.72          C   \nATOM    718  CD1 LEU A  89      -6.028   5.834   5.676  1.00  6.72          C   \nATOM    719  CD2 LEU A  89      -8.523   5.920   5.422  1.00  6.72          C   \nATOM    720  N   GLY A  90      -9.340  10.708   5.578  1.00  6.72          N   \nATOM    721  CA  GLY A  90      -9.715  11.894   6.333  1.00  6.72          C   \nATOM    722  C   GLY A  90     -10.588  12.851   5.544  1.00  6.72          C   \nATOM    723  O   GLY A  90     -11.001  13.892   6.061  1.00  6.72          O   \nATOM    724  N   PHE A  91     -10.821  12.471   4.312  1.00  8.64          N   \nATOM    725  CA  PHE A  91     -11.769  13.293   3.569  1.00  8.64          C   \nATOM    726  C   PHE A  91     -12.999  12.482   3.179  1.00  8.64          C   \nATOM    727  CB  PHE A  91     -11.109  13.881   2.318  1.00  8.64          C   \nATOM    728  O   PHE A  91     -12.889  11.479   2.471  1.00  8.64          O   \nATOM    729  CG  PHE A  91     -10.275  15.103   2.589  1.00  8.64          C   \nATOM    730  CD1 PHE A  91      -8.918  14.989   2.865  1.00  8.64          C   \nATOM    731  CD2 PHE A  91     -10.848  16.368   2.568  1.00  8.64          C   \nATOM    732  CE1 PHE A  91      -8.143  16.119   3.117  1.00  8.64          C   \nATOM    733  CE2 PHE A  91     -10.081  17.502   2.818  1.00  8.64          C   \nATOM    734  CZ  PHE A  91      -8.729  17.376   3.093  1.00  8.64          C   \nATOM    735  N   GLU A  92     -13.879  12.165   4.125  1.00  8.64          N   \nATOM    736  CA  GLU A  92     -15.112  11.423   3.881  1.00  8.64          C   \nATOM    737  C   GLU A  92     -16.103  12.251   3.067  1.00  8.64          C   \nATOM    738  CB  GLU A  92     -15.750  10.990   5.203  1.00  8.64          C   \nATOM    739  O   GLU A  92     -16.591  13.281   3.535  1.00  8.64          O   \nATOM    740  CG  GLU A  92     -15.244   9.651   5.721  1.00  8.64          C   \nATOM    741  CD  GLU A  92     -15.990   9.164   6.954  1.00  8.64          C   \nATOM    742  OE1 GLU A  92     -15.708   8.041   7.429  1.00  8.64          O   \nATOM    743  OE2 GLU A  92     -16.864   9.911   7.447  1.00  8.64          O   \nATOM    744  N   ASP A  93     -15.801  12.461   1.827  1.00  8.64          N   \nATOM    745  CA  ASP A  93     -17.029  12.844   1.137  1.00  8.64          C   \nATOM    746  C   ASP A  93     -17.790  11.614   0.648  1.00  8.64          C   \nATOM    747  CB  ASP A  93     -16.717  13.772  -0.039  1.00  8.64          C   \nATOM    748  O   ASP A  93     -17.320  10.899  -0.240  1.00  8.64          O   \nATOM    749  CG  ASP A  93     -17.958  14.419  -0.628  1.00  8.64          C   \nATOM    750  OD1 ASP A  93     -17.828  15.359  -1.442  1.00  8.64          O   \nATOM    751  OD2 ASP A  93     -19.076  13.986  -0.274  1.00  8.64          O   \nATOM    752  N   PRO A  94     -18.711  11.191   1.508  1.00  8.64          N   \nATOM    753  CA  PRO A  94     -19.501  10.003   1.175  1.00  8.64          C   \nATOM    754  C   PRO A  94     -20.029  10.028  -0.257  1.00  8.64          C   \nATOM    755  CB  PRO A  94     -20.652  10.050   2.183  1.00  8.64          C   \nATOM    756  O   PRO A  94     -20.234   8.972  -0.862  1.00  8.64          O   \nATOM    757  CG  PRO A  94     -20.438  11.316   2.948  1.00  8.64          C   \nATOM    758  CD  PRO A  94     -19.181  11.969   2.449  1.00  8.64          C   \nATOM    759  N   LYS A  95     -19.825  11.145  -1.002  1.00  8.64          N   \nATOM    760  CA  LYS A  95     -20.410  11.170  -2.340  1.00  8.64          C   \nATOM    761  C   LYS A  95     -19.342  11.416  -3.402  1.00  8.64          C   \nATOM    762  CB  LYS A  95     -21.496  12.243  -2.431  1.00  8.64          C   \nATOM    763  O   LYS A  95     -19.636  11.407  -4.599  1.00  8.64          O   \nATOM    764  CG  LYS A  95     -22.740  11.936  -1.610  1.00  8.64          C   \nATOM    765  CD  LYS A  95     -23.832  12.972  -1.841  1.00  8.64          C   \nATOM    766  CE  LYS A  95     -25.054  12.701  -0.973  1.00  8.64          C   \nATOM    767  NZ  LYS A  95     -26.134  13.705  -1.208  1.00  8.64          N   \nATOM    768  N   SER A  96     -18.077  11.513  -2.983  1.00  8.64          N   \nATOM    769  CA  SER A  96     -17.157  11.939  -4.032  1.00  8.64          C   \nATOM    770  C   SER A  96     -16.418  10.749  -4.635  1.00  8.64          C   \nATOM    771  CB  SER A  96     -16.149  12.950  -3.483  1.00  8.64          C   \nATOM    772  O   SER A  96     -15.813   9.955  -3.912  1.00  8.64          O   \nATOM    773  OG  SER A  96     -14.940  12.907  -4.222  1.00  8.64          O   \nATOM    774  N   PHE A  97     -16.938  10.059  -5.545  1.00  8.64          N   \nATOM    775  CA  PHE A  97     -16.265   9.188  -6.501  1.00  8.64          C   \nATOM    776  C   PHE A  97     -14.975   9.827  -7.000  1.00  8.64          C   \nATOM    777  CB  PHE A  97     -17.186   8.871  -7.683  1.00  8.64          C   \nATOM    778  O   PHE A  97     -14.111   9.144  -7.554  1.00  8.64          O   \nATOM    779  CG  PHE A  97     -18.358   7.998  -7.322  1.00  8.64          C   \nATOM    780  CD1 PHE A  97     -19.593   8.558  -7.018  1.00  8.64          C   \nATOM    781  CD2 PHE A  97     -18.224   6.616  -7.288  1.00  8.64          C   \nATOM    782  CE1 PHE A  97     -20.679   7.752  -6.684  1.00  8.64          C   \nATOM    783  CE2 PHE A  97     -19.305   5.804  -6.955  1.00  8.64          C   \nATOM    784  CZ  PHE A  97     -20.531   6.375  -6.652  1.00  8.64          C   \nATOM    785  N   LEU A  98     -14.602  11.045  -6.442  1.00  8.64          N   \nATOM    786  CA  LEU A  98     -13.538  11.768  -7.129  1.00  8.64          C   \nATOM    787  C   LEU A  98     -12.193  11.530  -6.451  1.00  8.64          C   \nATOM    788  CB  LEU A  98     -13.845  13.267  -7.166  1.00  8.64          C   \nATOM    789  O   LEU A  98     -11.141  11.781  -7.043  1.00  8.64          O   \nATOM    790  CG  LEU A  98     -14.980  13.704  -8.094  1.00  8.64          C   \nATOM    791  CD1 LEU A  98     -15.347  15.161  -7.833  1.00  8.64          C   \nATOM    792  CD2 LEU A  98     -14.586  13.500  -9.553  1.00  8.64          C   \nATOM    793  N   SER A  99     -12.192  10.556  -5.446  1.00  8.64          N   \nATOM    794  CA  SER A  99     -10.815  10.410  -4.984  1.00  8.64          C   \nATOM    795  C   SER A  99     -10.321   8.979  -5.164  1.00  8.64          C   \nATOM    796  CB  SER A  99     -10.696  10.819  -3.515  1.00  8.64          C   \nATOM    797  O   SER A  99      -9.273   8.607  -4.630  1.00  8.64          O   \nATOM    798  OG  SER A  99     -11.600  10.080  -2.712  1.00  8.64          O   \nATOM    799  N   ILE A 100     -11.121   8.337  -6.116  1.00  6.72          N   \nATOM    800  CA  ILE A 100     -10.638   6.974  -6.304  1.00  6.72          C   \nATOM    801  C   ILE A 100      -9.891   6.870  -7.632  1.00  6.72          C   \nATOM    802  CB  ILE A 100     -11.796   5.953  -6.259  1.00  6.72          C   \nATOM    803  O   ILE A 100     -10.389   7.318  -8.668  1.00  6.72          O   \nATOM    804  CG1 ILE A 100     -12.507   6.010  -4.902  1.00  6.72          C   \nATOM    805  CG2 ILE A 100     -11.282   4.539  -6.549  1.00  6.72          C   \nATOM    806  CD1 ILE A 100     -13.793   5.197  -4.841  1.00  6.72          C   \nATOM    807  N   LYS A 101      -8.620   6.701  -7.581  1.00  6.72          N   \nATOM    808  CA  LYS A 101      -7.845   6.403  -8.782  1.00  6.72          C   \nATOM    809  C   LYS A 101      -7.608   4.902  -8.924  1.00  6.72          C   \nATOM    810  CB  LYS A 101      -6.507   7.144  -8.756  1.00  6.72          C   \nATOM    811  O   LYS A 101      -7.289   4.223  -7.946  1.00  6.72          O   \nATOM    812  CG  LYS A 101      -6.629   8.647  -8.958  1.00  6.72          C   \nATOM    813  CD  LYS A 101      -5.263   9.304  -9.110  1.00  6.72          C   \nATOM    814  CE  LYS A 101      -5.380  10.815  -9.257  1.00  6.72          C   \nATOM    815  NZ  LYS A 101      -4.046  11.459  -9.443  1.00  6.72          N   \nATOM    816  N   GLU A 102      -8.161   4.357  -9.913  1.00  8.64          N   \nATOM    817  CA  GLU A 102      -7.946   2.952 -10.245  1.00  8.64          C   \nATOM    818  C   GLU A 102      -6.847   2.794 -11.292  1.00  8.64          C   \nATOM    819  CB  GLU A 102      -9.244   2.312 -10.744  1.00  8.64          C   \nATOM    820  O   GLU A 102      -6.808   3.537 -12.275  1.00  8.64          O   \nATOM    821  CG  GLU A 102      -9.192   0.793 -10.818  1.00  8.64          C   \nATOM    822  CD  GLU A 102     -10.515   0.167 -11.229  1.00  8.64          C   \nATOM    823  OE1 GLU A 102     -10.588  -0.435 -12.325  1.00  8.64          O   \nATOM    824  OE2 GLU A 102     -11.488   0.280 -10.449  1.00  8.64          O   \nATOM    825  N   TYR A 103      -5.920   1.999 -10.999  1.00  6.72          N   \nATOM    826  CA  TYR A 103      -4.857   1.671 -11.943  1.00  6.72          C   \nATOM    827  C   TYR A 103      -5.001   0.241 -12.451  1.00  6.72          C   \nATOM    828  CB  TYR A 103      -3.483   1.857 -11.292  1.00  6.72          C   \nATOM    829  O   TYR A 103      -5.256  -0.679 -11.670  1.00  6.72          O   \nATOM    830  CG  TYR A 103      -3.244   3.253 -10.767  1.00  6.72          C   \nATOM    831  CD1 TYR A 103      -3.589   3.595  -9.462  1.00  6.72          C   \nATOM    832  CD2 TYR A 103      -2.676   4.231 -11.576  1.00  6.72          C   \nATOM    833  CE1 TYR A 103      -3.372   4.880  -8.975  1.00  6.72          C   \nATOM    834  CE2 TYR A 103      -2.455   5.519 -11.100  1.00  6.72          C   \nATOM    835  OH  TYR A 103      -2.589   7.107  -9.323  1.00  6.72          O   \nATOM    836  CZ  TYR A 103      -2.805   5.833  -9.800  1.00  6.72          C   \nATOM    837  N   LYS A 104      -5.083  -0.004 -13.802  1.00  8.64          N   \nATOM    838  CA  LYS A 104      -5.140  -1.339 -14.393  1.00  8.64          C   \nATOM    839  C   LYS A 104      -3.759  -1.796 -14.852  1.00  8.64          C   \nATOM    840  CB  LYS A 104      -6.119  -1.364 -15.568  1.00  8.64          C   \nATOM    841  O   LYS A 104      -3.042  -1.048 -15.520  1.00  8.64          O   \nATOM    842  CG  LYS A 104      -6.341  -2.749 -16.158  1.00  8.64          C   \nATOM    843  CD  LYS A 104      -7.313  -2.708 -17.331  1.00  8.64          C   \nATOM    844  CE  LYS A 104      -7.429  -4.065 -18.010  1.00  8.64          C   \nATOM    845  NZ  LYS A 104      -8.354  -4.022 -19.181  1.00  8.64          N   \nATOM    846  N   PHE A 105      -3.346  -2.868 -14.276  1.00  8.64          N   \nATOM    847  CA  PHE A 105      -2.144  -3.522 -14.782  1.00  8.64          C   \nATOM    848  C   PHE A 105      -2.504  -4.749 -15.611  1.00  8.64          C   \nATOM    849  CB  PHE A 105      -1.221  -3.921 -13.626  1.00  8.64          C   \nATOM    850  O   PHE A 105      -3.367  -5.537 -15.220  1.00  8.64          O   \nATOM    851  CG  PHE A 105      -0.739  -2.756 -12.804  1.00  8.64          C   \nATOM    852  CD1 PHE A 105      -1.429  -2.357 -11.666  1.00  8.64          C   \nATOM    853  CD2 PHE A 105       0.405  -2.059 -13.171  1.00  8.64          C   \nATOM    854  CE1 PHE A 105      -0.985  -1.279 -10.904  1.00  8.64          C   \nATOM    855  CE2 PHE A 105       0.855  -0.981 -12.414  1.00  8.64          C   \nATOM    856  CZ  PHE A 105       0.158  -0.592 -11.282  1.00  8.64          C   \nATOM    857  N   GLY A 106      -2.172  -4.885 -16.945  1.00  8.64          N   \nATOM    858  CA  GLY A 106      -2.470  -5.978 -17.858  1.00  8.64          C   \nATOM    859  C   GLY A 106      -1.496  -7.136 -17.740  1.00  8.64          C   \nATOM    860  O   GLY A 106      -0.364  -6.957 -17.287  1.00  8.64          O   \nATOM    861  N   THR A 107      -1.964  -8.404 -17.592  1.00  8.64          N   \nATOM    862  CA  THR A 107      -1.518  -9.786 -17.454  1.00  8.64          C   \nATOM    863  C   THR A 107      -0.972 -10.313 -18.777  1.00  8.64          C   \nATOM    864  CB  THR A 107      -2.662 -10.696 -16.969  1.00  8.64          C   \nATOM    865  O   THR A 107      -0.155 -11.237 -18.794  1.00  8.64          O   \nATOM    866  CG2 THR A 107      -2.988 -10.435 -15.502  1.00  8.64          C   \nATOM    867  OG1 THR A 107      -3.831 -10.446 -17.758  1.00  8.64          O   \nATOM    868  N   ARG A 108      -0.421  -9.500 -19.707  1.00  8.64          N   \nATOM    869  CA  ARG A 108       0.415 -10.048 -20.770  1.00  8.64          C   \nATOM    870  C   ARG A 108       0.370  -9.165 -22.012  1.00  8.64          C   \nATOM    871  CB  ARG A 108      -0.025 -11.471 -21.121  1.00  8.64          C   \nATOM    872  O   ARG A 108       1.162  -9.347 -22.939  1.00  8.64          O   \nATOM    873  CG  ARG A 108       0.888 -12.553 -20.567  1.00  8.64          C   \nATOM    874  CD  ARG A 108       0.437 -13.943 -20.992  1.00  8.64          C   \nATOM    875  NE  ARG A 108       1.440 -14.956 -20.674  1.00  8.64          N   \nATOM    876  NH1 ARG A 108       0.214 -16.728 -21.506  1.00  8.64          N   \nATOM    877  NH2 ARG A 108       2.286 -17.089 -20.593  1.00  8.64          N   \nATOM    878  CZ  ARG A 108       1.311 -16.255 -20.925  1.00  8.64          C   \nATOM    879  N   THR A 109       0.007  -7.906 -21.921  1.00  8.64          N   \nATOM    880  CA  THR A 109       0.199  -7.193 -23.179  1.00  8.64          C   \nATOM    881  C   THR A 109       0.557  -5.731 -22.923  1.00  8.64          C   \nATOM    882  CB  THR A 109      -1.060  -7.269 -24.063  1.00  8.64          C   \nATOM    883  O   THR A 109      -0.113  -5.050 -22.143  1.00  8.64          O   \nATOM    884  CG2 THR A 109      -1.194  -8.643 -24.711  1.00  8.64          C   \nATOM    885  OG1 THR A 109      -2.218  -7.018 -23.257  1.00  8.64          O   \nATOM    886  N   GLY A 110       1.725  -5.448 -22.409  1.00  8.64          N   \nATOM    887  CA  GLY A 110       2.620  -4.305 -22.494  1.00  8.64          C   \nATOM    888  C   GLY A 110       1.933  -3.044 -22.984  1.00  8.64          C   \nATOM    889  O   GLY A 110       1.499  -2.976 -24.136  1.00  8.64          O   \nATOM    890  N   GLY A 111       0.749  -2.551 -22.421  1.00  8.64          N   \nATOM    891  CA  GLY A 111       0.179  -1.258 -22.766  1.00  8.64          C   \nATOM    892  C   GLY A 111       1.093  -0.094 -22.431  1.00  8.64          C   \nATOM    893  O   GLY A 111       1.993  -0.225 -21.598  1.00  8.64          O   \nATOM    894  N   ASN A 112       1.646   0.666 -23.583  1.00  8.64          N   \nATOM    895  CA  ASN A 112       2.351   1.904 -23.896  1.00  8.64          C   \nATOM    896  C   ASN A 112       2.500   2.792 -22.664  1.00  8.64          C   \nATOM    897  CB  ASN A 112       1.633   2.664 -25.014  1.00  8.64          C   \nATOM    898  O   ASN A 112       1.528   3.028 -21.943  1.00  8.64          O   \nATOM    899  CG  ASN A 112       1.795   2.002 -26.368  1.00  8.64          C   \nATOM    900  ND2 ASN A 112       0.868   2.277 -27.278  1.00  8.64          N   \nATOM    901  OD1 ASN A 112       2.746   1.248 -26.594  1.00  8.64          O   \nATOM    902  N   PHE A 113       3.510   2.618 -21.947  1.00  8.64          N   \nATOM    903  CA  PHE A 113       4.082   3.644 -21.083  1.00  8.64          C   \nATOM    904  C   PHE A 113       4.194   4.972 -21.821  1.00  8.64          C   \nATOM    905  CB  PHE A 113       5.459   3.211 -20.570  1.00  8.64          C   \nATOM    906  O   PHE A 113       4.651   5.016 -22.966  1.00  8.64          O   \nATOM    907  CG  PHE A 113       5.526   3.047 -19.075  1.00  8.64          C   \nATOM    908  CD1 PHE A 113       5.224   1.827 -18.482  1.00  8.64          C   \nATOM    909  CD2 PHE A 113       5.890   4.113 -18.264  1.00  8.64          C   \nATOM    910  CE1 PHE A 113       5.285   1.672 -17.099  1.00  8.64          C   \nATOM    911  CE2 PHE A 113       5.953   3.966 -16.881  1.00  8.64          C   \nATOM    912  CZ  PHE A 113       5.649   2.745 -16.300  1.00  8.64          C   \nATOM    913  N   THR A 114       3.305   5.791 -21.704  1.00  8.64          N   \nATOM    914  CA  THR A 114       3.524   7.113 -22.280  1.00  8.64          C   \nATOM    915  C   THR A 114       4.409   7.959 -21.369  1.00  8.64          C   \nATOM    916  CB  THR A 114       2.190   7.843 -22.526  1.00  8.64          C   \nATOM    917  O   THR A 114       4.850   9.044 -21.756  1.00  8.64          O   \nATOM    918  CG2 THR A 114       1.348   7.113 -23.568  1.00  8.64          C   \nATOM    919  OG1 THR A 114       1.456   7.913 -21.298  1.00  8.64          O   \nATOM    920  N   GLY A 115       5.268   7.248 -20.677  1.00  8.64          N   \nATOM    921  CA  GLY A 115       6.263   8.086 -20.027  1.00  8.64          C   \nATOM    922  C   GLY A 115       7.507   7.322 -19.614  1.00  8.64          C   \nATOM    923  O   GLY A 115       7.525   6.090 -19.647  1.00  8.64          O   \nATOM    924  N   GLU A 116       8.641   7.657 -20.084  1.00  8.64          N   \nATOM    925  CA  GLU A 116       9.970   7.216 -19.672  1.00  8.64          C   \nATOM    926  C   GLU A 116      10.120   7.260 -18.154  1.00  8.64          C   \nATOM    927  CB  GLU A 116      11.051   8.077 -20.332  1.00  8.64          C   \nATOM    928  O   GLU A 116       9.646   8.194 -17.505  1.00  8.64          O   \nATOM    929  CG  GLU A 116      11.400   7.645 -21.749  1.00  8.64          C   \nATOM    930  CD  GLU A 116      12.569   8.417 -22.341  1.00  8.64          C   \nATOM    931  OE1 GLU A 116      12.995   8.099 -23.474  1.00  8.64          O   \nATOM    932  OE2 GLU A 116      13.062   9.347 -21.665  1.00  8.64          O   \nATOM    933  N   LEU A 117      10.088   5.989 -17.564  1.00  8.64          N   \nATOM    934  CA  LEU A 117      10.578   5.973 -16.190  1.00  8.64          C   \nATOM    935  C   LEU A 117      12.036   6.415 -16.127  1.00  8.64          C   \nATOM    936  CB  LEU A 117      10.430   4.575 -15.584  1.00  8.64          C   \nATOM    937  O   LEU A 117      12.809   6.155 -17.053  1.00  8.64          O   \nATOM    938  CG  LEU A 117       9.001   4.097 -15.323  1.00  8.64          C   \nATOM    939  CD1 LEU A 117       8.989   2.601 -15.025  1.00  8.64          C   \nATOM    940  CD2 LEU A 117       8.376   4.881 -14.175  1.00  8.64          C   \nATOM    941  N   THR A 118      12.196   7.278 -15.327  1.00  8.64          N   \nATOM    942  CA  THR A 118      13.590   7.626 -15.076  1.00  8.64          C   \nATOM    943  C   THR A 118      14.353   6.432 -14.511  1.00  8.64          C   \nATOM    944  CB  THR A 118      13.702   8.816 -14.105  1.00  8.64          C   \nATOM    945  O   THR A 118      13.747   5.457 -14.061  1.00  8.64          O   \nATOM    946  CG2 THR A 118      12.896  10.011 -14.604  1.00  8.64          C   \nATOM    947  OG1 THR A 118      13.207   8.424 -12.818  1.00  8.64          O   \nATOM    948  N   LYS A 119      15.698   6.199 -14.938  1.00  8.64          N   \nATOM    949  CA  LYS A 119      16.574   5.167 -14.391  1.00  8.64          C   \nATOM    950  C   LYS A 119      16.371   5.015 -12.886  1.00  8.64          C   \nATOM    951  CB  LYS A 119      18.038   5.489 -14.693  1.00  8.64          C   \nATOM    952  O   LYS A 119      16.303   3.897 -12.373  1.00  8.64          O   \nATOM    953  CG  LYS A 119      18.973   4.296 -14.566  1.00  8.64          C   \nATOM    954  CD  LYS A 119      20.389   4.646 -15.006  1.00  8.64          C   \nATOM    955  CE  LYS A 119      21.344   3.477 -14.803  1.00  8.64          C   \nATOM    956  NZ  LYS A 119      22.724   3.802 -15.272  1.00  8.64          N   \nATOM    957  N   GLN A 120      16.211   6.129 -12.176  1.00  8.64          N   \nATOM    958  CA  GLN A 120      16.025   6.126 -10.729  1.00  8.64          C   \nATOM    959  C   GLN A 120      14.683   5.507 -10.349  1.00  8.64          C   \nATOM    960  CB  GLN A 120      16.124   7.547 -10.171  1.00  8.64          C   \nATOM    961  O   GLN A 120      14.600   4.729  -9.396  1.00  8.64          O   \nATOM    962  CG  GLN A 120      17.540   7.960  -9.792  1.00  8.64          C   \nATOM    963  CD  GLN A 120      17.891   9.357 -10.270  1.00  8.64          C   \nATOM    964  NE2 GLN A 120      19.145   9.751 -10.077  1.00  8.64          N   \nATOM    965  OE1 GLN A 120      17.043  10.074 -10.809  1.00  8.64          O   \nATOM    966  N   GLU A 121      13.628   5.733 -11.076  1.00  8.64          N   \nATOM    967  CA  GLU A 121      12.298   5.200 -10.795  1.00  8.64          C   \nATOM    968  C   GLU A 121      12.253   3.689 -11.006  1.00  8.64          C   \nATOM    969  CB  GLU A 121      11.248   5.885 -11.674  1.00  8.64          C   \nATOM    970  O   GLU A 121      11.648   2.965 -10.213  1.00  8.64          O   \nATOM    971  CG  GLU A 121      10.953   7.323 -11.272  1.00  8.64          C   \nATOM    972  CD  GLU A 121      10.094   8.064 -12.284  1.00  8.64          C   \nATOM    973  OE1 GLU A 121       9.364   9.002 -11.889  1.00  8.64          O   \nATOM    974  OE2 GLU A 121      10.149   7.704 -13.481  1.00  8.64          O   \nATOM    975  N   LEU A 122      12.979   3.340 -12.063  1.00  8.64          N   \nATOM    976  CA  LEU A 122      13.046   1.913 -12.359  1.00  8.64          C   \nATOM    977  C   LEU A 122      13.813   1.168 -11.272  1.00  8.64          C   \nATOM    978  CB  LEU A 122      13.709   1.678 -13.719  1.00  8.64          C   \nATOM    979  O   LEU A 122      13.397   0.090 -10.840  1.00  8.64          O   \nATOM    980  CG  LEU A 122      12.936   0.805 -14.709  1.00  8.64          C   \nATOM    981  CD1 LEU A 122      12.751   1.540 -16.032  1.00  8.64          C   \nATOM    982  CD2 LEU A 122      13.653  -0.523 -14.925  1.00  8.64          C   \nATOM    983  N   VAL A 123      14.840   1.780 -10.710  1.00  8.64          N   \nATOM    984  CA  VAL A 123      15.653   1.191  -9.651  1.00  8.64          C   \nATOM    985  C   VAL A 123      14.832   1.085  -8.368  1.00  8.64          C   \nATOM    986  CB  VAL A 123      16.936   2.013  -9.397  1.00  8.64          C   \nATOM    987  O   VAL A 123      14.826   0.040  -7.712  1.00  8.64          O   \nATOM    988  CG1 VAL A 123      17.646   1.529  -8.134  1.00  8.64          C   \nATOM    989  CG2 VAL A 123      17.870   1.931 -10.603  1.00  8.64          C   \nATOM    990  N   TYR A 124      14.059   2.039  -8.098  1.00  8.64          N   \nATOM    991  CA  TYR A 124      13.254   2.069  -6.881  1.00  8.64          C   \nATOM    992  C   TYR A 124      12.121   1.051  -6.952  1.00  8.64          C   \nATOM    993  CB  TYR A 124      12.683   3.471  -6.649  1.00  8.64          C   \nATOM    994  O   TYR A 124      11.855   0.342  -5.979  1.00  8.64          O   \nATOM    995  CG  TYR A 124      13.673   4.438  -6.047  1.00  8.64          C   \nATOM    996  CD1 TYR A 124      13.975   5.640  -6.682  1.00  8.64          C   \nATOM    997  CD2 TYR A 124      14.309   4.151  -4.844  1.00  8.64          C   \nATOM    998  CE1 TYR A 124      14.889   6.534  -6.133  1.00  8.64          C   \nATOM    999  CE2 TYR A 124      15.225   5.037  -4.286  1.00  8.64          C   \nATOM   1000  OH  TYR A 124      16.413   7.105  -4.387  1.00  8.64          O   \nATOM   1001  CZ  TYR A 124      15.507   6.224  -4.936  1.00  8.64          C   \nATOM   1002  N   THR A 125      11.428   1.001  -8.096  1.00  6.72          N   \nATOM   1003  CA  THR A 125      10.313   0.078  -8.276  1.00  6.72          C   \nATOM   1004  C   THR A 125      10.789  -1.369  -8.188  1.00  6.72          C   \nATOM   1005  CB  THR A 125       9.609   0.308  -9.626  1.00  6.72          C   \nATOM   1006  O   THR A 125      10.169  -2.192  -7.510  1.00  6.72          O   \nATOM   1007  CG2 THR A 125       8.382  -0.585  -9.767  1.00  6.72          C   \nATOM   1008  OG1 THR A 125       9.202   1.679  -9.718  1.00  6.72          O   \nATOM   1009  N   ASN A 126      11.985  -1.576  -8.827  1.00  8.64          N   \nATOM   1010  CA  ASN A 126      12.563  -2.916  -8.803  1.00  8.64          C   \nATOM   1011  C   ASN A 126      13.002  -3.311  -7.396  1.00  8.64          C   \nATOM   1012  CB  ASN A 126      13.742  -3.009  -9.773  1.00  8.64          C   \nATOM   1013  O   ASN A 126      12.771  -4.442  -6.965  1.00  8.64          O   \nATOM   1014  CG  ASN A 126      13.310  -3.334 -11.189  1.00  8.64          C   \nATOM   1015  ND2 ASN A 126      14.170  -3.035 -12.156  1.00  8.64          N   \nATOM   1016  OD1 ASN A 126      12.211  -3.848 -11.413  1.00  8.64          O   \nATOM   1017  N   GLN A 127      13.590  -2.342  -6.627  1.00  8.64          N   \nATOM   1018  CA  GLN A 127      14.004  -2.576  -5.247  1.00  8.64          C   \nATOM   1019  C   GLN A 127      12.798  -2.827  -4.346  1.00  8.64          C   \nATOM   1020  CB  GLN A 127      14.814  -1.390  -4.721  1.00  8.64          C   \nATOM   1021  O   GLN A 127      12.824  -3.725  -3.501  1.00  8.64          O   \nATOM   1022  CG  GLN A 127      16.303  -1.478  -5.029  1.00  8.64          C   \nATOM   1023  CD  GLN A 127      17.083  -0.291  -4.496  1.00  8.64          C   \nATOM   1024  NE2 GLN A 127      18.405  -0.421  -4.454  1.00  8.64          N   \nATOM   1025  OE1 GLN A 127      16.503   0.734  -4.125  1.00  8.64          O   \nATOM   1026  N   TRP A 128      11.824  -2.167  -4.535  1.00  6.72          N   \nATOM   1027  CA  TRP A 128      10.602  -2.286  -3.746  1.00  6.72          C   \nATOM   1028  C   TRP A 128       9.926  -3.632  -3.989  1.00  6.72          C   \nATOM   1029  CB  TRP A 128       9.634  -1.147  -4.077  1.00  6.72          C   \nATOM   1030  O   TRP A 128       9.562  -4.331  -3.040  1.00  6.72          O   \nATOM   1031  CG  TRP A 128       8.375  -1.162  -3.264  1.00  6.72          C   \nATOM   1032  CD1 TRP A 128       8.207  -0.675  -1.997  1.00  6.72          C   \nATOM   1033  CD2 TRP A 128       7.108  -1.696  -3.661  1.00  6.72          C   \nATOM   1034  CE2 TRP A 128       6.216  -1.497  -2.584  1.00  6.72          C   \nATOM   1035  CE3 TRP A 128       6.641  -2.322  -4.824  1.00  6.72          C   \nATOM   1036  NE1 TRP A 128       6.910  -0.874  -1.583  1.00  6.72          N   \nATOM   1037  CH2 TRP A 128       4.449  -2.515  -3.786  1.00  6.72          C   \nATOM   1038  CZ2 TRP A 128       4.880  -1.904  -2.637  1.00  6.72          C   \nATOM   1039  CZ3 TRP A 128       5.311  -2.726  -4.874  1.00  6.72          C   \nATOM   1040  N   VAL A 129       9.837  -4.041  -5.286  1.00  6.72          N   \nATOM   1041  CA  VAL A 129       9.170  -5.280  -5.670  1.00  6.72          C   \nATOM   1042  C   VAL A 129       9.963  -6.477  -5.149  1.00  6.72          C   \nATOM   1043  CB  VAL A 129       8.999  -5.381  -7.203  1.00  6.72          C   \nATOM   1044  O   VAL A 129       9.389  -7.411  -4.585  1.00  6.72          O   \nATOM   1045  CG1 VAL A 129       8.505  -6.771  -7.600  1.00  6.72          C   \nATOM   1046  CG2 VAL A 129       8.036  -4.306  -7.703  1.00  6.72          C   \nATOM   1047  N   ASN A 130      11.351  -6.333  -5.277  1.00  8.64          N   \nATOM   1048  CA  ASN A 130      12.247  -7.407  -4.861  1.00  8.64          C   \nATOM   1049  C   ASN A 130      12.259  -7.571  -3.344  1.00  8.64          C   \nATOM   1050  CB  ASN A 130      13.664  -7.155  -5.379  1.00  8.64          C   \nATOM   1051  O   ASN A 130      12.263  -8.695  -2.837  1.00  8.64          O   \nATOM   1052  CG  ASN A 130      13.854  -7.617  -6.810  1.00  8.64          C   \nATOM   1053  ND2 ASN A 130      14.863  -7.073  -7.481  1.00  8.64          N   \nATOM   1054  OD1 ASN A 130      13.100  -8.457  -7.309  1.00  8.64          O   \nATOM   1055  N   GLU A 131      12.069  -6.443  -2.521  1.00  8.64          N   \nATOM   1056  CA  GLU A 131      12.094  -6.449  -1.061  1.00  8.64          C   \nATOM   1057  C   GLU A 131      10.759  -6.913  -0.488  1.00  8.64          C   \nATOM   1058  CB  GLU A 131      12.442  -5.058  -0.524  1.00  8.64          C   \nATOM   1059  O   GLU A 131      10.721  -7.591   0.541  1.00  8.64          O   \nATOM   1060  CG  GLU A 131      13.913  -4.694  -0.665  1.00  8.64          C   \nATOM   1061  CD  GLU A 131      14.234  -3.292  -0.171  1.00  8.64          C   \nATOM   1062  OE1 GLU A 131      15.414  -2.879  -0.244  1.00  8.64          O   \nATOM   1063  OE2 GLU A 131      13.299  -2.603   0.293  1.00  8.64          O   \nATOM   1064  N   ASN A 132       9.736  -6.720  -1.184  1.00  8.64          N   \nATOM   1065  CA  ASN A 132       8.429  -6.916  -0.566  1.00  8.64          C   \nATOM   1066  C   ASN A 132       7.786  -8.224  -1.016  1.00  8.64          C   \nATOM   1067  CB  ASN A 132       7.506  -5.736  -0.876  1.00  8.64          C   \nATOM   1068  O   ASN A 132       7.067  -8.865  -0.247  1.00  8.64          O   \nATOM   1069  CG  ASN A 132       7.833  -4.505  -0.054  1.00  8.64          C   \nATOM   1070  ND2 ASN A 132       8.463  -3.521  -0.684  1.00  8.64          N   \nATOM   1071  OD1 ASN A 132       7.524  -4.440   1.139  1.00  8.64          O   \nATOM   1072  N   ILE A 133       8.282  -8.675  -2.231  1.00  8.64          N   \nATOM   1073  CA  ILE A 133       7.755  -9.943  -2.723  1.00  8.64          C   \nATOM   1074  C   ILE A 133       8.504 -11.102  -2.068  1.00  8.64          C   \nATOM   1075  CB  ILE A 133       7.858 -10.039  -4.261  1.00  8.64          C   \nATOM   1076  O   ILE A 133       7.902 -12.121  -1.721  1.00  8.64          O   \nATOM   1077  CG1 ILE A 133       6.915  -9.029  -4.924  1.00  8.64          C   \nATOM   1078  CG2 ILE A 133       7.555 -11.464  -4.735  1.00  8.64          C   \nATOM   1079  CD1 ILE A 133       7.015  -8.993  -6.443  1.00  8.64          C   \nATOM   1080  N   THR A 134       9.730 -10.791  -1.686  1.00  8.64          N   \nATOM   1081  CA  THR A 134      10.543 -11.821  -1.050  1.00  8.64          C   \nATOM   1082  C   THR A 134      10.104 -12.041   0.394  1.00  8.64          C   \nATOM   1083  CB  THR A 134      12.038 -11.453  -1.085  1.00  8.64          C   \nATOM   1084  O   THR A 134      10.048 -13.179   0.865  1.00  8.64          O   \nATOM   1085  CG2 THR A 134      12.910 -12.668  -0.785  1.00  8.64          C   \nATOM   1086  OG1 THR A 134      12.370 -10.951  -2.386  1.00  8.64          O   \nATOM   1087  N   LEU A 135       9.481 -11.013   1.084  1.00  8.64          N   \nATOM   1088  CA  LEU A 135       9.061 -11.103   2.479  1.00  8.64          C   \nATOM   1089  C   LEU A 135       7.653 -11.678   2.586  1.00  8.64          C   \nATOM   1090  CB  LEU A 135       9.114  -9.726   3.145  1.00  8.64          C   \nATOM   1091  O   LEU A 135       7.369 -12.474   3.484  1.00  8.64          O   \nATOM   1092  CG  LEU A 135      10.480  -9.278   3.668  1.00  8.64          C   \nATOM   1093  CD1 LEU A 135      10.532  -7.758   3.780  1.00  8.64          C   \nATOM   1094  CD2 LEU A 135      10.777  -9.929   5.014  1.00  8.64          C   \nATOM   1095  N   ALA A 136       6.896 -11.485   1.503  1.00  8.64          N   \nATOM   1096  CA  ALA A 136       5.482 -11.826   1.637  1.00  8.64          C   \nATOM   1097  C   ALA A 136       5.208 -13.240   1.133  1.00  8.64          C   \nATOM   1098  CB  ALA A 136       4.618 -10.818   0.882  1.00  8.64          C   \nATOM   1099  O   ALA A 136       4.289 -13.909   1.611  1.00  8.64          O   \nATOM   1100  N   ASN A 137       6.194 -13.758   0.415  1.00  8.64          N   \nATOM   1101  CA  ASN A 137       6.057 -15.090  -0.164  1.00  8.64          C   \nATOM   1102  C   ASN A 137       6.849 -16.128   0.626  1.00  8.64          C   \nATOM   1103  CB  ASN A 137       6.499 -15.087  -1.629  1.00  8.64          C   \nATOM   1104  O   ASN A 137       8.055 -15.975   0.826  1.00  8.64          O   \nATOM   1105  CG  ASN A 137       5.464 -14.473  -2.550  1.00  8.64          C   \nATOM   1106  ND2 ASN A 137       5.908 -13.993  -3.705  1.00  8.64          N   \nATOM   1107  OD1 ASN A 137       4.274 -14.431  -2.226  1.00  8.64          O   \nATOM   1108  N   GLY A 138       6.587 -16.377   1.995  1.00  8.64          N   \nATOM   1109  CA  GLY A 138       6.876 -17.550   2.803  1.00  8.64          C   \nATOM   1110  C   GLY A 138       7.966 -18.427   2.215  1.00  8.64          C   \nATOM   1111  O   GLY A 138       8.031 -19.623   2.504  1.00  8.64          O   \nATOM   1112  N   TYR A 139       9.137 -17.824   1.543  1.00  8.64          N   \nATOM   1113  CA  TYR A 139      10.214 -18.693   1.080  1.00  8.64          C   \nATOM   1114  C   TYR A 139      11.083 -19.153   2.245  1.00  8.64          C   \nATOM   1115  CB  TYR A 139      11.076 -17.973   0.039  1.00  8.64          C   \nATOM   1116  O   TYR A 139      11.385 -18.370   3.149  1.00  8.64          O   \nATOM   1117  CG  TYR A 139      10.546 -18.087  -1.370  1.00  8.64          C   \nATOM   1118  CD1 TYR A 139       9.749 -17.085  -1.919  1.00  8.64          C   \nATOM   1119  CD2 TYR A 139      10.841 -19.197  -2.155  1.00  8.64          C   \nATOM   1120  CE1 TYR A 139       9.257 -17.187  -3.216  1.00  8.64          C   \nATOM   1121  CE2 TYR A 139      10.355 -19.309  -3.454  1.00  8.64          C   \nATOM   1122  OH  TYR A 139       9.082 -18.406  -5.260  1.00  8.64          O   \nATOM   1123  CZ  TYR A 139       9.566 -18.300  -3.975  1.00  8.64          C   \nATOM   1124  N   ILE A 140      10.744 -20.317   2.913  1.00  8.64          N   \nATOM   1125  CA  ILE A 140      11.618 -21.208   3.668  1.00  8.64          C   \nATOM   1126  C   ILE A 140      13.062 -21.031   3.204  1.00  8.64          C   \nATOM   1127  CB  ILE A 140      11.185 -22.684   3.518  1.00  8.64          C   \nATOM   1128  O   ILE A 140      13.364 -21.194   2.020  1.00  8.64          O   \nATOM   1129  CG1 ILE A 140       9.748 -22.872   4.019  1.00  8.64          C   \nATOM   1130  CG2 ILE A 140      12.150 -23.609   4.265  1.00  8.64          C   \nATOM   1131  CD1 ILE A 140       9.252 -24.310   3.951  1.00  8.64          C   \nATOM   1132  N   SER A 141      13.713 -20.010   3.556  1.00  8.64          N   \nATOM   1133  CA  SER A 141      15.171 -20.025   3.497  1.00  8.64          C   \nATOM   1134  C   SER A 141      15.734 -21.319   4.073  1.00  8.64          C   \nATOM   1135  CB  SER A 141      15.750 -18.827   4.252  1.00  8.64          C   \nATOM   1136  O   SER A 141      15.479 -21.652   5.233  1.00  8.64          O   \nATOM   1137  OG  SER A 141      17.145 -18.982   4.447  1.00  8.64          O   \nATOM   1138  N   ALA A 142      15.693 -22.473   3.364  1.00  8.64          N   \nATOM   1139  CA  ALA A 142      16.460 -23.706   3.208  1.00  8.64          C   \nATOM   1140  C   ALA A 142      17.958 -23.439   3.331  1.00  8.64          C   \nATOM   1141  CB  ALA A 142      16.148 -24.360   1.864  1.00  8.64          C   \nATOM   1142  O   ALA A 142      18.474 -22.483   2.749  1.00  8.64          O   \nATOM   1143  N   ASP A 143      18.576 -22.902   4.585  1.00  8.64          N   \nATOM   1144  CA  ASP A 143      19.977 -23.243   4.809  1.00  8.64          C   \nATOM   1145  C   ASP A 143      20.646 -22.233   5.738  1.00  8.64          C   \nATOM   1146  CB  ASP A 143      20.732 -23.315   3.480  1.00  8.64          C   \nATOM   1147  O   ASP A 143      20.988 -21.126   5.317  1.00  8.64          O   \nATOM   1148  CG  ASP A 143      21.865 -24.326   3.495  1.00  8.64          C   \nATOM   1149  OD1 ASP A 143      22.444 -24.609   2.424  1.00  8.64          O   \nATOM   1150  OD2 ASP A 143      22.180 -24.846   4.587  1.00  8.64          O   \nATOM   1151  N   SER A 144      20.228 -21.957   7.002  1.00  8.64          N   \nATOM   1152  CA  SER A 144      21.341 -21.510   7.832  1.00  8.64          C   \nATOM   1153  C   SER A 144      21.253 -22.095   9.238  1.00  8.64          C   \nATOM   1154  CB  SER A 144      21.373 -19.983   7.908  1.00  8.64          C   \nATOM   1155  O   SER A 144      21.817 -21.541  10.183  1.00  8.64          O   \nATOM   1156  OG  SER A 144      20.155 -19.479   8.427  1.00  8.64          O   \nATOM   1157  N   ARG A 145      20.767 -23.335   9.468  1.00  8.64          N   \nATOM   1158  CA  ARG A 145      20.907 -23.823  10.836  1.00  8.64          C   \nATOM   1159  C   ARG A 145      22.363 -24.145  11.156  1.00  8.64          C   \nATOM   1160  CB  ARG A 145      20.036 -25.062  11.058  1.00  8.64          C   \nATOM   1161  O   ARG A 145      23.035 -24.835  10.387  1.00  8.64          O   \nATOM   1162  CG  ARG A 145      18.542 -24.781  11.007  1.00  8.64          C   \nATOM   1163  CD  ARG A 145      17.724 -26.058  11.140  1.00  8.64          C   \nATOM   1164  NE  ARG A 145      17.859 -26.910   9.963  1.00  8.64          N   \nATOM   1165  NH1 ARG A 145      16.657 -28.674  10.846  1.00  8.64          N   \nATOM   1166  NH2 ARG A 145      17.532 -28.821   8.732  1.00  8.64          N   \nATOM   1167  CZ  ARG A 145      17.349 -28.133   9.850  1.00  8.64          C   \nATOM   1168  N   THR A 146      23.240 -23.194  11.377  1.00  8.64          N   \nATOM   1169  CA  THR A 146      24.353 -23.445  12.287  1.00  8.64          C   \nATOM   1170  C   THR A 146      23.848 -23.974  13.626  1.00  8.64          C   \nATOM   1171  CB  THR A 146      25.186 -22.170  12.516  1.00  8.64          C   \nATOM   1172  O   THR A 146      22.915 -23.417  14.208  1.00  8.64          O   \nATOM   1173  CG2 THR A 146      26.113 -21.899  11.336  1.00  8.64          C   \nATOM   1174  OG1 THR A 146      24.303 -21.054  12.683  1.00  8.64          O   \nATOM   1175  N   VAL A 147      23.601 -25.297  13.669  1.00  8.64          N   \nATOM   1176  CA  VAL A 147      23.604 -26.015  14.940  1.00  8.64          C   \nATOM   1177  C   VAL A 147      25.042 -26.295  15.372  1.00  8.64          C   \nATOM   1178  CB  VAL A 147      22.809 -27.337  14.846  1.00  8.64          C   \nATOM   1179  O   VAL A 147      25.856 -26.768  14.575  1.00  8.64          O   \nATOM   1180  CG1 VAL A 147      22.708 -28.004  16.217  1.00  8.64          C   \nATOM   1181  CG2 VAL A 147      21.418 -27.082  14.269  1.00  8.64          C   \nATOM   1182  N   ASP A 148      25.801 -25.404  15.970  1.00  8.64          N   \nATOM   1183  CA  ASP A 148      26.582 -25.450  17.202  1.00  8.64          C   \nATOM   1184  C   ASP A 148      27.024 -24.051  17.625  1.00  8.64          C   \nATOM   1185  CB  ASP A 148      27.802 -26.358  17.031  1.00  8.64          C   \nATOM   1186  O   ASP A 148      27.467 -23.256  16.793  1.00  8.64          O   \nATOM   1187  CG  ASP A 148      27.486 -27.826  17.259  1.00  8.64          C   \nATOM   1188  OD1 ASP A 148      28.258 -28.694  16.799  1.00  8.64          O   \nATOM   1189  OD2 ASP A 148      26.454 -28.116  17.901  1.00  8.64          O   \nTER    1190      ASP A 148\nENDMDL\nEND\n"
  },
  {
    "path": "alphafold/relax/utils.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Utils for minimization.\"\"\"\nimport io\nfrom alphafold.common import residue_constants\nfrom Bio import PDB\nimport numpy as np\n\n\ndef overwrite_b_factors(pdb_str: str, bfactors: np.ndarray) -> str:\n  \"\"\"Overwrites the B-factors in pdb_str with contents of bfactors array.\n\n  Args:\n    pdb_str: An input PDB string.\n    bfactors: A numpy array with shape [1, n_residues, 37]. We assume that the\n      B-factors are per residue; i.e. that the nonzero entries are identical in\n      [0, i, :].\n\n  Returns:\n    A new PDB string with the B-factors replaced.\n  \"\"\"\n  if bfactors.shape[-1] != residue_constants.atom_type_num:\n    raise ValueError(\n        f'Invalid final dimension size for bfactors: {bfactors.shape[-1]}.'\n    )\n\n  parser = PDB.PDBParser(QUIET=True)\n  handle = io.StringIO(pdb_str)\n  structure = parser.get_structure('', handle)\n\n  curr_resid = ('', '', '')\n  idx = -1\n  for atom in structure.get_atoms():\n    atom_resid = atom.parent.get_id()\n    if atom_resid != curr_resid:\n      idx += 1\n      if idx >= bfactors.shape[0]:\n        raise ValueError(\n            'Index into bfactors exceeds number of residues. '\n            'B-factors shape: {shape}, idx: {idx}.'\n        )\n    curr_resid = atom_resid\n    atom.bfactor = bfactors[idx, residue_constants.atom_order['CA']]\n\n  new_pdb = io.StringIO()\n  pdb_io = PDB.PDBIO()\n  pdb_io.set_structure(structure)\n  pdb_io.save(new_pdb)\n  return new_pdb.getvalue()\n\n\ndef assert_equal_nonterminal_atom_types(\n    atom_mask: np.ndarray, ref_atom_mask: np.ndarray\n):\n  \"\"\"Checks that pre- and post-minimized proteins have same atom set.\"\"\"\n  # Ignore any terminal OXT atoms which may have been added by minimization.\n  oxt = residue_constants.atom_order['OXT']\n  no_oxt_mask = np.ones(shape=atom_mask.shape, dtype=bool)\n  no_oxt_mask[..., oxt] = False\n  np.testing.assert_almost_equal(\n      ref_atom_mask[no_oxt_mask], atom_mask[no_oxt_mask]\n  )\n"
  },
  {
    "path": "alphafold/relax/utils_test.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport os\n\nfrom absl.testing import absltest\nfrom alphafold.common import protein\nfrom alphafold.relax import utils\nimport numpy as np\n\n# Internal import (7716).\n\n\nclass UtilsTest(absltest.TestCase):\n\n  def test_overwrite_b_factors(self):\n    testdir = os.path.join(\n        absltest.get_default_test_srcdir(),\n        'alphafold/relax/testdata/'\n        'multiple_disulfides_target.pdb',\n    )\n    with open(testdir) as f:\n      test_pdb = f.read()\n    n_residues = 191\n    bfactors = np.stack([np.arange(0, n_residues)] * 37, axis=-1)\n\n    output_pdb = utils.overwrite_b_factors(test_pdb, bfactors)\n\n    # Check that the atom lines are unchanged apart from the B-factors.\n    atom_lines_original = [l for l in test_pdb.split('\\n') if l[:4] == 'ATOM']\n    atom_lines_new = [l for l in output_pdb.split('\\n') if l[:4] == 'ATOM']\n    for line_original, line_new in zip(atom_lines_original, atom_lines_new):\n      self.assertEqual(line_original[:60].strip(), line_new[:60].strip())\n      self.assertEqual(line_original[66:].strip(), line_new[66:].strip())\n\n    # Check B-factors are correctly set for all atoms present.\n    as_protein = protein.from_pdb_string(output_pdb)\n    np.testing.assert_almost_equal(\n        np.where(as_protein.atom_mask > 0, as_protein.b_factors, 0),\n        np.where(as_protein.atom_mask > 0, bfactors, 0),\n    )\n\n\nif __name__ == '__main__':\n  absltest.main()\n"
  },
  {
    "path": "alphafold/version.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Single source of truth for the AlphaFold version.\"\"\"\n\n__version__ = '2.3.2'\n"
  },
  {
    "path": "conftest.py",
    "content": "# Copyright 2025 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Fixture for pytest.\n\nThis is needed to parse the absl flags before running the test.\n\"\"\"\n\nimport sys\n\nfrom absl import flags\nimport pytest\n\n\n@pytest.fixture(scope=\"session\", autouse=True)\ndef initialize_absl_flags(request):\n  del request\n  # Parse any flags that make sense to absl as absl flags.\n  flags.FLAGS(sys.argv, known_only=True)\n"
  },
  {
    "path": "docker/Dockerfile",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nARG CUDA=12.2.2\nFROM nvidia/cuda:${CUDA}-cudnn8-runtime-ubuntu20.04\n# FROM directive resets ARGS, so we specify again (the value is retained if\n# previously set).\nARG CUDA\n\n# Use bash to support string substitution.\nSHELL [\"/bin/bash\", \"-o\", \"pipefail\", \"-c\"]\n\nARG DEBIAN_FRONTEND=noninteractive\nRUN apt-get update --quiet \\\n    && apt-get install --no-install-recommends --yes --quiet \\\n        build-essential \\\n        cmake \\\n        cuda-command-line-tools-$(cut -f1,2 -d- <<< ${CUDA//./-}) \\\n        git \\\n        hmmer \\\n        kalign \\\n        tzdata \\\n        wget \\\n    && rm -rf /var/lib/apt/lists/* \\\n    && apt-get autoremove --yes \\\n    && apt-get clean\n\n# Compile HHsuite from source.\nRUN git clone --branch v3.3.0 --single-branch https://github.com/soedinglab/hh-suite.git /tmp/hh-suite \\\n    && mkdir /tmp/hh-suite/build \\\n    && pushd /tmp/hh-suite/build \\\n    && cmake -DCMAKE_INSTALL_PREFIX=/opt/hhsuite .. \\\n    && make -j && make install \\\n    && ln -s /opt/hhsuite/bin/* /usr/bin \\\n    && popd \\\n    && rm -rf /tmp/hh-suite\n\n# Install Miniconda package manager.\nRUN wget -q -P /tmp \\\n  https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh \\\n    && bash /tmp/Miniconda3-latest-Linux-x86_64.sh -b -p /opt/conda \\\n    && rm /tmp/Miniconda3-latest-Linux-x86_64.sh\n\n# Install Conda packages.\nENV PATH=\"/opt/conda/bin:$PATH\"\nENV LD_LIBRARY_PATH=\"/opt/conda/lib:$LD_LIBRARY_PATH\"\nENV CONDA_PLUGINS_AUTO_ACCEPT_TOS=\"yes\"\nRUN conda install --quiet --yes conda==24.11.1 pip python=3.11 \\\n    && conda install --quiet --yes --channel nvidia cuda=${CUDA_VERSION} \\\n    && conda clean --all --force-pkgs-dirs --yes\n\nCOPY . /app/alphafold\nRUN wget -q -P /app/alphafold/alphafold/common/ \\\n  https://git.scicore.unibas.ch/schwede/openstructure/-/raw/7102c63615b64735c4941278d92b554ec94415f8/modules/mol/alg/src/stereo_chemical_props.txt\n\n# Install pip packages.\nRUN pip3 install --upgrade pip --no-cache-dir \\\n    && pip3 install -r /app/alphafold/requirements.txt --no-cache-dir \\\n    && pip3 install --upgrade --no-cache-dir \\\n      jax==0.4.26 \\\n      jaxlib==0.4.26+cuda12.cudnn89 \\\n      -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html\n\n# Add SETUID bit to the ldconfig binary so that non-root users can run it.\nRUN chmod u+s /sbin/ldconfig.real\n\n# Currently needed to avoid undefined_symbol error.\nRUN ln -sf /usr/lib/x86_64-linux-gnu/libffi.so.7 /opt/conda/lib/libffi.so.7\n\n# We need to run `ldconfig` first to ensure GPUs are visible, due to some quirk\n# with Debian. See https://github.com/NVIDIA/nvidia-docker/issues/1399 for\n# details.\n# ENTRYPOINT does not support easily running multiple commands, so instead we\n# write a shell script to wrap them up.\nWORKDIR /app/alphafold\nRUN echo $'#!/bin/bash\\n\\\nldconfig\\n\\\npython /app/alphafold/run_alphafold.py \"$@\"' > /app/run_alphafold.sh \\\n  && chmod +x /app/run_alphafold.sh\nENTRYPOINT [\"/app/run_alphafold.sh\"]\n"
  },
  {
    "path": "docker/requirements.txt",
    "content": "# Dependencies necessary to execute run_docker.py\nabsl-py==1.0.0\ndocker==5.0.0\n"
  },
  {
    "path": "docker/run_docker.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Docker launch script for Alphafold docker image.\"\"\"\n\nimport os\nimport pathlib\nimport signal\nfrom typing import Tuple\n\nfrom absl import app\nfrom absl import flags\nfrom absl import logging\nimport docker\nfrom docker import types\n\n\nflags.DEFINE_bool('use_gpu', True, 'Enable NVIDIA runtime to run with GPUs.')\nflags.DEFINE_enum(\n    'models_to_relax',\n    'best',\n    ['best', 'all', 'none'],\n    'The models to run the final relaxation step on. '\n    'If `all`, all models are relaxed, which may be time '\n    'consuming. If `best`, only the most confident model is '\n    'relaxed. If `none`, relaxation is not run. Turning off '\n    'relaxation might result in predictions with '\n    'distracting stereochemical violations but might help '\n    'in case you are having issues with the relaxation '\n    'stage.',\n)\nflags.DEFINE_bool(\n    'enable_gpu_relax', True, 'Run relax on GPU if GPU is enabled.'\n)\nflags.DEFINE_string(\n    'gpu_devices',\n    'all',\n    'Comma separated list of devices to pass to NVIDIA_VISIBLE_DEVICES.',\n)\nflags.DEFINE_list(\n    'fasta_paths',\n    None,\n    'Paths to FASTA files, each containing a prediction '\n    'target that will be folded one after another. If a FASTA file contains '\n    'multiple sequences, then it will be folded as a multimer. Paths should be '\n    'separated by commas. All FASTA paths must have a unique basename as the '\n    'basename is used to name the output directories for each prediction.',\n)\nflags.DEFINE_string(\n    'output_dir',\n    '/tmp/alphafold',\n    'Path to a directory that will store the results.',\n)\nflags.DEFINE_string(\n    'data_dir',\n    None,\n    'Path to directory with supporting data: AlphaFold parameters and genetic '\n    'and template databases. Set to the target of download_all_databases.sh.',\n)\nflags.DEFINE_string(\n    'docker_image_name', 'alphafold', 'Name of the AlphaFold Docker image.'\n)\nflags.DEFINE_string(\n    'max_template_date',\n    None,\n    'Maximum template release date to consider (ISO-8601 format: YYYY-MM-DD). '\n    'Important if folding historical test sets.',\n)\nflags.DEFINE_enum(\n    'db_preset',\n    'full_dbs',\n    ['full_dbs', 'reduced_dbs'],\n    'Choose preset MSA database configuration - smaller genetic database '\n    'config (reduced_dbs) or full genetic database config (full_dbs)',\n)\nflags.DEFINE_enum(\n    'model_preset',\n    'monomer',\n    ['monomer', 'monomer_casp14', 'monomer_ptm', 'multimer'],\n    'Choose preset model configuration - the monomer model, the monomer model '\n    'with extra ensembling, monomer model with pTM head, or multimer model',\n)\nflags.DEFINE_integer(\n    'num_multimer_predictions_per_model',\n    5,\n    'How many '\n    'predictions (each with a different random seed) will be '\n    'generated per model. E.g. if this is 2 and there are 5 '\n    'models then there will be 10 predictions per input. '\n    'Note: this FLAG only applies if model_preset=multimer',\n)\nflags.DEFINE_boolean(\n    'benchmark',\n    False,\n    'Run multiple JAX model evaluations to obtain a timing that excludes the '\n    'compilation time, which should be more indicative of the time required '\n    'for inferencing many proteins.',\n)\nflags.DEFINE_boolean(\n    'use_precomputed_msas',\n    False,\n    'Whether to read MSAs that have been written to disk instead of running '\n    'the MSA tools. The MSA files are looked up in the output directory, so it '\n    'must stay the same between multiple runs that are to reuse the MSAs. '\n    'WARNING: This will not check if the sequence, database or configuration '\n    'have changed.',\n)\nflags.DEFINE_string(\n    'docker_user',\n    f'{os.geteuid()}:{os.getegid()}',\n    'UID:GID with which to run the Docker container. The output directories '\n    'will be owned by this user:group. By default, this is the current user. '\n    'Valid options are: uid or uid:gid, non-numeric values are not recognised '\n    'by Docker unless that user has been created within the container.',\n)\n\nFLAGS = flags.FLAGS\n\n_ROOT_MOUNT_DIRECTORY = '/mnt/'\n\n\ndef _create_mount(mount_name: str, path: str) -> Tuple[types.Mount, str]:\n  \"\"\"Create a mount point for each file and directory used by the model.\"\"\"\n  path = pathlib.Path(path).absolute()\n  target_path = pathlib.Path(_ROOT_MOUNT_DIRECTORY, mount_name)\n\n  if path.is_dir():\n    source_path = path\n    mounted_path = target_path\n  else:\n    source_path = path.parent\n    mounted_path = pathlib.Path(target_path, path.name)\n  if not source_path.exists():\n    raise ValueError(\n        f'Failed to find source directory \"{source_path}\" to '\n        'mount in Docker container.'\n    )\n  logging.info('Mounting %s -> %s', source_path, target_path)\n  mount = types.Mount(\n      target=str(target_path),\n      source=str(source_path),\n      type='bind',\n      read_only=True,\n  )\n  return mount, str(mounted_path)\n\n\ndef main(argv):\n  if len(argv) > 1:\n    raise app.UsageError('Too many command-line arguments.')\n\n  # You can individually override the following paths if you have placed the\n  # data in locations other than the FLAGS.data_dir.\n\n  # Path to the Uniref90 database for use by JackHMMER.\n  uniref90_database_path = os.path.join(\n      FLAGS.data_dir, 'uniref90', 'uniref90.fasta'\n  )\n\n  # Path to the Uniprot database for use by JackHMMER.\n  uniprot_database_path = os.path.join(\n      FLAGS.data_dir, 'uniprot', 'uniprot.fasta'\n  )\n\n  # Path to the MGnify database for use by JackHMMER.\n  mgnify_database_path = os.path.join(\n      FLAGS.data_dir, 'mgnify', 'mgy_clusters_2022_05.fa'\n  )\n\n  # Path to the BFD database for use by HHblits.\n  bfd_database_path = os.path.join(\n      FLAGS.data_dir,\n      'bfd',\n      'bfd_metaclust_clu_complete_id30_c90_final_seq.sorted_opt',\n  )\n\n  # Path to the Small BFD database for use by JackHMMER.\n  small_bfd_database_path = os.path.join(\n      FLAGS.data_dir, 'small_bfd', 'bfd-first_non_consensus_sequences.fasta'\n  )\n\n  # Path to the Uniref30 database for use by HHblits.\n  uniref30_database_path = os.path.join(\n      FLAGS.data_dir, 'uniref30', 'UniRef30_2021_03'\n  )\n\n  # Path to the PDB70 database for use by HHsearch.\n  pdb70_database_path = os.path.join(FLAGS.data_dir, 'pdb70', 'pdb70')\n\n  # Path to the PDB seqres database for use by hmmsearch.\n  pdb_seqres_database_path = os.path.join(\n      FLAGS.data_dir, 'pdb_seqres', 'pdb_seqres.txt'\n  )\n\n  # Path to a directory with template mmCIF structures, each named <pdb_id>.cif.\n  template_mmcif_dir = os.path.join(FLAGS.data_dir, 'pdb_mmcif', 'mmcif_files')\n\n  # Path to a file mapping obsolete PDB IDs to their replacements.\n  obsolete_pdbs_path = os.path.join(FLAGS.data_dir, 'pdb_mmcif', 'obsolete.dat')\n\n  alphafold_path = pathlib.Path(__file__).parent.parent\n  data_dir_path = pathlib.Path(FLAGS.data_dir)\n  if alphafold_path == data_dir_path or alphafold_path in data_dir_path.parents:\n    raise app.UsageError(\n        f'The download directory {FLAGS.data_dir} should not be a subdirectory '\n        'in the AlphaFold repository directory. If it is, the Docker build is '\n        'slow since the large databases are copied during the image creation.'\n    )\n\n  mounts = []\n  command_args = []\n\n  # Mount each fasta path as a unique target directory.\n  target_fasta_paths = []\n  for i, fasta_path in enumerate(FLAGS.fasta_paths):\n    mount, target_path = _create_mount(f'fasta_path_{i}', fasta_path)\n    mounts.append(mount)\n    target_fasta_paths.append(target_path)\n  command_args.append(f'--fasta_paths={\",\".join(target_fasta_paths)}')\n\n  database_paths = [\n      ('uniref90_database_path', uniref90_database_path),\n      ('mgnify_database_path', mgnify_database_path),\n      ('data_dir', FLAGS.data_dir),\n      ('template_mmcif_dir', template_mmcif_dir),\n      ('obsolete_pdbs_path', obsolete_pdbs_path),\n  ]\n\n  if FLAGS.model_preset == 'multimer':\n    database_paths.append(('uniprot_database_path', uniprot_database_path))\n    database_paths.append(\n        ('pdb_seqres_database_path', pdb_seqres_database_path)\n    )\n  else:\n    database_paths.append(('pdb70_database_path', pdb70_database_path))\n\n  if FLAGS.db_preset == 'reduced_dbs':\n    database_paths.append(('small_bfd_database_path', small_bfd_database_path))\n  else:\n    database_paths.extend([\n        ('uniref30_database_path', uniref30_database_path),\n        ('bfd_database_path', bfd_database_path),\n    ])\n  for name, path in database_paths:\n    if path:\n      mount, target_path = _create_mount(name, path)\n      mounts.append(mount)\n      command_args.append(f'--{name}={target_path}')\n\n  output_target_path = os.path.join(_ROOT_MOUNT_DIRECTORY, 'output')\n  mounts.append(types.Mount(output_target_path, FLAGS.output_dir, type='bind'))\n\n  use_gpu_relax = FLAGS.enable_gpu_relax and FLAGS.use_gpu\n\n  command_args.extend([\n      f'--output_dir={output_target_path}',\n      f'--max_template_date={FLAGS.max_template_date}',\n      f'--db_preset={FLAGS.db_preset}',\n      f'--model_preset={FLAGS.model_preset}',\n      f'--benchmark={FLAGS.benchmark}',\n      f'--use_precomputed_msas={FLAGS.use_precomputed_msas}',\n      f'--num_multimer_predictions_per_model={FLAGS.num_multimer_predictions_per_model}',\n      f'--models_to_relax={FLAGS.models_to_relax}',\n      f'--use_gpu_relax={use_gpu_relax}',\n      '--logtostderr',\n  ])\n\n  client = docker.from_env()\n  device_requests = (\n      [docker.types.DeviceRequest(driver='nvidia', capabilities=[['gpu']])]\n      if FLAGS.use_gpu\n      else None\n  )\n\n  container = client.containers.run(\n      image=FLAGS.docker_image_name,\n      command=command_args,\n      device_requests=device_requests,\n      remove=True,\n      detach=True,\n      mounts=mounts,\n      user=FLAGS.docker_user,\n      environment={\n          'NVIDIA_VISIBLE_DEVICES': FLAGS.gpu_devices,\n          # The following flags allow us to make predictions on proteins that\n          # would typically be too long to fit into GPU memory.\n          'TF_FORCE_UNIFIED_MEMORY': '1',\n          'XLA_PYTHON_CLIENT_MEM_FRACTION': '4.0',\n      },\n  )\n\n  # Add signal handler to ensure CTRL+C also stops the running container.\n  signal.signal(\n      signal.SIGINT, lambda unused_sig, unused_frame: container.kill()\n  )\n\n  for line in container.logs(stream=True):\n    logging.info(line.strip().decode('utf-8'))\n\n\nif __name__ == '__main__':\n  flags.mark_flags_as_required([\n      'data_dir',\n      'fasta_paths',\n      'max_template_date',\n  ])\n  app.run(main)\n"
  },
  {
    "path": "docs/technical_note_v2.3.0.md",
    "content": "# AlphaFold v2.3.0\n\nUpdate (2026-03-11): Added note about cluster filtering change.\n\nThis technical note describes updates in the code and model weights that were\nmade to produce AlphaFold v2.3.0 including updated training data.\n\nWe have fine-tuned new AlphaFold-Multimer weights using identical model\narchitecture but a new training cutoff of 2021-09-30. Previously released\nversions of AlphaFold and AlphaFold-Multimer were trained using PDB structures\nwith a release date before 2018-04-30, a cutoff date chosen to coincide with the\nstart of the 2018 CASP13 assessment. The new training cutoff represents ~30%\nmore data to train AlphaFold and more importantly includes much more data on\nlarge protein complexes. The new training cutoff includes 4× the number of\nelectron microscopy structures and in aggregate twice the number of large\nstructures (more than 2,000 residues)[^1]. Due to the significant increase in\nthe number of large structures, we are also able to increase the size of\ntraining crops (subsets of the structure used to train AlphaFold) from 384 to\n640 residues. These new AlphaFold-Multimer models are expected to be\nsubstantially more accurate on large protein complexes even though we use the\nsame model architecture and training methodology as our previously released\nAlphaFold-Multimer paper.\n\nAlphaFold v2.3.0 training also used a modified self-distillation set compared to\nprevious AF-Multimer versions. The original AF-Multimer self-distillation set\nwas created using the clustered MGnify dataset filtered to clusters with more\nthan 10 sequences. For v2.3.0, the same clustered MGnify dataset was used, but\nfiltered to clusters with more than 2 sequences.\n\nThese models were initially developed in response to a request from the CASP\norganizers to better understand baselines for the progress of structure\nprediction in CASP15, and because of the significant increase in accuracy for\nlarge targets, we are making them available as the default multimer models.\nSince they were developed as baselines, we have emphasized minimal changes to\nour previous AlphaFold-Multimer system while accommodating larger complexes.\nIn particular, we increase the number of chains used at training time from 8 to\n20 and increase the maximum number of MSA sequences from 1,152 to 2,048 for 3 of\nthe 5 AlphaFold-Multimer models.\n\nFor the CASP15 baseline, we also used somewhat more expensive inference settings\nthat have been found externally to improve AlphaFold accuracy. We increase the\nnumber of seeds per model to 20[^2] and increase the maximum number of\nrecyclings to 20 with early stopping[^3]. Increasing the number of seeds to 20\nis recommended for very large or difficult targets but is not the default due to\nincreased computational time.\n\nOverall, we expect these new models to be the preferred models whenever the\nstoichiometry of the complex is known, including known monomeric structures. In\ncases where the stoichiometry is unknown, such as in genome-scale prediction, it\nis likely that single chain AlphaFold will be more accurate on average unless\nthe chain has several thousand residues.\n\nThe predicted structures used for the CASP15 baselines are available\n[here](https://github.com/deepmind/alphafold/blob/main/docs/casp15_predictions.zip).\n\n\n[^1]: wwPDB Consortium. \"Protein Data Bank: the single global archive for 3D\n  macromolecular structure data.\" Nucleic Acids Res. 47, D520–D528 (2018).\n\n[^2]: Johansson-Åkhe, Isak, and Björn Wallner. \"Improving peptide-protein\n  docking with AlphaFold-Multimer using forced sampling.\" Frontiers in\n  bioinformatics 2 (2022): 959160-959160.\n\n[^3]: Gao, Mu, et al. \"AF2Complex predicts direct physical interactions in\n  multimeric proteins with deep learning.\" Nature communications 13.1 (2022):\n  1-13.\n"
  },
  {
    "path": "notebooks/AlphaFold.ipynb",
    "content": "{\n  \"cells\": [\n    {\n      \"cell_type\": \"markdown\",\n      \"metadata\": {\n        \"id\": \"pc5-mbsX9PZC\"\n      },\n      \"source\": [\n        \"**SERVICE UNAVAILABLE**\\n\",\n        \"\\n\",\n        \"**This notebook is no longer supported. Please use [ColabFold](https://github.com/sokrypton/ColabFold) (for AlphaFold 2) or [AlphaFold Server](https://alphafoldserver.com/) (for AlphaFold 3).**\\n\"\n      ]\n    }\n  ],\n  \"metadata\": {\n    \"accelerator\": \"GPU\",\n    \"colab\": {\n      \"name\": \"AlphaFold.ipynb\",\n      \"private_outputs\": true,\n      \"provenance\": []\n    },\n    \"kernelspec\": {\n      \"display_name\": \"Python 3\",\n      \"name\": \"python3\"\n    },\n    \"language_info\": {\n      \"name\": \"python\"\n    }\n  },\n  \"nbformat\": 4,\n  \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "pyproject.toml",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n[build-system]\nrequires = [\"setuptools>=61.0.0,<72.0.0\"]\nbuild-backend = \"setuptools.build_meta\"\n\n[project]\nname = \"alphafold\"\ndynamic = [\"version\"]\nrequires-python = \">=3.8\"\ndescription = \"An implementation of the inference pipeline of AlphaFold v2.0. This is a completely new model that was entered as AlphaFold2 in CASP14 and published in Nature.\"\nauthors = [\n    {name = \"DeepMind\", email = \"alphafold@deepmind.com\"},\n]\nlicense = {text = \"Apache License, Version 2.0\"}\nreadme = \"README.md\"\nclassifiers = [\n    \"Development Status :: 5 - Production/Stable\",\n    \"Intended Audience :: Science/Research\",\n    \"License :: OSI Approved :: Apache Software License\",\n    \"Operating System :: POSIX :: Linux\",\n    \"Programming Language :: Python :: 3.8\",\n    \"Programming Language :: Python :: 3.9\",\n    \"Programming Language :: Python :: 3.10\",\n    \"Programming Language :: Python :: 3.11\",\n    \"Programming Language :: Python :: 3.12\",\n    \"Topic :: Scientific/Engineering :: Artificial Intelligence\",\n]\ndependencies = [\n    \"absl-py==1.0.0\",\n    \"biopython==1.79\",\n    \"dm-haiku==0.0.12\",\n    \"docker==5.0.0\",\n    \"jax==0.4.26\",\n    \"matplotlib==3.8.0\",\n    \"ml-collections==0.1.0\",\n    \"numpy==1.24.3\",\n    \"openmm[cuda12]==8.2.0\",\n    \"pdbfixer==1.12.0\",\n    \"tensorflow-cpu==2.16.1\",\n]\n\n[project.optional-dependencies]\ntest = [\"pytest<8.5.0\"]\n\n[project.urls]\nHomepage = \"https://github.com/deepmind/alphafold\"\n\n[project.scripts]\nrun_alphafold = \"run_alphafold:main\"\n\n[tool.setuptools.dynamic]\nversion = {attr = \"alphafold.version.__version__\"}\n\n[tool.setuptools]\npy-modules = [\"run_alphafold\"]\n\n[tool.pyink]\nline-length = 80\nunstable = true\ntarget-version = []\npyink-indentation = 2\npyink-use-majority-quotes = true\npyink-annotation-pragmas = [\n    \"noqa\",\n    \"pylint:\",\n    \"type: ignore\",\n    \"pytype:\",\n    \"mypy:\",\n    \"pyright:\",\n    \"pyre-\",\n]\n"
  },
  {
    "path": "requirements.txt",
    "content": "absl-py==1.0.0\nbiopython==1.79\ndm-haiku==0.0.12\ndocker==5.0.0\njax==0.4.26\nmatplotlib==3.8.0\nml-collections==0.1.0\nnumpy==1.24.3\nopenmm[cuda12]==8.2.0\npdbfixer==1.12.0\npytest<8.5.0\nsetuptools<72.0.0\ntensorflow-cpu==2.16.1\n"
  },
  {
    "path": "run_alphafold.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"Full AlphaFold protein structure prediction script.\"\"\"\nimport enum\nimport json\nimport os\nimport pathlib\nimport pickle\nimport random\nimport shutil\nimport sys\nimport time\nfrom typing import Any, Dict, Union\n\nfrom absl import app\nfrom absl import flags\nfrom absl import logging\nfrom alphafold.common import confidence\nfrom alphafold.common import protein\nfrom alphafold.common import residue_constants\nfrom alphafold.data import pipeline\nfrom alphafold.data import pipeline_multimer\nfrom alphafold.data import templates\nfrom alphafold.data.tools import hhsearch\nfrom alphafold.data.tools import hmmsearch\nfrom alphafold.model import config\nfrom alphafold.model import data\nfrom alphafold.model import model\nfrom alphafold.relax import relax\nimport jax.numpy as jnp\nimport numpy as np\n\n# Internal import (7716).\n\nlogging.set_verbosity(logging.INFO)\n\n\n@enum.unique\nclass ModelsToRelax(enum.Enum):\n  ALL = 0\n  BEST = 1\n  NONE = 2\n\n\nflags.DEFINE_list(\n    'fasta_paths',\n    None,\n    'Paths to FASTA files, each containing a prediction '\n    'target that will be folded one after another. If a FASTA file contains '\n    'multiple sequences, then it will be folded as a multimer. Paths should be '\n    'separated by commas. All FASTA paths must have a unique basename as the '\n    'basename is used to name the output directories for each prediction.',\n)\n\nflags.DEFINE_string('data_dir', None, 'Path to directory of supporting data.')\nflags.DEFINE_string(\n    'output_dir', None, 'Path to a directory that will store the results.'\n)\nflags.DEFINE_string(\n    'jackhmmer_binary_path',\n    shutil.which('jackhmmer'),\n    'Path to the JackHMMER executable.',\n)\nflags.DEFINE_string(\n    'hhblits_binary_path',\n    shutil.which('hhblits'),\n    'Path to the HHblits executable.',\n)\nflags.DEFINE_string(\n    'hhsearch_binary_path',\n    shutil.which('hhsearch'),\n    'Path to the HHsearch executable.',\n)\nflags.DEFINE_string(\n    'hmmsearch_binary_path',\n    shutil.which('hmmsearch'),\n    'Path to the hmmsearch executable.',\n)\nflags.DEFINE_string(\n    'hmmbuild_binary_path',\n    shutil.which('hmmbuild'),\n    'Path to the hmmbuild executable.',\n)\nflags.DEFINE_string(\n    'kalign_binary_path',\n    shutil.which('kalign'),\n    'Path to the Kalign executable.',\n)\nflags.DEFINE_string(\n    'uniref90_database_path',\n    None,\n    'Path to the Uniref90 database for use by JackHMMER.',\n)\nflags.DEFINE_string(\n    'mgnify_database_path',\n    None,\n    'Path to the MGnify database for use by JackHMMER.',\n)\nflags.DEFINE_string(\n    'bfd_database_path', None, 'Path to the BFD database for use by HHblits.'\n)\nflags.DEFINE_string(\n    'small_bfd_database_path',\n    None,\n    'Path to the small version of BFD used with the \"reduced_dbs\" preset.',\n)\nflags.DEFINE_string(\n    'uniref30_database_path',\n    None,\n    'Path to the UniRef30 database for use by HHblits.',\n)\nflags.DEFINE_string(\n    'uniprot_database_path',\n    None,\n    'Path to the Uniprot database for use by JackHMMer.',\n)\nflags.DEFINE_string(\n    'pdb70_database_path',\n    None,\n    'Path to the PDB70 database for use by HHsearch.',\n)\nflags.DEFINE_string(\n    'pdb_seqres_database_path',\n    None,\n    'Full filepath to the '\n    'PDB seqres database file (not just the directory) for use '\n    'by hmmsearch.',\n)\nflags.DEFINE_string(\n    'template_mmcif_dir',\n    None,\n    'Path to a directory with '\n    'template mmCIF structures, each named <pdb_id>.cif',\n)\nflags.DEFINE_string(\n    'max_template_date',\n    None,\n    'Maximum template release date '\n    'to consider. Important if folding historical test sets.',\n)\nflags.DEFINE_string(\n    'obsolete_pdbs_path',\n    None,\n    'Path to file containing a '\n    'mapping from obsolete PDB IDs to the PDB IDs of their '\n    'replacements.',\n)\nflags.DEFINE_enum(\n    'db_preset',\n    'full_dbs',\n    ['full_dbs', 'reduced_dbs'],\n    'Choose preset MSA database configuration - '\n    'smaller genetic database config (reduced_dbs) or '\n    'full genetic database config  (full_dbs)',\n)\nflags.DEFINE_enum(\n    'model_preset',\n    'monomer',\n    ['monomer', 'monomer_casp14', 'monomer_ptm', 'multimer'],\n    'Choose preset model configuration - the monomer model, '\n    'the monomer model with extra ensembling, monomer model with '\n    'pTM head, or multimer model',\n)\nflags.DEFINE_boolean(\n    'benchmark',\n    False,\n    'Run multiple JAX model evaluations '\n    'to obtain a timing that excludes the compilation time, '\n    'which should be more indicative of the time required for '\n    'inferencing many proteins.',\n)\nflags.DEFINE_integer(\n    'random_seed',\n    None,\n    'The random seed for the data '\n    'pipeline. By default, this is randomly generated. Note '\n    'that even if this is set, Alphafold may still not be '\n    'deterministic, because processes like GPU inference are '\n    'nondeterministic.',\n)\nflags.DEFINE_integer(\n    'num_multimer_predictions_per_model',\n    5,\n    'How many '\n    'predictions (each with a different random seed) will be '\n    'generated per model. E.g. if this is 2 and there are 5 '\n    'models then there will be 10 predictions per input. '\n    'Note: this FLAG only applies if model_preset=multimer',\n)\nflags.DEFINE_boolean(\n    'use_precomputed_msas',\n    False,\n    'Whether to read MSAs that '\n    'have been written to disk instead of running the MSA '\n    'tools. The MSA files are looked up in the output '\n    'directory, so it must stay the same between multiple '\n    'runs that are to reuse the MSAs. WARNING: This will not '\n    'check if the sequence, database or configuration have '\n    'changed.',\n)\nflags.DEFINE_enum_class(\n    'models_to_relax',\n    ModelsToRelax.BEST,\n    ModelsToRelax,\n    'The models to run the final relaxation step on. '\n    'If `all`, all models are relaxed, which may be time '\n    'consuming. If `best`, only the most confident model '\n    'is relaxed. If `none`, relaxation is not run. Turning '\n    'off relaxation might result in predictions with '\n    'distracting stereochemical violations but might help '\n    'in case you are having issues with the relaxation '\n    'stage.',\n)\nflags.DEFINE_boolean(\n    'use_gpu_relax',\n    None,\n    'Whether to relax on GPU. '\n    'Relax on GPU can be much faster than CPU, so it is '\n    'recommended to enable if possible. GPUs must be available'\n    ' if this setting is enabled.',\n)\nflags.DEFINE_integer(\n    'jackhmmer_n_cpu',\n    # Unfortunately, os.process_cpu_count() is only available in Python 3.13+.\n    min(len(os.sched_getaffinity(0)), 8),\n    'Number of CPUs to use for Jackhmmer. Defaults to min(cpu_count, 8). Going'\n    ' above 8 CPUs provides very little additional speedup.',\n    lower_bound=0,\n)\nflags.DEFINE_integer(\n    'hmmsearch_n_cpu',\n    # Unfortunately, os.process_cpu_count() is only available in Python 3.13+.\n    min(len(os.sched_getaffinity(0)), 8),\n    'Number of CPUs to use for HMMsearch. Defaults to min(cpu_count, 8). Going'\n    ' above 8 CPUs provides very little additional speedup.',\n    lower_bound=0,\n)\nflags.DEFINE_integer(\n    'hhsearch_n_cpu',\n    # Unfortunately, os.process_cpu_count() is only available in Python 3.13+.\n    min(len(os.sched_getaffinity(0)), 8),\n    'Number of CPUs to use for HHsearch. Defaults to min(cpu_count, 8). Going'\n    ' above 8 CPUs provides very little additional speedup.',\n    lower_bound=0,\n)\n\nFLAGS = flags.FLAGS\n\nMAX_TEMPLATE_HITS = 20\nRELAX_MAX_ITERATIONS = 0\nRELAX_ENERGY_TOLERANCE = 2.39\nRELAX_STIFFNESS = 10.0\nRELAX_EXCLUDE_RESIDUES = []\nRELAX_MAX_OUTER_ITERATIONS = 3\n\n\ndef _check_flag(flag_name: str, other_flag_name: str, should_be_set: bool):\n  if should_be_set != bool(FLAGS[flag_name].value):\n    verb = 'be' if should_be_set else 'not be'\n    raise ValueError(\n        f'{flag_name} must {verb} set when running with '\n        f'\"--{other_flag_name}={FLAGS[other_flag_name].value}\".'\n    )\n\n\ndef _jnp_to_np(output: Dict[str, Any]) -> Dict[str, Any]:\n  \"\"\"Recursively changes jax arrays to numpy arrays.\"\"\"\n  for k, v in output.items():\n    if isinstance(v, dict):\n      output[k] = _jnp_to_np(v)\n    elif isinstance(v, jnp.ndarray):\n      output[k] = np.array(v)\n  return output\n\n\ndef _save_confidence_json_file(\n    plddt: np.ndarray, output_dir: str, model_name: str\n) -> None:\n  confidence_json = confidence.confidence_json(plddt)\n\n  # Save the confidence json.\n  confidence_json_output_path = os.path.join(\n      output_dir, f'confidence_{model_name}.json'\n  )\n  with open(confidence_json_output_path, 'w') as f:\n    f.write(confidence_json)\n\n\ndef _save_mmcif_file(\n    prot: protein.Protein,\n    output_dir: str,\n    model_name: str,\n    file_id: str,\n    model_type: str,\n) -> None:\n  \"\"\"Create mmCIF string and save to a file.\n\n  Args:\n    prot: Protein object.\n    output_dir: Directory to which files are saved.\n    model_name: Name of a model.\n    file_id: The file ID (usually the PDB ID) to be used in the mmCIF.\n    model_type: Monomer or multimer.\n  \"\"\"\n\n  mmcif_string = protein.to_mmcif(prot, file_id, model_type)\n\n  # Save the MMCIF.\n  mmcif_output_path = os.path.join(output_dir, f'{model_name}.cif')\n  with open(mmcif_output_path, 'w') as f:\n    f.write(mmcif_string)\n\n\ndef _save_pae_json_file(\n    pae: np.ndarray, max_pae: float, output_dir: str, model_name: str\n) -> None:\n  \"\"\"Check prediction result for PAE data and save to a JSON file if present.\n\n  Args:\n    pae: The n_res x n_res PAE array.\n    max_pae: The maximum possible PAE value.\n    output_dir: Directory to which files are saved.\n    model_name: Name of a model.\n  \"\"\"\n  pae_json = confidence.pae_json(pae, max_pae)\n\n  # Save the PAE json.\n  pae_json_output_path = os.path.join(output_dir, f'pae_{model_name}.json')\n  with open(pae_json_output_path, 'w') as f:\n    f.write(pae_json)\n\n\ndef predict_structure(\n    fasta_path: str,\n    fasta_name: str,\n    output_dir_base: str,\n    data_pipeline: Union[pipeline.DataPipeline, pipeline_multimer.DataPipeline],\n    model_runners: Dict[str, model.RunModel],\n    amber_relaxer: relax.AmberRelaxation,\n    benchmark: bool,\n    random_seed: int,\n    models_to_relax: ModelsToRelax,\n    model_type: str,\n):\n  \"\"\"Predicts structure using AlphaFold for the given sequence.\"\"\"\n  logging.info('Predicting %s', fasta_name)\n  timings = {}\n  output_dir = os.path.join(output_dir_base, fasta_name)\n  if not os.path.exists(output_dir):\n    os.makedirs(output_dir)\n  msa_output_dir = os.path.join(output_dir, 'msas')\n  if not os.path.exists(msa_output_dir):\n    os.makedirs(msa_output_dir)\n\n  # Get features.\n  t_0 = time.time()\n  feature_dict = data_pipeline.process(\n      input_fasta_path=fasta_path, msa_output_dir=msa_output_dir\n  )\n  timings['features'] = time.time() - t_0\n\n  # Write out features as a pickled dictionary.\n  features_output_path = os.path.join(output_dir, 'features.pkl')\n  with open(features_output_path, 'wb') as f:\n    pickle.dump(feature_dict, f, protocol=4)\n\n  unrelaxed_pdbs = {}\n  unrelaxed_proteins = {}\n  relaxed_pdbs = {}\n  relax_metrics = {}\n  ranking_confidences = {}\n\n  # Run the models.\n  num_models = len(model_runners)\n  for model_index, (model_name, model_runner) in enumerate(\n      model_runners.items()\n  ):\n    logging.info('Running model %s on %s', model_name, fasta_name)\n    t_0 = time.time()\n    model_random_seed = model_index + random_seed * num_models\n    processed_feature_dict = model_runner.process_features(\n        feature_dict, random_seed=model_random_seed\n    )\n    timings[f'process_features_{model_name}'] = time.time() - t_0\n\n    t_0 = time.time()\n    prediction_result = model_runner.predict(\n        processed_feature_dict, random_seed=model_random_seed\n    )\n    t_diff = time.time() - t_0\n    timings[f'predict_and_compile_{model_name}'] = t_diff\n    logging.info(\n        'Total JAX model %s on %s predict time (includes compilation time, see'\n        ' --benchmark): %.1fs',\n        model_name,\n        fasta_name,\n        t_diff,\n    )\n\n    if benchmark:\n      t_0 = time.time()\n      model_runner.predict(\n          processed_feature_dict, random_seed=model_random_seed\n      )\n      t_diff = time.time() - t_0\n      timings[f'predict_benchmark_{model_name}'] = t_diff\n      logging.info(\n          'Total JAX model %s on %s predict time (excludes compilation time):'\n          ' %.1fs',\n          model_name,\n          fasta_name,\n          t_diff,\n      )\n\n    plddt = prediction_result['plddt']\n    _save_confidence_json_file(plddt, output_dir, model_name)\n    ranking_confidences[model_name] = prediction_result['ranking_confidence']\n\n    if (\n        'predicted_aligned_error' in prediction_result\n        and 'max_predicted_aligned_error' in prediction_result\n    ):\n      pae = prediction_result['predicted_aligned_error']\n      max_pae = prediction_result['max_predicted_aligned_error']\n      _save_pae_json_file(pae, float(max_pae), output_dir, model_name)\n\n    # Remove jax dependency from results.\n    np_prediction_result = _jnp_to_np(dict(prediction_result))\n\n    # Save the model outputs.\n    result_output_path = os.path.join(output_dir, f'result_{model_name}.pkl')\n    with open(result_output_path, 'wb') as f:\n      pickle.dump(np_prediction_result, f, protocol=4)\n\n    # Add the predicted LDDT in the b-factor column.\n    # Note that higher predicted LDDT value means higher model confidence.\n    plddt_b_factors = np.repeat(\n        plddt[:, None], residue_constants.atom_type_num, axis=-1\n    )\n    unrelaxed_protein = protein.from_prediction(\n        features=processed_feature_dict,\n        result=prediction_result,\n        b_factors=plddt_b_factors,\n        remove_leading_feature_dimension=not model_runner.multimer_mode,\n    )\n\n    unrelaxed_proteins[model_name] = unrelaxed_protein\n    unrelaxed_pdbs[model_name] = protein.to_pdb(unrelaxed_protein)\n    unrelaxed_pdb_path = os.path.join(output_dir, f'unrelaxed_{model_name}.pdb')\n    with open(unrelaxed_pdb_path, 'w') as f:\n      f.write(unrelaxed_pdbs[model_name])\n\n    _save_mmcif_file(\n        prot=unrelaxed_protein,\n        output_dir=output_dir,\n        model_name=f'unrelaxed_{model_name}',\n        file_id=str(model_index),\n        model_type=model_type,\n    )\n\n  # Rank by model confidence.\n  ranked_order = [\n      model_name\n      for model_name, confidence in sorted(\n          ranking_confidences.items(), key=lambda x: x[1], reverse=True\n      )\n  ]\n\n  # Relax predictions.\n  if models_to_relax == ModelsToRelax.BEST:\n    to_relax = [ranked_order[0]]\n  elif models_to_relax == ModelsToRelax.ALL:\n    to_relax = ranked_order\n  elif models_to_relax == ModelsToRelax.NONE:\n    to_relax = []\n\n  for model_name in to_relax:\n    t_0 = time.time()\n    relaxed_pdb_str, _, violations = amber_relaxer.process(\n        prot=unrelaxed_proteins[model_name]\n    )\n    relax_metrics[model_name] = {\n        'remaining_violations': violations,\n        'remaining_violations_count': sum(violations),\n    }\n    timings[f'relax_{model_name}'] = time.time() - t_0\n\n    relaxed_pdbs[model_name] = relaxed_pdb_str\n\n    # Save the relaxed PDB.\n    relaxed_output_path = os.path.join(output_dir, f'relaxed_{model_name}.pdb')\n    with open(relaxed_output_path, 'w') as f:\n      f.write(relaxed_pdb_str)\n\n    relaxed_protein = protein.from_pdb_string(relaxed_pdb_str)\n    _save_mmcif_file(\n        prot=relaxed_protein,\n        output_dir=output_dir,\n        model_name=f'relaxed_{model_name}',\n        file_id='0',\n        model_type=model_type,\n    )\n\n  # Write out relaxed PDBs in rank order.\n  for idx, model_name in enumerate(ranked_order):\n    ranked_output_path = os.path.join(output_dir, f'ranked_{idx}.pdb')\n    with open(ranked_output_path, 'w') as f:\n      if model_name in relaxed_pdbs:\n        f.write(relaxed_pdbs[model_name])\n      else:\n        f.write(unrelaxed_pdbs[model_name])\n\n    if model_name in relaxed_pdbs:\n      protein_instance = protein.from_pdb_string(relaxed_pdbs[model_name])\n    else:\n      protein_instance = protein.from_pdb_string(unrelaxed_pdbs[model_name])\n\n    _save_mmcif_file(\n        prot=protein_instance,\n        output_dir=output_dir,\n        model_name=f'ranked_{idx}',\n        file_id=str(idx),\n        model_type=model_type,\n    )\n\n  ranking_output_path = os.path.join(output_dir, 'ranking_debug.json')\n  with open(ranking_output_path, 'w') as f:\n    label = 'iptm+ptm' if 'iptm' in prediction_result else 'plddts'\n    f.write(\n        json.dumps(\n            {label: ranking_confidences, 'order': ranked_order}, indent=4\n        )\n    )\n\n  logging.info('Final timings for %s: %s', fasta_name, timings)\n\n  timings_output_path = os.path.join(output_dir, 'timings.json')\n  with open(timings_output_path, 'w') as f:\n    f.write(json.dumps(timings, indent=4))\n  if models_to_relax != ModelsToRelax.NONE:\n    relax_metrics_path = os.path.join(output_dir, 'relax_metrics.json')\n    with open(relax_metrics_path, 'w') as f:\n      f.write(json.dumps(relax_metrics, indent=4))\n\n\ndef main(argv):\n  if len(argv) > 1:\n    raise app.UsageError('Too many command-line arguments.')\n\n  for tool_name in (\n      'jackhmmer',\n      'hhblits',\n      'hhsearch',\n      'hmmsearch',\n      'hmmbuild',\n      'kalign',\n  ):\n    if not FLAGS[f'{tool_name}_binary_path'].value:\n      raise ValueError(\n          f'Could not find path to the \"{tool_name}\" binary. Make '\n          'sure it is installed on your system.'\n      )\n\n  use_small_bfd = FLAGS.db_preset == 'reduced_dbs'\n  _check_flag(\n      'small_bfd_database_path', 'db_preset', should_be_set=use_small_bfd\n  )\n  _check_flag('bfd_database_path', 'db_preset', should_be_set=not use_small_bfd)\n  _check_flag(\n      'uniref30_database_path', 'db_preset', should_be_set=not use_small_bfd\n  )\n\n  run_multimer_system = 'multimer' in FLAGS.model_preset\n  model_type = 'Multimer' if run_multimer_system else 'Monomer'\n  _check_flag(\n      'pdb70_database_path',\n      'model_preset',\n      should_be_set=not run_multimer_system,\n  )\n  _check_flag(\n      'pdb_seqres_database_path',\n      'model_preset',\n      should_be_set=run_multimer_system,\n  )\n  _check_flag(\n      'uniprot_database_path', 'model_preset', should_be_set=run_multimer_system\n  )\n\n  if FLAGS.model_preset == 'monomer_casp14':\n    num_ensemble = 8\n  else:\n    num_ensemble = 1\n\n  # Check for duplicate FASTA file names.\n  fasta_names = [pathlib.Path(p).stem for p in FLAGS.fasta_paths]\n  if len(fasta_names) != len(set(fasta_names)):\n    raise ValueError('All FASTA paths must have a unique basename.')\n\n  if run_multimer_system:\n    template_searcher = hmmsearch.Hmmsearch(\n        binary_path=FLAGS.hmmsearch_binary_path,\n        hmmbuild_binary_path=FLAGS.hmmbuild_binary_path,\n        database_path=FLAGS.pdb_seqres_database_path,\n        cpu=FLAGS.hmmsearch_n_cpu,\n    )\n    template_featurizer = templates.HmmsearchHitFeaturizer(\n        mmcif_dir=FLAGS.template_mmcif_dir,\n        max_template_date=FLAGS.max_template_date,\n        max_hits=MAX_TEMPLATE_HITS,\n        kalign_binary_path=FLAGS.kalign_binary_path,\n        release_dates_path=None,\n        obsolete_pdbs_path=FLAGS.obsolete_pdbs_path,\n    )\n  else:\n    template_searcher = hhsearch.HHSearch(\n        binary_path=FLAGS.hhsearch_binary_path,\n        databases=[FLAGS.pdb70_database_path],\n        cpu=FLAGS.hhsearch_n_cpu,\n    )\n    template_featurizer = templates.HhsearchHitFeaturizer(\n        mmcif_dir=FLAGS.template_mmcif_dir,\n        max_template_date=FLAGS.max_template_date,\n        max_hits=MAX_TEMPLATE_HITS,\n        kalign_binary_path=FLAGS.kalign_binary_path,\n        release_dates_path=None,\n        obsolete_pdbs_path=FLAGS.obsolete_pdbs_path,\n    )\n\n  monomer_data_pipeline = pipeline.DataPipeline(\n      jackhmmer_binary_path=FLAGS.jackhmmer_binary_path,\n      hhblits_binary_path=FLAGS.hhblits_binary_path,\n      uniref90_database_path=FLAGS.uniref90_database_path,\n      mgnify_database_path=FLAGS.mgnify_database_path,\n      bfd_database_path=FLAGS.bfd_database_path,\n      uniref30_database_path=FLAGS.uniref30_database_path,\n      small_bfd_database_path=FLAGS.small_bfd_database_path,\n      template_searcher=template_searcher,\n      template_featurizer=template_featurizer,\n      use_small_bfd=use_small_bfd,\n      use_precomputed_msas=FLAGS.use_precomputed_msas,\n      msa_tools_n_cpu=FLAGS.jackhmmer_n_cpu,\n  )\n\n  if run_multimer_system:\n    num_predictions_per_model = FLAGS.num_multimer_predictions_per_model\n    data_pipeline = pipeline_multimer.DataPipeline(\n        monomer_data_pipeline=monomer_data_pipeline,\n        jackhmmer_binary_path=FLAGS.jackhmmer_binary_path,\n        uniprot_database_path=FLAGS.uniprot_database_path,\n        use_precomputed_msas=FLAGS.use_precomputed_msas,\n        jackhmmer_n_cpu=FLAGS.jackhmmer_n_cpu,\n    )\n  else:\n    num_predictions_per_model = 1\n    data_pipeline = monomer_data_pipeline\n\n  model_runners = {}\n  model_names = config.MODEL_PRESETS[FLAGS.model_preset]\n  for model_name in model_names:\n    model_config = config.model_config(model_name)\n    if run_multimer_system:\n      model_config.model.num_ensemble_eval = num_ensemble\n    else:\n      model_config.data.eval.num_ensemble = num_ensemble\n    model_params = data.get_model_haiku_params(\n        model_name=model_name, data_dir=FLAGS.data_dir\n    )\n    model_runner = model.RunModel(model_config, model_params)\n    for i in range(num_predictions_per_model):\n      model_runners[f'{model_name}_pred_{i}'] = model_runner\n\n  logging.info(\n      'Have %d models: %s', len(model_runners), list(model_runners.keys())\n  )\n\n  amber_relaxer = relax.AmberRelaxation(\n      max_iterations=RELAX_MAX_ITERATIONS,\n      tolerance=RELAX_ENERGY_TOLERANCE,\n      stiffness=RELAX_STIFFNESS,\n      exclude_residues=RELAX_EXCLUDE_RESIDUES,\n      max_outer_iterations=RELAX_MAX_OUTER_ITERATIONS,\n      use_gpu=FLAGS.use_gpu_relax,\n  )\n\n  random_seed = FLAGS.random_seed\n  if random_seed is None:\n    random_seed = random.randrange(sys.maxsize // len(model_runners))\n  logging.info('Using random seed %d for the data pipeline', random_seed)\n\n  # Predict structure for each of the sequences.\n  for i, fasta_path in enumerate(FLAGS.fasta_paths):\n    fasta_name = fasta_names[i]\n    predict_structure(\n        fasta_path=fasta_path,\n        fasta_name=fasta_name,\n        output_dir_base=FLAGS.output_dir,\n        data_pipeline=data_pipeline,\n        model_runners=model_runners,\n        amber_relaxer=amber_relaxer,\n        benchmark=FLAGS.benchmark,\n        random_seed=random_seed,\n        models_to_relax=FLAGS.models_to_relax,\n        model_type=model_type,\n    )\n\n\nif __name__ == '__main__':\n  flags.mark_flags_as_required([\n      'fasta_paths',\n      'output_dir',\n      'data_dir',\n      'uniref90_database_path',\n      'mgnify_database_path',\n      'template_mmcif_dir',\n      'max_template_date',\n      'obsolete_pdbs_path',\n      'use_gpu_relax',\n  ])\n\n  app.run(main)\n"
  },
  {
    "path": "run_alphafold_test.py",
    "content": "# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport json\nimport os\nfrom unittest import mock\n\nfrom absl.testing import absltest\nfrom absl.testing import parameterized\nimport run_alphafold\nimport numpy as np\n\n# Internal import (7716).\n\nTEST_DATA_DIR = 'alphafold/common/testdata/'\n\n\nclass RunAlphafoldTest(parameterized.TestCase):\n\n  @parameterized.named_parameters(\n      ('relax', run_alphafold.ModelsToRelax.ALL),\n      ('no_relax', run_alphafold.ModelsToRelax.NONE),\n  )\n  def test_end_to_end(self, models_to_relax):\n\n    data_pipeline_mock = mock.Mock()\n    model_runner_mock = mock.Mock()\n    amber_relaxer_mock = mock.Mock()\n\n    data_pipeline_mock.process.return_value = {}\n    model_runner_mock.process_features.return_value = {\n        'aatype': np.zeros((12, 10), dtype=np.int32),\n        'residue_index': np.tile(np.arange(10, dtype=np.int32)[None], (12, 1)),\n    }\n    model_runner_mock.predict.return_value = {\n        'structure_module': {\n            'final_atom_positions': np.zeros((10, 37, 3)),\n            'final_atom_mask': np.ones((10, 37)),\n        },\n        'predicted_lddt': {\n            'logits': np.ones((10, 50)),\n        },\n        'plddt': np.ones(10) * 42,\n        'ranking_confidence': 90,\n        'ptm': np.array(0.0),\n        'aligned_confidence_probs': np.zeros((10, 10, 50)),\n        'predicted_aligned_error': np.zeros((10, 10)),\n        'max_predicted_aligned_error': np.array(0.0),\n    }\n    model_runner_mock.multimer_mode = False\n\n    with open(\n        os.path.join(\n            absltest.get_default_test_srcdir(), TEST_DATA_DIR, 'glucagon.pdb'\n        )\n    ) as f:\n      pdb_string = f.read()\n    amber_relaxer_mock.process.return_value = (\n        pdb_string,\n        None,\n        [1.0, 0.0, 0.0],\n    )\n\n    out_dir = self.create_tempdir().full_path\n    fasta_path = os.path.join(out_dir, 'target.fasta')\n    with open(fasta_path, 'wt') as f:\n      f.write('>A\\nAAAAAAAAAAAAA')\n    fasta_name = 'test'\n\n    run_alphafold.predict_structure(\n        fasta_path=fasta_path,\n        fasta_name=fasta_name,\n        output_dir_base=out_dir,\n        data_pipeline=data_pipeline_mock,\n        model_runners={'model1': model_runner_mock},\n        amber_relaxer=amber_relaxer_mock,\n        benchmark=False,\n        random_seed=0,\n        models_to_relax=models_to_relax,\n        model_type='Monomer',\n    )\n\n    base_output_files = os.listdir(out_dir)\n    self.assertIn('target.fasta', base_output_files)\n    self.assertIn('test', base_output_files)\n\n    target_output_files = os.listdir(os.path.join(out_dir, 'test'))\n    expected_files = [\n        'confidence_model1.json',\n        'features.pkl',\n        'msas',\n        'pae_model1.json',\n        'ranked_0.cif',\n        'ranked_0.pdb',\n        'ranking_debug.json',\n        'result_model1.pkl',\n        'timings.json',\n        'unrelaxed_model1.cif',\n        'unrelaxed_model1.pdb',\n    ]\n    if models_to_relax == run_alphafold.ModelsToRelax.ALL:\n      expected_files.extend(\n          ['relaxed_model1.cif', 'relaxed_model1.pdb', 'relax_metrics.json']\n      )\n      with open(os.path.join(out_dir, 'test', 'relax_metrics.json')) as f:\n        relax_metrics = json.loads(f.read())\n      self.assertDictEqual(\n          {\n              'model1': {\n                  'remaining_violations': [1.0, 0.0, 0.0],\n                  'remaining_violations_count': 1.0,\n              }\n          },\n          relax_metrics,\n      )\n    self.assertCountEqual(expected_files, target_output_files)\n\n    # Check that pLDDT is set in the B-factor column.\n    with open(os.path.join(out_dir, 'test', 'unrelaxed_model1.pdb')) as f:\n      for line in f:\n        if line.startswith('ATOM'):\n          self.assertEqual(line[61:66], '42.00')\n\n\nif __name__ == '__main__':\n  absltest.main()\n"
  },
  {
    "path": "scripts/download_all_data.sh",
    "content": "#!/usr/bin/env bash\n#\n# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n# Downloads and unzips all required data for AlphaFold.\n#\n# Usage: bash download_all_data.sh /path/to/download/directory\nset -e\n\nif [[ $# -eq 0 ]]; then\n  echo \"Error: download directory must be provided as an input argument.\"\n  exit 1\nfi\n\nif ! command -v aria2c &> /dev/null ; then\n  echo \"Error: aria2c could not be found. Please install aria2c (sudo apt install aria2).\"\n  exit 1\nfi\n\nif ! command -v rsync &> /dev/null ; then\n    echo \"Error: rsync could not be found. Please install rsync (sudo apt install rsync).\"\n    exit 1\nfi\n\nDOWNLOAD_DIR=\"$1\"\nDOWNLOAD_MODE=\"${2:-full_dbs}\"  # Default mode to full_dbs.\nif [[ \"${DOWNLOAD_MODE}\" != full_dbs && \"${DOWNLOAD_MODE}\" != reduced_dbs ]]\nthen\n  echo \"DOWNLOAD_MODE ${DOWNLOAD_MODE} not recognized.\"\n  exit 1\nfi\n\nSCRIPT_DIR=\"$(dirname \"$(realpath \"$0\")\")\"\n\necho \"Downloading AlphaFold parameters...\"\nbash \"${SCRIPT_DIR}/download_alphafold_params.sh\" \"${DOWNLOAD_DIR}\"\n\nif [[ \"${DOWNLOAD_MODE}\" = reduced_dbs ]] ; then\n  echo \"Downloading Small BFD...\"\n  bash \"${SCRIPT_DIR}/download_small_bfd.sh\" \"${DOWNLOAD_DIR}\"\nelse\n  echo \"Downloading BFD...\"\n  bash \"${SCRIPT_DIR}/download_bfd.sh\" \"${DOWNLOAD_DIR}\"\nfi\n\necho \"Downloading MGnify...\"\nbash \"${SCRIPT_DIR}/download_mgnify.sh\" \"${DOWNLOAD_DIR}\"\n\necho \"Downloading PDB70...\"\nbash \"${SCRIPT_DIR}/download_pdb70.sh\" \"${DOWNLOAD_DIR}\"\n\necho \"Downloading PDB mmCIF files...\"\nbash \"${SCRIPT_DIR}/download_pdb_mmcif.sh\" \"${DOWNLOAD_DIR}\"\n\necho \"Downloading Uniref30...\"\nbash \"${SCRIPT_DIR}/download_uniref30.sh\" \"${DOWNLOAD_DIR}\"\n\necho \"Downloading Uniref90...\"\nbash \"${SCRIPT_DIR}/download_uniref90.sh\" \"${DOWNLOAD_DIR}\"\n\necho \"Downloading UniProt...\"\nbash \"${SCRIPT_DIR}/download_uniprot.sh\" \"${DOWNLOAD_DIR}\"\n\necho \"Downloading PDB SeqRes...\"\nbash \"${SCRIPT_DIR}/download_pdb_seqres.sh\" \"${DOWNLOAD_DIR}\"\n\necho \"All data downloaded.\"\n"
  },
  {
    "path": "scripts/download_alphafold_params.sh",
    "content": "#!/usr/bin/env bash\n#\n# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n# Downloads and unzips the AlphaFold parameters.\n#\n# Usage: bash download_alphafold_params.sh /path/to/download/directory\nset -e\n\nif [[ $# -eq 0 ]]; then\n    echo \"Error: download directory must be provided as an input argument.\"\n    exit 1\nfi\n\nif ! command -v aria2c &> /dev/null ; then\n    echo \"Error: aria2c could not be found. Please install aria2c (sudo apt install aria2).\"\n    exit 1\nfi\n\nDOWNLOAD_DIR=\"$1\"\nROOT_DIR=\"${DOWNLOAD_DIR}/params\"\nSOURCE_URL=\"https://storage.googleapis.com/alphafold/alphafold_params_2022-12-06.tar\"\nBASENAME=$(basename \"${SOURCE_URL}\")\n\nmkdir --parents \"${ROOT_DIR}\"\naria2c \"${SOURCE_URL}\" --dir=\"${ROOT_DIR}\"\ntar --extract --verbose --file=\"${ROOT_DIR}/${BASENAME}\" \\\n  --directory=\"${ROOT_DIR}\" --preserve-permissions\nrm \"${ROOT_DIR}/${BASENAME}\"\n"
  },
  {
    "path": "scripts/download_bfd.sh",
    "content": "#!/usr/bin/env bash\n#\n# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n# Downloads and unzips the BFD database for AlphaFold.\n#\n# Usage: bash download_bfd.sh /path/to/download/directory\nset -e\n\nif [[ $# -eq 0 ]]; then\n    echo \"Error: download directory must be provided as an input argument.\"\n    exit 1\nfi\n\nif ! command -v aria2c &> /dev/null ; then\n    echo \"Error: aria2c could not be found. Please install aria2c (sudo apt install aria2).\"\n    exit 1\nfi\n\nDOWNLOAD_DIR=\"$1\"\nROOT_DIR=\"${DOWNLOAD_DIR}/bfd\"\n# Mirror of:\n# https://bfd.mmseqs.com/bfd_metaclust_clu_complete_id30_c90_final_seq.sorted_opt.tar.gz.\nSOURCE_URL=\"https://storage.googleapis.com/alphafold-databases/casp14_versions/bfd_metaclust_clu_complete_id30_c90_final_seq.sorted_opt.tar.gz\"\nBASENAME=$(basename \"${SOURCE_URL}\")\n\nmkdir --parents \"${ROOT_DIR}\"\naria2c \"${SOURCE_URL}\" --dir=\"${ROOT_DIR}\"\ntar --extract --verbose --file=\"${ROOT_DIR}/${BASENAME}\" \\\n  --directory=\"${ROOT_DIR}\"\nrm \"${ROOT_DIR}/${BASENAME}\"\n"
  },
  {
    "path": "scripts/download_mgnify.sh",
    "content": "#!/usr/bin/env bash\n#\n# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n# Downloads and unzips the MGnify database for AlphaFold.\n#\n# Usage: bash download_mgnify.sh /path/to/download/directory\nset -e\n\nif [[ $# -eq 0 ]]; then\n    echo \"Error: download directory must be provided as an input argument.\"\n    exit 1\nfi\n\nif ! command -v aria2c &> /dev/null ; then\n    echo \"Error: aria2c could not be found. Please install aria2c (sudo apt install aria2).\"\n    exit 1\nfi\n\nDOWNLOAD_DIR=\"$1\"\nROOT_DIR=\"${DOWNLOAD_DIR}/mgnify\"\n# Mirror of:\n# https://ftp.ebi.ac.uk/pub/databases/metagenomics/peptide_database/2022_05/mgy_clusters.fa.gz\nSOURCE_URL=\"https://storage.googleapis.com/alphafold-databases/v2.3/mgy_clusters_2022_05.fa.gz\"\nBASENAME=$(basename \"${SOURCE_URL}\")\n\nmkdir --parents \"${ROOT_DIR}\"\naria2c \"${SOURCE_URL}\" --dir=\"${ROOT_DIR}\"\npushd \"${ROOT_DIR}\"\ngunzip \"${ROOT_DIR}/${BASENAME}\"\npopd\n"
  },
  {
    "path": "scripts/download_pdb70.sh",
    "content": "#!/usr/bin/env bash\n#\n# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n# Downloads and unzips the PDB70 database for AlphaFold.\n#\n# Usage: bash download_pdb70.sh /path/to/download/directory\nset -e\n\nif [[ $# -eq 0 ]]; then\n    echo \"Error: download directory must be provided as an input argument.\"\n    exit 1\nfi\n\nif ! command -v aria2c &> /dev/null ; then\n    echo \"Error: aria2c could not be found. Please install aria2c (sudo apt install aria2).\"\n    exit 1\nfi\n\nDOWNLOAD_DIR=\"$1\"\nROOT_DIR=\"${DOWNLOAD_DIR}/pdb70\"\nSOURCE_URL=\"http://wwwuser.gwdg.de/~compbiol/data/hhsuite/databases/hhsuite_dbs/old-releases/pdb70_from_mmcif_200401.tar.gz\"\nBASENAME=$(basename \"${SOURCE_URL}\")\n\nmkdir --parents \"${ROOT_DIR}\"\naria2c \"${SOURCE_URL}\" --dir=\"${ROOT_DIR}\"\ntar --extract --verbose --file=\"${ROOT_DIR}/${BASENAME}\" \\\n  --directory=\"${ROOT_DIR}\"\nrm \"${ROOT_DIR}/${BASENAME}\"\n"
  },
  {
    "path": "scripts/download_pdb_mmcif.sh",
    "content": "#!/usr/bin/env bash\n#\n# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n# Downloads, unzips and flattens the PDB database for AlphaFold.\n#\n# Usage: bash download_pdb_mmcif.sh /path/to/download/directory\nset -e\n\nif [[ $# -eq 0 ]]; then\n    echo \"Error: download directory must be provided as an input argument.\"\n    exit 1\nfi\n\nif ! command -v aria2c &> /dev/null ; then\n    echo \"Error: aria2c could not be found. Please install aria2c (sudo apt install aria2).\"\n    exit 1\nfi\n\nif ! command -v rsync &> /dev/null ; then\n    echo \"Error: rsync could not be found. Please install rsync.\"\n    exit 1\nfi\n\nDOWNLOAD_DIR=\"$1\"\nROOT_DIR=\"${DOWNLOAD_DIR}/pdb_mmcif\"\nRAW_DIR=\"${ROOT_DIR}/raw\"\nMMCIF_DIR=\"${ROOT_DIR}/mmcif_files\"\n\necho \"Running rsync to fetch all mmCIF files (note that the rsync progress estimate might be inaccurate)...\"\necho \"If the download speed is too slow, try changing the mirror to:\"\necho \"  * rsync.ebi.ac.uk::pub/databases/pdb/data/structures/divided/mmCIF/ (Europe)\"\necho \"  * ftp.pdbj.org::ftp_data/structures/divided/mmCIF/ (Asia)\"\necho \"or see https://www.wwpdb.org/ftp/pdb-ftp-sites for more download options.\"\nmkdir --parents \"${RAW_DIR}\"\nrsync --recursive --links --perms --times --compress --info=progress2 --delete --port=33444 \\\n  rsync.rcsb.org::ftp_data/structures/divided/mmCIF/ \\\n  \"${RAW_DIR}\"\n\necho \"Unzipping all mmCIF files...\"\nfind \"${RAW_DIR}/\" -type f -iname \"*.gz\" -exec gunzip {} +\n\necho \"Flattening all mmCIF files...\"\nmkdir --parents \"${MMCIF_DIR}\"\nfind \"${RAW_DIR}\" -type d -empty -delete  # Delete empty directories.\nfor subdir in \"${RAW_DIR}\"/*; do\n  mv \"${subdir}/\"*.cif \"${MMCIF_DIR}\"\ndone\n\n# Delete empty download directory structure.\nfind \"${RAW_DIR}\" -type d -empty -delete\n\naria2c \"https://files.wwpdb.org/pub/pdb/data/status/obsolete.dat\" --dir=\"${ROOT_DIR}\"\n"
  },
  {
    "path": "scripts/download_pdb_seqres.sh",
    "content": "#!/usr/bin/env bash\n#\n# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n# Downloads and unzips the PDB SeqRes database for AlphaFold.\n#\n# Usage: bash download_pdb_seqres.sh /path/to/download/directory\nset -e\n\nif [[ $# -eq 0 ]]; then\n    echo \"Error: download directory must be provided as an input argument.\"\n    exit 1\nfi\n\nif ! command -v aria2c &> /dev/null ; then\n    echo \"Error: aria2c could not be found. Please install aria2c (sudo apt install aria2).\"\n    exit 1\nfi\n\nDOWNLOAD_DIR=\"$1\"\nROOT_DIR=\"${DOWNLOAD_DIR}/pdb_seqres\"\nSOURCE_URL=\"https://files.wwpdb.org/pub/pdb/derived_data/pdb_seqres.txt\"\nBASENAME=$(basename \"${SOURCE_URL}\")\n\nmkdir --parents \"${ROOT_DIR}\"\naria2c \"${SOURCE_URL}\" --dir=\"${ROOT_DIR}\"\n\n# Keep only protein sequences.\ngrep --after-context=1 --no-group-separator '>.* mol:protein' \"${ROOT_DIR}/pdb_seqres.txt\" > \"${ROOT_DIR}/pdb_seqres_filtered.txt\"\nmv \"${ROOT_DIR}/pdb_seqres_filtered.txt\" \"${ROOT_DIR}/pdb_seqres.txt\"\n"
  },
  {
    "path": "scripts/download_small_bfd.sh",
    "content": "#!/usr/bin/env bash\n#\n# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n# Downloads and unzips the Small BFD database for AlphaFold.\n#\n# Usage: bash download_small_bfd.sh /path/to/download/directory\nset -e\n\nif [[ $# -eq 0 ]]; then\n    echo \"Error: download directory must be provided as an input argument.\"\n    exit 1\nfi\n\nif ! command -v aria2c &> /dev/null ; then\n    echo \"Error: aria2c could not be found. Please install aria2c (sudo apt install aria2).\"\n    exit 1\nfi\n\nDOWNLOAD_DIR=\"$1\"\nROOT_DIR=\"${DOWNLOAD_DIR}/small_bfd\"\nSOURCE_URL=\"https://storage.googleapis.com/alphafold-databases/reduced_dbs/bfd-first_non_consensus_sequences.fasta.gz\"\nBASENAME=$(basename \"${SOURCE_URL}\")\n\nmkdir --parents \"${ROOT_DIR}\"\naria2c \"${SOURCE_URL}\" --dir=\"${ROOT_DIR}\"\npushd \"${ROOT_DIR}\"\ngunzip \"${ROOT_DIR}/${BASENAME}\"\npopd\n"
  },
  {
    "path": "scripts/download_uniprot.sh",
    "content": "#!/usr/bin/env bash\n#\n# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n# Downloads, unzips and merges the SwissProt and TrEMBL databases for\n# AlphaFold-Multimer.\n#\n# Usage: bash download_uniprot.sh /path/to/download/directory\nset -e\n\nif [[ $# -eq 0 ]]; then\n    echo \"Error: download directory must be provided as an input argument.\"\n    exit 1\nfi\n\nif ! command -v aria2c &> /dev/null ; then\n    echo \"Error: aria2c could not be found. Please install aria2c (sudo apt install aria2).\"\n    exit 1\nfi\n\nDOWNLOAD_DIR=\"$1\"\nROOT_DIR=\"${DOWNLOAD_DIR}/uniprot\"\n\nTREMBL_SOURCE_URL=\"https://ftp.ebi.ac.uk/pub/databases/uniprot/current_release/knowledgebase/complete/uniprot_trembl.fasta.gz\"\nTREMBL_BASENAME=$(basename \"${TREMBL_SOURCE_URL}\")\nTREMBL_UNZIPPED_BASENAME=\"${TREMBL_BASENAME%.gz}\"\n\nSPROT_SOURCE_URL=\"https://ftp.ebi.ac.uk/pub/databases/uniprot/current_release/knowledgebase/complete/uniprot_sprot.fasta.gz\"\nSPROT_BASENAME=$(basename \"${SPROT_SOURCE_URL}\")\nSPROT_UNZIPPED_BASENAME=\"${SPROT_BASENAME%.gz}\"\n\nmkdir --parents \"${ROOT_DIR}\"\naria2c \"${TREMBL_SOURCE_URL}\" --dir=\"${ROOT_DIR}\"\naria2c \"${SPROT_SOURCE_URL}\" --dir=\"${ROOT_DIR}\"\npushd \"${ROOT_DIR}\"\ngunzip \"${ROOT_DIR}/${TREMBL_BASENAME}\"\ngunzip \"${ROOT_DIR}/${SPROT_BASENAME}\"\n\n# Concatenate TrEMBL and SwissProt, rename to uniprot and clean up.\ncat \"${ROOT_DIR}/${SPROT_UNZIPPED_BASENAME}\" >> \"${ROOT_DIR}/${TREMBL_UNZIPPED_BASENAME}\"\nmv \"${ROOT_DIR}/${TREMBL_UNZIPPED_BASENAME}\" \"${ROOT_DIR}/uniprot.fasta\"\nrm \"${ROOT_DIR}/${SPROT_UNZIPPED_BASENAME}\"\npopd\n"
  },
  {
    "path": "scripts/download_uniref30.sh",
    "content": "#!/usr/bin/env bash\n#\n# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n# Downloads and unzips the Uniclust30 database for AlphaFold.\n#\n# Usage: bash download_uniclust30.sh /path/to/download/directory\nset -e\n\nif [[ $# -eq 0 ]]; then\n    echo \"Error: download directory must be provided as an input argument.\"\n    exit 1\nfi\n\nif ! command -v aria2c &> /dev/null ; then\n    echo \"Error: aria2c could not be found. Please install aria2c (sudo apt install aria2).\"\n    exit 1\nfi\n\nDOWNLOAD_DIR=\"$1\"\nROOT_DIR=\"${DOWNLOAD_DIR}/uniref30\"\n# Mirror of:\n# https://wwwuser.gwdg.de/~compbiol/uniclust/2021_03/UniRef30_2021_03.tar.gz\nSOURCE_URL=\"https://storage.googleapis.com/alphafold-databases/v2.3/UniRef30_2021_03.tar.gz\"\nBASENAME=$(basename \"${SOURCE_URL}\")\n\nmkdir --parents \"${ROOT_DIR}\"\naria2c \"${SOURCE_URL}\" --dir=\"${ROOT_DIR}\"\ntar --extract --verbose --file=\"${ROOT_DIR}/${BASENAME}\" \\\n  --directory=\"${ROOT_DIR}\"\nrm \"${ROOT_DIR}/${BASENAME}\"\n"
  },
  {
    "path": "scripts/download_uniref90.sh",
    "content": "#!/usr/bin/env bash\n#\n# Copyright 2021 DeepMind Technologies Limited\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n# Downloads and unzips the UniRef90 database for AlphaFold.\n#\n# Usage: bash download_uniref90.sh /path/to/download/directory\nset -e\n\nif [[ $# -eq 0 ]]; then\n    echo \"Error: download directory must be provided as an input argument.\"\n    exit 1\nfi\n\nif ! command -v aria2c &> /dev/null ; then\n    echo \"Error: aria2c could not be found. Please install aria2c (sudo apt install aria2).\"\n    exit 1\nfi\n\nDOWNLOAD_DIR=\"$1\"\nROOT_DIR=\"${DOWNLOAD_DIR}/uniref90\"\nSOURCE_URL=\"https://ftp.ebi.ac.uk/pub/databases/uniprot/uniref/uniref90/uniref90.fasta.gz\"\nBASENAME=$(basename \"${SOURCE_URL}\")\n\nmkdir --parents \"${ROOT_DIR}\"\naria2c \"${SOURCE_URL}\" --dir=\"${ROOT_DIR}\"\npushd \"${ROOT_DIR}\"\ngunzip \"${ROOT_DIR}/${BASENAME}\"\npopd\n"
  },
  {
    "path": "server/README.md",
    "content": "# JSON file format for AlphaFold Server jobs\n\nYou can\n[download an example JSON file here](https://github.com/google-deepmind/alphafold/blob/main/server/example.json);\nhere we describe the contents of this example JSON file.\n\nThis JSON file consists of a list of dictionaries (even in the case of a single\ndictionary, a single-element list must be used), with each dictionary containing\na job description. Therefore, you can specify multiple jobs in one JSON file.\n\nEach job description contains a job name, a list of PRNG seeds (which can be an\nempty list for automated random seed assignment), and a list of entities\n(molecules) to be modeled.\n\nAlphaFold Server JSON files are especially useful for automation of repetitive\nmodeling jobs (e.g. to screen interactions of one protein with a small number of\nothers). The easiest way to construct an initial JSON file is to run a modeling\njob via AlphaFold Server GUI and use it as a template. AlphaFold Server will\nproduce a zip file containing modeling results. Inside the zip file you will\nfind a JSON file named `<job_name>_job_request.json` containing the job inputs.\nThese files offer a convenient starting point for generating new jobs as they\nare easily editable in standard text editors or in programming environments like\nGoogle Colab notebooks.\n\nNote that comments are not allowed in JSON files.\n\n## Job name, seeds and sequences\n\n*   `name` is a string with the job name. This is how the job will appear as in\n    the job history table.\n*   `modelSeeds` is a list of strings of uint32 seed values (e.g.\n    `[\"1593933729\", \"4273\"]`). Seeds are used to run the modeling. We recommend\n    providing an empty list, in which case a single random seed will be used.\n    This is the recommended option.\n*   `sequences` is a list of dictionaries that carry descriptions of the\n    entities (molecules) for modeling.\n\n```json\n{\n  \"name\": \"Test Fold Job Number One\",\n  \"modelSeeds\": [],\n  \"sequences\": [...],\n  \"dialect\": \"alphafoldserver\",\n  \"version\": 1\n}\n```\n\n## Entity types\n\nValid entity types mirror those available in the AlphaFold Server web interface:\n\n*   `proteinChain` – used for proteins\n*   `dnaSequence` – used for DNA (single strand)\n*   `rnaSequence` – used for RNA (single strand)\n*   `ligand` – used for allowed ligands\n*   `ion` – used for allowed ions\n*   `dialect` – The dialect of the input JSON. It should be set to\n    `alphafoldserver`\n*   `version` – The version of the input JSON. It should be set to 1. See\n    [versions](#versions) below for more information.\n\n## Versions\n\nThe top-level `version` field (for the `alphafoldserver` dialect) can be either\n`undefined` or `1`. The following features have been added in respective\nversions:\n\n*   Not set: the initial AlphaFold Server input format.\n*   `1`: added the option of specifying external templates using newly added\n    fields `maxTemplateDate` and `useStructureTemplate`.\n\n### Protein chains\n\n`sequence` is a string containing protein sequence; the same limitations as in\nthe UI are in place, e.g. only letters corresponding to amino acids are allowed,\nas defined by IUPAC. Only 20 standard amino acid type are supported.\n\n`count` is the number of copies of this protein chain (integer).\n\n`glycans` is an optional list of dictionaries that carries descriptions of the\nprotein glycosylation.\n\n*   `residues` is a string defining glycan. Please refer to the\n    [FAQ](https://alphafoldserver.com/faq) for the format description and\n    allowed glycans.\n*   `position` is a position of the amino acid to which the glycan is attached\n    (integer, 1-based indexing).\n\n`modifications` is an optional list of dictionaries that carries descriptions of\nthe post-translational modifications.\n\n*   `ptmType` is a string containing the\n    [CCD code](https://www.wwpdb.org/data/ccd) of the modification; the same\n    codes are allowed as in the UI.\n*   `position` is a position of the modified amino acid (integer).\n*   Allowed modifications: `CCD_SEP`, `CCD_TPO`, `CCD_PTR`, `CCD_NEP`,\n    `CCD_HIP`, `CCD_ALY`, `CCD_MLY`, `CCD_M3L`, `CCD_MLZ`, `CCD_2MR`, `CCD_AGM`,\n    `CCD_MCS`, `CCD_HYP`, `CCD_HY3`, `CCD_LYZ`, `CCD_AHB`, `CCD_P1L`, `CCD_SNN`,\n    `CCD_SNC`, `CCD_TRF`, `CCD_KCR`, `CCD_CIR`, `CCD_YHA`\n\n`useStructureTemplate` is an optional boolean that determines whether the model\nshould use PDB templates, with a default value of `true`.\n\n`maxTemplateDate` is an optional ISO 8601 date string (YYYY-MM-DD) specifying\nthe upper date limit for considering PDB templates. Only templates released on\nor before this date will be used. The lower bound for the date is 1976-01-01\n(which effectively cuts off all templates) and the maximum date one can\ncurrently set is 2025-02-03 (date of last download from PDB used to generate the\ntemplates).\n\n```json\n{\n  \"proteinChain\": {\n    \"sequence\": \"PREACHINGS\",\n\n    \"glycans\": [\n      {\n        \"residues\": \"NAG(NAG)(BMA)\",\n        \"position\": 8\n      },\n      {\n        \"residues\": \"BMA\",\n        \"position\": 10\n      }\n    ],\n\n    \"modifications\": [\n      {\n        \"ptmType\": \"CCD_HY3\",\n        \"ptmPosition\": 1\n      },\n      {\n        \"ptmType\": \"CCD_P1L\",\n        \"ptmPosition\": 5\n      }\n    ],\n\n    \"count\": 1,\n    \"maxTemplateDate\": \"2018-01-20\"\n  }\n},\n{\n  \"proteinChain\": {\n    \"sequence\": \"REACHER\",\n    \"count\": 1,\n    \"useStructureTemplate\": false\n  }\n}\n```\n\n### DNA chains\n\nPlease note that the `dnaSequence` type refers to single stranded DNA. If you\nwish to model double stranded DNA, please add a second `\"dnaSequence`\", carrying\nthe sequence of the reverse complement strand.\n\n`sequence` is a string containing a DNA sequence; the same limitations as in the\nUI are in place, i.e. only letters A, T, G, C are allowed.\n\n`count` is a number of copies of this DNA chain (integer).\n\n`modifications` is an optional list of dictionaries that carries descriptions of\nthe DNA chemical modifications.\n\n*   `modificationType` is a string containing\n    [CCD code](https://www.wwpdb.org/data/ccd) of modification; the same codes\n    are allowed as in the UI.\n*   `basePosition` is a position of the modified nucleotide (integer).\n*   Allowed modifications: `CCD_5CM`, `CCD_C34`, `CCD_5HC`, `CCD_6OG`,\n    `CCD_6MA`, `CCD_1CC`, `CCD_8OG`, `CCD_5FC`, `CCD_3DR`\n\n```json\n{\n  \"dnaSequence\": {\n    \"sequence\": \"GATTACA\",\n\n    \"modifications\": [\n      {\n        \"modificationType\": \"CCD_6OG\",\n        \"basePosition\": 1\n      },\n      {\n        \"modificationType\": \"CCD_6MA\",\n        \"basePosition\": 2\n      }\n    ],\n\n    \"count\": 1\n  }\n},\n{\n  \"dnaSequence\": {\n    \"sequence\": \"TGTAATC\",\n    \"count\": 1\n  }\n}\n```\n\n### RNA chains\n\n`sequence` is a string containing RNA sequence (single strand); the same\nlimitations as in the UI are in place, e.g. only letters A, U, G, C are allowed.\n\n`count` is a number of copies of this RNA chain (integer).\n\n`modifications` is an optional list of dictionaries that carries descriptions of\nthe RNA chemical modifications.\n\n*   `modificationType` is a string containing\n    [CCD code](https://www.wwpdb.org/data/ccd) of modification; the same codes\n    are allowed as in the UI.\n*   `basePosition` is a position of the modified nucleotide (integer).\n*   Allowed modifications: `CCD_PSU`, `CCD_5MC`, `CCD_OMC`, `CCD_4OC`,\n    `CCD_5MU`, `CCD_OMU`, `CCD_UR3`, `CCD_A2M`, `CCD_MA6`, `CCD_6MZ`, `CCD_2MG`,\n    `CCD_OMG`, `CCD_7MG`, `CCD_RSQ`\n\n```json\n{\n  \"rnaSequence\": {\n    \"sequence\": \"GUAC\",\n\n    \"modifications\": [\n      {\n        \"modificationType\": \"CCD_2MG\",\n        \"basePosition\": 1\n      },\n      {\n        \"modificationType\": \"CCD_5MC\",\n        \"basePosition\": 4\n      }\n    ],\n\n    \"count\": 1\n  }\n}\n```\n\n### Ligands\n\n`ligand` is a string containing the [CCD code](https://www.wwpdb.org/data/ccd)\nof the ligand; the same codes are allowed as in the UI.\n\n`count` is the number of copies of this ligand (integer).\n\nAllowed ligands: `CCD_ADP`, `CCD_ATP`, `CCD_AMP`, `CCD_GTP`, `CCD_GDP`,\n`CCD_FAD`, `CCD_NAD`, `CCD_NAP`, `CCD_NDP`, `CCD_HEM`, `CCD_HEC`, `CCD_PLM`,\n`CCD_OLA`, `CCD_MYR`, `CCD_CIT`, `CCD_CLA`, `CCD_CHL`, `CCD_BCL`, `CCD_BCB`\n\n```json\n{\n  \"ligand\": {\n    \"ligand\": \"CCD_ATP\",\n    \"count\": 1\n  }\n},\n{\n  \"ligand\": {\n    \"ligand\": \"CCD_HEM\",\n    \"count\": 2\n  }\n}\n```\n\n### Ions\n\n`ion` is a string containing [CCD code](https://www.wwpdb.org/data/ccd) of the\nion; the same codes are allowed as in the UI. The ion charge is implicitly\nspecified by the CCD code.\n\n`count` is a number of copies of this ion (integer).\n\nAllowed ions: `MG`, `ZN`, `CL`, `CA`, `NA`, `MN`, `K`, `FE`, `CU`, `CO`\n\n```json\n{\n  \"ion\": {\n    \"ion\": \"MG\",\n    \"count\": 2\n  }\n},\n{\n  \"ion\": {\n    \"ion\": \"NA\",\n    \"count\": 3\n  }\n}\n```\n\n# Additional modeling jobs\n\nYou may specify multiple jobs in one JSON file. This is an example of a simple\njob request for one protein chain and two copies of the palindromic DNA\nsequence:\n\n```json\n{\n  \"name\": \"Test Fold Job Number Two\",\n  \"modelSeeds\": [],\n  \"sequences\": [\n    {\n      \"proteinChain\": {\n        \"sequence\": \"TEACHINGS\",\n        \"count\": 1\n      }\n    },\n    {\n      \"dnaSequence\": {\n        \"sequence\": \"TAGCTA\",\n        \"count\": 2\n      }\n    }\n  ],\n  \"dialect\": \"alphafoldserver\",\n  \"version\": 1\n}\n```\n"
  },
  {
    "path": "server/example.json",
    "content": "[\n  {\n    \"name\": \"Test Fold Job Number One\",\n    \"modelSeeds\": [],\n    \"sequences\": [\n      {\n        \"proteinChain\": {\n          \"sequence\": \"PREACHINGS\",\n          \"glycans\": [\n            {\n              \"residues\": \"NAG(NAG)(BMA)\",\n              \"position\": 8\n            },\n            {\n              \"residues\": \"BMA\",\n              \"position\": 10\n            }\n          ],\n          \"modifications\": [\n            {\n              \"ptmType\": \"CCD_HY3\",\n              \"ptmPosition\": 1\n            },\n            {\n              \"ptmType\": \"CCD_P1L\",\n              \"ptmPosition\": 5\n            }\n          ],\n          \"count\": 1,\n          \"maxTemplateDate\": \"2018-01-20\"\n        }\n      },\n      {\n        \"proteinChain\": {\n          \"sequence\": \"REACHER\",\n          \"count\": 1,\n          \"useStructureTemplate\": false\n        }\n      },\n      {\n        \"dnaSequence\": {\n          \"sequence\": \"GATTACA\",\n          \"modifications\": [\n            {\n              \"modificationType\": \"CCD_6OG\",\n              \"basePosition\": 1\n            },\n            {\n              \"modificationType\": \"CCD_6MA\",\n              \"basePosition\": 2\n            }\n          ],\n          \"count\": 1\n        }\n      },\n      {\n        \"dnaSequence\": {\n          \"sequence\": \"TGTAATC\",\n          \"count\": 1\n        }\n      },\n      {\n        \"rnaSequence\": {\n          \"sequence\": \"GUAC\",\n          \"modifications\": [\n            {\n              \"modificationType\": \"CCD_2MG\",\n              \"basePosition\": 1\n            },\n            {\n              \"modificationType\": \"CCD_5MC\",\n              \"basePosition\": 4\n            }\n          ],\n          \"count\": 1\n        }\n      },\n      {\n        \"ligand\": {\n          \"ligand\": \"CCD_ATP\",\n          \"count\": 1\n        }\n      },\n      {\n        \"ligand\": {\n          \"ligand\": \"CCD_HEM\",\n          \"count\": 2\n        }\n      },\n      {\n        \"ion\": {\n          \"ion\": \"MG\",\n          \"count\": 2\n        }\n      },\n      {\n        \"ion\": {\n          \"ion\": \"NA\",\n          \"count\": 3\n        }\n      }\n    ],\n    \"dialect\": \"alphafoldserver\",\n    \"version\": 1\n  },\n  {\n    \"name\": \"Test Fold Job Number Two\",\n    \"modelSeeds\": [],\n    \"sequences\": [\n      {\n        \"proteinChain\": {\n          \"sequence\": \"TEACHINGS\",\n          \"count\": 1,\n          \"maxTemplateDate\": \"2024-05-08\"\n        }\n      },\n      {\n        \"dnaSequence\": {\n          \"sequence\": \"TAGGACA\",\n          \"count\": 1\n        }\n      }\n    ],\n    \"dialect\": \"alphafoldserver\",\n    \"version\": 1\n  }\n]\n"
  }
]