From 7ff4f346a9192f871da5df026cfd2c0834d46076 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Gonz=C3=A1lez=20Duque?= Date: Tue, 1 Oct 2024 16:33:08 +0200 Subject: [PATCH 1/5] Prototypes a new isolation interface --- src/poli/core/chemistry/tdc_black_box.py | 6 +- .../process_wrapper.py | 21 +---- src/poli/core/util/isolation/instancing.py | 83 ++++++++++++++----- .../isolation/new_run_script_template.sht | 4 + .../run_script_template.sht | 8 +- src/poli/external_isolated_function_script.py | 2 +- src/poli/objective_factory.py | 2 + .../objective_repository/deco_hop/register.py | 4 + .../objective_repository/rasp/register.py | 5 +- .../tests/registry/test_force_isolation.py | 31 +++++++ 10 files changed, 116 insertions(+), 50 deletions(-) create mode 100644 src/poli/core/util/isolation/new_run_script_template.sht diff --git a/src/poli/core/chemistry/tdc_black_box.py b/src/poli/core/chemistry/tdc_black_box.py index a96856c3..e15bbe5e 100644 --- a/src/poli/core/chemistry/tdc_black_box.py +++ b/src/poli/core/chemistry/tdc_black_box.py @@ -16,6 +16,9 @@ https://pubs.acs.org/doi/10.1021/acs.jcim.8b00839 """ +from __future__ import annotations + +from pathlib import Path from typing import Literal import numpy as np @@ -74,6 +77,7 @@ def __init__( parallelize: bool = False, num_workers: int = None, evaluation_budget: int = float("inf"), + python_executable_for_isolation: str | Path = None, **kwargs_for_oracle, ): if parallelize: @@ -91,7 +95,7 @@ def __init__( from_smiles = string_representation.upper() == "SMILES" self.inner_function = get_inner_function( - isolated_function_name="tdc__isolated", + python_executable_for_isolation=python_executable_for_isolation, class_name="TDCIsolatedFunction", module_to_import="poli.core.chemistry.tdc_isolated_function", force_isolation=force_isolation, diff --git a/src/poli/core/util/inter_process_communication/process_wrapper.py b/src/poli/core/util/inter_process_communication/process_wrapper.py index 590cd5e3..119bdf36 100644 --- a/src/poli/core/util/inter_process_communication/process_wrapper.py +++ b/src/poli/core/util/inter_process_communication/process_wrapper.py @@ -6,7 +6,6 @@ import subprocess import time from multiprocessing.connection import Client, Listener -from pathlib import Path from uuid import uuid4 @@ -95,28 +94,10 @@ def __init__(self, run_script, **kwargs_for_factory): # to the shell script. We should instead use a proper IPC library. # TODO: if we decide to pass this information in the set-up phase (instead # of here), we can remove this. - string_for_kwargs = "" - for key, value in kwargs_for_factory.items(): - if isinstance(value, str): - string_for_kwargs += f"--{key}={str(value)} " - elif isinstance(value, Path): - string_for_kwargs += f"--{key}={str(value)} " - elif isinstance(value, bool): - string_for_kwargs += f"--{key}=bool:{str(value)} " - elif isinstance(value, int): - string_for_kwargs += f"--{key}=int:{str(value)} " - elif isinstance(value, float): - string_for_kwargs += f"--{key}=float:{str(value)} " - elif isinstance(value, list): - string_for_kwargs += ( - f"--{key}=list:{','.join([str(v) for v in value])} " - ) - elif value is None: - string_for_kwargs += f"--{key}=none:None " self.run_script = run_script self.proc = subprocess.Popen( - [run_script, str(self.port), self.password, string_for_kwargs], + [run_script, str(self.port), self.password], stdout=None, stderr=None, ) diff --git a/src/poli/core/util/isolation/instancing.py b/src/poli/core/util/isolation/instancing.py index cde12103..b3f0cf56 100644 --- a/src/poli/core/util/isolation/instancing.py +++ b/src/poli/core/util/isolation/instancing.py @@ -3,11 +3,17 @@ import configparser import importlib import logging +import os +import stat import subprocess from pathlib import Path +from uuid import uuid4 -from poli.core.registry import _ISOLATED_FUNCTION_SCRIPT_LOCATION, _OBSERVER +from poli.core.registry import _OBSERVER from poli.core.util.inter_process_communication.process_wrapper import ProcessWrapper +from poli.external_isolated_function_script import ( + __file__ as external_isolated_function_script_location, +) from .external_function import ExternalFunction @@ -238,8 +244,36 @@ def register_isolated_function(name: str, quiet: bool = False): config = load_config() +def __write_isolated_function_script( + python_executable: str, + module_to_import: str, + class_name: str, +) -> Path: + temp_id = f"{uuid4()}"[:8] + template_location = Path(__file__).parent / "new_run_script_template.sht" + with open(template_location, "r") as fp: + template_string = fp.read() + run_script = template_string % ( + python_executable, + external_isolated_function_script_location, + f"{module_to_import}.{class_name}", + ) + + isolated_function_script_path = HOME_DIR / ".poli_objectives" / f"{temp_id}.sh" + with open(isolated_function_script_path, "w+") as fp: + fp.write(run_script) + os.chmod( + isolated_function_script_path, + os.stat(isolated_function_script_path).st_mode | stat.S_IEXEC, + ) # make script file executable + + return isolated_function_script_path + + def __create_function_as_isolated_process( - name: str, + python_executable: str, + module_to_import: str, + class_name: str, seed: int = None, quiet: bool = False, **kwargs_for_isolated_function, @@ -262,19 +296,15 @@ def __create_function_as_isolated_process( **kwargs_for_factory : dict, optional Additional keyword arguments for the factory. """ - config = load_config() - if name not in config: - raise ValueError( - f"Objective function '{name.replace('__isolated', '')}' is not registered. " - ) - - if not quiet: - print( - f"poli 🧪: Starting the function {name.replace('__isolated', '')} as an isolated process." - ) + # Write the template for this executable name + isolated_function_script_path = __write_isolated_function_script( + python_executable=python_executable, + module_to_import=module_to_import, + class_name=class_name, + ) process_wrapper = ProcessWrapper( - config[name][_ISOLATED_FUNCTION_SCRIPT_LOCATION], **kwargs_for_isolated_function + isolated_function_script_path, **kwargs_for_isolated_function ) # TODO: add signal listener that intercepts when proc ends # wait for connection from objective process @@ -302,16 +332,17 @@ def __create_function_as_isolated_process( def instance_function_as_isolated_process( - name: str, + python_executable: str, + module_to_import: str, + class_name: str, seed: int = None, quiet: bool = False, **kwargs_for_black_box, ) -> ExternalFunction: - # Register the problem if it hasn't been registered. - register_isolated_function(name=name, quiet=quiet) - f = __create_function_as_isolated_process( - name=name, + python_executable=python_executable, + module_to_import=module_to_import, + class_name=class_name, seed=seed, quiet=quiet, **kwargs_for_black_box, @@ -321,7 +352,7 @@ def instance_function_as_isolated_process( def get_inner_function( - isolated_function_name: str, + python_executable_for_isolation: str, class_name: str, module_to_import: str, seed: int | None = None, @@ -361,10 +392,20 @@ class from the sibling isolated_function.py file of each register.py. inner_function = InnerFunctionClass(**kwargs) except ImportError: inner_function = instance_function_as_isolated_process( - name=isolated_function_name, seed=seed, quiet=quiet, **kwargs + python_executable=python_executable_for_isolation, + module_to_import=module_to_import, + class_name=class_name, + seed=seed, + quiet=quiet, + **kwargs, ) else: inner_function = instance_function_as_isolated_process( - name=isolated_function_name, seed=seed, quiet=quiet, **kwargs + python_executable=python_executable_for_isolation, + module_to_import=module_to_import, + class_name=class_name, + seed=seed, + quiet=quiet, + **kwargs, ) return inner_function diff --git a/src/poli/core/util/isolation/new_run_script_template.sht b/src/poli/core/util/isolation/new_run_script_template.sht new file mode 100644 index 00000000..90fc178d --- /dev/null +++ b/src/poli/core/util/isolation/new_run_script_template.sht @@ -0,0 +1,4 @@ +#!/bin/bash +PYHON_EXECUTABLE_IN_THIS_ENV=%s # python executable +# it is CRUCIAL that the shell script is given port number and password +$PYHON_EXECUTABLE_IN_THIS_ENV %s --objective-name=%s --port="$1" --password="$2" \ No newline at end of file diff --git a/src/poli/core/util/objective_management/run_script_template.sht b/src/poli/core/util/objective_management/run_script_template.sht index 4f0a1974..1ee852af 100644 --- a/src/poli/core/util/objective_management/run_script_template.sht +++ b/src/poli/core/util/objective_management/run_script_template.sht @@ -1,13 +1,9 @@ #!/bin/bash -CONDA_BASE=$(conda info --base) -source $CONDA_BASE/etc/profile.d/conda.sh cd %s # go to working directory -conda deactivate # get rid of environment variables from the calling process PYTHONPATH="" # clear python path -conda activate %s # environment location +PYHON_EXECUTABLE_IN_THIS_ENV=%s # python executable PYTHONPATH="${PYTHONPATH}:%s" # additions to the python path -#BASEDIR=$(dirname "$0") export PYTHONPATH=${PYTHONPATH} # make python path available to python call export %s=${PYTHONPATH} # some shell magic can prevent the export of PYTHONPATH -- no clue # it is CRUCIAL that the shell script is given port number and password -python %s --objective-name=%s --port="$1" --password="$2" "$3" # factory name, port number and password \ No newline at end of file +$PYHON_EXECUTABLE_IN_THIS_ENV %s --objective-name=%s --port="$1" --password="$2" "$3" # factory name, port number and password \ No newline at end of file diff --git a/src/poli/external_isolated_function_script.py b/src/poli/external_isolated_function_script.py index f24c3595..dd6b82af 100644 --- a/src/poli/external_isolated_function_script.py +++ b/src/poli/external_isolated_function_script.py @@ -34,7 +34,7 @@ def dynamically_instantiate(obj: str, **kwargs): # TODO: possible alternative: importlib # TODO: another possible alternative: hydra # sys.path.append(os.getcwd()) - sys.path.extend(os.environ[ADDITIONAL_IMPORT_SEARCH_PATHES_KEY].split(":")) + # sys.path.extend(os.environ[ADDITIONAL_IMPORT_SEARCH_PATHES_KEY].split(":")) # sys.path.extend(os.environ['PYTHONPATH'].split(':')) last_dot = obj.rfind(".") diff --git a/src/poli/objective_factory.py b/src/poli/objective_factory.py index da889f57..a4fb277a 100644 --- a/src/poli/objective_factory.py +++ b/src/poli/objective_factory.py @@ -49,6 +49,7 @@ def __create_problem_from_repository( evaluation_budget: int = float("inf"), force_isolation: bool = False, observer: AbstractObserver = None, + python_executable_for_isolation: str = None, **kwargs_for_factory, ) -> Problem: """Creates the objective function from the repository. @@ -102,6 +103,7 @@ def __create_problem_from_repository( num_workers=num_workers, evaluation_budget=evaluation_budget, force_isolation=force_isolation, + python_executable_for_isolation=python_executable_for_isolation, **kwargs_for_factory, ) diff --git a/src/poli/objective_repository/deco_hop/register.py b/src/poli/objective_repository/deco_hop/register.py index e39b03d1..6736f637 100644 --- a/src/poli/objective_repository/deco_hop/register.py +++ b/src/poli/objective_repository/deco_hop/register.py @@ -81,6 +81,7 @@ def __init__( parallelize: bool = False, num_workers: int = None, evaluation_budget: int = float("inf"), + python_executable_for_isolation: str = None, ): super().__init__( oracle_name="Deco Hop", @@ -90,6 +91,7 @@ def __init__( parallelize=parallelize, num_workers=num_workers, evaluation_budget=evaluation_budget, + python_executable_for_isolation=python_executable_for_isolation, ) def get_black_box_info(self) -> BlackBoxInformation: @@ -137,6 +139,7 @@ def create( num_workers: int = None, evaluation_budget: int = float("inf"), force_isolation: bool = False, + python_executable_for_isolation: str = None, ) -> Problem: """ Creates a Decorator Hop problem. @@ -187,6 +190,7 @@ def create( parallelize=parallelize, num_workers=num_workers, evaluation_budget=evaluation_budget, + python_executable_for_isolation=python_executable_for_isolation, ) # Initial example (from the TDC docs) diff --git a/src/poli/objective_repository/rasp/register.py b/src/poli/objective_repository/rasp/register.py index 967cb37a..798d8c36 100644 --- a/src/poli/objective_repository/rasp/register.py +++ b/src/poli/objective_repository/rasp/register.py @@ -99,6 +99,7 @@ def __init__( num_workers: int = None, evaluation_budget: int = float("inf"), force_isolation: bool = False, + python_executable_for_isolation: str | Path = None, ): """ Initialize the RaSP Register object. @@ -172,7 +173,7 @@ def __init__( self.penalize_unfeasible_with = penalize_unfeasible_with self.device = device self.inner_function = get_inner_function( - isolated_function_name="rasp__isolated", + python_executable_for_isolation=python_executable_for_isolation, class_name="RaspIsolatedLogic", module_to_import="poli.objective_repository.rasp.isolated_function", force_isolation=self.force_isolation, @@ -249,6 +250,7 @@ def create( num_workers: int = None, evaluation_budget: int = float("inf"), force_isolation: bool = False, + python_executable_for_isolation: str | Path = None, ) -> Problem: """ Creates a RaSP black box instance, alongside initial @@ -336,6 +338,7 @@ def create( num_workers=num_workers, evaluation_budget=evaluation_budget, force_isolation=force_isolation, + python_executable_for_isolation=python_executable_for_isolation, ) # Constructing x0 diff --git a/src/poli/tests/registry/test_force_isolation.py b/src/poli/tests/registry/test_force_isolation.py index ad905135..0049b0a8 100644 --- a/src/poli/tests/registry/test_force_isolation.py +++ b/src/poli/tests/registry/test_force_isolation.py @@ -37,3 +37,34 @@ def test_force_isolation_on_tdc(): quiet=True, ) assert (problem.black_box(problem.x0) == inner_f(problem.x0)).all() + + +def test_force_isolation_on_tdc_using_python_executable(): + from poli.objective_factory import create + + problem = create( + name="deco_hop", + python_executable_for_isolation="/Users/sjt972/anaconda3/envs/poli__tdc/bin/python", + ) + + print(problem.black_box(problem.x0)) + + +def test_force_isolation_on_rasp_using_python_executable(): + from pathlib import Path + + from poli.objective_factory import create + + problem = create( + name="rasp", + python_executable_for_isolation="/Users/sjt972/anaconda3/envs/poli__rasp/bin/python", + wildtype_pdb_path=Path(__file__).parent.parent + / "static_files_for_tests" + / "3ned.pdb", + ) + + print(problem.black_box(problem.x0)) + + +if __name__ == "__main__": + test_force_isolation_on_rasp_using_python_executable() From e998268fd5f1e38eff339bf0cd72b89b8acde07e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Gonz=C3=A1lez=20Duque?= Date: Tue, 1 Oct 2024 20:36:42 +0200 Subject: [PATCH 2/5] Adds timeout to GitHub actions --- .github/workflows/python-tox-testing-base.yml | 1 + .../python-tox-testing-dockstring-env.yml | 1 + ...-tox-testing-including-conda-on-master.yml | 32 ------------------- .../python-tox-testing-lambo-env.yml | 1 + .../python-tox-testing-protein-env.yml | 1 + .../workflows/python-tox-testing-rasp-env.yml | 1 + .../workflows/python-tox-testing-rmf-env.yml | 1 + .../workflows/python-tox-testing-tdc-env.yml | 1 + .../tests/registry/test_force_isolation.py | 2 +- 9 files changed, 8 insertions(+), 33 deletions(-) delete mode 100644 .github/workflows/python-tox-testing-including-conda-on-master.yml diff --git a/.github/workflows/python-tox-testing-base.yml b/.github/workflows/python-tox-testing-base.yml index b6273f30..a9dc99e8 100644 --- a/.github/workflows/python-tox-testing-base.yml +++ b/.github/workflows/python-tox-testing-base.yml @@ -8,6 +8,7 @@ on: jobs: build-linux: runs-on: ubuntu-latest + timeout-minutes: 8 strategy: max-parallel: 5 diff --git a/.github/workflows/python-tox-testing-dockstring-env.yml b/.github/workflows/python-tox-testing-dockstring-env.yml index 0b2b9647..d0cb6946 100644 --- a/.github/workflows/python-tox-testing-dockstring-env.yml +++ b/.github/workflows/python-tox-testing-dockstring-env.yml @@ -8,6 +8,7 @@ on: jobs: build-linux: runs-on: ubuntu-latest + timeout-minutes: 8 strategy: max-parallel: 5 diff --git a/.github/workflows/python-tox-testing-including-conda-on-master.yml b/.github/workflows/python-tox-testing-including-conda-on-master.yml deleted file mode 100644 index 4c073c5c..00000000 --- a/.github/workflows/python-tox-testing-including-conda-on-master.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: Test (master, conda, python 3.9) - -on: - pull_request: - branches: - - master - -jobs: - build-linux: - runs-on: ubuntu-latest - strategy: - max-parallel: 5 - - steps: - - uses: actions/checkout@v3 - - name: Set up Python 3.9 - uses: actions/setup-python@v3 - with: - python-version: '3.10' - - name: Add conda to system path - run: | - # $CONDA is an environment variable pointing to the root of the miniconda directory - echo $CONDA/bin >> $GITHUB_PATH - - name: Install dependencies - run: | - python -m pip install tox - - name: Test linting with tox - run: | - tox -c tox.master.ini -e lint - - name: Test poli-base with tox - run: | - tox -c tox.ini -e poli-base-py310 -- --ignore=src/poli/tests/registry/proteins/test_rasp.py diff --git a/.github/workflows/python-tox-testing-lambo-env.yml b/.github/workflows/python-tox-testing-lambo-env.yml index d2dfb688..dee6e8f3 100644 --- a/.github/workflows/python-tox-testing-lambo-env.yml +++ b/.github/workflows/python-tox-testing-lambo-env.yml @@ -8,6 +8,7 @@ on: jobs: build-linux: runs-on: ubuntu-latest + timeout-minutes: 8 strategy: max-parallel: 5 diff --git a/.github/workflows/python-tox-testing-protein-env.yml b/.github/workflows/python-tox-testing-protein-env.yml index ed75d835..de16cd25 100644 --- a/.github/workflows/python-tox-testing-protein-env.yml +++ b/.github/workflows/python-tox-testing-protein-env.yml @@ -8,6 +8,7 @@ on: jobs: build-linux: runs-on: ubuntu-latest + timeout-minutes: 8 strategy: max-parallel: 5 diff --git a/.github/workflows/python-tox-testing-rasp-env.yml b/.github/workflows/python-tox-testing-rasp-env.yml index 2964acdd..586443c8 100644 --- a/.github/workflows/python-tox-testing-rasp-env.yml +++ b/.github/workflows/python-tox-testing-rasp-env.yml @@ -8,6 +8,7 @@ on: jobs: build-linux: runs-on: ubuntu-latest + timeout-minutes: 8 strategy: max-parallel: 5 diff --git a/.github/workflows/python-tox-testing-rmf-env.yml b/.github/workflows/python-tox-testing-rmf-env.yml index 2cb11c6b..b792c08b 100644 --- a/.github/workflows/python-tox-testing-rmf-env.yml +++ b/.github/workflows/python-tox-testing-rmf-env.yml @@ -8,6 +8,7 @@ on: jobs: build-linux: runs-on: ubuntu-latest + timeout-minutes: 8 strategy: max-parallel: 5 diff --git a/.github/workflows/python-tox-testing-tdc-env.yml b/.github/workflows/python-tox-testing-tdc-env.yml index fd8fae6c..b7aeb8f5 100644 --- a/.github/workflows/python-tox-testing-tdc-env.yml +++ b/.github/workflows/python-tox-testing-tdc-env.yml @@ -8,6 +8,7 @@ on: jobs: build-linux: runs-on: ubuntu-latest + timeout-minutes: 8 strategy: max-parallel: 5 diff --git a/src/poli/tests/registry/test_force_isolation.py b/src/poli/tests/registry/test_force_isolation.py index 0049b0a8..0339ab04 100644 --- a/src/poli/tests/registry/test_force_isolation.py +++ b/src/poli/tests/registry/test_force_isolation.py @@ -57,10 +57,10 @@ def test_force_isolation_on_rasp_using_python_executable(): problem = create( name="rasp", - python_executable_for_isolation="/Users/sjt972/anaconda3/envs/poli__rasp/bin/python", wildtype_pdb_path=Path(__file__).parent.parent / "static_files_for_tests" / "3ned.pdb", + python_executable_for_isolation="/Users/sjt972/anaconda3/envs/poli__rasp/bin/python", ) print(problem.black_box(problem.x0)) From e24864e0f484b60405df26dd573ff069be2d2ada Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Gonz=C3=A1lez=20Duque?= Date: Tue, 1 Oct 2024 20:45:56 +0200 Subject: [PATCH 3/5] Changes actions s.t. they don't run on drafts --- .github/workflows/python-tox-testing-base.yml | 6 +++++- .github/workflows/python-tox-testing-dockstring-env.yml | 6 +++++- .github/workflows/python-tox-testing-lambo-env.yml | 6 +++++- .github/workflows/python-tox-testing-protein-env.yml | 6 +++++- .github/workflows/python-tox-testing-rasp-env.yml | 5 ++++- .github/workflows/python-tox-testing-rmf-env.yml | 6 +++++- .github/workflows/python-tox-testing-tdc-env.yml | 6 +++++- 7 files changed, 34 insertions(+), 7 deletions(-) diff --git a/.github/workflows/python-tox-testing-base.yml b/.github/workflows/python-tox-testing-base.yml index a9dc99e8..68237b34 100644 --- a/.github/workflows/python-tox-testing-base.yml +++ b/.github/workflows/python-tox-testing-base.yml @@ -1,7 +1,10 @@ name: poli base (conda, py3.10) on: - push: + pull_request: + branches: + - dev + - master schedule: - cron: '0 0 * * 0' @@ -9,6 +12,7 @@ jobs: build-linux: runs-on: ubuntu-latest timeout-minutes: 8 + if: github.event.pull_request.draft == false strategy: max-parallel: 5 diff --git a/.github/workflows/python-tox-testing-dockstring-env.yml b/.github/workflows/python-tox-testing-dockstring-env.yml index d0cb6946..bb4d2ab8 100644 --- a/.github/workflows/python-tox-testing-dockstring-env.yml +++ b/.github/workflows/python-tox-testing-dockstring-env.yml @@ -1,7 +1,10 @@ name: poli dockstring (conda, py3.10) on: - push: + pull_request: + branches: + - dev + - master schedule: - cron: '0 0 * * 0' @@ -9,6 +12,7 @@ jobs: build-linux: runs-on: ubuntu-latest timeout-minutes: 8 + if: github.event.pull_request.draft == false strategy: max-parallel: 5 diff --git a/.github/workflows/python-tox-testing-lambo-env.yml b/.github/workflows/python-tox-testing-lambo-env.yml index dee6e8f3..bf56a999 100644 --- a/.github/workflows/python-tox-testing-lambo-env.yml +++ b/.github/workflows/python-tox-testing-lambo-env.yml @@ -1,7 +1,10 @@ name: poli lambo (conda, py3.10) on: - push: + pull_request: + branches: + - dev + - master schedule: - cron: '0 0 * * 0' @@ -9,6 +12,7 @@ jobs: build-linux: runs-on: ubuntu-latest timeout-minutes: 8 + if: github.event.pull_request.draft == false strategy: max-parallel: 5 diff --git a/.github/workflows/python-tox-testing-protein-env.yml b/.github/workflows/python-tox-testing-protein-env.yml index de16cd25..6a189d1d 100644 --- a/.github/workflows/python-tox-testing-protein-env.yml +++ b/.github/workflows/python-tox-testing-protein-env.yml @@ -1,7 +1,10 @@ name: poli protein (conda, py3.10) on: - push: + pull_request: + branches: + - dev + - master schedule: - cron: '0 0 * * 0' @@ -9,6 +12,7 @@ jobs: build-linux: runs-on: ubuntu-latest timeout-minutes: 8 + if: github.event.pull_request.draft == false strategy: max-parallel: 5 diff --git a/.github/workflows/python-tox-testing-rasp-env.yml b/.github/workflows/python-tox-testing-rasp-env.yml index 586443c8..06ec37c8 100644 --- a/.github/workflows/python-tox-testing-rasp-env.yml +++ b/.github/workflows/python-tox-testing-rasp-env.yml @@ -1,7 +1,10 @@ name: poli rasp (conda, py3.10) on: - push: + pull_request: + branches: + - dev + - master schedule: - cron: '0 0 * * 0' diff --git a/.github/workflows/python-tox-testing-rmf-env.yml b/.github/workflows/python-tox-testing-rmf-env.yml index b792c08b..4cde8db1 100644 --- a/.github/workflows/python-tox-testing-rmf-env.yml +++ b/.github/workflows/python-tox-testing-rmf-env.yml @@ -1,7 +1,10 @@ name: poli rmf (conda, py3.10) on: - push: + pull_request: + branches: + - dev + - master schedule: - cron: '0 0 * * 0' @@ -9,6 +12,7 @@ jobs: build-linux: runs-on: ubuntu-latest timeout-minutes: 8 + if: github.event.pull_request.draft == false strategy: max-parallel: 5 diff --git a/.github/workflows/python-tox-testing-tdc-env.yml b/.github/workflows/python-tox-testing-tdc-env.yml index b7aeb8f5..7020704f 100644 --- a/.github/workflows/python-tox-testing-tdc-env.yml +++ b/.github/workflows/python-tox-testing-tdc-env.yml @@ -1,7 +1,10 @@ name: poli tdc (conda, py3.10) on: - push: + pull_request: + branches: + - dev + - master schedule: - cron: '0 0 * * 0' @@ -9,6 +12,7 @@ jobs: build-linux: runs-on: ubuntu-latest timeout-minutes: 8 + if: github.event.pull_request.draft == false strategy: max-parallel: 5 From 874fd5ae84a65b4ee5d27bc6385ef340f79bdcd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Gonz=C3=A1lez=20Duque?= Date: Wed, 2 Oct 2024 14:19:12 +0200 Subject: [PATCH 4/5] Adds optional dependencies for foldx, writes a minimal example on how to use it --- .../running_foldx/101m_Repair.pdb | 1224 +++++++++++++++++ .../running_foldx/running_foldx.py | 14 + pyproject.toml | 5 + .../foldx_stability_and_sasa/register.py | 10 +- 4 files changed, 1251 insertions(+), 2 deletions(-) create mode 100644 examples/protein_stability_and_sasa/running_foldx/101m_Repair.pdb create mode 100644 examples/protein_stability_and_sasa/running_foldx/running_foldx.py diff --git a/examples/protein_stability_and_sasa/running_foldx/101m_Repair.pdb b/examples/protein_stability_and_sasa/running_foldx/101m_Repair.pdb new file mode 100644 index 00000000..9c2d478e --- /dev/null +++ b/examples/protein_stability_and_sasa/running_foldx/101m_Repair.pdb @@ -0,0 +1,1224 @@ +FoldX generated pdb file + + +ATOM 0 N MET A 0 24.277 8.374 -9.854 1.00 38.41 +ATOM 1 CA MET A 0 24.404 9.859 -9.939 1.00 37.90 +ATOM 2 C MET A 0 25.814 10.249 -10.359 1.00 36.65 +ATOM 3 O MET A 0 26.748 9.469 -10.197 1.00 37.13 +ATOM 4 CB MET A 0 24.070 10.495 -8.596 1.00 39.58 +ATOM 5 CG MET A 0 24.880 9.939 -7.442 1.00 41.49 +ATOM 6 SD MET A 0 24.262 10.555 -5.873 1.00 44.70 +ATOM 7 CE MET A 0 24.822 12.266 -5.967 1.00 41.59 +ATOM 8 N VAL A 1 25.964 11.453 -10.903 1.00 34.54 +ATOM 9 CA VAL A 1 27.263 11.924 -11.359 1.00 32.46 +ATOM 10 C VAL A 1 27.392 13.428 -11.115 1.00 30.70 +ATOM 11 O VAL A 1 26.443 14.184 -11.327 1.00 31.42 +ATOM 12 CB VAL A 1 27.455 11.631 -12.878 1.00 32.95 +ATOM 13 CG1 VAL A 1 26.299 12.172 -13.685 1.00 32.87 +ATOM 14 CG2 VAL A 1 28.755 12.245 -13.380 1.00 33.54 +ATOM 15 N LEU A 2 28.555 13.855 -10.636 1.00 27.76 +ATOM 16 CA LEU A 2 28.797 15.269 -10.390 1.00 25.21 +ATOM 17 C LEU A 2 29.492 15.903 -11.585 1.00 24.21 +ATOM 18 O LEU A 2 30.250 15.240 -12.306 1.00 23.80 +ATOM 19 CB LEU A 2 29.688 15.470 -9.152 1.00 24.30 +ATOM 20 CG LEU A 2 29.084 15.416 -7.751 1.00 22.96 +ATOM 21 CD1 LEU A 2 28.730 13.988 -7.390 1.00 22.03 +ATOM 22 CD2 LEU A 2 30.085 16.008 -6.776 1.00 21.94 +ATOM 23 N SER A 3 29.236 17.185 -11.800 1.00 23.04 +ATOM 24 CA SER A 3 29.898 17.894 -12.882 1.00 22.62 +ATOM 25 C SER A 3 31.282 18.336 -12.384 1.00 22.06 +ATOM 26 O SER A 3 31.565 18.268 -11.188 1.00 21.06 +ATOM 27 CB SER A 3 29.061 19.097 -13.312 1.00 22.96 +ATOM 28 OG SER A 3 29.841 20.045 -14.008 1.00 24.01 +ATOM 29 N GLU A 4 32.151 18.759 -13.296 1.00 17.46 +ATOM 30 CA GLU A 4 33.489 19.212 -12.922 1.00 24.04 +ATOM 31 C GLU A 4 33.346 20.443 -12.019 1.00 21.74 +ATOM 32 O GLU A 4 34.115 20.620 -11.076 1.00 20.06 +ATOM 33 CB GLU A 4 34.316 19.551 -14.178 1.00 22.74 +ATOM 34 CG GLU A 4 33.920 20.855 -14.918 1.00 18.42 +ATOM 35 CD GLU A 4 32.573 20.776 -15.648 1.00 27.97 +ATOM 36 OE1 GLU A 4 32.012 19.672 -15.800 1.00 27.73 +ATOM 37 OE2 GLU A 4 32.065 21.831 -16.067 1.00 28.70 +ATOM 38 N GLY A 5 32.351 21.280 -12.308 1.00 19.09 +ATOM 39 CA GLY A 5 32.118 22.472 -11.504 1.00 18.12 +ATOM 40 C GLY A 5 31.837 22.114 -10.053 1.00 18.29 +ATOM 41 O GLY A 5 32.353 22.758 -9.137 1.00 17.54 +ATOM 42 N GLU A 6 31.033 21.069 -9.845 1.00 16.68 +ATOM 43 CA GLU A 6 30.702 20.617 -8.498 1.00 13.59 +ATOM 44 C GLU A 6 31.945 20.007 -7.807 1.00 17.58 +ATOM 45 O GLU A 6 32.199 20.278 -6.638 1.00 14.97 +ATOM 46 CB GLU A 6 29.510 19.648 -8.533 1.00 13.04 +ATOM 47 CG GLU A 6 28.193 20.304 -8.982 1.00 16.58 +ATOM 48 CD GLU A 6 27.122 19.290 -9.445 1.00 18.86 +ATOM 49 OE1 GLU A 6 27.470 18.226 -9.996 1.00 23.67 +ATOM 50 OE2 GLU A 6 25.922 19.569 -9.270 1.00 29.24 +ATOM 51 N TRP A 7 32.747 19.242 -8.545 1.00 15.06 +ATOM 52 CA TRP A 7 33.970 18.675 -7.985 1.00 15.72 +ATOM 53 C TRP A 7 34.932 19.799 -7.595 1.00 16.03 +ATOM 54 O TRP A 7 35.645 19.687 -6.599 1.00 16.52 +ATOM 55 CB TRP A 7 34.672 17.733 -8.986 1.00 15.72 +ATOM 56 CG TRP A 7 34.046 16.382 -9.056 1.00 15.35 +ATOM 57 CD1 TRP A 7 33.473 15.795 -10.149 1.00 15.74 +ATOM 58 CD2 TRP A 7 33.874 15.466 -7.966 1.00 15.25 +ATOM 59 NE1 TRP A 7 32.940 14.573 -9.804 1.00 15.28 +ATOM 60 CE2 TRP A 7 33.168 14.345 -8.469 1.00 15.63 +ATOM 61 CE3 TRP A 7 34.237 15.486 -6.608 1.00 14.98 +ATOM 62 CZ2 TRP A 7 32.813 13.244 -7.652 1.00 15.14 +ATOM 63 CZ3 TRP A 7 33.884 14.394 -5.801 1.00 15.08 +ATOM 64 CH2 TRP A 7 33.178 13.290 -6.328 1.00 14.28 +ATOM 65 N GLN A 8 34.973 20.871 -8.388 1.00 15.81 +ATOM 66 CA GLN A 8 35.856 21.987 -8.080 1.00 16.01 +ATOM 67 C GLN A 8 35.445 22.668 -6.769 1.00 15.78 +ATOM 68 O GLN A 8 36.305 23.057 -5.973 1.00 15.65 +ATOM 69 CB GLN A 8 35.893 22.989 -9.235 1.00 17.95 +ATOM 70 CG GLN A 8 36.580 24.283 -8.870 1.00 25.32 +ATOM 71 CD GLN A 8 38.063 24.086 -8.655 1.00 39.60 +ATOM 72 OE1 GLN A 8 38.856 24.259 -9.582 1.00 67.02 +ATOM 73 NE2 GLN A 8 38.454 23.743 -7.425 1.00 43.80 +ATOM 74 N LEU A 9 34.141 22.788 -6.533 1.00 14.97 +ATOM 75 CA LEU A 9 33.661 23.390 -5.284 1.00 14.87 +ATOM 76 C LEU A 9 34.055 22.525 -4.081 1.00 14.68 +ATOM 77 O LEU A 9 34.515 23.031 -3.061 1.00 14.85 +ATOM 78 CB LEU A 9 32.141 23.586 -5.317 1.00 15.27 +ATOM 79 CG LEU A 9 31.629 24.367 -6.536 1.00 15.96 +ATOM 80 CD1 LEU A 9 30.232 23.933 -6.896 1.00 15.80 +ATOM 81 CD2 LEU A 9 31.665 25.850 -6.244 1.00 16.40 +ATOM 82 N VAL A 10 33.913 21.215 -4.236 1.00 13.96 +ATOM 83 CA VAL A 10 34.247 20.256 -3.195 1.00 13.50 +ATOM 84 C VAL A 10 35.742 20.293 -2.878 1.00 14.08 +ATOM 85 O VAL A 10 36.144 20.446 -1.721 1.00 14.08 +ATOM 86 CB VAL A 10 33.821 18.826 -3.640 1.00 13.81 +ATOM 87 CG1 VAL A 10 34.428 17.746 -2.739 1.00 13.51 +ATOM 88 CG2 VAL A 10 32.289 18.724 -3.657 1.00 13.28 +ATOM 89 N LEU A 11 36.563 20.208 -3.915 1.00 14.31 +ATOM 90 CA LEU A 11 38.005 20.200 -3.741 1.00 14.80 +ATOM 91 C LEU A 11 38.590 21.529 -3.282 1.00 15.08 +ATOM 92 O LEU A 11 39.613 21.537 -2.605 1.00 15.16 +ATOM 93 CB LEU A 11 38.690 19.677 -5.007 1.00 15.74 +ATOM 94 CG LEU A 11 38.310 18.212 -5.299 1.00 16.67 +ATOM 95 CD1 LEU A 11 38.911 17.765 -6.605 1.00 18.20 +ATOM 96 CD2 LEU A 11 38.778 17.300 -4.167 1.00 17.64 +ATOM 97 N HIS A 12 37.915 22.640 -3.577 1.00 15.37 +ATOM 98 CA HIS A 12 38.390 23.965 -3.145 1.00 15.95 +ATOM 99 C HIS A 12 38.229 24.124 -1.625 1.00 15.98 +ATOM 100 O HIS A 12 39.105 24.662 -0.963 1.00 16.51 +ATOM 101 CB HIS A 12 37.650 25.092 -3.887 1.00 19.33 +ATOM 102 CG HIS A 12 38.433 26.366 -3.993 1.00 28.57 +ATOM 103 ND1 HIS A 12 37.964 27.518 -4.591 1.00 38.92 +ATOM 104 CD2 HIS A 12 39.688 26.661 -3.567 1.00 35.58 +ATOM 105 CE1 HIS A 12 38.926 28.456 -4.508 1.00 37.34 +ATOM 106 NE2 HIS A 12 39.994 27.986 -3.895 1.00 33.72 +ATOM 107 N VAL A 13 37.107 23.672 -1.070 1.00 15.74 +ATOM 108 CA VAL A 13 36.934 23.758 0.379 1.00 15.64 +ATOM 109 C VAL A 13 37.792 22.681 1.085 1.00 15.33 +ATOM 110 O VAL A 13 38.342 22.921 2.160 1.00 15.39 +ATOM 111 CB VAL A 13 35.424 23.682 0.816 1.00 16.72 +ATOM 112 CG1 VAL A 13 34.851 22.287 0.601 1.00 16.66 +ATOM 113 CG2 VAL A 13 35.283 24.085 2.288 1.00 17.08 +ATOM 114 N TRP A 14 37.958 21.524 0.448 1.00 14.73 +ATOM 115 CA TRP A 14 38.770 20.457 1.017 1.00 14.75 +ATOM 116 C TRP A 14 40.241 20.879 1.166 1.00 14.64 +ATOM 117 O TRP A 14 40.921 20.456 2.099 1.00 15.14 +ATOM 118 CB TRP A 14 38.673 19.191 0.164 1.00 15.26 +ATOM 119 CG TRP A 14 39.146 17.993 0.901 1.00 16.17 +ATOM 120 CD1 TRP A 14 40.356 17.387 0.782 1.00 16.11 +ATOM 121 CD2 TRP A 14 38.458 17.320 1.969 1.00 16.43 +ATOM 122 NE1 TRP A 14 40.477 16.388 1.722 1.00 16.54 +ATOM 123 CE2 TRP A 14 39.328 16.325 2.463 1.00 15.93 +ATOM 124 CE3 TRP A 14 37.191 17.471 2.561 1.00 16.69 +ATOM 125 CZ2 TRP A 14 38.983 15.480 3.522 1.00 16.79 +ATOM 126 CZ3 TRP A 14 36.842 16.622 3.626 1.00 17.61 +ATOM 127 CH2 TRP A 14 37.744 15.638 4.093 1.00 16.93 +ATOM 128 N ALA A 15 40.726 21.722 0.254 1.00 14.42 +ATOM 129 CA ALA A 15 42.095 22.214 0.312 1.00 14.00 +ATOM 130 C ALA A 15 42.328 22.999 1.608 1.00 14.30 +ATOM 131 O ALA A 15 43.427 22.982 2.156 1.00 14.23 +ATOM 132 CB ALA A 15 42.389 23.080 -0.896 1.00 14.14 +ATOM 133 N LYS A 16 41.270 23.635 2.124 1.00 15.22 +ATOM 134 CA LYS A 16 41.345 24.400 3.376 1.00 17.82 +ATOM 135 C LYS A 16 41.371 23.426 4.548 1.00 14.95 +ATOM 136 O LYS A 16 42.124 23.616 5.491 1.00 18.06 +ATOM 137 CB LYS A 16 40.146 25.350 3.539 1.00 11.85 +ATOM 138 CG LYS A 16 40.338 26.729 2.957 1.00 15.52 +ATOM 139 CD LYS A 16 39.588 27.756 3.742 1.00 22.34 +ATOM 140 CE LYS A 16 40.312 28.053 5.037 1.00 43.61 +ATOM 141 NZ LYS A 16 39.564 29.033 5.858 1.00 41.54 +ATOM 142 N VAL A 17 40.524 22.398 4.491 1.00 12.40 +ATOM 143 CA VAL A 17 40.473 21.367 5.522 1.00 12.29 +ATOM 144 C VAL A 17 41.872 20.771 5.701 1.00 12.32 +ATOM 145 O VAL A 17 42.329 20.560 6.829 1.00 12.74 +ATOM 146 CB VAL A 17 39.496 20.242 5.116 1.00 12.43 +ATOM 147 CG1 VAL A 17 39.596 19.045 6.073 1.00 12.58 +ATOM 148 CG2 VAL A 17 38.088 20.787 5.082 1.00 13.47 +ATOM 149 N GLU A 18 42.553 20.513 4.584 1.00 13.88 +ATOM 150 CA GLU A 18 43.904 19.940 4.618 1.00 14.94 +ATOM 151 C GLU A 18 44.991 20.813 5.262 1.00 16.26 +ATOM 152 O GLU A 18 46.070 20.322 5.560 1.00 15.32 +ATOM 153 CB GLU A 18 44.327 19.461 3.235 1.00 12.91 +ATOM 154 CG GLU A 18 43.292 18.563 2.606 1.00 13.99 +ATOM 155 CD GLU A 18 43.892 17.386 1.859 1.00 16.75 +ATOM 156 OE1 GLU A 18 44.854 17.575 1.092 1.00 21.92 +ATOM 157 OE2 GLU A 18 43.380 16.269 2.042 1.00 23.33 +ATOM 158 N ALA A 19 44.708 22.090 5.501 1.00 14.20 +ATOM 159 CA ALA A 19 45.686 22.946 6.169 1.00 14.94 +ATOM 160 C ALA A 19 45.780 22.500 7.624 1.00 14.81 +ATOM 161 O ALA A 19 46.773 22.759 8.295 1.00 15.01 +ATOM 162 CB ALA A 19 45.259 24.418 6.110 1.00 14.54 +ATOM 163 N ASP A 20 44.731 21.837 8.111 1.00 12.28 +ATOM 164 CA ASP A 20 44.693 21.368 9.492 1.00 12.72 +ATOM 165 C ASP A 20 43.810 20.117 9.606 1.00 18.12 +ATOM 166 O ASP A 20 42.686 20.173 10.131 1.00 13.62 +ATOM 167 CB ASP A 20 44.157 22.490 10.403 1.00 10.25 +ATOM 168 CG ASP A 20 44.027 22.059 11.857 1.00 19.39 +ATOM 169 OD1 ASP A 20 44.746 21.125 12.292 1.00 17.74 +ATOM 170 OD2 ASP A 20 43.168 22.634 12.551 1.00 26.16 +ATOM 171 N VAL A 21 44.343 18.987 9.164 1.00 14.51 +ATOM 172 CA VAL A 21 43.597 17.741 9.183 1.00 16.06 +ATOM 173 C VAL A 21 43.223 17.273 10.588 1.00 15.92 +ATOM 174 O VAL A 21 42.095 16.857 10.810 1.00 16.38 +ATOM 175 CB VAL A 21 44.360 16.610 8.409 1.00 17.48 +ATOM 176 CG1 VAL A 21 43.525 15.337 8.365 1.00 16.78 +ATOM 177 CG2 VAL A 21 44.670 17.090 6.982 1.00 17.19 +ATOM 178 N ALA A 22 44.151 17.364 11.537 1.00 15.42 +ATOM 179 CA ALA A 22 43.871 16.937 12.907 1.00 15.58 +ATOM 180 C ALA A 22 42.787 17.773 13.591 1.00 15.11 +ATOM 181 O ALA A 22 41.894 17.227 14.221 1.00 14.57 +ATOM 182 CB ALA A 22 45.154 16.940 13.734 1.00 16.03 +ATOM 183 N GLY A 23 42.865 19.094 13.443 1.00 14.85 +ATOM 184 CA GLY A 23 41.882 19.978 14.035 1.00 13.95 +ATOM 185 C GLY A 23 40.485 19.730 13.490 1.00 13.74 +ATOM 186 O GLY A 23 39.507 19.711 14.255 1.00 13.81 +ATOM 187 N HIS A 24 40.369 19.561 12.175 1.00 13.07 +ATOM 188 CA HIS A 24 39.059 19.308 11.561 1.00 12.67 +ATOM 189 C HIS A 24 38.525 17.941 11.970 1.00 12.65 +ATOM 190 O HIS A 24 37.326 17.804 12.187 1.00 13.43 +ATOM 191 CB HIS A 24 39.138 19.392 10.037 1.00 10.49 +ATOM 192 CG HIS A 24 39.212 20.790 9.513 1.00 13.59 +ATOM 193 ND1 HIS A 24 40.371 21.531 9.447 1.00 10.53 +ATOM 194 CD2 HIS A 24 38.245 21.571 8.963 1.00 10.81 +ATOM 195 CE1 HIS A 24 40.078 22.706 8.860 1.00 11.16 +ATOM 196 NE2 HIS A 24 38.798 22.777 8.549 1.00 12.09 +ATOM 197 N GLY A 25 39.410 16.943 12.063 1.00 12.41 +ATOM 198 CA GLY A 25 39.014 15.593 12.468 1.00 13.17 +ATOM 199 C GLY A 25 38.428 15.545 13.875 1.00 13.87 +ATOM 200 O GLY A 25 37.460 14.826 14.124 1.00 13.35 +ATOM 201 N GLN A 26 39.034 16.291 14.804 1.00 14.34 +ATOM 202 CA GLN A 26 38.534 16.366 16.171 1.00 15.16 +ATOM 203 C GLN A 26 37.140 17.000 16.198 1.00 15.26 +ATOM 204 O GLN A 26 36.221 16.467 16.829 1.00 15.39 +ATOM 205 CB GLN A 26 39.448 17.215 17.054 1.00 17.03 +ATOM 206 CG GLN A 26 39.210 17.056 18.523 1.00 28.33 +ATOM 207 CD GLN A 26 40.494 17.200 19.321 1.00 40.00 +ATOM 208 OE1 GLN A 26 41.354 18.030 19.004 1.00 36.88 +ATOM 209 NE2 GLN A 26 40.603 16.438 20.399 1.00 36.42 +ATOM 210 N ASP A 27 37.003 18.168 15.568 1.00 10.78 +ATOM 211 CA ASP A 27 35.721 18.874 15.540 1.00 12.70 +ATOM 212 C ASP A 27 34.599 18.016 14.999 1.00 15.39 +ATOM 213 O ASP A 27 33.494 18.020 15.527 1.00 12.27 +ATOM 214 CB ASP A 27 35.820 20.133 14.669 1.00 11.23 +ATOM 215 CG ASP A 27 36.540 21.274 15.357 1.00 27.34 +ATOM 216 OD1 ASP A 27 36.416 21.412 16.598 1.00 27.80 +ATOM 217 OD2 ASP A 27 37.237 22.030 14.646 1.00 23.75 +ATOM 218 N ILE A 28 34.880 17.341 13.890 1.00 12.88 +ATOM 219 CA ILE A 28 33.906 16.477 13.242 1.00 13.76 +ATOM 220 C ILE A 28 33.472 15.291 14.124 1.00 14.47 +ATOM 221 O ILE A 28 32.263 15.032 14.276 1.00 14.63 +ATOM 222 CB ILE A 28 34.446 15.993 11.846 1.00 13.13 +ATOM 223 CG1 ILE A 28 34.381 17.154 10.842 1.00 13.35 +ATOM 224 CG2 ILE A 28 33.644 14.809 11.323 1.00 12.02 +ATOM 225 CD1 ILE A 28 35.210 16.957 9.578 1.00 12.89 +ATOM 226 N LEU A 29 34.440 14.596 14.731 1.00 15.19 +ATOM 227 CA LEU A 29 34.118 13.441 15.571 1.00 15.68 +ATOM 228 C LEU A 29 33.400 13.853 16.847 1.00 16.10 +ATOM 229 O LEU A 29 32.471 13.181 17.283 1.00 16.45 +ATOM 230 CB LEU A 29 35.359 12.614 15.898 1.00 15.76 +ATOM 231 CG LEU A 29 35.978 11.809 14.749 1.00 16.40 +ATOM 232 CD1 LEU A 29 37.043 10.854 15.303 1.00 16.35 +ATOM 233 CD2 LEU A 29 34.917 11.008 14.016 1.00 17.12 +ATOM 234 N ILE A 30 33.818 14.971 17.432 1.00 16.13 +ATOM 235 CA ILE A 30 33.178 15.463 18.644 1.00 16.60 +ATOM 236 C ILE A 30 31.725 15.839 18.311 1.00 17.11 +ATOM 237 O ILE A 30 30.798 15.495 19.058 1.00 17.25 +ATOM 238 CB ILE A 30 33.974 16.652 19.250 1.00 15.99 +ATOM 239 CG1 ILE A 30 35.260 16.118 19.907 1.00 16.25 +ATOM 240 CG2 ILE A 30 33.113 17.437 20.245 1.00 16.34 +ATOM 241 CD1 ILE A 30 36.262 17.204 20.328 1.00 15.83 +ATOM 242 N ARG A 31 31.529 16.494 17.168 1.00 16.96 +ATOM 243 CA ARG A 31 30.191 16.862 16.720 1.00 17.72 +ATOM 244 C ARG A 31 29.353 15.590 16.560 1.00 18.25 +ATOM 245 O ARG A 31 28.242 15.514 17.080 1.00 18.06 +ATOM 246 CB ARG A 31 30.274 17.644 15.403 1.00 19.03 +ATOM 247 CG ARG A 31 29.733 19.065 15.414 1.00 27.75 +ATOM 248 CD ARG A 31 30.289 19.906 16.539 1.00 35.54 +ATOM 249 NE ARG A 31 31.706 20.218 16.398 1.00 55.89 +ATOM 250 CZ ARG A 31 32.242 21.408 16.666 1.00 59.53 +ATOM 251 NH1 ARG A 31 31.482 22.442 17.004 1.00 55.77 +ATOM 252 NH2 ARG A 31 33.545 21.583 16.530 1.00 80.31 +ATOM 253 N LEU A 32 29.923 14.573 15.913 1.00 18.72 +ATOM 254 CA LEU A 32 29.229 13.303 15.710 1.00 18.89 +ATOM 255 C LEU A 32 28.820 12.652 17.035 1.00 19.55 +ATOM 256 O LEU A 32 27.656 12.283 17.216 1.00 19.27 +ATOM 257 CB LEU A 32 30.107 12.321 14.912 1.00 18.43 +ATOM 258 CG LEU A 32 29.518 10.900 14.774 1.00 18.35 +ATOM 259 CD1 LEU A 32 28.310 10.917 13.853 1.00 16.58 +ATOM 260 CD2 LEU A 32 30.569 9.897 14.281 1.00 17.13 +ATOM 261 N PHE A 33 29.785 12.525 17.950 1.00 20.12 +ATOM 262 CA PHE A 33 29.574 11.902 19.263 1.00 20.56 +ATOM 263 C PHE A 33 28.594 12.652 20.164 1.00 21.82 +ATOM 264 O PHE A 33 27.863 12.029 20.941 1.00 23.10 +ATOM 265 CB PHE A 33 30.905 11.724 19.981 1.00 19.32 +ATOM 266 CG PHE A 33 31.858 10.805 19.263 1.00 18.94 +ATOM 267 CD1 PHE A 33 31.375 9.740 18.495 1.00 17.83 +ATOM 268 CD2 PHE A 33 33.239 10.991 19.365 1.00 17.60 +ATOM 269 CE1 PHE A 33 32.254 8.878 17.843 1.00 17.15 +ATOM 270 CE2 PHE A 33 34.119 10.133 18.714 1.00 17.04 +ATOM 271 CZ PHE A 33 33.617 9.072 17.951 1.00 17.09 +ATOM 272 N LYS A 34 28.568 13.977 20.061 1.00 23.38 +ATOM 273 CA LYS A 34 27.645 14.757 20.863 1.00 25.09 +ATOM 274 C LYS A 34 26.242 14.704 20.284 1.00 25.17 +ATOM 275 O LYS A 34 25.273 14.626 21.026 1.00 38.31 +ATOM 276 CB LYS A 34 28.086 16.223 20.966 1.00 20.77 +ATOM 277 CG LYS A 34 29.402 16.420 21.699 1.00 42.45 +ATOM 278 CD LYS A 34 29.831 17.885 21.706 1.00 68.05 +ATOM 279 CE LYS A 34 28.962 18.727 22.622 1.00 74.10 +ATOM 280 NZ LYS A 34 29.273 20.182 22.530 1.00 58.94 +ATOM 281 N SER A 35 26.131 14.777 18.961 1.00 26.05 +ATOM 282 CA SER A 35 24.834 14.759 18.309 1.00 26.21 +ATOM 283 C SER A 35 24.189 13.390 18.335 1.00 26.05 +ATOM 284 O SER A 35 22.970 13.289 18.389 1.00 25.95 +ATOM 285 CB SER A 35 24.960 15.191 16.854 1.00 26.90 +ATOM 286 OG SER A 35 25.795 16.326 16.720 1.00 30.21 +ATOM 287 N HIS A 36 25.013 12.347 18.240 1.00 25.46 +ATOM 288 CA HIS A 36 24.534 10.971 18.219 1.00 25.07 +ATOM 289 C HIS A 36 25.441 10.076 19.042 1.00 24.90 +ATOM 290 O HIS A 36 26.194 9.289 18.490 1.00 25.25 +ATOM 291 CB HIS A 36 24.470 10.443 16.774 1.00 23.40 +ATOM 292 CG HIS A 36 23.769 11.360 15.822 1.00 21.61 +ATOM 293 ND1 HIS A 36 22.404 11.396 15.645 1.00 22.67 +ATOM 294 CD2 HIS A 36 24.271 12.304 14.986 1.00 23.65 +ATOM 295 CE1 HIS A 36 22.127 12.334 14.735 1.00 17.49 +ATOM 296 NE2 HIS A 36 23.226 12.917 14.300 1.00 22.98 +ATOM 297 N PRO A 37 25.290 10.107 20.377 1.00 25.00 +ATOM 298 CA PRO A 37 26.053 9.339 21.363 1.00 24.52 +ATOM 299 C PRO A 37 26.122 7.836 21.124 1.00 24.44 +ATOM 300 O PRO A 37 27.090 7.183 21.514 1.00 24.78 +ATOM 301 CB PRO A 37 25.321 9.652 22.666 1.00 25.11 +ATOM 302 CG PRO A 37 24.698 10.996 22.392 1.00 24.88 +ATOM 303 CD PRO A 37 24.379 10.867 20.942 1.00 25.04 +ATOM 304 N GLU A 38 25.106 7.280 20.478 1.00 20.50 +ATOM 305 CA GLU A 38 25.099 5.847 20.204 1.00 27.23 +ATOM 306 C GLU A 38 26.292 5.452 19.344 1.00 18.36 +ATOM 307 O GLU A 38 26.814 4.359 19.481 1.00 31.79 +ATOM 308 CB GLU A 38 23.779 5.401 19.539 1.00 20.46 +ATOM 309 CG GLU A 38 23.400 6.088 18.216 1.00 21.91 +ATOM 310 CD GLU A 38 22.469 7.290 18.375 1.00 38.03 +ATOM 311 OE1 GLU A 38 22.396 7.910 19.455 1.00 33.84 +ATOM 312 OE2 GLU A 38 21.800 7.628 17.386 1.00 40.21 +ATOM 313 N THR A 39 26.760 6.365 18.497 1.00 22.46 +ATOM 314 CA THR A 39 27.898 6.075 17.627 1.00 22.43 +ATOM 315 C THR A 39 29.208 5.857 18.383 1.00 22.93 +ATOM 316 O THR A 39 30.073 5.113 17.922 1.00 22.99 +ATOM 317 CB THR A 39 28.123 7.196 16.564 1.00 22.12 +ATOM 318 OG1 THR A 39 28.497 8.422 17.212 1.00 21.24 +ATOM 319 CG2 THR A 39 26.876 7.407 15.735 1.00 20.86 +ATOM 320 N LEU A 40 29.349 6.498 19.543 1.00 23.68 +ATOM 321 CA LEU A 40 30.572 6.385 20.345 1.00 24.19 +ATOM 322 C LEU A 40 30.847 4.950 20.795 1.00 24.28 +ATOM 323 O LEU A 40 32.011 4.538 20.938 1.00 23.83 +ATOM 324 CB LEU A 40 30.499 7.330 21.554 1.00 25.26 +ATOM 325 CG LEU A 40 31.720 7.466 22.478 1.00 25.40 +ATOM 326 CD1 LEU A 40 32.932 7.943 21.688 1.00 26.19 +ATOM 327 CD2 LEU A 40 31.414 8.440 23.599 1.00 25.83 +ATOM 328 N GLU A 41 29.770 4.184 20.962 1.00 26.00 +ATOM 329 CA GLU A 41 29.857 2.786 21.382 1.00 24.55 +ATOM 330 C GLU A 41 30.658 1.906 20.427 1.00 33.76 +ATOM 331 O GLU A 41 31.209 0.890 20.838 1.00 35.66 +ATOM 332 CB GLU A 41 28.461 2.190 21.522 1.00 33.39 +ATOM 333 CG GLU A 41 27.566 2.880 22.525 1.00 55.70 +ATOM 334 CD GLU A 41 26.154 2.338 22.480 1.00 67.02 +ATOM 335 OE1 GLU A 41 25.985 1.124 22.229 1.00 71.20 +ATOM 336 OE2 GLU A 41 25.215 3.126 22.719 1.00 75.40 +ATOM 337 N LYS A 42 30.696 2.286 19.151 1.00 33.33 +ATOM 338 CA LYS A 42 31.421 1.522 18.136 1.00 25.60 +ATOM 339 C LYS A 42 32.934 1.611 18.273 1.00 19.95 +ATOM 340 O LYS A 42 33.661 0.750 17.787 1.00 35.38 +ATOM 341 CB LYS A 42 31.007 1.987 16.739 1.00 17.82 +ATOM 342 CG LYS A 42 29.633 1.542 16.326 1.00 19.30 +ATOM 343 CD LYS A 42 29.647 0.074 15.961 1.00 28.08 +ATOM 344 CE LYS A 42 28.258 -0.429 15.633 1.00 28.38 +ATOM 345 NZ LYS A 42 28.351 -1.860 15.287 1.00 36.87 +ATOM 346 N PHE A 43 33.403 2.649 18.952 1.00 32.57 +ATOM 347 CA PHE A 43 34.832 2.864 19.120 1.00 32.86 +ATOM 348 C PHE A 43 35.357 2.428 20.479 1.00 32.97 +ATOM 349 O PHE A 43 35.455 3.224 21.407 1.00 33.11 +ATOM 350 CB PHE A 43 35.153 4.340 18.865 1.00 32.29 +ATOM 351 CG PHE A 43 34.595 4.858 17.575 1.00 32.34 +ATOM 352 CD1 PHE A 43 35.314 4.727 16.389 1.00 31.95 +ATOM 353 CD2 PHE A 43 33.341 5.452 17.537 1.00 31.84 +ATOM 354 CE1 PHE A 43 34.785 5.179 15.189 1.00 32.26 +ATOM 355 CE2 PHE A 43 32.809 5.906 16.344 1.00 32.01 +ATOM 356 CZ PHE A 43 33.533 5.768 15.166 1.00 32.21 +ATOM 357 N ASP A 44 35.775 1.175 20.555 1.00 34.16 +ATOM 358 CA ASP A 44 36.281 0.599 21.794 1.00 41.63 +ATOM 359 C ASP A 44 37.401 1.387 22.443 1.00 43.44 +ATOM 360 O ASP A 44 37.460 1.496 23.668 1.00 43.85 +ATOM 361 CB ASP A 44 36.725 -0.847 21.562 1.00 49.83 +ATOM 362 CG ASP A 44 37.863 -0.950 20.557 1.00 66.28 +ATOM 363 OD1 ASP A 44 37.919 -0.127 19.606 1.00 59.23 +ATOM 364 OD2 ASP A 44 38.715 -1.846 20.732 1.00 75.41 +ATOM 365 N ARG A 45 38.255 1.984 21.623 1.00 41.73 +ATOM 366 CA ARG A 45 39.378 2.737 22.144 1.00 41.45 +ATOM 367 C ARG A 45 39.011 4.085 22.736 1.00 40.97 +ATOM 368 O ARG A 45 39.814 4.665 23.468 1.00 41.65 +ATOM 369 CB ARG A 45 40.441 2.938 21.053 1.00 43.13 +ATOM 370 CG ARG A 45 40.809 1.651 20.324 1.00 53.08 +ATOM 371 CD ARG A 45 40.284 1.595 18.884 1.00 64.99 +ATOM 372 NE ARG A 45 41.086 2.394 17.964 1.00 80.05 +ATOM 373 CZ ARG A 45 42.045 1.900 17.185 1.00 97.64 +ATOM 374 NH1 ARG A 45 42.340 0.604 17.223 1.00100.00 +ATOM 375 NH2 ARG A 45 42.723 2.706 16.376 1.00 91.43 +ATOM 376 N VAL A 46 37.771 4.523 22.533 1.00 39.61 +ATOM 377 CA VAL A 46 37.375 5.854 22.974 1.00 38.33 +ATOM 378 C VAL A 46 35.954 5.971 23.580 1.00 38.11 +ATOM 379 O VAL A 46 35.542 7.041 24.037 1.00 37.45 +ATOM 380 CB VAL A 46 37.577 6.804 21.731 1.00 37.83 +ATOM 381 CG1 VAL A 46 36.275 7.215 21.093 1.00 36.87 +ATOM 382 CG2 VAL A 46 38.468 7.949 22.062 1.00 37.97 +ATOM 383 N LYS A 47 35.254 4.844 23.672 1.00 29.21 +ATOM 384 CA LYS A 47 33.882 4.813 24.172 1.00 23.48 +ATOM 385 C LYS A 47 33.669 5.225 25.628 1.00 24.52 +ATOM 386 O LYS A 47 32.547 5.503 26.027 1.00 33.62 +ATOM 387 CB LYS A 47 33.280 3.426 23.946 1.00 23.59 +ATOM 388 CG LYS A 47 33.893 2.330 24.796 1.00 40.22 +ATOM 389 CD LYS A 47 33.032 1.078 24.813 1.00 52.55 +ATOM 390 CE LYS A 47 32.808 0.567 23.405 1.00 62.41 +ATOM 391 NZ LYS A 47 31.809 -0.528 23.352 1.00 74.01 +ATOM 392 N HIS A 48 34.741 5.249 26.413 1.00 31.16 +ATOM 393 CA HIS A 48 34.674 5.606 27.836 1.00 31.22 +ATOM 394 C HIS A 48 34.701 7.112 28.107 1.00 30.83 +ATOM 395 O HIS A 48 34.532 7.529 29.249 1.00 31.04 +ATOM 396 CB HIS A 48 35.838 4.955 28.589 1.00 33.26 +ATOM 397 CG HIS A 48 37.170 5.218 27.959 1.00 43.81 +ATOM 398 ND1 HIS A 48 38.088 6.123 28.453 1.00 49.90 +ATOM 399 CD2 HIS A 48 37.767 4.628 26.892 1.00 46.44 +ATOM 400 CE1 HIS A 48 39.198 6.055 27.692 1.00 53.26 +ATOM 401 NE2 HIS A 48 39.056 5.162 26.730 1.00 56.20 +ATOM 402 N LEU A 49 35.003 7.911 27.083 1.00 30.17 +ATOM 403 CA LEU A 49 35.045 9.375 27.217 1.00 29.27 +ATOM 404 C LEU A 49 33.637 9.891 27.507 1.00 28.58 +ATOM 405 O LEU A 49 32.695 9.606 26.782 1.00 28.38 +ATOM 406 CB LEU A 49 35.611 10.026 25.952 1.00 29.06 +ATOM 407 CG LEU A 49 37.062 9.713 25.574 1.00 28.57 +ATOM 408 CD1 LEU A 49 37.396 10.416 24.291 1.00 28.23 +ATOM 409 CD2 LEU A 49 38.014 10.147 26.661 1.00 28.89 +ATOM 410 N LYS A 50 33.515 10.640 28.595 1.00 24.55 +ATOM 411 CA LYS A 50 32.237 11.165 29.068 1.00 29.94 +ATOM 412 C LYS A 50 31.906 12.604 28.683 1.00 23.26 +ATOM 413 O LYS A 50 30.742 12.950 28.517 1.00 34.91 +ATOM 414 CB LYS A 50 32.182 11.034 30.592 1.00 45.14 +ATOM 415 CG LYS A 50 33.190 11.907 31.349 1.00 30.35 +ATOM 416 CD LYS A 50 32.720 12.145 32.788 1.00 57.96 +ATOM 417 CE LYS A 50 33.673 13.034 33.584 1.00 49.95 +ATOM 418 NZ LYS A 50 34.886 12.299 34.031 1.00 51.06 +ATOM 419 N THR A 51 32.924 13.448 28.564 1.00 24.12 +ATOM 420 CA THR A 51 32.694 14.849 28.229 1.00 23.89 +ATOM 421 C THR A 51 33.500 15.330 27.025 1.00 23.81 +ATOM 422 O THR A 51 34.497 14.712 26.638 1.00 23.34 +ATOM 423 CB THR A 51 33.052 15.780 29.435 1.00 24.11 +ATOM 424 OG1 THR A 51 34.479 15.882 29.557 1.00 24.05 +ATOM 425 CG2 THR A 51 32.465 15.241 30.747 1.00 24.04 +ATOM 426 N GLU A 52 33.098 16.483 26.495 1.00 19.92 +ATOM 427 CA GLU A 52 33.783 17.091 25.373 1.00 23.72 +ATOM 428 C GLU A 52 35.220 17.425 25.737 1.00 23.12 +ATOM 429 O GLU A 52 36.100 17.350 24.887 1.00 25.70 +ATOM 430 CB GLU A 52 33.071 18.360 24.919 1.00 28.42 +ATOM 431 CG GLU A 52 33.792 19.051 23.760 1.00 41.68 +ATOM 432 CD GLU A 52 33.008 20.206 23.160 1.00 38.60 +ATOM 433 OE1 GLU A 52 31.786 20.297 23.404 1.00 41.28 +ATOM 434 OE2 GLU A 52 33.613 21.018 22.430 1.00 49.31 +ATOM 435 N ALA A 53 35.454 17.798 26.997 1.00 21.99 +ATOM 436 CA ALA A 53 36.800 18.129 27.454 1.00 21.32 +ATOM 437 C ALA A 53 37.678 16.893 27.382 1.00 21.17 +ATOM 438 O ALA A 53 38.845 16.975 27.014 1.00 20.69 +ATOM 439 CB ALA A 53 36.765 18.670 28.881 1.00 22.00 +ATOM 440 N GLU A 54 37.114 15.745 27.747 1.00 18.34 +ATOM 441 CA GLU A 54 37.860 14.489 27.694 1.00 20.60 +ATOM 442 C GLU A 54 38.137 14.149 26.245 1.00 22.25 +ATOM 443 O GLU A 54 39.231 13.717 25.892 1.00 19.44 +ATOM 444 CB GLU A 54 37.079 13.365 28.371 1.00 18.48 +ATOM 445 CG GLU A 54 36.900 13.615 29.857 1.00 27.00 +ATOM 446 CD GLU A 54 36.491 12.391 30.650 1.00 30.63 +ATOM 447 OE1 GLU A 54 36.042 11.397 30.054 1.00 34.98 +ATOM 448 OE2 GLU A 54 36.617 12.427 31.891 1.00 38.33 +ATOM 449 N MET A 55 37.151 14.420 25.398 1.00 22.52 +ATOM 450 CA MET A 55 37.272 14.165 23.970 1.00 22.24 +ATOM 451 C MET A 55 38.367 15.021 23.334 1.00 22.17 +ATOM 452 O MET A 55 39.210 14.508 22.593 1.00 21.68 +ATOM 453 CB MET A 55 35.937 14.411 23.293 1.00 21.93 +ATOM 454 CG MET A 55 34.971 13.294 23.521 1.00 22.76 +ATOM 455 SD MET A 55 33.389 13.680 22.839 1.00 25.74 +ATOM 456 CE MET A 55 32.348 12.662 23.891 1.00 25.19 +ATOM 457 N LYS A 56 38.397 16.302 23.700 1.00 18.45 +ATOM 458 CA LYS A 56 39.378 17.240 23.171 1.00 22.71 +ATOM 459 C LYS A 56 40.781 16.919 23.590 1.00 23.43 +ATOM 460 O LYS A 56 41.720 17.320 22.920 1.00 29.40 +ATOM 461 CB LYS A 56 39.070 18.667 23.607 1.00 13.80 +ATOM 462 CG LYS A 56 37.803 19.229 23.000 1.00 30.70 +ATOM 463 CD LYS A 56 37.468 20.570 23.604 1.00 42.22 +ATOM 464 CE LYS A 56 36.647 21.383 22.637 1.00 54.44 +ATOM 465 NZ LYS A 56 35.970 22.529 23.297 1.00 94.11 +ATOM 466 N ALA A 57 40.926 16.212 24.706 1.00 24.17 +ATOM 467 CA ALA A 57 42.245 15.870 25.207 1.00 24.10 +ATOM 468 C ALA A 57 42.712 14.501 24.759 1.00 24.17 +ATOM 469 O ALA A 57 43.892 14.178 24.861 1.00 24.80 +ATOM 470 CB ALA A 57 42.263 15.956 26.717 1.00 24.26 +ATOM 471 N SER A 58 41.791 13.705 24.233 1.00 24.05 +ATOM 472 CA SER A 58 42.106 12.360 23.794 1.00 23.68 +ATOM 473 C SER A 58 43.023 12.299 22.565 1.00 24.43 +ATOM 474 O SER A 58 42.718 12.859 21.509 1.00 24.53 +ATOM 475 CB SER A 58 40.813 11.598 23.535 1.00 23.20 +ATOM 476 OG SER A 58 41.108 10.287 23.101 1.00 23.93 +ATOM 477 N GLU A 59 44.156 11.618 22.716 1.00 25.17 +ATOM 478 CA GLU A 59 45.110 11.468 21.630 1.00 24.69 +ATOM 479 C GLU A 59 44.585 10.444 20.637 1.00 26.92 +ATOM 480 O GLU A 59 44.823 10.556 19.445 1.00 27.57 +ATOM 481 CB GLU A 59 46.472 11.027 22.172 1.00 33.92 +ATOM 482 CG GLU A 59 47.000 11.885 23.316 1.00 62.87 +ATOM 483 CD GLU A 59 46.628 11.333 24.688 1.00 74.28 +ATOM 484 OE1 GLU A 59 45.687 10.513 24.784 1.00 87.47 +ATOM 485 OE2 GLU A 59 47.285 11.717 25.678 1.00 76.06 +ATOM 486 N ASP A 60 43.867 9.442 21.134 1.00 22.66 +ATOM 487 CA ASP A 60 43.300 8.420 20.267 1.00 22.16 +ATOM 488 C ASP A 60 42.200 9.002 19.389 1.00 20.24 +ATOM 489 O ASP A 60 42.070 8.629 18.222 1.00 19.35 +ATOM 490 CB ASP A 60 42.712 7.267 21.079 1.00 26.97 +ATOM 491 CG ASP A 60 43.771 6.433 21.782 1.00 42.59 +ATOM 492 OD1 ASP A 60 44.656 5.856 21.104 1.00 46.70 +ATOM 493 OD2 ASP A 60 43.696 6.347 23.025 1.00 48.78 +ATOM 494 N LEU A 61 41.395 9.898 19.948 1.00 18.12 +ATOM 495 CA LEU A 61 40.315 10.489 19.167 1.00 18.57 +ATOM 496 C LEU A 61 40.906 11.316 18.024 1.00 18.43 +ATOM 497 O LEU A 61 40.434 11.243 16.889 1.00 18.14 +ATOM 498 CB LEU A 61 39.399 11.328 20.057 1.00 18.74 +ATOM 499 CG LEU A 61 38.104 11.870 19.443 1.00 19.52 +ATOM 500 CD1 LEU A 61 37.023 11.951 20.503 1.00 19.62 +ATOM 501 CD2 LEU A 61 38.343 13.244 18.821 1.00 19.57 +ATOM 502 N LYS A 62 41.992 12.027 18.313 1.00 14.10 +ATOM 503 CA LYS A 62 42.651 12.861 17.310 1.00 25.17 +ATOM 504 C LYS A 62 43.225 12.008 16.175 1.00 19.47 +ATOM 505 O LYS A 62 43.117 12.381 15.008 1.00 20.51 +ATOM 506 CB LYS A 62 43.738 13.726 17.957 1.00 36.01 +ATOM 507 CG LYS A 62 43.195 14.839 18.841 1.00 30.67 +ATOM 508 CD LYS A 62 44.099 16.058 18.798 1.00 57.97 +ATOM 509 CE LYS A 62 44.139 16.768 20.129 1.00 60.47 +ATOM 510 NZ LYS A 62 44.040 18.246 19.976 1.00 95.13 +ATOM 511 N LYS A 63 43.827 10.868 16.520 1.00 15.72 +ATOM 512 CA LYS A 63 44.365 9.952 15.510 1.00 17.84 +ATOM 513 C LYS A 63 43.220 9.405 14.638 1.00 16.64 +ATOM 514 O LYS A 63 43.347 9.344 13.420 1.00 22.11 +ATOM 515 CB LYS A 63 45.139 8.796 16.161 1.00 18.47 +ATOM 516 CG LYS A 63 46.384 9.270 16.902 1.00 43.82 +ATOM 517 CD LYS A 63 46.631 8.479 18.175 1.00 79.73 +ATOM 518 CE LYS A 63 47.453 7.228 17.929 1.00 64.33 +ATOM 519 NZ LYS A 63 48.910 7.508 18.008 1.00 81.18 +ATOM 520 N HIS A 64 42.102 9.040 15.260 1.00 16.01 +ATOM 521 CA HIS A 64 40.944 8.537 14.530 1.00 16.67 +ATOM 522 C HIS A 64 40.443 9.582 13.535 1.00 17.00 +ATOM 523 O HIS A 64 40.003 9.245 12.441 1.00 16.92 +ATOM 524 CB HIS A 64 39.799 8.244 15.501 1.00 18.21 +ATOM 525 CG HIS A 64 40.000 7.019 16.337 1.00 30.05 +ATOM 526 ND1 HIS A 64 39.093 6.665 17.308 1.00 35.15 +ATOM 527 CD2 HIS A 64 40.911 6.024 16.193 1.00 34.21 +ATOM 528 CE1 HIS A 64 39.463 5.470 17.720 1.00 36.97 +ATOM 529 NE2 HIS A 64 40.557 5.041 17.076 1.00 38.23 +ATOM 530 N GLY A 65 40.433 10.842 13.969 1.00 16.46 +ATOM 531 CA GLY A 65 39.978 11.919 13.114 1.00 15.97 +ATOM 532 C GLY A 65 40.872 12.059 11.892 1.00 15.92 +ATOM 533 O GLY A 65 40.372 12.239 10.788 1.00 15.66 +ATOM 534 N VAL A 66 42.187 11.997 12.087 1.00 15.57 +ATOM 535 CA VAL A 66 43.121 12.112 10.973 1.00 15.88 +ATOM 536 C VAL A 66 42.898 10.960 9.979 1.00 16.30 +ATOM 537 O VAL A 66 42.860 11.178 8.771 1.00 16.82 +ATOM 538 CB VAL A 66 44.599 12.114 11.473 1.00 16.69 +ATOM 539 CG1 VAL A 66 45.583 12.196 10.283 1.00 15.99 +ATOM 540 CG2 VAL A 66 44.836 13.296 12.416 1.00 15.60 +ATOM 541 N THR A 67 42.703 9.748 10.497 1.00 16.38 +ATOM 542 CA THR A 67 42.479 8.562 9.666 1.00 16.57 +ATOM 543 C THR A 67 41.226 8.663 8.791 1.00 16.36 +ATOM 544 O THR A 67 41.277 8.380 7.593 1.00 16.00 +ATOM 545 CB THR A 67 42.405 7.293 10.545 1.00 16.87 +ATOM 546 OG1 THR A 67 41.118 7.240 11.171 1.00 18.58 +ATOM 547 CG2 THR A 67 43.488 7.300 11.618 1.00 16.58 +ATOM 548 N VAL A 68 40.107 9.072 9.383 1.00 16.09 +ATOM 549 CA VAL A 68 38.866 9.207 8.628 1.00 16.32 +ATOM 550 C VAL A 68 38.986 10.263 7.531 1.00 15.35 +ATOM 551 O VAL A 68 38.536 10.046 6.420 1.00 14.58 +ATOM 552 CB VAL A 68 37.665 9.643 9.519 1.00 17.46 +ATOM 553 CG1 VAL A 68 36.393 9.740 8.677 1.00 18.23 +ATOM 554 CG2 VAL A 68 37.446 8.674 10.615 1.00 19.48 +ATOM 555 N LEU A 69 39.529 11.431 7.874 1.00 14.71 +ATOM 556 CA LEU A 69 39.654 12.522 6.907 1.00 14.96 +ATOM 557 C LEU A 69 40.646 12.233 5.800 1.00 14.27 +ATOM 558 O LEU A 69 40.445 12.656 4.669 1.00 14.38 +ATOM 559 CB LEU A 69 39.998 13.850 7.581 1.00 14.82 +ATOM 560 CG LEU A 69 38.924 14.450 8.497 1.00 17.52 +ATOM 561 CD1 LEU A 69 39.251 15.935 8.752 1.00 16.43 +ATOM 562 CD2 LEU A 69 37.543 14.324 7.863 1.00 18.33 +ATOM 563 N THR A 70 41.720 11.529 6.128 1.00 13.87 +ATOM 564 CA THR A 70 42.713 11.167 5.120 1.00 14.57 +ATOM 565 C THR A 70 42.090 10.168 4.107 1.00 14.49 +ATOM 566 O THR A 70 42.221 10.350 2.900 1.00 14.32 +ATOM 567 CB THR A 70 43.987 10.568 5.784 1.00 15.27 +ATOM 568 OG1 THR A 70 44.456 11.477 6.783 1.00 15.83 +ATOM 569 CG2 THR A 70 45.099 10.351 4.754 1.00 15.63 +ATOM 570 N ALA A 71 41.373 9.154 4.598 1.00 13.91 +ATOM 571 CA ALA A 71 40.723 8.185 3.707 1.00 13.99 +ATOM 572 C ALA A 71 39.624 8.870 2.885 1.00 13.64 +ATOM 573 O ALA A 71 39.512 8.641 1.686 1.00 13.91 +ATOM 574 CB ALA A 71 40.120 7.012 4.509 1.00 12.95 +ATOM 575 N LEU A 72 38.832 9.734 3.517 1.00 13.67 +ATOM 576 CA LEU A 72 37.762 10.433 2.812 1.00 13.56 +ATOM 577 C LEU A 72 38.342 11.348 1.756 1.00 13.74 +ATOM 578 O LEU A 72 37.851 11.380 0.633 1.00 13.66 +ATOM 579 CB LEU A 72 36.866 11.226 3.772 1.00 13.74 +ATOM 580 CG LEU A 72 35.719 12.004 3.093 1.00 14.92 +ATOM 581 CD1 LEU A 72 34.791 11.045 2.310 1.00 15.38 +ATOM 582 CD2 LEU A 72 34.929 12.829 4.128 1.00 14.89 +ATOM 583 N GLY A 73 39.400 12.070 2.109 1.00 13.67 +ATOM 584 CA GLY A 73 40.041 12.954 1.151 1.00 14.46 +ATOM 585 C GLY A 73 40.567 12.204 -0.077 1.00 14.58 +ATOM 586 O GLY A 73 40.436 12.672 -1.205 1.00 14.49 +ATOM 587 N ALA A 74 41.148 11.030 0.141 1.00 14.74 +ATOM 588 CA ALA A 74 41.682 10.233 -0.967 1.00 15.76 +ATOM 589 C ALA A 74 40.538 9.840 -1.920 1.00 15.76 +ATOM 590 O ALA A 74 40.685 9.855 -3.145 1.00 16.76 +ATOM 591 CB ALA A 74 42.388 9.006 -0.424 1.00 14.49 +ATOM 592 N ILE A 75 39.377 9.565 -1.346 1.00 15.77 +ATOM 593 CA ILE A 75 38.201 9.198 -2.121 1.00 15.47 +ATOM 594 C ILE A 75 37.675 10.400 -2.919 1.00 15.48 +ATOM 595 O ILE A 75 37.423 10.285 -4.112 1.00 15.82 +ATOM 596 CB ILE A 75 37.102 8.619 -1.183 1.00 15.70 +ATOM 597 CG1 ILE A 75 37.531 7.225 -0.698 1.00 16.61 +ATOM 598 CG2 ILE A 75 35.762 8.545 -1.889 1.00 15.10 +ATOM 599 CD1 ILE A 75 36.747 6.718 0.506 1.00 18.63 +ATOM 600 N LEU A 76 37.545 11.556 -2.277 1.00 15.31 +ATOM 601 CA LEU A 76 37.043 12.747 -2.960 1.00 15.33 +ATOM 602 C LEU A 76 37.938 13.174 -4.129 1.00 15.59 +ATOM 603 O LEU A 76 37.455 13.603 -5.184 1.00 15.95 +ATOM 604 CB LEU A 76 36.881 13.902 -1.967 1.00 15.64 +ATOM 605 CG LEU A 76 35.798 13.730 -0.892 1.00 15.76 +ATOM 606 CD1 LEU A 76 35.865 14.909 0.091 1.00 16.66 +ATOM 607 CD2 LEU A 76 34.400 13.596 -1.515 1.00 15.59 +ATOM 608 N LYS A 77 39.246 13.049 -3.939 1.00 10.96 +ATOM 609 CA LYS A 77 40.200 13.416 -4.971 1.00 13.75 +ATOM 610 C LYS A 77 40.129 12.553 -6.234 1.00 18.30 +ATOM 611 O LYS A 77 40.689 12.927 -7.257 1.00 18.04 +ATOM 612 CB LYS A 77 41.607 13.447 -4.396 1.00 14.38 +ATOM 613 CG LYS A 77 41.763 14.512 -3.305 1.00 17.01 +ATOM 614 CD LYS A 77 41.988 15.875 -3.918 1.00 16.79 +ATOM 615 CE LYS A 77 43.392 16.019 -4.392 1.00 20.59 +ATOM 616 NZ LYS A 77 43.663 17.413 -4.792 1.00 20.09 +ATOM 617 N LYS A 78 39.450 11.406 -6.151 1.00 15.24 +ATOM 618 CA LYS A 78 39.256 10.513 -7.302 1.00 18.28 +ATOM 619 C LYS A 78 38.107 11.011 -8.180 1.00 18.94 +ATOM 620 O LYS A 78 37.901 10.506 -9.282 1.00 19.00 +ATOM 621 CB LYS A 78 38.948 9.074 -6.855 1.00 12.31 +ATOM 622 CG LYS A 78 40.058 8.402 -6.058 1.00 25.64 +ATOM 623 CD LYS A 78 41.373 8.390 -6.815 1.00 27.27 +ATOM 624 CE LYS A 78 41.297 7.538 -8.064 1.00 32.49 +ATOM 625 NZ LYS A 78 41.078 6.100 -7.738 1.00 55.16 +ATOM 626 N LYS A 79 37.322 11.952 -7.656 1.00 15.11 +ATOM 627 CA LYS A 79 36.200 12.535 -8.398 1.00 14.03 +ATOM 628 C LYS A 79 35.218 11.516 -8.985 1.00 17.50 +ATOM 629 O LYS A 79 34.814 11.616 -10.145 1.00 20.85 +ATOM 630 CB LYS A 79 36.732 13.474 -9.488 1.00 12.58 +ATOM 631 CG LYS A 79 37.607 14.581 -8.922 1.00 15.77 +ATOM 632 CD LYS A 79 38.516 15.206 -9.952 1.00 26.30 +ATOM 633 CE LYS A 79 39.855 15.579 -9.396 1.00 37.31 +ATOM 634 NZ LYS A 79 40.838 14.473 -9.646 1.00 31.02 +ATOM 635 N GLY A 80 34.828 10.543 -8.165 1.00 17.74 +ATOM 636 CA GLY A 80 33.877 9.538 -8.600 1.00 17.93 +ATOM 637 C GLY A 80 34.472 8.216 -9.068 1.00 18.43 +ATOM 638 O GLY A 80 33.737 7.232 -9.162 1.00 19.23 +ATOM 639 N HIS A 81 35.772 8.178 -9.369 1.00 17.70 +ATOM 640 CA HIS A 81 36.424 6.948 -9.830 1.00 17.96 +ATOM 641 C HIS A 81 37.072 6.331 -8.609 1.00 18.07 +ATOM 642 O HIS A 81 38.284 6.169 -8.555 1.00 18.07 +ATOM 643 CB HIS A 81 37.488 7.302 -10.869 1.00 17.33 +ATOM 644 CG HIS A 81 37.008 8.275 -11.902 1.00 21.80 +ATOM 645 ND1 HIS A 81 37.004 9.645 -11.736 1.00 29.19 +ATOM 646 CD2 HIS A 81 36.474 8.053 -13.128 1.00 20.31 +ATOM 647 CE1 HIS A 81 36.481 10.197 -12.841 1.00 23.50 +ATOM 648 NE2 HIS A 81 36.144 9.270 -13.716 1.00 31.00 +ATOM 649 N HIS A 82 36.249 5.908 -7.659 1.00 18.15 +ATOM 650 CA HIS A 82 36.763 5.425 -6.381 1.00 18.12 +ATOM 651 C HIS A 82 36.469 3.977 -6.004 1.00 18.26 +ATOM 652 O HIS A 82 36.597 3.597 -4.836 1.00 17.89 +ATOM 653 CB HIS A 82 36.205 6.348 -5.294 1.00 16.77 +ATOM 654 CG HIS A 82 34.715 6.478 -5.344 1.00 15.19 +ATOM 655 ND1 HIS A 82 34.035 7.660 -5.157 1.00 16.60 +ATOM 656 CD2 HIS A 82 33.766 5.549 -5.626 1.00 16.77 +ATOM 657 CE1 HIS A 82 32.724 7.416 -5.334 1.00 20.03 +ATOM 658 NE2 HIS A 82 32.515 6.145 -5.620 1.00 21.22 +ATOM 659 N GLU A 83 36.022 3.194 -6.972 1.00 19.59 +ATOM 660 CA GLU A 83 35.699 1.797 -6.737 1.00 24.12 +ATOM 661 C GLU A 83 36.800 1.024 -5.987 1.00 31.10 +ATOM 662 O GLU A 83 36.516 0.307 -5.030 1.00 26.88 +ATOM 663 CB GLU A 83 35.340 1.110 -8.066 1.00 36.52 +ATOM 664 CG GLU A 83 36.482 1.052 -9.112 1.00 68.75 +ATOM 665 CD GLU A 83 36.448 2.184 -10.152 1.00 69.80 +ATOM 666 OE1 GLU A 83 35.686 3.165 -9.973 1.00 67.91 +ATOM 667 OE2 GLU A 83 37.190 2.088 -11.155 1.00 42.41 +ATOM 668 N ALA A 84 38.055 1.213 -6.380 1.00 25.65 +ATOM 669 CA ALA A 84 39.162 0.519 -5.732 1.00 25.65 +ATOM 670 C ALA A 84 39.333 0.911 -4.272 1.00 25.52 +ATOM 671 O ALA A 84 39.651 0.067 -3.441 1.00 24.98 +ATOM 672 CB ALA A 84 40.457 0.761 -6.482 1.00 25.75 +ATOM 673 N GLU A 85 39.158 2.197 -3.977 1.00 23.55 +ATOM 674 CA GLU A 85 39.296 2.714 -2.615 1.00 24.29 +ATOM 675 C GLU A 85 38.138 2.293 -1.712 1.00 20.43 +ATOM 676 O GLU A 85 38.310 2.139 -0.505 1.00 22.47 +ATOM 677 CB GLU A 85 39.400 4.247 -2.620 1.00 27.01 +ATOM 678 CG GLU A 85 40.712 4.831 -3.170 1.00 24.94 +ATOM 679 CD GLU A 85 40.797 4.861 -4.698 1.00 36.11 +ATOM 680 OE1 GLU A 85 39.758 4.795 -5.397 1.00 37.64 +ATOM 681 OE2 GLU A 85 41.928 4.967 -5.210 1.00 54.23 +ATOM 682 N LEU A 86 36.973 2.083 -2.310 1.00 21.53 +ATOM 683 CA LEU A 86 35.787 1.702 -1.567 1.00 22.37 +ATOM 684 C LEU A 86 35.717 0.249 -1.105 1.00 22.19 +ATOM 685 O LEU A 86 35.101 -0.046 -0.087 1.00 22.24 +ATOM 686 CB LEU A 86 34.534 2.016 -2.390 1.00 23.56 +ATOM 687 CG LEU A 86 33.447 2.873 -1.741 1.00 25.46 +ATOM 688 CD1 LEU A 86 34.050 4.018 -0.934 1.00 26.00 +ATOM 689 CD2 LEU A 86 32.555 3.418 -2.840 1.00 26.41 +ATOM 690 N LYS A 87 36.321 -0.663 -1.854 1.00 21.96 +ATOM 691 CA LYS A 87 36.268 -2.081 -1.510 1.00 30.39 +ATOM 692 C LYS A 87 36.767 -2.472 -0.118 1.00 23.62 +ATOM 693 O LYS A 87 36.003 -3.037 0.668 1.00 20.01 +ATOM 694 CB LYS A 87 36.927 -2.916 -2.610 1.00 31.09 +ATOM 695 CG LYS A 87 36.813 -4.384 -2.302 1.00 42.74 +ATOM 696 CD LYS A 87 35.386 -4.860 -2.168 1.00 56.03 +ATOM 697 CE LYS A 87 35.318 -6.286 -1.701 1.00 45.89 +ATOM 698 NZ LYS A 87 36.011 -7.190 -2.666 1.00 56.90 +ATOM 699 N PRO A 88 38.035 -2.155 0.219 1.00 19.60 +ATOM 700 CA PRO A 88 38.532 -2.521 1.549 1.00 19.38 +ATOM 701 C PRO A 88 37.775 -1.793 2.658 1.00 19.80 +ATOM 702 O PRO A 88 37.606 -2.324 3.758 1.00 19.67 +ATOM 703 CB PRO A 88 39.992 -2.080 1.495 1.00 19.32 +ATOM 704 CG PRO A 88 39.939 -0.808 0.684 1.00 18.97 +ATOM 705 CD PRO A 88 39.081 -1.237 -0.469 1.00 19.16 +ATOM 706 N LEU A 89 37.318 -0.580 2.345 1.00 19.25 +ATOM 707 CA LEU A 89 36.583 0.254 3.280 1.00 19.30 +ATOM 708 C LEU A 89 35.218 -0.349 3.610 1.00 18.74 +ATOM 709 O LEU A 89 34.814 -0.405 4.769 1.00 17.93 +ATOM 710 CB LEU A 89 36.372 1.625 2.653 1.00 21.41 +ATOM 711 CG LEU A 89 35.387 2.547 3.350 1.00 23.97 +ATOM 712 CD1 LEU A 89 36.070 3.071 4.627 1.00 25.15 +ATOM 713 CD2 LEU A 89 35.022 3.706 2.413 1.00 25.28 +ATOM 714 N ALA A 90 34.508 -0.786 2.577 1.00 17.83 +ATOM 715 CA ALA A 90 33.192 -1.367 2.745 1.00 17.79 +ATOM 716 C ALA A 90 33.278 -2.687 3.518 1.00 17.79 +ATOM 717 O ALA A 90 32.428 -2.990 4.355 1.00 17.57 +ATOM 718 CB ALA A 90 32.557 -1.585 1.375 1.00 18.05 +ATOM 719 N GLN A 91 34.328 -3.459 3.250 1.00 17.80 +ATOM 720 CA GLN A 91 34.500 -4.730 3.927 1.00 17.64 +ATOM 721 C GLN A 91 34.746 -4.568 5.411 1.00 17.96 +ATOM 722 O GLN A 91 34.133 -5.271 6.221 1.00 18.32 +ATOM 723 CB GLN A 91 35.631 -5.558 3.314 1.00 17.05 +ATOM 724 CG GLN A 91 35.104 -6.869 2.748 1.00 17.69 +ATOM 725 CD GLN A 91 35.387 -8.062 3.630 1.00 20.82 +ATOM 726 OE1 GLN A 91 34.499 -8.577 4.295 1.00 21.27 +ATOM 727 NE2 GLN A 91 36.635 -8.518 3.625 1.00 14.83 +ATOM 728 N SER A 92 35.650 -3.671 5.792 1.00 17.63 +ATOM 729 CA SER A 92 35.897 -3.509 7.213 1.00 17.93 +ATOM 730 C SER A 92 34.698 -2.906 7.964 1.00 18.26 +ATOM 731 O SER A 92 34.383 -3.345 9.072 1.00 18.48 +ATOM 732 CB SER A 92 37.194 -2.742 7.481 1.00 17.83 +ATOM 733 OG SER A 92 38.209 -3.113 6.589 1.00 19.43 +ATOM 734 N HIS A 93 33.977 -1.965 7.357 1.00 17.80 +ATOM 735 CA HIS A 93 32.830 -1.391 8.053 1.00 18.32 +ATOM 736 C HIS A 93 31.605 -2.282 8.092 1.00 19.08 +ATOM 737 O HIS A 93 30.800 -2.170 9.008 1.00 19.46 +ATOM 738 CB HIS A 93 32.471 -0.025 7.495 1.00 18.59 +ATOM 739 CG HIS A 93 33.496 1.011 7.801 1.00 17.57 +ATOM 740 ND1 HIS A 93 34.777 0.951 7.301 1.00 24.61 +ATOM 741 CD2 HIS A 93 33.459 2.089 8.614 1.00 20.34 +ATOM 742 CE1 HIS A 93 35.487 1.949 7.791 1.00 24.73 +ATOM 743 NE2 HIS A 93 34.710 2.655 8.593 1.00 23.04 +ATOM 744 N ALA A 94 31.466 -3.159 7.103 1.00 19.39 +ATOM 745 CA ALA A 94 30.336 -4.073 7.035 1.00 20.34 +ATOM 746 C ALA A 94 30.571 -5.311 7.893 1.00 21.10 +ATOM 747 O ALA A 94 29.773 -5.619 8.771 1.00 21.89 +ATOM 748 CB ALA A 94 30.087 -4.497 5.597 1.00 20.13 +ATOM 749 N THR A 95 31.723 -5.944 7.702 1.00 21.61 +ATOM 750 CA THR A 95 32.072 -7.190 8.386 1.00 22.02 +ATOM 751 C THR A 95 32.761 -7.073 9.742 1.00 22.53 +ATOM 752 O THR A 95 32.418 -7.798 10.669 1.00 23.24 +ATOM 753 CB THR A 95 32.954 -8.061 7.466 1.00 22.32 +ATOM 754 OG1 THR A 95 32.368 -8.087 6.161 1.00 21.73 +ATOM 755 CG2 THR A 95 33.073 -9.508 8.000 1.00 21.45 +ATOM 756 N LYS A 96 33.761 -6.211 9.859 1.00 21.64 +ATOM 757 CA LYS A 96 34.454 -6.079 11.130 1.00 26.88 +ATOM 758 C LYS A 96 33.743 -5.153 12.129 1.00 31.86 +ATOM 759 O LYS A 96 33.320 -5.591 13.197 1.00 36.78 +ATOM 760 CB LYS A 96 35.888 -5.612 10.898 1.00 28.79 +ATOM 761 CG LYS A 96 36.610 -6.381 9.793 1.00 35.57 +ATOM 762 CD LYS A 96 37.853 -5.634 9.351 1.00 55.25 +ATOM 763 CE LYS A 96 38.510 -6.274 8.142 1.00 80.34 +ATOM 764 NZ LYS A 96 39.669 -5.467 7.661 1.00 90.60 +ATOM 765 N HIS A 97 33.578 -3.888 11.755 1.00 32.04 +ATOM 766 CA HIS A 97 32.960 -2.882 12.619 1.00 32.23 +ATOM 767 C HIS A 97 31.424 -2.860 12.656 1.00 32.70 +ATOM 768 O HIS A 97 30.851 -2.412 13.653 1.00 33.29 +ATOM 769 CB HIS A 97 33.467 -1.491 12.230 1.00 31.70 +ATOM 770 CG HIS A 97 34.954 -1.410 12.047 1.00 33.74 +ATOM 771 ND1 HIS A 97 35.866 -1.407 13.081 1.00 32.24 +ATOM 772 CD2 HIS A 97 35.691 -1.304 10.910 1.00 33.36 +ATOM 773 CE1 HIS A 97 37.103 -1.292 12.554 1.00 28.00 +ATOM 774 NE2 HIS A 97 37.053 -1.224 11.237 1.00 33.21 +ATOM 775 N LYS A 98 30.768 -3.316 11.581 1.00 30.50 +ATOM 776 CA LYS A 98 29.296 -3.331 11.474 1.00 23.13 +ATOM 777 C LYS A 98 28.686 -1.951 11.683 1.00 32.58 +ATOM 778 O LYS A 98 27.986 -1.708 12.659 1.00 26.86 +ATOM 779 CB LYS A 98 28.678 -4.327 12.447 1.00 27.87 +ATOM 780 CG LYS A 98 28.054 -5.525 11.754 1.00 67.51 +ATOM 781 CD LYS A 98 28.486 -6.828 12.397 1.00 60.67 +ATOM 782 CE LYS A 98 29.994 -6.982 12.335 1.00 73.97 +ATOM 783 NZ LYS A 98 30.437 -8.326 12.791 1.00 83.45 +ATOM 784 N ILE A 99 28.905 -1.074 10.712 1.00 21.99 +ATOM 785 CA ILE A 99 28.442 0.291 10.773 1.00 21.17 +ATOM 786 C ILE A 99 27.270 0.460 9.842 1.00 21.88 +ATOM 787 O ILE A 99 27.426 0.358 8.624 1.00 22.43 +ATOM 788 CB ILE A 99 29.561 1.257 10.300 1.00 20.50 +ATOM 789 CG1 ILE A 99 30.873 0.961 11.034 1.00 20.26 +ATOM 790 CG2 ILE A 99 29.107 2.712 10.435 1.00 19.71 +ATOM 791 CD1 ILE A 99 30.785 0.967 12.536 1.00 20.31 +ATOM 792 N PRO A 100 26.078 0.743 10.391 1.00 22.07 +ATOM 793 CA PRO A 100 24.920 0.922 9.510 1.00 22.57 +ATOM 794 C PRO A 100 25.006 2.221 8.682 1.00 23.19 +ATOM 795 O PRO A 100 25.618 3.208 9.103 1.00 22.81 +ATOM 796 CB PRO A 100 23.738 0.925 10.494 1.00 22.51 +ATOM 797 CG PRO A 100 24.332 1.438 11.753 1.00 22.22 +ATOM 798 CD PRO A 100 25.681 0.764 11.810 1.00 21.66 +ATOM 799 N ILE A 101 24.423 2.196 7.488 1.00 23.79 +ATOM 800 CA ILE A 101 24.424 3.358 6.599 1.00 24.96 +ATOM 801 C ILE A 101 24.008 4.622 7.337 1.00 25.16 +ATOM 802 O ILE A 101 24.564 5.687 7.102 1.00 25.83 +ATOM 803 CB ILE A 101 23.487 3.124 5.362 1.00 25.80 +ATOM 804 CG1 ILE A 101 24.053 2.005 4.471 1.00 26.54 +ATOM 805 CG2 ILE A 101 23.274 4.405 4.571 1.00 26.60 +ATOM 806 CD1 ILE A 101 25.472 2.260 3.962 1.00 27.17 +ATOM 807 N LYS A 102 23.025 4.490 8.222 1.00 21.86 +ATOM 808 CA LYS A 102 22.502 5.598 9.034 1.00 20.48 +ATOM 809 C LYS A 102 23.627 6.382 9.736 1.00 17.82 +ATOM 810 O LYS A 102 23.554 7.603 9.864 1.00 18.65 +ATOM 811 CB LYS A 102 21.533 5.024 10.082 1.00 26.50 +ATOM 812 CG LYS A 102 22.104 3.979 10.993 1.00 49.26 +ATOM 813 CD LYS A 102 21.321 3.850 12.303 1.00 72.73 +ATOM 814 CE LYS A 102 19.845 3.463 12.061 1.00 95.55 +ATOM 815 NZ LYS A 102 19.097 3.080 13.258 1.00 82.64 +ATOM 816 N TYR A 103 24.650 5.676 10.212 1.00 16.72 +ATOM 817 CA TYR A 103 25.770 6.334 10.882 1.00 16.88 +ATOM 818 C TYR A 103 26.633 7.116 9.892 1.00 16.39 +ATOM 819 O TYR A 103 27.285 8.086 10.272 1.00 16.20 +ATOM 820 CB TYR A 103 26.632 5.325 11.640 1.00 16.57 +ATOM 821 CG TYR A 103 26.004 4.714 12.886 1.00 17.87 +ATOM 822 CD1 TYR A 103 24.801 5.182 13.403 1.00 18.98 +ATOM 823 CD2 TYR A 103 26.614 3.639 13.522 1.00 18.35 +ATOM 824 CE1 TYR A 103 24.220 4.579 14.532 1.00 20.22 +ATOM 825 CE2 TYR A 103 26.053 3.033 14.631 1.00 19.76 +ATOM 826 CZ TYR A 103 24.865 3.499 15.129 1.00 20.94 +ATOM 827 OH TYR A 103 24.316 2.866 16.216 1.00 22.91 +ATOM 828 N LEU A 104 26.675 6.663 8.637 1.00 16.33 +ATOM 829 CA LEU A 104 27.444 7.353 7.598 1.00 15.99 +ATOM 830 C LEU A 104 26.701 8.648 7.254 1.00 15.96 +ATOM 831 O LEU A 104 27.323 9.662 6.922 1.00 15.10 +ATOM 832 CB LEU A 104 27.647 6.465 6.369 1.00 16.49 +ATOM 833 CG LEU A 104 28.432 5.162 6.632 1.00 17.26 +ATOM 834 CD1 LEU A 104 28.544 4.350 5.344 1.00 18.13 +ATOM 835 CD2 LEU A 104 29.811 5.451 7.185 1.00 16.64 +ATOM 836 N GLU A 105 25.373 8.623 7.359 1.00 11.84 +ATOM 837 CA GLU A 105 24.583 9.832 7.142 1.00 16.11 +ATOM 838 C GLU A 105 24.880 10.814 8.294 1.00 15.21 +ATOM 839 O GLU A 105 25.044 12.013 8.066 1.00 15.53 +ATOM 840 CB GLU A 105 23.096 9.507 7.144 1.00 15.95 +ATOM 841 CG GLU A 105 22.579 8.966 5.826 1.00 30.07 +ATOM 842 CD GLU A 105 21.882 10.018 4.971 1.00 39.99 +ATOM 843 OE1 GLU A 105 22.187 11.173 5.053 1.00 37.58 +ATOM 844 OE2 GLU A 105 20.973 9.636 4.217 1.00 41.07 +ATOM 845 N PHE A 106 24.962 10.292 9.523 1.00 15.05 +ATOM 846 CA PHE A 106 25.255 11.114 10.696 1.00 15.17 +ATOM 847 C PHE A 106 26.614 11.810 10.592 1.00 14.86 +ATOM 848 O PHE A 106 26.725 12.979 10.954 1.00 14.34 +ATOM 849 CB PHE A 106 25.234 10.287 11.985 1.00 16.09 +ATOM 850 CG PHE A 106 23.864 9.765 12.376 1.00 17.81 +ATOM 851 CD1 PHE A 106 22.710 10.224 11.754 1.00 18.00 +ATOM 852 CD2 PHE A 106 23.739 8.826 13.396 1.00 17.99 +ATOM 853 CE1 PHE A 106 21.459 9.757 12.147 1.00 18.79 +ATOM 854 CE2 PHE A 106 22.487 8.360 13.790 1.00 18.31 +ATOM 855 CZ PHE A 106 21.357 8.827 13.166 1.00 18.23 +ATOM 856 N ILE A 107 27.648 11.092 10.149 1.00 14.34 +ATOM 857 CA ILE A 107 28.968 11.707 10.027 1.00 14.48 +ATOM 858 C ILE A 107 28.984 12.711 8.863 1.00 15.05 +ATOM 859 O ILE A 107 29.715 13.709 8.907 1.00 15.26 +ATOM 860 CB ILE A 107 30.134 10.663 9.904 1.00 14.62 +ATOM 861 CG1 ILE A 107 31.483 11.353 10.220 1.00 14.37 +ATOM 862 CG2 ILE A 107 30.164 10.034 8.505 1.00 13.15 +ATOM 863 CD1 ILE A 107 32.676 10.403 10.336 1.00 14.25 +ATOM 864 N SER A 108 28.159 12.460 7.842 1.00 15.26 +ATOM 865 CA SER A 108 28.047 13.363 6.693 1.00 15.68 +ATOM 866 C SER A 108 27.545 14.710 7.184 1.00 15.90 +ATOM 867 O SER A 108 28.077 15.757 6.805 1.00 16.25 +ATOM 868 CB SER A 108 27.082 12.802 5.652 1.00 15.50 +ATOM 869 OG SER A 108 27.798 12.447 4.474 1.00 17.49 +ATOM 870 N GLU A 109 26.527 14.660 8.044 1.00 17.48 +ATOM 871 CA GLU A 109 25.931 15.835 8.659 1.00 19.02 +ATOM 872 C GLU A 109 26.971 16.580 9.497 1.00 9.86 +ATOM 873 O GLU A 109 27.023 17.810 9.482 1.00 10.23 +ATOM 874 CB GLU A 109 24.769 15.399 9.554 1.00 17.30 +ATOM 875 CG GLU A 109 24.105 16.524 10.329 1.00 35.11 +ATOM 876 CD GLU A 109 23.070 16.017 11.339 1.00 74.83 +ATOM 877 OE1 GLU A 109 23.217 14.888 11.877 1.00 60.11 +ATOM 878 OE2 GLU A 109 22.103 16.765 11.606 1.00 88.99 +ATOM 879 N ALA A 110 27.790 15.836 10.231 1.00 11.06 +ATOM 880 CA ALA A 110 28.823 16.443 11.075 1.00 12.23 +ATOM 881 C ALA A 110 29.872 17.166 10.216 1.00 12.35 +ATOM 882 O ALA A 110 30.348 18.255 10.580 1.00 13.15 +ATOM 883 CB ALA A 110 29.494 15.379 11.961 1.00 11.22 +ATOM 884 N ILE A 111 30.210 16.571 9.071 1.00 11.96 +ATOM 885 CA ILE A 111 31.192 17.159 8.161 1.00 12.38 +ATOM 886 C ILE A 111 30.672 18.484 7.591 1.00 12.69 +ATOM 887 O ILE A 111 31.343 19.516 7.658 1.00 12.48 +ATOM 888 CB ILE A 111 31.555 16.179 7.013 1.00 12.70 +ATOM 889 CG1 ILE A 111 32.413 15.038 7.574 1.00 12.53 +ATOM 890 CG2 ILE A 111 32.315 16.930 5.885 1.00 11.83 +ATOM 891 CD1 ILE A 111 32.451 13.805 6.706 1.00 13.30 +ATOM 892 N ILE A 112 29.443 18.457 7.105 1.00 13.31 +ATOM 893 CA ILE A 112 28.832 19.645 6.544 1.00 14.91 +ATOM 894 C ILE A 112 28.716 20.761 7.590 1.00 15.30 +ATOM 895 O ILE A 112 28.997 21.930 7.286 1.00 15.30 +ATOM 896 CB ILE A 112 27.467 19.295 5.938 1.00 15.57 +ATOM 897 CG1 ILE A 112 27.686 18.453 4.680 1.00 15.70 +ATOM 898 CG2 ILE A 112 26.644 20.576 5.645 1.00 16.14 +ATOM 899 CD1 ILE A 112 26.396 17.872 4.128 1.00 18.03 +ATOM 900 N HIS A 113 28.366 20.386 8.825 1.00 14.97 +ATOM 901 CA HIS A 113 28.230 21.342 9.908 1.00 15.13 +ATOM 902 C HIS A 113 29.552 22.034 10.221 1.00 15.44 +ATOM 903 O HIS A 113 29.598 23.249 10.435 1.00 15.64 +ATOM 904 CB HIS A 113 27.730 20.650 11.178 1.00 17.79 +ATOM 905 CG HIS A 113 26.235 20.581 11.267 1.00 23.44 +ATOM 906 ND1 HIS A 113 25.468 19.641 10.615 1.00 29.78 +ATOM 907 CD2 HIS A 113 25.354 21.420 11.871 1.00 24.06 +ATOM 908 CE1 HIS A 113 24.177 19.943 10.821 1.00 24.39 +ATOM 909 NE2 HIS A 113 24.057 21.015 11.580 1.00 29.30 +ATOM 910 N VAL A 114 30.618 21.250 10.294 1.00 14.94 +ATOM 911 CA VAL A 114 31.931 21.791 10.611 1.00 14.73 +ATOM 912 C VAL A 114 32.499 22.683 9.505 1.00 14.66 +ATOM 913 O VAL A 114 33.068 23.740 9.813 1.00 14.94 +ATOM 914 CB VAL A 114 32.920 20.662 10.987 1.00 14.48 +ATOM 915 CG1 VAL A 114 34.340 21.219 11.164 1.00 13.11 +ATOM 916 CG2 VAL A 114 32.440 19.999 12.268 1.00 13.96 +ATOM 917 N LEU A 115 32.338 22.280 8.237 1.00 13.94 +ATOM 918 CA LEU A 115 32.835 23.092 7.122 1.00 13.91 +ATOM 919 C LEU A 115 32.080 24.408 7.094 1.00 14.23 +ATOM 920 O LEU A 115 32.648 25.463 6.832 1.00 13.51 +ATOM 921 CB LEU A 115 32.666 22.375 5.781 1.00 14.09 +ATOM 922 CG LEU A 115 33.424 21.045 5.668 1.00 15.85 +ATOM 923 CD1 LEU A 115 33.409 20.552 4.236 1.00 16.60 +ATOM 924 CD2 LEU A 115 34.834 21.202 6.155 1.00 15.79 +ATOM 925 N HIS A 116 30.786 24.333 7.380 1.00 14.42 +ATOM 926 CA HIS A 116 29.968 25.515 7.403 1.00 15.44 +ATOM 927 C HIS A 116 30.475 26.489 8.469 1.00 16.15 +ATOM 928 O HIS A 116 30.602 27.680 8.191 1.00 16.39 +ATOM 929 CB HIS A 116 28.511 25.146 7.646 1.00 15.97 +ATOM 930 CG HIS A 116 27.607 26.332 7.759 1.00 23.94 +ATOM 931 ND1 HIS A 116 26.444 26.349 8.499 1.00 27.64 +ATOM 932 CD2 HIS A 116 27.692 27.557 7.177 1.00 20.22 +ATOM 933 CE1 HIS A 116 25.873 27.553 8.347 1.00 23.91 +ATOM 934 NE2 HIS A 116 26.595 28.320 7.555 1.00 30.41 +ATOM 935 N SER A 117 30.831 25.980 9.651 1.00 16.25 +ATOM 936 CA SER A 117 31.319 26.838 10.732 1.00 17.46 +ATOM 937 C SER A 117 32.694 27.451 10.476 1.00 16.93 +ATOM 938 O SER A 117 32.892 28.658 10.634 1.00 16.79 +ATOM 939 CB SER A 117 31.411 26.060 12.046 1.00 17.33 +ATOM 940 OG SER A 117 32.372 25.044 11.941 1.00 23.22 +ATOM 941 N ARG A 118 33.642 26.604 10.099 1.00 16.00 +ATOM 942 CA ARG A 118 35.002 27.048 9.883 1.00 16.09 +ATOM 943 C ARG A 118 35.311 27.709 8.563 1.00 16.42 +ATOM 944 O ARG A 118 36.267 28.465 8.477 1.00 16.85 +ATOM 945 CB ARG A 118 35.956 25.877 10.095 1.00 16.31 +ATOM 946 CG ARG A 118 35.740 25.160 11.413 1.00 17.66 +ATOM 947 CD ARG A 118 36.412 25.888 12.562 1.00 18.91 +ATOM 948 NE ARG A 118 36.620 25.011 13.703 1.00 23.08 +ATOM 949 CZ ARG A 118 37.192 25.387 14.839 1.00 28.58 +ATOM 950 NH1 ARG A 118 37.623 26.629 14.992 1.00 19.83 +ATOM 951 NH2 ARG A 118 37.322 24.517 15.826 1.00 22.14 +ATOM 952 N HIS A 119 34.513 27.438 7.535 1.00 16.21 +ATOM 953 CA HIS A 119 34.776 27.995 6.215 1.00 16.52 +ATOM 954 C HIS A 119 33.570 28.657 5.558 1.00 16.96 +ATOM 955 O HIS A 119 33.264 28.372 4.401 1.00 16.55 +ATOM 956 CB HIS A 119 35.322 26.881 5.307 1.00 15.35 +ATOM 957 CG HIS A 119 36.466 26.134 5.912 1.00 16.81 +ATOM 958 ND1 HIS A 119 37.712 26.682 6.133 1.00 17.07 +ATOM 959 CD2 HIS A 119 36.519 24.879 6.424 1.00 12.45 +ATOM 960 CE1 HIS A 119 38.470 25.768 6.765 1.00 15.79 +ATOM 961 NE2 HIS A 119 37.801 24.651 6.966 1.00 14.56 +ATOM 962 N PRO A 120 32.924 29.613 6.253 1.00 17.60 +ATOM 963 CA PRO A 120 31.752 30.293 5.690 1.00 18.44 +ATOM 964 C PRO A 120 31.994 30.906 4.305 1.00 18.89 +ATOM 965 O PRO A 120 31.163 30.775 3.420 1.00 19.93 +ATOM 966 CB PRO A 120 31.416 31.353 6.755 1.00 18.40 +ATOM 967 CG PRO A 120 32.110 30.853 7.974 1.00 18.17 +ATOM 968 CD PRO A 120 33.449 30.398 7.421 1.00 17.55 +ATOM 969 N GLY A 121 33.168 31.490 4.101 1.00 19.23 +ATOM 970 CA GLY A 121 33.482 32.098 2.826 1.00 19.49 +ATOM 971 C GLY A 121 33.638 31.118 1.674 1.00 19.88 +ATOM 972 O GLY A 121 33.383 31.492 0.531 1.00 21.13 +ATOM 973 N ASN A 122 34.066 29.885 1.947 1.00 18.33 +ATOM 974 CA ASN A 122 34.224 28.896 0.881 1.00 17.56 +ATOM 975 C ASN A 122 33.145 27.830 0.958 1.00 17.40 +ATOM 976 O ASN A 122 33.271 26.768 0.330 1.00 18.22 +ATOM 977 CB ASN A 122 35.603 28.215 0.956 1.00 16.47 +ATOM 978 CG ASN A 122 36.725 29.116 0.461 1.00 23.94 +ATOM 979 OD1 ASN A 122 36.660 30.345 0.571 1.00 21.42 +ATOM 980 ND2 ASN A 122 37.753 28.507 -0.104 1.00 17.36 +ATOM 981 N PHE A 123 32.082 28.095 1.714 1.00 16.20 +ATOM 982 CA PHE A 123 31.031 27.091 1.861 1.00 15.22 +ATOM 983 C PHE A 123 29.638 27.707 1.810 1.00 15.07 +ATOM 984 O PHE A 123 28.854 27.581 2.755 1.00 14.90 +ATOM 985 CB PHE A 123 31.233 26.291 3.167 1.00 14.16 +ATOM 986 CG PHE A 123 30.680 24.889 3.137 1.00 13.87 +ATOM 987 CD1 PHE A 123 31.217 23.933 2.294 1.00 13.81 +ATOM 988 CD2 PHE A 123 29.654 24.508 4.002 1.00 13.82 +ATOM 989 CE1 PHE A 123 30.736 22.601 2.319 1.00 14.46 +ATOM 990 CE2 PHE A 123 29.175 23.194 4.037 1.00 13.98 +ATOM 991 CZ PHE A 123 29.714 22.240 3.198 1.00 14.00 +ATOM 992 N GLY A 124 29.374 28.424 0.723 1.00 14.89 +ATOM 993 CA GLY A 124 28.066 29.008 0.499 1.00 14.52 +ATOM 994 C GLY A 124 27.131 27.883 0.064 1.00 14.67 +ATOM 995 O GLY A 124 27.517 26.713 0.061 1.00 13.74 +ATOM 996 N ALA A 125 25.924 28.240 -0.357 1.00 14.54 +ATOM 997 CA ALA A 125 24.917 27.259 -0.746 1.00 14.94 +ATOM 998 C ALA A 125 25.330 26.324 -1.882 1.00 15.13 +ATOM 999 O ALA A 125 25.058 25.124 -1.837 1.00 15.68 +ATOM 1000 CB ALA A 125 23.600 27.970 -1.090 1.00 14.69 +ATOM 1001 N ASP A 126 25.955 26.880 -2.913 1.00 13.43 +ATOM 1002 CA ASP A 126 26.388 26.088 -4.051 1.00 10.99 +ATOM 1003 C ASP A 126 27.429 25.070 -3.619 1.00 14.91 +ATOM 1004 O ASP A 126 27.315 23.908 -3.964 1.00 15.09 +ATOM 1005 CB ASP A 126 26.948 26.989 -5.153 1.00 21.24 +ATOM 1006 CG ASP A 126 27.824 28.113 -4.609 1.00 26.37 +ATOM 1007 OD1 ASP A 126 27.849 28.326 -3.380 1.00 25.47 +ATOM 1008 OD2 ASP A 126 28.481 28.793 -5.421 1.00 35.73 +ATOM 1009 N ALA A 127 28.446 25.508 -2.875 1.00 13.00 +ATOM 1010 CA ALA A 127 29.495 24.603 -2.377 1.00 13.19 +ATOM 1011 C ALA A 127 28.926 23.532 -1.425 1.00 13.50 +ATOM 1012 O ALA A 127 29.358 22.381 -1.455 1.00 14.17 +ATOM 1013 CB ALA A 127 30.631 25.403 -1.677 1.00 12.59 +ATOM 1014 N GLN A 128 27.973 23.902 -0.575 1.00 12.96 +ATOM 1015 CA GLN A 128 27.375 22.922 0.329 1.00 13.45 +ATOM 1016 C GLN A 128 26.566 21.885 -0.482 1.00 13.71 +ATOM 1017 O GLN A 128 26.579 20.692 -0.161 1.00 14.19 +ATOM 1018 CB GLN A 128 26.479 23.596 1.390 1.00 13.18 +ATOM 1019 CG GLN A 128 26.032 22.627 2.492 1.00 15.46 +ATOM 1020 CD GLN A 128 24.536 22.645 2.782 1.00 17.66 +ATOM 1021 OE1 GLN A 128 24.101 22.899 3.905 1.00 19.04 +ATOM 1022 NE2 GLN A 128 23.743 22.350 1.762 1.00 16.30 +ATOM 1023 N GLY A 129 25.861 22.348 -1.516 1.00 13.17 +ATOM 1024 CA GLY A 129 25.088 21.443 -2.354 1.00 13.25 +ATOM 1025 C GLY A 129 26.014 20.439 -3.043 1.00 13.29 +ATOM 1026 O GLY A 129 25.688 19.247 -3.146 1.00 13.24 +ATOM 1027 N ALA A 130 27.172 20.913 -3.501 1.00 12.37 +ATOM 1028 CA ALA A 130 28.145 20.044 -4.156 1.00 13.20 +ATOM 1029 C ALA A 130 28.715 19.001 -3.176 1.00 13.32 +ATOM 1030 O ALA A 130 28.837 17.822 -3.517 1.00 13.58 +ATOM 1031 CB ALA A 130 29.268 20.869 -4.757 1.00 12.82 +ATOM 1032 N MET A 131 29.046 19.439 -1.963 1.00 13.52 +ATOM 1033 CA MET A 131 29.592 18.553 -0.926 1.00 14.15 +ATOM 1034 C MET A 131 28.563 17.476 -0.540 1.00 13.73 +ATOM 1035 O MET A 131 28.891 16.292 -0.427 1.00 12.90 +ATOM 1036 CB MET A 131 30.018 19.379 0.312 1.00 14.76 +ATOM 1037 CG MET A 131 30.675 18.564 1.445 1.00 15.74 +ATOM 1038 SD MET A 131 32.201 17.676 0.927 1.00 18.67 +ATOM 1039 CE MET A 131 33.349 18.957 1.034 1.00 16.91 +ATOM 1040 N ASN A 132 27.317 17.899 -0.341 1.00 13.80 +ATOM 1041 CA ASN A 132 26.253 16.967 -0.011 1.00 14.77 +ATOM 1042 C ASN A 132 26.109 15.913 -1.129 1.00 15.12 +ATOM 1043 O ASN A 132 25.927 14.725 -0.860 1.00 15.96 +ATOM 1044 CB ASN A 132 24.925 17.699 0.156 1.00 13.92 +ATOM 1045 CG ASN A 132 23.795 16.751 0.502 1.00 16.64 +ATOM 1046 OD1 ASN A 132 23.914 15.970 1.433 1.00 17.59 +ATOM 1047 ND2 ASN A 132 22.723 16.777 -0.281 1.00 18.26 +ATOM 1048 N LYS A 133 26.201 16.364 -2.377 1.00 17.32 +ATOM 1049 CA LYS A 133 26.084 15.489 -3.538 1.00 14.82 +ATOM 1050 C LYS A 133 27.246 14.480 -3.574 1.00 17.90 +ATOM 1051 O LYS A 133 27.050 13.289 -3.860 1.00 13.48 +ATOM 1052 CB LYS A 133 26.057 16.345 -4.803 1.00 19.71 +ATOM 1053 CG LYS A 133 25.506 15.649 -6.008 1.00 28.22 +ATOM 1054 CD LYS A 133 25.477 16.560 -7.217 1.00 27.62 +ATOM 1055 CE LYS A 133 25.125 15.769 -8.463 1.00 52.97 +ATOM 1056 NZ LYS A 133 25.266 16.580 -9.694 1.00 74.53 +ATOM 1057 N ALA A 134 28.442 14.950 -3.229 1.00 12.87 +ATOM 1058 CA ALA A 134 29.630 14.091 -3.218 1.00 13.47 +ATOM 1059 C ALA A 134 29.534 13.030 -2.115 1.00 13.87 +ATOM 1060 O ALA A 134 29.860 11.859 -2.339 1.00 14.49 +ATOM 1061 CB ALA A 134 30.910 14.939 -3.056 1.00 12.22 +ATOM 1062 N LEU A 135 29.034 13.434 -0.946 1.00 13.82 +ATOM 1063 CA LEU A 135 28.879 12.522 0.189 1.00 13.98 +ATOM 1064 C LEU A 135 27.727 11.537 -0.044 1.00 14.11 +ATOM 1065 O LEU A 135 27.775 10.407 0.425 1.00 14.20 +ATOM 1066 CB LEU A 135 28.695 13.310 1.496 1.00 13.75 +ATOM 1067 CG LEU A 135 29.929 14.062 2.025 1.00 14.13 +ATOM 1068 CD1 LEU A 135 29.580 14.870 3.284 1.00 13.81 +ATOM 1069 CD2 LEU A 135 31.034 13.075 2.339 1.00 13.90 +ATOM 1070 N GLU A 136 26.679 11.973 -0.744 1.00 13.49 +ATOM 1071 CA GLU A 136 25.573 11.074 -1.066 1.00 16.04 +ATOM 1072 C GLU A 136 26.067 9.999 -2.047 1.00 14.96 +ATOM 1073 O GLU A 136 25.653 8.831 -1.963 1.00 16.34 +ATOM 1074 CB GLU A 136 24.414 11.828 -1.707 1.00 12.46 +ATOM 1075 CG GLU A 136 23.629 12.700 -0.760 1.00 44.80 +ATOM 1076 CD GLU A 136 22.418 13.322 -1.423 1.00 52.55 +ATOM 1077 OE1 GLU A 136 22.189 13.063 -2.628 1.00 48.81 +ATOM 1078 OE2 GLU A 136 21.692 14.067 -0.734 1.00 56.19 +ATOM 1079 N LEU A 137 26.900 10.421 -3.008 1.00 15.12 +ATOM 1080 CA LEU A 137 27.482 9.515 -4.002 1.00 15.96 +ATOM 1081 C LEU A 137 28.283 8.449 -3.238 1.00 15.89 +ATOM 1082 O LEU A 137 28.123 7.250 -3.486 1.00 15.91 +ATOM 1083 CB LEU A 137 28.393 10.273 -4.992 1.00 16.54 +ATOM 1084 CG LEU A 137 29.149 9.382 -5.990 1.00 17.78 +ATOM 1085 CD1 LEU A 137 28.184 8.728 -6.969 1.00 19.20 +ATOM 1086 CD2 LEU A 137 30.192 10.163 -6.740 1.00 18.22 +ATOM 1087 N PHE A 138 29.104 8.901 -2.290 1.00 15.56 +ATOM 1088 CA PHE A 138 29.901 8.016 -1.440 1.00 16.09 +ATOM 1089 C PHE A 138 29.003 7.006 -0.703 1.00 15.97 +ATOM 1090 O PHE A 138 29.276 5.805 -0.743 1.00 16.01 +ATOM 1091 CB PHE A 138 30.706 8.854 -0.438 1.00 17.10 +ATOM 1092 CG PHE A 138 31.077 8.123 0.834 1.00 18.65 +ATOM 1093 CD1 PHE A 138 32.054 7.139 0.830 1.00 19.08 +ATOM 1094 CD2 PHE A 138 30.443 8.423 2.034 1.00 18.98 +ATOM 1095 CE1 PHE A 138 32.391 6.470 1.996 1.00 19.60 +ATOM 1096 CE2 PHE A 138 30.780 7.751 3.203 1.00 19.50 +ATOM 1097 CZ PHE A 138 31.758 6.772 3.180 1.00 19.07 +ATOM 1098 N ARG A 139 27.936 7.487 -0.055 1.00 15.51 +ATOM 1099 CA ARG A 139 27.002 6.615 0.673 1.00 16.38 +ATOM 1100 C ARG A 139 26.266 5.598 -0.209 1.00 16.38 +ATOM 1101 O ARG A 139 25.990 4.478 0.225 1.00 17.17 +ATOM 1102 CB ARG A 139 25.967 7.431 1.468 1.00 14.71 +ATOM 1103 CG ARG A 139 26.597 8.337 2.527 1.00 21.56 +ATOM 1104 CD ARG A 139 25.627 8.714 3.626 1.00 14.30 +ATOM 1105 NE ARG A 139 24.459 9.421 3.117 1.00 18.17 +ATOM 1106 CZ ARG A 139 24.411 10.718 2.825 1.00 21.08 +ATOM 1107 NH1 ARG A 139 25.473 11.503 2.977 1.00 20.58 +ATOM 1108 NH2 ARG A 139 23.282 11.230 2.373 1.00 16.97 +ATOM 1109 N LYS A 140 25.890 6.026 -1.411 1.00 16.09 +ATOM 1110 CA LYS A 140 25.192 5.173 -2.374 1.00 20.00 +ATOM 1111 C LYS A 140 26.098 4.014 -2.808 1.00 21.76 +ATOM 1112 O LYS A 140 25.676 2.863 -2.836 1.00 14.42 +ATOM 1113 CB LYS A 140 24.790 5.986 -3.611 1.00 27.06 +ATOM 1114 CG LYS A 140 23.531 6.825 -3.426 1.00 45.99 +ATOM 1115 CD LYS A 140 23.084 7.513 -4.721 1.00 79.30 +ATOM 1116 CE LYS A 140 21.806 8.345 -4.551 1.00 85.35 +ATOM 1117 NZ LYS A 140 20.578 7.530 -4.323 1.00 82.64 +ATOM 1118 N ASP A 141 27.341 4.329 -3.160 1.00 13.76 +ATOM 1119 CA ASP A 141 28.285 3.302 -3.582 1.00 14.64 +ATOM 1120 C ASP A 141 28.650 2.361 -2.438 1.00 18.09 +ATOM 1121 O ASP A 141 28.698 1.146 -2.626 1.00 18.83 +ATOM 1122 CB ASP A 141 29.519 3.943 -4.215 1.00 17.81 +ATOM 1123 CG ASP A 141 29.258 4.435 -5.632 1.00 21.65 +ATOM 1124 OD1 ASP A 141 28.278 3.980 -6.249 1.00 22.33 +ATOM 1125 OD2 ASP A 141 30.014 5.288 -6.128 1.00 22.08 +ATOM 1126 N ILE A 142 28.849 2.907 -1.243 1.00 19.69 +ATOM 1127 CA ILE A 142 29.172 2.078 -0.082 1.00 20.48 +ATOM 1128 C ILE A 142 28.030 1.100 0.235 1.00 20.33 +ATOM 1129 O ILE A 142 28.283 -0.080 0.528 1.00 20.05 +ATOM 1130 CB ILE A 142 29.456 2.930 1.190 1.00 21.51 +ATOM 1131 CG1 ILE A 142 30.878 3.481 1.154 1.00 23.16 +ATOM 1132 CG2 ILE A 142 29.305 2.078 2.452 1.00 22.03 +ATOM 1133 CD1 ILE A 142 31.950 2.396 1.312 1.00 24.63 +ATOM 1134 N ALA A 143 26.786 1.591 0.204 1.00 19.87 +ATOM 1135 CA ALA A 143 25.639 0.732 0.505 1.00 20.12 +ATOM 1136 C ALA A 143 25.446 -0.353 -0.549 1.00 20.01 +ATOM 1137 O ALA A 143 25.058 -1.458 -0.215 1.00 20.33 +ATOM 1138 CB ALA A 143 24.379 1.531 0.717 1.00 19.82 +ATOM 1139 N ALA A 144 25.776 -0.058 -1.804 1.00 19.98 +ATOM 1140 CA ALA A 144 25.681 -1.066 -2.853 1.00 20.13 +ATOM 1141 C ALA A 144 26.718 -2.168 -2.538 1.00 20.63 +ATOM 1142 O ALA A 144 26.431 -3.366 -2.671 1.00 20.63 +ATOM 1143 CB ALA A 144 25.962 -0.444 -4.200 1.00 19.92 +ATOM 1144 N LYS A 145 27.908 -1.759 -2.090 1.00 14.94 +ATOM 1145 CA LYS A 145 28.961 -2.703 -1.733 1.00 18.47 +ATOM 1146 C LYS A 145 28.572 -3.526 -0.501 1.00 19.66 +ATOM 1147 O LYS A 145 28.871 -4.722 -0.426 1.00 17.53 +ATOM 1148 CB LYS A 145 30.280 -1.969 -1.501 1.00 17.80 +ATOM 1149 CG LYS A 145 31.042 -1.657 -2.758 1.00 36.20 +ATOM 1150 CD LYS A 145 30.105 -1.232 -3.900 1.00 73.26 +ATOM 1151 CE LYS A 145 30.617 -0.027 -4.660 1.00 63.31 +ATOM 1152 NZ LYS A 145 29.486 0.607 -5.400 1.00 26.86 +ATOM 1153 N TYR A 146 27.903 -2.885 0.455 1.00 19.77 +ATOM 1154 CA TYR A 146 27.428 -3.564 1.666 1.00 19.91 +ATOM 1155 C TYR A 146 26.536 -4.755 1.286 1.00 19.89 +ATOM 1156 O TYR A 146 26.667 -5.858 1.817 1.00 19.66 +ATOM 1157 CB TYR A 146 26.589 -2.598 2.503 1.00 20.59 +ATOM 1158 CG TYR A 146 27.342 -1.772 3.531 1.00 21.16 +ATOM 1159 CD1 TYR A 146 28.723 -1.572 3.455 1.00 20.53 +ATOM 1160 CD2 TYR A 146 26.653 -1.187 4.596 1.00 22.22 +ATOM 1161 CE1 TYR A 146 29.393 -0.808 4.424 1.00 20.93 +ATOM 1162 CE2 TYR A 146 27.311 -0.424 5.557 1.00 22.12 +ATOM 1163 CZ TYR A 146 28.666 -0.240 5.469 1.00 21.42 +ATOM 1164 OH TYR A 146 29.262 0.534 6.432 1.00 20.90 +ATOM 1165 N LYS A 147 25.611 -4.506 0.371 1.00 19.69 +ATOM 1166 CA LYS A 147 24.702 -5.535 -0.111 1.00 21.47 +ATOM 1167 C LYS A 147 25.451 -6.695 -0.780 1.00 18.52 +ATOM 1168 O LYS A 147 25.205 -7.858 -0.464 1.00 21.47 +ATOM 1169 CB LYS A 147 23.851 -4.999 -1.248 1.00 20.52 +ATOM 1170 CG LYS A 147 22.780 -6.032 -1.713 1.00 32.74 +ATOM 1171 CD LYS A 147 21.868 -6.449 -0.591 1.00 64.47 +ATOM 1172 CE LYS A 147 21.813 -7.966 -0.542 1.00 83.74 +ATOM 1173 NZ LYS A 147 20.667 -8.482 0.279 1.00 87.66 +ATOM 1174 N GLU A 148 26.410 -6.374 -1.654 1.00 19.36 +ATOM 1175 CA GLU A 148 27.194 -7.412 -2.326 1.00 21.36 +ATOM 1176 C GLU A 148 27.942 -8.261 -1.300 1.00 26.24 +ATOM 1177 O GLU A 148 28.101 -9.471 -1.484 1.00 21.22 +ATOM 1178 CB GLU A 148 28.203 -6.801 -3.310 1.00 16.10 +ATOM 1179 CG GLU A 148 27.596 -5.768 -4.234 1.00 36.64 +ATOM 1180 CD GLU A 148 28.298 -5.681 -5.588 1.00 49.34 +ATOM 1181 OE1 GLU A 148 29.500 -6.013 -5.660 1.00 47.38 +ATOM 1182 OE2 GLU A 148 27.646 -5.269 -6.574 1.00 59.66 +ATOM 1183 N LEU A 149 28.362 -7.623 -0.207 1.00 25.00 +ATOM 1184 CA LEU A 149 29.106 -8.294 0.852 1.00 25.80 +ATOM 1185 C LEU A 149 28.219 -9.028 1.854 1.00 26.62 +ATOM 1186 O LEU A 149 28.722 -9.698 2.749 1.00 26.63 +ATOM 1187 CB LEU A 149 30.013 -7.299 1.577 1.00 25.40 +ATOM 1188 CG LEU A 149 31.112 -6.629 0.750 1.00 25.18 +ATOM 1189 CD1 LEU A 149 31.646 -5.402 1.479 1.00 24.78 +ATOM 1190 CD2 LEU A 149 32.228 -7.599 0.472 1.00 24.81 +ATOM 1191 N GLY A 150 26.907 -8.890 1.717 1.00 27.83 +ATOM 1192 CA GLY A 150 26.003 -9.589 2.616 1.00 30.10 +ATOM 1193 C GLY A 150 25.544 -8.856 3.861 1.00 31.94 +ATOM 1194 O GLY A 150 24.929 -9.453 4.737 1.00 31.56 +ATOM 1195 N TYR A 151 25.821 -7.560 3.935 1.00 34.23 +ATOM 1196 CA TYR A 151 25.428 -6.776 5.085 1.00 36.68 +ATOM 1197 C TYR A 151 24.287 -5.834 4.754 1.00 38.75 +ATOM 1198 O TYR A 151 23.153 -6.046 5.173 1.00 39.40 +ATOM 1199 CB TYR A 151 26.624 -5.986 5.613 1.00 37.13 +ATOM 1200 CG TYR A 151 26.333 -5.123 6.825 1.00 37.85 +ATOM 1201 CD1 TYR A 151 25.648 -5.629 7.915 1.00 38.50 +ATOM 1202 CD2 TYR A 151 26.737 -3.793 6.870 1.00 38.39 +ATOM 1203 CE1 TYR A 151 25.363 -4.832 9.023 1.00 38.95 +ATOM 1204 CE2 TYR A 151 26.460 -2.985 7.972 1.00 38.63 +ATOM 1205 CZ TYR A 151 25.767 -3.512 9.042 1.00 39.03 +ATOM 1206 OH TYR A 151 25.416 -2.705 10.103 1.00 39.21 +ATOM 1207 N GLN A 152 24.585 -4.802 3.977 1.00 41.07 +ATOM 1208 CA GLN A 152 23.594 -3.777 3.632 1.00 43.96 +ATOM 1209 C GLN A 152 22.790 -3.325 4.860 1.00 45.06 +ATOM 1210 O GLN A 152 21.587 -3.090 4.787 1.00 45.47 +ATOM 1211 CB GLN A 152 22.653 -4.233 2.507 1.00 45.87 +ATOM 1212 CG GLN A 152 22.301 -3.101 1.523 1.00 54.47 +ATOM 1213 CD GLN A 152 20.862 -3.178 1.016 1.00 56.21 +ATOM 1214 OE1 GLN A 152 19.948 -3.574 1.733 1.00 52.86 +ATOM 1215 NE2 GLN A 152 20.674 -2.822 -0.246 1.00 71.86 +ATOM 1216 N GLY A 153 23.474 -3.227 5.994 1.00 45.98 +ATOM 1217 CA GLY A 153 22.818 -2.798 7.211 1.00 47.07 +ATOM 1218 C GLY A 153 22.695 -1.282 7.219 1.00 47.54 +ATOM 1219 O GLY A 153 21.870 -0.745 7.992 1.00 48.11 +ATOM 1220 OXT GLY A 153 23.431 -0.634 6.445 1.00 48.02 diff --git a/examples/protein_stability_and_sasa/running_foldx/running_foldx.py b/examples/protein_stability_and_sasa/running_foldx/running_foldx.py new file mode 100644 index 00000000..01b880a9 --- /dev/null +++ b/examples/protein_stability_and_sasa/running_foldx/running_foldx.py @@ -0,0 +1,14 @@ +from pathlib import Path + +from poli.repository import FoldXStabilityAndSASAProblemFactory + +if __name__ == "__main__": + pdb_file = Path(__file__).parent / "101m_Repair.pdb" + problem = FoldXStabilityAndSASAProblemFactory().create( + wildtype_pdb_path=pdb_file, + ) + f, x0 = problem.black_box, problem.x0 + + print(f) + print(x0) + print(f(x0)) diff --git a/pyproject.toml b/pyproject.toml index f6ce5a7b..27d29e3f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,6 +28,11 @@ dependencies = [ ] [project.optional-dependencies] +foldx = [ + "biopython", + "python-levenshtein", + "pdb-tools", +] dev = ["black", "tox", "pytest", "bump-my-version"] docs = ["sphinx", "furo"] diff --git a/src/poli/objective_repository/foldx_stability_and_sasa/register.py b/src/poli/objective_repository/foldx_stability_and_sasa/register.py index a8cb1ea3..5b354224 100644 --- a/src/poli/objective_repository/foldx_stability_and_sasa/register.py +++ b/src/poli/objective_repository/foldx_stability_and_sasa/register.py @@ -16,6 +16,8 @@ bioinformatics. Bioinformatics, 25, 1422-1423 """ +from __future__ import annotations + from pathlib import Path from typing import List, Union @@ -75,6 +77,7 @@ def __init__( num_workers: int = None, evaluation_budget: int = float("inf"), force_isolation: bool = False, + python_executable_for_isolation: str | None = None, ): super().__init__( batch_size=batch_size, @@ -88,12 +91,13 @@ def __init__( self.eager_repair = eager_repair self.verbose = verbose self.force_isolation = force_isolation + self.python_executable_for_isolation = python_executable_for_isolation if not (Path.home() / "foldx" / "foldx").exists(): raise FoldXNotFoundException( "FoldX wasn't found in ~/foldx/foldx. Please install it." ) inner_function = get_inner_function( - isolated_function_name="foldx_stability_and_sasa__isolated", + python_executable_for_isolation=python_executable_for_isolation, class_name="FoldXStabilitityAndSASAIsolatedLogic", module_to_import="poli.objective_repository.foldx_stability_and_sasa.isolated_function", wildtype_pdb_path=wildtype_pdb_path, @@ -126,7 +130,7 @@ def _black_box(self, x: np.ndarray, context: None) -> np.ndarray: The computed stability and SASA score(s) as a numpy array. """ inner_function = get_inner_function( - isolated_function_name="foldx_stability_and_sasa__isolated", + python_executable_for_isolation=self.python_executable_for_isolation, class_name="FoldXStabilitityAndSASAIsolatedLogic", module_to_import="poli.objective_repository.foldx_stability_and_sasa.isolated_function", quiet=True, @@ -177,6 +181,7 @@ def create( num_workers: int = None, evaluation_budget: int = float("inf"), force_isolation: bool = False, + python_executable_for_isolation: str | None = None, ) -> Problem: """ Create a FoldXSASABlackBox object and compute the initial values of wildtypes. @@ -254,6 +259,7 @@ def create( num_workers=num_workers, evaluation_budget=evaluation_budget, force_isolation=force_isolation, + python_executable_for_isolation=python_executable_for_isolation, ) # We need to compute the initial values of all wildtypes From 207cae592bee4741dddfe876808dc5668ef1b826 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Gonz=C3=A1lez=20Duque?= Date: Wed, 2 Oct 2024 15:02:19 +0200 Subject: [PATCH 5/5] Removes conda dependencies from tox, adds optional dependencies --- pyproject.toml | 25 +++++++++++++++++++++++++ tox.ini | 35 ++++++++--------------------------- 2 files changed, 33 insertions(+), 27 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 27d29e3f..0e818c2a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -33,6 +33,31 @@ foldx = [ "python-levenshtein", "pdb-tools", ] +protein = [ + "biopython", + "python-levenshtein", + "pdb-tools", +] +tdc = [ + "pytdc", +] +dockstring = [ + "dockstring" +] +rasp = [ + "biopython==1.72", + "torch", + "pandas", + "matplotlib==3.8.1", + "pdb-tools", + "ptitprince", + "scikit-learn", + "pyyaml", + "PyGithub", +] +rmf = [ + "scipy", +] dev = ["black", "tox", "pytest", "bump-my-version"] docs = ["sphinx", "furo"] diff --git a/tox.ini b/tox.ini index be13969b..2d286082 100644 --- a/tox.ini +++ b/tox.ini @@ -50,11 +50,8 @@ wheel_build_env = .pkg deps= {[testenv]deps} -r requirements.txt - -e. + -e.[tdc] commands= - sh -c 'if conda info --envs | grep -q poli__tdc; then echo "poli__tdc already exists"; else conda env create -f ./src/poli/core/chemistry/environment.yml; fi' - sh -c "conda run -n poli__tdc python -m pip uninstall -y poli" - sh -c "conda run -n poli__tdc python -m pip install -e ." pytest {tty:--color=yes} -v -m "not slow and poli__tdc" {posargs} [testenv:poli-protein-py310] @@ -64,11 +61,8 @@ wheel_build_env = .pkg deps= {[testenv]deps} -r requirements.txt - -e. + -e.[protein] commands= - sh -c 'if conda info --envs | grep -q poli__protein; then echo "poli__protein already exists"; else conda env create -f ./src/poli/objective_repository/foldx_stability/environment.yml; fi' - sh -c "conda run -n poli__protein python -m pip uninstall -y poli" - sh -c "conda run -n poli__protein python -m pip install -e ." pytest {tty:--color=yes} -v -m "not slow and poli__protein" {posargs} [testenv:poli-lambo-py310] @@ -78,11 +72,8 @@ wheel_build_env = .pkg deps= {[testenv]deps} -r requirements.txt - -e. + -e.[lambo] commands= - sh -c 'if conda info --envs | grep -q poli__lambo; then echo "poli__lambo already exists"; else conda env create -f ./src/poli/objective_repository/foldx_rfp_lambo/environment.yml; fi' - sh -c "conda run -n poli__lambo python -m pip uninstall -y poli" - sh -c "conda run -n poli__lambo python -m pip install -e ." pytest {tty:--color=yes} -v -m "not slow and poli__lambo" {posargs} [testenv:poli-dockstring-py310] @@ -92,11 +83,8 @@ wheel_build_env = .pkg deps= {[testenv]deps} -r requirements.txt - -e. + -e.[dockstring] commands= - sh -c 'if conda info --envs | grep -q poli__dockstring; then echo "poli__dockstring already exists"; else conda env create -f ./src/poli/objective_repository/dockstring/environment.yml; fi' - sh -c "conda run -n poli__dockstring python -m pip uninstall -y poli" - sh -c "conda run -n poli__dockstring python -m pip install -e ." pytest {tty:--color=yes} -v -m "not slow and poli__dockstring" {posargs} [testenv:poli-rasp-py310] @@ -106,24 +94,17 @@ wheel_build_env = .pkg deps= {[testenv]deps} -r requirements.txt - -e. + -e.[rasp] commands= - sh -c 'if conda info --envs | grep -q poli__rasp; then echo "poli__rasp already exists"; else conda env create -f ./src/poli/objective_repository/rasp/environment.yml; fi' - sh -c "conda run -n poli__rasp python -m pip uninstall -y poli" - sh -c "conda run -n poli__rasp python -m pip install -e ." pytest {tty:--color=yes} -v -m "not slow and poli__rasp" {posargs} [testenv:poli-rmf-py310] -description = run the tests with pytest on the dockstring environment for poli +description = run the tests with pytest on the rmf environment for poli basepython = python3.10 wheel_build_env = .pkg deps= {[testenv]deps} -r requirements.txt - -e. + -e.[rmf] commands= - sh -c 'if conda info --envs | grep -q poli__rmf; then echo "poli__rmf already exists"; else conda env create -f ./src/poli/objective_repository/rmf_landscape/environment.yml; fi' - sh -c "conda run -n poli__rmf python -m pip uninstall -y poli" - sh -c "conda run -n poli__rmf python -m pip install -e ." - sh -c "conda run -n poli__rmf pip install pytest" - sh -c "conda run -n poli__rmf pytest -v -m 'not slow and poli__rmf'" \ No newline at end of file + pytest {tty:--color=yes} -v -m 'not slow and poli__rmf' {posargs} \ No newline at end of file