diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000000000000000000000000000000000000..28912b611c396ee32678f3a6b2a79261aae5b593 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,38 @@ +name: Continuous Integration + +on: + # Trigger the workflow on push or pull request, only on the main branch. + push: + branches: + - main + pull_request: + branches: + - main + workflow_dispatch: + +jobs: + build: + name: "build ${{ matrix.name-prefix }} (py ${{ matrix.python-version }} on ${{ matrix.os }})" + runs-on: ${{ matrix.os }} + strategy: + matrix: + include: + - name-prefix: "all tests" + python-version: '3.11' + os: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + sudo apt-get install -y hmmer + pip install --upgrade pip + pip install -r dev-requirements.txt + pip install --no-deps . + build_data + - name: Run CPU-only tests + run: | + python run_alphafold_data_test.py diff --git a/docs/input.md b/docs/input.md index 28a626c5b968a1c7f92f9bfebb555778cb8a61b9..d9438573cbbc53c3e9f228f97eda904b9182ecf4 100644 --- a/docs/input.md +++ b/docs/input.md @@ -113,10 +113,11 @@ The top-level structure of the input JSON is: {"dna": {...}}, {"ligand": {...}} ], - "bondedAtomPairs": [...], # Optional - "userCCD": "...", # Optional - "dialect": "alphafold3", # Required - "version": 1 # Required + "bondedAtomPairs": [...], # Optional. + "userCCD": "...", # Optional, mutually exclusive with userCCDPath. + "userCCDPath": "...", # Optional, mutually exclusive with userCCD. + "dialect": "alphafold3", # Required. + "version": 3 # Required. } ``` @@ -140,13 +141,31 @@ The fields specify the following: in such cases since it doesn't give the possibility of uniquely naming all atoms. It can also be used to provide a reference conformer for cases where RDKit fails to generate a conformer. See more below. +* `userCCDPath: str`: An optional path to a file that contains the + user-provided chemical components dictionary instead of providing it inline + using the `userCCD` field. The path can be either absolute, or relative to + the input JSON path. The file must be in the + [CCD mmCIF format](https://www.wwpdb.org/data/ccd#mmcifFormat), and could be + either plain text, or compressed using gzip, xz, or zstd. * `dialect: str`: The dialect of the input JSON. This must be set to `alphafold3`. See [AlphaFold Server JSON Compatibility](#alphafold-server-json-compatibility) for more information. -* `version: int`: The version of the input JSON. This must be set to 1. See +* `version: int`: The version of the input JSON. This must be set to 1 or 2. + See [AlphaFold Server JSON Compatibility](#alphafold-server-json-compatibility) - for more information. + and [versions](#versions) below for more information. + +## Versions + +The top-level `version` field (for the `alphafold3` dialect) can be either `1`, +`2`, or `3`. The following features have been added in respective versions: + +* `1`: the initial AlphaFold 3 input format. +* `2`: added the option of specifying external MSA and templates using newly + added fields `unpairedMsaPath`, `pairedMsaPath`, and `mmcifPath`. +* `3`: added the option of specifying external user-provided CCD using newly + added field `userCCDPath`. ## Sequences @@ -167,8 +186,10 @@ Specifies a single protein chain. {"ptmType": "HY3", "ptmPosition": 1}, {"ptmType": "P1L", "ptmPosition": 5} ], - "unpairedMsa": ..., - "pairedMsa": ..., + "unpairedMsa": ..., # Mutually exclusive with unpairedMsaPath. + "unpairedMsaPath": ..., # Mutually exclusive with unpairedMsa. + "pairedMsa": ..., # Mutually exclusive with pairedMsaPath. + "pairedMsaPath": ..., # Mutually exclusive with pairedMsa. "templates": [...] } } @@ -190,8 +211,18 @@ The fields specify the following: This is specified using the A3M format (equivalent to the FASTA format, but also allows gaps denoted by the hyphen `-` character). See more details below. +* `unpairedMsaPath: str`: An optional path to a file that contains the + multiple sequence alignment for this chain instead of providing it inline + using the `unpairedMsa` field. The path can be either absolute, or relative + to the input JSON path. The file must be in the A3M format, and could be + either plain text, or compressed using gzip, xz, or zstd. * `pairedMsa: str`: We recommend *not* using this optional field and using the `unpairedMsa` for the purposes of pairing. See more details below. +* `pairedMsaPath: str`: An optional path to a file that contains the multiple + sequence alignment for this chain instead of providing it inline using the + `pairedMsa` field. The path can be either absolute, or relative to the input + JSON path. The file must be in the A3M format, and could be either plain + text, or compressed using gzip, xz, or zstd. * `templates: list[Template]`: An optional list of structural templates. See more details below. @@ -208,7 +239,8 @@ Specifies a single RNA chain. {"modificationType": "2MG", "basePosition": 1}, {"modificationType": "5MC", "basePosition": 4} ], - "unpairedMsa": ... + "unpairedMsa": ..., # Mutually exclusive with unpairedMsaPath. + "unpairedMsaPath": ... # Mutually exclusive with unpairedMsa. } } ``` @@ -225,6 +257,11 @@ The fields specify the following: Each modification is specified using its CCD code and 1-based base position. * `unpairedMsa: str`: An optional multiple sequence alignment for this chain. This is specified using the A3M format. See more details below. +* `unpairedMsaPath: str`: An optional path to a file that contains the + multiple sequence alignment for this chain instead of providing it inline + using the `unpairedMsa` field. The path can be either absolute, or relative + to the input JSON path. The file must be in the A3M format, and could be + either plain text, or compressed using gzip, xz, or zstd. ### DNA @@ -304,10 +341,53 @@ The fields specify the following: standard CCD codes, or custom codes pointing to the [user-provided CCD](#user-provided-ccd). * `smiles: str`: An optional string defining the ligand using a SMILES string. + The SMILES string must be correctly JSON-escaped. Each ligand may be specified using CCD codes or SMILES but not both, i.e. for a given ligand, the `ccdCodes` and `smiles` fields are mutually exclusive. +#### SMILES string JSON escaping + +The SMILES string must be correctly JSON-escaped, in particular the backslash +character must be escaped as two backslashes, otherwise the JSON parser will +fail with a `JSONDecodeError`. For instance, the following SMILES string +`CCC[C@@H](O)CC\C=C\C=C\C#CC#C\C=C\CO` has to be specified as: + +```json +{ + "ligand": { + "id": "A", + "smiles": "CCC[C@@H](O)CC\\C=C\\C=C\\C#CC#C\\C=C\\CO" + } +} +``` + +You can JSON-escape the SMILES string using the +[`jq`](https://github.com/jqlang/jq) command-line tool which should be easily +installable on most Linux systems: + +```bash +jq -R . <<< 'CCC[C@@H](O)CC\C=C\C=C\C#CC#C\C=C\CO' # Replace with your SMILES. +``` + +Alternatively, you can use this Python code: + +```python +import json + +smiles = r'CCC[C@@H](O)CC\C=C\C=C\C#CC#C\C=C\CO' # Replace with your SMILES. +print(json.dumps(smiles)) +``` + +#### Reference structure construction with SMILES + +For some ligands and some random seeds, RDKit might fail to generate a +conformer, indicated by the `Failed to construct RDKit reference structure` +error message. In this case, you can either provide a reference structure for +the ligand using the [user-provided CCD Format](#user-provided-ccd-format), or +try increasing the number of RDKit conformer iterations using the +`--conformer_max_iterations=...` flag. + ### Ions Ions are treated as ligands, e.g. a magnesium ion would simply be a ligand with @@ -320,21 +400,46 @@ If not set, the data pipeline will automatically build MSAs for protein and RNA entities using Jackhmmer/Nhmmer search over genetic databases as described in the paper. -There are 3 modes for MSA: - -1. If the `unpairedMsa` field is unset, AlphaFold 3 will build the MSA - automatically. This is the recommended option. -2. If the `unpairedMsa` field is set to an empty string (`""`), AlphaFold 3 - will not build the MSA and the MSA input to the model will be empty. -3. If the `unpairedMsa` field is set to a custom A3M string, AlphaFold 3 will - use the provided MSA instead of building one as part of the data pipeline. - This is considered an expert option. - -Note that if you set the `unpairedMsa` field for a particular protein entity, -you will also have to explicitly set the `pairedMsa` field (typically to empty -string) and templates (either to a list of templates, or an empty list to run -template-free). For example this will run the protein chain A with the given -MSA, but without any templates: +### RNA Multiple Sequence Alignment + +RNA `unpairedMsa` can be either: + +1. Unset (or set explicitly to `null`). AlphaFold 3 won't build MSA for this + RNA chain. +2. Set to an empty string (`""`). AlphaFold 3 won't build MSA and will run + MSA-free for this RNA chain. +3. Set to a non-empty A3M string. AlphaFold 3 will use the provided MSA for + this RNA chain. + +### Protein Multiple Sequence Alignment + +For protein chains, the situation is slightly more complicated due to paired and +unpaired MSA (see [MSA Pairing](#msa-pairing) below for more details). + +The following combinations are valid for a given protein chain: + +1. Both `unpairedMsa` and `pairedMsa` fields are unset (or explicitly set to + `null`), AlphaFold 3 will build both MSAs automatically. This is the + recommended option. +2. The `unpairedMsa` is set to to a non-empty A3M string, `pairedMsa` set to an + empty string (`""`). AlphaFold 3 won't build MSA, will use the `unpairedMsa` + as is and run `pairedMSA`-free. +3. The `pairedMsa` is set to to a non-empty A3M string, `unpairedMsa` set to an + empty string (`""`). AlphaFold 3 won't build MSA, will use the `pairedMsa` + and run `unpairedMSA`-free. **This option is not recommended**, see + [MSA Pairing](#msa-pairing) below. +4. Both `unpairedMsa` and `pairedMsa` fields are set to an empty string (`""`). + AlphaFold 3 will not build the MSA and the MSA input to the model will be + just the query sequence (equivalent to running completely MSA-free). +5. Both `unpairedMsa` and `pairedMsa` fields are set to a custom non-empty A3M + string, AlphaFold 3 will use the provided MSA instead of building one as + part of the data pipeline. This is considered an expert option. + +Note that both `unpairedMsa` and `pairedMsa` have to either be *both* set (i.e. +non-`null`), or both unset (i.e. both `null`, explicitly or implicitly). +Typically, when setting `unpairedMsa`, you will set the `pairedMsa` to an empty +string (`""`). For example this will run the protein chain A with the given MSA, +but without any templates (template-free): ```json { @@ -350,7 +455,7 @@ MSA, but without any templates: When setting your own MSA, you have to make sure that: -1. The MSA is a valid A3M file. This means adhering to the FASTA format while +1. The MSA is in the A3M format. This means adhering to the FASTA format while also allowing lowercase characters denoting inserted residues and hyphens (`-`) denoting gaps in sequences. 2. The first sequence is exactly equal to the query sequence. @@ -378,13 +483,13 @@ method gives exact control over the placement of each sequence in the MSA, as opposed to relying on name-matching post-processing heuristics used for `pairedMsa`. -When setting `unpairedMsa` manually, the `pairedMsa` must be left unset (i.e. -the `pairedMsa` key should not be present in the JSON). +When setting `unpairedMsa` manually, the `pairedMsa` must be explicitly set to +an empty string (`""`). For instance, if there are two chains `DEEP` and `MIND` which we want to be paired on organism A and C, we can achieve it as follows: -```text +```txt > query DEEP > match 1 (organism A) @@ -395,7 +500,7 @@ DD-P DD-P ``` -```text +```txt > query MIND > match 1 (organism A) @@ -408,7 +513,7 @@ MIN- The resulting MSA when chains are concatenated will then be: -```text +```txt > query DEEPMIND > match 1 + match 1 @@ -426,13 +531,28 @@ Structural templates can be specified only for protein chains: ```json "templates": [ { - "mmcif": ..., + "mmcif": ..., # Mutually exclusive with mmcifPath. + "mmcifPath": ..., # Mutually exclusive with mmcif. "queryIndices": [0, 1, 2, 4, 5, 6], "templateIndices": [0, 1, 2, 3, 4, 8] } ] ``` +The fields specify the following: + +* `mmcif: str`: A string containing the single chain protein structural + template in the mmCIF format. +* `mmcifPath: str`: An optional path to a file that contains the mmCIF with + the structural template instead of providing it inline using the `mmcifPath` + field. The path can be either absolute, or relative to the input JSON path. + The file must be in the mmCIF format, and could be either plain text, or + compressed using gzip, xz, or zstd. +* `queryIndices: list[int]`: O-based indices in the query sequence, defining + the mapping from query residues to template residues. +* `templateIndices: list[int]`: O-based indices in the template sequence, + defining the mapping from query residues to template residues. + A template is specified as an mmCIF string containing a single chain with the structural template together with a 0-based mapping that maps query residue indices to the template residue indices. The mapping is specified using two @@ -448,6 +568,58 @@ You can provide multiple structural templates. Note that if an mmCIF containing more than one chain is provided, you will get an error since it is not possible to determine which of the chains should be used as the template. +You can run template-free (but still run genetic search and build MSA) by +setting templates to `[]` and either explicitly setting both `unpairedMsa` and +`pairedMsa` to `null`: + +```json +"protein": { + "id": "A", + "sequence": ..., + "pairedMsa": null, + "unpairedMsa": null, + "templates": [] +} +``` + +Or you can simply fully omit them: + +```json +"protein": { + "id": "A", + "sequence": ..., + "templates": [] +} +``` + +You can also run with pre-computed MSA, but let AlphaFold 3 search for +templates. This can be achieved by setting `unpairedMsa` and `pairedMsa`, but +keeping templates unset (or set to `null`). The profile given as an input to +Hmmsearch when searching for templates will be built from the provided +`unpairedMsa`: + +```json +"protein": { + "id": "A", + "sequence": ..., + "unpairedMsa": ..., + "pairedMsa": ..., + "templates": null +} +``` + +Or you can simply fully omit the `templates` field thus setting it implicitly to +`null`: + +```json +"protein": { + "id": "A", + "sequence": ..., + "unpairedMsa": ..., + "pairedMsa": ..., +} +``` + ## Bonds To manually specify covalent bonds, use the `bondedAtomPairs` field. This is @@ -514,11 +686,18 @@ You will need to specify: ## User-provided CCD -There are two approaches to model a custom ligand not defined in the CCD. If the -ligand is not bonded to other entities, it can be defined using a -[SMILES string](https://en.wikipedia.org/wiki/Simplified_Molecular_Input_Line_Entry_System). -Otherwise, it is necessary to define that particular ligand using the -[CCD mmCIF format](https://www.wwpdb.org/data/ccd#mmcifFormat). +There are two approaches to model a custom ligand not defined in the CCD: + +1. If the ligand is not bonded to other entities, it can be defined using a + [SMILES string](https://en.wikipedia.org/wiki/Simplified_Molecular_Input_Line_Entry_System). +2. If it is bonded to other entities, or to be able to customise relevant + features (such as bond orders, atom names and ideal coordinates used when + conformer generation fails), it is necessary to define that particular + ligand using the + [CCD mmCIF format](https://www.wwpdb.org/data/ccd#mmcifFormat). + +Note that if a full CCD mmCIF is provided, any SMILES string input as part of +that mmCIF is ignored. Once defined, this ligand needs to be assigned a name that doesn't clash with existing CCD ligand names (e.g. `LIG-1`). Avoid underscores (`_`) in the name, @@ -527,22 +706,47 @@ as it could cause issues in the mmCIF format. The newly defined ligand can then be used as a standard CCD ligand using its custom name, and bonds can be linked to it using its named atom scheme. +### Conformer Generation + +The data pipeline attempts to generate a conformer for ligands using RDKit. The +`Mol` used to generate the conformer is constructed either from the information +provided in the CCD mmCIF, or from the SMILES string if that is the only +information provided. + +If conformer generation fails, the model will fall back to using the ideal +coordinates in the CCD mmCIF if these are provided. If they are not provided, +the model will use the reference coordinates if the last modification date given +in the CCD mmCIF is prior to the training cutoff date. If no coordinates can be +found in this way, all conformer coordinates are set to zero and the model will +output `NaN` (`null` in the output JSON) confidences for the ligand. + +Note that sometimes conformer generation failures can be resolved by +increasinging the number of RDKit conformer iterations using the +`--conformer_max_iterations=...` flag. + ### User-provided CCD Format -The user-provided CCD must be passed in the `userCCD` field (in the root of the -input JSON) as a string. Note that JSON doesn't allow newlines within strings, -so newline characters (`\n`) must be used to delimit lines. Single rather than -double quotes should also be used around strings like the chemical formula. +The user-provided CCD must be passed either: + +* In the `userCCD` field (in the root of the input JSON) as a string. Note + that JSON doesn't allow newlines within strings, so newline characters + (`\n`) must be used to delimit lines. Single rather than double quotes + should also be used around strings like the chemical formula. +* In the `userCCDPath` field, as a path to a file that contains the + user-provided chemical components dictionary. The path can be either + absolute, or relative to the input JSON path. The file must be in the + [CCD mmCIF format](https://www.wwpdb.org/data/ccd#mmcifFormat), and could be + either plain text, or compressed using gzip, xz, or zstd. The main pieces of information used are the atom names and elements, bonds, and also the ideal coordinates (`pdbx_model_Cartn_{x,y,z}_ideal`) which essentially serve as a structural template for the ligand if RDKit fails to generate conformers for that ligand. -The `userCCD` can also be used to redefine standard chemical components in the -CCD. This can be useful if you need to redefine the ideal coordinates. +The user-provided CCD can also be used to redefine standard chemical components +in the CCD. This can be useful if you need to redefine the ideal coordinates. -Below is an example `userCCD` redefining component X7F, which serves to +Below is an example user-provided CCD redefining component X7F, which serves to illustrate the required sections. For readability purposes, newlines have not been replaced by `\n`. @@ -560,81 +764,125 @@ _chem_comp.formula_weight 190.152 loop_ _chem_comp_atom.comp_id _chem_comp_atom.atom_id -_chem_comp_atom.alt_atom_id _chem_comp_atom.type_symbol _chem_comp_atom.charge -_chem_comp_atom.pdbx_align -_chem_comp_atom.pdbx_aromatic_flag _chem_comp_atom.pdbx_leaving_atom_flag -_chem_comp_atom.pdbx_stereo_config -_chem_comp_atom.pdbx_backbone_atom_flag -_chem_comp_atom.pdbx_n_terminal_atom_flag -_chem_comp_atom.pdbx_c_terminal_atom_flag -_chem_comp_atom.model_Cartn_x -_chem_comp_atom.model_Cartn_y -_chem_comp_atom.model_Cartn_z _chem_comp_atom.pdbx_model_Cartn_x_ideal _chem_comp_atom.pdbx_model_Cartn_y_ideal _chem_comp_atom.pdbx_model_Cartn_z_ideal -_chem_comp_atom.pdbx_component_atom_id -_chem_comp_atom.pdbx_component_comp_id -_chem_comp_atom.pdbx_ordinal -MY-X7F C02 C1 C 0 1 N N N N N N 48.727 17.090 17.537 -1.418 -1.260 0.018 C02 MY-X7F 1 -MY-X7F C03 C2 C 0 1 N N N N N N 47.344 16.691 17.993 -0.665 -2.503 -0.247 C03 MY-X7F 2 -MY-X7F C04 C3 C 0 1 N N N N N N 47.166 16.016 19.310 0.677 -2.501 -0.235 C04 MY-X7F 3 -MY-X7F C05 C4 C 0 1 N N N N N N 48.363 15.728 20.184 1.421 -1.257 0.043 C05 MY-X7F 4 -MY-X7F C06 C5 C 0 1 Y N N N N N 49.790 16.142 19.699 0.706 0.032 0.008 C06 MY-X7F 5 -MY-X7F C07 C6 C 0 1 Y N N N N N 49.965 16.791 18.444 -0.706 0.030 -0.004 C07 MY-X7F 6 -MY-X7F C08 C7 C 0 1 Y N N N N N 51.249 17.162 18.023 -1.397 1.240 -0.037 C08 MY-X7F 7 -MY-X7F C10 C8 C 0 1 Y N N N N N 52.359 16.893 18.837 -0.685 2.443 -0.057 C10 MY-X7F 8 -MY-X7F C11 C9 C 0 1 Y N N N N N 52.184 16.247 20.090 0.679 2.445 -0.045 C11 MY-X7F 9 -MY-X7F C12 C10 C 0 1 Y N N N N N 50.899 15.876 20.515 1.394 1.243 -0.013 C12 MY-X7F 10 -MY-X7F O01 O1 O 0 1 N N N N N N 48.876 17.630 16.492 -2.611 -1.301 0.247 O01 MY-X7F 11 -MY-X7F O09 O2 O 0 1 N N N N N N 51.423 17.798 16.789 -2.752 1.249 -0.049 O09 MY-X7F 12 -MY-X7F O13 O3 O 0 1 N N N N N N 50.710 15.236 21.750 2.750 1.257 -0.001 O13 MY-X7F 13 -MY-X7F O14 O4 O 0 1 N N N N N N 48.229 15.189 21.234 2.609 -1.294 0.298 O14 MY-X7F 14 -MY-X7F H1 H1 H 0 1 N N N N N N 46.487 16.894 17.367 -1.199 -3.419 -0.452 H1 MY-X7F 15 -MY-X7F H2 H2 H 0 1 N N N N N N 46.178 15.732 19.640 1.216 -3.416 -0.429 H2 MY-X7F 16 -MY-X7F H3 H3 H 0 1 N N N N N N 53.348 17.177 18.511 -1.221 3.381 -0.082 H3 MY-X7F 17 -MY-X7F H4 H4 H 0 1 N N N N N N 53.040 16.041 20.716 1.212 3.384 -0.062 H4 MY-X7F 18 -MY-X7F H5 H5 H 0 1 N N N N N N 50.579 17.904 16.365 -3.154 1.271 0.830 H5 MY-X7F 19 -MY-X7F H6 H6 H 0 1 N N N N N N 49.785 15.059 21.877 3.151 1.241 -0.880 H6 MY-X7F 20 +MY-X7F C02 C 0 N -1.418 -1.260 0.018 +MY-X7F C03 C 0 N -0.665 -2.503 -0.247 +MY-X7F C04 C 0 N 0.677 -2.501 -0.235 +MY-X7F C05 C 0 N 1.421 -1.257 0.043 +MY-X7F C06 C 0 N 0.706 0.032 0.008 +MY-X7F C07 C 0 N -0.706 0.030 -0.004 +MY-X7F C08 C 0 N -1.397 1.240 -0.037 +MY-X7F C10 C 0 N -0.685 2.443 -0.057 +MY-X7F C11 C 0 N 0.679 2.445 -0.045 +MY-X7F C12 C 0 N 1.394 1.243 -0.013 +MY-X7F O01 O 0 N -2.611 -1.301 0.247 +MY-X7F O09 O 0 N -2.752 1.249 -0.049 +MY-X7F O13 O 0 N 2.750 1.257 -0.001 +MY-X7F O14 O 0 N 2.609 -1.294 0.298 +MY-X7F H1 H 0 N -1.199 -3.419 -0.452 +MY-X7F H2 H 0 N 1.216 -3.416 -0.429 +MY-X7F H3 H 0 N -1.221 3.381 -0.082 +MY-X7F H4 H 0 N 1.212 3.384 -0.062 +MY-X7F H5 H 0 N -3.154 1.271 0.830 +MY-X7F H6 H 0 N 3.151 1.241 -0.880 # loop_ -_chem_comp_bond.comp_id _chem_comp_bond.atom_id_1 _chem_comp_bond.atom_id_2 _chem_comp_bond.value_order _chem_comp_bond.pdbx_aromatic_flag -_chem_comp_bond.pdbx_stereo_config -_chem_comp_bond.pdbx_ordinal -MY-X7F O01 C02 DOUB N N 1 -MY-X7F O09 C08 SING N N 2 -MY-X7F C02 C03 SING N N 3 -MY-X7F C02 C07 SING N N 4 -MY-X7F C03 C04 DOUB N N 5 -MY-X7F C08 C07 DOUB Y N 6 -MY-X7F C08 C10 SING Y N 7 -MY-X7F C07 C06 SING Y N 8 -MY-X7F C10 C11 DOUB Y N 9 -MY-X7F C04 C05 SING N N 10 -MY-X7F C06 C05 SING N N 11 -MY-X7F C06 C12 DOUB Y N 12 -MY-X7F C11 C12 SING Y N 13 -MY-X7F C05 O14 DOUB N N 14 -MY-X7F C12 O13 SING N N 15 -MY-X7F C03 H1 SING N N 16 -MY-X7F C04 H2 SING N N 17 -MY-X7F C10 H3 SING N N 18 -MY-X7F C11 H4 SING N N 19 -MY-X7F O09 H5 SING N N 20 -MY-X7F O13 H6 SING N N 21 -# -_pdbx_chem_comp_descriptor.type SMILES_CANONICAL -_pdbx_chem_comp_descriptor.descriptor 'Oc1ccc(O)c2C(=O)C=CC(=O)c12' +O01 C02 DOUB N +O09 C08 SING N +C02 C03 SING N +C02 C07 SING N +C03 C04 DOUB N +C08 C07 DOUB Y +C08 C10 SING Y +C07 C06 SING Y +C10 C11 DOUB Y +C04 C05 SING N +C06 C05 SING N +C06 C12 DOUB Y +C11 C12 SING Y +C05 O14 DOUB N +C12 O13 SING N +C03 H1 SING N +C04 H2 SING N +C10 H3 SING N +C11 H4 SING N +O09 H5 SING N +O13 H6 SING N # ``` +### Mandatory fields + +Parsing the user-provided CCD needs only a subset of the fields that CCD uses. +The mandatory fields are described below. Refer to +[CCD documentation](https://www.wwpdb.org/data/ccd#mmcifFormat) for more +detailed explanation of each field. Note that not all of these fields are input +to the model, but they are necessary for the data pipeline to run – see the +[Model input fields](#model-input-fields) section below. + +**Singular fields (containing just a single value)** + +* `_chem_comp.id`: The ID of the component. Must match the `_data` record and + must not contain special CIF characters (like `_` or `#`). +* `_chem_comp.name`: Optional full name of the component. If unknown, set to + `?`. +* `_chem_comp.type`: Type of the component, typically `non-polymer`. +* `_chem_comp.formula`: Optional component formula. If unknown, set to `?`. +* `_chem_comp.mon_nstd_parent_comp_id`: Optional parent component ID. If + unknown, set to `?`. +* `_chem_comp.pdbx_synonyms`: Optional synonym IDs. If unknown, set to `?`. +* `_chem_comp.formula_weight`: Optional weight of the component. If unknown, + set to `?`. + +**Per-atom fields (containing one record per atom)** + +* `_chem_comp_atom.comp_id`: Component ID. +* `_chem_comp_atom.atom_id`: Atom ID. +* `_chem_comp_atom.type_symbol`: Atom element type. +* `_chem_comp_atom.charge`: Atom charge. +* `_chem_comp_atom.pdbx_leaving_atom_flag`: Optional flag determining whether + this is a leaving atom. If unset, assumed to be no (`N`) for all atoms. +* `_chem_comp_atom.pdbx_model_Cartn_x_ideal`: Ideal x coordinate. +* `_chem_comp_atom.pdbx_model_Cartn_y_ideal`: Ideal y coordinate. +* `_chem_comp_atom.pdbx_model_Cartn_z_ideal`: Ideal z coordinate. + +**Per-bond fields (containing one record per bond)** + +* `_chem_comp_bond.atom_id_1`: The ID of the first of the two atoms that + define the bond. +* `_chem_comp_bond.atom_id_2`: The ID of the second of the two atoms that + define the bond. +* `_chem_comp_bond.value_order`: The bond order of the chemical bond + associated with the specified atoms. +* `_chem_comp_bond.pdbx_aromatic_flag`: Whether the bond is aromatic. + +### Model input fields + +The following fields are used to generate input for the model: + +* `_chem_comp_atom.atom_id`: Atom ID. +* `_chem_comp_atom.type_symbol`: Atom element type. +* `_chem_comp_atom.charge`: Atom charge. +* `_chem_comp_atom.pdbx_model_Cartn_x_ideal`: Ideal x coordinate. Only used if + conformer generation fails. +* `_chem_comp_atom.pdbx_model_Cartn_y_ideal`: Ideal y coordinate. Only used if + conformer generation fails. +* `_chem_comp_atom.pdbx_model_Cartn_z_ideal`: Ideal z coordinate. Only used if + conformer generation fails. +* `_chem_comp_bond.atom_id_1`: The ID of the first of the two atoms that + define the bond. +* `_chem_comp_bond.atom_id_2`: The ID of the second of the two atoms that + define the bond. + ## Full Example An example illustrating all the aspects of the input format is provided below. @@ -711,13 +959,12 @@ certain fields and the sequences are not biologically meaningful. } ], "bondedAtomPairs": [ - [["A", 1, "CA"], ["B", 1, "CA"]], [["A", 1, "CA"], ["G", 1, "CHA"]], - [["J", 1, "O6"], ["J", 2, "C1"]] + [["I", 1, "O6"], ["I", 2, "C1"]] ], - "userCcd": ..., + "userCCD": ..., "dialect": "alphafold3", - "version": 1 + "version": 3 } ``` diff --git a/docs/installation.md b/docs/installation.md index 36322c02b681e5d368c57c0c29bf1fc1aef73900..ac71ba3a38af31de10c66c077239a5ffcd7a415a 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -17,7 +17,8 @@ should aid others with different setups. If you are installing locally outside of a Docker container, please ensure CUDA, cuDNN, and JAX are correctly installed; the [JAX installation documentation](https://jax.readthedocs.io/en/latest/installation.html#nvidia-gpu) -is a useful reference for this case. +is a useful reference for this case. Please note that the Docker container +requires that the host machine has CUDA 12.6 installed. The instructions provided below describe how to: @@ -33,8 +34,7 @@ The instructions provided below describe how to: Clean Ubuntu images are available on Google Cloud, AWS, Azure, and other major platforms. -We first provisioned a new machine in Google Cloud Platform using the following -command. We were using a Google Cloud project that was already set up. +Using an existing Google Cloud project, we provisioned a new machine: * We recommend using `--machine-type a2-ultragpu-1g` but feel free to use `--machine-type a2-highgpu-1g` for smaller predictions. @@ -119,7 +119,7 @@ sudo nvidia-smi --gpu-reset nvidia-smi # Check that the drivers are installed. ``` -Accept "Pending kernel upgrade" dialog if it appears. +Accept the "Pending kernel upgrade" dialog if it appears. You will need to reboot the instance with `sudo reboot now` to reset the GPU if you see the following warning: @@ -155,7 +155,7 @@ Check that your container can see the GPU: docker run --rm --gpus all nvidia/cuda:12.6.0-base-ubuntu22.04 nvidia-smi ``` -The output should look similar to this: +Example output: ```text Mon Nov 11 12:00:00 2024 @@ -182,7 +182,7 @@ Mon Nov 11 12:00:00 2024 ## Obtaining AlphaFold 3 Source Code -You will need to have `git` installed to download the AlphaFold 3 repository: +Install `git` and download the AlphaFold 3 repository: ```sh git clone https://github.com/google-deepmind/alphafold3.git @@ -190,7 +190,8 @@ git clone https://github.com/google-deepmind/alphafold3.git ## Obtaining Genetic Databases -This step requires `wget` and `zstd` to be installed on your machine. +This step requires `wget` and `zstd` to be installed on your machine. On +Debian-based systems install them by running `sudo apt install wget zstd`. AlphaFold 3 needs multiple genetic (sequence) protein and RNA databases to run: @@ -211,11 +212,13 @@ installing on local SSD. We recommend running the following in a `screen` or ```sh cd alphafold3 # Navigate to the directory with cloned AlphaFold 3 repository. -./fetch_databases.sh <DB_DIR> +./fetch_databases.sh [<DB_DIR>] ``` This script downloads the databases from a mirror hosted on GCS, with all -versions being the same as used in the AlphaFold 3 paper. +versions being the same as used in the AlphaFold 3 paper, to the directory +`<DB_DIR>`. If not specified, the default `<DB_DIR>` is +`$HOME/public_databases`. :ledger: **Note: The download directory `<DB_DIR>` should *not* be a subdirectory in the AlphaFold 3 repository directory.** If it is, the Docker @@ -249,13 +252,14 @@ uniref90_2022_05.fa Optionally, after the script finishes, you may want copy databases to an SSD. You can use theses two scripts: -* `src/scripts/gcp_mount_ssd.sh <SSD_MOUNT_PATH>` Mounts and formats an - unmounted GCP SSD drive. It will skip the either step if the disk is either - already formatted or already mounted. The default `<SSD_MOUNT_PATH>` is - `/mnt/disks/ssd`. -* `src/scripts/copy_to_ssd.sh <DB_DIR> <SSD_DB_DIR>` this will copy as many - files that it can fit on to the SSD. The default `<DATABASE_DIR>` is - `$HOME/public_databases` and the default `<SSD_DB_DIR>` is +* `src/scripts/gcp_mount_ssd.sh [<SSD_MOUNT_PATH>]` Mounts and formats an + unmounted GCP SSD drive to the specified path. It will skip the either step + if the disk is either already formatted or already mounted. The default + `<SSD_MOUNT_PATH>` is `/mnt/disks/ssd`. +* `src/scripts/copy_to_ssd.sh [<DB_DIR>] [<SSD_DB_DIR>]` this will copy as + many files that it can fit on to the SSD. The default `<DB_DIR>` is + `$HOME/public_databases`, and must match the path used in the + `fetch_databases.sh` command above, and the default `<SSD_DB_DIR>` is `/mnt/disks/ssd/public_databases`. ## Obtaining Model Parameters @@ -267,6 +271,11 @@ business days. You may only use AlphaFold 3 model parameters if received directly from Google. Use is subject to these [terms of use](https://github.com/google-deepmind/alphafold3/blob/main/WEIGHTS_TERMS_OF_USE.md). +Once access has been granted, download the model parameters to a directory of +your choosing, referred to as `<MODEL_PARAMETERS_DIR>` in the following +instructions. As with the databases, this should *not* be a subdirectory in the +AlphaFold 3 repository directory. + ## Building the Docker Container That Will Run AlphaFold 3 Then, build the Docker container. This builds a container with all the right @@ -276,7 +285,11 @@ python dependencies: docker build -t alphafold3 -f docker/Dockerfile . ``` -You can now run AlphaFold 3! +Create an input JSON file, using either the example in the +[README](https://github.com/google-deepmind/alphafold3?tab=readme-ov-file#installation-and-running-your-first-prediction) +or a +[custom input](https://github.com/google-deepmind/alphafold3/blob/main/docs/input.md), +and place it in a directory, e.g. `$HOME/af_input`. You can now run AlphaFold 3! ```sh docker run -it \ @@ -292,15 +305,29 @@ docker run -it \ --output_dir=/root/af_output ``` +where `$HOME/af_input` is the directory containing the input JSON file; +`$HOME/af_output` is the directory where the output will be written to; and +`<DB_DIR>` and `<MODEL_PARAMETERS_DIR>` are the directories containing the +databases and model parameters. The values of these directories must match the +directories used in previous steps for downloading databases and model weights, +and for the input file. + +:ledger: Note: You may also need to create the output directory, +`$HOME/af_output` directory before running the `docker` command and make it and +the input directory writable from the docker container, e.g. by running `chmod +755 $HOME/af_input $HOME/af_output`. In most cases `docker` and +`run_alphafold.py` will create the output directory if it does not exist. + :ledger: **Note: In the example above the databases have been placed on the persistent disk, which is slow.** If you want better genetic and template search performance, make sure all databases are placed on a local SSD. -If you have databases on SSD in `<SSD_DB_DIR>` you can use uses it as the -location to look for databases but allowing for a multiple fallbacks with -`--db_dir` which can be specified multiple times. +If you have some databases on an SSD in the `<SSD_DB_DIR>` directory and some +databases on a slower disk in the `<DB_DIR>` directory, you can mount both +directories and specify `db_dir` multiple times. This will enable the fast +access to databases with a fallback to the larger, slower disk: -``` +```sh docker run -it \ --volume $HOME/af_input:/root/af_input \ --volume $HOME/af_output:/root/af_output \ @@ -324,6 +351,15 @@ paths (flags named `--volume` above) in the correct locations. docker: Error response from daemon: error while creating mount source path '/srv/alphafold3_data/models': mkdir /srv/alphafold3_data/models: permission denied. ``` +`run_alphafold.py` supports many flags for controlling performance, running on +multiple input files, specifying external binary paths, and more. See + +```sh +docker run alphafold3 python run_alphafold.py --help +``` + +for more information. + ## Running Using Singularity Instead of Docker You may prefer to run AlphaFold 3 within Singularity. You'll still need to diff --git a/docs/known_issues.md b/docs/known_issues.md index 982a1754f2b7bbfe3706a0de2f41f3b84eb6ff63..2f0be4f76b86d67e3171af98a2eb2533b1fb788b 100644 --- a/docs/known_issues.md +++ b/docs/known_issues.md @@ -1,9 +1,15 @@ # Known Issues -### Devices other than NVIDIA A100 or H100 +## Numerical performance for CUDA Capability 7.x GPUs -There are currently known unresolved numerical issues with using devices other -than NVIDIA A100 and H100. For now, accuracy has only been validated for A100 -and H100 GPU device types. See -[this Issue](https://github.com/google-deepmind/alphafold3/issues/59) for -tracking. +All CUDA Capability 7.x GPUs (e.g. V100) produce obviously bad output, with lots +of clashing residues (the clashes cause a ranking score of -99 or lower), unless +the environment variable `XLA_FLAGS` is set to include +`--xla_disable_hlo_passes=custom-kernel-fusion-rewriter`. + +## Incorrect handling of two-letter atoms in SMILES ligands + +Between commits https://github.com/google-deepmind/alphafold3/commit/f8df1c7 and +https://github.com/google-deepmind/alphafold3/commit/4e4023c, AlphaFold 3 +handled incorrectly any two-letter atoms (e.g. Cl, Br) in ligands defined using +SMILES strings. diff --git a/docs/metadata_antibody_antigen.csv b/docs/metadata_antibody_antigen.csv new file mode 100644 index 0000000000000000000000000000000000000000..8c256123a9e3a5bf0726d5806216bb6c0da76adc --- /dev/null +++ b/docs/metadata_antibody_antigen.csv @@ -0,0 +1,167 @@ +pdb_id,chain_id_1,chain_id_2,cluster_key_chain_1,cluster_key_chain_2,interface_cluster_key +7fci,A,B,5581,5964,5581|5964 +7fci,A,C,5581,17640,17640|5581 +7mnl,A,C,8677,17640,17640|8677 +7n0a,A,B,33602,5964,33602|5964 +7n0a,A,C,33602,17640,17640|33602 +7ox1,A,G,17640,41184,17640|41184 +7ox1,B,G,5964,41184,41184|5964 +7ox2,A,C,17640,41184,17640|41184 +7ox2,B,C,5964,41184,41184|5964 +7ox3,A,C,5964,41184,41184|5964 +7ox3,B,C,17640,41184,17640|41184 +7ox4,A,C,17640,41184,17640|41184 +7ox4,B,C,5964,41184,41184|5964 +7q6c,A,B,15496,17640,15496|17640 +7q6c,A,D,15496,5964,15496|5964 +7r58,A,B,30790,17640,17640|30790 +7r58,A,C,30790,5964,30790|5964 +7ru6,A,B,7068,17640,17640|7068 +7sbd,A,C,17640,20692,17640|20692 +7sbd,B,C,5964,20692,20692|5964 +7sbg,A,C,17640,20692,17640|20692 +7sbg,B,C,5964,20692,20692|5964 +7sjo,A,F,7390,17640,17640|7390 +7sjo,A,I,7390,5964,5964|7390 +7sjo,B,G,7390,17640,17640|7390 +7sjo,B,H,7390,5964,5964|7390 +7sjo,C,D,7390,17640,17640|7390 +7sjo,C,E,7390,5964,5964|7390 +7sk3,A,C,45640,5964,45640|5964 +7sk3,A,D,45640,17640,17640|45640 +7sk3,A,E,45640,5964,45640|5964 +7sk3,A,F,45640,17640,17640|45640 +7sk4,A,C,45640,5964,45640|5964 +7sk4,A,D,45640,17640,17640|45640 +7sk4,A,E,45640,5964,45640|5964 +7sk4,A,F,45640,17640,17640|45640 +7sk5,A,B,45640,17640,17640|45640 +7sk5,A,D,45640,5964,45640|5964 +7sk6,A,C,45640,5964,45640|5964 +7sk6,A,D,45640,17640,17640|45640 +7sk7,A,C,45640,5964,45640|5964 +7sk7,A,D,45640,17640,17640|45640 +7sk8,A,C,45640,5964,45640|5964 +7sk8,A,D,45640,17640,17640|45640 +7sk8,A,E,45640,5964,45640|5964 +7sk8,A,F,45640,17640,17640|45640 +7sk9,A,B,45640,17640,17640|45640 +7sk9,A,C,45640,5964,45640|5964 +7st8,A,C,17640,41188,17640|41188 +7st8,B,C,5964,41188,41188|5964 +7t6x,E,H,5964,24273,24273|5964 +7t82,A,C,9703,5964,5964|9703 +7t82,A,D,9703,17640,17640|9703 +7t9m,A,C,17640,13210,13210|17640 +7t9m,B,C,5964,13210,13210|5964 +7t9n,A,D,5964,13210,13210|5964 +7t9n,B,D,17640,13210,13210|17640 +7tuf,A,B,22549,17640,17640|22549 +7tuf,A,C,22549,5964,22549|5964 +7tuf,A,E,22549,17640,17640|22549 +7tuf,B,D,17640,22549,17640|22549 +7tuf,D,E,22549,17640,17640|22549 +7tuf,D,F,22549,5964,22549|5964 +7tug,A,B,22549,17640,17640|22549 +7tug,A,C,22549,5964,22549|5964 +7u8c,A,B,20081,17640,17640|20081 +7u8c,A,C,20081,5964,20081|5964 +7u8g,A,C,29632,17640,17640|29632 +7u8g,A,D,29632,5964,29632|5964 +7uih,A,B,11223,5964,11223|5964 +7uih,A,C,11223,17640,11223|17640 +7uih,A,D,11223,5964,11223|5964 +7uih,A,E,11223,17640,11223|17640 +7um3,A,E,17640,33649,17640|33649 +7um3,B,E,5964,33649,33649|5964 +7ura,A,B,44530,5964,44530|5964 +7ura,A,C,44530,17640,17640|44530 +7urc,A,B,44530,5964,44530|5964 +7urc,A,C,44530,17640,17640|44530 +7urd,A,C,44530,5964,44530|5964 +7urd,A,D,44530,17640,17640|44530 +7ure,A,B,44530,5964,44530|5964 +7ure,A,C,44530,17640,17640|44530 +7uvf,A,C,23558,17640,17640|23558 +7uvf,A,D,23558,5964,23558|5964 +7uvf,B,E,23558,5964,23558|5964 +7uvf,B,F,23558,17640,17640|23558 +7vad,A,B,5581,17640,17640|5581 +7vad,A,C,5581,5964,5581|5964 +7vae,A,B,5581,17640,17640|5581 +7vae,A,C,5581,5964,5581|5964 +7vaf,A,C,17640,5581,17640|5581 +7vaf,B,C,5964,5581,5581|5964 +7vag,A,B,5581,17640,17640|5581 +7vag,A,C,5581,5964,5581|5964 +7vgr,A,E,5964,33673,33673|5964 +7vgr,A,F,5964,33673,33673|5964 +7vgr,B,E,17640,33673,17640|33673 +7vgr,B,F,17640,33673,17640|33673 +7vgr,C,E,5964,33673,33673|5964 +7vgr,C,F,5964,33673,33673|5964 +7vgr,D,E,17640,33673,17640|33673 +7vgr,D,F,17640,33673,17640|33673 +7vgs,A,B,33673,5964,33673|5964 +7vgs,A,C,33673,17640,17640|33673 +7vgs,A,E,33673,5964,33673|5964 +7vgs,B,D,5964,33673,33673|5964 +7vgs,D,E,33673,5964,33673|5964 +7vgs,D,F,33673,17640,17640|33673 +7vn9,A,C,17640,20046,17640|20046 +7vn9,B,C,5964,20046,20046|5964 +7vng,A,B,20046,17640,17640|20046 +7vng,A,C,20046,5964,20046|5964 +7w71,A,E,24335,17640,17640|24335 +7w71,A,F,24335,5964,24335|5964 +7wsi,A,B,5581,17640,17640|5581 +7wsi,A,C,5581,5964,5581|5964 +7xq8,A,B,26372,5964,26372|5964 +7xq8,C,D,26372,5964,26372|5964 +7zlg,A,D,17640,29547,17640|29547 +7zlg,C,D,5964,29547,29547|5964 +7zlh,A,D,17640,29547,17640|29547 +7zlh,C,D,5964,29547,29547|5964 +7zli,A,D,17640,29547,17640|29547 +7zli,C,D,5964,29547,29547|5964 +7zlj,A,D,17640,29547,17640|29547 +7zlj,C,D,5964,29547,29547|5964 +7zwi,A,C,7003,5964,5964|7003 +7zxf,A,C,7003,5964,5964|7003 +7zxf,A,E,7003,5964,5964|7003 +7zxg,A,C,7003,5964,5964|7003 +7zxk,A,F,26707,5964,26707|5964 +7zxk,A,G,26707,17640,17640|26707 +7zyi,A,B,5581,17640,17640|5581 +7zyi,A,C,5581,5964,5581|5964 +8cz5,A,B,24059,17640,17640|24059 +8cz5,A,C,24059,5964,24059|5964 +8dcy,A,C,17640,23342,17640|23342 +8dcy,B,C,5964,23342,23342|5964 +8ddk,A,C,17640,23342,17640|23342 +8ddk,B,C,5964,23342,23342|5964 +8djk,A,E,15456,17640,15456|17640 +8djk,B,D,15455,5964,15455|5964 +8djk,B,E,15455,17640,15455|17640 +8djm,A,E,15456,17640,15456|17640 +8djm,B,D,15455,5964,15455|5964 +8djm,B,E,15455,17640,15455|17640 +8dke,A,B,13979,17640,13979|17640 +8dke,A,C,13979,5964,13979|5964 +8dki,A,B,13979,17640,13979|17640 +8dki,A,C,13979,5964,13979|5964 +8dkm,A,C,17640,13979,13979|17640 +8dkm,B,C,5964,13979,13979|5964 +8dkw,A,C,17640,13979,13979|17640 +8dkw,B,C,5964,13979,13979|5964 +8dkx,A,C,17640,13979,13979|17640 +8dkx,B,C,5964,13979,13979|5964 +8hii,A,B,21158,17640,17640|21158 +8hii,A,D,21158,5964,21158|5964 +8hij,A,B,21158,17640,17640|21158 +8hij,A,D,21158,5964,21158|5964 +8hik,A,B,21158,17640,17640|21158 +8hik,A,D,21158,5964,21158|5964 +7so7,A,F,3006,5964,3006|5964 +7xy8,A,C,2517,17640,17640|2517 +7xy8,A,E,2517,5964,2517|5964 \ No newline at end of file diff --git a/docs/metadata_antibody_antigen.md b/docs/metadata_antibody_antigen.md new file mode 100644 index 0000000000000000000000000000000000000000..dcaba93eccf3342de8832c8eb464a4c71db19643 --- /dev/null +++ b/docs/metadata_antibody_antigen.md @@ -0,0 +1,11 @@ +# Metadata for Antibody-Antigen pairs used to create figure 5a + +Figure 5a in the AlphaFold 3 paper was created using 71 antibody–antigen +complexes, containing 166 antibody–antigen interfaces spanning 65 interface +clusters. Scores were averaged within each interface cluster then across +clusters. Note that the first bioassembly is used in all cases. + +We provide metadata for these complexes and the associated clusters in this CSV +file: + +https://github.com/google-deepmind/alphafold3/blob/main/docs/metadata_antibody_antigen.csv diff --git a/docs/output.md b/docs/output.md index a75204201c4ede6c22ed4b3df2fffd6842ea83fa..2850d54cb6bcd55c2a45e01818d7119fc1fa0b35 100644 --- a/docs/output.md +++ b/docs/output.md @@ -5,6 +5,8 @@ For every input job, AlphaFold 3 writes all its outputs in a directory called by the sanitized version of the job name. E.g. for job name "My first fold (test)", AlphaFold 3 will write its outputs in a directory called `my_first_fold_test`. +If such directory already exists, AlphaFold 3 will append a timestamp to the +directory name to avoid overwriting existing data. The following structure is used within the output directory: @@ -13,6 +15,8 @@ The following structure is used within the output directory: `seed-<seed value>_sample-<sample number>`. Each of these directories contains a confidence JSON, summary confidence JSON, and the mmCIF with the predicted structure. +* Embeddings for each seed: `seed-<seed value>_embeddings/embeddings.npz`. + Only saved if AlphaFold 3 is run with `--save_embeddings=true`. * Top-ranking prediction mmCIF: `<job_name>_model.cif`. This file contains the predicted coordinates and should be compatible with most structural biology tools. We do not provide the output in the PDB format, the CIF file can be @@ -26,42 +30,44 @@ The following structure is used within the output directory: with highest ranking is the one included in the root directory. * Output terms of use: `TERMS_OF_USE.md`. -Below is an example AlphaFold 3 output directory listing for a job called -"Hello Fold", that has been ran with 1 seed and 5 samples: +Below is an example AlphaFold 3 output directory listing for a job called "Hello +Fold", that has been ran with 1 seed and 5 samples: -```text +```txt hello_fold/ +├── seed-1234_embeddings # Only if --save_embeddings=true. +│ └── hello_fold_seed-1234_embeddings.npz # Only if --save_embeddings=true. ├── seed-1234_sample-0/ -│ ├── confidences.json -│ ├── model.cif -│ └── summary_confidences.json +│ ├── hello_fold_seed-1234_sample-0_confidences.json +│ ├── hello_fold_seed-1234_sample-0_model.cif +│ └── hello_fold_seed-1234_sample-0_summary_confidences.json ├── seed-1234_sample-1/ -│ ├── confidences.json -│ ├── model.cif -│ └── summary_confidences.json +│ ├── hello_fold_seed-1234_sample-1_confidences.json +│ ├── hello_fold_seed-1234_sample-1_model.cif +│ └── hello_fold_seed-1234_sample-1_summary_confidences.json ├── seed-1234_sample-2/ -│ ├── confidences.json -│ ├── model.cif -│ └── summary_confidences.json +│ ├── hello_fold_seed-1234_sample-2_confidences.json +│ ├── hello_fold_seed-1234_sample-2_model.cif +│ └── hello_fold_seed-1234_sample-2_summary_confidences.json ├── seed-1234_sample-3/ -│ ├── confidences.json -│ ├── model.cif -│ └── summary_confidences.json +│ ├── hello_fold_seed-1234_sample-3_confidences.json +│ ├── hello_fold_seed-1234_sample-3_model.cif +│ └── hello_fold_seed-1234_sample-3_summary_confidences.json ├── seed-1234_sample-4/ -│ ├── confidences.json -│ ├── model.cif -│ └── summary_confidences.json +│ ├── hello_fold_seed-1234_sample-4_confidences.json +│ ├── hello_fold_seed-1234_sample-4_model.cif +│ └── hello_fold_seed-1234_sample-4_summary_confidences.json ├── TERMS_OF_USE.md ├── hello_fold_confidences.json ├── hello_fold_data.json ├── hello_fold_model.cif -├── hello_fold_summary_confidences.json -└── ranking_scores.csv +├── hello_fold_ranking_scores.csv +└── hello_fold_summary_confidences.json ``` ## Confidence Metrics -Similar to AlphaFold2 and AlphaFold-Multimer, AlphaFold 3 outputs include +Similar to AlphaFold 2 and AlphaFold-Multimer, AlphaFold 3 outputs include confidence metrics. The main metrics are: * **pLDDT:** a per-atom confidence estimate on a 0-100 scale where a higher @@ -77,7 +83,7 @@ confidence metrics. The main metrics are: position and orientation between two tokens in the predicted structure. Higher values indicate higher predicted error and therefore lower confidence. For proteins and nucleic acids, PAE score is essentially the - same as AlphaFold2, where the error is measured relative to frames + same as AlphaFold 2, where the error is measured relative to frames constructed from the protein backbone. For small molecules and post-translational modifications, a frame is constructed for each atom from its closest neighbors from a reference conformer. @@ -185,3 +191,39 @@ Full array outputs: corresponding to each token in the prediction. * `atom_chain_ids`: A \[num_atoms\] array indicating the chain ids corresponding to each atom in the prediction. + +## Embeddings + +AlphaFold 3 can be run with `--save_embeddings=true` to save the embeddings for +each seed. The file is in the +[compressed Numpy `.npz` format](https://numpy.org/doc/stable/reference/generated/numpy.savez_compressed.html) +and can be loaded using `numpy.load` as a dictionary-like object with two +arrays: + +* `single_embeddings`: A \`[num\_tokens, 384\] array containing the embeddings + for each token. +* `pair_embeddings`: A \[num\_tokens, num\_tokens, 128\] array containing the + pairwise embeddings between all tokens. + +You can use for instance the following Python code to load the embeddings: + +```py +import numpy as np + +with open('embeddings.npz', 'rb') as f: + embeddings = np.load(f) + single_embeddings = embeddings['single_embeddings'] + pair_embeddings = embeddings['pair_embeddings'] +``` + +## Chirality checks + +In the AlphaFold 3 paper Posebusters results, a penalty was applied to the +ranking score if the ligand of interest contained chiral errors. By running +multiple seeds and using this chiral aware ranking, chiral error rates were +greatly reduced. + +We provide the method `compare_chirality` in +[`model/scoring/chirality.py`](https://github.com/google-deepmind/alphafold3/blob/main/src/alphafold3/model/scoring/chirality.py) +to replicate these chiral checks. Chirality is checked against CCD structures if +available, otherwise users can supply custom RDKit Mol objects for comparison. diff --git a/docs/performance.md b/docs/performance.md index 1f288e1cdc65f735c75ae6f4839a2410e37bf565..58717d7d8de97161dbb0add13eb123248a3c0092 100644 --- a/docs/performance.md +++ b/docs/performance.md @@ -95,16 +95,41 @@ AlphaFold 3 can run on inputs of size up to 4,352 tokens on a single NVIDIA A100 ) ``` +The format of entries in `pair_transition_shard_spec` is +`(num_tokens_upper_bound, shard_size)`. Setting `shard_size=None` means there is +no upper bound. + +For the example above: + +* `(2048, None)`: for sequences up to 2,048 tokens, do not shard +* `(3072, 1024)`: for sequences up to 3,072 tokens, shard in chunks of 1,024 +* `(None, 512)`: for all other sequences, shard in chunks of 512 + While numerically accurate, this configuration will have lower throughput compared to the set up on the NVIDIA A100 (80 GB), due to less available memory. -#### Devices other than NVIDIA A100 or H100 +#### NVIDIA V100 + +There are known numerical issues with CUDA Capability 7.x devices. To work +around the issue, set the ENV XLA_FLAGS to include +`--xla_disable_hlo_passes=custom-kernel-fusion-rewriter`. + +With the above flag set, AlphaFold 3 can run on inputs of size up to 1,280 +tokens on a single NVIDIA V100 using [unified memory](#unified-memory). + +#### NVIDIA P100 + +AlphaFold 3 can run on inputs of size up to 1,024 tokens on a single NVIDIA P100 +with no configuration changes needed. -There are currently known unresolved numerical issues with using devices other -than NVIDIA A100 and H100. For now, accuracy has only been validated for A100 -and H100 GPU device types. See -[this Issue](https://github.com/google-deepmind/alphafold3/issues/59) for -tracking. +#### Other devices + +Large-scale numerical tests have not been performed on any other devices but +they are believed to be numerically accurate. + +There are known numerical issues with CUDA Capability 7.x devices. To work +around the issue, set the environment variable `XLA_FLAGS` to include +`--xla_disable_hlo_passes=custom-kernel-fusion-rewriter`. ## Compilation Buckets @@ -153,6 +178,17 @@ in the provided `Dockerfile`). ENV XLA_FLAGS="--xla_gpu_enable_triton_gemm=false" ``` +### CUDA Capability 7.x GPUs + +For all CUDA Capability 7.x GPUs (e.g. V100) the environment variable +`XLA_FLAGS` must be changed to include +`--xla_disable_hlo_passes=custom-kernel-fusion-rewriter`. Disabling the Tritron +GEMM kernels is not necessary as they are not supported for such GPUs. + +```sh +ENV XLA_FLAGS="--xla_disable_hlo_passes=custom-kernel-fusion-rewriter" +``` + ### GPU Memory The following environment variables (set by default in the `Dockerfile`) enable diff --git a/fetch_databases.sh b/fetch_databases.sh index d2c4ad43b241e43964160ddd57da03eb84286ff9..0373abc84181ebb2e24d9ec9515ae470cd4aea54 100644 --- a/fetch_databases.sh +++ b/fetch_databases.sh @@ -27,7 +27,8 @@ readonly SOURCE=https://storage.googleapis.com/alphafold-databases/v3.0 echo "Start Fetching and Untarring 'pdb_2022_09_28_mmcif_files.tar'" wget --quiet --output-document=- \ "${SOURCE}/pdb_2022_09_28_mmcif_files.tar.zst" | \ - tar --use-compress-program=zstd -xf - --directory="${db_dir}" & + tar --no-same-owner --no-same-permissions \ + --use-compress-program=zstd -xf - --directory="${db_dir}" & for NAME in mgy_clusters_2022_05.fa \ bfd-first_non_consensus_sequences.fasta \ diff --git a/legal/WEIGHTS_PROHIBITED_USE_POLICY-Bahasa-Indonesia.md b/legal/WEIGHTS_PROHIBITED_USE_POLICY-Bahasa-Indonesia.md new file mode 100644 index 0000000000000000000000000000000000000000..6c6fcc3f5f0d47c2b9597216c40bf3ff7d1cc822 --- /dev/null +++ b/legal/WEIGHTS_PROHIBITED_USE_POLICY-Bahasa-Indonesia.md @@ -0,0 +1,140 @@ +# KEBIJAKAN PENGGUNAAN TERLARANG UNTUK PARAMETER MODEL ALPHAFOLD 3 + +Terakhir diubah: 2024-11-09 + +AlphaFold 3 dapat membantu Anda mempercepat riset ilmiah dengan memprediksi +struktur 3D molekul biologis. Google menyediakan Aset AlphaFold tanpa biaya +untuk penggunaan non-komersial tertentu, sesuai dengan pembatasan yang +ditetapkan di bawah. Kebijakan ini menggunakan persyaratan yang sama dengan +[Persyaratan Penggunaan Parameter Model AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/legal/WEIGHTS_TERMS_OF_USE-Bahasa-Indonesia.md). + +**Anda tidak boleh mengakses atau menggunakan, atau mengizinkan orang lain +mengakses atau menggunakan Aset AlphaFold 3:** + +1. **Atas nama organisasi komersial atau sehubungan dengan aktivitas komersial + apa pun, termasuk riset atas nama organisasi komersial.** + + 1. Artinya, hanya organisasi non-komersial (*yaitu*, universitas, + organisasi non-profit dan institusi riset, serta lembaga pendidikan, + jurnalistik, dan pemerintah) yang dapat menggunakan Aset AlphaFold 3 + untuk aktivitas non-komersial mereka. Aset AlphaFold 3 tidak tersedia + untuk jenis organisasi lainnya, meskipun organisasi tersebut melakukan + pekerjaan non-komersial. + + 2. Jika Anda adalah peneliti yang berafiliasi dengan organisasi + non-komersial, Anda dapat menggunakan Aset AlphaFold 3 untuk riset + terafiliasi non-komersial Anda, dengan syarat Anda bukan organisasi + komersial atau bertindak atas nama organisasi komersial. + + 3. Anda tidak boleh membagikan Aset AlphaFold 3 kepada organisasi komersial + mana pun atau menggunakan Aset AlphaFold 3 dengan cara yang akan memberi + organisasi komersial hak apa pun atas Aset ini. Satu-satunya + pengecualian adalah menyediakan Output secara publik (termasuk secara + tidak langsung kepada organisasi komersial) melalui publikasi ilmiah + atau rilis open source atau menggunakannya untuk mendukung jurnalisme, + yang masing-masing diizinkan. + +2. **Untuk menyebarkan misinformasi, memberikan pernyataan tidak benar, atau + menyesatkan pengguna**, termasuk: + + 1. menyediakan informasi palsu atau tidak akurat sehubungan dengan akses ke + atau penggunaan AlphaFold 3 atau Output oleh Anda, termasuk mengakses + atau menggunakan Parameter Model atas nama organisasi tanpa memberi tahu + kami atau mengirimkan permintaan untuk mengakses Parameter Model di mana + Google telah melarang penggunaan AlphaFold 3 oleh Anda secara + keseluruhan atau sebagian (termasuk yang disediakan melalui + [Server AlphaFold](https://alphafoldserver.com/about)); + + 2. memberikan pernyataan tidak benar tentang hubungan Anda dengan kami; + termasuk dengan menggunakan merek dagang, nama dagang, atau logo Google, + atau menyiratkan dukungan oleh Google tanpa seizin Google - Tidak ada di + dalam Persyaratan memberikan izin semacam itu; + + 3. memberikan pernyataan tidak benar tentang asal AlphaFold 3 secara + keseluruhan atau sebagian; + + 4. menyebarkan klaim menyesatkan tentang keahlian atau kemampuan, atau + terlibat dalam praktik profesional yang tidak sah atau tanpa lisensi, + khususnya di bidang yang sensitif (misalnya, kesehatan); atau + + 5. membuat keputusan dalam ranah yang memengaruhi hak atau kesejahteraan + individu atau material (misalnya, layanan kesehatan). + +3. **Untuk melakukan, mempromosikan, atau memfasilitasi aktivitas berbahaya, + ilegal, atau jahat, termasuk:** + + 1. mempromosikan atau memfasilitasi penjualan, ataupun memberikan petunjuk + untuk membuat atau mengakses, zat, barang, atau layanan ilegal; + + 2. menyalahgunakan, merugikan, mengganggu, atau mengacaukan layanan apa + pun, termasuk membuat atau mendistribusikan konten untuk aktivitas + penipuan atau penyebaran malware; + + 3. membuat atau mendistribusikan konten, termasuk Output, yang menyalahi, + menyalahgunakan, atau melanggar hak individu atau entitas apa pun + (termasuk, tetapi tidak terbatas pada hak atas konten yang dilindungi + hak cipta); atau + + 4. mencoba mengakali, atau dengan sengaja menyebabkan (secara langsung atau + tidak langsung) AlphaFold 3 untuk bertindak dengan cara yang melanggar + Persyaratan. + +**Anda tidak boleh atau mengizinkan orang lain:** + +1. **Menggunakan Output guna melatih atau membuat model machine learning atau + teknologi terkait untuk prediksi struktur biomolekuler yang mirip dengan + AlphaFold 3 ("Model Turunan"),** termasuk melalui distilasi atau metode + lainnya. Untuk menegaskan, pembatasan penggunaan yang ditetapkan dalam + Persyaratan akan berlaku sepenuhnya untuk semua Model Turunan yang dibuat + dengan melanggar Persyaratan. + +2. **Mendistribusikan Output tanpa memberikan pemberitahuan yang jelas bahwa + apa yang Anda Distribusikan disediakan berdasarkan dan tunduk pada + [Persyaratan Penggunaan Output AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/OUTPUT_TERMS_OF_USE.md) + serta tentang modifikasi apa pun yang Anda buat.** + + 1. Artinya, jika Anda menghapus, atau menyebabkan penghapusan (misalnya + dengan menggunakan perangkat lunak pihak ketiga), pemberitahuan dan + syarat yang kami berikan saat Anda menghasilkan Output menggunakan + AlphaFold 3, Anda harus memastikan Distribusi Output berikutnya + menyertakan salinan + [Persyaratan Penggunaan Output AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/OUTPUT_TERMS_OF_USE.md) + dan file teks "Persyaratan Penggunaan yang Mengikat secara Hukum" yang + berisi pemberitahuan berikut: + + "*Dengan menggunakan informasi ini, Anda menyetujui Persayatan + Penggunaan Output AlphaFold 3 yang terdapat di + https://github.com/google-deepmind/alphafold3/blob/main/OUTPUT_TERMS_OF_USE.md.* + + *Untuk meminta akses ke parameter model AlphaFold 3, ikuti proses yang + ditetapkan di https://github.com/google-deepmind/alphafold3. Anda hanya + dapat menggunakan parameter model ini jika menerimanya langsung dari + Google. Penggunaannya tunduk pada persyaratan penggunaan yang tersedia + di + https://github.com/google-deepmind/alphafold3/blob/main/WEIGHTS_TERMS_OF_USE.md.*" + + 1. Anda tidak boleh menyertakan persyaratan tambahan atau berbeda yang + bertentangan dengan + [Persyaratan Penggunaan Output AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/OUTPUT_TERMS_OF_USE.md). + +3. **Mendistribusikan Output, atau mengungkapkan temuan yang didapatkan dari + penggunaan AlphaFold 3 tanpa mengutip makalah kami**: [Abramson, J et al. + Accurate structure prediction of biomolecular interactions with AlphaFold + 3.](https://www.nature.com/articles/s41586-024-07487-w). Untuk menegaskan, + hal ini merupakan persyaratan tambahan selain persyaratan pemberitahuan yang + ditetapkan di atas. + +4. **Mengakali pembatasan akses terkait Parameter Model, termasuk menggunakan, + membagikan, atau menyediakan Parameter Model ketika Google belum mengizinkan + Anda secara tegas untuk melakukan hal tersebut.** Google akan memberikan + akses ke Parameter Model kepada: + + 1. Anda untuk penggunaan pribadi Anda atas nama organisasi Anda, dimana + Anda tidak dapat membagikan salinan Parameter Model Anda kepada siapa + pun; atau + + 2. perwakilan resmi organisasi Anda, dengan kewenangan hukum penuh untuk + mengikat organisasi tersebut pada Persyaratan ini. Dalam hal ini, Anda + dapat membagikan salinan Parameter Model milik organisasi tersebut + kepada karyawan, konsultan, kontraktor, serta agen organisasi + sebagaimana diizinkan oleh perwakilan tersebut. diff --git a/legal/WEIGHTS_PROHIBITED_USE_POLICY-Espanol-Latinoamerica.md b/legal/WEIGHTS_PROHIBITED_USE_POLICY-Espanol-Latinoamerica.md new file mode 100644 index 0000000000000000000000000000000000000000..2adcbd7224b596f6c1a8706d4364ca2b9932e907 --- /dev/null +++ b/legal/WEIGHTS_PROHIBITED_USE_POLICY-Espanol-Latinoamerica.md @@ -0,0 +1,146 @@ +# POLÃTICA DE USO PROHIBIDO DE PARÃMETROS DEL MODELO ALPHAFOLD 3 + +Última modificación: 9 de noviembre de 2024 + +AlphaFold 3 puede ayudar a acelerar la investigación cientÃfica, ya que predice +la estructura 3D de moléculas biológicas. Google pone a disposición los Recursos +de AlphaFold sin costo para determinados usos no comerciales de conformidad con +las restricciones que se establecen a continuación. Esta polÃtica usa los mismos +términos definidos que en las +[Condiciones de Uso de los Parámetros del Modelo AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/legal/WEIGHTS_PROHIBITED_USE_POLICY-Espanol-Latinoamerica.md). + +**No debe acceder o utilizar ni permitir que otros accedan o utilicen los +Recursos de AlphaFold 3 en los siguientes casos:** + +1. **En nombre de una organización comercial o en conexión con cualquier + actividad comercial, incluida la investigación en nombre de organizaciones + comerciales.** + + 1. Esto significa que solo las organizaciones no comerciales (*por + ejemplo*, universidades, institutos de investigación y organizaciones + sin fines de lucro, y organismos educativos, gubernamentales y + periodÃsticos) pueden usar los Recursos de AlphaFold 3 para sus + actividades no comerciales. Los Recursos de AlphaFold 3 no están + disponibles para ningún otro tipo de organización, aunque realicen + trabajos no comerciales. + + 2. Si usted es un investigador afiliado de una organización no comercial, + dado que no pertenece a una organización comercial, puede usar los + Recursos de AlphaFold 3 para su investigación de afiliación no + comercial. + + 3. No debe compartir los Recursos de AlphaFold 3 con ninguna organización + comercial ni usarlos de manera que otorgue a una organización comercial + algún derecho sobre estos. La única excepción es poner los Resultados a + disposición del público (lo que incluye indirectamente a las + organizaciones comerciales) a través de una publicación cientÃfica o una + publicación de código abierto, o utilizarlos para apoyar la actividad + periodÃstica, opciones que están todas permitidas. + +2. **Para desinformar, tergiversar o engañar, entre lo que se incluye lo + siguiente:** + + 1. proporcionar información falsa o errónea en relación con su acceso o uso + de AlphaFold 3 o los Resultados, incluido el uso o acceso a los + Parámetros del Modelo en nombre de una organización sin informarnos o + enviarnos una solicitud para acceder a los Parámetros del Modelo cuando + Google le ha prohibido el uso de AlphaFold 3 de forma parcial o total + (incluido como se pone a disposición a través de + [AlphaFold Server](https://alphafoldserver.com/about)), + + 2. tergiversar su relación con nosotros, incluido el uso de marcas, + comerciales, nombres comerciales o logotipos de Google, o sugerir + recomendación por parte de Google sin el permiso de Google para hacerlo + (ningún punto de las Condiciones otorga ese permiso) + + 3. tergiversar el origen de AlphaFold 3 de forma parcial o total, + + 4. distribuir declaraciones engañosas sobre experiencia o capacidad, o + participar en la práctica de cualquier profesión sin autorización o + licencia, en particular si se trata de áreas sensibles (*p. ej.*, la de + la salud), o + + 5. tomar decisiones en ámbitos que afectan el bienestar o los derechos + materiales o individuales (*p. ej.*, atención médica). + +3. **Para realizar, promover o facilitar actividades peligrosas, ilegales o + maliciosas, entre lo que se incluye lo siguiente:** + + 1. promover o facilitar la venta de sustancias, bienes o servicios + ilegales, o bien proporcionar instrucciones para sintetizarlos o acceder + a ellos, + + 2. abusar, interferir, dañar o interrumpir servicios, lo que incluye + generar o distribuir contenido para actividades engañosas o fraudulentas + o software malicioso, + + 3. generar o distribuir contenido, incluidos los Resultados, que incumpla, + se apropie indebidamente o infrinja los derechos de un individuo o una + entidad (incluidos, sin limitaciones, los derechos de contenido + protegido por derechos de autor), o + + 4. intentar eludir o causar de forma intencional (directa o indirectamente) + que AlphaFold 3 actúe de manera que incumpla las Condiciones. + +**No debe utilizar ni permitir que otros:** + +1. **Utilicen los Resultados para entrenar o crear modelos de aprendizaje + automático o tecnologÃa relacionada para la predicción de estructura + biomolecular similar a la de AlphaFold 3 ("Modelos Derivados"),** lo que + incluye métodos a través de destilación o de otro tipo. En aras de evitar + dudas, las restricciones de uso establecidas en las Condiciones se aplicarán + en su totalidad a cualquier Modelo Derivado que se cree incumpliendo las + Condiciones. + +2. **Distribuir los Resultados sin brindar un aviso claro de que lo que usted + Distribuye se proporciona de acuerdo con las + [Condiciones de Uso de los Resultados de AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/OUTPUT_TERMS_OF_USE.md) + y cualquier modificación que usted haga.** + + 1. Esto quiere decir que si usted quita o hace que se quiten (por ejemplo, + con software de terceros) los avisos y las condiciones que + proporcionamos cuando genera Resultados usando AlphaFold 3, debe + asegurarse de que cualquier Distribución adicional de los Resultados + esté acompañada por una copia de las + [Condiciones de Uso de Resultados de AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/OUTPUT_TERMS_OF_USE.md) + y un archivo de texto llamado "Condiciones de Uso Legalmente + Vinculantes" que contenga el siguiente aviso: + + "*Si utiliza esta información, usted acepta las Condiciones de Uso de + Resultados de AlphaFold 3, que se encuentran en + https://github.com/google-deepmind/alphafold3/blob/main/OUTPUT_TERMS_OF_USE.md.* + + *Para solicitar acceso a los parámetros del modelo AlphaFold 3, siga el + proceso que se establece en + https://github.com/google-deepmind/alphafold3. Solo puede usarlos si los + recibe directamente de Google. El uso está sujeto a las Condiciones de + Uso disponibles en + https://github.com/google-deepmind/alphafold3/blob/main/WEIGHTS_TERMS_OF_USE.md.*" + + 2. No debe incluir ninguna condición adicional o diferente que entre en + conflicto con las + [Condiciones de Uso de Resultados de AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/OUTPUT_TERMS_OF_USE.md). + +3. **Distribuir Resultados, o divulgar descubrimientos que surjan del uso de + AlphaFold 3 sin citar nuestro artÃculo** [Abramson, J et al. Accurate + structure prediction of biomolecular interactions with AlphaFold 3 + (Predicción precisa de la estructura de las interacciones biomoleculares con + AlphaFold 3). *Nature* + (2024)](https://www.nature.com/articles/s41586-024-07487-w). En aras de + evitar dudas, este es un requisito adicional a los requisitos de aviso que + se establecen más arriba. + +4. **Eludir las restricciones de acceso relacionadas con los Parámetros del + Modelo, lo que incluye utilizar, compartir o poner a disponibilidad los + Parámetros del Modelo cuando no recibió autorización expresa por parte de + Google para hacerlo.** Google otorgará acceso a los Parámetros del Modelo a: + + 1. Usted para su uso individual o para usarlos en nombre de su + organización, en cuyo caso no puede compartir su copia de los Parámetros + del Modelo con nadie más, o + + 2. Un representante autorizado de su organización con autoridad legal total + para obligar a esa organización con estas Condiciones (en cuyo caso + usted podrá compartir la copia de los Parámetros del Modelo de esa + organización con empleados, consultores, contratistas y agentes de la + organización, según lo autorizado por ese representante) diff --git a/legal/WEIGHTS_PROHIBITED_USE_POLICY-Francais-Canada.md b/legal/WEIGHTS_PROHIBITED_USE_POLICY-Francais-Canada.md new file mode 100644 index 0000000000000000000000000000000000000000..57164aed382cdbf0b3ea7b29768f85930285d596 --- /dev/null +++ b/legal/WEIGHTS_PROHIBITED_USE_POLICY-Francais-Canada.md @@ -0,0 +1,150 @@ +# POLITIQUE D'UTILISATION INTERDITE DES PARAMÈTRES DU MODÈLE ALPHAFOLD 3 + +Dernière modification: 2024-11-09 + +AlphaFold 3 peut vous aider à accélérer la recherche scientifique en prévoyant +la structure 3D des molécules biologiques. Pour certaines utilisations non +commerciales, Google met gratuitement à disposition les Éléments d'AlphaFold +dans le respect des restrictions énoncées ci-dessous. Cette politique utilise +les mêmes conditions d'utilisation telles que définies dans les +[Conditions d'utilisation des paramètres du modèle AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/legal/WEIGHTS_PROHIBITED_USE_POLICY-Francais-Canada.md). + +**Vous ne devez pas accéder aux Éléments d'AlphaFold 3 ni les utiliser ou +permettre à d'autres personnes de le faire:** + +1. **Au nom d'une organisation commerciale ou en connexion avec des activités + commerciales, y compris la recherche au nom d'organisations commerciales.** + + 1. Cela signifie que seules les organisations non commerciales (*c.-à -d*. + universités, organismes sans but lucratif, instituts de recherche et + organismes éducatifs, journalistiques et gouvernementaux) peuvent + utiliser les Éléments d'AlphaFold 3 dans le cadre de leurs activités non + commerciales. Les Éléments AlphaFold 3 ne sont pas offerts à d'autres + types d'organisations, même si elles effectuent des travaux non + commerciaux. + + 2. Si vous êtes un chercheur affilié à une organisation non commerciale, à + la condition que **vous ne soyez pas une organisation commerciale ou que + vous n'agissez pas au nom d'une organisation commerciale**, vous pouvez + utiliser les Éléments AlphaFold 3 pour vos recherches affiliées non + commerciales. + + 3. Vous ne devez pas partager les Éléments d'AlphaFold 3 avec une + organisation commerciale ni les utiliser d'une manière qui confère à une + organisation commerciale des droits sur ces éléments. La seule exception + est la mise à disposition publique des Résultats (y compris + indirectement à des organisations commerciales) par le biais d'une + publication scientifique ou d'une version open source, ou l'utilisation + de ces résultats pour soutenir le journalisme, qui sont toutes deux + autorisées. + +2. **Pour désinformer ou déformer ou induire en erreur**, y compris: + + 1. fournir des informations fausses ou inexactes concernant votre accès à + AlphaFold 3 ou à ses Résultats, ou à l'utilisation de ceux-ci, y compris + l'accès aux Paramètres du modèle ou l'utilisation de ceux-ci au nom + d'une organisation sans nous en informer ou sans soumettre une demande + d'accès aux Paramètres du modèle lorsque Google a interdit l'utilisation + d'AlphaFold 3 en totalité ou en partie (y compris tel que mis à + disposition par le biais du + [Serveur d'AlphaFold](https://alphafoldserver.com/about)); + + 2. présenter de manière inexacte votre relation avec nous, y compris en + utilisant les marques de commerce, les noms commerciaux et les logos de + Google ou en suggérant l'approbation de Google sans son autorisation. + Rien dans les présentes Conditions ne permet d'accorder une telle + autorisation; + + 3. présenter de manière inexacte l'origine d'AlphaFold 3, en tout ou en + partie; + + 4. distribuer des déclarations trompeuses quant au savoir-faire ou aux + capacités, ou exercer une activité professionnelle sans autorisation ou + sans licence, en particulier dans des domaines sensibles (*p. ex.* les + soins de santé); ou + + 5. prendre des décisions dans des domaines qui touchent les droits + matériels ou individuels ou le bien-être (*p. ex.* les soins de santé). + +3. **Pour effectuer ou faciliter des activités dangereuses, illégales ou + malveillantes**, y compris: + + 1. la promotion ou l'aide à la vente, ou la fourniture d'instructions pour + synthétiser ou accéder à des substances, des biens ou des services + illégaux, ou l'accès à ces derniers; + + 2. abuser, nuire, interférer ou perturber tout service, y compris en + générant ou en distribuant du contenu pour des activités trompeuses ou + frauduleuses ou pour des logiciels malveillants; + + 3. générer ou distribuer tout contenu, y compris des Résultats, qui + enfreigne, détourne ou viole de toute autre manière les droits d'un + individu ou d'une entité (y compris, mais sans s'y limiter, les droits + sur les contenus protégés par des droits d'auteur); ou + + 4. tenter de contourner, ou causer intentionnellement (directement ou + indirectement) AlphaFold 3 à agir d'une manière qui contrevient aux + Conditions. + +**Vous ne devez pas, et vous ne devez pas permettre aux autres:** + +1. **D'utiliser les Résultats pour entraîner ou créer des modèles + d'apprentissage automatique ou une technologie connexe pour la prédiction de + la structure biomoléculaire semblable à AlphaFold 3 (« Modèles dérivés »)**, + y compris par distillation ou d'autres méthodes. Pour éviter le doute, les + restrictions d'utilisation énoncées dans les présentes Conditions + s'appliquent intégralement à tout Modèle dérivé créé en violation des + présentes Conditions. + +2. **De Distribuer les Résultats sans indiquer clairement que ce que vous + Distribuez est fourni dans le cadre et sous réserve des + [Conditions d'utilisation des résultats d'AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/OUTPUT_TERMS_OF_USE.md) + et de toutes les modifications que vous y apportez.** + + 1. Cela signifie que si vous retirez, ou faites retirer (par exemple en + utilisant un logiciel tiers), les avis et les conditions d'utilisation + que nous fournissons lorsque vous générez des Résultats à l'aide + d'AlphaFold 3, vous devez vous assurer que toute Distribution ultérieure + de Résultats est accompagnée d'une copie des + [Conditions d'utilisation des résultats d'AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/OUTPUT_TERMS_OF_USE.md) + et d'un fichier texte des « Conditions d'utilisation légalement + contraignantes » qui contient l'avis suivant: + + « *En utilisant cette information,vous acceptez les Conditions + d'utilisation des résultats d'AlphaFold 3 qui se trouve à l'adresse + https://github.com/google-deepmind/alphafold3/blob/main/OUTPUT_TERMS_OF_USE.md.* + + *Pour demander l'accès aux paramètres du modèle AlphaFold 3, suivez le + processus décrit à l'adresse + https://github.com/google-deepmind/alphafold3. Vous ne pouvez les + utiliser que si vous les recevez directement de Google. L'utilisation + est soumise aux conditions d'utilisation disponibles à l'adresse + https://github.com/google-deepmind/alphafold3/blob/main/WEIGHTS_TERMS_OF_USE.md.* + » + + 2. Vous ne devez pas inclure de conditions d'utilisation supplémentaires ou + différentes qui seraient en contradiction avec les + [Conditions d'utilisation des résultats d'AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/OUTPUT_TERMS_OF_USE.md). + +3. **De Distribuer les Résultats ou de divulguer les résultats découlant de + l'utilisation d'AlphaFold 3 sans citer notre article:** « [Abramson, J et + al. Accurate structure prediction of biomolecular interactions with + AlphaFold 3. *Nature* + (2024)](https://www.nature.com/articles/s41586-024-07487-w) ». Pour éviter + toute ambiguïté, il s'agit d'une exigence supplémentaire par rapport aux + exigences de notification énoncées ci-dessus. + +4. **De contourner les restrictions d'accès relatives aux Paramètres du modèle, + y compris l'utilisation, le partage ou la mise à disposition des Paramètres + du modèle alors que vous n'y avez pas été expressément autorisé par + Google.** Google accordera l'accès aux Paramètres du modèle à soit: + + 1. vous, pour votre utilisation individuelle au nom de votre organisation, + auquel cas vous ne pouvez pas partager votre copie des Paramètres du + modèle avec quelqu'un d'autre; ou + + 2. un représentant autorisé de votre organisation, disposant de la pleine + autorité légale pour lier cette organisation aux présentes Conditions, + auquel cas vous pouvez partager la copie des Paramètres du modèle de + cette organisation avec les employés, les consultants, les entrepreneurs + et les agents de l'organisation, tel qu'autorisé par ce représentant. diff --git a/legal/WEIGHTS_PROHIBITED_USE_POLICY-Portugues-Brazil.md b/legal/WEIGHTS_PROHIBITED_USE_POLICY-Portugues-Brazil.md new file mode 100644 index 0000000000000000000000000000000000000000..0886a1091ed52469487131e720fb78569a194f30 --- /dev/null +++ b/legal/WEIGHTS_PROHIBITED_USE_POLICY-Portugues-Brazil.md @@ -0,0 +1,135 @@ +# POLÃTICA DE USO PROIBIDO DOS PARÂMETROS DO MODELO ALPHAFOLD 3 + +Última modificação: 2024-11-09 + +O AlphaFold 3 ajuda você a acelerar pesquisas cientÃficas ao prever a estrutura +3D de moléculas biológicas. O Google disponibiliza os Recursos do AlphaFold sem +custo financeiro para certos usos não comerciais, de acordo com as restrições +abaixo. Esta polÃtica usa os mesmos termos definidos nos +[Termos de Uso dos Parâmetros do Modelo AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/legal/WEIGHTS_PROHIBITED_USE_POLICY-Portugues-Brazil.md). + +**Você não deve acessar, usar nem permitir que outras pessoas acessem ou usem os +Recursos do AlphaFold 3 nos seguintes casos:** + +1. **Em nome de uma organização comercial ou em associação a atividades + comerciais, incluindo pesquisas em nome de organizações comerciais.** + + 1. Isso significa que apenas organizações não comerciais (*ou seja*, + universidades, organizações sem fins lucrativos, institutos de pesquisa + e órgãos governamentais, educacionais e de notÃcias) podem usar os + Recursos do AlphaFold 3 para suas atividades não comerciais. Os Recursos + do AlphaFold 3 não estão disponÃveis para qualquer outro tipo de + organização, mesmo as que conduzem trabalhos não comerciais. + + 2. Se você for um pesquisador afiliado a uma organização não comercial, + você tem permissão para usar esses recursos em sua pesquisa afiliada a + organizações sem fins lucrativos, desde que você não seja uma + organização comercial nem esteja agindo em nome de uma. + + 3. É proibido compartilhar os Recursos do AlphaFold 3 com qualquer + organização comercial ou usar os Recursos do AlphaFold 3 de modo a + conceder a uma organização comercial qualquer direito em relação a eles. + A única exceção é a disponibilização da SaÃda para o público (incluindo + indiretamente para organizações comerciais) mediante uma publicação + cientÃfica, versão de código aberto ou em apoio ao jornalismo, o que é + permitido. + +2. **Para gerar desinformação, deturpar ou enganar**, incluindo: + + 1. fornecer informações falsas ou imprecisas em relação ao seu acesso ou + uso do AlphaFold 3 ou da SaÃda gerada, incluindo acessar ou usar os + Parâmetros do Modelo em nome de uma organização sem nos informar ou + solicitar o acesso aos Parâmetros do Modelo caso o Google tenha proibido + totalmente ou parcialmente seu uso do AlphaFold 3 (incluindo conforme + disponibilizado pelo + [Servidor do AlphaFold](https://alphafoldserver.com/about)); + + 2. deturpar sua relação conosco, incluindo ao usar marcas registradas, + nomes comerciais e logotipos do Google, ou sugerir o endosso do Google + sem a nossa permissão – nada nestes Termos concede tal permissão; + + 3. deturpar a origem do AlphaFold 3 total ou parcialmente; + + 4. distribuir declarações enganosas sobre conhecimento ou capacidade, ou + participar do exercÃcio não autorizado ou não licenciado de qualquer + profissão, especialmente em áreas sensÃveis (*por exemplo*, saúde); ou + + 5. tomar decisões em áreas que afetam o bem-estar ou direitos materiais ou + individuais (*por exemplo*, saúde). + +3. **Para realizar, promover ou facilitar atividades perigosas, ilegais ou + maliciosas**, incluindo: + + 1. promover ou facilitar a venda ou fornecer instruções para sintetizar ou + ter acesso a substâncias, produtos ou serviços ilegais; + + 2. abusar, prejudicar, interferir ou interromper quaisquer serviços, + incluindo gerar ou distribuir conteúdo para atividades enganosas ou + fraudulentas ou malware; + + 3. gerar ou distribuir qualquer conteúdo, incluindo a SaÃda, que infrinja, + se aproprie indevidamente ou viole de outra forma os direitos de + qualquer indivÃduo ou entidade (incluindo, mas não se limitando a + direitos autorais do conteúdo); ou + + 4. tentar burlar ou levar intencionalmente (direta ou indiretamente) o + AlphaFold 3 a agir de maneira que viole os Termos. + +**Não é permitido que você nem outras pessoas:** + +1. **Usem os Resultados para treinar ou criar modelos de aprendizado de máquina + ou tecnologias relacionadas para previsão de estrutura biomolecular + semelhante ao AlphaFold 3 ("Modelos Derivados"),** incluindo pela destilação + ou outros métodos. Para evitar dúvidas, as restrições de uso definidas nos + Termos são totalmente válidas para quaisquer Modelos Derivados criados em + violação dos Termos. + +2. **Distribuam a SaÃda sem apresentar aviso evidente de que o que você + Distribui é oferecido de acordo com e sujeito aos + [Termos de Uso dos Resultados do AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/OUTPUT_TERMS_OF_USE.md) + e quaisquer modificações realizadas.** + + 1. Isso significa que, se você remover ou causar a remoção (por exemplo, + usando um software de terceiros) dos avisos e termos que fornecemos + quando você gera Resultados usando o AlphaFold 3, você precisa garantir + que a Distribuição da SaÃda posterior esteja acompanhada de uma cópia + dos + [Termos de Uso dos Resultados do AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/OUTPUT_TERMS_OF_USE.md) + e de um arquivo de texto "Termos de Uso Juridicamente Vinculativos" com + o seguinte aviso: + + "*Ao usar estas informações, você concorda com os Termos de Uso da SaÃda + do AlphaFold 3 disponÃveis em + https://github.com/google-deepmind/alphafold3/blob/main/OUTPUT_TERMS_OF_USE.md.* + + *Para solicitar acesso aos parâmetros do modelo AlphaFold 3, siga o + processo descrito em https://github.com/google-deepmind/alphafold3. Você + só pode usar os parâmetros se os receber diretamente do Google. O uso + está sujeito aos Termos de Uso disponÃveis em + https://github.com/google-deepmind/alphafold3/blob/main/WEIGHTS_TERMS_OF_USE.md.*" + + 2. É proibido incluir quaisquer termos adicionais ou diferentes que entrem + em conflito com os + [Termos de Uso da SaÃda do AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/OUTPUT_TERMS_OF_USE.md). + +3. **Distribuam a SaÃda ou divulguem descobertas provenientes do uso do + AlphaFold 3 sem citar nosso artigo:** [Abramson, J et al. Accurate structure + prediction of biomolecular interactions with AlphaFold 3. *Nature* + (2024)](https://www.nature.com/articles/s41586-024-07487-w). Para evitar + dúvidas, esse é um requisito adicional à s exigências de aviso definidas + acima. + +4. **Burlem as restrições de acesso relacionadas aos Parâmetros do Modelo, + incluindo usar, compartilhar ou disponibilizar os Parâmetros do Modelo sem + autorização explÃcita do Google.** O Google concederá acesso aos Parâmetros + do Modelo a: + + 1. você, para uso individual em nome da sua organização, sendo proibido + compartilhar sua cópia dos Parâmetros do Modelo com qualquer indivÃduo; + ou + + 2. um representante autorizado da sua organização, com autoridade legal + total para vincular tal organização a estes Termos, sendo permitido + compartilhar a cópia dos Parâmetros do Modelo pertencente a essa + organização com funcionários, consultores, prestadores de serviço e + agentes da organização, conforme autorizado por esse representante. diff --git a/legal/WEIGHTS_TERMS_OF_USE-Bahasa-Indonesia.md b/legal/WEIGHTS_TERMS_OF_USE-Bahasa-Indonesia.md new file mode 100644 index 0000000000000000000000000000000000000000..c39f4de90741f5ed1501daf00a42af3c1da1a47d --- /dev/null +++ b/legal/WEIGHTS_TERMS_OF_USE-Bahasa-Indonesia.md @@ -0,0 +1,309 @@ +# PERSYARATAN PENGGUNAAN PARAMETER MODEL ALPHAFOLD 3 + +Terakhir diubah: 09-11-2024 + +[AlphaFold 3](https://blog.google/technology/ai/google-deepmind-isomorphic-alphafold-3-ai-model/) +adalah model AI yang dikembangkan oleh +[Google DeepMind](https://deepmind.google/) dan +[Isomorphic Labs](https://www.isomorphiclabs.com/). Program ini membuat prediksi +struktur 3D molekul biologis, serta memberikan keyakinan model untuk prediksi +struktur tersebut. Kami membuat parameter model terlatih dan output yang +dihasilkan menggunakan aset yang tersedia tanpa biaya untuk penggunaan +non-komersial tertentu, sehubungan dengan persyaratan penggunaan ini dan +[Kebijakan Penggunaan Terlarang untuk Parameter Model AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/legal/WEIGHTS_PROHIBITED_USE_POLICY-Bahasa-Indonesia.md). + +**Hal penting yang perlu diketahui saat menggunakan parameter dan output model +AlphaFold 3** + +1. Parameter dan output model AlphaFold 3 hanya tersedia untuk penggunaan + non-komersial oleh, atau atas nama, organisasi non-komersial (*yaitu* + universitas, organisasi nonprofit dan institusi riset, serta lembaga + pendidikan, jurnalistik, dan pemerintah). Jika Anda adalah peneliti yang + berafiliasi dengan organisasi non-komersial, dengan syarat Anda bukan + organisasi komersial atau bertindak atas nama organisasi komersial, artinya + Anda dapat menggunakannya untuk riset terafiliasi non-komersial Anda. +2. Anda tidak boleh menggunakan atau mengizinkan orang lain menggunakan: + 1. Parameter atau Output model AlphaFold 3 sehubungan dengan aktivitas + komersial apa pun, termasuk riset atas nama organisasi komersial; atau + 1. Output AlphaFold 3 untuk melatih model machine learning atau teknologi + terkait untuk prediksi struktur biomolekuler yang mirip dengan AlphaFold + 3 +3. Anda *tidak boleh* mempublikasikan atau membagikan parameter model AlphaFold + 3, kecuali membagikannya dalam organisasi Anda sesuai dengan Persyaratan + ini. +4. Anda *dapat* mempublikasikan, membagikan, dan mengadaptasi *output* + AlphaFold 3 sesuai dengan Persyaratan ini, termasuk persyaratan untuk + memberikan pemberitahuan yang jelas atas setiap modifikasi yang Anda buat + dan bahwa penggunaan yang sedang berlangsung atas output AlphaFold 3 dan + turunannya tunduk pada + [Persyaratan Penggunaan Output AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/OUTPUT_TERMS_OF_USE.md). + +Dengan menggunakan, mereproduksi, memodifikasi, menjalankan, mendistribusikan, +atau menampilkan bagian atau elemen apa pun dari Parameter Model (sebagaimana +didefinisikan di bawah) atau menyetujui persyaratan perjanjian ini, Anda setuju +untuk terikat oleh (1) persyaratan penggunaan ini, dan (2) +[Kebijakan Penggunaan Terlarang untuk Parameter Model AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/legal/WEIGHTS_PROHIBITED_USE_POLICY-Bahasa-Indonesia.md) +yang disertakan di sini sebagai referensi (secara kolektif disebut +"**Persyaratan**"), dalam setiap kasus (a) sebagaimana diubah dari waktu ke +waktu sesuai dengan Persyaratan, serta (b) antara Anda dan (i) Google Ireland +Limited, jika Anda berasal dari negara di Wilayah Ekonomi Eropa atau Swiss, atau +(ii) Google LLC, jika Anda berasal dari wilayah lain. + +Anda mengonfirmasi bahwa Anda berwenang baik secara eksplisit maupun implisit +untuk masuk, dan sedang memasuki, ke dalam Persyaratan ini sebagai karyawan yang +mewakili, atau atas nama, organisasi Anda. + +Harap baca Persyaratan ini dengan cermat. Persyaratan ini menetapkan apa yang +dapat Anda harapkan dari kami saat Anda mengakses dan menggunakan Aset AlphaFold +3 (sebagaimana di definisikan di bawah), dan apa yang Google harapkan dari Anda. +Penyebutan "**Anda**" di sini mengacu pada individu atau organisasi yang +menggunakan Aset AlphaFold 3. Penyebutan "**kami**", "**kita**", atau +"**Google**" di sini mengacu pada entitas milik grup perusahaan Google, yaitu +Google LLC beserta afiliasinya. + +## 1. Definisi Penting + +Sebagaimana digunakan dalam Persyaratan ini: + +"**AlphaFold 3**" adalah: (a) kode sumber AlphaFold 3 yang disediakan +[di sini](https://github.com/google-deepmind/alphafold3/) dan yang dilisensikan +berdasarkan persyaratan lisensi Creative Commons +Attribution-NonCommercial-Sharealike 4.0 International (CC-BY-NC-SA 4.0) dan +kode sumber turunan apa pun, serta (b) Parameter Model. + +"**Aset AlphaFold 3**" adalah Parameter dan output Model. + +"**Distribusi**" atau "**Mendistribusikan**" adalah mengirimkan, +mempublikasikan, atau membagikan Output secara publik atau kepada orang lain. + +"**Parameter Model**" adalah bobot dan parameter model terlatih yang disediakan +oleh Google bagi organisasi (atas pertimbangannya sendiri) untuk digunakan +sesuai dengan Persyaratan ini, bersama dengan (a) modifikasi pada bobot dan +parameter tersebut, (b) pekerjaan yang didasarkan pada bobot dan parameter +tersebut, atau (c) kode atau model machine learning lainnya yang menggabungkan, +seluruh atau sebagian, bobot dan parameter tersebut. + +"**Output**" adalah prediksi struktur serta semua informasi tambahan dan +informasi terkait yang disediakan oleh AlphaFold 3 atau penggunaan Parameter +Model, bersama dengan representasi visual, prediksi komputasional, deskripsi, +modifikasi, salinan, atau adaptasi apa pun yang secara substansial berasal dari +Output. + +"**Termasuk**" adalah "**termasuk, tetapi tidak terbatas pada**". + +## 2. Mengakses dan menggunakan Aset AlphaFold 3 + +Dengan tunduk pada kepatuhan Anda terhadap Persyaratan, termasuk +[Kebijakan Penggunaan Terlarang untuk Parameter Model AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/legal/WEIGHTS_PROHIBITED_USE_POLICY-Bahasa-Indonesia.md), +Anda dapat mengakses, menggunakan, dan memodifikasi Aset AlphaFold 3 serta +Mendistribusikan Output sebagaimana ditetapkan dalam Persyaratan ini. Kami +memberi Anda lisensi non-eksklusif, bebas royalti, dapat dibatalkan, tidak dapat +dipindahtangankan, dan tidak dapat disublisensikan (kecuali secara tegas +diizinkan dalam Persyaratan ini) untuk hak atas kekayaan intelektual apa pun +yang kami miliki dalam Aset AlphaFold sejauh diperlukan untuk tujuan ini. Untuk +memverifikasi akses dan penggunaan AlphaFold 3 oleh Anda, kami dapat meminta +Anda memberikan informasi tambahan dari waktu ke waktu, termasuk verifikasi +nama, organisasi, serta informasi identitas Anda lainnya. + +Dengan mengakses, menggunakan, atau memodifikasi Aset AlphaFold 3, +Mendistribusikan Output, atau meminta akses ke Parameter Model, Anda menyatakan +dan menjamin bahwa (a) Anda memiliki kuasa dan wewenang penuh untuk menyetujui +Persyaratan ini (termasuk telah berusia dewasa), (b) Google sebelumnya tidak +pernah menghentikan akses dan hak Anda untuk menggunakan AlphaFold 3 (termasuk +yang disediakan melalui [Server AlphaFold](https://alphafoldserver.com/about)) +karena pelanggaran Anda terhadap persyaratan penggunaan yang berlaku, (c) +menyetujui atau menjalankan hak dan kewajiban Anda berdasarkan Persyaratan ini +tidak akan melanggar hak pihak ketiga mana pun atau perjanjian yang Anda +sepakati dengan pihak ketiga, (d) informasi apa pun yang Anda berikan ke Google +sehubungan dengan AlphaFold 3, termasuk (jika berlaku) untuk meminta akses ke +Parameter Model, sudah benar dan aktual, serta (e) Anda bukan (i) berstatus +warga dari negara yang diembargo, (ii) berstatus menetap di negara yang +diembargo Amerika Serikat, atau (iii) dinyatakan dilarang oleh program sanksi +dan kontrol ekspor yang berlaku untuk mengakses, menggunakan, atau memodifikasi +Aset AlphaFold 3. + +Jika Anda memilih untuk memberikan masukan ke Google, seperti saran untuk +meningkatkan kualitas AlphaFold 3, Anda setuju bahwa informasi tersebut tidak +bersifat rahasia dan eksklusif, serta Google dapat menindaklanjuti masukan Anda +tanpa kewajiban kepada Anda. + +## 3. Pembatasan Penggunaan + +Anda tidak boleh menggunakan Aset AlphaFold 3 apa pun: + +1. untuk penggunaan terbatas yang ditetapkan dalam + [Kebijakan Penggunaan Terlarang untuk Parameter Model AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/legal/WEIGHTS_PROHIBITED_USE_POLICY-Bahasa-Indonesia.md); + atau +2. dengan cara yang melanggar hukum dan peraturan yang berlaku. + +Selama diizinkan oleh hukum dan tanpa membatasi hak kami lainnya, Google berhak +mencabut hak penggunaan Anda, dan (selama memungkinkan) membatasi penggunaan +Aset AlphaFold 3 apa pun yang menurut Google secara wajar melanggar Persyaratan +ini. + +## 4. Output yang Dihasilkan + +Meskipun Anda harus mematuhi Persyaratan ini saat menggunakan Aset AlphaFold 3, +kami tidak akan mengklaim kepemilikan atas Output orisinal yang Anda hasilkan +menggunakan AlphaFold 3. Namun, Anda memahami bahwa AlphaFold 3 dapat +menghasilkan Output yang sama atau mirip untuk beberapa pengguna, termasuk +Google, dan kami berhak mengklaim Output tersebut. + +## 5. Perubahan pada Aset AlphaFold 3 atau Persyaratan ini + +Google dapat menambahkan atau menghapus fungsi atau fitur Aset AlphaFold 3 kapan +saja dan dapat berhenti menawarkan akses ke Aset AlphaFold 3 sepenuhnya. + +Google dapat memperbarui Persyaratan ini dan mekanisme akses untuk Parameter +Model kapan saja. Kami akan memposting setiap perubahan pada Persyaratan +[di repositori GitHub AlphaFold 3](https://github.com/google-deepmind/alphafold3). +Perubahan umumnya akan berlaku 14 hari setelah diposting. Namun, perubahan yang +berkaitan dengan fungsi atau yang dibuat karena alasan hukum akan langsung +berlaku. + +Anda harus meninjau Persyaratan ini setiap kali kami memperbaruinya atau saat +Anda menggunakan Aset AlphaFold 3. Jika Anda tidak menyetujui perubahan pada +Persyaratan, Anda harus segera menghentikan penggunaan Aset AlphaFold 3. + +## 6. Menangguhkan atau menghentikan hak Anda untuk menggunakan Aset AlphaFold 3 + +Google dapat sewaktu-waktu menangguhkan atau menghentikan hak Anda untuk +menggunakan dan mengakses Aset AlphaFold 3 sebagaimana berlaku karena, antara +lain, kegagalan Anda untuk sepenuhnya mematuhi Persyaratan. Jika Google +menangguhkan atau menghentikan hak Anda untuk mengakses atau menggunakan Aset +AlphaFold 3, Anda harus segera menghapus dan menghentikan penggunaan serta +Distribusi semua salinan Aset AlphaFold 3 yang Anda miliki atau kontrol, dan +Anda dilarang menggunakan Aset AlphaFold 3, termasuk mengajukan permohonan untuk +menggunakan Parameter Model. Google akan berupaya memberikan pemberitahuan +sewajarnya kepada Anda sebelum penangguhan atau penghentian tersebut. Namun, +Anda tidak akan menerima pemberitahuan atau peringatan sebelumnya jika +penangguhan atau penghentian tersebut terjadi karena Anda tidak sepenuhnya +mematuhi Persyaratan atau karena alasan serius lainnya. + +Anda tentunya dapat menghentikan penggunaan Aset AlphaFold 3 kapan saja. Jika +Anda berhenti menggunakannya, harap beri tahu kami alasannya (melalui +alphafold@google.com) sehingga kami dapat terus meningkatkan kualitas teknologi +kami. + +## 7. Kerahasiaan + +Anda setuju untuk tidak mengungkapkan atau menyediakan Informasi Rahasia Google +kepada siapa pun tanpa izin tertulis dari kami sebelumnya. "**Informasi Rahasia +Google**" berarti (a) Parameter Model AlphaFold 3 dan semua software, teknologi, +serta dokumentasi yang terkait dengan AlphaFold 3, kecuali kode sumber AlphaFold +3, dan (b) informasi lain apa pun yang disediakan oleh Google yang ditandai +sebagai rahasia atau umumnya dianggap rahasia berdasarkan penyajian informasi +tersebut. Informasi Rahasia Google tidak mencakup (a) informasi yang sudah Anda +ketahui sebelum Anda mengakses atau menggunakan Aset AlphaFold 3 (termasuk +melalui [Server AlphaFold](https://alphafoldserver.com/about)), (b) yang +terungkap ke publik bukan karena kesalahan Anda (misalnya, pelanggaran Anda +terhadap Persyaratan ini), (c) yang Anda kembangkan sendiri tanpa mengacu pada +Informasi Rahasia Google, atau (d) yang diberikan kepada Anda oleh pihak ketiga +sesuai hukum yang berlaku (Tanpa anda atau pihak ketiga tersebut melanggar +Persyaratan). + +## 8. Pernyataan penyangkalan + +Tidak ada di dalam Persyaratan membatasi hak apa pun yang tidak dapat dibatasi +berdasarkan hukum yang berlaku atau membatasi tanggung jawab Google kecuali +sebagaimana diizinkan oleh hukum yang berlaku. + +**AlphaFold 3 dan Output disediakan "apa adanya", tanpa jaminan atau ketentuan +apa pun, baik tersurat maupun tersirat, termasuk jaminan atau ketentuan tentang +kepemilikan, ketiadaan pelanggaran, kelayakan untuk diperdagangkan, atau +kesesuaian untuk tujuan tertentu. Anda bertanggung jawab sepenuhnya untuk +menentukan kesesuaian penggunaan AlphaFold 3, atau penggunaan atau +pendistribusian Output, dan menanggung semua risiko yang terkait dengan +penggunaan atau pendistribusian tersebut serta pelaksanaan hak dan kewajiban +oleh Anda berdasarkan Persyaratan ini. Anda dan siapa pun yang Anda beri Output +bertanggung jawab sepenuhnya atas Output tersebut serta penggunaannya +selanjutnya.** + +**Output merupakan prediksi dengan tingkat keyakinan yang berbeda-beda dan harus +ditafsirkan dengan cermat. Gunakan pertimbangan sebelum mengandalkan, +memublikasikan, mendownload, atau menggunakan AlphaFold 3.** + +**AlphaFold 3 dan Output hanya ditujukan untuk pemodelan teoretis. Aset tersebut +tidak dimaksudkan, divalidasi, atau disetujui untuk penggunaan klinis. Anda +tidak boleh menggunakan AlphaFold 3 atau Output untuk tujuan klinis atau +mengandalkannya untuk saran medis atau profesional lainnya. Konten apa pun +terkait topik tersebut hanya diberikan untuk tujuan informasi dan bukan +merupakan pengganti saran dari profesional yang berkualifikasi.** + +## 9. Kewajiban + +Selama diizinkan hukum yang berlaku, Anda akan melindungi Google serta direktur, +petugas, karyawan, dan kontraktornya terhadap kerugian dari proses hukum pihak +ketiga (termasuk tindakan oleh otoritas pemerintah) yang timbul dari atau +berkaitan dengan penggunaan Aset AlphaFold 3 oleh Anda yang melanggar hukum atau +pelanggaran Anda terhadap Persyaratan. Perlindungan terhadap kerugian ini +mencakup kewajiban atau pengeluaran yang timbul dari klaim, kerugian, kerusakan, +putusan pengadilan, denda, biaya proses pengadilan, dan biaya hukum, kecuali +jika kewajiban atau pengeluaran disebabkan oleh pelanggaran, kelalaian, atau +perbuatan tidak pantas yang disengaja oleh Google. Jika Anda dikecualikan secara +hukum dari tanggung jawab tertentu, termasuk perlindungan terhadap kerugian, +tanggung jawab tersebut tidak berlaku bagi Anda berdasarkan Persyaratan. + +Dalam keadaan apa pun, Google tidak akan bertanggung jawab atas ganti rugi tidak +langsung, ganti rugi khusus, ganti rugi insidental, ganti rugi sebagai +peringatan, ganti rugi sebagai akibat, atau ganti rugi penghukuman, atau +hilangnya keuntungan dalam bentuk apa pun sehubungan dengan Persyaratan atau +Aset AlphaFold 3, meskipun Google telah diberi tahu tentang kemungkinan adanya +ganti rugi tersebut. Total kewajiban kumulatif Google untuk semua klaim yang +timbul dari atau sehubungan dengan Persyaratan atau Aset AlphaFold 3, termasuk +karena kelalaiannya sendiri, dibatasi hingga $500. + +## 10. Ketentuan lainnya + +Secara hukum, Anda memiliki hak tertentu yang tidak dapat dibatasi oleh kontrak +seperti Persyaratan. Persyaratan sama sekali tidak dimaksudkan untuk membatasi +hak tersebut. + +Persyaratan merupakan keseluruhan perjanjian kami terkait penggunaan Aset +AlphaFold 3 oleh Anda dan menggantikan perjanjian sebelumnya atau pada saat yang +sama yang menyangkut penggunaan tersebut. + +Jika ternyata ada ketentuan dalam Persyaratan yang tidak memiliki kekuatan +hukum, ketentuan lainnya dalam Persyaratan akan tetap berlaku dan memiliki +kekuatan hukum penuh. + +## 11. Sengketa + +Hukum California akan mengatur semua sengketa yang timbul dari atau berkaitan +dengan Persyaratan atau sehubungan dengan Aset AlphaFold 3. Sengketa ini akan +diselesaikan secara eksklusif di pengadilan federal atau negara bagian Santa +Clara County, California, Amerika Serikat dan Anda serta Google menyetujui +wilayah hukum pribadi di pengadilan tersebut. Jika hukum setempat yang berlaku +mencegah sengketa tertentu diselesaikan di pengadilan California, Anda dan +Google dapat mengajukan sengketa tersebut di pengadilan setempat Anda. Jika +hukum setempat yang berlaku mencegah pengadilan setempat Anda menerapkan hukum +California untuk menyelesaikan sengketa ini, sengketa ini akan diatur oleh hukum +setempat yang berlaku dari negara, negara bagian, atau tempat tinggal Anda yang +lain. Jika Anda menggunakan Aset AlphaFold 3 atas nama organisasi pemerintah +selain organisasi pemerintah federal Amerika Serikat (dengan ketentuan yang +disebutkan sebelumnya akan berlaku selama diizinkan oleh hukum federal), +Persyaratan ini tidak akan berlaku untuk pengadilan dan hukum yang mengatur. + +Mengingat sifat riset ilmiah, mungkin perlu waktu beberapa saat hingga +pelanggaran terhadap Persyaratan terlihat jelas. Untuk melindungi Anda, Google, +dan Aset AlphaFold 3, selama diizinkan hukum yang berlaku, Anda setuju bahwa: + +1. klaim hukum apa pun terkait Persyaratan atau Aset AlphaFold 3 dapat diajukan + hingga: + 1. tanggal batas waktu berdasarkan hukum yang berlaku untuk mengajukan + klaim hukum; atau + 2. dua tahun sejak tanggal Anda atau Google (sebagaimana berlaku) + mengetahui, atau seharusnya secara wajar mengetahui, fakta yang + menimbulkan klaim tersebut; dan +2. Anda dan Google tidak akan memperdebatkan pembatasan, batas waktu, + penundaan, pelepasan hak, atau sejenisnya dalam upaya untuk menghalangi + gugatan yang diajukan dalam jangka waktu tersebut. + +Semua hak yang tidak secara khusus dan tegas diberikan kepada Anda oleh +Persyaratan menjadi hak milik Google. Penundaan, tindakan, atau kelalaian oleh +Google dalam melaksanakan hak atau upaya hukum apa pun tidak akan dianggap +sebagai pelepasan hak atas pelanggaran terhadap Persyaratan, dan Google secara +tegas memiliki semua hak dan upaya hukum yang tersedia berdasarkan Persyaratan, +hukum, ekuitas, atau lainnya, termasuk upaya hukum yang menyangkut penyelesaian +dengan perintah pengadilan atas setiap ancaman atau pelanggaran nyata terhadap +Persyaratan tanpa perlu membuktikan kerugian yang sebenarnya. diff --git a/legal/WEIGHTS_TERMS_OF_USE-Espanol-Latinoamerica.md b/legal/WEIGHTS_TERMS_OF_USE-Espanol-Latinoamerica.md new file mode 100644 index 0000000000000000000000000000000000000000..e2cbd2407d3158f665d87507aaba7b3aa55526b8 --- /dev/null +++ b/legal/WEIGHTS_TERMS_OF_USE-Espanol-Latinoamerica.md @@ -0,0 +1,313 @@ +# CONDICIONES DE USO DE LOS PARÃMETROS DEL MODELO ALPHAFOLD 3 + +Última modificación: 9 de noviembre de 2024 + +[AlphaFold 3](https://blog.google/technology/ai/google-deepmind-isomorphic-alphafold-3-ai-model/) +es un modelo de IA desarrollado por [Google DeepMind](https://deepmind.google/) +y por [Isomorphic Labs](https://www.isomorphiclabs.com/). Genera predicciones de +estructuras 3D de moléculas biológicas, lo que proporciona confianza del modelo +para las predicciones de estructuras. Creamos los parámetros del modelo +entrenado y los resultados generados y los ponemos a disposición sin costo para +determinados usos no comerciales de conformidad con las condiciones de uso y la +[PolÃtica de Uso Prohibido de los Parámetros del Modelo AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/legal/WEIGHTS_PROHIBITED_USE_POLICY-Espanol-Latinoamerica.md). + +**Puntos clave para tener en cuenta al usar los parámetros y los resultados del +modelo AlphaFold 3** + +1. Los parámetros y los resultados del modelo AlphaFold 3 solo están + disponibles para usos no comerciales de organizaciones no comerciales (*es + decir*, universidades, organizaciones sin fines de lucro, instituciones de + investigación y organismos educativos, periodÃsticos y gubernamentales), o + bien en su nombre. Si usted es un investigador afiliado de una organización + no comercial, en la medida en que no pertenezca a una organización comercial + ni actúe en nombre de una, puede usar estos recursos para su investigación + de afiliación no comercial. + 1. No debe utilizar ni permitir que otros utilicen AlphaFold 3 ni sus + parámetros o resultados en los siguientes casos: + 2. En conexión con cualquier actividad comercial, incluidas investigaciones + en nombre de organizaciones comerciales +2. Para entrenar modelos de aprendizaje automático, o bien tecnologÃas + relacionadas para la predicción de estructuras biomoleculares, similares a + AlphaFold 3 +3. No *debe* publicar ni compartir los parámetros del modelo AlphaFold 3, + excepto dentro de su organización, de acuerdo con estas Condiciones. +4. Puede publicar, compartir y adaptar los *resultados* de AlphaFold 3 de + conformidad con estas Condiciones, que incluyen el requisito de brindar un + aviso claro de que cualquier modificación que haga y el uso continuo de los + resultados de AlphaFold 3 y sus derivaciones están sujetas a las + [Condiciones de Uso de los Resultados de AlphaFold](https://github.com/google-deepmind/alphafold3/blob/main/OUTPUT_TERMS_OF_USE.md). + +Al usar, reproducir, modificar, realizar, distribuir o mostrar cualquier porción +o elemento de los Parámetros del Modelo (como se definen a continuación), o bien +al aceptar las condiciones de este acuerdo, usted se compromete a cumplir con lo +siguiente: (1) estas Condiciones de Uso y (2) la +[PolÃtica de Uso Prohibido de los Parámetros del Modelo AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/legal/WEIGHTS_PROHIBITED_USE_POLICY-Espanol-Latinoamerica.md), +que se incorpora por referencia en este documento (en conjunto, las +"**Condiciones**"), en cada caso, (a) según las modificaciones ocasionales que +se hagan de acuerdo con las Condiciones y (b) entre usted y (i) si es de un paÃs +del Espacio Económico Europeo o Suiza, Google Ireland Limited o (ii) en +cualquier otro caso, Google LLC. + +Confirma que tiene la autorización explÃcita o implÃcita para celebrar, y está +celebrando, las Condiciones como empleado o de otra manera en nombre de su +organización. + +Lea cuidadosamente estas Condiciones. En ellas, se establece lo que usted puede +esperar de nosotros cuando usa los Recursos de AlphaFold 3, como se describen a +continuación, y lo que Google espera de usted. Cuando decimos "**usted**", +hacemos referencia al individuo o la organización que usa los Recursos de +AlphaFold 3. Cuando decimos "**nosotros**" o "**Google**", hacemos referencia a +las entidades que pertenecen al grupo de empresas de Google, que comprende a +Google LLC y sus afiliadas. + +## 1. Definiciones clave + +Según su uso en estas Condiciones: + +"**AlphaFold 3**" significa: (a) el código fuente de AlphaFold 3 disponible +[aquÃ](https://github.com/google-deepmind/alphafold3/) y con licencia en virtud +de las condiciones de la Atribución/Reconocimiento-NoComercial-CompartirIgual +4.0 Internacional (CC-BY-NC-SA 4.0) de Creative Commons, y cualquier código +fuente derivado, y (b) los Parámetros del Modelo. + +"**Recursos de AlphaFold 3**" hace referencia a los Resultados y los Parámetros +del Modelo. + +"**Distribución" o "Distribuir**" incluye cualquier transmisión, publicación y +otras instancias en las que se comparten los Resultados de manera pública o a +otra persona. + +"**Parámetros del Modelo**" hace referencia a las ponderaciones y los parámetros +del modelo entrenado, que Google pone a disposición para las organizaciones (a +su entera discreción) para su uso de acuerdo con estas Condiciones, junto con +(a) las modificaciones a esas ponderaciones y parámetros, (b) los trabajos +basados en esas ponderaciones y parámetros, o bien (c) otros modelos de +aprendizaje automático y código que incorporan, en su totalidad o en parte, +estos parámetros y ponderaciones. + +"**Resultados**" hace referencia a las predicciones de estructura y toda la +información adicional y relacionada que brinda AlphaFold 3 o el uso de los +Parámetros del Modelo, además de toda representación visual, predicción +computacional, descripción, modificación, copia o adaptación que esté +sustancialmente derivada de los Resultados. + +"**Lo que incluye**" significa "**incluido, sin limitarse a ello**". + +## 2. Acceso y uso de los Recursos de AlphaFold 3 + +Sujeto al cumplimiento de estas Condiciones, lo que incluye la +[PolÃtica de Uso Prohibido de los Parámetros del Modelo AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/legal/WEIGHTS_PROHIBITED_USE_POLICY-Espanol-Latinoamerica.md), +puede acceder a los Recursos de AlphaFold 3, usarlos y modificarlos, y +Distribuir los Resultados como se define en estas Condiciones. Le otorgamos una +licencia no exclusiva, libre de regalÃas, revocable, no transferible y no +susceptible de someterse a otras licencias (excepto como se indica expresamente +en estas Condiciones) respecto de cualquier derecho de propiedad intelectual que +tengamos sobre los Recursos de AlphaFold en la medida necesaria para estos +propósitos. Para verificar su acceso a AlphaFold 3 y el uso correspondiente, +podrÃamos solicitarle ocasionalmente información adicional sobre usted, ya sea +que verifique su nombre, su organización o cualquier otra información +identificatoria. + +Al acceder a los Recursos de AlphaFold 3 y usarlos o modificarlos, asà como al +Distribuir Resultados o solicitar acceso a los Parámetros del Modelo, manifiesta +y garantiza que (a) tiene plenas facultades y atribuciones para celebrar estas +Condiciones (lo que incluye tener la edad de consentimiento), (b) Google nunca +rescindió en el pasado su acceso a AlphaFold 3 ni su derecho de uso (lo que +incluye su disponibilidad a través de +[AlphaFold Server](https://alphafoldserver.com/about)) debido a su +incumplimiento de las Condiciones de Uso correspondientes, (c) el cumplimiento +de estas Condiciones o el ejercicio de sus derechos y obligaciones no infringirá +ningún acuerdo que tenga con un tercero ni ningún derecho de terceros, (d) +cualquier información que usted proporcione a Google en relación con AlphaFold +3, incluida la necesaria (cuando corresponda) para solicitar acceso a los +Parámetros del Modelo, es correcta y actual, y (e) usted no (i) es residente de +un paÃs bajo embargo, (ii) es residente de un paÃs bajo el embargo de EE.UU. ni +(iii) tiene prohibiciones a través de controles de exportación aplicables y +programas de sanción el acceso a los Recursos de AlphaFold 3, asà como su uso y +modificación. + +Si decide enviarle comentarios a Google, como sugerencias para mejorar AlphaFold +3, asegura que esa información no es confidencial ni de su propiedad, y que +Google puede actuar respecto de sus comentarios sin tener ninguna obligación con +usted. + +## 3. Restricciones de uso + +No debe usar ninguno de los Recursos de AlphaFold 3 en los siguientes casos: + +1. Los usos restringidos establecidos en la + [PolÃtica de Uso Prohibido de los Parámetros del Modelo AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/legal/WEIGHTS_PROHIBITED_USE_POLICY-Espanol-Latinoamerica.md) + +2. En incumplimiento de las leyes y reglamentaciones aplicables + +En el sentido más amplio permitido por la ley y sin limitar ninguno de nuestros +otros derechos, Google se reserva el derecho de revocar su derecho de usar y (en +la medida que sea viable) restringir el uso de cualquiera de los Recursos de +AlphaFold 3 que Google razonablemente cree que infringe estas Condiciones. + +## 4. Resultados generados + +Aunque debe cumplir con estas Condiciones cuando usa los Recursos de AlphaFold +3, no reclamaremos la propiedad de los Resultados originales que genere usando +AlphaFold 3. Sin embargo, usted reconoce que AlphaFold 3 puede generar los +mismos Resultados, o bien otros similares, para varios usuarios, incluido +Google, y nos reservamos todos nuestros derechos al respecto. + +## 5. Cambios en los Recursos de AlphaFold 3 o estas Condiciones + +Google podrÃa agregar o quitar funciones de los Recursos de AlphaFold 3 en +cualquier momento, y también podrÃa quitar por completo el acceso a los Recursos +de AlphaFold 3. + +Google podrÃa actualizar estas Condiciones y el mecanismo de acceso a los +Parámetros del Modelo en cualquier momento. Publicaremos cualquier modificación +a las Condiciones +[en el repositorio de GitHub de AlphaFold 3](https://github.com/google-deepmind/alphafold3). +En general, los cambios entrarán en vigencia 14 dÃas después de su publicación. +Sin embargo, los cambios relacionados con funciones o realizados por motivos +legales entrarán en vigencia de inmediato. + +DeberÃa revisar las Condiciones siempre que realicemos actualizaciones o que use +los Recursos de AlphaFold 3. Si no está de acuerdo con las modificaciones de las +Condiciones, debe dejar de usar los Recursos de AlphaFold 3 de inmediato. + +## 6. Suspensión o rescisión de su derecho de uso de los Recursos de AlphaFold 3 + +Google puede, en cualquier momento, suspender o rescindir su derecho de uso y, +según corresponda, acceso a los Recursos de AlphaFold 3 debido a, entre otros +motivos, su incumplimiento de estas Condiciones. Si Google suspende o rescinde +su derecho de acceso o uso de los Recursos de AlphaFold 3, debe borrarlos y +dejar de usar y Distribuir todas las copias correspondientes que tenga en su +posesión o control, y se le prohibirá usar los Recursos de AlphaFold 3, lo que +incluye el envÃo de solicitudes para usar los Parámetros del Modelo. Google +tratará de darle un aviso con una antelación razonable antes de cualquier +suspensión o rescisión, pero no se le dará ningún aviso ni advertencia previos +si la suspensión o rescisión se deben a su incumplimiento de las Condiciones o +alguna otra razón grave. + +Tenga en cuenta que puede dejar de usar los Recursos de AlphaFold 3 cuando lo +desee. Si los deja de usar, le agradecerÃamos saber el motivo (a través de +alphafold@google.com) para que podamos continuar mejorando nuestras tecnologÃas. + +## 7. Confidencialidad + +Usted acepta no divulgar ni poner a disposición Información Confidencial de +Google sin obtener nuestro previo consentimiento por escrito. "Información +Confidencial de Google" hace referencia a (a) los Parámetros del Modelo +AlphaFold 3 y todo el software, la tecnologÃa y la documentación relacionada con +AlphaFold 3, excepto el código fuente de AlphaFold 3, y (b) cualquier otra +información que Google ponga a disposición y se marque como confidencial o que +normalmente se considerarÃa confidencial en las circunstancias en las que se +presenta. La Información Confidencial de Google no incluye (a) información que +usted ya conocÃa antes de acceder a los Recursos de AlphaFold 3 o de usarlos +(que se incluye a través de +[AlphaFold Server](https://alphafoldserver.com/about)), (b) información que se +comparte de manera pública por una razón que no lo responsabiliza (por ejemplo, +su incumplimiento de las Condiciones), (c) información que usted desarrolló de +manera independiente sin hacer referencia a la Información Confidencial de +Google, o (d) información que recibió de manera legal de parte de un tercero +(sin que usted o ese tercero hayan incumplido las Condiciones). + +## 8. Renuncias de responsabilidad + +Ninguna disposición de las Condiciones restringe ningún derecho que no pueda +restringirse en función de la ley aplicable ni limita las responsabilidades de +Google, excepto según lo que permite la ley aplicable. + +**AlphaFold 3 y los Resultados se brindan "tal cual son", sin garantÃas de +ningún tipo, ya sean explÃcitas o implÃcitas, lo que incluye garantÃas o +condiciones de titularidad, no incumplimiento, comerciabilidad o adecuación para +un propósito particular. Usted es el único responsable de determinar la +idoneidad del uso de AlphaFold 3, o bien del uso o la distribución de los +Resultados, y asume todos los riesgos asociados con ese uso o distribución y su +ejercicio de los derechos y las obligaciones según estas Condiciones. Usted y +todas las personas con quienes comparta los Resultados serán los únicos +responsables de estos usos y sus usos posteriores.** + +**Los Resultados son predicciones con diversos niveles de confianza y deberÃan +interpretarse con cuidado. Sea prudente antes de basarse en el contenido de +AlphaFold 3, o bien publicarlo, descargarlo o usarlo de cualquier otro modo.** + +**AlphaFold 3 y los Resultados deben usarse únicamente para el modelado teórico. +No están pensados, validados ni aprobados para uso clÃnico. No debe usar +AlphaFold 3 ni los Resultados con fines clÃnicos, ni basarse en ellos para dar +consejos médicos ni de Ãndole profesional. Cualquier contenido relacionado con +esos temas se proporciona solo con fines informativos y no sustituye el +asesoramiento de un profesional calificado.** + +## 9. Responsabilidades + +En la medida en que lo permita la legislación aplicable, usted indemnizará a +Google y sus directores, funcionarios, empleados y contratistas por cualquier +procedimiento legal de terceros (incluidas las acciones de las autoridades +gubernamentales) que surja de su uso ilegal de los Recursos de AlphaFold 3 o del +incumplimiento de estas Condiciones. Esta indemnización cubrirá cualquier +responsabilidad o gasto que surja a partir de reclamos, pérdidas, daños, +juicios, multas, costos de litigios y honorarios legales, excepto en la medida +en que una responsabilidad o un gasto sean causados por un incumplimiento, +negligencia o conducta inapropiada voluntaria por parte de Google. Si en su caso +se aplica una exención legal de ciertas responsabilidades, lo que incluye la +indemnización, no deberá hacerse cargo de estas responsabilidades según estas +Condiciones. + +En ningún caso Google será responsable de daños indirectos, especiales, +incidentales, ejemplares, resultantes ni punitivos, ni de la pérdida de +ganancias de ningún tipo en conexión con estas Condiciones o los Recursos de +AlphaFold 3, incluso si se le advirtió sobre la posibilidad de dichos daños. La +responsabilidad conjunta de Google por todos los reclamos que surjan en conexión +con estas Condiciones o los Recursos de AlphaFold 3, lo que incluye los que +surjan de su propia negligencia, se limita a USD 500. + +## 10. Varios + +Por ley, tiene ciertos derechos que no pueden estar limitados por un contrato, +como estas Condiciones. Las Condiciones no tienen la intención de restringir +esos derechos. + +Las Condiciones son nuestro acuerdo completo relacionado con su uso de los +AlphaFold 3 y sustituyen cualquier acuerdo anterior o contemporáneo sobre la +materia. + +Si cualquier disposición de estas Condiciones resultase inejecutable, el resto +seguirá plenamente en vigencia. + +## 11. Disputas + +La ley de California regirá todas las disputas que surjan de las Condiciones o +en conexión con los Recursos de AlphaFold 3. Estas disputas se resolverán +exclusivamente en los tribunales federales o estatales del Condado de Santa +Clara, California, EE.UU., y usted y Google aceptan someterse a la jurisdicción +personal de dichos tribunales. En la medida en que la ley local aplicable impida +que ciertas disputas se resuelvan en un tribunal de California, usted y Google +pueden presentarlas en los tribunales locales de su jurisdicción. Si la ley +local aplicable impide que su tribunal local aplique la ley de California para +resolver las disputas, estas se regirán por las leyes locales aplicables de su +paÃs, estado o lugar de residencia. Si usará los Recursos de AlphaFold 3 en +nombre de una organización gubernamental que no sea del gobierno federal de +Estados Unidos (donde se aplican las disposiciones mencionadas anteriormente en +la medida en que la ley federal lo permita), estas Condiciones no se aplicarán +en relación con la ley aplicable y los tribunales. + +Dada la naturaleza de la investigación cientÃfica, el incumplimiento de las +Condiciones puede tardar algún tiempo en hacerse evidente. Para protegerlo a +usted, y proteger a Google y a los Recursos de AlphaFold 3, en la medida en que +lo permita la ley aplicable, usted acepta lo siguiente: + +1. Cualquier demanda legal relacionada con las Condiciones o los Recursos de + AlphaFold 3 podrá iniciarse hasta la fecha posterior de lo siguiente: + 1. la fecha lÃmite que establece la ley aplicable para interponer una + demanda legal; o + 2. dos años a partir de la fecha en que usted o Google (según corresponda) + tomaron conocimiento, o debieron haber tomado conocimiento + razonablemente, de los hechos que dieron lugar a dicha demanda, y +2. Ni usted ni Google alegarán prescripción, caducidad, demora, renuncia o + similares para intentar impedir una acción presentada dentro de ese perÃodo. + +Todos los derechos que no se le otorguen especÃfica y expresamente en las +Condiciones quedan reservados a Google. Ninguna demora, omisión o acto de Google +en el ejercicio de cualquier derecho o recurso se considerará una renuncia de +cualquier incumplimiento de las Condiciones y Google se reserva expresamente +todos los derechos y recursos disponibles según las Condiciones, la ley, por +acuerdo implÃcito o de cualquier otro modo, lo que incluye el recurso de medida +cautelar contra cualquier amenaza o hecho de infracción de las Condiciones sin +la necesidad de mostrar daños reales. diff --git a/legal/WEIGHTS_TERMS_OF_USE-Francais-Canada.md b/legal/WEIGHTS_TERMS_OF_USE-Francais-Canada.md new file mode 100644 index 0000000000000000000000000000000000000000..bacdc18a80984228abfd640211c29b9edf46cad0 --- /dev/null +++ b/legal/WEIGHTS_TERMS_OF_USE-Francais-Canada.md @@ -0,0 +1,324 @@ +# CONDITIONS D'UTILISATION DES PARAMÈTRES DU MODÈLE ALPHAFOLD 3 + +Dernière modification: 2024-11-09 + +[AlphaFold 3](https://blog.google/technology/ai/google-deepmind-isomorphic-alphafold-3-ai-model/) +est un modèle d'IA développé par [Google DeepMind](https://deepmind.google/) et +[Isomorphic Labs](https://www.isomorphiclabs.com/). Il génère des prédictions de +structures 3D de molécules biologiques en fournissant la confiance du modèle +pour les prédictions de structures. Pour certaines utilisations non +commerciales, nous mettons gratuitement à disposition les paramètres du modèle +entraîné et les résultats générés à l'aide de ces paramètres, conformément aux +présentes conditions d'utilisation et à la +[Politique d'utilisation interdite des paramètres du modèle AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/legal/WEIGHTS_PROHIBITED_USE_POLICY-Francais-Canada.md). + +**Éléments clés à connaître lors de l'utilisation des paramètres du modèle +AlphaFold 3 et les résultats** + +1. Les paramètres du modèle AlphaFold 3 et les résultats sont **uniquement** + disponibles pour un usage non commercial par des organisations non + commerciales ou au nom de celles-ci (*c.-à -d.* universités, organismes sans + but lucratif, instituts de recherche et organismes éducatifs, + journalistiques et gouvernementaux). Si vous êtes un chercheur affilié à une + organisation non commerciale, **à la condition que vous ne soyez pas une + organisation commerciale ou que vous n'agissiez pas au nom d'une + organisation commerciale**, cela signifie que vous pouvez les utiliser pour + votre recherche affiliée non commerciale. +2. Vous **ne devez pas** utiliser ni permettre à d'autres personnes d'utiliser: + 1. les paramètres du modèle AlphaFold 3 ou les résultats dans le cadre de + **toute activité commerciale, y compris la recherche au nom + d'organisations commerciales**; ou + 2. les résultats d'AlphaFold 3 pour **entraîner des modèles d'apprentissage + automatique** ou une technologie connexe de **prédiction de structures + biomoléculaires** semblable à AlphaFold 3. +3. Vous ***ne devez pas* publier ni partager les paramètres du modèle AlphaFold + 3**, sauf si vous les partagez au sein de votre organisation conformément + aux présentes Conditions. +4. Vous ***pouvez* publier, partager ou adapter les *résultats* d'AlphaFold 3** + conformément aux présentes Conditions, y compris à l'exigence de fournir un + préavis clair de toute modification que vous apportez et à celle stipulant + que l'utilisation continue des résultats et des Å“uvres dérivées d'AlphaFold + 3 est soumise aux + C[onditions d'utilisation des résultats d'AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/OUTPUT_TERMS_OF_USE.md). + +En utilisant, reproduisant, modifiant, exécutant, distribuant ou affichant toute +portion ou tout élément des Paramètres du modèle (comme défini ci-dessous) ou en +acceptant autrement les conditions de ce contrat, vous acceptez d'être lié par +(1) ces conditions d'utilisation et (2) la +[Politique d'utilisation interdite des paramètres du modèle AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/legal/WEIGHTS_PROHIBITED_USE_POLICY-Francais-Canada.md) +qui est incorporée aux présentes par référence (collectivement, les « Conditions +»), dans chaque cas (a) tel que modifié de temps à autre conformément aux +Conditions et (b) entre vous et (i) si vous êtes d'un pays de l'Espace +économique européen ou de la Suisse, Google Ireland Limited, ou (ii) autrement, +Google LLC. + +Vous confirmez que vous êtes autorisé, soit explicitement ou implicitement, à +accepter les Conditions et que vous les acceptez, en tant qu'employé ou +autrement, au nom de votre organisation. + +Veuillez lire ces Conditions attentivement. Elles établissent ce à quoi vous +pouvez vous attendre de nous lorsque vous accédez aux Éléments d'AlphaFold 3 et +que vous les utilisez (comme défini ci-dessous), et ce à quoi Google s'attend de +vous. Par « **vous** », nous entendons l’individu ou l'organisation qui utilise +les Éléments d'AlphaFold 3. Par « **nous** », « **notre** » ou « **Google** », +nous entendons les entités qui appartiennent au groupe d'entreprises Google, +c'est-à -dire Google LLC et ses filiales. + +## 1. Définitions clés + +Telle qu’utilisées dans ces Conditions: \ +« **AlphaFold 3** » désigne: (a) le code source d'AlphaFold 3 rendu accessible +[ici](https://github.com/google-deepmind/alphafold3/) et sous les conditions de +la licence « Creative Commons Attribution-NonCommercial-Sharealike 4.0 +International (CC-BY-NC-SA 4.0) » ainsi que tout code source d'Å“uvres dérivées +et (b) les Paramètres du modèle. + +« **Éléments d'AlphaFold 3** » signifie les Paramètres du modèle et les +Résultats. + +« **Distribution** » ou « **Distribuer** » signifient toute transmission, +publication ou tout autre partage de Résultats effectués publiquement ou avec +une autre personne. + +« **Paramètres du modèle** » désigne les poids du modèle entrainé et paramètres +mis à disposition par Google pour les organisations (à sa seule discrétion) pour +leur utilisation conformément à ces Conditions, ainsi que (a) les modifications +apportées à ces poids et paramètres (b) les travaux basés sur ces poids et +paramètres ou (c) tout autre code ou tout autre modèle d'apprentissage +automatique qui intègre, en totalité ou en partie, ces poids et paramètres. + +« **Résultats** » désigne les prédictions de structures et toutes les +informations auxiliaires et connexes fournies par AlphaFold 3 ou utilisant les +Paramètres du modèle ainsi que toutes les représentations visuelles, les +prédictions informatiques, les descriptions, les modifications, les copies ou +les adaptations qui sont substantiellement dérivées des Résultats. + +« **Y compris** » signifie « **y compris, sans s'y limiter** ». + +## 2. Accéder aux Éléments d'AlphaFold 3 et les utiliser + +Sous réserve de votre conformité aux Conditions, y compris la +P[olitique d'utilisation interdite des paramètres du modèle AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/legal/WEIGHTS_PROHIBITED_USE_POLICY-Francais-Canada.md), +vous pouvez accéder aux Éléments d'AlphaFold 3, les utiliser et les modifier, et +Distribuer les Résultats comme indiqué dans ces Conditions. Nous vous accordons +une licence non exclusive, libre de redevances, révocable, non transférable et +non susceptible de faire l'objet d'une sous-licence (sauf si expressément permis +dans ces Conditions) sur tout droit de propriété intellectuelle que nous +détenons sur les Éléments d'AlphaFold, dans la mesure nécessaire à ces fins. +Afin de vérifier votre accès à AlphaFold 3 et votre utilisation de celui-ci, +nous pouvons de temps à autre vous demander des informations supplémentaires, y +compris la validation de votre nom, de votre organisation et d'autres +informations d'identification. + +En accédant aux Éléments d'AlphaFold 3, en les utilisant ou en les modifiant, en +Distribuant des Résultats ou en demandant l'accès aux Paramètres du modèle, vous +déclarez et garantissez que (a) vous avez les pleins pouvoirs et l'autorité +nécessaire pour accepter ces Conditions (y compris avoir l'âge de consentement +requis) (b) Google n'a jamais précédemment résilié votre accès à AlphaFold 3 ni +votre droit de l'utiliser (y compris au moyen du +[Serveur AlphaFold](https://alphafoldserver.com/about)) en raison de votre +violation des conditions d'utilisation applicables (c) l'acceptation de ces +Conditions ou l'exécution de vos droits et obligations en vertu de ces +Conditions ne violera aucun contrat que vous avez avec un tiers ni aucun droit +d'un tiers (d) toute information que vous fournissez à Google en relation avec +AlphaFold 3, y compris (le cas échéant) pour demander l'accès aux Paramètres du +modèle, est correcte et à jour, et (e) vous n'êtes pas (i) résident d'un pays +soumis à un embargo (ii) habituellement résident d'un pays sous embargo +américain ni (iii) autrement soumis à une interdiction, par les contrôles +d'exportation et les programmes de sanctions applicables, d'accéder aux Éléments +d'AlphaFold 3, de les utiliser ou de les modifier. + +Si vous choisissez de donner des commentaires à Google, comme des suggestions +pour améliorer AlphaFold 3, vous vous engagez à ce que ces informations soient +non confidentielles et non propriétaire, et Google pourra agir en fonction de +vos commentaires sans aucune obligation envers vous. + +## 3. Restrictions d'utilisation + +Vous ne devez pas utiliser les Éléments d'AlphaFold 3: + +1. pour les utilisations restreintes énoncées dans la + P[olitique d'utilisation interdite des paramètres du modèle AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/legal/WEIGHTS_PROHIBITED_USE_POLICY-Francais-Canada.md); +2. en violation des lois et règlements applicables. + +Dans toute la mesure permise par la loi et sans limiter aucun de nos autres +droits, Google se réserve le droit de révoquer votre droit d'utilisation et +(dans la mesure du possible) de restreindre l'utilisation de tout Élément +d'AlphaFold 3 que Google estime raisonnablement être en violation de ces +Conditions. + +## 4. Résultats générés + +Bien que vous deviez respecter ces Conditions lors de l'utilisation des Éléments +d'AlphaFold 3, nous ne revendiquerons pas la propriété des Résultats d'origine +que vous générez en utilisant AlphaFold 3. Cependant, vous reconnaissez +qu'AlphaFold 3 peut générer les mêmes Résultats ou des Résultats semblables pour +plusieurs utilisateurs, y compris Google, et nous nous réservons tous nos droits +à cet égard. + +## 5. Modifications aux Éléments d'AlphaFold 3 ou aux présentes Conditions + +Google peut ajouter ou retirer des fonctions ou fonctionnalités des Éléments +d'AlphaFold 3 à tout moment et peut cesser d'offrir l'accès aux Éléments +d'AlphaFold 3. + +Google peut mettre à jour ces Conditions et le mécanisme d'accès aux Paramètres +du modèle à tout moment. Nous allons publier toute modification apportée aux +Conditions +[dans le référentiel GitHub d'AlphaFold 3](https://github.com/google-deepmind/alphafold3). +Les modifications entreront généralement en vigueur 14 jours après leur +publication. Cependant, les modifications concernant la fonctionnalité ou celles +apportées pour des raisons juridiques entreront en vigueur immédiatement. + +Vous devriez revoir les Conditions chaque fois que nous les mettons à jour ou +que vous utilisez les Éléments d'AlphaFold 3. Si vous n'acceptez pas les +modifications apportées aux Conditions, vous devez cesser d'utiliser les +Éléments d'AlphaFold 3 immédiatement. + +## 6. Suspendre ou résilier votre droit d'utiliser les Éléments d'AlphaFold 3 + +Google peut à tout moment suspendre ou résilier votre droit d'utiliser les +Éléments d'AlphaFold 3 et, le cas échéant, d'y accéder pour différentes raisons, +notamment votre manquement à respecter entièrement les présentes Conditions. Si +Google suspend ou résilie votre droit d'accéder aux Éléments d'AlphaFold 3 ou de +les utiliser, vous devez immédiatement supprimer toutes les copies des Éléments +d'AlphaFold 3 en votre possession ou sous votre contrôle et cesser de les +utiliser et de les Distribuer, et il vous est interdit d'utiliser les Éléments +d'AlphaFold 3, y compris en soumettant une demande pour utiliser les Paramètres +du modèle. Google s'efforcera de vous donner un préavis raisonnable avant toute +suspension ou résiliation, mais aucun avis ni avertissement préalable ne sera +donné si la suspension ou la résiliation est due à votre manquement à respecter +entièrement les présentes Conditions ou à d'autres motifs sérieux. + +Bien entendu, vous êtes toujours libre de cesser d'utiliser les Éléments +d'AlphaFold 3. Si vous cessez de les utiliser, nous aimerions savoir pourquoi (à +l'adresse alphafold@google.com) afin de pouvoir continuer à améliorer nos +technologies. + +## 7. Confidentialité + +Vous acceptez de ne pas divulguer ni rendre disponibles les renseignements +confidentiels de Google à quiconque sans notre consentement écrit préalable. « +**Renseignements confidentiels de Google** » désigne (a) les Paramètres du +modèle AlphaFold 3 et tous les logiciels, la technologie et la documentation en +lien avec AlphaFold 3, excepté le code source d'AlphaFold 3, et (b) toute autre +information mise à disposition par Google qui est marquée comme confidentielle +ou qui serait normalement considérée comme confidentielle dans les circonstances +dans lesquelles elle est présentée. Les Renseignements confidentiels de Google +n'incluent pas (a) les informations que vous connaissiez déjà avant d'accéder +aux Éléments d'AlphaFold 3 ou de les utiliser (y compris au moyen du +[Serveur AlphaFold](https://alphafoldserver.com/about)) (b) qui deviennent +publiques sans que vous en soyez responsable (par exemple, par votre violation +des Conditions) (c) qui ont été développées indépendamment par vous sans +référence aux Renseignements confidentiels de Google ou (d) qui vous ont été +légalement fournies par un tiers (sans violation des Conditions par vous-même ou +par le tiers). + +## 8. Clauses de non-responsabilité + +Rien dans les Conditions ne restreint les droits qui ne peuvent pas être +restreints en vertu de la loi applicable ni ne limite les responsabilités de +Google, sauf si cela est permis par la loi applicable. + +AlphaFold 3 et les Résultats sont fournis « tels quels », sans garantie ni +condition de quelque nature que ce soit, explicite ou implicite, y compris toute +garantie ou condition de titre, d'absence de violation, de qualité marchande ou +d'adéquation avec un usage particulier. Vous êtes seul responsable de déterminer +la légitimité de l'utilisation d'AlphaFold 3 ou celle de l'utilisation et de la +distribution des Résultats, et vous assumez tous les risques liés à une telle +utilisation ou distribution ainsi qu'à l'exercice de vos droits et obligations +en vertu de ces Conditions. Vous et toute personne avec qui vous partagez des +Résultats êtes les seuls responsables de ces utilisations et de celles qui +s’ensuivent. + +Les Résultats sont des prédictions avec des niveaux de confiance variables et +doivent être interprétés avec prudence. Faites preuve de discernement avant de +vous fier à AlphaFold 3, de le publier, de le télécharger ou de l’utiliser d'une +autre manière. + +AlphaFold 3 et les Résultats sont uniquement destinés à la modélisation +théorique. Ils ne sont pas prévus, validés, ni approuvés pour une utilisation +clinique. Vous ne devez pas utiliser AlphaFold 3 ni les Résultats à des fins +cliniques ni les considérer comme des conseils médicaux ou professionnels. Tout +contenu concernant ces sujets est fourni à titre informatif uniquement et ne +remplace pas les conseils d'un professionnel qualifié. + +## 9. Responsabilités + +Dans la mesure permise par la loi applicable, vous indemniserez Google et ses +administrateurs, dirigeants, employés et sous-traitants pour toutes poursuites +judiciaires intentées par des tiers (y compris des actions menées par des +autorités gouvernementales) découlant de ou en rapport avec votre utilisation +illégale des Éléments d'AlphaFold 3 ou à votre violation des présentes +Conditions. Cette indemnité couvre toute responsabilité ou charge financière +résultant de réclamations, de pertes, de dommages, de jugements, d'amendes, de +débours et de frais juridiques, sauf dans la mesure où une responsabilité ou une +charge financière est causée par une violation, une négligence ou une inconduite +intentionnelle de Google. Si vous êtes légalement exempté de certaines +responsabilités, y compris l'indemnisation, alors ces responsabilités ne +s'appliquent pas à vous en vertu des présentes Conditions. + +Google n'est pas responsable, en aucun cas, des dommages-intérêts indirects, +spéciaux, accessoires, exemplaires, consécutifs ou punitifs ni des pertes de +profits de quelque nature que ce soit en rapport avec les Conditions ou les +Éléments d'AlphaFold 3, même si Google a été informée de la possibilité de tels +dommages. L'obligation globale et totale de Google pour toutes les réclamations +découlant des Conditions ou des Éléments d'AlphaFold 3 ou en lien avec ceux-ci, +y compris pour sa propre négligence, est limitée à 500,00USD. + +## 10. Divers + +Selon la loi, vous avez certains droits qui ne peuvent pas être limités par un +contrat tel que les Conditions. Les présentes Conditions ne visent aucunement à +restreindre ces droits. + +Les Conditions constituent l'intégralité de notre contrat concernant votre +utilisation des Éléments d'AlphaFold 3 et remplacent tous les contrats +antérieurs ou contemporains sur ce sujet. + +Si une disposition particulière des présentes Conditions s'avère inapplicable, +le reste des conditions restera en vigueur. + +## 11. Contestations + +Les lois de la Californie régiront toutes les contestations découlant de ou en +rapport avec ces Conditions ou en lien avec les Éléments d'AlphaFold 3. Ces +contestations seront résolues exclusivement par les tribunaux fédéraux ou +étatiques du comté de Santa Clara, en Californie, aux États-Unis, et vous et +Google consentez à la compétence territoriale de ces tribunaux. Dans la mesure +où la loi locale applicable s'oppose à ce que certaines contestations soient +résolues devant un tribunal de la Californie, vous et Google pouvez les +soumettre à vos tribunaux locaux. Si la loi locale applicable s'oppose à ce que +votre tribunal local applique la loi californienne pour résoudre ces +contestations, elles seront régies par les lois locales applicables de votre +pays, de votre État ou de votre autre lieu de résidence. Si vous utilisez les +Éléments d'AlphaFold 3 au nom d'une organisation gouvernementale autre que les +organisations gouvernementales fédérales américaines (où les dispositions +précédentes s'appliquent dans la mesure permise par la loi fédérale), ces +Conditions seront silencieuses en ce qui concerne la loi applicable et les +tribunaux. + +Considérant la nature de la recherche scientifique, il peut s'écouler un certain +temps avant que toute violation des présentes Conditions devienne évidente. \ +Dans la mesure permise par la loi applicable, pour vous protéger, Google et les +Éléments d'AlphaFold 3, vous acceptez que: + +1. toute réclamation légale liée aux présentes Conditions ou aux Éléments + d'AlphaFold 3 peut être intentée jusqu'à la date la plus tardive entre: + 1. la date limite prévue par la loi applicable pour intenter la réclamation + légale; ou + 2. deux années à partir de la date à laquelle vous ou Google (selon le cas) + avez pris connaissance ou auriez dû raisonnablement prendre connaissance + des faits à l'origine de cette réclamation; et +2. vous n'invoquerez pas la limitation, la prescription, le retard, la + renonciation ou des arguments semblables pour tenter de faire obstacle à une + action intentée dans ce délai et Google non plus. + +Tous les droits qui ne vous sont pas précisément et expressément accordés par +les présentes Conditions sont réservés à Google. Aucun retard, acte ni aucune +omission de la part de Google dans l'exercice d'un droit ou d'un recours ne sera +considéré comme une renonciation à une violation des Conditions, et Google se +réserve expressément tous les droits et recours disponibles en vertu des +Conditions ou de la loi, en équité ou autrement, y compris le recours à une +injonction contre toute menace de violation ou violation réelle des Conditions +sans qu'il soit nécessaire de prouver des dommages réels. diff --git a/legal/WEIGHTS_TERMS_OF_USE-Portugues-Brazil.md b/legal/WEIGHTS_TERMS_OF_USE-Portugues-Brazil.md new file mode 100644 index 0000000000000000000000000000000000000000..2d049dae662c08efdc620a24539c5352fea10dd9 --- /dev/null +++ b/legal/WEIGHTS_TERMS_OF_USE-Portugues-Brazil.md @@ -0,0 +1,299 @@ +# TERMOS DE USO DOS PARÂMETROS DO MODELO ALPHAFOLD 3 + +Última modificação: 2024-11-09 + +O +[AlphaFold 3](https://blog.google/technology/ai/google-deepmind-isomorphic-alphafold-3-ai-model/) +é um modelo de IA desenvolvido pelo [Google DeepMind](https://deepmind.google/) +e pela [Isomorphic Labs](https://www.isomorphiclabs.com/). Ele gera previsões +sobre a estrutura 3D de moléculas biológicas, apresentando a confiança do +modelo. Disponibilizamos os parâmetros do modelo treinado e as saÃdas geradas +por ele sem custo financeiro para determinados usos não comerciais, de acordo +com estes Termos de Uso e com a +[PolÃtica de uso proibido dos parâmetros do modelo AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/legal/WEIGHTS_PROHIBITED_USE_POLICY-Portugues-Brazil.md). + +**Observações importantes sobre o uso dos parâmetros e das saÃdas do modelo +AlphaFold 3** + +1. Os parâmetros e as saÃdas do modelo AlphaFold 3 só estão disponÃveis para + uso não comercial por organizações não comerciais ou em nome delas (*por + exemplo*, universidades, organizações sem fins lucrativos, institutos de + pesquisa e órgãos governamentais, educacionais e de notÃcias). Se você for + um pesquisador afiliado a uma organização não comercial, você tem permissão + para usar esses recursos em sua pesquisa afiliada a organizações sem fins + lucrativos, desde que você não seja uma organização comercial nem esteja + agindo em nome de uma. +2. Não use nem permita que outras pessoas usem: + 1. os parâmetros ou as saÃdas do modelo AlphaFold 3 em relação a qualquer + atividade comercial, incluindo a pesquisa em nome de organizações + comerciais; ou + 2. a saÃda do AlphaFold 3 para treinar modelos de aprendizado de máquina ou + tecnologia relacionada na previsão de estrutura biomolecular semelhante + ao AlphaFold 3. +3. Você *não tem permissão* para publicar ou compartilhar os parâmetros do + modelo AlphaFold 3, exceto compartilhar dentro da sua organização de acordo + com estes Termos. +4. Você *tem permissão* para publicar, compartilhar e adaptar as *saÃdas* do + AlphaFold 3 de acordo com estes Termos, incluindo os requisitos de oferecer + aviso claro de quaisquer modificações e de que o uso contÃnuo das saÃdas e + derivados do modelo estão sujeitos aos + [Termos de Uso das saÃdas do AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/OUTPUT_TERMS_OF_USE.md). + +Ao usar, reproduzir, modificar, realizar, distribuir ou exibir qualquer parte ou +elemento dos Parâmetros do modelo (conforme definido abaixo) ou aceitar de outra +forma os termos deste contrato, você concorda em se vincular (1) a estes Termos +de Uso e (2) à +[PolÃtica de uso proibido dos parâmetros do modelo AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/legal/WEIGHTS_PROHIBITED_USE_POLICY-Portugues-Brazil.md), +incorporada aqui como referência (em conjunto, os "**Termos**"), em cada caso +(a) conforme modificado periodicamente de acordo com os Termos e (b) entre você +e (i), se você for de um paÃs no Espaço Econômico Europeu ou da SuÃça, a Google +Ireland Limited ou (ii), caso contrário, a Google LLC. + +Você confirma que tem autorização explÃcita ou implÃcita para celebrar, e está +celebrando, estes Termos como funcionário ou de outro modo em nome da sua +organização. + +Leia estes Termos com atenção. Eles definem o que você pode esperar de nós ao +acessar e usar os Recursos do AlphaFold 3 (conforme definido abaixo) e o que o +Google espera de você. "**Você**" significa o indivÃduo ou a organização que +está usando os Recursos do AlphaFold 3. "**Nós**", "**nos**" ou "**Google**" +significam as entidades que pertencem ao grupo de empresas do Google, ou seja, a +Google LLC e suas afiliadas. + +## 1. Principais definições + +Conforme usado nestes Termos: + +"**AlphaFold 3**" significa: (a) o código-fonte do AlphaFold 3 disponÃvel +[neste link](https://github.com/google-deepmind/alphafold3/) e licenciado nos +termos da licença Creative Commons Attribution-NonCommercial-Sharealike 4.0 +International (CC-BY-NC-SA 4.0), bem como qualquer código-fonte derivado, e (b) +Parâmetros do modelo. + +"**Recursos do AlphaFold 3**" significam as SaÃdas e os Parâmetros do modelo. + +"**Distribuição**" ou "**Distribuir**" significam qualquer transmissão, +publicação ou outra forma de compartilhamento das SaÃdas publicamente ou com +qualquer outra pessoa. + +"**Parâmetros do modelo**" significam os pesos e os parâmetros do modelo +treinado disponibilizados pelo Google à s organizações (a critério próprio) para +uso de acordo com estes Termos, com (a) modificações nesses pesos e parâmetros, +com (b) trabalhos baseados nesses pesos e parâmetros ou (c) com outros códigos +ou modelos de aprendizado de máquina que incorporam esses pesos e parâmetros na +Ãntegra ou em partes. + +"**SaÃda**" significa as previsões de estrutura e todas as informações +adicionais e relacionadas que são fornecidas pelo AlphaFold 3 ou usam os +Parâmetros do modelo, com quaisquer representações visuais, previsões +computacionais, descrições, modificações, cópias ou adaptações derivadas +consideravelmente da SaÃda. + +"**Incluindo**" significa "**incluindo, sem limitação**". + +## 2. Acesso e uso dos Recursos do AlphaFold 3 + +Sujeito à sua compliance com os Termos, incluindo a +[PolÃtica de uso proibido do AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/legal/WEIGHTS_PROHIBITED_USE_POLICY-Portugues-Brazil.md), +você pode acessar, usar e modificar os Recursos do AlphaFold 3 e Distribuir as +SaÃdas conforme definido nestes Termos. Concedemos a você uma licença não +exclusiva, livre de royalties, revogável, intransferÃvel e não sublicenciável +(exceto conforme expressamente permitido nestes Termos) para todos os nossos +direitos de propriedade intelectual dos Recursos do AlphaFold na medida +necessária para esses fins. Para verificar seu acesso e uso do AlphaFold 3, +podemos solicitar informações adicionais periodicamente, incluindo a verificação +do seu nome, organização e outras informações de identificação. + +Ao acessar, usar ou modificar os Recursos do AlphaFold 3, Distribuir a SaÃda ou +solicitar acesso aos Parâmetros do modelo, você declara e garante que (a) tem +total capacidade legal para celebrar estes Termos (incluindo a idade mÃnima de +consentimento), (b) o Google nunca rescindiu seu acesso e direito de usar o +AlphaFold 3 (incluindo conforme disponibilizado pelo +[Servidor da AlphaFold](https://alphafoldserver.com/about)) devido à sua +violação dos Termos de Uso relevantes, (c) celebrar ou exercer seus direitos e +obrigações de acordo com estes Termos não violará nenhum contrato firmado entre +você e um terceiro ou quaisquer direitos de terceiros, (d) quaisquer informações +que você fornecer ao Google em relação ao AlphaFold 3, incluindo solicitar +acesso aos Parâmetros do modelo (quando aplicável), são verdadeiras e atuais, e +(e) você (i) não é residente de um paÃs embargado, (ii) não é residente +ordinário de um paÃs embargado pelos EUA ou (iii) não tem nenhuma outra +proibição de acessar, usar ou modificar os Recursos do AlphaFold 3 pelos +programas de sanções e controles de exportação aplicáveis. + +Ao optar por dar feedback ao Google, como sugestões para melhorar o AlphaFold 3, +você assume que essas informações não são confidenciais nem reservadas, e +poderemos agir de acordo com seu feedback sem qualquer compromisso com você. + +## 3. Restrições de uso + +Você não tem permissão para usar qualquer Recurso do AlphaFold 3: + +1. para os usos restritos estabelecidos na + [PolÃtica de uso proibido dos Parâmetros do modelo AlphaFold 3](https://github.com/google-deepmind/alphafold3/blob/main/legal/WEIGHTS_PROHIBITED_USE_POLICY-Portugues-Brazil.md); + ou +2. em violação das leis e regulamentações aplicáveis. + +Até o limite permitido pela legislação e sem limitação de quaisquer outros +direitos, o Google reserva o direito de revogar e (até onde possÃvel) restringir +seu uso de qualquer Recurso do AlphaFold 3 que acreditamos razoavelmente violar +estes Termos. + +## 4. SaÃda gerada + +Embora você precise cumprir com estes Termos ao usar os Recursos do AlphaFold 3, +não reivindicaremos propriedade da SaÃda original que você gerar usando o +AlphaFold 3. No entanto, você reconhece que o AlphaFold 3 pode gerar uma SaÃda +igual ou semelhante para vários usuários, incluindo o Google, e reservamos todos +os direitos nesse sentido. + +## 5. Mudanças nos Recursos do AlphaFold 3 ou nestes Termos + +O Google pode adicionar ou remover funcionalidades ou funções dos Recursos do +AlphaFold 3 a qualquer momento e parar de oferecer acesso a elas completamente. + +O Google pode atualizar estes Termos e o mecanismo de acesso aos Parâmetros do +modelo a qualquer momento. Quaisquer modificações nestes Termos serão postadas +[no repositório GitHub do AlphaFold 3](https://github.com/google-deepmind/alphafold3). +Geralmente, as alterações entrarão em vigor 14 dias após a postagem. No entanto, +as alterações relacionadas à funcionalidade ou feitas por motivos jurÃdicos +serão aplicadas imediatamente. + +Consulte os Termos sempre que forem atualizados ou você usar os Recursos do +AlphaFold 3. Se você não concordar com quaisquer modificações nos Termos, pare +de usar os Recursos do AlphaFold 3 imediatamente. + +## 6. Suspensão ou encerramento do seu direito de usar os Recursos do AlphaFold 3 + +O Google pode suspender ou encerrar a qualquer momento seu direito de usar e, +conforme aplicável, acessar os Recursos do AlphaFold 3 devido ao não cumprimento +dos Termos, entre outros motivos. Se o Google suspender ou encerrar seu direito +de acessar ou usar os Recursos do AlphaFold 3, você precisará excluir e parar de +usar e Distribuir imediatamente todas as cópias dos Recursos do AlphaFold 3 em +sua posse ou controle. Você não poderá usar os Recursos do AlphaFold 3, +incluindo o envio de um aplicativo para usar os Parâmetros do modelo. O Google +fará o possÃvel para fornecer aviso prévio razoável antes de qualquer suspensão +ou encerramento, mas não daremos nenhum aviso ou alerta com antecedência se a +suspensão ou o encerramento for por não obedecer totalmente aos Termos ou outras +justificativas graves. + +Você pode parar de usar os Recursos do AlphaFold 3 a qualquer momento. Nesse +caso, queremos saber o motivo (via alphafold@google.com) para continuarmos +melhorando nossas tecnologias. + +## 7. Confidencialidade + +Você concorda em não divulgar nem disponibilizar Informações confidenciais do +Google a qualquer pessoa sem nosso consentimento prévio por escrito. +"**Informações confidenciais do Google**" significam (a) os Parâmetros do modelo +e todo software, tecnologia e documentação associados ao AlphaFold 3, exceto +para o código-fonte do AlphaFold 3, e (b) quaisquer outras informações +disponibilizadas pelo Google que foram marcadas como confidenciais ou que seriam +normalmente consideradas assim nas circunstâncias em que são apresentadas. As +Informações confidenciais do Google não incluem (a) informações que você já +sabia antes do seu acesso ou uso dos Recursos do AlphaFold 3 (incluindo pelo +[Servidor do AlphaFold](https://alphafoldserver.com/about)), (b) que se tornaram +públicas sem sua culpa (por exemplo, sua violação dos Termos), (c) que foram +desenvolvidas de maneira independente por você sem referência à s Informações +confidenciais do Google ou (d) foram fornecidas legalmente a você por um +terceiro (sem que você nem o terceiro violassem os Termos). + +## 8. Exoneração de responsabilidade + +Os Termos não restringem quaisquer direitos que não possam ser restritos de +acordo com a legislação aplicável nem limitam as responsabilidades do Google, +exceto conforme permitido pela legislação aplicável. + +**O AlphaFold 3 e as SaÃdas são fornecidos no estado em que se encontram, sem +garantias ou condições de qualquer tipo, sejam explÃcitas ou implÃcitas, +incluindo quaisquer garantias ou condições de tÃtulo, comercialidade, adequação +para uma finalidade especÃfica e não violação. Você é a única pessoa responsável +por determinar se o uso do AlphaFold 3, ou uso/distribuição das SaÃdas, é +adequado e assume qualquer e todo risco associado a esse uso ou distribuição e +ao exercÃcio dos seus direitos e obrigações de acordo com estes Termos. Você e +qualquer pessoa com quem compartilhar as SaÃdas são exclusivamente responsáveis +por elas e pelos usos subsequentes delas.** + +**As SaÃdas são previsões com nÃveis variados de confiança e devem ser +interpretadas com cuidado. Tenha cautela antes de confiar, publicar, baixar ou +usar de outra forma o AlphaFold 3.** + +**O AlphaFold 3 e as SaÃdas servem apenas para modelagem teórica. Eles não são +destinados, validados nem aprovados para uso clÃnico. Não os use para +finalidades clÃnicas nem conte com eles para aconselhamento médico ou de outra +natureza. Todo conteúdo sobre esses assuntos é fornecido somente para fins +informativos e não substitui a orientação de um profissional qualificado.** + +## 9. Responsabilidades + +Na medida permitida pela lei, você indenizará o Google e os diretores, +executivos, funcionários e prestadores de serviço dele por qualquer processo +judicial de terceiros (incluindo ações de órgãos do governo) decorrente ou +relacionado ao uso ilegal dos Recursos do AlphaFold ou a violações dos Termos. +Essa indenização cobre qualquer responsabilidade ou despesa decorrente de ações +judiciais, perdas, danos, julgamentos, multas, custos de litÃgios e honorários +jurÃdicos, exceto se a responsabilidade ou despesa for causada por violação, +negligência ou má conduta intencional do Google. Se você for passÃvel de isenção +legal de certas responsabilidades, incluindo indenização, essas +responsabilidades não se aplicarão a você de acordo com os Termos. + +Em hipótese alguma o Google será responsável por quaisquer danos indiretos, +especiais, incidentais, exemplares, emergentes ou punitivos ou por perdas de +lucros de qualquer tipo em relação aos Termos ou aos Recursos do AlphaFold 3, +mesmo se o Google tiver sido advertido da possibilidade de tais danos. A +responsabilidade agregada total do Google para todas as ações judiciais +decorrentes de ou relacionadas aos Termos ou aos Recursos do AlphaFold 3, +incluindo pela nossa negligência, é limitada a US$ 500. + +## 10. Disposições gerais + +Por lei, você tem certos direitos que não podem ser limitados por um contrato +como os Termos. Os Termos não têm, de forma alguma, o objetivo de restringir +esses direitos. + +Os Termos constituem a integralidade do nosso contrato relacionado ao seu uso +dos Recursos do AlphaFold 3 e substituem quaisquer contratos anteriores ou +contemporâneos sobre esse assunto. + +Se uma disposição especÃfica dos Termos não for aplicável, o saldo dos Termos +permanecerá vigente. + +## 11. Disputas + +As leis da Califórnia vão reger todas as disputas que surgirem com relação aos +Termos ou em relação aos Recursos do AlphaFold 3. Essas disputas serão +resolvidas exclusivamente nos tribunais federais ou estaduais do condado de +Santa Clara, Califórnia, EUA, e você e o Google concordam com a jurisdição +pessoal nesses tribunais. Se a legislação local aplicável impedir que alguma +disputa seja tratada em um tribunal na Califórnia, você e o Google podem entrar +com a petição no seu foro local. Da mesma forma, se a legislação local aplicável +impedir que o tribunal local aplique a lei da Califórnia para resolver essas +disputas, elas serão regidas pelas leis do seu paÃs, estado ou outro local de +residência. Se você usar os Recursos do AlphaFold 3 em nome de uma organização +governamental que não seja do governo federal dos EUA (onde as disposições acima +se aplicam até onde permitido pela legislação federal), estes Termos não se +aplicarão quanto à legislação aplicável e aos tribunais. + +Considerando a natureza das pesquisas cientÃficas, pode levar algum tempo para +qualquer violação dos Termos se tornar aparente. Para proteger você, o Google e +os Recursos do AlphaFold 3, até onde permitido pela legislação aplicável, você +concorda que: + +1. qualquer ação judicial relacionada aos Termos ou Recursos do AlphaFold 3 + pode ser iniciada até o que ocorrer por último: + 1. a data-limite de acordo com a legislação aplicável para iniciar a ação + judicial; ou + 2. dois anos após a data em que você ou o Google (conforme aplicável) tomou + conhecimento, ou deve ter tomado conhecimento de forma razoável, dos + fatos que deram origem a essa ação; e +2. você não alegará limitação, prazo de prescrição, atraso, renúncia ou + semelhantes para tentar impedir uma ação registrada nesse perÃodo, e o + Google também não. + +Todos os direitos que não forem concedidos a você de maneira especÃfica e +explÃcita pelos Termos são reservados ao Google. Nenhum atraso, ação ou omissão +do Google em exercer qualquer direito ou correção será considerado uma renúncia +a qualquer violação dos Termos, e o Google reserva expressamente todos e +quaisquer direitos e correções disponÃveis de acordo com os Termos ou com base +na lei, na equidade ou de outra forma, incluindo a correção da tutela de +urgência contra qualquer violação real dos Termos ou ameaça disso sem precisar +comprovar danos reais. diff --git a/pyproject.toml b/pyproject.toml index 837b5861f9d6f59ffa48c79084e32f66d7cc5ef3..f0782cc1bb3dbe4725c6ce60156799caf1cbe1f4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,7 +10,7 @@ build-backend = "scikit_build_core.build" [project] name = "alphafold3" -version = "3.0.0" +version = "3.0.1" requires-python = ">=3.11" readme = "README.md" license = {file = "LICENSE"} diff --git a/run_alphafold.py b/run_alphafold.py index 0c0230ae1f2e86a6a980eb8b1b205461f7a9eb9e..f49a757722a4e182eb2dedcbb82e1d6feb445a5d 100644 --- a/run_alphafold.py +++ b/run_alphafold.py @@ -19,9 +19,10 @@ if received directly from Google. Use is subject to terms of use available at https://github.com/google-deepmind/alphafold3/blob/main/WEIGHTS_TERMS_OF_USE.md """ -from collections.abc import Callable, Iterable, Sequence +from collections.abc import Callable, Sequence import csv import dataclasses +import datetime import functools import multiprocessing import os @@ -31,11 +32,10 @@ import string import textwrap import time import typing -from typing import Protocol, Self, TypeVar, overload +from typing import overload from absl import app from absl import flags -from alphafold3.common import base_config from alphafold3.common import folding_input from alphafold3.common import resources from alphafold3.constants import chemical_components @@ -44,11 +44,10 @@ from alphafold3.data import featurisation from alphafold3.data import pipeline from alphafold3.jax.attention import attention from alphafold3.model import features +from alphafold3.model import model from alphafold3.model import params from alphafold3.model import post_processing -from alphafold3.model.components import base_model from alphafold3.model.components import utils -from alphafold3.model.diffusion import model as diffusion_model import haiku as hk import jax from jax import numpy as jnp @@ -76,27 +75,12 @@ _OUTPUT_DIR = flags.DEFINE_string( None, 'Path to a directory where the results will be saved.', ) - MODEL_DIR = flags.DEFINE_string( 'model_dir', _DEFAULT_MODEL_DIR.as_posix(), 'Path to the model to use for inference.', ) -_FLASH_ATTENTION_IMPLEMENTATION = flags.DEFINE_enum( - 'flash_attention_implementation', - default='triton', - enum_values=['triton', 'cudnn', 'xla'], - help=( - "Flash attention implementation to use. 'triton' and 'cudnn' uses a" - ' Triton and cuDNN flash attention implementation, respectively. The' - ' Triton kernel is fastest and has been tested more thoroughly. The' - " Triton and cuDNN kernels require Ampere GPUs or later. 'xla' uses an" - ' XLA attention implementation (no flash attention) and is portable' - ' across GPU devices.' - ), -) - # Control which stages to run. _RUN_DATA_PIPELINE = flags.DEFINE_bool( 'run_data_pipeline', @@ -205,14 +189,38 @@ _NHMMER_N_CPU = flags.DEFINE_integer( ' beyond 8 CPUs provides very little additional speedup.', ) -# Compilation cache. +# Template search configuration. +_MAX_TEMPLATE_DATE = flags.DEFINE_string( + 'max_template_date', + '2021-09-30', # By default, use the date from the AlphaFold 3 paper. + 'Maximum template release date to consider. Format: YYYY-MM-DD. All' + ' templates released after this date will be ignored. Controls also whether' + ' to allow use of model coordinates for a chemical component from the CCD' + ' if RDKit conformer generation fails and the component does not have ideal' + ' coordinates set. Only for components that have been released before this' + ' date the model coordinates can be used as a fallback.', +) + +_CONFORMER_MAX_ITERATIONS = flags.DEFINE_integer( + 'conformer_max_iterations', + None, # Default to RDKit default parameters value. + 'Optional override for maximum number of iterations to run for RDKit ' + 'conformer search.', +) + +# JAX inference performance tuning. _JAX_COMPILATION_CACHE_DIR = flags.DEFINE_string( 'jax_compilation_cache_dir', None, 'Path to a directory for the JAX compilation cache.', ) - -# Compilation buckets. +_GPU_DEVICE = flags.DEFINE_integer( + 'gpu_device', + 0, + 'Optional override for the GPU device to use for inference. Defaults to the' + ' 1st GPU on the system. Useful on multi-GPU systems to pin each run to a' + ' specific GPU.', +) _BUCKETS = flags.DEFINE_list( 'buckets', # pyformat: disable @@ -223,40 +231,73 @@ _BUCKETS = flags.DEFINE_list( ' For any input with more tokens than the largest bucket size, a new bucket' ' is created for exactly that number of tokens.', ) +_FLASH_ATTENTION_IMPLEMENTATION = flags.DEFINE_enum( + 'flash_attention_implementation', + default='triton', + enum_values=['triton', 'cudnn', 'xla'], + help=( + "Flash attention implementation to use. 'triton' and 'cudnn' uses a" + ' Triton and cuDNN flash attention implementation, respectively. The' + ' Triton kernel is fastest and has been tested more thoroughly. The' + " Triton and cuDNN kernels require Ampere GPUs or later. 'xla' uses an" + ' XLA attention implementation (no flash attention) and is portable' + ' across GPU devices.' + ), +) +_NUM_RECYCLES = flags.DEFINE_integer( + 'num_recycles', + 10, + 'Number of recycles to use during inference.', + lower_bound=1, +) +_NUM_DIFFUSION_SAMPLES = flags.DEFINE_integer( + 'num_diffusion_samples', + 5, + 'Number of diffusion samples to generate.', + lower_bound=1, +) +_NUM_SEEDS = flags.DEFINE_integer( + 'num_seeds', + None, + 'Number of seeds to use for inference. If set, only a single seed must be' + ' provided in the input JSON. AlphaFold 3 will then generate random seeds' + ' in sequence, starting from the single seed specified in the input JSON.' + ' The full input JSON produced by AlphaFold 3 will include the generated' + ' random seeds. If not set, AlphaFold 3 will use the seeds as provided in' + ' the input JSON.', + lower_bound=1, +) - -class ConfigurableModel(Protocol): - """A model with a nested config class.""" - - class Config(base_config.BaseConfig): - ... - - def __call__(self, config: Config) -> Self: - ... - - @classmethod - def get_inference_result( - cls: Self, - batch: features.BatchDict, - result: base_model.ModelResult, - target_name: str = '', - ) -> Iterable[base_model.InferenceResult]: - ... - - -ModelT = TypeVar('ModelT', bound=ConfigurableModel) +# Output controls. +_SAVE_EMBEDDINGS = flags.DEFINE_bool( + 'save_embeddings', + False, + 'Whether to save the final trunk single and pair embeddings in the output.', +) +_FORCE_OUTPUT_DIR = flags.DEFINE_bool( + 'force_output_dir', + False, + 'Whether to force the output directory to be used even if it already exists' + ' and is non-empty. Useful to set this to True to run the data pipeline and' + ' the inference separately, but use the same output directory.', +) def make_model_config( *, - model_class: type[ModelT] = diffusion_model.Diffuser, flash_attention_implementation: attention.Implementation = 'triton', -): - config = model_class.Config() - if hasattr(config, 'global_config'): - config.global_config.flash_attention_implementation = ( - flash_attention_implementation - ) + num_diffusion_samples: int = 5, + num_recycles: int = 10, + return_embeddings: bool = False, +) -> model.Model.Config: + """Returns a model config with some defaults overridden.""" + config = model.Model.Config() + config.global_config.flash_attention_implementation = ( + flash_attention_implementation + ) + config.heads.diffusion.eval.num_samples = num_diffusion_samples + config.num_recycles = num_recycles + config.return_embeddings = return_embeddings return config @@ -265,12 +306,10 @@ class ModelRunner: def __init__( self, - model_class: ConfigurableModel, - config: base_config.BaseConfig, + config: model.Model.Config, device: jax.Device, model_dir: pathlib.Path, ): - self._model_class = model_class self._model_config = config self._device = device self._model_dir = model_dir @@ -283,15 +322,12 @@ class ModelRunner: @functools.cached_property def _model( self, - ) -> Callable[[jnp.ndarray, features.BatchDict], base_model.ModelResult]: + ) -> Callable[[jnp.ndarray, features.BatchDict], model.ModelResult]: """Loads model parameters and returns a jitted model forward pass.""" - assert isinstance(self._model_config, self._model_class.Config) @hk.transform def forward_fn(batch): - result = self._model_class(self._model_config)(batch) - result['__identifier__'] = self.model_params['__meta__']['__identifier__'] - return result + return model.Model(self._model_config)(batch) return functools.partial( jax.jit(forward_fn.apply, device=self._device), self.model_params @@ -299,7 +335,7 @@ class ModelRunner: def run_inference( self, featurised_example: features.BatchDict, rng_key: jnp.ndarray - ) -> base_model.ModelResult: + ) -> model.ModelResult: """Computes a forward pass of the model on a featurised example.""" featurised_example = jax.device_put( jax.tree_util.tree_map( @@ -314,21 +350,32 @@ class ModelRunner: lambda x: x.astype(jnp.float32) if x.dtype == jnp.bfloat16 else x, result, ) - result['__identifier__'] = result['__identifier__'].tobytes() + result = dict(result) + identifier = self.model_params['__meta__']['__identifier__'].tobytes() + result['__identifier__'] = identifier return result - def extract_structures( + def extract_inference_results_and_maybe_embeddings( self, batch: features.BatchDict, - result: base_model.ModelResult, + result: model.ModelResult, target_name: str, - ) -> list[base_model.InferenceResult]: - """Generates structures from model outputs.""" - return list( - self._model_class.get_inference_result( + ) -> tuple[list[model.InferenceResult], dict[str, np.ndarray] | None]: + """Extracts inference results and embeddings (if set) from model outputs.""" + inference_results = list( + model.Model.get_inference_result( batch=batch, result=result, target_name=target_name ) ) + num_tokens = len(inference_results[0].metadata['token_chain_ids']) + embeddings = {} + if 'single_embeddings' in result: + embeddings['single_embeddings'] = result['single_embeddings'][:num_tokens] + if 'pair_embeddings' in result: + embeddings['pair_embeddings'] = result['pair_embeddings'][ + :num_tokens, :num_tokens + ] + return inference_results, embeddings or None @dataclasses.dataclass(frozen=True, slots=True, kw_only=True) @@ -340,64 +387,77 @@ class ResultsForSeed: inference_results: The inference results, one per sample. full_fold_input: The fold input that must also include the results of running the data pipeline - MSA and templates. + embeddings: The final trunk single and pair embeddings, if requested. """ seed: int - inference_results: Sequence[base_model.InferenceResult] + inference_results: Sequence[model.InferenceResult] full_fold_input: folding_input.Input + embeddings: dict[str, np.ndarray] | None = None def predict_structure( fold_input: folding_input.Input, model_runner: ModelRunner, buckets: Sequence[int] | None = None, + ref_max_modified_date: datetime.date | None = None, + conformer_max_iterations: int | None = None, ) -> Sequence[ResultsForSeed]: """Runs the full inference pipeline to predict structures for each seed.""" - print(f'Featurising data for seeds {fold_input.rng_seeds}...') + print(f'Featurising data with {len(fold_input.rng_seeds)} seed(s)...') featurisation_start_time = time.time() ccd = chemical_components.cached_ccd(user_ccd=fold_input.user_ccd) featurised_examples = featurisation.featurise_input( - fold_input=fold_input, buckets=buckets, ccd=ccd, verbose=True + fold_input=fold_input, + buckets=buckets, + ccd=ccd, + verbose=True, + ref_max_modified_date=ref_max_modified_date, + conformer_max_iterations=conformer_max_iterations, ) print( - f'Featurising data for seeds {fold_input.rng_seeds} took ' + f'Featurising data with {len(fold_input.rng_seeds)} seed(s) took' f' {time.time() - featurisation_start_time:.2f} seconds.' ) + print( + 'Running model inference and extracting output structure samples with' + f' {len(fold_input.rng_seeds)} seed(s)...' + ) all_inference_start_time = time.time() all_inference_results = [] for seed, example in zip(fold_input.rng_seeds, featurised_examples): - print(f'Running model inference for seed {seed}...') + print(f'Running model inference with seed {seed}...') inference_start_time = time.time() rng_key = jax.random.PRNGKey(seed) result = model_runner.run_inference(example, rng_key) print( - f'Running model inference for seed {seed} took ' + f'Running model inference with seed {seed} took' f' {time.time() - inference_start_time:.2f} seconds.' ) - print(f'Extracting output structures (one per sample) for seed {seed}...') + print(f'Extracting inference results with seed {seed}...') extract_structures = time.time() - inference_results = model_runner.extract_structures( - batch=example, result=result, target_name=fold_input.name + inference_results, embeddings = ( + model_runner.extract_inference_results_and_maybe_embeddings( + batch=example, result=result, target_name=fold_input.name + ) ) print( - f'Extracting output structures (one per sample) for seed {seed} took ' - f' {time.time() - extract_structures:.2f} seconds.' + f'Extracting {len(inference_results)} inference samples with' + f' seed {seed} took {time.time() - extract_structures:.2f} seconds.' ) + all_inference_results.append( ResultsForSeed( seed=seed, inference_results=inference_results, full_fold_input=fold_input, + embeddings=embeddings, ) ) - print( - 'Running model inference and extracting output structures for seed' - f' {seed} took {time.time() - inference_start_time:.2f} seconds.' - ) print( - 'Running model inference and extracting output structures for seeds' - f' {fold_input.rng_seeds} took ' + 'Running model inference and extracting output structures with' + f' {len(fold_input.rng_seeds)} seed(s) took' f' {time.time() - all_inference_start_time:.2f} seconds.' ) return all_inference_results @@ -409,9 +469,9 @@ def write_fold_input_json( ) -> None: """Writes the input JSON to the output directory.""" os.makedirs(output_dir, exist_ok=True) - with open( - os.path.join(output_dir, f'{fold_input.sanitised_name()}_data.json'), 'wt' - ) as f: + path = os.path.join(output_dir, f'{fold_input.sanitised_name()}_data.json') + print(f'Writing model input JSON to {path}') + with open(path, 'wt') as f: f.write(fold_input.to_json()) @@ -436,7 +496,9 @@ def write_outputs( sample_dir = os.path.join(output_dir, f'seed-{seed}_sample-{sample_idx}') os.makedirs(sample_dir, exist_ok=True) post_processing.write_output( - inference_result=result, output_dir=sample_dir + inference_result=result, + output_dir=sample_dir, + name=f'{job_name}_seed-{seed}_sample-{sample_idx}', ) ranking_score = float(result.metadata['ranking_score']) ranking_scores.append((seed, sample_idx, ranking_score)) @@ -444,6 +506,15 @@ def write_outputs( max_ranking_score = ranking_score max_ranking_result = result + if embeddings := results_for_seed.embeddings: + embeddings_dir = os.path.join(output_dir, f'seed-{seed}_embeddings') + os.makedirs(embeddings_dir, exist_ok=True) + post_processing.write_embeddings( + embeddings=embeddings, + output_dir=embeddings_dir, + name=f'{job_name}_seed-{seed}', + ) + if max_ranking_result is not None: # True iff ranking_scores non-empty. post_processing.write_output( inference_result=max_ranking_result, @@ -454,12 +525,30 @@ def write_outputs( ) # Save csv of ranking scores with seeds and sample indices, to allow easier # comparison of ranking scores across different runs. - with open(os.path.join(output_dir, 'ranking_scores.csv'), 'wt') as f: + with open( + os.path.join(output_dir, f'{job_name}_ranking_scores.csv'), 'wt' + ) as f: writer = csv.writer(f) writer.writerow(['seed', 'sample', 'ranking_score']) writer.writerows(ranking_scores) +def replace_db_dir(path_with_db_dir: str, db_dirs: Sequence[str]) -> str: + """Replaces the DB_DIR placeholder in a path with the given DB_DIR.""" + template = string.Template(path_with_db_dir) + if 'DB_DIR' in template.get_identifiers(): + for db_dir in db_dirs: + path = template.substitute(DB_DIR=db_dir) + if os.path.exists(path): + return path + raise FileNotFoundError( + f'{path_with_db_dir} with ${{DB_DIR}} not found in any of {db_dirs}.' + ) + if not os.path.exists(path_with_db_dir): + raise FileNotFoundError(f'{path_with_db_dir} does not exist.') + return path_with_db_dir + + @overload def process_fold_input( fold_input: folding_input.Input, @@ -467,6 +556,9 @@ def process_fold_input( model_runner: None, output_dir: os.PathLike[str] | str, buckets: Sequence[int] | None = None, + ref_max_modified_date: datetime.date | None = None, + conformer_max_iterations: int | None = None, + force_output_dir: bool = False, ) -> folding_input.Input: ... @@ -478,32 +570,22 @@ def process_fold_input( model_runner: ModelRunner, output_dir: os.PathLike[str] | str, buckets: Sequence[int] | None = None, + ref_max_modified_date: datetime.date | None = None, + conformer_max_iterations: int | None = None, + force_output_dir: bool = False, ) -> Sequence[ResultsForSeed]: ... -def replace_db_dir(path_with_db_dir: str, db_dirs: Sequence[str]) -> str: - """Replaces the DB_DIR placeholder in a path with the given DB_DIR.""" - template = string.Template(path_with_db_dir) - if 'DB_DIR' in template.get_identifiers(): - for db_dir in db_dirs: - path = template.substitute(DB_DIR=db_dir) - if os.path.exists(path): - return path - raise FileNotFoundError( - f'{path_with_db_dir} with ${{DB_DIR}} not found in any of {db_dirs}.' - ) - if not os.path.exists(path_with_db_dir): - raise FileNotFoundError(f'{path_with_db_dir} does not exist.') - return path_with_db_dir - - def process_fold_input( fold_input: folding_input.Input, data_pipeline_config: pipeline.DataPipelineConfig | None, model_runner: ModelRunner | None, output_dir: os.PathLike[str] | str, buckets: Sequence[int] | None = None, + ref_max_modified_date: datetime.date | None = None, + conformer_max_iterations: int | None = None, + force_output_dir: bool = False, ) -> folding_input.Input | Sequence[ResultsForSeed]: """Runs data pipeline and/or inference on a single fold input. @@ -518,6 +600,17 @@ def process_fold_input( number of tokens. If not None, must be a sequence of at least one integer, in strictly increasing order. Will raise an error if the number of tokens is more than the largest bucket size. + ref_max_modified_date: Optional maximum date that controls whether to allow + use of model coordinates for a chemical component from the CCD if RDKit + conformer generation fails and the component does not have ideal + coordinates set. Only for components that have been released before this + date the model coordinates can be used as a fallback. + conformer_max_iterations: Optional override for maximum number of iterations + to run for RDKit conformer search. + force_output_dir: If True, do not create a new output directory even if the + existing one is non-empty. Instead use the existing output directory and + potentially overwrite existing files. If False, create a new timestamped + output directory instead if the existing one is non-empty. Returns: The processed fold input, or the inference results for each seed. @@ -525,16 +618,26 @@ def process_fold_input( Raises: ValueError: If the fold input has no chains. """ - print(f'Processing fold input {fold_input.name}') + print(f'\nRunning fold job {fold_input.name}...') if not fold_input.chains: raise ValueError('Fold input has no chains.') - if model_runner is not None: - # If we're running inference, check we can load the model parameters before - # (possibly) launching the data pipeline. - print('Checking we can load the model parameters...') - _ = model_runner.model_params + if ( + not force_output_dir + and os.path.exists(output_dir) + and os.listdir(output_dir) + ): + new_output_dir = ( + f'{output_dir}_{datetime.datetime.now().strftime("%Y%m%d_%H%M%S")}' + ) + print( + f'Output will be written in {new_output_dir} since {output_dir} is' + ' non-empty.' + ) + output_dir = new_output_dir + else: + print(f'Output will be written in {output_dir}') if data_pipeline_config is None: print('Skipping data pipeline...') @@ -542,26 +645,23 @@ def process_fold_input( print('Running data pipeline...') fold_input = pipeline.DataPipeline(data_pipeline_config).process(fold_input) - print(f'Output directory: {output_dir}') - print(f'Writing model input JSON to {output_dir}') write_fold_input_json(fold_input, output_dir) if model_runner is None: - print('Skipping inference...') + print('Skipping model inference...') output = fold_input else: print( - f'Predicting 3D structure for {fold_input.name} for seed(s)' - f' {fold_input.rng_seeds}...' + f'Predicting 3D structure for {fold_input.name} with' + f' {len(fold_input.rng_seeds)} seed(s)...' ) all_inference_results = predict_structure( fold_input=fold_input, model_runner=model_runner, buckets=buckets, + ref_max_modified_date=ref_max_modified_date, + conformer_max_iterations=conformer_max_iterations, ) - print( - f'Writing outputs for {fold_input.name} for seed(s)' - f' {fold_input.rng_seeds}...' - ) + print(f'Writing outputs with {len(fold_input.rng_seeds)} seed(s)...') write_outputs( all_inference_results=all_inference_results, output_dir=output_dir, @@ -569,7 +669,7 @@ def process_fold_input( ) output = all_inference_results - print(f'Done processing fold input {fold_input.name}.') + print(f'Fold job {fold_input.name} done, output written to {output_dir}\n') return output @@ -613,13 +713,30 @@ def main(_): if _RUN_INFERENCE.value: # Fail early on incompatible devices, but only if we're running inference. gpu_devices = jax.local_devices(backend='gpu') - if gpu_devices and float(gpu_devices[0].compute_capability) < 8.0: - raise ValueError( - 'There are currently known unresolved numerical issues with using' - ' devices with compute capability less than 8.0. See ' - ' https://github.com/google-deepmind/alphafold3/issues/59 for' - ' tracking.' + if gpu_devices: + compute_capability = float( + gpu_devices[_GPU_DEVICE.value].compute_capability ) + if compute_capability < 6.0: + raise ValueError( + 'AlphaFold 3 requires at least GPU compute capability 6.0 (see' + ' https://developer.nvidia.com/cuda-gpus).' + ) + elif 7.0 <= compute_capability < 8.0: + xla_flags = os.environ.get('XLA_FLAGS') + required_flag = '--xla_disable_hlo_passes=custom-kernel-fusion-rewriter' + if not xla_flags or required_flag not in xla_flags: + raise ValueError( + 'For devices with GPU compute capability 7.x (see' + ' https://developer.nvidia.com/cuda-gpus) the ENV XLA_FLAGS must' + f' include "{required_flag}".' + ) + if _FLASH_ATTENTION_IMPLEMENTATION.value != 'xla': + raise ValueError( + 'For devices with GPU compute capability 7.x (see' + ' https://developer.nvidia.com/cuda-gpus) the' + ' --flash_attention_implementation must be set to "xla".' + ) notice = textwrap.wrap( 'Running AlphaFold 3. Please note that standard AlphaFold 3 model' @@ -632,8 +749,9 @@ def main(_): break_on_hyphens=False, width=80, ) - print('\n'.join(notice)) + print('\n' + '\n'.join(notice) + '\n') + max_template_date = datetime.date.fromisoformat(_MAX_TEMPLATE_DATE.value) if _RUN_DATA_PIPELINE.value: expand_path = lambda x: replace_db_dir(x, DB_DIR.value) data_pipeline_config = pipeline.DataPipelineConfig( @@ -655,45 +773,57 @@ def main(_): seqres_database_path=expand_path(_SEQRES_DATABASE_PATH.value), jackhmmer_n_cpu=_JACKHMMER_N_CPU.value, nhmmer_n_cpu=_NHMMER_N_CPU.value, + max_template_date=max_template_date, ) else: - print('Skipping running the data pipeline.') data_pipeline_config = None if _RUN_INFERENCE.value: devices = jax.local_devices(backend='gpu') - print(f'Found local devices: {devices}') + print( + f'Found local devices: {devices}, using device {_GPU_DEVICE.value}:' + f' {devices[_GPU_DEVICE.value]}' + ) print('Building model from scratch...') model_runner = ModelRunner( - model_class=diffusion_model.Diffuser, config=make_model_config( flash_attention_implementation=typing.cast( attention.Implementation, _FLASH_ATTENTION_IMPLEMENTATION.value - ) + ), + num_diffusion_samples=_NUM_DIFFUSION_SAMPLES.value, + num_recycles=_NUM_RECYCLES.value, + return_embeddings=_SAVE_EMBEDDINGS.value, ), - device=devices[0], + device=devices[_GPU_DEVICE.value], model_dir=pathlib.Path(MODEL_DIR.value), ) + # Check we can load the model parameters before launching anything. + print('Checking that model parameters can be loaded...') + _ = model_runner.model_params else: - print('Skipping running model inference.') model_runner = None - print(f'Processing {len(fold_inputs)} fold inputs.') + num_fold_inputs = 0 for fold_input in fold_inputs: + if _NUM_SEEDS.value is not None: + print(f'Expanding fold job {fold_input.name} to {_NUM_SEEDS.value} seeds') + fold_input = fold_input.with_multiple_seeds(_NUM_SEEDS.value) process_fold_input( fold_input=fold_input, data_pipeline_config=data_pipeline_config, model_runner=model_runner, output_dir=os.path.join(_OUTPUT_DIR.value, fold_input.sanitised_name()), buckets=tuple(int(bucket) for bucket in _BUCKETS.value), + ref_max_modified_date=max_template_date, + conformer_max_iterations=_CONFORMER_MAX_ITERATIONS.value, + force_output_dir=_FORCE_OUTPUT_DIR.value, ) + num_fold_inputs += 1 - print(f'Done processing {len(fold_inputs)} fold inputs.') + print(f'Done running {num_fold_inputs} fold jobs.') if __name__ == '__main__': - flags.mark_flags_as_required([ - 'output_dir', - ]) + flags.mark_flags_as_required(['output_dir']) app.run(main) diff --git a/run_alphafold_data_test.py b/run_alphafold_data_test.py new file mode 100644 index 0000000000000000000000000000000000000000..74ddbed9485eef20d2ce59f68de11cae7d0e45e5 --- /dev/null +++ b/run_alphafold_data_test.py @@ -0,0 +1,280 @@ +# Copyright 2024 DeepMind Technologies Limited +# +# AlphaFold 3 source code is licensed under CC BY-NC-SA 4.0. To view a copy of +# this license, visit https://creativecommons.org/licenses/by-nc-sa/4.0/ +# +# To request access to the AlphaFold 3 model parameters, follow the process set +# out at https://github.com/google-deepmind/alphafold3. You may only use these +# if received directly from Google. Use is subject to terms of use available at +# https://github.com/google-deepmind/alphafold3/blob/main/WEIGHTS_TERMS_OF_USE.md + +"""Tests the AlphaFold 3 data pipeline.""" + +import contextlib +import datetime +import difflib +import functools +import hashlib +import json +import os +import pathlib +import pickle +from typing import Any + +from absl.testing import absltest +from absl.testing import parameterized +from alphafold3 import structure +from alphafold3.common import folding_input +from alphafold3.common import resources +from alphafold3.common.testing import data as testing_data +from alphafold3.constants import chemical_components +from alphafold3.data import featurisation +from alphafold3.data import pipeline +from alphafold3.model.atom_layout import atom_layout +from alphafold3.structure import test_utils +import jax +import numpy as np + +import run_alphafold +import shutil + + +_JACKHMMER_BINARY_PATH = shutil.which('jackhmmer') +_NHMMER_BINARY_PATH = shutil.which('nhmmer') +_HMMALIGN_BINARY_PATH = shutil.which('hmmalign') +_HMMSEARCH_BINARY_PATH = shutil.which('hmmsearch') +_HMMBUILD_BINARY_PATH = shutil.which('hmmbuild') + + +@contextlib.contextmanager +def _output(name: str): + with open(result_path := f'{absltest.TEST_TMPDIR.value}/{name}', "wb") as f: + yield result_path, f + + +@functools.singledispatch +def _hash_data(x: Any, /) -> str: + if x is None: + return '<<None>>' + return _hash_data(json.dumps(x).encode('utf-8')) + + +@_hash_data.register +def _(x: bytes, /) -> str: + return hashlib.sha256(x).hexdigest() + + +@_hash_data.register +def _(x: jax.Array) -> str: + return _hash_data(jax.device_get(x)) + + +@_hash_data.register +def _(x: np.ndarray) -> str: + if x.dtype == object: + return ';'.join(map(_hash_data, x.ravel().tolist())) + return _hash_data(x.tobytes()) + + +@_hash_data.register +def _(_: structure.Structure) -> str: + return '<<structure>>' + + +@_hash_data.register +def _(_: atom_layout.AtomLayout) -> str: + return '<<atom-layout>>' + + +def _generate_diff(actual: str, expected: str) -> str: + return '\n'.join( + difflib.unified_diff( + expected.split('\n'), + actual.split('\n'), + fromfile='expected', + tofile='actual', + lineterm='', + ) + ) + + +class DataPipelineTest(test_utils.StructureTestCase): + """Test AlphaFold 3 inference.""" + + def setUp(self): + super().setUp() + small_bfd_database_path = testing_data.Data( + resources.ROOT + / 'test_data/miniature_databases/bfd-first_non_consensus_sequences__subsampled_1000.fasta' + ).path() + mgnify_database_path = testing_data.Data( + resources.ROOT + / 'test_data/miniature_databases/mgy_clusters__subsampled_1000.fa' + ).path() + uniprot_cluster_annot_database_path = testing_data.Data( + resources.ROOT + / 'test_data/miniature_databases/uniprot_all__subsampled_1000.fasta' + ).path() + uniref90_database_path = testing_data.Data( + resources.ROOT + / 'test_data/miniature_databases/uniref90__subsampled_1000.fasta' + ).path() + ntrna_database_path = testing_data.Data( + resources.ROOT + / 'test_data/miniature_databases/nt_rna_2023_02_23_clust_seq_id_90_cov_80_rep_seq__subsampled_1000.fasta' + ).path() + rfam_database_path = testing_data.Data( + resources.ROOT + / 'test_data/miniature_databases/rfam_14_4_clustered_rep_seq__subsampled_1000.fasta' + ).path() + rna_central_database_path = testing_data.Data( + resources.ROOT + / 'test_data/miniature_databases/rnacentral_active_seq_id_90_cov_80_linclust__subsampled_1000.fasta' + ).path() + pdb_database_path = testing_data.Data( + resources.ROOT / 'test_data/miniature_databases/pdb_mmcif' + ).path() + seqres_database_path = testing_data.Data( + resources.ROOT + / 'test_data/miniature_databases/pdb_seqres_2022_09_28__subsampled_1000.fasta' + ).path() + + self._data_pipeline_config = pipeline.DataPipelineConfig( + jackhmmer_binary_path=_JACKHMMER_BINARY_PATH, + nhmmer_binary_path=_NHMMER_BINARY_PATH, + hmmalign_binary_path=_HMMALIGN_BINARY_PATH, + hmmsearch_binary_path=_HMMSEARCH_BINARY_PATH, + hmmbuild_binary_path=_HMMBUILD_BINARY_PATH, + small_bfd_database_path=small_bfd_database_path, + mgnify_database_path=mgnify_database_path, + uniprot_cluster_annot_database_path=uniprot_cluster_annot_database_path, + uniref90_database_path=uniref90_database_path, + ntrna_database_path=ntrna_database_path, + rfam_database_path=rfam_database_path, + rna_central_database_path=rna_central_database_path, + pdb_database_path=pdb_database_path, + seqres_database_path=seqres_database_path, + max_template_date=datetime.date(2021, 9, 30), + ) + test_input = { + 'name': '5tgy', + 'modelSeeds': [1234], + 'sequences': [ + { + 'protein': { + 'id': 'P', + 'sequence': 'SEFEKLRQTGDELVQAFQRLREIFDKGDDDSLEQVLEEIEELIQKHRQLFDNRQEAADTEAAKQGDQWVQLFQRFREAIDKGDKDSLEQLLEELEQALQKIRELAEKKN', + 'modifications': [], + 'unpairedMsa': None, + 'pairedMsa': None, + } + }, + {'ligand': {'id': 'LL', 'ccdCodes': ['7BU']}}, + ], + 'dialect': folding_input.JSON_DIALECT, + 'version': folding_input.JSON_VERSION, + } + self._test_input_json = json.dumps(test_input) + + def compare_golden(self, result_path: str) -> None: + filename = os.path.split(result_path)[1] + golden_path = testing_data.Data( + resources.ROOT / f'test_data/{filename}' + ).path() + with open(golden_path, 'r') as golden_file: + golden_text = golden_file.read() + with open(result_path, 'r') as result_file: + result_text = result_file.read() + + diff = _generate_diff(result_text, golden_text) + + self.assertEqual(diff, "", f"Result differs from golden:\n{diff}") + + def test_config(self): + model_config = run_alphafold.make_model_config() + model_config_as_str = json.dumps( + model_config.as_dict(), sort_keys=True, indent=2 + ) + with _output('model_config.json') as (result_path, output): + output.write(model_config_as_str.encode('utf-8')) + self.compare_golden(result_path) + + def test_featurisation(self): + """Run featurisation and assert that the output is as expected.""" + fold_input = folding_input.Input.from_json(self._test_input_json) + data_pipeline = pipeline.DataPipeline(self._data_pipeline_config) + full_fold_input = data_pipeline.process(fold_input) + featurised_example = featurisation.featurise_input( + full_fold_input, + ccd=chemical_components.cached_ccd(), + buckets=None, + ) + del featurised_example[0]['ref_pos'] # Depends on specific RDKit version. + + with _output('featurised_example.pkl') as (_, output): + output.write(pickle.dumps(featurised_example)) + featurised_example = jax.tree_util.tree_map(_hash_data, featurised_example) + with _output('featurised_example.json') as (result_path, output): + output.write( + json.dumps(featurised_example, sort_keys=True, indent=2).encode( + 'utf-8' + ) + ) + self.compare_golden(result_path) + + def test_write_input_json(self): + fold_input = folding_input.Input.from_json(self._test_input_json) + output_dir = self.create_tempdir().full_path + run_alphafold.write_fold_input_json(fold_input, output_dir) + with open( + os.path.join(output_dir, f'{fold_input.sanitised_name()}_data.json'), + 'rt', + ) as f: + actual_fold_input = folding_input.Input.from_json(f.read()) + + self.assertEqual(actual_fold_input, fold_input) + + def test_process_fold_input_runs_only_data_pipeline(self): + fold_input = folding_input.Input.from_json(self._test_input_json) + output_dir = self.create_tempdir().full_path + run_alphafold.process_fold_input( + fold_input=fold_input, + data_pipeline_config=self._data_pipeline_config, + model_runner=None, + output_dir=output_dir, + ) + with open( + os.path.join(output_dir, f'{fold_input.sanitised_name()}_data.json'), + 'rt', + ) as f: + actual_fold_input = folding_input.Input.from_json(f.read()) + + featurisation.validate_fold_input(actual_fold_input) + + @parameterized.product(num_db_dirs=tuple(range(1, 3))) + def test_replace_db_dir(self, num_db_dirs: int) -> None: + """Test that the db_dir is replaced correctly.""" + db_dirs = [pathlib.Path(self.create_tempdir()) for _ in range(num_db_dirs)] + db_dirs_posix = [db_dir.as_posix() for db_dir in db_dirs] + + for i, db_dir in enumerate(db_dirs): + for j in range(i + 1): + (db_dir / f'filename{j}.txt').write_text(f'hello world {i}') + + for i in range(num_db_dirs): + self.assertEqual( + pathlib.Path( + run_alphafold.replace_db_dir( + f'${{DB_DIR}}/filename{i}.txt', db_dirs_posix + ) + ).read_text(), + f'hello world {i}', + ) + with self.assertRaises(FileNotFoundError): + run_alphafold.replace_db_dir( + f'${{DB_DIR}}/filename{num_db_dirs}.txt', db_dirs_posix + ) + + +if __name__ == '__main__': + absltest.main() diff --git a/run_alphafold_test.py b/run_alphafold_test.py index 28f376a829c11778bfb05eb88720bc801a7f0cb9..38cdebcc7d81ecbb92126e7cb1433b02ff61e397 100644 --- a/run_alphafold_test.py +++ b/run_alphafold_test.py @@ -12,27 +12,21 @@ import contextlib import csv +import dataclasses +import datetime import difflib -import functools -import hashlib import json import os import pathlib import pickle -from typing import Any from absl import logging from absl.testing import absltest from absl.testing import parameterized -from alphafold3 import structure from alphafold3.common import folding_input from alphafold3.common import resources from alphafold3.common.testing import data as testing_data -from alphafold3.constants import chemical_components -from alphafold3.data import featurisation from alphafold3.data import pipeline -from alphafold3.model.atom_layout import atom_layout -from alphafold3.model.diffusion import model as diffusion_model from alphafold3.model.scoring import alignment from alphafold3.structure import test_utils import jax @@ -70,40 +64,6 @@ def _generate_diff(actual: str, expected: str) -> str: ) -@functools.singledispatch -def _hash_data(x: Any, /) -> str: - if x is None: - return '<<None>>' - return _hash_data(json.dumps(x).encode('utf-8')) - - -@_hash_data.register -def _(x: bytes, /) -> str: - return hashlib.sha256(x).hexdigest() - - -@_hash_data.register -def _(x: jax.Array) -> str: - return _hash_data(jax.device_get(x)) - - -@_hash_data.register -def _(x: np.ndarray) -> str: - if x.dtype == object: - return ';'.join(map(_hash_data, x.ravel().tolist())) - return _hash_data(x.tobytes()) - - -@_hash_data.register -def _(_: structure.Structure) -> str: - return '<<structure>>' - - -@_hash_data.register -def _(_: atom_layout.AtomLayout) -> str: - return '<<atom-layout>>' - - class InferenceTest(test_utils.StructureTestCase): """Test AlphaFold 3 inference.""" @@ -138,7 +98,7 @@ class InferenceTest(test_utils.StructureTestCase): / 'test_data/miniature_databases/rnacentral_active_seq_id_90_cov_80_linclust__subsampled_1000.fasta' ).path() pdb_database_path = testing_data.Data( - resources.ROOT / 'data/testdata/templates_v2/ww_pdb' + resources.ROOT / 'test_data/miniature_databases/pdb_mmcif' ).path() seqres_database_path = testing_data.Data( resources.ROOT @@ -160,6 +120,7 @@ class InferenceTest(test_utils.StructureTestCase): rna_central_database_path=rna_central_database_path, pdb_database_path=pdb_database_path, seqres_database_path=seqres_database_path, + max_template_date=datetime.date(2021, 9, 30), ) test_input = { 'name': '5tgy', @@ -167,170 +128,81 @@ class InferenceTest(test_utils.StructureTestCase): 'sequences': [ { 'protein': { - 'id': 'A', + 'id': 'P', 'sequence': 'SEFEKLRQTGDELVQAFQRLREIFDKGDDDSLEQVLEEIEELIQKHRQLFDNRQEAADTEAAKQGDQWVQLFQRFREAIDKGDKDSLEQLLEELEQALQKIRELAEKKN', 'modifications': [], 'unpairedMsa': None, 'pairedMsa': None, } }, - {'ligand': {'id': 'B', 'ccdCodes': ['7BU']}}, + {'ligand': {'id': 'LL', 'ccdCodes': ['7BU']}}, ], 'dialect': folding_input.JSON_DIALECT, 'version': folding_input.JSON_VERSION, } self._test_input_json = json.dumps(test_input) + self._model_config = run_alphafold.make_model_config( + return_embeddings=True, flash_attention_implementation='triton' + ) self._runner = run_alphafold.ModelRunner( - model_class=run_alphafold.diffusion_model.Diffuser, - config=run_alphafold.make_model_config(), + config=self._model_config, device=jax.local_devices()[0], model_dir=pathlib.Path(run_alphafold.MODEL_DIR.value), ) - def compare_golden(self, result_path: str) -> None: - filename = os.path.split(result_path)[1] - golden_path = testing_data.Data( - resources.ROOT / f'test_data/{filename}' - ).path() - with open(golden_path, 'r') as golden_file: - golden_text = golden_file.read() - with open(result_path, 'r') as result_file: - result_text = result_file.read() - - diff = _generate_diff(result_text, golden_text) - - self.assertEqual(diff, "", f"Result differs from golden:\n{diff}") - - def test_config(self): - model_config = run_alphafold.make_model_config() - model_config_as_str = json.dumps( - model_config.as_dict(), sort_keys=True, indent=2 - ) - with _output('model_config.json') as (result_path, output): - output.write(model_config_as_str.encode('utf-8')) - self.compare_golden(result_path) - - def test_featurisation(self): - """Run featurisation and assert that the output is as expected.""" - fold_input = folding_input.Input.from_json(self._test_input_json) - data_pipeline = pipeline.DataPipeline(self._data_pipeline_config) - full_fold_input = data_pipeline.process(fold_input) - featurised_example = featurisation.featurise_input( - full_fold_input, - ccd=chemical_components.cached_ccd(), - buckets=None, - ) - - with _output('featurised_example.pkl') as (_, output): - output.write(pickle.dumps(featurised_example)) - featurised_example = jax.tree_util.tree_map(_hash_data, featurised_example) - with _output('featurised_example.json') as (result_path, output): - output.write( - json.dumps(featurised_example, sort_keys=True, indent=2).encode( - 'utf-8' - ) - ) - self.compare_golden(result_path) - def test_model_inference(self): - """Run model inference and assert that the output is as expected.""" + """Run model inference and assert that output exists.""" featurised_examples = pickle.loads( (resources.ROOT / 'test_data' / 'featurised_example.pkl').read_bytes() ) self.assertLen(featurised_examples, 1) featurised_example = featurised_examples[0] - inference_result = self._runner.run_inference( + result = self._runner.run_inference( featurised_example, jax.random.PRNGKey(0) ) - inference_result = jax.tree_util.tree_map(_hash_data, inference_result) - self.assertIsNotNone(inference_result) - - def test_write_input_json(self): - fold_input = folding_input.Input.from_json(self._test_input_json) - output_dir = self.create_tempdir() - run_alphafold.write_fold_input_json(fold_input, output_dir) - with open( - os.path.join(output_dir, f'{fold_input.sanitised_name()}_data.json'), - 'rt', - ) as f: - actual_fold_input = folding_input.Input.from_json(f.read()) - - self.assertEqual(actual_fold_input, fold_input) - - def test_process_fold_input_runs_only_data_pipeline(self): - fold_input = folding_input.Input.from_json(self._test_input_json) - output_dir = self.create_tempdir() - run_alphafold.process_fold_input( - fold_input=fold_input, - data_pipeline_config=self._data_pipeline_config, - model_runner=None, - output_dir=output_dir, + self.assertIsNotNone(result) + _, embeddings = self._runner.extract_inference_results_and_maybe_embeddings( + batch=featurised_example, result=result, target_name='target' ) - with open( - os.path.join(output_dir, f'{fold_input.sanitised_name()}_data.json'), - 'rt', - ) as f: - actual_fold_input = folding_input.Input.from_json(f.read()) - - featurisation.validate_fold_input(actual_fold_input) + self.assertLen(embeddings, 2) def test_process_fold_input_runs_only_inference(self): with self.assertRaisesRegex(ValueError, 'missing unpaired MSA.'): run_alphafold.process_fold_input( fold_input=folding_input.Input.from_json(self._test_input_json), - # No data pipeline config, so featursation will run first, and fail + # No data pipeline config, so featurisation will run first, and fail # since the input is missing MSAs. data_pipeline_config=None, model_runner=self._runner, - output_dir=self.create_tempdir(), - ) - - def test_no_chains_in_input(self): - fold_input = folding_input.Input( - name='empty', - chains=[], - rng_seeds=[0], - ) - - with self.assertRaisesRegex(ValueError, 'Fold input has no chains.'): - run_alphafold.process_fold_input( - fold_input=fold_input, - data_pipeline_config=self._data_pipeline_config, - model_runner=run_alphafold.ModelRunner( - model_class=diffusion_model.Diffuser, - config=run_alphafold.make_model_config(), - device=jax.local_devices(backend='gpu')[0], - model_dir=pathlib.Path(run_alphafold.MODEL_DIR.value), - ), - output_dir='unused output dir', + output_dir=self.create_tempdir().full_path, ) @parameterized.named_parameters( { 'testcase_name': 'default_bucket', 'bucket': None, - 'exp_ranking_scores': [0.69, 0.69, 0.72, 0.75, 0.70], + 'seed': 1, }, { 'testcase_name': 'bucket_1024', 'bucket': 1024, - 'exp_ranking_scores': [0.69, 0.71, 0.71, 0.69, 0.70], + 'seed': 42, }, ) - def test_inference(self, bucket, exp_ranking_scores): + def test_inference(self, bucket, seed): """Run AlphaFold 3 inference.""" - ### Prepare inputs. + ### Prepare inputs with modified seed. fold_input = folding_input.Input.from_json(self._test_input_json) + fold_input = dataclasses.replace(fold_input, rng_seeds=[seed]) - output_dir = self.create_tempdir() + output_dir = self.create_tempdir().full_path actual = run_alphafold.process_fold_input( fold_input, self._data_pipeline_config, run_alphafold.ModelRunner( - model_class=diffusion_model.Diffuser, - config=run_alphafold.make_model_config(), + config=self._model_config, device=jax.local_devices(backend='gpu')[0], model_dir=pathlib.Path(run_alphafold.MODEL_DIR.value), ), @@ -347,21 +219,23 @@ class InferenceTest(test_utils.StructureTestCase): ) expected_data_json_filename = f'{fold_input.sanitised_name()}_data.json' + prefix = f'seed-{seed}' self.assertSameElements( os.listdir(output_dir), [ - # Subdirectories, one for each sample. - 'seed-1234_sample-0', - 'seed-1234_sample-1', - 'seed-1234_sample-2', - 'seed-1234_sample-3', - 'seed-1234_sample-4', + # Subdirectories, one for each sample and one for embeddings. + f'{prefix}_sample-0', + f'{prefix}_sample-1', + f'{prefix}_sample-2', + f'{prefix}_sample-3', + f'{prefix}_sample-4', + f'{prefix}_embeddings', # Top ranking result. expected_confidences_filename, expected_model_cif_filename, expected_summary_confidences_filename, # Ranking scores for all samples. - 'ranking_scores.csv', + f'{fold_input.sanitised_name()}_ranking_scores.csv', # The input JSON defining the job. expected_data_json_filename, # The output terms of use. @@ -369,6 +243,38 @@ class InferenceTest(test_utils.StructureTestCase): ], ) + for sample_index in range(5): + sample_dir = os.path.join(output_dir, f'{prefix}_sample-{sample_index}') + sample_prefix = ( + f'{fold_input.sanitised_name()}_seed-{seed}_sample-{sample_index}' + ) + self.assertSameElements( + os.listdir(sample_dir), + [ + f'{sample_prefix}_confidences.json', + f'{sample_prefix}_model.cif', + f'{sample_prefix}_summary_confidences.json', + ], + ) + + embeddings_dir = os.path.join(output_dir, f'{prefix}_embeddings') + embeddings_filename = ( + f'{fold_input.sanitised_name()}_{prefix}_embeddings.npz' + ) + self.assertSameElements(os.listdir(embeddings_dir), [embeddings_filename]) + + with open(os.path.join(embeddings_dir, embeddings_filename), 'rb') as f: + embeddings = np.load(f) + self.assertSameElements( + embeddings.keys(), ['single_embeddings', 'pair_embeddings'] + ) + # Ligand 7BU has 41 tokens. + num_tokens = len(fold_input.protein_chains[0].sequence) + 41 + self.assertEqual(embeddings['single_embeddings'].shape, (num_tokens, 384)) + self.assertEqual( + embeddings['pair_embeddings'].shape, (num_tokens, num_tokens, 128) + ) + with open(os.path.join(output_dir, expected_data_json_filename), 'rt') as f: actual_input_json = json.load(f) @@ -390,22 +296,24 @@ class InferenceTest(test_utils.StructureTestCase): actual_input_json['sequences'][0]['protein']['templates'] ) - with open(os.path.join(output_dir, 'ranking_scores.csv'), 'rt') as f: - actual_ranking_scores = list(csv.DictReader(f)) - - self.assertLen(actual_ranking_scores, 5) - self.assertEqual( - [int(s['seed']) for s in actual_ranking_scores], [1234] * 5 + ranking_scores_filename = ( + f'{fold_input.sanitised_name()}_ranking_scores.csv' ) + with open(os.path.join(output_dir, ranking_scores_filename), 'rt') as f: + ranking_scores = list(csv.DictReader(f)) + + self.assertLen(ranking_scores, 5) + self.assertEqual([int(s['seed']) for s in ranking_scores], [seed] * 5) self.assertEqual( - [int(s['sample']) for s in actual_ranking_scores], [0, 1, 2, 3, 4] - ) - np.testing.assert_array_almost_equal( - [float(s['ranking_score']) for s in actual_ranking_scores], - exp_ranking_scores, - decimal=2, + [int(s['sample']) for s in ranking_scores], [0, 1, 2, 3, 4] ) + # Ranking score should be between 0.66 and 0.76 for all samples. + ranking_scores = [float(s['ranking_score']) for s in ranking_scores] + scores_ok = [0.66 <= score <= 0.76 for score in ranking_scores] + if not all(scores_ok): + self.fail(f'{ranking_scores=} are not in expected range [0.66, 0.76]') + with open(os.path.join(output_dir, 'TERMS_OF_USE.md'), 'rt') as f: actual_terms_of_use = f.read() self.assertStartsWith( @@ -442,48 +350,55 @@ class InferenceTest(test_utils.StructureTestCase): run_alphafold.ResultsForSeed(**expected_inf) for expected_inf in expected_dict ] + + actual_rmsds = [] + mask_proportions = [] + actual_masked_rmsds = [] for actual_inf, expected_inf in zip(actual, expected, strict=True): for actual_inf, expected_inf in zip( actual_inf.inference_results, expected_inf.inference_results, strict=True, ): - - # Check RMSD is within tolerance. - # 5tgy is very stable, NMR samples were all within 3.0 RMSD. - actual_rmsd = alignment.rmsd_from_coords( - actual_inf.predicted_structure.coords, - expected_inf.predicted_structure.coords, + # Make sure the token chain IDs are the same as the input chain IDs. + self.assertEqual( + actual_inf.metadata['token_chain_ids'], + ['P'] * len(fold_input.protein_chains[0].sequence) + ['LL'] * 41, ) - self.assertLess(actual_rmsd, 3.0) + # All atom occupancies should be 1.0. np.testing.assert_array_equal( actual_inf.predicted_structure.atom_occupancy, [1.0] * actual_inf.predicted_structure.num_atoms, ) - - @parameterized.product(num_db_dirs=tuple(range(1, 3))) - def test_replace_db_dir(self, num_db_dirs: int) -> None: - """Test that the db_dir is replaced correctly.""" - db_dirs = [pathlib.Path(self.create_tempdir()) for _ in range(num_db_dirs)] - db_dirs_posix = [db_dir.as_posix() for db_dir in db_dirs] - - for i, db_dir in enumerate(db_dirs): - for j in range(i + 1): - (db_dir / f'filename{j}.txt').write_text(f'hello world {i}') - - for i in range(num_db_dirs): - self.assertEqual( - pathlib.Path( - run_alphafold.replace_db_dir( - f'${{DB_DIR}}/filename{i}.txt', db_dirs_posix - ) - ).read_text(), - f'hello world {i}', - ) - with self.assertRaises(FileNotFoundError): - run_alphafold.replace_db_dir( - f'${{DB_DIR}}/filename{num_db_dirs}.txt', db_dirs_posix - ) + actual_rmsds.append( + alignment.rmsd_from_coords( + decoy_coords=actual_inf.predicted_structure.coords, + gt_coords=expected_inf.predicted_structure.coords, + ) + ) + # Mask out atoms with b_factor < 80.0 (i.e. lower confidence regions). + mask = actual_inf.predicted_structure.atom_b_factor > 80.0 + mask_proportions.append( + np.sum(mask) / actual_inf.predicted_structure.num_atoms + ) + actual_masked_rmsds.append( + alignment.rmsd_from_coords( + decoy_coords=actual_inf.predicted_structure.coords, + gt_coords=expected_inf.predicted_structure.coords, + include_idxs=mask, + ) + ) + # 5tgy is stably predicted, samples should be all within 3.0 RMSD + # regardless of seed, bucket, device type, etc. + if any(rmsd > 3.0 for rmsd in actual_rmsds): + self.fail(f'Full RMSD too high: {actual_rmsds=}') + # Check proportion of atoms with b_factor > 80 is at least 70%. + if any(prop < 0.7 for prop in mask_proportions): + self.fail(f'Too many residues with low pLDDT: {mask_proportions=}') + # Check masked RMSD is within tolerance (lower than full RMSD due to masking + # of lower confidence regions). + if any(rmsd > 1.4 for rmsd in actual_masked_rmsds): + self.fail(f'Masked RMSD too high: {actual_masked_rmsds=}') if __name__ == '__main__': diff --git a/src/alphafold3/common/folding_input.py b/src/alphafold3/common/folding_input.py index 56bc4c27eba428aee3dc2e711fb699bcb827ecda..cf27df99549638d7a50fda02501c40fb78fc7b31 100644 --- a/src/alphafold3/common/folding_input.py +++ b/src/alphafold3/common/folding_input.py @@ -10,28 +10,34 @@ """Model input dataclass.""" -from collections.abc import Collection, Mapping, Sequence +from collections.abc import Collection, Iterator, Mapping, Sequence import dataclasses +import gzip import json import logging +import lzma +import os import pathlib import random import re import string -from typing import Any, Final, Self, TypeAlias +from typing import Any, Final, Self, TypeAlias, cast from alphafold3 import structure from alphafold3.constants import chemical_components from alphafold3.constants import mmcif_names from alphafold3.constants import residue_names +from alphafold3.cpp import cif_dict from alphafold3.structure import mmcif as mmcif_lib import rdkit.Chem as rd_chem +import zstandard as zstd BondAtomId: TypeAlias = tuple[str, int, str] JSON_DIALECT: Final[str] = 'alphafold3' -JSON_VERSION: Final[int] = 1 +JSON_VERSIONS: Final[tuple[int, ...]] = (1, 2, 3) +JSON_VERSION: Final[int] = JSON_VERSIONS[-1] ALPHAFOLDSERVER_JSON_DIALECT: Final[str] = 'alphafoldserver' ALPHAFOLDSERVER_JSON_VERSION: Final[int] = 1 @@ -43,12 +49,46 @@ def _validate_keys(actual: Collection[str], expected: Collection[str]): raise ValueError(f'Unexpected JSON keys in: {", ".join(sorted(bad_keys))}') +def _read_file(path: pathlib.Path, json_path: pathlib.Path | None) -> str: + """Reads a maybe compressed (gzip, xz, zstd) file from the given path. + + Args: + path: The path to the file to read. This can be either absolute path, or a + path relative to the JSON file path. + json_path: The path to the JSON file. If None, the path must be absolute. + + Returns: + The contents of the file. + """ + if not path.is_absolute(): + if json_path is None: + raise ValueError('json_path must be specified if path is not absolute.') + path = (json_path.parent / path).resolve() + + with open(path, 'rb') as f: + first_six_bytes = f.read(6) + f.seek(0) + + # Detect the compression type using the magic number in the header. + if first_six_bytes[:2] == b'\x1f\x8b': + with gzip.open(f, 'rt') as gzip_f: + return cast(str, gzip_f.read()) + elif first_six_bytes == b'\xfd\x37\x7a\x58\x5a\x00': + with lzma.open(f, 'rt') as xz_f: + return cast(str, xz_f.read()) + elif first_six_bytes[:4] == b'\x28\xb5\x2f\xfd': + with zstd.open(f, 'rt') as zstd_f: + return cast(str, zstd_f.read()) + else: + return f.read().decode('utf-8') + + class Template: """Structural template input.""" __slots__ = ('_mmcif', '_query_to_template') - def __init__(self, mmcif: str, query_to_template_map: Mapping[int, int]): + def __init__(self, *, mmcif: str, query_to_template_map: Mapping[int, int]): """Initializes the template. Args: @@ -80,50 +120,128 @@ class Template: return mmcifs_equal and maps_equal -@dataclasses.dataclass(frozen=True, slots=True, kw_only=True) class ProteinChain: - """Protein chain input. + """Protein chain input.""" + + __slots__ = ( + '_id', + '_sequence', + '_ptms', + '_paired_msa', + '_unpaired_msa', + '_templates', + ) + + def __init__( + self, + *, + id: str, # pylint: disable=redefined-builtin + sequence: str, + ptms: Sequence[tuple[str, int]], + paired_msa: str | None = None, + unpaired_msa: str | None = None, + templates: Sequence[Template] | None = None, + ): + """Initializes a single protein chain input. - Attributes: - id: Unique protein chain identifier. - sequence: The amino acid sequence of the chain. - ptms: A list of tuples containing the post-translational modification type - and the (1-based) residue index where the modification is applied. - paired_msa: Paired A3M-formatted MSA for this chain. This MSA is not - deduplicated and will be used to compute paired features. If None, this - field is unset and must be filled in by the data pipeline before - featurisation. If set to an empty string, it will be treated as a custom - MSA with no sequences. - unpaired_msa: Unpaired A3M-formatted MSA for this chain. This will be - deduplicated and used to compute unpaired features. If None, this field is - unset and must be filled in by the data pipeline before featurisation. If - set to an empty string, it will be treated as a custom MSA with no - sequences. - templates: A list of structural templates for this chain. If None, this - field is unset and must be filled in by the data pipeline before - featurisation. The list can be empty or contain up to 20 templates. - """ - - id: str - sequence: str - ptms: Sequence[tuple[str, int]] - paired_msa: str | None = None - unpaired_msa: str | None = None - templates: Sequence[Template] | None = None - - def __post_init__(self): - if not all(res.isalpha() for res in self.sequence): + Args: + id: Unique protein chain identifier. + sequence: The amino acid sequence of the chain. + ptms: A list of tuples containing the post-translational modification type + and the (1-based) residue index where the modification is applied. + paired_msa: Paired A3M-formatted MSA for this chain. This MSA is not + deduplicated and will be used to compute paired features. If None, this + field is unset and must be filled in by the data pipeline before + featurisation. If set to an empty string, it will be treated as a custom + MSA with no sequences. + unpaired_msa: Unpaired A3M-formatted MSA for this chain. This will be + deduplicated and used to compute unpaired features. If None, this field + is unset and must be filled in by the data pipeline before + featurisation. If set to an empty string, it will be treated as a custom + MSA with no sequences. + templates: A list of structural templates for this chain. If None, this + field is unset and must be filled in by the data pipeline before + featurisation. The list can be empty or contain up to 20 templates. + """ + if not all(res.isalpha() for res in sequence): + raise ValueError(f'Protein must contain only letters, got "{sequence}"') + if any(not 0 < mod[1] <= len(sequence) for mod in ptms): + raise ValueError(f'Invalid protein modification index: {ptms}') + if any(mod[0].startswith('CCD_') for mod in ptms): raise ValueError( - f'Protein must contain only digits, got "{self.sequence}"' + f'Protein ptms must not contain the "CCD_" prefix, got {ptms}' ) - if any(not 0 < mod[1] <= len(self.sequence) for mod in self.ptms): - raise ValueError(f'Invalid protein modification index: {self.ptms}') + # Use hashable containers for ptms and templates. + self._id = id + self._sequence = sequence + self._ptms = tuple(ptms) + self._paired_msa = paired_msa + self._unpaired_msa = unpaired_msa + self._templates = tuple(templates) if templates is not None else None - # Use hashable types for ptms and templates. - if self.ptms is not None: - object.__setattr__(self, 'ptms', tuple(self.ptms)) - if self.templates is not None: - object.__setattr__(self, 'templates', tuple(self.templates)) + @property + def id(self) -> str: + return self._id + + @property + def sequence(self) -> str: + """Returns a single-letter sequence, taking modifications into account. + + Uses 'X' for all unknown residues. + """ + return ''.join([ + residue_names.letters_three_to_one(r, default='X') + for r in self.to_ccd_sequence() + ]) + + @property + def ptms(self) -> Sequence[tuple[str, int]]: + return self._ptms + + @property + def paired_msa(self) -> str | None: + return self._paired_msa + + @property + def unpaired_msa(self) -> str | None: + return self._unpaired_msa + + @property + def templates(self) -> Sequence[Template] | None: + return self._templates + + def __len__(self) -> int: + return len(self._sequence) + + def __eq__(self, other: Self) -> bool: + return ( + self._id == other._id + and self._sequence == other._sequence + and self._ptms == other._ptms + and self._paired_msa == other._paired_msa + and self._unpaired_msa == other._unpaired_msa + and self._templates == other._templates + ) + + def __hash__(self) -> int: + return hash(( + self._id, + self._sequence, + self._ptms, + self._paired_msa, + self._unpaired_msa, + self._templates, + )) + + def hash_without_id(self) -> int: + """Returns a hash ignoring the ID - useful for deduplication.""" + return hash(( + self._sequence, + self._ptms, + self._paired_msa, + self._unpaired_msa, + self._templates, + )) @classmethod def from_alphafoldserver_dict( @@ -132,25 +250,45 @@ class ProteinChain: """Constructs ProteinChain from the AlphaFoldServer JSON dict.""" _validate_keys( json_dict.keys(), - {'sequence', 'glycans', 'modifications', 'count'}, + { + 'sequence', + 'glycans', + 'modifications', + 'count', + 'maxTemplateDate', + 'useStructureTemplate', + }, ) sequence = json_dict['sequence'] if 'glycans' in json_dict: raise ValueError( f'Specifying glycans in the `{ALPHAFOLDSERVER_JSON_DIALECT}` format' - ' is not currently supported.' + ' is not supported.' ) + if 'maxTemplateDate' in json_dict: + raise ValueError( + f'Specifying maxTemplateDate in the `{ALPHAFOLDSERVER_JSON_DIALECT}`' + ' format is not supported, use the --max_template_date flag instead.' + ) + + templates = None # Search for templates unless explicitly disabled. + if not json_dict.get('useStructureTemplate', True): + templates = [] # Do not use any templates. + ptms = [ (mod['ptmType'].removeprefix('CCD_'), mod['ptmPosition']) for mod in json_dict.get('modifications', []) ] - return cls(id=seq_id, sequence=sequence, ptms=ptms) + return cls(id=seq_id, sequence=sequence, ptms=ptms, templates=templates) @classmethod def from_dict( - cls, json_dict: Mapping[str, Any], seq_id: str | None = None + cls, + json_dict: Mapping[str, Any], + json_path: pathlib.Path | None = None, + seq_id: str | None = None, ) -> Self: """Constructs ProteinChain from the AlphaFold JSON dict.""" json_dict = json_dict['protein'] @@ -161,7 +299,9 @@ class ProteinChain: 'sequence', 'modifications', 'unpairedMsa', + 'unpairedMsaPath', 'pairedMsa', + 'pairedMsaPath', 'templates', }, ) @@ -173,22 +313,52 @@ class ProteinChain: ] unpaired_msa = json_dict.get('unpairedMsa', None) + unpaired_msa_path = json_dict.get('unpairedMsaPath', None) + if unpaired_msa and unpaired_msa_path: + raise ValueError('Only one of unpairedMsa/unpairedMsaPath can be set.') + if ( + unpaired_msa + and len(unpaired_msa) < 256 + and os.path.exists(unpaired_msa) + ): + raise ValueError( + 'Set the unpaired MSA path using the "unpairedMsaPath" field.' + ) + elif unpaired_msa_path: + unpaired_msa = _read_file(pathlib.Path(unpaired_msa_path), json_path) + paired_msa = json_dict.get('pairedMsa', None) + paired_msa_path = json_dict.get('pairedMsaPath', None) + if paired_msa and paired_msa_path: + raise ValueError('Only one of pairedMsa/pairedMsaPath can be set.') + if paired_msa and len(paired_msa) < 256 and os.path.exists(paired_msa): + raise ValueError( + 'Set the paired MSA path using the "pairedMsaPath" field.' + ) + elif paired_msa_path: + paired_msa = _read_file(pathlib.Path(paired_msa_path), json_path) raw_templates = json_dict.get('templates', None) if raw_templates is None: templates = None else: - templates = [ - Template( - mmcif=template['mmcif'], - query_to_template_map=dict( - zip(template['queryIndices'], template['templateIndices']) - ), - ) - for template in raw_templates - ] + templates = [] + for raw_template in raw_templates: + mmcif = raw_template.get('mmcif', None) + mmcif_path = raw_template.get('mmcifPath', None) + if mmcif and mmcif_path: + raise ValueError('Only one of mmcif/mmcifPath can be set.') + if mmcif and len(mmcif) < 256 and os.path.exists(mmcif): + raise ValueError('Set the template path using the "mmcifPath" field.') + if mmcif_path: + mmcif = _read_file(pathlib.Path(mmcif_path), json_path) + query_to_template_map = dict( + zip(raw_template['queryIndices'], raw_template['templateIndices']) + ) + templates.append( + Template(mmcif=mmcif, query_to_template_map=query_to_template_map) + ) return cls( id=seq_id or json_dict['id'], @@ -199,9 +369,11 @@ class ProteinChain: templates=templates, ) - def to_dict(self) -> Mapping[str, Mapping[str, Any]]: + def to_dict( + self, seq_id: str | Sequence[str] | None = None + ) -> Mapping[str, Mapping[str, Any]]: """Converts ProteinChain to an AlphaFold JSON dict.""" - if self.templates is None: + if self._templates is None: templates = None else: templates = [ @@ -212,16 +384,16 @@ class ProteinChain: list(template.query_to_template_map.values()) or None ), } - for template in self.templates + for template in self._templates ] contents = { - 'id': self.id, - 'sequence': self.sequence, + 'id': seq_id or self._id, + 'sequence': self._sequence, 'modifications': [ - {'ptmType': ptm[0], 'ptmPosition': ptm[1]} for ptm in self.ptms + {'ptmType': ptm[0], 'ptmPosition': ptm[1]} for ptm in self._ptms ], - 'unpairedMsa': self.unpaired_msa, - 'pairedMsa': self.paired_msa, + 'unpairedMsa': self._unpaired_msa, + 'pairedMsa': self._paired_msa, 'templates': templates, } return {'protein': contents} @@ -230,51 +402,107 @@ class ProteinChain: """Converts to a sequence of CCD codes.""" ccd_coded_seq = [ residue_names.PROTEIN_COMMON_ONE_TO_THREE.get(res, residue_names.UNK) - for res in self.sequence + for res in self._sequence ] - for ptm_code, ptm_index in self.ptms: + for ptm_code, ptm_index in self._ptms: ccd_coded_seq[ptm_index - 1] = ptm_code return ccd_coded_seq def fill_missing_fields(self) -> Self: """Fill missing MSA and template fields with default values.""" - return dataclasses.replace( - self, - unpaired_msa=self.unpaired_msa or '', - paired_msa=self.paired_msa or '', - templates=self.templates or [], + return ProteinChain( + id=self.id, + sequence=self._sequence, + ptms=self._ptms, + unpaired_msa=self._unpaired_msa or '', + paired_msa=self._paired_msa or '', + templates=self._templates or [], ) -@dataclasses.dataclass(frozen=True, slots=True, kw_only=True) class RnaChain: - """RNA chain input. + """RNA chain input.""" - Attributes: - id: Unique RNA chain identifier. - sequence: The RNA sequence of the chain. - modifications: A list of tuples containing the modification type and the - (1-based) residue index where the modification is applied. - unpaired_msa: Unpaired A3M-formatted MSA for this chain. This will be - deduplicated and used to compute unpaired features. If None, this field is - unset and must be filled in by the data pipeline before featurisation. If - set to an empty string, it will be treated as a custom MSA with no - sequences. - """ + __slots__ = ('_id', '_sequence', '_modifications', '_unpaired_msa') - id: str - sequence: str - modifications: Sequence[tuple[str, int]] - unpaired_msa: str | None = None + def __init__( + self, + *, + id: str, # pylint: disable=redefined-builtin + sequence: str, + modifications: Sequence[tuple[str, int]], + unpaired_msa: str | None = None, + ): + """Initializes a single strand RNA chain input. - def __post_init__(self): - if not all(res.isalpha() for res in self.sequence): - raise ValueError(f'RNA must contain only digits, got "{self.sequence}"') - if any(not 0 < mod[1] <= len(self.sequence) for mod in self.modifications): - raise ValueError(f'Invalid RNA modification index: {self.modifications}') + Args: + id: Unique RNA chain identifier. + sequence: The RNA sequence of the chain. + modifications: A list of tuples containing the modification type and the + (1-based) residue index where the modification is applied. + unpaired_msa: Unpaired A3M-formatted MSA for this chain. This will be + deduplicated and used to compute unpaired features. If None, this field + is unset and must be filled in by the data pipeline before + featurisation. If set to an empty string, it will be treated as a custom + MSA with no sequences. + """ + if not all(res.isalpha() for res in sequence): + raise ValueError(f'RNA must contain only letters, got "{sequence}"') + if any(not 0 < mod[1] <= len(sequence) for mod in modifications): + raise ValueError(f'Invalid RNA modification index: {modifications}') + if any(mod[0].startswith('CCD_') for mod in modifications): + raise ValueError( + 'RNA modifications must not contain the "CCD_" prefix, got' + f' {modifications}' + ) + self._id = id + self._sequence = sequence + # Use hashable container for modifications. + self._modifications = tuple(modifications) + self._unpaired_msa = unpaired_msa + + @property + def id(self) -> str: + return self._id + + @property + def sequence(self) -> str: + """Returns a single-letter sequence, taking modifications into account. + + Uses 'N' for all unknown residues. + """ + return ''.join([ + residue_names.letters_three_to_one(r, default='N') + for r in self.to_ccd_sequence() + ]) + + @property + def modifications(self) -> Sequence[tuple[str, int]]: + return self._modifications + + @property + def unpaired_msa(self) -> str | None: + return self._unpaired_msa - # Use hashable types for modifications. - object.__setattr__(self, 'modifications', tuple(self.modifications)) + def __len__(self) -> int: + return len(self._sequence) + + def __eq__(self, other: Self) -> bool: + return ( + self._id == other._id + and self._sequence == other._sequence + and self._modifications == other._modifications + and self._unpaired_msa == other._unpaired_msa + ) + + def __hash__(self) -> int: + return hash( + (self._id, self._sequence, self._modifications, self._unpaired_msa) + ) + + def hash_without_id(self) -> int: + """Returns a hash ignoring the ID - useful for deduplication.""" + return hash((self._sequence, self._modifications, self._unpaired_msa)) @classmethod def from_alphafoldserver_dict( @@ -291,19 +519,38 @@ class RnaChain: @classmethod def from_dict( - cls, json_dict: Mapping[str, Any], seq_id: str | None = None + cls, + json_dict: Mapping[str, Any], + json_path: pathlib.Path | None = None, + seq_id: str | None = None, ) -> Self: """Constructs RnaChain from the AlphaFold JSON dict.""" json_dict = json_dict['rna'] _validate_keys( - json_dict.keys(), {'id', 'sequence', 'unpairedMsa', 'modifications'} + json_dict.keys(), + {'id', 'sequence', 'unpairedMsa', 'unpairedMsaPath', 'modifications'}, ) sequence = json_dict['sequence'] modifications = [ (mod['modificationType'], mod['basePosition']) for mod in json_dict.get('modifications', []) ] + unpaired_msa = json_dict.get('unpairedMsa', None) + unpaired_msa_path = json_dict.get('unpairedMsaPath', None) + if unpaired_msa and unpaired_msa_path: + raise ValueError('Only one of unpairedMsa/unpairedMsaPath can be set.') + if ( + unpaired_msa + and len(unpaired_msa) < 256 + and os.path.exists(unpaired_msa) + ): + raise ValueError( + 'Set the unpaired MSA path using the "unpairedMsaPath" field.' + ) + elif unpaired_msa_path: + unpaired_msa = _read_file(pathlib.Path(unpaired_msa_path), json_path) + return cls( id=seq_id or json_dict['id'], sequence=sequence, @@ -311,16 +558,18 @@ class RnaChain: unpaired_msa=unpaired_msa, ) - def to_dict(self) -> Mapping[str, Mapping[str, Any]]: + def to_dict( + self, seq_id: str | Sequence[str] | None = None + ) -> Mapping[str, Mapping[str, Any]]: """Converts RnaChain to an AlphaFold JSON dict.""" contents = { - 'id': self.id, - 'sequence': self.sequence, + 'id': seq_id or self._id, + 'sequence': self._sequence, 'modifications': [ {'modificationType': mod[0], 'basePosition': mod[1]} - for mod in self.modifications + for mod in self._modifications ], - 'unpairedMsa': self.unpaired_msa, + 'unpairedMsa': self._unpaired_msa, } return {'rna': contents} @@ -328,40 +577,90 @@ class RnaChain: """Converts to a sequence of CCD codes.""" mapping = {r: r for r in residue_names.RNA_TYPES} # Same 1-letter and CCD. ccd_coded_seq = [ - mapping.get(res, residue_names.UNK_RNA) for res in self.sequence + mapping.get(res, residue_names.UNK_RNA) for res in self._sequence ] - for ccd_code, modification_index in self.modifications: + for ccd_code, modification_index in self._modifications: ccd_coded_seq[modification_index - 1] = ccd_code return ccd_coded_seq def fill_missing_fields(self) -> Self: """Fill missing MSA fields with default values.""" - return dataclasses.replace(self, unpaired_msa=self.unpaired_msa or '') + return RnaChain( + id=self.id, + sequence=self.sequence, + modifications=self.modifications, + unpaired_msa=self._unpaired_msa or '', + ) -@dataclasses.dataclass(frozen=True, slots=True, kw_only=True) class DnaChain: - """Single strand DNA chain input. + """Single strand DNA chain input.""" - Attributes: - id: Unique DNA chain identifier. - sequence: The DNA sequence of the chain. - modifications: A list of tuples containing the modification type and the - (1-based) residue index where the modification is applied. - """ + __slots__ = ('_id', '_sequence', '_modifications') - id: str - sequence: str - modifications: Sequence[tuple[str, int]] + def __init__( + self, + *, + id: str, # pylint: disable=redefined-builtin + sequence: str, + modifications: Sequence[tuple[str, int]], + ): + """Initializes a single strand DNA chain input. - def __post_init__(self): - if not all(res.isalpha() for res in self.sequence): - raise ValueError(f'DNA must contain only digits, got "{self.sequence}"') - if any(not 0 < mod[1] <= len(self.sequence) for mod in self.modifications): - raise ValueError(f'Invalid DNA modification index: {self.modifications}') + Args: + id: Unique DNA chain identifier. + sequence: The DNA sequence of the chain. + modifications: A list of tuples containing the modification type and the + (1-based) residue index where the modification is applied. + """ + if not all(res.isalpha() for res in sequence): + raise ValueError(f'DNA must contain only letters, got "{sequence}"') + if any(not 0 < mod[1] <= len(sequence) for mod in modifications): + raise ValueError(f'Invalid DNA modification index: {modifications}') + if any(mod[0].startswith('CCD_') for mod in modifications): + raise ValueError( + 'DNA modifications must not contain the "CCD_" prefix, got' + f' {modifications}' + ) + self._id = id + self._sequence = sequence + # Use hashable container for modifications. + self._modifications = tuple(modifications) + + @property + def id(self) -> str: + return self._id + + @property + def sequence(self) -> str: + """Returns a single-letter sequence, taking modifications into account. + + Uses 'N' for all unknown residues. + """ + return ''.join([ + residue_names.letters_three_to_one(r, default='N') + for r in self.to_ccd_sequence() + ]) + + def __len__(self) -> int: + return len(self._sequence) + + def __eq__(self, other: Self) -> bool: + return ( + self._id == other._id + and self._sequence == other._sequence + and self._modifications == other._modifications + ) + + def __hash__(self) -> int: + return hash((self._id, self._sequence, self._modifications)) + + def modifications(self) -> Sequence[tuple[str, int]]: + return self._modifications - # Use hashable types for modifications. - object.__setattr__(self, 'modifications', tuple(self.modifications)) + def hash_without_id(self) -> int: + """Returns a hash ignoring the ID - useful for deduplication.""" + return hash((self._sequence, self._modifications)) @classmethod def from_alphafoldserver_dict( @@ -394,14 +693,16 @@ class DnaChain: modifications=modifications, ) - def to_dict(self) -> Mapping[str, Mapping[str, Any]]: + def to_dict( + self, seq_id: str | Sequence[str] | None = None + ) -> Mapping[str, Mapping[str, Any]]: """Converts DnaChain to an AlphaFold JSON dict.""" contents = { - 'id': self.id, - 'sequence': self.sequence, + 'id': seq_id or self._id, + 'sequence': self._sequence, 'modifications': [ {'modificationType': mod[0], 'basePosition': mod[1]} - for mod in self.modifications + for mod in self._modifications ], } return {'dna': contents} @@ -410,9 +711,9 @@ class DnaChain: """Converts to a sequence of CCD codes.""" ccd_coded_seq = [ residue_names.DNA_COMMON_ONE_TO_TWO.get(res, residue_names.UNK_DNA) - for res in self.sequence + for res in self._sequence ] - for ccd_code, modification_index in self.modifications: + for ccd_code, modification_index in self._modifications: ccd_coded_seq[modification_index - 1] = ccd_code return ccd_coded_seq @@ -448,6 +749,16 @@ class Ligand: if self.ccd_ids is not None: object.__setattr__(self, 'ccd_ids', tuple(self.ccd_ids)) + def __len__(self) -> int: + if self.ccd_ids is not None: + return len(self.ccd_ids) + else: + return 1 + + def hash_without_id(self) -> int: + """Returns a hash ignoring the ID - useful for deduplication.""" + return hash((self.ccd_ids, self.smiles)) + @classmethod def from_alphafoldserver_dict( cls, json_dict: Mapping[str, Any], seq_id: str @@ -482,9 +793,11 @@ class Ligand: else: raise ValueError(f'Unknown ligand type: {json_dict}') - def to_dict(self) -> Mapping[str, Any]: + def to_dict( + self, seq_id: str | Sequence[str] | None = None + ) -> Mapping[str, Mapping[str, Any]]: """Converts Ligand to an AlphaFold JSON dict.""" - contents = {'id': self.id} + contents = {'id': seq_id or self.id} if self.ccd_ids is not None: contents['ccdCodes'] = self.ccd_ids if self.smiles is not None: @@ -498,6 +811,35 @@ def _sample_rng_seed() -> int: return random.randint(0, 2**32 - 1) +def _validate_user_ccd_keys(keys: Sequence[str], component_name: str) -> None: + """Validates the keys of the user-defined CCD dictionary.""" + mandatory_keys = ( + '_chem_comp.id', + '_chem_comp.name', + '_chem_comp.type', + '_chem_comp.formula', + '_chem_comp.mon_nstd_parent_comp_id', + '_chem_comp.pdbx_synonyms', + '_chem_comp.formula_weight', + '_chem_comp_atom.comp_id', + '_chem_comp_atom.atom_id', + '_chem_comp_atom.type_symbol', + '_chem_comp_atom.charge', + '_chem_comp_atom.pdbx_model_Cartn_x_ideal', + '_chem_comp_atom.pdbx_model_Cartn_y_ideal', + '_chem_comp_atom.pdbx_model_Cartn_z_ideal', + '_chem_comp_bond.atom_id_1', + '_chem_comp_bond.atom_id_2', + '_chem_comp_bond.value_order', + '_chem_comp_bond.pdbx_aromatic_flag', + ) + if missing_keys := set(mandatory_keys) - set(keys): + raise ValueError( + f'Component {component_name} in the user-defined CCD is missing these' + f' keys: {missing_keys}' + ) + + @dataclasses.dataclass(frozen=True, slots=True, kw_only=True) class Input: """AlphaFold input. @@ -540,9 +882,7 @@ class Input: chain_ids = [c.id for c in self.chains] if any(not c.id.isalpha() or c.id.islower() for c in self.chains): - raise ValueError( - f'IDs must be alphanumeric and upper case, got: {chain_ids}' - ) + raise ValueError(f'IDs must be upper case letters, got: {chain_ids}') if len(set(chain_ids)) != len(chain_ids): raise ValueError('Input JSON contains sequences with duplicate IDs.') @@ -554,6 +894,12 @@ class Input: self, 'bonded_atom_pairs', tuple(self.bonded_atom_pairs) ) + if self.user_ccd is not None: + for component_name, component_cif in cif_dict.parse_multi_data_cif( + self.user_ccd + ).items(): + _validate_user_ccd_keys(component_cif.keys(), component_name) + @property def protein_chains(self) -> Sequence[ProteinChain]: return [chain for chain in self.chains if isinstance(chain, ProteinChain)] @@ -570,6 +916,12 @@ class Input: def ligands(self) -> Sequence[Ligand]: return [chain for chain in self.chains if isinstance(chain, Ligand)] + def sanitised_name(self) -> str: + """Returns sanitised version of the name that can be used as a filename.""" + lower_spaceless_name = self.name.lower().replace(' ', '_') + allowed_chars = set(string.ascii_lowercase + string.digits + '_-.') + return ''.join(l for l in lower_spaceless_name if l in allowed_chars) + @classmethod def from_alphafoldserver_fold_job(cls, fold_job: Mapping[str, Any]) -> Self: """Constructs Input from an AlphaFoldServer fold job.""" @@ -660,7 +1012,9 @@ class Input: return cls(name=fold_job['name'], chains=chains, rng_seeds=rng_seeds) @classmethod - def from_json(cls, json_str: str) -> Self: + def from_json( + cls, json_str: str, json_path: pathlib.Path | None = None + ) -> Self: """Loads the input from the AlphaFold JSON string.""" raw_json = json.loads(json_str) @@ -674,6 +1028,7 @@ class Input: 'sequences', 'bondedAtomPairs', 'userCCD', + 'userCCDPath', }, ) @@ -688,11 +1043,10 @@ class Input: f' {raw_json["dialect"]}, expected {JSON_DIALECT}.' ) - # For now, there is only one AlphaFold 3 JSON version. - if raw_json['version'] != JSON_VERSION: + if raw_json['version'] not in JSON_VERSIONS: raise ValueError( 'AlphaFold 3 input JSON has unsupported version:' - f' {raw_json["version"]}, expected {JSON_VERSION}.' + f' {raw_json["version"]}, expected one of {JSON_VERSIONS}.' ) if 'sequences' not in raw_json: @@ -730,9 +1084,9 @@ class Input: raise ValueError(f'Chain {seq_ids} has more than 1 sequence.') for seq_id in seq_ids: if 'protein' in sequence: - chains.append(ProteinChain.from_dict(sequence, seq_id=seq_id)) + chains.append(ProteinChain.from_dict(sequence, json_path, seq_id)) elif 'rna' in sequence: - chains.append(RnaChain.from_dict(sequence, seq_id=seq_id)) + chains.append(RnaChain.from_dict(sequence, json_path, seq_id)) elif 'dna' in sequence: chains.append(DnaChain.from_dict(sequence, seq_id=seq_id)) elif 'ligand' in sequence: @@ -740,7 +1094,10 @@ class Input: else: raise ValueError(f'Unknown sequence type: {sequence}') - ligands = [chain for chain in chains if isinstance(chain, Ligand)] + smiles_ligand_ids = set( + c.id for c in chains if isinstance(c, Ligand) and c.smiles is not None + ) + chain_lengths = {chain.id: len(chain) for chain in chains} bonded_atom_pairs = None if bonds := raw_json.get('bondedAtomPairs'): bonded_atom_pairs = [] @@ -770,9 +1127,11 @@ class Input: ) if bond_beg[0] not in flat_seq_ids or bond_end[0] not in flat_seq_ids: raise ValueError(f'Invalid chain ID(s) in bond {bond}') - if bond_beg[1] <= 0 or bond_end[1] <= 0: + if ( + not 0 < bond_beg[1] <= chain_lengths[bond_beg[0]] + or not 0 < bond_end[1] <= chain_lengths[bond_end[0]] + ): raise ValueError(f'Invalid residue ID(s) in bond {bond}') - smiles_ligand_ids = set(l.id for l in ligands if l.smiles is not None) if bond_beg[0] in smiles_ligand_ids: raise ValueError( f'Bond {bond} involves an unsupported SMILES ligand {bond_beg[0]}' @@ -783,12 +1142,24 @@ class Input: ) bonded_atom_pairs.append((tuple(bond_beg), tuple(bond_end))) + if len(bonded_atom_pairs) != len(set(bonded_atom_pairs)): + raise ValueError(f'Bonds are not unique: {bonded_atom_pairs}') + + user_ccd = raw_json.get('userCCD') + user_ccd_path = raw_json.get('userCCDPath') + if user_ccd and user_ccd_path: + raise ValueError('Only one of userCCD/userCCDPath can be set.') + if user_ccd and len(user_ccd) < 256 and os.path.exists(user_ccd): + raise ValueError('Set the user CCD path using the "userCCDPath" field.') + elif user_ccd_path: + user_ccd = _read_file(pathlib.Path(user_ccd_path), json_path) + return cls( name=raw_json['name'], chains=chains, rng_seeds=[int(seed) for seed in raw_json['modelSeeds']], bonded_atom_pairs=bonded_atom_pairs, - user_ccd=raw_json.get('userCCD'), + user_ccd=user_ccd, ) @classmethod @@ -808,11 +1179,21 @@ class Input: struc = structure.from_mmcif( mmcif_str, - include_water=False, + # Change MSE residues to MET residues. fix_mse_residues=True, + # Fix arginine atom names. This is not needed since the input discards + # any atom-level data, but kept for consistency with the paper. + fix_arginines=True, + # Fix unknown DNA residues to the correct unknown DNA residue type. fix_unknown_dna=True, - include_bonds=True, + # Do not include water molecules. + include_water=False, + # Do not include things like DNA/RNA hybrids. This will be changed once + # we have a way of handling these in the AlphaFold 3 input format. include_other=False, + # Include the specific bonds defined in the mmCIF bond table, e.g. + # covalent bonds for PTMs. + include_bonds=True, ) # Create default bioassembly, expanding structures implied by stoichiometry. @@ -878,10 +1259,12 @@ class Input: ) bonded_atom_pairs = [] + chain_ids = set(c.id for c in chains) for atom_a, atom_b, _ in struc.iter_bonds(): - beg = (atom_a['chain_id'], int(atom_a['res_id']), atom_a['atom_name']) - end = (atom_b['chain_id'], int(atom_b['res_id']), atom_b['atom_name']) - bonded_atom_pairs.append((beg, end)) + if atom_a['chain_id'] in chain_ids and atom_b['chain_id'] in chain_ids: + beg = (atom_a['chain_id'], int(atom_a['res_id']), atom_a['atom_name']) + end = (atom_b['chain_id'], int(atom_b['res_id']), atom_b['atom_name']) + bonded_atom_pairs.append((beg, end)) return cls( name=struc.name, @@ -965,12 +1348,23 @@ class Input: def to_json(self) -> str: """Converts Input to an AlphaFold JSON.""" + deduped_chains = {} + deduped_chain_ids = {} + for chain in self.chains: + deduped_chains[chain.hash_without_id()] = chain + deduped_chain_ids.setdefault(chain.hash_without_id(), []).append(chain.id) + + sequences = [] + for chain_content_hash, ids in deduped_chain_ids.items(): + chain = deduped_chains[chain_content_hash] + sequences.append(chain.to_dict(seq_id=ids if len(ids) > 1 else ids[0])) + alphafold_json = json.dumps( { 'dialect': JSON_DIALECT, 'version': JSON_VERSION, 'name': self.name, - 'sequences': [chain.to_dict() for chain in self.chains], + 'sequences': sequences, 'modelSeeds': self.rng_seeds, 'bondedAtomPairs': self.bonded_atom_pairs, 'userCCD': self.user_ccd, @@ -997,23 +1391,20 @@ class Input: ] return dataclasses.replace(self, chains=with_missing_fields) - def sanitised_name(self) -> str: - """Returns sanitised version of the name that can be used as a filename.""" - lower_spaceless_name = self.name.lower().replace(' ', '_') - allowed_chars = set(string.ascii_lowercase + string.digits + '_-.') - return ''.join(l for l in lower_spaceless_name if l in allowed_chars) - + def with_multiple_seeds(self, num_seeds: int) -> Self: + """Returns a copy of the input with num_seeds rng seeds.""" + if num_seeds <= 1: + raise ValueError('Number of seeds must be greater than 1.') + if len(self.rng_seeds) != 1: + raise ValueError('Input must have one rng seed to set multiple seeds.') -def check_unique_sanitised_names(fold_inputs: Sequence[Input]) -> None: - """Checks that the names of the fold inputs are unique.""" - names = [fi.sanitised_name() for fi in fold_inputs] - if len(set(names)) != len(names): - raise ValueError( - f'Fold inputs must have unique sanitised names, got {names}.' + return dataclasses.replace( + self, + rng_seeds=list(range(self.rng_seeds[0], self.rng_seeds[0] + num_seeds)), ) -def load_fold_inputs_from_path(json_path: pathlib.Path) -> Sequence[Input]: +def load_fold_inputs_from_path(json_path: pathlib.Path) -> Iterator[Input]: """Loads multiple fold inputs from a JSON string.""" with open(json_path, 'r') as f: json_str = f.read() @@ -1021,64 +1412,38 @@ def load_fold_inputs_from_path(json_path: pathlib.Path) -> Sequence[Input]: # Parse the JSON string, so we can detect its format. raw_json = json.loads(json_str) - fold_inputs = [] if isinstance(raw_json, list): # AlphaFold Server JSON. - logging.info( - 'Detected %s is an AlphaFold Server JSON since the top-level is a' - ' list.', - json_path, - ) - logging.info('Loading %d fold jobs from %s', len(raw_json), json_path) for fold_job_idx, fold_job in enumerate(raw_json): try: - fold_inputs.append(Input.from_alphafoldserver_fold_job(fold_job)) + yield Input.from_alphafoldserver_fold_job(fold_job) except ValueError as e: raise ValueError( - f'Failed to load fold job {fold_job_idx} from {json_path}. The JSON' - f' at {json_path} was detected to be an AlphaFold Server JSON since' - ' the top-level is a list.' + f'Failed to load fold job {fold_job_idx} from {json_path}' + f' (AlphaFold Server dialect): {e}' ) from e else: - logging.info( - 'Detected %s is an AlphaFold 3 JSON since the top-level is not a list.', - json_path, - ) # AlphaFold 3 JSON. try: - fold_inputs.append(Input.from_json(json_str)) + yield Input.from_json(json_str, json_path) except ValueError as e: raise ValueError( - f'Failed to load fold input from {json_path}. The JSON at' - f' {json_path} was detected to be an AlphaFold 3 JSON since the' - ' top-level is not a list.' + f'Failed to load input from {json_path} (AlphaFold 3 dialect): {e}' ) from e - check_unique_sanitised_names(fold_inputs) - - return fold_inputs - -def load_fold_inputs_from_dir(input_dir: pathlib.Path) -> Sequence[Input]: +def load_fold_inputs_from_dir(input_dir: pathlib.Path) -> Iterator[Input]: """Loads multiple fold inputs from all JSON files in a given input_dir. Args: input_dir: The directory containing the JSON files. - Returns: + Yields: The fold inputs from all JSON files in the input directory. - - Raises: - ValueError: If the fold inputs have non-unique sanitised names. """ - fold_inputs = [] - for file_path in input_dir.glob('*.json'): + for file_path in sorted(input_dir.glob('*.json')): if not file_path.is_file(): continue - fold_inputs.extend(load_fold_inputs_from_path(file_path)) - - check_unique_sanitised_names(fold_inputs) - - return fold_inputs + yield from load_fold_inputs_from_path(file_path) diff --git a/src/alphafold3/constants/chemical_components.py b/src/alphafold3/constants/chemical_components.py index ec28845efaf478b260b4aac9e1dfcad7b5b87422..6b106a40c3cc123fa53586faecf0f3799589bb53 100644 --- a/src/alphafold3/constants/chemical_components.py +++ b/src/alphafold3/constants/chemical_components.py @@ -135,15 +135,23 @@ def mmcif_to_info(mmcif: Mapping[str, Sequence[str]]) -> ComponentInfo: # A non-standard component, e.g. MSE. mon_nstd_flag = 'n' - pdbx_smiles = '' - descriptor_types = mmcif['_pdbx_chem_comp_descriptor.type'] - descriptors = mmcif['_pdbx_chem_comp_descriptor.descriptor'] - for descriptor_type, descriptor in zip(descriptor_types, descriptors): + # Default SMILES is the canonical SMILES, but we fall back to the SMILES if a + # canonical SMILES is not available. Of canonical SMILES, we prefer ones from + # the OpenEye OEToolkits program. + canonical_pdbx_smiles = '' + fallback_pdbx_smiles = '' + descriptor_types = mmcif.get('_pdbx_chem_comp_descriptor.type', []) + descriptors = mmcif.get('_pdbx_chem_comp_descriptor.descriptor', []) + programs = mmcif.get('_pdbx_chem_comp_descriptor.program', []) + for descriptor_type, descriptor, program in zip( + descriptor_types, descriptors, programs + ): if descriptor_type == 'SMILES_CANONICAL': - pdbx_smiles = descriptor - break - elif not pdbx_smiles and descriptor_type == 'SMILES': - pdbx_smiles = descriptor + if (not canonical_pdbx_smiles) or program == 'OpenEye OEToolkits': + canonical_pdbx_smiles = descriptor + if not fallback_pdbx_smiles and descriptor_type == 'SMILES': + fallback_pdbx_smiles = descriptor + pdbx_smiles = canonical_pdbx_smiles or fallback_pdbx_smiles return ComponentInfo( name=front_or_empty(names), diff --git a/src/alphafold3/constants/converters/ccd_pickle_gen.py b/src/alphafold3/constants/converters/ccd_pickle_gen.py index 1be882521d3b71f1842d26c6eb8f24338bffe76d..6d1dce50082f2b16caa76727ae817c373834025c 100644 --- a/src/alphafold3/constants/converters/ccd_pickle_gen.py +++ b/src/alphafold3/constants/converters/ccd_pickle_gen.py @@ -36,7 +36,7 @@ def main(argv: Sequence[str]) -> None: result = { key: {k: tuple(v) for k, v in value.items()} for key, value in tqdm.tqdm( - cif_dict.parse_multi_data_cif(whole_file).items() + cif_dict.parse_multi_data_cif(whole_file).items(), disable=None ) } assert len(result) == whole_file.count(b'data_') diff --git a/src/alphafold3/constants/converters/chemical_component_sets_gen.py b/src/alphafold3/constants/converters/chemical_component_sets_gen.py index 42a14211a1a2adabd2e0f590aca1b70e000b948e..dfc48e8e3f03944f5c53b559aae3481c6814f874 100644 --- a/src/alphafold3/constants/converters/chemical_component_sets_gen.py +++ b/src/alphafold3/constants/converters/chemical_component_sets_gen.py @@ -32,7 +32,7 @@ def find_ions_and_glycans_in_ccd( glycans_linking = [] glycans_other = [] ions = [] - for name, comp in tqdm.tqdm(ccd.items()): + for name, comp in tqdm.tqdm(ccd.items(), disable=None): if name == 'UNX': continue # Skip "unknown atom or ion". comp_type = comp['_chem_comp.type'][0].lower() diff --git a/src/alphafold3/data/featurisation.py b/src/alphafold3/data/featurisation.py index 5f6a58c96d36552b683d3bc157cf39f8562386c5..bdbbb3c4a6d5dc2410a17068c9ffd8ad569a601e 100644 --- a/src/alphafold3/data/featurisation.py +++ b/src/alphafold3/data/featurisation.py @@ -39,7 +39,8 @@ def featurise_input( fold_input: folding_input.Input, ccd: chemical_components.Ccd, buckets: Sequence[int] | None, - max_template_date: datetime.date | None = None, + ref_max_modified_date: datetime.date | None = None, + conformer_max_iterations: int | None = None, verbose: bool = False, ) -> Sequence[features.BatchDict]: """Featurise the folding input. @@ -52,8 +53,13 @@ def featurise_input( number of tokens. If not None, must be a sequence of at least one integer, in strictly increasing order. Will raise an error if the number of tokens is more than the largest bucket size. - max_template_date: Optional max template date to prevent data leakage in - validation. + ref_max_modified_date: Optional maximum date that controls whether to allow + use of model coordinates for a chemical component from the CCD if RDKit + conformer generation fails and the component does not have ideal + coordinates set. Only for components that have been released before this + date the model coordinates can be used as a fallback. + conformer_max_iterations: Optional override for maximum number of iterations + to run for RDKit conformer search. verbose: Whether to print progress messages. Returns: @@ -64,7 +70,9 @@ def featurise_input( # Set up data pipeline for single use. data_pipeline = pipeline.WholePdbPipeline( config=pipeline.WholePdbPipeline.Config( - buckets=buckets, max_template_date=max_template_date + buckets=buckets, + ref_max_modified_date=ref_max_modified_date, + conformer_max_iterations=conformer_max_iterations, ), ) @@ -72,7 +80,7 @@ def featurise_input( for rng_seed in fold_input.rng_seeds: featurisation_start_time = time.time() if verbose: - print(f'Featurising {fold_input.name} with rng_seed {rng_seed}.') + print(f'Featurising data with seed {rng_seed}.') batch = data_pipeline.process_item( fold_input=fold_input, ccd=ccd, @@ -81,8 +89,8 @@ def featurise_input( ) if verbose: print( - f'Featurising {fold_input.name} with rng_seed {rng_seed} ' - f'took {time.time() - featurisation_start_time:.2f} seconds.' + f'Featurising data with seed {rng_seed} took' + f' {time.time() - featurisation_start_time:.2f} seconds.' ) batches.append(batch) diff --git a/src/alphafold3/data/parsers.py b/src/alphafold3/data/parsers.py index 8389810c44f8b36375ecd51eced86240dde7cd43..a48d0e18f635e60b50c4cd9a1770fe12e87eea0b 100644 --- a/src/alphafold3/data/parsers.py +++ b/src/alphafold3/data/parsers.py @@ -73,7 +73,7 @@ def convert_a3m_to_stockholm(a3m: str, max_seqs: int | None = None) -> str: # Add the Stockholm header with the sequence metadata. names = [] for i, description in enumerate(descriptions): - name, _, rest = description.partition(' ') + name, _, rest = description.replace('\t', ' ').partition(' ') # Ensure that the names are unique - stockholm format requires that # the sequence names are unique. name = f'{name}_{i}' @@ -129,6 +129,9 @@ def convert_stockholm_to_a3m( sequences[seqname] = '' sequences[seqname] += aligned_seq + if not sequences: + return '' + stockholm.seek(0) for line in stockholm: line = line.strip() diff --git a/src/alphafold3/data/pipeline.py b/src/alphafold3/data/pipeline.py index cde3b7d87716b287ebb27df4ce5feef76f25de69..026ccfa2e5b8af1244141df8b1b98be8b59351ea 100644 --- a/src/alphafold3/data/pipeline.py +++ b/src/alphafold3/data/pipeline.py @@ -22,20 +22,62 @@ from alphafold3.constants import mmcif_names from alphafold3.data import msa from alphafold3.data import msa_config from alphafold3.data import structure_stores -from alphafold3.data import templates +from alphafold3.data import templates as templates_lib + + +# Cache to avoid re-running template search for the same sequence in homomers. +@functools.cache +def _get_protein_templates( + sequence: str, + input_msa_a3m: str, + run_template_search: bool, + templates_config: msa_config.TemplatesConfig, + pdb_database_path: str, +) -> templates_lib.Templates: + """Searches for templates for a single protein chain.""" + if run_template_search: + templates_start_time = time.time() + logging.info('Getting protein templates for sequence %s', sequence) + protein_templates = templates_lib.Templates.from_seq_and_a3m( + query_sequence=sequence, + msa_a3m=input_msa_a3m, + max_template_date=templates_config.filter_config.max_template_date, + database_path=templates_config.template_tool_config.database_path, + hmmsearch_config=templates_config.template_tool_config.hmmsearch_config, + max_a3m_query_sequences=None, + chain_poly_type=mmcif_names.PROTEIN_CHAIN, + structure_store=structure_stores.StructureStore(pdb_database_path), + filter_config=templates_config.filter_config, + ) + logging.info( + 'Getting %d protein templates took %.2f seconds for sequence %s', + protein_templates.num_hits, + time.time() - templates_start_time, + sequence, + ) + else: + logging.info('Skipping template search for sequence %s', sequence) + protein_templates = templates_lib.Templates( + query_sequence=sequence, + hits=[], + max_template_date=templates_config.filter_config.max_template_date, + structure_store=structure_stores.StructureStore(pdb_database_path), + ) + return protein_templates # Cache to avoid re-running the MSA tools for the same sequence in homomers. @functools.cache def _get_protein_msa_and_templates( sequence: str, + run_template_search: bool, uniref90_msa_config: msa_config.RunConfig, mgnify_msa_config: msa_config.RunConfig, small_bfd_msa_config: msa_config.RunConfig, uniprot_msa_config: msa_config.RunConfig, templates_config: msa_config.TemplatesConfig, pdb_database_path: str, -) -> tuple[msa.Msa, msa.Msa, templates.Templates]: +) -> tuple[msa.Msa, msa.Msa, templates_lib.Templates]: """Processes a single protein chain.""" logging.info('Getting protein MSAs for sequence %s', sequence) msa_start_time = time.time() @@ -76,11 +118,8 @@ def _get_protein_msa_and_templates( sequence, ) - logging.info( - 'Deduplicating MSAs and getting protein templates for sequence %s', - sequence, - ) - templates_start_time = time.time() + logging.info('Deduplicating MSAs for sequence %s', sequence) + msa_dedupe_start_time = time.time() with futures.ThreadPoolExecutor() as executor: unpaired_protein_msa_future = executor.submit( msa.Msa.from_multiple_msas, @@ -90,43 +129,26 @@ def _get_protein_msa_and_templates( paired_protein_msa_future = executor.submit( msa.Msa.from_multiple_msas, msas=[uniprot_msa], deduplicate=False ) - filter_config = templates_config.filter_config - templates_future = executor.submit( - templates.Templates.from_seq_and_a3m, - query_sequence=sequence, - msa_a3m=uniref90_msa.to_a3m(), - max_template_date=filter_config.max_template_date, - database_path=templates_config.template_tool_config.database_path, - hmmsearch_config=templates_config.template_tool_config.hmmsearch_config, - max_a3m_query_sequences=None, - chain_poly_type=mmcif_names.PROTEIN_CHAIN, - structure_store=structure_stores.StructureStore(pdb_database_path), - ) unpaired_protein_msa = unpaired_protein_msa_future.result() paired_protein_msa = paired_protein_msa_future.result() - protein_templates = templates_future.result() logging.info( - 'Deduplicating MSAs and getting protein templates took %.2f seconds for' - ' sequence %s', - time.time() - templates_start_time, + 'Deduplicating MSAs took %.2f seconds for sequence %s, found %d unpaired' + ' sequences, %d paired sequences', + time.time() - msa_dedupe_start_time, sequence, + unpaired_protein_msa.depth, + paired_protein_msa.depth, ) - logging.info('Filtering protein templates for sequence %s', sequence) - filter_start_time = time.time() - filtered_templates = protein_templates.filter( - max_subsequence_ratio=filter_config.max_subsequence_ratio, - min_align_ratio=filter_config.min_align_ratio, - min_hit_length=filter_config.min_hit_length, - deduplicate_sequences=filter_config.deduplicate_sequences, - max_hits=filter_config.max_hits, + protein_templates = _get_protein_templates( + sequence=sequence, + input_msa_a3m=unpaired_protein_msa.to_a3m(), + run_template_search=run_template_search, + templates_config=templates_config, + pdb_database_path=pdb_database_path, ) - logging.info( - 'Filtering protein templates took %.2f seconds for sequence %s', - time.time() - filter_start_time, - sequence, - ) - return unpaired_protein_msa, paired_protein_msa, filtered_templates + + return unpaired_protein_msa, paired_protein_msa, protein_templates # Cache to avoid re-running the Nhmmer for the same sequence in homomers. @@ -164,16 +186,18 @@ def _get_rna_msa( nt_rna_msa = nt_rna_msa_future.result() rfam_msa = rfam_msa_future.result() rnacentral_msa = rnacentral_msa_future.result() + rna_msa = msa.Msa.from_multiple_msas( + msas=[rfam_msa, rnacentral_msa, nt_rna_msa], + deduplicate=True, + ) logging.info( - 'Getting RNA MSAs took %.2f seconds for sequence %s', + 'Getting RNA MSAs took %.2f seconds for sequence %s, found %d unpaired' + ' sequences', time.time() - rna_msa_start_time, sequence, + rna_msa.depth, ) - - return msa.Msa.from_multiple_msas( - msas=[rfam_msa, rnacentral_msa, nt_rna_msa], - deduplicate=True, - ) + return rna_msa @dataclasses.dataclass(frozen=True, slots=True, kw_only=True) @@ -205,6 +229,7 @@ class DataPipelineConfig: template search. jackhmmer_n_cpu: Number of CPUs to use for Jackhmmer. nhmmer_n_cpu: Number of CPUs to use for Nhmmer. + max_template_date: The latest date of templates to use. """ # Binary paths. @@ -231,6 +256,8 @@ class DataPipelineConfig: jackhmmer_n_cpu: int = 8 nhmmer_n_cpu: int = 8 + max_template_date: datetime.date + class DataPipeline: """Runs the alignment tools and assembles the input features.""" @@ -378,8 +405,7 @@ class DataPipeline: min_hit_length=10, deduplicate_sequences=True, max_hits=4, - # By default, use the date from AF3 paper. - max_template_date=datetime.date(2021, 9, 30), + max_template_date=data_pipeline_config.max_template_date, ), ) self._pdb_database_path = data_pipeline_config.pdb_database_path @@ -388,12 +414,56 @@ class DataPipeline: self, chain: folding_input.ProteinChain ) -> folding_input.ProteinChain: """Processes a single protein chain.""" - if chain.unpaired_msa or chain.paired_msa or chain.templates: - if ( - chain.unpaired_msa is None - or chain.paired_msa is None - or chain.templates is None - ): + has_unpaired_msa = chain.unpaired_msa is not None + has_paired_msa = chain.paired_msa is not None + has_templates = chain.templates is not None + + if not has_unpaired_msa and not has_paired_msa and not chain.templates: + # MSA None - search. Templates either [] - don't search, or None - search. + unpaired_msa, paired_msa, template_hits = _get_protein_msa_and_templates( + sequence=chain.sequence, + run_template_search=not has_templates, # Skip template search if []. + uniref90_msa_config=self._uniref90_msa_config, + mgnify_msa_config=self._mgnify_msa_config, + small_bfd_msa_config=self._small_bfd_msa_config, + uniprot_msa_config=self._uniprot_msa_config, + templates_config=self._templates_config, + pdb_database_path=self._pdb_database_path, + ) + unpaired_msa = unpaired_msa.to_a3m() + paired_msa = paired_msa.to_a3m() + templates = [ + folding_input.Template( + mmcif=struc.to_mmcif(), + query_to_template_map=hit.query_to_hit_mapping, + ) + for hit, struc in template_hits.get_hits_with_structures() + ] + elif has_unpaired_msa and has_paired_msa and not has_templates: + # Has MSA, but doesn't have templates. Search for templates only. + empty_msa = msa.Msa.from_empty( + query_sequence=chain.sequence, + chain_poly_type=mmcif_names.PROTEIN_CHAIN, + ).to_a3m() + unpaired_msa = chain.unpaired_msa or empty_msa + paired_msa = chain.paired_msa or empty_msa + template_hits = _get_protein_templates( + sequence=chain.sequence, + input_msa_a3m=unpaired_msa, + run_template_search=True, + templates_config=self._templates_config, + pdb_database_path=self._pdb_database_path, + ) + templates = [ + folding_input.Template( + mmcif=struc.to_mmcif(), + query_to_template_map=hit.query_to_hit_mapping, + ) + for hit, struc in template_hits.get_hits_with_structures() + ] + else: + # Has MSA and templates, don't search for anything. + if not has_unpaired_msa or not has_paired_msa or not has_templates: raise ValueError( f'Protein chain {chain.id} has unpaired MSA, paired MSA, or' ' templates set only partially. If you want to run the pipeline' @@ -406,56 +476,64 @@ class DataPipeline: 'already has MSAs and templates.', chain.id, ) - return chain + if not chain.unpaired_msa: + logging.info('Using empty unpaired MSA for protein chain %s', chain.id) + if not chain.paired_msa: + logging.info('Using empty paired MSA for protein chain %s', chain.id) + if not chain.templates: + logging.info('Using no templates for protein chain %s', chain.id) + empty_msa = msa.Msa.from_empty( + query_sequence=chain.sequence, + chain_poly_type=mmcif_names.PROTEIN_CHAIN, + ).to_a3m() + unpaired_msa = chain.unpaired_msa or empty_msa + paired_msa = chain.paired_msa or empty_msa + templates = chain.templates - unpaired_msa, paired_msa, template_hits = _get_protein_msa_and_templates( + return folding_input.ProteinChain( + id=chain.id, sequence=chain.sequence, - uniref90_msa_config=self._uniref90_msa_config, - mgnify_msa_config=self._mgnify_msa_config, - small_bfd_msa_config=self._small_bfd_msa_config, - uniprot_msa_config=self._uniprot_msa_config, - templates_config=self._templates_config, - pdb_database_path=self._pdb_database_path, - ) - - return dataclasses.replace( - chain, - unpaired_msa=unpaired_msa.to_a3m(), - paired_msa=paired_msa.to_a3m(), - templates=[ - folding_input.Template( - mmcif=struc.to_mmcif(), - query_to_template_map=hit.query_to_hit_mapping, - ) - for hit, struc in template_hits.get_hits_with_structures() - ], + ptms=chain.ptms, + unpaired_msa=unpaired_msa, + paired_msa=paired_msa, + templates=templates, ) def process_rna_chain( self, chain: folding_input.RnaChain ) -> folding_input.RnaChain: """Processes a single RNA chain.""" - if chain.unpaired_msa: + if chain.unpaired_msa is not None: # Don't run MSA tools if the chain already has an MSA. logging.info( 'Skipping MSA search for RNA chain %s because it already has MSA.', chain.id, ) - return chain - - rna_msa = _get_rna_msa( + if not chain.unpaired_msa: + logging.info('Using empty unpaired MSA for RNA chain %s', chain.id) + empty_msa = msa.Msa.from_empty( + query_sequence=chain.sequence, chain_poly_type=mmcif_names.RNA_CHAIN + ).to_a3m() + unpaired_msa = chain.unpaired_msa or empty_msa + else: + unpaired_msa = _get_rna_msa( + sequence=chain.sequence, + nt_rna_msa_config=self._nt_rna_msa_config, + rfam_msa_config=self._rfam_msa_config, + rnacentral_msa_config=self._rnacentral_msa_config, + ).to_a3m() + return folding_input.RnaChain( + id=chain.id, sequence=chain.sequence, - nt_rna_msa_config=self._nt_rna_msa_config, - rfam_msa_config=self._rfam_msa_config, - rnacentral_msa_config=self._rnacentral_msa_config, + modifications=chain.modifications, + unpaired_msa=unpaired_msa, ) - return dataclasses.replace(chain, unpaired_msa=rna_msa.to_a3m()) def process(self, fold_input: folding_input.Input) -> folding_input.Input: """Runs MSA and template tools and returns a new Input with the results.""" processed_chains = [] for chain in fold_input.chains: - print(f'Processing chain {chain.id}') + print(f'Running data pipeline for chain {chain.id}...') process_chain_start_time = time.time() match chain: case folding_input.ProteinChain(): @@ -465,7 +543,7 @@ class DataPipeline: case _: processed_chains.append(chain) print( - f'Processing chain {chain.id} took' + f'Running data pipeline for chain {chain.id} took' f' {time.time() - process_chain_start_time:.2f} seconds', ) diff --git a/src/alphafold3/data/templates.py b/src/alphafold3/data/templates.py index 1eea3254135794469a474a48a4fc93d66c49c2e5..0de9eb13c852ccd347458350ba1b7fe13d30d6ed 100644 --- a/src/alphafold3/data/templates.py +++ b/src/alphafold3/data/templates.py @@ -10,7 +10,7 @@ """API for retrieving and manipulating template search results.""" -from collections.abc import Iterator, Mapping, Sequence +from collections.abc import Iterable, Iterator, Mapping, Sequence import dataclasses import datetime import functools @@ -299,6 +299,99 @@ class Hit: if self.full_length < 0: raise ValueError(f'Full length must be non-negative: {self.full_length}') + def keep( + self, + *, + release_date_cutoff: datetime.date | None, + max_subsequence_ratio: float | None, + min_hit_length: int | None, + min_align_ratio: float | None, + ) -> bool: + """Returns whether the hit should be kept. + + In addition to filtering on all of the provided parameters, this method also + excludes hits with unresolved residues. + + Args: + release_date_cutoff: Maximum release date of the template. + max_subsequence_ratio: If set, excludes hits which are an exact + subsequence of the query sequence, and longer than this ratio. Useful to + avoid ground truth leakage. + min_hit_length: If set, excludes hits which have fewer residues than this. + min_align_ratio: If set, excludes hits where the number of residues + aligned to the query is less than this proportion of the template + length. + """ + # Exclude hits which are too recent. + if ( + release_date_cutoff is not None + and self.release_date > release_date_cutoff + ): + return False + + # Exclude hits which are large duplicates of the query_sequence. + if ( + max_subsequence_ratio is not None + and self.length_ratio > max_subsequence_ratio + ): + if self.matching_sequence in self.query_sequence: + return False + + # Exclude hits which are too short. + if ( + min_hit_length is not None + and len(self.matching_sequence) < min_hit_length + ): + return False + + # Exclude hits with unresolved residues. + if not self.is_valid: + return False + + # Exclude hits with too few alignments. + try: + if min_align_ratio is not None and self.align_ratio <= min_align_ratio: + return False + except template_realign.AlignmentError as e: + logging.warning('Failed to align %s: %s', self, str(e)) + return False + + return True + + +def _filter_hits( + hits: Iterable[Hit], + release_date_cutoff: datetime.date, + max_subsequence_ratio: float | None, + min_align_ratio: float | None, + min_hit_length: int | None, + deduplicate_sequences: bool, + max_hits: int | None, +) -> Sequence[Hit]: + """Filters hits based on the filter config.""" + filtered_hits = [] + seen_before = set() + for hit in hits: + if not hit.keep( + max_subsequence_ratio=max_subsequence_ratio, + min_align_ratio=min_align_ratio, + min_hit_length=min_hit_length, + release_date_cutoff=release_date_cutoff, + ): + continue + + # Remove duplicate templates, keeping the first. + if deduplicate_sequences: + if hit.output_templates_sequence in seen_before: + continue + seen_before.add(hit.output_templates_sequence) + + filtered_hits.append(hit) + if max_hits and len(filtered_hits) == max_hits: + break + + return filtered_hits + @dataclasses.dataclass(init=False) class Templates: @@ -344,6 +437,7 @@ class Templates: hmmsearch_config: msa_config.HmmsearchConfig, max_a3m_query_sequences: int | None, structure_store: structure_stores.StructureStore, + filter_config: msa_config.TemplateFilterConfig | None = None, query_release_date: datetime.date | None = None, chain_poly_type: str = mmcif_names.PROTEIN_CHAIN, ) -> Self: @@ -360,6 +454,9 @@ class Templates: max_a3m_query_sequences: The maximum number of input MSA sequences to use to construct the profile which is then used to search for templates. structure_store: Structure store to fetch template structures from. + filter_config: Optional config that controls which and how many hits to + keep. More performant than constructing and then filtering. If not + provided, no filtering is done. query_release_date: The release_date of the template query, this is used to filter templates for training, ensuring that they do not leak structure information from the future. @@ -382,6 +479,7 @@ class Templates: query_release_date=query_release_date, chain_poly_type=chain_poly_type, structure_store=structure_store, + filter_config=filter_config, ) @classmethod @@ -392,6 +490,7 @@ class Templates: a3m: str, max_template_date: datetime.date, structure_store: structure_stores.StructureStore, + filter_config: msa_config.TemplateFilterConfig | None = None, query_release_date: datetime.date | None = None, chain_poly_type: str = mmcif_names.PROTEIN_CHAIN, ) -> Self: @@ -404,6 +503,9 @@ class Templates: max_template_date: This is used to filter templates for training, ensuring that they do not leak ground truth information used in testing sets. structure_store: Structure store to fetch template structures from. + filter_config: Optional config that controls which and how many hits to + keep. More performant than constructing and then filtering. If not + provided, no filtering is done. query_release_date: The release_date of the template query, this is used to filter templates for training, ensuring that they do not leak structure information from the future. @@ -413,36 +515,50 @@ class Templates: Templates object containing a list of Hits initialised from the structure_store metadata and a3m alignments. """ - hits = [] - for hit_seq, hit_desc in parsers.lazy_parse_fasta_string(a3m): - pdb_id, auth_chain_id, start, end, full_length = _parse_hit_description( - hit_desc - ) - release_date, sequence, unresolved_res_ids = _parse_hit_metadata( - structure_store, pdb_id, auth_chain_id - ) + def hit_generator(a3m: str): + if not a3m: + return # Hmmsearch could return an empty string if there are no hits. - if unresolved_res_ids is None: - continue + for hit_seq, hit_desc in parsers.lazy_parse_fasta_string(a3m): + pdb_id, auth_chain_id, start, end, full_length = _parse_hit_description( + hit_desc + ) + + release_date, sequence, unresolved_res_ids = _parse_hit_metadata( + structure_store, pdb_id, auth_chain_id + ) + if unresolved_res_ids is None: + continue + + # seq_unresolved_res_num are 1-based, setting to 0-based indices. + unresolved_indices = [i - 1 for i in unresolved_res_ids] + + yield Hit( + pdb_id=pdb_id, + auth_chain_id=auth_chain_id, + hmmsearch_sequence=hit_seq, + structure_sequence=sequence, + query_sequence=query_sequence, + unresolved_res_indices=unresolved_indices, + start_index=start - 1, # Raw value is residue number, not index. + end_index=end, + full_length=full_length, + release_date=datetime.date.fromisoformat(release_date), + chain_poly_type=chain_poly_type, + ) - # seq_unresolved_res_num are 1-based, setting to 0-based indices. - unresolved_indices = [i - 1 for i in unresolved_res_ids] - - hits.append( - Hit( - pdb_id=pdb_id, - auth_chain_id=auth_chain_id, - hmmsearch_sequence=hit_seq, - structure_sequence=sequence, - query_sequence=query_sequence, - unresolved_res_indices=unresolved_indices, - start_index=start - 1, # Raw value is residue number, not index. - end_index=end, - full_length=full_length, - release_date=datetime.date.fromisoformat(release_date), - chain_poly_type=chain_poly_type, - ) + if filter_config is None: + hits = tuple(hit_generator(a3m)) + else: + hits = _filter_hits( + hit_generator(a3m), + release_date_cutoff=filter_config.max_template_date, + max_subsequence_ratio=filter_config.max_subsequence_ratio, + min_align_ratio=filter_config.min_align_ratio, + min_hit_length=filter_config.min_hit_length, + deduplicate_sequences=filter_config.deduplicate_sequences, + max_hits=filter_config.max_hits, ) return Templates( @@ -508,50 +624,19 @@ class Templates: of hits especially in the case of homomer hits. max_hits: If set, excludes any hits which exceed this count. """ - - filtered_hits = [] - seen_before = set() - - for hit in self._hits: - # Exclude hits if they are too recent. - if hit.release_date > self.release_date_cutoff: # pylint: disable=comparison-with-callable - continue - - # Exclude hits with too few alignments. - try: - if min_align_ratio and hit.align_ratio <= min_align_ratio: - continue - except template_realign.AlignmentError as e: - logging.warning('Failed to align %s: %s', hit, str(e)) - continue - - # Exclude templates which are large duplicates of the query_sequence. - if max_subsequence_ratio is not None: - if hit.length_ratio > max_subsequence_ratio: - if hit.matching_sequence in self.query_sequence: - continue - - # Exclude templates which are too short. - if min_hit_length and len(hit.matching_sequence) < min_hit_length: - continue - - if not hit.is_valid: - continue - - # Remove duplicate templates, keeping the first. - if deduplicate_sequences: - if hit.output_templates_sequence in seen_before: - continue - seen_before.add(hit.output_templates_sequence) - - filtered_hits.append(hit) - if max_hits and len(filtered_hits) == max_hits: - break - + filtered_hits = _filter_hits( + hits=self._hits, + release_date_cutoff=self.release_date_cutoff, + max_subsequence_ratio=max_subsequence_ratio, + min_align_ratio=min_align_ratio, + min_hit_length=min_hit_length, + deduplicate_sequences=deduplicate_sequences, + max_hits=max_hits, + ) return Templates( query_sequence=self.query_sequence, query_release_date=self.query_release_date, - hits=tuple(filtered_hits), + hits=filtered_hits, max_template_date=self._max_template_date, structure_store=self._structure_store, ) @@ -636,8 +721,6 @@ class Templates: def structures(self) -> Iterator[structure.Structure]: """Yields template structures for each unique PDB ID among hits. - Structures are loaded using bag parallelism in order. - If there are multiple hits in the same Structure, the Structure will be included only once by this method. @@ -648,7 +731,7 @@ class Templates: HitDateError: If template's release date exceeds max cutoff date. """ - for hit in self._hits: + for hit in self.hits: if hit.release_date > self.release_date_cutoff: # pylint: disable=comparison-with-callable raise HitDateError( f'Invalid release date for hit {hit.pdb_id=}, when release date ' @@ -656,7 +739,7 @@ class Templates: ) # Get the set of pdbs to load. In particular, remove duplicate PDB IDs. - targets_to_load = tuple({hit.pdb_id for hit in self._hits}) + targets_to_load = tuple({hit.pdb_id for hit in self.hits}) for target_name in targets_to_load: yield structure.from_mmcif( @@ -696,7 +779,9 @@ def _parse_hit_metadata( try: cif = mmcif.from_string(structure_store.get_mmcif_str(pdb_id)) except structure_stores.NotFoundError: - logging.warning('Failed to get mmCIF for %s.', pdb_id) + logging.warning( + 'Failed to get mmCIF for %s (author chain %s).', pdb_id, auth_chain_id + ) return None, None, None release_date = mmcif.get_release_date(cif) diff --git a/src/alphafold3/data/tools/hmmsearch.py b/src/alphafold3/data/tools/hmmsearch.py index a9bbde6885e2c5e9f5b1e7c5ff42f356228b45a2..07de7071d446af47552a7924e82aa5c30996888b 100644 --- a/src/alphafold3/data/tools/hmmsearch.py +++ b/src/alphafold3/data/tools/hmmsearch.py @@ -118,7 +118,7 @@ class Hmmsearch(object): subprocess_utils.run( cmd=cmd, - cmd_name='Hmmsearch', + cmd_name=f'Hmmsearch ({os.path.basename(self.database_path)})', log_stdout=False, log_stderr=True, log_on_process_error=True, diff --git a/src/alphafold3/data/tools/jackhmmer.py b/src/alphafold3/data/tools/jackhmmer.py index 3603450ca134d5d4e3a5fd0f0900ab3a34faa4e1..2874cf73640ec7df422aacdff752595508f22b8f 100644 --- a/src/alphafold3/data/tools/jackhmmer.py +++ b/src/alphafold3/data/tools/jackhmmer.py @@ -118,7 +118,7 @@ class Jackhmmer(msa_tool.MsaTool): subprocess_utils.run( cmd=cmd, - cmd_name='Jackhmmer', + cmd_name=f'Jackhmmer ({os.path.basename(self.database_path)})', log_stdout=False, log_stderr=True, log_on_process_error=True, diff --git a/src/alphafold3/data/tools/nhmmer.py b/src/alphafold3/data/tools/nhmmer.py index 91732babc2620ffc6e88ba861c2b528a25a0b46a..e9472f51ed50eb321e6177b4d20c62beceefc85f 100644 --- a/src/alphafold3/data/tools/nhmmer.py +++ b/src/alphafold3/data/tools/nhmmer.py @@ -126,7 +126,7 @@ class Nhmmer(msa_tool.MsaTool): subprocess_utils.run( cmd=cmd, - cmd_name='Nhmmer', + cmd_name=f'Nhmmer ({os.path.basename(self._db_path)})', log_stdout=False, log_stderr=True, log_on_process_error=True, diff --git a/src/alphafold3/data/tools/rdkit_utils.py b/src/alphafold3/data/tools/rdkit_utils.py index 00c7de35b6aa730d161131f3cc70ca5d0907bfd7..a9b61a1f53dcb6a977ac6d8e5bbe7c406be040b9 100644 --- a/src/alphafold3/data/tools/rdkit_utils.py +++ b/src/alphafold3/data/tools/rdkit_utils.py @@ -17,6 +17,7 @@ from absl import logging from alphafold3.cpp import cif_dict import numpy as np import rdkit.Chem as rd_chem +from rdkit.Chem import AllChem as rd_all_chem _RDKIT_MMCIF_TO_BOND_TYPE: Mapping[str, rd_chem.BondType] = { @@ -127,7 +128,7 @@ def _populate_bonds_in_mol( mol.GetBondWithIdx(bond_idx - 1).SetIsAromatic(is_aromatic) -def _sanitize_mol(mol, sort_alphabetically, remove_hydrogens) -> rd_chem.Mol: +def sanitize_mol(mol, sort_alphabetically, remove_hydrogens) -> rd_chem.Mol: # https://www.rdkit.org/docs/source/rdkit.Chem.rdmolops.html#rdkit.Chem.rdmolops.SanitizeMol # Kekulize, check valencies, set aromaticity, conjugation and hybridization. # This can repair e.g. incorrect aromatic flags. @@ -230,7 +231,7 @@ def mol_from_ccd_cif( try: _add_conformer_to_mol(mol, conformer, force_parse) - mol = _sanitize_mol(mol, sort_alphabetically, remove_hydrogens) + mol = sanitize_mol(mol, sort_alphabetically, remove_hydrogens) except ( ValueError, rd_chem.KekulizeException, @@ -326,8 +327,13 @@ def mol_to_ccd_cif( bond.GetEndAtom().GetProp('atom_name') ) try: + bond_type = bond.GetBondType() + # Older versions of RDKit did not have a DATIVE bond type. Convert it to + # SINGLE to match the AF3 training setup. + if bond_type == rd_chem.BondType.DATIVE: + bond_type = rd_chem.BondType.SINGLE mol_cif['_chem_comp_bond.value_order'].append( - _RDKIT_BOND_TYPE_TO_MMCIF[bond.GetBondType()] + _RDKIT_BOND_TYPE_TO_MMCIF[bond_type] ) mol_cif['_chem_comp_bond.pdbx_stereo_config'].append( _RDKIT_BOND_STEREO_TO_MMCIF[bond.GetStereo()] @@ -479,13 +485,13 @@ def assign_atom_names_from_graph( keep_existing_names is True we keep the original name. We traverse the graph in the order of the rdkit atom index and give each atom - a name equal to '{ELEMENT_TYPE}_{INDEX}'. E.g. C5 is the name for the fifth + a name equal to '{ELEMENT_TYPE}{INDEX}'. E.g. C5 is the name for the fifth unnamed carbon encountered. NOTE: A new mol is returned, the original is not changed in place. Args: - mol: + mol: Mol object. keep_existing_names: If True, atoms that already have the atom_name property will keep their assigned names. @@ -506,9 +512,32 @@ def assign_atom_names_from_graph( element = atom.GetSymbol() while True: element_counts[element] += 1 - new_name = f'{element}{element_counts[element]}' + # Standardize names by using uppercase element type, as in CCD. Only + # effects elements with more than one letter, e.g. 'Cl' becomes 'CL'. + new_name = f'{element.upper()}{element_counts[element]}' if new_name not in specified_atom_names: break atom.SetProp('atom_name', new_name) return mol + + +def get_random_conformer( + mol: rd_chem.Mol, + random_seed: int, + max_iterations: int | None, + logging_name: str, +) -> rd_chem.Conformer | None: + """Stochastic conformer search method using V3 ETK.""" + params = rd_all_chem.ETKDGv3() + params.randomSeed = random_seed + if max_iterations is not None: # Override default value. + params.maxIterations = max_iterations + mol_copy = rd_chem.Mol(mol) + try: + conformer_id = rd_all_chem.EmbedMolecule(mol_copy, params) + conformer = mol_copy.GetConformer(conformer_id) + except ValueError: + logging.warning('Failed to generate conformer for: %s', logging_name) + conformer = None + return conformer diff --git a/src/alphafold3/jax/attention/flash_attention.py b/src/alphafold3/jax/attention/flash_attention.py index 41bad7a50cd37b0b4b72ae779bdbda9b90213501..e5befb11ef4e7e067d68fec4b5c2e967e9182148 100644 --- a/src/alphafold3/jax/attention/flash_attention.py +++ b/src/alphafold3/jax/attention/flash_attention.py @@ -83,7 +83,7 @@ def _fwd_kernel_inner( # Prevent dot accumulating into the bias tensor. It appears that Triton # doesn't pipeline the bias load as it does the `k` load, so the bias load # blocks the matmul if the add is merged. - qk = qk.to(tl.int32, bitcast=True) & 0xFFFFFFFF + qk = qk.to(tl.uint32, bitcast=True) & 0xFFFFFFFF qk = qk.to(tl.float32, bitcast=True) qk += bias diff --git a/src/alphafold3/jax/gated_linear_unit/matmul_ext.py b/src/alphafold3/jax/gated_linear_unit/matmul_ext.py index b15fe894e87a9d7030eb4f82acc9bedef711d56f..c29b5ec681ae5ba73abfd55dea7b8f82972eef14 100644 --- a/src/alphafold3/jax/gated_linear_unit/matmul_ext.py +++ b/src/alphafold3/jax/gated_linear_unit/matmul_ext.py @@ -50,16 +50,17 @@ def _get_pids( pid, num_blocks_m, num_blocks_n, group_size_m ) -> tuple[ScalarInt, ScalarInt]: """Returns the program IDs in each grid axis.""" - # We use `div` and `rem` here as we know `pid` is always >= 0. `//` and `%` on - # signed integers adds significant complexity. + # Use `floor_divide` and `remainder` (instead of lax.div and lax.rem) + # to handle dtypes: pid (int32) vs. num_blocks_n (int64) when `jax_enable_x64` + # is set. if group_size_m == 1: - return jax.lax.div(pid, num_blocks_n), jax.lax.rem(pid, num_blocks_n) + return jnp.floor_divide(pid, num_blocks_n), jnp.remainder(pid, num_blocks_n) num_progs_in_group = group_size_m * num_blocks_n - group_start_m = jax.lax.div(pid, num_progs_in_group) * group_size_m + group_start_m = jnp.floor_divide(pid, num_progs_in_group) * group_size_m group_size_m = jnp.minimum(num_blocks_m - group_start_m, group_size_m) - pid_m = group_start_m + jax.lax.rem(pid, group_size_m) - pid_n = jax.lax.div(jax.lax.rem(pid, num_progs_in_group), group_size_m) + pid_m = group_start_m + jnp.remainder(pid, group_size_m) + pid_n = jnp.floor_divide(jnp.remainder(pid, num_progs_in_group), group_size_m) return pid_m, pid_n diff --git a/src/alphafold3/model/atom_layout/atom_layout.py b/src/alphafold3/model/atom_layout/atom_layout.py index 5c7de038f9cb91b00cda0739707e2ebae0f1a230..541fe7f8c867b316c3abd645d3e9f26b58ed684c 100644 --- a/src/alphafold3/model/atom_layout/atom_layout.py +++ b/src/alphafold3/model/atom_layout/atom_layout.py @@ -22,6 +22,7 @@ from alphafold3.constants import chemical_component_sets from alphafold3.constants import chemical_components from alphafold3.constants import mmcif_names from alphafold3.constants import residue_names +from alphafold3.data.tools import rdkit_utils from alphafold3.structure import chemical_components as struc_chem_comps import jax.numpy as jnp import numpy as np @@ -32,45 +33,6 @@ xnp_ndarray: TypeAlias = np.ndarray | jnp.ndarray # pylint: disable=invalid-nam NumpyIndex: TypeAlias = Any -def _assign_atom_names_from_graph(mol: Chem.Mol) -> Chem.Mol: - """Assigns atom names from the molecular graph. - - The atom name is stored as an atom property 'atom_name', accessible with - atom.GetProp('atom_name'). If the property is already specified, we keep the - original name. - - We traverse the graph in the order of the rdkit atom index and give each atom - a name equal to '{ELEMENT_TYPE}_{INDEX}'. E.g. C5 is the name for the fifth - unnamed carbon encountered. - - NOTE: A new mol is returned, the original is not changed in place. - - Args: - mol: RDKit molecule. - - Returns: - A new mol, with potentially new 'atom_name' properties. - """ - mol = Chem.Mol(mol) - - specified_atom_names = { - a.GetProp('atom_name') for a in mol.GetAtoms() if a.HasProp('atom_name') - } - - element_counts = collections.Counter() - for atom in mol.GetAtoms(): - if not atom.HasProp('atom_name'): - element = atom.GetSymbol() - while True: - element_counts[element] += 1 - new_name = f'{element}{element_counts[element]}' - if new_name not in specified_atom_names: - break - atom.SetProp('atom_name', new_name) - - return mol - - @dataclasses.dataclass(frozen=True) class AtomLayout: """Atom layout in a fixed shape (usually 1-dim or 2-dim). @@ -836,7 +798,15 @@ def make_flat_atom_layout( elif residues.smiles_string[idx]: # Get atoms from RDKit via SMILES. mol = Chem.MolFromSmiles(residues.smiles_string[idx]) - mol = _assign_atom_names_from_graph(mol) + if mol is None: + raise ValueError( + f'Failed to construct RDKit Mol for {residues.res_name[idx]} from' + f' SMILES string: {residues.smiles_string[idx]} . This is likely' + ' due to an issue with the SMILES string. Note that the userCCD' + ' input format provides an alternative way to define custom' + ' molecules directly without RDKit or SMILES.' + ) + mol = rdkit_utils.assign_atom_names_from_graph(mol) atom_names_elements = [ (a.GetProp('atom_name'), a.GetSymbol()) for a in mol.GetAtoms() ] diff --git a/src/alphafold3/model/confidence_types.py b/src/alphafold3/model/confidence_types.py index 93f9361cbccfd04d5ab6f5e38397f83373ac6b3d..5ad948bae4731d7ec3a5c1e138fca9c8f85e8b9e 100644 --- a/src/alphafold3/model/confidence_types.py +++ b/src/alphafold3/model/confidence_types.py @@ -16,7 +16,7 @@ import json from typing import Any, Self from absl import logging -from alphafold3.model.components import base_model +from alphafold3.model import model import jax import numpy as np @@ -136,7 +136,7 @@ class AtomConfidence: @classmethod def from_inference_result( - cls, inference_result: base_model.InferenceResult + cls, inference_result: model.InferenceResult ) -> Self: """Instantiates an AtomConfidence from a structure. @@ -210,7 +210,7 @@ class StructureConfidenceSummary: @classmethod def from_inference_result( - cls, inference_result: base_model.InferenceResult + cls, inference_result: model.InferenceResult ) -> Self: """Returns a new instance based on a given inference result.""" return cls( @@ -258,7 +258,7 @@ class StructureConfidenceFull: @classmethod def from_inference_result( - cls, inference_result: base_model.InferenceResult + cls, inference_result: model.InferenceResult ) -> Self: """Returns a new instance based on a given inference result.""" diff --git a/src/alphafold3/model/confidences.py b/src/alphafold3/model/confidences.py index 263d598a0c1c4785014fef3af80fd58410e25fba..35a3585e523c41cd0aff3d28b6381c1d34777044 100644 --- a/src/alphafold3/model/confidences.py +++ b/src/alphafold3/model/confidences.py @@ -51,13 +51,12 @@ _CLASH_PENALIZATION_WEIGHT = 100.0 def windowed_solvent_accessible_area(cif: str, window: int = 25) -> np.ndarray: - """Implementation of AlphaFold_RSA. + """Implementation of AlphaFold-RSA. - AlphaFold_RSA defined in - https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9601767/. + AlphaFold-RSA defined in https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9601767. Args: - cif: raw cif string. + cif: Raw cif string. window: The window over which to average accessible surface area Returns: @@ -96,8 +95,8 @@ def fraction_disordered( Args: struc: A structure to compute rASA metrics on. rasa_disorder_cutoff: The threshold at which residues are considered - disordered. Default value taken from - https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9601767/. + disordered. Default value taken from + https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9601767. Returns: The fraction of protein residues that are disordered @@ -113,14 +112,16 @@ def fraction_disordered( rasa.extend(seq_rasa[chain_seq]) continue chain_struc = struc.filter(chain_id=chain_id) + # Rename the chain to 'A' as MKDSSP supports only single letter chain IDs. + chain_struc = chain_struc.rename_chain_ids(new_id_by_old_id={chain_id: 'A'}) try: rasa_per_residue = windowed_solvent_accessible_area( chain_struc.to_mmcif() ) seq_rasa[chain_seq] = rasa_per_residue rasa.extend(rasa_per_residue) - except (ValueError, RuntimeError): - logging.warning('%s: rasa calculation failed', struc.name) + except (ValueError, RuntimeError) as e: + logging.warning('%s: rasa calculation failed: %s', struc.name, e) if not rasa: return 0.0 @@ -334,6 +335,9 @@ def weighted_nanmean( with warnings.catch_warnings(): # Mean of empty slice is ok and should return a NaN. warnings.filterwarnings(action='ignore', message='Mean of empty slice') + warnings.filterwarnings( + action='ignore', message='invalid value encountered in (scalar )?divide' + ) return np.nanmean(value * mask_with_nan, axis=axis) / np.nanmean( mask_with_nan, axis=axis ) diff --git a/src/alphafold3/model/data3.py b/src/alphafold3/model/data3.py index 3dd7117099b4cce85828998115d9d200ce765bf9..b166dc47553b7027e698e62d1cdf926c7f0be1bf 100644 --- a/src/alphafold3/model/data3.py +++ b/src/alphafold3/model/data3.py @@ -46,19 +46,17 @@ def get_profile_features( def fix_template_features( - sequence: str, - template_features: FeatureDict, + template_features: FeatureDict, num_res: int ) -> FeatureDict: """Convert template features to AlphaFold 3 format. Args: - sequence: amino acid sequence of the protein. template_features: Template features for the protein. + num_res: The length of the amino acid sequence of the protein. Returns: Updated template_features for the chain. """ - num_res = len(sequence) if not template_features['template_aatype'].shape[0]: template_features = empty_template_features(num_res) else: diff --git a/src/alphafold3/model/features.py b/src/alphafold3/model/features.py index 49fa71f3500ee193552d0dd51c45dd4b9917e0e3..3b02db0ac09305bbd43e148cb63a1cfddc309a53 100644 --- a/src/alphafold3/model/features.py +++ b/src/alphafold3/model/features.py @@ -22,6 +22,7 @@ from alphafold3.constants import chemical_components from alphafold3.constants import mmcif_names from alphafold3.constants import periodic_table from alphafold3.constants import residue_names +from alphafold3.cpp import cif_dict from alphafold3.data import msa as msa_module from alphafold3.data import templates from alphafold3.data.tools import rdkit_utils @@ -35,7 +36,6 @@ import chex import jax.numpy as jnp import numpy as np from rdkit import Chem -from rdkit.Chem import AllChem xnp_ndarray: TypeAlias = np.ndarray | jnp.ndarray # pylint: disable=invalid-name @@ -480,16 +480,18 @@ class MSA: chain, folding_input.RnaChain | folding_input.ProteinChain ): unpaired_a3m = chain.unpaired_msa + # If we generated the MSA ourselves, it is already deduplicated. If it + # is user-provided, keep it as is to prevent destroying desired pairing. unpaired_msa = msa_module.Msa.from_a3m( query_sequence=sequence, chain_poly_type=chain_type, a3m=unpaired_a3m, - deduplicate=True, + deduplicate=False, ) paired_msa = msa_module.Msa.from_a3m( query_sequence=sequence, - chain_poly_type=mmcif_names.PROTEIN_CHAIN, + chain_poly_type=chain_type, a3m=paired_a3m, deduplicate=False, ) @@ -775,8 +777,7 @@ class Templates: ) template_features = data3.fix_template_features( - sequence=chain.sequence, - template_features=template_features, + template_features=template_features, num_res=len(chain.sequence) ) template_features = _reduce_template_features( @@ -1433,143 +1434,155 @@ def random_augmentation( return positions_target +def _get_reference_positions_from_ccd_cif( + ccd_cif: cif_dict.CifDict, + ref_max_modified_date: datetime.date, + logging_name: str, +) -> np.ndarray: + """Creates reference positions from a CCD mmcif data block.""" + num_atoms = len(ccd_cif['_chem_comp_atom.atom_id']) + if '_chem_comp_atom.pdbx_model_Cartn_x_ideal' in ccd_cif: + atom_x = ccd_cif['_chem_comp_atom.pdbx_model_Cartn_x_ideal'] + atom_y = ccd_cif['_chem_comp_atom.pdbx_model_Cartn_y_ideal'] + atom_z = ccd_cif['_chem_comp_atom.pdbx_model_Cartn_z_ideal'] + else: + atom_x = np.array(['?'] * num_atoms) + atom_y = np.array(['?'] * num_atoms) + atom_z = np.array(['?'] * num_atoms) + pos = np.array([[x, y, z] for x, y, z in zip(atom_x, atom_y, atom_z)]) + # Unknown reference coordinates are specified by '?' in chem comp dict. + # Replace unknown reference coords with 0. + if '?' in pos and '_chem_comp.pdbx_modified_date' in ccd_cif: + # Use reference coordinates if modifed date is before cutoff. + modified_dates = [ + datetime.date.fromisoformat(date) + for date in ccd_cif['_chem_comp.pdbx_modified_date'] + ] + max_modified_date = max(modified_dates) + if max_modified_date < ref_max_modified_date: + atom_x = ccd_cif['_chem_comp_atom.model_Cartn_x'] + atom_y = ccd_cif['_chem_comp_atom.model_Cartn_y'] + atom_z = ccd_cif['_chem_comp_atom.model_Cartn_z'] + pos = np.array([[x, y, z] for x, y, z in zip(atom_x, atom_y, atom_z)]) + if '?' in pos: + if np.all(pos == '?'): + logging.warning('All ref positions unknown for: %s', logging_name) + else: + logging.warning('Some ref positions unknown for: %s', logging_name) + pos[pos == '?'] = 0 + return np.array(pos, dtype=np.float32) + + def get_reference( res_name: str, chemical_components_data: struc_chem_comps.ChemicalComponentsData, ccd: chemical_components.Ccd, random_state: np.random.RandomState, ref_max_modified_date: datetime.date, - intra_ligand_ptm_bonds: bool, + conformer_max_iterations: int | None, ) -> tuple[dict[str, Any], Any, Any]: """Reference structure for residue from CCD or SMILES. + Uses CCD entry if available, otherwise uses SMILES from chemical components + data. Conformer generation is done using RDKit, with a fallback to CCD ideal + or reference coordinates if RDKit fails and those coordinates are supplied. + Args: res_name: ccd code of the residue. chemical_components_data: ChemicalComponentsData for making ref structure. ccd: The chemical components dictionary. random_state: Numpy RandomState ref_max_modified_date: date beyond which reference structures must not be - modefied. - intra_ligand_ptm_bonds: Whether to return intra ligand/ ptm bonds. + modified to be allowed to use reference coordinates. + conformer_max_iterations: Optional override for maximum number of iterations + to run for RDKit conformer search. Returns: Mapping from atom names to features, from_atoms, dest_atoms. """ + ccd_cif = ccd.get(res_name) - non_ccd_with_smiles = False - if not ccd_cif: - # If res name is non-CCD try to get SMILES from chem comp dict. - has_smiles = ( + + mol = None + if ccd_cif: + try: + mol = rdkit_utils.mol_from_ccd_cif(ccd_cif, remove_hydrogens=False) + except rdkit_utils.MolFromMmcifError: + logging.warning('Failed to construct mol from ccd_cif for: %s', res_name) + else: # No CCD entry, use SMILES from chemical components data. + if not ( chemical_components_data.chem_comp and res_name in chemical_components_data.chem_comp and chemical_components_data.chem_comp[res_name].pdbx_smiles - ) - if has_smiles: - non_ccd_with_smiles = True - else: - # If no SMILES or CCD, return empty dictionary. - return dict(), None, None + ): + raise ValueError(f'No CCD entry or SMILES for {res_name}.') + smiles_string = chemical_components_data.chem_comp[res_name].pdbx_smiles + logging.info('Using SMILES for: %s - %s', res_name, smiles_string) + + mol = Chem.MolFromSmiles(smiles_string) + if mol is None: + # In this case the model will not have any information about this molecule + # and will not be able to predict anything about it. + raise ValueError( + f'Failed to construct RDKit Mol for {res_name} from SMILES string: ' + f'{smiles_string} . This is likely due to an issue with the SMILES ' + 'string. Note that the userCCD input format provides an alternative ' + 'way to define custom molecules directly without RDKit or SMILES.' + ) + mol = Chem.AddHs(mol) + # No existing names, we assign them from the graph. + mol = rdkit_utils.assign_atom_names_from_graph(mol) + # Temporary CCD cif with just atom and bond information, no coordinates. + ccd_cif = rdkit_utils.mol_to_ccd_cif(mol, component_id='fake_cif') - pos = [] + conformer = None + atom_names = [] elements = [] charges = [] - atom_names = [] + pos = [] - mol_from_smiles = None # useless init to make pylint happy - if non_ccd_with_smiles: - smiles_string = chemical_components_data.chem_comp[res_name].pdbx_smiles - mol_from_smiles = Chem.MolFromSmiles(smiles_string) - if mol_from_smiles is None: - logging.warning( - 'Fail to construct RDKit Mol from the SMILES string: %s', - smiles_string, - ) - return dict(), None, None - # Note this does not contain ideal coordinates, just bonds. - ccd_cif = rdkit_utils.mol_to_ccd_cif( - mol_from_smiles, component_id='fake_cif' + # If mol is not None (must be True for SMILES case), then we try and generate + # an RDKit conformer. + if mol is not None: + conformer_random_seed = int(random_state.randint(1, 1 << 31)) + conformer = rdkit_utils.get_random_conformer( + mol=mol, + random_seed=conformer_random_seed, + max_iterations=conformer_max_iterations, + logging_name=res_name, ) - - # RDKit for non-CCD structure and if ref should be a random RDKit conformer. - try: - if non_ccd_with_smiles: - m = mol_from_smiles - m = Chem.AddHs(m) - m = rdkit_utils.assign_atom_names_from_graph(m, keep_existing_names=True) - logging.info( - 'Success constructing SMILES reference structure for: %s', res_name - ) - else: - m = rdkit_utils.mol_from_ccd_cif(ccd_cif, remove_hydrogens=False) - # Stochastic conformer search method. - # V3 is the latest and supports macrocycles . - params = AllChem.ETKDGv3() - params.randomSeed = int(random_state.randint(1, 1 << 31)) - AllChem.EmbedMolecule(m, params) - conformer = m.GetConformer() - for i, atom in enumerate(m.GetAtoms()): - elements.append(atom.GetAtomicNum()) - charges.append(atom.GetFormalCharge()) - name = atom.GetProp('atom_name') - atom_names.append(name) - coords = conformer.GetAtomPosition(i) - pos.append([coords.x, coords.y, coords.z]) - pos = np.array(pos, dtype=np.float32) - except (rdkit_utils.MolFromMmcifError, ValueError): - logging.warning( - 'Failed to construct RDKit reference structure for: %s', res_name - ) - - if not atom_names: - # Get CCD ideal coordinates if RDKit fails. + if conformer: + for idx, atom in enumerate(mol.GetAtoms()): + atom_names.append(atom.GetProp('atom_name')) + elements.append(atom.GetAtomicNum()) + charges.append(atom.GetFormalCharge()) + coords = conformer.GetAtomPosition(idx) + pos.append([coords.x, coords.y, coords.z]) + pos = np.array(pos, dtype=np.float32) + + # If no mol could be generated (can only happen when using CCD), or no + # conformer could be generated from the mol (can happen in either case), then + # use CCD cif instead (which will have zero coordinates for SMILES case). + if conformer is None: atom_names = ccd_cif['_chem_comp_atom.atom_id'] - # If mol_from_smiles then it won't have ideal coordinates by default. - if '_chem_comp_atom.pdbx_model_Cartn_x_ideal' in ccd_cif: - atom_x = ccd_cif['_chem_comp_atom.pdbx_model_Cartn_x_ideal'] - atom_y = ccd_cif['_chem_comp_atom.pdbx_model_Cartn_y_ideal'] - atom_z = ccd_cif['_chem_comp_atom.pdbx_model_Cartn_z_ideal'] - else: - atom_x = np.array(['?'] * len(atom_names)) - atom_y = np.array(['?'] * len(atom_names)) - atom_z = np.array(['?'] * len(atom_names)) - type_symbols = ccd_cif['_chem_comp_atom.type_symbol'] charges = ccd_cif['_chem_comp_atom.charge'] + type_symbols = ccd_cif['_chem_comp_atom.type_symbol'] elements = [ periodic_table.ATOMIC_NUMBER.get(elem_type.capitalize(), 0) for elem_type in type_symbols ] - pos = np.array([[x, y, z] for x, y, z in zip(atom_x, atom_y, atom_z)]) - # Unknown reference coordinates are specified by '?' in chem comp dict. - # Replace unknown reference coords with 0. - if '?' in pos and '_chem_comp.pdbx_modified_date' in ccd_cif: - # Use reference coordinates if modifed date is before cutoff. - modified_dates = [ - datetime.date.fromisoformat(date) - for date in ccd_cif['_chem_comp.pdbx_modified_date'] - ] - max_modified_date = max(modified_dates) - if max_modified_date < ref_max_modified_date: - atom_x = ccd_cif['_chem_comp_atom.model_Cartn_x'] - atom_y = ccd_cif['_chem_comp_atom.model_Cartn_y'] - atom_z = ccd_cif['_chem_comp_atom.model_Cartn_z'] - pos = np.array([[x, y, z] for x, y, z in zip(atom_x, atom_y, atom_z)]) - if '?' in pos: - if np.all(pos == '?'): - logging.warning('All ref positions unknown for: %s', res_name) - else: - logging.warning('Some ref positions unknown for: %s', res_name) - pos[pos == '?'] = 0 - pos = np.array(pos, dtype=np.float32) + pos = _get_reference_positions_from_ccd_cif( + ccd_cif=ccd_cif, + ref_max_modified_date=ref_max_modified_date, + logging_name=res_name, + ) + # Augment reference positions. pos = random_augmentation(pos, random_state) - if intra_ligand_ptm_bonds: - assert ccd_cif is not None, 'CCD CIF is None' - from_atom = ccd_cif.get('_chem_comp_bond.atom_id_1', None) - dest_atom = ccd_cif.get('_chem_comp_bond.atom_id_2', None) - else: - from_atom = None - dest_atom = None + # Extract atom and bond information from CCD cif. + from_atom = ccd_cif.get('_chem_comp_bond.atom_id_1', None) + dest_atom = ccd_cif.get('_chem_comp_bond.atom_id_2', None) features = {} for atom_name in atom_names: @@ -1612,7 +1625,7 @@ class RefStructure: chemical_components_data: struc_chem_comps.ChemicalComponentsData, random_state: np.random.RandomState, ref_max_modified_date: datetime.date, - intra_ligand_ptm_bonds: bool, + conformer_max_iterations: int | None, ligand_ligand_bonds: atom_layout.AtomLayout | None = None, ) -> tuple[Self, Any]: """Reference structure information for each residue.""" @@ -1651,7 +1664,7 @@ class RefStructure: ccd=ccd, random_state=random_state, ref_max_modified_date=ref_max_modified_date, - intra_ligand_ptm_bonds=intra_ligand_ptm_bonds, + conformer_max_iterations=conformer_max_iterations, ) conformations[(chain_id, res_id)] = conf diff --git a/src/alphafold3/model/mmcif_metadata.py b/src/alphafold3/model/mmcif_metadata.py index 1743a6cc83a9a49ad8819f408b4bbe7085e87c26..52390463da1af9d41048d23cbbce6e2f397b6b9a 100644 --- a/src/alphafold3/model/mmcif_metadata.py +++ b/src/alphafold3/model/mmcif_metadata.py @@ -19,21 +19,21 @@ _LICENSE_URL: Final[str] = ( 'https://github.com/google-deepmind/alphafold3/blob/main/OUTPUT_TERMS_OF_USE.md' ) -_LICENSE: Final[str] = f"""\ +_LICENSE: Final[str] = f""" Non-commercial use only, by using this file you agree to the terms of use found at {_LICENSE_URL}. To request access to the AlphaFold 3 model parameters, follow the process set out at https://github.com/google-deepmind/alphafold3. You may only use these if received directly from Google. Use is subject to terms of use available at https://github.com/google-deepmind/alphafold3/blob/main/WEIGHTS_TERMS_OF_USE.md. -""" +""".strip() _DISCLAIMER: Final[str] = """\ AlphaFold 3 and its output are not intended for, have not been validated for, and are not approved for clinical use. They are provided "as-is" without any warranty of any kind, whether expressed or implied. No warranty is given that use shall not infringe the rights of any third party. -""" +""".strip() _MMCIF_PAPER_AUTHORS: Final[tuple[str, ...]] = ( 'Google DeepMind', @@ -168,15 +168,46 @@ def add_metadata_to_mmcif( cif['_ma_qa_metric.mode'] = ['global', 'local'] cif['_ma_qa_metric.software_group_id'] = ['1', '1'] - # Global model confidence metric value. + # Global model confidence pLDDT value. cif['_ma_qa_metric_global.ordinal_id'] = ['1'] cif['_ma_qa_metric_global.model_id'] = ['1'] cif['_ma_qa_metric_global.metric_id'] = ['1'] + # Mean over all atoms, since AlphaFold 3 outputs pLDDT per-atom. global_plddt = np.mean( [float(v) for v in old_cif['_atom_site.B_iso_or_equiv']] ) cif['_ma_qa_metric_global.metric_value'] = [f'{global_plddt:.2f}'] + # Local (per residue) model confidence pLDDT value. + cif['_ma_qa_metric_local.ordinal_id'] = [] + cif['_ma_qa_metric_local.model_id'] = [] + cif['_ma_qa_metric_local.label_asym_id'] = [] + cif['_ma_qa_metric_local.label_seq_id'] = [] + cif['_ma_qa_metric_local.label_comp_id'] = [] + cif['_ma_qa_metric_local.metric_id'] = [] + cif['_ma_qa_metric_local.metric_value'] = [] + + plddt_grouped_by_res = {} + for *res, atom_plddt in zip( + old_cif['_atom_site.label_asym_id'], + old_cif['_atom_site.label_seq_id'], + old_cif['_atom_site.label_comp_id'], + old_cif['_atom_site.B_iso_or_equiv'], + ): + plddt_grouped_by_res.setdefault(tuple(res), []).append(float(atom_plddt)) + + for ordinal_id, ((chain_id, res_id, res_name), res_plddts) in enumerate( + plddt_grouped_by_res.items(), start=1 + ): + res_plddt = np.mean(res_plddts) + cif['_ma_qa_metric_local.ordinal_id'].append(str(ordinal_id)) + cif['_ma_qa_metric_local.model_id'].append('1') + cif['_ma_qa_metric_local.label_asym_id'].append(chain_id) + cif['_ma_qa_metric_local.label_seq_id'].append(res_id) + cif['_ma_qa_metric_local.label_comp_id'].append(res_name) + cif['_ma_qa_metric_local.metric_id'].append('2') # See _ma_qa_metric.id. + cif['_ma_qa_metric_local.metric_value'].append(f'{res_plddt:.2f}') + cif['_atom_type.symbol'] = sorted(set(old_cif['_atom_site.type_symbol'])) return old_cif.copy_and_update(cif) diff --git a/src/alphafold3/model/model.py b/src/alphafold3/model/model.py new file mode 100644 index 0000000000000000000000000000000000000000..1d28772cc3abe36c8dc91777821a6d16d569b5aa --- /dev/null +++ b/src/alphafold3/model/model.py @@ -0,0 +1,516 @@ +# Copyright 2024 DeepMind Technologies Limited +# +# AlphaFold 3 source code is licensed under CC BY-NC-SA 4.0. To view a copy of +# this license, visit https://creativecommons.org/licenses/by-nc-sa/4.0/ +# +# To request access to the AlphaFold 3 model parameters, follow the process set +# out at https://github.com/google-deepmind/alphafold3. You may only use these +# if received directly from Google. Use is subject to terms of use available at +# https://github.com/google-deepmind/alphafold3/blob/main/WEIGHTS_TERMS_OF_USE.md + +"""AlphaFold3 model.""" + +from collections.abc import Iterable, Mapping +import concurrent +import dataclasses +import functools +from typing import Any, TypeAlias + +from absl import logging +from alphafold3 import structure +from alphafold3.common import base_config +from alphafold3.model import confidences +from alphafold3.model import feat_batch +from alphafold3.model import features +from alphafold3.model import model_config +from alphafold3.model.atom_layout import atom_layout +from alphafold3.model.components import mapping +from alphafold3.model.components import utils +from alphafold3.model.network import atom_cross_attention +from alphafold3.model.network import confidence_head +from alphafold3.model.network import diffusion_head +from alphafold3.model.network import distogram_head +from alphafold3.model.network import evoformer as evoformer_network +from alphafold3.model.network import featurization +import haiku as hk +import jax +import jax.numpy as jnp +import numpy as np + + +ModelResult: TypeAlias = Mapping[str, Any] +_ScalarNumberOrArray: TypeAlias = Mapping[str, float | int | np.ndarray] + + +@dataclasses.dataclass(frozen=True) +class InferenceResult: + """Postprocessed model result. + + Attributes: + predicted_structure: Predicted protein structure. + numerical_data: Useful numerical data (scalars or arrays) to be saved at + inference time. + metadata: Smaller numerical data (usually scalar) to be saved as inference + metadata. + debug_outputs: Additional dict for debugging, e.g. raw outputs of a model + forward pass. + model_id: Model identifier. + """ + + predicted_structure: structure.Structure = dataclasses.field() + numerical_data: _ScalarNumberOrArray = dataclasses.field(default_factory=dict) + metadata: _ScalarNumberOrArray = dataclasses.field(default_factory=dict) + debug_outputs: Mapping[str, Any] = dataclasses.field(default_factory=dict) + model_id: bytes = b'' + + +def get_predicted_structure( + result: ModelResult, batch: feat_batch.Batch +) -> structure.Structure: + """Creates the predicted structure and ion preditions. + + Args: + result: model output in a model specific layout + batch: model input batch + + Returns: + Predicted structure. + """ + model_output_coords = result['diffusion_samples']['atom_positions'] + + # Rearrange model output coordinates to the flat output layout. + model_output_to_flat = atom_layout.compute_gather_idxs( + source_layout=batch.convert_model_output.token_atoms_layout, + target_layout=batch.convert_model_output.flat_output_layout, + ) + pred_flat_atom_coords = atom_layout.convert( + gather_info=model_output_to_flat, + arr=model_output_coords, + layout_axes=(-3, -2), + ) + + predicted_lddt = result.get('predicted_lddt') + + if predicted_lddt is not None: + pred_flat_b_factors = atom_layout.convert( + gather_info=model_output_to_flat, + arr=predicted_lddt, + layout_axes=(-2, -1), + ) + else: + # Handle models which don't have predicted_lddt outputs. + pred_flat_b_factors = np.zeros(pred_flat_atom_coords.shape[:-1]) + + (missing_atoms_indices,) = np.nonzero(model_output_to_flat.gather_mask == 0) + if missing_atoms_indices.shape[0] > 0: + missing_atoms_flat_layout = batch.convert_model_output.flat_output_layout[ + missing_atoms_indices + ] + missing_atoms_uids = list( + zip( + missing_atoms_flat_layout.chain_id, + missing_atoms_flat_layout.res_id, + missing_atoms_flat_layout.res_name, + missing_atoms_flat_layout.atom_name, + ) + ) + logging.warning( + 'Target %s: warning: %s atoms were not predicted by the ' + 'model, setting their coordinates to (0, 0, 0). ' + 'Missing atoms: %s', + batch.convert_model_output.empty_output_struc.name, + missing_atoms_indices.shape[0], + missing_atoms_uids, + ) + + # Put them into a structure + pred_struc = batch.convert_model_output.empty_output_struc + pred_struc = pred_struc.copy_and_update_atoms( + atom_x=pred_flat_atom_coords[..., 0], + atom_y=pred_flat_atom_coords[..., 1], + atom_z=pred_flat_atom_coords[..., 2], + atom_b_factor=pred_flat_b_factors, + atom_occupancy=np.ones(pred_flat_atom_coords.shape[:-1]), # Always 1.0. + ) + # Set manually/differently when adding metadata. + pred_struc = pred_struc.copy_and_update_globals(release_date=None) + return pred_struc + + +def create_target_feat_embedding( + batch: feat_batch.Batch, + config: evoformer_network.Evoformer.Config, + global_config: model_config.GlobalConfig, +) -> jnp.ndarray: + """Create target feature embedding.""" + + dtype = jnp.bfloat16 if global_config.bfloat16 == 'all' else jnp.float32 + + with utils.bfloat16_context(): + target_feat = featurization.create_target_feat( + batch, + append_per_atom_features=False, + ).astype(dtype) + + enc = atom_cross_attention.atom_cross_att_encoder( + token_atoms_act=None, + trunk_single_cond=None, + trunk_pair_cond=None, + config=config.per_atom_conditioning, + global_config=global_config, + batch=batch, + name='evoformer_conditioning', + ) + target_feat = jnp.concatenate([target_feat, enc.token_act], axis=-1).astype( + dtype + ) + + return target_feat + + +def _compute_ptm( + result: ModelResult, + num_tokens: int, + asym_id: np.ndarray, + pae_single_mask: np.ndarray, + interface: bool, +) -> np.ndarray: + """Computes the pTM metrics from PAE.""" + return np.stack( + [ + confidences.predicted_tm_score( + tm_adjusted_pae=tm_adjusted_pae[:num_tokens, :num_tokens], + asym_id=asym_id, + pair_mask=pae_single_mask[:num_tokens, :num_tokens], + interface=interface, + ) + for tm_adjusted_pae in result['tmscore_adjusted_pae_global'] + ], + axis=0, + ) + + +def _compute_chain_pair_iptm( + num_tokens: int, + asym_ids: np.ndarray, + mask: np.ndarray, + tm_adjusted_pae: np.ndarray, +) -> np.ndarray: + """Computes the chain pair ipTM metrics from PAE.""" + return np.stack( + [ + confidences.chain_pairwise_predicted_tm_scores( + tm_adjusted_pae=sample_tm_adjusted_pae[:num_tokens], + asym_id=asym_ids[:num_tokens], + pair_mask=mask[:num_tokens, :num_tokens], + ) + for sample_tm_adjusted_pae in tm_adjusted_pae + ], + axis=0, + ) + + +class Model(hk.Module): + """Full model. Takes in data batch and returns model outputs.""" + + class HeadsConfig(base_config.BaseConfig): + diffusion: diffusion_head.DiffusionHead.Config = base_config.autocreate() + confidence: confidence_head.ConfidenceHead.Config = base_config.autocreate() + distogram: distogram_head.DistogramHead.Config = base_config.autocreate() + + class Config(base_config.BaseConfig): + evoformer: evoformer_network.Evoformer.Config = base_config.autocreate() + global_config: model_config.GlobalConfig = base_config.autocreate() + heads: 'Model.HeadsConfig' = base_config.autocreate() + num_recycles: int = 10 + return_embeddings: bool = False + + def __init__(self, config: Config, name: str = 'diffuser'): + super().__init__(name=name) + self.config = config + self.global_config = config.global_config + self.diffusion_module = diffusion_head.DiffusionHead( + self.config.heads.diffusion, self.global_config + ) + + @hk.transparent + def _sample_diffusion( + self, + batch: feat_batch.Batch, + embeddings: dict[str, jnp.ndarray], + *, + sample_config: diffusion_head.SampleConfig, + ) -> dict[str, jnp.ndarray]: + denoising_step = functools.partial( + self.diffusion_module, + batch=batch, + embeddings=embeddings, + use_conditioning=True, + ) + + sample = diffusion_head.sample( + denoising_step=denoising_step, + batch=batch, + key=hk.next_rng_key(), + config=sample_config, + ) + return sample + + def __call__( + self, batch: features.BatchDict, key: jax.Array | None = None + ) -> ModelResult: + if key is None: + key = hk.next_rng_key() + + batch = feat_batch.Batch.from_data_dict(batch) + + embedding_module = evoformer_network.Evoformer( + self.config.evoformer, self.global_config + ) + target_feat = create_target_feat_embedding( + batch=batch, + config=embedding_module.config, + global_config=self.global_config, + ) + + def recycle_body(_, args): + prev, key = args + key, subkey = jax.random.split(key) + embeddings = embedding_module( + batch=batch, + prev=prev, + target_feat=target_feat, + key=subkey, + ) + embeddings['pair'] = embeddings['pair'].astype(jnp.float32) + embeddings['single'] = embeddings['single'].astype(jnp.float32) + return embeddings, key + + num_res = batch.num_res + + embeddings = { + 'pair': jnp.zeros( + [num_res, num_res, self.config.evoformer.pair_channel], + dtype=jnp.float32, + ), + 'single': jnp.zeros( + [num_res, self.config.evoformer.seq_channel], dtype=jnp.float32 + ), + 'target_feat': target_feat, + } + if hk.running_init(): + embeddings, _ = recycle_body(None, (embeddings, key)) + else: + # Number of recycles is number of additional forward trunk passes. + num_iter = self.config.num_recycles + 1 + embeddings, _ = hk.fori_loop(0, num_iter, recycle_body, (embeddings, key)) + + samples = self._sample_diffusion( + batch, + embeddings, + sample_config=self.config.heads.diffusion.eval, + ) + + # Compute dist_error_fn over all samples for distance error logging. + confidence_output = mapping.sharded_map( + lambda dense_atom_positions: confidence_head.ConfidenceHead( + self.config.heads.confidence, self.global_config + )( + dense_atom_positions=dense_atom_positions, + embeddings=embeddings, + seq_mask=batch.token_features.mask, + token_atoms_to_pseudo_beta=batch.pseudo_beta_info.token_atoms_to_pseudo_beta, + asym_id=batch.token_features.asym_id, + ), + in_axes=0, + )(samples['atom_positions']) + + distogram = distogram_head.DistogramHead( + self.config.heads.distogram, self.global_config + )(batch, embeddings) + + output = { + 'diffusion_samples': samples, + 'distogram': distogram, + **confidence_output, + } + if self.config.return_embeddings: + output['single_embeddings'] = embeddings['single'] + output['pair_embeddings'] = embeddings['pair'] + return output + + @classmethod + def get_inference_result( + cls, + batch: features.BatchDict, + result: ModelResult, + target_name: str = '', + ) -> Iterable[InferenceResult]: + """Get the predicted structure, scalars, and arrays for inference. + + This function also computes any inference-time quantities, which are not a + part of the forward-pass, e.g. additional confidence scores. Note that this + function is not serialized, so it should be slim if possible. + + Args: + batch: data batch used for model inference, incl. TPU invalid types. + result: output dict from the model's forward pass. + target_name: target name to be saved within structure. + + Yields: + inference_result: dataclass object that contains a predicted structure, + important inference-time scalars and arrays, as well as a slightly trimmed + dictionary of raw model result from the forward pass (for debugging). + """ + del target_name + batch = feat_batch.Batch.from_data_dict(batch) + + # Retrieve structure and construct a predicted structure. + pred_structure = get_predicted_structure(result=result, batch=batch) + + num_tokens = batch.token_features.seq_length.item() + + pae_single_mask = np.tile( + batch.frames.mask[:, None], + [1, batch.frames.mask.shape[0]], + ) + ptm = _compute_ptm( + result=result, + num_tokens=num_tokens, + asym_id=batch.token_features.asym_id[:num_tokens], + pae_single_mask=pae_single_mask, + interface=False, + ) + iptm = _compute_ptm( + result=result, + num_tokens=num_tokens, + asym_id=batch.token_features.asym_id[:num_tokens], + pae_single_mask=pae_single_mask, + interface=True, + ) + ptm_iptm_average = 0.8 * iptm + 0.2 * ptm + + asym_ids = batch.token_features.asym_id[:num_tokens] + # Map asym IDs back to chain IDs. Asym IDs are constructed from chain IDs by + # iterating over the chain IDs, and for each unique chain ID incrementing + # the asym ID by 1 and mapping it to the particular chain ID. Asym IDs are + # 1-indexed, so subtract 1 to get back to the chain ID. + chain_ids = [pred_structure.chains[asym_id - 1] for asym_id in asym_ids] + res_ids = batch.token_features.residue_index[:num_tokens] + + if len(np.unique(asym_ids[:num_tokens])) > 1: + # There is more than one chain, hence interface pTM (i.e. ipTM) defined, + # so use it. + ranking_confidence = ptm_iptm_average + else: + # There is only one chain, hence ipTM=NaN, so use just pTM. + ranking_confidence = ptm + + contact_probs = result['distogram']['contact_probs'] + # Compute PAE related summaries. + _, chain_pair_pae_min, _ = confidences.chain_pair_pae( + num_tokens=num_tokens, + asym_ids=batch.token_features.asym_id, + full_pae=result['full_pae'], + mask=pae_single_mask, + ) + chain_pair_pde_mean, chain_pair_pde_min = confidences.chain_pair_pde( + num_tokens=num_tokens, + asym_ids=batch.token_features.asym_id, + full_pde=result['full_pde'], + ) + intra_chain_single_pde, cross_chain_single_pde, _ = confidences.pde_single( + num_tokens, + batch.token_features.asym_id, + result['full_pde'], + contact_probs, + ) + pae_metrics = confidences.pae_metrics( + num_tokens=num_tokens, + asym_ids=batch.token_features.asym_id, + full_pae=result['full_pae'], + mask=pae_single_mask, + contact_probs=contact_probs, + tm_adjusted_pae=result['tmscore_adjusted_pae_interface'], + ) + ranking_confidence_pae = confidences.rank_metric( + result['full_pae'], + contact_probs * batch.frames.mask[:, None].astype(float), + ) + chain_pair_iptm = _compute_chain_pair_iptm( + num_tokens=num_tokens, + asym_ids=batch.token_features.asym_id, + mask=pae_single_mask, + tm_adjusted_pae=result['tmscore_adjusted_pae_interface'], + ) + # iptm_ichain is a vector of per-chain ptm values. iptm_ichain[0], + # for example, is just the zeroth diagonal entry of the chain pair iptm + # matrix: + # [[x, , ], + # [ , , ], + # [ , , ]]] + iptm_ichain = chain_pair_iptm.diagonal(axis1=-2, axis2=-1) + # iptm_xchain is a vector of cross-chain interactions for each chain. + # iptm_xchain[0], for example, is an average of chain 0's interactions with + # other chains: + # [[ ,x,x], + # [x, , ], + # [x, , ]]] + iptm_xchain = confidences.get_iptm_xchain(chain_pair_iptm) + + predicted_distance_errors = result['average_pde'] + + # Computing solvent accessible area with dssp can be slow for large + # structures with lots of chains, so we parallelize the call. + pred_structures = pred_structure.unstack() + num_workers = len(pred_structures) + with concurrent.futures.ThreadPoolExecutor( + max_workers=num_workers + ) as executor: + has_clash = list(executor.map(confidences.has_clash, pred_structures)) + fraction_disordered = list( + executor.map(confidences.fraction_disordered, pred_structures) + ) + + for idx, pred_structure in enumerate(pred_structures): + ranking_score = confidences.get_ranking_score( + ptm=ptm[idx], + iptm=iptm[idx], + fraction_disordered_=fraction_disordered[idx], + has_clash_=has_clash[idx], + ) + yield InferenceResult( + predicted_structure=pred_structure, + numerical_data={ + 'full_pde': result['full_pde'][idx, :num_tokens, :num_tokens], + 'full_pae': result['full_pae'][idx, :num_tokens, :num_tokens], + 'contact_probs': contact_probs[:num_tokens, :num_tokens], + }, + metadata={ + 'predicted_distance_error': predicted_distance_errors[idx], + 'ranking_score': ranking_score, + 'fraction_disordered': fraction_disordered[idx], + 'has_clash': has_clash[idx], + 'predicted_tm_score': ptm[idx], + 'interface_predicted_tm_score': iptm[idx], + 'chain_pair_pde_mean': chain_pair_pde_mean[idx], + 'chain_pair_pde_min': chain_pair_pde_min[idx], + 'chain_pair_pae_min': chain_pair_pae_min[idx], + 'ptm': ptm[idx], + 'iptm': iptm[idx], + 'ptm_iptm_average': ptm_iptm_average[idx], + 'intra_chain_single_pde': intra_chain_single_pde[idx], + 'cross_chain_single_pde': cross_chain_single_pde[idx], + 'pae_ichain': pae_metrics['pae_ichain'][idx], + 'pae_xchain': pae_metrics['pae_xchain'][idx], + 'ranking_confidence': ranking_confidence[idx], + 'ranking_confidence_pae': ranking_confidence_pae[idx], + 'chain_pair_iptm': chain_pair_iptm[idx], + 'iptm_ichain': iptm_ichain[idx], + 'iptm_xchain': iptm_xchain[idx], + 'token_chain_ids': chain_ids, + 'token_res_ids': res_ids, + }, + model_id=result['__identifier__'], + debug_outputs={}, + ) diff --git a/src/alphafold3/model/model_config.py b/src/alphafold3/model/model_config.py index 65f97b2f4549959fc4214273adc6ddc490123d4f..2040d8fc842f5e21053010411819516066bca285 100644 --- a/src/alphafold3/model/model_config.py +++ b/src/alphafold3/model/model_config.py @@ -8,7 +8,7 @@ # if received directly from Google. Use is subject to terms of use available at # https://github.com/google-deepmind/alphafold3/blob/main/WEIGHTS_TERMS_OF_USE.md -"""Config for the protein folding model and experiment.""" +"""Global config for the model.""" from collections.abc import Sequence from typing import Literal, TypeAlias diff --git a/src/alphafold3/model/network/atom_cross_attention.py b/src/alphafold3/model/network/atom_cross_attention.py new file mode 100644 index 0000000000000000000000000000000000000000..4ff3030375064e75814f731349477cae2c815492 --- /dev/null +++ b/src/alphafold3/model/network/atom_cross_attention.py @@ -0,0 +1,413 @@ +# Copyright 2024 DeepMind Technologies Limited +# +# AlphaFold 3 source code is licensed under CC BY-NC-SA 4.0. To view a copy of +# this license, visit https://creativecommons.org/licenses/by-nc-sa/4.0/ +# +# To request access to the AlphaFold 3 model parameters, follow the process set +# out at https://github.com/google-deepmind/alphafold3. You may only use these +# if received directly from Google. Use is subject to terms of use available at +# https://github.com/google-deepmind/alphafold3/blob/main/WEIGHTS_TERMS_OF_USE.md + +"""Per-atom cross attention.""" + +from alphafold3.common import base_config +from alphafold3.model import feat_batch +from alphafold3.model import model_config +from alphafold3.model.atom_layout import atom_layout +from alphafold3.model.components import haiku_modules as hm +from alphafold3.model.components import utils +from alphafold3.model.network import diffusion_transformer +import chex +import jax +import jax.numpy as jnp + + +class AtomCrossAttEncoderConfig(base_config.BaseConfig): + per_token_channels: int = 768 + per_atom_channels: int = 128 + atom_transformer: diffusion_transformer.CrossAttTransformer.Config = ( + base_config.autocreate(num_intermediate_factor=2, num_blocks=3) + ) + per_atom_pair_channels: int = 16 + + +def _per_atom_conditioning( + config: AtomCrossAttEncoderConfig, batch: feat_batch.Batch, name: str +) -> tuple[jnp.ndarray, jnp.ndarray]: + """computes single and pair conditioning for all atoms in each token.""" + + c = config + # Compute per-atom single conditioning + # Shape (num_tokens, num_dense, channels) + act = hm.Linear( + c.per_atom_channels, precision='highest', name=f'{name}_embed_ref_pos' + )(batch.ref_structure.positions) + act += hm.Linear(c.per_atom_channels, name=f'{name}_embed_ref_mask')( + batch.ref_structure.mask.astype(jnp.float32)[:, :, None] + ) + # Element is encoded as atomic number if the periodic table, so + # 128 should be fine. + act += hm.Linear(c.per_atom_channels, name=f'{name}_embed_ref_element')( + jax.nn.one_hot(batch.ref_structure.element, 128) + ) + act += hm.Linear(c.per_atom_channels, name=f'{name}_embed_ref_charge')( + jnp.arcsinh(batch.ref_structure.charge)[:, :, None] + ) + # Characters are encoded as ASCII code minus 32, so we need 64 classes, + # to encode all standard ASCII characters between 32 and 96. + atom_name_chars_1hot = jax.nn.one_hot(batch.ref_structure.atom_name_chars, 64) + num_token, num_dense, _ = act.shape + act += hm.Linear(c.per_atom_channels, name=f'{name}_embed_ref_atom_name')( + atom_name_chars_1hot.reshape(num_token, num_dense, -1) + ) + act *= batch.ref_structure.mask.astype(jnp.float32)[:, :, None] + + # Compute pair conditioning + # shape (num_tokens, num_dense, num_dense, channels) + # Embed single features + row_act = hm.Linear( + c.per_atom_pair_channels, name=f'{name}_single_to_pair_cond_row' + )(jax.nn.relu(act)) + col_act = hm.Linear( + c.per_atom_pair_channels, name=f'{name}_single_to_pair_cond_col' + )(jax.nn.relu(act)) + pair_act = row_act[:, :, None, :] + col_act[:, None, :, :] + # Embed pairwise offsets + pair_act += hm.Linear( + c.per_atom_pair_channels, + precision='highest', + name=f'{name}_embed_pair_offsets', + )( + batch.ref_structure.positions[:, :, None, :] + - batch.ref_structure.positions[:, None, :, :] + ) + # Embed pairwise inverse squared distances + sq_dists = jnp.sum( + jnp.square( + batch.ref_structure.positions[:, :, None, :] + - batch.ref_structure.positions[:, None, :, :] + ), + axis=-1, + ) + pair_act += hm.Linear( + c.per_atom_pair_channels, name=f'{name}_embed_pair_distances' + )(1.0 / (1 + sq_dists[:, :, :, None])) + + return act, pair_act + + +@chex.dataclass(mappable_dataclass=False, frozen=True) +class AtomCrossAttEncoderOutput: + token_act: jnp.ndarray # (num_tokens, ch) + skip_connection: jnp.ndarray # (num_subsets, num_queries, ch) + queries_mask: jnp.ndarray # (num_subsets, num_queries) + queries_single_cond: jnp.ndarray # (num_subsets, num_queries, ch) + keys_mask: jnp.ndarray # (num_subsets, num_keys) + keys_single_cond: jnp.ndarray # (num_subsets, num_keys, ch) + pair_cond: jnp.ndarray # (num_subsets, num_queries, num_keys, ch) + + +def atom_cross_att_encoder( + token_atoms_act: jnp.ndarray | None, # (num_tokens, max_atoms_per_token, 3) + trunk_single_cond: jnp.ndarray | None, # (num_tokens, ch) + trunk_pair_cond: jnp.ndarray | None, # (num_tokens, num_tokens, ch) + config: AtomCrossAttEncoderConfig, + global_config: model_config.GlobalConfig, + batch: feat_batch.Batch, + name: str, +) -> AtomCrossAttEncoderOutput: + """Cross-attention on flat atom subsets and mapping to per-token features.""" + c = config + + # Compute single conditioning from atom meta data and convert to queries + # layout. + # (num_subsets, num_queries, channels) + token_atoms_single_cond, _ = _per_atom_conditioning(config, batch, name) + token_atoms_mask = batch.predicted_structure_info.atom_mask + queries_single_cond = atom_layout.convert( + batch.atom_cross_att.token_atoms_to_queries, + token_atoms_single_cond, + layout_axes=(-3, -2), + ) + queries_mask = atom_layout.convert( + batch.atom_cross_att.token_atoms_to_queries, + token_atoms_mask, + layout_axes=(-2, -1), + ) + + # If provided, broadcast single conditioning from trunk to all queries + if trunk_single_cond is not None: + trunk_single_cond = hm.Linear( + c.per_atom_channels, + precision='highest', + initializer=global_config.final_init, + name=f'{name}_embed_trunk_single_cond', + )( + hm.LayerNorm( + use_fast_variance=False, + create_offset=False, + name=f'{name}_lnorm_trunk_single_cond', + )(trunk_single_cond) + ) + queries_single_cond += atom_layout.convert( + batch.atom_cross_att.tokens_to_queries, + trunk_single_cond, + layout_axes=(-2,), + ) + + if token_atoms_act is None: + # if no token_atoms_act is given (e.g. begin of evoformer), we use the + # static conditioning only + queries_act = queries_single_cond + else: + # Convert token_atoms_act to queries layout and map to per_atom_channels + # (num_subsets, num_queries, channels) + queries_act = atom_layout.convert( + batch.atom_cross_att.token_atoms_to_queries, + token_atoms_act, + layout_axes=(-3, -2), + ) + queries_act = hm.Linear( + c.per_atom_channels, + precision='highest', + name=f'{name}_atom_positions_to_features', + )(queries_act) + queries_act *= queries_mask[..., None] + queries_act += queries_single_cond + + # Gather the keys from the queries. + keys_single_cond = atom_layout.convert( + batch.atom_cross_att.queries_to_keys, + queries_single_cond, + layout_axes=(-3, -2), + ) + keys_mask = atom_layout.convert( + batch.atom_cross_att.queries_to_keys, queries_mask, layout_axes=(-2, -1) + ) + + # Embed single features into the pair conditioning. + # shape (num_subsets, num_queries, num_keys, ch) + row_act = hm.Linear( + c.per_atom_pair_channels, name=f'{name}_single_to_pair_cond_row' + )(jax.nn.relu(queries_single_cond)) + pair_cond_keys_input = atom_layout.convert( + batch.atom_cross_att.queries_to_keys, + queries_single_cond, + layout_axes=(-3, -2), + ) + col_act = hm.Linear( + c.per_atom_pair_channels, name=f'{name}_single_to_pair_cond_col' + )(jax.nn.relu(pair_cond_keys_input)) + pair_act = row_act[:, :, None, :] + col_act[:, None, :, :] + + if trunk_pair_cond is not None: + # If provided, broadcast the pair conditioning for the trunk (evoformer + # pairs) to the atom pair activations. This should boost ligands, but also + # help for cross attention within proteins, because we always have atoms + # from multiple residues in a subset. + # Map trunk pair conditioning to per_atom_pair_channels + # (num_tokens, num_tokens, per_atom_pair_channels) + trunk_pair_cond = hm.Linear( + c.per_atom_pair_channels, + precision='highest', + initializer=global_config.final_init, + name=f'{name}_embed_trunk_pair_cond', + )( + hm.LayerNorm( + use_fast_variance=False, + create_offset=False, + name=f'{name}_lnorm_trunk_pair_cond', + )(trunk_pair_cond) + ) + + # Create the GatherInfo into a flattened trunk_pair_cond from the + # queries and keys gather infos. + num_tokens = trunk_pair_cond.shape[0] + # (num_subsets, num_queries) + tokens_to_queries = batch.atom_cross_att.tokens_to_queries + # (num_subsets, num_keys) + tokens_to_keys = batch.atom_cross_att.tokens_to_keys + # (num_subsets, num_queries, num_keys) + trunk_pair_to_atom_pair = atom_layout.GatherInfo( + gather_idxs=( + num_tokens * tokens_to_queries.gather_idxs[:, :, None] + + tokens_to_keys.gather_idxs[:, None, :] + ), + gather_mask=( + tokens_to_queries.gather_mask[:, :, None] + & tokens_to_keys.gather_mask[:, None, :] + ), + input_shape=jnp.array((num_tokens, num_tokens)), + ) + # Gather the conditioning and add it to the atom-pair activations. + pair_act += atom_layout.convert( + trunk_pair_to_atom_pair, trunk_pair_cond, layout_axes=(-3, -2) + ) + + # Embed pairwise offsets + queries_ref_pos = atom_layout.convert( + batch.atom_cross_att.token_atoms_to_queries, + batch.ref_structure.positions, + layout_axes=(-3, -2), + ) + queries_ref_space_uid = atom_layout.convert( + batch.atom_cross_att.token_atoms_to_queries, + batch.ref_structure.ref_space_uid, + layout_axes=(-2, -1), + ) + keys_ref_pos = atom_layout.convert( + batch.atom_cross_att.queries_to_keys, + queries_ref_pos, + layout_axes=(-3, -2), + ) + keys_ref_space_uid = atom_layout.convert( + batch.atom_cross_att.queries_to_keys, + batch.ref_structure.ref_space_uid, + layout_axes=(-2, -1), + ) + + offsets_valid = ( + queries_ref_space_uid[:, :, None] == keys_ref_space_uid[:, None, :] + ) + offsets = queries_ref_pos[:, :, None, :] - keys_ref_pos[:, None, :, :] + pair_act += ( + hm.Linear( + c.per_atom_pair_channels, + precision='highest', + name=f'{name}_embed_pair_offsets', + )(offsets) + * offsets_valid[:, :, :, None] + ) + + # Embed pairwise inverse squared distances + sq_dists = jnp.sum(jnp.square(offsets), axis=-1) + pair_act += ( + hm.Linear(c.per_atom_pair_channels, name=f'{name}_embed_pair_distances')( + 1.0 / (1 + sq_dists[:, :, :, None]) + ) + * offsets_valid[:, :, :, None] + ) + # Embed offsets valid mask + pair_act += hm.Linear( + c.per_atom_pair_channels, name=f'{name}_embed_pair_offsets_valid' + )(offsets_valid[:, :, :, None].astype(jnp.float32)) + + # Run a small MLP on the pair acitvations + pair_act2 = hm.Linear( + c.per_atom_pair_channels, initializer='relu', name=f'{name}_pair_mlp_1' + )(jax.nn.relu(pair_act)) + pair_act2 = hm.Linear( + c.per_atom_pair_channels, initializer='relu', name=f'{name}_pair_mlp_2' + )(jax.nn.relu(pair_act2)) + pair_act += hm.Linear( + c.per_atom_pair_channels, + initializer=global_config.final_init, + name=f'{name}_pair_mlp_3', + )(jax.nn.relu(pair_act2)) + + # Run the atom cross attention transformer. + queries_act = diffusion_transformer.CrossAttTransformer( + c.atom_transformer, global_config, name=f'{name}_atom_transformer_encoder' + )( + queries_act=queries_act, + queries_mask=queries_mask, + queries_to_keys=batch.atom_cross_att.queries_to_keys, + keys_mask=keys_mask, + queries_single_cond=queries_single_cond, + keys_single_cond=keys_single_cond, + pair_cond=pair_act, + ) + queries_act *= queries_mask[..., None] + skip_connection = queries_act + + # Convert back to token-atom layout and aggregate to tokens + queries_act = hm.Linear( + c.per_token_channels, name=f'{name}_project_atom_features_for_aggr' + )(queries_act) + token_atoms_act = atom_layout.convert( + batch.atom_cross_att.queries_to_token_atoms, + queries_act, + layout_axes=(-3, -2), + ) + token_act = utils.mask_mean( + token_atoms_mask[..., None], jax.nn.relu(token_atoms_act), axis=-2 + ) + + return AtomCrossAttEncoderOutput( + token_act=token_act, + skip_connection=skip_connection, + queries_mask=queries_mask, + queries_single_cond=queries_single_cond, + keys_mask=keys_mask, + keys_single_cond=keys_single_cond, + pair_cond=pair_act, + ) + + +class AtomCrossAttDecoderConfig(base_config.BaseConfig): + per_atom_channels: int = 128 + atom_transformer: diffusion_transformer.CrossAttTransformer.Config = ( + base_config.autocreate(num_intermediate_factor=2, num_blocks=3) + ) + + +def atom_cross_att_decoder( + token_act: jnp.ndarray, # (num_tokens, ch) + enc: AtomCrossAttEncoderOutput, + config: AtomCrossAttDecoderConfig, + global_config: model_config.GlobalConfig, + batch: feat_batch.Batch, + name: str, +): # (num_tokens, max_atoms_per_token, 3) + """Mapping to per-atom features and self-attention on subsets.""" + c = config + # map per-token act down to per_atom channels + token_act = hm.Linear( + c.per_atom_channels, name=f'{name}_project_token_features_for_broadcast' + )(token_act) + # Broadcast to token-atoms layout and convert to queries layout. + num_token, max_atoms_per_token = ( + batch.atom_cross_att.queries_to_token_atoms.shape + ) + token_atom_act = jnp.broadcast_to( + token_act[:, None, :], + (num_token, max_atoms_per_token, c.per_atom_channels), + ) + queries_act = atom_layout.convert( + batch.atom_cross_att.token_atoms_to_queries, + token_atom_act, + layout_axes=(-3, -2), + ) + queries_act += enc.skip_connection + queries_act *= enc.queries_mask[..., None] + + # Run the atom cross attention transformer. + queries_act = diffusion_transformer.CrossAttTransformer( + c.atom_transformer, global_config, name=f'{name}_atom_transformer_decoder' + )( + queries_act=queries_act, + queries_mask=enc.queries_mask, + queries_to_keys=batch.atom_cross_att.queries_to_keys, + keys_mask=enc.keys_mask, + queries_single_cond=enc.queries_single_cond, + keys_single_cond=enc.keys_single_cond, + pair_cond=enc.pair_cond, + ) + queries_act *= enc.queries_mask[..., None] + queries_act = hm.LayerNorm( + use_fast_variance=False, + create_offset=False, + name=f'{name}_atom_features_layer_norm', + )(queries_act) + queries_position_update = hm.Linear( + 3, + initializer=global_config.final_init, + precision='highest', + name=f'{name}_atom_features_to_position_update', + )(queries_act) + position_update = atom_layout.convert( + batch.atom_cross_att.queries_to_token_atoms, + queries_position_update, + layout_axes=(-3, -2), + ) + return position_update diff --git a/src/alphafold3/model/network/confidence_head.py b/src/alphafold3/model/network/confidence_head.py new file mode 100644 index 0000000000000000000000000000000000000000..35fc86ccc16d89d143373f60e275732fff45ea43 --- /dev/null +++ b/src/alphafold3/model/network/confidence_head.py @@ -0,0 +1,320 @@ +# Copyright 2024 DeepMind Technologies Limited +# +# AlphaFold 3 source code is licensed under CC BY-NC-SA 4.0. To view a copy of +# this license, visit https://creativecommons.org/licenses/by-nc-sa/4.0/ +# +# To request access to the AlphaFold 3 model parameters, follow the process set +# out at https://github.com/google-deepmind/alphafold3. You may only use these +# if received directly from Google. Use is subject to terms of use available at +# https://github.com/google-deepmind/alphafold3/blob/main/WEIGHTS_TERMS_OF_USE.md + +"""Confidence Head.""" + +from alphafold3.common import base_config +from alphafold3.model import model_config +from alphafold3.model.atom_layout import atom_layout +from alphafold3.model.components import haiku_modules as hm +from alphafold3.model.components import utils +from alphafold3.model.network import modules +from alphafold3.model.network import template_modules +import haiku as hk +import jax +import jax.numpy as jnp + + +def _safe_norm(x, keepdims, axis, eps=1e-8): + return jnp.sqrt(eps + jnp.sum(jnp.square(x), axis=axis, keepdims=keepdims)) + + +class ConfidenceHead(hk.Module): + """Head to predict the distance errors in a prediction.""" + + class PAEConfig(base_config.BaseConfig): + max_error_bin: float = 31.0 + num_bins: int = 64 + + class Config(base_config.BaseConfig): + """Configuration for ConfidenceHead.""" + + pairformer: modules.PairFormerIteration.Config = base_config.autocreate( + single_attention=base_config.autocreate(), + single_transition=base_config.autocreate(), + num_layer=4, + ) + max_error_bin: float = 31.0 + num_plddt_bins: int = 50 + num_bins: int = 64 + no_embedding_prob: float = 0.2 + pae: 'ConfidenceHead.PAEConfig' = base_config.autocreate() + dgram_features: template_modules.DistogramFeaturesConfig = ( + base_config.autocreate() + ) + + def __init__( + self, + config: Config, + global_config: model_config.GlobalConfig, + name='confidence_head', + ): + super().__init__(name=name) + self.config = config + self.global_config = global_config + + def _embed_features( + self, + dense_atom_positions, + token_atoms_to_pseudo_beta, + pair_mask, + pair_act, + target_feat, + ): + out = hm.Linear(pair_act.shape[-1], name='left_target_feat_project')( + target_feat + ).astype(pair_act.dtype) + out += hm.Linear(pair_act.shape[-1], name='right_target_feat_project')( + target_feat + ).astype(pair_act.dtype)[:, None] + positions = atom_layout.convert( + token_atoms_to_pseudo_beta, + dense_atom_positions, + layout_axes=(-3, -2), + ) + dgram = template_modules.dgram_from_positions( + positions, self.config.dgram_features + ) + dgram *= pair_mask[..., None] + + out += hm.Linear(pair_act.shape[-1], name='distogram_feat_project')( + dgram.astype(pair_act.dtype) + ) + return out + + def __call__( + self, + dense_atom_positions: jnp.ndarray, + embeddings: dict[str, jnp.ndarray], + seq_mask: jnp.ndarray, + token_atoms_to_pseudo_beta: atom_layout.GatherInfo, + asym_id: jnp.ndarray, + ) -> dict[str, jnp.ndarray]: + """Builds ConfidenceHead module. + + Arguments: + dense_atom_positions: [N_res, N_atom, 3] array of positions. + embeddings: Dictionary of representations. + seq_mask: Sequence mask. + token_atoms_to_pseudo_beta: Pseudo beta info for atom tokens. + asym_id: Asym ID token features. + + Returns: + Dictionary of results. + """ + dtype = ( + jnp.bfloat16 if self.global_config.bfloat16 == 'all' else jnp.float32 + ) + with utils.bfloat16_context(): + seq_mask_cast = seq_mask.astype(dtype) + pair_mask = seq_mask_cast[:, None] * seq_mask_cast[None, :] + pair_mask = pair_mask.astype(dtype) + + pair_act = embeddings['pair'].astype(dtype) + single_act = embeddings['single'].astype(dtype) + target_feat = embeddings['target_feat'].astype(dtype) + + num_residues = seq_mask.shape[0] + num_pair_channels = pair_act.shape[2] + + pair_act += self._embed_features( + dense_atom_positions, + token_atoms_to_pseudo_beta, + pair_mask, + pair_act, + target_feat, + ) + + def pairformer_fn(act): + pair_act, single_act = act + return modules.PairFormerIteration( + self.config.pairformer, + self.global_config, + with_single=True, + name='confidence_pairformer', + )( + act=pair_act, + single_act=single_act, + pair_mask=pair_mask, + seq_mask=seq_mask, + ) + + pairformer_stack = hk.experimental.layer_stack( + self.config.pairformer.num_layer + )(pairformer_fn) + + pair_act, single_act = pairformer_stack((pair_act, single_act)) + pair_act = pair_act.astype(jnp.float32) + assert pair_act.shape == (num_residues, num_residues, num_pair_channels) + + # Produce logits to predict a distogram of pairwise distance errors + # between the input prediction and the ground truth. + + # Shape (num_res, num_res, num_bins) + left_distance_logits = hm.Linear( + self.config.num_bins, + initializer=self.global_config.final_init, + name='left_half_distance_logits', + )(hm.LayerNorm(name='logits_ln')(pair_act)) + right_distance_logits = left_distance_logits + distance_logits = left_distance_logits + jnp.swapaxes( # Symmetrize. + right_distance_logits, -2, -3 + ) + # Shape (num_bins,) + distance_breaks = jnp.linspace( + 0.0, self.config.max_error_bin, self.config.num_bins - 1 + ) + + step = distance_breaks[1] - distance_breaks[0] + + # Add half-step to get the center + bin_centers = distance_breaks + step / 2 + # Add a catch-all bin at the end. + bin_centers = jnp.concatenate( + [bin_centers, bin_centers[-1:] + step], axis=0 + ) + + distance_probs = jax.nn.softmax(distance_logits, axis=-1) + + pred_distance_error = ( + jnp.sum(distance_probs * bin_centers, axis=-1) * pair_mask + ) + average_pred_distance_error = jnp.sum( + pred_distance_error, axis=[-2, -1] + ) / jnp.sum(pair_mask, axis=[-2, -1]) + + # Predicted aligned error + pae_outputs = {} + # Shape (num_res, num_res, num_bins) + pae_logits = hm.Linear( + self.config.pae.num_bins, + initializer=self.global_config.final_init, + name='pae_logits', + )(hm.LayerNorm(name='pae_logits_ln')(pair_act)) + # Shape (num_bins,) + pae_breaks = jnp.linspace( + 0.0, self.config.pae.max_error_bin, self.config.pae.num_bins - 1 + ) + step = pae_breaks[1] - pae_breaks[0] + # Add half-step to get the center + bin_centers = pae_breaks + step / 2 + # Add a catch-all bin at the end. + bin_centers = jnp.concatenate( + [bin_centers, bin_centers[-1:] + step], axis=0 + ) + pae_probs = jax.nn.softmax(pae_logits, axis=-1) + + seq_mask_bool = seq_mask.astype(bool) + pair_mask_bool = seq_mask_bool[:, None] * seq_mask_bool[None, :] + pae = jnp.sum(pae_probs * bin_centers, axis=-1) * pair_mask_bool + pae_outputs.update({ + 'full_pae': pae, + }) + + # The pTM is computed outside of bfloat16 context. + tmscore_adjusted_pae_global, tmscore_adjusted_pae_interface = ( + self._get_tmscore_adjusted_pae( + asym_id=asym_id, + seq_mask=seq_mask, + pair_mask=pair_mask_bool, + bin_centers=bin_centers, + pae_probs=pae_probs, + ) + ) + pae_outputs.update({ + 'tmscore_adjusted_pae_global': tmscore_adjusted_pae_global, + 'tmscore_adjusted_pae_interface': tmscore_adjusted_pae_interface, + }) + single_act = single_act.astype('float32') + + # pLDDT + # Shape (num_res, num_atom, num_bins) + plddt_logits = hm.Linear( + (dense_atom_positions.shape[-2], self.config.num_plddt_bins), + initializer=self.global_config.final_init, + name='plddt_logits', + )(hm.LayerNorm(name='plddt_logits_ln')(single_act)) + + bin_width = 1.0 / self.config.num_plddt_bins + bin_centers = jnp.arange(0.5 * bin_width, 1.0, bin_width) + predicted_lddt = jnp.sum( + jax.nn.softmax(plddt_logits, axis=-1) * bin_centers, axis=-1 + ) + predicted_lddt = predicted_lddt * 100.0 + + # Experimentally resolved + # Shape (num_res, num_atom, 2) + experimentally_resolved_logits = hm.Linear( + (dense_atom_positions.shape[-2], 2), + initializer=self.global_config.final_init, + name='experimentally_resolved_logits', + )(hm.LayerNorm(name='experimentally_resolved_ln')(single_act)) + + predicted_experimentally_resolved = jax.nn.softmax( + experimentally_resolved_logits, axis=-1 + )[..., 1] + + return { + 'predicted_lddt': predicted_lddt, + 'predicted_experimentally_resolved': predicted_experimentally_resolved, + 'full_pde': pred_distance_error, + 'average_pde': average_pred_distance_error, + **pae_outputs, + } + + def _get_tmscore_adjusted_pae( + self, + asym_id: jnp.ndarray, + seq_mask: jnp.ndarray, + pair_mask: jnp.ndarray, + bin_centers: jnp.ndarray, + pae_probs: jnp.ndarray, + ): + def get_tmscore_adjusted_pae(num_interface_tokens, bin_centers, pae_probs): + # Clip to avoid negative/undefined d0. + clipped_num_res = jnp.maximum(num_interface_tokens, 19) + + # Compute d_0(num_res) as defined by TM-score, eqn. (5) in + # http://zhanglab.ccmb.med.umich.edu/papers/2004_3.pdf + # Yang & Skolnick "Scoring function for automated + # assessment of protein structure template quality" 2004. + d0 = 1.24 * (clipped_num_res - 15) ** (1.0 / 3) - 1.8 + + # Make compatible with [num_tokens, num_tokens, num_bins] + d0 = d0[:, :, None] + bin_centers = bin_centers[None, None, :] + + # TM-Score term for every bin. + tm_per_bin = 1.0 / (1 + jnp.square(bin_centers) / jnp.square(d0)) + # E_distances tm(distance). + predicted_tm_term = jnp.sum(pae_probs * tm_per_bin, axis=-1) + return predicted_tm_term + + # Interface version + x = asym_id[None, :] == asym_id[:, None] + num_chain_tokens = jnp.sum(x * pair_mask, axis=-1) + num_interface_tokens = num_chain_tokens[None, :] + num_chain_tokens[:, None] + # Don't double-count within a single chain + num_interface_tokens -= x * (num_interface_tokens // 2) + num_interface_tokens = num_interface_tokens * pair_mask + + num_global_tokens = jnp.full( + shape=pair_mask.shape, fill_value=seq_mask.sum() + ) + + assert num_global_tokens.dtype == 'int32' + assert num_interface_tokens.dtype == 'int32' + global_apae = get_tmscore_adjusted_pae( + num_global_tokens, bin_centers, pae_probs + ) + interface_apae = get_tmscore_adjusted_pae( + num_interface_tokens, bin_centers, pae_probs + ) + return global_apae, interface_apae diff --git a/src/alphafold3/model/network/diffusion_head.py b/src/alphafold3/model/network/diffusion_head.py new file mode 100644 index 0000000000000000000000000000000000000000..4ca8190b5a6bb31b64bb7c9f3360f95b087e4d42 --- /dev/null +++ b/src/alphafold3/model/network/diffusion_head.py @@ -0,0 +1,369 @@ +# Copyright 2024 DeepMind Technologies Limited +# +# AlphaFold 3 source code is licensed under CC BY-NC-SA 4.0. To view a copy of +# this license, visit https://creativecommons.org/licenses/by-nc-sa/4.0/ +# +# To request access to the AlphaFold 3 model parameters, follow the process set +# out at https://github.com/google-deepmind/alphafold3. You may only use these +# if received directly from Google. Use is subject to terms of use available at +# https://github.com/google-deepmind/alphafold3/blob/main/WEIGHTS_TERMS_OF_USE.md + +"""Diffusion Head.""" + +from collections.abc import Callable + +from alphafold3.common import base_config +from alphafold3.model import feat_batch +from alphafold3.model import model_config +from alphafold3.model.components import haiku_modules as hm +from alphafold3.model.components import utils +from alphafold3.model.network import atom_cross_attention +from alphafold3.model.network import diffusion_transformer +from alphafold3.model.network import featurization +from alphafold3.model.network import noise_level_embeddings +import chex +import haiku as hk +import jax +import jax.numpy as jnp + + +# Carefully measured by averaging multimer training set. +SIGMA_DATA = 16.0 + + +def random_rotation(key): + # Create a random rotation (Gram-Schmidt orthogonalization of two + # random normal vectors) + v0, v1 = jax.random.normal(key, shape=(2, 3)) + e0 = v0 / jnp.maximum(1e-10, jnp.linalg.norm(v0)) + v1 = v1 - e0 * jnp.dot(v1, e0, precision=jax.lax.Precision.HIGHEST) + e1 = v1 / jnp.maximum(1e-10, jnp.linalg.norm(v1)) + e2 = jnp.cross(e0, e1) + return jnp.stack([e0, e1, e2]) + + +def random_augmentation( + rng_key: jnp.ndarray, + positions: jnp.ndarray, + mask: jnp.ndarray, +) -> jnp.ndarray: + """Apply random rigid augmentation. + + Args: + rng_key: random key + positions: atom positions of shape (<common_axes>, 3) + mask: per-atom mask of shape (<common_axes>,) + + Returns: + Transformed positions with the same shape as input positions. + """ + rotation_key, translation_key = jax.random.split(rng_key) + + center = utils.mask_mean( + mask[..., None], positions, axis=(-2, -3), keepdims=True, eps=1e-6 + ) + rot = random_rotation(rotation_key) + translation = jax.random.normal(translation_key, shape=(3,)) + + augmented_positions = ( + jnp.einsum( + '...i,ij->...j', + positions - center, + rot, + precision=jax.lax.Precision.HIGHEST, + ) + + translation + ) + return augmented_positions * mask[..., None] + + +def noise_schedule(t, smin=0.0004, smax=160.0, p=7): + return ( + SIGMA_DATA + * (smax ** (1 / p) + t * (smin ** (1 / p) - smax ** (1 / p))) ** p + ) + + +class ConditioningConfig(base_config.BaseConfig): + pair_channel: int + seq_channel: int + prob: float + + +class SampleConfig(base_config.BaseConfig): + steps: int + gamma_0: float = 0.8 + gamma_min: float = 1.0 + noise_scale: float = 1.003 + step_scale: float = 1.5 + num_samples: int = 1 + + +class DiffusionHead(hk.Module): + """Denoising Diffusion Head.""" + + class Config( + atom_cross_attention.AtomCrossAttEncoderConfig, + atom_cross_attention.AtomCrossAttDecoderConfig, + ): + """Configuration for DiffusionHead.""" + + eval_batch_size: int = 5 + eval_batch_dim_shard_size: int = 5 + conditioning: ConditioningConfig = base_config.autocreate( + prob=0.8, pair_channel=128, seq_channel=384 + ) + eval: SampleConfig = base_config.autocreate( + num_samples=5, + steps=200, + ) + transformer: diffusion_transformer.Transformer.Config = ( + base_config.autocreate() + ) + + def __init__( + self, + config: Config, + global_config: model_config.GlobalConfig, + name='diffusion_head', + ): + self.config = config + self.global_config = global_config + super().__init__(name=name) + + @hk.transparent + def _conditioning( + self, + batch: feat_batch.Batch, + embeddings: dict[str, jnp.ndarray], + noise_level: jnp.ndarray, + use_conditioning: bool, + ) -> tuple[jnp.ndarray, jnp.ndarray]: + single_embedding = use_conditioning * embeddings['single'] + pair_embedding = use_conditioning * embeddings['pair'] + + rel_features = featurization.create_relative_encoding( + batch.token_features, max_relative_idx=32, max_relative_chain=2 + ).astype(pair_embedding.dtype) + features_2d = jnp.concatenate([pair_embedding, rel_features], axis=-1) + pair_cond = hm.Linear( + self.config.conditioning.pair_channel, + precision='highest', + name='pair_cond_initial_projection', + )( + hm.LayerNorm( + use_fast_variance=False, + create_offset=False, + name='pair_cond_initial_norm', + )(features_2d) + ) + + for idx in range(2): + pair_cond += diffusion_transformer.transition_block( + pair_cond, 2, self.global_config, name=f'pair_transition_{idx}' + ) + + target_feat = embeddings['target_feat'] + features_1d = jnp.concatenate([single_embedding, target_feat], axis=-1) + single_cond = hm.LayerNorm( + use_fast_variance=False, + create_offset=False, + name='single_cond_initial_norm', + )(features_1d) + single_cond = hm.Linear( + self.config.conditioning.seq_channel, + precision='highest', + name='single_cond_initial_projection', + )(single_cond) + + noise_embedding = noise_level_embeddings.noise_embeddings( + sigma_scaled_noise_level=noise_level / SIGMA_DATA + ) + single_cond += hm.Linear( + self.config.conditioning.seq_channel, + precision='highest', + name='noise_embedding_initial_projection', + )( + hm.LayerNorm( + use_fast_variance=False, + create_offset=False, + name='noise_embedding_initial_norm', + )(noise_embedding) + ) + + for idx in range(2): + single_cond += diffusion_transformer.transition_block( + single_cond, 2, self.global_config, name=f'single_transition_{idx}' + ) + + return single_cond, pair_cond + + def __call__( + self, + # positions_noisy.shape: (num_token, max_atoms_per_token, 3) + positions_noisy: jnp.ndarray, + noise_level: jnp.ndarray, + batch: feat_batch.Batch, + embeddings: dict[str, jnp.ndarray], + use_conditioning: bool, + ) -> jnp.ndarray: + + with utils.bfloat16_context(): + # Get conditioning + trunk_single_cond, trunk_pair_cond = self._conditioning( + batch=batch, + embeddings=embeddings, + noise_level=noise_level, + use_conditioning=use_conditioning, + ) + + # Extract features + sequence_mask = batch.token_features.mask + atom_mask = batch.predicted_structure_info.atom_mask + + # Position features + act = positions_noisy * atom_mask[..., None] + act = act / jnp.sqrt(noise_level**2 + SIGMA_DATA**2) + + enc = atom_cross_attention.atom_cross_att_encoder( + token_atoms_act=act, + trunk_single_cond=embeddings['single'], + trunk_pair_cond=trunk_pair_cond, + config=self.config, + global_config=self.global_config, + batch=batch, + name='diffusion', + ) + act = enc.token_act + + # Token-token attention + chex.assert_shape(act, (None, self.config.per_token_channels)) + act = jnp.asarray(act, dtype=jnp.float32) + + act += hm.Linear( + act.shape[-1], + precision='highest', + initializer=self.global_config.final_init, + name='single_cond_embedding_projection', + )( + hm.LayerNorm( + use_fast_variance=False, + create_offset=False, + name='single_cond_embedding_norm', + )(trunk_single_cond) + ) + + act = jnp.asarray(act, dtype=jnp.float32) + trunk_single_cond = jnp.asarray(trunk_single_cond, dtype=jnp.float32) + trunk_pair_cond = jnp.asarray(trunk_pair_cond, dtype=jnp.float32) + sequence_mask = jnp.asarray(sequence_mask, dtype=jnp.float32) + + transformer = diffusion_transformer.Transformer( + self.config.transformer, self.global_config + ) + act = transformer( + act=act, + single_cond=trunk_single_cond, + mask=sequence_mask, + pair_cond=trunk_pair_cond, + ) + act = hm.LayerNorm( + use_fast_variance=False, create_offset=False, name='output_norm' + )(act) + # (n_tokens, per_token_channels) + + # (Possibly) atom-granularity decoder + assert isinstance(enc, atom_cross_attention.AtomCrossAttEncoderOutput) + position_update = atom_cross_attention.atom_cross_att_decoder( + token_act=act, + enc=enc, + config=self.config, + global_config=self.global_config, + batch=batch, + name='diffusion', + ) + + skip_scaling = SIGMA_DATA**2 / (noise_level**2 + SIGMA_DATA**2) + out_scaling = ( + noise_level * SIGMA_DATA / jnp.sqrt(noise_level**2 + SIGMA_DATA**2) + ) + # End `with utils.bfloat16_context()`. + + return ( + skip_scaling * positions_noisy + out_scaling * position_update + ) * atom_mask[..., None] + + +def sample( + denoising_step: Callable[[jnp.ndarray, jnp.ndarray], jnp.ndarray], + batch: feat_batch.Batch, + key: jnp.ndarray, + config: SampleConfig, +) -> dict[str, jnp.ndarray]: + """Sample using denoiser on batch. + + Args: + denoising_step: the denoising function. + batch: the batch + key: random key + config: config for the sampling process (e.g. number of denoising steps, + etc.) + + Returns: + a dict + { + 'atom_positions': jnp.array(...) # shape (<common_axes>, 3) + 'mask': jnp.array(...) # shape (<common_axes>,) + } + where the <common_axes> are + (num_samples, num_tokens, max_atoms_per_token) + """ + + mask = batch.predicted_structure_info.atom_mask + + def apply_denoising_step(carry, noise_level): + key, positions, noise_level_prev = carry + key, key_noise, key_aug = jax.random.split(key, 3) + + positions = random_augmentation( + rng_key=key_aug, positions=positions, mask=mask + ) + + gamma = config.gamma_0 * (noise_level > config.gamma_min) + t_hat = noise_level_prev * (1 + gamma) + + noise_scale = config.noise_scale * jnp.sqrt(t_hat**2 - noise_level_prev**2) + noise = noise_scale * jax.random.normal(key_noise, positions.shape) + positions_noisy = positions + noise + + positions_denoised = denoising_step(positions_noisy, t_hat) + grad = (positions_noisy - positions_denoised) / t_hat + + d_t = noise_level - t_hat + positions_out = positions_noisy + config.step_scale * d_t * grad + + return (key, positions_out, noise_level), positions_out + + num_samples = config.num_samples + + noise_levels = noise_schedule(jnp.linspace(0, 1, config.steps + 1)) + + key, noise_key = jax.random.split(key) + positions = jax.random.normal(noise_key, (num_samples,) + mask.shape + (3,)) + positions *= noise_levels[0] + + init = ( + jax.random.split(key, num_samples), + positions, + jnp.tile(noise_levels[None, 0], (num_samples,)), + ) + + apply_denoising_step = hk.vmap( + apply_denoising_step, in_axes=(0, None), split_rng=(not hk.running_init()) + ) + result, _ = hk.scan(apply_denoising_step, init, noise_levels[1:], unroll=4) + _, positions_out, _ = result + + final_dense_atom_mask = jnp.tile(mask[None], (num_samples, 1, 1)) + + return {'atom_positions': positions_out, 'mask': final_dense_atom_mask} diff --git a/src/alphafold3/model/network/diffusion_transformer.py b/src/alphafold3/model/network/diffusion_transformer.py new file mode 100644 index 0000000000000000000000000000000000000000..58823e8a54c31993e77ef1b647bb6cac8a95d399 --- /dev/null +++ b/src/alphafold3/model/network/diffusion_transformer.py @@ -0,0 +1,404 @@ +# Copyright 2024 DeepMind Technologies Limited +# +# AlphaFold 3 source code is licensed under CC BY-NC-SA 4.0. To view a copy of +# this license, visit https://creativecommons.org/licenses/by-nc-sa/4.0/ +# +# To request access to the AlphaFold 3 model parameters, follow the process set +# out at https://github.com/google-deepmind/alphafold3. You may only use these +# if received directly from Google. Use is subject to terms of use available at +# https://github.com/google-deepmind/alphafold3/blob/main/WEIGHTS_TERMS_OF_USE.md + +"""Diffusion transformer model.""" + +from alphafold3.common import base_config +from alphafold3.jax.gated_linear_unit import gated_linear_unit +from alphafold3.model import model_config +from alphafold3.model.atom_layout import atom_layout +from alphafold3.model.components import haiku_modules as hm +import haiku as hk +import jax +from jax import numpy as jnp + + +def adaptive_layernorm(x, single_cond, name): + """Adaptive LayerNorm.""" + # Adopted from Scalable Diffusion Models with Transformers + # https://arxiv.org/abs/2212.09748 + if single_cond is None: + x = hm.LayerNorm(name=f'{name}layer_norm', use_fast_variance=False)(x) + else: + x = hm.LayerNorm( + name=f'{name}layer_norm', + use_fast_variance=False, + create_scale=False, + create_offset=False, + )(x) + single_cond = hm.LayerNorm( + name=f'{name}single_cond_layer_norm', + use_fast_variance=False, + create_offset=False, + )(single_cond) + single_scale = hm.Linear( + x.shape[-1], + initializer='zeros', + use_bias=True, + name=f'{name}single_cond_scale', + )(single_cond) + single_bias = hm.Linear( + x.shape[-1], initializer='zeros', name=f'{name}single_cond_bias' + )(single_cond) + x = jax.nn.sigmoid(single_scale) * x + single_bias + return x + + +def adaptive_zero_init( + x, num_channels, single_cond, global_config: model_config.GlobalConfig, name +): + """Adaptive zero init, from AdaLN-zero.""" + if single_cond is None: + output = hm.Linear( + num_channels, + initializer=global_config.final_init, + name=f'{name}transition2', + )(x) + else: + output = hm.Linear(num_channels, name=f'{name}transition2')(x) + # Init to a small gain, sigmoid(-2) ~ 0.1 + cond = hm.Linear( + output.shape[-1], + initializer='zeros', + use_bias=True, + bias_init=-2.0, + name=f'{name}adaptive_zero_cond', + )(single_cond) + output = jax.nn.sigmoid(cond) * output + return output + + +def transition_block( + x: jnp.ndarray, + num_intermediate_factor: int, + global_config: model_config.GlobalConfig, + single_cond: jnp.ndarray | None = None, + use_glu_kernel: bool = True, + name: str = '', +) -> jnp.ndarray: + """Transition Block.""" + num_channels = x.shape[-1] + num_intermediates = num_intermediate_factor * num_channels + + x = adaptive_layernorm(x, single_cond, name=f'{name}ffw_') + + if use_glu_kernel: + weights, _ = hm.haiku_linear_get_params( + x, + num_output=num_intermediates * 2, + initializer='relu', + name=f'{name}ffw_transition1', + ) + weights = jnp.reshape(weights, (len(weights), 2, num_intermediates)) + c = gated_linear_unit.gated_linear_unit( + x=x, weight=weights, implementation=None, activation=jax.nn.swish + ) + else: + x = hm.Linear( + num_intermediates * 2, initializer='relu', name=f'{name}ffw_transition1' + )(x) + a, b = jnp.split(x, 2, axis=-1) + c = jax.nn.swish(a) * b + + output = adaptive_zero_init( + c, num_channels, single_cond, global_config, f'{name}ffw_' + ) + return output + + +class SelfAttentionConfig(base_config.BaseConfig): + num_head: int = 16 + key_dim: int | None = None + value_dim: int | None = None + + +def self_attention( + x: jnp.ndarray, # (num_tokens, ch) + mask: jnp.ndarray, # (num_tokens,) + pair_logits: jnp.ndarray | None, # (num_heads, num_tokens, num_tokens) + config: SelfAttentionConfig, + global_config: model_config.GlobalConfig, + single_cond: jnp.ndarray | None = None, # (num_tokens, ch) + name: str = '', +) -> jnp.ndarray: + """Multihead self-attention.""" + assert len(mask.shape) == len(x.shape) - 1, f'{mask.shape}, {x.shape}' + # bias: ... x heads (1) x query (1) x key + bias = (1e9 * (mask - 1.0))[..., None, None, :] + + x = adaptive_layernorm(x, single_cond, name=name) + + num_channels = x.shape[-1] + # Sensible default for when the config keys are missing + key_dim = config.key_dim if config.key_dim is not None else num_channels + value_dim = config.value_dim if config.value_dim is not None else num_channels + num_head = config.num_head + assert key_dim % num_head == 0, f'{key_dim=} % {num_head=} != 0' + assert value_dim % num_head == 0, f'{value_dim=} % {num_head=} != 0' + key_dim = key_dim // num_head + value_dim = value_dim // num_head + + qk_shape = (num_head, key_dim) + q = hm.Linear(qk_shape, use_bias=True, name=f'{name}q_projection')(x) + k = hm.Linear(qk_shape, use_bias=False, name=f'{name}k_projection')(x) + + # In some situations the gradient norms can blow up without running this + # einsum in float32. + q = q.astype(jnp.float32) + k = k.astype(jnp.float32) + bias = bias.astype(jnp.float32) + logits = jnp.einsum('...qhc,...khc->...hqk', q * key_dim ** (-0.5), k) + bias + if pair_logits is not None: + logits += pair_logits # (num_heads, seq_len, seq_len) + weights = jax.nn.softmax(logits, axis=-1) + weights = jnp.asarray(weights, dtype=x.dtype) + + v_shape = (num_head, value_dim) + v = hm.Linear(v_shape, use_bias=False, name=f'{name}v_projection')(x) + weighted_avg = jnp.einsum('...hqk,...khc->...qhc', weights, v) + weighted_avg = jnp.reshape(weighted_avg, weighted_avg.shape[:-2] + (-1,)) + + gate_logits = hm.Linear( + num_head * value_dim, + bias_init=1.0, + initializer='zeros', + name=f'{name}gating_query', + )(x) + weighted_avg *= jax.nn.sigmoid(gate_logits) + + output = adaptive_zero_init( + weighted_avg, num_channels, single_cond, global_config, name + ) + return output + + +class Transformer(hk.Module): + """Simple transformer stack.""" + + class Config(base_config.BaseConfig): + attention: SelfAttentionConfig = base_config.autocreate() + num_blocks: int = 24 + block_remat: bool = False + super_block_size: int = 4 + num_intermediate_factor: int = 2 + + def __init__( + self, + config: Config, + global_config: model_config.GlobalConfig, + name: str = 'transformer', + ): + super().__init__(name=name) + self.config = config + self.global_config = global_config + + def __call__( + self, + act: jnp.ndarray, + mask: jnp.ndarray, + single_cond: jnp.ndarray, + pair_cond: jnp.ndarray | None, + ) -> jnp.ndarray: + def block(act, pair_logits): + act += self_attention( + act, + mask, + pair_logits, + self.config.attention, + self.global_config, + single_cond, + name=self.name, + ) + act += transition_block( + act, + self.config.num_intermediate_factor, + self.global_config, + single_cond, + name=self.name, + ) + return act, None + + # Precompute pair logits for performance + if pair_cond is None: + pair_act = None + else: + pair_act = hm.LayerNorm( + name='pair_input_layer_norm', + use_fast_variance=False, + create_offset=False, + )(pair_cond) + + assert self.config.num_blocks % self.config.super_block_size == 0 + num_super_blocks = self.config.num_blocks // self.config.super_block_size + + def super_block(act): + if pair_act is None: + pair_logits = None + else: + pair_logits = hm.Linear( + (self.config.super_block_size, self.config.attention.num_head), + name='pair_logits_projection', + )(pair_act) + pair_logits = jnp.transpose(pair_logits, [2, 3, 0, 1]) + return hk.experimental.layer_stack( + self.config.super_block_size, with_per_layer_inputs=True + )(block)(act, pair_logits) + + return hk.experimental.layer_stack( + num_super_blocks, with_per_layer_inputs=True + )(super_block)(act)[0] + + +class CrossAttentionConfig(base_config.BaseConfig): + num_head: int = 4 + key_dim: int = 128 + value_dim: int = 128 + + +def cross_attention( + x_q: jnp.ndarray, # (..., Q, C) + x_k: jnp.ndarray, # (..., K, C) + mask_q: jnp.ndarray, # (..., Q) + mask_k: jnp.ndarray, # (..., K) + config: CrossAttentionConfig, + global_config: model_config.GlobalConfig, + pair_logits: jnp.ndarray | None = None, # (..., Q, K) + single_cond_q: jnp.ndarray | None = None, # (..., Q, C) + single_cond_k: jnp.ndarray | None = None, # (..., K, C) + name: str = '', +) -> jnp.ndarray: + """Multihead self-attention.""" + assert len(mask_q.shape) == len(x_q.shape) - 1, f'{mask_q.shape}, {x_q.shape}' + assert len(mask_k.shape) == len(x_k.shape) - 1, f'{mask_k.shape}, {x_k.shape}' + # bias: ... x heads (1) x query x key + bias = ( + 1e9 + * (mask_q - 1.0)[..., None, :, None] + * (mask_k - 1.0)[..., None, None, :] + ) + + x_q = adaptive_layernorm(x_q, single_cond_q, name=f'{name}q') + x_k = adaptive_layernorm(x_k, single_cond_k, name=f'{name}k') + + assert config.key_dim % config.num_head == 0 + assert config.value_dim % config.num_head == 0 + key_dim = config.key_dim // config.num_head + value_dim = config.value_dim // config.num_head + + q = hm.Linear( + (config.num_head, key_dim), use_bias=True, name=f'{name}q_projection' + )(x_q) + k = hm.Linear( + (config.num_head, key_dim), use_bias=False, name=f'{name}k_projection' + )(x_k) + + # In some situations the gradient norms can blow up without running this + # einsum in float32. + q = q.astype(jnp.float32) + k = k.astype(jnp.float32) + bias = bias.astype(jnp.float32) + logits = jnp.einsum('...qhc,...khc->...hqk', q * key_dim ** (-0.5), k) + bias + if pair_logits is not None: + logits += pair_logits + weights = jax.nn.softmax(logits, axis=-1) + weights = jnp.asarray(weights, dtype=x_q.dtype) + + v = hm.Linear( + (config.num_head, value_dim), use_bias=False, name=f'{name}v_projection' + )(x_k) + weighted_avg = jnp.einsum('...hqk,...khc->...qhc', weights, v) + weighted_avg = jnp.reshape(weighted_avg, weighted_avg.shape[:-2] + (-1,)) + + gate_logits = hm.Linear( + config.num_head * value_dim, + bias_init=1.0, + initializer='zeros', + name=f'{name}gating_query', + )(x_q) + weighted_avg *= jax.nn.sigmoid(gate_logits) + + output = adaptive_zero_init( + weighted_avg, x_q.shape[-1], single_cond_q, global_config, name + ) + return output + + +class CrossAttTransformer(hk.Module): + """Transformer that applies cross attention between two sets of subsets.""" + + class Config(base_config.BaseConfig): + num_intermediate_factor: int + num_blocks: int + attention: CrossAttentionConfig = base_config.autocreate() + + def __init__( + self, + config: Config, + global_config: model_config.GlobalConfig, + name: str = 'transformer', + ): + super().__init__(name=name) + self.config = config + self.global_config = global_config + + def __call__( + self, + queries_act: jnp.ndarray, # (num_subsets, num_queries, ch) + queries_mask: jnp.ndarray, # (num_subsets, num_queries) + queries_to_keys: atom_layout.GatherInfo, # (num_subsets, num_keys) + keys_mask: jnp.ndarray, # (num_subsets, num_keys) + queries_single_cond: jnp.ndarray, # (num_subsets, num_queries, ch) + keys_single_cond: jnp.ndarray, # (num_subsets, num_keys, ch) + pair_cond: jnp.ndarray, # (num_subsets, num_queries, num_keys, ch) + ) -> jnp.ndarray: + def block(queries_act, pair_logits): + # copy the queries activations to the keys layout + keys_act = atom_layout.convert( + queries_to_keys, queries_act, layout_axes=(-3, -2) + ) + # cross attention + queries_act += cross_attention( + x_q=queries_act, + x_k=keys_act, + mask_q=queries_mask, + mask_k=keys_mask, + config=self.config.attention, + global_config=self.global_config, + pair_logits=pair_logits, + single_cond_q=queries_single_cond, + single_cond_k=keys_single_cond, + name=self.name, + ) + queries_act += transition_block( + queries_act, + self.config.num_intermediate_factor, + self.global_config, + queries_single_cond, + name=self.name, + ) + return queries_act, None + + # Precompute pair logits for performance + pair_act = hm.LayerNorm( + name='pair_input_layer_norm', + use_fast_variance=False, + create_offset=False, + )(pair_cond) + # (num_subsets, num_queries, num_keys, num_blocks, num_heads) + pair_logits = hm.Linear( + (self.config.num_blocks, self.config.attention.num_head), + name='pair_logits_projection', + )(pair_act) + # (num_block, num_subsets, num_heads, num_queries, num_keys) + pair_logits = jnp.transpose(pair_logits, [3, 0, 4, 1, 2]) + + return hk.experimental.layer_stack( + self.config.num_blocks, with_per_layer_inputs=True + )(block)(queries_act, pair_logits)[0] diff --git a/src/alphafold3/model/network/distogram_head.py b/src/alphafold3/model/network/distogram_head.py new file mode 100644 index 0000000000000000000000000000000000000000..810eccba210b64e404d9a7751021b480e95874ed --- /dev/null +++ b/src/alphafold3/model/network/distogram_head.py @@ -0,0 +1,81 @@ +# Copyright 2024 DeepMind Technologies Limited +# +# AlphaFold 3 source code is licensed under CC BY-NC-SA 4.0. To view a copy of +# this license, visit https://creativecommons.org/licenses/by-nc-sa/4.0/ +# +# To request access to the AlphaFold 3 model parameters, follow the process set +# out at https://github.com/google-deepmind/alphafold3. You may only use these +# if received directly from Google. Use is subject to terms of use available at +# https://github.com/google-deepmind/alphafold3/blob/main/WEIGHTS_TERMS_OF_USE.md + +"""Distogram head.""" + +from typing import Final + +from alphafold3.common import base_config +from alphafold3.model import feat_batch +from alphafold3.model import model_config +from alphafold3.model.components import haiku_modules as hm +import haiku as hk +import jax +import jax.numpy as jnp + + +_CONTACT_THRESHOLD: Final[float] = 8.0 +_CONTACT_EPSILON: Final[float] = 1e-3 + + +class DistogramHead(hk.Module): + """Distogram head.""" + + class Config(base_config.BaseConfig): + first_break: float = 2.3125 + last_break: float = 21.6875 + num_bins: int = 64 + + def __init__( + self, + config: Config, + global_config: model_config.GlobalConfig, + name='distogram_head', + ): + super().__init__(name=name) + self.config = config + self.global_config = global_config + + def __call__( + self, + batch: feat_batch.Batch, + embeddings: dict[str, jnp.ndarray], + ) -> dict[str, jnp.ndarray]: + pair_act = embeddings['pair'] + seq_mask = batch.token_features.mask.astype(bool) + pair_mask = seq_mask[:, None] * seq_mask[None, :] + + left_half_logits = hm.Linear( + self.config.num_bins, + initializer=self.global_config.final_init, + name='half_logits', + )(pair_act) + + right_half_logits = left_half_logits + logits = left_half_logits + jnp.swapaxes(right_half_logits, -2, -3) + probs = jax.nn.softmax(logits, axis=-1) + breaks = jnp.linspace( + self.config.first_break, + self.config.last_break, + self.config.num_bins - 1, + ) + + bin_tops = jnp.append(breaks, breaks[-1] + (breaks[-1] - breaks[-2])) + threshold = _CONTACT_THRESHOLD + _CONTACT_EPSILON + is_contact_bin = 1.0 * (bin_tops <= threshold) + contact_probs = jnp.einsum( + 'ijk,k->ij', probs, is_contact_bin, precision=jax.lax.Precision.HIGHEST + ) + contact_probs = pair_mask * contact_probs + + return { + 'bin_edges': breaks, + 'contact_probs': contact_probs, + } diff --git a/src/alphafold3/model/network/evoformer.py b/src/alphafold3/model/network/evoformer.py new file mode 100644 index 0000000000000000000000000000000000000000..fb245cd1e780045ad8ae50e4813c95f16a29bdaf --- /dev/null +++ b/src/alphafold3/model/network/evoformer.py @@ -0,0 +1,347 @@ +# Copyright 2024 DeepMind Technologies Limited +# +# AlphaFold 3 source code is licensed under CC BY-NC-SA 4.0. To view a copy of +# this license, visit https://creativecommons.org/licenses/by-nc-sa/4.0/ +# +# To request access to the AlphaFold 3 model parameters, follow the process set +# out at https://github.com/google-deepmind/alphafold3. You may only use these +# if received directly from Google. Use is subject to terms of use available at +# https://github.com/google-deepmind/alphafold3/blob/main/WEIGHTS_TERMS_OF_USE.md + +"""Evoformer network.""" + +import functools + +from alphafold3.common import base_config +from alphafold3.model import feat_batch +from alphafold3.model import features +from alphafold3.model import model_config +from alphafold3.model.components import haiku_modules as hm +from alphafold3.model.components import utils +from alphafold3.model.network import atom_cross_attention +from alphafold3.model.network import featurization +from alphafold3.model.network import modules +from alphafold3.model.network import template_modules +import haiku as hk +import jax +import jax.numpy as jnp + + +class Evoformer(hk.Module): + """Creates 'single' and 'pair' embeddings.""" + + class PairformerConfig(modules.PairFormerIteration.Config): # pytype: disable=invalid-function-definition + block_remat: bool = False + remat_block_size: int = 8 + + class Config(base_config.BaseConfig): + """Configuration for Evoformer.""" + + max_relative_chain: int = 2 + msa_channel: int = 64 + seq_channel: int = 384 + max_relative_idx: int = 32 + num_msa: int = 1024 + pair_channel: int = 128 + pairformer: 'Evoformer.PairformerConfig' = base_config.autocreate( + single_transition=base_config.autocreate(), + single_attention=base_config.autocreate(), + num_layer=48, + ) + per_atom_conditioning: atom_cross_attention.AtomCrossAttEncoderConfig = ( + base_config.autocreate( + per_token_channels=384, + per_atom_channels=128, + atom_transformer=base_config.autocreate( + num_intermediate_factor=2, + num_blocks=3, + ), + per_atom_pair_channels=16, + ) + ) + template: template_modules.TemplateEmbedding.Config = ( + base_config.autocreate() + ) + msa_stack: modules.EvoformerIteration.Config = base_config.autocreate() + + def __init__( + self, + config: Config, + global_config: model_config.GlobalConfig, + name='evoformer', + ): + super().__init__(name=name) + self.config = config + self.global_config = global_config + + def _relative_encoding( + self, batch: feat_batch.Batch, pair_activations: jnp.ndarray + ) -> jnp.ndarray: + """Add relative position encodings.""" + rel_feat = featurization.create_relative_encoding( + batch.token_features, + self.config.max_relative_idx, + self.config.max_relative_chain, + ) + rel_feat = rel_feat.astype(pair_activations.dtype) + + pair_activations += hm.Linear( + self.config.pair_channel, name='position_activations' + )(rel_feat) + return pair_activations + + @hk.transparent + def _seq_pair_embedding( + self, + token_features: features.TokenFeatures, + target_feat: jnp.ndarray, + ) -> tuple[jnp.ndarray, jnp.ndarray]: + """Generated Pair embedding from sequence.""" + left_single = hm.Linear(self.config.pair_channel, name='left_single')( + target_feat + )[:, None] + right_single = hm.Linear(self.config.pair_channel, name='right_single')( + target_feat + )[None] + dtype = left_single.dtype + pair_activations = left_single + right_single + num_residues = pair_activations.shape[0] + assert pair_activations.shape == ( + num_residues, + num_residues, + self.config.pair_channel, + ) + mask = token_features.mask + pair_mask = (mask[:, None] * mask[None, :]).astype(dtype) + assert pair_mask.shape == (num_residues, num_residues) + return pair_activations, pair_mask # pytype: disable=bad-return-type # jax-ndarray + + @hk.transparent + def _embed_bonds( + self, + batch: feat_batch.Batch, + pair_activations: jnp.ndarray, + ) -> jnp.ndarray: + """Embeds bond features and merges into pair activations.""" + # Construct contact matrix. + num_tokens = batch.token_features.token_index.shape[0] + contact_matrix = jnp.zeros((num_tokens, num_tokens)) + + tokens_to_polymer_ligand_bonds = ( + batch.polymer_ligand_bond_info.tokens_to_polymer_ligand_bonds + ) + gather_idxs_polymer_ligand = tokens_to_polymer_ligand_bonds.gather_idxs + gather_mask_polymer_ligand = ( + tokens_to_polymer_ligand_bonds.gather_mask.prod(axis=1).astype( + gather_idxs_polymer_ligand.dtype + )[:, None] + ) + # If valid mask then it will be all 1's, so idxs should be unchanged. + gather_idxs_polymer_ligand = ( + gather_idxs_polymer_ligand * gather_mask_polymer_ligand + ) + + tokens_to_ligand_ligand_bonds = ( + batch.ligand_ligand_bond_info.tokens_to_ligand_ligand_bonds + ) + gather_idxs_ligand_ligand = tokens_to_ligand_ligand_bonds.gather_idxs + gather_mask_ligand_ligand = tokens_to_ligand_ligand_bonds.gather_mask.prod( + axis=1 + ).astype(gather_idxs_ligand_ligand.dtype)[:, None] + gather_idxs_ligand_ligand = ( + gather_idxs_ligand_ligand * gather_mask_ligand_ligand + ) + + gather_idxs = jnp.concatenate( + [gather_idxs_polymer_ligand, gather_idxs_ligand_ligand] + ) + contact_matrix = contact_matrix.at[ + gather_idxs[:, 0], gather_idxs[:, 1] + ].set(1.0) + + # Because all the padded index's are 0's. + contact_matrix = contact_matrix.at[0, 0].set(0.0) + + bonds_act = hm.Linear(self.config.pair_channel, name='bond_embedding')( + contact_matrix[:, :, None].astype(pair_activations.dtype) + ) + return pair_activations + bonds_act + + @hk.transparent + def _embed_template_pair( + self, + batch: feat_batch.Batch, + pair_activations: jnp.ndarray, + pair_mask: jnp.ndarray, + key: jnp.ndarray, + ) -> tuple[jnp.ndarray, jnp.ndarray]: + """Embeds Templates and merges into pair activations.""" + dtype = pair_activations.dtype + key, subkey = jax.random.split(key) + template_module = template_modules.TemplateEmbedding( + self.config.template, self.global_config + ) + templates = batch.templates + asym_id = batch.token_features.asym_id + # Construct a mask such that only intra-chain template features are + # computed, since all templates are for each chain individually. + multichain_mask = (asym_id[:, None] == asym_id[None, :]).astype(dtype) + + template_fn = functools.partial(template_module, key=subkey) + template_act = template_fn( + query_embedding=pair_activations, + templates=templates, + multichain_mask_2d=multichain_mask, + padding_mask_2d=pair_mask, + ) + return pair_activations + template_act, key + + @hk.transparent + def _embed_process_msa( + self, + msa_batch: features.MSA, + pair_activations: jnp.ndarray, + pair_mask: jnp.ndarray, + key: jnp.ndarray, + target_feat: jnp.ndarray, + ) -> tuple[jnp.ndarray, jnp.ndarray]: + """Processes MSA and returns updated pair activations.""" + dtype = pair_activations.dtype + msa_batch, key = featurization.shuffle_msa(key, msa_batch) + msa_batch = featurization.truncate_msa_batch(msa_batch, self.config.num_msa) + msa_feat = featurization.create_msa_feat(msa_batch).astype(dtype) + + msa_activations = hm.Linear( + self.config.msa_channel, name='msa_activations' + )(msa_feat) + + msa_activations += hm.Linear( + self.config.msa_channel, name='extra_msa_target_feat' + )(target_feat)[None] + msa_mask = msa_batch.mask.astype(dtype) + + # Evoformer MSA stack. + evoformer_input = {'msa': msa_activations, 'pair': pair_activations} + masks = {'msa': msa_mask, 'pair': pair_mask} + + def evoformer_fn(x): + return modules.EvoformerIteration( + self.config.msa_stack, self.global_config, name='msa_stack' + )( + activations=x, + masks=masks, + ) + + evoformer_stack = hk.experimental.layer_stack( + self.config.msa_stack.num_layer + )(evoformer_fn) + + evoformer_output = evoformer_stack(evoformer_input) + + return evoformer_output['pair'], key + + def __call__( + self, + batch: feat_batch.Batch, + prev: dict[str, jnp.ndarray], + target_feat: jnp.ndarray, + key: jnp.ndarray, + ) -> dict[str, jnp.ndarray]: + + assert self.global_config.bfloat16 in {'all', 'none'} + + num_residues = target_feat.shape[0] + assert batch.token_features.aatype.shape == (num_residues,) + + dtype = ( + jnp.bfloat16 if self.global_config.bfloat16 == 'all' else jnp.float32 + ) + + with utils.bfloat16_context(): + pair_activations, pair_mask = self._seq_pair_embedding( + batch.token_features, target_feat + ) + + pair_activations += hm.Linear( + pair_activations.shape[-1], + name='prev_embedding', + initializer=self.global_config.final_init, + )( + hm.LayerNorm(name='prev_embedding_layer_norm')( + prev['pair'].astype(pair_activations.dtype) + ) + ) + + pair_activations = self._relative_encoding(batch, pair_activations) + + pair_activations = self._embed_bonds( + batch=batch, pair_activations=pair_activations + ) + + pair_activations, key = self._embed_template_pair( + batch=batch, + pair_activations=pair_activations, + pair_mask=pair_mask, + key=key, + ) + pair_activations, key = self._embed_process_msa( + msa_batch=batch.msa, + pair_activations=pair_activations, + pair_mask=pair_mask, + key=key, + target_feat=target_feat, + ) + del key # Unused after this point. + + single_activations = hm.Linear( + self.config.seq_channel, name='single_activations' + )(target_feat) + + single_activations += hm.Linear( + single_activations.shape[-1], + name='prev_single_embedding', + initializer=self.global_config.final_init, + )( + hm.LayerNorm(name='prev_single_embedding_layer_norm')( + prev['single'].astype(single_activations.dtype) + ) + ) + + def pairformer_fn(x): + pairformer_iteration = modules.PairFormerIteration( + self.config.pairformer, + self.global_config, + with_single=True, + name='trunk_pairformer', + ) + pair_act, single_act = x + return pairformer_iteration( + act=pair_act, + single_act=single_act, + pair_mask=pair_mask, + seq_mask=batch.token_features.mask.astype(dtype), + ) + + pairformer_stack = hk.experimental.layer_stack( + self.config.pairformer.num_layer + )(pairformer_fn) + + pair_activations, single_activations = pairformer_stack( + (pair_activations, single_activations) + ) + + assert pair_activations.shape == ( + num_residues, + num_residues, + self.config.pair_channel, + ) + assert single_activations.shape == (num_residues, self.config.seq_channel) + assert len(target_feat.shape) == 2 + assert target_feat.shape[0] == num_residues + output = { + 'single': single_activations, + 'pair': pair_activations, + 'target_feat': target_feat, + } + + return output diff --git a/src/alphafold3/model/network/featurization.py b/src/alphafold3/model/network/featurization.py new file mode 100644 index 0000000000000000000000000000000000000000..de8ee57e2f0170f7cd566ff262d508811f4cd75b --- /dev/null +++ b/src/alphafold3/model/network/featurization.py @@ -0,0 +1,269 @@ +# Copyright 2024 DeepMind Technologies Limited +# +# AlphaFold 3 source code is licensed under CC BY-NC-SA 4.0. To view a copy of +# this license, visit https://creativecommons.org/licenses/by-nc-sa/4.0/ +# +# To request access to the AlphaFold 3 model parameters, follow the process set +# out at https://github.com/google-deepmind/alphafold3. You may only use these +# if received directly from Google. Use is subject to terms of use available at +# https://github.com/google-deepmind/alphafold3/blob/main/WEIGHTS_TERMS_OF_USE.md + +"""Model-side of the input features processing.""" + +import functools + +from alphafold3.constants import residue_names +from alphafold3.model import feat_batch +from alphafold3.model import features +from alphafold3.model.components import utils +import chex +import jax +import jax.numpy as jnp + + +def _grid_keys(key, shape): + """Generate a grid of rng keys that is consistent with different padding. + + Generate random keys such that the keys will be identical, regardless of + how much padding is added to any dimension. + + Args: + key: A PRNG key. + shape: The shape of the output array of keys that will be generated. + + Returns: + An array of shape `shape` consisting of random keys. + """ + if not shape: + return key + new_keys = jax.vmap(functools.partial(jax.random.fold_in, key))( + jnp.arange(shape[0]) + ) + return jax.vmap(functools.partial(_grid_keys, shape=shape[1:]))(new_keys) + + +def _padding_consistent_rng(f): + """Modify any element-wise random function to be consistent with padding. + + Normally if you take a function like jax.random.normal and generate an array, + say of size (10,10), you will get a different set of random numbers to if you + add padding and take the first (10,10) sub-array. + + This function makes a random function that is consistent regardless of the + amount of padding added. + + Note: The padding-consistent function is likely to be slower to compile and + run than the function it is wrapping, but these slowdowns are likely to be + negligible in a large network. + + Args: + f: Any element-wise function that takes (PRNG key, shape) as the first 2 + arguments. + + Returns: + An equivalent function to f, that is now consistent for different amounts of + padding. + """ + + def inner(key, shape, **kwargs): + keys = _grid_keys(key, shape) + signature = ( + '()->()' + if jax.dtypes.issubdtype(keys.dtype, jax.dtypes.prng_key) + else '(2)->()' + ) + return jnp.vectorize( + functools.partial(f, shape=(), **kwargs), signature=signature + )(keys) + + return inner + + +def gumbel_argsort_sample_idx( + key: jnp.ndarray, logits: jnp.ndarray +) -> jnp.ndarray: + """Samples with replacement from a distribution given by 'logits'. + + This uses Gumbel trick to implement the sampling an efficient manner. For a + distribution over k items this samples k times without replacement, so this + is effectively sampling a random permutation with probabilities over the + permutations derived from the logprobs. + + Args: + key: prng key + logits: logarithm of probabilities to sample from, probabilities can be + unnormalized. + + Returns: + Sample from logprobs in one-hot form. + """ + gumbel = _padding_consistent_rng(jax.random.gumbel) + z = gumbel(key, logits.shape) + # This construction is equivalent to jnp.argsort, but using a non stable sort, + # since stable sort's aren't supported by jax2tf + axis = len(logits.shape) - 1 + iota = jax.lax.broadcasted_iota(jnp.int64, logits.shape, axis) + _, perm = jax.lax.sort_key_val( + logits + z, iota, dimension=-1, is_stable=False + ) + return perm[::-1] + + +def create_msa_feat(msa: features.MSA) -> chex.ArrayDevice: + """Create and concatenate MSA features.""" + msa_1hot = jax.nn.one_hot( + msa.rows, residue_names.POLYMER_TYPES_NUM_WITH_UNKNOWN_AND_GAP + 1 + ) + deletion_matrix = msa.deletion_matrix + has_deletion = jnp.clip(deletion_matrix, 0.0, 1.0)[..., None] + deletion_value = (jnp.arctan(deletion_matrix / 3.0) * (2.0 / jnp.pi))[ + ..., None + ] + + msa_feat = [ + msa_1hot, + has_deletion, + deletion_value, + ] + + return jnp.concatenate(msa_feat, axis=-1) + + +def truncate_msa_batch(msa: features.MSA, num_msa: int) -> features.MSA: + indices = jnp.arange(num_msa) + return msa.index_msa_rows(indices) + + +def create_target_feat( + batch: feat_batch.Batch, + append_per_atom_features: bool, +) -> chex.ArrayDevice: + """Make target feat.""" + token_features = batch.token_features + target_features = [] + target_features.append( + jax.nn.one_hot( + token_features.aatype, + residue_names.POLYMER_TYPES_NUM_WITH_UNKNOWN_AND_GAP, + ) + ) + target_features.append(batch.msa.profile) + target_features.append(batch.msa.deletion_mean[..., None]) + + # Reference structure features + if append_per_atom_features: + ref_mask = batch.ref_structure.mask + element_feat = jax.nn.one_hot(batch.ref_structure.element, 128) + element_feat = utils.mask_mean( + mask=ref_mask[..., None], value=element_feat, axis=-2, eps=1e-6 + ) + target_features.append(element_feat) + pos_feat = batch.ref_structure.positions + pos_feat = pos_feat.reshape([pos_feat.shape[0], -1]) + target_features.append(pos_feat) + target_features.append(ref_mask) + + return jnp.concatenate(target_features, axis=-1) + + +def create_relative_encoding( + seq_features: features.TokenFeatures, + max_relative_idx: int, + max_relative_chain: int, +) -> chex.ArrayDevice: + """Add relative position encodings.""" + rel_feats = [] + token_index = seq_features.token_index + residue_index = seq_features.residue_index + asym_id = seq_features.asym_id + entity_id = seq_features.entity_id + sym_id = seq_features.sym_id + + left_asym_id = asym_id[:, None] + right_asym_id = asym_id[None, :] + + left_residue_index = residue_index[:, None] + right_residue_index = residue_index[None, :] + + left_token_index = token_index[:, None] + right_token_index = token_index[None, :] + + left_entity_id = entity_id[:, None] + right_entity_id = entity_id[None, :] + + left_sym_id = sym_id[:, None] + right_sym_id = sym_id[None, :] + + # Embed relative positions using a one-hot embedding of distance along chain + offset = left_residue_index - right_residue_index + clipped_offset = jnp.clip( + offset + max_relative_idx, min=0, max=2 * max_relative_idx + ) + asym_id_same = left_asym_id == right_asym_id + final_offset = jnp.where( + asym_id_same, + clipped_offset, + (2 * max_relative_idx + 1) * jnp.ones_like(clipped_offset), + ) + rel_pos = jax.nn.one_hot(final_offset, 2 * max_relative_idx + 2) + rel_feats.append(rel_pos) + + # Embed relative token index as a one-hot embedding of distance along residue + token_offset = left_token_index - right_token_index + clipped_token_offset = jnp.clip( + token_offset + max_relative_idx, min=0, max=2 * max_relative_idx + ) + residue_same = (left_asym_id == right_asym_id) & ( + left_residue_index == right_residue_index + ) + final_token_offset = jnp.where( + residue_same, + clipped_token_offset, + (2 * max_relative_idx + 1) * jnp.ones_like(clipped_token_offset), + ) + rel_token = jax.nn.one_hot(final_token_offset, 2 * max_relative_idx + 2) + rel_feats.append(rel_token) + + # Embed same entity ID + entity_id_same = left_entity_id == right_entity_id + rel_feats.append(entity_id_same.astype(rel_pos.dtype)[..., None]) + + # Embed relative chain ID inside each symmetry class + rel_sym_id = left_sym_id - right_sym_id + + max_rel_chain = max_relative_chain + + clipped_rel_chain = jnp.clip( + rel_sym_id + max_rel_chain, min=0, max=2 * max_rel_chain + ) + + final_rel_chain = jnp.where( + entity_id_same, + clipped_rel_chain, + (2 * max_rel_chain + 1) * jnp.ones_like(clipped_rel_chain), + ) + rel_chain = jax.nn.one_hot(final_rel_chain, 2 * max_relative_chain + 2) + + rel_feats.append(rel_chain) + + return jnp.concatenate(rel_feats, axis=-1) + + +def shuffle_msa( + key: jax.Array, msa: features.MSA +) -> tuple[features.MSA, jax.Array]: + """Shuffle MSA randomly, return batch with shuffled MSA. + + Args: + key: rng key for random number generation. + msa: MSA object to sample msa from. + + Returns: + Protein with sampled msa. + """ + key, sample_key = jax.random.split(key) + # Sample uniformly among sequences with at least one non-masked position. + logits = (jnp.clip(jnp.sum(msa.mask, axis=-1), 0.0, 1.0) - 1.0) * 1e6 + index_order = gumbel_argsort_sample_idx(sample_key, logits) + + return msa.index_msa_rows(index_order), key diff --git a/src/alphafold3/model/network/modules.py b/src/alphafold3/model/network/modules.py new file mode 100644 index 0000000000000000000000000000000000000000..58d4ee4eca91fc4317a048524ef42fd47b03fc47 --- /dev/null +++ b/src/alphafold3/model/network/modules.py @@ -0,0 +1,627 @@ +# Copyright 2024 DeepMind Technologies Limited +# +# AlphaFold 3 source code is licensed under CC BY-NC-SA 4.0. To view a copy of +# this license, visit https://creativecommons.org/licenses/by-nc-sa/4.0/ +# +# To request access to the AlphaFold 3 model parameters, follow the process set +# out at https://github.com/google-deepmind/alphafold3. You may only use these +# if received directly from Google. Use is subject to terms of use available at +# https://github.com/google-deepmind/alphafold3/blob/main/WEIGHTS_TERMS_OF_USE.md + +"""Haiku modules for the Diffuser model.""" + +from collections.abc import Sequence +from typing import Literal + +from alphafold3.common import base_config +from alphafold3.jax.attention import attention +from alphafold3.jax.gated_linear_unit import gated_linear_unit +from alphafold3.model import model_config +from alphafold3.model.components import haiku_modules as hm +from alphafold3.model.components import mapping +from alphafold3.model.network import diffusion_transformer +import haiku as hk +import jax +import jax.numpy as jnp + + +def get_shard_size( + num_residues: int, shard_spec: Sequence[tuple[int | None, int | None]] +) -> int | None: + shard_size = shard_spec[0][-1] + for num_residues_upper_bound, num_residues_shard_size in shard_spec: + shard_size = num_residues_shard_size + if ( + num_residues_upper_bound is None + or num_residues <= num_residues_upper_bound + ): + break + return shard_size + + +class TransitionBlock(hk.Module): + """Transition block for transformer.""" + + class Config(base_config.BaseConfig): + num_intermediate_factor: int = 4 + use_glu_kernel: bool = True + + def __init__( + self, config: Config, global_config: model_config.GlobalConfig, *, name + ): + super().__init__(name=name) + self.config = config + self.global_config = global_config + + def __call__(self, act, broadcast_dim=0): + num_channels = act.shape[-1] + + num_intermediate = int(num_channels * self.config.num_intermediate_factor) + + act = hm.LayerNorm(name='input_layer_norm')(act) + + if self.config.use_glu_kernel: + weights, _ = hm.haiku_linear_get_params( + act, + num_output=num_intermediate * 2, + initializer='relu', + name='transition1', + ) + weights = jnp.reshape(weights, (len(weights), 2, num_intermediate)) + c = gated_linear_unit.gated_linear_unit( + x=act, weight=weights, implementation=None, activation=jax.nn.swish + ) + else: + act = hm.Linear( + num_intermediate * 2, initializer='relu', name='transition1' + )(act) + a, b = jnp.split(act, 2, axis=-1) + c = jax.nn.swish(a) * b + + return hm.Linear( + num_channels, + initializer=self.global_config.final_init, + name='transition2', + )(c) + + +class MSAAttention(hk.Module): + """MSA Attention.""" + + class Config(base_config.BaseConfig): + num_head: int = 8 + + def __init__( + self, config: Config, global_config: model_config.GlobalConfig, *, name + ): + super().__init__(name=name) + self.config = config + self.global_config = global_config + + def __call__(self, act, mask, pair_act): + act = hm.LayerNorm(name='act_norm')(act) + pair_act = hm.LayerNorm(name='pair_norm')(pair_act) + logits = hm.Linear( + self.config.num_head, use_bias=False, name='pair_logits' + )(pair_act) + logits = jnp.transpose(logits, [2, 0, 1]) + logits += 1e9 * (jnp.max(mask, axis=0) - 1.0) + weights = jax.nn.softmax(logits, axis=-1) + num_channels = act.shape[-1] + value_dim = num_channels // self.config.num_head + v = hm.Linear( + [self.config.num_head, value_dim], use_bias=False, name='v_projection' + )(act) + v_avg = jnp.einsum('hqk, bkhc -> bqhc', weights, v) + v_avg = jnp.reshape(v_avg, v_avg.shape[:-2] + (-1,)) + gate_values = hm.Linear( + self.config.num_head * value_dim, + bias_init=1.0, + initializer='zeros', + name='gating_query', + )(act) + v_avg *= jax.nn.sigmoid(gate_values) + + return hm.Linear( + num_channels, + initializer=self.global_config.final_init, + name='output_projection', + )(v_avg) + + +class GridSelfAttention(hk.Module): + """Self attention that is either per-sequence or per-residue.""" + + class Config(base_config.BaseConfig): + num_head: int = 4 + + def __init__( + self, + config: Config, + global_config: model_config.GlobalConfig, + transpose: bool, + *, + name: str, + ): + super().__init__(name=name) + self.config = config + self.global_config = global_config + self.transpose = transpose + + @hk.transparent + def _attention(self, act, mask, bias): + num_channels = act.shape[-1] + assert num_channels % self.config.num_head == 0 + # Triton requires a minimum dimension of 16 for doing matmul. + qkv_dim = max(num_channels // self.config.num_head, 16) + + qkv_shape = (self.config.num_head, qkv_dim) + q = hm.Linear( + qkv_shape, use_bias=False, name='q_projection', transpose_weights=True + )(act) + k = hm.Linear( + qkv_shape, use_bias=False, name='k_projection', transpose_weights=True + )(act) + v = hm.Linear(qkv_shape, use_bias=False, name='v_projection')(act) + + # Dot product attention requires the bias term to have a batch dimension. + bias = jnp.expand_dims(bias, 0) + + weighted_avg = attention.dot_product_attention( + q, + k, + v, + mask=mask, + bias=bias, + implementation=self.global_config.flash_attention_implementation, + ) + weighted_avg = jnp.reshape(weighted_avg, weighted_avg.shape[:-2] + (-1,)) + + gate_values = hm.Linear( + self.config.num_head * qkv_dim, + bias_init=1.0, + initializer='zeros', + transpose_weights=True, + name='gating_query', + )(act) + weighted_avg *= jax.nn.sigmoid(gate_values) + + return hm.Linear( + num_channels, + initializer=self.global_config.final_init, + name='output_projection', + )(weighted_avg) + + def __call__(self, act, pair_mask): + """Builds a module. + + Arguments: + act: [num_seq, num_res, channels] activations tensor + pair_mask: [num_seq, num_res] mask of non-padded regions in the tensor. + Only used in inducing points attention currently. + + Returns: + Result of the self-attention operation. + """ + assert len(act.shape) == 3 + assert len(pair_mask.shape) == 2 + + pair_mask = jnp.swapaxes(pair_mask, -1, -2) + act = hm.LayerNorm(name='act_norm')(act) + + nonbatched_bias = hm.Linear( + self.config.num_head, use_bias=False, name='pair_bias_projection' + )(act) + nonbatched_bias = jnp.transpose(nonbatched_bias, [2, 0, 1]) + + num_residues = act.shape[0] + + chunk_size = get_shard_size( + num_residues, self.global_config.pair_attention_chunk_size + ) + + if self.transpose: + act = jnp.swapaxes(act, -2, -3) + + pair_mask = pair_mask[:, None, None, :].astype(jnp.bool_) + + act = mapping.inference_subbatch( + self._attention, + chunk_size, + batched_args=[act, pair_mask], + nonbatched_args=[nonbatched_bias], + input_subbatch_dim_is_partitioned=False, + ) + + if self.transpose: + act = jnp.swapaxes(act, -2, -3) + + return act + + +class TriangleMultiplication(hk.Module): + """Triangle Multiplication.""" + + class Config(base_config.BaseConfig): + equation: Literal['ikc,jkc->ijc', 'kjc,kic->ijc'] + use_glu_kernel: bool = True + + def __init__( + self, config: Config, global_config: model_config.GlobalConfig, *, name + ): + super().__init__(name=name) + self.config = config + self.global_config = global_config + + def __call__(self, act, mask): + """Applies Module. + + Args: + act: The activation. + mask: The mask. + + Returns: + Outputs, should have same shape/type as output_act + """ + mask = mask[None, ...] + num_channels = act.shape[-1] + equation = { + 'ikc,jkc->ijc': 'cik,cjk->cij', + 'kjc,kic->ijc': 'ckj,cki->cij', + }[self.config.equation] + + act = hm.LayerNorm(name='left_norm_input')(act) + input_act = act + + if self.config.use_glu_kernel: + weights_projection, _ = hm.haiku_linear_get_params( + act, num_output=num_channels * 2, name='projection' + ) + weights_gate, _ = hm.haiku_linear_get_params( + act, + num_output=num_channels * 2, + initializer=self.global_config.final_init, + name='gate', + ) + weights_glu = jnp.stack([weights_gate, weights_projection], axis=1) + + projection = gated_linear_unit.gated_linear_unit( + x=act, + weight=weights_glu, + activation=jax.nn.sigmoid, + implementation=None, + ) + projection = jnp.transpose(projection, (2, 0, 1)) + projection *= mask + else: + projection = hm.Linear(num_channels * 2, name='projection')(act) + projection = jnp.transpose(projection, (2, 0, 1)) + projection *= mask + + gate = hm.Linear( + num_channels * 2, + name='gate', + bias_init=1.0, + initializer=self.global_config.final_init, + )(act) + gate = jnp.transpose(gate, (2, 0, 1)) + projection *= jax.nn.sigmoid(gate) + + projection = projection.reshape(num_channels, 2, *projection.shape[1:]) + a, b = jnp.split(projection, 2, axis=1) + a, b = jnp.squeeze(a, axis=1), jnp.squeeze(b, axis=1) + act = jnp.einsum(equation, a, b) + act = hm.LayerNorm(name='center_norm', axis=0, param_axis=0)(act) + + act = jnp.transpose(act, (1, 2, 0)) + act = hm.Linear( + num_channels, + initializer=self.global_config.final_init, + name='output_projection', + )(act) + + gate_out = hm.Linear( + num_channels, + name='gating_linear', + bias_init=1.0, + initializer=self.global_config.final_init, + )(input_act) + act *= jax.nn.sigmoid(gate_out) + + return act + + +class OuterProductMean(hk.Module): + """Computed mean outer product.""" + + class Config(base_config.BaseConfig): + chunk_size: int = 128 + num_outer_channel: int = 32 + + def __init__( + self, + config: Config, + global_config: model_config.GlobalConfig, + num_output_channel, + *, + name, + ): + super().__init__(name=name) + self.global_config = global_config + self.config = config + self.num_output_channel = num_output_channel + + def __call__(self, act, mask): + mask = mask[..., None] + act = hm.LayerNorm(name='layer_norm_input')(act) + + left_act = mask * hm.Linear( + self.config.num_outer_channel, + initializer='linear', + name='left_projection', + )(act) + + right_act = mask * hm.Linear( + self.config.num_outer_channel, + initializer='linear', + name='right_projection', + )(act) + + if self.global_config.final_init == 'zeros': + w_init = hk.initializers.Constant(0.0) + else: + w_init = hk.initializers.VarianceScaling(scale=2.0, mode='fan_in') + + output_w = hk.get_parameter( + 'output_w', + shape=( + self.config.num_outer_channel, + self.config.num_outer_channel, + self.num_output_channel, + ), + dtype=act.dtype, + init=w_init, + ) + output_b = hk.get_parameter( + 'output_b', + shape=(self.num_output_channel,), + dtype=act.dtype, + init=hk.initializers.Constant(0.0), + ) + + def compute_chunk(left_act): + # Make sure that the 'b' dimension is the most minor batch like dimension + # so it will be treated as the real batch by XLA (both during the forward + # and the backward pass) + left_act = jnp.transpose(left_act, [0, 2, 1]) + act = jnp.einsum('acb,ade->dceb', left_act, right_act) + act = jnp.einsum('dceb,cef->dbf', act, output_w) + output_b + return jnp.transpose(act, [1, 0, 2]) + + act = mapping.inference_subbatch( + compute_chunk, + self.config.chunk_size, + batched_args=[left_act], + nonbatched_args=[], + input_subbatch_dim=1, + output_subbatch_dim=0, + input_subbatch_dim_is_partitioned=False, + ) + + epsilon = 1e-3 + norm = jnp.einsum('abc,adc->bdc', mask, mask) + return act / (epsilon + norm) + + +class PairFormerIteration(hk.Module): + """Single Iteration of Pair Former.""" + + class Config(base_config.BaseConfig): + """Config for PairFormerIteration.""" + + num_layer: int + pair_attention: GridSelfAttention.Config = base_config.autocreate() + pair_transition: TransitionBlock.Config = base_config.autocreate() + single_attention: diffusion_transformer.SelfAttentionConfig | None = None + single_transition: TransitionBlock.Config | None = None + triangle_multiplication_incoming: TriangleMultiplication.Config = ( + base_config.autocreate(equation='kjc,kic->ijc') + ) + triangle_multiplication_outgoing: TriangleMultiplication.Config = ( + base_config.autocreate(equation='ikc,jkc->ijc') + ) + shard_transition_blocks: bool = True + + def __init__( + self, + config: Config, + global_config: model_config.GlobalConfig, + with_single=False, + *, + name, + ): + super().__init__(name=name) + self.config = config + self.global_config = global_config + self.with_single = with_single + + def __call__( + self, + act, + pair_mask, + single_act=None, + seq_mask=None, + ): + """Build a single iteration of the pair former. + + Args: + act: [num_res, num_res, num_channel] Input pairwise activations. + pair_mask: [num_res, num_res] padding mask. + single_act: [num_res, single_channel] Single Input activations, optional + seq_mask: [num_res] Sequence Mask, optional. + + Returns: + [num_res, num_res, num_channel] tensor of activations. + """ + + num_residues = act.shape[0] + + act += TriangleMultiplication( + self.config.triangle_multiplication_outgoing, + self.global_config, + name='triangle_multiplication_outgoing', + )(act, pair_mask) + + act += TriangleMultiplication( + self.config.triangle_multiplication_incoming, + self.global_config, + name='triangle_multiplication_incoming', + )(act, pair_mask) + + act += GridSelfAttention( + self.config.pair_attention, + self.global_config, + name='pair_attention1', + transpose=False, + )(act, pair_mask) + + act += GridSelfAttention( + self.config.pair_attention, + self.global_config, + name='pair_attention2', + transpose=True, + )(act, pair_mask) + + transition_block = TransitionBlock( + self.config.pair_transition, self.global_config, name='pair_transition' + ) + if self.config.shard_transition_blocks: + transition_block = mapping.sharded_apply( + transition_block, + get_shard_size( + num_residues, self.global_config.pair_transition_shard_spec + ), + ) + act += transition_block(act) + + if self.with_single: + assert self.config.single_attention is not None + pair_logits = hm.Linear( + self.config.single_attention.num_head, + name='single_pair_logits_projection', + )(hm.LayerNorm(name='single_pair_logits_norm')(act)) + + pair_logits = jnp.transpose(pair_logits, [2, 0, 1]) + + single_act += diffusion_transformer.self_attention( + single_act, + seq_mask, + pair_logits=pair_logits, + config=self.config.single_attention, + global_config=self.global_config, + name='single_attention_', + ) + + single_act += TransitionBlock( + self.config.single_transition, + self.global_config, + name='single_transition', + )(single_act, broadcast_dim=None) + + return act, single_act + else: + return act + + +class EvoformerIteration(hk.Module): + """Single Iteration of Evoformer Main Stack.""" + + class Config(base_config.BaseConfig): + """Configuration for EvoformerIteration.""" + + num_layer: int = 4 + msa_attention: MSAAttention.Config = base_config.autocreate() + outer_product_mean: OuterProductMean.Config = base_config.autocreate() + msa_transition: TransitionBlock.Config = base_config.autocreate() + pair_attention: GridSelfAttention.Config = base_config.autocreate() + pair_transition: TransitionBlock.Config = base_config.autocreate() + triangle_multiplication_incoming: TriangleMultiplication.Config = ( + base_config.autocreate(equation='kjc,kic->ijc') + ) + triangle_multiplication_outgoing: TriangleMultiplication.Config = ( + base_config.autocreate(equation='ikc,jkc->ijc') + ) + shard_transition_blocks: bool = True + + def __init__( + self, + config: Config, + global_config: model_config.GlobalConfig, + name='evoformer_iteration', + ): + super().__init__(name=name) + self.config = config + self.global_config = global_config + + def __call__(self, activations, masks): + + msa_act, pair_act = activations['msa'], activations['pair'] + + num_residues = pair_act.shape[0] + + msa_mask, pair_mask = masks['msa'], masks['pair'] + + pair_act += OuterProductMean( + config=self.config.outer_product_mean, + global_config=self.global_config, + num_output_channel=int(pair_act.shape[-1]), + name='outer_product_mean', + )(msa_act, msa_mask) + + msa_act += MSAAttention( + self.config.msa_attention, self.global_config, name='msa_attention1' + )(msa_act, msa_mask, pair_act=pair_act) + + msa_act += TransitionBlock( + self.config.msa_transition, self.global_config, name='msa_transition' + )(msa_act) + + pair_act += TriangleMultiplication( + self.config.triangle_multiplication_outgoing, + self.global_config, + name='triangle_multiplication_outgoing', + )(pair_act, pair_mask) + + pair_act += TriangleMultiplication( + self.config.triangle_multiplication_incoming, + self.global_config, + name='triangle_multiplication_incoming', + )(pair_act, pair_mask) + + pair_act += GridSelfAttention( + self.config.pair_attention, + self.global_config, + name='pair_attention1', + transpose=False, + )(pair_act, pair_mask) + + pair_act += GridSelfAttention( + self.config.pair_attention, + self.global_config, + name='pair_attention2', + transpose=True, + )(pair_act, pair_mask) + + transition_block = TransitionBlock( + self.config.pair_transition, self.global_config, name='pair_transition' + ) + if self.config.shard_transition_blocks: + transition_block = mapping.sharded_apply( + transition_block, + get_shard_size( + num_residues, self.global_config.pair_transition_shard_spec + ), + ) + pair_act += transition_block(pair_act) + + return {'msa': msa_act, 'pair': pair_act} diff --git a/src/alphafold3/model/network/noise_level_embeddings.py b/src/alphafold3/model/network/noise_level_embeddings.py new file mode 100644 index 0000000000000000000000000000000000000000..dc0381fabd7ddb7a024c052858e02640d3ee26e1 --- /dev/null +++ b/src/alphafold3/model/network/noise_level_embeddings.py @@ -0,0 +1,141 @@ +# Copyright 2024 DeepMind Technologies Limited +# +# AlphaFold 3 source code is licensed under CC BY-NC-SA 4.0. To view a copy of +# this license, visit https://creativecommons.org/licenses/by-nc-sa/4.0/ +# +# To request access to the AlphaFold 3 model parameters, follow the process set +# out at https://github.com/google-deepmind/alphafold3. You may only use these +# if received directly from Google. Use is subject to terms of use available at +# https://github.com/google-deepmind/alphafold3/blob/main/WEIGHTS_TERMS_OF_USE.md + +"""Fourier embeddings for given noise levels. + +We supply fixed weights and biases for the Fourier embeddings. These were +initially generated by the following code, but we make them into constants +to future proof against changes in jax rng generation: + +``` +dim = 256 +w_key, b_key = jax.random.split(jax.random.PRNGKey(42)) +weight = jax.random.normal(w_key, shape=[dim]) +bias = jax.random.uniform(b_key, shape=[dim]) +``` +""" + +import jax.numpy as jnp + +# pyformat: disable +# pylint: disable=bad-whitespace +# pylint: disable=bad-continuation +_WEIGHT = [ + 0.45873642, 0.06516238, -0.07278306, -0.26992258, 0.64292115, + -0.40763968, 3.60116863, 0.54461384, -0.32644904, 2.10888267, + 1.30805349, 1.19838560, -1.37745857, 1.99475312, -1.64120293, + 1.07823789, -0.02288206, 0.88305283, 0.48099944, 0.17655374, + 0.30281949, 0.80646873, 0.62605333, -0.23965347, -1.02609432, + 0.75006109, -0.19913037, 0.07466396, 0.66431236, -0.60990530, + -0.69709194, -0.44453633, -1.77656078, 0.02299878, 0.04095552, + 0.35485864, -0.47602659, -0.98820388, -0.24106771, -1.07254291, + -0.99741757, 0.22697604, 1.41390419, 1.54984057, -0.12237291, + 0.20156337, 0.61767143, 0.23959029, 0.92454034, 1.84082258, + 0.89030224, 0.39598912, -1.52224910, 0.29669049, 1.52356744, + -0.33968377, 0.24155144, -0.52308381, -0.23622665, 0.92825454, + -0.63864607, -0.62169307, 0.78623551, -0.80352145, -0.45496067, + 1.30877995, -0.06686528, 1.00248849, -0.63593471, 0.16372502, + -1.46133232, 1.10562658, -0.01693927, 0.28684548, -0.72843230, + 0.66133535, -1.92225552, 0.70241231, -0.96868867, -0.47309339, + -1.66894221, 0.46018723, -0.56806105, 0.32694784, -0.46529883, + 1.02299964, 0.84688205, 1.19581807, -1.82454145, 0.05999713, + -0.59530073, 1.44862521, -0.34933713, -0.46564487, -0.55005538, + -1.61170268, 0.17502306, 0.38670063, -1.12133658, -0.29343036, + -0.52527446, -1.26285112, 1.07982683, 0.51215219, 1.48963666, + 1.09847653, -0.01563358, 0.32574457, 1.94779706, -1.29198587, + 1.06249654, -0.86965990, 0.22975266, -0.27182648, -0.21130897, + -0.41773933, -0.02329035, 1.31049252, 0.05579265, -1.23127055, + -0.99691105, 0.27058721, -0.72509319, -0.14421797, -1.48605061, + 1.35041201, 1.29619241, -1.01022530, -0.79787987, -0.16166858, + 0.87210685, 1.69248152, 1.42469788, -0.72325104, -1.24823737, + 0.07051118, 0.71332991, -0.07360429, -0.91955227, -2.68856549, + -0.44033936, 0.35482934, -0.57933813, 0.97468042, -0.31050494, + -0.88454425, -2.08785224, 0.47322822, -0.02400172, 0.26644820, + -0.19147627, -2.10538960, -1.27962470, -1.35999286, 2.09867334, + 0.65099514, 0.21604492, -0.45951018, 0.15994427, -0.31420693, + -0.65202618, -0.61077976, -1.06100249, -1.47254968, 1.18165290, + -0.78656220, 1.28182006, 1.80323684, 1.09196901, 0.26118696, + -0.30168581, 0.39749333, 0.26812574, -1.51995814, -0.46909946, + 0.03874255, -1.36774313, 2.30143976, 2.06959820, -0.41647521, + 1.85624206, 0.49019700, -0.06726539, 0.00457313, 0.23915423, + -1.84971249, -0.20482327, -0.34097880, -0.57933033, -1.10541213, + -0.30269983, -0.16430426, -0.82371718, 0.10345812, 1.78753936, + 0.04786763, 1.86778629, -0.65214992, 0.81544143, -0.28214937, + 0.31187257, 0.57661986, 1.21938801, -1.56046617, 0.38046429, + -0.18235965, 0.81794524, -0.40474343, 0.46538028, -1.15558851, + 0.59625793, -1.07801270, 0.07310858, 0.61526084, 0.55518496, + -0.49787554, 0.92703879, -1.27780271, -0.83373469, -0.43015575, + 0.41877759, -1.03987372, -1.46055734, 0.61282396, 0.15590595, + -0.34269521, 0.56509072, -1.17904210, 0.11374855, -1.83310866, + 0.38734794, -0.58623004, 0.77931106, 1.53930688, -0.70299625, + -0.11389336, -1.14818096, -0.44400632, 1.21887410, 0.64066756, + -0.70249403, -0.27244881, 0.38586098, -1.07925785, 0.12448707, + -1.28286278, 0.37827531, 0.68812364, 1.65695465, 0.12440517, + -0.03689830, 1.10224664, -0.28323629, -0.47939169, 0.70120829, + -0.67204583 +] + +_BIAS = [ + 0.00465965, 0.21738243, 0.22277749, 0.68463874, 0.84596848, 0.17337036, + 0.39573753, 0.78153563, 0.86311185, 0.21782327, 0.24377882, 0.42310703, + 0.19887352, 0.10486019, 0.48707581, 0.22205460, 0.97263455, 0.29714966, + 0.11244559, 0.53020525, 0.36796236, 0.37294638, 0.80261672, 0.04669094, + 0.86319661, 0.75907171, 0.77297020, 0.01114798, 0.55850804, 0.91799915, + 0.23032320, 0.12154722, 0.26701927, 0.42934716, 0.47951782, 0.96782577, + 0.86785042, 0.61985648, 0.05743814, 0.41800117, 0.68881893, 0.60575199, + 0.21058667, 0.64412105, 0.63958526, 0.89390790, 0.69755554, 0.89345169, + 0.53330755, 0.56985939, 0.30724049, 0.00984561, 0.91407037, 0.92118979, + 0.94153070, 0.81097460, 0.70537627, 0.32810748, 0.47227263, 0.11821401, + 0.44983089, 0.30767226, 0.31756389, 0.62969446, 0.69892538, 0.16949117, + 0.06207097, 0.46717727, 0.95348179, 0.62363589, 0.49018729, 0.06920040, + 0.39333904, 0.41299903, 0.52514863, 0.61197245, 0.56871891, 0.65053988, + 0.22203422, 0.46748531, 0.86931503, 0.87050021, 0.40208721, 0.32084906, + 0.55084610, 0.94584596, 0.76279902, 0.36250532, 0.74272907, 0.66682065, + 0.96452832, 0.64768302, 0.88070846, 0.56995463, 0.06395614, 0.69499350, + 0.44494808, 0.39775658, 0.20280898, 0.33363521, 0.05999005, 0.44414878, + 0.65227020, 0.01199079, 0.71995056, 0.19045687, 0.48342144, 0.25127733, + 0.66515994, 0.22465158, 0.22313106, 0.06302810, 0.55783665, 0.93625581, + 0.58800840, 0.72525370, 0.52879298, 0.77195418, 0.15548682, 0.01028740, + 0.39325142, 0.45401239, 0.71494079, 0.33011997, 0.05050695, 0.26381660, + 0.63064706, 0.47604024, 0.08593416, 0.00383425, 0.06352687, 0.05510247, + 0.03552997, 0.35810637, 0.56094289, 0.60922170, 0.88599777, 0.45419788, + 0.40486634, 0.71297824, 0.34976673, 0.97825217, 0.12915993, 0.09566259, + 0.64318919, 0.16717327, 0.82308614, 0.32672071, 0.81688786, 0.84857118, + 0.99922776, 0.07551706, 0.18766022, 0.13051236, 0.39136350, 0.08768725, + 0.92048228, 0.87185788, 0.39158428, 0.79224777, 0.17492688, 0.68902445, + 0.81980729, 0.70458186, 0.59489477, 0.93324888, 0.49986637, 0.40705478, + 0.89202917, 0.20673239, 0.39339757, 0.20996964, 0.02923799, 0.53992438, + 0.40119815, 0.10366607, 0.08044600, 0.95551598, 0.20518017, 0.68826210, + 0.90159297, 0.69008791, 0.86880815, 0.16246438, 0.89628279, 0.11481643, + 0.61353648, 0.41545081, 0.92478311, 0.78212476, 0.48292696, 0.79621077, + 0.11947489, 0.01747024, 0.22928023, 0.87387264, 0.86349785, 0.89526737, + 0.58904779, 0.13896775, 0.68194926, 0.55824125, 0.44428205, 0.55422378, + 0.28189969, 0.27923775, 0.09979951, 0.66994715, 0.45943546, 0.71207762, + 0.17300689, 0.83434916, 0.02573085, 0.45858085, 0.55934799, 0.30676675, + 0.52219367, 0.34544575, 0.19280875, 0.26937950, 0.07147646, 0.06295013, + 0.76382887, 0.38737607, 0.58825982, 0.17423475, 0.05509448, 0.97228825, + 0.94380617, 0.91664016, 0.18800116, 0.41771865, 0.59420645, 0.77371931, + 0.64687788, 0.27284670, 0.22310913, 0.15663862, 0.45573199, 0.50386798, + 0.66712272, 0.71649647, 0.28475654, 0.83415413, 0.75261366, 0.61517799, + 0.93544555, 0.76141870, 0.85474241, 0.74766934, 0.33459592, 0.78477907, + 0.07250881, 0.10174239, 0.95332730, 0.80793905 +] +# pyformat: enable +# pylint: enable=bad-whitespace +# pylint: enable=bad-continuation + + +def noise_embeddings(sigma_scaled_noise_level: jnp.ndarray) -> jnp.ndarray: + """Returns Fourier noise level embeddings for diffusion model.""" + transformed_noise_level = (1 / 4) * jnp.log(sigma_scaled_noise_level) + weight = jnp.array(_WEIGHT, dtype=jnp.float32) + bias = jnp.array(_BIAS, dtype=jnp.float32) + embeddings = transformed_noise_level[..., None] * weight + bias + return jnp.cos(2 * jnp.pi * embeddings) diff --git a/src/alphafold3/model/network/template_modules.py b/src/alphafold3/model/network/template_modules.py new file mode 100644 index 0000000000000000000000000000000000000000..64a0d76788f5eac257df2c4ce5c5373dd01caa4b --- /dev/null +++ b/src/alphafold3/model/network/template_modules.py @@ -0,0 +1,351 @@ +# Copyright 2024 DeepMind Technologies Limited +# +# AlphaFold 3 source code is licensed under CC BY-NC-SA 4.0. To view a copy of +# this license, visit https://creativecommons.org/licenses/by-nc-sa/4.0/ +# +# To request access to the AlphaFold 3 model parameters, follow the process set +# out at https://github.com/google-deepmind/alphafold3. You may only use these +# if received directly from Google. Use is subject to terms of use available at +# https://github.com/google-deepmind/alphafold3/blob/main/WEIGHTS_TERMS_OF_USE.md + +"""Modules for embedding templates.""" + +from alphafold3.common import base_config +from alphafold3.constants import residue_names +from alphafold3.jax import geometry +from alphafold3.model import features +from alphafold3.model import model_config +from alphafold3.model import protein_data_processing +from alphafold3.model.components import haiku_modules as hm +from alphafold3.model.network import modules +from alphafold3.model.scoring import scoring +import haiku as hk +import jax +import jax.numpy as jnp + + +class DistogramFeaturesConfig(base_config.BaseConfig): + # The left edge of the first bin. + min_bin: float = 3.25 + # The left edge of the final bin. The final bin catches everything larger than + # `max_bin`. + max_bin: float = 50.75 + # The number of bins in the distogram. + num_bins: int = 39 + + +def dgram_from_positions(positions, config: DistogramFeaturesConfig): + """Compute distogram from amino acid positions. + + Args: + positions: (num_res, 3) Position coordinates. + config: Distogram bin configuration. + + Returns: + Distogram with the specified number of bins. + """ + lower_breaks = jnp.linspace(config.min_bin, config.max_bin, config.num_bins) + lower_breaks = jnp.square(lower_breaks) + upper_breaks = jnp.concatenate( + [lower_breaks[1:], jnp.array([1e8], dtype=jnp.float32)], axis=-1 + ) + dist2 = jnp.sum( + jnp.square( + jnp.expand_dims(positions, axis=-2) + - jnp.expand_dims(positions, axis=-3) + ), + axis=-1, + keepdims=True, + ) + + dgram = (dist2 > lower_breaks).astype(jnp.float32) * ( + dist2 < upper_breaks + ).astype(jnp.float32) + return dgram + + +def make_backbone_rigid( + positions: geometry.Vec3Array, + mask: jnp.ndarray, + group_indices: jnp.ndarray, +) -> tuple[geometry.Rigid3Array, jnp.ndarray]: + """Make backbone Rigid3Array and mask. + + Args: + positions: (num_res, num_atoms) of atom positions as Vec3Array. + mask: (num_res, num_atoms) for atom mask. + group_indices: (num_res, num_group, 3) for atom indices forming groups. + + Returns: + tuple of backbone Rigid3Array and mask (num_res,). + """ + backbone_indices = group_indices[:, 0] + + # main backbone frames differ in sidechain frame convention. + # for sidechain it's (C, CA, N), for backbone it's (N, CA, C) + # Hence using c, b, a, each of shape (num_res,). + c, b, a = [backbone_indices[..., i] for i in range(3)] + + slice_index = jax.vmap(lambda x, i: x[i]) + rigid_mask = ( + slice_index(mask, a) * slice_index(mask, b) * slice_index(mask, c) + ).astype(jnp.float32) + + frame_positions = [] + for indices in [a, b, c]: + frame_positions.append( + jax.tree.map(lambda x, idx=indices: slice_index(x, idx), positions) + ) + + rotation = geometry.Rot3Array.from_two_vectors( + frame_positions[2] - frame_positions[1], + frame_positions[0] - frame_positions[1], + ) + rigid = geometry.Rigid3Array(rotation, frame_positions[1]) + + return rigid, rigid_mask + + +class TemplateEmbedding(hk.Module): + """Embed a set of templates.""" + + class Config(base_config.BaseConfig): + num_channels: int = 64 + template_stack: modules.PairFormerIteration.Config = base_config.autocreate( + num_layer=2, + pair_transition=base_config.autocreate(num_intermediate_factor=2), + ) + dgram_features: DistogramFeaturesConfig = base_config.autocreate() + + def __init__( + self, + config: Config, + global_config: model_config.GlobalConfig, + name='template_embedding', + ): + super().__init__(name=name) + self.config = config + self.global_config = global_config + + def __call__( + self, + query_embedding: jnp.ndarray, + templates: features.Templates, + padding_mask_2d: jnp.ndarray, + multichain_mask_2d: jnp.ndarray, + key: jnp.ndarray, + ) -> jnp.ndarray: + """Generate an embedding for a set of templates. + + Args: + query_embedding: [num_res, num_res, num_channel] a query tensor that will + be used to attend over the templates to remove the num_templates + dimension. + templates: A 'Templates' object. + padding_mask_2d: [num_res, num_res] Pair mask for attention operations. + multichain_mask_2d: [num_res, num_res] Pair mask for multichain. + key: random key generator. + + Returns: + An embedding of size [num_res, num_res, num_channels] + """ + c = self.config + num_residues = query_embedding.shape[0] + num_templates = templates.aatype.shape[0] + query_num_channels = query_embedding.shape[2] + num_atoms = 24 + assert query_embedding.shape == ( + num_residues, + num_residues, + query_num_channels, + ) + assert templates.aatype.shape == (num_templates, num_residues) + assert templates.atom_positions.shape == ( + num_templates, + num_residues, + num_atoms, + 3, + ) + assert templates.atom_mask.shape == (num_templates, num_residues, num_atoms) + assert padding_mask_2d.shape == (num_residues, num_residues) + + num_templates = templates.aatype.shape[0] + num_res, _, query_num_channels = query_embedding.shape + + # Embed each template separately. + template_embedder = SingleTemplateEmbedding(self.config, self.global_config) + + subkeys = jnp.array(jax.random.split(key, num_templates)) + + def scan_fn(carry, x): + templates, key = x + embedding = template_embedder( + query_embedding, + templates, + padding_mask_2d, + multichain_mask_2d, + key, + ) + return carry + embedding, None + + scan_init = jnp.zeros( + (num_res, num_res, c.num_channels), dtype=query_embedding.dtype + ) + summed_template_embeddings, _ = hk.scan( + scan_fn, scan_init, (templates, subkeys) + ) + + embedding = summed_template_embeddings / (1e-7 + num_templates) + embedding = jax.nn.relu(embedding) + embedding = hm.Linear( + query_num_channels, initializer='relu', name='output_linear' + )(embedding) + + assert embedding.shape == (num_residues, num_residues, query_num_channels) + return embedding + + +class SingleTemplateEmbedding(hk.Module): + """Embed a single template.""" + + def __init__( + self, + config: TemplateEmbedding.Config, + global_config: model_config.GlobalConfig, + name='single_template_embedding', + ): + super().__init__(name=name) + self.config = config + self.global_config = global_config + + def __call__( + self, + query_embedding: jnp.ndarray, + templates: features.Templates, + padding_mask_2d: jnp.ndarray, + multichain_mask_2d: jnp.ndarray, + key: jnp.ndarray, + ) -> jnp.ndarray: + """Build the single template embedding graph. + + Args: + query_embedding: (num_res, num_res, num_channels) - embedding of the query + sequence/msa. + templates: 'Templates' object containing single Template. + padding_mask_2d: Padding mask (Note: this doesn't care if a template + exists, unlike the template_pseudo_beta_mask). + multichain_mask_2d: A mask indicating intra-chain residue pairs, used to + mask out between chain distances/features when templates are for single + chains. + key: Random key generator. + + Returns: + A template embedding (num_res, num_res, num_channels). + """ + gc = self.global_config + c = self.config + assert padding_mask_2d.dtype == query_embedding.dtype + dtype = query_embedding.dtype + num_channels = self.config.num_channels + + def construct_input( + query_embedding, templates: features.Templates, multichain_mask_2d + ): + + # Compute distogram feature for the template. + aatype = templates.aatype + dense_atom_mask = templates.atom_mask + + dense_atom_positions = templates.atom_positions + dense_atom_positions *= dense_atom_mask[..., None] + + pseudo_beta_positions, pseudo_beta_mask = scoring.pseudo_beta_fn( + templates.aatype, dense_atom_positions, dense_atom_mask + ) + pseudo_beta_mask_2d = ( + pseudo_beta_mask[:, None] * pseudo_beta_mask[None, :] + ) + pseudo_beta_mask_2d *= multichain_mask_2d + dgram = dgram_from_positions( + pseudo_beta_positions, self.config.dgram_features + ) + dgram *= pseudo_beta_mask_2d[..., None] + dgram = dgram.astype(dtype) + pseudo_beta_mask_2d = pseudo_beta_mask_2d.astype(dtype) + to_concat = [(dgram, 1), (pseudo_beta_mask_2d, 0)] + + aatype = jax.nn.one_hot( + aatype, + residue_names.POLYMER_TYPES_NUM_WITH_UNKNOWN_AND_GAP, + axis=-1, + dtype=dtype, + ) + to_concat.append((aatype[None, :, :], 1)) + to_concat.append((aatype[:, None, :], 1)) + + # Compute a feature representing the normalized vector between each + # backbone affine - i.e. in each residues local frame, what direction are + # each of the other residues. + + template_group_indices = jnp.take( + protein_data_processing.RESTYPE_RIGIDGROUP_DENSE_ATOM_IDX, + templates.aatype, + axis=0, + ) + rigid, backbone_mask = make_backbone_rigid( + geometry.Vec3Array.from_array(dense_atom_positions), + dense_atom_mask, + template_group_indices.astype(jnp.int32), + ) + points = rigid.translation + rigid_vec = rigid[:, None].inverse().apply_to_point(points) + unit_vector = rigid_vec.normalized() + unit_vector = [unit_vector.x, unit_vector.y, unit_vector.z] + + unit_vector = [x.astype(dtype) for x in unit_vector] + backbone_mask = backbone_mask.astype(dtype) + + backbone_mask_2d = backbone_mask[:, None] * backbone_mask[None, :] + backbone_mask_2d *= multichain_mask_2d + unit_vector = [x * backbone_mask_2d for x in unit_vector] + + # Note that the backbone_mask takes into account C, CA and N (unlike + # pseudo beta mask which just needs CB) so we add both masks as features. + to_concat.extend([(x, 0) for x in unit_vector]) + to_concat.append((backbone_mask_2d, 0)) + + query_embedding = hm.LayerNorm(name='query_embedding_norm')( + query_embedding + ) + # Allow the template embedder to see the query embedding. Note this + # contains the position relative feature, so this is how the network knows + # which residues are next to each other. + to_concat.append((query_embedding, 1)) + + act = 0 + + for i, (x, n_input_dims) in enumerate(to_concat): + act += hm.Linear( + num_channels, + num_input_dims=n_input_dims, + initializer='relu', + name=f'template_pair_embedding_{i}', + )(x) + return act + + act = construct_input(query_embedding, templates, multichain_mask_2d) + + if c.template_stack.num_layer: + + def template_iteration_fn(x): + return modules.PairFormerIteration( + c.template_stack, gc, name='template_embedding_iteration' + )(act=x, pair_mask=padding_mask_2d) + + template_stack = hk.experimental.layer_stack(c.template_stack.num_layer)( + template_iteration_fn + ) + act = template_stack(act) + + act = hm.LayerNorm(name='output_layer_norm')(act) + return act diff --git a/src/alphafold3/model/pipeline/pipeline.py b/src/alphafold3/model/pipeline/pipeline.py index 539968a78ca19a254cb1f087b0ca6b03912578e0..4ea7434574182e895e22e9ee828e7fd7a8b0e789 100644 --- a/src/alphafold3/model/pipeline/pipeline.py +++ b/src/alphafold3/model/pipeline/pipeline.py @@ -95,6 +95,11 @@ class WholePdbPipeline: msa_crop_size: Maximum size of MSA to take across all chains. max_template_date: Optional max template date to prevent data leakage in validation. + ref_max_modified_date: Optional maximum date that controls whether to + allow use of model coordinates for a chemical component from the CCD if + RDKit conformer generation fails and the component does not have ideal + coordinates set. Only for components that have been released before this + date the model coordinates can be used as a fallback. max_templates: The maximum number of templates to send through the network set to 0 to switch off templates. filter_clashes: If true then will remove clashing chains. @@ -102,7 +107,6 @@ class WholePdbPipeline: max_paired_sequence_per_species: The maximum number of sequences per species that will be used for MSA pairing. drop_ligand_leaving_atoms: Flag for handling leaving atoms for ligands. - intra_ligand_ptm_bonds: Whether to embed intra ligand covalent bond graph. average_num_atoms_per_token: Target average number of atoms per token to compute the padding size for flat atoms. atom_cross_att_queries_subset_size: queries subset size in atom cross @@ -123,25 +127,22 @@ class WholePdbPipeline: min_total_residues: int | None = None msa_crop_size: int = 16384 max_template_date: datetime.date | None = None + ref_max_modified_date: datetime.date | None = None max_templates: int = 4 filter_clashes: bool = False filter_crystal_aids: bool = False max_paired_sequence_per_species: int = 600 drop_ligand_leaving_atoms: bool = True - intra_ligand_ptm_bonds: bool = True average_num_atoms_per_token: int = 24 atom_cross_att_queries_subset_size: int = 32 atom_cross_att_keys_subset_size: int = 128 flatten_non_standard_residues: bool = True remove_nonsymmetric_bonds: bool = False deterministic_frames: bool = True + conformer_max_iterations: int | None = None - def __init__( - self, - *, - config: Config, - ): - """Init WholePdb. + def __init__(self, *, config: Config): + """Initializes WholePdb data pipeline. Args: config: Pipeline configuration. @@ -349,7 +350,8 @@ class WholePdbPipeline: logging_name=logging_name, ) - ref_max_modified_date = self._config.max_template_date + ref_max_modified_date = self._config.ref_max_modified_date + conformer_max_iterations = self._config.conformer_max_iterations batch_ref_structure, ligand_ligand_bonds = ( features.RefStructure.compute_features( all_token_atoms_layout=all_token_atoms_layout, @@ -358,7 +360,7 @@ class WholePdbPipeline: chemical_components_data=chemical_components_data, random_state=random_state, ref_max_modified_date=ref_max_modified_date, - intra_ligand_ptm_bonds=self._config.intra_ligand_ptm_bonds, + conformer_max_iterations=conformer_max_iterations, ligand_ligand_bonds=ligand_ligand_bonds, ) ) @@ -373,7 +375,7 @@ class WholePdbPipeline: np.random.RandomState(_DETERMINISTIC_FRAMES_RANDOM_SEED) ), ref_max_modified_date=ref_max_modified_date, - intra_ligand_ptm_bonds=self._config.intra_ligand_ptm_bonds, + conformer_max_iterations=None, ligand_ligand_bonds=ligand_ligand_bonds, ) diff --git a/src/alphafold3/model/post_processing.py b/src/alphafold3/model/post_processing.py index d8607b985a1c8bc80c6e778237ac4db5e01286de..0f913429b97623c9f57f047d20d60c1dacfdf6cc 100644 --- a/src/alphafold3/model/post_processing.py +++ b/src/alphafold3/model/post_processing.py @@ -17,7 +17,7 @@ import os from alphafold3 import version from alphafold3.model import confidence_types from alphafold3.model import mmcif_metadata -from alphafold3.model.components import base_model +from alphafold3.model import model import numpy as np @@ -45,7 +45,7 @@ class ProcessedInferenceResult: def post_process_inference_result( - inference_result: base_model.InferenceResult, + inference_result: model.InferenceResult, ) -> ProcessedInferenceResult: """Returns cif, confidence_1d_json, confidence_2d_json, mean_confidence_1d, and ranking confidence.""" @@ -87,7 +87,7 @@ def post_process_inference_result( def write_output( - inference_result: base_model.InferenceResult, + inference_result: model.InferenceResult, output_dir: os.PathLike[str] | str, terms_of_use: str | None = None, name: str | None = None, @@ -111,3 +111,15 @@ def write_output( if terms_of_use is not None: with open(os.path.join(output_dir, 'TERMS_OF_USE.md'), 'wt') as f: f.write(terms_of_use) + + +def write_embeddings( + embeddings: dict[str, np.ndarray], + output_dir: os.PathLike[str] | str, + name: str | None = None, +) -> None: + """Writes embeddings to a directory.""" + prefix = f'{name}_' if name is not None else '' + + with open(os.path.join(output_dir, f'{prefix}embeddings.npz'), 'wb') as f: + np.savez_compressed(f, **embeddings) diff --git a/src/alphafold3/model/scoring/chirality.py b/src/alphafold3/model/scoring/chirality.py new file mode 100644 index 0000000000000000000000000000000000000000..249fcca164b212288fee97b98c67aa8b3fda499b --- /dev/null +++ b/src/alphafold3/model/scoring/chirality.py @@ -0,0 +1,190 @@ +# Copyright 2024 DeepMind Technologies Limited +# +# AlphaFold 3 source code is licensed under CC BY-NC-SA 4.0. To view a copy of +# this license, visit https://creativecommons.org/licenses/by-nc-sa/4.0/ +# +# To request access to the AlphaFold 3 model parameters, follow the process set +# out at https://github.com/google-deepmind/alphafold3. You may only use these +# if received directly from Google. Use is subject to terms of use available at +# https://github.com/google-deepmind/alphafold3/blob/main/WEIGHTS_TERMS_OF_USE.md + +"""Chirality detection and comparison.""" + +from collections.abc import Mapping + +from absl import logging +from alphafold3 import structure +from alphafold3.constants import chemical_components +from alphafold3.data.tools import rdkit_utils +import rdkit.Chem as rd_chem + +_CHIRAL_ELEMENTS = frozenset({'C', 'S'}) + + +def _find_chiral_centres(mol: rd_chem.Mol) -> dict[str, str]: + """Find chiral centres and detect their chirality. + + Only elements listed in _CHIRAL_ELEMENTS are considered as centres. + + Args: + mol: The molecule for which to detect chirality. + + Returns: + Map from chiral centre atom names to identified chirality. + """ + chiral_centres = rd_chem.FindMolChiralCenters( + mol, force=True, includeUnassigned=False, useLegacyImplementation=True + ) + atom_name_by_idx = { + atom.GetIdx(): atom.GetProp('atom_name') for atom in mol.GetAtoms() + } + atom_chirality_by_name = {atom_name_by_idx[k]: v for k, v in chiral_centres} + return { + k: v + for k, v in atom_chirality_by_name.items() + if any(k[: len(el)].upper() == el for el in _CHIRAL_ELEMENTS) + } + + +def _chiral_match(mol1: rd_chem.Mol, mol2: rd_chem.Mol) -> bool: + """Compares chirality of two Mols. Mol1 can match a subset of mol2.""" + + mol1_atom_names = {a.GetProp('atom_name') for a in mol1.GetAtoms()} + mol2_atom_names = {a.GetProp('atom_name') for a in mol2.GetAtoms()} + if mol1_atom_names != mol2_atom_names: + if not mol1_atom_names.issubset(mol2_atom_names): + raise ValueError('Mol1 atoms are not a subset of mol2 atoms.') + + mol1_chiral_centres = _find_chiral_centres(mol1) + mol2_chiral_centres = _find_chiral_centres(mol2) + if set(mol1_chiral_centres) != set(mol2_chiral_centres): + if not set(mol1_chiral_centres).issubset(mol2_chiral_centres): + return False + chirality_matches = { + centre_atom: chirality1 == mol2_chiral_centres[centre_atom] + for centre_atom, chirality1 in mol1_chiral_centres.items() + if '?' != mol2_chiral_centres[centre_atom] + } + return all(chirality_matches.values()) + + +def _mol_from_ligand_struc( + ligand_struc: structure.Structure, + ref_mol: rd_chem.Mol, +) -> rd_chem.Mol | None: + """Creates a Mol object from a ligand structure and reference mol.""" + + if ligand_struc.num_residues(count_unresolved=True) > 1: + raise ValueError('ligand_struc %s has more than one residue.') + coords_by_atom_name = dict(zip(ligand_struc.atom_name, ligand_struc.coords)) + + ref_mol = rdkit_utils.sanitize_mol( + ref_mol, + sort_alphabetically=False, + remove_hydrogens=True, + ) + + mol = rd_chem.Mol(ref_mol) + mol.RemoveAllConformers() + + atom_indices_to_remove = [ + a.GetIdx() + for a in mol.GetAtoms() + if a.GetProp('atom_name') not in coords_by_atom_name + ] + editable_mol = rd_chem.EditableMol(mol) + # Remove indices from the largest to smallest, to avoid invalidating. + for atom_idx in atom_indices_to_remove[::-1]: + editable_mol.RemoveAtom(atom_idx) + mol = editable_mol.GetMol() + + conformer = rd_chem.Conformer(mol.GetNumAtoms()) + for atom_idx, atom in enumerate(mol.GetAtoms()): + atom_name = atom.GetProp('atom_name') + coords = coords_by_atom_name[atom_name] + conformer.SetAtomPosition(atom_idx, coords.tolist()) + mol.AddConformer(conformer) + try: + rd_chem.AssignStereochemistryFrom3D(mol) + except RuntimeError as e: + # Catch only this specific rdkit error. + if 'Cannot normalize a zero length vector' in str(e): + return None + else: + raise + return mol + + +def _maybe_mol_from_ccd(res_name: str) -> rd_chem.Mol | None: + """Creates a Mol object from CCD information if res_name is in the CCD.""" + ccd = chemical_components.cached_ccd() + ccd_cif = ccd.get(res_name) + if not ccd_cif: + logging.warning('No ccd information for residue %s.', res_name) + return None + try: + mol = rdkit_utils.mol_from_ccd_cif(ccd_cif, force_parse=False) + except rdkit_utils.MolFromMmcifError as e: + logging.warning('Failed to create mol from ccd for %s: %s', res_name, e) + return None + if mol is None: + raise ValueError('Failed to create mol from ccd for %s.' % res_name) + mol = rdkit_utils.sanitize_mol( + mol, + sort_alphabetically=False, + remove_hydrogens=True, + ) + return mol + + +def compare_chirality( + test_struc: structure.Structure, + ref_mol_by_chain: Mapping[str, rd_chem.Mol] | None = None, +) -> dict[str, bool]: + """Compares chirality of ligands in a structure with reference molecules. + + We do not enforce that ligand atoms exactly match, only that the ligand atoms + and chiral centres are a subset of those in ref mol. + + Args: + test_struc: The structure for whose ligands to match chirality. + ref_mol_by_chain: Optional dictionary mapping chain IDs to mol objects with + conformers to compare against. If this is not provided, the comparison is + to the corresponding ligands in the CCD if the ligand residue name is in + the CCD. + + Returns: + Dictionary mapping chain id to whether chirality mismatches the ref mol. + Only single residue ligands where reference molecules are available are + compared. + """ + ref_mol_by_chain = ref_mol_by_chain or {} + test_struc = test_struc.filter_to_entity_type(ligand=True) + name = test_struc.name + chiral_match_by_chain_id = {} + for chain_id in test_struc.chains: + chain_struc = test_struc.filter(chain_id=chain_id) + # Only compare single-residue ligands. + if chain_struc.num_residues(count_unresolved=True) > 1: + logging.warning('%s: Chain %s has >1 residues. Skipping.', name, chain_id) + continue + if chain_id not in ref_mol_by_chain: + ref_mol = _maybe_mol_from_ccd(chain_struc.res_name[0]) + else: + ref_mol = ref_mol_by_chain[chain_id] + if ref_mol is None: + logging.warning( + '%s: Ref mol is None for chain %s. Skipping.', name, chain_id + ) + continue + mol = _mol_from_ligand_struc( + ligand_struc=chain_struc, + ref_mol=ref_mol, + ) + if mol is None: + logging.warning( + '%s: Failed to create mol for chain %s. Skipping.', name, chain_id + ) + continue + chiral_match_by_chain_id[chain_id] = _chiral_match(mol, ref_mol) + return chiral_match_by_chain_id diff --git a/src/alphafold3/model/scoring/scoring.py b/src/alphafold3/model/scoring/scoring.py index 6b6b9a1a9cc5ee469110cb43b7b398c4dfe7c5fd..b19108f4bb91310448f608a9a6a8a92ff30be26e 100644 --- a/src/alphafold3/model/scoring/scoring.py +++ b/src/alphafold3/model/scoring/scoring.py @@ -49,9 +49,9 @@ def pseudo_beta_fn( protein_data_processing.RESTYPE_PSEUDOBETA_INDEX, aatype, axis=0 ).astype(xnp.int32) - pseudobeta_index = jnp.where( + pseudobeta_index = xnp.where( is_ligand, - jnp.zeros_like(pseudobeta_index_polymer), + xnp.zeros_like(pseudobeta_index_polymer), pseudobeta_index_polymer, ) diff --git a/src/alphafold3/parsers/cpp/cif_dict_pybind.cc b/src/alphafold3/parsers/cpp/cif_dict_pybind.cc index 8529f54a60dae6f1bd2a2b5246cbb39dfed74160..130a8215abf89b54be76c9b5973fec8bf5b11222 100644 --- a/src/alphafold3/parsers/cpp/cif_dict_pybind.cc +++ b/src/alphafold3/parsers/cpp/cif_dict_pybind.cc @@ -372,13 +372,16 @@ void RegisterModuleCifDict(pybind11::module m) { using Value = std::vector<std::string>; static absl::NoDestructor<std::vector<std::string>> empty_values; - m.def("from_string", [](absl::string_view s) { - absl::StatusOr<CifDict> dict = CifDict::FromString(s); - if (!dict.ok()) { - throw py::value_error(dict.status().ToString()); - } - return CifDict(std::move(*dict)); - }); + m.def( + "from_string", + [](absl::string_view s) { + absl::StatusOr<CifDict> dict = CifDict::FromString(s); + if (!dict.ok()) { + throw py::value_error(dict.status().ToString()); + } + return *dict; + }, + py::call_guard<py::gil_scoped_release>()); m.def( "tokenize", diff --git a/src/alphafold3/structure/__init__.py b/src/alphafold3/structure/__init__.py index 2883793a86730459df2c3329debbf5c40bfd6ba8..94da943b43f0bb69b6997d5bec3d8882e4c0e3ea 100644 --- a/src/alphafold3/structure/__init__.py +++ b/src/alphafold3/structure/__init__.py @@ -25,6 +25,7 @@ from alphafold3.structure.parsing import from_parsed_mmcif from alphafold3.structure.parsing import from_res_arrays from alphafold3.structure.parsing import from_sequences_and_bonds from alphafold3.structure.parsing import ModelID +from alphafold3.structure.parsing import NoAtomsError from alphafold3.structure.parsing import SequenceFormat from alphafold3.structure.structure import ARRAY_FIELDS from alphafold3.structure.structure import AuthorNamingScheme diff --git a/src/alphafold3/structure/cpp/mmcif_utils_pybind.cc b/src/alphafold3/structure/cpp/mmcif_utils_pybind.cc index 957d97fdb68256f4ca69f34b9e5ad31f57036b24..52bd039b2984e6d8c599124bfc0c4b201c0a7041 100644 --- a/src/alphafold3/structure/cpp/mmcif_utils_pybind.cc +++ b/src/alphafold3/structure/cpp/mmcif_utils_pybind.cc @@ -395,7 +395,7 @@ std::pair<py::object, MmcifLayout> MmcifFilter( // if (layout.num_models() > 1) { keep_indices->reserve(layout.num_models() * new_num_atoms); - std::size_t* start = &(*keep_indices->begin()); + std::uint64_t* start = &(*keep_indices->begin()); std::size_t num_atom = keep_indices->size(); // Copy first model indices into all model indices offsetting each copy. for (std::size_t i = 1; i < layout.num_models(); ++i) { diff --git a/src/alphafold3/structure/cpp/string_array.pyi b/src/alphafold3/structure/cpp/string_array.pyi index 27609d298090eb79f3a6d77be63a963f4a8e8c58..b4b76c27f267ce43d2a126d9a53db580cf464772 100755 --- a/src/alphafold3/structure/cpp/string_array.pyi +++ b/src/alphafold3/structure/cpp/string_array.pyi @@ -9,18 +9,24 @@ # https://github.com/google-deepmind/alphafold3/blob/main/WEIGHTS_TERMS_OF_USE.md from collections.abc import Sequence -from typing import overload +from typing import Any, overload import numpy as np + def format_float_array( values: Sequence[float], num_decimal_places: int ) -> list[str]: ... + + def isin( array: np.ndarray[object], test_elements: set[str | bytes], + *, invert: bool = ..., ) -> np.ndarray[bool]: ... + + @overload def remap( array: np.ndarray[object], @@ -28,9 +34,17 @@ def remap( default_value: str, inplace: bool = ..., ) -> np.ndarray[object]: ... + + @overload def remap( array: np.ndarray[object], mapping: dict[str, str], inplace: bool = ..., ) -> np.ndarray[object]: ... + + +def remap_multiple( + arrays: Sequence[np.ndarray[object]], + mapping: dict[tuple[Any], int], +) -> np.ndarray[int]: ... diff --git a/src/alphafold3/structure/parsing.py b/src/alphafold3/structure/parsing.py index 81d8a0e8d5605b177a5696d3e9fc49d9c0fd4b88..3b89efdaba8cb839c6decc1ff31f7f5ae4074f6e 100644 --- a/src/alphafold3/structure/parsing.py +++ b/src/alphafold3/structure/parsing.py @@ -40,6 +40,10 @@ BondAtomId: TypeAlias = tuple[ChainIndex, ResIndex, AtomName] _INSERTION_CODE_REMAP: Mapping[str, str] = {'.': '?'} +class NoAtomsError(Exception): + """Raise when the mmCIF does not have any atoms.""" + + @dataclasses.dataclass(frozen=True, slots=True, kw_only=True) class BondIndices: from_indices: list[int] @@ -177,7 +181,13 @@ def _get_str_model_id( # breaks when adhoc importing. match model_id.value: case ModelID.FIRST.value: - str_model_id = _get_first_model_id(cif) + try: + str_model_id = _get_first_model_id(cif) + except IndexError as e: + raise NoAtomsError( + 'The mmCIF does not have any atoms or' + ' _atom_site.pdbx_PDB_model_num is missing.' + ) from e case ModelID.ALL.value: str_model_id = '' case _: @@ -261,7 +271,8 @@ def _get_mmcif_header( fix_unknown_dna: bool, ) -> _MmcifHeader: """Extract header fields from an mmCIF object.""" - name = cif.get_data_name() + entry_id = cif.get('_entry.id') + name = entry_id[0] if entry_id else cif.get_data_name() resolution = mmcif.get_resolution(cif) release_date = mmcif.get_release_date(cif) @@ -356,11 +367,10 @@ def from_parsed_mmcif( model_id=str_model_id, ) - if include_bonds: + if include_bonds and atoms.size > 0: # NB: parsing the atom table before the bonds table allows for a more # informative error message when dealing with bad multi-model mmCIFs. - # We also ensure that we always use a specific model ID, even when parsing - # all models. + # Also always use a specific model ID, even when parsing all models. if str_model_id == '': # pylint: disable=g-explicit-bool-comparison bonds_model_id = _get_first_model_id(mmcif_object) else: @@ -519,7 +529,7 @@ def from_res_arrays(atom_mask: np.ndarray, **kwargs) -> structure.Structure: chain_entity_id = fields.get('chain_entity_id') if chain_entity_id is not None: - entity_id = chain_entity_id[chain_entity_id] + entity_id = chain_entity_id[chain_start] else: entity_id = np.array( [str(mmcif.str_id_to_int_id(cid)) for cid in chain_id[chain_start]], diff --git a/src/alphafold3/structure/structure.py b/src/alphafold3/structure/structure.py index 3b0c0223f5d30238e38ce0c72faa800727288e0e..215372674696a634c5afeab91d21b917ccbcedfa 100644 --- a/src/alphafold3/structure/structure.py +++ b/src/alphafold3/structure/structure.py @@ -568,12 +568,12 @@ class Structure(table.Database): @functools.cached_property def chain_boundaries(self) -> np.ndarray: - """The indices in the atom fields where each chain begins.""" + """The indices in the atom fields where each present chain begins.""" return _get_change_indices(self._atoms.chain_key) @functools.cached_property def res_boundaries(self) -> np.ndarray: - """The indices in the atom fields where each residue begins.""" + """The indices in the atom fields where each present residue begins.""" return _get_change_indices(self._atoms.res_key) @functools.cached_property @@ -1235,7 +1235,12 @@ class Structure(table.Database): updated_atoms = self._atoms.copy_and_update_coords(coords) return self.copy_and_update(atoms=updated_atoms, skip_validation=True) - def copy_and_update_from_res_arrays(self, **changes: np.ndarray) -> Self: + def copy_and_update_from_res_arrays( + self, + *, + include_unresolved: bool = False, + **changes: np.ndarray, + ) -> Self: """Like copy_and_update but changes are arrays of length num_residues. These changes are first scattered into arrays of length num_atoms such @@ -1248,6 +1253,8 @@ class Structure(table.Database): * Returned structure's atom_b_factor: 7, 7, 7, 8, 9, 9 Args: + include_unresolved: Whether the provided list of new values per residue + include values for all residues, or only those that are resolved. **changes: kwargs corresponding to atom array fields, e.g. atom_x or atom_b_factor, but with length num_residues rather than num_atoms. Note that changing atom_key this way is is not supported. @@ -1258,30 +1265,41 @@ class Structure(table.Database): scattered across the atom arrays and then used to overwrite these fields for the returned structure. """ - # We create scatter indices by (1) starting from zeros, then (2) setting - # the position where each residue starts to 1 and then (3) doing a - # cumulative sum. Finally, since self.res_boundaries always starts with 0 - # the result of the cumulative sum will start from 1, so (4) we subtract - # 1 to get the final array of zero-based indices. - # Example, 6 atoms, 3 residues at indices 0, 2 and 5. - # (1) 0 0 0 0 0 0 - # (2) 1 0 1 0 0 1 - # (3) 1 1 2 2 2 3 - # (4) 0 0 1 1 1 2 if not all(c in set(ATOM_FIELDS) - {'atom_key'} for c in changes): raise ValueError( 'Changes must only be to atom fields, got changes to' f' {changes.keys()}' ) - scatter_idxs = np.zeros((self.num_atoms,), dtype=int) - scatter_idxs[self.res_boundaries] = 1 - scatter_idxs = scatter_idxs.cumsum() - 1 - atom_array_changes = { - ATOM_FIELDS[field]: new_val[scatter_idxs] - for field, new_val in changes.items() - } - updated_atoms = self._atoms.copy_and_update(**atom_array_changes) - return self.copy_and_update(atoms=updated_atoms, skip_validation=True) + + num_residues = self.num_residues(count_unresolved=include_unresolved) + + for field_name, new_values in changes.items(): + if len(new_values) != num_residues: + raise ValueError( + f'{field_name} array of length {len(new_values)} does not match ' + f'{num_residues=} - is include_unresolved set correctly?' + ) + + # We cannot assume that atom_table.res_keys are the relevant indices of the + # residue table. + + # Therefore we need to construct a map from res_key to the new values and + # update the atoms_table with that. + if include_unresolved: + target_keys = self.residues_table.key + else: + target_keys = self.present_residues.key + + new_atom_columns = {} + for field_name, new_values in changes.items(): + value_by_key = dict(zip(target_keys, new_values, strict=True)) + # pylint: disable=cell-var-from-loop + new_atom_columns[field_name] = np.vectorize(lambda x: value_by_key[x])( + self.atoms_table.res_key + ) + # pylint: enable=cell-var-from-loop + + return self.copy_and_update_atoms(**new_atom_columns) def copy_and_update_globals( self, @@ -1354,6 +1372,29 @@ class Structure(table.Database): ) return self.copy_and_update(atoms=new_atoms) + def copy_and_update_residues( + self, + *, + res_id: np.ndarray | None = None, + res_name: np.ndarray | None = None, + res_auth_seq_id: np.ndarray | None = None, + res_insertion_code: np.ndarray | None = None, + ) -> Self: + """Returns a shallow copy with the residues table updated.""" + new_residues = structure_tables.Residues( + key=self._residues.key, + chain_key=self._residues.chain_key, + id=res_id if res_id is not None else self._residues.id, + name=res_name if res_name is not None else self._residues.name, + auth_seq_id=res_auth_seq_id + if res_auth_seq_id is not None + else self._residues.auth_seq_id, + insertion_code=res_insertion_code + if res_insertion_code is not None + else self._residues.insertion_code, + ) + return self.copy_and_update(residues=new_residues) + def _cascade_delete( self, *, @@ -2251,6 +2292,7 @@ class Structure(table.Database): chain_groups: Sequence[Sequence[str]], chain_group_ids: Sequence[str] | None = None, chain_group_types: Sequence[str] | None = None, + chain_group_entity_ids: Sequence[str] | None = None, ) -> Self: """Merges chains in each group into a single chain. @@ -2262,14 +2304,19 @@ class Structure(table.Database): Args: chain_groups: Each group defines what chains should be merged into a single chain. The output structure will therefore have len(chain_groups) - chains. Residue IDs are renumbered to preserve uniqueness within new - chains. Order of chain groups and within each group matters. + chains. Residue IDs (label and author) are renumbered to preserve + uniqueness within new chains. Order of chain groups and within each + group matters. chain_group_ids: Optional sequence of new chain IDs for each group. If not given, the new internal chain IDs (label_asym_id) are assigned in the standard mmCIF order (i.e. A, B, ..., Z, AA, BA, CA, ...). Author chain names (auth_asym_id) are set to be equal to the new internal chain IDs. chain_group_types: Optional sequence of new chain types for each group. If not given, only chains with the same type can be merged. + chain_group_entity_ids: Optional sequence of new entity IDs for each + group. If not given, the new internal entity IDs (entity_id) are + assigned in the standard mmCIF order (i.e. 1, 2, 3, ...). Entity + descriptions (entity_desc) are set to '.' for each chain. Returns: A new `Structure` with chains merged together into a single chain within @@ -2292,6 +2339,14 @@ class Structure(table.Database): 'chain_group_types must the same length as chain_groups: ' f'{len(chain_group_types)=} != {len(chain_groups)=}' ) + if chain_group_entity_ids and len(chain_group_entity_ids) != len( + chain_groups + ): + raise ValueError( + 'chain_group_entity_ids must the same length as chain_groups: ' + f'{len(chain_group_entity_ids)=} != {len(chain_groups)=}' + ) + flattened = sorted(itertools.chain.from_iterable(chain_groups)) if flattened != sorted(self.chains): raise ValueError( @@ -2337,12 +2392,16 @@ class Structure(table.Database): new_chain_type = np.array( [new_chain_type_by_chain_key[k] for k in new_chain_key], dtype=object ) + if chain_group_entity_ids: + new_chain_entity_id = np.array(chain_group_entity_ids, dtype=object) + else: + new_chain_entity_id = np.char.mod('%d', new_chain_key + 1).astype(object) new_chains = structure_tables.Chains( key=new_chain_key, id=new_chain_id, type=new_chain_type, auth_asym_id=new_chain_id, - entity_id=np.char.mod('%d', new_chain_key + 1).astype(object), + entity_id=new_chain_entity_id, entity_desc=np.full(len(chain_groups), fill_value='.', dtype=object), ) @@ -2356,7 +2415,10 @@ class Structure(table.Database): new_res_ids = (indices + 1) - np.maximum.accumulate( indices * (new_residues.chain_key != np.roll(new_residues.chain_key, 1)) ) - new_residues = new_residues.copy_and_update(id=new_res_ids) + new_residues = new_residues.copy_and_update( + id=new_res_ids, + auth_seq_id=np.char.mod('%d', new_res_ids).astype(object), + ) # Remap chain keys and sort atoms to match the chain table order. new_atoms = self._atoms.copy_and_remap(chain_key=chain_key_remap) @@ -2379,9 +2441,10 @@ class Structure(table.Database): ) -> tuple[np.ndarray, np.ndarray]: """Returns an atom position and atom mask array with a num_res dimension. - NB: All residues in the structure will appear in the residue - dimension but atoms will only have a True (1.0) mask value if - they are defined in `atom_order`. + NB: All residues in the structure will appear in the residue dimension but + atoms will only have a True (1.0) mask value if the residue + atom + combination is defined in `atom_order`. E.g. for the standard ATOM37_ORDER, + atoms are guaranteed to be present only for standard protein residues. Args: include_missing_residues: If True then the res arrays will include rows @@ -2502,7 +2565,7 @@ class Structure(table.Database): return self.copy_and_update(chains=chains, residues=residues, atoms=atoms) def rename_auth_asym_ids(self, new_id_by_old_id: Mapping[str, str]) -> Self: - """Returns a new structure with renamed auth_asym_ids. + """Returns a new structure with renamed author chain IDs (auth_asym_ids). Args: new_id_by_old_id: A mapping from original auth_asym_ids to their new @@ -2624,6 +2687,61 @@ class Structure(table.Database): skip_validation=True, ) + def remap_res_id(self, res_id_map: Mapping[str, Mapping[int, int]]) -> Self: + """Returns a copy of this structure with residue IDs remapped. + + Example structure with 2 chains: + Chain A: residues 1, 2, 3; chain B: residues 6, 7, 8 + res_id_map: {'A': {1: 1, 2: 5, 3: 6}, 'B': {6: 1, 7: 2, 8: 8}} + Will result in: + Chain A: residues 1, 5, 6; chain B: residues 1, 2, 8 + + Args: + res_id_map: A mapping from internal chain ID to a mapping from old residue + ID to new residue ID. A mapping must be provided for each residue in + each chain. + + Raises: + KeyError: If residue ID in a given chain is not found in the mapping for + that chain. + ValueError: If residue IDs are not unique in each chain after remapping. + """ + chain_ids = self._chains.apply_array_to_column( + column_name='id', arr=self._residues.chain_key + ) + flat_res_id_map = {} + for chain_id, chain_res_id_map in res_id_map.items(): + flat_res_id_map.update({ + (chain_id, old_res_id): new_res_id + for old_res_id, new_res_id in chain_res_id_map.items() + }) + + try: + new_res_id = string_array.remap_multiple( + (chain_ids, self._residues.id), flat_res_id_map + ) + except KeyError as e: + raise KeyError( + f'Could not find new residue ID for residue {e} in {res_id_map=}' + ) from e + + residue_chain_boundaries = _get_change_indices(self._residues.chain_key) + res_boundaries = self._iter_residue_ranges( + residue_chain_boundaries, count_unresolved=True + ) + for idx, (start, end) in enumerate(res_boundaries): + chain_id = chain_ids[idx] + chain_res_ids = new_res_id[start:end] + if len(chain_res_ids) != len(set(chain_res_ids)): + raise ValueError( + f'New residue IDs not unique in chain {chain_id}: {chain_res_ids}' + ) + + return self.copy_and_update( + residues=self._residues.copy_and_update(id=new_res_id.astype(np.int32)), + skip_validation=True, + ) + def rename_chains_to_match( self, other: 'Structure', @@ -2762,7 +2880,7 @@ class Structure(table.Database): def _to_mmcif_header(self) -> Mapping[str, Sequence[str]]: raw_mmcif = collections.defaultdict(list) - raw_mmcif['data_'] = [self._name] + raw_mmcif['data_'] = [self._name.replace(' ', '-')] raw_mmcif['_entry.id'] = [self._name] if self._release_date is not None: diff --git a/src/alphafold3/structure/table.py b/src/alphafold3/structure/table.py index 6764c2f8f3aad42e12095895852848d0b6e8bd43..287850bf44fa77b2d3b7dcf1d4af16fa987e9e3c 100644 --- a/src/alphafold3/structure/table.py +++ b/src/alphafold3/structure/table.py @@ -231,6 +231,12 @@ class Table: ) -> Iterator[Mapping[str, Any]]: """Yields rows from the table. + This can be used to easily convert a table to a Pandas dataframe: + + ```py + df = pd.DataFrame(table.iterrows()) + ``` + Args: row_keys: An optional array of keys of rows to yield. If None, all rows will be yielded. diff --git a/src/alphafold3/test_data/alphafold_run_outputs/run_alphafold_test_output_bucket_1024.pkl b/src/alphafold3/test_data/alphafold_run_outputs/run_alphafold_test_output_bucket_1024.pkl index 1a39958c9a8cb00efb4daa10c39a76339a516626..5061d10e1fae82c1be476ef761cd75704058d854 100644 Binary files a/src/alphafold3/test_data/alphafold_run_outputs/run_alphafold_test_output_bucket_1024.pkl and b/src/alphafold3/test_data/alphafold_run_outputs/run_alphafold_test_output_bucket_1024.pkl differ diff --git a/src/alphafold3/test_data/alphafold_run_outputs/run_alphafold_test_output_bucket_default.pkl b/src/alphafold3/test_data/alphafold_run_outputs/run_alphafold_test_output_bucket_default.pkl index 34d2df059110dd526dceffce97da52445e12bea1..7548c6594f6a28b58e9727cfd0dfa09bc0d1502b 100644 Binary files a/src/alphafold3/test_data/alphafold_run_outputs/run_alphafold_test_output_bucket_default.pkl and b/src/alphafold3/test_data/alphafold_run_outputs/run_alphafold_test_output_bucket_default.pkl differ diff --git a/src/alphafold3/test_data/featurised_example.json b/src/alphafold3/test_data/featurised_example.json index cb869bcbed45d32caef27067a67e9dcca544a947..257fa69478f21202bd2c7d93abe984b411c46bf9 100644 --- a/src/alphafold3/test_data/featurised_example.json +++ b/src/alphafold3/test_data/featurised_example.json @@ -32,16 +32,15 @@ "ref_charge": "27898ee238963105942db19f27a980c1fe4f7aeb396c1e5ea4e82da3876deef4", "ref_element": "cc437747adeea094daf8a0e551be02f406c7e7d9b0a9328a84a59d907c5492b5", "ref_mask": "1e388e40167a4d31291903d74c98544868d0dc574706cdfd259ddd65f56d2993", - "ref_pos": "f50468f82d5f175562135ac934c536df4f8c27a58177c123c86cf4a93d59fc83", "ref_space_uid": "97afd7d9d3ba835731457ef090ba4939d707bb2a270d48fde56369bde8e58e9f", "residue_center_index": "dfef3704f73a7ee9a3be86b74e25ecd43e056c76574bc9bb65b6b446eeed87a7", "residue_index": "6bf4ea803d0fcd31446e07f6ba9e012f794ced1fe5ad60b7181f66bb92601638", "seq_length": "5a667734987b65ef5c4d07bf176148504bcf8378a5a1a0e23a7fa2c1121cc143", "seq_mask": "a795c048f28bc4307f8599dc5140fe6e971bce6a34a0349b6c18d6cbb197f75f", "sym_id": "5f170600b904a3464c72817993120957c1ce2eec8c2421af02d4912b5e8d8372", - "template_aatype": "a0ee989ed2a0a2e3626520afa4032e06144865c8c8f6357293c9f4cd2069eaf2", - "template_atom_mask": "9202e68fbe5587e30738f2f118e87e10202a6eabd7297e1299978ed53c3a8f46", - "template_atom_positions": "53853188f83a941e2f45ec1383293ae935106c5721918079000dcb2254fc550b", + "template_aatype": "6c5c3e7a5e23f064f1e8791f61bde8fb59ccf837095144b29e6c8e1607081398", + "template_atom_mask": "8a282b7476e13f6de5afbb52c14ea7baa3434281ed77b542bb790287e8c92e82", + "template_atom_positions": "b032ac0c813748a81b8d50ce94487c66510a177ad25e84581c7ea5f4b524987f", "token_atoms_layout": "<<atom-layout>>", "token_atoms_to_polymer_ligand_bonds:gather_idxs": "a0ee989ed2a0a2e3626520afa4032e06144865c8c8f6357293c9f4cd2069eaf2", "token_atoms_to_polymer_ligand_bonds:gather_mask": "d13d4a8b3b8add19b5970157f09d00c12cbda4fed4d74d8493156523f7069b66", diff --git a/src/alphafold3/test_data/featurised_example.pkl b/src/alphafold3/test_data/featurised_example.pkl index dd08bf5e428e9a156a2f03e3afb1783b9acc8a65..05e9b100206fa4de80ff5df6ae479aadf364f2f1 100644 Binary files a/src/alphafold3/test_data/featurised_example.pkl and b/src/alphafold3/test_data/featurised_example.pkl differ diff --git a/src/alphafold3/test_data/miniature_databases/pdb_mmcif/5y2e.cif b/src/alphafold3/test_data/miniature_databases/pdb_mmcif/5y2e.cif new file mode 100644 index 0000000000000000000000000000000000000000..5bdf12d8578f56fb7ade71be04307468ca0c311d --- /dev/null +++ b/src/alphafold3/test_data/miniature_databases/pdb_mmcif/5y2e.cif @@ -0,0 +1,562 @@ +data_5Y2E +# +_entry.id 5Y2E +# +loop_ +_chem_comp.formula +_chem_comp.formula_weight +_chem_comp.id +_chem_comp.mon_nstd_flag +_chem_comp.name +_chem_comp.pdbx_synonyms +_chem_comp.type +"C3 H7 N O2" 89.093 ALA y ALANINE ? "L-peptide linking" +"C6 H15 N4 O2 1" 175.209 ARG y ARGININE ? "L-peptide linking" +"C4 H7 N O4" 133.103 ASP y "ASPARTIC ACID" ? "L-peptide linking" +"C5 H10 N2 O3" 146.144 GLN y GLUTAMINE ? "L-peptide linking" +"C5 H9 N O4" 147.129 GLU y "GLUTAMIC ACID" ? "L-peptide linking" +"C2 H5 N O2" 75.067 GLY y GLYCINE ? "peptide linking" +"C6 H10 N3 O2 1" 156.162 HIS y HISTIDINE ? "L-peptide linking" +"H2 O" 18.015 HOH . WATER ? non-polymer +"C6 H13 N O2" 131.173 ILE y ISOLEUCINE ? "L-peptide linking" +"C6 H13 N O2" 131.173 LEU y LEUCINE ? "L-peptide linking" +"C6 H15 N2 O2 1" 147.195 LYS y LYSINE ? "L-peptide linking" +"C5 H11 N O2 S" 149.211 MET y METHIONINE ? "L-peptide linking" +"C4 H9 N O3" 119.119 THR y THREONINE ? "L-peptide linking" +"C5 H11 N O2" 117.146 VAL y VALINE ? "L-peptide linking" +# +_entity.id 1 +_entity.pdbx_description "Non-structural glycoprotein 4" +_entity.type polymer +# +_entity_poly.entity_id 1 +_entity_poly.pdbx_strand_id A +_entity_poly.type polypeptide(L) +# +loop_ +_entity_poly_seq.entity_id +_entity_poly_seq.hetero +_entity_poly_seq.mon_id +_entity_poly_seq.num +1 n MET 1 +1 n ILE 2 +1 n GLU 3 +1 n LYS 4 +1 n GLN 5 +1 n MET 6 +1 n ASP 7 +1 n ARG 8 +1 n VAL 9 +1 n VAL 10 +1 n LYS 11 +1 n GLU 12 +1 n MET 13 +1 n ARG 14 +1 n ARG 15 +1 n GLN 16 +1 n LEU 17 +1 n GLU 18 +1 n MET 19 +1 n ILE 20 +1 n ASP 21 +1 n LYS 22 +1 n LEU 23 +1 n THR 24 +1 n THR 25 +1 n ARG 26 +1 n GLY 27 +1 n ILE 28 +1 n GLU 29 +1 n GLN 30 +1 n VAL 31 +1 n GLU 32 +1 n LEU 33 +1 n LEU 34 +1 n LYS 35 +1 n ARG 36 +1 n ILE 37 +1 n HIS 38 +1 n ASP 39 +1 n LYS 40 +1 n LEU 41 +1 n MET 42 +1 n ILE 43 +1 n ARG 44 +1 n ALA 45 +1 n VAL 46 +1 n ASP 47 +# +_exptl.method "X-RAY DIFFRACTION" +# +_pdbx_audit_revision_history.revision_date 2018-03-14 +# +_pdbx_database_status.recvd_initial_deposition_date 2018-03-14 +# +loop_ +_pdbx_poly_seq_scheme.asym_id +_pdbx_poly_seq_scheme.auth_seq_num +_pdbx_poly_seq_scheme.entity_id +_pdbx_poly_seq_scheme.hetero +_pdbx_poly_seq_scheme.mon_id +_pdbx_poly_seq_scheme.pdb_ins_code +_pdbx_poly_seq_scheme.pdb_seq_num +_pdbx_poly_seq_scheme.pdb_strand_id +_pdbx_poly_seq_scheme.seq_id +B 94 1 n MET . 94 A 1 +B 95 1 n ILE . 95 A 2 +B 96 1 n GLU . 96 A 3 +B 97 1 n LYS . 97 A 4 +B 98 1 n GLN . 98 A 5 +B 99 1 n MET . 99 A 6 +B 100 1 n ASP . 100 A 7 +B 101 1 n ARG . 101 A 8 +B 102 1 n VAL . 102 A 9 +B 103 1 n VAL . 103 A 10 +B 104 1 n LYS . 104 A 11 +B 105 1 n GLU . 105 A 12 +B 106 1 n MET . 106 A 13 +B 107 1 n ARG . 107 A 14 +B 108 1 n ARG . 108 A 15 +B 109 1 n GLN . 109 A 16 +B 110 1 n LEU . 110 A 17 +B 111 1 n GLU . 111 A 18 +B 112 1 n MET . 112 A 19 +B 113 1 n ILE . 113 A 20 +B 114 1 n ASP . 114 A 21 +B 115 1 n LYS . 115 A 22 +B 116 1 n LEU . 116 A 23 +B 117 1 n THR . 117 A 24 +B 118 1 n THR . 118 A 25 +B 119 1 n ARG . 119 A 26 +B 120 1 n GLY . 120 A 27 +B 121 1 n ILE . 121 A 28 +B 122 1 n GLU . 122 A 29 +B 123 1 n GLN . 123 A 30 +B 124 1 n VAL . 124 A 31 +B 125 1 n GLU . 125 A 32 +B 126 1 n LEU . 126 A 33 +B 127 1 n LEU . 127 A 34 +B 128 1 n LYS . 128 A 35 +B 129 1 n ARG . 129 A 36 +B 130 1 n ILE . 130 A 37 +B 131 1 n HIS . 131 A 38 +B 132 1 n ASP . 132 A 39 +B 133 1 n LYS . 133 A 40 +B 134 1 n LEU . 134 A 41 +B 135 1 n MET . 135 A 42 +B 136 1 n ILE . 136 A 43 +B 137 1 n ARG . 137 A 44 +B 138 1 n ALA . 138 A 45 +B ? 1 n VAL . 139 A 46 +B ? 1 n ASP . 140 A 47 +# +_pdbx_struct_assembly.details author_and_software_defined_assembly +_pdbx_struct_assembly.id 1 +_pdbx_struct_assembly.method_details PISA +_pdbx_struct_assembly.oligomeric_count 4 +_pdbx_struct_assembly.oligomeric_details tetrameric +# +_pdbx_struct_assembly_gen.assembly_id 1 +_pdbx_struct_assembly_gen.asym_id_list A,B,C,D,E,F,G +_pdbx_struct_assembly_gen.oper_expression 1 +# +_pdbx_struct_oper_list.id 1 +_pdbx_struct_oper_list.matrix[1][1] 1.0000000000 +_pdbx_struct_oper_list.matrix[1][2] 0.0000000000 +_pdbx_struct_oper_list.matrix[1][3] 0.0000000000 +_pdbx_struct_oper_list.matrix[2][1] 0.0000000000 +_pdbx_struct_oper_list.matrix[2][2] 1.0000000000 +_pdbx_struct_oper_list.matrix[2][3] 0.0000000000 +_pdbx_struct_oper_list.matrix[3][1] 0.0000000000 +_pdbx_struct_oper_list.matrix[3][2] 0.0000000000 +_pdbx_struct_oper_list.matrix[3][3] 1.0000000000 +_pdbx_struct_oper_list.name 1_555 +_pdbx_struct_oper_list.symmetry_operation x,y,z +_pdbx_struct_oper_list.type "identity operation" +_pdbx_struct_oper_list.vector[1] 0.0000000000 +_pdbx_struct_oper_list.vector[2] 0.0000000000 +_pdbx_struct_oper_list.vector[3] 0.0000000000 +# +_refine.ls_d_res_high 2.70 +# +_software.classification other +_software.name "DeepMind Structure Class" +_software.pdbx_ordinal 1 +_software.version 2.0.0 +# +_struct_asym.entity_id 1 +_struct_asym.id B +# +loop_ +_atom_site.group_PDB +_atom_site.id +_atom_site.type_symbol +_atom_site.label_atom_id +_atom_site.label_alt_id +_atom_site.label_comp_id +_atom_site.label_asym_id +_atom_site.label_entity_id +_atom_site.label_seq_id +_atom_site.pdbx_PDB_ins_code +_atom_site.Cartn_x +_atom_site.Cartn_y +_atom_site.Cartn_z +_atom_site.occupancy +_atom_site.B_iso_or_equiv +_atom_site.auth_seq_id +_atom_site.auth_asym_id +_atom_site.pdbx_PDB_model_num +ATOM 1 N N . MET B 1 1 ? 2.644 6.839 -46.028 1.00 83.71 94 A 1 +ATOM 2 C CA . MET B 1 1 ? 1.400 7.612 -45.825 1.00 86.32 94 A 1 +ATOM 3 C C . MET B 1 1 ? 1.210 7.971 -44.344 1.00 87.15 94 A 1 +ATOM 4 O O . MET B 1 1 ? 1.479 7.188 -43.421 1.00 80.48 94 A 1 +ATOM 5 C CB . MET B 1 1 ? 0.170 6.890 -46.382 1.00 88.07 94 A 1 +ATOM 6 C CG . MET B 1 1 ? -0.124 7.275 -47.840 1.00 91.84 94 A 1 +ATOM 7 S SD . MET B 1 1 ? -1.789 6.807 -48.325 1.00 103.69 94 A 1 +ATOM 8 C CE . MET B 1 1 ? -2.264 8.027 -49.569 1.00 97.89 94 A 1 +ATOM 9 N N . ILE B 1 2 ? 0.696 9.166 -44.185 1.00 87.93 95 A 1 +ATOM 10 C CA . ILE B 1 2 ? 0.364 9.779 -42.948 1.00 84.67 95 A 1 +ATOM 11 C C . ILE B 1 2 ? -0.678 8.946 -42.258 1.00 75.98 95 A 1 +ATOM 12 O O . ILE B 1 2 ? -0.634 8.714 -41.080 1.00 67.98 95 A 1 +ATOM 13 C CB . ILE B 1 2 ? -0.321 11.082 -43.309 1.00 89.99 95 A 1 +ATOM 14 C CG1 . ILE B 1 2 ? 0.696 12.146 -43.577 1.00 94.59 95 A 1 +ATOM 15 C CG2 . ILE B 1 2 ? -1.197 11.546 -42.182 1.00 92.79 95 A 1 +ATOM 16 C CD1 . ILE B 1 2 ? 1.132 12.780 -42.294 1.00 93.36 95 A 1 +ATOM 17 N N . GLU B 1 3 ? -1.625 8.499 -43.046 1.00 71.66 96 A 1 +ATOM 18 C CA . GLU B 1 3 ? -2.745 7.716 -42.585 1.00 68.44 96 A 1 +ATOM 19 C C . GLU B 1 3 ? -2.273 6.463 -41.883 1.00 69.98 96 A 1 +ATOM 20 O O . GLU B 1 3 ? -2.890 6.024 -40.946 1.00 67.88 96 A 1 +ATOM 21 C CB . GLU B 1 3 ? -3.613 7.332 -43.745 1.00 73.44 96 A 1 +ATOM 22 C CG . GLU B 1 3 ? -4.382 8.485 -44.320 1.00 87.42 96 A 1 +ATOM 23 C CD . GLU B 1 3 ? -3.735 9.039 -45.551 1.00 89.38 96 A 1 +ATOM 24 O OE1 . GLU B 1 3 ? -4.454 9.413 -46.477 1.00 97.81 96 A 1 +ATOM 25 O OE2 . GLU B 1 3 ? -2.511 9.105 -45.593 1.00 88.14 96 A 1 +ATOM 26 N N . LYS B 1 4 ? -1.212 5.844 -42.364 1.00 71.45 97 A 1 +ATOM 27 C CA . LYS B 1 4 ? -0.676 4.669 -41.671 1.00 72.76 97 A 1 +ATOM 28 C C . LYS B 1 4 ? 0.097 5.062 -40.408 1.00 74.11 97 A 1 +ATOM 29 O O . LYS B 1 4 ? 0.209 4.268 -39.462 1.00 77.84 97 A 1 +ATOM 30 C CB . LYS B 1 4 ? 0.197 3.807 -42.578 1.00 66.63 97 A 1 +ATOM 31 N N . GLN B 1 5 ? 0.624 6.270 -40.364 1.00 72.03 98 A 1 +ATOM 32 C CA . GLN B 1 5 ? 1.295 6.749 -39.158 1.00 65.60 98 A 1 +ATOM 33 C C . GLN B 1 5 ? 0.255 7.097 -38.099 1.00 58.64 98 A 1 +ATOM 34 O O . GLN B 1 5 ? 0.462 6.888 -36.942 1.00 52.26 98 A 1 +ATOM 35 C CB . GLN B 1 5 ? 2.143 7.976 -39.487 1.00 63.76 98 A 1 +ATOM 36 N N . MET B 1 6 ? -0.861 7.648 -38.542 1.00 49.04 99 A 1 +ATOM 37 C CA . MET B 1 6 ? -1.953 7.954 -37.679 1.00 45.66 99 A 1 +ATOM 38 C C . MET B 1 6 ? -2.486 6.679 -37.100 1.00 50.63 99 A 1 +ATOM 39 O O . MET B 1 6 ? -2.882 6.643 -35.948 1.00 50.11 99 A 1 +ATOM 40 C CB . MET B 1 6 ? -3.050 8.640 -38.449 1.00 42.97 99 A 1 +ATOM 41 C CG . MET B 1 6 ? -4.395 8.703 -37.753 1.00 42.67 99 A 1 +ATOM 42 S SD . MET B 1 6 ? -5.430 9.916 -38.524 1.00 47.21 99 A 1 +ATOM 43 C CE . MET B 1 6 ? -6.803 9.938 -37.397 1.00 48.85 99 A 1 +ATOM 44 N N . ASP B 1 7 ? -2.531 5.622 -37.894 1.00 56.67 100 A 1 +ATOM 45 C CA . ASP B 1 7 ? -3.070 4.383 -37.401 1.00 55.17 100 A 1 +ATOM 46 C C . ASP B 1 7 ? -2.223 3.846 -36.257 1.00 53.54 100 A 1 +ATOM 47 O O . ASP B 1 7 ? -2.785 3.365 -35.256 1.00 47.69 100 A 1 +ATOM 48 C CB . ASP B 1 7 ? -3.067 3.354 -38.520 1.00 57.94 100 A 1 +ATOM 49 C CG . ASP B 1 7 ? -3.936 2.164 -38.236 1.00 62.42 100 A 1 +ATOM 50 O OD1 . ASP B 1 7 ? -5.111 2.416 -37.949 1.00 67.59 100 A 1 +ATOM 51 O OD2 . ASP B 1 7 ? -3.401 1.020 -38.206 1.00 61.64 100 A 1 +ATOM 52 N N . ARG B 1 8 ? -0.900 3.909 -36.428 1.00 54.78 101 A 1 +ATOM 53 C CA . ARG B 1 8 ? -0.002 3.384 -35.432 1.00 61.23 101 A 1 +ATOM 54 C C . ARG B 1 8 ? -0.168 4.177 -34.127 1.00 63.20 101 A 1 +ATOM 55 O O . ARG B 1 8 ? -0.017 3.620 -33.077 1.00 67.94 101 A 1 +ATOM 56 C CB . ARG B 1 8 ? 1.484 3.327 -35.943 1.00 64.73 101 A 1 +ATOM 57 C CG . ARG B 1 8 ? 2.403 4.541 -35.635 1.00 73.16 101 A 1 +ATOM 58 N N . VAL B 1 9 ? -0.406 5.483 -34.222 1.00 63.14 102 A 1 +ATOM 59 C CA . VAL B 1 9 ? -0.546 6.334 -33.061 1.00 59.81 102 A 1 +ATOM 60 C C . VAL B 1 9 ? -1.853 6.121 -32.347 1.00 55.82 102 A 1 +ATOM 61 O O . VAL B 1 9 ? -1.880 6.066 -31.150 1.00 48.46 102 A 1 +ATOM 62 C CB . VAL B 1 9 ? -0.421 7.813 -33.454 1.00 60.39 102 A 1 +ATOM 63 C CG1 . VAL B 1 9 ? -0.731 8.703 -32.272 1.00 60.03 102 A 1 +ATOM 64 C CG2 . VAL B 1 9 ? 0.994 8.091 -33.943 1.00 61.68 102 A 1 +ATOM 65 N N . VAL B 1 10 ? -2.941 6.014 -33.079 1.00 56.18 103 A 1 +ATOM 66 C CA . VAL B 1 10 ? -4.231 5.743 -32.481 1.00 53.53 103 A 1 +ATOM 67 C C . VAL B 1 10 ? -4.236 4.419 -31.704 1.00 52.90 103 A 1 +ATOM 68 O O . VAL B 1 10 ? -4.772 4.355 -30.607 1.00 49.99 103 A 1 +ATOM 69 C CB . VAL B 1 10 ? -5.317 5.742 -33.553 1.00 51.75 103 A 1 +ATOM 70 C CG1 . VAL B 1 10 ? -6.606 5.137 -33.045 1.00 52.18 103 A 1 +ATOM 71 C CG2 . VAL B 1 10 ? -5.610 7.153 -33.983 1.00 52.67 103 A 1 +ATOM 72 N N . LYS B 1 11 ? -3.601 3.402 -32.243 1.00 55.55 104 A 1 +ATOM 73 C CA . LYS B 1 11 ? -3.521 2.104 -31.626 1.00 56.87 104 A 1 +ATOM 74 C C . LYS B 1 11 ? -2.709 2.164 -30.350 1.00 60.76 104 A 1 +ATOM 75 O O . LYS B 1 11 ? -2.986 1.464 -29.399 1.00 58.80 104 A 1 +ATOM 76 C CB . LYS B 1 11 ? -2.837 1.155 -32.582 1.00 60.72 104 A 1 +ATOM 77 C CG . LYS B 1 11 ? -3.729 0.487 -33.601 1.00 72.80 104 A 1 +ATOM 78 C CD . LYS B 1 11 ? -2.915 -0.472 -34.451 1.00 79.85 104 A 1 +ATOM 79 C CE . LYS B 1 11 ? -3.664 -0.963 -35.666 1.00 84.90 104 A 1 +ATOM 80 N NZ . LYS B 1 11 ? -5.110 -0.693 -35.513 1.00 94.50 104 A 1 +ATOM 81 N N . GLU B 1 12 ? -1.674 2.982 -30.369 1.00 56.70 105 A 1 +ATOM 82 C CA . GLU B 1 12 ? -0.798 3.204 -29.249 1.00 54.71 105 A 1 +ATOM 83 C C . GLU B 1 12 ? -1.507 3.946 -28.155 1.00 52.45 105 A 1 +ATOM 84 O O . GLU B 1 12 ? -1.387 3.608 -27.007 1.00 51.88 105 A 1 +ATOM 85 C CB . GLU B 1 12 ? 0.404 4.036 -29.667 1.00 60.63 105 A 1 +ATOM 86 C CG . GLU B 1 12 ? 1.418 4.261 -28.569 1.00 71.75 105 A 1 +ATOM 87 C CD . GLU B 1 12 ? 2.100 2.985 -28.105 1.00 83.66 105 A 1 +ATOM 88 O OE1 . GLU B 1 12 ? 1.973 1.951 -28.793 1.00 97.71 105 A 1 +ATOM 89 O OE2 . GLU B 1 12 ? 2.729 3.008 -27.039 1.00 91.62 105 A 1 +ATOM 90 N N . MET B 1 13 ? -2.250 4.972 -28.495 1.00 50.99 106 A 1 +ATOM 91 C CA . MET B 1 13 ? -2.993 5.703 -27.508 1.00 53.07 106 A 1 +ATOM 92 C C . MET B 1 13 ? -4.045 4.874 -26.849 1.00 51.54 106 A 1 +ATOM 93 O O . MET B 1 13 ? -4.220 4.974 -25.651 1.00 48.88 106 A 1 +ATOM 94 C CB . MET B 1 13 ? -3.640 6.915 -28.107 1.00 61.60 106 A 1 +ATOM 95 C CG . MET B 1 13 ? -2.651 8.032 -28.402 1.00 65.35 106 A 1 +ATOM 96 S SD . MET B 1 13 ? -3.551 9.590 -28.498 1.00 76.88 106 A 1 +ATOM 97 C CE . MET B 1 13 ? -3.620 9.931 -26.737 1.00 76.03 106 A 1 +ATOM 98 N N . ARG B 1 14 ? -4.714 4.016 -27.571 1.00 53.52 107 A 1 +ATOM 99 C CA . ARG B 1 14 ? -5.703 3.187 -26.952 1.00 50.53 107 A 1 +ATOM 100 C C . ARG B 1 14 ? -5.040 2.268 -25.975 1.00 51.01 107 A 1 +ATOM 101 O O . ARG B 1 14 ? -5.527 2.040 -24.903 1.00 48.89 107 A 1 +ATOM 102 C CB . ARG B 1 14 ? -6.358 2.367 -28.011 1.00 54.79 107 A 1 +ATOM 103 C CG . ARG B 1 14 ? -7.580 1.648 -27.566 1.00 60.71 107 A 1 +ATOM 104 C CD . ARG B 1 14 ? -7.895 0.586 -28.570 1.00 70.83 107 A 1 +ATOM 105 N NE . ARG B 1 14 ? -8.689 1.116 -29.658 1.00 78.79 107 A 1 +ATOM 106 C CZ . ARG B 1 14 ? -8.278 1.182 -30.911 1.00 81.77 107 A 1 +ATOM 107 N NH1 . ARG B 1 14 ? -7.086 0.746 -31.233 1.00 91.09 107 A 1 +ATOM 108 N NH2 . ARG B 1 14 ? -9.071 1.675 -31.832 1.00 79.36 107 A 1 +ATOM 109 N N . ARG B 1 15 ? -3.896 1.754 -26.355 1.00 46.73 108 A 1 +ATOM 110 C CA . ARG B 1 15 ? -3.174 0.827 -25.534 1.00 45.05 108 A 1 +ATOM 111 C C . ARG B 1 15 ? -2.681 1.503 -24.248 1.00 47.85 108 A 1 +ATOM 112 O O . ARG B 1 15 ? -2.752 0.930 -23.189 1.00 50.40 108 A 1 +ATOM 113 C CB . ARG B 1 15 ? -2.063 0.286 -26.404 1.00 50.23 108 A 1 +ATOM 114 C CG . ARG B 1 15 ? -1.165 -0.750 -25.876 1.00 59.06 108 A 1 +ATOM 115 C CD . ARG B 1 15 ? -0.358 -1.317 -27.046 1.00 59.59 108 A 1 +ATOM 116 N NE . ARG B 1 15 ? 0.861 -1.991 -26.583 1.00 65.92 108 A 1 +ATOM 117 N N . GLN B 1 16 ? -2.221 2.739 -24.349 1.00 49.74 109 A 1 +ATOM 118 C CA . GLN B 1 16 ? -1.810 3.511 -23.193 1.00 47.85 109 A 1 +ATOM 119 C C . GLN B 1 16 ? -2.993 3.774 -22.279 1.00 48.41 109 A 1 +ATOM 120 O O . GLN B 1 16 ? -2.898 3.560 -21.091 1.00 46.33 109 A 1 +ATOM 121 C CB . GLN B 1 16 ? -1.209 4.809 -23.611 1.00 49.18 109 A 1 +ATOM 122 C CG . GLN B 1 16 ? 0.208 4.681 -24.112 1.00 53.75 109 A 1 +ATOM 123 C CD . GLN B 1 16 ? 0.618 5.857 -24.974 1.00 61.24 109 A 1 +ATOM 124 O OE1 . GLN B 1 16 ? -0.145 6.791 -25.159 1.00 69.70 109 A 1 +ATOM 125 N NE2 . GLN B 1 16 ? 1.786 5.782 -25.546 1.00 63.00 109 A 1 +ATOM 126 N N . LEU B 1 17 ? -4.098 4.266 -22.817 1.00 45.61 110 A 1 +ATOM 127 C CA . LEU B 1 17 ? -5.278 4.506 -22.010 1.00 41.80 110 A 1 +ATOM 128 C C . LEU B 1 17 ? -5.848 3.244 -21.329 1.00 44.01 110 A 1 +ATOM 129 O O . LEU B 1 17 ? -6.378 3.314 -20.232 1.00 49.63 110 A 1 +ATOM 130 C CB . LEU B 1 17 ? -6.380 5.133 -22.818 1.00 41.83 110 A 1 +ATOM 131 C CG . LEU B 1 17 ? -6.545 6.610 -23.075 1.00 44.57 110 A 1 +ATOM 132 C CD1 . LEU B 1 17 ? -6.481 7.448 -21.815 1.00 46.53 110 A 1 +ATOM 133 C CD2 . LEU B 1 17 ? -5.534 7.076 -24.054 1.00 46.70 110 A 1 +ATOM 134 N N . GLU B 1 18 ? -5.724 2.085 -21.974 1.00 48.92 111 A 1 +ATOM 135 C CA . GLU B 1 18 ? -6.176 0.854 -21.354 1.00 50.45 111 A 1 +ATOM 136 C C . GLU B 1 18 ? -5.278 0.446 -20.173 1.00 50.00 111 A 1 +ATOM 137 O O . GLU B 1 18 ? -5.748 -0.088 -19.155 1.00 52.97 111 A 1 +ATOM 138 C CB . GLU B 1 18 ? -6.361 -0.236 -22.405 1.00 54.05 111 A 1 +ATOM 139 C CG . GLU B 1 18 ? -7.693 -0.095 -23.112 1.00 59.57 111 A 1 +ATOM 140 C CD . GLU B 1 18 ? -7.804 -0.858 -24.438 1.00 68.03 111 A 1 +ATOM 141 O OE1 . GLU B 1 18 ? -6.834 -1.521 -24.893 1.00 73.96 111 A 1 +ATOM 142 O OE2 . GLU B 1 18 ? -8.896 -0.808 -25.069 1.00 73.24 111 A 1 +ATOM 143 N N . MET B 1 19 ? -4.000 0.760 -20.284 1.00 48.79 112 A 1 +ATOM 144 C CA . MET B 1 19 ? -3.094 0.512 -19.186 1.00 52.15 112 A 1 +ATOM 145 C C . MET B 1 19 ? -3.371 1.430 -18.007 1.00 47.91 112 A 1 +ATOM 146 O O . MET B 1 19 ? -3.429 0.986 -16.872 1.00 45.58 112 A 1 +ATOM 147 C CB . MET B 1 19 ? -1.653 0.667 -19.617 1.00 54.11 112 A 1 +ATOM 148 C CG . MET B 1 19 ? -1.053 -0.654 -20.052 1.00 58.96 112 A 1 +ATOM 149 S SD . MET B 1 19 ? 0.471 -0.323 -20.923 1.00 65.09 112 A 1 +ATOM 150 C CE . MET B 1 19 ? 1.501 -0.237 -19.466 1.00 67.56 112 A 1 +ATOM 151 N N . ILE B 1 20 ? -3.541 2.711 -18.297 1.00 43.25 113 A 1 +ATOM 152 C CA . ILE B 1 20 ? -3.900 3.677 -17.287 1.00 40.09 113 A 1 +ATOM 153 C C . ILE B 1 20 ? -5.165 3.240 -16.596 1.00 40.28 113 A 1 +ATOM 154 O O . ILE B 1 20 ? -5.297 3.383 -15.395 1.00 41.67 113 A 1 +ATOM 155 C CB . ILE B 1 20 ? -4.079 5.077 -17.885 1.00 41.26 113 A 1 +ATOM 156 C CG1 . ILE B 1 20 ? -2.700 5.633 -18.275 1.00 39.56 113 A 1 +ATOM 157 C CG2 . ILE B 1 20 ? -4.715 6.029 -16.880 1.00 44.72 113 A 1 +ATOM 158 C CD1 . ILE B 1 20 ? -2.722 6.963 -19.009 1.00 37.40 113 A 1 +ATOM 159 N N . ASP B 1 21 ? -6.096 2.680 -17.346 1.00 41.39 114 A 1 +ATOM 160 C CA . ASP B 1 21 ? -7.302 2.201 -16.728 1.00 46.35 114 A 1 +ATOM 161 C C . ASP B 1 21 ? -7.074 1.044 -15.762 1.00 45.76 114 A 1 +ATOM 162 O O . ASP B 1 21 ? -7.662 1.035 -14.682 1.00 43.56 114 A 1 +ATOM 163 C CB . ASP B 1 21 ? -8.272 1.734 -17.759 1.00 51.71 114 A 1 +ATOM 164 C CG . ASP B 1 21 ? -9.647 1.640 -17.208 1.00 60.74 114 A 1 +ATOM 165 O OD1 . ASP B 1 21 ? -10.153 2.682 -16.742 1.00 68.50 114 A 1 +ATOM 166 O OD2 . ASP B 1 21 ? -10.199 0.528 -17.210 1.00 73.36 114 A 1 +ATOM 167 N N . LYS B 1 22 ? -6.258 0.070 -16.178 1.00 47.51 115 A 1 +ATOM 168 C CA . LYS B 1 22 ? -5.942 -1.062 -15.321 1.00 50.59 115 A 1 +ATOM 169 C C . LYS B 1 22 ? -5.255 -0.563 -14.028 1.00 52.11 115 A 1 +ATOM 170 O O . LYS B 1 22 ? -5.648 -0.941 -12.919 1.00 55.27 115 A 1 +ATOM 171 C CB . LYS B 1 22 ? -5.085 -2.111 -16.025 1.00 52.86 115 A 1 +ATOM 172 C CG . LYS B 1 22 ? -5.829 -3.010 -17.008 1.00 57.80 115 A 1 +ATOM 173 N N . LEU B 1 23 ? -4.266 0.312 -14.176 1.00 48.62 116 A 1 +ATOM 174 C CA . LEU B 1 23 ? -3.594 0.880 -13.039 1.00 44.80 116 A 1 +ATOM 175 C C . LEU B 1 23 ? -4.511 1.665 -12.106 1.00 44.04 116 A 1 +ATOM 176 O O . LEU B 1 23 ? -4.412 1.565 -10.897 1.00 41.22 116 A 1 +ATOM 177 C CB . LEU B 1 23 ? -2.492 1.781 -13.511 1.00 43.26 116 A 1 +ATOM 178 C CG . LEU B 1 23 ? -1.353 1.039 -14.177 1.00 45.18 116 A 1 +ATOM 179 C CD1 . LEU B 1 23 ? -0.449 2.064 -14.839 1.00 45.01 116 A 1 +ATOM 180 C CD2 . LEU B 1 23 ? -0.582 0.210 -13.156 1.00 45.90 116 A 1 +ATOM 181 N N . THR B 1 24 ? -5.402 2.445 -12.674 1.00 49.17 117 A 1 +ATOM 182 C CA . THR B 1 24 ? -6.382 3.155 -11.886 1.00 49.60 117 A 1 +ATOM 183 C C . THR B 1 24 ? -7.250 2.198 -11.085 1.00 51.60 117 A 1 +ATOM 184 O O . THR B 1 24 ? -7.503 2.441 -9.918 1.00 50.82 117 A 1 +ATOM 185 C CB . THR B 1 24 ? -7.248 4.024 -12.811 1.00 54.67 117 A 1 +ATOM 186 O OG1 . THR B 1 24 ? -6.463 5.126 -13.253 1.00 58.01 117 A 1 +ATOM 187 C CG2 . THR B 1 24 ? -8.464 4.559 -12.141 1.00 57.77 117 A 1 +ATOM 188 N N . THR B 1 25 ? -7.718 1.116 -11.704 1.00 53.09 118 A 1 +ATOM 189 C CA . THR B 1 25 ? -8.495 0.117 -10.981 1.00 50.55 118 A 1 +ATOM 190 C C . THR B 1 25 ? -7.709 -0.503 -9.820 1.00 49.50 118 A 1 +ATOM 191 O O . THR B 1 25 ? -8.267 -0.695 -8.720 1.00 50.25 118 A 1 +ATOM 192 C CB . THR B 1 25 ? -8.933 -0.983 -11.947 1.00 53.52 118 A 1 +ATOM 193 O OG1 . THR B 1 25 ? -9.796 -0.396 -12.916 1.00 60.17 118 A 1 +ATOM 194 C CG2 . THR B 1 25 ? -9.619 -2.127 -11.260 1.00 58.18 118 A 1 +ATOM 195 N N . ARG B 1 26 ? -6.447 -0.762 -10.054 1.00 48.62 119 A 1 +ATOM 196 C CA . ARG B 1 26 ? -5.575 -1.319 -9.076 1.00 52.29 119 A 1 +ATOM 197 C C . ARG B 1 26 ? -5.362 -0.349 -7.936 1.00 56.15 119 A 1 +ATOM 198 O O . ARG B 1 26 ? -5.203 -0.758 -6.818 1.00 60.08 119 A 1 +ATOM 199 C CB . ARG B 1 26 ? -4.262 -1.609 -9.738 1.00 57.25 119 A 1 +ATOM 200 C CG . ARG B 1 26 ? -4.341 -2.608 -10.845 1.00 67.09 119 A 1 +ATOM 201 C CD . ARG B 1 26 ? -4.671 -3.974 -10.307 1.00 78.77 119 A 1 +ATOM 202 N NE . ARG B 1 26 ? -4.743 -4.923 -11.390 1.00 95.96 119 A 1 +ATOM 203 C CZ . ARG B 1 26 ? -3.703 -5.558 -11.900 1.00 111.57 119 A 1 +ATOM 204 N NH1 . ARG B 1 26 ? -3.881 -6.412 -12.892 1.00 120.54 119 A 1 +ATOM 205 N NH2 . ARG B 1 26 ? -2.494 -5.350 -11.417 1.00 114.95 119 A 1 +ATOM 206 N N . GLY B 1 27 ? -5.312 0.940 -8.241 1.00 57.29 120 A 1 +ATOM 207 C CA . GLY B 1 27 ? -5.176 2.005 -7.265 1.00 55.03 120 A 1 +ATOM 208 C C . GLY B 1 27 ? -6.391 2.105 -6.381 1.00 51.16 120 A 1 +ATOM 209 O O . GLY B 1 27 ? -6.273 2.252 -5.174 1.00 48.31 120 A 1 +ATOM 210 N N . ILE B 1 28 ? -7.570 1.983 -6.973 1.00 48.29 121 A 1 +ATOM 211 C CA . ILE B 1 28 ? -8.807 2.040 -6.198 1.00 51.59 121 A 1 +ATOM 212 C C . ILE B 1 28 ? -8.893 0.889 -5.227 1.00 54.18 121 A 1 +ATOM 213 O O . ILE B 1 28 ? -9.376 1.068 -4.118 1.00 53.53 121 A 1 +ATOM 214 C CB . ILE B 1 28 ? -10.053 2.141 -7.095 1.00 55.27 121 A 1 +ATOM 215 C CG1 . ILE B 1 28 ? -10.187 3.601 -7.621 1.00 55.95 121 A 1 +ATOM 216 C CG2 . ILE B 1 28 ? -11.306 1.807 -6.320 1.00 61.76 121 A 1 +ATOM 217 C CD1 . ILE B 1 28 ? -11.126 3.822 -8.793 1.00 55.74 121 A 1 +ATOM 218 N N . GLU B 1 29 ? -8.420 -0.273 -5.627 1.00 61.84 122 A 1 +ATOM 219 C CA . GLU B 1 29 ? -8.319 -1.378 -4.700 1.00 67.68 122 A 1 +ATOM 220 C C . GLU B 1 29 ? -7.415 -1.069 -3.537 1.00 65.03 122 A 1 +ATOM 221 O O . GLU B 1 29 ? -7.791 -1.331 -2.393 1.00 64.70 122 A 1 +ATOM 222 C CB . GLU B 1 29 ? -7.868 -2.634 -5.431 1.00 78.78 122 A 1 +ATOM 223 C CG . GLU B 1 29 ? -9.069 -3.428 -5.962 1.00 86.76 122 A 1 +ATOM 224 C CD . GLU B 1 29 ? -8.878 -4.019 -7.353 1.00 87.49 122 A 1 +ATOM 225 O OE1 . GLU B 1 29 ? -7.768 -4.558 -7.636 1.00 84.73 122 A 1 +ATOM 226 O OE2 . GLU B 1 29 ? -9.870 -3.959 -8.121 1.00 77.87 122 A 1 +ATOM 227 N N . GLN B 1 30 ? -6.256 -0.484 -3.829 1.00 59.57 123 A 1 +ATOM 228 C CA . GLN B 1 30 ? -5.315 -0.084 -2.773 1.00 55.23 123 A 1 +ATOM 229 C C . GLN B 1 30 ? -5.910 0.955 -1.841 1.00 51.86 123 A 1 +ATOM 230 O O . GLN B 1 30 ? -5.662 0.942 -0.653 1.00 44.12 123 A 1 +ATOM 231 C CB . GLN B 1 30 ? -4.037 0.514 -3.362 1.00 55.92 123 A 1 +ATOM 232 C CG . GLN B 1 30 ? -3.221 -0.371 -4.262 1.00 61.37 123 A 1 +ATOM 233 C CD . GLN B 1 30 ? -2.863 -1.664 -3.614 1.00 62.35 123 A 1 +ATOM 234 O OE1 . GLN B 1 30 ? -2.326 -1.663 -2.512 1.00 63.09 123 A 1 +ATOM 235 N NE2 . GLN B 1 30 ? -3.188 -2.787 -4.276 1.00 70.63 123 A 1 +ATOM 236 N N . VAL B 1 31 ? -6.703 1.858 -2.386 1.00 57.05 124 A 1 +ATOM 237 C CA . VAL B 1 31 ? -7.323 2.883 -1.569 1.00 56.37 124 A 1 +ATOM 238 C C . VAL B 1 31 ? -8.333 2.246 -0.629 1.00 61.68 124 A 1 +ATOM 239 O O . VAL B 1 31 ? -8.461 2.699 0.470 1.00 58.51 124 A 1 +ATOM 240 C CB . VAL B 1 31 ? -7.969 3.950 -2.456 1.00 57.06 124 A 1 +ATOM 241 C CG1 . VAL B 1 31 ? -9.007 4.756 -1.702 1.00 58.79 124 A 1 +ATOM 242 C CG2 . VAL B 1 31 ? -6.871 4.864 -2.974 1.00 58.78 124 A 1 +ATOM 243 N N . GLU B 1 32 ? -9.044 1.205 -1.068 1.00 67.95 125 A 1 +ATOM 244 C CA . GLU B 1 32 ? -9.940 0.481 -0.175 1.00 64.07 125 A 1 +ATOM 245 C C . GLU B 1 32 ? -9.140 -0.246 0.887 1.00 61.43 125 A 1 +ATOM 246 O O . GLU B 1 32 ? -9.521 -0.248 2.049 1.00 58.85 125 A 1 +ATOM 247 C CB . GLU B 1 32 ? -10.821 -0.511 -0.911 1.00 70.57 125 A 1 +ATOM 248 C CG . GLU B 1 32 ? -11.844 0.047 -1.875 1.00 81.60 125 A 1 +ATOM 249 C CD . GLU B 1 32 ? -12.772 1.105 -1.306 1.00 92.01 125 A 1 +ATOM 250 O OE1 . GLU B 1 32 ? -13.833 0.773 -0.713 1.00 101.96 125 A 1 +ATOM 251 O OE2 . GLU B 1 32 ? -12.392 2.286 -1.482 1.00 95.64 125 A 1 +ATOM 252 N N . LEU B 1 33 ? -8.042 -0.849 0.489 1.00 55.72 126 A 1 +ATOM 253 C CA . LEU B 1 33 ? -7.201 -1.483 1.447 1.00 58.91 126 A 1 +ATOM 254 C C . LEU B 1 33 ? -6.628 -0.487 2.476 1.00 56.58 126 A 1 +ATOM 255 O O . LEU B 1 33 ? -6.271 -0.829 3.592 1.00 59.20 126 A 1 +ATOM 256 C CB . LEU B 1 33 ? -6.089 -2.149 0.676 1.00 63.68 126 A 1 +ATOM 257 C CG . LEU B 1 33 ? -5.181 -3.155 1.283 1.00 71.88 126 A 1 +ATOM 258 C CD1 . LEU B 1 33 ? -4.453 -3.972 0.195 1.00 73.91 126 A 1 +ATOM 259 C CD2 . LEU B 1 33 ? -4.179 -2.480 2.169 1.00 75.78 126 A 1 +ATOM 260 N N . LEU B 1 34 ? -6.482 0.743 2.064 1.00 51.59 127 A 1 +ATOM 261 C CA . LEU B 1 34 ? -6.054 1.821 2.952 1.00 47.43 127 A 1 +ATOM 262 C C . LEU B 1 34 ? -7.162 2.293 3.867 1.00 49.18 127 A 1 +ATOM 263 O O . LEU B 1 34 ? -6.917 2.748 4.956 1.00 48.29 127 A 1 +ATOM 264 C CB . LEU B 1 34 ? -5.537 2.996 2.165 1.00 43.17 127 A 1 +ATOM 265 C CG . LEU B 1 34 ? -4.031 2.968 1.890 1.00 42.73 127 A 1 +ATOM 266 C CD1 . LEU B 1 34 ? -3.630 4.313 1.305 1.00 42.46 127 A 1 +ATOM 267 C CD2 . LEU B 1 34 ? -3.088 2.610 3.005 1.00 43.31 127 A 1 +ATOM 268 N N . LYS B 1 35 ? -8.399 2.214 3.408 1.00 52.51 128 A 1 +ATOM 269 C CA . LYS B 1 35 ? -9.553 2.535 4.233 1.00 52.46 128 A 1 +ATOM 270 C C . LYS B 1 35 ? -9.710 1.492 5.330 1.00 53.78 128 A 1 +ATOM 271 O O . LYS B 1 35 ? -10.040 1.823 6.442 1.00 47.30 128 A 1 +ATOM 272 C CB . LYS B 1 35 ? -10.830 2.641 3.381 1.00 54.62 128 A 1 +ATOM 273 C CG . LYS B 1 35 ? -12.138 2.251 4.078 1.00 59.22 128 A 1 +ATOM 274 N N . ARG B 1 36 ? -9.454 0.236 4.997 1.00 56.56 129 A 1 +ATOM 275 C CA . ARG B 1 36 ? -9.471 -0.853 5.953 1.00 60.75 129 A 1 +ATOM 276 C C . ARG B 1 36 ? -8.392 -0.650 7.014 1.00 59.48 129 A 1 +ATOM 277 O O . ARG B 1 36 ? -8.620 -0.927 8.185 1.00 63.52 129 A 1 +ATOM 278 C CB . ARG B 1 36 ? -9.292 -2.210 5.247 1.00 65.76 129 A 1 +ATOM 279 C CG . ARG B 1 36 ? -10.535 -2.769 4.547 1.00 68.71 129 A 1 +ATOM 280 C CD . ARG B 1 36 ? -10.167 -3.835 3.488 1.00 67.67 129 A 1 +ATOM 281 N N . ILE B 1 37 ? -7.221 -0.161 6.611 1.00 54.56 130 A 1 +ATOM 282 C CA . ILE B 1 37 ? -6.140 0.129 7.539 1.00 49.62 130 A 1 +ATOM 283 C C . ILE B 1 37 ? -6.541 1.250 8.466 1.00 49.00 130 A 1 +ATOM 284 O O . ILE B 1 37 ? -6.319 1.155 9.647 1.00 47.20 130 A 1 +ATOM 285 C CB . ILE B 1 37 ? -4.839 0.472 6.806 1.00 51.01 130 A 1 +ATOM 286 C CG1 . ILE B 1 37 ? -4.243 -0.830 6.231 1.00 57.41 130 A 1 +ATOM 287 C CG2 . ILE B 1 37 ? -3.851 1.181 7.755 1.00 49.06 130 A 1 +ATOM 288 C CD1 . ILE B 1 37 ? -2.922 -0.695 5.533 1.00 59.59 130 A 1 +ATOM 289 N N . HIS B 1 38 ? -7.179 2.276 7.957 1.00 50.21 131 A 1 +ATOM 290 C CA . HIS B 1 38 ? -7.618 3.356 8.797 1.00 53.53 131 A 1 +ATOM 291 C C . HIS B 1 38 ? -8.670 2.891 9.780 1.00 62.35 131 A 1 +ATOM 292 O O . HIS B 1 38 ? -8.744 3.378 10.880 1.00 61.76 131 A 1 +ATOM 293 C CB . HIS B 1 38 ? -8.175 4.452 7.947 1.00 51.42 131 A 1 +ATOM 294 C CG . HIS B 1 38 ? -9.034 5.412 8.688 1.00 54.14 131 A 1 +ATOM 295 N ND1 . HIS B 1 38 ? -10.380 5.221 8.850 1.00 59.92 131 A 1 +ATOM 296 C CD2 . HIS B 1 38 ? -8.749 6.586 9.283 1.00 55.36 131 A 1 +ATOM 297 C CE1 . HIS B 1 38 ? -10.887 6.229 9.522 1.00 62.46 131 A 1 +ATOM 298 N NE2 . HIS B 1 38 ? -9.918 7.073 9.795 1.00 61.48 131 A 1 +ATOM 299 N N . ASP B 1 39 ? -9.476 1.928 9.394 1.00 63.84 132 A 1 +ATOM 300 C CA . ASP B 1 39 ? -10.480 1.421 10.286 1.00 65.95 132 A 1 +ATOM 301 C C . ASP B 1 39 ? -9.837 0.648 11.420 1.00 61.61 132 A 1 +ATOM 302 O O . ASP B 1 39 ? -10.164 0.840 12.551 1.00 56.16 132 A 1 +ATOM 303 C CB . ASP B 1 39 ? -11.456 0.577 9.509 1.00 73.60 132 A 1 +ATOM 304 C CG . ASP B 1 39 ? -12.373 1.404 8.658 1.00 76.60 132 A 1 +ATOM 305 O OD1 . ASP B 1 39 ? -12.277 2.631 8.703 1.00 70.60 132 A 1 +ATOM 306 O OD2 . ASP B 1 39 ? -13.195 0.833 7.937 1.00 81.44 132 A 1 +ATOM 307 N N . LYS B 1 40 ? -8.926 -0.245 11.106 1.00 59.87 133 A 1 +ATOM 308 C CA . LYS B 1 40 ? -8.191 -0.985 12.129 1.00 59.13 133 A 1 +ATOM 309 C C . LYS B 1 40 ? -7.573 -0.021 13.157 1.00 58.88 133 A 1 +ATOM 310 O O . LYS B 1 40 ? -7.579 -0.267 14.361 1.00 63.83 133 A 1 +ATOM 311 C CB . LYS B 1 40 ? -7.093 -1.864 11.503 1.00 58.69 133 A 1 +ATOM 312 C CG . LYS B 1 40 ? -7.577 -3.018 10.646 1.00 62.42 133 A 1 +ATOM 313 C CD . LYS B 1 40 ? -6.463 -3.844 9.987 1.00 62.93 133 A 1 +ATOM 314 N N . LEU B 1 41 ? -7.038 1.086 12.674 1.00 60.19 134 A 1 +ATOM 315 C CA . LEU B 1 41 ? -6.454 2.092 13.561 1.00 62.93 134 A 1 +ATOM 316 C C . LEU B 1 41 ? -7.487 2.707 14.452 1.00 63.64 134 A 1 +ATOM 317 O O . LEU B 1 41 ? -7.205 2.982 15.605 1.00 73.06 134 A 1 +ATOM 318 C CB . LEU B 1 41 ? -5.765 3.197 12.764 1.00 64.98 134 A 1 +ATOM 319 C CG . LEU B 1 41 ? -4.531 2.611 12.036 1.00 68.88 134 A 1 +ATOM 320 C CD1 . LEU B 1 41 ? -4.332 3.201 10.638 1.00 78.49 134 A 1 +ATOM 321 C CD2 . LEU B 1 41 ? -3.301 2.685 12.900 1.00 67.40 134 A 1 +ATOM 322 N N . MET B 1 42 ? -8.669 2.955 13.913 1.00 63.76 135 A 1 +ATOM 323 C CA . MET B 1 42 ? -9.752 3.512 14.704 1.00 67.57 135 A 1 +ATOM 324 C C . MET B 1 42 ? -10.186 2.561 15.817 1.00 72.44 135 A 1 +ATOM 325 O O . MET B 1 42 ? -10.413 2.985 16.975 1.00 66.48 135 A 1 +ATOM 326 C CB . MET B 1 42 ? -10.932 3.853 13.816 1.00 69.82 135 A 1 +ATOM 327 C CG . MET B 1 42 ? -10.710 5.112 13.020 1.00 74.54 135 A 1 +ATOM 328 S SD . MET B 1 42 ? -10.062 6.547 13.958 1.00 82.27 135 A 1 +ATOM 329 C CE . MET B 1 42 ? -11.073 6.663 15.446 1.00 83.33 135 A 1 +ATOM 330 N N . ILE B 1 43 ? -10.271 1.274 15.477 1.00 81.93 136 A 1 +ATOM 331 C CA . ILE B 1 43 ? -10.594 0.243 16.446 1.00 79.15 136 A 1 +ATOM 332 C C . ILE B 1 43 ? -9.526 0.183 17.546 1.00 79.65 136 A 1 +ATOM 333 O O . ILE B 1 43 ? -9.854 0.128 18.719 1.00 82.01 136 A 1 +ATOM 334 C CB . ILE B 1 43 ? -10.781 -1.129 15.738 1.00 80.39 136 A 1 +ATOM 335 C CG1 . ILE B 1 43 ? -12.176 -1.237 15.090 1.00 78.84 136 A 1 +ATOM 336 C CG2 . ILE B 1 43 ? -10.586 -2.294 16.708 1.00 84.53 136 A 1 +ATOM 337 C CD1 . ILE B 1 43 ? -12.480 -0.642 13.720 1.00 74.74 136 A 1 +ATOM 338 N N . ARG B 1 44 ? -8.250 0.200 17.158 1.00 85.15 137 A 1 +ATOM 339 C CA . ARG B 1 44 ? -7.131 0.216 18.111 1.00 90.78 137 A 1 +ATOM 340 C C . ARG B 1 44 ? -7.103 1.498 18.957 1.00 91.00 137 A 1 +ATOM 341 O O . ARG B 1 44 ? -6.632 1.453 20.068 1.00 96.79 137 A 1 +ATOM 342 C CB . ARG B 1 44 ? -5.803 0.033 17.373 1.00 95.82 137 A 1 +ATOM 343 C CG . ARG B 1 44 ? -4.883 -1.005 17.902 1.00 101.09 137 A 1 +ATOM 344 C CD . ARG B 1 44 ? -3.772 -1.099 16.880 1.00 107.64 137 A 1 +ATOM 345 N NE . ARG B 1 44 ? -2.978 -2.299 17.060 1.00 124.71 137 A 1 +ATOM 346 C CZ . ARG B 1 44 ? -2.237 -2.882 16.112 1.00 137.30 137 A 1 +ATOM 347 N NH1 . ARG B 1 44 ? -2.186 -2.387 14.871 1.00 128.35 137 A 1 +ATOM 348 N NH2 . ARG B 1 44 ? -1.533 -3.990 16.400 1.00 147.87 137 A 1 +ATOM 349 N N . ALA B 1 45 ? -7.688 2.601 18.506 1.00 92.41 138 A 1 +ATOM 350 C CA . ALA B 1 45 ? -7.783 3.810 19.381 1.00 96.29 138 A 1 +ATOM 351 C C . ALA B 1 45 ? -8.773 4.837 18.851 1.00 95.46 138 A 1 +ATOM 352 O O . ALA B 1 45 ? -8.386 5.847 18.235 1.00 81.53 138 A 1 +ATOM 353 C CB . ALA B 1 45 ? -6.408 4.475 19.603 1.00 97.91 138 A 1 +# diff --git a/src/alphafold3/test_data/miniature_databases/pdb_mmcif/6s61.cif b/src/alphafold3/test_data/miniature_databases/pdb_mmcif/6s61.cif new file mode 100644 index 0000000000000000000000000000000000000000..b762402006f21a7318791798e392ed19a89e10b5 --- /dev/null +++ b/src/alphafold3/test_data/miniature_databases/pdb_mmcif/6s61.cif @@ -0,0 +1,3293 @@ +data_6S61 +# +_entry.id 6S61 +# +loop_ +_chem_comp.formula +_chem_comp.formula_weight +_chem_comp.id +_chem_comp.mon_nstd_flag +_chem_comp.name +_chem_comp.pdbx_synonyms +_chem_comp.type +"C3 H7 N O2" 89.093 ALA y ALANINE ? "L-peptide linking" +"C6 H15 N4 O2 1" 175.209 ARG y ARGININE ? "L-peptide linking" +"C4 H8 N2 O3" 132.118 ASN y ASPARAGINE ? "L-peptide linking" +"C4 H7 N O4" 133.103 ASP y "ASPARTIC ACID" ? "L-peptide linking" +"C3 H7 N O2 S" 121.158 CYS y CYSTEINE ? "L-peptide linking" +"Fe 3" 55.845 FE . "FE (III) ION" ? non-polymer +"C5 H10 N2 O3" 146.144 GLN y GLUTAMINE ? "L-peptide linking" +"C5 H9 N O4" 147.129 GLU y "GLUTAMIC ACID" ? "L-peptide linking" +"C2 H5 N O2" 75.067 GLY y GLYCINE ? "peptide linking" +"C6 H10 N3 O2 1" 156.162 HIS y HISTIDINE ? "L-peptide linking" +"H2 O" 18.015 HOH . WATER ? non-polymer +"C6 H13 N O2" 131.173 ILE y ISOLEUCINE ? "L-peptide linking" +"C6 H13 N O2" 131.173 LEU y LEUCINE ? "L-peptide linking" +"C6 H15 N2 O2 1" 147.195 LYS y LYSINE ? "L-peptide linking" +"C5 H11 N O2 S" 149.211 MET y METHIONINE ? "L-peptide linking" +"C9 H11 N O2" 165.189 PHE y PHENYLALANINE ? "L-peptide linking" +"C5 H9 N O2" 115.130 PRO y PROLINE ? "L-peptide linking" +"C3 H7 N O3" 105.093 SER y SERINE ? "L-peptide linking" +"C4 H9 N O3" 119.119 THR y THREONINE ? "L-peptide linking" +"C11 H12 N2 O2" 204.225 TRP y TRYPTOPHAN ? "L-peptide linking" +"C9 H11 N O3" 181.189 TYR y TYROSINE ? "L-peptide linking" +"C5 H11 N O2" 117.146 VAL y VALINE ? "L-peptide linking" +"Zn 2" 65.409 ZN . "ZINC ION" ? non-polymer +# +loop_ +_entity.id +_entity.pdbx_description +_entity.type +1 "Ferritin heavy chain" polymer +3 "ZINC ION" non-polymer +# +_entity_poly.entity_id 1 +_entity_poly.pdbx_strand_id M +_entity_poly.type polypeptide(L) +# +loop_ +_entity_poly_seq.entity_id +_entity_poly_seq.hetero +_entity_poly_seq.mon_id +_entity_poly_seq.num +1 n MET 1 +1 n THR 2 +1 n THR 3 +1 n ALA 4 +1 n SER 5 +1 n PRO 6 +1 n SER 7 +1 n GLN 8 +1 n VAL 9 +1 n ARG 10 +1 n GLN 11 +1 n ASN 12 +1 n TYR 13 +1 n HIS 14 +1 n GLN 15 +1 n ASP 16 +1 n ALA 17 +1 n GLU 18 +1 n ALA 19 +1 n ALA 20 +1 n ILE 21 +1 n ASN 22 +1 n ARG 23 +1 n GLN 24 +1 n ILE 25 +1 n ASN 26 +1 n LEU 27 +1 n GLU 28 +1 n LEU 29 +1 n TYR 30 +1 n ALA 31 +1 n SER 32 +1 n TYR 33 +1 n VAL 34 +1 n TYR 35 +1 n LEU 36 +1 n SER 37 +1 n MET 38 +1 n SER 39 +1 n CYS 40 +1 n TYR 41 +1 n PHE 42 +1 n ASP 43 +1 n ARG 44 +1 n ASP 45 +1 n ASP 46 +1 n VAL 47 +1 n ALA 48 +1 n LEU 49 +1 n LYS 50 +1 n ASN 51 +1 n PHE 52 +1 n ALA 53 +1 n LYS 54 +1 n TYR 55 +1 n PHE 56 +1 n LEU 57 +1 n HIS 58 +1 n GLN 59 +1 n SER 60 +1 n HIS 61 +1 n GLU 62 +1 n GLU 63 +1 n ARG 64 +1 n GLU 65 +1 n HIS 66 +1 n ALA 67 +1 n GLU 68 +1 n LYS 69 +1 n LEU 70 +1 n MET 71 +1 n LYS 72 +1 n LEU 73 +1 n GLN 74 +1 n ASN 75 +1 n GLN 76 +1 n ARG 77 +1 n GLY 78 +1 n GLY 79 +1 n ARG 80 +1 n ILE 81 +1 n PHE 82 +1 n LEU 83 +1 n GLN 84 +1 n ASP 85 +1 n ILE 86 +1 n LYS 87 +1 n LYS 88 +1 n PRO 89 +1 n ASP 90 +1 n ARG 91 +1 n ASP 92 +1 n ASP 93 +1 n TRP 94 +1 n GLU 95 +1 n SER 96 +1 n GLY 97 +1 n LEU 98 +1 n ASN 99 +1 n ALA 100 +1 n MET 101 +1 n GLU 102 +1 n CYS 103 +1 n ALA 104 +1 n LEU 105 +1 n HIS 106 +1 n LEU 107 +1 n GLU 108 +1 n LYS 109 +1 n SER 110 +1 n VAL 111 +1 n ASN 112 +1 n GLN 113 +1 n SER 114 +1 n LEU 115 +1 n LEU 116 +1 n GLU 117 +1 n LEU 118 +1 n HIS 119 +1 n LYS 120 +1 n LEU 121 +1 n ALA 122 +1 n THR 123 +1 n ASP 124 +1 n LYS 125 +1 n ASN 126 +1 n ASP 127 +1 n PRO 128 +1 n HIS 129 +1 n LEU 130 +1 n CYS 131 +1 n ASP 132 +1 n PHE 133 +1 n ILE 134 +1 n GLU 135 +1 n THR 136 +1 n TYR 137 +1 n TYR 138 +1 n LEU 139 +1 n SER 140 +1 n GLU 141 +1 n GLN 142 +1 n VAL 143 +1 n LYS 144 +1 n SER 145 +1 n ILE 146 +1 n LYS 147 +1 n GLU 148 +1 n LEU 149 +1 n GLY 150 +1 n ASP 151 +1 n HIS 152 +1 n VAL 153 +1 n THR 154 +1 n ASN 155 +1 n LEU 156 +1 n ARG 157 +1 n LYS 158 +1 n MET 159 +1 n GLY 160 +1 n ALA 161 +1 n PRO 162 +1 n GLU 163 +1 n ALA 164 +1 n GLY 165 +1 n MET 166 +1 n ALA 167 +1 n GLU 168 +1 n TYR 169 +1 n LEU 170 +1 n PHE 171 +1 n ASP 172 +1 n LYS 173 +1 n HIS 174 +1 n THR 175 +1 n LEU 176 +1 n GLY 177 +1 n HIS 178 +1 n GLY 179 +1 n ASP 180 +1 n GLU 181 +1 n SER 182 +# +_exptl.method "ELECTRON MICROSCOPY" +# +_pdbx_audit_revision_history.revision_date 2019-07-10 +# +_pdbx_database_status.recvd_initial_deposition_date 2019-07-10 +# +_pdbx_nonpoly_scheme.asym_id PA +_pdbx_nonpoly_scheme.auth_seq_num 201 +_pdbx_nonpoly_scheme.entity_id 3 +_pdbx_nonpoly_scheme.mon_id ZN +_pdbx_nonpoly_scheme.pdb_ins_code . +_pdbx_nonpoly_scheme.pdb_seq_num 201 +_pdbx_nonpoly_scheme.pdb_strand_id M +# +loop_ +_pdbx_poly_seq_scheme.asym_id +_pdbx_poly_seq_scheme.auth_seq_num +_pdbx_poly_seq_scheme.entity_id +_pdbx_poly_seq_scheme.hetero +_pdbx_poly_seq_scheme.mon_id +_pdbx_poly_seq_scheme.pdb_ins_code +_pdbx_poly_seq_scheme.pdb_seq_num +_pdbx_poly_seq_scheme.pdb_strand_id +_pdbx_poly_seq_scheme.seq_id +M ? 1 n MET . 0 M 1 +M ? 1 n THR . 1 M 2 +M ? 1 n THR . 2 M 3 +M ? 1 n ALA . 3 M 4 +M ? 1 n SER . 4 M 5 +M 5 1 n PRO . 5 M 6 +M 6 1 n SER . 6 M 7 +M 7 1 n GLN . 7 M 8 +M 8 1 n VAL . 8 M 9 +M 9 1 n ARG . 9 M 10 +M 10 1 n GLN . 10 M 11 +M 11 1 n ASN . 11 M 12 +M 12 1 n TYR . 12 M 13 +M 13 1 n HIS . 13 M 14 +M 14 1 n GLN . 14 M 15 +M 15 1 n ASP . 15 M 16 +M 16 1 n ALA . 16 M 17 +M 17 1 n GLU . 17 M 18 +M 18 1 n ALA . 18 M 19 +M 19 1 n ALA . 19 M 20 +M 20 1 n ILE . 20 M 21 +M 21 1 n ASN . 21 M 22 +M 22 1 n ARG . 22 M 23 +M 23 1 n GLN . 23 M 24 +M 24 1 n ILE . 24 M 25 +M 25 1 n ASN . 25 M 26 +M 26 1 n LEU . 26 M 27 +M 27 1 n GLU . 27 M 28 +M 28 1 n LEU . 28 M 29 +M 29 1 n TYR . 29 M 30 +M 30 1 n ALA . 30 M 31 +M 31 1 n SER . 31 M 32 +M 32 1 n TYR . 32 M 33 +M 33 1 n VAL . 33 M 34 +M 34 1 n TYR . 34 M 35 +M 35 1 n LEU . 35 M 36 +M 36 1 n SER . 36 M 37 +M 37 1 n MET . 37 M 38 +M 38 1 n SER . 38 M 39 +M 39 1 n CYS . 39 M 40 +M 40 1 n TYR . 40 M 41 +M 41 1 n PHE . 41 M 42 +M 42 1 n ASP . 42 M 43 +M 43 1 n ARG . 43 M 44 +M 44 1 n ASP . 44 M 45 +M 45 1 n ASP . 45 M 46 +M 46 1 n VAL . 46 M 47 +M 47 1 n ALA . 47 M 48 +M 48 1 n LEU . 48 M 49 +M 49 1 n LYS . 49 M 50 +M 50 1 n ASN . 50 M 51 +M 51 1 n PHE . 51 M 52 +M 52 1 n ALA . 52 M 53 +M 53 1 n LYS . 53 M 54 +M 54 1 n TYR . 54 M 55 +M 55 1 n PHE . 55 M 56 +M 56 1 n LEU . 56 M 57 +M 57 1 n HIS . 57 M 58 +M 58 1 n GLN . 58 M 59 +M 59 1 n SER . 59 M 60 +M 60 1 n HIS . 60 M 61 +M 61 1 n GLU . 61 M 62 +M 62 1 n GLU . 62 M 63 +M 63 1 n ARG . 63 M 64 +M 64 1 n GLU . 64 M 65 +M 65 1 n HIS . 65 M 66 +M 66 1 n ALA . 66 M 67 +M 67 1 n GLU . 67 M 68 +M 68 1 n LYS . 68 M 69 +M 69 1 n LEU . 69 M 70 +M 70 1 n MET . 70 M 71 +M 71 1 n LYS . 71 M 72 +M 72 1 n LEU . 72 M 73 +M 73 1 n GLN . 73 M 74 +M 74 1 n ASN . 74 M 75 +M 75 1 n GLN . 75 M 76 +M 76 1 n ARG . 76 M 77 +M 77 1 n GLY . 77 M 78 +M 78 1 n GLY . 78 M 79 +M 79 1 n ARG . 79 M 80 +M 80 1 n ILE . 80 M 81 +M 81 1 n PHE . 81 M 82 +M 82 1 n LEU . 82 M 83 +M 83 1 n GLN . 83 M 84 +M 84 1 n ASP . 84 M 85 +M 85 1 n ILE . 85 M 86 +M 86 1 n LYS . 86 M 87 +M 87 1 n LYS . 87 M 88 +M 88 1 n PRO . 88 M 89 +M 89 1 n ASP . 89 M 90 +M 90 1 n ARG . 90 M 91 +M 91 1 n ASP . 91 M 92 +M 92 1 n ASP . 92 M 93 +M 93 1 n TRP . 93 M 94 +M 94 1 n GLU . 94 M 95 +M 95 1 n SER . 95 M 96 +M 96 1 n GLY . 96 M 97 +M 97 1 n LEU . 97 M 98 +M 98 1 n ASN . 98 M 99 +M 99 1 n ALA . 99 M 100 +M 100 1 n MET . 100 M 101 +M 101 1 n GLU . 101 M 102 +M 102 1 n CYS . 102 M 103 +M 103 1 n ALA . 103 M 104 +M 104 1 n LEU . 104 M 105 +M 105 1 n HIS . 105 M 106 +M 106 1 n LEU . 106 M 107 +M 107 1 n GLU . 107 M 108 +M 108 1 n LYS . 108 M 109 +M 109 1 n SER . 109 M 110 +M 110 1 n VAL . 110 M 111 +M 111 1 n ASN . 111 M 112 +M 112 1 n GLN . 112 M 113 +M 113 1 n SER . 113 M 114 +M 114 1 n LEU . 114 M 115 +M 115 1 n LEU . 115 M 116 +M 116 1 n GLU . 116 M 117 +M 117 1 n LEU . 117 M 118 +M 118 1 n HIS . 118 M 119 +M 119 1 n LYS . 119 M 120 +M 120 1 n LEU . 120 M 121 +M 121 1 n ALA . 121 M 122 +M 122 1 n THR . 122 M 123 +M 123 1 n ASP . 123 M 124 +M 124 1 n LYS . 124 M 125 +M 125 1 n ASN . 125 M 126 +M 126 1 n ASP . 126 M 127 +M 127 1 n PRO . 127 M 128 +M 128 1 n HIS . 128 M 129 +M 129 1 n LEU . 129 M 130 +M 130 1 n CYS . 130 M 131 +M 131 1 n ASP . 131 M 132 +M 132 1 n PHE . 132 M 133 +M 133 1 n ILE . 133 M 134 +M 134 1 n GLU . 134 M 135 +M 135 1 n THR . 135 M 136 +M 136 1 n TYR . 136 M 137 +M 137 1 n TYR . 137 M 138 +M 138 1 n LEU . 138 M 139 +M 139 1 n SER . 139 M 140 +M 140 1 n GLU . 140 M 141 +M 141 1 n GLN . 141 M 142 +M 142 1 n VAL . 142 M 143 +M 143 1 n LYS . 143 M 144 +M 144 1 n SER . 144 M 145 +M 145 1 n ILE . 145 M 146 +M 146 1 n LYS . 146 M 147 +M 147 1 n GLU . 147 M 148 +M 148 1 n LEU . 148 M 149 +M 149 1 n GLY . 149 M 150 +M 150 1 n ASP . 150 M 151 +M 151 1 n HIS . 151 M 152 +M 152 1 n VAL . 152 M 153 +M 153 1 n THR . 153 M 154 +M 154 1 n ASN . 154 M 155 +M 155 1 n LEU . 155 M 156 +M 156 1 n ARG . 156 M 157 +M 157 1 n LYS . 157 M 158 +M 158 1 n MET . 158 M 159 +M 159 1 n GLY . 159 M 160 +M 160 1 n ALA . 160 M 161 +M 161 1 n PRO . 161 M 162 +M 162 1 n GLU . 162 M 163 +M 163 1 n ALA . 163 M 164 +M 164 1 n GLY . 164 M 165 +M 165 1 n MET . 165 M 166 +M 166 1 n ALA . 166 M 167 +M 167 1 n GLU . 167 M 168 +M 168 1 n TYR . 168 M 169 +M 169 1 n LEU . 169 M 170 +M 170 1 n PHE . 170 M 171 +M 171 1 n ASP . 171 M 172 +M 172 1 n LYS . 172 M 173 +M 173 1 n HIS . 173 M 174 +M 174 1 n THR . 174 M 175 +M 175 1 n LEU . 175 M 176 +M 176 1 n GLY . 176 M 177 +M ? 1 n HIS . 177 M 178 +M ? 1 n GLY . 178 M 179 +M ? 1 n ASP . 179 M 180 +M ? 1 n GLU . 180 M 181 +M ? 1 n SER . 181 M 182 +# +_pdbx_struct_assembly.details author_and_software_defined_assembly +_pdbx_struct_assembly.id 1 +_pdbx_struct_assembly.method_details PISA +_pdbx_struct_assembly.oligomeric_count 24 +_pdbx_struct_assembly.oligomeric_details 24-meric +# +_pdbx_struct_assembly_gen.assembly_id 1 +_pdbx_struct_assembly_gen.asym_id_list A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,AA,BA,CA,DA,EA,FA,GA,HA,IA,JA,KA,LA,MA,NA,OA,PA,QA,RA,SA,TA,UA,VA,WA,XA,YA,ZA,AB,BB,CB,DB,EB,FB,GB,HB,IB,JB,KB,LB,MB,NB,OB,PB,QB,RB,SB,TB,UB,VB,WB,XB,YB,ZB +_pdbx_struct_assembly_gen.oper_expression 1 +# +_pdbx_struct_oper_list.id 1 +_pdbx_struct_oper_list.matrix[1][1] 1.0000000000 +_pdbx_struct_oper_list.matrix[1][2] 0.0000000000 +_pdbx_struct_oper_list.matrix[1][3] 0.0000000000 +_pdbx_struct_oper_list.matrix[2][1] 0.0000000000 +_pdbx_struct_oper_list.matrix[2][2] 1.0000000000 +_pdbx_struct_oper_list.matrix[2][3] 0.0000000000 +_pdbx_struct_oper_list.matrix[3][1] 0.0000000000 +_pdbx_struct_oper_list.matrix[3][2] 0.0000000000 +_pdbx_struct_oper_list.matrix[3][3] 1.0000000000 +_pdbx_struct_oper_list.name 1_555 +_pdbx_struct_oper_list.symmetry_operation ? +_pdbx_struct_oper_list.type "identity operation" +_pdbx_struct_oper_list.vector[1] 0.0000000000 +_pdbx_struct_oper_list.vector[2] 0.0000000000 +_pdbx_struct_oper_list.vector[3] 0.0000000000 +# +_refine.ls_d_res_high 1.84 +# +_software.classification other +_software.name "DeepMind Structure Class" +_software.pdbx_ordinal 1 +_software.version 2.0.0 +# +loop_ +_struct_asym.entity_id +_struct_asym.id +1 M +3 PA +# +loop_ +_struct_conn.conn_type_id +_struct_conn.id +_struct_conn.pdbx_ptnr1_PDB_ins_code +_struct_conn.pdbx_ptnr1_label_alt_id +_struct_conn.pdbx_ptnr2_PDB_ins_code +_struct_conn.pdbx_ptnr2_label_alt_id +_struct_conn.pdbx_role +_struct_conn.pdbx_value_order +_struct_conn.ptnr1_auth_asym_id +_struct_conn.ptnr1_auth_seq_id +_struct_conn.ptnr1_label_asym_id +_struct_conn.ptnr1_label_atom_id +_struct_conn.ptnr1_label_comp_id +_struct_conn.ptnr1_label_seq_id +_struct_conn.ptnr1_symmetry +_struct_conn.ptnr2_auth_asym_id +_struct_conn.ptnr2_auth_seq_id +_struct_conn.ptnr2_label_asym_id +_struct_conn.ptnr2_label_atom_id +_struct_conn.ptnr2_label_comp_id +_struct_conn.ptnr2_label_seq_id +_struct_conn.ptnr2_symmetry +metalc metalc1 ? ? ? ? ? ? M 27 M OE2 GLU 28 1_555 M 201 PA ZN ZN . 1_555 +metalc metalc2 ? ? ? ? ? ? M 62 M OE1 GLU 63 1_555 M 201 PA ZN ZN . 1_555 +metalc metalc3 ? ? ? ? ? ? M 65 M ND1 HIS 66 1_555 M 201 PA ZN ZN . 1_555 +# +_struct_conn_type.criteria ? +_struct_conn_type.id metalc +_struct_conn_type.reference ? +# +loop_ +_atom_site.group_PDB +_atom_site.id +_atom_site.type_symbol +_atom_site.label_atom_id +_atom_site.label_alt_id +_atom_site.label_comp_id +_atom_site.label_asym_id +_atom_site.label_entity_id +_atom_site.label_seq_id +_atom_site.pdbx_PDB_ins_code +_atom_site.Cartn_x +_atom_site.Cartn_y +_atom_site.Cartn_z +_atom_site.occupancy +_atom_site.B_iso_or_equiv +_atom_site.auth_seq_id +_atom_site.auth_asym_id +_atom_site.pdbx_PDB_model_num +ATOM 1 N N . PRO M 1 6 ? 122.212 117.597 42.494 1.00 9.28 5 M 1 +ATOM 2 C CA . PRO M 1 6 ? 122.084 118.174 43.835 1.00 9.28 5 M 1 +ATOM 3 C C . PRO M 1 6 ? 120.908 117.581 44.601 1.00 9.28 5 M 1 +ATOM 4 O O . PRO M 1 6 ? 119.808 117.491 44.064 1.00 9.28 5 M 1 +ATOM 5 C CB . PRO M 1 6 ? 121.864 119.662 43.555 1.00 9.28 5 M 1 +ATOM 6 C CG . PRO M 1 6 ? 121.230 119.694 42.219 1.00 9.28 5 M 1 +ATOM 7 C CD . PRO M 1 6 ? 121.846 118.564 41.447 1.00 9.28 5 M 1 +ATOM 8 H HA . PRO M 1 6 ? 122.903 118.063 44.342 1.00 9.28 5 M 1 +ATOM 9 H HB2 . PRO M 1 6 ? 121.285 120.040 44.235 1.00 9.28 5 M 1 +ATOM 10 H HB3 . PRO M 1 6 ? 122.714 120.128 43.534 1.00 9.28 5 M 1 +ATOM 11 H HG2 . PRO M 1 6 ? 120.274 119.558 42.308 1.00 9.28 5 M 1 +ATOM 12 H HG3 . PRO M 1 6 ? 121.419 120.545 41.793 1.00 9.28 5 M 1 +ATOM 13 H HD2 . PRO M 1 6 ? 121.199 118.179 40.836 1.00 9.28 5 M 1 +ATOM 14 H HD3 . PRO M 1 6 ? 122.642 118.866 40.982 1.00 9.28 5 M 1 +ATOM 15 N N . SER M 1 7 ? 121.145 117.181 45.845 1.00 7.08 6 M 1 +ATOM 16 C CA . SER M 1 7 ? 120.080 116.612 46.653 1.00 7.08 6 M 1 +ATOM 17 C C . SER M 1 7 ? 119.029 117.671 46.964 1.00 7.08 6 M 1 +ATOM 18 O O . SER M 1 7 ? 119.342 118.844 47.176 1.00 7.08 6 M 1 +ATOM 19 C CB . SER M 1 7 ? 120.641 116.033 47.949 1.00 7.08 6 M 1 +ATOM 20 O OG . SER M 1 7 ? 119.605 115.511 48.745 1.00 7.08 6 M 1 +ATOM 21 H H . SER M 1 7 ? 121.906 117.238 46.241 1.00 7.08 6 M 1 +ATOM 22 H HA . SER M 1 7 ? 119.655 115.894 46.159 1.00 7.08 6 M 1 +ATOM 23 H HB2 . SER M 1 7 ? 121.264 115.319 47.741 1.00 7.08 6 M 1 +ATOM 24 H HB3 . SER M 1 7 ? 121.098 116.727 48.450 1.00 7.08 6 M 1 +ATOM 25 H HG . SER M 1 7 ? 119.939 115.148 49.425 1.00 7.08 6 M 1 +ATOM 26 N N . GLN M 1 8 ? 117.777 117.226 47.005 1.00 6.97 7 M 1 +ATOM 27 C CA . GLN M 1 8 ? 116.610 118.112 47.218 1.00 6.97 7 M 1 +ATOM 28 C C . GLN M 1 8 ? 116.732 118.800 48.583 1.00 6.97 7 M 1 +ATOM 29 O O . GLN M 1 8 ? 116.136 119.848 48.758 1.00 6.97 7 M 1 +ATOM 30 C CB . GLN M 1 8 ? 115.306 117.326 47.078 1.00 6.97 7 M 1 +ATOM 31 C CG . GLN M 1 8 ? 115.074 116.345 48.214 1.00 6.97 7 M 1 +ATOM 32 C CD . GLN M 1 8 ? 113.835 115.494 48.045 1.00 6.97 7 M 1 +ATOM 33 O OE1 . GLN M 1 8 ? 112.862 115.903 47.422 1.00 6.97 7 M 1 +ATOM 34 N NE2 . GLN M 1 8 ? 113.875 114.298 48.614 1.00 6.97 7 M 1 +ATOM 35 H H . GLN M 1 8 ? 117.574 116.339 47.027 1.00 6.97 7 M 1 +ATOM 36 H HA . GLN M 1 8 ? 116.628 118.808 46.520 1.00 6.97 7 M 1 +ATOM 37 H HB2 . GLN M 1 8 ? 114.560 117.960 47.043 1.00 6.97 7 M 1 +ATOM 38 H HB3 . GLN M 1 8 ? 115.326 116.836 46.229 1.00 6.97 7 M 1 +ATOM 39 H HG2 . GLN M 1 8 ? 115.854 115.755 48.288 1.00 6.97 7 M 1 +ATOM 40 H HG3 . GLN M 1 8 ? 115.001 116.846 49.054 1.00 6.97 7 M 1 +ATOM 41 H HE21 . GLN M 1 8 ? 114.576 114.063 49.098 1.00 6.97 7 M 1 +ATOM 42 H HE22 . GLN M 1 8 ? 113.201 113.736 48.510 1.00 6.97 7 M 1 +ATOM 43 N N . VAL M 1 9 ? 117.388 118.172 49.551 1.00 6.25 8 M 1 +ATOM 44 C CA . VAL M 1 9 ? 117.529 118.728 50.894 1.00 6.25 8 M 1 +ATOM 45 C C . VAL M 1 9 ? 118.772 119.591 51.047 1.00 6.25 8 M 1 +ATOM 46 O O . VAL M 1 9 ? 118.891 120.310 52.048 1.00 6.25 8 M 1 +ATOM 47 C CB . VAL M 1 9 ? 117.547 117.608 51.957 1.00 6.25 8 M 1 +ATOM 48 C CG1 . VAL M 1 9 ? 116.257 116.809 51.898 1.00 6.25 8 M 1 +ATOM 49 C CG2 . VAL M 1 9 ? 118.761 116.689 51.824 1.00 6.25 8 M 1 +ATOM 50 H H . VAL M 1 9 ? 117.757 117.402 49.445 1.00 6.25 8 M 1 +ATOM 51 H HA . VAL M 1 9 ? 116.763 119.289 51.092 1.00 6.25 8 M 1 +ATOM 52 H HB . VAL M 1 9 ? 117.602 118.020 52.833 1.00 6.25 8 M 1 +ATOM 53 H HG11 . VAL M 1 9 ? 116.190 116.261 52.696 1.00 6.25 8 M 1 +ATOM 54 H HG12 . VAL M 1 9 ? 115.507 117.422 51.853 1.00 6.25 8 M 1 +ATOM 55 H HG13 . VAL M 1 9 ? 116.261 116.241 51.112 1.00 6.25 8 M 1 +ATOM 56 H HG21 . VAL M 1 9 ? 118.720 116.025 52.530 1.00 6.25 8 M 1 +ATOM 57 H HG22 . VAL M 1 9 ? 118.732 116.240 50.965 1.00 6.25 8 M 1 +ATOM 58 H HG23 . VAL M 1 9 ? 119.588 117.186 51.922 1.00 6.25 8 M 1 +ATOM 59 N N . ARG M 1 10 ? 119.714 119.469 50.120 1.00 6.80 9 M 1 +ATOM 60 C CA . ARG M 1 10 ? 121.028 120.137 50.287 1.00 6.80 9 M 1 +ATOM 61 C C . ARG M 1 10 ? 120.873 121.657 50.283 1.00 6.80 9 M 1 +ATOM 62 O O . ARG M 1 10 ? 120.265 122.177 49.352 1.00 6.80 9 M 1 +ATOM 63 C CB . ARG M 1 10 ? 122.014 119.698 49.205 1.00 6.80 9 M 1 +ATOM 64 C CG . ARG M 1 10 ? 123.450 120.070 49.528 1.00 6.80 9 M 1 +ATOM 65 C CD . ARG M 1 10 ? 124.419 119.495 48.512 1.00 6.80 9 M 1 +ATOM 66 N NE . ARG M 1 10 ? 125.813 119.611 48.924 1.00 6.80 9 M 1 +ATOM 67 C CZ . ARG M 1 10 ? 126.705 118.641 48.816 1.00 6.80 9 M 1 +ATOM 68 N NH1 . ARG M 1 10 ? 126.346 117.466 48.336 1.00 6.80 9 M 1 +ATOM 69 N NH2 . ARG M 1 10 ? 127.944 118.830 49.223 1.00 6.80 9 M 1 +ATOM 70 H H . ARG M 1 10 ? 119.572 119.093 49.304 1.00 6.80 9 M 1 +ATOM 71 H HA . ARG M 1 10 ? 121.392 119.870 51.162 1.00 6.80 9 M 1 +ATOM 72 H HB2 . ARG M 1 10 ? 121.952 118.726 49.097 1.00 6.80 9 M 1 +ATOM 73 H HB3 . ARG M 1 10 ? 121.758 120.115 48.356 1.00 6.80 9 M 1 +ATOM 74 H HG2 . ARG M 1 10 ? 123.539 121.047 49.539 1.00 6.80 9 M 1 +ATOM 75 H HG3 . ARG M 1 10 ? 123.681 119.732 50.419 1.00 6.80 9 M 1 +ATOM 76 H HD2 . ARG M 1 10 ? 124.207 118.548 48.368 1.00 6.80 9 M 1 +ATOM 77 H HD3 . ARG M 1 10 ? 124.299 119.960 47.657 1.00 6.80 9 M 1 +ATOM 78 H HE . ARG M 1 10 ? 126.081 120.373 49.252 1.00 6.80 9 M 1 +ATOM 79 H HH11 . ARG M 1 10 ? 125.518 117.337 48.069 1.00 6.80 9 M 1 +ATOM 80 H HH12 . ARG M 1 10 ? 126.939 116.820 48.270 1.00 6.80 9 M 1 +ATOM 81 H HH21 . ARG M 1 10 ? 128.184 119.612 49.550 1.00 6.80 9 M 1 +ATOM 82 H HH22 . ARG M 1 10 ? 128.532 118.178 49.155 1.00 6.80 9 M 1 +ATOM 83 N N . GLN M 1 11 ? 121.516 122.324 51.239 1.00 6.12 10 M 1 +ATOM 84 C CA . GLN M 1 11 ? 121.478 123.774 51.352 1.00 6.12 10 M 1 +ATOM 85 C C . GLN M 1 11 ? 122.621 124.235 52.245 1.00 6.12 10 M 1 +ATOM 86 O O . GLN M 1 11 ? 122.708 123.833 53.406 1.00 6.12 10 M 1 +ATOM 87 C CB . GLN M 1 11 ? 120.137 124.237 51.920 1.00 6.12 10 M 1 +ATOM 88 C CG . GLN M 1 11 ? 119.911 125.721 51.902 1.00 6.12 10 M 1 +ATOM 89 C CD . GLN M 1 11 ? 118.537 126.076 52.435 1.00 6.12 10 M 1 +ATOM 90 O OE1 . GLN M 1 11 ? 117.830 125.223 52.962 1.00 6.12 10 M 1 +ATOM 91 N NE2 . GLN M 1 11 ? 118.126 127.312 52.236 1.00 6.12 10 M 1 +ATOM 92 H H . GLN M 1 11 ? 121.988 121.938 51.846 1.00 6.12 10 M 1 +ATOM 93 H HA . GLN M 1 11 ? 121.591 124.163 50.470 1.00 6.12 10 M 1 +ATOM 94 H HB2 . GLN M 1 11 ? 119.423 123.835 51.401 1.00 6.12 10 M 1 +ATOM 95 H HB3 . GLN M 1 11 ? 120.071 123.946 52.843 1.00 6.12 10 M 1 +ATOM 96 H HG2 . GLN M 1 11 ? 120.572 126.146 52.470 1.00 6.12 10 M 1 +ATOM 97 H HG3 . GLN M 1 11 ? 119.997 126.048 50.993 1.00 6.12 10 M 1 +ATOM 98 H HE21 . GLN M 1 11 ? 118.637 127.884 51.847 1.00 6.12 10 M 1 +ATOM 99 H HE22 . GLN M 1 11 ? 117.347 127.547 52.514 1.00 6.12 10 M 1 +ATOM 100 N N . ASN M 1 12 ? 123.445 125.121 51.688 1.00 6.65 11 M 1 +ATOM 101 C CA . ASN M 1 12 ? 124.619 125.702 52.391 1.00 6.65 11 M 1 +ATOM 102 C C . ASN M 1 12 ? 125.569 124.588 52.872 1.00 6.65 11 M 1 +ATOM 103 O O . ASN M 1 12 ? 126.059 124.697 53.982 1.00 6.65 11 M 1 +ATOM 104 C CB . ASN M 1 12 ? 124.137 126.571 53.556 1.00 6.65 11 M 1 +ATOM 105 C CG . ASN M 1 12 ? 125.258 127.385 54.163 1.00 6.65 11 M 1 +ATOM 106 O OD1 . ASN M 1 12 ? 126.071 127.935 53.440 1.00 6.65 11 M 1 +ATOM 107 N ND2 . ASN M 1 12 ? 125.302 127.463 55.473 1.00 6.65 11 M 1 +ATOM 108 H H . ASN M 1 12 ? 123.269 125.513 50.886 1.00 6.65 11 M 1 +ATOM 109 H HA . ASN M 1 12 ? 125.105 126.283 51.760 1.00 6.65 11 M 1 +ATOM 110 H HB2 . ASN M 1 12 ? 123.438 127.176 53.235 1.00 6.65 11 M 1 +ATOM 111 H HB3 . ASN M 1 12 ? 123.749 125.994 54.246 1.00 6.65 11 M 1 +ATOM 112 H HD21 . ASN M 1 12 ? 124.657 127.104 55.959 1.00 6.65 11 M 1 +ATOM 113 H HD22 . ASN M 1 12 ? 125.976 127.875 55.869 1.00 6.65 11 M 1 +ATOM 114 N N . TYR M 1 13 ? 125.844 123.567 52.055 1.00 5.90 12 M 1 +ATOM 115 C CA . TYR M 1 13 ? 126.657 122.414 52.440 1.00 5.90 12 M 1 +ATOM 116 C C . TYR M 1 13 ? 127.687 122.174 51.341 1.00 5.90 12 M 1 +ATOM 117 O O . TYR M 1 13 ? 127.385 121.578 50.305 1.00 5.90 12 M 1 +ATOM 118 C CB . TYR M 1 13 ? 125.780 121.196 52.694 1.00 5.90 12 M 1 +ATOM 119 C CG . TYR M 1 13 ? 126.505 120.044 53.350 1.00 5.90 12 M 1 +ATOM 120 C CD1 . TYR M 1 13 ? 126.937 120.148 54.661 1.00 5.90 12 M 1 +ATOM 121 C CD2 . TYR M 1 13 ? 126.681 118.836 52.705 1.00 5.90 12 M 1 +ATOM 122 C CE1 . TYR M 1 13 ? 127.578 119.120 55.287 1.00 5.90 12 M 1 +ATOM 123 C CE2 . TYR M 1 13 ? 127.319 117.786 53.335 1.00 5.90 12 M 1 +ATOM 124 C CZ . TYR M 1 13 ? 127.766 117.935 54.631 1.00 5.90 12 M 1 +ATOM 125 O OH . TYR M 1 13 ? 128.404 116.916 55.298 1.00 5.90 12 M 1 +ATOM 126 H H . TYR M 1 13 ? 125.574 123.542 51.239 1.00 5.90 12 M 1 +ATOM 127 H HA . TYR M 1 13 ? 127.152 122.600 53.253 1.00 5.90 12 M 1 +ATOM 128 H HB2 . TYR M 1 13 ? 125.041 121.450 53.268 1.00 5.90 12 M 1 +ATOM 129 H HB3 . TYR M 1 13 ? 125.430 120.884 51.845 1.00 5.90 12 M 1 +ATOM 130 H HD1 . TYR M 1 13 ? 126.822 120.949 55.119 1.00 5.90 12 M 1 +ATOM 131 H HD2 . TYR M 1 13 ? 126.385 118.735 51.829 1.00 5.90 12 M 1 +ATOM 132 H HE1 . TYR M 1 13 ? 127.875 119.221 56.163 1.00 5.90 12 M 1 +ATOM 133 H HE2 . TYR M 1 13 ? 127.445 116.981 52.887 1.00 5.90 12 M 1 +ATOM 134 H HH . TYR M 1 13 ? 128.383 116.208 54.846 1.00 5.90 12 M 1 +ATOM 135 N N . HIS M 1 14 ? 128.905 122.635 51.599 1.00 7.28 13 M 1 +ATOM 136 C CA . HIS M 1 14 ? 129.958 122.673 50.597 1.00 7.28 13 M 1 +ATOM 137 C C . HIS M 1 14 ? 130.572 121.284 50.442 1.00 7.28 13 M 1 +ATOM 138 O O . HIS M 1 14 ? 130.617 120.503 51.393 1.00 7.28 13 M 1 +ATOM 139 C CB . HIS M 1 14 ? 131.006 123.701 51.029 1.00 7.28 13 M 1 +ATOM 140 C CG . HIS M 1 14 ? 131.952 124.116 49.949 1.00 7.28 13 M 1 +ATOM 141 N ND1 . HIS M 1 14 ? 133.111 123.432 49.663 1.00 7.28 13 M 1 +ATOM 142 C CD2 . HIS M 1 14 ? 131.927 125.178 49.112 1.00 7.28 13 M 1 +ATOM 143 C CE1 . HIS M 1 14 ? 133.748 124.039 48.678 1.00 7.28 13 M 1 +ATOM 144 N NE2 . HIS M 1 14 ? 133.051 125.103 48.327 1.00 7.28 13 M 1 +ATOM 145 H H . HIS M 1 14 ? 129.149 122.936 52.367 1.00 7.28 13 M 1 +ATOM 146 H HA . HIS M 1 14 ? 129.593 122.954 49.743 1.00 7.28 13 M 1 +ATOM 147 H HB2 . HIS M 1 14 ? 130.552 124.500 51.338 1.00 7.28 13 M 1 +ATOM 148 H HB3 . HIS M 1 14 ? 131.532 123.326 51.753 1.00 7.28 13 M 1 +ATOM 149 H HD2 . HIS M 1 14 ? 131.267 125.832 49.071 1.00 7.28 13 M 1 +ATOM 150 H HE1 . HIS M 1 14 ? 134.552 123.767 48.298 1.00 7.28 13 M 1 +ATOM 151 H HE2 . HIS M 1 14 ? 133.267 125.657 47.706 1.00 7.28 13 M 1 +ATOM 152 N N . GLN M 1 15 ? 131.037 120.970 49.229 1.00 7.51 14 M 1 +ATOM 153 C CA . GLN M 1 15 ? 131.561 119.634 48.946 1.00 7.51 14 M 1 +ATOM 154 C C . GLN M 1 15 ? 132.800 119.311 49.780 1.00 7.51 14 M 1 +ATOM 155 O O . GLN M 1 15 ? 133.039 118.148 50.120 1.00 7.51 14 M 1 +ATOM 156 C CB . GLN M 1 15 ? 131.867 119.500 47.450 1.00 7.51 14 M 1 +ATOM 157 C CG . GLN M 1 15 ? 132.933 120.431 46.917 1.00 7.51 14 M 1 +ATOM 158 C CD . GLN M 1 15 ? 133.162 120.248 45.425 1.00 7.51 14 M 1 +ATOM 159 O OE1 . GLN M 1 15 ? 132.551 119.386 44.791 1.00 7.51 14 M 1 +ATOM 160 N NE2 . GLN M 1 15 ? 134.052 121.052 44.861 1.00 7.51 14 M 1 +ATOM 161 H H . GLN M 1 15 ? 131.058 121.511 48.561 1.00 7.51 14 M 1 +ATOM 162 H HA . GLN M 1 15 ? 130.879 118.977 49.157 1.00 7.51 14 M 1 +ATOM 163 H HB2 . GLN M 1 15 ? 132.164 118.595 47.269 1.00 7.51 14 M 1 +ATOM 164 H HB3 . GLN M 1 15 ? 131.057 119.680 46.948 1.00 7.51 14 M 1 +ATOM 165 H HG2 . GLN M 1 15 ? 132.652 121.347 47.070 1.00 7.51 14 M 1 +ATOM 166 H HG3 . GLN M 1 15 ? 133.774 120.264 47.370 1.00 7.51 14 M 1 +ATOM 167 H HE21 . GLN M 1 15 ? 134.462 121.642 45.333 1.00 7.51 14 M 1 +ATOM 168 H HE22 . GLN M 1 15 ? 134.218 120.981 44.020 1.00 7.51 14 M 1 +ATOM 169 N N . ASP M 1 16 ? 133.599 120.324 50.111 1.00 7.21 15 M 1 +ATOM 170 C CA . ASP M 1 16 ? 134.771 120.116 50.956 1.00 7.21 15 M 1 +ATOM 171 C C . ASP M 1 16 ? 134.371 119.680 52.361 1.00 7.21 15 M 1 +ATOM 172 O O . ASP M 1 16 ? 135.026 118.818 52.953 1.00 7.21 15 M 1 +ATOM 173 C CB . ASP M 1 16 ? 135.610 121.393 51.009 1.00 7.21 15 M 1 +ATOM 174 C CG . ASP M 1 16 ? 136.321 121.680 49.696 1.00 7.21 15 M 1 +ATOM 175 O OD1 . ASP M 1 16 ? 136.404 120.772 48.845 1.00 7.21 15 M 1 +ATOM 176 O OD2 . ASP M 1 16 ? 136.805 122.815 49.519 1.00 7.21 15 M 1 +ATOM 177 H H . ASP M 1 16 ? 133.476 121.137 49.858 1.00 7.21 15 M 1 +ATOM 178 H HA . ASP M 1 16 ? 135.320 119.415 50.571 1.00 7.21 15 M 1 +ATOM 179 H HB2 . ASP M 1 16 ? 135.034 122.148 51.207 1.00 7.21 15 M 1 +ATOM 180 H HB3 . ASP M 1 16 ? 136.282 121.306 51.703 1.00 7.21 15 M 1 +ATOM 181 N N . ALA M 1 17 ? 133.297 120.259 52.899 1.00 6.09 16 M 1 +ATOM 182 C CA . ALA M 1 17 ? 132.760 119.819 54.182 1.00 6.09 16 M 1 +ATOM 183 C C . ALA M 1 17 ? 132.287 118.373 54.109 1.00 6.09 16 M 1 +ATOM 184 O O . ALA M 1 17 ? 132.504 117.591 55.040 1.00 6.09 16 M 1 +ATOM 185 C CB . ALA M 1 17 ? 131.615 120.738 54.603 1.00 6.09 16 M 1 +ATOM 186 H H . ALA M 1 17 ? 132.865 120.907 52.533 1.00 6.09 16 M 1 +ATOM 187 H HA . ALA M 1 17 ? 133.452 119.884 54.859 1.00 6.09 16 M 1 +ATOM 188 H HB1 . ALA M 1 17 ? 131.308 120.487 55.488 1.00 6.09 16 M 1 +ATOM 189 H HB2 . ALA M 1 17 ? 131.935 121.654 54.614 1.00 6.09 16 M 1 +ATOM 190 H HB3 . ALA M 1 17 ? 130.887 120.656 53.967 1.00 6.09 16 M 1 +ATOM 191 N N . GLU M 1 18 ? 131.621 118.014 53.012 1.00 5.83 17 M 1 +ATOM 192 C CA . GLU M 1 18 ? 131.183 116.639 52.793 1.00 5.83 17 M 1 +ATOM 193 C C . GLU M 1 18 ? 132.369 115.677 52.836 1.00 5.83 17 M 1 +ATOM 194 O O . GLU M 1 18 ? 132.351 114.658 53.547 1.00 5.83 17 M 1 +ATOM 195 C CB . GLU M 1 18 ? 130.451 116.566 51.447 1.00 5.83 17 M 1 +ATOM 196 C CG . GLU M 1 18 ? 129.838 115.239 51.109 1.00 5.83 17 M 1 +ATOM 197 C CD . GLU M 1 18 ? 129.069 115.276 49.797 1.00 5.83 17 M 1 +ATOM 198 O OE1 . GLU M 1 18 ? 129.047 116.341 49.148 1.00 5.83 17 M 1 +ATOM 199 O OE2 . GLU M 1 18 ? 128.489 114.242 49.415 1.00 5.83 17 M 1 +ATOM 200 H H . GLU M 1 18 ? 131.409 118.555 52.378 1.00 5.83 17 M 1 +ATOM 201 H HA . GLU M 1 18 ? 130.552 116.395 53.488 1.00 5.83 17 M 1 +ATOM 202 H HB2 . GLU M 1 18 ? 129.737 117.223 51.446 1.00 5.83 17 M 1 +ATOM 203 H HB3 . GLU M 1 18 ? 131.070 116.780 50.732 1.00 5.83 17 M 1 +ATOM 204 H HG2 . GLU M 1 18 ? 130.539 114.574 51.031 1.00 5.83 17 M 1 +ATOM 205 H HG3 . GLU M 1 18 ? 129.220 114.990 51.814 1.00 5.83 17 M 1 +ATOM 206 N N . ALA M 1 19 ? 133.426 116.014 52.101 1.00 5.64 18 M 1 +ATOM 207 C CA . ALA M 1 19 ? 134.627 115.186 52.077 1.00 5.64 18 M 1 +ATOM 208 C C . ALA M 1 19 ? 135.261 115.089 53.461 1.00 5.64 18 M 1 +ATOM 209 O O . ALA M 1 19 ? 135.695 114.008 53.887 1.00 5.64 18 M 1 +ATOM 210 C CB . ALA M 1 19 ? 135.619 115.756 51.068 1.00 5.64 18 M 1 +ATOM 211 H H . ALA M 1 19 ? 133.469 116.730 51.627 1.00 5.64 18 M 1 +ATOM 212 H HA . ALA M 1 19 ? 134.387 114.294 51.780 1.00 5.64 18 M 1 +ATOM 213 H HB1 . ALA M 1 19 ? 136.445 115.249 51.108 1.00 5.64 18 M 1 +ATOM 214 H HB2 . ALA M 1 19 ? 135.231 115.688 50.181 1.00 5.64 18 M 1 +ATOM 215 H HB3 . ALA M 1 19 ? 135.792 116.686 51.281 1.00 5.64 18 M 1 +ATOM 216 N N . ALA M 1 20 ? 135.309 116.209 54.182 1.00 5.19 19 M 1 +ATOM 217 C CA . ALA M 1 20 ? 135.912 116.226 55.509 1.00 5.19 19 M 1 +ATOM 218 C C . ALA M 1 20 ? 135.118 115.366 56.484 1.00 5.19 19 M 1 +ATOM 219 O O . ALA M 1 20 ? 135.694 114.687 57.340 1.00 5.19 19 M 1 +ATOM 220 C CB . ALA M 1 20 ? 136.010 117.663 56.015 1.00 5.19 19 M 1 +ATOM 221 H H . ALA M 1 20 ? 134.988 116.964 53.924 1.00 5.19 19 M 1 +ATOM 222 H HA . ALA M 1 20 ? 136.813 115.873 55.449 1.00 5.19 19 M 1 +ATOM 223 H HB1 . ALA M 1 20 ? 136.318 117.661 56.935 1.00 5.19 19 M 1 +ATOM 224 H HB2 . ALA M 1 20 ? 136.643 118.153 55.468 1.00 5.19 19 M 1 +ATOM 225 H HB3 . ALA M 1 20 ? 135.136 118.080 55.963 1.00 5.19 19 M 1 +ATOM 226 N N . ILE M 1 21 ? 133.794 115.373 56.355 1.00 4.65 20 M 1 +ATOM 227 C CA . ILE M 1 21 ? 132.950 114.537 57.205 1.00 4.65 20 M 1 +ATOM 228 C C . ILE M 1 21 ? 133.187 113.062 56.918 1.00 4.65 20 M 1 +ATOM 229 O O . ILE M 1 21 ? 133.212 112.237 57.837 1.00 4.65 20 M 1 +ATOM 230 C CB . ILE M 1 21 ? 131.466 114.924 57.036 1.00 4.65 20 M 1 +ATOM 231 C CG1 . ILE M 1 21 ? 131.165 116.301 57.642 1.00 4.65 20 M 1 +ATOM 232 C CG2 . ILE M 1 21 ? 130.563 113.897 57.679 1.00 4.65 20 M 1 +ATOM 233 C CD1 . ILE M 1 21 ? 131.182 116.337 59.164 1.00 4.65 20 M 1 +ATOM 234 H H . ILE M 1 21 ? 133.365 115.839 55.774 1.00 4.65 20 M 1 +ATOM 235 H HA . ILE M 1 21 ? 133.213 114.693 58.125 1.00 4.65 20 M 1 +ATOM 236 H HB . ILE M 1 21 ? 131.263 114.954 56.088 1.00 4.65 20 M 1 +ATOM 237 H HG12 . ILE M 1 21 ? 131.845 116.927 57.348 1.00 4.65 20 M 1 +ATOM 238 H HG13 . ILE M 1 21 ? 130.297 116.611 57.340 1.00 4.65 20 M 1 +ATOM 239 H HG21 . ILE M 1 21 ? 129.700 114.308 57.842 1.00 4.65 20 M 1 +ATOM 240 H HG22 . ILE M 1 21 ? 130.447 113.140 57.083 1.00 4.65 20 M 1 +ATOM 241 H HG23 . ILE M 1 21 ? 130.944 113.601 58.521 1.00 4.65 20 M 1 +ATOM 242 H HD11 . ILE M 1 21 ? 131.445 117.226 59.450 1.00 4.65 20 M 1 +ATOM 243 H HD12 . ILE M 1 21 ? 130.292 116.138 59.495 1.00 4.65 20 M 1 +ATOM 244 H HD13 . ILE M 1 21 ? 131.804 115.688 59.529 1.00 4.65 20 M 1 +ATOM 245 N N . ASN M 1 22 ? 133.341 112.698 55.646 1.00 4.76 21 M 1 +ATOM 246 C CA . ASN M 1 22 ? 133.649 111.301 55.339 1.00 4.76 21 M 1 +ATOM 247 C C . ASN M 1 22 ? 134.999 110.889 55.925 1.00 4.76 21 M 1 +ATOM 248 O O . ASN M 1 22 ? 135.141 109.784 56.475 1.00 4.76 21 M 1 +ATOM 249 C CB . ASN M 1 22 ? 133.598 111.055 53.832 1.00 4.76 21 M 1 +ATOM 250 C CG . ASN M 1 22 ? 132.178 111.044 53.293 1.00 4.76 21 M 1 +ATOM 251 O OD1 . ASN M 1 22 ? 131.264 110.549 53.941 1.00 4.76 21 M 1 +ATOM 252 N ND2 . ASN M 1 22 ? 132.000 111.547 52.086 1.00 4.76 21 M 1 +ATOM 253 H H . ASN M 1 22 ? 133.277 113.220 54.965 1.00 4.76 21 M 1 +ATOM 254 H HA . ASN M 1 22 ? 132.976 110.740 55.755 1.00 4.76 21 M 1 +ATOM 255 H HB2 . ASN M 1 22 ? 134.078 111.762 53.373 1.00 4.76 21 M 1 +ATOM 256 H HB3 . ASN M 1 22 ? 134.006 110.200 53.626 1.00 4.76 21 M 1 +ATOM 257 H HD21 . ASN M 1 22 ? 132.665 111.877 51.652 1.00 4.76 21 M 1 +ATOM 258 H HD22 . ASN M 1 22 ? 131.214 111.556 51.737 1.00 4.76 21 M 1 +ATOM 259 N N . ARG M 1 23 ? 135.968 111.799 55.858 1.00 5.20 22 M 1 +ATOM 260 C CA . ARG M 1 23 ? 137.304 111.552 56.459 1.00 5.20 22 M 1 +ATOM 261 C C . ARG M 1 23 ? 137.134 111.402 57.973 1.00 5.20 22 M 1 +ATOM 262 O O . ARG M 1 23 ? 137.736 110.506 58.538 1.00 5.20 22 M 1 +ATOM 263 C CB . ARG M 1 23 ? 138.287 112.670 56.112 1.00 5.20 22 M 1 +ATOM 264 C CG . ARG M 1 23 ? 138.602 112.743 54.626 1.00 5.20 22 M 1 +ATOM 265 C CD . ARG M 1 23 ? 139.855 113.564 54.401 1.00 5.20 22 M 1 +ATOM 266 N NE . ARG M 1 23 ? 139.739 114.892 54.977 1.00 5.20 22 M 1 +ATOM 267 C CZ . ARG M 1 23 ? 139.293 115.956 54.319 1.00 5.20 22 M 1 +ATOM 268 N NH1 . ARG M 1 23 ? 138.919 115.844 53.060 1.00 5.20 22 M 1 +ATOM 269 N NH2 . ARG M 1 23 ? 139.230 117.132 54.915 1.00 5.20 22 M 1 +ATOM 270 H H . ARG M 1 23 ? 135.834 112.649 55.562 1.00 5.20 22 M 1 +ATOM 271 H HA . ARG M 1 23 ? 137.651 110.704 56.097 1.00 5.20 22 M 1 +ATOM 272 H HB2 . ARG M 1 23 ? 137.907 113.526 56.400 1.00 5.20 22 M 1 +ATOM 273 H HB3 . ARG M 1 23 ? 139.120 112.524 56.609 1.00 5.20 22 M 1 +ATOM 274 H HG2 . ARG M 1 23 ? 138.737 111.838 54.272 1.00 5.20 22 M 1 +ATOM 275 H HG3 . ARG M 1 23 ? 137.852 113.155 54.148 1.00 5.20 22 M 1 +ATOM 276 H HD2 . ARG M 1 23 ? 140.622 113.103 54.803 1.00 5.20 22 M 1 +ATOM 277 H HD3 . ARG M 1 23 ? 140.021 113.643 53.437 1.00 5.20 22 M 1 +ATOM 278 H HE . ARG M 1 23 ? 139.984 115.002 55.807 1.00 5.20 22 M 1 +ATOM 279 H HH11 . ARG M 1 23 ? 138.963 115.063 52.658 1.00 5.20 22 M 1 +ATOM 280 H HH12 . ARG M 1 23 ? 138.624 116.549 52.626 1.00 5.20 22 M 1 +ATOM 281 H HH21 . ARG M 1 23 ? 139.480 117.211 55.756 1.00 5.20 22 M 1 +ATOM 282 H HH22 . ARG M 1 23 ? 138.932 117.833 54.473 1.00 5.20 22 M 1 +ATOM 283 N N . GLN M 1 24 ? 136.303 112.230 58.589 1.00 4.27 23 M 1 +ATOM 284 C CA . GLN M 1 24 ? 136.057 112.163 60.050 1.00 4.27 23 M 1 +ATOM 285 C C . GLN M 1 24 ? 135.381 110.826 60.366 1.00 4.27 23 M 1 +ATOM 286 O O . GLN M 1 24 ? 135.792 110.182 61.304 1.00 4.27 23 M 1 +ATOM 287 C CB . GLN M 1 24 ? 135.231 113.334 60.583 1.00 4.27 23 M 1 +ATOM 288 C CG . GLN M 1 24 ? 135.188 113.347 62.108 1.00 4.27 23 M 1 +ATOM 289 C CD . GLN M 1 24 ? 136.537 113.649 62.722 1.00 4.27 23 M 1 +ATOM 290 O OE1 . GLN M 1 24 ? 137.398 114.230 62.085 1.00 4.27 23 M 1 +ATOM 291 N NE2 . GLN M 1 24 ? 136.731 113.278 63.973 1.00 4.27 23 M 1 +ATOM 292 H H . GLN M 1 24 ? 135.752 112.801 58.143 1.00 4.27 23 M 1 +ATOM 293 H HA . GLN M 1 24 ? 136.933 112.175 60.501 1.00 4.27 23 M 1 +ATOM 294 H HB2 . GLN M 1 24 ? 135.623 114.172 60.260 1.00 4.27 23 M 1 +ATOM 295 H HB3 . GLN M 1 24 ? 134.319 113.266 60.231 1.00 4.27 23 M 1 +ATOM 296 H HG2 . GLN M 1 24 ? 134.542 114.023 62.406 1.00 4.27 23 M 1 +ATOM 297 H HG3 . GLN M 1 24 ? 134.878 112.473 62.429 1.00 4.27 23 M 1 +ATOM 298 H HE21 . GLN M 1 24 ? 136.087 112.865 64.417 1.00 4.27 23 M 1 +ATOM 299 H HE22 . GLN M 1 24 ? 137.504 113.442 64.368 1.00 4.27 23 M 1 +ATOM 300 N N . ILE M 1 25 ? 134.455 110.366 59.533 1.00 4.04 24 M 1 +ATOM 301 C CA . ILE M 1 25 ? 133.757 109.072 59.780 1.00 4.04 24 M 1 +ATOM 302 C C . ILE M 1 25 ? 134.814 107.969 59.775 1.00 4.04 24 M 1 +ATOM 303 O O . ILE M 1 25 ? 134.825 107.162 60.686 1.00 4.04 24 M 1 +ATOM 304 C CB . ILE M 1 25 ? 132.669 108.811 58.722 1.00 4.04 24 M 1 +ATOM 305 C CG1 . ILE M 1 25 ? 131.463 109.726 58.927 1.00 4.04 24 M 1 +ATOM 306 C CG2 . ILE M 1 25 ? 132.268 107.346 58.704 1.00 4.04 24 M 1 +ATOM 307 C CD1 . ILE M 1 25 ? 130.542 109.790 57.732 1.00 4.04 24 M 1 +ATOM 308 H H . ILE M 1 25 ? 134.294 110.730 58.714 1.00 4.04 24 M 1 +ATOM 309 H HA . ILE M 1 25 ? 133.339 109.104 60.659 1.00 4.04 24 M 1 +ATOM 310 H HB . ILE M 1 25 ? 133.057 109.027 57.838 1.00 4.04 24 M 1 +ATOM 311 H HG12 . ILE M 1 25 ? 130.953 109.407 59.703 1.00 4.04 24 M 1 +ATOM 312 H HG13 . ILE M 1 25 ? 131.783 110.631 59.129 1.00 4.04 24 M 1 +ATOM 313 H HG21 . ILE M 1 25 ? 131.520 107.219 58.094 1.00 4.04 24 M 1 +ATOM 314 H HG22 . ILE M 1 25 ? 133.020 106.805 58.408 1.00 4.04 24 M 1 +ATOM 315 H HG23 . ILE M 1 25 ? 132.004 107.068 59.598 1.00 4.04 24 M 1 +ATOM 316 H HD11 . ILE M 1 25 ? 129.788 110.372 57.933 1.00 4.04 24 M 1 +ATOM 317 H HD12 . ILE M 1 25 ? 131.027 110.141 56.966 1.00 4.04 24 M 1 +ATOM 318 H HD13 . ILE M 1 25 ? 130.213 108.898 57.525 1.00 4.04 24 M 1 +ATOM 319 N N . ASN M 1 26 ? 135.739 107.997 58.831 1.00 4.23 25 M 1 +ATOM 320 C CA . ASN M 1 26 ? 136.770 106.935 58.766 1.00 4.23 25 M 1 +ATOM 321 C C . ASN M 1 26 ? 137.629 107.000 60.033 1.00 4.23 25 M 1 +ATOM 322 O O . ASN M 1 26 ? 137.870 105.966 60.618 1.00 4.23 25 M 1 +ATOM 323 C CB . ASN M 1 26 ? 137.632 107.025 57.513 1.00 4.23 25 M 1 +ATOM 324 C CG . ASN M 1 26 ? 138.457 105.768 57.372 1.00 4.23 25 M 1 +ATOM 325 O OD1 . ASN M 1 26 ? 139.615 105.766 57.731 1.00 4.23 25 M 1 +ATOM 326 N ND2 . ASN M 1 26 ? 137.836 104.688 56.940 1.00 4.23 25 M 1 +ATOM 327 H H . ASN M 1 26 ? 135.874 108.705 58.276 1.00 4.23 25 M 1 +ATOM 328 H HA . ASN M 1 26 ? 136.310 106.063 58.747 1.00 4.23 25 M 1 +ATOM 329 H HB2 . ASN M 1 26 ? 137.058 107.133 56.728 1.00 4.23 25 M 1 +ATOM 330 H HB3 . ASN M 1 26 ? 138.224 107.802 57.579 1.00 4.23 25 M 1 +ATOM 331 H HD21 . ASN M 1 26 ? 136.953 104.669 56.909 1.00 4.23 25 M 1 +ATOM 332 H HD22 . ASN M 1 26 ? 138.302 103.982 56.685 1.00 4.23 25 M 1 +ATOM 333 N N . LEU M 1 27 ? 137.977 108.199 60.481 1.00 4.02 26 M 1 +ATOM 334 C CA . LEU M 1 27 ? 138.840 108.382 61.679 1.00 4.02 26 M 1 +ATOM 335 C C . LEU M 1 27 ? 138.126 107.816 62.917 1.00 4.02 26 M 1 +ATOM 336 O O . LEU M 1 27 ? 138.760 107.121 63.684 1.00 4.02 26 M 1 +ATOM 337 C CB . LEU M 1 27 ? 139.149 109.873 61.835 1.00 4.02 26 M 1 +ATOM 338 C CG . LEU M 1 27 ? 140.085 110.228 62.989 1.00 4.02 26 M 1 +ATOM 339 C CD1 . LEU M 1 27 ? 141.294 109.307 63.013 1.00 4.02 26 M 1 +ATOM 340 C CD2 . LEU M 1 27 ? 140.521 111.687 62.919 1.00 4.02 26 M 1 +ATOM 341 H H . LEU M 1 27 ? 137.610 108.970 60.164 1.00 4.02 26 M 1 +ATOM 342 H HA . LEU M 1 27 ? 139.678 107.884 61.539 1.00 4.02 26 M 1 +ATOM 343 H HB2 . LEU M 1 27 ? 139.548 110.193 61.001 1.00 4.02 26 M 1 +ATOM 344 H HB3 . LEU M 1 27 ? 138.305 110.351 61.961 1.00 4.02 26 M 1 +ATOM 345 H HG . LEU M 1 27 ? 139.588 110.099 63.834 1.00 4.02 26 M 1 +ATOM 346 H HD11 . LEU M 1 27 ? 141.901 109.586 63.720 1.00 4.02 26 M 1 +ATOM 347 H HD12 . LEU M 1 27 ? 141.003 108.393 63.178 1.00 4.02 26 M 1 +ATOM 348 H HD13 . LEU M 1 27 ? 141.753 109.351 62.156 1.00 4.02 26 M 1 +ATOM 349 H HD21 . LEU M 1 27 ? 141.103 111.888 63.672 1.00 4.02 26 M 1 +ATOM 350 H HD22 . LEU M 1 27 ? 141.001 111.843 62.087 1.00 4.02 26 M 1 +ATOM 351 H HD23 . LEU M 1 27 ? 139.737 112.262 62.953 1.00 4.02 26 M 1 +ATOM 352 N N . GLU M 1 28 ? 136.831 108.071 63.062 1.00 4.01 27 M 1 +ATOM 353 C CA . GLU M 1 28 ? 136.023 107.567 64.213 1.00 4.01 27 M 1 +ATOM 354 C C . GLU M 1 28 ? 135.968 106.029 64.180 1.00 4.01 27 M 1 +ATOM 355 O O . GLU M 1 28 ? 136.192 105.431 65.200 1.00 4.01 27 M 1 +ATOM 356 C CB . GLU M 1 28 ? 134.646 108.231 64.224 1.00 4.01 27 M 1 +ATOM 357 C CG . GLU M 1 28 ? 134.708 109.746 64.330 1.00 4.01 27 M 1 +ATOM 358 C CD . GLU M 1 28 ? 135.022 110.278 65.717 1.00 4.01 27 M 1 +ATOM 359 O OE1 . GLU M 1 28 ? 135.132 111.477 65.845 1.00 4.01 27 M 1 +ATOM 360 O OE2 . GLU M 1 28 ? 135.180 109.480 66.654 1.00 4.01 27 M 1 +ATOM 361 H H . GLU M 1 28 ? 136.336 108.472 62.412 1.00 4.01 27 M 1 +ATOM 362 H HA . GLU M 1 28 ? 136.491 107.832 65.039 1.00 4.01 27 M 1 +ATOM 363 H HB2 . GLU M 1 28 ? 134.174 107.988 63.400 1.00 4.01 27 M 1 +ATOM 364 H HB3 . GLU M 1 28 ? 134.133 107.879 64.981 1.00 4.01 27 M 1 +ATOM 365 H HG2 . GLU M 1 28 ? 135.391 110.078 63.709 1.00 4.01 27 M 1 +ATOM 366 H HG3 . GLU M 1 28 ? 133.846 110.118 64.045 1.00 4.01 27 M 1 +ATOM 367 N N . LEU M 1 29 ? 135.785 105.403 63.026 1.00 3.51 28 M 1 +ATOM 368 C CA . LEU M 1 29 ? 135.765 103.946 62.933 1.00 3.51 28 M 1 +ATOM 369 C C . LEU M 1 29 ? 137.136 103.360 63.258 1.00 3.51 28 M 1 +ATOM 370 O O . LEU M 1 29 ? 137.245 102.337 63.952 1.00 3.51 28 M 1 +ATOM 371 C CB . LEU M 1 29 ? 135.301 103.527 61.538 1.00 3.51 28 M 1 +ATOM 372 C CG . LEU M 1 29 ? 133.853 103.850 61.150 1.00 3.51 28 M 1 +ATOM 373 C CD1 . LEU M 1 29 ? 133.595 103.571 59.675 1.00 3.51 28 M 1 +ATOM 374 C CD2 . LEU M 1 29 ? 132.868 103.099 62.048 1.00 3.51 28 M 1 +ATOM 375 H H . LEU M 1 29 ? 135.653 105.809 62.280 1.00 3.51 28 M 1 +ATOM 376 H HA . LEU M 1 29 ? 135.135 103.595 63.582 1.00 3.51 28 M 1 +ATOM 377 H HB2 . LEU M 1 29 ? 135.875 103.956 60.885 1.00 3.51 28 M 1 +ATOM 378 H HB3 . LEU M 1 29 ? 135.409 102.566 61.462 1.00 3.51 28 M 1 +ATOM 379 H HG . LEU M 1 29 ? 133.694 104.797 61.289 1.00 3.51 28 M 1 +ATOM 380 H HD11 . LEU M 1 29 ? 132.643 103.636 59.502 1.00 3.51 28 M 1 +ATOM 381 H HD12 . LEU M 1 29 ? 134.053 104.234 59.135 1.00 3.51 28 M 1 +ATOM 382 H HD13 . LEU M 1 29 ? 133.912 102.684 59.442 1.00 3.51 28 M 1 +ATOM 383 H HD21 . LEU M 1 29 ? 132.022 102.980 61.589 1.00 3.51 28 M 1 +ATOM 384 H HD22 . LEU M 1 29 ? 133.233 102.231 62.281 1.00 3.51 28 M 1 +ATOM 385 H HD23 . LEU M 1 29 ? 132.726 103.616 62.856 1.00 3.51 28 M 1 +ATOM 386 N N . TYR M 1 30 ? 138.197 104.018 62.789 1.00 3.71 29 M 1 +ATOM 387 C CA . TYR M 1 30 ? 139.553 103.601 63.125 1.00 3.71 29 M 1 +ATOM 388 C C . TYR M 1 30 ? 139.788 103.627 64.630 1.00 3.71 29 M 1 +ATOM 389 O O . TYR M 1 30 ? 140.367 102.694 65.193 1.00 3.71 29 M 1 +ATOM 390 C CB . TYR M 1 30 ? 140.558 104.494 62.407 1.00 3.71 29 M 1 +ATOM 391 C CG . TYR M 1 30 ? 141.983 104.208 62.780 1.00 3.71 29 M 1 +ATOM 392 C CD1 . TYR M 1 30 ? 142.637 103.095 62.294 1.00 3.71 29 M 1 +ATOM 393 C CD2 . TYR M 1 30 ? 142.674 105.050 63.634 1.00 3.71 29 M 1 +ATOM 394 C CE1 . TYR M 1 30 ? 143.934 102.835 62.635 1.00 3.71 29 M 1 +ATOM 395 C CE2 . TYR M 1 30 ? 143.977 104.793 63.983 1.00 3.71 29 M 1 +ATOM 396 C CZ . TYR M 1 30 ? 144.601 103.678 63.482 1.00 3.71 29 M 1 +ATOM 397 O OH . TYR M 1 30 ? 145.902 103.394 63.809 1.00 3.71 29 M 1 +ATOM 398 H H . TYR M 1 30 ? 138.158 104.711 62.281 1.00 3.71 29 M 1 +ATOM 399 H HA . TYR M 1 30 ? 139.690 102.691 62.818 1.00 3.71 29 M 1 +ATOM 400 H HB2 . TYR M 1 30 ? 140.472 104.349 61.452 1.00 3.71 29 M 1 +ATOM 401 H HB3 . TYR M 1 30 ? 140.372 105.424 62.613 1.00 3.71 29 M 1 +ATOM 402 H HD1 . TYR M 1 30 ? 142.192 102.514 61.720 1.00 3.71 29 M 1 +ATOM 403 H HD2 . TYR M 1 30 ? 142.251 105.805 63.975 1.00 3.71 29 M 1 +ATOM 404 H HE1 . TYR M 1 30 ? 144.359 102.079 62.298 1.00 3.71 29 M 1 +ATOM 405 H HE2 . TYR M 1 30 ? 144.429 105.369 64.556 1.00 3.71 29 M 1 +ATOM 406 H HH . TYR M 1 30 ? 146.373 103.345 63.115 1.00 3.71 29 M 1 +ATOM 407 N N . ALA M 1 31 ? 139.356 104.699 65.292 1.00 3.35 30 M 1 +ATOM 408 C CA . ALA M 1 31 ? 139.528 104.812 66.738 1.00 3.35 30 M 1 +ATOM 409 C C . ALA M 1 31 ? 138.774 103.707 67.462 1.00 3.35 30 M 1 +ATOM 410 O O . ALA M 1 31 ? 139.276 103.129 68.437 1.00 3.35 30 M 1 +ATOM 411 C CB . ALA M 1 31 ? 139.056 106.184 67.214 1.00 3.35 30 M 1 +ATOM 412 H H . ALA M 1 31 ? 138.946 105.361 64.927 1.00 3.35 30 M 1 +ATOM 413 H HA . ALA M 1 31 ? 140.472 104.735 66.949 1.00 3.35 30 M 1 +ATOM 414 H HB1 . ALA M 1 31 ? 139.116 106.235 68.181 1.00 3.35 30 M 1 +ATOM 415 H HB2 . ALA M 1 31 ? 139.622 106.867 66.821 1.00 3.35 30 M 1 +ATOM 416 H HB3 . ALA M 1 31 ? 138.134 106.318 66.945 1.00 3.35 30 M 1 +ATOM 417 N N . SER M 1 32 ? 137.564 103.400 66.993 1.00 3.18 31 M 1 +ATOM 418 C CA . SER M 1 32 ? 136.811 102.293 67.567 1.00 3.18 31 M 1 +ATOM 419 C C . SER M 1 32 ? 137.603 100.999 67.464 1.00 3.18 31 M 1 +ATOM 420 O O . SER M 1 32 ? 137.641 100.201 68.404 1.00 3.18 31 M 1 +ATOM 421 C CB . SER M 1 32 ? 135.466 102.139 66.865 1.00 3.18 31 M 1 +ATOM 422 O OG . SER M 1 32 ? 134.752 101.051 67.407 1.00 3.18 31 M 1 +ATOM 423 H H . SER M 1 32 ? 137.174 103.793 66.335 1.00 3.18 31 M 1 +ATOM 424 H HA . SER M 1 32 ? 136.630 102.476 68.502 1.00 3.18 31 M 1 +ATOM 425 H HB2 . SER M 1 32 ? 134.939 102.946 66.973 1.00 3.18 31 M 1 +ATOM 426 H HB3 . SER M 1 32 ? 135.620 101.974 65.922 1.00 3.18 31 M 1 +ATOM 427 H HG . SER M 1 32 ? 135.094 100.829 68.141 1.00 3.18 31 M 1 +ATOM 428 N N . TYR M 1 33 ? 138.275 100.799 66.337 1.00 3.03 32 M 1 +ATOM 429 C CA . TYR M 1 33 ? 138.957 99.533 66.105 1.00 3.03 32 M 1 +ATOM 430 C C . TYR M 1 33 ? 140.246 99.446 66.928 1.00 3.03 32 M 1 +ATOM 431 O O . TYR M 1 33 ? 140.590 98.384 67.463 1.00 3.03 32 M 1 +ATOM 432 C CB . TYR M 1 33 ? 139.148 99.386 64.594 1.00 3.03 32 M 1 +ATOM 433 C CG . TYR M 1 33 ? 139.641 98.067 64.082 1.00 3.03 32 M 1 +ATOM 434 C CD1 . TYR M 1 33 ? 139.026 96.900 64.464 1.00 3.03 32 M 1 +ATOM 435 C CD2 . TYR M 1 33 ? 140.504 98.008 63.005 1.00 3.03 32 M 1 +ATOM 436 C CE1 . TYR M 1 33 ? 139.409 95.696 63.962 1.00 3.03 32 M 1 +ATOM 437 C CE2 . TYR M 1 33 ? 140.878 96.805 62.460 1.00 3.03 32 M 1 +ATOM 438 C CZ . TYR M 1 33 ? 140.315 95.642 62.942 1.00 3.03 32 M 1 +ATOM 439 O OH . TYR M 1 33 ? 140.653 94.414 62.435 1.00 3.03 32 M 1 +ATOM 440 H H . TYR M 1 33 ? 138.348 101.369 65.698 1.00 3.03 32 M 1 +ATOM 441 H HA . TYR M 1 33 ? 138.370 98.818 66.396 1.00 3.03 32 M 1 +ATOM 442 H HB2 . TYR M 1 33 ? 138.302 99.563 64.154 1.00 3.03 32 M 1 +ATOM 443 H HB3 . TYR M 1 33 ? 139.791 100.056 64.312 1.00 3.03 32 M 1 +ATOM 444 H HD1 . TYR M 1 33 ? 138.426 96.924 65.175 1.00 3.03 32 M 1 +ATOM 445 H HD2 . TYR M 1 33 ? 140.889 98.792 62.686 1.00 3.03 32 M 1 +ATOM 446 H HE1 . TYR M 1 33 ? 139.016 94.918 64.286 1.00 3.03 32 M 1 +ATOM 447 H HE2 . TYR M 1 33 ? 141.500 96.784 61.769 1.00 3.03 32 M 1 +ATOM 448 H HH . TYR M 1 33 ? 141.157 94.498 61.768 1.00 3.03 32 M 1 +ATOM 449 N N . VAL M 1 34 ? 140.915 100.585 67.121 1.00 3.46 33 M 1 +ATOM 450 C CA . VAL M 1 34 ? 142.055 100.663 68.039 1.00 3.46 33 M 1 +ATOM 451 C C . VAL M 1 34 ? 141.629 100.281 69.455 1.00 3.46 33 M 1 +ATOM 452 O O . VAL M 1 34 ? 142.290 99.482 70.134 1.00 3.46 33 M 1 +ATOM 453 C CB . VAL M 1 34 ? 142.683 102.071 68.007 1.00 3.46 33 M 1 +ATOM 454 C CG1 . VAL M 1 34 ? 143.748 102.219 69.088 1.00 3.46 33 M 1 +ATOM 455 C CG2 . VAL M 1 34 ? 143.311 102.347 66.654 1.00 3.46 33 M 1 +ATOM 456 H H . VAL M 1 34 ? 140.716 101.332 66.744 1.00 3.46 33 M 1 +ATOM 457 H HA . VAL M 1 34 ? 142.735 100.036 67.747 1.00 3.46 33 M 1 +ATOM 458 H HB . VAL M 1 34 ? 141.995 102.736 68.165 1.00 3.46 33 M 1 +ATOM 459 H HG11 . VAL M 1 34 ? 144.305 102.986 68.882 1.00 3.46 33 M 1 +ATOM 460 H HG12 . VAL M 1 34 ? 143.331 102.360 69.952 1.00 3.46 33 M 1 +ATOM 461 H HG13 . VAL M 1 34 ? 144.301 101.423 69.110 1.00 3.46 33 M 1 +ATOM 462 H HG21 . VAL M 1 34 ? 143.667 103.249 66.651 1.00 3.46 33 M 1 +ATOM 463 H HG22 . VAL M 1 34 ? 144.029 101.713 66.500 1.00 3.46 33 M 1 +ATOM 464 H HG23 . VAL M 1 34 ? 142.654 102.259 65.946 1.00 3.46 33 M 1 +ATOM 465 N N . TYR M 1 35 ? 140.530 100.866 69.919 1.00 3.20 34 M 1 +ATOM 466 C CA . TYR M 1 35 ? 140.001 100.604 71.283 1.00 3.20 34 M 1 +ATOM 467 C C . TYR M 1 35 ? 139.639 99.114 71.378 1.00 3.20 34 M 1 +ATOM 468 O O . TYR M 1 35 ? 139.849 98.500 72.402 1.00 3.20 34 M 1 +ATOM 469 C CB . TYR M 1 35 ? 138.841 101.546 71.587 1.00 3.20 34 M 1 +ATOM 470 C CG . TYR M 1 35 ? 139.250 102.931 72.020 1.00 3.20 34 M 1 +ATOM 471 C CD1 . TYR M 1 35 ? 140.196 103.117 73.010 1.00 3.20 34 M 1 +ATOM 472 C CD2 . TYR M 1 35 ? 138.646 104.058 71.485 1.00 3.20 34 M 1 +ATOM 473 C CE1 . TYR M 1 35 ? 140.544 104.389 73.448 1.00 3.20 34 M 1 +ATOM 474 C CE2 . TYR M 1 35 ? 138.992 105.335 71.899 1.00 3.20 34 M 1 +ATOM 475 C CZ . TYR M 1 35 ? 139.942 105.505 72.889 1.00 3.20 34 M 1 +ATOM 476 O OH . TYR M 1 35 ? 140.290 106.755 73.319 1.00 3.20 34 M 1 +ATOM 477 H H . TYR M 1 35 ? 139.962 101.356 69.405 1.00 3.20 34 M 1 +ATOM 478 H HA . TYR M 1 35 ? 140.725 100.784 71.935 1.00 3.20 34 M 1 +ATOM 479 H HB2 . TYR M 1 35 ? 138.284 101.619 70.784 1.00 3.20 34 M 1 +ATOM 480 H HB3 . TYR M 1 35 ? 138.294 101.144 72.294 1.00 3.20 34 M 1 +ATOM 481 H HD1 . TYR M 1 35 ? 140.606 102.366 73.404 1.00 3.20 34 M 1 +ATOM 482 H HD2 . TYR M 1 35 ? 137.992 103.955 70.813 1.00 3.20 34 M 1 +ATOM 483 H HE1 . TYR M 1 35 ? 141.198 104.495 74.119 1.00 3.20 34 M 1 +ATOM 484 H HE2 . TYR M 1 35 ? 138.571 106.086 71.515 1.00 3.20 34 M 1 +ATOM 485 H HH . TYR M 1 35 ? 139.593 107.177 73.589 1.00 3.20 34 M 1 +ATOM 486 N N . LEU M 1 36 ? 139.084 98.533 70.325 1.00 3.08 35 M 1 +ATOM 487 C CA . LEU M 1 36 ? 138.744 97.115 70.332 1.00 3.08 35 M 1 +ATOM 488 C C . LEU M 1 36 ? 139.990 96.254 70.508 1.00 3.08 35 M 1 +ATOM 489 O O . LEU M 1 36 ? 139.984 95.281 71.274 1.00 3.08 35 M 1 +ATOM 490 C CB . LEU M 1 36 ? 138.005 96.750 69.045 1.00 3.08 35 M 1 +ATOM 491 C CG . LEU M 1 36 ? 137.534 95.304 68.916 1.00 3.08 35 M 1 +ATOM 492 C CD1 . LEU M 1 36 ? 136.553 94.968 70.028 1.00 3.08 35 M 1 +ATOM 493 C CD2 . LEU M 1 36 ? 136.903 95.067 67.564 1.00 3.08 35 M 1 +ATOM 494 H H . LEU M 1 36 ? 138.894 98.952 69.598 1.00 3.08 35 M 1 +ATOM 495 H HA . LEU M 1 36 ? 138.158 96.956 71.088 1.00 3.08 35 M 1 +ATOM 496 H HB2 . LEU M 1 36 ? 137.216 97.310 68.970 1.00 3.08 35 M 1 +ATOM 497 H HB3 . LEU M 1 36 ? 138.587 96.937 68.292 1.00 3.08 35 M 1 +ATOM 498 H HG . LEU M 1 36 ? 138.295 94.706 68.982 1.00 3.08 35 M 1 +ATOM 499 H HD11 . LEU M 1 36 ? 136.178 94.088 69.867 1.00 3.08 35 M 1 +ATOM 500 H HD12 . LEU M 1 36 ? 137.019 94.970 70.879 1.00 3.08 35 M 1 +ATOM 501 H HD13 . LEU M 1 36 ? 135.843 95.629 70.043 1.00 3.08 35 M 1 +ATOM 502 H HD21 . LEU M 1 36 ? 136.535 94.170 67.543 1.00 3.08 35 M 1 +ATOM 503 H HD22 . LEU M 1 36 ? 136.197 95.717 67.423 1.00 3.08 35 M 1 +ATOM 504 H HD23 . LEU M 1 36 ? 137.580 95.162 66.875 1.00 3.08 35 M 1 +ATOM 505 N N . SER M 1 37 ? 141.069 96.611 69.816 1.00 3.69 36 M 1 +ATOM 506 C CA . SER M 1 37 ? 142.323 95.872 69.937 1.00 3.69 36 M 1 +ATOM 507 C C . SER M 1 37 ? 142.871 95.954 71.360 1.00 3.69 36 M 1 +ATOM 508 O O . SER M 1 37 ? 143.339 94.957 71.924 1.00 3.69 36 M 1 +ATOM 509 C CB . SER M 1 37 ? 143.339 96.419 68.940 1.00 3.69 36 M 1 +ATOM 510 O OG . SER M 1 37 ? 144.559 95.726 69.033 1.00 3.69 36 M 1 +ATOM 511 H H . SER M 1 37 ? 141.104 97.291 69.290 1.00 3.69 36 M 1 +ATOM 512 H HA . SER M 1 37 ? 142.174 94.940 69.715 1.00 3.69 36 M 1 +ATOM 513 H HB2 . SER M 1 37 ? 142.982 96.331 68.042 1.00 3.69 36 M 1 +ATOM 514 H HB3 . SER M 1 37 ? 143.507 97.356 69.128 1.00 3.69 36 M 1 +ATOM 515 H HG . SER M 1 37 ? 144.931 95.734 68.280 1.00 3.69 36 M 1 +ATOM 516 N N . MET M 1 38 ? 142.811 97.145 71.956 1.00 3.57 37 M 1 +ATOM 517 C CA . MET M 1 38 ? 143.243 97.312 73.342 1.00 3.57 37 M 1 +ATOM 518 C C . MET M 1 38 ? 142.431 96.421 74.277 1.00 3.57 37 M 1 +ATOM 519 O O . MET M 1 38 ? 142.984 95.719 75.141 1.00 3.57 37 M 1 +ATOM 520 C CB . MET M 1 38 ? 143.122 98.784 73.749 1.00 3.57 37 M 1 +ATOM 521 C CG . MET M 1 38 ? 144.133 99.719 73.108 1.00 3.57 37 M 1 +ATOM 522 S SD . MET M 1 38 ? 143.865 101.435 73.612 1.00 3.57 37 M 1 +ATOM 523 C CE . MET M 1 38 ? 145.135 102.271 72.672 1.00 3.57 37 M 1 +ATOM 524 H H . MET M 1 38 ? 142.498 97.857 71.588 1.00 3.57 37 M 1 +ATOM 525 H HA . MET M 1 38 ? 144.179 97.066 73.411 1.00 3.57 37 M 1 +ATOM 526 H HB2 . MET M 1 38 ? 142.236 99.102 73.516 1.00 3.57 37 M 1 +ATOM 527 H HB3 . MET M 1 38 ? 143.231 98.858 74.710 1.00 3.57 37 M 1 +ATOM 528 H HG2 . MET M 1 38 ? 145.022 99.457 73.394 1.00 3.57 37 M 1 +ATOM 529 H HG3 . MET M 1 38 ? 144.086 99.664 72.141 1.00 3.57 37 M 1 +ATOM 530 H HE1 . MET M 1 38 ? 145.182 103.200 72.947 1.00 3.57 37 M 1 +ATOM 531 H HE2 . MET M 1 38 ? 145.984 101.832 72.837 1.00 3.57 37 M 1 +ATOM 532 H HE3 . MET M 1 38 ? 144.920 102.220 71.728 1.00 3.57 37 M 1 +ATOM 533 N N . SER M 1 39 ? 141.125 96.439 74.059 1.00 3.57 38 M 1 +ATOM 534 C CA . SER M 1 39 ? 140.177 95.667 74.882 1.00 3.57 38 M 1 +ATOM 535 C C . SER M 1 39 ? 140.572 94.195 74.781 1.00 3.57 38 M 1 +ATOM 536 O O . SER M 1 39 ? 140.725 93.591 75.818 1.00 3.57 38 M 1 +ATOM 537 C CB . SER M 1 39 ? 138.755 95.858 74.453 1.00 3.57 38 M 1 +ATOM 538 O OG . SER M 1 39 ? 137.885 95.283 75.403 1.00 3.57 38 M 1 +ATOM 539 H H . SER M 1 39 ? 140.739 96.797 73.317 1.00 3.57 38 M 1 +ATOM 540 H HA . SER M 1 39 ? 140.271 95.958 75.829 1.00 3.57 38 M 1 +ATOM 541 H HB2 . SER M 1 39 ? 138.563 96.819 74.367 1.00 3.57 38 M 1 +ATOM 542 H HB3 . SER M 1 39 ? 138.616 95.434 73.576 1.00 3.57 38 M 1 +ATOM 543 H HG . SER M 1 39 ? 138.336 95.071 76.086 1.00 3.57 38 M 1 +ATOM 544 N N . CYS M 1 40 ? 140.888 93.717 73.583 1.00 4.32 39 M 1 +ATOM 545 C CA . CYS M 1 40 ? 141.264 92.302 73.348 1.00 4.32 39 M 1 +ATOM 546 C C . CYS M 1 40 ? 142.555 92.007 74.115 1.00 4.32 39 M 1 +ATOM 547 O O . CYS M 1 40 ? 142.598 91.009 74.795 1.00 4.32 39 M 1 +ATOM 548 C CB . CYS M 1 40 ? 141.449 92.000 71.865 1.00 4.32 39 M 1 +ATOM 549 S SG . CYS M 1 40 ? 139.891 91.997 70.941 1.00 4.32 39 M 1 +ATOM 550 H H . CYS M 1 40 ? 141.025 94.242 72.853 1.00 4.32 39 M 1 +ATOM 551 H HA . CYS M 1 40 ? 140.545 91.729 73.700 1.00 4.32 39 M 1 +ATOM 552 H HB2 . CYS M 1 40 ? 142.044 92.671 71.472 1.00 4.32 39 M 1 +ATOM 553 H HB3 . CYS M 1 40 ? 141.874 91.124 71.765 1.00 4.32 39 M 1 +ATOM 554 H HG . CYS M 1 40 ? 140.354 91.741 69.861 1.00 4.32 39 M 1 +ATOM 555 N N . TYR M 1 41 ? 143.500 92.935 74.109 1.00 4.38 40 M 1 +ATOM 556 C CA . TYR M 1 41 ? 144.808 92.747 74.775 1.00 4.38 40 M 1 +ATOM 557 C C . TYR M 1 41 ? 144.627 92.543 76.279 1.00 4.38 40 M 1 +ATOM 558 O O . TYR M 1 41 ? 145.227 91.640 76.793 1.00 4.38 40 M 1 +ATOM 559 C CB . TYR M 1 41 ? 145.702 93.952 74.532 1.00 4.38 40 M 1 +ATOM 560 C CG . TYR M 1 41 ? 147.002 93.889 75.275 1.00 4.38 40 M 1 +ATOM 561 C CD1 . TYR M 1 41 ? 148.056 93.128 74.805 1.00 4.38 40 M 1 +ATOM 562 C CD2 . TYR M 1 41 ? 147.181 94.611 76.438 1.00 4.38 40 M 1 +ATOM 563 C CE1 . TYR M 1 41 ? 149.266 93.079 75.479 1.00 4.38 40 M 1 +ATOM 564 C CE2 . TYR M 1 41 ? 148.382 94.574 77.123 1.00 4.38 40 M 1 +ATOM 565 C CZ . TYR M 1 41 ? 149.423 93.798 76.649 1.00 4.38 40 M 1 +ATOM 566 O OH . TYR M 1 41 ? 150.601 93.766 77.329 1.00 4.38 40 M 1 +ATOM 567 H H . TYR M 1 41 ? 143.368 93.789 73.825 1.00 4.38 40 M 1 +ATOM 568 H HA . TYR M 1 41 ? 145.245 91.942 74.397 1.00 4.38 40 M 1 +ATOM 569 H HB2 . TYR M 1 41 ? 145.886 94.017 73.571 1.00 4.38 40 M 1 +ATOM 570 H HB3 . TYR M 1 41 ? 145.218 94.761 74.802 1.00 4.38 40 M 1 +ATOM 571 H HD1 . TYR M 1 41 ? 147.951 92.633 74.009 1.00 4.38 40 M 1 +ATOM 572 H HD2 . TYR M 1 41 ? 146.475 95.140 76.771 1.00 4.38 40 M 1 +ATOM 573 H HE1 . TYR M 1 41 ? 149.973 92.549 75.150 1.00 4.38 40 M 1 +ATOM 574 H HE2 . TYR M 1 41 ? 148.487 95.066 77.920 1.00 4.38 40 M 1 +ATOM 575 H HH . TYR M 1 41 ? 150.480 93.440 78.113 1.00 4.38 40 M 1 +ATOM 576 N N . PHE M 1 42 ? 143.784 93.325 76.942 1.00 3.75 41 M 1 +ATOM 577 C CA . PHE M 1 42 ? 143.626 93.250 78.424 1.00 3.75 41 M 1 +ATOM 578 C C . PHE M 1 42 ? 142.893 91.962 78.827 1.00 3.75 41 M 1 +ATOM 579 O O . PHE M 1 42 ? 142.921 91.650 79.995 1.00 3.75 41 M 1 +ATOM 580 C CB . PHE M 1 42 ? 143.056 94.559 78.978 1.00 3.75 41 M 1 +ATOM 581 C CG . PHE M 1 42 ? 144.075 95.668 78.885 1.00 3.75 41 M 1 +ATOM 582 C CD1 . PHE M 1 42 ? 145.167 95.702 79.740 1.00 3.75 41 M 1 +ATOM 583 C CD2 . PHE M 1 42 ? 144.003 96.615 77.879 1.00 3.75 41 M 1 +ATOM 584 C CE1 . PHE M 1 42 ? 146.147 96.675 79.609 1.00 3.75 41 M 1 +ATOM 585 C CE2 . PHE M 1 42 ? 144.963 97.613 77.774 1.00 3.75 41 M 1 +ATOM 586 C CZ . PHE M 1 42 ? 146.039 97.634 78.626 1.00 3.75 41 M 1 +ATOM 587 H H . PHE M 1 42 ? 143.184 93.883 76.545 1.00 3.75 41 M 1 +ATOM 588 H HA . PHE M 1 42 ? 144.541 93.169 78.795 1.00 3.75 41 M 1 +ATOM 589 H HB2 . PHE M 1 42 ? 142.257 94.803 78.468 1.00 3.75 41 M 1 +ATOM 590 H HB3 . PHE M 1 42 ? 142.799 94.426 79.914 1.00 3.75 41 M 1 +ATOM 591 H HD1 . PHE M 1 42 ? 145.254 95.040 80.407 1.00 3.75 41 M 1 +ATOM 592 H HD2 . PHE M 1 42 ? 143.271 96.606 77.284 1.00 3.75 41 M 1 +ATOM 593 H HE1 . PHE M 1 42 ? 146.871 96.699 80.214 1.00 3.75 41 M 1 +ATOM 594 H HE2 . PHE M 1 42 ? 144.890 98.263 77.093 1.00 3.75 41 M 1 +ATOM 595 H HZ . PHE M 1 42 ? 146.689 98.314 78.553 1.00 3.75 41 M 1 +ATOM 596 N N . ASP M 1 43 ? 142.191 91.322 77.898 1.00 4.58 42 M 1 +ATOM 597 C CA . ASP M 1 43 ? 141.473 90.038 78.080 1.00 4.58 42 M 1 +ATOM 598 C C . ASP M 1 43 ? 142.425 88.840 77.923 1.00 4.58 42 M 1 +ATOM 599 O O . ASP M 1 43 ? 142.006 87.752 78.194 1.00 4.58 42 M 1 +ATOM 600 C CB . ASP M 1 43 ? 140.329 89.942 77.072 1.00 4.58 42 M 1 +ATOM 601 C CG . ASP M 1 43 ? 139.568 88.639 77.147 1.00 4.58 42 M 1 +ATOM 602 O OD1 . ASP M 1 43 ? 139.070 88.323 78.243 1.00 4.58 42 M 1 +ATOM 603 O OD2 . ASP M 1 43 ? 139.491 87.950 76.115 1.00 4.58 42 M 1 +ATOM 604 H H . ASP M 1 43 ? 142.065 91.654 77.065 1.00 4.58 42 M 1 +ATOM 605 H HA . ASP M 1 43 ? 141.091 90.021 78.989 1.00 4.58 42 M 1 +ATOM 606 H HB2 . ASP M 1 43 ? 139.701 90.677 77.231 1.00 4.58 42 M 1 +ATOM 607 H HB3 . ASP M 1 43 ? 140.690 90.039 76.168 1.00 4.58 42 M 1 +ATOM 608 N N . ARG M 1 44 ? 143.669 89.028 77.488 1.00 4.59 43 M 1 +ATOM 609 C CA . ARG M 1 44 ? 144.629 87.906 77.341 1.00 4.59 43 M 1 +ATOM 610 C C . ARG M 1 44 ? 144.872 87.264 78.707 1.00 4.59 43 M 1 +ATOM 611 O O . ARG M 1 44 ? 144.960 87.979 79.676 1.00 4.59 43 M 1 +ATOM 612 C CB . ARG M 1 44 ? 145.945 88.407 76.749 1.00 4.59 43 M 1 +ATOM 613 C CG . ARG M 1 44 ? 145.842 88.780 75.285 1.00 4.59 43 M 1 +ATOM 614 C CD . ARG M 1 44 ? 147.064 89.496 74.784 1.00 4.59 43 M 1 +ATOM 615 N NE . ARG M 1 44 ? 148.304 88.846 75.136 1.00 4.59 43 M 1 +ATOM 616 C CZ . ARG M 1 44 ? 149.445 89.019 74.482 1.00 4.59 43 M 1 +ATOM 617 N NH1 . ARG M 1 44 ? 149.498 89.823 73.439 1.00 4.59 43 M 1 +ATOM 618 N NH2 . ARG M 1 44 ? 150.530 88.386 74.877 1.00 4.59 43 M 1 +ATOM 619 H H . ARG M 1 44 ? 144.027 89.832 77.290 1.00 4.59 43 M 1 +ATOM 620 H HA . ARG M 1 44 ? 144.238 87.234 76.736 1.00 4.59 43 M 1 +ATOM 621 H HB2 . ARG M 1 44 ? 146.239 89.192 77.257 1.00 4.59 43 M 1 +ATOM 622 H HB3 . ARG M 1 44 ? 146.623 87.708 76.852 1.00 4.59 43 M 1 +ATOM 623 H HG2 . ARG M 1 44 ? 145.710 87.966 74.753 1.00 4.59 43 M 1 +ATOM 624 H HG3 . ARG M 1 44 ? 145.059 89.356 75.152 1.00 4.59 43 M 1 +ATOM 625 H HD2 . ARG M 1 44 ? 147.011 89.569 73.807 1.00 4.59 43 M 1 +ATOM 626 H HD3 . ARG M 1 44 ? 147.069 90.407 75.149 1.00 4.59 43 M 1 +ATOM 627 H HE . ARG M 1 44 ? 148.305 88.305 75.821 1.00 4.59 43 M 1 +ATOM 628 H HH11 . ARG M 1 44 ? 148.775 90.249 73.178 1.00 4.59 43 M 1 +ATOM 629 H HH12 . ARG M 1 44 ? 150.258 89.935 73.012 1.00 4.59 43 M 1 +ATOM 630 H HH21 . ARG M 1 44 ? 150.499 87.850 75.555 1.00 4.59 43 M 1 +ATOM 631 H HH22 . ARG M 1 44 ? 151.285 88.501 74.438 1.00 4.59 43 M 1 +ATOM 632 N N . ASP M 1 45 ? 145.103 85.958 78.766 1.00 4.97 44 M 1 +ATOM 633 C CA . ASP M 1 45 ? 145.355 85.256 80.057 1.00 4.97 44 M 1 +ATOM 634 C C . ASP M 1 45 ? 146.668 85.742 80.712 1.00 4.97 44 M 1 +ATOM 635 O O . ASP M 1 45 ? 146.819 85.489 81.891 1.00 4.97 44 M 1 +ATOM 636 C CB . ASP M 1 45 ? 145.349 83.739 79.894 1.00 4.97 44 M 1 +ATOM 637 C CG . ASP M 1 45 ? 146.620 83.284 79.220 1.00 4.97 44 M 1 +ATOM 638 O OD1 . ASP M 1 45 ? 147.606 83.093 79.940 1.00 4.97 44 M 1 +ATOM 639 O OD2 . ASP M 1 45 ? 146.633 83.234 77.997 1.00 4.97 44 M 1 +ATOM 640 H H . ASP M 1 45 ? 145.234 85.444 78.027 1.00 4.97 44 M 1 +ATOM 641 H HA . ASP M 1 45 ? 144.615 85.487 80.666 1.00 4.97 44 M 1 +ATOM 642 H HB2 . ASP M 1 45 ? 145.279 83.310 80.771 1.00 4.97 44 M 1 +ATOM 643 H HB3 . ASP M 1 45 ? 144.582 83.466 79.350 1.00 4.97 44 M 1 +ATOM 644 N N . ASP M 1 46 ? 147.649 86.258 79.969 1.00 4.81 45 M 1 +ATOM 645 C CA . ASP M 1 46 ? 148.928 86.748 80.536 1.00 4.81 45 M 1 +ATOM 646 C C . ASP M 1 46 ? 148.867 88.257 80.847 1.00 4.81 45 M 1 +ATOM 647 O O . ASP M 1 46 ? 149.900 88.769 81.216 1.00 4.81 45 M 1 +ATOM 648 C CB . ASP M 1 46 ? 150.117 86.389 79.649 1.00 4.81 45 M 1 +ATOM 649 C CG . ASP M 1 46 ? 149.985 86.864 78.215 1.00 4.81 45 M 1 +ATOM 650 O OD1 . ASP M 1 46 ? 148.921 87.352 77.865 1.00 4.81 45 M 1 +ATOM 651 O OD2 . ASP M 1 46 ? 150.959 86.728 77.462 1.00 4.81 45 M 1 +ATOM 652 H H . ASP M 1 46 ? 147.592 86.348 79.066 1.00 4.81 45 M 1 +ATOM 653 H HA . ASP M 1 46 ? 149.061 86.277 81.392 1.00 4.81 45 M 1 +ATOM 654 H HB2 . ASP M 1 46 ? 150.928 86.785 80.029 1.00 4.81 45 M 1 +ATOM 655 H HB3 . ASP M 1 46 ? 150.227 85.417 79.642 1.00 4.81 45 M 1 +ATOM 656 N N . VAL M 1 47 ? 147.711 88.919 80.748 1.00 4.20 46 M 1 +ATOM 657 C CA . VAL M 1 47 ? 147.532 90.321 81.107 1.00 4.20 46 M 1 +ATOM 658 C C . VAL M 1 47 ? 146.468 90.377 82.200 1.00 4.20 46 M 1 +ATOM 659 O O . VAL M 1 47 ? 146.740 90.802 83.326 1.00 4.20 46 M 1 +ATOM 660 C CB . VAL M 1 47 ? 147.159 91.167 79.874 1.00 4.20 46 M 1 +ATOM 661 C CG1 . VAL M 1 47 ? 146.894 92.607 80.267 1.00 4.20 46 M 1 +ATOM 662 C CG2 . VAL M 1 47 ? 148.260 91.084 78.816 1.00 4.20 46 M 1 +ATOM 663 H H . VAL M 1 47 ? 146.975 88.546 80.505 1.00 4.20 46 M 1 +ATOM 664 H HA . VAL M 1 47 ? 148.355 90.681 81.473 1.00 4.20 46 M 1 +ATOM 665 H HB . VAL M 1 47 ? 146.348 90.817 79.473 1.00 4.20 46 M 1 +ATOM 666 H HG11 . VAL M 1 47 ? 146.844 93.141 79.459 1.00 4.20 46 M 1 +ATOM 667 H HG12 . VAL M 1 47 ? 146.053 92.662 80.747 1.00 4.20 46 M 1 +ATOM 668 H HG13 . VAL M 1 47 ? 147.615 92.937 80.825 1.00 4.20 46 M 1 +ATOM 669 H HG21 . VAL M 1 47 ? 148.056 91.680 78.078 1.00 4.20 46 M 1 +ATOM 670 H HG22 . VAL M 1 47 ? 149.110 91.329 79.214 1.00 4.20 46 M 1 +ATOM 671 H HG23 . VAL M 1 47 ? 148.314 90.176 78.480 1.00 4.20 46 M 1 +ATOM 672 N N . ALA M 1 48 ? 145.252 89.939 81.871 1.00 4.09 47 M 1 +ATOM 673 C CA . ALA M 1 48 ? 144.226 89.581 82.848 1.00 4.09 47 M 1 +ATOM 674 C C . ALA M 1 48 ? 143.784 90.780 83.690 1.00 4.09 47 M 1 +ATOM 675 O O . ALA M 1 48 ? 143.736 90.720 84.918 1.00 4.09 47 M 1 +ATOM 676 C CB . ALA M 1 48 ? 144.712 88.431 83.733 1.00 4.09 47 M 1 +ATOM 677 H H . ALA M 1 48 ? 144.982 89.848 81.060 1.00 4.09 47 M 1 +ATOM 678 H HA . ALA M 1 48 ? 143.445 89.262 82.369 1.00 4.09 47 M 1 +ATOM 679 H HB1 . ALA M 1 48 ? 143.981 88.111 84.285 1.00 4.09 47 M 1 +ATOM 680 H HB2 . ALA M 1 48 ? 145.014 87.713 83.155 1.00 4.09 47 M 1 +ATOM 681 H HB3 . ALA M 1 48 ? 145.456 88.731 84.279 1.00 4.09 47 M 1 +ATOM 682 N N . LEU M 1 49 ? 143.443 91.870 83.008 1.00 3.91 48 M 1 +ATOM 683 C CA . LEU M 1 49 ? 142.931 93.101 83.616 1.00 3.91 48 M 1 +ATOM 684 C C . LEU M 1 49 ? 141.549 93.386 83.022 1.00 3.91 48 M 1 +ATOM 685 O O . LEU M 1 49 ? 141.416 94.075 82.011 1.00 3.91 48 M 1 +ATOM 686 C CB . LEU M 1 49 ? 143.918 94.244 83.389 1.00 3.91 48 M 1 +ATOM 687 C CG . LEU M 1 49 ? 145.258 94.024 84.111 1.00 3.91 48 M 1 +ATOM 688 C CD1 . LEU M 1 49 ? 146.322 95.005 83.680 1.00 3.91 48 M 1 +ATOM 689 C CD2 . LEU M 1 49 ? 145.071 94.083 85.631 1.00 3.91 48 M 1 +ATOM 690 H H . LEU M 1 49 ? 143.516 91.927 82.153 1.00 3.91 48 M 1 +ATOM 691 H HA . LEU M 1 49 ? 142.808 92.984 84.571 1.00 3.91 48 M 1 +ATOM 692 H HB2 . LEU M 1 49 ? 144.095 94.342 82.440 1.00 3.91 48 M 1 +ATOM 693 H HB3 . LEU M 1 49 ? 143.525 95.066 83.722 1.00 3.91 48 M 1 +ATOM 694 H HG . LEU M 1 49 ? 145.595 93.140 83.896 1.00 3.91 48 M 1 +ATOM 695 H HD11 . LEU M 1 49 ? 147.187 94.570 83.732 1.00 3.91 48 M 1 +ATOM 696 H HD12 . LEU M 1 49 ? 146.165 95.292 82.767 1.00 3.91 48 M 1 +ATOM 697 H HD13 . LEU M 1 49 ? 146.309 95.769 84.278 1.00 3.91 48 M 1 +ATOM 698 H HD21 . LEU M 1 49 ? 145.899 94.367 86.048 1.00 3.91 48 M 1 +ATOM 699 H HD22 . LEU M 1 49 ? 144.367 94.712 85.853 1.00 3.91 48 M 1 +ATOM 700 H HD23 . LEU M 1 49 ? 144.830 93.201 85.954 1.00 3.91 48 M 1 +ATOM 701 N N . LYS M 1 50 ? 140.522 92.794 83.640 1.00 4.48 49 M 1 +ATOM 702 C CA . LYS M 1 50 ? 139.116 92.801 83.147 1.00 4.48 49 M 1 +ATOM 703 C C . LYS M 1 50 ? 138.529 94.213 83.070 1.00 4.48 49 M 1 +ATOM 704 O O . LYS M 1 50 ? 137.806 94.487 82.119 1.00 4.48 49 M 1 +ATOM 705 C CB . LYS M 1 50 ? 138.251 91.891 84.020 1.00 4.48 49 M 1 +ATOM 706 C CG . LYS M 1 50 ? 138.716 90.445 84.052 1.00 4.48 49 M 1 +ATOM 707 C CD . LYS M 1 50 ? 137.781 89.541 84.839 1.00 4.48 49 M 1 +ATOM 708 C CE . LYS M 1 50 ? 138.133 88.076 84.693 1.00 4.48 49 M 1 +ATOM 709 N NZ . LYS M 1 50 ? 136.916 87.233 84.702 1.00 4.48 49 M 1 +ATOM 710 H H . LYS M 1 50 ? 140.604 92.440 84.474 1.00 4.48 49 M 1 +ATOM 711 H HA . LYS M 1 50 ? 139.122 92.429 82.235 1.00 4.48 49 M 1 +ATOM 712 H HB2 . LYS M 1 50 ? 138.251 92.242 84.935 1.00 4.48 49 M 1 +ATOM 713 H HB3 . LYS M 1 50 ? 137.331 91.918 83.686 1.00 4.48 49 M 1 +ATOM 714 H HG2 . LYS M 1 50 ? 138.785 90.113 83.132 1.00 4.48 49 M 1 +ATOM 715 H HG3 . LYS M 1 50 ? 139.611 90.408 84.454 1.00 4.48 49 M 1 +ATOM 716 H HD2 . LYS M 1 50 ? 137.820 89.785 85.789 1.00 4.48 49 M 1 +ATOM 717 H HD3 . LYS M 1 50 ? 136.861 89.680 84.528 1.00 4.48 49 M 1 +ATOM 718 H HE2 . LYS M 1 50 ? 138.613 87.935 83.854 1.00 4.48 49 M 1 +ATOM 719 H HE3 . LYS M 1 50 ? 138.716 87.803 85.427 1.00 4.48 49 M 1 +ATOM 720 H HZ1 . LYS M 1 50 ? 137.138 86.370 84.536 1.00 4.48 49 M 1 +ATOM 721 H HZ2 . LYS M 1 50 ? 136.512 87.285 85.513 1.00 4.48 49 M 1 +ATOM 722 H HZ3 . LYS M 1 50 ? 136.338 87.519 84.064 1.00 4.48 49 M 1 +ATOM 723 N N . ASN M 1 51 ? 138.832 95.061 84.037 1.00 4.04 50 M 1 +ATOM 724 C CA . ASN M 1 51 ? 138.313 96.445 84.094 1.00 4.04 50 M 1 +ATOM 725 C C . ASN M 1 51 ? 138.979 97.259 82.986 1.00 4.04 50 M 1 +ATOM 726 O O . ASN M 1 51 ? 138.313 98.120 82.470 1.00 4.04 50 M 1 +ATOM 727 C CB . ASN M 1 51 ? 138.358 97.030 85.502 1.00 4.04 50 M 1 +ATOM 728 C CG . ASN M 1 51 ? 137.360 96.332 86.403 1.00 4.04 50 M 1 +ATOM 729 O OD1 . ASN M 1 51 ? 136.337 95.857 85.933 1.00 4.04 50 M 1 +ATOM 730 N ND2 . ASN M 1 51 ? 137.675 96.201 87.674 1.00 4.04 50 M 1 +ATOM 731 H H . ASN M 1 51 ? 139.425 94.854 84.696 1.00 4.04 50 M 1 +ATOM 732 H HA . ASN M 1 51 ? 137.356 96.389 83.863 1.00 4.04 50 M 1 +ATOM 733 H HB2 . ASN M 1 51 ? 139.259 96.924 85.868 1.00 4.04 50 M 1 +ATOM 734 H HB3 . ASN M 1 51 ? 138.149 97.986 85.462 1.00 4.04 50 M 1 +ATOM 735 H HD21 . ASN M 1 51 ? 138.442 96.521 87.975 1.00 4.04 50 M 1 +ATOM 736 H HD22 . ASN M 1 51 ? 137.119 95.793 88.228 1.00 4.04 50 M 1 +ATOM 737 N N . PHE M 1 52 ? 140.264 97.074 82.697 1.00 3.78 51 M 1 +ATOM 738 C CA . PHE M 1 52 ? 140.889 97.787 81.553 1.00 3.78 51 M 1 +ATOM 739 C C . PHE M 1 52 ? 140.179 97.325 80.269 1.00 3.78 51 M 1 +ATOM 740 O O . PHE M 1 52 ? 139.787 98.165 79.473 1.00 3.78 51 M 1 +ATOM 741 C CB . PHE M 1 52 ? 142.386 97.523 81.457 1.00 3.78 51 M 1 +ATOM 742 C CG . PHE M 1 52 ? 143.231 98.417 82.334 1.00 3.78 51 M 1 +ATOM 743 C CD1 . PHE M 1 52 ? 143.460 98.114 83.666 1.00 3.78 51 M 1 +ATOM 744 C CD2 . PHE M 1 52 ? 143.836 99.549 81.815 1.00 3.78 51 M 1 +ATOM 745 C CE1 . PHE M 1 52 ? 144.276 98.921 84.452 1.00 3.78 51 M 1 +ATOM 746 C CE2 . PHE M 1 52 ? 144.649 100.353 82.597 1.00 3.78 51 M 1 +ATOM 747 C CZ . PHE M 1 52 ? 144.872 100.031 83.914 1.00 3.78 51 M 1 +ATOM 748 H H . PHE M 1 52 ? 140.864 96.663 83.243 1.00 3.78 51 M 1 +ATOM 749 H HA . PHE M 1 52 ? 140.741 98.761 81.665 1.00 3.78 51 M 1 +ATOM 750 H HB2 . PHE M 1 52 ? 142.552 96.589 81.703 1.00 3.78 51 M 1 +ATOM 751 H HB3 . PHE M 1 52 ? 142.662 97.640 80.524 1.00 3.78 51 M 1 +ATOM 752 H HD1 . PHE M 1 52 ? 143.069 97.340 84.040 1.00 3.78 51 M 1 +ATOM 753 H HD2 . PHE M 1 52 ? 143.705 99.767 80.906 1.00 3.78 51 M 1 +ATOM 754 H HE1 . PHE M 1 52 ? 144.419 98.703 85.359 1.00 3.78 51 M 1 +ATOM 755 H HE2 . PHE M 1 52 ? 145.049 101.123 82.225 1.00 3.78 51 M 1 +ATOM 756 H HZ . PHE M 1 52 ? 145.407 100.591 84.454 1.00 3.78 51 M 1 +ATOM 757 N N . ALA M 1 53 ? 139.908 96.025 80.142 1.00 3.65 52 M 1 +ATOM 758 C CA . ALA M 1 53 ? 139.238 95.471 78.940 1.00 3.65 52 M 1 +ATOM 759 C C . ALA M 1 53 ? 137.855 96.116 78.772 1.00 3.65 52 M 1 +ATOM 760 O O . ALA M 1 53 ? 137.594 96.572 77.712 1.00 3.65 52 M 1 +ATOM 761 C CB . ALA M 1 53 ? 139.126 93.973 79.054 1.00 3.65 52 M 1 +ATOM 762 H H . ALA M 1 53 ? 139.978 95.422 80.819 1.00 3.65 52 M 1 +ATOM 763 H HA . ALA M 1 53 ? 139.784 95.690 78.148 1.00 3.65 52 M 1 +ATOM 764 H HB1 . ALA M 1 53 ? 138.698 93.617 78.257 1.00 3.65 52 M 1 +ATOM 765 H HB2 . ALA M 1 53 ? 140.013 93.587 79.145 1.00 3.65 52 M 1 +ATOM 766 H HB3 . ALA M 1 53 ? 138.593 93.746 79.835 1.00 3.65 52 M 1 +ATOM 767 N N . LYS M 1 54 ? 137.059 96.217 79.827 1.00 4.07 53 M 1 +ATOM 768 C CA . LYS M 1 54 ? 135.720 96.798 79.806 1.00 4.07 53 M 1 +ATOM 769 C C . LYS M 1 54 ? 135.766 98.273 79.442 1.00 4.07 53 M 1 +ATOM 770 O O . LYS M 1 54 ? 134.953 98.751 78.641 1.00 4.07 53 M 1 +ATOM 771 C CB . LYS M 1 54 ? 135.038 96.601 81.160 1.00 4.07 53 M 1 +ATOM 772 C CG . LYS M 1 54 ? 134.600 95.184 81.418 1.00 4.07 53 M 1 +ATOM 773 C CD . LYS M 1 54 ? 133.912 95.041 82.759 1.00 4.07 53 M 1 +ATOM 774 C CE . LYS M 1 54 ? 133.444 93.611 82.976 1.00 4.07 53 M 1 +ATOM 775 N NZ . LYS M 1 54 ? 132.778 93.456 84.294 1.00 4.07 53 M 1 +ATOM 776 H H . LYS M 1 54 ? 137.302 95.910 80.593 1.00 4.07 53 M 1 +ATOM 777 H HA . LYS M 1 54 ? 135.183 96.335 79.144 1.00 4.07 53 M 1 +ATOM 778 H HB2 . LYS M 1 54 ? 135.659 96.855 81.860 1.00 4.07 53 M 1 +ATOM 779 H HB3 . LYS M 1 54 ? 134.249 97.163 81.211 1.00 4.07 53 M 1 +ATOM 780 H HG2 . LYS M 1 54 ? 133.980 94.913 80.723 1.00 4.07 53 M 1 +ATOM 781 H HG3 . LYS M 1 54 ? 135.371 94.596 81.413 1.00 4.07 53 M 1 +ATOM 782 H HD2 . LYS M 1 54 ? 134.544 95.254 83.463 1.00 4.07 53 M 1 +ATOM 783 H HD3 . LYS M 1 54 ? 133.151 95.641 82.799 1.00 4.07 53 M 1 +ATOM 784 H HE2 . LYS M 1 54 ? 132.810 93.380 82.279 1.00 4.07 53 M 1 +ATOM 785 H HE3 . LYS M 1 54 ? 134.202 93.006 82.939 1.00 4.07 53 M 1 +ATOM 786 H HZ1 . LYS M 1 54 ? 132.343 92.681 84.331 1.00 4.07 53 M 1 +ATOM 787 H HZ2 . LYS M 1 54 ? 133.386 93.475 84.944 1.00 4.07 53 M 1 +ATOM 788 H HZ3 . LYS M 1 54 ? 132.201 94.122 84.421 1.00 4.07 53 M 1 +ATOM 789 N N . TYR M 1 55 ? 136.721 99.003 80.017 1.00 3.64 54 M 1 +ATOM 790 C CA . TYR M 1 55 ? 136.889 100.416 79.716 1.00 3.64 54 M 1 +ATOM 791 C C . TYR M 1 55 ? 137.089 100.630 78.223 1.00 3.64 54 M 1 +ATOM 792 O O . TYR M 1 55 ? 136.367 101.408 77.587 1.00 3.64 54 M 1 +ATOM 793 C CB . TYR M 1 55 ? 138.079 100.968 80.500 1.00 3.64 54 M 1 +ATOM 794 C CG . TYR M 1 55 ? 138.327 102.435 80.293 1.00 3.64 54 M 1 +ATOM 795 C CD1 . TYR M 1 55 ? 137.546 103.371 80.930 1.00 3.64 54 M 1 +ATOM 796 C CD2 . TYR M 1 55 ? 139.335 102.885 79.461 1.00 3.64 54 M 1 +ATOM 797 C CE1 . TYR M 1 55 ? 137.758 104.712 80.757 1.00 3.64 54 M 1 +ATOM 798 C CE2 . TYR M 1 55 ? 139.557 104.229 79.278 1.00 3.64 54 M 1 +ATOM 799 C CZ . TYR M 1 55 ? 138.761 105.141 79.932 1.00 3.64 54 M 1 +ATOM 800 O OH . TYR M 1 55 ? 138.958 106.493 79.769 1.00 3.64 54 M 1 +ATOM 801 H H . TYR M 1 55 ? 137.298 98.689 80.572 1.00 3.64 54 M 1 +ATOM 802 H HA . TYR M 1 55 ? 136.094 100.896 79.997 1.00 3.64 54 M 1 +ATOM 803 H HB2 . TYR M 1 55 ? 137.905 100.843 81.446 1.00 3.64 54 M 1 +ATOM 804 H HB3 . TYR M 1 55 ? 138.884 100.486 80.254 1.00 3.64 54 M 1 +ATOM 805 H HD1 . TYR M 1 55 ? 136.866 103.082 81.495 1.00 3.64 54 M 1 +ATOM 806 H HD2 . TYR M 1 55 ? 139.873 102.270 79.017 1.00 3.64 54 M 1 +ATOM 807 H HE1 . TYR M 1 55 ? 137.219 105.326 81.201 1.00 3.64 54 M 1 +ATOM 808 H HE2 . TYR M 1 55 ? 140.238 104.516 78.714 1.00 3.64 54 M 1 +ATOM 809 H HH . TYR M 1 55 ? 139.605 106.634 79.252 1.00 3.64 54 M 1 +ATOM 810 N N . PHE M 1 56 ? 138.045 99.916 77.638 1.00 3.26 55 M 1 +ATOM 811 C CA . PHE M 1 56 ? 138.361 100.183 76.241 1.00 3.26 55 M 1 +ATOM 812 C C . PHE M 1 56 ? 137.272 99.657 75.307 1.00 3.26 55 M 1 +ATOM 813 O O . PHE M 1 56 ? 137.034 100.239 74.247 1.00 3.26 55 M 1 +ATOM 814 C CB . PHE M 1 56 ? 139.732 99.626 75.871 1.00 3.26 55 M 1 +ATOM 815 C CG . PHE M 1 56 ? 140.876 100.339 76.545 1.00 3.26 55 M 1 +ATOM 816 C CD1 . PHE M 1 56 ? 141.155 101.654 76.234 1.00 3.26 55 M 1 +ATOM 817 C CD2 . PHE M 1 56 ? 141.736 99.677 77.390 1.00 3.26 55 M 1 +ATOM 818 C CE1 . PHE M 1 56 ? 142.198 102.309 76.825 1.00 3.26 55 M 1 +ATOM 819 C CE2 . PHE M 1 56 ? 142.796 100.338 77.966 1.00 3.26 55 M 1 +ATOM 820 C CZ . PHE M 1 56 ? 143.023 101.646 77.678 1.00 3.26 55 M 1 +ATOM 821 H H . PHE M 1 56 ? 138.498 99.287 78.010 1.00 3.26 55 M 1 +ATOM 822 H HA . PHE M 1 56 ? 138.401 101.145 76.120 1.00 3.26 55 M 1 +ATOM 823 H HB2 . PHE M 1 56 ? 139.762 98.690 76.124 1.00 3.26 55 M 1 +ATOM 824 H HB3 . PHE M 1 56 ? 139.856 99.697 74.912 1.00 3.26 55 M 1 +ATOM 825 H HD1 . PHE M 1 56 ? 140.589 102.126 75.666 1.00 3.26 55 M 1 +ATOM 826 H HD2 . PHE M 1 56 ? 141.590 98.782 77.595 1.00 3.26 55 M 1 +ATOM 827 H HE1 . PHE M 1 56 ? 142.360 103.203 76.628 1.00 3.26 55 M 1 +ATOM 828 H HE2 . PHE M 1 56 ? 143.367 99.891 78.548 1.00 3.26 55 M 1 +ATOM 829 H HZ . PHE M 1 56 ? 143.739 102.093 78.069 1.00 3.26 55 M 1 +ATOM 830 N N . LEU M 1 57 ? 136.563 98.594 75.692 1.00 3.56 56 M 1 +ATOM 831 C CA . LEU M 1 57 ? 135.447 98.132 74.871 1.00 3.56 56 M 1 +ATOM 832 C C . LEU M 1 57 ? 134.337 99.173 74.852 1.00 3.56 56 M 1 +ATOM 833 O O . LEU M 1 57 ? 133.737 99.449 73.801 1.00 3.56 56 M 1 +ATOM 834 C CB . LEU M 1 57 ? 134.908 96.802 75.395 1.00 3.56 56 M 1 +ATOM 835 C CG . LEU M 1 57 ? 133.841 96.119 74.535 1.00 3.56 56 M 1 +ATOM 836 C CD1 . LEU M 1 57 ? 134.418 95.725 73.192 1.00 3.56 56 M 1 +ATOM 837 C CD2 . LEU M 1 57 ? 133.244 94.918 75.242 1.00 3.56 56 M 1 +ATOM 838 H H . LEU M 1 57 ? 136.694 98.147 76.415 1.00 3.56 56 M 1 +ATOM 839 H HA . LEU M 1 57 ? 135.769 97.997 73.966 1.00 3.56 56 M 1 +ATOM 840 H HB2 . LEU M 1 57 ? 135.644 96.179 75.496 1.00 3.56 56 M 1 +ATOM 841 H HB3 . LEU M 1 57 ? 134.506 96.958 76.264 1.00 3.56 56 M 1 +ATOM 842 H HG . LEU M 1 57 ? 133.119 96.743 74.361 1.00 3.56 56 M 1 +ATOM 843 H HD11 . LEU M 1 57 ? 133.810 95.111 72.751 1.00 3.56 56 M 1 +ATOM 844 H HD12 . LEU M 1 57 ? 134.521 96.524 72.652 1.00 3.56 56 M 1 +ATOM 845 H HD13 . LEU M 1 57 ? 135.280 95.300 73.323 1.00 3.56 56 M 1 +ATOM 846 H HD21 . LEU M 1 57 ? 132.555 94.538 74.675 1.00 3.56 56 M 1 +ATOM 847 H HD22 . LEU M 1 57 ? 133.937 94.258 75.403 1.00 3.56 56 M 1 +ATOM 848 H HD23 . LEU M 1 57 ? 132.855 95.206 76.083 1.00 3.56 56 M 1 +ATOM 849 N N . HIS M 1 58 ? 134.052 99.759 76.015 1.00 3.86 57 M 1 +ATOM 850 C CA . HIS M 1 58 ? 133.085 100.842 76.095 1.00 3.86 57 M 1 +ATOM 851 C C . HIS M 1 58 ? 133.498 102.006 75.206 1.00 3.86 57 M 1 +ATOM 852 O O . HIS M 1 58 ? 132.668 102.593 74.502 1.00 3.86 57 M 1 +ATOM 853 C CB . HIS M 1 58 ? 132.940 101.305 77.539 1.00 3.86 57 M 1 +ATOM 854 C CG . HIS M 1 58 ? 131.986 102.439 77.703 1.00 3.86 57 M 1 +ATOM 855 N ND1 . HIS M 1 58 ? 130.619 102.276 77.663 1.00 3.86 57 M 1 +ATOM 856 C CD2 . HIS M 1 58 ? 132.202 103.764 77.863 1.00 3.86 57 M 1 +ATOM 857 C CE1 . HIS M 1 58 ? 130.035 103.449 77.821 1.00 3.86 57 M 1 +ATOM 858 N NE2 . HIS M 1 58 ? 130.974 104.369 77.942 1.00 3.86 57 M 1 +ATOM 859 H H . HIS M 1 58 ? 134.418 99.555 76.766 1.00 3.86 57 M 1 +ATOM 860 H HA . HIS M 1 58 ? 132.222 100.514 75.798 1.00 3.86 57 M 1 +ATOM 861 H HB2 . HIS M 1 58 ? 132.604 100.567 78.072 1.00 3.86 57 M 1 +ATOM 862 H HB3 . HIS M 1 58 ? 133.803 101.589 77.879 1.00 3.86 57 M 1 +ATOM 863 H HD2 . HIS M 1 58 ? 133.029 104.185 77.920 1.00 3.86 57 M 1 +ATOM 864 H HE1 . HIS M 1 58 ? 129.118 103.603 77.835 1.00 3.86 57 M 1 +ATOM 865 H HE2 . HIS M 1 58 ? 130.840 105.212 78.049 1.00 3.86 57 M 1 +ATOM 866 N N . GLN M 1 59 ? 134.786 102.339 75.238 1.00 3.55 58 M 1 +ATOM 867 C CA . GLN M 1 59 ? 135.333 103.431 74.394 1.00 3.55 58 M 1 +ATOM 868 C C . GLN M 1 59 ? 135.113 103.056 72.914 1.00 3.55 58 M 1 +ATOM 869 O O . GLN M 1 59 ? 134.716 103.896 72.159 1.00 3.55 58 M 1 +ATOM 870 C CB . GLN M 1 59 ? 136.821 103.672 74.668 1.00 3.55 58 M 1 +ATOM 871 C CG . GLN M 1 59 ? 137.147 104.192 76.061 1.00 3.55 58 M 1 +ATOM 872 C CD . GLN M 1 59 ? 136.194 105.252 76.544 1.00 3.55 58 M 1 +ATOM 873 O OE1 . GLN M 1 59 ? 135.612 105.142 77.613 1.00 3.55 58 M 1 +ATOM 874 N NE2 . GLN M 1 59 ? 136.019 106.291 75.759 1.00 3.55 58 M 1 +ATOM 875 H H . GLN M 1 59 ? 135.416 101.843 75.668 1.00 3.55 58 M 1 +ATOM 876 H HA . GLN M 1 59 ? 134.834 104.257 74.591 1.00 3.55 58 M 1 +ATOM 877 H HB2 . GLN M 1 59 ? 137.298 102.828 74.527 1.00 3.55 58 M 1 +ATOM 878 H HB3 . GLN M 1 59 ? 137.153 104.314 74.006 1.00 3.55 58 M 1 +ATOM 879 H HG2 . GLN M 1 59 ? 137.133 103.442 76.693 1.00 3.55 58 M 1 +ATOM 880 H HG3 . GLN M 1 59 ? 138.056 104.561 76.058 1.00 3.55 58 M 1 +ATOM 881 H HE21 . GLN M 1 59 ? 135.434 106.916 75.978 1.00 3.55 58 M 1 +ATOM 882 H HE22 . GLN M 1 59 ? 136.486 106.365 75.013 1.00 3.55 58 M 1 +ATOM 883 N N . SER M 1 60 ? 135.331 101.813 72.512 1.00 3.24 59 M 1 +ATOM 884 C CA . SER M 1 60 ? 135.143 101.390 71.126 1.00 3.24 59 M 1 +ATOM 885 C C . SER M 1 60 ? 133.699 101.592 70.690 1.00 3.24 59 M 1 +ATOM 886 O O . SER M 1 60 ? 133.420 102.123 69.604 1.00 3.24 59 M 1 +ATOM 887 C CB . SER M 1 60 ? 135.541 99.924 70.959 1.00 3.24 59 M 1 +ATOM 888 O OG . SER M 1 60 ? 135.301 99.505 69.637 1.00 3.24 59 M 1 +ATOM 889 H H . SER M 1 60 ? 135.602 101.192 73.042 1.00 3.24 59 M 1 +ATOM 890 H HA . SER M 1 60 ? 135.722 101.916 70.552 1.00 3.24 59 M 1 +ATOM 891 H HB2 . SER M 1 60 ? 136.482 99.810 71.163 1.00 3.24 59 M 1 +ATOM 892 H HB3 . SER M 1 60 ? 135.013 99.373 71.558 1.00 3.24 59 M 1 +ATOM 893 H HG . SER M 1 60 ? 136.017 99.537 69.199 1.00 3.24 59 M 1 +ATOM 894 N N . HIS M 1 61 ? 132.766 101.182 71.545 1.00 3.61 60 M 1 +ATOM 895 C CA . HIS M 1 61 ? 131.351 101.333 71.224 1.00 3.61 60 M 1 +ATOM 896 C C . HIS M 1 61 ? 130.969 102.807 71.111 1.00 3.61 60 M 1 +ATOM 897 O O . HIS M 1 61 ? 130.209 103.194 70.212 1.00 3.61 60 M 1 +ATOM 898 C CB . HIS M 1 61 ? 130.503 100.619 72.274 1.00 3.61 60 M 1 +ATOM 899 C CG . HIS M 1 61 ? 130.658 99.131 72.259 1.00 3.61 60 M 1 +ATOM 900 N ND1 . HIS M 1 61 ? 130.123 98.316 73.233 1.00 3.61 60 M 1 +ATOM 901 C CD2 . HIS M 1 61 ? 131.295 98.310 71.392 1.00 3.61 60 M 1 +ATOM 902 C CE1 . HIS M 1 61 ? 130.422 97.058 72.962 1.00 3.61 60 M 1 +ATOM 903 N NE2 . HIS M 1 61 ? 131.131 97.028 71.850 1.00 3.61 60 M 1 +ATOM 904 H H . HIS M 1 61 ? 132.932 100.839 72.316 1.00 3.61 60 M 1 +ATOM 905 H HA . HIS M 1 61 ? 131.177 100.924 70.362 1.00 3.61 60 M 1 +ATOM 906 H HB2 . HIS M 1 61 ? 130.749 100.941 73.155 1.00 3.61 60 M 1 +ATOM 907 H HB3 . HIS M 1 61 ? 129.567 100.820 72.116 1.00 3.61 60 M 1 +ATOM 908 H HD2 . HIS M 1 61 ? 131.758 98.559 70.625 1.00 3.61 60 M 1 +ATOM 909 H HE1 . HIS M 1 61 ? 130.179 96.315 73.466 1.00 3.61 60 M 1 +ATOM 910 H HE2 . HIS M 1 61 ? 131.444 96.322 71.471 1.00 3.61 60 M 1 +ATOM 911 N N . GLU M 1 62 ? 131.505 103.647 71.997 1.00 3.84 61 M 1 +ATOM 912 C CA . GLU M 1 62 ? 131.212 105.075 71.925 1.00 3.84 61 M 1 +ATOM 913 C C . GLU M 1 62 ? 131.729 105.689 70.628 1.00 3.84 61 M 1 +ATOM 914 O O . GLU M 1 62 ? 131.069 106.546 70.032 1.00 3.84 61 M 1 +ATOM 915 C CB . GLU M 1 62 ? 131.806 105.801 73.132 1.00 3.84 61 M 1 +ATOM 916 C CG . GLU M 1 62 ? 131.117 105.507 74.458 1.00 3.84 61 M 1 +ATOM 917 C CD . GLU M 1 62 ? 129.702 106.056 74.531 1.00 3.84 61 M 1 +ATOM 918 O OE1 . GLU M 1 62 ? 129.434 107.105 73.910 1.00 3.84 61 M 1 +ATOM 919 O OE2 . GLU M 1 62 ? 128.856 105.440 75.213 1.00 3.84 61 M 1 +ATOM 920 H H . GLU M 1 62 ? 132.043 103.424 72.630 1.00 3.84 61 M 1 +ATOM 921 H HA . GLU M 1 62 ? 130.249 105.187 71.946 1.00 3.84 61 M 1 +ATOM 922 H HB2 . GLU M 1 62 ? 132.737 105.543 73.223 1.00 3.84 61 M 1 +ATOM 923 H HB3 . GLU M 1 62 ? 131.758 106.757 72.975 1.00 3.84 61 M 1 +ATOM 924 H HG2 . GLU M 1 62 ? 131.068 104.548 74.594 1.00 3.84 61 M 1 +ATOM 925 H HG3 . GLU M 1 62 ? 131.631 105.913 75.173 1.00 3.84 61 M 1 +ATOM 926 N N . GLU M 1 63 ? 132.904 105.264 70.167 1.00 3.87 62 M 1 +ATOM 927 C CA . GLU M 1 63 ? 133.445 105.837 68.937 1.00 3.87 62 M 1 +ATOM 928 C C . GLU M 1 63 ? 132.639 105.379 67.724 1.00 3.87 62 M 1 +ATOM 929 O O . GLU M 1 63 ? 132.447 106.143 66.768 1.00 3.87 62 M 1 +ATOM 930 C CB . GLU M 1 63 ? 134.923 105.479 68.779 1.00 3.87 62 M 1 +ATOM 931 C CG . GLU M 1 63 ? 135.854 106.022 69.867 1.00 3.87 62 M 1 +ATOM 932 C CD . GLU M 1 63 ? 135.896 107.537 69.978 1.00 3.87 62 M 1 +ATOM 933 O OE1 . GLU M 1 63 ? 135.774 108.240 68.963 1.00 3.87 62 M 1 +ATOM 934 O OE2 . GLU M 1 63 ? 136.035 108.032 71.115 1.00 3.87 62 M 1 +ATOM 935 H H . GLU M 1 63 ? 133.388 104.654 70.533 1.00 3.87 62 M 1 +ATOM 936 H HA . GLU M 1 63 ? 133.379 106.804 68.981 1.00 3.87 62 M 1 +ATOM 937 H HB2 . GLU M 1 63 ? 135.006 104.513 68.804 1.00 3.87 62 M 1 +ATOM 938 H HB3 . GLU M 1 63 ? 135.238 105.797 67.919 1.00 3.87 62 M 1 +ATOM 939 H HG2 . GLU M 1 63 ? 135.596 105.675 70.735 1.00 3.87 62 M 1 +ATOM 940 H HG3 . GLU M 1 63 ? 136.753 105.720 69.663 1.00 3.87 62 M 1 +ATOM 941 N N . ARG M 1 64 ? 132.101 104.161 67.796 1.00 3.76 63 M 1 +ATOM 942 C CA . ARG M 1 64 ? 131.222 103.585 66.708 1.00 3.76 63 M 1 +ATOM 943 C C . ARG M 1 64 ? 129.982 104.548 66.721 1.00 3.76 63 M 1 +ATOM 944 O O . ARG M 1 64 ? 129.586 104.978 65.656 1.00 3.76 63 M 1 +ATOM 945 C CB . ARG M 1 64 ? 130.958 102.003 66.808 0.50 3.76 63 M 1 +ATOM 946 C CG . ARG M 1 64 ? 129.868 101.512 65.865 0.50 3.76 63 M 1 +ATOM 947 C CD . ARG M 1 64 ? 130.261 101.575 64.397 0.50 3.76 63 M 1 +ATOM 948 N NE . ARG M 1 64 ? 130.583 100.261 63.843 0.50 3.76 63 M 1 +ATOM 949 C CZ . ARG M 1 64 ? 129.698 99.402 63.345 0.50 3.76 63 M 1 +ATOM 950 N NH1 . ARG M 1 64 ? 130.106 98.233 62.883 0.50 3.76 63 M 1 +ATOM 951 N NH2 . ARG M 1 64 ? 128.413 99.701 63.309 0.50 3.76 63 M 1 +ATOM 952 H H . ARG M 1 64 ? 132.146 103.647 68.546 1.00 3.76 63 M 1 +ATOM 953 H HA . ARG M 1 64 ? 131.743 103.924 65.813 1.00 3.76 63 M 1 +ATOM 954 H HB2 . ARG M 1 64 ? 131.792 101.531 66.603 0.50 3.76 63 M 1 +ATOM 955 H HB3 . ARG M 1 64 ? 130.704 101.784 67.729 0.50 3.76 63 M 1 +ATOM 956 H HG2 . ARG M 1 64 ? 129.643 100.585 66.092 0.50 3.76 63 M 1 +ATOM 957 H HG3 . ARG M 1 64 ? 129.062 102.055 65.999 0.50 3.76 63 M 1 +ATOM 958 H HD2 . ARG M 1 64 ? 129.523 101.967 63.883 0.50 3.76 63 M 1 +ATOM 959 H HD3 . ARG M 1 64 ? 131.040 102.163 64.298 0.50 3.76 63 M 1 +ATOM 960 H HE . ARG M 1 64 ? 131.419 100.014 63.850 0.50 3.76 63 M 1 +ATOM 961 H HH11 . ARG M 1 64 ? 130.961 98.028 62.902 0.50 3.76 63 M 1 +ATOM 962 H HH12 . ARG M 1 64 ? 129.522 97.667 62.549 0.50 3.76 63 M 1 +ATOM 963 H HH21 . ARG M 1 64 ? 128.135 100.477 63.619 0.50 3.76 63 M 1 +ATOM 964 H HH22 . ARG M 1 64 ? 127.838 99.124 62.975 0.50 3.76 63 M 1 +ATOM 965 N N . GLU M 1 65 ? 129.447 104.893 67.887 1.00 4.14 64 M 1 +ATOM 966 C CA . GLU M 1 65 ? 128.292 105.783 67.961 1.00 4.14 64 M 1 +ATOM 967 C C . GLU M 1 65 ? 128.612 107.153 67.371 1.00 4.14 64 M 1 +ATOM 968 O O . GLU M 1 65 ? 127.777 107.746 66.678 1.00 4.14 64 M 1 +ATOM 969 C CB . GLU M 1 65 ? 127.806 105.917 69.404 1.00 4.14 64 M 1 +ATOM 970 C CG . GLU M 1 65 ? 127.215 104.648 70.011 1.00 4.14 64 M 1 +ATOM 971 C CD . GLU M 1 65 ? 126.815 104.819 71.470 1.00 4.14 64 M 1 +ATOM 972 O OE1 . GLU M 1 65 ? 127.167 105.858 72.067 1.00 4.14 64 M 1 +ATOM 973 O OE2 . GLU M 1 65 ? 126.168 103.907 72.026 1.00 4.14 64 M 1 +ATOM 974 H H . GLU M 1 65 ? 129.750 104.624 68.646 1.00 4.14 64 M 1 +ATOM 975 H HA . GLU M 1 65 ? 127.573 105.393 67.440 1.00 4.14 64 M 1 +ATOM 976 H HB2 . GLU M 1 65 ? 128.554 106.187 69.959 1.00 4.14 64 M 1 +ATOM 977 H HB3 . GLU M 1 65 ? 127.121 106.603 69.441 1.00 4.14 64 M 1 +ATOM 978 H HG2 . GLU M 1 65 ? 126.423 104.393 69.514 1.00 4.14 64 M 1 +ATOM 979 H HG3 . GLU M 1 65 ? 127.878 103.941 69.968 1.00 4.14 64 M 1 +ATOM 980 N N . HIS M 1 66 ? 129.829 107.640 67.616 1.00 4.22 65 M 1 +ATOM 981 C CA . HIS M 1 66 ? 130.308 108.938 67.079 1.00 4.22 65 M 1 +ATOM 982 C C . HIS M 1 66 ? 130.290 108.866 65.548 1.00 4.22 65 M 1 +ATOM 983 O O . HIS M 1 66 ? 129.822 109.783 64.939 1.00 4.22 65 M 1 +ATOM 984 C CB . HIS M 1 66 ? 131.713 109.301 67.587 1.00 4.22 65 M 1 +ATOM 985 C CG . HIS M 1 66 ? 131.792 109.546 69.053 1.00 4.22 65 M 1 +ATOM 986 N ND1 . HIS M 1 66 ? 133.003 109.665 69.722 1.00 4.22 65 M 1 +ATOM 987 C CD2 . HIS M 1 66 ? 130.831 109.635 69.993 1.00 4.22 65 M 1 +ATOM 988 C CE1 . HIS M 1 66 ? 132.776 109.838 71.000 1.00 4.22 65 M 1 +ATOM 989 N NE2 . HIS M 1 66 ? 131.461 109.838 71.198 1.00 4.22 65 M 1 +ATOM 990 H H . HIS M 1 66 ? 130.452 107.215 68.128 1.00 4.22 65 M 1 +ATOM 991 H HA . HIS M 1 66 ? 129.676 109.640 67.364 1.00 4.22 65 M 1 +ATOM 992 H HB2 . HIS M 1 66 ? 132.330 108.571 67.356 1.00 4.22 65 M 1 +ATOM 993 H HB3 . HIS M 1 66 ? 132.020 110.107 67.116 1.00 4.22 65 M 1 +ATOM 994 H HD2 . HIS M 1 66 ? 129.904 109.592 69.854 1.00 4.22 65 M 1 +ATOM 995 H HE1 . HIS M 1 66 ? 133.434 109.962 71.662 1.00 4.22 65 M 1 +ATOM 996 H HE2 . HIS M 1 66 ? 131.063 109.939 71.973 1.00 4.22 65 M 1 +ATOM 997 N N . ALA M 1 67 ? 130.747 107.775 64.950 1.00 3.84 66 M 1 +ATOM 998 C CA . ALA M 1 67 ? 130.771 107.598 63.501 1.00 3.84 66 M 1 +ATOM 999 C C . ALA M 1 67 ? 129.362 107.575 62.928 1.00 3.84 66 M 1 +ATOM 1000 O O . ALA M 1 67 ? 129.078 108.216 61.908 1.00 3.84 66 M 1 +ATOM 1001 C CB . ALA M 1 67 ? 131.504 106.307 63.143 1.00 3.84 66 M 1 +ATOM 1002 H H . ALA M 1 67 ? 131.105 107.131 65.393 1.00 3.84 66 M 1 +ATOM 1003 H HA . ALA M 1 67 ? 131.257 108.336 63.100 1.00 3.84 66 M 1 +ATOM 1004 H HB1 . ALA M 1 67 ? 131.443 106.159 62.186 1.00 3.84 66 M 1 +ATOM 1005 H HB2 . ALA M 1 67 ? 132.433 106.374 63.413 1.00 3.84 66 M 1 +ATOM 1006 H HB3 . ALA M 1 67 ? 131.087 105.565 63.608 1.00 3.84 66 M 1 +ATOM 1007 N N . GLU M 1 68 ? 128.465 106.843 63.583 1.00 4.02 67 M 1 +ATOM 1008 C CA . GLU M 1 68 ? 127.104 106.708 63.080 1.00 4.02 67 M 1 +ATOM 1009 C C . GLU M 1 68 ? 126.361 108.039 63.154 1.00 4.02 67 M 1 +ATOM 1010 O O . GLU M 1 68 ? 125.551 108.363 62.274 1.00 4.02 67 M 1 +ATOM 1011 C CB . GLU M 1 68 ? 126.385 105.614 63.868 1.00 4.02 67 M 1 +ATOM 1012 C CG . GLU M 1 68 ? 126.941 104.210 63.617 1.00 4.02 67 M 1 +ATOM 1013 C CD . GLU M 1 68 ? 126.280 103.138 64.473 1.00 4.02 67 M 1 +ATOM 1014 O OE1 . GLU M 1 68 ? 125.463 103.483 65.352 1.00 4.02 67 M 1 +ATOM 1015 O OE2 . GLU M 1 68 ? 126.596 101.946 64.273 1.00 4.02 67 M 1 +ATOM 1016 H H . GLU M 1 68 ? 128.615 106.433 64.324 1.00 4.02 67 M 1 +ATOM 1017 H HA . GLU M 1 68 ? 127.136 106.429 62.152 1.00 4.02 67 M 1 +ATOM 1018 H HB2 . GLU M 1 68 ? 126.479 105.804 64.815 1.00 4.02 67 M 1 +ATOM 1019 H HB3 . GLU M 1 68 ? 125.445 105.608 63.630 1.00 4.02 67 M 1 +ATOM 1020 H HG2 . GLU M 1 68 ? 126.785 103.976 62.689 1.00 4.02 67 M 1 +ATOM 1021 H HG3 . GLU M 1 68 ? 127.896 104.193 63.787 1.00 4.02 67 M 1 +ATOM 1022 N N . LYS M 1 69 ? 126.644 108.836 64.186 1.00 4.51 68 M 1 +ATOM 1023 C CA . LYS M 1 69 ? 126.058 110.167 64.286 1.00 4.51 68 M 1 +ATOM 1024 C C . LYS M 1 69 ? 126.543 111.060 63.145 1.00 4.51 68 M 1 +ATOM 1025 O O . LYS M 1 69 ? 125.765 111.831 62.573 1.00 4.51 68 M 1 +ATOM 1026 C CB . LYS M 1 69 ? 126.392 110.761 65.656 1.00 4.51 68 M 1 +ATOM 1027 C CG . LYS M 1 69 ? 125.744 112.081 65.984 1.00 4.51 68 M 1 +ATOM 1028 C CD . LYS M 1 69 ? 126.140 112.584 67.379 1.00 4.51 68 M 1 +ATOM 1029 C CE . LYS M 1 69 ? 125.446 111.817 68.486 1.00 4.51 68 M 1 +ATOM 1030 N NZ . LYS M 1 69 ? 125.760 112.374 69.836 1.00 4.51 68 M 1 +ATOM 1031 H H . LYS M 1 69 ? 127.178 108.638 64.831 1.00 4.51 68 M 1 +ATOM 1032 H HA . LYS M 1 69 ? 125.092 110.102 64.227 1.00 4.51 68 M 1 +ATOM 1033 H HB2 . LYS M 1 69 ? 126.106 110.132 66.337 1.00 4.51 68 M 1 +ATOM 1034 H HB3 . LYS M 1 69 ? 127.353 110.884 65.706 1.00 4.51 68 M 1 +ATOM 1035 H HG2 . LYS M 1 69 ? 126.054 112.738 65.342 1.00 4.51 68 M 1 +ATOM 1036 H HG3 . LYS M 1 69 ? 124.779 111.993 65.944 1.00 4.51 68 M 1 +ATOM 1037 H HD2 . LYS M 1 69 ? 127.097 112.483 67.503 1.00 4.51 68 M 1 +ATOM 1038 H HD3 . LYS M 1 69 ? 125.887 113.517 67.465 1.00 4.51 68 M 1 +ATOM 1039 H HE2 . LYS M 1 69 ? 124.487 111.865 68.351 1.00 4.51 68 M 1 +ATOM 1040 H HE3 . LYS M 1 69 ? 125.737 110.892 68.471 1.00 4.51 68 M 1 +ATOM 1041 H HZ1 . LYS M 1 69 ? 126.614 112.223 70.038 1.00 4.51 68 M 1 +ATOM 1042 H HZ2 . LYS M 1 69 ? 125.615 113.252 69.847 1.00 4.51 68 M 1 +ATOM 1043 H HZ3 . LYS M 1 69 ? 125.247 111.989 70.453 1.00 4.51 68 M 1 +ATOM 1044 N N . LEU M 1 70 ? 127.821 110.946 62.778 1.00 4.14 69 M 1 +ATOM 1045 C CA . LEU M 1 70 ? 128.312 111.688 61.615 1.00 4.14 69 M 1 +ATOM 1046 C C . LEU M 1 70 ? 127.628 111.240 60.328 1.00 4.14 69 M 1 +ATOM 1047 O O . LEU M 1 70 ? 127.352 112.060 59.446 1.00 4.14 69 M 1 +ATOM 1048 C CB . LEU M 1 70 ? 129.824 111.540 61.473 1.00 4.14 69 M 1 +ATOM 1049 C CG . LEU M 1 70 ? 130.714 112.224 62.508 1.00 4.14 69 M 1 +ATOM 1050 C CD1 . LEU M 1 70 ? 132.178 111.871 62.320 1.00 4.14 69 M 1 +ATOM 1051 C CD2 . LEU M 1 70 ? 130.530 113.726 62.481 1.00 4.14 69 M 1 +ATOM 1052 H H . LEU M 1 70 ? 128.408 110.456 63.170 1.00 4.14 69 M 1 +ATOM 1053 H HA . LEU M 1 70 ? 128.095 112.626 61.732 1.00 4.14 69 M 1 +ATOM 1054 H HB2 . LEU M 1 70 ? 130.029 110.592 61.501 1.00 4.14 69 M 1 +ATOM 1055 H HB3 . LEU M 1 70 ? 130.074 111.883 60.601 1.00 4.14 69 M 1 +ATOM 1056 H HG . LEU M 1 70 ? 130.458 111.911 63.390 1.00 4.14 69 M 1 +ATOM 1057 H HD11 . LEU M 1 70 ? 132.659 112.176 63.105 1.00 4.14 69 M 1 +ATOM 1058 H HD12 . LEU M 1 70 ? 132.281 110.911 62.229 1.00 4.14 69 M 1 +ATOM 1059 H HD13 . LEU M 1 70 ? 132.517 112.314 61.527 1.00 4.14 69 M 1 +ATOM 1060 H HD21 . LEU M 1 70 ? 131.231 114.137 63.010 1.00 4.14 69 M 1 +ATOM 1061 H HD22 . LEU M 1 70 ? 130.577 114.045 61.566 1.00 4.14 69 M 1 +ATOM 1062 H HD23 . LEU M 1 70 ? 129.667 113.945 62.865 1.00 4.14 69 M 1 +ATOM 1063 N N . MET M 1 71 ? 127.364 109.948 60.208 1.00 4.44 70 M 1 +ATOM 1064 C CA . MET M 1 71 ? 126.697 109.405 59.001 1.00 4.44 70 M 1 +ATOM 1065 C C . MET M 1 71 ? 125.291 110.001 58.920 1.00 4.44 70 M 1 +ATOM 1066 O O . MET M 1 71 ? 124.905 110.440 57.849 1.00 4.44 70 M 1 +ATOM 1067 C CB . MET M 1 71 ? 126.674 107.880 59.051 1.00 4.44 70 M 1 +ATOM 1068 C CG . MET M 1 71 ? 128.068 107.310 58.992 1.00 4.44 70 M 1 +ATOM 1069 S SD . MET M 1 71 ? 128.013 105.515 59.092 1.00 4.44 70 M 1 +ATOM 1070 C CE . MET M 1 71 ? 129.764 105.161 59.006 1.00 4.44 70 M 1 +ATOM 1071 H H . MET M 1 71 ? 127.457 109.354 60.890 1.00 4.44 70 M 1 +ATOM 1072 H HA . MET M 1 71 ? 127.206 109.698 58.210 1.00 4.44 70 M 1 +ATOM 1073 H HB2 . MET M 1 71 ? 126.238 107.593 59.878 1.00 4.44 70 M 1 +ATOM 1074 H HB3 . MET M 1 71 ? 126.151 107.542 58.297 1.00 4.44 70 M 1 +ATOM 1075 H HG2 . MET M 1 71 ? 128.499 107.576 58.152 1.00 4.44 70 M 1 +ATOM 1076 H HG3 . MET M 1 71 ? 128.600 107.661 59.738 1.00 4.44 70 M 1 +ATOM 1077 H HE1 . MET M 1 71 ? 129.900 104.207 59.039 1.00 4.44 70 M 1 +ATOM 1078 H HE2 . MET M 1 71 ? 130.121 105.509 58.180 1.00 4.44 70 M 1 +ATOM 1079 H HE3 . MET M 1 71 ? 130.213 105.578 59.752 1.00 4.44 70 M 1 +ATOM 1080 N N . LYS M 1 72 ? 124.578 110.039 60.037 1.00 5.09 71 M 1 +ATOM 1081 C CA . LYS M 1 72 ? 123.268 110.672 60.109 1.00 5.09 71 M 1 +ATOM 1082 C C . LYS M 1 72 ? 123.349 112.134 59.697 1.00 5.09 71 M 1 +ATOM 1083 O O . LYS M 1 72 ? 122.508 112.617 58.933 1.00 5.09 71 M 1 +ATOM 1084 C CB . LYS M 1 72 ? 122.703 110.527 61.522 1.00 5.09 71 M 1 +ATOM 1085 C CG . LYS M 1 72 ? 121.325 111.109 61.739 1.00 5.09 71 M 1 +ATOM 1086 C CD . LYS M 1 72 ? 120.796 110.746 63.129 1.00 5.09 71 M 1 +ATOM 1087 C CE . LYS M 1 72 ? 119.462 111.406 63.437 1.00 5.09 71 M 1 +ATOM 1088 N NZ . LYS M 1 72 ? 118.368 110.935 62.544 1.00 5.09 71 M 1 +ATOM 1089 H H . LYS M 1 72 ? 124.846 109.694 60.777 1.00 5.09 71 M 1 +ATOM 1090 H HA . LYS M 1 72 ? 122.666 110.214 59.501 1.00 5.09 71 M 1 +ATOM 1091 H HB2 . LYS M 1 72 ? 122.640 109.582 61.732 1.00 5.09 71 M 1 +ATOM 1092 H HB3 . LYS M 1 72 ? 123.310 110.959 62.144 1.00 5.09 71 M 1 +ATOM 1093 H HG2 . LYS M 1 72 ? 121.371 112.076 61.677 1.00 5.09 71 M 1 +ATOM 1094 H HG3 . LYS M 1 72 ? 120.720 110.757 61.068 1.00 5.09 71 M 1 +ATOM 1095 H HD2 . LYS M 1 72 ? 120.682 109.785 63.191 1.00 5.09 71 M 1 +ATOM 1096 H HD3 . LYS M 1 72 ? 121.431 111.046 63.798 1.00 5.09 71 M 1 +ATOM 1097 H HE2 . LYS M 1 72 ? 119.208 111.187 64.347 1.00 5.09 71 M 1 +ATOM 1098 H HE3 . LYS M 1 72 ? 119.546 112.368 63.342 1.00 5.09 71 M 1 +ATOM 1099 H HZ1 . LYS M 1 72 ? 117.580 111.187 62.871 1.00 5.09 71 M 1 +ATOM 1100 H HZ2 . LYS M 1 72 ? 118.464 111.284 61.731 1.00 5.09 71 M 1 +ATOM 1101 H HZ3 . LYS M 1 72 ? 118.388 110.047 62.481 1.00 5.09 71 M 1 +ATOM 1102 N N . LEU M 1 73 ? 124.372 112.846 60.176 1.00 4.70 72 M 1 +ATOM 1103 C CA . LEU M 1 73 ? 124.575 114.232 59.765 1.00 4.70 72 M 1 +ATOM 1104 C C . LEU M 1 73 ? 124.735 114.343 58.257 1.00 4.70 72 M 1 +ATOM 1105 O O . LEU M 1 73 ? 124.121 115.210 57.626 1.00 4.70 72 M 1 +ATOM 1106 C CB . LEU M 1 73 ? 125.792 114.820 60.486 1.00 4.70 72 M 1 +ATOM 1107 C CG . LEU M 1 73 ? 126.197 116.293 60.314 1.00 4.70 72 M 1 +ATOM 1108 C CD1 . LEU M 1 73 ? 126.895 116.563 58.993 1.00 4.70 72 M 1 +ATOM 1109 C CD2 . LEU M 1 73 ? 125.020 117.220 60.465 1.00 4.70 72 M 1 +ATOM 1110 H H . LEU M 1 73 ? 124.966 112.543 60.719 1.00 4.70 72 M 1 +ATOM 1111 H HA . LEU M 1 73 ? 123.795 114.747 60.024 1.00 4.70 72 M 1 +ATOM 1112 H HB2 . LEU M 1 73 ? 125.621 114.717 61.435 1.00 4.70 72 M 1 +ATOM 1113 H HB3 . LEU M 1 73 ? 126.570 114.287 60.259 1.00 4.70 72 M 1 +ATOM 1114 H HG . LEU M 1 73 ? 126.833 116.516 61.011 1.00 4.70 72 M 1 +ATOM 1115 H HD11 . LEU M 1 73 ? 127.419 117.376 59.068 1.00 4.70 72 M 1 +ATOM 1116 H HD12 . LEU M 1 73 ? 127.480 115.818 58.782 1.00 4.70 72 M 1 +ATOM 1117 H HD13 . LEU M 1 73 ? 126.229 116.668 58.295 1.00 4.70 72 M 1 +ATOM 1118 H HD21 . LEU M 1 73 ? 125.345 118.132 60.408 1.00 4.70 72 M 1 +ATOM 1119 H HD22 . LEU M 1 73 ? 124.387 117.048 59.750 1.00 4.70 72 M 1 +ATOM 1120 H HD23 . LEU M 1 73 ? 124.600 117.070 61.327 1.00 4.70 72 M 1 +ATOM 1121 N N . GLN M 1 74 ? 125.569 113.483 57.671 1.00 4.76 73 M 1 +ATOM 1122 C CA . GLN M 1 74 ? 125.839 113.540 56.238 1.00 4.76 73 M 1 +ATOM 1123 C C . GLN M 1 74 ? 124.544 113.406 55.449 1.00 4.76 73 M 1 +ATOM 1124 O O . GLN M 1 74 ? 124.287 114.173 54.515 1.00 4.76 73 M 1 +ATOM 1125 C CB . GLN M 1 74 ? 126.819 112.433 55.835 1.00 4.76 73 M 1 +ATOM 1126 C CG . GLN M 1 74 ? 127.295 112.530 54.401 1.00 4.76 73 M 1 +ATOM 1127 C CD . GLN M 1 74 ? 128.249 113.676 54.194 1.00 4.76 73 M 1 +ATOM 1128 O OE1 . GLN M 1 74 ? 127.849 114.775 53.838 1.00 4.76 73 M 1 +ATOM 1129 N NE2 . GLN M 1 74 ? 129.532 113.391 54.310 1.00 4.76 73 M 1 +ATOM 1130 H H . GLN M 1 74 ? 125.987 112.851 58.078 1.00 4.76 73 M 1 +ATOM 1131 H HA . GLN M 1 74 ? 126.241 114.394 56.014 1.00 4.76 73 M 1 +ATOM 1132 H HB2 . GLN M 1 74 ? 127.609 112.511 56.392 1.00 4.76 73 M 1 +ATOM 1133 H HB3 . GLN M 1 74 ? 126.415 111.560 55.961 1.00 4.76 73 M 1 +ATOM 1134 H HG2 . GLN M 1 74 ? 127.762 111.711 54.171 1.00 4.76 73 M 1 +ATOM 1135 H HG3 . GLN M 1 74 ? 126.548 112.649 53.793 1.00 4.76 73 M 1 +ATOM 1136 H HE21 . GLN M 1 74 ? 129.777 112.597 54.532 1.00 4.76 73 M 1 +ATOM 1137 H HE22 . GLN M 1 74 ? 130.123 114.002 54.182 1.00 4.76 73 M 1 +ATOM 1138 N N . ASN M 1 75 ? 123.737 112.412 55.802 1.00 4.47 74 M 1 +ATOM 1139 C CA . ASN M 1 75 ? 122.429 112.141 55.138 1.00 4.47 74 M 1 +ATOM 1140 C C . ASN M 1 75 ? 121.453 113.301 55.386 1.00 4.47 74 M 1 +ATOM 1141 O O . ASN M 1 75 ? 120.756 113.695 54.470 1.00 4.47 74 M 1 +ATOM 1142 C CB . ASN M 1 75 ? 121.854 110.804 55.586 1.00 4.47 74 M 1 +ATOM 1143 C CG . ASN M 1 75 ? 122.406 109.660 54.764 1.00 4.47 74 M 1 +ATOM 1144 O OD1 . ASN M 1 75 ? 122.981 109.885 53.713 1.00 4.47 74 M 1 +ATOM 1145 N ND2 . ASN M 1 75 ? 122.233 108.443 55.235 1.00 4.47 74 M 1 +ATOM 1146 H H . ASN M 1 75 ? 123.885 111.904 56.543 1.00 4.47 74 M 1 +ATOM 1147 H HA . ASN M 1 75 ? 122.592 112.080 54.168 1.00 4.47 74 M 1 +ATOM 1148 H HB2 . ASN M 1 75 ? 122.072 110.660 56.529 1.00 4.47 74 M 1 +ATOM 1149 H HB3 . ASN M 1 75 ? 120.879 110.827 55.495 1.00 4.47 74 M 1 +ATOM 1150 H HD21 . ASN M 1 75 ? 121.801 108.321 55.996 1.00 4.47 74 M 1 +ATOM 1151 H HD22 . ASN M 1 75 ? 122.549 107.747 54.790 1.00 4.47 74 M 1 +ATOM 1152 N N . GLN M 1 76 ? 121.463 113.847 56.588 1.00 5.04 75 M 1 +ATOM 1153 C CA . GLN M 1 76 ? 120.581 114.983 56.952 1.00 5.04 75 M 1 +ATOM 1154 C C . GLN M 1 76 ? 120.881 116.181 56.044 1.00 5.04 75 M 1 +ATOM 1155 O O . GLN M 1 76 ? 119.961 116.839 55.678 1.00 5.04 75 M 1 +ATOM 1156 C CB . GLN M 1 76 ? 120.835 115.462 58.374 1.00 5.04 75 M 1 +ATOM 1157 C CG . GLN M 1 76 ? 119.945 114.854 59.435 1.00 5.04 75 M 1 +ATOM 1158 C CD . GLN M 1 76 ? 119.808 115.830 60.585 1.00 5.04 75 M 1 +ATOM 1159 O OE1 . GLN M 1 76 ? 118.777 115.913 61.234 1.00 5.04 75 M 1 +ATOM 1160 N NE2 . GLN M 1 76 ? 120.836 116.632 60.800 1.00 5.04 75 M 1 +ATOM 1161 H H . GLN M 1 76 ? 122.100 113.657 57.209 1.00 5.04 75 M 1 +ATOM 1162 H HA . GLN M 1 76 ? 119.639 114.714 56.850 1.00 5.04 75 M 1 +ATOM 1163 H HB2 . GLN M 1 76 ? 121.769 115.267 58.599 1.00 5.04 75 M 1 +ATOM 1164 H HB3 . GLN M 1 76 ? 120.725 116.436 58.392 1.00 5.04 75 M 1 +ATOM 1165 H HG2 . GLN M 1 76 ? 119.060 114.661 59.057 1.00 5.04 75 M 1 +ATOM 1166 H HG3 . GLN M 1 76 ? 120.336 114.015 59.757 1.00 5.04 75 M 1 +ATOM 1167 H HE21 . GLN M 1 76 ? 121.177 117.105 60.136 1.00 5.04 75 M 1 +ATOM 1168 H HE22 . GLN M 1 76 ? 121.175 116.708 61.613 1.00 5.04 75 M 1 +ATOM 1169 N N . ARG M 1 77 ? 122.137 116.447 55.723 1.00 5.21 76 M 1 +ATOM 1170 C CA . ARG M 1 77 ? 122.556 117.638 54.929 1.00 5.21 76 M 1 +ATOM 1171 C C . ARG M 1 77 ? 122.537 117.372 53.405 1.00 5.21 76 M 1 +ATOM 1172 O O . ARG M 1 77 ? 122.838 118.277 52.658 1.00 5.21 76 M 1 +ATOM 1173 C CB . ARG M 1 77 ? 123.908 118.130 55.452 1.00 5.21 76 M 1 +ATOM 1174 C CG . ARG M 1 77 ? 123.873 118.631 56.893 1.00 5.21 76 M 1 +ATOM 1175 C CD . ARG M 1 77 ? 122.925 119.810 57.098 1.00 5.21 76 M 1 +ATOM 1176 N NE . ARG M 1 77 ? 123.250 120.925 56.224 1.00 5.21 76 M 1 +ATOM 1177 C CZ . ARG M 1 77 ? 124.148 121.866 56.492 1.00 5.21 76 M 1 +ATOM 1178 N NH1 . ARG M 1 77 ? 124.811 121.845 57.631 1.00 5.21 76 M 1 +ATOM 1179 N NH2 . ARG M 1 77 ? 124.387 122.830 55.625 1.00 5.21 76 M 1 +ATOM 1180 H H . ARG M 1 77 ? 122.822 115.881 55.924 1.00 5.21 76 M 1 +ATOM 1181 H HA . ARG M 1 77 ? 121.896 118.347 55.108 1.00 5.21 76 M 1 +ATOM 1182 H HB2 . ARG M 1 77 ? 124.554 117.395 55.388 1.00 5.21 76 M 1 +ATOM 1183 H HB3 . ARG M 1 77 ? 124.221 118.856 54.873 1.00 5.21 76 M 1 +ATOM 1184 H HG2 . ARG M 1 77 ? 123.594 117.896 57.481 1.00 5.21 76 M 1 +ATOM 1185 H HG3 . ARG M 1 77 ? 124.776 118.902 57.161 1.00 5.21 76 M 1 +ATOM 1186 H HD2 . ARG M 1 77 ? 122.005 119.519 56.922 1.00 5.21 76 M 1 +ATOM 1187 H HD3 . ARG M 1 77 ? 122.974 120.106 58.032 1.00 5.21 76 M 1 +ATOM 1188 H HE . ARG M 1 77 ? 122.839 120.970 55.456 1.00 5.21 76 M 1 +ATOM 1189 H HH11 . ARG M 1 77 ? 124.661 121.204 58.213 1.00 5.21 76 M 1 +ATOM 1190 H HH12 . ARG M 1 77 ? 125.402 122.472 57.804 1.00 5.21 76 M 1 +ATOM 1191 H HH21 . ARG M 1 77 ? 123.947 122.853 54.863 1.00 5.21 76 M 1 +ATOM 1192 H HH22 . ARG M 1 77 ? 124.980 123.453 55.815 1.00 5.21 76 M 1 +ATOM 1193 N N . GLY M 1 78 ? 122.159 116.191 52.933 1.00 5.50 77 M 1 +ATOM 1194 C CA . GLY M 1 78 ? 122.140 115.887 51.522 1.00 5.50 77 M 1 +ATOM 1195 C C . GLY M 1 78 ? 123.459 115.443 50.939 1.00 5.50 77 M 1 +ATOM 1196 O O . GLY M 1 78 ? 123.541 115.249 49.723 1.00 5.50 77 M 1 +ATOM 1197 H H . GLY M 1 78 ? 121.916 115.531 53.428 1.00 5.50 77 M 1 +ATOM 1198 H HA2 . GLY M 1 78 ? 121.495 115.178 51.372 1.00 5.50 77 M 1 +ATOM 1199 H HA3 . GLY M 1 78 ? 121.836 116.659 51.020 1.00 5.50 77 M 1 +ATOM 1200 N N . GLY M 1 79 ? 124.495 115.290 51.756 1.00 5.18 78 M 1 +ATOM 1201 C CA . GLY M 1 79 ? 125.727 114.712 51.279 1.00 5.18 78 M 1 +ATOM 1202 C C . GLY M 1 79 ? 125.645 113.205 51.198 1.00 5.18 78 M 1 +ATOM 1203 O O . GLY M 1 79 ? 124.682 112.590 51.648 1.00 5.18 78 M 1 +ATOM 1204 H H . GLY M 1 79 ? 124.512 115.509 52.587 1.00 5.18 78 M 1 +ATOM 1205 H HA2 . GLY M 1 79 ? 125.940 115.050 50.395 1.00 5.18 78 M 1 +ATOM 1206 H HA3 . GLY M 1 79 ? 126.453 114.957 51.874 1.00 5.18 78 M 1 +ATOM 1207 N N . ARG M 1 80 ? 126.638 112.620 50.533 1.00 5.31 79 M 1 +ATOM 1208 C CA . ARG M 1 80 ? 126.688 111.162 50.279 1.00 5.31 79 M 1 +ATOM 1209 C C . ARG M 1 80 ? 127.898 110.553 51.001 1.00 5.31 79 M 1 +ATOM 1210 O O . ARG M 1 80 ? 129.032 110.956 50.759 1.00 5.31 79 M 1 +ATOM 1211 C CB . ARG M 1 80 ? 126.670 110.918 48.767 1.00 5.31 79 M 1 +ATOM 1212 C CG . ARG M 1 80 ? 125.405 111.442 48.090 1.00 5.31 79 M 1 +ATOM 1213 C CD . ARG M 1 80 ? 124.176 110.697 48.584 1.00 5.31 79 M 1 +ATOM 1214 N NE . ARG M 1 80 ? 122.876 111.198 48.135 1.00 5.31 79 M 1 +ATOM 1215 C CZ . ARG M 1 80 ? 121.961 111.743 48.932 1.00 5.31 79 M 1 +ATOM 1216 N NH1 . ARG M 1 80 ? 122.198 111.880 50.220 1.00 5.31 79 M 1 +ATOM 1217 N NH2 . ARG M 1 80 ? 120.804 112.149 48.440 1.00 5.31 79 M 1 +ATOM 1218 H H . ARG M 1 80 ? 127.344 113.082 50.191 1.00 5.31 79 M 1 +ATOM 1219 H HA . ARG M 1 80 ? 125.874 110.763 50.663 1.00 5.31 79 M 1 +ATOM 1220 H HB2 . ARG M 1 80 ? 127.450 111.355 48.367 1.00 5.31 79 M 1 +ATOM 1221 H HB3 . ARG M 1 80 ? 126.744 109.954 48.602 1.00 5.31 79 M 1 +ATOM 1222 H HG2 . ARG M 1 80 ? 125.303 112.399 48.282 1.00 5.31 79 M 1 +ATOM 1223 H HG3 . ARG M 1 80 ? 125.482 111.330 47.118 1.00 5.31 79 M 1 +ATOM 1224 H HD2 . ARG M 1 80 ? 124.254 109.759 48.308 1.00 5.31 79 M 1 +ATOM 1225 H HD3 . ARG M 1 80 ? 124.185 110.708 49.565 1.00 5.31 79 M 1 +ATOM 1226 H HE . ARG M 1 80 ? 122.678 111.115 47.290 1.00 5.31 79 M 1 +ATOM 1227 H HH11 . ARG M 1 80 ? 122.964 111.608 50.556 1.00 5.31 79 M 1 +ATOM 1228 H HH12 . ARG M 1 80 ? 121.590 112.243 50.741 1.00 5.31 79 M 1 +ATOM 1229 H HH21 . ARG M 1 80 ? 120.638 112.062 47.579 1.00 5.31 79 M 1 +ATOM 1230 H HH22 . ARG M 1 80 ? 120.205 112.515 48.973 1.00 5.31 79 M 1 +ATOM 1231 N N . ILE M 1 81 ? 127.627 109.572 51.839 1.00 4.71 80 M 1 +ATOM 1232 C CA . ILE M 1 81 ? 128.644 108.852 52.587 1.00 4.71 80 M 1 +ATOM 1233 C C . ILE M 1 81 ? 129.483 108.029 51.621 1.00 4.71 80 M 1 +ATOM 1234 O O . ILE M 1 81 ? 128.948 107.277 50.797 1.00 4.71 80 M 1 +ATOM 1235 C CB . ILE M 1 81 ? 127.982 107.961 53.650 1.00 4.71 80 M 1 +ATOM 1236 C CG1 . ILE M 1 81 ? 127.205 108.806 54.675 1.00 4.71 80 M 1 +ATOM 1237 C CG2 . ILE M 1 81 ? 129.034 107.088 54.347 1.00 4.71 80 M 1 +ATOM 1238 C CD1 . ILE M 1 81 ? 126.224 108.031 55.531 1.00 4.71 80 M 1 +ATOM 1239 H H . ILE M 1 81 ? 126.825 109.314 52.012 1.00 4.71 80 M 1 +ATOM 1240 H HA . ILE M 1 81 ? 129.217 109.490 53.040 1.00 4.71 80 M 1 +ATOM 1241 H HB . ILE M 1 81 ? 127.353 107.381 53.193 1.00 4.71 80 M 1 +ATOM 1242 H HG12 . ILE M 1 81 ? 127.845 109.217 55.277 1.00 4.71 80 M 1 +ATOM 1243 H HG13 . ILE M 1 81 ? 126.688 109.497 54.232 1.00 4.71 80 M 1 +ATOM 1244 H HG21 . ILE M 1 81 ? 128.684 106.748 55.185 1.00 4.71 80 M 1 +ATOM 1245 H HG22 . ILE M 1 81 ? 129.264 106.336 53.780 1.00 4.71 80 M 1 +ATOM 1246 H HG23 . ILE M 1 81 ? 129.820 107.628 54.525 1.00 4.71 80 M 1 +ATOM 1247 H HD11 . ILE M 1 81 ? 125.755 108.653 56.109 1.00 4.71 80 M 1 +ATOM 1248 H HD12 . ILE M 1 81 ? 125.587 107.584 54.952 1.00 4.71 80 M 1 +ATOM 1249 H HD13 . ILE M 1 81 ? 126.695 107.375 56.068 1.00 4.71 80 M 1 +ATOM 1250 N N . PHE M 1 82 ? 130.802 108.170 51.715 1.00 5.36 81 M 1 +ATOM 1251 C CA . PHE M 1 82 ? 131.748 107.327 50.988 1.00 5.36 81 M 1 +ATOM 1252 C C . PHE M 1 82 ? 132.688 106.692 51.999 1.00 5.36 81 M 1 +ATOM 1253 O O . PHE M 1 82 ? 133.540 107.371 52.577 1.00 5.36 81 M 1 +ATOM 1254 C CB . PHE M 1 82 ? 132.521 108.111 49.933 1.00 5.36 81 M 1 +ATOM 1255 C CG . PHE M 1 82 ? 131.690 108.495 48.747 1.00 5.36 81 M 1 +ATOM 1256 C CD1 . PHE M 1 82 ? 131.427 107.575 47.748 1.00 5.36 81 M 1 +ATOM 1257 C CD2 . PHE M 1 82 ? 131.162 109.762 48.634 1.00 5.36 81 M 1 +ATOM 1258 C CE1 . PHE M 1 82 ? 130.659 107.920 46.658 1.00 5.36 81 M 1 +ATOM 1259 C CE2 . PHE M 1 82 ? 130.395 110.107 47.545 1.00 5.36 81 M 1 +ATOM 1260 C CZ . PHE M 1 82 ? 130.144 109.187 46.560 1.00 5.36 81 M 1 +ATOM 1261 H H . PHE M 1 82 ? 131.185 108.757 52.213 1.00 5.36 81 M 1 +ATOM 1262 H HA . PHE M 1 82 ? 131.278 106.615 50.526 1.00 5.36 81 M 1 +ATOM 1263 H HB2 . PHE M 1 82 ? 132.867 108.921 50.338 1.00 5.36 81 M 1 +ATOM 1264 H HB3 . PHE M 1 82 ? 133.258 107.563 49.620 1.00 5.36 81 M 1 +ATOM 1265 H HD1 . PHE M 1 82 ? 131.775 106.715 47.806 1.00 5.36 81 M 1 +ATOM 1266 H HD2 . PHE M 1 82 ? 131.328 110.393 49.297 1.00 5.36 81 M 1 +ATOM 1267 H HE1 . PHE M 1 82 ? 130.491 107.296 45.990 1.00 5.36 81 M 1 +ATOM 1268 H HE2 . PHE M 1 82 ? 130.045 110.966 47.479 1.00 5.36 81 M 1 +ATOM 1269 H HZ . PHE M 1 82 ? 129.627 109.423 45.824 1.00 5.36 81 M 1 +ATOM 1270 N N . LEU M 1 83 ? 132.516 105.396 52.207 1.00 4.68 82 M 1 +ATOM 1271 C CA . LEU M 1 83 ? 133.289 104.642 53.174 1.00 4.68 82 M 1 +ATOM 1272 C C . LEU M 1 83 ? 134.622 104.239 52.562 1.00 4.68 82 M 1 +ATOM 1273 O O . LEU M 1 83 ? 134.746 104.069 51.348 1.00 4.68 82 M 1 +ATOM 1274 C CB . LEU M 1 83 ? 132.521 103.401 53.623 1.00 4.68 82 M 1 +ATOM 1275 C CG . LEU M 1 83 ? 131.190 103.642 54.335 1.00 4.68 82 M 1 +ATOM 1276 C CD1 . LEU M 1 83 ? 130.481 102.327 54.590 1.00 4.68 82 M 1 +ATOM 1277 C CD2 . LEU M 1 83 ? 131.353 104.418 55.627 1.00 4.68 82 M 1 +ATOM 1278 H H . LEU M 1 83 ? 131.943 104.919 51.778 1.00 4.68 82 M 1 +ATOM 1279 H HA . LEU M 1 83 ? 133.461 105.184 53.960 1.00 4.68 82 M 1 +ATOM 1280 H HB2 . LEU M 1 83 ? 132.339 102.858 52.840 1.00 4.68 82 M 1 +ATOM 1281 H HB3 . LEU M 1 83 ? 133.082 102.899 54.235 1.00 4.68 82 M 1 +ATOM 1282 H HG . LEU M 1 83 ? 130.625 104.170 53.750 1.00 4.68 82 M 1 +ATOM 1283 H HD11 . LEU M 1 83 ? 129.639 102.499 55.040 1.00 4.68 82 M 1 +ATOM 1284 H HD12 . LEU M 1 83 ? 130.314 101.894 53.738 1.00 4.68 82 M 1 +ATOM 1285 H HD13 . LEU M 1 83 ? 131.041 101.763 55.146 1.00 4.68 82 M 1 +ATOM 1286 H HD21 . LEU M 1 83 ? 130.496 104.434 56.082 1.00 4.68 82 M 1 +ATOM 1287 H HD22 . LEU M 1 83 ? 132.017 103.986 56.187 1.00 4.68 82 M 1 +ATOM 1288 H HD23 . LEU M 1 83 ? 131.630 105.324 55.420 1.00 4.68 82 M 1 +ATOM 1289 N N . GLN M 1 84 ? 135.620 104.103 53.420 1.00 4.98 83 M 1 +ATOM 1290 C CA . GLN M 1 84 ? 136.983 103.695 53.032 1.00 4.98 83 M 1 +ATOM 1291 C C . GLN M 1 84 ? 137.424 102.574 53.977 1.00 4.98 83 M 1 +ATOM 1292 O O . GLN M 1 84 ? 136.776 102.330 54.991 1.00 4.98 83 M 1 +ATOM 1293 C CB . GLN M 1 84 ? 137.940 104.889 53.070 1.00 4.98 83 M 1 +ATOM 1294 C CG . GLN M 1 84 ? 137.481 106.057 52.206 1.00 4.98 83 M 1 +ATOM 1295 C CD . GLN M 1 84 ? 137.435 105.714 50.736 1.00 4.98 83 M 1 +ATOM 1296 O OE1 . GLN M 1 84 ? 136.691 106.307 49.957 1.00 4.98 83 M 1 +ATOM 1297 N NE2 . GLN M 1 84 ? 138.254 104.763 50.333 1.00 4.98 83 M 1 +ATOM 1298 H H . GLN M 1 84 ? 135.530 104.287 54.308 1.00 4.98 83 M 1 +ATOM 1299 H HA . GLN M 1 84 ? 136.952 103.340 52.113 1.00 4.98 83 M 1 +ATOM 1300 H HB2 . GLN M 1 84 ? 138.027 105.190 53.998 1.00 4.98 83 M 1 +ATOM 1301 H HB3 . GLN M 1 84 ? 138.823 104.592 52.766 1.00 4.98 83 M 1 +ATOM 1302 H HG2 . GLN M 1 84 ? 136.587 106.339 52.496 1.00 4.98 83 M 1 +ATOM 1303 H HG3 . GLN M 1 84 ? 138.091 106.814 52.338 1.00 4.98 83 M 1 +ATOM 1304 H HE21 . GLN M 1 84 ? 138.896 104.475 50.869 1.00 4.98 83 M 1 +ATOM 1305 H HE22 . GLN M 1 84 ? 138.164 104.414 49.526 1.00 4.98 83 M 1 +ATOM 1306 N N . ASP M 1 85 ? 138.495 101.908 53.612 1.00 4.69 84 M 1 +ATOM 1307 C CA . ASP M 1 85 ? 139.059 100.852 54.433 1.00 4.69 84 M 1 +ATOM 1308 C C . ASP M 1 85 ? 139.338 101.384 55.830 1.00 4.69 84 M 1 +ATOM 1309 O O . ASP M 1 85 ? 139.747 102.533 56.005 1.00 4.69 84 M 1 +ATOM 1310 C CB . ASP M 1 85 ? 140.360 100.325 53.827 1.00 4.69 84 M 1 +ATOM 1311 C CG . ASP M 1 85 ? 140.159 99.642 52.493 1.00 4.69 84 M 1 +ATOM 1312 O OD1 . ASP M 1 85 ? 139.068 99.089 52.247 1.00 4.69 84 M 1 +ATOM 1313 O OD2 . ASP M 1 85 ? 141.111 99.651 51.689 1.00 4.69 84 M 1 +ATOM 1314 H H . ASP M 1 85 ? 138.954 102.090 52.908 1.00 4.69 84 M 1 +ATOM 1315 H HA . ASP M 1 85 ? 138.430 100.116 54.494 1.00 4.69 84 M 1 +ATOM 1316 H HB2 . ASP M 1 85 ? 140.983 101.059 53.707 1.00 4.69 84 M 1 +ATOM 1317 H HB3 . ASP M 1 85 ? 140.739 99.671 54.435 1.00 4.69 84 M 1 +ATOM 1318 N N . ILE M 1 86 ? 139.106 100.539 56.825 1.00 3.70 85 M 1 +ATOM 1319 C CA . ILE M 1 86 ? 139.459 100.834 58.207 1.00 3.70 85 M 1 +ATOM 1320 C C . ILE M 1 86 ? 140.807 100.167 58.441 1.00 3.70 85 M 1 +ATOM 1321 O O . ILE M 1 86 ? 140.902 98.937 58.481 1.00 3.70 85 M 1 +ATOM 1322 C CB . ILE M 1 86 ? 138.405 100.331 59.202 1.00 3.70 85 M 1 +ATOM 1323 C CG1 . ILE M 1 86 ? 137.025 100.939 58.911 1.00 3.70 85 M 1 +ATOM 1324 C CG2 . ILE M 1 86 ? 138.841 100.699 60.622 1.00 3.70 85 M 1 +ATOM 1325 C CD1 . ILE M 1 86 ? 135.886 100.255 59.630 1.00 3.70 85 M 1 +ATOM 1326 H H . ILE M 1 86 ? 138.741 99.767 56.719 1.00 3.70 85 M 1 +ATOM 1327 H HA . ILE M 1 86 ? 139.559 101.790 58.338 1.00 3.70 85 M 1 +ATOM 1328 H HB . ILE M 1 86 ? 138.343 99.365 59.135 1.00 3.70 85 M 1 +ATOM 1329 H HG12 . ILE M 1 86 ? 137.028 101.876 59.163 1.00 3.70 85 M 1 +ATOM 1330 H HG13 . ILE M 1 86 ? 136.822 100.870 57.965 1.00 3.70 85 M 1 +ATOM 1331 H HG21 . ILE M 1 86 ? 138.100 100.616 61.243 1.00 3.70 85 M 1 +ATOM 1332 H HG22 . ILE M 1 86 ? 139.559 100.111 60.906 1.00 3.70 85 M 1 +ATOM 1333 H HG23 . ILE M 1 86 ? 139.154 101.617 60.629 1.00 3.70 85 M 1 +ATOM 1334 H HD11 . ILE M 1 86 ? 135.049 100.509 59.210 1.00 3.70 85 M 1 +ATOM 1335 H HD12 . ILE M 1 86 ? 136.000 99.294 59.564 1.00 3.70 85 M 1 +ATOM 1336 H HD13 . ILE M 1 86 ? 135.882 100.509 60.566 1.00 3.70 85 M 1 +ATOM 1337 N N . LYS M 1 87 ? 141.853 100.969 58.576 1.00 4.77 86 M 1 +ATOM 1338 C CA . LYS M 1 87 ? 143.193 100.423 58.707 1.00 4.77 86 M 1 +ATOM 1339 C C . LYS M 1 87 ? 143.363 99.744 60.060 1.00 4.77 86 M 1 +ATOM 1340 O O . LYS M 1 87 ? 142.782 100.155 61.065 1.00 4.77 86 M 1 +ATOM 1341 C CB . LYS M 1 87 ? 144.243 101.521 58.530 1.00 30.00 86 M 1 +ATOM 1342 C CG . LYS M 1 87 ? 144.208 102.201 57.170 1.00 30.00 86 M 1 +ATOM 1343 C CD . LYS M 1 87 ? 144.545 101.226 56.055 1.00 30.00 86 M 1 +ATOM 1344 C CE . LYS M 1 87 ? 144.582 101.921 54.704 1.00 30.00 86 M 1 +ATOM 1345 N NZ . LYS M 1 87 ? 144.888 100.972 53.599 1.00 30.00 86 M 1 +ATOM 1346 H H . LYS M 1 87 ? 141.807 101.827 58.599 1.00 4.77 86 M 1 +ATOM 1347 H HA . LYS M 1 87 ? 143.330 99.755 58.017 1.00 4.77 86 M 1 +ATOM 1348 N N . LYS M 1 88 ? 144.175 98.693 60.077 1.00 4.97 87 M 1 +ATOM 1349 C CA . LYS M 1 88 ? 144.415 97.973 61.311 1.00 4.97 87 M 1 +ATOM 1350 C C . LYS M 1 88 ? 145.153 98.877 62.302 1.00 4.97 87 M 1 +ATOM 1351 O O . LYS M 1 88 ? 145.866 99.795 61.895 1.00 4.97 87 M 1 +ATOM 1352 C CB . LYS M 1 88 ? 145.223 96.704 61.055 1.00 4.97 87 M 1 +ATOM 1353 C CG . LYS M 1 88 ? 146.628 96.926 60.549 1.00 4.97 87 M 1 +ATOM 1354 C CD . LYS M 1 88 ? 147.328 95.606 60.302 1.00 4.97 87 M 1 +ATOM 1355 C CE . LYS M 1 88 ? 148.741 95.814 59.822 1.00 4.97 87 M 1 +ATOM 1356 N NZ . LYS M 1 88 ? 149.425 94.518 59.579 1.00 4.97 87 M 1 +ATOM 1357 H H . LYS M 1 88 ? 144.595 98.383 59.393 1.00 4.97 87 M 1 +ATOM 1358 H HA . LYS M 1 88 ? 143.546 97.705 61.648 1.00 4.97 87 M 1 +ATOM 1359 H HB2 . LYS M 1 88 ? 145.284 96.205 61.885 1.00 4.97 87 M 1 +ATOM 1360 H HB3 . LYS M 1 88 ? 144.759 96.168 60.393 1.00 4.97 87 M 1 +ATOM 1361 H HG2 . LYS M 1 88 ? 146.599 97.427 59.719 1.00 4.97 87 M 1 +ATOM 1362 H HG3 . LYS M 1 88 ? 147.152 97.407 61.209 1.00 4.97 87 M 1 +ATOM 1363 H HD2 . LYS M 1 88 ? 147.360 95.100 61.129 1.00 4.97 87 M 1 +ATOM 1364 H HD3 . LYS M 1 88 ? 146.855 95.105 59.619 1.00 4.97 87 M 1 +ATOM 1365 H HE2 . LYS M 1 88 ? 148.727 96.320 58.995 1.00 4.97 87 M 1 +ATOM 1366 H HE3 . LYS M 1 88 ? 149.236 96.296 60.503 1.00 4.97 87 M 1 +ATOM 1367 H HZ1 . LYS M 1 88 ? 150.258 94.655 59.296 1.00 4.97 87 M 1 +ATOM 1368 H HZ2 . LYS M 1 88 ? 149.448 94.051 60.337 1.00 4.97 87 M 1 +ATOM 1369 H HZ3 . LYS M 1 88 ? 148.985 94.051 58.963 1.00 4.97 87 M 1 +ATOM 1370 N N . PRO M 1 89 ? 145.005 98.637 63.607 1.00 4.65 88 M 1 +ATOM 1371 C CA . PRO M 1 89 ? 145.751 99.442 64.578 1.00 4.65 88 M 1 +ATOM 1372 C C . PRO M 1 89 ? 147.253 99.252 64.431 1.00 4.65 88 M 1 +ATOM 1373 O O . PRO M 1 89 ? 147.727 98.300 63.811 1.00 4.65 88 M 1 +ATOM 1374 C CB . PRO M 1 89 ? 145.249 98.925 65.928 1.00 4.65 88 M 1 +ATOM 1375 C CG . PRO M 1 89 ? 143.930 98.331 65.641 1.00 4.65 88 M 1 +ATOM 1376 C CD . PRO M 1 89 ? 144.058 97.737 64.286 1.00 4.65 88 M 1 +ATOM 1377 H HA . PRO M 1 89 ? 145.536 100.384 64.490 1.00 4.65 88 M 1 +ATOM 1378 H HB2 . PRO M 1 89 ? 145.858 98.253 66.272 1.00 4.65 88 M 1 +ATOM 1379 H HB3 . PRO M 1 89 ? 145.173 99.666 66.549 1.00 4.65 88 M 1 +ATOM 1380 H HG2 . PRO M 1 89 ? 143.743 97.634 66.289 1.00 4.65 88 M 1 +ATOM 1381 H HG3 . PRO M 1 89 ? 143.239 99.011 65.663 1.00 4.65 88 M 1 +ATOM 1382 H HD2 . PRO M 1 89 ? 144.416 96.837 64.330 1.00 4.65 88 M 1 +ATOM 1383 H HD3 . PRO M 1 89 ? 143.192 97.751 63.850 1.00 4.65 88 M 1 +ATOM 1384 N N . ASP M 1 90 ? 148.000 100.181 65.028 1.00 6.42 89 M 1 +ATOM 1385 C CA . ASP M 1 90 ? 149.444 100.220 64.829 1.00 6.42 89 M 1 +ATOM 1386 C C . ASP M 1 90 ? 150.160 99.064 65.521 1.00 6.42 89 M 1 +ATOM 1387 O O . ASP M 1 90 ? 151.321 98.786 65.205 1.00 6.42 89 M 1 +ATOM 1388 C CB . ASP M 1 90 ? 150.000 101.563 65.307 1.00 6.42 89 M 1 +ATOM 1389 C CG . ASP M 1 90 ? 149.765 101.813 66.789 1.00 6.42 89 M 1 +ATOM 1390 O OD1 . ASP M 1 90 ? 149.098 100.993 67.452 1.00 6.42 89 M 1 +ATOM 1391 O OD2 . ASP M 1 90 ? 150.256 102.842 67.298 1.00 6.42 89 M 1 +ATOM 1392 H H . ASP M 1 90 ? 147.692 100.794 65.546 1.00 6.42 89 M 1 +ATOM 1393 H HA . ASP M 1 90 ? 149.632 100.154 63.880 1.00 6.42 89 M 1 +ATOM 1394 H HB2 . ASP M 1 90 ? 150.954 101.594 65.135 1.00 6.42 89 M 1 +ATOM 1395 H HB3 . ASP M 1 90 ? 149.555 102.273 64.818 1.00 6.42 89 M 1 +ATOM 1396 N N . ARG M 1 91 ? 149.525 98.437 66.501 1.00 6.46 90 M 1 +ATOM 1397 C CA . ARG M 1 91 ? 150.159 97.302 67.210 1.00 6.46 90 M 1 +ATOM 1398 C C . ARG M 1 91 ? 149.116 96.345 67.771 1.00 6.46 90 M 1 +ATOM 1399 O O . ARG M 1 91 ? 147.959 96.741 67.965 1.00 6.46 90 M 1 +ATOM 1400 C CB . ARG M 1 91 ? 151.033 97.810 68.360 1.00 6.46 90 M 1 +ATOM 1401 C CG . ARG M 1 91 ? 150.288 98.636 69.392 1.00 6.46 90 M 1 +ATOM 1402 C CD . ARG M 1 91 ? 151.196 99.661 70.045 1.00 6.46 90 M 1 +ATOM 1403 N NE . ARG M 1 91 ? 152.000 99.066 71.096 1.00 6.46 90 M 1 +ATOM 1404 C CZ . ARG M 1 91 ? 152.762 99.746 71.952 1.00 6.46 90 M 1 +ATOM 1405 N NH1 . ARG M 1 91 ? 152.826 101.065 71.888 1.00 6.46 90 M 1 +ATOM 1406 N NH2 . ARG M 1 91 ? 153.443 99.097 72.877 1.00 6.46 90 M 1 +ATOM 1407 H H . ARG M 1 91 ? 148.725 98.709 66.841 1.00 6.46 90 M 1 +ATOM 1408 H HA . ARG M 1 91 ? 150.726 96.813 66.571 1.00 6.46 90 M 1 +ATOM 1409 H HB2 . ARG M 1 91 ? 151.438 97.038 68.808 1.00 6.46 90 M 1 +ATOM 1410 H HB3 . ARG M 1 91 ? 151.757 98.353 67.985 1.00 6.46 90 M 1 +ATOM 1411 H HG2 . ARG M 1 91 ? 149.539 99.099 68.960 1.00 6.46 90 M 1 +ATOM 1412 H HG3 . ARG M 1 91 ? 149.923 98.043 70.083 1.00 6.46 90 M 1 +ATOM 1413 H HD2 . ARG M 1 91 ? 151.787 100.051 69.366 1.00 6.46 90 M 1 +ATOM 1414 H HD3 . ARG M 1 91 ? 150.651 100.384 70.423 1.00 6.46 90 M 1 +ATOM 1415 H HE . ARG M 1 91 ? 151.982 98.198 71.177 1.00 6.46 90 M 1 +ATOM 1416 H HH11 . ARG M 1 91 ? 152.368 101.496 71.274 1.00 6.46 90 M 1 +ATOM 1417 H HH12 . ARG M 1 91 ? 153.329 101.507 72.457 1.00 6.46 90 M 1 +ATOM 1418 H HH21 . ARG M 1 91 ? 153.398 98.218 72.919 1.00 6.46 90 M 1 +ATOM 1419 H HH22 . ARG M 1 91 ? 153.948 99.544 73.444 1.00 6.46 90 M 1 +ATOM 1420 N N . ASP M 1 92 ? 149.508 95.111 68.064 1.00 7.52 91 M 1 +ATOM 1421 C CA . ASP M 1 92 ? 148.594 94.135 68.707 1.00 7.52 91 M 1 +ATOM 1422 C C . ASP M 1 92 ? 149.003 94.016 70.176 1.00 7.52 91 M 1 +ATOM 1423 O O . ASP M 1 92 ? 148.133 93.680 70.973 1.00 7.52 91 M 1 +ATOM 1424 C CB . ASP M 1 92 ? 148.599 92.781 68.004 1.00 7.52 91 M 1 +ATOM 1425 C CG . ASP M 1 92 ? 149.977 92.479 67.459 1.00 7.52 91 M 1 +ATOM 1426 O OD1 . ASP M 1 92 ? 150.923 92.558 68.246 1.00 7.52 91 M 1 +ATOM 1427 O OD2 . ASP M 1 92 ? 150.093 92.229 66.240 1.00 7.52 91 M 1 +ATOM 1428 H H . ASP M 1 92 ? 150.363 94.825 67.949 1.00 7.52 91 M 1 +ATOM 1429 H HA . ASP M 1 92 ? 147.678 94.499 68.666 1.00 7.52 91 M 1 +ATOM 1430 H HB2 . ASP M 1 92 ? 148.342 92.079 68.636 1.00 7.52 91 M 1 +ATOM 1431 H HB3 . ASP M 1 92 ? 147.956 92.789 67.266 1.00 7.52 91 M 1 +ATOM 1432 N N . ASP M 1 93 ? 150.256 94.338 70.525 1.00 6.76 92 M 1 +ATOM 1433 C CA . ASP M 1 93 ? 150.729 94.272 71.901 1.00 6.76 92 M 1 +ATOM 1434 C C . ASP M 1 93 ? 150.848 95.690 72.446 1.00 6.76 92 M 1 +ATOM 1435 O O . ASP M 1 93 ? 151.701 96.460 71.996 1.00 6.76 92 M 1 +ATOM 1436 C CB . ASP M 1 93 ? 152.072 93.541 71.962 1.00 6.76 92 M 1 +ATOM 1437 C CG . ASP M 1 93 ? 152.556 93.294 73.379 1.00 6.76 92 M 1 +ATOM 1438 O OD1 . ASP M 1 93 ? 151.901 93.735 74.341 1.00 6.76 92 M 1 +ATOM 1439 O OD2 . ASP M 1 93 ? 153.612 92.646 73.529 1.00 6.76 92 M 1 +ATOM 1440 H H . ASP M 1 93 ? 150.867 94.598 69.979 1.00 6.76 92 M 1 +ATOM 1441 H HA . ASP M 1 93 ? 150.095 93.777 72.443 1.00 6.76 92 M 1 +ATOM 1442 H HB2 . ASP M 1 93 ? 151.972 92.679 71.528 1.00 6.76 92 M 1 +ATOM 1443 H HB3 . ASP M 1 93 ? 152.743 94.066 71.499 1.00 6.76 92 M 1 +ATOM 1444 N N . TRP M 1 94 ? 149.999 96.024 73.413 1.00 4.79 93 M 1 +ATOM 1445 C CA . TRP M 1 94 ? 149.951 97.357 74.005 1.00 4.79 93 M 1 +ATOM 1446 C C . TRP M 1 94 ? 150.818 97.490 75.257 1.00 4.79 93 M 1 +ATOM 1447 O O . TRP M 1 94 ? 150.931 98.589 75.800 1.00 4.79 93 M 1 +ATOM 1448 C CB . TRP M 1 94 ? 148.495 97.714 74.308 1.00 4.79 93 M 1 +ATOM 1449 C CG . TRP M 1 94 ? 147.719 97.784 73.062 1.00 4.79 93 M 1 +ATOM 1450 C CD1 . TRP M 1 94 ? 146.925 96.817 72.544 1.00 4.79 93 M 1 +ATOM 1451 C CD2 . TRP M 1 94 ? 147.702 98.862 72.130 1.00 4.79 93 M 1 +ATOM 1452 N NE1 . TRP M 1 94 ? 146.394 97.228 71.353 1.00 4.79 93 M 1 +ATOM 1453 C CE2 . TRP M 1 94 ? 146.862 98.483 71.073 1.00 4.79 93 M 1 +ATOM 1454 C CE3 . TRP M 1 94 ? 148.312 100.113 72.090 1.00 4.79 93 M 1 +ATOM 1455 C CZ2 . TRP M 1 94 ? 146.612 99.311 69.994 1.00 4.79 93 M 1 +ATOM 1456 C CZ3 . TRP M 1 94 ? 148.066 100.930 71.015 1.00 4.79 93 M 1 +ATOM 1457 C CH2 . TRP M 1 94 ? 147.222 100.529 69.984 1.00 4.79 93 M 1 +ATOM 1458 H H . TRP M 1 94 ? 149.420 95.479 73.741 1.00 4.79 93 M 1 +ATOM 1459 H HA . TRP M 1 94 ? 150.269 98.003 73.356 1.00 4.79 93 M 1 +ATOM 1460 H HB2 . TRP M 1 94 ? 148.102 97.033 74.876 1.00 4.79 93 M 1 +ATOM 1461 H HB3 . TRP M 1 94 ? 148.451 98.582 74.739 1.00 4.79 93 M 1 +ATOM 1462 H HD1 . TRP M 1 94 ? 146.766 95.992 72.944 1.00 4.79 93 M 1 +ATOM 1463 H HE1 . TRP M 1 94 ? 145.858 96.772 70.859 1.00 4.79 93 M 1 +ATOM 1464 H HE3 . TRP M 1 94 ? 148.878 100.387 72.775 1.00 4.79 93 M 1 +ATOM 1465 H HZ2 . TRP M 1 94 ? 146.050 99.045 69.303 1.00 4.79 93 M 1 +ATOM 1466 H HZ3 . TRP M 1 94 ? 148.466 101.769 70.978 1.00 4.79 93 M 1 +ATOM 1467 H HH2 . TRP M 1 94 ? 147.074 101.107 69.270 1.00 4.79 93 M 1 +ATOM 1468 N N . GLU M 1 95 ? 151.384 96.385 75.738 1.00 6.28 94 M 1 +ATOM 1469 C CA . GLU M 1 95 ? 152.486 96.279 76.696 1.00 6.28 94 M 1 +ATOM 1470 C C . GLU M 1 95 ? 152.172 96.600 78.151 1.00 6.28 94 M 1 +ATOM 1471 O O . GLU M 1 95 ? 152.860 96.079 79.032 1.00 6.28 94 M 1 +ATOM 1472 C CB . GLU M 1 95 ? 153.654 97.191 76.296 1.00 6.28 94 M 1 +ATOM 1473 C CG . GLU M 1 95 ? 154.410 96.800 75.049 1.00 6.28 94 M 1 +ATOM 1474 C CD . GLU M 1 95 ? 155.561 97.748 74.768 1.00 6.28 94 M 1 +ATOM 1475 O OE1 . GLU M 1 95 ? 155.686 98.769 75.478 1.00 6.28 94 M 1 +ATOM 1476 O OE2 . GLU M 1 95 ? 156.334 97.480 73.823 1.00 6.28 94 M 1 +ATOM 1477 H H . GLU M 1 95 ? 151.108 95.601 75.516 1.00 6.28 94 M 1 +ATOM 1478 H HA . GLU M 1 95 ? 152.814 95.366 76.679 1.00 6.28 94 M 1 +ATOM 1479 H HB2 . GLU M 1 95 ? 153.340 98.102 76.181 1.00 6.28 94 M 1 +ATOM 1480 H HB3 . GLU M 1 95 ? 154.302 97.181 77.018 1.00 6.28 94 M 1 +ATOM 1481 H HG2 . GLU M 1 95 ? 154.776 95.909 75.164 1.00 6.28 94 M 1 +ATOM 1482 H HG3 . GLU M 1 95 ? 153.808 96.816 74.289 1.00 6.28 94 M 1 +ATOM 1483 N N . SER M 1 96 ? 151.102 97.336 78.433 1.00 4.95 95 M 1 +ATOM 1484 C CA . SER M 1 96 ? 150.767 97.707 79.804 1.00 4.95 95 M 1 +ATOM 1485 C C . SER M 1 96 ? 149.509 98.565 79.794 1.00 4.95 95 M 1 +ATOM 1486 O O . SER M 1 96 ? 149.121 99.130 78.771 1.00 4.95 95 M 1 +ATOM 1487 C CB . SER M 1 96 ? 151.907 98.467 80.503 1.00 4.95 95 M 1 +ATOM 1488 O OG . SER M 1 96 ? 152.134 99.722 79.901 1.00 4.95 95 M 1 +ATOM 1489 H H . SER M 1 96 ? 150.553 97.645 77.848 1.00 4.95 95 M 1 +ATOM 1490 H HA . SER M 1 96 ? 150.583 96.900 80.310 1.00 4.95 95 M 1 +ATOM 1491 H HB2 . SER M 1 96 ? 151.648 98.620 81.425 1.00 4.95 95 M 1 +ATOM 1492 H HB3 . SER M 1 96 ? 152.735 97.962 80.503 1.00 4.95 95 M 1 +ATOM 1493 H HG . SER M 1 96 ? 152.947 99.803 79.704 1.00 4.95 95 M 1 +ATOM 1494 N N . GLY M 1 97 ? 148.886 98.664 80.967 1.00 4.08 96 M 1 +ATOM 1495 C CA . GLY M 1 97 ? 147.786 99.597 81.142 1.00 4.08 96 M 1 +ATOM 1496 C C . GLY M 1 97 ? 148.198 101.035 80.900 1.00 4.08 96 M 1 +ATOM 1497 O O . GLY M 1 97 ? 147.507 101.781 80.204 1.00 4.08 96 M 1 +ATOM 1498 H H . GLY M 1 97 ? 149.080 98.206 81.669 1.00 4.08 96 M 1 +ATOM 1499 H HA2 . GLY M 1 97 ? 147.044 99.362 80.564 1.00 4.08 96 M 1 +ATOM 1500 H HA3 . GLY M 1 97 ? 147.481 99.547 82.062 1.00 4.08 96 M 1 +ATOM 1501 N N . LEU M 1 98 ? 149.324 101.444 81.487 1.00 4.35 97 M 1 +ATOM 1502 C CA . LEU M 1 98 ? 149.821 102.805 81.323 1.00 4.35 97 M 1 +ATOM 1503 C C . LEU M 1 98 ? 150.076 103.129 79.861 1.00 4.35 97 M 1 +ATOM 1504 O O . LEU M 1 98 ? 149.678 104.190 79.371 1.00 4.35 97 M 1 +ATOM 1505 C CB . LEU M 1 98 ? 151.098 102.993 82.141 1.00 4.35 97 M 1 +ATOM 1506 C CG . LEU M 1 98 ? 151.816 104.337 82.014 1.00 4.35 97 M 1 +ATOM 1507 C CD1 . LEU M 1 98 ? 150.932 105.487 82.425 1.00 4.35 97 M 1 +ATOM 1508 C CD2 . LEU M 1 98 ? 153.073 104.329 82.842 1.00 4.35 97 M 1 +ATOM 1509 H H . LEU M 1 98 ? 149.820 100.947 81.983 1.00 4.35 97 M 1 +ATOM 1510 H HA . LEU M 1 98 ? 149.157 103.427 81.660 1.00 4.35 97 M 1 +ATOM 1511 H HB2 . LEU M 1 98 ? 150.874 102.876 83.078 1.00 4.35 97 M 1 +ATOM 1512 H HB3 . LEU M 1 98 ? 151.731 102.304 81.884 1.00 4.35 97 M 1 +ATOM 1513 H HG . LEU M 1 98 ? 152.095 104.478 81.096 1.00 4.35 97 M 1 +ATOM 1514 H HD11 . LEU M 1 98 ? 151.461 106.299 82.385 1.00 4.35 97 M 1 +ATOM 1515 H HD12 . LEU M 1 98 ? 150.183 105.557 81.812 1.00 4.35 97 M 1 +ATOM 1516 H HD13 . LEU M 1 98 ? 150.611 105.342 83.329 1.00 4.35 97 M 1 +ATOM 1517 H HD21 . LEU M 1 98 ? 153.583 105.131 82.647 1.00 4.35 97 M 1 +ATOM 1518 H HD22 . LEU M 1 98 ? 152.832 104.310 83.781 1.00 4.35 97 M 1 +ATOM 1519 H HD23 . LEU M 1 98 ? 153.598 103.545 82.616 1.00 4.35 97 M 1 +ATOM 1520 N N . ASN M 1 99 ? 150.760 102.206 79.194 1.00 4.75 98 M 1 +ATOM 1521 C CA . ASN M 1 99 ? 151.113 102.418 77.769 1.00 4.75 98 M 1 +ATOM 1522 C C . ASN M 1 99 ? 149.818 102.556 76.966 1.00 4.75 98 M 1 +ATOM 1523 O O . ASN M 1 99 ? 149.706 103.465 76.165 1.00 4.75 98 M 1 +ATOM 1524 C CB . ASN M 1 99 ? 151.972 101.305 77.182 1.00 4.75 98 M 1 +ATOM 1525 C CG . ASN M 1 99 ? 152.324 101.638 75.750 1.00 4.75 98 M 1 +ATOM 1526 O OD1 . ASN M 1 99 ? 152.887 102.690 75.506 1.00 4.75 98 M 1 +ATOM 1527 N ND2 . ASN M 1 99 ? 152.012 100.765 74.813 1.00 4.75 98 M 1 +ATOM 1528 H H . ASN M 1 99 ? 150.924 101.371 79.514 1.00 4.75 98 M 1 +ATOM 1529 H HA . ASN M 1 99 ? 151.621 103.260 77.698 1.00 4.75 98 M 1 +ATOM 1530 H HB2 . ASN M 1 99 ? 152.791 101.209 77.709 1.00 4.75 98 M 1 +ATOM 1531 H HB3 . ASN M 1 99 ? 151.479 100.460 77.212 1.00 4.75 98 M 1 +ATOM 1532 H HD21 . ASN M 1 99 ? 152.223 100.926 73.970 1.00 4.75 98 M 1 +ATOM 1533 H HD22 . ASN M 1 99 ? 151.592 100.017 75.028 1.00 4.75 98 M 1 +ATOM 1534 N N . ALA M 1 100 ? 148.838 101.713 77.239 1.00 3.93 99 M 1 +ATOM 1535 C CA . ALA M 1 100 ? 147.559 101.755 76.541 1.00 3.93 99 M 1 +ATOM 1536 C C . ALA M 1 100 ? 146.852 103.084 76.778 1.00 3.93 99 M 1 +ATOM 1537 O O . ALA M 1 100 ? 146.297 103.679 75.850 1.00 3.93 99 M 1 +ATOM 1538 C CB . ALA M 1 100 ? 146.675 100.583 76.973 1.00 3.93 99 M 1 +ATOM 1539 H H . ALA M 1 100 ? 148.889 101.110 77.850 1.00 3.93 99 M 1 +ATOM 1540 H HA . ALA M 1 100 ? 147.721 101.661 75.589 1.00 3.93 99 M 1 +ATOM 1541 H HB1 . ALA M 1 100 ? 145.808 100.671 76.547 1.00 3.93 99 M 1 +ATOM 1542 H HB2 . ALA M 1 100 ? 147.087 99.751 76.692 1.00 3.93 99 M 1 +ATOM 1543 H HB3 . ALA M 1 100 ? 146.559 100.585 77.936 1.00 3.93 99 M 1 +ATOM 1544 N N . MET M 1 101 ? 146.875 103.575 78.018 1.00 3.66 100 M 1 +ATOM 1545 C CA . MET M 1 101 ? 146.250 104.859 78.321 1.00 3.66 100 M 1 +ATOM 1546 C C . MET M 1 101 ? 146.962 106.005 77.611 1.00 3.66 100 M 1 +ATOM 1547 O O . MET M 1 101 ? 146.317 106.935 77.120 1.00 3.66 100 M 1 +ATOM 1548 C CB . MET M 1 101 ? 146.231 105.092 79.833 1.00 3.66 100 M 1 +ATOM 1549 C CG . MET M 1 101 ? 145.292 104.199 80.617 1.00 3.66 100 M 1 +ATOM 1550 S SD . MET M 1 101 ? 143.559 104.519 80.234 1.00 3.66 100 M 1 +ATOM 1551 C CE . MET M 1 101 ? 142.752 103.227 81.176 1.00 3.66 100 M 1 +ATOM 1552 H H . MET M 1 101 ? 147.250 103.190 78.690 1.00 3.66 100 M 1 +ATOM 1553 H HA . MET M 1 101 ? 145.330 104.834 78.013 1.00 3.66 100 M 1 +ATOM 1554 H HB2 . MET M 1 101 ? 147.126 104.958 80.182 1.00 3.66 100 M 1 +ATOM 1555 H HB3 . MET M 1 101 ? 145.954 106.006 80.000 1.00 3.66 100 M 1 +ATOM 1556 H HG2 . MET M 1 101 ? 145.479 103.273 80.397 1.00 3.66 100 M 1 +ATOM 1557 H HG3 . MET M 1 101 ? 145.427 104.340 81.567 1.00 3.66 100 M 1 +ATOM 1558 H HE1 . MET M 1 101 ? 141.803 103.421 81.221 1.00 3.66 100 M 1 +ATOM 1559 H HE2 . MET M 1 101 ? 142.900 102.372 80.743 1.00 3.66 100 M 1 +ATOM 1560 H HE3 . MET M 1 101 ? 143.121 103.207 82.073 1.00 3.66 100 M 1 +ATOM 1561 N N . GLU M 1 102 ? 148.293 105.953 77.550 1.00 4.25 101 M 1 +ATOM 1562 C CA . GLU M 1 102 ? 149.059 106.982 76.855 1.00 4.25 101 M 1 +ATOM 1563 C C . GLU M 1 102 ? 148.734 106.993 75.366 1.00 4.25 101 M 1 +ATOM 1564 O O . GLU M 1 102 ? 148.533 108.059 74.766 1.00 4.25 101 M 1 +ATOM 1565 C CB . GLU M 1 102 ? 150.554 106.754 77.092 1.00 4.25 101 M 1 +ATOM 1566 C CG . GLU M 1 102 ? 151.008 107.015 78.528 1.00 4.25 101 M 1 +ATOM 1567 C CD . GLU M 1 102 ? 152.467 106.671 78.766 1.00 4.25 101 M 1 +ATOM 1568 O OE1 . GLU M 1 102 ? 153.102 106.091 77.863 1.00 4.25 101 M 1 +ATOM 1569 O OE2 . GLU M 1 102 ? 152.977 106.981 79.862 1.00 4.25 101 M 1 +ATOM 1570 H H . GLU M 1 102 ? 148.774 105.332 77.901 1.00 4.25 101 M 1 +ATOM 1571 H HA . GLU M 1 102 ? 148.837 107.850 77.227 1.00 4.25 101 M 1 +ATOM 1572 H HB2 . GLU M 1 102 ? 150.781 105.839 76.862 1.00 4.25 101 M 1 +ATOM 1573 H HB3 . GLU M 1 102 ? 151.049 107.359 76.518 1.00 4.25 101 M 1 +ATOM 1574 H HG2 . GLU M 1 102 ? 150.901 107.961 78.712 1.00 4.25 101 M 1 +ATOM 1575 H HG3 . GLU M 1 102 ? 150.471 106.507 79.156 1.00 4.25 101 M 1 +ATOM 1576 N N . CYS M 1 103 ? 148.657 105.810 74.757 1.00 4.27 102 M 1 +ATOM 1577 C CA . CYS M 1 103 ? 148.305 105.715 73.345 1.00 4.27 102 M 1 +ATOM 1578 C C . CYS M 1 103 ? 146.880 106.192 73.098 1.00 4.27 102 M 1 +ATOM 1579 O O . CYS M 1 103 ? 146.597 106.836 72.083 1.00 4.27 102 M 1 +ATOM 1580 C CB . CYS M 1 103 ? 148.489 104.281 72.869 1.00 4.27 102 M 1 +ATOM 1581 S SG . CYS M 1 103 ? 150.209 103.771 72.899 1.00 4.27 102 M 1 +ATOM 1582 H H . CYS M 1 103 ? 148.795 105.055 75.144 1.00 4.27 102 M 1 +ATOM 1583 H HA . CYS M 1 103 ? 148.905 106.272 72.824 1.00 4.27 102 M 1 +ATOM 1584 H HB2 . CYS M 1 103 ? 147.991 103.688 73.453 1.00 4.27 102 M 1 +ATOM 1585 H HB3 . CYS M 1 103 ? 148.161 104.199 71.960 1.00 4.27 102 M 1 +ATOM 1586 H HG . CYS M 1 103 ? 150.444 103.312 73.983 1.00 4.27 102 M 1 +ATOM 1587 N N . ALA M 1 104 ? 145.972 105.900 74.029 1.00 3.59 103 M 1 +ATOM 1588 C CA . ALA M 1 104 ? 144.597 106.367 73.899 1.00 3.59 103 M 1 +ATOM 1589 C C . ALA M 1 104 ? 144.523 107.884 74.011 1.00 3.59 103 M 1 +ATOM 1590 O O . ALA M 1 104 ? 143.741 108.529 73.307 1.00 3.59 103 M 1 +ATOM 1591 C CB . ALA M 1 104 ? 143.717 105.700 74.952 1.00 3.59 103 M 1 +ATOM 1592 H H . ALA M 1 104 ? 146.139 105.455 74.746 1.00 3.59 103 M 1 +ATOM 1593 H HA . ALA M 1 104 ? 144.259 106.114 73.026 1.00 3.59 103 M 1 +ATOM 1594 H HB1 . ALA M 1 104 ? 142.844 106.122 74.943 1.00 3.59 103 M 1 +ATOM 1595 H HB2 . ALA M 1 104 ? 143.625 104.758 74.741 1.00 3.59 103 M 1 +ATOM 1596 H HB3 . ALA M 1 104 ? 144.128 105.802 75.825 1.00 3.59 103 M 1 +ATOM 1597 N N . LEU M 1 105 ? 145.337 108.468 74.889 1.00 3.78 104 M 1 +ATOM 1598 C CA . LEU M 1 105 ? 145.427 109.922 74.991 1.00 3.78 104 M 1 +ATOM 1599 C C . LEU M 1 105 ? 145.897 110.530 73.678 1.00 3.78 104 M 1 +ATOM 1600 O O . LEU M 1 105 ? 145.317 111.505 73.182 1.00 3.78 104 M 1 +ATOM 1601 C CB . LEU M 1 105 ? 146.367 110.302 76.139 1.00 3.78 104 M 1 +ATOM 1602 C CG . LEU M 1 105 ? 146.670 111.778 76.392 1.00 3.78 104 M 1 +ATOM 1603 C CD1 . LEU M 1 105 ? 145.424 112.550 76.719 1.00 3.78 104 M 1 +ATOM 1604 C CD2 . LEU M 1 105 ? 147.682 111.933 77.520 1.00 3.78 104 M 1 +ATOM 1605 H H . LEU M 1 105 ? 145.854 108.045 75.430 1.00 3.78 104 M 1 +ATOM 1606 H HA . LEU M 1 105 ? 144.547 110.272 75.200 1.00 3.78 104 M 1 +ATOM 1607 H HB2 . LEU M 1 105 ? 145.973 109.969 76.960 1.00 3.78 104 M 1 +ATOM 1608 H HB3 . LEU M 1 105 ? 147.217 109.853 76.006 1.00 3.78 104 M 1 +ATOM 1609 H HG . LEU M 1 105 ? 147.066 112.161 75.594 1.00 3.78 104 M 1 +ATOM 1610 H HD11 . LEU M 1 105 ? 145.649 113.493 76.738 1.00 3.78 104 M 1 +ATOM 1611 H HD12 . LEU M 1 105 ? 144.751 112.394 76.038 1.00 3.78 104 M 1 +ATOM 1612 H HD13 . LEU M 1 105 ? 145.089 112.268 77.584 1.00 3.78 104 M 1 +ATOM 1613 H HD21 . LEU M 1 105 ? 147.677 112.852 77.830 1.00 3.78 104 M 1 +ATOM 1614 H HD22 . LEU M 1 105 ? 147.440 111.344 78.251 1.00 3.78 104 M 1 +ATOM 1615 H HD23 . LEU M 1 105 ? 148.565 111.701 77.193 1.00 3.78 104 M 1 +ATOM 1616 N N . HIS M 1 106 ? 146.934 109.922 73.114 1.00 4.28 105 M 1 +ATOM 1617 C CA . HIS M 1 106 ? 147.520 110.383 71.834 1.00 4.28 105 M 1 +ATOM 1618 C C . HIS M 1 106 ? 146.438 110.299 70.751 1.00 4.28 105 M 1 +ATOM 1619 O O . HIS M 1 106 ? 146.286 111.244 70.023 1.00 4.28 105 M 1 +ATOM 1620 C CB . HIS M 1 106 ? 148.773 109.591 71.459 1.00 4.28 105 M 1 +ATOM 1621 C CG . HIS M 1 106 ? 149.411 110.133 70.226 1.00 4.28 105 M 1 +ATOM 1622 N ND1 . HIS M 1 106 ? 150.540 110.923 70.253 1.00 4.28 105 M 1 +ATOM 1623 C CD2 . HIS M 1 106 ? 149.036 110.055 68.935 1.00 4.28 105 M 1 +ATOM 1624 C CE1 . HIS M 1 106 ? 150.858 111.276 69.023 1.00 4.28 105 M 1 +ATOM 1625 N NE2 . HIS M 1 106 ? 149.945 110.764 68.197 1.00 4.28 105 M 1 +ATOM 1626 H H . HIS M 1 106 ? 147.356 109.193 73.463 1.00 4.28 105 M 1 +ATOM 1627 H HA . HIS M 1 106 ? 147.772 111.331 71.941 1.00 4.28 105 M 1 +ATOM 1628 H HB2 . HIS M 1 106 ? 149.416 109.629 72.202 1.00 4.28 105 M 1 +ATOM 1629 H HB3 . HIS M 1 106 ? 148.531 108.650 71.313 1.00 4.28 105 M 1 +ATOM 1630 H HD2 . HIS M 1 106 ? 148.293 109.590 68.597 1.00 4.28 105 M 1 +ATOM 1631 H HE1 . HIS M 1 106 ? 151.595 111.806 68.774 1.00 4.28 105 M 1 +ATOM 1632 H HE2 . HIS M 1 106 ? 149.939 110.854 67.325 1.00 4.28 105 M 1 +ATOM 1633 N N . LEU M 1 107 ? 145.669 109.220 70.709 1.00 3.81 106 M 1 +ATOM 1634 C CA . LEU M 1 107 ? 144.621 109.008 69.718 1.00 3.81 106 M 1 +ATOM 1635 C C . LEU M 1 107 ? 143.511 110.042 69.856 1.00 3.81 106 M 1 +ATOM 1636 O O . LEU M 1 107 ? 143.052 110.622 68.865 1.00 3.81 106 M 1 +ATOM 1637 C CB . LEU M 1 107 ? 144.061 107.593 69.870 1.00 3.81 106 M 1 +ATOM 1638 C CG . LEU M 1 107 ? 142.912 107.169 68.954 1.00 3.81 106 M 1 +ATOM 1639 C CD1 . LEU M 1 107 ? 143.350 107.247 67.519 1.00 3.81 106 M 1 +ATOM 1640 C CD2 . LEU M 1 107 ? 142.426 105.770 69.294 1.00 3.81 106 M 1 +ATOM 1641 H H . LEU M 1 107 ? 145.758 108.572 71.268 1.00 3.81 106 M 1 +ATOM 1642 H HA . LEU M 1 107 ? 145.012 109.084 68.834 1.00 3.81 106 M 1 +ATOM 1643 H HB2 . LEU M 1 107 ? 144.787 106.968 69.716 1.00 3.81 106 M 1 +ATOM 1644 H HB3 . LEU M 1 107 ? 143.748 107.493 70.783 1.00 3.81 106 M 1 +ATOM 1645 H HG . LEU M 1 107 ? 142.159 107.768 69.075 1.00 3.81 106 M 1 +ATOM 1646 H HD11 . LEU M 1 107 ? 142.668 106.841 66.962 1.00 3.81 106 M 1 +ATOM 1647 H HD12 . LEU M 1 107 ? 143.463 108.179 67.276 1.00 3.81 106 M 1 +ATOM 1648 H HD13 . LEU M 1 107 ? 144.193 106.777 67.423 1.00 3.81 106 M 1 +ATOM 1649 H HD21 . LEU M 1 107 ? 141.544 105.640 68.911 1.00 3.81 106 M 1 +ATOM 1650 H HD22 . LEU M 1 107 ? 143.047 105.123 68.923 1.00 3.81 106 M 1 +ATOM 1651 H HD23 . LEU M 1 107 ? 142.374 105.669 70.257 1.00 3.81 106 M 1 +ATOM 1652 N N . GLU M 1 108 ? 143.069 110.235 71.091 1.00 4.12 107 M 1 +ATOM 1653 C CA . GLU M 1 108 ? 141.969 111.176 71.413 1.00 4.12 107 M 1 +ATOM 1654 C C . GLU M 1 108 ? 142.399 112.588 70.991 1.00 4.12 107 M 1 +ATOM 1655 O O . GLU M 1 108 ? 141.596 113.279 70.406 1.00 4.12 107 M 1 +ATOM 1656 C CB . GLU M 1 108 ? 141.587 111.054 72.884 1.00 4.12 107 M 1 +ATOM 1657 C CG . GLU M 1 108 ? 140.923 109.727 73.206 1.00 4.12 107 M 1 +ATOM 1658 C CD . GLU M 1 108 ? 139.792 109.399 72.241 1.00 4.12 107 M 1 +ATOM 1659 O OE1 . GLU M 1 108 ? 138.811 110.143 72.219 1.00 4.12 107 M 1 +ATOM 1660 O OE2 . GLU M 1 108 ? 139.909 108.409 71.485 1.00 4.12 107 M 1 +ATOM 1661 H H . GLU M 1 108 ? 143.492 109.895 71.822 1.00 4.12 107 M 1 +ATOM 1662 H HA . GLU M 1 108 ? 141.187 110.921 70.871 1.00 4.12 107 M 1 +ATOM 1663 H HB2 . GLU M 1 108 ? 142.395 111.150 73.430 1.00 4.12 107 M 1 +ATOM 1664 H HB3 . GLU M 1 108 ? 140.975 111.784 73.114 1.00 4.12 107 M 1 +ATOM 1665 H HG2 . GLU M 1 108 ? 141.592 109.010 73.166 1.00 4.12 107 M 1 +ATOM 1666 H HG3 . GLU M 1 108 ? 140.564 109.755 74.118 1.00 4.12 107 M 1 +ATOM 1667 N N . LYS M 1 109 ? 143.643 112.984 71.226 1.00 4.42 108 M 1 +ATOM 1668 C CA . LYS M 1 109 ? 144.089 114.320 70.843 1.00 4.42 108 M 1 +ATOM 1669 C C . LYS M 1 109 ? 144.176 114.453 69.325 1.00 4.42 108 M 1 +ATOM 1670 O O . LYS M 1 109 ? 143.880 115.518 68.773 1.00 4.42 108 M 1 +ATOM 1671 C CB . LYS M 1 109 ? 145.424 114.669 71.504 1.00 4.42 108 M 1 +ATOM 1672 C CG . LYS M 1 109 ? 145.316 114.840 73.017 1.00 4.42 108 M 1 +ATOM 1673 C CD . LYS M 1 109 ? 146.618 115.261 73.686 1.00 4.42 108 M 1 +ATOM 1674 C CE . LYS M 1 109 ? 146.896 116.730 73.440 1.00 4.42 108 M 1 +ATOM 1675 N NZ . LYS M 1 109 ? 148.084 117.253 74.164 1.00 4.42 108 M 1 +ATOM 1676 H H . LYS M 1 109 ? 144.242 112.493 71.600 1.00 4.42 108 M 1 +ATOM 1677 H HA . LYS M 1 109 ? 143.439 114.968 71.158 1.00 4.42 108 M 1 +ATOM 1678 H HB2 . LYS M 1 109 ? 146.060 113.958 71.328 1.00 4.42 108 M 1 +ATOM 1679 H HB3 . LYS M 1 109 ? 145.752 115.499 71.124 1.00 4.42 108 M 1 +ATOM 1680 H HG2 . LYS M 1 109 ? 144.645 115.513 73.209 1.00 4.42 108 M 1 +ATOM 1681 H HG3 . LYS M 1 109 ? 145.041 114.001 73.418 1.00 4.42 108 M 1 +ATOM 1682 H HD2 . LYS M 1 109 ? 146.543 115.125 74.644 1.00 4.42 108 M 1 +ATOM 1683 H HD3 . LYS M 1 109 ? 147.358 114.745 73.330 1.00 4.42 108 M 1 +ATOM 1684 H HE2 . LYS M 1 109 ? 147.028 116.881 72.491 1.00 4.42 108 M 1 +ATOM 1685 H HE3 . LYS M 1 109 ? 146.130 117.236 73.754 1.00 4.42 108 M 1 +ATOM 1686 H HZ1 . LYS M 1 109 ? 147.963 118.112 74.361 1.00 4.42 108 M 1 +ATOM 1687 H HZ2 . LYS M 1 109 ? 148.197 116.799 74.921 1.00 4.42 108 M 1 +ATOM 1688 H HZ3 . LYS M 1 109 ? 148.814 117.172 73.661 1.00 4.42 108 M 1 +ATOM 1689 N N . SER M 1 110 ? 144.542 113.374 68.629 1.00 4.37 109 M 1 +ATOM 1690 C CA . SER M 1 110 ? 144.545 113.402 67.165 1.00 4.37 109 M 1 +ATOM 1691 C C . SER M 1 110 ? 143.136 113.581 66.609 1.00 4.37 109 M 1 +ATOM 1692 O O . SER M 1 110 ? 142.915 114.377 65.684 1.00 4.37 109 M 1 +ATOM 1693 C CB . SER M 1 110 ? 145.161 112.117 66.620 1.00 4.37 109 M 1 +ATOM 1694 O OG . SER M 1 110 ? 144.341 111.009 66.927 1.00 4.37 109 M 1 +ATOM 1695 H H . SER M 1 110 ? 144.787 112.625 68.973 1.00 4.37 109 M 1 +ATOM 1696 H HA . SER M 1 110 ? 145.089 114.145 66.862 1.00 4.37 109 M 1 +ATOM 1697 H HB2 . SER M 1 110 ? 145.240 112.181 65.655 1.00 4.37 109 M 1 +ATOM 1698 H HB3 . SER M 1 110 ? 146.039 111.988 67.011 1.00 4.37 109 M 1 +ATOM 1699 H HG . SER M 1 110 ? 144.057 111.077 67.715 1.00 4.37 109 M 1 +ATOM 1700 N N . VAL M 1 111 ? 142.176 112.838 67.158 1.00 4.23 110 M 1 +ATOM 1701 C CA . VAL M 1 111 ? 140.783 112.978 66.746 1.00 4.23 110 M 1 +ATOM 1702 C C . VAL M 1 111 ? 140.298 114.398 67.013 1.00 4.23 110 M 1 +ATOM 1703 O O . VAL M 1 111 ? 139.589 114.998 66.193 1.00 4.23 110 M 1 +ATOM 1704 C CB . VAL M 1 111 ? 139.905 111.926 67.453 1.00 4.23 110 M 1 +ATOM 1705 C CG1 . VAL M 1 111 ? 138.430 112.153 67.153 1.00 4.23 110 M 1 +ATOM 1706 C CG2 . VAL M 1 111 ? 140.296 110.511 67.023 1.00 4.23 110 M 1 +ATOM 1707 H H . VAL M 1 111 ? 142.302 112.255 67.777 1.00 4.23 110 M 1 +ATOM 1708 H HA . VAL M 1 111 ? 140.727 112.817 65.791 1.00 4.23 110 M 1 +ATOM 1709 H HB . VAL M 1 111 ? 140.028 111.997 68.412 1.00 4.23 110 M 1 +ATOM 1710 H HG11 . VAL M 1 111 ? 137.929 111.367 67.422 1.00 4.23 110 M 1 +ATOM 1711 H HG12 . VAL M 1 111 ? 138.098 112.918 67.649 1.00 4.23 110 M 1 +ATOM 1712 H HG13 . VAL M 1 111 ? 138.322 112.290 66.199 1.00 4.23 110 M 1 +ATOM 1713 H HG21 . VAL M 1 111 ? 139.830 109.881 67.595 1.00 4.23 110 M 1 +ATOM 1714 H HG22 . VAL M 1 111 ? 140.028 110.373 66.101 1.00 4.23 110 M 1 +ATOM 1715 H HG23 . VAL M 1 111 ? 141.253 110.372 67.097 1.00 4.23 110 M 1 +ATOM 1716 N N . ASN M 1 112 ? 140.717 114.929 68.153 1.00 4.52 111 M 1 +ATOM 1717 C CA . ASN M 1 112 ? 140.342 116.303 68.560 1.00 4.52 111 M 1 +ATOM 1718 C C . ASN M 1 112 ? 140.887 117.288 67.517 1.00 4.52 111 M 1 +ATOM 1719 O O . ASN M 1 112 ? 140.143 118.121 67.037 1.00 4.52 111 M 1 +ATOM 1720 C CB . ASN M 1 112 ? 140.871 116.639 69.955 1.00 4.52 111 M 1 +ATOM 1721 C CG . ASN M 1 112 ? 140.253 117.911 70.489 1.00 4.52 111 M 1 +ATOM 1722 O OD1 . ASN M 1 112 ? 139.121 118.212 70.161 1.00 4.52 111 M 1 +ATOM 1723 N ND2 . ASN M 1 112 ? 140.984 118.639 71.313 1.00 4.52 111 M 1 +ATOM 1724 H H . ASN M 1 112 ? 141.351 114.540 68.678 1.00 4.52 111 M 1 +ATOM 1725 H HA . ASN M 1 112 ? 139.358 116.369 68.580 1.00 4.52 111 M 1 +ATOM 1726 H HB2 . ASN M 1 112 ? 140.666 115.899 70.563 1.00 4.52 111 M 1 +ATOM 1727 H HB3 . ASN M 1 112 ? 141.843 116.744 69.913 1.00 4.52 111 M 1 +ATOM 1728 H HD21 . ASN M 1 112 ? 141.775 118.347 71.578 1.00 4.52 111 M 1 +ATOM 1729 H HD22 . ASN M 1 112 ? 140.683 119.419 71.599 1.00 4.52 111 M 1 +ATOM 1730 N N . GLN M 1 113 ? 142.141 117.072 67.128 1.00 5.11 112 M 1 +ATOM 1731 C CA . GLN M 1 113 ? 142.834 117.940 66.147 1.00 5.11 112 M 1 +ATOM 1732 C C . GLN M 1 113 ? 142.073 117.860 64.820 1.00 5.11 112 M 1 +ATOM 1733 O O . GLN M 1 113 ? 141.691 118.896 64.332 1.00 5.11 112 M 1 +ATOM 1734 C CB . GLN M 1 113 ? 144.297 117.557 65.966 1.00 5.11 112 M 1 +ATOM 1735 C CG . GLN M 1 113 ? 145.022 118.572 65.094 1.00 5.11 112 M 1 +ATOM 1736 C CD . GLN M 1 113 ? 144.785 119.967 65.611 1.00 5.11 112 M 1 +ATOM 1737 O OE1 . GLN M 1 113 ? 145.184 120.306 66.717 1.00 5.11 112 M 1 +ATOM 1738 N NE2 . GLN M 1 113 ? 144.062 120.770 64.847 1.00 5.11 112 M 1 +ATOM 1739 H H . GLN M 1 113 ? 142.599 116.316 67.344 1.00 5.11 112 M 1 +ATOM 1740 H HA . GLN M 1 113 ? 142.790 118.868 66.475 1.00 5.11 112 M 1 +ATOM 1741 H HB2 . GLN M 1 113 ? 144.728 117.512 66.845 1.00 5.11 112 M 1 +ATOM 1742 H HB3 . GLN M 1 113 ? 144.348 116.671 65.551 1.00 5.11 112 M 1 +ATOM 1743 H HG2 . GLN M 1 113 ? 145.984 118.380 65.094 1.00 5.11 112 M 1 +ATOM 1744 H HG3 . GLN M 1 113 ? 144.696 118.505 64.171 1.00 5.11 112 M 1 +ATOM 1745 H HE21 . GLN M 1 113 ? 143.722 120.470 64.088 1.00 5.11 112 M 1 +ATOM 1746 H HE22 . GLN M 1 113 ? 143.918 121.606 65.096 1.00 5.11 112 M 1 +ATOM 1747 N N . SER M 1 114 ? 141.629 116.668 64.416 0.55 4.90 113 M 1 +ATOM 1748 C CA . SER M 1 114 ? 140.863 116.555 63.144 0.55 4.90 113 M 1 +ATOM 1749 C C . SER M 1 114 ? 139.536 117.326 63.248 0.55 4.90 113 M 1 +ATOM 1750 O O . SER M 1 114 ? 139.168 118.017 62.297 0.55 4.90 113 M 1 +ATOM 1751 C CB . SER M 1 114 ? 140.631 115.110 62.773 0.55 4.90 113 M 1 +ATOM 1752 O OG . SER M 1 114 ? 139.747 114.492 63.686 0.55 4.90 113 M 1 +ATOM 1753 H H . SER M 1 114 ? 141.266 116.108 65.036 0.55 4.90 113 M 1 +ATOM 1754 H HA . SER M 1 114 ? 141.406 116.977 62.424 0.55 4.90 113 M 1 +ATOM 1755 H HB2 . SER M 1 114 ? 140.252 115.063 61.866 0.55 4.90 113 M 1 +ATOM 1756 H HB3 . SER M 1 114 ? 141.490 114.631 62.771 0.55 4.90 113 M 1 +ATOM 1757 H HG . SER M 1 114 ? 139.464 115.080 64.225 0.55 4.90 113 M 1 +ATOM 1758 N N . LEU M 1 115 ? 138.859 117.253 64.392 1.00 4.69 114 M 1 +ATOM 1759 C CA . LEU M 1 115 ? 137.594 117.954 64.591 1.00 4.69 114 M 1 +ATOM 1760 C C . LEU M 1 115 ? 137.776 119.467 64.575 1.00 4.69 114 M 1 +ATOM 1761 O O . LEU M 1 115 ? 136.914 120.196 64.076 1.00 4.69 114 M 1 +ATOM 1762 C CB . LEU M 1 115 ? 136.965 117.506 65.904 1.00 4.69 114 M 1 +ATOM 1763 C CG . LEU M 1 115 ? 136.436 116.074 65.961 1.00 4.69 114 M 1 +ATOM 1764 C CD1 . LEU M 1 115 ? 136.142 115.718 67.392 1.00 4.69 114 M 1 +ATOM 1765 C CD2 . LEU M 1 115 ? 135.185 115.889 65.113 1.00 4.69 114 M 1 +ATOM 1766 H H . LEU M 1 115 ? 139.121 116.786 65.065 1.00 4.69 114 M 1 +ATOM 1767 H HA . LEU M 1 115 ? 136.991 117.729 63.865 1.00 4.69 114 M 1 +ATOM 1768 H HB2 . LEU M 1 115 ? 137.632 117.597 66.602 1.00 4.69 114 M 1 +ATOM 1769 H HB3 . LEU M 1 115 ? 136.223 118.099 66.102 1.00 4.69 114 M 1 +ATOM 1770 H HG . LEU M 1 115 ? 137.112 115.463 65.628 1.00 4.69 114 M 1 +ATOM 1771 H HD11 . LEU M 1 115 ? 135.645 114.886 67.426 1.00 4.69 114 M 1 +ATOM 1772 H HD12 . LEU M 1 115 ? 136.992 115.614 67.847 1.00 4.69 114 M 1 +ATOM 1773 H HD13 . LEU M 1 115 ? 135.636 116.432 67.811 1.00 4.69 114 M 1 +ATOM 1774 H HD21 . LEU M 1 115 ? 135.004 114.939 65.032 1.00 4.69 114 M 1 +ATOM 1775 H HD22 . LEU M 1 115 ? 134.437 116.323 65.552 1.00 4.69 114 M 1 +ATOM 1776 H HD23 . LEU M 1 115 ? 135.315 116.259 64.226 1.00 4.69 114 M 1 +ATOM 1777 N N . LEU M 1 116 ? 138.878 119.960 65.131 1.00 5.05 115 M 1 +ATOM 1778 C CA . LEU M 1 116 ? 139.138 121.397 65.104 1.00 5.05 115 M 1 +ATOM 1779 C C . LEU M 1 116 ? 139.387 121.874 63.680 1.00 5.05 115 M 1 +ATOM 1780 O O . LEU M 1 116 ? 138.920 122.949 63.282 1.00 5.05 115 M 1 +ATOM 1781 C CB . LEU M 1 116 ? 140.322 121.733 66.011 1.00 5.05 115 M 1 +ATOM 1782 C CG . LEU M 1 116 ? 140.104 121.561 67.520 1.00 5.05 115 M 1 +ATOM 1783 C CD1 . LEU M 1 116 ? 141.408 121.733 68.279 1.00 5.05 115 M 1 +ATOM 1784 C CD2 . LEU M 1 116 ? 139.056 122.534 68.048 1.00 5.05 115 M 1 +ATOM 1785 H H . LEU M 1 116 ? 139.484 119.491 65.522 1.00 5.05 115 M 1 +ATOM 1786 H HA . LEU M 1 116 ? 138.360 121.870 65.437 1.00 5.05 115 M 1 +ATOM 1787 H HB2 . LEU M 1 116 ? 141.064 121.161 65.761 1.00 5.05 115 M 1 +ATOM 1788 H HB3 . LEU M 1 116 ? 140.578 122.655 65.850 1.00 5.05 115 M 1 +ATOM 1789 H HG . LEU M 1 116 ? 139.769 120.669 67.702 1.00 5.05 115 M 1 +ATOM 1790 H HD11 . LEU M 1 116 ? 141.268 121.446 69.195 1.00 5.05 115 M 1 +ATOM 1791 H HD12 . LEU M 1 116 ? 142.101 121.192 67.870 1.00 5.05 115 M 1 +ATOM 1792 H HD13 . LEU M 1 116 ? 141.673 122.666 68.255 1.00 5.05 115 M 1 +ATOM 1793 H HD21 . LEU M 1 116 ? 139.130 122.592 69.013 1.00 5.05 115 M 1 +ATOM 1794 H HD22 . LEU M 1 116 ? 139.204 123.408 67.653 1.00 5.05 115 M 1 +ATOM 1795 H HD23 . LEU M 1 116 ? 138.172 122.210 67.813 1.00 5.05 115 M 1 +ATOM 1796 N N . GLU M 1 117 ? 140.102 121.074 62.890 1.00 6.09 116 M 1 +ATOM 1797 C CA . GLU M 1 117 ? 140.283 121.391 61.476 1.00 6.09 116 M 1 +ATOM 1798 C C . GLU M 1 117 ? 138.942 121.417 60.745 1.00 6.09 116 M 1 +ATOM 1799 O O . GLU M 1 117 ? 138.692 122.295 59.908 1.00 6.09 116 M 1 +ATOM 1800 C CB . GLU M 1 117 ? 141.244 120.379 60.849 1.00 6.09 116 M 1 +ATOM 1801 C CG . GLU M 1 117 ? 142.676 120.511 61.372 1.00 6.09 116 M 1 +ATOM 1802 C CD . GLU M 1 117 ? 143.615 119.439 60.848 1.00 6.09 116 M 1 +ATOM 1803 O OE1 . GLU M 1 117 ? 143.145 118.498 60.174 1.00 6.09 116 M 1 +ATOM 1804 O OE2 . GLU M 1 117 ? 144.829 119.532 61.124 1.00 6.09 116 M 1 +ATOM 1805 H H . GLU M 1 117 ? 140.479 120.343 63.141 1.00 6.09 116 M 1 +ATOM 1806 H HA . GLU M 1 117 ? 140.686 122.270 61.398 1.00 6.09 116 M 1 +ATOM 1807 H HB2 . GLU M 1 117 ? 140.938 119.480 61.047 1.00 6.09 116 M 1 +ATOM 1808 H HB3 . GLU M 1 117 ? 141.261 120.514 59.889 1.00 6.09 116 M 1 +ATOM 1809 H HG2 . GLU M 1 117 ? 143.029 121.370 61.094 1.00 6.09 116 M 1 +ATOM 1810 H HG3 . GLU M 1 117 ? 142.679 120.468 62.341 1.00 6.09 116 M 1 +ATOM 1811 N N . LEU M 1 118 ? 138.050 120.493 61.095 1.00 5.44 117 M 1 +ATOM 1812 C CA . LEU M 1 118 ? 136.683 120.381 60.513 1.00 5.44 117 M 1 +ATOM 1813 C C . LEU M 1 118 ? 135.896 121.645 60.854 1.00 5.44 117 M 1 +ATOM 1814 O O . LEU M 1 118 ? 135.268 122.209 59.984 1.00 5.44 117 M 1 +ATOM 1815 C CB . LEU M 1 118 ? 136.001 119.162 61.135 1.00 5.44 117 M 1 +ATOM 1816 C CG . LEU M 1 118 ? 135.154 118.291 60.216 1.00 5.44 117 M 1 +ATOM 1817 C CD1 . LEU M 1 118 ? 134.146 117.487 61.035 1.00 5.44 117 M 1 +ATOM 1818 C CD2 . LEU M 1 118 ? 134.466 119.108 59.137 1.00 5.44 117 M 1 +ATOM 1819 H H . LEU M 1 118 ? 138.182 119.944 61.808 1.00 5.44 117 M 1 +ATOM 1820 H HA . LEU M 1 118 ? 136.748 120.280 59.536 1.00 5.44 117 M 1 +ATOM 1821 H HB2 . LEU M 1 118 ? 136.695 118.598 61.532 1.00 5.44 117 M 1 +ATOM 1822 H HB3 . LEU M 1 118 ? 135.431 119.476 61.865 1.00 5.44 117 M 1 +ATOM 1823 H HG . LEU M 1 118 ? 135.758 117.649 59.768 1.00 5.44 117 M 1 +ATOM 1824 H HD11 . LEU M 1 118 ? 134.618 116.943 61.689 1.00 5.44 117 M 1 +ATOM 1825 H HD12 . LEU M 1 118 ? 133.634 116.908 60.443 1.00 5.44 117 M 1 +ATOM 1826 H HD13 . LEU M 1 118 ? 133.542 118.095 61.495 1.00 5.44 117 M 1 +ATOM 1827 H HD21 . LEU M 1 118 ? 133.946 118.518 58.565 1.00 5.44 117 M 1 +ATOM 1828 H HD22 . LEU M 1 118 ? 133.876 119.761 59.551 1.00 5.44 117 M 1 +ATOM 1829 H HD23 . LEU M 1 118 ? 135.136 119.569 58.602 1.00 5.44 117 M 1 +ATOM 1830 N N . HIS M 1 119 ? 135.947 122.064 62.122 1.00 5.74 118 M 1 +ATOM 1831 C CA . HIS M 1 119 ? 135.252 123.284 62.608 1.00 5.74 118 M 1 +ATOM 1832 C C . HIS M 1 119 ? 135.812 124.508 61.869 1.00 5.74 118 M 1 +ATOM 1833 O O . HIS M 1 119 ? 135.030 125.369 61.545 1.00 5.74 118 M 1 +ATOM 1834 C CB . HIS M 1 119 ? 135.357 123.419 64.135 1.00 5.74 118 M 1 +ATOM 1835 C CG . HIS M 1 119 ? 134.535 124.536 64.685 1.00 5.74 118 M 1 +ATOM 1836 N ND1 . HIS M 1 119 ? 134.975 125.837 64.658 1.00 5.74 118 M 1 +ATOM 1837 C CD2 . HIS M 1 119 ? 133.302 124.564 65.235 1.00 5.74 118 M 1 +ATOM 1838 C CE1 . HIS M 1 119 ? 134.060 126.618 65.183 1.00 5.74 118 M 1 +ATOM 1839 N NE2 . HIS M 1 119 ? 133.035 125.861 65.563 1.00 5.74 118 M 1 +ATOM 1840 H H . HIS M 1 119 ? 136.410 121.635 62.778 1.00 5.74 118 M 1 +ATOM 1841 H HA . HIS M 1 119 ? 134.298 123.198 62.373 1.00 5.74 118 M 1 +ATOM 1842 H HB2 . HIS M 1 119 ? 135.068 122.576 64.550 1.00 5.74 118 M 1 +ATOM 1843 H HB3 . HIS M 1 119 ? 136.298 123.565 64.378 1.00 5.74 118 M 1 +ATOM 1844 H HD1 . HIS M 1 119 ? 135.747 126.104 64.341 1.00 5.74 118 M 1 +ATOM 1845 H HD2 . HIS M 1 119 ? 132.745 123.826 65.397 1.00 5.74 118 M 1 +ATOM 1846 H HE1 . HIS M 1 119 ? 134.129 127.551 65.291 1.00 5.74 118 M 1 +ATOM 1847 H HE2 . HIS M 1 119 ? 132.296 126.153 65.935 1.00 5.74 118 M 1 +ATOM 1848 N N . LYS M 1 120 ? 137.117 124.588 61.642 1.00 6.94 119 M 1 +ATOM 1849 C CA . LYS M 1 120 ? 137.704 125.731 60.953 1.00 6.94 119 M 1 +ATOM 1850 C C . LYS M 1 120 ? 137.252 125.769 59.501 1.00 6.94 119 M 1 +ATOM 1851 O O . LYS M 1 120 ? 136.968 126.841 58.957 1.00 6.94 119 M 1 +ATOM 1852 C CB . LYS M 1 120 ? 139.226 125.668 61.063 1.00 6.94 119 M 1 +ATOM 1853 C CG . LYS M 1 120 ? 139.965 126.875 60.528 1.00 6.94 119 M 1 +ATOM 1854 C CD . LYS M 1 120 ? 141.474 126.717 60.664 1.00 6.94 119 M 1 +ATOM 1855 C CE . LYS M 1 120 ? 141.924 126.836 62.124 1.00 6.94 119 M 1 +ATOM 1856 N NZ . LYS M 1 120 ? 143.405 126.855 62.278 1.00 6.94 119 M 1 +ATOM 1857 H H . LYS M 1 120 ? 137.682 123.981 61.870 1.00 6.94 119 M 1 +ATOM 1858 H HA . LYS M 1 120 ? 137.406 126.548 61.382 1.00 6.94 119 M 1 +ATOM 1859 H HB2 . LYS M 1 120 ? 139.445 125.586 62.004 1.00 6.94 119 M 1 +ATOM 1860 H HB3 . LYS M 1 120 ? 139.553 124.888 60.587 1.00 6.94 119 M 1 +ATOM 1861 H HG2 . LYS M 1 120 ? 139.763 126.981 59.585 1.00 6.94 119 M 1 +ATOM 1862 H HG3 . LYS M 1 120 ? 139.697 127.666 61.021 1.00 6.94 119 M 1 +ATOM 1863 H HD2 . LYS M 1 120 ? 141.736 125.844 60.333 1.00 6.94 119 M 1 +ATOM 1864 H HD3 . LYS M 1 120 ? 141.916 127.413 60.152 1.00 6.94 119 M 1 +ATOM 1865 H HE2 . LYS M 1 120 ? 141.562 127.647 62.515 1.00 6.94 119 M 1 +ATOM 1866 H HE3 . LYS M 1 120 ? 141.600 126.065 62.615 1.00 6.94 119 M 1 +ATOM 1867 H HZ1 . LYS M 1 120 ? 143.619 127.107 63.104 1.00 6.94 119 M 1 +ATOM 1868 H HZ2 . LYS M 1 120 ? 143.740 126.045 62.127 1.00 6.94 119 M 1 +ATOM 1869 H HZ3 . LYS M 1 120 ? 143.762 127.429 61.699 1.00 6.94 119 M 1 +ATOM 1870 N N . LEU M 1 121 ? 137.154 124.601 58.866 1.00 6.89 120 M 1 +ATOM 1871 C CA . LEU M 1 121 ? 136.638 124.530 57.503 1.00 6.89 120 M 1 +ATOM 1872 C C . LEU M 1 121 ? 135.186 124.986 57.441 1.00 6.89 120 M 1 +ATOM 1873 O O . LEU M 1 121 ? 134.803 125.757 56.555 1.00 6.89 120 M 1 +ATOM 1874 C CB . LEU M 1 121 ? 136.786 123.102 56.978 1.00 6.89 120 M 1 +ATOM 1875 C CG . LEU M 1 121 ? 136.318 122.766 55.565 1.00 6.89 120 M 1 +ATOM 1876 C CD1 . LEU M 1 121 ? 137.080 123.577 54.538 1.00 6.89 120 M 1 +ATOM 1877 C CD2 . LEU M 1 121 ? 136.493 121.280 55.308 1.00 6.89 120 M 1 +ATOM 1878 H H . LEU M 1 121 ? 137.359 123.837 59.205 1.00 6.89 120 M 1 +ATOM 1879 H HA . LEU M 1 121 ? 137.162 125.118 56.936 1.00 6.89 120 M 1 +ATOM 1880 H HB2 . LEU M 1 121 ? 137.730 122.882 57.011 1.00 6.89 120 M 1 +ATOM 1881 H HB3 . LEU M 1 121 ? 136.308 122.511 57.580 1.00 6.89 120 M 1 +ATOM 1882 H HG . LEU M 1 121 ? 135.373 122.969 55.487 1.00 6.89 120 M 1 +ATOM 1883 H HD11 . LEU M 1 121 ? 136.899 123.221 53.654 1.00 6.89 120 M 1 +ATOM 1884 H HD12 . LEU M 1 121 ? 136.791 124.502 54.586 1.00 6.89 120 M 1 +ATOM 1885 H HD13 . LEU M 1 121 ? 138.029 123.518 54.730 1.00 6.89 120 M 1 +ATOM 1886 H HD21 . LEU M 1 121 ? 136.305 121.089 54.376 1.00 6.89 120 M 1 +ATOM 1887 H HD22 . LEU M 1 121 ? 137.408 121.035 55.519 1.00 6.89 120 M 1 +ATOM 1888 H HD23 . LEU M 1 121 ? 135.882 120.783 55.875 1.00 6.89 120 M 1 +ATOM 1889 N N . ALA M 1 122 ? 134.366 124.518 58.380 1.00 6.56 121 M 1 +ATOM 1890 C CA . ALA M 1 122 ? 132.956 124.884 58.403 1.00 6.56 121 M 1 +ATOM 1891 C C . ALA M 1 122 ? 132.772 126.373 58.681 1.00 6.56 121 M 1 +ATOM 1892 O O . ALA M 1 122 ? 131.834 126.996 58.172 1.00 6.56 121 M 1 +ATOM 1893 C CB . ALA M 1 122 ? 132.228 124.038 59.443 1.00 6.56 121 M 1 +ATOM 1894 H H . ALA M 1 122 ? 134.599 123.980 59.009 1.00 6.56 121 M 1 +ATOM 1895 H HA . ALA M 1 122 ? 132.566 124.688 57.537 1.00 6.56 121 M 1 +ATOM 1896 H HB1 . ALA M 1 122 ? 131.302 124.321 59.497 1.00 6.56 121 M 1 +ATOM 1897 H HB2 . ALA M 1 122 ? 132.279 123.107 59.175 1.00 6.56 121 M 1 +ATOM 1898 H HB3 . ALA M 1 122 ? 132.657 124.155 60.305 1.00 6.56 121 M 1 +ATOM 1899 N N . THR M 1 123 ? 133.659 126.961 59.484 1.00 7.31 122 M 1 +ATOM 1900 C CA . THR M 1 123 ? 133.606 128.398 59.721 1.00 7.31 122 M 1 +ATOM 1901 C C . THR M 1 123 ? 134.046 129.166 58.482 1.00 7.31 122 M 1 +ATOM 1902 O O . THR M 1 123 ? 133.495 130.227 58.173 1.00 7.31 122 M 1 +ATOM 1903 C CB . THR M 1 123 ? 134.470 128.769 60.928 1.00 7.31 122 M 1 +ATOM 1904 O OG1 . THR M 1 123 ? 133.960 128.120 62.097 1.00 7.31 122 M 1 +ATOM 1905 C CG2 . THR M 1 123 ? 134.483 130.277 61.145 1.00 7.31 122 M 1 +ATOM 1906 H H . THR M 1 123 ? 134.302 126.556 59.886 1.00 7.31 122 M 1 +ATOM 1907 H HA . THR M 1 123 ? 132.694 128.650 59.934 1.00 7.31 122 M 1 +ATOM 1908 H HB . THR M 1 123 ? 135.385 128.481 60.782 1.00 7.31 122 M 1 +ATOM 1909 H HG1 . THR M 1 123 ? 133.261 127.701 61.895 1.00 7.31 122 M 1 +ATOM 1910 H HG21 . THR M 1 123 ? 134.748 130.484 62.055 1.00 7.31 122 M 1 +ATOM 1911 H HG22 . THR M 1 123 ? 135.113 130.697 60.539 1.00 7.31 122 M 1 +ATOM 1912 H HG23 . THR M 1 123 ? 133.599 130.644 60.988 1.00 7.31 122 M 1 +ATOM 1913 N N . ASP M 1 124 ? 135.030 128.636 57.753 1.00 8.30 123 M 1 +ATOM 1914 C CA . ASP M 1 124 ? 135.501 129.298 56.541 1.00 8.30 123 M 1 +ATOM 1915 C C . ASP M 1 124 ? 134.428 129.291 55.460 1.00 8.30 123 M 1 +ATOM 1916 O O . ASP M 1 124 ? 134.339 130.227 54.657 1.00 8.30 123 M 1 +ATOM 1917 C CB . ASP M 1 124 ? 136.770 128.620 56.028 1.00 8.30 123 M 1 +ATOM 1918 C CG . ASP M 1 124 ? 137.366 129.322 54.822 1.00 8.30 123 M 1 +ATOM 1919 O OD1 . ASP M 1 124 ? 136.811 130.351 54.385 1.00 8.30 123 M 1 +ATOM 1920 O OD2 . ASP M 1 124 ? 138.392 128.834 54.304 1.00 8.30 123 M 1 +ATOM 1921 H H . ASP M 1 124 ? 135.429 127.895 57.930 1.00 8.30 123 M 1 +ATOM 1922 H HA . ASP M 1 124 ? 135.715 130.220 56.753 1.00 8.30 123 M 1 +ATOM 1923 H HB2 . ASP M 1 124 ? 137.433 128.611 56.737 1.00 8.30 123 M 1 +ATOM 1924 H HB3 . ASP M 1 124 ? 136.561 127.710 55.765 1.00 8.30 123 M 1 +ATOM 1925 N N . LYS M 1 125 ? 133.639 128.218 55.448 1.00 7.98 124 M 1 +ATOM 1926 C CA . LYS M 1 125 ? 132.537 127.992 54.479 1.00 7.98 124 M 1 +ATOM 1927 C C . LYS M 1 125 ? 131.232 128.616 54.993 1.00 7.98 124 M 1 +ATOM 1928 O O . LYS M 1 125 ? 130.244 128.495 54.287 1.00 7.98 124 M 1 +ATOM 1929 C CB . LYS M 1 125 ? 132.390 126.495 54.199 1.00 7.98 124 M 1 +ATOM 1930 C CG . LYS M 1 125 ? 133.616 125.856 53.570 1.00 7.98 124 M 1 +ATOM 1931 C CD . LYS M 1 125 ? 134.148 126.682 52.423 1.00 7.98 124 M 1 +ATOM 1932 C CE . LYS M 1 125 ? 135.243 126.000 51.635 1.00 7.98 124 M 1 +ATOM 1933 N NZ . LYS M 1 125 ? 135.481 126.687 50.345 1.00 7.98 124 M 1 +ATOM 1934 H H . LYS M 1 125 ? 133.694 127.571 56.087 1.00 7.98 124 M 1 +ATOM 1935 H HA . LYS M 1 125 ? 132.780 128.441 53.637 1.00 7.98 124 M 1 +ATOM 1936 H HB2 . LYS M 1 125 ? 132.195 126.037 55.044 1.00 7.98 124 M 1 +ATOM 1937 H HB3 . LYS M 1 125 ? 131.625 126.363 53.602 1.00 7.98 124 M 1 +ATOM 1938 H HG2 . LYS M 1 125 ? 134.314 125.758 54.252 1.00 7.98 124 M 1 +ATOM 1939 H HG3 . LYS M 1 125 ? 133.380 124.961 53.244 1.00 7.98 124 M 1 +ATOM 1940 H HD2 . LYS M 1 125 ? 133.408 126.894 51.815 1.00 7.98 124 M 1 +ATOM 1941 H HD3 . LYS M 1 125 ? 134.496 127.528 52.777 1.00 7.98 124 M 1 +ATOM 1942 H HE2 . LYS M 1 125 ? 136.069 126.000 52.154 1.00 7.98 124 M 1 +ATOM 1943 H HE3 . LYS M 1 125 ? 134.993 125.073 51.461 1.00 7.98 124 M 1 +ATOM 1944 H HZ1 . LYS M 1 125 ? 136.152 126.274 49.896 1.00 7.98 124 M 1 +ATOM 1945 H HZ2 . LYS M 1 125 ? 134.728 126.664 49.841 1.00 7.98 124 M 1 +ATOM 1946 H HZ3 . LYS M 1 125 ? 135.712 127.551 50.495 1.00 7.98 124 M 1 +ATOM 1947 N N . ASN M 1 126 ? 131.229 129.276 56.154 1.00 8.52 125 M 1 +ATOM 1948 C CA . ASN M 1 126 ? 130.015 129.901 56.741 1.00 8.52 125 M 1 +ATOM 1949 C C . ASN M 1 126 ? 128.888 128.867 56.820 1.00 8.52 125 M 1 +ATOM 1950 O O . ASN M 1 126 ? 127.810 129.160 56.312 1.00 8.52 125 M 1 +ATOM 1951 C CB . ASN M 1 126 ? 129.529 131.135 55.978 1.00 8.52 125 M 1 +ATOM 1952 C CG . ASN M 1 126 ? 130.525 132.269 56.008 1.00 8.52 125 M 1 +ATOM 1953 O OD1 . ASN M 1 126 ? 130.814 132.840 54.977 1.00 8.52 125 M 1 +ATOM 1954 N ND2 . ASN M 1 126 ? 131.085 132.562 57.168 1.00 8.52 125 M 1 +ATOM 1955 H H . ASN M 1 126 ? 131.987 129.495 56.603 1.00 8.52 125 M 1 +ATOM 1956 H HA . ASN M 1 126 ? 130.235 130.189 57.658 1.00 8.52 125 M 1 +ATOM 1957 H HB2 . ASN M 1 126 ? 129.357 130.885 55.047 1.00 8.52 125 M 1 +ATOM 1958 H HB3 . ASN M 1 126 ? 128.685 131.439 56.371 1.00 8.52 125 M 1 +ATOM 1959 H HD21 . ASN M 1 126 ? 130.925 132.059 57.876 1.00 8.52 125 M 1 +ATOM 1960 H HD22 . ASN M 1 126 ? 131.621 133.262 57.235 1.00 8.52 125 M 1 +ATOM 1961 N N . ASP M 1 127 ? 129.169 127.682 57.357 1.00 6.70 126 M 1 +ATOM 1962 C CA . ASP M 1 127 ? 128.151 126.617 57.571 1.00 6.70 126 M 1 +ATOM 1963 C C . ASP M 1 127 ? 127.847 126.621 59.071 1.00 6.70 126 M 1 +ATOM 1964 O O . ASP M 1 127 ? 128.430 125.802 59.748 1.00 6.70 126 M 1 +ATOM 1965 C CB . ASP M 1 127 ? 128.649 125.263 57.062 1.00 6.70 126 M 1 +ATOM 1966 C CG . ASP M 1 127 ? 127.592 124.162 57.047 1.00 6.70 126 M 1 +ATOM 1967 O OD1 . ASP M 1 127 ? 126.669 124.198 57.869 1.00 6.70 126 M 1 +ATOM 1968 O OD2 . ASP M 1 127 ? 127.711 123.274 56.207 1.00 6.70 126 M 1 +ATOM 1969 H H . ASP M 1 127 ? 130.003 127.458 57.645 1.00 6.70 126 M 1 +ATOM 1970 H HA . ASP M 1 127 ? 127.350 126.846 57.064 1.00 6.70 126 M 1 +ATOM 1971 H HB2 . ASP M 1 127 ? 128.987 125.374 56.150 1.00 6.70 126 M 1 +ATOM 1972 H HB3 . ASP M 1 127 ? 129.391 124.967 57.628 1.00 6.70 126 M 1 +ATOM 1973 N N . PRO M 1 128 ? 126.965 127.479 59.619 1.00 5.77 127 M 1 +ATOM 1974 C CA . PRO M 1 128 ? 126.741 127.524 61.065 1.00 5.77 127 M 1 +ATOM 1975 C C . PRO M 1 128 ? 126.225 126.213 61.679 1.00 5.77 127 M 1 +ATOM 1976 O O . PRO M 1 128 ? 126.600 125.891 62.754 1.00 5.77 127 M 1 +ATOM 1977 C CB . PRO M 1 128 ? 125.692 128.634 61.255 1.00 5.77 127 M 1 +ATOM 1978 C CG . PRO M 1 128 ? 125.083 128.814 59.877 1.00 5.77 127 M 1 +ATOM 1979 C CD . PRO M 1 128 ? 126.196 128.501 58.906 1.00 5.77 127 M 1 +ATOM 1980 H HA . PRO M 1 128 ? 127.581 127.794 61.513 1.00 5.77 127 M 1 +ATOM 1981 H HB2 . PRO M 1 128 ? 125.010 128.365 61.906 1.00 5.77 127 M 1 +ATOM 1982 H HB3 . PRO M 1 128 ? 126.113 129.466 61.561 1.00 5.77 127 M 1 +ATOM 1983 H HG2 . PRO M 1 128 ? 124.330 128.202 59.749 1.00 5.77 127 M 1 +ATOM 1984 H HG3 . PRO M 1 128 ? 124.766 129.732 59.755 1.00 5.77 127 M 1 +ATOM 1985 H HD2 . PRO M 1 128 ? 125.845 128.154 58.065 1.00 5.77 127 M 1 +ATOM 1986 H HD3 . PRO M 1 128 ? 126.741 129.289 58.725 1.00 5.77 127 M 1 +ATOM 1987 N N . HIS M 1 129 ? 125.348 125.514 60.982 1.00 5.02 128 M 1 +ATOM 1988 C CA . HIS M 1 129 ? 124.765 124.273 61.476 1.00 5.02 128 M 1 +ATOM 1989 C C . HIS M 1 129 ? 125.834 123.227 61.751 1.00 5.02 128 M 1 +ATOM 1990 O O . HIS M 1 129 ? 125.834 122.585 62.805 1.00 5.02 128 M 1 +ATOM 1991 C CB . HIS M 1 129 ? 123.744 123.740 60.480 1.00 5.02 128 M 1 +ATOM 1992 C CG . HIS M 1 129 ? 123.184 122.415 60.872 1.00 5.02 128 M 1 +ATOM 1993 N ND1 . HIS M 1 129 ? 123.741 121.229 60.452 1.00 5.02 128 M 1 +ATOM 1994 C CD2 . HIS M 1 129 ? 122.173 122.082 61.706 1.00 5.02 128 M 1 +ATOM 1995 C CE1 . HIS M 1 129 ? 123.067 120.221 60.972 1.00 5.02 128 M 1 +ATOM 1996 N NE2 . HIS M 1 129 ? 122.113 120.712 61.739 1.00 5.02 128 M 1 +ATOM 1997 H H . HIS M 1 129 ? 125.099 125.746 60.192 1.00 5.02 128 M 1 +ATOM 1998 H HA . HIS M 1 129 ? 124.296 124.455 62.305 1.00 5.02 128 M 1 +ATOM 1999 H HB2 . HIS M 1 129 ? 123.005 124.365 60.417 1.00 5.02 128 M 1 +ATOM 2000 H HB3 . HIS M 1 129 ? 124.156 123.652 59.606 1.00 5.02 128 M 1 +ATOM 2001 H HD2 . HIS M 1 129 ? 121.611 122.670 62.158 1.00 5.02 128 M 1 +ATOM 2002 H HE1 . HIS M 1 129 ? 123.240 119.319 60.828 1.00 5.02 128 M 1 +ATOM 2003 H HE2 . HIS M 1 129 ? 121.547 120.247 62.189 1.00 5.02 128 M 1 +ATOM 2004 N N . LEU M 1 130 ? 126.756 123.052 60.813 1.00 5.28 129 M 1 +ATOM 2005 C CA . LEU M 1 130 ? 127.830 122.084 60.980 1.00 5.28 129 M 1 +ATOM 2006 C C . LEU M 1 130 ? 128.739 122.462 62.142 1.00 5.28 129 M 1 +ATOM 2007 O O . LEU M 1 130 ? 129.133 121.600 62.940 1.00 5.28 129 M 1 +ATOM 2008 C CB . LEU M 1 130 ? 128.616 121.985 59.676 1.00 5.28 129 M 1 +ATOM 2009 C CG . LEU M 1 130 ? 129.788 121.014 59.622 1.00 5.28 129 M 1 +ATOM 2010 C CD1 . LEU M 1 130 ? 129.324 119.615 59.936 1.00 5.28 129 M 1 +ATOM 2011 C CD2 . LEU M 1 130 ? 130.428 121.058 58.252 1.00 5.28 129 M 1 +ATOM 2012 H H . LEU M 1 130 ? 126.778 123.490 60.073 1.00 5.28 129 M 1 +ATOM 2013 H HA . LEU M 1 130 ? 127.435 121.218 61.169 1.00 5.28 129 M 1 +ATOM 2014 H HB2 . LEU M 1 130 ? 128.001 121.743 58.966 1.00 5.28 129 M 1 +ATOM 2015 H HB3 . LEU M 1 130 ? 128.971 122.866 59.479 1.00 5.28 129 M 1 +ATOM 2016 H HG . LEU M 1 130 ? 130.459 121.278 60.271 1.00 5.28 129 M 1 +ATOM 2017 H HD11 . LEU M 1 130 ? 129.948 118.980 59.550 1.00 5.28 129 M 1 +ATOM 2018 H HD12 . LEU M 1 130 ? 129.297 119.505 60.899 1.00 5.28 129 M 1 +ATOM 2019 H HD13 . LEU M 1 130 ? 128.439 119.477 59.562 1.00 5.28 129 M 1 +ATOM 2020 H HD21 . LEU M 1 130 ? 131.261 120.562 58.278 1.00 5.28 129 M 1 +ATOM 2021 H HD22 . LEU M 1 130 ? 129.823 120.652 57.612 1.00 5.28 129 M 1 +ATOM 2022 H HD23 . LEU M 1 130 ? 130.597 121.979 57.999 1.00 5.28 129 M 1 +ATOM 2023 N N . CYS M 1 131 ? 129.088 123.745 62.240 1.00 5.91 130 M 1 +ATOM 2024 C CA . CYS M 1 131 ? 129.904 124.227 63.347 1.00 5.91 130 M 1 +ATOM 2025 C C . CYS M 1 131 ? 129.253 123.901 64.682 1.00 5.91 130 M 1 +ATOM 2026 O O . CYS M 1 131 ? 129.891 123.335 65.574 1.00 5.91 130 M 1 +ATOM 2027 C CB . CYS M 1 131 ? 130.131 125.729 63.203 1.00 5.91 130 M 1 +ATOM 2028 S SG . CYS M 1 131 ? 131.134 126.159 61.782 1.00 5.91 130 M 1 +ATOM 2029 H H . CYS M 1 131 ? 128.856 124.353 61.678 1.00 5.91 130 M 1 +ATOM 2030 H HA . CYS M 1 131 ? 130.777 123.805 63.314 1.00 5.91 130 M 1 +ATOM 2031 H HB2 . CYS M 1 131 ? 129.273 126.171 63.104 1.00 5.91 130 M 1 +ATOM 2032 H HB3 . CYS M 1 131 ? 130.578 126.060 63.998 1.00 5.91 130 M 1 +ATOM 2033 H HG . CYS M 1 131 ? 130.449 126.104 60.798 1.00 5.91 130 M 1 +ATOM 2034 N N . ASP M 1 132 ? 127.967 124.217 64.820 1.00 5.48 131 M 1 +ATOM 2035 C CA . ASP M 1 132 ? 127.281 123.991 66.084 1.00 5.48 131 M 1 +ATOM 2036 C C . ASP M 1 132 ? 127.145 122.505 66.376 1.00 5.48 131 M 1 +ATOM 2037 O O . ASP M 1 132 ? 127.222 122.085 67.531 1.00 5.48 131 M 1 +ATOM 2038 C CB . ASP M 1 132 ? 125.909 124.656 66.064 1.00 5.48 131 M 1 +ATOM 2039 C CG . ASP M 1 132 ? 125.215 124.578 67.402 1.00 5.48 131 M 1 +ATOM 2040 O OD1 . ASP M 1 132 ? 125.634 125.300 68.328 1.00 5.48 131 M 1 +ATOM 2041 O OD2 . ASP M 1 132 ? 124.254 123.795 67.528 1.00 5.48 131 M 1 +ATOM 2042 H H . ASP M 1 132 ? 127.475 124.553 64.200 1.00 5.48 131 M 1 +ATOM 2043 H HA . ASP M 1 132 ? 127.803 124.396 66.794 1.00 5.48 131 M 1 +ATOM 2044 H HB2 . ASP M 1 132 ? 126.005 125.590 65.820 1.00 5.48 131 M 1 +ATOM 2045 H HB3 . ASP M 1 132 ? 125.348 124.203 65.415 1.00 5.48 131 M 1 +ATOM 2046 N N . PHE M 1 133 ? 126.935 121.698 65.339 1.00 4.96 132 M 1 +ATOM 2047 C CA . PHE M 1 133 ? 126.879 120.250 65.500 1.00 4.96 132 M 1 +ATOM 2048 C C . PHE M 1 133 ? 128.176 119.716 66.096 1.00 4.96 132 M 1 +ATOM 2049 O O . PHE M 1 133 ? 128.164 118.980 67.093 1.00 4.96 132 M 1 +ATOM 2050 C CB . PHE M 1 133 ? 126.616 119.617 64.138 1.00 4.96 132 M 1 +ATOM 2051 C CG . PHE M 1 133 ? 126.460 118.140 64.172 1.00 4.96 132 M 1 +ATOM 2052 C CD1 . PHE M 1 133 ? 125.267 117.579 64.563 1.00 4.96 132 M 1 +ATOM 2053 C CD2 . PHE M 1 133 ? 127.501 117.309 63.819 1.00 4.96 132 M 1 +ATOM 2054 C CE1 . PHE M 1 133 ? 125.111 116.227 64.590 1.00 4.96 132 M 1 +ATOM 2055 C CE2 . PHE M 1 133 ? 127.340 115.952 63.850 1.00 4.96 132 M 1 +ATOM 2056 C CZ . PHE M 1 133 ? 126.146 115.419 64.239 1.00 4.96 132 M 1 +ATOM 2057 H H . PHE M 1 133 ? 126.826 121.970 64.531 1.00 4.96 132 M 1 +ATOM 2058 H HA . PHE M 1 133 ? 126.144 120.020 66.090 1.00 4.96 132 M 1 +ATOM 2059 H HB2 . PHE M 1 133 ? 125.790 119.981 63.782 1.00 4.96 132 M 1 +ATOM 2060 H HB3 . PHE M 1 133 ? 127.343 119.833 63.533 1.00 4.96 132 M 1 +ATOM 2061 H HD1 . PHE M 1 133 ? 124.556 118.129 64.802 1.00 4.96 132 M 1 +ATOM 2062 H HD2 . PHE M 1 133 ? 128.317 117.667 63.553 1.00 4.96 132 M 1 +ATOM 2063 H HE1 . PHE M 1 133 ? 124.299 115.859 64.854 1.00 4.96 132 M 1 +ATOM 2064 H HE2 . PHE M 1 133 ? 128.043 115.393 63.610 1.00 4.96 132 M 1 +ATOM 2065 H HZ . PHE M 1 133 ? 126.034 114.496 64.259 1.00 4.96 132 M 1 +ATOM 2066 N N . ILE M 1 134 ? 129.305 120.104 65.501 1.00 5.03 133 M 1 +ATOM 2067 C CA . ILE M 1 134 ? 130.616 119.674 65.982 1.00 5.03 133 M 1 +ATOM 2068 C C . ILE M 1 134 ? 130.840 120.153 67.413 1.00 5.03 133 M 1 +ATOM 2069 O O . ILE M 1 134 ? 131.305 119.397 68.272 1.00 5.03 133 M 1 +ATOM 2070 C CB . ILE M 1 134 ? 131.719 120.176 65.028 1.00 5.03 133 M 1 +ATOM 2071 C CG1 . ILE M 1 134 ? 131.577 119.558 63.624 1.00 5.03 133 M 1 +ATOM 2072 C CG2 . ILE M 1 134 ? 133.105 119.929 65.596 1.00 5.03 133 M 1 +ATOM 2073 C CD1 . ILE M 1 134 ? 131.748 118.039 63.534 1.00 5.03 133 M 1 +ATOM 2074 H H . ILE M 1 134 ? 129.335 120.630 64.821 1.00 5.03 133 M 1 +ATOM 2075 H HA . ILE M 1 134 ? 130.642 118.704 65.994 1.00 5.03 133 M 1 +ATOM 2076 H HB . ILE M 1 134 ? 131.619 121.137 64.938 1.00 5.03 133 M 1 +ATOM 2077 H HG12 . ILE M 1 134 ? 130.691 119.745 63.277 1.00 5.03 133 M 1 +ATOM 2078 H HG13 . ILE M 1 134 ? 132.226 119.978 63.038 1.00 5.03 133 M 1 +ATOM 2079 H HG21 . ILE M 1 134 ? 133.751 120.040 64.881 1.00 5.03 133 M 1 +ATOM 2080 H HG22 . ILE M 1 134 ? 133.296 120.575 66.294 1.00 5.03 133 M 1 +ATOM 2081 H HG23 . ILE M 1 134 ? 133.155 119.026 65.946 1.00 5.03 133 M 1 +ATOM 2082 H HD11 . ILE M 1 134 ? 131.674 117.779 62.602 1.00 5.03 133 M 1 +ATOM 2083 H HD12 . ILE M 1 134 ? 132.622 117.784 63.869 1.00 5.03 133 M 1 +ATOM 2084 H HD13 . ILE M 1 134 ? 131.051 117.593 64.041 1.00 5.03 133 M 1 +ATOM 2085 N N . GLU M 1 135 ? 130.489 121.403 67.667 1.00 5.70 134 M 1 +ATOM 2086 C CA . GLU M 1 135 ? 130.686 122.013 69.003 1.00 5.70 134 M 1 +ATOM 2087 C C . GLU M 1 135 ? 129.853 121.255 70.039 1.00 5.70 134 M 1 +ATOM 2088 O O . GLU M 1 135 ? 130.444 120.817 71.036 1.00 5.70 134 M 1 +ATOM 2089 C CB . GLU M 1 135 ? 130.277 123.487 68.999 1.00 5.70 134 M 1 +ATOM 2090 C CG . GLU M 1 135 ? 131.234 124.397 68.267 1.00 5.70 134 M 1 +ATOM 2091 C CD . GLU M 1 135 ? 130.626 125.767 68.005 1.00 5.70 134 M 1 +ATOM 2092 O OE1 . GLU M 1 135 ? 129.620 126.068 68.646 1.00 5.70 134 M 1 +ATOM 2093 O OE2 . GLU M 1 135 ? 131.138 126.504 67.151 1.00 5.70 134 M 1 +ATOM 2094 H H . GLU M 1 135 ? 129.997 121.908 67.091 1.00 5.70 134 M 1 +ATOM 2095 H HA . GLU M 1 135 ? 131.639 121.943 69.245 1.00 5.70 134 M 1 +ATOM 2096 H HB2 . GLU M 1 135 ? 129.391 123.562 68.586 1.00 5.70 134 M 1 +ATOM 2097 H HB3 . GLU M 1 135 ? 130.200 123.790 69.927 1.00 5.70 134 M 1 +ATOM 2098 H HG2 . GLU M 1 135 ? 132.051 124.508 68.798 1.00 5.70 134 M 1 +ATOM 2099 H HG3 . GLU M 1 135 ? 131.482 123.989 67.409 1.00 5.70 134 M 1 +ATOM 2100 N N . THR M 1 136 ? 128.607 120.926 69.710 1.00 5.69 135 M 1 +ATOM 2101 C CA . THR M 1 136 ? 127.648 120.409 70.673 1.00 5.69 135 M 1 +ATOM 2102 C C . THR M 1 136 ? 127.901 118.943 70.981 1.00 5.69 135 M 1 +ATOM 2103 O O . THR M 1 136 ? 127.792 118.527 72.139 1.00 5.69 135 M 1 +ATOM 2104 C CB . THR M 1 136 ? 126.231 120.615 70.132 1.00 5.69 135 M 1 +ATOM 2105 O OG1 . THR M 1 136 ? 125.987 122.016 69.958 1.00 5.69 135 M 1 +ATOM 2106 C CG2 . THR M 1 136 ? 125.180 120.022 71.054 1.00 5.69 135 M 1 +ATOM 2107 H H . THR M 1 136 ? 128.290 121.021 68.916 1.00 5.69 135 M 1 +ATOM 2108 H HA . THR M 1 136 ? 127.735 120.908 71.500 1.00 5.69 135 M 1 +ATOM 2109 H HB . THR M 1 136 ? 126.146 120.171 69.274 1.00 5.69 135 M 1 +ATOM 2110 H HG1 . THR M 1 136 ? 126.306 122.271 69.224 1.00 5.69 135 M 1 +ATOM 2111 H HG21 . THR M 1 136 ? 124.308 120.381 70.826 1.00 5.69 135 M 1 +ATOM 2112 H HG22 . THR M 1 136 ? 125.137 119.058 70.952 1.00 5.69 135 M 1 +ATOM 2113 H HG23 . THR M 1 136 ? 125.382 120.243 71.977 1.00 5.69 135 M 1 +ATOM 2114 N N . TYR M 1 137 ? 128.255 118.148 69.967 1.00 5.32 136 M 1 +ATOM 2115 C CA . TYR M 1 137 ? 128.285 116.699 70.109 1.00 5.32 136 M 1 +ATOM 2116 C C . TYR M 1 137 ? 129.681 116.086 70.112 1.00 5.32 136 M 1 +ATOM 2117 O O . TYR M 1 137 ? 129.812 114.924 70.507 1.00 5.32 136 M 1 +ATOM 2118 C CB . TYR M 1 137 ? 127.446 116.053 68.996 1.00 5.32 136 M 1 +ATOM 2119 C CG . TYR M 1 137 ? 125.993 116.445 69.078 1.00 5.32 136 M 1 +ATOM 2120 C CD1 . TYR M 1 137 ? 125.173 115.917 70.061 1.00 5.32 136 M 1 +ATOM 2121 C CD2 . TYR M 1 137 ? 125.435 117.320 68.164 1.00 5.32 136 M 1 +ATOM 2122 C CE1 . TYR M 1 137 ? 123.854 116.266 70.149 1.00 5.32 136 M 1 +ATOM 2123 C CE2 . TYR M 1 137 ? 124.109 117.674 68.238 1.00 5.32 136 M 1 +ATOM 2124 C CZ . TYR M 1 137 ? 123.318 117.142 69.235 1.00 5.32 136 M 1 +ATOM 2125 O OH . TYR M 1 137 ? 121.991 117.479 69.329 1.00 5.32 136 M 1 +ATOM 2126 H H . TYR M 1 137 ? 128.481 118.435 69.189 1.00 5.32 136 M 1 +ATOM 2127 H HA . TYR M 1 137 ? 127.872 116.438 70.947 1.00 5.32 136 M 1 +ATOM 2128 H HB2 . TYR M 1 137 ? 127.794 116.325 68.132 1.00 5.32 136 M 1 +ATOM 2129 H HB3 . TYR M 1 137 ? 127.491 115.087 69.065 1.00 5.32 136 M 1 +ATOM 2130 H HD1 . TYR M 1 137 ? 125.528 115.329 70.687 1.00 5.32 136 M 1 +ATOM 2131 H HD2 . TYR M 1 137 ? 125.965 117.681 67.491 1.00 5.32 136 M 1 +ATOM 2132 H HE1 . TYR M 1 137 ? 123.322 115.905 70.821 1.00 5.32 136 M 1 +ATOM 2133 H HE2 . TYR M 1 137 ? 123.756 118.269 67.616 1.00 5.32 136 M 1 +ATOM 2134 H HH . TYR M 1 137 ? 121.786 118.019 68.719 1.00 5.32 136 M 1 +ATOM 2135 N N . TYR M 1 138 ? 130.715 116.820 69.695 1.00 4.75 137 M 1 +ATOM 2136 C CA . TYR M 1 138 ? 132.058 116.267 69.521 1.00 4.75 137 M 1 +ATOM 2137 C C . TYR M 1 138 ? 133.140 116.945 70.353 1.00 4.75 137 M 1 +ATOM 2138 O O . TYR M 1 138 ? 133.898 116.247 71.032 1.00 4.75 137 M 1 +ATOM 2139 C CB . TYR M 1 138 ? 132.409 116.289 68.026 1.00 4.75 137 M 1 +ATOM 2140 C CG . TYR M 1 138 ? 131.612 115.244 67.293 1.00 4.75 137 M 1 +ATOM 2141 C CD1 . TYR M 1 138 ? 132.096 113.958 67.141 1.00 4.75 137 M 1 +ATOM 2142 C CD2 . TYR M 1 138 ? 130.320 115.500 66.879 1.00 4.75 137 M 1 +ATOM 2143 C CE1 . TYR M 1 138 ? 131.360 112.991 66.518 1.00 4.75 137 M 1 +ATOM 2144 C CE2 . TYR M 1 138 ? 129.567 114.535 66.263 1.00 4.75 137 M 1 +ATOM 2145 C CZ . TYR M 1 138 ? 130.093 113.277 66.087 1.00 4.75 137 M 1 +ATOM 2146 O OH . TYR M 1 138 ? 129.368 112.286 65.485 1.00 4.75 137 M 1 +ATOM 2147 H H . TYR M 1 138 ? 130.649 117.652 69.486 1.00 4.75 137 M 1 +ATOM 2148 H HA . TYR M 1 138 ? 132.058 115.331 69.774 1.00 4.75 137 M 1 +ATOM 2149 H HB2 . TYR M 1 138 ? 132.226 117.161 67.643 1.00 4.75 137 M 1 +ATOM 2150 H HB3 . TYR M 1 138 ? 133.350 116.078 67.917 1.00 4.75 137 M 1 +ATOM 2151 H HD1 . TYR M 1 138 ? 132.959 113.757 67.423 1.00 4.75 137 M 1 +ATOM 2152 H HD2 . TYR M 1 138 ? 129.963 116.350 66.999 1.00 4.75 137 M 1 +ATOM 2153 H HE1 . TYR M 1 138 ? 131.714 112.139 66.400 1.00 4.75 137 M 1 +ATOM 2154 H HE2 . TYR M 1 138 ? 128.706 114.734 65.975 1.00 4.75 137 M 1 +ATOM 2155 H HH . TYR M 1 138 ? 129.810 111.572 65.461 1.00 4.75 137 M 1 +ATOM 2156 N N . LEU M 1 139 ? 133.243 118.277 70.343 1.00 5.15 138 M 1 +ATOM 2157 C CA . LEU M 1 139 ? 134.409 118.924 70.952 1.00 5.15 138 M 1 +ATOM 2158 C C . LEU M 1 139 ? 134.414 118.788 72.475 1.00 5.15 138 M 1 +ATOM 2159 O O . LEU M 1 139 ? 135.460 118.504 73.074 1.00 5.15 138 M 1 +ATOM 2160 C CB . LEU M 1 139 ? 134.485 120.398 70.541 1.00 5.15 138 M 1 +ATOM 2161 C CG . LEU M 1 139 ? 134.810 120.765 69.087 1.00 5.15 138 M 1 +ATOM 2162 C CD1 . LEU M 1 139 ? 134.728 122.282 68.909 1.00 5.15 138 M 1 +ATOM 2163 C CD2 . LEU M 1 139 ? 136.168 120.241 68.631 1.00 5.15 138 M 1 +ATOM 2164 H H . LEU M 1 139 ? 132.663 118.816 70.008 1.00 5.15 138 M 1 +ATOM 2165 H HA . LEU M 1 139 ? 135.217 118.493 70.633 1.00 5.15 138 M 1 +ATOM 2166 H HB2 . LEU M 1 139 ? 133.626 120.801 70.744 1.00 5.15 138 M 1 +ATOM 2167 H HB3 . LEU M 1 139 ? 135.163 120.828 71.085 1.00 5.15 138 M 1 +ATOM 2168 H HG . LEU M 1 139 ? 134.147 120.368 68.501 1.00 5.15 138 M 1 +ATOM 2169 H HD11 . LEU M 1 139 ? 134.996 122.514 68.006 1.00 5.15 138 M 1 +ATOM 2170 H HD12 . LEU M 1 139 ? 133.819 122.579 69.071 1.00 5.15 138 M 1 +ATOM 2171 H HD13 . LEU M 1 139 ? 135.323 122.712 69.543 1.00 5.15 138 M 1 +ATOM 2172 H HD21 . LEU M 1 139 ? 136.264 120.441 67.687 1.00 5.15 138 M 1 +ATOM 2173 H HD22 . LEU M 1 139 ? 136.878 120.678 69.128 1.00 5.15 138 M 1 +ATOM 2174 H HD23 . LEU M 1 139 ? 136.219 119.282 68.765 1.00 5.15 138 M 1 +ATOM 2175 N N . SER M 1 140 ? 133.263 118.984 73.122 1.00 5.52 139 M 1 +ATOM 2176 C CA . SER M 1 140 ? 133.212 118.887 74.580 1.00 5.52 139 M 1 +ATOM 2177 C C . SER M 1 140 ? 133.454 117.457 75.050 1.00 5.52 139 M 1 +ATOM 2178 O O . SER M 1 140 ? 134.145 117.230 76.053 1.00 5.52 139 M 1 +ATOM 2179 C CB . SER M 1 140 ? 131.870 119.403 75.101 1.00 5.52 139 M 1 +ATOM 2180 O OG . SER M 1 140 ? 131.723 120.784 74.840 1.00 5.52 139 M 1 +ATOM 2181 H H . SER M 1 140 ? 132.513 119.176 72.748 1.00 5.52 139 M 1 +ATOM 2182 H HA . SER M 1 140 ? 133.909 119.450 74.952 1.00 5.52 139 M 1 +ATOM 2183 H HB2 . SER M 1 140 ? 131.153 118.933 74.647 1.00 5.52 139 M 1 +ATOM 2184 H HB3 . SER M 1 140 ? 131.806 119.255 76.058 1.00 5.52 139 M 1 +ATOM 2185 H HG . SER M 1 140 ? 130.981 121.049 75.132 1.00 5.52 139 M 1 +ATOM 2186 N N . GLU M 1 141 ? 132.881 116.482 74.341 1.00 5.44 140 M 1 +ATOM 2187 C CA . GLU M 1 141 ? 133.127 115.075 74.648 1.00 5.44 140 M 1 +ATOM 2188 C C . GLU M 1 141 ? 134.614 114.753 74.571 1.00 5.44 140 M 1 +ATOM 2189 O O . GLU M 1 141 ? 135.157 114.061 75.441 1.00 5.44 140 M 1 +ATOM 2190 C CB . GLU M 1 141 ? 132.330 114.187 73.684 1.00 5.44 140 M 1 +ATOM 2191 C CG . GLU M 1 141 ? 132.429 112.681 73.926 1.00 5.44 140 M 1 +ATOM 2192 C CD . GLU M 1 141 ? 133.700 112.071 73.369 1.00 5.44 140 M 1 +ATOM 2193 O OE1 . GLU M 1 141 ? 134.274 112.642 72.421 1.00 5.44 140 M 1 +ATOM 2194 O OE2 . GLU M 1 141 ? 134.137 111.025 73.895 1.00 5.44 140 M 1 +ATOM 2195 H H . GLU M 1 141 ? 132.350 116.619 73.678 1.00 5.44 140 M 1 +ATOM 2196 H HA . GLU M 1 141 ? 132.818 114.891 75.549 1.00 5.44 140 M 1 +ATOM 2197 H HB2 . GLU M 1 141 ? 131.391 114.422 73.750 1.00 5.44 140 M 1 +ATOM 2198 H HB3 . GLU M 1 141 ? 132.635 114.353 72.778 1.00 5.44 140 M 1 +ATOM 2199 H HG2 . GLU M 1 141 ? 132.425 112.522 74.882 1.00 5.44 140 M 1 +ATOM 2200 H HG3 . GLU M 1 141 ? 131.671 112.224 73.528 1.00 5.44 140 M 1 +ATOM 2201 N N . GLN M 1 142 ? 135.292 115.259 73.542 1.00 4.79 141 M 1 +ATOM 2202 C CA . GLN M 1 142 ? 136.713 114.986 73.383 1.00 4.79 141 M 1 +ATOM 2203 C C . GLN M 1 142 ? 137.530 115.642 74.486 1.00 4.79 141 M 1 +ATOM 2204 O O . GLN M 1 142 ? 138.505 115.063 74.971 1.00 4.79 141 M 1 +ATOM 2205 C CB . GLN M 1 142 ? 137.196 115.455 72.011 1.00 4.79 141 M 1 +ATOM 2206 C CG . GLN M 1 142 ? 136.700 114.641 70.837 1.00 4.79 141 M 1 +ATOM 2207 C CD . GLN M 1 142 ? 137.195 113.215 70.874 1.00 4.79 141 M 1 +ATOM 2208 O OE1 . GLN M 1 142 ? 136.418 112.283 71.061 1.00 4.79 141 M 1 +ATOM 2209 N NE2 . GLN M 1 142 ? 138.501 113.044 70.749 1.00 4.79 141 M 1 +ATOM 2210 H H . GLN M 1 142 ? 134.959 115.766 72.933 1.00 4.79 141 M 1 +ATOM 2211 H HA . GLN M 1 142 ? 136.847 114.028 73.454 1.00 4.79 141 M 1 +ATOM 2212 H HB2 . GLN M 1 142 ? 136.902 116.370 71.877 1.00 4.79 141 M 1 +ATOM 2213 H HB3 . GLN M 1 142 ? 138.165 115.421 71.989 1.00 4.79 141 M 1 +ATOM 2214 H HG2 . GLN M 1 142 ? 135.730 114.621 70.832 1.00 4.79 141 M 1 +ATOM 2215 H HG3 . GLN M 1 142 ? 137.031 115.050 70.022 1.00 4.79 141 M 1 +ATOM 2216 H HE21 . GLN M 1 142 ? 139.007 113.729 70.633 1.00 4.79 141 M 1 +ATOM 2217 H HE22 . GLN M 1 142 ? 138.848 112.257 70.771 1.00 4.79 141 M 1 +ATOM 2218 N N . VAL M 1 143 ? 137.154 116.857 74.890 1.00 4.49 142 M 1 +ATOM 2219 C CA . VAL M 1 143 ? 137.859 117.519 75.985 1.00 4.49 142 M 1 +ATOM 2220 C C . VAL M 1 143 ? 137.719 116.709 77.269 1.00 4.49 142 M 1 +ATOM 2221 O O . VAL M 1 143 ? 138.703 116.478 77.990 1.00 4.49 142 M 1 +ATOM 2222 C CB . VAL M 1 143 ? 137.350 118.966 76.144 1.00 4.49 142 M 1 +ATOM 2223 C CG1 . VAL M 1 143 ? 137.845 119.590 77.428 1.00 4.49 142 M 1 +ATOM 2224 C CG2 . VAL M 1 143 ? 137.827 119.821 74.969 1.00 4.49 142 M 1 +ATOM 2225 H H . VAL M 1 143 ? 136.490 117.304 74.577 1.00 4.49 142 M 1 +ATOM 2226 H HA . VAL M 1 143 ? 138.802 117.565 75.764 1.00 4.49 142 M 1 +ATOM 2227 H HB . VAL M 1 143 ? 136.380 118.968 76.157 1.00 4.49 142 M 1 +ATOM 2228 H HG11 . VAL M 1 143 ? 137.733 120.551 77.358 1.00 4.49 142 M 1 +ATOM 2229 H HG12 . VAL M 1 143 ? 137.317 119.266 78.174 1.00 4.49 142 M 1 +ATOM 2230 H HG13 . VAL M 1 143 ? 138.783 119.383 77.559 1.00 4.49 142 M 1 +ATOM 2231 H HG21 . VAL M 1 143 ? 137.236 120.583 74.866 1.00 4.49 142 M 1 +ATOM 2232 H HG22 . VAL M 1 143 ? 138.728 120.131 75.150 1.00 4.49 142 M 1 +ATOM 2233 H HG23 . VAL M 1 143 ? 137.831 119.297 74.152 1.00 4.49 142 M 1 +ATOM 2234 N N . LYS M 1 144 ? 136.507 116.220 77.544 1.00 4.83 143 M 1 +ATOM 2235 C CA . LYS M 1 144 ? 136.288 115.404 78.735 1.00 4.83 143 M 1 +ATOM 2236 C C . LYS M 1 144 ? 137.105 114.119 78.678 1.00 4.83 143 M 1 +ATOM 2237 O O . LYS M 1 144 ? 137.698 113.704 79.680 1.00 4.83 143 M 1 +ATOM 2238 C CB . LYS M 1 144 ? 134.801 115.079 78.899 1.00 4.83 143 M 1 +ATOM 2239 C CG . LYS M 1 144 ? 133.922 116.256 79.272 1.00 4.83 143 M 1 +ATOM 2240 C CD . LYS M 1 144 ? 132.501 115.808 79.620 1.00 4.83 143 M 1 +ATOM 2241 C CE . LYS M 1 144 ? 131.707 115.401 78.389 1.00 4.83 143 M 1 +ATOM 2242 N NZ . LYS M 1 144 ? 130.284 115.092 78.707 1.00 4.83 143 M 1 +ATOM 2243 H H . LYS M 1 144 ? 135.811 116.327 77.050 1.00 4.83 143 M 1 +ATOM 2244 H HA . LYS M 1 144 ? 136.569 115.910 79.514 1.00 4.83 143 M 1 +ATOM 2245 H HB2 . LYS M 1 144 ? 134.473 114.724 78.058 1.00 4.83 143 M 1 +ATOM 2246 H HB3 . LYS M 1 144 ? 134.693 114.412 79.595 1.00 4.83 143 M 1 +ATOM 2247 H HG2 . LYS M 1 144 ? 134.301 116.702 80.045 1.00 4.83 143 M 1 +ATOM 2248 H HG3 . LYS M 1 144 ? 133.865 116.875 78.527 1.00 4.83 143 M 1 +ATOM 2249 H HD2 . LYS M 1 144 ? 132.542 115.043 80.215 1.00 4.83 143 M 1 +ATOM 2250 H HD3 . LYS M 1 144 ? 132.032 116.540 80.050 1.00 4.83 143 M 1 +ATOM 2251 H HE2 . LYS M 1 144 ? 131.724 116.123 77.741 1.00 4.83 143 M 1 +ATOM 2252 H HE3 . LYS M 1 144 ? 132.098 114.597 78.012 1.00 4.83 143 M 1 +ATOM 2253 H HZ1 . LYS M 1 144 ? 129.888 114.729 77.997 1.00 4.83 143 M 1 +ATOM 2254 H HZ2 . LYS M 1 144 ? 130.240 114.522 79.389 1.00 4.83 143 M 1 +ATOM 2255 H HZ3 . LYS M 1 144 ? 129.853 115.839 78.925 1.00 4.83 143 M 1 +ATOM 2256 N N . SER M 1 145 ? 137.167 113.489 77.507 1.00 4.26 144 M 1 +ATOM 2257 C CA . SER M 1 145 ? 137.864 112.212 77.389 1.00 4.26 144 M 1 +ATOM 2258 C C . SER M 1 145 ? 139.374 112.391 77.507 1.00 4.26 144 M 1 +ATOM 2259 O O . SER M 1 145 ? 140.058 111.572 78.133 1.00 4.26 144 M 1 +ATOM 2260 C CB . SER M 1 145 ? 137.494 111.546 76.069 1.00 4.26 144 M 1 +ATOM 2261 O OG . SER M 1 145 ? 136.114 111.241 76.049 1.00 4.26 144 M 1 +ATOM 2262 H H . SER M 1 145 ? 136.834 113.784 76.771 1.00 4.26 144 M 1 +ATOM 2263 H HA . SER M 1 145 ? 137.575 111.628 78.108 1.00 4.26 144 M 1 +ATOM 2264 H HB2 . SER M 1 145 ? 137.692 112.151 75.337 1.00 4.26 144 M 1 +ATOM 2265 H HB3 . SER M 1 145 ? 138.006 110.728 75.968 1.00 4.26 144 M 1 +ATOM 2266 H HG . SER M 1 145 ? 135.685 111.835 76.460 1.00 4.26 144 M 1 +ATOM 2267 N N . ILE M 1 146 ? 139.906 113.464 76.921 1.00 3.93 145 M 1 +ATOM 2268 C CA . ILE M 1 146 ? 141.327 113.772 77.054 1.00 3.93 145 M 1 +ATOM 2269 C C . ILE M 1 146 ? 141.676 114.000 78.517 1.00 3.93 145 M 1 +ATOM 2270 O O . ILE M 1 146 ? 142.687 113.494 79.012 1.00 3.93 145 M 1 +ATOM 2271 C CB . ILE M 1 146 ? 141.700 114.985 76.176 1.00 3.93 145 M 1 +ATOM 2272 C CG1 . ILE M 1 146 ? 141.605 114.623 74.688 1.00 3.93 145 M 1 +ATOM 2273 C CG2 . ILE M 1 146 ? 143.080 115.516 76.549 1.00 3.93 145 M 1 +ATOM 2274 C CD1 . ILE M 1 146 ? 141.639 115.802 73.726 1.00 3.93 145 M 1 +ATOM 2275 H H . ILE M 1 146 ? 139.459 114.044 76.469 1.00 3.93 145 M 1 +ATOM 2276 H HA . ILE M 1 146 ? 141.845 113.016 76.736 1.00 3.93 145 M 1 +ATOM 2277 H HB . ILE M 1 146 ? 141.057 115.690 76.348 1.00 3.93 145 M 1 +ATOM 2278 H HG12 . ILE M 1 146 ? 142.348 114.041 74.462 1.00 3.93 145 M 1 +ATOM 2279 H HG13 . ILE M 1 146 ? 140.779 114.139 74.530 1.00 3.93 145 M 1 +ATOM 2280 H HG21 . ILE M 1 146 ? 143.453 116.028 75.814 1.00 3.93 145 M 1 +ATOM 2281 H HG22 . ILE M 1 146 ? 143.004 116.096 77.322 1.00 3.93 145 M 1 +ATOM 2282 H HG23 . ILE M 1 146 ? 143.670 114.772 76.744 1.00 3.93 145 M 1 +ATOM 2283 H HD11 . ILE M 1 146 ? 141.513 115.471 72.823 1.00 3.93 145 M 1 +ATOM 2284 H HD12 . ILE M 1 146 ? 140.926 116.419 73.952 1.00 3.93 145 M 1 +ATOM 2285 H HD13 . ILE M 1 146 ? 142.493 116.259 73.778 1.00 3.93 145 M 1 +ATOM 2286 N N . LYS M 1 147 ? 140.838 114.750 79.232 1.00 3.89 146 M 1 +ATOM 2287 C CA . LYS M 1 147 ? 141.100 115.021 80.643 1.00 3.89 146 M 1 +ATOM 2288 C C . LYS M 1 147 ? 141.039 113.741 81.475 1.00 3.89 146 M 1 +ATOM 2289 O O . LYS M 1 147 ? 141.881 113.521 82.354 1.00 3.89 146 M 1 +ATOM 2290 C CB . LYS M 1 147 ? 140.111 116.076 81.137 1.00 3.89 146 M 1 +ATOM 2291 C CG . LYS M 1 147 ? 140.203 116.479 82.594 1.00 3.89 146 M 1 +ATOM 2292 C CD . LYS M 1 147 ? 141.543 117.081 82.931 1.00 3.89 146 M 1 +ATOM 2293 C CE . LYS M 1 147 ? 141.512 117.806 84.271 1.00 3.89 146 M 1 +ATOM 2294 N NZ . LYS M 1 147 ? 141.164 116.952 85.399 1.00 3.89 146 M 1 +ATOM 2295 H H . LYS M 1 147 ? 140.115 115.097 78.920 1.00 3.89 146 M 1 +ATOM 2296 H HA . LYS M 1 147 ? 141.991 115.394 80.726 1.00 3.89 146 M 1 +ATOM 2297 H HB2 . LYS M 1 147 ? 140.260 116.884 80.621 1.00 3.89 146 M 1 +ATOM 2298 H HB3 . LYS M 1 147 ? 139.208 115.763 80.971 1.00 3.89 146 M 1 +ATOM 2299 H HG2 . LYS M 1 147 ? 139.522 117.145 82.774 1.00 3.89 146 M 1 +ATOM 2300 H HG3 . LYS M 1 147 ? 140.052 115.711 83.167 1.00 3.89 146 M 1 +ATOM 2301 H HD2 . LYS M 1 147 ? 142.200 116.369 82.982 1.00 3.89 146 M 1 +ATOM 2302 H HD3 . LYS M 1 147 ? 141.797 117.719 82.246 1.00 3.89 146 M 1 +ATOM 2303 H HE2 . LYS M 1 147 ? 142.398 118.159 84.450 1.00 3.89 146 M 1 +ATOM 2304 H HE3 . LYS M 1 147 ? 140.870 118.533 84.241 1.00 3.89 146 M 1 +ATOM 2305 H HZ1 . LYS M 1 147 ? 140.321 116.682 85.309 1.00 3.89 146 M 1 +ATOM 2306 H HZ2 . LYS M 1 147 ? 141.684 116.230 85.411 1.00 3.89 146 M 1 +ATOM 2307 H HZ3 . LYS M 1 147 ? 141.256 117.398 86.164 1.00 3.89 146 M 1 +ATOM 2308 N N . GLU M 1 148 ? 140.069 112.873 81.186 1.00 3.93 147 M 1 +ATOM 2309 C CA . GLU M 1 148 ? 139.953 111.593 81.882 1.00 3.93 147 M 1 +ATOM 2310 C C . GLU M 1 148 ? 141.201 110.738 81.676 1.00 3.93 147 M 1 +ATOM 2311 O O . GLU M 1 148 ? 141.770 110.195 82.632 1.00 3.93 147 M 1 +ATOM 2312 C CB . GLU M 1 148 ? 138.707 110.863 81.379 1.00 3.93 147 M 1 +ATOM 2313 C CG . GLU M 1 148 ? 138.412 109.544 82.057 1.00 3.93 147 M 1 +ATOM 2314 C CD . GLU M 1 148 ? 137.135 108.897 81.547 1.00 3.93 147 M 1 +ATOM 2315 O OE1 . GLU M 1 148 ? 136.491 109.475 80.647 1.00 3.93 147 M 1 +ATOM 2316 O OE2 . GLU M 1 148 ? 136.772 107.813 82.046 1.00 3.93 147 M 1 +ATOM 2317 H H . GLU M 1 148 ? 139.476 112.996 80.575 1.00 3.93 147 M 1 +ATOM 2318 H HA . GLU M 1 148 ? 139.842 111.748 82.833 1.00 3.93 147 M 1 +ATOM 2319 H HB2 . GLU M 1 148 ? 137.937 111.438 81.511 1.00 3.93 147 M 1 +ATOM 2320 H HB3 . GLU M 1 148 ? 138.820 110.688 80.432 1.00 3.93 147 M 1 +ATOM 2321 H HG2 . GLU M 1 148 ? 139.142 108.926 81.893 1.00 3.93 147 M 1 +ATOM 2322 H HG3 . GLU M 1 148 ? 138.316 109.694 83.011 1.00 3.93 147 M 1 +ATOM 2323 N N . LEU M 1 149 ? 141.633 110.603 80.423 1.00 3.53 148 M 1 +ATOM 2324 C CA . LEU M 1 149 ? 142.801 109.782 80.110 1.00 3.53 148 M 1 +ATOM 2325 C C . LEU M 1 149 ? 144.070 110.354 80.727 1.00 3.53 148 M 1 +ATOM 2326 O O . LEU M 1 149 ? 144.912 109.604 81.235 1.00 3.53 148 M 1 +ATOM 2327 C CB . LEU M 1 149 ? 142.940 109.646 78.594 1.00 3.53 148 M 1 +ATOM 2328 C CG . LEU M 1 149 ? 141.908 108.748 77.901 1.00 3.53 148 M 1 +ATOM 2329 C CD1 . LEU M 1 149 ? 141.939 108.934 76.394 1.00 3.53 148 M 1 +ATOM 2330 C CD2 . LEU M 1 149 ? 142.163 107.282 78.252 1.00 3.53 148 M 1 +ATOM 2331 H H . LEU M 1 149 ? 141.264 110.980 79.743 1.00 3.53 148 M 1 +ATOM 2332 H HA . LEU M 1 149 ? 142.663 108.899 80.487 1.00 3.53 148 M 1 +ATOM 2333 H HB2 . LEU M 1 149 ? 142.866 110.527 78.196 1.00 3.53 148 M 1 +ATOM 2334 H HB3 . LEU M 1 149 ? 143.824 109.298 78.397 1.00 3.53 148 M 1 +ATOM 2335 H HG . LEU M 1 149 ? 141.017 108.970 78.215 1.00 3.53 148 M 1 +ATOM 2336 H HD11 . LEU M 1 149 ? 141.323 108.313 75.976 1.00 3.53 148 M 1 +ATOM 2337 H HD12 . LEU M 1 149 ? 141.662 109.840 76.186 1.00 3.53 148 M 1 +ATOM 2338 H HD13 . LEU M 1 149 ? 142.840 108.782 76.068 1.00 3.53 148 M 1 +ATOM 2339 H HD21 . LEU M 1 149 ? 141.692 106.719 77.618 1.00 3.53 148 M 1 +ATOM 2340 H HD22 . LEU M 1 149 ? 143.113 107.090 78.213 1.00 3.53 148 M 1 +ATOM 2341 H HD23 . LEU M 1 149 ? 141.832 107.102 79.146 1.00 3.53 148 M 1 +ATOM 2342 N N . GLY M 1 150 ? 144.227 111.677 80.690 1.00 3.59 149 M 1 +ATOM 2343 C CA . GLY M 1 150 ? 145.373 112.298 81.331 1.00 3.59 149 M 1 +ATOM 2344 C C . GLY M 1 150 ? 145.401 112.034 82.822 1.00 3.59 149 M 1 +ATOM 2345 O O . GLY M 1 150 ? 146.454 111.747 83.394 1.00 3.59 149 M 1 +ATOM 2346 H H . GLY M 1 150 ? 143.677 112.226 80.321 1.00 3.59 149 M 1 +ATOM 2347 H HA2 . GLY M 1 150 ? 146.196 111.985 80.925 1.00 3.59 149 M 1 +ATOM 2348 H HA3 . GLY M 1 150 ? 145.322 113.257 81.197 1.00 3.59 149 M 1 +ATOM 2349 N N . ASP M 1 151 ? 144.233 112.095 83.464 1.00 3.83 150 M 1 +ATOM 2350 C CA . ASP M 1 151 ? 144.141 111.783 84.884 1.00 3.83 150 M 1 +ATOM 2351 C C . ASP M 1 151 ? 144.541 110.337 85.159 1.00 3.83 150 M 1 +ATOM 2352 O O . ASP M 1 151 ? 145.269 110.058 86.121 1.00 3.83 150 M 1 +ATOM 2353 C CB . ASP M 1 151 ? 142.722 112.049 85.382 1.00 3.83 150 M 1 +ATOM 2354 C CG . ASP M 1 151 ? 142.356 113.522 85.358 1.00 3.83 150 M 1 +ATOM 2355 O OD1 . ASP M 1 151 ? 143.268 114.366 85.450 1.00 3.83 150 M 1 +ATOM 2356 O OD2 . ASP M 1 151 ? 141.152 113.836 85.264 1.00 3.83 150 M 1 +ATOM 2357 H H . ASP M 1 151 ? 143.483 112.301 83.098 1.00 3.83 150 M 1 +ATOM 2358 H HA . ASP M 1 151 ? 144.747 112.358 85.377 1.00 3.83 150 M 1 +ATOM 2359 H HB2 . ASP M 1 151 ? 142.097 111.579 84.809 1.00 3.83 150 M 1 +ATOM 2360 H HB3 . ASP M 1 151 ? 142.633 111.725 86.292 1.00 3.83 150 M 1 +ATOM 2361 N N . HIS M 1 152 ? 144.078 109.425 84.300 1.00 3.63 151 M 1 +ATOM 2362 C CA . HIS M 1 152 ? 144.374 107.967 84.419 1.00 3.63 151 M 1 +ATOM 2363 C C . HIS M 1 152 ? 145.893 107.773 84.328 1.00 3.63 151 M 1 +ATOM 2364 O O . HIS M 1 152 ? 146.470 107.176 85.208 1.00 3.63 151 M 1 +ATOM 2365 C CB . HIS M 1 152 ? 143.627 107.139 83.350 1.00 3.63 151 M 1 +ATOM 2366 C CG . HIS M 1 152 ? 142.152 107.067 83.552 1.00 3.63 151 M 1 +ATOM 2367 N ND1 . HIS M 1 152 ? 141.562 107.495 84.711 1.00 3.63 151 M 1 +ATOM 2368 C CD2 . HIS M 1 152 ? 141.148 106.653 82.753 1.00 3.63 151 M 1 +ATOM 2369 C CE1 . HIS M 1 152 ? 140.263 107.300 84.645 1.00 3.63 151 M 1 +ATOM 2370 N NE2 . HIS M 1 152 ? 139.980 106.801 83.453 1.00 3.63 151 M 1 +ATOM 2371 H H . HIS M 1 152 ? 143.551 109.623 83.584 1.00 3.63 151 M 1 +ATOM 2372 H HA . HIS M 1 152 ? 144.079 107.668 85.311 1.00 3.63 151 M 1 +ATOM 2373 H HB2 . HIS M 1 152 ? 143.806 107.531 82.466 1.00 3.63 151 M 1 +ATOM 2374 H HB3 . HIS M 1 152 ? 143.990 106.226 83.347 1.00 3.63 151 M 1 +ATOM 2375 H HD1 . HIS M 1 152 ? 141.990 107.805 85.410 1.00 3.63 151 M 1 +ATOM 2376 H HD2 . HIS M 1 152 ? 141.232 106.303 81.885 1.00 3.63 151 M 1 +ATOM 2377 H HE1 . HIS M 1 152 ? 139.639 107.518 85.316 1.00 3.63 151 M 1 +ATOM 2378 N N . VAL M 1 153 ? 146.528 108.396 83.356 1.00 3.75 152 M 1 +ATOM 2379 C CA . VAL M 1 153 ? 147.971 108.297 83.143 1.00 3.75 152 M 1 +ATOM 2380 C C . VAL M 1 153 ? 148.724 108.840 84.351 1.00 3.75 152 M 1 +ATOM 2381 O O . VAL M 1 153 ? 149.692 108.237 84.822 1.00 3.75 152 M 1 +ATOM 2382 C CB . VAL M 1 153 ? 148.374 109.028 81.848 1.00 3.75 152 M 1 +ATOM 2383 C CG1 . VAL M 1 153 ? 149.883 109.083 81.695 1.00 3.75 152 M 1 +ATOM 2384 C CG2 . VAL M 1 153 ? 147.762 108.349 80.624 1.00 3.75 152 M 1 +ATOM 2385 H H . VAL M 1 153 ? 146.125 108.884 82.774 1.00 3.75 152 M 1 +ATOM 2386 H HA . VAL M 1 153 ? 148.214 107.364 83.040 1.00 3.75 152 M 1 +ATOM 2387 H HB . VAL M 1 153 ? 148.054 109.943 81.879 1.00 3.75 152 M 1 +ATOM 2388 H HG11 . VAL M 1 153 ? 150.096 109.335 80.783 1.00 3.75 152 M 1 +ATOM 2389 H HG12 . VAL M 1 153 ? 150.253 109.751 82.293 1.00 3.75 152 M 1 +ATOM 2390 H HG13 . VAL M 1 153 ? 150.261 108.211 81.886 1.00 3.75 152 M 1 +ATOM 2391 H HG21 . VAL M 1 153 ? 147.770 108.976 79.884 1.00 3.75 152 M 1 +ATOM 2392 H HG22 . VAL M 1 153 ? 148.296 107.572 80.397 1.00 3.75 152 M 1 +ATOM 2393 H HG23 . VAL M 1 153 ? 146.848 108.071 80.793 1.00 3.75 152 M 1 +ATOM 2394 N N . THR M 1 154 ? 148.291 109.995 84.858 1.00 3.85 153 M 1 +ATOM 2395 C CA . THR M 1 154 ? 148.932 110.603 86.022 1.00 3.85 153 M 1 +ATOM 2396 C C . THR M 1 154 ? 148.898 109.660 87.218 1.00 3.85 153 M 1 +ATOM 2397 O O . THR M 1 154 ? 149.918 109.443 87.885 1.00 3.85 153 M 1 +ATOM 2398 C CB . THR M 1 154 ? 148.248 111.938 86.336 1.00 3.85 153 M 1 +ATOM 2399 O OG1 . THR M 1 154 ? 148.471 112.832 85.239 1.00 3.85 153 M 1 +ATOM 2400 C CG2 . THR M 1 154 ? 148.742 112.558 87.655 1.00 3.85 153 M 1 +ATOM 2401 H H . THR M 1 154 ? 147.608 110.423 84.559 1.00 3.85 153 M 1 +ATOM 2402 H HA . THR M 1 154 ? 149.860 110.796 85.817 1.00 3.85 153 M 1 +ATOM 2403 H HB . THR M 1 154 ? 147.293 111.795 86.429 1.00 3.85 153 M 1 +ATOM 2404 H HG1 . THR M 1 154 ? 147.948 112.664 84.604 1.00 3.85 153 M 1 +ATOM 2405 H HG21 . THR M 1 154 ? 148.362 113.444 87.759 1.00 3.85 153 M 1 +ATOM 2406 H HG22 . THR M 1 154 ? 148.441 112.039 88.417 1.00 3.85 153 M 1 +ATOM 2407 H HG23 . THR M 1 154 ? 149.709 112.627 87.668 1.00 3.85 153 M 1 +ATOM 2408 N N . ASN M 1 155 ? 147.717 109.104 87.452 1.00 3.90 154 M 1 +ATOM 2409 C CA . ASN M 1 155 ? 147.514 108.206 88.617 1.00 3.90 154 M 1 +ATOM 2410 C C . ASN M 1 155 ? 148.382 106.953 88.457 1.00 3.90 154 M 1 +ATOM 2411 O O . ASN M 1 155 ? 149.095 106.632 89.362 1.00 3.90 154 M 1 +ATOM 2412 C CB . ASN M 1 155 ? 146.035 107.938 88.833 1.00 3.90 154 M 1 +ATOM 2413 C CG . ASN M 1 155 ? 145.392 109.062 89.613 1.00 3.90 154 M 1 +ATOM 2414 O OD1 . ASN M 1 155 ? 145.664 109.232 90.787 1.00 3.90 154 M 1 +ATOM 2415 N ND2 . ASN M 1 155 ? 144.564 109.846 88.966 1.00 3.90 154 M 1 +ATOM 2416 H H . ASN M 1 155 ? 147.019 109.144 86.870 1.00 3.90 154 M 1 +ATOM 2417 H HA . ASN M 1 155 ? 147.833 108.687 89.416 1.00 3.90 154 M 1 +ATOM 2418 H HB2 . ASN M 1 155 ? 145.592 107.849 87.964 1.00 3.90 154 M 1 +ATOM 2419 H HB3 . ASN M 1 155 ? 145.926 107.097 89.323 1.00 3.90 154 M 1 +ATOM 2420 H HD21 . ASN M 1 155 ? 144.376 109.687 88.117 1.00 3.90 154 M 1 +ATOM 2421 H HD22 . ASN M 1 155 ? 144.194 110.535 89.378 1.00 3.90 154 M 1 +ATOM 2422 N N . LEU M 1 156 ? 148.402 106.337 87.289 1.00 4.14 155 M 1 +ATOM 2423 C CA . LEU M 1 156 ? 149.191 105.131 87.050 1.00 4.14 155 M 1 +ATOM 2424 C C . LEU M 1 156 ? 150.684 105.404 87.191 1.00 4.14 155 M 1 +ATOM 2425 O O . LEU M 1 156 ? 151.413 104.605 87.787 1.00 4.14 155 M 1 +ATOM 2426 C CB . LEU M 1 156 ? 148.864 104.560 85.670 1.00 4.14 155 M 1 +ATOM 2427 C CG . LEU M 1 156 ? 147.513 103.856 85.526 1.00 4.14 155 M 1 +ATOM 2428 C CD1 . LEU M 1 156 ? 147.157 103.593 84.075 1.00 4.14 155 M 1 +ATOM 2429 C CD2 . LEU M 1 156 ? 147.544 102.535 86.278 1.00 4.14 155 M 1 +ATOM 2430 H H . LEU M 1 156 ? 147.967 106.623 86.605 1.00 4.14 155 M 1 +ATOM 2431 H HA . LEU M 1 156 ? 148.956 104.473 87.722 1.00 4.14 155 M 1 +ATOM 2432 H HB2 . LEU M 1 156 ? 148.864 105.293 85.035 1.00 4.14 155 M 1 +ATOM 2433 H HB3 . LEU M 1 156 ? 149.564 103.938 85.417 1.00 4.14 155 M 1 +ATOM 2434 H HG . LEU M 1 156 ? 146.815 104.402 85.921 1.00 4.14 155 M 1 +ATOM 2435 H HD11 . LEU M 1 156 ? 146.301 103.139 84.044 1.00 4.14 155 M 1 +ATOM 2436 H HD12 . LEU M 1 156 ? 147.092 104.435 83.598 1.00 4.14 155 M 1 +ATOM 2437 H HD13 . LEU M 1 156 ? 147.842 103.039 83.669 1.00 4.14 155 M 1 +ATOM 2438 H HD21 . LEU M 1 156 ? 146.739 102.033 86.079 1.00 4.14 155 M 1 +ATOM 2439 H HD22 . LEU M 1 156 ? 148.323 102.036 85.987 1.00 4.14 155 M 1 +ATOM 2440 H HD23 . LEU M 1 156 ? 147.597 102.688 87.234 1.00 4.14 155 M 1 +ATOM 2441 N N . ARG M 1 157 ? 151.130 106.511 86.611 1.00 4.62 156 M 1 +ATOM 2442 C CA . ARG M 1 157 ? 152.566 106.885 86.712 1.00 4.62 156 M 1 +ATOM 2443 C C . ARG M 1 157 ? 152.921 107.087 88.185 1.00 4.62 156 M 1 +ATOM 2444 O O . ARG M 1 157 ? 153.909 106.536 88.619 1.00 4.62 156 M 1 +ATOM 2445 C CB . ARG M 1 157 ? 152.855 108.202 85.999 1.00 4.62 156 M 1 +ATOM 2446 C CG . ARG M 1 157 ? 152.830 108.083 84.492 1.00 4.62 156 M 1 +ATOM 2447 C CD . ARG M 1 157 ? 153.154 109.409 83.844 1.00 4.62 156 M 1 +ATOM 2448 N NE . ARG M 1 157 ? 153.240 109.244 82.412 1.00 4.62 156 M 1 +ATOM 2449 C CZ . ARG M 1 157 ? 152.921 110.186 81.543 1.00 4.62 156 M 1 +ATOM 2450 N NH1 . ARG M 1 157 ? 152.486 111.355 81.979 1.00 4.62 156 M 1 +ATOM 2451 N NH2 . ARG M 1 157 ? 153.027 109.953 80.247 1.00 4.62 156 M 1 +ATOM 2452 H H . ARG M 1 157 ? 150.642 107.005 86.024 1.00 4.62 156 M 1 +ATOM 2453 H HA . ARG M 1 157 ? 153.121 106.166 86.331 1.00 4.62 156 M 1 +ATOM 2454 H HB2 . ARG M 1 157 ? 152.188 108.864 86.277 1.00 4.62 156 M 1 +ATOM 2455 H HB3 . ARG M 1 157 ? 153.737 108.524 86.279 1.00 4.62 156 M 1 +ATOM 2456 H HG2 . ARG M 1 157 ? 153.485 107.412 84.204 1.00 4.62 156 M 1 +ATOM 2457 H HG3 . ARG M 1 157 ? 151.940 107.789 84.201 1.00 4.62 156 M 1 +ATOM 2458 H HD2 . ARG M 1 157 ? 152.455 110.063 84.060 1.00 4.62 156 M 1 +ATOM 2459 H HD3 . ARG M 1 157 ? 154.009 109.746 84.189 1.00 4.62 156 M 1 +ATOM 2460 H HE . ARG M 1 157 ? 153.523 108.480 82.102 1.00 4.62 156 M 1 +ATOM 2461 H HH11 . ARG M 1 157 ? 152.417 111.503 82.842 1.00 4.62 156 M 1 +ATOM 2462 H HH12 . ARG M 1 157 ? 152.272 111.983 81.403 1.00 4.62 156 M 1 +ATOM 2463 H HH21 . ARG M 1 157 ? 153.315 109.170 79.965 1.00 4.62 156 M 1 +ATOM 2464 H HH22 . ARG M 1 157 ? 152.811 110.582 79.670 1.00 4.62 156 M 1 +ATOM 2465 N N . LYS M 1 158 ? 152.072 107.791 88.925 1.00 5.18 157 M 1 +ATOM 2466 C CA . LYS M 1 158 ? 152.305 108.139 90.355 1.00 5.18 157 M 1 +ATOM 2467 C C . LYS M 1 158 ? 152.363 106.858 91.193 1.00 5.18 157 M 1 +ATOM 2468 O O . LYS M 1 158 ? 153.242 106.774 92.033 1.00 5.18 157 M 1 +ATOM 2469 C CB . LYS M 1 158 ? 151.255 109.143 90.834 1.00 5.18 157 M 1 +ATOM 2470 C CG . LYS M 1 158 ? 151.459 110.545 90.277 1.00 5.18 157 M 1 +ATOM 2471 C CD . LYS M 1 158 ? 150.766 111.657 91.039 1.00 5.18 157 M 1 +ATOM 2472 C CE . LYS M 1 158 ? 151.182 113.041 90.582 1.00 5.18 157 M 1 +ATOM 2473 N NZ . LYS M 1 158 ? 152.590 113.343 90.962 1.00 5.18 157 M 1 +ATOM 2474 H H . LYS M 1 158 ? 151.240 108.010 88.630 1.00 5.18 157 M 1 +ATOM 2475 H HA . LYS M 1 158 ? 153.187 108.574 90.412 1.00 5.18 157 M 1 +ATOM 2476 H HB2 . LYS M 1 158 ? 150.368 108.823 90.568 1.00 5.18 157 M 1 +ATOM 2477 H HB3 . LYS M 1 158 ? 151.282 109.184 91.812 1.00 5.18 157 M 1 +ATOM 2478 H HG2 . LYS M 1 158 ? 152.422 110.733 90.258 1.00 5.18 157 M 1 +ATOM 2479 H HG3 . LYS M 1 158 ? 151.140 110.558 89.349 1.00 5.18 157 M 1 +ATOM 2480 H HD2 . LYS M 1 158 ? 149.796 111.565 90.928 1.00 5.18 157 M 1 +ATOM 2481 H HD3 . LYS M 1 158 ? 150.970 111.564 91.995 1.00 5.18 157 M 1 +ATOM 2482 H HE2 . LYS M 1 158 ? 151.094 113.105 89.612 1.00 5.18 157 M 1 +ATOM 2483 H HE3 . LYS M 1 158 ? 150.594 113.708 90.984 1.00 5.18 157 M 1 +ATOM 2484 H HZ1 . LYS M 1 158 ? 152.792 114.199 90.737 1.00 5.18 157 M 1 +ATOM 2485 H HZ2 . LYS M 1 158 ? 152.696 113.238 91.856 1.00 5.18 157 M 1 +ATOM 2486 H HZ3 . LYS M 1 158 ? 153.153 112.781 90.528 1.00 5.18 157 M 1 +ATOM 2487 N N . MET M 1 159 ? 151.514 105.879 90.895 1.00 5.22 158 M 1 +ATOM 2488 C CA . MET M 1 159 ? 151.432 104.578 91.613 1.00 5.22 158 M 1 +ATOM 2489 C C . MET M 1 159 ? 152.658 103.713 91.315 1.00 5.22 158 M 1 +ATOM 2490 O O . MET M 1 159 ? 152.825 102.725 91.997 1.00 5.22 158 M 1 +ATOM 2491 C CB . MET M 1 159 ? 150.172 103.809 91.228 1.00 5.22 158 M 1 +ATOM 2492 C CG . MET M 1 159 ? 148.916 104.469 91.735 1.00 5.22 158 M 1 +ATOM 2493 S SD . MET M 1 159 ? 147.452 103.782 90.930 1.00 5.22 158 M 1 +ATOM 2494 C CE . MET M 1 159 ? 147.174 102.347 91.968 1.00 5.22 158 M 1 +ATOM 2495 H H . MET M 1 159 ? 150.989 105.909 90.152 1.00 5.22 158 M 1 +ATOM 2496 H HA . MET M 1 159 ? 151.413 104.766 92.580 1.00 5.22 158 M 1 +ATOM 2497 H HB2 . MET M 1 159 ? 150.128 103.739 90.254 1.00 5.22 158 M 1 +ATOM 2498 H HB3 . MET M 1 159 ? 150.229 102.903 91.593 1.00 5.22 158 M 1 +ATOM 2499 H HG2 . MET M 1 159 ? 148.843 104.335 92.704 1.00 5.22 158 M 1 +ATOM 2500 H HG3 . MET M 1 159 ? 148.958 105.433 91.559 1.00 5.22 158 M 1 +ATOM 2501 H HE1 . MET M 1 159 ? 146.343 101.926 91.717 1.00 5.22 158 M 1 +ATOM 2502 H HE2 . MET M 1 159 ? 147.900 101.722 91.853 1.00 5.22 158 M 1 +ATOM 2503 H HE3 . MET M 1 159 ? 147.129 102.623 92.891 1.00 5.22 158 M 1 +ATOM 2504 N N . GLY M 1 160 ? 153.447 104.059 90.305 1.00 6.11 159 M 1 +ATOM 2505 C CA . GLY M 1 160 ? 154.641 103.293 89.915 1.00 6.11 159 M 1 +ATOM 2506 C C . GLY M 1 160 ? 154.401 102.326 88.772 1.00 6.11 159 M 1 +ATOM 2507 O O . GLY M 1 160 ? 155.296 101.539 88.514 1.00 6.11 159 M 1 +ATOM 2508 H H . GLY M 1 160 ? 153.270 104.785 89.785 1.00 6.11 159 M 1 +ATOM 2509 H HA2 . GLY M 1 160 ? 155.354 103.929 89.655 1.00 6.11 159 M 1 +ATOM 2510 H HA3 . GLY M 1 160 ? 154.964 102.788 90.703 1.00 6.11 159 M 1 +ATOM 2511 N N . ALA M 1 161 ? 153.295 102.429 88.028 1.00 5.68 160 M 1 +ATOM 2512 C CA . ALA M 1 161 ? 153.010 101.513 86.900 1.00 5.68 160 M 1 +ATOM 2513 C C . ALA M 1 161 ? 154.054 101.713 85.779 1.00 5.68 160 M 1 +ATOM 2514 O O . ALA M 1 161 ? 154.506 102.844 85.635 1.00 5.68 160 M 1 +ATOM 2515 C CB . ALA M 1 161 ? 151.618 101.684 86.356 1.00 5.68 160 M 1 +ATOM 2516 H H . ALA M 1 161 ? 152.714 103.128 88.073 1.00 5.68 160 M 1 +ATOM 2517 H HA . ALA M 1 161 ? 153.078 100.613 87.280 1.00 5.68 160 M 1 +ATOM 2518 H HB1 . ALA M 1 161 ? 151.477 101.064 85.620 1.00 5.68 160 M 1 +ATOM 2519 H HB2 . ALA M 1 161 ? 150.970 101.504 87.058 1.00 5.68 160 M 1 +ATOM 2520 H HB3 . ALA M 1 161 ? 151.503 102.595 86.037 1.00 5.68 160 M 1 +ATOM 2521 N N . PRO M 1 162 ? 154.409 100.749 84.886 1.00 7.28 161 M 1 +ATOM 2522 C CA . PRO M 1 162 ? 154.085 99.312 84.954 1.00 7.28 161 M 1 +ATOM 2523 C C . PRO M 1 162 ? 154.971 98.516 85.926 1.00 7.28 161 M 1 +ATOM 2524 O O . PRO M 1 162 ? 154.581 97.457 86.342 1.00 7.28 161 M 1 +ATOM 2525 C CB . PRO M 1 162 ? 154.330 98.822 83.521 1.00 7.28 161 M 1 +ATOM 2526 C CG . PRO M 1 162 ? 155.490 99.653 83.076 1.00 7.28 161 M 1 +ATOM 2527 C CD . PRO M 1 162 ? 155.248 101.006 83.709 1.00 7.28 161 M 1 +ATOM 2528 H HA . PRO M 1 162 ? 153.129 99.190 85.181 1.00 7.28 161 M 1 +ATOM 2529 H HB2 . PRO M 1 162 ? 154.554 97.867 83.506 1.00 7.28 161 M 1 +ATOM 2530 H HB3 . PRO M 1 162 ? 153.546 98.977 82.953 1.00 7.28 161 M 1 +ATOM 2531 H HG2 . PRO M 1 162 ? 156.335 99.269 83.388 1.00 7.28 161 M 1 +ATOM 2532 H HG3 . PRO M 1 162 ? 155.514 99.725 82.100 1.00 7.28 161 M 1 +ATOM 2533 H HD2 . PRO M 1 162 ? 156.091 101.420 83.972 1.00 7.28 161 M 1 +ATOM 2534 H HD3 . PRO M 1 162 ? 154.791 101.601 83.086 1.00 7.28 161 M 1 +ATOM 2535 N N . GLU M 1 163 ? 156.116 99.069 86.313 1.00 9.11 162 M 1 +ATOM 2536 C CA . GLU M 1 163 ? 157.116 98.359 87.156 1.00 9.11 162 M 1 +ATOM 2537 C C . GLU M 1 163 ? 156.554 97.984 88.534 1.00 9.11 162 M 1 +ATOM 2538 O O . GLU M 1 163 ? 156.810 96.847 88.932 1.00 9.11 162 M 1 +ATOM 2539 C CB . GLU M 1 163 ? 158.407 99.172 87.161 1.00 9.11 162 M 1 +ATOM 2540 C CG . GLU M 1 163 ? 158.962 99.335 85.753 1.00 9.11 162 M 1 +ATOM 2541 C CD . GLU M 1 163 ? 159.605 98.072 85.199 1.00 9.11 162 M 1 +ATOM 2542 O OE1 . GLU M 1 163 ? 160.214 97.338 85.995 1.00 9.11 162 M 1 +ATOM 2543 O OE2 . GLU M 1 163 ? 159.535 97.834 83.968 1.00 9.11 162 M 1 +ATOM 2544 H H . GLU M 1 163 ? 156.311 99.945 86.185 1.00 9.11 162 M 1 +ATOM 2545 H HA . GLU M 1 163 ? 157.316 97.512 86.695 1.00 9.11 162 M 1 +ATOM 2546 H HB2 . GLU M 1 163 ? 158.228 100.055 87.545 1.00 9.11 162 M 1 +ATOM 2547 H HB3 . GLU M 1 163 ? 159.070 98.718 87.722 1.00 9.11 162 M 1 +ATOM 2548 H HG2 . GLU M 1 163 ? 158.236 99.605 85.151 1.00 9.11 162 M 1 +ATOM 2549 H HG3 . GLU M 1 163 ? 159.631 100.052 85.753 1.00 9.11 162 M 1 +ATOM 2550 N N . ALA M 1 164 ? 155.776 98.815 89.227 1.00 7.30 163 M 1 +ATOM 2551 C CA . ALA M 1 164 ? 155.234 98.411 90.546 1.00 7.30 163 M 1 +ATOM 2552 C C . ALA M 1 164 ? 154.122 97.408 90.223 1.00 7.30 163 M 1 +ATOM 2553 O O . ALA M 1 164 ? 153.116 97.838 89.664 1.00 7.30 163 M 1 +ATOM 2554 C CB . ALA M 1 164 ? 154.740 99.593 91.340 1.00 7.30 163 M 1 +ATOM 2555 H H . ALA M 1 164 ? 155.409 99.570 88.902 1.00 7.30 163 M 1 +ATOM 2556 H HA . ALA M 1 164 ? 155.952 97.964 91.051 1.00 7.30 163 M 1 +ATOM 2557 H HB1 . ALA M 1 164 ? 154.393 99.288 92.195 1.00 7.30 163 M 1 +ATOM 2558 H HB2 . ALA M 1 164 ? 155.473 100.212 91.492 1.00 7.30 163 M 1 +ATOM 2559 H HB3 . ALA M 1 164 ? 154.034 100.043 90.847 1.00 7.30 163 M 1 +ATOM 2560 N N . GLY M 1 165 ? 154.236 96.151 90.658 1.00 6.92 164 M 1 +ATOM 2561 C CA . GLY M 1 165 ? 153.314 95.083 90.241 1.00 6.92 164 M 1 +ATOM 2562 C C . GLY M 1 165 ? 151.868 95.338 90.628 1.00 6.92 164 M 1 +ATOM 2563 O O . GLY M 1 165 ? 151.010 95.167 89.782 1.00 6.92 164 M 1 +ATOM 2564 H H . GLY M 1 165 ? 154.779 95.909 91.347 1.00 6.92 164 M 1 +ATOM 2565 H HA2 . GLY M 1 165 ? 153.372 94.981 89.258 1.00 6.92 164 M 1 +ATOM 2566 H HA3 . GLY M 1 165 ? 153.612 94.231 90.648 1.00 6.92 164 M 1 +ATOM 2567 N N . MET M 1 166 ? 151.605 95.837 91.826 1.00 5.59 165 M 1 +ATOM 2568 C CA . MET M 1 166 ? 150.221 96.059 92.311 1.00 5.59 165 M 1 +ATOM 2569 C C . MET M 1 166 ? 149.565 97.323 91.718 1.00 5.59 165 M 1 +ATOM 2570 O O . MET M 1 166 ? 148.351 97.431 91.853 1.00 5.59 165 M 1 +ATOM 2571 C CB . MET M 1 166 ? 150.183 96.094 93.844 1.00 5.59 165 M 1 +ATOM 2572 C CG . MET M 1 166 ? 149.711 94.770 94.463 1.00 5.59 165 M 1 +ATOM 2573 S SD . MET M 1 166 ? 150.210 94.519 96.182 1.00 5.59 165 M 1 +ATOM 2574 C CE . MET M 1 166 ? 150.247 96.218 96.745 1.00 5.59 165 M 1 +ATOM 2575 H H . MET M 1 166 ? 152.252 96.152 92.384 1.00 5.59 165 M 1 +ATOM 2576 H HA . MET M 1 166 ? 149.687 95.288 92.011 1.00 5.59 165 M 1 +ATOM 2577 H HB2 . MET M 1 166 ? 151.079 96.301 94.177 1.00 5.59 165 M 1 +ATOM 2578 H HB3 . MET M 1 166 ? 149.584 96.812 94.130 1.00 5.59 165 M 1 +ATOM 2579 H HG2 . MET M 1 166 ? 148.732 94.732 94.416 1.00 5.59 165 M 1 +ATOM 2580 H HG3 . MET M 1 166 ? 150.062 94.028 93.926 1.00 5.59 165 M 1 +ATOM 2581 H HE1 . MET M 1 166 ? 149.345 96.557 96.802 1.00 5.59 165 M 1 +ATOM 2582 H HE2 . MET M 1 166 ? 150.662 96.258 97.616 1.00 5.59 165 M 1 +ATOM 2583 H HE3 . MET M 1 166 ? 150.754 96.752 96.122 1.00 5.59 165 M 1 +ATOM 2584 N N . ALA M 1 167 ? 150.296 98.233 91.066 1.00 5.07 166 M 1 +ATOM 2585 C CA . ALA M 1 167 ? 149.727 99.509 90.580 1.00 5.07 166 M 1 +ATOM 2586 C C . ALA M 1 167 ? 148.602 99.286 89.562 1.00 5.07 166 M 1 +ATOM 2587 O O . ALA M 1 167 ? 147.510 99.735 89.842 1.00 5.07 166 M 1 +ATOM 2588 C CB . ALA M 1 167 ? 150.817 100.366 89.972 1.00 5.07 166 M 1 +ATOM 2589 H H . ALA M 1 167 ? 151.155 98.122 90.809 1.00 5.07 166 M 1 +ATOM 2590 H HA . ALA M 1 167 ? 149.348 99.989 91.353 1.00 5.07 166 M 1 +ATOM 2591 H HB1 . ALA M 1 167 ? 150.435 101.202 89.655 1.00 5.07 166 M 1 +ATOM 2592 H HB2 . ALA M 1 167 ? 151.494 100.556 90.643 1.00 5.07 166 M 1 +ATOM 2593 H HB3 . ALA M 1 167 ? 151.224 99.894 89.227 1.00 5.07 166 M 1 +ATOM 2594 N N . GLU M 1 168 ? 148.815 98.511 88.504 1.00 4.44 167 M 1 +ATOM 2595 C CA . GLU M 1 168 ? 147.748 98.325 87.474 1.00 4.44 167 M 1 +ATOM 2596 C C . GLU M 1 168 ? 146.605 97.530 88.114 1.00 4.44 167 M 1 +ATOM 2597 O O . GLU M 1 168 ? 145.468 97.850 87.878 1.00 4.44 167 M 1 +ATOM 2598 C CB . GLU M 1 168 ? 148.344 97.782 86.175 1.00 4.44 167 M 1 +ATOM 2599 C CG . GLU M 1 168 ? 149.229 98.839 85.535 1.00 4.44 167 M 1 +ATOM 2600 C CD . GLU M 1 168 ? 149.720 98.632 84.117 1.00 4.44 167 M 1 +ATOM 2601 O OE1 . GLU M 1 168 ? 149.618 97.495 83.616 1.00 4.44 167 M 1 +ATOM 2602 O OE2 . GLU M 1 168 ? 150.234 99.621 83.538 1.00 4.44 167 M 1 +ATOM 2603 H H . GLU M 1 168 ? 149.551 97.986 88.400 1.00 4.44 167 M 1 +ATOM 2604 H HA . GLU M 1 168 ? 147.392 99.221 87.272 1.00 4.44 167 M 1 +ATOM 2605 H HB2 . GLU M 1 168 ? 148.872 96.980 86.369 1.00 4.44 167 M 1 +ATOM 2606 H HB3 . GLU M 1 168 ? 147.619 97.540 85.561 1.00 4.44 167 M 1 +ATOM 2607 H HG2 . GLU M 1 168 ? 148.743 99.691 85.554 1.00 4.44 167 M 1 +ATOM 2608 H HG3 . GLU M 1 168 ? 150.020 98.955 86.104 1.00 4.44 167 M 1 +ATOM 2609 N N . TYR M 1 169 ? 146.921 96.577 88.980 1.00 4.01 168 M 1 +ATOM 2610 C CA . TYR M 1 169 ? 145.892 95.728 89.630 1.00 4.01 168 M 1 +ATOM 2611 C C . TYR M 1 169 ? 144.938 96.568 90.492 1.00 4.01 168 M 1 +ATOM 2612 O O . TYR M 1 169 ? 143.761 96.423 90.331 1.00 4.01 168 M 1 +ATOM 2613 C CB . TYR M 1 169 ? 146.555 94.628 90.464 1.00 4.01 168 M 1 +ATOM 2614 C CG . TYR M 1 169 ? 145.550 93.777 91.191 1.00 4.01 168 M 1 +ATOM 2615 C CD1 . TYR M 1 169 ? 144.937 92.700 90.566 1.00 4.01 168 M 1 +ATOM 2616 C CD2 . TYR M 1 169 ? 145.160 94.088 92.479 1.00 4.01 168 M 1 +ATOM 2617 C CE1 . TYR M 1 169 ? 143.997 91.924 91.224 1.00 4.01 168 M 1 +ATOM 2618 C CE2 . TYR M 1 169 ? 144.243 93.310 93.161 1.00 4.01 168 M 1 +ATOM 2619 C CZ . TYR M 1 169 ? 143.646 92.236 92.524 1.00 4.01 168 M 1 +ATOM 2620 O OH . TYR M 1 169 ? 142.716 91.496 93.177 1.00 4.01 168 M 1 +ATOM 2621 H H . TYR M 1 169 ? 147.751 96.468 89.336 1.00 4.01 168 M 1 +ATOM 2622 H HA . TYR M 1 169 ? 145.357 95.295 88.917 1.00 4.01 168 M 1 +ATOM 2623 H HB2 . TYR M 1 169 ? 147.091 94.061 89.871 1.00 4.01 168 M 1 +ATOM 2624 H HB3 . TYR M 1 169 ? 147.158 95.045 91.115 1.00 4.01 168 M 1 +ATOM 2625 H HD1 . TYR M 1 169 ? 145.176 92.483 89.680 1.00 4.01 168 M 1 +ATOM 2626 H HD2 . TYR M 1 169 ? 145.567 94.814 92.922 1.00 4.01 168 M 1 +ATOM 2627 H HE1 . TYR M 1 169 ? 143.597 91.189 90.788 1.00 4.01 168 M 1 +ATOM 2628 H HE2 . TYR M 1 169 ? 143.994 93.534 94.042 1.00 4.01 168 M 1 +ATOM 2629 H HH . TYR M 1 169 ? 142.054 91.991 93.406 1.00 4.01 168 M 1 +ATOM 2630 N N . LEU M 1 170 ? 145.441 97.487 91.311 1.00 4.13 169 M 1 +ATOM 2631 C CA . LEU M 1 170 ? 144.616 98.274 92.218 1.00 4.13 169 M 1 +ATOM 2632 C C . LEU M 1 170 ? 143.909 99.399 91.476 1.00 4.13 169 M 1 +ATOM 2633 O O . LEU M 1 170 ? 142.798 99.792 91.845 1.00 4.13 169 M 1 +ATOM 2634 C CB . LEU M 1 170 ? 145.469 98.813 93.366 1.00 4.13 169 M 1 +ATOM 2635 C CG . LEU M 1 170 ? 146.030 97.767 94.341 1.00 4.13 169 M 1 +ATOM 2636 C CD1 . LEU M 1 170 ? 146.951 98.399 95.361 1.00 4.13 169 M 1 +ATOM 2637 C CD2 . LEU M 1 170 ? 144.904 97.009 95.034 1.00 4.13 169 M 1 +ATOM 2638 H H . LEU M 1 170 ? 146.286 97.642 91.355 1.00 4.13 169 M 1 +ATOM 2639 H HA . LEU M 1 170 ? 143.922 97.699 92.576 1.00 4.13 169 M 1 +ATOM 2640 H HB2 . LEU M 1 170 ? 146.226 99.287 92.988 1.00 4.13 169 M 1 +ATOM 2641 H HB3 . LEU M 1 170 ? 144.932 99.435 93.881 1.00 4.13 169 M 1 +ATOM 2642 H HG . LEU M 1 170 ? 146.553 97.119 93.843 1.00 4.13 169 M 1 +ATOM 2643 H HD11 . LEU M 1 170 ? 147.356 97.694 95.890 1.00 4.13 169 M 1 +ATOM 2644 H HD12 . LEU M 1 170 ? 147.644 98.911 94.915 1.00 4.13 169 M 1 +ATOM 2645 H HD13 . LEU M 1 170 ? 146.426 98.981 95.933 1.00 4.13 169 M 1 +ATOM 2646 H HD21 . LEU M 1 170 ? 145.268 96.464 95.749 1.00 4.13 169 M 1 +ATOM 2647 H HD22 . LEU M 1 170 ? 144.268 97.648 95.391 1.00 4.13 169 M 1 +ATOM 2648 H HD23 . LEU M 1 170 ? 144.460 96.432 94.393 1.00 4.13 169 M 1 +ATOM 2649 N N . PHE M 1 171 ? 144.530 99.912 90.419 1.00 3.79 170 M 1 +ATOM 2650 C CA . PHE M 1 171 ? 143.872 100.895 89.568 1.00 3.79 170 M 1 +ATOM 2651 C C . PHE M 1 171 ? 142.682 100.273 88.847 1.00 3.79 170 M 1 +ATOM 2652 O O . PHE M 1 171 ? 141.621 100.894 88.730 1.00 3.79 170 M 1 +ATOM 2653 C CB . PHE M 1 171 ? 144.874 101.442 88.562 1.00 3.79 170 M 1 +ATOM 2654 C CG . PHE M 1 171 ? 144.340 102.550 87.735 1.00 3.79 170 M 1 +ATOM 2655 C CD1 . PHE M 1 171 ? 144.342 103.846 88.205 1.00 3.79 170 M 1 +ATOM 2656 C CD2 . PHE M 1 171 ? 143.774 102.294 86.510 1.00 3.79 170 M 1 +ATOM 2657 C CE1 . PHE M 1 171 ? 143.840 104.856 87.442 1.00 3.79 170 M 1 +ATOM 2658 C CE2 . PHE M 1 171 ? 143.267 103.300 85.759 1.00 3.79 170 M 1 +ATOM 2659 C CZ . PHE M 1 171 ? 143.300 104.576 86.223 1.00 3.79 170 M 1 +ATOM 2660 H H . PHE M 1 171 ? 145.328 99.706 90.173 1.00 3.79 170 M 1 +ATOM 2661 H HA . PHE M 1 171 ? 143.555 101.638 90.105 1.00 3.79 170 M 1 +ATOM 2662 H HB2 . PHE M 1 171 ? 145.651 101.772 89.040 1.00 3.79 170 M 1 +ATOM 2663 H HB3 . PHE M 1 171 ? 145.148 100.727 87.967 1.00 3.79 170 M 1 +ATOM 2664 H HD1 . PHE M 1 171 ? 144.718 104.044 89.032 1.00 3.79 170 M 1 +ATOM 2665 H HD2 . PHE M 1 171 ? 143.749 101.423 86.186 1.00 3.79 170 M 1 +ATOM 2666 H HE1 . PHE M 1 171 ? 143.856 105.730 87.758 1.00 3.79 170 M 1 +ATOM 2667 H HE2 . PHE M 1 171 ? 142.897 103.113 84.927 1.00 3.79 170 M 1 +ATOM 2668 H HZ . PHE M 1 171 ? 142.954 105.265 85.703 1.00 3.79 170 M 1 +ATOM 2669 N N . ASP M 1 172 ? 142.886 99.054 88.392 1.00 4.02 171 M 1 +ATOM 2670 C CA . ASP M 1 172 ? 141.806 98.292 87.727 1.00 4.02 171 M 1 +ATOM 2671 C C . ASP M 1 172 ? 140.659 98.138 88.738 1.00 4.02 171 M 1 +ATOM 2672 O O . ASP M 1 172 ? 139.533 98.351 88.327 1.00 4.02 171 M 1 +ATOM 2673 C CB . ASP M 1 172 ? 142.330 96.951 87.193 1.00 4.02 171 M 1 +ATOM 2674 C CG . ASP M 1 172 ? 141.273 96.045 86.572 1.00 4.02 171 M 1 +ATOM 2675 O OD1 . ASP M 1 172 ? 140.506 95.464 87.323 1.00 4.02 171 M 1 +ATOM 2676 O OD2 . ASP M 1 172 ? 141.246 95.911 85.334 1.00 4.02 171 M 1 +ATOM 2677 H H . ASP M 1 172 ? 143.713 98.680 88.321 1.00 4.02 171 M 1 +ATOM 2678 H HA . ASP M 1 172 ? 141.480 98.822 86.962 1.00 4.02 171 M 1 +ATOM 2679 H HB2 . ASP M 1 172 ? 143.014 97.129 86.515 1.00 4.02 171 M 1 +ATOM 2680 H HB3 . ASP M 1 172 ? 142.753 96.464 87.929 1.00 4.02 171 M 1 +ATOM 2681 N N . LYS M 1 173 ? 140.916 97.846 90.025 1.00 4.18 172 M 1 +ATOM 2682 C CA . LYS M 1 173 ? 139.818 97.616 90.960 1.00 4.18 172 M 1 +ATOM 2683 C C . LYS M 1 173 ? 139.128 98.913 91.381 1.00 4.18 172 M 1 +ATOM 2684 O O . LYS M 1 173 ? 137.897 98.991 91.389 1.00 4.18 172 M 1 +ATOM 2685 C CB . LYS M 1 173 ? 140.325 96.848 92.179 1.00 4.18 172 M 1 +ATOM 2686 C CG . LYS M 1 173 ? 140.865 95.460 91.866 1.00 4.18 172 M 1 +ATOM 2687 C CD . LYS M 1 173 ? 139.777 94.534 91.328 1.00 4.18 172 M 1 +ATOM 2688 C CE . LYS M 1 173 ? 140.229 93.101 91.153 1.00 4.18 172 M 1 +ATOM 2689 N NZ . LYS M 1 173 ? 139.141 92.269 90.574 1.00 4.18 172 M 1 +ATOM 2690 H H . LYS M 1 173 ? 141.708 97.794 90.356 1.00 4.18 172 M 1 +ATOM 2691 H HA . LYS M 1 173 ? 139.134 97.087 90.521 1.00 4.18 172 M 1 +ATOM 2692 H HB2 . LYS M 1 173 ? 141.048 97.352 92.584 1.00 4.18 172 M 1 +ATOM 2693 H HB3 . LYS M 1 173 ? 139.597 96.747 92.812 1.00 4.18 172 M 1 +ATOM 2694 H HG2 . LYS M 1 173 ? 141.556 95.531 91.189 1.00 4.18 172 M 1 +ATOM 2695 H HG3 . LYS M 1 173 ? 141.237 95.075 92.675 1.00 4.18 172 M 1 +ATOM 2696 H HD2 . LYS M 1 173 ? 139.010 94.546 91.921 1.00 4.18 172 M 1 +ATOM 2697 H HD3 . LYS M 1 173 ? 139.524 94.850 90.446 1.00 4.18 172 M 1 +ATOM 2698 H HE2 . LYS M 1 173 ? 140.984 93.064 90.545 1.00 4.18 172 M 1 +ATOM 2699 H HE3 . LYS M 1 173 ? 140.476 92.729 92.014 1.00 4.18 172 M 1 +ATOM 2700 H HZ1 . LYS M 1 173 ? 139.354 91.406 90.625 1.00 4.18 172 M 1 +ATOM 2701 H HZ2 . LYS M 1 173 ? 138.377 92.403 91.010 1.00 4.18 172 M 1 +ATOM 2702 H HZ3 . LYS M 1 173 ? 139.022 92.484 89.719 1.00 4.18 172 M 1 +ATOM 2703 N N . HIS M 1 174 ? 139.898 99.937 91.734 1.00 4.28 173 M 1 +ATOM 2704 C CA . HIS M 1 174 ? 139.326 101.141 92.340 1.00 4.28 173 M 1 +ATOM 2705 C C . HIS M 1 174 ? 138.808 102.130 91.299 1.00 4.28 173 M 1 +ATOM 2706 O O . HIS M 1 174 ? 137.635 102.510 91.318 1.00 4.28 173 M 1 +ATOM 2707 C CB . HIS M 1 174 ? 140.365 101.793 93.254 1.00 4.28 173 M 1 +ATOM 2708 C CG . HIS M 1 174 ? 140.680 100.984 94.467 1.00 4.28 173 M 1 +ATOM 2709 N ND1 . HIS M 1 174 ? 139.808 100.871 95.527 1.00 4.28 173 M 1 +ATOM 2710 C CD2 . HIS M 1 174 ? 141.767 100.251 94.792 1.00 4.28 173 M 1 +ATOM 2711 C CE1 . HIS M 1 174 ? 140.345 100.097 96.451 1.00 4.28 173 M 1 +ATOM 2712 N NE2 . HIS M 1 174 ? 141.533 99.709 96.031 1.00 4.28 173 M 1 +ATOM 2713 H H . HIS M 1 174 ? 140.752 99.957 91.635 1.00 4.28 173 M 1 +ATOM 2714 H HA . HIS M 1 174 ? 138.576 100.895 92.904 1.00 4.28 173 M 1 +ATOM 2715 H HB2 . HIS M 1 174 ? 141.193 101.898 92.761 1.00 4.28 173 M 1 +ATOM 2716 H HB3 . HIS M 1 174 ? 140.046 102.661 93.547 1.00 4.28 173 M 1 +ATOM 2717 H HD2 . HIS M 1 174 ? 142.533 100.137 94.277 1.00 4.28 173 M 1 +ATOM 2718 H HE1 . HIS M 1 174 ? 139.951 99.866 97.261 1.00 4.28 173 M 1 +ATOM 2719 H HE2 . HIS M 1 174 ? 142.076 99.200 96.462 1.00 4.28 173 M 1 +ATOM 2720 N N . THR M 1 175 ? 139.668 102.559 90.381 1.00 3.92 174 M 1 +ATOM 2721 C CA . THR M 1 175 ? 139.281 103.609 89.443 1.00 3.92 174 M 1 +ATOM 2722 C C . THR M 1 175 ? 138.388 103.072 88.331 1.00 3.92 174 M 1 +ATOM 2723 O O . THR M 1 175 ? 137.333 103.648 88.043 1.00 3.92 174 M 1 +ATOM 2724 C CB . THR M 1 175 ? 140.529 104.288 88.884 1.00 3.92 174 M 1 +ATOM 2725 O OG1 . THR M 1 175 ? 141.222 104.932 89.958 1.00 3.92 174 M 1 +ATOM 2726 C CG2 . THR M 1 175 ? 140.176 105.309 87.815 1.00 3.92 174 M 1 +ATOM 2727 H H . THR M 1 175 ? 140.472 102.269 90.290 1.00 3.92 174 M 1 +ATOM 2728 H HA . THR M 1 175 ? 138.774 104.287 89.917 1.00 3.92 174 M 1 +ATOM 2729 H HB . THR M 1 175 ? 141.117 103.628 88.485 1.00 3.92 174 M 1 +ATOM 2730 H HG1 . THR M 1 175 ? 141.349 105.742 89.774 1.00 3.92 174 M 1 +ATOM 2731 H HG21 . THR M 1 175 ? 140.922 105.911 87.670 1.00 3.92 174 M 1 +ATOM 2732 H HG22 . THR M 1 175 ? 139.977 104.866 86.975 1.00 3.92 174 M 1 +ATOM 2733 H HG23 . THR M 1 175 ? 139.402 105.826 88.086 1.00 3.92 174 M 1 +ATOM 2734 N N . LEU M 1 176 ? 138.787 101.981 87.690 1.00 3.89 175 M 1 +ATOM 2735 C CA . LEU M 1 176 ? 138.029 101.435 86.571 1.00 3.89 175 M 1 +ATOM 2736 C C . LEU M 1 176 ? 137.001 100.390 86.986 1.00 3.89 175 M 1 +ATOM 2737 O O . LEU M 1 176 ? 136.269 99.897 86.125 1.00 3.89 175 M 1 +ATOM 2738 C CB . LEU M 1 176 ? 138.981 100.835 85.536 1.00 3.89 175 M 1 +ATOM 2739 C CG . LEU M 1 176 ? 139.949 101.826 84.877 1.00 3.89 175 M 1 +ATOM 2740 C CD1 . LEU M 1 176 ? 140.858 101.121 83.920 1.00 3.89 175 M 1 +ATOM 2741 C CD2 . LEU M 1 176 ? 139.256 102.990 84.197 1.00 3.89 175 M 1 +ATOM 2742 H H . LEU M 1 176 ? 139.499 101.538 87.883 1.00 3.89 175 M 1 +ATOM 2743 H HA . LEU M 1 176 ? 137.528 102.142 86.135 1.00 3.89 175 M 1 +ATOM 2744 H HB2 . LEU M 1 176 ? 139.518 100.161 85.981 1.00 3.89 175 M 1 +ATOM 2745 H HB3 . LEU M 1 176 ? 138.456 100.406 84.843 1.00 3.89 175 M 1 +ATOM 2746 H HG . LEU M 1 176 ? 140.518 102.192 85.573 1.00 3.89 175 M 1 +ATOM 2747 H HD11 . LEU M 1 176 ? 140.996 101.648 83.117 1.00 3.89 175 M 1 +ATOM 2748 H HD12 . LEU M 1 176 ? 141.711 100.998 84.365 1.00 3.89 175 M 1 +ATOM 2749 H HD13 . LEU M 1 176 ? 140.472 100.264 83.679 1.00 3.89 175 M 1 +ATOM 2750 H HD21 . LEU M 1 176 ? 139.918 103.538 83.747 1.00 3.89 175 M 1 +ATOM 2751 H HD22 . LEU M 1 176 ? 138.608 102.648 83.562 1.00 3.89 175 M 1 +ATOM 2752 H HD23 . LEU M 1 176 ? 138.811 103.528 84.870 1.00 3.89 175 M 1 +ATOM 2753 N N . GLY M 1 177 ? 136.922 100.050 88.265 1.00 4.79 176 M 1 +ATOM 2754 C CA . GLY M 1 177 ? 135.933 99.110 88.758 1.00 4.79 176 M 1 +ATOM 2755 C C . GLY M 1 177 ? 134.724 99.796 89.358 1.00 4.79 176 M 1 +ATOM 2756 O O . GLY M 1 177 ? 134.403 100.926 88.999 1.00 4.79 176 M 1 +ATOM 2757 H H . GLY M 1 177 ? 137.440 100.352 88.881 1.00 4.79 176 M 1 +ATOM 2758 H HA2 . GLY M 1 177 ? 135.628 98.522 88.049 1.00 4.79 176 M 1 +ATOM 2759 H HA3 . GLY M 1 177 ? 136.344 98.561 89.444 1.00 4.79 176 M 1 +HETATM 2760 ZN ZN . ZN PA 3 . ? 134.712 110.111 68.601 1.00 16.76 201 M 1 +# diff --git a/src/alphafold3/test_data/miniature_databases/pdb_mmcif/6ydw.cif b/src/alphafold3/test_data/miniature_databases/pdb_mmcif/6ydw.cif new file mode 100644 index 0000000000000000000000000000000000000000..040f961e6b8b732218c13c13db8f378502a151d5 --- /dev/null +++ b/src/alphafold3/test_data/miniature_databases/pdb_mmcif/6ydw.cif @@ -0,0 +1,2467 @@ +data_6YDW +# +_entry.id 6YDW +# +loop_ +_chem_comp.formula +_chem_comp.formula_weight +_chem_comp.id +_chem_comp.mon_nstd_flag +_chem_comp.name +_chem_comp.pdbx_synonyms +_chem_comp.type +"C10 H14 N5 O8 P" 363.221 5GP . "GUANOSINE-5'-MONOPHOSPHATE" ? non-polymer +"C10 H14 N5 O7 P" 347.221 A y "ADENOSINE-5'-MONOPHOSPHATE" ? "RNA linking" +"C3 H7 N O2" 89.093 ALA y ALANINE ? "L-peptide linking" +"C6 H15 N4 O2 1" 175.209 ARG y ARGININE ? "L-peptide linking" +"C4 H8 N2 O3" 132.118 ASN y ASPARAGINE ? "L-peptide linking" +"C4 H7 N O4" 133.103 ASP y "ASPARTIC ACID" ? "L-peptide linking" +"C9 H14 N3 O8 P" 323.197 C y "CYTIDINE-5'-MONOPHOSPHATE" ? "RNA linking" +"C3 H7 N O2 S" 121.158 CYS y CYSTEINE ? "L-peptide linking" +"C6 H11 N O3 S" 177.221 FME n N-FORMYLMETHIONINE ? "L-peptide linking" +"C10 H14 N5 O8 P" 363.221 G y "GUANOSINE-5'-MONOPHOSPHATE" ? "RNA linking" +"C5 H10 N2 O3" 146.144 GLN y GLUTAMINE ? "L-peptide linking" +"C5 H9 N O4" 147.129 GLU y "GLUTAMIC ACID" ? "L-peptide linking" +"C2 H5 N O2" 75.067 GLY y GLYCINE ? "peptide linking" +"C10 H17 N6 O13 P3" 522.196 GNP . "PHOSPHOAMINOPHOSPHONIC ACID-GUANYLATE ESTER" ? non-polymer +"C10 H16 N5 O14 P3" 523.180 GTP n "GUANOSINE-5'-TRIPHOSPHATE" ? non-polymer +"C6 H10 N3 O2 1" 156.162 HIS y HISTIDINE ? "L-peptide linking" +"H2 O" 18.015 HOH . WATER ? non-polymer +"C6 H13 N O2" 131.173 ILE y ISOLEUCINE ? "L-peptide linking" +"C6 H13 N O2" 131.173 LEU y LEUCINE ? "L-peptide linking" +"C6 H15 N2 O2 1" 147.195 LYS y LYSINE ? "L-peptide linking" +"C5 H11 N O2 S" 149.211 MET y METHIONINE ? "L-peptide linking" +"Mg 2" 24.305 MG . "MAGNESIUM ION" ? non-polymer +"C9 H11 N O2" 165.189 PHE y PHENYLALANINE ? "L-peptide linking" +"C5 H9 N O2" 115.130 PRO y PROLINE ? "L-peptide linking" +"C3 H7 N O3" 105.093 SER y SERINE ? "L-peptide linking" +"C10 H26 N4" 202.340 SPM . SPERMINE ? non-polymer +"C4 H9 N O3" 119.119 THR y THREONINE ? "L-peptide linking" +"C11 H12 N2 O2" 204.225 TRP y TRYPTOPHAN ? "L-peptide linking" +"C9 H11 N O3" 181.189 TYR y TYROSINE ? "L-peptide linking" +"C9 H13 N2 O9 P" 324.181 U y "URIDINE-5'-MONOPHOSPHATE" ? "RNA linking" +"C4 H9 N O2" 103.120 UNK . UNKNOWN ? "L-peptide linking" +"C5 H11 N O2" 117.146 VAL y VALINE ? "L-peptide linking" +"Zn 2" 65.409 ZN . "ZINC ION" ? non-polymer +# +_entity.id 17 +_entity.pdbx_description "Mitochondrial ribosomal protein L46" +_entity.type polymer +# +_entity_poly.entity_id 17 +_entity_poly.pdbx_strand_id Bj +_entity_poly.type polypeptide(L) +# +loop_ +_entity_poly_seq.entity_id +_entity_poly_seq.hetero +_entity_poly_seq.mon_id +_entity_poly_seq.num +17 n MET 1 +17 n ALA 2 +17 n ALA 3 +17 n PRO 4 +17 n VAL 5 +17 n ARG 6 +17 n ARG 7 +17 n THR 8 +17 n MET 9 +17 n LEU 10 +17 n ARG 11 +17 n VAL 12 +17 n VAL 13 +17 n ARG 14 +17 n GLY 15 +17 n TRP 16 +17 n ARG 17 +17 n ARG 18 +17 n PHE 19 +17 n GLU 20 +17 n GLY 21 +17 n PRO 22 +17 n TRP 23 +17 n ALA 24 +17 n HIS 25 +17 n SER 26 +17 n LEU 27 +17 n GLY 28 +17 n SER 29 +17 n ARG 30 +17 n ASN 31 +17 n LEU 32 +17 n ALA 33 +17 n LEU 34 +17 n ALA 35 +17 n VAL 36 +17 n ALA 37 +17 n PRO 38 +17 n SER 39 +17 n SER 40 +17 n SER 41 +17 n SER 42 +17 n SER 43 +17 n PRO 44 +17 n TRP 45 +17 n ARG 46 +17 n LEU 47 +17 n LEU 48 +17 n GLY 49 +17 n ALA 50 +17 n LEU 51 +17 n CYS 52 +17 n LEU 53 +17 n GLN 54 +17 n ARG 55 +17 n PRO 56 +17 n PRO 57 +17 n LEU 58 +17 n VAL 59 +17 n THR 60 +17 n LYS 61 +17 n PRO 62 +17 n LEU 63 +17 n THR 64 +17 n PRO 65 +17 n LEU 66 +17 n GLN 67 +17 n GLU 68 +17 n GLU 69 +17 n MET 70 +17 n ALA 71 +17 n ASP 72 +17 n LEU 73 +17 n LEU 74 +17 n GLN 75 +17 n GLN 76 +17 n ILE 77 +17 n GLU 78 +17 n ILE 79 +17 n GLU 80 +17 n ARG 81 +17 n SER 82 +17 n LEU 83 +17 n TYR 84 +17 n SER 85 +17 n ASP 86 +17 n HIS 87 +17 n GLU 88 +17 n LEU 89 +17 n ARG 90 +17 n ALA 91 +17 n LEU 92 +17 n ASP 93 +17 n GLU 94 +17 n ALA 95 +17 n GLN 96 +17 n GLN 97 +17 n LEU 98 +17 n ALA 99 +17 n LYS 100 +17 n LYS 101 +17 n LYS 102 +17 n SER 103 +17 n ASP 104 +17 n LEU 105 +17 n TYR 106 +17 n GLU 107 +17 n GLU 108 +17 n GLU 109 +17 n ASP 110 +17 n GLU 111 +17 n GLN 112 +17 n ASN 113 +17 n ILE 114 +17 n LEU 115 +17 n LEU 116 +17 n ALA 117 +17 n GLN 118 +17 n ASP 119 +17 n LEU 120 +17 n GLU 121 +17 n ASP 122 +17 n MET 123 +17 n TRP 124 +17 n GLU 125 +17 n GLN 126 +17 n LYS 127 +17 n PHE 128 +17 n LEU 129 +17 n HIS 130 +17 n PHE 131 +17 n LYS 132 +17 n LEU 133 +17 n GLY 134 +17 n ALA 135 +17 n ARG 136 +17 n LEU 137 +17 n THR 138 +17 n GLU 139 +17 n ALA 140 +17 n ASP 141 +17 n LYS 142 +17 n LYS 143 +17 n ASP 144 +17 n ASP 145 +17 n ARG 146 +17 n THR 147 +17 n SER 148 +17 n LEU 149 +17 n HIS 150 +17 n ARG 151 +17 n LYS 152 +17 n LEU 153 +17 n ASP 154 +17 n ARG 155 +17 n ASN 156 +17 n LEU 157 +17 n ILE 158 +17 n LEU 159 +17 n LEU 160 +17 n VAL 161 +17 n ARG 162 +17 n GLU 163 +17 n LYS 164 +17 n LEU 165 +17 n GLY 166 +17 n ASP 167 +17 n GLN 168 +17 n ASP 169 +17 n ILE 170 +17 n TRP 171 +17 n MET 172 +17 n LEU 173 +17 n PRO 174 +17 n GLN 175 +17 n SER 176 +17 n ASP 177 +17 n TRP 178 +17 n GLN 179 +17 n PRO 180 +17 n GLY 181 +17 n GLU 182 +17 n THR 183 +17 n LEU 184 +17 n ARG 185 +17 n GLN 186 +17 n THR 187 +17 n ALA 188 +17 n GLU 189 +17 n ARG 190 +17 n THR 191 +17 n LEU 192 +17 n ALA 193 +17 n THR 194 +17 n LEU 195 +17 n SER 196 +17 n GLU 197 +17 n ASN 198 +17 n ASN 199 +17 n MET 200 +17 n GLU 201 +17 n ALA 202 +17 n LYS 203 +17 n PHE 204 +17 n LEU 205 +17 n GLY 206 +17 n ASN 207 +17 n ALA 208 +17 n PRO 209 +17 n CYS 210 +17 n GLY 211 +17 n HIS 212 +17 n TYR 213 +17 n LYS 214 +17 n PHE 215 +17 n LYS 216 +17 n PHE 217 +17 n PRO 218 +17 n GLN 219 +17 n ALA 220 +17 n MET 221 +17 n ARG 222 +17 n THR 223 +17 n GLU 224 +17 n THR 225 +17 n SER 226 +17 n LEU 227 +17 n GLY 228 +17 n ALA 229 +17 n LYS 230 +17 n VAL 231 +17 n PHE 232 +17 n PHE 233 +17 n PHE 234 +17 n LYS 235 +17 n ALA 236 +17 n LEU 237 +17 n LEU 238 +17 n LEU 239 +17 n THR 240 +17 n GLY 241 +17 n ASP 242 +17 n PHE 243 +17 n SER 244 +17 n GLN 245 +17 n ALA 246 +17 n GLY 247 +17 n LYS 248 +17 n LYS 249 +17 n GLY 250 +17 n HIS 251 +17 n HIS 252 +17 n VAL 253 +17 n TRP 254 +17 n VAL 255 +17 n SER 256 +17 n LYS 257 +17 n GLU 258 +17 n GLU 259 +17 n LEU 260 +17 n GLY 261 +17 n ASP 262 +17 n TYR 263 +17 n LEU 264 +17 n LYS 265 +17 n PRO 266 +17 n LYS 267 +17 n TYR 268 +17 n LEU 269 +17 n ALA 270 +17 n GLN 271 +17 n VAL 272 +17 n ARG 273 +17 n ARG 274 +17 n PHE 275 +17 n LEU 276 +17 n LEU 277 +17 n ASP 278 +17 n LEU 279 +# +_exptl.method "ELECTRON MICROSCOPY" +# +_pdbx_audit_revision_history.revision_date 2020-07-15 +# +_pdbx_database_status.recvd_initial_deposition_date 2020-07-15 +# +loop_ +_pdbx_poly_seq_scheme.asym_id +_pdbx_poly_seq_scheme.auth_seq_num +_pdbx_poly_seq_scheme.entity_id +_pdbx_poly_seq_scheme.hetero +_pdbx_poly_seq_scheme.mon_id +_pdbx_poly_seq_scheme.pdb_ins_code +_pdbx_poly_seq_scheme.pdb_seq_num +_pdbx_poly_seq_scheme.pdb_strand_id +_pdbx_poly_seq_scheme.seq_id +Q ? 17 n MET . 1 Bj 1 +Q ? 17 n ALA . 2 Bj 2 +Q ? 17 n ALA . 3 Bj 3 +Q ? 17 n PRO . 4 Bj 4 +Q ? 17 n VAL . 5 Bj 5 +Q ? 17 n ARG . 6 Bj 6 +Q ? 17 n ARG . 7 Bj 7 +Q ? 17 n THR . 8 Bj 8 +Q ? 17 n MET . 9 Bj 9 +Q ? 17 n LEU . 10 Bj 10 +Q ? 17 n ARG . 11 Bj 11 +Q ? 17 n VAL . 12 Bj 12 +Q ? 17 n VAL . 13 Bj 13 +Q ? 17 n ARG . 14 Bj 14 +Q ? 17 n GLY . 15 Bj 15 +Q ? 17 n TRP . 16 Bj 16 +Q ? 17 n ARG . 17 Bj 17 +Q ? 17 n ARG . 18 Bj 18 +Q ? 17 n PHE . 19 Bj 19 +Q ? 17 n GLU . 20 Bj 20 +Q ? 17 n GLY . 21 Bj 21 +Q ? 17 n PRO . 22 Bj 22 +Q ? 17 n TRP . 23 Bj 23 +Q ? 17 n ALA . 24 Bj 24 +Q ? 17 n HIS . 25 Bj 25 +Q ? 17 n SER . 26 Bj 26 +Q ? 17 n LEU . 27 Bj 27 +Q ? 17 n GLY . 28 Bj 28 +Q ? 17 n SER . 29 Bj 29 +Q ? 17 n ARG . 30 Bj 30 +Q ? 17 n ASN . 31 Bj 31 +Q ? 17 n LEU . 32 Bj 32 +Q ? 17 n ALA . 33 Bj 33 +Q ? 17 n LEU . 34 Bj 34 +Q ? 17 n ALA . 35 Bj 35 +Q ? 17 n VAL . 36 Bj 36 +Q ? 17 n ALA . 37 Bj 37 +Q ? 17 n PRO . 38 Bj 38 +Q ? 17 n SER . 39 Bj 39 +Q ? 17 n SER . 40 Bj 40 +Q ? 17 n SER . 41 Bj 41 +Q ? 17 n SER . 42 Bj 42 +Q 43 17 n SER . 43 Bj 43 +Q 44 17 n PRO . 44 Bj 44 +Q 45 17 n TRP . 45 Bj 45 +Q 46 17 n ARG . 46 Bj 46 +Q 47 17 n LEU . 47 Bj 47 +Q 48 17 n LEU . 48 Bj 48 +Q 49 17 n GLY . 49 Bj 49 +Q 50 17 n ALA . 50 Bj 50 +Q 51 17 n LEU . 51 Bj 51 +Q 52 17 n CYS . 52 Bj 52 +Q 53 17 n LEU . 53 Bj 53 +Q 54 17 n GLN . 54 Bj 54 +Q 55 17 n ARG . 55 Bj 55 +Q 56 17 n PRO . 56 Bj 56 +Q 57 17 n PRO . 57 Bj 57 +Q 58 17 n LEU . 58 Bj 58 +Q 59 17 n VAL . 59 Bj 59 +Q 60 17 n THR . 60 Bj 60 +Q 61 17 n LYS . 61 Bj 61 +Q 62 17 n PRO . 62 Bj 62 +Q 63 17 n LEU . 63 Bj 63 +Q 64 17 n THR . 64 Bj 64 +Q 65 17 n PRO . 65 Bj 65 +Q 66 17 n LEU . 66 Bj 66 +Q 67 17 n GLN . 67 Bj 67 +Q 68 17 n GLU . 68 Bj 68 +Q 69 17 n GLU . 69 Bj 69 +Q 70 17 n MET . 70 Bj 70 +Q 71 17 n ALA . 71 Bj 71 +Q 72 17 n ASP . 72 Bj 72 +Q 73 17 n LEU . 73 Bj 73 +Q 74 17 n LEU . 74 Bj 74 +Q 75 17 n GLN . 75 Bj 75 +Q 76 17 n GLN . 76 Bj 76 +Q 77 17 n ILE . 77 Bj 77 +Q 78 17 n GLU . 78 Bj 78 +Q 79 17 n ILE . 79 Bj 79 +Q 80 17 n GLU . 80 Bj 80 +Q 81 17 n ARG . 81 Bj 81 +Q 82 17 n SER . 82 Bj 82 +Q 83 17 n LEU . 83 Bj 83 +Q 84 17 n TYR . 84 Bj 84 +Q 85 17 n SER . 85 Bj 85 +Q 86 17 n ASP . 86 Bj 86 +Q 87 17 n HIS . 87 Bj 87 +Q 88 17 n GLU . 88 Bj 88 +Q 89 17 n LEU . 89 Bj 89 +Q 90 17 n ARG . 90 Bj 90 +Q 91 17 n ALA . 91 Bj 91 +Q 92 17 n LEU . 92 Bj 92 +Q 93 17 n ASP . 93 Bj 93 +Q 94 17 n GLU . 94 Bj 94 +Q 95 17 n ALA . 95 Bj 95 +Q 96 17 n GLN . 96 Bj 96 +Q 97 17 n GLN . 97 Bj 97 +Q 98 17 n LEU . 98 Bj 98 +Q 99 17 n ALA . 99 Bj 99 +Q 100 17 n LYS . 100 Bj 100 +Q 101 17 n LYS . 101 Bj 101 +Q 102 17 n LYS . 102 Bj 102 +Q 103 17 n SER . 103 Bj 103 +Q 104 17 n ASP . 104 Bj 104 +Q ? 17 n LEU . 105 Bj 105 +Q ? 17 n TYR . 106 Bj 106 +Q ? 17 n GLU . 107 Bj 107 +Q ? 17 n GLU . 108 Bj 108 +Q ? 17 n GLU . 109 Bj 109 +Q ? 17 n ASP . 110 Bj 110 +Q ? 17 n GLU . 111 Bj 111 +Q ? 17 n GLN . 112 Bj 112 +Q ? 17 n ASN . 113 Bj 113 +Q ? 17 n ILE . 114 Bj 114 +Q ? 17 n LEU . 115 Bj 115 +Q 116 17 n LEU . 116 Bj 116 +Q 117 17 n ALA . 117 Bj 117 +Q 118 17 n GLN . 118 Bj 118 +Q 119 17 n ASP . 119 Bj 119 +Q 120 17 n LEU . 120 Bj 120 +Q 121 17 n GLU . 121 Bj 121 +Q 122 17 n ASP . 122 Bj 122 +Q 123 17 n MET . 123 Bj 123 +Q 124 17 n TRP . 124 Bj 124 +Q 125 17 n GLU . 125 Bj 125 +Q 126 17 n GLN . 126 Bj 126 +Q 127 17 n LYS . 127 Bj 127 +Q 128 17 n PHE . 128 Bj 128 +Q 129 17 n LEU . 129 Bj 129 +Q 130 17 n HIS . 130 Bj 130 +Q 131 17 n PHE . 131 Bj 131 +Q 132 17 n LYS . 132 Bj 132 +Q 133 17 n LEU . 133 Bj 133 +Q 134 17 n GLY . 134 Bj 134 +Q 135 17 n ALA . 135 Bj 135 +Q 136 17 n ARG . 136 Bj 136 +Q 137 17 n LEU . 137 Bj 137 +Q 138 17 n THR . 138 Bj 138 +Q 139 17 n GLU . 139 Bj 139 +Q 140 17 n ALA . 140 Bj 140 +Q 141 17 n ASP . 141 Bj 141 +Q 142 17 n LYS . 142 Bj 142 +Q 143 17 n LYS . 143 Bj 143 +Q 144 17 n ASP . 144 Bj 144 +Q 145 17 n ASP . 145 Bj 145 +Q 146 17 n ARG . 146 Bj 146 +Q 147 17 n THR . 147 Bj 147 +Q 148 17 n SER . 148 Bj 148 +Q 149 17 n LEU . 149 Bj 149 +Q 150 17 n HIS . 150 Bj 150 +Q 151 17 n ARG . 151 Bj 151 +Q 152 17 n LYS . 152 Bj 152 +Q 153 17 n LEU . 153 Bj 153 +Q 154 17 n ASP . 154 Bj 154 +Q 155 17 n ARG . 155 Bj 155 +Q 156 17 n ASN . 156 Bj 156 +Q 157 17 n LEU . 157 Bj 157 +Q 158 17 n ILE . 158 Bj 158 +Q 159 17 n LEU . 159 Bj 159 +Q 160 17 n LEU . 160 Bj 160 +Q 161 17 n VAL . 161 Bj 161 +Q 162 17 n ARG . 162 Bj 162 +Q 163 17 n GLU . 163 Bj 163 +Q 164 17 n LYS . 164 Bj 164 +Q 165 17 n LEU . 165 Bj 165 +Q 166 17 n GLY . 166 Bj 166 +Q 167 17 n ASP . 167 Bj 167 +Q 168 17 n GLN . 168 Bj 168 +Q 169 17 n ASP . 169 Bj 169 +Q 170 17 n ILE . 170 Bj 170 +Q 171 17 n TRP . 171 Bj 171 +Q 172 17 n MET . 172 Bj 172 +Q 173 17 n LEU . 173 Bj 173 +Q 174 17 n PRO . 174 Bj 174 +Q 175 17 n GLN . 175 Bj 175 +Q 176 17 n SER . 176 Bj 176 +Q 177 17 n ASP . 177 Bj 177 +Q 178 17 n TRP . 178 Bj 178 +Q 179 17 n GLN . 179 Bj 179 +Q 180 17 n PRO . 180 Bj 180 +Q 181 17 n GLY . 181 Bj 181 +Q 182 17 n GLU . 182 Bj 182 +Q 183 17 n THR . 183 Bj 183 +Q 184 17 n LEU . 184 Bj 184 +Q 185 17 n ARG . 185 Bj 185 +Q 186 17 n GLN . 186 Bj 186 +Q 187 17 n THR . 187 Bj 187 +Q 188 17 n ALA . 188 Bj 188 +Q 189 17 n GLU . 189 Bj 189 +Q 190 17 n ARG . 190 Bj 190 +Q 191 17 n THR . 191 Bj 191 +Q 192 17 n LEU . 192 Bj 192 +Q 193 17 n ALA . 193 Bj 193 +Q 194 17 n THR . 194 Bj 194 +Q 195 17 n LEU . 195 Bj 195 +Q 196 17 n SER . 196 Bj 196 +Q 197 17 n GLU . 197 Bj 197 +Q 198 17 n ASN . 198 Bj 198 +Q 199 17 n ASN . 199 Bj 199 +Q 200 17 n MET . 200 Bj 200 +Q 201 17 n GLU . 201 Bj 201 +Q 202 17 n ALA . 202 Bj 202 +Q 203 17 n LYS . 203 Bj 203 +Q 204 17 n PHE . 204 Bj 204 +Q 205 17 n LEU . 205 Bj 205 +Q 206 17 n GLY . 206 Bj 206 +Q 207 17 n ASN . 207 Bj 207 +Q 208 17 n ALA . 208 Bj 208 +Q 209 17 n PRO . 209 Bj 209 +Q 210 17 n CYS . 210 Bj 210 +Q 211 17 n GLY . 211 Bj 211 +Q 212 17 n HIS . 212 Bj 212 +Q 213 17 n TYR . 213 Bj 213 +Q 214 17 n LYS . 214 Bj 214 +Q 215 17 n PHE . 215 Bj 215 +Q 216 17 n LYS . 216 Bj 216 +Q 217 17 n PHE . 217 Bj 217 +Q ? 17 n PRO . 218 Bj 218 +Q ? 17 n GLN . 219 Bj 219 +Q ? 17 n ALA . 220 Bj 220 +Q ? 17 n MET . 221 Bj 221 +Q ? 17 n ARG . 222 Bj 222 +Q ? 17 n THR . 223 Bj 223 +Q ? 17 n GLU . 224 Bj 224 +Q ? 17 n THR . 225 Bj 225 +Q ? 17 n SER . 226 Bj 226 +Q 227 17 n LEU . 227 Bj 227 +Q 228 17 n GLY . 228 Bj 228 +Q 229 17 n ALA . 229 Bj 229 +Q 230 17 n LYS . 230 Bj 230 +Q 231 17 n VAL . 231 Bj 231 +Q 232 17 n PHE . 232 Bj 232 +Q 233 17 n PHE . 233 Bj 233 +Q 234 17 n PHE . 234 Bj 234 +Q 235 17 n LYS . 235 Bj 235 +Q 236 17 n ALA . 236 Bj 236 +Q 237 17 n LEU . 237 Bj 237 +Q 238 17 n LEU . 238 Bj 238 +Q 239 17 n LEU . 239 Bj 239 +Q 240 17 n THR . 240 Bj 240 +Q 241 17 n GLY . 241 Bj 241 +Q 242 17 n ASP . 242 Bj 242 +Q 243 17 n PHE . 243 Bj 243 +Q 244 17 n SER . 244 Bj 244 +Q 245 17 n GLN . 245 Bj 245 +Q 246 17 n ALA . 246 Bj 246 +Q 247 17 n GLY . 247 Bj 247 +Q 248 17 n LYS . 248 Bj 248 +Q 249 17 n LYS . 249 Bj 249 +Q 250 17 n GLY . 250 Bj 250 +Q 251 17 n HIS . 251 Bj 251 +Q 252 17 n HIS . 252 Bj 252 +Q 253 17 n VAL . 253 Bj 253 +Q 254 17 n TRP . 254 Bj 254 +Q 255 17 n VAL . 255 Bj 255 +Q 256 17 n SER . 256 Bj 256 +Q 257 17 n LYS . 257 Bj 257 +Q 258 17 n GLU . 258 Bj 258 +Q 259 17 n GLU . 259 Bj 259 +Q 260 17 n LEU . 260 Bj 260 +Q 261 17 n GLY . 261 Bj 261 +Q 262 17 n ASP . 262 Bj 262 +Q 263 17 n TYR . 263 Bj 263 +Q 264 17 n LEU . 264 Bj 264 +Q 265 17 n LYS . 265 Bj 265 +Q 266 17 n PRO . 266 Bj 266 +Q 267 17 n LYS . 267 Bj 267 +Q 268 17 n TYR . 268 Bj 268 +Q 269 17 n LEU . 269 Bj 269 +Q 270 17 n ALA . 270 Bj 270 +Q 271 17 n GLN . 271 Bj 271 +Q 272 17 n VAL . 272 Bj 272 +Q 273 17 n ARG . 273 Bj 273 +Q 274 17 n ARG . 274 Bj 274 +Q 275 17 n PHE . 275 Bj 275 +Q 276 17 n LEU . 276 Bj 276 +Q 277 17 n LEU . 277 Bj 277 +Q 278 17 n ASP . 278 Bj 278 +Q 279 17 n LEU . 279 Bj 279 +# +_pdbx_struct_assembly.details author_defined_assembly +_pdbx_struct_assembly.id 1 +_pdbx_struct_assembly.method_details ? +_pdbx_struct_assembly.oligomeric_count 95 +_pdbx_struct_assembly.oligomeric_details 95-meric +# +_pdbx_struct_assembly_gen.assembly_id 1 +_pdbx_struct_assembly_gen.asym_id_list A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,AA,BA,CA,DA,EA,FA,GA,HA,IA,JA,KA,LA,MA,NA,OA,PA,QA,RA,SA,TA,UA,VA,WA,XA,YA,ZA,AB,BB,CB,DB,EB,FB,GB,HB,IB,JB,KB,LB,MB,NB,OB,PB,QB,RB,SB,TB,UB,VB,WB,XB,YB,ZB,AC,BC,CC,DC,EC,FC,GC,HC,IC,JC,KC,LC,MC,NC,OC,PC,QC,RC,SC,TC,UC,VC,WC,XC,YC,ZC,AD,BD,CD,DD,ED,FD,GD,HD,ID,JD,KD,LD,MD,ND,OD,PD,QD,RD,SD,TD,UD,VD,WD,XD,YD,ZD,AE,BE,CE,DE,EE,FE,GE,HE,IE,JE,KE,LE,ME,NE,OE,PE,QE,RE,SE,TE,UE,VE,WE,XE,YE,ZE,AF,BF,CF,DF,EF,FF,GF,HF,IF,JF,KF,LF,MF,NF,OF,PF,QF,RF,SF,TF,UF,VF,WF,XF,YF,ZF,AG,BG,CG,DG,EG,FG,GG,HG,IG,JG,KG,LG,MG,NG,OG,PG,QG,RG,SG,TG,UG,VG,WG,XG,YG,ZG,AH,BH,CH,DH,EH,FH,GH,HH,IH,JH,KH,LH,MH,NH,OH,PH,QH,RH,SH,TH,UH,VH,WH,XH,YH,ZH,AI,BI,CI,DI,EI,FI,GI,HI,II,JI,KI,LI,MI,NI,OI,PI,QI,RI,SI,TI,UI,VI,WI,XI,YI,ZI,AJ,BJ,CJ,DJ,EJ,FJ,GJ,HJ,IJ,JJ,KJ,LJ,MJ,NJ,OJ,PJ,QJ,RJ,SJ,TJ,UJ,VJ,WJ,XJ,YJ,ZJ,AK,BK,CK,DK,EK,FK,GK,HK,IK,JK,KK,LK,MK,NK,OK,PK,QK,RK,SK,TK,UK,VK,WK,XK,YK,ZK,AL,BL,CL,DL,EL,FL,GL,HL,IL,JL,KL,LL,ML,NL,OL,PL,QL,RL,SL,TL,UL,VL,WL,XL,YL,ZL,AM,BM,CM,DM,EM,FM,GM,HM,IM,JM,KM,LM,MM,NM,OM,PM,QM,RM,SM,TM,UM,VM,WM,XM,YM,ZM,AN,BN,CN,DN,EN,FN,GN,HN,IN,JN,KN,LN,MN,NN,ON,PN,QN,RN,SN,TN,UN,VN,WN,XN,YN,ZN,AO,BO,CO,DO,EO,FO,GO,HO,IO,JO,KO,LO,MO,NO,OO,PO,QO,RO,SO,TO,UO,VO,WO,XO,YO,ZO,AP,BP,CP,DP,EP,FP,GP,HP,IP,JP,KP,LP,MP,NP,OP,PP,QP,RP,SP +_pdbx_struct_assembly_gen.oper_expression 1 +# +_pdbx_struct_oper_list.id 1 +_pdbx_struct_oper_list.matrix[1][1] 1.0000000000 +_pdbx_struct_oper_list.matrix[1][2] 0.0000000000 +_pdbx_struct_oper_list.matrix[1][3] 0.0000000000 +_pdbx_struct_oper_list.matrix[2][1] 0.0000000000 +_pdbx_struct_oper_list.matrix[2][2] 1.0000000000 +_pdbx_struct_oper_list.matrix[2][3] 0.0000000000 +_pdbx_struct_oper_list.matrix[3][1] 0.0000000000 +_pdbx_struct_oper_list.matrix[3][2] 0.0000000000 +_pdbx_struct_oper_list.matrix[3][3] 1.0000000000 +_pdbx_struct_oper_list.name 1_555 +_pdbx_struct_oper_list.symmetry_operation ? +_pdbx_struct_oper_list.type "identity operation" +_pdbx_struct_oper_list.vector[1] 0.0000000000 +_pdbx_struct_oper_list.vector[2] 0.0000000000 +_pdbx_struct_oper_list.vector[3] 0.0000000000 +# +_refine.ls_d_res_high 4.20 +# +_software.classification other +_software.name "DeepMind Structure Class" +_software.pdbx_ordinal 1 +_software.version 2.0.0 +# +_struct_asym.entity_id 17 +_struct_asym.id Q +# +loop_ +_atom_site.group_PDB +_atom_site.id +_atom_site.type_symbol +_atom_site.label_atom_id +_atom_site.label_alt_id +_atom_site.label_comp_id +_atom_site.label_asym_id +_atom_site.label_entity_id +_atom_site.label_seq_id +_atom_site.pdbx_PDB_ins_code +_atom_site.Cartn_x +_atom_site.Cartn_y +_atom_site.Cartn_z +_atom_site.occupancy +_atom_site.B_iso_or_equiv +_atom_site.auth_seq_id +_atom_site.auth_asym_id +_atom_site.pdbx_PDB_model_num +ATOM 1 N N . SER Q 17 43 ? 162.672 264.147 303.911 1.00 104.46 43 Bj 1 +ATOM 2 C CA . SER Q 17 43 ? 161.478 264.930 303.620 1.00 104.46 43 Bj 1 +ATOM 3 C C . SER Q 17 43 ? 160.551 264.181 302.669 1.00 104.46 43 Bj 1 +ATOM 4 O O . SER Q 17 43 ? 160.970 263.766 301.589 1.00 104.46 43 Bj 1 +ATOM 5 C CB . SER Q 17 43 ? 161.857 266.287 303.024 1.00 104.46 43 Bj 1 +ATOM 6 O OG . SER Q 17 43 ? 162.640 267.043 303.931 1.00 104.46 43 Bj 1 +ATOM 7 N N . PRO Q 17 44 ? 159.295 264.000 303.074 1.00 115.21 44 Bj 1 +ATOM 8 C CA . PRO Q 17 44 ? 158.333 263.328 302.193 1.00 115.21 44 Bj 1 +ATOM 9 C C . PRO Q 17 44 ? 157.997 264.188 300.984 1.00 115.21 44 Bj 1 +ATOM 10 O O . PRO Q 17 44 ? 157.754 265.392 301.099 1.00 115.21 44 Bj 1 +ATOM 11 C CB . PRO Q 17 44 ? 157.110 263.118 303.093 1.00 115.21 44 Bj 1 +ATOM 12 C CG . PRO Q 17 44 ? 157.236 264.161 304.150 1.00 115.21 44 Bj 1 +ATOM 13 C CD . PRO Q 17 44 ? 158.707 264.346 304.379 1.00 115.21 44 Bj 1 +ATOM 14 N N . TRP Q 17 45 ? 157.996 263.551 299.814 1.00 124.11 45 Bj 1 +ATOM 15 C CA . TRP Q 17 45 ? 157.732 264.221 298.549 1.00 124.11 45 Bj 1 +ATOM 16 C C . TRP Q 17 45 ? 156.706 263.430 297.755 1.00 124.11 45 Bj 1 +ATOM 17 O O . TRP Q 17 45 ? 156.918 262.249 297.460 1.00 124.11 45 Bj 1 +ATOM 18 C CB . TRP Q 17 45 ? 159.014 264.384 297.726 1.00 124.11 45 Bj 1 +ATOM 19 C CG . TRP Q 17 45 ? 159.872 265.522 298.174 1.00 124.11 45 Bj 1 +ATOM 20 C CD1 . TRP Q 17 45 ? 160.962 265.456 298.990 1.00 124.11 45 Bj 1 +ATOM 21 C CD2 . TRP Q 17 45 ? 159.709 266.903 297.831 1.00 124.11 45 Bj 1 +ATOM 22 N NE1 . TRP Q 17 45 ? 161.490 266.710 299.176 1.00 124.11 45 Bj 1 +ATOM 23 C CE2 . TRP Q 17 45 ? 160.738 267.616 298.475 1.00 124.11 45 Bj 1 +ATOM 24 C CE3 . TRP Q 17 45 ? 158.793 267.605 297.042 1.00 124.11 45 Bj 1 +ATOM 25 C CZ2 . TRP Q 17 45 ? 160.877 268.997 298.355 1.00 124.11 45 Bj 1 +ATOM 26 C CZ3 . TRP Q 17 45 ? 158.932 268.975 296.925 1.00 124.11 45 Bj 1 +ATOM 27 C CH2 . TRP Q 17 45 ? 159.966 269.656 297.577 1.00 124.11 45 Bj 1 +ATOM 28 N N . ARG Q 17 46 ? 155.602 264.083 297.413 1.00 135.34 46 Bj 1 +ATOM 29 C CA . ARG Q 17 46 ? 154.591 263.520 296.531 1.00 135.34 46 Bj 1 +ATOM 30 C C . ARG Q 17 46 ? 154.887 263.943 295.098 1.00 135.34 46 Bj 1 +ATOM 31 O O . ARG Q 17 46 ? 155.343 265.063 294.855 1.00 135.34 46 Bj 1 +ATOM 32 C CB . ARG Q 17 46 ? 153.191 263.983 296.943 1.00 135.34 46 Bj 1 +ATOM 33 C CG . ARG Q 17 46 ? 152.052 263.259 296.243 1.00 135.34 46 Bj 1 +ATOM 34 C CD . ARG Q 17 46 ? 150.703 263.776 296.723 1.00 135.34 46 Bj 1 +ATOM 35 N NE . ARG Q 17 46 ? 149.585 263.097 296.074 1.00 135.34 46 Bj 1 +ATOM 36 C CZ . ARG Q 17 46 ? 148.306 263.372 296.309 1.00 135.34 46 Bj 1 +ATOM 37 N NH1 . ARG Q 17 46 ? 147.977 264.316 297.180 1.00 135.34 46 Bj 1 +ATOM 38 N NH2 . ARG Q 17 46 ? 147.353 262.704 295.673 1.00 135.34 46 Bj 1 +ATOM 39 N N . LEU Q 17 47 ? 154.641 263.040 294.152 1.00 137.26 47 Bj 1 +ATOM 40 C CA . LEU Q 17 47 ? 154.910 263.296 292.743 1.00 137.26 47 Bj 1 +ATOM 41 C C . LEU Q 17 47 ? 153.644 263.057 291.937 1.00 137.26 47 Bj 1 +ATOM 42 O O . LEU Q 17 47 ? 152.955 262.053 292.143 1.00 137.26 47 Bj 1 +ATOM 43 C CB . LEU Q 17 47 ? 156.056 262.414 292.233 1.00 137.26 47 Bj 1 +ATOM 44 C CG . LEU Q 17 47 ? 156.329 261.107 292.986 1.00 137.26 47 Bj 1 +ATOM 45 C CD1 . LEU Q 17 47 ? 155.350 260.012 292.587 1.00 137.26 47 Bj 1 +ATOM 46 C CD2 . LEU Q 17 47 ? 157.766 260.652 292.776 1.00 137.26 47 Bj 1 +ATOM 47 N N . LEU Q 17 48 ? 153.331 263.982 291.030 1.00 138.18 48 Bj 1 +ATOM 48 C CA . LEU Q 17 48 ? 152.120 263.883 290.230 1.00 138.18 48 Bj 1 +ATOM 49 C C . LEU Q 17 48 ? 152.394 264.339 288.806 1.00 138.18 48 Bj 1 +ATOM 50 O O . LEU Q 17 48 ? 153.199 265.246 288.575 1.00 138.18 48 Bj 1 +ATOM 51 C CB . LEU Q 17 48 ? 150.977 264.725 290.818 1.00 138.18 48 Bj 1 +ATOM 52 C CG . LEU Q 17 48 ? 150.485 264.427 292.237 1.00 138.18 48 Bj 1 +ATOM 53 C CD1 . LEU Q 17 48 ? 151.283 265.210 293.269 1.00 138.18 48 Bj 1 +ATOM 54 C CD2 . LEU Q 17 48 ? 149.000 264.730 292.359 1.00 138.18 48 Bj 1 +ATOM 55 N N . GLY Q 17 49 ? 151.716 263.701 287.855 1.00 135.43 49 Bj 1 +ATOM 56 C CA . GLY Q 17 49 ? 151.707 264.149 286.482 1.00 135.43 49 Bj 1 +ATOM 57 C C . GLY Q 17 49 ? 150.384 264.812 286.131 1.00 135.43 49 Bj 1 +ATOM 58 O O . GLY Q 17 49 ? 149.360 264.601 286.775 1.00 135.43 49 Bj 1 +ATOM 59 N N . ALA Q 17 50 ? 150.428 265.639 285.090 1.00 130.02 50 Bj 1 +ATOM 60 C CA . ALA Q 17 50 ? 149.244 266.346 284.629 1.00 130.02 50 Bj 1 +ATOM 61 C C . ALA Q 17 50 ? 149.304 266.468 283.116 1.00 130.02 50 Bj 1 +ATOM 62 O O . ALA Q 17 50 ? 150.384 266.588 282.529 1.00 130.02 50 Bj 1 +ATOM 63 C CB . ALA Q 17 50 ? 149.121 267.730 285.275 1.00 130.02 50 Bj 1 +ATOM 64 N N . LEU Q 17 51 ? 148.131 266.439 282.491 1.00 127.85 51 Bj 1 +ATOM 65 C CA . LEU Q 17 51 ? 148.013 266.429 281.039 1.00 127.85 51 Bj 1 +ATOM 66 C C . LEU Q 17 51 ? 147.458 267.759 280.549 1.00 127.85 51 Bj 1 +ATOM 67 O O . LEU Q 17 51 ? 146.498 268.285 281.121 1.00 127.85 51 Bj 1 +ATOM 68 C CB . LEU Q 17 51 ? 147.117 265.280 280.572 1.00 127.85 51 Bj 1 +ATOM 69 C CG . LEU Q 17 51 ? 146.876 265.173 279.065 1.00 127.85 51 Bj 1 +ATOM 70 C CD1 . LEU Q 17 51 ? 148.194 265.030 278.321 1.00 127.85 51 Bj 1 +ATOM 71 C CD2 . LEU Q 17 51 ? 145.949 264.010 278.748 1.00 127.85 51 Bj 1 +ATOM 72 N N . CYS Q 17 52 ? 148.064 268.295 279.492 1.00 126.27 52 Bj 1 +ATOM 73 C CA . CYS Q 17 52 ? 147.580 269.488 278.806 1.00 126.27 52 Bj 1 +ATOM 74 C C . CYS Q 17 52 ? 147.282 269.077 277.369 1.00 126.27 52 Bj 1 +ATOM 75 O O . CYS Q 17 52 ? 148.176 269.073 276.517 1.00 126.27 52 Bj 1 +ATOM 76 C CB . CYS Q 17 52 ? 148.607 270.615 278.866 1.00 126.27 52 Bj 1 +ATOM 77 S SG . CYS Q 17 52 ? 149.201 271.004 280.527 1.00 126.27 52 Bj 1 +ATOM 78 N N . LEU Q 17 53 ? 146.033 268.707 277.107 1.00 117.88 53 Bj 1 +ATOM 79 C CA . LEU Q 17 53 ? 145.621 268.248 275.787 1.00 117.88 53 Bj 1 +ATOM 80 C C . LEU Q 17 53 ? 145.134 269.436 274.969 1.00 117.88 53 Bj 1 +ATOM 81 O O . LEU Q 17 53 ? 144.159 270.096 275.343 1.00 117.88 53 Bj 1 +ATOM 82 C CB . LEU Q 17 53 ? 144.526 267.191 275.898 1.00 117.88 53 Bj 1 +ATOM 83 C CG . LEU Q 17 53 ? 143.910 266.774 274.563 1.00 117.88 53 Bj 1 +ATOM 84 C CD1 . LEU Q 17 53 ? 144.958 266.142 273.659 1.00 117.88 53 Bj 1 +ATOM 85 C CD2 . LEU Q 17 53 ? 142.749 265.828 274.792 1.00 117.88 53 Bj 1 +ATOM 86 N N . GLN Q 17 54 ? 145.803 269.698 273.851 1.00 118.52 54 Bj 1 +ATOM 87 C CA . GLN Q 17 54 ? 145.488 270.830 272.992 1.00 118.52 54 Bj 1 +ATOM 88 C C . GLN Q 17 54 ? 144.817 270.326 271.723 1.00 118.52 54 Bj 1 +ATOM 89 O O . GLN Q 17 54 ? 145.391 269.510 270.993 1.00 118.52 54 Bj 1 +ATOM 90 C CB . GLN Q 17 54 ? 146.748 271.626 272.652 1.00 118.52 54 Bj 1 +ATOM 91 C CG . GLN Q 17 54 ? 147.464 272.202 273.860 1.00 118.52 54 Bj 1 +ATOM 92 C CD . GLN Q 17 54 ? 148.683 273.016 273.478 1.00 118.52 54 Bj 1 +ATOM 93 O OE1 . GLN Q 17 54 ? 148.961 273.222 272.297 1.00 118.52 54 Bj 1 +ATOM 94 N NE2 . GLN Q 17 54 ? 149.419 273.484 274.478 1.00 118.52 54 Bj 1 +ATOM 95 N N . ARG Q 17 55 ? 143.598 270.796 271.480 1.00 113.62 55 Bj 1 +ATOM 96 C CA . ARG Q 17 55 ? 142.952 270.625 270.189 1.00 113.62 55 Bj 1 +ATOM 97 C C . ARG Q 17 55 ? 143.238 271.852 269.337 1.00 113.62 55 Bj 1 +ATOM 98 O O . ARG Q 17 55 ? 142.879 272.968 269.740 1.00 113.62 55 Bj 1 +ATOM 99 C CB . ARG Q 17 55 ? 141.455 270.444 270.349 1.00 113.62 55 Bj 1 +ATOM 100 C CG . ARG Q 17 55 ? 140.733 270.185 269.037 1.00 113.62 55 Bj 1 +ATOM 101 C CD . ARG Q 17 55 ? 139.290 270.650 269.102 1.00 113.62 55 Bj 1 +ATOM 102 N NE . ARG Q 17 55 ? 139.013 271.693 268.119 1.00 113.62 55 Bj 1 +ATOM 103 C CZ . ARG Q 17 55 ? 139.321 272.974 268.284 1.00 113.62 55 Bj 1 +ATOM 104 N NH1 . ARG Q 17 55 ? 139.923 273.375 269.395 1.00 113.62 55 Bj 1 +ATOM 105 N NH2 . ARG Q 17 55 ? 139.032 273.855 267.337 1.00 113.62 55 Bj 1 +ATOM 106 N N . PRO Q 17 56 ? 143.874 271.703 268.180 1.00 114.98 56 Bj 1 +ATOM 107 C CA . PRO Q 17 56 ? 144.258 272.868 267.384 1.00 114.98 56 Bj 1 +ATOM 108 C C . PRO Q 17 56 ? 143.057 273.471 266.683 1.00 114.98 56 Bj 1 +ATOM 109 O O . PRO Q 17 56 ? 142.018 272.811 266.528 1.00 114.98 56 Bj 1 +ATOM 110 C CB . PRO Q 17 56 ? 145.255 272.283 266.375 1.00 114.98 56 Bj 1 +ATOM 111 C CG . PRO Q 17 56 ? 144.800 270.875 266.201 1.00 114.98 56 Bj 1 +ATOM 112 C CD . PRO Q 17 56 ? 144.288 270.438 267.549 1.00 114.98 56 Bj 1 +ATOM 113 N N . PRO Q 17 57 ? 143.156 274.726 266.247 1.00 116.15 57 Bj 1 +ATOM 114 C CA . PRO Q 17 57 ? 142.053 275.331 265.494 1.00 116.15 57 Bj 1 +ATOM 115 C C . PRO Q 17 57 ? 141.864 274.658 264.144 1.00 116.15 57 Bj 1 +ATOM 116 O O . PRO Q 17 57 ? 142.830 274.337 263.446 1.00 116.15 57 Bj 1 +ATOM 117 C CB . PRO Q 17 57 ? 142.492 276.791 265.334 1.00 116.15 57 Bj 1 +ATOM 118 C CG . PRO Q 17 57 ? 143.977 276.762 265.492 1.00 116.15 57 Bj 1 +ATOM 119 C CD . PRO Q 17 57 ? 144.251 275.681 266.490 1.00 116.15 57 Bj 1 +ATOM 120 N N . LEU Q 17 58 ? 140.600 274.449 263.778 1.00 116.27 58 Bj 1 +ATOM 121 C CA . LEU Q 17 58 ? 140.270 273.823 262.504 1.00 116.27 58 Bj 1 +ATOM 122 C C . LEU Q 17 58 ? 140.215 274.830 261.361 1.00 116.27 58 Bj 1 +ATOM 123 O O . LEU Q 17 58 ? 140.604 274.507 260.234 1.00 116.27 58 Bj 1 +ATOM 124 C CB . LEU Q 17 58 ? 138.934 273.084 262.609 1.00 116.27 58 Bj 1 +ATOM 125 C CG . LEU Q 17 58 ? 138.884 271.888 263.562 1.00 116.27 58 Bj 1 +ATOM 126 C CD1 . LEU Q 17 58 ? 137.503 271.254 263.554 1.00 116.27 58 Bj 1 +ATOM 127 C CD2 . LEU Q 17 58 ? 139.946 270.864 263.194 1.00 116.27 58 Bj 1 +ATOM 128 N N . VAL Q 17 59 ? 139.743 276.044 261.628 1.00 110.63 59 Bj 1 +ATOM 129 C CA . VAL Q 17 59 ? 139.613 277.074 260.606 1.00 110.63 59 Bj 1 +ATOM 130 C C . VAL Q 17 59 ? 140.674 278.138 260.846 1.00 110.63 59 Bj 1 +ATOM 131 O O . VAL Q 17 59 ? 141.190 278.295 261.959 1.00 110.63 59 Bj 1 +ATOM 132 C CB . VAL Q 17 59 ? 138.197 277.692 260.596 1.00 110.63 59 Bj 1 +ATOM 133 C CG1 . VAL Q 17 59 ? 138.060 278.749 261.681 1.00 110.63 59 Bj 1 +ATOM 134 C CG2 . VAL Q 17 59 ? 137.873 278.271 259.228 1.00 110.63 59 Bj 1 +ATOM 135 N N . THR Q 17 60 ? 141.010 278.864 259.784 1.00 105.54 60 Bj 1 +ATOM 136 C CA . THR Q 17 60 ? 142.011 279.914 259.869 1.00 105.54 60 Bj 1 +ATOM 137 C C . THR Q 17 60 ? 141.427 281.168 260.510 1.00 105.54 60 Bj 1 +ATOM 138 O O . THR Q 17 60 ? 140.245 281.483 260.349 1.00 105.54 60 Bj 1 +ATOM 139 C CB . THR Q 17 60 ? 142.562 280.246 258.481 1.00 105.54 60 Bj 1 +ATOM 140 O OG1 . THR Q 17 60 ? 143.384 281.417 258.558 1.00 105.54 60 Bj 1 +ATOM 141 C CG2 . THR Q 17 60 ? 141.426 280.489 257.498 1.00 105.54 60 Bj 1 +ATOM 142 N N . LYS Q 17 61 ? 142.275 281.882 261.244 1.00 98.53 61 Bj 1 +ATOM 143 C CA . LYS Q 17 61 ? 141.844 283.097 261.913 1.00 98.53 61 Bj 1 +ATOM 144 C C . LYS Q 17 61 ? 141.540 284.190 260.890 1.00 98.53 61 Bj 1 +ATOM 145 O O . LYS Q 17 61 ? 142.039 284.151 259.762 1.00 98.53 61 Bj 1 +ATOM 146 C CB . LYS Q 17 61 ? 142.918 283.578 262.886 1.00 98.53 61 Bj 1 +ATOM 147 C CG . LYS Q 17 61 ? 143.171 282.633 264.046 1.00 98.53 61 Bj 1 +ATOM 148 C CD . LYS Q 17 61 ? 144.091 283.258 265.081 1.00 98.53 61 Bj 1 +ATOM 149 C CE . LYS Q 17 61 ? 144.264 282.348 266.288 1.00 98.53 61 Bj 1 +ATOM 150 N NZ . LYS Q 17 61 ? 145.130 282.959 267.333 1.00 98.53 61 Bj 1 +ATOM 151 N N . PRO Q 17 62 ? 140.716 285.171 261.253 1.00 97.74 62 Bj 1 +ATOM 152 C CA . PRO Q 17 62 ? 140.458 286.288 260.340 1.00 97.74 62 Bj 1 +ATOM 153 C C . PRO Q 17 62 ? 141.703 287.136 260.133 1.00 97.74 62 Bj 1 +ATOM 154 O O . PRO Q 17 62 ? 142.668 287.080 260.898 1.00 97.74 62 Bj 1 +ATOM 155 C CB . PRO Q 17 62 ? 139.357 287.083 261.049 1.00 97.74 62 Bj 1 +ATOM 156 C CG . PRO Q 17 62 ? 139.506 286.725 262.488 1.00 97.74 62 Bj 1 +ATOM 157 C CD . PRO Q 17 62 ? 139.933 285.287 262.495 1.00 97.74 62 Bj 1 +ATOM 158 N N . LEU Q 17 63 ? 141.667 287.934 259.071 1.00 100.40 63 Bj 1 +ATOM 159 C CA . LEU Q 17 63 ? 142.797 288.761 258.672 1.00 100.40 63 Bj 1 +ATOM 160 C C . LEU Q 17 63 ? 142.618 290.179 259.198 1.00 100.40 63 Bj 1 +ATOM 161 O O . LEU Q 17 63 ? 141.553 290.781 259.027 1.00 100.40 63 Bj 1 +ATOM 162 C CB . LEU Q 17 63 ? 142.946 288.779 257.150 1.00 100.40 63 Bj 1 +ATOM 163 C CG . LEU Q 17 63 ? 143.056 287.411 256.475 1.00 100.40 63 Bj 1 +ATOM 164 C CD1 . LEU Q 17 63 ? 143.238 287.556 254.972 1.00 100.40 63 Bj 1 +ATOM 165 C CD2 . LEU Q 17 63 ? 144.195 286.614 257.080 1.00 100.40 63 Bj 1 +ATOM 166 N N . THR Q 17 64 ? 143.657 290.697 259.845 1.00 107.97 64 Bj 1 +ATOM 167 C CA . THR Q 17 64 ? 143.667 292.093 260.253 1.00 107.97 64 Bj 1 +ATOM 168 C C . THR Q 17 64 ? 143.516 292.982 259.019 1.00 107.97 64 Bj 1 +ATOM 169 O O . THR Q 17 64 ? 144.073 292.666 257.964 1.00 107.97 64 Bj 1 +ATOM 170 C CB . THR Q 17 64 ? 144.974 292.410 260.987 1.00 107.97 64 Bj 1 +ATOM 171 O OG1 . THR Q 17 64 ? 145.120 291.524 262.105 1.00 107.97 64 Bj 1 +ATOM 172 C CG2 . THR Q 17 64 ? 145.005 293.848 261.485 1.00 107.97 64 Bj 1 +ATOM 173 N N . PRO Q 17 65 ? 142.750 294.076 259.102 1.00 107.81 65 Bj 1 +ATOM 174 C CA . PRO Q 17 65 ? 142.603 294.962 257.932 1.00 107.81 65 Bj 1 +ATOM 175 C C . PRO Q 17 65 ? 143.921 295.427 257.333 1.00 107.81 65 Bj 1 +ATOM 176 O O . PRO Q 17 65 ? 144.005 295.621 256.112 1.00 107.81 65 Bj 1 +ATOM 177 C CB . PRO Q 17 65 ? 141.785 296.141 258.486 1.00 107.81 65 Bj 1 +ATOM 178 C CG . PRO Q 17 65 ? 141.775 295.966 259.988 1.00 107.81 65 Bj 1 +ATOM 179 C CD . PRO Q 17 65 ? 141.881 294.498 260.212 1.00 107.81 65 Bj 1 +ATOM 180 N N . LEU Q 17 66 ? 144.958 295.608 258.152 1.00 108.37 66 Bj 1 +ATOM 181 C CA . LEU Q 17 66 ? 146.280 295.907 257.613 1.00 108.37 66 Bj 1 +ATOM 182 C C . LEU Q 17 66 ? 146.764 294.776 256.714 1.00 108.37 66 Bj 1 +ATOM 183 O O . LEU Q 17 66 ? 147.264 295.010 255.605 1.00 108.37 66 Bj 1 +ATOM 184 C CB . LEU Q 17 66 ? 147.261 296.150 258.760 1.00 108.37 66 Bj 1 +ATOM 185 C CG . LEU Q 17 66 ? 148.674 296.601 258.394 1.00 108.37 66 Bj 1 +ATOM 186 C CD1 . LEU Q 17 66 ? 148.637 297.948 257.693 1.00 108.37 66 Bj 1 +ATOM 187 C CD2 . LEU Q 17 66 ? 149.550 296.661 259.635 1.00 108.37 66 Bj 1 +ATOM 188 N N . GLN Q 17 67 ? 146.602 293.533 257.172 1.00 108.81 67 Bj 1 +ATOM 189 C CA . GLN Q 17 67 ? 146.992 292.387 256.360 1.00 108.81 67 Bj 1 +ATOM 190 C C . GLN Q 17 67 ? 146.109 292.247 255.126 1.00 108.81 67 Bj 1 +ATOM 191 O O . GLN Q 17 67 ? 146.569 291.758 254.091 1.00 108.81 67 Bj 1 +ATOM 192 C CB . GLN Q 17 67 ? 146.951 291.114 257.204 1.00 108.81 67 Bj 1 +ATOM 193 C CG . GLN Q 17 67 ? 147.901 291.140 258.391 1.00 108.81 67 Bj 1 +ATOM 194 C CD . GLN Q 17 67 ? 148.113 289.770 259.002 1.00 108.81 67 Bj 1 +ATOM 195 O OE1 . GLN Q 17 67 ? 147.728 288.754 258.424 1.00 108.81 67 Bj 1 +ATOM 196 N NE2 . GLN Q 17 67 ? 148.730 289.735 260.177 1.00 108.81 67 Bj 1 +ATOM 197 N N . GLU Q 17 68 ? 144.851 292.683 255.209 1.00 110.89 68 Bj 1 +ATOM 198 C CA . GLU Q 17 68 ? 143.985 292.678 254.034 1.00 110.89 68 Bj 1 +ATOM 199 C C . GLU Q 17 68 ? 144.476 293.670 252.987 1.00 110.89 68 Bj 1 +ATOM 200 O O . GLU Q 17 68 ? 144.512 293.356 251.791 1.00 110.89 68 Bj 1 +ATOM 201 C CB . GLU Q 17 68 ? 142.545 292.997 254.438 1.00 110.89 68 Bj 1 +ATOM 202 C CG . GLU Q 17 68 ? 141.839 291.878 255.186 1.00 110.89 68 Bj 1 +ATOM 203 C CD . GLU Q 17 68 ? 141.367 290.766 254.268 1.00 110.89 68 Bj 1 +ATOM 204 O OE1 . GLU Q 17 68 ? 141.481 290.917 253.034 1.00 110.89 68 Bj 1 +ATOM 205 O OE2 . GLU Q 17 68 ? 140.877 289.740 254.783 1.00 110.89 68 Bj 1 +ATOM 206 N N . GLU Q 17 69 ? 144.845 294.877 253.421 1.00 119.08 69 Bj 1 +ATOM 207 C CA . GLU Q 17 69 ? 145.448 295.841 252.506 1.00 119.08 69 Bj 1 +ATOM 208 C C . GLU Q 17 69 ? 146.723 295.281 251.888 1.00 119.08 69 Bj 1 +ATOM 209 O O . GLU Q 17 69 ? 146.964 295.440 250.684 1.00 119.08 69 Bj 1 +ATOM 210 C CB . GLU Q 17 69 ? 145.744 297.150 253.237 1.00 119.08 69 Bj 1 +ATOM 211 C CG . GLU Q 17 69 ? 144.526 297.820 253.844 1.00 119.08 69 Bj 1 +ATOM 212 C CD . GLU Q 17 69 ? 144.878 299.094 254.586 1.00 119.08 69 Bj 1 +ATOM 213 O OE1 . GLU Q 17 69 ? 146.016 299.584 254.422 1.00 119.08 69 Bj 1 +ATOM 214 O OE2 . GLU Q 17 69 ? 144.018 299.605 255.334 1.00 119.08 69 Bj 1 +ATOM 215 N N . MET Q 17 70 ? 147.551 294.620 252.702 1.00 119.12 70 Bj 1 +ATOM 216 C CA . MET Q 17 70 ? 148.786 294.039 252.184 1.00 119.12 70 Bj 1 +ATOM 217 C C . MET Q 17 70 ? 148.499 292.952 251.153 1.00 119.12 70 Bj 1 +ATOM 218 O O . MET Q 17 70 ? 149.177 292.872 250.123 1.00 119.12 70 Bj 1 +ATOM 219 C CB . MET Q 17 70 ? 149.628 293.487 253.335 1.00 119.12 70 Bj 1 +ATOM 220 C CG . MET Q 17 70 ? 150.879 292.746 252.892 1.00 119.12 70 Bj 1 +ATOM 221 S SD . MET Q 17 70 ? 151.859 293.670 251.693 1.00 119.12 70 Bj 1 +ATOM 222 C CE . MET Q 17 70 ? 152.198 295.174 252.604 1.00 119.12 70 Bj 1 +ATOM 223 N N . ALA Q 17 71 ? 147.494 292.112 251.408 1.00 117.23 71 Bj 1 +ATOM 224 C CA . ALA Q 17 71 ? 147.151 291.056 250.461 1.00 117.23 71 Bj 1 +ATOM 225 C C . ALA Q 17 71 ? 146.601 291.635 249.164 1.00 117.23 71 Bj 1 +ATOM 226 O O . ALA Q 17 71 ? 146.901 291.130 248.075 1.00 117.23 71 Bj 1 +ATOM 227 C CB . ALA Q 17 71 ? 146.146 290.093 251.089 1.00 117.23 71 Bj 1 +ATOM 228 N N . ASP Q 17 72 ? 145.790 292.690 249.260 1.00 117.37 72 Bj 1 +ATOM 229 C CA . ASP Q 17 72 ? 145.300 293.360 248.060 1.00 117.37 72 Bj 1 +ATOM 230 C C . ASP Q 17 72 ? 146.459 293.920 247.245 1.00 117.37 72 Bj 1 +ATOM 231 O O . ASP Q 17 72 ? 146.511 293.759 246.020 1.00 117.37 72 Bj 1 +ATOM 232 C CB . ASP Q 17 72 ? 144.317 294.468 248.446 1.00 117.37 72 Bj 1 +ATOM 233 C CG . ASP Q 17 72 ? 143.468 294.941 247.276 1.00 117.37 72 Bj 1 +ATOM 234 O OD1 . ASP Q 17 72 ? 143.969 294.974 246.132 1.00 117.37 72 Bj 1 +ATOM 235 O OD2 . ASP Q 17 72 ? 142.289 295.283 247.504 1.00 117.37 72 Bj 1 +ATOM 236 N N . LEU Q 17 73 ? 147.405 294.580 247.919 1.00 119.96 73 Bj 1 +ATOM 237 C CA . LEU Q 17 73 ? 148.572 295.115 247.226 1.00 119.96 73 Bj 1 +ATOM 238 C C . LEU Q 17 73 ? 149.385 294.005 246.571 1.00 119.96 73 Bj 1 +ATOM 239 O O . LEU Q 17 73 ? 149.873 294.161 245.443 1.00 119.96 73 Bj 1 +ATOM 240 C CB . LEU Q 17 73 ? 149.436 295.910 248.205 1.00 119.96 73 Bj 1 +ATOM 241 C CG . LEU Q 17 73 ? 150.798 296.368 247.685 1.00 119.96 73 Bj 1 +ATOM 242 C CD1 . LEU Q 17 73 ? 150.633 297.215 246.438 1.00 119.96 73 Bj 1 +ATOM 243 C CD2 . LEU Q 17 73 ? 151.550 297.134 248.760 1.00 119.96 73 Bj 1 +ATOM 244 N N . LEU Q 17 74 ? 149.546 292.877 247.266 1.00 118.44 74 Bj 1 +ATOM 245 C CA . LEU Q 17 74 ? 150.309 291.766 246.709 1.00 118.44 74 Bj 1 +ATOM 246 C C . LEU Q 17 74 ? 149.627 291.192 245.476 1.00 118.44 74 Bj 1 +ATOM 247 O O . LEU Q 17 74 ? 150.288 290.911 244.472 1.00 118.44 74 Bj 1 +ATOM 248 C CB . LEU Q 17 74 ? 150.513 290.683 247.766 1.00 118.44 74 Bj 1 +ATOM 249 C CG . LEU Q 17 74 ? 151.495 291.024 248.888 1.00 118.44 74 Bj 1 +ATOM 250 C CD1 . LEU Q 17 74 ? 151.535 289.909 249.915 1.00 118.44 74 Bj 1 +ATOM 251 C CD2 . LEU Q 17 74 ? 152.883 291.289 248.326 1.00 118.44 74 Bj 1 +ATOM 252 N N . GLN Q 17 75 ? 148.305 291.017 245.529 1.00 121.57 75 Bj 1 +ATOM 253 C CA . GLN Q 17 75 ? 147.584 290.533 244.356 1.00 121.57 75 Bj 1 +ATOM 254 C C . GLN Q 17 75 ? 147.705 291.512 243.195 1.00 121.57 75 Bj 1 +ATOM 255 O O . GLN Q 17 75 ? 147.891 291.101 242.042 1.00 121.57 75 Bj 1 +ATOM 256 C CB . GLN Q 17 75 ? 146.116 290.286 244.704 1.00 121.57 75 Bj 1 +ATOM 257 C CG . GLN Q 17 75 ? 145.881 289.058 245.568 1.00 121.57 75 Bj 1 +ATOM 258 C CD . GLN Q 17 75 ? 146.176 287.763 244.836 1.00 121.57 75 Bj 1 +ATOM 259 O OE1 . GLN Q 17 75 ? 146.161 287.713 243.606 1.00 121.57 75 Bj 1 +ATOM 260 N NE2 . GLN Q 17 75 ? 146.449 286.705 245.592 1.00 121.57 75 Bj 1 +ATOM 261 N N . GLN Q 17 76 ? 147.617 292.813 243.483 1.00 121.41 76 Bj 1 +ATOM 262 C CA . GLN Q 17 76 ? 147.734 293.811 242.425 1.00 121.41 76 Bj 1 +ATOM 263 C C . GLN Q 17 76 ? 149.103 293.751 241.760 1.00 121.41 76 Bj 1 +ATOM 264 O O . GLN Q 17 76 ? 149.204 293.703 240.529 1.00 121.41 76 Bj 1 +ATOM 265 C CB . GLN Q 17 76 ? 147.468 295.209 242.984 1.00 121.41 76 Bj 1 +ATOM 266 C CG . GLN Q 17 76 ? 146.016 295.474 243.336 1.00 121.41 76 Bj 1 +ATOM 267 C CD . GLN Q 17 76 ? 145.782 296.899 243.795 1.00 121.41 76 Bj 1 +ATOM 268 O OE1 . GLN Q 17 76 ? 146.644 297.764 243.637 1.00 121.41 76 Bj 1 +ATOM 269 N NE2 . GLN Q 17 76 ? 144.612 297.151 244.370 1.00 121.41 76 Bj 1 +ATOM 270 N N . ILE Q 17 77 ? 150.173 293.743 242.560 1.00 121.50 77 Bj 1 +ATOM 271 C CA . ILE Q 17 77 ? 151.509 293.737 241.969 1.00 121.50 77 Bj 1 +ATOM 272 C C . ILE Q 17 77 ? 151.794 292.406 241.283 1.00 121.50 77 Bj 1 +ATOM 273 O O . ILE Q 17 77 ? 152.530 292.360 240.289 1.00 121.50 77 Bj 1 +ATOM 274 C CB . ILE Q 17 77 ? 152.579 294.076 243.026 1.00 121.50 77 Bj 1 +ATOM 275 C CG1 . ILE Q 17 77 ? 152.598 293.031 244.141 1.00 121.50 77 Bj 1 +ATOM 276 C CG2 . ILE Q 17 77 ? 152.341 295.466 243.594 1.00 121.50 77 Bj 1 +ATOM 277 C CD1 . ILE Q 17 77 ? 153.596 293.329 245.239 1.00 121.50 77 Bj 1 +ATOM 278 N N . GLU Q 17 78 ? 151.203 291.311 241.770 1.00 127.63 78 Bj 1 +ATOM 279 C CA . GLU Q 17 78 ? 151.360 290.022 241.105 1.00 127.63 78 Bj 1 +ATOM 280 C C . GLU Q 17 78 ? 150.720 290.042 239.724 1.00 127.63 78 Bj 1 +ATOM 281 O O . GLU Q 17 78 ? 151.334 289.616 238.738 1.00 127.63 78 Bj 1 +ATOM 282 C CB . GLU Q 17 78 ? 150.751 288.916 241.968 1.00 127.63 78 Bj 1 +ATOM 283 C CG . GLU Q 17 78 ? 150.750 287.538 241.324 1.00 127.63 78 Bj 1 +ATOM 284 C CD . GLU Q 17 78 ? 149.964 286.520 242.129 1.00 127.63 78 Bj 1 +ATOM 285 O OE1 . GLU Q 17 78 ? 149.341 286.910 243.139 1.00 127.63 78 Bj 1 +ATOM 286 O OE2 . GLU Q 17 78 ? 149.967 285.329 241.753 1.00 127.63 78 Bj 1 +ATOM 287 N N . ILE Q 17 79 ? 149.483 290.539 239.634 1.00 128.89 79 Bj 1 +ATOM 288 C CA . ILE Q 17 79 ? 148.823 290.642 238.336 1.00 128.89 79 Bj 1 +ATOM 289 C C . ILE Q 17 79 ? 149.572 291.607 237.426 1.00 128.89 79 Bj 1 +ATOM 290 O O . ILE Q 17 79 ? 149.639 291.400 236.208 1.00 128.89 79 Bj 1 +ATOM 291 C CB . ILE Q 17 79 ? 147.349 291.057 238.519 1.00 128.89 79 Bj 1 +ATOM 292 C CG1 . ILE Q 17 79 ? 146.601 290.011 239.349 1.00 128.89 79 Bj 1 +ATOM 293 C CG2 . ILE Q 17 79 ? 146.667 291.245 237.171 1.00 128.89 79 Bj 1 +ATOM 294 C CD1 . ILE Q 17 79 ? 145.159 290.370 239.635 1.00 128.89 79 Bj 1 +ATOM 295 N N . GLU Q 17 80 ? 150.159 292.661 237.996 1.00 120.51 80 Bj 1 +ATOM 296 C CA . GLU Q 17 80 ? 150.899 293.625 237.187 1.00 120.51 80 Bj 1 +ATOM 297 C C . GLU Q 17 80 ? 152.154 292.998 236.589 1.00 120.51 80 Bj 1 +ATOM 298 O O . GLU Q 17 80 ? 152.403 293.116 235.384 1.00 120.51 80 Bj 1 +ATOM 299 C CB . GLU Q 17 80 ? 151.254 294.849 238.029 1.00 120.51 80 Bj 1 +ATOM 300 C CG . GLU Q 17 80 ? 150.076 295.764 238.317 1.00 120.51 80 Bj 1 +ATOM 301 C CD . GLU Q 17 80 ? 150.361 296.745 239.436 1.00 120.51 80 Bj 1 +ATOM 302 O OE1 . GLU Q 17 80 ? 151.384 296.573 240.132 1.00 120.51 80 Bj 1 +ATOM 303 O OE2 . GLU Q 17 80 ? 149.562 297.686 239.621 1.00 120.51 80 Bj 1 +ATOM 304 N N . ARG Q 17 81 ? 152.958 292.327 237.415 1.00 127.65 81 Bj 1 +ATOM 305 C CA . ARG Q 17 81 ? 154.175 291.694 236.924 1.00 127.65 81 Bj 1 +ATOM 306 C C . ARG Q 17 81 ? 153.910 290.416 236.139 1.00 127.65 81 Bj 1 +ATOM 307 O O . ARG Q 17 81 ? 154.830 289.913 235.485 1.00 127.65 81 Bj 1 +ATOM 308 C CB . ARG Q 17 81 ? 155.125 291.390 238.086 1.00 127.65 81 Bj 1 +ATOM 309 C CG . ARG Q 17 81 ? 155.793 292.620 238.677 1.00 127.65 81 Bj 1 +ATOM 310 C CD . ARG Q 17 81 ? 156.934 292.237 239.606 1.00 127.65 81 Bj 1 +ATOM 311 N NE . ARG Q 17 81 ? 157.606 293.409 240.160 1.00 127.65 81 Bj 1 +ATOM 312 C CZ . ARG Q 17 81 ? 158.686 293.357 240.933 1.00 127.65 81 Bj 1 +ATOM 313 N NH1 . ARG Q 17 81 ? 159.223 292.186 241.246 1.00 127.65 81 Bj 1 +ATOM 314 N NH2 . ARG Q 17 81 ? 159.230 294.475 241.393 1.00 127.65 81 Bj 1 +ATOM 315 N N . SER Q 17 82 ? 152.693 289.881 236.188 1.00 132.55 82 Bj 1 +ATOM 316 C CA . SER Q 17 82 ? 152.370 288.695 235.409 1.00 132.55 82 Bj 1 +ATOM 317 C C . SER Q 17 82 ? 152.400 289.006 233.917 1.00 132.55 82 Bj 1 +ATOM 318 O O . SER Q 17 82 ? 152.138 290.132 233.487 1.00 132.55 82 Bj 1 +ATOM 319 C CB . SER Q 17 82 ? 150.995 288.155 235.799 1.00 132.55 82 Bj 1 +ATOM 320 O OG . SER Q 17 82 ? 150.618 287.084 234.953 1.00 132.55 82 Bj 1 +ATOM 321 N N . LEU Q 17 83 ? 152.726 287.986 233.123 1.00 141.40 83 Bj 1 +ATOM 322 C CA . LEU Q 17 83 ? 152.784 288.167 231.677 1.00 141.40 83 Bj 1 +ATOM 323 C C . LEU Q 17 83 ? 151.391 288.102 231.062 1.00 141.40 83 Bj 1 +ATOM 324 O O . LEU Q 17 83 ? 150.906 289.086 230.495 1.00 141.40 83 Bj 1 +ATOM 325 C CB . LEU Q 17 83 ? 153.703 287.117 231.046 1.00 141.40 83 Bj 1 +ATOM 326 C CG . LEU Q 17 83 ? 155.217 287.359 231.080 1.00 141.40 83 Bj 1 +ATOM 327 C CD1 . LEU Q 17 83 ? 155.777 287.271 232.494 1.00 141.40 83 Bj 1 +ATOM 328 C CD2 . LEU Q 17 83 ? 155.934 286.382 230.159 1.00 141.40 83 Bj 1 +ATOM 329 N N . TYR Q 17 84 ? 150.729 286.953 231.185 1.00 138.40 84 Bj 1 +ATOM 330 C CA . TYR Q 17 84 ? 149.374 286.749 230.687 1.00 138.40 84 Bj 1 +ATOM 331 C C . TYR Q 17 84 ? 148.911 285.361 231.099 1.00 138.40 84 Bj 1 +ATOM 332 O O . TYR Q 17 84 ? 149.722 284.476 231.384 1.00 138.40 84 Bj 1 +ATOM 333 C CB . TYR Q 17 84 ? 149.286 286.904 229.164 1.00 138.40 84 Bj 1 +ATOM 334 C CG . TYR Q 17 84 ? 148.728 288.236 228.722 1.00 138.40 84 Bj 1 +ATOM 335 C CD1 . TYR Q 17 84 ? 147.825 288.929 229.517 1.00 138.40 84 Bj 1 +ATOM 336 C CD2 . TYR Q 17 84 ? 149.110 288.805 227.515 1.00 138.40 84 Bj 1 +ATOM 337 C CE1 . TYR Q 17 84 ? 147.313 290.147 229.120 1.00 138.40 84 Bj 1 +ATOM 338 C CE2 . TYR Q 17 84 ? 148.604 290.023 227.109 1.00 138.40 84 Bj 1 +ATOM 339 C CZ . TYR Q 17 84 ? 147.706 290.690 227.916 1.00 138.40 84 Bj 1 +ATOM 340 O OH . TYR Q 17 84 ? 147.198 291.905 227.517 1.00 138.40 84 Bj 1 +ATOM 341 N N . SER Q 17 85 ? 147.594 285.185 231.119 1.00 142.26 85 Bj 1 +ATOM 342 C CA . SER Q 17 85 ? 146.972 283.899 231.385 1.00 142.26 85 Bj 1 +ATOM 343 C C . SER Q 17 85 ? 146.297 283.383 230.122 1.00 142.26 85 Bj 1 +ATOM 344 O O . SER Q 17 85 ? 145.916 284.154 229.237 1.00 142.26 85 Bj 1 +ATOM 345 C CB . SER Q 17 85 ? 145.951 284.005 232.523 1.00 142.26 85 Bj 1 +ATOM 346 O OG . SER Q 17 85 ? 145.350 282.749 232.786 1.00 142.26 85 Bj 1 +ATOM 347 N N . ASP Q 17 86 ? 146.159 282.058 230.045 1.00 146.76 86 Bj 1 +ATOM 348 C CA . ASP Q 17 86 ? 145.513 281.453 228.884 1.00 146.76 86 Bj 1 +ATOM 349 C C . ASP Q 17 86 ? 144.067 281.911 228.760 1.00 146.76 86 Bj 1 +ATOM 350 O O . ASP Q 17 86 ? 143.592 282.202 227.656 1.00 146.76 86 Bj 1 +ATOM 351 C CB . ASP Q 17 86 ? 145.586 279.929 228.976 1.00 146.76 86 Bj 1 +ATOM 352 C CG . ASP Q 17 86 ? 147.009 279.410 228.939 1.00 146.76 86 Bj 1 +ATOM 353 O OD1 . ASP Q 17 86 ? 147.939 280.227 228.775 1.00 146.76 86 Bj 1 +ATOM 354 O OD2 . ASP Q 17 86 ? 147.198 278.182 229.073 1.00 146.76 86 Bj 1 +ATOM 355 N N . HIS Q 17 87 ? 143.355 281.991 229.886 1.00 143.58 87 Bj 1 +ATOM 356 C CA . HIS Q 17 87 ? 141.955 282.403 229.864 1.00 143.58 87 Bj 1 +ATOM 357 C C . HIS Q 17 87 ? 141.808 283.826 229.339 1.00 143.58 87 Bj 1 +ATOM 358 O O . HIS Q 17 87 ? 141.013 284.086 228.428 1.00 143.58 87 Bj 1 +ATOM 359 C CB . HIS Q 17 87 ? 141.361 282.274 231.266 1.00 143.58 87 Bj 1 +ATOM 360 C CG . HIS Q 17 87 ? 139.966 282.801 231.387 1.00 143.58 87 Bj 1 +ATOM 361 N ND1 . HIS Q 17 87 ? 138.892 282.220 230.748 1.00 143.58 87 Bj 1 +ATOM 362 C CD2 . HIS Q 17 87 ? 139.468 283.854 232.078 1.00 143.58 87 Bj 1 +ATOM 363 C CE1 . HIS Q 17 87 ? 137.793 282.893 231.039 1.00 143.58 87 Bj 1 +ATOM 364 N NE2 . HIS Q 17 87 ? 138.115 283.889 231.844 1.00 143.58 87 Bj 1 +ATOM 365 N N . GLU Q 17 88 ? 142.573 284.764 229.906 1.00 144.20 88 Bj 1 +ATOM 366 C CA . GLU Q 17 88 ? 142.496 286.152 229.463 1.00 144.20 88 Bj 1 +ATOM 367 C C . GLU Q 17 88 ? 142.938 286.295 228.013 1.00 144.20 88 Bj 1 +ATOM 368 O O . GLU Q 17 88 ? 142.350 287.073 227.251 1.00 144.20 88 Bj 1 +ATOM 369 C CB . GLU Q 17 88 ? 143.348 287.040 230.370 1.00 144.20 88 Bj 1 +ATOM 370 C CG . GLU Q 17 88 ? 142.916 287.043 231.827 1.00 144.20 88 Bj 1 +ATOM 371 C CD . GLU Q 17 88 ? 141.589 287.744 232.044 1.00 144.20 88 Bj 1 +ATOM 372 O OE1 . GLU Q 17 88 ? 141.201 288.571 231.193 1.00 144.20 88 Bj 1 +ATOM 373 O OE2 . GLU Q 17 88 ? 140.932 287.466 233.070 1.00 144.20 88 Bj 1 +ATOM 374 N N . LEU Q 17 89 ? 143.972 285.551 227.614 1.00 150.45 89 Bj 1 +ATOM 375 C CA . LEU Q 17 89 ? 144.455 285.625 226.240 1.00 150.45 89 Bj 1 +ATOM 376 C C . LEU Q 17 89 ? 143.384 285.161 225.263 1.00 150.45 89 Bj 1 +ATOM 377 O O . LEU Q 17 89 ? 143.108 285.834 224.263 1.00 150.45 89 Bj 1 +ATOM 378 C CB . LEU Q 17 89 ? 145.732 284.795 226.090 1.00 150.45 89 Bj 1 +ATOM 379 C CG . LEU Q 17 89 ? 146.537 284.942 224.794 1.00 150.45 89 Bj 1 +ATOM 380 C CD1 . LEU Q 17 89 ? 148.022 284.792 225.081 1.00 150.45 89 Bj 1 +ATOM 381 C CD2 . LEU Q 17 89 ? 146.100 283.926 223.748 1.00 150.45 89 Bj 1 +ATOM 382 N N . ARG Q 17 90 ? 142.765 284.008 225.537 1.00 152.73 90 Bj 1 +ATOM 383 C CA . ARG Q 17 90 ? 141.701 283.518 224.667 1.00 152.73 90 Bj 1 +ATOM 384 C C . ARG Q 17 90 ? 140.519 284.478 224.647 1.00 152.73 90 Bj 1 +ATOM 385 O O . ARG Q 17 90 ? 139.922 284.715 223.590 1.00 152.73 90 Bj 1 +ATOM 386 C CB . ARG Q 17 90 ? 141.249 282.128 225.114 1.00 152.73 90 Bj 1 +ATOM 387 C CG . ARG Q 17 90 ? 142.304 281.042 224.985 1.00 152.73 90 Bj 1 +ATOM 388 C CD . ARG Q 17 90 ? 141.785 279.721 225.532 1.00 152.73 90 Bj 1 +ATOM 389 N NE . ARG Q 17 90 ? 142.813 278.685 225.563 1.00 152.73 90 Bj 1 +ATOM 390 C CZ . ARG Q 17 90 ? 142.621 277.456 226.032 1.00 152.73 90 Bj 1 +ATOM 391 N NH1 . ARG Q 17 90 ? 141.435 277.105 226.511 1.00 152.73 90 Bj 1 +ATOM 392 N NH2 . ARG Q 17 90 ? 143.613 276.577 226.022 1.00 152.73 90 Bj 1 +ATOM 393 N N . ALA Q 17 91 ? 140.174 285.051 225.804 1.00 151.16 91 Bj 1 +ATOM 394 C CA . ALA Q 17 91 ? 139.046 285.974 225.863 1.00 151.16 91 Bj 1 +ATOM 395 C C . ALA Q 17 91 ? 139.295 287.204 225.000 1.00 151.16 91 Bj 1 +ATOM 396 O O . ALA Q 17 91 ? 138.448 287.586 224.184 1.00 151.16 91 Bj 1 +ATOM 397 C CB . ALA Q 17 91 ? 138.774 286.377 227.313 1.00 151.16 91 Bj 1 +ATOM 398 N N . LEU Q 17 92 ? 140.462 287.836 225.160 1.00 153.35 92 Bj 1 +ATOM 399 C CA . LEU Q 17 92 ? 140.757 289.032 224.378 1.00 153.35 92 Bj 1 +ATOM 400 C C . LEU Q 17 92 ? 140.911 288.700 222.898 1.00 153.35 92 Bj 1 +ATOM 401 O O . LEU Q 17 92 ? 140.504 289.488 222.035 1.00 153.35 92 Bj 1 +ATOM 402 C CB . LEU Q 17 92 ? 142.008 289.729 224.920 1.00 153.35 92 Bj 1 +ATOM 403 C CG . LEU Q 17 92 ? 143.367 289.021 224.908 1.00 153.35 92 Bj 1 +ATOM 404 C CD1 . LEU Q 17 92 ? 144.128 289.267 223.608 1.00 153.35 92 Bj 1 +ATOM 405 C CD2 . LEU Q 17 92 ? 144.198 289.456 226.107 1.00 153.35 92 Bj 1 +ATOM 406 N N . ASP Q 17 93 ? 141.477 287.531 222.583 1.00 158.04 93 Bj 1 +ATOM 407 C CA . ASP Q 17 93 ? 141.618 287.134 221.188 1.00 158.04 93 Bj 1 +ATOM 408 C C . ASP Q 17 93 ? 140.259 286.958 220.528 1.00 158.04 93 Bj 1 +ATOM 409 O O . ASP Q 17 93 ? 140.031 287.459 219.422 1.00 158.04 93 Bj 1 +ATOM 410 C CB . ASP Q 17 93 ? 142.435 285.845 221.091 1.00 158.04 93 Bj 1 +ATOM 411 C CG . ASP Q 17 93 ? 142.537 285.325 219.671 1.00 158.04 93 Bj 1 +ATOM 412 O OD1 . ASP Q 17 93 ? 143.236 285.958 218.852 1.00 158.04 93 Bj 1 +ATOM 413 O OD2 . ASP Q 17 93 ? 141.915 284.283 219.372 1.00 158.04 93 Bj 1 +ATOM 414 N N . GLU Q 17 94 ? 139.338 286.257 221.195 1.00 152.75 94 Bj 1 +ATOM 415 C CA . GLU Q 17 94 ? 138.009 286.061 220.624 1.00 152.75 94 Bj 1 +ATOM 416 C C . GLU Q 17 94 ? 137.242 287.374 220.544 1.00 152.75 94 Bj 1 +ATOM 417 O O . GLU Q 17 94 ? 136.508 287.609 219.576 1.00 152.75 94 Bj 1 +ATOM 418 C CB . GLU Q 17 94 ? 137.232 285.028 221.439 1.00 152.75 94 Bj 1 +ATOM 419 C CG . GLU Q 17 94 ? 137.821 283.622 221.404 1.00 152.75 94 Bj 1 +ATOM 420 C CD . GLU Q 17 94 ? 137.812 283.008 220.014 1.00 152.75 94 Bj 1 +ATOM 421 O OE1 . GLU Q 17 94 ? 138.701 283.342 219.202 1.00 152.75 94 Bj 1 +ATOM 422 O OE2 . GLU Q 17 94 ? 136.913 282.189 219.734 1.00 152.75 94 Bj 1 +ATOM 423 N N . ALA Q 17 95 ? 137.404 288.249 221.541 1.00 149.73 95 Bj 1 +ATOM 424 C CA . ALA Q 17 95 ? 136.744 289.549 221.485 1.00 149.73 95 Bj 1 +ATOM 425 C C . ALA Q 17 95 ? 137.228 290.374 220.300 1.00 149.73 95 Bj 1 +ATOM 426 O O . ALA Q 17 95 ? 136.409 290.925 219.556 1.00 149.73 95 Bj 1 +ATOM 427 C CB . ALA Q 17 95 ? 136.966 290.311 222.791 1.00 149.73 95 Bj 1 +ATOM 428 N N . GLN Q 17 96 ? 138.545 290.458 220.098 1.00 150.30 96 Bj 1 +ATOM 429 C CA . GLN Q 17 96 ? 139.069 291.205 218.961 1.00 150.30 96 Bj 1 +ATOM 430 C C . GLN Q 17 96 ? 138.693 290.549 217.637 1.00 150.30 96 Bj 1 +ATOM 431 O O . GLN Q 17 96 ? 138.419 291.247 216.653 1.00 150.30 96 Bj 1 +ATOM 432 C CB . GLN Q 17 96 ? 140.587 291.346 219.080 1.00 150.30 96 Bj 1 +ATOM 433 C CG . GLN Q 17 96 ? 141.037 292.145 220.293 1.00 150.30 96 Bj 1 +ATOM 434 C CD . GLN Q 17 96 ? 142.543 292.301 220.364 1.00 150.30 96 Bj 1 +ATOM 435 O OE1 . GLN Q 17 96 ? 143.262 291.925 219.438 1.00 150.30 96 Bj 1 +ATOM 436 N NE2 . GLN Q 17 96 ? 143.029 292.859 221.467 1.00 150.30 96 Bj 1 +ATOM 437 N N . GLN Q 17 97 ? 138.657 289.214 217.595 1.00 151.44 97 Bj 1 +ATOM 438 C CA . GLN Q 17 97 ? 138.274 288.528 216.367 1.00 151.44 97 Bj 1 +ATOM 439 C C . GLN Q 17 97 ? 136.824 288.819 216.005 1.00 151.44 97 Bj 1 +ATOM 440 O O . GLN Q 17 97 ? 136.511 289.077 214.838 1.00 151.44 97 Bj 1 +ATOM 441 C CB . GLN Q 17 97 ? 138.504 287.024 216.512 1.00 151.44 97 Bj 1 +ATOM 442 C CG . GLN Q 17 97 ? 138.299 286.242 215.225 1.00 151.44 97 Bj 1 +ATOM 443 C CD . GLN Q 17 97 ? 138.665 284.777 215.367 1.00 151.44 97 Bj 1 +ATOM 444 O OE1 . GLN Q 17 97 ? 138.752 284.049 214.377 1.00 151.44 97 Bj 1 +ATOM 445 N NE2 . GLN Q 17 97 ? 138.881 284.336 216.601 1.00 151.44 97 Bj 1 +ATOM 446 N N . LEU Q 17 98 ? 135.926 288.798 216.992 1.00 148.86 98 Bj 1 +ATOM 447 C CA . LEU Q 17 98 ? 134.535 289.147 216.723 1.00 148.86 98 Bj 1 +ATOM 448 C C . LEU Q 17 98 ? 134.399 290.617 216.343 1.00 148.86 98 Bj 1 +ATOM 449 O O . LEU Q 17 98 ? 133.602 290.963 215.462 1.00 148.86 98 Bj 1 +ATOM 450 C CB . LEU Q 17 98 ? 133.663 288.821 217.936 1.00 148.86 98 Bj 1 +ATOM 451 C CG . LEU Q 17 98 ? 132.970 287.455 217.941 1.00 148.86 98 Bj 1 +ATOM 452 C CD1 . LEU Q 17 98 ? 133.982 286.318 217.938 1.00 148.86 98 Bj 1 +ATOM 453 C CD2 . LEU Q 17 98 ? 132.028 287.335 219.129 1.00 148.86 98 Bj 1 +ATOM 454 N N . ALA Q 17 99 ? 135.174 291.494 216.988 1.00 145.68 99 Bj 1 +ATOM 455 C CA . ALA Q 17 99 ? 135.111 292.915 216.661 1.00 145.68 99 Bj 1 +ATOM 456 C C . ALA Q 17 99 ? 135.546 293.172 215.225 1.00 145.68 99 Bj 1 +ATOM 457 O O . ALA Q 17 99 ? 134.966 294.018 214.534 1.00 145.68 99 Bj 1 +ATOM 458 C CB . ALA Q 17 99 ? 135.974 293.716 217.636 1.00 145.68 99 Bj 1 +ATOM 459 N N . LYS Q 17 100 ? 136.567 292.452 214.755 1.00 146.95 100 Bj 1 +ATOM 460 C CA . LYS Q 17 100 ? 137.039 292.630 213.387 1.00 146.95 100 Bj 1 +ATOM 461 C C . LYS Q 17 100 ? 136.219 291.845 212.371 1.00 146.95 100 Bj 1 +ATOM 462 O O . LYS Q 17 100 ? 136.274 292.159 211.177 1.00 146.95 100 Bj 1 +ATOM 463 C CB . LYS Q 17 100 ? 138.514 292.233 213.279 1.00 146.95 100 Bj 1 +ATOM 464 C CG . LYS Q 17 100 ? 139.442 293.056 214.160 1.00 146.95 100 Bj 1 +ATOM 465 C CD . LYS Q 17 100 ? 139.237 294.550 213.946 1.00 146.95 100 Bj 1 +ATOM 466 C CE . LYS Q 17 100 ? 139.610 294.973 212.533 1.00 146.95 100 Bj 1 +ATOM 467 N NZ . LYS Q 17 100 ? 139.301 296.408 212.288 1.00 146.95 100 Bj 1 +ATOM 468 N N . LYS Q 17 101 ? 135.468 290.833 212.812 1.00 146.63 101 Bj 1 +ATOM 469 C CA . LYS Q 17 101 ? 134.598 290.100 211.900 1.00 146.63 101 Bj 1 +ATOM 470 C C . LYS Q 17 101 ? 133.263 290.804 211.699 1.00 146.63 101 Bj 1 +ATOM 471 O O . LYS Q 17 101 ? 132.679 290.714 210.613 1.00 146.63 101 Bj 1 +ATOM 472 C CB . LYS Q 17 101 ? 134.377 288.677 212.420 1.00 146.63 101 Bj 1 +ATOM 473 C CG . LYS Q 17 101 ? 133.447 287.827 211.565 1.00 146.63 101 Bj 1 +ATOM 474 C CD . LYS Q 17 101 ? 133.953 287.708 210.137 1.00 146.63 101 Bj 1 +ATOM 475 C CE . LYS Q 17 101 ? 132.991 286.903 209.277 1.00 146.63 101 Bj 1 +ATOM 476 N NZ . LYS Q 17 101 ? 133.449 286.811 207.864 1.00 146.63 101 Bj 1 +ATOM 477 N N . LYS Q 17 102 ? 132.768 291.510 212.721 1.00 149.37 102 Bj 1 +ATOM 478 C CA . LYS Q 17 102 ? 131.516 292.243 212.568 1.00 149.37 102 Bj 1 +ATOM 479 C C . LYS Q 17 102 ? 131.629 293.337 211.515 1.00 149.37 102 Bj 1 +ATOM 480 O O . LYS Q 17 102 ? 130.622 293.722 210.910 1.00 149.37 102 Bj 1 +ATOM 481 C CB . LYS Q 17 102 ? 131.084 292.839 213.908 1.00 149.37 102 Bj 1 +ATOM 482 C CG . LYS Q 17 102 ? 130.550 291.819 214.900 1.00 149.37 102 Bj 1 +ATOM 483 C CD . LYS Q 17 102 ? 130.124 292.485 216.198 1.00 149.37 102 Bj 1 +ATOM 484 C CE . LYS Q 17 102 ? 129.052 293.533 215.952 1.00 149.37 102 Bj 1 +ATOM 485 N NZ . LYS Q 17 102 ? 127.840 292.944 215.321 1.00 149.37 102 Bj 1 +ATOM 486 N N . SER Q 17 103 ? 132.836 293.849 211.283 1.00 153.12 103 Bj 1 +ATOM 487 C CA . SER Q 17 103 ? 133.065 294.846 210.248 1.00 153.12 103 Bj 1 +ATOM 488 C C . SER Q 17 103 ? 133.347 294.232 208.883 1.00 153.12 103 Bj 1 +ATOM 489 O O . SER Q 17 103 ? 133.244 294.935 207.872 1.00 153.12 103 Bj 1 +ATOM 490 C CB . SER Q 17 103 ? 134.228 295.762 210.645 1.00 153.12 103 Bj 1 +ATOM 491 O OG . SER Q 17 103 ? 135.428 295.024 210.805 1.00 153.12 103 Bj 1 +ATOM 492 N N . ASP Q 17 104 ? 133.696 292.950 208.828 1.00 150.06 104 Bj 1 +ATOM 493 C CA . ASP Q 17 104 ? 133.990 292.286 207.564 1.00 150.06 104 Bj 1 +ATOM 494 C C . ASP Q 17 104 ? 133.253 290.954 207.461 1.00 150.06 104 Bj 1 +ATOM 495 O O . ASP Q 17 104 ? 132.042 290.886 207.671 1.00 150.06 104 Bj 1 +ATOM 496 C CB . ASP Q 17 104 ? 135.497 292.067 207.412 1.00 150.06 104 Bj 1 +ATOM 497 C CG . ASP Q 17 104 ? 135.859 291.377 206.111 1.00 150.06 104 Bj 1 +ATOM 498 O OD1 . ASP Q 17 104 ? 135.698 292.000 205.040 1.00 150.06 104 Bj 1 +ATOM 499 O OD2 . ASP Q 17 104 ? 136.307 290.212 206.158 1.00 150.06 104 Bj 1 +ATOM 500 N N . LEU Q 17 116 ? 133.163 280.213 224.046 1.00 145.92 116 Bj 1 +ATOM 501 C CA . LEU Q 17 116 ? 133.824 281.452 224.439 1.00 145.92 116 Bj 1 +ATOM 502 C C . LEU Q 17 116 ? 134.248 281.400 225.904 1.00 145.92 116 Bj 1 +ATOM 503 O O . LEU Q 17 116 ? 134.010 280.409 226.594 1.00 145.92 116 Bj 1 +ATOM 504 C CB . LEU Q 17 116 ? 132.909 282.657 224.197 1.00 145.92 116 Bj 1 +ATOM 505 C CG . LEU Q 17 116 ? 132.645 283.081 222.748 1.00 145.92 116 Bj 1 +ATOM 506 C CD1 . LEU Q 17 116 ? 133.940 283.098 221.947 1.00 145.92 116 Bj 1 +ATOM 507 C CD2 . LEU Q 17 116 ? 131.596 282.203 222.072 1.00 145.92 116 Bj 1 +ATOM 508 N N . ALA Q 17 117 ? 134.878 282.476 226.373 1.00 150.38 117 Bj 1 +ATOM 509 C CA . ALA Q 17 117 ? 135.358 282.543 227.748 1.00 150.38 117 Bj 1 +ATOM 510 C C . ALA Q 17 117 ? 134.316 283.114 228.702 1.00 150.38 117 Bj 1 +ATOM 511 O O . ALA Q 17 117 ? 134.259 282.710 229.870 1.00 150.38 117 Bj 1 +ATOM 512 C CB . ALA Q 17 117 ? 136.638 283.378 227.815 1.00 150.38 117 Bj 1 +ATOM 513 N N . GLN Q 17 118 ? 133.490 284.050 228.229 1.00 142.89 118 Bj 1 +ATOM 514 C CA . GLN Q 17 118 ? 132.488 284.656 229.099 1.00 142.89 118 Bj 1 +ATOM 515 C C . GLN Q 17 118 ? 131.425 283.644 229.507 1.00 142.89 118 Bj 1 +ATOM 516 O O . GLN Q 17 118 ? 130.930 283.680 230.639 1.00 142.89 118 Bj 1 +ATOM 517 C CB . GLN Q 17 118 ? 131.852 285.861 228.409 1.00 142.89 118 Bj 1 +ATOM 518 C CG . GLN Q 17 118 ? 132.831 286.982 228.103 1.00 142.89 118 Bj 1 +ATOM 519 C CD . GLN Q 17 118 ? 132.150 288.215 227.546 1.00 142.89 118 Bj 1 +ATOM 520 O OE1 . GLN Q 17 118 ? 130.942 288.218 227.309 1.00 142.89 118 Bj 1 +ATOM 521 N NE2 . GLN Q 17 118 ? 132.924 289.274 227.337 1.00 142.89 118 Bj 1 +ATOM 522 N N . ASP Q 17 119 ? 131.065 282.731 228.601 1.00 146.82 119 Bj 1 +ATOM 523 C CA . ASP Q 17 119 ? 130.108 281.686 228.951 1.00 146.82 119 Bj 1 +ATOM 524 C C . ASP Q 17 119 ? 130.655 280.792 230.056 1.00 146.82 119 Bj 1 +ATOM 525 O O . ASP Q 17 119 ? 129.943 280.472 231.016 1.00 146.82 119 Bj 1 +ATOM 526 C CB . ASP Q 17 119 ? 129.759 280.857 227.715 1.00 146.82 119 Bj 1 +ATOM 527 C CG . ASP Q 17 119 ? 129.136 281.688 226.613 1.00 146.82 119 Bj 1 +ATOM 528 O OD1 . ASP Q 17 119 ? 128.456 282.687 226.932 1.00 146.82 119 Bj 1 +ATOM 529 O OD2 . ASP Q 17 119 ? 129.325 281.343 225.428 1.00 146.82 119 Bj 1 +ATOM 530 N N . LEU Q 17 120 ? 131.922 280.388 229.941 1.00 143.97 120 Bj 1 +ATOM 531 C CA . LEU Q 17 120 ? 132.531 279.559 230.976 1.00 143.97 120 Bj 1 +ATOM 532 C C . LEU Q 17 120 ? 132.639 280.316 232.294 1.00 143.97 120 Bj 1 +ATOM 533 O O . LEU Q 17 120 ? 132.434 279.736 233.367 1.00 143.97 120 Bj 1 +ATOM 534 C CB . LEU Q 17 120 ? 133.907 279.077 230.517 1.00 143.97 120 Bj 1 +ATOM 535 C CG . LEU Q 17 120 ? 133.963 278.376 229.157 1.00 143.97 120 Bj 1 +ATOM 536 C CD1 . LEU Q 17 120 ? 135.379 277.917 228.843 1.00 143.97 120 Bj 1 +ATOM 537 C CD2 . LEU Q 17 120 ? 132.992 277.205 229.107 1.00 143.97 120 Bj 1 +ATOM 538 N N . GLU Q 17 121 ? 132.949 281.613 232.235 1.00 138.39 121 Bj 1 +ATOM 539 C CA . GLU Q 17 121 ? 133.032 282.405 233.459 1.00 138.39 121 Bj 1 +ATOM 540 C C . GLU Q 17 121 ? 131.674 282.510 234.141 1.00 138.39 121 Bj 1 +ATOM 541 O O . GLU Q 17 121 ? 131.573 282.370 235.366 1.00 138.39 121 Bj 1 +ATOM 542 C CB . GLU Q 17 121 ? 133.586 283.796 233.152 1.00 138.39 121 Bj 1 +ATOM 543 C CG . GLU Q 17 121 ? 133.560 284.751 234.337 1.00 138.39 121 Bj 1 +ATOM 544 C CD . GLU Q 17 121 ? 134.430 284.285 235.491 1.00 138.39 121 Bj 1 +ATOM 545 O OE1 . GLU Q 17 121 ? 135.428 283.575 235.242 1.00 138.39 121 Bj 1 +ATOM 546 O OE2 . GLU Q 17 121 ? 134.114 284.628 236.650 1.00 138.39 121 Bj 1 +ATOM 547 N N . ASP Q 17 122 ? 130.617 282.755 233.364 1.00 136.27 122 Bj 1 +ATOM 548 C CA . ASP Q 17 122 ? 129.278 282.822 233.938 1.00 136.27 122 Bj 1 +ATOM 549 C C . ASP Q 17 122 ? 128.853 281.471 234.501 1.00 136.27 122 Bj 1 +ATOM 550 O O . ASP Q 17 122 ? 128.190 281.408 235.543 1.00 136.27 122 Bj 1 +ATOM 551 C CB . ASP Q 17 122 ? 128.281 283.308 232.888 1.00 136.27 122 Bj 1 +ATOM 552 C CG . ASP Q 17 122 ? 128.626 284.682 232.352 1.00 136.27 122 Bj 1 +ATOM 553 O OD1 . ASP Q 17 122 ? 129.645 285.254 232.793 1.00 136.27 122 Bj 1 +ATOM 554 O OD2 . ASP Q 17 122 ? 127.881 285.189 231.488 1.00 136.27 122 Bj 1 +ATOM 555 N N . MET Q 17 123 ? 129.232 280.381 233.829 1.00 138.10 123 Bj 1 +ATOM 556 C CA . MET Q 17 123 ? 128.929 279.051 234.345 1.00 138.10 123 Bj 1 +ATOM 557 C C . MET Q 17 123 ? 129.632 278.806 235.675 1.00 138.10 123 Bj 1 +ATOM 558 O O . MET Q 17 123 ? 129.032 278.278 236.618 1.00 138.10 123 Bj 1 +ATOM 559 C CB . MET Q 17 123 ? 129.329 277.991 233.319 1.00 138.10 123 Bj 1 +ATOM 560 C CG . MET Q 17 123 ? 128.950 276.572 233.702 1.00 138.10 123 Bj 1 +ATOM 561 S SD . MET Q 17 123 ? 129.525 275.362 232.494 1.00 138.10 123 Bj 1 +ATOM 562 C CE . MET Q 17 123 ? 128.763 275.986 230.998 1.00 138.10 123 Bj 1 +ATOM 563 N N . TRP Q 17 124 ? 130.906 279.192 235.770 1.00 136.46 124 Bj 1 +ATOM 564 C CA . TRP Q 17 124 ? 131.634 279.040 237.027 1.00 136.46 124 Bj 1 +ATOM 565 C C . TRP Q 17 124 ? 131.008 279.885 238.129 1.00 136.46 124 Bj 1 +ATOM 566 O O . TRP Q 17 124 ? 130.875 279.430 239.272 1.00 136.46 124 Bj 1 +ATOM 567 C CB . TRP Q 17 124 ? 133.102 279.416 236.828 1.00 136.46 124 Bj 1 +ATOM 568 C CG . TRP Q 17 124 ? 133.795 278.588 235.791 1.00 136.46 124 Bj 1 +ATOM 569 C CD1 . TRP Q 17 124 ? 133.472 277.320 235.405 1.00 136.46 124 Bj 1 +ATOM 570 C CD2 . TRP Q 17 124 ? 134.920 278.975 234.994 1.00 136.46 124 Bj 1 +ATOM 571 N NE1 . TRP Q 17 124 ? 134.331 276.891 234.423 1.00 136.46 124 Bj 1 +ATOM 572 C CE2 . TRP Q 17 124 ? 135.229 277.889 234.152 1.00 136.46 124 Bj 1 +ATOM 573 C CE3 . TRP Q 17 124 ? 135.698 280.134 234.913 1.00 136.46 124 Bj 1 +ATOM 574 C CZ2 . TRP Q 17 124 ? 136.283 277.927 233.242 1.00 136.46 124 Bj 1 +ATOM 575 C CZ3 . TRP Q 17 124 ? 136.743 280.169 234.009 1.00 136.46 124 Bj 1 +ATOM 576 C CH2 . TRP Q 17 124 ? 137.026 279.073 233.186 1.00 136.46 124 Bj 1 +ATOM 577 N N . GLU Q 17 125 ? 130.604 281.116 237.802 1.00 133.02 125 Bj 1 +ATOM 578 C CA . GLU Q 17 125 ? 129.992 281.984 238.803 1.00 133.02 125 Bj 1 +ATOM 579 C C . GLU Q 17 125 ? 128.671 281.413 239.299 1.00 133.02 125 Bj 1 +ATOM 580 O O . GLU Q 17 125 ? 128.403 281.405 240.507 1.00 133.02 125 Bj 1 +ATOM 581 C CB . GLU Q 17 125 ? 129.785 283.386 238.231 1.00 133.02 125 Bj 1 +ATOM 582 C CG . GLU Q 17 125 ? 131.071 284.154 237.985 1.00 133.02 125 Bj 1 +ATOM 583 C CD . GLU Q 17 125 ? 130.819 285.533 237.408 1.00 133.02 125 Bj 1 +ATOM 584 O OE1 . GLU Q 17 125 ? 129.640 285.874 237.179 1.00 133.02 125 Bj 1 +ATOM 585 O OE2 . GLU Q 17 125 ? 131.799 286.274 237.184 1.00 133.02 125 Bj 1 +ATOM 586 N N . GLN Q 17 126 ? 127.828 280.928 238.383 1.00 132.06 126 Bj 1 +ATOM 587 C CA . GLN Q 17 126 ? 126.550 280.374 238.808 1.00 132.06 126 Bj 1 +ATOM 588 C C . GLN Q 17 126 ? 126.735 279.073 239.580 1.00 132.06 126 Bj 1 +ATOM 589 O O . GLN Q 17 126 ? 125.981 278.808 240.520 1.00 132.06 126 Bj 1 +ATOM 590 C CB . GLN Q 17 126 ? 125.624 280.176 237.605 1.00 132.06 126 Bj 1 +ATOM 591 C CG . GLN Q 17 126 ? 126.097 279.164 236.583 1.00 132.06 126 Bj 1 +ATOM 592 C CD . GLN Q 17 126 ? 125.303 279.223 235.293 1.00 132.06 126 Bj 1 +ATOM 593 O OE1 . GLN Q 17 126 ? 124.412 280.057 235.137 1.00 132.06 126 Bj 1 +ATOM 594 N NE2 . GLN Q 17 126 ? 125.624 278.335 234.359 1.00 132.06 126 Bj 1 +ATOM 595 N N . LYS Q 17 127 ? 127.748 278.271 239.234 1.00 128.96 127 Bj 1 +ATOM 596 C CA . LYS Q 17 127 ? 128.037 277.081 240.029 1.00 128.96 127 Bj 1 +ATOM 597 C C . LYS Q 17 127 ? 128.495 277.455 241.433 1.00 128.96 127 Bj 1 +ATOM 598 O O . LYS Q 17 127 ? 128.100 276.813 242.414 1.00 128.96 127 Bj 1 +ATOM 599 C CB . LYS Q 17 127 ? 129.093 276.223 239.332 1.00 128.96 127 Bj 1 +ATOM 600 C CG . LYS Q 17 127 ? 128.593 275.496 238.093 1.00 128.96 127 Bj 1 +ATOM 601 C CD . LYS Q 17 127 ? 129.699 274.667 237.457 1.00 128.96 127 Bj 1 +ATOM 602 C CE . LYS Q 17 127 ? 129.191 273.901 236.246 1.00 128.96 127 Bj 1 +ATOM 603 N NZ . LYS Q 17 127 ? 130.253 273.047 235.645 1.00 128.96 127 Bj 1 +ATOM 604 N N . PHE Q 17 128 ? 129.328 278.493 241.547 1.00 124.78 128 Bj 1 +ATOM 605 C CA . PHE Q 17 128 ? 129.778 278.943 242.861 1.00 124.78 128 Bj 1 +ATOM 606 C C . PHE Q 17 128 ? 128.613 279.459 243.694 1.00 124.78 128 Bj 1 +ATOM 607 O O . PHE Q 17 128 ? 128.543 279.208 244.903 1.00 124.78 128 Bj 1 +ATOM 608 C CB . PHE Q 17 128 ? 130.845 280.026 242.703 1.00 124.78 128 Bj 1 +ATOM 609 C CG . PHE Q 17 128 ? 131.325 280.607 244.004 1.00 124.78 128 Bj 1 +ATOM 610 C CD1 . PHE Q 17 128 ? 132.290 279.956 244.754 1.00 124.78 128 Bj 1 +ATOM 611 C CD2 . PHE Q 17 128 ? 130.821 281.810 244.470 1.00 124.78 128 Bj 1 +ATOM 612 C CE1 . PHE Q 17 128 ? 132.737 280.489 245.948 1.00 124.78 128 Bj 1 +ATOM 613 C CE2 . PHE Q 17 128 ? 131.264 282.348 245.663 1.00 124.78 128 Bj 1 +ATOM 614 C CZ . PHE Q 17 128 ? 132.223 281.687 246.403 1.00 124.78 128 Bj 1 +ATOM 615 N N . LEU Q 17 129 ? 127.688 280.186 243.064 1.00 122.50 129 Bj 1 +ATOM 616 C CA . LEU Q 17 129 ? 126.535 280.696 243.799 1.00 122.50 129 Bj 1 +ATOM 617 C C . LEU Q 17 129 ? 125.558 279.583 244.162 1.00 122.50 129 Bj 1 +ATOM 618 O O . LEU Q 17 129 ? 124.879 279.670 245.192 1.00 122.50 129 Bj 1 +ATOM 619 C CB . LEU Q 17 129 ? 125.829 281.784 242.989 1.00 122.50 129 Bj 1 +ATOM 620 C CG . LEU Q 17 129 ? 126.260 283.226 243.273 1.00 122.50 129 Bj 1 +ATOM 621 C CD1 . LEU Q 17 129 ? 126.103 283.546 244.752 1.00 122.50 129 Bj 1 +ATOM 622 C CD2 . LEU Q 17 129 ? 127.688 283.484 242.817 1.00 122.50 129 Bj 1 +ATOM 623 N N . HIS Q 17 130 ? 125.472 278.535 243.339 1.00 124.27 130 Bj 1 +ATOM 624 C CA . HIS Q 17 130 ? 124.581 277.424 243.653 1.00 124.27 130 Bj 1 +ATOM 625 C C . HIS Q 17 130 ? 125.137 276.570 244.785 1.00 124.27 130 Bj 1 +ATOM 626 O O . HIS Q 17 130 ? 124.395 276.174 245.691 1.00 124.27 130 Bj 1 +ATOM 627 C CB . HIS Q 17 130 ? 124.343 276.571 242.407 1.00 124.27 130 Bj 1 +ATOM 628 C CG . HIS Q 17 130 ? 123.598 277.281 241.320 1.00 124.27 130 Bj 1 +ATOM 629 N ND1 . HIS Q 17 130 ? 122.957 278.485 241.521 1.00 124.27 130 Bj 1 +ATOM 630 C CD2 . HIS Q 17 130 ? 123.400 276.962 240.019 1.00 124.27 130 Bj 1 +ATOM 631 C CE1 . HIS Q 17 130 ? 122.391 278.873 240.392 1.00 124.27 130 Bj 1 +ATOM 632 N NE2 . HIS Q 17 130 ? 122.645 277.967 239.465 1.00 124.27 130 Bj 1 +ATOM 633 N N . PHE Q 17 131 ? 126.434 276.275 244.753 1.00 123.12 131 Bj 1 +ATOM 634 C CA . PHE Q 17 131 ? 127.041 275.459 245.795 1.00 123.12 131 Bj 1 +ATOM 635 C C . PHE Q 17 131 ? 127.241 276.280 247.061 1.00 123.12 131 Bj 1 +ATOM 636 O O . PHE Q 17 131 ? 127.634 277.449 247.007 1.00 123.12 131 Bj 1 +ATOM 637 C CB . PHE Q 17 131 ? 128.378 274.890 245.322 1.00 123.12 131 Bj 1 +ATOM 638 C CG . PHE Q 17 131 ? 128.932 273.819 246.221 1.00 123.12 131 Bj 1 +ATOM 639 C CD1 . PHE Q 17 131 ? 128.636 272.485 245.993 1.00 123.12 131 Bj 1 +ATOM 640 C CD2 . PHE Q 17 131 ? 129.747 274.145 247.292 1.00 123.12 131 Bj 1 +ATOM 641 C CE1 . PHE Q 17 131 ? 129.144 271.497 246.816 1.00 123.12 131 Bj 1 +ATOM 642 C CE2 . PHE Q 17 131 ? 130.257 273.162 248.118 1.00 123.12 131 Bj 1 +ATOM 643 C CZ . PHE Q 17 131 ? 129.955 271.837 247.880 1.00 123.12 131 Bj 1 +ATOM 644 N N . LYS Q 17 132 ? 126.965 275.659 248.206 1.00 116.35 132 Bj 1 +ATOM 645 C CA . LYS Q 17 132 ? 127.090 276.303 249.505 1.00 116.35 132 Bj 1 +ATOM 646 C C . LYS Q 17 132 ? 128.171 275.612 250.323 1.00 116.35 132 Bj 1 +ATOM 647 O O . LYS Q 17 132 ? 128.289 274.383 250.305 1.00 116.35 132 Bj 1 +ATOM 648 C CB . LYS Q 17 132 ? 125.759 276.283 250.264 1.00 116.35 132 Bj 1 +ATOM 649 C CG . LYS Q 17 132 ? 125.018 277.611 250.239 1.00 116.35 132 Bj 1 +ATOM 650 C CD . LYS Q 17 132 ? 124.841 278.121 248.819 1.00 116.35 132 Bj 1 +ATOM 651 C CE . LYS Q 17 132 ? 124.220 279.507 248.803 1.00 116.35 132 Bj 1 +ATOM 652 N NZ . LYS Q 17 132 ? 124.099 280.040 247.419 1.00 116.35 132 Bj 1 +ATOM 653 N N . LEU Q 17 133 ? 128.955 276.411 251.041 1.00 122.76 133 Bj 1 +ATOM 654 C CA . LEU Q 17 133 ? 130.066 275.909 251.829 1.00 122.76 133 Bj 1 +ATOM 655 C C . LEU Q 17 133 ? 129.629 275.679 253.274 1.00 122.76 133 Bj 1 +ATOM 656 O O . LEU Q 17 133 ? 128.461 275.844 253.634 1.00 122.76 133 Bj 1 +ATOM 657 C CB . LEU Q 17 133 ? 131.244 276.879 251.757 1.00 122.76 133 Bj 1 +ATOM 658 C CG . LEU Q 17 133 ? 131.666 277.326 250.356 1.00 122.76 133 Bj 1 +ATOM 659 C CD1 . LEU Q 17 133 ? 132.813 278.319 250.434 1.00 122.76 133 Bj 1 +ATOM 660 C CD2 . LEU Q 17 133 ? 132.045 276.128 249.501 1.00 122.76 133 Bj 1 +ATOM 661 N N . GLY Q 17 134 ? 130.584 275.293 254.118 1.00 129.65 134 Bj 1 +ATOM 662 C CA . GLY Q 17 134 ? 130.282 275.055 255.514 1.00 129.65 134 Bj 1 +ATOM 663 C C . GLY Q 17 134 ? 130.327 276.328 256.339 1.00 129.65 134 Bj 1 +ATOM 664 O O . GLY Q 17 134 ? 131.088 277.255 256.064 1.00 129.65 134 Bj 1 +ATOM 665 N N . ALA Q 17 135 ? 129.488 276.366 257.371 1.00 138.35 135 Bj 1 +ATOM 666 C CA . ALA Q 17 135 ? 129.408 277.524 258.252 1.00 138.35 135 Bj 1 +ATOM 667 C C . ALA Q 17 135 ? 130.539 277.469 259.271 1.00 138.35 135 Bj 1 +ATOM 668 O O . ALA Q 17 135 ? 130.677 276.482 260.002 1.00 138.35 135 Bj 1 +ATOM 669 C CB . ALA Q 17 135 ? 128.051 277.571 258.950 1.00 138.35 135 Bj 1 +ATOM 670 N N . ARG Q 17 136 ? 131.347 278.530 259.322 1.00 130.79 136 Bj 1 +ATOM 671 C CA . ARG Q 17 136 ? 132.483 278.568 260.234 1.00 130.79 136 Bj 1 +ATOM 672 C C . ARG Q 17 136 ? 132.087 278.942 261.655 1.00 130.79 136 Bj 1 +ATOM 673 O O . ARG Q 17 136 ? 132.785 278.556 262.599 1.00 130.79 136 Bj 1 +ATOM 674 C CB . ARG Q 17 136 ? 133.536 279.556 259.727 1.00 130.79 136 Bj 1 +ATOM 675 C CG . ARG Q 17 136 ? 133.810 279.469 258.237 1.00 130.79 136 Bj 1 +ATOM 676 C CD . ARG Q 17 136 ? 135.032 280.286 257.861 1.00 130.79 136 Bj 1 +ATOM 677 N NE . ARG Q 17 136 ? 134.968 281.647 258.384 1.00 130.79 136 Bj 1 +ATOM 678 C CZ . ARG Q 17 136 ? 135.943 282.541 258.256 1.00 130.79 136 Bj 1 +ATOM 679 N NH1 . ARG Q 17 136 ? 137.061 282.218 257.620 1.00 130.79 136 Bj 1 +ATOM 680 N NH2 . ARG Q 17 136 ? 135.801 283.757 258.764 1.00 130.79 136 Bj 1 +ATOM 681 N N . LEU Q 17 137 ? 130.992 279.683 261.830 1.00 133.57 137 Bj 1 +ATOM 682 C CA . LEU Q 17 137 ? 130.559 280.141 263.149 1.00 133.57 137 Bj 1 +ATOM 683 C C . LEU Q 17 137 ? 129.570 279.126 263.717 1.00 133.57 137 Bj 1 +ATOM 684 O O . LEU Q 17 137 ? 128.360 279.345 263.762 1.00 133.57 137 Bj 1 +ATOM 685 C CB . LEU Q 17 137 ? 129.956 281.539 263.059 1.00 133.57 137 Bj 1 +ATOM 686 C CG . LEU Q 17 137 ? 130.891 282.628 262.527 1.00 133.57 137 Bj 1 +ATOM 687 C CD1 . LEU Q 17 137 ? 130.188 283.977 262.488 1.00 133.57 137 Bj 1 +ATOM 688 C CD2 . LEU Q 17 137 ? 132.159 282.703 263.364 1.00 133.57 137 Bj 1 +ATOM 689 N N . THR Q 17 138 ? 130.111 277.993 264.160 1.00 133.35 138 Bj 1 +ATOM 690 C CA . THR Q 17 138 ? 129.322 276.936 264.778 1.00 133.35 138 Bj 1 +ATOM 691 C C . THR Q 17 138 ? 129.133 277.144 266.275 1.00 133.35 138 Bj 1 +ATOM 692 O O . THR Q 17 138 ? 128.651 276.236 266.959 1.00 133.35 138 Bj 1 +ATOM 693 C CB . THR Q 17 138 ? 129.970 275.573 264.522 1.00 133.35 138 Bj 1 +ATOM 694 O OG1 . THR Q 17 138 ? 131.309 275.575 265.032 1.00 133.35 138 Bj 1 +ATOM 695 C CG2 . THR Q 17 138 ? 129.999 275.269 263.033 1.00 133.35 138 Bj 1 +ATOM 696 N N . GLU Q 17 139 ? 129.508 278.309 266.795 1.00 134.95 139 Bj 1 +ATOM 697 C CA . GLU Q 17 139 ? 129.306 278.647 268.196 1.00 134.95 139 Bj 1 +ATOM 698 C C . GLU Q 17 139 ? 128.457 279.891 268.396 1.00 134.95 139 Bj 1 +ATOM 699 O O . GLU Q 17 139 ? 127.841 280.034 269.453 1.00 134.95 139 Bj 1 +ATOM 700 C CB . GLU Q 17 139 ? 130.659 278.842 268.900 1.00 134.95 139 Bj 1 +ATOM 701 C CG . GLU Q 17 139 ? 130.604 278.798 270.422 1.00 134.95 139 Bj 1 +ATOM 702 C CD . GLU Q 17 139 ? 130.428 280.169 271.046 1.00 134.95 139 Bj 1 +ATOM 703 O OE1 . GLU Q 17 139 ? 130.488 281.174 270.307 1.00 134.95 139 Bj 1 +ATOM 704 O OE2 . GLU Q 17 139 ? 130.231 280.241 272.277 1.00 134.95 139 Bj 1 +ATOM 705 N N . ALA Q 17 140 ? 128.404 280.792 267.412 1.00 139.06 140 Bj 1 +ATOM 706 C CA . ALA Q 17 140 ? 127.569 281.980 267.543 1.00 139.06 140 Bj 1 +ATOM 707 C C . ALA Q 17 140 ? 126.090 281.623 267.616 1.00 139.06 140 Bj 1 +ATOM 708 O O . ALA Q 17 140 ? 125.316 282.326 268.275 1.00 139.06 140 Bj 1 +ATOM 709 C CB . ALA Q 17 140 ? 127.829 282.937 266.380 1.00 139.06 140 Bj 1 +ATOM 710 N N . ASP Q 17 141 ? 125.681 280.539 266.954 1.00 140.48 141 Bj 1 +ATOM 711 C CA . ASP Q 17 141 ? 124.289 280.111 267.023 1.00 140.48 141 Bj 1 +ATOM 712 C C . ASP Q 17 141 ? 124.001 279.307 268.283 1.00 140.48 141 Bj 1 +ATOM 713 O O . ASP Q 17 141 ? 122.859 279.293 268.754 1.00 140.48 141 Bj 1 +ATOM 714 C CB . ASP Q 17 141 ? 123.924 279.291 265.784 1.00 140.48 141 Bj 1 +ATOM 715 C CG . ASP Q 17 141 ? 124.675 277.976 265.714 1.00 140.48 141 Bj 1 +ATOM 716 O OD1 . ASP Q 17 141 ? 125.822 277.916 266.203 1.00 140.48 141 Bj 1 +ATOM 717 O OD2 . ASP Q 17 141 ? 124.116 277.002 265.168 1.00 140.48 141 Bj 1 +ATOM 718 N N . LYS Q 17 142 ? 125.010 278.635 268.840 1.00 134.61 142 Bj 1 +ATOM 719 C CA . LYS Q 17 142 ? 124.797 277.853 270.053 1.00 134.61 142 Bj 1 +ATOM 720 C C . LYS Q 17 142 ? 124.838 278.740 271.293 1.00 134.61 142 Bj 1 +ATOM 721 O O . LYS Q 17 142 ? 123.839 278.877 272.005 1.00 134.61 142 Bj 1 +ATOM 722 C CB . LYS Q 17 142 ? 125.847 276.744 270.155 1.00 134.61 142 Bj 1 +ATOM 723 C CG . LYS Q 17 142 ? 126.107 276.000 268.857 1.00 134.61 142 Bj 1 +ATOM 724 C CD . LYS Q 17 142 ? 124.858 275.311 268.339 1.00 134.61 142 Bj 1 +ATOM 725 C CE . LYS Q 17 142 ? 125.153 274.532 267.067 1.00 134.61 142 Bj 1 +ATOM 726 N NZ . LYS Q 17 142 ? 123.939 273.858 266.530 1.00 134.61 142 Bj 1 +ATOM 727 N N . LYS Q 17 143 ? 125.993 279.349 271.561 1.00 130.78 143 Bj 1 +ATOM 728 C CA . LYS Q 17 143 ? 126.225 280.262 272.679 1.00 130.78 143 Bj 1 +ATOM 729 C C . LYS Q 17 143 ? 125.934 279.638 274.039 1.00 130.78 143 Bj 1 +ATOM 730 O O . LYS Q 17 143 ? 125.924 280.350 275.050 1.00 130.78 143 Bj 1 +ATOM 731 C CB . LYS Q 17 143 ? 125.421 281.559 272.519 1.00 130.78 143 Bj 1 +ATOM 732 C CG . LYS Q 17 143 ? 125.982 282.503 271.471 1.00 130.78 143 Bj 1 +ATOM 733 C CD . LYS Q 17 143 ? 127.408 282.899 271.812 1.00 130.78 143 Bj 1 +ATOM 734 C CE . LYS Q 17 143 ? 127.980 283.857 270.782 1.00 130.78 143 Bj 1 +ATOM 735 N NZ . LYS Q 17 143 ? 129.382 284.238 271.109 1.00 130.78 143 Bj 1 +ATOM 736 N N . ASP Q 17 144 ? 125.698 278.330 274.099 1.00 131.40 144 Bj 1 +ATOM 737 C CA . ASP Q 17 144 ? 125.447 277.643 275.360 1.00 131.40 144 Bj 1 +ATOM 738 C C . ASP Q 17 144 ? 126.492 276.583 275.666 1.00 131.40 144 Bj 1 +ATOM 739 O O . ASP Q 17 144 ? 127.062 276.578 276.763 1.00 131.40 144 Bj 1 +ATOM 740 C CB . ASP Q 17 144 ? 124.048 277.003 275.351 1.00 131.40 144 Bj 1 +ATOM 741 C CG . ASP Q 17 144 ? 122.935 278.027 275.449 1.00 131.40 144 Bj 1 +ATOM 742 O OD1 . ASP Q 17 144 ? 122.551 278.595 274.407 1.00 131.40 144 Bj 1 +ATOM 743 O OD2 . ASP Q 17 144 ? 122.442 278.263 276.571 1.00 131.40 144 Bj 1 +ATOM 744 N N . ASP Q 17 145 ? 126.762 275.685 274.723 1.00 125.63 145 Bj 1 +ATOM 745 C CA . ASP Q 17 145 ? 127.651 274.554 274.962 1.00 125.63 145 Bj 1 +ATOM 746 C C . ASP Q 17 145 ? 129.095 275.042 274.977 1.00 125.63 145 Bj 1 +ATOM 747 O O . ASP Q 17 145 ? 129.719 275.197 273.922 1.00 125.63 145 Bj 1 +ATOM 748 C CB . ASP Q 17 145 ? 127.441 273.482 273.897 1.00 125.63 145 Bj 1 +ATOM 749 C CG . ASP Q 17 145 ? 128.031 272.142 274.292 1.00 125.63 145 Bj 1 +ATOM 750 O OD1 . ASP Q 17 145 ? 128.682 272.064 275.355 1.00 125.63 145 Bj 1 +ATOM 751 O OD2 . ASP Q 17 145 ? 127.837 271.162 273.542 1.00 125.63 145 Bj 1 +ATOM 752 N N . ARG Q 17 146 ? 129.624 275.289 276.173 1.00 123.19 146 Bj 1 +ATOM 753 C CA . ARG Q 17 146 ? 131.031 275.617 276.354 1.00 123.19 146 Bj 1 +ATOM 754 C C . ARG Q 17 146 ? 131.912 274.378 276.423 1.00 123.19 146 Bj 1 +ATOM 755 O O . ARG Q 17 146 ? 133.141 274.505 276.438 1.00 123.19 146 Bj 1 +ATOM 756 C CB . ARG Q 17 146 ? 131.221 276.448 277.628 1.00 123.19 146 Bj 1 +ATOM 757 C CG . ARG Q 17 146 ? 130.339 277.684 277.717 1.00 123.19 146 Bj 1 +ATOM 758 C CD . ARG Q 17 146 ? 130.774 278.756 276.734 1.00 123.19 146 Bj 1 +ATOM 759 N NE . ARG Q 17 146 ? 130.058 280.011 276.945 1.00 123.19 146 Bj 1 +ATOM 760 C CZ . ARG Q 17 146 ? 130.291 281.128 276.265 1.00 123.19 146 Bj 1 +ATOM 761 N NH1 . ARG Q 17 146 ? 131.225 281.151 275.325 1.00 123.19 146 Bj 1 +ATOM 762 N NH2 . ARG Q 17 146 ? 129.590 282.224 276.524 1.00 123.19 146 Bj 1 +ATOM 763 N N . THR Q 17 147 ? 131.314 273.189 276.464 1.00 120.18 147 Bj 1 +ATOM 764 C CA . THR Q 17 147 ? 132.038 271.936 276.619 1.00 120.18 147 Bj 1 +ATOM 765 C C . THR Q 17 147 ? 132.125 271.136 275.328 1.00 120.18 147 Bj 1 +ATOM 766 O O . THR Q 17 147 ? 132.651 270.018 275.343 1.00 120.18 147 Bj 1 +ATOM 767 C CB . THR Q 17 147 ? 131.373 271.081 277.702 1.00 120.18 147 Bj 1 +ATOM 768 O OG1 . THR Q 17 147 ? 130.082 270.655 277.249 1.00 120.18 147 Bj 1 +ATOM 769 C CG2 . THR Q 17 147 ? 131.209 271.884 278.982 1.00 120.18 147 Bj 1 +ATOM 770 N N . SER Q 17 148 ? 131.625 271.672 274.219 1.00 118.54 148 Bj 1 +ATOM 771 C CA . SER Q 17 148 ? 131.618 270.943 272.961 1.00 118.54 148 Bj 1 +ATOM 772 C C . SER Q 17 148 ? 133.006 270.928 272.336 1.00 118.54 148 Bj 1 +ATOM 773 O O . SER Q 17 148 ? 133.743 271.916 272.398 1.00 118.54 148 Bj 1 +ATOM 774 C CB . SER Q 17 148 ? 130.617 271.567 271.988 1.00 118.54 148 Bj 1 +ATOM 775 O OG . SER Q 17 148 ? 130.928 272.926 271.735 1.00 118.54 148 Bj 1 +ATOM 776 N N . LEU Q 17 149 ? 133.361 269.790 271.735 1.00 117.15 149 Bj 1 +ATOM 777 C CA . LEU Q 17 149 ? 134.619 269.711 271.001 1.00 117.15 149 Bj 1 +ATOM 778 C C . LEU Q 17 149 ? 134.608 270.627 269.785 1.00 117.15 149 Bj 1 +ATOM 779 O O . LEU Q 17 149 ? 135.662 271.129 269.377 1.00 117.15 149 Bj 1 +ATOM 780 C CB . LEU Q 17 149 ? 134.891 268.267 270.579 1.00 117.15 149 Bj 1 +ATOM 781 C CG . LEU Q 17 149 ? 136.256 267.992 269.944 1.00 117.15 149 Bj 1 +ATOM 782 C CD1 . LEU Q 17 149 ? 137.367 268.200 270.960 1.00 117.15 149 Bj 1 +ATOM 783 C CD2 . LEU Q 17 149 ? 136.314 266.588 269.358 1.00 117.15 149 Bj 1 +ATOM 784 N N . HIS Q 17 150 ? 133.431 270.864 269.203 1.00 119.46 150 Bj 1 +ATOM 785 C CA . HIS Q 17 150 ? 133.275 271.750 268.056 1.00 119.46 150 Bj 1 +ATOM 786 C C . HIS Q 17 150 ? 132.939 273.179 268.467 1.00 119.46 150 Bj 1 +ATOM 787 O O . HIS Q 17 150 ? 132.307 273.912 267.695 1.00 119.46 150 Bj 1 +ATOM 788 C CB . HIS Q 17 150 ? 132.203 271.196 267.115 1.00 119.46 150 Bj 1 +ATOM 789 C CG . HIS Q 17 150 ? 132.333 271.667 265.700 1.00 119.46 150 Bj 1 +ATOM 790 N ND1 . HIS Q 17 150 ? 133.406 271.334 264.901 1.00 119.46 150 Bj 1 +ATOM 791 C CD2 . HIS Q 17 150 ? 131.523 272.440 264.939 1.00 119.46 150 Bj 1 +ATOM 792 C CE1 . HIS Q 17 150 ? 133.252 271.884 263.709 1.00 119.46 150 Bj 1 +ATOM 793 N NE2 . HIS Q 17 150 ? 132.118 272.561 263.706 1.00 119.46 150 Bj 1 +ATOM 794 N N . ARG Q 17 151 ? 133.334 273.589 269.675 1.00 116.45 151 Bj 1 +ATOM 795 C CA . ARG Q 17 151 ? 133.014 274.930 270.155 1.00 116.45 151 Bj 1 +ATOM 796 C C . ARG Q 17 151 ? 133.683 276.000 269.299 1.00 116.45 151 Bj 1 +ATOM 797 O O . ARG Q 17 151 ? 133.011 276.780 268.616 1.00 116.45 151 Bj 1 +ATOM 798 C CB . ARG Q 17 151 ? 133.432 275.069 271.620 1.00 116.45 151 Bj 1 +ATOM 799 C CG . ARG Q 17 151 ? 133.285 276.474 272.176 1.00 116.45 151 Bj 1 +ATOM 800 C CD . ARG Q 17 151 ? 133.694 276.533 273.637 1.00 116.45 151 Bj 1 +ATOM 801 N NE . ARG Q 17 151 ? 133.681 277.899 274.151 1.00 116.45 151 Bj 1 +ATOM 802 C CZ . ARG Q 17 151 ? 133.957 278.225 275.408 1.00 116.45 151 Bj 1 +ATOM 803 N NH1 . ARG Q 17 151 ? 134.267 277.282 276.287 1.00 116.45 151 Bj 1 +ATOM 804 N NH2 . ARG Q 17 151 ? 133.923 279.495 275.788 1.00 116.45 151 Bj 1 +ATOM 805 N N . LYS Q 17 152 ? 135.011 276.043 269.313 1.00 117.42 152 Bj 1 +ATOM 806 C CA . LYS Q 17 152 ? 135.770 277.054 268.591 1.00 117.42 152 Bj 1 +ATOM 807 C C . LYS Q 17 152 ? 136.622 276.389 267.521 1.00 117.42 152 Bj 1 +ATOM 808 O O . LYS Q 17 152 ? 137.171 275.304 267.735 1.00 117.42 152 Bj 1 +ATOM 809 C CB . LYS Q 17 152 ? 136.655 277.866 269.542 1.00 117.42 152 Bj 1 +ATOM 810 C CG . LYS Q 17 152 ? 135.879 278.626 270.605 1.00 117.42 152 Bj 1 +ATOM 811 C CD . LYS Q 17 152 ? 136.809 279.386 271.538 1.00 117.42 152 Bj 1 +ATOM 812 C CE . LYS Q 17 152 ? 136.029 280.083 272.644 1.00 117.42 152 Bj 1 +ATOM 813 N NZ . LYS Q 17 152 ? 136.923 280.801 273.593 1.00 117.42 152 Bj 1 +ATOM 814 N N . LEU Q 17 153 ? 136.727 277.048 266.368 1.00 116.24 153 Bj 1 +ATOM 815 C CA . LEU Q 17 153 ? 137.460 276.511 265.234 1.00 116.24 153 Bj 1 +ATOM 816 C C . LEU Q 17 153 ? 138.638 277.371 264.802 1.00 116.24 153 Bj 1 +ATOM 817 O O . LEU Q 17 153 ? 139.490 276.883 264.051 1.00 116.24 153 Bj 1 +ATOM 818 C CB . LEU Q 17 153 ? 136.518 276.317 264.036 1.00 116.24 153 Bj 1 +ATOM 819 C CG . LEU Q 17 153 ? 135.239 275.539 264.342 1.00 116.24 153 Bj 1 +ATOM 820 C CD1 . LEU Q 17 153 ? 134.370 275.417 263.102 1.00 116.24 153 Bj 1 +ATOM 821 C CD2 . LEU Q 17 153 ? 135.573 274.168 264.908 1.00 116.24 153 Bj 1 +ATOM 822 N N . ASP Q 17 154 ? 138.712 278.626 265.242 1.00 114.21 154 Bj 1 +ATOM 823 C CA . ASP Q 17 154 ? 139.819 279.499 264.880 1.00 114.21 154 Bj 1 +ATOM 824 C C . ASP Q 17 154 ? 140.864 279.628 265.977 1.00 114.21 154 Bj 1 +ATOM 825 O O . ASP Q 17 154 ? 141.912 280.237 265.742 1.00 114.21 154 Bj 1 +ATOM 826 C CB . ASP Q 17 154 ? 139.301 280.893 264.510 1.00 114.21 154 Bj 1 +ATOM 827 C CG . ASP Q 17 154 ? 138.591 281.574 265.661 1.00 114.21 154 Bj 1 +ATOM 828 O OD1 . ASP Q 17 154 ? 138.041 280.861 266.526 1.00 114.21 154 Bj 1 +ATOM 829 O OD2 . ASP Q 17 154 ? 138.580 282.823 265.698 1.00 114.21 154 Bj 1 +ATOM 830 N N . ARG Q 17 155 ? 140.614 279.065 267.154 1.00 117.24 155 Bj 1 +ATOM 831 C CA . ARG Q 17 155 ? 141.560 279.082 268.258 1.00 117.24 155 Bj 1 +ATOM 832 C C . ARG Q 17 155 ? 141.854 277.656 268.702 1.00 117.24 155 Bj 1 +ATOM 833 O O . ARG Q 17 155 ? 141.141 276.711 268.356 1.00 117.24 155 Bj 1 +ATOM 834 C CB . ARG Q 17 155 ? 141.020 279.897 269.441 1.00 117.24 155 Bj 1 +ATOM 835 C CG . ARG Q 17 155 ? 140.581 281.306 269.091 1.00 117.24 155 Bj 1 +ATOM 836 C CD . ARG Q 17 155 ? 140.132 282.057 270.334 1.00 117.24 155 Bj 1 +ATOM 837 N NE . ARG Q 17 155 ? 139.613 283.382 270.013 1.00 117.24 155 Bj 1 +ATOM 838 C CZ . ARG Q 17 155 ? 139.268 284.288 270.921 1.00 117.24 155 Bj 1 +ATOM 839 N NH1 . ARG Q 17 155 ? 139.392 284.015 272.212 1.00 117.24 155 Bj 1 +ATOM 840 N NH2 . ARG Q 17 155 ? 138.803 285.469 270.538 1.00 117.24 155 Bj 1 +ATOM 841 N N . ASN Q 17 156 ? 142.922 277.508 269.478 1.00 113.83 156 Bj 1 +ATOM 842 C CA . ASN Q 17 156 ? 143.233 276.233 270.102 1.00 113.83 156 Bj 1 +ATOM 843 C C . ASN Q 17 156 ? 142.516 276.132 271.441 1.00 113.83 156 Bj 1 +ATOM 844 O O . ASN Q 17 156 ? 142.286 277.135 272.123 1.00 113.83 156 Bj 1 +ATOM 845 C CB . ASN Q 17 156 ? 144.741 276.067 270.300 1.00 113.83 156 Bj 1 +ATOM 846 C CG . ASN Q 17 156 ? 145.277 276.908 271.442 1.00 113.83 156 Bj 1 +ATOM 847 O OD1 . ASN Q 17 156 ? 144.906 278.071 271.601 1.00 113.83 156 Bj 1 +ATOM 848 N ND2 . ASN Q 17 156 ? 146.154 276.320 272.247 1.00 113.83 156 Bj 1 +ATOM 849 N N . LEU Q 17 157 ? 142.156 274.908 271.811 1.00 117.97 157 Bj 1 +ATOM 850 C CA . LEU Q 17 157 ? 141.427 274.665 273.045 1.00 117.97 157 Bj 1 +ATOM 851 C C . LEU Q 17 157 ? 142.163 273.643 273.900 1.00 117.97 157 Bj 1 +ATOM 852 O O . LEU Q 17 157 ? 142.908 272.801 273.397 1.00 117.97 157 Bj 1 +ATOM 853 C CB . LEU Q 17 157 ? 139.997 274.188 272.760 1.00 117.97 157 Bj 1 +ATOM 854 C CG . LEU Q 17 157 ? 139.112 275.189 272.013 1.00 117.97 157 Bj 1 +ATOM 855 C CD1 . LEU Q 17 157 ? 137.703 274.642 271.833 1.00 117.97 157 Bj 1 +ATOM 856 C CD2 . LEU Q 17 157 ? 139.084 276.528 272.733 1.00 117.97 157 Bj 1 +ATOM 857 N N . ILE Q 17 158 ? 141.952 273.734 275.213 1.00 113.83 158 Bj 1 +ATOM 858 C CA . ILE Q 17 158 ? 142.549 272.815 276.169 1.00 113.83 158 Bj 1 +ATOM 859 C C . ILE Q 17 158 ? 141.443 272.284 277.071 1.00 113.83 158 Bj 1 +ATOM 860 O O . ILE Q 17 158 ? 140.365 272.871 277.184 1.00 113.83 158 Bj 1 +ATOM 861 C CB . ILE Q 17 158 ? 143.669 273.481 276.999 1.00 113.83 158 Bj 1 +ATOM 862 C CG1 . ILE Q 17 158 ? 144.690 272.440 277.466 1.00 113.83 158 Bj 1 +ATOM 863 C CG2 . ILE Q 17 158 ? 143.086 274.213 278.188 1.00 113.83 158 Bj 1 +ATOM 864 C CD1 . ILE Q 17 158 ? 145.859 273.029 278.223 1.00 113.83 158 Bj 1 +ATOM 865 N N . LEU Q 17 159 ? 141.723 271.155 277.716 1.00 117.96 159 Bj 1 +ATOM 866 C CA . LEU Q 17 159 ? 140.729 270.429 278.495 1.00 117.96 159 Bj 1 +ATOM 867 C C . LEU Q 17 159 ? 140.864 270.768 279.973 1.00 117.96 159 Bj 1 +ATOM 868 O O . LEU Q 17 159 ? 141.962 270.695 280.535 1.00 117.96 159 Bj 1 +ATOM 869 C CB . LEU Q 17 159 ? 140.876 268.922 278.285 1.00 117.96 159 Bj 1 +ATOM 870 C CG . LEU Q 17 159 ? 139.756 268.048 278.849 1.00 117.96 159 Bj 1 +ATOM 871 C CD1 . LEU Q 17 159 ? 138.420 268.435 278.235 1.00 117.96 159 Bj 1 +ATOM 872 C CD2 . LEU Q 17 159 ? 140.053 266.577 278.608 1.00 117.96 159 Bj 1 +ATOM 873 N N . LEU Q 17 160 ? 139.745 271.135 280.597 1.00 129.48 160 Bj 1 +ATOM 874 C CA . LEU Q 17 160 ? 139.681 271.396 282.030 1.00 129.48 160 Bj 1 +ATOM 875 C C . LEU Q 17 160 ? 138.594 270.526 282.642 1.00 129.48 160 Bj 1 +ATOM 876 O O . LEU Q 17 160 ? 137.483 270.456 282.110 1.00 129.48 160 Bj 1 +ATOM 877 C CB . LEU Q 17 160 ? 139.396 272.874 282.319 1.00 129.48 160 Bj 1 +ATOM 878 C CG . LEU Q 17 160 ? 140.586 273.780 282.641 1.00 129.48 160 Bj 1 +ATOM 879 C CD1 . LEU Q 17 160 ? 141.302 273.297 283.894 1.00 129.48 160 Bj 1 +ATOM 880 C CD2 . LEU Q 17 160 ? 141.543 273.865 281.466 1.00 129.48 160 Bj 1 +ATOM 881 N N . VAL Q 17 161 ? 138.908 269.869 283.754 1.00 136.87 161 Bj 1 +ATOM 882 C CA . VAL Q 17 161 ? 137.973 268.976 284.427 1.00 136.87 161 Bj 1 +ATOM 883 C C . VAL Q 17 161 ? 137.583 269.581 285.768 1.00 136.87 161 Bj 1 +ATOM 884 O O . VAL Q 17 161 ? 138.402 270.219 286.438 1.00 136.87 161 Bj 1 +ATOM 885 C CB . VAL Q 17 161 ? 138.566 267.564 284.611 1.00 136.87 161 Bj 1 +ATOM 886 C CG1 . VAL Q 17 161 ? 138.693 266.867 283.267 1.00 136.87 161 Bj 1 +ATOM 887 C CG2 . VAL Q 17 161 ? 139.917 267.637 285.303 1.00 136.87 161 Bj 1 +ATOM 888 N N . ARG Q 17 162 ? 136.323 269.392 286.149 1.00 151.13 162 Bj 1 +ATOM 889 C CA . ARG Q 17 162 ? 135.837 269.829 287.450 1.00 151.13 162 Bj 1 +ATOM 890 C C . ARG Q 17 162 ? 135.852 268.656 288.420 1.00 151.13 162 Bj 1 +ATOM 891 O O . ARG Q 17 162 ? 135.243 267.615 288.155 1.00 151.13 162 Bj 1 +ATOM 892 C CB . ARG Q 17 162 ? 134.425 270.405 287.339 1.00 151.13 162 Bj 1 +ATOM 893 C CG . ARG Q 17 162 ? 133.794 270.771 288.675 1.00 151.13 162 Bj 1 +ATOM 894 C CD . ARG Q 17 162 ? 134.649 271.772 289.435 1.00 151.13 162 Bj 1 +ATOM 895 N NE . ARG Q 17 162 ? 134.041 272.166 290.702 1.00 151.13 162 Bj 1 +ATOM 896 C CZ . ARG Q 17 162 ? 134.595 273.012 291.565 1.00 151.13 162 Bj 1 +ATOM 897 N NH1 . ARG Q 17 162 ? 135.775 273.556 291.298 1.00 151.13 162 Bj 1 +ATOM 898 N NH2 . ARG Q 17 162 ? 133.971 273.316 292.694 1.00 151.13 162 Bj 1 +ATOM 899 N N . GLU Q 17 163 ? 136.552 268.826 289.540 1.00 162.19 163 Bj 1 +ATOM 900 C CA . GLU Q 17 163 ? 136.655 267.786 290.555 1.00 162.19 163 Bj 1 +ATOM 901 C C . GLU Q 17 163 ? 136.528 268.410 291.935 1.00 162.19 163 Bj 1 +ATOM 902 O O . GLU Q 17 163 ? 137.204 269.398 292.237 1.00 162.19 163 Bj 1 +ATOM 903 C CB . GLU Q 17 163 ? 137.981 267.024 290.442 1.00 162.19 163 Bj 1 +ATOM 904 C CG . GLU Q 17 163 ? 138.128 266.212 289.165 1.00 162.19 163 Bj 1 +ATOM 905 C CD . GLU Q 17 163 ? 139.362 265.332 289.175 1.00 162.19 163 Bj 1 +ATOM 906 O OE1 . GLU Q 17 163 ? 140.126 265.387 290.161 1.00 162.19 163 Bj 1 +ATOM 907 O OE2 . GLU Q 17 163 ? 139.566 264.582 288.197 1.00 162.19 163 Bj 1 +ATOM 908 N N . LYS Q 17 164 ? 135.663 267.833 292.764 1.00 165.97 164 Bj 1 +ATOM 909 C CA . LYS Q 17 164 ? 135.477 268.256 294.149 1.00 165.97 164 Bj 1 +ATOM 910 C C . LYS Q 17 164 ? 136.057 267.171 295.050 1.00 165.97 164 Bj 1 +ATOM 911 O O . LYS Q 17 164 ? 135.463 266.101 295.210 1.00 165.97 164 Bj 1 +ATOM 912 C CB . LYS Q 17 164 ? 134.004 268.509 294.456 1.00 165.97 164 Bj 1 +ATOM 913 C CG . LYS Q 17 164 ? 133.424 269.735 293.773 1.00 165.97 164 Bj 1 +ATOM 914 C CD . LYS Q 17 164 ? 132.024 270.035 294.284 1.00 165.97 164 Bj 1 +ATOM 915 C CE . LYS Q 17 164 ? 131.472 271.312 293.673 1.00 165.97 164 Bj 1 +ATOM 916 N NZ . LYS Q 17 164 ? 130.115 271.638 294.195 1.00 165.97 164 Bj 1 +ATOM 917 N N . LEU Q 17 165 ? 137.217 267.450 295.636 1.00 168.90 165 Bj 1 +ATOM 918 C CA . LEU Q 17 165 ? 137.880 266.496 296.515 1.00 168.90 165 Bj 1 +ATOM 919 C C . LEU Q 17 165 ? 137.275 266.587 297.915 1.00 168.90 165 Bj 1 +ATOM 920 O O . LEU Q 17 165 ? 136.251 267.238 298.138 1.00 168.90 165 Bj 1 +ATOM 921 C CB . LEU Q 17 165 ? 139.386 266.743 296.518 1.00 168.90 165 Bj 1 +ATOM 922 C CG . LEU Q 17 165 ? 140.073 266.659 295.154 1.00 168.90 165 Bj 1 +ATOM 923 C CD1 . LEU Q 17 165 ? 141.578 266.829 295.293 1.00 168.90 165 Bj 1 +ATOM 924 C CD2 . LEU Q 17 165 ? 139.738 265.346 294.462 1.00 168.90 165 Bj 1 +ATOM 925 N N . GLY Q 17 166 ? 137.912 265.927 298.884 1.00 171.61 166 Bj 1 +ATOM 926 C CA . GLY Q 17 166 ? 137.369 265.914 300.232 1.00 171.61 166 Bj 1 +ATOM 927 C C . GLY Q 17 166 ? 137.561 267.231 300.961 1.00 171.61 166 Bj 1 +ATOM 928 O O . GLY Q 17 166 ? 136.656 267.703 301.656 1.00 171.61 166 Bj 1 +ATOM 929 N N . ASP Q 17 167 ? 138.736 267.843 300.815 1.00 174.91 167 Bj 1 +ATOM 930 C CA . ASP Q 17 167 ? 139.046 269.091 301.495 1.00 174.91 167 Bj 1 +ATOM 931 C C . ASP Q 17 167 ? 139.291 270.254 300.545 1.00 174.91 167 Bj 1 +ATOM 932 O O . ASP Q 17 167 ? 139.620 271.352 301.010 1.00 174.91 167 Bj 1 +ATOM 933 C CB . ASP Q 17 167 ? 140.268 268.910 302.408 1.00 174.91 167 Bj 1 +ATOM 934 C CG . ASP Q 17 167 ? 141.477 268.372 301.667 1.00 174.91 167 Bj 1 +ATOM 935 O OD1 . ASP Q 17 167 ? 142.126 269.149 300.937 1.00 174.91 167 Bj 1 +ATOM 936 O OD2 . ASP Q 17 167 ? 141.778 267.169 301.815 1.00 174.91 167 Bj 1 +ATOM 937 N N . GLN Q 17 168 ? 139.144 270.054 299.236 1.00 175.00 168 Bj 1 +ATOM 938 C CA . GLN Q 17 168 ? 139.378 271.108 298.261 1.00 175.00 168 Bj 1 +ATOM 939 C C . GLN Q 17 168 ? 138.382 270.985 297.119 1.00 175.00 168 Bj 1 +ATOM 940 O O . GLN Q 17 168 ? 138.082 269.879 296.661 1.00 175.00 168 Bj 1 +ATOM 941 C CB . GLN Q 17 168 ? 140.810 271.056 297.710 1.00 175.00 168 Bj 1 +ATOM 942 C CG . GLN Q 17 168 ? 141.878 271.477 298.705 1.00 175.00 168 Bj 1 +ATOM 943 C CD . GLN Q 17 168 ? 143.281 271.320 298.157 1.00 175.00 168 Bj 1 +ATOM 944 O OE1 . GLN Q 17 168 ? 143.477 270.789 297.063 1.00 175.00 168 Bj 1 +ATOM 945 N NE2 . GLN Q 17 168 ? 144.267 271.783 298.916 1.00 175.00 168 Bj 1 +ATOM 946 N N . ASP Q 17 169 ? 137.876 272.129 296.665 1.00 168.27 169 Bj 1 +ATOM 947 C CA . ASP Q 17 169 ? 136.985 272.221 295.510 1.00 168.27 169 Bj 1 +ATOM 948 C C . ASP Q 17 169 ? 137.646 273.173 294.517 1.00 168.27 169 Bj 1 +ATOM 949 O O . ASP Q 17 169 ? 137.390 274.379 294.534 1.00 168.27 169 Bj 1 +ATOM 950 C CB . ASP Q 17 169 ? 135.589 272.706 295.915 1.00 168.27 169 Bj 1 +ATOM 951 C CG . ASP Q 17 169 ? 134.950 271.832 296.978 1.00 168.27 169 Bj 1 +ATOM 952 O OD1 . ASP Q 17 169 ? 135.285 270.631 297.048 1.00 168.27 169 Bj 1 +ATOM 953 O OD2 . ASP Q 17 169 ? 134.109 272.348 297.743 1.00 168.27 169 Bj 1 +ATOM 954 N N . ILE Q 17 170 ? 138.499 272.629 293.653 1.00 159.42 170 Bj 1 +ATOM 955 C CA . ILE Q 17 170 ? 139.305 273.423 292.734 1.00 159.42 170 Bj 1 +ATOM 956 C C . ILE Q 17 170 ? 138.930 273.073 291.301 1.00 159.42 170 Bj 1 +ATOM 957 O O . ILE Q 17 170 ? 138.527 271.941 291.010 1.00 159.42 170 Bj 1 +ATOM 958 C CB . ILE Q 17 170 ? 140.815 273.204 292.968 1.00 159.42 170 Bj 1 +ATOM 959 C CG1 . ILE Q 17 170 ? 141.172 271.723 292.823 1.00 159.42 170 Bj 1 +ATOM 960 C CG2 . ILE Q 17 170 ? 141.225 273.726 294.336 1.00 159.42 170 Bj 1 +ATOM 961 C CD1 . ILE Q 17 170 ? 142.645 271.427 293.007 1.00 159.42 170 Bj 1 +ATOM 962 N N . TRP Q 17 171 ? 139.059 274.056 290.411 1.00 144.42 171 Bj 1 +ATOM 963 C CA . TRP Q 17 171 ? 138.893 273.855 288.972 1.00 144.42 171 Bj 1 +ATOM 964 C C . TRP Q 17 171 ? 140.241 273.390 288.437 1.00 144.42 171 Bj 1 +ATOM 965 O O . TRP Q 17 171 ? 141.054 274.182 287.960 1.00 144.42 171 Bj 1 +ATOM 966 C CB . TRP Q 17 171 ? 138.414 275.138 288.303 1.00 144.42 171 Bj 1 +ATOM 967 C CG . TRP Q 17 171 ? 138.043 274.985 286.860 1.00 144.42 171 Bj 1 +ATOM 968 C CD1 . TRP Q 17 171 ? 138.831 275.252 285.779 1.00 144.42 171 Bj 1 +ATOM 969 C CD2 . TRP Q 17 171 ? 136.785 274.539 286.340 1.00 144.42 171 Bj 1 +ATOM 970 N NE1 . TRP Q 17 171 ? 138.144 274.997 284.618 1.00 144.42 171 Bj 1 +ATOM 971 C CE2 . TRP Q 17 171 ? 136.885 274.557 284.935 1.00 144.42 171 Bj 1 +ATOM 972 C CE3 . TRP Q 17 171 ? 135.586 274.124 286.925 1.00 144.42 171 Bj 1 +ATOM 973 C CZ2 . TRP Q 17 171 ? 135.832 274.177 284.106 1.00 144.42 171 Bj 1 +ATOM 974 C CZ3 . TRP Q 17 171 ? 134.541 273.747 286.101 1.00 144.42 171 Bj 1 +ATOM 975 C CH2 . TRP Q 17 171 ? 134.672 273.775 284.707 1.00 144.42 171 Bj 1 +ATOM 976 N N . MET Q 17 172 ? 140.479 272.086 288.520 1.00 147.69 172 Bj 1 +ATOM 977 C CA . MET Q 17 172 ? 141.806 271.514 288.352 1.00 147.69 172 Bj 1 +ATOM 978 C C . MET Q 17 172 ? 142.015 270.976 286.940 1.00 147.69 172 Bj 1 +ATOM 979 O O . MET Q 17 172 ? 141.082 270.507 286.285 1.00 147.69 172 Bj 1 +ATOM 980 C CB . MET Q 17 172 ? 142.030 270.391 289.368 1.00 147.69 172 Bj 1 +ATOM 981 C CG . MET Q 17 172 ? 143.468 269.917 289.488 1.00 147.69 172 Bj 1 +ATOM 982 S SD . MET Q 17 172 ? 143.610 268.411 290.466 1.00 147.69 172 Bj 1 +ATOM 983 C CE . MET Q 17 172 ? 142.770 267.241 289.402 1.00 147.69 172 Bj 1 +ATOM 984 N N . LEU Q 17 173 ? 143.260 271.057 286.478 1.00 139.16 173 Bj 1 +ATOM 985 C CA . LEU Q 17 173 ? 143.650 270.404 285.241 1.00 139.16 173 Bj 1 +ATOM 986 C C . LEU Q 17 173 ? 143.738 268.894 285.468 1.00 139.16 173 Bj 1 +ATOM 987 O O . LEU Q 17 173 ? 143.996 268.445 286.588 1.00 139.16 173 Bj 1 +ATOM 988 C CB . LEU Q 17 173 ? 144.996 270.950 284.764 1.00 139.16 173 Bj 1 +ATOM 989 C CG . LEU Q 17 173 ? 145.334 270.960 283.270 1.00 139.16 173 Bj 1 +ATOM 990 C CD1 . LEU Q 17 173 ? 144.311 271.766 282.496 1.00 139.16 173 Bj 1 +ATOM 991 C CD2 . LEU Q 17 173 ? 146.725 271.512 283.037 1.00 139.16 173 Bj 1 +ATOM 992 N N . PRO Q 17 174 ? 143.500 268.080 284.423 1.00 136.31 174 Bj 1 +ATOM 993 C CA . PRO Q 17 174 ? 143.610 266.621 284.586 1.00 136.31 174 Bj 1 +ATOM 994 C C . PRO Q 17 174 ? 144.959 266.176 285.134 1.00 136.31 174 Bj 1 +ATOM 995 O O . PRO Q 17 174 ? 146.003 266.377 284.503 1.00 136.31 174 Bj 1 +ATOM 996 C CB . PRO Q 17 174 ? 143.377 266.087 283.164 1.00 136.31 174 Bj 1 +ATOM 997 C CG . PRO Q 17 174 ? 143.447 267.291 282.257 1.00 136.31 174 Bj 1 +ATOM 998 C CD . PRO Q 17 174 ? 142.983 268.434 283.092 1.00 136.31 174 Bj 1 +ATOM 999 N N . GLN Q 17 175 ? 144.935 265.578 286.323 1.00 135.35 175 Bj 1 +ATOM 1000 C CA . GLN Q 17 175 ? 146.121 265.112 287.030 1.00 135.35 175 Bj 1 +ATOM 1001 C C . GLN Q 17 175 ? 146.040 263.602 287.238 1.00 135.35 175 Bj 1 +ATOM 1002 O O . GLN Q 17 175 ? 145.028 262.962 286.944 1.00 135.35 175 Bj 1 +ATOM 1003 C CB . GLN Q 17 175 ? 146.278 265.834 288.372 1.00 135.35 175 Bj 1 +ATOM 1004 C CG . GLN Q 17 175 ? 146.579 267.318 288.255 1.00 135.35 175 Bj 1 +ATOM 1005 C CD . GLN Q 17 175 ? 146.837 267.965 289.602 1.00 135.35 175 Bj 1 +ATOM 1006 O OE1 . GLN Q 17 175 ? 146.707 267.325 290.646 1.00 135.35 175 Bj 1 +ATOM 1007 N NE2 . GLN Q 17 175 ? 147.204 269.241 289.585 1.00 135.35 175 Bj 1 +ATOM 1008 N N . SER Q 17 176 ? 147.130 263.036 287.754 1.00 133.75 176 Bj 1 +ATOM 1009 C CA . SER Q 17 176 ? 147.220 261.598 287.965 1.00 133.75 176 Bj 1 +ATOM 1010 C C . SER Q 17 176 ? 148.177 261.315 289.116 1.00 133.75 176 Bj 1 +ATOM 1011 O O . SER Q 17 176 ? 148.730 262.227 289.736 1.00 133.75 176 Bj 1 +ATOM 1012 C CB . SER Q 17 176 ? 147.683 260.882 286.694 1.00 133.75 176 Bj 1 +ATOM 1013 O OG . SER Q 17 176 ? 146.894 261.256 285.582 1.00 133.75 176 Bj 1 +ATOM 1014 N N . ASP Q 17 177 ? 148.364 260.026 289.395 1.00 134.79 177 Bj 1 +ATOM 1015 C CA . ASP Q 17 177 ? 149.341 259.551 290.362 1.00 134.79 177 Bj 1 +ATOM 1016 C C . ASP Q 17 177 ? 149.995 258.296 289.806 1.00 134.79 177 Bj 1 +ATOM 1017 O O . ASP Q 17 177 ? 149.390 257.559 289.023 1.00 134.79 177 Bj 1 +ATOM 1018 C CB . ASP Q 17 177 ? 148.706 259.260 291.728 1.00 134.79 177 Bj 1 +ATOM 1019 C CG . ASP Q 17 177 ? 148.221 260.516 292.424 1.00 134.79 177 Bj 1 +ATOM 1020 O OD1 . ASP Q 17 177 ? 147.166 261.051 292.025 1.00 134.79 177 Bj 1 +ATOM 1021 O OD2 . ASP Q 17 177 ? 148.898 260.969 293.370 1.00 134.79 177 Bj 1 +ATOM 1022 N N . TRP Q 17 178 ? 151.238 258.056 290.216 1.00 142.13 178 Bj 1 +ATOM 1023 C CA . TRP Q 17 178 ? 152.031 256.996 289.615 1.00 142.13 178 Bj 1 +ATOM 1024 C C . TRP Q 17 178 ? 153.041 256.465 290.620 1.00 142.13 178 Bj 1 +ATOM 1025 O O . TRP Q 17 178 ? 153.592 257.217 291.429 1.00 142.13 178 Bj 1 +ATOM 1026 C CB . TRP Q 17 178 ? 152.752 257.500 288.360 1.00 142.13 178 Bj 1 +ATOM 1027 C CG . TRP Q 17 178 ? 153.556 258.740 288.606 1.00 142.13 178 Bj 1 +ATOM 1028 C CD1 . TRP Q 17 178 ? 153.092 260.023 288.654 1.00 142.13 178 Bj 1 +ATOM 1029 C CD2 . TRP Q 17 178 ? 154.966 258.815 288.843 1.00 142.13 178 Bj 1 +ATOM 1030 N NE1 . TRP Q 17 178 ? 154.126 260.891 288.906 1.00 142.13 178 Bj 1 +ATOM 1031 C CE2 . TRP Q 17 178 ? 155.287 260.173 289.026 1.00 142.13 178 Bj 1 +ATOM 1032 C CE3 . TRP Q 17 178 ? 155.987 257.865 288.916 1.00 142.13 178 Bj 1 +ATOM 1033 C CZ2 . TRP Q 17 178 ? 156.588 260.604 289.277 1.00 142.13 178 Bj 1 +ATOM 1034 C CZ3 . TRP Q 17 178 ? 157.276 258.293 289.166 1.00 142.13 178 Bj 1 +ATOM 1035 C CH2 . TRP Q 17 178 ? 157.565 259.650 289.344 1.00 142.13 178 Bj 1 +ATOM 1036 N N . GLN Q 17 179 ? 153.282 255.155 290.554 1.00 140.75 179 Bj 1 +ATOM 1037 C CA . GLN Q 17 179 ? 154.303 254.528 291.375 1.00 140.75 179 Bj 1 +ATOM 1038 C C . GLN Q 17 179 ? 155.685 254.777 290.770 1.00 140.75 179 Bj 1 +ATOM 1039 O O . GLN Q 17 179 ? 155.812 254.956 289.556 1.00 140.75 179 Bj 1 +ATOM 1040 C CB . GLN Q 17 179 ? 154.047 253.026 291.496 1.00 140.75 179 Bj 1 +ATOM 1041 C CG . GLN Q 17 179 ? 154.330 252.219 290.233 1.00 140.75 179 Bj 1 +ATOM 1042 C CD . GLN Q 17 179 ? 153.239 252.345 289.187 1.00 140.75 179 Bj 1 +ATOM 1043 O OE1 . GLN Q 17 179 ? 152.254 253.059 289.380 1.00 140.75 179 Bj 1 +ATOM 1044 N NE2 . GLN Q 17 179 ? 153.408 251.645 288.072 1.00 140.75 179 Bj 1 +ATOM 1045 N N . PRO Q 17 180 ? 156.741 254.792 291.602 1.00 139.20 180 Bj 1 +ATOM 1046 C CA . PRO Q 17 180 ? 158.082 255.138 291.101 1.00 139.20 180 Bj 1 +ATOM 1047 C C . PRO Q 17 180 ? 158.545 254.295 289.922 1.00 139.20 180 Bj 1 +ATOM 1048 O O . PRO Q 17 180 ? 159.406 254.726 289.148 1.00 139.20 180 Bj 1 +ATOM 1049 C CB . PRO Q 17 180 ? 158.976 254.914 292.327 1.00 139.20 180 Bj 1 +ATOM 1050 C CG . PRO Q 17 180 ? 158.072 255.131 293.486 1.00 139.20 180 Bj 1 +ATOM 1051 C CD . PRO Q 17 180 ? 156.734 254.597 293.063 1.00 139.20 180 Bj 1 +ATOM 1052 N N . GLY Q 17 181 ? 157.983 253.098 289.770 1.00 135.25 181 Bj 1 +ATOM 1053 C CA . GLY Q 17 181 ? 158.324 252.240 288.655 1.00 135.25 181 Bj 1 +ATOM 1054 C C . GLY Q 17 181 ? 157.674 252.589 287.337 1.00 135.25 181 Bj 1 +ATOM 1055 O O . GLY Q 17 181 ? 157.880 251.875 286.352 1.00 135.25 181 Bj 1 +ATOM 1056 N N . GLU Q 17 182 ? 156.897 253.667 287.282 1.00 137.08 182 Bj 1 +ATOM 1057 C CA . GLU Q 17 182 ? 156.183 254.062 286.078 1.00 137.08 182 Bj 1 +ATOM 1058 C C . GLU Q 17 182 ? 156.697 255.404 285.572 1.00 137.08 182 Bj 1 +ATOM 1059 O O . GLU Q 17 182 ? 157.089 256.276 286.354 1.00 137.08 182 Bj 1 +ATOM 1060 C CB . GLU Q 17 182 ? 154.675 254.141 286.339 1.00 137.08 182 Bj 1 +ATOM 1061 C CG . GLU Q 17 182 ? 153.829 254.307 285.086 1.00 137.08 182 Bj 1 +ATOM 1062 C CD . GLU Q 17 182 ? 152.344 254.191 285.367 1.00 137.08 182 Bj 1 +ATOM 1063 O OE1 . GLU Q 17 182 ? 151.980 253.776 286.487 1.00 137.08 182 Bj 1 +ATOM 1064 O OE2 . GLU Q 17 182 ? 151.541 254.515 284.466 1.00 137.08 182 Bj 1 +ATOM 1065 N N . THR Q 17 183 ? 156.690 255.560 284.252 1.00 130.92 183 Bj 1 +ATOM 1066 C CA . THR Q 17 183 ? 157.170 256.770 283.603 1.00 130.92 183 Bj 1 +ATOM 1067 C C . THR Q 17 183 ? 156.071 257.827 283.567 1.00 130.92 183 Bj 1 +ATOM 1068 O O . THR Q 17 183 ? 154.878 257.512 283.596 1.00 130.92 183 Bj 1 +ATOM 1069 C CB . THR Q 17 183 ? 157.647 256.460 282.182 1.00 130.92 183 Bj 1 +ATOM 1070 O OG1 . THR Q 17 183 ? 158.349 255.210 282.177 1.00 130.92 183 Bj 1 +ATOM 1071 C CG2 . THR Q 17 183 ? 158.582 257.550 281.671 1.00 130.92 183 Bj 1 +ATOM 1072 N N . LEU Q 17 184 ? 156.490 259.094 283.506 1.00 129.02 184 Bj 1 +ATOM 1073 C CA . LEU Q 17 184 ? 155.532 260.194 283.444 1.00 129.02 184 Bj 1 +ATOM 1074 C C . LEU Q 17 184 ? 154.716 260.147 282.159 1.00 129.02 184 Bj 1 +ATOM 1075 O O . LEU Q 17 184 ? 153.502 260.384 282.173 1.00 129.02 184 Bj 1 +ATOM 1076 C CB . LEU Q 17 184 ? 156.266 261.528 283.563 1.00 129.02 184 Bj 1 +ATOM 1077 C CG . LEU Q 17 184 ? 157.066 261.730 284.849 1.00 129.02 184 Bj 1 +ATOM 1078 C CD1 . LEU Q 17 184 ? 157.941 262.967 284.754 1.00 129.02 184 Bj 1 +ATOM 1079 C CD2 . LEU Q 17 184 ? 156.125 261.830 286.034 1.00 129.02 184 Bj 1 +ATOM 1080 N N . ARG Q 17 185 ? 155.367 259.842 281.035 1.00 125.72 185 Bj 1 +ATOM 1081 C CA . ARG Q 17 185 ? 154.653 259.763 279.767 1.00 125.72 185 Bj 1 +ATOM 1082 C C . ARG Q 17 185 ? 153.671 258.598 279.760 1.00 125.72 185 Bj 1 +ATOM 1083 O O . ARG Q 17 185 ? 152.540 258.735 279.279 1.00 125.72 185 Bj 1 +ATOM 1084 C CB . ARG Q 17 185 ? 155.652 259.644 278.618 1.00 125.72 185 Bj 1 +ATOM 1085 C CG . ARG Q 17 185 ? 155.034 259.681 277.235 1.00 125.72 185 Bj 1 +ATOM 1086 C CD . ARG Q 17 185 ? 156.064 260.119 276.211 1.00 125.72 185 Bj 1 +ATOM 1087 N NE . ARG Q 17 185 ? 155.563 260.025 274.845 1.00 125.72 185 Bj 1 +ATOM 1088 C CZ . ARG Q 17 185 ? 156.149 260.598 273.800 1.00 125.72 185 Bj 1 +ATOM 1089 N NH1 . ARG Q 17 185 ? 157.250 261.316 273.971 1.00 125.72 185 Bj 1 +ATOM 1090 N NH2 . ARG Q 17 185 ? 155.631 260.462 272.587 1.00 125.72 185 Bj 1 +ATOM 1091 N N . GLN Q 17 186 ? 154.083 257.448 280.298 1.00 132.51 186 Bj 1 +ATOM 1092 C CA . GLN Q 17 186 ? 153.167 256.318 280.411 1.00 132.51 186 Bj 1 +ATOM 1093 C C . GLN Q 17 186 ? 151.994 256.642 281.326 1.00 132.51 186 Bj 1 +ATOM 1094 O O . GLN Q 17 186 ? 150.860 256.229 281.055 1.00 132.51 186 Bj 1 +ATOM 1095 C CB . GLN Q 17 186 ? 153.914 255.087 280.925 1.00 132.51 186 Bj 1 +ATOM 1096 C CG . GLN Q 17 186 ? 155.119 254.696 280.089 1.00 132.51 186 Bj 1 +ATOM 1097 C CD . GLN Q 17 186 ? 155.882 253.529 280.683 1.00 132.51 186 Bj 1 +ATOM 1098 O OE1 . GLN Q 17 186 ? 155.493 252.978 281.713 1.00 132.51 186 Bj 1 +ATOM 1099 N NE2 . GLN Q 17 186 ? 156.978 253.147 280.037 1.00 132.51 186 Bj 1 +ATOM 1100 N N . THR Q 17 187 ? 152.245 257.383 282.408 1.00 131.91 187 Bj 1 +ATOM 1101 C CA . THR Q 17 187 ? 151.163 257.778 283.304 1.00 131.91 187 Bj 1 +ATOM 1102 C C . THR Q 17 187 ? 150.188 258.718 282.606 1.00 131.91 187 Bj 1 +ATOM 1103 O O . THR Q 17 187 ? 148.971 258.593 282.773 1.00 131.91 187 Bj 1 +ATOM 1104 C CB . THR Q 17 187 ? 151.737 258.432 284.560 1.00 131.91 187 Bj 1 +ATOM 1105 O OG1 . THR Q 17 187 ? 152.712 257.561 285.147 1.00 131.91 187 Bj 1 +ATOM 1106 C CG2 . THR Q 17 187 ? 150.634 258.703 285.570 1.00 131.91 187 Bj 1 +ATOM 1107 N N . ALA Q 17 188 ? 150.705 259.659 281.814 1.00 133.19 188 Bj 1 +ATOM 1108 C CA . ALA Q 17 188 ? 149.827 260.556 281.066 1.00 133.19 188 Bj 1 +ATOM 1109 C C . ALA Q 17 188 ? 149.020 259.794 280.020 1.00 133.19 188 Bj 1 +ATOM 1110 O O . ALA Q 17 188 ? 147.848 260.110 279.775 1.00 133.19 188 Bj 1 +ATOM 1111 C CB . ALA Q 17 188 ? 150.647 261.666 280.409 1.00 133.19 188 Bj 1 +ATOM 1112 N N . GLU Q 17 189 ? 149.632 258.789 279.390 1.00 135.20 189 Bj 1 +ATOM 1113 C CA . GLU Q 17 189 ? 148.905 257.958 278.433 1.00 135.20 189 Bj 1 +ATOM 1114 C C . GLU Q 17 189 ? 147.783 257.190 279.121 1.00 135.20 189 Bj 1 +ATOM 1115 O O . GLU Q 17 189 ? 146.649 257.145 278.628 1.00 135.20 189 Bj 1 +ATOM 1116 C CB . GLU Q 17 189 ? 149.869 257.000 277.732 1.00 135.20 189 Bj 1 +ATOM 1117 C CG . GLU Q 17 189 ? 150.860 257.688 276.807 1.00 135.20 189 Bj 1 +ATOM 1118 C CD . GLU Q 17 189 ? 151.898 256.735 276.247 1.00 135.20 189 Bj 1 +ATOM 1119 O OE1 . GLU Q 17 189 ? 151.856 255.537 276.598 1.00 135.20 189 Bj 1 +ATOM 1120 O OE2 . GLU Q 17 189 ? 152.755 257.183 275.457 1.00 135.20 189 Bj 1 +ATOM 1121 N N . ARG Q 17 190 ? 148.085 256.576 280.268 1.00 137.16 190 Bj 1 +ATOM 1122 C CA . ARG Q 17 190 ? 147.053 255.885 281.035 1.00 137.16 190 Bj 1 +ATOM 1123 C C . ARG Q 17 190 ? 145.950 256.847 281.459 1.00 137.16 190 Bj 1 +ATOM 1124 O O . ARG Q 17 190 ? 144.768 256.483 281.473 1.00 137.16 190 Bj 1 +ATOM 1125 C CB . ARG Q 17 190 ? 147.674 255.206 282.256 1.00 137.16 190 Bj 1 +ATOM 1126 C CG . ARG Q 17 190 ? 146.670 254.507 283.159 1.00 137.16 190 Bj 1 +ATOM 1127 C CD . ARG Q 17 190 ? 147.358 253.841 284.338 1.00 137.16 190 Bj 1 +ATOM 1128 N NE . ARG Q 17 190 ? 148.133 254.792 285.129 1.00 137.16 190 Bj 1 +ATOM 1129 C CZ . ARG Q 17 190 ? 147.632 255.522 286.120 1.00 137.16 190 Bj 1 +ATOM 1130 N NH1 . ARG Q 17 190 ? 146.352 255.413 286.445 1.00 137.16 190 Bj 1 +ATOM 1131 N NH2 . ARG Q 17 190 ? 148.412 256.362 286.786 1.00 137.16 190 Bj 1 +ATOM 1132 N N . THR Q 17 191 ? 146.318 258.084 281.795 1.00 139.17 191 Bj 1 +ATOM 1133 C CA . THR Q 17 191 ? 145.327 259.090 282.158 1.00 139.17 191 Bj 1 +ATOM 1134 C C . THR Q 17 191 ? 144.388 259.378 280.996 1.00 139.17 191 Bj 1 +ATOM 1135 O O . THR Q 17 191 ? 143.164 259.268 281.131 1.00 139.17 191 Bj 1 +ATOM 1136 C CB . THR Q 17 191 ? 146.024 260.373 282.606 1.00 139.17 191 Bj 1 +ATOM 1137 O OG1 . THR Q 17 191 ? 146.894 260.085 283.707 1.00 139.17 191 Bj 1 +ATOM 1138 C CG2 . THR Q 17 191 ? 144.999 261.416 283.027 1.00 139.17 191 Bj 1 +ATOM 1139 N N . LEU Q 17 192 ? 144.945 259.747 279.841 1.00 141.63 192 Bj 1 +ATOM 1140 C CA . LEU Q 17 192 ? 144.109 260.056 278.687 1.00 141.63 192 Bj 1 +ATOM 1141 C C . LEU Q 17 192 ? 143.341 258.840 278.185 1.00 141.63 192 Bj 1 +ATOM 1142 O O . LEU Q 17 192 ? 142.352 259.004 277.463 1.00 141.63 192 Bj 1 +ATOM 1143 C CB . LEU Q 17 192 ? 144.956 260.651 277.557 1.00 141.63 192 Bj 1 +ATOM 1144 C CG . LEU Q 17 192 ? 146.099 259.830 276.954 1.00 141.63 192 Bj 1 +ATOM 1145 C CD1 . LEU Q 17 192 ? 145.628 258.957 275.794 1.00 141.63 192 Bj 1 +ATOM 1146 C CD2 . LEU Q 17 192 ? 147.225 260.747 276.511 1.00 141.63 192 Bj 1 +ATOM 1147 N N . ALA Q 17 193 ? 143.770 257.628 278.546 1.00 143.93 193 Bj 1 +ATOM 1148 C CA . ALA Q 17 193 ? 143.045 256.438 278.119 1.00 143.93 193 Bj 1 +ATOM 1149 C C . ALA Q 17 193 ? 141.916 256.066 279.074 1.00 143.93 193 Bj 1 +ATOM 1150 O O . ALA Q 17 193 ? 140.870 255.584 278.626 1.00 143.93 193 Bj 1 +ATOM 1151 C CB . ALA Q 17 193 ? 144.010 255.261 277.971 1.00 143.93 193 Bj 1 +ATOM 1152 N N . THR Q 17 194 ? 142.098 256.279 280.377 1.00 145.46 194 Bj 1 +ATOM 1153 C CA . THR Q 17 194 ? 141.129 255.841 281.375 1.00 145.46 194 Bj 1 +ATOM 1154 C C . THR Q 17 194 ? 140.242 256.970 281.888 1.00 145.46 194 Bj 1 +ATOM 1155 O O . THR Q 17 194 ? 139.014 256.846 281.870 1.00 145.46 194 Bj 1 +ATOM 1156 C CB . THR Q 17 194 ? 141.855 255.179 282.553 1.00 145.46 194 Bj 1 +ATOM 1157 O OG1 . THR Q 17 194 ? 142.819 256.090 283.094 1.00 145.46 194 Bj 1 +ATOM 1158 C CG2 . THR Q 17 194 ? 142.563 253.912 282.096 1.00 145.46 194 Bj 1 +ATOM 1159 N N . LEU Q 17 195 ? 140.840 258.069 282.358 1.00 142.21 195 Bj 1 +ATOM 1160 C CA . LEU Q 17 195 ? 140.050 259.165 282.911 1.00 142.21 195 Bj 1 +ATOM 1161 C C . LEU Q 17 195 ? 139.145 259.793 281.860 1.00 142.21 195 Bj 1 +ATOM 1162 O O . LEU Q 17 195 ? 138.038 260.239 282.181 1.00 142.21 195 Bj 1 +ATOM 1163 C CB . LEU Q 17 195 ? 140.968 260.229 283.517 1.00 142.21 195 Bj 1 +ATOM 1164 C CG . LEU Q 17 195 ? 141.597 259.972 284.891 1.00 142.21 195 Bj 1 +ATOM 1165 C CD1 . LEU Q 17 195 ? 142.698 258.923 284.829 1.00 142.21 195 Bj 1 +ATOM 1166 C CD2 . LEU Q 17 195 ? 142.128 261.271 285.480 1.00 142.21 195 Bj 1 +ATOM 1167 N N . SER Q 17 196 ? 139.594 259.839 280.604 1.00 140.98 196 Bj 1 +ATOM 1168 C CA . SER Q 17 196 ? 138.776 260.410 279.541 1.00 140.98 196 Bj 1 +ATOM 1169 C C . SER Q 17 196 ? 137.616 259.503 279.154 1.00 140.98 196 Bj 1 +ATOM 1170 O O . SER Q 17 196 ? 136.610 259.998 278.635 1.00 140.98 196 Bj 1 +ATOM 1171 C CB . SER Q 17 196 ? 139.642 260.710 278.317 1.00 140.98 196 Bj 1 +ATOM 1172 O OG . SER Q 17 196 ? 138.870 261.273 277.272 1.00 140.98 196 Bj 1 +ATOM 1173 N N . GLU Q 17 197 ? 137.739 258.194 279.389 1.00 135.62 197 Bj 1 +ATOM 1174 C CA . GLU Q 17 197 ? 136.656 257.236 279.156 1.00 135.62 197 Bj 1 +ATOM 1175 C C . GLU Q 17 197 ? 136.208 257.234 277.696 1.00 135.62 197 Bj 1 +ATOM 1176 O O . GLU Q 17 197 ? 135.013 257.193 277.396 1.00 135.62 197 Bj 1 +ATOM 1177 C CB . GLU Q 17 197 ? 135.470 257.510 280.085 1.00 135.62 197 Bj 1 +ATOM 1178 C CG . GLU Q 17 197 ? 135.840 257.617 281.554 1.00 135.62 197 Bj 1 +ATOM 1179 C CD . GLU Q 17 197 ? 134.680 258.079 282.413 1.00 135.62 197 Bj 1 +ATOM 1180 O OE1 . GLU Q 17 197 ? 133.581 258.302 281.863 1.00 135.62 197 Bj 1 +ATOM 1181 O OE2 . GLU Q 17 197 ? 134.868 258.222 283.639 1.00 135.62 197 Bj 1 +ATOM 1182 N N . ASN Q 17 198 ? 137.171 257.276 276.779 1.00 129.66 198 Bj 1 +ATOM 1183 C CA . ASN Q 17 198 ? 136.857 257.290 275.358 1.00 129.66 198 Bj 1 +ATOM 1184 C C . ASN Q 17 198 ? 138.089 256.875 274.568 1.00 129.66 198 Bj 1 +ATOM 1185 O O . ASN Q 17 198 ? 139.210 256.881 275.082 1.00 129.66 198 Bj 1 +ATOM 1186 C CB . ASN Q 17 198 ? 136.372 258.671 274.903 1.00 129.66 198 Bj 1 +ATOM 1187 C CG . ASN Q 17 198 ? 137.500 259.681 274.800 1.00 129.66 198 Bj 1 +ATOM 1188 O OD1 . ASN Q 17 198 ? 138.430 259.675 275.605 1.00 129.66 198 Bj 1 +ATOM 1189 N ND2 . ASN Q 17 198 ? 137.425 260.552 273.801 1.00 129.66 198 Bj 1 +ATOM 1190 N N . ASN Q 17 199 ? 137.862 256.515 273.307 1.00 121.02 199 Bj 1 +ATOM 1191 C CA . ASN Q 17 199 ? 138.944 256.208 272.374 1.00 121.02 199 Bj 1 +ATOM 1192 C C . ASN Q 17 199 ? 139.384 257.519 271.734 1.00 121.02 199 Bj 1 +ATOM 1193 O O . ASN Q 17 199 ? 138.711 258.055 270.850 1.00 121.02 199 Bj 1 +ATOM 1194 C CB . ASN Q 17 199 ? 138.496 255.185 271.335 1.00 121.02 199 Bj 1 +ATOM 1195 C CG . ASN Q 17 199 ? 137.204 255.577 270.646 1.00 121.02 199 Bj 1 +ATOM 1196 O OD1 . ASN Q 17 199 ? 136.405 256.339 271.189 1.00 121.02 199 Bj 1 +ATOM 1197 N ND2 . ASN Q 17 199 ? 136.993 255.057 269.443 1.00 121.02 199 Bj 1 +ATOM 1198 N N . MET Q 17 200 ? 140.516 258.044 272.190 1.00 123.96 200 Bj 1 +ATOM 1199 C CA . MET Q 17 200 ? 141.014 259.341 271.760 1.00 123.96 200 Bj 1 +ATOM 1200 C C . MET Q 17 200 ? 142.451 259.205 271.279 1.00 123.96 200 Bj 1 +ATOM 1201 O O . MET Q 17 200 ? 143.258 258.501 271.895 1.00 123.96 200 Bj 1 +ATOM 1202 C CB . MET Q 17 200 ? 140.927 260.358 272.901 1.00 123.96 200 Bj 1 +ATOM 1203 C CG . MET Q 17 200 ? 141.315 261.768 272.517 1.00 123.96 200 Bj 1 +ATOM 1204 S SD . MET Q 17 200 ? 141.001 262.928 273.857 1.00 123.96 200 Bj 1 +ATOM 1205 C CE . MET Q 17 200 ? 141.986 262.202 275.165 1.00 123.96 200 Bj 1 +ATOM 1206 N N . GLU Q 17 201 ? 142.767 259.880 270.176 1.00 115.66 201 Bj 1 +ATOM 1207 C CA . GLU Q 17 201 ? 144.092 259.821 269.570 1.00 115.66 201 Bj 1 +ATOM 1208 C C . GLU Q 17 201 ? 144.889 261.040 270.022 1.00 115.66 201 Bj 1 +ATOM 1209 O O . GLU Q 17 201 ? 144.619 262.164 269.586 1.00 115.66 201 Bj 1 +ATOM 1210 C CB . GLU Q 17 201 ? 143.988 259.759 268.048 1.00 115.66 201 Bj 1 +ATOM 1211 C CG . GLU Q 17 201 ? 143.149 258.601 267.531 1.00 115.66 201 Bj 1 +ATOM 1212 C CD . GLU Q 17 201 ? 143.120 258.531 266.017 1.00 115.66 201 Bj 1 +ATOM 1213 O OE1 . GLU Q 17 201 ? 143.950 259.207 265.373 1.00 115.66 201 Bj 1 +ATOM 1214 O OE2 . GLU Q 17 201 ? 142.265 257.803 265.470 1.00 115.66 201 Bj 1 +ATOM 1215 N N . ALA Q 17 202 ? 145.869 260.814 270.892 1.00 117.10 202 Bj 1 +ATOM 1216 C CA . ALA Q 17 202 ? 146.717 261.870 271.422 1.00 117.10 202 Bj 1 +ATOM 1217 C C . ALA Q 17 202 ? 148.131 261.723 270.876 1.00 117.10 202 Bj 1 +ATOM 1218 O O . ALA Q 17 202 ? 148.651 260.609 270.767 1.00 117.10 202 Bj 1 +ATOM 1219 C CB . ALA Q 17 202 ? 146.744 261.840 272.952 1.00 117.10 202 Bj 1 +ATOM 1220 N N . LYS Q 17 203 ? 148.748 262.853 270.539 1.00 120.82 203 Bj 1 +ATOM 1221 C CA . LYS Q 17 203 ? 150.096 262.887 269.981 1.00 120.82 203 Bj 1 +ATOM 1222 C C . LYS Q 17 203 ? 150.986 263.704 270.910 1.00 120.82 203 Bj 1 +ATOM 1223 O O . LYS Q 17 203 ? 150.846 264.929 270.994 1.00 120.82 203 Bj 1 +ATOM 1224 C CB . LYS Q 17 203 ? 150.087 263.476 268.572 1.00 120.82 203 Bj 1 +ATOM 1225 C CG . LYS Q 17 203 ? 151.408 263.346 267.834 1.00 120.82 203 Bj 1 +ATOM 1226 C CD . LYS Q 17 203 ? 151.757 261.888 267.591 1.00 120.82 203 Bj 1 +ATOM 1227 C CE . LYS Q 17 203 ? 153.066 261.752 266.833 1.00 120.82 203 Bj 1 +ATOM 1228 N NZ . LYS Q 17 203 ? 153.409 260.327 266.571 1.00 120.82 203 Bj 1 +ATOM 1229 N N . PHE Q 17 204 ? 151.897 263.028 271.606 1.00 125.72 204 Bj 1 +ATOM 1230 C CA . PHE Q 17 204 ? 152.832 263.707 272.490 1.00 125.72 204 Bj 1 +ATOM 1231 C C . PHE Q 17 204 ? 153.972 264.322 271.689 1.00 125.72 204 Bj 1 +ATOM 1232 O O . PHE Q 17 204 ? 154.445 263.744 270.707 1.00 125.72 204 Bj 1 +ATOM 1233 C CB . PHE Q 17 204 ? 153.391 262.739 273.531 1.00 125.72 204 Bj 1 +ATOM 1234 C CG . PHE Q 17 204 ? 152.415 262.383 274.614 1.00 125.72 204 Bj 1 +ATOM 1235 C CD1 . PHE Q 17 204 ? 151.538 261.325 274.454 1.00 125.72 204 Bj 1 +ATOM 1236 C CD2 . PHE Q 17 204 ? 152.379 263.106 275.795 1.00 125.72 204 Bj 1 +ATOM 1237 C CE1 . PHE Q 17 204 ? 150.641 260.996 275.451 1.00 125.72 204 Bj 1 +ATOM 1238 C CE2 . PHE Q 17 204 ? 151.484 262.782 276.795 1.00 125.72 204 Bj 1 +ATOM 1239 C CZ . PHE Q 17 204 ? 150.615 261.725 276.624 1.00 125.72 204 Bj 1 +ATOM 1240 N N . LEU Q 17 205 ? 154.414 265.504 272.120 1.00 121.24 205 Bj 1 +ATOM 1241 C CA . LEU Q 17 205 ? 155.467 266.215 271.402 1.00 121.24 205 Bj 1 +ATOM 1242 C C . LEU Q 17 205 ? 156.851 265.713 271.799 1.00 121.24 205 Bj 1 +ATOM 1243 O O . LEU Q 17 205 ? 157.602 265.202 270.961 1.00 121.24 205 Bj 1 +ATOM 1244 C CB . LEU Q 17 205 ? 155.344 267.719 271.658 1.00 121.24 205 Bj 1 +ATOM 1245 C CG . LEU Q 17 205 ? 153.967 268.330 271.399 1.00 121.24 205 Bj 1 +ATOM 1246 C CD1 . LEU Q 17 205 ? 153.973 269.814 271.724 1.00 121.24 205 Bj 1 +ATOM 1247 C CD2 . LEU Q 17 205 ? 153.536 268.092 269.962 1.00 121.24 205 Bj 1 +ATOM 1248 N N . GLY Q 17 206 ? 157.202 265.847 273.070 1.00 130.10 206 Bj 1 +ATOM 1249 C CA . GLY Q 17 206 ? 158.515 265.444 273.539 1.00 130.10 206 Bj 1 +ATOM 1250 C C . GLY Q 17 206 ? 158.419 264.700 274.853 1.00 130.10 206 Bj 1 +ATOM 1251 O O . GLY Q 17 206 ? 157.446 264.831 275.598 1.00 130.10 206 Bj 1 +ATOM 1252 N N . ASN Q 17 207 ? 159.458 263.909 275.133 1.00 132.28 207 Bj 1 +ATOM 1253 C CA . ASN Q 17 207 ? 159.476 263.119 276.359 1.00 132.28 207 Bj 1 +ATOM 1254 C C . ASN Q 17 207 ? 159.764 263.982 277.581 1.00 132.28 207 Bj 1 +ATOM 1255 O O . ASN Q 17 207 ? 159.380 263.618 278.699 1.00 132.28 207 Bj 1 +ATOM 1256 C CB . ASN Q 17 207 ? 160.510 261.999 276.242 1.00 132.28 207 Bj 1 +ATOM 1257 C CG . ASN Q 17 207 ? 160.456 261.029 277.405 1.00 132.28 207 Bj 1 +ATOM 1258 O OD1 . ASN Q 17 207 ? 159.414 260.859 278.039 1.00 132.28 207 Bj 1 +ATOM 1259 N ND2 . ASN Q 17 207 ? 161.581 260.384 277.690 1.00 132.28 207 Bj 1 +ATOM 1260 N N . ALA Q 17 208 ? 160.429 265.117 277.395 1.00 129.27 208 Bj 1 +ATOM 1261 C CA . ALA Q 17 208 ? 160.739 265.987 278.515 1.00 129.27 208 Bj 1 +ATOM 1262 C C . ALA Q 17 208 ? 159.476 266.692 279.008 1.00 129.27 208 Bj 1 +ATOM 1263 O O . ALA Q 17 208 ? 158.549 266.940 278.230 1.00 129.27 208 Bj 1 +ATOM 1264 C CB . ALA Q 17 208 ? 161.789 267.020 278.115 1.00 129.27 208 Bj 1 +ATOM 1265 N N . PRO Q 17 209 ? 159.410 267.019 280.299 1.00 132.17 209 Bj 1 +ATOM 1266 C CA . PRO Q 17 209 ? 158.236 267.726 280.821 1.00 132.17 209 Bj 1 +ATOM 1267 C C . PRO Q 17 209 ? 158.110 269.117 280.221 1.00 132.17 209 Bj 1 +ATOM 1268 O O . PRO Q 17 209 ? 159.065 269.686 279.688 1.00 132.17 209 Bj 1 +ATOM 1269 C CB . PRO Q 17 209 ? 158.499 267.795 282.331 1.00 132.17 209 Bj 1 +ATOM 1270 C CG . PRO Q 17 209 ? 159.515 266.734 282.598 1.00 132.17 209 Bj 1 +ATOM 1271 C CD . PRO Q 17 209 ? 160.359 266.661 281.366 1.00 132.17 209 Bj 1 +ATOM 1272 N N . CYS Q 17 210 ? 156.902 269.668 280.318 1.00 129.55 210 Bj 1 +ATOM 1273 C CA . CYS Q 17 210 ? 156.616 271.006 279.817 1.00 129.55 210 Bj 1 +ATOM 1274 C C . CYS Q 17 210 ? 156.563 272.051 280.922 1.00 129.55 210 Bj 1 +ATOM 1275 O O . CYS Q 17 210 ? 156.967 273.196 280.703 1.00 129.55 210 Bj 1 +ATOM 1276 C CB . CYS Q 17 210 ? 155.294 271.012 279.044 1.00 129.55 210 Bj 1 +ATOM 1277 S SG . CYS Q 17 210 ? 155.139 269.674 277.842 1.00 129.55 210 Bj 1 +ATOM 1278 N N . GLY Q 17 211 ? 156.076 271.687 282.100 1.00 136.75 211 Bj 1 +ATOM 1279 C CA . GLY Q 17 211 ? 156.066 272.608 283.225 1.00 136.75 211 Bj 1 +ATOM 1280 C C . GLY Q 17 211 ? 156.247 271.868 284.528 1.00 136.75 211 Bj 1 +ATOM 1281 O O . GLY Q 17 211 ? 155.885 270.695 284.650 1.00 136.75 211 Bj 1 +ATOM 1282 N N . HIS Q 17 212 ? 156.808 272.561 285.516 1.00 134.65 212 Bj 1 +ATOM 1283 C CA . HIS Q 17 212 ? 157.023 272.000 286.842 1.00 134.65 212 Bj 1 +ATOM 1284 C C . HIS Q 17 212 ? 156.523 272.973 287.897 1.00 134.65 212 Bj 1 +ATOM 1285 O O . HIS Q 17 212 ? 156.786 274.177 287.812 1.00 134.65 212 Bj 1 +ATOM 1286 C CB . HIS Q 17 212 ? 158.502 271.694 287.090 1.00 134.65 212 Bj 1 +ATOM 1287 C CG . HIS Q 17 212 ? 158.933 270.348 286.601 1.00 134.65 212 Bj 1 +ATOM 1288 N ND1 . HIS Q 17 212 ? 159.905 269.605 287.236 1.00 134.65 212 Bj 1 +ATOM 1289 C CD2 . HIS Q 17 212 ? 158.530 269.612 285.539 1.00 134.65 212 Bj 1 +ATOM 1290 C CE1 . HIS Q 17 212 ? 160.079 268.468 286.587 1.00 134.65 212 Bj 1 +ATOM 1291 N NE2 . HIS Q 17 212 ? 159.258 268.447 285.553 1.00 134.65 212 Bj 1 +ATOM 1292 N N . TYR Q 17 213 ? 155.805 272.454 288.892 1.00 135.25 213 Bj 1 +ATOM 1293 C CA . TYR Q 17 213 ? 155.323 273.300 289.979 1.00 135.25 213 Bj 1 +ATOM 1294 C C . TYR Q 17 213 ? 155.377 272.542 291.296 1.00 135.25 213 Bj 1 +ATOM 1295 O O . TYR Q 17 213 ? 154.938 271.392 291.372 1.00 135.25 213 Bj 1 +ATOM 1296 C CB . TYR Q 17 213 ? 153.896 273.793 289.707 1.00 135.25 213 Bj 1 +ATOM 1297 C CG . TYR Q 17 213 ? 153.785 274.683 288.490 1.00 135.25 213 Bj 1 +ATOM 1298 C CD1 . TYR Q 17 213 ? 153.974 276.055 288.588 1.00 135.25 213 Bj 1 +ATOM 1299 C CD2 . TYR Q 17 213 ? 153.497 274.151 287.241 1.00 135.25 213 Bj 1 +ATOM 1300 C CE1 . TYR Q 17 213 ? 153.875 276.870 287.476 1.00 135.25 213 Bj 1 +ATOM 1301 C CE2 . TYR Q 17 213 ? 153.395 274.957 286.125 1.00 135.25 213 Bj 1 +ATOM 1302 C CZ . TYR Q 17 213 ? 153.585 276.315 286.248 1.00 135.25 213 Bj 1 +ATOM 1303 O OH . TYR Q 17 213 ? 153.485 277.120 285.137 1.00 135.25 213 Bj 1 +ATOM 1304 N N . LYS Q 17 214 ? 155.902 273.189 292.333 1.00 138.67 214 Bj 1 +ATOM 1305 C CA . LYS Q 17 214 ? 156.024 272.582 293.650 1.00 138.67 214 Bj 1 +ATOM 1306 C C . LYS Q 17 214 ? 155.177 273.334 294.667 1.00 138.67 214 Bj 1 +ATOM 1307 O O . LYS Q 17 214 ? 154.975 274.547 294.559 1.00 138.67 214 Bj 1 +ATOM 1308 C CB . LYS Q 17 214 ? 157.483 272.554 294.123 1.00 138.67 214 Bj 1 +ATOM 1309 C CG . LYS Q 17 214 ? 158.319 271.446 293.510 1.00 138.67 214 Bj 1 +ATOM 1310 C CD . LYS Q 17 214 ? 159.715 271.422 294.112 1.00 138.67 214 Bj 1 +ATOM 1311 C CE . LYS Q 17 214 ? 160.537 270.265 293.567 1.00 138.67 214 Bj 1 +ATOM 1312 N NZ . LYS Q 17 214 ? 159.905 268.949 293.855 1.00 138.67 214 Bj 1 +ATOM 1313 N N . PHE Q 17 215 ? 154.684 272.594 295.658 1.00 143.45 215 Bj 1 +ATOM 1314 C CA . PHE Q 17 215 ? 153.944 273.179 296.769 1.00 143.45 215 Bj 1 +ATOM 1315 C C . PHE Q 17 215 ? 154.171 272.332 298.012 1.00 143.45 215 Bj 1 +ATOM 1316 O O . PHE Q 17 215 ? 154.077 271.103 297.954 1.00 143.45 215 Bj 1 +ATOM 1317 C CB . PHE Q 17 215 ? 152.446 273.293 296.456 1.00 143.45 215 Bj 1 +ATOM 1318 C CG . PHE Q 17 215 ? 151.816 272.015 295.975 1.00 143.45 215 Bj 1 +ATOM 1319 C CD1 . PHE Q 17 215 ? 151.873 271.659 294.637 1.00 143.45 215 Bj 1 +ATOM 1320 C CD2 . PHE Q 17 215 ? 151.143 271.185 296.855 1.00 143.45 215 Bj 1 +ATOM 1321 C CE1 . PHE Q 17 215 ? 151.287 270.489 294.190 1.00 143.45 215 Bj 1 +ATOM 1322 C CE2 . PHE Q 17 215 ? 150.553 270.015 296.414 1.00 143.45 215 Bj 1 +ATOM 1323 C CZ . PHE Q 17 215 ? 150.626 269.667 295.079 1.00 143.45 215 Bj 1 +ATOM 1324 N N . LYS Q 17 216 ? 154.477 272.988 299.126 1.00 149.62 216 Bj 1 +ATOM 1325 C CA . LYS Q 17 216 ? 154.790 272.310 300.375 1.00 149.62 216 Bj 1 +ATOM 1326 C C . LYS Q 17 216 ? 153.709 272.593 301.408 1.00 149.62 216 Bj 1 +ATOM 1327 O O . LYS Q 17 216 ? 153.137 273.687 301.440 1.00 149.62 216 Bj 1 +ATOM 1328 C CB . LYS Q 17 216 ? 156.158 272.749 300.906 1.00 149.62 216 Bj 1 +ATOM 1329 C CG . LYS Q 17 216 ? 157.300 272.479 299.940 1.00 149.62 216 Bj 1 +ATOM 1330 C CD . LYS Q 17 216 ? 158.639 272.904 300.519 1.00 149.62 216 Bj 1 +ATOM 1331 C CE . LYS Q 17 216 ? 159.771 272.621 299.544 1.00 149.62 216 Bj 1 +ATOM 1332 N NZ . LYS Q 17 216 ? 161.098 272.996 300.105 1.00 149.62 216 Bj 1 +ATOM 1333 N N . PHE Q 17 217 ? 153.435 271.602 302.250 1.00 143.58 217 Bj 1 +ATOM 1334 C CA . PHE Q 17 217 ? 152.407 271.732 303.275 1.00 143.58 217 Bj 1 +ATOM 1335 C C . PHE Q 17 217 ? 153.018 272.091 304.624 1.00 143.58 217 Bj 1 +ATOM 1336 O O . PHE Q 17 217 ? 152.899 271.339 305.590 1.00 143.58 217 Bj 1 +ATOM 1337 C CB . PHE Q 17 217 ? 151.599 270.437 303.392 1.00 143.58 217 Bj 1 +ATOM 1338 C CG . PHE Q 17 217 ? 150.831 270.087 302.150 1.00 143.58 217 Bj 1 +ATOM 1339 C CD1 . PHE Q 17 217 ? 150.463 271.069 301.245 1.00 143.58 217 Bj 1 +ATOM 1340 C CD2 . PHE Q 17 217 ? 150.477 268.774 301.886 1.00 143.58 217 Bj 1 +ATOM 1341 C CE1 . PHE Q 17 217 ? 149.756 270.748 300.101 1.00 143.58 217 Bj 1 +ATOM 1342 C CE2 . PHE Q 17 217 ? 149.771 268.447 300.744 1.00 143.58 217 Bj 1 +ATOM 1343 C CZ . PHE Q 17 217 ? 149.410 269.435 299.851 1.00 143.58 217 Bj 1 +ATOM 1344 N N . LEU Q 17 227 ? 157.135 268.148 304.312 1.00 125.05 227 Bj 1 +ATOM 1345 C CA . LEU Q 17 227 ? 156.195 267.564 303.362 1.00 125.05 227 Bj 1 +ATOM 1346 C C . LEU Q 17 227 ? 156.009 268.470 302.151 1.00 125.05 227 Bj 1 +ATOM 1347 O O . LEU Q 17 227 ? 155.534 269.599 302.277 1.00 125.05 227 Bj 1 +ATOM 1348 C CB . LEU Q 17 227 ? 154.846 267.299 304.034 1.00 125.05 227 Bj 1 +ATOM 1349 C CG . LEU Q 17 227 ? 153.726 266.761 303.141 1.00 125.05 227 Bj 1 +ATOM 1350 C CD1 . LEU Q 17 227 ? 154.132 265.448 302.492 1.00 125.05 227 Bj 1 +ATOM 1351 C CD2 . LEU Q 17 227 ? 152.443 266.591 303.938 1.00 125.05 227 Bj 1 +ATOM 1352 N N . GLY Q 17 228 ? 156.388 267.969 300.971 1.00 128.22 228 Bj 1 +ATOM 1353 C CA . GLY Q 17 228 ? 156.244 268.718 299.745 1.00 128.22 228 Bj 1 +ATOM 1354 C C . GLY Q 17 228 ? 155.646 267.856 298.647 1.00 128.22 228 Bj 1 +ATOM 1355 O O . GLY Q 17 228 ? 155.531 266.635 298.775 1.00 128.22 228 Bj 1 +ATOM 1356 N N . ALA Q 17 229 ? 155.272 268.518 297.555 1.00 135.59 229 Bj 1 +ATOM 1357 C CA . ALA Q 17 229 ? 154.709 267.825 296.410 1.00 135.59 229 Bj 1 +ATOM 1358 C C . ALA Q 17 229 ? 155.086 268.574 295.142 1.00 135.59 229 Bj 1 +ATOM 1359 O O . ALA Q 17 229 ? 155.273 269.793 295.151 1.00 135.59 229 Bj 1 +ATOM 1360 C CB . ALA Q 17 229 ? 153.186 267.691 296.522 1.00 135.59 229 Bj 1 +ATOM 1361 N N . LYS Q 17 230 ? 155.195 267.821 294.052 1.00 134.09 230 Bj 1 +ATOM 1362 C CA . LYS Q 17 230 ? 155.610 268.330 292.755 1.00 134.09 230 Bj 1 +ATOM 1363 C C . LYS Q 17 230 ? 154.658 267.812 291.689 1.00 134.09 230 Bj 1 +ATOM 1364 O O . LYS Q 17 230 ? 154.215 266.660 291.748 1.00 134.09 230 Bj 1 +ATOM 1365 C CB . LYS Q 17 230 ? 157.044 267.900 292.437 1.00 134.09 230 Bj 1 +ATOM 1366 C CG . LYS Q 17 230 ? 157.266 266.407 292.605 1.00 134.09 230 Bj 1 +ATOM 1367 C CD . LYS Q 17 230 ? 158.738 266.053 292.685 1.00 134.09 230 Bj 1 +ATOM 1368 C CE . LYS Q 17 230 ? 158.919 264.566 292.931 1.00 134.09 230 Bj 1 +ATOM 1369 N NZ . LYS Q 17 230 ? 158.240 264.126 294.181 1.00 134.09 230 Bj 1 +ATOM 1370 N N . VAL Q 17 231 ? 154.339 268.668 290.723 1.00 135.01 231 Bj 1 +ATOM 1371 C CA . VAL Q 17 231 ? 153.447 268.325 289.624 1.00 135.01 231 Bj 1 +ATOM 1372 C C . VAL Q 17 231 ? 154.143 268.676 288.317 1.00 135.01 231 Bj 1 +ATOM 1373 O O . VAL Q 17 231 ? 154.717 269.766 288.179 1.00 135.01 231 Bj 1 +ATOM 1374 C CB . VAL Q 17 231 ? 152.083 269.037 289.740 1.00 135.01 231 Bj 1 +ATOM 1375 C CG1 . VAL Q 17 231 ? 152.256 270.540 289.888 1.00 135.01 231 Bj 1 +ATOM 1376 C CG2 . VAL Q 17 231 ? 151.200 268.706 288.544 1.00 135.01 231 Bj 1 +ATOM 1377 N N . PHE Q 17 232 ? 154.109 267.736 287.371 1.00 135.12 232 Bj 1 +ATOM 1378 C CA . PHE Q 17 232 ? 154.776 267.856 286.079 1.00 135.12 232 Bj 1 +ATOM 1379 C C . PHE Q 17 232 ? 153.708 267.897 284.994 1.00 135.12 232 Bj 1 +ATOM 1380 O O . PHE Q 17 232 ? 152.998 266.910 284.777 1.00 135.12 232 Bj 1 +ATOM 1381 C CB . PHE Q 17 232 ? 155.736 266.691 285.848 1.00 135.12 232 Bj 1 +ATOM 1382 C CG . PHE Q 17 232 ? 156.600 266.370 287.032 1.00 135.12 232 Bj 1 +ATOM 1383 C CD1 . PHE Q 17 232 ? 157.175 267.378 287.786 1.00 135.12 232 Bj 1 +ATOM 1384 C CD2 . PHE Q 17 232 ? 156.831 265.055 287.394 1.00 135.12 232 Bj 1 +ATOM 1385 C CE1 . PHE Q 17 232 ? 157.968 267.079 288.875 1.00 135.12 232 Bj 1 +ATOM 1386 C CE2 . PHE Q 17 232 ? 157.623 264.749 288.481 1.00 135.12 232 Bj 1 +ATOM 1387 C CZ . PHE Q 17 232 ? 158.192 265.763 289.223 1.00 135.12 232 Bj 1 +ATOM 1388 N N . PHE Q 17 233 ? 153.597 269.034 284.318 1.00 138.91 233 Bj 1 +ATOM 1389 C CA . PHE Q 17 233 ? 152.629 269.220 283.246 1.00 138.91 233 Bj 1 +ATOM 1390 C C . PHE Q 17 233 ? 153.266 268.835 281.917 1.00 138.91 233 Bj 1 +ATOM 1391 O O . PHE Q 17 233 ? 154.289 269.410 281.525 1.00 138.91 233 Bj 1 +ATOM 1392 C CB . PHE Q 17 233 ? 152.141 270.667 283.211 1.00 138.91 233 Bj 1 +ATOM 1393 C CG . PHE Q 17 233 ? 151.342 271.064 284.416 1.00 138.91 233 Bj 1 +ATOM 1394 C CD1 . PHE Q 17 233 ? 151.971 271.457 285.584 1.00 138.91 233 Bj 1 +ATOM 1395 C CD2 . PHE Q 17 233 ? 149.959 271.042 284.380 1.00 138.91 233 Bj 1 +ATOM 1396 C CE1 . PHE Q 17 233 ? 151.233 271.818 286.695 1.00 138.91 233 Bj 1 +ATOM 1397 C CE2 . PHE Q 17 233 ? 149.218 271.404 285.489 1.00 138.91 233 Bj 1 +ATOM 1398 C CZ . PHE Q 17 233 ? 149.856 271.793 286.646 1.00 138.91 233 Bj 1 +ATOM 1399 N N . PHE Q 17 234 ? 152.663 267.863 281.235 1.00 134.22 234 Bj 1 +ATOM 1400 C CA . PHE Q 17 234 ? 153.088 267.418 279.917 1.00 134.22 234 Bj 1 +ATOM 1401 C C . PHE Q 17 234 ? 152.037 267.799 278.884 1.00 134.22 234 Bj 1 +ATOM 1402 O O . PHE Q 17 234 ? 150.840 267.584 279.098 1.00 134.22 234 Bj 1 +ATOM 1403 C CB . PHE Q 17 234 ? 153.301 265.902 279.885 1.00 134.22 234 Bj 1 +ATOM 1404 C CG . PHE Q 17 234 ? 154.564 265.447 280.554 1.00 134.22 234 Bj 1 +ATOM 1405 C CD1 . PHE Q 17 234 ? 154.684 265.473 281.933 1.00 134.22 234 Bj 1 +ATOM 1406 C CD2 . PHE Q 17 234 ? 155.625 264.972 279.802 1.00 134.22 234 Bj 1 +ATOM 1407 C CE1 . PHE Q 17 234 ? 155.845 265.047 282.547 1.00 134.22 234 Bj 1 +ATOM 1408 C CE2 . PHE Q 17 234 ? 156.786 264.542 280.410 1.00 134.22 234 Bj 1 +ATOM 1409 C CZ . PHE Q 17 234 ? 156.896 264.580 281.784 1.00 134.22 234 Bj 1 +ATOM 1410 N N . LYS Q 17 235 ? 152.488 268.350 277.760 1.00 127.98 235 Bj 1 +ATOM 1411 C CA . LYS Q 17 235 ? 151.591 268.748 276.685 1.00 127.98 235 Bj 1 +ATOM 1412 C C . LYS Q 17 235 ? 151.407 267.614 275.685 1.00 127.98 235 Bj 1 +ATOM 1413 O O . LYS Q 17 235 ? 152.342 266.861 275.399 1.00 127.98 235 Bj 1 +ATOM 1414 C CB . LYS Q 17 235 ? 152.120 269.988 275.962 1.00 127.98 235 Bj 1 +ATOM 1415 C CG . LYS Q 17 235 ? 151.913 271.288 276.717 1.00 127.98 235 Bj 1 +ATOM 1416 C CD . LYS Q 17 235 ? 152.321 272.477 275.865 1.00 127.98 235 Bj 1 +ATOM 1417 C CE . LYS Q 17 235 ? 151.978 273.788 276.547 1.00 127.98 235 Bj 1 +ATOM 1418 N NZ . LYS Q 17 235 ? 152.378 274.957 275.719 1.00 127.98 235 Bj 1 +ATOM 1419 N N . ALA Q 17 236 ? 150.191 267.503 275.155 1.00 124.65 236 Bj 1 +ATOM 1420 C CA . ALA Q 17 236 ? 149.871 266.534 274.120 1.00 124.65 236 Bj 1 +ATOM 1421 C C . ALA Q 17 236 ? 148.912 267.176 273.129 1.00 124.65 236 Bj 1 +ATOM 1422 O O . ALA Q 17 236 ? 148.201 268.130 273.453 1.00 124.65 236 Bj 1 +ATOM 1423 C CB . ALA Q 17 236 ? 149.260 265.254 274.706 1.00 124.65 236 Bj 1 +ATOM 1424 N N . LEU Q 17 237 ? 148.905 266.645 271.911 1.00 117.02 237 Bj 1 +ATOM 1425 C CA . LEU Q 17 237 ? 148.078 267.159 270.829 1.00 117.02 237 Bj 1 +ATOM 1426 C C . LEU Q 17 237 ? 146.925 266.201 270.561 1.00 117.02 237 Bj 1 +ATOM 1427 O O . LEU Q 17 237 ? 147.072 264.984 270.709 1.00 117.02 237 Bj 1 +ATOM 1428 C CB . LEU Q 17 237 ? 148.906 267.358 269.556 1.00 117.02 237 Bj 1 +ATOM 1429 C CG . LEU Q 17 237 ? 148.232 268.081 268.388 1.00 117.02 237 Bj 1 +ATOM 1430 C CD1 . LEU Q 17 237 ? 147.874 269.508 268.773 1.00 117.02 237 Bj 1 +ATOM 1431 C CD2 . LEU Q 17 237 ? 149.124 268.062 267.157 1.00 117.02 237 Bj 1 +ATOM 1432 N N . LEU Q 17 238 ? 145.780 266.752 270.167 1.00 111.74 238 Bj 1 +ATOM 1433 C CA . LEU Q 17 238 ? 144.598 265.953 269.875 1.00 111.74 238 Bj 1 +ATOM 1434 C C . LEU Q 17 238 ? 144.550 265.637 268.385 1.00 111.74 238 Bj 1 +ATOM 1435 O O . LEU Q 17 238 ? 144.436 266.545 267.555 1.00 111.74 238 Bj 1 +ATOM 1436 C CB . LEU Q 17 238 ? 143.330 266.688 270.308 1.00 111.74 238 Bj 1 +ATOM 1437 C CG . LEU Q 17 238 ? 142.006 266.022 269.930 1.00 111.74 238 Bj 1 +ATOM 1438 C CD1 . LEU Q 17 238 ? 141.964 264.588 270.427 1.00 111.74 238 Bj 1 +ATOM 1439 C CD2 . LEU Q 17 238 ? 140.831 266.812 270.482 1.00 111.74 238 Bj 1 +ATOM 1440 N N . LEU Q 17 239 ? 144.634 264.350 268.050 1.00 112.02 239 Bj 1 +ATOM 1441 C CA . LEU Q 17 239 ? 144.528 263.909 266.665 1.00 112.02 239 Bj 1 +ATOM 1442 C C . LEU Q 17 239 ? 143.084 263.603 266.282 1.00 112.02 239 Bj 1 +ATOM 1443 O O . LEU Q 17 239 ? 142.601 264.068 265.245 1.00 112.02 239 Bj 1 +ATOM 1444 C CB . LEU Q 17 239 ? 145.409 262.678 266.433 1.00 112.02 239 Bj 1 +ATOM 1445 C CG . LEU Q 17 239 ? 146.918 262.867 266.591 1.00 112.02 239 Bj 1 +ATOM 1446 C CD1 . LEU Q 17 239 ? 147.642 261.536 266.459 1.00 112.02 239 Bj 1 +ATOM 1447 C CD2 . LEU Q 17 239 ? 147.442 263.866 265.571 1.00 112.02 239 Bj 1 +ATOM 1448 N N . THR Q 17 240 ? 142.387 262.825 267.107 1.00 112.72 240 Bj 1 +ATOM 1449 C CA . THR Q 17 240 ? 140.988 262.492 266.862 1.00 112.72 240 Bj 1 +ATOM 1450 C C . THR Q 17 240 ? 140.284 262.360 268.201 1.00 112.72 240 Bj 1 +ATOM 1451 O O . THR Q 17 240 ? 140.656 261.510 269.017 1.00 112.72 240 Bj 1 +ATOM 1452 C CB . THR Q 17 240 ? 140.855 261.198 266.056 1.00 112.72 240 Bj 1 +ATOM 1453 O OG1 . THR Q 17 240 ? 141.478 261.363 264.776 1.00 112.72 240 Bj 1 +ATOM 1454 C CG2 . THR Q 17 240 ? 139.389 260.842 265.860 1.00 112.72 240 Bj 1 +ATOM 1455 N N . GLY Q 17 241 ? 139.281 263.204 268.427 1.00 112.39 241 Bj 1 +ATOM 1456 C CA . GLY Q 17 241 ? 138.518 263.163 269.658 1.00 112.39 241 Bj 1 +ATOM 1457 C C . GLY Q 17 241 ? 137.166 262.503 269.490 1.00 112.39 241 Bj 1 +ATOM 1458 O O . GLY Q 17 241 ? 136.235 263.106 268.948 1.00 112.39 241 Bj 1 +ATOM 1459 N N . ASP Q 17 242 ? 137.047 261.262 269.950 1.00 120.39 242 Bj 1 +ATOM 1460 C CA . ASP Q 17 242 ? 135.806 260.495 269.875 1.00 120.39 242 Bj 1 +ATOM 1461 C C . ASP Q 17 242 ? 135.359 260.229 271.309 1.00 120.39 242 Bj 1 +ATOM 1462 O O . ASP Q 17 242 ? 135.683 259.189 271.887 1.00 120.39 242 Bj 1 +ATOM 1463 C CB . ASP Q 17 242 ? 136.006 259.200 269.088 1.00 120.39 242 Bj 1 +ATOM 1464 C CG . ASP Q 17 242 ? 134.704 258.479 268.811 1.00 120.39 242 Bj 1 +ATOM 1465 O OD1 . ASP Q 17 242 ? 133.900 258.990 268.004 1.00 120.39 242 Bj 1 +ATOM 1466 O OD2 . ASP Q 17 242 ? 134.484 257.400 269.399 1.00 120.39 242 Bj 1 +ATOM 1467 N N . PHE Q 17 243 ? 134.612 261.172 271.876 1.00 125.10 243 Bj 1 +ATOM 1468 C CA . PHE Q 17 243 ? 134.205 261.109 273.274 1.00 125.10 243 Bj 1 +ATOM 1469 C C . PHE Q 17 243 ? 132.791 260.548 273.376 1.00 125.10 243 Bj 1 +ATOM 1470 O O . PHE Q 17 243 ? 131.858 261.086 272.771 1.00 125.10 243 Bj 1 +ATOM 1471 C CB . PHE Q 17 243 ? 134.284 262.493 273.916 1.00 125.10 243 Bj 1 +ATOM 1472 C CG . PHE Q 17 243 ? 133.967 262.500 275.384 1.00 125.10 243 Bj 1 +ATOM 1473 C CD1 . PHE Q 17 243 ? 134.948 262.216 276.319 1.00 125.10 243 Bj 1 +ATOM 1474 C CD2 . PHE Q 17 243 ? 132.690 262.797 275.830 1.00 125.10 243 Bj 1 +ATOM 1475 C CE1 . PHE Q 17 243 ? 134.661 262.224 277.670 1.00 125.10 243 Bj 1 +ATOM 1476 C CE2 . PHE Q 17 243 ? 132.398 262.805 277.179 1.00 125.10 243 Bj 1 +ATOM 1477 C CZ . PHE Q 17 243 ? 133.384 262.518 278.100 1.00 125.10 243 Bj 1 +ATOM 1478 N N . SER Q 17 244 ? 132.637 259.471 274.141 1.00 130.58 244 Bj 1 +ATOM 1479 C CA . SER Q 17 244 ? 131.334 258.873 274.383 1.00 130.58 244 Bj 1 +ATOM 1480 C C . SER Q 17 244 ? 130.729 259.423 275.668 1.00 130.58 244 Bj 1 +ATOM 1481 O O . SER Q 17 244 ? 131.444 259.824 276.591 1.00 130.58 244 Bj 1 +ATOM 1482 C CB . SER Q 17 244 ? 131.443 257.349 274.467 1.00 130.58 244 Bj 1 +ATOM 1483 O OG . SER Q 17 244 ? 130.182 256.759 274.733 1.00 130.58 244 Bj 1 +ATOM 1484 N N . GLN Q 17 245 ? 129.395 259.434 275.717 1.00 128.80 245 Bj 1 +ATOM 1485 C CA . GLN Q 17 245 ? 128.640 259.945 276.861 1.00 128.80 245 Bj 1 +ATOM 1486 C C . GLN Q 17 245 ? 129.024 261.398 277.157 1.00 128.80 245 Bj 1 +ATOM 1487 O O . GLN Q 17 245 ? 129.573 261.730 278.209 1.00 128.80 245 Bj 1 +ATOM 1488 C CB . GLN Q 17 245 ? 128.834 259.050 278.092 1.00 128.80 245 Bj 1 +ATOM 1489 C CG . GLN Q 17 245 ? 127.890 259.349 279.253 1.00 128.80 245 Bj 1 +ATOM 1490 C CD . GLN Q 17 245 ? 126.435 259.074 278.920 1.00 128.80 245 Bj 1 +ATOM 1491 O OE1 . GLN Q 17 245 ? 126.126 258.253 278.055 1.00 128.80 245 Bj 1 +ATOM 1492 N NE2 . GLN Q 17 245 ? 125.531 259.762 279.608 1.00 128.80 245 Bj 1 +ATOM 1493 N N . ALA Q 17 246 ? 128.731 262.266 276.186 1.00 127.68 246 Bj 1 +ATOM 1494 C CA . ALA Q 17 246 ? 129.038 263.683 276.337 1.00 127.68 246 Bj 1 +ATOM 1495 C C . ALA Q 17 246 ? 128.140 264.366 277.359 1.00 127.68 246 Bj 1 +ATOM 1496 O O . ALA Q 17 246 ? 128.472 265.463 277.821 1.00 127.68 246 Bj 1 +ATOM 1497 C CB . ALA Q 17 246 ? 128.926 264.394 274.987 1.00 127.68 246 Bj 1 +ATOM 1498 N N . GLY Q 17 247 ? 127.018 263.748 277.720 1.00 128.61 247 Bj 1 +ATOM 1499 C CA . GLY Q 17 247 ? 126.115 264.325 278.695 1.00 128.61 247 Bj 1 +ATOM 1500 C C . GLY Q 17 247 ? 126.252 263.710 280.072 1.00 128.61 247 Bj 1 +ATOM 1501 O O . GLY Q 17 247 ? 125.267 263.595 280.808 1.00 128.61 247 Bj 1 +ATOM 1502 N N . LYS Q 17 248 ? 127.468 263.311 280.433 1.00 125.96 248 Bj 1 +ATOM 1503 C CA . LYS Q 17 248 ? 127.713 262.724 281.739 1.00 125.96 248 Bj 1 +ATOM 1504 C C . LYS Q 17 248 ? 127.891 263.817 282.791 1.00 125.96 248 Bj 1 +ATOM 1505 O O . LYS Q 17 248 ? 127.941 265.012 282.488 1.00 125.96 248 Bj 1 +ATOM 1506 C CB . LYS Q 17 248 ? 128.946 261.822 281.702 1.00 125.96 248 Bj 1 +ATOM 1507 C CG . LYS Q 17 248 ? 130.258 262.572 281.540 1.00 125.96 248 Bj 1 +ATOM 1508 C CD . LYS Q 17 248 ? 131.448 261.630 281.626 1.00 125.96 248 Bj 1 +ATOM 1509 C CE . LYS Q 17 248 ? 132.761 262.393 281.596 1.00 125.96 248 Bj 1 +ATOM 1510 N NZ . LYS Q 17 248 ? 133.934 261.479 281.668 1.00 125.96 248 Bj 1 +ATOM 1511 N N . LYS Q 17 249 ? 127.991 263.389 284.050 1.00 120.94 249 Bj 1 +ATOM 1512 C CA . LYS Q 17 249 ? 128.204 264.319 285.150 1.00 120.94 249 Bj 1 +ATOM 1513 C C . LYS Q 17 249 ? 129.630 264.849 285.213 1.00 120.94 249 Bj 1 +ATOM 1514 O O . LYS Q 17 249 ? 129.879 265.823 285.932 1.00 120.94 249 Bj 1 +ATOM 1515 C CB . LYS Q 17 249 ? 127.843 263.653 286.481 1.00 120.94 249 Bj 1 +ATOM 1516 C CG . LYS Q 17 249 ? 126.360 263.355 286.649 1.00 120.94 249 Bj 1 +ATOM 1517 C CD . LYS Q 17 249 ? 125.530 264.631 286.660 1.00 120.94 249 Bj 1 +ATOM 1518 C CE . LYS Q 17 249 ? 124.617 264.713 285.447 1.00 120.94 249 Bj 1 +ATOM 1519 N NZ . LYS Q 17 249 ? 123.811 265.964 285.445 1.00 120.94 249 Bj 1 +ATOM 1520 N N . GLY Q 17 250 ? 130.565 264.239 284.488 1.00 123.18 250 Bj 1 +ATOM 1521 C CA . GLY Q 17 250 ? 131.923 264.742 284.431 1.00 123.18 250 Bj 1 +ATOM 1522 C C . GLY Q 17 250 ? 132.013 266.047 283.669 1.00 123.18 250 Bj 1 +ATOM 1523 O O . GLY Q 17 250 ? 131.833 266.074 282.448 1.00 123.18 250 Bj 1 +ATOM 1524 N N . HIS Q 17 251 ? 132.289 267.138 284.379 1.00 125.29 251 Bj 1 +ATOM 1525 C CA . HIS Q 17 251 ? 132.322 268.470 283.778 1.00 125.29 251 Bj 1 +ATOM 1526 C C . HIS Q 17 251 ? 133.687 268.686 283.137 1.00 125.29 251 Bj 1 +ATOM 1527 O O . HIS Q 17 251 ? 134.647 269.104 283.786 1.00 125.29 251 Bj 1 +ATOM 1528 C CB . HIS Q 17 251 ? 132.019 269.538 284.821 1.00 125.29 251 Bj 1 +ATOM 1529 C CG . HIS Q 17 251 ? 130.737 269.315 285.560 1.00 125.29 251 Bj 1 +ATOM 1530 N ND1 . HIS Q 17 251 ? 129.511 269.688 285.053 1.00 125.29 251 Bj 1 +ATOM 1531 C CD2 . HIS Q 17 251 ? 130.489 268.757 286.769 1.00 125.29 251 Bj 1 +ATOM 1532 C CE1 . HIS Q 17 251 ? 128.563 269.370 285.917 1.00 125.29 251 Bj 1 +ATOM 1533 N NE2 . HIS Q 17 251 ? 129.131 268.803 286.966 1.00 125.29 251 Bj 1 +ATOM 1534 N N . HIS Q 17 252 ? 133.771 268.392 281.842 1.00 117.65 252 Bj 1 +ATOM 1535 C CA . HIS Q 17 252 ? 134.965 268.633 281.044 1.00 117.65 252 Bj 1 +ATOM 1536 C C . HIS Q 17 252 ? 134.674 269.751 280.053 1.00 117.65 252 Bj 1 +ATOM 1537 O O . HIS Q 17 252 ? 133.661 269.713 279.348 1.00 117.65 252 Bj 1 +ATOM 1538 C CB . HIS Q 17 252 ? 135.405 267.363 280.309 1.00 117.65 252 Bj 1 +ATOM 1539 C CG . HIS Q 17 252 ? 134.422 266.883 279.289 1.00 117.65 252 Bj 1 +ATOM 1540 N ND1 . HIS Q 17 252 ? 133.315 266.131 279.617 1.00 117.65 252 Bj 1 +ATOM 1541 C CD2 . HIS Q 17 252 ? 134.377 267.051 277.946 1.00 117.65 252 Bj 1 +ATOM 1542 C CE1 . HIS Q 17 252 ? 132.631 265.856 278.521 1.00 117.65 252 Bj 1 +ATOM 1543 N NE2 . HIS Q 17 252 ? 133.254 266.403 277.493 1.00 117.65 252 Bj 1 +ATOM 1544 N N . VAL Q 17 253 ? 135.556 270.746 280.008 1.00 119.25 253 Bj 1 +ATOM 1545 C CA . VAL Q 17 253 ? 135.344 271.959 279.228 1.00 119.25 253 Bj 1 +ATOM 1546 C C . VAL Q 17 253 ? 136.541 272.173 278.314 1.00 119.25 253 Bj 1 +ATOM 1547 O O . VAL Q 17 253 ? 137.691 272.100 278.762 1.00 119.25 253 Bj 1 +ATOM 1548 C CB . VAL Q 17 253 ? 135.137 273.190 280.131 1.00 119.25 253 Bj 1 +ATOM 1549 C CG1 . VAL Q 17 253 ? 134.861 274.428 279.291 1.00 119.25 253 Bj 1 +ATOM 1550 C CG2 . VAL Q 17 253 ? 134.007 272.948 281.121 1.00 119.25 253 Bj 1 +ATOM 1551 N N . TRP Q 17 254 ? 136.269 272.431 277.036 1.00 115.00 254 Bj 1 +ATOM 1552 C CA . TRP Q 17 254 ? 137.283 272.897 276.101 1.00 115.00 254 Bj 1 +ATOM 1553 C C . TRP Q 17 254 ? 137.325 274.418 276.147 1.00 115.00 254 Bj 1 +ATOM 1554 O O . TRP Q 17 254 ? 136.330 275.082 275.836 1.00 115.00 254 Bj 1 +ATOM 1555 C CB . TRP Q 17 254 ? 136.987 272.415 274.681 1.00 115.00 254 Bj 1 +ATOM 1556 C CG . TRP Q 17 254 ? 136.967 270.928 274.547 1.00 115.00 254 Bj 1 +ATOM 1557 C CD1 . TRP Q 17 254 ? 135.876 270.139 274.334 1.00 115.00 254 Bj 1 +ATOM 1558 C CD2 . TRP Q 17 254 ? 138.092 270.046 274.625 1.00 115.00 254 Bj 1 +ATOM 1559 N NE1 . TRP Q 17 254 ? 136.251 268.819 274.269 1.00 115.00 254 Bj 1 +ATOM 1560 C CE2 . TRP Q 17 254 ? 137.607 268.735 274.446 1.00 115.00 254 Bj 1 +ATOM 1561 C CE3 . TRP Q 17 254 ? 139.461 270.236 274.827 1.00 115.00 254 Bj 1 +ATOM 1562 C CZ2 . TRP Q 17 254 ? 138.443 267.622 274.463 1.00 115.00 254 Bj 1 +ATOM 1563 C CZ3 . TRP Q 17 254 ? 140.289 269.130 274.842 1.00 115.00 254 Bj 1 +ATOM 1564 C CH2 . TRP Q 17 254 ? 139.778 267.840 274.662 1.00 115.00 254 Bj 1 +ATOM 1565 N N . VAL Q 17 255 ? 138.473 274.965 276.535 1.00 119.35 255 Bj 1 +ATOM 1566 C CA . VAL Q 17 255 ? 138.586 276.379 276.870 1.00 119.35 255 Bj 1 +ATOM 1567 C C . VAL Q 17 255 ? 139.797 276.969 276.160 1.00 119.35 255 Bj 1 +ATOM 1568 O O . VAL Q 17 255 ? 140.791 276.276 275.919 1.00 119.35 255 Bj 1 +ATOM 1569 C CB . VAL Q 17 255 ? 138.678 276.575 278.400 1.00 119.35 255 Bj 1 +ATOM 1570 C CG1 . VAL Q 17 255 ? 139.988 276.026 278.940 1.00 119.35 255 Bj 1 +ATOM 1571 C CG2 . VAL Q 17 255 ? 138.506 278.030 278.766 1.00 119.35 255 Bj 1 +ATOM 1572 N N . SER Q 17 256 ? 139.702 278.248 275.804 1.00 122.61 256 Bj 1 +ATOM 1573 C CA . SER Q 17 256 ? 140.792 278.967 275.164 1.00 122.61 256 Bj 1 +ATOM 1574 C C . SER Q 17 256 ? 141.580 279.743 276.219 1.00 122.61 256 Bj 1 +ATOM 1575 O O . SER Q 17 256 ? 141.375 279.576 277.423 1.00 122.61 256 Bj 1 +ATOM 1576 C CB . SER Q 17 256 ? 140.249 279.877 274.066 1.00 122.61 256 Bj 1 +ATOM 1577 O OG . SER Q 17 256 ? 141.298 280.548 273.390 1.00 122.61 256 Bj 1 +ATOM 1578 N N . LYS Q 17 257 ? 142.489 280.613 275.772 1.00 127.00 257 Bj 1 +ATOM 1579 C CA . LYS Q 17 257 ? 143.375 281.318 276.695 1.00 127.00 257 Bj 1 +ATOM 1580 C C . LYS Q 17 257 ? 142.610 282.285 277.595 1.00 127.00 257 Bj 1 +ATOM 1581 O O . LYS Q 17 257 ? 142.840 282.324 278.811 1.00 127.00 257 Bj 1 +ATOM 1582 C CB . LYS Q 17 257 ? 144.455 282.054 275.899 1.00 127.00 257 Bj 1 +ATOM 1583 C CG . LYS Q 17 257 ? 144.923 283.367 276.506 1.00 127.00 257 Bj 1 +ATOM 1584 C CD . LYS Q 17 257 ? 146.041 283.168 277.511 1.00 127.00 257 Bj 1 +ATOM 1585 C CE . LYS Q 17 257 ? 146.569 284.511 277.993 1.00 127.00 257 Bj 1 +ATOM 1586 N NZ . LYS Q 17 257 ? 147.753 284.372 278.882 1.00 127.00 257 Bj 1 +ATOM 1587 N N . GLU Q 17 258 ? 141.695 283.069 277.021 1.00 126.69 258 Bj 1 +ATOM 1588 C CA . GLU Q 17 258 ? 141.007 284.103 277.788 1.00 126.69 258 Bj 1 +ATOM 1589 C C . GLU Q 17 258 ? 140.134 283.494 278.880 1.00 126.69 258 Bj 1 +ATOM 1590 O O . GLU Q 17 258 ? 140.313 283.776 280.071 1.00 126.69 258 Bj 1 +ATOM 1591 C CB . GLU Q 17 258 ? 140.173 284.979 276.851 1.00 126.69 258 Bj 1 +ATOM 1592 C CG . GLU Q 17 258 ? 140.982 285.777 275.834 1.00 126.69 258 Bj 1 +ATOM 1593 C CD . GLU Q 17 258 ? 141.362 284.971 274.602 1.00 126.69 258 Bj 1 +ATOM 1594 O OE1 . GLU Q 17 258 ? 141.635 283.760 274.732 1.00 126.69 258 Bj 1 +ATOM 1595 O OE2 . GLU Q 17 258 ? 141.381 285.553 273.498 1.00 126.69 258 Bj 1 +ATOM 1596 N N . GLU Q 17 259 ? 139.174 282.652 278.490 1.00 129.80 259 Bj 1 +ATOM 1597 C CA . GLU Q 17 259 ? 138.332 281.997 279.482 1.00 129.80 259 Bj 1 +ATOM 1598 C C . GLU Q 17 259 ? 139.126 281.043 280.365 1.00 129.80 259 Bj 1 +ATOM 1599 O O . GLU Q 17 259 ? 138.712 280.779 281.498 1.00 129.80 259 Bj 1 +ATOM 1600 C CB . GLU Q 17 259 ? 137.179 281.259 278.797 1.00 129.80 259 Bj 1 +ATOM 1601 C CG . GLU Q 17 259 ? 136.278 282.148 277.950 1.00 129.80 259 Bj 1 +ATOM 1602 C CD . GLU Q 17 259 ? 136.700 282.197 276.494 1.00 129.80 259 Bj 1 +ATOM 1603 O OE1 . GLU Q 17 259 ? 137.140 281.154 275.965 1.00 129.80 259 Bj 1 +ATOM 1604 O OE2 . GLU Q 17 259 ? 136.592 283.278 275.878 1.00 129.80 259 Bj 1 +ATOM 1605 N N . LEU Q 17 260 ? 140.270 280.549 279.888 1.00 130.83 260 Bj 1 +ATOM 1606 C CA . LEU Q 17 260 ? 141.148 279.742 280.729 1.00 130.83 260 Bj 1 +ATOM 1607 C C . LEU Q 17 260 ? 141.669 280.562 281.901 1.00 130.83 260 Bj 1 +ATOM 1608 O O . LEU Q 17 260 ? 141.580 280.142 283.062 1.00 130.83 260 Bj 1 +ATOM 1609 C CB . LEU Q 17 260 ? 142.301 279.197 279.882 1.00 130.83 260 Bj 1 +ATOM 1610 C CG . LEU Q 17 260 ? 143.280 278.143 280.407 1.00 130.83 260 Bj 1 +ATOM 1611 C CD1 . LEU Q 17 260 ? 143.986 277.497 279.232 1.00 130.83 260 Bj 1 +ATOM 1612 C CD2 . LEU Q 17 260 ? 144.307 278.740 281.346 1.00 130.83 260 Bj 1 +ATOM 1613 N N . GLY Q 17 261 ? 142.232 281.735 281.610 1.00 132.72 261 Bj 1 +ATOM 1614 C CA . GLY Q 17 261 ? 142.661 282.625 282.674 1.00 132.72 261 Bj 1 +ATOM 1615 C C . GLY Q 17 261 ? 141.510 283.111 283.530 1.00 132.72 261 Bj 1 +ATOM 1616 O O . GLY Q 17 261 ? 141.689 283.389 284.720 1.00 132.72 261 Bj 1 +ATOM 1617 N N . ASP Q 17 262 ? 140.317 283.220 282.943 1.00 135.25 262 Bj 1 +ATOM 1618 C CA . ASP Q 17 262 ? 139.148 283.630 283.717 1.00 135.25 262 Bj 1 +ATOM 1619 C C . ASP Q 17 262 ? 138.742 282.558 284.722 1.00 135.25 262 Bj 1 +ATOM 1620 O O . ASP Q 17 262 ? 138.354 282.874 285.853 1.00 135.25 262 Bj 1 +ATOM 1621 C CB . ASP Q 17 262 ? 137.986 283.951 282.778 1.00 135.25 262 Bj 1 +ATOM 1622 C CG . ASP Q 17 262 ? 136.680 284.169 283.519 1.00 135.25 262 Bj 1 +ATOM 1623 O OD1 . ASP Q 17 262 ? 136.568 285.178 284.246 1.00 135.25 262 Bj 1 +ATOM 1624 O OD2 . ASP Q 17 262 ? 135.764 283.332 283.373 1.00 135.25 262 Bj 1 +ATOM 1625 N N . TYR Q 17 263 ? 138.823 281.286 284.330 1.00 135.63 263 Bj 1 +ATOM 1626 C CA . TYR Q 17 263 ? 138.387 280.204 285.207 1.00 135.63 263 Bj 1 +ATOM 1627 C C . TYR Q 17 263 ? 139.450 279.853 286.242 1.00 135.63 263 Bj 1 +ATOM 1628 O O . TYR Q 17 263 ? 139.148 279.738 287.435 1.00 135.63 263 Bj 1 +ATOM 1629 C CB . TYR Q 17 263 ? 138.020 278.968 284.383 1.00 135.63 263 Bj 1 +ATOM 1630 C CG . TYR Q 17 263 ? 136.748 279.113 283.580 1.00 135.63 263 Bj 1 +ATOM 1631 C CD1 . TYR Q 17 263 ? 136.444 278.220 282.560 1.00 135.63 263 Bj 1 +ATOM 1632 C CD2 . TYR Q 17 263 ? 135.849 280.139 283.842 1.00 135.63 263 Bj 1 +ATOM 1633 C CE1 . TYR Q 17 263 ? 135.282 278.346 281.823 1.00 135.63 263 Bj 1 +ATOM 1634 C CE2 . TYR Q 17 263 ? 134.685 280.272 283.109 1.00 135.63 263 Bj 1 +ATOM 1635 C CZ . TYR Q 17 263 ? 134.407 279.373 282.101 1.00 135.63 263 Bj 1 +ATOM 1636 O OH . TYR Q 17 263 ? 133.250 279.500 281.367 1.00 135.63 263 Bj 1 +ATOM 1637 N N . LEU Q 17 264 ? 140.698 279.676 285.808 1.00 134.80 264 Bj 1 +ATOM 1638 C CA . LEU Q 17 264 ? 141.750 279.206 286.706 1.00 134.80 264 Bj 1 +ATOM 1639 C C . LEU Q 17 264 ? 142.092 280.291 287.720 1.00 134.80 264 Bj 1 +ATOM 1640 O O . LEU Q 17 264 ? 142.757 281.278 287.390 1.00 134.80 264 Bj 1 +ATOM 1641 C CB . LEU Q 17 264 ? 142.981 278.790 285.908 1.00 134.80 264 Bj 1 +ATOM 1642 C CG . LEU Q 17 264 ? 142.804 277.524 285.068 1.00 134.80 264 Bj 1 +ATOM 1643 C CD1 . LEU Q 17 264 ? 144.129 277.063 284.492 1.00 134.80 264 Bj 1 +ATOM 1644 C CD2 . LEU Q 17 264 ? 142.169 276.422 285.898 1.00 134.80 264 Bj 1 +ATOM 1645 N N . LYS Q 17 265 ? 141.633 280.107 288.955 1.00 137.65 265 Bj 1 +ATOM 1646 C CA . LYS Q 17 265 ? 141.877 281.041 290.049 1.00 137.65 265 Bj 1 +ATOM 1647 C C . LYS Q 17 265 ? 143.260 280.904 290.689 1.00 137.65 265 Bj 1 +ATOM 1648 O O . LYS Q 17 265 ? 143.947 281.921 290.850 1.00 137.65 265 Bj 1 +ATOM 1649 C CB . LYS Q 17 265 ? 140.794 280.889 291.122 1.00 137.65 265 Bj 1 +ATOM 1650 C CG . LYS Q 17 265 ? 140.067 279.555 291.107 1.00 137.65 265 Bj 1 +ATOM 1651 C CD . LYS Q 17 265 ? 139.195 279.392 292.339 1.00 137.65 265 Bj 1 +ATOM 1652 C CE . LYS Q 17 265 ? 140.022 279.484 293.612 1.00 137.65 265 Bj 1 +ATOM 1653 N NZ . LYS Q 17 265 ? 141.088 278.445 293.660 1.00 137.65 265 Bj 1 +ATOM 1654 N N . PRO Q 17 266 ? 143.720 279.709 291.071 1.00 140.01 266 Bj 1 +ATOM 1655 C CA . PRO Q 17 266 ? 144.940 279.634 291.881 1.00 140.01 266 Bj 1 +ATOM 1656 C C . PRO Q 17 266 ? 146.183 279.907 291.050 1.00 140.01 266 Bj 1 +ATOM 1657 O O . PRO Q 17 266 ? 146.185 279.801 289.822 1.00 140.01 266 Bj 1 +ATOM 1658 C CB . PRO Q 17 266 ? 144.937 278.195 292.416 1.00 140.01 266 Bj 1 +ATOM 1659 C CG . PRO Q 17 266 ? 143.732 277.520 291.808 1.00 140.01 266 Bj 1 +ATOM 1660 C CD . PRO Q 17 266 ? 143.299 278.360 290.659 1.00 140.01 266 Bj 1 +ATOM 1661 N N . LYS Q 17 267 ? 147.260 280.264 291.753 1.00 148.42 267 Bj 1 +ATOM 1662 C CA . LYS Q 17 267 ? 148.508 280.602 291.080 1.00 148.42 267 Bj 1 +ATOM 1663 C C . LYS Q 17 267 ? 149.209 279.379 290.506 1.00 148.42 267 Bj 1 +ATOM 1664 O O . LYS Q 17 267 ? 150.039 279.526 289.603 1.00 148.42 267 Bj 1 +ATOM 1665 C CB . LYS Q 17 267 ? 149.447 281.333 292.041 1.00 148.42 267 Bj 1 +ATOM 1666 C CG . LYS Q 17 267 ? 149.947 280.481 293.195 1.00 148.42 267 Bj 1 +ATOM 1667 C CD . LYS Q 17 267 ? 150.971 281.233 294.030 1.00 148.42 267 Bj 1 +ATOM 1668 C CE . LYS Q 17 267 ? 151.539 280.354 295.132 1.00 148.42 267 Bj 1 +ATOM 1669 N NZ . LYS Q 17 267 ? 152.570 281.070 295.935 1.00 148.42 267 Bj 1 +ATOM 1670 N N . TYR Q 17 268 ? 148.900 278.181 291.005 1.00 155.87 268 Bj 1 +ATOM 1671 C CA . TYR Q 17 268 ? 149.550 276.982 290.487 1.00 155.87 268 Bj 1 +ATOM 1672 C C . TYR Q 17 268 ? 149.064 276.652 289.082 1.00 155.87 268 Bj 1 +ATOM 1673 O O . TYR Q 17 268 ? 149.833 276.147 288.255 1.00 155.87 268 Bj 1 +ATOM 1674 C CB . TYR Q 17 268 ? 149.315 275.807 291.434 1.00 155.87 268 Bj 1 +ATOM 1675 C CG . TYR Q 17 268 ? 149.991 275.984 292.771 1.00 155.87 268 Bj 1 +ATOM 1676 C CD1 . TYR Q 17 268 ? 151.334 275.678 292.934 1.00 155.87 268 Bj 1 +ATOM 1677 C CD2 . TYR Q 17 268 ? 149.290 276.466 293.867 1.00 155.87 268 Bj 1 +ATOM 1678 C CE1 . TYR Q 17 268 ? 151.960 275.843 294.150 1.00 155.87 268 Bj 1 +ATOM 1679 C CE2 . TYR Q 17 268 ? 149.907 276.633 295.090 1.00 155.87 268 Bj 1 +ATOM 1680 C CZ . TYR Q 17 268 ? 151.242 276.319 295.225 1.00 155.87 268 Bj 1 +ATOM 1681 O OH . TYR Q 17 268 ? 151.863 276.483 296.440 1.00 155.87 268 Bj 1 +ATOM 1682 N N . LEU Q 17 269 ? 147.796 276.926 288.793 1.00 143.98 269 Bj 1 +ATOM 1683 C CA . LEU Q 17 269 ? 147.256 276.720 287.458 1.00 143.98 269 Bj 1 +ATOM 1684 C C . LEU Q 17 269 ? 147.228 277.995 286.627 1.00 143.98 269 Bj 1 +ATOM 1685 O O . LEU Q 17 269 ? 147.115 277.912 285.399 1.00 143.98 269 Bj 1 +ATOM 1686 C CB . LEU Q 17 269 ? 145.845 276.130 287.545 1.00 143.98 269 Bj 1 +ATOM 1687 C CG . LEU Q 17 269 ? 145.752 274.727 288.149 1.00 143.98 269 Bj 1 +ATOM 1688 C CD1 . LEU Q 17 269 ? 144.310 274.253 288.179 1.00 143.98 269 Bj 1 +ATOM 1689 C CD2 . LEU Q 17 269 ? 146.624 273.751 287.375 1.00 143.98 269 Bj 1 +ATOM 1690 N N . ALA Q 17 270 ? 147.339 279.164 287.255 1.00 137.42 270 Bj 1 +ATOM 1691 C CA . ALA Q 17 270 ? 147.361 280.426 286.528 1.00 137.42 270 Bj 1 +ATOM 1692 C C . ALA Q 17 270 ? 148.680 280.671 285.810 1.00 137.42 270 Bj 1 +ATOM 1693 O O . ALA Q 17 270 ? 148.785 281.646 285.059 1.00 137.42 270 Bj 1 +ATOM 1694 C CB . ALA Q 17 270 ? 147.068 281.588 287.482 1.00 137.42 270 Bj 1 +ATOM 1695 N N . GLN Q 17 271 ? 149.681 279.820 286.021 1.00 132.72 271 Bj 1 +ATOM 1696 C CA . GLN Q 17 271 ? 150.970 279.944 285.357 1.00 132.72 271 Bj 1 +ATOM 1697 C C . GLN Q 17 271 ? 151.126 278.967 284.199 1.00 132.72 271 Bj 1 +ATOM 1698 O O . GLN Q 17 271 ? 152.241 278.789 283.699 1.00 132.72 271 Bj 1 +ATOM 1699 C CB . GLN Q 17 271 ? 152.102 279.749 286.366 1.00 132.72 271 Bj 1 +ATOM 1700 C CG . GLN Q 17 271 ? 152.097 280.762 287.495 1.00 132.72 271 Bj 1 +ATOM 1701 C CD . GLN Q 17 271 ? 153.182 280.502 288.519 1.00 132.72 271 Bj 1 +ATOM 1702 O OE1 . GLN Q 17 271 ? 154.178 279.838 288.232 1.00 132.72 271 Bj 1 +ATOM 1703 N NE2 . GLN Q 17 271 ? 152.994 281.024 289.725 1.00 132.72 271 Bj 1 +ATOM 1704 N N . VAL Q 17 272 ? 150.038 278.325 283.767 1.00 127.77 272 Bj 1 +ATOM 1705 C CA . VAL Q 17 272 ? 150.113 277.466 282.590 1.00 127.77 272 Bj 1 +ATOM 1706 C C . VAL Q 17 272 ? 150.313 278.305 281.335 1.00 127.77 272 Bj 1 +ATOM 1707 O O . VAL Q 17 272 ? 150.913 277.842 280.356 1.00 127.77 272 Bj 1 +ATOM 1708 C CB . VAL Q 17 272 ? 148.858 276.577 282.494 1.00 127.77 272 Bj 1 +ATOM 1709 C CG1 . VAL Q 17 272 ? 147.619 277.418 282.237 1.00 127.77 272 Bj 1 +ATOM 1710 C CG2 . VAL Q 17 272 ? 149.029 275.519 281.414 1.00 127.77 272 Bj 1 +ATOM 1711 N N . ARG Q 17 273 ? 149.836 279.552 281.344 1.00 126.48 273 Bj 1 +ATOM 1712 C CA . ARG Q 17 273 ? 150.044 280.452 280.218 1.00 126.48 273 Bj 1 +ATOM 1713 C C . ARG Q 17 273 ? 151.496 280.886 280.074 1.00 126.48 273 Bj 1 +ATOM 1714 O O . ARG Q 17 273 ? 151.838 281.516 279.067 1.00 126.48 273 Bj 1 +ATOM 1715 C CB . ARG Q 17 273 ? 149.146 281.684 280.353 1.00 126.48 273 Bj 1 +ATOM 1716 C CG . ARG Q 17 273 ? 147.662 281.390 280.204 1.00 126.48 273 Bj 1 +ATOM 1717 C CD . ARG Q 17 273 ? 146.993 281.126 281.543 1.00 126.48 273 Bj 1 +ATOM 1718 N NE . ARG Q 17 273 ? 146.890 282.333 282.357 1.00 126.48 273 Bj 1 +ATOM 1719 C CZ . ARG Q 17 273 ? 146.190 282.414 283.484 1.00 126.48 273 Bj 1 +ATOM 1720 N NH1 . ARG Q 17 273 ? 145.525 281.357 283.930 1.00 126.48 273 Bj 1 +ATOM 1721 N NH2 . ARG Q 17 273 ? 146.150 283.552 284.163 1.00 126.48 273 Bj 1 +ATOM 1722 N N . ARG Q 17 274 ? 152.349 280.573 281.051 1.00 119.98 274 Bj 1 +ATOM 1723 C CA . ARG Q 17 274 ? 153.770 280.876 280.920 1.00 119.98 274 Bj 1 +ATOM 1724 C C . ARG Q 17 274 ? 154.394 280.073 279.786 1.00 119.98 274 Bj 1 +ATOM 1725 O O . ARG Q 17 274 ? 155.151 280.611 278.970 1.00 119.98 274 Bj 1 +ATOM 1726 C CB . ARG Q 17 274 ? 154.489 280.596 282.239 1.00 119.98 274 Bj 1 +ATOM 1727 C CG . ARG Q 17 274 ? 155.996 280.753 282.164 1.00 119.98 274 Bj 1 +ATOM 1728 C CD . ARG Q 17 274 ? 156.653 280.440 283.497 1.00 119.98 274 Bj 1 +ATOM 1729 N NE . ARG Q 17 274 ? 158.106 280.552 283.422 1.00 119.98 274 Bj 1 +ATOM 1730 C CZ . ARG Q 17 274 ? 158.925 280.351 284.449 1.00 119.98 274 Bj 1 +ATOM 1731 N NH1 . ARG Q 17 274 ? 158.434 280.026 285.638 1.00 119.98 274 Bj 1 +ATOM 1732 N NH2 . ARG Q 17 274 ? 160.236 280.475 284.288 1.00 119.98 274 Bj 1 +ATOM 1733 N N . PHE Q 17 275 ? 154.086 278.781 279.719 1.00 124.86 275 Bj 1 +ATOM 1734 C CA . PHE Q 17 275 ? 154.571 277.923 278.649 1.00 124.86 275 Bj 1 +ATOM 1735 C C . PHE Q 17 275 ? 153.499 277.598 277.619 1.00 124.86 275 Bj 1 +ATOM 1736 O O . PHE Q 17 275 ? 153.784 276.886 276.652 1.00 124.86 275 Bj 1 +ATOM 1737 C CB . PHE Q 17 275 ? 155.151 276.626 279.226 1.00 124.86 275 Bj 1 +ATOM 1738 C CG . PHE Q 17 275 ? 154.189 275.853 280.081 1.00 124.86 275 Bj 1 +ATOM 1739 C CD1 . PHE Q 17 275 ? 153.410 274.846 279.535 1.00 124.86 275 Bj 1 +ATOM 1740 C CD2 . PHE Q 17 275 ? 154.073 276.123 281.434 1.00 124.86 275 Bj 1 +ATOM 1741 C CE1 . PHE Q 17 275 ? 152.527 274.130 280.320 1.00 124.86 275 Bj 1 +ATOM 1742 C CE2 . PHE Q 17 275 ? 153.191 275.411 282.224 1.00 124.86 275 Bj 1 +ATOM 1743 C CZ . PHE Q 17 275 ? 152.418 274.412 281.666 1.00 124.86 275 Bj 1 +ATOM 1744 N N . LEU Q 17 276 ? 152.279 278.098 277.799 1.00 117.83 276 Bj 1 +ATOM 1745 C CA . LEU Q 17 276 ? 151.240 277.932 276.795 1.00 117.83 276 Bj 1 +ATOM 1746 C C . LEU Q 17 276 ? 151.359 279.017 275.733 1.00 117.83 276 Bj 1 +ATOM 1747 O O . LEU Q 17 276 ? 151.592 280.188 276.045 1.00 117.83 276 Bj 1 +ATOM 1748 C CB . LEU Q 17 276 ? 149.857 277.977 277.444 1.00 117.83 276 Bj 1 +ATOM 1749 C CG . LEU Q 17 276 ? 148.658 277.885 276.498 1.00 117.83 276 Bj 1 +ATOM 1750 C CD1 . LEU Q 17 276 ? 148.689 276.585 275.710 1.00 117.83 276 Bj 1 +ATOM 1751 C CD2 . LEU Q 17 276 ? 147.359 278.018 277.275 1.00 117.83 276 Bj 1 +ATOM 1752 N N . LEU Q 17 277 ? 151.203 278.619 274.472 1.00 108.03 277 Bj 1 +ATOM 1753 C CA . LEU Q 17 277 ? 151.313 279.567 273.372 1.00 108.03 277 Bj 1 +ATOM 1754 C C . LEU Q 17 277 ? 150.175 280.577 273.422 1.00 108.03 277 Bj 1 +ATOM 1755 O O . LEU Q 17 277 ? 149.048 280.245 273.802 1.00 108.03 277 Bj 1 +ATOM 1756 C CB . LEU Q 17 277 ? 151.306 278.836 272.032 1.00 108.03 277 Bj 1 +ATOM 1757 C CG . LEU Q 17 277 ? 152.569 278.060 271.666 1.00 108.03 277 Bj 1 +ATOM 1758 C CD1 . LEU Q 17 277 ? 152.537 277.695 270.195 1.00 108.03 277 Bj 1 +ATOM 1759 C CD2 . LEU Q 17 277 ? 153.805 278.877 271.992 1.00 108.03 277 Bj 1 +ATOM 1760 N N . ASP Q 17 278 ? 150.474 281.816 273.030 1.00 106.80 278 Bj 1 +ATOM 1761 C CA . ASP Q 17 278 ? 149.461 282.864 273.029 1.00 106.80 278 Bj 1 +ATOM 1762 C C . ASP Q 17 278 ? 148.629 282.835 271.754 1.00 106.80 278 Bj 1 +ATOM 1763 O O . ASP Q 17 278 ? 147.422 283.101 271.794 1.00 106.80 278 Bj 1 +ATOM 1764 C CB . ASP Q 17 278 ? 150.123 284.231 273.199 1.00 106.80 278 Bj 1 +ATOM 1765 C CG . ASP Q 17 278 ? 151.058 284.283 274.390 1.00 106.80 278 Bj 1 +ATOM 1766 O OD1 . ASP Q 17 278 ? 150.918 283.436 275.297 1.00 106.80 278 Bj 1 +ATOM 1767 O OD2 . ASP Q 17 278 ? 151.932 285.174 274.420 1.00 106.80 278 Bj 1 +ATOM 1768 N N . LEU Q 17 279 ? 149.259 282.519 270.625 1.00 104.98 279 Bj 1 +ATOM 1769 C CA . LEU Q 17 279 ? 148.601 282.483 269.320 1.00 104.98 279 Bj 1 +ATOM 1770 C C . LEU Q 17 279 ? 147.938 283.817 268.987 1.00 104.98 279 Bj 1 +ATOM 1771 O O . LEU Q 17 279 ? 148.618 284.810 268.729 1.00 104.98 279 Bj 1 +ATOM 1772 C CB . LEU Q 17 279 ? 147.567 281.354 269.263 1.00 104.98 279 Bj 1 +ATOM 1773 C CG . LEU Q 17 279 ? 148.068 279.941 269.566 1.00 104.98 279 Bj 1 +ATOM 1774 C CD1 . LEU Q 17 279 ? 147.007 278.919 269.200 1.00 104.98 279 Bj 1 +ATOM 1775 C CD2 . LEU Q 17 279 ? 149.365 279.652 268.834 1.00 104.98 279 Bj 1 +# diff --git a/src/alphafold3/test_data/miniature_databases/pdb_mmcif/7rye.cif b/src/alphafold3/test_data/miniature_databases/pdb_mmcif/7rye.cif new file mode 100644 index 0000000000000000000000000000000000000000..5ff8f4c606c7dc9f4679569eb994c59974f4ff26 --- /dev/null +++ b/src/alphafold3/test_data/miniature_databases/pdb_mmcif/7rye.cif @@ -0,0 +1,893 @@ +data_7RYE +# +_entry.id 7RYE +# +loop_ +_chem_comp.formula +_chem_comp.formula_weight +_chem_comp.id +_chem_comp.mon_nstd_flag +_chem_comp.name +_chem_comp.pdbx_synonyms +_chem_comp.type +"C3 H7 N O2" 89.093 ALA y ALANINE ? "L-peptide linking" +"C6 H15 N4 O2 1" 175.209 ARG y ARGININE ? "L-peptide linking" +"C4 H8 N2 O3" 132.118 ASN y ASPARAGINE ? "L-peptide linking" +"C4 H7 N O4" 133.103 ASP y "ASPARTIC ACID" ? "L-peptide linking" +"C3 H7 N O2 S" 121.158 CYS y CYSTEINE ? "L-peptide linking" +"C5 H10 N2 O3" 146.144 GLN y GLUTAMINE ? "L-peptide linking" +"C5 H9 N O4" 147.129 GLU y "GLUTAMIC ACID" ? "L-peptide linking" +"C2 H5 N O2" 75.067 GLY y GLYCINE ? "peptide linking" +"C6 H10 N3 O2 1" 156.162 HIS y HISTIDINE ? "L-peptide linking" +"C6 H13 N O2" 131.173 ILE y ISOLEUCINE ? "L-peptide linking" +"C6 H13 N O2" 131.173 LEU y LEUCINE ? "L-peptide linking" +"C6 H15 N2 O2 1" 147.195 LYS y LYSINE ? "L-peptide linking" +"C5 H11 N O2 S" 149.211 MET y METHIONINE ? "L-peptide linking" +"C9 H11 N O2" 165.189 PHE y PHENYLALANINE ? "L-peptide linking" +"C5 H9 N O2" 115.130 PRO y PROLINE ? "L-peptide linking" +"C3 H7 N O3" 105.093 SER y SERINE ? "L-peptide linking" +"C4 H9 N O3" 119.119 THR y THREONINE ? "L-peptide linking" +"C11 H12 N2 O2" 204.225 TRP y TRYPTOPHAN ? "L-peptide linking" +"C9 H11 N O3" 181.189 TYR y TYROSINE ? "L-peptide linking" +"C5 H11 N O2" 117.146 VAL y VALINE ? "L-peptide linking" +# +_entity.id 1 +_entity.pdbx_description "Protein PrgI" +_entity.type polymer +# +_entity_poly.entity_id 1 +_entity_poly.pdbx_strand_id J +_entity_poly.type polypeptide(L) +# +loop_ +_entity_poly_seq.entity_id +_entity_poly_seq.hetero +_entity_poly_seq.mon_id +_entity_poly_seq.num +1 n MET 1 +1 n ALA 2 +1 n THR 3 +1 n PRO 4 +1 n TRP 5 +1 n SER 6 +1 n GLY 7 +1 n TYR 8 +1 n LEU 9 +1 n ASP 10 +1 n ASP 11 +1 n VAL 12 +1 n SER 13 +1 n ALA 14 +1 n LYS 15 +1 n PHE 16 +1 n ASP 17 +1 n THR 18 +1 n GLY 19 +1 n VAL 20 +1 n ASP 21 +1 n ASN 22 +1 n LEU 23 +1 n GLN 24 +1 n THR 25 +1 n GLN 26 +1 n VAL 27 +1 n THR 28 +1 n GLU 29 +1 n ALA 30 +1 n LEU 31 +1 n ASP 32 +1 n LYS 33 +1 n LEU 34 +1 n ALA 35 +1 n ALA 36 +1 n LYS 37 +1 n PRO 38 +1 n SER 39 +1 n ASP 40 +1 n PRO 41 +1 n ALA 42 +1 n LEU 43 +1 n LEU 44 +1 n ALA 45 +1 n ALA 46 +1 n TYR 47 +1 n GLN 48 +1 n SER 49 +1 n LYS 50 +1 n LEU 51 +1 n SER 52 +1 n GLU 53 +1 n TYR 54 +1 n ASN 55 +1 n LEU 56 +1 n TYR 57 +1 n ARG 58 +1 n ASN 59 +1 n ALA 60 +1 n GLN 61 +1 n SER 62 +1 n ASN 63 +1 n THR 64 +1 n VAL 65 +1 n LYS 66 +1 n VAL 67 +1 n PHE 68 +1 n LYS 69 +1 n ASP 70 +1 n ILE 71 +1 n ASP 72 +1 n ALA 73 +1 n ALA 74 +1 n ILE 75 +1 n ILE 76 +1 n GLN 77 +1 n ASN 78 +1 n PHE 79 +1 n ARG 80 +# +_exptl.method "ELECTRON MICROSCOPY" +# +_pdbx_audit_revision_history.revision_date 2021-11-10 +# +_pdbx_database_status.recvd_initial_deposition_date 2021-11-10 +# +loop_ +_pdbx_poly_seq_scheme.asym_id +_pdbx_poly_seq_scheme.auth_seq_num +_pdbx_poly_seq_scheme.entity_id +_pdbx_poly_seq_scheme.hetero +_pdbx_poly_seq_scheme.mon_id +_pdbx_poly_seq_scheme.pdb_ins_code +_pdbx_poly_seq_scheme.pdb_seq_num +_pdbx_poly_seq_scheme.pdb_strand_id +_pdbx_poly_seq_scheme.seq_id +J ? 1 n MET . 1 J 1 +J ? 1 n ALA . 2 J 2 +J 3 1 n THR . 3 J 3 +J 4 1 n PRO . 4 J 4 +J 5 1 n TRP . 5 J 5 +J 6 1 n SER . 6 J 6 +J 7 1 n GLY . 7 J 7 +J 8 1 n TYR . 8 J 8 +J 9 1 n LEU . 9 J 9 +J 10 1 n ASP . 10 J 10 +J 11 1 n ASP . 11 J 11 +J 12 1 n VAL . 12 J 12 +J 13 1 n SER . 13 J 13 +J 14 1 n ALA . 14 J 14 +J 15 1 n LYS . 15 J 15 +J 16 1 n PHE . 16 J 16 +J 17 1 n ASP . 17 J 17 +J 18 1 n THR . 18 J 18 +J 19 1 n GLY . 19 J 19 +J 20 1 n VAL . 20 J 20 +J 21 1 n ASP . 21 J 21 +J 22 1 n ASN . 22 J 22 +J 23 1 n LEU . 23 J 23 +J 24 1 n GLN . 24 J 24 +J 25 1 n THR . 25 J 25 +J 26 1 n GLN . 26 J 26 +J 27 1 n VAL . 27 J 27 +J 28 1 n THR . 28 J 28 +J 29 1 n GLU . 29 J 29 +J 30 1 n ALA . 30 J 30 +J 31 1 n LEU . 31 J 31 +J 32 1 n ASP . 32 J 32 +J 33 1 n LYS . 33 J 33 +J 34 1 n LEU . 34 J 34 +J 35 1 n ALA . 35 J 35 +J 36 1 n ALA . 36 J 36 +J 37 1 n LYS . 37 J 37 +J 38 1 n PRO . 38 J 38 +J 39 1 n SER . 39 J 39 +J 40 1 n ASP . 40 J 40 +J 41 1 n PRO . 41 J 41 +J 42 1 n ALA . 42 J 42 +J 43 1 n LEU . 43 J 43 +J 44 1 n LEU . 44 J 44 +J 45 1 n ALA . 45 J 45 +J 46 1 n ALA . 46 J 46 +J 47 1 n TYR . 47 J 47 +J 48 1 n GLN . 48 J 48 +J 49 1 n SER . 49 J 49 +J 50 1 n LYS . 50 J 50 +J 51 1 n LEU . 51 J 51 +J 52 1 n SER . 52 J 52 +J 53 1 n GLU . 53 J 53 +J 54 1 n TYR . 54 J 54 +J 55 1 n ASN . 55 J 55 +J 56 1 n LEU . 56 J 56 +J 57 1 n TYR . 57 J 57 +J 58 1 n ARG . 58 J 58 +J 59 1 n ASN . 59 J 59 +J 60 1 n ALA . 60 J 60 +J 61 1 n GLN . 61 J 61 +J 62 1 n SER . 62 J 62 +J 63 1 n ASN . 63 J 63 +J 64 1 n THR . 64 J 64 +J 65 1 n VAL . 65 J 65 +J 66 1 n LYS . 66 J 66 +J 67 1 n VAL . 67 J 67 +J 68 1 n PHE . 68 J 68 +J 69 1 n LYS . 69 J 69 +J 70 1 n ASP . 70 J 70 +J 71 1 n ILE . 71 J 71 +J 72 1 n ASP . 72 J 72 +J 73 1 n ALA . 73 J 73 +J 74 1 n ALA . 74 J 74 +J 75 1 n ILE . 75 J 75 +J 76 1 n ILE . 76 J 76 +J 77 1 n GLN . 77 J 77 +J 78 1 n ASN . 78 J 78 +J 79 1 n PHE . 79 J 79 +J 80 1 n ARG . 80 J 80 +# +_pdbx_struct_assembly.details author_defined_assembly +_pdbx_struct_assembly.id 1 +_pdbx_struct_assembly.method_details ? +_pdbx_struct_assembly.oligomeric_count 24 +_pdbx_struct_assembly.oligomeric_details 24-meric +# +_pdbx_struct_assembly_gen.assembly_id 1 +_pdbx_struct_assembly_gen.asym_id_list A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X +_pdbx_struct_assembly_gen.oper_expression 1 +# +_pdbx_struct_oper_list.id 1 +_pdbx_struct_oper_list.matrix[1][1] 1.0000000000 +_pdbx_struct_oper_list.matrix[1][2] 0.0000000000 +_pdbx_struct_oper_list.matrix[1][3] 0.0000000000 +_pdbx_struct_oper_list.matrix[2][1] 0.0000000000 +_pdbx_struct_oper_list.matrix[2][2] 1.0000000000 +_pdbx_struct_oper_list.matrix[2][3] 0.0000000000 +_pdbx_struct_oper_list.matrix[3][1] 0.0000000000 +_pdbx_struct_oper_list.matrix[3][2] 0.0000000000 +_pdbx_struct_oper_list.matrix[3][3] 1.0000000000 +_pdbx_struct_oper_list.name 1_555 +_pdbx_struct_oper_list.symmetry_operation ? +_pdbx_struct_oper_list.type "identity operation" +_pdbx_struct_oper_list.vector[1] 0.0000000000 +_pdbx_struct_oper_list.vector[2] 0.0000000000 +_pdbx_struct_oper_list.vector[3] 0.0000000000 +# +_refine.ls_d_res_high 3.90 +# +_software.classification other +_software.name "DeepMind Structure Class" +_software.pdbx_ordinal 1 +_software.version 2.0.0 +# +_struct_asym.entity_id 1 +_struct_asym.id J +# +loop_ +_atom_site.group_PDB +_atom_site.id +_atom_site.type_symbol +_atom_site.label_atom_id +_atom_site.label_alt_id +_atom_site.label_comp_id +_atom_site.label_asym_id +_atom_site.label_entity_id +_atom_site.label_seq_id +_atom_site.pdbx_PDB_ins_code +_atom_site.Cartn_x +_atom_site.Cartn_y +_atom_site.Cartn_z +_atom_site.occupancy +_atom_site.B_iso_or_equiv +_atom_site.auth_seq_id +_atom_site.auth_asym_id +_atom_site.pdbx_PDB_model_num +ATOM 1 N N . THR J 1 3 ? 180.798 156.981 49.506 1.00 100.87 3 J 1 +ATOM 2 C CA . THR J 1 3 ? 180.336 158.053 50.380 1.00 100.87 3 J 1 +ATOM 3 C C . THR J 1 3 ? 178.888 157.811 50.811 1.00 100.87 3 J 1 +ATOM 4 O O . THR J 1 3 ? 178.076 157.312 50.030 1.00 100.87 3 J 1 +ATOM 5 C CB . THR J 1 3 ? 180.468 159.436 49.691 1.00 100.87 3 J 1 +ATOM 6 O OG1 . THR J 1 3 ? 180.169 160.478 50.627 1.00 100.87 3 J 1 +ATOM 7 C CG2 . THR J 1 3 ? 179.541 159.546 48.488 1.00 100.87 3 J 1 +ATOM 8 N N . PRO J 1 4 ? 178.569 158.139 52.065 1.00 96.05 4 J 1 +ATOM 9 C CA . PRO J 1 4 ? 177.201 157.918 52.554 1.00 96.05 4 J 1 +ATOM 10 C C . PRO J 1 4 ? 176.203 158.873 51.924 1.00 96.05 4 J 1 +ATOM 11 O O . PRO J 1 4 ? 176.293 160.090 52.112 1.00 96.05 4 J 1 +ATOM 12 C CB . PRO J 1 4 ? 177.326 158.152 54.065 1.00 96.05 4 J 1 +ATOM 13 C CG . PRO J 1 4 ? 178.504 159.047 54.212 1.00 96.05 4 J 1 +ATOM 14 C CD . PRO J 1 4 ? 179.457 158.664 53.117 1.00 96.05 4 J 1 +ATOM 15 N N . TRP J 1 5 ? 175.251 158.334 51.169 1.00 82.05 5 J 1 +ATOM 16 C CA . TRP J 1 5 ? 174.242 159.172 50.543 1.00 82.05 5 J 1 +ATOM 17 C C . TRP J 1 5 ? 173.275 159.710 51.591 1.00 82.05 5 J 1 +ATOM 18 O O . TRP J 1 5 ? 173.068 159.105 52.647 1.00 82.05 5 J 1 +ATOM 19 C CB . TRP J 1 5 ? 173.467 158.390 49.486 1.00 82.05 5 J 1 +ATOM 20 C CG . TRP J 1 5 ? 172.575 159.261 48.675 1.00 82.05 5 J 1 +ATOM 21 C CD1 . TRP J 1 5 ? 172.953 160.130 47.697 1.00 82.05 5 J 1 +ATOM 22 C CD2 . TRP J 1 5 ? 171.158 159.402 48.811 1.00 82.05 5 J 1 +ATOM 23 N NE1 . TRP J 1 5 ? 171.856 160.778 47.189 1.00 82.05 5 J 1 +ATOM 24 C CE2 . TRP J 1 5 ? 170.741 160.351 47.859 1.00 82.05 5 J 1 +ATOM 25 C CE3 . TRP J 1 5 ? 170.199 158.807 49.634 1.00 82.05 5 J 1 +ATOM 26 C CZ2 . TRP J 1 5 ? 169.408 160.720 47.709 1.00 82.05 5 J 1 +ATOM 27 C CZ3 . TRP J 1 5 ? 168.877 159.176 49.482 1.00 82.05 5 J 1 +ATOM 28 C CH2 . TRP J 1 5 ? 168.493 160.120 48.527 1.00 82.05 5 J 1 +ATOM 29 N N . SER J 1 6 ? 172.676 160.860 51.291 1.00 78.94 6 J 1 +ATOM 30 C CA . SER J 1 6 ? 171.730 161.484 52.213 1.00 78.94 6 J 1 +ATOM 31 C C . SER J 1 6 ? 170.799 162.391 51.422 1.00 78.94 6 J 1 +ATOM 32 O O . SER J 1 6 ? 171.235 163.417 50.892 1.00 78.94 6 J 1 +ATOM 33 C CB . SER J 1 6 ? 172.462 162.265 53.300 1.00 78.94 6 J 1 +ATOM 34 O OG . SER J 1 6 ? 173.149 161.389 54.176 1.00 78.94 6 J 1 +ATOM 35 N N . GLY J 1 7 ? 169.526 162.014 51.347 1.00 80.09 7 J 1 +ATOM 36 C CA . GLY J 1 7 ? 168.512 162.855 50.750 1.00 80.09 7 J 1 +ATOM 37 C C . GLY J 1 7 ? 168.082 163.958 51.698 1.00 80.09 7 J 1 +ATOM 38 O O . GLY J 1 7 ? 168.539 164.059 52.838 1.00 80.09 7 J 1 +ATOM 39 N N . TYR J 1 8 ? 167.174 164.804 51.207 1.00 78.37 8 J 1 +ATOM 40 C CA . TYR J 1 8 ? 166.760 165.964 51.991 1.00 78.37 8 J 1 +ATOM 41 C C . TYR J 1 8 ? 166.084 165.523 53.284 1.00 78.37 8 J 1 +ATOM 42 O O . TYR J 1 8 ? 166.332 166.093 54.351 1.00 78.37 8 J 1 +ATOM 43 C CB . TYR J 1 8 ? 165.830 166.858 51.167 1.00 78.37 8 J 1 +ATOM 44 C CG . TYR J 1 8 ? 165.412 168.151 51.846 1.00 78.37 8 J 1 +ATOM 45 C CD1 . TYR J 1 8 ? 164.409 168.939 51.311 1.00 78.37 8 J 1 +ATOM 46 C CD2 . TYR J 1 8 ? 166.073 168.622 52.974 1.00 78.37 8 J 1 +ATOM 47 C CE1 . TYR J 1 8 ? 164.036 170.122 51.913 1.00 78.37 8 J 1 +ATOM 48 C CE2 . TYR J 1 8 ? 165.705 169.801 53.581 1.00 78.37 8 J 1 +ATOM 49 C CZ . TYR J 1 8 ? 164.688 170.550 53.044 1.00 78.37 8 J 1 +ATOM 50 O OH . TYR J 1 8 ? 164.318 171.735 53.638 1.00 78.37 8 J 1 +ATOM 51 N N . LEU J 1 9 ? 165.226 164.506 53.213 1.00 73.64 9 J 1 +ATOM 52 C CA . LEU J 1 9 ? 164.645 163.967 54.439 1.00 73.64 9 J 1 +ATOM 53 C C . LEU J 1 9 ? 165.730 163.390 55.340 1.00 73.64 9 J 1 +ATOM 54 O O . LEU J 1 9 ? 165.719 163.604 56.560 1.00 73.64 9 J 1 +ATOM 55 C CB . LEU J 1 9 ? 163.595 162.906 54.109 1.00 73.64 9 J 1 +ATOM 56 C CG . LEU J 1 9 ? 162.192 163.335 53.661 1.00 73.64 9 J 1 +ATOM 57 C CD1 . LEU J 1 9 ? 162.211 164.303 52.488 1.00 73.64 9 J 1 +ATOM 58 C CD2 . LEU J 1 9 ? 161.355 162.112 53.321 1.00 73.64 9 J 1 +ATOM 59 N N . ASP J 1 10 ? 166.683 162.668 54.750 1.00 75.23 10 J 1 +ATOM 60 C CA . ASP J 1 10 ? 167.828 162.189 55.511 1.00 75.23 10 J 1 +ATOM 61 C C . ASP J 1 10 ? 168.631 163.360 56.062 1.00 75.23 10 J 1 +ATOM 62 O O . ASP J 1 10 ? 169.140 163.297 57.186 1.00 75.23 10 J 1 +ATOM 63 C CB . ASP J 1 10 ? 168.695 161.293 54.624 1.00 75.23 10 J 1 +ATOM 64 C CG . ASP J 1 10 ? 169.793 160.577 55.393 1.00 75.23 10 J 1 +ATOM 65 O OD1 . ASP J 1 10 ? 169.921 160.785 56.617 1.00 75.23 10 J 1 +ATOM 66 O OD2 . ASP J 1 10 ? 170.537 159.796 54.764 1.00 75.23 10 J 1 +ATOM 67 N N . ASP J 1 11 ? 168.742 164.442 55.289 1.00 76.21 11 J 1 +ATOM 68 C CA . ASP J 1 11 ? 169.449 165.624 55.770 1.00 76.21 11 J 1 +ATOM 69 C C . ASP J 1 11 ? 168.755 166.229 56.984 1.00 76.21 11 J 1 +ATOM 70 O O . ASP J 1 11 ? 169.416 166.658 57.932 1.00 76.21 11 J 1 +ATOM 71 C CB . ASP J 1 11 ? 169.573 166.658 54.651 1.00 76.21 11 J 1 +ATOM 72 C CG . ASP J 1 11 ? 170.510 166.210 53.546 1.00 76.21 11 J 1 +ATOM 73 O OD1 . ASP J 1 11 ? 171.452 165.444 53.836 1.00 76.21 11 J 1 +ATOM 74 O OD2 . ASP J 1 11 ? 170.303 166.623 52.386 1.00 76.21 11 J 1 +ATOM 75 N N . VAL J 1 12 ? 167.423 166.274 56.973 1.00 71.19 12 J 1 +ATOM 76 C CA . VAL J 1 12 ? 166.679 166.814 58.107 1.00 71.19 12 J 1 +ATOM 77 C C . VAL J 1 12 ? 166.846 165.921 59.330 1.00 71.19 12 J 1 +ATOM 78 O O . VAL J 1 12 ? 167.032 166.405 60.457 1.00 71.19 12 J 1 +ATOM 79 C CB . VAL J 1 12 ? 165.197 166.989 57.729 1.00 71.19 12 J 1 +ATOM 80 C CG1 . VAL J 1 12 ? 164.358 167.240 58.967 1.00 71.19 12 J 1 +ATOM 81 C CG2 . VAL J 1 12 ? 165.039 168.124 56.733 1.00 71.19 12 J 1 +ATOM 82 N N . SER J 1 13 ? 166.779 164.604 59.130 1.00 71.31 13 J 1 +ATOM 83 C CA . SER J 1 13 ? 167.004 163.691 60.244 1.00 71.31 13 J 1 +ATOM 84 C C . SER J 1 13 ? 168.397 163.882 60.831 1.00 71.31 13 J 1 +ATOM 85 O O . SER J 1 13 ? 168.555 163.965 62.054 1.00 71.31 13 J 1 +ATOM 86 C CB . SER J 1 13 ? 166.801 162.246 59.794 1.00 71.31 13 J 1 +ATOM 87 O OG . SER J 1 13 ? 165.459 162.023 59.402 1.00 71.31 13 J 1 +ATOM 88 N N . ALA J 1 14 ? 169.413 163.985 59.972 1.00 73.94 14 J 1 +ATOM 89 C CA . ALA J 1 14 ? 170.773 164.209 60.451 1.00 73.94 14 J 1 +ATOM 90 C C . ALA J 1 14 ? 170.904 165.566 61.130 1.00 73.94 14 J 1 +ATOM 91 O O . ALA J 1 14 ? 171.700 165.728 62.061 1.00 73.94 14 J 1 +ATOM 92 C CB . ALA J 1 14 ? 171.765 164.087 59.295 1.00 73.94 14 J 1 +ATOM 93 N N . LYS J 1 15 ? 170.140 166.557 60.668 1.00 71.21 15 J 1 +ATOM 94 C CA . LYS J 1 15 ? 170.140 167.860 61.321 1.00 71.21 15 J 1 +ATOM 95 C C . LYS J 1 15 ? 169.612 167.753 62.742 1.00 71.21 15 J 1 +ATOM 96 O O . LYS J 1 15 ? 170.146 168.383 63.660 1.00 71.21 15 J 1 +ATOM 97 C CB . LYS J 1 15 ? 169.311 168.855 60.511 1.00 71.21 15 J 1 +ATOM 98 C CG . LYS J 1 15 ? 170.142 169.773 59.635 1.00 71.21 15 J 1 +ATOM 99 C CD . LYS J 1 15 ? 169.313 170.920 59.089 1.00 71.21 15 J 1 +ATOM 100 C CE . LYS J 1 15 ? 170.176 171.888 58.300 1.00 71.21 15 J 1 +ATOM 101 N NZ . LYS J 1 15 ? 169.369 172.970 57.676 1.00 71.21 15 J 1 +ATOM 102 N N . PHE J 1 16 ? 168.559 166.963 62.943 1.00 68.61 16 J 1 +ATOM 103 C CA . PHE J 1 16 ? 168.102 166.713 64.308 1.00 68.61 16 J 1 +ATOM 104 C C . PHE J 1 16 ? 169.128 165.927 65.120 1.00 68.61 16 J 1 +ATOM 105 O O . PHE J 1 16 ? 169.342 166.226 66.300 1.00 68.61 16 J 1 +ATOM 106 C CB . PHE J 1 16 ? 166.749 166.005 64.309 1.00 68.61 16 J 1 +ATOM 107 C CG . PHE J 1 16 ? 165.587 166.929 64.088 1.00 68.61 16 J 1 +ATOM 108 C CD1 . PHE J 1 16 ? 165.736 168.293 64.256 1.00 68.61 16 J 1 +ATOM 109 C CD2 . PHE J 1 16 ? 164.345 166.437 63.736 1.00 68.61 16 J 1 +ATOM 110 C CE1 . PHE J 1 16 ? 164.670 169.147 64.068 1.00 68.61 16 J 1 +ATOM 111 C CE2 . PHE J 1 16 ? 163.277 167.286 63.544 1.00 68.61 16 J 1 +ATOM 112 C CZ . PHE J 1 16 ? 163.439 168.643 63.710 1.00 68.61 16 J 1 +ATOM 113 N N . ASP J 1 17 ? 169.768 164.918 64.521 1.00 77.06 17 J 1 +ATOM 114 C CA . ASP J 1 17 ? 170.752 164.149 65.286 1.00 77.06 17 J 1 +ATOM 115 C C . ASP J 1 17 ? 171.927 165.017 65.719 1.00 77.06 17 J 1 +ATOM 116 O O . ASP J 1 17 ? 172.413 164.888 66.848 1.00 77.06 17 J 1 +ATOM 117 C CB . ASP J 1 17 ? 171.254 162.929 64.509 1.00 77.06 17 J 1 +ATOM 118 C CG . ASP J 1 17 ? 170.136 162.119 63.888 1.00 77.06 17 J 1 +ATOM 119 O OD1 . ASP J 1 17 ? 170.103 162.001 62.647 1.00 77.06 17 J 1 +ATOM 120 O OD2 . ASP J 1 17 ? 169.286 161.602 64.642 1.00 77.06 17 J 1 +ATOM 121 N N . THR J 1 18 ? 172.399 165.901 64.845 1.00 76.90 18 J 1 +ATOM 122 C CA . THR J 1 18 ? 173.485 166.801 65.205 1.00 76.90 18 J 1 +ATOM 123 C C . THR J 1 18 ? 173.016 167.991 66.028 1.00 76.90 18 J 1 +ATOM 124 O O . THR J 1 18 ? 173.851 168.678 66.626 1.00 76.90 18 J 1 +ATOM 125 C CB . THR J 1 18 ? 174.203 167.303 63.949 1.00 76.90 18 J 1 +ATOM 126 O OG1 . THR J 1 18 ? 175.476 167.849 64.314 1.00 76.90 18 J 1 +ATOM 127 C CG2 . THR J 1 18 ? 173.381 168.373 63.253 1.00 76.90 18 J 1 +ATOM 128 N N . GLY J 1 19 ? 171.709 168.255 66.067 1.00 78.19 19 J 1 +ATOM 129 C CA . GLY J 1 19 ? 171.207 169.320 66.916 1.00 78.19 19 J 1 +ATOM 130 C C . GLY J 1 19 ? 171.381 169.012 68.389 1.00 78.19 19 J 1 +ATOM 131 O O . GLY J 1 19 ? 171.777 169.879 69.172 1.00 78.19 19 J 1 +ATOM 132 N N . VAL J 1 20 ? 171.089 167.780 68.785 1.00 76.12 20 J 1 +ATOM 133 C CA . VAL J 1 20 ? 171.317 167.329 70.150 1.00 76.12 20 J 1 +ATOM 134 C C . VAL J 1 20 ? 172.694 166.684 70.220 1.00 76.12 20 J 1 +ATOM 135 O O . VAL J 1 20 ? 173.054 165.862 69.368 1.00 76.12 20 J 1 +ATOM 136 C CB . VAL J 1 20 ? 170.212 166.362 70.606 1.00 76.12 20 J 1 +ATOM 137 C CG1 . VAL J 1 20 ? 168.869 167.069 70.596 1.00 76.12 20 J 1 +ATOM 138 C CG2 . VAL J 1 20 ? 170.158 165.132 69.713 1.00 76.12 20 J 1 +ATOM 139 N N . ASP J 1 21 ? 173.487 167.090 71.210 1.00 78.41 21 J 1 +ATOM 140 C CA . ASP J 1 21 ? 174.863 166.617 71.290 1.00 78.41 21 J 1 +ATOM 141 C C . ASP J 1 21 ? 174.916 165.113 71.524 1.00 78.41 21 J 1 +ATOM 142 O O . ASP J 1 21 ? 175.347 164.349 70.653 1.00 78.41 21 J 1 +ATOM 143 C CB . ASP J 1 21 ? 175.608 167.363 72.396 1.00 78.41 21 J 1 +ATOM 144 C CG . ASP J 1 21 ? 175.835 168.824 72.061 1.00 78.41 21 J 1 +ATOM 145 O OD1 . ASP J 1 21 ? 175.946 169.149 70.861 1.00 78.41 21 J 1 +ATOM 146 O OD2 . ASP J 1 21 ? 175.903 169.647 72.998 1.00 78.41 21 J 1 +ATOM 147 N N . ASN J 1 22 ? 174.471 164.668 72.693 1.00 74.91 22 J 1 +ATOM 148 C CA . ASN J 1 22 ? 174.565 163.267 73.084 1.00 74.91 22 J 1 +ATOM 149 C C . ASN J 1 22 ? 173.277 162.819 73.765 1.00 74.91 22 J 1 +ATOM 150 O O . ASN J 1 22 ? 173.294 162.151 74.799 1.00 74.91 22 J 1 +ATOM 151 C CB . ASN J 1 22 ? 175.777 163.050 73.987 1.00 74.91 22 J 1 +ATOM 152 C CG . ASN J 1 22 ? 175.825 164.032 75.138 1.00 74.91 22 J 1 +ATOM 153 O OD1 . ASN J 1 22 ? 174.925 164.855 75.304 1.00 74.91 22 J 1 +ATOM 154 N ND2 . ASN J 1 22 ? 176.881 163.956 75.938 1.00 74.91 22 J 1 +ATOM 155 N N . LEU J 1 23 ? 172.134 163.193 73.182 1.00 72.21 23 J 1 +ATOM 156 C CA . LEU J 1 23 ? 170.852 162.915 73.824 1.00 72.21 23 J 1 +ATOM 157 C C . LEU J 1 23 ? 170.648 161.425 74.053 1.00 72.21 23 J 1 +ATOM 158 O O . LEU J 1 23 ? 170.248 161.010 75.146 1.00 72.21 23 J 1 +ATOM 159 C CB . LEU J 1 23 ? 169.708 163.483 72.989 1.00 72.21 23 J 1 +ATOM 160 C CG . LEU J 1 23 ? 168.328 163.271 73.612 1.00 72.21 23 J 1 +ATOM 161 C CD1 . LEU J 1 23 ? 168.229 163.983 74.946 1.00 72.21 23 J 1 +ATOM 162 C CD2 . LEU J 1 23 ? 167.237 163.743 72.669 1.00 72.21 23 J 1 +ATOM 163 N N . GLN J 1 24 ? 170.920 160.601 73.039 1.00 70.63 24 J 1 +ATOM 164 C CA . GLN J 1 24 ? 170.840 159.157 73.230 1.00 70.63 24 J 1 +ATOM 165 C C . GLN J 1 24 ? 171.802 158.707 74.320 1.00 70.63 24 J 1 +ATOM 166 O O . GLN J 1 24 ? 171.425 157.974 75.242 1.00 70.63 24 J 1 +ATOM 167 C CB . GLN J 1 24 ? 171.143 158.435 71.917 1.00 70.63 24 J 1 +ATOM 168 C CG . GLN J 1 24 ? 170.834 156.949 71.947 1.00 70.63 24 J 1 +ATOM 169 C CD . GLN J 1 24 ? 169.405 156.644 71.556 1.00 70.63 24 J 1 +ATOM 170 O OE1 . GLN J 1 24 ? 168.697 157.505 71.042 1.00 70.63 24 J 1 +ATOM 171 N NE2 . GLN J 1 24 ? 168.972 155.412 71.801 1.00 70.63 24 J 1 +ATOM 172 N N . THR J 1 25 ? 173.052 159.167 74.242 1.00 72.05 25 J 1 +ATOM 173 C CA . THR J 1 25 ? 174.029 158.829 75.267 1.00 72.05 25 J 1 +ATOM 174 C C . THR J 1 25 ? 173.628 159.382 76.627 1.00 72.05 25 J 1 +ATOM 175 O O . THR J 1 25 ? 173.752 158.681 77.636 1.00 72.05 25 J 1 +ATOM 176 C CB . THR J 1 25 ? 175.407 159.349 74.865 1.00 72.05 25 J 1 +ATOM 177 O OG1 . THR J 1 25 ? 175.777 158.785 73.601 1.00 72.05 25 J 1 +ATOM 178 C CG2 . THR J 1 25 ? 176.447 158.961 75.898 1.00 72.05 25 J 1 +ATOM 179 N N . GLN J 1 26 ? 173.147 160.627 76.676 1.00 73.20 26 J 1 +ATOM 180 C CA . GLN J 1 26 ? 172.756 161.219 77.951 1.00 73.20 26 J 1 +ATOM 181 C C . GLN J 1 26 ? 171.656 160.400 78.610 1.00 73.20 26 J 1 +ATOM 182 O O . GLN J 1 26 ? 171.709 160.118 79.814 1.00 73.20 26 J 1 +ATOM 183 C CB . GLN J 1 26 ? 172.301 162.663 77.739 1.00 73.20 26 J 1 +ATOM 184 C CG . GLN J 1 26 ? 173.397 163.693 77.939 1.00 73.20 26 J 1 +ATOM 185 C CD . GLN J 1 26 ? 172.920 165.105 77.674 1.00 73.20 26 J 1 +ATOM 186 O OE1 . GLN J 1 26 ? 171.782 165.454 77.979 1.00 73.20 26 J 1 +ATOM 187 N NE2 . GLN J 1 26 ? 173.791 165.926 77.101 1.00 73.20 26 J 1 +ATOM 188 N N . VAL J 1 27 ? 170.660 159.989 77.824 1.00 70.38 27 J 1 +ATOM 189 C CA . VAL J 1 27 ? 169.615 159.113 78.339 1.00 70.38 27 J 1 +ATOM 190 C C . VAL J 1 27 ? 170.211 157.789 78.796 1.00 70.38 27 J 1 +ATOM 191 O O . VAL J 1 27 ? 169.787 157.217 79.808 1.00 70.38 27 J 1 +ATOM 192 C CB . VAL J 1 27 ? 168.521 158.911 77.274 1.00 70.38 27 J 1 +ATOM 193 C CG1 . VAL J 1 27 ? 167.570 157.803 77.685 1.00 70.38 27 J 1 +ATOM 194 C CG2 . VAL J 1 27 ? 167.761 160.204 77.059 1.00 70.38 27 J 1 +ATOM 195 N N . THR J 1 28 ? 171.208 157.285 78.067 1.00 66.97 28 J 1 +ATOM 196 C CA . THR J 1 28 ? 171.814 156.011 78.437 1.00 66.97 28 J 1 +ATOM 197 C C . THR J 1 28 ? 172.453 156.080 79.821 1.00 66.97 28 J 1 +ATOM 198 O O . THR J 1 28 ? 172.163 155.246 80.688 1.00 66.97 28 J 1 +ATOM 199 C CB . THR J 1 28 ? 172.841 155.591 77.388 1.00 66.97 28 J 1 +ATOM 200 O OG1 . THR J 1 28 ? 172.192 155.449 76.118 1.00 66.97 28 J 1 +ATOM 201 C CG2 . THR J 1 28 ? 173.475 154.265 77.774 1.00 66.97 28 J 1 +ATOM 202 N N . GLU J 1 29 ? 173.322 157.072 80.055 1.00 72.66 29 J 1 +ATOM 203 C CA . GLU J 1 29 ? 173.906 157.156 81.396 1.00 72.66 29 J 1 +ATOM 204 C C . GLU J 1 29 ? 172.874 157.531 82.451 1.00 72.66 29 J 1 +ATOM 205 O O . GLU J 1 29 ? 172.996 157.088 83.594 1.00 72.66 29 J 1 +ATOM 206 C CB . GLU J 1 29 ? 175.107 158.111 81.526 1.00 72.66 29 J 1 +ATOM 207 C CG . GLU J 1 29 ? 176.428 157.677 80.874 1.00 72.66 29 J 1 +ATOM 208 C CD . GLU J 1 29 ? 176.594 158.116 79.452 1.00 72.66 29 J 1 +ATOM 209 O OE1 . GLU J 1 29 ? 175.740 158.874 78.981 1.00 72.66 29 J 1 +ATOM 210 O OE2 . GLU J 1 29 ? 177.582 157.707 78.806 1.00 72.66 29 J 1 +ATOM 211 N N . ALA J 1 30 ? 171.858 158.331 82.113 1.00 71.55 30 J 1 +ATOM 212 C CA . ALA J 1 30 ? 170.840 158.641 83.113 1.00 71.55 30 J 1 +ATOM 213 C C . ALA J 1 30 ? 170.124 157.377 83.571 1.00 71.55 30 J 1 +ATOM 214 O O . ALA J 1 30 ? 169.974 157.134 84.776 1.00 71.55 30 J 1 +ATOM 215 C CB . ALA J 1 30 ? 169.842 159.654 82.555 1.00 71.55 30 J 1 +ATOM 216 N N . LEU J 1 31 ? 169.710 156.541 82.619 1.00 67.57 31 J 1 +ATOM 217 C CA . LEU J 1 31 ? 169.026 155.299 82.949 1.00 67.57 31 J 1 +ATOM 218 C C . LEU J 1 31 ? 169.947 154.332 83.681 1.00 67.57 31 J 1 +ATOM 219 O O . LEU J 1 31 ? 169.513 153.645 84.613 1.00 67.57 31 J 1 +ATOM 220 C CB . LEU J 1 31 ? 168.470 154.664 81.675 1.00 67.57 31 J 1 +ATOM 221 C CG . LEU J 1 31 ? 167.565 153.444 81.827 1.00 67.57 31 J 1 +ATOM 222 C CD1 . LEU J 1 31 ? 166.434 153.521 80.822 1.00 67.57 31 J 1 +ATOM 223 C CD2 . LEU J 1 31 ? 168.355 152.161 81.641 1.00 67.57 31 J 1 +ATOM 224 N N . ASP J 1 32 ? 171.217 154.256 83.275 1.00 72.67 32 J 1 +ATOM 225 C CA . ASP J 1 32 ? 172.149 153.367 83.960 1.00 72.67 32 J 1 +ATOM 226 C C . ASP J 1 32 ? 172.379 153.821 85.398 1.00 72.67 32 J 1 +ATOM 227 O O . ASP J 1 32 ? 172.414 152.997 86.319 1.00 72.67 32 J 1 +ATOM 228 C CB . ASP J 1 32 ? 173.467 153.305 83.188 1.00 72.67 32 J 1 +ATOM 229 C CG . ASP J 1 32 ? 174.413 152.240 83.718 1.00 72.67 32 J 1 +ATOM 230 O OD1 . ASP J 1 32 ? 174.073 151.558 84.706 1.00 72.67 32 J 1 +ATOM 231 O OD2 . ASP J 1 32 ? 175.507 152.083 83.137 1.00 72.67 32 J 1 +ATOM 232 N N . LYS J 1 33 ? 172.532 155.130 85.610 1.00 71.55 33 J 1 +ATOM 233 C CA . LYS J 1 33 ? 172.715 155.655 86.958 1.00 71.55 33 J 1 +ATOM 234 C C . LYS J 1 33 ? 171.496 155.382 87.824 1.00 71.55 33 J 1 +ATOM 235 O O . LYS J 1 33 ? 171.628 155.006 88.994 1.00 71.55 33 J 1 +ATOM 236 C CB . LYS J 1 33 ? 173.001 157.155 86.900 1.00 71.55 33 J 1 +ATOM 237 C CG . LYS J 1 33 ? 174.385 157.517 86.392 1.00 71.55 33 J 1 +ATOM 238 C CD . LYS J 1 33 ? 174.482 159.007 86.104 1.00 71.55 33 J 1 +ATOM 239 C CE . LYS J 1 33 ? 174.396 159.829 87.379 1.00 71.55 33 J 1 +ATOM 240 N NZ . LYS J 1 33 ? 174.607 161.279 87.119 1.00 71.55 33 J 1 +ATOM 241 N N . LEU J 1 34 ? 170.296 155.566 87.269 1.00 70.34 34 J 1 +ATOM 242 C CA . LEU J 1 34 ? 169.095 155.291 88.045 1.00 70.34 34 J 1 +ATOM 243 C C . LEU J 1 34 ? 168.944 153.807 88.358 1.00 70.34 34 J 1 +ATOM 244 O O . LEU J 1 34 ? 168.263 153.458 89.327 1.00 70.34 34 J 1 +ATOM 245 C CB . LEU J 1 34 ? 167.865 155.824 87.305 1.00 70.34 34 J 1 +ATOM 246 C CG . LEU J 1 34 ? 166.493 155.819 87.987 1.00 70.34 34 J 1 +ATOM 247 C CD1 . LEU J 1 34 ? 165.645 156.923 87.403 1.00 70.34 34 J 1 +ATOM 248 C CD2 . LEU J 1 34 ? 165.773 154.496 87.808 1.00 70.34 34 J 1 +ATOM 249 N N . ALA J 1 35 ? 169.587 152.930 87.582 1.00 66.69 35 J 1 +ATOM 250 C CA . ALA J 1 35 ? 169.434 151.494 87.785 1.00 66.69 35 J 1 +ATOM 251 C C . ALA J 1 35 ? 169.942 151.034 89.144 1.00 66.69 35 J 1 +ATOM 252 O O . ALA J 1 35 ? 169.492 149.995 89.640 1.00 66.69 35 J 1 +ATOM 253 C CB . ALA J 1 35 ? 170.153 150.726 86.678 1.00 66.69 35 J 1 +ATOM 254 N N . ALA J 1 36 ? 170.865 151.775 89.759 1.00 67.09 36 J 1 +ATOM 255 C CA . ALA J 1 36 ? 171.402 151.403 91.059 1.00 67.09 36 J 1 +ATOM 256 C C . ALA J 1 36 ? 171.016 152.357 92.179 1.00 67.09 36 J 1 +ATOM 257 O O . ALA J 1 36 ? 171.066 151.959 93.347 1.00 67.09 36 J 1 +ATOM 258 C CB . ALA J 1 36 ? 172.933 151.307 90.996 1.00 67.09 36 J 1 +ATOM 259 N N . LYS J 1 37 ? 170.632 153.590 91.860 1.00 66.94 37 J 1 +ATOM 260 C CA . LYS J 1 37 ? 170.209 154.579 92.850 1.00 66.94 37 J 1 +ATOM 261 C C . LYS J 1 37 ? 168.843 155.099 92.431 1.00 66.94 37 J 1 +ATOM 262 O O . LYS J 1 37 ? 168.736 156.111 91.726 1.00 66.94 37 J 1 +ATOM 263 C CB . LYS J 1 37 ? 171.229 155.709 92.979 1.00 66.94 37 J 1 +ATOM 264 C CG . LYS J 1 37 ? 172.582 155.242 93.477 1.00 66.94 37 J 1 +ATOM 265 C CD . LYS J 1 37 ? 172.450 154.552 94.823 1.00 66.94 37 J 1 +ATOM 266 C CE . LYS J 1 37 ? 173.808 154.194 95.400 1.00 66.94 37 J 1 +ATOM 267 N NZ . LYS J 1 37 ? 173.680 153.478 96.700 1.00 66.94 37 J 1 +ATOM 268 N N . PRO J 1 38 ? 167.768 154.426 92.850 1.00 68.68 38 J 1 +ATOM 269 C CA . PRO J 1 38 ? 166.442 154.759 92.315 1.00 68.68 38 J 1 +ATOM 270 C C . PRO J 1 38 ? 165.804 155.974 92.952 1.00 68.68 38 J 1 +ATOM 271 O O . PRO J 1 38 ? 165.061 156.684 92.265 1.00 68.68 38 J 1 +ATOM 272 C CB . PRO J 1 38 ? 165.630 153.501 92.616 1.00 68.68 38 J 1 +ATOM 273 C CG . PRO J 1 38 ? 166.222 153.021 93.902 1.00 68.68 38 J 1 +ATOM 274 C CD . PRO J 1 38 ? 167.701 153.332 93.834 1.00 68.68 38 J 1 +ATOM 275 N N . SER J 1 39 ? 166.056 156.240 94.230 1.00 70.54 39 J 1 +ATOM 276 C CA . SER J 1 39 ? 165.383 157.320 94.933 1.00 70.54 39 J 1 +ATOM 277 C C . SER J 1 39 ? 166.204 158.596 94.992 1.00 70.54 39 J 1 +ATOM 278 O O . SER J 1 39 ? 165.705 159.612 95.488 1.00 70.54 39 J 1 +ATOM 279 C CB . SER J 1 39 ? 165.027 156.887 96.360 1.00 70.54 39 J 1 +ATOM 280 O OG . SER J 1 39 ? 166.196 156.601 97.104 1.00 70.54 39 J 1 +ATOM 281 N N . ASP J 1 40 ? 167.425 158.579 94.500 1.00 71.51 40 J 1 +ATOM 282 C CA . ASP J 1 40 ? 168.310 159.702 94.730 1.00 71.51 40 J 1 +ATOM 283 C C . ASP J 1 40 ? 167.868 160.912 93.909 1.00 71.51 40 J 1 +ATOM 284 O O . ASP J 1 40 ? 167.348 160.766 92.800 1.00 71.51 40 J 1 +ATOM 285 C CB . ASP J 1 40 ? 169.741 159.324 94.374 1.00 71.51 40 J 1 +ATOM 286 C CG . ASP J 1 40 ? 170.519 158.829 95.569 1.00 71.51 40 J 1 +ATOM 287 O OD1 . ASP J 1 40 ? 170.038 159.024 96.701 1.00 71.51 40 J 1 +ATOM 288 O OD2 . ASP J 1 40 ? 171.606 158.245 95.379 1.00 71.51 40 J 1 +ATOM 289 N N . PRO J 1 41 ? 168.040 162.115 94.445 1.00 72.15 41 J 1 +ATOM 290 C CA . PRO J 1 41 ? 167.725 163.323 93.677 1.00 72.15 41 J 1 +ATOM 291 C C . PRO J 1 41 ? 168.792 163.594 92.630 1.00 72.15 41 J 1 +ATOM 292 O O . PRO J 1 41 ? 169.806 162.902 92.531 1.00 72.15 41 J 1 +ATOM 293 C CB . PRO J 1 41 ? 167.709 164.427 94.737 1.00 72.15 41 J 1 +ATOM 294 C CG . PRO J 1 41 ? 167.558 163.713 96.031 1.00 72.15 41 J 1 +ATOM 295 C CD . PRO J 1 41 ? 168.278 162.420 95.862 1.00 72.15 41 J 1 +ATOM 296 N N . ALA J 1 42 ? 168.537 164.627 91.831 1.00 68.90 42 J 1 +ATOM 297 C CA . ALA J 1 42 ? 169.449 165.183 90.837 1.00 68.90 42 J 1 +ATOM 298 C C . ALA J 1 42 ? 169.710 164.237 89.674 1.00 68.90 42 J 1 +ATOM 299 O O . ALA J 1 42 ? 170.388 164.632 88.718 1.00 68.90 42 J 1 +ATOM 300 C CB . ALA J 1 42 ? 170.795 165.605 91.445 1.00 68.90 42 J 1 +ATOM 301 N N . LEU J 1 43 ? 169.199 163.008 89.712 1.00 66.88 43 J 1 +ATOM 302 C CA . LEU J 1 43 ? 169.214 162.168 88.523 1.00 66.88 43 J 1 +ATOM 303 C C . LEU J 1 43 ? 167.793 161.722 88.216 1.00 66.88 43 J 1 +ATOM 304 O O . LEU J 1 43 ? 167.436 161.561 87.048 1.00 66.88 43 J 1 +ATOM 305 C CB . LEU J 1 43 ? 170.136 160.956 88.678 1.00 66.88 43 J 1 +ATOM 306 C CG . LEU J 1 43 ? 169.723 159.783 89.565 1.00 66.88 43 J 1 +ATOM 307 C CD1 . LEU J 1 43 ? 170.578 158.575 89.251 1.00 66.88 43 J 1 +ATOM 308 C CD2 . LEU J 1 43 ? 169.875 160.147 91.011 1.00 66.88 43 J 1 +ATOM 309 N N . LEU J 1 44 ? 166.976 161.526 89.255 1.00 62.81 44 J 1 +ATOM 310 C CA . LEU J 1 44 ? 165.564 161.231 89.034 1.00 62.81 44 J 1 +ATOM 311 C C . LEU J 1 44 ? 164.891 162.349 88.255 1.00 62.81 44 J 1 +ATOM 312 O O . LEU J 1 44 ? 164.229 162.103 87.240 1.00 62.81 44 J 1 +ATOM 313 C CB . LEU J 1 44 ? 164.850 161.025 90.366 1.00 62.81 44 J 1 +ATOM 314 C CG . LEU J 1 44 ? 164.662 159.603 90.876 1.00 62.81 44 J 1 +ATOM 315 C CD1 . LEU J 1 44 ? 164.144 159.655 92.300 1.00 62.81 44 J 1 +ATOM 316 C CD2 . LEU J 1 44 ? 163.706 158.844 89.980 1.00 62.81 44 J 1 +ATOM 317 N N . ALA J 1 45 ? 165.051 163.589 88.717 1.00 63.51 45 J 1 +ATOM 318 C CA . ALA J 1 45 ? 164.565 164.727 87.951 1.00 63.51 45 J 1 +ATOM 319 C C . ALA J 1 45 ? 165.278 164.805 86.611 1.00 63.51 45 J 1 +ATOM 320 O O . ALA J 1 45 ? 164.660 165.085 85.577 1.00 63.51 45 J 1 +ATOM 321 C CB . ALA J 1 45 ? 164.759 166.015 88.748 1.00 63.51 45 J 1 +ATOM 322 N N . ALA J 1 46 ? 166.587 164.547 86.611 1.00 63.88 46 J 1 +ATOM 323 C CA . ALA J 1 46 ? 167.322 164.470 85.356 1.00 63.88 46 J 1 +ATOM 324 C C . ALA J 1 46 ? 166.799 163.335 84.489 1.00 63.88 46 J 1 +ATOM 325 O O . ALA J 1 46 ? 166.675 163.486 83.270 1.00 63.88 46 J 1 +ATOM 326 C CB . ALA J 1 46 ? 168.815 164.297 85.627 1.00 63.88 46 J 1 +ATOM 327 N N . TYR J 1 47 ? 166.483 162.190 85.100 1.00 60.60 47 J 1 +ATOM 328 C CA . TYR J 1 47 ? 165.886 161.089 84.350 1.00 60.60 47 J 1 +ATOM 329 C C . TYR J 1 47 ? 164.618 161.528 83.639 1.00 60.60 47 J 1 +ATOM 330 O O . TYR J 1 47 ? 164.476 161.336 82.427 1.00 60.60 47 J 1 +ATOM 331 C CB . TYR J 1 47 ? 165.579 159.921 85.282 1.00 60.60 47 J 1 +ATOM 332 C CG . TYR J 1 47 ? 164.985 158.730 84.578 1.00 60.60 47 J 1 +ATOM 333 C CD1 . TYR J 1 47 ? 165.771 157.885 83.811 1.00 60.60 47 J 1 +ATOM 334 C CD2 . TYR J 1 47 ? 163.629 158.457 84.675 1.00 60.60 47 J 1 +ATOM 335 C CE1 . TYR J 1 47 ? 165.223 156.798 83.168 1.00 60.60 47 J 1 +ATOM 336 C CE2 . TYR J 1 47 ? 163.073 157.376 84.037 1.00 60.60 47 J 1 +ATOM 337 C CZ . TYR J 1 47 ? 163.872 156.550 83.285 1.00 60.60 47 J 1 +ATOM 338 O OH . TYR J 1 47 ? 163.317 155.471 82.646 1.00 60.60 47 J 1 +ATOM 339 N N . GLN J 1 48 ? 163.681 162.118 84.380 1.00 61.22 48 J 1 +ATOM 340 C CA . GLN J 1 48 ? 162.418 162.506 83.769 1.00 61.22 48 J 1 +ATOM 341 C C . GLN J 1 48 ? 162.618 163.572 82.703 1.00 61.22 48 J 1 +ATOM 342 O O . GLN J 1 48 ? 162.021 163.485 81.623 1.00 61.22 48 J 1 +ATOM 343 C CB . GLN J 1 48 ? 161.441 163.000 84.832 1.00 61.22 48 J 1 +ATOM 344 C CG . GLN J 1 48 ? 160.073 163.333 84.276 1.00 61.22 48 J 1 +ATOM 345 C CD . GLN J 1 48 ? 159.096 163.765 85.344 1.00 61.22 48 J 1 +ATOM 346 O OE1 . GLN J 1 48 ? 159.445 163.860 86.519 1.00 61.22 48 J 1 +ATOM 347 N NE2 . GLN J 1 48 ? 157.858 164.028 84.941 1.00 61.22 48 J 1 +ATOM 348 N N . SER J 1 49 ? 163.461 164.571 82.975 1.00 66.01 49 J 1 +ATOM 349 C CA . SER J 1 49 ? 163.666 165.643 82.010 1.00 66.01 49 J 1 +ATOM 350 C C . SER J 1 49 ? 164.298 165.117 80.729 1.00 66.01 49 J 1 +ATOM 351 O O . SER J 1 49 ? 163.843 165.437 79.628 1.00 66.01 49 J 1 +ATOM 352 C CB . SER J 1 49 ? 164.529 166.744 82.623 1.00 66.01 49 J 1 +ATOM 353 O OG . SER J 1 49 ? 164.839 167.732 81.658 1.00 66.01 49 J 1 +ATOM 354 N N . LYS J 1 50 ? 165.348 164.301 80.851 1.00 62.23 50 J 1 +ATOM 355 C CA . LYS J 1 50 ? 165.992 163.755 79.662 1.00 62.23 50 J 1 +ATOM 356 C C . LYS J 1 50 ? 165.074 162.806 78.908 1.00 62.23 50 J 1 +ATOM 357 O O . LYS J 1 50 ? 165.080 162.796 77.674 1.00 62.23 50 J 1 +ATOM 358 C CB . LYS J 1 50 ? 167.292 163.045 80.036 1.00 62.23 50 J 1 +ATOM 359 C CG . LYS J 1 50 ? 168.320 163.948 80.688 1.00 62.23 50 J 1 +ATOM 360 C CD . LYS J 1 50 ? 168.804 165.014 79.725 1.00 62.23 50 J 1 +ATOM 361 C CE . LYS J 1 50 ? 169.815 165.927 80.391 1.00 62.23 50 J 1 +ATOM 362 N NZ . LYS J 1 50 ? 171.093 165.218 80.672 1.00 62.23 50 J 1 +ATOM 363 N N . LEU J 1 51 ? 164.282 162.004 79.620 1.00 55.13 51 J 1 +ATOM 364 C CA . LEU J 1 51 ? 163.386 161.078 78.942 1.00 55.13 51 J 1 +ATOM 365 C C . LEU J 1 51 ? 162.306 161.830 78.175 1.00 55.13 51 J 1 +ATOM 366 O O . LEU J 1 51 ? 161.984 161.482 77.034 1.00 55.13 51 J 1 +ATOM 367 C CB . LEU J 1 51 ? 162.773 160.118 79.955 1.00 55.13 51 J 1 +ATOM 368 C CG . LEU J 1 51 ? 161.865 159.044 79.373 1.00 55.13 51 J 1 +ATOM 369 C CD1 . LEU J 1 51 ? 162.675 158.158 78.450 1.00 55.13 51 J 1 +ATOM 370 C CD2 . LEU J 1 51 ? 161.246 158.227 80.487 1.00 55.13 51 J 1 +ATOM 371 N N . SER J 1 52 ? 161.739 162.876 78.783 1.00 58.66 52 J 1 +ATOM 372 C CA . SER J 1 52 ? 160.769 163.700 78.069 1.00 58.66 52 J 1 +ATOM 373 C C . SER J 1 52 ? 161.418 164.423 76.896 1.00 58.66 52 J 1 +ATOM 374 O O . SER J 1 52 ? 160.815 164.553 75.825 1.00 58.66 52 J 1 +ATOM 375 C CB . SER J 1 52 ? 160.119 164.699 79.023 1.00 58.66 52 J 1 +ATOM 376 O OG . SER J 1 52 ? 159.266 164.041 79.940 1.00 58.66 52 J 1 +ATOM 377 N N . GLU J 1 53 ? 162.646 164.910 77.081 1.00 65.81 53 J 1 +ATOM 378 C CA . GLU J 1 53 ? 163.360 165.549 75.985 1.00 65.81 53 J 1 +ATOM 379 C C . GLU J 1 53 ? 163.519 164.593 74.816 1.00 65.81 53 J 1 +ATOM 380 O O . GLU J 1 53 ? 163.285 164.966 73.663 1.00 65.81 53 J 1 +ATOM 381 C CB . GLU J 1 53 ? 164.729 166.027 76.468 1.00 65.81 53 J 1 +ATOM 382 C CG . GLU J 1 53 ? 164.823 167.501 76.834 1.00 65.81 53 J 1 +ATOM 383 C CD . GLU J 1 53 ? 164.613 168.437 75.659 1.00 65.81 53 J 1 +ATOM 384 O OE1 . GLU J 1 53 ? 164.395 167.965 74.524 1.00 65.81 53 J 1 +ATOM 385 O OE2 . GLU J 1 53 ? 164.659 169.667 75.875 1.00 65.81 53 J 1 +ATOM 386 N N . TYR J 1 54 ? 163.901 163.351 75.104 1.00 59.32 54 J 1 +ATOM 387 C CA . TYR J 1 54 ? 164.070 162.346 74.065 1.00 59.32 54 J 1 +ATOM 388 C C . TYR J 1 54 ? 162.742 162.013 73.396 1.00 59.32 54 J 1 +ATOM 389 O O . TYR J 1 54 ? 162.683 161.828 72.175 1.00 59.32 54 J 1 +ATOM 390 C CB . TYR J 1 54 ? 164.710 161.104 74.676 1.00 59.32 54 J 1 +ATOM 391 C CG . TYR J 1 54 ? 164.986 159.991 73.707 1.00 59.32 54 J 1 +ATOM 392 C CD1 . TYR J 1 54 ? 166.049 160.070 72.828 1.00 59.32 54 J 1 +ATOM 393 C CD2 . TYR J 1 54 ? 164.208 158.845 73.697 1.00 59.32 54 J 1 +ATOM 394 C CE1 . TYR J 1 54 ? 166.316 159.055 71.945 1.00 59.32 54 J 1 +ATOM 395 C CE2 . TYR J 1 54 ? 164.470 157.819 72.819 1.00 59.32 54 J 1 +ATOM 396 C CZ . TYR J 1 54 ? 165.527 157.929 71.944 1.00 59.32 54 J 1 +ATOM 397 O OH . TYR J 1 54 ? 165.800 156.912 71.061 1.00 59.32 54 J 1 +ATOM 398 N N . ASN J 1 55 ? 161.668 161.931 74.183 1.00 55.92 55 J 1 +ATOM 399 C CA . ASN J 1 55 ? 160.344 161.659 73.629 1.00 55.92 55 J 1 +ATOM 400 C C . ASN J 1 55 ? 159.925 162.748 72.647 1.00 55.92 55 J 1 +ATOM 401 O O . ASN J 1 55 ? 159.524 162.458 71.511 1.00 55.92 55 J 1 +ATOM 402 C CB . ASN J 1 55 ? 159.340 161.529 74.777 1.00 55.92 55 J 1 +ATOM 403 C CG . ASN J 1 55 ? 157.922 161.278 74.306 1.00 55.92 55 J 1 +ATOM 404 O OD1 . ASN J 1 55 ? 157.659 161.123 73.117 1.00 55.92 55 J 1 +ATOM 405 N ND2 . ASN J 1 55 ? 156.998 161.213 75.253 1.00 55.92 55 J 1 +ATOM 406 N N . LEU J 1 56 ? 160.012 164.010 73.071 1.00 57.85 56 J 1 +ATOM 407 C CA . LEU J 1 56 ? 159.659 165.115 72.183 1.00 57.85 56 J 1 +ATOM 408 C C . LEU J 1 56 ? 160.587 165.185 70.980 1.00 57.85 56 J 1 +ATOM 409 O O . LEU J 1 56 ? 160.148 165.503 69.871 1.00 57.85 56 J 1 +ATOM 410 C CB . LEU J 1 56 ? 159.665 166.437 72.945 1.00 57.85 56 J 1 +ATOM 411 C CG . LEU J 1 56 ? 158.428 166.781 73.772 1.00 57.85 56 J 1 +ATOM 412 C CD1 . LEU J 1 56 ? 158.257 165.920 74.998 1.00 57.85 56 J 1 +ATOM 413 C CD2 . LEU J 1 56 ? 158.539 168.224 74.179 1.00 57.85 56 J 1 +ATOM 414 N N . TYR J 1 57 ? 161.872 164.895 71.176 1.00 60.05 57 J 1 +ATOM 415 C CA . TYR J 1 57 ? 162.800 164.844 70.054 1.00 60.05 57 J 1 +ATOM 416 C C . TYR J 1 57 ? 162.362 163.824 69.013 1.00 60.05 57 J 1 +ATOM 417 O O . TYR J 1 57 ? 162.299 164.134 67.817 1.00 60.05 57 J 1 +ATOM 418 C CB . TYR J 1 57 ? 164.203 164.534 70.578 1.00 60.05 57 J 1 +ATOM 419 C CG . TYR J 1 57 ? 165.239 164.289 69.513 1.00 60.05 57 J 1 +ATOM 420 C CD1 . TYR J 1 57 ? 165.328 163.058 68.881 1.00 60.05 57 J 1 +ATOM 421 C CD2 . TYR J 1 57 ? 166.114 165.288 69.127 1.00 60.05 57 J 1 +ATOM 422 C CE1 . TYR J 1 57 ? 166.257 162.825 67.909 1.00 60.05 57 J 1 +ATOM 423 C CE2 . TYR J 1 57 ? 167.052 165.063 68.149 1.00 60.05 57 J 1 +ATOM 424 C CZ . TYR J 1 57 ? 167.118 163.828 67.545 1.00 60.05 57 J 1 +ATOM 425 O OH . TYR J 1 57 ? 168.044 163.579 66.567 1.00 60.05 57 J 1 +ATOM 426 N N . ARG J 1 58 ? 162.069 162.598 69.446 1.00 58.38 58 J 1 +ATOM 427 C CA . ARG J 1 58 ? 161.680 161.562 68.498 1.00 58.38 58 J 1 +ATOM 428 C C . ARG J 1 58 ? 160.373 161.916 67.804 1.00 58.38 58 J 1 +ATOM 429 O O . ARG J 1 58 ? 160.238 161.726 66.587 1.00 58.38 58 J 1 +ATOM 430 C CB . ARG J 1 58 ? 161.566 160.217 69.208 1.00 58.38 58 J 1 +ATOM 431 C CG . ARG J 1 58 ? 162.900 159.553 69.491 1.00 58.38 58 J 1 +ATOM 432 C CD . ARG J 1 58 ? 163.871 159.707 68.335 1.00 58.38 58 J 1 +ATOM 433 N NE . ARG J 1 58 ? 165.241 159.437 68.753 1.00 58.38 58 J 1 +ATOM 434 C CZ . ARG J 1 58 ? 166.293 159.472 67.948 1.00 58.38 58 J 1 +ATOM 435 N NH1 . ARG J 1 58 ? 166.171 159.760 66.663 1.00 58.38 58 J 1 +ATOM 436 N NH2 . ARG J 1 58 ? 167.498 159.214 68.445 1.00 58.38 58 J 1 +ATOM 437 N N . ASN J 1 59 ? 159.399 162.432 68.558 1.00 58.16 59 J 1 +ATOM 438 C CA . ASN J 1 59 ? 158.133 162.817 67.945 1.00 58.16 59 J 1 +ATOM 439 C C . ASN J 1 59 ? 158.327 163.928 66.924 1.00 58.16 59 J 1 +ATOM 440 O O . ASN J 1 59 ? 157.735 163.893 65.839 1.00 58.16 59 J 1 +ATOM 441 C CB . ASN J 1 59 ? 157.133 163.240 69.017 1.00 58.16 59 J 1 +ATOM 442 C CG . ASN J 1 59 ? 156.401 162.065 69.619 1.00 58.16 59 J 1 +ATOM 443 O OD1 . ASN J 1 59 ? 156.905 161.403 70.521 1.00 58.16 59 J 1 +ATOM 444 N ND2 . ASN J 1 59 ? 155.203 161.796 69.117 1.00 58.16 59 J 1 +ATOM 445 N N . ALA J 1 60 ? 159.154 164.925 67.250 1.00 62.06 60 J 1 +ATOM 446 C CA . ALA J 1 60 ? 159.407 166.012 66.314 1.00 62.06 60 J 1 +ATOM 447 C C . ALA J 1 60 ? 160.081 165.504 65.052 1.00 62.06 60 J 1 +ATOM 448 O O . ALA J 1 60 ? 159.709 165.896 63.940 1.00 62.06 60 J 1 +ATOM 449 C CB . ALA J 1 60 ? 160.257 167.092 66.980 1.00 62.06 60 J 1 +ATOM 450 N N . GLN J 1 61 ? 161.067 164.621 65.203 1.00 65.39 61 J 1 +ATOM 451 C CA . GLN J 1 61 ? 161.748 164.072 64.037 1.00 65.39 61 J 1 +ATOM 452 C C . GLN J 1 61 ? 160.774 163.310 63.148 1.00 65.39 61 J 1 +ATOM 453 O O . GLN J 1 61 ? 160.735 163.512 61.925 1.00 65.39 61 J 1 +ATOM 454 C CB . GLN J 1 61 ? 162.895 163.171 64.494 1.00 65.39 61 J 1 +ATOM 455 C CG . GLN J 1 61 ? 164.044 163.067 63.519 1.00 65.39 61 J 1 +ATOM 456 C CD . GLN J 1 61 ? 165.192 162.262 64.080 1.00 65.39 61 J 1 +ATOM 457 O OE1 . GLN J 1 61 ? 166.240 162.807 64.420 1.00 65.39 61 J 1 +ATOM 458 N NE2 . GLN J 1 61 ? 164.998 160.957 64.189 1.00 65.39 61 J 1 +ATOM 459 N N . SER J 1 62 ? 159.959 162.442 63.753 1.00 64.39 62 J 1 +ATOM 460 C CA . SER J 1 62 ? 159.025 161.644 62.969 1.00 64.39 62 J 1 +ATOM 461 C C . SER J 1 62 ? 157.998 162.522 62.267 1.00 64.39 62 J 1 +ATOM 462 O O . SER J 1 62 ? 157.716 162.331 61.078 1.00 64.39 62 J 1 +ATOM 463 C CB . SER J 1 62 ? 158.333 160.619 63.865 1.00 64.39 62 J 1 +ATOM 464 O OG . SER J 1 62 ? 157.410 159.843 63.125 1.00 64.39 62 J 1 +ATOM 465 N N . ASN J 1 63 ? 157.438 163.504 62.976 1.00 65.16 63 J 1 +ATOM 466 C CA . ASN J 1 63 ? 156.437 164.361 62.357 1.00 65.16 63 J 1 +ATOM 467 C C . ASN J 1 63 ? 157.033 165.219 61.252 1.00 65.16 63 J 1 +ATOM 468 O O . ASN J 1 63 ? 156.389 165.421 60.216 1.00 65.16 63 J 1 +ATOM 469 C CB . ASN J 1 63 ? 155.767 165.233 63.413 1.00 65.16 63 J 1 +ATOM 470 C CG . ASN J 1 63 ? 154.853 164.439 64.316 1.00 65.16 63 J 1 +ATOM 471 O OD1 . ASN J 1 63 ? 154.525 163.290 64.026 1.00 65.16 63 J 1 +ATOM 472 N ND2 . ASN J 1 63 ? 154.434 165.045 65.416 1.00 65.16 63 J 1 +ATOM 473 N N . THR J 1 64 ? 158.252 165.729 61.444 1.00 66.60 64 J 1 +ATOM 474 C CA . THR J 1 64 ? 158.875 166.543 60.408 1.00 66.60 64 J 1 +ATOM 475 C C . THR J 1 64 ? 159.147 165.725 59.153 1.00 66.60 64 J 1 +ATOM 476 O O . THR J 1 64 ? 158.846 166.169 58.035 1.00 66.60 64 J 1 +ATOM 477 C CB . THR J 1 64 ? 160.169 167.158 60.935 1.00 66.60 64 J 1 +ATOM 478 O OG1 . THR J 1 64 ? 159.877 167.977 62.072 1.00 66.60 64 J 1 +ATOM 479 C CG2 . THR J 1 64 ? 160.819 168.011 59.865 1.00 66.60 64 J 1 +ATOM 480 N N . VAL J 1 65 ? 159.707 164.523 59.310 1.00 64.00 65 J 1 +ATOM 481 C CA . VAL J 1 65 ? 159.978 163.718 58.124 1.00 64.00 65 J 1 +ATOM 482 C C . VAL J 1 65 ? 158.671 163.316 57.452 1.00 64.00 65 J 1 +ATOM 483 O O . VAL J 1 65 ? 158.580 163.285 56.220 1.00 64.00 65 J 1 +ATOM 484 C CB . VAL J 1 65 ? 160.858 162.499 58.464 1.00 64.00 65 J 1 +ATOM 485 C CG1 . VAL J 1 65 ? 162.203 162.957 58.999 1.00 64.00 65 J 1 +ATOM 486 C CG2 . VAL J 1 65 ? 160.176 161.571 59.442 1.00 64.00 65 J 1 +ATOM 487 N N . LYS J 1 66 ? 157.626 163.047 58.241 1.00 65.12 66 J 1 +ATOM 488 C CA . LYS J 1 66 ? 156.341 162.691 57.649 1.00 65.12 66 J 1 +ATOM 489 C C . LYS J 1 66 ? 155.745 163.847 56.855 1.00 65.12 66 J 1 +ATOM 490 O O . LYS J 1 66 ? 155.240 163.645 55.745 1.00 65.12 66 J 1 +ATOM 491 C CB . LYS J 1 66 ? 155.366 162.235 58.733 1.00 65.12 66 J 1 +ATOM 492 C CG . LYS J 1 66 ? 153.992 161.855 58.202 1.00 65.12 66 J 1 +ATOM 493 C CD . LYS J 1 66 ? 154.088 160.891 57.032 1.00 65.12 66 J 1 +ATOM 494 C CE . LYS J 1 66 ? 152.711 160.542 56.496 1.00 65.12 66 J 1 +ATOM 495 N NZ . LYS J 1 66 ? 151.754 160.214 57.587 1.00 65.12 66 J 1 +ATOM 496 N N . VAL J 1 67 ? 155.779 165.064 57.402 1.00 65.92 67 J 1 +ATOM 497 C CA . VAL J 1 67 ? 155.163 166.185 56.696 1.00 65.92 67 J 1 +ATOM 498 C C . VAL J 1 67 ? 155.958 166.528 55.442 1.00 65.92 67 J 1 +ATOM 499 O O . VAL J 1 67 ? 155.381 166.863 54.397 1.00 65.92 67 J 1 +ATOM 500 C CB . VAL J 1 67 ? 154.993 167.401 57.629 1.00 65.92 67 J 1 +ATOM 501 C CG1 . VAL J 1 67 ? 156.328 167.937 58.097 1.00 65.92 67 J 1 +ATOM 502 C CG2 . VAL J 1 67 ? 154.200 168.492 56.929 1.00 65.92 67 J 1 +ATOM 503 N N . PHE J 1 68 ? 157.288 166.435 55.509 1.00 66.56 68 J 1 +ATOM 504 C CA . PHE J 1 68 ? 158.076 166.682 54.308 1.00 66.56 68 J 1 +ATOM 505 C C . PHE J 1 68 ? 157.826 165.606 53.260 1.00 66.56 68 J 1 +ATOM 506 O O . PHE J 1 68 ? 157.772 165.899 52.059 1.00 66.56 68 J 1 +ATOM 507 C CB . PHE J 1 68 ? 159.558 166.785 54.657 1.00 66.56 68 J 1 +ATOM 508 C CG . PHE J 1 68 ? 159.991 168.177 55.012 1.00 66.56 68 J 1 +ATOM 509 C CD1 . PHE J 1 68 ? 160.099 168.568 56.333 1.00 66.56 68 J 1 +ATOM 510 C CD2 . PHE J 1 68 ? 160.268 169.101 54.022 1.00 66.56 68 J 1 +ATOM 511 C CE1 . PHE J 1 68 ? 160.490 169.850 56.660 1.00 66.56 68 J 1 +ATOM 512 C CE2 . PHE J 1 68 ? 160.658 170.384 54.343 1.00 66.56 68 J 1 +ATOM 513 C CZ . PHE J 1 68 ? 160.769 170.758 55.664 1.00 66.56 68 J 1 +ATOM 514 N N . LYS J 1 69 ? 157.646 164.356 53.694 1.00 70.04 69 J 1 +ATOM 515 C CA . LYS J 1 69 ? 157.283 163.302 52.755 1.00 70.04 69 J 1 +ATOM 516 C C . LYS J 1 69 ? 155.929 163.584 52.123 1.00 70.04 69 J 1 +ATOM 517 O O . LYS J 1 69 ? 155.731 163.326 50.934 1.00 70.04 69 J 1 +ATOM 518 C CB . LYS J 1 69 ? 157.291 161.944 53.465 1.00 70.04 69 J 1 +ATOM 519 C CG . LYS J 1 69 ? 157.067 160.718 52.570 1.00 70.04 69 J 1 +ATOM 520 C CD . LYS J 1 69 ? 155.593 160.436 52.289 1.00 70.04 69 J 1 +ATOM 521 C CE . LYS J 1 69 ? 155.424 159.353 51.239 1.00 70.04 69 J 1 +ATOM 522 N NZ . LYS J 1 69 ? 153.999 158.953 51.085 1.00 70.04 69 J 1 +ATOM 523 N N . ASP J 1 70 ? 154.979 164.093 52.908 1.00 70.15 70 J 1 +ATOM 524 C CA . ASP J 1 70 ? 153.667 164.418 52.356 1.00 70.15 70 J 1 +ATOM 525 C C . ASP J 1 70 ? 153.770 165.503 51.293 1.00 70.15 70 J 1 +ATOM 526 O O . ASP J 1 70 ? 153.172 165.386 50.216 1.00 70.15 70 J 1 +ATOM 527 C CB . ASP J 1 70 ? 152.719 164.850 53.472 1.00 70.15 70 J 1 +ATOM 528 C CG . ASP J 1 70 ? 152.353 163.710 54.396 1.00 70.15 70 J 1 +ATOM 529 O OD1 . ASP J 1 70 ? 152.337 162.552 53.930 1.00 70.15 70 J 1 +ATOM 530 O OD2 . ASP J 1 70 ? 152.082 163.970 55.587 1.00 70.15 70 J 1 +ATOM 531 N N . ILE J 1 71 ? 154.538 166.558 51.574 1.00 64.31 71 J 1 +ATOM 532 C CA . ILE J 1 71 ? 154.721 167.619 50.588 1.00 64.31 71 J 1 +ATOM 533 C C . ILE J 1 71 ? 155.375 167.070 49.326 1.00 64.31 71 J 1 +ATOM 534 O O . ILE J 1 71 ? 154.941 167.362 48.203 1.00 64.31 71 J 1 +ATOM 535 C CB . ILE J 1 71 ? 155.545 168.772 51.188 1.00 64.31 71 J 1 +ATOM 536 C CG1 . ILE J 1 71 ? 154.860 169.327 52.435 1.00 64.31 71 J 1 +ATOM 537 C CG2 . ILE J 1 71 ? 155.751 169.866 50.159 1.00 64.31 71 J 1 +ATOM 538 C CD1 . ILE J 1 71 ? 155.778 170.127 53.325 1.00 64.31 71 J 1 +ATOM 539 N N . ASP J 1 72 ? 156.423 166.261 49.492 1.00 68.85 72 J 1 +ATOM 540 C CA . ASP J 1 72 ? 157.144 165.727 48.343 1.00 68.85 72 J 1 +ATOM 541 C C . ASP J 1 72 ? 156.266 164.795 47.517 1.00 68.85 72 J 1 +ATOM 542 O O . ASP J 1 72 ? 156.316 164.814 46.282 1.00 68.85 72 J 1 +ATOM 543 C CB . ASP J 1 72 ? 158.398 165.005 48.825 1.00 68.85 72 J 1 +ATOM 544 C CG . ASP J 1 72 ? 159.551 165.947 49.062 1.00 68.85 72 J 1 +ATOM 545 O OD1 . ASP J 1 72 ? 160.691 165.462 49.183 1.00 68.85 72 J 1 +ATOM 546 O OD2 . ASP J 1 72 ? 159.318 167.171 49.125 1.00 68.85 72 J 1 +ATOM 547 N N . ALA J 1 73 ? 155.464 163.963 48.181 1.00 65.97 73 J 1 +ATOM 548 C CA . ALA J 1 73 ? 154.553 163.081 47.466 1.00 65.97 73 J 1 +ATOM 549 C C . ALA J 1 73 ? 153.501 163.878 46.715 1.00 65.97 73 J 1 +ATOM 550 O O . ALA J 1 73 ? 153.128 163.520 45.593 1.00 65.97 73 J 1 +ATOM 551 C CB . ALA J 1 73 ? 153.894 162.103 48.437 1.00 65.97 73 J 1 +ATOM 552 N N . ALA J 1 74 ? 153.004 164.960 47.319 1.00 64.99 74 J 1 +ATOM 553 C CA . ALA J 1 74 ? 152.063 165.819 46.610 1.00 64.99 74 J 1 +ATOM 554 C C . ALA J 1 74 ? 152.700 166.405 45.358 1.00 64.99 74 J 1 +ATOM 555 O O . ALA J 1 74 ? 152.080 166.428 44.288 1.00 64.99 74 J 1 +ATOM 556 C CB . ALA J 1 74 ? 151.567 166.931 47.533 1.00 64.99 74 J 1 +ATOM 557 N N . ILE J 1 75 ? 153.947 166.864 45.469 1.00 67.26 75 J 1 +ATOM 558 C CA . ILE J 1 75 ? 154.634 167.425 44.307 1.00 67.26 75 J 1 +ATOM 559 C C . ILE J 1 75 ? 154.797 166.367 43.222 1.00 67.26 75 J 1 +ATOM 560 O O . ILE J 1 75 ? 154.522 166.615 42.042 1.00 67.26 75 J 1 +ATOM 561 C CB . ILE J 1 75 ? 155.993 168.017 44.717 1.00 67.26 75 J 1 +ATOM 562 C CG1 . ILE J 1 75 ? 155.807 169.113 45.765 1.00 67.26 75 J 1 +ATOM 563 C CG2 . ILE J 1 75 ? 156.721 168.564 43.502 1.00 67.26 75 J 1 +ATOM 564 C CD1 . ILE J 1 75 ? 154.983 170.274 45.286 1.00 67.26 75 J 1 +ATOM 565 N N . ILE J 1 76 ? 155.244 165.170 43.607 1.00 71.16 76 J 1 +ATOM 566 C CA . ILE J 1 76 ? 155.503 164.119 42.627 1.00 71.16 76 J 1 +ATOM 567 C C . ILE J 1 76 ? 154.216 163.694 41.935 1.00 71.16 76 J 1 +ATOM 568 O O . ILE J 1 76 ? 154.164 163.579 40.705 1.00 71.16 76 J 1 +ATOM 569 C CB . ILE J 1 76 ? 156.205 162.925 43.299 1.00 71.16 76 J 1 +ATOM 570 C CG1 . ILE J 1 76 ? 157.602 163.325 43.761 1.00 71.16 76 J 1 +ATOM 571 C CG2 . ILE J 1 76 ? 156.302 161.755 42.342 1.00 71.16 76 J 1 +ATOM 572 C CD1 . ILE J 1 76 ? 158.489 163.764 42.631 1.00 71.16 76 J 1 +ATOM 573 N N . GLN J 1 77 ? 153.158 163.457 42.708 1.00 74.01 77 J 1 +ATOM 574 C CA . GLN J 1 77 ? 151.870 163.093 42.139 1.00 74.01 77 J 1 +ATOM 575 C C . GLN J 1 77 ? 151.276 164.203 41.291 1.00 74.01 77 J 1 +ATOM 576 O O . GLN J 1 77 ? 150.522 163.917 40.355 1.00 74.01 77 J 1 +ATOM 577 C CB . GLN J 1 77 ? 150.903 162.718 43.266 1.00 74.01 77 J 1 +ATOM 578 C CG . GLN J 1 77 ? 149.608 162.063 42.818 1.00 74.01 77 J 1 +ATOM 579 C CD . GLN J 1 77 ? 148.547 163.075 42.436 1.00 74.01 77 J 1 +ATOM 580 O OE1 . GLN J 1 77 ? 148.119 163.881 43.261 1.00 74.01 77 J 1 +ATOM 581 N NE2 . GLN J 1 77 ? 148.126 163.046 41.178 1.00 74.01 77 J 1 +ATOM 582 N N . ASN J 1 78 ? 151.610 165.453 41.583 1.00 75.47 78 J 1 +ATOM 583 C CA . ASN J 1 78 ? 151.007 166.584 40.903 1.00 75.47 78 J 1 +ATOM 584 C C . ASN J 1 78 ? 151.656 166.793 39.532 1.00 75.47 78 J 1 +ATOM 585 O O . ASN J 1 78 ? 151.100 167.503 38.692 1.00 75.47 78 J 1 +ATOM 586 C CB . ASN J 1 78 ? 151.109 167.797 41.862 1.00 75.47 78 J 1 +ATOM 587 C CG . ASN J 1 78 ? 150.672 169.138 41.268 1.00 75.47 78 J 1 +ATOM 588 O OD1 . ASN J 1 78 ? 150.393 169.290 40.093 1.00 75.47 78 J 1 +ATOM 589 N ND2 . ASN J 1 78 ? 150.555 170.120 42.149 1.00 75.47 78 J 1 +ATOM 590 N N . PHE J 1 79 ? 152.755 166.084 39.244 1.00 76.77 79 J 1 +ATOM 591 C CA . PHE J 1 79 ? 153.341 166.125 37.905 1.00 76.77 79 J 1 +ATOM 592 C C . PHE J 1 79 ? 152.308 165.775 36.843 1.00 76.77 79 J 1 +ATOM 593 O O . PHE J 1 79 ? 152.188 166.465 35.824 1.00 76.77 79 J 1 +ATOM 594 C CB . PHE J 1 79 ? 154.513 165.146 37.794 1.00 76.77 79 J 1 +ATOM 595 C CG . PHE J 1 79 ? 155.770 165.599 38.471 1.00 76.77 79 J 1 +ATOM 596 C CD1 . PHE J 1 79 ? 155.885 166.866 39.000 1.00 76.77 79 J 1 +ATOM 597 C CD2 . PHE J 1 79 ? 156.855 164.744 38.553 1.00 76.77 79 J 1 +ATOM 598 C CE1 . PHE J 1 79 ? 157.054 167.261 39.614 1.00 76.77 79 J 1 +ATOM 599 C CE2 . PHE J 1 79 ? 158.021 165.138 39.162 1.00 76.77 79 J 1 +ATOM 600 C CZ . PHE J 1 79 ? 158.121 166.398 39.692 1.00 76.77 79 J 1 +ATOM 601 N N . ARG J 1 80 ? 151.557 164.702 37.066 1.00 84.01 80 J 1 +ATOM 602 C CA . ARG J 1 80 ? 150.552 164.246 36.118 1.00 84.01 80 J 1 +ATOM 603 C C . ARG J 1 80 ? 149.236 164.973 36.361 1.00 84.01 80 J 1 +ATOM 604 O O . ARG J 1 80 ? 148.856 165.220 37.506 1.00 84.01 80 J 1 +ATOM 605 C CB . ARG J 1 80 ? 150.365 162.730 36.232 1.00 84.01 80 J 1 +ATOM 606 C CG . ARG J 1 80 ? 149.526 162.108 35.127 1.00 84.01 80 J 1 +ATOM 607 C CD . ARG J 1 80 ? 148.094 161.873 35.581 1.00 84.01 80 J 1 +ATOM 608 N NE . ARG J 1 80 ? 148.029 160.982 36.733 1.00 84.01 80 J 1 +ATOM 609 C CZ . ARG J 1 80 ? 146.964 160.838 37.510 1.00 84.01 80 J 1 +ATOM 610 N NH1 . ARG J 1 80 ? 145.848 161.512 37.286 1.00 84.01 80 J 1 +ATOM 611 N NH2 . ARG J 1 80 ? 147.022 159.999 38.541 1.00 84.01 80 J 1 +ATOM 612 O OXT . ARG J 1 80 ? 148.527 165.332 35.421 1.00 84.01 80 J 1 +# diff --git a/src/alphafold3/test_data/model_config.json b/src/alphafold3/test_data/model_config.json index e1aa71f4bee6cab6021ca008f1a31e611660f7c2..867032a1387e83e6e1e528d6fd7f30a48a66117e 100644 --- a/src/alphafold3/test_data/model_config.json +++ b/src/alphafold3/test_data/model_config.json @@ -225,5 +225,6 @@ "num_bins": 64 } }, - "num_recycles": 10 + "num_recycles": 10, + "return_embeddings": false } \ No newline at end of file diff --git a/src/alphafold3/version.py b/src/alphafold3/version.py index e1210c428d23613d1951cd17bc73aaa5d0ad5f5e..ff4c5f02286847675b762b4259731ec72fb29286 100644 --- a/src/alphafold3/version.py +++ b/src/alphafold3/version.py @@ -10,4 +10,4 @@ """Single source of truth for the AlphaFold version.""" -__version__ = '3.0.0' +__version__ = '3.0.1'