diff --git a/.github/workflows/test_openmm_dmff_plugin.yml b/.github/workflows/test_openmm_dmff_plugin.yml new file mode 100644 index 000000000..a8b7a3c86 --- /dev/null +++ b/.github/workflows/test_openmm_dmff_plugin.yml @@ -0,0 +1,51 @@ +name: OpenMM DMFF Plugin tests. + +on: + push: + pull_request: + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: [3.9] + steps: + - uses: actions/checkout@v2 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: Install Dependencies + run: | + source $CONDA/bin/activate + conda create -n dmff_omm -y python=${{ matrix.python-version }} numpy openmm=7.7 -c conda-forge + conda activate dmff_omm + conda install -y libtensorflow_cc=2.9.1 -c conda-forge + pip install setuptools==59.5.0 + mkdir /tmp/omm_dmff_working_dir + cd /tmp/omm_dmff_working_dir + wget https://github.com/tensorflow/tensorflow/archive/refs/tags/v2.9.1.tar.gz + tar -xvf v2.9.1.tar.gz + cp -r tensorflow-2.9.1/tensorflow/c ${CONDA_PREFIX}/include/tensorflow/ + git clone https://github.com/serizba/cppflow.git + cd cppflow + git apply ${GITHUB_WORKSPACE}/backend/openmm_dmff_plugin/tests/cppflow_empty_constructor.patch + mkdir ${CONDA_PREFIX}/include/cppflow + cp -r include/cppflow ${CONDA_PREFIX}/include/ + - name: Install OpenMM DMFF Plugin + run: | + source $CONDA/bin/activate dmff_omm + cd ${GITHUB_WORKSPACE}/backend/openmm_dmff_plugin + mkdir build && cd build + export OPENMM_INSTALLED_DIR=$CONDA_PREFIX + export CPPFLOW_INSTALLED_DIR=$CONDA_PREFIX + export LIBTENSORFLOW_INSTALLED_DIR=$CONDA_PREFIX + cmake .. -DOPENMM_DIR=${OPENMM_INSTALLED_DIR} -DCPPFLOW_DIR=${CPPFLOW_INSTALLED_DIR} -DTENSORFLOW_DIR=${LIBTENSORFLOW_INSTALLED_DIR} -DUSE_HIGH_PRECISION=OFF + make && make install + make PythonInstall + - name: Run Tests + run: | + source $CONDA/bin/activate dmff_omm + cd ${GITHUB_WORKSPACE}/backend/ + python -m OpenMMDMFFPlugin.tests.test_dmff_plugin_nve -n 100 --pdb ../examples/water_fullpol/water_dimer.pdb --model ./openmm_dmff_plugin/python/OpenMMDMFFPlugin/data/admp_water_dimer_aux --has_aux True diff --git a/.github/workflows/ut.yml b/.github/workflows/ut.yml index 0371fe8db..cb794053d 100644 --- a/.github/workflows/ut.yml +++ b/.github/workflows/ut.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: [3.8] + python-version: [3.9] steps: - uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python-version }} @@ -19,17 +19,19 @@ jobs: - name: Install Dependencies run: | source $CONDA/bin/activate - $CONDA/bin/conda update -n base -c defaults conda - conda install pip - conda update pip - conda install numpy openmm pytest rdkit biopandas openbabel -c conda-forge - pip install jax jax_md - pip install mdtraj==1.9.7 pymbar==4.0.1 + conda create -n dmff -y python=${{ matrix.python-version }} numpy openmm==7.7.0 pytest rdkit openbabel mdtraj ambertools -c conda-forge + conda activate dmff + pip install --upgrade pip + pip install jax jaxlib jaxopt networkx parmed pymbar==4.0.1 optax tqdm - name: Install DMFF run: | - source $CONDA/bin/activate - pip install . + source $CONDA/bin/activate dmff && pip install . - name: Run Tests run: | - source $CONDA/bin/activate - pytest -vs tests/ + source $CONDA/bin/activate dmff + pytest -vs tests/test_classical/test_* + pytest -vs tests/test_common/test_* + pytest -vs tests/test_admp/test_* + pytest -vs tests/test_utils.py + pytest -vs tests/test_mbar/test_* + pytest -vs tests/test_sgnn/test_* diff --git a/.gitignore b/.gitignore index 74c7e80e1..075330f00 100644 --- a/.gitignore +++ b/.gitignore @@ -784,4 +784,11 @@ FodyWeavers.xsd */_version.py # hmtff cache -*.hmtff/ \ No newline at end of file +*.hmtff/ + +# debugging ipynb +debug.ipynb +test.xml + +# PyCharm Cache +.idea/ \ No newline at end of file diff --git a/README.md b/README.md index 1b530e68b..d474a91b5 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # DMFF -[![doi:10.26434/chemrxiv-2022-2c7gv](https://img.shields.io/badge/DOI-10.26434%2Fchemrxiv--2022--2c7gv-blue)](https://doi.org/10.26434/chemrxiv-2022-2c7gv) +[![DOI: 10.1021/acs.jctc.2c01297](https://img.shields.io/badge/DOI-10.1021%2Facs.jctc.2c01297-blue)](https://pubs.acs.org/doi/10.1021/acs.jctc.2c01297) ## About DMFF @@ -10,24 +10,34 @@ The behavior of organic molecular systems (e.g., protein folding, polymer struct ### License and credits -The project DMFF is licensed under [GNU LGPL v3.0](LICENSE). If you use this code in any future publications, please cite this using `Wang X, Li J, Yang L, Chen F, Wang Y, Chang J, et al. DMFF: An Open-Source Automatic -Differentiable Platform for Molecular Force Field -Development and Molecular Dynamics -Simulation. ChemRxiv. Cambridge: Cambridge Open Engage; 2022; This content is a preprint and has not been peer-reviewed.` +The project DMFF is licensed under [GNU LGPL v3.0](LICENSE). If you use this code in any future publications, please cite this using `Xinyan Wang, Jichen Li, Lan Yang, Feiyang Chen, Yingze Wang, Junhan Chang, Junmin Chen, Wei Feng, Linfeng Zhang, and Kuang Yu +Journal of Chemical Theory and Computation 2023 19 (17), 5897-5909 +DOI: 10.1021/acs.jctc.2c01297` ## User Guide -+ [1. Introduction](docs/user_guide/introduction.md) -+ [2. Installation](docs/user_guide/installation.md) -+ [3. Basic usage](docs/user_guide/usage.md) -+ [4. XML format force field](docs/user_guide/xml_spec.md) -+ [5. Theory](docs/user_guide/theory.md) ++ [1. Introduction](docs/user_guide/1.introduction.md) ++ [2. Installation](docs/user_guide/2.installation.md) ++ [3. Basic Usage](docs/user_guide/3.usage.md) ++ [4. Modules](docs/user_guide/4.modules.md) + + [Classical](docs/user_guide/4.1classical.md) + + [ADMP](docs/user_guide/4.2ADMPPmeForce.md) + + [Qeq](docs/user_guide/4.3ADMPQeqForce.md) + + [Machine Learning](docs/user_guide/4.4MLForce.md) + + [Optimization](docs/user_guide/4.5Optimization.md) + + [Mbar Estimator](docs/user_guide/4.6MBAR.md) + + [OpenMM Plugin](docs/user_guide/4.7OpenMMplugin.md) ++ [5. Advanced examples](docs/user_guide/DMFF_example.ipynb) ++ [And here is a tutorial notebook of the basic usage of DMFF. Welcome to read it and get started with DMFF!](docs/user_guide/test.ipynb) + +[And here is a tutorial notebook, which would tell you some basic usage of DMFF. Welcome to read it and get started witn DMFF!](docs/user_guide/test.ipynb) ## Developer Guide + [1. Introduction](docs/dev_guide/introduction.md) + [2. Software architecture](docs/dev_guide/arch.md) + [3. Coding conventions](docs/dev_guide/convention.md) + [4. Document writing](docs/dev_guide/write_docs.md) ++ [5. An example for developing: how to write a generator?](docs/dev_guide/generator.ipynb) ## Code Structure @@ -38,11 +48,15 @@ The code is organized as follows: + `package`: files for constructing packages or images, such as conda recipe and docker files. + `tests`: unit tests. + `dmff`: DMFF python codes ++ `dmff/api`: source code of application programming interface of DMFF. + `dmff/admp`: source code of automatic differentiable multipolar polarizable (ADMP) force field module. + `dmff/classical`: source code of classical force field module. + `dmff/common`: source code of common functions, such as neighbor list. -+ `dmff/generators`: source code of force generators. + `dmff/sgnn`: source of subgragh neural network force field model. ++ `dmff/eann`: source of embedded atom neural network force field model. ++ `dmff/generators`: source code of force generators. ++ `dmff/operators`: source code of operators. + ## Support and Contribution diff --git a/backend/c_api/CMakeLists.txt b/backend/c_api/CMakeLists.txt new file mode 100644 index 000000000..e69de29bb diff --git a/backend/cpp_api/CMakeLists.txt b/backend/cpp_api/CMakeLists.txt new file mode 100644 index 000000000..e69de29bb diff --git a/backend/openmm_dmff_plugin/.gitignore b/backend/openmm_dmff_plugin/.gitignore new file mode 100644 index 000000000..94dd7c7ae --- /dev/null +++ b/backend/openmm_dmff_plugin/.gitignore @@ -0,0 +1,6 @@ +**/build +**/.vscode +**/__pycache__ +*.dcd +**/output +**/.devcontainer \ No newline at end of file diff --git a/backend/openmm_dmff_plugin/CMakeLists.txt b/backend/openmm_dmff_plugin/CMakeLists.txt new file mode 100644 index 000000000..398875e24 --- /dev/null +++ b/backend/openmm_dmff_plugin/CMakeLists.txt @@ -0,0 +1,149 @@ +#--------------------------------------------------- +# OpenMM DMFF Plugin +#---------------------------------------------------- + +CMAKE_MINIMUM_REQUIRED(VERSION 3.5) +SET(CMAKE_VERBOSE_MAKEFILE OFF) + +project(OpenMMDMFF) + +# We need to know where OpenMM is installed so we can access the headers and libraries. +SET(OPENMM_DIR "/usr/local/openmm" CACHE PATH "Where OpenMM is installed") +INCLUDE_DIRECTORIES("${OPENMM_DIR}/include") +LINK_DIRECTORIES("${OPENMM_DIR}/lib" "${OPENMM_DIR}/lib/plugins") + + +# Include the cppflow +SET(CPPFLOW_DIR "/usr/local/cppflow/" CACHE PATH "Where cppflow is installed") +INCLUDE_DIRECTORIES("${CPPFLOW_DIR}/include") +LINK_DIRECTORIES("${CPPFLOW_DIR}/lib") + +# Include the tensorflow +SET(TENSORFLOW_DIR "/usr/local/tensorflow/" CACHE PATH "Where libtensorflow is installed") +INCLUDE_DIRECTORIES("${TENSORFLOW_DIR}/include") +LINK_DIRECTORIES("${TENSORFLOW_DIR}/lib") + +# Specify the C++ version we are building for. +SET (CMAKE_CXX_STANDARD 17) + +set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-ignored-attributes -Wl,--allow-multiple-definition -Wl,--no-as-needed") + +# Set if high precision (double) is used. By default, it is off. +OPTION(USE_HIGH_PRECISION "Use high precision (double) for calculations" OFF) + +IF(USE_HIGH_PRECISION) + message(STATUS "USE_HIGH_PRECISION is enabled") + ADD_DEFINITIONS(-DUSE_HIGH_PRECISION) +endif () + +if (USE_HIGH_PRECISION) + set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHIGH_PRECISION") +else () + set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") +endif () + +# Select where to install +IF(${CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT}) + IF(WIN32) + SET(CMAKE_INSTALL_PREFIX "$ENV{ProgramFiles}/OpenMM" CACHE PATH "Where to install the plugin" FORCE) + ELSE(WIN32) + SET(CMAKE_INSTALL_PREFIX "${OPENMM_DIR}" CACHE PATH "Where to install the plugin" FORCE) + ENDIF(WIN32) +ENDIF(${CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT}) + +# Put all the tests and libraries in a single output directory. +IF(NOT EXECUTABLE_OUTPUT_PATH) + SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR} + CACHE INTERNAL "Single output directory for building all executables.") +ENDIF() +IF(NOT LIBRARY_OUTPUT_PATH) + SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR} + CACHE INTERNAL "Single output directory for building all libraries.") +ENDIF() +SET(${PROJECT_NAME}_EXECUTABLE_DIR ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}) +SET(${PROJECT_NAME}_LIBRARY_DIR ${LIBRARY_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}) + +# The source is organized into subdirectories, but we handle them all from +# this CMakeLists file rather than letting CMake visit them as SUBDIRS. +SET(DMFF_PLUGIN_SOURCE_SUBDIRS openmmapi serialization) + +# Set the library name +SET(DMFF_LIBRARY_NAME OpenMMDMFF) +SET(SHARED_DMFF_TARGET ${DMFF_LIBRARY_NAME}) + +# These are all the places to search for header files that are to be part of the API. +SET(API_INCLUDE_DIRS "openmmapi/include" "openmmapi/include/internal") + +# Locate header files. +SET(API_INCLUDE_FILES) +FOREACH(dir ${API_INCLUDE_DIRS}) + FILE(GLOB fullpaths ${dir}/*.h) + SET(API_INCLUDE_FILES ${API_INCLUDE_FILES} ${fullpaths}) +ENDFOREACH(dir) + +# Collect source files +SET(SOURCE_FILES) # empty +SET(SOURCE_INCLUDE_FILES) +FOREACH(subdir ${DMFF_PLUGIN_SOURCE_SUBDIRS}) + FILE(GLOB src_files ${CMAKE_CURRENT_SOURCE_DIR}/${subdir}/src/*.cpp) + FILE(GLOB incl_files ${CMAKE_CURRENT_SOURCE_DIR}/${subdir}/src/*.h) + SET(SOURCE_FILES ${SOURCE_FILES} ${src_files}) #append + SET(SOURCE_INCLUDE_FILES ${SOURCE_INCLUDE_FILES} ${incl_files}) + + ## Make sure we find these locally before looking in OpenMM/include if + ## OpenMM was previously installed there. + INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/${subdir}/include) +ENDFOREACH(subdir) + +# Create the library. + +ADD_LIBRARY(${SHARED_DMFF_TARGET} SHARED ${SOURCE_FILES} ${SOURCE_INCLUDE_FILES} ${API_INCLUDE_FILES}) +SET_TARGET_PROPERTIES(${SHARED_DMFF_TARGET} + PROPERTIES COMPILE_FLAGS "-DDMFF_BUILDING_SHARED_LIBRARY ${EXTRA_COMPILE_FLAGS}" + LINK_FLAGS "${EXTRA_COMPILE_FLAGS}") +TARGET_LINK_LIBRARIES(${SHARED_DMFF_TARGET} OpenMM) +TARGET_LINK_LIBRARIES(${SHARED_DMFF_TARGET} tensorflow_cc) + +INSTALL_TARGETS(/lib RUNTIME_DIRECTORY /lib ${SHARED_DMFF_TARGET}) + +# install headers +FILE(GLOB API_ONLY_INCLUDE_FILES "openmmapi/include/*.h") +INSTALL (FILES ${API_ONLY_INCLUDE_FILES} DESTINATION include) +FILE(GLOB API_ONLY_INCLUDE_FILES_INTERNAL "openmmapi/include/internal/*.h") +INSTALL (FILES ${API_ONLY_INCLUDE_FILES_INTERNAL} DESTINATION include/internal) + +# Enable testing +# Set no testing here. +ENABLE_TESTING() +ADD_SUBDIRECTORY(serialization/tests) + +# Use reference platform default. +ADD_SUBDIRECTORY(platforms/reference) + +FIND_PACKAGE(CUDA QUIET) +IF(CUDA_FOUND) + message(STATUS "CUDA found, building CUDA implementation") + SET(PLUGIN_BUILD_CUDA_LIB ON CACHE BOOL "Build implementation for CUDA: ON") +ELSE(CUDA_FOUND) + message(STATUS "CUDA not found, not building CUDA implementation") + SET(PLUGIN_BUILD_CUDA_LIB OFF CACHE BOOL "Build implementation for CUDA: OFF") +ENDIF(CUDA_FOUND) +IF(PLUGIN_BUILD_CUDA_LIB) + ADD_SUBDIRECTORY(platforms/cuda) +ENDIF(PLUGIN_BUILD_CUDA_LIB) + + +# Build the Python API +FIND_PROGRAM(PYTHON_EXECUTABLE python) +FIND_PROGRAM(SWIG_EXECUTABLE swig) +IF(PYTHON_EXECUTABLE AND SWIG_EXECUTABLE) + message(STATUS "Python and SWIG found, building Python wrappers") + SET(PLUGIN_BUILD_PYTHON_WRAPPERS ON CACHE BOOL "Build wrappers for Python") +ELSE(PYTHON_EXECUTABLE AND SWIG_EXECUTABLE) + message(FATAL_ERROR "Python or SWIG not found, not building Python wrappers") + SET(PLUGIN_BUILD_PYTHON_WRAPPERS OFF CACHE BOOL "Build wrappers for Python") +ENDIF(PYTHON_EXECUTABLE AND SWIG_EXECUTABLE) +IF(PLUGIN_BUILD_PYTHON_WRAPPERS) + ADD_SUBDIRECTORY(python) +ENDIF(PLUGIN_BUILD_PYTHON_WRAPPERS) + diff --git a/backend/openmm_dmff_plugin/README.md b/backend/openmm_dmff_plugin/README.md new file mode 100644 index 000000000..c059c5eb4 --- /dev/null +++ b/backend/openmm_dmff_plugin/README.md @@ -0,0 +1,74 @@ +# OpenMM Plugin for DMFF + + +This is a plugin for [OpenMM](http://openmm.org) that used the trained JAX model by [DMFF](https://github.com/deepmodeling/DMFF) as an independent Force class for dynamics. +To use it, you need to save your DMFF model with the script in `DMFF/backend/save_dmff2tf.py`. + +## Installation + +### Create environment with conda +Install the python, openmm and cudatoolkit. +```shell + +mkdir omm_dmff_working_dir && cd omm_dmff_working_dir +conda create -n dmff_omm -c conda-forge python=3.9 openmm cudatoolkit=11.6 +conda activate dmff_omm +``` +### Download `libtensorflow_cc` and install `cppflow` package +Install the precompiled libtensorflow_cc library from conda. +```shell +conda install -y libtensorflow_cc=2.9.1 -c conda-forge +``` +Download the tensorflow sources file. Copy the `c` direcotry in source code to installed header files of tensorflow library, since it's needed by package `cppflow`. +```shell + +wget https://github.com/tensorflow/tensorflow/archive/refs/tags/v2.9.1.tar.gz +tar -xvf v2.9.1.tar.gz +cp -r tensorflow-2.9.1/tensorflow/c ${CONDA_PREFIX}/include/tensorflow/ +``` +Download `cppflow` and move the headers library to environment path. +```shell + +git clone https://github.com/serizba/cppflow.git +cd cppflow +git apply DMFF/backend/openmm_dmff_plugin/tests/cppflow_empty_constructor.patch +mkdir ${CONDA_PREFIX}/include/cppflow +cp -r include/cppflow ${CONDA_PREFIX}/include/ +``` + +### Install the OpenMM DMFF plugin from the source + +Compile the plugin from the source with the following steps. +1. Set up environment variables. + ```shell + export OPENMM_INSTALLED_DIR=$CONDA_PREFIX + export CPPFLOW_INSTALLED_DIR=$CONDA_PREFIX + export LIBTENSORFLOW_INSTALLED_DIR=$CONDA_PREFIX + cd DMFF/backend/openmm_dmff_plugin/ + mkdir build && cd build + ``` + +2. Run `cmake` command with the required parameters. + ```shell + cmake .. -DOPENMM_DIR=${OPENMM_INSTALLED_DIR} -DCPPFLOW_DIR=${CPPFLOW_INSTALLED_DIR} -DTENSORFLOW_DIR=${LIBTENSORFLOW_INSTALLED_DIR} + make && make install + make PythonInstall + ``` + +3. Test the plugin in Python interface, reference platform. + ```shell + python -m OpenMMDMFFPlugin.tests.test_dmff_plugin_nve -n 100 + python -m OpenMMDMFFPlugin.tests.test_dmff_plugin_nvt -n 100 --platform CUDA + ``` +## Usage +Add the following lines to your Python script to use the plugin. +More details can refer to the script in `python/OpenMMDMFFPlugin/tests/test_dmff_plugin_nve.py`. + +```python + +from OpenMMDMFFPlugin import DMFFModel +# Set up the dmff_system with the dmff_model. +dmff_model = DMFFModel(dp_model) +dmff_model.setUnitTransformCoefficients(1, 1, 1) +dmff_system = dmff_model.createSystem(topology) +``` diff --git a/backend/openmm_dmff_plugin/openmmapi/include/DMFFForce.h b/backend/openmm_dmff_plugin/openmmapi/include/DMFFForce.h new file mode 100644 index 000000000..4cd428fc8 --- /dev/null +++ b/backend/openmm_dmff_plugin/openmmapi/include/DMFFForce.h @@ -0,0 +1,130 @@ +#ifndef OPENMM_DMFFFORCE_H_ +#define OPENMM_DMFFFORCE_H_ + +/* -------------------------------------------------------------------------- * + * OpenMM-DMFF * + * -------------------------------------------------------------------------- * + * This is part of the OpenMM molecular simulation toolkit originating from * + * Simbios, the NIH National Center for Physics-Based Simulation of * + * Biological Structures at Stanford, funded under the NIH Roadmap for * + * Medical Research, grant U54 GM072970. See https://simtk.org. * + * * + * Portions copyright (c) 2014 Stanford University and the Authors. * + * Authors: Peter Eastman * + * Contributors: * + * * + * Permission is hereby granted, free of charge, to any person obtaining a * + * copy of this software and associated documentation files (the "Software"), * + * to deal in the Software without restriction, including without limitation * + * the rights to use, copy, modify, merge, publish, distribute, sublicense, * + * and/or sell copies of the Software, and to permit persons to whom the * + * Software is furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * + * THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE * + * USE OR OTHER DEALINGS IN THE SOFTWARE. * + * -------------------------------------------------------------------------- */ + +#include "openmm/Context.h" +#include "openmm/Force.h" +#include +// Include cppflow header files for model load and evaluation. +#include +#include + +#include "internal/windowsExportDMFF.h" + +using namespace std; + +#if HIGH_PRECISION +typedef double FORCETYPE; +typedef double COORDTYPE; +typedef double ENERGYTYPE; +#else +typedef float FORCETYPE; +typedef float COORDTYPE; +typedef double ENERGYTYPE; +#endif + +namespace DMFFPlugin { +class OPENMM_EXPORT_DMFF DMFFForce : public OpenMM::Force { +public: + /** + * @brief Construct a new DMFF Force object. Used for NVT/NPT/NVE simulations. + * + * @param GraphFile + */ + DMFFForce(const string& GraphFile); + ~DMFFForce(); + /** + * @brief Set the Unit Transform Coefficients. + * + * @param coordCoefficient : the coordinate transform coefficient. + * @param forceCoefficient : the force transform coefficient. + * @param energyCoefficient : the energy transform coefficient. + */ + void setUnitTransformCoefficients(const double coordCoefficient, const double forceCoefficient, const double energyCoefficient); + /** + * @brief Set the has_aux flag when model was saved with auxilary input. + * + * @param hasAux : true if model was saved with auxilary input. + */ + void setHasAux(const bool hasAux); + + const std::string& getDMFFGraphFile() const; + /** + * @brief Get the Coord Unit Coefficient. + * + * @return double + */ + double getCoordUnitCoefficient() const; + /** + * @brief Get the Force Unit Coefficient. + * + * @return double + */ + double getForceUnitCoefficient() const; + /** + * @brief Get the Energy Unit Coefficient. + * + * @return double + */ + double getEnergyUnitCoefficient() const; + /** + * @brief Get the Cutoff radius of the model used. + * + * @return double + */ + double getCutoff() const; + /** + * @brief Get the Has Aux object + * + * @return true + * @return false + */ + bool getHasAux() const; + void updateParametersInContext(OpenMM::Context& context); + bool usesPeriodicBoundaryConditions() const { + return use_pbc; + } +protected: + OpenMM::ForceImpl* createImpl() const; +private: + string graph_file; + bool use_pbc = true; + bool has_aux = false; + double cutoff = 1.2; + double coordCoeff, forceCoeff, energyCoeff; + +}; + +} // namespace DMFFPlugin + +#endif /*OPENMM_DMFFFORCE_H_*/ diff --git a/backend/openmm_dmff_plugin/openmmapi/include/DMFFKernels.h b/backend/openmm_dmff_plugin/openmmapi/include/DMFFKernels.h new file mode 100644 index 000000000..657264420 --- /dev/null +++ b/backend/openmm_dmff_plugin/openmmapi/include/DMFFKernels.h @@ -0,0 +1,74 @@ +#ifndef DMFF_KERNELS_H_ +#define DMFF_KERNELS_H_ + +/* -------------------------------------------------------------------------- * + * OpenMM-DMFF * + * -------------------------------------------------------------------------- * + * This is part of the OpenMM molecular simulation toolkit originating from * + * Simbios, the NIH National Center for Physics-Based Simulation of * + * Biological Structures at Stanford, funded under the NIH Roadmap for * + * Medical Research, grant U54 GM072970. See https://simtk.org. * + * * + * Portions copyright (c) 2014 Stanford University and the Authors. * + * Authors: Peter Eastman * + * Contributors: * + * * + * Permission is hereby granted, free of charge, to any person obtaining a * + * copy of this software and associated documentation files (the "Software"), * + * to deal in the Software without restriction, including without limitation * + * the rights to use, copy, modify, merge, publish, distribute, sublicense, * + * and/or sell copies of the Software, and to permit persons to whom the * + * Software is furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * + * THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE * + * USE OR OTHER DEALINGS IN THE SOFTWARE. * + * -------------------------------------------------------------------------- */ + +#include "DMFFForce.h" +#include "openmm/KernelImpl.h" +#include "openmm/Platform.h" +#include "openmm/System.h" +#include + +namespace DMFFPlugin { + +/** + * This kernel is invoked by DMFFForce to calculate the forces acting on the system and the energy of the system. + */ +class CalcDMFFForceKernel : public OpenMM::KernelImpl { +public: + static std::string Name() { + return "CalcDMFFForce"; + } + CalcDMFFForceKernel(std::string name, const OpenMM::Platform& platform) : OpenMM::KernelImpl(name, platform) { + } + /** + * Initialize the kernel. + * + * @param system the System this kernel will be applied to + * @param force the DMFFForce this kernel will be used for + */ + virtual void initialize(const OpenMM::System& system, const DMFFForce& force) = 0; + /** + * Execute the kernel to calculate the forces and/or energy. + * + * @param context the context in which to execute this kernel + * @param includeForces true if forces should be calculated + * @param includeEnergy true if the energy should be calculated + * @return the potential energy due to the force + */ + virtual double execute(OpenMM::ContextImpl& context, bool includeForces, bool includeEnergy) = 0; + +}; + +} // namespace DMFFPlugin + +#endif /*DMFF_KERNELS_H_*/ diff --git a/backend/openmm_dmff_plugin/openmmapi/include/internal/DMFFForceImpl.h b/backend/openmm_dmff_plugin/openmmapi/include/internal/DMFFForceImpl.h new file mode 100644 index 000000000..79cac2fc4 --- /dev/null +++ b/backend/openmm_dmff_plugin/openmmapi/include/internal/DMFFForceImpl.h @@ -0,0 +1,74 @@ +#ifndef OPENMM_DMFFFORCEIMPL_H_ +#define OPENMM_DMFFFORCEIMPL_H_ + +/* -------------------------------------------------------------------------- * + * OpenMM-DMFF * + * -------------------------------------------------------------------------- * + * This is part of the OpenMM molecular simulation toolkit originating from * + * Simbios, the NIH National Center for Physics-Based Simulation of * + * Biological Structures at Stanford, funded under the NIH Roadmap for * + * Medical Research, grant U54 GM072970. See https://simtk.org. * + * * + * Portions copyright (c) 2014 Stanford University and the Authors. * + * Authors: Peter Eastman * + * Contributors: * + * * + * Permission is hereby granted, free of charge, to any person obtaining a * + * copy of this software and associated documentation files (the "Software"), * + * to deal in the Software without restriction, including without limitation * + * the rights to use, copy, modify, merge, publish, distribute, sublicense, * + * and/or sell copies of the Software, and to permit persons to whom the * + * Software is furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * + * THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE * + * USE OR OTHER DEALINGS IN THE SOFTWARE. * + * -------------------------------------------------------------------------- */ + +#include "DMFFForce.h" +#include "openmm/internal/ForceImpl.h" +#include "openmm/Kernel.h" +#include +#include +#include + +namespace DMFFPlugin { + +class System; + +/** + * This is the internal implementation of DMFFForce. + */ + +class OPENMM_EXPORT_DMFF DMFFForceImpl : public OpenMM::ForceImpl { +public: + DMFFForceImpl(const DMFFForce& owner); + ~DMFFForceImpl(); + void initialize(OpenMM::ContextImpl& context); + const DMFFForce& getOwner() const { + return owner; + } + void updateContextState(OpenMM::ContextImpl& context, bool& forcesInvalid) { + // This force field doesn't update the state directly. + } + double calcForcesAndEnergy(OpenMM::ContextImpl& context, bool includeForces, bool includeEnergy, int groups); + std::map getDefaultParameters() { + return std::map(); // This force field doesn't define any parameters. + } + std::vector getKernelNames(); + //void updateParametersInContext(OpenMM::ContextImpl& context); +private: + const DMFFForce& owner; + OpenMM::Kernel kernel; +}; + +} // namespace DMFFPlugin + +#endif /*OPENMM_DMFFFORCEIMPL_H_*/ diff --git a/backend/openmm_dmff_plugin/openmmapi/include/internal/windowsExportDMFF.h b/backend/openmm_dmff_plugin/openmmapi/include/internal/windowsExportDMFF.h new file mode 100644 index 000000000..0304ea92b --- /dev/null +++ b/backend/openmm_dmff_plugin/openmmapi/include/internal/windowsExportDMFF.h @@ -0,0 +1,41 @@ +#ifndef OPENMM_WINDOWSEXPORTDMFF_H_ +#define OPENMM_WINDOWSEXPORTDMFF_H_ + +/* + * Shared libraries are messy in Visual Studio. We have to distinguish three + * cases: + * (1) this header is being used to build the OpenMM shared library + * (dllexport) + * (2) this header is being used by a *client* of the OpenMM shared + * library (dllimport) + * (3) we are building the OpenMM static library, or the client is + * being compiled with the expectation of linking with the + * OpenMM static library (nothing special needed) + * In the CMake script for building this library, we define one of the symbols + * DMFF_BUILDING_{SHARED|STATIC}_LIBRARY + * Client code normally has no special symbol defined, in which case we'll + * assume it wants to use the shared library. However, if the client defines + * the symbol OPENMM_USE_STATIC_LIBRARIES we'll suppress the dllimport so + * that the client code can be linked with static libraries. Note that + * the client symbol is not library dependent, while the library symbols + * affect only the OpenMM library, meaning that other libraries can + * be clients of this one. However, we are assuming all-static or all-shared. + */ + +#ifdef _MSC_VER + // We don't want to hear about how sprintf is "unsafe". + #pragma warning(disable:4996) + // Keep MS VC++ quiet about lack of dll export of private members. + #pragma warning(disable:4251) + #if defined(DMFF_BUILDING_SHARED_LIBRARY) + #define OPENMM_EXPORT_DMFF __declspec(dllexport) + #elif defined(DMFF_BUILDING_STATIC_LIBRARY) || defined(DMFF_USE_STATIC_LIBRARIES) + #define OPENMM_EXPORT_DMFF + #else + #define OPENMM_EXPORT_DMFF __declspec(dllimport) // i.e., a client of a shared library + #endif +#else + #define OPENMM_EXPORT_DMFF // Linux, Mac +#endif + +#endif // OPENMM_WINDOWSEXPORTDMFF_H_ diff --git a/backend/openmm_dmff_plugin/openmmapi/src/DMFFForce.cpp b/backend/openmm_dmff_plugin/openmmapi/src/DMFFForce.cpp new file mode 100644 index 000000000..5a48abf00 --- /dev/null +++ b/backend/openmm_dmff_plugin/openmmapi/src/DMFFForce.cpp @@ -0,0 +1,81 @@ +/* -------------------------------------------------------------------------- * + * OpenMM-DMFF * + * -------------------------------------------------------------------------- * + * This is part of the OpenMM molecular simulation toolkit originating from * + * Simbios, the NIH National Center for Physics-Based Simulation of * + * Biological Structures at Stanford, funded under the NIH Roadmap for * + * Medical Research, grant U54 GM072970. See https://simtk.org. * + * * + * Portions copyright (c) 2014 Stanford University and the Authors. * + * Authors: Peter Eastman * + * Contributors: * + * * + * Permission is hereby granted, free of charge, to any person obtaining a * + * copy of this software and associated documentation files (the "Software"), * + * to deal in the Software without restriction, including without limitation * + * the rights to use, copy, modify, merge, publish, distribute, sublicense, * + * and/or sell copies of the Software, and to permit persons to whom the * + * Software is furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * + * THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE * + * USE OR OTHER DEALINGS IN THE SOFTWARE. * + * -------------------------------------------------------------------------- */ + +#include "DMFFForce.h" +#include "internal/DMFFForceImpl.h" +#include "openmm/OpenMMException.h" +#include "openmm/internal/AssertionUtilities.h" +#include + +using namespace DMFFPlugin; +using namespace OpenMM; +using namespace std; + + +DMFFForce::DMFFForce(const string& GraphFile){ + graph_file = GraphFile; +} + +DMFFForce::~DMFFForce(){ + return; +} + +void DMFFForce::setUnitTransformCoefficients(const double coordCoefficient, const double forceCoefficient, const double energyCoefficient){ + coordCoeff = coordCoefficient; + forceCoeff = forceCoefficient; + energyCoeff = energyCoefficient; +} + +void DMFFForce::setHasAux(const bool hasAux){ + this->has_aux = hasAux; +} + +double DMFFForce::getCoordUnitCoefficient() const {return coordCoeff;} +double DMFFForce::getForceUnitCoefficient() const {return forceCoeff;} +double DMFFForce::getEnergyUnitCoefficient() const {return energyCoeff;} + +double DMFFForce::getCutoff() const {return cutoff;} + +bool DMFFForce::getHasAux() const {return has_aux;} + +const string& DMFFForce::getDMFFGraphFile() const{return graph_file;} + + + +ForceImpl* DMFFForce::createImpl() const { + return new DMFFForceImpl(*this); +} + +void DMFFForce::updateParametersInContext(Context& context) { + // Nothing to be done here. + return; +} + diff --git a/backend/openmm_dmff_plugin/openmmapi/src/DMFFForceImpl.cpp b/backend/openmm_dmff_plugin/openmmapi/src/DMFFForceImpl.cpp new file mode 100644 index 000000000..61be22069 --- /dev/null +++ b/backend/openmm_dmff_plugin/openmmapi/src/DMFFForceImpl.cpp @@ -0,0 +1,71 @@ +/* -------------------------------------------------------------------------- * + * OpenMM-DMFF * + * -------------------------------------------------------------------------- * + * This is part of the OpenMM molecular simulation toolkit originating from * + * Simbios, the NIH National Center for Physics-Based Simulation of * + * Biological Structures at Stanford, funded under the NIH Roadmap for * + * Medical Research, grant U54 GM072970. See https://simtk.org. * + * * + * Portions copyright (c) 2014 Stanford University and the Authors. * + * Authors: Peter Eastman * + * Contributors: * + * * + * Permission is hereby granted, free of charge, to any person obtaining a * + * copy of this software and associated documentation files (the "Software"), * + * to deal in the Software without restriction, including without limitation * + * the rights to use, copy, modify, merge, publish, distribute, sublicense, * + * and/or sell copies of the Software, and to permit persons to whom the * + * Software is furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * + * THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE * + * USE OR OTHER DEALINGS IN THE SOFTWARE. * + * -------------------------------------------------------------------------- */ + +#ifdef WIN32 + #define _USE_MATH_DEFINES // Needed to get M_PI +#endif +#include "internal/DMFFForceImpl.h" +#include "DMFFKernels.h" +#include "openmm/OpenMMException.h" +#include "openmm/internal/ContextImpl.h" +#include +#include +#include +#include + +using namespace DMFFPlugin; +using namespace OpenMM; +using namespace std; + +DMFFForceImpl::DMFFForceImpl(const DMFFForce& owner) : owner(owner) { +} + +DMFFForceImpl::~DMFFForceImpl() { +} + +void DMFFForceImpl::initialize(ContextImpl& context) { + kernel = context.getPlatform().createKernel(CalcDMFFForceKernel::Name(), context); + kernel.getAs().initialize(context.getSystem(), owner); +} + +double DMFFForceImpl::calcForcesAndEnergy(ContextImpl& context, bool includeForces, bool includeEnergy, int groups) { + if ((groups&(1<().execute(context, includeForces, includeEnergy); + return 0.0; +} + +std::vector DMFFForceImpl::getKernelNames() { + std::vector names; + names.push_back(CalcDMFFForceKernel::Name()); + return names; +} + + diff --git a/backend/openmm_dmff_plugin/platforms/cuda/CMakeLists.txt b/backend/openmm_dmff_plugin/platforms/cuda/CMakeLists.txt new file mode 100644 index 000000000..6d1d97d73 --- /dev/null +++ b/backend/openmm_dmff_plugin/platforms/cuda/CMakeLists.txt @@ -0,0 +1,79 @@ +#--------------------------------------------------- +# OpenMM DMFF Plugin CUDA Platform +#---------------------------------------------------- + +# Collect information about the version of the OpenMM library we're building +# and make it available to the code so it can be built into the binaries. + +SET(PLUGIN_CUDA_LIBRARY_NAME OpenMMDMFFCUDA) + +SET(SHARED_TARGET ${PLUGIN_CUDA_LIBRARY_NAME}) + + +# These are all the places to search for header files which are +# to be part of the API. +SET(API_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/include" "${CMAKE_CURRENT_SOURCE_DIR}/include/internal") + +# Locate header files. +SET(API_INCLUDE_FILES) +FOREACH(dir ${API_INCLUDE_DIRS}) + FILE(GLOB fullpaths ${dir}/*.h) + SET(API_INCLUDE_FILES ${API_INCLUDE_FILES} ${fullpaths}) +ENDFOREACH(dir) + +# collect source files +SET(SOURCE_FILES) # empty +SET(SOURCE_INCLUDE_FILES) + +FILE(GLOB_RECURSE src_files ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp ${CMAKE_CURRENT_SOURCE_DIR}/${subdir}/src/*.c) +FILE(GLOB incl_files ${CMAKE_CURRENT_SOURCE_DIR}/src/*.h) +SET(SOURCE_FILES ${SOURCE_FILES} ${src_files}) #append +SET(SOURCE_INCLUDE_FILES ${SOURCE_INCLUDE_FILES} ${incl_files}) +INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/include) + +INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/src) +INCLUDE_DIRECTORIES(BEFORE ${CMAKE_SOURCE_DIR}/platforms/cuda/include) +INCLUDE_DIRECTORIES(BEFORE ${CMAKE_SOURCE_DIR}/platforms/cuda/src) +INCLUDE_DIRECTORIES(BEFORE ${CMAKE_BINARY_DIR}/platforms/cuda/src) + +# Set variables needed for encoding kernel sources into a C++ class + +SET(CUDA_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src) +SET(CUDA_SOURCE_CLASS CudaDMFFKernelSources) +SET(CUDA_KERNELS_CPP ${CMAKE_CURRENT_BINARY_DIR}/src/${CUDA_SOURCE_CLASS}.cpp) +SET(CUDA_KERNELS_H ${CMAKE_CURRENT_BINARY_DIR}/src/${CUDA_SOURCE_CLASS}.h) +SET(SOURCE_FILES ${SOURCE_FILES} ${CUDA_KERNELS_CPP} ${CUDA_KERNELS_H}) +INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_BINARY_DIR}/src) + +# Create the library + +INCLUDE_DIRECTORIES(${CUDA_TOOLKIT_INCLUDE}) + +FILE(GLOB CUDA_KERNELS ${CUDA_SOURCE_DIR}/kernels/*.cu) +ADD_CUSTOM_COMMAND(OUTPUT ${CUDA_KERNELS_CPP} ${CUDA_KERNELS_H} + COMMAND ${CMAKE_COMMAND} + ARGS -D CUDA_SOURCE_DIR=${CUDA_SOURCE_DIR} -D CUDA_KERNELS_CPP=${CUDA_KERNELS_CPP} -D CUDA_KERNELS_H=${CUDA_KERNELS_H} -D CUDA_SOURCE_CLASS=${CUDA_SOURCE_CLASS} -P ${CMAKE_SOURCE_DIR}/platforms/cuda/EncodeCUDAFiles.cmake + DEPENDS ${CUDA_KERNELS} +) +SET_SOURCE_FILES_PROPERTIES(${CUDA_KERNELS_CPP} ${CUDA_KERNELS_H} PROPERTIES GENERATED TRUE) +ADD_LIBRARY(${SHARED_TARGET} SHARED ${SOURCE_FILES} ${SOURCE_INCLUDE_FILES} ${API_INCLUDE_FILES}) + +TARGET_LINK_LIBRARIES(${SHARED_TARGET} ${CUDA_LIBRARIES}) +TARGET_LINK_LIBRARIES(${SHARED_TARGET} OpenMM) +TARGET_LINK_LIBRARIES(${SHARED_TARGET} OpenMMCUDA) +TARGET_LINK_LIBRARIES(${SHARED_TARGET} ${SHARED_DMFF_TARGET}) +SET_TARGET_PROPERTIES(${SHARED_TARGET} PROPERTIES + COMPILE_FLAGS "-DOPENMM_BUILDING_SHARED_LIBRARY ${EXTRA_COMPILE_FLAGS}" + LINK_FLAGS "${EXTRA_COMPILE_FLAGS}") +IF (APPLE) + SET_TARGET_PROPERTIES(${SHARED_TARGET} PROPERTIES LINK_FLAGS "-F/Library/Frameworks -framework CUDA ${EXTRA_COMPILE_FLAGS}") +ENDIF (APPLE) + +INSTALL(TARGETS ${SHARED_TARGET} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/plugins) +# Ensure that links to the main library will be resolved. +IF (APPLE) + INSTALL(CODE "EXECUTE_PROCESS(COMMAND install_name_tool -add_rpath @loader_path/.. ${CMAKE_INSTALL_PREFIX}/lib/plugins/lib${SHARED_TARGET}.dylib)") +ENDIF (APPLE) + + +SUBDIRS (tests) diff --git a/backend/openmm_dmff_plugin/platforms/cuda/EncodeCUDAFiles.cmake b/backend/openmm_dmff_plugin/platforms/cuda/EncodeCUDAFiles.cmake new file mode 100644 index 000000000..58285b088 --- /dev/null +++ b/backend/openmm_dmff_plugin/platforms/cuda/EncodeCUDAFiles.cmake @@ -0,0 +1,27 @@ +FILE(GLOB CUDA_KERNELS ${CUDA_SOURCE_DIR}/kernels/*.cu) +SET(CUDA_FILE_DECLARATIONS) +SET(CUDA_FILE_DEFINITIONS) +CONFIGURE_FILE(${CUDA_SOURCE_DIR}/${CUDA_SOURCE_CLASS}.cpp.in ${CUDA_KERNELS_CPP}) +FOREACH(file ${CUDA_KERNELS}) + # Load the file contents and process it. + FILE(STRINGS ${file} file_content NEWLINE_CONSUME) + # Replace all backslashes by double backslashes as they are being put in a C string. + # Be careful not to replace the backslash before a semicolon as that is the CMAKE + # internal escaping of a semicolon to prevent it from acting as a list seperator. + STRING(REGEX REPLACE "\\\\([^;])" "\\\\\\\\\\1" file_content "${file_content}") + # Escape double quotes as being put in a C string. + STRING(REPLACE "\"" "\\\"" file_content "${file_content}") + # Split in separate C strings for each line. + STRING(REPLACE "\n" "\\n\"\n\"" file_content "${file_content}") + + # Determine a name for the variable that will contain this file's contents + FILE(RELATIVE_PATH filename ${CUDA_SOURCE_DIR}/kernels ${file}) + STRING(LENGTH ${filename} filename_length) + MATH(EXPR filename_length ${filename_length}-3) + STRING(SUBSTRING ${filename} 0 ${filename_length} variable_name) + + # Record the variable declaration and definition. + SET(CUDA_FILE_DECLARATIONS ${CUDA_FILE_DECLARATIONS}static\ const\ std::string\ ${variable_name};\n) + FILE(APPEND ${CUDA_KERNELS_CPP} const\ string\ ${CUDA_SOURCE_CLASS}::${variable_name}\ =\ \"${file_content}\"\;\n) +ENDFOREACH(file) +CONFIGURE_FILE(${CUDA_SOURCE_DIR}/${CUDA_SOURCE_CLASS}.h.in ${CUDA_KERNELS_H}) diff --git a/backend/openmm_dmff_plugin/platforms/cuda/include/CudaDMFFKernelFactory.h b/backend/openmm_dmff_plugin/platforms/cuda/include/CudaDMFFKernelFactory.h new file mode 100644 index 000000000..b4c728e28 --- /dev/null +++ b/backend/openmm_dmff_plugin/platforms/cuda/include/CudaDMFFKernelFactory.h @@ -0,0 +1,50 @@ +#ifndef OPENMM_CUDA_DMFF_KERNEL_FACTORY_H_ +#define OPENMM_CUDA_DMFF_KERNEL_FACTORY_H_ + +/* -------------------------------------------------------------------------- * + * OpenMM-DMFF * + * -------------------------------------------------------------------------- * + * This is part of the OpenMM molecular simulation toolkit originating from * + * Simbios, the NIH National Center for Physics-Based Simulation of * + * Biological Structures at Stanford, funded under the NIH Roadmap for * + * Medical Research, grant U54 GM072970. See https://simtk.org. * + * * + * Portions copyright (c) 2018 Stanford University and the Authors. * + * Authors: Peter Eastman * + * Contributors: * + * * + * Permission is hereby granted, free of charge, to any person obtaining a * + * copy of this software and associated documentation files (the "Software"), * + * to deal in the Software without restriction, including without limitation * + * the rights to use, copy, modify, merge, publish, distribute, sublicense, * + * and/or sell copies of the Software, and to permit persons to whom the * + * Software is furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * + * THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE * + * USE OR OTHER DEALINGS IN THE SOFTWARE. * + * -------------------------------------------------------------------------- */ + +#include "openmm/KernelFactory.h" + +namespace OpenMM { + +/** + * This KernelFactory creates kernels for the CUDA implementation of the DMFF plugin. + */ + +class CudaDMFFKernelFactory : public KernelFactory { +public: + KernelImpl* createKernelImpl(std::string name, const Platform& platform, ContextImpl& context) const; +}; + +} // namespace OpenMM + +#endif /*OPENMM_CUDA_DMFF_KERNEL_FACTORY_H_*/ \ No newline at end of file diff --git a/backend/openmm_dmff_plugin/platforms/cuda/include/CudaDMFFKernels.h b/backend/openmm_dmff_plugin/platforms/cuda/include/CudaDMFFKernels.h new file mode 100644 index 000000000..976f874f4 --- /dev/null +++ b/backend/openmm_dmff_plugin/platforms/cuda/include/CudaDMFFKernels.h @@ -0,0 +1,91 @@ +/* -------------------------------------------------------------------------- * + * OpenMM-DMFF * + * -------------------------------------------------------------------------- * + * This is part of the OpenMM molecular simulation toolkit originating from * + * Simbios, the NIH National Center for Physics-Based Simulation of * + * Biological Structures at Stanford, funded under the NIH Roadmap for * + * Medical Research, grant U54 GM072970. See https://simtk.org. * + * * + * Portions copyright (c) 2018 Stanford University and the Authors. * + * Authors: Peter Eastman * + * Contributors: * + * * + * Permission is hereby granted, free of charge, to any person obtaining a * + * copy of this software and associated documentation files (the "Software"), * + * to deal in the Software without restriction, including without limitation * + * the rights to use, copy, modify, merge, publish, distribute, sublicense, * + * and/or sell copies of the Software, and to permit persons to whom the * + * Software is furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * + * THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE * + * USE OR OTHER DEALINGS IN THE SOFTWARE. * + * -------------------------------------------------------------------------- */ +#ifndef CUDA_DMFF_KERNELS_H_ +#define CUDA_DMFF_KERNELS_H_ + +#include "DMFFKernels.h" +#include "openmm/cuda/CudaContext.h" +#include "openmm/cuda/CudaArray.h" +#include "openmm/reference/ReferenceNeighborList.h" + + +namespace DMFFPlugin { + +/** + * This kernel is invoked by DMFFForceImpl to calculate the forces acting on the system and the energy of the system. + */ +class CudaCalcDMFFForceKernel : public CalcDMFFForceKernel{ +public: + CudaCalcDMFFForceKernel(std::string name, const OpenMM::Platform& platform, OpenMM::CudaContext& cu):CalcDMFFForceKernel(name, platform), cu(cu){}; + ~CudaCalcDMFFForceKernel(); + void initialize(const OpenMM::System& system, const DMFFForce& force); + double execute(OpenMM::ContextImpl& context, bool includeForces, bool includeEnergy); +private: + // Used for CUDA Platform. + bool hasInitialized; + OpenMM::CudaContext& cu; + OpenMM::CudaArray dmffForces; + CUfunction addForcesKernel; + + std::string graph_file; + cppflow::model jax_model; + vector coord_shape = vector(2); + vector U_ind_shape = vector(2); + vector box_shape{3, 3}; + vector pair_shape = vector(2); + vector pairs_v; + cppflow::tensor coord_tensor, box_tensor, pair_tensor, U_ind_tensor; + vector output_tensors; + vector last_U_ind; + vector operations; + vector input_node_names = vector(3); + vector output_node_names = vector(2); + + OpenMM::NeighborList neighborList; + vector> exclusions; + + int natoms; + double cutoff; + bool has_aux; + ENERGYTYPE dener; + vector dforce; + vector dcoord; + vector dbox; + double forceUnitCoeff, energyUnitCoeff, coordUnitCoeff; + vector AddedForces; + +}; + + +} // namespace DMFFPlugin + + +#endif /*CUDA_DMFF_KERNELS_H_*/ \ No newline at end of file diff --git a/backend/openmm_dmff_plugin/platforms/cuda/src/CudaDMFFKernelFactory.cpp b/backend/openmm_dmff_plugin/platforms/cuda/src/CudaDMFFKernelFactory.cpp new file mode 100644 index 000000000..aad51deca --- /dev/null +++ b/backend/openmm_dmff_plugin/platforms/cuda/src/CudaDMFFKernelFactory.cpp @@ -0,0 +1,76 @@ +/* -------------------------------------------------------------------------- * + * OpenMM-DMFF * + * -------------------------------------------------------------------------- * + * This is part of the OpenMM molecular simulation toolkit originating from * + * Simbios, the NIH National Center for Physics-Based Simulation of * + * Biological Structures at Stanford, funded under the NIH Roadmap for * + * Medical Research, grant U54 GM072970. See https://simtk.org. * + * * + * Portions copyright (c) 2018 Stanford University and the Authors. * + * Authors: Peter Eastman * + * Contributors: * + * * + * Permission is hereby granted, free of charge, to any person obtaining a * + * copy of this software and associated documentation files (the "Software"), * + * to deal in the Software without restriction, including without limitation * + * the rights to use, copy, modify, merge, publish, distribute, sublicense, * + * and/or sell copies of the Software, and to permit persons to whom the * + * Software is furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * + * THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE * + * USE OR OTHER DEALINGS IN THE SOFTWARE. * + * -------------------------------------------------------------------------- */ + +#include + +#include "CudaDMFFKernelFactory.h" +#include "CudaDMFFKernels.h" +#include "openmm/internal/windowsExport.h" +#include "openmm/internal/ContextImpl.h" +#include "openmm/OpenMMException.h" +#include + +using namespace DMFFPlugin; +using namespace OpenMM; +using namespace std; + +extern "C" OPENMM_EXPORT void registerPlatforms() { +} + +extern "C" OPENMM_EXPORT void registerKernelFactories() { + try { + int argc = 0; + vector argv = {NULL}; + Platform& platform = Platform::getPlatformByName("CUDA"); + CudaDMFFKernelFactory* factory = new CudaDMFFKernelFactory(); + platform.registerKernelFactory(CalcDMFFForceKernel::Name(), factory); + } + catch (std::exception ex) { + // Ignore + } +} + +extern "C" OPENMM_EXPORT void registerDMFFCudaKernelFactories() { + try { + Platform::getPlatformByName("CUDA"); + } + catch (...) { + Platform::registerPlatform(new CudaPlatform()); + } + registerKernelFactories(); +} + +KernelImpl* CudaDMFFKernelFactory::createKernelImpl(std::string name, const Platform& platform, ContextImpl& context) const { + CudaContext& cu = *static_cast(context.getPlatformData())->contexts[0]; + if (name == CalcDMFFForceKernel::Name()) + return new CudaCalcDMFFForceKernel(name, platform, cu); + throw OpenMMException((std::string("Tried to create kernel with illegal kernel name '")+name+"'").c_str()); +} \ No newline at end of file diff --git a/backend/openmm_dmff_plugin/platforms/cuda/src/CudaDMFFKernelSources.cpp.in b/backend/openmm_dmff_plugin/platforms/cuda/src/CudaDMFFKernelSources.cpp.in new file mode 100644 index 000000000..c6e9da1dd --- /dev/null +++ b/backend/openmm_dmff_plugin/platforms/cuda/src/CudaDMFFKernelSources.cpp.in @@ -0,0 +1,35 @@ +/* -------------------------------------------------------------------------- * + * OpenMM-DMFF * + * -------------------------------------------------------------------------- * + * This is part of the OpenMM molecular simulation toolkit originating from * + * Simbios, the NIH National Center for Physics-Based Simulation of * + * Biological Structures at Stanford, funded under the NIH Roadmap for * + * Medical Research, grant U54 GM072970. See https://simtk.org. * + * * + * Portions copyright (c) 2018 Stanford University and the Authors. * + * Authors: Peter Eastman * + * Contributors: * + * * + * Permission is hereby granted, free of charge, to any person obtaining a * + * copy of this software and associated documentation files (the "Software"), * + * to deal in the Software without restriction, including without limitation * + * the rights to use, copy, modify, merge, publish, distribute, sublicense, * + * and/or sell copies of the Software, and to permit persons to whom the * + * Software is furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * + * THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE * + * USE OR OTHER DEALINGS IN THE SOFTWARE. * + * -------------------------------------------------------------------------- */ + +#include "CudaDMFFKernelSources.h" + +using namespace DMFFPlugin; +using namespace std; \ No newline at end of file diff --git a/backend/openmm_dmff_plugin/platforms/cuda/src/CudaDMFFKernelSources.h.in b/backend/openmm_dmff_plugin/platforms/cuda/src/CudaDMFFKernelSources.h.in new file mode 100644 index 000000000..abc0db566 --- /dev/null +++ b/backend/openmm_dmff_plugin/platforms/cuda/src/CudaDMFFKernelSources.h.in @@ -0,0 +1,52 @@ +#ifndef OPENMM_CUDA_DMFF_KERNEL_SOURCES_H_ +#define OPENMM_CUDA_DMFF_KERNEL_SOURCES_H_ + +/* -------------------------------------------------------------------------- * + * OpenMM-DMFF * + * -------------------------------------------------------------------------- * + * This is part of the OpenMM molecular simulation toolkit originating from * + * Simbios, the NIH National Center for Physics-Based Simulation of * + * Biological Structures at Stanford, funded under the NIH Roadmap for * + * Medical Research, grant U54 GM072970. See https://simtk.org. * + * * + * Portions copyright (c) 2018 Stanford University and the Authors. * + * Authors: Peter Eastman * + * Contributors: * + * * + * Permission is hereby granted, free of charge, to any person obtaining a * + * copy of this software and associated documentation files (the "Software"), * + * to deal in the Software without restriction, including without limitation * + * the rights to use, copy, modify, merge, publish, distribute, sublicense, * + * and/or sell copies of the Software, and to permit persons to whom the * + * Software is furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * + * THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE * + * USE OR OTHER DEALINGS IN THE SOFTWARE. * + * -------------------------------------------------------------------------- */ + +#include + +namespace DMFFPlugin { + +/** + * This class is a central holding place for the source code of CUDA kernels. + * The CMake build script inserts declarations into it based on the .cu files in the + * kernels subfolder. + */ + +class CudaDMFFKernelSources { +public: +@CUDA_FILE_DECLARATIONS@ +}; + +} // namespace DMFFPlugin + +#endif /*OPENMM_CUDA_DMFF_KERNEL_SOURCES_H_*/ \ No newline at end of file diff --git a/backend/openmm_dmff_plugin/platforms/cuda/src/CudaDMFFKernels.cpp b/backend/openmm_dmff_plugin/platforms/cuda/src/CudaDMFFKernels.cpp new file mode 100644 index 000000000..15857a77f --- /dev/null +++ b/backend/openmm_dmff_plugin/platforms/cuda/src/CudaDMFFKernels.cpp @@ -0,0 +1,223 @@ +/* -------------------------------------------------------------------------- * + * OpenMM-DMFF * + * -------------------------------------------------------------------------- * + * This is part of the OpenMM molecular simulation toolkit originating from * + * Simbios, the NIH National Center for Physics-Based Simulation of * + * Biological Structures at Stanford, funded under the NIH Roadmap for * + * Medical Research, grant U54 GM072970. See https://simtk.org. * + * * + * Portions copyright (c) 2018 Stanford University and the Authors. * + * Authors: Peter Eastman * + * Contributors: * + * * + * Permission is hereby granted, free of charge, to any person obtaining a * + * copy of this software and associated documentation files (the "Software"), * + * to deal in the Software without restriction, including without limitation * + * the rights to use, copy, modify, merge, publish, distribute, sublicense, * + * and/or sell copies of the Software, and to permit persons to whom the * + * Software is furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * + * THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE * + * USE OR OTHER DEALINGS IN THE SOFTWARE. * + * -------------------------------------------------------------------------- */ + +#include "CudaDMFFKernels.h" +#include "CudaDMFFKernelSources.h" +#include "openmm/internal/ContextImpl.h" +#include +#include + +using namespace DMFFPlugin; +using namespace OpenMM; +using namespace std; + + +CudaCalcDMFFForceKernel::~CudaCalcDMFFForceKernel(){ + return; +} + +void CudaCalcDMFFForceKernel::initialize(const System& system, const DMFFForce& force){ + graph_file = force.getDMFFGraphFile(); + forceUnitCoeff = force.getForceUnitCoefficient(); + energyUnitCoeff = force.getEnergyUnitCoefficient(); + coordUnitCoeff = force.getCoordUnitCoefficient(); + cutoff = force.getCutoff(); + this->has_aux = force.getHasAux(); + + natoms = system.getNumParticles(); + coord_shape[0] = natoms; + coord_shape[1] = 3; + exclusions.resize(natoms); + + if (this->has_aux){ + U_ind_shape[0] = natoms; + U_ind_shape[1] = 3; + // Initialize the last_U_ind. + for(int ii = 0; ii < natoms * 3; ii ++){ + last_U_ind.push_back(0.0); + } + } + + // Load the ordinary graph firstly. + jax_model.init(graph_file); + + operations = jax_model.get_operations(); + for (int ii = 0; ii < operations.size(); ii++){ + if (operations[ii].find("serving") != std::string::npos){ + if (operations[ii].find("0") != std::string::npos){ + input_node_names[0] = operations[ii] + ":0"; + } else if (operations[ii].find("1") != std::string::npos){ + input_node_names[1] = operations[ii] + ":0"; + } else if (operations[ii].find("2") != std::string::npos){ + input_node_names[2] = operations[ii] + ":0"; + } + // Set up the auxilary input node name. For U_ind + if(this->has_aux){ + if (operations[ii].find("3") != std::string::npos){ + input_node_names.push_back(operations[ii] + ":0"); + } + } + } + // Set up the output names. + if (operations[ii].find("PartitionedCall") != std::string::npos){ + output_node_names[0] = operations[ii] + ":0"; + output_node_names[1] = operations[ii] + ":1"; + if(this->has_aux){ + output_node_names.push_back(operations[ii] + ":2"); + } + break; + } + } + + // Initialize the ordinary input and output array. + // Initialize the input tensor. + dener = 0.; + dforce = vector(natoms * 3, 0.); + dcoord = vector(natoms * 3, 0.); + dbox = vector(9, 0.); + + AddedForces = vector(natoms * 3, 0.0); + // Set for CUDA context. + cu.setAsCurrent(); + map defines; + defines["FORCES_TYPE"] = "double"; + dmffForces.initialize(cu, 3*natoms, sizeof(double), "dmffForces"); + CUmodule module = cu.createModule(CudaDMFFKernelSources::DMFFForce, defines); + addForcesKernel = cu.getKernel(module, "addForces"); +} + + +double CudaCalcDMFFForceKernel::execute(ContextImpl& context, bool includeForces, bool includeEnergy) { + vector pos; + context.getPositions(pos); + Vec3 box[3]; + + // Set box size. + if ( !context.getSystem().usesPeriodicBoundaryConditions() ){ + dbox = {}; // No PBC. + throw OpenMMException("DMFFForce requires periodic boundary conditions."); + } + + cu.getPeriodicBoxVectors(box[0], box[1], box[2]); + // Transform unit from nanometers to the required units in DMFF input. + dbox[0] = box[0][0] * coordUnitCoeff; + dbox[1] = box[0][1] * coordUnitCoeff; + dbox[2] = box[0][2] * coordUnitCoeff; + dbox[3] = box[1][0] * coordUnitCoeff; + dbox[4] = box[1][1] * coordUnitCoeff; + dbox[5] = box[1][2] * coordUnitCoeff; + dbox[6] = box[2][0] * coordUnitCoeff; + dbox[7] = box[2][1] * coordUnitCoeff; + dbox[8] = box[2][2] * coordUnitCoeff; + cppflow::tensor box_tensor = cppflow::tensor(dbox, box_shape); + + // Set input coord. + for(int ii = 0; ii < natoms; ++ii){ + // Multiply by coordUnitCoeff to transform unit from nanometers to input units for DMFF model. + dcoord[ii * 3 + 0] = pos[ii][0] * coordUnitCoeff; + dcoord[ii * 3 + 1] = pos[ii][1] * coordUnitCoeff; + dcoord[ii * 3 + 2] = pos[ii][2] * coordUnitCoeff; + } + coord_tensor = cppflow::tensor(dcoord, coord_shape); + + // Set input U_ind + U_ind_tensor = cppflow::tensor(last_U_ind, U_ind_shape); + + // Fetch the neighbor list for input pairs tensor. + computeNeighborListVoxelHash( + neighborList, + natoms, + pos, + exclusions, + box, + true, + cutoff, + 0.0 + ); + int totpairs = neighborList.size(); + pairs_v = vector(totpairs * 2); + for (int ii = 0; ii < totpairs; ii ++){ + pairs_v[ ii * 2 + 0 ] = neighborList[ii].second; + pairs_v[ ii * 2 + 1 ] = neighborList[ii].first; + } + pair_shape[0] = totpairs; + pair_shape[1] = 2; + pair_tensor = cppflow::tensor(pairs_v, pair_shape); + + // Calculate the energy and forces. + if (!this->has_aux){ + output_tensors = jax_model({ + {input_node_names[0], coord_tensor}, + {input_node_names[1], box_tensor}, + {input_node_names[2], pair_tensor}}, + {output_node_names[0], output_node_names[1]}); + dener = output_tensors[0].get_data()[0]; + dforce = output_tensors[1].get_data(); + } else { + output_tensors = jax_model({ + {input_node_names[0], coord_tensor}, + {input_node_names[1], box_tensor}, + {input_node_names[2], U_ind_tensor}, + {input_node_names[3], pair_tensor}}, + {output_node_names[0], output_node_names[1], output_node_names[2]}); + + dener = output_tensors[0].get_data()[0]; + dforce = output_tensors[1].get_data(); + // Save last U_ind for next step usage. + last_U_ind = output_tensors[2].get_data(); + } + + + // Transform the unit from eV/A to KJ/(mol*nm) + for(int ii = 0; ii < natoms; ii ++){ + AddedForces[ii * 3 + 0] = - dforce[ii * 3 + 0] * forceUnitCoeff; + AddedForces[ii * 3 + 1] = - dforce[ii * 3 + 1] * forceUnitCoeff; + AddedForces[ii * 3 + 2] = - dforce[ii * 3 + 2] * forceUnitCoeff; + } + // Transform the unit from eV to KJ/mol + dener = dener * energyUnitCoeff; + + if (includeForces) { + // Change to OpenMM CUDA context. + cu.setAsCurrent(); + dmffForces.upload(AddedForces); + int paddedNumAtoms = cu.getPaddedNumAtoms(); + void* args[] = {&dmffForces.getDevicePointer(), &cu.getForce().getDevicePointer(), &cu.getAtomIndexArray().getDevicePointer(), &natoms, &paddedNumAtoms}; + cu.executeKernel(addForcesKernel, args, natoms); + } + if (!includeEnergy){ + dener = 0.0; + } + return dener; +} + + + diff --git a/backend/openmm_dmff_plugin/platforms/cuda/src/kernels/DMFFForce.cu b/backend/openmm_dmff_plugin/platforms/cuda/src/kernels/DMFFForce.cu new file mode 100644 index 000000000..0a5543c34 --- /dev/null +++ b/backend/openmm_dmff_plugin/platforms/cuda/src/kernels/DMFFForce.cu @@ -0,0 +1,10 @@ +extern "C" __global__ +void addForces(const FORCES_TYPE* __restrict__ forces, long long* __restrict__ forceBuffers, int* __restrict__ atomIndex, int numAtoms, int paddedNumAtoms) { + for (int atom = blockIdx.x*blockDim.x+threadIdx.x; atom < numAtoms; atom += blockDim.x*gridDim.x) { + int index = atomIndex[atom]; + forceBuffers[atom] += (long long) (forces[3*index]*0x100000000); + forceBuffers[atom+paddedNumAtoms] += (long long) (forces[3*index+1]*0x100000000); + forceBuffers[atom+2*paddedNumAtoms] += (long long) (forces[3*index+2]*0x100000000); + } +} + diff --git a/backend/openmm_dmff_plugin/platforms/cuda/tests/CMakeLists.txt b/backend/openmm_dmff_plugin/platforms/cuda/tests/CMakeLists.txt new file mode 100644 index 000000000..e4a4c1bf8 --- /dev/null +++ b/backend/openmm_dmff_plugin/platforms/cuda/tests/CMakeLists.txt @@ -0,0 +1,24 @@ +# +# Testing +# + +INCLUDE_DIRECTORIES(${CUDA_INCLUDE_DIR}) + +# Automatically create tests using files named "Test*.cpp" +FILE(GLOB TEST_PROGS "*Test*.cpp") +FOREACH(TEST_PROG ${TEST_PROGS}) + GET_FILENAME_COMPONENT(TEST_ROOT ${TEST_PROG} NAME_WE) + + # Link with shared library + ADD_EXECUTABLE(${TEST_ROOT} ${TEST_PROG}) + TARGET_LINK_LIBRARIES(${TEST_ROOT} ${SHARED_DMFF_TARGET} ${SHARED_TARGET}) + IF (APPLE) + SET_TARGET_PROPERTIES(${TEST_ROOT} PROPERTIES LINK_FLAGS "${EXTRA_COMPILE_FLAGS} -F/Library/Frameworks -framework CUDA" COMPILE_FLAGS "${EXTRA_COMPILE_FLAGS}") + ELSE (APPLE) + SET_TARGET_PROPERTIES(${TEST_ROOT} PROPERTIES LINK_FLAGS "${EXTRA_COMPILE_FLAGS}" COMPILE_FLAGS "${EXTRA_COMPILE_FLAGS}") + ENDIF (APPLE) + ADD_TEST(NAME ${TEST_ROOT}Single COMMAND ${EXECUTABLE_OUTPUT_PATH}/${TEST_ROOT} single WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) + ADD_TEST(NAME ${TEST_ROOT}Mixed COMMAND ${EXECUTABLE_OUTPUT_PATH}/${TEST_ROOT} mixed WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) + ADD_TEST(NAME ${TEST_ROOT}Double COMMAND ${EXECUTABLE_OUTPUT_PATH}/${TEST_ROOT} double WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) + +ENDFOREACH(TEST_PROG ${TEST_PROGS}) \ No newline at end of file diff --git a/backend/openmm_dmff_plugin/platforms/cuda/tests/TestDMFFPlugin4CUDA.cpp b/backend/openmm_dmff_plugin/platforms/cuda/tests/TestDMFFPlugin4CUDA.cpp new file mode 100644 index 000000000..295ff71a5 --- /dev/null +++ b/backend/openmm_dmff_plugin/platforms/cuda/tests/TestDMFFPlugin4CUDA.cpp @@ -0,0 +1,231 @@ +/* -------------------------------------------------------------------------- * + * OpenMM-DMFF * + * -------------------------------------------------------------------------- * + * This is part of the OpenMM molecular simulation toolkit originating from * + * Simbios, the NIH National Center for Physics-Based Simulation of * + * Biological Structures at Stanford, funded under the NIH Roadmap for * + * Medical Research, grant U54 GM072970. See https://simtk.org. * + * * + * Portions copyright (c) 2008-2016 Stanford University and the Authors. * + * Authors: Peter Eastman * + * Contributors: * + * * + * Permission is hereby granted, free of charge, to any person obtaining a * + * copy of this software and associated documentation files (the "Software"), * + * to deal in the Software without restriction, including without limitation * + * the rights to use, copy, modify, merge, publish, distribute, sublicense, * + * and/or sell copies of the Software, and to permit persons to whom the * + * Software is furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * + * THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE * + * USE OR OTHER DEALINGS IN THE SOFTWARE. * + * -------------------------------------------------------------------------- */ + +#include "DMFFForce.h" +#include "openmm/internal/AssertionUtilities.h" +#include "openmm/Context.h" +#include "openmm/System.h" +#include "openmm/VerletIntegrator.h" +#include "openmm/Platform.h" +#include "openmm/reference/ReferenceNeighborList.h" +#include +#include +#include +#include +#include + + +using namespace OpenMM; +using namespace DMFFPlugin; +using namespace std; + +extern "C" OPENMM_EXPORT void registerDMFFCudaKernelFactories(); + +const double TOL = 1e-5; +const string graph = "../python/OpenMMDMFFPlugin/data/lj_fluid_gpu"; +const double coordUnitCoeff = 1; +const double forceUnitCoeff = 1; +const double energyUnitCoeff = 1; +const double temperature = 100; +const int randomSeed = 123456; + +vector coord_shape = vector(2); +vector box_shape{3, 3}; +vector pair_shape = vector(2); +vector pairs_v; +OpenMM::NeighborList neighborList; +vector> exclusions; + +cppflow::tensor coord_tensor, box_tensor, pair_tensor; +vector output_tensors; +vector operations; +vector input_node_names = vector(3); + + +void referenceDMFFForce(vector positions, vector box, vector& force, double& energy, cppflow::model dmff_model){ + int natoms = positions.size(); + vector input_coords(natoms*3); + vector input_box(9); + vector dmff_force(natoms*3); + ENERGYTYPE dmff_energy; + + // Set box and coordinates input for dmff jax model. + for (int ii = 0; ii < natoms; ++ii){ + input_coords[ii * 3 + 0] = positions[ii][0] * coordUnitCoeff; + input_coords[ii * 3 + 1] = positions[ii][1] * coordUnitCoeff; + input_coords[ii * 3 + 2] = positions[ii][2] * coordUnitCoeff; + } + input_box[0] = box[0][0] * coordUnitCoeff; + input_box[1] = box[0][1] * coordUnitCoeff; + input_box[2] = box[0][2] * coordUnitCoeff; + input_box[3] = box[1][0] * coordUnitCoeff; + input_box[4] = box[1][1] * coordUnitCoeff; + input_box[5] = box[1][2] * coordUnitCoeff; + input_box[6] = box[2][0] * coordUnitCoeff; + input_box[7] = box[2][1] * coordUnitCoeff; + input_box[8] = box[2][2] * coordUnitCoeff; + + // Evaluate and get DMFF forces and energy. + //nnp_inter.compute (nnp_energy, dmff_force, nnp_virial, input_coords, types, input_box); + box_tensor = cppflow::tensor(input_box, box_shape); + coord_tensor = cppflow::tensor(input_coords, coord_shape); + + + computeNeighborListVoxelHash( + neighborList, + natoms, + positions, + exclusions, + box.data(), + true, + 1.2, + 0.0 + ); + int totpairs = neighborList.size(); + pairs_v = vector(totpairs * 2); + for (int ii = 0; ii < totpairs; ii ++){ + pairs_v[ ii * 2 + 0 ] = neighborList[ii].second; + pairs_v[ ii * 2 + 1 ] = neighborList[ii].first; + } + pair_shape[0] = totpairs; + pair_shape[1] = 2; + pair_tensor = cppflow::tensor(pairs_v, pair_shape); + + output_tensors = dmff_model({{input_node_names[0], coord_tensor}, {input_node_names[1], box_tensor}, {input_node_names[2], pair_tensor}}, {"PartitionedCall:0", "PartitionedCall:1"}); + + dmff_energy = output_tensors[0].get_data()[0]; + dmff_force = output_tensors[1].get_data(); + + + // Assign the energy and forces as return values. + energy = static_cast(dmff_energy) * energyUnitCoeff; + for(int ii = 0; ii < natoms; ++ii){ + force[ii][0] = - dmff_force[ii * 3 + 0] * forceUnitCoeff; + force[ii][1] = - dmff_force[ii * 3 + 1] * forceUnitCoeff; + force[ii][2] = - dmff_force[ii * 3 + 2] * forceUnitCoeff; + } +} + +void testDMFFDynamics(int natoms, vector coord, vector box, vector mass, int nsteps=100){ + System system; + VerletIntegrator integrator(0.0002); // Time step is 0.2 fs here. + DMFFForce* dmff_force = new DMFFForce(graph); + + // Convert the units of coordinates and box from angstrom to nanometers. + vector omm_coord; + vector omm_box; + for(int ii = 0; ii < 3; ii++){ + omm_box.push_back(Vec3(box[ii * 3 + 0] / coordUnitCoeff, box[ii * 3 + 1] / coordUnitCoeff, box[ii * 3 + 2] / coordUnitCoeff)); + } + for (int ii = 0; ii < natoms; ++ii){ + system.addParticle(mass[ii]); + omm_coord.push_back(Vec3(coord[ii * 3 + 0], coord[ii * 3 + 1], coord[ii * 3 + 2])); + } + dmff_force->setUnitTransformCoefficients(coordUnitCoeff, forceUnitCoeff, energyUnitCoeff); + system.addForce(dmff_force); + + Platform& platform = Platform::getPlatformByName("CUDA"); + Context context(system, integrator, platform); + context.setPositions(omm_coord); + context.setPeriodicBoxVectors(omm_box[0], omm_box[1], omm_box[2]); + context.setVelocitiesToTemperature(temperature, randomSeed); + + // Initialize the jax_model for comparision. + cppflow::model jax_model = cppflow::model(graph); + + operations = jax_model.get_operations(); + for (int ii = 0; ii < operations.size(); ii++){ + if (operations[ii].find("serving")!= std::string::npos){ + if (operations[ii].find("0")!= std::string::npos){ + input_node_names[0] = operations[ii] + ":0"; + } else if (operations[ii].find("1") != std::string::npos){ + input_node_names[1] = operations[ii] + ":0"; + } else if (operations[ii].find("2") != std::string::npos){ + input_node_names[2] = operations[ii] + ":0"; + } + } + } + + coord_shape[0] = natoms; + coord_shape[1] = 3; + exclusions.resize(natoms); + + for (int ii = 0; ii < nsteps; ++ii){ + // Running 1 step dynamics. + integrator.step(1); + // Get the forces and energy from openmm context state. + State state = context.getState(State::Forces | State::Energy | State::Positions); + const vector& omm_forces = state.getForces(); + const double& omm_energy = state.getPotentialEnergy(); + + // Calculate the force from jax model directly. + std::vector forces(natoms, Vec3(0,0,0)); + double energy; + referenceDMFFForce(state.getPositions(), omm_box, forces, energy, jax_model); + + for (int jj = 0; jj < natoms; ++jj){ + ASSERT_EQUAL_VEC(omm_forces[jj], forces[jj], TOL); + } + ASSERT_EQUAL_TOL(energy, omm_energy, TOL); + } +} + + +int main(int argc, char* argv[]) { + // Initialize positions, unit is nanometer. + std::vector coord = { + 1.4869,1.4417,1.8370000000000002,0.4282,1.2164000000000001,2.3527,0.24500000000000002,1.4031000000000002,0.8695,1.658,0.4821,1.0031,1.1704,1.4292,0.0907,2.3001,1.2364000000000002,0.7593000000000001,2.3508,1.5238,1.5395,0.6515,1.2797,1.1300000000000001,1.3238,1.0387000000000002,0.6028,1.0313,2.3941,1.1909,1.3783,2.2266,1.5460000000000003,2.1957,1.0599,1.455,0.11530000000000001,1.4707000000000001,2.1146000000000003,0.3065,0.5774,1.8188,-0.0494,1.832,2.3497,1.8178999999999998,1.1692,2.0008,1.8654000000000002,0.343,1.8725000000000003,0.4292,1.5221,1.4368,1.3570000000000002,2.0981,1.103,1.4098000000000002,0.2258,0.32630000000000003,0.21230000000000004,0.9242000000000001,2.1351,1.252,0.6546000000000001,1.545,2.4359,1.4137000000000002,0.09910000000000001,0.662,1.3891,0.24460000000000004,2.1807,1.0765,0.3568,1.0917000000000001,0.7743000000000001,2.2414,0.4378,2.1796,0.9539,1.2263000000000002,1.6801,1.136,2.3466,1.5591,1.103,1.2570000000000001,1.1877000000000002,2.164,0.49570000000000003,1.658,0.5198,1.3144,1.4976000000000003,0.7143,1.0516,0.0978,1.6482,2.1533,2.2135000000000002,2.1415,1.9163000000000001,1.5897000000000001,1.2458,1.8677000000000001,0.8567,1.7155000000000002,2.1512000000000002,0.5445000000000001,1.576,1.5814000000000001,1.9201000000000001,1.7932,1.9875,0.7042,2.1085000000000003,1.8557,1.843,2.1122,1.9743,2.0838,1.7328000000000001,1.4769,2.0688,2.3225000000000002,0.15880000000000002,1.8634000000000002,1.31,1.9523000000000001,1.4241000000000001,0.2902,1.7763000000000002,1.2461000000000002,1.5118,2.2309,0.6424000000000001,0.4232,2.0509,0.19720000000000001,2.2418,0.7959,2.2298,1.8864999999999998,0.6643,2.4145000000000003,1.4313000000000002,0.9792000000000001,1.2498,0.5067,1.1904000000000001,1.7758,1.6664000000000003,0.29700000000000004,0.4565000000000001,2.2786000000000004,0.9821,1.8803999999999998,2.061,0.2198,1.2162000000000002,1.7406,0.1378,0.1044,0.9499000000000001,0.20390000000000003,0.5397000000000001,1.0388,1.8989000000000003,1.6082,1.7350000000000003,0.18600000000000003,1.8321000000000003,0.8019000000000001,0.8502000000000001,0.31880000000000003,2.4162,2.0214,0.8935000000000001,0.7367,2.1347,2.326,1.3818000000000001,0.994,0.2096,0.4845,0.2175,2.3638000000000003,1.3552,1.0178,0.08750000000000001,2.1046,0.2683,0.1509,0.2312,0.49800000000000005,1.9023,2.1448,1.2019000000000002,0.6935,1.0732,2.4222,2.1601,1.046,1.5106000000000002,0.9357,1.3374000000000001,1.7486000000000002,0.0001,1.5913000000000002,1.3398,1.6791,2.1634,0.3709,0.9591,0.9917,1.9379000000000002,0.7608,1.2121000000000002,0.25070000000000003,1.2747000000000002,0.42880000000000007,2.3371,0.8711000000000001,1.8224,1.185,1.9267,0.7294,0.7635000000000001,1.5939,2.3087,0.5569000000000001,0.8128000000000001,2.3936,1.5107,0.621,1.8996,0.26110000000000005,1.7603000000000002,1.7589,0.8151,0.8802,0.9716,1.0201,2.1419,0.40990000000000004,1.6098,1.3719000000000001,2.3480000000000003,0.8929,1.5590000000000002,0.8311000000000001,1.3937,0.23870000000000002,1.4025,1.2885,0.2555,0.9979,0.5136999999999999,0.9361000000000002,0.39740000000000003,0.1281,0.862,0.6312000000000001,1.7553999999999998,1.2711000000000001,0.6960000000000001,1.5184,2.2293,0.3469,2.3319,0.4435,1.979,1.0995,0.5888,0.2383,0.0459,0.0884,2.2377,0.7851,2.2165,2.3288,1.6031,0.9092000000000001,0.9029,1.5514000000000001,1.3294000000000001,1.0917000000000001,0.8621000000000001,1.6037,1.361,1.3277,0.5452,0.6697000000000001,0.7398,1.2445000000000002,1.5919,0.12330000000000002,0.9811000000000001,0.1521,1.7182,0.9617000000000001,0.405,2.381,1.586,0.5104000000000001,0.6341000000000001,1.9363000000000001,0.1958,0.48150000000000004,0.9375,1.4548,0.6653,0.5055,0.3047,2.0997,1.8672000000000002,0.21680000000000002,1.9649999999999999,1.1833,1.0909000000000002,1.3763,1.8358,0.33340000000000003,0.6167,0.5750000000000001,1.2102000000000002,2.1995999999999998,1.3109000000000002,1.9009,0.5614,0.1795,1.0621,1.5168,0.6135,0.16970000000000002,0.9818,0.37210000000000004,1.3101000000000003,1.6585999999999999,2.1465,0.77,1.2604,2.2049,1.9687000000000001,1.9338000000000002,0.6234000000000001,0.0946,2.1932,0.5114,0.9361000000000002,0.5063,0.0862,2.1896999999999998,0.49570000000000003,0.20779999999999998,0.6381000000000001,0.23290000000000002,0.5797,0.2647,0.15910000000000002,1.2245,1.2844,1.6597000000000002,2.4419000000000004,1.1129,1.2369,1.3273000000000001,1.4671,0.5469,1.9987,1.3801,1.979,2.2589,0.4699,1.8303000000000003,0.21030000000000004,0.21800000000000003,0.9397000000000001,1.6920000000000002,0.4039,1.4287,0.1847,1.8767,1.5318,1.4136,0.3267,0.3819,2.2102,0.5225,0.9017,0.9943,0.1343,0.0959,0.7195,1.4226,1.8988,1.0612000000000001,0.011000000000000001,0.5231,1.6952000000000003,1.0156,0.15810000000000002,0.13970000000000002,1.7762000000000002,1.3682,1.029,0.17070000000000002,0.5629,0.9455,1.8879000000000001,0.8945000000000001,1.9775,1.088,1.5278,1.645,1.4302000000000001,1.1055,0.4757,1.9054,0.6253000000000001,0.20270000000000002,1.7903,0.7812000000000001,0.6088,1.625,1.6886,0.5251,1.5066000000000002,2.0992,2.4409,0.9244,1.2841,2.3567,0.6889000000000001,0.9853000000000001,0.9608000000000001,1.3817000000000002,0.6080000000000001,1.203,0.6994,1.6666,0.15900000000000003,0.6957,0.5502,1.4368,1.9486999999999999,1.7292000000000003,2.061,1.3492000000000002,1.2589000000000001,0.38680000000000003,2.3253,1.7936,1.8175999999999999,0.5237,0.399,2.1877,1.7484000000000002,1.7109000000000003,1.7693000000000003,0.06530000000000001,0.1459,2.1296,2.0946000000000002,0.3396,2.2007000000000003,0.04000000000000001,0.9349000000000001,0.7859,0.5703,2.2681,1.0914,2.2751,2.2311,1.9684000000000001,0.6532,0.7358,1.9657,0.683,0.8435000000000001,2.3908,0.7913000000000001,2.2823,1.8032000000000001,1.9242000000000001,0.6987000000000001,2.4374000000000002,0.2751,0.12380000000000001,1.9288,0.31520000000000004,0.37660000000000005,0.3412,1.4505000000000001,1.7479,2.3245,2.0271000000000003,0.8131,1.149,2.1734000000000004,1.0833000000000002,1.8968,0.039200000000000006,2.3826,0.2848,1.3407,2.0369,1.5881,0.8055,2.0751000000000004,0.24700000000000003,0.5736,1.129,2.4050000000000002,0.10800000000000001,2.1736999999999997,0.053200000000000004,1.8006000000000002,1.5141,0.0407,2.3854,2.4202000000000004,2.1236,1.6792000000000002,0.9624000000000001,2.0857,1.5029000000000001,1.0552,1.4344000000000001,1.8936000000000002,2.3468,0.6714000000000001,2.3607,1.6348,1.7348,0.9441000000000002,1.9555,0.27740000000000004,1.2697,2.3304,2.2686,0.1339,1.5751,0.8855000000000001,2.2264,1.7631000000000001,0.5546000000000001,0.5404,2.3537,0.8901,1.0565,1.4367,1.0164,1.7736999999999998,1.02,0.9386,1.8329000000000002,0.8833000000000001,0.4201,0.8357,2.4159,2.3893,0.5675,2.1608,1.8838000000000001,1.4112,0.7187000000000001,1.7854,1.7442000000000002,0.34600000000000003,1.6451000000000002,0.042300000000000004,1.8826,2.222,0.052300000000000006,2.2824000000000004,0.2641,0.17490000000000003,1.6754000000000002,0.4199,2.2403,0.0853,0.3877,0.6189,0.7160000000000001,0.5518,2.0741,2.0256000000000003,1.5051,2.2686,0.49340000000000006,0.6245,0.7081000000000001,2.0069,2.0260000000000002,1.0139,1.1265,1.2039,1.013 + }; + std::vector box = { + 2.4413, 0., 0., 0., 2.4413, 0., 0., 0., 2.4413 + }; + + std::vector mass; + int nsteps = 100; + int natoms = coord.size() / 3; + for(int ii = 0; ii < natoms; ++ii){ + mass.push_back(15.99943); + } + + // Test the single point energy and dynamics of DMFF Plugin. + try{ + registerDMFFCudaKernelFactories(); + if (argc > 1) + Platform::getPlatformByName("CUDA").setPropertyDefaultValue("CudaPrecision", string(argv[1])); + testDMFFDynamics(natoms, coord, box, mass, nsteps); + } + catch(const OpenMM::OpenMMException& e) { + cout << "OpenMMException: "< +#include + +namespace DMFFPlugin { + +/** + * This kernel is invoked by DMFFForceImpl to calculate the forces acting on the system and the energy of the system. + */ +class ReferenceCalcDMFFForceKernel : public CalcDMFFForceKernel { +public: + ReferenceCalcDMFFForceKernel(std::string name, const OpenMM::Platform& platform) : CalcDMFFForceKernel(name, platform) { + } + /** + * Initialize the kernel. + * + * @param system the System this kernel will be applied to + * @param force the DMFFForce this kernel will be used for + */ + ~ReferenceCalcDMFFForceKernel(); + void initialize(const OpenMM::System& system, const DMFFForce& force); + /** + * Execute the kernel to calculate the forces and/or energy. + * + * @param context the context in which to execute this kernel + * @param includeForces true if forces should be calculated + * @param includeEnergy true if the energy should be calculated + * @return the potential energy due to the force + */ + double execute(OpenMM::ContextImpl& context, bool includeForces, bool includeEnergy); + /** + * Copy changed parameters over to a context. + * + * @param context the context to copy parameters to + * @param force the DMFFForce to copy the parameters from + */ +private: + std::string graph_file; + cppflow::model jax_model; + + std::vector coord_shape = vector(2); + vector U_ind_shape = vector(2); + + std::vector box_shape{3, 3}; + std::vector pair_shape = vector(2); + + std::vector output; + cppflow::tensor coord_tensor, box_tensor, pair_tensor, U_ind_tensor; + vector output_tensors; + vector operations; + vector last_U_ind; + vector input_node_names = vector(3); + vector output_node_names = vector(2); + + OpenMM::NeighborList neighborList; + std::vector> exclusions; + + int natoms; + double cutoff; + bool has_aux; + ENERGYTYPE dener; + vector dforce; + vector dcoord; + vector dbox; + std::vector dpairs; + + double forceUnitCoeff, energyUnitCoeff, coordUnitCoeff; + vector AddedForces; +}; + +} // namespace DMFFPlugin + +#endif /*REFERENCE_DMFF_KERNELS_H_*/ diff --git a/backend/openmm_dmff_plugin/platforms/reference/src/ReferenceDMFFKernelFactory.cpp b/backend/openmm_dmff_plugin/platforms/reference/src/ReferenceDMFFKernelFactory.cpp new file mode 100644 index 000000000..add9af7d9 --- /dev/null +++ b/backend/openmm_dmff_plugin/platforms/reference/src/ReferenceDMFFKernelFactory.cpp @@ -0,0 +1,63 @@ +/* -------------------------------------------------------------------------- * + * OpenMM-DMFF * + * -------------------------------------------------------------------------- * + * This is part of the OpenMM molecular simulation toolkit originating from * + * Simbios, the NIH National Center for Physics-Based Simulation of * + * Biological Structures at Stanford, funded under the NIH Roadmap for * + * Medical Research, grant U54 GM072970. See https://simtk.org. * + * * + * Portions copyright (c) 2014 Stanford University and the Authors. * + * Authors: Peter Eastman * + * Contributors: * + * * + * Permission is hereby granted, free of charge, to any person obtaining a * + * copy of this software and associated documentation files (the "Software"), * + * to deal in the Software without restriction, including without limitation * + * the rights to use, copy, modify, merge, publish, distribute, sublicense, * + * and/or sell copies of the Software, and to permit persons to whom the * + * Software is furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * + * THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE * + * USE OR OTHER DEALINGS IN THE SOFTWARE. * + * -------------------------------------------------------------------------- */ + +#include "ReferenceDMFFKernelFactory.h" +#include "ReferenceDMFFKernels.h" +#include "openmm/reference/ReferencePlatform.h" +#include "openmm/internal/ContextImpl.h" +#include "openmm/OpenMMException.h" + +using namespace DMFFPlugin; +using namespace OpenMM; + +extern "C" OPENMM_EXPORT void registerPlatforms() { +} + +extern "C" OPENMM_EXPORT void registerKernelFactories() { + for (int i = 0; i < Platform::getNumPlatforms(); i++) { + Platform& platform = Platform::getPlatform(i); + if (dynamic_cast(&platform) != NULL) { + ReferenceDMFFKernelFactory* factory = new ReferenceDMFFKernelFactory(); + platform.registerKernelFactory(CalcDMFFForceKernel::Name(), factory); + } + } +} + +extern "C" OPENMM_EXPORT void registerDMFFReferenceKernelFactories() { + registerKernelFactories(); +} + +KernelImpl* ReferenceDMFFKernelFactory::createKernelImpl(std::string name, const Platform& platform, ContextImpl& context) const { + ReferencePlatform::PlatformData& data = *static_cast(context.getPlatformData()); + if (name == CalcDMFFForceKernel::Name()) + return new ReferenceCalcDMFFForceKernel(name, platform); + throw OpenMMException((std::string("Tried to create kernel with illegal kernel name '")+name+"'").c_str()); +} diff --git a/backend/openmm_dmff_plugin/platforms/reference/src/ReferenceDMFFKernels.cpp b/backend/openmm_dmff_plugin/platforms/reference/src/ReferenceDMFFKernels.cpp new file mode 100644 index 000000000..5b3c8fd42 --- /dev/null +++ b/backend/openmm_dmff_plugin/platforms/reference/src/ReferenceDMFFKernels.cpp @@ -0,0 +1,233 @@ +/* -------------------------------------------------------------------------- * + * OpenMM-DMFF * + * -------------------------------------------------------------------------- * + * This is part of the OpenMM molecular simulation toolkit originating from * + * Simbios, the NIH National Center for Physics-Based Simulation of * + * Biological Structures at Stanford, funded under the NIH Roadmap for * + * Medical Research, grant U54 GM072970. See https://simtk.org. * + * * + * Portions copyright (c) 2014 Stanford University and the Authors. * + * Authors: Peter Eastman * + * Contributors: * + * * + * Permission is hereby granted, free of charge, to any person obtaining a * + * copy of this software and associated documentation files (the "Software"), * + * to deal in the Software without restriction, including without limitation * + * the rights to use, copy, modify, merge, publish, distribute, sublicense, * + * and/or sell copies of the Software, and to permit persons to whom the * + * Software is furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * + * THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE * + * USE OR OTHER DEALINGS IN THE SOFTWARE. * + * -------------------------------------------------------------------------- */ + +#include "ReferenceDMFFKernels.h" +#include "DMFFForce.h" +#include "openmm/OpenMMException.h" +#include "openmm/internal/ContextImpl.h" +#include "openmm/reference/RealVec.h" +#include "openmm/reference/ReferencePlatform.h" +#include +#include +#include +#include +#include + +using namespace DMFFPlugin; +using namespace OpenMM; +using namespace std; + +static vector& extractPositions(ContextImpl& context) { + ReferencePlatform::PlatformData* data = reinterpret_cast(context.getPlatformData()); + return *((vector*) data->positions); +} + +static vector& extractForces(ContextImpl& context) { + ReferencePlatform::PlatformData* data = reinterpret_cast(context.getPlatformData()); + return *((vector*) data->forces); +} + +static Vec3* extractBoxVectors(ContextImpl& context) { + ReferencePlatform::PlatformData* data = reinterpret_cast(context.getPlatformData()); + return (Vec3*) data->periodicBoxVectors; +} + +ReferenceCalcDMFFForceKernel::~ReferenceCalcDMFFForceKernel(){ + return; +} + +void ReferenceCalcDMFFForceKernel::initialize(const System& system, const DMFFForce& force) { + graph_file = force.getDMFFGraphFile(); + forceUnitCoeff = force.getForceUnitCoefficient(); + energyUnitCoeff = force.getEnergyUnitCoefficient(); + coordUnitCoeff = force.getCoordUnitCoefficient(); + cutoff = force.getCutoff(); + this->has_aux = force.getHasAux(); + + natoms = system.getNumParticles(); + coord_shape[0] = natoms; + coord_shape[1] = 3; + exclusions.resize(natoms); + + if (this->has_aux){ + U_ind_shape[0] = natoms; + U_ind_shape[1] = 3; + // Initialize the last_U_ind. + for(int ii = 0; ii < natoms * 3; ii ++){ + last_U_ind.push_back(0.0); + } + } + + // Load the ordinary graph firstly. + jax_model.init(graph_file); + + operations = jax_model.get_operations(); + for (int ii = 0; ii < operations.size(); ii++){ + if (operations[ii].find("serving")!= std::string::npos){ + if (operations[ii].find("0")!= std::string::npos){ + input_node_names[0] = operations[ii]+":0"; + } else if (operations[ii].find("1") != std::string::npos){ + input_node_names[1] = operations[ii]+":0"; + } else if (operations[ii].find("2") != std::string::npos){ + input_node_names[2] = operations[ii]+":0"; + } + // Set up the auxilary input node name. For U_ind + if(this->has_aux){ + if (operations[ii].find("3") != std::string::npos){ + input_node_names.push_back(operations[ii] + ":0"); + } + } + } + // Set up the output names. + if (operations[ii].find("PartitionedCall") != std::string::npos){ + output_node_names[0] = operations[ii] + ":0"; + output_node_names[1] = operations[ii] + ":1"; + if(this->has_aux){ + output_node_names.push_back(operations[ii] + ":2"); + } + break; + } + } + + // Initialize the ordinary input and output array. + // Initialize the input tensor. + dener = 0.; + dforce = vector(natoms * 3, 0.); + dcoord = vector(natoms * 3, 0.); + dbox = vector(9, 0.); + + AddedForces = vector(natoms * 3, 0.0); +} + +double ReferenceCalcDMFFForceKernel::execute(ContextImpl& context, bool includeForces, bool includeEnergy) { + vector& pos = extractPositions(context); + vector& force = extractForces(context); + // Extract the box size. + if ( ! context.getSystem().usesPeriodicBoundaryConditions()){ + dbox = {}; // No PBC. + throw OpenMMException("No PBC is not supported yet."); + } + Vec3* box = extractBoxVectors(context); + // Transform unit from nanometers to required units for DMFF model input. + dbox[0] = box[0][0] * coordUnitCoeff; + dbox[1] = box[0][1] * coordUnitCoeff; + dbox[2] = box[0][2] * coordUnitCoeff; + dbox[3] = box[1][0] * coordUnitCoeff; + dbox[4] = box[1][1] * coordUnitCoeff; + dbox[5] = box[1][2] * coordUnitCoeff; + dbox[6] = box[2][0] * coordUnitCoeff; + dbox[7] = box[2][1] * coordUnitCoeff; + dbox[8] = box[2][2] * coordUnitCoeff; + box_tensor = cppflow::tensor(dbox, box_shape); + + // Set input coord. + for(int ii = 0; ii < natoms; ++ii){ + // Multiply by coordUnitCoeff means the transformation of the unit from nanometers to input units. + dcoord[ii * 3 + 0] = pos[ii][0] * coordUnitCoeff; + dcoord[ii * 3 + 1] = pos[ii][1] * coordUnitCoeff; + dcoord[ii * 3 + 2] = pos[ii][2] * coordUnitCoeff; + } + coord_tensor = cppflow::tensor(dcoord, coord_shape); + + // Set input U_ind. + U_ind_tensor = cppflow::tensor(last_U_ind, U_ind_shape); + + // Set input pairs. + computeNeighborListVoxelHash( + neighborList, + natoms, + pos, + exclusions, + box, + true, + cutoff, + 0.0 + ); + int totpairs = neighborList.size(); + dpairs = vector(totpairs * 2); + for (int ii = 0; ii < totpairs; ii++) + { + int32_t i1 = neighborList[ii].second; + int32_t i2 = neighborList[ii].first; + dpairs[ii * 2 + 0 ] = i1; + dpairs[ii * 2 + 1 ] = i2; + } + pair_shape[0] = totpairs; + pair_shape[1] = 2; + pair_tensor = cppflow::tensor(dpairs, pair_shape); + + if (!this->has_aux){ + output_tensors = jax_model({ + {input_node_names[0], coord_tensor}, + {input_node_names[1], box_tensor}, + {input_node_names[2], pair_tensor}}, + {output_node_names[0], output_node_names[1]}); + dener = output_tensors[0].get_data()[0]; + dforce = output_tensors[1].get_data(); + } else { + output_tensors = jax_model({ + {input_node_names[0], coord_tensor}, + {input_node_names[1], box_tensor}, + {input_node_names[2], U_ind_tensor}, + {input_node_names[3], pair_tensor}}, + {output_node_names[0], output_node_names[1], output_node_names[2]}); + + dener = output_tensors[0].get_data()[0]; + dforce = output_tensors[1].get_data(); + // Save last U_ind for next step usage. + last_U_ind = output_tensors[2].get_data(); + } + + + // Transform the unit from output units to KJ/(mol*nm) + for(int ii = 0; ii < natoms; ii ++){ + AddedForces[ii * 3 + 0] = - dforce[ii * 3 + 0] * forceUnitCoeff; + AddedForces[ii * 3 + 1] = - dforce[ii * 3 + 1] * forceUnitCoeff; + AddedForces[ii * 3 + 2] = - dforce[ii * 3 + 2] * forceUnitCoeff; + } + // Transform the unit from output units to KJ/mol + dener = dener * energyUnitCoeff; + + if(includeForces){ + for(int ii = 0; ii < natoms; ii ++){ + force[ii][0] += AddedForces[ii * 3 + 0]; + force[ii][1] += AddedForces[ii * 3 + 1]; + force[ii][2] += AddedForces[ii * 3 + 2]; + } + } + if (!includeEnergy){ + dener = 0.0; + } + // Return energy. + return dener; +} + + diff --git a/backend/openmm_dmff_plugin/platforms/reference/tests/CMakeLists.txt b/backend/openmm_dmff_plugin/platforms/reference/tests/CMakeLists.txt new file mode 100644 index 000000000..1976ba067 --- /dev/null +++ b/backend/openmm_dmff_plugin/platforms/reference/tests/CMakeLists.txt @@ -0,0 +1,15 @@ +# +# Testing +# + +# Automatically create tests using files named "Test*.cpp" +FILE(GLOB TEST_PROGS "*Test*.cpp") +FOREACH(TEST_PROG ${TEST_PROGS}) + GET_FILENAME_COMPONENT(TEST_ROOT ${TEST_PROG} NAME_WE) + + # Link with shared library + ADD_EXECUTABLE(${TEST_ROOT} ${TEST_PROG}) + TARGET_LINK_LIBRARIES(${TEST_ROOT} ${SHARED_DMFF_TARGET} ${SHARED_TARGET}) + SET_TARGET_PROPERTIES(${TEST_ROOT} PROPERTIES LINK_FLAGS "${EXTRA_COMPILE_FLAGS}" COMPILE_FLAGS "${EXTRA_COMPILE_FLAGS}") + ADD_TEST(NAME ${TEST_ROOT} COMMAND ${EXECUTABLE_OUTPUT_PATH}/${TEST_ROOT} single WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) +ENDFOREACH(TEST_PROG ${TEST_PROGS}) \ No newline at end of file diff --git a/backend/openmm_dmff_plugin/platforms/reference/tests/TestDMFFPlugin4Reference.cpp b/backend/openmm_dmff_plugin/platforms/reference/tests/TestDMFFPlugin4Reference.cpp new file mode 100644 index 000000000..962fa41b2 --- /dev/null +++ b/backend/openmm_dmff_plugin/platforms/reference/tests/TestDMFFPlugin4Reference.cpp @@ -0,0 +1,227 @@ +/* -------------------------------------------------------------------------- * + * OpenMM-DMFF * + * -------------------------------------------------------------------------- * + * This is part of the OpenMM molecular simulation toolkit originating from * + * Simbios, the NIH National Center for Physics-Based Simulation of * + * Biological Structures at Stanford, funded under the NIH Roadmap for * + * Medical Research, grant U54 GM072970. See https://simtk.org. * + * * + * Portions copyright (c) 2008-2016 Stanford University and the Authors. * + * Authors: Peter Eastman * + * Contributors: * + * * + * Permission is hereby granted, free of charge, to any person obtaining a * + * copy of this software and associated documentation files (the "Software"), * + * to deal in the Software without restriction, including without limitation * + * the rights to use, copy, modify, merge, publish, distribute, sublicense, * + * and/or sell copies of the Software, and to permit persons to whom the * + * Software is furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * + * THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE * + * USE OR OTHER DEALINGS IN THE SOFTWARE. * + * -------------------------------------------------------------------------- */ + +#include "DMFFForce.h" +#include "openmm/internal/AssertionUtilities.h" +#include "openmm/Context.h" +#include "openmm/System.h" +#include "openmm/VerletIntegrator.h" +#include "openmm/Platform.h" +#include "openmm/reference/ReferenceNeighborList.h" +#include +#include +#include + + +using namespace OpenMM; +using namespace DMFFPlugin; +using namespace std; + +extern "C" OPENMM_EXPORT void registerDMFFReferenceKernelFactories(); + +const double TOL = 1e-5; +const string graph = "../python/OpenMMDMFFPlugin/data/lj_fluid_gpu"; +const double coordUnitCoeff = 1; +const double forceUnitCoeff = 1; +const double energyUnitCoeff = 1; +const double temperature = 100; +const int randomSeed = 123456; + +vector coord_shape = vector(2); +vector box_shape{3, 3}; +vector pair_shape = vector(2); +vector pairs_v; +OpenMM::NeighborList neighborList; +vector> exclusions; + +cppflow::tensor coord_tensor, box_tensor, pair_tensor; +vector output_tensors; +vector operations; +vector input_node_names = vector(3); + + +void referenceDMFFForce(vector positions, vector box, vector& force, double& energy, cppflow::model dmff_model){ + int natoms = positions.size(); + vector input_coords(natoms*3); + vector input_box(9); + vector dmff_force(natoms*3); + ENERGYTYPE dmff_energy; + + // Set box and coordinates input for dmff jax model. + for (int ii = 0; ii < natoms; ++ii){ + input_coords[ii * 3 + 0] = positions[ii][0] * coordUnitCoeff; + input_coords[ii * 3 + 1] = positions[ii][1] * coordUnitCoeff; + input_coords[ii * 3 + 2] = positions[ii][2] * coordUnitCoeff; + } + input_box[0] = box[0][0] * coordUnitCoeff; + input_box[1] = box[0][1] * coordUnitCoeff; + input_box[2] = box[0][2] * coordUnitCoeff; + input_box[3] = box[1][0] * coordUnitCoeff; + input_box[4] = box[1][1] * coordUnitCoeff; + input_box[5] = box[1][2] * coordUnitCoeff; + input_box[6] = box[2][0] * coordUnitCoeff; + input_box[7] = box[2][1] * coordUnitCoeff; + input_box[8] = box[2][2] * coordUnitCoeff; + + // Evaluate and get DMFF forces and energy. + //nnp_inter.compute (nnp_energy, dmff_force, nnp_virial, input_coords, types, input_box); + box_tensor = cppflow::tensor(input_box, box_shape); + coord_tensor = cppflow::tensor(input_coords, coord_shape); + + + computeNeighborListVoxelHash( + neighborList, + natoms, + positions, + exclusions, + box.data(), + true, + 1.2, + 0.0 + ); + int totpairs = neighborList.size(); + pairs_v = vector(totpairs * 2); + for (int ii = 0; ii < totpairs; ii ++){ + pairs_v[ ii * 2 + 0 ] = neighborList[ii].second; + pairs_v[ ii * 2 + 1 ] = neighborList[ii].first; + } + pair_shape[0] = totpairs; + pair_shape[1] = 2; + pair_tensor = cppflow::tensor(pairs_v, pair_shape); + + output_tensors = dmff_model({{input_node_names[0], coord_tensor}, {input_node_names[1], box_tensor}, {input_node_names[2], pair_tensor}}, {"PartitionedCall:0", "PartitionedCall:1"}); + + dmff_energy = output_tensors[0].get_data()[0]; + dmff_force = output_tensors[1].get_data(); + + + // Assign the energy and forces as return values. + energy = static_cast(dmff_energy) * energyUnitCoeff; + for(int ii = 0; ii < natoms; ++ii){ + force[ii][0] = - dmff_force[ii * 3 + 0] * forceUnitCoeff; + force[ii][1] = - dmff_force[ii * 3 + 1] * forceUnitCoeff; + force[ii][2] = - dmff_force[ii * 3 + 2] * forceUnitCoeff; + } +} + +void testDMFFDynamics(int natoms, vector coord, vector box, vector mass, int nsteps=100){ + System system; + VerletIntegrator integrator(0.0002); // Time step is 0.2 fs here. + DMFFForce* dmff_force = new DMFFForce(graph); + + // Convert the units of coordinates and box from angstrom to nanometers. + vector omm_coord; + vector omm_box; + for(int ii = 0; ii < 3; ii++){ + omm_box.push_back(Vec3(box[ii * 3 + 0] / coordUnitCoeff, box[ii * 3 + 1] / coordUnitCoeff, box[ii * 3 + 2] / coordUnitCoeff)); + } + for (int ii = 0; ii < natoms; ++ii){ + system.addParticle(mass[ii]); + omm_coord.push_back(Vec3(coord[ii * 3 + 0], coord[ii * 3 + 1], coord[ii * 3 + 2])); + } + dmff_force->setUnitTransformCoefficients(coordUnitCoeff, forceUnitCoeff, energyUnitCoeff); + system.addForce(dmff_force); + + Platform& platform = Platform::getPlatformByName("Reference"); + Context context(system, integrator, platform); + context.setPositions(omm_coord); + context.setPeriodicBoxVectors(omm_box[0], omm_box[1], omm_box[2]); + context.setVelocitiesToTemperature(temperature, randomSeed); + + // Initialize the jax_model for comparision. + cppflow::model jax_model = cppflow::model(graph); + + operations = jax_model.get_operations(); + for (int ii = 0; ii < operations.size(); ii++){ + if (operations[ii].find("serving")!= std::string::npos){ + if (operations[ii].find("0")!= std::string::npos){ + input_node_names[0] = operations[ii] + ":0"; + } else if (operations[ii].find("1") != std::string::npos){ + input_node_names[1] = operations[ii] + ":0"; + } else if (operations[ii].find("2") != std::string::npos){ + input_node_names[2] = operations[ii] + ":0"; + } + } + } + + coord_shape[0] = natoms; + coord_shape[1] = 3; + exclusions.resize(natoms); + + + for (int ii = 0; ii < nsteps; ++ii){ + // Running 1 step dynamics. + integrator.step(1); + // Get the forces and energy from openmm context state. + State state = context.getState(State::Forces | State::Energy | State::Positions); + const vector& omm_forces = state.getForces(); + const double& omm_energy = state.getPotentialEnergy(); + + // Calculate the force from jax model directly. + std::vector forces(natoms, Vec3(0,0,0)); + double energy; + referenceDMFFForce(state.getPositions(), omm_box, forces, energy, jax_model); + + for (int jj = 0; jj < natoms; ++jj){ + ASSERT_EQUAL_VEC(omm_forces[jj], forces[jj], TOL); + } + ASSERT_EQUAL_TOL(energy, omm_energy, TOL); + } +} + + +int main() { + // Initialize positions, unit is nanometer. + std::vector coord = { + 1.4869,1.4417,1.8370000000000002,0.4282,1.2164000000000001,2.3527,0.24500000000000002,1.4031000000000002,0.8695,1.658,0.4821,1.0031,1.1704,1.4292,0.0907,2.3001,1.2364000000000002,0.7593000000000001,2.3508,1.5238,1.5395,0.6515,1.2797,1.1300000000000001,1.3238,1.0387000000000002,0.6028,1.0313,2.3941,1.1909,1.3783,2.2266,1.5460000000000003,2.1957,1.0599,1.455,0.11530000000000001,1.4707000000000001,2.1146000000000003,0.3065,0.5774,1.8188,-0.0494,1.832,2.3497,1.8178999999999998,1.1692,2.0008,1.8654000000000002,0.343,1.8725000000000003,0.4292,1.5221,1.4368,1.3570000000000002,2.0981,1.103,1.4098000000000002,0.2258,0.32630000000000003,0.21230000000000004,0.9242000000000001,2.1351,1.252,0.6546000000000001,1.545,2.4359,1.4137000000000002,0.09910000000000001,0.662,1.3891,0.24460000000000004,2.1807,1.0765,0.3568,1.0917000000000001,0.7743000000000001,2.2414,0.4378,2.1796,0.9539,1.2263000000000002,1.6801,1.136,2.3466,1.5591,1.103,1.2570000000000001,1.1877000000000002,2.164,0.49570000000000003,1.658,0.5198,1.3144,1.4976000000000003,0.7143,1.0516,0.0978,1.6482,2.1533,2.2135000000000002,2.1415,1.9163000000000001,1.5897000000000001,1.2458,1.8677000000000001,0.8567,1.7155000000000002,2.1512000000000002,0.5445000000000001,1.576,1.5814000000000001,1.9201000000000001,1.7932,1.9875,0.7042,2.1085000000000003,1.8557,1.843,2.1122,1.9743,2.0838,1.7328000000000001,1.4769,2.0688,2.3225000000000002,0.15880000000000002,1.8634000000000002,1.31,1.9523000000000001,1.4241000000000001,0.2902,1.7763000000000002,1.2461000000000002,1.5118,2.2309,0.6424000000000001,0.4232,2.0509,0.19720000000000001,2.2418,0.7959,2.2298,1.8864999999999998,0.6643,2.4145000000000003,1.4313000000000002,0.9792000000000001,1.2498,0.5067,1.1904000000000001,1.7758,1.6664000000000003,0.29700000000000004,0.4565000000000001,2.2786000000000004,0.9821,1.8803999999999998,2.061,0.2198,1.2162000000000002,1.7406,0.1378,0.1044,0.9499000000000001,0.20390000000000003,0.5397000000000001,1.0388,1.8989000000000003,1.6082,1.7350000000000003,0.18600000000000003,1.8321000000000003,0.8019000000000001,0.8502000000000001,0.31880000000000003,2.4162,2.0214,0.8935000000000001,0.7367,2.1347,2.326,1.3818000000000001,0.994,0.2096,0.4845,0.2175,2.3638000000000003,1.3552,1.0178,0.08750000000000001,2.1046,0.2683,0.1509,0.2312,0.49800000000000005,1.9023,2.1448,1.2019000000000002,0.6935,1.0732,2.4222,2.1601,1.046,1.5106000000000002,0.9357,1.3374000000000001,1.7486000000000002,0.0001,1.5913000000000002,1.3398,1.6791,2.1634,0.3709,0.9591,0.9917,1.9379000000000002,0.7608,1.2121000000000002,0.25070000000000003,1.2747000000000002,0.42880000000000007,2.3371,0.8711000000000001,1.8224,1.185,1.9267,0.7294,0.7635000000000001,1.5939,2.3087,0.5569000000000001,0.8128000000000001,2.3936,1.5107,0.621,1.8996,0.26110000000000005,1.7603000000000002,1.7589,0.8151,0.8802,0.9716,1.0201,2.1419,0.40990000000000004,1.6098,1.3719000000000001,2.3480000000000003,0.8929,1.5590000000000002,0.8311000000000001,1.3937,0.23870000000000002,1.4025,1.2885,0.2555,0.9979,0.5136999999999999,0.9361000000000002,0.39740000000000003,0.1281,0.862,0.6312000000000001,1.7553999999999998,1.2711000000000001,0.6960000000000001,1.5184,2.2293,0.3469,2.3319,0.4435,1.979,1.0995,0.5888,0.2383,0.0459,0.0884,2.2377,0.7851,2.2165,2.3288,1.6031,0.9092000000000001,0.9029,1.5514000000000001,1.3294000000000001,1.0917000000000001,0.8621000000000001,1.6037,1.361,1.3277,0.5452,0.6697000000000001,0.7398,1.2445000000000002,1.5919,0.12330000000000002,0.9811000000000001,0.1521,1.7182,0.9617000000000001,0.405,2.381,1.586,0.5104000000000001,0.6341000000000001,1.9363000000000001,0.1958,0.48150000000000004,0.9375,1.4548,0.6653,0.5055,0.3047,2.0997,1.8672000000000002,0.21680000000000002,1.9649999999999999,1.1833,1.0909000000000002,1.3763,1.8358,0.33340000000000003,0.6167,0.5750000000000001,1.2102000000000002,2.1995999999999998,1.3109000000000002,1.9009,0.5614,0.1795,1.0621,1.5168,0.6135,0.16970000000000002,0.9818,0.37210000000000004,1.3101000000000003,1.6585999999999999,2.1465,0.77,1.2604,2.2049,1.9687000000000001,1.9338000000000002,0.6234000000000001,0.0946,2.1932,0.5114,0.9361000000000002,0.5063,0.0862,2.1896999999999998,0.49570000000000003,0.20779999999999998,0.6381000000000001,0.23290000000000002,0.5797,0.2647,0.15910000000000002,1.2245,1.2844,1.6597000000000002,2.4419000000000004,1.1129,1.2369,1.3273000000000001,1.4671,0.5469,1.9987,1.3801,1.979,2.2589,0.4699,1.8303000000000003,0.21030000000000004,0.21800000000000003,0.9397000000000001,1.6920000000000002,0.4039,1.4287,0.1847,1.8767,1.5318,1.4136,0.3267,0.3819,2.2102,0.5225,0.9017,0.9943,0.1343,0.0959,0.7195,1.4226,1.8988,1.0612000000000001,0.011000000000000001,0.5231,1.6952000000000003,1.0156,0.15810000000000002,0.13970000000000002,1.7762000000000002,1.3682,1.029,0.17070000000000002,0.5629,0.9455,1.8879000000000001,0.8945000000000001,1.9775,1.088,1.5278,1.645,1.4302000000000001,1.1055,0.4757,1.9054,0.6253000000000001,0.20270000000000002,1.7903,0.7812000000000001,0.6088,1.625,1.6886,0.5251,1.5066000000000002,2.0992,2.4409,0.9244,1.2841,2.3567,0.6889000000000001,0.9853000000000001,0.9608000000000001,1.3817000000000002,0.6080000000000001,1.203,0.6994,1.6666,0.15900000000000003,0.6957,0.5502,1.4368,1.9486999999999999,1.7292000000000003,2.061,1.3492000000000002,1.2589000000000001,0.38680000000000003,2.3253,1.7936,1.8175999999999999,0.5237,0.399,2.1877,1.7484000000000002,1.7109000000000003,1.7693000000000003,0.06530000000000001,0.1459,2.1296,2.0946000000000002,0.3396,2.2007000000000003,0.04000000000000001,0.9349000000000001,0.7859,0.5703,2.2681,1.0914,2.2751,2.2311,1.9684000000000001,0.6532,0.7358,1.9657,0.683,0.8435000000000001,2.3908,0.7913000000000001,2.2823,1.8032000000000001,1.9242000000000001,0.6987000000000001,2.4374000000000002,0.2751,0.12380000000000001,1.9288,0.31520000000000004,0.37660000000000005,0.3412,1.4505000000000001,1.7479,2.3245,2.0271000000000003,0.8131,1.149,2.1734000000000004,1.0833000000000002,1.8968,0.039200000000000006,2.3826,0.2848,1.3407,2.0369,1.5881,0.8055,2.0751000000000004,0.24700000000000003,0.5736,1.129,2.4050000000000002,0.10800000000000001,2.1736999999999997,0.053200000000000004,1.8006000000000002,1.5141,0.0407,2.3854,2.4202000000000004,2.1236,1.6792000000000002,0.9624000000000001,2.0857,1.5029000000000001,1.0552,1.4344000000000001,1.8936000000000002,2.3468,0.6714000000000001,2.3607,1.6348,1.7348,0.9441000000000002,1.9555,0.27740000000000004,1.2697,2.3304,2.2686,0.1339,1.5751,0.8855000000000001,2.2264,1.7631000000000001,0.5546000000000001,0.5404,2.3537,0.8901,1.0565,1.4367,1.0164,1.7736999999999998,1.02,0.9386,1.8329000000000002,0.8833000000000001,0.4201,0.8357,2.4159,2.3893,0.5675,2.1608,1.8838000000000001,1.4112,0.7187000000000001,1.7854,1.7442000000000002,0.34600000000000003,1.6451000000000002,0.042300000000000004,1.8826,2.222,0.052300000000000006,2.2824000000000004,0.2641,0.17490000000000003,1.6754000000000002,0.4199,2.2403,0.0853,0.3877,0.6189,0.7160000000000001,0.5518,2.0741,2.0256000000000003,1.5051,2.2686,0.49340000000000006,0.6245,0.7081000000000001,2.0069,2.0260000000000002,1.0139,1.1265,1.2039,1.013 + }; + std::vector box = { + 2.4413, 0., 0., 0., 2.4413, 0., 0., 0., 2.4413 + }; + + std::vector mass; + int nsteps = 100; + int natoms = coord.size() / 3; + for(int ii = 0; ii < natoms; ++ii){ + mass.push_back(15.99943); + } + + try{ + registerDMFFReferenceKernelFactories(); + testDMFFDynamics(natoms, coord, box, mass, nsteps); + } + catch(const std::exception& e) { + std::cout << "exception: "< +%include +%include + +%inline %{ +using namespace std; +%} + +namespace std { + %template(IntVector) vector; + %template(DoubleVector) vector; + %template(StringVector) vector; + %template(ConstCharVector) vector; +} + +%{ +#include "DMFFForce.h" +#include "OpenMM.h" +#include "OpenMMAmoeba.h" +#include "OpenMMDrude.h" +#include "openmm/RPMDIntegrator.h" +#include "openmm/RPMDMonteCarloBarostat.h" +#include +%} + + +/* + * Convert C++ exceptions to Python exceptions. +*/ +%exception { + try { + $action + } catch (std::exception &e) { + PyErr_SetString(PyExc_Exception, const_cast(e.what())); + return NULL; + } +} + +namespace DMFFPlugin { + +class DMFFForce : public OpenMM::Force { +public: + DMFFForce(const string& GraphFile); + + void setUnitTransformCoefficients(const double coordCoefficient, const double forceCoefficient, const double energyCoefficient); + void setHasAux(const bool hasAux); + + /* + * Add methods for casting a Force to a DMFFForce. + */ + %extend { + static DMFFPlugin::DMFFForce& cast(OpenMM::Force& force) { + return dynamic_cast(force); + } + + static bool isinstance(OpenMM::Force& force) { + return (dynamic_cast(&force) != NULL); + } + } +}; + +} diff --git a/backend/openmm_dmff_plugin/python/OpenMMDMFFPlugin/__init__.py b/backend/openmm_dmff_plugin/python/OpenMMDMFFPlugin/__init__.py new file mode 100644 index 000000000..6b282b924 --- /dev/null +++ b/backend/openmm_dmff_plugin/python/OpenMMDMFFPlugin/__init__.py @@ -0,0 +1,15 @@ +"""OpenMM is a toolkit for molecular simulation. It can be used either as a +stand-alone application for running simulations, or as a library you call +from your own code. It provides a combination of extreme flexibility +(through custom forces and integrators), openness, and high performance +(especially on recent GPUs) that make it truly unique among simulation codes. +""" +from __future__ import absolute_import +__author__ = "Ye Ding" +__mail__ = "dingye@westlake.edu.cn" +__version__ = "@GIT_HASH@" + +import os, os.path +import sys +from .tools import DMFFModel +from .OpenMMDMFFPlugin import DMFFForce diff --git a/backend/openmm_dmff_plugin/python/OpenMMDMFFPlugin/data/admp_water_dimer_aux/fingerprint.pb b/backend/openmm_dmff_plugin/python/OpenMMDMFFPlugin/data/admp_water_dimer_aux/fingerprint.pb new file mode 100644 index 000000000..ec62a12f0 --- /dev/null +++ b/backend/openmm_dmff_plugin/python/OpenMMDMFFPlugin/data/admp_water_dimer_aux/fingerprint.pb @@ -0,0 +1 @@ +жؓԬְ -(ۄ2 \ No newline at end of file diff --git a/backend/openmm_dmff_plugin/python/OpenMMDMFFPlugin/data/admp_water_dimer_aux/saved_model.pb b/backend/openmm_dmff_plugin/python/OpenMMDMFFPlugin/data/admp_water_dimer_aux/saved_model.pb new file mode 100644 index 000000000..7826cccab Binary files /dev/null and b/backend/openmm_dmff_plugin/python/OpenMMDMFFPlugin/data/admp_water_dimer_aux/saved_model.pb differ diff --git a/backend/openmm_dmff_plugin/python/OpenMMDMFFPlugin/data/admp_water_dimer_aux/variables/variables.data-00000-of-00001 b/backend/openmm_dmff_plugin/python/OpenMMDMFFPlugin/data/admp_water_dimer_aux/variables/variables.data-00000-of-00001 new file mode 100644 index 000000000..b98b2b29c Binary files /dev/null and b/backend/openmm_dmff_plugin/python/OpenMMDMFFPlugin/data/admp_water_dimer_aux/variables/variables.data-00000-of-00001 differ diff --git a/backend/openmm_dmff_plugin/python/OpenMMDMFFPlugin/data/admp_water_dimer_aux/variables/variables.index b/backend/openmm_dmff_plugin/python/OpenMMDMFFPlugin/data/admp_water_dimer_aux/variables/variables.index new file mode 100644 index 000000000..1d14dfb86 Binary files /dev/null and b/backend/openmm_dmff_plugin/python/OpenMMDMFFPlugin/data/admp_water_dimer_aux/variables/variables.index differ diff --git a/backend/openmm_dmff_plugin/python/OpenMMDMFFPlugin/tests/test_dmff_plugin_nve.py b/backend/openmm_dmff_plugin/python/OpenMMDMFFPlugin/tests/test_dmff_plugin_nve.py new file mode 100644 index 000000000..d370efc62 --- /dev/null +++ b/backend/openmm_dmff_plugin/python/OpenMMDMFFPlugin/tests/test_dmff_plugin_nve.py @@ -0,0 +1,110 @@ +import os +import numpy as np +import time +import argparse + +try: + import openmm as mm + from openmm import unit as u + from openmm.app import PDBFile, StateDataReporter, DCDReporter, Simulation +except: + import simtk.openmm as mm + from simtk import unit as u + from simtk.openmm.app import PDBFile, StateDataReporter, DCDReporter, Simulation + +from OpenMMDMFFPlugin import DMFFModel + + +def test_dmff_nve(nsteps = 1000, time_step = 0.2, pdb_file = None, model_dir = None, platform_name = "Reference", output_temp_dir = "/tmp/openmm_dmff_plugin_test_nve_output", energy_std_tol = 0.005, has_aux = False ): + if not os.path.exists(output_temp_dir): + os.mkdir(output_temp_dir) + + dmff_model_file = model_dir + + output_dcd = os.path.join(output_temp_dir, "test.nve.dcd") + output_log = os.path.join(output_temp_dir, "test.nve.log") + + # Set up the simulation parameters. + nsteps = nsteps + time_step = time_step # unit is femtosecond. + report_frequency = 1 + box = [31.289, 0, 0, 0, 31.289, 0, 0, 0, 31.289] + box = [mm.Vec3(box[0], box[1], box[2]), mm.Vec3(box[3], box[4], box[5]), mm.Vec3(box[6], box[7], box[8])] * u.angstroms + + liquid_water = PDBFile(pdb_file) + topology = liquid_water.topology + positions = liquid_water.getPositions() + num_atoms = topology.getNumAtoms() + + # Set up the dmff_system with the dmff_model. + dmff_model = DMFFModel(dmff_model_file) + dmff_model.setUnitTransformCoefficients(1, 1, 1) + if has_aux: + dmff_model.setHasAux(True) + dmff_system = dmff_model.createSystem(topology) + + integrator = mm.VerletIntegrator(time_step*u.femtoseconds) + platform = mm.Platform.getPlatformByName(platform_name) + + # Build up the simulation object. + sim = Simulation(topology, dmff_system, integrator, platform) + sim.context.setPeriodicBoxVectors(box[0], box[1], box[2]) + sim.context.setPositions(positions) + + # Add state reporters + sim.reporters.append(DCDReporter(output_dcd, report_frequency, enforcePeriodicBox=False)) + sim.reporters.append( + StateDataReporter(output_log, report_frequency, step=True, time=True, totalEnergy=True, kineticEnergy=True, potentialEnergy=True, temperature=True, progress=True, + remainingTime=True, speed=True, density=True,totalSteps=nsteps, separator='\t') + ) + + # Run dynamics + print("Running dynamics") + start_time = time.time() + sim.step(nsteps) + end_time = time.time() + cost_time = end_time - start_time + print("Running on %s platform, time cost: %.4f s"%(platform_name, cost_time)) + + # Fetch the total energy from the log file. + total_energy = [] + tot_energy_index = -5 + with open(output_log, "r") as f: + log_content = f.readlines() + for ii , line in enumerate(log_content): + if ii == 0: + continue + temp = line.split() + total_energy.append(float(temp[tot_energy_index])) + total_energy = np.array(total_energy) + + # Check the total energy fluctuations over # of atoms is smaller than energy_std_tol, unit in kJ/mol. + print("Total energy std: %.4f kJ/mol"%(np.std(total_energy))) + print("Mean total energy: %.4f kJ/mol"%(np.mean(total_energy))) + assert(np.std(total_energy) / num_atoms < energy_std_tol) + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument('-n', '--nsteps', type = int, dest='nsteps', help='Number of steps', default=100) + parser.add_argument('--dt', type = float, dest='timestep', help='Time step for simulation, unit is femtosecond', default=0.2) + parser.add_argument('--pdb', type = str, dest='pdb', help='PDB file for simulation.', default=None) + parser.add_argument('--model', type = str, dest='model', help='DMFF model dir for simulation. Saved by backend/save_dmff2tf.py.', default=None) + parser.add_argument('--platform', type = str, dest='platform', help='Platform for simulation.', default="Reference") + parser.add_argument('--has_aux', type = bool, dest='has_aux', help='Whether the model has aux output.', default=False) + + args = parser.parse_args() + + nsteps = args.nsteps + time_step = args.timestep + platform_name = args.platform + + pdb = args.pdb + model_dir = args.model + + if pdb is None: + pdb = os.path.join(os.path.dirname(__file__), "../data", "lj_fluid.pdb") + if model_dir is None: + model_dir = os.path.join(os.path.dirname(__file__), "../data", "lj_fluid_gpu") + + test_dmff_nve(nsteps=nsteps, time_step=time_step, pdb_file=pdb, model_dir=model_dir, platform_name=platform_name, has_aux=args.has_aux) + diff --git a/backend/openmm_dmff_plugin/python/OpenMMDMFFPlugin/tools.py b/backend/openmm_dmff_plugin/python/OpenMMDMFFPlugin/tools.py new file mode 100644 index 000000000..7726b3210 --- /dev/null +++ b/backend/openmm_dmff_plugin/python/OpenMMDMFFPlugin/tools.py @@ -0,0 +1,97 @@ +from __future__ import absolute_import +try: + from openmm import app, KcalPerKJ + import openmm as mm + from openmm import unit as u + from openmm.app import * + import openmm.unit as unit +except: + from simtk import unit as u + import simtk.openmm as mm + from simtk.openmm.app import * + import simtk.openmm as mm + import simtk.unit as unit + +import sys +from datetime import datetime, timedelta +import numpy as np + +try: + string_types = (unicode, str) +except NameError: + string_types = (str,) + +from .OpenMMDMFFPlugin import DMFFForce + +class ForceReporter(object): + def __init__(self, file, group_num, reportInterval): + self.group_num = group_num + if self.group_num is None: + self._out = open(file, 'w') + #self._out.write("Get the forces of all components"+"\n") + else: + self._out = open(file, 'w') + #self._out.write("Get the forces of group "+str(self.group_num) + "\n") + self._reportInterval = reportInterval + + def __del__(self): + self._out.close() + + def describeNextReport(self, simulation): + steps = self._reportInterval - simulation.currentStep%self._reportInterval + # return (steps, positions, velocities, forces, energies) + return (steps, False, False, True, False) + + def report(self, simulation, state): + if self.group_num is not None: + state = simulation.context.getState(getForces=True, groups={self.group_num}) + else: + state = simulation.context.getState(getForces=True) + forces = state.getForces().value_in_unit(u.kilojoules_per_mole/u.nanometers) + self._out.write(str(forces)+"\n") + + + +class DMFFModel(): + def __init__(self, model_file) -> None: + self.model_file = model_file + self.dmff_force = DMFFForce(model_file) + return + + def setUnitTransformCoefficients(self, coordinatesCoefficient, forceCoefficient, energyCoefficient): + """Set the unit transform coefficients for the DMFF model. + Within the OpenMM context, the units for coordinates/forces/energy are restricted to nm and kJ/(mol * nm) and kJ/mol, respectively. + + Args: + coordinatesCoefficient (float): Coefficient for input coordinates that transforms the units of the coordinates from nanometers to the units required by the DMFF model. + forceCoefficient (float): Coefficient for forces that transforms the units of the DMFF calculated forces to the units used by OpenMM (kJ/(mol * nm)). + energyCoefficient (float): Coefficient for energy that transforms the units of the DMFF calculated energy to the units used by OpenMM (kJ/mol). + """ + self.dmff_force.setUnitTransformCoefficients(coordinatesCoefficient, forceCoefficient, energyCoefficient) + return + + def setHasAux(self, has_aux = False): + """Set whether the DMFF model has auxilary output. + Used when model was saved with has_aux = True. + + Args: + has_aux (bool, optional): Defaults to False. + """ + self.dmff_force.setHasAux(has_aux) + + def createSystem(self, topology): + """Create the OpenMM System object for the DMFF model. + + Args: + topology (_type_): OpenMM Topology object + + """ + dmff_system = mm.System() + + # Add particles into force. + for atom in topology.atoms(): + dmff_system.addParticle(atom.element.mass) + + dmff_system.addForce(self.dmff_force) + + return dmff_system \ No newline at end of file diff --git a/backend/openmm_dmff_plugin/python/setup.py b/backend/openmm_dmff_plugin/python/setup.py new file mode 100644 index 000000000..df4518358 --- /dev/null +++ b/backend/openmm_dmff_plugin/python/setup.py @@ -0,0 +1,40 @@ +from distutils.core import setup +from distutils.extension import Extension +import os +import platform + +openmm_dir = '@OPENMM_DIR@' +CPPFLOW_DIR = '@CPPFLOW_DIR@' +TENSORFLOW_DIR = '@TENSORFLOW_DIR@' +DMFFPlugin_header_dir = '@DMFFPLUGIN_HEADER_DIR@' +DMFFPlugin_library_dir = '@DMFFPLUGIN_LIBRARY_DIR@' + +os.environ["CC"] = "@CMAKE_C_COMPILER@" +os.environ["CXX"] = "@CMAKE_CXX_COMPILER@" + +extra_compile_args = ["-std=c++17", "-fPIC"] +extra_link_args = [] + + +# setup extra compile and link arguments on Mac +if platform.system() == 'Darwin': + extra_compile_args += ['-stdlib=libc++', '-mmacosx-version-min=10.7'] + extra_link_args += ['-stdlib=libc++', '-mmacosx-version-min=10.7', '-Wl', '-rpath', openmm_dir+'/lib'] + +extension = Extension(name='OpenMMDMFFPlugin._OpenMMDMFFPlugin', + sources=['OpenMMDMFFPluginWrapper.cpp'], + libraries=['OpenMM', 'OpenMMDMFF'], + include_dirs=[os.path.join(openmm_dir, 'include'), os.path.join(CPPFLOW_DIR, 'include'), os.path.join(TENSORFLOW_DIR, 'include'), DMFFPlugin_header_dir], + library_dirs=[os.path.join(openmm_dir, 'lib'), os.path.join(CPPFLOW_DIR, 'lib'), os.path.join(TENSORFLOW_DIR, 'lib'), DMFFPlugin_library_dir], + extra_compile_args=extra_compile_args, + extra_link_args=extra_link_args + ) + + + +setup(name='OpenMMDMFFPlugin', + version="@GIT_HASH@", + ext_modules=[extension], + packages=['OpenMMDMFFPlugin', "OpenMMDMFFPlugin.tests"], + package_data={"OpenMMDMFFPlugin":['data/lj_fluid/*.pb', 'data/lj_fluid/variables/variables.index', 'data/lj_fluid/variables/variables.data-00000-of-00001', 'data/lj_fluid_gpu/*.pb', 'data/lj_fluid_gpu/variables/variables.index', 'data/lj_fluid_gpu/variables/variables.data-00000-of-00001', 'data/*.pdb']}, + ) diff --git a/backend/openmm_dmff_plugin/python/tests/test_dmff_plugin_nve.py b/backend/openmm_dmff_plugin/python/tests/test_dmff_plugin_nve.py new file mode 100644 index 000000000..630114c76 --- /dev/null +++ b/backend/openmm_dmff_plugin/python/tests/test_dmff_plugin_nve.py @@ -0,0 +1,110 @@ +import os +import numpy as np +import time +import argparse + +try: + import openmm as mm + from openmm import unit as u + from openmm.app import PDBFile, StateDataReporter, DCDReporter, Simulation +except: + import simtk.openmm as mm + from simtk import unit as u + from simtk.openmm.app import PDBFile, StateDataReporter, DCDReporter, Simulation + +from OpenMMDMFFPlugin import DMFFModel + + +def test_dmff_nve(nsteps = 1000, time_step = 0.2, pdb_file = None, model_dir = None, platform_name = "Reference", output_temp_dir = "/tmp/openmm_dmff_plugin_test_nve_output", energy_std_tol = 0.005, has_aux = False ): + if not os.path.exists(output_temp_dir): + os.mkdir(output_temp_dir) + + dmff_model_file = model_dir + + output_dcd = os.path.join(output_temp_dir, "test.nve.dcd") + output_log = os.path.join(output_temp_dir, "test.nve.log") + + # Set up the simulation parameters. + nsteps = nsteps + time_step = time_step # unit is femtosecond. + report_frequency = 10 + box = [24.413, 0, 0, 0, 24.413, 0, 0, 0, 24.413] + box = [mm.Vec3(box[0], box[1], box[2]), mm.Vec3(box[3], box[4], box[5]), mm.Vec3(box[6], box[7], box[8])] * u.angstroms + + liquid_water = PDBFile(pdb_file) + topology = liquid_water.topology + positions = liquid_water.getPositions() + num_atoms = topology.getNumAtoms() + + # Set up the dmff_system with the dmff_model. + dmff_model = DMFFModel(dmff_model_file) + dmff_model.setUnitTransformCoefficients(1, 1, 1) + if has_aux: + dmff_model.setHasAux() + dmff_system = dmff_model.createSystem(topology) + + integrator = mm.VerletIntegrator(time_step*u.femtoseconds) + platform = mm.Platform.getPlatformByName(platform_name) + + # Build up the simulation object. + sim = Simulation(topology, dmff_system, integrator, platform) + sim.context.setPeriodicBoxVectors(box[0], box[1], box[2]) + sim.context.setPositions(positions) + + # Add state reporters + sim.reporters.append(DCDReporter(output_dcd, report_frequency, enforcePeriodicBox=False)) + sim.reporters.append( + StateDataReporter(output_log, report_frequency, step=True, time=True, totalEnergy=True, kineticEnergy=True, potentialEnergy=True, temperature=True, progress=True, + remainingTime=True, speed=True, density=True,totalSteps=nsteps, separator='\t') + ) + + # Run dynamics + print("Running dynamics") + start_time = time.time() + sim.step(nsteps) + end_time = time.time() + cost_time = end_time - start_time + print("Running on %s platform, time cost: %.4f s"%(platform_name, cost_time)) + + # Fetch the total energy from the log file. + total_energy = [] + tot_energy_index = -5 + with open(output_log, "r") as f: + log_content = f.readlines() + for ii , line in enumerate(log_content): + if ii == 0: + continue + temp = line.split() + total_energy.append(float(temp[tot_energy_index])) + total_energy = np.array(total_energy) + + # Check the total energy fluctuations over # of atoms is smaller than energy_std_tol, unit in kJ/mol. + print("Total energy std: %.4f kJ/mol"%(np.std(total_energy))) + print("Mean total energy: %.4f kJ/mol"%(np.mean(total_energy))) + assert(np.std(total_energy) / num_atoms < energy_std_tol) + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument('-n', '--nsteps', type = int, dest='nsteps', help='Number of steps', default=100) + parser.add_argument('--dt', type = float, dest='timestep', help='Time step for simulation, unit is femtosecond', default=0.2) + parser.add_argument('--pdb', type = str, dest='pdb', help='PDB file for simulation.', default=None) + parser.add_argument('--model', type = str, dest='model', help='DMFF model dir for simulation. Saved by backend/save_dmff2tf.py.', default=None) + parser.add_argument('--platform', type = str, dest='platform', help='Platform for simulation.', default="Reference") + parser.add_argument('--has_aux', type = bool, dest='has_aux', help='Whether the model has aux output.', default=False) + + args = parser.parse_args() + + nsteps = args.nsteps + time_step = args.timestep + platform_name = args.platform + + pdb = args.pdb + model_dir = args.model + + if pdb is None: + pdb = os.path.join(os.path.dirname(__file__), "../data", "lj_fluid.pdb") + if model_dir is None: + model_dir = os.path.join(os.path.dirname(__file__), "../data", "lj_fluid_gpu") + + test_dmff_nve(nsteps=nsteps, time_step=time_step, pdb_file=pdb, model_dir=model_dir, platform_name=platform_name) + diff --git a/backend/openmm_dmff_plugin/serialization/include/DMFFForceProxy.h b/backend/openmm_dmff_plugin/serialization/include/DMFFForceProxy.h new file mode 100644 index 000000000..e22e03a07 --- /dev/null +++ b/backend/openmm_dmff_plugin/serialization/include/DMFFForceProxy.h @@ -0,0 +1,53 @@ +#ifndef OPENMM_DMFF_FORCE_PROXY_H_ +#define OPENMM_DMFF_FORCE_PROXY_H_ + +/* -------------------------------------------------------------------------- * + * OpenMM-DMF * + * -------------------------------------------------------------------------- * + * This is part of the OpenMM molecular simulation toolkit originating from * + * Simbios, the NIH National Center for Physics-Based Simulation of * + * Biological Structures at Stanford, funded under the NIH Roadmap for * + * Medical Research, grant U54 GM072970. See https://simtk.org. * + * * + * Portions copyright (c) 2014 Stanford University and the Authors. * + * Authors: Peter Eastman * + * Contributors: * + * * + * Permission is hereby granted, free of charge, to any person obtaining a * + * copy of this software and associated documentation files (the "Software"), * + * to deal in the Software without restriction, including without limitation * + * the rights to use, copy, modify, merge, publish, distribute, sublicense, * + * and/or sell copies of the Software, and to permit persons to whom the * + * Software is furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * + * THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE * + * USE OR OTHER DEALINGS IN THE SOFTWARE. * + * -------------------------------------------------------------------------- */ + +#include "internal/windowsExportDMFF.h" +#include "openmm/serialization/SerializationProxy.h" + +namespace OpenMM { + +/** + * This is a proxy for serializing DMFFForce objects. + */ + +class OPENMM_EXPORT_DMFF DMFFForceProxy : public SerializationProxy { +public: + DMFFForceProxy(); + void serialize(const void* object, SerializationNode& node) const; + void* deserialize(const SerializationNode& node) const; +}; + +} // namespace OpenMM + +#endif /*OPENMM_DMFF_FORCE_PROXY_H_*/ diff --git a/backend/openmm_dmff_plugin/serialization/src/DMFFForceProxy.cpp b/backend/openmm_dmff_plugin/serialization/src/DMFFForceProxy.cpp new file mode 100644 index 000000000..b593fc07f --- /dev/null +++ b/backend/openmm_dmff_plugin/serialization/src/DMFFForceProxy.cpp @@ -0,0 +1,57 @@ +/* -------------------------------------------------------------------------- * + * OpenMM-DMFF * + * -------------------------------------------------------------------------- * + * This is part of the OpenMM molecular simulation toolkit originating from * + * Simbios, the NIH National Center for Physics-Based Simulation of * + * Biological Structures at Stanford, funded under the NIH Roadmap for * + * Medical Research, grant U54 GM072970. See https://simtk.org. * + * * + * Portions copyright (c) 2014 Stanford University and the Authors. * + * Authors: Peter Eastman * + * Contributors: * + * * + * Permission is hereby granted, free of charge, to any person obtaining a * + * copy of this software and associated documentation files (the "Software"), * + * to deal in the Software without restriction, including without limitation * + * the rights to use, copy, modify, merge, publish, distribute, sublicense, * + * and/or sell copies of the Software, and to permit persons to whom the * + * Software is furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * + * THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE * + * USE OR OTHER DEALINGS IN THE SOFTWARE. * + * -------------------------------------------------------------------------- */ + +#include "DMFFForceProxy.h" +#include "DMFFForce.h" +#include "openmm/serialization/SerializationNode.h" +#include + +using namespace DMFFPlugin; +using namespace OpenMM; +using namespace std; + +// TODO: Serialization of DMFFForce is not implemented rigourously. +// More work is needed to make sure that the serialization is correct. +DMFFForceProxy::DMFFForceProxy() : SerializationProxy("DMFFForce") { +} + +void DMFFForceProxy::serialize(const void* object, SerializationNode& node) const { + node.setIntProperty("version", 0); + const DMFFForce& force = *reinterpret_cast(object); + node.setStringProperty("file", force.getDMFFGraphFile()); +} + +void* DMFFForceProxy::deserialize(const SerializationNode& node) const { + if (node.getIntProperty("version") != 0) + throw OpenMMException("Unsupported version number"); + DMFFForce* force = new DMFFForce(node.getStringProperty("file")); + return force; +} diff --git a/backend/openmm_dmff_plugin/serialization/src/DMFFSerializationProxyRegistration.cpp b/backend/openmm_dmff_plugin/serialization/src/DMFFSerializationProxyRegistration.cpp new file mode 100644 index 000000000..2a68a3f79 --- /dev/null +++ b/backend/openmm_dmff_plugin/serialization/src/DMFFSerializationProxyRegistration.cpp @@ -0,0 +1,62 @@ +/* -------------------------------------------------------------------------- * + * OpenMM-DMFF * + * -------------------------------------------------------------------------- * + * This is part of the OpenMM molecular simulation toolkit originating from * + * Simbios, the NIH National Center for Physics-Based Simulation of * + * Biological Structures at Stanford, funded under the NIH Roadmap for * + * Medical Research, grant U54 GM072970. See https://simtk.org. * + * * + * Portions copyright (c) 2014 Stanford University and the Authors. * + * Authors: Peter Eastman * + * Contributors: * + * * + * Permission is hereby granted, free of charge, to any person obtaining a * + * copy of this software and associated documentation files (the "Software"), * + * to deal in the Software without restriction, including without limitation * + * the rights to use, copy, modify, merge, publish, distribute, sublicense, * + * and/or sell copies of the Software, and to permit persons to whom the * + * Software is furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * + * THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE * + * USE OR OTHER DEALINGS IN THE SOFTWARE. * + * -------------------------------------------------------------------------- */ + +#ifdef WIN32 +#include +#include +#else +#include +#include +#include +#endif + +#include "DMFFForce.h" +#include "DMFFForceProxy.h" +#include "openmm/serialization/SerializationProxy.h" + +#if defined(WIN32) + #include + extern "C" OPENMM_EXPORT_DMFF void registerDMFFSerializationProxies(); + BOOL WINAPI DllMain(HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) { + if (ul_reason_for_call == DLL_PROCESS_ATTACH) + registerDMFFSerializationProxies(); + return TRUE; + } +#else + extern "C" void __attribute__((constructor)) registerDMFFSerializationProxies(); +#endif + +using namespace DMFFPlugin; +using namespace OpenMM; + +extern "C" OPENMM_EXPORT_DMFF void registerDMFFSerializationProxies() { + SerializationProxy::registerProxy(typeid(DMFFForce), new DMFFForceProxy()); +} diff --git a/backend/openmm_dmff_plugin/serialization/tests/CMakeLists.txt b/backend/openmm_dmff_plugin/serialization/tests/CMakeLists.txt new file mode 100644 index 000000000..048f048f9 --- /dev/null +++ b/backend/openmm_dmff_plugin/serialization/tests/CMakeLists.txt @@ -0,0 +1,17 @@ +# +# Testing +# + +# Automatically create tests using files named "Test*.cpp" +FILE(GLOB TEST_PROGS "*Test*.cpp") +FOREACH(TEST_PROG ${TEST_PROGS}) + GET_FILENAME_COMPONENT(TEST_ROOT ${TEST_PROG} NAME_WE) + + # Link with shared library + + ADD_EXECUTABLE(${TEST_ROOT} ${TEST_PROG}) + TARGET_LINK_LIBRARIES(${TEST_ROOT} ${SHARED_DMFF_TARGET}) + SET_TARGET_PROPERTIES(${TEST_ROOT} PROPERTIES LINK_FLAGS "${EXTRA_COMPILE_FLAGS}" COMPILE_FLAGS "${EXTRA_COMPILE_FLAGS}") + ADD_TEST(NAME ${TEST_ROOT} COMMAND ${EXECUTABLE_OUTPUT_PATH}/${TEST_ROOT} WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) + +ENDFOREACH(TEST_PROG ${TEST_PROGS}) diff --git a/backend/openmm_dmff_plugin/serialization/tests/TestSerializeDMFFForce.cpp b/backend/openmm_dmff_plugin/serialization/tests/TestSerializeDMFFForce.cpp new file mode 100644 index 000000000..fd4963e90 --- /dev/null +++ b/backend/openmm_dmff_plugin/serialization/tests/TestSerializeDMFFForce.cpp @@ -0,0 +1,75 @@ +/* -------------------------------------------------------------------------- * + * OpenMM-DMFF * + * -------------------------------------------------------------------------- * + * This is part of the OpenMM molecular simulation toolkit originating from * + * Simbios, the NIH National Center for Physics-Based Simulation of * + * Biological Structures at Stanford, funded under the NIH Roadmap for * + * Medical Research, grant U54 GM072970. See https://simtk.org. * + * * + * Portions copyright (c) 2014 Stanford University and the Authors. * + * Authors: Peter Eastman * + * Contributors: * + * * + * Permission is hereby granted, free of charge, to any person obtaining a * + * copy of this software and associated documentation files (the "Software"), * + * to deal in the Software without restriction, including without limitation * + * the rights to use, copy, modify, merge, publish, distribute, sublicense, * + * and/or sell copies of the Software, and to permit persons to whom the * + * Software is furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included in * + * all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * + * THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE * + * USE OR OTHER DEALINGS IN THE SOFTWARE. * + * -------------------------------------------------------------------------- */ + +#include "DMFFForce.h" +#include "openmm/Platform.h" +#include "openmm/internal/AssertionUtilities.h" +#include "openmm/serialization/XmlSerializer.h" +#include +#include + +using namespace DMFFPlugin; +using namespace OpenMM; +using namespace std; + +extern "C" void registerDMFFSerializationProxies(); + + +void testSerialization() { + const double TOL = 1e-5; + const string graph = "../python/OpenMMDMFFPlugin/data/lj_fluid_gpu"; + const double temperature = 300; + + // Create a Force. + DMFFForce dmff_force = DMFFForce(graph); + + stringstream buffer; + XmlSerializer::serialize(&dmff_force, "Force", buffer); + DMFFForce* copy = XmlSerializer::deserialize(buffer); + + // Compare the two forces to see if they are identical. + DMFFForce& dmff_force2 = *copy; + ASSERT_EQUAL(dmff_force2.getDMFFGraphFile(), dmff_force.getDMFFGraphFile()); + return; +} + +int main() { + try { + registerDMFFSerializationProxies(); + testSerialization(); + } + catch(const exception& e) { + cout << "exception: " << e.what() << endl; + return 1; + } + cout << "Done" << endl; + return 0; +} diff --git a/backend/openmm_dmff_plugin/tests/cppflow_empty_constructor.patch b/backend/openmm_dmff_plugin/tests/cppflow_empty_constructor.patch new file mode 100644 index 000000000..bd4430cf9 --- /dev/null +++ b/backend/openmm_dmff_plugin/tests/cppflow_empty_constructor.patch @@ -0,0 +1,75 @@ +diff --git a/include/cppflow/model.h b/include/cppflow/model.h +index 368e145..88e47e6 100644 +--- a/include/cppflow/model.h ++++ b/include/cppflow/model.h +@@ -68,6 +68,8 @@ class model { + const TYPE type = TYPE::SAVED_MODEL); + model(const model &model) = default; + model(model &&model) = default; ++ model(); ++ void init(const std::string& filename, const TYPE type = TYPE::SAVED_MODEL); + + ~model() = default; + +@@ -144,6 +146,61 @@ inline model::model(const std::string &filename, const TYPE type) { + status_check(this->status.get()); + } + ++inline model::model(){ ++} ++ ++inline void model::init(const std::string &filename, const TYPE type){ ++ this->status = {TF_NewStatus(), &TF_DeleteStatus}; ++ this->graph = {TF_NewGraph(), TF_DeleteGraph}; ++ ++ // Create the session. ++ std::unique_ptr ++ session_options = {TF_NewSessionOptions(), TF_DeleteSessionOptions}; ++ ++ auto session_deleter = [this](TF_Session* sess) { ++ TF_DeleteSession(sess, this->status.get()); ++ status_check(this->status.get()); ++ }; ++ ++ if (type == TYPE::SAVED_MODEL) { ++ std::unique_ptr run_options = { ++ TF_NewBufferFromString("", 0), TF_DeleteBuffer}; ++ std::unique_ptr meta_graph = { ++ TF_NewBuffer(), TF_DeleteBuffer}; ++ ++ int tag_len = 1; ++ const char* tag = "serve"; ++ this->session = { ++ TF_LoadSessionFromSavedModel(session_options.get(), run_options.get(), ++ filename.c_str(), &tag, tag_len, ++ this->graph.get(), meta_graph.get(), ++ this->status.get()), session_deleter}; ++ } else if (type == TYPE::FROZEN_GRAPH) { ++ this->session = {TF_NewSession(this->graph.get(), session_options.get(), ++ this->status.get()), ++ session_deleter}; ++ status_check(this->status.get()); ++ ++ // Import the graph definition ++ TF_Buffer* def = readGraph(filename); ++ if (def == nullptr) { ++ throw std::runtime_error("Failed to import graph def from file"); ++ } ++ ++ std::unique_ptr graph_opts = { ++ TF_NewImportGraphDefOptions(), TF_DeleteImportGraphDefOptions}; ++ TF_GraphImportGraphDef(this->graph.get(), def, graph_opts.get(), ++ this->status.get()); ++ TF_DeleteBuffer(def); ++ } else { ++ throw std::runtime_error("Model type unknown"); ++ } ++ ++ status_check(this->status.get()); ++ ++} ++ + inline std::vector model::get_operations() const { + std::vector result; + size_t pos = 0; diff --git a/backend/save_dmff2tf.py b/backend/save_dmff2tf.py new file mode 100644 index 000000000..2afea0fa3 --- /dev/null +++ b/backend/save_dmff2tf.py @@ -0,0 +1,123 @@ +import dmff +from dmff import NeighborList +import jax +import jax.numpy as jnp +from jax.experimental import jax2tf +# The model is saved in float32 precision by default. +#from jax import config +#config.update("jax_enable_x64", True) +import openmm.app as app +import openmm.unit as unit +import tensorflow as tf + +import os +import argparse + +gpus = tf.config.experimental.list_physical_devices('GPU') +for gpu in gpus: + tf.config.experimental.set_memory_growth(gpu, True) + +def create_dmff_potential(input_pdb_file, ff_xml_files, bond_definitions_xml = None, has_aux = False): + pdb = app.PDBFile(input_pdb_file) + h = dmff.Hamiltonian(*ff_xml_files) + if bond_definitions_xml is not None: + app.Topology.loadBondDefinitions(bond_definitions_xml) + + if has_aux:# Used when using ADMP with DMFF. + pot = h.createPotential(pdb.topology, + nonbondedMethod=app.PME, + ethresh=5e-4, step_pol=10, + nonbondedCutoff=1.2 * + unit.nanometer, + has_aux=True) + else: + pot = h.createPotential(pdb.topology, + nonbondedMethod=app.PME, + nonbondedCutoff=1.2 * + unit.nanometer) + + pot_func = pot.getPotentialFunc() + a, b, c = pdb.topology.getPeriodicBoxVectors() + a = a.value_in_unit(unit.nanometer) + b = b.value_in_unit(unit.nanometer) + c = c.value_in_unit(unit.nanometer) + + if has_aux: + engrad = jax.value_and_grad(pot_func, 0, has_aux=True) + else: + engrad = jax.value_and_grad(pot_func, 0) + + covalent_map = pot.meta["cov_map"] + aux = dict() + + if has_aux: + def potential_engrad(positions, box, U_ind, pairs): + if jnp.shape(pairs)[-1] == 2: + nbond = covalent_map[pairs[:, 0], pairs[:, 1]] + pairs = jnp.concatenate([pairs, nbond[:, None]], axis=1) + aux['U_ind'] = U_ind + ener_and_aux, ener_grad = engrad(positions, box, pairs, h.getParameters(), aux) + # Return energy, gradient (forces), and U_ind + return ener_and_aux[0], ener_grad, ener_and_aux[1]['U_ind'] + else: + def potential_engrad(positions, box, pairs): + if jnp.shape(pairs)[-1] == 2: + nbond = covalent_map[pairs[:, 0], pairs[:, 1]] + pairs = jnp.concatenate([pairs, nbond[:, None]], axis=1) + + return engrad(positions, box, pairs, h.getParameters()) + + return pdb, potential_engrad, covalent_map, pot, h + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument("--input_pdb", dest="input_pdb", help="input pdb file. Box information is required in the pdb file.") + parser.add_argument("--xml_files", dest="xml_files", nargs="+", help=".xml files with parameters are derived from DMFF.") + parser.add_argument("--output", dest="output", help="output directory") + parser.add_argument("--bond_definitions_xml", dest="bond_definitions_xml", help=".xml file that contains bond definitions. Optional", default=None) + parser.add_argument("--has_aux", dest="has_aux", default=False, help="Enable aux output in the model. Used when using ADMP with DMFF, and the output would be U_ind.") + args = parser.parse_args() + + input_pdb = args.input_pdb + ff_xml_files = args.xml_files + output_dir = args.output + has_aux = args.has_aux + bond_definitions_xml = args.bond_definitions_xml + + if output_dir[-1] == "/": + output_dir = output_dir[:-1] + if not os.path.exists(output_dir): + os.mkdir(output_dir) + + pdb, pot_grad, covalent_map, pot, h = create_dmff_potential(input_pdb, ff_xml_files, bond_definitions_xml=bond_definitions_xml, has_aux=has_aux) + + natoms = pdb.getTopology().getNumAtoms() + + if has_aux: + f_tf = jax2tf.convert( + jax.jit(pot_grad), + polymorphic_shapes=["("+str(natoms)+", 3)", "(3, 3)", "("+str(natoms)+", 3)", "(b, 2)"] + ) + else: + f_tf = jax2tf.convert( + jax.jit(pot_grad), + polymorphic_shapes=["("+str(natoms)+", 3)", "(3, 3)", "(b, 2)"] + ) + + dmff_model = tf.Module() + if has_aux: + dmff_model.f = tf.function(f_tf, autograph=False, + input_signature=[ + tf.TensorSpec(shape=[natoms,3], dtype=tf.float32), + tf.TensorSpec(shape=[3,3], dtype=tf.float32), + tf.TensorSpec(shape=[natoms,3], dtype=tf.float64), + tf.TensorSpec(shape=tf.TensorShape([None, 2]), dtype=tf.int32)]) + else: + dmff_model.f = tf.function(f_tf, autograph=False, + input_signature=[ + tf.TensorSpec(shape=[natoms,3], dtype=tf.float32), tf.TensorSpec(shape=[3,3], dtype=tf.float32), + tf.TensorSpec(shape=tf.TensorShape([None, 2]), dtype=tf.int32) + ]) + + tf.saved_model.save(dmff_model, output_dir, options=tf.saved_model.SaveOptions(experimental_custom_gradients=True)) diff --git a/dmff/__init__.py b/dmff/__init__.py index 1a443c204..ee3e066ef 100644 --- a/dmff/__init__.py +++ b/dmff/__init__.py @@ -1,4 +1,5 @@ from .settings import * from .common.nblist import NeighborList, NeighborListFreud -from .api import Hamiltonian -from .generators import * \ No newline at end of file +from .generators import * +from .api.hamiltonian import Hamiltonian +from .operators import * diff --git a/dmff/admp/disp_pme.py b/dmff/admp/disp_pme.py index 20e49590d..c0bcd3284 100755 --- a/dmff/admp/disp_pme.py +++ b/dmff/admp/disp_pme.py @@ -1,12 +1,12 @@ from functools import partial import jax.numpy as jnp -from dmff.admp.pairwise import (distribute_dispcoeff, distribute_scalar, +from .pairwise import (distribute_dispcoeff, distribute_scalar, distribute_v3) -from dmff.admp.pme import setup_ewald_parameters -from dmff.admp.recip import Ck_6, Ck_8, Ck_10, generate_pme_recip -from dmff.admp.spatial import pbc_shift -from dmff.utils import jit_condition, pair_buffer_scales, regularize_pairs +from .pme import setup_ewald_parameters +from .recip import Ck_6, Ck_8, Ck_10, generate_pme_recip +from .spatial import pbc_shift +from ..utils import jit_condition, pair_buffer_scales, regularize_pairs from jax import value_and_grad, vmap diff --git a/dmff/admp/mbpol_intra.py b/dmff/admp/mbpol_intra.py index 3a9966e13..e6155e375 100755 --- a/dmff/admp/mbpol_intra.py +++ b/dmff/admp/mbpol_intra.py @@ -2,8 +2,8 @@ import numpy as np import jax.numpy as jnp import numpy as np -from dmff.admp.spatial import v_pbc_shift -from dmff.utils import jit_condition +from .spatial import v_pbc_shift +from ..utils import jit_condition from jax import vmap #const diff --git a/dmff/admp/multipole.py b/dmff/admp/multipole.py index e863f9e72..0a9adbfb6 100644 --- a/dmff/admp/multipole.py +++ b/dmff/admp/multipole.py @@ -1,8 +1,9 @@ from functools import partial import jax.numpy as jnp -from dmff.utils import jit_condition +from ..utils import jit_condition from jax import vmap +import jax # This module deals with the transformations and rotations of multipoles diff --git a/dmff/admp/pairwise.py b/dmff/admp/pairwise.py index e1510ffb3..8fbc1b856 100755 --- a/dmff/admp/pairwise.py +++ b/dmff/admp/pairwise.py @@ -1,8 +1,8 @@ from functools import partial import jax.numpy as jnp -from dmff.admp.spatial import v_pbc_shift -from dmff.utils import jit_condition, pair_buffer_scales, regularize_pairs +from .spatial import v_pbc_shift +from ..utils import jit_condition, pair_buffer_scales, regularize_pairs from jax import vmap DIELECTRIC = 1389.35455846 diff --git a/dmff/admp/parser.py b/dmff/admp/parser.py index 44e83a0b3..5a9efc857 100644 --- a/dmff/admp/parser.py +++ b/dmff/admp/parser.py @@ -4,7 +4,7 @@ import warnings from collections import defaultdict import jax.numpy as jnp -from dmff.admp.multipole import convert_cart2harm +from .multipole import convert_cart2harm def read_atom_line(line_full): """ diff --git a/dmff/admp/pme.py b/dmff/admp/pme.py index c2530a97a..21ea5d3a1 100755 --- a/dmff/admp/pme.py +++ b/dmff/admp/pme.py @@ -7,28 +7,26 @@ from jax import grad, value_and_grad, vmap, jit from jax.scipy.special import erf, erfc -from dmff.settings import DO_JIT -from dmff.common.constants import DIELECTRIC -from dmff.utils import jit_condition, regularize_pairs, pair_buffer_scales -from dmff.admp.settings import POL_CONV, MAX_N_POL -from dmff.admp.recip import generate_pme_recip, Ck_1 -from dmff.admp.multipole import ( - C1_c2h, +from ..settings import DO_JIT +from ..common.constants import DIELECTRIC +from ..utils import jit_condition, regularize_pairs, pair_buffer_scales +from .settings import POL_CONV, MAX_N_POL +from .recip import generate_pme_recip, Ck_1 +from .multipole import ( + C1_c2h, + C1_h2c, + C2_h2c, convert_cart2harm, rot_ind_global2local, rot_global2local, - rot_local2global + rot_local2global, ) -from dmff.admp.spatial import ( - v_pbc_shift, - generate_construct_local_frames, - build_quasi_internal -) -from dmff.admp.pairwise import ( - distribute_scalar, - distribute_v3, +from .spatial import v_pbc_shift, generate_construct_local_frames, build_quasi_internal +from .pairwise import ( + distribute_scalar, + distribute_v3, distribute_multipoles, - distribute_matrix + distribute_matrix, ) @@ -36,31 +34,44 @@ class ADMPPmeForce: - ''' + """ This is a convenient wrapper for multipolar PME calculations It wrapps all the environment parameters of multipolar PME calculation The so called "environment paramters" means parameters that do not need to be differentiable - ''' - - def __init__(self, box, axis_type, axis_indices, rc, ethresh, lmax, lpol=False, lpme=True, steps_pol=None): - ''' + """ + + def __init__( + self, + box, + map_atomtype, + axis_type, + axis_indices, + rc, + ethresh, + lmax, + lpol=False, + lpme=True, + steps_pol=None, + has_aux=False, + ): + """ Initialize the ADMPPmeForce calculator. Input: - box: + box: (3, 3) float, box size in row axis_type: (na,) int, types of local axis (bisector, z-then-x etc.) - rc: + rc: float: cutoff distance - ethresh: + ethresh: float: pme energy threshold lmax: int: max L for multipoles lpol: bool: polarize or not? lpme: - bool: do pme or simple cutoff? + bool: do pme or simple cutoff? if False, the kappa will be set to zero and the reciprocal part will not be computed steps: None or int: Whether do fixed number of dipole iteration steps? @@ -69,7 +80,8 @@ def __init__(self, box, axis_type, axis_indices, rc, ethresh, lmax, lpol=False, Output: - ''' + """ + self.map_atomtype = map_atomtype self.axis_type = axis_type self.axis_indices = axis_indices self.rc = rc @@ -78,7 +90,7 @@ def __init__(self, box, axis_type, axis_indices, rc, ethresh, lmax, lpol=False, # turn off pme if lpme is False, this is useful when doing cluster calculations self.lpme = lpme if self.lpme is False: - self.kappa = 0 + self.kappa = 0.0 self.K1 = 0 self.K2 = 0 self.K3 = 0 @@ -93,85 +105,261 @@ def __init__(self, box, axis_type, axis_indices, rc, ethresh, lmax, lpol=False, self.steps_pol = steps_pol # self.n_atoms = int(covalent_map.shape[0]) # len(axis_type) self.n_atoms = len(axis_type) + self.has_aux = has_aux + + self.Q_local_to_global = self.generate_Q_global_function() # setup calculators self.refresh_calculators() return - def generate_get_energy(self): # if the force field is not polarizable if not self.lpol: + def get_energy(positions, box, pairs, Q_local, mScales): - return energy_pme(positions, box, pairs, - Q_local, None, None, None, - mScales, None, None, - self.construct_local_frames, self.pme_recip, - self.kappa, self.K1, self.K2, self.K3, self.lmax, False, lpme=self.lpme) + return energy_pme( + positions, + box, + pairs, + Q_local, + None, + None, + None, + mScales, + None, + None, + self.construct_local_frames, + self.pme_recip, + self.kappa, + self.K1, + self.K2, + self.K3, + self.lmax, + False, + lpme=self.lpme, + ) + return get_energy else: # this is the bare energy calculator, with Uind as explicit input - def energy_fn(positions, box, pairs, Q_local, Uind_global, pol, tholes, mScales, pScales, dScales): - return energy_pme(positions, box, pairs, - Q_local, Uind_global, pol, tholes, - mScales, pScales, dScales, - self.construct_local_frames, self.pme_recip, - self.kappa, self.K1, self.K2, self.K3, self.lmax, True, lpme=self.lpme) + def energy_fn( + positions, + box, + pairs, + Q_local, + Uind_global, + pol, + tholes, + mScales, + pScales, + dScales, + ): + return energy_pme( + positions, + box, + pairs, + Q_local, + Uind_global, + pol, + tholes, + mScales, + pScales, + dScales, + self.construct_local_frames, + self.pme_recip, + self.kappa, + self.K1, + self.K2, + self.K3, + self.lmax, + True, + lpme=self.lpme, + ) + self.energy_fn = energy_fn - self.grad_U_fn = grad(self.energy_fn, argnums=(4)) - self.grad_pos_fn = grad(self.energy_fn, argnums=(0)) - self.U_ind = jnp.zeros((self.n_atoms, 3)) + self.grad_U_fn = grad(energy_fn, argnums=(4)) + self.grad_pos_fn = grad(energy_fn, argnums=(0)) + self.U_ind = U_ind = jnp.zeros((self.n_atoms, 3)) + # this is the wrapper that include a Uind optimizer def get_energy( - positions, box, pairs, - Q_local, pol, tholes, mScales, pScales, dScales, - U_init=self.U_ind): - self.U_ind, self.lconverg, self.n_cycle = self.optimize_Uind( - positions, box, pairs, Q_local, pol, tholes, - mScales, pScales, dScales, - U_init=U_init, steps_pol=self.steps_pol) + positions, + box, + pairs, + Q_local, + pol, + tholes, + mScales, + pScales, + dScales, + U_init=U_ind, + aux=None, + ): + U_ind, lconverg, n_cycle = self.optimize_Uind( + positions, + box, + pairs, + Q_local, + pol, + tholes, + mScales, + pScales, + dScales, + U_init=U_init * 10.0, + steps_pol=self.steps_pol, + ) # nm to angstrom # here we rely on Feynman-Hellman theorem, drop the term dV/dU*dU/dr ! # self.U_ind = jax.lax.stop_gradient(U_ind) - return self.energy_fn(positions, box, pairs, Q_local, self.U_ind, pol, tholes, mScales, pScales, dScales) + energy = energy_fn( + positions, + box, + pairs, + Q_local, + U_ind, + pol, + tholes, + mScales, + pScales, + dScales, + ) + if aux is not None: + aux["U_ind"] = U_ind * 0.1 # Angstrom to nm + aux["lconverg"] = lconverg + aux["n_cycle"] = n_cycle + return energy, aux + else: + return energy + return get_energy + def generate_esp(self): + @jit_condition() + def esp_kernel(particle, grid, Qtot, Uind): + deltaR = particle - grid # nm to A + r2 = deltaR.dot(deltaR) + 1e-16 + r = jnp.sqrt(r2) + rr1 = 1.0 / r + rr2 = rr1 * rr1 + rr3 = rr1 * rr2 + charge = Qtot[0] + potential = charge * rr1 + + dipole = Qtot[1:4] / 10.0 + scd = dipole.dot(deltaR) + scu = Uind.dot(deltaR) + potential -= (scd + scu) * rr3 + + rr5 = 3.0 * rr3 * rr2 + quad = Qtot[4:13] / 300.0 + QXX, QYY, QZZ, QXY, QXZ, QYZ = 0, 1, 2, 3, 4, 5 + scq = deltaR[0] * ( + quad[QXX] * deltaR[0] + quad[QXY] * deltaR[1] + quad[QXZ] * deltaR[2] + ) + scq += deltaR[1] * ( + quad[QXY] * deltaR[0] + quad[QYY] * deltaR[1] + quad[QYZ] * deltaR[2] + ) + scq += deltaR[2] * ( + quad[QXZ] * deltaR[0] + quad[QYZ] * deltaR[1] + quad[QZZ] * deltaR[2] + ) + potential += scq * rr5 + return potential * DIELECTRIC * 0.1 + + esp_point_kernel = jax.vmap(esp_kernel, in_axes=(0, None, 0, 0), out_axes=0) + + @jit_condition() + def esp_point(positions, grid, Q, U): + esp = esp_point_kernel(positions, grid, Q, U) + return jnp.sum(esp) + + esp_grid = jax.vmap(esp_point, in_axes=(None, 0, None, None), out_axes=0) + + if self.lpol: + + @jit_condition() + def get_esp(positions, grids, Q_local, U_ind): + box = jnp.eye(3) * 1000.0 + Q_global = self.Q_local_to_global(positions, box, Q_local) + esp = esp_grid(positions, grids, Q_global, U_ind) + return esp.reshape((grids.shape[0],)) + + else: + + @jit_condition() + def get_esp(positions, grids, Q_local): + U_ind = jnp.zeros(positions.shape) + box = jnp.eye(3) * 1000.0 + Q_global = self.Q_local_to_global(positions, box, Q_local) + esp = esp_grid(positions, grids, Q_global, U_ind) + return esp.reshape((grids.shape[0],)) + + return get_esp + + def generate_Q_global_function(self): + @jit_condition() + def get_Q_global(positions, box, Q_local): + local_frames = self.construct_local_frames(positions, box) + Q_global_h = rot_local2global( + Q_local[self.map_atomtype], local_frames, self.lmax + ) + C = Q_global_h[:, 0].reshape((-1, 1)) + D = C1_h2c.dot(Q_global_h[:, 1:4].T).T + Q = C2_h2c.dot(Q_global_h[:, 4:9].T).T + Q_global_c = jnp.hstack((C, D, Q)) + return Q_global_c + + return get_Q_global def update_env(self, attr, val): - ''' + """ Update the environment of the calculator - ''' + """ setattr(self, attr, val) self.refresh_calculators() - def refresh_calculators(self): - ''' + """ refresh the energy and force calculators according to the current environment - ''' + """ if self.lmax > 0: - self.construct_local_frames = generate_construct_local_frames(self.axis_type, self.axis_indices) + self.construct_local_frames = generate_construct_local_frames( + self.axis_type, self.axis_indices + ) else: self.construct_local_frames = None lmax = self.lmax # for polarizable monopole force field, need to increase lmax to 1, accomodating induced dipoles if self.lmax == 0 and self.lpol is True: lmax = 1 - self.pme_recip = generate_pme_recip(Ck_1, self.kappa, False, self.pme_order, self.K1, self.K2, self.K3, lmax) + self.pme_recip = generate_pme_recip( + Ck_1, self.kappa, False, self.pme_order, self.K1, self.K2, self.K3, lmax + ) # generate the force calculator self.get_energy = self.generate_get_energy() self.get_forces = value_and_grad(self.get_energy) return - def optimize_Uind(self, - positions, box, pairs, - Q_local, pol, tholes, mScales, pScales, dScales, - U_init=None, steps_pol=None, - maxiter=MAX_N_POL, thresh=POL_CONV): - ''' + def optimize_Uind( + self, + positions, + box, + pairs, + Q_local, + pol, + tholes, + mScales, + pScales, + dScales, + U_init=None, + steps_pol=None, + maxiter=MAX_N_POL, + thresh=POL_CONV, + ): + """ This function converges the induced dipole Note that we cut all the gradient chain passing through this function as we assume Feynman-Hellman theorem Gradients related to Uind should be dropped - ''' + """ # Do not track gradient in Uind optimization positions = jax.lax.stop_gradient(positions) box = jax.lax.stop_gradient(box) @@ -186,40 +374,66 @@ def optimize_Uind(self, else: U = U_init if steps_pol is None: - site_filter = (pol>0.001) # focus on the actual polarizable sites + site_filter = pol > 0.001 # focus on the actual polarizable sites if steps_pol is None: for i in range(maxiter): - field = self.grad_U_fn(positions, box, pairs, Q_local, U, pol, tholes, mScales, pScales, dScales) + field = self.grad_U_fn( + positions, + box, + pairs, + Q_local, + U, + pol, + tholes, + mScales, + pScales, + dScales, + ) # E = self.energy_fn(positions, box, pairs, Q_local, U, pol, tholes, mScales, pScales, dScales) if jnp.max(jnp.abs(field[site_filter])) < thresh: break U = U - field * pol[:, jnp.newaxis] / DIELECTRIC - if i == maxiter-1: + if i == maxiter - 1: flag = False - else: # converged + else: # converged flag = True + n_cycles = i else: + def update_U(i, U): - field = self.grad_U_fn(positions, box, pairs, Q_local, U, pol, tholes, mScales, pScales, dScales) + field = self.grad_U_fn( + positions, + box, + pairs, + Q_local, + U, + pol, + tholes, + mScales, + pScales, + dScales, + ) U = U - field * pol[:, jnp.newaxis] / DIELECTRIC return U + U = jax.lax.fori_loop(0, steps_pol, update_U, U) flag = True - return U, flag, steps_pol + n_cycles = steps_pol + return U, flag, n_cycles def setup_ewald_parameters( rc: float, - ethresh: float, + ethresh: float, box: Optional[jnp.ndarray] = None, spacing: Optional[float] = None, - method: str = 'openmm' + method: str = "openmm", ) -> Tuple[float, int, int, int]: - ''' + """ Given the cutoff distance, and the required precision, determine the parameters used in Ewald sum, including: kappa, K1, K2, and K3. - + Parameters: ---------- @@ -242,7 +456,7 @@ def setup_ewald_parameters( float, the attenuation factor K1, K2, K3: integers, sizes of the k-points mesh - ''' + """ if method == "openmm": kappa = jnp.sqrt(-jnp.log(2 * ethresh)) / rc K1 = jnp.ceil(2 * kappa * box[0, 0] / 3 / ethresh**0.2) @@ -257,7 +471,7 @@ def setup_ewald_parameters( while erfc(kappa * rc) > ethresh: i += 1 kappa *= 2 - + n = i + 60 low = 0.0 high = kappa @@ -271,34 +485,50 @@ def setup_ewald_parameters( K1 = int(jnp.ceil(box[0, 0] / spacing)) K2 = int(jnp.ceil(box[1, 1] / spacing)) K3 = int(jnp.ceil(box[2, 2] / spacing)) - return kappa, K1, K2, K3 + return kappa, K1, K2, K3 else: raise ValueError( - f"Invalid method: {method}." - "Valid methods: 'openmm', 'gromacs'" + f"Invalid method: {method}." "Valid methods: 'openmm', 'gromacs'" ) # @jit_condition(static_argnums=()) -def energy_pme(positions, box, pairs, - Q_local, Uind_global, pol, tholes, - mScales, pScales, dScales, - construct_local_frame_fn, pme_recip_fn, kappa, K1, K2, K3, lmax, lpol, lpme=True): - ''' +def energy_pme( + positions, + box, + pairs, + Q_local, + Uind_global, + pol, + tholes, + mScales, + pScales, + dScales, + construct_local_frame_fn, + pme_recip_fn, + kappa, + K1, + K2, + K3, + lmax, + lpol, + lpme=True, +): + """ This is the top-level wrapper for multipole PME Input: positions: Na * 3: positions - box: + box: 3 * 3: box - Q_local: + Q_local: Na * (lmax+1)^2: harmonic multipoles of each site in local frame Uind_global: Na * 3: the induced dipole moment, in GLOBAL CARTESIAN! - pol: + pol: (Na,) float: the polarizability of each site, unit in A**3 - tholes: + tholes: (Na,) float: the thole damping widths for each atom, it's dimensionless, default is 8 according to MPID paper mScales, pScale, dScale: (Nexcl,): multipole-multipole interaction exclusion scalings: 1-2, 1-3 ... @@ -324,7 +554,7 @@ def energy_pme(positions, box, pairs, Output: energy: total pme energy - ''' + """ # if doing a multipolar calculation if lmax > 0: local_frames = construct_local_frame_fn(positions, box) @@ -350,11 +580,37 @@ def energy_pme(positions, box, pairs, kappa = 0 if lpol: - ene_real = pme_real(positions, box, pairs, Q_global, U_ind, pol, tholes, - mScales, pScales, dScales, kappa, lmax, True) + ene_real = pme_real( + positions, + box, + pairs, + Q_global, + U_ind, + pol, + tholes, + mScales, + pScales, + dScales, + kappa, + lmax, + True, + ) else: - ene_real = pme_real(positions, box, pairs, Q_global, None, None, None, - mScales, None, None, kappa, lmax, False) + ene_real = pme_real( + positions, + box, + pairs, + Q_global, + None, + None, + None, + mScales, + None, + None, + kappa, + lmax, + False, + ) if lpme: ene_recip = pme_recip_fn(positions, box, Q_global_tot) @@ -375,15 +631,14 @@ def energy_pme(positions, box, pairs, # @partial(vmap, in_axes=(0, 0, None, None), out_axes=0) @jit_condition(static_argnums=(3)) def calc_e_perm(dr, mscales, kappa, lmax=2): - - r''' + r""" This function calculates the ePermCoefs at once ePermCoefs is basically the interaction tensor between permanent multipole components Everything should be done in the so called quasi-internal (qi) frame Energy = \sum_ij qiQI * ePermCoeff_ij * qiQJ Inputs: - dr: + dr: float: distance between one pair of particles mscales: float: scaling factor between permanent - permanent multipole interactions, for each pair @@ -395,36 +650,36 @@ def calc_e_perm(dr, mscales, kappa, lmax=2): Output: cc, cd, dd_m0, dd_m1, cq, dq_m0, dq_m1, qq_m0, qq_m1, qq_m2: n * 1 array: ePermCoefs - ''' + """ # be aware of unit and dimension !! rInv = 1 / dr - rInvVec = jnp.array([DIELECTRIC*(rInv**i) for i in range(0, 9)]) - alphaRVec = jnp.array([(kappa*dr)**i for i in range(0, 10)]) + rInvVec = jnp.array([DIELECTRIC * jnp.power(rInv + 1e-16, i) for i in range(0, 9)]) + alphaRVec = jnp.array([jnp.power(kappa * dr + 1e-16, i) for i in range(0, 10)]) X = 2 * jnp.exp(-alphaRVec[2]) / jnp.sqrt(np.pi) tmp = jnp.array(alphaRVec[1]) doubleFactorial = 1 facCount = 1 erfAlphaR = erf(alphaRVec[1]) - + # bVec = jnp.empty((6, len(erfAlphaR))) bVec = jnp.empty(6) bVec = bVec.at[1].set(-erfAlphaR) for i in range(2, 6): - bVec = bVec.at[i].set((bVec[i-1]+(tmp*X/doubleFactorial))) + bVec = bVec.at[i].set((bVec[i - 1] + (tmp * X / doubleFactorial))) facCount += 2 doubleFactorial *= facCount - tmp *= 2 * alphaRVec[2] - + tmp *= 2 * alphaRVec[2] + # C-C: 1 - cc = rInvVec[1] * (mscales + bVec[2] - alphaRVec[1]*X) + cc = rInvVec[1] * (mscales + bVec[2] - alphaRVec[1] * X) if lmax >= 1: # C-D cd = rInvVec[2] * (mscales + bVec[2]) # D-D: 2 - dd_m0 = -2/3 * rInvVec[3] * (3*(mscales + bVec[3]) + alphaRVec[3]*X) - dd_m1 = rInvVec[3] * (mscales + bVec[3] - (2/3)*alphaRVec[3]*X) + dd_m0 = -2 / 3 * rInvVec[3] * (3 * (mscales + bVec[3]) + alphaRVec[3] * X) + dd_m1 = rInvVec[3] * (mscales + bVec[3] - (2 / 3) * alphaRVec[3] * X) else: cd = 0 dd_m0 = 0 @@ -434,12 +689,15 @@ def calc_e_perm(dr, mscales, kappa, lmax=2): ## C-Q: 1 cq = (mscales + bVec[3]) * rInvVec[3] ## D-Q: 2 - dq_m0 = rInvVec[4] * (3* (mscales + bVec[3]) + (4/3) * alphaRVec[5]*X) + dq_m0 = rInvVec[4] * (3 * (mscales + bVec[3]) + (4 / 3) * alphaRVec[5] * X) dq_m1 = -jnp.sqrt(3) * rInvVec[4] * (mscales + bVec[3]) ## Q-Q - qq_m0 = rInvVec[5] * (6* (mscales + bVec[4]) + (4/45)* (-3 + 10*alphaRVec[2]) * alphaRVec[5]*X) - qq_m1 = - (4/15) * rInvVec[5] * (15*(mscales+bVec[4]) + alphaRVec[5]*X) - qq_m2 = rInvVec[5] * (mscales + bVec[4] - (4/15)*alphaRVec[5]*X) + qq_m0 = rInvVec[5] * ( + 6 * (mscales + bVec[4]) + + (4 / 45) * (-3 + 10 * alphaRVec[2]) * alphaRVec[5] * X + ) + qq_m1 = -(4 / 15) * rInvVec[5] * (15 * (mscales + bVec[4]) + alphaRVec[5] * X) + qq_m2 = rInvVec[5] * (mscales + bVec[4] - (4 / 15) * alphaRVec[5] * X) else: cq = 0 dq_m0 = 0 @@ -454,58 +712,67 @@ def calc_e_perm(dr, mscales, kappa, lmax=2): @jit_condition(static_argnums=()) def switch_val(x, x0, sigma, y0, y1): - ''' + """ This is a Fermi function switches between y0 and y1, according to the value of x y = y0 when x << x0 y = y1 when x >> x1 sigma control sthe switch width - ''' - u = (x-x0) / sigma + """ + u = (x - x0) / sigma w0 = 1 / (jnp.exp(u) + 1) w1 = 1 - w0 - return w0*y0 + w1*y1 + return w0 * y0 + w1 * y1 def gen_trim_val_0(thresh): - ''' + """ Trim the value at zero point to avoid singularity - ''' + """ + def trim_val_0(x): - return jnp.piecewise(x, [x=thresh], [lambda x: jnp.array(thresh), lambda x: x]) + return jnp.piecewise( + x, [x < thresh, x >= thresh], [lambda x: jnp.array(thresh), lambda x: x] + ) + if DO_JIT: return jit(trim_val_0) else: return trim_val_0 + trim_val_0 = gen_trim_val_0(1e-8) def gen_trim_val_infty(thresh): - ''' + """ Trime the value at infinity to avoid divergence - ''' + """ + def trim_val_infty(x): - return jnp.piecewise(x, [x=thresh], [lambda x: x, lambda x: jnp.array(thresh)]) + return jnp.piecewise( + x, [x < thresh, x >= thresh], [lambda x: x, lambda x: jnp.array(thresh)] + ) + if DO_JIT: return jit(trim_val_infty) else: return trim_val_infty + trim_val_infty = gen_trim_val_infty(1e8) @jit_condition(static_argnums=(7)) def calc_e_ind(dr, thole1, thole2, dmp, pscales, dscales, kappa, lmax=2): - - r''' + r""" This function calculates the eUindCoefs at once ## compute the Thole damping factors for energies eUindCoefs is basically the interaction tensor between permanent multipole components and induced dipoles Everything should be done in the so called quasi-internal (qi) frame - + Inputs: - dr: + dr: float: distance between one pair of particles dmp float: damping factors between one pair of particles @@ -522,85 +789,120 @@ def calc_e_ind(dr, thole1, thole2, dmp, pscales, dscales, kappa, lmax=2): Output: Interaction tensors components - ''' + """ ## pscale == 0 ? thole1 + thole2 : DEFAULT_THOLE_WIDTH w = jnp.heaviside(pscales, 0) - a = w * DEFAULT_THOLE_WIDTH + (1-w) * (thole1+thole2) + a = w * DEFAULT_THOLE_WIDTH + (1 - w) * (thole1 + thole2) dmp = trim_val_0(dmp) - u = trim_val_infty(dr/dmp) + u = trim_val_infty(dr / dmp) ## au <= 50 aupi = au ;au> 50 aupi = 50 au = a * u - expau = jnp.piecewise(au, [au<50, au>=50], [lambda au: jnp.exp(-au), lambda au: jnp.array(0)]) + expau = jnp.piecewise( + au, [au < 50, au >= 50], [lambda au: jnp.exp(-au), lambda au: jnp.array(0)] + ) ## compute the Thole damping factors for energies - au2 = trim_val_infty(au*au) - au3 = trim_val_infty(au2*au) - au4 = trim_val_infty(au3*au) - au5 = trim_val_infty(au4*au) - au6 = trim_val_infty(au5*au) + au2 = trim_val_infty(au * au) + au3 = trim_val_infty(au2 * au) + au4 = trim_val_infty(au3 * au) + au5 = trim_val_infty(au4 * au) + au6 = trim_val_infty(au5 * au) ## Thole damping factors for energies - thole_c = 1.0 - expau*(1.0 + au + 0.5*au2) - thole_d0 = 1.0 - expau*(1.0 + au + 0.5*au2 + au3/4.0) - thole_d1 = 1.0 - expau*(1.0 + au + 0.5*au2) - thole_q0 = 1.0 - expau*(1.0 + au + 0.5*au2 + au3/6.0 + au4/18.0) - thole_q1 = 1.0 - expau*(1.0 + au + 0.5*au2 + au3/6.0) + thole_c = 1.0 - expau * (1.0 + au + 0.5 * au2) + thole_d0 = 1.0 - expau * (1.0 + au + 0.5 * au2 + au3 / 4.0) + thole_d1 = 1.0 - expau * (1.0 + au + 0.5 * au2) + thole_q0 = 1.0 - expau * (1.0 + au + 0.5 * au2 + au3 / 6.0 + au4 / 18.0) + thole_q1 = 1.0 - expau * (1.0 + au + 0.5 * au2 + au3 / 6.0) # copied from calc_e_perm # be aware of unit and dimension !! rInv = 1 / dr - rInvVec = jnp.array([DIELECTRIC*(rInv**i) for i in range(0, 9)]) - alphaRVec = jnp.array([(kappa*dr)**i for i in range(0, 10)]) + rInvVec = jnp.array([DIELECTRIC * jnp.power(rInv + 1e-16, i) for i in range(0, 9)]) + alphaRVec = jnp.array([jnp.power(kappa * dr + 1e-16, i) for i in range(0, 10)]) X = 2 * jnp.exp(-alphaRVec[2]) / jnp.sqrt(np.pi) tmp = jnp.array(alphaRVec[1]) doubleFactorial = 1 facCount = 1 erfAlphaR = erf(alphaRVec[1]) - #bVec = jnp.empty((6, len(erfAlphaR))) + # bVec = jnp.empty((6, len(erfAlphaR))) bVec = jnp.empty(6) bVec = bVec.at[1].set(-erfAlphaR) for i in range(2, 6): - bVec = bVec.at[i].set((bVec[i-1]+(tmp*X/doubleFactorial))) + bVec = bVec.at[i].set((bVec[i - 1] + (tmp * X / doubleFactorial))) facCount += 2 doubleFactorial *= facCount tmp *= 2 * alphaRVec[2] - ## C-Uind - cud = 2.0*rInvVec[2]*(pscales*thole_c + bVec[2]) + ## C-Uind + cud = 2.0 * rInvVec[2] * (pscales * thole_c + bVec[2]) if lmax >= 1: - ## D-Uind terms - dud_m0 = -2.0*2.0/3.0*rInvVec[3]*(3.0*(pscales*thole_d0 + bVec[3]) + alphaRVec[3]*X) - dud_m1 = 2.0*rInvVec[3]*(pscales*thole_d1 + bVec[3] - 2.0/3.0*alphaRVec[3]*X) + ## D-Uind terms + dud_m0 = ( + -2.0 + * 2.0 + / 3.0 + * rInvVec[3] + * (3.0 * (pscales * thole_d0 + bVec[3]) + alphaRVec[3] * X) + ) + dud_m1 = ( + 2.0 + * rInvVec[3] + * (pscales * thole_d1 + bVec[3] - 2.0 / 3.0 * alphaRVec[3] * X) + ) else: dud_m0 = 0.0 dud_m1 = 0.0 if lmax >= 2: ## Uind-Q - udq_m0 = 2.0*rInvVec[4]*(3.0*(pscales*thole_q0 + bVec[3]) + 4/3*alphaRVec[5]*X) - udq_m1 = -2.0*jnp.sqrt(3)*rInvVec[4]*(pscales*thole_q1 + bVec[3]) + udq_m0 = ( + 2.0 + * rInvVec[4] + * (3.0 * (pscales * thole_q0 + bVec[3]) + 4 / 3 * alphaRVec[5] * X) + ) + udq_m1 = -2.0 * jnp.sqrt(3) * rInvVec[4] * (pscales * thole_q1 + bVec[3]) else: udq_m0 = 0.0 udq_m1 = 0.0 ## Uind-Uind - udud_m0 = -2.0/3.0*rInvVec[3]*(3.0*(dscales*thole_d0 + bVec[3]) + alphaRVec[3]*X) - udud_m1 = rInvVec[3]*(dscales*thole_d1 + bVec[3] - 2.0/3.0*alphaRVec[3]*X) + udud_m0 = ( + -2.0 + / 3.0 + * rInvVec[3] + * (3.0 * (dscales * thole_d0 + bVec[3]) + alphaRVec[3] * X) + ) + udud_m1 = rInvVec[3] * (dscales * thole_d1 + bVec[3] - 2.0 / 3.0 * alphaRVec[3] * X) return cud, dud_m0, dud_m1, udq_m0, udq_m1, udud_m0, udud_m1 - @partial(vmap, in_axes=(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, None, None, None), out_axes=0) @jit_condition(static_argnums=(12, 13)) -def pme_real_kernel(dr, qiQI, qiQJ, qiUindI, qiUindJ, thole1, thole2, dmp, mscales, pscales, dscales, kappa, lmax=2, lpol=False): - ''' - This is the heavy-lifting kernel function to compute the realspace multipolar PME +def pme_real_kernel( + dr, + qiQI, + qiQJ, + qiUindI, + qiUindJ, + thole1, + thole2, + dmp, + mscales, + pscales, + dscales, + kappa, + lmax=2, + lpol=False, +): + """ + This is the heavy-lifting kernel function to compute the realspace multipolar PME Vectorized over interacting pairs Input: - dr: + dr: float, the interatomic distances, (np) array if vectorized qiQI: [(lmax+1)^2] float array, the harmonic multipoles of site i in quasi-internal frame @@ -630,35 +932,38 @@ def pme_real_kernel(dr, qiQI, qiQJ, qiUindI, qiUindJ, thole1, thole2, dmp, mscal bool, doing polarization? Output: - energy: + energy: float, realspace interaction energy between the sites - ''' - - cc, cd, dd_m0, dd_m1, cq, dq_m0, dq_m1, qq_m0, qq_m1, qq_m2 = calc_e_perm(dr, mscales, kappa, lmax) + """ + cc, cd, dd_m0, dd_m1, cq, dq_m0, dq_m1, qq_m0, qq_m1, qq_m2 = calc_e_perm( + dr, mscales, kappa, lmax + ) if lpol: - cud, dud_m0, dud_m1, udq_m0, udq_m1, udud_m0, udud_m1 = calc_e_ind(dr, thole1, thole2, dmp, pscales, dscales, kappa, lmax) + cud, dud_m0, dud_m1, udq_m0, udq_m1, udud_m0, udud_m1 = calc_e_ind( + dr, thole1, thole2, dmp, pscales, dscales, kappa, lmax + ) - Vij0 = cc*qiQI[0] - Vji0 = cc*qiQJ[0] + Vij0 = cc * qiQI[0] + Vji0 = cc * qiQJ[0] # C-Uind - if lpol: + if lpol: Vij0 -= cud * qiUindI[0] Vji0 += cud * qiUindJ[0] if lmax >= 1: - # C-D - Vij0 = Vij0 - cd*qiQI[1] - Vji1 = -cd*qiQJ[0] - Vij1 = cd*qiQI[0] - Vji0 = Vji0 + cd*qiQJ[1] - # D-D m0 + # C-D + Vij0 = Vij0 - cd * qiQI[1] + Vji1 = -cd * qiQJ[0] + Vij1 = cd * qiQI[0] + Vji0 = Vji0 + cd * qiQJ[1] + # D-D m0 Vij1 += dd_m0 * qiQI[1] - Vji1 += dd_m0 * qiQJ[1] - # D-D m1 - Vij2 = dd_m1*qiQI[2] - Vji2 = dd_m1*qiQJ[2] - Vij3 = dd_m1*qiQI[3] - Vji3 = dd_m1*qiQJ[3] + Vji1 += dd_m0 * qiQJ[1] + # D-D m1 + Vij2 = dd_m1 * qiQI[2] + Vji2 = dd_m1 * qiQJ[2] + Vij3 = dd_m1 * qiQI[3] + Vji3 = dd_m1 * qiQJ[3] # D-Uind if lpol: Vij1 += dud_m0 * qiUindI[0] @@ -670,46 +975,46 @@ def pme_real_kernel(dr, qiQI, qiQJ, qiUindI, qiUindJ, thole1, thole2, dmp, mscal if lmax >= 2: # C-Q - Vij0 = Vij0 + cq*qiQI[4] - Vji4 = cq*qiQJ[0] - Vij4 = cq*qiQI[0] - Vji0 = Vji0 + cq*qiQJ[4] + Vij0 = Vij0 + cq * qiQI[4] + Vji4 = cq * qiQJ[0] + Vij4 = cq * qiQI[0] + Vji0 = Vji0 + cq * qiQJ[4] # D-Q m0 - Vij1 += dq_m0*qiQI[4] - Vji4 += dq_m0*qiQJ[1] + Vij1 += dq_m0 * qiQI[4] + Vji4 += dq_m0 * qiQJ[1] # Q-D m0 - Vij4 -= dq_m0*qiQI[1] - Vji1 -= dq_m0*qiQJ[4] + Vij4 -= dq_m0 * qiQI[1] + Vji1 -= dq_m0 * qiQJ[4] # D-Q m1 - Vij2 = Vij2 + dq_m1*qiQI[5] - Vji5 = dq_m1*qiQJ[2] - Vij3 += dq_m1*qiQI[6] - Vji6 = dq_m1*qiQJ[3] - Vij5 = -(dq_m1*qiQI[2]) - Vji2 += -(dq_m1*qiQJ[5]) - Vij6 = -(dq_m1*qiQI[3]) - Vji3 += -(dq_m1*qiQJ[6]) + Vij2 = Vij2 + dq_m1 * qiQI[5] + Vji5 = dq_m1 * qiQJ[2] + Vij3 += dq_m1 * qiQI[6] + Vji6 = dq_m1 * qiQJ[3] + Vij5 = -(dq_m1 * qiQI[2]) + Vji2 += -(dq_m1 * qiQJ[5]) + Vij6 = -(dq_m1 * qiQI[3]) + Vji3 += -(dq_m1 * qiQJ[6]) # Q-Q m0 - Vij4 += qq_m0*qiQI[4] - Vji4 += qq_m0*qiQJ[4] + Vij4 += qq_m0 * qiQI[4] + Vji4 += qq_m0 * qiQJ[4] # Q-Q m1 - Vij5 += qq_m1*qiQI[5] - Vji5 += qq_m1*qiQJ[5] - Vij6 += qq_m1*qiQI[6] - Vji6 += qq_m1*qiQJ[6] + Vij5 += qq_m1 * qiQI[5] + Vji5 += qq_m1 * qiQJ[5] + Vij6 += qq_m1 * qiQI[6] + Vji6 += qq_m1 * qiQJ[6] # Q-Q m2 - Vij7 = qq_m2*qiQI[7] - Vji7 = qq_m2*qiQJ[7] - Vij8 = qq_m2*qiQI[8] - Vji8 = qq_m2*qiQJ[8] + Vij7 = qq_m2 * qiQI[7] + Vji7 = qq_m2 * qiQJ[7] + Vij8 = qq_m2 * qiQI[8] + Vji8 = qq_m2 * qiQJ[8] # Q-Uind if lpol: - Vji4 += udq_m0*qiUindJ[0] - Vij4 -= udq_m0*qiUindI[0] - Vji5 += udq_m1*qiUindJ[1] - Vji6 += udq_m1*qiUindJ[2] - Vij5 -= udq_m1*qiUindI[1] - Vij6 -= udq_m1*qiUindI[2] + Vji4 += udq_m0 * qiUindJ[0] + Vij4 -= udq_m0 * qiUindI[0] + Vji5 += udq_m1 * qiUindJ[1] + Vji6 += udq_m1 * qiUindJ[2] + Vij5 -= udq_m1 * qiUindI[1] + Vij6 -= udq_m1 * qiUindI[2] # Uind - Uind if lpol: @@ -719,8 +1024,8 @@ def pme_real_kernel(dr, qiQI, qiQJ, qiUindI, qiUindJ, thole1, thole2, dmp, mscal Vji2dd = udud_m1 * qiUindJ[1] Vij3dd = udud_m1 * qiUindI[2] Vji3dd = udud_m1 * qiUindJ[2] - Vijdd = jnp.stack(( Vij1dd, Vij2dd, Vij3dd)) - Vjidd = jnp.stack(( Vji1dd, Vji2dd, Vji3dd)) + Vijdd = jnp.stack((Vij1dd, Vij2dd, Vij3dd)) + Vjidd = jnp.stack((Vji1dd, Vji2dd, Vji3dd)) if lmax == 0: Vij = Vij0 @@ -735,17 +1040,31 @@ def pme_real_kernel(dr, qiQI, qiQJ, qiUindI, qiUindJ, thole1, thole2, dmp, mscal raise ValueError(f"Invalid lmax {lmax}. Valid values are 0, 1, 2") if lpol: - return jnp.array(0.5) * (jnp.sum(qiQJ*Vij) + jnp.sum(qiQI*Vji)) + jnp.array(0.5) * (jnp.sum(qiUindJ*Vijdd) + jnp.sum(qiUindI*Vjidd)) + # return jnp.array(0.5) * (jnp.sum(qiQJ*Vij) + jnp.sum(qiQI*Vji)) + jnp.array(0.5) * (jnp.sum(qiUindJ*Vijdd) + jnp.sum(qiUindI*Vjidd)) + return jnp.array(0.5) * (jnp.sum(qiQJ * Vij) + jnp.sum(qiQI * Vji)) + jnp.array( + 0.5 + ) * (jnp.sum(qiUindJ * Vijdd) + jnp.sum(qiUindI * Vjidd)) else: - return jnp.array(0.5) * (jnp.sum(qiQJ*Vij) + jnp.sum(qiQI*Vji)) + return jnp.array(0.5) * (jnp.sum(qiQJ * Vij) + jnp.sum(qiQI * Vji)) # @jit_condition(static_argnums=(7)) -def pme_real(positions, box, pairs, - Q_global, Uind_global, pol, tholes, - mScales, pScales, dScales, - kappa, lmax, lpol): - ''' +def pme_real( + positions, + box, + pairs, + Q_global, + Uind_global, + pol, + tholes, + mScales, + pScales, + dScales, + kappa, + lmax, + lpol, +): + """ This is the real space PME calculate function NOTE: only deals with permanent-permanent multipole interactions It expands the pairwise parameters, and then invoke pme_real_kernel @@ -781,7 +1100,7 @@ def pme_real(positions, box, pairs, Output: ene: pme realspace energy - ''' + """ pairs = pairs.at[:, :2].set(regularize_pairs(pairs[:, :2])) buffer_scales = pair_buffer_scales(pairs[:, :2]) box_inv = jnp.linalg.inv(box) @@ -790,8 +1109,8 @@ def pme_real(positions, box, pairs, Q_extendi = distribute_multipoles(Q_global, pairs[:, 0]) Q_extendj = distribute_multipoles(Q_global, pairs[:, 1]) nbonds = pairs[:, 2] - #nbonds = covalent_map[pairs[:, 0], pairs[:, 1]] - indices = nbonds-1 + # nbonds = covalent_map[pairs[:, 0], pairs[:, 1]] + indices = nbonds - 1 mscales = distribute_scalar(mScales, indices) mscales = mscales * buffer_scales if lpol: @@ -818,7 +1137,7 @@ def pme_real(positions, box, pairs, # deals with geometries dr = r1 - r2 dr = v_pbc_shift(dr, box, box_inv) - norm_dr = jnp.linalg.norm(dr, axis=-1) + norm_dr = jnp.linalg.norm(dr + 1e-64, axis=-1) # add eta to avoid division by zero Ri = build_quasi_internal(r1, r2, dr, norm_dr) qiQI = rot_global2local(Q_extendi, Ri, lmax) qiQJ = rot_global2local(Q_extendj, Ri, lmax) @@ -830,24 +1149,26 @@ def pme_real(positions, box, pairs, qiUindJ = None # everything should be pair-specific now - ene = jnp.sum( + elist = ( pme_real_kernel( - norm_dr, - qiQI, - qiQJ, - qiUindI, - qiUindJ, - thole1, - thole2, - dmp, - mscales, - pscales, - dscales, - kappa, - lmax, - lpol - ) * buffer_scales + norm_dr, + qiQI, + qiQJ, + qiUindI, + qiUindJ, + thole1, + thole2, + dmp, + mscales, + pscales, + dscales, + kappa, + lmax, + lpol, + ) + * buffer_scales ) + ene = jnp.sum(elist) return ene @@ -855,12 +1176,13 @@ def pme_real(positions, box, pairs, @partial(vmap, in_axes=(0, 0), out_axes=(0)) @jit_condition(static_argnums=()) def get_pair_dmp(pol1, pol2): - return (pol1*pol2) ** (1/6) + p12 = pol1 * pol2 + return jnp.power(p12 + 1e-50, 1 / 6) @jit_condition(static_argnums=(2)) def pme_self(Q_h, kappa, lmax=2): - ''' + """ This function calculates the PME self energy Inputs: @@ -872,17 +1194,37 @@ def pme_self(Q_h, kappa, lmax=2): Output: ene_self: float: the self energy - ''' - n_harms = (lmax + 1) ** 2 - l_list = np.array([0] + [1,]*3 + [2,]*5)[:n_harms] - l_fac2 = np.array([1] + [3,]*3 + [15,]*5)[:n_harms] - factor = kappa/np.sqrt(np.pi) * (2*kappa**2)**l_list / l_fac2 - return - jnp.sum(factor[np.newaxis] * Q_h**2) * DIELECTRIC + """ + n_harms = (lmax + 1) ** 2 + l_list = np.array( + [0] + + [ + 1, + ] + * 3 + + [ + 2, + ] + * 5 + )[:n_harms] + l_fac2 = np.array( + [1] + + [ + 3, + ] + * 3 + + [ + 15, + ] + * 5 + )[:n_harms] + factor = kappa / np.sqrt(np.pi) * (2 * kappa**2) ** l_list / l_fac2 + return -jnp.sum(factor[np.newaxis] * Q_h**2) * DIELECTRIC @jit_condition(static_argnums=()) def pol_penalty(U_ind, pol): - ''' + """ The energy penalty for polarization of each site, currently only supports isotropic polarization: Inputs: @@ -890,8 +1232,9 @@ def pol_penalty(U_ind, pol): Na * 3 float: induced dipoles, in isotropic polarization case, cartesian or harmonic does not matter pol: (Na,) float: polarizability - ''' + """ # this is to remove the singularity when pol=0 pol_pi = trim_val_0(pol) + Uind_norm = jnp.linalg.norm(U_ind + 1e-16, axis=1) # pol_pi = pol/(jnp.exp((-pol+1e-08)*1e10)+1) + 1e-08/(jnp.exp((pol-1e-08)*1e10)+1) - return jnp.sum(0.5/pol_pi*(U_ind**2).T) * DIELECTRIC + return jnp.sum(0.5 / pol_pi * jnp.power(U_ind + 1e-16, 2).sum(axis=1)) * DIELECTRIC diff --git a/dmff/admp/qeq.py b/dmff/admp/qeq.py new file mode 100644 index 000000000..b263d2b5f --- /dev/null +++ b/dmff/admp/qeq.py @@ -0,0 +1,405 @@ +import numpy as np +import jax.numpy as jnp +from ..common.constants import DIELECTRIC +from jax import grad, vmap +from ..classical.inter import CoulNoCutoffForce, CoulombPMEForce +from typing import Tuple, List +from ..settings import PRECISION +from .pme import energy_pme +from .recip import generate_pme_recip, Ck_1 + +if PRECISION == "double": + CONST_0 = jnp.array(0, dtype=jnp.float64) + CONST_1 = jnp.array(1, dtype=jnp.float64) +else: + CONST_0 = jnp.array(0, dtype=jnp.float32) + CONST_1 = jnp.array(1, dtype=jnp.float32) + +try: + import jaxopt + + try: + from jaxopt import Broyden + + JAXOPT_OLD = False + except ImportError: + JAXOPT_OLD = True + import warnings + warnings.warn( + "jaxopt is too old. The QEQ potential function cannot be jitted. Please update jaxopt to the latest version for speed concern." + ) +except ImportError: + import warnings + warnings.warn("jaxopt not found, QEQ cannot be used.") +import jax + +from jax.scipy.special import erf, erfc + +from dmff.utils import jit_condition, regularize_pairs, pair_buffer_scales + + +@jit_condition() +def mask_index(idx, max_idx): + return jnp.piecewise( + idx, [idx < max_idx, idx >= max_idx], [lambda x: CONST_1, lambda x: CONST_0] + ) + + +mask_index = jax.vmap(mask_index, in_axes=(0, None)) + + +@jit_condition() +def group_sum(val_list, indices): + max_idx = val_list.shape[0] + mask = mask_index(indices, max_idx) + return jnp.sum(val_list[indices] * mask) + + +group_sum = jax.vmap(group_sum, in_axes=(None, 0)) + + +def padding_consts(const_list, max_idx): + max_length = max([len(i) for i in const_list]) + new_const_list = np.zeros((len(const_list), max_length)) + max_idx + for ncl, cl in enumerate(const_list): + for nitem, item in enumerate(cl): + new_const_list[ncl, nitem] = item + return jnp.array(new_const_list, dtype=int) + + +@jit_condition() +def E_constQ(q, lagmt, const_list, const_vals): + constraint = (group_sum(q, const_list) - const_vals) * lagmt + return jnp.sum(constraint) + + +@jit_condition() +def E_constP(q, lagmt, const_list, const_vals): + constraint = group_sum(q, const_list) * const_vals + return jnp.sum(constraint) + + +@vmap +@jit_condition() +def mask_to_zero(v, mask): + return jnp.piecewise( + v, [mask < 1e-4, mask >= 1e-4], [lambda x: CONST_0, lambda x: v] + ) + + +@jit_condition() +def E_sr(pos, box, pairs, q, eta, ds, buffer_scales): + return 0.0 + + +@jit_condition() +def E_sr2(pos, box, pairs, q, eta, ds, buffer_scales): + etasqrt = jnp.sqrt(2 * (eta[pairs[:, 0]] ** 2 + eta[pairs[:, 1]] ** 2)) + pre_pair = -eta_piecewise(etasqrt, ds) * DIELECTRIC + pre_self = etainv_piecewise(eta) / (jnp.sqrt(2 * jnp.pi)) * DIELECTRIC + e_sr_pair = pre_pair * q[pairs[:, 0]] * q[pairs[:, 1]] / ds * buffer_scales + e_sr_pair = mask_to_zero(e_sr_pair, buffer_scales) + e_sr_self = pre_self * q * q + e_sr = jnp.sum(e_sr_pair) + jnp.sum(e_sr_self) + return e_sr + + +@jit_condition() +def E_sr3(pos, box, pairs, q, eta, ds, buffer_scales): + etasqrt = jnp.sqrt( + eta[pairs[:, 0]] ** 2 + eta[pairs[:, 1]] ** 2 + 1e-64 + ) # add eta to avoid division by zero + epiece = eta_piecewise(etasqrt, ds) + pre_pair = -epiece * DIELECTRIC + pre_self = etainv_piecewise(eta) / (jnp.sqrt(2 * jnp.pi)) * DIELECTRIC + e_sr_pair = pre_pair * q[pairs[:, 0]] * q[pairs[:, 1]] / ds + e_sr_pair = mask_to_zero(e_sr_pair, buffer_scales) + e_sr_self = pre_self * q * q + e_sr = jnp.sum(e_sr_pair) + jnp.sum(e_sr_self) + return e_sr + + +@jit_condition() +def E_site(chi, J, q): + return 0.0 + + +@jit_condition() +def E_site2(chi, J, q): + ene = (chi * q + 0.5 * J * q**2) * 96.4869 + return jnp.sum(ene) + + +@jit_condition() +def E_site3(chi, J, q): + ene = chi * q * 4.184 + J * q**2 * DIELECTRIC * 2 * jnp.pi + return jnp.sum(ene) + + +@jit_condition(static_argnums=[5]) +def E_corr(pos, box, pairs, q, kappa, neutral_flag=True): + # def E_corr(): + V = jnp.linalg.det(box) + pre_corr = 2 * jnp.pi / V * DIELECTRIC + Mz = jnp.sum(q * pos[:, 2]) + Q_tot = jnp.sum(q) + Lz = jnp.linalg.norm(box[3]) + e_corr = pre_corr * ( + Mz**2 + - Q_tot * (jnp.sum(q * pos[:, 2] ** 2)) + - jnp.power(Q_tot, 2) * jnp.power(Lz, 2) / 12 + ) + if neutral_flag: + # kappa = pme_potential.pme_force.kappa + pre_corr_non = -jnp.pi / (2 * V * kappa**2) * DIELECTRIC + e_corr_non = pre_corr_non * Q_tot**2 + e_corr += e_corr_non + return jnp.sum(e_corr) + + +@jit_condition(static_argnums=[3]) +def ds_pairs(positions, box, pairs, pbc_flag): + pos1 = positions[pairs[:, 0]] + pos2 = positions[pairs[:, 1]] + if pbc_flag is False: + dr = pos1 - pos2 + else: + box_inv = jnp.linalg.inv(box) + dpos = pos1 - pos2 + dpos = dpos.dot(box_inv) + dpos -= jnp.floor(dpos + 0.5) + dr = dpos.dot(box) + ds = jnp.linalg.norm(dr + 1e-64, axis=1) # add eta to avoid division by zero + return ds + + +@jit_condition() +def eta_piecewise(eta, ds): + return jnp.piecewise( + eta, + (eta > 1e-4, eta <= 1e-4), + (lambda x: erfc(ds / x), lambda x: x - x), + ) + + +eta_piecewise = jax.vmap(eta_piecewise, in_axes=(0, 0)) + + +@jit_condition() +def etainv_piecewise(eta): + return jnp.piecewise( + eta, + (eta > 1e-4, eta <= 1e-4), + (lambda x: 1 / x, lambda x: x - x), + ) + + +etainv_piecewise = jax.vmap(etainv_piecewise, in_axes=0) + + +class ADMPQeqForce: + def __init__( + self, + init_q, + r_cut: float, + kappa: float, + K: Tuple[int, int, int], + damp_mod: int = 3, + const_list: List = [], + const_vals: List = [], + neutral_flag: bool = True, + slab_flag: bool = False, + constQ: bool = True, + pbc_flag: bool = True, + has_aux=False, + ): + self.has_aux = has_aux + const_vals = np.array(const_vals) + if neutral_flag: + const_vals = const_vals - np.sum(const_vals) / len(const_vals) + self.const_vals = jnp.array(const_vals) + assert len(const_list) == len( + const_vals + ), "const_list and const_vals must have the same length" + n_atoms = len(init_q) + self.const_list = padding_consts(const_list, n_atoms) + self.init_q = jnp.array(init_q) + self.init_lagmt = jnp.ones((len(const_list),)) + + self.damp_mod = damp_mod + self.neutral_flag = neutral_flag + self.slab_flag = slab_flag + self.constQ = constQ + self.pbc_flag = pbc_flag + + if constQ: + e_constraint = E_constQ + else: + e_constraint = E_constP + self.e_constraint = e_constraint + + if damp_mod == 1: + self.e_sr = E_sr + self.e_site = E_site + elif damp_mod == 2: + self.e_sr = E_sr2 + self.e_site = E_site2 + elif damp_mod == 3: + self.e_sr = E_sr3 + self.e_site = E_site3 + else: + raise ValueError("damp_mod must be 1, 2 or 3") + + if pbc_flag: + pme_recip_fn = generate_pme_recip( + Ck_fn=Ck_1, + kappa=kappa / 10, + gamma=False, + pme_order=6, + K1=K[0], + K2=K[1], + K3=K[2], + lmax=0, + ) + + def coul_energy(positions, box, pairs, q, mscales): + atomCharges = q + atomChargesT = jnp.reshape(atomCharges, (-1, 1)) + return energy_pme( + positions * 10, + box * 10, + pairs, + atomChargesT, + None, + None, + None, + mscales, + None, + None, + None, + pme_recip_fn, + kappa / 10, + K[0], + K[1], + K[2], + 0, + False, + ) + + self.kappa = kappa + + else: + + def get_coul_energy(dr_vec, chrgprod, box): + dr_norm = jnp.linalg.norm(dr_vec + 1e-64, axis=1) # add eta to avoid division by zero + + dr_inv = 1.0 / dr_norm + E = chrgprod * DIELECTRIC * 0.1 * dr_inv + + return E + + def coul_energy(positions, box, pairs, q, mscales): + pairs = pairs.at[:, :2].set(regularize_pairs(pairs[:, :2])) + mask = pair_buffer_scales(pairs[:, :2]) + cov_pair = pairs[:, 2] + mscale_pair = mscales[cov_pair - 1] + + charge0 = q[pairs[:, 0]] + charge1 = q[pairs[:, 1]] + chrgprod = charge0 * charge1 + chrgprod_scale = chrgprod * mscale_pair + dr_vec = positions[pairs[:, 0]] - positions[pairs[:, 1]] + + E_inter = get_coul_energy(dr_vec, chrgprod_scale, box) + + return jnp.sum(E_inter * mask) + + self.kappa = 0.0 + + self.coul_energy = coul_energy + + def generate_get_energy(self): + @jit_condition() + def E_full(q, lagmt, chi, J, pos, box, pairs, eta, ds, buffer_scales, mscales): + e1 = self.e_constraint(q, lagmt, self.const_list, self.const_vals) + e2 = self.e_sr(pos * 10, box * 10, pairs, q, eta, ds * 10, buffer_scales) + e3 = self.e_site(chi, J, q) + e4 = self.coul_energy(pos, box, pairs, q, mscales) + if self.slab_flag: + e5 = E_corr( + pos * 10.0, box * 10.0, pairs, q, self.kappa / 10, self.neutral_flag + ) + return e1 + e2 + e3 + e4 + e5 + else: + return e1 + e2 + e3 + e4 + + grad_E_full = grad(E_full, argnums=(0, 1)) + + @jit_condition() + def E_grads( + b_value, chi, J, positions, box, pairs, eta, ds, buffer_scales, mscales + ): + n_const = len(self.const_vals) + q = b_value[:-n_const] + lagmt = b_value[-n_const:] + + g1, g2 = grad_E_full( + q, lagmt, chi, J, positions, box, pairs, eta, ds, buffer_scales, mscales + ) + g = jnp.concatenate((g1, g2)) + return g + + def get_energy(positions, box, pairs, mscales, eta, chi, J, aux=None): + pos = positions + ds = ds_pairs(pos, box, pairs, self.pbc_flag) + buffer_scales = pair_buffer_scales(pairs) + + n_const = len(self.init_lagmt) + if self.has_aux: + b_value = jnp.concatenate((aux["q"], aux["lagmt"])) + else: + b_value = jnp.concatenate([self.init_q, self.init_lagmt]) + # if JAXOPT_OLD: + if True: + rf = jaxopt.ScipyRootFinding( + optimality_fun=E_grads, method="hybr", jit=False, tol=1e-10 + ) + else: + rf = jaxopt.Broyden(fun=E_grads, tol=1e-10) + b_0, _ = rf.run( + b_value, + chi, + J, + positions, + box, + pairs, + eta, + ds, + buffer_scales, + mscales, + ) + b_0 = jax.lax.stop_gradient(b_0) + q_0 = b_0[:-n_const] + lagmt_0 = b_0[-n_const:] + + energy = E_full( + q_0, + lagmt_0, + chi, + J, + positions, + box, + pairs, + eta, + ds, + buffer_scales, + mscales, + ) + if self.has_aux: + aux["q"] = q_0 + aux["lagmt"] = lagmt_0 + return energy, aux + else: + return energy + + return get_energy diff --git a/dmff/admp/recip.py b/dmff/admp/recip.py index 3987f23d8..fc907812c 100755 --- a/dmff/admp/recip.py +++ b/dmff/admp/recip.py @@ -2,8 +2,8 @@ import jax.numpy as jnp import jax.scipy as jsp from jax import jit -from dmff.settings import DO_JIT -from dmff.common.constants import DIELECTRIC, SQRT_PI as sqrt_pi +from ..settings import DO_JIT +from ..common.constants import DIELECTRIC, SQRT_PI as sqrt_pi def generate_pme_recip(Ck_fn, kappa, gamma, pme_order, K1, K2, K3, lmax): @@ -15,6 +15,11 @@ def generate_pme_recip(Ck_fn, kappa, gamma, pme_order, K1, K2, K3, lmax): bspline_range = jnp.arange(-pme_order//2, pme_order//2) n_mesh = pme_order**3 shifts = jnp.array(jnp.meshgrid(bspline_range, bspline_range, bspline_range)).T.reshape((1, n_mesh, 3)) + + if K1 == K2 == K3 == 0: + def pme_recip_empty(positions, box, Q): + return jnp.zeros((1, )) + return pme_recip_empty def pme_recip(positions, box, Q): ''' @@ -64,84 +69,112 @@ def u_reference(R_a, Nj_Aji_star): m_u0 = jnp.ceil(R_in_m_basis).astype(int) u0 = (m_u0 - R_in_m_basis) + pme_order/2 return m_u0, u0 - + + def bspline(u, order=pme_order): """ Computes the cardinal B-spline function """ if order == 6: - return jnp.piecewise( - u, - [ - jnp.logical_and(u >= 0., u < 1.), - jnp.logical_and(u >= 1., u < 2.), - jnp.logical_and(u >= 2., u < 3.), - jnp.logical_and(u >= 3., u < 4.), - jnp.logical_and(u >= 4., u < 5.), - jnp.logical_and(u >= 5., u < 6.) - ], - [ - lambda u: u ** 5 / 120, - lambda u: u ** 5 / 120 - (u - 1) ** 5 / 20, - lambda u: u ** 5 / 120 + (u - 2) ** 5 / 8 - (u - 1) ** 5 / 20, - lambda u: u ** 5 / 120 - (u - 3) ** 5 / 6 + (u - 2) ** 5 / 8 - (u - 1) ** 5 / 20, - lambda u: u ** 5 / 24 - u ** 4 + 19 * u ** 3 / 2 - 89 * u ** 2 / 2 + 409 * u / 4 - 1829 / 20, - lambda u: -u ** 5 / 120 + u ** 4 / 4 - 3 * u ** 3 + 18 * u ** 2 - 54 * u + 324 / 5 - ] - ) - - - def bspline_prime(u, order=pme_order): + u2 = u ** 2 + u3 = u ** 3 + u4 = u ** 4 + u5 = u ** 5 + u_less_1 = u - 1 + u_less_1_p5 = u_less_1 ** 5 + u_less_2 = u - 2 + u_less_2_p5 = u_less_2 ** 5 + u_less_3 = u - 3 + u_less_3_p5 = u_less_3 ** 5 + conditions = [ + jnp.logical_and(u >= 0., u < 1.), + jnp.logical_and(u >= 1., u < 2.), + jnp.logical_and(u >= 2., u < 3.), + jnp.logical_and(u >= 3., u < 4.), + jnp.logical_and(u >= 4., u < 5.), + jnp.logical_and(u >= 5., u < 6.) + ] + outputs = [ + u5 / 120, + u5 / 120 - u_less_1_p5 / 20, + u5 / 120 + u_less_2_p5 / 8 - u_less_1_p5 / 20, + u5 / 120 - u_less_3_p5 / 6 + u_less_2_p5 / 8 - u_less_1_p5 / 20, + u5 / 24 - u4 + 19 * u3 / 2 - 89 * u2 / 2 + 409 * u / 4 - 1829 / 20, + -u5 / 120 + u4 / 4 - 3 * u3 + 18 * u2 - 54 * u + 324 / 5 + ] + return jnp.sum(jnp.stack([condition * output for condition, output in zip(conditions, outputs)]), + axis=0) + + def bspline_prime(u, order=6): """ Computes first derivative of the cardinal B-spline function """ if order == 6: - return jnp.piecewise( - u, - [ - jnp.logical_and(u >= 0., u < 1.), - jnp.logical_and(u >= 1., u < 2.), - jnp.logical_and(u >= 2., u < 3.), - jnp.logical_and(u >= 3., u < 4.), - jnp.logical_and(u >= 4., u < 5.), - jnp.logical_and(u >= 5., u < 6.) - ], - [ - lambda u: u ** 4 / 24, - lambda u: u ** 4 / 24 - (u - 1) ** 4 / 4, - lambda u: u ** 4 / 24 + 5 * (u - 2) ** 4 / 8 - (u - 1) ** 4 / 4, - lambda u: -5 * u ** 4 / 12 + 6 * u ** 3 - 63 * u ** 2 / 2 + 71 * u - 231 / 4, - lambda u: 5 * u ** 4 / 24 - 4 * u ** 3 + 57 * u ** 2 / 2 - 89 * u + 409 / 4, - lambda u: -u ** 4 / 24 + u ** 3 - 9 * u ** 2 + 36 * u - 54 - ] - ) + u2 = u ** 2 + u3 = u ** 3 + u4 = u ** 4 + # u5 = u ** 5 + + u_less_1 = u - 1 + u_less_1_p4 = u_less_1 ** 4 + + u_less_2 = u - 2 + u_less_2_p4 = u_less_2 ** 4 + # u_less_3 = u - 3 - def bspline_prime2(u, order=pme_order): + conditions = [ + jnp.logical_and(u >= 0., u < 1.), + jnp.logical_and(u >= 1., u < 2.), + jnp.logical_and(u >= 2., u < 3.), + jnp.logical_and(u >= 3., u < 4.), + jnp.logical_and(u >= 4., u < 5.), + jnp.logical_and(u >= 5., u < 6.) + ] + + outputs = [ + u4 / 24, + u4 / 24 - u_less_1_p4 / 4, + u4 / 24 + 5 * u_less_2_p4 / 8 - u_less_1_p4 / 4, + -5 * u4 / 12 + 6 * u3 - 63 * u2 / 2 + 71 * u - 231 / 4, + 5 * u4 / 24 - 4 * u3 + 57 * u2 / 2 - 89 * u + 409 / 4, + -u4 / 24 + u3 - 9 * u2 + 36 * u - 54 + ] + + return jnp.sum(jnp.stack([condition * output for condition, output in zip(conditions, outputs)]), + axis=0) + + def bspline_prime2(u, order=6): """ - Computes second derivate of the cardinal B-spline function + Computes second derivative of the cardinal B-spline function """ if order == 6: - return jnp.piecewise( - u, - [ - jnp.logical_and(u >= 0., u < 1.), - jnp.logical_and(u >= 1., u < 2.), - jnp.logical_and(u >= 2., u < 3.), - jnp.logical_and(u >= 3., u < 4.), - jnp.logical_and(u >= 4., u < 5.), - jnp.logical_and(u >= 5., u < 6.) - ], - [ - lambda u: u ** 3 / 6, - lambda u: u ** 3 / 6 - (u - 1) ** 3, - lambda u: 5 * u ** 3 / 3 - 12 * u ** 2 + 27 * u - 19, - lambda u: -5 * u ** 3 / 3 + 18 * u ** 2 - 63 * u + 71, - lambda u: 5 * u ** 3 / 6 - 12 * u ** 2 + 57 * u - 89, - lambda u: -u ** 3 / 6 + 3 * u ** 2 - 18 * u + 36 - ] - ) - + + u2 = u ** 2 + u3 = u ** 3 + u_less_1 = u - 1 + # u_less_2 = u - 2 + + conditions = [ + jnp.logical_and(u >= 0., u < 1.), + jnp.logical_and(u >= 1., u < 2.), + jnp.logical_and(u >= 2., u < 3.), + jnp.logical_and(u >= 3., u < 4.), + jnp.logical_and(u >= 4., u < 5.), + jnp.logical_and(u >= 5., u < 6.) + ] + + outputs = [ + u3 / 6, + u3 / 6 - u_less_1 ** 3, + 5 * u3 / 3 - 12 * u2 + 27 * u - 19, + -5 * u3 / 3 + 18 * u2 - 63 * u + 71, + 5 * u3 / 6 - 12 * u2 + 57 * u - 89, + -u3 / 6 + 3 * u2 - 18 * u + 36 + ] + + return jnp.sum(jnp.stack([condition * output for condition, output in zip(conditions, outputs)]), + axis=0) def theta_eval(u, M_u): """ @@ -343,7 +376,8 @@ def setup_kpts_integer(N): """ N_half = N.reshape(3) kx, ky, kz = [jnp.roll(jnp.arange(- (N_half[i] - 1) // 2, (N_half[i] + 1) // 2 ), - (N_half[i] - 1) // 2) for i in range(3)] - kpts_int = jnp.hstack([ki.flatten()[:,jnp.newaxis] for ki in jnp.meshgrid(kz, kx, ky)]) + # kpts_int = jnp.hstack([ki.flatten()[:,jnp.newaxis] for ki in jnp.meshgrid(kz, kx, ky)]) + kpts_int = jnp.hstack([ki.flatten()[:,jnp.newaxis] for ki in jnp.meshgrid(kx, ky, kz, indexing='ij')]) return kpts_int @@ -362,7 +396,7 @@ def setup_kpts(box, kpts_int): 4 * K, K=K1*K2*K3, contains kx, ky, kz, k^2 for each kpoint ''' # in this array, a*, b*, c* (without 2*pi) are arranged in column - box_inv = jnp.linalg.inv(box) + box_inv = jnp.linalg.inv(box).T # K * 3, coordinate in reciprocal space kpts = 2 * jnp.pi * kpts_int.dot(box_inv) ksq = jnp.sum(kpts**2, axis=1) @@ -400,7 +434,7 @@ def spread_Q(positions, box, Q): # spread Q N = np.array([K1, K2, K3]) Q_mesh = spread_Q(positions, box, Q) - N = N.reshape(1, 1, 3) + N = N.reshape((1, 1, 3)) kpts_int = setup_kpts_integer(N) kpts = setup_kpts(box, kpts_int) m = jnp.linspace(-pme_order//2+1, pme_order//2-1, pme_order-1).reshape(pme_order-1, 1, 1) @@ -430,7 +464,7 @@ def spread_Q(positions, box, Q): return jnp.sum(E_k) * DIELECTRIC else: return jnp.sum(E_k) - + if DO_JIT: return jit(pme_recip, static_argnums=()) else: @@ -441,6 +475,8 @@ def Ck_1(ksq, kappa, V): return 2*jnp.pi/V/ksq * jnp.exp(-ksq/4/kappa**2) def Ck_6(ksq, kappa, V): + thresh = 1e-16 + ksq = jnp.piecewise(ksq, [ksq=thresh], [lambda x: jnp.array(thresh), lambda x: x]) x2 = ksq / 4 / kappa**2 x = jnp.sqrt(x2) x3 = x2 * x @@ -449,6 +485,8 @@ def Ck_6(ksq, kappa, V): return sqrt_pi*jnp.pi/2/V*kappa**3 * f / 3 def Ck_8(ksq, kappa, V): + thresh = 1e-16 + ksq = jnp.piecewise(ksq, [ksq=thresh], [lambda x: jnp.array(thresh), lambda x: x]) x2 = ksq / 4 / kappa**2 x = jnp.sqrt(x2) x4 = x2 * x2 @@ -458,6 +496,8 @@ def Ck_8(ksq, kappa, V): return sqrt_pi*jnp.pi/2/V*kappa**5 * f / 45 def Ck_10(ksq, kappa, V): + thresh = 1e-16 + ksq = jnp.piecewise(ksq, [ksq=thresh], [lambda x: jnp.array(thresh), lambda x: x]) x2 = ksq / 4 / kappa**2 x = jnp.sqrt(x2) x4 = x2 * x2 diff --git a/dmff/admp/spatial.py b/dmff/admp/spatial.py index caceb9f15..dbfc04464 100644 --- a/dmff/admp/spatial.py +++ b/dmff/admp/spatial.py @@ -3,8 +3,8 @@ from jax import vmap, jit import numpy as np from functools import partial -from dmff.settings import DO_JIT -from dmff.utils import jit_condition +from ..settings import DO_JIT +from ..utils import jit_condition # This module deals with spatial geometric operations, mainly including: # 1. PBC related operations @@ -72,6 +72,7 @@ def generate_construct_local_frames(axis_types, axis_indices): Bisector_filter = (axis_types == Bisector) ZBisect_filter = (axis_types == ZBisect) ThreeFold_filter = (axis_types == ThreeFold) + NoAxisType_filter = (axis_types == NoAxisType) def construct_local_frames(positions, box): ''' @@ -101,7 +102,8 @@ def construct_local_frames(positions, box): vec_y = jnp.zeros((n_sites, 3)) # Z-Only x_of_vec_z = jnp.round(jnp.abs(vec_z[:,0])) - vec_x_Zonly = jnp.array([1.-x_of_vec_z, x_of_vec_z, jnp.zeros_like(x_of_vec_z)]).T + vec_x_Zonly = jnp.array([1.-x_of_vec_z, x_of_vec_z, jnp.zeros_like(x_of_vec_z)]).T[Zonly_filter] + vec_x = vec_x.at[Zonly_filter].set(vec_x_Zonly) # for those that are not Z-Only, get normalized vecX vec_x_not_Zonly = positions[x_atoms[not_Zonly_filter]] - positions[not_Zonly_filter] @@ -138,6 +140,13 @@ def construct_local_frames(positions, box): vec_x = normalize(vec_x - vec_z * xz_projection, axis=1) # up to this point, x-axis should be ready vec_y = jnp.cross(vec_z, vec_x) + + # NoAxisType + if np.sum(NoAxisType_filter) > 0: + vec_y = vec_y.at[NoAxisType_filter].set(jnp.array([0,1,0])) + vec_z = vec_z.at[NoAxisType_filter].set(jnp.array([0,0,1])) + vec_x = vec_x.at[NoAxisType_filter].set(jnp.array([1,0,0])) + return jnp.stack((vec_x, vec_y, vec_z), axis=1) diff --git a/dmff/api.py b/dmff/api.py deleted file mode 100644 index 00a14af2f..000000000 --- a/dmff/api.py +++ /dev/null @@ -1,383 +0,0 @@ -import linecache -from typing import Callable, Dict, Any - -import numpy as np -import jax.numpy as jnp - -import openmm as mm -import openmm.app as app -import openmm.unit as unit -from dmff.utils import DMFFException -from dmff.fftree import ForcefieldTree, XMLParser - - -def get_line_context(file_path, line_number): - return linecache.getline(file_path, line_number).strip() - - -def build_covalent_map(data, max_neighbor): - n_atoms = len(data.atoms) - covalent_map = np.zeros((n_atoms, n_atoms), dtype=int) - for bond in data.bonds: - covalent_map[bond.atom1, bond.atom2] = 1 - covalent_map[bond.atom2, bond.atom1] = 1 - for n_curr in range(1, max_neighbor): - for i in range(n_atoms): - # current neighbors - j_list = np.where( - np.logical_and(covalent_map[i] <= n_curr, - covalent_map[i] > 0))[0] - for j in j_list: - k_list = np.where(covalent_map[j] == 1)[0] - for k in k_list: - if k != i and k not in j_list: - covalent_map[i, k] = n_curr + 1 - covalent_map[k, i] = n_curr + 1 - return jnp.array(covalent_map) - - -def findAtomTypeTexts(attribs, num): - typetxt = [] - for n in range(1, num + 1): - for key in ["type%i" % n, "class%i" % n]: - if key in attribs: - typetxt.append((key, attribs[key])) - break - return typetxt - - -jaxGenerators = {} - - -class Potential: - def __init__(self): - self.dmff_potentials = {} - self.omm_system = None - self.meta = {} - - def addDmffPotential(self, name, potential, meta={}): - self.dmff_potentials[name] = potential - if len(meta): - for key in meta.keys(): - self.meta[key] = meta[key] - - def addOmmSystem(self, system): - self.omm_system = system - - def buildOmmContext(self, integrator=mm.VerletIntegrator(0.1)): - if self.omm_system is None: - raise DMFFException( - "OpenMM system is not initialized in this object.") - self.omm_context = mm.Context(self.omm_system, integrator) - - def getPotentialFunc(self, names=[]): - if len(self.dmff_potentials) == 0: - raise DMFFException("No DMFF function in this potential object.") - - def totalPE(positions, box, pairs, params): - totale_list = [ - self.dmff_potentials[k](positions, box, pairs, params) - for k in self.dmff_potentials.keys() - if (len(names) == 0 or k in names) - ] - totale = jnp.sum(jnp.array(totale_list)) - return totale - - return totalPE - - -class Hamiltonian(app.forcefield.ForceField): - def __init__(self, *xmlnames, **kwargs): - super().__init__(*xmlnames) - self._pseudo_ff = app.ForceField(*xmlnames) - # parse XML forcefields - self.fftree = ForcefieldTree('ForcefieldTree') - self.xmlparser = XMLParser(self.fftree) - self.xmlparser.parse(*xmlnames) - - self._jaxGenerators = [] - self._potentials = [] - self.paramtree = {} - - self.ommsys = None - - for child in self.fftree.children: - if child.tag in jaxGenerators: - self._jaxGenerators.append(jaxGenerators[child.tag](self)) - - # initialize paramtree - self.extractParameterTree() - - # hook generators to self._forces - # use noOmmSys to disable all traditional openmm system - if kwargs.get("noOmmSys", False): - self._forces = [] - for jaxGen in self._jaxGenerators: - self._forces.append(jaxGen) - - def getGenerators(self): - return self._jaxGenerators - - def extractParameterTree(self): - # load Force info - for jaxgen in self._jaxGenerators: - jaxgen.extract() - - def overwriteParameterTree(self): - # write Force info - for jaxgen in self._jaxGenerators: - jaxgen.overwrite() - pass - - def createPotential(self, - topology, - nonbondedMethod=app.NoCutoff, - nonbondedCutoff=1.0 * unit.nanometer, - jaxForces=[], - **args): - # load_constraints_from_system_if_needed - # create potentials - """ - Create differentiable jax potential for given openmm.app.Topology object - - Parameters - ---------- - topology: openmm.app.Topology - Input openmm topology - nonbondedMethod: object=NoCutoff - The method to use for nonbonded interactions. Allowed values are - NoCutoff, CutoffNonPeriodic, CutoffPeriodic, Ewald, PME, or LJPME. - nonbondedCutoff : distance=1*nanometer - The cutoff distance to use for nonbonded interactions - jaxForces: list of str - Specified forces to create. If set to [], will create all existing types of forces. - args - Arbitrary parameters in openmm.app.ForceField.createSystem function - - Return - ------ - potObj: dmff.api.Potential - Differentiable jax potential energy function - """ - pseudo_data = app.ForceField._SystemData(topology) - residueTemplates = {} - templateForResidue = self._pseudo_ff._matchAllResiduesToTemplates(pseudo_data, topology, residueTemplates, False) - self.templateNameForResidue = [i.name for i in templateForResidue] - - system = self.createSystem( - topology, - nonbondedMethod=nonbondedMethod, - nonbondedCutoff=nonbondedCutoff, - **args, - ) - removeIdx = [] - jaxGens = [i.name for i in self._jaxGenerators] - for nf, force in enumerate(system.getForces()): - if (len(jaxForces) > 0 - and force.getName() in jaxForces) or (force.getName() - in jaxGens): - removeIdx.append(nf) - for nf in removeIdx[::-1]: - system.removeForce(nf) - - potObj = Potential() - potObj.addOmmSystem(system) - for generator in self._jaxGenerators: - if len(jaxForces) > 0 and generator.name not in jaxForces: - continue - try: - potentialImpl = generator.getJaxPotential() - meta = generator.getMetaData() - potObj.addDmffPotential(generator.name, potentialImpl, meta=meta) - except Exception as e: - print(e) - pass - - # virtual site - try: - addVsiteFunc = generator.getAddVsiteFunc() - self.setAddVirtualSiteFunc(addVsiteFunc) - vsiteObj = generator.getVsiteObj() - self.setVirtualSiteObj(vsiteObj) - except AttributeError as e: - pass - - # covalent map - try: - cov_map = generator.covalent_map - self.setCovalentMap(cov_map) - except AttributeError as e: - pass - - # topology matrix (for BCC usage) - try: - top_mat = generator.getTopologyMatrix() - self.setTopologyMatrix(top_mat) - except AttributeError as e: - pass - - return potObj - - def render(self, filename): - self.overwriteParameterTree() - self.xmlparser.write(filename) - - def getParameters(self): - return self.paramtree - - def updateParameters(self, paramtree): - def update_iter(node, ref): - for key in ref: - if isinstance(ref[key], dict): - update_iter(node[key], ref[key]) - else: - node[key] = ref[key] - - update_iter(self.paramtree, paramtree) - - def setCovalentMap(self, cov_map: jnp.ndarray): - self._cov_map = cov_map - - def getCovalentMap(self) -> jnp.ndarray: - """ - Get covalent map - """ - if hasattr(self, "_cov_map"): - return self._cov_map - else: - raise DMFFException("Covalent map is not set.") - - def getAddVirtualSiteFunc(self) -> Callable: - return self._add_vsite_coords - - def setAddVirtualSiteFunc(self, func: Callable): - self._add_vsite_coords = func - - def setVirtualSiteObj(self, vsite): - self._vsite = vsite - - def getVirtualSiteObj(self): - return self._vsite - - def setTopologyMatrix(self, top_mat): - self._top_mat = top_mat - - def getTopologyMatrix(self): - return self._top_mat - - def addVirtualSiteCoords(self, pos: jnp.ndarray, params: Dict[str, Any]) -> jnp.ndarray: - """ - Add coordinates for virtual sites - - Parameters - ---------- - pos: jnp.ndarray - Coordinates without virtual sites - params: dict - Paramtree of hamiltonian, i.e. `dmff.Hamiltonian.paramtree` - - Return - ------ - newpos: jnp.ndarray - - Examples - -------- - >>> import jax.numpy as jnp - >>> import openmm.app as app - >>> from rdkit import Chem - >>> from dmff import Hamiltonian - >>> pdb = app.PDBFile("tests/data/chlorobenzene.pdb") - >>> pos = jnp.array(pdb.getPositions(asNumpy=True)._value) - >>> mol = Chem.MolFromMolFile("tests/data/chlorobenzene.mol", removeHs=False) - >>> h = Hamiltonian("tests/data/cholorobenzene_vsite.xml") - >>> potObj = h.createPotential(pdb.topology, rdmol=mol) - >>> newpos = h.addVirtualSiteCoords(pos, h.paramtree) - - """ - func = self.getAddVirtualSiteFunc() - newpos = func(pos, params) - return newpos - - def addVirtualSiteToMol(self, rdmol, params): - """ - Add coordinates for rdkit.Chem.Mol object - - Parameters - ---------- - rdmol: rdkit.Chem.Mol - Mol object to which virtual sites are added - params: dict - Paramtree of hamiltonian, i.e. `dmff.Hamiltonian.paramtree` - - Return - ------ - newmol: rdkit.Chem.Mol - Mol object with virtual sites added - - Examples - -------- - >>> import jax.numpy as jnp - >>> import openmm.app as app - >>> from rdkit import Chem - >>> from dmff import Hamiltonian - >>> pdb = app.PDBFile("tests/data/chlorobenzene.pdb") - >>> mol = Chem.MolFromMolFile("tests/data/chlorobenzene.mol", removeHs=False) - >>> h = Hamiltonian("tests/data/cholorobenzene_vsite.xml") - >>> potObj = h.createPotential(pdb.topology, rdmol=mol) - >>> newmol = h.addVirtualSiteToMol(mol, h.paramtree) - """ - vsiteObj = self.getVirtualSiteObj() - newmol = vsiteObj.addVirtualSiteToMol( - rdmol, - params['NonbondedForce']['vsite_types'], - params['NonbondedForce']['vsite_distances'] - ) - return newmol - - @staticmethod - def buildTopologyFromMol(rdmol, resname: str = "MOL") -> app.Topology: - """ - Build openmm.app.Topology from rdkit.Chem.Mol Object - - Parameters - ---------- - rdmol: rdkit.Chem.Mol - Mol object - resname: str - Name of the added residue, default "MOL" - - Return - ------ - top: `openmm.app.Topology` - Topology built based on the input rdkit Mol object - """ - from rdkit import Chem - - top = app.Topology() - chain = top.addChain(0) - res = top.addResidue(resname, chain, "1", "") - - atCount = {} - addedAtoms = [] - for idx, atom in enumerate(rdmol.GetAtoms()): - symb = atom.GetSymbol().upper() - atCount.update({symb: atCount.get(symb, 0) + 1}) - ele = app.Element.getBySymbol(symb) - atName = f'{symb}{atCount[symb]}' - - addedAtom = top.addAtom(atName, ele, res, str(idx+1)) - addedAtoms.append(addedAtom) - - bondTypeMap = { - Chem.rdchem.BondType.SINGLE: app.Single, - Chem.rdchem.BondType.DOUBLE: app.Double, - Chem.rdchem.BondType.TRIPLE: app.Triple, - Chem.rdchem.BondType.AROMATIC: app.Aromatic - } - for bond in rdmol.GetBonds(): - top.addBond( - addedAtoms[bond.GetBeginAtomIdx()], - addedAtoms[bond.GetEndAtomIdx()], - type=bondTypeMap.get(bond.GetBondType(), None) - ) - return top \ No newline at end of file diff --git a/dmff/api/__init__.py b/dmff/api/__init__.py new file mode 100644 index 000000000..643fb5e04 --- /dev/null +++ b/dmff/api/__init__.py @@ -0,0 +1,2 @@ +from .hamiltonian import Hamiltonian +from .topology import DMFFTopology \ No newline at end of file diff --git a/dmff/api/gcn.py b/dmff/api/gcn.py new file mode 100644 index 000000000..d7adb0e64 --- /dev/null +++ b/dmff/api/gcn.py @@ -0,0 +1,61 @@ +from typing import List, Tuple +from pathlib import Path +import numpy as np +from .topology import DMFFTopology + + +EMBED_W1 = np.random.random((117, 117)) + +elem_to_index = {'EP': 0, 'H': 1, 'HE': 2, 'LI': 3, 'BE': 4, 'B': 5, 'C': 6, 'N': 7, 'O': 8, + 'F': 9, 'NE': 10, 'NA': 11, 'MG': 12, 'AL': 13, 'SI': 14, 'P': 15, 'S': 16, + 'CL': 17, 'AR': 18, 'K': 19, 'CA': 20, 'SC': 21, 'TI': 22, 'V': 23, 'CR': 24, + 'MN': 25, 'FE': 26, 'CO': 27, 'NI': 28, 'CU': 29, 'ZN': 30, 'GA': 31, 'GE': 32, + 'AS': 33, 'SE': 34, 'BR': 35, 'KR': 36, 'RB': 37, 'SR': 38, 'Y': 39, 'ZR': 40, + 'NB': 41, 'MO': 42, 'TC': 43, 'RU': 44, 'RH': 45, 'PD': 46, 'AG': 47, 'CD': 48, + 'IN': 49, 'SN': 50, 'SB': 51, 'TE': 52, 'I': 53, 'XE': 54, 'CS': 55, 'BA': 56, + 'LA': 57, 'CE': 58, 'PR': 59, 'ND': 60, 'PM': 61, 'SM': 62, 'EU': 63, 'GD': 64, + 'TB': 65, 'DY': 66, 'HO': 67, 'ER': 68, 'TM': 69, 'YB': 70, 'LU': 71, 'HF': 72, + 'TA': 73, 'W': 74, 'RE': 75, 'OS': 76, 'IR': 77, 'PT': 78, 'AU': 79, 'HG': 80, + 'TL': 81, 'PB': 82, 'BI': 83, 'PO': 84, 'AT': 85, 'RN': 86, 'FR': 87, 'RA': 88, + 'AC': 89, 'TH': 90, 'PA': 91, 'U': 92, 'NP': 93, 'PU': 94, 'AM': 95, 'CM': 96, + 'BK': 97, 'CF': 98, 'ES': 99, 'FM': 100, 'MD': 101, 'NO': 102, 'LR': 103, + 'RF': 104, 'DB': 105, 'SG': 106, 'BH': 107, 'HS': 108, 'MT': 109, 'DS': 110, + 'RG': 111, 'UUB': 112, 'UUT': 113, 'UUQ': 114, 'UUP': 115, 'UUH': 116} + + +def mol_to_graph_matrix(topdata: DMFFTopology) -> Tuple[np.ndarray, np.ndarray]: + num_atom = topdata.getNumAtoms() + adj = np.zeros((num_atom, num_atom)) + node_features = np.zeros((num_atom, 117)) + for i in range(num_atom): + adj[i, i] = 1 + node_features[i, elem_to_index[topdata._atom[i].element.upper()]] = 1 + for bond in topdata.bonds(): + adj[bond.atom1.index, bond.atom2.index] = 1 + adj[bond.atom2.index, bond.atom1.index] = 1 + return adj, node_features + + +def get_embed(topdata: DMFFTopology): + adj, node = mol_to_graph_matrix(topdata) + natom = adj.shape[0] + support = np.dot(node[:, :117], EMBED_W1[:117, :117]) + out = np.dot(adj, support) + out = np.concatenate((out, node[:, 117:]), axis=1) + return out + + +def get_eqv_atoms(topdata: DMFFTopology): + embed = get_embed(topdata) + natom, nfeat = embed.shape[0], embed.shape[1] + dist = np.power( + embed.reshape((natom, 1, nfeat)) - embed.reshape((1, natom, nfeat)), 2 + ).sum(axis=2) + eqv_list = [] + for na in range(natom): + eqv_list.append([na]) + for nb in range(natom): + if dist[na, nb] < 1e-2 and na != nb: + eqv_list[-1].append(nb) + return eqv_list + diff --git a/dmff/api/graph.py b/dmff/api/graph.py new file mode 100644 index 000000000..5e4085581 --- /dev/null +++ b/dmff/api/graph.py @@ -0,0 +1,147 @@ +import networkx as nx +from networkx.algorithms import isomorphism +try: + import openmm.app as app + import openmm.unit as unit +except ImportError as e: + import simtk.openmm.app as app + import simtk.unit as unit +from typing import Dict, Tuple, List +try: + from rdkit import Chem + from rdkit.Chem import AllChem +except ImportError as e: + import warnings + warnings.warn("RDKit is not installed. SMIRKS pattern matching cannot be used.") + + +def matchTemplate(graph, template): + if graph.number_of_nodes() != template.number_of_nodes(): + # print("Node with different number of nodes.") + return False, {}, {} + + def match_func(n1, n2): + return n1["element"] == n2["element"] and n1["external_bond"] == n2["external_bond"] + + def edge_match(e1, e2): + if len(e1) == 0 and len(e2) == 0: + return True + return e1["btype"] == e2["btype"] + + matcher = isomorphism.GraphMatcher( + graph, template, node_match=match_func, edge_match=edge_match) + is_matched = matcher.is_isomorphic() + if is_matched: + match_dict = [i for i in matcher.match()][0] + atype_dict = {} + for key in match_dict.keys(): + attrib = {k: v for k, v in template.nodes( + )[match_dict[key]].items() if k != "name"} + atype_dict[key] = attrib + else: + match_dict = {} + atype_dict = {} + return is_matched, match_dict, atype_dict + + +def top2graph(top: app.Topology) -> nx.Graph: + g = nx.Graph() + for na, a in enumerate(top.atoms()): + elem = a.element.symbol if a.element is not None else "none" + g.add_node(a.index, index=a.index, name=a.name, element=elem, + residx=a.residue.index, resname=a.residue.name) + for nb, b in enumerate(top.bonds()): + g.add_edge(b.atom1.index, b.atom2.index) + return g + + +def decompgraph(graph: nx.Graph) -> List[nx.Graph]: + nsub = [graph.subgraph(indices) + for indices in nx.connected_components(graph)] + return nsub + + +def decomptop(top: app.Topology) -> List[List[int]]: + graph = top2graph(top) + graphs_dec = decompgraph(graph) + indices = [] + for g in graphs_dec: + index = [] + for n in g.nodes(): + index.append(g.nodes()[n]["index"]) + indices.append(index) + return indices + + +def graph2top(graph: nx.Graph) -> app.Topology: + nodes = [graph.nodes[n] for n in graph.nodes] + nodes = sorted(nodes, key=lambda x: x["index"]) + atoms = [] + node2atom = {} + + top = app.Topology() + chain = top.addChain("A") + rid = nodes[0]["residx"] + rname = nodes[0]["resname"] + res = top.addResidue(rname, chain) + for node in nodes: + if node["residx"] != rid: + rname = node["resname"] + res = top.addResidue(rname, chain) + rid = node["residx"] + elem = app.element.get_by_symbol( + node["element"]) if node["element"] != "none" else None + atom = top.addAtom( + node["name"], elem, res) + atoms.append(atom) + node2atom[node["index"]] = atom + + for b1, b2 in graph.edges.keys(): + n1, n2 = graph.nodes[b1]["index"], graph.nodes[b2]["index"] + a1, a2 = node2atom[n1], node2atom[n2] + top.addBond(a1, a2) + + return top + + +def top2rdmol(top: app.Topology, indices: List[int]): + rdmol = Chem.Mol() + emol = Chem.EditableMol(rdmol) + idx2ridx = {} + na = 0 + for atm in top.atoms(): + if atm.element is None: + continue + if not atm.index in indices: + continue + ratm = Chem.Atom(atm.element.atomic_number) + ratm.SetProp("_Name", atm.name) + ratm.SetProp("_Index", f"{atm.index}") + ratm.SetProp("_ResIndex", f"{atm.residue.index}") + ratm.SetProp("_ResName", atm.residue.name) + emol.AddAtom(ratm) + idx2ridx[atm.index] = na + na += 1 + for bnd in top.bonds(): + if bnd.atom1.index not in indices or bnd.atom2.index not in indices: + continue + if bnd.type is None: + if bnd.order is None: + order = 1 + else: + order = bnd.order + else: + if isinstance(bnd.type, app.topology.Single): + order = 1 + elif isinstance(bnd.type, app.topology.Double): + order = 2 + elif isinstance(bnd.type, app.topology.Triple): + order = 3 + elif isinstance(bnd.type, app.topology.Aromatic) or isinstance(bnd.type, app.topology.Amide): + order = 1.5 + emol.AddBond(idx2ridx[bnd.atom1.index], + idx2ridx[bnd.atom2.index], Chem.BondType(order)) + rdmol = emol.GetMol() + # rdmol.UpdatePropertyCache() + # AllChem.EmbedMolecule(rdmol, randomSeed=1) + return rdmol diff --git a/dmff/api/hamiltonian.py b/dmff/api/hamiltonian.py new file mode 100644 index 000000000..6519ecae1 --- /dev/null +++ b/dmff/api/hamiltonian.py @@ -0,0 +1,137 @@ +import openmm.app as app +import openmm.unit as unit +from .xmlio import XMLIO +from .paramset import ParamSet +from .topology import DMFFTopology +from ..operators.templatetype import TemplateATypeOperator +from ..operators.templatevsite import TemplateVSiteOperator +from ..utils import DMFFException +import jax +import jax.numpy as jnp +import numpy as np +from typing import Union, Callable + +_DMFFGenerators = {} + + +def build_covalent_map(data, max_neighbor): + n_atoms = len(data.atoms) + covalent_map = np.zeros((n_atoms, n_atoms), dtype=int) + for bond in data.bonds: + covalent_map[bond.atom1, bond.atom2] = 1 + covalent_map[bond.atom2, bond.atom1] = 1 + for n_curr in range(1, max_neighbor): + for i in range(n_atoms): + # current neighbors + j_list = np.where( + np.logical_and(covalent_map[i] <= n_curr, + covalent_map[i] > 0))[0] + for j in j_list: + k_list = np.where(covalent_map[j] == 1)[0] + for k in k_list: + if k != i and k not in j_list: + covalent_map[i, k] = n_curr + 1 + covalent_map[k, i] = n_curr + 1 + return jnp.array(covalent_map) + + +class Potential: + + def __init__(self, topology: DMFFTopology, update_func: Callable, has_aux: bool = False): + self.dmff_potentials = {} + self.update_func = update_func + self.meta = {} + self.topology = topology + self.meta["cov_map"] = topology.buildCovMat() + for key in self.topology._meta: + self.meta[key] = self.topology._meta[key] + self.has_aux = has_aux + + def add(self, name, func): + self.dmff_potentials[name] = func + + def getPotentialFunc(self, names: list=[]): + if isinstance(names, str): + names = [names] + if len(names) == 0: + names = [i for i in self.dmff_potentials.keys()] + if not self.has_aux: + def efunc(positions, box, pairs, prms): + pos_update = self.update_func(positions) + return sum([self.dmff_potentials[name](pos_update, box, pairs, prms) for name in names]) + else: + def efunc(positions, box, pairs, prms, aux): + pos_update = self.update_func(positions) + energy, aux = self.dmff_potentials[names[0]](pos_update, box, pairs, prms, aux) + if len(names) > 1: + for name in names[1:]: + etmp, aux = self.dmff_potentials[name](pos_update, box, pairs, prms, aux) + energy = energy + etmp + return energy, aux + return efunc + + +class Hamiltonian: + # 存Residue templates + # 存Generators + + def __init__(self, *args): + self._xmlio = XMLIO() + self.generators = {} + self.templates = [] + self.paramset = ParamSet() + + xmlfiles = [i for i in args if isinstance(i, str)] + if isinstance(xmlfiles, str): + self._xmlio.loadXML(xmlfiles) + else: + for xml in xmlfiles: + self._xmlio.loadXML(xml) + ffinfo = self._xmlio.parseXML() + self.ffinfo = ffinfo + + # 处理Forces + for key in ffinfo["Forces"].keys(): + if key not in _DMFFGenerators: + print(f"Generator for {key} is not implemented.") + else: + self.generators[key] = _DMFFGenerators[key]( + ffinfo, self.paramset) + + def getGenerators(self): + return [g for g in self.generators.values()] + + def createPotential(self, topdata: Union[DMFFTopology, app.Topology], nonbondedMethod=app.NoCutoff, + nonbondedCutoff=1.0 * unit.nanometer, **kwargs): + if isinstance(topdata, app.Topology): + topdata = DMFFTopology(from_top=topdata) + # initialize template operator + vsite = TemplateVSiteOperator(self.ffinfo) + topdata = vsite(topdata) + template = TemplateATypeOperator(self.ffinfo) + topdata = template(topdata) + + efuncs = {} + for key in self.generators: + gen = self.generators[key] + efuncs[gen.getName()] = gen.createPotential(topdata, nonbondedMethod, + nonbondedCutoff, **kwargs) + + has_aux = False + if "has_aux" in kwargs: + has_aux = kwargs["has_aux"] + update_func = topdata.buildVSiteUpdateFunction() + potential = Potential(topdata, update_func, has_aux=has_aux) + for key in efuncs: + potential.add(key, efuncs[key]) + + return potential + + def renderXML(self, out: str, residues=True, atomtypes=True, forces=True, operators=True): + for key in self.generators.keys(): + self.generators[key].overwrite(self.paramset) + self._xmlio.writeXML(out, self.ffinfo, write_residues=residues, + write_forces=forces, write_atomtypes=atomtypes, write_operators=operators) + + def getParameters(self): + return self.paramset \ No newline at end of file diff --git a/dmff/api/paramset.py b/dmff/api/paramset.py new file mode 100644 index 000000000..141adb366 --- /dev/null +++ b/dmff/api/paramset.py @@ -0,0 +1,163 @@ +import jax +import jax.numpy as jnp +from typing import Dict, Union + + +class ParamSet: + """ + A class to store and manipulate a set of parameters. + + Attributes: + ----------- + parameters: Dict[str, Union[Dict[str, jnp.ndarray], jnp.ndarray]] + A dictionary containing the parameters. If a parameter belongs to a field, it is stored in a nested dictionary. + mask: Dict[str, Union[Dict[str, jnp.ndarray], jnp.ndarray]] + A dictionary containing the masks for each parameter. If a parameter belongs to a field, it is stored in a nested dictionary. + + Methods: + -------- + addField(field: str) -> None: + Adds a new field to the parameters and mask dictionaries. + addParameter(values: jnp.ndarray, name: str, field: str = None, mask: jnp.ndarray = None) -> None: + Adds a new parameter to the parameters and mask dictionaries. + to_jax() -> None: + Converts all parameters to jax arrays. + """ + + def __init__( + self, + data: Dict[str, Union[Dict[str, jnp.ndarray], jnp.ndarray]] = None, + mask: Dict[str, Union[Dict[str, jnp.ndarray], jnp.ndarray]] = None, + ): + """ + Initializes a new ParamSet object. + + Parameters: + ----------- + data: Dict[str, Union[Dict[str, jnp.ndarray], jnp.ndarray]], optional + A dictionary containing the parameters. If a parameter belongs to a field, it is stored in a nested dictionary. + mask: Dict[str, Union[Dict[str, jnp.ndarray], jnp.ndarray]], optional + A dictionary containing the masks for each parameter. If a parameter belongs to a field, it is stored in a nested dictionary. + """ + self.parameters = data if data is not None else {} + self.mask = mask if mask is not None else {} + + def addField(self, field: str) -> None: + """ + Adds a new field to the parameters and mask dictionaries. + + Parameters: + ----------- + field: str + The name of the new field. + """ + if field in self.parameters: + return + self.parameters[field] = {} + self.mask[field] = {} + + def addParameter( + self, + values: jnp.ndarray, + name: str, + field: str = None, + mask: jnp.ndarray = None, + ) -> None: + """ + Adds a new parameter to the parameters and mask dictionaries. + + Parameters: + ----------- + values: jnp.ndarray + The values of the new parameter. + name: str + The name of the new parameter. + field: str, optional + The name of the field to which the parameter belongs. + mask: jnp.ndarray, optional + The mask of the new parameter. + """ + if field is not None: + self.parameters[field][name] = values + if mask is None: + self.mask[field][name] = jnp.ones(values.shape) + else: + self.mask[field][name] = jnp.array(mask) + else: + self.parameters[name] = values + if mask is None: + self.mask[name] = jnp.ones(values.shape) + else: + self.mask[name] = jnp.array(mask) + + def to_jax(self) -> None: + """ + Converts all parameters to jax arrays. + """ + for key1 in self.parameters: + if isinstance(self.parameters[key1], dict): + for key2 in self.parameters[key1]: + self.parameters[key1][key2] = jnp.array(self.parameters[key1][key2]) + else: + self.parameters[key1] = jnp.array(self.parameters[key1]) + + def __getitem__(self, key: str) -> Union[Dict[str, jnp.ndarray], jnp.ndarray]: + """ + Returns the value of the parameter with the given key. + + Parameters: + ----------- + key: str + The name of the parameter. + + Returns: + -------- + Union[Dict[str, jnp.ndarray], jnp.ndarray] + The value of the parameter. + """ + return self.parameters[key] + + def update_mask(self, gradients): + gradients = jax.tree_map( + lambda g, m: jnp.where(jnp.abs(m - 1.0) > 1e-5, g, 0.0), gradients, self.mask + ) + return gradients + + +def flatten_paramset(prmset: ParamSet) -> tuple: + """ + Flattens a ParamSet object. + + Parameters: + ----------- + prmset: ParamSet + The ParamSet object to be flattened. + + Returns: + -------- + tuple + A tuple containing the parameters and masks. + """ + return [prmset.parameters], prmset.mask + + +def unflatten_paramset(aux_data: Dict, contents: tuple) -> ParamSet: + """ + Unflattens a ParamSet object. + + Parameters: + ----------- + aux_data: None + Unused. + contents: tuple + A tuple containing the parameters and masks. + + Returns: + -------- + ParamSet + The unflattened ParamSet object. + """ + return ParamSet(data=contents[0], mask=aux_data) + + +jax.tree_util.register_pytree_node(ParamSet, flatten_paramset, unflatten_paramset) diff --git a/dmff/api/topology.py b/dmff/api/topology.py new file mode 100644 index 000000000..971741258 --- /dev/null +++ b/dmff/api/topology.py @@ -0,0 +1,770 @@ +from typing import Dict, Tuple, List +from collections import namedtuple +from copy import deepcopy +from .vsite import VirtualSite +import networkx as nx +import openmm.app as app +import openmm.unit as unit +try: + from rdkit import Chem +except ImportError: + Chem = None + import warnings + warnings.warn('Could not import RDKit. RDKit related features cannot be used.') +import numpy as np +import jax.numpy as jnp +import os + + +_standardResidues = ['ALA', 'ASN', 'CYS', 'GLU', 'HIS', 'LEU', 'MET', 'PRO', 'THR', 'TYR', + 'ARG', 'ASP', 'GLN', 'GLY', 'ILE', 'LYS', 'PHE', 'SER', 'TRP', 'VAL', + 'A', 'G', 'C', 'U', 'I', 'DA', 'DG', 'DC', 'DT', 'DI'] + +EMBED_W1 = np.random.random((117, 117)) + +elem_to_index = {'EP': 0, 'H': 1, 'HE': 2, 'LI': 3, 'BE': 4, 'B': 5, 'C': 6, 'N': 7, 'O': 8, + 'F': 9, 'NE': 10, 'NA': 11, 'MG': 12, 'AL': 13, 'SI': 14, 'P': 15, 'S': 16, + 'CL': 17, 'AR': 18, 'K': 19, 'CA': 20, 'SC': 21, 'TI': 22, 'V': 23, 'CR': 24, + 'MN': 25, 'FE': 26, 'CO': 27, 'NI': 28, 'CU': 29, 'ZN': 30, 'GA': 31, 'GE': 32, + 'AS': 33, 'SE': 34, 'BR': 35, 'KR': 36, 'RB': 37, 'SR': 38, 'Y': 39, 'ZR': 40, + 'NB': 41, 'MO': 42, 'TC': 43, 'RU': 44, 'RH': 45, 'PD': 46, 'AG': 47, 'CD': 48, + 'IN': 49, 'SN': 50, 'SB': 51, 'TE': 52, 'I': 53, 'XE': 54, 'CS': 55, 'BA': 56, + 'LA': 57, 'CE': 58, 'PR': 59, 'ND': 60, 'PM': 61, 'SM': 62, 'EU': 63, 'GD': 64, + 'TB': 65, 'DY': 66, 'HO': 67, 'ER': 68, 'TM': 69, 'YB': 70, 'LU': 71, 'HF': 72, + 'TA': 73, 'W': 74, 'RE': 75, 'OS': 76, 'IR': 77, 'PT': 78, 'AU': 79, 'HG': 80, + 'TL': 81, 'PB': 82, 'BI': 83, 'PO': 84, 'AT': 85, 'RN': 86, 'FR': 87, 'RA': 88, + 'AC': 89, 'TH': 90, 'PA': 91, 'U': 92, 'NP': 93, 'PU': 94, 'AM': 95, 'CM': 96, + 'BK': 97, 'CF': 98, 'ES': 99, 'FM': 100, 'MD': 101, 'NO': 102, 'LR': 103, + 'RF': 104, 'DB': 105, 'SG': 106, 'BH': 107, 'HS': 108, 'MT': 109, 'DS': 110, + 'RG': 111, 'UUB': 112, 'UUT': 113, 'UUQ': 114, 'UUP': 115, 'UUH': 116} + +class DMFFTopology: + def __init__(self, from_top=None, from_sdf=None, from_rdmol=None, residue_name="MOL"): + self._chains = [] + self._numResidues = 0 + self._numAtoms = 0 + self._bonds = [] + self._molecules = [] + self._vsites = [] + self._bondedAtom = {} + self.cell = None + self._meta = {} + + if from_top is not None: + self._load_omm_top(from_top) + + elif from_sdf is not None: + self._load_sdf(from_sdf, residue_name) + + elif from_rdmol is not None: + self._load_rdmol(from_rdmol, residue_name) + + def __repr__(self): + nchains = len(self._chains) + nres = self._numResidues + natom = self._numAtoms + nbond = len(self._bonds) + return '<%s; %d chains, %d residues, %d atoms, %d bonds>' % ( + type(self).__name__, nchains, nres, natom, nbond) + + def _load_sdf(self, filename, residue_name): + if Chem is None: + raise ImportError("Please install the rdkit package to use this function") + if not os.path.exists(filename): + raise FileNotFoundError(filename) + mol = Chem.MolFromMolFile(filename, removeHs=False, sanitize=False) + atoms = [a for a in mol.GetAtoms()] + bonds = [b for b in mol.GetBonds()] + chain = self.addChain() + res = self.addResidue(residue_name, chain) + no_symbol = {} + top_atoms = [] + for atom in atoms: + symbol = atom.GetSymbol() + if symbol not in no_symbol: + no_symbol[symbol] = 0 + no_symbol[symbol] += 1 + top_atom = self.addAtom( + f"{symbol}{no_symbol[symbol]}", symbol, res, meta={"FormalCharge": atom.GetFormalCharge()}) + top_atoms.append(top_atom) + for bond in bonds: + idx1 = bond.GetBeginAtomIdx() + idx2 = bond.GetEndAtomIdx() + order = bond.GetBondType() + self.addBond(top_atoms[idx1], top_atoms[idx2], order) + self.updateMolecules() + + def _load_rdmol(self, mol, residue_name): + atoms = [a for a in mol.GetAtoms()] + bonds = [b for b in mol.GetBonds()] + chain = self.addChain() + res = self.addResidue(residue_name, chain) + no_symbol = {} + top_atoms = [] + for atom in atoms: + symbol = atom.GetSymbol() + if symbol not in no_symbol: + no_symbol[symbol] = 0 + no_symbol[symbol] += 1 + top_atom = self.addAtom( + f"{symbol}{no_symbol[symbol]}", symbol, res, meta={"FormalCharge": atom.GetFormalCharge()}) + top_atoms.append(top_atom) + for bond in bonds: + idx1 = bond.GetBeginAtomIdx() + idx2 = bond.GetEndAtomIdx() + order = bond.GetBondType() + self.addBond(top_atoms[idx1], top_atoms[idx2], order) + + rdmol = mol.__copy__() + for natom, atom in enumerate(rdmol.GetAtoms()): + atom.SetProp("_Index", f"{natom}") + atom.SetProp("_Name", top_atoms[natom].name) + + for nbond in range(rdmol.GetNumBonds()): + bref = mol.GetBondWithIdx(nbond) + bnew = rdmol.GetBondWithIdx(nbond) + bnew.SetIsAromatic(bref.GetIsAromatic()) + self.regularize_aromaticity(rdmol) + self._molecules.append(rdmol) + + def _load_omm_top(self, top: app.Topology): + # add atom + for omm_chain in top.chains(): + dmff_chain = self.addChain(id=omm_chain.id) + for omm_res in omm_chain.residues(): + dmff_res = self.addResidue( + omm_res.name, dmff_chain, id=omm_res.id) + for omm_atom in omm_res.atoms(): + dmff_atom = self.addAtom( + omm_atom.name, omm_atom.element, dmff_res, omm_atom.id) + atoms = [a for a in self.atoms()] + + # add bonds + for bond in top.bonds(): + a1, a2, order = bond.atom1, bond.atom2, bond.order + self.addBond(atoms[a1.index], atoms[a2.index], order) + + self.updateMolecules(sanitize=False) + + cell_omm = top.getPeriodicBoxVectors() + if cell_omm is not None: + cell = cell_omm.value_in_unit(unit.nanometer) + cellvec = np.array([ + [cell[0][0], cell[0][1], cell[0][2]], + [cell[1][0], cell[1][1], cell[1][2]], + [cell[2][0], cell[2][1], cell[2][2]] + ]) + self.setPeriodicBoxVectors(cellvec) + + def add(self, other, newchain=False): + offset = self.getNumAtoms() + newatoms = [] + for nchain, chain in enumerate(other.chains()): + if nchain == 0 and not newchain and self.getNumChains() > 0: + newchain = [c for c in self.chains()][-1] + else: + newchain = self.addChain(id=chain.id) + for res in chain.residues(): + newres = self.addResidue(res.name, + newchain, + id=res.id, + insertionCode=res.insertionCode) + for atom in res.atoms(): + newatom = self.addAtom(atom.name, + atom.element, + newres, + id=atom.id, + meta=deepcopy(atom.meta)) + newatoms.append(newatom) + for bond in other.bonds(): + a1, a2, order = bond.atom1, bond.atom2, bond.order + self.addBond(newatoms[a1.index], newatoms[a2.index], order) + + for vsite in other.vsites(): + vtype = vsite.type + aidx = [a.index for a in vsite.atoms] + weights = vsite.weights + vatom = newatoms[vsite.vatom.index] + self._vsites.append( + VirtualSite(vtype, [newatoms[i] for i in aidx], + weights, + vatom=vatom)) + + atoms = [a for a in self.atoms()] + + # add molecules + for mol in other.molecules(): + rdmol = mol.__copy__() + for atom in rdmol.GetAtoms(): + idx = int(atom.GetProp("_Index")) + offset + name = atom.GetProp("_Name") + atom.SetProp("_Index", f"{idx}") + atom.SetProp("_Name", name) + + for nbond in range(rdmol.GetNumBonds()): + bref = mol.GetBondWithIdx(nbond) + bnew = rdmol.GetBondWithIdx(nbond) + bnew.SetIsAromatic(bref.GetIsAromatic()) + + resname = atoms[idx].residue.name + if resname not in _standardResidues: + self.regularize_aromaticity(rdmol) + self._molecules.append(rdmol) + + def updateMolecules(self, sanitize=True): + atoms = [a for a in self.atoms()] + self._molecules = [] + decomp_indices = decomptop(self) + if Chem is None: + return + for ind in decomp_indices: + resname = atoms[ind[0]].residue.name + self._molecules.append(top2rdmol(self, ind)) + if sanitize and resname not in _standardResidues: + try: + self.regularize_aromaticity(self._molecules[-1]) + except BaseException as e: + print(e) + print("Warning: aromaticity regularize failed for residue %s" % resname) + + def parseSMARTS(self, parser, resname=[]): + atoms = [a for a in self.atoms()] + if resname: + aidx = [a.index for a in atoms if a.residue.name in resname] + else: + aidx = [a.index for a in atoms] + if Chem is None: + raise ImportError("Please install RDKit to use this function") + parse = Chem.MolFromSmarts(parser) + ret = [] + for mol in self._molecules: + matches = mol.GetSubstructMatches(parse) + for match in matches: + matched_idx = [ + int(mol.GetAtomWithIdx(idx).GetProp("_Index")) + for idx in match + ] + if resname: + none_matched = True + for idx in matched_idx: + if idx in aidx: + none_matched = False + break + if none_matched: + continue + ret.append(matched_idx) + return ret + + def getProperty(self, property_name): + data = [] + for atom in self.atoms(): + data.append(atom.meta[property_name]) + return np.array(data) + + def getNumAtoms(self): + return self._numAtoms + + def getNumResidues(self): + return self._numResidues + + def getNumChains(self): + return len(self._chains) + + def getNumBonds(self): + return len(self._bonds) + + def getNumMolecules(self): + return len(self._molecules) + + def addChain(self, id=None): + if id is None: + id = str(len(self._chains) + 1) + chain = Chain(len(self._chains), self, id) + self._chains.append(chain) + return chain + + def addResidue(self, name, chain, id=None, insertionCode=''): + if len(chain._residues + ) > 0 and self._numResidues != chain._residues[-1].index + 1: + raise ValueError('All residues within a chain must be contiguous') + if id is None: + id = str(self._numResidues + 1) + residue = Residue(name, self._numResidues, chain, id, insertionCode) + self._numResidues += 1 + chain._residues.append(residue) + return residue + + def addAtom(self, name, element, residue, id=None, meta=None): + if isinstance(element, app.element.Element): + element = element.symbol + elif isinstance(element, str): + element = element + elif element is None: + element = "EP" + if len(residue._atoms + ) > 0 and self._numAtoms != residue._atoms[-1].index + 1: + raise ValueError('All atoms within a residue must be contiguous') + if id is None: + id = str(self._numAtoms + 1) + if meta is None: + meta = {} + meta["element"] = element + else: + meta["element"] = element + atom = Atom(name, element, self._numAtoms, residue, id, meta) + self._numAtoms += 1 + residue._atoms.append(atom) + self._bondedAtom[atom.index] = [] + return atom + + def addBond(self, atom1, atom2, order=None): + self._bonds.append(Bond(atom1, atom2, order)) + self._bondedAtom[atom1.index].append(atom2.index) + self._bondedAtom[atom2.index].append(atom1.index) + + def chains(self): + return iter(self._chains) + + def residues(self): + for chain in self._chains: + for residue in chain._residues: + yield residue + + def atoms(self): + for chain in self._chains: + for residue in chain._residues: + for atom in residue._atoms: + yield atom + + def bonds(self): + return iter(self._bonds) + + def molecules(self): + return iter(self._molecules) + + def vsites(self): + return iter(self._vsites) + + @classmethod + def regularize_aromaticity(cls, mol) -> bool: + """ + Regularize Aromaticity for a rdkit.Mol object. Rings with exocyclic double bonds will not be set aromatic. + """ + bInfo = {} + for bond in mol.GetBonds(): + bInfo[(bond.GetBeginAtomIdx(), bond.GetEndAtomIdx())] = bond.GetBondType() + mol.UpdatePropertyCache() + for atom in mol.GetAtoms(): + if atom.GetSymbol() == "N" and atom.GetExplicitValence() == 4: + atom.SetFormalCharge(1) + elif atom.GetSymbol() == "O" and atom.GetExplicitValence() == 3: + atom.SetFormalCharge(1) + Chem.SanitizeMol(mol) + rings = [tuple(r) for r in Chem.GetSymmSSSR(mol)] + repairIdx = [False for _ in rings] + patt = Chem.MolFromSmarts("[$([a]=[!R]):1]") + for m in mol.GetSubstructMatches(patt): + for i, r in enumerate(rings): + if m[0] in r: + repairIdx[i] = True + repairAtomsIdx = [] + nonrepairAtomsIdx = [] + for i in range(len(rings)): + if repairIdx[i]: + repairAtomsIdx += list(rings[i]) + else: + nonrepairAtomsIdx += list(rings[i]) + repairAtomsIdx = list(set(repairAtomsIdx) - set(nonrepairAtomsIdx)) + for atIdx in repairAtomsIdx: + at = mol.GetAtomWithIdx(atIdx) + at.SetIsAromatic(False) + for bo in at.GetBonds(): + atIdx1, atIdx2 = bo.GetBeginAtomIdx(), bo.GetEndAtomIdx() + if (atIdx1, atIdx2) in bInfo: + btype = bInfo[(atIdx1, atIdx2)] + else: + btype = bInfo[(atIdx2, atIdx1)] + bo.SetIsAromatic(False) + bo.SetBondType(btype) + return True + + def buildCovMat(self, nmax=6, use_jax=True): + n_atoms = self.getNumAtoms() + covalent_map = np.zeros((n_atoms, n_atoms), dtype=int) + for bond in self.bonds(): + covalent_map[bond.atom1.index, bond.atom2.index] = 1 + covalent_map[bond.atom2.index, bond.atom1.index] = 1 + for n_curr in range(1, nmax): + for i in range(n_atoms): + # current neighbors + j_list = np.where( + np.logical_and(covalent_map[i] <= n_curr, + covalent_map[i] > 0))[0] + for j in j_list: + k_list = np.where(covalent_map[j] == 1)[0] + for k in k_list: + if k != i and k not in j_list: + covalent_map[i, k] = n_curr + 1 + covalent_map[k, i] = n_curr + 1 + for vsite in self.vsites(): + self_idx = vsite.vatom.index + parent = vsite.atoms[0].index + covalent_map[self_idx, :] = covalent_map[parent, :] + covalent_map[:, self_idx] = covalent_map[:, parent] + covalent_map[self_idx, parent] = 1 + covalent_map[parent, self_idx] = 1 + if use_jax: + return jnp.array(covalent_map) + return covalent_map + + def buildVSiteUpdateFunction(self): + # vtype: 2 + vsites_type_2 = [v for v in self.vsites() if v.type == "2"] + if len(vsites_type_2) > 0: + use_type_2 = True + self_idx_type_2 = jnp.array( + [v.vatom.index for v in vsites_type_2], dtype=int) + a1_idx_type_2 = jnp.array( + [v.atoms[0].index for v in vsites_type_2], dtype=int) + a2_idx_type_2 = jnp.array( + [v.atoms[1].index for v in vsites_type_2], dtype=int) + w2_idx_type_2 = jnp.array([v.weights[0] for v in vsites_type_2]) + w1_idx_type_2 = jnp.ones(w2_idx_type_2.shape) - w2_idx_type_2 + else: + use_type_2 = False + + # vtype: 3 + vsites_type_3 = [v for v in self.vsites() if v.type == "3"] + if len(vsites_type_3) > 0: + use_type_3 = True + self_idx_type_3 = jnp.array( + [v.vatom.index for v in vsites_type_3], dtype=int) + a1_idx_type_3 = jnp.array( + [v.atoms[0].index for v in vsites_type_3], dtype=int) + a2_idx_type_3 = jnp.array( + [v.atoms[1].index for v in vsites_type_3], dtype=int) + a3_idx_type_3 = jnp.array( + [v.atoms[2].index for v in vsites_type_3], dtype=int) + w2_idx_type_3 = jnp.array([v.weights[0] for v in vsites_type_3]) + w3_idx_type_3 = jnp.array([v.weights[1] for v in vsites_type_3]) + w1_idx_type_3 = jnp.ones(w2_idx_type_3.shape) - \ + w2_idx_type_3 - w3_idx_type_3 + else: + use_type_3 = False + + # vtype: 2fd + vsites_type_2fd = [v for v in self.vsites() if v.type == "2fd"] + if len(vsites_type_2fd) > 0: + use_type_2fd = True + self_idx_type_2fd = jnp.array( + [v.vatom.index for v in vsites_type_2fd], dtype=int) + a1_idx_type_2fd = jnp.array( + [v.atoms[0].index for v in vsites_type_2fd], dtype=int) + a2_idx_type_2fd = jnp.array( + [v.atoms[1].index for v in vsites_type_2fd], dtype=int) + dist_idx_type_2fd = jnp.array( + [v.weights[0] for v in vsites_type_2fd]).reshape((-1, 1)) + else: + use_type_2fd = False + + # vtype: 3fd + vsites_type_3fd = [v for v in self.vsites() if v.type == "3fd"] + if len(vsites_type_3fd) > 0: + use_type_3fd = True + self_idx_type_3fd = jnp.array( + [v.vatom.index for v in vsites_type_3fd], dtype=int) + a1_idx_type_3fd = jnp.array( + [v.atoms[0].index for v in vsites_type_3fd], dtype=int) + a2_idx_type_3fd = jnp.array( + [v.atoms[1].index for v in vsites_type_3fd], dtype=int) + a3_idx_type_3fd = jnp.array( + [v.atoms[2].index for v in vsites_type_3fd], dtype=int) + dist_idx_type_3fd = jnp.array( + [v.weights[0] for v in vsites_type_3fd]).reshape((-1, 1)) + else: + use_type_3fd = False + + def update_pos(pos): + # vtype: 2 + if use_type_2: + new_pos_type_2 = pos[a1_idx_type_2, :] * \ + w1_idx_type_2 + pos[a2_idx_type_2, :] * w2_idx_type_2 + pos = pos.at[self_idx_type_2, :].set(new_pos_type_2) + # vtype: 3 + if use_type_3: + new_pos_type_3 = pos[a1_idx_type_3, :] * w1_idx_type_3 + \ + pos[a2_idx_type_3, :] * w2_idx_type_3 + \ + pos[a3_idx_type_3, :] * w3_idx_type_3 + pos = pos.at[self_idx_type_3, :].set(new_pos_type_3) + # vtype: 2fd + if use_type_2fd: + vvec = pos[a1_idx_type_2fd, :] - pos[a2_idx_type_2fd] + rvec = vvec / jnp.linalg.norm(vvec, axis=1).reshape((-1, 1)) + new_pos_type_2fd = pos[a1_idx_type_2fd, :] + rvec * dist_idx_type_2fd + pos = pos.at[self_idx_type_2fd, :].set(new_pos_type_2fd) + # vtype: 3fd + if use_type_3fd: + vji = pos[a1_idx_type_3fd, :] - pos[a2_idx_type_3fd, :] + vki = pos[a1_idx_type_3fd, :] - pos[a3_idx_type_3fd, :] + rji = vji / jnp.linalg.norm(vji, axis=1).reshape((-1, 1)) + rki = vki / jnp.linalg.norm(vki, axis=1).reshape((-1, 1)) + vmid = rji + rki + rmid = vmid / jnp.linalg.norm(vmid, axis=1).reshape((-1, 1)) + + new_pos_type_3fd = pos[a1_idx_type_3fd, :] + rmid * dist_idx_type_3fd + pos = pos.at[self_idx_type_3fd, :].set(new_pos_type_3fd) + + return pos + + return update_pos + + def addVSiteToPos(self, positions): + vsite_indices = [vsite.vatom.index for vsite in self.vsites()] + new_pos = jnp.zeros((self.getNumAtoms(), 3)) + idx = [a.index for a in self.atoms() if a.index not in vsite_indices] + new_pos = new_pos.at[idx, :].set(positions[:, :]) + update_func = self.buildVSiteUpdateFunction() + return update_func(new_pos) + + def getEquivalentAtoms(self): + eqv_atoms = get_eqv_atoms(self) + return eqv_atoms + + def getPeriodicBoxVectors(self, use_jax=True): + if self.cell is None: + return None + if use_jax: + return jnp.array(self.cell) + return self.cell + + def setPeriodicBoxVectors(self, box): + self.cell = np.zeros((3, 3)) + self.cell[:, :] = box[:, :] + + +class Chain(object): + def __init__(self, index, topology, id): + # The index of the Chain within its Topology + self.index = index + # The Topology this Chain belongs to + self.topology = topology + # A user defined identifier for this Chain + self.id = id + self._residues = [] + + def residues(self): + return iter(self._residues) + + def atoms(self): + for residue in self._residues: + for atom in residue._atoms: + yield atom + + def __len__(self): + return len(self._residues) + + def __repr__(self): + return "" % self.index + + +class Residue(object): + def __init__(self, name, index, chain, id, insertionCode): + # The name of the Residue + self.name = name + # The index of the Residue within its Topology + self.index = index + # The Chain this Residue belongs to + self.chain = chain + # A user defined identifier for this Residue + self.id = id + # A user defined insertion code for this Residue + self.insertionCode = insertionCode + self._atoms = [] + + def atoms(self): + return iter(self._atoms) + + def bonds(self): + return (bond for bond in self.chain.topology.bonds() + if ((bond[0] in self._atoms) or (bond[1] in self._atoms))) + + def internal_bonds(self): + return (bond for bond in self.chain.topology.bonds() + if ((bond[0] in self._atoms) and (bond[1] in self._atoms))) + + def external_bonds(self): + return (bond for bond in self.chain.topology.bonds() + if ((bond[0] in self._atoms) != (bond[1] in self._atoms))) + + def __len__(self): + return len(self._atoms) + + def __repr__(self): + return "" % (self.index, self.name, + self.chain.index) + + +class Atom(object): + def __init__(self, name, element, index, residue, id, meta): + # The name of the Atom + self.name = name + # That Atom's element + if isinstance(element, app.element.Element): + self.element = element.symbol + else: + self.element = element + # The index of the Atom within its Topology + self.index = index + # The Residue this Atom belongs to + self.residue = residue + # A user defined identifier for this Atom + self.id = id + + self.meta = meta + + def __repr__(self): + return "" % ( + self.index, self.name, self.residue.chain.index, + self.residue.index, self.residue.name) + + +class Bond(namedtuple('Bond', ['atom1', 'atom2'])): + def __new__(cls, atom1, atom2, order=None): + bond = super(Bond, cls).__new__(cls, atom1, atom2) + bond.order = order + return bond + + def __getnewargs__(self): + return self[0], self[1], self.order + + def __getstate__(self): + return self.__dict__ + + def __deepcopy__(self, memo): + return Bond(self[0], self[1], self.order) + + def __repr__(self): + s = "Bond(%s, %s" % (self[0], self[1]) + if self.order is not None: + s = "%s, order=%d" % (s, self.order) + s += ")" + return s + + +def top2graph(top) -> nx.Graph: + g = nx.Graph() + for na, a in enumerate(top.atoms()): + g.add_node(a.index, index=a.index) + for nb, b in enumerate(top.bonds()): + g.add_edge(b.atom1.index, b.atom2.index) + for nvs, vs in enumerate(top.vsites()): + g.add_edge(vs.vatom.index, vs.atoms[0].index) + return g + + +def decompgraph(graph) -> List[nx.Graph]: + nsub = [ + graph.subgraph(indices) for indices in nx.connected_components(graph) + ] + return nsub + + +def decomptop(top) -> List[List[int]]: + graph = top2graph(top) + graphs_dec = decompgraph(graph) + indices = [] + for g in graphs_dec: + index = [] + for n in g.nodes(): + index.append(g.nodes()[n]["index"]) + indices.append(index) + return indices + + +def top2rdmol(top, indices): + rdmol = Chem.Mol() + emol = Chem.EditableMol(rdmol) + idx2ridx = {} + na = 0 + for atm in top.atoms(): + if not atm.index in indices: + continue + elif atm.element is None: + continue + elif atm.element in ["none", "EP", "None", "NONE"]: + ratm = Chem.Atom(0) + else: + ratm = Chem.Atom(atm.element) + ratm.SetProp("_Index", f"{atm.index}") + ratm.SetProp("_Name", atm.name) + if "FormalCharge" in atm.meta.keys(): + ratm.SetFormalCharge(atm.meta["FormalCharge"]) + emol.AddAtom(ratm) + idx2ridx[atm.index] = na + na += 1 + for bnd in top.bonds(): + if bnd.atom1.index not in indices or bnd.atom2.index not in indices: + continue + if (bnd.atom1.element in [None, "none", "EP", "None", "NONE"]) or ( + bnd.atom2.element in [None, "none", "EP", "None", "NONE"]): + order = 0 + elif bnd.order is None: + order = 1 + else: + order = bnd.order + if not emol.GetMol().GetBondBetweenAtoms(idx2ridx[bnd.atom1.index], idx2ridx[bnd.atom2.index]): + emol.AddBond(idx2ridx[bnd.atom1.index], idx2ridx[bnd.atom2.index], + Chem.BondType(order)) + for vsite in top.vsites(): + vidx = vsite.vatom.index + parent = vsite.atoms[0].index + if vidx not in indices or parent not in indices: + continue + emol.AddBond(idx2ridx[vidx], idx2ridx[parent]) + rdmol = emol.GetMol() + # rdmol.UpdatePropertyCache() + # AllChem.EmbedMolecule(rdmol, randomSeed=1) + return rdmol + + +def mol_to_graph_matrix(topdata: DMFFTopology) -> Tuple[np.ndarray, np.ndarray]: + num_atom = topdata.getNumAtoms() + adj = np.zeros((num_atom, num_atom)) + node_features = np.zeros((num_atom, 117)) + atoms = [a for a in topdata.atoms()] + for i in range(num_atom): + adj[i, i] = 1 + node_features[i, elem_to_index[atoms[i].element.upper()]] = 1 + for bond in topdata.bonds(): + adj[bond.atom1.index, bond.atom2.index] = 1 + adj[bond.atom2.index, bond.atom1.index] = 1 + for vsite in topdata.vsites(): + adj[vsite.vatom.index, vsite.atoms[0].index] = 1 + adj[vsite.atoms[0].index, vsite.vatom.index] = 1 + return adj, node_features + + +def get_embed(topdata: DMFFTopology): + adj, node = mol_to_graph_matrix(topdata) + natom = adj.shape[0] + support = np.dot(node, EMBED_W1) + out = np.dot(adj, support) + out = np.dot(out, EMBED_W1) + out = np.dot(adj, out) + return out + + +def get_eqv_atoms(topdata: DMFFTopology): + embed = get_embed(topdata) + natom, nfeat = embed.shape[0], embed.shape[1] + dist = np.power( + embed.reshape((natom, 1, nfeat)) - embed.reshape((1, natom, nfeat)), 2 + ).sum(axis=2) + eqv_list = [] + for na in range(natom): + eqv_list.append([na]) + for nb in range(natom): + if dist[na, nb] < 1e-2 and na != nb: + eqv_list[-1].append(nb) + return eqv_list + diff --git a/dmff/api/vsite.py b/dmff/api/vsite.py new file mode 100644 index 000000000..9b6947a86 --- /dev/null +++ b/dmff/api/vsite.py @@ -0,0 +1,27 @@ +import openmm.app as app +from typing import List, Union, Tuple + + +class VirtualSite: + + def __init__(self, vtype, atoms, weights, vatom=None, meta={}): + # https://manual.gromacs.org/documentation/2019-rc1/reference-manual/functions/interaction-methods.html#virtualsites + # vtype: 2, 2fd, 3, 3fd, 3fad, 3out, 4fdn + # only support 2, 3, 2fd, 3fd for now + self.type = vtype + self.atoms = atoms + self.weights = weights + self.vatom = vatom + self.meta = meta + + def __deepcopy__(self, memo): + return VirtualSite(self.type, self.atoms, self.weights, vatom=self.vatom, meta=self.meta) + + def __repr__(self): + s = f"Virtual site type: {self.type} with \natoms: " + for atom in self.atoms: + s += f"{atom} " + s += f"\nweights: " + for weight in self.weights: + s += f"{weight} " + return s \ No newline at end of file diff --git a/dmff/api/vstools.py b/dmff/api/vstools.py new file mode 100644 index 000000000..54198344f --- /dev/null +++ b/dmff/api/vstools.py @@ -0,0 +1,106 @@ +from .vsite import VirtualSite +from .topology import DMFFTopology + + +def pickTheSame(obj, li) -> int: + for no, o in enumerate(li): + if o == obj: + return no + raise BaseException(f"No object found in list.") + + +def insertVirtualSites(topdata, vsite_list): + parent2vsite = {} + for vsite in vsite_list: + parent = vsite.atoms[0].index + if parent not in parent2vsite: + parent2vsite[parent] = [] + parent2vsite[parent].append(vsite) + tot_vsites = [] + vsite_and_vatom = [] + + newatoms = [] + newtop = DMFFTopology() + for chain in topdata.chains(): + newchain = newtop.addChain(id=chain.id) + for residue in chain.residues(): + newres = newtop.addResidue(name=residue.name, chain=newchain, id=residue.id) + nep = 1 + for atom in residue.atoms(): + newatom = newtop.addAtom( + atom.name, atom.element, newres, id=atom.id, meta=atom.meta + ) + newatoms.append(newatom) + if atom.element is None: + nep += 1 + + # add new vsite + if atom.index in parent2vsite: + for vsite in parent2vsite[atom.index]: + newvatom = newtop.addAtom(f"V{nep}", None, newres) + nep += 1 + vsite_and_vatom.append((vsite, newvatom)) + + for vs, va in vsite_and_vatom: + aidx = [a.index for a in vs.atoms] + weights = vs.weights + vtype = vs.type + vmeta = vs.meta + newvsite = VirtualSite( + vtype, [newatoms[i] for i in aidx], weights, vatom=va, meta=vmeta + ) + tot_vsites.append(newvsite) + + for bond in topdata.bonds(): + idx1 = bond.atom1.index + idx2 = bond.atom2.index + order = bond.order + newtop.addBond(newatoms[idx1], newatoms[idx2], order=order) + + for vsite in topdata.vsites(): + vtype = vsite.type + aidx = [a.index for a in vsite.atoms] + weights = vsite.weights + vidx = vsite.vatom.index + vmeta = vsite.meta + new_vsite = VirtualSite( + vtype, + [newatoms[i] for i in aidx], + weights, + vatom=newatoms[vidx], + meta=vmeta, + ) + tot_vsites.append(new_vsite) + + newtop._vsites = sorted(tot_vsites, key=lambda x: x.atoms[0].index) + for vsite in newtop.vsites(): + for k, v in vsite.meta.items(): + vsite.vatom.meta[k] = v + + # for mol in topdata.molecules(): + # # copy a molecule with new index + # newmol = Chem.Mol() + # emol = Chem.EditableMol(newmol) + # for atom in mol.GetAtoms(): + # newatom = Chem.Atom(atom.GetSymbol()) + # idx = int(atom.GetProp("_Index")) + # name = atom.GetProp("_Name") + # newatom.SetProp("_Index", f"{newatoms[idx].index}") + # newatom.SetProp("_Name", name) + # emol.AddAtom(newatom) + # for bond in mol.GetBonds(): + # i1, i2 = bond.GetBeginAtomIdx(), bond.GetEndAtomIdx() + # emol.AddBond(i1, i2, bond.GetBondType()) + # rdmol = emol.GetMol() + # for nbond in range(rdmol.GetNumBonds()): + # bref = mol.GetBondWithIdx(nbond) + # bnew = rdmol.GetBondWithIdx(nbond) + # bnew.SetIsAromatic(bref.GetIsAromatic()) + # regularize_aromaticity(rdmol) + # newtop._molecules.append(rdmol) + newtop.updateMolecules(sanitize=True) + + # copy box info to newtop + if topdata.cell is not None: + newtop.setPeriodicBoxVectors(topdata.getPeriodicBoxVectors(use_jax=False)) + return newtop diff --git a/dmff/api/xmlio.py b/dmff/api/xmlio.py new file mode 100644 index 000000000..26a9d5505 --- /dev/null +++ b/dmff/api/xmlio.py @@ -0,0 +1,185 @@ +import xml.etree.ElementTree as ET +from xml.dom import minidom + + +def genStrDict(olddict): + newdict = {} + for k, v in olddict.items(): + newdict[k] = f"{v}" + return newdict + + +class XMLIO: + def __init__(self): + self._data = {"Operators": [], "AtomTypes": [], "Residues": [], "Forces": {}} + + def clean(self): + self._data = {"Operators": [], "AtomTypes": [], "Residues": [], "Forces": {}} + + def loadXML(self, xml: str): + root = ET.parse(xml).getroot() + for child in root: + if child.tag == "Operators": + for op in child: + self._data["Operators"].append(op) + # AtomTypes + elif child.tag == "AtomTypes": + for atom in child: + if atom.tag == "Type": + self._data["AtomTypes"].append(atom) + # Residues + elif child.tag == "Residues": + for residue in child: + if residue.tag == "Residue": + self._data["Residues"].append(residue) + # Forces + else: + if "Force" in child.tag: + if child.tag not in self._data["Forces"]: + self._data["Forces"][child.tag] = [] + self._data["Forces"][child.tag].append(child) + + def parseXML(self): + ret = { + "Operators": {}, + "AtomTypes": [], + "Residues": [], + "Forces": {}, + "ClassToType": {}, + } + ret["Operators"] = self.parseOperators() + ret["AtomTypes"] = self.parseAtomTypes() + for item in ret["AtomTypes"]: + if "name" in item and "class" in item: + if item["class"] not in ret["ClassToType"]: + ret["ClassToType"][item["class"]] = [] + ret["ClassToType"][item["class"]].append(item["name"]) + ret["Residues"] = self.parseResidues() + for force in self._data["Forces"].keys(): + ret["Forces"][force] = self.parseForce(self._data["Forces"][force]) + return ret + + def parseOperators(self): + ret = {} + for op in self._data["Operators"]: + ret[op.tag] = [] + for child in op: + inner = {} + inner["name"] = child.tag + inner["attrib"] = child.attrib + ret[op.tag].append(inner) + return ret + + def parseAtomTypes(self): + ret = [] + for atype in self._data["AtomTypes"]: + ret.append(atype.attrib) + if "element" not in ret[-1]: + ret[-1]["element"] = None + return ret + + def parseResidues(self): + ret = [] + for residue in self._data["Residues"]: + res = { + "name": None, + "particles": [], + "bonds": [], + "externals": [], + "vsites": [], + } + res["name"] = residue.attrib["name"] + for item in residue: + if item.tag == "Atom": + ainner = {} + for key in item.attrib: + if key in ["name", "type"]: + ainner[key] = item.attrib[key] + else: + ainner[key] = float(item.attrib[key]) + res["particles"].append(ainner) + if item.tag == "VirtualSite": + vinner = {} + for key in item.attrib.keys(): + val = item.attrib[key] + if "atom" in key or "index" in key: + vinner[key] = int(val) + elif "weight" in key: + vinner[key] = float(val) + else: + vinner[key] = val + res["vsites"].append(vinner) + if item.tag == "Bond": + res["bonds"].append(item.attrib) + if item.tag == "ExternalBond": + res["externals"].append(item.attrib["atomName"]) + ret.append(res) + return ret + + def parseForce(self, nodes): + ret = {"meta": nodes[0].attrib, "node": []} + for node in nodes: + for child in node: + inner = {} + inner["name"] = child.tag + inner["attrib"] = child.attrib + ret["node"].append(inner) + return ret + + def writeXML( + self, + out: str, + ffinfo: dict, + write_operators=True, + write_residues=True, + write_atomtypes=True, + write_forces=True, + ): + root = ET.Element("ForceField") + if write_operators: + ops = ET.SubElement(root, "Operators") + for key in ffinfo["Operators"].keys(): + op = ffinfo["Operators"][key] + op_node = ET.SubElement(ops, key) + for inner in op: + new_node = ET.SubElement(op_node, inner["name"]) + new_node.attrib = inner["attrib"] + if write_atomtypes: + atype = ET.SubElement(root, "AtomTypes") + for atp in ffinfo["AtomTypes"]: + new = ET.SubElement(atype, "Type") + new.attrib = genStrDict(atp) + if write_residues: + residues = ET.SubElement(root, "Residues") + for res in ffinfo["Residues"]: + residue = ET.SubElement(residues, "Residue") + residue.attrib = {"name": res["name"]} + # write Atom + for atom in res["particles"]: + anode = ET.SubElement(residue, "Atom") + anode.attrib = genStrDict(atom) + for vsite in res["vsites"]: + vnode = ET.SubElement(residue, "VirtualSite") + vnode.attrib = genStrDict(vsite) + # write Bonds + for bond in res["bonds"]: + bnode = ET.SubElement(residue, "Bond") + bnode.attrib = bond + # write External + for external in res["externals"]: + enode = ET.SubElement(residue, "ExternalBond") + enode.attrib = genStrDict({"atomName": external}) + + if write_forces: + for force_name in ffinfo["Forces"].keys(): + force_info = ffinfo["Forces"][force_name] + fnode = ET.SubElement(root, force_name) + fnode.attrib = genStrDict(force_info["meta"]) + for node in force_info["node"]: + subnode = ET.SubElement(fnode, node["name"]) + subnode.attrib = genStrDict(node["attrib"]) + + tree = ET.ElementTree(root) + xmlstr = minidom.parseString(ET.tostring(root)).toprettyxml(indent=" ") + with open(out, "w") as f: + f.write(xmlstr) diff --git a/dmff/classical/fep.py b/dmff/classical/fep.py index 3d50f6d5c..01dc838ad 100644 --- a/dmff/classical/fep.py +++ b/dmff/classical/fep.py @@ -4,10 +4,10 @@ import jax.numpy as jnp from jax.scipy.special import erf -from dmff.common.constants import DIELECTRIC -from dmff.admp.spatial import v_pbc_shift -from dmff.admp.recip import generate_pme_recip, Ck_1 -from dmff.utils import regularize_pairs, pair_buffer_scales +from ..common.constants import DIELECTRIC +from ..admp.spatial import v_pbc_shift +from ..admp.recip import generate_pme_recip, Ck_1 +from ..utils import regularize_pairs, pair_buffer_scales ONE_4PI_EPS0 = DIELECTRIC * 0.1 diff --git a/dmff/classical/inter.py b/dmff/classical/inter.py index 8438b9ee5..d6f393783 100644 --- a/dmff/classical/inter.py +++ b/dmff/classical/inter.py @@ -1,14 +1,14 @@ from typing import Iterable, Tuple, Optional - +import jax import jax.numpy as jnp import numpy as np -from dmff.utils import pair_buffer_scales, regularize_pairs -from dmff.admp.pme import energy_pme -from dmff.admp.recip import generate_pme_recip -from dmff.admp.spatial import v_pbc_shift -from dmff.admp.recip import generate_pme_recip, Ck_1 -from dmff.admp.pme import DIELECTRIC +from ..utils import pair_buffer_scales, regularize_pairs +from ..admp.pme import energy_pme +from ..admp.recip import generate_pme_recip +from ..admp.spatial import v_pbc_shift +from ..admp.recip import generate_pme_recip, Ck_1 +from ..admp.pme import DIELECTRIC ONE_4PI_EPS0 = DIELECTRIC * 0.1 @@ -53,7 +53,7 @@ def get_LJ_energy(dr_vec, sig, eps, box): return E - def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix, mscales): + def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix, mscales, aux=None): pairs = pairs.at[:, :2].set(regularize_pairs(pairs[:, :2])) mask = pair_buffer_scales(pairs[:, :2]) @@ -65,11 +65,12 @@ def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix, mscales): sig_m1 = jnp.repeat(sigma.reshape((-1, 1)), sigma.shape[0], axis=1) sig_m2 = sig_m1.T sig_mat = (sig_m1 + sig_m2) * 0.5 - - eps_mat = eps_mat.at[self.map_nbfix[:, 0], self.map_nbfix[:, 1]].set(epsfix) - eps_mat = eps_mat.at[self.map_nbfix[:, 1], self.map_nbfix[:, 0]].set(epsfix) - sig_mat = sig_mat.at[self.map_nbfix[:, 0], self.map_nbfix[:, 1]].set(sigfix) - sig_mat = sig_mat.at[self.map_nbfix[:, 1], self.map_nbfix[:, 0]].set(sigfix) + + for _map in self.map_nbfix: + eps_mat = eps_mat.at[_map[0],_map[1]].set(epsfix[_map[2]]) + eps_mat = eps_mat.at[_map[1],_map[0]].set(epsfix[_map[2]]) + sig_mat = sig_mat.at[_map[0],_map[1]].set(sigfix[_map[2]]) + sig_mat = sig_mat.at[_map[1],_map[0]].set(sigfix[_map[2]]) colv_pair = pairs[:, 2] mscale_pair = mscales[colv_pair-1] # in mscale vector, the 0th item is 1-2 scale, the 1st item is 1-3 scale, etc... @@ -83,7 +84,10 @@ def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix, mscales): eps_scale = eps * mscale_pair E_inter = get_LJ_energy(dr_vec, sig, eps_scale, box) - return jnp.sum(E_inter * mask) + if aux is None: + return jnp.sum(E_inter * mask) + else: + return jnp.sum(E_inter * mask), aux return get_energy @@ -112,10 +116,8 @@ def get_energy(box, epsilon, sigma, epsfix, sigfix): sig_m2 = sig_m1.T sig_mat = (sig_m1 + sig_m2) * 0.5 - eps_mat = eps_mat.at[self.map_nbfix[:, 0], self.map_nbfix[:, 1]].set(epsfix) - eps_mat = eps_mat.at[self.map_nbfix[:, 1], self.map_nbfix[:, 0]].set(epsfix) - sig_mat = sig_mat.at[self.map_nbfix[:, 0], self.map_nbfix[:, 1]].set(sigfix) - sig_mat = sig_mat.at[self.map_nbfix[:, 1], self.map_nbfix[:, 0]].set(sigfix) + eps_mat = eps_mat.at[self.map_nbfix[:, 0], self.map_nbfix[:, 1]].set(epsfix[self.map_nbfix[:, 2]]) + sig_mat = sig_mat.at[self.map_nbfix[:, 0], self.map_nbfix[:, 1]].set(sigfix[self.map_nbfix[:, 2]]) volume = jnp.linalg.det(box) @@ -130,10 +132,10 @@ def get_energy(box, epsilon, sigma, epsfix, sigfix): class CoulNoCutoffForce: # E=\frac{{q}_{1}{q}_{2}}{4\pi\epsilon_0\epsilon_1 r} - def __init__(self, map_prm, epsilon_1=1.0, topology_matrix=None) -> None: + def __init__(self, init_charges, epsilon_1=1.0, topology_matrix=None) -> None: + self.init_charges = init_charges self.eps_1 = epsilon_1 - self.map_prm = map_prm self.top_mat = topology_matrix def generate_get_energy(self): @@ -145,18 +147,14 @@ def get_coul_energy(dr_vec, chrgprod, box): return E - def get_energy(positions, box, pairs, charges, mscales): + def get_energy_kernel(positions, box, pairs, charges, mscales): pairs = pairs.at[:, :2].set(regularize_pairs(pairs[:, :2])) mask = pair_buffer_scales(pairs[:, :2]) - map_prm = jnp.array(self.map_prm) - - colv_pair = pairs[:, 2] - mscale_pair = mscales[colv_pair-1] + cov_pair = pairs[:, 2] + mscale_pair = mscales[cov_pair-1] - chrg_map0 = map_prm[pairs[:, 0]] - chrg_map1 = map_prm[pairs[:, 1]] - charge0 = charges[chrg_map0] - charge1 = charges[chrg_map1] + charge0 = charges[pairs[:, 0]] + charge1 = charges[pairs[:, 1]] chrgprod = charge0 * charge1 chrgprod_scale = chrgprod * mscale_pair dr_vec = positions[pairs[:, 0]] - positions[pairs[:, 1]] @@ -165,14 +163,41 @@ def get_energy(positions, box, pairs, charges, mscales): return jnp.sum(E_inter * mask) - def get_energy_bcc(positions, box, pairs, pre_charges, bcc, mscales): - charges = pre_charges + jnp.dot(self.top_mat, bcc).flatten() - return get_energy(positions, box, pairs, charges, mscales) + if self.top_mat is None: + def get_energy(positions, box, pairs, mscales): + return get_energy_kernel(positions, box, pairs, self.init_charges, mscales) + else: + def get_energy(positions, box, pairs, bcc, mscales): + charges = self.init_charges + jnp.dot(self.top_mat, bcc).flatten() + return get_energy_kernel(positions, box, pairs, charges, mscales) + return get_energy + + def generate_esp(self): + + def esp_kernel(position, grid, charge): + dist = jnp.linalg.norm(position - grid + 1e-16) + oneR = 1. / dist + return ONE_4PI_EPS0 * charge * oneR + + esp_grid_kernel = jax.vmap(esp_kernel, in_axes=(0, None, 0)) + + def esp_grid(positions, grid, charges): + return jnp.sum(esp_grid_kernel(positions, grid, charges)) + + esp_all = jax.vmap(esp_grid, in_axes=(None, 0, None)) if self.top_mat is None: - return get_energy + def get_esp(positions, grids): + charges = self.init_charges + return esp_all(positions, grids, charges).ravel() else: - return get_energy_bcc + def get_esp(positions, grids, bcc): + charges = self.init_charges + jnp.dot(self.top_mat, bcc).flatten() + return esp_all(positions, grids, charges).ravel() + + return get_esp + + class CoulReactionFieldForce: @@ -180,19 +205,19 @@ class CoulReactionFieldForce: def __init__( self, r_cut, - map_prm, + init_charges, epsilon_1=1.0, epsilon_solv=78.5, isPBC=True, topology_matrix=None ) -> None: + self.init_charges = init_charges self.r_cut = r_cut self.krf = (1.0 / r_cut ** 3) * (epsilon_solv - 1) / (2.0 * epsilon_solv + 1) self.crf = (1.0 / r_cut) * 3.0 * epsilon_solv / (2.0 * epsilon_solv + 1) self.exp_solv = epsilon_solv self.eps_1 = epsilon_1 - self.map_prm = map_prm self.ifPBC = isPBC self.top_mat = topology_matrix @@ -203,6 +228,7 @@ def get_rf_energy(dr_vec, chrgprod, box): dr_norm = jnp.linalg.norm(dr_vec, axis=1) dr_inv = 1.0 / dr_norm + E = ( chrgprod * ONE_4PI_EPS0 @@ -212,17 +238,15 @@ def get_rf_energy(dr_vec, chrgprod, box): return E - def get_energy(positions, box, pairs, charges, mscales): + def get_energy_kernel(positions, box, pairs, charges, mscales): pairs = pairs.at[:, :2].set(regularize_pairs(pairs[:, :2])) mask = pair_buffer_scales(pairs[:, :2]) colv_pair = pairs[:, 2] mscale_pair = mscales[colv_pair-1] - chrg_map0 = self.map_prm[pairs[:, 0]] - chrg_map1 = self.map_prm[pairs[:, 1]] - charge0 = charges[chrg_map0] - charge1 = charges[chrg_map1] + charge0 = charges[pairs[:, 0]] + charge1 = charges[pairs[:, 1]] chrgprod = charge0 * charge1 chrgprod_scale = chrgprod * mscale_pair dr_vec = positions[pairs[:, 0]] - positions[pairs[:, 1]] @@ -230,15 +254,15 @@ def get_energy(positions, box, pairs, charges, mscales): E_inter = get_rf_energy(dr_vec, chrgprod_scale, box) return jnp.sum(E_inter * mask) - - def get_energy_bcc(positions, box, pairs, pre_charges, bcc, mscales): - charges = pre_charges + jnp.dot(self.top_mat, bcc).flatten() - return get_energy(positions, box, pairs, charges, mscales) if self.top_mat is None: - return get_energy + def get_energy(positions, box, pairs, mscales): + return get_energy_kernel(positions, box, pairs, self.init_charges, mscales) else: - return get_energy_bcc + def get_energy(positions, box, pairs, bcc, mscales): + charges = self.init_charges + jnp.dot(self.top_mat, bcc).flatten() + return get_energy_kernel(positions, box, pairs, charges, mscales) + return get_energy class CoulombPMEForce: @@ -246,14 +270,14 @@ class CoulombPMEForce: def __init__( self, r_cut: float, - map_prm: Iterable[int], + init_charges, kappa: float, K: Tuple[int, int, int], pme_order: int = 6, topology_matrix: Optional[jnp.array] = None, ): self.r_cut = r_cut - self.map_prm = map_prm + self.init_charges = init_charges self.lmax = 0 self.kappa = kappa self.K1, self.K2, self.K3 = K[0], K[1], K[2] @@ -262,21 +286,21 @@ def __init__( assert pme_order == 6, "PME order other than 6 is not supported" def generate_get_energy(self): + + pme_recip_fn = generate_pme_recip( + Ck_fn=Ck_1, + kappa=self.kappa / 10, + gamma=False, + pme_order=self.pme_order, + K1=self.K1, + K2=self.K2, + K3=self.K3, + lmax=self.lmax, + ) - def get_energy(positions, box, pairs, charges, mscales): - - pme_recip_fn = generate_pme_recip( - Ck_fn=Ck_1, - kappa=self.kappa / 10, - gamma=False, - pme_order=self.pme_order, - K1=self.K1, - K2=self.K2, - K3=self.K3, - lmax=self.lmax, - ) + def get_energy_kernel(positions, box, pairs, charges, mscales): - atomCharges = charges[self.map_prm[np.arange(positions.shape[0])]] + atomCharges = charges atomChargesT = jnp.reshape(atomCharges, (-1, 1)) return energy_pme( @@ -300,11 +324,11 @@ def get_energy(positions, box, pairs, charges, mscales): False, ) - def get_energy_bcc(positions, box, pairs, pre_charges, bcc, mscales): - charges = pre_charges + jnp.dot(self.top_mat, bcc).flatten() - return get_energy(positions, box, pairs, charges, mscales) - if self.top_mat is None: - return get_energy + def get_energy(positions, box, pairs, mscales): + return get_energy_kernel(positions, box, pairs, self.init_charges, mscales) else: - return get_energy_bcc + def get_energy(positions, box, pairs, bcc, mscales): + charges = self.init_charges + jnp.dot(self.top_mat, bcc).flatten() + return get_energy_kernel(positions, box, pairs, charges, mscales) + return get_energy diff --git a/dmff/classical/intra.py b/dmff/classical/intra.py index e4566feac..0625f48ee 100644 --- a/dmff/classical/intra.py +++ b/dmff/classical/intra.py @@ -108,6 +108,8 @@ def __init__(self, p1idx, p2idx, p3idx, p4idx, prmidx, order): self.refresh_calculators() def generate_get_energy(self): + if len(self.p1idx) == 0: + return lambda positions, box, pairs, k, psi: 0.0 def get_energy(positions, box, pairs, k, psi): p1 = positions[self.p1idx,:] p2 = positions[self.p2idx,:] diff --git a/dmff/classical/vsite.py b/dmff/classical/vsite.py index 9da7e960b..c34410fe9 100644 --- a/dmff/classical/vsite.py +++ b/dmff/classical/vsite.py @@ -96,9 +96,9 @@ def add_dummy(mol, parentAtomIdx: List[int], addCoords: Optional[np.ndarray]): dummy = Chem.Atom(0) duIdx = rwmol.AddAtom(dummy) rwmol.AddBond(duIdx, pidx) - newmol = rwmol.GetMol() duIdxs.append(duIdx) - + + newmol = rwmol.GetMol() if addCoords is not None: assert len(addCoords) == len(parentAtomIdx) + ori_num_atoms, f"Number of atoms in coordinates doesn't match" conf = newmol.GetConformer() diff --git a/dmff/common/nblist.py b/dmff/common/nblist.py index 1b06631ec..80377f658 100644 --- a/dmff/common/nblist.py +++ b/dmff/common/nblist.py @@ -1,119 +1,81 @@ -from typing import Optional, Literal - import numpy as np import jax.numpy as jnp -from jax_md import space, partition -import freud - -from dmff.utils import regularize_pairs - - -class NeighborList: - def __init__(self, box, r_cutoff, covalent_map, dr_threshold=0, capacity_multiplier=1.25, format=Literal['dense', 'sparse', ]) -> None: - """wrapper of jax_md.space_periodic_general and jax_md.partition.NeighborList - - Args: - box (jnp.ndarray): A (spatial_dim, spatial_dim) affine transformation or [lx, ly, lz] vector - rc (float): cutoff radius - """ - self.box = box - self.rc = self.r_cutoff = r_cutoff - - self.dr_threshold = dr_threshold - self.capacity_multiplier = capacity_multiplier - - self.covalent_map = covalent_map - self.displacement_fn, self.shift_fn = space.periodic_general( - box, fractional_coordinates=False - ) - self.neighborlist_fn = partition.neighbor_list( - self.displacement_fn, box, r_cutoff, dr_threshold, format=partition.OrderedSparse - ) - self.nblist = None - - def allocate(self, positions: jnp.ndarray, box: Optional[jnp.ndarray] = None): - """ A function to allocate a new neighbor list. This function cannot be compiled, since it uses the values of positions to infer the shapes. +from itertools import permutations +try: + import freud +except ImportError: + freud = None + import warnings + warnings.warn("WARNING: freud not installed, users need to create neighbor list by themselves.") - Args: - positions (jnp.ndarray): particle positions - Returns: - jax_md.partition.NeighborList - """ - if self.nblist is None: - self.nblist = self.neighborlist_fn.allocate(positions) - else: - self.update(positions, box) - return self.pairs +class NeighborListFreud: + def __init__(self, box, rcut, cov_map, padding=True): + if freud is None: + raise ImportError("Freud not installed.") + self.fbox = freud.box.Box.from_matrix(box) + self.rcut = rcut + self.capacity_multiplier = None + self.padding = padding + self.cov_map = cov_map - def update(self, positions: jnp.ndarray, box: Optional[jnp.ndarray] = None): - """ A function to update a neighbor list given a new set of positions and a previously allocated neighbor list. + def _do_cov_map(self, pairs): + nbond = self.cov_map[pairs[:, 0], pairs[:, 1]] + pairs = jnp.concatenate([pairs, nbond[:, None]], axis=1) + return pairs - Args: - positions (jnp.ndarray): particle positions + def allocate(self, coords, box=None): + self._positions = coords # cache it + fbox = freud.box.Box.from_matrix(box) if box is not None else self.fbox + aq = freud.locality.AABBQuery(fbox, coords) + res = aq.query(coords, dict(r_max=self.rcut, exclude_ii=True)) + nlist = res.toNeighborList() + nlist = np.vstack((nlist[:, 0], nlist[:, 1])).T + nlist = nlist.astype(np.int32) + msk = (nlist[:, 0] - nlist[:, 1]) < 0 + nlist = nlist[msk] + if self.capacity_multiplier is None: + self.capacity_multiplier = int(nlist.shape[0] * 1.3) + + if not self.padding: + self._pairs = self._do_cov_map(nlist) + return self._pairs - Returns: - jax_md.partition.NeighborList - """ - if box is None: - self.nblist = self.nblist.update(positions) + self.capacity_multiplier = max(self.capacity_multiplier, nlist.shape[0]) + padding_width = self.capacity_multiplier - nlist.shape[0] + if padding_width == 0: + self._pairs = self._do_cov_map(nlist) + return self._pairs + elif padding_width > 0: + padding = np.ones((self.capacity_multiplier - nlist.shape[0], 2), dtype=np.int32) * coords.shape[0] + nlist = np.vstack((nlist, padding)) + self._pairs = self._do_cov_map(nlist) + return self._pairs else: - self.nblist = self.nblist.update(positions, box) - return self.pairs + raise ValueError("padding width < 0") + + def update(self, positions, box=None): + self.allocate(positions, box) @property def pairs(self): - """get raw pair index - - Returns: - jnp.ndarray: (nPairs, 2) - """ - if self.nblist is None: - raise RuntimeError("run nblist.allocate(positions) first") - pairs = self.nblist.idx.T - nbond = self.covalent_map[pairs[:, 0], pairs[:, 1]] - return jnp.concatenate([pairs, nbond[:, None]], axis=1) + return self._pairs @property def scaled_pairs(self): - """get regularized pair index and mask - - Returns: - (jnp.ndarray, jnp.ndarray): ((nParis, 2), (nPairs, )) - """ - - mask = jnp.sum(self.pairs[:, :2] == len(self.positions), axis=1) - mask = jnp.logical_not(mask) - pairs = regularize_pairs(self.pairs[:, :2]) - pairs = pairs[mask] - nbond = self.covalent_map[pairs[:, 0], pairs[:, 1]] - return jnp.concatenate([pairs, nbond[:, None]], axis=1) + return self._pairs @property def positions(self): - """get current positions in current neighborlist - - Returns: - jnp.ndarray: (n, 3) - """ - return self.nblist.reference_position - - @property - def did_buffer_overflow(self) -> bool: - """ - if the neighborlist buffer overflowed, return True + return self._positions - Returns - ------- - boolen - """ - return self.nblist.did_buffer_overflow +class NeighborList(NeighborListFreud): + ... -class NeighborListFreud: - def __init__(self, box, rcut, cov_map, padding=True): - self.fbox = freud.box.Box.from_matrix(box) - self.rcut = rcut +class NoCutoffNeighborList: + + def __init__(self, cov_map, padding=True): self.capacity_multiplier = None self.padding = padding self.cov_map = cov_map @@ -125,14 +87,9 @@ def _do_cov_map(self, pairs): def allocate(self, coords, box=None): self._positions = coords # cache it - fbox = freud.box.Box.from_matrix(box) if box is not None else self.fbox - aq = freud.locality.AABBQuery(fbox, coords) - res = aq.query(coords, dict(r_max=self.rcut, exclude_ii=True)) - nlist = res.toNeighborList() - nlist = np.vstack((nlist[:, 0], nlist[:, 1])).T - nlist = nlist.astype(np.int32) - msk = (nlist[:, 0] - nlist[:, 1]) < 0 - nlist = nlist[msk] + natoms = coords.shape[0] + nblist = np.fromiter(permutations(range(natoms), 2), dtype=np.dtype(int, 2)) + nlist = nblist[nblist[:, 0] < nblist[:, 1]] if self.capacity_multiplier is None: self.capacity_multiplier = int(nlist.shape[0] * 1.3) @@ -154,7 +111,7 @@ def allocate(self, coords, box=None): raise ValueError("padding width < 0") def update(self, positions, box=None): - self.allocate(positions, box) + self.allocate(positions) @property def pairs(self): @@ -167,3 +124,37 @@ def scaled_pairs(self): @property def positions(self): return self._positions + + +class NoPeriodicNeighborList(NoCutoffNeighborList): + + def __init__(self, rcut, cov_map, padding=True): + super().__init__(cov_map, padding) + self.rcut = rcut + + def allocate(self, coords): + self._positions = coords # cache it + natoms = coords.shape[0] + nblist = np.fromiter(permutations(range(natoms), 2), dtype=np.dtype(int, 2)) + nlist = nblist[nblist[:, 0] < nblist[:, 1]] + distances = np.linalg.norm(coords[nlist[:, 0]] - coords[nlist[:, 1]], axis=1) + nlist = nlist[distances < self.rcut] + if self.capacity_multiplier is None: + self.capacity_multiplier = int(nlist.shape[0] * 1.3) + + if not self.padding: + self._pairs = self._do_cov_map(nlist) + return self._pairs + + self.capacity_multiplier = max(self.capacity_multiplier, nlist.shape[0]) + padding_width = self.capacity_multiplier - nlist.shape[0] + if padding_width == 0: + self._pairs = self._do_cov_map(nlist) + return self._pairs + elif padding_width > 0: + padding = np.ones((self.capacity_multiplier - nlist.shape[0], 2), dtype=np.int32) * coords.shape[0] + nlist = np.vstack((nlist, padding)) + self._pairs = self._do_cov_map(nlist) + return self._pairs + else: + raise ValueError("padding width < 0") \ No newline at end of file diff --git a/dmff/eann/__init__.py b/dmff/eann/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/dmff/eann/eann.py b/dmff/eann/eann.py new file mode 100644 index 000000000..1c04dd400 --- /dev/null +++ b/dmff/eann/eann.py @@ -0,0 +1,321 @@ +import sys +from collections import OrderedDict +import jax +import jax.numpy as jnp +from jax import vmap, jit, value_and_grad +import numpy as np +from ..utils import jit_condition, regularize_pairs, pair_buffer_scales +from ..admp.pairwise import distribute_scalar, distribute_v3 +from ..admp.spatial import pbc_shift +from functools import partial +import jax.nn.initializers +import pickle +# from jax.config import config +# config.update("jax_debug_nans", True) + +def get_elem_indices(topology): + species = [] + elements = [] + # Create a list of (element, mass) tuples for unique elements + unique_elements = list(set((atom.element.symbol, atom.element.mass._value) for atom in topology.atoms())) + # Sort the unique elements based on mass + sorted_elements = sorted(unique_elements, key=lambda elem: elem[1]) + # Create a dictionary for quick lookup of element indices + element_index_dict = {elem[0]: i for i, elem in enumerate(sorted_elements)} + # Build the species list using element indices + for atom in topology.atoms(): + species.append(element_index_dict[atom.element.symbol]) + elem_indices = jnp.array(species) + n_elem = len(unique_elements) + return n_elem, elem_indices + +# Make printing parameters a little more readable +def parameter_shapes(params): + return jax.tree_util.tree_map(lambda p: p.shape, params) + +@jit_condition(static_argnums=()) +@partial(vmap, in_axes=(0, 0, None, None, None, None, None), out_axes=0) +def get_gto(i_atom, r, pairs, rc, rs, inta, species): + gto_i = jnp.exp(-inta[species[pairs[i_atom][1]]] * (r - rs[species[pairs[i_atom][1]]])**2) + gto_j = jnp.exp(-inta[species[pairs[i_atom][0]]] * (r - rs[species[pairs[i_atom][0]]])**2) + return gto_i, gto_j + +@jit_condition(static_argnums=()) +@partial(vmap, in_axes=(0, None), out_axes=0) +def cutoff_cosine(distances, cutoff): + return jnp.square(0.5 * jnp.cos(distances * (jnp.pi / cutoff)) + 0.5) + +@jit_condition(static_argnums=()) +@partial(vmap, in_axes=(0, 0, None), out_axes=0) +def distribute_pair_cij(i_elem, j_elem, cij): + return cij[j_elem] + +@jit_condition(static_argnums=()) +@partial(vmap, in_axes=(0, None, None, None), out_axes=(0)) +def reduce_atoms(i_atom, wfs, indices, buffer_scales): + mask = (indices == i_atom) + res = jnp.einsum('ijk,i,i', wfs, mask, buffer_scales) + return res + +def layer_norm(x, weight, bias, axis=-1, eps=1e-5): + mean = jnp.mean(x, axis=-1, keepdims=True) + var = jnp.var(x, axis=-1, keepdims=True) + std = jnp.sqrt(var + eps) + y = (x - mean) / std * weight + bias + return y + +# calculate neural network energy through features +# Linear, LayerNorm, Relu_Like, Linear, LayerNorm, Relu_Like, Linear +@jit_condition(static_argnums=()) +@partial(vmap, in_axes=(0, 0, None), out_axes=(0)) +def get_atomic_energies(features, elem_index, params): + # 0 Linear + features1 = features.dot(params['w.0'][elem_index].T) + params['b.0'][elem_index] + # 1 LayerNorm + features2 = layer_norm(features1, params['w.1'][elem_index], params['b.1'][elem_index]) + # 2 Relu_Like + features3 = params['w.2'][elem_index] * jax.nn.silu(features2 * params['b.2'][elem_index]) + # 3 Linear + features4 = features3.dot(params['w.3'][elem_index].T) + params['b.3'][elem_index] + # 4 LayerNorm + features5 = layer_norm(features4, params['w.4'][elem_index], params['b.4'][elem_index]) + # 5 Relu_Like + features6 = params['w.5'][elem_index] * jax.nn.silu(features5 * params['b.5'][elem_index]) + # 6 Linear + features7 = features6.dot(params['w.6'][elem_index].T) + params['b.6'][elem_index] + return features7 + + +class EANNForce: + + def __init__(self, + n_elem, + elem_indices, + n_gto=12, + rc=4, + nipsin=2, + beta=0.2, + sizes=(64, 64), + seed=12345): + """ Constructor + + Parameters + ---------- + n_elem: int + Number of elements in the model. + elem_indices: array of ints + Element type of each atom in the system. + n_gto: int + Number of GTOs used in EANN. + rc: float + Cutoff distances, used to determine initial rs and inta. + nipsin: int, optional + Largest L in angular channel. Default 2 + beta: float, optional + beta used to determine initial \Delta rs. Default 0.2 + sizes: tupple, ints, optional + Number of hidden neurons in the model, the length is number of layers. + Default (64, 64) + seed: int, optional + Seed for random number generator, default 12345 + + Examples + ---------- + + """ + self.n_elem = n_elem + self.n_gto = n_gto + self.rc = rc + self.beta = beta + self.sizes = sizes + self.n_layers = len(sizes) + self.nipsin = nipsin + self.elem_indices = elem_indices + self.n_atoms = len(elem_indices) + + # n_elements * n_features + self.n_features = (nipsin+1) * n_gto + cij = jnp.ones((n_elem, n_gto)) * 0.0 + rs, inta = self.get_init_rs(n_gto, beta, rc) + initpot = jnp.ones(1) * 0.0 + + # initialize NN params + key = jax.random.PRNGKey(seed) + initializer = jax.nn.initializers.he_uniform() + weights = [] + bias = [] + + dim_in = self.n_features + W = [] + B = [] + # Linear, LayerNorm, Relu_Like, Linear, LayerNorm, Relu_Like, Linear + for i_layer in range(self.n_layers): + dim_out = sizes[i_layer] + key, subkey = jax.random.split(key) + W.append(initializer(subkey, (n_elem, dim_in, dim_out))) + B.append(jnp.zeros((n_elem, dim_out))) + # LayerNorm + W.append(initializer(subkey, (n_elem, dim_out))) + B.append(jnp.zeros((n_elem, dim_out))) + # Relu_like + W.append(initializer(subkey, (n_elem, 1, dim_out))) + B.append(jnp.zeros((n_elem, 1, dim_out))) + dim_in = dim_out + key, subkey = jax.random.split(key) + W.append(initializer(subkey, (n_elem, dim_in))) + key, subkey = jax.random.split(key) + B.append(jax.random.uniform(subkey, shape=(n_elem,))) + + # prepare input parameters + # weights: weights[i_layer][n_elem, dim_in, dim_out] + # bias: bias[i_layer][n_elem, dim_out] + params = OrderedDict() + params = { + 'w': W, + 'b': B, + 'density.params': cij, + 'density.rs': rs, + 'density.inta': inta, + 'nnmod.initpot': initpot + } + self.params = params + # prepare angular channels + npara = [1] + for i in range(1,self.nipsin+1): + npara.append(3**i) + self.index_para = jnp.concatenate([jnp.ones((npara[i],), dtype=jnp.int32) * i for i in range(len(npara))]) + + # generate get_energy + self.get_energy = self.generate_get_energy() + + return + + def get_init_rs(self, n_gto, beta, rc): + """ + Generate initial values for rs and inta (exponents) + + Parameters + ---------- + n_gto: int + number of radial GTOs used in EANN + beta: float + beta used to determine initial \Delta rs. Default 0.2 + rc: float + cutoff distance + + Returns + ---------- + rs: + (3, n_gto): list of rs (for different radial channels) + inta: + (3, n_gto): list of inta + """ + drs = rc / (n_gto - 1 + 0.3333333333) + a = beta / drs / drs + # rs = jnp.arange(0, rc, drs) + # inta = jnp.ones(n_gto) * a + rs=jnp.stack([jnp.arange(0, rc, drs) for itype in range(self.n_elem)],axis=0) + inta=jnp.stack([jnp.ones(n_gto) * a for itype in range(self.n_elem)],axis=0) + return rs, inta + + def get_features(self, radial, dr, pairs, buffer_scales, orb_coeff): + """ Get atomic features from pairwise gto arrays + + Parameters + ---------- + gtos(radial): array, (2, n_pairs, nipsin+1, n_gtos) + pairwise gto values, that is, + cij * exp(-inta * (r-rs)**2) * 0.25*(cos(r/rc*pi) + 1)**2 + dr: array + dr_vec for each pair, pbc shifted + pairs: int array + Indices of interacting pairs + buffer_scales: float (0 or 1) + neighbor list buffer masks + + Returns + ---------- + features: (n_atom, n_features) array + Atomic features + + Examples + ---------- + """ + + dist_vec = jnp.concatenate((dr,-dr),axis=0) + dr_norm = jnp.linalg.norm(dist_vec, axis=1) + f_cut = cutoff_cosine(dr_norm, self.rc) + neigh_list = jnp.concatenate((pairs,pairs[:,[1,0]]),axis=0) + buffer_scales_ = jnp.concatenate((buffer_scales,buffer_scales),axis=0) + totneighbour = len(neigh_list) + prefacs = f_cut.reshape(1, -1) + angular = prefacs + for ipsin in range(1,self.nipsin+1): + prefacs = jnp.einsum("ji,ki->jki", prefacs, dist_vec.T).reshape(-1, totneighbour) + angular = jnp.vstack((angular, prefacs)) + orbital = jnp.einsum("ji,ik->ijk", angular, radial) + expandpara = orb_coeff[neigh_list[:,1],:] + worbital = jnp.einsum("ijk,ik,i->ijk", orbital, expandpara, buffer_scales_) + sum_worbital = jnp.zeros((self.n_atoms, orbital.shape[1], self.rs.shape[1]), dtype=orbital.dtype) + sum_worbital = sum_worbital.at[neigh_list[:,0], :, :].add(worbital) + features = jnp.zeros((self.n_atoms, self.nipsin+1, self.rs.shape[1]), dtype=orbital.dtype) + features = features.at[:,self.index_para,:].add(jnp.square(sum_worbital)) + features = features.reshape(self.n_atoms,-1) + return features + + + def generate_get_energy(self): + + @jit_condition(static_argnums=()) + def get_energy(positions, box, pairs, params): + """ Get energy + This function returns the EANN energy. + + Parameters + ---------- + positions: (n_atom, 3) array + The positions of all atoms, in cartesian + box: (3, 3) array + The box array, arranged in rows + pairs: jax_md nbl index + The neighbor list, in jax_md.partition.OrderedSparse format + params: dict + The parameter dictionary, including the following keys: + c: ${c_{ij}} of all exponent prefactors, (n_elem, n_elem) + rs: distance shifts of all radial gaussian functions, (n_gto,) + inta: the exponents, (n_gto,) + w: weights of NN, list of (n_elem, dim_in, dime_out) array, with a length of n_layer + b: bias of NN, list of (n_elem, dim_out) array, with a length of n_layer + + Returns: + ---------- + energy: float or double + EANN energy + + Examples: + ---------- + """ + pairs = pairs[:,:2] + pairs = regularize_pairs(pairs) + buffer_scales = pair_buffer_scales(pairs) + + # get distances + box_inv = jnp.linalg.inv(box) + ri = distribute_v3(positions, pairs[:, 0]) + rj = distribute_v3(positions, pairs[:, 1]) + dr = rj - ri + dr = pbc_shift(dr, box, box_inv) + + dr_norm = jnp.linalg.norm(dr, axis=1) + self.rs = params['density.rs'] + self.inta = params['density.inta'] + + radial_i, radial_j = get_gto(jnp.arange(len(dr_norm)), dr_norm, pairs, self.rc, self.rs, self.inta, self.elem_indices) + radial = jnp.concatenate((radial_i,radial_j), axis=0) + orb_coeff = params['density.params'][self.elem_indices,:] # (48,16) + + features = self.get_features(radial, dr, pairs, buffer_scales, orb_coeff) + atomic_energies = get_atomic_energies(features, self.elem_indices, params) + return jnp.sum(atomic_energies + params['nnmod.initpot'][0]) + + return get_energy \ No newline at end of file diff --git a/dmff/fftree.py b/dmff/fftree.py deleted file mode 100644 index 9a7ebc39e..000000000 --- a/dmff/fftree.py +++ /dev/null @@ -1,537 +0,0 @@ -import os -import xml.etree.ElementTree as ET -import xml.dom.minidom -from dmff.utils import convertStr2Float, DMFFException -from typing import Dict, List, Union, TypeVar -from itertools import permutations -from openmm.app.forcefield import _getDataDirectories - - -value = TypeVar('value') # generic type: interpreted as either a number or str - - -class SelectError(BaseException): - pass - - -class Node: - def __init__(self, tag, **attrs): - - self.tag = tag - #TODO: self.parent = parent - self.attrs = attrs - self.children = [] - - def add_child(self, child: 'Node'): - - self.children.append(child) - - def add_children(self, children: List['Node']): - self.children.extend(children) - - def get_children(self, key): - return [c for c in self.children if c.tag == key] - - def get_child(self, key): - for child in self.children: - if child.tag == key: - return child - - def __getitem__(self, key): - - return self.attrs[key] - - def __repr__(self): - return f'<{self.tag}: {self.attrs}, with {len(self.children)} subnodes>' - - def __iter__(self): - return iter(self.children) - - def __contains__(self, key): - if self.get_child(key): - return True - else: - return False - - -class ForcefieldTree(Node): - def __init__(self, tag, **attrs): - - super().__init__(tag, **attrs) - - def get_nodes(self, parser:str)->List[Node]: - """ - get all nodes of a certain path - - Examples - -------- - >>> fftree.get_nodes('HarmonicBondForce/Bond') - >>> [, , ...] - - Parameters - ---------- - parser : str - a path to locate nodes - - Returns - ------- - List[Node] - a list of Node - """ - steps = parser.split("/") - val = self - for nstep, step in enumerate(steps): - name, index = step, -1 - if "[" in step: - name, index = step.split("[") - index = int(index[:-1]) - val = [c for c in val.children if c.tag == name] - if index >= 0: - val = val[index] - elif nstep < len(steps) - 1: - val = val[0] - return val - - def get_attribs(self, parser:str, attrname:Union[str, List[str]], convert_to_float: bool = True)->List[Union[value, List[value]]]: - """ - get all values of attributes of nodes which nodes matching certain path - - Examples: - --------- - >>> fftree.get_attribs('HarmonicBondForce/Bond', 'k') - >>> [2.0, 2.0, 2.0, 2.0, 2.0, ...] - >>> fftree.get_attribs('HarmonicBondForce/Bond', ['k', 'r0']) - >>> [[2.0, 1.53], [2.0, 1.53], ...] - - Parameters - ---------- - parser : str - a path to locate nodes - attrname : _type_ - attribute name or a list of attribute names of a node - conver_to_float : bool - whether to covert the value of query attrnames to float type - - Returns - ------- - List[Union[float, str]] - a list of values of attributes - """ - sel = self.get_nodes(parser) - if isinstance(attrname, list): - ret = [] - for item in sel: - vals = [] - for an in attrname: - if an in item.attrs: - val = convertStr2Float(item.attrs[an]) if convert_to_float else item.attrs[an] - else: - val = None - vals.append(val) - ret.append(vals) - return ret - else: - attrs = [] - for n in sel: - if attrname in n.attrs: - val = convertStr2Float(n.attrs[attrname]) if convert_to_float else n.attrs[attrname] - else: - val = None - attrs.append(val) - return attrs - - def set_node(self, parser:str, values:List[Dict[str, value]])->None: - """ - set attributes of nodes which nodes matching certain path - - Parameters - ---------- - parser : str - path to locate nodes - values : List[Dict[str, value]] - a list of Dict[str, value], where value is any type can be convert to str of a number. - - Examples - -------- - >>> fftree.set_node('HarmonicBondForce/Bond', - [{'k': 2.0, 'r0': 1.53}, - {'k': 2.0, 'r0': 1.53}]) - """ - nodes = self.get_nodes(parser) - for nit in range(len(values)): - for key in values[nit]: - nodes[nit].attrs[key] = f"{values[nit][key]}" - - def set_attrib(self, parser:str, attrname:str, values:Union[value, List[value]])->None: - """ - set ONE Attribute of nodes which nodes matching certain path - - Parameters - ---------- - parser : str - path to locate nodes - attrname : str - attribute name - values : Union[float, str, List[float, str]] - attribute value or a list of attribute values of a node - - Examples - -------- - >>> fftree.set_attrib('HarmonicBondForce/Bond', 'k', 2.0) - >>> fftree.set_attrib('HarmonicBondForce/Bond', 'k', [2.0, 2.0, 2.0, 2.0, 2.0]) - - """ - if len(values) == 0: - valdicts = [{attrname: values}] - else: - valdicts = [{attrname: i} for i in values] - self.set_node(parser, valdicts) - - -class XMLParser: - def __init__(self, ffTree: ForcefieldTree): - - self.ff = ffTree - - def parse_node(self, root): - - node = ForcefieldTree(tag=root.tag, **root.attrib) - children = list(map(self.parse_node, root)) - if children: - node.add_children(children) - return node - - def _render_interal_ff_path(self, xml): - rendered_xml = xml - for dataDir in _getDataDirectories(): - rendered_xml = os.path.join(dataDir, xml) - if os.path.isfile(rendered_xml): - break - return rendered_xml - - def parse(self, *xmls): - for xml in xmls: - if not os.path.isfile(xml): - xml = self._render_interal_ff_path(xml) - root = ET.parse(xml).getroot() - for leaf in root: - n = self.parse_node(leaf) - ifExist = False - for nchild, child in enumerate(self.ff.children): - if child.tag == n.tag: - ifExist = True - break - if ifExist: - self.ff.children[nchild].add_children(n.children) - else: - self.ff.add_child(n) - - def write_node(self, parent, node): - parent = ET.SubElement(parent, node.tag, node.attrs) - for sibiling in node: - tmp = ET.SubElement(parent, sibiling.tag, sibiling.attrs) - for child in sibiling: - self.write_node(tmp, child) - - @staticmethod - def pretty_print(element): - initstr = ET.tostring(element, "unicode") - pretxml = xml.dom.minidom.parseString(initstr) - pretstr = pretxml.toprettyxml() - return pretstr - - def write(self, path): - - root = ET.Element('Forcefield') - - for child in self.ff: - if child.tag == 'Residues': - Residues = ET.SubElement(root, 'Residues') - for residue in child: - self.write_node(Residues, residue) - else: - self.write_node(root, child) - outstr = self.pretty_print(root) - with open(path, "w") as f: - f.write(outstr) - - -class TypeMatcher: - def __init__(self, fftree: ForcefieldTree, parser: str): - """ - Freeze type matching list. - """ - # not convert to float for atom types - self.useSmirks = False - - atypes = fftree.get_attribs("AtomTypes/Type", "name", convert_to_float=False) - aclasses = fftree.get_attribs("AtomTypes/Type", "class", convert_to_float=False) - self.class2type = {} - for nline in range(len(atypes)): - if aclasses[nline] not in self.class2type: - self.class2type[aclasses[nline]] = [] - self.class2type[aclasses[nline]].append(atypes[nline]) - self.class2type[""] = atypes - funcs = fftree.get_nodes(parser) - self.functions = [] - for node in funcs: - tmp = [] - for key in node.attrs: - if len(key) > 4 and "type" == key[:4]: - nit = int(key[4:]) - if len(node.attrs[key]) == 0: - tmp.append((nit, atypes)) - else: - tmp.append((nit, [node.attrs[key]])) - elif key == "type": - tmp.append((1, [node.attrs[key]])) - elif len(key) > 5 and "class" == key[:5]: - nit = int(key[5:]) - tmp.append((nit, self.class2type.get(node.attrs[key], [None]))) - elif key == "class": - tmp.append((1, self.class2type.get(node.attrs[key], [None]))) - elif key == "smirks": - self.useSmirks = True - self.functions.append(node.attrs[key]) - - if not self.useSmirks: - tmp = sorted(tmp, key=lambda x: x[0]) - self.functions.append([i[1] for i in tmp]) - - def matchGeneral(self, types): - matches = [] - for nterm, term in enumerate(self.functions): - ifMatch, ifForward = self._match(types, term) - if ifMatch: - matches.append((ifMatch, ifForward, nterm)) - if len(matches) == 0: - return False, False, -1 - return matches[-1] - - def matchSmirks(self, rdmol): - """ - Match smirks - """ - from rdkit import Chem - - if rdmol is None: - raise DMFFException("No rdkit.Chem.Mol object is provided") - - matches_dict = {} - for idx, smk in enumerate(self.functions): - patt = Chem.MolFromSmarts(smk) - matches = rdmol.GetSubstructMatches(patt) - for match in matches: - if len(match) == 2: - canonical_match = (min(match), max(match)) - elif len(match) == 3: - canonical_match = (min([match[0], match[2]]), match[1], max([match[0], match[2]])) - elif len(match) == 4: - canonical_match = (match[3], match[2], match[1], match[0]) if match[2] < match[1] else match - elif len(match) == 1: - canonical_match = match - else: - raise DMFFException(f"Invalid SMIRKS: {smk}") - matches_dict.update({canonical_match: idx}) - - return matches_dict - - def matchSmirksNoSort(self, rdmol): - """ - Match smirks, but no sorting the matched atom indices - """ - from rdkit import Chem - - if rdmol is None: - raise DMFFException("No rdkit.Chem.Mol object is provided") - - matches_dict = {} - for idx, smk in enumerate(self.functions): - patt = Chem.MolFromSmarts(smk) - matches = rdmol.GetSubstructMatches(patt) - for match in matches: - matches_dict.update({match: idx}) - - return matches_dict - - def matchSmirksBCC(self, rdmol): - """ - Match smirks for bcc - """ - from rdkit import Chem - - if rdmol is None: - raise DMFFException("No rdkit.Chem.Mol object is provided") - - matches_dict = {} - for idx, smk in enumerate(self.functions): - patt = Chem.MolFromSmarts(smk) - matches = rdmol.GetSubstructMatches(patt) - for match in matches: - assert len(match) == 2 - if (match[1], match[0]) in matches_dict: - matches_dict.pop((match[1], match[0])) - matches_dict.update({(match[1], match[0]): idx}) - else: - matches_dict.update({match: idx}) - - return matches_dict - - - def matchSmirksImproper(self, rdmol): - """ - Match smirks for improper torsions - """ - from rdkit import Chem - - if rdmol is None: - raise DMFFException("No rdkit.Chem.Mol object is provided") - - matches_dict = {} - for idx, smk in enumerate(self.functions): - patt = Chem.MolFromSmarts(smk) - matches = rdmol.GetSubstructMatches(patt) - hasWildcard = "*" in smk - for match in matches: - # Be the most consistent with AMBER, in which ordering is determined in this way - atnums = [rdmol.GetAtomWithIdx(i).GetAtomicNum() for i in match] - if hasWildcard: - if atnums[1] == atnums[2] and match[1] > match[2]: - canonical_match = (match[2], match[1], match[0], match[3]) - elif atnums[1] != 6 and (atnums[2] == 6 or atnums[1] < atnums[2]): - canonical_match = (match[2], match[1], match[0], match[3]) - else: - canonical_match = (match[1], match[2], match[0], match[3]) - else: - canonical_match = match - matches_dict.update({canonical_match: idx}) - - return matches_dict - - def _match(self, types, term): - if len(types) != len(term): - raise DMFFException( - "The length of matching types is not equivalent to the forcefield term." - ) - # Forward - ifMatchForward = True - for ntypes in range(len(types)): - if len(types[ntypes]) == 0: - continue - if types[ntypes] not in term[ntypes]: - ifMatchForward = False - break - ifMatchReverse = True - for ntypes in range(len(types)): - if len(types[len(types) - ntypes - 1]) == 0: - continue - if types[len(types) - ntypes - 1] not in term[ntypes]: - ifMatchReverse = False - break - return ifMatchForward or ifMatchReverse, ifMatchForward - - def matchImproper(self, torsion, data, ordering="amber"): - type1, type2, type3, type4 = [data.atomType[data.atoms[torsion[i]]] for i in range(4)] - match = None - for nterm, term in enumerate(self.functions): - types1 = term[0] - types2 = term[1] - types3 = term[2] - types4 = term[3] - hasWildcard = (len(self.class2type[""]) - in (len(types1), len(types2), len(types3), - len(types4))) - if type1 in types1: - for (t2, t3, t4) in permutations(((type2, 1), (type3, 2), (type4, 3))): - if t2[0] in types2 and t3[0] in types3 and t4[0] in types4: - if ordering == 'default': - # Workaround to be more consistent with AMBER. It uses wildcards to define most of its - # impropers, which leaves the ordering ambiguous. It then follows some bizarre rules - # to pick the order. - a1 = torsion[t2[1]] - a2 = torsion[t3[1]] - e1 = data.atoms[a1].element - e2 = data.atoms[a2].element - if e1 == e2 and a1 > a2: - (a1, a2) = (a2, a1) - elif e1.symbol != "C" and (e2.symbol == "C" or e1.mass < e2.mass): - (a1, a2) = (a2, a1) - match = (a1, a2, torsion[0], torsion[t4[1]], nterm) - break - elif ordering == 'charmm': - if hasWildcard: - # Workaround to be more consistent with AMBER. It uses wildcards to define most of its - # impropers, which leaves the ordering ambiguous. It then follows some bizarre rules - # to pick the order. - a1 = torsion[t2[1]] - a2 = torsion[t3[1]] - e1 = data.atoms[a1].element - e2 = data.atoms[a2].element - if e1 == e2 and a1 > a2: - (a1, a2) = (a2, a1) - elif e1.symbol != "C" and (e2.symbol == "C" or e1.mass < e2.mass): - (a1, a2) = (a2, a1) - match = (a1, a2, torsion[0], torsion[t4[1]], nterm) - else: - # There are no wildcards, so the order is unambiguous. - match = (torsion[0], torsion[t2[1]], torsion[t3[1]], torsion[t4[1]], nterm) - break - elif ordering == 'amber': - # topology atom indexes - a2 = torsion[t2[1]] - a3 = torsion[t3[1]] - a4 = torsion[t4[1]] - # residue indexes - r2 = data.atoms[a2].residue.index - r3 = data.atoms[a3].residue.index - r4 = data.atoms[a4].residue.index - # template atom indexes - ta2 = data.atomTemplateIndexes[data.atoms[a2]] - ta3 = data.atomTemplateIndexes[data.atoms[a3]] - ta4 = data.atomTemplateIndexes[data.atoms[a4]] - # elements - e2 = data.atoms[a2].element - e3 = data.atoms[a3].element - e4 = data.atoms[a4].element - if not hasWildcard: - if t2[0] == t4[0] and (r2 > r4 or (r2 == r4 and ta2 > ta4)): - (a2, a4) = (a4, a2) - r2 = data.atoms[a2].residue.index - r4 = data.atoms[a4].residue.index - ta2 = data.atomTemplateIndexes[data.atoms[a2]] - ta4 = data.atomTemplateIndexes[data.atoms[a4]] - if t3[0] == t4[0] and (r3 > r4 or (r3 == r4 and ta3 > ta4)): - (a3, a4) = (a4, a3) - r3 = data.atoms[a3].residue.index - r4 = data.atoms[a4].residue.index - ta3 = data.atomTemplateIndexes[data.atoms[a3]] - ta4 = data.atomTemplateIndexes[data.atoms[a4]] - if t2[0] == t3[0] and (r2 > r3 or (r2 == r3 and ta2 > ta3)): - (a2, a3) = (a3, a2) - else: - if e2 == e4 and (r2 > r4 or (r2 == r4 and ta2 > ta4)): - (a2, a4) = (a4, a2) - r2 = data.atoms[a2].residue.index - r4 = data.atoms[a4].residue.index - ta2 = data.atomTemplateIndexes[data.atoms[a2]] - ta4 = data.atomTemplateIndexes[data.atoms[a4]] - if e3 == e4 and (r3 > r4 or (r3 == r4 and ta3 > ta4)): - (a3, a4) = (a4, a3) - r3 = data.atoms[a3].residue.index - r4 = data.atoms[a4].residue.index - ta3 = data.atomTemplateIndexes[data.atoms[a3]] - ta4 = data.atomTemplateIndexes[data.atoms[a4]] - if r2 > r3 or (r2 == r3 and ta2 > ta3): - (a2, a3) = (a3, a2) - match = (a2, a3, torsion[0], a4, nterm) - break - elif ordering == 'smirnoff': - # topology atom indexes - a1 = torsion[0] - a2 = torsion[t2[1]] - a3 = torsion[t3[1]] - a4 = torsion[t4[1]] - # enforce exact match - match = (a1, a2, a3, a4, nterm) - break - return match \ No newline at end of file diff --git a/dmff/generators/__init__.py b/dmff/generators/__init__.py index 7bf876ff3..e0cc929f6 100644 --- a/dmff/generators/__init__.py +++ b/dmff/generators/__init__.py @@ -1,2 +1,4 @@ -from .admp import * from .classical import * +from .admp import * +from .ml import * +from .qeq import * diff --git a/dmff/generators/admp.py b/dmff/generators/admp.py index ce7c4edec..e28576688 100644 --- a/dmff/generators/admp.py +++ b/dmff/generators/admp.py @@ -1,77 +1,139 @@ -import sys - +from ..api.topology import DMFFTopology +from ..api.paramset import ParamSet +from ..api.hamiltonian import _DMFFGenerators +from ..utils import DMFFException, isinstance_jnp +from ..admp.pme import setup_ewald_parameters import numpy as np import jax.numpy as jnp - import openmm.app as app import openmm.unit as unit - -import dmff -from dmff.api import build_covalent_map -from dmff.admp.disp_pme import ADMPDispPmeForce -from dmff.admp.multipole import convert_cart2harm, convert_harm2cart -from dmff.admp.pairwise import ( - TT_damping_qq_c6_kernel, +from ..admp.disp_pme import ADMPDispPmeForce +from ..admp.multipole import convert_cart2harm, convert_harm2cart +from ..admp.pairwise import ( + TT_damping_qq_c6_kernel, generate_pairwise_interaction, - slater_disp_damping_kernel, + slater_disp_damping_kernel, slater_sr_kernel, - TT_damping_qq_kernel + TT_damping_qq_kernel, ) -from dmff.admp.pme import ADMPPmeForce +from ..admp.pme import ADMPPmeForce class ADMPDispGenerator: - def __init__(self, ff): - + def __init__(self, ffinfo: dict, paramset: ParamSet): self.name = "ADMPDispForce" - self.ff = ff - self.fftree = ff.fftree - self.paramtree = ff.paramtree + self.ffinfo = ffinfo + paramset.addField(self.name) + self.key_type = None # default params self._jaxPotential = None self.types = [] self.ethresh = 5e-4 self.pmax = 10 - self._meta = {} - def extract(self): + default_scales = [0.0, 0.0, 0.0, 1.0, 1.0] mScales = [ - self.fftree.get_attribs(f'{self.name}', f'mScale1{i}')[0] + float( + self.ffinfo["Forces"][self.name]["meta"].get( + f"mScale1{i}", default_scales[i - 2] + ) + ) for i in range(2, 7) ] mScales.append(1.0) - self.paramtree[self.name] = {} - self.paramtree[self.name]['mScales'] = jnp.array(mScales) - - ABQC = self.fftree.get_attribs(f'{self.name}/Atom', - ['A', 'B', 'Q', 'C6', 'C8', 'C10']) - - ABQC = np.array(ABQC) - A = ABQC[:, 0] - B = ABQC[:, 1] - Q = ABQC[:, 2] - C6 = ABQC[:, 3] - C8 = ABQC[:, 4] - C10 = ABQC[:, 5] - - self.paramtree[self.name]['A'] = jnp.array(A) - self.paramtree[self.name]['B'] = jnp.array(B) - self.paramtree[self.name]['Q'] = jnp.array(Q) - self.paramtree[self.name]['C6'] = jnp.array(C6) - self.paramtree[self.name]['C8'] = jnp.array(C8) - self.paramtree[self.name]['C10'] = jnp.array(C10) - - atomTypes = self.fftree.get_attribs(f'{self.name}/Atom', f'type') - if type(atomTypes[0]) != str: - self.atomTypes = np.array(atomTypes, dtype=int).astype(str) - else: - self.atomTypes = np.array(atomTypes) - - def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, - args): + self.mScales = jnp.array(mScales) + + A, B, Q, C6, C8, C10 = [], [], [], [], [], [] + self.atom_keys = [] + atom_mask = [] + for node in self.ffinfo["Forces"][self.name]["node"]: + if node["name"] == "Atom": + attribs = node["attrib"] + if "type" in attribs: + self.key_type = "type" + elif "class" in attribs: + self.key_type = "class" + self.atom_keys.append(attribs[self.key_type]) + A.append(float(attribs["A"])) + B.append(float(attribs["B"])) + Q.append(float(attribs["Q"])) + C6.append(float(attribs["C6"])) + C8.append(float(attribs["C8"])) + C10.append(float(attribs["C10"])) + mask = 1.0 + if "mask" in attribs and attribs["mask"].upper() == "TRUE": + mask = 0.0 + atom_mask.append(mask) + A = jnp.array(A) + B = jnp.array(B) + Q = jnp.array(Q) + C6 = jnp.array(C6) + C8 = jnp.array(C8) + C10 = jnp.array(C10) + self.atom_keys = np.array(self.atom_keys) + atom_mask = jnp.array(atom_mask) + paramset.addParameter(A, "A", field=self.name, mask=atom_mask) + paramset.addParameter(B, "B", field=self.name, mask=atom_mask) + paramset.addParameter(Q, "Q", field=self.name, mask=atom_mask) + paramset.addParameter(C6, "C6", field=self.name, mask=atom_mask) + paramset.addParameter(C8, "C8", field=self.name, mask=atom_mask) + paramset.addParameter(C10, "C10", field=self.name, mask=atom_mask) + + def getName(self): + return self.name + + def overwrite(self, paramset): + atom_mask = paramset.mask[self.name]["A"] + A = paramset[self.name]["A"] + B = paramset[self.name]["B"] + Q = paramset[self.name]["Q"] + C6 = paramset[self.name]["C6"] + C8 = paramset[self.name]["C8"] + C10 = paramset[self.name]["C10"] + + node2atom = [ + i + for i in range(len(self.ffinfo["Forces"][self.name]["node"])) + if self.ffinfo["Forces"][self.name]["node"][i]["name"] == "Atom" + ] + for natom in range(len(self.atom_keys)): + nnode = node2atom[natom] + A_new = A[natom] + B_new = B[natom] + Q_new = Q[natom] + C6_new = C6[natom] + C8_new = C8[natom] + C10_new = C10[natom] + mask = atom_mask[natom] + self.ffinfo["Forces"][self.name]["node"][nnode]["attrib"]["A"] = str(A_new) + self.ffinfo["Forces"][self.name]["node"][nnode]["attrib"]["B"] = str(B_new) + self.ffinfo["Forces"][self.name]["node"][nnode]["attrib"]["Q"] = str(Q_new) + self.ffinfo["Forces"][self.name]["node"][nnode]["attrib"]["C6"] = str( + C6_new + ) + self.ffinfo["Forces"][self.name]["node"][nnode]["attrib"]["C8"] = str( + C8_new + ) + self.ffinfo["Forces"][self.name]["node"][nnode]["attrib"]["C10"] = str( + C10_new + ) + if mask < 0.999: + self.ffinfo["Forces"][self.name]["node"][nnode]["attrib"][ + "mask" + ] = "true" + + def _find_atype_key_index(self, atype: str): + for n, i in enumerate(self.atom_keys): + if i == atype: + return n + return None + + def createPotential( + self, topdata: DMFFTopology, nonbondedMethod, nonbondedCutoff, **kwargs + ): methodMap = { app.CutoffPeriodic: "CutoffPeriodic", app.NoCutoff: "NoCutoff", @@ -80,95 +142,80 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, if nonbondedMethod not in methodMap: raise ValueError("Illegal nonbonded method for ADMPDispForce") if nonbondedMethod is app.CutoffPeriodic: - self.lpme = False + lpme = False else: - self.lpme = True + lpme = True - n_atoms = len(data.atoms) + n_atoms = topdata.getNumAtoms() + atoms = [a for a in topdata.atoms()] # build index map map_atomtype = np.zeros(n_atoms, dtype=int) for i in range(n_atoms): - atype = data.atomType[data.atoms[i]] - map_atomtype[i] = np.where(self.atomTypes == atype)[0][0] - self.map_atomtype = map_atomtype - # build covalent map - self.covalent_map = build_covalent_map(data, 6) - self._meta["cov_map"] = self.covalent_map - self._meta["ADMPDispForce_map_atomtype"] = map_atomtype + atype = atoms[i].meta[self.key_type] + map_atomtype[i] = self._find_atype_key_index(atype) + topdata._meta[self.name+"_map_atomtype"] = map_atomtype # here box is only used to setup ewald parameters, no need to be differentiable - a, b, c = system.getDefaultPeriodicBoxVectors() - box = jnp.array([a._value, b._value, c._value]) * 10 + if lpme: + box = topdata.getPeriodicBoxVectors() * 10 + else: + box = jnp.ones((3, 3)) # get the admp calculator - rc = nonbondedCutoff.value_in_unit(unit.angstrom) + if unit.is_quantity(nonbondedCutoff): + rc = nonbondedCutoff.value_in_unit(unit.angstrom) + else: + rc = nonbondedCutoff * 10.0 # get calculator - if "ethresh" in args: - self.ethresh = args["ethresh"] - - Force_DispPME = ADMPDispPmeForce(box, - rc, - self.ethresh, - self.pmax, - lpme=self.lpme) + if "ethresh" in kwargs: + self.ethresh = kwargs["ethresh"] + + Force_DispPME = ADMPDispPmeForce(box, rc, self.ethresh, self.pmax, lpme=lpme) self.disp_pme_force = Force_DispPME pot_fn_lr = Force_DispPME.get_energy - pot_fn_sr = generate_pairwise_interaction(TT_damping_qq_c6_kernel, - static_args={}) + pot_fn_sr = generate_pairwise_interaction( + TT_damping_qq_c6_kernel, static_args={} + ) + + has_aux = False + if "has_aux" in kwargs and kwargs["has_aux"]: + has_aux = True + + def potential_fn(positions, box, pairs, params, aux=None): + # Assume nm for frontend functions, still uses Angstrom for backend + positions = positions * 10 + box = box * 10 - def potential_fn(positions, box, pairs, params): params = params[self.name] - mScales = params["mScales"] - a_list = (params["A"][map_atomtype] / 2625.5 - ) # kj/mol to au, as expected by TT_damping kernel + mScales = self.mScales + a_list = ( + params["A"][map_atomtype] / 2625.5 + ) # kj/mol to au, as expected by TT_damping kernel b_list = params["B"][map_atomtype] * 0.0529177249 # nm^-1 to au q_list = params["Q"][map_atomtype] + # the input parameters are assumed to be in nm too, need to convert to Angstrom c6_list = jnp.sqrt(params["C6"][map_atomtype] * 1e6) c8_list = jnp.sqrt(params["C8"][map_atomtype] * 1e8) c10_list = jnp.sqrt(params["C10"][map_atomtype] * 1e10) c_list = jnp.vstack((c6_list, c8_list, c10_list)) - E_sr = pot_fn_sr(positions, box, pairs, mScales, a_list, b_list, - q_list, c_list[0]) + E_sr = pot_fn_sr( + positions, box, pairs, mScales, a_list, b_list, q_list, c_list[0] + ) E_lr = pot_fn_lr(positions, box, pairs, c_list.T, mScales) - return E_sr - E_lr + if has_aux: + return E_sr - E_lr, aux + else: + return E_sr - E_lr self._jaxPotential = potential_fn + return potential_fn # self._top_data = data - def overwrite(self): - - self.fftree.set_attrib(f'{self.name}', 'mScale12', - [self.paramtree[self.name]['mScales'][0]]) - self.fftree.set_attrib(f'{self.name}', 'mScale13', - [self.paramtree[self.name]['mScales'][1]]) - self.fftree.set_attrib(f'{self.name}', 'mScale14', - [self.paramtree[self.name]['mScales'][2]]) - self.fftree.set_attrib(f'{self.name}', 'mScale15', - [self.paramtree[self.name]['mScales'][3]]) - self.fftree.set_attrib(f'{self.name}', 'mScale16', - [self.paramtree[self.name]['mScales'][4]]) - - self.fftree.set_attrib(f'{self.name}/Atom', 'A', - [self.paramtree[self.name]['A']]) - self.fftree.set_attrib(f'{self.name}/Atom', 'B', - [self.paramtree[self.name]['B']]) - self.fftree.set_attrib(f'{self.name}/Atom', 'Q', - [self.paramtree[self.name]['Q']]) - self.fftree.set_attrib(f'{self.name}/Atom', 'C6', - [self.paramtree[self.name]['C6']]) - self.fftree.set_attrib(f'{self.name}/Atom', 'C8', - [self.paramtree[self.name]['C8']]) - self.fftree.set_attrib(f'{self.name}/Atom', 'C10', - [self.paramtree[self.name]['C10']]) - def getJaxPotential(self): return self._jaxPotential - - def getMetaData(self): - return self._meta -dmff.api.jaxGenerators['ADMPDispForce'] = ADMPDispGenerator +_DMFFGenerators["ADMPDispForce"] = ADMPDispGenerator class ADMPDispPmeGenerator: @@ -176,66 +223,103 @@ class ADMPDispPmeGenerator: This one computes the undamped C6/C8/C10 interactions u = \sum_{ij} c6/r^6 + c8/r^8 + c10/r^10 """ - def __init__(self, ff): - self.ff = ff - self.fftree = ff.fftree - self.paramtree = ff.paramtree - self.params = {"C6": [], "C8": [], "C10": []} + def __init__(self, ffinfo, paramset): + self.name = "ADMPDispPmeForce" + self.ffinfo = ffinfo + paramset.addField(self.name) + self.key_type = None + self._jaxPotential = None - self.atomTypes = None + self.atom_types = None self.ethresh = 5e-4 self.pmax = 10 self.name = "ADMPDispPmeForce" self._meta = {} - - def extract(self): + default_scales = [0.0, 0.0, 0.0, 1.0, 1.0] mScales = [ - self.fftree.get_attribs(f'{self.name}', f'mScale1{i}')[0] + float( + self.ffinfo["Forces"][self.name]["meta"].get( + f"mScale1{i}", default_scales[i - 2] + ) + ) for i in range(2, 7) ] mScales.append(1.0) + self.mScales = jnp.array(mScales) + + C6, C8, C10 = [], [], [] + self.atom_keys = [] + atom_mask = [] + for node in self.ffinfo["Forces"][self.name]["node"]: + if node["name"] == "Atom": + attribs = node["attrib"] + if "type" in attribs: + self.key_type = "type" + elif "class" in attribs: + self.key_type = "class" + self.atom_keys.append(attribs[self.key_type]) + C6.append(float(attribs["C6"])) + C8.append(float(attribs["C8"])) + C10.append(float(attribs["C10"])) + mask = 1.0 + if "mask" in attribs and attribs["mask"].upper() == "TRUE": + mask = 0.0 + atom_mask.append(mask) + C6 = jnp.array(C6) + C8 = jnp.array(C8) + C10 = jnp.array(C10) + atom_mask = jnp.array(atom_mask) + self.atom_keys = np.array(self.atom_keys) + paramset.addParameter(C6, "C6", field=self.name, mask=atom_mask) + paramset.addParameter(C8, "C8", field=self.name, mask=atom_mask) + paramset.addParameter(C10, "C10", field=self.name, mask=atom_mask) + + def getName(self): + return self.name + + def overwrite(self, paramset): + atom_mask = paramset.mask[self.name]["sigma"] + C6 = paramset[self.name]["C6"] + C8 = paramset[self.name]["C8"] + C10 = paramset[self.name]["C10"] + + node2atom = [ + i + for i in range(len(self.ffinfo["Forces"][self.name]["node"])) + if self.ffinfo["Forces"][self.name]["node"][i]["name"] == "Atom" + ] - self.paramtree[self.name] = {} - self.paramtree[self.name]['mScales'] = jnp.array(mScales) - - C6 = self.fftree.get_attribs(f'{self.name}/Atom', f'C6') - C8 = self.fftree.get_attribs(f'{self.name}/Atom', f'C8') - C10 = self.fftree.get_attribs(f'{self.name}/Atom', f'C10') - - self.paramtree[self.name]['C6'] = jnp.array(C6) - self.paramtree[self.name]['C8'] = jnp.array(C8) - self.paramtree[self.name]['C10'] = jnp.array(C10) - - atomTypes = self.fftree.get_attribs(f'{self.name}/Atom', f'type') - if type(atomTypes[0]) != str: - self.atomTypes = np.array(atomTypes, dtype=int).astype(str) - else: - self.atomTypes = np.array(atomTypes) - - def overwrite(self): - - self.fftree.set_attrib(f'{self.name}', 'mScale12', - [self.paramtree[self.name]['mScales'][0]]) - self.fftree.set_attrib(f'{self.name}', 'mScale13', - [self.paramtree[self.name]['mScales'][1]]) - self.fftree.set_attrib(f'{self.name}', 'mScale14', - [self.paramtree[self.name]['mScales'][2]]) - self.fftree.set_attrib(f'{self.name}', 'mScale15', - [self.paramtree[self.name]['mScales'][3]]) - self.fftree.set_attrib(f'{self.name}', 'mScale16', - [self.paramtree[self.name]['mScales'][4]]) - - self.fftree.set_attrib(f'{self.name}/Atom', 'C6', - self.paramtree[self.name]['C6']) - self.fftree.set_attrib(f'{self.name}/Atom', 'C8', - self.paramtree[self.name]['C8']) - self.fftree.set_attrib(f'{self.name}/Atom', 'C10', - self.paramtree[self.name]['C10']) - - def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, - args): + for natom in range(len(self.atom_keys)): + nnode = node2atom[natom] + C6_new = C6[natom] + C8_new = C8[natom] + C10_new = C10[natom] + mask = atom_mask[natom] + self.ffinfo["Forces"][self.name]["node"][nnode]["attrib"]["C6"] = str( + C6_new + ) + self.ffinfo["Forces"][self.name]["node"][nnode]["attrib"]["C8"] = str( + C8_new + ) + self.ffinfo["Forces"][self.name]["node"][nnode]["attrib"]["C10"] = str( + C10_new + ) + if mask < 0.999: + self.ffinfo["Forces"][self.name]["node"][nnode]["attrib"][ + "mask" + ] = "true" + + def _find_atype_key_index(self, atype: str): + for n, i in enumerate(self.atom_keys): + if i == atype: + return n + return None + + def createPotential( + self, topdata: DMFFTopology, nonbondedMethod, nonbondedCutoff, **kwargs + ): methodMap = { app.CutoffPeriodic: "CutoffPeriodic", app.NoCutoff: "NoCutoff", @@ -244,42 +328,48 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, if nonbondedMethod not in methodMap: raise ValueError("Illegal nonbonded method for ADMPDispPmeForce") if nonbondedMethod is app.CutoffPeriodic: - self.lpme = False + lpme = False else: - self.lpme = True + lpme = True - n_atoms = len(data.atoms) + n_atoms = topdata.getNumAtoms() + atoms = [a for a in topdata.atoms()] # build index map map_atomtype = np.zeros(n_atoms, dtype=int) for i in range(n_atoms): - atype = data.atomType[data.atoms[i]] - map_atomtype[i] = np.where(self.atomTypes == atype)[0][0] - self.map_atomtype = map_atomtype - - # build covalent map - self.covalent_map = build_covalent_map(data, 6) + atype = atoms[i].meta[self.key_type] + map_atomtype[i] = self._find_atype_key_index(atype) - self._meta["cov_map"] = self.covalent_map - self._meta["ADMPDispPmeForce_map_atomtype"] = self.map_atomtype + topdata._meta[self.name+"_map_atomtype"] = map_atomtype # here box is only used to setup ewald parameters, no need to be differentiable - a, b, c = system.getDefaultPeriodicBoxVectors() - box = jnp.array([a._value, b._value, c._value]) * 10 + if lpme: + box = topdata.getPeriodicBoxVectors() * 10 + else: + box = jnp.ones((3, 3)) # get the admp calculator - rc = nonbondedCutoff.value_in_unit(unit.angstrom) + if unit.is_quantity(nonbondedCutoff): + rc = nonbondedCutoff.value_in_unit(unit.angstrom) + else: + rc = nonbondedCutoff * 10.0 # get calculator - if "ethresh" in args: - self.ethresh = args["ethresh"] + if "ethresh" in kwargs: + self.ethresh = kwargs["ethresh"] - disp_force = ADMPDispPmeForce(box, rc, self.ethresh, self.pmax, - self.lpme) + disp_force = ADMPDispPmeForce(box, rc, self.ethresh, self.pmax, lpme) self.disp_force = disp_force pot_fn_lr = disp_force.get_energy - def potential_fn(positions, box, pairs, params): + if "has_aux" in kwargs and kwargs["has_aux"]: + has_aux = True + else: + has_aux = False + + def potential_fn(positions, box, pairs, params, aux = None): + positions = positions * 10 + box = box * 10 params = params[self.name] - mScales = params["mScales"] C6_list = params["C6"][map_atomtype] * 1e6 # to kj/mol * A**6 C8_list = params["C8"][map_atomtype] * 1e8 C10_list = params["C10"][map_atomtype] * 1e10 @@ -287,20 +377,24 @@ def potential_fn(positions, box, pairs, params): c8_list = jnp.sqrt(C8_list) c10_list = jnp.sqrt(C10_list) c_list = jnp.vstack((c6_list, c8_list, c10_list)) - E_lr = pot_fn_lr(positions, box, pairs, c_list.T, mScales) - return -E_lr + E_lr = pot_fn_lr(positions, box, pairs, c_list.T, self.mScales) + if has_aux: + return -E_lr, aux + else: + return -E_lr self._jaxPotential = potential_fn # self._top_data = data + return potential_fn def getJaxPotential(self): return self._jaxPotential - + def getMetaData(self): return self._meta -dmff.api.jaxGenerators['ADMPDispPmeForce'] = ADMPDispPmeGenerator +_DMFFGenerators["ADMPDispPmeForce"] = ADMPDispPmeGenerator class QqTtDampingGenerator: @@ -308,95 +402,128 @@ class QqTtDampingGenerator: This one calculates the tang-tonnies damping of charge-charge interaction E = \sum_ij exp(-B*r)*(1+B*r)*q_i*q_j/r """ - def __init__(self, ff): - self.ff = ff - self.fftree = ff.fftree - self._jaxPotential = None - self.paramtree = ff.paramtree + + def __init__(self, ffinfo: dict, paramset: ParamSet): + self.ffinfo = ffinfo self._jaxPotnetial = None self.name = "QqTtDampingForce" - self._meta = {} + paramset.addField(self.name) + self.key_type = None + self.atom_keys = [] - def extract(self): # get mscales - mScales = [ - self.fftree.get_attribs(f'{self.name}', f'mScale1{i}')[0] + default_scales = [0.0, 0.0, 0.0, 1.0, 1.0] + + self.mScales = [ + float( + self.ffinfo["Forces"][self.name]["meta"].get( + f"mScale1{i}", default_scales[i - 2] + ) + ) for i in range(2, 7) ] - mScales.append(1.0) - self.paramtree[self.name] = {} - self.paramtree[self.name]['mScales'] = jnp.array(mScales) + self.mScales.append(1.0) + self.mScales = jnp.array(self.mScales) + # get atomtypes - atomTypes = self.fftree.get_attribs(f'{self.name}/Atom', f'type') - if type(atomTypes[0]) != str: - self.atomTypes = np.array(atomTypes, dtype=int).astype(str) - else: - self.atomTypes = np.array(atomTypes) - # get atomic parameters - B = self.fftree.get_attribs(f'{self.name}/Atom', f'B') - Q = self.fftree.get_attribs(f'{self.name}/Atom', f'Q') - self.paramtree[self.name]['B'] = jnp.array(B) - self.paramtree[self.name]['Q'] = jnp.array(Q) - - def overwrite(self): - - self.fftree.set_attrib(f'{self.name}', 'mScale12', - [self.paramtree[self.name]['mScales'][0]]) - self.fftree.set_attrib(f'{self.name}', 'mScale13', - [self.paramtree[self.name]['mScales'][1]]) - self.fftree.set_attrib(f'{self.name}', 'mScale14', - [self.paramtree[self.name]['mScales'][2]]) - self.fftree.set_attrib(f'{self.name}', 'mScale15', - [self.paramtree[self.name]['mScales'][3]]) - self.fftree.set_attrib(f'{self.name}', 'mScale16', - [self.paramtree[self.name]['mScales'][4]]) - - self.fftree.set_attrib(f'{self.name}/Atom', 'B', - self.paramtree[self.name]['B']) - self.fftree.set_attrib(f'{self.name}/Atom', 'Q', - self.paramtree[self.name]['Q']) + B, Q = [], [] + atom_mask = [] + for node in self.ffinfo["Forces"][self.name]["node"]: + if node["name"] == "Atom": + attribs = node["attrib"] + if "type" in attribs: + self.key_type = "type" + elif "class" in attribs: + self.key_type = "class" + self.atom_keys.append(attribs[self.key_type]) + B.append(float(attribs["B"])) + Q.append(float(attribs["Q"])) + mask = 1.0 + if "mask" in attribs and attribs["mask"].upper() == "TRUE": + mask = 0.0 + atom_mask.append(mask) + B = jnp.array(B) + Q = jnp.array(Q) + atom_mask = jnp.array(atom_mask) + self.atom_keys = np.array(self.atom_keys) + paramset.addParameter(B, "B", field=self.name, mask=atom_mask) + paramset.addParameter(Q, "Q", field=self.name, mask=atom_mask) + + def getName(self) -> str: + return self.name + + def overwrite(self, paramset): + B = paramset[self.name]["B"] + Q = paramset[self.name]["Q"] + atom_mask = paramset.mask[self.name]["B"] + + nnode = 0 + for node in self.ffinfo["Forces"][self.name]["node"]: + if node["name"] == "Atom": + attribs = node["attrib"] + B_new = B[nnode] + Q_new = Q[nnode] + mask = atom_mask[nnode] + self.ffinfo["Forces"][self.name]["node"][nnode]["attrib"]["B"] = str( + B_new + ) + self.ffinfo["Forces"][self.name]["node"][nnode]["attrib"]["Q"] = str( + Q_new + ) + if mask < 0.999: + self.ffinfo["Forces"][self.name]["node"][nnode]["attrib"][ + "mask" + ] = "true" + nnode += 1 + + def _find_atype_key_index(self, atype: str): + for n, i in enumerate(self.atom_keys): + if i == atype: + return n + return None # on working - def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, - args): - - n_atoms = len(data.atoms) + def createPotential( + self, topdata: DMFFTopology, nonbondedMethod, nonbondedCutoff, **kwargs + ): + n_atoms = topdata.getNumAtoms() + atoms = [a for a in topdata.atoms()] # build index map map_atomtype = np.zeros(n_atoms, dtype=int) for i in range(n_atoms): - atype = data.atomType[data.atoms[i]] - map_atomtype[i] = np.where(self.atomTypes == atype)[0][0] - self.map_atomtype = map_atomtype + atype = atoms[i].meta[self.key_type] + map_atomtype[i] = np.where(self.atom_keys == atype)[0][0] - # build covalent map - self.covalent_map = build_covalent_map(data, 6) - - self._meta["cov_map"] = self.covalent_map - self._meta["QqTtDampingForce_map_atomtype"] = self.map_atomtype + topdata._meta[self.name+"_map_atomtype"] = map_atomtype + pot_fn_sr = generate_pairwise_interaction(TT_damping_qq_kernel, static_args={}) - pot_fn_sr = generate_pairwise_interaction(TT_damping_qq_kernel, - static_args={}) + has_aux = False + if "has_aux" in kwargs and kwargs["has_aux"]: + has_aux = True - def potential_fn(positions, box, pairs, params): + def potential_fn(positions, box, pairs, params, aux = None): + positions = positions * 10 + box = box * 10 params = params[self.name] - mScales = params["mScales"] b_list = params["B"][map_atomtype] / 10 # convert to A^-1 q_list = params["Q"][map_atomtype] - E_sr = pot_fn_sr(positions, box, pairs, mScales, b_list, q_list) - return E_sr + E_sr = pot_fn_sr(positions, box, pairs, self.mScales, b_list, q_list) + if has_aux: + return E_sr, aux + else: + return E_sr self._jaxPotential = potential_fn + return potential_fn def getJaxPotential(self): return self._jaxPotential - - def getMetaData(self): - return self._meta + # register all parsers -dmff.api.jaxGenerators['QqTtDampingForce'] = QqTtDampingGenerator +_DMFFGenerators["QqTtDampingForce"] = QqTtDampingGenerator class SlaterDampingGenerator: @@ -406,104 +533,140 @@ class SlaterDampingGenerator: fn = f_tt(x, n) x = br - (2*br2 + 3*br) / (br2 + 3*br + 3) """ - def __init__(self, ff): + + def __init__(self, ffinfo: dict, paramset: ParamSet): self.name = "SlaterDampingForce" - self.ff = ff - self.fftree = ff.fftree - self.paramtree = ff.paramtree + self.ffinfo = ffinfo + paramset.addField(self.name) self._jaxPotential = None - self._meta = {} - def extract(self): # get mscales - mScales = [ - self.fftree.get_attribs(f'{self.name}', f'mScale1{i}')[0] + default_scales = [0.0, 0.0, 0.0, 1.0, 1.0] + self.mScales = [ + float( + self.ffinfo["Forces"][self.name]["meta"].get( + f"mScale1{i}", default_scales[i - 2] + ) + ) for i in range(2, 7) ] - mScales.append(1.0) - self.paramtree[self.name] = {} - self.paramtree[self.name]['mScales'] = jnp.array(mScales) + self.mScales.append(1.0) + self.mScales = jnp.array(self.mScales) + # get atomtypes - atomTypes = self.fftree.get_attribs(f'{self.name}/Atom', f'type') - if type(atomTypes[0]) != str: - self.atomTypes = np.array(atomTypes, dtype=int).astype(str) - else: - self.atomTypes = np.array(atomTypes) - # get atomic parameters - B = self.fftree.get_attribs(f'{self.name}/Atom', f'B') - C6 = self.fftree.get_attribs(f'{self.name}/Atom', f'C6') - C8 = self.fftree.get_attribs(f'{self.name}/Atom', f'C8') - C10 = self.fftree.get_attribs(f'{self.name}/Atom', f'C10') - self.paramtree[self.name]['B'] = jnp.array(B) - self.paramtree[self.name]['C6'] = jnp.array(C6) - self.paramtree[self.name]['C8'] = jnp.array(C8) - self.paramtree[self.name]['C10'] = jnp.array(C10) - - def overwrite(self): - - self.fftree.set_attrib(f'{self.name}', 'mScale12', - [self.paramtree[self.name]['mScales'][0]]) - self.fftree.set_attrib(f'{self.name}', 'mScale13', - [self.paramtree[self.name]['mScales'][1]]) - self.fftree.set_attrib(f'{self.name}', 'mScale14', - [self.paramtree[self.name]['mScales'][2]]) - self.fftree.set_attrib(f'{self.name}', 'mScale15', - [self.paramtree[self.name]['mScales'][3]]) - self.fftree.set_attrib(f'{self.name}', 'mScale16', - [self.paramtree[self.name]['mScales'][4]]) - - self.fftree.set_attrib(f'{self.name}/Atom', 'B', - [self.paramtree[self.name]['B']]) - self.fftree.set_attrib(f'{self.name}/Atom', 'C6', - [self.paramtree[self.name]['C6']]) - self.fftree.set_attrib(f'{self.name}/Atom', 'C8', - [self.paramtree[self.name]['C8']]) - self.fftree.set_attrib(f'{self.name}/Atom', 'C10', - [self.paramtree[self.name]['C10']]) - - def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, - args): - - n_atoms = len(data.atoms) + self.atom_keys = [] + B, C6, C8, C10 = [], [], [], [] + atom_mask = [] + for node in self.ffinfo["Forces"][self.name]["node"]: + if node["name"] == "Atom": + attribs = node["attrib"] + if "type" in attribs: + self.key_type = "type" + elif "class" in attribs: + self.key_type = "class" + self.atom_keys.append(attribs[self.key_type]) + B.append(float(attribs["B"])) + C6.append(float(attribs["C6"])) + C8.append(float(attribs["C8"])) + C10.append(float(attribs["C10"])) + mask = 1.0 + if "mask" in attribs and attribs["mask"].upper() == "TRUE": + mask = 0.0 + atom_mask.append(mask) + B = jnp.array(B) + C6 = jnp.array(C6) + C8 = jnp.array(C8) + C10 = jnp.array(C10) + atom_mask = jnp.array(atom_mask) + self.atom_keys = np.array(self.atom_keys) + paramset.addParameter(B, "B", field=self.name, mask=atom_mask) + paramset.addParameter(C6, "C6", field=self.name, mask=atom_mask) + paramset.addParameter(C8, "C8", field=self.name, mask=atom_mask) + paramset.addParameter(C10, "C10", field=self.name, mask=atom_mask) + + def getName(self) -> str: + return self.name + + def overwrite(self, paramset): + B = paramset[self.name]["B"] + C6 = paramset[self.name]["C6"] + C8 = paramset[self.name]["C8"] + C10 = paramset[self.name]["C10"] + atom_mask = paramset.mask[self.name]["B"] + + nnode = 0 + for node in self.ffinfo["Forces"][self.name]["node"]: + if node["name"] == "Atom": + attribs = node["attrib"] + B_new = B[nnode] + C6_new = C6[nnode] + C8_new = C8[nnode] + C10_new = C10[nnode] + mask = atom_mask[nnode] + self.ffinfo["Forces"][self.name]["node"][nnode]["attrib"]["B"] = B_new + self.ffinfo["Forces"][self.name]["node"][nnode]["attrib"]["C6"] = C6_new + self.ffinfo["Forces"][self.name]["node"][nnode]["attrib"]["C8"] = C8_new + self.ffinfo["Forces"][self.name]["node"][nnode]["attrib"]["C10"] = C10_new + if mask < 0.999: + self.ffinfo["Forces"][self.name]["node"][nnode]["attrib"][ + "mask" + ] = "true" + nnode += 1 + + def createPotential( + self, topdata: DMFFTopology, nonbondedMethod, nonbondedCutoff, **kwargs + ): + n_atoms = topdata.getNumAtoms() + atoms = [a for a in topdata.atoms()] # build index map map_atomtype = np.zeros(n_atoms, dtype=int) for i in range(n_atoms): - atype = data.atomType[data.atoms[i]] - map_atomtype[i] = np.where(self.atomTypes == atype)[0][0] - self.map_atomtype = map_atomtype - # build covalent map - self.covalent_map = build_covalent_map(data, 6) + atype = atoms[i].meta[self.key_type] + map_atomtype[i] = np.where(self.atom_keys == atype)[0][0] - self._meta["cov_map"] = self.covalent_map - self._meta[self.name+"_map_atomtype"] = self.map_atomtype + topdata._meta[self.name+"_map_atomtype"] = map_atomtype # WORKING - pot_fn_sr = generate_pairwise_interaction(slater_disp_damping_kernel, - static_args={}) + pot_fn_sr = generate_pairwise_interaction( + slater_disp_damping_kernel, static_args={} + ) + + has_aux = False + if "has_aux" in kwargs and kwargs["has_aux"]: + has_aux = True - def potential_fn(positions, box, pairs, params): + def potential_fn(positions, box, pairs, params, aux={}): + positions = positions * 10 + box = box * 10 params = params[self.name] - mScales = params["mScales"] b_list = params["B"][map_atomtype] / 10 # convert to A^-1 - c6_list = jnp.sqrt(params["C6"][map_atomtype] * - 1e6) # to kj/mol * A**6 + c6_list = jnp.sqrt(params["C6"][map_atomtype] * 1e6) # to kj/mol * A**6 c8_list = jnp.sqrt(params["C8"][map_atomtype] * 1e8) c10_list = jnp.sqrt(params["C10"][map_atomtype] * 1e10) - E_sr = pot_fn_sr(positions, box, pairs, mScales, b_list, c6_list, - c8_list, c10_list) - return E_sr + E_sr = pot_fn_sr( + positions, + box, + pairs, + self.mScales, + b_list, + c6_list, + c8_list, + c10_list, + ) + if has_aux: + return E_sr, aux + else: + return E_sr self._jaxPotential = potential_fn # self._top_data = data + return potential_fn def getJaxPotential(self): return self._jaxPotential - - def getMetaData(self): - return self._meta -dmff.api.jaxGenerators['SlaterDampingForce'] = SlaterDampingGenerator +_DMFFGenerators["SlaterDampingForce"] = SlaterDampingGenerator class SlaterExGenerator: @@ -511,159 +674,238 @@ class SlaterExGenerator: This one computes the Slater-ISA type exchange interaction u = \sum_ij A * (1/3*(Br)^2 + Br + 1) """ - def __init__(self, ff): - self.name = "SlaterExForce" - self.ff = ff - self.fftree = ff.fftree - self.paramtree = ff.paramtree + + def __init__(self, ffinfo: dict, paramset: ParamSet, default_name=None): + if default_name is None: + self.name = "SlaterExForce" + else: + self.name = default_name + self.ffinfo = ffinfo + paramset.addField(self.name) self._jaxPotential = None - self._meta = {} + self.key_type = None - def extract(self): # get mscales - mScales = [ - self.fftree.get_attribs(f'{self.name}', f'mScale1{i}')[0] + default_scales = [0.0, 0.0, 0.0, 1.0, 1.0] + self.mScales = [ + float( + self.ffinfo["Forces"][self.name]["meta"].get( + f"mScale1{i}", default_scales[i - 2] + ) + ) for i in range(2, 7) ] - mScales.append(1.0) - self.paramtree[self.name] = {} - self.paramtree[self.name]['mScales'] = jnp.array(mScales) + self.mScales.append(1.0) + self.mScales = jnp.array(self.mScales) + # get atomtypes - atomTypes = self.fftree.get_attribs(f'{self.name}/Atom', f'type') - if type(atomTypes[0]) != str: - self.atomTypes = np.array(atomTypes, dtype=int).astype(str) - else: - self.atomTypes = np.array(atomTypes) - # get atomic parameters - A = self.fftree.get_attribs(f'{self.name}/Atom', f'A') - B = self.fftree.get_attribs(f'{self.name}/Atom', f'B') - self.paramtree[self.name]['A'] = jnp.array(A) - self.paramtree[self.name]['B'] = jnp.array(B) - - def overwrite(self): - - self.fftree.set_attrib(f'{self.name}', 'mScale12', - [self.paramtree[self.name]['mScales'][0]]) - self.fftree.set_attrib(f'{self.name}', 'mScale13', - [self.paramtree[self.name]['mScales'][1]]) - self.fftree.set_attrib(f'{self.name}', 'mScale14', - [self.paramtree[self.name]['mScales'][2]]) - self.fftree.set_attrib(f'{self.name}', 'mScale15', - [self.paramtree[self.name]['mScales'][3]]) - self.fftree.set_attrib(f'{self.name}', 'mScale16', - [self.paramtree[self.name]['mScales'][4]]) - - self.fftree.set_attrib(f'{self.name}/Atom', 'A', - [self.paramtree[self.name]['A']]) - self.fftree.set_attrib(f'{self.name}/Atom', 'B', - [self.paramtree[self.name]['B']]) - - def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, - args): - - n_atoms = len(data.atoms) + self.atom_keys = [] + A, B = [], [] + atom_mask = [] + for node in self.ffinfo["Forces"][self.name]["node"]: + if node["name"] == "Atom": + attribs = node["attrib"] + if "type" in attribs: + self.key_type = "type" + elif "class" in attribs: + self.key_type = "class" + self.atom_keys.append(attribs[self.key_type]) + A.append(float(attribs["A"])) + B.append(float(attribs["B"])) + mask = 1.0 + if "mask" in attribs and attribs["mask"].upper() == "TRUE": + mask = 0.0 + atom_mask.append(mask) + A = jnp.array(A) + B = jnp.array(B) + atom_mask = jnp.array(atom_mask) + self.atom_keys = np.array(self.atom_keys) + paramset.addParameter(A, "A", field=self.name, mask=atom_mask) + paramset.addParameter(B, "B", field=self.name, mask=atom_mask) + + def getName(self) -> str: + return self.name + + def overwrite(self, paramset): + A = paramset[self.name]["A"] + B = paramset[self.name]["B"] + atom_mask = paramset.mask[self.name]["B"] + + nnode = 0 + for node in self.ffinfo["Forces"][self.name]["node"]: + if node["name"] == "Atom": + attribs = node["attrib"] + A_new = A[nnode] + B_new = B[nnode] + mask = atom_mask[nnode] + self.ffinfo["Forces"][self.name]["node"][nnode]["attrib"]["A"] = A_new + self.ffinfo["Forces"][self.name]["node"][nnode]["attrib"]["B"] = B_new + if mask < 0.999: + self.ffinfo["Forces"][self.name]["node"][nnode]["attrib"][ + "mask" + ] = "true" + nnode += 1 + + def createPotential( + self, topdata: DMFFTopology, nonbondedMethod, nonbondedCutoff, **kwargs + ): + n_atoms = topdata.getNumAtoms() + atoms = [a for a in topdata.atoms()] # build index map map_atomtype = np.zeros(n_atoms, dtype=int) for i in range(n_atoms): - atype = data.atomType[data.atoms[i]] - map_atomtype[i] = np.where(self.atomTypes == atype)[0][0] - self.map_atomtype = map_atomtype - # build covalent map - self.covalent_map = build_covalent_map(data, 6) + atype = atoms[i].meta[self.key_type] + map_atomtype[i] = np.where(self.atom_keys == atype)[0][0] - self._meta["cov_map"] = self.covalent_map - self._meta[self.name+"_map_atomtype"] = self.map_atomtype + topdata._meta[self.name+"_map_atomtype"] = map_atomtype - pot_fn_sr = generate_pairwise_interaction(slater_sr_kernel, - static_args={}) + pot_fn_sr = generate_pairwise_interaction(slater_sr_kernel, static_args={}) + + has_aux = False + if "has_aux" in kwargs and kwargs["has_aux"]: + has_aux = True - def potential_fn(positions, box, pairs, params): + def potential_fn(positions, box, pairs, params, aux=None): + positions = positions * 10 + box = box * 10 params = params[self.name] - mScales = params["mScales"] a_list = params["A"][map_atomtype] b_list = params["B"][map_atomtype] / 10 # nm^-1 to A^-1 - return pot_fn_sr(positions, box, pairs, mScales, a_list, b_list) + energy = pot_fn_sr(positions, box, pairs, self.mScales, a_list, b_list) + if has_aux: + return energy, aux + else: + return energy self._jaxPotential = potential_fn # self._top_data = data + return potential_fn def getJaxPotential(self): return self._jaxPotential - - def getMetaData(self): - return self._meta -dmff.api.jaxGenerators["SlaterExForce"] = SlaterExGenerator + +_DMFFGenerators["SlaterExForce"] = SlaterExGenerator # Here are all the short range "charge penetration" terms -# They all have the exchange form +# They all have the exchange form with minus sign class SlaterSrEsGenerator(SlaterExGenerator): - def __init__(self, ff): - super().__init__(ff) - self.name = "SlaterSrEsForce" + def __init__(self, ffinfo: dict, paramset: ParamSet, default_name=None): + if default_name is None: + super().__init__(ffinfo, paramset, default_name="SlaterSrEsForce") + else: + super().__init__(ffinfo, paramset, default_name=default_name) + + def createPotential( + self, topdata: DMFFTopology, nonbondedMethod, nonbondedCutoff, **kwargs + ): + n_atoms = topdata.getNumAtoms() + atoms = [a for a in topdata.atoms()] + # build index map + map_atomtype = np.zeros(n_atoms, dtype=int) + for i in range(n_atoms): + atype = atoms[i].meta[self.key_type] + map_atomtype[i] = np.where(self.atom_keys == atype)[0][0] + + topdata._meta[self.name+"_map_atomtype"] = map_atomtype + + pot_fn_sr = generate_pairwise_interaction(slater_sr_kernel, + static_args={}) + + has_aux = False + if "has_aux" in kwargs and kwargs["has_aux"]: + has_aux = True + + def potential_fn(positions, box, pairs, params, aux=None): + positions = positions * 10 + box = box * 10 + params = params[self.name] + a_list = params["A"][map_atomtype] + b_list = params["B"][map_atomtype] / 10 # nm^-1 to A^-1 + energy = - pot_fn_sr(positions, box, pairs, self.mScales, a_list, b_list) + + # add minus sign + if has_aux: + return energy, aux + else: + return energy + + self._jaxPotential = potential_fn + # self._top_data = data + return potential_fn + def getJaxPotential(self): + return self._jaxPotential -class SlaterSrPolGenerator(SlaterExGenerator): - def __init__(self, ff): - super().__init__(ff) - self.name = "SlaterSrPolForce" +class SlaterSrPolGenerator(SlaterSrEsGenerator): + def __init__(self, ffinfo: dict, paramset: ParamSet): + super().__init__(ffinfo, paramset, default_name="SlaterSrPolForce") -class SlaterSrDispGenerator(SlaterExGenerator): - def __init__(self, ff): - super().__init__(ff) - self.name = "SlaterSrDispForce" +class SlaterSrDispGenerator(SlaterSrEsGenerator): + def __init__(self, ffinfo: dict, paramset: ParamSet): + super().__init__(ffinfo, paramset, default_name="SlaterSrDispForce") -class SlaterDhfGenerator(SlaterExGenerator): - def __init__(self, ff): - super().__init__(ff) - self.name = "SlaterDhfForce" + +class SlaterDhfGenerator(SlaterSrEsGenerator): + def __init__(self, ffinfo: dict, paramset: ParamSet): + super().__init__(ffinfo, paramset, default_name="SlaterDhfForce") # register all parsers -dmff.api.jaxGenerators["SlaterSrEsForce"] = SlaterSrEsGenerator -dmff.api.jaxGenerators["SlaterSrPolForce"] = SlaterSrPolGenerator -dmff.api.jaxGenerators["SlaterSrDispForce"] = SlaterSrDispGenerator -dmff.api.jaxGenerators["SlaterDhfForce"] = SlaterDhfGenerator +_DMFFGenerators["SlaterSrEsForce"] = SlaterSrEsGenerator +_DMFFGenerators["SlaterSrPolForce"] = SlaterSrPolGenerator +_DMFFGenerators["SlaterSrDispForce"] = SlaterSrDispGenerator +_DMFFGenerators["SlaterDhfForce"] = SlaterDhfGenerator class ADMPPmeGenerator: - def __init__(self, ff): - - self.name = 'ADMPPmeForce' - self.ff = ff - self.fftree = ff.fftree - self.paramtree = ff.paramtree + def __init__(self, ffinfo: dict, paramset: ParamSet): + self.name = "ADMPPmeForce" + self.ffinfo = ffinfo + paramset.addField(self.name) # default params self._jaxPotential = None - self.types = [] + self.multipole_types = [] + self.polarize_types = [] self.ethresh = 5e-4 self.step_pol = None - self.lpol = False self.ref_dip = "" + self.pme_force = None - self._meta = {} - - def extract(self): + self.lmax = int(self.ffinfo["Forces"][self.name]["meta"]["lmax"]) - self.lmax = self.fftree.get_attribs(f'{self.name}', - 'lmax')[0] # return [lmax] + default_mscales = [0.0, 0.0, 1.0, 1.0, 1.0] + default_pscales = [0.0, 0.0, 1.0, 1.0, 1.0] + default_dscales = [1.0, 1.0, 1.0, 1.0, 1.0] mScales = [ - self.fftree.get_attribs(f'{self.name}', f'mScale1{i}')[0] + float( + self.ffinfo["Forces"][self.name]["meta"].get( + f"mScale1{i}", default_mscales[i - 2] + ) + ) for i in range(2, 7) ] pScales = [ - self.fftree.get_attribs(f'{self.name}', f'pScale1{i}')[0] + float( + self.ffinfo["Forces"][self.name]["meta"].get( + f"pScale1{i}", default_pscales[i - 2] + ) + ) for i in range(2, 7) ] dScales = [ - self.fftree.get_attribs(f'{self.name}', f'dScale1{i}')[0] + float( + self.ffinfo["Forces"][self.name]["meta"].get( + f"dScale1{i}", default_dscales[i - 2] + ) + ) for i in range(2, 7) ] @@ -671,48 +913,91 @@ def extract(self): mScales.append(1.0) pScales.append(1.0) dScales.append(1.0) - - self.paramtree[self.name] = {} - self.paramtree[self.name]['mScales'] = jnp.array(mScales) - self.paramtree[self.name]['pScales'] = jnp.array(pScales) - self.paramtree[self.name]['dScales'] = jnp.array(dScales) + self.mScales = jnp.array(mScales) + self.pScales = jnp.array(pScales) + self.dScales = jnp.array(dScales) # check if polarize - polarize = self.fftree.get_nodes(f'{self.name}/Polarize') - if polarize: + polarize_nodes = [ + node + for node in self.ffinfo["Forces"][self.name]["node"] + if node["name"] == "Polarize" + ] + if len(polarize_nodes) > 0: self.lpol = True else: self.lpol = False - atomTypes = self.fftree.get_attribs(f'{self.name}/Atom', 'type') - if type(atomTypes[0]) != str: - self.atomTypes = np.array(atomTypes, dtype=int).astype(str) - else: - self.atomTypes = np.array(atomTypes) - kx = self.fftree.get_attribs(f'{self.name}/Atom', 'kx') - ky = self.fftree.get_attribs(f'{self.name}/Atom', 'ky') - kz = self.fftree.get_attribs(f'{self.name}/Atom', 'kz') - - kx = [0 if kx_ is None else int(kx_) for kx_ in kx] - ky = [0 if ky_ is None else int(ky_) for ky_ in ky] - kz = [0 if kz_ is None else int(kz_) for kz_ in kz] + # get atom types + multipole_nodes = [ + node + for node in self.ffinfo["Forces"][self.name]["node"] + if node["name"] in ["Multipole", "Atom"] + ] + c0, dX, dY, dZ, qXX, qYY, qZZ, qXY, qXZ, qYZ = ( + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + ) + kxs, kys, kzs = [], [], [] + multipole_masks = [] + for nnode, node in enumerate(multipole_nodes): + attribs = node["attrib"] + if "type" in attribs: + self.key_type = "type" + elif "class" in attribs: + self.key_type = "class" + self.multipole_types.append(attribs[self.key_type]) + # record local coords as kz kx ky + # None if not occur + kx = attribs.get("kx", "") + ky = attribs.get("ky", "") + kz = attribs.get("kz", "") + kxs.append(kx) + kys.append(ky) + kzs.append(kz) + # record multipoles + c0.append(float(attribs["c0"])) + if self.lmax >= 1: + dX.append(float(attribs["dX"])) + dY.append(float(attribs["dY"])) + dZ.append(float(attribs["dZ"])) + else: + dX.append(0.0) + dY.append(0.0) + dZ.append(0.0) + if self.lmax >= 2: + qXX.append(float(attribs["qXX"])) + qYY.append(float(attribs["qYY"])) + qZZ.append(float(attribs["qZZ"])) + qXY.append(float(attribs["qXY"])) + qXZ.append(float(attribs["qXZ"])) + qYZ.append(float(attribs["qYZ"])) + else: + qXX.append(0.0) + qYY.append(0.0) + qZZ.append(0.0) + qXY.append(0.0) + qXZ.append(0.0) + qYZ.append(0.0) + mask = 1.0 + if "mask" in attribs and attribs["mask"].upper() == "TRUE": + mask = 0.0 + multipole_masks.append(mask) + multipole_masks = jnp.array(multipole_masks) # invoke by `self.kStrings["kz"][itype]` self.kStrings = {} - self.kStrings['kx'] = kx - self.kStrings['ky'] = ky - self.kStrings['kz'] = kz - - c0 = self.fftree.get_attribs(f'{self.name}/Atom', 'c0') - dX = self.fftree.get_attribs(f'{self.name}/Atom', 'dX') - dY = self.fftree.get_attribs(f'{self.name}/Atom', 'dY') - dZ = self.fftree.get_attribs(f'{self.name}/Atom', 'dZ') - qXX = self.fftree.get_attribs(f'{self.name}/Atom', 'qXX') - qYY = self.fftree.get_attribs(f'{self.name}/Atom', 'qYY') - qZZ = self.fftree.get_attribs(f'{self.name}/Atom', 'qZZ') - qXY = self.fftree.get_attribs(f'{self.name}/Atom', 'qXY') - qXZ = self.fftree.get_attribs(f'{self.name}/Atom', 'qXZ') - qYZ = self.fftree.get_attribs(f'{self.name}/Atom', 'qYZ') + self.kStrings["kx"] = kxs + self.kStrings["ky"] = kys + self.kStrings["kz"] = kzs # assume that polarize tag match the per atom type # pol_XX = self.fftree.get_attribs(f'{self.name}/Polarize', 'polarizabilityXX') @@ -720,23 +1005,35 @@ def extract(self): # pol_ZZ = self.fftree.get_attribs(f'{self.name}/Polarize', 'polarizabilityZZ') # thole_0 = self.fftree.get_attribs(f'{self.name}/Polarize', 'thole') if self.lpol: - polarizabilityXX = self.fftree.get_attribs(f'{self.name}/Polarize', - 'polarizabilityXX') - polarizabilityYY = self.fftree.get_attribs(f'{self.name}/Polarize', - 'polarizabilityYY') - polarizabilityZZ = self.fftree.get_attribs(f'{self.name}/Polarize', - 'polarizabilityZZ') - thole = self.fftree.get_attribs(f'{self.name}/Polarize', 'thole') - polarize_types = self.fftree.get_attribs(f'{self.name}/Polarize', - 'type') - if type(polarize_types[0]) != str: - polarize_types = np.array(polarize_types, - dtype=int).astype(str) - else: - polarize_types = np.array(polarize_types) - self.polarize_types = polarize_types - - n_atoms = len(atomTypes) + pol = [] + thole = [] + polarizability_masks = [] + for nnode, node in enumerate(polarize_nodes): + self.polarize_types.append(node["attrib"][self.key_type]) + polarizabilityXX = float(node["attrib"]["polarizabilityXX"]) + polarizabilityYY = float(node["attrib"]["polarizabilityYY"]) + polarizabilityZZ = float(node["attrib"]["polarizabilityZZ"]) + pol.append( + (polarizabilityXX + polarizabilityYY + polarizabilityZZ) / 3.0 + ) + thole.append(float(node["attrib"]["thole"])) + mask = 1.0 + if ( + "mask" in node["attrib"] + and node["attrib"]["mask"].upper() == "TRUE" + ): + mask = 0.0 + polarizability_masks.append(mask) + polarizability_masks = jnp.array(polarizability_masks) + pol = jnp.array(pol) * 1000.0 + paramset.addParameter( + pol, "pol", field=self.name, mask=polarizability_masks + ) + paramset.addParameter( + jnp.array(thole), "thole", field=self.name, mask=polarizability_masks + ) + + n_atoms = len(self.multipole_types) # assert n_atoms == len(polarizabilityXX), "Number of polarizabilityXX does not match number of atoms!" @@ -766,132 +1063,150 @@ def extract(self): Q[:, 4:10] *= 300 # add all differentiable params to self.params - Q_local = convert_cart2harm(Q, self.lmax) - self.paramtree[self.name]["Q_local"] = Q_local - - if self.lpol: - pol = jnp.vstack(( - polarizabilityXX, - polarizabilityYY, - polarizabilityZZ, - )).T - pol = 1000 * jnp.mean(pol, axis=1) - tholes = jnp.array(thole) - self.paramtree[self.name]["pol"] = pol - self.paramtree[self.name]["tholes"] = tholes - else: - pol = None - tholes = None - - def overwrite(self): - - self.fftree.set_attrib(f'{self.name}', 'mScale12', - [self.paramtree[self.name]['mScales'][0]]) - self.fftree.set_attrib(f'{self.name}', 'mScale13', - [self.paramtree[self.name]['mScales'][1]]) - self.fftree.set_attrib(f'{self.name}', 'mScale14', - [self.paramtree[self.name]['mScales'][2]]) - self.fftree.set_attrib(f'{self.name}', 'mScale15', - [self.paramtree[self.name]['mScales'][3]]) - self.fftree.set_attrib(f'{self.name}', 'mScale16', - [self.paramtree[self.name]['mScales'][4]]) - - self.fftree.set_attrib(f'{self.name}', 'pScale12', - [self.paramtree[self.name]['pScales'][0]]) - self.fftree.set_attrib(f'{self.name}', 'pScale13', - [self.paramtree[self.name]['pScales'][1]]) - self.fftree.set_attrib(f'{self.name}', 'pScale14', - [self.paramtree[self.name]['pScales'][2]]) - self.fftree.set_attrib(f'{self.name}', 'pScale15', - [self.paramtree[self.name]['pScales'][3]]) - self.fftree.set_attrib(f'{self.name}', 'pScale16', - [self.paramtree[self.name]['pScales'][4]]) - - self.fftree.set_attrib(f'{self.name}', 'dScale12', - [self.paramtree[self.name]['dScales'][0]]) - self.fftree.set_attrib(f'{self.name}', 'dScale13', - [self.paramtree[self.name]['dScales'][1]]) - self.fftree.set_attrib(f'{self.name}', 'dScale14', - [self.paramtree[self.name]['dScales'][2]]) - self.fftree.set_attrib(f'{self.name}', 'dScale15', - [self.paramtree[self.name]['dScales'][3]]) - self.fftree.set_attrib(f'{self.name}', 'dScale16', - [self.paramtree[self.name]['dScales'][4]]) - - Q_global = convert_harm2cart(self.paramtree[self.name]['Q_local'], - self.lmax) - - self.fftree.set_attrib(f'{self.name}/Atom', 'c0', Q_global[:, 0]) - self.fftree.set_attrib(f'{self.name}/Atom', 'dX', Q_global[:, 1]) - self.fftree.set_attrib(f'{self.name}/Atom', 'dY', Q_global[:, 2]) - self.fftree.set_attrib(f'{self.name}/Atom', 'dZ', Q_global[:, 3]) - self.fftree.set_attrib(f'{self.name}/Atom', 'qXX', Q_global[:, 4]) - self.fftree.set_attrib(f'{self.name}/Atom', 'qYY', Q_global[:, 5]) - self.fftree.set_attrib(f'{self.name}/Atom', 'qZZ', Q_global[:, 6]) - self.fftree.set_attrib(f'{self.name}/Atom', 'qXY', Q_global[:, 7]) - self.fftree.set_attrib(f'{self.name}/Atom', 'qXZ', Q_global[:, 8]) - self.fftree.set_attrib(f'{self.name}/Atom', 'qYZ', Q_global[:, 9]) - - if self.lpol: - # self.paramtree[self.name]['pol']: every element is the mean value of XX YY ZZ - # get the number of polarize element - n_pol = len(self.paramtree[self.name]['pol']) - self.fftree.set_attrib(f'{self.name}/Polarize', 'polarizabilityXX', - [self.paramtree[self.name]['pol'][0]] * - n_pol) - self.fftree.set_attrib(f'{self.name}/Polarize', 'polarizabilityYY', - [self.paramtree[self.name]['pol'][1]] * - n_pol) - self.fftree.set_attrib(f'{self.name}/Polarize', 'polarizabilityZZ', - [self.paramtree[self.name]['pol'][2]] * - n_pol) - self.fftree.set_attrib(f'{self.name}/Polarize', 'thole', - self.paramtree[self.name]['tholes']) - - def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, - args): - + Q_local = convert_cart2harm(jnp.array(Q), self.lmax) + paramset.addParameter(Q_local, "Q_local", field=self.name, mask=multipole_masks) + + def getName(self): + return self.name + + def overwrite(self, paramset): + Q_global = convert_harm2cart(paramset[self.name]["Q_local"], self.lmax) + q_local_masks = paramset.mask[self.name]["Q_local"] + polar_masks = paramset.mask[self.name]["pol"] + + n_multipole, n_pol = 0, 0 + for nnode in range(len(self.ffinfo["Forces"][self.name]["node"])): + node = self.ffinfo["Forces"][self.name]["node"][nnode] + if node["name"] in ["Atom", "Multipole"]: + node["attrib"]["c0"] = Q_global[n_multipole, 0] + if self.lmax >= 1: + node["attrib"]["dX"] = Q_global[n_multipole, 1] * 0.1 + node["attrib"]["dY"] = Q_global[n_multipole, 2] * 0.1 + node["attrib"]["dZ"] = Q_global[n_multipole, 3] * 0.1 + if self.lmax >= 2: + node["attrib"]["qXX"] = Q_global[n_multipole, 4] / 300.0 + node["attrib"]["qYY"] = Q_global[n_multipole, 5] / 300.0 + node["attrib"]["qZZ"] = Q_global[n_multipole, 6] / 300.0 + node["attrib"]["qXY"] = Q_global[n_multipole, 7] / 300.0 + node["attrib"]["qXZ"] = Q_global[n_multipole, 8] / 300.0 + node["attrib"]["qYZ"] = Q_global[n_multipole, 9] / 300.0 + if q_local_masks[n_multipole] < 0.999: + node["mask"] = "true" + n_multipole += 1 + elif node["name"] == "Polarize": + node["attrib"]["polarizabilityXX"] = paramset[self.name]["pol"][n_pol] * 0.001 + node["attrib"]["polarizabilityYY"] = paramset[self.name]["pol"][n_pol] * 0.001 + node["attrib"]["polarizabilityZZ"] = paramset[self.name]["pol"][n_pol] * 0.001 + node["attrib"]["thole"] = paramset[self.name]["thole"][n_pol] + if polar_masks[n_pol] < 0.999: + node["attrib"]["mask"] = "true" + n_pol += 1 + + def _find_multipole_key_index(self, atype: str): + for n, i in enumerate(self.multipole_types): + if i == atype: + return n + return None + + def _find_polarize_key_index(self, atype: str): + for n, i in enumerate(self.polarize_types): + if i == atype: + return n + return None + + @staticmethod + def setAxisType(kIndices): + # setting up axis_indices and axis_type + ZThenX = 0 + Bisector = 1 + ZBisect = 2 + ThreeFold = 3 + ZOnly = 4 # typo fix + NoAxisType = 5 + LastAxisTypeIndex = 6 + + # set axis type + + ky = kIndices[2] + kyNegative = False + if ky.startswith('-'): + ky = ky[1:] + kyNegative = True + + kx = kIndices[1] + kxNegative = False + if kx.startswith('-'): + kx = kx[1:] + kxNegative = True + + kz = kIndices[0] + kzNegative = False + if kz.startswith('-'): + kz = kz[1:] + kzNegative = True + + axisType = ZThenX + if (not kz): + axisType = NoAxisType + if (kz and not kx): + axisType = ZOnly + if (kz and kzNegative or kx and kxNegative): + axisType = Bisector + if (kx and kxNegative and ky and kyNegative): + axisType = ZBisect + if (kz and kzNegative and kx and kxNegative and ky and kyNegative): + axisType = ThreeFold + + return axisType, [kz, kx, ky] + + def createPotential( + self, topdata: DMFFTopology, nonbondedMethod, nonbondedCutoff, **kwargs + ): methodMap = { app.CutoffPeriodic: "CutoffPeriodic", + app.CutoffNonPeriodic: "CutoffNonPeriodic", app.NoCutoff: "NoCutoff", app.PME: "PME", } if nonbondedMethod not in methodMap: raise ValueError("Illegal nonbonded method for ADMPPmeForce") - if nonbondedMethod is app.CutoffPeriodic: - self.lpme = False + if nonbondedMethod in [app.CutoffPeriodic, app.NoCutoff, app.CutoffNonPeriodic]: + lpme = False else: - self.lpme = True + lpme = True - n_atoms = len(data.atoms) + n_atoms = topdata.getNumAtoms() map_atomtype = np.zeros(n_atoms, dtype=int) map_poltype = np.zeros(n_atoms, dtype=int) + atoms = [a for a in topdata.atoms()] for i in range(n_atoms): - atype = data.atomType[ - data.atoms[i]] # convert str to int to match atomTypes - map_atomtype[i] = np.where(self.atomTypes == atype)[0][0] + atype = atoms[i].meta[ + self.key_type + ] # convert str to int to match atomTypes + map_atomtype[i] = self._find_multipole_key_index(atype) if self.lpol: - map_poltype[i] = np.where(self.polarize_types == atype)[0][0] - self.map_atomtype = map_atomtype - if self.lpol: - self.map_poltype = map_poltype + map_poltype[i] = self._find_polarize_key_index(atype) - # here box is only used to setup ewald parameters, no need to be differentiable - a, b, c = system.getDefaultPeriodicBoxVectors() - box = jnp.array([a._value, b._value, c._value]) * 10 + # here box is only used to setup ewald parameters, no need to be differentiable + box = topdata.getPeriodicBoxVectors() + if box is not None: + box = jnp.array(box) * 10.0 + else: + box = jnp.eye(3) # get the admp calculator - rc = nonbondedCutoff.value_in_unit(unit.angstrom) + if unit.is_quantity(nonbondedCutoff): + rc = nonbondedCutoff.value_in_unit(unit.angstrom) + else: + rc = nonbondedCutoff * 10.0 # build covalent map - self.covalent_map = covalent_map = build_covalent_map(data, 6) - self._meta["cov_map"] = self.covalent_map + covalent_map = topdata.buildCovMat() # build intra-molecule axis # the following code is the direct transplant of forcefield.py in openmm 7.4.0 if self.lmax > 0: - # setting up axis_indices and axis_type ZThenX = 0 Bisector = 1 @@ -901,241 +1216,199 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, NoAxisType = 5 LastAxisTypeIndex = 6 - self.axis_types = [] - self.axis_indices = [] - for i_atom in range(n_atoms): - atom = data.atoms[i_atom] - t = data.atomType[atom] - # if t is in type list? - if t in self.atomTypes: - itypes = np.where(self.atomTypes == t)[0] - hit = 0 - # try to assign multipole parameters via only 1-2 connected atoms - for itype in itypes: - if hit != 0: - break - kz = int(self.kStrings["kz"][itype]) - kx = int(self.kStrings["kx"][itype]) - ky = int(self.kStrings["ky"][itype]) - neighbors = np.where(covalent_map[i_atom] == 1)[0] - zaxis = -1 - xaxis = -1 - yaxis = -1 - for z_index in neighbors: - if hit != 0: + axis_types = {} + axis_indices = {} + patched_atoms = np.zeros(n_atoms, dtype=int) + for i_type_rev in range(len(self.multipole_types)): + i_type = len(self.multipole_types) - i_type_rev - 1 + t = self.multipole_types[i_type] # reverse + # find all the atoms patched the multipole type + i_atoms = [ + i for i in range(n_atoms) if atoms[i].meta[self.key_type] == t + ] + for i_atom in i_atoms: + if patched_atoms[i_atom] > 0: + continue + + kz = self.kStrings["kz"][i_type] + kx = self.kStrings["kx"][i_type] + ky = self.kStrings["ky"][i_type] + axisType, (kz, kx, ky) = self.setAxisType([kz, kx, ky]) + + zaxis = -1 + xaxis = -1 + yaxis = -1 + # try to assign multipole parameters + neighbors = np.where(covalent_map[i_atom] == 1)[0] + if len(neighbors) < 1 and axisType != NoAxisType: + continue + if axisType == ZThenX: + if kz is None or kx is None: + raise DMFFException("ZThenX axis requires both kz and kx!") + # find zaxis + for i_neighbor in neighbors: + if kz == atoms[i_neighbor].meta[self.key_type]: + zaxis = i_neighbor break - z_type = int(data.atomType[data.atoms[z_index]]) - if z_type == abs( - kz - ): # find the z atom, start searching for x - for x_index in neighbors: - if x_index == z_index or hit != 0: - continue - x_type = int( - data.atomType[data.atoms[x_index]]) - if x_type == abs( - kx - ): # find the x atom, start searching for y - if ky == 0: - zaxis = z_index - xaxis = x_index - # cannot ditinguish x and z? use the smaller index for z, and the larger index for x - if x_type == z_type and xaxis < zaxis: - swap = z_axis - z_axis = x_axis - x_axis = swap - # otherwise, try to see if we can find an even smaller index for x? - else: - for x_index in neighbors: - x_type1 = int( - data.atomType[ - data. - atoms[x_index]]) - if (x_type1 == abs(kx) and - x_index != z_index - and - x_index < xaxis): - xaxis = x_index - hit = 1 # hit, finish matching - matched_itype = itype - else: - for y_index in neighbors: - if (y_index == z_index - or y_index == x_index - or hit != 0): - continue - y_type = int(data.atomType[ - data.atoms[y_index]]) - if y_type == abs(ky): - zaxis = z_index - xaxis = x_index - yaxis = y_index - hit = 2 - matched_itype = itype - # assign multipole parameters via 1-2 and 1-3 connected atoms - for itype in itypes: - if hit != 0: - break - kz = int(self.kStrings["kz"][itype]) - kx = int(self.kStrings["kx"][itype]) - ky = int(self.kStrings["ky"][itype]) - neighbors_1st = np.where(covalent_map[i_atom] == 1)[0] - neighbors_2nd = np.where(covalent_map[i_atom] == 2)[0] - zaxis = -1 - xaxis = -1 - yaxis = -1 - for z_index in neighbors_1st: - if hit != 0: + if zaxis < 0: + continue + # find xaxis on 1-2 pairs + for i_neighbor in neighbors: + if i_neighbor == zaxis: + continue + if kx == atoms[i_neighbor].meta[self.key_type]: + xaxis = i_neighbor break - z_type = int(data.atomType[data.atoms[z_index]]) - if z_type == abs(kz): - for x_index in neighbors_2nd: - if x_index == z_index or hit != 0: - continue - x_type = int( - data.atomType[data.atoms[x_index]]) - # we ask x to be in 2'nd neighbor, and x is z's neighbor - if (x_type == abs(kx) - and covalent_map[z_index, - x_index] == 1): - if ky == 0: - zaxis = z_index - xaxis = x_index - # select smallest x index - for x_index in neighbors_2nd: - x_type1 = int(data.atomType[ - data.atoms[x_index]]) - if (x_type1 == abs(kx) - and x_index != z_index - and - covalent_map[x_index, - z_index] - == 1 - and x_index < xaxis): - xaxis = x_index - hit = 3 - matched_itype = itype - else: - for y_index in neighbors_2nd: - if (y_index == z_index - or y_index == x_index - or hit != 0): - continue - y_type = int(data.atomType[ - data.atoms[y_index]]) - if (y_type == abs(ky) and - covalent_map[y_index, - z_index] - == 1): - zaxis = z_index - xaxis = x_index - yaxis = y_index - hit = 4 - matched_itype = itype - # assign multipole parameters via only a z-defining atom - for itype in itypes: - if hit != 0: - break - kz = int(self.kStrings["kz"][itype]) - kx = int(self.kStrings["kx"][itype]) - zaxis = -1 - xaxis = -1 - yaxis = -1 - neighbors = np.where(covalent_map[i_atom] == 1)[0] - for z_index in neighbors: - if hit != 0: + if xaxis < 0: + # find xaxis on 1-3 pairs + neighbors2 = np.where(covalent_map[zaxis] == 1)[0] + for j_neighbor in neighbors2: + if j_neighbor == i_atom: + continue + if kx == atoms[j_neighbor].meta[self.key_type]: + xaxis = j_neighbor + break + if xaxis < 0: + continue + elif axisType == ZOnly: + # 1-2 only + for i_neighbor in neighbors: + if kz == atoms[i_neighbor].meta[self.key_type]: + zaxis = i_neighbor break - z_type = int(data.atomType[data.atoms[z_index]]) - if kx == 0 and z_type == abs(kz): - zaxis = z_index - hit = 5 - matched_itype = itype - # assign multipole parameters via no connected atoms - for itype in itypes: - if hit != 0: - break - kz = int(self.kStrings["kz"][itype]) - zaxis = -1 - xaxis = -1 - yaxis = -1 - if kz == 0: - hit = 6 - matched_itype = itype - # add particle if there was a hit - if hit != 0: - map_atomtype[i_atom] = matched_itype - self.axis_indices.append([zaxis, xaxis, yaxis]) - - kz = int(self.kStrings["kz"][matched_itype]) - kx = int(self.kStrings["kx"][matched_itype]) - ky = int(self.kStrings["ky"][matched_itype]) - axisType = ZThenX - if kz == 0: - axisType = NoAxisType - if kz != 0 and kx == 0: - axisType = ZOnly - if kz < 0 or kx < 0: - axisType = Bisector - if kx < 0 and ky < 0: - axisType = ZBisect - if kz < 0 and kx < 0 and ky < 0: - axisType = ThreeFold - self.axis_types.append(axisType) - + if zaxis < 0: + continue + elif axisType == Bisector: + for i_neighbor in neighbors: + if kz == atoms[i_neighbor].meta[self.key_type]: + zaxis = i_neighbor + break + if zaxis < 0: + continue + for j_neighbor in neighbors: + if j_neighbor == zaxis: + continue + if kx == atoms[j_neighbor].meta[self.key_type]: + xaxis = j_neighbor + break + if xaxis < 0: + continue + elif axisType in [ZBisect, ThreeFold]: + for i_neighbor in neighbors: + if kz == atoms[i_neighbor].meta[self.key_type]: + zaxis = i_neighbor + break + if zaxis < 0: + continue + for j_neighbor in neighbors: + if j_neighbor == zaxis: + continue + if kx == atoms[j_neighbor].meta[self.key_type]: + xaxis = j_neighbor + break + if xaxis < 0: + continue + for k_neighbor in neighbors: + if k_neighbor == zaxis or k_neighbor == xaxis: + continue + if ky == atoms[k_neighbor].meta[self.key_type]: + yaxis = k_neighbor + break + if yaxis < 0: + continue + elif axisType == NoAxisType: + pass else: - sys.exit("Atom %d not matched in forcefield!" % i_atom) + continue - else: - sys.exit("Atom %d not matched in forcefield!" % i_atom) - self.axis_indices = np.array(self.axis_indices) - self.axis_types = np.array(self.axis_types) - else: - self.axis_types = None - self.axis_indices = None + axis_types[i_atom] = axisType + axis_indices[i_atom] = [zaxis, xaxis, yaxis] + patched_atoms[i_atom] = 1 - if "ethresh" in args: - self.ethresh = args["ethresh"] - if "step_pol" in args: - self.step_pol = args["step_pol"] + for i_atom in range(patched_atoms.shape[0]): + if patched_atoms[i_atom] < 0.5: + raise DMFFException("Atom %d not matched in forcefield!" % i_atom) - pme_force = ADMPPmeForce(box, self.axis_types, self.axis_indices, rc, - self.ethresh, self.lmax, self.lpol, self.lpme, - self.step_pol) + axis_indices = np.array([axis_indices[i] for i in range(n_atoms)]) + axis_types = np.array([axis_types[i] for i in range(n_atoms)]) + else: + axis_types = np.zeros(n_atoms, dtype=int) + axis_indices = None + + if "has_aux" in kwargs and kwargs["has_aux"]: + has_aux = True + else: + has_aux = False + + if "ethresh" in kwargs: + self.ethresh = kwargs["ethresh"] + if "step_pol" in kwargs: + self.step_pol = kwargs["step_pol"] + pme_force = ADMPPmeForce( + box, + map_atomtype, + axis_types, + axis_indices, + rc, + self.ethresh, + self.lmax, + self.lpol, + lpme, + self.step_pol, + has_aux + ) self.pme_force = pme_force + topdata._meta[self.name+"_map_atomtype"] = map_atomtype + topdata._meta[self.name+"_map_poltype"] = map_poltype - def potential_fn(positions, box, pairs, params): - params = params['ADMPPmeForce'] - mScales = params["mScales"] - Q_local = params["Q_local"][map_atomtype] + if "has_aux" in kwargs and kwargs["has_aux"]: + has_aux = True + else: + has_aux = False + + def potential_fn(positions, box, pairs, params, aux=None): + positions = positions * 10.0 + box = box * 10.0 + Q_local = params["ADMPPmeForce"]["Q_local"][map_atomtype] if self.lpol: - pScales = params["pScales"] - dScales = params["dScales"] - pol = params["pol"][map_poltype] - tholes = params["tholes"][map_poltype] - - return pme_force.get_energy( - positions, - box, - pairs, - Q_local, - pol, - tholes, - mScales, - pScales, - dScales, - pme_force.U_ind, - ) + pol = params["ADMPPmeForce"]["pol"][map_poltype] + tholes = params["ADMPPmeForce"]["thole"][map_poltype] + + if has_aux: + if aux is not None: + energy, aux = pme_force.get_energy( + positions, box, pairs, Q_local, pol, tholes, + self.mScales, self.pScales, self.dScales, + U_init = aux["U_ind"], aux = aux + ) + else: + energy, aux = pme_force.get_energy( + positions, box, pairs, Q_local, pol, tholes, + self.mScales, self.pScales, self.dScales, + U_init=jnp.zeros((n_atoms,3)), aux={} + ) + return energy, aux + else: + energy = pme_force.get_energy( + positions, box, pairs, Q_local, pol, tholes, + self.mScales, self.pScales, self.dScales, + U_init = pme_force.U_ind + ) + return energy else: - return pme_force.get_energy(positions, box, pairs, Q_local, - mScales) + energy = pme_force.get_energy( + positions, box, pairs, Q_local, self.mScales + ) + if has_aux: + return energy, aux + else: + return energy self._jaxPotential = potential_fn + return potential_fn def getJaxPotential(self): return self._jaxPotential - def getMetaData(self): - return self._meta - -dmff.api.jaxGenerators["ADMPPmeForce"] = ADMPPmeGenerator +_DMFFGenerators["ADMPPmeForce"] = ADMPPmeGenerator diff --git a/dmff/generators/classical.py b/dmff/generators/classical.py index ddeffe3c1..b330c87e2 100644 --- a/dmff/generators/classical.py +++ b/dmff/generators/classical.py @@ -1,896 +1,971 @@ -from collections import defaultdict -from typing import Dict -import warnings - +from ..api.topology import DMFFTopology +from ..api.paramset import ParamSet +from ..api.hamiltonian import _DMFFGenerators +from ..utils import DMFFException, isinstance_jnp +from ..admp.pme import setup_ewald_parameters import numpy as np import jax.numpy as jnp import openmm.app as app import openmm.unit as unit - -import dmff -from dmff.classical.intra import ( - HarmonicBondJaxForce, - HarmonicAngleJaxForce, - PeriodicTorsionJaxForce, -) -from dmff.classical.inter import ( - LennardJonesForce, - LennardJonesLongRangeForce, - CoulombPMEForce, - CoulNoCutoffForce, - CoulombPMEForce, - CoulReactionFieldForce, -) -from dmff.classical.fep import ( - LennardJonesFreeEnergyForce, - LennardJonesLongRangeFreeEnergyForce, - CoulombPMEFreeEnergyForce -) -from dmff.classical.vsite import VirtualSite -from dmff.admp.pme import setup_ewald_parameters -from dmff.utils import jit_condition, isinstance_jnp, DMFFException, findItemInList -from dmff.fftree import ForcefieldTree, TypeMatcher -from dmff.api import Hamiltonian, build_covalent_map - - -class HarmonicBondJaxGenerator: - def __init__(self, ff: Hamiltonian): - self.name = "HarmonicBondForce" - self.ff: Hamiltonian = ff - self.fftree: ForcefieldTree = ff.fftree - self.paramtree: Dict = ff.paramtree - self._meta = {} - - def extract(self): +from ..classical.intra import HarmonicBondJaxForce, HarmonicAngleJaxForce, PeriodicTorsionJaxForce +from ..classical.inter import CoulNoCutoffForce, CoulombPMEForce, CoulReactionFieldForce, LennardJonesForce, LennardJonesLongRangeForce +from typing import Tuple, List, Union, Callable + + +class HarmonicBondGenerator: + """ + A class for generating harmonic bond force field parameters. + + Attributes: + ----------- + name : str + The name of the force field. + ffinfo : dict + The force field information. + key_type : str + The type of the key. + bond_keys : list of tuple + The keys of the bonds. + bond_params : list of tuple + The parameters of the bonds. + bond_mask : list of float + The mask of the bonds. + _use_smarts : bool + Whether to use SMARTS. + """ + + def __init__(self, ffinfo: dict, paramset: ParamSet): """ - extract forcefield paramters from ForcefieldTree. + Initializes the HarmonicBondGenerator. + + Parameters: + ----------- + ffinfo : dict + The force field information. + paramset : ParamSet + The parameter set. """ - lengths = self.fftree.get_attribs(f"{self.name}/Bond", "length") - # get_attribs will return a list of list. - ks = self.fftree.get_attribs(f"{self.name}/Bond", "k") - self.paramtree[self.name] = {} - self.paramtree[self.name]["length"] = jnp.array(lengths) - self.paramtree[self.name]["k"] = jnp.array(ks) - - def overwrite(self): + self.name = "HarmonicBondForce" + self.ffinfo = ffinfo + paramset.addField(self.name) + self.key_type = None + + bond_keys, bond_params, bond_mask = [], [], [] + for node in self.ffinfo["Forces"][self.name]["node"]: + attribs = node["attrib"] + if self.key_type is None: + if "type1" in attribs: + self.key_type = "type" + elif "class1" in attribs: + self.key_type = "class" + else: + raise ValueError( + "Cannot find key type for HarmonicBondForce.") + key = (attribs[self.key_type + "1"], attribs[self.key_type + "2"]) + bond_keys.append(key) + + k = float(attribs["k"]) + r0 = float(attribs["length"]) + bond_params.append([k, r0]) + + # when the node has mask attribute, it means that the parameter is not trainable. + # the gradient of this parameter will be zero. + mask = 1.0 + if "mask" in attribs and attribs["mask"].upper() == "TRUE": + mask = 0.0 + bond_mask.append(mask) + + self.bond_keys = bond_keys + bond_length = jnp.array([i[1] for i in bond_params]) + bond_k = jnp.array([i[0] for i in bond_params]) + bond_mask = jnp.array(bond_mask) + + # register parameters to ParamSet + paramset.addParameter(bond_length, "length", + field=self.name, mask=bond_mask) + # register parameters to ParamSet + paramset.addParameter(bond_k, "k", field=self.name, mask=bond_mask) + + def getName(self) -> str: """ - update parameters in the fftree by using paramtree of this generator. + Returns the name of the force field. + + Returns: + -------- + str + The name of the force field. """ - self.fftree.set_attrib(f"{self.name}/Bond", "length", - self.paramtree[self.name]["length"]) - self.fftree.set_attrib(f"{self.name}/Bond", "k", - self.paramtree[self.name]["k"]) + return self.name - def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): + def overwrite(self, paramset: ParamSet) -> None: """ - This method will create a potential calculation kernel. It usually should do the following: - - 1. Match the corresponding bond parameters according to the atomic types at both ends of each bond. + Overwrites the parameter set. - 2. Create a potential calculation kernel, and pass those mapped parameters to the kernel. + Parameters: + ----------- + paramset : ParamSet + The parameter set. + """ + bond_node_indices = [i for i in range(len( + self.ffinfo["Forces"][self.name]["node"])) if self.ffinfo["Forces"][self.name]["node"][i]["name"] == "Bond"] + + bond_length = paramset[self.name]["length"] + bond_k = paramset[self.name]["k"] + bond_msks = paramset.mask[self.name]["length"] + for nnode, key in enumerate(self.bond_keys): + self.ffinfo["Forces"][self.name]["node"][bond_node_indices[nnode]]["attrib"] = { + } + self.ffinfo["Forces"][self.name]["node"][bond_node_indices[nnode] + ]["attrib"][f"{self.key_type}1"] = key[0] + self.ffinfo["Forces"][self.name]["node"][bond_node_indices[nnode] + ]["attrib"][f"{self.key_type}2"] = key[1] + r0 = bond_length[nnode] + k = bond_k[nnode] + mask = bond_msks[nnode] + self.ffinfo["Forces"][self.name]["node"][bond_node_indices[nnode] + ]["attrib"]["k"] = str(k) + self.ffinfo["Forces"][self.name]["node"][bond_node_indices[nnode] + ]["attrib"]["length"] = str(r0) + if mask < 0.999: + self.ffinfo["Forces"][self.name]["node"][bond_node_indices[nnode] + ]["attrib"]["mask"] = "true" + + def _find_key_index(self, key: Tuple[str, str]) -> int: + """ + Finds the index of the key. - 3. assign the jax potential to the _jaxPotential. + Parameters: + ----------- + key : tuple of str + The key. - Args: - Those args are the same as those in createSystem. + Returns: + -------- + int + The index of the key. """ - self._meta = {} - - # initialize typemap - matcher = TypeMatcher(self.fftree, "HarmonicBondForce/Bond") - - map_atom1, map_atom2, map_param = [], [], [] - - if not matcher.useSmirks: - n_bonds = len(data.bonds) - # build map - for i in range(n_bonds): - idx1 = data.bonds[i].atom1 - idx2 = data.bonds[i].atom2 - type1 = data.atomType[data.atoms[idx1]] - type2 = data.atomType[data.atoms[idx2]] - ifFound, ifForward, nfunc = matcher.matchGeneral([type1, type2]) - if not ifFound: - raise DMFFException( - f"No parameter for bond ({idx1},{type1}) - ({idx2},{type2})" - ) - map_atom1.append(idx1) - map_atom2.append(idx2) - map_param.append(nfunc) - else: - rdmol = args.get("rdmol", None) - matches_dict = matcher.matchSmirks(rdmol) - for bond in rdmol.GetBonds(): - beginAtomIdx = bond.GetBeginAtomIdx() - endAtomIdx = bond.GetEndAtomIdx() - query = (beginAtomIdx, endAtomIdx) if beginAtomIdx < endAtomIdx else (endAtomIdx, beginAtomIdx) - map_atom1.append(query[0]) - map_atom2.append(query[1]) - try: - map_param.append(matches_dict[query]) - except KeyError as e: - raise DMFFException( - f"No parameter for bond between Atom{beginAtomIdx} and Atom{endAtomIdx}" - ) - - map_atom1 = np.array(map_atom1, dtype=int) - map_atom2 = np.array(map_atom2, dtype=int) - map_param = np.array(map_param, dtype=int) - self._meta["HarmonicBondForce_atom1"] = map_atom1 - self._meta["HarmonicBondForce_atom2"] = map_atom2 - self._meta["HarmonicBondForce_param"] = map_param - - bforce = HarmonicBondJaxForce(map_atom1, map_atom2, map_param) - self._force_latest = bforce - - def potential_fn(positions, box, pairs, params): - return bforce.get_energy(positions, box, pairs, - params[self.name]["k"], - params[self.name]["length"]) + for i, k in enumerate(self.bond_keys): + if k[0] == key[0] and k[1] == key[1]: + return i + if k[0] == key[1] and k[1] == key[0]: + return i + return None + + def createPotential(self, topdata: DMFFTopology, nonbondedMethod, + nonbondedCutoff, **kwargs): + """ + Creates the potential. + + Parameters: + ----------- + topdata : DMFFTopology + The topology data. + nonbondedMethod : str + The nonbonded method. + nonbondedCutoff : float + The nonbonded cutoff. + args : list + The arguments. + + Returns: + -------- + function + The potential function. + """ + # 按照HarmonicBondForce的要求遍历体系中所有的bond,进行匹配 + bond_a1, bond_a2, bond_indices = [], [], [] + for bond in topdata.bonds(): + a1, a2 = bond.atom1, bond.atom2 + i1, i2 = a1.index, a2.index + if self.key_type == "type": + key = (a1.meta["type"], a2.meta["type"]) + elif self.key_type == "class": + key = (a1.meta["class"], a2.meta["class"]) + idx = self._find_key_index(key) + if idx is None: + continue + bond_a1.append(i1) + bond_a2.append(i2) + bond_indices.append(idx) + bond_a1 = jnp.array(bond_a1) + bond_a2 = jnp.array(bond_a2) + bond_indices = jnp.array(bond_indices) + + # 创建势函数 + harmonic_bond_force = HarmonicBondJaxForce( + bond_a1, bond_a2, bond_indices) + harmonic_bond_energy = harmonic_bond_force.generate_get_energy() + + has_aux = False + if "has_aux" in kwargs and kwargs["has_aux"]: + has_aux = True + + def potential_fn(positions: jnp.ndarray, box: jnp.ndarray, pairs: jnp.ndarray, params: ParamSet, aux=None): + isinstance_jnp(positions, box, params) + energy = harmonic_bond_energy( + positions, box, pairs, params[self.name]["k"], params[self.name]["length"]) + if has_aux: + return energy, aux + else: + return energy self._jaxPotential = potential_fn - # self._top_data = data + return potential_fn + + +# register the generator +_DMFFGenerators["HarmonicBondForce"] = HarmonicBondGenerator + + +class HarmonicAngleGenerator: + """ + A class for generating harmonic angle force field parameters. + + Attributes: + ----------- + name : str + The name of the force field. + ffinfo : dict + The force field information. + key_type : str + The type of the key. + angle_keys : list of tuple + The keys of the bonds. + angle_params : list of tuple + The parameters of the bonds. + angle_mask : list of float + The mask of the bonds. + _use_smarts : bool + Whether to use SMARTS. + """ + + def __init__(self, ffinfo: dict, paramset: ParamSet): + """ + Initializes the HarmonicAngleGenerator. + + Parameters: + ----------- + ffinfo : dict + The force field information. + paramset : ParamSet + The parameter set. + """ + self.name = "HarmonicAngleForce" + self.ffinfo = ffinfo + paramset.addField(self.name) + self.key_type = None + + angle_keys, angle_params, angle_mask = [], [], [] + for node in self.ffinfo["Forces"][self.name]["node"]: + attribs = node["attrib"] + + if self.key_type is None: + if "type1" in attribs: + self.key_type = "type" + elif "class1" in attribs: + self.key_type = "class" + else: + raise ValueError( + "Cannot find key type for HarmonicAngleForce.") + key = (attribs[self.key_type + "1"], + attribs[self.key_type + "2"], attribs[self.key_type + "3"]) + angle_keys.append(key) + + k = float(attribs["k"]) + r0 = float(attribs["angle"]) + angle_params.append([k, r0]) + + # when the node has mask attribute, it means that the parameter is not trainable. + # the gradient of this parameter will be zero. + mask = 1.0 + if "mask" in attribs and attribs["mask"].upper() == "TRUE": + mask = 0.0 + angle_mask.append(mask) + + self.angle_keys = angle_keys + angle_theta = jnp.array([i[1] for i in angle_params]) + angle_k = jnp.array([i[0] for i in angle_params]) + angle_mask = jnp.array(angle_mask) + + # register parameters to ParamSet + paramset.addParameter(angle_theta, "angle", + field=self.name, mask=angle_mask) + # register parameters to ParamSet + paramset.addParameter(angle_k, "k", field=self.name, mask=angle_mask) + + def getName(self) -> str: + """ + Returns the name of the force field. - def getJaxPotential(self): - return self._jaxPotential - - def getMetaData(self): - return self._meta + Returns: + -------- + str + The name of the force field. + """ + return self.name + def overwrite(self, paramset: ParamSet) -> None: + """ + Overwrites the parameter set. -dmff.api.jaxGenerators["HarmonicBondForce"] = HarmonicBondJaxGenerator + Parameters: + ----------- + paramset : ParamSet + The parameter set. + """ + angle_node_indices = [i for i in range(len( + self.ffinfo["Forces"][self.name]["node"])) if self.ffinfo["Forces"][self.name]["node"][i]["name"] == "Angle"] + + angle_theta = paramset[self.name]["angle"] + angle_k = paramset[self.name]["k"] + angle_msks = paramset.mask[self.name]["angle"] + for nnode, key in enumerate(self.bond_keys): + self.ffinfo["Forces"][self.name]["node"][angle_node_indices[nnode]]["attrib"] = { + } + self.ffinfo["Forces"][self.name]["node"][angle_node_indices[nnode] + ]["attrib"][f"{self.key_type}1"] = key[0] + self.ffinfo["Forces"][self.name]["node"][angle_node_indices[nnode] + ]["attrib"][f"{self.key_type}2"] = key[1] + theta0 = angle_theta[nnode] + k = angle_k[nnode] + mask = angle_msks[nnode] + self.ffinfo["Forces"][self.name]["node"][angle_node_indices[nnode] + ]["attrib"]["k"] = str(k) + self.ffinfo["Forces"][self.name]["node"][angle_node_indices[nnode] + ]["attrib"]["angle"] = str(theta0) + if mask < 0.999: + self.ffinfo["Forces"][self.name]["node"][angle_node_indices[nnode] + ]["attrib"]["mask"] = "true" + + def _find_key_index(self, key: Tuple[str, str]) -> int: + """ + Finds the index of the key. + Parameters: + ----------- + key : tuple of str + The key. -class HarmonicAngleJaxGenerator: - def __init__(self, ff): - self.name = "HarmonicAngleForce" - self.ff = ff - self.fftree = ff.fftree - self.paramtree = ff.paramtree - self._meta = {} - - def extract(self): - angles = self.fftree.get_attribs(f"{self.name}/Angle", "angle") - ks = self.fftree.get_attribs(f"{self.name}/Angle", "k") - self.paramtree[self.name] = {} - self.paramtree[self.name]["angle"] = jnp.array(angles) - self.paramtree[self.name]["k"] = jnp.array(ks) - - def overwrite(self): - self.fftree.set_attrib(f"{self.name}/Angle", "angle", - self.paramtree[self.name]["angle"]) - self.fftree.set_attrib(f"{self.name}/Angle", "k", - self.paramtree[self.name]["k"]) - - def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): - self._meta = {} - - matcher = TypeMatcher(self.fftree, "HarmonicAngleForce/Angle") - - map_atom1, map_atom2, map_atom3, map_param = [], [], [], [] - - if not matcher.useSmirks: - n_angles = len(data.angles) - for nangle in range(n_angles): - idx1 = data.angles[nangle][0] - idx2 = data.angles[nangle][1] - idx3 = data.angles[nangle][2] - type1 = data.atomType[data.atoms[idx1]] - type2 = data.atomType[data.atoms[idx2]] - type3 = data.atomType[data.atoms[idx3]] - ifFound, ifForward, nfunc = matcher.matchGeneral( - [type1, type2, type3]) - if not ifFound: - print( - f"No parameter for angle ({idx1},{type1}) - ({idx2},{type2}) - ({idx3},{type3})" - ) - else: - map_atom1.append(idx1) - map_atom2.append(idx2) - map_atom3.append(idx3) - map_param.append(nfunc) - else: - from rdkit import Chem - - rdmol = args.get("rdmol", None) - matches_dict = matcher.matchSmirks(rdmol) - angle_patt = Chem.MolFromSmarts("[*:1]~[*:2]~[*:3]") - angles = rdmol.GetSubstructMatches(angle_patt) - for angle in angles: - canonical_angle = (min([angle[0], angle[2]]), angle[1], max([angle[0], angle[2]])) - map_atom1.append(canonical_angle[0]) - map_atom2.append(canonical_angle[1]) - map_atom3.append(canonical_angle[2]) - try: - map_param.append(matches_dict[canonical_angle]) - except KeyError as e: - raise DMFFException( - f"No parameter for angle Atom{canonical_angle[0]}-Atom{canonical_angle[1]}-Atom{canonical_angle[2]}" - ) - - map_atom1 = np.array(map_atom1, dtype=int) - map_atom2 = np.array(map_atom2, dtype=int) - map_atom3 = np.array(map_atom3, dtype=int) - map_param = np.array(map_param, dtype=int) - self._meta["HarmonicAngleForce_atom1"] = map_atom1 - self._meta["HarmonicAngleForce_atom2"] = map_atom2 - self._meta["HarmonicAngleForce_atom3"] = map_atom3 - self._meta["HarmonicAngleForce_param"] = map_param - - aforce = HarmonicAngleJaxForce(map_atom1, map_atom2, map_atom3, - map_param) - self._force_latest = aforce - - def potential_fn(positions, box, pairs, params): - return aforce.get_energy(positions, box, pairs, - params[self.name]["k"], - params[self.name]["angle"]) + Returns: + -------- + int + The index of the key. + """ + for i, k in enumerate(self.angle_keys): + if k[0] == key[0] and k[1] == key[1] and k[2] == key[2]: + return i + if k[0] == key[2] and k[1] == key[1] and k[2] == key[0]: + return i + return None + + def createPotential(self, topdata: DMFFTopology, nonbondedMethod, + nonbondedCutoff, **kwargs): + """ + Creates the potential. + + Parameters: + ----------- + topdata : DMFFTopology + The topology data. + nonbondedMethod : str + The nonbonded method. + nonbondedCutoff : float + The nonbonded cutoff. + args : list + The arguments. + + Returns: + -------- + function + The potential function. + """ + angle_a1, angle_a2, angle_a3, angle_indices = [], [], [], [] + angles = [] + acenters = {} + for bond in topdata.bonds(): + a1, a2 = bond.atom1, bond.atom2 + i1, i2 = a1.index, a2.index + if i1 not in acenters: + acenters[i1] = [a1] + acenters[i1].append(a2) + if i2 not in acenters: + acenters[i2] = [a2] + acenters[i2].append(a1) + for icenter in acenters: + if len(acenters[icenter]) < 3: + continue + acenter = acenters[icenter][0] + alinks = acenters[icenter][1:] + for ii in range(len(alinks)): + for jj in range(ii+1, len(alinks)): + angles.append((alinks[ii], acenter, alinks[jj])) + for angle in angles: + a1, a2, a3 = angle + i1, i2, i3 = a1.index, a2.index, a3.index + if self.key_type == "type": + key = (a1.meta["type"], a2.meta["type"], a3.meta["type"]) + elif self.key_type == "class": + key = (a1.meta["class"], a2.meta["class"], a3.meta["class"]) + idx = self._find_key_index(key) + if idx is None: + continue + angle_a1.append(i1) + angle_a2.append(i2) + angle_a3.append(i3) + angle_indices.append(idx) + angle_a1 = jnp.array(angle_a1) + angle_a2 = jnp.array(angle_a2) + angle_a3 = jnp.array(angle_a3) + angle_indices = jnp.array(angle_indices) + + # 创建势函数 + harmonic_angle_force = HarmonicAngleJaxForce( + angle_a1, angle_a2, angle_a3, angle_indices) + harmonic_angle_energy = harmonic_angle_force.generate_get_energy() + + has_aux = False + if "has_aux" in kwargs and kwargs["has_aux"]: + has_aux = True + + # 包装成统一的potential_function函数形式,传入四个参数:positions, box, pairs, parameters。 + def potential_fn(positions: jnp.ndarray, box: jnp.ndarray, pairs: jnp.ndarray, params: ParamSet, aux=None): + isinstance_jnp(positions, box, params) + energy = harmonic_angle_energy( + positions, box, pairs, params[self.name]["k"], params[self.name]["angle"]) + if has_aux: + return energy, aux + else: + return energy self._jaxPotential = potential_fn - # self._top_data = data + return potential_fn - def getJaxPotential(self): - return self._jaxPotential - - def getMetaData(self): - return self._meta +# register the generator +_DMFFGenerators["HarmonicAngleForce"] = HarmonicAngleGenerator -dmff.api.jaxGenerators["HarmonicAngleForce"] = HarmonicAngleJaxGenerator +class PeriodicTorsionGenerator: -class PeriodicTorsionJaxGenerator: - def __init__(self, ff): - self.name = "PeriodicTorsionForce" - self.ff = ff - self.fftree = ff.fftree - self.paramtree = ff.paramtree - self.meta = {} - self._meta = {} - self.meta["prop_order"] = defaultdict(list) - self.meta["prop_nodeidx"] = defaultdict(list) - - self.meta["impr_order"] = defaultdict(list) - self.meta["impr_nodeidx"] = defaultdict(list) - - self.max_pred_prop = 0 - self.max_pred_impr = 0 - - def extract(self): - propers = self.fftree.get_nodes("PeriodicTorsionForce/Proper") - impropers = self.fftree.get_nodes("PeriodicTorsionForce/Improper") - self.paramtree[self.name] = {} - # propers - prop_phase = defaultdict(list) - prop_k = defaultdict(list) - for nnode, node in enumerate(propers): - for key in node.attrs: - if "periodicity" in key: - order = int(key[-1]) - phase = float(node.attrs[f"phase{order}"]) - k = float(node.attrs[f"k{order}"]) - periodicity = int(node.attrs[f"periodicity{order}"]) - if self.max_pred_prop < periodicity: - self.max_pred_prop = periodicity - prop_phase[f"{periodicity}"].append(phase) - prop_k[f"{periodicity}"].append(k) - self.meta[f"prop_order"][f"{periodicity}"].append(order) - self.meta[f"prop_nodeidx"][f"{periodicity}"].append(nnode) - - self.paramtree[self.name]["prop_phase"] = {} - self.paramtree[self.name]["prop_k"] = {} - for npred in range(1, self.max_pred_prop + 1): - self.paramtree[self.name]["prop_phase"][f"{npred}"] = jnp.array( - prop_phase[f"{npred}"]) - self.paramtree[self.name]["prop_k"][f"{npred}"] = jnp.array( - prop_k[f"{npred}"]) - if self.max_pred_prop == 0: - del self.paramtree[self.name]["prop_phase"] - del self.paramtree[self.name]["prop_k"] - - # impropers - impr_phase = defaultdict(list) - impr_k = defaultdict(list) - for nnode, node in enumerate(impropers): - for key in node.attrs: - if "periodicity" in key: - order = int(key[-1]) - phase = float(node.attrs[f"phase{order}"]) - k = float(node.attrs[f"k{order}"]) - periodicity = int(node.attrs[f"periodicity{order}"]) - if self.max_pred_impr < periodicity: - self.max_pred_impr = periodicity - impr_phase[f"{periodicity}"].append(phase) - impr_k[f"{periodicity}"].append(k) - self.meta[f"impr_order"][f"{periodicity}"].append(order) - self.meta[f"impr_nodeidx"][f"{periodicity}"].append(nnode) - - self.paramtree[self.name]["impr_phase"] = {} - self.paramtree[self.name]["impr_k"] = {} - for npred in range(1, self.max_pred_impr + 1): - self.paramtree[self.name]["impr_phase"][f"{npred}"] = jnp.array( - impr_phase[f"{npred}"]) - self.paramtree[self.name]["impr_k"][f"{npred}"] = jnp.array( - impr_k[f"{npred}"]) - if self.max_pred_impr == 0: - del self.paramtree[self.name]["impr_phase"] - del self.paramtree[self.name]["impr_k"] - - def overwrite(self): - propers = self.fftree.get_nodes("PeriodicTorsionForce/Proper") - impropers = self.fftree.get_nodes("PeriodicTorsionForce/Improper") - prop_data = [{} for _ in propers] - impr_data = [{} for _ in impropers] - # make propers - for periodicity in range(1, self.max_pred_prop + 1): - nterms = len( - self.paramtree[self.name][f"prop_phase"][f"{periodicity}"]) - for nitem in range(nterms): - phase = self.paramtree[ - self.name][f"prop_phase"][f"{periodicity}"][nitem] - k = self.paramtree[ - self.name][f"prop_k"][f"{periodicity}"][nitem] - nodeidx = self.meta[f"prop_nodeidx"][f"{periodicity}"][nitem] - order = self.meta[f"prop_order"][f"{periodicity}"][nitem] - prop_data[nodeidx][f"phase{order}"] = phase - prop_data[nodeidx][f"k{order}"] = k - if "prop_phase" in self.paramtree[self.name]: - self.fftree.set_node("PeriodicTorsionForce/Proper", prop_data) - - # make impropers - for periodicity in range(1, self.max_pred_impr + 1): - nterms = len( - self.paramtree[self.name][f"impr_phase"][f"{periodicity}"]) - for nitem in range(nterms): - phase = self.paramtree[ - self.name][f"impr_phase"][f"{periodicity}"][nitem] - k = self.paramtree[ - self.name][f"impr_k"][f"{periodicity}"][nitem] - nodeidx = self.meta[f"impr_nodeidx"][f"{periodicity}"][nitem] - order = self.meta[f"impr_order"][f"{periodicity}"][nitem] - impr_data[nodeidx][f"phase{order}"] = phase - impr_data[nodeidx][f"k{order}"] = k - if "impr_phase" in self.paramtree[self.name]: - self.fftree.set_node("PeriodicTorsionForce/Improper", impr_data) - - def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): - """ - Create force for torsions + def __init__(self, ffinfo: dict, paramset: ParamSet): """ + Initializes a PeriodicTorsionForce object. - # Proper Torsions - proper_matcher = TypeMatcher(self.fftree, - "PeriodicTorsionForce/Proper") - map_prop_atom1 = {i: [] for i in range(1, self.max_pred_prop + 1)} - map_prop_atom2 = {i: [] for i in range(1, self.max_pred_prop + 1)} - map_prop_atom3 = {i: [] for i in range(1, self.max_pred_prop + 1)} - map_prop_atom4 = {i: [] for i in range(1, self.max_pred_prop + 1)} - map_prop_param = {i: [] for i in range(1, self.max_pred_prop + 1)} - n_matched_props = 0 - - if not proper_matcher.useSmirks: - for torsion in data.propers: - types = [data.atomType[data.atoms[torsion[i]]] for i in range(4)] - ifFound, ifForward, nnode = proper_matcher.matchGeneral(types) - if not ifFound: - continue - # find terms for node - for periodicity in range(1, self.max_pred_prop + 1): - idx = findItemInList( - nnode, self.meta[f"prop_nodeidx"][f"{periodicity}"]) - if idx < 0: - continue - n_matched_props += 1 - map_prop_atom1[periodicity].append(torsion[0]) - map_prop_atom2[periodicity].append(torsion[1]) - map_prop_atom3[periodicity].append(torsion[2]) - map_prop_atom4[periodicity].append(torsion[3]) - map_prop_param[periodicity].append(idx) - else: - from rdkit import Chem - - rdmol = args.get("rdmol", None) - proper_patt = Chem.MolFromSmarts("[*:1]~[*:2]-[*:3]~[*:4]") - propers = rdmol.GetSubstructMatches(proper_patt) - matches_dict = proper_matcher.matchSmirks(rdmol) - for match in propers: - torsion = (match[3], match[2], match[1], match[0]) if match[2] < match[1] else match - try: - nnode = matches_dict[torsion] - ifFound = True - n_matched_props += 1 - except KeyError: - ifFound = False - - if not ifFound: + Args: + - ffinfo (dict): A dictionary containing force field information. + - paramset (ParamSet): A ParamSet object to register parameters. + + Raises: + - ValueError: If the ordering of PeriodicTorsionForce is not "amber". + + Returns: + - None + """ + self.name = "PeriodicTorsionForce" + self.ffinfo = ffinfo + paramset.addField(self.name) + self._use_smarts = False + self.key_type = None + + if "ordering" in self.ffinfo["Forces"][self.name] and self.ffinfo["Forces"][self.name]["ordering"] != "amber": + raise ValueError("PeriodicTorsionForce ordering must be amber") + + proper_keys, proper_periods, proper_prms = [], [], [] + proper_key_to_prms = {} + improper_keys, improper_periods, improper_prms = [], [], [] + improper_key_to_prms = {} + for node in self.ffinfo["Forces"][self.name]["node"]: + attribs = node["attrib"] + if "type1" in attribs: + self.key_type = "type" + elif "class1" in attribs: + self.key_type = "class" + key = (attribs[self.key_type + "1"], attribs[self.key_type + "2"], + attribs[self.key_type + "3"], attribs[self.key_type + "4"]) + if node["name"] == "Proper": + proper_keys.append(key) + elif node["name"] == "Improper": + improper_keys.append(key) + + mask = 1.0 + if "mask" in attribs and attribs["mask"].upper() == "TRUE": + mask = 0.0 + + for period_key in attribs.keys(): + if "periodicity" not in period_key: continue - - for periodicity in range(1, self.max_pred_prop + 1): - idx = findItemInList(nnode, self.meta['prop_nodeidx'][f"{periodicity}"]) - if idx < 0: - continue - map_prop_atom1[periodicity].append(torsion[0]) - map_prop_atom2[periodicity].append(torsion[1]) - map_prop_atom3[periodicity].append(torsion[2]) - map_prop_atom4[periodicity].append(torsion[3]) - map_prop_param[periodicity].append(idx) - - # Improper Torsions - impr_matcher = TypeMatcher(self.fftree, - "PeriodicTorsionForce/Improper") - try: - ordering = self.fftree.get_attribs("PeriodicTorsionForce", - "ordering")[0] - except KeyError as e: - ordering = "default" - - map_impr_atom1 = {i: [] for i in range(1, self.max_pred_impr + 1)} - map_impr_atom2 = {i: [] for i in range(1, self.max_pred_impr + 1)} - map_impr_atom3 = {i: [] for i in range(1, self.max_pred_impr + 1)} - map_impr_atom4 = {i: [] for i in range(1, self.max_pred_impr + 1)} - map_impr_param = {i: [] for i in range(1, self.max_pred_impr + 1)} - n_matched_imprs = 0 + order = int(period_key.replace("periodicity", "")) + period = int(attribs[period_key]) + phase = float(attribs["phase" + str(order)]) + k = float(attribs["k" + str(order)]) + if node["name"] == "Proper": + proper_periods.append(period) + proper_prms.append([phase, k, mask]) + if len(proper_keys) - 1 not in proper_key_to_prms: + proper_key_to_prms[len(proper_keys) - 1] = [] + proper_key_to_prms[len( + proper_keys) - 1].append(len(proper_periods) - 1) + elif node["name"] == "Improper": + improper_periods.append(period) + improper_prms.append([phase, k, mask]) + if len(improper_keys) - 1 not in improper_key_to_prms: + improper_key_to_prms[len(improper_keys) - 1] = [] + improper_key_to_prms[len( + improper_keys) - 1].append(len(improper_periods) - 1) + + self.proper_keys = proper_keys + self.proper_periods = jnp.array(proper_periods) + self.proper_key_to_prms = proper_key_to_prms + proper_phase = jnp.array([i[0] for i in proper_prms]) + proper_k = jnp.array([i[1] for i in proper_prms]) + proper_mask = jnp.array([i[2] for i in proper_prms]) + # register parameters to ParamSet + paramset.addParameter(proper_phase, "proper_phase", + field=self.name, mask=proper_mask) + paramset.addParameter(proper_k, "proper_k", + field=self.name, mask=proper_mask) + + self.imp_keys = improper_keys + self.imp_periods = jnp.array(improper_periods) + self.imp_key_to_prms = improper_key_to_prms + improper_phase = jnp.array([i[0] for i in improper_prms]) + improper_k = jnp.array([i[1] for i in improper_prms]) + improper_mask = jnp.array([i[2] for i in improper_prms]) + # register parameters to ParamSet + paramset.addParameter(improper_phase, "improper_phase", + field=self.name, mask=improper_mask) + paramset.addParameter(improper_k, "improper_k", + field=self.name, mask=improper_mask) + + def getName(self): + return self.name + + def overwrite(self, paramset): + # paramset to ffinfo + proper_node_indices = [i for i in range(len( + self.ffinfo["Forces"][self.name]["node"])) if self.ffinfo["Forces"][self.name]["node"][i]["name"] == "Proper"] + improper_node_indices = [i for i in range(len( + self.ffinfo["Forces"][self.name]["node"])) if self.ffinfo["Forces"][self.name]["node"][i]["name"] == "Improper"] + + proper_phase = paramset[self.name]["proper_phase"] + proper_k = paramset[self.name]["proper_k"] + proper_msks = paramset.mask[self.name]["proper"] + for nnode, key in enumerate(self.proper_keys): + self.ffinfo["Forces"][self.name]["node"][proper_node_indices[nnode]]["attrib"] = { + } + self.ffinfo["Forces"][self.name]["node"][proper_node_indices[nnode] + ]["attrib"][f"{self.key_type}1"] = key[0] + self.ffinfo["Forces"][self.name]["node"][proper_node_indices[nnode] + ]["attrib"][f"{self.key_type}2"] = key[1] + self.ffinfo["Forces"][self.name]["node"][proper_node_indices[nnode] + ]["attrib"][f"{self.key_type}3"] = key[2] + self.ffinfo["Forces"][self.name]["node"][proper_node_indices[nnode] + ]["attrib"][f"{self.key_type}4"] = key[3] + for nitem, item in enumerate(self.proper_key_to_prms[nnode]): + phase, k = proper_phase[item], proper_k[item] + mask = proper_msks[item] + self.ffinfo["Forces"][self.name]["node"][proper_node_indices[nnode] + ]["attrib"]["periodicity" + str(nitem + 1)] = str(self.proper_periods[item]) + self.ffinfo["Forces"][self.name]["node"][proper_node_indices[nnode] + ]["attrib"]["phase" + str(nitem + 1)] = str(phase) + self.ffinfo["Forces"][self.name]["node"][proper_node_indices[nnode] + ]["attrib"]["k" + str(nitem + 1)] = str(k) + if mask < 0.999: + self.ffinfo["Forces"][self.name]["node"][proper_node_indices[nnode] + ]["attrib"]["mask"] = "true" + + improper_phase = paramset[self.name]["improper_phase"] + improper_k = paramset[self.name]["improper_k"] + improper_msks = paramset.mask[self.name]["improper"] + for nnode, key in enumerate(self.imp_keys): + self.ffinfo["Forces"][self.name]["node"][improper_node_indices[nnode]]["attrib"] = { + } + self.ffinfo["Forces"][self.name]["node"][improper_node_indices[nnode] + ]["attrib"][f"{self.key_type}1"] = key[0] + self.ffinfo["Forces"][self.name]["node"][improper_node_indices[nnode] + ]["attrib"][f"{self.key_type}2"] = key[1] + self.ffinfo["Forces"][self.name]["node"][improper_node_indices[nnode] + ]["attrib"][f"{self.key_type}3"] = key[2] + self.ffinfo["Forces"][self.name]["node"][improper_node_indices[nnode] + ]["attrib"][f"{self.key_type}4"] = key[3] + for nitem, item in enumerate(self.imp_key_to_prms[nnode]): + phase = improper_phase[item] + k = improper_k[item] + mask = improper_msks[item] + self.ffinfo["Forces"][self.name]["node"][improper_node_indices[nnode] + ]["attrib"]["periodicity" + str(nitem + 1)] = str(self.imp_periods[item]) + self.ffinfo["Forces"][self.name]["node"][improper_node_indices[nnode] + ]["attrib"]["phase" + str(nitem + 1)] = str(phase) + self.ffinfo["Forces"][self.name]["node"][improper_node_indices[nnode] + ]["attrib"]["k" + str(nitem + 1)] = str(k) + if mask < 0.999: + self.ffinfo["Forces"][self.name]["node"][improper_node_indices[nnode] + ]["attrib"]["mask"] = "true" + + def _find_proper_key_index(self, key: Tuple[str, str, str, str]) -> int: + wc_patch = [] + for i, k in enumerate(self.proper_keys): + if k[0] in ["", key[0]] and k[1] in ["", key[1]] and k[2] in ["", key[2]] and k[3] in ["", key[3]]: + if "" in k: + wc_patch.append(i) + else: + return i + if k[0] in ["", key[3]] and k[1] in ["", key[2]] and k[2] in ["", key[1]] and k[3] in ["", key[0]]: + if "" in k: + wc_patch.append(i) + else: + return i + if len(wc_patch) > 0: + return wc_patch[0] + return None + + def _find_improper_key_index(self, improper): - if not impr_matcher.useSmirks: - for impr in data.impropers: - match = impr_matcher.matchImproper(impr, data, ordering=ordering) - if match is not None: - (a1, a2, a3, a4, nnode) = match - n_matched_imprs += 1 - # find terms for node - for periodicity in range(1, self.max_pred_impr + 1): - idx = findItemInList( - nnode, self.meta[f"impr_nodeidx"][f"{periodicity}"]) - if idx < 0: - continue - if ordering == 'smirnoff': - # Add all torsions in trefoil - map_impr_atom1[periodicity].append(a1) - map_impr_atom2[periodicity].append(a2) - map_impr_atom3[periodicity].append(a3) - map_impr_atom4[periodicity].append(a4) - map_impr_param[periodicity].append(idx) - map_impr_atom1[periodicity].append(a1) - map_impr_atom2[periodicity].append(a3) - map_impr_atom3[periodicity].append(a4) - map_impr_atom4[periodicity].append(a2) - map_impr_param[periodicity].append(idx) - map_impr_atom1[periodicity].append(a1) - map_impr_atom2[periodicity].append(a4) - map_impr_atom3[periodicity].append(a2) - map_impr_atom4[periodicity].append(a3) - map_impr_param[periodicity].append(idx) - else: - map_impr_atom1[periodicity].append(a1) - map_impr_atom2[periodicity].append(a2) - map_impr_atom3[periodicity].append(a3) - map_impr_atom4[periodicity].append(a4) - map_impr_param[periodicity].append(idx) - else: - rdmol = args.get("rdmol", None) - - if rdmol is None: - raise DMFFException("No rdkit.Chem.Mol object is provided") - - matches_dict = impr_matcher.matchSmirksImproper(rdmol) - for torsion, nnode in matches_dict.items(): - n_matched_imprs += 1 - for periodicity in range(1, self.max_pred_impr+ 1): - idx = findItemInList(nnode, self.meta['impr_nodeidx'][f"{periodicity}"]) - if idx < 0: - continue - map_impr_atom1[periodicity].append(torsion[0]) - map_impr_atom2[periodicity].append(torsion[1]) - map_impr_atom3[periodicity].append(torsion[2]) - map_impr_atom4[periodicity].append(torsion[3]) - map_impr_param[periodicity].append(idx) + type1 = improper[0].meta[self.key_type] + type2 = improper[1].meta[self.key_type] + type3 = improper[2].meta[self.key_type] + type4 = improper[3].meta[self.key_type] - # Sum proper and improper torsions - props = [ - PeriodicTorsionJaxForce(jnp.array(map_prop_atom1[p], dtype=int), - jnp.array(map_prop_atom2[p], dtype=int), - jnp.array(map_prop_atom3[p], dtype=int), - jnp.array(map_prop_atom4[p], dtype=int), - jnp.array(map_prop_param[p], dtype=int), p) - for p in range(1, self.max_pred_prop + 1) - ] - imprs = [ - PeriodicTorsionJaxForce(jnp.array(map_impr_atom1[p], dtype=int), - jnp.array(map_impr_atom2[p], dtype=int), - jnp.array(map_impr_atom3[p], dtype=int), - jnp.array(map_impr_atom4[p], dtype=int), - jnp.array(map_impr_param[p], dtype=int), p) - for p in range(1, self.max_pred_impr + 1) - ] - self._props_latest = props - self._imprs_latest = imprs - - self._meta["PeriodicTorsionForce_prop_atom1"] = map_prop_atom1 - self._meta["PeriodicTorsionForce_prop_atom2"] = map_prop_atom2 - self._meta["PeriodicTorsionForce_prop_atom3"] = map_prop_atom3 - self._meta["PeriodicTorsionForce_prop_atom4"] = map_prop_atom4 - self._meta["PeriodicTorsionForce_prop_param"] = map_prop_param - - self._meta["PeriodicTorsionForce_impr_atom1"] = map_impr_atom1 - self._meta["PeriodicTorsionForce_impr_atom2"] = map_impr_atom2 - self._meta["PeriodicTorsionForce_impr_atom3"] = map_impr_atom3 - self._meta["PeriodicTorsionForce_impr_atom4"] = map_impr_atom4 - self._meta["PeriodicTorsionForce_impr_param"] = map_impr_param + def _wild_match(tp, tps): + if tps == "": + return True + if tp == tps: + return True + return False + + matched = None + for ndef, tordef in enumerate(self.imp_keys): + types1 = tordef[0] + types2 = tordef[1] + types3 = tordef[2] + types4 = tordef[3] + hasWildcard = ("" in (types1, types2, types3, types4)) + + if matched is not None and hasWildcard: + continue + + import itertools + if type1 in types1: + for (t2, t3, t4) in itertools.permutations(((type2, 1), (type3, 2), (type4, 3))): + if _wild_match(t2[0], types2) and _wild_match(t3[0], types3) and _wild_match(t4[0], types4): + a1 = improper[t2[1]].index + a2 = improper[t3[1]].index + e1 = improper[t2[1]].element + e2 = improper[t3[1]].element + m1 = app.element.get_by_symbol(e1).mass + m2 = app.element.get_by_symbol(e2).mass + if e1 == e2 and a1 > a2: + (a1, a2) = (a2, a1) + elif e1 != "C" and (e2 == "C" or m1 < m2): + (a1, a2) = (a2, a1) + matched = (a1, a2, improper[0].index, improper[t4[1]].index, ndef) + break + if matched is None: + return None, None + return matched[4], matched[:4] + + + def createPotential(self, topdata: DMFFTopology, nonbondedMethod, + nonbondedCutoff, **kwargs): - - def potential_fn(positions, box, pairs, params): - prop_sum = sum([ - props[i].get_energy( - positions, box, pairs, - params["PeriodicTorsionForce"]["prop_k"][f"{i+1}"], - params["PeriodicTorsionForce"]["prop_phase"][f"{i+1}"]) - for i in range(self.max_pred_prop) - ]) - impr_sum = sum([ - imprs[i].get_energy( - positions, box, pairs, - params["PeriodicTorsionForce"]["impr_k"][f"{i+1}"], - params["PeriodicTorsionForce"]["impr_phase"][f"{i+1}"]) - for i in range(self.max_pred_impr) - ]) - - return prop_sum + impr_sum + if self.key_type is None: + def potential_fn_zero(positions: jnp.ndarray, box: jnp.ndarray, pairs: jnp.ndarray, params: ParamSet) -> jnp.ndarray: + return jnp.zeros((1,)) + self._jaxPotential = potential_fn_zero + return potential_fn_zero + + proper_list = [] + + acenters = {} + atoms = [a for a in topdata.atoms()] + for bond in topdata.bonds(): + a1, a2 = bond.atom1, bond.atom2 + i1, i2 = a1.index, a2.index + if i1 not in acenters: + acenters[i1] = [] + acenters[i1].append(i2) + if i2 not in acenters: + acenters[i2] = [] + acenters[i2].append(i1) + + # find rotamers and loop over proper torsions on the rotamer + for bond in topdata.bonds(): + a1, a2 = bond.atom1, bond.atom2 + i1, i2 = a1.index, a2.index + alinks1 = [i for i in acenters[i1] if i != i2] + alinks2 = [i for i in acenters[i2] if i != i1] + for i3 in alinks1: + for i4 in alinks2: + if i3 != i4: + proper_list.append( + (atoms[i3], atoms[i1], atoms[i2], atoms[i4])) + + impr_list = [] + # find atoms that link with three other atoms + import itertools as it + for i1 in acenters: + if len(acenters[i1]) < 3: + continue + for item in it.combinations(acenters[i1], 3): + impr_list.append( + (atoms[i1], atoms[item[0]], atoms[item[1]], atoms[item[2]])) + + # create potential + proper_a1, proper_a2, proper_a3, proper_a4, proper_indices, proper_period = [ + ], [], [], [], [], [] + for proper in proper_list: + pidx = self._find_proper_key_index( + (proper[0].meta[self.key_type], proper[1].meta[self.key_type], proper[2].meta[self.key_type], proper[3].meta[self.key_type])) + if pidx is None: + continue + + prm_indices = self.proper_key_to_prms[pidx] + for prm_idx in prm_indices: + prm_period = self.proper_periods[prm_idx] + proper_a1.append(proper[0].index) + proper_a2.append(proper[1].index) + proper_a3.append(proper[2].index) + proper_a4.append(proper[3].index) + proper_indices.append(prm_idx) + proper_period.append(prm_period) + + proper_a1 = jnp.array(proper_a1) + proper_a2 = jnp.array(proper_a2) + proper_a3 = jnp.array(proper_a3) + proper_a4 = jnp.array(proper_a4) + proper_indices = jnp.array(proper_indices) + proper_period = jnp.array(proper_period) + + improper_a1, improper_a2, improper_a3, improper_a4, improper_indices, improper_period = [], [], [], [], [], [] + for improper in impr_list: + iidx, order = self._find_improper_key_index(improper) + if iidx is None: + continue + + prm_indices = self.imp_key_to_prms[iidx] + for prm_idx in prm_indices: + prm_period = self.imp_periods[prm_idx] + improper_a1.append(atoms[order[0]].index) + improper_a2.append(atoms[order[1]].index) + improper_a3.append(atoms[order[2]].index) + improper_a4.append(atoms[order[3]].index) + improper_indices.append(prm_idx) + improper_period.append(prm_period) + improper_a1 = jnp.array(improper_a1) + improper_a2 = jnp.array(improper_a2) + improper_a3 = jnp.array(improper_a3) + improper_a4 = jnp.array(improper_a4) + improper_indices = jnp.array(improper_indices) + improper_period = jnp.array(improper_period) + + proper_func = PeriodicTorsionJaxForce( + proper_a1, proper_a2, proper_a3, proper_a4, proper_indices, proper_period) + proper_energy = proper_func.generate_get_energy() + improper_func = PeriodicTorsionJaxForce( + improper_a1, improper_a2, improper_a3, improper_a4, improper_indices, improper_period) + improper_energy = improper_func.generate_get_energy() + + has_aux = False + if "has_aux" in kwargs and kwargs["has_aux"]: + has_aux = True + + def potential_fn(positions: jnp.ndarray, box: jnp.ndarray, pairs: jnp.ndarray, params: ParamSet, aux=None): + isinstance_jnp(positions, box, params) + proper_energy_ = proper_energy( + positions, box, pairs, params[self.name]["proper_k"], params[self.name]["proper_phase"]) + improper_energy_ = improper_energy( + positions, box, pairs, params[self.name]["improper_k"], params[self.name]["improper_phase"]) + if has_aux: + return proper_energy_ + improper_energy_, aux + else: + return proper_energy_ + improper_energy_ self._jaxPotential = potential_fn - - def getJaxPotential(self): - return self._jaxPotential - - def getMetaData(self): - return self._meta + return potential_fn -dmff.api.jaxGenerators["PeriodicTorsionForce"] = PeriodicTorsionJaxGenerator +_DMFFGenerators["PeriodicTorsionForce"] = PeriodicTorsionGenerator -class NonbondedJaxGenerator: - def __init__(self, ff: Hamiltonian): +class NonbondedGenerator: + def __init__(self, ffinfo: dict, paramset: ParamSet): self.name = "NonbondedForce" - self.ff = ff - self.fftree = ff.fftree - self.paramtree = ff.paramtree - self.paramtree[self.name] = {} - self.paramtree[self.name]["sigfix"] = jnp.array([]) - self.paramtree[self.name]["epsfix"] = jnp.array([]) - - self.from_force = [] - self.from_residue = [] - self.ra2idx = {} - self.idx2rai = {} - - self.useBCC = False - self.useVsite = False - - self._meta = {} - - def extract(self): - self.from_residue = self.fftree.get_attribs( - "NonbondedForce/UseAttributeFromResidue", "name") - self.from_force = [ - i for i in ["charge", "sigma", "epsilon"] - if i not in self.from_residue - ] - # Build per-atom array for from_force - for prm in self.from_force: - vals = self.fftree.get_attribs("NonbondedForce/Atom", prm) - self.paramtree[self.name][prm] = jnp.array(vals) - - # Build per-atom array for from_residue - residues = self.fftree.get_nodes("Residues/Residue") - resvals = {k: [] for k in self.from_residue} - for resnode in residues: - resname = resnode.attrs["name"] - resvals[resname] = [] - atomname = resnode.get_attribs("Atom", "name") - shift = len(self.ra2idx) - for natom, aname in enumerate(atomname): - self.ra2idx[(resname, natom)] = shift + natom - self.idx2rai[shift + natom] = (resname, atomname, natom) - for prm in self.from_residue: - atomval = resnode.get_attribs("Atom", prm) - resvals[prm].extend(atomval) - for prm in self.from_residue: - self.paramtree[self.name][prm] = jnp.array(resvals[prm]) + self.ffinfo = ffinfo + paramset.addField(self.name) + self.coulomb14scale = float( + self.ffinfo["Forces"]["NonbondedForce"]["meta"].get("coulomb14scale", 0.8333333333333334)) + self.lj14scale = float( + self.ffinfo["Forces"]["NonbondedForce"]["meta"].get("lj14scale", 0.5)) + self.key_type = None + self.type_to_charge = {} - # Build coulomb14scale and lj14scale - coulomb14scale, lj14scale = self.fftree.get_attribs( - "NonbondedForce", ["coulomb14scale", "lj14scale"])[0] - self.paramtree[self.name]["coulomb14scale"] = jnp.array( - [coulomb14scale]) - self.paramtree[self.name]["lj14scale"] = jnp.array([lj14scale]) - - # Build BondChargeCorrection - bccs = self.fftree.get_attribs("NonbondedForce/BondChargeCorrection", "bcc") - self.paramtree[self.name]['bcc'] = jnp.array(bccs).reshape(-1, 1) - self.useBCC = len(bccs) > 0 - - # Build VirtualSite - vsite_types = self.fftree.get_attribs("NonbondedForce/VirtualSite", "vtype") - self.paramtree[self.name]['vsite_types'] = jnp.array(vsite_types, dtype=int) - vsite_distance = self.fftree.get_attribs("NonbondedForce/VirtualSite", "distance") - self.paramtree[self.name]['vsite_distances'] = jnp.array(vsite_distance) - self.useVsite = len(vsite_types) > 0 - - def overwrite(self): - # write coulomb14scale - self.fftree.set_attrib("NonbondedForce", "coulomb14scale", - self.paramtree[self.name]["coulomb14scale"]) - # write lj14scale - self.fftree.set_attrib("NonbondedForce", "lj14scale", - self.paramtree[self.name]["lj14scale"]) - # write prm from force - for prm in self.from_force: - self.fftree.set_attrib("NonbondedForce/Atom", prm, - self.paramtree[self.name][prm]) - # write prm from residue - residues = self.fftree.get_nodes("Residues/Residue") - for prm in self.from_residue: - vals = self.paramtree[self.name][prm] - data = [] - for idx in range(vals.shape[0]): - rname, atomname, aidx = self.idx2rai[idx] - data.append((rname, aidx, vals[idx])) - - for resnode in residues: - tmp = sorted( - [d for d in data if d[0] == resnode.attrs["name"]], - key=lambda x: x[1]) - resnode.set_attrib("Atom", prm, [t[2] for t in tmp]) - - # write BCC - if self.useBCC: - self.fftree.set_attrib( - "NonbondedForce/BondChargeCorrection", "bcc", - self.paramtree[self.name]['bcc'] - ) - - def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, args): - # Build Covalent Map - self.covalent_map = build_covalent_map(data, 6) + self.charge_in_residue = False + for node in self.ffinfo["Forces"]["NonbondedForce"]["node"]: + if not self.charge_in_residue and node["name"] == "UseAttributeFromResidue": + if node["attrib"]["name"] == "charge": + self.charge_in_residue = True + types, sigma, epsilon, atom_mask = [], [], [], [] + for node in self.ffinfo["Forces"]["NonbondedForce"]["node"]: + if node["name"] == "Atom": + attribs = node["attrib"] + self.key_type = None + if "type" in attribs: + self.key_type = "type" + elif "class" in attribs: + self.key_type = "class" + types.append(attribs[self.key_type]) + sigma.append(float(attribs["sigma"])) + epsilon.append(float(attribs["epsilon"])) + mask = 1.0 + if "mask" in attribs and attribs["mask"].upper() == "TRUE": + mask = 0.0 + atom_mask.append(mask) + if not self.charge_in_residue: + if "charge" not in attribs: + raise ValueError("No charge information found in NonbondedForce or Residues.") + self.type_to_charge[attribs[self.key_type]] = float(attribs["charge"]) + + sigma = jnp.array(sigma) + epsilon = jnp.array(epsilon) + atom_mask = jnp.array(atom_mask) + self.atom_keys = types + paramset.addParameter(sigma, "sigma", field=self.name, mask=atom_mask) + paramset.addParameter(epsilon, "epsilon", field=self.name, mask=atom_mask) + + def getName(self): + return self.name + + def overwrite(self, paramset): + sigma = paramset[self.name]["sigma"] + epsilon = paramset[self.name]["epsilon"] + atom_mask = paramset.mask[self.name]["sigma"] + + node2atom = [i for i in range(len(self.ffinfo["Forces"][self.name]["node"])) if self.ffinfo["Forces"][self.name]["node"][i]["name"] == "Atom"] + + for natom in range(len(self.atom_keys)): + nnode = node2atom[natom] + sig_new = sigma[natom] + eps_new = epsilon[natom] + mask = atom_mask[natom] + self.ffinfo["Forces"][self.name]["node"][nnode]["attrib"]["sigma"] = str(sig_new) + self.ffinfo["Forces"][self.name]["node"][nnode]["attrib"]["epsilon"] = str(eps_new) + if mask < 0.999: + self.ffinfo["Forces"][self.name]["node"][nnode]["attrib"]["mask"] = "true" + + def _find_atype_key_index(self, atype: str): + for n, i in enumerate(self.atom_keys): + if i == atype: + return n + return None + + def createPotential(self, topdata: DMFFTopology, nonbondedMethod, + nonbondedCutoff, **kwargs): methodMap = { app.NoCutoff: "NoCutoff", app.CutoffPeriodic: "CutoffPeriodic", app.CutoffNonPeriodic: "CutoffNonPeriodic", app.PME: "PME", } + methodString = methodMap[nonbondedMethod] if nonbondedMethod not in methodMap: raise DMFFException("Illegal nonbonded method for NonbondedForce") + isNoCut = False if nonbondedMethod is app.NoCutoff: isNoCut = True - mscales_coul = jnp.array([0.0, 0.0, 0.0, 1.0, 1.0, - 1.0]) # mscale for PME - mscales_coul = mscales_coul.at[2].set( - self.paramtree[self.name]["coulomb14scale"][0]) - mscales_lj = jnp.array([0.0, 0.0, 0.0, 1.0, 1.0, 1.0]) # mscale for LJ - mscales_lj = mscales_lj.at[2].set( - self.paramtree[self.name]["lj14scale"][0]) + mscales_coul = jnp.array([0.0, 0.0, self.coulomb14scale, 1.0, 1.0, + 1.0]) + mscales_lj = jnp.array([0.0, 0.0, self.lj14scale, 1.0, 1.0, + 1.0]) + # coulomb # set PBC if nonbondedMethod not in [app.NoCutoff, app.CutoffNonPeriodic]: ifPBC = True else: ifPBC = False - nbmatcher = TypeMatcher(self.fftree, "NonbondedForce/Atom") - - - rdmol = args.get("rdmol", None) - - if self.useVsite: - vsitematcher = TypeMatcher(self.fftree, "NonbondedForce/VirtualSite") - vsite_matches_dict = vsitematcher.matchSmirksNoSort(rdmol) - vsiteObj = VirtualSite(vsite_matches_dict) - - def addVsiteFunc(pos, params): - func = vsiteObj.getAddVirtualSiteFunc() - newpos = func(pos, params[self.name]['vsite_types'], params[self.name]['vsite_distances']) - return newpos - - self._addVsiteFunc = addVsiteFunc - rdmol = vsiteObj.addVirtualSiteToMol(rdmol) - self.vsiteObj = vsiteObj - - # expand covalent map - ori_dim = self.covalent_map.shape[0] - new_dim = ori_dim + len(vsite_matches_dict) - cov_map = np.zeros((new_dim, new_dim), dtype=int) - cov_map[:ori_dim, :ori_dim] += np.array(self.covalent_map, dtype=int) - - map_to_parents = np.arange(new_dim) - for i, match in enumerate(vsite_matches_dict.keys()): - map_to_parents[ori_dim + i] = match[0] - for i in range(len(vsite_matches_dict)): - parent_i = map_to_parents[ori_dim + i] - for j in range(new_dim): - parent_j = map_to_parents[j] - cov_map[ori_dim + i, j] = cov_map[parent_i, parent_j] - cov_map[j, ori_dim + i] = cov_map[parent_j, parent_i] - # keep diagonal 0 - cov_map[ori_dim + i, ori_dim + i] = 0 - # keep vsite and its parent atom 1 - cov_map[parent_i, ori_dim + i] = 1 - cov_map[ori_dim + i, parent_i] = 1 - self.covalent_map = jnp.array(cov_map) - - self._meta["cov_map"] = self.covalent_map - - # Load Lennard-Jones parameters - maps = {} - if not nbmatcher.useSmirks: - for prm in self.from_force: - maps[prm] = [] - for atom in data.atoms: - atype = data.atomType[atom] - ifFound, _, nnode = nbmatcher.matchGeneral([atype]) - if not ifFound: - raise DMFFException( - "AtomType of %s mismatched in NonbondedForce" % - (str(atom))) - maps[prm].append(nnode) - maps[prm] = jnp.array(maps[prm], dtype=int) + if self.charge_in_residue: + charges = [a.meta["charge"] for a in topdata.atoms()] + charges = jnp.array(charges) else: - lj_matches_dict = nbmatcher.matchSmirks(rdmol) - for prm in self.from_force: - maps[prm] = [] - for i in range(rdmol.GetNumAtoms()): - try: - maps[prm].append(lj_matches_dict[(i,)]) - except KeyError as e: - raise DMFFException( - f"No parameter for atom {i}" - ) - maps[prm] = jnp.array(maps[prm], dtype=int) - - for prm in self.from_residue: - maps[prm] = [] - for atom in data.atoms: - templateName = self.ff.templateNameForResidue[atom.residue.index] - aidx = data.atomTemplateIndexes[atom] - resname, aname = templateName, atom.name - maps[prm].append(self.ra2idx[(resname, aidx)]) - - # Virtual Site - if self.useVsite: - # expand charges - chg = jnp.zeros( - (len(self.paramtree[self.name]['charge']) + len(vsite_matches_dict),), - dtype=self.paramtree[self.name]['charge'].dtype - ) - self.paramtree[self.name]['charge'] = chg.at[:len(self.paramtree[self.name]['charge'])].set( - self.paramtree[self.name]['charge'] - ) - maps_chg = [int(x) for x in maps['charge']] - for i in range(len(vsite_matches_dict)): - maps_chg.append(len(maps['charge']) + i) - maps['charge'] = jnp.array(maps_chg, dtype=int) - - # BCC parameters - if self.useBCC: - bccmatcher = TypeMatcher(self.fftree, "NonbondedForce/BondChargeCorrection") - - if bccmatcher.useSmirks: - bcc_matches_dict = bccmatcher.matchSmirksBCC(rdmol) - self.top_mat = np.zeros((rdmol.GetNumAtoms(), self.paramtree[self.name]['bcc'].shape[0])) - - for bond in rdmol.GetBonds(): - beginAtomIdx = bond.GetBeginAtomIdx() - endAtomIdx = bond.GetEndAtomIdx() - query1, query2 = (beginAtomIdx, endAtomIdx), (endAtomIdx, beginAtomIdx) - if query1 in bcc_matches_dict: - nnode = bcc_matches_dict[query1] - self.top_mat[query1[0], nnode] += 1 - self.top_mat[query1[1], nnode] -= 1 - elif query2 in bcc_matches_dict: - nnode = bcc_matches_dict[query2] - self.top_mat[query2[0], nnode] += 1 - self.top_mat[query2[1], nnode] -= 1 - else: - warnings.warn( - f"No BCC parameter for bond between Atom{beginAtomIdx} and Atom{endAtomIdx}" - ) - else: - raise DMFFException( - "Only SMIRKS-based parametrization is supported for BCC" - ) - else: - self.top_mat = None - - # NBFIX - map_nbfix = [] - map_nbfix = jnp.array(map_nbfix, dtype=jnp.int32).reshape(-1, 2) + types = [a.meta[self.key_type] for a in topdata.atoms()] + charges = jnp.array([self.type_to_charge[i] for i in types]) if unit.is_quantity(nonbondedCutoff): r_cut = nonbondedCutoff.value_in_unit(unit.nanometer) else: r_cut = nonbondedCutoff - if "switchDistance" in args and args["switchDistance"] is not None: - r_switch = args["switchDistance"] - r_switch = (r_switch if not unit.is_quantity(r_switch) else - r_switch.value_in_unit(unit.nanometer)) - ifSwitch = True - else: - r_switch = r_cut - ifSwitch = False # PME Settings if nonbondedMethod is app.PME: - a, b, c = system.getDefaultPeriodicBoxVectors() - box = jnp.array([a._value, b._value, c._value]) - self.ethresh = args.get("ethresh", 1e-6) - self.coeff_method = args.get("PmeCoeffMethod", "openmm") - self.fourier_spacing = args.get("PmeSpacing", 0.1) + cell = topdata.getPeriodicBoxVectors() + self.ethresh = kwargs.get("ethresh", 1e-6) + self.coeff_method = kwargs.get("PmeCoeffMethod", "openmm") + self.fourier_spacing = kwargs.get("PmeSpacing", 0.1) kappa, K1, K2, K3 = setup_ewald_parameters(r_cut, self.ethresh, - box, + cell, self.fourier_spacing, self.coeff_method) + if nonbondedMethod is not app.PME: + # do not use PME + if nonbondedMethod in [app.CutoffPeriodic, app.CutoffNonPeriodic]: + # use Reaction Field + coulforce = CoulReactionFieldForce(r_cut, charges, isPBC=ifPBC) + if nonbondedMethod is app.NoCutoff: + # use NoCutoff + coulforce = CoulNoCutoffForce(init_charges=charges) + else: + coulforce = CoulombPMEForce(r_cut, charges, kappa, (K1, K2, K3)) + + self.pme_force = coulforce + coulenergy = coulforce.generate_get_energy() - map_lj = jnp.array(maps["sigma"]) - map_charge = jnp.array(maps["charge"]) - - # Free Energy Settings # - isFreeEnergy = args.get("isFreeEnergy", False) - if isFreeEnergy: - vdwLambda = args.get("vdwLambda", 0.0) - coulLambda = args.get("coulLambda", 0.0) - ifStateA = args.get("ifStateA", True) - - # soft-cores - vdwSoftCore = args.get("vdwSoftCore", False) - coulSoftCore = args.get("coulSoftCore", False) - scAlpha = args.get("scAlpha", 0.0) - scSigma = args.get("scSigma", 0.0) - - # couple - coupleIndex = args.get("coupleIndex", []) - if len(coupleIndex) > 0: - coupleMask = [False for _ in range(len(data.atoms))] - for atomIndex in coupleIndex: - coupleMask[atomIndex] = True - coupleMask = jnp.array(coupleMask, dtype=bool) + # LJ + atypes = [a.meta[self.key_type] for a in topdata.atoms()] + map_prm = [] + for atype in atypes: + pidx = self._find_atype_key_index(atype) + if pidx is None: + raise DMFFException(f"Atom type {atype} not found.") + map_prm.append(pidx) + map_prm = jnp.array(map_prm) + + # not use nbfix for now + map_nbfix = [] + map_nbfix = jnp.array(map_nbfix, dtype=int).reshape((-1, 3)) + eps_nbfix = jnp.array(map_nbfix, dtype=float).reshape((-1, 3)) + sig_nbfix = jnp.array(map_nbfix, dtype=float).reshape((-1, 3)) + + if methodString in ["NoCutoff", "CutoffNonPeriodic"]: + isPBC = False + if methodString == "NoCutoff": + isNoCut = True else: - coupleMask = None - - if not isFreeEnergy: - ljforce = LennardJonesForce(r_switch, - r_cut, - map_lj, - map_nbfix, - isSwitch=ifSwitch, - isPBC=ifPBC, - isNoCut=isNoCut) + isNoCut = False else: - ljforce = LennardJonesFreeEnergyForce(r_switch, - r_cut, - map_lj, - map_nbfix, - isSwitch=ifSwitch, - isPBC=ifPBC, - isNoCut=isNoCut, - feLambda=vdwLambda, - coupleMask=coupleMask, - useSoftCore=vdwSoftCore, - ifStateA=ifStateA, - sc_alpha=scAlpha, - sc_sigma=scSigma) + isPBC = True + isNoCut = False + ljforce = LennardJonesForce(0.0, + r_cut, + map_prm, + map_nbfix, + isSwitch=False, + isPBC=isPBC, + isNoCut=isNoCut) ljenergy = ljforce.generate_get_energy() # dispersion correction - useDispersionCorrection = args.get("useDispersionCorrection", False) - if useDispersionCorrection: - numTypes = self.paramtree[self.name]["sigma"].shape[0] + use_disp_corr = False + if "useDispersionCorrection" in kwargs and kwargs["useDispersionCorrection"]: + use_disp_corr = True + numTypes = len(self.atom_keys) countVec = np.zeros(numTypes, dtype=int) countMat = np.zeros((numTypes, numTypes), dtype=int) - types, count = np.unique(map_lj, return_counts=True) - + types, count = np.unique(map_prm, return_counts=True) for typ, cnt in zip(types, count): countVec[typ] += cnt for i in range(numTypes): @@ -898,342 +973,428 @@ def addVsiteFunc(pos, params): if i != j: countMat[i, j] = countVec[i] * countVec[j] else: - countMat[i, i] = countVec[i] * (countVec[i] - 1) // 2 - assert np.sum(countMat) == len(map_lj) * (len(map_lj) - 1) // 2 + countMat[i, j] = countVec[i] * (countVec[i] - 1) // 2 + assert np.sum(countMat) == len(map_prm) * (len(map_prm) - 1) // 2 + coval_map = topdata.buildCovMat() colv_pairs = np.argwhere( - np.logical_and(self.covalent_map > 0, self.covalent_map <= 3)) + np.logical_and(coval_map > 0, coval_map <= 3)) for pair in colv_pairs: if pair[0] <= pair[1]: - tmp = (map_lj[pair[0]], map_lj[pair[1]]) + tmp = (map_prm[pair[0]], map_prm[pair[1]]) t1, t2 = min(tmp), max(tmp) countMat[t1, t2] -= 1 - if not isFreeEnergy: - ljDispCorrForce = LennardJonesLongRangeForce( - r_cut, map_lj, map_nbfix, countMat) - else: - ljDispCorrForce = LennardJonesLongRangeFreeEnergyForce( - r_cut, map_lj, map_nbfix, countMat, vdwLambda, ifStateA, - coupleMask) + ljDispCorrForce = LennardJonesLongRangeForce(r_cut, map_prm, map_nbfix, countMat) ljDispEnergyFn = ljDispCorrForce.generate_get_energy() - if not isFreeEnergy: - if nonbondedMethod is not app.PME: - # do not use PME - if nonbondedMethod in [ - app.CutoffPeriodic, app.CutoffNonPeriodic - ]: - # use Reaction Field - coulforce = CoulReactionFieldForce(r_cut, - map_charge, - isPBC=ifPBC, - topology_matrix=self.top_mat) - if nonbondedMethod is app.NoCutoff: - # use NoCutoff - coulforce = CoulNoCutoffForce(map_charge, topology_matrix=self.top_mat) - else: - coulforce = CoulombPMEForce(r_cut, map_charge, kappa, - (K1, K2, K3), topology_matrix=self.top_mat) - else: - assert nonbondedMethod is app.PME, "Only PME is supported in free energy calculations" - assert not self.useBCC, "BCC usage in free energy calculations is not supported yet" - coulforce = CoulombPMEFreeEnergyForce(r_cut, - map_charge, - kappa, (K1, K2, K3), - coulLambda, - ifStateA=ifStateA, - coupleMask=coupleMask, - useSoftCore=coulSoftCore, - sc_alpha=scAlpha, - sc_sigma=scSigma) - - coulenergy = coulforce.generate_get_energy() - - if not isFreeEnergy: + has_aux = False + if "has_aux" in kwargs and kwargs["has_aux"]: + has_aux = True - def potential_fn(positions, box, pairs, params): + def potential_fn(positions, box, pairs, params, aux=None): - # check whether args passed into potential_fn are jnp.array and differentiable - # note this check will be optimized away by jit - # it is jit-compatiable - isinstance_jnp(positions, box, params) + # check whether args passed into potential_fn are jnp.array and differentiable + # note this check will be optimized away by jit + # it is jit-compatiable + isinstance_jnp(positions, box, params) - ljE = ljenergy(positions, box, pairs, - params[self.name]["epsilon"], - params[self.name]["sigma"], - params[self.name]["epsfix"], - params[self.name]["sigfix"], mscales_lj) - - if not self.useBCC: - coulE = coulenergy(positions, box, pairs, - params[self.name]["charge"], mscales_coul) + coulE = coulenergy(positions, box, pairs, mscales_coul) + + ljE = ljenergy(positions, box, pairs, params[self.name]["epsilon"], + params[self.name]["sigma"], eps_nbfix, sig_nbfix, mscales_lj) + if use_disp_corr: + ljdispE = ljDispEnergyFn(box, params[self.name]["epsilon"], + params[self.name]["sigma"], eps_nbfix, sig_nbfix) + if has_aux: + return coulE + ljE + ljdispE, aux else: - coulE = coulenergy(positions, box, pairs, - params[self.name]["charge"], params[self.name]["bcc"], mscales_coul) - - if useDispersionCorrection: - ljDispEnergy = ljDispEnergyFn(box, - params[self.name]['epsilon'], - params[self.name]['sigma'], - params[self.name]['epsfix'], - params[self.name]['sigfix']) - - return ljE + coulE + ljDispEnergy + return coulE + ljE + ljdispE + else: + if has_aux: + return coulE + ljE, aux else: - return ljE + coulE + return coulE + ljE - self._jaxPotential = potential_fn - else: - # Free Energy - @jit_condition() - def potential_fn(positions, box, pairs, params, vdwLambda, - coulLambda): - ljE = ljenergy(positions, box, pairs, - params[self.name]["epsilon"], - params[self.name]["sigma"], - params[self.name]["epsfix"], - params[self.name]["sigfix"], mscales_lj, - vdwLambda) - coulE = coulenergy(positions, box, pairs, - params[self.name]["charge"], mscales_coul, - coulLambda) - - if useDispersionCorrection: - ljDispEnergy = ljDispEnergyFn(box, - params[self.name]['epsilon'], - params[self.name]['sigma'], - params[self.name]['epsfix'], - params[self.name]['sigfix'], - vdwLambda) - return ljE + coulE + ljDispEnergy + self._jaxPotential = potential_fn + return potential_fn + + +_DMFFGenerators["NonbondedForce"] = NonbondedGenerator + + +class CoulombGenerator: + def __init__(self, ffinfo: dict, paramset: ParamSet): + self.name = "CoulombForce" + self.ffinfo = ffinfo + paramset.addField(self.name) + self.coulomb14scale = float( + self.ffinfo["Forces"]["CoulombForce"]["meta"]["coulomb14scale"]) + self._use_bcc = False + self._bcc_mol = [] + self.bcc_parsers = [] + bcc_prms = [] + bcc_mask = [] + for node in self.ffinfo["Forces"]["CoulombForce"]["node"]: + if node["name"] == "UseBondChargeCorrection": + self._use_bcc = True + self._bcc_mol.append(node["attrib"]["name"]) + if node["name"] == "BondChargeCorrection": + bcc = node["attrib"]["bcc"] + parser = node["attrib"]["smarts"] if "smarts" in node["attrib"] else node["attrib"]["smirks"] + bcc_prms.append(float(bcc)) + self.bcc_parsers.append(parser) + if "mask" in node["attrib"] and node["attrib"]["mask"].upper() == "TRUE": + bcc_mask.append(0.0) else: - return ljE + coulE - - self._jaxPotential = potential_fn - - def getJaxPotential(self): - return self._jaxPotential - - def getMetaData(self): - return self._meta - - def getAddVsiteFunc(self): - """ - Get function to add coordinates for virtual sites - """ - return self._addVsiteFunc - - def getVsiteObj(self): - """ - Get `dmff.classical.vsite.VirtualSite` object - """ - if self.useVsite: - return self.vsiteObj - else: - return None - - def getTopologyMatrix(self): - """ - Get topology Matrix - """ - return self.top_mat - -dmff.api.jaxGenerators["NonbondedForce"] = NonbondedJaxGenerator - - -class LennardJonesGenerator: - def __init__(self, ff): - self.name = "LennardJonesForce" - self.ff = ff - self.fftree = ff.fftree - self.paramtree = ff.paramtree - self.paramtree[self.name] = {} - self._meta = {} - - - def extract(self): - for prm in ["sigma", "epsilon"]: - vals = self.fftree.get_attribs("LennardJonesForce/Atom", prm) - self.paramtree[self.name][prm] = jnp.array(vals) - valfix = self.fftree.get_attribs("LennardJonesForce/NBFixPair", - prm) - self.paramtree[self.name][f"{prm}_nbfix"] = jnp.array(valfix) - - lj14scale = self.fftree.get_attribs("LennardJonesForce", - "lj14scale")[0] - self.paramtree[self.name]["lj14scale"] = jnp.array([lj14scale]) - - def overwrite(self): - self.fftree.set_attrib("LennardJonesForce", "lj14scale", - self.paramtree[self.name]["lj14scale"]) - for prm in ["sigma", "epsilon"]: - self.fftree.set_attrib("LennardJonesForce/Atom", prm, - self.paramtree[self.name][prm]) - if len(self.paramtree[self.name][f"{prm}_nbfix"]) > 0: - self.fftree.set_attrib( - "LennardJonesForce/NBFixPair", prm, - self.paramtree[self.name][f"{prm}_nbfix"]) - - def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, - args): + bcc_mask.append(1.0) + bcc_prms = jnp.array(bcc_prms) + bcc_mask = jnp.array(bcc_mask) + paramset.addParameter(bcc_prms, "bcc", field=self.name, mask=bcc_mask) + self._bcc_shape = paramset[self.name]["bcc"].shape[0] + + def getName(self): + return self.name + + def overwrite(self, paramset): + # paramset to ffinfo + if self._use_bcc: + bcc_now = paramset[self.name]["bcc"] + mask_list = paramset.mask[self.name]["bcc"] + nbcc = 0 + for nnode, node in enumerate(self.ffinfo["Forces"][self.name]["node"]): + if node["name"] == "BondChargeCorrection": + mask = mask_list[nbcc] + self.ffinfo["Forces"][self.name]["node"][nnode]["attrib"]["bcc"] = bcc_now[nbcc] + if mask < 0.999: + self.ffinfo["Forces"][self.name]["node"][nnode]["attrib"]["mask"] = "true" + nbcc += 1 + + def createPotential(self, topdata: DMFFTopology, nonbondedMethod, + nonbondedCutoff, **kwargs): methodMap = { app.NoCutoff: "NoCutoff", - app.PME: "CutoffPeriodic", app.CutoffPeriodic: "CutoffPeriodic", - app.CutoffNonPeriodic: "CutoffNonPeriodic" + app.CutoffNonPeriodic: "CutoffNonPeriodic", + app.PME: "PME", } if nonbondedMethod not in methodMap: raise DMFFException("Illegal nonbonded method for NonbondedForce") + isNoCut = False if nonbondedMethod is app.NoCutoff: isNoCut = True - mscales_lj = jnp.array([0.0, 0.0, 0.0, 1.0, 1.0, 1.0]) # mscale for LJ - mscales_lj = mscales_lj.at[2].set( - self.paramtree[self.name]["lj14scale"][0]) + mscales_coul = jnp.array([0.0, 0.0, 0.0, 1.0, 1.0, + 1.0]) # mscale for PME + mscales_coul = mscales_coul.at[2].set(self.coulomb14scale) + self.mscales_coul = mscales_coul # for qeq calculation + # set PBC if nonbondedMethod not in [app.NoCutoff, app.CutoffNonPeriodic]: ifPBC = True else: ifPBC = False - nbmatcher = TypeMatcher(self.fftree, "LennardJonesForce/Atom") - - maps = {} - for prm in ["sigma", "epsilon"]: - maps[prm] = [] - for atom in data.atoms: - atype = data.atomType[atom] - ifFound, _, nnode = nbmatcher.matchGeneral([atype]) - if not ifFound: - raise DMFFException( - "AtomType of %s mismatched in NonbondedForce" % - (str(atom))) - maps[prm].append(nnode) - maps[prm] = jnp.array(maps[prm], dtype=int) - - map_lj = jnp.array(maps["sigma"]) - - ifType = len([i for i in self.fftree.get_attribs("LennardJonesForce/Atom", - "type") if i is not None]) != 0 - if ifType: - atom_labels = self.fftree.get_attribs("LennardJonesForce/Atom", - "type") - fix_label1 = self.fftree.get_attribs("LennardJonesForce/NBFixPair", - "type1") - fix_label2 = self.fftree.get_attribs("LennardJonesForce/NBFixPair", - "type2") + charges = [a.meta["charge"] for a in topdata.atoms()] + charges = jnp.array(charges) + + cov_mat = topdata.buildCovMat() + + if unit.is_quantity(nonbondedCutoff): + r_cut = nonbondedCutoff.value_in_unit(unit.nanometer) else: - atom_labels = self.fftree.get_attribs("LennardJonesForce/Atom", - "class") - fix_label1 = self.fftree.get_attribs("LennardJonesForce/NBFixPair", - "class1") - fix_label2 = self.fftree.get_attribs("LennardJonesForce/NBFixPair", - "class2") + r_cut = nonbondedCutoff - map_nbfix = [] + # PME Settings + if nonbondedMethod is app.PME: + cell = topdata.getPeriodicBoxVectors() + box = jnp.array(cell) + self.ethresh = kwargs.get("ethresh", 1e-5) + self.coeff_method = kwargs.get("PmeCoeffMethod", "openmm") + self.fourier_spacing = kwargs.get("PmeSpacing", 0.1) + kappa, K1, K2, K3 = setup_ewald_parameters(r_cut, self.ethresh, + box, + self.fourier_spacing, + self.coeff_method) + + if self._use_bcc: + top_mat = np.zeros( + (topdata.getNumAtoms(), self._bcc_shape)) + matched_dict = {} + for nparser, parser in enumerate(self.bcc_parsers): + matches = topdata.parseSMARTS(parser, resname=self._bcc_mol) + for ii, jj in matches: + if (ii, jj) in matched_dict: + del matched_dict[(ii, jj)] + elif (jj, ii) in matched_dict: + del matched_dict[(jj, ii)] + matched_dict[(ii, jj)] = nparser + for ii, jj in matched_dict.keys(): + nval = matched_dict[(ii, jj)] + top_mat[ii, nval] += 1. + top_mat[jj, nval] -= 1. + topdata._meta["bcc_top_mat"] = top_mat + + if nonbondedMethod is not app.PME: + # do not use PME + if nonbondedMethod in [app.CutoffPeriodic, app.CutoffNonPeriodic]: + # use Reaction Field + coulforce = CoulReactionFieldForce( + r_cut, + charges, + isPBC=ifPBC, + topology_matrix=top_mat if self._use_bcc else None) + if nonbondedMethod is app.NoCutoff: + # use NoCutoff + coulforce = CoulNoCutoffForce( + charges, topology_matrix=top_mat if self._use_bcc else None) + else: + coulforce = CoulombPMEForce( + r_cut, + charges, + kappa, (K1, K2, K3), + topology_matrix=top_mat if self._use_bcc else None) + + coulenergy = coulforce.generate_get_energy() + + has_aux = False + if "has_aux" in kwargs and kwargs["has_aux"]: + has_aux = True + + def potential_fn(positions, box, pairs, params, aux=None): + + # check whether args passed into potential_fn are jnp.array and differentiable + # note this check will be optimized away by jit + # it is jit-compatiable + isinstance_jnp(positions, box, params) - def findIdx(labels, label): - for ni in range(len(labels)): - if labels[ni] == label: - return ni - raise DMFFException( - "AtomType of %s mismatched in LennardJonesForce" % (label)) + if self._use_bcc: + coulE = coulenergy(positions, box, pairs, + params["CoulombForce"]["bcc"], mscales_coul) + else: + coulE = coulenergy(positions, box, pairs, + mscales_coul) + + if has_aux: + return coulE, aux + else: + return coulE + + self._jaxPotential = potential_fn + return potential_fn - for nfix in range(len(fix_label1)): - l1, l2 = fix_label1[nfix], fix_label2[nfix] - i1 = findIdx(atom_labels, l1) - i2 = findIdx(atom_labels, l2) - map_nbfix.append([i1, i2]) - map_nbfix = np.array(map_nbfix, dtype=int).reshape((-1, 2)) - map_nbfix = jnp.array(map_nbfix) - colv_map = build_covalent_map(data, 6) - self._meta["cov_map"] = colv_map +_DMFFGenerators["CoulombForce"] = CoulombGenerator + + +class LennardJonesGenerator: + + def __init__(self, ffinfo: dict, paramset: ParamSet): + self.name = "LennardJonesForce" + self.ffinfo = ffinfo + self.lj14scale = float( + self.ffinfo["Forces"][self.name]["meta"]["lj14scale"]) + self.nbfix_to_idx = {} + self.atype_to_idx = {} + sig_prms, eps_prms = [], [] + sig_mask, eps_mask = [], [] + sig_nbfix, eps_nbfix = [], [] + sig_nbf_mask, eps_nbf_mask = [], [] + for node in self.ffinfo["Forces"][self.name]["node"]: + if node["name"] == "Atom": + if "type" in node["attrib"]: + atype, eps, sig = node["attrib"]["type"], node["attrib"][ + "epsilon"], node["attrib"]["sigma"] + self.atype_to_idx[atype] = len(sig_prms) + elif "class" in node["attrib"]: + acls, eps, sig = node["attrib"]["class"], node["attrib"][ + "epsilon"], node["attrib"]["sigma"] + atypes = ffinfo["ClassToType"][acls] + for atype in atypes: + self.atype_to_idx[atype] = len(sig_prms) + sig_prms.append(float(sig)) + eps_prms.append(float(eps)) + if "mask" in node["attrib"] and node["attrib"]["mask"].upper() == "TRUE": + sig_mask.append(0.0) + eps_mask.append(0.0) + else: + sig_mask.append(1.0) + eps_mask.append(1.0) + elif node["name"] == "NBFixPair": + if "type1" in node["attrib"]: + atype1, atype2, eps, sig = node["attrib"]["type1"], node["attrib"][ + "type2"], node["attrib"]["epsilon"], node["attrib"]["sigma"] + if atype1 not in self.nbfix_to_idx: + self.nbfix_to_idx[atype1] = {} + if atype2 not in self.nbfix_to_idx: + self.nbfix_to_idx[atype2] = {} + self.nbfix_to_idx[atype1][atype2] = len(sig_nbfix) + self.nbfix_to_idx[atype2][atype1] = len(sig_nbfix) + elif "class1" in node["attrib"]: + acls1, acls2, eps, sig = node["attrib"]["class1"], node["attrib"][ + "class2"], node["attrib"]["epsilon"], node["attrib"]["sigma"] + atypes1 = ffinfo["ClassToType"][acls1] + atypes2 = ffinfo["ClassToType"][acls2] + for atype1 in atypes1: + if atype1 not in self.nbfix_to_idx: + self.nbfix_to_idx[atype1] = {} + for atype2 in atypes2: + if atype2 not in self.nbfix_to_idx: + self.nbfix_to_idx[atype2] = {} + self.nbfix_to_idx[atype1][atype2] = len(sig_nbfix) + self.nbfix_to_idx[atype2][atype1] = len(sig_nbfix) + sig_nbfix.append(float(sig)) + eps_nbfix.append(float(eps)) + if "mask" in node["attrib"] and node["attrib"]["mask"].upper() == "TRUE": + sig_nbf_mask.append(0.0) + eps_nbf_mask.append(0.0) + else: + sig_nbf_mask.append(1.0) + eps_nbf_mask.append(1.0) + + sig_prms = jnp.array(sig_prms) + eps_prms = jnp.array(eps_prms) + sig_mask = jnp.array(sig_mask) + eps_mask = jnp.array(eps_mask) + + sig_nbfix, eps_nbfix = jnp.array(sig_nbfix), jnp.array(eps_nbfix) + sig_nbf_mask = jnp.array(sig_nbf_mask) + eps_nbf_mask = jnp.array(eps_nbf_mask) + + paramset.addField(self.name) + paramset.addParameter( + sig_prms, "sigma", field=self.name, mask=sig_mask) + paramset.addParameter(eps_prms, "epsilon", + field=self.name, mask=eps_mask) + paramset.addParameter(sig_nbfix, "sigma_nbfix", + field=self.name, mask=sig_nbf_mask) + paramset.addParameter(eps_nbfix, "epsilon_nbfix", + field=self.name, mask=eps_nbf_mask) + + def getName(self): + return self.name + + def overwrite(self, paramset): + # paramset to ffinfo + for nnode in range(len(self.ffinfo["Forces"][self.name]["node"])): + node = self.ffinfo["Forces"][self.name]["node"][nnode] + if node["name"] == "Atom": + if "type" in node["attrib"]: + atype = node["attrib"]["type"] + idx = self.atype_to_idx[atype] + + elif "class" in node["attrib"]: + acls = node["attrib"]["class"] + atypes = self.ffinfo["ClassToType"][acls] + idx = self.atype_to_idx[atypes[0]] + + eps_now = paramset[self.name]["epsilon"][idx] + sig_now = paramset[self.name]["sigma"][idx] + self.ffinfo["Forces"][ + self.name]["node"][nnode]["attrib"]["sigma"] = sig_now + self.ffinfo["Forces"][ + self.name]["node"][nnode]["attrib"]["epsilon"] = eps_now + # have not tested for NBFixPair overwrite + elif node["name"] == "NBFixPair": + if "type1" in node["attrib"]: + atype1, atype2 = node["attrib"]["type1"], node["attrib"]["type2"] + idx = self.nbfix_to_idx[atype1][atype2] + elif "class1" in node["attrib"]: + acls1, acls2 = node["attrib"]["class1"], node["attrib"]["class2"] + atypes1 = self.ffinfo["ClassToType"][acls1] + atypes2 = self.ffinfo["ClassToType"][acls2] + idx = self.nbfix_to_idx[atypes1[0]][atypes2[0]] + sig_now = paramset[self.name]["sigma_nbfix"][idx] + eps_now = paramset[self.name]["epsilon_nbfix"][idx] + self.ffinfo["Forces"][self.name]["node"][nnode]["attrib"]["sigma"] = sig_now + self.ffinfo["Forces"][self.name]["node"][nnode]["attrib"]["epsilon"] = eps_now + + def createPotential(self, topdata: DMFFTopology, nonbondedMethod, + nonbondedCutoff, **kwargs): + methodMap = { + app.NoCutoff: "NoCutoff", + app.CutoffPeriodic: "CutoffPeriodic", + app.CutoffNonPeriodic: "CutoffNonPeriodic", + app.PME: "CutoffPeriodic", + } + if nonbondedMethod not in methodMap: + raise DMFFException("Illegal nonbonded method for NonbondedForce") + methodString = methodMap[nonbondedMethod] + + atoms = [a for a in topdata.atoms()] + atypes = [a.meta["type"] for a in atoms] + map_prm = [] + for atype in atypes: + if atype not in self.atype_to_idx: + raise DMFFException(f"Atom type {atype} not found.") + idx = self.atype_to_idx[atype] + map_prm.append(idx) + map_prm = jnp.array(map_prm) + topdata._meta["lj_map_idx"] = map_prm + + # not use nbfix for now + map_nbfix = [] + for atype1 in self.nbfix_to_idx.keys(): + for atype2 in self.nbfix_to_idx[atype1].keys(): + nbfix_idx = self.nbfix_to_idx[atype1][atype2] + type1_idx = self.atype_to_idx[atype1] + type2_idx = self.atype_to_idx[atype2] + map_nbfix.append([type1_idx, type2_idx, nbfix_idx]) + map_nbfix = np.array(map_nbfix, dtype=int).reshape((-1, 3)) + + if methodString in ["NoCutoff", "CutoffNonPeriodic"]: + isPBC = False + if methodString == "NoCutoff": + isNoCut = True + else: + isNoCut = False + else: + isPBC = True + isNoCut = False + + mscales_lj = jnp.array([0.0, 0.0, 0.0, 1.0, 1.0, 1.0]) # mscale for LJ + mscales_lj = mscales_lj.at[2].set(self.lj14scale) if unit.is_quantity(nonbondedCutoff): r_cut = nonbondedCutoff.value_in_unit(unit.nanometer) else: r_cut = nonbondedCutoff - if "switchDistance" in args and args["switchDistance"] is not None: - r_switch = args["switchDistance"] - r_switch = (r_switch if not unit.is_quantity(r_switch) else - r_switch.value_in_unit(unit.nanometer)) - ifSwitch = True - else: - r_switch = r_cut - ifSwitch = False - ljforce = LennardJonesForce(r_switch, + ljforce = LennardJonesForce(0.0, r_cut, - map_lj, + map_prm, map_nbfix, - isSwitch=ifSwitch, - isPBC=ifPBC, + isSwitch=False, + isPBC=isPBC, isNoCut=isNoCut) ljenergy = ljforce.generate_get_energy() - useDispersionCorrection = self.fftree.get_attribs( - "LennardJonesForce", "useDispersionCorrection")[0] == "True" - if useDispersionCorrection: - numTypes = self.paramtree[self.name]["sigma"].shape[0] - countVec = np.zeros(numTypes, dtype=int) - countMat = np.zeros((numTypes, numTypes), dtype=int) - types, count = np.unique(map_lj, return_counts=True) - - for typ, cnt in zip(types, count): - countVec[typ] += cnt - for i in range(numTypes): - for j in range(i, numTypes): - if i != j: - countMat[i, j] = countVec[i] * countVec[j] - else: - countMat[i, i] = countVec[i] * (countVec[i] - 1) // 2 - assert np.sum(countMat) == len(map_lj) * (len(map_lj) - 1) // 2 - - colv_pairs = np.argwhere( - np.logical_and(colv_map > 0, colv_map <= 3)) - for pair in colv_pairs: - if pair[0] <= pair[1]: - tmp = (map_lj[pair[0]], map_lj[pair[1]]) - t1, t2 = min(tmp), max(tmp) - countMat[t1, t2] -= 1 - - ljDispCorrForce = LennardJonesLongRangeForce( - r_cut, map_lj, map_nbfix, countMat) + has_aux = False + if "has_aux" in kwargs and kwargs["has_aux"]: + has_aux = True - ljDispEnergyFn = ljDispCorrForce.generate_get_energy() - - def potential_fn(positions, box, pairs, params): + def potential_fn(positions, box, pairs, params, aux=None): # check whether args passed into potential_fn are jnp.array and differentiable # note this check will be optimized away by jit # it is jit-compatiable isinstance_jnp(positions, box, params) - ljE = ljenergy(positions, box, pairs, params[self.name]["epsilon"], + + ljE = ljenergy(positions, box, pairs, + params[self.name]["epsilon"], params[self.name]["sigma"], params[self.name]["epsilon_nbfix"], - params[self.name]["sigma_nbfix"], mscales_lj) + params[self.name]["sigma_nbfix"], + mscales_lj) - if useDispersionCorrection: - ljDispEnergy = ljDispEnergyFn( - box, params[self.name]['epsilon'], - params[self.name]['sigma'], - params[self.name]['epsilon_nbfix'], - params[self.name]['sigma_nbfix']) - - return ljE + ljDispEnergy + if has_aux: + return ljE, aux else: return ljE self._jaxPotential = potential_fn - - def getJaxPotential(self): - return self._jaxPotential - - def getMetaData(self): - return self._meta + return potential_fn -dmff.api.jaxGenerators["LennardJonesForce"] = LennardJonesGenerator +_DMFFGenerators["LennardJonesForce"] = LennardJonesGenerator diff --git a/dmff/generators/ml.py b/dmff/generators/ml.py new file mode 100644 index 000000000..ae747bb88 --- /dev/null +++ b/dmff/generators/ml.py @@ -0,0 +1,134 @@ +from ..api.topology import DMFFTopology +from ..api.paramset import ParamSet +from ..api.hamiltonian import _DMFFGenerators +from ..utils import DMFFException, isinstance_jnp +from ..utils import jit_condition +import numpy as np +import jax +import jax.numpy as jnp +import openmm.app as app +import openmm.unit as unit +import pickle + +from ..sgnn.graph import MAX_VALENCE, TopGraph, from_pdb +from ..sgnn.gnn import MolGNNForce, prm_transform_f2i +from ..eann.eann import EANNForce, get_elem_indices + +class SGNNGenerator: + def __init__(self, ffinfo: dict, paramset: ParamSet): + + self.name = "SGNNForce" + self.ffinfo = ffinfo + paramset.addField(self.name) + self.key_type = None + + self.file = self.ffinfo["Forces"][self.name]["meta"]["file"] + self.nn = int(self.ffinfo["Forces"][self.name]["meta"]["nn"]) + self.pdb = self.ffinfo["Forces"][self.name]["meta"]["pdb"] + + # load ML potential parameters + with open(self.file, 'rb') as ifile: + params = pickle.load(ifile) + + # convert to jnp array + for k in params: + params[k] = jnp.array(params[k]) + # set mask to all true + paramset.addParameter(params[k], k, field=self.name, mask=jnp.ones(params[k].shape)) + + # mask = jax.tree_util.tree_map(lambda x: jnp.ones(x.shape), params) + # paramset.addParameter(params, "params", field=self.name, mask=mask) + + + def getName(self) -> str: + return self.name + + def overwrite(self, paramset): + # do not use xml to handle ML potentials + # for ML potentials, xml only documents param file path + # so for ML potentials, overwrite function overwrites the file directly + with open(self.file, 'wb') as ofile: + pickle.dump(paramset[self.name], ofile) + return + + def createPotential(self, topdata: DMFFTopology, nonbondedMethod, nonbondedCutoff, **kwargs): + self.G = from_pdb(self.pdb) + n_atoms = topdata.getNumAtoms() + self.model = MolGNNForce(self.G, nn=self.nn) + n_layers = self.model.n_layers + def potential_fn(positions, box, pairs, params): + # convert unit to angstrom + positions = positions * 10 + box = box * 10 + prms = prm_transform_f2i(params[self.name], n_layers) + return self.model.get_energy(positions, box, prms) + + self._jaxPotential = potential_fn + return potential_fn + + def getJaxPotential(self): + return self._jaxPotential + +_DMFFGenerators["SGNNForce"] = SGNNGenerator + +class EANNGenerator: + def __init__(self, ffinfo: dict, paramset: ParamSet): + + self.name = "EANNForce" + self.ffinfo = ffinfo + paramset.addField(self.name) + self.key_type = None + + self.file = self.ffinfo["Forces"][self.name]["meta"]["file"] + self.ngto = int(self.ffinfo["Forces"][self.name]["meta"]["ngto"]) + self.nipsin = int(self.ffinfo["Forces"][self.name]["meta"]["nipsin"]) + self.rc = int(self.ffinfo["Forces"][self.name]["meta"]["rc"]) + + self.pdb = self.ffinfo["Forces"][self.name]["meta"]["pdb"] + self.ommtopology = app.PDBFile(self.pdb).topology + # load ML potential parameters + with open(self.file, 'rb') as ifile: + params = pickle.load(ifile) + self.params = params + # convert to jnp array + for k in params: + params[k] = params[k] + # set mask to all true + paramset.addParameter(params[k], k, field=self.name, mask=jnp.ones(params[k].shape)) + + # mask = jax.tree_util.tree_map(lambda x: jnp.ones(x.shape), params) + # paramset.addParameter(params, "params", field=self.name, mask=mask) + + + def getName(self) -> str: + return self.name + + def overwrite(self, params): + # do not use xml to handle ML potentials + # for ML potentials, xml only documents param file path + # so for ML potentials, overwrite function overwrites the file directly + with open(self.file, 'wb') as ofile: + pickle.dump(paramset[self.name], ofile) + return + + def createPotential(self, topdata: DMFFTopology, nonbondedMethod, nonbondedCutoff, **kwargs): + n_atoms = topdata.getNumAtoms() + n_elem, elem_indices = get_elem_indices(self.ommtopology) + self.model = EANNForce(n_elem, elem_indices, n_gto=self.ngto, nipsin=self.nipsin, rc=self.rc) + n_layers = self.model.n_layers + def potential_fn(positions, box, pairs, params): + # convert unit to angstrom + positions = positions * 10 + box = box * 10 + + return self.model.get_energy(positions, box, pairs, params[self.name]) + + self._jaxPotential = potential_fn + return potential_fn + + def getJaxPotential(self): + return self._jaxPotential + +_DMFFGenerators["EANNForce"] = EANNGenerator + + diff --git a/dmff/generators/qeq.py b/dmff/generators/qeq.py new file mode 100644 index 000000000..d8e599ce2 --- /dev/null +++ b/dmff/generators/qeq.py @@ -0,0 +1,223 @@ +import openmm.app as app +import openmm.unit as unit +from typing import Tuple +import numpy as np +import jax.numpy as jnp +from ..api.topology import DMFFTopology +from ..api.paramset import ParamSet +from ..api.xmlio import XMLIO +from ..api.hamiltonian import _DMFFGenerators +from ..utils import DMFFException, isinstance_jnp +from ..admp.qeq import ADMPQeqForce +from ..generators.classical import CoulombGenerator +from ..admp.qeq import ADMPQeqForce +from ..admp.pme import setup_ewald_parameters + + +class ADMPQeqGenerator: + def __init__(self, ffinfo: dict, paramset: ParamSet): + self.name = "ADMPQeqForce" + self.ffinfo = ffinfo + paramset.addField(self.name) + self.coulomb14scale = float( + self.ffinfo["Forces"][self.name]["meta"]["coulomb14scale"] + ) + + self.key_type = None + keys, params = [], [] + qeq_mask = [] + for node in self.ffinfo["Forces"][self.name]["node"]: + attribs = node["attrib"] + + if self.key_type is None and "type" in attribs: + self.key_type = "type" + elif self.key_type is None and "class" in attribs: + self.key_type = "class" + elif self.key_type is not None and f"{self.key_type}" not in attribs: + raise ValueError("Keyword 'class' or 'type' cannot be used together.") + elif self.key_type is not None and f"{self.key_type}" in attribs: + pass + else: + raise ValueError("Cannot find key type for ADMPQeqForce.") + key = attribs[self.key_type] + keys.append(key) + + chi0 = float(attribs["chi"]) + J0 = float(attribs["J"]) + eta0 = float(attribs["eta"]) + + if "mask" in node["attrib"] and node["attrib"]["mask"].upper() == "TRUE": + qeq_mask.append(0.0) + else: + qeq_mask.append(1.0) + + params.append([chi0, J0, eta0]) + + self.atom_keys = keys + qeq_mask = jnp.array(qeq_mask) + chi = jnp.array([i[0] for i in params]) + J = jnp.array([i[1] for i in params]) + eta = jnp.array([i[2] for i in params]) + + paramset.addParameter(chi, "chi", field=self.name, mask=qeq_mask) + paramset.addParameter(J, "J", field=self.name, mask=qeq_mask) + paramset.addParameter(eta, "eta", field=self.name, mask=qeq_mask) + # default params + self._jaxPotential = None + meta = self.ffinfo["Forces"][self.name]["meta"] + if "DampMod" in meta: + self.damp_mod = int(meta["DampMod"]) + else: + self.damp_mod = 3 + + def getName(self) -> str: + """ + Returns the name of the force field. + + Returns: + -------- + str + The name of the force field. + """ + return self.name + + def overwrite(self, paramset: ParamSet) -> None: + node_indices = [ + i + for i in range(len(self.ffinfo["Forces"][self.name]["node"])) + if self.ffinfo["Forces"][self.name]["node"][i]["name"] == "Atom" + ] + chi = paramset[self.name]["chi"] + J = paramset[self.name]["J"] + eta = paramset[self.name]["eta"] + atom_mask = paramset.mask[self.name]["chi"] + for nidx, idx in enumerate(node_indices): + chi0 = chi[nidx] + J0 = J[nidx] + eta0 = eta[nidx] + mask = atom_mask[nidx] + self.ffinfo["Forces"][self.name]["node"][idx]["attrib"]["chi"] = chi0 + self.ffinfo["Forces"][self.name]["node"][idx]["attrib"]["J"] = J0 + self.ffinfo["Forces"][self.name]["node"][idx]["attrib"]["eta"] = eta0 + if mask < 0.999: + self.ffinfo["Forces"][self.name]["node"][idx]["attrib"]["mask"] = "true" + + def _find_atype_key_index(self, atype: str): + for n, i in enumerate(self.atom_keys): + if i == atype: + return n + return None + + def createPotential( + self, topdata: DMFFTopology, nonbondedMethod, nonbondedCutoff, **kwargs + ): + methodMap = { + app.NoCutoff: "NoCutoff", + app.PME: "PME", + } + if nonbondedMethod not in methodMap: + raise DMFFException("Illegal nonbonded method for NonbondedForce") + + # setting for coul force + isNoCut = False + if nonbondedMethod is app.NoCutoff: + isNoCut = True + + mscales_coul = jnp.array([0.0, 0.0, 0.0, 1.0, 1.0, 1.0]) # mscale for PME + mscales_coul = mscales_coul.at[2].set(self.coulomb14scale) + self.mscales_coul = mscales_coul # for qeq calculation + + if unit.is_quantity(nonbondedCutoff): + r_cut = nonbondedCutoff.value_in_unit(unit.nanometer) + else: + r_cut = nonbondedCutoff + + if not isNoCut: + cell = topdata.getPeriodicBoxVectors() + box = jnp.array(cell) + self.ethresh = kwargs.get("ethresh", 1e-5) + self.coeff_method = kwargs.get("PmeCoeffMethod", "openmm") + self.fourier_spacing = kwargs.get("PmeSpacing", 0.1) + kappa, K1, K2, K3 = setup_ewald_parameters( + r_cut, self.ethresh, box, self.fourier_spacing, self.coeff_method + ) + else: + kappa, K1, K2, K3 = 1.0, 1, 1, 1 + K = (K1, K2, K3) + + neutral_flag = kwargs.get("neutral", True) + slab_flag = kwargs.get("slab", False) + constQ = kwargs.get("constQ", True) + + # top info + n_atoms = topdata.getNumAtoms() + atoms = [a for a in topdata.atoms()] + residues = [r for r in topdata.residues()] + n_residues = len(residues) + init_q = np.array([a.meta["charge"] for a in atoms]) + map_idx = [] + for natom, atom in enumerate(atoms): + atype = atom.meta[self.key_type] + map_idx.append(self._find_atype_key_index(atype)) + map_idx = jnp.array(map_idx) + + if "const_list" in kwargs and "const_vals" in kwargs: + const_list = kwargs["const_list"] + const_vals = kwargs["const_vals"] + else: + const_list = [] + const_vals = [] + for r in residues: + aidx = [a.index for a in r.atoms()] + const_list.append(aidx) + const_vals.append(sum(init_q[aidx])) + + has_aux = False + if "has_aux" in kwargs: + has_aux = kwargs["has_aux"] + + qeq_force = ADMPQeqForce( + init_q, + r_cut, + kappa, + K, + damp_mod=self.damp_mod, + const_list=const_list, + const_vals=const_vals, + neutral_flag=neutral_flag, + slab_flag=slab_flag, + constQ=constQ, + pbc_flag=(not isNoCut), + has_aux=has_aux, + ) + qeq_energy = qeq_force.generate_get_energy() + + mscales_coul = jnp.array([0.0, 0.0, 0.0, 1.0, 1.0, 1.0]) # mscale for PME + mscales_coul = mscales_coul.at[2].set(self.coulomb14scale) + + def potential_fn( + positions: jnp.ndarray, + box: jnp.ndarray, + pairs: jnp.ndarray, + params: ParamSet, + aux: dict = None + ) -> jnp.ndarray: + # map_atomtype = np.zeros(n_atoms) + eta = params[self.name]["eta"][map_idx] + chi = params[self.name]["chi"][map_idx] + J = params[self.name]["J"][map_idx] + + if has_aux: + qeq_energy0, aux = qeq_energy(positions, box, pairs, mscales_coul, eta, chi, J, aux) + # return pme_energy + qeq_energy0 + return qeq_energy0, aux + else: + qeq_energy0 = qeq_energy(positions, box, pairs, mscales_coul, eta, chi, J) + # return pme_energy + qeq_energy0 + return qeq_energy0 + + self._jaxPotential = potential_fn + return potential_fn + + +_DMFFGenerators["ADMPQeqForce"] = ADMPQeqGenerator diff --git a/dmff/mbar.py b/dmff/mbar.py index b0182d236..4e55e7957 100644 --- a/dmff/mbar.py +++ b/dmff/mbar.py @@ -1,9 +1,19 @@ import numpy as np -import mdtraj as md -from pymbar import MBAR -import dmff - -dmff.update_jax_precision(dmff.PRECISION) +try: + import mdtraj as md +except ImportError: + import warnings + warnings.warn("MDTraj not installed. MBAREstimator is not available.") + +try: + from pymbar import MBAR +except ImportError: + MBAR = None + import warnings + warnings.warn("MBAR not installed, MBAREstimator for multiple states is not available.") + +from .settings import update_jax_precision, PRECISION +update_jax_precision(PRECISION) import jax import jax.numpy as jnp from jax import grad @@ -11,16 +21,18 @@ import openmm as mm import openmm.app as app import openmm.unit as unit -from dmff import NeighborList, NeighborListFreud - - -def buildTrajEnergyFunction(potential_func, - cov_map, - cutoff, - usePBC=True, - useFreud=True, - ensemble="nvt", - pressure=1.0): +from .common.nblist import NeighborListFreud + + +def buildTrajEnergyFunction( + potential_func, + cov_map, + cutoff, + usePBC=True, + useFreud=True, + ensemble="nvt", + pressure=1.0, +): def energy_function(traj, parameters): pos_list, box_list, pairs_list, vol_list = [], [], [], [] pair_full = [] @@ -31,14 +43,12 @@ def energy_function(traj, parameters): pair_full[:, 2] = cov_map[pair_full[:, 0], pair_full[:, 1]] for frame in tqdm(traj): aa, bb, cc = frame.openmm_boxes(0).value_in_unit(unit.nanometer) - box = jnp.array([[aa[0], aa[1], aa[2]], [bb[0], bb[1], bb[2]], - [cc[0], cc[1], cc[2]]]) + box = jnp.array( + [[aa[0], aa[1], aa[2]], [bb[0], bb[1], bb[2]], [cc[0], cc[1], cc[2]]] + ) positions = jnp.array(frame.xyz[0, :, :]) if usePBC: - if useFreud: - nbobj = NeighborListFreud(box, cutoff, cov_map) - else: - nbobj = NeighborList(box, cutoff, cov_map) + nbobj = NeighborListFreud(box, cutoff, cov_map) nbobj.capacity_multiplier = 1 pairs = nbobj.allocate(positions) pairs_list.append(pairs) @@ -49,11 +59,10 @@ def energy_function(traj, parameters): box_list = jnp.array(traj.unitcell_vectors) pmax = max([p.shape[0] for p in pairs_list]) - pairs_jax = np.zeros( - (traj.n_frames, pmax, 3), dtype=int) + traj.n_atoms + pairs_jax = np.zeros((traj.n_frames, pmax, 3), dtype=int) + traj.n_atoms for nframe in range(traj.n_frames): pair = pairs_list[nframe] - pairs_jax[nframe, :pair.shape[0], :] = pair[:, :] + pairs_jax[nframe, : pair.shape[0], :] = pair[:, :] pairs_jax = jax.numpy.array(pairs_jax) if ensemble.upper() == "NVT": ensemble_cns = 0.0 @@ -75,9 +84,9 @@ def __init__(self, temperature, energy_function): self._efunc = energy_function def calc_energy(self, trajectory, parameters): - beta = 1. / self._temperature / 8.314 * 1000. + beta = 1.0 / self._temperature / 8.314 * 1000.0 eners = self._efunc(trajectory, parameters) - ulist = jnp.concatenate([beta * e.reshape((1, )) for e in eners]) + ulist = jnp.concatenate([beta * e.reshape((1,)) for e in eners]) return ulist @@ -91,7 +100,7 @@ def calc_energy_frame(self, frame): def calc_energy(self, trajectory): # return beta * u - beta = 1. / self._temperature / 8.314 * 1000. + beta = 1.0 / self._temperature / 8.314 * 1000.0 eners = [] for frame in tqdm(trajectory): e = self.calc_energy_frame(frame) @@ -100,39 +109,58 @@ def calc_energy(self, trajectory): class OpenMMSampleState(SampleState): - def __init__(self, - name, - parameter, - topology, - temperature=300.0, - pressure=0.0): + def __init__( + self, + name, + parameter, + topology, + temperature=300.0, + pressure=0.0, + useDispersionCorrection=False, + useSwitchingFunction=False, + platform="CPU", + properties={}, + **args + ): super(OpenMMSampleState, self).__init__(temperature, name) self._pressure = pressure # create a context pdb = app.PDBFile(topology) ff = app.ForceField(parameter) - system = ff.createSystem(pdb.topology, - nonbondedMethod=app.PME, - nonbondedCutoff=0.9 * unit.nanometer, - constraints=None, - rigidWater=False) + + # default settings + if "nonbondedMethod" not in args: + args["nonbondedMethod"] = app.PME + if "nonbondedCutoff" not in args: + args["nonbondedCutoff"] = 0.9 * unit.nanometer + if "constraints" not in args: + args["constraints"] = None + if "rigidWater" not in args: + args["rigidWater"] = False + system = ff.createSystem(pdb.topology, **args) + + platform = mm.Platform.getPlatformByName(platform) + platform_properties = properties for force in system.getForces(): if isinstance(force, mm.NonbondedForce): - force.setUseDispersionCorrection(False) - force.setUseSwitchingFunction(False) + force.setUseDispersionCorrection(useDispersionCorrection) + force.setUseSwitchingFunction(useSwitchingFunction) - integ = mm.LangevinIntegrator(0 * unit.kelvin, 5 / unit.picosecond, - 1.0 * unit.femtosecond) - self.ctx = mm.Context(system, integ) + integ = mm.LangevinIntegrator( + 0 * unit.kelvin, 5 / unit.picosecond, 1.0 * unit.femtosecond + ) + self.ctx = mm.Context(system, integ, platform, platform_properties) def calc_energy_frame(self, frame): self.ctx.setPositions(frame.openmm_positions(0)) self.ctx.setPeriodicBoxVectors(*frame.openmm_boxes(0)) state = self.ctx.getState(getEnergy=True) vol = frame.unitcell_volumes[0] # in nm^3 - ener = state.getPotentialEnergy().value_in_unit( - unit.kilojoule_per_mole) + 0.06023 * vol * self._pressure + ener = ( + state.getPotentialEnergy().value_in_unit(unit.kilojoule_per_mole) + + 0.06023 * vol * self._pressure + ) return ener @@ -146,7 +174,38 @@ def generate_energy(self, state_list): for state in state_list: if state.name not in self.energy_data: self.energy_data[state.name] = np.array( - [state.calc_energy(self.trajectory)]) + [state.calc_energy(self.trajectory)] + ) + + +class ReweightEstimator: + def __init__( + self, + ref_energies, + base_energies=None, + volume=None, + temperature=300.0, + pressure=1.0, + ): + self.beta = 1.0 / temperature / 8.314 * 1000.0 + self.ref_energies = jnp.array(ref_energies) + if base_energies is None: + self.base_energies = jnp.zeros(ref_energies.shape) + else: + self.base_energies = jnp.array(base_energies) + if volume is not None: + self.pv = jnp.array(volume * pressure * 0.06023) + else: + self.pv = jnp.zeros(ref_energies.shape) + + def estimate_weight(self, uinit): + unew = (uinit + self.base_energies + self.pv) * self.beta + uref = (self.ref_energies + self.pv) * self.beta + deltaU = unew - uref + deltaU = deltaU - deltaU.max() + weight = jnp.exp(-deltaU) + weight = weight / weight.mean() + return weight class MBAREstimator: @@ -212,11 +271,9 @@ def optimize_mbar(self, initialize="BAR"): self._free_energy_jax = jax.numpy.array(self._mbar.f_k) self._nk_jax = jax.numpy.array(nk) - def estimate_weight(self, - state, - parameters=None, - decompose=True, - return_energy=True): + def estimate_weight( + self, state, parameters=None, decompose=True, return_energy=True + ): if isinstance(state, TargetState): unew = state.calc_energy(self._full_samples, parameters) else: @@ -224,8 +281,9 @@ def estimate_weight(self, unew_max = unew.max() du_1 = self._free_energy_jax.reshape((-1, 1)) - self._umat_jax delta_u = du_1 + unew.reshape((1, -1)) - unew_max - du_1.min() - cm = 1. / (jax.numpy.exp(delta_u) * jax.numpy.array(self._nk).reshape( - (-1, 1))).sum(axis=0) + cm = 1.0 / ( + jax.numpy.exp(delta_u) * jax.numpy.array(self._nk).reshape((-1, 1)) + ).sum(axis=0) weight = cm / cm.sum() if return_energy: return weight, unew @@ -235,7 +293,7 @@ def _estimate_weight_numpy(self, unew_npy, return_cn=False): unew_mean = unew_npy.mean() du_1 = self._mbar.f_k.reshape((-1, 1)) - self._umat delta_u = du_1 + unew_npy.reshape((1, -1)) - unew_mean - du_1.mean() - cn = 1. / (np.exp(delta_u) * self._nk.reshape((-1, 1))).sum(axis=0) + cn = 1.0 / (np.exp(delta_u) * self._nk.reshape((-1, 1))).sum(axis=0) weight = cn / cn.sum() if return_cn: return weight, cn @@ -252,21 +310,27 @@ def _computeCovar(self, W, N_k): Sigma = np.diag(np.sqrt(S2)) # Compute covariance - Theta = (V @ Sigma @ np.linalg.pinv( - I - Sigma @ V.T @ Ndiag @ V @ Sigma, rcond=1e-10) @ Sigma @ V.T) + Theta = ( + V + @ Sigma + @ np.linalg.pinv(I - Sigma @ V.T @ Ndiag @ V @ Sigma, rcond=1e-10) + @ Sigma + @ V.T + ) return Theta def estimate_effective_sample(self, unew, decompose=False): wnew, cn = self._estimate_weight_numpy(unew, return_cn=True) - eff_samples = 1. / (wnew**2).sum() + eff_samples = 1.0 / (wnew**2).sum() if decompose: state_effect = {} - argsort = np.argsort(wnew)[::-1][:int(eff_samples)] + argsort = np.argsort(wnew)[::-1][: int(eff_samples)] for nstate in range(len(self.states)): istart = self._nk[:nstate].sum() iend = istart + self._nk[nstate] state_effect[self.states[nstate].name] = ( - (argsort > istart) & (argsort < iend)).sum() + (argsort > istart) & (argsort < iend) + ).sum() state_effect["Total"] = eff_samples return state_effect return eff_samples @@ -275,29 +339,31 @@ def _estimate_free_energy(self, unew): a = self._free_energy_jax - self._umat_jax.T # log(sum(n_k*exp(a))) a_max = a.max(axis=1, keepdims=True) - log_denominator_n = jnp.log((self._nk_jax.reshape( - (1, -1)) * jnp.exp(a - a_max)).sum(axis=1)) + a_max.reshape((-1, )) + log_denominator_n = jnp.log( + (self._nk_jax.reshape((1, -1)) * jnp.exp(a - a_max)).sum(axis=1) + ) + a_max.reshape((-1,)) a2 = -unew - log_denominator_n # log(sum(exp(a2))) a2_max = a2.max() f_new = -jnp.log(jnp.sum(jnp.exp(a2 - a2_max))) - a2_max return f_new - def estimate_free_energy_difference(self, - target_state, - ref_state, - target_parameters=None, - ref_parameters=None, - decompose=True, - return_energy=False): + def estimate_free_energy_difference( + self, + target_state, + ref_state, + target_parameters=None, + ref_parameters=None, + decompose=True, + return_energy=False, + ): # compute F_target - F_ref if isinstance(ref_state, TargetState): u_ref = ref_state.calc_energy(self._full_samples, ref_parameters) else: u_ref = ref_state.calc_energy(self._full_samples) if isinstance(target_state, TargetState): - u_target = target_state.calc_energy(self._full_samples, - target_parameters) + u_target = target_state.calc_energy(self._full_samples, target_parameters) else: u_target = target_state.calc_energy(self._full_samples) f_ref = self._estimate_free_energy(u_ref) diff --git a/dmff/operators/__init__.py b/dmff/operators/__init__.py new file mode 100644 index 000000000..ea69ce578 --- /dev/null +++ b/dmff/operators/__init__.py @@ -0,0 +1,7 @@ +from .templatetype import * +from .smartstype import * +from .templatevsite import * +from .smartsvsite import * +from .am1charge import * +from .gafftype import * +from .parmed import * \ No newline at end of file diff --git a/dmff/operators/am1charge.py b/dmff/operators/am1charge.py new file mode 100644 index 000000000..d47c12b52 --- /dev/null +++ b/dmff/operators/am1charge.py @@ -0,0 +1,76 @@ +from ..utils import DMFFException +from .base import BaseOperator +from ..api.topology import DMFFTopology +import subprocess +try: + from rdkit.Chem import AllChem + from rdkit import Chem +except ImportError: + import warnings + warnings.warn("AM1ChargeOperator requires rdkit and cannot be used.") +import os + + +def cmd_exists(x): + return any(os.access(os.path.join(path, x), os.X_OK) + for path in os.environ["PATH"].split(os.pathsep)) + + +class AM1ChargeOperator(BaseOperator): + + def __init__(self, ffinfo: dict): + sqm = ffinfo["Operators"]["AM1ChargeOperator"][0]["attrib"]["path"] + self.find_sqm = cmd_exists(sqm) + self.sqm = sqm + + def operate(self, topdata: DMFFTopology, tot_charge=0, **kwargs) -> DMFFTopology: + atoms = [a for a in topdata.atoms()] + for atom in atoms: + atom.meta["charge"] = 0.0 + + for rdmol in topdata.molecules(): + topdata.regularize_aromaticity(rdmol) + AllChem.EmbedMolecule(rdmol, randomSeed=10) + conf = rdmol.GetConformer() + pos = conf.GetPositions() + with open("tmp.in", "w") as f: + f.write(f" Run semi-empirical minimization\n") + f.write(f" &qmmm\n") + f.write(f" qm_theory='AM1', qmcharge={tot_charge},\n") + f.write(f" /\n") + real_indices = [] + for natom, atom in enumerate(rdmol.GetAtoms()): + anum = atom.GetAtomicNum() + aname = atom.GetProp("_Name") + if anum > 0: + x, y, z = pos[natom] + f.write(f" {anum} {aname} {x:16.8f} {y:16.8f} {z:16.8f}\n") + real_indices.append(natom) + subprocess.run([self.sqm, "-O", '-i', 'tmp.in', '-o', 'tmp.out']) + with open('tmp.out', "r") as f: + text = f.readlines() + line_with_text = [] + for nline, line in enumerate(text): + if "Mulliken Charge" in line: + line_with_text.append(nline) + if len(line_with_text) != 2: + raise DMFFException("AM1 charge error.") + start, end = line_with_text + ratoms = [a for a in rdmol.GetAtoms()] + for nreal, ireal in enumerate(real_indices): + charge = float(text[start+nreal+1].strip().split()[-1]) + idx = int(ratoms[ireal].GetProp("_Index")) + atoms[idx].meta["charge"] = charge + eqv_info = topdata.getEquivalentAtoms() + finished_atoms = [] + for atom in topdata.atoms(): + aidx = atom.index + if aidx in finished_atoms: + continue + aeq = eqv_info[aidx] + average_charge = sum([atoms[i].meta["charge"] for i in aeq]) / len(aeq) + for i in aeq: + atoms[i].meta["charge"] = average_charge + finished_atoms.append(i) + os.system("rm tmp.in tmp.out") + return topdata diff --git a/dmff/operators/base.py b/dmff/operators/base.py new file mode 100644 index 000000000..b06692003 --- /dev/null +++ b/dmff/operators/base.py @@ -0,0 +1,12 @@ +from ..api.topology import DMFFTopology + + +class BaseOperator: + def __init__(self, ffinfo): + pass + + def __call__(self, input: DMFFTopology, **kwargs) -> DMFFTopology: + return self.operate(input, **kwargs) + + def operate(self, topdata: DMFFTopology) -> DMFFTopology: + pass diff --git a/dmff/operators/gafftype.py b/dmff/operators/gafftype.py new file mode 100644 index 000000000..8bc003182 --- /dev/null +++ b/dmff/operators/gafftype.py @@ -0,0 +1,59 @@ +from ..utils import DMFFException +from .base import BaseOperator +from ..api.topology import DMFFTopology +import subprocess +try: + from rdkit.Chem import AllChem + from rdkit import Chem +except ImportError: + import warnings + warnings.warn("GAFFTypeOperator requires rdkit and cannot be used.") +from .am1charge import cmd_exists +import shutil +import os + + +class GAFFTypeOperator(BaseOperator): + + def __init__(self, ffinfo: dict): + print(ffinfo["Operators"]["GAFFTypeOperator"]) + antechamber = ffinfo["Operators"]["GAFFTypeOperator"][0]["attrib"]["path"] + self.find_antechamber = cmd_exists(antechamber) + self.antechamber = antechamber + + def operate(self, topdata: DMFFTopology, **kwargs) -> DMFFTopology: + atoms = [a for a in topdata.atoms()] + + for rdmol in topdata.molecules(): + aidx = {} + for na, atom in enumerate(rdmol.GetAtoms()): + aidx[na] = int(atom.GetProp("_Index")) + topdata.regularize_aromaticity(rdmol) + AllChem.EmbedMolecule(rdmol, randomSeed=1) + conf = rdmol.GetConformer() + Chem.MolToMolFile(rdmol, "_tmp.mol") + subprocess.run([self.antechamber, '-i', '_tmp.mol', "-fi", "sdf", '-o', '_tmp.mol2', "-fo", "mol2", "-at", "gaff2", "-pf", "y"]) + with open("_tmp.mol2", "r") as f: + text = [l.strip() for l in f if len(l.strip()) > 0] + patom, pbond, pstruct = -1, -1, -1 + for nline, line in enumerate(text): + if "@ATOM" in line: + patom = nline + elif "@BOND" in line: + pbond = nline + elif "@SUBSTRUCTURE" in line: + pstruct = nline + atypes = [l.strip().split()[5] for l in text[patom+1:pbond]] + borders = [] + for line in text[pbond+1:pstruct]: + _, ii, jj, oo = line.strip().split() + borders.append([aidx[int(ii)-1], aidx[int(jj)-1], int(oo)]) + for nat, at in enumerate(atypes): + atoms[aidx[nat]].meta["type"] = at + atoms[aidx[nat]].meta["class"] = at + os.system("rm _tmp.mol _tmp.mol2") + for vsite in topdata.vsites(): + vidx = vsite.vatom.index + atoms[vidx].meta["type"] = "vs" + atoms[vidx].meta["class"] = "vs" + return topdata \ No newline at end of file diff --git a/dmff/operators/parmed.py b/dmff/operators/parmed.py new file mode 100644 index 000000000..273ae5d4d --- /dev/null +++ b/dmff/operators/parmed.py @@ -0,0 +1,70 @@ +from ..utils import DMFFException +from .base import BaseOperator +import xml.etree.ElementTree as ET +from ..api.topology import DMFFTopology +from ..api.vsite import VirtualSite +from ..api.vstools import insertVirtualSites +try: + from rdkit import Chem + import parmed +except ImportError: + import warnings + warnings.warn("Parmed is not installed. Parmed optimization cannot be used.") + + +class ParmedLennardJonesOperator(BaseOperator): + def __init__(self, ffinfo = None): + self.infos = [] + self.atypes = [] + self.params = [] + + def operate(self, topdata: DMFFTopology, gmx_top = None, **kwargs) -> DMFFTopology: + prm_top = gmx_top + atoms = [a for a in topdata.atoms()] + for natom, atom in enumerate(prm_top.atoms): + atype = atom.atom_type + aname, sig, eps = atype.name, atype.sigma * 0.1, atype.epsilon * 4.184 + # print(aname, sig, eps) + if aname not in self.atypes: + self.atypes.append(aname) + self.params.append((sig, eps)) + atoms[natom].meta["type"] = aname + atoms[natom].meta["class"] = aname + return topdata + + def getInitParameters(self): + ret = {} + for na in range(len(self.atypes)): + ret[self.atypes[na]] = (self.params[na][0], self.params[na][1]) + return ret + + def renderLennardJonesXML(self, filename): + prms = self.getInitParameters() + with open(filename, "w") as f: + f.write("\n") + f.write(' \n') + for atype in prms.keys(): + sig, eps = prms[atype] + f.write(f' \n') + f.write(" \n") + f.write("\n") + + @classmethod + def overwriteLennardJones(cls, top, ffinfo: dict): + nodes = [n for n in ffinfo["Forces"]["LennardJonesForce"]["node"]] + prm = {} + for node in nodes: + if not node["name"] == "Atom": + continue + sig = float(node["attrib"]["sigma"]) + eps = float(node["attrib"]["epsilon"]) + prm[node["attrib"]["type"]] = (sig, eps) + # 把parameter写到parmed top里去 + for atom in top.atoms: + atype = atom.atom_type + sig, eps = prm[atype.name] + atype.sigma = sig * 10. + atype.epsilon = eps / 4.184 + atype.sigma_14 = sig * 10. + atype.epsilon_14 = eps / 4.184 + pass diff --git a/dmff/operators/smartstype.py b/dmff/operators/smartstype.py new file mode 100644 index 000000000..d1db679b4 --- /dev/null +++ b/dmff/operators/smartstype.py @@ -0,0 +1,49 @@ +from .base import BaseOperator +from ..api.xmlio import XMLIO +from ..api.topology import DMFFTopology +from ..utils import DMFFException +from openmm.app import Topology +from typing import List +try: + from rdkit import Chem +except ImportError: + import warnings + warnings.warn("WARNING: RDKit is not installed. SMARTS parsing will be disabled.") + + +class SMARTSATypeOperator(BaseOperator): + + def __init__(self, ffinfo): + self.name = "smarts" + self.parsers = [] + self.atypes = [] + for atom in ffinfo["AtomTypes"]: + if "smarts" in atom: + key = "smarts" + elif "smirks" in atom: + key = "smirks" + else: + continue + parser = atom[key] + nm = atom["name"] + cls = atom["class"] if "class" in atom else nm + atype = (nm, cls, atom["element"]) + self.parsers.append(parser) + self.atypes.append(atype) + + def operate(self, topdata: DMFFTopology, resname: List[str] = [], **kwargs) -> DMFFTopology: + atoms = [a for a in topdata.atoms()] + for rdmol in topdata.molecules(): + topdata.regularize_aromaticity(rdmol) + for nparser, parser in enumerate(self.parsers): + name, cls, elem = self.atypes[nparser] + matches = topdata.parseSMARTS(parser, resname=resname) + for match in matches: + atoms[match[0]].meta["type"] = name + atoms[match[0]].meta["class"] = cls + for atom in topdata.atoms(): + if "type" not in atom.meta: + atom.meta["type"] = None + atom.meta["class"] = None + return topdata + \ No newline at end of file diff --git a/dmff/operators/smartsvsite.py b/dmff/operators/smartsvsite.py new file mode 100644 index 000000000..4a2a4dcbc --- /dev/null +++ b/dmff/operators/smartsvsite.py @@ -0,0 +1,51 @@ +from ..utils import DMFFException +from .base import BaseOperator +import xml.etree.ElementTree as ET +from ..api.topology import DMFFTopology +from ..api.vsite import VirtualSite +from ..api.vstools import insertVirtualSites +try: + from rdkit import Chem +except ImportError: + import warnings + warnings.warn("WARNING: rdkit not installed, SMARTSVSiteOperator will not work.") + + +class SMARTSVSiteOperator(BaseOperator): + + def __init__(self, ffinfo): + self.infos = [] + for vsite in ffinfo["Operators"]["SMARTSVSiteOperator"]: + self.infos.append(vsite["attrib"]) + + def operate(self, topdata: DMFFTopology, **kwargs) -> DMFFTopology: + vslist = [] + topatoms = [a for a in topdata.atoms()] + for rdmol in topdata.molecules(): + atoms = rdmol.GetAtoms() + for info in self.infos: + parser = info["smarts"] if "smarts" in info else info["smirks"] + par = Chem.MolFromSmarts(parser) + matches = rdmol.GetSubstructMatches(par) + for match in matches: + alist = [] + for molidx in match: + idx = int(atoms[molidx].GetProp("_Index")) + atom = topatoms[idx] + alist.append(atom) + wlist = [] + widx = 1 + while True: + key = f"weight{widx}" + if key not in info: + break + wlist.append(float(info[key])) + widx += 1 + meta = {} + meta["type"] = info["type"] + meta["class"] = info["class"] + meta["charge"] = 0.0 + vsite = VirtualSite( + info["vtype"], alist, wlist, meta=meta) + vslist.append(vsite) + return insertVirtualSites(topdata, vslist) diff --git a/dmff/operators/templatetype.py b/dmff/operators/templatetype.py new file mode 100644 index 000000000..f4b7802d8 --- /dev/null +++ b/dmff/operators/templatetype.py @@ -0,0 +1,112 @@ +import networkx as nx +from networkx.algorithms import isomorphism +from .base import BaseOperator +from ..api.graph import matchTemplate +from ..utils import DMFFException +from ..api.topology import DMFFTopology, Residue +import openmm.app as app + + +class TemplateATypeOperator(BaseOperator): + + def __init__(self, ffinfo): + self.name = "template" + self.atomtypes = {} + for node in ffinfo["AtomTypes"]: + if "name" in node and "class" in node: + elem = node["element"] if "element" in node else "none" + self.atomtypes[node["name"]] = (node["class"], elem) + + self.templates = [] + for resinfo in ffinfo["Residues"]: + self.templates.append(self.generate_template(resinfo)) + self.residues = ffinfo["Residues"] + + def generate_template(self, resinfo): + graph = nx.Graph() + name2idx = {} + names = [] + for na, atom in enumerate(resinfo["particles"]): + name = atom["name"] + names.append(name) + atype = atom["type"] + elem = self.atomtypes[atype][1] + if elem is None: + elem = "none" + name2idx[name] = na + external_bond = name in resinfo["externals"] + graph.add_node(atom["name"], element=elem, + external_bond=external_bond, **atom) + for bond in resinfo["bonds"]: + try: + a1, a2 = bond["atomName1"], bond["atomName2"] + except KeyError: + i1, i2 = int(bond["from"]), int(bond["to"]) + a1, a2 = names[i1], names[i2] + graph.add_edge(a1, a2, btype="bond") + # vsite + idx2name = {v: k for k, v in name2idx.items()} + for vsite in resinfo["vsites"]: + iself = int(vsite["index"]) + for key in vsite.keys(): + if "atom" in key: + iatom = int(vsite[key]) + graph.add_edge(idx2name[iself], + idx2name[iatom], btype="vsite") + return graph + + def generate_residue_graph(self, topdata: DMFFTopology, residue: Residue): + residue_indices = [a.index for a in residue.atoms()] + atoms = [a for a in residue.atoms()] + graph = nx.Graph() + # add nodes + for atom in atoms: + aidx = atom.index + external_bond = False + bonded_atoms = topdata._bondedAtom[aidx] + for bonded in bonded_atoms: + if bonded not in residue_indices: + external_bond = True + if isinstance(atom.element, str): + elem = atom.element + elif isinstance(atom.element, app.element.Element): + elem = atom.element.symbol + elif atom.element is None: + elem = "none" + graph.add_node( + aidx, name=atom.name, element=elem, external_bond=external_bond) + for bonded in bonded_atoms: + if bonded < aidx and bonded in residue_indices: + graph.add_edge(aidx, bonded, btype="bond") + # vsite + for nvsite, vsite in enumerate(topdata.vsites()): + vidx = vsite.vatom.index + aidx = [a.index for a in vsite.atoms] + for a in aidx: + graph.add_edge(vidx, a, btype="vsite") + return graph + + def match_all(self, topdata: DMFFTopology, templates): + residues = [r for r in topdata.residues()] + atoms = [a for a in topdata.atoms()] + for res in residues: + graph = self.generate_residue_graph(topdata, res) + all_fail = True + for ntemp, template in enumerate(templates): + is_matched, _, atype_dict = matchTemplate(graph, template) + if is_matched: + all_fail = False + # move attribs + for key in atype_dict.keys(): + for key2 in atype_dict[key]: + atoms[key].meta[key2] = atype_dict[key][key2] + if "type" in atoms[key].meta: + itype = atoms[key].meta["type"] + atoms[key].meta["class"] = self.atomtypes[itype][0] + break + if all_fail: + print(f"{res} is not patched.") + + def operate(self, topdata, **kwargs): + self.match_all(topdata, self.templates) + return topdata diff --git a/dmff/operators/templatevsite.py b/dmff/operators/templatevsite.py new file mode 100644 index 000000000..ef5edeb2f --- /dev/null +++ b/dmff/operators/templatevsite.py @@ -0,0 +1,99 @@ +from ..utils import DMFFException +from .base import BaseOperator +from ..api.xmlio import XMLIO +from ..api.vsite import VirtualSite +from ..api.vstools import insertVirtualSites +from ..api.topology import DMFFTopology +from ..api.graph import matchTemplate +from typing import List, Union +import openmm.app as app +import networkx as nx + + +class TemplateVSiteOperator(BaseOperator): + + def __init__(self, ffinfo): + self.atype_to_elem = {} + for atype in ffinfo["AtomTypes"]: + atype, elem = atype["name"], atype["element"] + self.atype_to_elem[atype] = elem + + self.residue_templates = [] + self.residue_infos = [] + for residue in ffinfo["Residues"]: + if len(residue["vsites"]) > 0: + self.residue_infos.append(residue) + self.residue_templates.append(self.template2graph(residue)) + + def template2graph(self, template): + graph = nx.Graph() + name2idx = {} + for na, atom in enumerate(template["particles"]): + name = atom["name"] + atype = atom["type"] + elem = self.atype_to_elem[atype] + if elem is None or elem == "EP": + continue + name2idx[name] = na + external_bond = name in template["externals"] + graph.add_node(atom["name"], element=elem, + external_bond=external_bond, **atom) + for bond in template["bonds"]: + a1, a2 = bond["atomName1"], bond["atomName2"] + graph.add_edge(a1, a2) + return graph + + def res2graph(self, topdata, residx): + atoms = [a for a in topdata.atoms()] + residue = [r for r in topdata.residues()][residx] + residue_indices = [a.index for a in residue.atoms()] + graph = nx.Graph() + # add nodes + for atom in residue_indices: + external_bond = False + bonded_atoms = topdata._bondedAtom[atom] + for bonded in bonded_atoms: + if bonded not in residue_indices: + external_bond = True + if isinstance(atoms[atom].element, str): + elem = atoms[atom].element + elif isinstance(atoms[atom].element, app.element.Element): + elem = atoms[atom].element.symbol + elif atoms[atom].element is None: + continue + graph.add_node( + atom, name=atoms[atom].name, element=elem, external_bond=external_bond) + for bonded in bonded_atoms: + if bonded < atom and bonded in residue_indices: + graph.add_edge(atom, bonded) + return graph + + def operate(self, topdata: DMFFTopology, **kwargs) -> DMFFTopology: + # get vslist + vslist = [] + atoms = [a for a in topdata.atoms()] + for residue in topdata.residues(): + rgraph = self.res2graph(topdata, residue.index) + for nt, tgraph in enumerate(self.residue_templates): + is_matched, matched_dict, atype_dict = matchTemplate( + rgraph, tgraph) + if is_matched: + name2idx_template = {} + for k, v in matched_dict.items(): + name2idx_template[v] = k + for vs in self.residue_infos[nt]["vsites"]: + vtype = vs["type"] + idx = int(vs["index"]) + if vtype == "average2": + a1i, a2i = int(vs["atom1"]), int(vs["atom2"]) + a1_name = self.residue_infos[nt]["particles"][a1i]["name"] + a2_name = self.residue_infos[nt]["particles"][a2i]["name"] + vs_name = self.residue_infos[nt]["particles"][idx]["name"] + a1_idx = name2idx_template[a1_name] + a2_idx = name2idx_template[a2_name] + a1, a2 = atoms[a1_idx], atoms[a2_idx] + w1, w2 = float(vs["weight1"]), float(vs["weight2"]) + vsite = VirtualSite(vtype, [a1, a2], [w1, w2]) + vslist.append(vsite) + break + return insertVirtualSites(topdata, vslist) diff --git a/dmff/optimize.py b/dmff/optimize.py index 3bf29aa83..f2bc67ffb 100644 --- a/dmff/optimize.py +++ b/dmff/optimize.py @@ -1,4 +1,6 @@ +import jax from jax import grad +import jax.numpy as jnp from typing import Optional import optax @@ -12,36 +14,55 @@ def init_fn(params): def update_fn(updates, state, params): if params is None: - raise ValueError(optax.base.NO_PARAMS_MSG) + raise ValueError(optax._src.base.NO_PARAMS_MSG) updates = jax.tree_map( - lambda p, u: jnp.where((p + u) < pmin, u + pmax - pmin, u), params, - updates) + lambda p, u: jnp.where((p + u) < pmin, u + pmax - pmin, u), params, updates + ) updates = jax.tree_map( - lambda p, u: jnp.where((p + u) > pmax, u - pmax + pmin, u), params, - updates) + lambda p, u: jnp.where((p + u) > pmax, u - pmax + pmin, u), params, updates + ) return updates, state return optax._src.base.GradientTransformation(init_fn, update_fn) -def genOptimizer(optimizer="adam", - learning_rate=1.0, - nonzero=True, - clip=10.0, - periodic=None, - transition_steps=1000, - decay_rate=0.99, - options: dict={}): - options["learning_rate"] = learning_rate +def genOptimizer( + optimizer="adam", + learning_rate=1.0, + nonzero=True, + clip=10.0, + periodic=None, + transition_steps=1000, + warmup_steps=0, + decay_rate=0.99, + options: dict = {}, +): + if decay_rate == 1.0 and warmup_steps == 0: + options["learning_rate"] = learning_rate # Exponential decay of the learning rate. - scheduler = optax.exponential_decay(init_value=learning_rate, - transition_steps=transition_steps, - decay_rate=decay_rate) + elif warmup_steps == 0: + scheduler = optax.exponential_decay( + init_value=learning_rate, + transition_steps=transition_steps, + decay_rate=decay_rate, + ) + options["learning_rate"] = scheduler + else: + scheduler = optax.warmup_exponential_decay_schedule( + init_value=0, + peak_value=learning_rate, + warmup_steps=warmup_steps, + transition_steps=transition_steps, + decay_rate=decay_rate, + ) + options["learning_rate"] = scheduler # Combining gradient transforms using `optax.chain`. if optimizer == "sgd": chain = [optax.sgd(**options), optax.clip(clip)] + elif optimizer == "nesterov": + chain = [optax.sgd(nesterov=True, **options), optax.clip(clip)] elif optimizer == "adam": chain = [optax.adam(**options), optax.clip(clip)] elif optimizer == "adagrad": @@ -120,4 +141,4 @@ def __delitem__(self, key): del self.transforms[key] def finalize(self): - label2trans_iter(self.labels, self.mask, self.transforms) \ No newline at end of file + label2trans_iter(self.labels, self.mask, self.transforms) diff --git a/dmff/settings.py b/dmff/settings.py index a02175d26..a880e8c52 100644 --- a/dmff/settings.py +++ b/dmff/settings.py @@ -1,6 +1,6 @@ from jax.config import config -PRECISION = 'float' # 'double' +PRECISION = 'double' # 'double' DO_JIT = True @@ -16,4 +16,4 @@ def update_jax_precision(precision): update_jax_precision(PRECISION) -__all__ = ['PRECISION', 'DO_JIT', 'DEBUG', "update_jax_precision"] \ No newline at end of file +__all__ = ['PRECISION', 'DO_JIT', 'DEBUG', "update_jax_precision"] diff --git a/dmff/sgnn/gnn.py b/dmff/sgnn/gnn.py index 8835fe50c..d05b848be 100755 --- a/dmff/sgnn/gnn.py +++ b/dmff/sgnn/gnn.py @@ -8,11 +8,44 @@ import jax.nn.initializers import jax.numpy as jnp import numpy as np -from dmff.sgnn.graph import MAX_VALENCE, TopGraph, from_pdb -from dmff.utils import jit_condition +from .graph import MAX_VALENCE, TopGraph, from_pdb +from ..utils import jit_condition from jax import value_and_grad, vmap +def prm_transform_f2i(params, n_layers): + p = {} + for k in params: + p[k] = jnp.array(params[k]) + for i_nn in [0, 1]: + nn_name = 'fc%d' % i_nn + p['%s.weight' % nn_name] = [] + p['%s.bias' % nn_name] = [] + for i_layer in range(n_layers[i_nn]): + k_w = '%s.%d.weight' % (nn_name, i_layer) + k_b = '%s.%d.bias' % (nn_name, i_layer) + p['%s.weight' % nn_name].append(p.pop(k_w, None)) + p['%s.bias' % nn_name].append(p.pop(k_b, None)) + return p + + +def prm_transform_i2f(params, n_layers): + # transform format + p = {} + p['w'] = params['w'] + p['fc_final.weight'] = params['fc_final.weight'] + p['fc_final.bias'] = params['fc_final.bias'] + for i_nn in range(2): + nn_name = 'fc%d' % i_nn + for i_layer in range(n_layers[i_nn]): + p[nn_name + '.%d.weight' % + i_layer] = params[nn_name + '.weight'][i_layer] + p[nn_name + + '.%d.bias' % i_layer] = params[nn_name + + '.bias'][i_layer] + return p + + class MolGNNForce: def __init__(self, @@ -146,6 +179,7 @@ def message_pass(f_in, nb_connect, w, nn): return + def load_params(self, ifn): """ Load the network parameters from saved file @@ -160,32 +194,12 @@ def load_params(self, ifn): for k in params.keys(): params[k] = jnp.array(params[k]) # transform format - keys = list(params.keys()) - for i_nn in [0, 1]: - nn_name = 'fc%d' % i_nn - keys_weight = [] - keys_bias = [] - for k in keys: - if re.search(nn_name + '.[0-9]+.weight', k) is not None: - keys_weight.append(k) - elif re.search(nn_name + '.[0-9]+.bias', k) is not None: - keys_bias.append(k) - if len(keys_weight) != self.n_layers[i_nn] or len( - keys_bias) != self.n_layers[i_nn]: - sys.exit( - 'Error while loading GNN params, inconsistent inputs with the GNN structure, check your input!' - ) - params['%s.weight' % nn_name] = [] - params['%s.bias' % nn_name] = [] - for i_layer in range(self.n_layers[i_nn]): - k_w = '%s.%d.weight' % (nn_name, i_layer) - k_b = '%s.%d.bias' % (nn_name, i_layer) - params['%s.weight' % nn_name].append(params.pop(k_w, None)) - params['%s.bias' % nn_name].append(params.pop(k_b, None)) - # params[nn_name] - self.params = params + self.params = prm_transform_f2i(params, self.n_layers) return + + + def save_params(self, ofn): """ Save the network parameters to a pickle file @@ -196,18 +210,8 @@ def save_params(self, ofn): """ # transform format - params = {} - params['w'] = self.params['w'] - params['fc_final.weight'] = self.params['fc_final.weight'] - params['fc_final.bias'] = self.params['fc_final.bias'] - for i_nn in range(2): - nn_name = 'fc%d' % i_nn - for i_layer in range(self.n_layers[i_nn]): - params[nn_name + '.%d.weight' % - i_layer] = self.params[nn_name + '.weight'][i_layer] - params[nn_name + - '.%d.bias' % i_layer] = self.params[nn_name + - '.bias'][i_layer] + params = prm_transform_i2f(self.params, self.n_layers) with open(ofn, 'wb') as ofile: pickle.dump(params, ofile) return + diff --git a/dmff/sgnn/graph.py b/dmff/sgnn/graph.py index d0dc541e4..a4a6da5e9 100755 --- a/dmff/sgnn/graph.py +++ b/dmff/sgnn/graph.py @@ -1,14 +1,17 @@ -#!/usr/bin/env python import sys from functools import partial from itertools import permutations, product import jax.numpy as jnp -import MDAnalysis as mda +# import MDAnalysis as mda +try: + import mdtraj as md +except ImportError: + pass import numpy as np -from dmff.admp.pairwise import distribute_scalar, distribute_v3 -from dmff.admp.spatial import pbc_shift -from dmff.utils import jit_condition +from ..admp.pairwise import distribute_scalar, distribute_v3 +from ..admp.spatial import pbc_shift +from ..utils import jit_condition from jax import vmap ''' @@ -1168,7 +1171,7 @@ def sort_by_order(ilist, map_order): return np.array(ilist)[np.argsort([map_order[i] for i in ilist])] -def from_pdb(pdb): +def from_pdb_mda(pdb): ''' Build the TopGraph object from a pdb file. The pdb file has to contain all bonds within the file @@ -1193,6 +1196,45 @@ def from_pdb(pdb): return TopGraph(list_atom_elems, bonds, positions=positions, box=box) +def from_pdb(pdb): + ''' + Build the TopGraph object from a pdb file. + The pdb file has to contain all bonds within the file + This function currently relies on MDAnalysis + + Parameters + ---------- + pdb: string + the input pdb file name + ''' + mol = md.load(pdb) + bonds = [] + for bond in mol.top.bonds: + bonds.append(np.sort(np.array((bond.atom1.index, bond.atom2.index)))) + bonds = np.array(bonds) + list_atom_elems = np.array([a.element.symbol for a in mol.top.atoms]) + positions = jnp.array(mol.xyz[0] * 10) + if mol.unitcell_vectors is None: + box = None + else: + box = jnp.array(mol.unitcell_vectors)[0] * 10 + return TopGraph(list_atom_elems, bonds, positions=positions, box=box) + + +# def from_dmff_top(topdata): +# ''' +# Build the sGNN TopGraph object from a DMFFTopology object + +# Parameters +# ---------- +# topdata: DMFFTopology data +# ''' +# list_atom_elems = np.array([a.element for a in topdata.atoms()]) +# bonds = np.array([np.sort([b.atom1.index, b.atom2.index]) for b in topdata.bonds()]) +# n_atoms = len(list_atom_elems) +# return TopGraph(list_atom_elems, bonds, positions=jnp.zeros((n_atoms, 3)), box=jnp.eye(3)*10) + + def validation(): G = from_pdb('peg4.pdb') nn = 1 diff --git a/dmff/utils.py b/dmff/utils.py index bbeff8164..544379cf4 100644 --- a/dmff/utils.py +++ b/dmff/utils.py @@ -1,12 +1,57 @@ from jax import jit, vmap, tree_util import jax.numpy as jnp -from dmff.settings import DO_JIT +from .settings import DO_JIT class DMFFException(BaseException): pass +_standardResidues = [ + "ALA", + "ASN", + "CYS", + "GLU", + "HIS", + "LEU", + "MET", + "PRO", + "THR", + "TYR", + "ARG", + "ASP", + "GLN", + "GLY", + "ILE", + "LYS", + "PHE", + "SER", + "TRP", + "VAL", + "A", + "G", + "C", + "U", + "I", + "DA", + "DG", + "DC", + "DT", + "DI", + "HOH", +] + + +def dict_to_jnp(inp: dict): + newdict = {} + for key in inp.keys(): + if isinstance(inp[key], dict): + newdict[key] = dict_to_jnp(inp[key]) + else: + newdict[key] = jnp.array(inp[key]) + return newdict + + def jit_condition(*args, **kwargs): def jit_deco(func): if DO_JIT: @@ -21,8 +66,9 @@ def jit_deco(func): @vmap def regularize_pairs(p): dp = p[1] - p[0] - dp = jnp.piecewise(dp, (dp <= 0, dp > 0), - (lambda x: jnp.array(1), lambda x: jnp.array(0))) + dp = jnp.piecewise( + dp, (dp <= 0, dp > 0), (lambda x: jnp.array(1), lambda x: jnp.array(0)) + ) dp_vec = jnp.array([dp, 2 * dp]) p = p - dp_vec return p @@ -31,20 +77,26 @@ def regularize_pairs(p): @jit_condition() @vmap def pair_buffer_scales(p): - return jnp.piecewise(p[0] - p[1], (p[0] - p[1] < 0, p[0] - p[1] >= 0), - (lambda x: jnp.array(1), lambda x: jnp.array(0))) + return jnp.piecewise( + p[0] - p[1], + (p[0] - p[1] < 0, p[0] - p[1] >= 0), + (lambda x: jnp.array(1), lambda x: jnp.array(0)), + ) def isinstance_jnp(*args): def _check(arg): if not isinstance(arg, jnp.ndarray): - raise TypeError('all arguments must be jnp.array, \ - otherwise they won\'t be able to take derivatives \ - on these variables from outside of potential_fn anyway') + raise TypeError( + "all arguments must be jnp.array, \ + otherwise they won't be able to take derivatives \ + on these variables from outside of potential_fn anyway" + ) for arg in args: tree_util.tree_map(lambda arg: _check(arg), args[0]) + def convertStr2Float(string: str): """ Convert string to float. If failed, return the string itself. @@ -54,8 +106,9 @@ def convertStr2Float(string: str): except ValueError as e: return string + def findItemInList(item, targetList): for ntgt, tgt in enumerate(targetList): if item == tgt: return ntgt - return -1 \ No newline at end of file + return -1 diff --git a/docs/dev_guide/arch.md b/docs/dev_guide/arch.md deleted file mode 100644 index d31543c90..000000000 --- a/docs/dev_guide/arch.md +++ /dev/null @@ -1,504 +0,0 @@ -# 2. Software architecture - -![arch](../assets/arch.svg) - -The overall architechture of DMFF can be divided into two parts: 1. parser & typing and 2. calculators. -We usually refer to the former as the *frontend* and the latter as the *backend* for ease of description. - -DMFF introduces different forms of force fields in a modular way. For each force field form -(in OpenMM, each form is also called a `Force`), there is a frontend module and a backend module. -The frontend module is responsible for input file parsing, molecular topology construction, atom typification, -and dispatching the forcefield parameters into the atomic parameter; The backend module is the calculation kernel, -which calculates the energy & force of the system, using particle positions and atomic parameters as inputs. - -In the design of the frontend modules, DMFF reuses the frontend parser from OpenMM for topology analysis. -The core class in frontend is the `Generator` class, which should be defined for each force field form. -All frontend `Generators` are currently put in `api.py` and are called by the top-level `Hamiltonian` class. - -The backend module is usually an automatically differentiable calculator built with Jax. - -The structures of the frontend and the backend modules will be introduced in detail in below. - -## 2.1 Frontend - -> NOTE: The front-end API has been re implemented after version 0.1.2 and is no longer dependent on openmm. It completely incompatible with previous versions. Please refactor your generator according to the instruction below. - -Frontend modules are stored in `api.py`. `Hamiltonian` class is the top-level class exposed to users by DMFF. -`Hamiltonian` class reads the path of the XML file, parses the XML file, and calls different frontend modules according to the `*Force` tags found in XML. It also provides a convenient interface to let all the generators extract, overwrite, render parameters. - -When users use DMFF, the only thing they need to do is to initilize the the `Hamiltonian` class. -In this process, `Hamiltonian` will automatically parse and initialize the corresponding potential function according to the tags in XML. - -### 2.1.1 Hamiltonian Class - -The `Hamiltonian` class is the top-level frontend module, which inherits the -[forcefield class](https://github.com/openmm/openmm/blob/master/wrappers/python/openmm/app/forcefield.py) in OpenMM. -It is responsible for parsing the XML force field files and generating potential functions to calculate system energy -with the given topology information. First, the usage of the `Hamiltonian` class is given: - - -```python -H = Hamiltonian('forcefield.xml') -app.Topology.loadBondDefinitions("residues.xml") -pdb = app.PDBFile("waterbox_31ang.pdb") -rc = 4.0 -# generator stores all force field parameters -generators = H.getGenerators() -disp_generator = generators[0] -pme_generator = generators[1] - -potentials = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.angstrom) -# pot_fn is the actual energy calculator -pot_disp = potentials.dmff_potentials['ADMPDispForce'] -pot_pme = potentials.dmff_potentials['ADMPPmeForce'] -``` - -`Hamiltonian` class performs the following operations during instantiation: - -* read Residue tag in XML, generate Residue template; -* read AtomTypes tag, store AtomType of each atom; -* for each Force tag, call corresponding `parseElement` method in `app.forcefield.parser` to parse itself, and register `generator`. - - -### 2.1.2 Generator Class - - -The generator class is in charge of input file analysis, molecular topology construction, atom classification, -and expanding force field parameters to atomic parameters. It is a middle layerthat links `Hamiltonian` with the backend. Here is an example of the `HarmonicBondForce` generator, you can find it in the `api.py`. - -In many cases, the parameters of the force fields are interdependent, so it is not enough for each generator to store only the parameters it needs. In the new version of frontend api, the constructor of a generator needs to include the following four members: - -```xml - - -<\HarmonicBondForce> -``` - -```python -class HarmonicBondJaxGenerator: - def __init__(self, ff:Hamiltonian): - self.name = "HarmonicBondForce" - self.ff:Hamiltonian = ff - self.fftree:ForcefieldTree = ff.fftree - self.paramtree:Dict = ff.paramtree -``` - -The name must correspond to the tag to be parsed in the XML file. In the snippet, the name of `HarmonicBondJaxGenerator` is `HarmonicBondForce` to parse the tag in the XML file and store those parameters. The `ff` is the `Hamiltonian` class, which is the top-level class of DMFF and manages all the generators. The `fftree` is the `ForcefieldTree` class, which is the tree-like storage of ALL force field parameters. The `paramtree` is the `Dict` class, and it stores differentiable parameters of this generator. - -The generator also should implement the dual methods, `extract` and `overwrite`. `extract` method extracts the paramters needed by the generator from the `fftree` and `overwrite` method overwrites(updates) the `fftree` by using the parameters in the `paramtree`. This process will be completed using the API of `ForcefieldTree`, which will be described later. In this example, we need to get `length` and `k` from XML file and update `fftree`: - -```python - def extract(self): - """ - extract forcefield paramters from ForcefieldTree. - """ - lengths = self.fftree.get_attribs(f"{self.name}/Bond", "length") - ks = self.fftree.get_attribs(f"{self.name}/Bond", "k") - self.paramtree[self.name] = {} - self.paramtree[self.name]["length"] = jnp.array(lengths) - self.paramtree[self.name]["k"] = jnp.array(ks) - - def overwrite(self): - """ - update parameters in the fftree by using paramtree of this generator. - """ - self.fftree.set_attrib(f"{self.name}/Bond", "length", - self.paramtree[self.name]["length"]) - self.fftree.set_attrib(f"{self.name}/Bond", "k", - self.paramtree[self.name]["k"]) -``` -In this case, you can use the `get_attribs` method to get the parameters from the `ForcefieldTree`, it will return a list of parameters, the omitted parameters will be filled with `None`. You shoud use `jnp.array` to convert it to a jax numpy array after handling `None` elements appropriately. -The parameters extract from `fftree` can be classified into two categories. The first category is differentiable parameters -(such as `length` and `k`), which may be subject to further optimization. By design, these parameters should be fed into the potential -function as explicit input arguments. Therefore, these parameters should be gathered in a `dict` object named `params`, which is then -saved as an attribute of the `generator`. The second category is non-differentiable variables (such as `type1` and `type2`): it is -unlikely that you are going to optimize them, so they are also called *static* variables. These variables will be used by the potential -function implicitly and not be exposed to the users. Therefore, you may save them in `generator` at will, as long as they can be -accessed by the potential function later. - -After the calculation and optimization, we need to save the optimized parameters as XML format files for the next calculation. This serialization process is implemented through the `overwrite` method. In the `ForcefieldTree` class at the `fftree.py`, we have implemented the `set_attrib` method to set the attribute of the XML node. - -All the parameters needed by the generator are stored in the `paramtree`, and `createForce` method should be implemented to use the parameters to initialize the backend calculator. -`createForce(self, system, data, nonbondedMethod, *args)` pre-process the force field parameters from XML, and use them to initialize -the backend calculators, then wrap the calculators using a potential function and returns it. -`System` and `data` are given by OpenMM's forcefield class, which store topology/atomType information (for now you need to use -debug tool to access). Bear in mind that we should not break the derivative chain from the XML raw data (force field parameters) -to the per-atom properties (atomic parameters). So we should do the parameter dispatch (i.e., dispatching force field parameters to -each atom) within the returned potential function. Therefore, in `createForce`, we usually only construct the atomtype index map using -the information in `data`, but do not dispatch parameters! The atomtype map will be used in potential function implicitly, to dispatch -parameters. -It also provides the interface to wrap the backend calculators into potential functions, which are eventually returned to the users. - -Here is an example: - -```python -map_atomtype = np.zeros(n_atoms, dtype=int) - -for i in range(n_atoms): - atype = data.atomType[data.atoms[i]] - map_atomtype[i] = np.where(self.types == atype)[0][0] -``` - -Finally, we need to bind the calculator's compute function to `self._jaxPotential`, which is the final potential function (`potential_fn`) -returned to users: - -```python - -def potential_fn(positions, box, pairs, params): - isinstance_jnp(positions, box, params) - return bforce.get_energy( - positions, box, pairs, params["k"], params["length"] - ) - -self._jaxPotential = potential_fn -``` - -The `potential_fn` function only takes `(positions, box, pairs, params)` as explicit input arguments. All these arguments except -`pairs` (neighbor list) should be differentiable. A helper function `isinstance_jnp` in `utils.py` can check take-in arguments whether they are `jnp.array`. Non differentiable parameters are passed into it by closure (see code convention section). -Meanwhile, if the generator needs to initialize multiple calculators (e.g. `NonBondedJaxGenerator` will call both `LJ` and `PME` calculators), -`potential_fn` should return the summation of the results of all calculators. - -Here is a pseudo-code of the frontend module, demonstrating basic API and method - -```python - -class SimpleJAXGenerator: - - def __init__(self, ff:Hamiltonian): - self.name = "SimpleJAXGenerator" - self.ff:Hamiltonian = ff - self.fftree:ForcefieldTree = ff.fftree - self.paramtree:Dict = ff.paramtree - - def extract(self): - self.paramtree[self.name] = {} - self.paramtree[self.name]["a"] = jnp.array(self.fftree.get_attrib(f"{self.name}/tag", "a")) - self.paramtree[self.name]["b"] = jnp.array(self.fftree.get_attrib(f"{self.name}/tag", "b")) - - def overwrite(self): - - self.fftree.set_attrib(f"{self.name}/tag", "a", self.paramtree[self.name]["a"]) - self.fftree.set_attrib(f"{self.name}/tag", "b", self.paramtree[self.name]["b"]) - - def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): - generate_constraints_if_needed - # Create JAX energy function from system information - create_jax_potential - self._jaxPotential = jaxPotential - - def getJaxPotential(self, data, **args): - return self._jaxPotential - -jaxGenerators["HarmonicBondForce"] = HarmonicBondJaxGenerator - -class Hamiltonian(app.ForceField): - - def __init__(self, **args): - super(app.ForceField, self).__init__(self, **args) - self._potentials = [] - - def createPotential(self, topology, **args): - system = self.createSystem(topology, **args) - load_constraints_from_system_if_needed - # create potentials - potObj = Potential() - potObj.addOmmSystem(system) - for generator in self._jaxGenerators: - if len(jaxForces) > 0 and generator.name not in jaxForces: - continue - try: - potentialImpl = generator.getJaxPotential() - potObj.addDmffPotential(generator.name, potentialImpl) - except Exception as e: - print(e) - pass - - return potObj -``` - -And here is a HarmonicBond potential implement: - -```python -class HarmonicBondJaxGenerator: - def __init__(self, ff:Hamiltonian): - self.name = "HarmonicBondForce" - self.ff:Hamiltonian = ff - self.fftree:ForcefieldTree = ff.fftree - self.paramtree:Dict = ff.paramtree - - def extract(self): - """ - extract forcefield paramters from ForcefieldTree. - """ - lengths = self.fftree.get_attribs(f"{self.name}/Bond", "length") - # get_attribs will return a list if attribute name is a simple string - # e.g. if you provide 'length' then return [1.0, 2.0, 3.0]; - # if attribute name is a list, e.g. ['length', 'k'] - # then return [[1.0, 1.0], [2.0, 2.0], [3.0, 3.0]] List[List[value1, value2]] - ks = self.fftree.get_attribs(f"{self.name}/Bond", "k") - self.paramtree[self.name] = {} - self.paramtree[self.name]["length"] = jnp.array(lengths) - self.paramtree[self.name]["k"] = jnp.array(ks) - - def overwrite(self): - """ - update parameters in the fftree by using paramtree of this generator. - """ - self.fftree.set_attrib(f"{self.name}/Bond", "length", - self.paramtree[self.name]["length"]) - self.fftree.set_attrib(f"{self.name}/Bond", "k", - self.paramtree[self.name]["k"]) - - def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): - """ - This method will create a potential calculation kernel. It usually should do the following: - - 1. Match the corresponding bond parameters according to the atomic types at both ends of each bond. - - 2. Create a potential calculation kernel, and pass those mapped parameters to the kernel. - - 3. assign the jax potential to the _jaxPotential. - - Args: - Those args are the same as those in createSystem. - """ - - # initialize typemap - matcher = TypeMatcher(self.fftree, "HarmonicBondForce/Bond") - - map_atom1, map_atom2, map_param = [], [], [] - n_bonds = len(data.bonds) - # build map - for i in range(n_bonds): - idx1 = data.bonds[i].atom1 - idx2 = data.bonds[i].atom2 - type1 = data.atomType[data.atoms[idx1]] - type2 = data.atomType[data.atoms[idx2]] - ifFound, ifForward, nfunc = matcher.matchGeneral([type1, type2]) - if not ifFound: - raise BaseException( - f"No parameter for bond ({idx1},{type1}) - ({idx2},{type2})" - ) - map_atom1.append(idx1) - map_atom2.append(idx2) - map_param.append(nfunc) - map_atom1 = np.array(map_atom1, dtype=int) - map_atom2 = np.array(map_atom2, dtype=int) - map_param = np.array(map_param, dtype=int) - - bforce = HarmonicBondJaxForce(map_atom1, map_atom2, map_param) - - def potential_fn(positions, box, pairs, params): - return bforce.get_energy(positions, box, pairs, - params[self.name]["k"], - params[self.name]["length"]) - - self._jaxPotential = potential_fn - # self._top_data = data - - def getJaxPotential(self): - return self._jaxPotential - - -jaxGenerators["HarmonicBondForce"] = HarmonicBondJaxGenerator -``` - -### 2.1.3 fftree - -We organize the forcefield parameters in a ForcefieldTree. This class provides four method to read and write the parameters in XML file. Once you need to develop a new generator in DMFF, the only way you access and modify the parameters is through the ForcefieldTree. - -```python -class ForcefieldTree(Node): - def __init__(self, tag, **attrs): - - super().__init__(tag, **attrs) - - def get_nodes(self, parser:str)->List[Node]: - """ - get all nodes of a certain path - - Examples - -------- - >>> fftree.get_nodes('HarmonicBondForce/Bond') - >>> [, , ...] - - Parameters - ---------- - parser : str - a path to locate nodes - - Returns - ------- - List[Node] - a list of Node - """ - steps = parser.split("/") - val = self - for nstep, step in enumerate(steps): - name, index = step, -1 - if "[" in step: - name, index = step.split("[") - index = int(index[:-1]) - val = [c for c in val.children if c.tag == name] - if index >= 0: - val = val[index] - elif nstep < len(steps) - 1: - val = val[0] - return val - - def get_attribs(self, parser:str, attrname:Union[str, List[str]])->List[Union[value, List[value]]]: - """ - get all values of attributes of nodes which nodes matching certain path - - Examples: - --------- - >>> fftree.get_attribs('HarmonicBondForce/Bond', 'k') - >>> [2.0, 2.0, 2.0, 2.0, 2.0, ...] - >>> fftree.get_attribs('HarmonicBondForce/Bond', ['k', 'r0']) - >>> [[2.0, 1.53], [2.0, 1.53], ...] - - Parameters - ---------- - parser : str - a path to locate nodes - attrname : _type_ - attribute name or a list of attribute names of a node - - Returns - ------- - List[Union[float, str]] - a list of values of attributes - """ - sel = self.get_nodes(parser) - if isinstance(attrname, list): - ret = [] - for item in sel: - vals = [convertStr2Float(item.attrs[an]) if an in item.attrs else None for an in attrname] - ret.append(vals) - return ret - else: - attrs = [convertStr2Float(n.attrs[attrname]) if attrname in n.attrs else None for n in sel] - return attrs - - def set_node(self, parser:str, values:List[Dict[str, value]])->None: - """ - set attributes of nodes which nodes matching certain path - - Parameters - ---------- - parser : str - path to locate nodes - values : List[Dict[str, value]] - a list of Dict[str, value], where value is any type can be convert to str of a number. - - Examples - -------- - >>> fftree.set_node('HarmonicBondForce/Bond', - [{'k': 2.0, 'r0': 1.53}, - {'k': 2.0, 'r0': 1.53}]) - """ - nodes = self.get_nodes(parser) - for nit in range(len(values)): - for key in values[nit]: - nodes[nit].attrs[key] = f"{values[nit][key]}" - - def set_attrib(self, parser:str, attrname:str, values:Union[value, List[value]])->None: - """ - set ONE Attribute of nodes which nodes matching certain path - - Parameters - ---------- - parser : str - path to locate nodes - attrname : str - attribute name - values : Union[float, str, List[float, str]] - attribute value or a list of attribute values of a node - - Examples - -------- - >>> fftree.set_attrib('HarmonicBondForce/Bond', 'k', 2.0) - >>> fftree.set_attrib('HarmonicBondForce/Bond', 'k', [2.0, 2.0, 2.0, 2.0, 2.0]) - - """ - if len(values) == 0: - valdicts = [{attrname: values}] - else: - valdicts = [{attrname: i} for i in values] - self.set_node(parser, valdicts) -``` - -The above source code gives clear type comments on how to use `fftree`. - -## 2.2 Backend - -### 2.2.1 Force Class - -Force class is the backend module that wraps the calculator function. -It does not rely on OpenMM and can be very flexible. For instance, -the Force class of harmonic bond potential is shown below as an example. - -```python -def distance(p1v, p2v): - return jnp.sqrt(jnp.sum(jnp.power(p1v - p2v, 2), axis=1)) - -class HarmonicBondJaxForce: - def __init__(self, p1idx, p2idx, prmidx): - self.p1idx = p1idx - self.p2idx = p2idx - self.prmidx = prmidx - self.refresh_calculators() - - def generate_get_energy(self): - def get_energy(positions, box, pairs, k, length): - - # NOTE: pairs array from jax-md has invalid index - pairs = regularize_pairs(pairs) - buffer_scales = pair_buffer_scales(pairs) - - p1 = positions[self.p1idx] - p2 = positions[self.p2idx] - kprm = k[self.prmidx] - b0prm = length[self.prmidx] - dist = distance(p1, p2) - return jnp.sum(0.5 * kprm * jnp.power(dist - b0prm, 2) * buffer_scales) # mask invalid pairs - - return get_energy - - def update_env(self, attr, val): - """ - Update the environment of the calculator - """ - setattr(self, attr, val) - self.refresh_calculators() - - def refresh_calculators(self): - """ - refresh the energy and force calculators according to the current environment - """ - self.get_energy = self.generate_get_energy() - self.get_forces = value_and_grad(self.get_energy) -``` - -The design logic for the `Force` class is: it saves the *static* variables inside the class as -the *environment* of the real calculators. Examples of the static environment variables include: -the $\kappa$ and $K_{max}$ in PME calculators, the covalent_map in real-space calculators etc. -For a typical `Force` class, one needs to define the following methods: - -* `__init__`: The initializer, saves all the *static* variables. -* `update_env(self, attr, val)`: updates the saved *static* variables, and refresh the calculators -* `generate_get_energy(self)`: generate a potential calculator named `get_energy` using the current - environment. -* `refresh_calculators(self)`: refresh all calculators if environment is updated. - -In ADMP, all backend calculators only take atomic parameters as input, so they can be invoked -independently in hybrid ML/force field models. The dispatch of force field parameters is done -in the `potential_fn` function defined in the frontend. - -Please note that the `pairs` array accepted by `get_energy` potential compute kernel is **directly** construct from `jax-md`'s neighborList. -To keep the shape of array neat and tidy, prevent JIT the code every time `get_genergy` is called, the `pairs` array is padded. It has -some invalid index in the padding area, say, those `pair_index==len(positions)` is invalid padding pair index. That means there are many -`[len(positions), len(positions)]` pairs in the `pairs` array, resulting in the distance equl to 0. The solution is we first call `regularize_pairs` -helper function to replace `[len(positions), len(positions)]` with `[len(positions)-2, len(positions)-1]`, so the distance is always non-zeros. Due -to we compute additional invalid pairs, we need to compute a `buffer_scales` to mask out those invalid pairs. We need to use `pair_buffer_scales(pairs)` -to get the mask, and apply it in the pair energy array before we sum it up. diff --git a/docs/dev_guide/generator.ipynb b/docs/dev_guide/generator.ipynb new file mode 100644 index 000000000..559ee97cf --- /dev/null +++ b/docs/dev_guide/generator.ipynb @@ -0,0 +1 @@ +{"metadata":{"language_info":{"name":"python","version":"3.10.6","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kernelspec":{"name":"python3","display_name":"Python 3 (ipykernel)","language":"python"}},"nbformat_minor":5,"nbformat":4,"cells":[{"cell_type":"markdown","source":"## Environment Setup\n\nRetrieve DMFF from GitHub and switch to the desired branch, then proceed with the installation.","metadata":{},"id":"8ed5396a-d15b-4bdd-8b86-bafc9a2b4c1c"},{"cell_type":"code","source":"! rm -rf DMFF\n! rm -rf /opt/mamba/lib/python3.10/site-packages/dmff*\n! git clone https://github.com/deepmodeling/DMFF.git\n! git config --global --add safe.directory `pwd`/DMFF\n! cd DMFF && git checkout wangxy/v1.0.0-devel && pip install .","metadata":{"trusted":true},"execution_count":17,"outputs":[{"name":"stdout","text":"Cloning into 'DMFF'...\nremote: Enumerating objects: 3507, done.\u001b[K\nremote: Counting objects: 100% (956/956), done.\u001b[K\nremote: Compressing objects: 100% (340/340), done.\u001b[K\nremote: Total 3507 (delta 633), reused 912 (delta 608), pack-reused 2551\u001b[K\nReceiving objects: 100% (3507/3507), 18.81 MiB | 2.17 MiB/s, done.\nResolving deltas: 100% (2243/2243), done.\nUpdating files: 100% (273/273), done.\nBranch 'wangxy/v1.0.0-devel' set up to track remote branch 'wangxy/v1.0.0-devel' from 'origin'.\nSwitched to a new branch 'wangxy/v1.0.0-devel'\nLooking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple\nProcessing /data/DMFF\n Preparing metadata (setup.py) ... \u001b[?25ldone\n\u001b[?25hRequirement already satisfied: numpy>=1.18 in /opt/mamba/lib/python3.10/site-packages (from dmff==0.2.1.dev222+g8efbe63) (1.23.4)\nRequirement already satisfied: openmm>=7.6.0 in /opt/mamba/lib/python3.10/site-packages (from dmff==0.2.1.dev222+g8efbe63) (7.7.0)\nRequirement already satisfied: freud-analysis in /opt/mamba/lib/python3.10/site-packages/freud_analysis-2.11.0-py3.10-linux-x86_64.egg (from dmff==0.2.1.dev222+g8efbe63) (2.11.0)\nRequirement already satisfied: rowan>=1.2.1 in /opt/mamba/lib/python3.10/site-packages/rowan-1.3.0.post1-py3.10.egg (from freud-analysis->dmff==0.2.1.dev222+g8efbe63) (1.3.0.post1)\nRequirement already satisfied: scipy>=1.1 in /opt/mamba/lib/python3.10/site-packages (from freud-analysis->dmff==0.2.1.dev222+g8efbe63) (1.9.3)\nBuilding wheels for collected packages: dmff\n Building wheel for dmff (setup.py) ... \u001b[?25ldone\n\u001b[?25h Created wheel for dmff: filename=dmff-0.2.1.dev222+g8efbe63-py3-none-any.whl size=93258 sha256=f20f32e539489412cad4c9a61a0e90b4c18f0c361fba252181ecc0ca6a337222\n Stored in directory: /tmp/pip-ephem-wheel-cache-cjaq0s7q/wheels/f3/08/c8/63a66e9272163ceeb3675eda2e65e58a3e3c8a96296799182d\nSuccessfully built dmff\nInstalling collected packages: dmff\nSuccessfully installed dmff-0.2.1.dev222+g8efbe63\n\u001b[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv\u001b[0m\u001b[33m\n\u001b[0m","output_type":"stream"}],"id":"cb612446-c7f3-4c27-9733-315c22700387"},{"cell_type":"markdown","source":"Install the required libraries; this step is time-consuming, so please be patient.","metadata":{},"id":"54a8934f-d0f8-47be-97b7-d896fdc4335e"},{"cell_type":"code","source":"! mamba install openmm=7.7.0 rdkit -c conda-forge -y\n! pip install parmed mdtraj pymbar networkx","metadata":{"collapsed":true,"jupyter":{"outputs_hidden":true},"trusted":true},"execution_count":3,"outputs":[{"name":"stdout","text":"\n __ __ __ __\n / \\ / \\ / \\ / \\\n / \\/ \\/ \\/ \\\n███████████████/ /██/ /██/ /██/ /████████████████████████\n / / \\ / \\ / \\ / \\ \\____\n / / \\_/ \\_/ \\_/ \\ o \\__,\n / _/ \\_____/ `\n |/\n ███╗ ███╗ █████╗ ███╗ ███╗██████╗ █████╗\n ████╗ ████║██╔══██╗████╗ ████║██╔══██╗██╔══██╗\n ██╔████╔██║███████║██╔████╔██║██████╔╝███████║\n ██║╚██╔╝██║██╔══██║██║╚██╔╝██║██╔══██╗██╔══██║\n ██║ ╚═╝ ██║██║ ██║██║ ╚═╝ ██║██████╔╝██║ ██║\n ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚═════╝ ╚═╝ ╚═╝\n\n mamba (0.27.0) supported by @QuantStack\n\n GitHub: https://github.com/mamba-org/mamba\n Twitter: https://twitter.com/QuantStack\n\n█████████████████████████████████████████████████████████████\n\n\nLooking for: ['openmm=7.7.0', 'rdkit']\n\n\u001b[?25l\u001b[2K\u001b[0G[+] 0.0s\n\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.1s\nconda-forge/linux-64 \u001b[90m━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.1s\nconda-forge/noarch \u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.1s\npkgs/main/linux-64 \u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.1s\npkgs/main/noarch \u001b[90m━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.1s\npkgs/r/linux-64 \u001b[90m━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.2s\nconda-forge/linux-64 \u001b[90m━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.2s\nconda-forge/noarch \u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.2s\npkgs/main/linux-64 \u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.2s\npkgs/main/noarch \u001b[90m━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.2s\npkgs/r/linux-64 \u001b[90m━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.3s\nconda-forge/linux-64 \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.3s\nconda-forge/noarch \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.3s\npkgs/main/linux-64 \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.3s\npkgs/main/noarch \u001b[90m━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.3s\npkgs/r/linux-64 \u001b[90m━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.4s\nconda-forge/linux-64 \u001b[90m━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.4s\nconda-forge/noarch \u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.4s\npkgs/main/linux-64 \u001b[33m━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.4s\npkgs/main/noarch \u001b[90m━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.4s\npkgs/r/linux-64 \u001b[90m━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.5s\nconda-forge/linux-64 \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.5s\nconda-forge/noarch \u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.5s\npkgs/main/linux-64 \u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.5s\npkgs/main/noarch \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.5s\npkgs/r/linux-64 \u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.6s\nconda-forge/linux-64 \u001b[90m━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.6s\nconda-forge/noarch \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.6s\npkgs/main/linux-64 \u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.6s\npkgs/main/noarch \u001b[90m━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.6s\npkgs/r/linux-64 \u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.7s\nconda-forge/linux-64 \u001b[90m━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.7s\nconda-forge/noarch \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.7s\npkgs/main/linux-64 \u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.7s\npkgs/main/noarch \u001b[90m━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.7s\npkgs/r/linux-64 \u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.8s\nconda-forge/linux-64 \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.8s\nconda-forge/noarch \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.8s\npkgs/main/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.8s\npkgs/main/noarch \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.8s\npkgs/r/linux-64 \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.9s\nconda-forge/linux-64 \u001b[90m━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.9s\nconda-forge/noarch \u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.9s\npkgs/main/linux-64 \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.9s\npkgs/main/noarch \u001b[90m━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.9s\npkgs/r/linux-64 \u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.0s\nconda-forge/linux-64 \u001b[90m━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 1.0s\nconda-forge/noarch \u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 1.0s\npkgs/main/linux-64 \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 1.0s\npkgs/main/noarch \u001b[90m━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 1.0s\npkgs/r/linux-64 \u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 1.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.1s\nconda-forge/linux-64 \u001b[90m━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 1.1s\nconda-forge/noarch \u001b[90m╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 1.1s\npkgs/main/linux-64 \u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 1.1s\npkgs/main/noarch \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 1.1s\npkgs/r/linux-64 \u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 1.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.2s\nconda-forge/linux-64 \u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 1.2s\nconda-forge/noarch \u001b[90m━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 1.2s\npkgs/main/linux-64 \u001b[90m━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 31.4kB / ??.?MB @ 26.6kB/s 1.2s\npkgs/main/noarch \u001b[90m━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━\u001b[0m 30.0kB / ??.?MB @ 25.5kB/s 1.2s\npkgs/r/linux-64 \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 31.4kB / ??.?MB @ 26.6kB/s 1.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.3s\nconda-forge/linux-64 \u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 1.3s\nconda-forge/noarch \u001b[90m━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 1.3s\npkgs/main/linux-64 \u001b[90m━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 31.4kB / ??.?MB @ 25.4kB/s 1.3s\npkgs/main/noarch \u001b[90m━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━\u001b[0m 31.4kB / ??.?MB @ 25.4kB/s 1.3s\npkgs/r/linux-64 \u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 31.4kB / ??.?MB @ 25.4kB/s 1.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.4s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 1.4s\nconda-forge/noarch \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 1.4s\npkgs/main/linux-64 \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 31.4kB / ??.?MB @ 22.9kB/s 1.4s\npkgs/main/noarch \u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 31.4kB / ??.?MB @ 22.9kB/s 1.4s\npkgs/r/linux-64 \u001b[90m╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 32.8kB / ??.?MB @ 23.9kB/s 1.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.5s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 1.5s\nconda-forge/noarch \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 1.5s\npkgs/main/linux-64 \u001b[90m━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 115.4kB / ??.?MB @ 78.4kB/s 1.5s\npkgs/main/noarch \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 94.5kB / ??.?MB @ 64.2kB/s 1.5s\npkgs/r/linux-64 \u001b[90m━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 131.1kB / ??.?MB @ 89.1kB/s 1.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.6s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 1.6s\nconda-forge/noarch \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 1.6s\npkgs/main/linux-64 \u001b[90m━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 115.4kB / ??.?MB @ 78.4kB/s 1.6s\npkgs/main/noarch \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 94.5kB / ??.?MB @ 64.2kB/s 1.6s\npkgs/r/linux-64 \u001b[90m━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 131.1kB / ??.?MB @ 89.1kB/s 1.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.7s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 1.7s\nconda-forge/noarch \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 32.7kB / ??.?MB @ 19.6kB/s 1.7s\npkgs/main/linux-64 \u001b[90m━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━\u001b[0m 147.6kB / ??.?MB @ 88.4kB/s 1.7s\npkgs/main/noarch \u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 135.3kB / ??.?MB @ 81.1kB/s 1.7s\npkgs/r/linux-64 \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 258.0kB / ??.?MB @ 154.6kB/s 1.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.8s\nconda-forge/linux-64 \u001b[90m╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 1.8s\nconda-forge/noarch \u001b[90m━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━\u001b[0m 138.5kB / ??.?MB @ 78.3kB/s 1.8s\npkgs/main/linux-64 \u001b[90m━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━\u001b[0m 258.0kB / ??.?MB @ 145.8kB/s 1.8s\npkgs/main/noarch \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 229.3kB / ??.?MB @ 129.6kB/s 1.8s\npkgs/r/linux-64 \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 356.3kB / ??.?MB @ 201.4kB/s 1.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.9s\nconda-forge/linux-64 \u001b[90m━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 1.9s\nconda-forge/noarch \u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 138.5kB / ??.?MB @ 74.0kB/s 1.9s\npkgs/main/linux-64 \u001b[90m━━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━\u001b[0m 307.1kB / ??.?MB @ 164.2kB/s 1.9s\npkgs/main/noarch \u001b[90m╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 360.4kB / ??.?MB @ 192.7kB/s 1.9s\npkgs/r/linux-64 \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 389.0kB / ??.?MB @ 208.0kB/s 1.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.0s\nconda-forge/linux-64 \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 2.0s\nconda-forge/noarch \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 221.2kB / ??.?MB @ 112.2kB/s 2.0s\npkgs/main/linux-64 \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 372.6kB / ??.?MB @ 189.0kB/s 2.0s\npkgs/main/noarch \u001b[90m━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 360.4kB / ??.?MB @ 182.8kB/s 2.0s\npkgs/r/linux-64 \u001b[90m━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━\u001b[0m 618.3kB / ??.?MB @ 313.6kB/s 2.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.1s\nconda-forge/linux-64 \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 2.1s\nconda-forge/noarch \u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 352.1kB / ??.?MB @ 169.8kB/s 2.1s\npkgs/main/linux-64 \u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 487.3kB / ??.?MB @ 235.0kB/s 2.1s\npkgs/main/noarch \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 479.2kB / ??.?MB @ 231.2kB/s 2.1s\npkgs/r/linux-64 \u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 798.7kB / ??.?MB @ 385.2kB/s 2.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.2s\nconda-forge/linux-64 \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 2.2s\nconda-forge/noarch \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 384.7kB / ??.?MB @ 177.0kB/s 2.2s\npkgs/main/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 634.6kB / ??.?MB @ 292.0kB/s 2.2s\npkgs/main/noarch \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 659.4kB / ??.?MB @ 303.4kB/s 2.2s\npkgs/r/linux-64 \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 995.2kB / ??.?MB @ 457.9kB/s 2.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.3s\nconda-forge/linux-64 \u001b[90m━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 2.3s\nconda-forge/noarch \u001b[90m╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 646.4kB / ??.?MB @ 284.2kB/s 2.3s\npkgs/main/linux-64 \u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 634.6kB / ??.?MB @ 279.1kB/s 2.3s\npkgs/main/noarch \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 782.3kB / ??.?MB @ 344.0kB/s 2.3s\npkgs/r/linux-64 \u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 1.3MB / ??.?MB @ 574.5kB/s 2.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gpkgs/r/linux-64 1.4MB @ 618.7kB/s 2.3s\npkgs/main/noarch 852.8kB @ 366.4kB/s 2.3s\n[+] 2.4s\nconda-forge/linux-64 \u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 2.4s\nconda-forge/noarch \u001b[90m━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 777.3kB / ??.?MB @ 327.0kB/s 2.4s\npkgs/main/linux-64 \u001b[90m━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 634.6kB / ??.?MB @ 267.0kB/s 2.4s\npkgs/r/noarch \u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.5s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 2.5s\nconda-forge/noarch \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 1.1MB / ??.?MB @ 432.3kB/s 2.5s\npkgs/main/linux-64 \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 634.6kB / ??.?MB @ 256.0kB/s 2.5s\npkgs/r/noarch \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.6s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 32.5kB / ??.?MB @ 12.6kB/s 2.6s\nconda-forge/noarch \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 1.4MB / ??.?MB @ 553.5kB/s 2.6s\npkgs/main/linux-64 \u001b[90m━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 1.6MB / ??.?MB @ 617.6kB/s 2.6s\npkgs/r/noarch \u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 57.4kB / ??.?MB @ 22.2kB/s 0.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.7s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 32.5kB / ??.?MB @ 12.2kB/s 2.7s\nconda-forge/noarch \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 1.9MB / ??.?MB @ 722.0kB/s 2.7s\npkgs/main/linux-64 \u001b[90m━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━\u001b[0m 1.8MB / ??.?MB @ 661.8kB/s 2.7s\npkgs/r/noarch \u001b[90m━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 577.5kB / ??.?MB @ 215.6kB/s 0.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.8s\nconda-forge/linux-64 \u001b[90m╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 32.5kB / ??.?MB @ 11.7kB/s 2.8s\nconda-forge/noarch \u001b[90m━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━\u001b[0m 2.5MB / ??.?MB @ 884.3kB/s 2.8s\npkgs/main/linux-64 \u001b[90m━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━\u001b[0m 2.0MB / ??.?MB @ 730.9kB/s 2.8s\npkgs/r/noarch \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 1.1MB / ??.?MB @ 381.7kB/s 0.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gpkgs/r/noarch 1.3MB @ 459.7kB/s 0.5s\n[+] 2.9s\nconda-forge/linux-64 \u001b[90m━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 143.7kB / ??.?MB @ 49.7kB/s 2.9s\nconda-forge/noarch \u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 3.2MB / ??.?MB @ 1.1MB/s 2.9s\npkgs/main/linux-64 \u001b[90m━━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━\u001b[0m 2.8MB / ??.?MB @ 983.6kB/s 2.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.0s\nconda-forge/linux-64 \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 143.7kB / ??.?MB @ 48.0kB/s 3.0s\nconda-forge/noarch \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 3.8MB / ??.?MB @ 1.3MB/s 3.0s\npkgs/main/linux-64 \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 3.0MB / ??.?MB @ 994.3kB/s 3.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.1s\nconda-forge/linux-64 \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 250.5kB / ??.?MB @ 81.0kB/s 3.1s\nconda-forge/noarch \u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 4.3MB / ??.?MB @ 1.4MB/s 3.1s\npkgs/main/linux-64 \u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 3.8MB / ??.?MB @ 1.2MB/s 3.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.2s\nconda-forge/linux-64 \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 250.5kB / ??.?MB @ 78.4kB/s 3.2s\nconda-forge/noarch \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 4.8MB / ??.?MB @ 1.5MB/s 3.2s\npkgs/main/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 4.3MB / ??.?MB @ 1.4MB/s 3.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.3s\nconda-forge/linux-64 \u001b[90m━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━\u001b[0m 250.5kB / ??.?MB @ 76.0kB/s 3.3s\nconda-forge/noarch \u001b[90m╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 5.4MB / ??.?MB @ 1.6MB/s 3.3s\npkgs/main/linux-64 \u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 4.9MB / ??.?MB @ 1.5MB/s 3.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.4s\nconda-forge/linux-64 \u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 250.5kB / ??.?MB @ 73.8kB/s 3.4s\nconda-forge/noarch \u001b[90m━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 5.9MB / ??.?MB @ 1.7MB/s 3.4s\npkgs/main/linux-64 \u001b[90m━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 5.5MB / ??.?MB @ 1.6MB/s 3.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.5s\nconda-forge/linux-64 \u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 708.5kB @ 205.6kB/s 3.5s\nconda-forge/noarch \u001b[90m━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 6.2MB @ 1.8MB/s 3.5s\npkgs/main/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 6.1MB @ 1.7MB/s Finalizing 3.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gpkgs/main/linux-64 @ 1.7MB/s 3.5s\n[+] 3.6s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 724.8kB / ??.?MB @ 202.9kB/s 3.6s\nconda-forge/noarch \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 6.5MB / ??.?MB @ 1.8MB/s 3.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.7s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 1.2MB / ??.?MB @ 326.2kB/s 3.7s\nconda-forge/noarch \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 7.5MB / ??.?MB @ 2.0MB/s 3.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.8s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 1.6MB / ??.?MB @ 412.8kB/s 3.8s\nconda-forge/noarch \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 8.0MB / ??.?MB @ 2.1MB/s 3.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.9s\nconda-forge/linux-64 \u001b[90m╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 2.0MB / ??.?MB @ 528.6kB/s 3.9s\nconda-forge/noarch \u001b[90m━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━\u001b[0m 8.5MB / ??.?MB @ 2.2MB/s 3.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.0s\nconda-forge/linux-64 \u001b[90m━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 2.7MB / ??.?MB @ 667.1kB/s 4.0s\nconda-forge/noarch \u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 9.0MB / ??.?MB @ 2.3MB/s 4.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.1s\nconda-forge/linux-64 \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 3.3MB / ??.?MB @ 802.1kB/s 4.1s\nconda-forge/noarch \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 9.6MB / ??.?MB @ 2.3MB/s 4.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.2s\nconda-forge/linux-64 \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 3.8MB / ??.?MB @ 912.6kB/s 4.2s\nconda-forge/noarch \u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 10.1MB / ??.?MB @ 2.4MB/s 4.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.3s\nconda-forge/linux-64 \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 4.4MB / ??.?MB @ 1.0MB/s 4.3s\nconda-forge/noarch \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 10.6MB / ??.?MB @ 2.5MB/s 4.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.4s\nconda-forge/linux-64 \u001b[90m━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━\u001b[0m 5.0MB / ??.?MB @ 1.1MB/s 4.4s\nconda-forge/noarch \u001b[90m╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 11.2MB / ??.?MB @ 2.5MB/s 4.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.5s\nconda-forge/linux-64 \u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 5.5MB / ??.?MB @ 1.2MB/s 4.5s\nconda-forge/noarch \u001b[90m━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 11.7MB / ??.?MB @ 2.6MB/s 4.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.6s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 6.1MB / ??.?MB @ 1.3MB/s 4.6s\nconda-forge/noarch \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 11.8MB / ??.?MB @ 2.6MB/s 4.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.7s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 6.6MB / ??.?MB @ 1.4MB/s 4.7s\nconda-forge/noarch \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 11.8MB / ??.?MB @ 2.5MB/s 4.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.8s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 7.2MB / ??.?MB @ 1.5MB/s 4.8s\nconda-forge/noarch \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 11.8MB / ??.?MB @ 2.5MB/s 4.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.9s\nconda-forge/linux-64 \u001b[90m╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 7.7MB / ??.?MB @ 1.6MB/s 4.9s\nconda-forge/noarch \u001b[90m━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━\u001b[0m 12.4MB / ??.?MB @ 2.5MB/s 4.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.0s\nconda-forge/linux-64 \u001b[90m━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 8.0MB @ 1.6MB/s 5.0s\nconda-forge/noarch ━━━━━━━━━━━━━━━━━━━━━━ 14.2MB @ 2.9MB/s Downloaded 5.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.1s\nconda-forge/linux-64 \u001b[90m━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 8.0MB @ 1.6MB/s 5.1s\nconda-forge/noarch ━━━━━━━━━━━━━━━━━━━━━━ 14.2MB @ 2.9MB/s Downloaded 5.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.2s\nconda-forge/linux-64 \u001b[90m━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 8.0MB @ 1.6MB/s 5.2s\nconda-forge/noarch ━━━━━━━━━━━━━━━━━━━━━━ 14.2MB @ 2.9MB/s Finalizing 5.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gconda-forge/noarch @ 2.9MB/s 5.2s\n[+] 5.3s\nconda-forge/linux-64 \u001b[90m━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 8.3MB / ??.?MB @ 1.6MB/s 5.3s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.4s\nconda-forge/linux-64 \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 10.3MB / ??.?MB @ 1.9MB/s 5.4s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.5s\nconda-forge/linux-64 \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 10.9MB / ??.?MB @ 2.0MB/s 5.5s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.6s\nconda-forge/linux-64 \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 11.5MB / ??.?MB @ 2.1MB/s 5.6s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.7s\nconda-forge/linux-64 \u001b[90m━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━\u001b[0m 12.1MB / ??.?MB @ 2.1MB/s 5.7s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.8s\nconda-forge/linux-64 \u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 12.6MB / ??.?MB @ 2.2MB/s 5.8s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.9s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 13.2MB / ??.?MB @ 2.3MB/s 5.9s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.0s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 13.8MB / ??.?MB @ 2.3MB/s 6.0s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.1s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 14.3MB / ??.?MB @ 2.4MB/s 6.1s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.2s\nconda-forge/linux-64 \u001b[90m╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 14.9MB / ??.?MB @ 2.4MB/s 6.2s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.3s\nconda-forge/linux-64 \u001b[90m━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 15.5MB / ??.?MB @ 2.5MB/s 6.3s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.4s\nconda-forge/linux-64 \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 16.1MB / ??.?MB @ 2.5MB/s 6.4s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.5s\nconda-forge/linux-64 \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 16.6MB / ??.?MB @ 2.6MB/s 6.5s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.6s\nconda-forge/linux-64 \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 17.2MB / ??.?MB @ 2.6MB/s 6.6s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.7s\nconda-forge/linux-64 \u001b[90m━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━\u001b[0m 17.8MB / ??.?MB @ 2.7MB/s 6.7s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.8s\nconda-forge/linux-64 \u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 18.4MB / ??.?MB @ 2.7MB/s 6.8s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.9s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 18.9MB / ??.?MB @ 2.8MB/s 6.9s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.0s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 19.5MB / ??.?MB @ 2.8MB/s 7.0s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.1s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 20.1MB / ??.?MB @ 2.8MB/s 7.1s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.2s\nconda-forge/linux-64 \u001b[90m╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 20.7MB / ??.?MB @ 2.9MB/s 7.2s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.3s\nconda-forge/linux-64 \u001b[90m━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 21.2MB / ??.?MB @ 2.9MB/s 7.3s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.4s\nconda-forge/linux-64 \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 21.8MB / ??.?MB @ 3.0MB/s 7.4s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.5s\nconda-forge/linux-64 \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 22.3MB / ??.?MB @ 3.0MB/s 7.5s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.6s\nconda-forge/linux-64 \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 22.9MB / ??.?MB @ 3.0MB/s 7.6s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.7s\nconda-forge/linux-64 \u001b[90m━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━\u001b[0m 23.4MB / ??.?MB @ 3.0MB/s 7.7s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.8s\nconda-forge/linux-64 \u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 24.0MB / ??.?MB @ 3.1MB/s 7.8s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.9s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 24.5MB / ??.?MB @ 3.1MB/s 7.9s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.0s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 25.1MB / ??.?MB @ 3.1MB/s 8.0s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.1s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 25.6MB / ??.?MB @ 3.2MB/s 8.1s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.2s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 25.9MB / ??.?MB @ 3.2MB/s 8.2s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.3s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 25.9MB / ??.?MB @ 3.2MB/s 8.3s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.4s\nconda-forge/linux-64 \u001b[90m╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 26.0MB / ??.?MB @ 3.1MB/s 8.4s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.5s\nconda-forge/linux-64 \u001b[90m━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 26.0MB / ??.?MB @ 3.1MB/s 8.5s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.6s\nconda-forge/linux-64 \u001b[90m━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 27.0MB / ??.?MB @ 3.1MB/s 8.6s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.7s\nconda-forge/linux-64 \u001b[90m━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 27.6MB / ??.?MB @ 3.2MB/s 8.7s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.8s\nconda-forge/linux-64 \u001b[90m━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 29.2MB / ??.?MB @ 3.3MB/s 8.8s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.9s\nconda-forge/linux-64 \u001b[90m━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━\u001b[0m 30.2MB / ??.?MB @ 3.4MB/s 8.9s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.0s\nconda-forge/linux-64 \u001b[90m━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━\u001b[0m 30.7MB / ??.?MB @ 3.4MB/s 9.0s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.1s\nconda-forge/linux-64 \u001b[90m━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━\u001b[0m 31.2MB / ??.?MB @ 3.4MB/s 9.1s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.2s\nconda-forge/linux-64 \u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 31.7MB / ??.?MB @ 3.5MB/s 9.2s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.3s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 32.2MB / ??.?MB @ 3.5MB/s 9.3s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.4s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 32.7MB / ??.?MB @ 3.5MB/s 9.4s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.5s\nconda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 33.1MB / ??.?MB @ 3.5MB/s 9.5s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.6s\nconda-forge/linux-64 \u001b[90m━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 33.7MB / ??.?MB @ 3.5MB/s 9.6s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.7s\nconda-forge/linux-64 \u001b[90m━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 34.2MB / ??.?MB @ 3.5MB/s 9.7s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.8s\nconda-forge/linux-64 \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 34.4MB / ??.?MB @ 3.5MB/s 9.8s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.9s\nconda-forge/linux-64 \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 34.4MB / ??.?MB @ 3.5MB/s 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.0s\nconda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 34.5MB @ 3.5MB/s Downloaded 10.0s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.1s\nconda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 34.5MB @ 3.5MB/s Downloaded 10.1s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.2s\nconda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 34.5MB @ 3.5MB/s Downloaded 10.2s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.3s\nconda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 34.5MB @ 3.5MB/s Downloaded 10.3s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.4s\nconda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 34.5MB @ 3.5MB/s Downloaded 10.4s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.5s\nconda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 34.5MB @ 3.5MB/s Downloaded 10.5s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.6s\nconda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 34.5MB @ 3.5MB/s Downloaded 10.6s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.7s\nconda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 34.5MB @ 3.5MB/s Downloaded 10.7s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.8s\nconda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 34.5MB @ 3.5MB/s Downloaded 10.8s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.9s\nconda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 34.5MB @ 3.5MB/s Downloaded 10.9s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.0s\nconda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 34.5MB @ 3.5MB/s Downloaded 11.0s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.1s\nconda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 34.5MB @ 3.5MB/s Downloaded 11.1s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.2s\nconda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 34.5MB @ 3.5MB/s Finalizing 11.2s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.3s\nconda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 34.5MB @ 3.5MB/s Finalizing 11.3s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.4s\nconda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 34.5MB @ 3.5MB/s Finalizing 11.4s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.5s\n\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.6s\n\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.7s\n\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.8s\n\u001b[2K\u001b[1A\u001b[2K\u001b[0Gconda-forge/linux-64 @ 3.5MB/s 11.4s\n\u001b[?25h\nPinned packages:\n - python 3.10.*\n\n\nTransaction\n\n Prefix: /opt/mamba\n\n Updating specs:\n\n - openmm=7.7.0\n - rdkit\n - ca-certificates\n - certifi\n - openssl\n\n\n Package Version Build Channel Size\n──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n Install:\n──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n\n\u001b[32m + boost \u001b[00m 1.78.0 py310hc4a4660_4 conda-forge/linux-64 363kB\n\u001b[32m + boost-cpp \u001b[00m 1.78.0 h5adbc97_2 conda-forge/linux-64 16MB\n\u001b[32m + brotli \u001b[00m 1.1.0 hd590300_0 conda-forge/linux-64 19kB\n\u001b[32m + brotli-bin \u001b[00m 1.1.0 hd590300_0 conda-forge/linux-64 19kB\n\u001b[32m + cairo \u001b[00m 1.16.0 ha61ee94_1014 conda-forge/linux-64 2MB\n\u001b[32m + contourpy \u001b[00m 1.1.1 py310hd41b1e2_0 conda-forge/linux-64 224kB\n\u001b[32m + cycler \u001b[00m 0.11.0 pyhd8ed1ab_0 conda-forge/noarch 10kB\n\u001b[32m + expat \u001b[00m 2.5.0 hcb278e6_1 conda-forge/linux-64 137kB\n\u001b[32m + fmt \u001b[00m 10.1.1 h00ab1b0_0 conda-forge/linux-64 192kB\n\u001b[32m + font-ttf-dejavu-sans-mono\u001b[00m 2.37 hab24e00_0 conda-forge/noarch 397kB\n\u001b[32m + font-ttf-inconsolata \u001b[00m 3.000 h77eed37_0 conda-forge/noarch 97kB\n\u001b[32m + font-ttf-source-code-pro \u001b[00m 2.038 h77eed37_0 conda-forge/noarch 701kB\n\u001b[32m + font-ttf-ubuntu \u001b[00m 0.83 hab24e00_0 conda-forge/noarch 2MB\n\u001b[32m + fontconfig \u001b[00m 2.14.2 h14ed4e7_0 conda-forge/linux-64 272kB\n\u001b[32m + fonts-conda-ecosystem \u001b[00m 1 0 conda-forge/noarch 4kB\n\u001b[32m + fonts-conda-forge \u001b[00m 1 0 conda-forge/noarch 4kB\n\u001b[32m + fonttools \u001b[00m 4.42.1 py310h2372a71_0 conda-forge/linux-64 2MB\n\u001b[32m + freetype \u001b[00m 2.12.1 h267a509_2 conda-forge/linux-64 635kB\n\u001b[32m + freetype-py \u001b[00m 2.3.0 pyhd8ed1ab_0 conda-forge/noarch 59kB\n\u001b[32m + gettext \u001b[00m 0.21.1 h27087fc_0 conda-forge/linux-64 4MB\n\u001b[32m + greenlet \u001b[00m 2.0.2 py310hc6cd4ac_1 conda-forge/linux-64 191kB\n\u001b[32m + kiwisolver \u001b[00m 1.4.5 py310hd41b1e2_1 conda-forge/linux-64 73kB\n\u001b[32m + lcms2 \u001b[00m 2.15 haa2dc70_1 conda-forge/linux-64 242kB\n\u001b[32m + lerc \u001b[00m 4.0.0 h27087fc_0 conda-forge/linux-64 282kB\n\u001b[32m + libbrotlicommon \u001b[00m 1.1.0 hd590300_0 conda-forge/linux-64 69kB\n\u001b[32m + libbrotlidec \u001b[00m 1.1.0 hd590300_0 conda-forge/linux-64 33kB\n\u001b[32m + libbrotlienc \u001b[00m 1.1.0 hd590300_0 conda-forge/linux-64 282kB\n\u001b[32m + libdeflate \u001b[00m 1.18 h0b41bf4_0 conda-forge/linux-64 65kB\n\u001b[32m + libexpat \u001b[00m 2.5.0 hcb278e6_1 conda-forge/linux-64 78kB\n\u001b[32m + libglib \u001b[00m 2.78.0 hebfc3b9_0 conda-forge/linux-64 3MB\n\u001b[32m + libjpeg-turbo \u001b[00m 2.1.5.1 hd590300_1 conda-forge/linux-64 496kB\n\u001b[32m + libpng \u001b[00m 1.6.39 h753d276_0 conda-forge/linux-64 283kB\n\u001b[32m + libtiff \u001b[00m 4.5.1 h8b53f26_1 conda-forge/linux-64 417kB\n\u001b[32m + libwebp-base \u001b[00m 1.3.2 hd590300_0 conda-forge/linux-64 402kB\n\u001b[32m + libxcb \u001b[00m 1.13 h7f98852_1004 conda-forge/linux-64 400kB\n\u001b[32m + matplotlib-base \u001b[00m 3.8.0 py310h62c0568_1 conda-forge/linux-64 7MB\n\u001b[32m + munkres \u001b[00m 1.1.4 pyh9f0ad1d_0 conda-forge/noarch 12kB\n\u001b[32m + openjpeg \u001b[00m 2.5.0 hfec8fc6_2 conda-forge/linux-64 352kB\n\u001b[32m + pcre2 \u001b[00m 10.40 hc3806b6_0 conda-forge/linux-64 2MB\n\u001b[32m + pillow \u001b[00m 9.5.0 py310h065c6d2_0 conda-forge/linux-64 46MB\n\u001b[32m + pixman \u001b[00m 0.40.0 h36c2ea0_0 conda-forge/linux-64 643kB\n\u001b[32m + pthread-stubs \u001b[00m 0.4 h36c2ea0_1001 conda-forge/linux-64 6kB\n\u001b[32m + pycairo \u001b[00m 1.24.0 py310hda9f760_0 conda-forge/linux-64 113kB\n\u001b[32m + rdkit \u001b[00m 2023.03.3 py310h399bcf7_0 conda-forge/linux-64 36MB\n\u001b[32m + reportlab \u001b[00m 4.0.4 py310h2372a71_0 conda-forge/linux-64 2MB\n\u001b[32m + rlpycairo \u001b[00m 0.2.0 pyhd8ed1ab_0 conda-forge/noarch 15kB\n\u001b[32m + sqlalchemy \u001b[00m 2.0.21 py310h2372a71_0 conda-forge/linux-64 3MB\n\u001b[32m + typing-extensions \u001b[00m 4.8.0 hd8ed1ab_0 conda-forge/noarch 10kB\n\u001b[32m + typing_extensions \u001b[00m 4.8.0 pyha770c72_0 conda-forge/noarch 35kB\n\u001b[32m + unicodedata2 \u001b[00m 15.0.0 py310h2372a71_1 conda-forge/linux-64 374kB\n\u001b[32m + xorg-kbproto \u001b[00m 1.0.7 h7f98852_1002 conda-forge/linux-64 27kB\n\u001b[32m + xorg-libice \u001b[00m 1.0.10 h7f98852_0 conda-forge/linux-64 59kB\n\u001b[32m + xorg-libsm \u001b[00m 1.2.3 hd9c2040_1000 conda-forge/linux-64 26kB\n\u001b[32m + xorg-libx11 \u001b[00m 1.8.4 h0b41bf4_0 conda-forge/linux-64 830kB\n\u001b[32m + xorg-libxau \u001b[00m 1.0.11 hd590300_0 conda-forge/linux-64 14kB\n\u001b[32m + xorg-libxdmcp \u001b[00m 1.1.3 h7f98852_0 conda-forge/linux-64 19kB\n\u001b[32m + xorg-libxext \u001b[00m 1.3.4 h0b41bf4_2 conda-forge/linux-64 50kB\n\u001b[32m + xorg-libxrender \u001b[00m 0.9.10 h7f98852_1003 conda-forge/linux-64 33kB\n\u001b[32m + xorg-renderproto \u001b[00m 0.11.1 h7f98852_1002 conda-forge/linux-64 10kB\n\u001b[32m + xorg-xextproto \u001b[00m 7.3.0 h0b41bf4_1003 conda-forge/linux-64 30kB\n\u001b[32m + xorg-xproto \u001b[00m 7.0.31 h7f98852_1007 conda-forge/linux-64 75kB\n\n Change:\n──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n\n\u001b[31m - hdf5 \u001b[00m 1.12.1 h70be1eb_2 mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main \n\u001b[32m + hdf5 \u001b[00m 1.12.1 nompi_h4df4325_104 conda-forge/linux-64 4MB\n\u001b[31m - python \u001b[00m 3.10.6 h582c2e5_0_cpython conda-forge \n\u001b[32m + python \u001b[00m 3.10.6 ha86cf86_0_cpython conda-forge/linux-64 30MB\n\n Upgrade:\n──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n\n\u001b[31m - ca-certificates \u001b[00m 2022.10.11 h06a4308_0 mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main \n\u001b[32m + ca-certificates \u001b[00m 2023.7.22 hbcca054_0 conda-forge/linux-64 150kB\n\u001b[31m - certifi \u001b[00m 2022.9.24 py310h06a4308_0 mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main \n\u001b[32m + certifi \u001b[00m 2023.7.22 pyhd8ed1ab_0 conda-forge/noarch 154kB\n\u001b[31m - cryptography \u001b[00m 38.0.2 py310h597c629_1 conda-forge \n\u001b[32m + cryptography \u001b[00m 38.0.4 py310h600f1e7_0 conda-forge/linux-64 1MB\n\u001b[31m - krb5 \u001b[00m 1.19.3 h3790be6_0 conda-forge \n\u001b[32m + krb5 \u001b[00m 1.21.2 h659d440_0 conda-forge/linux-64 1MB\n\u001b[31m - libarchive \u001b[00m 3.5.2 hb890918_3 conda-forge \n\u001b[32m + libarchive \u001b[00m 3.6.2 h3d51595_0 conda-forge/linux-64 836kB\n\u001b[31m - libcurl \u001b[00m 7.86.0 h7bff187_0 conda-forge \n\u001b[32m + libcurl \u001b[00m 8.3.0 hca28451_0 conda-forge/linux-64 388kB\n\u001b[31m - libmamba \u001b[00m 0.27.0 h0dd8ff0_0 conda-forge \n\u001b[32m + libmamba \u001b[00m 1.5.1 h744094f_0 conda-forge/linux-64 2MB\n\u001b[31m - libmambapy \u001b[00m 0.27.0 py310hab0e683_0 conda-forge \n\u001b[32m + libmambapy \u001b[00m 1.5.1 py310h39ff949_0 conda-forge/linux-64 299kB\n\u001b[31m - libnghttp2 \u001b[00m 1.47.0 hdcd2b5c_1 conda-forge \n\u001b[32m + libnghttp2 \u001b[00m 1.52.0 h61bc06f_0 conda-forge/linux-64 622kB\n\u001b[31m - libsolv \u001b[00m 0.7.22 h6239696_0 conda-forge \n\u001b[32m + libsolv \u001b[00m 0.7.24 hfc55251_4 conda-forge/linux-64 468kB\n\u001b[31m - libssh2 \u001b[00m 1.10.0 haa6b8db_3 conda-forge \n\u001b[32m + libssh2 \u001b[00m 1.11.0 h0841786_0 conda-forge/linux-64 271kB\n\u001b[31m - mamba \u001b[00m 0.27.0 py310hf87f941_0 conda-forge \n\u001b[32m + mamba \u001b[00m 1.5.1 py310h51d5547_0 conda-forge/linux-64 51kB\n\u001b[31m - openssl \u001b[00m 1.1.1s h7f8727e_0 mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main \n\u001b[32m + openssl \u001b[00m 3.1.3 hd590300_0 conda-forge/linux-64 3MB\n\u001b[31m - zstd \u001b[00m 1.5.2 h6239696_4 conda-forge \n\u001b[32m + zstd \u001b[00m 1.5.5 hfc55251_0 conda-forge/linux-64 545kB\n\n Summary:\n\n Install: 61 packages\n Change: 2 packages\n Upgrade: 14 packages\n\n Total download: 180MB\n\n──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n\n\u001b[?25l\u001b[2K\u001b[0G[+] 0.0s\nDownloading \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0.0 B 0.0s\nExtracting \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0 0.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.1s\nDownloading (5) \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0.0 B ca-certificates 0.0s\nExtracting \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0 0.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.2s\nDownloading (5) \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0.0 B ca-certificates 0.1s\nExtracting \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0 0.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.3s\nDownloading (5) \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0.0 B ca-certificates 0.2s\nExtracting \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0 0.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.4s\nDownloading (5) \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0.0 B ca-certificates 0.3s\nExtracting \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0 0.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.5s\nDownloading (5) \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0.0 B fmt 0.4s\nExtracting \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0 0.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.6s\nDownloading (5) \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0.0 B fmt 0.5s\nExtracting \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0 0.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.7s\nDownloading (5) \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0.0 B fmt 0.6s\nExtracting \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0 0.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.8s\nDownloading (5) \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0.0 B fmt 0.7s\nExtracting \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0 0.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gxorg-xextproto 30.3kB @ 34.8kB/s 0.9s\n[+] 0.9s\nDownloading (5) \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 95.2kB libbrotlicommon 0.8s\nExtracting (1) \u001b[90m╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 0 xorg-xextproto 0.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.0s\nDownloading (5) \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 95.2kB libbrotlicommon 0.9s\nExtracting (1) \u001b[90m━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 0 xorg-xextproto 0.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.1s\nDownloading (5) \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 266.0kB libbrotlicommon 1.0s\nExtracting (1) \u001b[90m━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 0 xorg-xextproto 0.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibbrotlicommon 69.4kB @ 60.2kB/s 0.3s\n[+] 1.2s\nDownloading (5) \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 396.7kB ca-certificates 1.1s\nExtracting (2) \u001b[90m━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 0 xorg-xextproto 0.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.3s\nDownloading (5) \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 591.4kB ca-certificates 1.2s\nExtracting (1) \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 1 libbrotlicommon 0.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.4s\nDownloading (5) \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 820.8kB ca-certificates 1.3s\nExtracting (1) \u001b[90m━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━\u001b[0m 1 libbrotlicommon 0.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gca-certificates 149.5kB @ 100.8kB/s 1.5s\n[+] 1.5s\nDownloading (5) \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 929.1kB fmt 1.4s\nExtracting (1) \u001b[90m━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 2 ca-certificates 0.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.6s\nDownloading (5) \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 1.1MB fmt 1.5s\nExtracting (1) \u001b[90m━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━\u001b[0m 2 ca-certificates 0.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.7s\nDownloading (5) \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 1.2MB fmt 1.6s\nExtracting (1) \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 2 ca-certificates 0.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gfmt 192.3kB @ 113.1kB/s 1.7s\nxorg-kbproto 27.3kB @ 15.7kB/s 0.3s\n[+] 1.8s\nDownloading (5) \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 1.5MB libsolv 1.7s\nExtracting (3) \u001b[90m━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━\u001b[0m 2 ca-certificates 0.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gzstd 545.2kB @ 297.8kB/s 1.8s\nlibsolv 467.8kB @ 254.4kB/s 1.8s\n[+] 1.9s\nDownloading (5) \u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 1.9MB freetype 1.8s\nExtracting (4) \u001b[90m━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━\u001b[0m 3 fmt 1.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gxorg-libice 59.4kB @ 29.9kB/s 0.3s\n[+] 2.0s\nDownloading (5) \u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 2.4MB freetype 1.9s\nExtracting (4) \u001b[90m━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━\u001b[0m 3 fmt 1.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.1s\nDownloading (5) \u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 3.2MB freetype 2.0s\nExtracting (5) \u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 3 fmt 1.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.2s\nDownloading (5) \u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 3.8MB freetype 2.1s\nExtracting (4) ╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━\u001b[0m 4 libsolv 1.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gfreetype 635.0kB @ 285.6kB/s 0.4s\n[+] 2.3s\nDownloading (5) \u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 4.8MB libglib 2.2s\nExtracting (5) ╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━\u001b[0m 4 libsolv 1.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.4s\nDownloading (5) \u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 6.0MB libglib 2.3s\nExtracting (4) ╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━\u001b[0m 5 libsolv 1.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gpcre2 2.4MB @ 990.2kB/s 1.3s\nlibssh2 271.1kB @ 109.8kB/s 0.2s\n[+] 2.5s\nDownloading (5) \u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━\u001b[0m 7.1MB libglib 2.4s\nExtracting (6) ╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━\u001b[0m 5 libsolv 1.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibxcb 399.9kB @ 155.6kB/s 0.6s\n[+] 2.6s\nDownloading (5) \u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━\u001b[0m 7.6MB libglib 2.5s\nExtracting (6) ╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━\u001b[0m 6 libssh2 1.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.7s\nDownloading (5) \u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━\u001b[0m 8.7MB openjpeg 2.6s\nExtracting (6) ╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━\u001b[0m 6 libssh2 1.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gopenjpeg 352.0kB @ 130.2kB/s 0.3s\nfontconfig 272.0kB @ 99.1kB/s 0.3s\nlibglib 2.7MB @ 970.5kB/s 0.9s\n[+] 2.8s\nDownloading (5) ╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 10.8MB boost 2.7s\nExtracting (9) ╸\u001b[33m━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━\u001b[0m 6 libssh2 1.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gopenssl 2.6MB @ 942.6kB/s 1.1s\n[+] 2.9s\nDownloading (5) ╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 11.4MB boost 2.8s\nExtracting (9) ━╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━\u001b[0m 7 libssh2 2.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gunicodedata2 373.8kB @ 127.7kB/s 0.4s\nboost 362.6kB @ 121.5kB/s 0.3s\n[+] 3.0s\nDownloading (5) ╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 12.0MB font-ttf-inconsolata 2.9s\nExtracting (11) ━╸\u001b[33m━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━\u001b[0m 7 libxcb 2.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gxorg-libxext 50.1kB @ 16.5kB/s 0.3s\nlibmambapy 299.1kB @ 97.6kB/s 0.3s\n[+] 3.1s\nDownloading (5) ╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 12.8MB font-ttf-inconsolata 3.0s\nExtracting (12) ━╸\u001b[33m━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━\u001b[0m 8 libxcb 2.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.2s\nDownloading (5) ╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 13.6MB font-ttf-inconsolata 3.1s\nExtracting (12) ━╸\u001b[33m━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━\u001b[0m 8 libxcb 2.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gfont-ttf-inconsolata 96.5kB @ 30.1kB/s 0.3s\ntyping_extensions 35.1kB @ 10.8kB/s 0.3s\n[+] 3.3s\nDownloading (5) ╸\u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 14.1MB cycler 3.2s\nExtracting (13) ━╸\u001b[33m━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━\u001b[0m 9 libxcb 2.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gcycler 10.3kB @ 3.1kB/s 0.3s\ntyping-extensions 10.1kB @ 3.0kB/s 0.2s\n[+] 3.4s\nDownloading (5) ╸\u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 14.9MB libdeflate 3.3s\nExtracting (15) ━╸\u001b[33m━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 9 openjpeg 2.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.5s\nDownloading (5) ╸\u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 15.4MB libdeflate 3.4s\nExtracting (15) ━╸\u001b[33m━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 9 openjpeg 2.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gpycairo 113.5kB @ 32.3kB/s 0.3s\nlibdeflate 65.2kB @ 18.3kB/s 0.3s\n[+] 3.6s\nDownloading (5) ━╸\u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 17.4MB libexpat 3.5s\nExtracting (16) ━╸\u001b[33m━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 10 openjpeg 2.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.7s\nDownloading (5) ━╸\u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 20.0MB libexpat 3.6s\nExtracting (16) ━╸\u001b[33m━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 10 openjpeg 2.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gxorg-libxau 14.5kB @ 3.8kB/s 0.2s\n[+] 3.8s\nDownloading (5) ━╸\u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 23.0MB libexpat 3.7s\nExtracting (16) ━━╸\u001b[33m━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 11 openssl 2.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibexpat 78.0kB @ 20.4kB/s 0.3s\n[+] 3.9s\nDownloading (5) ━━╸\u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 25.6MB libtiff 3.8s\nExtracting (17) ━━╸\u001b[33m━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 11 openssl 3.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.0s\nDownloading (5) ━━╸\u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 28.2MB libtiff 3.9s\nExtracting (16) ━━╸\u001b[33m━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 12 openssl 3.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gpthread-stubs 5.6kB @ 1.4kB/s 0.2s\n[+] 4.1s\nDownloading (5) ━━╸\u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 30.5MB libtiff 4.0s\nExtracting (17) ━━╸\u001b[33m━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 12 openssl 3.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibtiff 416.5kB @ 101.3kB/s 0.3s\nsqlalchemy 2.6MB @ 631.3kB/s 0.9s\n[+] 4.2s\nDownloading (5) ━━━╸\u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 32.9MB expat 4.1s\nExtracting (19) ━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 12 pcre2 3.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gexpat 136.8kB @ 32.1kB/s 0.3s\n[+] 4.3s\nDownloading (5) ━━━╸\u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 33.3MB greenlet 4.2s\nExtracting (19) ━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 13 pcre2 3.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glcms2 242.1kB @ 55.1kB/s 0.3s\n[+] 4.4s\nDownloading (5) ━━━╸\u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 36.7MB greenlet 4.3s\nExtracting (20) ━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 13 pcre2 3.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibnghttp2 622.4kB @ 140.7kB/s 0.3s\n[+] 4.5s\nDownloading (5) ━━━╸\u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 37.8MB greenlet 4.4s\nExtracting (20) ━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━\u001b[0m 14 pcre2 3.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Ggreenlet 190.7kB @ 42.3kB/s 0.2s\n[+] 4.6s\nDownloading (5) ━━━╸\u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 38.0MB cryptography 4.5s\nExtracting (21) ━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━\u001b[0m 14 pthread-stubs 3.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gxorg-libxrender 32.9kB @ 7.0kB/s 0.3s\n[+] 4.7s\nDownloading (5) ━━━━╸\u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 41.4MB cryptography 4.6s\nExtracting (21) ━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━\u001b[0m 14 pthread-stubs 3.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.8s\nDownloading (5) ━━━━╸\u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 43.0MB cryptography 4.7s\nExtracting (22) ━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━\u001b[0m 14 pthread-stubs 3.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.9s\nDownloading (5) ━━━━╸\u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 43.0MB cryptography 4.8s\nExtracting (20) ━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━\u001b[0m 16 pthread-stubs 4.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.0s\nDownloading (5) ━━━━╸\u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 43.6MB font-ttf-ubuntu 4.9s\nExtracting (20) ━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━\u001b[0m 16 pycairo 4.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gcryptography 1.4MB @ 276.7kB/s 0.7s\n[+] 5.1s\nDownloading (5) ━━━━╸\u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 44.1MB font-ttf-ubuntu 5.0s\nExtracting (21) ━━━╸\u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 16 pycairo 4.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.2s\nDownloading (5) ━━━━╸\u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 44.1MB font-ttf-ubuntu 5.1s\nExtracting (21) ━━━╸\u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 16 pycairo 4.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.3s\nDownloading (5) ━━━━╸\u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 45.2MB font-ttf-ubuntu 5.2s\nExtracting (21) ━━━╸\u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 16 pycairo 4.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.4s\nDownloading (5) ━━━━╸\u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 45.9MB mamba 5.3s\nExtracting (19) ━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 18 unicodedata2 4.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gcertifi 153.8kB @ 28.4kB/s 0.3s\nfont-ttf-ubuntu 2.0MB @ 361.3kB/s 0.7s\n[+] 5.5s\nDownloading (5) ━━━━╸\u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 47.0MB mamba 5.4s\nExtracting (21) ━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 18 unicodedata2 4.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.6s\nDownloading (5) ━━━━━╸\u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 50.6MB mamba 5.5s\nExtracting (21) ━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 18 unicodedata2 4.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Grlpycairo 14.9kB @ 2.6kB/s 0.2s\n[+] 5.7s\nDownloading (5) ━━━━━╸\u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 50.6MB mamba 5.6s\nExtracting (21) ━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 19 unicodedata2 4.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.8s\nDownloading (5) ━━━━━╸\u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 50.9MB pillow 5.7s\nExtracting (20) ━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 20 xorg-libxau 4.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.9s\nDownloading (5) ━━━━━╸\u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 52.2MB pillow 5.8s\nExtracting (20) ━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 20 xorg-libxau 5.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.0s\nDownloading (5) ━━━━━╸\u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 52.2MB pillow 5.9s\nExtracting (20) ━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 20 xorg-libxau 5.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glerc 281.8kB @ 46.9kB/s 0.3s\nfonttools 2.2MB @ 366.6kB/s 0.7s\n[+] 6.1s\nDownloading (5) ━━━━━━╸\u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 57.4MB pillow 6.0s\nExtracting (21) ━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 21 xorg-libxau 5.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.2s\nDownloading (5) ━━━━━━╸\u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 60.1MB rdkit 6.1s\nExtracting (20) ━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 22 certifi 5.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gxorg-renderproto 9.6kB @ 1.5kB/s 0.2s\n[+] 6.3s\nDownloading (5) ━━━━━━╸\u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 62.1MB rdkit 6.2s\nExtracting (21) ━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 22 certifi 5.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.4s\nDownloading (5) ━━━━━━╸\u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 62.1MB rdkit 6.3s\nExtracting (21) ━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 22 certifi 5.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gmamba 51.2kB @ 7.9kB/s 2.0s\n[+] 6.5s\nDownloading (5) ━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 63.2MB rdkit 6.4s\nExtracting (21) ━━━━━╸\u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 23 certifi 5.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.6s\nDownloading (5) ━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 64.1MB gettext 6.5s\nExtracting (20) ━━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 24 cryptography 5.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.7s\nDownloading (5) ━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 65.0MB gettext 6.6s\nExtracting (20) ━━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 24 cryptography 5.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibbrotlienc 282.2kB @ 41.5kB/s 0.5s\n[+] 6.8s\nDownloading (5) ━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 66.8MB gettext 6.7s\nExtracting (20) ━━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 24 cryptography 5.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.9s\nDownloading (5) ━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 68.2MB gettext 6.8s\nExtracting (21) ━━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 24 cryptography 6.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.0s\nDownloading (5) ━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 68.2MB pillow 6.9s\nExtracting (21) ━━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 24 cycler 6.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gbrotli-bin 19.0kB @ 2.7kB/s 0.3s\n[+] 7.1s\nDownloading (5) ━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 68.3MB pillow 7.0s\nExtracting (21) ━━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 25 cycler 6.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.2s\nDownloading (5) ━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 68.3MB pillow 7.1s\nExtracting (21) ━━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 25 cycler 6.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.3s\nDownloading (5) ━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 68.3MB pillow 7.2s\nExtracting (20) ━━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 26 cycler 6.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gcontourpy 223.7kB @ 30.4kB/s 0.3s\n[+] 7.4s\nDownloading (5) ━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 68.6MB python 7.3s\nExtracting (21) ━━━━━━╸\u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 26 expat 6.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.5s\nDownloading (5) ━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 69.2MB python 7.4s\nExtracting (20) ━━━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 27 expat 6.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.6s\nDownloading (5) ━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━\u001b[0m 74.0MB python 7.5s\nExtracting (20) ━━━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 27 expat 6.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibmamba 1.6MB @ 211.5kB/s 0.3s\n[+] 7.7s\nDownloading (5) ━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━\u001b[0m 75.7MB python 7.6s\nExtracting (20) ━━━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 28 expat 6.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.8s\nDownloading (5) ━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━\u001b[0m 77.1MB rdkit 7.7s\nExtracting (20) ━━━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 28 font-ttf-ubuntu 6.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.9s\nDownloading (5) ━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━\u001b[0m 79.1MB rdkit 7.8s\nExtracting (19) ━━━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 29 font-ttf-ubuntu 7.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gfont-ttf-source-code-pro 700.8kB @ 87.8kB/s 0.3s\n[+] 8.0s\nDownloading (5) ━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━\u001b[0m 81.8MB rdkit 7.9s\nExtracting (20) ━━━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 29 font-ttf-ubuntu 7.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.1s\nDownloading (5) ━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━\u001b[0m 83.2MB rdkit 8.0s\nExtracting (20) ━━━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 29 font-ttf-ubuntu 7.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.2s\nDownloading (5) ━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━\u001b[0m 83.2MB fonts-conda-forge 8.1s\nExtracting (20) ━━━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 29 fonttools 7.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gfonts-conda-forge 4.1kB @ 498.0 B/s 0.3s\n[+] 8.3s\nDownloading (5) ━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━\u001b[0m 83.8MB gettext 8.2s\nExtracting (19) ━━━━━━━━╸\u001b[33m━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 31 fonttools 7.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.4s\nDownloading (5) ━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━\u001b[0m 86.7MB gettext 8.3s\nExtracting (19) ━━━━━━━━╸\u001b[33m━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 31 fonttools 7.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Ggettext 4.3MB @ 511.6kB/s 2.4s\n[+] 8.5s\nDownloading (5) ━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━\u001b[0m 87.6MB libwebp-base 8.4s\nExtracting (20) ━━━━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 31 fonttools 7.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.6s\nDownloading (5) ━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━\u001b[0m 91.1MB libwebp-base 8.5s\nExtracting (20) ━━━━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 31 gettext 7.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.7s\nDownloading (5) ━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━\u001b[0m 91.1MB libwebp-base 8.6s\nExtracting (19) ━━━━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 32 gettext 7.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.8s\nDownloading (5) ━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━\u001b[0m 91.2MB libwebp-base 8.7s\nExtracting (18) ━━━━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 33 gettext 7.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.9s\nDownloading (5) ━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━\u001b[0m 91.2MB matplotlib-base 8.8s\nExtracting (18) ━━━━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 33 gettext 8.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.0s\nDownloading (5) ━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━\u001b[0m 91.2MB matplotlib-base 8.9s\nExtracting (18) ━━━━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 33 lerc 8.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibwebp-base 401.8kB @ 44.6kB/s 0.6s\n[+] 9.1s\nDownloading (5) ━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━\u001b[0m 91.7MB matplotlib-base 9.0s\nExtracting (18) ━━━━━━━━━╸\u001b[33m━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 34 lerc 8.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.2s\nDownloading (5) ━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━\u001b[0m 91.8MB matplotlib-base 9.1s\nExtracting (17) ━━━━━━━━━╸\u001b[33m━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 35 lerc 8.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gxorg-xproto 74.9kB @ 8.1kB/s 0.3s\n[+] 9.3s\nDownloading (5) ━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━\u001b[0m 92.1MB pillow 9.2s\nExtracting (18) ━━━━━━━━━╸\u001b[33m━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 35 lerc 8.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.4s\nDownloading (5) ━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━\u001b[0m 92.1MB pillow 9.3s\nExtracting (18) ━━━━━━━━━╸\u001b[33m━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 35 libbrotlienc 8.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.5s\nDownloading (5) ━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━\u001b[0m 99.3MB pillow 9.4s\nExtracting (17) ━━━━━━━━━╸\u001b[33m━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 36 libbrotlienc 8.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibbrotlidec 32.6kB @ 3.4kB/s 0.2s\n[+] 9.6s\nDownloading (5) ━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━\u001b[0m 101.0MB pillow 9.5s\nExtracting (18) ━━━━━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 36 libbrotlienc 8.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.7s\nDownloading (5) ━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━\u001b[0m 102.0MB python 9.6s\nExtracting (18) ━━━━━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 36 libbrotlienc 8.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.8s\nDownloading (5) ━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━\u001b[0m 103.9MB python 9.7s\nExtracting (18) ━━━━━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 36 libdeflate 8.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.9s\nDownloading (5) ━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━\u001b[0m 105.0MB python 9.8s\nExtracting (17) ━━━━━━━━━━╸\u001b[33m━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 37 libdeflate 9.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.0s\nDownloading (5) ━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━\u001b[0m 105.8MB python 9.9s\nExtracting (16) ━━━━━━━━━━╸\u001b[33m━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 38 libdeflate 9.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.1s\nDownloading (5) ━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━\u001b[0m 106.4MB rdkit 10.0s\nExtracting (16) ━━━━━━━━━━╸\u001b[33m━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 38 libdeflate 9.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gmatplotlib-base 6.8MB @ 667.1kB/s 1.9s\n[+] 10.2s\nDownloading (5) ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━\u001b[0m 110.7MB rdkit 10.1s\nExtracting (17) ━━━━━━━━━━╸\u001b[33m━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 38 libexpat 9.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.3s\nDownloading (5) ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━\u001b[0m 112.1MB rdkit 10.2s\nExtracting (17) ━━━━━━━━━━╸\u001b[33m━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 38 libexpat 9.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.4s\nDownloading (5) ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━\u001b[0m 112.1MB rdkit 10.3s\nExtracting (16) ━━━━━━━━━━╸\u001b[33m━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 39 libexpat 9.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gkrb5 1.4MB @ 131.1kB/s 0.9s\n[+] 10.5s\nDownloading (5) ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━\u001b[0m 114.4MB font-ttf-dejavu-sans-mono 10.4s\nExtracting (16) ━━━━━━━━━━╸\u001b[33m━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 40 libexpat 9.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.6s\nDownloading (5) ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━\u001b[0m 114.5MB font-ttf-dejavu-sans-mono 10.5s\nExtracting (16) ━━━━━━━━━━╸\u001b[33m━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 40 libwebp-base 9.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.7s\nDownloading (5) ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━\u001b[0m 115.5MB font-ttf-dejavu-sans-mono 10.6s\nExtracting (16) ━━━━━━━━━━╸\u001b[33m━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 40 libwebp-base 9.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibcurl 388.3kB @ 36.2kB/s 0.6s\nrdkit 36.4MB @ 3.4MB/s 7.5s\n[+] 10.8s\nDownloading (5) ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━\u001b[0m 118.6MB font-ttf-dejavu-sans-mono 10.7s\nExtracting (17) ━━━━━━━━━━━╸\u001b[33m━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 41 contourpy 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gfont-ttf-dejavu-sans-mono 397.4kB @ 36.5kB/s 0.4s\n[+] 10.9s\nDownloading (5) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 119.3MB fonts-conda-ecosystem 10.8s\nExtracting (17) ━━━━━━━━━━━╸\u001b[33m━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 42 contourpy 10.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gfonts-conda-ecosystem 3.7kB @ 333.0 B/s 0.3s\n[+] 11.0s\nDownloading (5) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 119.8MB libarchive 10.9s\nExtracting (18) ━━━━━━━━━━━╸\u001b[33m━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 42 contourpy 10.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibjpeg-turbo 496.4kB @ 44.9kB/s 0.3s\n[+] 11.1s\nDownloading (5) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 120.9MB libarchive 11.0s\nExtracting (19) ━━━━━━━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 42 contourpy 10.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gxorg-libxdmcp 19.1kB @ 1.7kB/s 0.3s\n[+] 11.2s\nDownloading (5) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 121.4MB libarchive 11.1s\nExtracting (20) ━━━━━━━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 42 cycler 10.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gbrotli 19.4kB @ 1.7kB/s 0.2s\n[+] 11.3s\nDownloading (5) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 122.2MB libarchive 11.2s\nExtracting (20) ━━━━━━━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 43 cycler 10.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibarchive 835.6kB @ 73.5kB/s 0.4s\nmunkres 12.5kB @ 1.1kB/s 0.3s\n[+] 11.4s\nDownloading (5) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 123.3MB hdf5 11.3s\nExtracting (21) ━━━━━━━━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 44 brotli 10.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.5s\nDownloading (5) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 123.8MB hdf5 11.4s\nExtracting (21) ━━━━━━━━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 44 brotli 10.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibpng 282.6kB @ 24.4kB/s 0.3s\n[+] 11.6s\nDownloading (5) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 124.6MB hdf5 11.5s\nExtracting (22) ━━━━━━━━━━━━╸\u001b[33m━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 44 brotli 10.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gpillow 46.5MB @ 4.0MB/s 8.9s\nxorg-libsm 26.4kB @ 2.3kB/s 0.3s\n[+] 11.7s\nDownloading (5) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 124.9MB hdf5 11.6s\nExtracting (24) ━━━━━━━━━━━━╸\u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 44 brotli 10.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.8s\nDownloading (5) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 125.2MB python 11.7s\nExtracting (23) ━━━━━━━━━━━━╸\u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 45 contourpy 10.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.9s\nDownloading (5) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 125.8MB python 11.8s\nExtracting (23) ━━━━━━━━━━━━╸\u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 45 contourpy 11.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 12.0s\nDownloading (5) ━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━\u001b[0m 127.6MB python 11.9s\nExtracting (22) ━━━━━━━━━━━━╸\u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 46 contourpy 11.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gxorg-libx11 829.9kB @ 68.9kB/s 0.4s\n[+] 12.1s\nDownloading (5) ━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━\u001b[0m 129.6MB python 12.0s\nExtracting (23) ━━━━━━━━━━━━╸\u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 46 contourpy 11.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Greportlab 2.3MB @ 193.9kB/s 0.6s\ncairo 1.6MB @ 129.9kB/s 0.5s\n[+] 12.2s\nDownloading (5) ━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━\u001b[0m 130.7MB boost-cpp 12.1s\nExtracting (25) ━━━━━━━━━━━━╸\u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━\u001b[0m 46 expat 11.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 12.3s\nDownloading (5) ━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━\u001b[0m 131.0MB boost-cpp 12.2s\nExtracting (24) ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━\u001b[0m 47 expat 11.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gkiwisolver 73.1kB @ 5.9kB/s 0.3s\n[+] 12.4s\nDownloading (5) ━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━\u001b[0m 131.3MB boost-cpp 12.3s\nExtracting (24) ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━\u001b[0m 48 expat 11.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gpixman 642.5kB @ 51.4kB/s 0.4s\n[+] 12.5s\nDownloading (4) ━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━\u001b[0m 132.1MB boost-cpp 12.4s\nExtracting (24) ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━\u001b[0m 48 expat 11.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gfreetype-py 58.9kB @ 4.7kB/s 0.2s\n[+] 12.6s\nDownloading (3) ━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━\u001b[0m 132.5MB hdf5 12.5s\nExtracting (26) ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━\u001b[0m 48 font-ttf-dejavu-sans-mono 11.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 12.7s\nDownloading (3) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 133.6MB hdf5 12.6s\nExtracting (25) ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━\u001b[0m 49 font-ttf-dejavu-sans-mono 11.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 12.8s\nDownloading (3) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 134.6MB hdf5 12.7s\nExtracting (25) ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━\u001b[0m 49 font-ttf-dejavu-sans-mono 11.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 12.9s\nDownloading (3) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 135.6MB hdf5 12.8s\nExtracting (25) ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━\u001b[0m 49 font-ttf-dejavu-sans-mono 12.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.0s\nDownloading (3) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 136.5MB python 12.9s\nExtracting (25) ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━\u001b[0m 49 freetype-py 12.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.1s\nDownloading (3) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 137.5MB python 13.0s\nExtracting (24) ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━\u001b[0m 50 freetype-py 12.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.2s\nDownloading (3) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 138.5MB python 13.1s\nExtracting (24) ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━\u001b[0m 50 freetype-py 12.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.3s\nDownloading (3) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 139.5MB python 13.2s\nExtracting (24) ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━\u001b[0m 50 freetype-py 12.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.4s\nDownloading (3) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 140.4MB boost-cpp 13.3s\nExtracting (24) ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━\u001b[0m 50 gettext 12.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Ghdf5 3.7MB @ 276.5kB/s 2.1s\n[+] 13.5s\nDownloading (2) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 141.5MB boost-cpp 13.4s\nExtracting (25) ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━\u001b[0m 50 gettext 12.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.6s\nDownloading (2) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 142.4MB boost-cpp 13.5s\nExtracting (24) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 51 gettext 12.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.7s\nDownloading (2) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 143.3MB boost-cpp 13.6s\nExtracting (24) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 51 gettext 12.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.8s\nDownloading (2) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 143.9MB python 13.7s\nExtracting (23) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 52 cairo 12.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.9s\nDownloading (2) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 144.5MB python 13.8s\nExtracting (23) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 52 cairo 13.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.0s\nDownloading (2) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 145.3MB python 13.9s\nExtracting (22) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 53 cairo 13.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.1s\nDownloading (2) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 146.2MB python 14.0s\nExtracting (22) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 53 cairo 13.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.2s\nDownloading (2) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 146.5MB boost-cpp 14.1s\nExtracting (21) ━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━\u001b[0m 54 expat 13.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.3s\nDownloading (2) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 146.6MB boost-cpp 14.2s\nExtracting (21) ━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━\u001b[0m 54 expat 13.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.4s\nDownloading (2) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 146.6MB boost-cpp 14.3s\nExtracting (21) ━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━\u001b[0m 54 expat 13.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.5s\nDownloading (2) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 147.1MB boost-cpp 14.4s\nExtracting (21) ━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━\u001b[0m 54 expat 13.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.6s\nDownloading (2) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 149.8MB python 14.5s\nExtracting (20) ━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━\u001b[0m 55 font-ttf-dejavu-sans-mono 13.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.7s\nDownloading (2) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 149.8MB python 14.6s\nExtracting (20) ━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━\u001b[0m 55 font-ttf-dejavu-sans-mono 13.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gboost-cpp 15.9MB @ 1.1MB/s 2.7s\n[+] 14.8s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 150.5MB python 14.7s\nExtracting (20) ━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━\u001b[0m 55 font-ttf-dejavu-sans-mono 13.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.9s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 150.6MB python 14.8s\nExtracting (21) ━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━\u001b[0m 55 font-ttf-dejavu-sans-mono 14.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.0s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 150.6MB python 14.9s\nExtracting (21) ━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━\u001b[0m 55 freetype-py 14.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.1s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 150.6MB python 15.0s\nExtracting (19) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 57 freetype-py 14.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.2s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 150.7MB python 15.1s\nExtracting (19) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 57 freetype-py 14.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.3s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 150.7MB python 15.2s\nExtracting (19) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 57 freetype-py 14.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.4s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 150.7MB python 15.3s\nExtracting (18) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 58 hdf5 14.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.5s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 150.7MB python 15.4s\nExtracting (17) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 59 hdf5 14.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.6s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 150.7MB python 15.5s\nExtracting (17) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 59 hdf5 14.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.7s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 150.8MB python 15.6s\nExtracting (17) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 59 hdf5 14.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.8s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 150.8MB python 15.7s\nExtracting (16) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 60 kiwisolver 14.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.9s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 150.8MB python 15.8s\nExtracting (16) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 60 kiwisolver 15.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.0s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 150.8MB python 15.9s\nExtracting (16) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 60 kiwisolver 15.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.1s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 150.9MB python 16.0s\nExtracting (16) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 60 kiwisolver 15.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.2s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 150.9MB python 16.1s\nExtracting (15) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 61 libbrotlidec 15.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.3s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 150.9MB python 16.2s\nExtracting (15) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 61 libbrotlidec 15.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.4s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 150.9MB python 16.3s\nExtracting (14) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 62 libbrotlidec 15.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.5s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.0MB python 16.4s\nExtracting (14) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 62 libbrotlidec 15.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.6s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.0MB python 16.5s\nExtracting (14) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 62 libbrotlienc 15.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.7s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.0MB python 16.6s\nExtracting (13) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 63 libbrotlienc 15.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.8s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.0MB python 16.7s\nExtracting (13) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 63 libbrotlienc 15.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.9s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.0MB python 16.8s\nExtracting (13) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 63 libbrotlienc 16.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.0s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.1MB python 16.9s\nExtracting (13) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 63 pixman 16.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.1s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.1MB python 17.0s\nExtracting (12) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 64 pixman 16.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.2s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.1MB python 17.1s\nExtracting (12) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 64 pixman 16.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.3s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.1MB python 17.2s\nExtracting (12) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 64 pixman 16.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.4s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.2MB python 17.3s\nExtracting (12) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 64 pycairo 16.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.5s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.2MB python 17.4s\nExtracting (12) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 64 pycairo 16.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.6s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.2MB python 17.5s\nExtracting (11) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 65 pycairo 16.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.7s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.2MB python 17.6s\nExtracting (11) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 65 pycairo 16.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.8s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.3MB python 17.7s\nExtracting (11) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 65 rdkit 16.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.9s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.3MB python 17.8s\nExtracting (11) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 65 rdkit 17.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.0s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.3MB python 17.9s\nExtracting (9) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 67 rdkit 17.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.1s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.4MB python 18.0s\nExtracting (9) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 67 rdkit 17.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.2s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.4MB python 18.1s\nExtracting (9) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 67 reportlab 17.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.3s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.4MB python 18.2s\nExtracting (8) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 68 reportlab 17.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.4s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.4MB python 18.3s\nExtracting (7) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 69 expat 17.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.5s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.5MB python 18.4s\nExtracting (7) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 69 expat 17.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.6s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.5MB python 18.5s\nExtracting (7) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 69 expat 17.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.7s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.5MB python 18.6s\nExtracting (5) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 71 expat 17.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.8s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.5MB python 18.7s\nExtracting (5) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 71 libbrotlidec 17.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.9s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.6MB python 18.8s\nExtracting (5) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 71 libbrotlidec 18.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.0s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.6MB python 18.9s\nExtracting (4) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 72 expat 18.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.1s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.6MB python 19.0s\nExtracting (4) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 72 expat 18.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.2s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.6MB python 19.1s\nExtracting (4) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 72 expat 18.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.3s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.6MB python 19.2s\nExtracting (3) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 73 expat 18.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.4s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.7MB python 19.3s\nExtracting (2) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 74 pixman 18.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.5s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.8MB python 19.4s\nExtracting (2) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 74 pixman 18.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.6s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.8MB python 19.5s\nExtracting (2) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 74 pixman 18.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.7s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.8MB python 19.6s\nExtracting (2) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 74 pixman 18.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.8s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.9MB python 19.7s\nExtracting (2) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 74 rdkit 18.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.9s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.9MB python 19.8s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 75 rdkit 19.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 20.0s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.9MB python 19.9s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 75 rdkit 19.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 20.1s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 152.0MB python 20.0s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 75 rdkit 19.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 20.2s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 152.0MB python 20.1s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 20.3s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 152.0MB python 20.2s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 20.4s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 152.0MB python 20.3s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 20.5s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 152.1MB python 20.4s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 20.6s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 152.1MB python 20.5s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 20.7s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 152.2MB python 20.6s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 20.8s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 152.2MB python 20.7s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 20.9s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 152.2MB python 20.8s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 21.0s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 152.3MB python 20.9s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 21.1s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 152.3MB python 21.0s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 21.2s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 152.3MB python 21.1s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 21.3s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 152.4MB python 21.2s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 21.4s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 152.4MB python 21.3s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 21.5s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 152.5MB python 21.4s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 21.6s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 152.5MB python 21.5s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 21.7s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 152.5MB python 21.6s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 21.8s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 152.6MB python 21.7s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 21.9s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 152.6MB python 21.8s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 22.0s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 152.6MB python 21.9s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 22.1s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 152.7MB python 22.0s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 22.2s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 152.7MB python 22.1s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 22.3s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 152.8MB python 22.2s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 22.4s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 152.8MB python 22.3s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 22.5s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 152.8MB python 22.4s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 22.6s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 152.8MB python 22.5s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 22.7s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 152.8MB python 22.6s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 22.8s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 152.8MB python 22.7s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 22.9s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 152.9MB python 22.8s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 23.0s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 152.9MB python 22.9s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 23.1s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 152.9MB python 23.0s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 23.2s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 153.0MB python 23.1s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 23.3s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 153.0MB python 23.2s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 23.4s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 153.0MB python 23.3s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 23.5s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 153.0MB python 23.4s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 23.6s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 153.1MB python 23.5s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 23.7s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 153.2MB python 23.6s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 23.8s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 153.3MB python 23.7s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 23.9s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 153.3MB python 23.8s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 24.0s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 153.4MB python 23.9s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 24.1s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 153.4MB python 24.0s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 24.2s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 153.4MB python 24.1s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 24.3s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 153.5MB python 24.2s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 24.4s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 153.6MB python 24.3s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 24.5s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 153.6MB python 24.4s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 24.6s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 153.7MB python 24.5s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 24.7s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 153.7MB python 24.6s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 24.8s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 153.8MB python 24.7s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 24.9s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 153.8MB python 24.8s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 25.0s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 153.9MB python 24.9s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 25.1s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 153.9MB python 25.0s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 25.2s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 154.0MB python 25.1s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 25.3s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 154.0MB python 25.2s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 25.4s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 154.1MB python 25.3s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 25.5s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 154.1MB python 25.4s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 25.6s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 154.2MB python 25.5s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 25.7s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 154.3MB python 25.6s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 25.8s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 154.3MB python 25.7s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 25.9s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 154.4MB python 25.8s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 26.0s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 154.5MB python 25.9s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 26.1s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 154.5MB python 26.0s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 26.2s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 154.6MB python 26.1s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 26.3s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 154.6MB python 26.2s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 26.4s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 154.7MB python 26.3s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 26.5s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 154.8MB python 26.4s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 26.6s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 154.8MB python 26.5s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 26.7s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 154.9MB python 26.6s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 26.8s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 154.9MB python 26.7s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 26.9s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 155.0MB python 26.8s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 27.0s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 155.1MB python 26.9s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 27.1s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 155.2MB python 27.0s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 27.2s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 155.2MB python 27.1s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 27.3s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 155.3MB python 27.2s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 27.4s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 155.4MB python 27.3s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 27.5s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 155.5MB python 27.4s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 27.6s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 155.5MB python 27.5s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 27.7s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 155.6MB python 27.6s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 27.8s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 155.6MB python 27.7s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 27.9s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 155.7MB python 27.8s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 28.0s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 155.8MB python 27.9s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 28.1s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 155.9MB python 28.0s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 28.2s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 155.9MB python 28.1s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 28.3s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 156.0MB python 28.2s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 28.4s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 156.1MB python 28.3s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 28.5s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 156.2MB python 28.4s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 28.6s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 156.3MB python 28.5s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 28.7s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 156.4MB python 28.6s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 28.8s\nDownloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 156.4MB python 28.7s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 28.9s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 156.5MB python 28.8s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 29.0s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 156.6MB python 28.9s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 29.1s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 156.7MB python 29.0s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 29.2s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 156.8MB python 29.1s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 29.3s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 156.8MB python 29.2s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 29.4s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 156.8MB python 29.3s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 29.5s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 157.0MB python 29.4s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 29.6s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 157.1MB python 29.5s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 29.7s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 157.2MB python 29.6s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 29.8s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 157.3MB python 29.7s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 29.9s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 157.4MB python 29.8s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 30.0s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 157.5MB python 29.9s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 30.1s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 157.6MB python 30.0s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 30.2s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 157.7MB python 30.1s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 30.3s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 157.8MB python 30.2s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 30.4s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 157.9MB python 30.3s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 30.5s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 158.0MB python 30.4s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 30.6s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 158.1MB python 30.5s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 30.7s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 158.2MB python 30.6s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 30.8s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 158.3MB python 30.7s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 30.9s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 158.3MB python 30.8s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 31.0s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 158.5MB python 30.9s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 31.1s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 158.6MB python 31.0s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 31.2s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 158.6MB python 31.1s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 31.3s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 158.7MB python 31.2s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 31.4s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 158.9MB python 31.3s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 31.5s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 159.0MB python 31.4s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 31.6s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 159.1MB python 31.5s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 31.7s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 159.2MB python 31.6s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 31.8s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 159.3MB python 31.7s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 31.9s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 159.5MB python 31.8s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 32.0s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 159.6MB python 31.9s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 32.1s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 159.7MB python 32.0s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 32.2s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 159.8MB python 32.1s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 32.3s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 160.0MB python 32.2s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 32.4s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 160.1MB python 32.3s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 32.5s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 160.2MB python 32.4s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 32.6s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 160.3MB python 32.5s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 32.7s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 160.4MB python 32.6s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 32.8s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 160.5MB python 32.7s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 32.9s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 160.6MB python 32.8s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 33.0s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 160.8MB python 32.9s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 33.1s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 160.9MB python 33.0s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 33.2s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 161.0MB python 33.1s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 33.3s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 161.2MB python 33.2s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 33.4s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 161.3MB python 33.3s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 33.5s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 161.3MB python 33.4s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 33.6s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 161.4MB python 33.5s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 33.7s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 161.4MB python 33.6s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 33.8s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 161.4MB python 33.7s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 33.9s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 161.5MB python 33.8s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 34.0s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 162.2MB python 33.9s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 34.1s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 162.4MB python 34.0s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 34.2s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 162.4MB python 34.1s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 34.3s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 162.4MB python 34.2s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 34.4s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 162.5MB python 34.3s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 34.5s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 162.5MB python 34.4s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 34.6s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 162.5MB python 34.5s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 34.7s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 162.5MB python 34.6s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 34.8s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 162.6MB python 34.7s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 34.9s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 162.7MB python 34.8s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 35.0s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 162.9MB python 34.9s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 35.1s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 163.0MB python 35.0s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 35.2s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 163.1MB python 35.1s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 35.3s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 163.3MB python 35.2s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 35.4s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 163.4MB python 35.3s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 35.5s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 163.6MB python 35.4s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 35.6s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 163.7MB python 35.5s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 35.7s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 163.9MB python 35.6s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 35.8s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 164.0MB python 35.7s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 35.9s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 164.2MB python 35.8s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 36.0s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 164.3MB python 35.9s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 36.1s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 164.5MB python 36.0s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 36.2s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 164.7MB python 36.1s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 36.3s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 164.9MB python 36.2s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 36.4s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 165.0MB python 36.3s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 36.5s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 165.1MB python 36.4s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 36.6s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 165.3MB python 36.5s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 36.7s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 165.4MB python 36.6s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 36.8s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 165.6MB python 36.7s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 36.9s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 165.8MB python 36.8s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 37.0s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 166.0MB python 36.9s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 37.1s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 166.1MB python 37.0s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 37.2s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 166.3MB python 37.1s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 37.3s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 166.5MB python 37.2s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 37.4s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 166.6MB python 37.3s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 37.5s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 166.9MB python 37.4s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 37.6s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 167.0MB python 37.5s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 37.7s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 167.2MB python 37.6s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 37.8s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 167.3MB python 37.7s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 37.9s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 167.5MB python 37.8s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 38.0s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 167.7MB python 37.9s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 38.1s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 167.9MB python 38.0s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 38.2s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 168.1MB python 38.1s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 38.3s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 168.3MB python 38.2s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 38.4s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 168.5MB python 38.3s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 38.5s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 168.7MB python 38.4s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 38.6s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 168.9MB python 38.5s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 38.7s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 169.1MB python 38.6s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 38.8s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 169.3MB python 38.7s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 38.9s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 169.5MB python 38.8s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 39.0s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 169.7MB python 38.9s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 39.1s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 169.9MB python 39.0s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 39.2s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 170.1MB python 39.1s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 39.3s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 170.3MB python 39.2s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 39.4s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 170.5MB python 39.3s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 39.5s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 170.7MB python 39.4s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 39.6s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 170.8MB python 39.5s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 39.7s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 170.9MB python 39.6s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 39.8s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 170.9MB python 39.7s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 39.9s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 170.9MB python 39.8s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 40.0s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 171.1MB python 39.9s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 40.1s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 172.0MB python 40.0s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 40.2s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 172.2MB python 40.1s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 40.3s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 172.4MB python 40.2s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 40.4s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 172.6MB python 40.3s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 40.5s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 172.8MB python 40.4s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 40.6s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 173.0MB python 40.5s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 40.7s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 173.2MB python 40.6s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 40.8s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 173.4MB python 40.7s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 40.9s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 173.6MB python 40.8s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 41.0s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 173.8MB python 40.9s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 41.1s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 174.0MB python 41.0s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 41.2s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 174.3MB python 41.1s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 41.3s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 174.5MB python 41.2s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 41.4s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 174.7MB python 41.3s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 41.5s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 174.9MB python 41.4s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 41.6s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 175.1MB python 41.5s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 41.7s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 175.3MB python 41.6s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 41.8s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 175.6MB python 41.7s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 41.9s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 175.8MB python 41.8s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 42.0s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 176.0MB python 41.9s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 42.1s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 176.3MB python 42.0s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 42.2s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 176.5MB python 42.1s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 42.3s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 176.7MB python 42.2s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 42.4s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 176.8MB python 42.3s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 42.5s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 176.8MB python 42.4s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 42.6s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 176.8MB python 42.5s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 42.7s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 176.9MB python 42.6s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 42.8s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 177.9MB python 42.7s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 42.9s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 178.2MB python 42.8s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 43.0s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 178.5MB python 42.9s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 43.1s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 178.7MB python 43.0s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 43.2s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 179.0MB python 43.1s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 43.3s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 179.2MB python 43.2s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 43.4s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 179.5MB python 43.3s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 43.5s\nDownloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 179.7MB python 43.4s\nExtracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gpython 30.4MB @ 698.4kB/s 37.0s\n[+] 43.6s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 43.7s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 19.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 43.8s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 19.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 43.9s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 19.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 44.0s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 19.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 44.1s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 19.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 44.2s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 19.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 44.3s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 20.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 44.4s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 20.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 44.5s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 20.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 44.6s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 20.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 44.7s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 20.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 44.8s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 20.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 44.9s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 20.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 45.0s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 20.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 45.1s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 20.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 45.2s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 20.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 45.3s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 21.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 45.4s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 21.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 45.5s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 21.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 45.6s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 21.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 45.7s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 21.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 45.8s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 21.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 45.9s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 21.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 46.0s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 21.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 46.1s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 21.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 46.2s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 21.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 46.3s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 22.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 46.4s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 22.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 46.5s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 22.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 46.6s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 22.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 46.7s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 22.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 46.8s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 22.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 46.9s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 22.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 47.0s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 22.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 47.1s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 22.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 47.2s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 22.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 47.3s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 23.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 47.4s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 23.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 47.5s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 76 python 23.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 47.6s\nDownloading ━━━━━━━━━━━━━━━━━━━━━━━ 179.9MB 43.5s\nExtracting ━━━━━━━━━━━━━━━━━━━━━━━ 77 23.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G\u001b[?25h\nDownloading and Extracting Packages\n\nPreparing transaction: done\nVerifying transaction: done\nExecuting transaction: done\nLooking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple\nCollecting parmed\n Downloading https://pypi.tuna.tsinghua.edu.cn/packages/dc/85/01007d38fe0945398c5e0ec7c7ce2d9cc433289bf05e32393c8e48e71cd4/ParmEd-4.1.0.tar.gz (2.2 MB)\n\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.2/2.2 MB\u001b[0m \u001b[31m27.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n\u001b[?25h Preparing metadata (setup.py) ... \u001b[?25ldone\n\u001b[?25hRequirement already satisfied: mdtraj in /opt/mamba/lib/python3.10/site-packages (1.9.7)\nRequirement already satisfied: pymbar in /opt/mamba/lib/python3.10/site-packages (4.0.1)\nCollecting networkx\n Downloading https://pypi.tuna.tsinghua.edu.cn/packages/a8/05/9d4f9b78ead6b2661d6e8ea772e111fc4a9fbd866ad0c81906c11206b55e/networkx-3.1-py3-none-any.whl (2.1 MB)\n\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.1/2.1 MB\u001b[0m \u001b[31m51.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m\n\u001b[?25hRequirement already satisfied: numpy>=1.6 in /opt/mamba/lib/python3.10/site-packages (from mdtraj) (1.23.4)\nRequirement already satisfied: astunparse in /opt/mamba/lib/python3.10/site-packages (from mdtraj) (1.6.3)\nRequirement already satisfied: pyparsing in /opt/mamba/lib/python3.10/site-packages (from mdtraj) (3.0.9)\nRequirement already satisfied: scipy in /opt/mamba/lib/python3.10/site-packages (from mdtraj) (1.9.3)\nRequirement already satisfied: jax in /opt/mamba/lib/python3.10/site-packages (from pymbar) (0.3.17)\nRequirement already satisfied: numexpr in /opt/mamba/lib/python3.10/site-packages (from pymbar) (2.8.4)\nRequirement already satisfied: jaxlib in /opt/mamba/lib/python3.10/site-packages (from pymbar) (0.3.15+cuda11.cudnn82)\nRequirement already satisfied: wheel<1.0,>=0.23.0 in /opt/mamba/lib/python3.10/site-packages (from astunparse->mdtraj) (0.37.1)\nRequirement already satisfied: six<2.0,>=1.6.1 in /opt/mamba/lib/python3.10/site-packages (from astunparse->mdtraj) (1.16.0)\nRequirement already satisfied: typing-extensions in /opt/mamba/lib/python3.10/site-packages (from jax->pymbar) (4.8.0)\nRequirement already satisfied: opt-einsum in /opt/mamba/lib/python3.10/site-packages (from jax->pymbar) (3.3.0)\nRequirement already satisfied: etils[epath] in /opt/mamba/lib/python3.10/site-packages (from jax->pymbar) (0.9.0)\nRequirement already satisfied: absl-py in /opt/mamba/lib/python3.10/site-packages (from jax->pymbar) (1.3.0)\nRequirement already satisfied: importlib_resources in /opt/mamba/lib/python3.10/site-packages (from etils[epath]->jax->pymbar) (5.10.0)\nRequirement already satisfied: zipp in /opt/mamba/lib/python3.10/site-packages (from etils[epath]->jax->pymbar) (3.10.0)\nBuilding wheels for collected packages: parmed\n Building wheel for parmed (setup.py) ... \u001b[?25ldone\n\u001b[?25h Created wheel for parmed: filename=ParmEd-4.1.0-cp310-cp310-linux_x86_64.whl size=1250051 sha256=8937550b1672378a608d73fce57d2b08e1708c0bafae003244ab6d6a0cfd5556\n Stored in directory: /root/.cache/pip/wheels/3c/92/a9/7282efbb63e0a2699132aa10ec070aad1688e7e0885b8832ea\nSuccessfully built parmed\nInstalling collected packages: parmed, networkx\nSuccessfully installed networkx-3.1 parmed-4.1.0\n\u001b[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv\u001b[0m\u001b[33m\n\u001b[0m","output_type":"stream"}],"id":"829d7d23-ad93-4d15-bf0b-eaf6bd1fe41d"},{"cell_type":"markdown","source":"Copy the example files to the root directory.","metadata":{},"id":"8ca10738-9594-4da1-ab94-f70aa9e238f7"},{"cell_type":"code","source":"! cp DMFF/tests/data/bond1.xml .\n! cp DMFF/tests/data/bond1.pdb .","metadata":{"trusted":true},"execution_count":6,"outputs":[],"id":"9c861cde-19e7-4dbc-9a29-5a3462bba31c"},{"cell_type":"markdown","source":"## Import the necessary libraries","metadata":{},"id":"bc3c4e1f-f874-430a-bc51-35245f4b861f"},{"cell_type":"code","source":"from typing import Tuple\nimport numpy as np\nimport jax.numpy as jnp\nimport jax\nfrom dmff.api.topology import DMFFTopology\nfrom dmff.api.paramset import ParamSet\nfrom dmff.api.xmlio import XMLIO\nfrom dmff.api.hamiltonian import _DMFFGenerators\nfrom dmff.classical.intra import HarmonicBondJaxForce\nfrom dmff.utils import DMFFException, isinstance_jnp","metadata":{"trusted":true},"execution_count":1,"outputs":[{"name":"stderr","text":"2023-09-23 18:08:32.369984: W external/org_tensorflow/tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcuda.so.1'; dlerror: /usr/lib/x86_64-linux-gnu/libcuda.so.1: file too short; LD_LIBRARY_PATH: /usr/local/nvidia/lib:/usr/local/nvidia/lib64\nWARNING:absl:No GPU/TPU found, falling back to CPU. (Set TF_CPP_MIN_LOG_LEVEL=0 and rerun for more info.)\n2023-09-23 18:08:32.370046: W external/org_tensorflow/tensorflow/stream_executor/cuda/cuda_driver.cc:263] failed call to cuInit: UNKNOWN ERROR (303)\n","output_type":"stream"}],"id":"30abb3c9-c4e8-4975-86c2-2d1c227c7b01"},{"cell_type":"markdown","source":"## Create the Generator class","metadata":{},"id":"d1c59294-2440-4c4b-8417-676d03ca569d"},{"cell_type":"code","source":"class HarmonicBondGenerator:\n \"\"\"\n A class for generating harmonic bond force field parameters.\n\n Attributes:\n -----------\n name : str\n The name of the force field.\n ffinfo : dict\n The force field information.\n key_type : str\n The type of the key.\n bond_keys : list of tuple\n The keys of the bonds.\n bond_params : list of tuple\n The parameters of the bonds.\n bond_mask : list of float\n The mask of the bonds.\n _use_smarts : bool\n Whether to use SMARTS.\n \"\"\"\n\n def __init__(self, ffinfo: dict, paramset: ParamSet):\n \"\"\"\n Initializes the HarmonicBondGenerator.\n\n Parameters:\n -----------\n ffinfo : dict\n The force field information.\n paramset : ParamSet\n The parameter set.\n \"\"\"\n self.name = \"HarmonicBondForce\" # 初始化Generator所关联的势函数名称\n self.ffinfo = ffinfo # 绑定这一Generator所对应的力场文件信息\n paramset.addField(self.name) # 在参数集中注册一个Field,用于存储这一势函数相关的参数。ParamSet介绍见下文。\n self.key_type = None\n\n bond_keys, bond_params, bond_mask = [], [], [] # 创建bond_keys, bond_params, bond_mask三个List,每个key对应着相应位置的力场参数与mask。\n for node in self.ffinfo[\"Forces\"][self.name][\"node\"]:\n attribs = node[\"attrib\"]\n \n # 判断bond term使用\"type\"还是\"class\"进行匹配。目前仅支持基于这两个属性的参数匹配,并且不允许混搭。\n if self.key_type is None and \"type1\" in attribs:\n self.key_type = \"type\"\n elif self.key_type is None and \"class1\" in attribs:\n self.key_type = \"class\"\n elif self.key_type is not None and f\"{self.key_type}1\" not in attribs:\n raise ValueError(\"Keyword 'class' or 'type' cannot be used together.\")\n else:\n raise ValueError(\"Cannot find key type for HarmonicBondForce.\")\n key = (attribs[self.key_type + \"1\"], attribs[self.key_type + \"2\"])\n bond_keys.append(key)\n\n k = float(attribs[\"k\"])\n r0 = float(attribs[\"length\"])\n bond_params.append([k, r0])\n\n # when the node has mask attribute, it means that the parameter is not trainable. \n # the gradient of this parameter will be zero.\n mask = 1.0\n if \"mask\" in attribs and attribs[\"mask\"].upper() == \"TRUE\":\n mask = 0.0\n bond_mask.append(mask)\n\n self.bond_keys = bond_keys\n bond_length = jnp.array([i[1] for i in bond_params])\n bond_k = jnp.array([i[0] for i in bond_params])\n bond_mask = jnp.array(bond_mask)\n\n # 在ParamSet中注册参数。\n # 在Generator初始化结束后,我们可以通过ParamSet调用这些参数,不经过Generator,进而保证这些参数与Generator无关。\n # 可优化的参数与函数独立存在,不构成闭包,是可微分编程正确求导的前提。\n paramset.addParameter(bond_length, \"length\", field=self.name, mask=bond_mask) # register parameters to ParamSet\n paramset.addParameter(bond_k, \"k\", field=self.name, mask=bond_mask) # register parameters to ParamSet\n \n def getName(self) -> str:\n \"\"\"\n Returns the name of the force field.\n\n Returns:\n --------\n str\n The name of the force field.\n \"\"\"\n return self.name\n \n # 根据输入的ParamSet直接修改self.ffinfo的值。\n # self.ffinfo是解析xml力场文件后得到的dict,在保持格式约定的前提下,可以直接与xml文件互转。\n # 修改self.ffinfo中参数的值,而后我们可以直接将self.ffinfo渲染成新的力场参数文件。\n # 这一函数的入参是固定的。\n def overwrite(self, paramset: ParamSet) -> None:\n \"\"\"\n Overwrites the parameter set.\n\n Parameters:\n -----------\n paramset : ParamSet\n The parameter set.\n \"\"\"\n bond_node_indices = [i for i in range(len(self.ffinfo[\"Forces\"][self.name][\"node\"])) if self.ffinfo[\"Forces\"][self.name][\"node\"][i][\"name\"] == \"Bond\"]\n\n bond_length = paramset[self.name][\"length\"]\n bond_k = paramset[self.name][\"k\"]\n bond_msks = paramset.mask[self.name][\"length\"]\n for nnode, key in enumerate(self.bond_keys):\n self.ffinfo[\"Forces\"][self.name][\"node\"][bond_node_indices[nnode]][\"attrib\"] = {}\n self.ffinfo[\"Forces\"][self.name][\"node\"][bond_node_indices[nnode]][\"attrib\"][f\"{self.key_type}1\"] = key[0]\n self.ffinfo[\"Forces\"][self.name][\"node\"][bond_node_indices[nnode]][\"attrib\"][f\"{self.key_type}2\"] = key[1]\n r0 = bond_length[nnode]\n k = bond_k[nnode]\n mask = bond_msks[nnode]\n self.ffinfo[\"Forces\"][self.name][\"node\"][bond_node_indices[nnode]][\"attrib\"][\"k\"] = str(k)\n self.ffinfo[\"Forces\"][self.name][\"node\"][bond_node_indices[nnode]][\"attrib\"][\"length\"] = str(r0)\n if mask < 0.999:\n self.ffinfo[\"Forces\"][self.name][\"node\"][bond_node_indices[nnode]][\"attrib\"][\"mask\"] = \"true\"\n\n # 工具函数,用于查找与选定bond匹配的key的角标\n def _find_key_index(self, key: Tuple[str, str]) -> int:\n \"\"\"\n Finds the index of the key.\n\n Parameters:\n -----------\n key : tuple of str\n The key.\n\n Returns:\n --------\n int\n The index of the key.\n \"\"\"\n for i, k in enumerate(self.bond_keys):\n if k[0] == key[0] and k[1] == key[1]:\n return i\n if k[0] == key[1] and k[1] == key[0]:\n return i\n return None\n\n # 撰写方法来创建势函数。\n # 对于不同的topdata,我们所构造的势函数是不同的。\n # Generator负责基于输入的topdata构建从能量到力场参数的求导链,这使得Generator仅与力场参数相关,与各个体系的拓扑无关。\n # 这一函数的入参是固定的。\n def createPotential(self, topdata: DMFFTopology, nonbondedMethod,\n nonbondedCutoff, args):\n \"\"\"\n Creates the potential.\n\n Parameters:\n -----------\n topdata : DMFFTopology\n The topology data.\n nonbondedMethod : str\n The nonbonded method.\n nonbondedCutoff : float\n The nonbonded cutoff.\n args : list\n The arguments.\n\n Returns:\n --------\n function\n The potential function.\n \"\"\"\n # 按照HarmonicBondForce的要求遍历体系中所有的bond,进行匹配\n bond_a1, bond_a2, bond_indices = [], [], []\n for bond in topdata.bonds():\n a1, a2 = bond.atom1, bond.atom2\n i1, i2 = a1.index, a2.index\n if self.key_type == \"type\":\n key = (a1.meta[\"type\"], a2.meta[\"type\"])\n elif self.key_type == \"class\":\n key = (a1.meta[\"class\"], a2.meta[\"class\"])\n idx = self._find_key_index(key)\n if idx is None:\n continue\n bond_a1.append(i1)\n bond_a2.append(i2)\n bond_indices.append(idx)\n bond_a1 = jnp.array(bond_a1)\n bond_a2 = jnp.array(bond_a2)\n bond_indices = jnp.array(bond_indices)\n \n # 创建势函数\n harmonic_bond_force = HarmonicBondJaxForce(bond_a1, bond_a2, bond_indices)\n harmonic_bond_energy = harmonic_bond_force.generate_get_energy()\n \n # 包装成统一的potential_function函数形式,传入四个参数:positions, box, pairs, parameters。\n def potential_fn(positions: jnp.ndarray, box: jnp.ndarray, pairs: jnp.ndarray, params: ParamSet) -> jnp.ndarray:\n isinstance_jnp(positions, box, params)\n energy = harmonic_bond_energy(positions, box, pairs, params[self.name][\"k\"], params[self.name][\"length\"])\n return energy\n\n self._jaxPotential = potential_fn\n return potential_fn\n","metadata":{"trusted":true},"execution_count":2,"outputs":[],"id":"62d85f8b-d1fe-4842-b8c8-e2fcb6f09c25"},{"cell_type":"markdown","source":"## Register the Generator with DMFF and bind it to a specific Force in the XML file","metadata":{},"id":"51168e46-d582-42b8-a65f-1320f7a09161"},{"cell_type":"code","source":"# register the generator\n_DMFFGenerators[\"HarmonicBondForce\"] = HarmonicBondGenerator","metadata":{"trusted":true},"execution_count":3,"outputs":[],"id":"b48500d8-4e24-4f3d-bb30-5dabf3475a24"},{"cell_type":"markdown","source":"## Test\n\n### Test system energy calculation using OpenMM","metadata":{},"id":"2a0f799e-c5ff-4d60-bbb8-4b075a1138d3"},{"cell_type":"code","source":"import openmm as mm\nimport openmm.app as app\nimport openmm.unit as unit\n\n\npdb = app.PDBFile(\"bond1.pdb\")\nff = app.ForceField(\"bond1.xml\")\nsystem = ff.createSystem(pdb.topology)\ninteg = mm.VerletIntegrator(1e-10)\ncontext = mm.Context(system, integ)\ncontext.setPositions(pdb.getPositions())\nenergy = context.getState(getEnergy=True).getPotentialEnergy()\nprint(\"OpenMM:\", energy)","metadata":{"trusted":true},"execution_count":4,"outputs":[{"name":"stdout","text":"OpenMM: 1389.1622953572387 kJ/mol\n","output_type":"stream"}],"id":"2d6c4b52-64a7-44e4-aaef-de243fdb0093"},{"cell_type":"markdown","source":"### Test system energy calculation using DMFF","metadata":{},"id":"1d32e830-500c-4ae1-bbf9-f69214196423"},{"cell_type":"code","source":"from dmff.operators import TemplateATypeOperator\n\n# 体系坐标。\npos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer)\npos = jnp.array(pos)\n\n# DMFF格式下的体系拓扑,支持直接基于openmm的topology对象进行初始化。\ndmfftop = DMFFTopology(from_top=pdb.topology)\n\n# 盒子,在这一示例中并无用处。\nbox = np.eye(3) * 10.0\nbox = jnp.array(box)\n\n# XML力场读写工具\nxmlio = XMLIO()\nxmlio.loadXML(\"bond1.xml\")\n# 将xml文件解析为Dict,命名为ffinfo\nffinfo = xmlio.parseXML()\n\n# 根据力场文件中的residue template,基于图同构,为topology中各个atom赋予atom type,存储于Atom.meta中。\ntempOP = TemplateATypeOperator(ffinfo)\ntop_atype = tempOP(dmfftop)\nfor atom in top_atype.atoms():\n print(\"Meta data:\", atom.meta)\nprint()\n \n# 初始化ParamSet。\n# ParamSet是一个PyTree类。它类似一个字典,但被限制了深度,只有两层。\n# 第一层叫做Field,按照势函数名称分类,对于这个示例,就是HarmonicBondForce。\n# 第二层是势函数的各个参数,在这个示例中即为length和k。\n# mask也被初始化于ParamSet中,本示例中暂不展示。\nparamset = ParamSet()\n# 初始化Generator。\ngenerator = HarmonicBondGenerator(ffinfo, paramset)\n\n# 查看ParamSet。\nprint(paramset.parameters)\nprint()\n\n# init potential\npotential = generator.createPotential(top_atype, app.NoCutoff, 1.0, {})\nenergy = potential(pos, box, [], paramset)\nprint(f\"DMFF: {energy} kJ/mol\")","metadata":{"trusted":true},"execution_count":20,"outputs":[{"name":"stdout","text":"Meta data: {'element': 'N', 'external_bond': False, 'type': 'n1', 'class': 'n1'}\nMeta data: {'element': 'N', 'external_bond': False, 'type': 'n2', 'class': 'n2'}\n\n{'HarmonicBondForce': {'length': DeviceArray([0.09572], dtype=float32), 'k': DeviceArray([462750.4], dtype=float32)}}\n\nDMFF: 1389.1622314453125 kJ/mol\n","output_type":"stream"}],"id":"954a429e-b123-42e1-85cd-22497e31ac88"},{"cell_type":"markdown","source":"### XML force field file update example","metadata":{},"id":"aa4d422d-ab5f-4d62-b611-de2460c56527"},{"cell_type":"code","source":"print(\">>>> Before updating <<<<\")\n! cat bond1.xml\n\nparamset[\"HarmonicBondForce\"][\"length\"] = paramset[\"HarmonicBondForce\"][\"length\"].at[0].set(0.1)\n\ngenerator.overwrite(paramset)\nxmlio.writeXML(\"bond_update.xml\", ffinfo)\nprint(\"\\n\\n>>>> After updating <<<<\")\n! cat bond_update.xml\n","metadata":{"trusted":true},"execution_count":27,"outputs":[{"name":"stdout","text":">>>> Before updating <<<<\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n>>>> After updating <<<<\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n","output_type":"stream"}],"id":"0f319818-f425-4141-9b92-71237e2fc62d"},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[],"id":"f1369677-c20f-42bd-9307-e04ae5246a28"}]} \ No newline at end of file diff --git a/docs/dev_guide/introduction.md b/docs/dev_guide/introduction.md index 864be0e1e..03c7a1eb5 100644 --- a/docs/dev_guide/introduction.md +++ b/docs/dev_guide/introduction.md @@ -19,3 +19,6 @@ In the *Implementation of New Potentials* section, we will show how to implement In the *Document Writing* section, we will talk about how to write docs for your new module. DMFF is a collection of force field calculators, and each force field calculator has its own parameters and may be invoked in different ways. Therefore, to make it easy to use and easy to maintain, the developers are required to document the theroy behind the code and the user interface of the code before PR. In the *Checklist before PR* section is what you should do before you submit your PR to Github. In this section, you will learn how to write unit tests, check format, and add proper commentsin your code. + +Finally, we will provide a case study, guiding you step-by-step on *how to write a generator*. ++ [An example for developing: how to write a generator?](./generator.ipynb) diff --git a/docs/index.md b/docs/index.md index d66fa2f09..ae2190aa9 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,7 +1,7 @@ # DMFF -[![doi:10.26434/chemrxiv-2022-2c7gv](https://img.shields.io/badge/DOI-10.26434%2Fchemrxiv--2022--2c7gv-blue)](https://doi.org/10.26434/chemrxiv-2022-2c7gv) - +[![DOI: 10.1021/acs.jctc.2c01297](https://img.shields.io/badge/DOI-10.1021%2Facs.jctc.2c01297-blue)](https://pubs.acs.org/doi/10.1021/acs.jctc.2c01297) + ## About DMFF **DMFF** (**D**ifferentiable **M**olecular **F**orce **F**ield) is a Jax-based python package that provides a full differentiable implementation of molecular force field models. This project aims to establish an extensible codebase to minimize the efforts in force field parameterization, and to ease the force and virial tensor evaluations for advanced complicated potentials (e.g., polarizable models with geometry-dependent atomic parameters). Currently, this project mainly focuses on the molecular systems such as: water, biological macromolecules (peptides, proteins, nucleic acids), organic polymers, and small organic molecules (organic electrolyte, drug-like molecules) etc. We support both the conventional point charge models (OPLS and AMBER like) and multipolar polarizable models (AMOEBA and MPID like). The entire project is backed by the XLA technique in JAX, thus can be "jitted" and run in GPU devices much more efficiently compared to normal python codes. @@ -10,26 +10,34 @@ The behavior of organic molecular systems (e.g., protein folding, polymer struct ### License and credits -The project DMFF is licensed under [GNU LGPL v3.0](LICENSE). If you use this code in any future publications, please cite this using `Wang X, Li J, Yang L, Chen F, Wang Y, Chang J, et al. DMFF: An Open-Source Automatic -Differentiable Platform for Molecular Force Field -Development and Molecular Dynamics -Simulation. ChemRxiv. Cambridge: Cambridge Open Engage; 2022; This content is a preprint and has not been peer-reviewed. +The project DMFF is licensed under [GNU LGPL v3.0](LICENSE). If you use this code in any future publications, please cite this using `Xinyan Wang, Jichen Li, Lan Yang, Feiyang Chen, Yingze Wang, Junhan Chang, Junmin Chen, Wei Feng, Linfeng Zhang, and Kuang Yu +Journal of Chemical Theory and Computation 2023 19 (17), 5897-5909 +DOI: 10.1021/acs.jctc.2c01297` ## User Guide -+ [1. Introduction](user_guide/introduction.md) -+ [2. Installation](user_guide/installation.md) -+ [3. Basic usage](user_guide/usage.md) -+ [4. XML format force field](user_guide/xml_spec.md) -+ [5. Theory](user_guide/theory.md) ++ [1. Introduction](./user_guide/1.introduction.md) ++ [2. Installation](./user_guide/2.installation.md) ++ [3. Basic Usage](./user_guide/3.usage.md) ++ [4. Modules](./user_guide/4.modules.md) + + [Classical](./user_guide/4.1classical.md) + + [ADMP](./user_guide/4.2ADMPPmeForce.md) + + [Qeq](./user_guide/4.3ADMPQeqForce.md) + + [Machine Learning](./user_guide/4.4MLForce.md) + + [Optimization](./user_guide/4.5Optimization.md) + + [Mbar Estimator](./user_guide/4.6MBAR.md) + + [OpenMM Plugin](./user_guide/4.7OpenMMplugin.md) ++ [5. Advanced examples](./user_guide/DMFF_example.ipynb) ## Developer Guide -+ [1. Introduction](dev_guide/introduction.md) -+ [2. Software architecture](dev_guide/arch.md) -+ [3. Coding conventions](dev_guide/convention.md) -+ [4. Document writing](dev_guide/write_docs.md) ++ [1. Introduction](./dev_guide/introduction.md) ++ [2. Software architecture](./dev_guide/arch.md) ++ [3. Coding conventions](./dev_guide/convention.md) ++ [4. Document writing](./dev_guide/write_docs.md) ++ [5. An example for developing: how to write a generator?](./dev_guide/generator.ipynb) ## Code Structure + The code is organized as follows: + `examples`: demos presented in Jupyter Notebook. @@ -37,11 +45,14 @@ The code is organized as follows: + `package`: files for constructing packages or images, such as conda recipe and docker files. + `tests`: unit tests. + `dmff`: DMFF python codes ++ `dmff/api`: source code of application programming interface of DMFF. + `dmff/admp`: source code of automatic differentiable multipolar polarizable (ADMP) force field module. + `dmff/classical`: source code of classical force field module. + `dmff/common`: source code of common functions, such as neighbor list. -+ `dmff/generators`: source code of force generators. + `dmff/sgnn`: source of subgragh neural network force field model. ++ `dmff/eann`: source of embedded atom neural network force field model. ++ `dmff/generators`: source code of force generators. ++ `dmff/operators`: source code of operators. ## Support and Contribution diff --git a/docs/user_guide/1.introduction.md b/docs/user_guide/1.introduction.md new file mode 100644 index 000000000..3e1251bf3 --- /dev/null +++ b/docs/user_guide/1.introduction.md @@ -0,0 +1,21 @@ +# 1. Introduction + +In this user guide, you will learn: + +- [DMFF Installation](./2.installation.md) +- [Basic Usage](./3.usage.md) of DMFF, including how to compute energy, forces and parametric gradients +- [New modules release](./4.modules.md) +- [Advanced examples](./DMFF_example.ipynb) of DMFF, which can help you quickly get started with DMFF + +The first thing you should know is that DMFF is not an actual force field model (such as OPLS or AMBER), but a differentiable implementation of various force field (or "potential") functional forms. It contains following modules: + +- Classical module: implements classical force fields (OPLS or GAFF like potentials) +- ADMP module: Automatic Differentiable Multipolar Polarizable potential (MPID like potentials) +- Qeq module: supports to coulombic energy calculation for constant potential model and constant charge model. +- ML module: Machine Learning force field include sgnn and eann, implementing subgragh neural network model for intramolecular interactions +- Optimization module: Implements automatic optimization of force field parameters. +- MBAR Estimator module: Achieves differentiable estimation of thermodynamic quantities and trajectory reweighting through MBAR. +- OpenMM DMFF Plugin module + +Each module implements a particular form of force field, which takes a unique set of input parameters, usually provided in a XML file, or other feature you need. With DMFF, one can easily compute the energy as well as energy gradients including: forces, virial tensors, and gradients with respect to force field parameters etc. + diff --git a/docs/user_guide/installation.md b/docs/user_guide/2.installation.md similarity index 71% rename from docs/user_guide/installation.md rename to docs/user_guide/2.installation.md index 19f0f31b7..d2e21cebf 100644 --- a/docs/user_guide/installation.md +++ b/docs/user_guide/2.installation.md @@ -3,15 +3,19 @@ + Create conda environment: ``` conda create -n dmff python=3.9 --yes +conda activate dmff ``` + Install [jax](https://github.com/google/jax) (select the correct cuda version, see more details in the Jax installation guide): ```bash -pip install "jaxlib[cuda11_cudnn805]==0.3.15" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html -pip install jax==0.3.17 +# CPU version +pip install "jax[cpu]==0.4.14" +# GPU version +pip install "jax[cuda11_local]==0.4.14" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html ``` -+ Install [jax-md](https://github.com/google/jax-md): ++ Install [mdtraj](https://github.com/mdtraj/mdtraj), [optax](https://github.com/deepmind/optax), [jaxopt](https://github.com/google/jaxopt) and [pymbar](https://github.com/choderalab/pymbar): ```bash -pip install jax-md==0.2.0 +conda install -c conda-forge mdtraj==1.9.7 +pip install optax==0.1.3 pymbar==4.0.1 jaxopt==0.8.1 ``` + Install [mdtraj](https://github.com/mdtraj/mdtraj), [optax](https://github.com/deepmind/optax) and [pymbar](https://github.com/choderalab/pymbar): ```bash @@ -28,12 +32,9 @@ conda install -c conda-forge openmm==7.7.0 conda install -c conda-forge rdkit ``` ## 2.2 Install DMFF from Source Code -One can download the DMFF source code from github: +One can download the DMFF source code from github and install it using `pip`. : ```bash git clone https://github.com/deepmodeling/DMFF.git -``` -Then you may install DMFF using `pip`: -```bash cd DMFF pip install . --user ``` diff --git a/docs/user_guide/3.usage.md b/docs/user_guide/3.usage.md new file mode 100644 index 000000000..6f9c430ab --- /dev/null +++ b/docs/user_guide/3.usage.md @@ -0,0 +1,117 @@ +# 3. Basic usage +This chapter will introduce some basic usage of DMFF. All scripts can be found in `examples/` directory in which Jupyter notebook-based demos are provided. +## 3.1 Compute energy +DMFF uses OpenMM to parse input files, including coordinates file, topology specification file and force field parameter file. Then, the core class `Hamiltonian` inherited from `openmm.ForceField` will be initialized and the method `createPotential` will be called to create differentiable potential energy functions for different energy terms. Take parametrzing an organic moleclue with GAFF2 force field as an example: +```python +import jax +import jax.numpy as jnp +import openmm.app as app +import openmm.unit as unit +from dmff import Hamiltonian, NeighborList + +app.Topology.loadBondDefinitions("lig-top.xml") +pdb = app.PDBFile("lig.pdb") +ff = Hamiltonian("gaff-2.11.xml", "lig-prm.xml") +potentials = ff.createPotential(pdb.topology) +for k in potentials.dmff_potentials.keys(): + pot = potentials.dmff_potentials[k] + print(pot) +``` +In this example, `lig.pdb` is the PDB file containing atomic coordinates, and `lig-top.xml` specifying bond connections within a molecule and this information is required by `openmm.app` to generate molecular topology. Note that this file is not always required, if bond conncections are defined in .pdb file by `CONNECT` keyword. `gaff-2.11.xml` contains GAFF2 force field parameters (bonds, angles, torsion and vdW), and `lig-prm.xml` contains atomic partial charges (GAFF2 requests a user-defined charge assignment process). This xml format is compatitable with OpenMM definitions, and a detailed description can be found in [OpenMM user guide](`http://docs.openmm.org/latest/userguide/application/05_creating_ffs.html`) or [XML-format force fields](./xml_spec.md) section. + +If you run this script in `examples/classical`, you will get the following output. +``` +.potential_fn at 0x7fe6c3bd2280> +.potential_fn at 0x7fe6c3bd2670> +.potential_fn at 0x7fe6c3c4a8b0> +.potential_fn at 0x7fe6c3bd8670> +``` +The force field parameters are stored as a Python dict in the Hamiltonian. +```python +params = ff.getParameters() +nbparam = params['NonbondedForce'] +nbparam +``` + +``` +{ + 'sigma': DeviceArray([0.33152124, ...], dtype=float32), + 'epsilon': DeviceArray([0.4133792, ...], dtype=float32), + 'epsfix': DeviceArray([], dtype=float32), + 'sigfix': DeviceArray([], dtype=float32), + 'charge': DeviceArray([-0.75401515, ...], dtype=float32), + 'coulomb14scale': DeviceArray([0.8333333], dtype=float32), + 'lj14scale': DeviceArray([0.5], dtype=float32) +} +``` + + +Each generated function will read coordinates, box, pairs and force field parameters as inputs. +```python +positions = jnp.array(pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer)) +box = jnp.array([ + [10.0, 0.0, 0.0], + [ 0.0, 10.0, 0.0], + [ 0.0, 0.0, 10.0] +]) +nbList = NeighborList(box, rcut=4, cov_map=potentials.meta["cov_map"]) +nbList.allocate(positions) +pairs = nbList.pairs +``` +Note that in order to take advantages of the auto-differentiable implementation in JAX, the input arrays have to be `jax.numpy.ndarray`, otherwise DMFF will raise an error. `pairs` is a $N\times 2$ integer array in which each row specifying atoms condsidered as neighbors within `rcut`. As shown above, this can be calculated with `dmff.NeighborList` class which is supported by `jax_md`. + +The potential energy function will give energy (a scalar, in kJ/mol) as output: +```python +nbfunc = potentials.dmff_potentials['NonbondedForce'] +nbene = nbfunc(positions, box, pairs, params) +print(nbene) +``` +If everything works fine, you will get `-425.40470` as a result. In addition, you can also use `getPotentialFunc()` and `getParameters()` to obtain the whole potential energy function and force field parameter set, instead of seperated functions for different energy terms. +```python +efunc = potentials.getPotentialFunc() +params = ff.getParameters() +totene = efunc(positions, box, pairs, params) +``` + +## 3.2 Compute forces +Different from conventional programming frameworks, explicit definition of atomic force calculation functions are no longer needed. Instead, the forces can be evaluated in an automatic manner with `jax.grad`. +```python +pos_grad_func = jax.grad(efunc, argnums=0) +force = -pos_grad_func(positions, box, pairs, params) +``` + +## 3.3 Compute parametric gradients +Similarly, the derivative of energy with regard to force field parameters can also be computed easily. +```python +param_grad_func = jax.grad(nbfunc, argnums=-1) +pgrad = param_grad_func(positions, box, pairs, params) +print(pgrad["NonbondedForce"]["sigma"]) +``` + +``` +[ 1.12090099e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 + 7.57040892e+02 1.45521139e+03 0.00000000e+00 0.00000000e+00 + 6.78143151e+01 5.87935802e+01 0.00000000e+00 0.00000000e+00 + 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 + 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.97000516e+02 + 0.00000000e+00 0.00000000e+00 1.69941295e+01 0.00000000e+00 + 4.15689683e+02 1.07864961e+02 -1.05927404e+01 -3.34661347e+00 + 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.95772900e+01 + 9.87994968e+01 0.00000000e+00 0.00000000e+00 0.00000000e+00 + 5.21105110e+01 0.00000000e+00 0.00000000e+00 0.00000000e+00 + 3.11528443e+01 5.66372398e+01 6.27484044e+02 0.00000000e+00 + 1.87121279e+02 0.00000000e+00 0.00000000e+00 1.16098707e+02 + 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 + 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 + 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 + 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 + 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 + 0.00000000e+00 0.00000000e+00 6.27866628e+01 5.10221034e+01 + 0.00000000e+00 0.00000000e+00 3.60011535e+01 0.00000000e+00 + 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 + 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 + 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 + 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 + 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 + 0.00000000e+00] +``` diff --git a/docs/user_guide/4.1classical.md b/docs/user_guide/4.1classical.md new file mode 100644 index 000000000..1dabe12e6 --- /dev/null +++ b/docs/user_guide/4.1classical.md @@ -0,0 +1,233 @@ +# HarmonicBondJaxForce + +## 1. Theory + +The chemical bond is represented by a harmonic potential: + +$$ E = \frac{1}{2}k(b-b_0)^2 $$ + +where $k$ is the force constant, $b$ is the distance betweeen two particles that forming a bond and $b_0$ is the equilibrium bond length. Note that in some other MD softwares, the potential form adopts a slight different form: $E=k(b-b_0)^2$. Users should check which form to use and multiply (or divide) the force constant by 2. + +## 2. Frontend + +The way to specify a harmonic bond in DMFF is the same as the way doing it in OpenMM: + +```xml + + + + + ... + +``` + +Every `` tag defines a rule for creating harmonic bond interactions between atoms. Each tag may identify the atoms either by type (using the attributes `type1` and `type2`) or by class (using the attributes `class1` and `class2`). `length` is the equilibrium bond length in $\mathrm{nm}$, and `k` is the force constant in $\mathrm{kJ/mol/nm^2}$. + +When the tag has an attribute named `mask` and it's value set to `true`, this means the parameter is not trainable. Such information will be passed to `ParamSet.mask` (the corresponding mask value will be 0.0 if not trainable). + + +# HarmonicAngleJaxForce + +## 1. Theory + +The angle is represented by a harmonic potential: + +$$ E = \frac{1}{2}k(\theta - \theta_0)^2 $$ + +where $k$ is the force constant, $\theta$ is the angle between three particles and $\theta_0$ is the equilibrium angle value. Similiar to `HarmonicBondJaxForce`, the parameters in some other MD softwares are defined to follow the potential form: $E=k(\theta-\theta_0)^2$. Be aware to adjust the parameters properly when applying the DMFF parameters to other softwares. + +## 2. Frontend + +The way to specify a harmonic angle in DMFF is the same as the way doing it in OpenMM: + +```xml + + + + + ... + +``` +Every `` tag defines a rule for creating harmonic angle interactions between triplets of atoms. Each tag may identify the atoms either by type (using the attributes `type1`, `type2`, `type3`) or by class (using the attributes `class1`, `class2`, `class3`). The force field identifies every set of three atoms in the system where the first is bonded to the second, and the second to the third. `angle` is the equilibrium angle in radians, and `k` is the spring constant in $\mathrm{kJ/mol/radian^2}$. + +When the tag has an attribute named `mask` and it's value set to `true`, this means the parameter is not trainable. Such information will be passed to `ParamSet.mask` (the corresponding mask value will be 0.0 if not trainable). + +# PeriodicTorsionJaxForce + +## 1. Theory + +The torsion is represented by a truncated periodic Fourier series: + +$$ E = \sum_{n=0}^{6} k_n(1 + \cos(n\phi-\phi_{0n})) $$ + +where $\phi$ is the dihedral angle formed by four particles, $n$ is the periodicity, $\phi_{0n}$ is the phase offset $k_{n}$ is the force constant. To perserve the symmetry, $\phi_{0n}$ usually adopts a value of $0$ (for $n=1,3,5$) or $\pi$ ($n=2,4,6$), and it is recommened to follow these definitions and not to optimize them in force field development. + +## 2. Frontend + +The way to specify a periodic torsion in DMFF is the same as the way doing it in OpenMM: + +```xml + + + + ... + + + ... + +``` +Every child tag defines a rule for creating periodic torsion interactions between sets of four atoms. Each tag may identify the atoms either by type (using the attributes `type1`, `type2`, ...) or by class (using the attributes `class1`, `class2`, ...). + +The force field recognizes two different types of torsions: `Proper` and `Improper`. A proper torsion involves four atoms that are bonded in sequence: 1 to 2, 2 to 3, and 3 to 4. An improper torsion involves a central atom and three others that are bonded to it: atoms 2, 3, and 4 are all bonded to atom 1. `periodicity1` is the periodicity of the torsion, `phase1` is the phase offset in radians, and `k1` is the force constant in kJ/mol. To add a second periodicity, just add three more attributes: `periodicity2`, `phase2`, and `k2`. **The maxium periodicity supported in DMFF is 6, which is different from OpenMM**. + +You can also use wildcards when defining torsions. To do this, simply leave the type or class name for an atom empty. That will cause it to match any atom: + +```xml + +``` + +When the tag has an attribute named `mask` and it's value set to `true`, this means the parameter is not trainable. Such information will be passed to `ParamSet.mask` (the corresponding mask value will be 0.0 if not trainable). + +# LennardJonesForce + +## 1. Theory + +The Lennard-Jones intearction between two particles follows the potential form: + +$$ E = 4\epsilon\left(\frac{\sigma^{12}}{r^{12}}-\frac{\sigma^{6}}{r^{6}}\right) $$ + +where $r$ is the distance between two particles, $\epsilon$ is the depth of the potential wall and $\sigma$ defines the distance where the interaction energy is zero. + +The pairwise parameter $\sigma$ and $\epsilon$ are determined from the parameters of the individual particles using the Lorentz-Berthelot combining rule: + +$$\sigma=\frac{\sigma_1+\sigma_2}{2}$$ + +$$\epsilon = \sqrt{\epsilon_1\epsilon_2} $$ + +## 2. Frontend + +To specify Lennard-Jones interactions, include a tag that looks like this: + +```xml + + + + ... + +``` + +The `` tag an attribute `lj14scale` that specify the scale factors between pairs of atoms separated by three bonds. Each `` tag specifies the nonbonded parameters for one atom type (specified with the `type` attribute) or atom class (specified with the `class` attribute). `sigma` is in nm, and `epsilon` is in $\mathrm{kJ/mol}$. + + + +# CoulombNoCutoffForce + +## 1. Theory + +The form of the Coulomb interaction between each pair of particles depends on the `NonbondedMethod` in use. For NoCutoff, it is given by + +$$ E = \frac{1}{4\pi\epsilon_0}\frac{q_1q_2}{r} $$ + +where $q_1$ and $q_2$ are the charges of the two particles, and $r$ is the distance between them. $\epsilon_0$ is the dielectric constant of vacuum. + +## 2. Frontend + +To specify Coulomb interactions, include a tag that looks like this: + +```xml + + +``` + +The attribute `coulomb14scale` specifies the scale factors between pairs of atoms separated by three bonds. +Notice that the atomic charges are not specified in this tag because different force fields may adopt different approaches to assign atomic charges. **Currently, DMFF supports two approaches to assign atomic charges: template-based and AM1-BCC.** + +* In force fields like AMBER, the atomic charges are defined in a template-based manner. Such force fields are usually for protein or nucleic acids that have well-defined building blocks. Hence, the atomic charges can be specified in the `` node: + +```xml + + + + + + + + + + + + + + + + + + + + + + + + + ... + +``` + +* For arbitrary organic molecules, AM1-BCC approach appears to be an efficient way to derive high-quality charges. The atomic charges are calculated by applying bond charge corrections (BCC) to Mulliken charges under AM1 level of theory. In DMFF, one can define BCC parameters with SMIRKS patterns and call `sqm` to calculate AM1 charges: + +```xml + + + + + + + + + + + ... + +``` + + + +# NonbondedForce + +## 1. Theory + +The `NonbondedForce` is a summary of `CoulombForce` and `LennardJonesForce` for consistency with OpenMM. With `NonbondedForce`, the force field library of OpenMM can be fluentely used in DMFF. The form of the Lennard-Jones and Coulomb interaction between each pair of particles depends on the `NonbondedMethod` in use. + + +## 2. Frontend + +To specify NonbondedForce interactions, include a tag that looks like this: + +```xml + + + + + +``` + +The attribute `coulomb14scale` and `lj14scale` specifies the scale factors between pairs of atoms separated by three bonds. The atomic charges are defined in a template-based manner since the `UseAttributeFromResidue` node is added. If node `UseAttributeFromResidue` does not exist, the atomic charges should be specified with `Atom` node, such as: +```xml + + + + +``` + diff --git a/docs/user_guide/4.2ADMPPmeForce.md b/docs/user_guide/4.2ADMPPmeForce.md new file mode 100644 index 000000000..70e8394e0 --- /dev/null +++ b/docs/user_guide/4.2ADMPPmeForce.md @@ -0,0 +1,445 @@ +# ADMPPmeForce + +## 1. Theory + +ADMPmeForce provides a support to multipolar polarizable electrostatic energy calculation. + +### 1.1 Multipole Expansion + +The electrostatic interaction between two atoms can be described using multipole expansion, in which the electron cloud of an atom can be expanded as a series of multipole moments including charges, dipoles, quadrupoles, and octupoles etc. If only the charges (zero-moment) are considered, it is reduced to the point charge model in classical force fields: + +$$ +V=\sum_{ij} \\frac{q_i q_j}{r_{ij}} +$$ + +where $q_i$ is the charge of atom $i$. + +More complex (and supposedly more accurate) force field can be obtained by including more multipoles with higher orders. Some force fields, such as MPID, goes as high as octupoles. **Currently in DMFF, we support up to quadrupoles**: + +$$ +V=\sum_{tu} Q_t^A T^{AB}_{tu} Q_u^B +$$ + +where $Q_t^A$ represents the $t$-component of the multipole moment of atom $A$. Note there are two (equivalent) ways to define multipole moments: cartesian and spherical harmonics. Cartesian representation is over-complete but with a simpler definition, while spherical harmonics are easier to use in real calculations. In the user API (the `xml` file), we use cartesian representation, in consistent with the AMOEBA and the MPID plugins in OpenMM. However, spherical harmonics are always used in the backend computation kernel, and we assume all components are arranged in the following order: + +$$0, 10, 1c, 1s, 20, 21c, 21s, 22c, 22s, ...$$ + +The $T_{tu}^{AB}$ represents the interaction tensor between multipoles. The mathematical expression of these tensors can be found in the appendix F of Ref 1. The user can also find the conversion rule between different representations in Ref 1. + +### 1.2 Coordinate System for Multipoles + +Different to charges, the definition of multipole moments depends on local coordinate system. The exact value of the moment tensor will be rotated in accord to different coordinate systems. There are three types of frames involved in DMFF, each used in a different scenario: + + - Global frame: coordinate system binds to the simulation box. It is same for all the atoms. We use this frame to calculate the charge density structure factor $S(\vec{k})$ in reciprocal space. + - **Local frame**: this frame is defined differently on each atom, determined by the positions of its peripheral atoms. Normally, atomic multipole moments are most stable in the local frame, so it is the most suitable frame for force field input. In DMFF API, the local frames are defined in the same way as the AMOEBA plugin in OpenMM. The details can found in the following references: + * [OpenMM forcefield.py](https://github.com/openmm/openmm/blob/master/wrappers/python/openmm/app/forcefield.py#L4894), line 4894~4933 + * [J. Chem. Theory Comput. 2013, 9, 9, 4046–4063](https://pubs.acs.org/doi/abs/10.1021/ct4003702) + - Quasi internal frame, aka. QI frame: this frame is defined for each pair of interaction sites, in which the z-axis is pointing from one site to another. In this frame, the real-space interaction tensor ($T_{tu}^{AB}$) can be greatly simplified due to symmetry. We thus use this frame in the real space calculation of PME. + +### 1.3 Polarization + +ADMPPmeForce supports polarizable force fields, in which the dipole moment of the atom can respond to the change of the external electric field. In practice, each atom has not only permanent multipoles $Q_t$, but also induced dipoles $U_{ind}$. The induced dipole-induced dipole and induced dipole-permanent multipole interactions needs to be damped at short-range to avoid polarization catastrophe. In DMFF, we use the Thole damping scheme identical to MPID (ref 5), which introduces a damping width ($a_i$) for each atom $i$. The damping function is then computed and applied to the corresponding interaction tensor. Taking $U_{ind}$-permanent charge interaction as an example, the definition of damping function is: + +$$ +\displaylines{ +1-\left(1+a u+\frac{1}{2} a^{2} u^{2}\right) e^{-a u} \\ +a=a_i + a_j \\ +u=r_{ij}/\left(\alpha_i \alpha_j\right)^{1/6} +} +$$ + +Other damping functions between multipole moments can be found in Ref 5, table I. + +It is noted that the atomic damping parameter $a=a_i+a_j$ is only effective on topological neighboring pairs (with $pscale = 0$), while a default value of $a_{default}$ is set for all other pairs. In DMFF, the atomic $a_i$ is specified via the xml API, while $a_{default}$ is controlled by the `DEFAULT_THOLE_WIDTH` variable, which is set to 5.0 by default. This variable can be changed in the following way: + +```python +from dmff.admp import pme +pme.DEFAULT_THOLE_WIDTH = 1.0 +``` + +We solve $U_{ind}$ by minimizing the electrostatic energy: + +$$ +V=V_{perm-perm}+V_{perm-ind}+V_{ind-ind} +$$ + +The last two terms are related to $U_{ind}$. Without introducing the nonlinear polarization terms (e.g., some force fields introduce $U^4$ to avoid polarization catastrophe), the last two terms are quadratic to $U_{ind}$: + +$$ +V_{perm-ind}+V_{ind-ind}=U^TKU-FU +$$ + +where the off-diagonal term of $K$ matrix is induced-induced dipole interaction, the diagonal term is formation energy of the induced dipoles ($\sum_i \frac{U_i^2}{2\alpha_i}$); the $F$ matrix represents permanent multipole - induced dipole interaction. We use the gradient descent method to optimize energy to get $U_{ind}$. + +In the current version, we temporarily assume that the polarizability is spherically symmetric, thus the polarizability $\alpha_i$ is a scalar, not a tensor. **Thus the inputs (`polarizabilityXX, polarizabilityYY, polarizabilityZZ`) in the xml API is averaged internally**. In future, it is relatively simple to relax this restriction: simply change the reciprocal of the polarizability to the inverse of the matrix when calculating the diagonal terms of the $K$ matrix. + +### 1.4 Dispersion Interaction + +In ADMP, we assume that the following expansion is used for the long-range dispersion interaction: + +$$ +V_{disp}=\sum_{ij}-\frac{C_{ij}^6}{r_{ij}^6}-\frac{C_{ij}^8}{r_{ij}^8}-\frac{C_{ij}^{10}}{r_{ij}^{10}}-... +$$ + +where the dispersion coefficients are determined by the following combination rule: + +$$ +C^n_{ij}=\sqrt{C_i^n C_j^n} +$$ + +Note that the dispersion terms should be consecutive even powers according to the perturbation theory, so the odd dispersion terms are not supported in ADMP. + +In ADMP, this long-range dispersion is computed using PME (*vida infra*), just as electrostatic terms. + +In the classical module, dispersions are treated as short-range interactions using standard cutoff scheme. + +### 1.5 Long-Range Interaction with PME + +Taking charge-charge interaction as example, the interaction decays in the form of $O(\frac{1}{r})$, and its energy does not converge with the increase of cutoff distance. The multipole electrostatics and dispersion interactions also converge slow with respect to cutoff distance. We therefore use Particle Meshed Ewald(PME) method to calculate these interactions. + +In PME, the interaction tensor is splitted into the short-range part and the long-range part, which are tackled in real space and reciprocal space, respectively. For example, the Coulomb interaction is decomposed as: + +$$ +\frac{1}{r}=\frac{erfc(\kappa r)}{r}+\frac{erf(\kappa r)}{r} +$$ + +The first term is a short-range term, which can be calculated directly by using a simple distance cutoff in real space. The second term is a long-range term, which needs to be calculated in reciprocal space by fast Fourier transform(FFT). The total energy of charge-charge interaction is computed as: + +$$ +\displaylines{ +E_{real} = \sum_{ij}\frac{erfc(\kappa r_{ij})}{r_{ij}} \\ +E_{recip} = \sum_{\vec{k}\neq 0} {\frac{2\pi}{Vk^2}\exp\left[\frac{k^2}{4\kappa^2}\right]\left|S(\vec{k})\right|^2}\frac{1}{\left|\theta(\vec{k})\right|^2} \\ +E_{self} = -\frac{\kappa}{\sqrt{\pi}}\sum_i {q_i^2} \\ +E = E_{real}+E_{recip}+E_{self} +} +$$ + +As for multipolar PME and dispersion PME, the users and developers are referred to Ref 2, 3 for mathematical details. + +The key parameters in PME include: + + - $\kappa$: controls the separation of the long-range and the short-range. The larger $\kappa$ is, the faster the real space energy decays, the smaller the cutoff distance can be used in the real space, and more difficult it is to converge the reciprocal energy and the larger $K_{max}$ it needs; + + - $r_{c}$: cutoff distance in real space; + + - $K_{max}$: controls the number of maximum k-points in all three dimensions + + +In DMFF, we determine these parameters in the same way as in [OpenMM](http://docs.openmm.org/latest/userguide/theory/02_standard_forces.html#coulomb-interaction-with-particle-mesh-ewald): + +$$ +\displaylines{ +\kappa=\sqrt{-\log (2 \delta)} / r_{c} \\ +K_{max}=\frac{2 \kappa d}{3 d^{1 / 5}} +} +$$ + +where the user needs to specify the cutoff distance $r_c$ when building the neighbor list, the width of the box in each dimension $d$ (determined from the input box matrix), and the energy accuracy $\delta$. + +In the current version, the dispersion PME calculator uses the same parameters as in electrostatic PME. + +### References + +1. [Anthony's book](https://oxford.universitypressscholarship.com/view/10.1093/acprof:oso/9780199672394.001.0001/acprof-9780199672394) +2. [The Multipolar Ewald paper in JCTC: J. Chem. Theory Comput. 2015, 11, 2, 436–450](https://pubs.acs.org/doi/abs/10.1021/ct5007983) +3. [The dispersion Ewald/PME](https://aip.scitation.org/doi/pdf/10.1063/1.470117) +4. [Frenkel & Smit book](https://www.elsevier.com/books/understanding-molecular-simulation/frenkel/978-0-12-267351-1) +5. [MPID Reference](https://doi.org/10.1063/1.4984113) + + +## 2. Frontend + +A typical `xml` file to define an ADMPPmeForce frontend is: + +```xml + + + + + + +``` + +The important tags in the frontend includes: + +* `lmax`: the maximal rank of the multipoles defined in the force. "2" represents a truncation at quadrupole level. +* `mScales1n`: the scaling factors for the nonbonding interactions between bonded atoms. `mScales12` is used for 1-2 interactions, `mScales13` is used for 1-3 interactions etc. These scaling factors are applied to scale the permanent multipole - permanent multipole interactions. +* `pScales1n`: the scaling factors for the nonbonding interactions between bonded atoms. `pScales12` is used for 1-2 interactions, `pScales13` is used for 1-3 interactions etc. These scaling factors are applied to scale the permanent multipole - induced dipole interactions. +* `dScales1n`: the scaling factors for the nonbonding interactions between bonded atoms. `dScales12` is used for 1-2 interactions, `dScales13` is used for 1-3 interactions etc. These scaling factors are applied to scale the induced dipole - induced dipole interactions. + +For each atom type, there is an `` node, with the following tags: + +* `type`: the label for the atomtype. +* `kx, ky, kz`: these are the labels for local coordinate definitions, please refer to OpenMM AMOEBA plugin for detailed explanations. +* `c0`: atomic charges +* `dX, dY, dZ`: atomic dipoles, defined in Cartesian, defined in `e*nm`. +* `qXX, qXY, ..`: atomic quadrupole moment, defined in Cartesian, defined in `e*nm^2` + +If the force field is polarizable, then there would be a `` node for each atomtype, too, with the following tags: + +* `PolarizabilityXX, PolarizabilityYY, PolarizabilityZZ`: Polarizabilities of the atomtype, currently we only support isotropic polarization, so the three values are averaged internally. To avoid confusion, we suggest you to use same values for all three tags. The unit should be in `nm^3`. +* `thole`: the thole damping parameters used in short range damping. + +To create a ADMP PME potential function, one needs to do the following in python: + +```python +H = Hamiltonian('forcefield.xml') +pots = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.nanometer, nonbondedMethod=app.PME, ethresh=5e-4, step_pol=5) +``` + +Then the potential function, the parameters, and the generator can be accessed as: + +```python +efunc_pme = pots.dmff_potentials["ADMPPmeForce"] +params_pme = H.getParameters()["ADMPPmeForce"] +generator_pme = H.getGenerators()[0] # if ADMPPmeForce is the first force node in xml +``` + +A few keywords in `createPotential` would impact the behavior of the function: + +* `steps_pol`: number of iterations to converge the induced dipoles. Only when this tag is set, the resulting potential function can be jitted. Otherwise, the convergence threshold is controlled by the variable `dmff.admp.settings.POL_CONV` (default value 1.0). In this case, the number of iterations would not be fixed, thus the generated potential function cannot be jitted. The `POL_CONV` variable can be accessed as: + + ```python + from dmff.admp import settings + settings.POL_COV = 2.0 + ``` + +* `ethresh`: the accuracy of PME, used to setup the size of the meshgrid of PME. + +A typical `xml` file to define an ADMPDispPmeForce frontend is: + +```xml + + + + + + + +``` + +The important tags in the frontend includes: + +* `mScales1n`: the scaling factors for the nonbonding interactions between bonded atoms. `mScales12` is used for 1-2 interactions, `mScales13` is used for 1-3 interactions etc. These scaling factors are applied to scale the dispersion interactions. + +For each atom type, there is an `` node, with the following tags: + +* `type`: the label for the atomtype. +* `C6, C8, C10`: dispersion terms, defined in `kj/mol/nm^n`. + +To create a DispADMP PME potential function, one needs to do the following in python: + +```python +H = Hamiltonian('forcefield.xml') +pots = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.nanometer, nonbondedMethod=app.PME, ethresh=5e-4) +``` + +Then the potential function, the parameters, and the generator can be accessed as: + +```python +efunc_pme = pots.dmff_potentials["ADMPDispPmeForce"] +params_pme = H.getParameters()["ADMPDispPmeForce"] +generator_pme = H.getGenerators()[0] # if ADMPDispPmeForce is the First force node in xml +``` +The keyword `ethresh` in `createPotential` would impact the behavior of the function: + +* `ethresh`: the accuracy of PME, used to setup the size of the meshgrid of PME. + + + +## 3. ADMPPmeGenerator Doc + +***ATTRIBUTES:*** + +The following attributes are accessible via the `ADMPPmeGenerator`: + +* `mScales, dScales, pScales, lmax, ethresh, step_pol, lmax`: all these variables introduced above are accessible through generator + +* `lpol`: bool type, is the force polarizable? + +* `map_atomtype, map_poltype`: integer array, the typification map for atom types and polarization types. Can be used to expand the force field parameters to atomic parameters. For example: + + ```python + Q_atoms = params['ADMPPmeForce']['Q_local'][pme_generator.map_atomtype] + ``` + +* `ffinfo`: the force field parameters registered in the generator. + +* `pme_force`: the backend `ADMPPmeForce` object + +***METHODS*** + +The following methods are accessible via `ADMPPmeGenerator`: + +* `overwrite(paramset)`: overwrite the parameters registered in the generator (i.e., the ffinfo object) using the values in `paramset`. + + +***ATTRIBUTES:*** + +The following attributes are accessible via the `ADMPDispPmeGenerator`: + +* `mScales, ethresh`: all these variables introduced above are accessible through generator + +* `map_atomtype`: integer array, the typification map for atom types types. Can be used to expand the force field parameters to atomic parameters. For example: + + ```python + C6_atoms = params['ADMPDispPmeForce']['C6'][pme_generator.map_atomtype] + ``` + +* `ffinfo`: the force field parameters registered in the generator. + +* `disp_pme_force`: the backend `ADMPDispPmeForce` object + +***METHODS*** + +The following methods are accessible via `ADMPDispPmeGenerator`: + +* `overwrite(paramset)`: overwrite the parameters registered in the generator (i.e., the ffinfo object) using the values in `paramset`. + + +## 4. ADMPPmeForce Doc + +The backend of the ADMP PME energy is an `ADMPPmeForce` object. It contains the following attributes and methods: + +***ATTRIBUTES:*** + +* `axis_indices`: int array, neighbor atom indices used to define the local coordinate system of each atom +* `axis_type`: int array, the type of local coordinate definition (e.g., z-only, bisector, z-then-x etc.) +* `ethresh`: float, accuracy for PME setups +* `kappa`: float, the range-separation parameter $\kappa$ used in PME calculation +* `lconverg`: bool, if the last calculation converged? +* `lmax`: int, maximal multipole rank in the force +* `lpme`: bool, use PME or not (should be TRUE 99.9% of time) +* `lpol`: bool, polarizable or not? +* `n_atoms`: number of atoms +* `n_cycle`: number of iterations in the last SCF calculation +* `pme_order`: order of PME interpolation, now only support 6 +* `rc`: real space cutoffs +* `steps_pol`: number of iterations (if specified, the code will do exact this number of iterations when computing induced dipole) + +***METHOS*** + +(***ALERT!!!: in ADMP backend, all inputs are assumed to be in Angstrom, instead of nm, different to frontend***): + +* `construct_local_frames`: + + ``` + This function constructs the local frames for each site + + Inputs: + positions: + N * 3: the positions matrix + box: + Outputs: + local_frames: + N*3*3, the local frames, axes arranged in rows + ``` + +* `get_energy`: + + * if nonpolarizable: + + ``` + This is the top-level wrapper for multipole PME, returns total PME energy + + Input: + positions: + Na * 3: positions + box: + 3 * 3: box + pairs: + Np * 3: interacting pair indices and topology distance + Q_local: + Na * (lmax+1)^2: harmonic multipoles of each site in local frame + mScales: + (Nexcl,): multipole-multipole interaction exclusion scalings: 1-2, 1-3 ... + for permanent-permanent interactions + Output: + energy: total PME energy + ``` + + * if polarizable + + ``` + This is the top-level wrapper for multipole PME + + Input: + positions: + Na * 3: positions + box: + 3 * 3: box + pairs: + Np * 3: interacting pair indices and topology distance + Q_local: + Na * (lmax+1)^2: harmonic multipoles of each site in local frame + pol: + (Na,) float: the polarizability of each site, unit in A**3 + tholes: + (Na,) float: the thole damping widths for each atom, it's dimensionless, default is 8 according to MPID paper + mScales, pScale, dScale: + (Nexcl,): multipole-multipole interaction exclusion scalings: 1-2, 1-3 ... + for permanent-permanent, permanent-induced, induced-induced interactions + U_init: + (Na * 3) float: initial guesses for induced dipoles (default is None) + + Output: + energy: total PME energy + ``` + +* `get_forces` + + Same as `get_energy`, only return forces per atom, instead of total energy, equivalent to `jax.grad(get_energy)` + + +The backend of the ADMPDisp PME energy is an `ADMPDispPmeForce` object. It contains the following attributes and methods: + +***ATTRIBUTES:*** +* `ethresh`: float, accuracy for PME setups +* `kappa`: float, the range-separation parameter $\kappa$ used in PME calculation +* `lpme`: bool, use PME or not (should be TRUE 99.9% of time) +* `n_atoms`: number of atoms +* `pme_order`: order of PME interpolation, now only support 6 +* `rc`: real space cutoffs + +***METHOS*** + +(***ALERT!!!: in ADMPDisp backend, all inputs are assumed to be in Angstrom, instead of nm, different to frontend***): + +* `get_energy`: + + ``` + This is the top-level wrapper for DispPME, returns total DispPME energy + + Input: + positions: + Na * 3: positions + box: + 3 * 3: box + pairs: + Np * 3: interacting pair indices and topology distance + c_list: + Na * (pmax-4)/2: atomic dispersion coefficients + mScales: + (Nexcl,): dispersion interaction exclusion scalings: 1-2, 1-3 ... + pmax: + int array: maximal exponents (p) to compute, e.g., (6, 8 ,10) + Output: + energy: total disp PME energy + ``` + +* `get_forces` + + Same as `get_energy`, only return forces per atom, instead of total energy, equivalent to `jax.grad(get_energy)` + diff --git a/docs/user_guide/4.3ADMPQeqForce.md b/docs/user_guide/4.3ADMPQeqForce.md new file mode 100644 index 000000000..9c9812ffc --- /dev/null +++ b/docs/user_guide/4.3ADMPQeqForce.md @@ -0,0 +1,320 @@ +# ADMPQeqForce + +## 1. Theory + +ADMPQeqForce provides a support to coulombic energy calculation for constant potential model and constant charge model. Net charges on all atoms were equilibrated at setted constraint first, then charge related energys were carried out next. + +### 1.1 General Energy Equations + +First, assume the coulombic energy of the total system is: + +```math +E_{coul}(q_i) = E_{pc}\left(q_i\right) + E_{sr}(q_i) + E_{corr} + E_{on-site}({q_i}; \chi_i, J_i) +``` + +where $`q_i`$ is the charge of atom $`i`$, $`\chi_i`$ and $`J_i`$ are the electronegtivitity and hardness of atom $`i`$ respectively. + +The total coulombic energy is composed of the followling four parts. + +#### 1.1.1 Point Charge Part + +Here, the first term $`E_{pc}`$ is electrostatic energy of point-charge systems, which is typically done in Ewald/PME method. For isolated molecule/clusters, it can also be computed using cutoff scheme: + +```math +E_{pc}\left(q_i\right) = \sum_{i< j}\frac{q_i q_j}{r_{ij}} +``` +Note that we currently only consider Ewad3D (so called Ewald3DC method), instead of rigorous Ewald2D. + +#### 1.1.2 Short Range Damping Part + +The second term is the short-range damping term, which can be different for different models and users can choose it by a key word DampMod or edit their own damping mode. + +* For example, for EQeq model (`JPCL 3, 2506`), the damping kernel is ($`K`$ is the dielectric constant): + +```math +E_{sr}\left(q_i\right) = \sum_{i< j} f(r_{ij})\frac{q_i q_j}{r_{ij}} \\ +f(r) = - \exp\left[-\left(\frac{J_{ij}r}{K}\right)^2\right]\left(1-\frac{J_{ij}r}{K}+\left(\frac{J_{ij}r}{K}\right)^2\right) \\ +J_{ij} = \sqrt{J_i J_j} +``` +* Another typical example is the Tang-Toennies damping: + +```math +f_{TT}^1\left(r\right) = -\exp\left(-B_{ij}r\right)\left(1 + B_{ij}r\right) \\ +B_{ij} = \sqrt{B_i B_j} +``` +* The third common option is the damping corresponding to Guassian smeared charge ([ewald.pdf (gitlab.com)](https://gitlab.com/ampere2/metalwalls/-/raw/release/doc/theory/ewald-summation/ewald.pdf)): + +```math +f_{gg}(r) = -\text{erfc}\left(\eta_{ij}r\right) \\ +\eta_{ij} = \frac{\eta_i \eta_j}{\sqrt{\eta_i^2 + \eta_j^2}} +``` + +Note that one can easily recover the point charge formula by setting $`\eta_i \rightarrow \infty`$. + +For this combination rule, it is perhaps it is more code-friendly if we define: $`l_i = 1/\eta_i`$, then equivalent to the above equation we have: +```math +l_{ij} = \sqrt{l_i^2 + l_j^2} +``` +Then $`\eta_i \rightarrow \infty`$ is equivalent to $`l_i \rightarrow 0`$. + +* The short-range damping model Prof. Zhu Tong uses (double check with him for more details): + ```math + f(r) = \frac{r}{\left[r^3 + (1/\gamma_{ij})^3\right]^{1/3}} - 1 + ``` + + + + +Typically, these damping functions must satisfy: +```math +f(r) \rightarrow 0 \text{ when } r\rightarrow \infty \\ +f(r) \rightarrow -1 \text{ when } r\rightarrow 0 +``` +And are related to some nonlinear atomic parameters ($`J_i, B_i, \eta_i`$ etc.) subject to optimization. +#### 1.1.3 Non-Neutral and Slab Boundary Corrections + +The $`E_{corr}`$ is other correction term, including nonneutral background charge corrections and dipole (or more generally, slab boundary) correction, which are quite commonly used in slab electrode simulations (see `JCP 147 126101`). The nonneutral correction is: +```math +E_{corr}^Q = - \frac{\pi Q_{tot}^2}{2\kappa^2 V} \\ +``` + +And there are also dipole boundary correction, which, in the case of nonneutral box, is (`JCP 131 094107`): +```math +E_{corr}^{dip} = \frac{2\pi}{V}\left(M_z^2-Q_{tot}\sum_i {q_i z_i^2} - Q_{tot}^2\frac{L_z^2}{12}\right) \\ +M_z = \sum_i {q_i z_i} \\ +Q_{tot} = \sum_i q_i +``` + +#### 1.1.4 On-Site Energy + +The on-site energy is the self energy of each site, which is usually in the following form: +```math +E_{on-site} = \sum_i {\left[\chi_i q_i + J_iq_i^2\right]} +``` +Note that quite often, it can be written as: +```math +E_{on-site} = \sum_i {\left[\chi_i (q_i-q_i^*) + J_i(q_i-q_i^*)^2\right]} +``` +Which is equivalent to the above equation subject to a constant shift. + +Also, for Gaussian smear charge, there is often a self-interaction term ([ewald.pdf (gitlab.com)](https://gitlab.com/ampere2/metalwalls/-/raw/release/doc/theory/ewald-summation/ewald.pdf)): +```math +E_{self}^g = \sum_i {\frac{q_i^2 \eta_i}{\sqrt{2\pi}}} +``` +which can be also merged into Eqn 11. Therefore there is no need to design a separate term for this (?). + +### 1.2 Constraints + +Once we have the coulombic energy, we can add different constraints to construct the optimization target function for charges. Depending on different scenarios, we usually have two types of constraints. + +#### 1.2.1 Constant Charge (ConstQ) Constraint + +This constraint ensures that the total charge of a group of atoms is constant +```math +E = E_{coul}(q_i) - \sum_A {\psi_A \left({\sum_{i\in A} q_i - Q_A}\right)} +``` +And we need to find the proper value for both $`\psi_A`$ and $`q_i`$ to find the stationary point, such that: +```math +\begin{cases} +\frac{\partial E}{\partial q_i} = 0 \\ +\frac{\partial E}{\partial \psi_A} = 0 \\ +\end{cases} +``` +Note that in this condition, the constraint term is always zero at stationary point, so it does not enter into force evaluations. Bottom line is, at stationary point, we can simply neglect its existence while calculating forces (NOTE that it is not true at points other than stationary points). + + + +#### 1.2.2 Constant Potential (ConstP) Constraint + +This constraint sets the electrostatic potential of a group of atoms to a predefined value $`\psi_A`$ +```math +E = E_{coul}(q_i) - \sum_A {\psi_A \left({\sum_{i\in A} q_i }\right)} +``` +We need to find the proper value for $`q_i`$ to find the stationary point, such that: +```math +\frac{\partial E}{\partial q_i} = 0 +``` +Note that for this condition, the constraint term ($`\psi q_i`$) can be viewed as a physical energy, which represents the energy cost to remove the charge from a constant potential reservoir. And this term SHOULD enter into force evaluations. + +Point is, once we find the stationary point $q^\star$, the force evaluation is quite easy in either scenario with Feynman-Hellman theorem applicable: +```math +F_i = -\frac{\partial E}{\partial r_i} - \sum_j {\frac{\partial E}{\partial q_j^\star} \frac{\partial q_j^\star}{\partial r_i}} \\ += \left.-\frac{\partial E}{\partial r_i}\right|_{q=q^{\star}} +``` + + +### References + +1. J. Phys. Chem. Lett. 2012, 3, 17, 2506–2511; https://doi.org/10.1021/jz3008485 +2. J. Chem. Phys. 147, 126101 (2017); https://doi.org/10.1063/1.4998320 +3. J. Chem. Phys. 131, 094107 (2009); https://doi.org/10.1063/1.3216473 +4. J. Chem. Phys. 153, 174704 (2020); https://doi.org/10.1063/5.0028232 + + +## 2. Frontend + +A typical `xml` file to define an ADMPQeqForce frontend is: + +```xml + + + + + + + +``` + +The important tags in the frontend includes: + +* `coulomb14scale`: the scaling factors for the 1-3 coulombic interactions between bonded atoms. +* `DampMod`: the tag to set Short Range Damping model. + +For each atom type, there is an `` node, with the following tags: + +* `type`: the label for the atomtype. +* `chi`: the electronegtivitity for each atom atomtype. +* `J`: the hardness for each atom atomtype +* `eta`: the length damping parameter used in calculating corresponding short range damping correction. The unit should be in `nm` + + +To create a ADMP QEQ potential function, one needs to do the following in python: + +```python +hamilt = Hamiltonian('forcefield.xml') +pot = hamilt.createPotential(dmfftop, nonbondedCutoff=rc*unit.nanometer, nonbondedMethod=app.PME, + ethresh=1e-3, neutral=True, slab=True, constQ=True, + const_list=const_list, const_vals=const_val, + has_aux=True + ) +``` + +Then the potential function, the parameters, and the generator can be accessed as: + +```python +efunc_pme = pots.dmff_potentials["ADMPQeqForce"] +params_pme = H.getParameters()["ADMPQeqForce"] +generator_pme = H.getGenerators()[0] # if ADMPQeqForce is the first force node in xml +``` + +A few keywords in `createPotential` would impact the behavior of the function: + +* `neutral`: bool type, if the total net charge of each residue is not zero, we should set this tag as `True` to add nonneutral correction. +* `slab`: bool type, if the system is with slab boundary, we should set this tag as `True` to add Slab Boundary Corrections. +* `constQ`: bool type, if the constraint condition is constant charge, we should set this tag as `True`, else `False` for constant potential condition. +* `const_list`: the atomic numbers of all residues with different constraints. +* `const_vals`: the corresponding constraint valu on each residue. + +* `ethresh`: the accuracy of PME, used to setup the size of the meshgrid of PME. +* `has_aux`: bool type, whether to intruduce auxilliary parameters, equilibrated atomic charges, etc. + +## 3. ADMPQeqGenerator Doc + +***ATTRIBUTES:*** + +The following attributes are accessible via the `ADMPQeqGenerator`: + +* `coulomb14scale, damp_mod, ethresh, has_aux`: all these variables introduced above are accessible through generator. + +* `atom_keys`: character strings to identify the atomic type. + +* `key_type`: atomic keys to set attributes, `class` or `type`. + +* `coeff_method, fourier_spacing `: parameters to setup ewald parameters used for calculating electrostatic energy of point-charge . + +* `mscales_coul`: mscale for PME. + +* `ffinfo`: the force field parameters registered in the generator. + +***METHODS*** + +The following methods are accessible via `ADMPQeqGenerator`: + +* `overwrite(paramset)`: overwrite the parameters registered in the generator (i.e., the ffinfo object) using the values in `paramset`. + +## 4. ADMPQeqForce Doc + +The backend of the ADMP QEQ energy is an `ADMPQeqForce` object. It contains the following attributes and methods: + +***ATTRIBUTES:*** + +* `damp_mod`: bool type, the tag to set Short Range Damping model +* `neutrial_flag`: bool type, the tag to add nonneutral correction +* `slab_flag`: bool type, the tag to add Slab Boundary Corrections +* `pbc_flag`: bool type, the tag to choose cutoff option or nocutoff +* `constQ`: bool type, the tag to choose constant charge constraint or constant potential constraint +* `const_list`: int array,the atomic numbers of all residues with different constraints +* `const_value`: float array, the corresponding constraint valu on each residue +* `init_q`: float array, intial atomic charge +* `init_lagmt`: float array, inital lagrange multipliers on each constQ constraint +* `kappa`: float, the range-separation parameter $\kappa$ used in PME calculation +* `e_constraint`: constraint function that made a virtual energy +* `e_sr`: short range damping energy function +* `e_site`: on site energy function +* `coul_energy`: point charge interaction energy function + +***METHOS*** + + +* `E_full`: + + ``` + This function constructs the charge related coulombic energy plus constraint energy. + + Inputs: + q: + Na: the inital atomic charge + lagmt: + Nr: the inital lagrange multipliers on each constQ constraint + chi: + Na: the atomic electronegtivity + J: + Na: the atomic hardness + pos: + N * 3: the positions matrix + box: + 3 * 3: box + pairs: + Np: interacting pair indices within cutoff distance + eta: + N: the atomic length damping parameter + ds: + Np: topology distance of pairs + buffer_scales: + N * 3: buffer scales on pairs + mscales: + (6,): mscale for PME + Outputs: + energy: charge related coulombic energy plus constraint energy + ``` + +* `E_grads`: + + Same as `E_full`, only return the concatenation of gradients of funtion `E_ful` on the first two paramters. + +* `get_energy`: + + ``` + This contains charge equilbrant process, and retruns total energy after charge equilibration. + + Input: + positions: + Na * 3: positions + box: + 3 * 3: box + pairs: + Np * 3: interacting pair indices within cutoff topology + mScales: + (6,): mscale for PME + eta: + Na: the atomic length damping parameter + chi: + Na: the atomic electronegtivity + J: + Na: the atomic hardness + aux: + dict[str,array]: auxilliary parameters, including initial atomic charges and lagmt + Output: + energy: total energy after charge equilibration + aux: auxilliary parameters, including equilibrated atomic charges and lagmt + ``` diff --git a/docs/user_guide/4.4MLForce.md b/docs/user_guide/4.4MLForce.md new file mode 100644 index 000000000..f544a070e --- /dev/null +++ b/docs/user_guide/4.4MLForce.md @@ -0,0 +1,212 @@ +# SGNNForce/EANNForce + +## 1. Theory + +SGNNForce/EANNForce provides a support to message-passing GNN model (called SGNN) and descriptor machine-learning model with a Gaussian-type orbital based density vector (called EANN). + +### 1.1 SGNN + +SGNN assume the remaining bonding energy can be written as a sum over different local fragments of the molecule. These fragments are defined as “subgraphs” (labeled as g): + +$$ +E_{sGNN}=\sum {E_{g}} +$$ + +Each subgraph defines the local environment of a central bond, and $E_g$ represents the intramolcular energy attributed to that bond. This leads to a rigorously localized representation of the molecule, warranting the extendibility of the resulting model. + +The other detail can be found in References. + +### 1.2 EANN + +EANN framework born out from the EAM idea. This physically inspired embedded atom neuralnetworks (EANN) representation is not only conceptually andnumerically simple but also very efficient and accurate, as discussed below. EANN assume that the impurity experiences a locally uniform electron density, the embedding energy can be approximated as a function of the scalar local electron density at the impurity site plus an electrostatic interaction. Considering all atoms in the system as impurities embedded in the electron gas created by other atoms, in the EAM framework, the total energy of an $N$ atom system is just the sum over all individual impurity energies. + +$$ +E=\sum_{i=1}^{N} E_{i}=\sum_{i=1}^{N}\left[F_{i}\left(\rho_{i}\right)+\frac{1}{2} \sum_{j \neq i} \phi_{i j}\left(r_{i j}\right)\right] +$$ + +where $F_i$ is the embedding function, $ρ_i$ is the embedded electron density at the position of atom $i$ given by the superposition of the densities of surrounding atoms, and $\phi_{ij}$ is the short-range repulsive potential between atoms $i$ and $j$ depending on their distance $r_{ij}$. As the exact forms of these functions are generally unknown, they are often taken from electron gas computations or fit to experimental properties with semiempirical expres-sions. Given these intrinsic approximations, EAM or even its modified version has a limited accuracy and is mainly suitablefor metallic systems. + +To go beyond the EAM, we need to improve both expressions of the embedded density and the function $F$. To this end, EANN start from the commonly used Gaussian-type orbitals (GTOs) centered at each atom, + +$$ +\phi_{l_{x} y_{l} y_{z}}^{\alpha, r_{s}}=x^{l_{x}} y^{l_{y}} z^{l_{z}} \exp \left(-\alpha\left|r-r_{s}\right|^{2}\right) +$$ + +where each atom is taken as the origin, $r=(x,y,z)$ constitutes the coordinate vector of an electron, $r$ is the norm of the vector, $α$ and $r_s$ are parameters that determine radial distributions of atomic orbitals, ${l_x+l_y+l_z=L}$ specifies the orbital angular momentum ($L$), e.g., $L$ = 0, 1, and 2, correspond to the s, p, and d orbitals, respectively. In this representation, the embedded density of atom $i$ can be taken as the square of the linear combination of atomic orbitals from neighboring atoms, in a similar spirit as that in Hartree−Fock (HF) and densityfunctional theory (DFT). This would generate a scalar $ρ^i$ value for the embedding atom $i$, as used in the EAM, which has been proven to offer insufficient representability for the total energyand can be improved by including the gradients of density. + +The other detail can be found in References. + +### References + +1. [SGNN in JPCL: J. Phys. Chem. Lett. 2021, 12, 7982−7987](https://pubs.acs.org/doi/full/10.1021/acs.jpclett.1c02214) +2. [EANN in JPCL: J. Phys. Chem. Lett. 2019, 10, 17, 4962–4967](https://pubs.acs.org/doi/10.1021/acs.jpclett.9b02037) + +## 2. Frontend + +A typical `xml` file to define an SGNNForce frontend is: + +```xml + +``` + +The important tags in the frontend includes: + +* `file`: the SGNN parameters file. +* `pdb`: the pdb file to provide the topology information. +* `nn`: the size of the subgraphs, i.e., how many neighbors to include around the central bond. + +To create a SGNN potential function, one needs to do the following in python: + +```python +H = Hamiltonian('peg.xml') +app.Topology.loadBondDefinitions("residues.xml") +pdb = app.PDBFile("peg4.pdb") +pots = H.createPotential(pdb.topology, nonbondedCutoff=0.6*unit.nanometer, ethresh=5e-4) + +``` + +Then the potential function, the parameters, and the generator can be accessed as: + +```python +efunc_sgnn = pots.dmff_potentials["SGNNForce"] +params_sgnn = H.getParameters()["SGNNForce"] +generator_sgnn = H.getGenerators()[0] # if SGNNForce is the first force node in xml +``` + + +A typical `xml` file to define an EANNForce frontend is: + +```xml + +``` + +The important tags in the frontend includes: + +* `file`: the EANN parameters file. +* `pdb`: the pdb file to provide the element and mass information. +* `ngto`: the number of GTOs used in EANN. +* `nipsin`: the largest L in angular channel. Default 2 +* `rc`: the cutoff distances, used to determine initial rs and inta. + +To create a EANN potential function, one needs to do the following in python: + +```python +H = Hamiltonian('peg.xml') +app.Topology.loadBondDefinitions("residues.xml") +pdb = app.PDBFile("peg4.pdb") +pots = H.createPotential(pdb.topology, nonbondedCutoff=0.6*unit.nanometer, ethresh=5e-4) +``` + +Then the potential function, the parameters, and the generator can be accessed as: + +```python +efunc_eann = pots.dmff_potentials["EANNForce"] +params_eann = H.getParameters()["EANNForce"] +generator_sgnn = H.getGenerators()[0] # if SGNNForce is the first force node in xml +``` + +## 3. SGNNGenerator/EANNGenerator Doc + +***ATTRIBUTES:*** + +The following attributes are accessible via the `SGNNGenerator`: + +* `ffinfo`: the force field parameters registered in the generator. +* `MolGNNForce`: the backend `SGNNForce` object + +***METHODS*** + +The following methods are accessible via `SGNNGenerator`: + +* `overwrite(paramset)`: overwrite the parameters registered in the generator (i.e., the ffinfo object) using the values in `paramset`. + +***ATTRIBUTES:*** + +The following attributes are accessible via the `EANNGenerator`: + +* `ffinfo`: the force field parameters registered in the generator. +* `EANNForce`: the backend `EANNForce` object + +***METHODS*** + +The following methods are accessible via `EANNGenerator`: + +* `overwrite(paramset)`: overwrite the parameters registered in the generator (i.e., the ffinfo object) using the values in `paramset`. + +## 4. SGNNForce/EANNForce Doc + +The backend of the SGNN energy is an `MolGNNForce` object. It contains the following attributes and methods: + +***ATTRIBUTES:*** + +* `G`: TopGraph object, the topological graph object, created using dmff.sgnn.graph.TopGraph +* `n_layers`: int tuple, optional, the number of hidden layers before and after message passing, default = (3, 2) +* `sizes`: [tuple, tuple], optional, the sizes (numbers of hidden neurons) of the network before and after message passing, default = [(40, 20, 20), (20, 10)] +* `nn`: int, optional size of the subgraphs, i.e., how many neighbors to include around the central bond, default = 1 +* `sigma`: float, optional, final scaling factor of the energy. default = 162.13039087945623 +* `mu`: float, optional, a constant shift, the final total energy would be ${(E_{NN} + \mu)}*{\sigma}$ +* `seed`: int, optional, the seed for random number generator, default 12345 + +***METHODS*** + +* `forward`: + + ``` + This function returns the SGNN energy. + + Input: + positions: + Na * 3: positions + box: + 3 * 3: box + pairs: + Np * 3: interacting pair indices and topology distance + params: dict + The parameter dictionary, including the following keys: + w: weights of messaging-pass + fc.weight: weights of NN, list of (n_elem, dim_in, dime_out) array, with a length of n_layer + fc.weight: bias of NN, list of (n_elem, dim_out) array, with a length of n_layer + + Output: + energy: total SGNN energy + ``` + + +The backend of the EANN energy is an `EANNForce` object. It contains the following attributes and methods: + +***ATTRIBUTES:*** + +* `n_elem`: int, the number of elements in the model. +* `elem_indices`: int array, the element type of each atom in the system. +* `n_gto`: int, the number of GTOs used in EANN. +* `rc`: float, the cutoff distances, used to determine initial rs and inta. +* `nipsin`: int, optional, the largest L in angular channel. Default 2 +* `beta`: float, optional, used to determine initial $\Delta$ rs. Default 0.2 +* `sizes`: tupple, ints, optional, the number of hidden neurons in the model, the length is number of layers. Default (64, 64) +* `seed`: int, optional, the seed for random number generator, default 12345 + +***METHODS*** + +* `get_energy`: + + ``` + This function returns the EANN energy. + + Input: + positions: + Na * 3: positions + box: + 3 * 3: box + pairs: + Np * 3: interacting pair indices and topology distance + params: dict + The parameter dictionary, including the following keys: + c: ${c_{ij}}$ of all exponent prefactors, (n_elem, n_elem) + rs: distance shifts of all radial gaussian functions, (n_gto,) + inta: the exponents, (n_gto,) + w: weights of NN, list of (n_elem, dim_in, dime_out) array, with a length of n_layer + b: bias of NN, list of (n_elem, dim_out) array, with a length of n_layer + + Output: + energy: total EANN energy + ``` diff --git a/docs/user_guide/4.5Optimization.md b/docs/user_guide/4.5Optimization.md new file mode 100644 index 000000000..883dd21ab --- /dev/null +++ b/docs/user_guide/4.5Optimization.md @@ -0,0 +1,80 @@ +# Optimization + +## 1. Theory + +Automatic differentiation is a crucial component of DMFF and plays a significant role in optimizing neural networks. This technique computes the derivatives of output with respect to input using backpropagation, so parameters optimization can be conducted using gradient descent algorithms. With its efficiency in optimizing high-dimensional parameters, this technique is not limited to training neural networks but is also suitable for any physical model optimization (i.e., molecular force field in the case of DMFF). A typical optimization recipe needs two key ingradients: 1. gradient evaluation, which can be done easily using JAX; and 2. an optimizer that takes gradient as inputs, and update parameters following certain optimization algorithm. To help the users building optimization workflows, DMFF provides an wrapper API for optimizers implemented in [Optax](https://github.com/google-deepmind/optax), which is introduced here. + +## 2. Function module + +Function `periodic_move`: +- Creates a function to perform a periodic update on parameters. If the update causes the parameters to exceed a given range, they are wrapped around in a periodic manner (like an angle that wraps around after 360 degrees). + +Function `genOptimizer`: +- It's a function to generate an optimizer based on user preferences. +- Depending on the arguments, it can produce various optimization schemes, such as SGD, Nesterov, Adam, etc. +- Supports learning rate schedules like exponential decay and warmup exponential decay. +- The optimizer can be further augmented with features like gradient clipping, periodic parameter wrapping, and keeping parameters non-negative. + +Function `label_iter`, `mark_iter`, and `label2trans_iter`: +- These are utility functions used for tree-like structured data (common with JAX's pytree concept). +- `label_iter` recursively labels the tree nodes. +- `mark_iter marks` each node in the tree with a False. +- `label2trans_iter` checks and updates the mask tree based on whether the label exists in the transformations. If not, it sets that transformation to zero. + +Class `MultiTransform`: +- Manages multiple transformations simultaneously on tree-structured data. +- Maintains a record of transformations, labels, and masks. +- `finalize` method ensures that every label has a corresponding transformation, setting any missing transformations to zero. + +## 3. How to use it + +To set up an optimization, you should follow these steps: +- Initialize MultiTransform with Parameter Tree: + +```python +multiTrans = MultiTransform(your_parameter_tree) +``` +- Define Optimizers for Desired Labels + +- For each part of the parameter tree you want to optimize differently, set an optimizer. For example: + +```python +multiTrans["Force1"]["Parameter1"] = genOptimizer(learning_rate=lr1, clip=clip1) +multiTrans["Force1"]["Parameter2"] = genOptimizer(learning_rate=lr2, clip=clip2) +``` + +- Finalize MultiTransform + +- Before using it, always finalize the MultiTransform: + +```python +multiTrans.finalize() +``` + +- Create a Combined Gradient Transformation: + +```python +traj = md.load("init.dcd", top="box.pdb")[50:] +``` + +- Create a sample using the loaded trajectory and the previously defined state name: + +```python +grad_transform = optax.multi_transform(multiTrans.transforms, multiTrans.labels) +``` + +- Mask Parameters (If Needed) + +If you have parameters in your tree that shouldn't be updated, create a mask and then mask your transformation: + +```python +grad_transform = optax.masked(grad_transform, hamiltonian.getParameters().mask) +``` + +- Initialize Optimization State: + +```python +opt_state = grad_transform.init(hamiltonian.getParameters().parameters) +``` + +By following the above steps, you'll have a `grad_transform` that can handle complex parameter trees and an optimization state `opt_state` ready for your optimization routine. diff --git a/docs/user_guide/4.6MBAR.md b/docs/user_guide/4.6MBAR.md new file mode 100644 index 000000000..3dabc11af --- /dev/null +++ b/docs/user_guide/4.6MBAR.md @@ -0,0 +1,229 @@ +# MBAR Estimator + +## 1. Theory + +In molecular dynamics (MD) simulations, the deep computational graph spanning the entire trajectory incurs significant temporal and computational costs. This limitation can be circumvented through trajectory reweighting schemes. In DMFF, the reweighting algorithm is incorporated into the MBAR method, extending the differentiable estimators for average properties and free energy. Although differentiable estimation of dynamic properties remains a challenge, introducing the reweighted MBAR estimator has largely eased the fitting of thermodynamic properties. + +In the MBAR theory, it is assumed that there are K ensembles defined by (effective) potential energies + +```math +\tag{1} +u_{i}(x)\ (i=1,2,3,……,K) +``` + +For each ensemble, the Boltzmann weight, partition function, and probability function are defined as: + +```math +\tag{2} +\begin{align} +w_i &= \exp(-\beta_i u_i(x)) \\ +c_i &= \int dx \cdot w_i(x) \\ +p_i(x) &= \frac{w_i(x)}{c_i} +\end{align} +``` + +For each ensemble $i$, select $N_{i}$ configurations, represented by { ${x_{in}}$ } $n=1,2,3,……,N_i$ , and the total number of configurations across ensembles is represented by { ${x_{n}}$ } ( $n=1,2,3,……,N$ ), where N is: + +```math +\tag{3} +N = \sum_{i=1}^{K} N_i +``` + +Within the context of MBAR, for any ensemble K, the weighted average of the observable is defined as: + +```math +\tag{4} +\hat{c}_i = \sum_{n=1}^{N} w_{i}(x_n) \cdot \left(\sum_{k=1}^{K} N_{k} \hat{c}_k^{-1} w_{k}(x_n)\right)^{-1} +``` + +To compute the average of a physical quantity $A$ in ensemble $i$, one can utilize the above values to define a virtual ensemble $j$ , with its corresponding Boltzmann weight and partition function: + +```math +\tag{5} +\begin{align} +w_j &= w_i(x)A(x) \\ +c_i &= \int dx \cdot w_j(x) +\end{align} +``` + +Thus, the ensemble average of A is: + +```math +\tag{6} +\langle A \rangle_i = \frac{\hat{c}_j}{\hat{c}_i} = \frac{\int dx \cdot w_i(x)A(x)}{\int dx \cdot w_i(x)} +``` + +Thus, the MBAR theory provides a method to estimate the ensemble averages using multiple samples from different ensembles. + +In the MBAR framework, $\hat{c}_i$ in Eqn (4) needs to be solved iteratively; however, the differentiable reweighting algorithm can simplify this estimation process. During the gradient descent parameter optimization, the parameters undergo only small changes in each training cycle. This allows for the usage of samples from the previous cycles to evaluate the target ensemble that is being optimized. So resampling is not necessary until the target ensemble deviates significantly from the sampling ensemble. This reduces the time and computational cost of the optimization considerably. + +In the reweighted MBAR estimator, we define two types of ensembles: the sampling ensemble, from which all samples are extracted (labeled as $m=1, 2, 3, …, M$ ), and the target ensemble, which needs optimization (labeled as $p, q$, corresponding to the indices $i, j$ in Eqn (6)). The sampling ensemble is updated only when necessary and does not need to be differentiable. Its data can be generated by external samplers like OpenMM. Hence, $\hat{c}_i$ can be transformed into: + +```math +\tag{7} +\hat{c}_p = \sum_{n=1}^{N} w_{p}(x_n) \left( \sum_{m=1}^{M} N_{m} \hat{c}_m^{-1} w_{m}(x_n) \right)^{-1} +``` + +When resample happens, Eqn. (4) is solved iteratively using standard MBAR to update $\hat{c}_m$, which is stored and used to evaluate $\hat{c}_p$ until the next resampling. Subsequently, during the parameter optimization process, Eqn (7) is employed to compute $\hat{c}_p$, serving as a differentiable estimator. + +Below, we illustrate the workflow of how to use MBAR Estimator in DMFF through a case study. + +If all sampling ensembles are defined as a single ensemble $w_{0}(x)$, and the target ensemble is defined as $w_{p}(x)$, and for physical quantity A, we have: + +```math +\tag{8} +w_q(x) = w_p(x) A(x) +``` + +and define: + +```math +\tag{9} +\Delta u_{p_0} = u_p(x) - u_0(x) +``` + +then: + +```math +\tag{10} +\langle A \rangle_p = \frac{\hat{c}_q}{\hat{c}_p} = \left(\sum_{n=1}^{N} A(x_n) \exp(-\beta \Delta u_{p_0}(x_n))\right) \cdot \left(\sum_{n=1}^{N} \exp(-\beta \Delta u_{p_0}(x_n))\right)^{-1} +``` + +Refers to equations above, this equation indicates that the trajectory reweighting algorithm is a special case of the reweighted MBAR estimator. + +In DMFF, when calculating the average of the physical quantity A, the formula is expressed as: + +```math +\tag{11} +\langle A \rangle_p = \sum_{n=1}^{N} W_n A(x_n) +``` + +where + +```math +\tag{12} +\Delta U_{mp} = U_m(x_n) - U_p(x_n) +``` + +```math +\tag{13} +W_n = \left[\sum_{m=1}^{M} N_m e^{\hat{f}_m -\beta \Delta U_{mp}(x_n)}\right]^{-1} \cdot \left(\sum_{n=1}^{N} \left[ \sum_{m=1}^{M} N_m e^{\hat{f}_m -\beta \Delta U_{mp}(x_n)} \right]^{-1}\right)^{-1} +``` + +$\hat{f}_m$ is the partition function of the sampling state. W is the MBAR weight for each sample. Finally, the effective sample size is given, based on which one can judge the deviation of the sampling ensemble from the target ensemble: + +```math +\tag{14} +n_{\text{eff}} = \left(\sum_{n=1}^{N} W_n\right)^2\cdot\left(\sum_{n=1}^{N} W_n^2\right)^{-1} +``` + +When $n_{eff}$ is too small, it indicates that the current sampling ensemble deviates too much from the target ensemble and resample is needed. + +Here is a graphical representation of the workflow mentioned above: + +![s](https://i.postimg.cc/1XQmqQVK/opt-baseline.jpg) + +### References + +[1]Wang X, Li J, Yang L, et al.(2022) DMFF: An Open-Source Automatic Differentiable Platform for Molecular Force Field Development and Molecular Dynamics Simulation[J]. + +[2]Thaler, S.; Zavadlav, J.(2021) Learning neural network potentials from experimental datavia Differentiable Trajectory Reweighting.Nature Communications, 12, 6884, + +[3]Shirts, M. R.; Chodera, J. D.(2008) Statistically optimal analysis of samples from multiple equilibrium states.The Journal of Chemical Physics, 129, 124105 + +## 2. Function module + +Function `buildTrajEnergyFunction`: +- Constructs a function that calculates energy for each frame in a trajectory based on a given potential function and other parameters. +- Uses neighbor lists for periodic boundary conditions. + +Class `TargetState`: +- Represents a state of a system with a specified temperature. +- Contains methods for calculating energy of trajectories. + +Class `SampleState`: +- A generic state from which samples (e.g., trajectories) can be taken. +- Methods allow energy calculations for each frame in a trajectory. + +Class `OpenMMSampleState`: +- Inherits from `SampleState` and specializes in samples simulated using OpenMM. + +Class `Sample`: +- Represents a sampled trajectory and the state from which it was sampled. +- Can generate energies of the trajectory with respect to different states. + +Class `ReweightEstimator`: +- Estimates the weights of configurations based on the difference between their energy in a reference state and another state. + +Class `MBAREstimator`: +- Uses the MBAR method to reweight samples and estimate free energies. +- Can add/remove samples and states, compute energy matrices, and optimize weights using MBAR. +- Also contains functions to compute covariance and estimate effective sample size. + +## 3. How to use it + +Here we would tell you how to create a MBAR Estimator and use it. +- Initialization: Create an instance of the `MBAREstimator`: + +```python +estimator = MBAREstimator() +``` +- Prepare the Sampling State and Samples: + +- Define the name of the state: + +```python +state_name = "prm" +``` + +- Create a state using `OpenMMSampleState`. This state is defined by certain parameters including an XML file presumably containing the force field parameters, a PDB file with molecular configurations, and other physical conditions: + +```python +state = OpenMMSampleState(state_name, "prm.xml", "box.pdb", temperature=298.0, pressure=1.0) +``` + +- Load a trajectory (sequence of molecular configurations) using `md.load` (in mdtraj) and slice it to discard the initial configurations (the first 50 frames in this case): + +```python +traj = md.load("init.dcd", top="box.pdb")[50:] +``` + +- Create a sample using the loaded trajectory and the previously defined state name: + +```python +sample = Sample(traj, state_name) +``` + +- Add the State and Sample to the Estimator: + +- Add the created state to the estimator: + +```python +estimator.add_state(state) +``` + +- Add the sample to the estimator: + +```python +estimator.add_sample(sample) +``` + +- Optimization: Invoke the `optimize_mbar` function (which calls the external tool `pymbar` in the background) to estimate the partition functions for all sampled states. + +```python +estimator.optimize_mbar() +``` + +From the provided steps, it's clear that the MBAREstimator works as follows: + +1. Initialize the estimator. The variables that need to be initialized in MBAREstimator include two parts: + 1. All sampling state information and samples it contains. + 2. The sampling state partition function estimated based on the samples and sampling state information. + +2. Prepare the states and the trajectory samples that represent these states. + +3. Add the states and samples to the estimator. + +4. Optimize the weights using the MBAR method to reweight the samples and estimate thermodynamic quantities. + +Note: The operations are not involved in differentiation and do not depend on jax. Once the estimator is initialized, it can directly provide $W(x_{n})$in a differentiable manner. diff --git a/docs/user_guide/4.7OpenMMplugin.md b/docs/user_guide/4.7OpenMMplugin.md new file mode 100644 index 000000000..8d30fab6d --- /dev/null +++ b/docs/user_guide/4.7OpenMMplugin.md @@ -0,0 +1,67 @@ +# OpenMM DMFF Plugin + +## 1. Theory + +OpenMM DMFF plugin was developed for [OpenMM](http://openmm.org) to incorporate the trained JAX model from [DMFF](https://github.com/deepmodeling/DMFF) as an independent Force class for molecular dynamics simulations. +To utilize this plugin, you need to save your DMFF model using the `DMFF/backend/save_dmff2tf.py` script. +The `save_dmff2tf.py` script converts the DMFF model to a TensorFlow module using the experimental feature of JAX called [`jax2tf`](https://github.com/google/jax/blob/main/jax/experimental/jax2tf/README.md). +The integration of the saved TensorFlow module with the DMFF plugin is accomplished using [cppflow](https://github.com/serizba/cppflow) and the OpenMM C++ interface. +To install the DMFF plugin, please refer to the instructions provided in the [Readme](../../backend/openmm_dmff_plugin/README.md). + + +## 2. Save DMFF model with script `save_dmff2tf.py` + +The `save_dmff2tf.py` script requires at least two input files to run: +- input_pdb: A .pdb file containing the initial coordinates and box information. +- xml_files: The force field parameters optimized by DMFF. +Additionally, the `output` argument is required to specify the directory for saving the DMFF model. +The saved model produces `energy` and `forces` tensors. +Below is an example usage of the script: +```python +# For saving classical DMFF model. +python backend/save_dmff2tf.py --input_pdb examples/classical/lig.pdb + --xml_files examples/classical/lig-prm.xml + --output /tmp/dmff_classical_lig +``` +If additional .xml files are needed for topology definition in input files, the `--bond_definitions_xml` argument can be used to specify the path to the .xml file defining bond connections. + +Please note that when saving the DMFF model that uses the `ADMPPmeForce` module, the `--has_aux=True` argument is required. +In this case, the saved model produces `energy`, `forces`, and `U_ind` tensors. +Below is an example usage of the script: +```python +# For saving ADMP DMFF model. +python backend/save_dmff2tf.py --input_pdb examples/water_fullpol/water_dimer.pdb + --xml_files examples/water_fullpol/forcefield.xml + --bond_definitions_xml examples/water_fullpol/residues.xml + --output /tmp/dmff_admp_water_dimer +``` + + +## 3. Class `DMFFModel` + +The OpenMM DMFF Plugin can be easily used through the `DMFFModel` class. +This class provides a convenient way to work with the plugin. +See the example code below: +```python +# Create an OpenMM System object (dmff_system) with saved DMFF model. +from OpenMMDMFFPlugin import DMFFModel +dmff_model = DMFFModel(dp_model_dir) +dmff_model.setUnitTransformCoefficients(1, 1, 1) +dmff_system = dmff_model.createSystem(topology) +``` + +The `DMFFModel` class includes three methods: + +Function `setUnitTransformCoefficients(coordCoefficient, forceCoefficient, energyCoefficient)`: +- In the OpenMM context, the units for coordinates, energy and forces are constrained to nm, kJ/mol and kJ/(mol * nm) respectively. +- You need to provide three coefficients if the saved DMFF model requires different input and output units for coordinates, energy, and forces. + +Function `setHasAux(has_aux=False)`: +- Use this method when running simulations with the `ADMPPmeForce` module in the saved DMFF model. + +Function `createSystem(topology)`: +- This method constructs an OpenMM System object, with the OpenMM Topology object being the input. + +Once the OpenMM System object is constructed, +further simulation settings with the DMFF model are similar to those with other force fields in OpenMM. +A complete script for simulation with this plugin can be found in [test_dmff_plugin_nve.py](/backend/openmm_dmff_plugin//python/OpenMMDMFFPlugin/tests/test_dmff_plugin_nve.py) diff --git a/docs/user_guide/4.modules.md b/docs/user_guide/4.modules.md new file mode 100644 index 000000000..b47d43c87 --- /dev/null +++ b/docs/user_guide/4.modules.md @@ -0,0 +1,11 @@ +# 4. Modules + +In this part, you will see 7 modules of DMFF, some of which are newly released in version 1.0.0. Let's get started with them: + ++ [Classical](./4.1classical.md) ++ [ADMP](./4.2ADMPPmeForce.md) ++ [Qeq](./4.3ADMPQeqForce.md) ++ [Machine Learning](./4.4MLForce.md) ++ [Optimization](./4.5Optimization.md) ++ [Mbar Estimator](./4.6MBAR.md) ++ [OpenMM Plugin](./4.7OpenMMplugin.md) diff --git a/docs/user_guide/DMFF_example.ipynb b/docs/user_guide/DMFF_example.ipynb new file mode 100644 index 000000000..51f4b2b1e --- /dev/null +++ b/docs/user_guide/DMFF_example.ipynb @@ -0,0 +1,3698 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "1b1f04ae-398e-4aff-ac2e-e3e2beaea116", + "metadata": {}, + "source": [ + "# Advanced examples of DMFF 1.0.0\n", + "In our new tutorial notebook https://nb.bohrium.dp.tech/detail/6366839940 You must already have a basic understanding of DMFF version 1.0.0. As an advanced tutorial, we have also prepared this example-notebook for you as a supplement to the Tutorial, which includes an introduction to new modules in DMFF such as Qeq, ML Force, and the OpenMM plugin." + ] + }, + { + "cell_type": "markdown", + "id": "7efc4682-df1a-4137-827e-a210bf325819", + "metadata": {}, + "source": [ + "## Environment Setup\n", + "\n", + "Retrieve DMFF from GitHub and switch to the desired branch, then proceed with the installation." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "bd84a262-a875-4909-9c3d-55e9cbfeaea9", + "metadata": { + "collapsed": true, + "jupyter": { + "outputs_hidden": true + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Cloning into 'DMFF'...\n", + "remote: Enumerating objects: 4439, done.\u001b[K\n", + "remote: Counting objects: 100% (4439/4439), done.\u001b[K\n", + "remote: Compressing objects: 100% (1432/1432), done.\u001b[K\n", + "remote: Total 4439 (delta 2961), reused 4361 (delta 2922), pack-reused 0\u001b[K\n", + "Receiving objects: 100% (4439/4439), 22.10 MiB | 5.00 MiB/s, done.\n", + "Resolving deltas: 100% (2961/2961), done.\n", + "Updating files: 100% (273/273), done.\n", + "Updating files: 100% (318/318), done.\n", + "Branch 'wangxy/v1.0.0-devel' set up to track remote branch 'wangxy/v1.0.0-devel' from 'origin'.\n", + "Switched to a new branch 'wangxy/v1.0.0-devel'\n", + "Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple\n", + "Processing /data/DMFF\n", + " Preparing metadata (setup.py) ... \u001b[?25ldone\n", + "\u001b[?25hRequirement already satisfied: numpy>=1.18 in /opt/mamba/lib/python3.10/site-packages (from dmff==0.2.1.dev338+gcdb14ee) (1.23.4)\n", + "Requirement already satisfied: openmm>=7.6.0 in /opt/mamba/lib/python3.10/site-packages (from dmff==0.2.1.dev338+gcdb14ee) (7.7.0)\n", + "Requirement already satisfied: freud-analysis in /opt/mamba/lib/python3.10/site-packages/freud_analysis-2.11.0-py3.10-linux-x86_64.egg (from dmff==0.2.1.dev338+gcdb14ee) (2.11.0)\n", + "Collecting networkx>=3.0\n", + " Downloading https://pypi.tuna.tsinghua.edu.cn/packages/d5/f0/8fbc882ca80cf077f1b246c0e3c3465f7f415439bdea6b899f6b19f61f70/networkx-3.2.1-py3-none-any.whl (1.6 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.6/1.6 MB\u001b[0m \u001b[31m10.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25hCollecting optax>=0.1.4\n", + " Downloading https://pypi.tuna.tsinghua.edu.cn/packages/13/71/787cc24c4b606f3bb9f1d14957ebd7cb9e4234f6d59081721230b2032196/optax-0.1.7-py3-none-any.whl (154 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m154.1/154.1 kB\u001b[0m \u001b[31m3.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0ma \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25hCollecting jaxopt>=0.8.0\n", + " Downloading https://pypi.tuna.tsinghua.edu.cn/packages/45/ee/a74d0ec01e2c90945cdb10f5c886441d2a78f11f612f14830df39a94b8b5/jaxopt-0.8.2-py3-none-any.whl (170 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m170.3/170.3 kB\u001b[0m \u001b[31m3.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0ma \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: pymbar>=4.0.0 in /opt/mamba/lib/python3.10/site-packages (from dmff==0.2.1.dev338+gcdb14ee) (4.0.1)\n", + "Requirement already satisfied: tqdm in /opt/mamba/lib/python3.10/site-packages (from dmff==0.2.1.dev338+gcdb14ee) (4.64.1)\n", + "Requirement already satisfied: jaxlib>=0.1.69 in /opt/mamba/lib/python3.10/site-packages (from jaxopt>=0.8.0->dmff==0.2.1.dev338+gcdb14ee) (0.3.15+cuda11.cudnn82)\n", + "Requirement already satisfied: scipy>=1.0.0 in /opt/mamba/lib/python3.10/site-packages (from jaxopt>=0.8.0->dmff==0.2.1.dev338+gcdb14ee) (1.9.3)\n", + "Requirement already satisfied: jax>=0.2.18 in /opt/mamba/lib/python3.10/site-packages (from jaxopt>=0.8.0->dmff==0.2.1.dev338+gcdb14ee) (0.3.17)\n", + "Requirement already satisfied: chex>=0.1.5 in /opt/mamba/lib/python3.10/site-packages (from optax>=0.1.4->dmff==0.2.1.dev338+gcdb14ee) (0.1.5)\n", + "Requirement already satisfied: absl-py>=0.7.1 in /opt/mamba/lib/python3.10/site-packages (from optax>=0.1.4->dmff==0.2.1.dev338+gcdb14ee) (1.3.0)\n", + "Requirement already satisfied: numexpr in /opt/mamba/lib/python3.10/site-packages (from pymbar>=4.0.0->dmff==0.2.1.dev338+gcdb14ee) (2.8.4)\n", + "Requirement already satisfied: rowan>=1.2.1 in /opt/mamba/lib/python3.10/site-packages/rowan-1.3.0.post1-py3.10.egg (from freud-analysis->dmff==0.2.1.dev338+gcdb14ee) (1.3.0.post1)\n", + "Requirement already satisfied: dm-tree>=0.1.5 in /opt/mamba/lib/python3.10/site-packages (from chex>=0.1.5->optax>=0.1.4->dmff==0.2.1.dev338+gcdb14ee) (0.1.7)\n", + "Requirement already satisfied: toolz>=0.9.0 in /opt/mamba/lib/python3.10/site-packages (from chex>=0.1.5->optax>=0.1.4->dmff==0.2.1.dev338+gcdb14ee) (0.12.0)\n", + "Requirement already satisfied: typing-extensions in /opt/mamba/lib/python3.10/site-packages (from jax>=0.2.18->jaxopt>=0.8.0->dmff==0.2.1.dev338+gcdb14ee) (4.4.0)\n", + "Requirement already satisfied: etils[epath] in /opt/mamba/lib/python3.10/site-packages (from jax>=0.2.18->jaxopt>=0.8.0->dmff==0.2.1.dev338+gcdb14ee) (0.9.0)\n", + "Requirement already satisfied: opt-einsum in /opt/mamba/lib/python3.10/site-packages (from jax>=0.2.18->jaxopt>=0.8.0->dmff==0.2.1.dev338+gcdb14ee) (3.3.0)\n", + "Requirement already satisfied: zipp in /opt/mamba/lib/python3.10/site-packages (from etils[epath]->jax>=0.2.18->jaxopt>=0.8.0->dmff==0.2.1.dev338+gcdb14ee) (3.10.0)\n", + "Requirement already satisfied: importlib_resources in /opt/mamba/lib/python3.10/site-packages (from etils[epath]->jax>=0.2.18->jaxopt>=0.8.0->dmff==0.2.1.dev338+gcdb14ee) (5.10.0)\n", + "Building wheels for collected packages: dmff\n", + " Building wheel for dmff (setup.py) ... \u001b[?25ldone\n", + "\u001b[?25h Created wheel for dmff: filename=dmff-0.2.1.dev338+gcdb14ee-py3-none-any.whl size=123185 sha256=1afdee2df70e0e259d2037d783a88c28a2edbe14c3f3816c5218753a503b687f\n", + " Stored in directory: /tmp/pip-ephem-wheel-cache-1dostt5y/wheels/f3/08/c8/63a66e9272163ceeb3675eda2e65e58a3e3c8a96296799182d\n", + "Successfully built dmff\n", + "Installing collected packages: networkx, jaxopt, optax, dmff\n", + " Attempting uninstall: optax\n", + " Found existing installation: optax 0.1.3\n", + " Uninstalling optax-0.1.3:\n", + " Successfully uninstalled optax-0.1.3\n", + "Successfully installed dmff-0.2.1.dev338+gcdb14ee jaxopt-0.8.2 networkx-3.2.1 optax-0.1.7\n", + "\u001b[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv\u001b[0m\u001b[33m\n", + "\u001b[0m" + ] + } + ], + "source": [ + "! rm -rf DMFF\n", + "! rm -rf /opt/mamba/lib/python3.10/site-packages/dmff*\n", + "! git clone https://github.com/deepmodeling/DMFF.git\n", + "! git config --global --add safe.directory `pwd`/DMFF\n", + "! cd DMFF && git checkout wangxy/v1.0.0-devel && pip install ." + ] + }, + { + "cell_type": "markdown", + "id": "005cdb5d-ca06-4d89-9add-f8a4c65668b9", + "metadata": {}, + "source": [ + "Install the required libraries; this step is time-consuming, so please be patient." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "d645c00b-d218-4630-8737-87306d09fc52", + "metadata": { + "collapsed": true, + "jupyter": { + "outputs_hidden": true + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + " __ __ __ __\n", + " / \\ / \\ / \\ / \\\n", + " / \\/ \\/ \\/ \\\n", + "███████████████/ /██/ /██/ /██/ /████████████████████████\n", + " / / \\ / \\ / \\ / \\ \\____\n", + " / / \\_/ \\_/ \\_/ \\ o \\__,\n", + " / _/ \\_____/ `\n", + " |/\n", + " ███╗ ███╗ █████╗ ███╗ ███╗██████╗ █████╗\n", + " ████╗ ████║██╔══██╗████╗ ████║██╔══██╗██╔══██╗\n", + " ██╔████╔██║███████║██╔████╔██║██████╔╝███████║\n", + " ██║╚██╔╝██║██╔══██║██║╚██╔╝██║██╔══██╗██╔══██║\n", + " ██║ ╚═╝ ██║██║ ██║██║ ╚═╝ ██║██████╔╝██║ ██║\n", + " ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚═════╝ ╚═╝ ╚═╝\n", + "\n", + " mamba (0.27.0) supported by @QuantStack\n", + "\n", + " GitHub: https://github.com/mamba-org/mamba\n", + " Twitter: https://twitter.com/QuantStack\n", + "\n", + "█████████████████████████████████████████████████████████████\n", + "\n", + "\n", + "Looking for: ['openmm=7.7.0', 'rdkit']\n", + "\n", + "\u001b[?25l\u001b[2K\u001b[0G[+] 0.0s\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.1s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.1s\n", + "conda-forge/noarch \u001b[90m━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.1s\n", + "pkgs/main/linux-64 \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.1s\n", + "pkgs/main/noarch \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.1s\n", + "pkgs/r/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.2s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.2s\n", + "conda-forge/noarch \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.2s\n", + "pkgs/main/linux-64 \u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.2s\n", + "pkgs/main/noarch \u001b[90m━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.2s\n", + "pkgs/r/linux-64 \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.3s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.3s\n", + "conda-forge/noarch \u001b[90m━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.3s\n", + "pkgs/main/linux-64 \u001b[90m╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.3s\n", + "pkgs/main/noarch \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.3s\n", + "pkgs/r/linux-64 \u001b[90m╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.4s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.4s\n", + "conda-forge/noarch \u001b[90m━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.4s\n", + "pkgs/main/linux-64 \u001b[90m━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.4s\n", + "pkgs/main/noarch \u001b[90m━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.4s\n", + "pkgs/r/linux-64 \u001b[90m━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.5s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.5s\n", + "conda-forge/noarch \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.5s\n", + "pkgs/main/linux-64 \u001b[90m━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.5s\n", + "pkgs/main/noarch \u001b[90m━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.5s\n", + "pkgs/r/linux-64 \u001b[90m━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.6s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.6s\n", + "conda-forge/noarch \u001b[90m━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.6s\n", + "pkgs/main/linux-64 \u001b[90m━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.6s\n", + "pkgs/main/noarch \u001b[90m━━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.6s\n", + "pkgs/r/linux-64 \u001b[90m━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.7s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.7s\n", + "conda-forge/noarch \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.7s\n", + "pkgs/main/linux-64 \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.7s\n", + "pkgs/main/noarch \u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.7s\n", + "pkgs/r/linux-64 \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.8s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.8s\n", + "conda-forge/noarch \u001b[90m━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.8s\n", + "pkgs/main/linux-64 \u001b[90m━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.8s\n", + "pkgs/main/noarch \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 352.0 B / ??.?MB @ 473.0 B/s 0.8s\n", + "pkgs/r/linux-64 \u001b[90m━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.9s\n", + "conda-forge/linux-64 \u001b[90m╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.9s\n", + "conda-forge/noarch \u001b[90m━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.9s\n", + "pkgs/main/linux-64 \u001b[90m━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 31.4kB / ??.?MB @ 38.6kB/s 0.9s\n", + "pkgs/main/noarch \u001b[33m━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━\u001b[0m 31.4kB / ??.?MB @ 38.6kB/s 0.9s\n", + "pkgs/r/linux-64 \u001b[90m━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 31.4kB / ??.?MB @ 38.6kB/s 0.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.0s\n", + "conda-forge/linux-64 \u001b[90m━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 1.0s\n", + "conda-forge/noarch \u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 1.0s\n", + "pkgs/main/linux-64 \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 94.3kB / ??.?MB @ 98.2kB/s 1.0s\n", + "pkgs/main/noarch \u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 135.3kB / ??.?MB @ 140.9kB/s 1.0s\n", + "pkgs/r/linux-64 \u001b[90m━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━\u001b[0m 135.3kB / ??.?MB @ 140.9kB/s 1.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.1s\n", + "conda-forge/linux-64 \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 31.7kB / ??.?MB @ 29.3kB/s 1.1s\n", + "conda-forge/noarch \u001b[33m━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━\u001b[0m 32.2kB / ??.?MB @ 29.7kB/s 1.1s\n", + "pkgs/main/linux-64 \u001b[90m━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━\u001b[0m 131.6kB / ??.?MB @ 121.7kB/s 1.1s\n", + "pkgs/main/noarch \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 176.5kB / ??.?MB @ 163.2kB/s 1.1s\n", + "pkgs/r/linux-64 \u001b[90m━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━\u001b[0m 151.7kB / ??.?MB @ 140.3kB/s 1.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.2s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 31.7kB / ??.?MB @ 26.8kB/s 1.2s\n", + "conda-forge/noarch \u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 32.2kB / ??.?MB @ 27.2kB/s 1.2s\n", + "pkgs/main/linux-64 \u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 278.5kB / ??.?MB @ 235.5kB/s 1.2s\n", + "pkgs/main/noarch \u001b[90m━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 356.3kB / ??.?MB @ 301.3kB/s 1.2s\n", + "pkgs/r/linux-64 \u001b[90m━━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━\u001b[0m 327.6kB / ??.?MB @ 277.1kB/s 1.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.3s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━\u001b[0m 136.6kB / ??.?MB @ 106.5kB/s 1.3s\n", + "conda-forge/noarch \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 136.7kB / ??.?MB @ 106.6kB/s 1.3s\n", + "pkgs/main/linux-64 \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 360.4kB / ??.?MB @ 281.0kB/s 1.3s\n", + "pkgs/main/noarch \u001b[90m━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 585.5kB / ??.?MB @ 456.6kB/s 1.3s\n", + "pkgs/r/linux-64 \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 425.9kB / ??.?MB @ 332.1kB/s 1.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.4s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━\u001b[0m 136.6kB / ??.?MB @ 98.8kB/s 1.4s\n", + "conda-forge/noarch \u001b[90m━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 136.7kB / ??.?MB @ 98.9kB/s 1.4s\n", + "pkgs/main/linux-64 \u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 561.1kB / ??.?MB @ 405.7kB/s 1.4s\n", + "pkgs/main/noarch \u001b[90m━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━\u001b[0m 814.8kB / ??.?MB @ 589.2kB/s 1.4s\n", + "pkgs/r/linux-64 \u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 671.5kB / ??.?MB @ 485.6kB/s 1.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gpkgs/main/noarch 853.2kB @ 604.2kB/s 1.4s\n", + "[+] 1.5s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━\u001b[0m 330.2kB / ??.?MB @ 222.6kB/s 1.5s\n", + "conda-forge/noarch \u001b[90m━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 347.0kB / ??.?MB @ 233.9kB/s 1.5s\n", + "pkgs/main/linux-64 \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 851.9kB / ??.?MB @ 574.3kB/s 1.5s\n", + "pkgs/r/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 999.0kB / ??.?MB @ 673.5kB/s 1.5s\n", + "pkgs/r/noarch \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.6s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 395.6kB / ??.?MB @ 249.8kB/s 1.6s\n", + "conda-forge/noarch \u001b[90m━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━\u001b[0m 379.7kB / ??.?MB @ 239.8kB/s 1.6s\n", + "pkgs/main/linux-64 \u001b[90m╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 1.2MB / ??.?MB @ 786.2kB/s 1.6s\n", + "pkgs/r/linux-64 \u001b[90m╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 1.4MB / ??.?MB @ 910.1kB/s 1.6s\n", + "pkgs/r/noarch \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gpkgs/r/linux-64 1.9MB @ 1.1MB/s 1.7s\n", + "[+] 1.7s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 739.2kB / ??.?MB @ 438.8kB/s 1.7s\n", + "conda-forge/noarch \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 756.0kB / ??.?MB @ 448.8kB/s 1.7s\n", + "pkgs/main/linux-64 \u001b[90m━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 1.8MB / ??.?MB @ 1.1MB/s 1.7s\n", + "pkgs/r/noarch \u001b[90m━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━\u001b[0m 237.6kB / ??.?MB @ 142.3kB/s 0.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.8s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 902.8kB / ??.?MB @ 505.7kB/s 1.8s\n", + "conda-forge/noarch \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 886.9kB / ??.?MB @ 496.9kB/s 1.8s\n", + "pkgs/main/linux-64 \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 2.6MB / ??.?MB @ 1.4MB/s 1.8s\n", + "pkgs/r/noarch \u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 860.2kB / ??.?MB @ 486.0kB/s 0.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.9s\n", + "conda-forge/linux-64 \u001b[90m╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 1.3MB / ??.?MB @ 708.7kB/s 1.9s\n", + "conda-forge/noarch \u001b[90m━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━\u001b[0m 1.3MB / ??.?MB @ 704.3kB/s 1.9s\n", + "pkgs/main/linux-64 \u001b[90m━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 3.2MB / ??.?MB @ 1.7MB/s 1.9s\n", + "pkgs/r/noarch \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 1.4MB / ??.?MB @ 724.9kB/s 0.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.0s\n", + "conda-forge/linux-64 \u001b[90m━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 1.9MB / ??.?MB @ 980.9kB/s 2.0s\n", + "conda-forge/noarch \u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 1.9MB / ??.?MB @ 973.1kB/s 2.0s\n", + "pkgs/main/linux-64 \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 3.6MB / ??.?MB @ 1.8MB/s 2.0s\n", + "pkgs/r/noarch \u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 1.8MB / ??.?MB @ 926.9kB/s 0.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.1s\n", + "conda-forge/linux-64 \u001b[90m━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 2.3MB / ??.?MB @ 1.1MB/s 2.1s\n", + "conda-forge/noarch \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 2.3MB / ??.?MB @ 1.1MB/s 2.1s\n", + "pkgs/main/linux-64 \u001b[90m━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━\u001b[0m 3.9MB / ??.?MB @ 1.9MB/s 2.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gpkgs/r/noarch 2.3MB @ 1.1MB/s 0.7s\n", + "[+] 2.2s\n", + "conda-forge/linux-64 \u001b[90m━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━\u001b[0m 3.4MB / ??.?MB @ 1.6MB/s 2.2s\n", + "conda-forge/noarch \u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 3.4MB / ??.?MB @ 1.6MB/s 2.2s\n", + "pkgs/main/linux-64 \u001b[90m━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━\u001b[0m 4.6MB / ??.?MB @ 2.1MB/s 2.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.3s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 4.3MB / ??.?MB @ 1.9MB/s 2.3s\n", + "conda-forge/noarch \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 4.6MB / ??.?MB @ 2.0MB/s 2.3s\n", + "pkgs/main/linux-64 \u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 5.2MB / ??.?MB @ 2.3MB/s 2.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.4s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 5.1MB / ??.?MB @ 2.2MB/s 2.4s\n", + "conda-forge/noarch \u001b[90m╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 5.5MB / ??.?MB @ 2.3MB/s 2.4s\n", + "pkgs/main/linux-64 \u001b[33m━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━\u001b[0m 5.8MB / ??.?MB @ 2.4MB/s 2.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.5s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━\u001b[0m 6.1MB @ 2.5MB/s 2.5s\n", + "conda-forge/noarch \u001b[90m━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 6.5MB @ 2.6MB/s 2.5s\n", + "pkgs/main/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 6.3MB @ 2.6MB/s Finalizing 2.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gpkgs/main/linux-64 @ 2.6MB/s 2.5s\n", + "[+] 2.6s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 7.1MB / ??.?MB @ 2.7MB/s 2.6s\n", + "conda-forge/noarch \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 7.6MB / ??.?MB @ 2.9MB/s 2.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.7s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━\u001b[0m 8.1MB / ??.?MB @ 3.0MB/s 2.7s\n", + "conda-forge/noarch \u001b[90m━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 8.8MB / ??.?MB @ 3.3MB/s 2.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.8s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 9.0MB / ??.?MB @ 3.2MB/s 2.8s\n", + "conda-forge/noarch \u001b[90m━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━\u001b[0m 9.8MB / ??.?MB @ 3.5MB/s 2.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.9s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 10.0MB / ??.?MB @ 3.5MB/s 2.9s\n", + "conda-forge/noarch \u001b[90m━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━\u001b[0m 10.8MB / ??.?MB @ 3.7MB/s 2.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.0s\n", + "conda-forge/linux-64 \u001b[90m╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 10.5MB / ??.?MB @ 3.6MB/s 3.0s\n", + "conda-forge/noarch \u001b[90m━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━\u001b[0m 11.3MB / ??.?MB @ 3.8MB/s 3.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.1s\n", + "conda-forge/linux-64 \u001b[90m╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 10.5MB / ??.?MB @ 3.6MB/s 3.1s\n", + "conda-forge/noarch \u001b[90m━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━\u001b[0m 11.3MB / ??.?MB @ 3.8MB/s 3.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.2s\n", + "conda-forge/linux-64 \u001b[90m━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 10.8MB / ??.?MB @ 3.4MB/s 3.2s\n", + "conda-forge/noarch \u001b[90m━━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━\u001b[0m 11.5MB / ??.?MB @ 3.6MB/s 3.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.3s\n", + "conda-forge/linux-64 \u001b[90m━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 10.8MB / ??.?MB @ 3.4MB/s 3.3s\n", + "conda-forge/noarch \u001b[90m━━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━\u001b[0m 11.5MB / ??.?MB @ 3.6MB/s 3.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.4s\n", + "conda-forge/linux-64 \u001b[90m━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 10.8MB / ??.?MB @ 3.4MB/s 3.4s\n", + "conda-forge/noarch \u001b[90m━━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━\u001b[0m 11.5MB / ??.?MB @ 3.6MB/s 3.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.5s\n", + "conda-forge/linux-64 \u001b[90m━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 11.8MB / ??.?MB @ 3.4MB/s 3.5s\n", + "conda-forge/noarch \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 12.3MB / ??.?MB @ 3.5MB/s 3.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.6s\n", + "conda-forge/linux-64 \u001b[90m━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━\u001b[0m 12.2MB / ??.?MB @ 3.4MB/s 3.6s\n", + "conda-forge/noarch \u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 14.5MB / ??.?MB @ 4.0MB/s 3.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.7s\n", + "conda-forge/linux-64 \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━\u001b[0m 12.2MB @ 3.4MB/s 3.7s\n", + "conda-forge/noarch ━━━━━━━━━━━━━━━━━━━━━━ 14.5MB @ 4.0MB/s Downloaded 3.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.8s\n", + "conda-forge/linux-64 \u001b[90m━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━\u001b[0m 12.2MB / ??.?MB @ 3.4MB/s 3.8s\u001b[2K\u001b[1A\u001b[2K\u001b[0Gconda-forge/noarch @ 4.0MB/s 3.8s\n", + "[+] 3.9s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 14.1MB / ??.?MB @ 3.7MB/s 3.9s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.0s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 15.8MB / ??.?MB @ 4.0MB/s 4.0s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.1s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━\u001b[0m 16.9MB / ??.?MB @ 4.2MB/s 4.1s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.2s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 17.8MB / ??.?MB @ 4.3MB/s 4.2s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.3s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━\u001b[0m 18.7MB / ??.?MB @ 4.4MB/s 4.3s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.4s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 19.4MB / ??.?MB @ 4.4MB/s 4.4s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.5s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 20.1MB / ??.?MB @ 4.5MB/s 4.5s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.6s\n", + "conda-forge/linux-64 \u001b[90m━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 21.1MB / ??.?MB @ 4.6MB/s 4.6s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.7s\n", + "conda-forge/linux-64 \u001b[90m━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 22.0MB / ??.?MB @ 4.7MB/s 4.7s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.8s\n", + "conda-forge/linux-64 \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 22.2MB / ??.?MB @ 4.7MB/s 4.8s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.9s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 23.1MB / ??.?MB @ 4.8MB/s 4.9s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.0s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━\u001b[0m 24.0MB / ??.?MB @ 4.9MB/s 5.0s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.1s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━\u001b[0m 24.9MB / ??.?MB @ 4.9MB/s 5.1s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.2s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━\u001b[0m 25.7MB / ??.?MB @ 5.0MB/s 5.2s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.3s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 26.7MB / ??.?MB @ 5.1MB/s 5.3s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.4s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 27.7MB / ??.?MB @ 5.2MB/s 5.4s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.5s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 28.6MB / ??.?MB @ 5.2MB/s 5.5s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.6s\n", + "conda-forge/linux-64 \u001b[90m╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 29.6MB / ??.?MB @ 5.3MB/s 5.6s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.7s\n", + "conda-forge/linux-64 \u001b[90m━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 30.5MB / ??.?MB @ 5.4MB/s 5.7s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.8s\n", + "conda-forge/linux-64 \u001b[90m━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 30.6MB / ??.?MB @ 5.3MB/s 5.8s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.9s\n", + "conda-forge/linux-64 \u001b[90m━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━\u001b[0m 32.4MB / ??.?MB @ 5.5MB/s 5.9s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.0s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 33.4MB / ??.?MB @ 5.6MB/s 6.0s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.1s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 34.4MB / ??.?MB @ 5.7MB/s 6.1s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.2s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━\u001b[0m 35.3MB / ??.?MB @ 5.7MB/s 6.2s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.3s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━\u001b[0m 35.3MB / ??.?MB @ 5.7MB/s 6.3s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.4s\n", + "conda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 35.7MB @ 5.7MB/s Downloaded 6.4s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.5s\n", + "conda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 35.7MB @ 5.7MB/s Downloaded 6.5s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.6s\n", + "conda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 35.7MB @ 5.7MB/s Downloaded 6.6s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.7s\n", + "conda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 35.7MB @ 5.7MB/s Downloaded 6.7s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.8s\n", + "conda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 35.7MB @ 5.7MB/s Downloaded 6.8s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.9s\n", + "conda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 35.7MB @ 5.7MB/s Downloaded 6.9s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.0s\n", + "conda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 35.7MB @ 5.7MB/s Downloaded 7.0s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.1s\n", + "conda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 35.7MB @ 5.7MB/s Finalizing 7.1s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.2s\n", + "conda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 35.7MB @ 5.7MB/s Finalizing 7.2s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.3s\n", + "conda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 35.7MB @ 5.7MB/s Finalizing 7.3s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.4s\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.5s\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.6s\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.7s\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.8s\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.9s\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.0s\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.1s\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[0Gconda-forge/linux-64 @ 5.7MB/s 7.3s\n", + "\u001b[?25h\n", + "Pinned packages:\n", + " - python 3.10.*\n", + "\n", + "\n", + "Transaction\n", + "\n", + " Prefix: /opt/mamba\n", + "\n", + " Updating specs:\n", + "\n", + " - openmm=7.7.0\n", + " - rdkit\n", + " - ca-certificates\n", + " - certifi\n", + " - openssl\n", + "\n", + "\n", + " Package Version Build Channel Size\n", + "──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + " Install:\n", + "──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + "\n", + "\u001b[32m + archspec \u001b[00m 0.2.2 pyhd8ed1ab_0 conda-forge/noarch 42kB\n", + "\u001b[32m + boltons \u001b[00m 23.0.0 pyhd8ed1ab_0 conda-forge/noarch 303kB\n", + "\u001b[32m + brotli \u001b[00m 1.1.0 hd590300_1 conda-forge/linux-64 19kB\n", + "\u001b[32m + brotli-bin \u001b[00m 1.1.0 hd590300_1 conda-forge/linux-64 19kB\n", + "\u001b[32m + cairo \u001b[00m 1.18.0 h3faef2a_0 conda-forge/linux-64 982kB\n", + "\u001b[32m + conda-libmamba-solver \u001b[00m 23.11.0 pyhd8ed1ab_0 conda-forge/noarch 47kB\n", + "\u001b[32m + conda-package-streaming \u001b[00m 0.9.0 pyhd8ed1ab_0 conda-forge/noarch 19kB\n", + "\u001b[32m + contourpy \u001b[00m 1.2.0 py310hd41b1e2_0 conda-forge/linux-64 239kB\n", + "\u001b[32m + cycler \u001b[00m 0.12.1 pyhd8ed1ab_0 conda-forge/noarch 13kB\n", + "\u001b[32m + expat \u001b[00m 2.5.0 hcb278e6_1 conda-forge/linux-64 137kB\n", + "\u001b[32m + fmt \u001b[00m 10.1.1 h00ab1b0_0 conda-forge/linux-64 192kB\n", + "\u001b[32m + font-ttf-dejavu-sans-mono\u001b[00m 2.37 hab24e00_0 conda-forge/noarch 397kB\n", + "\u001b[32m + font-ttf-inconsolata \u001b[00m 3.000 h77eed37_0 conda-forge/noarch 97kB\n", + "\u001b[32m + font-ttf-source-code-pro \u001b[00m 2.038 h77eed37_0 conda-forge/noarch 701kB\n", + "\u001b[32m + font-ttf-ubuntu \u001b[00m 0.83 hab24e00_0 conda-forge/noarch 2MB\n", + "\u001b[32m + fontconfig \u001b[00m 2.14.2 h14ed4e7_0 conda-forge/linux-64 272kB\n", + "\u001b[32m + fonts-conda-ecosystem \u001b[00m 1 0 conda-forge/noarch 4kB\n", + "\u001b[32m + fonts-conda-forge \u001b[00m 1 0 conda-forge/noarch 4kB\n", + "\u001b[32m + fonttools \u001b[00m 4.44.0 py310h2372a71_0 conda-forge/linux-64 2MB\n", + "\u001b[32m + freetype \u001b[00m 2.12.1 h267a509_2 conda-forge/linux-64 635kB\n", + "\u001b[32m + freetype-py \u001b[00m 2.3.0 pyhd8ed1ab_0 conda-forge/noarch 59kB\n", + "\u001b[32m + gettext \u001b[00m 0.21.1 h27087fc_0 conda-forge/linux-64 4MB\n", + "\u001b[32m + greenlet \u001b[00m 3.0.1 py310hc6cd4ac_0 conda-forge/linux-64 206kB\n", + "\u001b[32m + jsonpatch \u001b[00m 1.33 pyhd8ed1ab_0 conda-forge/noarch 17kB\n", + "\u001b[32m + jsonpointer \u001b[00m 2.4 py310hff52083_3 conda-forge/linux-64 16kB\n", + "\u001b[32m + kiwisolver \u001b[00m 1.4.5 py310hd41b1e2_1 conda-forge/linux-64 73kB\n", + "\u001b[32m + lcms2 \u001b[00m 2.15 h7f713cb_2 conda-forge/linux-64 241kB\n", + "\u001b[32m + lerc \u001b[00m 4.0.0 h27087fc_0 conda-forge/linux-64 282kB\n", + "\u001b[32m + libboost \u001b[00m 1.82.0 h6fcfa73_6 conda-forge/linux-64 3MB\n", + "\u001b[32m + libboost-python \u001b[00m 1.82.0 py310hcb52e73_6 conda-forge/linux-64 119kB\n", + "\u001b[32m + libbrotlicommon \u001b[00m 1.1.0 hd590300_1 conda-forge/linux-64 69kB\n", + "\u001b[32m + libbrotlidec \u001b[00m 1.1.0 hd590300_1 conda-forge/linux-64 33kB\n", + "\u001b[32m + libbrotlienc \u001b[00m 1.1.0 hd590300_1 conda-forge/linux-64 283kB\n", + "\u001b[32m + libdeflate \u001b[00m 1.19 hd590300_0 conda-forge/linux-64 67kB\n", + "\u001b[32m + libexpat \u001b[00m 2.5.0 hcb278e6_1 conda-forge/linux-64 78kB\n", + "\u001b[32m + libglib \u001b[00m 2.78.1 hebfc3b9_0 conda-forge/linux-64 3MB\n", + "\u001b[32m + libjpeg-turbo \u001b[00m 2.1.5.1 hd590300_1 conda-forge/linux-64 496kB\n", + "\u001b[32m + libpng \u001b[00m 1.6.39 h753d276_0 conda-forge/linux-64 283kB\n", + "\u001b[32m + libtiff \u001b[00m 4.6.0 h29866fb_1 conda-forge/linux-64 277kB\n", + "\u001b[32m + libwebp-base \u001b[00m 1.3.2 hd590300_0 conda-forge/linux-64 402kB\n", + "\u001b[32m + libxcb \u001b[00m 1.15 h0b41bf4_0 conda-forge/linux-64 384kB\n", + "\u001b[32m + matplotlib-base \u001b[00m 3.8.0 py310h62c0568_1 conda-forge/linux-64 7MB\n", + "\u001b[32m + munkres \u001b[00m 1.1.4 pyh9f0ad1d_0 conda-forge/noarch 12kB\n", + "\u001b[32m + openjpeg \u001b[00m 2.5.0 h488ebb8_3 conda-forge/linux-64 357kB\n", + "\u001b[32m + pcre2 \u001b[00m 10.40 hc3806b6_0 conda-forge/linux-64 2MB\n", + "\u001b[32m + pillow \u001b[00m 10.0.1 py310h29da1c1_1 conda-forge/linux-64 46MB\n", + "\u001b[32m + pixman \u001b[00m 0.42.2 h59595ed_0 conda-forge/linux-64 385kB\n", + "\u001b[32m + pthread-stubs \u001b[00m 0.4 h36c2ea0_1001 conda-forge/linux-64 6kB\n", + "\u001b[32m + pycairo \u001b[00m 1.25.1 py310hda9f760_0 conda-forge/linux-64 116kB\n", + "\u001b[32m + rdkit \u001b[00m 2023.09.1 py310hb79e901_0 conda-forge/linux-64 37MB\n", + "\u001b[32m + reportlab \u001b[00m 4.0.7 py310h2372a71_0 conda-forge/linux-64 2MB\n", + "\u001b[32m + rlpycairo \u001b[00m 0.2.0 pyhd8ed1ab_0 conda-forge/noarch 15kB\n", + "\u001b[32m + sqlalchemy \u001b[00m 2.0.23 py310h2372a71_0 conda-forge/linux-64 3MB\n", + "\u001b[32m + truststore \u001b[00m 0.8.0 pyhd8ed1ab_0 conda-forge/noarch 21kB\n", + "\u001b[32m + typing-extensions \u001b[00m 4.8.0 hd8ed1ab_0 conda-forge/noarch 10kB\n", + "\u001b[32m + typing_extensions \u001b[00m 4.8.0 pyha770c72_0 conda-forge/noarch 35kB\n", + "\u001b[32m + unicodedata2 \u001b[00m 15.1.0 py310h2372a71_0 conda-forge/linux-64 374kB\n", + "\u001b[32m + xorg-kbproto \u001b[00m 1.0.7 h7f98852_1002 conda-forge/linux-64 27kB\n", + "\u001b[32m + xorg-libice \u001b[00m 1.1.1 hd590300_0 conda-forge/linux-64 58kB\n", + "\u001b[32m + xorg-libsm \u001b[00m 1.2.4 h7391055_0 conda-forge/linux-64 27kB\n", + "\u001b[32m + xorg-libx11 \u001b[00m 1.8.7 h8ee46fc_0 conda-forge/linux-64 829kB\n", + "\u001b[32m + xorg-libxau \u001b[00m 1.0.11 hd590300_0 conda-forge/linux-64 14kB\n", + "\u001b[32m + xorg-libxdmcp \u001b[00m 1.1.3 h7f98852_0 conda-forge/linux-64 19kB\n", + "\u001b[32m + xorg-libxext \u001b[00m 1.3.4 h0b41bf4_2 conda-forge/linux-64 50kB\n", + "\u001b[32m + xorg-libxrender \u001b[00m 0.9.11 hd590300_0 conda-forge/linux-64 38kB\n", + "\u001b[32m + xorg-renderproto \u001b[00m 0.11.1 h7f98852_1002 conda-forge/linux-64 10kB\n", + "\u001b[32m + xorg-xextproto \u001b[00m 7.3.0 h0b41bf4_1003 conda-forge/linux-64 30kB\n", + "\u001b[32m + xorg-xproto \u001b[00m 7.0.31 h7f98852_1007 conda-forge/linux-64 75kB\n", + "\u001b[32m + zstandard \u001b[00m 0.22.0 py310h1275a96_0 conda-forge/linux-64 404kB\n", + "\n", + " Change:\n", + "──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + "\n", + "\u001b[31m - hdf5 \u001b[00m 1.12.1 h70be1eb_2 mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main \n", + "\u001b[32m + hdf5 \u001b[00m 1.12.1 nompi_h4df4325_104 conda-forge/linux-64 4MB\n", + "\u001b[31m - python \u001b[00m 3.10.6 h582c2e5_0_cpython conda-forge \n", + "\u001b[32m + python \u001b[00m 3.10.6 ha86cf86_0_cpython conda-forge/linux-64 30MB\n", + "\n", + " Upgrade:\n", + "──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + "\n", + "\u001b[31m - c-ares \u001b[00m 1.18.1 h7f98852_0 conda-forge \n", + "\u001b[32m + c-ares \u001b[00m 1.21.0 hd590300_0 conda-forge/linux-64 122kB\n", + "\u001b[31m - ca-certificates \u001b[00m 2022.10.11 h06a4308_0 mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main \n", + "\u001b[32m + ca-certificates \u001b[00m 2023.7.22 hbcca054_0 conda-forge/linux-64 150kB\n", + "\u001b[31m - certifi \u001b[00m 2022.9.24 py310h06a4308_0 mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main \n", + "\u001b[32m + certifi \u001b[00m 2023.7.22 pyhd8ed1ab_0 conda-forge/noarch 154kB\n", + "\u001b[31m - conda \u001b[00m 22.11.0 py310h06a4308_1 mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main \n", + "\u001b[32m + conda \u001b[00m 23.10.0 py310hff52083_1 conda-forge/linux-64 969kB\n", + "\u001b[31m - conda-package-handling \u001b[00m 1.9.0 py310h5764c6d_0 conda-forge \n", + "\u001b[32m + conda-package-handling \u001b[00m 2.2.0 pyh38be061_0 conda-forge/noarch 255kB\n", + "\u001b[31m - cryptography \u001b[00m 38.0.2 py310h597c629_1 conda-forge \n", + "\u001b[32m + cryptography \u001b[00m 41.0.5 py310h75e40e8_0 conda-forge/linux-64 2MB\n", + "\u001b[31m - icu \u001b[00m 70.1 h27087fc_0 conda-forge \n", + "\u001b[32m + icu \u001b[00m 73.2 h59595ed_0 conda-forge/linux-64 12MB\n", + "\u001b[31m - krb5 \u001b[00m 1.19.3 h3790be6_0 conda-forge \n", + "\u001b[32m + krb5 \u001b[00m 1.21.2 h659d440_0 conda-forge/linux-64 1MB\n", + "\u001b[31m - libarchive \u001b[00m 3.5.2 hb890918_3 conda-forge \n", + "\u001b[32m + libarchive \u001b[00m 3.7.2 h039dbb9_0 conda-forge/linux-64 866kB\n", + "\u001b[31m - libcurl \u001b[00m 7.86.0 h7bff187_0 conda-forge \n", + "\u001b[32m + libcurl \u001b[00m 8.4.0 hca28451_0 conda-forge/linux-64 386kB\n", + "\u001b[31m - libmamba \u001b[00m 0.27.0 h0dd8ff0_0 conda-forge \n", + "\u001b[32m + libmamba \u001b[00m 1.5.3 had39da4_1 conda-forge/linux-64 2MB\n", + "\u001b[31m - libmambapy \u001b[00m 0.27.0 py310hab0e683_0 conda-forge \n", + "\u001b[32m + libmambapy \u001b[00m 1.5.3 py310h39ff949_1 conda-forge/linux-64 303kB\n", + "\u001b[31m - libnghttp2 \u001b[00m 1.47.0 hdcd2b5c_1 conda-forge \n", + "\u001b[32m + libnghttp2 \u001b[00m 1.58.0 h47da74e_0 conda-forge/linux-64 631kB\n", + "\u001b[31m - libssh2 \u001b[00m 1.10.0 haa6b8db_3 conda-forge \n", + "\u001b[32m + libssh2 \u001b[00m 1.11.0 h0841786_0 conda-forge/linux-64 271kB\n", + "\u001b[31m - libuuid \u001b[00m 2.32.1 h7f98852_1000 conda-forge \n", + "\u001b[32m + libuuid \u001b[00m 2.38.1 h0b41bf4_0 conda-forge/linux-64 34kB\n", + "\u001b[31m - libxml2 \u001b[00m 2.10.3 h7463322_0 conda-forge \n", + "\u001b[32m + libxml2 \u001b[00m 2.11.5 h232c23b_1 conda-forge/linux-64 706kB\n", + "\u001b[31m - mamba \u001b[00m 0.27.0 py310hf87f941_0 conda-forge \n", + "\u001b[32m + mamba \u001b[00m 1.5.3 py310h51d5547_1 conda-forge/linux-64 52kB\n", + "\u001b[31m - openssl \u001b[00m 1.1.1s h7f8727e_0 mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main \n", + "\u001b[32m + openssl \u001b[00m 3.1.4 hd590300_0 conda-forge/linux-64 3MB\n", + "\u001b[31m - packaging \u001b[00m 21.3 pyhd3eb1b0_0 mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main \n", + "\u001b[32m + packaging \u001b[00m 23.2 pyhd8ed1ab_0 conda-forge/noarch 49kB\n", + "\u001b[31m - pyopenssl \u001b[00m 22.1.0 pyhd8ed1ab_0 conda-forge \n", + "\u001b[32m + pyopenssl \u001b[00m 23.3.0 pyhd8ed1ab_0 conda-forge/noarch 127kB\n", + "\u001b[31m - yaml-cpp \u001b[00m 0.7.0 h27087fc_2 conda-forge \n", + "\u001b[32m + yaml-cpp \u001b[00m 0.8.0 h59595ed_0 conda-forge/linux-64 205kB\n", + "\u001b[31m - zstd \u001b[00m 1.5.2 h6239696_4 conda-forge \n", + "\u001b[32m + zstd \u001b[00m 1.5.5 hfc55251_0 conda-forge/linux-64 545kB\n", + "\n", + " Summary:\n", + "\n", + " Install: 69 packages\n", + " Change: 2 packages\n", + " Upgrade: 22 packages\n", + "\n", + " Total download: 182MB\n", + "\n", + "──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n", + "\n", + "\u001b[?25l\u001b[2K\u001b[0G[+] 0.0s\n", + "Downloading \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0.0 B 0.0s\n", + "Extracting \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0 0.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.1s\n", + "Downloading (5) \u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0.0 B ca-certificates 0.0s\n", + "Extracting \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0 0.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.2s\n", + "Downloading (5) \u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0.0 B ca-certificates 0.1s\n", + "Extracting \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0 0.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.3s\n", + "Downloading (5) \u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0.0 B ca-certificates 0.2s\n", + "Extracting \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0 0.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.4s\n", + "Downloading (5) \u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0.0 B ca-certificates 0.3s\n", + "Extracting \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0 0.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.5s\n", + "Downloading (5) \u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0.0 B icu 0.4s\n", + "Extracting \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0 0.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.6s\n", + "Downloading (5) \u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0.0 B icu 0.5s\n", + "Extracting \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0 0.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.7s\n", + "Downloading (5) \u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0.0 B icu 0.6s\n", + "Extracting \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0 0.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.8s\n", + "Downloading (5) \u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 499.0 B icu 0.7s\n", + "Extracting \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0 0.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.9s\n", + "Downloading (5) \u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 130.6kB libuuid 0.8s\n", + "Extracting \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0 0.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibuuid 33.6kB @ 35.2kB/s 1.0s\n", + "xorg-libice 58.5kB @ 60.1kB/s 1.0s\n", + "[+] 1.0s\n", + "Downloading (5) \u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 189.8kB ca-certificates 0.9s\n", + "Extracting (2) \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 0 libuuid 0.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.1s\n", + "Downloading (5) \u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 455.9kB ca-certificates 1.0s\n", + "Extracting (2) \u001b[90m━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━\u001b[0m 0 libuuid 0.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gca-certificates 149.5kB @ 132.2kB/s 1.1s\n", + "[+] 1.2s\n", + "Downloading (5) \u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 877.7kB icu 1.1s\n", + "Extracting (3) \u001b[90m━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━\u001b[0m 0 libuuid 0.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.3s\n", + "Downloading (5) \u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 955.9kB icu 1.2s\n", + "Extracting (3) \u001b[90m━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━\u001b[0m 0 libuuid 0.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gpixman 385.3kB @ 295.5kB/s 1.3s\n", + "libdeflate 67.1kB @ 49.8kB/s 0.2s\n", + "libpng 282.6kB @ 203.8kB/s 0.4s\n", + "[+] 1.4s\n", + "Downloading (5) \u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 1.6MB icu 1.3s\n", + "Extracting (6) \u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 0 pixman 0.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.5s\n", + "Downloading (5) \u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 1.6MB icu 1.4s\n", + "Extracting (5) \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 1 pixman 0.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibbrotlicommon 69.4kB @ 45.7kB/s 0.2s\n", + "xorg-xproto 74.9kB @ 47.8kB/s 0.2s\n", + "[+] 1.6s\n", + "Downloading (5) \u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━\u001b[0m 2.0MB libboost 1.5s\n", + "Extracting (6) \u001b[33m━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━\u001b[0m 2 pixman 0.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.7s\n", + "Downloading (5) \u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━\u001b[0m 2.8MB libboost 1.6s\n", + "Extracting (5) \u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 3 pixman 0.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.8s\n", + "Downloading (5) \u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━\u001b[0m 3.5MB libboost 1.7s\n", + "Extracting (4) \u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 4 xorg-xproto 0.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibxml2 705.5kB @ 385.1kB/s 0.4s\n", + "[+] 1.9s\n", + "Downloading (5) \u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━\u001b[0m 5.4MB libboost 1.8s\n", + "Extracting (4) ╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━\u001b[0m 5 xorg-xproto 0.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.0s\n", + "Downloading (5) \u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━\u001b[0m 6.7MB libbrotlidec 1.9s\n", + "Extracting (2) ╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━\u001b[0m 7 libpng 1.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibbrotlidec 32.8kB @ 16.0kB/s 0.2s\n", + "pcre2 2.4MB @ 1.2MB/s 1.1s\n", + "[+] 2.1s\n", + "Downloading (5) ╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━\u001b[0m 9.2MB icu 2.0s\n", + "Extracting (3) ╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━\u001b[0m 8 libbrotlidec 1.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.2s\n", + "Downloading (5) ╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━\u001b[0m 11.2MB icu 2.1s\n", + "Extracting (2) ━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━\u001b[0m 9 libbrotlidec 1.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibboost 2.6MB @ 1.2MB/s 0.7s\n", + "[+] 2.3s\n", + "Downloading (5) ╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━\u001b[0m 14.1MB icu 2.2s\n", + "Extracting (3) ━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━\u001b[0m 9 libbrotlidec 1.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibnghttp2 631.4kB @ 268.3kB/s 0.3s\n", + "krb5 1.4MB @ 582.6kB/s 0.3s\n", + "libglib 2.7MB @ 1.1MB/s 0.8s\n", + "[+] 2.4s\n", + "Downloading (5) ━╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━\u001b[0m 18.4MB icu 2.3s\n", + "Extracting (6) ━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━\u001b[0m 9 libbrotlidec 1.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gopenjpeg 356.7kB @ 146.3kB/s 0.2s\n", + "[+] 2.5s\n", + "Downloading (5) ━╸\u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━\u001b[0m 20.4MB pillow 2.4s\n", + "Extracting (6) ━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━\u001b[0m 10 krb5 1.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Ggreenlet 206.4kB @ 80.1kB/s 0.2s\n", + "[+] 2.6s\n", + "Downloading (5) ━╸\u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━\u001b[0m 22.1MB pillow 2.5s\n", + "Extracting (7) ━╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━\u001b[0m 10 krb5 1.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gunicodedata2 374.1kB @ 143.0kB/s 0.3s\n", + "zstandard 404.0kB @ 154.4kB/s 0.2s\n", + "[+] 2.7s\n", + "Downloading (5) ━━╸\u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 25.5MB pillow 2.6s\n", + "Extracting (8) ━╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━\u001b[0m 11 krb5 1.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gicu 12.1MB @ 4.4MB/s 2.7s\n", + "xorg-libxrender 37.8kB @ 13.6kB/s 0.2s\n", + "[+] 2.8s\n", + "Downloading (5) ━━╸\u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 28.1MB pillow 2.7s\n", + "Extracting (9) ━╸\u001b[33m━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━\u001b[0m 12 greenlet 1.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.9s\n", + "Downloading (5) ━━╸\u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 28.6MB truststore 2.8s\n", + "Extracting (8) ━━╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━\u001b[0m 13 greenlet 1.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gmunkres 12.5kB @ 4.2kB/s 0.2s\n", + "truststore 20.7kB @ 6.9kB/s 0.2s\n", + "[+] 3.0s\n", + "Downloading (5) ━━╸\u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 29.3MB conda-package-streaming 2.9s\n", + "Extracting (7) ━━╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━\u001b[0m 15 icu 2.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.1s\n", + "Downloading (5) ━━╸\u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 29.3MB conda-package-streaming 3.0s\n", + "Extracting (5) ━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━\u001b[0m 18 icu 2.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gpackaging 49.5kB @ 15.6kB/s 0.2s\n", + "[+] 3.2s\n", + "Downloading (5) ━━╸\u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 31.4MB conda-package-streaming 3.1s\n", + "Extracting (6) ━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━\u001b[0m 18 icu 2.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gconda-package-streaming 19.2kB @ 6.0kB/s 0.2s\n", + "font-ttf-source-code-pro 700.8kB @ 214.4kB/s 0.7s\n", + "libmambapy 302.8kB @ 92.2kB/s 0.7s\n", + "[+] 3.3s\n", + "Downloading (5) ━━╸\u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 32.5MB cairo 3.2s\n", + "Extracting (8) ━━━╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━\u001b[0m 19 icu 2.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.4s\n", + "Downloading (5) ━━━╸\u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 33.9MB cairo 3.3s\n", + "Extracting (6) ━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━\u001b[0m 21 conda-package-streaming 2.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gtyping-extensions 10.1kB @ 3.0kB/s 0.2s\n", + "conda-libmamba-solver 46.5kB @ 13.3kB/s 0.2s\n", + "[+] 3.5s\n", + "Downloading (5) ━━━╸\u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 36.8MB cairo 3.4s\n", + "Extracting (6) ━━━━╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 23 conda-package-streaming 2.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.6s\n", + "Downloading (5) ━━━╸\u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 36.8MB cairo 3.5s\n", + "Extracting (5) ━━━━╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 24 conda-libmamba-solver 2.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.7s\n", + "Downloading (5) ━━━╸\u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 37.2MB fonttools 3.6s\n", + "Extracting (5) ━━━━╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 24 conda-libmamba-solver 2.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gc-ares 121.7kB @ 32.7kB/s 0.2s\n", + "[+] 3.8s\n", + "Downloading (5) ━━━╸\u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 39.0MB fonttools 3.7s\n", + "Extracting (6) ━━━━╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 24 conda-libmamba-solver 2.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.9s\n", + "Downloading (5) ━━━╸\u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 39.8MB fonttools 3.8s\n", + "Extracting (4) ━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 26 c-ares 2.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gxorg-xextproto 30.3kB @ 7.7kB/s 0.2s\n", + "[+] 4.0s\n", + "Downloading (5) ━━━━╸\u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 41.1MB fonttools 3.9s\n", + "Extracting (3) ━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 28 c-ares 3.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gfonttools 2.2MB @ 556.5kB/s 0.8s\n", + "[+] 4.1s\n", + "Downloading (5) ━━━━╸\u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 42.7MB cairo 4.0s\n", + "Extracting (3) ━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 29 c-ares 3.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.2s\n", + "Downloading (5) ━━━━╸\u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 43.3MB cairo 4.1s\n", + "Extracting (3) ━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 29 c-ares 3.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibjpeg-turbo 496.4kB @ 117.6kB/s 0.3s\n", + "xorg-libxau 14.5kB @ 3.4kB/s 0.2s\n", + "cairo 982.4kB @ 230.4kB/s 1.0s\n", + "[+] 4.3s\n", + "Downloading (5) ━━━━╸\u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 45.3MB libtiff 4.2s\n", + "Extracting (4) ━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 31 cairo 3.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.4s\n", + "Downloading (5) ━━━━╸\u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 47.0MB libtiff 4.3s\n", + "Extracting (4) ━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 31 cairo 3.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.5s\n", + "Downloading (5) ━━━━╸\u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 47.0MB libtiff 4.4s\n", + "Extracting (4) ━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 31 cairo 3.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gpthread-stubs 5.6kB @ 1.2kB/s 0.3s\n", + "reportlab 2.4MB @ 521.5kB/s 1.1s\n", + "libtiff 277.5kB @ 61.4kB/s 0.3s\n", + "[+] 4.6s\n", + "Downloading (5) ━━━━╸\u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 47.6MB fontconfig 4.5s\n", + "Extracting (6) ━━━━━━╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 32 cairo 3.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.7s\n", + "Downloading (5) ━━━━╸\u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 47.6MB fontconfig 4.6s\n", + "Extracting (4) ━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 34 libtiff 3.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.8s\n", + "Downloading (5) ━━━━━╸\u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 51.3MB fontconfig 4.7s\n", + "Extracting (4) ━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 34 libtiff 3.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.9s\n", + "Downloading (5) ━━━━━╸\u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 51.3MB fontconfig 4.8s\n", + "Extracting (3) ━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 35 libtiff 3.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.0s\n", + "Downloading (5) ━━━━━╸\u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 51.4MB openssl 4.9s\n", + "Extracting (1) ━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 37 libtiff 4.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gfontconfig 272.0kB @ 54.1kB/s 0.5s\n", + "xorg-libx11 828.7kB @ 163.5kB/s 0.6s\n", + "[+] 5.1s\n", + "Downloading (5) ━━━━━╸\u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 53.8MB openssl 5.0s\n", + "Extracting (2) ━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 38 fontconfig 4.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gopenssl 2.6MB @ 517.0kB/s 0.9s\n", + "[+] 5.2s\n", + "Downloading (5) ━━━━━━╸\u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 58.7MB libboost-python 5.1s\n", + "Extracting (3) ━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━━\u001b[0m 38 fontconfig 4.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibboost-python 119.1kB @ 22.6kB/s 0.2s\n", + "[+] 5.3s\n", + "Downloading (5) ━━━━━━╸\u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 59.7MB font-ttf-inconsolata 5.2s\n", + "Extracting (4) ━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━━\u001b[0m 38 fontconfig 4.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.4s\n", + "Downloading (5) ━━━━━━╸\u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━\u001b[0m 60.5MB font-ttf-inconsolata 5.3s\n", + "Extracting (4) ━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━━\u001b[0m 38 fontconfig 4.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.5s\n", + "Downloading (5) ━━━━━━╸\u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━\u001b[0m 60.5MB font-ttf-inconsolata 5.4s\n", + "Extracting (4) ━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━━\u001b[0m 38 libboost-python 4.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gfont-ttf-inconsolata 96.5kB @ 17.5kB/s 0.3s\n", + "[+] 5.6s\n", + "Downloading (5) ━━━━━━╸\u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━\u001b[0m 60.8MB cycler 5.5s\n", + "Extracting (5) ━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━━\u001b[0m 38 libboost-python 4.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.7s\n", + "Downloading (5) ━━━━━━╸\u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━\u001b[0m 62.2MB cycler 5.6s\n", + "Extracting (4) ━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━━\u001b[0m 39 libboost-python 4.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibcurl 386.2kB @ 67.7kB/s 0.6s\n", + "cycler 13.5kB @ 2.3kB/s 0.2s\n", + "libmamba 1.7MB @ 286.7kB/s 0.6s\n", + "[+] 5.8s\n", + "Downloading (5) ━━━━━━━╸\u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━\u001b[0m 64.5MB archspec 5.7s\n", + "Extracting (7) ━━━━━━━━╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 39 libboost-python 4.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.9s\n", + "Downloading (5) ━━━━━━━╸\u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━\u001b[0m 65.8MB archspec 5.8s\n", + "Extracting (4) ━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 42 cycler 4.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Garchspec 42.3kB @ 7.1kB/s 0.2s\n", + "fonts-conda-ecosystem 3.7kB @ 614.0 B/s 0.2s\n", + "[+] 6.0s\n", + "Downloading (5) ━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 68.3MB mamba 5.9s\n", + "Extracting (6) ━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 42 cycler 5.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.1s\n", + "Downloading (5) ━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 68.3MB mamba 6.0s\n", + "Extracting (4) ━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 44 cycler 5.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gmamba 51.6kB @ 8.3kB/s 0.2s\n", + "[+] 6.2s\n", + "Downloading (5) ━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 68.7MB matplotlib-base 6.1s\n", + "Extracting (5) ━━━━━━━━━╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 44 cycler 5.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.3s\n", + "Downloading (5) ━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 68.7MB matplotlib-base 6.2s\n", + "Extracting (5) ━━━━━━━━━╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 44 fonts-conda-ecosystem 5.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.4s\n", + "Downloading (5) ━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 68.7MB matplotlib-base 6.3s\n", + "Extracting (5) ━━━━━━━━━╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 44 fonts-conda-ecosystem 5.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.5s\n", + "Downloading (5) ━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 69.1MB matplotlib-base 6.4s\n", + "Extracting (3) ━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 46 fonts-conda-ecosystem 5.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.6s\n", + "Downloading (5) ━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 69.1MB pillow 6.5s\n", + "Extracting ━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━\u001b[0m 49 5.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gzstd 545.2kB @ 81.5kB/s 0.5s\n", + "[+] 6.7s\n", + "Downloading (5) ━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 69.9MB pillow 6.6s\n", + "Extracting (1) ━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 49 zstd 5.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gpyopenssl 127.1kB @ 19.0kB/s 1.0s\n", + "[+] 6.8s\n", + "Downloading (5) ━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━\u001b[0m 76.2MB pillow 6.7s\n", + "Extracting (2) ━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 49 zstd 5.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.9s\n", + "Downloading (5) ━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━\u001b[0m 76.5MB pillow 6.8s\n", + "Extracting (2) ━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 49 zstd 5.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gxorg-renderproto 9.6kB @ 1.4kB/s 0.2s\n", + "[+] 7.0s\n", + "Downloading (5) ━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━\u001b[0m 78.8MB python 6.9s\n", + "Extracting (3) ━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 49 zstd 5.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.1s\n", + "Downloading (5) ━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━\u001b[0m 81.1MB python 7.0s\n", + "Extracting (3) ━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 49 pyopenssl 6.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gxorg-libsm 27.4kB @ 3.8kB/s 0.2s\n", + "[+] 7.2s\n", + "Downloading (5) ━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━\u001b[0m 83.5MB python 7.1s\n", + "Extracting (2) ━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 51 xorg-libsm 6.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.3s\n", + "Downloading (5) ━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━\u001b[0m 83.5MB python 7.2s\n", + "Extracting (2) ━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 51 xorg-libsm 6.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.4s\n", + "Downloading (5) ━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━\u001b[0m 83.5MB gettext 7.3s\n", + "Extracting (1) ━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 52 xorg-libsm 6.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.5s\n", + "Downloading (5) ━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━\u001b[0m 84.7MB gettext 7.4s\n", + "Extracting (1) ━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 52 xorg-libsm 6.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.6s\n", + "Downloading (5) ━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━\u001b[0m 84.7MB gettext 7.5s\n", + "Extracting ━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━\u001b[0m 53 6.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.7s\n", + "Downloading (5) ━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━\u001b[0m 84.9MB gettext 7.6s\n", + "Extracting ━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━\u001b[0m 53 6.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.8s\n", + "Downloading (5) ━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━\u001b[0m 85.0MB libbrotlienc 7.7s\n", + "Extracting ━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━\u001b[0m 53 6.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibbrotlienc 282.5kB @ 36.0kB/s 0.7s\n", + "[+] 7.9s\n", + "Downloading (5) ━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━\u001b[0m 86.2MB gettext 7.8s\n", + "Extracting (1) ━━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 53 libbrotlienc 6.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.0s\n", + "Downloading (5) ━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━\u001b[0m 86.6MB gettext 7.9s\n", + "Extracting (1) ━━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 53 libbrotlienc 6.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.1s\n", + "Downloading (5) ━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━\u001b[0m 88.1MB gettext 8.0s\n", + "Extracting (1) ━━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 53 libbrotlienc 6.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Ggettext 4.3MB @ 528.9kB/s 1.5s\n", + "[+] 8.2s\n", + "Downloading (5) ━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━\u001b[0m 95.3MB kiwisolver 8.1s\n", + "Extracting (1) ━━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 54 gettext 6.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.3s\n", + "Downloading (5) ━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━\u001b[0m 95.6MB kiwisolver 8.2s\n", + "Extracting (1) ━━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 54 gettext 6.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gkiwisolver 73.1kB @ 8.7kB/s 0.2s\n", + "[+] 8.4s\n", + "Downloading (5) ━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━\u001b[0m 97.2MB cryptography 8.3s\n", + "Extracting (2) ━━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 54 gettext 7.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.5s\n", + "Downloading (5) ━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━\u001b[0m 98.2MB cryptography 8.4s\n", + "Extracting (2) ━━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 54 gettext 7.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.6s\n", + "Downloading (5) ━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━\u001b[0m 100.1MB cryptography 8.5s\n", + "Extracting (2) ━━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 54 kiwisolver 7.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.7s\n", + "Downloading (5) ━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━\u001b[0m 102.2MB cryptography 8.6s\n", + "Extracting (2) ━━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 54 kiwisolver 7.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.8s\n", + "Downloading (5) ━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━\u001b[0m 102.2MB libarchive 8.7s\n", + "Extracting (1) ━━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 55 gettext 7.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.9s\n", + "Downloading (5) ━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━\u001b[0m 102.4MB libarchive 8.8s\n", + "Extracting (1) ━━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 55 gettext 7.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibarchive 865.9kB @ 96.7kB/s 1.1s\n", + "[+] 9.0s\n", + "Downloading (5) ━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━\u001b[0m 102.5MB cryptography 8.9s\n", + "Extracting (2) ━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 55 gettext 7.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.1s\n", + "Downloading (5) ━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━\u001b[0m 106.0MB cryptography 9.0s\n", + "Extracting (2) ━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 55 gettext 7.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.2s\n", + "Downloading (5) ━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━\u001b[0m 107.6MB cryptography 9.1s\n", + "Extracting (2) ━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 55 libarchive 7.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.3s\n", + "Downloading (5) ━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━\u001b[0m 107.6MB cryptography 9.2s\n", + "Extracting (1) ━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 56 libarchive 7.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.4s\n", + "Downloading (5) ━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━\u001b[0m 109.2MB hdf5 9.3s\n", + "Extracting ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━\u001b[0m 57 8.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.5s\n", + "Downloading (5) ━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━\u001b[0m 109.3MB hdf5 9.4s\n", + "Extracting ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━\u001b[0m 57 8.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.6s\n", + "Downloading (5) ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━\u001b[0m 110.9MB hdf5 9.5s\n", + "Extracting ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━\u001b[0m 57 8.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.7s\n", + "Downloading (5) ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━\u001b[0m 112.4MB hdf5 9.6s\n", + "Extracting ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━\u001b[0m 57 8.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gmatplotlib-base 6.8MB @ 695.9kB/s 3.8s\n", + "[+] 9.8s\n", + "Downloading (5) ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━\u001b[0m 116.0MB pillow 9.7s\n", + "Extracting (1) ━━━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 57 matplotlib-base 8.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.9s\n", + "Downloading (5) ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━\u001b[0m 117.2MB pillow 9.8s\n", + "Extracting (1) ━━━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 57 matplotlib-base 8.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gtyping_extensions 35.1kB @ 3.5kB/s 0.2s\n", + "[+] 10.0s\n", + "Downloading (5) ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━\u001b[0m 118.4MB pillow 9.9s\n", + "Extracting (2) ━━━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 57 matplotlib-base 8.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gcryptography 2.0MB @ 196.3kB/s 1.7s\n", + "[+] 10.1s\n", + "Downloading (5) ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━\u001b[0m 119.6MB pillow 10.0s\n", + "Extracting (3) ━━━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 57 matplotlib-base 8.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.2s\n", + "Downloading (5) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 120.7MB python 10.1s\n", + "Extracting (3) ━━━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 57 typing_extensions 8.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gcertifi 153.8kB @ 15.0kB/s 0.3s\n", + "[+] 10.3s\n", + "Downloading (5) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 122.0MB python 10.2s\n", + "Extracting (3) ━━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 58 typing_extensions 8.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gconda-package-handling 255.1kB @ 24.8kB/s 0.2s\n", + "[+] 10.4s\n", + "Downloading (5) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 123.4MB python 10.3s\n", + "Extracting (3) ━━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 59 certifi 8.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gpycairo 116.2kB @ 11.1kB/s 0.3s\n", + "[+] 10.5s\n", + "Downloading (5) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 124.7MB python 10.4s\n", + "Extracting (4) ━━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 59 certifi 8.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.6s\n", + "Downloading (5) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 125.9MB fmt 10.5s\n", + "Extracting (2) ━━━━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 61 conda-package-handling 8.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.7s\n", + "Downloading (5) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 127.1MB fmt 10.6s\n", + "Extracting (1) ━━━━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 62 pycairo 8.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.8s\n", + "Downloading (5) ━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━\u001b[0m 128.4MB fmt 10.7s\n", + "Extracting (1) ━━━━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 62 pycairo 9.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glerc 281.8kB @ 26.0kB/s 0.3s\n", + "[+] 10.9s\n", + "Downloading (5) ━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━\u001b[0m 129.7MB fmt 10.8s\n", + "Extracting (1) ━━━━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 63 lerc 9.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.0s\n", + "Downloading (5) ━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━\u001b[0m 130.9MB hdf5 10.9s\n", + "Extracting (1) ━━━━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 63 lerc 9.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gxorg-libxdmcp 19.1kB @ 1.7kB/s 0.2s\n", + "fmt 192.3kB @ 17.3kB/s 0.8s\n", + "[+] 11.1s\n", + "Downloading (5) ━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━\u001b[0m 132.1MB hdf5 11.0s\n", + "Extracting (3) ━━━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 63 lerc 9.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gpillow 46.4MB @ 4.2MB/s 8.7s\n", + "[+] 11.2s\n", + "Downloading (5) ━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━\u001b[0m 133.3MB hdf5 11.1s\n", + "Extracting (4) ━━━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 63 lerc 9.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.3s\n", + "Downloading (5) ━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━\u001b[0m 134.1MB hdf5 11.2s\n", + "Extracting (3) ━━━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 64 fmt 9.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gbrotli-bin 19.0kB @ 1.7kB/s 0.2s\n", + "brotli 19.4kB @ 1.7kB/s 0.2s\n", + "[+] 11.4s\n", + "Downloading (5) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 135.1MB jsonpatch 11.3s\n", + "Extracting (5) ━━━━━━━━━━━━━━╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 64 fmt 9.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibxcb 384.2kB @ 33.7kB/s 0.4s\n", + "hdf5 3.7MB @ 325.5kB/s 2.5s\n", + "python 30.4MB @ 2.7MB/s 7.0s\n", + "[+] 11.5s\n", + "Downloading (5) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 135.8MB jsonpatch 11.4s\n", + "Extracting (7) ━━━━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 65 fmt 9.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gjsonpatch 17.4kB @ 1.5kB/s 0.2s\n", + "[+] 11.6s\n", + "Downloading (5) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 137.4MB conda 11.5s\n", + "Extracting (8) ━━━━━━━━━━━━━━━╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 65 fmt 9.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gxorg-kbproto 27.3kB @ 2.3kB/s 0.2s\n", + "[+] 11.7s\n", + "Downloading (5) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 137.6MB conda 11.6s\n", + "Extracting (8) ━━━━━━━━━━━━━━━╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 66 brotli 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gfont-ttf-ubuntu 2.0MB @ 167.5kB/s 0.4s\n", + "yaml-cpp 204.9kB @ 17.4kB/s 0.3s\n", + "[+] 11.8s\n", + "Downloading (5) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 138.4MB conda 11.7s\n", + "Extracting (9) ━━━━━━━━━━━━━━━╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 67 brotli 10.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibssh2 271.1kB @ 22.9kB/s 0.3s\n", + "jsonpointer 16.2kB @ 1.4kB/s 0.2s\n", + "[+] 11.9s\n", + "Downloading (5) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 139.0MB conda 11.8s\n", + "Extracting (11) ━━━━━━━━━━━━━━━╸\u001b[33m━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 67 brotli 10.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gfreetype-py 58.9kB @ 4.9kB/s 0.2s\n", + "conda 968.8kB @ 80.9kB/s 0.6s\n", + "[+] 12.0s\n", + "Downloading (5) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 139.4MB expat 11.9s\n", + "Extracting (13) ━━━━━━━━━━━━━━━╸\u001b[33m━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 67 brotli 10.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 12.1s\n", + "Downloading (5) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 139.5MB expat 12.0s\n", + "Extracting (12) ━━━━━━━━━━━━━━━╸\u001b[33m━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 68 conda 10.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibexpat 78.0kB @ 6.4kB/s 0.2s\n", + "xorg-libxext 50.1kB @ 4.1kB/s 0.2s\n", + "expat 136.8kB @ 11.3kB/s 0.3s\n", + "fonts-conda-forge 4.1kB @ 336.0 B/s 0.2s\n", + "[+] 12.2s\n", + "Downloading (5) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 140.0MB contourpy 12.1s\n", + "Extracting (15) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━╸\u001b[0m\u001b[90m━━\u001b[0m 69 conda 10.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 12.3s\n", + "Downloading (5) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 140.2MB contourpy 12.2s\n", + "Extracting (15) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━╸\u001b[0m\u001b[90m━━\u001b[0m 69 conda 10.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Grlpycairo 14.9kB @ 1.2kB/s 0.2s\n", + "contourpy 238.9kB @ 19.3kB/s 0.2s\n", + "[+] 12.4s\n", + "Downloading (5) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 140.9MB boltons 12.3s\n", + "Extracting (17) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━╸\u001b[0m\u001b[90m━\u001b[0m 69 conda 10.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibwebp-base 401.8kB @ 32.4kB/s 0.3s\n", + "lcms2 240.6kB @ 19.3kB/s 0.3s\n", + "[+] 12.5s\n", + "Downloading (5) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 141.5MB boltons 12.4s\n", + "Extracting (18) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━╸\u001b[0m\u001b[90m━\u001b[0m 70 contourpy 10.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 12.6s\n", + "Downloading (5) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 141.6MB boltons 12.5s\n", + "Extracting (18) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━╸\u001b[0m\u001b[90m━\u001b[0m 70 contourpy 10.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 12.7s\n", + "Downloading (5) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 143.4MB boltons 12.6s\n", + "Extracting (16) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━╸\u001b[0m\u001b[90m━\u001b[0m 72 contourpy 10.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gboltons 302.8kB @ 23.8kB/s 0.4s\n", + "freetype 635.0kB @ 49.8kB/s 0.4s\n", + "[+] 12.8s\n", + "Downloading (3) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 144.3MB font-ttf-dejavu-sans-mono 12.7s\n", + "Extracting (18) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 72 contourpy 11.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gfont-ttf-dejavu-sans-mono 397.4kB @ 31.0kB/s 0.3s\n", + "[+] 12.9s\n", + "Downloading (2) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 145.3MB rdkit 12.8s\n", + "Extracting (18) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 73 expat 11.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.0s\n", + "Downloading (2) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 146.1MB rdkit 12.9s\n", + "Extracting (17) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 74 expat 11.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.1s\n", + "Downloading (2) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 147.0MB rdkit 13.0s\n", + "Extracting (16) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 75 expat 11.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gsqlalchemy 2.8MB @ 213.7kB/s 1.4s\n", + "[+] 13.2s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 147.9MB rdkit 13.1s\n", + "Extracting (16) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 76 expat 11.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.3s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 148.5MB rdkit 13.2s\n", + "Extracting (11) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 81 conda 11.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.4s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 148.5MB rdkit 13.3s\n", + "Extracting (11) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 81 conda 11.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.5s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 148.7MB rdkit 13.4s\n", + "Extracting (9) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 83 conda 11.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.6s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 148.7MB rdkit 13.5s\n", + "Extracting (9) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 83 conda 11.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.7s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 148.7MB rdkit 13.6s\n", + "Extracting (6) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 86 contourpy 11.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.8s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 149.2MB rdkit 13.7s\n", + "Extracting (5) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 87 contourpy 12.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.9s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 149.8MB rdkit 13.8s\n", + "Extracting (2) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 90 fonts-conda-forge 12.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.0s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 150.3MB rdkit 13.9s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 91 python 12.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.1s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 150.9MB rdkit 14.0s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 91 python 12.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.2s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.4MB rdkit 14.1s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 91 python 12.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.3s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 151.9MB rdkit 14.2s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 91 python 12.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.4s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 152.5MB rdkit 14.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 91 python 12.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.5s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 153.0MB rdkit 14.4s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 91 python 12.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.6s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 153.6MB rdkit 14.5s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 91 python 12.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.7s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 154.1MB rdkit 14.6s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 91 python 12.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.8s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 154.4MB rdkit 14.7s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 91 python 13.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.9s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 155.0MB rdkit 14.8s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 91 python 13.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.0s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 155.5MB rdkit 14.9s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 91 python 13.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.1s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 156.0MB rdkit 15.0s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 91 python 13.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.2s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 156.6MB rdkit 15.1s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 91 python 13.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.3s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 157.1MB rdkit 15.2s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 91 python 13.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.4s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 157.7MB rdkit 15.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 91 python 13.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.5s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 158.2MB rdkit 15.4s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 91 python 13.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.6s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 158.8MB rdkit 15.5s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 91 python 13.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.7s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 159.3MB rdkit 15.6s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 91 python 13.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.8s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 159.8MB rdkit 15.7s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 91 python 14.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.9s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 160.4MB rdkit 15.8s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 91 python 14.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.0s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 160.9MB rdkit 15.9s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 91 python 14.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.1s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 161.5MB rdkit 16.0s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 91 python 14.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.2s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 162.0MB rdkit 16.1s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 91 python 14.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.3s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 162.6MB rdkit 16.2s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 92 14.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.4s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 163.1MB rdkit 16.3s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 92 14.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.5s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 163.7MB rdkit 16.4s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 92 14.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.6s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 164.2MB rdkit 16.5s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 92 14.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.7s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 164.8MB rdkit 16.6s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 92 14.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.8s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 165.3MB rdkit 16.7s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 92 14.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.9s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 165.9MB rdkit 16.8s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 92 14.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.0s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 166.4MB rdkit 16.9s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 92 14.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.1s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 167.0MB rdkit 17.0s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 92 14.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.2s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 167.7MB rdkit 17.1s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 92 14.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.3s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 168.4MB rdkit 17.2s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 92 14.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.4s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 169.1MB rdkit 17.3s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 92 14.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.5s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 170.0MB rdkit 17.4s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 92 14.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.6s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 170.9MB rdkit 17.5s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 92 14.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.7s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 171.8MB rdkit 17.6s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 92 14.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.8s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 172.9MB rdkit 17.7s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 92 14.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.9s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 173.7MB rdkit 17.8s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 92 14.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.0s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 174.7MB rdkit 17.9s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 92 14.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.1s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 175.7MB rdkit 18.0s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 92 14.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.2s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 176.8MB rdkit 18.1s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 92 14.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.3s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 177.8MB rdkit 18.2s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 92 14.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.4s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 178.8MB rdkit 18.3s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 92 14.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.5s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 179.8MB rdkit 18.4s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 92 14.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.6s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 180.9MB rdkit 18.5s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 92 14.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Grdkit 37.1MB @ 2.0MB/s 6.3s\n", + "[+] 18.7s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 181.8MB 18.6s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 92 rdkit 14.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.8s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 181.8MB 18.6s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 92 rdkit 14.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.9s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 181.8MB 18.6s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 92 rdkit 14.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.0s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 181.8MB 18.6s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 92 rdkit 14.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.1s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 181.8MB 18.6s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 92 rdkit 14.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.2s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 181.8MB 18.6s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 92 rdkit 15.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.3s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 181.8MB 18.6s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 92 rdkit 15.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.4s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 181.8MB 18.6s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 92 rdkit 15.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.5s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 181.8MB 18.6s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 92 rdkit 15.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.6s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 181.8MB 18.6s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 92 rdkit 15.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G\u001b[?25h\n", + "Downloading and Extracting Packages\n", + "\n", + "Preparing transaction: done\n", + "Verifying transaction: done\n", + "Executing transaction: done\n", + "Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple\n", + "Collecting parmed\n", + " Downloading https://pypi.tuna.tsinghua.edu.cn/packages/5b/48/d94bf10284cac3daaecdeaa856fcdb5def06c5187d8c0431266b8805ff9d/ParmEd-4.2.2.tar.gz (20.2 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m20.2/20.2 MB\u001b[0m \u001b[31m29.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n", + "\u001b[?25h Preparing metadata (setup.py) ... \u001b[?25ldone\n", + "\u001b[?25hRequirement already satisfied: mdtraj in /opt/mamba/lib/python3.10/site-packages (1.9.7)\n", + "Requirement already satisfied: pymbar in /opt/mamba/lib/python3.10/site-packages (4.0.1)\n", + "Requirement already satisfied: networkx in /opt/mamba/lib/python3.10/site-packages (3.2.1)\n", + "Requirement already satisfied: astunparse in /opt/mamba/lib/python3.10/site-packages (from mdtraj) (1.6.3)\n", + "Requirement already satisfied: pyparsing in /opt/mamba/lib/python3.10/site-packages (from mdtraj) (3.0.9)\n", + "Requirement already satisfied: scipy in /opt/mamba/lib/python3.10/site-packages (from mdtraj) (1.9.3)\n", + "Requirement already satisfied: numpy>=1.6 in /opt/mamba/lib/python3.10/site-packages (from mdtraj) (1.23.4)\n", + "Requirement already satisfied: jaxlib in /opt/mamba/lib/python3.10/site-packages (from pymbar) (0.3.15+cuda11.cudnn82)\n", + "Requirement already satisfied: numexpr in /opt/mamba/lib/python3.10/site-packages (from pymbar) (2.8.4)\n", + "Requirement already satisfied: jax in /opt/mamba/lib/python3.10/site-packages (from pymbar) (0.3.17)\n", + "Requirement already satisfied: wheel<1.0,>=0.23.0 in /opt/mamba/lib/python3.10/site-packages (from astunparse->mdtraj) (0.37.1)\n", + "Requirement already satisfied: six<2.0,>=1.6.1 in /opt/mamba/lib/python3.10/site-packages (from astunparse->mdtraj) (1.16.0)\n", + "Requirement already satisfied: etils[epath] in /opt/mamba/lib/python3.10/site-packages (from jax->pymbar) (0.9.0)\n", + "Requirement already satisfied: typing-extensions in /opt/mamba/lib/python3.10/site-packages (from jax->pymbar) (4.8.0)\n", + "Requirement already satisfied: absl-py in /opt/mamba/lib/python3.10/site-packages (from jax->pymbar) (1.3.0)\n", + "Requirement already satisfied: opt-einsum in /opt/mamba/lib/python3.10/site-packages (from jax->pymbar) (3.3.0)\n", + "Requirement already satisfied: zipp in /opt/mamba/lib/python3.10/site-packages (from etils[epath]->jax->pymbar) (3.10.0)\n", + "Requirement already satisfied: importlib_resources in /opt/mamba/lib/python3.10/site-packages (from etils[epath]->jax->pymbar) (5.10.0)\n", + "Building wheels for collected packages: parmed\n", + " Building wheel for parmed (setup.py) ... \u001b[?25ldone\n", + "\u001b[?25h Created wheel for parmed: filename=ParmEd-4.2.2-cp310-cp310-linux_x86_64.whl size=19199927 sha256=9a99ceb4ee4b01a9311bc2d233af89b88dc3ec19cdef4e3af55199c54d85db6c\n", + " Stored in directory: /root/.cache/pip/wheels/69/fc/4b/be5259741ac3c58269f1c8f6db8ce9e3a492319611ed0017ae\n", + "Successfully built parmed\n", + "Installing collected packages: parmed\n", + "Successfully installed parmed-4.2.2\n", + "\u001b[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv\u001b[0m\u001b[33m\n", + "\u001b[0m" + ] + } + ], + "source": [ + "! mamba install openmm=7.7.0 rdkit -c conda-forge -y\n", + "! pip install parmed mdtraj pymbar networkx" + ] + }, + { + "cell_type": "markdown", + "id": "59a45a2a-a1db-4261-b94a-1180199fc85a", + "metadata": {}, + "source": [ + "## 1. ADMPQeqForce" + ] + }, + { + "cell_type": "markdown", + "id": "01ac23a0-0af1-41e2-b878-b80ad897bc86", + "metadata": {}, + "source": [ + "ADMPQeqForce provides a support to coulombic energy calculation for constant potential model and constant charge model. Net charges on all atoms were equilibrated at setted constraint first, then charge related energys were carried out next.\n", + "\n", + "You can directly run the test:" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "e81f8cbf-1024-45bc-92e2-559d4aaf02f2", + "metadata": {}, + "outputs": [], + "source": [ + "run DMFF/tests/test_admp/test_qeq.py" + ] + }, + { + "cell_type": "markdown", + "id": "76e0a6d0-e1f7-4d4c-bd43-6e13047c7273", + "metadata": {}, + "source": [ + "And we will provide a more detailed explanation as follows" + ] + }, + { + "cell_type": "markdown", + "id": "47a2b80b-3320-46a0-bb64-8ba0cf7d220b", + "metadata": {}, + "source": [ + "### Import the necessary libraries" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "3b039276-dd47-4072-a6af-360237cd05bf", + "metadata": {}, + "outputs": [], + "source": [ + "import openmm.app as app\n", + "import openmm.unit as unit\n", + "from dmff.api import Hamiltonian\n", + "from dmff.api import DMFFTopology\n", + "from dmff.api.xmlio import XMLIO\n", + "from dmff import NeighborList\n", + "import jax\n", + "from jax import value_and_grad\n", + "import jax.numpy as jnp\n", + "import numpy as np\n", + "import time\n", + "import pickle\n", + "import sys" + ] + }, + { + "cell_type": "markdown", + "id": "96762867-f1d2-4e08-9e10-5afa66eb72f2", + "metadata": {}, + "source": [ + "### Load your force field" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "0c828d89-e4b1-4848-a68f-d7c5ebdd216c", + "metadata": {}, + "outputs": [], + "source": [ + "xml = XMLIO()\n", + "xml.loadXML(\"DMFF/tests/data/qeq2.xml\")\n", + "\n", + "# get residues\n", + "res = xml.parseResidues()" + ] + }, + { + "cell_type": "markdown", + "id": "13a18793-c124-400a-9071-fe2fe10eaff9", + "metadata": {}, + "source": [ + "For information about the force field file, please refer to the user guide, which contains detailed explanations.\n", + "### Initialize the charge and type of each atom and aux" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "0a3952b0-5756-44cc-b9a1-7d92d5fb4cb6", + "metadata": {}, + "outputs": [], + "source": [ + "charges, types = [], []\n", + "for i in range(len(res)):\n", + " charges += [a[\"charge\"] for a in res[i][\"particles\"]]\n", + " types += [a[\"type\"] for a in res[i][\"particles\"]]\n", + "charges = np.zeros((len(charges),))\n", + "\n", + "# initialize aux\n", + "aux = {\n", + " \"q\": jnp.array(charges),\n", + " \"lagmt\": jnp.array([1.0, 1.0])\n", + " #\"lagmt\": jnp.array([1.0])\n", + "}" + ] + }, + { + "cell_type": "markdown", + "id": "3f8b891b-832e-4b4d-9ca1-3a6b898d48a1", + "metadata": {}, + "source": [ + "### Load the topological information and supplement it" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "45217801-ff92-4d5d-b8b1-3162ba4279da", + "metadata": {}, + "outputs": [], + "source": [ + "# Load topology\n", + "pdb = app.PDBFile(\"DMFF/tests/data/qeq2.pdb\")\n", + "dmfftop = DMFFTopology(from_top=pdb.topology)\n", + "pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer)\n", + "pos = jnp.array(pos)\n", + "box = dmfftop.getPeriodicBoxVectors()\n", + "\n", + "# Assign atom charges and types in te topology\n", + "atoms = [a for a in dmfftop.atoms()]\n", + "for na, a in enumerate(atoms):\n", + " a.meta[\"charge\"] = charges[na]\n", + " a.meta[\"type\"] = types[na]" + ] + }, + { + "cell_type": "markdown", + "id": "cdcde6a1-bb19-460c-bf15-543e0c7f35cd", + "metadata": {}, + "source": [ + "### Preparation for potential function" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "7c01f458-4c79-4e59-888f-13f776e634d4", + "metadata": {}, + "outputs": [], + "source": [ + "# create Hamiltonian\n", + "hamilt = Hamiltonian(\"DMFF/tests/data/qeq2.xml\")\n", + "\n", + "# create neighborlist & pairs\n", + "nblist = NeighborList(box, 0.6, dmfftop.buildCovMat())\n", + "pairs = nblist.allocate(pos) \n", + "\n", + "# initialize const_list\n", + "const_list, map_atomtype = [], []\n", + "for i in dmfftop.residues():\n", + " temp = []\n", + " for j in i.atoms():\n", + " temp.append(int(j.id)-1)\n", + " const_list.append(np.array(temp))\n", + "\n", + "# create map_atomtype\n", + "for i in dmfftop.atoms():\n", + " map_atomtype.append(int(i.meta[\"type\"])-1) #temp set\n", + "\n", + "# assign const_val\n", + "n_template = len(const_list)\n", + "const_val = jnp.zeros(n_template)" + ] + }, + { + "cell_type": "markdown", + "id": "b3843624-aa9e-4049-b21e-8ffb200e0f6c", + "metadata": {}, + "source": [ + "### Create potential function and Calculate the energy" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "64315715-db77-487f-b6c0-3e340085b774", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "energy: 4817.286675 kj/mol\n", + "{'q': DeviceArray([-2.99605719e-04, -3.40972179e-04, -4.91927203e-04,\n", + " -7.57415141e-04, -9.72305199e-04, -9.04476306e-04,\n", + " -6.19403852e-04, -3.18511669e-04, -4.14033308e-04,\n", + " -5.08883423e-04, -5.64320831e-04, -5.92336096e-04,\n", + " -4.59863367e-04, -5.31103425e-04, -3.93029108e-04,\n", + " -4.28646761e-04, -2.86954295e-04, -3.30793706e-04,\n", + " -3.17696799e-04, -3.50221376e-04, -2.77981466e-04,\n", + " -3.21483470e-04, -2.96629949e-04, -3.72879359e-04,\n", + " -3.51565779e-04, -4.66407859e-04, -5.10171801e-04,\n", + " 3.04087838e-04, -3.70321220e-03, 3.20495493e-04,\n", + " -9.18942861e-04, -3.34922291e-04, -4.97683690e-04,\n", + " -3.47713379e-04, -3.55104058e-04, -2.89328710e-04,\n", + " -3.24275491e-04, -2.80456324e-04, -3.02740626e-04,\n", + " -2.75075995e-04, -2.91228744e-04, -2.70938814e-04,\n", + " -4.46974131e-04, -2.97128120e-04, -8.78905378e-04,\n", + " 2.95142992e-03, -3.88588557e-02, 1.29549998e-02,\n", + " -3.83818161e-02, 3.31452051e-03, -3.74277838e-03,\n", + " 1.69146046e-04, -5.05571766e-04, -3.41280745e-04,\n", + " -2.96877554e-04, -3.50184751e-04, -2.80700753e-04,\n", + " -3.08958051e-04, -2.75486154e-04, -2.53472624e-04,\n", + " -4.13053343e-04, 2.50543320e-04, -3.94790845e-03,\n", + " 3.08837051e-03, -3.81956267e-02, 9.60634373e-02,\n", + " 9.68818582e-02, -3.62979638e-02, 3.29579664e-03,\n", + " -1.02522463e-03, -4.53547548e-04, -5.09515948e-04,\n", + " -3.07122995e-04, -3.81540204e-04, -2.97175528e-04,\n", + " -3.59608561e-04, -2.77417496e-04, -2.72418702e-04,\n", + " -2.30206122e-04, -7.13972582e-04, 5.07442477e-04,\n", + " -3.56837088e-03, 1.48526525e-02, -3.69820579e-02,\n", + " 9.79521879e-02, -4.11810695e-02, 1.16109691e-02,\n", + " -6.61601264e-03, -1.50696486e-04, -1.15772010e-03,\n", + " -5.52013847e-04, -3.42282836e-04, -5.04247185e-04,\n", + " -3.06268072e-04, -3.79429085e-04, -2.97021154e-04,\n", + " -2.68281704e-04, -3.63524282e-04, -2.26827694e-04,\n", + " -4.84749988e-04, 4.63586556e-04, -1.14723757e-03,\n", + " 2.12659981e-03, -7.30877030e-03, -6.49662707e-03,\n", + " -6.09779870e-03, -3.32921379e-03, -1.63993637e-03,\n", + " -1.04092695e-03, -6.96354733e-04, -3.47717779e-04,\n", + " -5.12611257e-04, -3.22951316e-04, -4.07471526e-04,\n", + " -2.99612167e-04, -3.28875625e-04, -3.16545100e-04,\n", + " -3.53711007e-04, -4.15631694e-04, -5.04555443e-04,\n", + " -9.22541839e-04, -1.29533806e-03, -1.85409182e-03,\n", + " -2.33100318e-03, -2.61057252e-03, -1.54778026e-03,\n", + " -1.42172801e-03, -7.52259682e-04, -6.57063416e-04,\n", + " -3.36476383e-04, -4.57009550e-04, -3.20344580e-04,\n", + " -3.97260729e-04, -3.11855166e-04, -3.26788820e-04,\n", + " -3.32597288e-04, -3.68762724e-04, -4.01437776e-04,\n", + " -5.80259620e-04, -8.87751823e-04, -9.34733571e-04,\n", + " -6.93458239e-04, -4.85308224e-04, -1.23620433e-02,\n", + " -9.20549199e-01, 4.60306706e-01, 4.60242494e-01], dtype=float64), 'lagmt': DeviceArray([ -574.30738132, -1398.09352793], dtype=float64)}\n" + ] + } + ], + "source": [ + "pot = hamilt.createPotential(dmfftop, nonbondedCutoff=0.6*unit.nanometer, nonbondedMethod=app.PME,\n", + " ethresh=1e-3, neutral=True, slab=False, constQ=True,\n", + " const_list=const_list, const_vals=const_val,\n", + " has_aux=True)\n", + "\n", + "#return energy\n", + "efunc = pot.getPotentialFunc()\n", + "energy, aux = efunc(pos, box, pairs, hamilt.paramset.parameters, aux)\n", + "print(\"energy: %f kj/mol\" %energy)\n", + "print(aux)" + ] + }, + { + "cell_type": "markdown", + "id": "49c81a82-7ce6-40f9-a3b8-9a8aa4cc0a79", + "metadata": {}, + "source": [ + "## 2. Machine Learning Force" + ] + }, + { + "cell_type": "markdown", + "id": "584e398e-3c0e-49d0-b28c-1c3152e569b9", + "metadata": {}, + "source": [ + "## 2.1 SGNN\n", + "Navigate to the working directory" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "f684afc0-844f-4375-ab1c-23b0a51f8f90", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "os.chdir(os.path.join(\"DMFF\",\"examples\", \"sgnn\"))" + ] + }, + { + "cell_type": "markdown", + "id": "f4cf0379-4118-4a9c-93c1-986302101260", + "metadata": {}, + "source": [ + "SGNN assume the remaining bonding energy can be written as a sum over different local fragments of the molecule. These fragments are defined as “subgraphs” (labeled as g):\n", + "\n", + "$$\n", + "E_{sGNN}=\\sum {E_{g}}\n", + "$$\n", + "\n", + "Each subgraph defines the local environment of a central bond, and $E_g$ represents the intramolcular energy attributed to that bond. This leads to a rigorously localized representation of the molecule, warranting the extendibility of the resulting model." + ] + }, + { + "cell_type": "markdown", + "id": "3088a4bf-2716-4fad-9c81-4d45374dbdd8", + "metadata": {}, + "source": [ + "### Create a SGNN potential function" + ] + }, + { + "cell_type": "markdown", + "id": "c1a0e526-7290-41be-a833-449b989fefe8", + "metadata": {}, + "source": [ + "For information about the force field file, please refer to the user guide, which contains detailed explanations. Now you need to do the following to create a SGNN potential:" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "39ff4e27-40fc-4d09-be6b-89b9f7a344bb", + "metadata": {}, + "outputs": [], + "source": [ + "H = Hamiltonian('peg.xml')\n", + "app.Topology.loadBondDefinitions(\"residues.xml\")\n", + "pdb = app.PDBFile(\"peg4.pdb\")\n", + "rc = 0.6\n", + "# generator stores all force field parameters\n", + "pots = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.nanometer, ethresh=5e-4)" + ] + }, + { + "cell_type": "markdown", + "id": "94008719-c055-4ae0-baa0-8f9d8b0440c2", + "metadata": {}, + "source": [ + "### Preparation for energy calculation" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "aa0c27d3-2a77-4a8e-8c6d-821127986474", + "metadata": { + "collapsed": true, + "jupyter": { + "outputs_hidden": true + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "DeviceArray([[ 0, 1, 1],\n", + " [ 0, 2, 1],\n", + " [ 0, 3, 1],\n", + " [ 0, 4, 2],\n", + " [ 0, 5, 3],\n", + " [ 0, 6, 3],\n", + " [ 0, 7, 3],\n", + " [ 0, 8, 3],\n", + " [ 0, 9, 4],\n", + " [ 0, 10, 4],\n", + " [ 0, 11, 2],\n", + " [ 0, 12, 1],\n", + " [ 0, 13, 2],\n", + " [ 0, 14, 2],\n", + " [ 0, 19, 4],\n", + " [ 0, 20, 5],\n", + " [ 0, 21, 5],\n", + " [ 1, 2, 2],\n", + " [ 1, 3, 2],\n", + " [ 1, 4, 3],\n", + " [ 1, 5, 4],\n", + " [ 1, 6, 4],\n", + " [ 1, 7, 4],\n", + " [ 1, 8, 4],\n", + " [ 1, 9, 5],\n", + " [ 1, 10, 5],\n", + " [ 1, 11, 3],\n", + " [ 1, 12, 2],\n", + " [ 1, 13, 3],\n", + " [ 1, 14, 3],\n", + " [ 1, 19, 5],\n", + " [ 1, 20, 6],\n", + " [ 1, 21, 6],\n", + " [ 2, 3, 2],\n", + " [ 2, 4, 3],\n", + " [ 2, 5, 4],\n", + " [ 2, 6, 4],\n", + " [ 2, 7, 4],\n", + " [ 2, 8, 4],\n", + " [ 2, 9, 5],\n", + " [ 2, 10, 5],\n", + " [ 2, 11, 3],\n", + " [ 2, 12, 2],\n", + " [ 2, 13, 3],\n", + " [ 2, 14, 3],\n", + " [ 2, 19, 5],\n", + " [ 2, 20, 6],\n", + " [ 2, 21, 6],\n", + " [ 3, 4, 1],\n", + " [ 3, 5, 2],\n", + " [ 3, 6, 2],\n", + " [ 3, 7, 2],\n", + " [ 3, 8, 4],\n", + " [ 3, 9, 5],\n", + " [ 3, 10, 5],\n", + " [ 3, 11, 3],\n", + " [ 3, 12, 2],\n", + " [ 3, 13, 3],\n", + " [ 3, 14, 3],\n", + " [ 4, 5, 1],\n", + " [ 4, 6, 1],\n", + " [ 4, 7, 1],\n", + " [ 4, 8, 5],\n", + " [ 4, 11, 4],\n", + " [ 4, 12, 3],\n", + " [ 4, 13, 4],\n", + " [ 4, 14, 4],\n", + " [ 5, 6, 2],\n", + " [ 5, 7, 2],\n", + " [ 5, 11, 5],\n", + " [ 5, 12, 4],\n", + " [ 5, 13, 5],\n", + " [ 5, 14, 5],\n", + " [ 6, 7, 2],\n", + " [ 6, 11, 5],\n", + " [ 6, 12, 4],\n", + " [ 6, 13, 5],\n", + " [ 6, 14, 5],\n", + " [ 7, 11, 5],\n", + " [ 7, 12, 4],\n", + " [ 7, 13, 5],\n", + " [ 7, 14, 5],\n", + " [ 8, 9, 1],\n", + " [ 8, 10, 1],\n", + " [ 8, 11, 1],\n", + " [ 8, 12, 2],\n", + " [ 8, 13, 3],\n", + " [ 8, 14, 3],\n", + " [ 8, 15, 3],\n", + " [ 8, 16, 4],\n", + " [ 8, 17, 4],\n", + " [ 8, 18, 2],\n", + " [ 8, 19, 1],\n", + " [ 8, 20, 2],\n", + " [ 8, 21, 2],\n", + " [ 8, 22, 4],\n", + " [ 8, 23, 5],\n", + " [ 8, 24, 5],\n", + " [ 9, 10, 2],\n", + " [ 9, 11, 2],\n", + " [ 9, 12, 3],\n", + " [ 9, 13, 4],\n", + " [ 9, 14, 4],\n", + " [ 9, 15, 4],\n", + " [ 9, 16, 5],\n", + " [ 9, 17, 5],\n", + " [ 9, 18, 3],\n", + " [ 9, 19, 2],\n", + " [ 9, 20, 3],\n", + " [ 9, 21, 3],\n", + " [ 9, 22, 5],\n", + " [ 9, 23, 6],\n", + " [ 9, 24, 6],\n", + " [10, 11, 2],\n", + " [10, 12, 3],\n", + " [10, 13, 4],\n", + " [10, 14, 4],\n", + " [10, 15, 4],\n", + " [10, 16, 5],\n", + " [10, 17, 5],\n", + " [10, 18, 3],\n", + " [10, 19, 2],\n", + " [10, 20, 3],\n", + " [10, 21, 3],\n", + " [10, 22, 5],\n", + " [10, 23, 6],\n", + " [10, 24, 6],\n", + " [11, 12, 1],\n", + " [11, 13, 2],\n", + " [11, 14, 2],\n", + " [11, 15, 4],\n", + " [11, 16, 5],\n", + " [11, 17, 5],\n", + " [11, 18, 3],\n", + " [11, 19, 2],\n", + " [11, 20, 3],\n", + " [11, 21, 3],\n", + " [12, 13, 1],\n", + " [12, 14, 1],\n", + " [12, 15, 5],\n", + " [12, 18, 4],\n", + " [12, 19, 3],\n", + " [12, 20, 4],\n", + " [12, 21, 4],\n", + " [13, 14, 2],\n", + " [13, 18, 5],\n", + " [13, 19, 4],\n", + " [13, 20, 5],\n", + " [13, 21, 5],\n", + " [14, 18, 5],\n", + " [14, 19, 4],\n", + " [14, 20, 5],\n", + " [14, 21, 5],\n", + " [15, 16, 1],\n", + " [15, 17, 1],\n", + " [15, 18, 1],\n", + " [15, 19, 2],\n", + " [15, 20, 3],\n", + " [15, 21, 3],\n", + " [15, 22, 1],\n", + " [15, 23, 2],\n", + " [15, 24, 2],\n", + " [15, 25, 2],\n", + " [15, 26, 3],\n", + " [15, 27, 4],\n", + " [15, 28, 4],\n", + " [15, 29, 4],\n", + " [16, 17, 2],\n", + " [16, 18, 2],\n", + " [16, 19, 3],\n", + " [16, 20, 4],\n", + " [16, 21, 4],\n", + " [16, 22, 2],\n", + " [16, 23, 3],\n", + " [16, 24, 3],\n", + " [16, 25, 3],\n", + " [16, 26, 4],\n", + " [16, 27, 5],\n", + " [16, 28, 5],\n", + " [16, 29, 5],\n", + " [17, 18, 2],\n", + " [17, 19, 3],\n", + " [17, 20, 4],\n", + " [17, 21, 4],\n", + " [17, 22, 2],\n", + " [17, 23, 3],\n", + " [17, 24, 3],\n", + " [17, 25, 3],\n", + " [17, 26, 4],\n", + " [17, 27, 5],\n", + " [17, 28, 5],\n", + " [17, 29, 5],\n", + " [18, 19, 1],\n", + " [18, 20, 2],\n", + " [18, 21, 2],\n", + " [18, 22, 2],\n", + " [18, 23, 3],\n", + " [18, 24, 3],\n", + " [18, 25, 3],\n", + " [18, 26, 4],\n", + " [18, 27, 5],\n", + " [18, 28, 5],\n", + " [18, 29, 5],\n", + " [19, 20, 1],\n", + " [19, 21, 1],\n", + " [19, 22, 3],\n", + " [19, 23, 4],\n", + " [19, 24, 4],\n", + " [19, 25, 4],\n", + " [19, 26, 5],\n", + " [20, 21, 2],\n", + " [20, 22, 4],\n", + " [20, 23, 5],\n", + " [20, 24, 5],\n", + " [20, 25, 5],\n", + " [21, 22, 4],\n", + " [21, 23, 5],\n", + " [21, 24, 5],\n", + " [21, 25, 5],\n", + " [22, 23, 1],\n", + " [22, 24, 1],\n", + " [22, 25, 1],\n", + " [22, 26, 2],\n", + " [22, 27, 3],\n", + " [22, 28, 3],\n", + " [22, 29, 3],\n", + " [23, 24, 2],\n", + " [23, 25, 2],\n", + " [23, 26, 3],\n", + " [23, 27, 4],\n", + " [23, 28, 4],\n", + " [23, 29, 4],\n", + " [24, 25, 2],\n", + " [24, 26, 3],\n", + " [24, 27, 4],\n", + " [24, 28, 4],\n", + " [24, 29, 4],\n", + " [25, 26, 1],\n", + " [25, 27, 2],\n", + " [25, 28, 2],\n", + " [25, 29, 2],\n", + " [26, 27, 1],\n", + " [26, 28, 1],\n", + " [26, 29, 1],\n", + " [27, 28, 2],\n", + " [27, 29, 2],\n", + " [28, 29, 2],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0],\n", + " [30, 30, 0]], dtype=int64)" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# construct inputs\n", + "positions = jnp.array(pdb.positions._value)\n", + "a, b, c = pdb.topology.getPeriodicBoxVectors()\n", + "box = jnp.array([a._value, b._value, c._value])\n", + "# neighbor list\n", + "nbl = NeighborList(box, rc, pots.meta['cov_map']) \n", + "nbl.allocate(positions)" + ] + }, + { + "cell_type": "markdown", + "id": "e8ef2d4a-6510-44a5-aca7-2c745359b112", + "metadata": {}, + "source": [ + "And you can get parameters by:" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "01e48a54-e506-4322-8c00-c6566a787264", + "metadata": {}, + "outputs": [], + "source": [ + "paramset = H.getParameters()" + ] + }, + { + "cell_type": "markdown", + "id": "8f0caa3b-6320-4490-8e1f-3a9af1f9c708", + "metadata": {}, + "source": [ + "### Load data and fix it" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "fe602bb3-488e-44ec-b957-0c433b1a18ab", + "metadata": {}, + "outputs": [], + "source": [ + "with open('test_backend/set_test_lowT.pickle', 'rb') as ifile:\n", + " data = pickle.load(ifile)\n", + "\n", + "# input in nm\n", + "pos = jnp.array(data['positions'][0:20]) / 10\n", + "box = jnp.eye(3) * 5" + ] + }, + { + "cell_type": "markdown", + "id": "1cd68aac-83b1-4a3e-b301-6263bc397761", + "metadata": {}, + "source": [ + "### Calculate the energy" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "4b124b2c-46d7-4e70-96fd-c95407be39d2", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-21.588284621154514\n", + "[-21.58828462 -39.79334159 10.03889335 -48.22451239 -32.90970162\n", + " -49.68568287 -47.58035178 -51.73860617 -37.39235277 -35.01933271\n", + " -46.06621902 -31.69327601 -6.86739655 -5.13698524 -27.4031207\n", + " -44.65301991 -52.00357797 3.1734038 -72.79081259 -28.27007722]\n" + ] + } + ], + "source": [ + "efunc = jax.jit(pots.getPotentialFunc())\n", + "efunc_vmap = jax.vmap(jax.jit(pots.getPotentialFunc()), in_axes=(0, None, None, None), out_axes=0)\n", + "print(efunc(pos[0], box, nbl.pairs, paramset))\n", + "print(efunc_vmap(pos, box, nbl.pairs, paramset))" + ] + }, + { + "cell_type": "markdown", + "id": "5b4bc26c-2974-4bcd-b0dd-996d60c62d85", + "metadata": {}, + "source": [ + "## 2.1 EANN\n", + "Navigate to the working directory" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "9781c244-156e-4a27-a5c2-5e957525eccd", + "metadata": {}, + "outputs": [], + "source": [ + "current_directory = os.getcwd()\n", + "parent_directory = os.path.dirname(current_directory)\n", + "os.chdir(parent_directory)\n", + "os.chdir(os.path.join(\"eann\"))" + ] + }, + { + "cell_type": "markdown", + "id": "13ae9c47-247e-432e-abe2-7a6688b34e99", + "metadata": {}, + "source": [ + "EANN framework born out from the EAM idea. This physically inspired embedded atom neuralnetworks (EANN) representation is not only conceptually andnumerically simple but also very efficient and accurate, as discussed below. EANN assume that the impurity experiences a locally uniform electron density, the embedding energy can be approximated as a function of the scalar local electron density at the impurity site plus an electrostatic interaction. Considering all atoms in the system as impurities embedded in the electron gas created by other atoms, in the EAM framework, the total energy of an $N$ atom system is just the sum over all individual impurity energies.\n", + "\n", + "$$\n", + "E=\\sum_{i=1}^{N} E_{i}=\\sum_{i=1}^{N}\\left[F_{i}\\left(\\rho_{i}\\right)+\\frac{1}{2} \\sum_{j \\neq i} \\phi_{i j}\\left(r_{i j}\\right)\\right]\n", + "$$\n", + "\n", + "where $F_i$ is the embedding function, $ρ_i$ is the embedded electron density at the position of atom $i$ given by the superposition of the densities of surrounding atoms, and $\\phi_{ij}$ is the short-range repulsive potential between atoms $i$ and $j$ depending on their distance $r_{ij}$. As the exact forms of these functions are generally unknown, they are often taken from electron gas computations or fit to experimental properties with semiempirical expres-sions. Given these intrinsic approximations, EAM or even its modified version has a limited accuracy and is mainly suitablefor metallic systems.\n", + "\n", + "To go beyond the EAM, we need to improve both expressions of the embedded density and the function $F$. To this end, EANN start from the commonly used Gaussian-type orbitals (GTOs) centered at each atom,\n", + "\n", + "$$\n", + "\\phi_{l_{x} y_{l} y_{z}}^{\\alpha, r_{s}}=x^{l_{x}} y^{l_{y}} z^{l_{z}} \\exp \\left(-\\alpha\\left|r-r_{s}\\right|^{2}\\right)\n", + "$$\n", + "\n", + "where each atom is taken as the origin, $r=(x,y,z)$ constitutes the coordinate vector of an electron, $r$ is the norm of the vector,$α$ and $r_s$ are parameters that determine radial distributions of atomic orbitals, ${l_x+l_y+l_z=L}$ specifies the orbital angular momentum ($L$), e.g., $L$ = 0, 1, and 2, correspond to the s, p, and d orbitals, respectively. In this representation, the embedded density of atom $i$ can be taken as the square of the linear combination of atomic orbitals from neighboring atoms, in a similar spirit as that in Hartree−Fock (HF) and densityfunctional theory (DFT). This would generate a scalar $ρ^i$ value for the embedding atom $i$, as used in the EAM, which has been proven to offer insufficient representability for the total energyand can be improved by including the gradients of density." + ] + }, + { + "cell_type": "markdown", + "id": "3567df74-e392-4679-9ec1-2fe087fef68d", + "metadata": {}, + "source": [ + "As for code, just follow the step in SGNN:" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "581c3238-c476-4118-99a1-1f5321775680", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-0.09797672247941636\n" + ] + } + ], + "source": [ + "H = Hamiltonian('peg.xml')\n", + "app.Topology.loadBondDefinitions(\"residues.xml\")\n", + "pdb = app.PDBFile(\"peg4.pdb\")\n", + "rc = 0.4\n", + "# generator stores all force field parameters\n", + "pots = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.nanometer, ethresh=5e-4)\n", + "\n", + "# construct inputs\n", + "positions = jnp.array(pdb.positions._value)\n", + "a, b, c = pdb.topology.getPeriodicBoxVectors()\n", + "box = jnp.array([a._value, b._value, c._value])\n", + "# neighbor list\n", + "nbl = NeighborList(box, rc, pots.meta['cov_map']) \n", + "nbl.allocate(positions)\n", + "\n", + "\n", + "paramset = H.getParameters()\n", + "# params = paramset.parameters\n", + "paramset.parameters\n", + "\n", + "efunc = jax.jit(pots.getPotentialFunc())\n", + "print(efunc(positions, box, nbl.pairs, paramset))" + ] + }, + { + "cell_type": "markdown", + "id": "95704edc-1cd8-40fc-bfd9-c24b4e18ac8d", + "metadata": {}, + "source": [ + "## 3. OpenMM Plugin for DMFF" + ] + }, + { + "cell_type": "markdown", + "id": "6fb30805-b23d-4e70-be0b-5e3df0c31c6f", + "metadata": {}, + "source": [ + "OpenMM DMFF plugin was developed for [OpenMM](http://openmm.org) to incorporate the trained JAX model from [DMFF](https://github.com/deepmodeling/DMFF) as an independent Force class for molecular dynamics simulations.\n", + "To utilize this plugin, you need to save your DMFF model using the `DMFF/backend/save_dmff2tf.py` script.\n", + "The `save_dmff2tf.py` script converts the DMFF model to a TensorFlow module using the experimental feature of JAX called [`jax2tf`](https://github.com/google/jax/blob/main/jax/experimental/jax2tf/README.md).\n", + "The integration of the saved TensorFlow module with the DMFF plugin is accomplished using [cppflow](https://github.com/serizba/cppflow) and the OpenMM C++ interface. \n", + "\n", + "**Here you might need to shut down the original node and start up a new one**" + ] + }, + { + "cell_type": "markdown", + "id": "e2bf5e5b-6429-4a86-b806-b4610928cd9e", + "metadata": {}, + "source": [ + "### Save the DMFF model with `save_dmff2tf.py` script" + ] + }, + { + "cell_type": "markdown", + "id": "b78d80d6-c0e6-4214-b80e-9ab40c0861d4", + "metadata": {}, + "source": [ + "#### Install TensorFlow and JAX" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "72997e8a-b190-445d-955a-88cedbdbcf14", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "os.chdir('/data')" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "fd9049db-6633-4d93-94b1-7c9f517bacc6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple\n", + "Collecting jax[cpu]==0.4.14\n", + " Downloading https://pypi.tuna.tsinghua.edu.cn/packages/65/ce/e3a6e8669de6ff37b44b1f801c33c10dcdc05548ee5ded30c0327eb09c93/jax-0.4.14.tar.gz (1.3 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.3/1.3 MB\u001b[0m \u001b[31m5.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0ma \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25h Installing build dependencies ... \u001b[?25ldone\n", + "\u001b[?25h Getting requirements to build wheel ... \u001b[?25ldone\n", + "\u001b[?25h Preparing metadata (pyproject.toml) ... \u001b[?25ldone\n", + "\u001b[?25hRequirement already satisfied: numpy>=1.22 in /opt/mamba/lib/python3.10/site-packages (from jax[cpu]==0.4.14) (1.23.4)\n", + "Requirement already satisfied: opt-einsum in /opt/mamba/lib/python3.10/site-packages (from jax[cpu]==0.4.14) (3.3.0)\n", + "Collecting ml-dtypes>=0.2.0\n", + " Downloading https://pypi.tuna.tsinghua.edu.cn/packages/90/31/ec94e33a799323a8c37d1883f44b517c38d9defa7667db97cba212384d71/ml_dtypes-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (206 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m206.7/206.7 kB\u001b[0m \u001b[31m4.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0ma \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: scipy>=1.7 in /opt/mamba/lib/python3.10/site-packages (from jax[cpu]==0.4.14) (1.9.3)\n", + "Collecting jaxlib==0.4.14\n", + " Downloading https://pypi.tuna.tsinghua.edu.cn/packages/62/a1/beb609f27603cf2ce6f3fb14ad2e93bde9324158f872e46509d52b178cdc/jaxlib-0.4.14-cp310-cp310-manylinux2014_x86_64.whl (73.7 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m73.7/73.7 MB\u001b[0m \u001b[31m15.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n", + "\u001b[?25hBuilding wheels for collected packages: jax\n", + " Building wheel for jax (pyproject.toml) ... \u001b[?25ldone\n", + "\u001b[?25h Created wheel for jax: filename=jax-0.4.14-py3-none-any.whl size=1535363 sha256=87520dcb5f85c5073802ec72c4583f7acda7b09c0432e41f25a1d6ab1b34a94e\n", + " Stored in directory: /root/.cache/pip/wheels/7d/7a/8d/c75c9181b2ea75b6953c3a91fdacfec166038cb6d815807149\n", + "Successfully built jax\n", + "Installing collected packages: ml-dtypes, jaxlib, jax\n", + " Attempting uninstall: jaxlib\n", + " Found existing installation: jaxlib 0.3.15+cuda11.cudnn82\n", + " Uninstalling jaxlib-0.3.15+cuda11.cudnn82:\n", + " Successfully uninstalled jaxlib-0.3.15+cuda11.cudnn82\n", + " Attempting uninstall: jax\n", + " Found existing installation: jax 0.3.17\n", + " Uninstalling jax-0.3.17:\n", + " Successfully uninstalled jax-0.3.17\n", + "Successfully installed jax-0.4.14 jaxlib-0.4.14 ml-dtypes-0.3.1\n", + "\u001b[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv\u001b[0m\u001b[33m\n", + "\u001b[0mLooking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple\n", + "Collecting tensorflow\n", + " Downloading https://pypi.tuna.tsinghua.edu.cn/packages/e2/7a/c7762c698fb1ac41a7e3afee51dc72aa3ec74ae8d2f57ce19a9cded3a4af/tensorflow-2.14.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (489.8 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m489.8/489.8 MB\u001b[0m \u001b[31m1.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:02\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: six>=1.12.0 in /opt/mamba/lib/python3.10/site-packages (from tensorflow) (1.16.0)\n", + "Requirement already satisfied: typing-extensions>=3.6.6 in /opt/mamba/lib/python3.10/site-packages (from tensorflow) (4.4.0)\n", + "Collecting tensorflow-estimator<2.15,>=2.14.0\n", + " Downloading https://pypi.tuna.tsinghua.edu.cn/packages/d1/da/4f264c196325bb6e37a6285caec5b12a03def489b57cc1fdac02bb6272cd/tensorflow_estimator-2.14.0-py2.py3-none-any.whl (440 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m440.7/440.7 kB\u001b[0m \u001b[31m31.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting gast!=0.5.0,!=0.5.1,!=0.5.2,>=0.2.1\n", + " Downloading https://pypi.tuna.tsinghua.edu.cn/packages/fa/39/5aae571e5a5f4de9c3445dae08a530498e5c53b0e74410eeeb0991c79047/gast-0.5.4-py3-none-any.whl (19 kB)\n", + "Collecting numpy>=1.23.5\n", + " Downloading https://pypi.tuna.tsinghua.edu.cn/packages/2d/5e/cb38e3d1916cc29880c84a9332a9122a8f49a7b57ec7aea63e0f678587a2/numpy-1.26.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.2 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m18.2/18.2 MB\u001b[0m \u001b[31m23.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n", + "\u001b[?25hCollecting tensorflow-io-gcs-filesystem>=0.23.1\n", + " Downloading https://pypi.tuna.tsinghua.edu.cn/packages/88/99/8b507a009359fd55e411001acb64a1a8a4f81a26cb6e21c3b75c7fda4ae3/tensorflow_io_gcs_filesystem-0.34.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (2.4 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.4/2.4 MB\u001b[0m \u001b[31m38.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0ma \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: absl-py>=1.0.0 in /opt/mamba/lib/python3.10/site-packages (from tensorflow) (1.3.0)\n", + "Collecting ml-dtypes==0.2.0\n", + " Downloading https://pypi.tuna.tsinghua.edu.cn/packages/d1/1d/d5cf76e5e40f69dbd273036e3172ae4a614577cb141673427b80cac948df/ml_dtypes-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.0/1.0 MB\u001b[0m \u001b[31m40.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: opt-einsum>=2.3.2 in /opt/mamba/lib/python3.10/site-packages (from tensorflow) (3.3.0)\n", + "Requirement already satisfied: h5py>=2.9.0 in /opt/mamba/lib/python3.10/site-packages (from tensorflow) (3.7.0)\n", + "Collecting termcolor>=1.1.0\n", + " Downloading https://pypi.tuna.tsinghua.edu.cn/packages/67/e1/434566ffce04448192369c1a282931cf4ae593e91907558eaecd2e9f2801/termcolor-2.3.0-py3-none-any.whl (6.9 kB)\n", + "Collecting wrapt<1.15,>=1.11.0\n", + " Downloading https://pypi.tuna.tsinghua.edu.cn/packages/fd/70/8a133c88a394394dd57159083b86a564247399440b63f2da0ad727593570/wrapt-1.14.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (77 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m77.9/77.9 kB\u001b[0m \u001b[31m24.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting keras<2.15,>=2.14.0\n", + " Downloading https://pypi.tuna.tsinghua.edu.cn/packages/fe/58/34d4d8f1aa11120c2d36d7ad27d0526164b1a8ae45990a2fede31d0e59bf/keras-2.14.0-py3-none-any.whl (1.7 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.7/1.7 MB\u001b[0m \u001b[31m37.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0ma \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25hCollecting grpcio<2.0,>=1.24.3\n", + " Downloading https://pypi.tuna.tsinghua.edu.cn/packages/29/cc/e6883efbbcaa6570a0d2207ba53c796137f11293e47d11e2696f37b66811/grpcio-1.59.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.3 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m5.3/5.3 MB\u001b[0m \u001b[31m37.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: packaging in /opt/mamba/lib/python3.10/site-packages (from tensorflow) (21.3)\n", + "Requirement already satisfied: setuptools in /opt/mamba/lib/python3.10/site-packages (from tensorflow) (65.5.0)\n", + "Collecting libclang>=13.0.0\n", + " Downloading https://pypi.tuna.tsinghua.edu.cn/packages/ea/df/55525e489c43f9dbb6c8ea27d8a567b3dcd18a22f3c45483055f5ca6611d/libclang-16.0.6-py2.py3-none-manylinux2010_x86_64.whl (22.9 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m22.9/22.9 MB\u001b[0m \u001b[31m12.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n", + "\u001b[?25hCollecting tensorboard<2.15,>=2.14\n", + " Downloading https://pypi.tuna.tsinghua.edu.cn/packages/73/a2/66ed644f6ed1562e0285fcd959af17670ea313c8f331c46f79ee77187eb9/tensorboard-2.14.1-py3-none-any.whl (5.5 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m5.5/5.5 MB\u001b[0m \u001b[31m38.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n", + "\u001b[?25hCollecting flatbuffers>=23.5.26\n", + " Downloading https://pypi.tuna.tsinghua.edu.cn/packages/6f/12/d5c79ee252793ffe845d58a913197bfa02ae9a0b5c9bc3dc4b58d477b9e7/flatbuffers-23.5.26-py2.py3-none-any.whl (26 kB)\n", + "Requirement already satisfied: astunparse>=1.6.0 in /opt/mamba/lib/python3.10/site-packages (from tensorflow) (1.6.3)\n", + "Collecting google-pasta>=0.1.1\n", + " Downloading https://pypi.tuna.tsinghua.edu.cn/packages/a3/de/c648ef6835192e6e2cc03f40b19eeda4382c49b5bafb43d88b931c4c74ac/google_pasta-0.2.0-py3-none-any.whl (57 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m57.5/57.5 kB\u001b[0m \u001b[31m20.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting protobuf!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.20.3\n", + " Downloading https://pypi.tuna.tsinghua.edu.cn/packages/ae/32/45b1cf0c5d4a3ba881f5164c26af877c0dabfe6de0019d426aa0e5cf6806/protobuf-4.25.0-cp37-abi3-manylinux2014_x86_64.whl (294 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m294.4/294.4 kB\u001b[0m \u001b[31m43.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: wheel<1.0,>=0.23.0 in /opt/mamba/lib/python3.10/site-packages (from astunparse>=1.6.0->tensorflow) (0.37.1)\n", + "Collecting google-auth<3,>=1.6.3\n", + " Downloading https://pypi.tuna.tsinghua.edu.cn/packages/86/a7/75911c13a242735d5aeaca6a272da380335ff4ba5f26d6b2ae20ff682d13/google_auth-2.23.4-py2.py3-none-any.whl (183 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m183.3/183.3 kB\u001b[0m \u001b[31m51.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting tensorboard-data-server<0.8.0,>=0.7.0\n", + " Downloading https://pypi.tuna.tsinghua.edu.cn/packages/73/c6/825dab04195756cf8ff2e12698f22513b3db2f64925bdd41671bfb33aaa5/tensorboard_data_server-0.7.2-py3-none-manylinux_2_31_x86_64.whl (6.6 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m6.6/6.6 MB\u001b[0m \u001b[31m37.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n", + "\u001b[?25hCollecting werkzeug>=1.0.1\n", + " Downloading https://pypi.tuna.tsinghua.edu.cn/packages/c3/fc/254c3e9b5feb89ff5b9076a23218dafbc99c96ac5941e900b71206e6313b/werkzeug-3.0.1-py3-none-any.whl (226 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m226.7/226.7 kB\u001b[0m \u001b[31m53.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting markdown>=2.6.8\n", + " Downloading https://pypi.tuna.tsinghua.edu.cn/packages/70/58/2c5a654173937d9f540a4971c569b44dcd55e5424a484d954cdaeebcf79c/Markdown-3.5.1-py3-none-any.whl (102 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m102.2/102.2 kB\u001b[0m \u001b[31m36.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting google-auth-oauthlib<1.1,>=0.5\n", + " Downloading https://pypi.tuna.tsinghua.edu.cn/packages/4a/07/8d9a8186e6768b55dfffeb57c719bc03770cf8a970a074616ae6f9e26a57/google_auth_oauthlib-1.0.0-py2.py3-none-any.whl (18 kB)\n", + "Requirement already satisfied: requests<3,>=2.21.0 in /opt/mamba/lib/python3.10/site-packages (from tensorboard<2.15,>=2.14->tensorflow) (2.28.1)\n", + "Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /opt/mamba/lib/python3.10/site-packages (from packaging->tensorflow) (3.0.9)\n", + "Collecting pyasn1-modules>=0.2.1\n", + " Downloading https://pypi.tuna.tsinghua.edu.cn/packages/cd/8e/bea464350e1b8c6ed0da3a312659cb648804a08af6cacc6435867f74f8bd/pyasn1_modules-0.3.0-py2.py3-none-any.whl (181 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m181.3/181.3 kB\u001b[0m \u001b[31m53.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting rsa<5,>=3.1.4\n", + " Downloading https://pypi.tuna.tsinghua.edu.cn/packages/49/97/fa78e3d2f65c02c8e1268b9aba606569fe97f6c8f7c2d74394553347c145/rsa-4.9-py3-none-any.whl (34 kB)\n", + "Collecting cachetools<6.0,>=2.0.0\n", + " Downloading https://pypi.tuna.tsinghua.edu.cn/packages/a2/91/2d843adb9fbd911e0da45fbf6f18ca89d07a087c3daa23e955584f90ebf4/cachetools-5.3.2-py3-none-any.whl (9.3 kB)\n", + "Collecting requests-oauthlib>=0.7.0\n", + " Downloading https://pypi.tuna.tsinghua.edu.cn/packages/6f/bb/5deac77a9af870143c684ab46a7934038a53eb4aa975bc0687ed6ca2c610/requests_oauthlib-1.3.1-py2.py3-none-any.whl (23 kB)\n", + "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /opt/mamba/lib/python3.10/site-packages (from requests<3,>=2.21.0->tensorboard<2.15,>=2.14->tensorflow) (1.26.11)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /opt/mamba/lib/python3.10/site-packages (from requests<3,>=2.21.0->tensorboard<2.15,>=2.14->tensorflow) (2022.9.24)\n", + "Requirement already satisfied: charset-normalizer<3,>=2 in /opt/mamba/lib/python3.10/site-packages (from requests<3,>=2.21.0->tensorboard<2.15,>=2.14->tensorflow) (2.1.1)\n", + "Requirement already satisfied: idna<4,>=2.5 in /opt/mamba/lib/python3.10/site-packages (from requests<3,>=2.21.0->tensorboard<2.15,>=2.14->tensorflow) (3.4)\n", + "Requirement already satisfied: MarkupSafe>=2.1.1 in /opt/mamba/lib/python3.10/site-packages (from werkzeug>=1.0.1->tensorboard<2.15,>=2.14->tensorflow) (2.1.1)\n", + "Collecting pyasn1<0.6.0,>=0.4.6\n", + " Downloading https://pypi.tuna.tsinghua.edu.cn/packages/14/e5/b56a725cbde139aa960c26a1a3ca4d4af437282e20b5314ee6a3501e7dfc/pyasn1-0.5.0-py2.py3-none-any.whl (83 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m83.9/83.9 kB\u001b[0m \u001b[31m28.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting oauthlib>=3.0.0\n", + " Downloading https://pypi.tuna.tsinghua.edu.cn/packages/7e/80/cab10959dc1faead58dc8384a781dfbf93cb4d33d50988f7a69f1b7c9bbe/oauthlib-3.2.2-py3-none-any.whl (151 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m151.7/151.7 kB\u001b[0m \u001b[31m44.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hInstalling collected packages: libclang, flatbuffers, wrapt, werkzeug, termcolor, tensorflow-io-gcs-filesystem, tensorflow-estimator, tensorboard-data-server, pyasn1, protobuf, oauthlib, numpy, markdown, keras, grpcio, google-pasta, gast, cachetools, rsa, requests-oauthlib, pyasn1-modules, ml-dtypes, google-auth, google-auth-oauthlib, tensorboard, tensorflow\n", + " Attempting uninstall: numpy\n", + " Found existing installation: numpy 1.23.4\n", + " Uninstalling numpy-1.23.4:\n", + " Successfully uninstalled numpy-1.23.4\n", + " Attempting uninstall: ml-dtypes\n", + " Found existing installation: ml-dtypes 0.3.1\n", + " Uninstalling ml-dtypes-0.3.1:\n", + " Successfully uninstalled ml-dtypes-0.3.1\n", + "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", + "scipy 1.9.3 requires numpy<1.26.0,>=1.18.5, but you have numpy 1.26.1 which is incompatible.\u001b[0m\u001b[31m\n", + "\u001b[0mSuccessfully installed cachetools-5.3.2 flatbuffers-23.5.26 gast-0.5.4 google-auth-2.23.4 google-auth-oauthlib-1.0.0 google-pasta-0.2.0 grpcio-1.59.2 keras-2.14.0 libclang-16.0.6 markdown-3.5.1 ml-dtypes-0.2.0 numpy-1.26.1 oauthlib-3.2.2 protobuf-4.25.0 pyasn1-0.5.0 pyasn1-modules-0.3.0 requests-oauthlib-1.3.1 rsa-4.9 tensorboard-2.14.1 tensorboard-data-server-0.7.2 tensorflow-2.14.0 tensorflow-estimator-2.14.0 tensorflow-io-gcs-filesystem-0.34.0 termcolor-2.3.0 werkzeug-3.0.1 wrapt-1.14.1\n", + "\u001b[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv\u001b[0m\u001b[33m\n", + "\u001b[0m" + ] + } + ], + "source": [ + "!pip install \"jax[cpu]==0.4.14\"\n", + "!pip install tensorflow" + ] + }, + { + "cell_type": "markdown", + "id": "f64a7c5d-c36a-4405-9fd1-f7269c567fb7", + "metadata": {}, + "source": [ + "#### Save DMFF with dmff2tf script" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6c282143-6795-49d8-830c-334e2c384336", + "metadata": {}, + "outputs": [], + "source": [ + "!python DMFF/backend/save_dmff2tf.py --input_pdb DMFF/examples/water_fullpol/water_dimer.pdb --xml_files DMFF/examples/water_fullpol/forcefield.xml --output /tmp/dmff_admp_water_dimer --has_aux True\n", + "!ls /tmp/dmff_admp_water_dimer" + ] + }, + { + "cell_type": "markdown", + "id": "d9bd39fd-4c0d-45f2-bcc0-882d8b2d49d7", + "metadata": {}, + "source": [ + "!python DMFF/backend/save_dmff2tf.py --input_pdb DMFF/examples/classical/lig.pdb --xml_files DMFF/examples/classical/lig-prm.xml --output /tmp/dmff_classical_lig" + ] + }, + { + "cell_type": "markdown", + "id": "0556b692-adeb-45db-970a-830d266dd769", + "metadata": {}, + "source": [ + "### Install OpenMM DMFF Plugin" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "43bc5a9e-54da-4dda-8f1b-ad53cd1b5215", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + " __ __ __ __\n", + " / \\ / \\ / \\ / \\\n", + " / \\/ \\/ \\/ \\\n", + "███████████████/ /██/ /██/ /██/ /████████████████████████\n", + " / / \\ / \\ / \\ / \\ \\____\n", + " / / \\_/ \\_/ \\_/ \\ o \\__,\n", + " / _/ \\_____/ `\n", + " |/\n", + " ███╗ ███╗ █████╗ ███╗ ███╗██████╗ █████╗\n", + " ████╗ ████║██╔══██╗████╗ ████║██╔══██╗██╔══██╗\n", + " ██╔████╔██║███████║██╔████╔██║██████╔╝███████║\n", + " ██║╚██╔╝██║██╔══██║██║╚██╔╝██║██╔══██╗██╔══██║\n", + " ██║ ╚═╝ ██║██║ ██║██║ ╚═╝ ██║██████╔╝██║ ██║\n", + " ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚═════╝ ╚═╝ ╚═╝\n", + "\n", + " mamba (0.27.0) supported by @QuantStack\n", + "\n", + " GitHub: https://github.com/mamba-org/mamba\n", + " Twitter: https://twitter.com/QuantStack\n", + "\n", + "█████████████████████████████████████████████████████████████\n", + "\n", + "\n", + "Looking for: ['python=3.9', 'openmm', 'libtensorflow_cc=2.9.1', 'swig=4.0.1', 'setuptools=59.5.0']\n", + "\n", + "\u001b[?25l\u001b[2K\u001b[0G[+] 0.0s\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.1s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.1s\n", + "conda-forge/noarch \u001b[90m━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.1s\n", + "pkgs/main/linux-64 \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.1s\n", + "pkgs/main/noarch \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.1s\n", + "pkgs/r/linux-64 \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.2s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.2s\n", + "conda-forge/noarch \u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.2s\n", + "pkgs/main/linux-64 \u001b[90m╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.2s\n", + "pkgs/main/noarch \u001b[90m━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.2s\n", + "pkgs/r/linux-64 \u001b[90m━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.3s\n", + "conda-forge/linux-64 \u001b[90m╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.3s\n", + "conda-forge/noarch \u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.3s\n", + "pkgs/main/linux-64 \u001b[90m━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.3s\n", + "pkgs/main/noarch \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.3s\n", + "pkgs/r/linux-64 \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.4s\n", + "conda-forge/linux-64 \u001b[90m━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.4s\n", + "conda-forge/noarch \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.4s\n", + "pkgs/main/linux-64 \u001b[90m━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.4s\n", + "pkgs/main/noarch \u001b[90m━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.4s\n", + "pkgs/r/linux-64 \u001b[90m━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.5s\n", + "conda-forge/linux-64 \u001b[90m━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.5s\n", + "conda-forge/noarch \u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.5s\n", + "pkgs/main/linux-64 \u001b[90m━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.5s\n", + "pkgs/main/noarch \u001b[90m━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.5s\n", + "pkgs/r/linux-64 \u001b[90m━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.6s\n", + "conda-forge/linux-64 \u001b[90m━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.6s\n", + "conda-forge/noarch \u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.6s\n", + "pkgs/main/linux-64 \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.6s\n", + "pkgs/main/noarch \u001b[90m━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.6s\n", + "pkgs/r/linux-64 \u001b[90m━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.7s\n", + "conda-forge/linux-64 \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.7s\n", + "conda-forge/noarch \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.7s\n", + "pkgs/main/linux-64 \u001b[90m━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.7s\n", + "pkgs/main/noarch \u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 352.0 B / ??.?MB @ 565.0 B/s 0.7s\n", + "pkgs/r/linux-64 \u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.8s\n", + "conda-forge/linux-64 \u001b[90m━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.8s\n", + "conda-forge/noarch \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.8s\n", + "pkgs/main/linux-64 \u001b[90m━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 31.4kB / ??.?MB @ 43.2kB/s 0.8s\n", + "pkgs/main/noarch \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 31.4kB / ??.?MB @ 43.2kB/s 0.8s\n", + "pkgs/r/linux-64 \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 31.4kB / ??.?MB @ 43.2kB/s 0.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.9s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.9s\n", + "conda-forge/noarch \u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.9s\n", + "pkgs/main/linux-64 \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 32.8kB / ??.?MB @ 38.0kB/s 0.9s\n", + "pkgs/main/noarch \u001b[33m━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━\u001b[0m 32.8kB / ??.?MB @ 38.0kB/s 0.9s\n", + "pkgs/r/linux-64 \u001b[33m━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━\u001b[0m 32.8kB / ??.?MB @ 38.0kB/s 0.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.0s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 1.0s\n", + "conda-forge/noarch \u001b[90m━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 1.0s\n", + "pkgs/main/linux-64 \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 107.0kB / ??.?MB @ 110.4kB/s 1.0s\n", + "pkgs/main/noarch \u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 102.4kB / ??.?MB @ 105.6kB/s 1.0s\n", + "pkgs/r/linux-64 \u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 110.9kB / ??.?MB @ 114.3kB/s 1.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.1s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 1.1s\n", + "conda-forge/noarch \u001b[90m━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 1.1s\n", + "pkgs/main/linux-64 \u001b[90m━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━\u001b[0m 156.1kB / ??.?MB @ 145.8kB/s 1.1s\n", + "pkgs/main/noarch \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 176.5kB / ??.?MB @ 164.9kB/s 1.1s\n", + "pkgs/r/linux-64 \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 180.8kB / ??.?MB @ 168.7kB/s 1.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.2s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 1.2s\n", + "conda-forge/noarch \u001b[90m━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 1.2s\n", + "pkgs/main/linux-64 \u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 229.4kB / ??.?MB @ 195.9kB/s 1.2s\n", + "pkgs/main/noarch \u001b[90m╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 262.1kB / ??.?MB @ 223.8kB/s 1.2s\n", + "pkgs/r/linux-64 \u001b[90m╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 278.5kB / ??.?MB @ 236.8kB/s 1.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.3s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 18.2kB / ??.?MB @ 14.3kB/s 1.3s\n", + "conda-forge/noarch \u001b[90m━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━\u001b[0m 32.2kB / ??.?MB @ 25.3kB/s 1.3s\n", + "pkgs/main/linux-64 \u001b[33m━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━\u001b[0m 344.0kB / ??.?MB @ 270.6kB/s 1.3s\n", + "pkgs/main/noarch \u001b[90m━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 393.1kB / ??.?MB @ 309.2kB/s 1.3s\n", + "pkgs/r/linux-64 \u001b[90m━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 409.5kB / ??.?MB @ 320.9kB/s 1.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.4s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 31.8kB / ??.?MB @ 23.1kB/s 1.4s\n", + "conda-forge/noarch \u001b[90m━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━\u001b[0m 32.2kB / ??.?MB @ 23.4kB/s 1.4s\n", + "pkgs/main/linux-64 \u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 475.0kB / ??.?MB @ 346.2kB/s 1.4s\n", + "pkgs/main/noarch \u001b[90m━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━\u001b[0m 577.5kB / ??.?MB @ 420.9kB/s 1.4s\n", + "pkgs/r/linux-64 \u001b[90m━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━\u001b[0m 606.0kB / ??.?MB @ 440.2kB/s 1.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gpkgs/main/noarch 853.2kB @ 583.5kB/s 1.5s\n", + "[+] 1.5s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 64.9kB / ??.?MB @ 44.0kB/s 1.5s\n", + "conda-forge/noarch \u001b[90m━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━\u001b[0m 134.6kB / ??.?MB @ 91.3kB/s 1.5s\n", + "pkgs/main/linux-64 \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 704.2kB / ??.?MB @ 477.7kB/s 1.5s\n", + "pkgs/r/linux-64 \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 917.1kB / ??.?MB @ 620.9kB/s 1.5s\n", + "pkgs/r/noarch \u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.6s\n", + "conda-forge/linux-64 \u001b[90m╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 107.4kB / ??.?MB @ 68.2kB/s 1.6s\n", + "conda-forge/noarch \u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 175.4kB / ??.?MB @ 111.5kB/s 1.6s\n", + "pkgs/main/linux-64 \u001b[90m━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 1.0MB / ??.?MB @ 666.0kB/s 1.6s\n", + "pkgs/r/linux-64 \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 1.4MB / ??.?MB @ 861.6kB/s 1.6s\n", + "pkgs/r/noarch \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 0.0 B / ??.?MB @ ??.?MB/s 0.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gpkgs/r/linux-64 1.9MB @ 1.1MB/s 1.7s\n", + "[+] 1.7s\n", + "conda-forge/linux-64 \u001b[90m━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 165.5kB / ??.?MB @ 98.4kB/s 1.7s\n", + "conda-forge/noarch \u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 330.6kB / ??.?MB @ 196.6kB/s 1.7s\n", + "pkgs/main/linux-64 \u001b[90m━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 1.4MB / ??.?MB @ 854.6kB/s 1.7s\n", + "pkgs/r/noarch \u001b[90m━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 28.7kB / ??.?MB @ 17.0kB/s 0.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.8s\n", + "conda-forge/linux-64 \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 287.9kB / ??.?MB @ 161.5kB/s 1.8s\n", + "conda-forge/noarch \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 494.3kB / ??.?MB @ 277.2kB/s 1.8s\n", + "pkgs/main/linux-64 \u001b[90m━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━\u001b[0m 2.2MB / ??.?MB @ 1.2MB/s 1.8s\n", + "pkgs/r/noarch \u001b[90m━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 593.9kB / ??.?MB @ 333.2kB/s 0.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.9s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 418.8kB / ??.?MB @ 222.4kB/s 1.9s\n", + "conda-forge/noarch \u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 772.5kB / ??.?MB @ 410.2kB/s 1.9s\n", + "pkgs/main/linux-64 \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 2.7MB / ??.?MB @ 1.5MB/s 1.9s\n", + "pkgs/r/noarch \u001b[90m━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━\u001b[0m 1.1MB / ??.?MB @ 591.8kB/s 0.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.0s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 647.8kB / ??.?MB @ 326.6kB/s 2.0s\n", + "conda-forge/noarch \u001b[90m━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 1.1MB / ??.?MB @ 554.5kB/s 2.0s\n", + "pkgs/main/linux-64 \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 3.2MB / ??.?MB @ 1.6MB/s 2.0s\n", + "pkgs/r/noarch \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 1.6MB / ??.?MB @ 813.5kB/s 0.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.1s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━\u001b[0m 1.0MB / ??.?MB @ 480.9kB/s 2.1s\n", + "conda-forge/noarch \u001b[90m━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 1.6MB / ??.?MB @ 786.8kB/s 2.1s\n", + "pkgs/main/linux-64 \u001b[90m━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━\u001b[0m 3.7MB / ??.?MB @ 1.8MB/s 2.1s\n", + "pkgs/r/noarch \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 2.1MB / ??.?MB @ 1.0MB/s 0.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gpkgs/r/noarch 2.3MB @ 1.1MB/s 0.7s\n", + "[+] 2.2s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━\u001b[0m 1.2MB / ??.?MB @ 563.4kB/s 2.2s\n", + "conda-forge/noarch \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 2.0MB / ??.?MB @ 935.1kB/s 2.2s\n", + "pkgs/main/linux-64 \u001b[90m━━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━\u001b[0m 4.0MB / ??.?MB @ 1.8MB/s 2.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.3s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 2.1MB / ??.?MB @ 915.4kB/s 2.3s\n", + "conda-forge/noarch \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 3.3MB / ??.?MB @ 1.5MB/s 2.3s\n", + "pkgs/main/linux-64 \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 4.3MB / ??.?MB @ 1.9MB/s 2.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.4s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━\u001b[0m 3.2MB / ??.?MB @ 1.3MB/s 2.4s\n", + "conda-forge/noarch \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 4.1MB / ??.?MB @ 1.7MB/s 2.4s\n", + "pkgs/main/linux-64 \u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 4.8MB / ??.?MB @ 2.1MB/s 2.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.5s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 4.2MB / ??.?MB @ 1.7MB/s 2.5s\n", + "conda-forge/noarch \u001b[90m━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━\u001b[0m 5.1MB / ??.?MB @ 2.1MB/s 2.5s\n", + "pkgs/main/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 5.4MB / ??.?MB @ 2.2MB/s 2.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.6s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 5.2MB / ??.?MB @ 2.0MB/s 2.6s\n", + "conda-forge/noarch \u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 6.0MB / ??.?MB @ 2.4MB/s 2.6s\n", + "pkgs/main/linux-64 \u001b[90m╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 6.0MB / ??.?MB @ 2.3MB/s 2.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.7s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 5.7MB @ 2.2MB/s 2.7s\n", + "conda-forge/noarch \u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 6.6MB @ 2.5MB/s 2.7s\n", + "pkgs/main/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 6.3MB @ 2.4MB/s Finalizing 2.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gpkgs/main/linux-64 @ 2.4MB/s 2.7s\n", + "[+] 2.8s\n", + "conda-forge/linux-64 \u001b[90m━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 6.0MB / ??.?MB @ 2.1MB/s 2.8s\n", + "conda-forge/noarch \u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 6.8MB / ??.?MB @ 2.4MB/s 2.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.9s\n", + "conda-forge/linux-64 \u001b[90m━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 7.8MB / ??.?MB @ 2.7MB/s 2.9s\n", + "conda-forge/noarch \u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 8.9MB / ??.?MB @ 3.1MB/s 2.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.0s\n", + "conda-forge/linux-64 \u001b[90m━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━\u001b[0m 9.4MB / ??.?MB @ 3.1MB/s 3.0s\n", + "conda-forge/noarch \u001b[33m━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 10.4MB / ??.?MB @ 3.5MB/s 3.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.1s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━\u001b[0m 10.4MB / ??.?MB @ 3.4MB/s 3.1s\n", + "conda-forge/noarch \u001b[90m╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 11.5MB / ??.?MB @ 3.7MB/s 3.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.2s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━\u001b[0m 11.4MB / ??.?MB @ 3.6MB/s 3.2s\n", + "conda-forge/noarch \u001b[90m━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 12.5MB / ??.?MB @ 3.9MB/s 3.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.3s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━\u001b[0m 12.3MB / ??.?MB @ 3.7MB/s 3.3s\n", + "conda-forge/noarch \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 13.4MB / ??.?MB @ 4.1MB/s 3.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.4s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━\u001b[0m 12.3MB / ??.?MB @ 3.7MB/s 3.4s\n", + "conda-forge/noarch \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 13.4MB / ??.?MB @ 4.1MB/s 3.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.5s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━\u001b[0m 12.3MB / ??.?MB @ 3.7MB/s 3.5s\n", + "conda-forge/noarch \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 13.4MB / ??.?MB @ 4.1MB/s 3.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.6s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 12.8MB / ??.?MB @ 3.6MB/s 3.6s\n", + "conda-forge/noarch \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 14.1MB / ??.?MB @ 3.9MB/s 3.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.7s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━\u001b[0m 15.4MB / ??.?MB @ 4.2MB/s 3.7s\n", + "conda-forge/noarch \u001b[90m━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━\u001b[0m 14.4MB / ??.?MB @ 3.9MB/s 3.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.8s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 15.4MB @ 4.2MB/s 3.8s\n", + "conda-forge/noarch ━━━━━━━━━━━━━━━━━━━━━━ 14.5MB @ 3.9MB/s Finalizing 3.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.9s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━\u001b[0m 15.4MB / ??.?MB @ 4.2MB/s 3.9s\u001b[2K\u001b[1A\u001b[2K\u001b[0Gconda-forge/noarch @ 3.9MB/s 3.9s\n", + "[+] 4.0s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 17.5MB / ??.?MB @ 4.4MB/s 4.0s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.1s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 19.1MB / ??.?MB @ 4.7MB/s 4.1s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.2s\n", + "conda-forge/linux-64 \u001b[90m━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 20.1MB / ??.?MB @ 4.8MB/s 4.2s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.3s\n", + "conda-forge/linux-64 \u001b[90m━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 21.0MB / ??.?MB @ 4.9MB/s 4.3s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.4s\n", + "conda-forge/linux-64 \u001b[90m━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━\u001b[0m 22.0MB / ??.?MB @ 5.0MB/s 4.4s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.5s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━\u001b[0m 22.9MB / ??.?MB @ 5.1MB/s 4.5s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.6s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━\u001b[0m 23.8MB / ??.?MB @ 5.2MB/s 4.6s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.7s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━\u001b[0m 24.8MB / ??.?MB @ 5.3MB/s 4.7s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.8s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 25.7MB / ??.?MB @ 5.4MB/s 4.8s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.9s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━\u001b[0m 26.7MB / ??.?MB @ 5.5MB/s 4.9s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.0s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 27.7MB / ??.?MB @ 5.5MB/s 5.0s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.1s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 28.6MB / ??.?MB @ 5.6MB/s 5.1s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.2s\n", + "conda-forge/linux-64 \u001b[90m━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 29.4MB / ??.?MB @ 5.7MB/s 5.2s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.3s\n", + "conda-forge/linux-64 \u001b[90m━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 30.3MB / ??.?MB @ 5.7MB/s 5.3s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.4s\n", + "conda-forge/linux-64 \u001b[90m━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━\u001b[0m 31.2MB / ??.?MB @ 5.8MB/s 5.4s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.5s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━\u001b[0m 32.3MB / ??.?MB @ 5.9MB/s 5.5s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.6s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━\u001b[0m 33.3MB / ??.?MB @ 6.0MB/s 5.6s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.7s\n", + "conda-forge/linux-64 \u001b[90m━━━━━━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━\u001b[0m 34.1MB / ??.?MB @ 6.0MB/s 5.7s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.8s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 34.6MB / ??.?MB @ 6.0MB/s 5.8s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.9s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 35.0MB / ??.?MB @ 5.9MB/s 5.9s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.0s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 35.0MB / ??.?MB @ 5.9MB/s 6.0s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.1s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 35.0MB / ??.?MB @ 5.9MB/s 6.1s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.2s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 35.0MB / ??.?MB @ 5.9MB/s 6.2s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.3s\n", + "conda-forge/linux-64 \u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 35.0MB / ??.?MB @ 5.9MB/s 6.3s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.4s\n", + "conda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 35.7MB @ 6.0MB/s Downloaded 6.4s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.5s\n", + "conda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 35.7MB @ 6.0MB/s Downloaded 6.5s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.6s\n", + "conda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 35.7MB @ 6.0MB/s Downloaded 6.6s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.7s\n", + "conda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 35.7MB @ 6.0MB/s Downloaded 6.7s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.8s\n", + "conda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 35.7MB @ 6.0MB/s Finalizing 6.8s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.9s\n", + "conda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 35.7MB @ 6.0MB/s Finalizing 6.9s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.0s\n", + "conda-forge/linux-64 ━━━━━━━━━━━━━━━━━━━━━━ 35.7MB @ 6.0MB/s Finalizing 7.0s\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.1s\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.2s\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.3s\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.4s\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.5s\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.6s\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.7s\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.8s\n", + "\u001b[2K\u001b[1A\u001b[2K\u001b[0Gconda-forge/linux-64 @ 6.0MB/s 7.0s\n", + "\u001b[?25h\u001b[33m\u001b[1mwarning libmamba\u001b[m Extracted package cache '/opt/mamba/pkgs/ocl-icd-2.3.1-h7f98852_0' has invalid url\n", + "\u001b[33m\u001b[1mwarning libmamba\u001b[m Extracted package cache '/opt/mamba/pkgs/ocl-icd-system-1.0.0-1' has invalid url\n", + "Transaction\n", + "\n", + " Prefix: /opt/mamba/envs/dmff_omm\n", + "\n", + " Updating specs:\n", + "\n", + " - python=3.9\n", + " - openmm\n", + " - libtensorflow_cc=2.9.1\n", + " - swig=4.0.1\n", + " - setuptools=59.5.0\n", + "\n", + "\n", + " Package Version Build Channel Size\n", + "──────────────────────────────────────────────────────────────────────────────────────────\n", + " Install:\n", + "──────────────────────────────────────────────────────────────────────────────────────────\n", + "\n", + "\u001b[32m + _libgcc_mutex \u001b[00m 0.1 conda_forge conda-forge/linux-64\u001b[32m Cached\u001b[00m\n", + "\u001b[32m + _openmp_mutex \u001b[00m 4.5 2_gnu conda-forge/linux-64\u001b[32m Cached\u001b[00m\n", + "\u001b[32m + abseil-cpp \u001b[00m 20211102.0 h93e1e8c_3 conda-forge/linux-64 13kB\n", + "\u001b[32m + bzip2 \u001b[00m 1.0.8 hd590300_5 conda-forge/linux-64 254kB\n", + "\u001b[32m + c-ares \u001b[00m 1.21.0 hd590300_0 conda-forge/linux-64 122kB\n", + "\u001b[32m + ca-certificates \u001b[00m 2023.7.22 hbcca054_0 conda-forge/linux-64 150kB\n", + "\u001b[32m + cuda-nvrtc \u001b[00m 12.0.76 h59595ed_1 conda-forge/linux-64 18MB\n", + "\u001b[32m + cuda-version \u001b[00m 12.0 hffde075_2 conda-forge/noarch 21kB\n", + "\u001b[32m + giflib \u001b[00m 5.2.1 h0b41bf4_3 conda-forge/linux-64 77kB\n", + "\u001b[32m + grpc-cpp \u001b[00m 1.46.4 h6fc47f4_3 conda-forge/linux-64 5MB\n", + "\u001b[32m + icu \u001b[00m 70.1 h27087fc_0 conda-forge/linux-64\u001b[32m Cached\u001b[00m\n", + "\u001b[32m + jpeg \u001b[00m 9e h0b41bf4_3 conda-forge/linux-64 240kB\n", + "\u001b[32m + keyutils \u001b[00m 1.6.1 h166bdaf_0 conda-forge/linux-64\u001b[32m Cached\u001b[00m\n", + "\u001b[32m + krb5 \u001b[00m 1.20.1 hf9c8cef_0 conda-forge/linux-64 1MB\n", + "\u001b[32m + ld_impl_linux-64\u001b[00m 2.40 h41732ed_0 conda-forge/linux-64 705kB\n", + "\u001b[32m + libabseil \u001b[00m 20211102.0 cxx17_h48a1fff_3 conda-forge/linux-64 1MB\n", + "\u001b[32m + libblas \u001b[00m 3.9.0 19_linux64_openblas conda-forge/linux-64 15kB\n", + "\u001b[32m + libcblas \u001b[00m 3.9.0 19_linux64_openblas conda-forge/linux-64 14kB\n", + "\u001b[32m + libcufft \u001b[00m 11.0.0.21 hcb278e6_1 conda-forge/linux-64 45MB\n", + "\u001b[32m + libcurl \u001b[00m 7.87.0 h6312ad2_0 conda-forge/linux-64 347kB\n", + "\u001b[32m + libedit \u001b[00m 3.1.20191231 he28a2e2_2 conda-forge/linux-64\u001b[32m Cached\u001b[00m\n", + "\u001b[32m + libev \u001b[00m 4.33 h516909a_1 conda-forge/linux-64\u001b[32m Cached\u001b[00m\n", + "\u001b[32m + libffi \u001b[00m 3.4.2 h7f98852_5 conda-forge/linux-64\u001b[32m Cached\u001b[00m\n", + "\u001b[32m + libgcc-ng \u001b[00m 13.2.0 h807b86a_2 conda-forge/linux-64 771kB\n", + "\u001b[32m + libgfortran-ng \u001b[00m 13.2.0 h69a702a_2 conda-forge/linux-64 24kB\n", + "\u001b[32m + libgfortran5 \u001b[00m 13.2.0 ha4646dd_2 conda-forge/linux-64 1MB\n", + "\u001b[32m + libgomp \u001b[00m 13.2.0 h807b86a_2 conda-forge/linux-64 421kB\n", + "\u001b[32m + liblapack \u001b[00m 3.9.0 19_linux64_openblas conda-forge/linux-64 14kB\n", + "\u001b[32m + libnghttp2 \u001b[00m 1.51.0 hdcd2b5c_0 conda-forge/linux-64 623kB\n", + "\u001b[32m + libnsl \u001b[00m 2.0.1 hd590300_0 conda-forge/linux-64 33kB\n", + "\u001b[32m + libopenblas \u001b[00m 0.3.24 pthreads_h413a1c8_0 conda-forge/linux-64 5MB\n", + "\u001b[32m + libpng \u001b[00m 1.6.39 h753d276_0 conda-forge/linux-64 283kB\n", + "\u001b[32m + libprotobuf \u001b[00m 3.20.3 h3eb15da_0 conda-forge/linux-64 2MB\n", + "\u001b[32m + libsqlite \u001b[00m 3.44.0 h2797004_0 conda-forge/linux-64 846kB\n", + "\u001b[32m + libssh2 \u001b[00m 1.10.0 haa6b8db_3 conda-forge/linux-64\u001b[32m Cached\u001b[00m\n", + "\u001b[32m + libstdcxx-ng \u001b[00m 13.2.0 h7e041cc_2 conda-forge/linux-64 4MB\n", + "\u001b[32m + libtensorflow_cc\u001b[00m 2.9.1 cpu_h0c3d7b9_0 conda-forge/linux-64 105MB\n", + "\u001b[32m + libuuid \u001b[00m 2.38.1 h0b41bf4_0 conda-forge/linux-64 34kB\n", + "\u001b[32m + libzlib \u001b[00m 1.2.13 hd590300_5 conda-forge/linux-64 62kB\n", + "\u001b[32m + ncurses \u001b[00m 6.4 h59595ed_2 conda-forge/linux-64 884kB\n", + "\u001b[32m + numpy \u001b[00m 1.26.0 py39h474f0d3_0 conda-forge/linux-64 7MB\n", + "\u001b[32m + ocl-icd \u001b[00m 2.3.1 h7f98852_0 conda-forge/linux-64\u001b[32m Cached\u001b[00m\n", + "\u001b[32m + ocl-icd-system \u001b[00m 1.0.0 1 conda-forge/linux-64\u001b[32m Cached\u001b[00m\n", + "\u001b[32m + openmm \u001b[00m 8.0.0 py39h5d72b6b_3 conda-forge/linux-64 11MB\n", + "\u001b[32m + openssl \u001b[00m 1.1.1w hd590300_0 conda-forge/linux-64 2MB\n", + "\u001b[32m + pcre \u001b[00m 8.45 h9c3ff4c_0 conda-forge/linux-64 259kB\n", + "\u001b[32m + pip \u001b[00m 23.3.1 pyhd8ed1ab_0 conda-forge/noarch 1MB\n", + "\u001b[32m + python \u001b[00m 3.9.15 h47a2c10_0_cpython conda-forge/linux-64 22MB\n", + "\u001b[32m + python_abi \u001b[00m 3.9 4_cp39 conda-forge/linux-64 6kB\n", + "\u001b[32m + re2 \u001b[00m 2022.06.01 h27087fc_1 conda-forge/linux-64 196kB\n", + "\u001b[32m + readline \u001b[00m 8.2 h8228510_1 conda-forge/linux-64 281kB\n", + "\u001b[32m + setuptools \u001b[00m 59.5.0 py39hf3d152e_0 conda-forge/linux-64 1MB\n", + "\u001b[32m + snappy \u001b[00m 1.1.10 h9fff704_0 conda-forge/linux-64 39kB\n", + "\u001b[32m + sqlite \u001b[00m 3.44.0 h2c6b66d_0 conda-forge/linux-64 837kB\n", + "\u001b[32m + swig \u001b[00m 4.0.1 he1b5a44_0 conda-forge/linux-64 1MB\n", + "\u001b[32m + tk \u001b[00m 8.6.13 noxft_h4845f30_101 conda-forge/linux-64 3MB\n", + "\u001b[32m + tzdata \u001b[00m 2023c h71feb2d_0 conda-forge/noarch 118kB\n", + "\u001b[32m + wheel \u001b[00m 0.41.3 pyhd8ed1ab_0 conda-forge/noarch 58kB\n", + "\u001b[32m + xz \u001b[00m 5.2.6 h166bdaf_0 conda-forge/linux-64\u001b[32m Cached\u001b[00m\n", + "\u001b[32m + zlib \u001b[00m 1.2.13 hd590300_5 conda-forge/linux-64 93kB\n", + "\n", + " Summary:\n", + "\n", + " Install: 60 packages\n", + "\n", + " Total download: 245MB\n", + "\n", + "──────────────────────────────────────────────────────────────────────────────────────────\n", + "\n", + "\u001b[?25l\u001b[2K\u001b[0G[+] 0.0s\n", + "Downloading \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0.0 B 0.0s\n", + "Extracting (2) \u001b[90m━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 0 ocl-icd 0.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.1s\n", + "Downloading (5) \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0.0 B ca-certificates 0.0s\n", + "Extracting (2) \u001b[90m━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━\u001b[0m 0 ocl-icd 0.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.2s\n", + "Downloading (5) \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0.0 B ca-certificates 0.1s\n", + "Extracting (2) \u001b[90m━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━\u001b[0m 0 ocl-icd 0.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.3s\n", + "Downloading (5) \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0.0 B ca-certificates 0.2s\n", + "Extracting (2) \u001b[90m━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 0 ocl-icd 0.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.4s\n", + "Downloading (5) \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0.0 B ca-certificates 0.3s\n", + "Extracting (2) \u001b[90m━━━━━━━╸\u001b[0m\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 0 ocl-icd-system 0.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.5s\n", + "Downloading (5) \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0.0 B ld_impl_linux-64 0.4s\n", + "Extracting \u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 2 0.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.6s\n", + "Downloading (5) \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0.0 B ld_impl_linux-64 0.5s\n", + "Extracting \u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 2 0.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.7s\n", + "Downloading (5) \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0.0 B ld_impl_linux-64 0.6s\n", + "Extracting \u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 2 0.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gpython_abi 6.4kB @ 9.0kB/s 0.7s\n", + "[+] 0.8s\n", + "Downloading (5) \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 102.0kB ld_impl_linux-64 0.7s\n", + "Extracting (1) \u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 2 python_abi 0.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 0.9s\n", + "Downloading (5) \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 135.9kB libgomp 0.8s\n", + "Extracting (1) \u001b[33m━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 2 python_abi 0.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.0s\n", + "Downloading (5) \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 392.2kB libgomp 0.9s\n", + "Extracting (1) \u001b[33m━━━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 2 python_abi 0.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.1s\n", + "Downloading (5) \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 542.9kB libgomp 1.0s\n", + "Extracting ╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━\u001b[0m 3 0.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gca-certificates 149.5kB @ 130.2kB/s 1.1s\n", + "[+] 1.2s\n", + "Downloading (5) \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 895.2kB libgomp 1.1s\n", + "Extracting (1) ╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━\u001b[0m 3 ca-certificates 0.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.3s\n", + "Downloading (5) \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 1.3MB libstdcxx-ng 1.2s\n", + "Extracting (1) ╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━\u001b[0m 3 ca-certificates 0.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gjpeg 240.4kB @ 179.4kB/s 0.6s\n", + "libgomp 421.1kB @ 313.0kB/s 1.3s\n", + "[+] 1.4s\n", + "Downloading (5) \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 1.7MB libstdcxx-ng 1.3s\n", + "Extracting (3) ╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━\u001b[0m 3 ca-certificates 1.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gld_impl_linux-64 704.7kB @ 485.8kB/s 1.5s\n", + "[+] 1.5s\n", + "Downloading (5) \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 2.2MB libstdcxx-ng 1.4s\n", + "Extracting (3) ╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━\u001b[0m 4 jpeg 1.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibzlib 61.6kB @ 39.3kB/s 0.2s\n", + "pcre 259.4kB @ 164.3kB/s 0.4s\n", + "[+] 1.6s\n", + "Downloading (5) \u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 2.9MB libstdcxx-ng 1.5s\n", + "Extracting (5) ╸\u001b[33m━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━\u001b[0m 4 jpeg 1.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gbzip2 254.2kB @ 158.3kB/s 0.3s\n", + "[+] 1.7s\n", + "Downloading (5) \u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 3.4MB swig 1.6s\n", + "Extracting (6) ╸\u001b[33m━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━\u001b[0m 4 jpeg 1.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.8s\n", + "Downloading (5) \u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 4.5MB swig 1.7s\n", + "Extracting (5) ━╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━\u001b[0m 5 bzip2 1.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 1.9s\n", + "Downloading (5) \u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 6.6MB swig 1.8s\n", + "Extracting (3) ━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━\u001b[0m 7 bzip2 1.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gswig 1.3MB @ 661.4kB/s 0.5s\n", + "libstdcxx-ng 3.8MB @ 2.0MB/s 2.0s\n", + "[+] 2.0s\n", + "Downloading (5) \u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 8.6MB krb5 1.9s\n", + "Extracting (5) ━━╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━\u001b[0m 7 bzip2 1.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 2.1s\n", + "Downloading (5) \u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 9.5MB krb5 2.0s\n", + "Extracting (4) ━━╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━\u001b[0m 8 bzip2 1.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibblas 14.6kB @ 6.9kB/s 0.2s\n", + "krb5 1.3MB @ 621.7kB/s 0.5s\n", + "liblapack 14.5kB @ 6.7kB/s 0.2s\n", + "[+] 2.2s\n", + "Downloading (5) \u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━\u001b[0m 10.9MB cuda-nvrtc 2.1s\n", + "Extracting (5) ━━━╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━\u001b[0m 10 krb5 1.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gcuda-version 20.9kB @ 9.1kB/s 0.2s\n", + "[+] 2.3s\n", + "Downloading (5) \u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━\u001b[0m 12.0MB cuda-nvrtc 2.2s\n", + "Extracting (6) ━━━╸\u001b[33m━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 10 krb5 1.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibprotobuf 2.3MB @ 961.8kB/s 0.8s\n", + "[+] 2.4s\n", + "Downloading (5) ╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━\u001b[0m 14.6MB cuda-nvrtc 2.3s\n", + "Extracting (7) ━━━╸\u001b[33m━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 10 krb5 2.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gtk 3.3MB @ 1.4MB/s 0.8s\n", + "pip 1.4MB @ 581.9kB/s 0.2s\n", + "[+] 2.5s\n", + "Downloading (5) ╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━\u001b[0m 17.2MB cuda-nvrtc 2.4s\n", + "Extracting (9) ━━━╸\u001b[33m━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━\u001b[0m 10 krb5 2.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibgcc-ng 771.1kB @ 302.6kB/s 0.3s\n", + "c-ares 121.7kB @ 47.7kB/s 0.2s\n", + "[+] 2.6s\n", + "Downloading (5) ╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━\u001b[0m 19.2MB libabseil 2.5s\n", + "Extracting (9) ━━━━╸\u001b[33m━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m 12 libblas 2.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibuuid 33.6kB @ 12.8kB/s 0.2s\n", + "libabseil 1.1MB @ 417.8kB/s 0.2s\n", + "[+] 2.7s\n", + "Downloading (5) ━╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━\u001b[0m 22.2MB abseil-cpp 2.6s\n", + "Extracting (10) ━━━━╸\u001b[33m━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━\u001b[0m 13 libblas 2.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gabseil-cpp 12.8kB @ 4.7kB/s 0.2s\n", + "libpng 282.6kB @ 102.6kB/s 0.2s\n", + "[+] 2.8s\n", + "Downloading (5) ━╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━\u001b[0m 24.4MB cuda-nvrtc 2.7s\n", + "Extracting (11) ━━━━━╸\u001b[33m━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 14 libblas 2.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibcurl 347.4kB @ 121.5kB/s 0.2s\n", + "[+] 2.9s\n", + "Downloading (5) ━╸\u001b[33m━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━\u001b[0m 28.3MB cuda-nvrtc 2.8s\n", + "Extracting (9) ━━━━━━╸\u001b[33m━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━\u001b[0m 17 abseil-cpp 2.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gtzdata 117.6kB @ 40.2kB/s 0.2s\n", + "[+] 3.0s\n", + "Downloading (5) ━╸\u001b[33m━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━\u001b[0m 30.6MB cuda-nvrtc 2.9s\n", + "Extracting (10) ━━━━━━╸\u001b[33m━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 17 abseil-cpp 2.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.1s\n", + "Downloading (5) ━╸\u001b[33m━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━\u001b[0m 31.6MB cuda-nvrtc 3.0s\n", + "Extracting (10) ━━━━━━╸\u001b[33m━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 17 abseil-cpp 2.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.2s\n", + "Downloading (5) ━╸\u001b[33m━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━\u001b[0m 32.2MB libopenblas 3.1s\n", + "Extracting (10) ━━━━━━╸\u001b[33m━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 17 abseil-cpp 2.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.3s\n", + "Downloading (5) ━╸\u001b[33m━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━\u001b[0m 32.3MB libopenblas 3.2s\n", + "Extracting (9) ━━━━━━━╸\u001b[33m━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 18 c-ares 2.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gsnappy 38.9kB @ 11.6kB/s 0.4s\n", + "[+] 3.4s\n", + "Downloading (5) ━╸\u001b[33m━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 33.7MB libopenblas 3.3s\n", + "Extracting (7) ━━━━━━━━╸\u001b[33m━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 21 abseil-cpp 3.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gsetuptools 1.0MB @ 304.8kB/s 0.7s\n", + "[+] 3.5s\n", + "Downloading (5) ━━╸\u001b[33m━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 35.1MB libopenblas 3.4s\n", + "Extracting (7) ━━━━━━━━╸\u001b[33m━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 22 abseil-cpp 3.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.6s\n", + "Downloading (5) ━━╸\u001b[33m━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 35.3MB ncurses 3.5s\n", + "Extracting (6) ━━━━━━━━━╸\u001b[33m━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 23 abseil-cpp 3.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.7s\n", + "Downloading (5) ━━╸\u001b[33m━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 35.7MB ncurses 3.6s\n", + "Extracting (5) ━━━━━━━━━╸\u001b[33m━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 24 abseil-cpp 3.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 3.8s\n", + "Downloading (5) ━━╸\u001b[33m━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 37.7MB ncurses 3.7s\n", + "Extracting (2) ━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 27 setuptools 3.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gncurses 884.4kB @ 232.3kB/s 0.5s\n", + "[+] 3.9s\n", + "Downloading (5) ━━╸\u001b[33m━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 40.0MB cuda-nvrtc 3.8s\n", + "Extracting (2) ━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 28 setuptools 3.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.0s\n", + "Downloading (5) ━━╸\u001b[33m━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m 40.2MB cuda-nvrtc 3.9s\n", + "Extracting (1) ━━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 29 ncurses 3.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Greadline 281.5kB @ 70.1kB/s 0.6s\n", + "libopenblas 5.5MB @ 1.4MB/s 1.4s\n", + "[+] 4.1s\n", + "Downloading (5) ━━╸\u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 43.6MB cuda-nvrtc 4.0s\n", + "Extracting (3) ━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 29 ncurses 3.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.2s\n", + "Downloading (5) ━━╸\u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 43.6MB cuda-nvrtc 4.1s\n", + "Extracting (3) ━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 29 ncurses 3.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibcblas 14.5kB @ 3.4kB/s 0.2s\n", + "libsqlite 846.0kB @ 198.9kB/s 0.5s\n", + "[+] 4.3s\n", + "Downloading (5) ━━━╸\u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 44.9MB libcufft 4.2s\n", + "Extracting (4) ━━━━━━━━━━━━╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 30 libcblas 3.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.4s\n", + "Downloading (5) ━━━╸\u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 44.9MB libcufft 4.3s\n", + "Extracting (3) ━━━━━━━━━━━━╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 31 libcblas 4.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.5s\n", + "Downloading (5) ━━━╸\u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 45.9MB libcufft 4.4s\n", + "Extracting (2) ━━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 32 libcblas 4.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.6s\n", + "Downloading (5) ━━━╸\u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 45.9MB libcufft 4.5s\n", + "Extracting (2) ━━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━━\u001b[0m 32 libcblas 4.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.7s\n", + "Downloading (5) ━━━╸\u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━━\u001b[0m 45.9MB libgfortran5 4.6s\n", + "Extracting ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 34 4.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 4.8s\n", + "Downloading (5) ━━━╸\u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 47.9MB libgfortran5 4.7s\n", + "Extracting ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 34 4.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibgfortran5 1.4MB @ 298.5kB/s 0.6s\n", + "cuda-nvrtc 17.8MB @ 3.6MB/s 2.7s\n", + "[+] 4.9s\n", + "Downloading (5) ━━━╸\u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 51.9MB libcufft 4.8s\n", + "Extracting (2) ━━━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 34 cuda-nvrtc 4.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.0s\n", + "Downloading (5) ━━━━╸\u001b[33m━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m 55.5MB libcufft 4.9s\n", + "Extracting (2) ━━━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 34 cuda-nvrtc 4.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.1s\n", + "Downloading (5) ━━━━╸\u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 57.2MB libcufft 5.0s\n", + "Extracting (2) ━━━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 34 cuda-nvrtc 4.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.2s\n", + "Downloading (5) ━━━━╸\u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 58.6MB libcufft 5.1s\n", + "Extracting (2) ━━━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 34 cuda-nvrtc 4.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.3s\n", + "Downloading (5) ━━━━╸\u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 59.1MB libnghttp2 5.2s\n", + "Extracting (1) ━━━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 35 cuda-nvrtc 4.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibnghttp2 622.7kB @ 116.1kB/s 0.5s\n", + "[+] 5.4s\n", + "Downloading (5) ━━━━╸\u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 59.2MB libcufft 5.3s\n", + "Extracting (2) ━━━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 35 cuda-nvrtc 4.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.5s\n", + "Downloading (5) ━━━━╸\u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 60.2MB libcufft 5.4s\n", + "Extracting (1) ━━━━━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 36 libnghttp2 4.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.6s\n", + "Downloading (5) ━━━━╸\u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 60.7MB libcufft 5.5s\n", + "Extracting (1) ━━━━━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 36 libnghttp2 5.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 5.7s\n", + "Downloading (5) ━━━━╸\u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 61.3MB libcufft 5.6s\n", + "Extracting (1) ━━━━━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━━━━\u001b[0m 36 libnghttp2 5.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gopenssl 2.0MB @ 339.7kB/s 1.5s\n", + "wheel 57.9kB @ 10.0kB/s 0.4s\n", + "[+] 5.8s\n", + "Downloading (5) ━━━━╸\u001b[33m━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━━━━\u001b[0m 64.5MB openmm 5.7s\n", + "Extracting (2) ━━━━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 37 openssl 5.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gsqlite 836.6kB @ 144.2kB/s 0.9s\n", + "[+] 5.9s\n", + "Downloading (5) ━━━━━╸\u001b[33m━━━━━━━━━━━╸\u001b[0m\u001b[90m━━━━━\u001b[0m 67.6MB openmm 5.8s\n", + "Extracting (3) ━━━━━━━━━━━━━━━╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 37 openssl 5.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gzlib 92.8kB @ 15.5kB/s 0.2s\n", + "giflib 77.4kB @ 12.9kB/s 0.2s\n", + "[+] 6.0s\n", + "Downloading (5) ━━━━━╸\u001b[33m━━━━━━━━━━━━━━━━━\u001b[0m 68.9MB openmm 5.9s\n", + "Extracting (5) ━━━━━━━━━━━━━━━╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 37 openssl 5.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.1s\n", + "Downloading (5) ━━━━━╸\u001b[33m━━━━━━━━━━━━━━━━━\u001b[0m 70.5MB openmm 6.0s\n", + "Extracting (5) ━━━━━━━━━━━━━━━╸\u001b[33m━━╸\u001b[0m\u001b[90m━━━━\u001b[0m 37 openssl 5.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.2s\n", + "Downloading (5) ━━━━━╸\u001b[33m━━━━━━━━━━━━━━━━━\u001b[0m 70.6MB python 6.1s\n", + "Extracting (4) ━━━━━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━━\u001b[0m 38 sqlite 5.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibnsl 33.4kB @ 5.4kB/s 0.2s\n", + "[+] 6.3s\n", + "Downloading (5) ━━━━━╸\u001b[33m━━━━━━━━━━━━━━━━━\u001b[0m 70.8MB python 6.2s\n", + "Extracting (3) ━━━━━━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━\u001b[0m 40 giflib 5.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.4s\n", + "Downloading (5) ━━━━━╸\u001b[33m━━━━━━━━━━━━━━━━━\u001b[0m 71.7MB python 6.3s\n", + "Extracting (3) ━━━━━━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━\u001b[0m 40 giflib 5.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibgfortran-ng 23.7kB @ 3.7kB/s 0.2s\n", + "[+] 6.5s\n", + "Downloading (5) ━━━━━╸\u001b[33m━━━━━━━━━━━━━━━━━\u001b[0m 72.7MB python 6.4s\n", + "Extracting (2) ━━━━━━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━━\u001b[0m 42 libgfortran-ng 5.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.6s\n", + "Downloading (5) ━━━━━╸\u001b[33m━━━━━━━━━━━━━━━━━\u001b[0m 75.2MB re2 6.5s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━━━\u001b[0m 43 libgfortran-ng 6.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gopenmm 11.1MB @ 1.7MB/s 3.8s\n", + "[+] 6.7s\n", + "Downloading (5) ━━━━━╸\u001b[33m━━━━━━━━━━━━━━━━━\u001b[0m 75.5MB re2 6.6s\n", + "Extracting (2) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━\u001b[0m 43 libgfortran-ng 6.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.8s\n", + "Downloading (5) ━━━━━╸\u001b[33m━━━━━━━━━━━━━━━━━\u001b[0m 75.5MB re2 6.7s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━\u001b[0m 44 openmm 6.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 6.9s\n", + "Downloading (5) ━━━━━━╸\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 76.2MB re2 6.8s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━\u001b[0m 44 openmm 6.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gre2 196.0kB @ 28.3kB/s 0.5s\n", + "[+] 7.0s\n", + "Downloading (5) ━━━━━━╸\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 79.0MB grpc-cpp 6.9s\n", + "Extracting (2) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━\u001b[0m 44 openmm 6.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.1s\n", + "Downloading (5) ━━━━━━╸\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 79.0MB grpc-cpp 7.0s\n", + "Extracting (2) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━\u001b[0m 44 openmm 6.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.2s\n", + "Downloading (5) ━━━━━━╸\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 80.5MB grpc-cpp 7.1s\n", + "Extracting (2) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━━\u001b[0m 44 re2 6.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.3s\n", + "Downloading (5) ━━━━━━╸\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 80.5MB grpc-cpp 7.2s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 46 6.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.4s\n", + "Downloading (5) ━━━━━━╸\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 83.2MB libcufft 7.3s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 46 6.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.5s\n", + "Downloading (5) ━━━━━━╸\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 83.2MB libcufft 7.4s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 46 6.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.6s\n", + "Downloading (5) ━━━━━━╸\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 83.3MB libcufft 7.5s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 46 6.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.7s\n", + "Downloading (5) ━━━━━━╸\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 84.0MB libcufft 7.6s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 46 6.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.8s\n", + "Downloading (5) ━━━━━━╸\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 84.0MB libtensorflow_cc 7.7s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 46 6.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 7.9s\n", + "Downloading (5) ━━━━━━╸\u001b[33m━━━━━━━━━━━━━━━━\u001b[0m 84.0MB libtensorflow_cc 7.8s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 46 6.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.0s\n", + "Downloading (5) ━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 86.1MB libtensorflow_cc 7.9s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 46 6.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.1s\n", + "Downloading (5) ━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 91.5MB libtensorflow_cc 8.0s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 46 6.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.2s\n", + "Downloading (5) ━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 96.2MB numpy 8.1s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 46 6.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.3s\n", + "Downloading (5) ━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━━\u001b[0m 97.8MB numpy 8.2s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 46 6.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.4s\n", + "Downloading (5) ━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━\u001b[0m 98.9MB numpy 8.3s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 46 6.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.5s\n", + "Downloading (5) ━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━\u001b[0m 98.9MB numpy 8.4s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 46 6.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.6s\n", + "Downloading (5) ━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━\u001b[0m 99.5MB python 8.5s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 46 6.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.7s\n", + "Downloading (5) ━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━\u001b[0m 99.8MB python 8.6s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 46 6.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.8s\n", + "Downloading (5) ━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━\u001b[0m 100.3MB python 8.7s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 46 6.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 8.9s\n", + "Downloading (5) ━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━\u001b[0m 100.4MB python 8.8s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 46 6.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.0s\n", + "Downloading (5) ━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━\u001b[0m 102.5MB grpc-cpp 8.9s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 46 6.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.1s\n", + "Downloading (5) ━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━\u001b[0m 102.6MB grpc-cpp 9.0s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 46 6.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gnumpy 6.9MB @ 747.8kB/s 2.3s\n", + "[+] 9.2s\n", + "Downloading (4) ━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━\u001b[0m 104.2MB grpc-cpp 9.1s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━\u001b[0m 46 numpy 6.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Ggrpc-cpp 5.0MB @ 540.7kB/s 2.6s\n", + "[+] 9.3s\n", + "Downloading (3) ━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━\u001b[0m 105.4MB libcufft 9.2s\n", + "Extracting (2) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━\u001b[0m 46 numpy 6.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.4s\n", + "Downloading (3) ━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━━\u001b[0m 107.5MB libcufft 9.3s\n", + "Extracting (2) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━\u001b[0m 46 numpy 6.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.5s\n", + "Downloading (3) ━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━\u001b[0m 111.8MB libcufft 9.4s\n", + "Extracting (2) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━\u001b[0m 46 numpy 7.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.6s\n", + "Downloading (3) ━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━\u001b[0m 113.2MB libcufft 9.5s\n", + "Extracting (2) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━\u001b[0m 46 grpc-cpp 7.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.7s\n", + "Downloading (3) ━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━\u001b[0m 114.7MB libtensorflow_cc 9.6s\n", + "Extracting (2) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━\u001b[0m 46 grpc-cpp 7.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.8s\n", + "Downloading (3) ━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━━\u001b[0m 116.3MB libtensorflow_cc 9.7s\n", + "Extracting (2) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━╸\u001b[0m\u001b[90m━\u001b[0m 46 grpc-cpp 7.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 9.9s\n", + "Downloading (3) ━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━\u001b[0m 117.9MB libtensorflow_cc 9.8s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━\u001b[0m 47 grpc-cpp 7.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.0s\n", + "Downloading (3) ━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━\u001b[0m 118.8MB libtensorflow_cc 9.9s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━\u001b[0m 47 grpc-cpp 7.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.1s\n", + "Downloading (3) ━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━\u001b[0m 118.8MB python 10.0s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━\u001b[0m 47 grpc-cpp 7.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.2s\n", + "Downloading (3) ━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━\u001b[0m 119.2MB python 10.1s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━\u001b[0m 47 grpc-cpp 7.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.3s\n", + "Downloading (3) ━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━\u001b[0m 120.0MB python 10.2s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━\u001b[0m 47 grpc-cpp 7.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.4s\n", + "Downloading (3) ━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━\u001b[0m 120.3MB python 10.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━\u001b[0m 47 grpc-cpp 7.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.5s\n", + "Downloading (3) ━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━\u001b[0m 122.0MB libcufft 10.4s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m╸\u001b[0m\u001b[90m━\u001b[0m 47 grpc-cpp 8.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.6s\n", + "Downloading (3) ━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━\u001b[0m 123.0MB libcufft 10.5s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 48 8.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.7s\n", + "Downloading (3) ━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━\u001b[0m 123.0MB libcufft 10.6s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 48 8.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.8s\n", + "Downloading (3) ━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━\u001b[0m 123.6MB libcufft 10.7s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 48 8.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 10.9s\n", + "Downloading (3) ━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━━\u001b[0m 126.9MB libtensorflow_cc 10.8s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 48 8.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.0s\n", + "Downloading (3) ━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━\u001b[0m 130.6MB libtensorflow_cc 10.9s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 48 8.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.1s\n", + "Downloading (3) ━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━\u001b[0m 132.3MB libtensorflow_cc 11.0s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 48 8.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Gpython 21.9MB @ 2.0MB/s 5.3s\n", + "[+] 11.2s\n", + "Downloading (2) ━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━\u001b[0m 133.5MB libtensorflow_cc 11.1s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 48 python 8.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.3s\n", + "Downloading (2) ━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━\u001b[0m 134.4MB libcufft 11.2s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 48 python 8.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.4s\n", + "Downloading (2) ━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━\u001b[0m 135.4MB libcufft 11.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 48 python 8.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.5s\n", + "Downloading (2) ━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━\u001b[0m 136.4MB libcufft 11.4s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 48 python 8.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.6s\n", + "Downloading (2) ━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━\u001b[0m 137.5MB libcufft 11.5s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 48 python 8.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.7s\n", + "Downloading (2) ━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━━\u001b[0m 138.6MB libtensorflow_cc 11.6s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 48 python 8.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.8s\n", + "Downloading (2) ━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━\u001b[0m 139.8MB libtensorflow_cc 11.7s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 48 python 8.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 11.9s\n", + "Downloading (2) ━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━\u001b[0m 141.2MB libtensorflow_cc 11.8s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 48 python 8.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 12.0s\n", + "Downloading (2) ━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━\u001b[0m 142.6MB libtensorflow_cc 11.9s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 8.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 12.1s\n", + "Downloading (2) ━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━\u001b[0m 144.2MB libcufft 12.0s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 8.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 12.2s\n", + "Downloading (2) ━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━\u001b[0m 145.9MB libcufft 12.1s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 8.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 12.3s\n", + "Downloading (2) ━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━\u001b[0m 147.8MB libcufft 12.2s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 8.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 12.4s\n", + "Downloading (2) ━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━\u001b[0m 148.2MB libcufft 12.3s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 8.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 12.5s\n", + "Downloading (2) ━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━\u001b[0m 148.2MB libtensorflow_cc 12.4s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 8.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 12.6s\n", + "Downloading (2) ━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━━\u001b[0m 149.2MB libtensorflow_cc 12.5s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 8.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 12.7s\n", + "Downloading (2) ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━\u001b[0m 150.3MB libtensorflow_cc 12.6s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 8.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 12.8s\n", + "Downloading (2) ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━\u001b[0m 150.5MB libtensorflow_cc 12.7s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 8.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 12.9s\n", + "Downloading (2) ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━\u001b[0m 150.5MB libcufft 12.8s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 8.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.0s\n", + "Downloading (2) ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━\u001b[0m 153.4MB libcufft 12.9s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 8.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.1s\n", + "Downloading (2) ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━\u001b[0m 154.9MB libcufft 13.0s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 8.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.2s\n", + "Downloading (2) ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━\u001b[0m 158.1MB libcufft 13.1s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 8.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.3s\n", + "Downloading (2) ━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━━\u001b[0m 160.0MB libtensorflow_cc 13.2s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 8.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.4s\n", + "Downloading (2) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 161.8MB libtensorflow_cc 13.3s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 8.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.5s\n", + "Downloading (2) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 161.8MB libtensorflow_cc 13.4s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 8.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.6s\n", + "Downloading (2) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 161.8MB libtensorflow_cc 13.5s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 8.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.7s\n", + "Downloading (2) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 162.0MB libcufft 13.6s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 8.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.8s\n", + "Downloading (2) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 162.0MB libcufft 13.7s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 8.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 13.9s\n", + "Downloading (2) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 162.0MB libcufft 13.8s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 8.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.0s\n", + "Downloading (2) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 162.0MB libcufft 13.9s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 8.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.1s\n", + "Downloading (2) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 164.0MB libtensorflow_cc 14.0s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 8.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.2s\n", + "Downloading (2) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 165.5MB libtensorflow_cc 14.1s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 8.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.3s\n", + "Downloading (2) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 167.3MB libtensorflow_cc 14.2s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 8.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.4s\n", + "Downloading (2) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 169.3MB libtensorflow_cc 14.3s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 8.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.5s\n", + "Downloading (2) ━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━━\u001b[0m 171.4MB libcufft 14.4s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 8.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.6s\n", + "Downloading (2) ━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━\u001b[0m 173.5MB libcufft 14.5s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 8.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.7s\n", + "Downloading (2) ━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━\u001b[0m 175.7MB libcufft 14.6s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 8.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibcufft 44.8MB @ 3.0MB/s 10.8s\n", + "[+] 14.8s\n", + "Downloading (1) ━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━\u001b[0m 178.1MB libtensorflow_cc 14.7s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 libcufft 8.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 14.9s\n", + "Downloading (1) ━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━\u001b[0m 179.3MB libtensorflow_cc 14.8s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 libcufft 9.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.0s\n", + "Downloading (1) ━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━━\u001b[0m 180.6MB libtensorflow_cc 14.9s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 libcufft 9.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.1s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 182.0MB libtensorflow_cc 15.0s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 libcufft 9.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.2s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 183.5MB libtensorflow_cc 15.1s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 libcufft 9.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.3s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 185.2MB libtensorflow_cc 15.2s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 libcufft 9.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.4s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 186.1MB libtensorflow_cc 15.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 libcufft 9.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.5s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 186.1MB libtensorflow_cc 15.4s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 libcufft 9.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.6s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 186.2MB libtensorflow_cc 15.5s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 libcufft 9.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.7s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 188.1MB libtensorflow_cc 15.6s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 49 libcufft 9.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.8s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 189.4MB libtensorflow_cc 15.7s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 15.9s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 191.0MB libtensorflow_cc 15.8s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.0s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━━\u001b[0m 192.7MB libtensorflow_cc 15.9s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.1s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 194.4MB libtensorflow_cc 16.0s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.2s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 196.0MB libtensorflow_cc 16.1s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.3s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 197.7MB libtensorflow_cc 16.2s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.4s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 197.7MB libtensorflow_cc 16.3s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.5s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 197.7MB libtensorflow_cc 16.4s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.6s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 199.3MB libtensorflow_cc 16.5s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.7s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 200.3MB libtensorflow_cc 16.6s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.8s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 201.7MB libtensorflow_cc 16.7s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 16.9s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━━\u001b[0m 203.1MB libtensorflow_cc 16.8s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.0s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 204.8MB libtensorflow_cc 16.9s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.1s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 206.5MB libtensorflow_cc 17.0s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.2s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 208.1MB libtensorflow_cc 17.1s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.3s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 209.8MB libtensorflow_cc 17.2s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.4s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 211.4MB libtensorflow_cc 17.3s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.5s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 212.3MB libtensorflow_cc 17.4s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.6s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 212.3MB libtensorflow_cc 17.5s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.7s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━━\u001b[0m 212.4MB libtensorflow_cc 17.6s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.8s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 214.1MB libtensorflow_cc 17.7s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 17.9s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 215.5MB libtensorflow_cc 17.8s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.0s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 217.5MB libtensorflow_cc 17.9s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.1s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 219.3MB libtensorflow_cc 18.0s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.2s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 221.4MB libtensorflow_cc 18.1s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.3s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 222.1MB libtensorflow_cc 18.2s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.4s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 222.1MB libtensorflow_cc 18.3s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.5s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 222.8MB libtensorflow_cc 18.4s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.6s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 223.9MB libtensorflow_cc 18.5s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.7s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━━\u001b[0m 225.4MB libtensorflow_cc 18.6s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.8s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 226.6MB libtensorflow_cc 18.7s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 18.9s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 228.5MB libtensorflow_cc 18.8s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.0s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 230.3MB libtensorflow_cc 18.9s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.1s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 232.1MB libtensorflow_cc 19.0s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.2s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 233.1MB libtensorflow_cc 19.1s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.3s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 233.1MB libtensorflow_cc 19.2s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.4s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━━\u001b[0m 234.5MB libtensorflow_cc 19.3s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.5s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 235.5MB libtensorflow_cc 19.4s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.6s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 236.7MB libtensorflow_cc 19.5s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.7s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 238.8MB libtensorflow_cc 19.6s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.8s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 240.9MB libtensorflow_cc 19.7s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 19.9s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 241.9MB libtensorflow_cc 19.8s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 20.0s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 243.0MB libtensorflow_cc 19.9s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 20.1s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 243.0MB libtensorflow_cc 20.0s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 20.2s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 243.5MB libtensorflow_cc 20.1s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 20.3s\n", + "Downloading (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 243.6MB libtensorflow_cc 20.2s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0Glibtensorflow_cc 105.3MB @ 5.2MB/s 14.3s\n", + "[+] 20.4s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 9.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 20.5s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 10.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 20.6s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 10.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 20.7s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 10.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 20.8s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 10.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 20.9s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 10.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 21.0s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 10.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 21.1s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 10.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 21.2s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 10.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 21.3s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 10.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 21.4s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 10.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 21.5s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 11.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 21.6s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 11.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 21.7s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 11.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 21.8s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 11.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 21.9s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 11.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 22.0s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 11.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 22.1s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 11.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 22.2s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 11.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 22.3s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 11.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 22.4s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 11.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 22.5s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 12.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 22.6s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 12.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 22.7s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 12.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 22.8s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 12.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 22.9s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 12.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 23.0s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 12.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 23.1s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 12.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 23.2s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 12.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 23.3s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 12.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 23.4s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 12.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 23.5s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 13.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 23.6s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 13.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 23.7s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 13.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 23.8s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 13.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 23.9s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 13.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 24.0s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 13.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 24.1s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 13.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 24.2s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 13.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 24.3s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 13.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 24.4s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 13.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 24.5s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 14.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 24.6s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 14.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 24.7s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 14.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 24.8s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 14.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 24.9s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 14.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 25.0s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 14.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 25.1s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 14.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 25.2s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 14.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 25.3s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 14.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 25.4s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 14.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 25.5s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 15.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 25.6s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 15.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 25.7s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 15.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 25.8s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 15.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 25.9s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 15.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 26.0s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 15.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 26.1s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 15.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 26.2s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 15.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 26.3s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 15.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 26.4s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 15.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 26.5s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 16.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 26.6s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 16.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 26.7s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 16.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 26.8s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 16.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 26.9s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 16.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 27.0s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 16.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 27.1s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 16.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 27.2s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 16.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 27.3s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 16.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 27.4s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 16.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 27.5s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 17.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 27.6s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 17.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 27.7s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 17.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 27.8s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 17.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 27.9s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 17.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 28.0s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 17.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 28.1s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 17.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 28.2s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 17.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 28.3s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 17.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 28.4s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 17.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 28.5s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 18.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 28.6s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 18.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 28.7s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 18.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 28.8s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 18.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 28.9s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 18.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 29.0s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 18.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 29.1s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 18.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 29.2s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 18.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 29.3s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 18.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 29.4s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 18.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 29.5s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 19.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 29.6s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 19.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 29.7s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 19.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 29.8s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 19.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 29.9s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 19.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 30.0s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 19.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 30.1s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 19.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 30.2s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 19.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 30.3s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 19.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 30.4s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 19.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 30.5s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 20.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 30.6s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 20.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 30.7s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 20.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 30.8s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 20.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 30.9s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 20.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 31.0s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 20.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 31.1s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 20.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 31.2s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 20.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 31.3s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 20.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 31.4s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 20.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 31.5s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 21.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 31.6s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 21.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 31.7s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 21.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 31.8s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 21.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 31.9s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 21.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 32.0s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 21.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 32.1s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 21.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 32.2s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 21.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 32.3s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 21.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 32.4s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 21.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 32.5s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 22.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 32.6s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 22.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 32.7s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 22.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 32.8s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 22.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 32.9s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 22.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 33.0s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 22.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 33.1s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 22.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 33.2s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 22.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 33.3s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 22.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 33.4s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 22.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 33.5s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 23.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 33.6s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 23.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 33.7s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 23.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 33.8s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 23.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 33.9s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 23.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 34.0s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 23.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 34.1s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 23.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 34.2s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 23.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 34.3s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 23.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 34.4s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 23.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 34.5s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 24.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 34.6s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 24.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 34.7s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 24.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 34.8s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 24.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 34.9s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 24.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 35.0s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 24.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 35.1s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 24.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 35.2s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 24.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 35.3s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 24.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 35.4s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 24.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 35.5s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 25.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 35.6s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 25.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 35.7s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 25.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 35.8s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 25.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 35.9s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 25.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 36.0s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 25.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 36.1s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 25.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 36.2s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 25.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 36.3s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 25.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 36.4s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 25.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 36.5s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 26.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 36.6s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 26.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 36.7s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 26.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 36.8s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 26.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 36.9s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 26.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 37.0s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 26.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 37.1s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 26.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 37.2s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 26.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 37.3s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 26.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 37.4s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 26.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 37.5s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 27.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 37.6s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 27.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 37.7s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 27.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 37.8s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 27.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 37.9s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 27.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 38.0s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 27.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 38.1s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 27.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 38.2s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 27.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 38.3s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 27.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 38.4s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 27.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 38.5s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 28.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 38.6s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 28.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 38.7s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 28.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 38.8s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 28.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 38.9s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 28.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 39.0s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 28.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 39.1s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 28.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 39.2s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 28.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 39.3s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 28.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 39.4s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 28.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 39.5s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 29.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 39.6s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 29.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 39.7s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 29.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 39.8s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 29.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 39.9s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 29.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 40.0s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 29.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 40.1s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 29.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 40.2s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 29.7s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 40.3s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 29.8s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 40.4s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 29.9s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 40.5s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 30.0s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 40.6s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 30.1s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 40.7s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 30.2s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 40.8s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 30.3s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 40.9s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 30.4s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 41.0s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting (1) ━━━━━━━━━━━━━━━━━━━━━╸\u001b[33m━\u001b[0m 50 libtensorflow_cc 30.5s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G[+] 41.1s\n", + "Downloading ━━━━━━━━━━━━━━━━━━━━━━━ 245.1MB 20.3s\n", + "Extracting ━━━━━━━━━━━━━━━━━━━━━━━ 51 30.6s\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[0G\u001b[?25h\n", + "Downloading and Extracting Packages\n", + "\n", + "Preparing transaction: done\n", + "Verifying transaction: done\n", + "Executing transaction: done\n", + "\n", + "To activate this environment, use\n", + "\n", + " $ mamba activate dmff_omm\n", + "\n", + "To deactivate an active environment, use\n", + "\n", + " $ mamba deactivate\n", + "\n", + "Run 'mamba init' to be able to run mamba activate/deactivate\n", + "and start a new shell session. Or use conda to activate/deactivate.\n", + "\n" + ] + } + ], + "source": [ + "!mamba create -n dmff_omm -c conda-forge -y python=3.9 openmm libtensorflow_cc=2.9.1 swig=4.0.1 setuptools=59.5.0\n", + "!mamba activate dmff_omm" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "23491ef9-77c7-45b8-b71e-05452c7ba798", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "--2023-11-09 06:26:46-- https://github.com/tensorflow/tensorflow/archive/refs/tags/v2.9.1.tar.gz\n", + "Resolving ga.dp.tech (ga.dp.tech)... 10.255.254.7, 10.255.254.37, 10.255.254.18\n", + "Connecting to ga.dp.tech (ga.dp.tech)|10.255.254.7|:8118... connected.\n", + "Proxy request sent, awaiting response... 302 Found\n", + "Location: https://codeload.github.com/tensorflow/tensorflow/tar.gz/refs/tags/v2.9.1 [following]\n", + "--2023-11-09 06:26:47-- https://codeload.github.com/tensorflow/tensorflow/tar.gz/refs/tags/v2.9.1\n", + "Connecting to ga.dp.tech (ga.dp.tech)|10.255.254.7|:8118... connected.\n", + "Proxy request sent, awaiting response... 200 OK\n", + "Length: unspecified [application/x-gzip]\n", + "Saving to: ‘v2.9.1.tar.gz’\n", + "\n", + "v2.9.1.tar.gz [ <=>] 63.57M 5.04MB/s in 14s \n", + "\n", + "2023-11-09 06:27:02 (4.66 MB/s) - ‘v2.9.1.tar.gz’ saved [66654318]\n", + "\n" + ] + } + ], + "source": [ + "!wget https://github.com/tensorflow/tensorflow/archive/refs/tags/v2.9.1.tar.gz\n", + "!tar -xf v2.9.1.tar.gz --no-same-owner\n", + "!cp -r tensorflow-2.9.1/tensorflow/c /opt/mamba/envs/dmff_omm/include/tensorflow" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "33b4746d-9d70-4304-ba2f-27b481ed2407", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Cloning into 'cppflow'...\n", + "remote: Enumerating objects: 1011, done.\u001b[K\n", + "remote: Counting objects: 100% (299/299), done.\u001b[K\n", + "remote: Compressing objects: 100% (138/138), done.\u001b[K\n", + "remote: Total 1011 (delta 182), reused 237 (delta 157), pack-reused 712\u001b[K\n", + "Receiving objects: 100% (1011/1011), 8.70 MiB | 5.32 MiB/s, done.\n", + "Resolving deltas: 100% (483/483), done.\n" + ] + } + ], + "source": [ + "!git clone https://github.com/serizba/cppflow.git\n", + "!cd /data/cppflow && git apply /data/DMFF/backend/openmm_dmff_plugin/tests/cppflow_empty_constructor.patch\n", + "!mkdir /opt/mamba/envs/dmff_omm/include/cppflow\n", + "!cd /data/cppflow && cp -r include/cppflow /opt/mamba/envs/dmff_omm/include/" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "d07d498d-536d-4ed8-8fa8-f012fd8d6281", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-- The C compiler identification is GNU 9.4.0\n", + "-- The CXX compiler identification is GNU 9.4.0\n", + "-- Check for working C compiler: /usr/bin/cc\n", + "-- Check for working C compiler: /usr/bin/cc -- works\n", + "-- Detecting C compiler ABI info\n", + "-- Detecting C compiler ABI info - done\n", + "-- Detecting C compile features\n", + "-- Detecting C compile features - done\n", + "-- Check for working CXX compiler: /usr/bin/c++\n", + "-- Check for working CXX compiler: /usr/bin/c++ -- works\n", + "-- Detecting CXX compiler ABI info\n", + "-- Detecting CXX compiler ABI info - done\n", + "-- Detecting CXX compile features\n", + "-- Detecting CXX compile features - done\n", + "-- Looking for pthread.h\n", + "-- Looking for pthread.h - found\n", + "-- Performing Test CMAKE_HAVE_LIBC_PTHREAD\n", + "-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed\n", + "-- Looking for pthread_create in pthreads\n", + "-- Looking for pthread_create in pthreads - not found\n", + "-- Looking for pthread_create in pthread\n", + "-- Looking for pthread_create in pthread - found\n", + "-- Found Threads: TRUE \n", + "-- CUDA found, building CUDA implementation\n", + "-- Python and SWIG found, building Python wrappers\n", + "-- Configuring done\n", + "-- Generating done\n", + "-- Build files have been written to: /data/DMFF/backend/openmm_dmff_plugin/build\n", + "\u001b[35m\u001b[1mScanning dependencies of target OpenMMDMFF\u001b[0m\n", + "[ 5%] \u001b[32mBuilding CXX object CMakeFiles/OpenMMDMFF.dir/openmmapi/src/DMFFForce.cpp.o\u001b[0m\n", + "[ 10%] \u001b[32mBuilding CXX object CMakeFiles/OpenMMDMFF.dir/openmmapi/src/DMFFForceImpl.cpp.o\u001b[0m\n", + "[ 15%] \u001b[32mBuilding CXX object CMakeFiles/OpenMMDMFF.dir/serialization/src/DMFFForceProxy.cpp.o\u001b[0m\n", + "[ 21%] \u001b[32mBuilding CXX object CMakeFiles/OpenMMDMFF.dir/serialization/src/DMFFSerializationProxyRegistration.cpp.o\u001b[0m\n", + "[ 26%] \u001b[32m\u001b[1mLinking CXX shared library libOpenMMDMFF.so\u001b[0m\n", + "[ 26%] Built target OpenMMDMFF\n", + "\u001b[35m\u001b[1mScanning dependencies of target TestSerializeDMFFForce\u001b[0m\n", + "[ 31%] \u001b[32mBuilding CXX object serialization/tests/CMakeFiles/TestSerializeDMFFForce.dir/TestSerializeDMFFForce.cpp.o\u001b[0m\n", + "[ 36%] \u001b[32m\u001b[1mLinking CXX executable ../../TestSerializeDMFFForce\u001b[0m\n", + "[ 36%] Built target TestSerializeDMFFForce\n", + "\u001b[35m\u001b[1mScanning dependencies of target OpenMMDMFFReference\u001b[0m\n", + "[ 42%] \u001b[32mBuilding CXX object platforms/reference/CMakeFiles/OpenMMDMFFReference.dir/src/ReferenceDMFFKernelFactory.cpp.o\u001b[0m\n", + "[ 47%] \u001b[32mBuilding CXX object platforms/reference/CMakeFiles/OpenMMDMFFReference.dir/src/ReferenceDMFFKernels.cpp.o\u001b[0m\n", + "[ 52%] \u001b[32m\u001b[1mLinking CXX shared library ../../libOpenMMDMFFReference.so\u001b[0m\n", + "[ 52%] Built target OpenMMDMFFReference\n", + "\u001b[35m\u001b[1mScanning dependencies of target TestDMFFPlugin4Reference\u001b[0m\n", + "[ 57%] \u001b[32mBuilding CXX object platforms/reference/tests/CMakeFiles/TestDMFFPlugin4Reference.dir/TestDMFFPlugin4Reference.cpp.o\u001b[0m\n", + "[ 63%] \u001b[32m\u001b[1mLinking CXX executable ../../../TestDMFFPlugin4Reference\u001b[0m\n", + "[ 63%] Built target TestDMFFPlugin4Reference\n", + "[ 68%] \u001b[34m\u001b[1mGenerating src/CudaDMFFKernelSources.cpp, src/CudaDMFFKernelSources.h\u001b[0m\n", + "\u001b[35m\u001b[1mScanning dependencies of target OpenMMDMFFCUDA\u001b[0m\n", + "[ 73%] \u001b[32mBuilding CXX object platforms/cuda/CMakeFiles/OpenMMDMFFCUDA.dir/src/CudaDMFFKernelFactory.cpp.o\u001b[0m\n", + "[ 78%] \u001b[32mBuilding CXX object platforms/cuda/CMakeFiles/OpenMMDMFFCUDA.dir/src/CudaDMFFKernels.cpp.o\u001b[0m\n", + "[ 84%] \u001b[32mBuilding CXX object platforms/cuda/CMakeFiles/OpenMMDMFFCUDA.dir/src/CudaDMFFKernelSources.cpp.o\u001b[0m\n", + "[ 89%] \u001b[32m\u001b[1mLinking CXX shared library ../../libOpenMMDMFFCUDA.so\u001b[0m\n", + "[ 89%] Built target OpenMMDMFFCUDA\n", + "\u001b[35m\u001b[1mScanning dependencies of target TestDMFFPlugin4CUDA\u001b[0m\n", + "[ 94%] \u001b[32mBuilding CXX object platforms/cuda/tests/CMakeFiles/TestDMFFPlugin4CUDA.dir/TestDMFFPlugin4CUDA.cpp.o\u001b[0m\n", + "[100%] \u001b[32m\u001b[1mLinking CXX executable ../../../TestDMFFPlugin4CUDA\u001b[0m\n", + "[100%] Built target TestDMFFPlugin4CUDA\n", + "[ 26%] Built target OpenMMDMFF\n", + "[ 36%] Built target TestSerializeDMFFForce\n", + "[ 52%] Built target OpenMMDMFFReference\n", + "[ 63%] Built target TestDMFFPlugin4Reference\n", + "[ 89%] Built target OpenMMDMFFCUDA\n", + "[100%] Built target TestDMFFPlugin4CUDA\n", + "\u001b[36mInstall the project...\u001b[0m\n", + "-- Install configuration: \"\"\n", + "-- Installing: /opt/mamba/envs/dmff_omm/include/DMFFForce.h\n", + "-- Installing: /opt/mamba/envs/dmff_omm/include/DMFFKernels.h\n", + "-- Installing: /opt/mamba/envs/dmff_omm/include/internal/DMFFForceImpl.h\n", + "-- Installing: /opt/mamba/envs/dmff_omm/include/internal/windowsExportDMFF.h\n", + "-- Installing: /opt/mamba/envs/dmff_omm/lib/libOpenMMDMFF.so\n", + "-- Set runtime path of \"/opt/mamba/envs/dmff_omm/lib/libOpenMMDMFF.so\" to \"\"\n", + "-- Installing: /opt/mamba/envs/dmff_omm/lib/plugins/libOpenMMDMFFReference.so\n", + "-- Set runtime path of \"/opt/mamba/envs/dmff_omm/lib/plugins/libOpenMMDMFFReference.so\" to \"\"\n", + "-- Installing: /opt/mamba/envs/dmff_omm/lib/plugins/libOpenMMDMFFCUDA.so\n", + "-- Set runtime path of \"/opt/mamba/envs/dmff_omm/lib/plugins/libOpenMMDMFFCUDA.so\" to \"\"\n", + "\u001b[35m\u001b[1mScanning dependencies of target PythonInstall\u001b[0m\n", + "[100%] \u001b[34m\u001b[1mGenerating OpenMMDMFFPluginWrapper.cpp\u001b[0m\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:724: Warning 314: 'None' is a python keyword, renaming to '_None'\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:470: Warning 453: Can't apply (OpenMM::Context &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:493: Warning 453: Can't apply (OpenMM::Context &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:570: Warning 453: Can't apply (std::vector< double,std::allocator< double > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:587: Warning 453: Can't apply (std::string &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:588: Warning 453: Can't apply (std::vector< double,std::allocator< double > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:598: Warning 453: Can't apply (std::string &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:599: Warning 453: Can't apply (std::string &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:605: Warning 453: Can't apply (std::set< int > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:606: Warning 453: Can't apply (std::set< int > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:611: Warning 453: Can't apply (OpenMM::Context &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:633: Warning 453: Can't apply (std::vector< double,std::allocator< double > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:666: Warning 453: Can't apply (std::vector< double,std::allocator< double > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:671: Warning 453: Can't apply (OpenMM::Context &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:707: Warning 453: Can't apply (OpenMM::Context &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:777: Warning 453: Can't apply (std::vector< int,std::allocator< int > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:794: Warning 453: Can't apply (OpenMM::Context &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:808: Warning 453: Can't apply (std::vector< double,std::allocator< double > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:834: Warning 453: Can't apply (OpenMM::Context &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:866: Warning 453: Can't apply (std::vector< double,std::allocator< double > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:874: Warning 453: Can't apply (OpenMM::Context &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:905: Warning 453: Can't apply (std::vector< double,std::allocator< double > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:912: Warning 453: Can't apply (OpenMM::Context &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:987: Warning 453: Can't apply (OpenMM::Context &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1104: Warning 453: Can't apply (std::string &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1117: Warning 453: Can't apply (std::string &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1135: Warning 453: Can't apply (OpenMM::Context &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1183: Warning 453: Can't apply (ContextImpl &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1184: Warning 453: Can't apply (ContextImpl &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1223: Warning 453: Can't apply (OpenMM::Context &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1224: Warning 453: Can't apply (std::vector< double,std::allocator< double > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1228: Warning 453: Can't apply (OpenMM::Context &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1231: Warning 453: Can't apply (OpenMM::Context &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1255: Warning 453: Can't apply (Vec3 &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1256: Warning 453: Can't apply (Vec3 &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1257: Warning 453: Can't apply (Vec3 &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1304: Warning 453: Can't apply (OpenMM::Context &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1317: Warning 453: Can't apply (std::vector< double,std::allocator< double > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1354: Warning 453: Can't apply (std::vector< int,std::allocator< int > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1355: Warning 453: Can't apply (std::vector< double,std::allocator< double > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1361: Warning 453: Can't apply (std::vector< int,std::allocator< int > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1362: Warning 453: Can't apply (std::vector< double,std::allocator< double > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1371: Warning 453: Can't apply (OpenMM::Context &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1438: Warning 453: Can't apply (OpenMM::Context &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1501: Warning 453: Can't apply (ContextImpl &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1583: Warning 453: Can't apply (OpenMM::Context &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1611: Warning 453: Can't apply (std::vector< double,std::allocator< double > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1721: Warning 453: Can't apply (std::vector< double,std::allocator< double > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1722: Warning 453: Can't apply (std::vector< double,std::allocator< double > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1775: Warning 453: Can't apply (std::vector< Vec3,std::allocator< Vec3 > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1778: Warning 453: Can't apply (std::vector< Vec3,std::allocator< Vec3 > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1781: Warning 453: Can't apply (OpenMM::Context &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1827: Warning 453: Can't apply (std::vector< double,std::allocator< double > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1832: Warning 453: Can't apply (std::string &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1833: Warning 453: Can't apply (std::string &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1841: Warning 453: Can't apply (std::string &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1859: Warning 453: Can't apply (std::string &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1860: Warning 453: Can't apply (std::vector< double,std::allocator< double > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1869: Warning 453: Can't apply (OpenMM::Context &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1896: Warning 453: Can't apply (std::vector< double,std::allocator< double > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1983: Warning 453: Can't apply (Vec3 &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1984: Warning 453: Can't apply (Vec3 &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:1985: Warning 453: Can't apply (Vec3 &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2017: Warning 453: Can't apply (std::vector< double,std::allocator< double > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2023: Warning 453: Can't apply (OpenMM::Context &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2054: Warning 453: Can't apply (OpenMM::Context &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2089: Warning 453: Can't apply (std::vector< Vec3,std::allocator< Vec3 > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2092: Warning 453: Can't apply (std::vector< Vec3,std::allocator< Vec3 > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2107: Warning 453: Can't apply (std::string &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2108: Warning 453: Can't apply (std::string &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2178: Warning 453: Can't apply (OpenMM::Context &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2238: Warning 453: Can't apply (std::vector< int,std::allocator< int > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2253: Warning 453: Can't apply (std::vector< double,std::allocator< double > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2254: Warning 453: Can't apply (std::vector< double,std::allocator< double > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2275: Warning 453: Can't apply (std::vector< int,std::allocator< int > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2278: Warning 453: Can't apply (std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2289: Warning 453: Can't apply (std::vector< Vec3,std::allocator< Vec3 > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2292: Warning 453: Can't apply (std::vector< Vec3,std::allocator< Vec3 > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2295: Warning 453: Can't apply (std::vector< Vec3,std::allocator< Vec3 > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2298: Warning 453: Can't apply (std::vector< double,std::allocator< double > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2301: Warning 453: Can't apply (OpenMM::Context &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2302: Warning 453: Can't apply (std::vector< double,std::allocator< double > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2306: Warning 453: Can't apply (OpenMM::Context &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2337: Warning 453: Can't apply (std::vector< int,std::allocator< int > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2338: Warning 453: Can't apply (std::vector< double,std::allocator< double > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2348: Warning 453: Can't apply (std::string &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2349: Warning 453: Can't apply (std::vector< double,std::allocator< double > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2358: Warning 453: Can't apply (OpenMM::Context &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2374: Warning 453: Can't apply (OpenMM::SerializationNode &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2384: Warning 453: Can't apply (std::vector< double,std::allocator< double > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2436: Warning 453: Can't apply (std::vector< double,std::allocator< double > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2447: Warning 453: Can't apply (std::vector< double,std::allocator< double > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2466: Warning 453: Can't apply (std::string &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2467: Warning 453: Can't apply (std::vector< double,std::allocator< double > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2476: Warning 453: Can't apply (OpenMM::Context &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2520: Warning 453: Can't apply (std::vector< double,std::allocator< double > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2534: Warning 453: Can't apply (std::set< int > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2542: Warning 453: Can't apply (OpenMM::Context &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2600: Warning 453: Can't apply (std::vector< double,std::allocator< double > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2603: Warning 453: Can't apply (std::vector< double,std::allocator< double > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2606: Warning 453: Can't apply (std::vector< double,std::allocator< double > > &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2679: Warning 453: Can't apply (OpenMM::Context &OUTPUT). No typemaps are defined.\n", + "/opt/mamba/envs/dmff_omm/include/swig/OpenMMSwigHeaders.i:2723: Warning 453: Can't apply (std::vector< double,std::allocator< double > > &OUTPUT). No typemaps are defined.\n", + "running build\n", + "running build_py\n", + "creating build\n", + "creating build/lib.linux-x86_64-3.9\n", + "creating build/lib.linux-x86_64-3.9/OpenMMDMFFPlugin\n", + "copying OpenMMDMFFPlugin/__init__.py -> build/lib.linux-x86_64-3.9/OpenMMDMFFPlugin\n", + "copying OpenMMDMFFPlugin/tools.py -> build/lib.linux-x86_64-3.9/OpenMMDMFFPlugin\n", + "package init file 'OpenMMDMFFPlugin/tests/__init__.py' not found (or not a regular file)\n", + "creating build/lib.linux-x86_64-3.9/OpenMMDMFFPlugin/tests\n", + "copying OpenMMDMFFPlugin/tests/test_dmff_plugin_nve.py -> build/lib.linux-x86_64-3.9/OpenMMDMFFPlugin/tests\n", + "package init file 'OpenMMDMFFPlugin/tests/__init__.py' not found (or not a regular file)\n", + "running build_ext\n", + "building 'OpenMMDMFFPlugin._OpenMMDMFFPlugin' extension\n", + "creating build/temp.linux-x86_64-3.9\n", + "/usr/bin/cc -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /opt/mamba/envs/dmff_omm/include -fPIC -O2 -isystem /opt/mamba/envs/dmff_omm/include -fPIC -I/opt/mamba/envs/dmff_omm/include -I/opt/mamba/envs/dmff_omm/include -I/opt/mamba/envs/dmff_omm/include -I/data/DMFF/backend/openmm_dmff_plugin/openmmapi/include -I/opt/mamba/envs/dmff_omm/include/python3.9 -c OpenMMDMFFPluginWrapper.cpp -o build/temp.linux-x86_64-3.9/OpenMMDMFFPluginWrapper.o -std=c++17 -fPIC\n", + "/usr/bin/c++ -shared -Wl,--allow-shlib-undefined -Wl,-rpath,/opt/mamba/envs/dmff_omm/lib -Wl,-rpath-link,/opt/mamba/envs/dmff_omm/lib -L/opt/mamba/envs/dmff_omm/lib -Wl,--allow-shlib-undefined -Wl,-rpath,/opt/mamba/envs/dmff_omm/lib -Wl,-rpath-link,/opt/mamba/envs/dmff_omm/lib -L/opt/mamba/envs/dmff_omm/lib build/temp.linux-x86_64-3.9/OpenMMDMFFPluginWrapper.o -L/opt/mamba/envs/dmff_omm/lib -L/opt/mamba/envs/dmff_omm/lib -L/opt/mamba/envs/dmff_omm/lib -L/data/DMFF/backend/openmm_dmff_plugin/build -lOpenMM -lOpenMMDMFF -o build/lib.linux-x86_64-3.9/OpenMMDMFFPlugin/_OpenMMDMFFPlugin.cpython-39-x86_64-linux-gnu.so\n", + "running install\n", + "running build\n", + "running build_py\n", + "copying OpenMMDMFFPlugin/OpenMMDMFFPlugin.py -> build/lib.linux-x86_64-3.9/OpenMMDMFFPlugin\n", + "package init file 'OpenMMDMFFPlugin/tests/__init__.py' not found (or not a regular file)\n", + "package init file 'OpenMMDMFFPlugin/tests/__init__.py' not found (or not a regular file)\n", + "running build_ext\n", + "running install_lib\n", + "creating /opt/mamba/envs/dmff_omm/lib/python3.9/site-packages/OpenMMDMFFPlugin\n", + "copying build/lib.linux-x86_64-3.9/OpenMMDMFFPlugin/OpenMMDMFFPlugin.py -> /opt/mamba/envs/dmff_omm/lib/python3.9/site-packages/OpenMMDMFFPlugin\n", + "copying build/lib.linux-x86_64-3.9/OpenMMDMFFPlugin/_OpenMMDMFFPlugin.cpython-39-x86_64-linux-gnu.so -> /opt/mamba/envs/dmff_omm/lib/python3.9/site-packages/OpenMMDMFFPlugin\n", + "copying build/lib.linux-x86_64-3.9/OpenMMDMFFPlugin/__init__.py -> /opt/mamba/envs/dmff_omm/lib/python3.9/site-packages/OpenMMDMFFPlugin\n", + "creating /opt/mamba/envs/dmff_omm/lib/python3.9/site-packages/OpenMMDMFFPlugin/tests\n", + "copying build/lib.linux-x86_64-3.9/OpenMMDMFFPlugin/tests/test_dmff_plugin_nve.py -> /opt/mamba/envs/dmff_omm/lib/python3.9/site-packages/OpenMMDMFFPlugin/tests\n", + "copying build/lib.linux-x86_64-3.9/OpenMMDMFFPlugin/tools.py -> /opt/mamba/envs/dmff_omm/lib/python3.9/site-packages/OpenMMDMFFPlugin\n", + "byte-compiling /opt/mamba/envs/dmff_omm/lib/python3.9/site-packages/OpenMMDMFFPlugin/OpenMMDMFFPlugin.py to OpenMMDMFFPlugin.cpython-39.pyc\n", + "byte-compiling /opt/mamba/envs/dmff_omm/lib/python3.9/site-packages/OpenMMDMFFPlugin/__init__.py to __init__.cpython-39.pyc\n", + "byte-compiling /opt/mamba/envs/dmff_omm/lib/python3.9/site-packages/OpenMMDMFFPlugin/tests/test_dmff_plugin_nve.py to test_dmff_plugin_nve.cpython-39.pyc\n", + "byte-compiling /opt/mamba/envs/dmff_omm/lib/python3.9/site-packages/OpenMMDMFFPlugin/tools.py to tools.cpython-39.pyc\n", + "running install_egg_info\n", + "Writing /opt/mamba/envs/dmff_omm/lib/python3.9/site-packages/OpenMMDMFFPlugin-cdb14ee-py3.9.egg-info\n", + "[100%] Built target PythonInstall\n" + ] + } + ], + "source": [ + "!cd /data/DMFF/backend/openmm_dmff_plugin/ && mkdir build && cd build && cmake .. -DOPENMM_DIR=/opt/mamba/envs/dmff_omm -DCPPFLOW_DIR=/opt/mamba/envs/dmff_omm -DTENSORFLOW_DIR=/opt/mamba/envs/dmff_omm -DSWIG_EXECUTABLE=/opt/mamba/envs/dmff_omm/bin/swig -DPYTHON_EXECUTABLE=/opt/mamba/envs/dmff_omm/bin/python && make && make install && make PythonInstall" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "9b9bc4df-09cd-4bcc-ae19-59b684cd84ed", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2023-11-09 06:35:31.878151: I tensorflow/cc/saved_model/reader.cc:43] Reading SavedModel from: ./openmm_dmff_plugin/python/OpenMMDMFFPlugin/data/admp_water_dimer_aux\n", + "2023-11-09 06:35:32.138075: I tensorflow/cc/saved_model/reader.cc:81] Reading meta graph with tags { serve }\n", + "2023-11-09 06:35:32.138139: I tensorflow/cc/saved_model/reader.cc:122] Reading SavedModel debug info (if present) from: ./openmm_dmff_plugin/python/OpenMMDMFFPlugin/data/admp_water_dimer_aux\n", + "2023-11-09 06:35:32.139209: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: SSE4.1 SSE4.2 AVX AVX2 AVX512F FMA\n", + "To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.\n", + "2023-11-09 06:35:32.854369: I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:354] MLIR V1 optimization pass is not enabled\n", + "2023-11-09 06:35:32.946199: I tensorflow/cc/saved_model/loader.cc:228] Restoring SavedModel bundle.\n", + "2023-11-09 06:35:36.536096: I tensorflow/cc/saved_model/loader.cc:212] Running initialization op on SavedModel bundle at path: ./openmm_dmff_plugin/python/OpenMMDMFFPlugin/data/admp_water_dimer_aux\n", + "2023-11-09 06:35:40.039418: I tensorflow/cc/saved_model/loader.cc:301] SavedModel load for tags { serve }; Status: success: OK. Took 8161272 microseconds.\n", + "Running dynamics\n", + "2023-11-09 06:35:59.797664: I tensorflow/compiler/xla/service/service.cc:170] XLA service 0x55b197670fa0 initialized for platform Host (this does not guarantee that XLA will be used). Devices:\n", + "2023-11-09 06:35:59.797707: I tensorflow/compiler/xla/service/service.cc:178] StreamExecutor device (0): Host, Default Version\n", + "2023-11-09 06:35:59.809487: I tensorflow/compiler/jit/xla_compilation_cache.cc:478] Compiled cluster using XLA! This line is logged at most once for the lifetime of the process.\n", + "2023-11-09 06:35:59.984554: I tensorflow/compiler/mlir/tensorflow/utils/dump_mlir_util.cc:263] disabling MLIR crash reproducer, set env var `MLIR_CRASH_REPRODUCER_DIRECTORY` to enable.\n", + "Running on Reference platform, time cost: 40.6564 s\n", + "Total energy std: 0.0051 kJ/mol\n", + "Mean total energy: -0.0556 kJ/mol\n" + ] + } + ], + "source": [ + "!cd /data/DMFF/backend && /opt/mamba/envs/dmff_omm/bin/python -m OpenMMDMFFPlugin.tests.test_dmff_plugin_nve -n 100 --pdb ../examples/water_fullpol/water_dimer.pdb --model ./openmm_dmff_plugin/python/OpenMMDMFFPlugin/data/admp_water_dimer_aux --has_aux True" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/user_guide/introduction.md b/docs/user_guide/introduction.md deleted file mode 100644 index b78a08c96..000000000 --- a/docs/user_guide/introduction.md +++ /dev/null @@ -1,17 +0,0 @@ -# 1. Introduction - -In this user guide, you will learn: - -- [DMFF Installation](./installation.md) -- [Basic usage](./usage.md) of DMFF, including how to compute energy, forces and parametric gradients -- [How to write XML format force field](./xml_spec.md) -- [Theoretical background](./theory.md) of various force field models - -The first thing you should know is that DMFF is not an actual force field model (such as OPLS or AMBER), but a differentiable implementation of various force field (or "potential") functional forms. It contains following modules: - -- ADMP module: Automatic Differentiable Multipolar Polarizable potential (MPID like potentials) -- Classical module: implements classical force fields (OPLS or GAFF like potentials) -- SGNN module: implements subgragh neural network model for intramolecular interactions - -Each module implements a particular form of force field, which takes a unique set of input parameters, usually provided in a XML file. With DMFF, one can easily compute the energy as well as energy gradients including: forces, virial tensors, and gradients with respect to force field parameters etc. - diff --git a/docs/user_guide/multipole_pme.md b/docs/user_guide/multipole_pme.md deleted file mode 100644 index d207f2914..000000000 --- a/docs/user_guide/multipole_pme.md +++ /dev/null @@ -1,605 +0,0 @@ -# Notes on Multipolar Ewald - - - -## References: - -* [Anthony's book](https://oxford.universitypressscholarship.com/view/10.1093/acprof:oso/9780199672394.001.0001/acprof-9780199672394) -* The Multipolar Ewald paper in JCTC: ***J. Chem. Theory Comput.*** 2015, **11**, 2, 436–450 [Link](https://pubs.acs.org/doi/abs/10.1021/ct5007983) -* The `convert_mom_to_xml.py` code, which converts the CAMCASP moments (global harmonics) to OpenMM moments (local cartesian). -* The dispersion Ewald/PME: [Link](https://aip.scitation.org/doi/pdf/10.1063/1.470117) - - - -## Relevant mathematics - -### Cartesian Tensors - -Multipole operators in Cartesian Tensors: - -$$ -\displaylines{ -\begin{align} -&\hat{q} = 1 \\ -&\hat{\mu}_{\alpha} = r_{\alpha} \\ -&\hat{\Theta}_{\alpha\beta}=\frac{3}{2}\left(r_{\alpha}r_{\beta}-\frac{1}{3}r^2\delta_{\alpha\beta}\right) -\end{align} -} -$$ - -Interaction Hamiltonian (up to quadrupole): - -$$ -\displaylines{ -\hat{H}' = T q^{A} q^{B}+T_{\alpha}\left(q^{A} \hat{\mu}_{\alpha}^{B}-\hat{\mu}_{\alpha}^{A} q^{B}\right)+T_{\alpha \beta}\left(\frac{1}{3} q^{A} \hat{\Theta}_{\alpha \beta}^{B}-\hat{\mu}_{\alpha}^{A} \hat{\mu}_{\beta}^{B}+\frac{1}{3} \hat{\Theta}_{\alpha \beta}^{A} q^{B}\right) \\ --\frac{1}{3} T_{\alpha \beta \gamma}\left(\hat{\mu}_{\alpha}^{A} \hat{\Theta}_{\beta \gamma}^{B}-\hat{\Theta}_{\alpha \beta}^{A} \hat{\mu}_{\gamma}^{B}\right) +\frac{1}{9}T_{\alpha \beta \gamma \delta}\hat{\Theta}_{\alpha \beta}^{A} \hat{\Theta}_{\gamma \delta}^{B} + \cdots -} -$$ - -And the corresponding interaction tensors are: - -$$ -T_{\alpha \beta \ldots v}^{(n)}=\frac{1}{4 \pi \epsilon_{0}} \nabla_{\alpha} \nabla_{\beta} \ldots \nabla_{v} \frac{1}{R} -$$ - -The first few terms are listed in the page 4 of Anthony's book (up to quad-quad interactions). - -### Spherical Tensors - -The often seen spherical harmonics include: - -* The original spherical harmonics (**adopting the convention without $(-1)^m$**): - -$$ -Y_{lm}(\theta, \phi) = \sqrt{\frac{2 l+1}{4 \pi} \frac{(l-m) !}{(l+m) !}} P_{l}^{m}(\cos \theta) e^{i m \phi} -$$ - - with $P_l^m$ being the associated Legendre Polynomials: -$$ -P_{\ell}^{m}(x)=\frac{(-1)^{m}}{2^{\ell} \ell !}\left(1-x^{2}\right)^{m / 2} \frac{d^{\ell+m}}{d x^{\ell+m}}\left(x^{2}-1\right)^{\ell} -$$ - Note we have: -$$ -P_{\ell}^{-m}(x)=(-1)^{m} \frac{(\ell-m) !}{(\ell+m) !} P_{\ell}^{m}(x) -$$ - The exact form of these polynomials can be found in: - - [Associated_Legendre_polynomials](https://en.wikipedia.org/wiki/Associated_Legendre_polynomials) - - The lowest few orders of them are: - -$$ -\displaylines{ -\begin{aligned} -&P_{0}^{0}(x)=1 \\ -&P_{1}^{0}(x)=x \\ -&P_{1}^{1}(x)=-\left(1-x^{2}\right)^{1 / 2} \\ -&P_{2}^{0}(x)=\frac{1}{2}\left(3 x^{2}-1\right) \\ -&P_{2}^{1}(x)=-3 x\left(1-x^{2}\right)^{1 / 2} \\ -&P_{2}^{2}(x)=3\left(1-x^{2}\right) -\end{aligned} -} -$$ - -* We also use the renormalized spherical harmonics: - -$$ -\displaylines{ -C_{l m}(\theta, \varphi)=\sqrt{\frac{4 \pi}{2 l+1}} Y_{l m}(\theta, \varphi) \\ - = \sqrt{\frac{(l-m) !}{(l+m) !}} P_{l}^{m}(\cos \theta) e^{i m \phi} \\ - =\epsilon_m\sqrt{\frac{(l-|m|)!}{(l+|m|)!}} P_l^{|m|}(\cos\theta)e^{im\phi} -} -$$ - -**Note that I believe the equation B.1.3 in Pg. 272 of Anthony's book is not quite right** (missing an absolute value in $P_l^m$). Definition of $\epsilon_m$ can be found in Pg. 272. - -* Now we can define the regular and irregular spherical harmonics: - -$$ -\displaylines{ -\begin{aligned} -R_{l m}(\vec{r}) &=r^{l} C_{l m}(\theta, \varphi) \\ -I_{l m}(\vec{r}) &=r^{-l-1} C_{l m}(\theta, \varphi) -\end{aligned} -} -$$ - -In particular: - -$$ -R_{lm}(\vec{r}) = r^l \cdot \sqrt{\frac{(l-m) !}{(l+m) !}} P_{l}^{m}(\cos \theta) e^{i m \phi} -$$ - -From this we can define the real-valued regular spherical harmonics (for $m>0$): - -$$ -\displaylines{ -\begin{aligned} -R_{l m c} &=\sqrt{\frac{1}{2}}\left[(-1)^{m} R_{l m}+R_{l,-m}\right] \\ -\mathrm{i} R_{l m s} &=\sqrt{\frac{1}{2}}\left[(-1)^{m} R_{l m}-R_{l,-m}\right] -\end{aligned} -} -$$ - -According to my derivation, that is: - -$$ -\displaylines{ -\begin{cases} -R_{l0} = r^l\cdot C_{l0} = r^l\cdot P_l^{0}(\cos\theta)\\ -R_{lmc} = (-1)^m \cdot \sqrt{2} \cdot r^l \sqrt{\frac{(l-m)!}{(l+m)!}}P_l^m(\cos\theta)\cos(m\phi) \\ -R_{lms} = (-1)^m \cdot \sqrt{2} \cdot r^l \sqrt{\frac{(l-m)!}{(l+m)!}}P_l^m(\cos\theta)\sin(m\phi) -\end{cases} -} -$$ - -In Anthony's book, they usually use Greek letters ($\mu,\nu,\kappa$ etc.​) or letter $t,u$ to represent $1c, 1s, 2c, 2s$​ etc. These are the projector functions to compute all the moments. - -In the real-valued regular spherical harmonics representation, the interaction energy is: - -$$ -\hat{H}' = \sum_{at,bu} {\hat{Q}_t^a T_{tu}^{ab}\hat{Q}_u^b} -$$ - -The interaction tensor $T_{tu}^{AB}$ can be found in Appendix F of Anthony's book (pg. 291). - -* A couple of things regarding paper: ***J. Chem. Theory Comput.*** 2015, **11**, 2, 436–450 (https://pubs.acs.org/doi/abs/10.1021/ct5007983) - -In this paper, the definition (***in their notation***) of: - -$$ -\displaylines{ -C_{l\mu} = (-1)^{\mu}\sqrt{\left(2-\delta_{\mu, 0}\right)(l+\mu) !(l-\mu) !}\cdot R_{l\mu} \\ -= -\begin{cases} -(-1)^{m}\sqrt{\left(2-\delta_{m, 0}\right)(l+m) !(l-m) !} \cdot R_{l mc}(\vec{r}) & \mu \geq 0 \\ -(-1)^{-m}\sqrt{2(l-m) !(l+m) !} \cdot R_{lms}(\vec{r}) & \mu<0 -\end{cases} \\ -(\text{Here, we assumes $m=|\mu|$}) \\ -= -\begin{cases} -r^l\cdot P_l^0(\cos\theta) & \mu=0 \\ -(-1)^m\cdot\sqrt{2}\cdot r^l\sqrt{\frac{(l-m)!}{(l+m)!}}P_l^m(\cos\theta)\cos(m\phi) & \mu\gt 0 \\ -(-1)^m\cdot\sqrt{2}\cdot r^l\sqrt{\frac{(l-m)!}{(l+m)!}}P_l^m(\cos\theta)\sin(m\phi) & \mu\lt 0 -\end{cases} -} -$$ - -This is identical to Eqn. 14. **Therefore, the $C_{l\mu}$ in the JCTC paper is identical to the $R_\mu$ in Anthony's book**. - -And the interaction function also checks out! So we have a compact form for the interaction tensor in table F.1 of the book - -$$ -T_{tu}^{ab} = \frac{R_t(\nabla_a)}{(2l_t-1)!!}\frac{R_u(\nabla_b)}{(2l_u-1)!!}\frac{1}{R_{ab}} -$$ - -This is verified manually by computing the $T_{21c,11c}=T_{xz, x} = \sqrt{3}\frac{1}{R^4}\left(\hat{z}-5\hat{x}^2\hat{z}\right)$​ tensor. - - - -## Rotations - -Assume the local frame matrix for a particular atom is: - -$$ -\displaylines{ -\mathbf{R} = -\left[ -\matrix{ -\mathbf{r_1^T} \\ -\mathbf{r_2^T} \\ -\mathbf{r_3^T} \\ -}\right] = \left[ -\matrix{ -x_1 & y_1 & z_1 \\ -x_2 & y_2 & z_2 \\ -x_3 & y_3 & z_3 -}\right] -} -$$ - -Then for any vector, the local ($\vec{r}'$)-to-global (\vec{r}) transform is: - -$$ -\vec{r}=\mathbf{R}^T\cdot\vec{r}' -$$ - -Following the convention in the `convert_mom_to_xml.py` code, assuming the order for spherical harmonics is: $Q_{00}, Q_{10}, Q_{11c}, Q_{11s}, Q_{20}, Q_{21c}, Q_{21s}, Q_{22c}, Q_{22s}$​​ - -* **Dipole rotation** - -For dipole, the harmonics-to-cartesian conversion is: - -$$ -\mathbf{C}_1=\left[ -\matrix{ -0 & 1 & 0 \\ -0 & 0 & 1 \\ -1 & 0 & 0 -} -\right] -$$ - -So the **local-harmonics-to-global-harmonics** conversion for dipole moments is: - -$$ -\mathbf{R}_{1}^{l-g}=\mathbf{C}_1^T\mathbf{R}^T\mathbf{C}_1 -$$ - -* **Quadrupole rotation** - -First of all, the cartesian moments are: - -$$ -\displaylines{ -\mathbf{\Theta}= -\int {d\vec{r}\cdot\rho(\vec{r})\cdot\left(\frac{3}{2}\left[\matrix{ -xx & xy & xz \\ -yx & yy & yz \\ -zx & zy & zz \\ -}\right] - \frac{1}{2}r^2\mathbf{I} \right)} \\ -= \int {d\vec{r}\cdot\rho(\vec{r})\cdot\left(\frac{3}{2}\vec{r}\vec{r}^T -\frac{1}{2}(\vec{r}^T\cdot\vec{r})\mathbf{I}\right)} -} -$$ - -Then obviously, the **local-to-global** conversion is: - -$$ -\mathbf{\Theta} = \mathbf{R}^T\mathbf{\Theta}'\mathbf{R} -$$ - -The conversion between $\vec{\Theta}=[xx,yy,zz,xy,xz,yz]$​​​​ and harmonic moments ($\vec{Q}=[Q_{20}, Q_{21c}, Q_{21s}, Q_{22c}, Q_{22s}]$​​​​​) is: - -$$ -\displaylines{ -\mathbf{C}_2^{h-c} = \left[\matrix{ --\frac{1}{2} & 0 & 0 & \frac{\sqrt{3}}{2} & 0 \\ --\frac{1}{2} & 0 & 0 & -\frac{\sqrt{3}}{2} & 0 \\ -1 & 0 & 0 & 0 & 0 \\ -0 & 0 & 0 & 0 & \frac{\sqrt{3}}{2} \\ -0 & \frac{\sqrt{3}}{2} & 0 & 0 & 0 \\ -0 & 0 & \frac{\sqrt{3}}{2} & 0 & 0 -}\right] -} -$$ - -$$ -\vec{\Theta} = \mathbf{C}_2^{h-c} \vec{Q} -$$ - -And the inversed conversion is: - -$$ -\displaylines{ -\mathbf{C}_2^{c-h} = \left[\matrix{ -0 & 0 & 1 & 0 & 0 & 0 \\ -0 & 0 & 0 & 0 & \frac{2}{\sqrt{3}} & 0 \\ -0 & 0 & 0 & 0 & 0 & \frac{2}{\sqrt{3}} \\ -\frac{1}{\sqrt{3}} & -\frac{1}{\sqrt{3}} & 0 & 0 & 0 & 0 \\ -0 & 0 & 0 & \frac{2}{\sqrt{3}} & 0 & 0 \\ -}\right] -} -$$ - -$$ -\vec{Q} = \mathbf{C}_2^{c-h}\vec{\Theta} -$$ - -So the rotation procedure from **local-to-global** rotation for (spherical harmonics) quadrupole moments is: - -$$ -\displaylines{ -\vec{\Theta}' = \mathbf{C}_2^{h-c} \vec{Q}' \\ -\mathbf{\Theta} = \mathbf{R}^T\mathbf{\Theta}'\mathbf{R} \\ -\vec{Q} = \mathbf{C}_2^{c-h}\vec{\Theta} -} -$$ - -And vice-versa for the invert process. - -Using `sympy`, we can derive the actual linear transformation matrix, which is coded in `test_rot_quad.py`. The derivation is done using `derive_rot_mat.py` - - - - - -## Multipolar Ewald - -* **The reciprocal space part:** - - The structure factor is: - - $$ - S(\vec{k}) = \sum_{a,t} Q_t^a\frac{R_t(\vec{k})(-i)^{l_t}}{(2l-1)!!}e^{-i\vec{k}\cdot\vec{R}_a} - $$ - - The reciprocal space energy is: - - $$ - E_{recip} = \sum_{k\neq 0} {\frac{2\pi}{V k^2}\exp\left(-\frac{k^2}{4\kappa^2}\right)\left|S(\vec{k})\right|^2} - $$ - -* The real space part: - -$$ -\displaylines{ -E_{real} = \sum_{\substack{a **Choose dmff:0.2.0-notebook and you can directly run this notebook on Bohrium** \n\nThis notebook is primarily organized by Wei Feng.","metadata":{},"id":"5a7fe9e6-825a-4963-a55e-18a7366fb8b0"},{"cell_type":"markdown","source":"# Before You Run","metadata":{"jp-MarkdownHeadingCollapsed":true},"id":"410936e3-f066-44e7-8ee4-930417d62809"},{"cell_type":"markdown","source":"Molecular systems are a highly important category of systems, encompassing various organic molecules such as biomolecules, drug molecules, various coatings used in industries, porous materials like COFs, polymers and small molecule electrolytes in batteries, and more. Problems of interest in industries, such as structure prediction of biomolecules, drug screening, screening and design of materials, heavily rely on molecular dynamics (MD) simulations of molecular systems. Although the applications of MD have extended beyond molecular systems, simulating molecular systems remains one of the core applications of MD.\n\nMD simulations usually rely on a potential energy surface (PES), which describes the energies and the forces of the simulated atoms. For the sake of computational efficiency, the PES is typically approximated using a classical model, namely molecular force field, instead of being computed ab initioly on-the-fly. Therefore, the quality of the underlying force field limits the accuracy and the predictive power of the simulation. \n\nSo it's obvious that the core of simulation is fitting microscale interactions, or potential functions, to accurately predict macroscopic properties. In classical molecular dynamics, the potential function is expressed mathematically in terms of a molecular force field.\n\n## What Is Molecular Force Field\n\nAs we mentioned above, one of the most important aspects in simulating molecular systems is characterizing the system's potential energy function and describing the interactions within the system. In Classical Molecular Dynamics (CMD) simulations, the potential energy function follows a fixed mathematical form, and the force field provides the mathematical functions for intermolecular and intramolecular interaction potentials. The traditional force fields commonly used in the industry, such as OPLS and GAFF, generally share a similar form:\n\n![s](https://i.postimg.cc/SKJjsCjq/interact.jpg)\n\nThe total energy can be divided into bonded and nonbonded components. The bonded component naturally depends on the intramolecular coordinates (bond lengths, bond angles, dihedral angles), while the nonbonded component (further decomposable into van der Waals interactions and electrostatic interactions) naturally depends on the interatomic distances. This form is almost universally used as the standard form in the entire industry. However, the molecular force fields currently employed in industrial applications face several challenges:\n- Lack of portability and predictive capability: When studying new systems, it is often uncertain which force field will yield better results until actual simulations are performed. Apart from relying on \"experience,\" it can be challenging to determine the appropriate force field selection criteria.\n- Parameter's non-uniqueness and inconsistency: It is common to encounter multiple sets of completely different parameters that yield similar macroscopic predictions. As a result, it is not possible to solely rely on macroscopic data to determine which set of parameters is more reasonable at the microscale. Moreover, similar molecular systems often have entirely different force field parameters, making it challenging to combine force fields developed by different research groups.\n\nOver the past few decades, the development of empirical force fields and the improvement of computational accuracy have been both an age-old and emerging topic. The quest to accurately and efficiently describe atomic interactions and establish a technical roadmap for developing a molecular force field applicable to the majority of systems has been the focus of researchers in the field of molecular force fields and molecular dynamics.\n\nThe optimization of parameters in force fields has long relied on manual intervention and \"empirical\" parameter tuning methods. This reliance raises concerns about the reliability and efficiency of empirical force field fitting. However, with the advent of the artificial intelligence era, one underlying technology, automatic differentiation, offers a new solution. This technology has paved the way for the development of Differentiable Molecular Force Field (DMFF), which holds the promise of becoming a powerful tool for molecular force field developers.","metadata":{},"id":"6dd2486f-c47b-4d46-a42c-ffe2e94827c3"},{"cell_type":"markdown","source":"## Automatic DIfferentiation & DMFF\nAutomatic differentiation is a high-precision and versatile method for computing derivatives in computer programs. It follows the mathematical chain rule to compute derivatives of composite functions. By tracing the derivative chains of every data point based on the computation graph, it can calculate the differentiation of the output with respect to the input variables.\n\nAutomatic differentiation plays a crucial role in optimizing neural network models. During model training, it is necessary to compute the gradients of the output with respect to the input variables through backpropagation and utilize gradient descent to optimize the model parameters. Automatic differentiation frameworks excel at achieving this task. With their efficient optimization capabilities for high-dimensional parameters, automatic differentiation techniques can be applied not only to neural network models but also to any framework that follows the \"input model parameters → apply model computation → obtain computed results\" structure. Molecular dynamics simulations precisely follow this workflow.\n\nTherefore, leveraging automatic differentiation techniques and utilizing experimental or first-principles computed data as references, it is possible to optimize force field parameters by calculating the differentiation of the output results with respect to the input parameters through backpropagation. This enables the optimization of force field parameters in molecular dynamics simulations, just as in the optimization of neural network models.\n\n![s](https://i.postimg.cc/Gp1S3JXT/Autod.jpg)\n\nSeveral attempts have been made to harness automatic differentiation techniques for molecular dynamics simulations, such as TorchMD, JAX-MD, and SPONGE. However, the deep computational graph involved in molecular dynamics simulations often introduces additional challenges. The backpropagation process, which calculates the differentiation from the output results to the input variables, can be computationally expensive. Additionally, there is still a lack of simulation engines specifically designed for rapid implementation and parameter optimization of force fields. Molecular force field developers urgently require comprehensive support for a wider range of force field functional forms and various types of objective functions. Now DMFF comes.\n\n![s](https://i.postimg.cc/CLkQ3QNp/dmffLogo.jpg)\n\nDMFF provides a comprehensive and rapid implementation of force field models and offers differentiable estimators of system energy, forces, and thermodynamic quantities. These differentiable estimators allow for the definition of corresponding object functions, enabling an automatic optimization process.\n\nAs mentioned above, the deep computational graph spanning the entire trajectory in molecular dynamics simulations would be computationally expensive and time-consuming. However, this limitation can be mitigated by employing a reweighting scheme for the trajectory. In DMFF, the reweighting algorithm is incorporated into the MBAR method, and extends the differentiable estimators for average properties and free energy calculations. We will demonstrate this method with practical examples to showcase its effectiveness.\n\nDMFF gives a solution to two major problems in molecular force field development:\n- How to ensure the rapid implementation and iteration of complex force fields in molecular dynamics simulations?\n- How to improve the efficiency of optimizing parameters in high-dimensional functions and automate this process, while increasing the transferability of the parameters?\n\nIn our latest release, DMFF 0.2.0, we have explored a pathway for automatic optimization of force field parameters. The corresponding workflow has been validated in both simple small molecular systems and more complex electrolyte systems. We will guide you through a step-by-step notebook experience, demonstrating the complete workflow of DMFF for automatic optimization of force field parameters. Furthermore, using the notebook as a teaching template, we will provide a real hands-on experience showcasing the impact of DMFF on force field development.","metadata":{},"id":"79f62281-a2e6-4e78-afe2-1aeeac9d934e"},{"cell_type":"markdown","source":"# Table of Contents:\n* [1. Quick Start Guide to DMFF](#1)\n * [1.0 Import dependencies and prepare files](#1-1)\n * [1.1 Load existing force field parameters and topology](#1-2)\n * [1.2 Calculation](#1-3)\n * [1.3 [Review] Basic interface and key usage points of DMFF](#1-4)\n* [2. Mutipolar polarizable force field with fluctuating charges](#2)\n * [2.1 Genearate auto-differentiable multipolar polarizable (ADMP) forces](#2-1)\n * [2.2 Implement fluctuating charges](#2-2)\n * [3. Bottom-Up Fitting](#3)\n * [3.1 Problem introduction](#3-1)\n * [3.2 Definition of potential function](#3-2)\n * [3.3 Preparing inputs for the potential function](#3-3)\n * [3.4 Definition of loss function](#3-5)\n * [3.5 Optimize](#3-6)\n* [4.Using DMFF for force field optimization of liquid dimethyl carbonate (DMC)](#4)\n * [4.1 Introduction](#4-1)\n * [4.2 Definition of potential function](#4-2)\n * [4.3 Definition of OpenMM sampler](#4-3)\n * [4.4 Initial MD sampling](#4-4)\n * [4.5 Definition of property calculation functions](#4-5)\n * [4.6 Read the data and perform the comparison](#4-6)\n * [4.7 Estimator initialization](#4-7)\n * [4.8 Definition of target ensemble](#4-8)\n * [4.9 Definition of loss function](#4-9)\n * [4.10 Optimizer setup and optimization loop](#4-10)\n* [5. Summary & Outlook](#summary)","metadata":{},"id":"51c192bb-7ed8-4462-afcc-4b88dbc6e9ce"},{"cell_type":"markdown","source":"## 1. Quick Start Guide to DMFF \nThis case is primarily contributed by Yanbo Han.\n### 1.0 Import dependencies and prepare files \nFirst, we set up the runtime environment and import the potential functions needed.","metadata":{"jp-MarkdownHeadingCollapsed":true},"id":"b9c18f06-2ab4-46dd-ae07-cc82edeb81b2"},{"cell_type":"code","source":"! rm -rf DMFF\n! git clone https://github.com/deepmodeling/DMFF.git\n! git config --global --add safe.directory `pwd`/DMFF\n! cd DMFF && git checkout wangxy/v1.0.0-devel && pip install .","metadata":{"collapsed":true,"jupyter":{"outputs_hidden":true}},"execution_count":1,"outputs":[{"name":"stdout","output_type":"stream","text":"Cloning into 'DMFF'...\nremote: Enumerating objects: 4249, done.\u001b[K\nremote: Counting objects: 100% (532/532), done.\u001b[K\nremote: Compressing objects: 100% (204/204), done.\u001b[K\nremote: Total 4249 (delta 364), reused 466 (delta 328), pack-reused 3717\u001b[K\nReceiving objects: 100% (4249/4249), 19.60 MiB | 4.03 MiB/s, done.\nResolving deltas: 100% (2754/2754), done.\nUpdating files: 100% (273/273), done.\nUpdating files: 100% (281/281), done.\nBranch 'wangxy/v1.0.0-devel' set up to track remote branch 'wangxy/v1.0.0-devel' from 'origin'.\nSwitched to a new branch 'wangxy/v1.0.0-devel'\nLooking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple\nProcessing /data/DMFF\n Preparing metadata (setup.py) ... \u001b[?25ldone\n\u001b[?25hRequirement already satisfied: numpy>=1.18 in /opt/mamba/lib/python3.10/site-packages (from dmff==0.2.1.dev306+geaba9a4) (1.23.4)\nRequirement already satisfied: openmm>=7.6.0 in /opt/mamba/lib/python3.10/site-packages (from dmff==0.2.1.dev306+geaba9a4) (7.7.0)\nRequirement already satisfied: freud-analysis in /opt/mamba/lib/python3.10/site-packages/freud_analysis-2.11.0-py3.10-linux-x86_64.egg (from dmff==0.2.1.dev306+geaba9a4) (2.11.0)\nCollecting networkx>=3.0\n Downloading https://pypi.tuna.tsinghua.edu.cn/packages/d5/f0/8fbc882ca80cf077f1b246c0e3c3465f7f415439bdea6b899f6b19f61f70/networkx-3.2.1-py3-none-any.whl (1.6 MB)\n\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.6/1.6 MB\u001b[0m \u001b[31m6.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n\u001b[?25hCollecting optax>=0.1.4\n Downloading https://pypi.tuna.tsinghua.edu.cn/packages/13/71/787cc24c4b606f3bb9f1d14957ebd7cb9e4234f6d59081721230b2032196/optax-0.1.7-py3-none-any.whl (154 kB)\n\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m154.1/154.1 kB\u001b[0m \u001b[31m3.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0ma \u001b[36m0:00:01\u001b[0m\n\u001b[?25hCollecting jaxopt>=0.8.0\n Downloading https://pypi.tuna.tsinghua.edu.cn/packages/4d/a2/46c5f5cf6808bd9b316a022497c7e76e9106360aec3522fde562224a8b9d/jaxopt-0.8.1-py3-none-any.whl (169 kB)\n\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m169.7/169.7 kB\u001b[0m \u001b[31m3.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0ma \u001b[36m0:00:01\u001b[0m\n\u001b[?25hRequirement already satisfied: pymbar>=4.0.0 in /opt/mamba/lib/python3.10/site-packages (from dmff==0.2.1.dev306+geaba9a4) (4.0.1)\nRequirement already satisfied: tqdm in /opt/mamba/lib/python3.10/site-packages (from dmff==0.2.1.dev306+geaba9a4) (4.64.1)\nRequirement already satisfied: scipy>=1.0.0 in /opt/mamba/lib/python3.10/site-packages (from jaxopt>=0.8.0->dmff==0.2.1.dev306+geaba9a4) (1.9.3)\nRequirement already satisfied: jax>=0.2.18 in /opt/mamba/lib/python3.10/site-packages (from jaxopt>=0.8.0->dmff==0.2.1.dev306+geaba9a4) (0.3.17)\nRequirement already satisfied: jaxlib>=0.1.69 in /opt/mamba/lib/python3.10/site-packages (from jaxopt>=0.8.0->dmff==0.2.1.dev306+geaba9a4) (0.3.15+cuda11.cudnn82)\nRequirement already satisfied: chex>=0.1.5 in /opt/mamba/lib/python3.10/site-packages (from optax>=0.1.4->dmff==0.2.1.dev306+geaba9a4) (0.1.5)\nRequirement already satisfied: absl-py>=0.7.1 in /opt/mamba/lib/python3.10/site-packages (from optax>=0.1.4->dmff==0.2.1.dev306+geaba9a4) (1.3.0)\nRequirement already satisfied: numexpr in /opt/mamba/lib/python3.10/site-packages (from pymbar>=4.0.0->dmff==0.2.1.dev306+geaba9a4) (2.8.4)\nRequirement already satisfied: rowan>=1.2.1 in /opt/mamba/lib/python3.10/site-packages/rowan-1.3.0.post1-py3.10.egg (from freud-analysis->dmff==0.2.1.dev306+geaba9a4) (1.3.0.post1)\nRequirement already satisfied: toolz>=0.9.0 in /opt/mamba/lib/python3.10/site-packages (from chex>=0.1.5->optax>=0.1.4->dmff==0.2.1.dev306+geaba9a4) (0.12.0)\nRequirement already satisfied: dm-tree>=0.1.5 in /opt/mamba/lib/python3.10/site-packages (from chex>=0.1.5->optax>=0.1.4->dmff==0.2.1.dev306+geaba9a4) (0.1.7)\nRequirement already satisfied: etils[epath] in /opt/mamba/lib/python3.10/site-packages (from jax>=0.2.18->jaxopt>=0.8.0->dmff==0.2.1.dev306+geaba9a4) (0.9.0)\nRequirement already satisfied: typing-extensions in /opt/mamba/lib/python3.10/site-packages (from jax>=0.2.18->jaxopt>=0.8.0->dmff==0.2.1.dev306+geaba9a4) (4.4.0)\nRequirement already satisfied: opt-einsum in /opt/mamba/lib/python3.10/site-packages (from jax>=0.2.18->jaxopt>=0.8.0->dmff==0.2.1.dev306+geaba9a4) (3.3.0)\nRequirement already satisfied: zipp in /opt/mamba/lib/python3.10/site-packages (from etils[epath]->jax>=0.2.18->jaxopt>=0.8.0->dmff==0.2.1.dev306+geaba9a4) (3.10.0)\nRequirement already satisfied: importlib_resources in /opt/mamba/lib/python3.10/site-packages (from etils[epath]->jax>=0.2.18->jaxopt>=0.8.0->dmff==0.2.1.dev306+geaba9a4) (5.10.0)\nBuilding wheels for collected packages: dmff\n Building wheel for dmff (setup.py) ... \u001b[?25ldone\n\u001b[?25h Created wheel for dmff: filename=dmff-0.2.1.dev306+geaba9a4-py3-none-any.whl size=122980 sha256=92f4a1caf2d4709325963c07231c0589b031244315b53c5a034f0ce9336d9a16\n Stored in directory: /tmp/pip-ephem-wheel-cache-wzaeoh64/wheels/f3/08/c8/63a66e9272163ceeb3675eda2e65e58a3e3c8a96296799182d\nSuccessfully built dmff\nInstalling collected packages: networkx, jaxopt, optax, dmff\n Attempting uninstall: optax\n Found existing installation: optax 0.1.3\n Uninstalling optax-0.1.3:\n Successfully uninstalled optax-0.1.3\n Attempting uninstall: dmff\n Found existing installation: dmff 0.2.1.dev128+g7e83028\n Uninstalling dmff-0.2.1.dev128+g7e83028:\n Successfully uninstalled dmff-0.2.1.dev128+g7e83028\nSuccessfully installed dmff-0.2.1.dev306+geaba9a4 jaxopt-0.8.1 networkx-3.2.1 optax-0.1.7\n\u001b[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv\u001b[0m\u001b[33m\n\u001b[0m"}],"id":"3575eb67-60da-446b-8bcf-5f0ee1d51fbd"},{"cell_type":"code","source":"# CPU version\n! pip install jax==0.4.14\n# GPU version\n! pip install optax==0.1.3 pymbar==4.0.1 jaxopt==0.8.1\n! mamba install openmm=7.7.0 rdkit -c conda-forge -y","metadata":{},"execution_count":1,"outputs":[{"name":"stdout","output_type":"stream","text":"Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple\nRequirement already satisfied: jax==0.4.14 in /opt/mamba/lib/python3.10/site-packages (0.4.14)\nRequirement already satisfied: opt-einsum in /opt/mamba/lib/python3.10/site-packages (from jax==0.4.14) (3.3.0)\nRequirement already satisfied: numpy>=1.22 in /opt/mamba/lib/python3.10/site-packages (from jax==0.4.14) (1.23.4)\nRequirement already satisfied: ml-dtypes>=0.2.0 in /opt/mamba/lib/python3.10/site-packages (from jax==0.4.14) (0.3.1)\nRequirement already satisfied: scipy>=1.7 in /opt/mamba/lib/python3.10/site-packages (from jax==0.4.14) (1.9.3)\n\u001b[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv\u001b[0m\u001b[33m\n\u001b[0mLooking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple\nRequirement already satisfied: optax==0.1.3 in /opt/mamba/lib/python3.10/site-packages (0.1.3)\nRequirement already satisfied: pymbar==4.0.1 in /opt/mamba/lib/python3.10/site-packages (4.0.1)\nRequirement already satisfied: jaxopt==0.8.1 in /opt/mamba/lib/python3.10/site-packages (0.8.1)\nRequirement already satisfied: jax>=0.1.55 in /opt/mamba/lib/python3.10/site-packages (from optax==0.1.3) (0.4.14)\nRequirement already satisfied: typing-extensions>=3.10.0 in /opt/mamba/lib/python3.10/site-packages (from optax==0.1.3) (4.8.0)\nRequirement already satisfied: jaxlib>=0.1.37 in /opt/mamba/lib/python3.10/site-packages (from optax==0.1.3) (0.4.11)\nRequirement already satisfied: chex>=0.0.4 in /opt/mamba/lib/python3.10/site-packages (from optax==0.1.3) (0.1.5)\nRequirement already satisfied: absl-py>=0.7.1 in /opt/mamba/lib/python3.10/site-packages (from optax==0.1.3) (1.3.0)\nRequirement already satisfied: numpy>=1.18.0 in /opt/mamba/lib/python3.10/site-packages (from optax==0.1.3) (1.23.4)\nRequirement already satisfied: numexpr in /opt/mamba/lib/python3.10/site-packages (from pymbar==4.0.1) (2.8.4)\nRequirement already satisfied: scipy in /opt/mamba/lib/python3.10/site-packages (from pymbar==4.0.1) (1.9.3)\nRequirement already satisfied: dm-tree>=0.1.5 in /opt/mamba/lib/python3.10/site-packages (from chex>=0.0.4->optax==0.1.3) (0.1.7)\nRequirement already satisfied: toolz>=0.9.0 in /opt/mamba/lib/python3.10/site-packages (from chex>=0.0.4->optax==0.1.3) (0.12.0)\nRequirement already satisfied: opt-einsum in /opt/mamba/lib/python3.10/site-packages (from jax>=0.1.55->optax==0.1.3) (3.3.0)\nRequirement already satisfied: ml-dtypes>=0.2.0 in /opt/mamba/lib/python3.10/site-packages (from jax>=0.1.55->optax==0.1.3) (0.3.1)\n\u001b[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv\u001b[0m\u001b[33m\n\u001b[0mTraceback (most recent call last):\n File \"/opt/mamba/bin/mamba\", line 7, in \n from mamba.mamba import main\n File \"/opt/mamba/lib/python3.10/site-packages/mamba/mamba.py\", line 44, in \n import libmambapy as api\n File \"/opt/mamba/lib/python3.10/site-packages/libmambapy/__init__.py\", line 7, in \n raise e\n File \"/opt/mamba/lib/python3.10/site-packages/libmambapy/__init__.py\", line 4, in \n from libmambapy.bindings import * # noqa: F401,F403\nImportError: /opt/mamba/lib/python3.10/site-packages/libmambapy/../../../libmamba.so.2: undefined symbol: solver_ruleinfo2str, version SOLV_1.0\n"}],"id":"3f7f70e2-5fd5-4d4e-b178-58a4a3c053fe"},{"cell_type":"markdown","source":"In addition to DMFF, we also need to use JAX and OpenMM.\n- OpenMM: Manages the force field files and parameter data\n- JAX:framework of differentiation\n\nAt the same time, we will also use other libraries and trajectory analysis software such as mdtraj in the subsequent examples. Let's import them as well.","metadata":{},"id":"6758cdea-f98d-4749-8286-3b23d24adfc5"},{"cell_type":"code","source":"import os\nimport sys\nimport numpy as np\nimport jax\nimport jax.numpy as jnp\nfrom jax import value_and_grad, jit, vmap\nimport openmm as mm\nimport openmm.app as app\nimport openmm.unit as unit\nimport dmff\nfrom dmff import Hamiltonian, NeighborList\nfrom dmff.common import nblist\nfrom dmff.mbar import ReweightEstimator, MBAREstimator, SampleState, TargetState, Sample, OpenMMSampleState, buildTrajEnergyFunction\nfrom dmff.api.xmlio import XMLIO\nfrom dmff.api.paramset import ParamSet\nfrom dmff.generators.classical import LennardJonesGenerator\nfrom dmff.api.topology import DMFFTopology\nfrom dmff.operators.templatetype import TemplateATypeOperator\nfrom dmff.operators.templatevsite import TemplateVSiteOperator\nfrom dmff.api.vstools import insertVirtualSites, pickTheSame\nfrom dmff import NeighborListFreud\nimport pickle\nfrom pprint import pprint\nimport optax\nimport mdtraj as md\nimport xml.etree.ElementTree as ET\nfrom itertools import combinations\nimport matplotlib.pyplot as plt\nfrom tqdm import tqdm, trange","metadata":{},"execution_count":2,"outputs":[{"ename":"AttributeError","evalue":"module 'ml_dtypes' has no attribute 'float8_e4m3b11'","output_type":"error","traceback":["\u001b[0;31m---------------------------------------------------------------------------\u001b[0m","\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)","Cell \u001b[0;32mIn [2], line 4\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01msys\u001b[39;00m\n\u001b[1;32m 3\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mnumpy\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mnp\u001b[39;00m\n\u001b[0;32m----> 4\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\n\u001b[1;32m 5\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mnumpy\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mjnp\u001b[39;00m\n\u001b[1;32m 6\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m value_and_grad, jit, vmap\n","File \u001b[0;32m/opt/mamba/lib/python3.10/site-packages/jax/__init__.py:35\u001b[0m\n\u001b[1;32m 30\u001b[0m \u001b[38;5;28;01mdel\u001b[39;00m _cloud_tpu_init\n\u001b[1;32m 32\u001b[0m \u001b[38;5;66;03m# Confusingly there are two things named \"config\": the module and the class.\u001b[39;00m\n\u001b[1;32m 33\u001b[0m \u001b[38;5;66;03m# We want the exported object to be the class, so we first import the module\u001b[39;00m\n\u001b[1;32m 34\u001b[0m \u001b[38;5;66;03m# to make sure a later import doesn't overwrite the class.\u001b[39;00m\n\u001b[0;32m---> 35\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m config \u001b[38;5;28;01mas\u001b[39;00m _config_module\n\u001b[1;32m 36\u001b[0m \u001b[38;5;28;01mdel\u001b[39;00m _config_module\n\u001b[1;32m 38\u001b[0m \u001b[38;5;66;03m# Force early import, allowing use of `jax.core` after importing `jax`.\u001b[39;00m\n","File \u001b[0;32m/opt/mamba/lib/python3.10/site-packages/jax/config.py:17\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m# Copyright 2018 The JAX Authors.\u001b[39;00m\n\u001b[1;32m 2\u001b[0m \u001b[38;5;66;03m#\u001b[39;00m\n\u001b[1;32m 3\u001b[0m \u001b[38;5;66;03m# Licensed under the Apache License, Version 2.0 (the \"License\");\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 14\u001b[0m \n\u001b[1;32m 15\u001b[0m \u001b[38;5;66;03m# TODO(phawkins): fix users of this alias and delete this file.\u001b[39;00m\n\u001b[0;32m---> 17\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mconfig\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m config \u001b[38;5;66;03m# noqa: F401\u001b[39;00m\n","File \u001b[0;32m/opt/mamba/lib/python3.10/site-packages/jax/_src/config.py:27\u001b[0m\n\u001b[1;32m 24\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mthreading\u001b[39;00m\n\u001b[1;32m 25\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtyping\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m Any, Callable, Generic, NamedTuple, Optional, TypeVar\n\u001b[0;32m---> 27\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m lib\n\u001b[1;32m 28\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlib\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m jax_jit\n\u001b[1;32m 29\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlib\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m transfer_guard_lib\n","File \u001b[0;32m/opt/mamba/lib/python3.10/site-packages/jax/_src/lib/__init__.py:87\u001b[0m\n\u001b[1;32m 84\u001b[0m cpu_feature_guard\u001b[38;5;241m.\u001b[39mcheck_cpu_features()\n\u001b[1;32m 86\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mjaxlib\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mutils\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mutils\u001b[39;00m\n\u001b[0;32m---> 87\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mjaxlib\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mxla_client\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mxla_client\u001b[39;00m\n\u001b[1;32m 88\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mjaxlib\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlapack\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mlapack\u001b[39;00m\n\u001b[1;32m 90\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mjaxlib\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mducc_fft\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mducc_fft\u001b[39;00m\n","File \u001b[0;32m/opt/mamba/lib/python3.10/site-packages/jaxlib/xla_client.py:225\u001b[0m\n\u001b[1;32m 223\u001b[0m bfloat16 \u001b[38;5;241m=\u001b[39m ml_dtypes\u001b[38;5;241m.\u001b[39mbfloat16\n\u001b[1;32m 224\u001b[0m float8_e4m3fn \u001b[38;5;241m=\u001b[39m ml_dtypes\u001b[38;5;241m.\u001b[39mfloat8_e4m3fn\n\u001b[0;32m--> 225\u001b[0m float8_e4m3b11fnuz \u001b[38;5;241m=\u001b[39m \u001b[43mml_dtypes\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfloat8_e4m3b11\u001b[49m\n\u001b[1;32m 226\u001b[0m float8_e5m2 \u001b[38;5;241m=\u001b[39m ml_dtypes\u001b[38;5;241m.\u001b[39mfloat8_e5m2\n\u001b[1;32m 228\u001b[0m XLA_ELEMENT_TYPE_TO_DTYPE \u001b[38;5;241m=\u001b[39m {\n\u001b[1;32m 229\u001b[0m PrimitiveType\u001b[38;5;241m.\u001b[39mPRED: np\u001b[38;5;241m.\u001b[39mdtype(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mbool\u001b[39m\u001b[38;5;124m'\u001b[39m),\n\u001b[1;32m 230\u001b[0m PrimitiveType\u001b[38;5;241m.\u001b[39mS8: np\u001b[38;5;241m.\u001b[39mdtype(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mint8\u001b[39m\u001b[38;5;124m'\u001b[39m),\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 248\u001b[0m PrimitiveType\u001b[38;5;241m.\u001b[39mTOKEN: np\u001b[38;5;241m.\u001b[39mdtype(np\u001b[38;5;241m.\u001b[39mobject_),\n\u001b[1;32m 249\u001b[0m }\n","\u001b[0;31mAttributeError\u001b[0m: module 'ml_dtypes' has no attribute 'float8_e4m3b11'"]}],"id":"aab99ecb-ffd3-4633-8b95-a12a7dc95bc2"},{"cell_type":"markdown","source":"Navigate to the working directory","metadata":{},"id":"a89fa3f5-2dc8-4c4e-ab8b-1ffca85e3c72"},{"cell_type":"code","source":"import os\nos.chdir(os.path.join(\"DMFF\",\"examples\", \"classical\"))","metadata":{},"execution_count":3,"outputs":[],"id":"7d8f746b-1176-4cf3-a302-ba637e69efbf"},{"cell_type":"markdown","source":"### 1.1 Load existing force field parameters and topology | OpenMM Frontend \n\nIf you are using a force field in OpenMM, you can load the force field parameters using the `ForceField` class, like:\n```python\napp.Topology.loadBondDefinitions(\"lig-top.xml\")\npdb = app.PDBFile('lig.pdb')\npdb_system = pdb.topology\n\nforcefield = ForceField('someforcefield.xml')\n```\n\nIn DMFF, there is a functionality class called `Hamiltonian` that is similar to OpenMM's `ForceField` class. It allows you to read force field parameters and define a more generalized system potential energy function. At the same time, it is compatible with reading existing force field parameters.\n\n- We can use OpenMM to read PDB and topology files:\n - topology(`log-top.xml`)\n - PDB(`lig.pdb`)\n- Load the force field parameters using DMFF's Hamiltonian class and create a differentiable potential energy function:\n - GAFF force field file (`gaff-2.11.xml`)\n - Additional parameters for the corresponding molecule (assigned charges) (`lig-prm.xml`)\n \nThe DMFF potential function, apart from the name \"Hamiltonian,\" is used in a similar way to OpenMM. The XML files of OpenMM force fields can also be directly reused.","metadata":{},"id":"2143158a-3914-4023-ac83-72901975d82a"},{"cell_type":"code","source":"app.Topology.loadBondDefinitions(\"lig-top.xml\")\npdb = app.PDBFile(\"lig.pdb\")\nff = Hamiltonian(\"gaff-2.11.xml\", \"lig-prm.xml\")\npotentials = ff.createPotential(pdb.topology)","metadata":{},"execution_count":3,"outputs":[],"id":"5e8c689e-d13f-47cd-99fd-c5f60c49614b"},{"cell_type":"markdown","source":"In DMFF, the parameters and calculations of the potential function are managed by JAX. For example, the DMFF potential function includes the re-implemented HarmonicBondForce, HarmonicAngleForce, PeriodicTorsionForce, and NonbondedForce. The parameters in DMFF are JAX-wrapped Array objects. For example, if we define:\n```python\njnp.array([1.])\n```\nYou will obtain a `DeviceArray` type. This type has a similar interface to numpy.ndarray(), as both are high-performance arrays/matrices. However, unlike numpy, JAX's jax.numpy.array() can be extended to work with GPUs/TPUs, making it suitable for efficient automatic differentiation.","metadata":{},"id":"087c7d7e-499d-480b-b7e2-683634330a11"},{"cell_type":"code","source":"for k in potentials.dmff_potentials.keys():\n pot = potentials.dmff_potentials[k]\n print(k, pot)\n\nparams = ff.getParameters()\n# print(params.keys()) # GAFF2有四种 Force,'NonbondedForce', 'HarmonicBondForce', 'HarmonicAngleForce', 'PeriodicTorsionForce'\nnbparam = params['NonbondedForce']\nfor k,v in nbparam.items():\n print(k, type(v), v if v.shape[0]<10 else f\"shape: {v.shape}\")","metadata":{},"execution_count":4,"outputs":[{"name":"stdout","output_type":"stream","text":"HarmonicBondForce .potential_fn at 0x7f4e401437f0>\nHarmonicAngleForce .potential_fn at 0x7f4e40143be0>\nPeriodicTorsionForce .potential_fn at 0x7f4dfc538280>\nNonbondedForce .potential_fn at 0x7f4dfc538e50>\nsigma shape: (97,)\nepsilon shape: (97,)\n"}],"id":"6546efbf-6c0b-4790-9b4a-aa136cfb3f2d"},{"cell_type":"code","source":"potentials.meta[\"cov_map\"]","metadata":{},"execution_count":5,"outputs":[{"execution_count":5,"output_type":"execute_result","data":{"text/plain":"DeviceArray([[0, 1, 2, ..., 0, 0, 2],\n [1, 0, 1, ..., 0, 0, 3],\n [2, 1, 0, ..., 0, 0, 4],\n ...,\n [0, 0, 0, ..., 0, 2, 0],\n [0, 0, 0, ..., 2, 0, 0],\n [2, 3, 4, ..., 0, 0, 0]], dtype=int64)"},"metadata":{}}],"id":"7f6bf26c-0d91-4b00-8c1a-3cb8498041f9"},{"cell_type":"markdown","source":"### 1.2 Calculation | JAX Differentiable Backend \nIn the calculation of the defined potential functions, we require the following parameters:\n\n- **coordinates**: just use the coordinates in PDB file\n\n- **box**: We need to add the definition of the box since our PDB file does not contain this information. However, it is worth mentioning that if we use **None** for the box size, we can still obtain results because our system does not involve periodic boundaries.\n\n- **pairs**: The GAFF2 potential function requires the input of **NeighborList** to calculate nonbonded forces. Therefore, we can use the NeighborList class to obtain the pairs for the energy calculation.\n\nThen, we can pass these to the `get_energy` function, which is generated by the `generator` from the parsed XML force field parameters in **potentials.dmff_potentials**. For example, we can calculate the energy associated with the `NonbondedForce` interactions as follows:","metadata":{},"id":"3895de0e-010d-4125-bdc3-fbf53850cd83"},{"cell_type":"code","source":"positions = jnp.array(pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer))\n\nbox = jnp.array([\n [10.0, 0.0, 0.0],\n [ 0.0, 10.0, 0.0],\n [ 0.0, 0.0, 10.0]\n])\n# box=None # 使用这个也可以\n\nnbList = NeighborList(box, 4, potentials.meta[\"cov_map\"])\nnbList.allocate(positions)\npairs = nbList.pairs\n\n# pairs的格式是[原子索引1, 原子索引2, nbond],nbond为0表示没有bond\n# print(pairs)\n\nnbfunc = potentials.dmff_potentials['NonbondedForce']\n\n# 可以用 inspect 看看,`nbfunc`是一个【函数】,而inspect.signature()方法会告诉我们这个函数的输入参数有哪些\n# \n# import inspect\n# print(inspect.signature(nbfunc))\n\nnbene = nbfunc(positions, box, pairs, params)\nprint(nbene)","metadata":{},"execution_count":6,"outputs":[{"name":"stdout","output_type":"stream","text":"-425.4047017461835\n"}],"id":"f81744a2-085e-4dae-9a0b-64e1dee88d70"},{"cell_type":"markdown","source":"For the system we defined above, the total energy can be calculated as follows:\n\n$$E_{\\rm{total}}^{\\rm{GAFF2}}=E_{\\rm{bond}}+E_{\\rm{angle}}+E_{\\rm{torsion}}+E_{\\rm{nonbond}}$$\n\nTo calculate the total energy using the previously defined potential, you can use the `getPotentialFunc()` method, which will return the function for calculating the total energy.","metadata":{},"id":"7cd6a691-42b0-4800-a89a-49f29b479221"},{"cell_type":"code","source":"efunc = potentials.getPotentialFunc()\nparams = ff.getParameters()\ntotene = efunc(positions, box, pairs, params)\nprint(totene)","metadata":{},"execution_count":7,"outputs":[{"name":"stdout","output_type":"stream","text":"-52.35775535703641\n"}],"id":"fc12600d-1e31-4405-83f3-d0d2270e0c03"},{"cell_type":"markdown","source":"So far, the methods we have used to calculate the system energy are similar to those in OpenMM.\n\nThe main advantage of using JAX as a computational backend is that we can use the `jax.grad` function to obtain the gradients of a function. Its syntax is `jax.grad(func, argnums)`, where it calculates the (partial) derivatives of the function with respect to the **argument** specified by argnums.\n\nThe interface of the total energy calculation function efunc that we obtained is [coordinates, box, bond pairs, force field parameters]. ","metadata":{},"id":"72329b6d-66c5-433f-bff5-d7bea991a91f"},{"cell_type":"code","source":"# you can use inspect.signature to view the function interface signature\n# import inspect\n# print(inspect.signature(efunc))","metadata":{},"execution_count":8,"outputs":[],"id":"ce0b6451-1956-49da-bff3-7ab18389a943"},{"cell_type":"markdown","source":"By applying the \"differentiation of the function\" operation, specifically taking the partial derivatives of the total energy with respect to the coordinates, we can compute the partial derivatives of the total energy with respect to the coordinates. These derivatives can then be used to calculate the forces acting on the atoms in the molecule.\n\n$$\\frac{\\partial{E_{\\rm{total}}}}{\\partial{\\mathbf{Z_i}}}=-\\mathbf{F_i}, \\ i=x,y,z$$","metadata":{},"id":"0ae128d7-3d1a-47ce-8d78-b35cd856b144"},{"cell_type":"code","source":"pos_grad_func = jax.grad(efunc, argnums=0)\nforce = -pos_grad_func(positions, box, pairs, params)\nprint(force)","metadata":{},"execution_count":9,"outputs":[{"name":"stdout","output_type":"stream","text":"[[ 803.52957747 3400.29774026 -661.96213523]\n [ 1150.36392033 -2973.80535655 4723.1401719 ]\n [-1806.30563334 -1691.22853598 -4400.66468133]\n [-1975.18818512 -3796.76170845 -2135.01995789]\n [ 300.94474783 -2505.35668706 1973.24600965]\n [ 1417.86850059 4929.0136063 690.09213683]\n [-1214.69075969 -752.04890746 -728.64363448]\n [ 506.19084362 -1762.15983054 -183.44743699]\n [ 666.47812556 -96.44574992 1381.96013269]\n [-1764.39328602 -1823.64962431 -1339.25100614]\n [ 716.92780964 2224.67413422 -611.09476826]\n [ -668.08596611 -2633.60075168 -45.50003995]\n [ 525.3188336 1892.76410092 -324.60902175]\n [ -222.93562587 -1252.5822138 1038.35399886]\n [ 1050.2831757 1406.00072105 859.35930808]\n [ -149.99815788 -816.80260414 -112.40342883]\n [-2460.68641394 1360.33433118 -797.03282339]\n [-1690.67958659 -4545.06401473 67.80091833]\n [ 2421.74312888 2531.32994259 411.40292148]\n [-1881.71637547 2700.43869309 -938.8271789 ]\n [ 2230.84228769 -2105.44762878 996.80519838]\n [ 2820.17595634 3725.34103792 531.68421385]\n [ 1008.60327391 -1133.9584703 -123.14349352]\n [ -276.50743719 160.26940872 -402.33483739]\n [ 119.18246059 482.13137215 -187.78600837]\n [ 350.39374172 -1206.41303817 97.6235938 ]\n [ -646.06449223 625.31531552 662.35075182]\n [ -848.36122598 793.56182029 -1179.70627373]\n [ -110.52131871 -297.51678589 1608.69051833]\n [ 907.24924949 -712.65640858 -804.73153243]\n [ -23.81344251 -403.63449895 221.90382764]\n [ -974.84347195 1265.96450714 34.97803045]\n [ 1254.77065898 408.1267468 160.6793413 ]\n [ -523.41026695 797.07980959 -1009.97526506]\n [ 384.26997895 -426.25633961 378.53995254]\n [ -935.39210743 511.55922005 -1090.50523632]\n [ -150.10284632 -666.4265588 1039.41296827]\n [ 397.37612952 -338.39787242 339.2815683 ]\n [ 414.71386197 479.49633356 767.07953947]\n [ 965.36948355 160.06498779 13.46682867]\n [ -527.06588314 650.7009065 441.7987455 ]\n [ 317.29196525 998.74765406 -60.58825503]\n [ -273.48532288 918.78223009 -523.6331768 ]\n [ 1251.03183781 930.39541048 445.93120648]\n [ -647.65431898 -1616.51320224 -86.54822059]\n [-1666.19786619 -537.25322843 -452.23497364]\n [ -638.9467378 -822.28086508 -414.43010717]\n [ 751.15184138 454.18755264 783.01090009]\n [ 428.44509773 -256.58883573 -690.36786701]\n [ -603.21827361 231.03790584 -406.60888759]\n [ -831.82950411 -148.26754971 -253.45934033]\n [ -156.60888744 425.77912229 815.50717525]\n [ -181.66985391 242.79408619 13.22389549]\n [ -527.76583611 -599.48002448 -484.46773728]\n [ -955.47257532 -160.50351122 388.18000331]\n [ -212.87534091 -710.95427149 291.92603185]\n [ 34.79793147 149.08675492 746.77258693]\n [ -35.16803002 -257.83600642 -725.78935376]\n [ -63.9175139 318.12674851 679.27357666]\n [ 737.52783774 43.30127308 -182.65304035]\n [ 723.9084714 492.98317644 -177.7631343 ]\n [ 326.54325749 -76.56914279 -903.24205277]\n [ 8.258139 342.50611657 700.35028221]\n [ 721.14445971 20.56613577 -288.54115124]\n [ -195.67178466 -755.86375714 93.28108171]\n [ 128.54774337 1809.56507834 -670.14135826]]\n"}],"id":"55a230f0-7d8c-4639-a430-6fabe07a5348"},{"cell_type":"markdown","source":"### 1.3 [Review] Basic interface and key usage points of DMFF \n\n### 1.3.1 Applications of DMFF:\n**Molecular Force Field Optimization Platform**\n- DMFF is compatible with OpenMM's XML format for molecular force field parameters\n- Automatic differentiation and GPU support enable fast implementation of complex molecular dynamics force fields in DMFF\n- **flexible force field parameter optimization capability of DMFF**:\n - Improving a specific component among them×\n - Complex parameter optimization√ Rapid implementation through automatic differentiation frameworks\n### 1.3.2 General Operations\n### Generating Potential Functions\n- Defining force parameters in an XML file (OpenMM interface)\n- Description of the system in PDB and topology in XML format\n----\n```py\npdb = app.PDBFile(\"lig.pdb\")\nff = Hamiltonian(\"gaff-2.11.xml\", \"lig-prm.xml\")\npotentials = ff.createPotential(pdb.topology)\n```\n----\n### Calculating System's Energy and Forces\n----\n```py\nefunc = potentials.getPotentialFunc()\nparams = ff.getParameters()\n\n# energy function\ntotene = efunc(positions, box, pairs, params)\nprint(totene)\n\n# 力\npos_grad_func = jax.grad(efunc, argnums=0)\nforce = -pos_grad_func(positions, box, pairs, params)\nprint(force)\n```\n----\n### 1.3.3 [More] Why do we need \"differentiable\" JAX: The first step towards infinite possibilities for new force fields.\n> Why JAX?\n\nHere we take the example of the implementation of the HarmonicBondForce in DMFF to build a simple model to illustrate what we can do with the JAX backend of DMFF.\n\nIn this part we will use some customized files (modifying these files might help you understand what the DMFF frontend does):\n\nwe an create a new file `dummy-prm.xml`\n\n-----\n```xml\n\n \n \n \n \n \n \n \n\n```\n-----\n\n`dummy-top.xml`:\n\n-----\n```xml\n\n \n \n \n\n```\n-----\n\n`dummy.pdb`:\n\n-----\n```pdb\nREMARK 1 CREATED WITH MANUAL\nHETATM 1 C1 DUM A 1 0.000 0.000 0.000 1.00 0.00 C \nHETATM 2 C2 DUM A 1 1.000 0.000 0.000 1.00 0.00 C \nTER 3 DUM A 1\nEND\n```\n-----\n\n\n> and `dummy.xml`:\n\n-----\n```xml\n\n \n \n \n \n \n \n\n```\n-----","metadata":{},"id":"805db12e-cb86-4b17-9ef9-e210f8b00134"},{"cell_type":"code","source":"# from dmff/classical/intra.py\nimport jax.numpy as jnp\nfrom jax import value_and_grad\nfrom dmff.classical.intra import distance\n'''\ndef distance(p1v, p2v):\n return jnp.sqrt(jnp.sum(jnp.power(p1v - p2v, 2), axis=1))\n\nclass HarmonicBondJaxForce:\n def __init__(self, p1idx, p2idx, prmidx):\n self.p1idx = p1idx\n self.p2idx = p2idx\n self.prmidx = prmidx\n self.refresh_calculators()\n\n def generate_get_energy(self):\n def get_energy(positions, box, pairs, k, length):\n p1 = positions[self.p1idx,:]\n p2 = positions[self.p2idx,:]\n kprm = k[self.prmidx]\n b0prm = length[self.prmidx]\n dist = distance(p1, p2)\n return jnp.sum(0.5 * kprm * jnp.power(dist - b0prm, 2))\n\n return get_energy\n\n def update_env(self, attr, val):\n \"\"\"\n Update the environment of the calculator\n \"\"\"\n setattr(self, attr, val)\n self.refresh_calculators()\n\n def refresh_calculators(self):\n \"\"\"\n refresh the energy and force calculators according to the current environment\n \"\"\"\n self.get_energy = self.generate_get_energy()\n self.get_forces = value_and_grad(self.get_energy)\n'''\nimport openmm.app as app\napp.Topology.loadBondDefinitions(\"dummy-top.xml\")\npdb = app.PDBFile('dummy.pdb')\nff = Hamiltonian(\"dummy.xml\",\"dummy-prm.xml\")\npotentials = ff.createPotential(pdb.topology)\nefunc = potentials.getPotentialFunc()\nparams = ff.getParameters()\ntotene = efunc(jnp.array([[0,0,0],[0.11,0,0]]), box=None, pairs=[[0,1,1]], prms=params)\nprint(\"dmff energy:\",totene)\npos_grad_func = jax.grad(efunc, argnums=0)\nforce = -pos_grad_func(jnp.array([[0,0,0],[0.11,0,0]]), box=None, pairs=[[0,1,1]], prms=params)\nprint(\"dmff force:\",force)\n\ndef get_energy(positions, box, pairs, k, length):\n p1 = positions[[0],:]\n p2 = positions[[1],:]\n kprm = k[0]\n b0prm = length[0]\n dist = distance(p1, p2)\n return jnp.sum(0.5 * kprm * jnp.power(dist - b0prm, 2))\n\npos = jnp.array([[0,0,0],[0.11,0,0]])\nbox = None\npairs = [[0,1,1]]\nk = [100]\nlength = [0.1]\n\nprint(\"func energy:\", get_energy(pos,box,pairs,k,length))\n\npos_grad_func = jax.grad(get_energy, argnums=0)\nprint(\"func force:\", -pos_grad_func(pos,box,pairs,k,length))\n\ndef get_rmse_force(pos,box,pairs,k,length):\n return jnp.sum(jnp.power(pos_grad_func(pos,box,pairs,k,length),2))\n\nparam_grad_func = jax.grad(get_rmse_force, argnums=4)\nprint(\"param grad:\", param_grad_func(pos,box,pairs,k,length))\nprint(\"param grad, optimized:\", param_grad_func(pos,box,pairs,k,[0.11]))","metadata":{},"execution_count":11,"outputs":[{"name":"stdout","output_type":"stream","text":"dmff energy: 0.004999999999999995\ndmff force: [[ 1. -0. -0.]\n [-1. -0. -0.]]\nfunc energy: 0.004999999999999995\nfunc force: [[ 1. -0. -0.]\n [-1. -0. -0.]]\nparam grad: [DeviceArray(-400., dtype=float64, weak_type=True)]\nparam grad, optimized: [DeviceArray(-0., dtype=float64, weak_type=True)]\n"}],"id":"0920c0dd-5fb1-4c2c-86cc-4b1186d6f17c"},{"cell_type":"markdown","source":"- By taking derivatives with respect to coordinates, we can perform molecular dynamics (MD) simulations.\n- By taking derivatives with respect to the box, we can perform NPT ensemble molecular dynamics (MD) simulations.\n- By taking derivatives with respect to the parameters, we will be able to optimize the parameters of our defined force field using techniques such as gradient descent.\n\n### 1.4 Code\n[https://gitee.com/deepmodeling/DMFF](https://gitee.com/deepmodeling/DMFF)\n[https://github.com/deepmodeling/DMFF](https://github.com/deepmodeling/DMFF) ","metadata":{},"id":"4fff2fe9-7bf8-4ad2-a02d-98a85a522ec6"},{"cell_type":"markdown","source":"## 2. Mutipolar polarizable force field with fluctuating charges \nThis case is primarily contributed by Professor Kuang Yu\n\nIn the following example, we show how to implement a **multipolar polarizable potential with fluctuating charges** with DMFF API.\n\nIn conventional models, atomic charges are pre-defined and remain unchanged during the simulation. Here, we want to implement a model that considers atomic charges as *conformer-dependent*, so that the charges can vary during a molecular dynamics simulation. This will give better description of the system's behavior.\n\n### System preparation\nLoad the coordinates, box of a water dimer system. The unit of the frontend API is **nanometer**.\n\nNavigate to the working directory","metadata":{"jp-MarkdownHeadingCollapsed":true},"id":"b3383627-ed6b-4cd2-9988-116151e9b4c5"},{"cell_type":"code","source":"current_directory = os.getcwd()\nparent_directory = os.path.dirname(current_directory)\nos.chdir(parent_directory)\nos.chdir(os.path.join(\"fluctuated_leading_term_waterff\"))\n\nfrom dmff.api import Hamiltonian\nfrom jax_md import space, partition\nfrom jax import value_and_grad, jit\nimport pickle\nfrom dmff.admp.pme import trim_val_0\nfrom dmff.admp.spatial import v_pbc_shift\nfrom dmff.common import nblist\nfrom dmff.utils import jit_condition\nfrom dmff.admp.pairwise import (\n TT_damping_qq_c6_kernel,\n generate_pairwise_interaction,\n slater_disp_damping_kernel,\n slater_sr_kernel,\n TT_damping_qq_kernel\n)\n\nrc = 0.4\npdb = app.PDBFile(\"water_dimer.pdb\")\n# construct inputs\npositions = jnp.array(pdb.positions._value)\na, b, c = pdb.topology.getPeriodicBoxVectors()\nbox = jnp.array([a._value, b._value, c._value])","metadata":{},"execution_count":4,"outputs":[],"id":"b48345d8-5abf-4379-8168-c07ec26f0d4b"},{"cell_type":"markdown","source":"### 2.1 Genearate auto-differentiable multipolar polarizable (ADMP) forces \nFirst, we will use the `dmff` to create a multipolar polarizable potential with **fixed** atomic charges.\n\nHere, we have two types of force: \n\n- Dispersion force\n- Multipolar polarizable PME force.\n\nWe will focus on the PME force.","metadata":{},"id":"b0835b43-9b05-44db-87b7-dbe42240f15f"},{"cell_type":"code","source":"H = Hamiltonian('forcefield.xml')\n# generator stores all force field parameters \npots = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.nanometer, step_pol=5)\npme_pot = pots.dmff_potentials['ADMPPmeForce']\ndisp_generator, pme_generator = H.getGenerators()","metadata":{},"execution_count":5,"outputs":[],"id":"39ea05df-2ae2-498b-a6ff-46ea745da82f"},{"cell_type":"markdown","source":"The function `pme_pot` takes the following actions:\n\n- Expand **force field parameters** (oxygen and hydrogen charges, polarizabilites, etc.) pre-defined in `forcefield.xml` to each atom, which we called **atomic parameters**\n- Calls the real PME kernel function to evaluate energy.\n\nThe force field parameters are stored in Hamiltonian `H`. And the expansion is implemented with the *broadcast* feature of `jax.numpy.ndarray`. The expansion can be done using the variable `map_atomtype`, which maps each atom to the corrsponding atomtype.","metadata":{},"id":"168f3bf8-37dd-4137-a45c-036f5983c8ac"},{"cell_type":"code","source":"params = H.getParameters()['ADMPPmeForce']\nmap_atomtype = pots.meta[\"ADMPPmeForce_map_atomtype\"]\nparams['Q_local'][map_atomtype]","metadata":{},"execution_count":6,"outputs":[{"execution_count":6,"output_type":"execute_result","data":{"text/plain":"DeviceArray([[-0.803721 , -0.0784325 , 0. , 0. ,\n 0.00459693, 0. , 0. , 0.12960503,\n 0. ],\n [ 0.401876 , -0.0095895 , -0.0121713 , 0. ,\n 0.00812139, 0.00436148, 0. , 0.00701541,\n 0. ],\n [ 0.401876 , -0.0095895 , -0.0121713 , 0. ,\n 0.00812139, 0.00436148, 0. , 0.00701541,\n 0. ],\n [-0.803721 , -0.0784325 , 0. , 0. ,\n 0.00459693, 0. , 0. , 0.12960503,\n 0. ],\n [ 0.401876 , -0.0095895 , -0.0121713 , 0. ,\n 0.00812139, 0.00436148, 0. , 0.00701541,\n 0. ],\n [ 0.401876 , -0.0095895 , -0.0121713 , 0. ,\n 0.00812139, 0.00436148, 0. , 0.00701541,\n 0. ]], dtype=float64)"},"metadata":{}}],"id":"d0e6e127-c530-4509-b0a3-7fee93d2b36b"},{"cell_type":"markdown","source":"### 2.2 Implement fluctuating charges \nSince this expansion process is done internally within `pme_pot`, it is **not flexible** enough for us to specify atom-specific charges, i.e. **fluctuating charges**. \n\nAs a result, we must re-write `pme_pot` to enable modifying the atomic charges after force field parameter expansion. \n\nBenifiting from the flexible APIs in DMFF, we will reuse most of the functions and variables in the `pme_generator`, only modify charges in the input parameters, i.e. the `Q_local` argument in `pme_generator.pme_force.get_energy` function. One particular thing to be careful is that all ADMP backend functions assumes the inputs (`positions` and `box`) are in Angstrom, instead of nm!","metadata":{},"id":"964c81b1-7dde-473a-95e6-ea6dccdb8cf4"},{"cell_type":"code","source":"from dmff.utils import jit_condition\nfrom dmff.admp.pme import trim_val_0\nfrom dmff.admp.spatial import v_pbc_shift\n\n\n@jit_condition(static_argnums=())\ndef compute_leading_terms(positions, box):\n n_atoms = len(positions)\n c0 = jnp.zeros(n_atoms)\n c6_list = jnp.zeros(n_atoms)\n box_inv = jnp.linalg.inv(box)\n O = positions[::3]\n H1 = positions[1::3]\n H2 = positions[2::3]\n ROH1 = H1 - O\n ROH2 = H2 - O\n ROH1 = v_pbc_shift(ROH1, box, box_inv)\n ROH2 = v_pbc_shift(ROH2, box, box_inv)\n dROH1 = jnp.linalg.norm(ROH1, axis=1)\n dROH2 = jnp.linalg.norm(ROH2, axis=1)\n costh = jnp.sum(ROH1 * ROH2, axis=1) / (dROH1 * dROH2)\n angle = jnp.arccos(costh) * 180 / jnp.pi\n dipole = -0.016858755 + 0.002287251 * angle + 0.239667591 * dROH1 + (-0.070483437) * dROH2\n charge_H = dipole / dROH1\n charge_O = charge_H * (-2)\n C6_H = (-2.36066199 + (-0.007049238) * angle + 1.949429648 * dROH1+ 2.097120784 * dROH2) * 0.529**6 * 2625.5\n C6_O = (-8.641301261 + 0.093247893 * angle + 11.90395358 * (dROH1+ dROH2)) * 0.529**6 * 2625.5\n C6_H = trim_val_0(C6_H)\n c0 = c0.at[::3].set(charge_O)\n c0 = c0.at[1::3].set(charge_H)\n c0 = c0.at[2::3].set(charge_H)\n c6_list = c6_list.at[::3].set(jnp.sqrt(C6_O))\n c6_list = c6_list.at[1::3].set(jnp.sqrt(C6_H))\n c6_list = c6_list.at[2::3].set(jnp.sqrt(C6_H))\n return c0, c6_list\n\n\ndef generate_calculator(pots, pme_generator, params):\n map_atomtype = pots.meta[\"ADMPPmeForce_map_atomtype\"]\n map_poltype = pots.meta[\"ADMPPmeForce_map_poltype\"]\n def admp_calculator(positions, box, pairs):\n positions = positions * 10 # convert from nm to angstrom\n box = box * 10\n c0, c6_list = compute_leading_terms(positions, box) # compute fluctuated charges\n Q_local = params[\"Q_local\"][map_atomtype]\n Q_local = Q_local.at[:,0].set(c0) # change fixed charge into fluctuated one\n pol = params[\"pol\"][map_poltype]\n tholes = params[\"thole\"][map_poltype]\n mScales = pme_generator.mScales\n pScales = pme_generator.pScales\n dScales = pme_generator.dScales\n E_pme = pme_generator.pme_force.get_energy(\n positions, \n box, \n pairs, \n Q_local, \n pol, \n tholes, \n mScales, \n pScales, \n dScales\n )\n return E_pme \n return jax.jit(admp_calculator)","metadata":{},"execution_count":7,"outputs":[],"id":"c85107f6-0063-46de-8905-e26591f2c7c5"},{"cell_type":"markdown","source":"**Finally, compute the energy and force!**","metadata":{},"id":"ba9f7c49-f139-49d1-8dad-c83b409895e2"},{"cell_type":"code","source":"# neighbor list\nnbl = nblist.NeighborList(box, rc, pots.meta[\"cov_map\"])\nnbl.allocate(positions)\npairs = nbl.pairs\n\npotential_fn = generate_calculator(pots, pme_generator, params)\nene = potential_fn(positions, box, pairs)\nprint(ene)","metadata":{},"execution_count":8,"outputs":[{"name":"stdout","output_type":"stream","text":"-41.261709056188494\n"}],"id":"8ef82930-52ad-4a3a-853d-d05e34268616"},{"cell_type":"code","source":"force_fn = jax.grad(potential_fn, argnums=(0))\nforce = -force_fn(positions, box, pairs)\nprint(force)","metadata":{},"execution_count":9,"outputs":[{"name":"stdout","output_type":"stream","text":"[[ -76.31268719 117.49783627 -79.89266772]\n [ 751.2499921 -582.24588471 -251.82070224]\n [ -18.97483886 -49.68783375 146.28345763]\n [-675.35013452 382.30839617 204.50616711]\n [ -25.65479533 -52.55337869 41.92507785]\n [ 45.04246381 184.68086471 -61.00133263]]\n"}],"id":"da83ef43-70a4-4a5e-9437-2bff7fdd2b50"},{"cell_type":"markdown","source":"The running speed of the first pass is slow because JAX is trying to track the data flow and compile the code. Once the code is compiled, it runs much faster, until the shapes of the input parameters change, trigerring a recompilation. ","metadata":{},"id":"8dfc4b83-c290-4fc6-b37c-e265249290df"},{"cell_type":"code","source":"print(-force_fn(positions, box, pairs))","metadata":{},"execution_count":10,"outputs":[{"name":"stdout","output_type":"stream","text":"[[ -76.31268719 117.49783627 -79.89266772]\n [ 751.2499921 -582.24588471 -251.82070224]\n [ -18.97483886 -49.68783375 146.28345763]\n [-675.35013452 382.30839617 204.50616711]\n [ -25.65479533 -52.55337869 41.92507785]\n [ 45.04246381 184.68086471 -61.00133263]]\n"}],"id":"3340e66b-4d53-4a97-a1ae-afe6b2cdaeba"},{"cell_type":"markdown","source":"## 3. Bottom-Up Fitting \nThis case is primarily contributed by Junmin Chen\n\nIn this case, we will demonstrate how to use DMFF in a bottom-up fitting approach.\n\nNavigate to the working directory","metadata":{"jp-MarkdownHeadingCollapsed":true},"id":"37315f53-ed4c-4c46-97de-2a4c931ed9c0"},{"cell_type":"code","source":"current_directory = os.getcwd()\nparent_directory = os.path.dirname(current_directory)\nos.chdir(parent_directory)\nos.chdir(os.path.join(\"peg_slater_isa\"))","metadata":{},"execution_count":104,"outputs":[],"id":"0281ede7-0764-484b-9f28-fbc16989e64a"},{"cell_type":"markdown","source":"### 3.1 Problem introduction: \nThe main objective of bottom-up fitting is energies and forces calculated from first-principle calculations. The definition of this object function is relatively straightforward. In this example, we will focus on fitting the Pauli Exchange interaction between two PEG dimers.\n\n![s](https://i.postimg.cc/3xs7wMwW/image.png)\n\nThe intermolecular exchange repulsion term for this system can be written in the following form:\n\n$$\n\\begin{align}\n\\begin{cases}\nE_{ex} & = \\sum_{i\nWe define the relevant `Hamiltonian` (we will define different Hamiltonians and potential functions for the dimer and the two monomers separately):","metadata":{},"id":"5af6e793-7557-4eb7-af31-a0c33021f965"},{"cell_type":"code","source":"restart = 'params.0.pickle' # None\n#restart = None\nff = 'forcefield.xml'\npdb_AB = app.PDBFile('peg2_dimer.pdb')\npdb_A = app.PDBFile('peg2.pdb')\npdb_B = app.PDBFile('peg2.pdb')\nparam_file = 'params.0.pickle'\nH_AB = Hamiltonian(ff)\nH_A = Hamiltonian(ff)\nH_B = Hamiltonian(ff)\npme_generator_AB, \\\n disp_generator_AB, \\\n ex_generator_AB, \\\n sr_es_generator_AB, \\\n sr_pol_generator_AB, \\\n sr_disp_generator_AB, \\\n dhf_generator_AB, \\\n dmp_es_generator_AB, \\\n dmp_disp_generator_AB = H_AB.getGenerators()\npme_generator_A, \\\n disp_generator_A, \\\n ex_generator_A, \\\n sr_es_generator_A, \\\n sr_pol_generator_A, \\\n sr_disp_generator_A, \\\n dhf_generator_A, \\\n dmp_es_generator_A, \\\n dmp_disp_generator_A = H_A.getGenerators()\npme_generator_B, \\\n disp_generator_B, \\\n ex_generator_B, \\\n sr_es_generator_B, \\\n sr_pol_generator_B, \\\n sr_disp_generator_B, \\\n dhf_generator_B, \\\n dmp_es_generator_B, \\\n dmp_disp_generator_B = H_B.getGenerators()","metadata":{},"execution_count":117,"outputs":[],"id":"403aad12-5cf0-4c08-b243-758a8bf15ce1"},{"cell_type":"markdown","source":"And obtain the corresponding potential functionss:","metadata":{},"id":"1682c9ce-7e95-48a0-866f-686865b27eb4"},{"cell_type":"code","source":"rc = 1.45\n\n# get potential functions\npots_AB = H_AB.createPotential(pdb_AB.topology, nonbondedCutoff=rc*unit.nanometer, nonbondedMethod=app.CutoffPeriodic, ethresh=1e-4)\npot_pme_AB = pots_AB.dmff_potentials['ADMPPmeForce']\npot_disp_AB = pots_AB.dmff_potentials['ADMPDispPmeForce']\npot_ex_AB = pots_AB.dmff_potentials['SlaterExForce']\npot_sr_es_AB = pots_AB.dmff_potentials['SlaterSrEsForce']\npot_sr_pol_AB = pots_AB.dmff_potentials['SlaterSrPolForce']\npot_sr_disp_AB = pots_AB.dmff_potentials['SlaterSrDispForce']\npot_dhf_AB = pots_AB.dmff_potentials['SlaterDhfForce']\npot_dmp_es_AB = pots_AB.dmff_potentials['QqTtDampingForce']\npot_dmp_disp_AB = pots_AB.dmff_potentials['SlaterDampingForce']\npots_A = H_A.createPotential(pdb_A.topology, nonbondedCutoff=rc*unit.nanometer, nonbondedMethod=app.CutoffPeriodic, ethresh=1e-4)\npot_pme_A = pots_A.dmff_potentials['ADMPPmeForce']\npot_disp_A = pots_A.dmff_potentials['ADMPDispPmeForce']\npot_ex_A = pots_A.dmff_potentials['SlaterExForce']\npot_sr_es_A = pots_A.dmff_potentials['SlaterSrEsForce']\npot_sr_pol_A = pots_A.dmff_potentials['SlaterSrPolForce']\npot_sr_disp_A = pots_A.dmff_potentials['SlaterSrDispForce']\npot_dhf_A = pots_A.dmff_potentials['SlaterDhfForce']\npot_dmp_es_A = pots_A.dmff_potentials['QqTtDampingForce']\npot_dmp_disp_A = pots_A.dmff_potentials['SlaterDampingForce']\npots_B = H_B.createPotential(pdb_B.topology, nonbondedCutoff=rc*unit.nanometer, nonbondedMethod=app.CutoffPeriodic, ethresh=1e-4)\npot_pme_B = pots_B.dmff_potentials['ADMPPmeForce']\npot_disp_B = pots_B.dmff_potentials['ADMPDispPmeForce']\npot_ex_B = pots_B.dmff_potentials['SlaterExForce']\npot_sr_es_B = pots_B.dmff_potentials['SlaterSrEsForce']\npot_sr_pol_B = pots_B.dmff_potentials['SlaterSrPolForce']\npot_sr_disp_B = pots_B.dmff_potentials['SlaterSrDispForce']\npot_dhf_B = pots_B.dmff_potentials['SlaterDhfForce']\npot_dmp_es_B = pots_B.dmff_potentials['QqTtDampingForce']\npot_dmp_disp_B = pots_B.dmff_potentials['SlaterDampingForce']","metadata":{},"execution_count":118,"outputs":[],"id":"b2d8efa0-c3bb-4150-9344-2322b7d304a0"},{"cell_type":"markdown","source":"Note that in `forcefield.xml`, there is a complete force field that contains many components. Here, we are only interested in the exchange part, so we extract the relevant potential function from it.\n\nIn the subsequent calculation of the loss function, we will process minibatches of structures as input.","metadata":{},"id":"ab0a9beb-536b-4b77-a0ec-051fcb7395d7"},{"cell_type":"markdown","source":"### 3.3 Preparing inputs for the potential function (such as neighbor lists, etc) \n\nNext, we prepare the inputs required for these potential functions, with the most important one, the neighbor list. For a simple system with only two molecules, we can set `rc` to a relatively large value to include all possible interactions. This way, we don't need to update the neighbor list due to structural changes, which will speed up the calculations.\n\nFirst, we obtain the initial structure and box size:","metadata":{},"id":"7a16932d-253a-424d-bb34-89872ed27975"},{"cell_type":"code","source":"# init positions used to set up neighbor list\npos_AB0 = jnp.array(pdb_AB.positions._value)\nn_atoms = len(pos_AB0)\nn_atoms_A = n_atoms // 2\nn_atoms_B = n_atoms // 2\npos_A0 = jnp.array(pdb_AB.positions._value[:n_atoms_A])\npos_B0 = jnp.array(pdb_AB.positions._value[n_atoms_A:n_atoms])\nbox = jnp.array(pdb_AB.topology.getPeriodicBoxVectors()._value)","metadata":{},"execution_count":119,"outputs":[],"id":"222e9182-ea9a-4d2b-9e2a-3fe970110a0a"},{"cell_type":"markdown","source":"Then, construct a list of all atom pairs using the initial structure:","metadata":{},"id":"dcc775f6-d09c-4633-b0c7-07cd5807f6bb"},{"cell_type":"code","source":"# nn list initial allocation\nnbl_AB = nblist.NeighborList(box, rc, pots_AB.meta[\"cov_map\"])\nnbl_AB.allocate(pos_AB0)\npairs_AB = nbl_AB.pairs\nnbl_A = nblist.NeighborList(box, rc, pots_A.meta[\"cov_map\"])\nnbl_A.allocate(pos_A0)\npairs_A = nbl_A.pairs\nnbl_B = nblist.NeighborList(box, rc, pots_B.meta[\"cov_map\"])\nnbl_B.allocate(pos_B0)\npairs_B = nbl_B.pairs\n\npairs_AB = pairs_AB[pairs_AB[:, 0] < pairs_AB[:, 1]]\npairs_A = pairs_A[pairs_A[:, 0] < pairs_A[:, 1]]\npairs_B = pairs_B[pairs_B[:, 0] < pairs_B[:, 1]]","metadata":{},"execution_count":120,"outputs":[],"id":"44f4e571-d3d9-4c59-9e2d-26d0dc41c331"},{"cell_type":"markdown","source":"Next, obtain the initial parameters as the starting point for optimization:","metadata":{},"id":"b51a57ee-9d11-4599-9d83-e99cc3f51436"},{"cell_type":"code","source":"params0 = H_AB.getParameters()","metadata":{},"execution_count":121,"outputs":[],"id":"28981b3f-7604-4028-b6b6-0aaea4a81cc5"},{"cell_type":"code","source":"# construct total force field params\ncomps = ['ex', 'es', 'pol', 'disp', 'dhf', 'tot']\nweights_comps = jnp.array([0.1, 0.1, 0.1, 0.1, 0.1, 1.0])\nif restart is None:\n params = {}\n sr_forces = {\n 'ex': 'SlaterExForce',\n 'es': 'SlaterSrEsForce',\n 'pol': 'SlaterSrPolForce',\n 'disp': 'SlaterSrDispForce',\n 'dhf': 'SlaterDhfForce',\n }\n for k in params0['ADMPPmeForce']:\n params[k] = params0['ADMPPmeForce'][k]\n for k in params0['ADMPDispPmeForce']:\n params[k] = params0['ADMPDispPmeForce'][k]\n for c in comps:\n if c == 'tot':\n continue\n force = sr_forces[c]\n for k in params0[sr_forces[c]]:\n if k == 'A':\n params['A_'+c] = params0[sr_forces[c]][k]\n else:\n params[k] = params0[sr_forces[c]][k]\n # a random initialization of A\n for c in comps:\n if c == 'tot':\n continue\n params['A_'+c] = jnp.array(np.random.random(params['A_'+c].shape))\n # specify charges for es damping\n params['Q'] = params0['QqTtDampingForce']['Q']\nelse:\n with open(restart, 'rb') as ifile:\n params = pickle.load(ifile)","metadata":{},"execution_count":122,"outputs":[{"ename":"ImportError","evalue":"cannot import name 'TracerBoolConversionError' from 'jax._src.errors' (/opt/mamba/lib/python3.10/site-packages/jax/_src/errors.py)","output_type":"error","traceback":["\u001b[0;31m---------------------------------------------------------------------------\u001b[0m","\u001b[0;31mImportError\u001b[0m Traceback (most recent call last)","Cell \u001b[0;32mIn [122], line 35\u001b[0m\n\u001b[1;32m 33\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 34\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mopen\u001b[39m(restart, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mrb\u001b[39m\u001b[38;5;124m'\u001b[39m) \u001b[38;5;28;01mas\u001b[39;00m ifile:\n\u001b[0;32m---> 35\u001b[0m params \u001b[38;5;241m=\u001b[39m \u001b[43mpickle\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mload\u001b[49m\u001b[43m(\u001b[49m\u001b[43mifile\u001b[49m\u001b[43m)\u001b[49m\n","File \u001b[0;32m/opt/mamba/lib/python3.10/site-packages/jax/_src/array.py:30\u001b[0m\n\u001b[1;32m 28\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m api_util\n\u001b[1;32m 29\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m basearray\n\u001b[0;32m---> 30\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m core\n\u001b[1;32m 31\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m dispatch\n\u001b[1;32m 32\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m dtypes\n","File \u001b[0;32m/opt/mamba/lib/python3.10/site-packages/jax/_src/core.py:42\u001b[0m\n\u001b[1;32m 40\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m effects\n\u001b[1;32m 41\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mconfig\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m config\n\u001b[0;32m---> 42\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01merrors\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[1;32m 43\u001b[0m ConcretizationTypeError, TracerArrayConversionError, TracerBoolConversionError,\n\u001b[1;32m 44\u001b[0m TracerIntegerConversionError, UnexpectedTracerError)\n\u001b[1;32m 45\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m linear_util \u001b[38;5;28;01mas\u001b[39;00m lu\n\u001b[1;32m 47\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m source_info_util\n","\u001b[0;31mImportError\u001b[0m: cannot import name 'TracerBoolConversionError' from 'jax._src.errors' (/opt/mamba/lib/python3.10/site-packages/jax/_src/errors.py)"]}],"id":"b6139479-8ca5-41aa-a7d6-b14c554cc8e9"},{"cell_type":"markdown","source":"### 3.4 Definition of loss function ","metadata":{},"id":"75342d96-db47-46ed-9c0b-6db56fa1f2c8"},{"cell_type":"code","source":"@jit\ndef MSELoss(params, scan_res):\n '''\n The weighted mean squared error loss function\n Conducted for each scan\n '''\n E_tot_full = scan_res['tot_full']\n kT = 2.494 # 300 K = 2.494 kJ/mol\n weights_pts = jnp.piecewise(E_tot_full, [E_tot_full<25, E_tot_full>=25], [lambda x: jnp.array(1.0), lambda x: jnp.exp(-(x-25)/kT)])\n npts = len(weights_pts)\n\n energies = {\n 'ex': jnp.zeros(npts), \n 'es': jnp.zeros(npts), \n 'pol': jnp.zeros(npts),\n 'disp': jnp.zeros(npts),\n 'dhf': jnp.zeros(npts),\n 'tot': jnp.zeros(npts)\n }\n\n # setting up params for all calculators\n params_ex = {}\n params_sr_es = {}\n params_sr_pol = {}\n params_sr_disp = {}\n params_dhf = {}\n params_dmp_es = {} # electrostatic damping\n params_dmp_disp = {} # dispersion damping\n for k in ['B', 'mScales']:\n params_ex[k] = params[k]\n params_sr_es[k] = params[k]\n params_sr_pol[k] = params[k]\n params_sr_disp[k] = params[k]\n params_dhf[k] = params[k]\n params_dmp_es[k] = params[k]\n params_dmp_disp[k] = params[k]\n params_ex['A'] = params['A_ex']\n params_sr_es['A'] = params['A_es']\n params_sr_pol['A'] = params['A_pol']\n params_sr_disp['A'] = params['A_disp']\n params_dhf['A'] = params['A_dhf']\n # damping parameters\n params_dmp_es['Q'] = params['Q']\n params_dmp_disp['C6'] = params['C6']\n params_dmp_disp['C8'] = params['C8']\n params_dmp_disp['C10'] = params['C10']\n p = {}\n p['SlaterExForce'] = params_ex\n p['SlaterSrEsForce'] = params_sr_es\n p['SlaterSrPolForce'] = params_sr_pol\n p['SlaterSrDispForce'] = params_sr_disp\n p['SlaterDhfForce'] = params_dhf\n p['QqTtDampingForce'] = params_dmp_es\n p['SlaterDampingForce'] = params_dmp_disp\n\n # calculate each points, only the short range and damping components\n for ipt in range(npts):\n # get position array\n pos_A = jnp.array(scan_res['posA'][ipt]) / 10\n pos_B = jnp.array(scan_res['posB'][ipt]) / 10\n pos_AB = jnp.concatenate([pos_A, pos_B], axis=0)\n\n #####################\n # exchange repulsion\n #####################\n E_ex_AB = pot_ex_AB(pos_AB, box, pairs_AB, p)\n E_ex_A = pot_ex_A(pos_A, box, pairs_A, p)\n E_ex_B = pot_ex_B(pos_B, box, pairs_B, p)\n E_ex = E_ex_AB - E_ex_A - E_ex_B\n\n #######################\n # electrostatic + pol\n #######################\n E_dmp_es = pot_dmp_es_AB(pos_AB, box, pairs_AB, p) \\\n - pot_dmp_es_A(pos_A, box, pairs_A, p) \\\n - pot_dmp_es_B(pos_B, box, pairs_B, p)\n E_sr_es = pot_sr_es_AB(pos_AB, box, pairs_AB, p) \\\n - pot_sr_es_A(pos_A, box, pairs_A, p) \\\n - pot_sr_es_B(pos_B, box, pairs_B, p)\n\n ###################################\n # polarization (induction) energy\n ###################################\n E_sr_pol = pot_sr_pol_AB(pos_AB, box, pairs_AB, p) \\\n - pot_sr_pol_A(pos_A, box, pairs_A, p) \\\n - pot_sr_pol_B(pos_B, box, pairs_B, p)\n\n #############\n # dispersion\n #############\n E_dmp_disp = pot_dmp_disp_AB(pos_AB, box, pairs_AB, p) \\\n - pot_dmp_disp_A(pos_A, box, pairs_A, p) \\\n - pot_dmp_disp_B(pos_B, box, pairs_B, p)\n E_sr_disp = pot_sr_disp_AB(pos_AB, box, pairs_AB, p) \\\n - pot_sr_disp_A(pos_A, box, pairs_A, p) \\\n - pot_sr_disp_B(pos_B, box, pairs_B, p)\n\n ###########\n # dhf\n ###########\n E_AB_dhf = pot_dhf_AB(pos_AB, box, pairs_AB, p)\n E_A_dhf = pot_dhf_A(pos_A, box, pairs_A, p)\n E_B_dhf = pot_dhf_B(pos_B, box, pairs_B, p)\n E_dhf = E_AB_dhf - E_A_dhf - E_B_dhf\n\n energies['ex'] = energies['ex'].at[ipt].set(E_ex)\n energies['es'] = energies['es'].at[ipt].set(E_dmp_es + E_sr_es)\n energies['pol'] = energies['pol'].at[ipt].set(E_sr_pol)\n energies['disp'] = energies['disp'].at[ipt].set(E_dmp_disp + E_sr_disp)\n energies['dhf'] = energies['dhf'].at[ipt].set(E_dhf)\n energies['tot'] = energies['tot'].at[ipt].set(E_ex \n + E_dmp_es + E_sr_es\n + E_sr_pol \n + E_dmp_disp + E_sr_disp \n + E_dhf)\n errs = jnp.zeros(len(comps))\n for ic, c in enumerate(comps):\n dE = energies[c] - scan_res[c]\n mse = dE**2 * weights_pts / jnp.sum(weights_pts)\n errs = errs.at[ic].set(jnp.sum(mse))\n\n return jnp.sum(weights_comps * errs)","metadata":{},"execution_count":49,"outputs":[],"id":"e29e556a-12e8-4a71-8421-7fa6f5e1d9b3"},{"cell_type":"markdown","source":"In this function, we have added a statistical weight to each data point. By assigning weights to the data points, we can effectively ignore those with significantly higher total energies, which may not be important for the actual simulations.","metadata":{},"id":"f60b5c5e-f3e1-43cd-a426-c1b6f7ab92e6"},{"cell_type":"code","source":"# load data\nwith open('data_sr.pickle', 'rb') as ifile:\n data = pickle.load(ifile)\n\nMSELoss_grad = jit(value_and_grad(MSELoss, argnums=(0)))\nerr, gradients = MSELoss_grad(params, data['000'])\nsids = np.array(list(data.keys()))","metadata":{},"execution_count":null,"outputs":[],"id":"240786a9-8e8e-44cc-a8fe-05e506f2c779"},{"cell_type":"markdown","source":"### 3.5 Optimize \n\nonly optimize these parameters A/B","metadata":{},"id":"463259a5-b39b-433a-a902-089108885816"},{"cell_type":"code","source":"def mask_fn(grads):\n for k in grads:\n if k.startswith('A_') or k == 'B':\n continue\n else:\n grads[k] = 0.0\n return grads","metadata":{},"execution_count":24,"outputs":[],"id":"0e470b13-0c4e-4b14-a11a-0cb55ecb2250"},{"cell_type":"markdown","source":"To start our optimization loop, we can iterate over the data for a specified number of epochs and update the parameters using the optimizer. After each epoch, we can save the parameters as a pickle file.","metadata":{},"id":"788d6ad5-e851-46d5-ba2d-aa8e37467bb5"},{"cell_type":"code","source":"# start to do optmization\nlr = 0.01\noptimizer = optax.adam(lr)\nopt_state = optimizer.init(params)\n\nn_epochs = 2000\nfor i_epoch in range(n_epochs):\n np.random.shuffle(sids)\n for sid in sids:\n loss, grads = MSELoss_grad(params, data[sid])\n grads = mask_fn(grads)\n print(loss)\n sys.stdout.flush()\n updates, opt_state = optimizer.update(grads, opt_state)\n params = optax.apply_updates(params, updates)\n with open('params.pickle', 'wb') as ofile:\n pickle.dump(params, ofile)","metadata":{},"execution_count":null,"outputs":[],"id":"e6bf7507-20fb-43f1-93ff-fd261339e68f"},{"cell_type":"markdown","source":"## 4.Using DMFF for force field optimization of liquid dimethyl carbonate (DMC) ","metadata":{"jp-MarkdownHeadingCollapsed":true},"id":"55664308-ca38-48fa-898d-a5fa7e2d90d2"},{"cell_type":"markdown","source":"In the following case, we will provide a practical application of DMFF and build the corresponding workflow.\n\nThis case is primarily contributed by Wei Feng\n\n### 4.1 Introduction \nThe initial step in building a workflow using DMFF is to generate the potential function. The process and API are similar to OpenMM and generally follow the following steps:\n\n1. The first step in building a force field using DMFF is to define the force field object, known as the `Hamiltonian`. It encapsulates the `typification` rules and all the force field parameters. It can be seen as the equivalent of an XML file in OpenMM or an ITP file in GROMACS, but represented as a Python object. \n2. Obtain the molecular bond connectivity information for the system you want to simulate (you can use a PDB file).\n3. Based on the system's connectivity topology, you can use the `Hamiltonian` to classify and parameterize each atom, bond length, bond angle, dihedral angle, etc., and create a potential function. The function takes inputs such as atomic positions, box size, and force field parameters, making it suitable for subsequent derivative calculations.\n4. If necessary, the potential function can be modified and extended as needed. For example, using `jax.grad`, one can obtain a function to compute forces and the Virial matrix, which can be directly used in molecular dynamics (MD) simulations.\n5. `Estimator` and loss functions can be defined based on the potential function to compute desired properties. The optimization of parameters can be performed using a gradient descent optimizer.\n\n**In DMFF, we provide JAX implementations of various potential functions commonly used in traditional physics force fields, such as PME, pairwise interactions, multipole moments, and polarizable force fields. With the help of JAX's transformation tools, users can differentiate, vectorize, compile, and modify these potential functions. They can also create new potential functions by re-encapsulating and recombining existing ones. Additionally, users can develop `property estimators` based on these potential functions, and these new functions can also be further differentiated or vectorized. This function-centric programming paradigm in DMFF offers unbelievable flexibility in defining new force fields and objective functions.**\n\nTo provide users with a comprehensive understanding of the main modules and functionalities in DMFF and how these modules work together in force field development, we will demonstrate the complete process of model definition, optimization, and deployment using a coarse-grained model of dimethyl carbonate (DMC). The goal of this task is to optimize the interactions between three sites representing the DMC chain (3-site model) and reproduce the radial distribution function (RDF) of liquid DMC obtained from X-ray diffraction (XRD) experiments. We will also compare the DMC coarse-grained model force field with the all-atom OPLS-AA force field.\n\n![s](https://i.postimg.cc/0QkqGSyz/pic.jpg)\n\nNavigate to the working directory","metadata":{"jp-MarkdownHeadingCollapsed":true},"id":"475eefde-d99c-412d-b2f4-7ed93c179f86"},{"cell_type":"code","source":"current_directory = os.getcwd()\nparent_directory = os.path.dirname(current_directory)\nos.chdir(parent_directory)\nos.chdir(os.path.join(\"DMC\"))","metadata":{},"execution_count":61,"outputs":[],"id":"63321944-cf2b-4ad0-8188-7dc18c190247"},{"cell_type":"markdown","source":"### 4.2 Definition of potential function \nLoad the topology of the DMC system and construct the potential function for the simulation box:","metadata":{},"id":"2f05bf27-37f0-4eaf-9675-9d0538aa54a1"},{"cell_type":"code","source":"# Load PDB and topology data\npdb = app.PDBFile(\"box_DMC.pdb\")\ntop = pdb.topology\ntopdata = dmff.DMFFTopology(top)\ncov_mat = topdata.buildCovMat()","metadata":{},"execution_count":62,"outputs":[],"id":"e0a7c162-5ee8-4a36-a5c7-46848e837cb4"},{"cell_type":"markdown","source":"From the `prm1.xml` force field file, we can see that the function includes the following terms for intramolecular atomic interactions: bond, angle, and electrostatics, as well as intermolecular interactions represented by the Lennard-Jones potential:\n\n$$\\begin{align*}\n V(\\mathbf{R}) &= V_{\\mathrm{bond}} + V_\\mathrm{angle} + V_{\\mathrm{elec}} + V_{\\mathrm{vdW}} \\\\\n &= \\sum_{\\mathrm{bonds}}k_r(r - r_0)^2 + \\sum_{\\mathrm{angles}}k_\\theta(\\theta - \\theta_{eq})^2 + \\sum_{\\mathrm{i\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n```\nand we take the rest part as the res.xml. Then we can create potential & generator for this part in DMFF, and we need to define a xml-render function between xml files","metadata":{},"id":"a86a3823-6599-4f79-b6f5-e7678c054caf"},{"cell_type":"code","source":"# Load XML forcefield parameters\nio = XMLIO()\nio.loadXML(\"lj.xml\")\nffinfo = io.parseXML()\noperator = TemplateATypeOperator(ffinfo)\noperator.operate(topdata)\nfor na, a in enumerate(topdata._meta):\n print(a)\n \n# Create LJ potential\nparamset = ParamSet()\nlj_gen = LennardJonesGenerator(ffinfo, paramset)\nprint(paramset.parameters)\nprint()\nlj_force = lj_gen.createPotential(\n topdata, nonbondedMethod=app.CutoffPeriodic, nonbondedCutoff=1.0, args={})","metadata":{},"execution_count":63,"outputs":[{"name":"stdout","output_type":"stream","text":"{'LennardJonesForce': {'sigma': DeviceArray([0.5, 0.5], dtype=float64), 'epsilon': DeviceArray([0.75, 0.75], dtype=float64), 'sigma_nbfix': DeviceArray([], dtype=float64), 'epsilon_nbfix': DeviceArray([], dtype=float64)}}\n\n"}],"id":"712dab2c-cbcd-47ec-9674-95b89d2bded4"},{"cell_type":"code","source":"def xmlrender(file1, file2, file3):\n lj_tree = ET.parse(file1)\n lj_root = lj_tree.getroot()\n\n fullff_tree = ET.parse(file2)\n fullff_root = fullff_tree.getroot()\n\n nonbonded_force_element = fullff_root.find(\".//NonbondedForce\")\n\n lj_force_element = lj_root.find(\".//LennardJonesForce\")\n for atom_element in lj_force_element:\n nonbonded_force_element.append(atom_element)\n \n combined_tree = ET.ElementTree(fullff_root)\n combined_tree.write(file3, encoding='utf-8')","metadata":{},"execution_count":64,"outputs":[],"id":"93a0ee4f-11f6-48f6-a4f2-a41f3d5c2b8b"},{"cell_type":"markdown","source":"### 4.3 Definition of OpenMM sampler ","metadata":{},"id":"4cb1282a-58e8-4719-b907-ad6bc73a8412"},{"cell_type":"code","source":"# OpenMM sampler, for resampling during optimization\ndef runMD(ffile, trajfile):\n pdb = app.PDBFile('box_DMC.pdb')\n forcefield = app.ForceField(ffile)\n system = forcefield.createSystem(pdb.topology, nonbondedMethod=app.PME, nonbondedCutoff=1.0*unit.nanometer, constraints=app.HBonds)\n for force in system.getForces():\n if isinstance(force, mm.NonbondedForce):\n force.setUseDispersionCorrection(False)\n system.addForce(mm.MonteCarloBarostat(1.0*unit.bar, 293*unit.kelvin, 20))\n \n # Create integrator and simulation\n integ = mm.LangevinIntegrator(293*unit.kelvin, 5/unit.picosecond, 1*unit.femtosecond)\n simulation = app.Simulation(pdb.topology, system, integ)\n \n # Add reporters and perform simulation\n simulation.reporters.append(app.DCDReporter(trajfile, 4000))\n simulation.reporters.append(app.StateDataReporter(sys.stdout, 10000, density=True, step=True, remainingTime=True, speed=True, totalSteps=500*1000))\n simulation.context.setPositions(pdb.getPositions())\n simulation.minimizeEnergy()\n simulation.step(500*1000)\n\n# Usage\nrunMD(\"prm1.xml\", \"init.dcd\")","metadata":{},"execution_count":78,"outputs":[{"name":"stdout","output_type":"stream","text":"#\"Step\",\"Density (g/mL)\",\"Speed (ns/day)\",\"Time Remaining\"\n10000,0.6530003030971635,0,--\n20000,0.6446899494552302,636,1:05\n30000,0.654480923076971,635,1:03\n40000,0.671459932046347,635,1:02\n50000,0.6414382719916313,635,1:01\n60000,0.6637136428436129,635,0:59\n70000,0.6577889530955275,635,0:58\n80000,0.6682431392147973,635,0:57\n90000,0.6417739622327542,635,0:55\n100000,0.6588650508213222,635,0:54\n110000,0.6487744293895138,635,0:53\n120000,0.6360648337854733,635,0:51\n130000,0.6352417039403969,635,0:50\n140000,0.6560213808456982,635,0:49\n150000,0.6623521021910665,634,0:47\n160000,0.6521971277778645,634,0:46\n170000,0.6589500151573725,634,0:44\n180000,0.6704886539606272,634,0:43\n190000,0.6458769035922026,634,0:42\n200000,0.6534911856804638,634,0:40\n210000,0.6204816291822809,634,0:39\n220000,0.636381553562392,634,0:38\n230000,0.6567372679532382,634,0:36\n240000,0.660606478056156,634,0:35\n250000,0.650192833823221,634,0:34\n260000,0.6514872174830811,634,0:32\n270000,0.6400983888702015,634,0:31\n280000,0.6285535488055957,634,0:29\n290000,0.6573162752760268,634,0:28\n300000,0.6359023006772347,634,0:27\n310000,0.6386603469589097,635,0:25\n320000,0.6288081268924041,635,0:24\n330000,0.6656420040710469,635,0:23\n340000,0.6503358580491692,635,0:21\n350000,0.6528482463172317,635,0:20\n360000,0.6376504075487313,634,0:19\n370000,0.649412819278512,634,0:17\n380000,0.6561046947238908,634,0:16\n390000,0.650230647082696,634,0:14\n400000,0.6546968354167091,634,0:13\n410000,0.6525136526949809,634,0:12\n420000,0.647013386295085,634,0:10\n430000,0.6703421935342975,634,0:09\n440000,0.6680338729151056,634,0:08\n450000,0.6407888426631222,634,0:06\n460000,0.628742500395471,634,0:05\n470000,0.6567841435191818,634,0:04\n480000,0.6550768983884313,634,0:02\n490000,0.6556400271026187,631,0:01\n500000,0.6586471077786411,631,0:00\n"}],"id":"63951106-00b1-41c5-b452-3fcc3585b8e0"},{"cell_type":"markdown","source":"The function generates an NPT ensemble using OpenMM based on the input parameters and saves the generated samples in the specified trajectory file. This function will be repeatedly called for resampling purposes during subsequent optimization steps.\n\n### 4.4 Definition of Energy Rerun function in OpenMM & DMFF \n\nTo enhance computational efficiency, we opt to use DMFF only for calculating the energy of the Lennard Jones part, while the energy for the other parts is still obtained from OpenMM. Therefore, we need to design energy rerun functions pertaining to both OpenMM and DMFF.","metadata":{},"id":"060d68cf-7df9-489f-8899-666bda63be9c"},{"cell_type":"code","source":"def rerun_energy(ffile, traj, skip=20, removeLJ=True, skpi=0):\n samples = md.load(traj, top='box_DMC.pdb')[skip:]\n pdb = app.PDBFile('box_DMC.pdb')\n forcefield = app.ForceField(ffile)\n system = forcefield.createSystem(pdb.topology, nonbondedMethod=app.PME, nonbondedCutoff=1.0*unit.nanometer, constraints=app.HBonds)\n for force in system.getForces():\n if isinstance(force, mm.NonbondedForce):\n force.setUseDispersionCorrection(False)\n if removeLJ:\n for npart in range(force.getNumParticles()):\n chrg, sig, eps = force.getParticleParameters(npart)\n force.setParticleParameters(npart, chrg, 1.0, 0.0)\n for nex in range(force.getNumExceptions()):\n p1, p2, chrg, sig, eps = force.getExceptionParameters(nex)\n force.setExceptionParameters(nex, p1, p2, chrg, 1.0, 0.0)\n integ = mm.LangevinIntegrator(293*unit.kelvin, 5/unit.picosecond, 1*unit.femtosecond)\n ctx = mm.Context(system, integ)\n energies = []\n for frame in tqdm(samples):\n ctx.setPositions(frame.xyz[0] * unit.nanometer)\n ctx.setPeriodicBoxVectors(*frame.unitcell_vectors[0])\n ctx.applyConstraints(1e-10)\n state = ctx.getState(getEnergy=True)\n energy = state.getPotentialEnergy().value_in_unit(unit.kilojoule_per_mole)\n energies.append(energy)\n return np.array(energies)","metadata":{},"execution_count":79,"outputs":[],"id":"23a3b075-6749-415d-b0e5-2658db14be95"},{"cell_type":"code","source":"def rerun_dmff_lennard_jones(params, pdb, traj, efunc, skip=0):\n samples = md.load(traj, top=pdb)[skip:]\n energies = []\n nblist = NeighborListFreud(samples.unitcell_vectors[0], 1.0, cov_mat)\n xyzs_jnp = jnp.array(samples.xyz)\n cell_jnp = jnp.array(samples.unitcell_vectors)\n energies = []\n nblist = NeighborListFreud(samples.unitcell_vectors[0], 1.0, cov_mat)\n xyzs_jnp = jnp.array(samples.xyz)\n cell_jnp = jnp.array(samples.unitcell_vectors)\n energies = []\n for nframe in trange(len(samples)):\n frame = samples[nframe]\n # calc pair\n pairs = jnp.array(nblist.allocate(frame.xyz[0], frame.unitcell_vectors[0]))\n ener = efunc(xyzs_jnp[nframe,:,:], cell_jnp[nframe,:,:], pairs, params)\n energies.append(ener.reshape((1,)))\n energies = jnp.concatenate(energies)\n return energies","metadata":{},"execution_count":80,"outputs":[],"id":"82ec485f-95c1-4fb6-a393-ef82a9db06bb"},{"cell_type":"markdown","source":"### 4.5 Definition of property calculation functions \n\nIn the fitting process, we need to simultaneously fit the Radial Distribution Function (RDF) and density. Therefore, we will define separate calculation functions for RDF and density:","metadata":{},"id":"b50ba93c-27bb-4b9b-9f68-bdd92cbb50c6"},{"cell_type":"code","source":"# define property calculator, in our case, rdf for each frame:\ndef compute_rdf_frame(traj, xaxis):\n rdf_list = []\n delta = xaxis[1] - xaxis[0]\n\n coordinates = traj.xyz\n masses = np.array([15, 15, 60]) # mass of each site\n coordinates_3d = coordinates.reshape((traj.n_frames, 175, 3, 3))\n com = np.sum(masses[:, np.newaxis] * coordinates_3d, axis=2) / 90\n\n pairs = np.array(list(combinations(range(175), 2)))\n\n tidx = np.arange(0, 525, 3, dtype=int)\n tsub = traj.atom_slice(tidx)\n tsub.xyz = com\n \n for frame in tsub:\n _, g_r = md.compute_rdf(frame, pairs, r_range=(xaxis[0]-0.5*delta, xaxis[-1]+0.5*delta+1e-10), bin_width=delta)\n rdf_list.append(g_r.reshape((1, -1)))\n return np.concatenate(rdf_list, axis=0)","metadata":{},"execution_count":81,"outputs":[],"id":"9c977f6e-29a0-4624-b608-a5ea5eb31ca1"},{"cell_type":"markdown","source":"When calculating the ensemble average of an observable quantity $A$, the following statistical quantities need to be computed: $\\langle A \\rangle_p = \\sum_n W (x_n ; \\theta) A(x_n ; \\theta)$, code above has defined the $A(x_n ; \\theta)$ function.\n\nIn general, we need to encapsulate $\\langle A \\rangle_p $ in a function and then take its overall derivative during each optimization iteration.\nHowever, in this case, since the RDF and density are purely structural properties that are independent of $\\theta$ and do not participate in the derivative calculation, we can precompute the RDF for each sample ($A(x_n)$) and store it. It is not necessary to recalculate it in every iteration.\n\nIn the code above, we use the existing tools in `mdtraj` to compute the RDF for each frame, rather than using a differentiable implementation with jax.\n\n### 4.6 Read the data and perform the comparison \n\nRead the experimental data and pre-compute the RDF for the DMC full-atom model in the OPLS-AA force field (generated by LigPargen) as comparison:","metadata":{},"id":"066a1963-01cc-4f72-82b1-a937c3e64ee0"},{"cell_type":"code","source":"# Prepare reference data\ndef readRDF(fname):\n with open(fname, \"r\") as f:\n data = np.array([[float(j) for j in i.strip().split()] for i in f])\n xaxis = np.linspace(2.0, 14.0, 121)\n yinterp = np.interp(xaxis, data[:,0], data[:,1])\n return xaxis, yinterp\n\n# read experimental benzene RDF\nx_ref, y_ref = readRDF(\"DMC_Experi.txt\")\nm_ref, n_ref = readRDF(\"DMC_OPLS.txt\")","metadata":{},"execution_count":82,"outputs":[],"id":"ad92d3c4-895e-4d81-ad41-1709a4a3d053"},{"cell_type":"markdown","source":"We will compare the RDF results obtained from the RDF calculation function with the experimental data and the RDF results from the full-atom model in the OPLS-AA force field. Let's start by looking at the RDF generated from the initial parameter sampling, which serves as our starting point for optimization.","metadata":{},"id":"b7f635fc-07f5-47d5-9efa-1056af9acfe7"},{"cell_type":"code","source":"traj_init = md.load(\"init.dcd\", top=\"box_DMC.pdb\")[20:]\nrdf_frames_init = compute_rdf_frame(traj_init, x_ref*0.1)\nrdf_init = rdf_frames_init.mean(axis=0)\n\nplt.plot(x_ref, rdf_init, label = \"Initial\")\n#plt.plot(x_ref, y_ref, label = \"Experiment\")\nplt.plot(m_ref, n_ref, label = \"OPLS-AA\")\n\nplt.legend()\nplt.show()","metadata":{},"execution_count":83,"outputs":[{"output_type":"display_data","data":{"image/png":"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\n","text/plain":"
"},"metadata":{}}],"id":"ea4602ca-3493-43f8-b25e-73cc3a13e975"},{"cell_type":"markdown","source":"Up to now, we have completed the preparation for force field optimization. Before starting the optimization loop, we need to prepare some few tools. Here, we introduce the distinctive feature of DMFF - Property Estimator.\n\nThe computational cost of computing deep computational graphs that span the entire trajectory in molecular dynamics simulations is significantly high in terms of both time and computation. However, this drawback can be mitigated by a trajectory reweighting approach. In DMFF, the reweighting algorithm is introduced in the MBAR method, which extends the differentiable estimators for ensemble averages and free energies.\n\n![s](https://i.postimg.cc/v8VbtcQH/Traj-reweighting.jpg)\n\n### Optimization of Physical Properties Based on the Zwanzig Reweighting Scheme\n\nThe core of this optimization scheme is the following derivation process:\n\n$$\\left_{H_1}=\\frac{\\int{A\\left(r\\right)\\exp\\left[-\\beta U^{H_1}\\left(r\\right)\\right]dr}}{Z_{H_1}}$$\n$$=\\frac{\\int{A\\exp\\left[-\\beta \\left(U^{H_1}-U^{H_2}+U_{H_2}\\right)\\right]dr}}{Z_{H_1}}$$\n$$=\\frac{\\int{A\\exp\\left[-\\beta \\left(U^{H_1}-U^{H_2}\\right)\\right]\\exp\\left(-\\beta U^{H_2}\\right)dr}}{Z_{H_1}}$$\n$$=\\frac{\\int{A\\exp\\left[-\\beta \\left(U^{H_1}-U^{H_2}\\right)\\right]\\exp\\left(-\\beta U^{H_2}\\right)dr}}{Z_{H_2}}\\frac{Z_{H_2}}{Z_{H_1}}$$\n$$=\\left_{H_2}\\frac{Z_{H_2}}{Z_{H_1}}$$\n\nwhere\n$$Z_{H_1}=\\int{\\exp\\left[-\\beta U^{H_1}\\left(r\\right)\\right]dr}$, $Z_{H_2}=\\int{\\exp\\left[-\\beta U^{H_2}\\left(r\\right)\\right]dr}$$\n\n\nThis implies that we can estimate the ensemble average of$H_1$sing the average value under the$H_2$ensemble.\n\nand $\\frac{Z_{H_1}}{Z_{H_2}}$can be further transformed into:\n$$\\frac{Z_{H_1}}{Z_{H_2}}=\\frac{\\int{\\exp\\left(-\\beta U^{H_1}\\right)dr}}{Z_{H_2}}$$\n$$=\\frac{\\int{\\exp\\left[-\\beta \\left(U^{H_1}-U^{H_2}+U^{H_2}\\right)\\right]dr}}{Z_{H_2}}$$\n$$=\\frac{\\int{\\exp\\left[-\\beta \\left(U^{H_1}-U^{H_2}\\right)\\right]\\exp\\left(-\\beta U^{H_2}\\right)dr}}{Z_{H_2}}$$\n$$=\\left<\\exp\\left[-\\beta \\left(U^{H_1}-U^{H_2}\\right)\\right]\\right>_{H_2}$$\n\nThen:\n$$\\left_{H_1}=\\left<\\frac{\\exp\\left[-\\beta \\left(U^{H_1}-U^{H_2}\\right)\\right]}{\\left<\\exp\\left[-\\beta \\left(U^{H_1}-U^{H_2}\\right)\\right]\\right>_{H_2}} A\\right>_{H_2}=\\sum^{H_2}_i {\\frac{\\exp\\left[-\\beta \\left(U^{H_1}_i-U^{H_2}_i\\right)\\right]}{\\left<\\exp\\left[-\\beta \\left(U^{H_1}-U^{H_2}\\right)\\right]\\right>_{H_2}} A_i}$$\n\n$\\frac{\\exp\\left[-\\beta \\left(U^{H_1}_i-U^{H_2}_i\\right)\\right]}{\\left<\\exp\\left[-\\beta \\left(U^{H_1}-U^{H_2}\\right)\\right]\\right>_{H_2}}$can be viewed as the weight of conformation when estimating the sampling of$H_1$using samples from the$H_2$potential function.\n\n`ReweightEstimator`is a module provided by DMFF that employs the reweighting method to estimate physical quantities in a differentiable manner. The use of this module presupposes the implementation of various sampling and recalculating functions.","metadata":{},"id":"b6e7772f-3fe0-4bc8-b4da-54a7e16f3fba"},{"cell_type":"markdown","source":"### 4.7 Optimize ","metadata":{},"id":"0b91e520-8e9f-45e0-90ab-d857bc8b87d3"},{"cell_type":"code","source":"optimizer = optax.adam(0.001)\nopt_state = optimizer.init(paramset)","metadata":{},"execution_count":84,"outputs":[],"id":"07e008c0-a73d-4f84-9405-663337c3e31c"},{"cell_type":"code","source":"lbfgs = None\nos.system(\"cp lj.xml loop-0.xml\")\nNL = 60\nfor nloop in range(1, NL+1):\n xmlrender(f\"loop-{nloop-1}.xml\", 'res.xml', f\"loop-{nloop-1}.xml\")\n # sample\n print(\"SAMPLE\")\n print(nloop)\n runMD(f\"loop-{nloop-1}.xml\", f\"loop-{nloop}.dcd\")\n print(\"RERUN\")\n ener = rerun_energy(f\"loop-{nloop-1}.xml\", f\"loop-{nloop}.dcd\", removeLJ=False, skip=20)\n ener_no_lj = rerun_energy(f\"loop-{nloop-1}.xml\", f\"loop-{nloop}.dcd\", skip=20)\n print(\"ESTIMATOR\")\n traj = md.load(f\"loop-{nloop}.dcd\", top=\"box_DMC.pdb\")[20:]\n estimator = ReweightEstimator(ener, base_energies=ener_no_lj, volume=traj.unitcell_volumes)\n\n print(\"CALC DENSE & RDF\")\n density = md.density(traj) * 0.001\n\n # get loss & grad\n # Define loss function\n rdf_frames = compute_rdf_frame(traj, x_ref*0.1)\n\n def loss(paramset):\n lj_jax = rerun_dmff_lennard_jones(paramset, \"box_DMC.pdb\", f\"loop-{nloop}.dcd\", lj_force, skip=20)\n weight = estimator.estimate_weight(lj_jax)\n\n rdf_pert = (rdf_frames * weight.reshape((-1, 1))).sum(axis=0)\n loss_ref = jnp.log(jnp.power(rdf_pert - n_ref, 2).mean())\n\n # loss function of density \n dens = weight * density\n dens = dens.mean()\n loss_den = jnp.power(dens - 1.07, 2) * 10.0\n \n return loss_ref + loss_den\n \n v_and_g = jax.value_and_grad(loss, 0)\n v, g = v_and_g(paramset)\n print(\"Loss:\", v)\n \n plt.plot(m_ref, n_ref, label = \"OPLS-AA\")\n # plt.plot(x_ref, y_ref, label = \"Experiment\")\n plt.plot(x_ref, rdf_frames.mean(axis=0), label = \"Current\")\n plt.legend()\n plt.title(f\"Loop-{nloop}\")\n # plt.savefig(\"compare.png\")\n plt.show()\n \n # update parameters\n updates, opt_state = optimizer.update(g, opt_state)\n paramset = optax.apply_updates(paramset, updates)\n paramset = jax.tree_map(lambda x: jnp.clip(x, 0.0, 1e8), paramset)\n\n lj_gen.overwrite(paramset)\n io.writeXML(f\"loop-{nloop}.xml\", ffinfo)","metadata":{"collapsed":true,"jupyter":{"outputs_hidden":true}},"execution_count":88,"outputs":[{"name":"stdout","output_type":"stream","text":"SAMPLE\n1\n#\"Step\",\"Density (g/mL)\",\"Speed (ns/day)\",\"Time Remaining\"\n10000,0.6730764728182231,0,--\n20000,0.6696147699946959,630,1:05\n30000,0.6463700406350699,631,1:04\n40000,0.6513872754825832,632,1:02\n50000,0.6525823187238825,632,1:01\n60000,0.6697139951608344,632,1:00\n70000,0.6565018659501556,632,0:58\n80000,0.6609978504701608,632,0:57\n90000,0.6501425402456501,632,0:56\n100000,0.640095565199735,632,0:54\n110000,0.6443495006874734,631,0:53\n120000,0.6453797909596053,631,0:52\n130000,0.6530586356467012,631,0:50\n140000,0.6511252331292993,631,0:49\n150000,0.6493585685714136,631,0:47\n160000,0.6611654692166531,631,0:46\n170000,0.6299647190742841,631,0:45\n180000,0.6550507623880887,631,0:43\n190000,0.6495030541186503,631,0:42\n200000,0.6487052133702255,631,0:41\n210000,0.647436641281221,631,0:39\n220000,0.6407083815064721,631,0:38\n230000,0.6835766784819463,631,0:36\n240000,0.6523389185956995,631,0:35\n250000,0.6386700641861797,631,0:34\n260000,0.6366873388067018,631,0:32\n270000,0.6554711466088526,631,0:31\n280000,0.6733783358224606,631,0:30\n290000,0.6475780246181619,631,0:28\n300000,0.6518880842322466,631,0:27\n310000,0.6698398872549354,631,0:26\n320000,0.6499392023521838,631,0:24\n330000,0.6405015051374844,631,0:23\n340000,0.6569710829177986,631,0:21\n350000,0.653853314089067,631,0:20\n360000,0.6559514775052917,631,0:19\n370000,0.640813435250535,631,0:17\n380000,0.6577314006594823,631,0:16\n390000,0.6689406807401618,631,0:15\n400000,0.6389693056414331,631,0:13\n410000,0.6566227267576341,631,0:12\n420000,0.6518080774545063,631,0:10\n430000,0.6499563052222843,631,0:09\n440000,0.6534193803863104,631,0:08\n450000,0.6529777427799393,631,0:06\n460000,0.6570511948370427,631,0:05\n470000,0.6563692544539336,631,0:04\n480000,0.6474223491655458,631,0:02\n490000,0.6493028200087201,631,0:01\n500000,0.6427357003549519,631,0:00\nRERUN\nESTIMATOR\nCALC DENSE & RDF\nLoss: 15.870180676782528\n"},{"output_type":"display_data","data":{"image/png":"iVBORw0KGgoAAAANSUhEUgAAAiMAAAGzCAYAAAD9pBdvAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAByWElEQVR4nO3dd3iUVdrH8e9MekgjQBqEXkLvIEUBARGwYO91dVfFVSyr4q5lfVVWXeuuioqKDbuii4IiHQSpoYdeQiAFQnqfed4/niQQaspknkny+1zXXDNMO3cCZO6cc5/72AzDMBARERGxiN3qAERERKRhUzIiIiIillIyIiIiIpZSMiIiIiKWUjIiIiIillIyIiIiIpZSMiIiIiKWUjIiIiIillIyIiIiIpZSMiIiIiKWUjIiIqc0ffp0bDYbq1evtjqUSlu5ciX33HMPffv2xcfHB5vNZnVIIlIJSkZEpN74+eefmTZtGjabjbZt21odjohUkpIREak37r77bjIzM1m9ejWjR4+2OhwRqSQlIyJSbevWrWPs2LGEhIQQFBTEyJEjWbFixUnP2717N1dddRXh4eEEBgZyzjnn8NNPP1V4zsKFC7HZbHz55Zc8/vjjREVF0ahRIy655BISExMrFU9kZCQBAQEu+dpExH28rQ5AROqmzZs3c+655xISEsIjjzyCj48P77zzDsOHD2fRokUMHDgQgJSUFAYPHkxeXh733XcfTZo04aOPPuKSSy7hm2++4bLLLqvwvs899xw2m41HH32U1NRUXnvtNUaNGkV8fLwSDZF6SsmIiFTLP/7xD4qLi1m6dGl5fcbNN99Mp06deOSRR1i0aBEA//rXv0hJSWHJkiUMHToUgDvvvJMePXrw4IMPcumll2K3H5ukTU9PZ+vWrQQHBwPQp08frr76at577z3uu+8+N3+VIuIOWqYRkSpzOBz8+uuvTJgwoUKhaHR0NNdffz1Lly4lKysLMItKBwwYUJ6IAAQFBfHnP/+ZvXv3smXLlgrvffPNN5cnIgBXXnkl0dHR/Pzzz7X8VYmIVZSMiEiVpaWlkZeXR6dOnU56rHPnzjidzvI6j3379p32eWWPH69Dhw4V/myz2Wjfvj179+4FICcnh+Tk5PJLWlqaK74kEbGQkhERqVP+/e9/Ex0dXX7p37+/1SGJSA2pZkREqqxZs2YEBgaybdu2kx5LSEjAbrcTGxsLQKtWrU77vLLHj7djx44KfzYMg507d9KjRw/AXMY5fslHRa0idZ9mRkSkyry8vLjgggv44YcfypdPwNw5M2PGDIYOHUpISAgA48aNY+XKlSxfvrz8ebm5ubz77ru0bt2aLl26VHjvjz/+mOzs7PI/f/PNNxw6dIixY8cC0LZtW0aNGlV+GTJkSC1+pSLiDpoZEZEz+uCDD5gzZ85J9z/99NPMnTuXoUOHcs899+Dt7c0777xDYWEhL774YvnzHnvsMT7//HPGjh3LfffdR3h4OB999BF79uzh22+/rbCTBiA8PJyhQ4dy2223kZKSwmuvvUb79u258847zxrrvn37+OSTTwDK29g/++yzgDkDc9NNN1X7+yAitcgQETmFDz/80ABOe0lMTDTWrl1rjBkzxggKCjICAwONESNGGL///vtJ77Vr1y7jyiuvNMLCwgx/f39jwIABxqxZsyo8Z8GCBQZgfP7558bkyZONiIgIIyAgwBg/fryxb9++SsVc9h6nugwbNswV3xYRqQU2wzAMK5IgEZHjLVy4kBEjRvD1119z5ZVXWh2OiLiRakZERETEUkpGRERExFJKRkRERMRSqhkRERERS2lmRERERCylZEREREQsVSeanjmdTg4ePEhwcDA2m83qcERERKQSDMMgOzubmJiYkxocHq9OJCMHDx4sP+dCRERE6pbExERatGhx2sfrRDISHBwMmF9M2XkXIiIi4tmysrKIjY0t/xw/nTqRjJQtzYSEhCgZERERqWPOVmKhAlYRERGxlJIRERERsZSSEREREbFUnagZERGRhsMwDEpKSnA4HFaHImfh5eWFt7d3jdtuKBkRERGPUVRUxKFDh8jLy7M6FKmkwMBAoqOj8fX1rfZ7KBkRERGP4HQ62bNnD15eXsTExODr66tGlx7MMAyKiopIS0tjz549dOjQ4YyNzc5EyYiIiHiEoqIinE4nsbGxBAYGWh2OVEJAQAA+Pj7s27ePoqIi/P39q/U+KmAVERGPUt3frsUarvj70t+4iIiIWErJiIiIiFhKyYiIiIhYSsmIiIiICyQmJnL77beX7wRq1aoV999/P0eOHCl/zvDhw7HZbNhsNvz9/enSpQtvvfVW+ePTp08nLCzstGOkpaVx991307JlS/z8/IiKimLMmDEsW7asUjHGxcXh5+dHcnLy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R48eVofikY4ePcqQIUPw8fFh9uzZbNmyhZdffpnGjRtbHZrHeeGFF3j77bf573//y9atW3nhhRd48cUX+c9//mN1aB4hNzeXnj178uabb57y8RdffJE33niDqVOn8scff9CoUSPGjBlDQUGBmyO13pm+V3l5eaxdu5YnnniCtWvX8t1337Ft2zYuueQSCyK13tn+XZX5/vvvWbFiBTExMW6KDDDESE1NNQBj0aJFVofisbKzs40OHToYc+fONYYNG2bcf//9VofkcR599FFj6NChVodRJ4wfP964/fbbK9x3+eWXGzfccINFEXkuwPj+++/L/+x0Oo2oqCjjpZdeKr8vIyPD8PPzMz7//HMLIvQcJ36vTmXlypUGYOzbt889QXmo032vDhw4YDRv3tzYtGmT0apVK+PVV191SzwNcmbkRJmZmQCEh4dbHInnmjhxIuPHj2fUqFFWh+KxfvzxR/r168dVV11FREQEvXv35r333rM6LI80ePBg5s2bx/bt2wFYv349S5cuZezYsRZH5vn27NlDcnJyhf+LoaGhDBw4kOXLl1sYWd2QmZmJzWYjLCzM6lA8jtPp5KabbuJvf/sbXbt2devYdeLU3trkdDqZNGkSQ4YMoVu3blaH45G++OIL1q5dy6pVq6wOxaPt3r2bt99+mwcffJDHH3+cVatWcd999+Hr68stt9xidXge5bHHHiMrK4u4uDi8vLxwOBw899xz3HDDDVaH5vGSk5MBiIyMrHB/ZGRk+WNyagUFBTz66KNcd911Osn3FF544QW8vb2577773D52g09GJk6cyKZNm1i6dKnVoXikxMRE7r//fubOnYu/v7/V4Xg0p9NJv379eP755wHo3bs3mzZtYurUqUpGTvDVV1/x2WefMWPGDLp27Up8fDyTJk0iJiZG3yupFcXFxVx99dUYhsHbb79tdTgeZ82aNbz++uusXbsWm83m9vEb9DLNvffey6xZs1iwYAEtWrSwOhyPtGbNGlJTU+nTpw/e3t54e3uzaNEi3njjDby9vXE4HFaH6DGio6Pp0qVLhfs6d+7M/v37LYrIc/3tb3/jscce49prr6V79+7cdNNNPPDAA0yZMsXq0DxeVFQUACkpKRXuT0lJKX9MKipLRPbt28fcuXM1K3IKS5YsITU1lZYtW5b/rN+3bx8PPfQQrVu3rvXxG+TMiGEY/PWvf+X7779n4cKFtGnTxuqQPNbIkSPZuHFjhftuu+024uLiePTRR/Hy8rIoMs8zZMiQk7aIb9++nVatWlkUkefKy8vDbq/4u5CXlxdOp9OiiOqONm3aEBUVxbx58+jVqxcAWVlZ/PHHH9x9993WBueByhKRHTt2sGDBApo0aWJ1SB7ppptuOqkmcMyYMdx0003cdttttT5+g0xGJk6cyIwZM/jhhx8IDg4uX2cNDQ0lICDA4ug8S3Bw8Em1NI0aNaJJkyaqsTnBAw88wODBg3n++ee5+uqrWblyJe+++y7vvvuu1aF5nIsvvpjnnnuOli1b0rVrV9atW8crr7zC7bffbnVoHiEnJ4edO3eW/3nPnj3Ex8cTHh5Oy5YtmTRpEs8++ywdOnSgTZs2PPHEE8TExDBhwgTrgrbImb5X0dHRXHnllaxdu5ZZs2bhcDjKf96Hh4fj6+trVdiWONu/qxMTNR8fH6KioujUqVPtB+eWPTseBjjl5cMPP7Q6tDpBW3tP73//+5/RrVs3w8/Pz4iLizPeffddq0PySFlZWcb9999vtGzZ0vD39zfatm1r/P3vfzcKCwutDs0jLFiw4JQ/o2655RbDMMztvU888YQRGRlp+Pn5GSNHjjS2bdtmbdAWOdP3as+ePaf9eb9gwQKrQ3e7s/27OpE7t/baDEMtD0VERMQ6DbqAVURERKynZEREREQspWRERERELKVkRERERCylZEREREQspWRERERELKVkRERERCylZEREREQspWRERERELKVkRERERCylZEREREQs9f+0tTQyVhux8gAAAABJRU5ErkJggg==\n","text/plain":"
"},"metadata":{}},{"name":"stdout","output_type":"stream","text":"SAMPLE\n2\n#\"Step\",\"Density (g/mL)\",\"Speed (ns/day)\",\"Time Remaining\"\n10000,0.651065525767448,0,--\n20000,0.6714756355507168,618,1:07\n30000,0.6594873077207757,621,1:05\n40000,0.6665784796791466,621,1:03\n50000,0.6831123394657903,622,1:02\n60000,0.6637870831199422,622,1:01\n70000,0.667129160757806,622,0:59\n80000,0.6633039299251599,622,0:58\n90000,0.6565053933125344,623,0:56\n100000,0.671684912119932,623,0:55\n110000,0.6500951019425772,623,0:54\n120000,0.6666584351669924,623,0:52\n130000,0.6659556977742978,623,0:51\n140000,0.6611373098958204,623,0:49\n150000,0.6513470763921477,623,0:48\n160000,0.6417160185435988,623,0:47\n170000,0.6658724588754958,623,0:45\n180000,0.6495778453765773,623,0:44\n190000,0.6599069482963903,623,0:42\n200000,0.663304724598376,623,0:41\n210000,0.6712636904995878,623,0:40\n220000,0.6717563053654046,623,0:38\n230000,0.665811826826304,623,0:37\n240000,0.6676410416092742,623,0:36\n250000,0.6662819912851742,623,0:34\n260000,0.6700363479990482,623,0:33\n270000,0.6637966195304331,623,0:31\n280000,0.6567964211698348,623,0:30\n290000,0.6634398033762469,623,0:29\n300000,0.6728267456743389,623,0:27\n310000,0.6656202701834719,623,0:26\n320000,0.6626901966612553,623,0:24\n330000,0.652366375353711,623,0:23\n340000,0.6713163038686302,623,0:22\n350000,0.6462063695698634,623,0:20\n360000,0.646684679633897,623,0:19\n370000,0.6628132052754169,623,0:18\n380000,0.6631817349169167,623,0:16\n390000,0.6715043497403834,623,0:15\n400000,0.6540802138048043,623,0:13\n410000,0.6591383653279173,623,0:12\n420000,0.6759337429338593,623,0:11\n430000,0.676770720977082,623,0:09\n440000,0.6590515943855906,623,0:08\n450000,0.6506206795975595,623,0:06\n460000,0.6724418739103425,623,0:05\n470000,0.6587260488654286,623,0:04\n480000,0.6675405514238612,623,0:02\n490000,0.6598407154930133,623,0:01\n500000,0.6699306037728279,623,0:00\nRERUN\nESTIMATOR\nCALC DENSE & RDF\nLoss: 15.812784653771704\n"},{"output_type":"display_data","data":{"image/png":"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DVMUhcrKSrKyskhMTKRz584XbGx2IZKMCCGEsAmVlZUYjUYiIiJwd3fXOhzRCG5ubjg5OZGUlERlZSWurq7Neh8pYBVCCGFTmvvXtdCGOf695F9cCCGEEJqSZEQIIYQQmpJkRAghhBCakmRECCGEMIPk5GTuuuuu2p1AHTp04OGHHyYnJ6f2OWPGjEGn06HT6XB1daVHjx588MEHtY8vWrQIX1/fBsfIyspi1qxZREZG4uLiQkhICBMnTmTTpk2NirFbt264uLiQnp7e4HPKysrw9/cnICCAioqKRr1vS0kyIoSWFAV2fwmntmodiRCiBU6cOMHAgQM5duwY33zzDQkJCSxcuJDY2FiGDRtGbm5u7XPvvfde0tLSOHToEDfccAOzZ8/mm2++adQ41113HXv27GHx4sUcPXqUFStWMGbMmHoJT0M2btxIWVkZ06dPZ/HixQ0+78cff6Rnz55069aN5cuXNyqulpKtvUJoKWkTrHgQXH1g7hFwlu2MQtSlKAplVdbvxOrm5NCkHiezZ8/G2dmZP//8Ezc3NwAiIyPp378/nTp14umnn+bDDz8E1CZhISEhAPz73/9myZIlrFixgptuuumCY+Tn57NhwwbWrVvH6NGjAejQoQODBw9uVIyffvopN998M6NHj+bhhx/miSeeaPB5t956K4qi8OmnnzJjxoxGvX9LSDIihJbif1evywvg4DLof4u28QhhY8qqDPR4bpXVxz30/ETcnRv3KzI3N5dVq1bx4osv1iYiJiEhIdxyyy18++239ZZj6nJzc6OysvKi43h6euLp6cny5csZOnQoLi4ujYoPoKioiO+//55t27bRrVs3CgoK2LBhA5deemm95x0/fpwtW7bw008/oSgKjzzyCElJSXTo0KHRYzWHLNMIoSVTMgKw63Pt4hBCNNuxY8dQFIXu3buf9/Hu3buTl5dHVlZWvfsNBgNfffUV+/bt47LLLrvoOI6OjixatIjFixfj6+vLiBEjeOqpp9i3b99FX7t06VI6d+5Mz549cXBw4MYbb+TTTz8953mfffYZkyZNws/PD39/fyZOnMjnn1v+Z5PMjAihlewEyD0OeidAgdM7IH0/hPTWOjIhbIabkwOHnp+oybhNpShKo573wQcf8Mknn1BZWYmDgwOPPPIIs2bNatRrr7vuOiZPnsyGDRvYunUrv//+O6++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\n","text/plain":"
"},"metadata":{}},{"name":"stdout","output_type":"stream","text":"SAMPLE\n3\n#\"Step\",\"Density (g/mL)\",\"Speed (ns/day)\",\"Time Remaining\"\n10000,0.6718645245702801,0,--\n20000,0.6755685973414902,629,1:05\n30000,0.6713169715821765,630,1:04\n40000,0.6514334918471593,628,1:03\n50000,0.6760486967657545,630,1:01\n60000,0.6848578358624342,630,1:00\n70000,0.6561299856470861,630,0:58\n80000,0.6880366455873881,630,0:57\n90000,0.667097398444723,630,0:56\n100000,0.6667884760772556,630,0:54\n110000,0.696671586450088,630,0:53\n120000,0.654081476330793,631,0:52\n130000,0.6626347019403445,631,0:50\n140000,0.6731411830908128,631,0:49\n150000,0.6655217808268538,631,0:47\n160000,0.6538876323508401,631,0:46\n170000,0.6611437435731256,631,0:45\n180000,0.6637788251159248,631,0:43\n190000,0.6650875672903395,631,0:42\n200000,0.6714764348067651,631,0:41\n210000,0.6807755044242513,631,0:39\n220000,0.6769567213505293,631,0:38\n230000,0.6671596753641728,631,0:36\n240000,0.6845538694955645,631,0:35\n250000,0.6822774711981981,631,0:34\n260000,0.6783156195936104,631,0:32\n270000,0.676567338642897,632,0:31\n280000,0.6790158243891763,632,0:30\n290000,0.6686322282476979,632,0:28\n300000,0.6634648795512493,632,0:27\n310000,0.6769263925170507,632,0:25\n320000,0.6526637233762382,632,0:24\n330000,0.669435433400108,632,0:23\n340000,0.6641843095689863,632,0:21\n350000,0.6645577787557228,632,0:20\n360000,0.6668230758084706,631,0:19\n370000,0.6703211650552884,631,0:17\n380000,0.6806966229131148,631,0:16\n390000,0.6616890707646312,631,0:15\n400000,0.6819525784896312,631,0:13\n410000,0.665157274642379,631,0:12\n420000,0.6699321065074668,631,0:10\n430000,0.6808958547292827,631,0:09\n440000,0.6666969170415316,631,0:08\n450000,0.6777106136813664,632,0:06\n460000,0.6610028091781511,632,0:05\n470000,0.668538804771872,632,0:04\n480000,0.6803365654986357,632,0:02\n490000,0.6695076178907728,632,0:01\n500000,0.6651491924259733,632,0:00\nRERUN\nESTIMATOR\nCALC DENSE & RDF\nLoss: 15.7829902574545\n"},{"output_type":"display_data","data":{"image/png":"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UyQjRUVFAERFRWkciRBCCCGaqqioCH9//wafd4p28CaTidOnT+Pr64tOp7Pa+xYWFhIVFUVqaqq0mT8P+V41jXy/Gk++V40n36vGk+9V49nye6UoCkVFRbRr167OuXV/5xQzI3q9ng4dOtjs/f38/OQvayPJ96pp5PvVePK9ajz5XjWefK8az1bfq3PNiJhJAasQQgghNCXJiBBCCCE01aaTEXd3d55++mnc3d21DsXhyfeqaeT71XjyvWo8+V41nnyvGs8RvldOUcAqhBBCiNarTc+MCCGEEEJ7kowIIYQQQlOSjAghhBBCU5KMCCGEEEJTkowIIYQQQlNtMhmZN28eAwcOxNfXl7CwMKZOncqhQ4e0Dssp/Pvf/0an0zF79mytQ3FIp06dYvr06QQHB+Pp6UnPnj3ZunWr1mE5HKPRyJNPPklsbCyenp506tSJ//u//zvvYVptxerVq7nkkkto164dOp2ORYsW1XleURSeeuopIiMj8fT0ZPz48Rw5ckSbYDV2ru9VVVUVjz76KD179sTb25t27dpx0003cfr0ae0C1tD5/l7Vdtddd6HT6Xj99dftElubTEZWrVrFzJkz2bhxI8uWLaOqqooLL7yQkpISrUNzaFu2bOH999+nV69eWofikPLy8hg+fDiurq4sWbKE/fv388orrxAYGKh1aA7nxRdf5N133+Wtt97iwIEDvPjii7z00kv897//1To0h1BSUkLv3r15++23633+pZde4s033+S9995j06ZNeHt7M3HiRMrLy+0cqfbO9b0qLS1l+/btPPnkk2zfvp0ffviBQ4cOcemll2oQqfbO9/fK7Mcff2Tjxo20a9fOTpEBilAyMzMVQFm1apXWoTisoqIiJSEhQVm2bJkyevRoZdasWVqH5HAeffRRZcSIEVqH4RSmTJmi3HrrrXUeu+KKK5QbbrhBo4gcF6D8+OOPls9NJpMSERGhvPzyy5bH8vPzFXd3d+XLL7/UIELH8ffvVX02b96sAEpKSop9gnJQDX2vTp48qbRv317Zu3evEhMTo7z22mt2iadNzoz8XUFBAQBBQUEaR+K4Zs6cyZQpUxg/frzWoTisn3/+mQEDBnD11VcTFhZG3759+fDDD7UOyyENGzaM5cuXc/jwYQB27drF2rVrmTRpksaROb7k5GTS09Pr/Fv09/dn8ODBbNiwQcPInENBQQE6nY6AgACtQ3E4JpOJG2+8kYcffpju3bvbdWynOLXXlkwmE7Nnz2b48OH06NFD63Ac0ldffcX27dvZsmWL1qE4tGPHjvHuu+8yZ84cHn/8cbZs2cL999+Pm5sbN998s9bhOZTHHnuMwsJCEhMTMRgMGI1Gnn/+eW644QatQ3N46enpAISHh9d5PDw83PKcqF95eTmPPvoo1113nZzkW48XX3wRFxcX7r//fruP3eaTkZkzZ7J3717Wrl2rdSgOKTU1lVmzZrFs2TI8PDy0DsehmUwmBgwYwAsvvABA37592bt3L++9954kI3/zzTff8MUXX7Bw4UK6d+/Ozp07mT17Nu3atZPvlbCJqqoqrrnmGhRF4d1339U6HIezbds23njjDbZv345Op7P7+G16mebee+9l8eLFrFixgg4dOmgdjkPatm0bmZmZ9OvXDxcXF1xcXFi1ahVvvvkmLi4uGI1GrUN0GJGRkXTr1q3OY127duXEiRMaReS4Hn74YR577DGuvfZaevbsyY033sgDDzzAvHnztA7N4UVERACQkZFR5/GMjAzLc6IucyKSkpLCsmXLZFakHmvWrCEzM5Po6GjLz/qUlBQefPBBOnbsaPPx2+TMiKIo3Hffffz444+sXLmS2NhYrUNyWOPGjWPPnj11HpsxYwaJiYk8+uijGAwGjSJzPMOHDz9ri/jhw4eJiYnRKCLHVVpail5f9/9CBoMBk8mkUUTOIzY2loiICJYvX06fPn0AKCwsZNOmTdx9993aBueAzInIkSNHWLFiBcHBwVqH5JBuvPHGs2oCJ06cyI033siMGTNsPn6bTEZmzpzJwoUL+emnn/D19bWss/r7++Pp6alxdI7F19f3rFoab29vgoODpcbmbx544AGGDRvGCy+8wDXXXMPmzZv54IMP+OCDD7QOzeFccsklPP/880RHR9O9e3d27NjBq6++yq233qp1aA6huLiYo0ePWj5PTk5m586dBAUFER0dzezZs3nuuedISEggNjaWJ598knbt2jF16lTtgtbIub5XkZGRXHXVVWzfvp3FixdjNBotP++DgoJwc3PTKmxNnO/v1d8TNVdXVyIiIujSpYvtg7PLnh0HA9T78emnn2odmlOQrb0N++WXX5QePXoo7u7uSmJiovLBBx9oHZJDKiwsVGbNmqVER0crHh4eSlxcnPLPf/5Tqaio0Do0h7BixYp6f0bdfPPNiqKo23uffPJJJTw8XHF3d1fGjRunHDp0SNugNXKu71VycnKDP+9XrFihdeh2d76/V39nz629OkWRlodCCCGE0E6bLmAVQgghhPYkGRFCCCGEpiQZEUIIIYSmJBkRQgghhKYkGRFCCCGEpiQZEUIIIYSmJBkRQgghhKYkGRFCCCGEpiQZEUIIIYSmJBkRQgghhKYkGRFCCCGEpv4fs5/eJqFVtKsAAAAASUVORK5CYII=\n","text/plain":"
"},"metadata":{}},{"name":"stdout","output_type":"stream","text":"SAMPLE\n4\n#\"Step\",\"Density (g/mL)\",\"Speed (ns/day)\",\"Time Remaining\"\n10000,0.6885785506889522,0,--\n20000,0.6855313267936995,620,1:06\n30000,0.6738399334137635,622,1:05\n40000,0.6758683360787152,622,1:03\n50000,0.6580422879144204,622,1:02\n60000,0.685476791854041,623,1:01\n70000,0.6723658334244308,623,0:59\n80000,0.6841155136543882,622,0:58\n90000,0.6697960378777031,622,0:56\n100000,0.6693224815511806,622,0:55\n110000,0.6776514780480505,622,0:54\n120000,0.6782084962583117,622,0:52\n130000,0.6711639748591046,622,0:51\n140000,0.6729686574938444,622,0:50\n150000,0.6808904909553964,622,0:48\n160000,0.6604370949042647,622,0:47\n170000,0.6654119614943933,622,0:45\n180000,0.6754897723338992,622,0:44\n190000,0.6930922087205912,622,0:43\n200000,0.6927413572065216,622,0:41\n210000,0.6635566632819155,622,0:40\n220000,0.675689996696178,622,0:38\n230000,0.6852580120296231,622,0:37\n240000,0.685205721714706,622,0:36\n250000,0.6651119129848674,622,0:34\n260000,0.6580544201013442,622,0:33\n270000,0.6846049610241778,622,0:31\n280000,0.6775557366503023,622,0:30\n290000,0.6554876975217213,622,0:29\n300000,0.6581194305919392,622,0:27\n310000,0.6827285529423294,622,0:26\n320000,0.6383643164545799,622,0:24\n330000,0.6501500644317023,622,0:23\n340000,0.671710134862776,622,0:22\n350000,0.6704489382635833,622,0:20\n360000,0.6798675299158504,622,0:19\n370000,0.6789445843269181,622,0:18\n380000,0.6806685240362235,622,0:16\n390000,0.6869812586105256,622,0:15\n400000,0.6685174916291445,622,0:13\n410000,0.6572229884392974,622,0:12\n420000,0.6835066235630598,622,0:11\n430000,0.6748251163937088,622,0:09\n440000,0.6610883621925576,622,0:08\n450000,0.67780721138058,622,0:06\n460000,0.6805647441371488,622,0:05\n470000,0.6858561866730586,622,0:04\n480000,0.679362446480657,622,0:02\n490000,0.6756215720243536,622,0:01\n500000,0.6804034797403086,622,0:00\nRERUN\nESTIMATOR\nCALC DENSE & RDF\nLoss: 15.77247390426107\n"},{"output_type":"display_data","data":{"image/png":"iVBORw0KGgoAAAANSUhEUgAAAiMAAAGzCAYAAAD9pBdvAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAByjUlEQVR4nO3dd3iT5frA8W+StuluKaULSgcte+89BERUFBc4cRw5PxVExIkex/GoOI57occBDsSBouBE9iibsjd0ULqge7fJ+/vjbQIVCh1J3qS9P9fVK2nyJs/dAu3N89zP/egURVEQQgghhNCIXusAhBBCCNG8STIihBBCCE1JMiKEEEIITUkyIoQQQghNSTIihBBCCE1JMiKEEEIITUkyIoQQQghNSTIihBBCCE1JMiKEEEIITUkyIoQQQghNSTIihDivefPmodPp2Lp1q9ahNEhlZSWdO3dGp9Px3//+V+twhBAXIMmIEKJJeuedd0hJSdE6DCFEHUgyIoRocrKysnjuued47LHHtA5FCFEHkowIIRpsx44djB8/Hn9/f3x9fRk9ejQbN24857pjx45xww03EBQUhLe3NwMHDuSXX36pcc2qVavQ6XR88803PPHEE4SFheHj48NVV11FampqveJ6/PHH6dChA7feemujvj4hhGO4aR2AEMI17d27l2HDhuHv78+jjz6Ku7s7H374ISNHjmT16tUMGDAAgMzMTAYPHkxJSQkzZsygZcuWzJ8/n6uuuorvv/+ea665psb7vvDCC+h0Oh577DGysrJ48803GTNmDImJiXh5eV00rs2bNzN//nzWrVuHTqezy9cuhLAtSUaEEA3yr3/9i8rKStatW0dsbCwAU6ZMoUOHDjz66KOsXr0agJdeeonMzEzWrl3L0KFDAZg6dSrdu3dn1qxZXH311ej1ZyZpc3Jy2L9/P35+fgD07t2bSZMm8b///Y8ZM2ZcMCZFUbj//vuZPHkygwYNIikpyQ5fuRDC1mSZRghRbyaTiT///JOJEydaExGA8PBwbr75ZtatW0dBQQEAv/76K/3797cmIgC+vr7885//JCkpiX379tV47ylTplgTEYDrr7+e8PBwfv3114vGNW/ePHbv3s3LL7/c2C9RCOFAkowIIeotOzubkpISOnTocM5znTp1wmw2W+s8kpOTa73O8vzZ4uPja3yu0+mIi4uz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7Z577kGn0/Hmm286JLZmmYysXr2aadOmsXHjRpYtW0ZlZSWXXnopxcXFWofm1LZs2cKHH35I9+7dtQ7FKeXm5jJkyBDc3d357bff2LdvH6+99hotWrTQOjSn8/LLL/PBBx/w7rvvsn//fl5++WVeeeUV3nnnHa1DcwrFxcX06NGD995777zPv/LKK7z99tvMnTuXTZs24ePjw7hx4ygrK3NwpNq70PeqpKSE7du389RTT7F9+3Z++OEHDh48yFVXXaVBpNq72N8rix9//JGNGzcSERHhoMgARShZWVkKoKxevVrrUJxWYWGhEh8fryxbtkwZMWKE8sADD2gdktN57LHHlKFDh2odhku44oorlLvuuqvGY9dee61yyy23aBSR8wKUH3/80fq52WxWwsLClFdffdX6WF5enmI0GpWvv/5agwidx9+/V+ezefNmBVCSk5MdE5STqu17deLECaV169bKnj17lKioKOWNN95wSDzNcmbk7/Lz8wEICgrSOBLnNW3aNK644grGjBmjdShO6+eff6Zv377ccMMNhISE0KtXL/73v/9pHZZTGjx4MMuXL+fQoUMA7Ny5k3Xr1jF+/HiNI3N+x48fJyMjo8a/xYCAAAYMGEBCQoKGkbmG/Px8dDodgYGBWofidMxmM7fddhuPPPIIXbp0cejYLnFqrz2ZzWZmzpzJkCFD6Nq1q9bhOKWFCxeyfft2tmzZonUoTu3YsWN88MEHzJo1iyeeeIItW7YwY8YMPDw8uP3227UOz6k8/vjjFBQU0LFjRwwGAyaTiRdeeIFbbrlF69CcXkZGBgChoaE1Hg8NDbU+J86vrKyMxx57jJtuuklO8j2Pl19+GTc3N2bMmOHwsZt9MjJt2jT27NnDunXrtA7FKaWmpvLAAw+wbNkyPD09tQ7HqZnNZvr27cuLL74IQK9evdizZw9z586VZORvvv32W7766isWLFhAly5dSExMZObMmURERMj3SthFZWUlkyZNQlEUPvjgA63DcTrbtm3jrbfeYvv27eh0OoeP36yXaaZPn87SpUtZuXIlbdq00Tocp7Rt2zaysrLo3bs3bm5uuLm5sXr1at5++23c3NwwmUxah+g0wsPD6dy5c43HOnXqREpKikYROa9HHnmExx9/nBtvvJFu3bpx22238eCDDzJnzhytQ3N6YWFhAGRmZtZ4PDMz0/qcqMmSiCQnJ7Ns2TKZFTmPtWvXkpWVRdu2ba0/65OTk3nooYeIjo62+/jNcmZEURTuv/9+fvzxR1atWkVMTIzWITmt0aNHs3v37hqP3XnnnXTs2JHHHnsMg8GgUWTOZ8iQIedsET906BBRUVEaReS8SkpK0Otr/l/IYDBgNps1ish1xMTEEBYWxvLly+nZsycABQUFbNq0iXvvvVfb4JyQJRE5fPgwK1eupGXLllqH5JRuu+22c2oCx40bx2233cadd95p9/GbZTIybdo0FixYwE8//YSfn591nTUgIAAvLy+No3Mufn5+59TS+Pj40LJlS6mx+ZsHH3yQwYMH8+KLLzJp0iQ2b97MRx99xEcffaR1aE5nwoQJvPDCC7Rt25YuXbqwY8cOXn/9de666y6tQ3MKRUVFHDlyxPr58ePHSUxMJCgoiLZt2zJz5kyef/554uPjiYmJ4amnniIiIoKJEydqF7RGLvS9Cg8P5/rrr2f79u0sXboUk8lk/XkfFBSEh4eHVmFr4mJ/r/6eqLm7uxMWFkaHDh3sH5xD9uw4GeC8H5999pnWobkE2dpbuyVLlihdu3ZVjEaj0rFjR+Wjjz7SOiSnVFBQoDzwwANK27ZtFU9PTyU2NlZ58sknlfLycq1DcworV64878+o22+/XVEUdXvvU089pYSGhipGo1EZPXq0cvDgQW2D1siFvlfHjx+v9ef9ypUrtQ7d4S729+rvHLm1V6co0vJQCCGEENpp1gWsQgghhNCeJCNCCCGE0JQkI0IIIYTQlCQjQgghhNCUJCNCCCGE0JQkI0IIIYTQlCQjQgghhNCUJCNCCCGE0JQkI0IIIYTQlCQjQgghhNCUJCNCCCGE0NT/A/m58wWFsMWdAAAAAElFTkSuQmCC\n","text/plain":"
"},"metadata":{}},{"name":"stdout","output_type":"stream","text":"SAMPLE\n5\n#\"Step\",\"Density (g/mL)\",\"Speed (ns/day)\",\"Time Remaining\"\n10000,0.6976382888743065,0,--\n20000,0.6725511283112715,616,1:07\n30000,0.6882838337373404,616,1:05\n40000,0.6791127582776632,617,1:04\n50000,0.6633986213858268,617,1:02\n60000,0.669689813467961,617,1:01\n70000,0.6572277858788221,618,1:00\n80000,0.6692980231309368,618,0:58\n90000,0.6663853828712928,618,0:57\n100000,0.6609102909544062,618,0:55\n110000,0.6877572224355598,618,0:54\n120000,0.6897426343741119,618,0:53\n130000,0.6710449057208788,618,0:51\n140000,0.672662971700982,618,0:50\n150000,0.6732441403013656,618,0:48\n160000,0.653905534581875,617,0:47\n170000,0.6786849938297382,618,0:46\n180000,0.6688867374873644,617,0:44\n190000,0.660636763570619,617,0:43\n200000,0.658570550674693,617,0:41\n210000,0.6717448165358701,617,0:40\n220000,0.6838297466520072,617,0:39\n230000,0.6745011684412172,617,0:37\n240000,0.6571798790920299,617,0:36\n250000,0.6649566841621759,617,0:34\n260000,0.6737761415172699,617,0:33\n270000,0.6862126163247438,617,0:32\n280000,0.6793622119282605,617,0:30\n290000,0.6698848029677942,617,0:29\n300000,0.67949488553041,617,0:27\n310000,0.6791970638701499,617,0:26\n320000,0.6706660558087095,617,0:25\n330000,0.6870114426546609,618,0:23\n340000,0.6996630771627976,618,0:22\n350000,0.6751726604081996,618,0:20\n360000,0.6887400497278416,618,0:19\n370000,0.6666566269288412,618,0:18\n380000,0.6608656121363888,618,0:16\n390000,0.6841990926345275,618,0:15\n400000,0.6631456681390829,618,0:13\n410000,0.6841451570582064,618,0:12\n420000,0.6971576348474124,618,0:11\n430000,0.6720146802210868,618,0:09\n440000,0.689983221350112,618,0:08\n450000,0.6839190853894165,618,0:06\n460000,0.6738649744303744,618,0:05\n470000,0.6644421666324579,618,0:04\n480000,0.6740747827356015,618,0:02\n490000,0.6736973878013252,617,0:01\n500000,0.6773923272948968,617,0:00\nRERUN\nESTIMATOR\nCALC DENSE & RDF\nLoss: 15.746867555993234\n"},{"output_type":"display_data","data":{"image/png":"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fURZWRkmk4mHH36Ye++9t06vvf766xk3bhxr1qxh48aN/Pbbb7z88st89NFH3Hrrrdxzzz188cUXVecXFBQAapIxderUqsenTp3K8OHD+d///oevry+gJkcLFizgrbfeqnHeP//5T5555hltF6NTnEBubq4CKLm5uXqHIkTDHfpdUZ71U5Rn/RUlce35z0lco57zakdFsVjsGp4QeisuLlb279+vFBcX6x1KvWRmZioGg0F5/vnnz/v8XXfdpbRo0UKxWCzK8OHDlVtvvVWJj49XTpw4oZjN5hrnfvrpp4q/v3+92r/jjjuU6OhoRVEUJS0tTYmPj6+6KYqi7Nu3TwEUo9GomEymqhugzJs3r+o6S5cuVYAa51jPW7ZsWa3tX+jfra6f3zJMI4Q9FGXBzw+o9wfNgNZDzn9eRG8wukB+CuQm2y8+IUSDBQUFcfnll/Pee+9RXFxc47nU1FS+/PJLbrjhhqqCWH9/f9q1a0dkZKRNehs6d+5MYWEhACEhIbRr167qBmpB6rBhw9i1axc7d+6sus2aNavGUM3HH3/MjTfeWOOcnTt31jqkY0syTCOEPSx9BArSILgjXPZ07ee5eUFYNzi1A5I3Q0C0/WIUQjTYO++8w+DBgxk9ejTPPfccsbGx7Nu3j0cffZTIyEief/75Ol/LbDazc+fOGo+5u7sTEhLCpEmTuP322+nevTu+vr5s3bqVl19+mWuuuea81yovL+fzzz/nP//5D127dq3x3J133snrr7/Ovn37CAkJ4ZdffuHnn38+57xbbrmFa6+9lqysLAIDtSmul2RECK3t+xH2/QAGE1w7F1wvsqtl1IAzyUi3ifaJUQjRKO3bt2fr1q08++yzTJ48maysLMLCwpgwYQLPPvtsvT7ECwoK6NWrV43H2rZty759+xgwYABvvPEGR48epby8nKioKO666y6efPLJ817r559/5vTp01x77bXnPNepUyc6derExx9/TGRkJN7e3owcOfKc80aOHImnpydffPEFDz74YJ2/j/owKEodK250lJeXh7+/P7m5ufj5+ekdjhD1M/8qOLYGLnkERj5z8fP3fAff3wHhPeHuVZqHJ4SjKCkpITExkdjY2AZvRS/s70L/bnX9/JaaESG0ln5APXYaX7fzowaox9Q9UFaoTUxCCOFAJBkRQkuFp6EoU70f3KFur/FvBb4R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\n","text/plain":"
"},"metadata":{}},{"name":"stdout","output_type":"stream","text":"SAMPLE\n6\n#\"Step\",\"Density (g/mL)\",\"Speed (ns/day)\",\"Time Remaining\"\n10000,0.688020305959254,0,--\n20000,0.6893909023822415,620,1:06\n30000,0.6917729602538208,623,1:05\n40000,0.6739143910369427,624,1:03\n50000,0.6558510853681656,624,1:02\n60000,0.6989558022509464,624,1:00\n70000,0.6895262296439162,624,0:59\n"},{"ename":"KeyboardInterrupt","evalue":"","output_type":"error","traceback":["\u001b[0;31m---------------------------------------------------------------------------\u001b[0m","\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)","Cell \u001b[0;32mIn [88], line 9\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mSAMPLE\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 8\u001b[0m \u001b[38;5;28mprint\u001b[39m(nloop)\n\u001b[0;32m----> 9\u001b[0m \u001b[43mrunMD\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43mf\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mloop-\u001b[39;49m\u001b[38;5;132;43;01m{\u001b[39;49;00m\u001b[43mnloop\u001b[49m\u001b[38;5;241;43m-\u001b[39;49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[38;5;132;43;01m}\u001b[39;49;00m\u001b[38;5;124;43m.xml\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43mf\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mloop-\u001b[39;49m\u001b[38;5;132;43;01m{\u001b[39;49;00m\u001b[43mnloop\u001b[49m\u001b[38;5;132;43;01m}\u001b[39;49;00m\u001b[38;5;124;43m.dcd\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 10\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mRERUN\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 11\u001b[0m ener \u001b[38;5;241m=\u001b[39m rerun_energy(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mloop-\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mnloop\u001b[38;5;241m-\u001b[39m\u001b[38;5;241m1\u001b[39m\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m.xml\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mloop-\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mnloop\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m.dcd\u001b[39m\u001b[38;5;124m\"\u001b[39m, removeLJ\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m, skip\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m20\u001b[39m)\n","Cell \u001b[0;32mIn [78], line 20\u001b[0m, in \u001b[0;36mrunMD\u001b[0;34m(ffile, trajfile)\u001b[0m\n\u001b[1;32m 18\u001b[0m simulation\u001b[38;5;241m.\u001b[39mcontext\u001b[38;5;241m.\u001b[39msetPositions(pdb\u001b[38;5;241m.\u001b[39mgetPositions())\n\u001b[1;32m 19\u001b[0m simulation\u001b[38;5;241m.\u001b[39mminimizeEnergy()\n\u001b[0;32m---> 20\u001b[0m \u001b[43msimulation\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mstep\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m500\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m1000\u001b[39;49m\u001b[43m)\u001b[49m\n","File \u001b[0;32m/opt/mamba/lib/python3.10/site-packages/openmm/app/simulation.py:141\u001b[0m, in \u001b[0;36mSimulation.step\u001b[0;34m(self, steps)\u001b[0m\n\u001b[1;32m 139\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mstep\u001b[39m(\u001b[38;5;28mself\u001b[39m, steps):\n\u001b[1;32m 140\u001b[0m \u001b[38;5;124;03m\"\"\"Advance the simulation by integrating a specified number of time steps.\"\"\"\u001b[39;00m\n\u001b[0;32m--> 141\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_simulate\u001b[49m\u001b[43m(\u001b[49m\u001b[43mendStep\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcurrentStep\u001b[49m\u001b[38;5;241;43m+\u001b[39;49m\u001b[43msteps\u001b[49m\u001b[43m)\u001b[49m\n","File \u001b[0;32m/opt/mamba/lib/python3.10/site-packages/openmm/app/simulation.py:206\u001b[0m, in \u001b[0;36mSimulation._simulate\u001b[0;34m(self, endStep, endTime)\u001b[0m\n\u001b[1;32m 204\u001b[0m stepsToGo \u001b[38;5;241m=\u001b[39m nextSteps\n\u001b[1;32m 205\u001b[0m \u001b[38;5;28;01mwhile\u001b[39;00m stepsToGo \u001b[38;5;241m>\u001b[39m \u001b[38;5;241m10\u001b[39m:\n\u001b[0;32m--> 206\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mintegrator\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mstep\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m10\u001b[39;49m\u001b[43m)\u001b[49m \u001b[38;5;66;03m# Only take 10 steps at a time, to give Python more chances to respond to a control-c.\u001b[39;00m\n\u001b[1;32m 207\u001b[0m stepsToGo \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;241m10\u001b[39m\n\u001b[1;32m 208\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m endTime \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m datetime\u001b[38;5;241m.\u001b[39mnow() \u001b[38;5;241m>\u001b[39m\u001b[38;5;241m=\u001b[39m endTime:\n","File \u001b[0;32m/opt/mamba/lib/python3.10/site-packages/openmm/openmm.py:14726\u001b[0m, in \u001b[0;36mLangevinIntegrator.step\u001b[0;34m(self, steps)\u001b[0m\n\u001b[1;32m 14716\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mstep\u001b[39m(\u001b[38;5;28mself\u001b[39m, steps):\n\u001b[1;32m 14717\u001b[0m \u001b[38;5;124mr\u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 14718\u001b[0m \u001b[38;5;124;03m step(self, steps)\u001b[39;00m\n\u001b[1;32m 14719\u001b[0m \u001b[38;5;124;03m Advance a simulation through time by taking a series of time steps.\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 14724\u001b[0m \u001b[38;5;124;03m the number of time steps to take\u001b[39;00m\n\u001b[1;32m 14725\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m> 14726\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43m_openmm\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mLangevinIntegrator_step\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msteps\u001b[49m\u001b[43m)\u001b[49m\n","\u001b[0;31mKeyboardInterrupt\u001b[0m: "]}],"id":"9dd67aff-d540-4285-850f-d5700f7dbd1d"},{"cell_type":"code","source":"xmlrender(f\"loop-{NL}.xml\", 'res.xml', f\"loop-{NL}.xml\")\nsample_with_prm(f\"loop-{NL}.xml\", f\"loop-{NL}.dcd\")\ntraj = md.load(f\"loop-{NL}.dcd\", top=\"box_DMC.pdb\")[20:]\nrdf_final = compute_rdf_frame(traj, x_ref*0.1).mean(axis=0)\n\nplt.plot(x_ref, rdf_init, label = \"Initial\")\nplt.plot(m_ref, n_ref, label = \"OPLS-AA\")\n#plt.plot(x_ref, y_ref, label = \"Experiment\")\nplt.plot(x_ref, rdf_final, label = \"Current\")\nplt.legend()\nplt.title(f\"Final\")\n# plt.savefig(\"compare.png\")\nplt.show()","metadata":{},"execution_count":57,"outputs":[{"name":"stdout","output_type":"stream","text":"#\"Step\",\"Density (g/mL)\",\"Speed (ns/day)\",\"Time Remaining\"\n20000,0.9034204023148491,0,--\n40000,0.9134589209326665,1.21e+03,0:32\n60000,0.9311857845324879,1.21e+03,0:31\n80000,0.9209480174841933,1.21e+03,0:30\n100000,0.9036050529338874,1.21e+03,0:28\n120000,0.9120823292515017,1.21e+03,0:27\n140000,0.9411380111912142,1.21e+03,0:25\n160000,0.9263761966211715,1.21e+03,0:24\n180000,0.9349105015898002,1.21e+03,0:22\n200000,0.9028592257494273,1.21e+03,0:21\n220000,0.9397294615775963,1.21e+03,0:20\n240000,0.916016085063393,1.21e+03,0:18\n260000,0.9369981516116607,1.21e+03,0:17\n280000,0.911334635669278,1.21e+03,0:15\n300000,0.9169613328351074,1.21e+03,0:14\n320000,0.9107559836942581,1.21e+03,0:12\n340000,0.9008690012597967,1.21e+03,0:11\n360000,0.9255158510125162,1.21e+03,0:10\n380000,0.9173521261898001,1.21e+03,0:08\n400000,0.9199973033288819,1.21e+03,0:07\n420000,0.9071096082489485,1.21e+03,0:05\n440000,0.9137287359774533,1.21e+03,0:04\n460000,0.8926880220808483,1.21e+03,0:02\n480000,0.9341117246446181,1.21e+03,0:01\n500000,0.923685862805699,1.21e+03,0:00\n"},{"output_type":"display_data","data":{"remote/url":"https://bohrium.oss-cn-zhangjiakou.aliyuncs.com/article/110115/ab171957574140a085c76a5f33b95db9/d7d33c74b4b24d199cb47f46046c6cc4.png","text/plain":"
"},"metadata":{}}],"id":"2e077eba-6894-4643-be75-709039b0e315"},{"cell_type":"markdown","source":"## 5. Summary & Outlook \nAs an old saying goes in China, to do a good job, one must first sharpen his tools (工欲善其事,必先利其器). In the era of rapid development of differentiable programming techniques driven by the wave of deep learning, we have witnessed a new paradigm in force field development. We aim to transform force field development into an engineering-oriented, automated, and reproducible process, allowing us to reap the benefits of continuous integration/development and the open-source spirit. DMFF, along with other related projects in **DeepModeling** community, will promote and implement this transformative change.\n\nDMFF is currently in the early stages of rapid iteration and development. There are many areas that require further improvement and numerous possibilities worth exploring:\n\n- DMFF, along with projects like dflow, aims to implement common force field fitting workflows, such as fitting dihedral angles, free energies, probability distributions, and more. These workflows will be integrated into the software to provide users with a comprehensive suite of tools for force field development and parameterization.\n\n- DMFF is committed to continuous development and will strive to meet the evolving needs of the scientific community. This includes expanding the range of supported force field function forms to accommodate a wider variety of molecular systems.\n\n- DMFF recognizes the importance of integrating advanced molecular dynamics algorithms with force field development. By leveraging state-of-the-art sampling techniques and enhanced sampling methods, DMFF aims to enhance the accuracy and efficiency of force field optimization and simulations.\n\n- Absolutely! DMFF recognizes the importance of user experience and aims to continuously improve its documentation, API, and overall usability. Providing clear and comprehensive documentation is essential for users to understand the functionality and usage of DMFF effectively.\n\nWelcome to write Issues, initiate Discussions, and even submit Pull Requests in the DMFF GitHub project. Specifically:\n\n- If you are a hardcore developer in the field of molecular force fields and are exploring new forms of force field functions, we welcome you to engage in in-depth discussions with the developers and contribute to enriching the force field calculation capabilities of DMFF.\n\n- If you are dedicated to simulating a specific system and are struggling to find suitable force field parameters, you can become an angel user of DMFF. You can use DMFF to build a force field optimization workflow based on your own needs and provide valuable suggestions to us based on your practical requirements. Your feedback will contribute to the further development and improvement of DMFF.","metadata":{},"id":"1bfb9193-e469-45df-9196-0b0eea5f144d"}]} \ No newline at end of file diff --git a/docs/user_guide/theory.md b/docs/user_guide/theory.md deleted file mode 100644 index 34e4928b7..000000000 --- a/docs/user_guide/theory.md +++ /dev/null @@ -1,250 +0,0 @@ -# 5. Theory - -DMFF project aims to implement organic molecular force fields using a differentiable programming framework, such that derivatives with respect to atomic positions, box shape, and force field parameters can be easily computed. It contains different modules, dealing with different types of force field terms. Currently, there are two primary modules: - -1. ADMP (**A**utomatic **D**ifferentiable **M**ultipolar **P**olarizable Potential) module - ADMP mainly deals with multipolar polarizable models. Its core function is very similar to the MPID plugin in OpenMM, implementing PME calculators for multipolar polarizable electrostatic interactions and long-range dispersion interactions (with the shape of $c_i c_j/r^p$). It also devises a user-defined real-space pairwise interaction calculator based on cutoff scheme. - -2. Classical module - The classical module implements conventional (AMBER and OPLS like) force fields. For long-range interactions, it invokes the ADMP PME kernel, but wrapps it in a more "classical" way. It also incoporates the classical intramolecular terms: bonds, angles, proper and improper dihedrals etc. - -All interations involved in DMFF are briefly introduced below and the users are encouraged to read the references for more mathematical details: - -## 5.1 Electrostatic Interaction - -The electrostatic interaction between two atoms can be described using multipole expansion, in which the electron cloud of an atom can be expanded as a series of multipole moments including charges, dipoles, quadrupoles, and octupoles etc. If only the charges (zero-moment) are considered, it is reduced to the point charge model in classical force fields: - -$$ -V=\sum_{ij} \frac{q_i q_j}{r_{ij}} -$$ - -where $q_i$ is the charge of atom $i$. - -More complex (and supposedly more accurate) force field can be obtained by including more multipoles with higher orders. Some force fields, such as MPID, goes as high as octupoles. Currently in DMFF, we support up to quadrupoles: - -$$ -V=\sum_{tu} Q_t^A T^{AB}_{tu} Q_u^B -$$ - -where $Q_t^A$ represents the t-component of the multipole moment of atom A. Note there are two (equivalent) ways to define multipole moments: cartesian and spherical harmonics. Cartesian representation is over-complete but with a simpler definition, while spherical harmonics are easier to use in real calculations. In the user API, we use cartesian representation, in consistent with the AMOEBA and the MPID plugins in OpenMM. However, spherical harmonics are always used in the computation kernel, and we assume all components are arranged in the following order: - -$$0, 10, 1c, 1s, 20, 21c, 21s, 22c, 22s, ...$$ - -The $T_{tu}^{AB}$ represents the interaction tensor between multipoles. The mathematical expression of these tensors can be found in the appendix F of Ref 1. The user can also find the conversion rule between different representations in Ref 1 & 5. - - -## 5.2 Coordinate System for Multipoles - -Different to charges, the definition of multipole moments depends on the coordinate system. The exact value of the moment tensor will be rotated in accord to different coordinate systems. There are three types of frames involved in DMFF, each used in a different scenario: - - - Global frame: coordinate system binds to the simulation box. It is same for all the atoms. We use this frame to calculate the charge density structure factor $S(\vec{k})$ in reciprocal space. - - Local frame: this frame is defined differently on each atom, determined by the positions of its peripheral atoms. Normally, atomic multipole moments are most stable in the local frame, so it is the most suitable frame for force field input. In DMFF API, the local frames are defined using the same way as the AMOEBA plugin in OpenMM. The details can found in the following references: - * [OpenMM forcefield.py](https://github.com/openmm/openmm/blob/master/wrappers/python/openmm/app/forcefield.py#L4894), line 4894~4933 - * [J. Chem. Theory Comput. 2013, 9, 9, 4046–4063](https://pubs.acs.org/doi/abs/10.1021/ct4003702) - - Quasi internal frame, aka. QI frame: this frame is defined for each pair of interaction sites, in which the z-axis is pointing from one site to another. In this frame, the real-space interaction tensor ($T_{tu}^{AB}$) can be greatly simplified due to symmetry. We thus use this frame in the real space calculation of PME. - - -## 5.3 Polarization Interaction - -DMFF supports polarizable force fields, in which the dipole moment of the atom can respond to the change of the external electric field. In practice, each atom has not only permanent multipoles $Q_t$, but also induced dipoles $U_{ind}$. The induced dipole-induced dipole and induced dipole-permanent multipole interactions needs to be damped at short-range to avoid polarization catastrophe. In DMFF, we use the Thole damping scheme identical to MPID (ref 6), which introduces a damping width ($a_i$) for each atom $i$. The damping function is then computed and applied to the corresponding interaction tensor. Taking $U_{ind}$-permanent charge interaction as an example, the definition of damping function is: - -$$ -\displaylines{ -1-\left(1+a u+\frac{1}{2} a^{2} u^{2}\right) e^{-a u} \\ -a=a_i + a_j \\ -u=r_{ij}/\left(\alpha_i \alpha_j\right)^{1/6} -} -$$ - -Other damping functions between multipole moments can be found in Ref 6, table I. - -It is noted that the atomic damping parameter $a=a_i+a_j$ is only effective on topological neighboring pairs (with $pscale = 0$), while a default value of $a_{default}$ is set for all other pairs. In DMFF, the atomic $a_i$ is specified via the xml API, while $a_{default}$ is controlled by the `dmff.admp.pme.DEFAULT_THOLE_WIDTH` variable, which is set to 5.0 by default. - -We solve $U_{ind}$ by minimizing the electrostatic energy: - -$$ -V=V_{perm-perm}+V_{perm-ind}+V_{ind-ind} -$$ - -The last two terms are related to $U_{ind}$. Without introducing the nonlinear polarization terms (e.g., some force fields introduce $U^4$ to avoid polarization catastrophe), the last two terms are quadratic to $U_{ind}$: - -$$ -V_{perm-ind}+V_{ind-ind}=U^TKU-FU -$$ - -where the off-diagonal term of $K$ matrix is induced-induced dipole interaction, the diagonal term is formation energy of the induced dipoles ($\sum_i \frac{U_i^2}{2\alpha_i}$); the $F$ matrix represents permanent multipole - induced dipole interaction. We use the gradient descent method to optimize energy to get $U_{ind}$. - -In the current version, we temporarily assume that the polarizability is spherically symmetric, thus the polarizability $\alpha_i$ is a scalar, not a tensor. **Thus the inputs (`polarizabilityXX, polarizabilityYY, polarizabilityZZ`) in the xml API is averaged internally**. In future, it is relatively simple to relax this restriction: simply change the reciprocal of the polarizability to the inverse of the matrix when calculating the diagonal terms of the $K$ matrix. - -## 5.4 Dispersion Interaction - -In ADMP, we assume that the following expansion is used for the long-range dispersion interaction: - -$$ -V_{disp}=\sum_{ij}-\frac{C_{ij}^6}{r_{ij}^6}-\frac{C_{ij}^8}{r_{ij}^8}-\frac{C_{ij}^{10}}{r_{ij}^{10}}-... -$$ - -where the dispersion coefficients are determined by the following combination rule: - -$$ -C^n_{ij}=\sqrt{C_i^n C_j^n} -$$ - -Note that the dispersion terms should be consecutive even powers according to the perturbation theory, so the odd dispersion terms are not supported in ADMP. - -In ADMP, this long-range dispersion is computed using PME (*vida infra*), just as electrostatic terms. - -In the classical module, dispersions are treated as short-range interactions using standard cutoff scheme. - -## 5.5 Long-Range Interaction with PME - -The long-range potential includes electrostatic, polarization, and dispersion (in ADMP) interactions. Taking charge-charge interaction as example, the interaction decays in the form of $O(\frac{1}{r})$, and its energy does not converge with the increase of cutoff distance. The multipole electrostatics and dispersion interactions also converge slow with respect to cutoff distance. We therefore use Particle Meshed Ewald(PME) method to calculate these interactions. - -In PME, the interaction tensor is splitted into the short-range part and the long-range part, which are tackled in real space and reciprocal space, respectively. For example, the Coulomb interaction is decomposed as: - -$$ -\frac{1}{r}=\frac{erfc(\kappa r)}{r}+\frac{erf(\kappa r)}{r} -$$ - -The first term is a short-range term, which can be calculated directly by using a simple distance cutoff in real space. The second term is a long-range term, which needs to be calculated in reciprocal space by fast Fourier transform(FFT). The total energy of charge-charge interaction is computed as: - -$$ -\displaylines{ -E_{real} = \sum_{ij}\frac{erfc(\kappa r_{ij})}{r_{ij}} \\ -E_{recip} = \sum_{\vec{k}\neq 0} {\frac{2\pi}{Vk^2}\exp\left[\frac{k^2}{4\kappa^2}\right]\left|S(\vec{k})\right|^2}\frac{1}{\left|\theta(\vec{k})\right|^2} \\ -E_{self} = -\frac{\kappa}{\sqrt{\pi}}\sum_i {q_i^2} \\ -E = E_{real}+E_{recip}+E_{self} -} -$$ - -As for multipolar PME and dispersion PME, the users and developers are referred to Ref 2, 3, and 5 for mathematical details. - -The key parameters in PME include: - - - $\kappa$: controls the separation of the long-range and the short-range. The larger $\kappa$ is, the faster the real space energy decays, the smaller the cutoff distance can be used in the real space, and more difficult it is to converge the reciprocal energy and the larger $K_{max}$ it needs; - - - $r_{c}$: cutoff distance in real space; - - - $K_{max}$: controls the number of maximum k-points in all three dimensions - - -In DMFF, we determine these parameters in the same way as in [OpenMM](http://docs.openmm.org/latest/userguide/theory/02_standard_forces.html#coulomb-interaction-with-particle-mesh-ewald): - -$$ -\displaylines{ -\kappa=\sqrt{-\log (2 \delta)} / r_{c} \\ -K_{max}=\frac{2 \kappa d}{3 d^{1 / 5}} -} -$$ - -where the user needs to specify the cutoff distance $r_c$ when building the neighbor list, the width of the box in each dimension $d$ (determined from the input box matrix), and the energy accuracy $\delta$. - -In the current version, the dispersion PME calculator uses the same parameters as in electrostatic PME. - -## 5.6 Short-Range Interaction - -Short-range pair interaction refers to all interactions with the following form: - -$$ -V=\sum_{ij}v(r_{ij}) -$$ - -Some common short-range pair interactions include: - - - The repulsive part of the Buckingham or the Lennard-Jones potential: - -$$ -\displaylines{ -v(r)=A\exp(-\beta r) \\ -v(r)=\frac{C^{12}}{r^{12}} -} -$$ - - - Tang-Tonnies Damping: damping function for short-range electrostatic and dispersion energies. - -$$ -f_n(r,\beta)=1-e^{-\beta r} \sum_{k=0}^{n}\frac{(\beta r)^k}{k!} -$$ - -In ADMP, the user can define a pairwise kernel function $f(dr)=f(dr, m, a_i,a_j,b_i,b_j,\dots)$ ($a_i, b_i$ are atomic parameters), then use `generate_pairwise_interaction` to raise the kernel function into an energy calculator (see details in ADMP manual). - -## 5.7 Combination Rule - -For most traditional force fields, pairwise parameters between interacting particles are determined by atomic parameters. This mathematical relationship is called the combination rule. For example, in the calculation of LJ potential, the following combination rule may be used: - -$$ -\displaylines{ -v(r)=4\varepsilon\left[\left(\frac{\sigma}{r}\right)^{12}-\left(\frac{\sigma}{r}\right)^6\right] \\ -\sigma=\frac{\sigma_i + \sigma_j}{2} \\ -\varepsilon=\sqrt{\varepsilon_i \varepsilon_j} -} -$$ - -In ADMP module, we do not make any assumptions about the specific mathematical forms of the combination rule and $v(r)$. Users need to write them in the definition of the pairwise kernel function. - -## 5.8 Neighbor List - -All DMFF real space calculations depends on neighbor list (or "pair list" as we sometimes call in DMFF). Its purpose is to keep a record of all the "neighbors" within a certain distance of the central atom, thus avoiding to go over all pairs explicitly. - -In DMFF, we use external code ([jax-md](https://github.com/google/jax-md)) to build such neighbor list. An input argument named `pairs` is required in all real-space calculators, which contains the indices of all "interacting pairs" (i.e., pairs within a certain distance $r_c$). We assume that the `pairs` variable is in `ordered sparse` format in Jax-md. That is, a $N_p\times2$ index array with $N_p$ being the number of interacting pairs. It is noted that change of $N_p$ leads to recompilation of the code and significantly slows down the calculation. Therefore, jax-md usually buffers the list such that $N_p$ remains a constant in the simulation. DMFF expects the buffer part of the neighbor list is filled with $N+1$, with $N$ being the total number of atoms in the system. - -Since the pair list only provides atom **id** information, it does not take part in the differentiation process, so it can be fed in as a normal numpy array (instead of a jax numpy array). - -## 5.9 Topological scaling - -In order to avoid double-counting with the bonding term, we often need to scale the non-bonding interactions between two atoms that are topologically connected. The scaling factor depends on the topological distance between the two atoms. We define two atoms separated by one bond as "1-2" interaction, and those separated by two bonds as "1-3" interaction, and so on. For example, in the OPLS-AA force field, all "1-2" nonbonding interactions are turned off completely, while all "1-3" non-bonding interactions are scaled by 50%. DMFF supports such feature, and important variables related to topological scaling include: - - - `covalent_Map`: a $N\times N$ matrix, which defines the topological spacings between atoms. If the matrix element is 0, it indicates that the **topological** distance between the two atoms is too far (or the two atoms are not connected), so the nonbonding interaction is fully turned on between them. - - - `mScales`: The list of scaling factors. The first element is the scaling factor for all 1-2 nonbonding interaction, the second element is the scaling for 1-3 interactions, and so on. The list can be of any length, but the last number of the list **must be 1**, which represents the complete, unscaled nonbonding interaction. - - - `pScales`/`dScales`: similar to `mScales`, but only related to polarizable calculations. They are scaling factors for induced-perm and induced-induced interactions, respectively. - - -## 5.10 General Many-Body Interactions - -(such as ML force field) TBA - -## 5.11 Bonded Interaction - -Intramolecular bonding interactions refer to all interactions that depend on internal coordinates (IC), such as bonds, angles, and dihedrals, etc. - -+ Harmonic Bonding Terms - - The definition of the bonding term in DMFF is the same as in OpenMM. For each bond, we have: - -$$ -E=\frac{1}{2}k(x-x_0)^2 -$$ - -+ Harmonic Angle Terms - -$$ -E=\frac{1}{2} k\left(\theta-\theta_{0}\right)^{2} -$$ - -+ Dihedral Terms - - 1. Proper dihedral - 2. Improper dihedral - -+ Multi IC coupling term - -## 5.12 Typification - -Before energy calculation, atomic and IC parameters (such as charge, multipole moment, dispersion coefficient, polarizability, force constant of each bond and angle, etc.) need to be assigned first. - -Generally, these parameters should be dependent on the chemical and geometric environment of each atom and IC. However, in conventional force field, in order to reduce the number of parameters, atoms and ICs are classified according to their topological environment, and atoms/ICS in the same class would share parameters. The process of classifying each atom and IC and assigning the corresponding parameters according to their class is called typification. - -In DMFF, the input parameters that need to be optimized are called **force field parameters**, and the parameters of each atom and IC after typification are called **atomic parameters**. Note that in an ideal force field, if we can directly predict atomic parameters using machine learning model, the process of typification is *not necessary*. Therefore, in DMFF, we decouple the typification code with the computation kernels, so that the core calculators based on atomic parameters has their own API and can be invoked independently. The typification code, in combination with the xml/pdb input parsers, composes the high-level API (the `dmff.api` module). - -The design of the high-level DMFF API is based on the existing framework of OpenMM. DMFF needs to keep the derivation chain uninterrupted when dispatching the force field params into atomic params. Therefore, maintaining the basic design logic of OpenMM, we rewrite the typification part of OpenMM using Jax. Briefly speaking, OpenMM/DMFF requires the users to clearly define the type of each atom in each residue and the connection mode between atoms in residue templates. Then the residue templates are used to match the PDB file to typify the whole system. See the following [documents](../dev_guide/arch.MD) for details. - -## 5.13 References - -1. [Anthony's book](https://oxford.universitypressscholarship.com/view/10.1093/acprof:oso/9780199672394.001.0001/acprof-9780199672394) -2. [The Multipolar Ewald paper in JCTC: J. Chem. Theory Comput. 2015, 11, 2, 436–450](https://pubs.acs.org/doi/abs/10.1021/ct5007983) -3. [The dispersion Ewald/PME](https://aip.scitation.org/doi/pdf/10.1063/1.470117) -4. [Frenkel & Smit book](https://www.elsevier.com/books/understanding-molecular-simulation/frenkel/978-0-12-267351-1) -5. Note on multipole ewald. [link](multipole_pme.md) -6. [MPID Reference](https://doi.org/10.1063/1.4984113) diff --git a/docs/user_guide/tutorial.md b/docs/user_guide/tutorial.md deleted file mode 100644 index 21c0f6315..000000000 --- a/docs/user_guide/tutorial.md +++ /dev/null @@ -1,201 +0,0 @@ -# Tutorial - -## Write XML - -DMFF uses a simple XML file to describe force fields. Let us take an example of writing a DMFF XML file using the classical force field to calculate the water molecule system. - -Support we treat the water molecule as a three-body molecule. Within the molecule, we need harmonic interaction to describe the bonded interaction and harmonic angle potential. Between molecules, the interactions between atoms are expressed through the Lennard-jones potential. - -Let us create a new file called `forcefield.xml`. The root element of the XML file must be a `` tag: - -``` - -... - -``` - -The `` tag contains the following children: - -- An `` tag containing the atom type definitions - -- A `` tag containing the residue template definitions - -- Zero or more tags defining specific forces - -The order of these tags does not matter. They are described in detail below. - -`` defines atom type in the System. In this case, we have two types of atom: - - -``` - - - - -``` - -Each `` tag in this section represents a type of atom. It specifies the name of the type, the class it belongs to, the symbol for its element, and its mass. The names are arbitrary strings: they need not be numbers, as in this example. The only requirement is that all types have unique names. The classes are also arbitrary strings and in general will not be unique. If they list the same value for the class attribute, two types belong to the same class. - -The residue template definitions look like this: - -``` - - - - - - - - - -``` - -`` template contains the following tags: - -- An `` tag for each atom in the residue. This specifies the name of the atom and its atom type. - -- A `` tag for each pair of atoms that are bonded to each other. The atomName1 and atomName2 attributes are the names of the two bonded atoms. (Some older force fields use the alternate tags to and from to specify the atoms by index instead of name. This is still supported for backward compatibility, but specifying atoms by name is recommended since it makes the residue definition much easier to understand.) - -The `` tag may also contain `` tags, as in the following example: - - -``` - - - - - - - - - -``` - -Each `` tag indicates an atom in the residue that should be represented with a virtual site. The type attribute may equal "average2", "average3", "outOfPlane", or "localCoords", which correspond to the TwoParticleAverageSite, ThreeParticleAverageSite, OutOfPlaneSite, and LocalCoordinatesSite classes respectively. The siteName attribute gives the name of the atom to represent with a virtual site. The atoms it is calculated based on are specified by atomName1, atomName2, etc. (Some old force fields use the deprecated tags index, atom1, atom2, etc. to refer to them by index instead of name.) - -The remaining attributes are specific to the virtual site class and specify the parameters for calculating the site position. For a TwoParticleAverageSite, they are weight1 and weight2. For a ThreeParticleAverageSite, they are weight1, weight2, and weight3. For an OutOfPlaneSite, they are weight12, weight13, and weightCross. For a LocalCoordinatesSite, they are p1, p2, and p3 (giving the x, y, and z coordinates of the site position in the local coordinate System), and wo1, wx1, wy1, wo2, wx2, wy2, … (giving the weights for computing the origin, x-axis, and y-axis). - -Next, to add a HarmonicBondForce to the System, include a tag that looks like this: - -``` - - - -``` - -Every `` tag defines a rule for creating harmonic bond interactions between atoms. Each tag may identify the atoms either by type (using the attributes type1 and type2) or by class (using the attributes class1 and class2). For every pair of bonded atoms, the force field searches for a rule whose atom types or atom classes match the two atoms. If it finds one, it calls addBond() on the HarmonicBondForce with the specified parameters. Otherwise, it ignores that pair and continues. length is the equilibrium bond length in nm, and k is the spring constant in kJ/mol/nm2. - -To add a HarmonicAngleForce to the System, include a tag that looks like this: - -``` - - - -``` - -Every `` tag defines a rule for creating harmonic angle interactions between triplets of atoms. Each tag may identify the atoms either by type (using the attributes type1, type2, …) or by class (using the attributes class1, class2, …). The force field identifies every set of three atoms in the System where the first is bonded to the second, and the second to the third. For each one, it searches for a rule whose atom types or atom classes match the three atoms. If it finds one, it calls addAngle() on the HarmonicAngleForce with the specified parameters. Otherwise, it ignores that set and continues. angle is the equilibrium angle in radians, and k is the spring constant in kJ/mol/radian2. - -To add a NonbondedForce to the System, include a tag that looks like this: - -``` - - - - - -``` - -Each `` tag specifies the OBC parameters for one atom type (specified with the type attribute) or atom class (specified with the class attribute). It is fine to mix these two methods, having some tags specify a type and others specify a class. However you do it, you must make sure that a unique set of parameters is defined for every atom type. charge is measured in units of the proton charge, radius is the GBSA radius in nm, and scale is the OBC scaling factor. - -This is what we should do to describe a simple system with a classical force field. - -## Write a run script - -We already have a XML file to describe our System, now we need to write a python script to calculate energy and force. - -First, we need to parse PDB file - -``` -import openmm.app as app -pdb = app.PDBFile('/path/to/pdb') -positions = jnp.array(pdb.positions._value) -a, b, c = pdb.topology.getPeriodicBoxVectors() -box = jnp.array([a._value, b._value, c._value]) -``` - -Second, a `Hamiltonian` class should be initialized with XML file path - -``` -from dmff.api import Hamiltonian -H = Hamiltonian('forcefield.xml') -rc = 4.0 # cutoff -pot = H.createPotential(pdb.topology, nonbondedCutoff=rc) -``` - -The `Hamiltonian` class will parse tags in XML file and invoke corresponding potential functions. We can access those potentials in the `Potential` object (`pot`) by the name of the corresponding force - -``` -bondE = pot.dmff_potentials['HarmonicBondForce'] -angleE = pot.dmff_potentials['HarmonicAngleForce'] -nonBondE = pot.dmff_potentials['NonbondedForce'] -``` - -and access the covalent map from `Potential.meta["cov_map"]` - -``` -cov_map = pot.meta["cov_map"] -``` - -> Note: only when the `createPotential` method is called can potentials be obtained - -Next, we need to construct neighbor list. Here we use the code from `jax_md`: - -``` -from jax_md import space, partition -displacement_fn, shift_fn = space.periodic_general(box, fractional_coordinates=False) -neighbor_list_fn = partition.neighbor_list(displacement_fn, box, rc, 0, format=partition.OrderedSparse) -nbr = neighbor_list_fn.allocate(positions) -pairs = nbr.idx.T -``` - -Also, we provide a wrapper to simplify neighborList construction: - -``` -from dmff import NeighborList -nblist = NeighborList(box, rc, cov_map) -nblist.allocate(positions) -pairs = nblist.pairs # equivalent to nbr.idx.T -distance = nblist.distance # distance between pairs -dr = nblist.dr # distance vector - -``` - -`pairs` is a `(N, 3)` shape array, which indicates the index of atom i, atom j, and the covalent distance between i and j. ATTENTION: pairs array contains many **invalid** index. For example, in this case, we only have 6 atoms and pairs' shape maybe `(18, 3)`. And even there are three `[6, 6]` pairs which are obviously out of range. Because `jax-md` takes advantage of the feature of Jax.numpy, which will not throw an error when the index out of range, and return the [last element](https://jax.readthedocs.io/en/latest/notebooks/Common_Gotchas_in_JAX.html#out-of-bounds-indexing). - -THe force field parameters are stored as a dictionary and can be accessed from Hamiltonian. Using it, we can calculate energy and force using the aforementioned potential: - -``` -params = H.getParameters() -print("Bond:", value_and_grad(bondE)(positions, box, pairs, params)) -print("Angle:", value_and_grad(angleE)(positions, box, pairs, params)) -print('NonBonded:', value_and_grad(nonBondE)(positions, box, pairs, params)) -``` - -also, we can write a simple gradient descent to optimize parameters: - -``` -import optax -# start to do optmization -lr = 0.001 -optimizer = optax.adam(lr) -opt_state = optimizer.init(params) - -n_epochs = 1000 -for i_epoch in range(n_epochs): - loss, grads = value_and_grad(bondE, argnums=(0))(params, data[sid]) - updates, opt_state = optimizer.update(grads, opt_state) - params = optax.apply_updates(params, updates) - with open('params.pickle', 'wb') as ofile: - pickle.dump(params, ofile) -``` diff --git a/docs/user_guide/usage.md b/docs/user_guide/usage.md deleted file mode 100644 index 4eeefbf34..000000000 --- a/docs/user_guide/usage.md +++ /dev/null @@ -1,205 +0,0 @@ -# 3. Basic usage -This chapter will introduce some basic usage of DMFF. All scripts can be found in `examples/` directory in which Jupyter notebook-based demos are provided. -## 3.1 Compute energy -DMFF uses OpenMM to parse input files, including coordinates file, topology specification file and force field parameter file. Then, the core class `Hamiltonian` inherited from `openmm.ForceField` will be initialized and the method `createPotential` will be called to create differentiable potential energy functions for different energy terms. Take parametrzing an organic moleclue with GAFF2 force field as an example: -```python -import jax -import jax.numpy as jnp -import openmm.app as app -import openmm.unit as unit -from dmff import Hamiltonian, NeighborList - -app.Topology.loadBondDefinitions("lig-top.xml") -pdb = app.PDBFile("lig.pdb") -ff = Hamiltonian("gaff-2.11.xml", "lig-prm.xml") -potentials = ff.createPotential(pdb.topology) -for k in potentials.dmff_potentials.keys(): - pot = potentials.dmff_potentials[k] - print(pot) -``` -In this example, `lig.pdb` is the PDB file containing atomic coordinates, and `lig-top.xml` specifying bond connections within a molecule and this information is required by `openmm.app` to generate molecular topology. Note that this file is not always required, if bond conncections are defined in .pdb file by `CONNECT` keyword. `gaff-2.11.xml` contains GAFF2 force field parameters (bonds, angles, torsion and vdW), and `lig-prm.xml` contains atomic partial charges (GAFF2 requests a user-defined charge assignment process). This xml format is compatitable with OpenMM definitions, and a detailed description can be found in [OpenMM user guide](`http://docs.openmm.org/latest/userguide/application/05_creating_ffs.html`) or [XML-format force fields](./xml_spec.md) section. - -If you run this script in `examples/classical`, you will get the following output. -``` -.potential_fn at 0x112504af0> -.potential_fn at 0x1124cd820> -.potential_fn at 0x18509b790> -.potential_fn at 0x18509baf0> -``` -The force field parameters are stored as a Python dict in the Hamiltonian. -```python -params = ff.getParameters() -nbparam = params['NonbondedForce'] -nbparam -``` - -``` -{ - 'sigma': DeviceArray([0.33152124, ...], dtype=float32), - 'epsilon': DeviceArray([0.4133792, ...], dtype=float32), - 'epsfix': DeviceArray([], dtype=float32), - 'sigfix': DeviceArray([], dtype=float32), - 'charge': DeviceArray([-0.75401515, ...], dtype=float32), - 'coulomb14scale': DeviceArray([0.8333333], dtype=float32), - 'lj14scale': DeviceArray([0.5], dtype=float32) -} -``` - - -Each generated function will read coordinates, box, pairs and force field parameters as inputs. -```python -positions = jnp.array(pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer)) -box = jnp.array([ - [10.0, 0.0, 0.0], - [ 0.0, 10.0, 0.0], - [ 0.0, 0.0, 10.0] -]) -nbList = NeighborList(box, rc=4) -nbList.allocate(positions) -pairs = nbList.pairs -``` -Note that in order to take advantages of the auto-differentiable implementation in JAX, the input arrays have to be `jax.numpy.ndarray`, otherwise DMFF will raise an error. `pairs` is a $N\times 2$ integer array in which each row specifying atoms condsidered as neighbors within `rcut`. As shown above, this can be calculated with `dmff.NeighborList` class which is supported by `jax_md`. - -The potential energy function will give energy (a scalar, in kJ/mol) as output: -```python -nbfunc = potentials.dmff_potentials['NonbondedForce'] -nbene = nbfunc(positions, box, pairs, params) -print(nbene) -``` -If everything works fine, you will get `-425.41412` as a result. In addition, you can also use `getPotentialFunc()` and `getParameters()` to obtain the whole potential energy function and force field parameter set, instead of seperated functions for different energy terms. -```python -efunc = potentials.getPotentialFunc() -params = ff.getParameters() -totene = efunc(positions, box, pairs, params) -``` - -## 3.2 Compute forces -Different from conventional programming frameworks, explicit definition of atomic force calculation functions are no longer needed. Instead, the forces can be evaluated in an automatic manner with `jax.grad`. -``` -pos_grad_func = jax.grad(efunc, argnums=0) -force = -pos_grad_func(positions, box, pairs, params) -``` - -## 3.3 Compute parametric gradients -Similarly, the derivative of energy with regard to force field parameters can also be computed easily. -```python -param_grad_func = jax.grad(nbfunc, argnums=-1) -pgrad = param_grad_func(positions, box, pairs, params) -print(pgrad["NonbondedForce"]["charge"]) -``` - -```python -[ 652.7753 55.108738 729.36115 -171.4929 502.70837 - -44.917206 129.63994 -142.31796 -149.62088 453.21503 - 46.372574 140.15303 575.488 461.46902 294.4358 - 335.25153 27.828705 671.3637 390.8903 519.6835 - 220.51129 238.7695 229.97302 210.58838 231.8734 - 196.40994 237.08563 35.663574 457.76416 77.4798 - 256.54382 402.2121 611.9573 440.8465 -52.09662 - 421.86688 592.46265 237.98883 110.286194 150.65375 - 218.61087 240.20477 -211.85376 150.7331 310.89404 - 208.65228 -139.23026 -168.8883 114.3645 3.7261353 - 399.6282 298.28455 422.06445 526.18463 521.27563 - 575.85767 606.74744 394.40845 549.84033 556.4724 - 485.1427 512.1267 558.55896 560.4667 562.812 - 333.74194 ] -``` - -## 3.4 Parametrize molecules with SMIRKS-based force field -### 3.4.1 Background -Besides atom-typing based methods, DMFF also supports assigning force field parameters with [SMIRKS](https://www.daylight.com/dayhtml/doc/theory/theory.smirks.html). SMIRKS is an extenstion of [SMARTS](https://www.daylight.com/dayhtml/doc/theory/theory.smarts.html) language which allows users not only to specify chemical substructures with certain patterns, but also to numerically tag the matched atoms for assigning parameters. This approach avoid the duplicate atom-typing definition process, which enables new parameters to be easily introduced to existing force field parameters sets. [OpenFF](https://github.com/openforcefield/openff-toolkit)[[1-2]](#sminorff) series are examples of SMIRKS-based force fields for organic molecules. - -![smirks](../assets/smirks.png) -
Fig. 1 Illustration of matching chemical substructures with SMIRKS language. Adapted from [[1]](#sminorff).
- -### 3.4.2 Parametrize molecules with SMIRKS by DMFF -The SMIRKS pattern matching is supported by RDKit package, which can be install with conda: -```bash -conda install rdkit -c conda-forge -``` -To begin with, we need a molecule encoded in `rdkit.Chem.Mol` object. As an example, we will load a N-methylacetamide molecule defined in `examples/smirks/C3H7NO.mol`: -```python -from rdkit import Chem -from dmff import Hamiltonian - -mol = Chem.MolFromMolFile("C3H7NO.mol", removeHs=False) # hydrogens must be preserved -``` -Then load force field parameters in xml format. Instuctions about how to write a SMIRKS-based force field XML file can be found in the [Chapter 4](xml_spec.md). - -```python -h_smk = Hamiltonian("C3H7NO.xml", noOmmSys=True) -``` -Note that the argument `noOmmSys` is set to `False` so that DMFF will not create an openmm system, as `openmm` does not support SMIRKS-based force field definitions. - -Build an openmm topology and parametrize the molecule to create differentiable potential energy functions: -```python -top = h_smk.buildTopologyFromMol(mol) -potObj = h_smk.createPotential(top, rdmol=mol) -``` -So far, we can utilize this `dmff.Potential` object to calculate energy and forces as we did in the previous sections. - -### 3.4.3 Bond Charge Correction (BCC) and Virtual Sites -Bond charge correction[[3-4]](#bcc) is an approach to obtain high-accuracy atomic partial charges (e.g. HF/6-31G* ESP-fit charges) by adopting corrections to low-accuracy atomic charges (e.g. AMI Mulliken charges). In order to ensure a zero of total correction values within a molecule, these correction parameters are usually defined based on bond types, which suggests that they can also be defined by SMIRKS patterns. - -Virtual sites are additional off-centered charged sites which are introduced to improve the desciption of electrostatic effects caused by sigma hole (halogen bond) or lone pairs. The positions of virtual sites are calculated directly by its parent atoms, not by integrating the equations of motion. This approach is well known for its application in TIP4P[[5]](#tip4p) and TIP5P[[6]](#opls4) water models, and it also proves to be useful in drug-like moelcular force fields like OPLS series[[7-8]](#opls3). Basically, the parameters to define a virtual site includes : where to add virtual sites, how the virtual sites' positions are determined and the charges. - -Not surprisingly, all these parameters can all be defined in SMIRKS pattern and as well as can be parsed with DMFF by adding terms in ``, such as: -```xml - - - - - - - - - -``` -In [Chapter 4](xml_spec.md), we will explain the meaning of these XML-format parameters in detail. Here, we will give a simple example to parametrize 2-chloropyridine with BCC parameters and virtual sites. - -As introduced above, we first load molecule and force field parameters. -```python -import jax.numpy as jnp -from rdkit import Chem -from dmff import Hamiltonian - -mol = Chem.MolFromMolFile("clpy.mol", removeHs=False) -h_vsite = Hamiltonian("clpy_vsite.xml", noOmmSys=True) -``` -Next, we build the dmff potential. We can see the BCC and virtual site parameters are successfully parsed. -```python -top = h_vsite.buildTopologyFromMol(mol) -potObj = h_vsite.createPotential(top, rdmol=mol) -``` - -Then we can add virtual sites to the molecule and obtain a new `rdkit.Chem.Mol` object. -```python -mol_vsite = h_vsite.addVirtualSiteToMol(rdmol, h_vsite.getParameters()) -Chem.MolToMolFile(mol_vsite, "clpy_vsite.mol") -``` -By dumping this molecule to mol file and visualize it, we can see that as expected, two virtual sites are added along the bond between aromatic carbon (arC) and chloroine and also along the bisector of the arC-N-arC angle. -![clpy](../assets/clpy.png) - -Alternatively, we can also add coordinates of virtual sites by taking atomic positions matrix as an input. -```python -pos = jnp.array(mol.GetConformer().GetPositions()) / 10 # convert angstrom to nm -pos_vsite = h_vsite.addVirtualSiteCoords(pos, h_vsite.getParameters()) -``` - -## 3.5 Reference -
-- [1] [Mobley, David L., et al. "Escaping atom types in force fields using direct chemical perception." Journal of chemical theory and computation 14.11 (2018): 6076-6092.](https://doi.org/10.1021/acs.jctc.8b00640) -
-- [2] [Qiu, Yudong, et al. "Development and Benchmarking of Open Force Field v1. 0.0—the Parsley Small-Molecule Force Field." Journal of Chemical Theory and Computation 17.10 (2021): 6262-6280.](https://doi.org/10.1021/acs.jctc.1c00571) -
-- [3] [Jakalian, Araz, et al. "Fast, efficient generation of high‐quality atomic charges. AM1‐BCC model: I. Method." Journal of computational chemistry 21.2 (2000): 132-146.](https://doi.org/10.1002/(SICI)1096-987X(20000130)21:2<132::AID-JCC5>3.0.CO;2-P) -
-- [4] [Jakalian, Araz, David B. Jack, and Christopher I. Bayly. "Fast, efficient generation of high‐quality atomic charges. AM1‐BCC model: II. Parameterization and validation." Journal of computational chemistry 23.16 (2002): 1623-1641.](https://doi.org/10.1002/jcc.10128) -
-- [5] [Jorgensen, William L., et al. "Comparison of simple potential functions for simulating liquid water." The Journal of chemical physics 79.2 (1983): 926-935.](https://doi.org/10.1063/1.445869) -
-- [6] [Mahoney, Michael W., and William L. Jorgensen. "A five-site model for liquid water and the reproduction of the density anomaly by rigid, nonpolarizable potential functions." The Journal of chemical physics 112.20 (2000): 8910-8922.](https://doi.org/10.1063/1.481505) -
-- [7] [Harder, Edward, et al. "OPLS3: a force field providing broad coverage of drug-like small molecules and proteins." Journal of chemical theory and computation 12.1 (2016): 281-296.](https://doi.org/10.1021/acs.jctc.5b00864) -
-- [8] [Lu, Chao, et al. "OPLS4: Improving force field accuracy on challenging regimes of chemical space." Journal of chemical theory and computation 17.7 (2021): 4291-4300.](https://doi.org/10.1021/acs.jctc.1c00302) \ No newline at end of file diff --git a/docs/user_guide/xml_spec.md b/docs/user_guide/xml_spec.md deleted file mode 100644 index 24f7aff09..000000000 --- a/docs/user_guide/xml_spec.md +++ /dev/null @@ -1,297 +0,0 @@ -# 4. XML Format Force Field - -DMFF utilizes XML format to describe force fields, which is compatitable with OpenMM. The design of such format is quite modular and convenient to use. Unfortunately, only limited documentations are available right now to explain the details of the file format. Here, the format and the meaning of the OpenMM XML file are sorted in details in below. - -Overall speaking, the typification process is composed by the following steps: - -1. Build the residue topology (draw all bonds) according to the residue name. This is done by matching the residue template in the topology file. - -2. Match the residue topology with corresponding parameter templates. - -3. Use the information in the matched parameter template to define the potential function. More specifically, go over all forces (i.e., potential components), and for each force (e.g., the bond stretching potential), match all terms (e.g., find all bonds) and register these terms in the total potential. - -The files involved in this process are introduced below. - -## 4.1 Topology File - -Bonding information is necessary for DMFF to assign force field parameters correctly. Such information can be either provided by the PDB file (in `CONECT` keyword) or by the topology file in XML format. - -An example of the topology XML file of alanine is as follows: -```xml - - - - - - - - - - - - - - - - - - - -``` - -In the topology file, the chemical bonds are defined in residues and specified by the name of its consisting atoms. Note that here "-C" indicates an external bond between the "C" atom and the **previous** residue. The program (`openmm.topology` module) will first matching the residues in the provided structure with the residues defined in topology files by its residue name. Whenever a residue is matched, the program will then try to match all atoms in the topology template with the actual atoms in the real structure. Once a match is successful, the matched atom will be bonded accordingly. If the match fails, this template atom will be skipped. Therefore, the actual number of bonds in the matched structure can be less than the number of bonds defined in the template. It should also be noted that disulfide bonds are not registered in this step. The `openmm.topolgoy` will look for SG atoms in Cys that are not connected to HG, and connect SG atom pairs within 0.3 nm as disulfide bonds. - -For common molecules such as water, protein, DNA and RNA, the topology files has been constructed and loaded internally, so the users do not need to provide an external one. But for other arbitrary molecules, such as a drug-like organic molecule, an external topology file is required to provide bonding information. Otherwise, users must load pdb files with correct bonding information which is specified by `CONECT` keyword. - -An external topology XML file is registered as: - -``` python -import openmm.app as app - -app.Topology.loadBondDefinations("topology.xml") # register residue topology -``` - -It should be awared that after this process, the bonding topologies are constructed for the matched residues in the given structure, but the force field parameters are not yet assigned, which is discussed in the next section. - - -## 4.2 Force Field Parameter File - -The force field parameters are specified in a XML formatted force field parameter file. A sample force field file of water is given as follows: -``` xml - - - - - - - - - - - - - - - - - - - - - - - - - - - -``` -The force field parameter file must have one root element `` and can contain serveral children, which can be mainly divided into two parts: (1) residue part and (2) force field part. They are described in detail below. - -### 4.2.1 Residue Part -The detailed description of this part can be found in the [OpenMM user guide](http://docs.openmm.org/latest/userguide/application/05_creating_ffs.html). Here we just provide a brief summary. - -The residue part refers to contents within the tag ``, in which each residue template is defined in tag ``. The residue template contain the following nodes: - -+ ``: specifies the name of the atom and its atom types, as well as some atom-level parameters (usually atomic -+ ``: specifies atom pairs that are bonded to each other. -+ ``: specified atoms that will be bonded to an atom of different residue, such as the amide bond between amino acid residues. - -It should be clairfied that the bonding information contained in `` tags may be different from that in the topology file. Take alanine (ALA) as an example, we usually have at least three states for ALA: at N-terminal, at C-terminal or inside chains. The corresponding parameter templates in the force field file are as follows: - -``` xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -``` - -In this example, the atom numbers and the bonding configurations of ALA, CALA and NALA are different. When matching each ALA, OpenMM will try to match CALA, NALA, and ALA separately. It will compare each parameter template with the topology of the residue, and select the one with the exactly correct number of atoms, element composition, and bonding configurations as the matched template. The parameter template contains atom type and class information, which are then used to assign force field parameters. - - -### 4.2.2 Force Field Part - -DMFF supports two scheme to assign force field parameters: atom typing scheme and SMIRKS-based scheme. The structure of force field file for these two schemes are generally similar but only has some slight different. - -#### 4.2.2.1 Atom-typing Scheme -The atom-typing scheme is the most widely adopted way to assign parameters. In this scheme, the types of atoms are first defined and the parameters of bonds/angles/dihedrals are defined and assigned according to atom types. In OpenMM, the force field parameters are constructed in this scheme and DMFF provides a full support of this. Again, a detailed description of how to write and interpret this kind of force field file can also be found in the [OpenMM user guide](http://docs.openmm.org/latest/userguide/application/05_creating_ffs.html). - -An example of TIP3P water parameters is provided: -```xml - - - ... - - - - - - - - - - - - - - - - -``` - -The `` node contain all atom types, each of which is defined in a child node ``. The `type` label of each atom in the residue part (i.e. `Residues/Residue/Atom`) will match the `name` label of `` . For each atom type, it also has a `class` tag for different a matching scenario, which is designed for situations where there are many rather similar atom types that can be grouped together for simplification. For example, in small molecular force fields (e.g. GAFF), the number of Lennard Jones (LJ) parameters are much more smaller than that of valence force parameters, such as dihedrals. We may need different atom types in order to specify these valence terms, but we can group the atom types with the same LJ parameters in to a certain "atom class" and this will simplify the definition of force field. Thus, be aware that the `name` tag of different `` nodes must be different, but the `class` tag can be the same. - -The `<*Force>` nodes defines parameters as well as the matching rule of different types of interactions. For example, `` defines harmonic bond, and the `` node defines intermolecular interaction. In each kind of force, there are many children nodes and each of them define a specific type. In each type, several tags with name beginning with `type` or `class` define its consisting atoms, and also other necessary parameters to build the interaction. For instance, for ``, there are many `` nodes defining different bond types and in each node, `class1` and `class2` tags specify its consisting two atom classes (or `type1` and `type2` specify atom types) and `k`, `length` define its force constant (in kJ/mol/nm2) and equilibrium bond length (in nm) respcetively. - -Again, for more information about each force, one can refer to the [OpenMM user guide](http://docs.openmm.org/latest/userguide/application/05_creating_ffs.html#writing-the-xml-file). - -#### 4.2.2.2 SMIRKS-based Scheme - -DMFF also supports assigning force field parameters with [SMIRKS](https://www.daylight.com/dayhtml/doc/theory/theory.smirks.html). SMIRKS is an extenstion of [SMARTS](https://www.daylight.com/dayhtml/doc/theory/theory.smarts.html) language which allows users not only to specify chemical substructures with certain patterns, but also to numerically tag the matched atoms for assigning parameters. - -An exmple force field based on SMIRKS for ethane molecule is as following: - -```xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -``` - -The convention of this scheme in XML formatted force field is very similar with that of atom typing scheme, only replacing the `type` (or `class`) that specifying atom types with the tag `smirks`. Note that the `` and `` nodes are also requires as DMFF needs them to search for atomic charge or element type, but the name of atomtypes are not used in matching interaction types. - -In DMFF, SMIRKS patterns are matched sequentially, which means that during building each type of interaction, the program will try to match all the patterns defined in that force and assign parameters with the last matched pattern. Hence, users need to put patterns with more specificity behind the pattern with less specificty in order to assign the exact correct parameters. For example, in the example above, there are two similar smirks patterns in harmonic bonds: `"[#6:1]-[#6:1]"` and `"[#6X4:1]-[#6X4:1]"`. The program will finally use the latter one for ethane molecule, which is a more specifically-defined parameter than the former one. - -SMIRKS-based scheme has two additional features that is not supported by atom typing scheme, bond charge corrections (BCC) and virtual site. They are defined with `` and `` nodes respectively under ``. - -In ``, a pattern matching two atoms is defined with `smirks` tag, and the partial charge of the first atom will be added with the correction value defined in tag `bcc` while the second atoms' charge will substract that value accordingly. - -In ``, three tags are required: `smirks`, `vtype` and `distance`. The tag `smirks` specify the substructure pattern that virtual site is to be added, with the first atom as the parent atom of the virtual site. The tag `vtype` defines the type of the virtual site. Currently only two types are supported, which are along a bond (`"1"`) and along the bisector of an angle (`"2"`). The tag `distance` defines the distance between the virtual site and its parent atom, in nm. - -The charge of the virtual site can only be specified by bond charge correction now. So the user needs to define corresponding BCC terms that can match atom with atomic number 0 (i.e. `"[#0]"`). - -Here is an example of several virtual sites definitions and a graphical illustration: -```xml - - - -``` - -![vsite](../assets/vsite.png) - diff --git a/examples/DMC/DMC.pdb b/examples/DMC/DMC.pdb new file mode 100644 index 000000000..7b61ab080 --- /dev/null +++ b/examples/DMC/DMC.pdb @@ -0,0 +1,5 @@ +REMARK Materials Studio PDB file +REMARK Created: Wed Apr 12 08:15:59 +0800 2023 +ATOM 1 CM1 DMC C 1 -1.102 -0.698 0.000 1.00 0.00 C +ATOM 2 CM2 DMC C 1 1.102 -0.698 0.000 1.00 0.00 C +ATOM 3 CO DMC C 1 0.000 0.103 0.001 1.00 0.00 C \ No newline at end of file diff --git a/examples/DMC/DMC_Experi.txt b/examples/DMC/DMC_Experi.txt new file mode 100644 index 000000000..9ac323e61 --- /dev/null +++ b/examples/DMC/DMC_Experi.txt @@ -0,0 +1,121 @@ +2.0000 0.0000 +2.1000 0.0000 +2.2000 0.0000 +2.3000 0.0000 +2.4000 0.0000 +2.5000 0.0000 +2.6000 0.0000 +2.7000 0.0000 +2.8000 0.0000 +2.9000 0.0000 +3.0000 0.0000 +3.1000 0.0211 +3.2000 0.0374 +3.3000 0.0782 +3.4000 0.1759 +3.5000 0.2900 +3.6000 0.4094 +3.7000 0.5452 +3.8000 0.6430 +3.9000 0.7190 +4.0000 0.7516 +4.1000 0.7680 +4.2000 0.7789 +4.3000 0.7709 +4.4000 0.7601 +4.5000 0.7520 +4.6000 0.7439 +4.7000 0.7440 +4.8000 0.7549 +4.9000 0.7848 +5.0000 0.8229 +5.1000 0.8799 +5.2000 0.9478 +5.3000 1.0510 +5.4000 1.1325 +5.5000 1.2520 +5.6000 1.3606 +5.7000 1.4774 +5.8000 1.5643 +5.9000 1.6322 +6.0000 1.6431 +6.1000 1.6350 +6.2000 1.6052 +6.3000 1.5537 +6.4000 1.4724 +6.5000 1.3884 +6.6000 1.2826 +6.7000 1.1605 +6.8000 1.0602 +6.9000 0.9870 +7.0000 0.9165 +7.1000 0.8732 +7.2000 0.8542 +7.3000 0.8407 +7.4000 0.8408 +7.5000 0.8544 +7.6000 0.8708 +7.7000 0.8844 +7.8000 0.9171 +7.9000 0.9307 +8.0000 0.9389 +8.1000 0.9389 +8.2000 0.9309 +8.3000 0.9228 +8.4000 0.9120 +8.5000 0.9066 +8.6000 0.8986 +8.7000 0.8987 +8.8000 0.9014 +8.9000 0.9096 +9.0000 0.9151 +9.1000 0.9233 +9.2000 0.9342 +9.3000 0.9642 +9.4000 0.9751 +9.5000 0.9942 +9.6000 1.0106 +9.7000 1.0104 +9.8000 1.0134 +9.9000 1.0216 +10.0000 1.0244 +10.1000 1.0298 +10.2000 1.0326 +10.3000 1.0327 +10.4000 1.0328 +10.5000 1.0326 +10.6000 1.0302 +10.7000 1.0303 +10.8000 1.0303 +10.9000 1.0331 +11.0000 1.0332 +11.1000 1.0359 +11.2000 1.0387 +11.3000 1.0415 +11.4000 1.0444 +11.5000 1.0471 +11.6000 1.0472 +11.7000 1.0463 +11.8000 1.0474 +11.9000 1.0420 +12.0000 1.0393 +12.1000 1.0362 +12.2000 1.0340 +12.3000 1.0313 +12.4000 1.0260 +12.5000 1.0206 +12.6000 1.0126 +12.7000 1.0100 +12.8000 1.0072 +12.9000 0.9992 +13.1000 0.9965 +13.1000 0.9939 +13.2000 0.9913 +13.3000 0.9887 +13.4000 0.9887 +13.5000 0.9888 +13.6000 0.9888 +13.7000 0.9889 +13.8000 0.9863 +13.9000 0.9891 +14.0000 0.9892 \ No newline at end of file diff --git a/examples/DMC/DMC_OPLS.txt b/examples/DMC/DMC_OPLS.txt new file mode 100644 index 000000000..2232b4298 --- /dev/null +++ b/examples/DMC/DMC_OPLS.txt @@ -0,0 +1,121 @@ +2.0000 0.0000 +2.1000 0.0000 +2.2000 0.0000 +2.3000 0.0000 +2.4000 0.0000 +2.5000 0.0000 +2.6000 0.0000 +2.7000 0.0000 +2.8000 0.0000 +2.9000 0.0000 +3.0000 0.0000 +3.1000 0.0214 +3.2000 0.0252 +3.3000 0.0599 +3.4000 0.1176 +3.5000 0.1347 +3.6000 0.2270 +3.7000 0.2425 +3.8000 0.3208 +3.9000 0.3827 +4.0000 0.4699 +4.1000 0.4717 +4.2000 0.5227 +4.3000 0.5933 +4.4000 0.6380 +4.5000 0.6901 +4.6000 0.7664 +4.7000 0.8059 +4.8000 0.8990 +4.9000 0.9177 +5.0000 1.0128 +5.1000 1.1759 +5.2000 1.2507 +5.3000 1.3712 +5.4000 1.4257 +5.5000 1.5746 +5.6000 1.6261 +5.7000 1.6634 +5.8000 1.7856 +5.9000 1.7681 +6.0000 1.7520 +6.1000 1.7737 +6.2000 1.6354 +6.3000 1.5632 +6.4000 1.4701 +6.5000 1.3459 +6.6000 1.2458 +6.7000 1.1346 +6.8000 1.0214 +6.9000 0.9243 +7.0000 0.8689 +7.1000 0.8228 +7.2000 0.7792 +7.3000 0.7964 +7.4000 0.7780 +7.5000 0.7373 +7.6000 0.7231 +7.7000 0.7390 +7.8000 0.7705 +7.9000 0.7688 +8.0000 0.7927 +8.1000 0.8247 +8.2000 0.8072 +8.3000 0.8221 +8.4000 0.8376 +8.5000 0.8773 +8.6000 0.8717 +8.7000 0.8929 +8.8000 0.8811 +8.9000 0.8976 +9.0000 0.9264 +9.1000 0.9377 +9.2000 0.9841 +9.3000 1.0154 +9.4000 1.0164 +9.5000 1.0199 +9.6000 1.0478 +9.7000 1.0373 +9.8000 1.0654 +9.9000 1.0460 +10.0000 1.0769 +10.1000 1.0796 +10.2000 1.0859 +10.3000 1.1091 +10.4000 1.0872 +10.5000 1.1041 +10.6000 1.0873 +10.7000 1.1076 +10.8000 1.0772 +10.9000 1.0719 +11.0000 1.0793 +11.1000 1.0654 +11.2000 1.0609 +11.3000 1.0518 +11.4000 1.0569 +11.5000 1.0485 +11.6000 1.0280 +11.7000 1.0369 +11.8000 1.0235 +11.9000 1.0117 +12.0000 1.0054 +12.1000 0.9885 +12.2000 0.9988 +12.3000 0.9895 +12.4000 0.9901 +12.5000 0.9596 +12.6000 0.9530 +12.7000 0.9730 +12.8000 0.9367 +12.9000 0.9833 +13.0000 0.9861 +13.1000 0.9487 +13.2000 0.9484 +13.3000 0.9624 +13.4000 0.9558 +13.5000 0.9826 +13.6000 0.9746 +13.7000 0.9705 +13.8000 0.9690 +13.9000 0.9903 +14.0000 0.9843 diff --git a/examples/DMC/box_DMC.pdb b/examples/DMC/box_DMC.pdb new file mode 100644 index 000000000..62fe866c9 --- /dev/null +++ b/examples/DMC/box_DMC.pdb @@ -0,0 +1,1057 @@ +HEADER +TITLE Built with Packmol +REMARK Packmol generated pdb file +REMARK Home-Page: http://m3g.iqm.unicamp.br/packmol +REMARK +CRYST1 31.35 31.35 31.35 90.00 90.00 90.00 P 1 1 +HETATM 1 CM1 DMC A 1 30.977 23.356 29.010 1.00 0.00 C +HETATM 2 CM2 DMC A 1 31.170 23.922 26.704 1.00 0.00 C +HETATM 3 CO DMC A 1 30.853 23.001 27.695 1.00 0.00 C +HETATM 4 CM1 DMC A 2 22.189 21.855 4.729 1.00 0.00 C +HETATM 5 CM2 DMC A 2 20.667 20.760 3.323 1.00 0.00 C +HETATM 6 CO DMC A 2 21.684 21.584 3.463 1.00 0.00 C +HETATM 7 CM1 DMC A 3 27.655 7.509 10.468 1.00 0.00 C +HETATM 8 CM2 DMC A 3 27.353 9.318 8.896 1.00 0.00 C +HETATM 9 CO DMC A 3 26.965 8.607 10.083 1.00 0.00 C +HETATM 10 CM1 DMC A 4 5.516 25.370 17.303 1.00 0.00 C +HETATM 11 CM2 DMC A 4 4.701 26.724 15.643 1.00 0.00 C +HETATM 12 CO DMC A 4 5.389 26.661 16.819 1.00 0.00 C +HETATM 13 CM1 DMC A 5 11.949 5.092 20.444 1.00 0.00 C +HETATM 14 CM2 DMC A 5 11.399 3.898 22.432 1.00 0.00 C +HETATM 15 CO DMC A 5 12.438 4.312 21.529 1.00 0.00 C +HETATM 16 CM1 DMC A 6 1.469 18.155 32.910 1.00 0.00 C +HETATM 17 CM2 DMC A 6 0.825 20.411 32.401 1.00 0.00 C +HETATM 18 CO DMC A 6 0.559 19.052 32.312 1.00 0.00 C +HETATM 19 CM1 DMC A 7 18.534 13.178 29.565 1.00 0.00 C +HETATM 20 CM2 DMC A 7 18.758 10.901 30.057 1.00 0.00 C +HETATM 21 CO DMC A 7 18.253 12.097 30.431 1.00 0.00 C +HETATM 22 CM1 DMC A 8 22.063 26.518 12.396 1.00 0.00 C +HETATM 23 CM2 DMC A 8 21.267 27.297 10.226 1.00 0.00 C +HETATM 24 CO DMC A 8 22.181 26.484 10.957 1.00 0.00 C +HETATM 25 CM1 DMC A 9 6.776 1.847 3.421 1.00 0.00 C +HETATM 26 CM2 DMC A 9 7.176 3.855 2.259 1.00 0.00 C +HETATM 27 CO DMC A 9 6.645 3.229 3.458 1.00 0.00 C +HETATM 28 CM1 DMC A 10 7.856 8.786 32.735 1.00 0.00 C +HETATM 29 CM2 DMC A 10 10.143 8.342 32.268 1.00 0.00 C +HETATM 30 CO DMC A 10 8.871 8.682 31.762 1.00 0.00 C +HETATM 31 CM1 DMC A 11 7.045 6.987 18.772 1.00 0.00 C +HETATM 32 CM2 DMC A 11 6.823 8.129 20.940 1.00 0.00 C +HETATM 33 CO DMC A 11 6.249 7.368 19.883 1.00 0.00 C +HETATM 34 CM1 DMC A 12 26.107 24.697 7.465 1.00 0.00 C +HETATM 35 CM2 DMC A 12 27.516 26.518 7.268 1.00 0.00 C +HETATM 36 CO DMC A 12 26.278 26.017 7.257 1.00 0.00 C +HETATM 37 CM1 DMC A 13 23.852 25.983 25.159 1.00 0.00 C +HETATM 38 CM2 DMC A 13 23.093 27.914 24.118 1.00 0.00 C +HETATM 39 CO DMC A 13 23.812 26.687 23.964 1.00 0.00 C +HETATM 40 CM1 DMC A 14 6.569 11.377 11.850 1.00 0.00 C +HETATM 41 CM2 DMC A 14 7.439 10.261 13.918 1.00 0.00 C +HETATM 42 CO DMC A 14 6.811 10.140 12.570 1.00 0.00 C +HETATM 43 CM1 DMC A 15 30.856 32.907 31.661 1.00 0.00 C +HETATM 44 CM2 DMC A 15 32.029 30.825 31.462 1.00 0.00 C +HETATM 45 CO DMC A 15 32.057 32.187 31.623 1.00 0.00 C +HETATM 46 CM1 DMC A 16 10.397 24.697 21.105 1.00 0.00 C +HETATM 47 CM2 DMC A 16 10.308 26.252 19.169 1.00 0.00 C +HETATM 48 CO DMC A 16 10.394 26.055 20.570 1.00 0.00 C +HETATM 49 CM1 DMC A 17 3.945 21.037 10.109 1.00 0.00 C +HETATM 50 CM2 DMC A 17 3.339 23.086 11.276 1.00 0.00 C +HETATM 51 CO DMC A 17 4.123 22.466 10.280 1.00 0.00 C +HETATM 52 CM1 DMC A 18 25.104 32.775 23.510 1.00 0.00 C +HETATM 53 CM2 DMC A 18 25.778 32.627 21.237 1.00 0.00 C +HETATM 54 CO DMC A 18 24.752 32.534 22.202 1.00 0.00 C +HETATM 55 CM1 DMC A 19 11.782 10.980 9.636 1.00 0.00 C +HETATM 56 CM2 DMC A 19 12.603 11.299 7.360 1.00 0.00 C +HETATM 57 CO DMC A 19 11.448 11.082 8.244 1.00 0.00 C +HETATM 58 CM1 DMC A 20 18.974 18.418 30.098 1.00 0.00 C +HETATM 59 CM2 DMC A 20 21.324 17.939 30.041 1.00 0.00 C +HETATM 60 CO DMC A 20 20.295 18.839 30.118 1.00 0.00 C +HETATM 61 CM1 DMC A 21 6.037 14.847 16.348 1.00 0.00 C +HETATM 62 CM2 DMC A 21 5.079 13.788 18.209 1.00 0.00 C +HETATM 63 CO DMC A 21 4.888 14.276 16.918 1.00 0.00 C +HETATM 64 CM1 DMC A 22 17.877 3.753 25.420 1.00 0.00 C +HETATM 65 CM2 DMC A 22 18.423 1.802 23.946 1.00 0.00 C +HETATM 66 CO DMC A 22 17.872 3.093 24.073 1.00 0.00 C +HETATM 67 CM1 DMC A 23 31.541 23.884 7.564 1.00 0.00 C +HETATM 68 CM2 DMC A 23 33.807 24.555 6.825 1.00 0.00 C +HETATM 69 CO DMC A 23 32.835 24.372 7.844 1.00 0.00 C +HETATM 70 CM1 DMC A 24 4.843 4.622 11.463 1.00 0.00 C +HETATM 71 CM2 DMC A 24 3.194 5.049 13.040 1.00 0.00 C +HETATM 72 CO DMC A 24 4.158 5.564 12.236 1.00 0.00 C +HETATM 73 CM1 DMC A 25 27.255 30.462 10.550 1.00 0.00 C +HETATM 74 CM2 DMC A 25 26.773 32.526 11.670 1.00 0.00 C +HETATM 75 CO DMC A 25 27.638 31.803 10.729 1.00 0.00 C +HETATM 76 CM1 DMC A 26 14.185 0.510 12.280 1.00 0.00 C +HETATM 77 CM2 DMC A 26 11.902 0.840 11.232 1.00 0.00 C +HETATM 78 CO DMC A 26 12.733 0.551 12.338 1.00 0.00 C +HETATM 79 CM1 DMC A 27 23.478 12.614 29.454 1.00 0.00 C +HETATM 80 CM2 DMC A 27 25.023 13.042 27.595 1.00 0.00 C +HETATM 81 CO DMC A 27 23.797 13.373 28.263 1.00 0.00 C +HETATM 82 CM1 DMC A 28 32.746 1.306 12.061 1.00 0.00 C +HETATM 83 CM2 DMC A 28 31.120 2.777 11.012 1.00 0.00 C +HETATM 84 CO DMC A 28 32.099 1.801 10.884 1.00 0.00 C +HETATM 85 CM1 DMC A 29 15.119 27.780 28.638 1.00 0.00 C +HETATM 86 CM2 DMC A 29 14.850 26.331 26.739 1.00 0.00 C +HETATM 87 CO DMC A 29 15.154 26.516 28.098 1.00 0.00 C +HETATM 88 CM1 DMC A 30 26.688 11.267 0.812 1.00 0.00 C +HETATM 89 CM2 DMC A 30 27.044 9.422 2.343 1.00 0.00 C +HETATM 90 CO DMC A 30 26.596 9.856 1.031 1.00 0.00 C +HETATM 91 CM1 DMC A 31 9.485 23.454 11.607 1.00 0.00 C +HETATM 92 CM2 DMC A 31 8.602 22.033 13.304 1.00 0.00 C +HETATM 93 CO DMC A 31 9.677 22.370 12.401 1.00 0.00 C +HETATM 94 CM1 DMC A 32 3.132 12.433 24.625 1.00 0.00 C +HETATM 95 CM2 DMC A 32 0.944 13.019 23.687 1.00 0.00 C +HETATM 96 CO DMC A 32 1.704 12.192 24.560 1.00 0.00 C +HETATM 97 CM1 DMC A 33 13.804 21.019 28.487 1.00 0.00 C +HETATM 98 CM2 DMC A 33 12.960 19.844 30.304 1.00 0.00 C +HETATM 99 CO DMC A 33 14.087 20.400 29.679 1.00 0.00 C +HETATM 100 CM1 DMC A 34 5.614 5.885 27.834 1.00 0.00 C +HETATM 101 CM2 DMC A 34 5.297 5.357 30.245 1.00 0.00 C +HETATM 102 CO DMC A 34 5.708 4.966 28.928 1.00 0.00 C +HETATM 103 CM1 DMC A 35 17.672 30.728 8.655 1.00 0.00 C +HETATM 104 CM2 DMC A 35 17.711 31.135 6.234 1.00 0.00 C +HETATM 105 CO DMC A 35 18.411 31.006 7.484 1.00 0.00 C +HETATM 106 CM1 DMC A 36 5.412 23.832 22.062 1.00 0.00 C +HETATM 107 CM2 DMC A 36 4.848 24.217 24.465 1.00 0.00 C +HETATM 108 CO DMC A 36 5.156 24.696 23.148 1.00 0.00 C +HETATM 109 CM1 DMC A 37 25.030 4.488 1.256 1.00 0.00 C +HETATM 110 CM2 DMC A 37 26.845 3.190 0.464 1.00 0.00 C +HETATM 111 CO DMC A 37 25.998 4.272 0.381 1.00 0.00 C +HETATM 112 CM1 DMC A 38 8.629 16.059 25.251 1.00 0.00 C +HETATM 113 CM2 DMC A 38 9.294 17.387 27.020 1.00 0.00 C +HETATM 114 CO DMC A 38 8.264 16.942 26.295 1.00 0.00 C +HETATM 115 CM1 DMC A 39 27.198 8.234 29.489 1.00 0.00 C +HETATM 116 CM2 DMC A 39 25.694 7.195 27.705 1.00 0.00 C +HETATM 117 CO DMC A 39 26.675 8.126 28.144 1.00 0.00 C +HETATM 118 CM1 DMC A 40 15.357 16.787 19.035 1.00 0.00 C +HETATM 119 CM2 DMC A 40 14.512 16.303 16.738 1.00 0.00 C +HETATM 120 CO DMC A 40 14.427 16.111 18.192 1.00 0.00 C +HETATM 121 CM1 DMC A 41 23.422 0.390 28.283 1.00 0.00 C +HETATM 122 CM2 DMC A 41 25.473 -0.066 29.318 1.00 0.00 C +HETATM 123 CO DMC A 41 24.629 0.912 28.771 1.00 0.00 C +HETATM 124 CM1 DMC A 42 16.050 22.753 4.629 1.00 0.00 C +HETATM 125 CM2 DMC A 42 14.608 24.613 4.579 1.00 0.00 C +HETATM 126 CO DMC A 42 14.894 23.387 4.025 1.00 0.00 C +HETATM 127 CM1 DMC A 43 31.677 30.553 16.750 1.00 0.00 C +HETATM 128 CM2 DMC A 43 29.505 31.327 15.954 1.00 0.00 C +HETATM 129 CO DMC A 43 30.783 31.641 16.449 1.00 0.00 C +HETATM 130 CM1 DMC A 44 11.963 1.880 5.449 1.00 0.00 C +HETATM 131 CM2 DMC A 44 13.833 0.489 5.678 1.00 0.00 C +HETATM 132 CO DMC A 44 12.403 0.541 5.530 1.00 0.00 C +HETATM 133 CM1 DMC A 45 10.575 17.877 2.032 1.00 0.00 C +HETATM 134 CM2 DMC A 45 11.863 19.187 3.536 1.00 0.00 C +HETATM 135 CO DMC A 45 11.252 19.074 2.267 1.00 0.00 C +HETATM 136 CM1 DMC A 46 2.584 21.019 26.787 1.00 0.00 C +HETATM 137 CM2 DMC A 46 3.154 18.777 27.510 1.00 0.00 C +HETATM 138 CO DMC A 46 3.253 20.185 27.737 1.00 0.00 C +HETATM 139 CM1 DMC A 47 27.279 26.193 19.007 1.00 0.00 C +HETATM 140 CM2 DMC A 47 27.693 27.974 20.660 1.00 0.00 C +HETATM 141 CO DMC A 47 27.578 26.582 20.319 1.00 0.00 C +HETATM 142 CM1 DMC A 48 23.086 23.075 20.946 1.00 0.00 C +HETATM 143 CM2 DMC A 48 24.722 21.862 19.535 1.00 0.00 C +HETATM 144 CO DMC A 48 23.900 21.974 20.751 1.00 0.00 C +HETATM 145 CM1 DMC A 49 24.095 15.987 15.401 1.00 0.00 C +HETATM 146 CM2 DMC A 49 23.107 18.026 16.501 1.00 0.00 C +HETATM 147 CO DMC A 49 23.916 16.889 16.523 1.00 0.00 C +HETATM 148 CM1 DMC A 50 19.126 23.382 26.115 1.00 0.00 C +HETATM 149 CM2 DMC A 50 18.357 21.025 25.830 1.00 0.00 C +HETATM 150 CO DMC A 50 19.442 22.006 25.780 1.00 0.00 C +HETATM 151 CM1 DMC A 51 28.837 21.285 16.251 1.00 0.00 C +HETATM 152 CM2 DMC A 51 28.307 18.922 15.950 1.00 0.00 C +HETATM 153 CO DMC A 51 28.751 20.041 16.766 1.00 0.00 C +HETATM 154 CM1 DMC A 52 11.257 25.086 31.565 1.00 0.00 C +HETATM 155 CM2 DMC A 52 12.277 24.238 33.460 1.00 0.00 C +HETATM 156 CO DMC A 52 12.455 24.768 32.181 1.00 0.00 C +HETATM 157 CM1 DMC A 53 33.620 2.868 1.315 1.00 0.00 C +HETATM 158 CM2 DMC A 53 31.564 3.066 2.637 1.00 0.00 C +HETATM 159 CO DMC A 53 32.975 3.025 2.564 1.00 0.00 C +HETATM 160 CM1 DMC A 54 23.211 20.944 11.429 1.00 0.00 C +HETATM 161 CM2 DMC A 54 25.004 20.103 10.100 1.00 0.00 C +HETATM 162 CO DMC A 54 24.547 20.904 11.179 1.00 0.00 C +HETATM 163 CM1 DMC A 55 32.189 20.225 12.786 1.00 0.00 C +HETATM 164 CM2 DMC A 55 30.770 21.005 11.048 1.00 0.00 C +HETATM 165 CO DMC A 55 31.560 19.956 11.585 1.00 0.00 C +HETATM 166 CM1 DMC A 56 4.049 20.065 5.517 1.00 0.00 C +HETATM 167 CM2 DMC A 56 3.760 21.203 3.411 1.00 0.00 C +HETATM 168 CO DMC A 56 3.434 21.109 4.795 1.00 0.00 C +HETATM 169 CM1 DMC A 57 10.522 2.994 27.578 1.00 0.00 C +HETATM 170 CM2 DMC A 57 12.743 3.967 27.809 1.00 0.00 C +HETATM 171 CO DMC A 57 11.405 3.988 28.061 1.00 0.00 C +HETATM 172 CM1 DMC A 58 4.115 13.211 31.001 1.00 0.00 C +HETATM 173 CM2 DMC A 58 2.364 14.278 29.732 1.00 0.00 C +HETATM 174 CO DMC A 58 2.730 13.610 30.976 1.00 0.00 C +HETATM 175 CM1 DMC A 59 9.889 30.427 2.140 1.00 0.00 C +HETATM 176 CM2 DMC A 59 7.723 30.081 3.322 1.00 0.00 C +HETATM 177 CO DMC A 59 9.024 29.617 2.906 1.00 0.00 C +HETATM 178 CM1 DMC A 60 2.730 27.418 3.394 1.00 0.00 C +HETATM 179 CM2 DMC A 60 1.552 28.088 1.331 1.00 0.00 C +HETATM 180 CO DMC A 60 1.723 27.148 2.442 1.00 0.00 C +HETATM 181 CM1 DMC A 61 3.798 7.444 2.077 1.00 0.00 C +HETATM 182 CM2 DMC A 61 1.696 8.150 1.159 1.00 0.00 C +HETATM 183 CO DMC A 61 2.649 8.221 2.260 1.00 0.00 C +HETATM 184 CM1 DMC A 62 13.537 32.915 18.207 1.00 0.00 C +HETATM 185 CM2 DMC A 62 13.862 30.900 16.888 1.00 0.00 C +HETATM 186 CO DMC A 62 14.352 31.977 17.648 1.00 0.00 C +HETATM 187 CM1 DMC A 63 8.545 18.391 19.541 1.00 0.00 C +HETATM 188 CM2 DMC A 63 9.277 20.202 17.987 1.00 0.00 C +HETATM 189 CO DMC A 63 8.282 19.716 18.939 1.00 0.00 C +HETATM 190 CM1 DMC A 64 29.625 6.559 16.339 1.00 0.00 C +HETATM 191 CM2 DMC A 64 31.268 5.572 14.841 1.00 0.00 C +HETATM 192 CO DMC A 64 30.824 6.706 15.540 1.00 0.00 C +HETATM 193 CM1 DMC A 65 22.639 8.824 11.716 1.00 0.00 C +HETATM 194 CM2 DMC A 65 20.371 8.291 11.714 1.00 0.00 C +HETATM 195 CO DMC A 65 21.634 7.952 11.310 1.00 0.00 C +HETATM 196 CM1 DMC A 66 1.109 28.654 21.178 1.00 0.00 C +HETATM 197 CM2 DMC A 66 -0.214 27.056 22.271 1.00 0.00 C +HETATM 198 CO DMC A 66 0.920 27.311 21.548 1.00 0.00 C +HETATM 199 CM1 DMC A 67 17.730 4.089 4.534 1.00 0.00 C +HETATM 200 CM2 DMC A 67 17.568 3.214 2.350 1.00 0.00 C +HETATM 201 CO DMC A 67 18.413 3.870 3.276 1.00 0.00 C +HETATM 202 CM1 DMC A 68 28.777 16.398 11.619 1.00 0.00 C +HETATM 203 CM2 DMC A 68 27.232 14.953 10.768 1.00 0.00 C +HETATM 204 CO DMC A 68 28.517 15.437 10.697 1.00 0.00 C +HETATM 205 CM1 DMC A 69 25.479 23.607 30.644 1.00 0.00 C +HETATM 206 CM2 DMC A 69 23.764 23.404 32.181 1.00 0.00 C +HETATM 207 CO DMC A 69 24.308 22.958 30.978 1.00 0.00 C +HETATM 208 CM1 DMC A 70 17.707 30.231 24.358 1.00 0.00 C +HETATM 209 CM2 DMC A 70 18.932 29.987 22.295 1.00 0.00 C +HETATM 210 CO DMC A 70 17.822 30.467 22.996 1.00 0.00 C +HETATM 211 CM1 DMC A 71 -0.173 9.044 10.823 1.00 0.00 C +HETATM 212 CM2 DMC A 71 1.456 10.513 11.770 1.00 0.00 C +HETATM 213 CO DMC A 71 0.118 10.248 11.500 1.00 0.00 C +HETATM 214 CM1 DMC A 72 8.754 31.019 30.310 1.00 0.00 C +HETATM 215 CM2 DMC A 72 10.119 29.168 29.683 1.00 0.00 C +HETATM 216 CO DMC A 72 9.649 30.432 29.347 1.00 0.00 C +HETATM 217 CM1 DMC A 73 25.208 2.352 15.861 1.00 0.00 C +HETATM 218 CM2 DMC A 73 23.540 3.891 15.285 1.00 0.00 C +HETATM 219 CO DMC A 73 24.842 3.701 15.662 1.00 0.00 C +HETATM 220 CM1 DMC A 74 16.912 25.574 21.046 1.00 0.00 C +HETATM 221 CM2 DMC A 74 15.616 27.168 19.575 1.00 0.00 C +HETATM 222 CO DMC A 74 16.706 26.303 19.839 1.00 0.00 C +HETATM 223 CM1 DMC A 75 3.774 2.107 23.006 1.00 0.00 C +HETATM 224 CM2 DMC A 75 5.898 2.945 23.399 1.00 0.00 C +HETATM 225 CO DMC A 75 4.866 2.174 23.851 1.00 0.00 C +HETATM 226 CM1 DMC A 76 20.566 27.500 3.338 1.00 0.00 C +HETATM 227 CM2 DMC A 76 20.701 26.392 5.408 1.00 0.00 C +HETATM 228 CO DMC A 76 20.064 27.339 4.612 1.00 0.00 C +HETATM 229 CM1 DMC A 77 30.369 30.755 5.811 1.00 0.00 C +HETATM 230 CM2 DMC A 77 30.625 31.433 3.541 1.00 0.00 C +HETATM 231 CO DMC A 77 30.570 30.420 4.491 1.00 0.00 C +HETATM 232 CM1 DMC A 78 32.644 21.798 20.974 1.00 0.00 C +HETATM 233 CM2 DMC A 78 30.228 21.764 21.543 1.00 0.00 C +HETATM 234 CO DMC A 78 31.275 21.721 20.600 1.00 0.00 C +HETATM 235 CM1 DMC A 79 0.849 5.678 7.167 1.00 0.00 C +HETATM 236 CM2 DMC A 79 3.048 5.393 6.291 1.00 0.00 C +HETATM 237 CO DMC A 79 1.982 6.295 6.566 1.00 0.00 C +HETATM 238 CM1 DMC A 80 24.960 9.252 18.635 1.00 0.00 C +HETATM 239 CM2 DMC A 80 23.442 9.195 16.680 1.00 0.00 C +HETATM 240 CO DMC A 80 24.377 8.617 17.531 1.00 0.00 C +HETATM 241 CM1 DMC A 81 12.548 8.184 14.540 1.00 0.00 C +HETATM 242 CM2 DMC A 81 14.670 9.132 15.265 1.00 0.00 C +HETATM 243 CO DMC A 81 13.281 8.973 15.459 1.00 0.00 C +HETATM 244 CM1 DMC A 82 21.658 34.172 1.006 1.00 0.00 C +HETATM 245 CM2 DMC A 82 20.259 32.237 1.280 1.00 0.00 C +HETATM 246 CO DMC A 82 21.467 32.827 0.775 1.00 0.00 C +HETATM 247 CM1 DMC A 83 23.221 12.261 6.045 1.00 0.00 C +HETATM 248 CM2 DMC A 83 23.068 12.328 8.495 1.00 0.00 C +HETATM 249 CO DMC A 83 23.849 12.312 7.315 1.00 0.00 C +HETATM 250 CM1 DMC A 84 28.264 10.594 23.948 1.00 0.00 C +HETATM 251 CM2 DMC A 84 28.906 9.466 21.878 1.00 0.00 C +HETATM 252 CO DMC A 84 29.057 9.715 23.245 1.00 0.00 C +HETATM 253 CM1 DMC A 85 12.141 7.528 4.302 1.00 0.00 C +HETATM 254 CM2 DMC A 85 9.794 7.987 4.255 1.00 0.00 C +HETATM 255 CO DMC A 85 10.803 7.013 4.366 1.00 0.00 C +HETATM 256 CM1 DMC A 86 15.393 7.047 9.210 1.00 0.00 C +HETATM 257 CM2 DMC A 86 14.463 4.770 9.093 1.00 0.00 C +HETATM 258 CO DMC A 86 14.848 5.883 9.819 1.00 0.00 C +HETATM 259 CM1 DMC A 87 27.516 29.288 27.088 1.00 0.00 C +HETATM 260 CM2 DMC A 87 29.434 28.552 25.762 1.00 0.00 C +HETATM 261 CO DMC A 87 28.857 29.146 26.916 1.00 0.00 C +HETATM 262 CM1 DMC A 88 21.382 28.270 18.634 1.00 0.00 C +HETATM 263 CM2 DMC A 88 23.162 28.556 17.201 1.00 0.00 C +HETATM 264 CO DMC A 88 22.282 27.731 17.731 1.00 0.00 C +HETATM 265 CM1 DMC A 89 2.765 14.290 9.101 1.00 0.00 C +HETATM 266 CM2 DMC A 89 2.231 15.232 11.197 1.00 0.00 C +HETATM 267 CO DMC A 89 3.040 15.272 10.064 1.00 0.00 C +HETATM 268 CM1 DMC A 90 6.165 33.694 8.494 1.00 0.00 C +HETATM 269 CM2 DMC A 90 8.107 32.215 8.285 1.00 0.00 C +HETATM 270 CO DMC A 90 7.413 33.378 7.783 1.00 0.00 C +HETATM 271 CM1 DMC A 91 1.523 34.109 6.731 1.00 0.00 C +HETATM 272 CM2 DMC A 91 2.053 31.776 6.018 1.00 0.00 C +HETATM 273 CO DMC A 91 2.079 33.160 5.816 1.00 0.00 C +HETATM 274 CM1 DMC A 92 17.981 18.107 14.092 1.00 0.00 C +HETATM 275 CM2 DMC A 92 19.155 16.772 12.681 1.00 0.00 C +HETATM 276 CO DMC A 92 19.056 17.929 13.359 1.00 0.00 C +HETATM 277 CM1 DMC A 93 14.405 10.939 20.602 1.00 0.00 C +HETATM 278 CM2 DMC A 93 16.199 12.186 21.645 1.00 0.00 C +HETATM 279 CO DMC A 93 14.874 11.946 21.548 1.00 0.00 C +HETATM 280 CM1 DMC A 94 9.096 1.916 15.362 1.00 0.00 C +HETATM 281 CM2 DMC A 94 10.533 3.740 15.025 1.00 0.00 C +HETATM 282 CO DMC A 94 10.247 2.627 15.797 1.00 0.00 C +HETATM 283 CM1 DMC A 95 29.220 21.823 1.058 1.00 0.00 C +HETATM 284 CM2 DMC A 95 29.032 23.005 3.136 1.00 0.00 C +HETATM 285 CO DMC A 95 29.754 22.824 1.918 1.00 0.00 C +HETATM 286 CM1 DMC A 96 28.876 2.623 24.751 1.00 0.00 C +HETATM 287 CM2 DMC A 96 28.819 2.760 27.207 1.00 0.00 C +HETATM 288 CO DMC A 96 29.496 3.029 25.915 1.00 0.00 C +HETATM 289 CM1 DMC A 97 8.960 30.109 13.178 1.00 0.00 C +HETATM 290 CM2 DMC A 97 10.122 28.024 13.034 1.00 0.00 C +HETATM 291 CO DMC A 97 9.814 29.160 13.798 1.00 0.00 C +HETATM 292 CM1 DMC A 98 16.754 11.961 11.048 1.00 0.00 C +HETATM 293 CM2 DMC A 98 15.347 13.247 12.512 1.00 0.00 C +HETATM 294 CO DMC A 98 16.649 12.713 12.240 1.00 0.00 C +HETATM 295 CM1 DMC A 99 20.603 16.642 7.665 1.00 0.00 C +HETATM 296 CM2 DMC A 99 18.666 17.310 6.427 1.00 0.00 C +HETATM 297 CO DMC A 99 19.301 16.426 7.394 1.00 0.00 C +HETATM 298 CM1 DMC A 100 4.677 15.413 3.833 1.00 0.00 C +HETATM 299 CM2 DMC A 100 6.026 15.007 2.029 1.00 0.00 C +HETATM 300 CO DMC A 100 5.777 15.783 3.131 1.00 0.00 C +HETATM 301 CM1 DMC A 101 32.615 17.858 5.207 1.00 0.00 C +HETATM 302 CM2 DMC A 101 31.260 18.104 7.036 1.00 0.00 C +HETATM 303 CO DMC A 101 31.496 18.482 5.704 1.00 0.00 C +HETATM 304 CM1 DMC A 102 13.374 31.904 22.792 1.00 0.00 C +HETATM 305 CM2 DMC A 102 12.980 32.141 25.274 1.00 0.00 C +HETATM 306 CO DMC A 102 12.549 32.253 23.944 1.00 0.00 C +HETATM 307 CM1 DMC A 103 14.367 16.512 24.466 1.00 0.00 C +HETATM 308 CM2 DMC A 103 13.170 14.561 25.327 1.00 0.00 C +HETATM 309 CO DMC A 103 13.961 15.702 25.574 1.00 0.00 C +HETATM 310 CM1 DMC A 104 18.355 33.696 29.805 1.00 0.00 C +HETATM 311 CM2 DMC A 104 16.340 32.748 28.805 1.00 0.00 C +HETATM 312 CO DMC A 104 17.705 32.726 28.994 1.00 0.00 C +HETATM 313 CM1 DMC A 105 18.166 23.750 30.946 1.00 0.00 C +HETATM 314 CM2 DMC A 105 18.413 24.320 33.164 1.00 0.00 C +HETATM 315 CO DMC A 105 18.963 23.725 32.056 1.00 0.00 C +HETATM 316 CM1 DMC A 106 6.224 25.062 32.531 1.00 0.00 C +HETATM 317 CM2 DMC A 106 5.979 27.401 32.428 1.00 0.00 C +HETATM 318 CO DMC A 106 6.750 26.269 32.080 1.00 0.00 C +HETATM 319 CM1 DMC A 107 25.439 4.807 21.555 1.00 0.00 C +HETATM 320 CM2 DMC A 107 23.862 4.886 23.377 1.00 0.00 C +HETATM 321 CO DMC A 107 25.219 5.012 22.922 1.00 0.00 C +HETATM 322 CM1 DMC A 108 31.426 28.564 10.714 1.00 0.00 C +HETATM 323 CM2 DMC A 108 32.990 29.331 12.455 1.00 0.00 C +HETATM 324 CO DMC A 108 32.754 28.642 11.237 1.00 0.00 C +HETATM 325 CM1 DMC A 109 21.214 9.741 24.369 1.00 0.00 C +HETATM 326 CM2 DMC A 109 20.530 7.735 25.503 1.00 0.00 C +HETATM 327 CO DMC A 109 21.159 9.031 25.541 1.00 0.00 C +HETATM 328 CM1 DMC A 110 13.068 20.143 21.984 1.00 0.00 C +HETATM 329 CM2 DMC A 110 13.898 22.135 23.167 1.00 0.00 C +HETATM 330 CO DMC A 110 13.300 20.884 23.124 1.00 0.00 C +HETATM 331 CM1 DMC A 111 19.778 17.855 19.834 1.00 0.00 C +HETATM 332 CM2 DMC A 111 19.575 19.895 20.981 1.00 0.00 C +HETATM 333 CO DMC A 111 20.097 19.199 19.892 1.00 0.00 C +HETATM 334 CM1 DMC A 112 1.907 27.886 27.209 1.00 0.00 C +HETATM 335 CM2 DMC A 112 3.327 29.318 28.631 1.00 0.00 C +HETATM 336 CO DMC A 112 3.034 28.087 28.028 1.00 0.00 C +HETATM 337 CM1 DMC A 113 20.724 28.060 30.204 1.00 0.00 C +HETATM 338 CM2 DMC A 113 23.114 28.442 30.060 1.00 0.00 C +HETATM 339 CO DMC A 113 22.060 27.621 30.491 1.00 0.00 C +HETATM 340 CM1 DMC A 114 16.210 17.601 1.398 1.00 0.00 C +HETATM 341 CM2 DMC A 114 16.145 15.714 -0.105 1.00 0.00 C +HETATM 342 CO DMC A 114 15.660 17.010 0.262 1.00 0.00 C +HETATM 343 CM1 DMC A 115 21.564 12.897 1.260 1.00 0.00 C +HETATM 344 CM2 DMC A 115 21.524 15.075 2.408 1.00 0.00 C +HETATM 345 CO DMC A 115 21.872 14.290 1.277 1.00 0.00 C +HETATM 346 CM1 DMC A 116 12.230 13.719 30.296 1.00 0.00 C +HETATM 347 CM2 DMC A 116 10.010 14.387 30.901 1.00 0.00 C +HETATM 348 CO DMC A 116 11.182 14.674 30.310 1.00 0.00 C +HETATM 349 CM1 DMC A 117 33.240 13.662 2.842 1.00 0.00 C +HETATM 350 CM2 DMC A 117 32.023 12.274 1.365 1.00 0.00 C +HETATM 351 CO DMC A 117 32.322 13.562 1.777 1.00 0.00 C +HETATM 352 CM1 DMC A 118 21.079 2.196 19.592 1.00 0.00 C +HETATM 353 CM2 DMC A 118 20.439 -0.028 18.697 1.00 0.00 C +HETATM 354 CO DMC A 118 20.057 1.281 19.146 1.00 0.00 C +HETATM 355 CM1 DMC A 119 13.257 2.408 32.700 1.00 0.00 C +HETATM 356 CM2 DMC A 119 10.945 1.932 32.469 1.00 0.00 C +HETATM 357 CO DMC A 119 12.191 1.547 32.971 1.00 0.00 C +HETATM 358 CM1 DMC A 120 13.073 27.007 8.642 1.00 0.00 C +HETATM 359 CM2 DMC A 120 12.407 29.350 8.504 1.00 0.00 C +HETATM 360 CO DMC A 120 13.320 28.369 8.355 1.00 0.00 C +HETATM 361 CM1 DMC A 121 9.620 24.674 5.243 1.00 0.00 C +HETATM 362 CM2 DMC A 121 8.859 22.919 3.809 1.00 0.00 C +HETATM 363 CO DMC A 121 8.558 23.931 4.725 1.00 0.00 C +HETATM 364 CM1 DMC A 122 5.211 28.181 10.008 1.00 0.00 C +HETATM 365 CM2 DMC A 122 6.340 27.504 7.996 1.00 0.00 C +HETATM 366 CO DMC A 122 5.919 27.193 9.301 1.00 0.00 C +HETATM 367 CM1 DMC A 123 14.835 8.135 25.997 1.00 0.00 C +HETATM 368 CM2 DMC A 123 13.667 9.309 27.715 1.00 0.00 C +HETATM 369 CO DMC A 123 14.792 9.244 26.880 1.00 0.00 C +HETATM 370 CM1 DMC A 124 17.258 6.547 20.607 1.00 0.00 C +HETATM 371 CM2 DMC A 124 19.513 7.436 20.195 1.00 0.00 C +HETATM 372 CO DMC A 124 18.697 6.362 20.415 1.00 0.00 C +HETATM 373 CM1 DMC A 125 15.723 22.816 10.153 1.00 0.00 C +HETATM 374 CM2 DMC A 125 17.517 21.734 9.162 1.00 0.00 C +HETATM 375 CO DMC A 125 16.412 21.668 10.050 1.00 0.00 C +HETATM 376 CM1 DMC A 126 25.488 19.403 27.579 1.00 0.00 C +HETATM 377 CM2 DMC A 126 26.292 18.139 25.677 1.00 0.00 C +HETATM 378 CO DMC A 126 25.234 18.672 26.406 1.00 0.00 C +HETATM 379 CM1 DMC A 127 29.384 2.086 19.216 1.00 0.00 C +HETATM 380 CM2 DMC A 127 31.597 1.945 20.200 1.00 0.00 C +HETATM 381 CO DMC A 127 30.214 1.653 20.300 1.00 0.00 C +HETATM 382 CM1 DMC A 128 10.130 10.187 24.323 1.00 0.00 C +HETATM 383 CM2 DMC A 128 9.265 8.281 25.731 1.00 0.00 C +HETATM 384 CO DMC A 128 9.191 9.636 25.224 1.00 0.00 C +HETATM 385 CM1 DMC A 129 31.525 17.608 27.597 1.00 0.00 C +HETATM 386 CM2 DMC A 129 31.895 17.623 25.208 1.00 0.00 C +HETATM 387 CO DMC A 129 31.231 18.221 26.315 1.00 0.00 C +HETATM 388 CM1 DMC A 130 13.911 17.612 8.832 1.00 0.00 C +HETATM 389 CM2 DMC A 130 14.132 15.793 7.202 1.00 0.00 C +HETATM 390 CO DMC A 130 14.232 16.279 8.511 1.00 0.00 C +HETATM 391 CM1 DMC A 131 22.842 1.569 9.599 1.00 0.00 C +HETATM 392 CM2 DMC A 131 20.993 3.123 9.050 1.00 0.00 C +HETATM 393 CO DMC A 131 21.433 1.906 9.554 1.00 0.00 C +HETATM 394 CM1 DMC A 132 27.863 15.700 32.087 1.00 0.00 C +HETATM 395 CM2 DMC A 132 26.204 17.356 32.201 1.00 0.00 C +HETATM 396 CO DMC A 132 27.397 16.913 31.586 1.00 0.00 C +HETATM 397 CM1 DMC A 133 27.491 26.389 14.154 1.00 0.00 C +HETATM 398 CM2 DMC A 133 27.955 24.988 12.187 1.00 0.00 C +HETATM 399 CO DMC A 133 27.792 26.281 12.792 1.00 0.00 C +HETATM 400 CM1 DMC A 134 18.931 32.342 12.831 1.00 0.00 C +HETATM 401 CM2 DMC A 134 21.069 32.195 14.026 1.00 0.00 C +HETATM 402 CO DMC A 134 19.662 31.884 13.917 1.00 0.00 C +HETATM 403 CM1 DMC A 135 17.438 12.062 5.028 1.00 0.00 C +HETATM 404 CM2 DMC A 135 18.679 10.370 6.118 1.00 0.00 C +HETATM 405 CO DMC A 135 17.542 11.169 6.042 1.00 0.00 C +HETATM 406 CM1 DMC A 136 9.389 19.471 7.923 1.00 0.00 C +HETATM 407 CM2 DMC A 136 7.768 18.011 8.862 1.00 0.00 C +HETATM 408 CO DMC A 136 9.085 18.204 8.415 1.00 0.00 C +HETATM 409 CM1 DMC A 137 31.988 15.663 15.674 1.00 0.00 C +HETATM 410 CM2 DMC A 137 33.159 17.031 17.376 1.00 0.00 C +HETATM 411 CO DMC A 137 33.160 16.316 16.127 1.00 0.00 C +HETATM 412 CM1 DMC A 138 7.142 12.059 7.132 1.00 0.00 C +HETATM 413 CM2 DMC A 138 5.317 10.695 6.646 1.00 0.00 C +HETATM 414 CO DMC A 138 6.557 11.058 6.246 1.00 0.00 C +HETATM 415 CM1 DMC A 139 23.894 14.546 21.983 1.00 0.00 C +HETATM 416 CM2 DMC A 139 22.274 13.115 20.917 1.00 0.00 C +HETATM 417 CO DMC A 139 23.601 13.553 21.055 1.00 0.00 C +HETATM 418 CM1 DMC A 140 0.878 33.477 26.325 1.00 0.00 C +HETATM 419 CM2 DMC A 140 -0.126 32.536 24.372 1.00 0.00 C +HETATM 420 CO DMC A 140 0.453 32.337 25.630 1.00 0.00 C +HETATM 421 CM1 DMC A 141 15.851 30.746 0.879 1.00 0.00 C +HETATM 422 CM2 DMC A 141 14.435 28.813 0.957 1.00 0.00 C +HETATM 423 CO DMC A 141 15.560 29.425 0.372 1.00 0.00 C +HETATM 424 CM1 DMC A 142 16.672 4.149 14.578 1.00 0.00 C +HETATM 425 CM2 DMC A 142 19.113 4.366 14.737 1.00 0.00 C +HETATM 426 CO DMC A 142 17.860 4.784 14.145 1.00 0.00 C +HETATM 427 CM1 DMC A 143 21.901 7.632 3.652 1.00 0.00 C +HETATM 428 CM2 DMC A 143 22.467 7.008 5.886 1.00 0.00 C +HETATM 429 CO DMC A 143 22.831 7.202 4.570 1.00 0.00 C +HETATM 430 CM1 DMC A 144 33.061 24.992 14.882 1.00 0.00 C +HETATM 431 CM2 DMC A 144 32.393 24.853 17.181 1.00 0.00 C +HETATM 432 CO DMC A 144 32.046 24.893 15.852 1.00 0.00 C +HETATM 433 CM1 DMC A 145 27.924 16.775 21.258 1.00 0.00 C +HETATM 434 CM2 DMC A 145 29.885 15.315 20.970 1.00 0.00 C +HETATM 435 CO DMC A 145 29.121 16.382 20.626 1.00 0.00 C +HETATM 436 CM1 DMC A 146 18.603 13.270 17.581 1.00 0.00 C +HETATM 437 CM2 DMC A 146 19.487 11.732 16.100 1.00 0.00 C +HETATM 438 CO DMC A 146 18.870 11.955 17.306 1.00 0.00 C +HETATM 439 CM1 DMC A 147 25.147 32.455 5.004 1.00 0.00 C +HETATM 440 CM2 DMC A 147 23.663 30.873 6.237 1.00 0.00 C +HETATM 441 CO DMC A 147 23.900 31.784 5.148 1.00 0.00 C +HETATM 442 CM1 DMC A 148 -0.695 5.997 23.613 1.00 0.00 C +HETATM 443 CM2 DMC A 148 1.302 5.943 24.927 1.00 0.00 C +HETATM 444 CO DMC A 148 0.654 6.324 23.740 1.00 0.00 C +HETATM 445 CM1 DMC A 149 3.459 0.848 31.475 1.00 0.00 C +HETATM 446 CM2 DMC A 149 3.387 -0.636 33.416 1.00 0.00 C +HETATM 447 CO DMC A 149 4.100 -0.121 32.295 1.00 0.00 C +HETATM 448 CM1 DMC A 150 10.036 24.835 26.483 1.00 0.00 C +HETATM 449 CM2 DMC A 150 9.077 22.629 26.864 1.00 0.00 C +HETATM 450 CO DMC A 150 9.374 23.640 25.983 1.00 0.00 C +HETATM 451 CM1 DMC A 151 27.068 4.717 5.908 1.00 0.00 C +HETATM 452 CM2 DMC A 151 27.730 2.979 7.528 1.00 0.00 C +HETATM 453 CO DMC A 151 27.477 3.400 6.199 1.00 0.00 C +HETATM 454 CM1 DMC A 152 7.970 20.593 31.572 1.00 0.00 C +HETATM 455 CM2 DMC A 152 6.693 18.622 31.358 1.00 0.00 C +HETATM 456 CO DMC A 152 6.812 19.886 31.933 1.00 0.00 C +HETATM 457 CM1 DMC A 153 20.780 16.295 24.936 1.00 0.00 C +HETATM 458 CM2 DMC A 153 19.592 14.251 24.375 1.00 0.00 C +HETATM 459 CO DMC A 153 19.582 15.648 24.713 1.00 0.00 C +HETATM 460 CM1 DMC A 154 2.534 18.011 21.608 1.00 0.00 C +HETATM 461 CM2 DMC A 154 4.519 18.002 23.056 1.00 0.00 C +HETATM 462 CO DMC A 154 3.905 17.982 21.774 1.00 0.00 C +HETATM 463 CM1 DMC A 155 9.837 17.061 13.394 1.00 0.00 C +HETATM 464 CM2 DMC A 155 10.768 14.834 13.423 1.00 0.00 C +HETATM 465 CO DMC A 155 10.764 16.103 12.857 1.00 0.00 C +HETATM 466 CM1 DMC A 156 10.694 12.951 2.385 1.00 0.00 C +HETATM 467 CM2 DMC A 156 12.939 12.531 1.991 1.00 0.00 C +HETATM 468 CO DMC A 156 12.009 13.088 2.869 1.00 0.00 C +HETATM 469 CM1 DMC A 157 33.675 5.202 29.573 1.00 0.00 C +HETATM 470 CM2 DMC A 157 31.323 5.321 30.169 1.00 0.00 C +HETATM 471 CO DMC A 157 32.691 5.669 30.450 1.00 0.00 C +HETATM 472 CM1 DMC A 158 9.158 6.145 10.465 1.00 0.00 C +HETATM 473 CM2 DMC A 158 8.936 4.765 8.504 1.00 0.00 C +HETATM 474 CO DMC A 158 9.632 4.998 9.724 1.00 0.00 C +HETATM 475 CM1 DMC A 159 8.169 29.541 24.400 1.00 0.00 C +HETATM 476 CM2 DMC A 159 7.292 31.576 25.419 1.00 0.00 C +HETATM 477 CO DMC A 159 7.348 30.652 24.323 1.00 0.00 C +HETATM 478 CM1 DMC A 160 27.024 11.793 14.509 1.00 0.00 C +HETATM 479 CM2 DMC A 160 27.662 13.145 16.440 1.00 0.00 C +HETATM 480 CO DMC A 160 28.025 12.347 15.307 1.00 0.00 C +HETATM 481 CM1 DMC A 161 4.489 33.087 12.844 1.00 0.00 C +HETATM 482 CM2 DMC A 161 3.933 31.328 14.266 1.00 0.00 C +HETATM 483 CO DMC A 161 4.424 32.623 14.184 1.00 0.00 C +HETATM 484 CM1 DMC A 162 2.519 2.802 17.565 1.00 0.00 C +HETATM 485 CM2 DMC A 162 2.115 4.773 18.665 1.00 0.00 C +HETATM 486 CO DMC A 162 3.149 3.928 18.192 1.00 0.00 C +HETATM 487 CM1 DMC A 163 -0.054 11.265 19.260 1.00 0.00 C +HETATM 488 CM2 DMC A 163 0.806 10.851 16.895 1.00 0.00 C +HETATM 489 CO DMC A 163 0.905 11.243 18.272 1.00 0.00 C +HETATM 490 CM1 DMC A 164 5.637 31.813 19.014 1.00 0.00 C +HETATM 491 CM2 DMC A 164 7.991 32.323 19.364 1.00 0.00 C +HETATM 492 CO DMC A 164 6.648 32.535 19.656 1.00 0.00 C +HETATM 493 CM1 DMC A 165 14.920 22.331 17.422 1.00 0.00 C +HETATM 494 CM2 DMC A 165 13.933 21.738 15.333 1.00 0.00 C +HETATM 495 CO DMC A 165 13.902 22.569 16.485 1.00 0.00 C +HETATM 496 CM1 DMC A 166 30.380 11.940 28.235 1.00 0.00 C +HETATM 497 CM2 DMC A 166 31.467 10.642 29.924 1.00 0.00 C +HETATM 498 CO DMC A 166 31.477 11.241 28.667 1.00 0.00 C +HETATM 499 CM1 DMC A 167 26.338 16.589 4.451 1.00 0.00 C +HETATM 500 CM2 DMC A 167 26.095 19.019 4.393 1.00 0.00 C +HETATM 501 CO DMC A 167 25.837 17.802 5.054 1.00 0.00 C +HETATM 502 CM1 DMC A 168 26.699 28.993 0.727 1.00 0.00 C +HETATM 503 CM2 DMC A 168 25.856 27.896 2.715 1.00 0.00 C +HETATM 504 CO DMC A 168 26.912 28.124 1.788 1.00 0.00 C +HETATM 505 CM1 DMC A 169 15.303 7.511 -0.510 1.00 0.00 C +HETATM 506 CM2 DMC A 169 16.488 8.346 1.425 1.00 0.00 C +HETATM 507 CO DMC A 169 15.551 8.539 0.353 1.00 0.00 C +HETATM 508 CM1 DMC A 170 31.287 12.433 6.920 1.00 0.00 C +HETATM 509 CM2 DMC A 170 29.059 12.118 5.995 1.00 0.00 C +HETATM 510 CO DMC A 170 29.910 12.695 6.981 1.00 0.00 C +HETATM 511 CM1 DMC A 171 14.624 27.315 13.638 1.00 0.00 C +HETATM 512 CM2 DMC A 171 17.047 27.166 13.623 1.00 0.00 C +HETATM 513 CO DMC A 171 15.865 27.948 13.651 1.00 0.00 C +HETATM 514 CM1 DMC A 172 10.041 12.927 18.474 1.00 0.00 C +HETATM 515 CM2 DMC A 172 10.372 13.817 20.595 1.00 0.00 C +HETATM 516 CO DMC A 172 9.695 12.847 19.787 1.00 0.00 C +HETATM 517 CM1 DMC A 173 21.095 4.672 29.734 1.00 0.00 C +HETATM 518 CM2 DMC A 173 20.710 6.267 31.509 1.00 0.00 C +HETATM 519 CO DMC A 173 20.275 5.671 30.284 1.00 0.00 C +HETATM 520 CM1 DMC A 174 19.221 22.725 15.307 1.00 0.00 C +HETATM 521 CM2 DMC A 174 21.345 23.464 16.211 1.00 0.00 C +HETATM 522 CO DMC A 174 20.027 23.749 15.858 1.00 0.00 C +HETATM 523 CM1 DMC A 175 4.279 19.748 16.068 1.00 0.00 C +HETATM 524 CM2 DMC A 175 2.405 21.315 15.952 1.00 0.00 C +HETATM 525 CO DMC A 175 3.091 20.330 16.674 1.00 0.00 C +CONECT 1 3 +CONECT 2 3 +CONECT 3 1 2 +CONECT 4 6 +CONECT 5 6 +CONECT 6 4 5 +CONECT 7 9 +CONECT 8 9 +CONECT 9 7 8 +CONECT 10 12 +CONECT 11 12 +CONECT 12 10 11 +CONECT 13 15 +CONECT 14 15 +CONECT 15 13 14 +CONECT 16 18 +CONECT 17 18 +CONECT 18 16 17 +CONECT 19 21 +CONECT 20 21 +CONECT 21 19 20 +CONECT 22 24 +CONECT 23 24 +CONECT 24 22 23 +CONECT 25 27 +CONECT 26 27 +CONECT 27 25 26 +CONECT 28 30 +CONECT 29 30 +CONECT 30 28 29 +CONECT 31 33 +CONECT 32 33 +CONECT 33 31 32 +CONECT 34 36 +CONECT 35 36 +CONECT 36 34 35 +CONECT 37 39 +CONECT 38 39 +CONECT 39 37 38 +CONECT 40 42 +CONECT 41 42 +CONECT 42 40 41 +CONECT 43 45 +CONECT 44 45 +CONECT 45 43 44 +CONECT 46 48 +CONECT 47 48 +CONECT 48 46 47 +CONECT 49 51 +CONECT 50 51 +CONECT 51 49 50 +CONECT 52 54 +CONECT 53 54 +CONECT 54 52 53 +CONECT 55 57 +CONECT 56 57 +CONECT 57 55 56 +CONECT 58 60 +CONECT 59 60 +CONECT 60 58 59 +CONECT 61 63 +CONECT 62 63 +CONECT 63 61 62 +CONECT 64 66 +CONECT 65 66 +CONECT 66 64 65 +CONECT 67 69 +CONECT 68 69 +CONECT 69 67 68 +CONECT 70 72 +CONECT 71 72 +CONECT 72 70 71 +CONECT 73 75 +CONECT 74 75 +CONECT 75 73 74 +CONECT 76 78 +CONECT 77 78 +CONECT 78 76 77 +CONECT 79 81 +CONECT 80 81 +CONECT 81 79 80 +CONECT 82 84 +CONECT 83 84 +CONECT 84 82 83 +CONECT 85 87 +CONECT 86 87 +CONECT 87 85 86 +CONECT 88 90 +CONECT 89 90 +CONECT 90 88 89 +CONECT 91 93 +CONECT 92 93 +CONECT 93 91 92 +CONECT 94 96 +CONECT 95 96 +CONECT 96 94 95 +CONECT 97 99 +CONECT 98 99 +CONECT 99 97 98 +CONECT 100 102 +CONECT 101 102 +CONECT 102 100 101 +CONECT 103 105 +CONECT 104 105 +CONECT 105 103 104 +CONECT 106 108 +CONECT 107 108 +CONECT 108 106 107 +CONECT 109 111 +CONECT 110 111 +CONECT 111 109 110 +CONECT 112 114 +CONECT 113 114 +CONECT 114 112 113 +CONECT 115 117 +CONECT 116 117 +CONECT 117 115 116 +CONECT 118 120 +CONECT 119 120 +CONECT 120 118 119 +CONECT 121 123 +CONECT 122 123 +CONECT 123 121 122 +CONECT 124 126 +CONECT 125 126 +CONECT 126 124 125 +CONECT 127 129 +CONECT 128 129 +CONECT 129 127 128 +CONECT 130 132 +CONECT 131 132 +CONECT 132 130 131 +CONECT 133 135 +CONECT 134 135 +CONECT 135 133 134 +CONECT 136 138 +CONECT 137 138 +CONECT 138 136 137 +CONECT 139 141 +CONECT 140 141 +CONECT 141 139 140 +CONECT 142 144 +CONECT 143 144 +CONECT 144 142 143 +CONECT 145 147 +CONECT 146 147 +CONECT 147 145 146 +CONECT 148 150 +CONECT 149 150 +CONECT 150 148 149 +CONECT 151 153 +CONECT 152 153 +CONECT 153 151 152 +CONECT 154 156 +CONECT 155 156 +CONECT 156 154 155 +CONECT 157 159 +CONECT 158 159 +CONECT 159 157 158 +CONECT 160 162 +CONECT 161 162 +CONECT 162 160 161 +CONECT 163 165 +CONECT 164 165 +CONECT 165 163 164 +CONECT 166 168 +CONECT 167 168 +CONECT 168 166 167 +CONECT 169 171 +CONECT 170 171 +CONECT 171 169 170 +CONECT 172 174 +CONECT 173 174 +CONECT 174 172 173 +CONECT 175 177 +CONECT 176 177 +CONECT 177 175 176 +CONECT 178 180 +CONECT 179 180 +CONECT 180 178 179 +CONECT 181 183 +CONECT 182 183 +CONECT 183 181 182 +CONECT 184 186 +CONECT 185 186 +CONECT 186 184 185 +CONECT 187 189 +CONECT 188 189 +CONECT 189 187 188 +CONECT 190 192 +CONECT 191 192 +CONECT 192 190 191 +CONECT 193 195 +CONECT 194 195 +CONECT 195 193 194 +CONECT 196 198 +CONECT 197 198 +CONECT 198 196 197 +CONECT 199 201 +CONECT 200 201 +CONECT 201 199 200 +CONECT 202 204 +CONECT 203 204 +CONECT 204 202 203 +CONECT 205 207 +CONECT 206 207 +CONECT 207 205 206 +CONECT 208 210 +CONECT 209 210 +CONECT 210 208 209 +CONECT 211 213 +CONECT 212 213 +CONECT 213 211 212 +CONECT 214 216 +CONECT 215 216 +CONECT 216 214 215 +CONECT 217 219 +CONECT 218 219 +CONECT 219 217 218 +CONECT 220 222 +CONECT 221 222 +CONECT 222 220 221 +CONECT 223 225 +CONECT 224 225 +CONECT 225 223 224 +CONECT 226 228 +CONECT 227 228 +CONECT 228 226 227 +CONECT 229 231 +CONECT 230 231 +CONECT 231 229 230 +CONECT 232 234 +CONECT 233 234 +CONECT 234 232 233 +CONECT 235 237 +CONECT 236 237 +CONECT 237 235 236 +CONECT 238 240 +CONECT 239 240 +CONECT 240 238 239 +CONECT 241 243 +CONECT 242 243 +CONECT 243 241 242 +CONECT 244 246 +CONECT 245 246 +CONECT 246 244 245 +CONECT 247 249 +CONECT 248 249 +CONECT 249 247 248 +CONECT 250 252 +CONECT 251 252 +CONECT 252 250 251 +CONECT 253 255 +CONECT 254 255 +CONECT 255 253 254 +CONECT 256 258 +CONECT 257 258 +CONECT 258 256 257 +CONECT 259 261 +CONECT 260 261 +CONECT 261 259 260 +CONECT 262 264 +CONECT 263 264 +CONECT 264 262 263 +CONECT 265 267 +CONECT 266 267 +CONECT 267 265 266 +CONECT 268 270 +CONECT 269 270 +CONECT 270 268 269 +CONECT 271 273 +CONECT 272 273 +CONECT 273 271 272 +CONECT 274 276 +CONECT 275 276 +CONECT 276 274 275 +CONECT 277 279 +CONECT 278 279 +CONECT 279 277 278 +CONECT 280 282 +CONECT 281 282 +CONECT 282 280 281 +CONECT 283 285 +CONECT 284 285 +CONECT 285 283 284 +CONECT 286 288 +CONECT 287 288 +CONECT 288 286 287 +CONECT 289 291 +CONECT 290 291 +CONECT 291 289 290 +CONECT 292 294 +CONECT 293 294 +CONECT 294 292 293 +CONECT 295 297 +CONECT 296 297 +CONECT 297 295 296 +CONECT 298 300 +CONECT 299 300 +CONECT 300 298 299 +CONECT 301 303 +CONECT 302 303 +CONECT 303 301 302 +CONECT 304 306 +CONECT 305 306 +CONECT 306 304 305 +CONECT 307 309 +CONECT 308 309 +CONECT 309 307 308 +CONECT 310 312 +CONECT 311 312 +CONECT 312 310 311 +CONECT 313 315 +CONECT 314 315 +CONECT 315 313 314 +CONECT 316 318 +CONECT 317 318 +CONECT 318 316 317 +CONECT 319 321 +CONECT 320 321 +CONECT 321 319 320 +CONECT 322 324 +CONECT 323 324 +CONECT 324 322 323 +CONECT 325 327 +CONECT 326 327 +CONECT 327 325 326 +CONECT 328 330 +CONECT 329 330 +CONECT 330 328 329 +CONECT 331 333 +CONECT 332 333 +CONECT 333 331 332 +CONECT 334 336 +CONECT 335 336 +CONECT 336 334 335 +CONECT 337 339 +CONECT 338 339 +CONECT 339 337 338 +CONECT 340 342 +CONECT 341 342 +CONECT 342 340 341 +CONECT 343 345 +CONECT 344 345 +CONECT 345 343 344 +CONECT 346 348 +CONECT 347 348 +CONECT 348 346 347 +CONECT 349 351 +CONECT 350 351 +CONECT 351 349 350 +CONECT 352 354 +CONECT 353 354 +CONECT 354 352 353 +CONECT 355 357 +CONECT 356 357 +CONECT 357 355 356 +CONECT 358 360 +CONECT 359 360 +CONECT 360 358 359 +CONECT 361 363 +CONECT 362 363 +CONECT 363 361 362 +CONECT 364 366 +CONECT 365 366 +CONECT 366 364 365 +CONECT 367 369 +CONECT 368 369 +CONECT 369 367 368 +CONECT 370 372 +CONECT 371 372 +CONECT 372 370 371 +CONECT 373 375 +CONECT 374 375 +CONECT 375 373 374 +CONECT 376 378 +CONECT 377 378 +CONECT 378 376 377 +CONECT 379 381 +CONECT 380 381 +CONECT 381 379 380 +CONECT 382 384 +CONECT 383 384 +CONECT 384 382 383 +CONECT 385 387 +CONECT 386 387 +CONECT 387 385 386 +CONECT 388 390 +CONECT 389 390 +CONECT 390 388 389 +CONECT 391 393 +CONECT 392 393 +CONECT 393 391 392 +CONECT 394 396 +CONECT 395 396 +CONECT 396 394 395 +CONECT 397 399 +CONECT 398 399 +CONECT 399 397 398 +CONECT 400 402 +CONECT 401 402 +CONECT 402 400 401 +CONECT 403 405 +CONECT 404 405 +CONECT 405 403 404 +CONECT 406 408 +CONECT 407 408 +CONECT 408 406 407 +CONECT 409 411 +CONECT 410 411 +CONECT 411 409 410 +CONECT 412 414 +CONECT 413 414 +CONECT 414 412 413 +CONECT 415 417 +CONECT 416 417 +CONECT 417 415 416 +CONECT 418 420 +CONECT 419 420 +CONECT 420 418 419 +CONECT 421 423 +CONECT 422 423 +CONECT 423 421 422 +CONECT 424 426 +CONECT 425 426 +CONECT 426 424 425 +CONECT 427 429 +CONECT 428 429 +CONECT 429 427 428 +CONECT 430 432 +CONECT 431 432 +CONECT 432 430 431 +CONECT 433 435 +CONECT 434 435 +CONECT 435 433 434 +CONECT 436 438 +CONECT 437 438 +CONECT 438 436 437 +CONECT 439 441 +CONECT 440 441 +CONECT 441 439 440 +CONECT 442 444 +CONECT 443 444 +CONECT 444 442 443 +CONECT 445 447 +CONECT 446 447 +CONECT 447 445 446 +CONECT 448 450 +CONECT 449 450 +CONECT 450 448 449 +CONECT 451 453 +CONECT 452 453 +CONECT 453 451 452 +CONECT 454 456 +CONECT 455 456 +CONECT 456 454 455 +CONECT 457 459 +CONECT 458 459 +CONECT 459 457 458 +CONECT 460 462 +CONECT 461 462 +CONECT 462 460 461 +CONECT 463 465 +CONECT 464 465 +CONECT 465 463 464 +CONECT 466 468 +CONECT 467 468 +CONECT 468 466 467 +CONECT 469 471 +CONECT 470 471 +CONECT 471 469 470 +CONECT 472 474 +CONECT 473 474 +CONECT 474 472 473 +CONECT 475 477 +CONECT 476 477 +CONECT 477 475 476 +CONECT 478 480 +CONECT 479 480 +CONECT 480 478 479 +CONECT 481 483 +CONECT 482 483 +CONECT 483 481 482 +CONECT 484 486 +CONECT 485 486 +CONECT 486 484 485 +CONECT 487 489 +CONECT 488 489 +CONECT 489 487 488 +CONECT 490 492 +CONECT 491 492 +CONECT 492 490 491 +CONECT 493 495 +CONECT 494 495 +CONECT 495 493 494 +CONECT 496 498 +CONECT 497 498 +CONECT 498 496 497 +CONECT 499 501 +CONECT 500 501 +CONECT 501 499 500 +CONECT 502 504 +CONECT 503 504 +CONECT 504 502 503 +CONECT 505 507 +CONECT 506 507 +CONECT 507 505 506 +CONECT 508 510 +CONECT 509 510 +CONECT 510 508 509 +CONECT 511 513 +CONECT 512 513 +CONECT 513 511 512 +CONECT 514 516 +CONECT 515 516 +CONECT 516 514 515 +CONECT 517 519 +CONECT 518 519 +CONECT 519 517 518 +CONECT 520 522 +CONECT 521 522 +CONECT 522 520 521 +CONECT 523 525 +CONECT 524 525 +CONECT 525 523 524 +END diff --git a/examples/DMC/init.dcd b/examples/DMC/init.dcd new file mode 100644 index 000000000..1436a2bbd Binary files /dev/null and b/examples/DMC/init.dcd differ diff --git a/examples/DMC/lj.xml b/examples/DMC/lj.xml new file mode 100644 index 000000000..cb5a4512f --- /dev/null +++ b/examples/DMC/lj.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/examples/DMC/prm1.xml b/examples/DMC/prm1.xml new file mode 100644 index 000000000..18de8da52 --- /dev/null +++ b/examples/DMC/prm1.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/DMC/res.xml b/examples/DMC/res.xml new file mode 100644 index 000000000..9fdf9911b --- /dev/null +++ b/examples/DMC/res.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/DMC/test.py b/examples/DMC/test.py new file mode 100755 index 000000000..951dfea43 --- /dev/null +++ b/examples/DMC/test.py @@ -0,0 +1,51 @@ +#!/usr/bin/env python +import jax +import jax.numpy as jnp +from openmm import * +from openmm.app import * +from openmm.unit import * +import openmm.openmm as mm +from dmff import * + +top_pdb = app.PDBFile("box_DMC.pdb") +rc = 0.9 +xml = 'prm1.xml' + +# OpenMM Calc +ff = ForceField(xml) + +system = ff.createSystem(top_pdb.topology, + nonbondedMethod=app.PME, + nonbondedCutoff=rc*unit.nanometer, + constraints=None) +barostat = mm.MonteCarloBarostat(1.0*unit.bar, 293.0*unit.kelvin, 20) +#barostat.setRandomNumberSeed(12345) +system.addForce(barostat) +for force in system.getForces(): + if isinstance(force, mm.NonbondedForce): + force.setUseDispersionCorrection(False) + force.setUseSwitchingFunction(False) +integ = mm.LangevinIntegrator(293*unit.kelvin, 5/unit.picosecond, 1*unit.femtosecond) + +simulation = app.Simulation(top_pdb.topology, system, integ) +simulation.context.setPositions(top_pdb.getPositions()) +state = simulation.context.getState(getEnergy=True) +print(state.getPotentialEnergy()) + +# DMFF Calc +H = Hamiltonian(xml) + + +pot = H.createPotential(top_pdb.topology, + nonbondedMethod=app.PME, + nonbondedCutoff=rc*unit.nanometer, + useDispersionCorrection=False) +efunc = pot.getPotentialFunc() + +pos = jnp.array(top_pdb.getPositions()._value) +box = jnp.array(top_pdb.topology.getPeriodicBoxVectors()._value) +nbl = dmff.NeighborListFreud(box, rc, pot.meta['cov_map']) +nbl.allocate(pos) +pairs = nbl.pairs + +print(efunc(pos, box, pairs, H.paramtree)) diff --git a/examples/classical/demo.ipynb b/examples/classical/demo.ipynb index 39777ad0a..187e10e46 100644 --- a/examples/classical/demo.ipynb +++ b/examples/classical/demo.ipynb @@ -1,6 +1,7 @@ { "cells": [ { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -8,6 +9,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -21,6 +23,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -29,7 +32,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -41,6 +44,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -48,6 +52,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -60,9 +65,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generator for HarmonicAngleForce is not implemented.\n", + "Generator for PeriodicTorsionForce is not implemented.\n", + "Generator for NonbondedForce is not implemented.\n" + ] + } + ], "source": [ "app.Topology.loadBondDefinitions(\"lig-top.xml\")\n", "pdb = app.PDBFile(\"lig.pdb\")\n", @@ -70,6 +85,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -78,11 +94,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + ".potential_fn at 0x7ff8d0411940>\n", + ".potential_fn at 0x7ff743081d30>\n", + ".potential_fn at 0x7ff743081ee0>\n", + ".potential_fn at 0x7ff7431ee3a0>\n" + ] + } + ], "source": [ - "potentials = ff.createPotential(\n", + "potentials = ff.createJaxPotential(\n", " pdb.topology,\n", " nonbondedMethod=app.NoCutoff\n", ")\n", @@ -92,6 +119,33 @@ ] }, { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Array([[0, 1, 2, ..., 0, 0, 2],\n", + " [1, 0, 1, ..., 0, 0, 3],\n", + " [2, 1, 0, ..., 0, 0, 4],\n", + " ...,\n", + " [0, 0, 0, ..., 0, 2, 0],\n", + " [0, 0, 0, ..., 2, 0, 0],\n", + " [2, 3, 4, ..., 0, 0, 0]], dtype=int32)" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "potentials.meta[\"cov_map\"]" + ] + }, + { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -100,16 +154,41 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Array([-0.75401515, 0.8628848 , -0.74901515, 0.44918483, -0.30991516,\n", + " 0.58678484, -0.01711515, -0.02311515, -0.13561516, -0.21381515,\n", + " 0.16038485, -0.47781515, 0.25678486, -0.7003152 , 0.60158485,\n", + " -0.6191152 , 0.18658485, -0.15001515, 0.10558484, -0.13701515,\n", + " -0.08301515, 0.03808485, -0.37091514, 0.81668484, -0.20798215,\n", + " -0.20798215, -0.20798215, -0.65701514, 0.00528485, 0.11038485,\n", + " -0.58381516, -0.6450152 , 0.15478484, 0.10428485, -0.67541516,\n", + " 0.10428485, 0.15478484, 0.08308485, 0.08518485, 0.08518485,\n", + " 0.06118485, 0.06118485, 0.44978485, 0.16498485, 0.14798485,\n", + " 0.16998485, 0.32248485, 0.32248485, 0.08718485, 0.08718485,\n", + " 0.06668485, 0.06668485, 0.39998484, 0.08593485, 0.08593485,\n", + " 0.10518485, 0.10518485, 0.45978484, 0.10518485, 0.10518485,\n", + " 0.08593485, 0.08593485, 0.10535185, 0.10535185, 0.10535185,\n", + " 0.02608485], dtype=float32)" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "params = ff.getParameters()\n", - "nbparam = params['NonbondedForce']\n", - "nbparam[\"charge\"] # also \"epsilon\", \"sigma\" etc. keys" + "nbparam = params['HarmonicBondForce']\n", + "nbparam[\"length\"]" ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -121,9 +200,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-425.40482\n", + "[[ 0 1 1]\n", + " [ 0 2 2]\n", + " [ 1 2 1]\n", + " ...\n", + " [62 65 0]\n", + " [63 65 0]\n", + " [64 65 0]]\n" + ] + } + ], "source": [ "positions = jnp.array(pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer))\n", "box = jnp.array([\n", @@ -131,16 +225,17 @@ " [0.0, 10.0, 0.0],\n", " [0.0, 0.0, 10.0]\n", "])\n", - "nbList = NeighborList(box, rc=4, potentials.meta[\"cov_map\"])\n", + "nbList = NeighborList(box, 4, potentials.meta[\"cov_map\"])\n", "nbList.allocate(positions)\n", "pairs = nbList.pairs\n", - "nbfunc = potentials.dmff_potentials['NonbondedForce']\n", + "nbfunc = potentials.dmff_potentials['HarmonicBondForce']\n", "energy = nbfunc(positions, box, pairs, params)\n", "print(energy)\n", "print(pairs)" ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -149,9 +244,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Array(-52.358917, dtype=float32)" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "efunc = potentials.getPotentialFunc()\n", "params = ff.getParameters()\n", @@ -160,6 +266,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -167,6 +274,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -175,9 +283,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "(66, 3)" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "pos_grad_func = jax.grad(efunc, argnums=0)\n", "force = -pos_grad_func(positions, box, pairs, params)\n", @@ -186,14 +305,48 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Array([ 652.7753 , 55.108738 , 729.36115 , -171.4929 ,\n", + " 502.70837 , -44.917206 , 129.63994 , -142.31796 ,\n", + " -149.62088 , 453.21503 , 46.372574 , 140.15303 ,\n", + " 575.488 , 461.46902 , 294.4358 , 335.25153 ,\n", + " 27.828705 , 671.3637 , 390.8903 , 519.6835 ,\n", + " 220.51129 , 238.7695 , 229.97302 , 210.58838 ,\n", + " 237.08563 , 196.40994 , 231.8734 , 35.663574 ,\n", + " 457.76416 , 77.4798 , 256.54382 , 402.2121 ,\n", + " 592.46265 , 421.86688 , -52.09662 , 440.8465 ,\n", + " 611.9573 , 237.98883 , 110.286194 , 150.65375 ,\n", + " 218.61087 , 240.20477 , -211.85376 , 150.7331 ,\n", + " 310.89404 , 208.65228 , -139.23026 , -168.8883 ,\n", + " 114.3645 , 3.7261353, 399.6282 , 298.28455 ,\n", + " 422.06445 , 485.1427 , 512.1267 , 549.84033 ,\n", + " 556.4724 , 394.40845 , 575.85767 , 606.74744 ,\n", + " 526.18463 , 521.27563 , 558.55896 , 560.4667 ,\n", + " 562.812 , 333.74194 ], dtype=float32)" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "param_grad_func = jax.grad(nbfunc, argnums=-1)\n", + "param_grad_func = jax.grad(nbfunc, argnums=-1, allow_int=True)\n", "pgrad = param_grad_func(positions, box, pairs, params)\n", - "pgrad[\"NonbondedForce\"][\"charge\"]" + "pgrad[\"HarmonicBondForce\"][\"length\"]" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -215,7 +368,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.12" + "version": "3.9.16" } }, "nbformat": 4, diff --git a/examples/classical/test_xml.py b/examples/classical/test_xml.py index 387fb7ff9..c5d594033 100755 --- a/examples/classical/test_xml.py +++ b/examples/classical/test_xml.py @@ -3,9 +3,8 @@ import openmm.app as app import openmm.unit as unit import numpy as np -from jax_md import space, partition import sys -from dmff.api import Hamiltonian +from dmff import Hamiltonian from dmff.common import nblist from jax import jit import jax.numpy as jnp @@ -39,7 +38,7 @@ def getEnergyDecomposition(context, forcegroups): forcegroups = forcegroupify(system) integrator = mm.VerletIntegrator(0.1) - context = mm.Context(system, integrator) + context = mm.Context(system, integrator, mm.Platform.getPlatformByName("Reference")) context.setPositions(pdb.positions) state = context.getState(getEnergy=True) energy = state.getPotentialEnergy() @@ -53,7 +52,7 @@ def getEnergyDecomposition(context, forcegroups): h = Hamiltonian("gaff-2.11.xml", "lig-prm.xml") - pot = h.createPotential(pdb.topology, nonbondedMethod=app.NoCutoff, constraints=None, removeCMMotion=False) + pot = h.createPotential(pdb.topology, nonbondedMethod=app.NoCutoff) params = h.getParameters() positions = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) @@ -66,7 +65,7 @@ def getEnergyDecomposition(context, forcegroups): # neighbor list rc = 4 - nbl = nblist.NeighborList(box, rc, h.getGenerators()[-1].covalent_map) + nbl = nblist.NeighborList(box, rc, pot.meta['cov_map']) nbl.allocate(positions) pairs = nbl.pairs @@ -81,3 +80,7 @@ def getEnergyDecomposition(context, forcegroups): nbE = pot.dmff_potentials['NonbondedForce'] print("Nonbonded:", nbE(positions, box, pairs, params)) + + etotal = pot.getPotentialFunc() + print("Total:", etotal(positions, box, pairs, params)) + diff --git a/examples/eann/EANN.pth b/examples/eann/EANN.pth new file mode 100644 index 000000000..d96b506db Binary files /dev/null and b/examples/eann/EANN.pth differ diff --git a/examples/eann/EANN_PES_DOUBLE.pt b/examples/eann/EANN_PES_DOUBLE.pt new file mode 100644 index 000000000..188022dde Binary files /dev/null and b/examples/eann/EANN_PES_DOUBLE.pt differ diff --git a/examples/eann/eann.py b/examples/eann/eann.py new file mode 100644 index 000000000..b9085b233 --- /dev/null +++ b/examples/eann/eann.py @@ -0,0 +1,353 @@ +#!/usr/bin/env python +import sys +from collections import OrderedDict +import jax +import jax.numpy as jnp +from jax import vmap, jit, value_and_grad +import numpy as np +from dmff.utils import jit_condition, regularize_pairs, pair_buffer_scales +from dmff.admp.pairwise import distribute_scalar, distribute_v3 +from dmff.admp.spatial import pbc_shift +from functools import partial +import jax.nn.initializers +import pickle +# from jax.config import config +# config.update("jax_debug_nans", True) + +# Make printing parameters a little more readable +def parameter_shapes(params): + return jax.tree_util.tree_map(lambda p: p.shape, params) + +@jit_condition(static_argnums=()) +@partial(vmap, in_axes=(0, 0, None, None, None, None, None), out_axes=0) +def get_gto(i_atom, r, pairs, rc, rs, inta, species): + gto_i = jnp.exp(-inta[species[pairs[i_atom][1]]] * (r - rs[species[pairs[i_atom][1]]])**2) + gto_j = jnp.exp(-inta[species[pairs[i_atom][0]]] * (r - rs[species[pairs[i_atom][0]]])**2) + return gto_i, gto_j + +@jit_condition(static_argnums=()) +@partial(vmap, in_axes=(0, None), out_axes=0) +def cutoff_cosine(distances, cutoff): + return jnp.square(0.5 * jnp.cos(distances * (jnp.pi / cutoff)) + 0.5) + +@jit_condition(static_argnums=()) +@partial(vmap, in_axes=(0, 0, None), out_axes=0) +def distribute_pair_cij(i_elem, j_elem, cij): + return cij[j_elem] + +@jit_condition(static_argnums=()) +@partial(vmap, in_axes=(0, None, None, None), out_axes=(0)) +def reduce_atoms(i_atom, wfs, indices, buffer_scales): + mask = (indices == i_atom) + res = jnp.einsum('ijk,i,i', wfs, mask, buffer_scales) + return res + +def layer_norm(x, weight, bias, axis=-1, eps=1e-5): + mean = jnp.mean(x, axis=-1, keepdims=True) + var = jnp.var(x, axis=-1, keepdims=True) + std = jnp.sqrt(var + eps) + y = (x - mean) / std * weight + bias + return y + +# calculate neural network energy through features +# Linear, LayerNorm, Relu_Like, Linear, LayerNorm, Relu_Like, Linear +@jit_condition(static_argnums=()) +@partial(vmap, in_axes=(0, 0, None), out_axes=(0)) +def get_atomic_energies(features, elem_index, params): + # 0 Linear + features1 = features.dot(params['w.0'][elem_index].T) + params['b.0'][elem_index] + # 1 LayerNorm + features2 = layer_norm(features1, params['w.1'][elem_index], params['b.1'][elem_index]) + # 2 Relu_Like + features3 = params['w.2'][elem_index] * jax.nn.silu(features2 * params['b.2'][elem_index]) + # 3 Linear + features4 = features3.dot(params['w.3'][elem_index].T) + params['b.3'][elem_index] + # 4 LayerNorm + features5 = layer_norm(features4, params['w.4'][elem_index], params['b.4'][elem_index]) + # 5 Relu_Like + features6 = params['w.5'][elem_index] * jax.nn.silu(features5 * params['b.5'][elem_index]) + # 6 Linear + features7 = features6.dot(params['w.6'][elem_index].T) + params['b.6'][elem_index] + return features7 + + +class EANNForce: + + def __init__(self, + n_elem, + elem_indices, + n_gto=12, + rc=4, + nipsin=2, + beta=0.2, + sizes=(64, 64), + seed=12345): + """ Constructor + + Parameters + ---------- + n_elem: int + Number of elements in the model. + elem_indices: array of ints + Element type of each atom in the system. + n_gto: int + Number of GTOs used in EANN. + rc: float + Cutoff distances, used to determine initial rs and inta. + nipsin: int, optional + Largest L in angular channel. Default 2 + beta: float, optional + beta used to determine initial \Delta rs. Default 0.2 + sizes: tupple, ints, optional + Number of hidden neurons in the model, the length is number of layers. + Default (64, 64) + seed: int, optional + Seed for random number generator, default 12345 + + Examples + ---------- + + """ + self.n_elem = n_elem + self.n_gto = n_gto + self.rc = rc + self.beta = beta + self.sizes = sizes + self.n_layers = len(sizes) + self.nipsin = nipsin + self.elem_indices = elem_indices + self.n_atoms = len(elem_indices) + + # n_elements * n_features + self.n_features = (nipsin+1) * n_gto + cij = jnp.ones((n_elem, n_gto)) * 0.0 + rs, inta = self.get_init_rs(n_gto, beta, rc) + initpot = jnp.ones(1) * 0.0 + + # initialize NN params + key = jax.random.PRNGKey(seed) + initializer = jax.nn.initializers.he_uniform() + weights = [] + bias = [] + + dim_in = self.n_features + W = [] + B = [] + # Linear, LayerNorm, Relu_Like, Linear, LayerNorm, Relu_Like, Linear + for i_layer in range(self.n_layers): + dim_out = sizes[i_layer] + key, subkey = jax.random.split(key) + W.append(initializer(subkey, (n_elem, dim_in, dim_out))) + B.append(jnp.zeros((n_elem, dim_out))) + # LayerNorm + W.append(initializer(subkey, (n_elem, dim_out))) + B.append(jnp.zeros((n_elem, dim_out))) + # Relu_like + W.append(initializer(subkey, (n_elem, 1, dim_out))) + B.append(jnp.zeros((n_elem, 1, dim_out))) + dim_in = dim_out + key, subkey = jax.random.split(key) + W.append(initializer(subkey, (n_elem, dim_in))) + key, subkey = jax.random.split(key) + B.append(jax.random.uniform(subkey, shape=(n_elem,))) + + # prepare input parameters + # weights: weights[i_layer][n_elem, dim_in, dim_out] + # bias: bias[i_layer][n_elem, dim_out] + params = OrderedDict() + params = { + 'w': W, + 'b': B, + 'density.params': cij, + 'density.rs': rs, + 'density.inta': inta, + 'nnmod.initpot': initpot + } + self.params = params + # prepare angular channels + npara = [1] + for i in range(1,self.nipsin+1): + npara.append(3**i) + self.index_para = jnp.concatenate([jnp.ones((npara[i],), dtype=jnp.int32) * i for i in range(len(npara))]) + + # generate get_energy + self.get_energy = self.generate_get_energy() + + return + + def get_init_rs(self, n_gto, beta, rc): + """ + Generate initial values for rs and inta (exponents) + + Parameters + ---------- + n_gto: int + number of radial GTOs used in EANN + beta: float + beta used to determine initial \Delta rs. Default 0.2 + rc: float + cutoff distance + + Returns + ---------- + rs: + (3, n_gto): list of rs (for different radial channels) + inta: + (3, n_gto): list of inta + """ + drs = rc / (n_gto - 1 + 0.3333333333) + a = beta / drs / drs + # rs = jnp.arange(0, rc, drs) + # inta = jnp.ones(n_gto) * a + rs=jnp.stack([jnp.arange(0, rc, drs) for itype in range(self.n_elem)],axis=0) + inta=jnp.stack([jnp.ones(n_gto) * a for itype in range(self.n_elem)],axis=0) + return rs, inta + + def get_features(self, radial, dr, pairs, buffer_scales, orb_coeff): + """ Get atomic features from pairwise gto arrays + + Parameters + ---------- + gtos(radial): array, (2, n_pairs, nipsin+1, n_gtos) + pairwise gto values, that is, + cij * exp(-inta * (r-rs)**2) * 0.25*(cos(r/rc*pi) + 1)**2 + dr: array + dr_vec for each pair, pbc shifted + pairs: int array + Indices of interacting pairs + buffer_scales: float (0 or 1) + neighbor list buffer masks + + Returns + ---------- + features: (n_atom, n_features) array + Atomic features + + Examples + ---------- + """ + + dist_vec = jnp.concatenate((dr,-dr),axis=0) + dr_norm = jnp.linalg.norm(dist_vec, axis=1) + f_cut = cutoff_cosine(dr_norm, self.rc) + neigh_list = jnp.concatenate((pairs,pairs[:,[1,0]]),axis=0) + buffer_scales_ = jnp.concatenate((buffer_scales,buffer_scales),axis=0) + totneighbour = len(neigh_list) + prefacs = f_cut.reshape(1, -1) + angular = prefacs + for ipsin in range(1,self.nipsin+1): + prefacs = jnp.einsum("ji,ki->jki", prefacs, dist_vec.T).reshape(-1, totneighbour) + angular = jnp.vstack((angular, prefacs)) + orbital = jnp.einsum("ji,ik->ijk", angular, radial) + expandpara = orb_coeff[neigh_list[:,1],:] + worbital = jnp.einsum("ijk,ik,i->ijk", orbital, expandpara, buffer_scales_) + sum_worbital = jnp.zeros((self.n_atoms, orbital.shape[1], self.rs.shape[1]), dtype=orbital.dtype) + sum_worbital = sum_worbital.at[neigh_list[:,0], :, :].add(worbital) + features = jnp.zeros((self.n_atoms, self.nipsin+1, self.rs.shape[1]), dtype=orbital.dtype) + features = features.at[:,self.index_para,:].add(jnp.square(sum_worbital)) + features = features.reshape(self.n_atoms,-1) + return features + + + def generate_get_energy(self): + + @jit_condition(static_argnums=()) + def get_energy(positions, box, pairs, params): + """ Get energy + This function returns the EANN energy. + + Parameters + ---------- + positions: (n_atom, 3) array + The positions of all atoms, in cartesian + box: (3, 3) array + The box array, arranged in rows + pairs: jax_md nbl index + The neighbor list, in jax_md.partition.OrderedSparse format + params: dict + The parameter dictionary, including the following keys: + c: ${c_{ij}} of all exponent prefactors, (n_elem, n_elem) + rs: distance shifts of all radial gaussian functions, (n_gto,) + inta: the exponents, (n_gto,) + w: weights of NN, list of (n_elem, dim_in, dime_out) array, with a length of n_layer + b: bias of NN, list of (n_elem, dim_out) array, with a length of n_layer + + Returns: + ---------- + energy: float or double + EANN energy + + Examples: + ---------- + """ + pairs = pairs[:,:2] + pairs = regularize_pairs(pairs) + buffer_scales = pair_buffer_scales(pairs) + + # get distances + box_inv = jnp.linalg.inv(box) + ri = distribute_v3(positions, pairs[:, 0]) + rj = distribute_v3(positions, pairs[:, 1]) + dr = rj - ri + dr = pbc_shift(dr, box, box_inv) + + dr_norm = jnp.linalg.norm(dr, axis=1) + self.rs = params['density.rs'] + self.inta = params['density.inta'] + + radial_i, radial_j = get_gto(jnp.arange(len(dr_norm)), dr_norm, pairs, self.rc, self.rs, self.inta, self.elem_indices) + radial = jnp.concatenate((radial_i,radial_j), axis=0) + orb_coeff = params['density.params'][self.elem_indices,:] # (48,16) + + features = self.get_features(radial, dr, pairs, buffer_scales, orb_coeff) + atomic_energies = get_atomic_energies(features, self.elem_indices, params) + return jnp.sum(atomic_energies + params['nnmod.initpot'][0]) + + return get_energy + + +def validation(): + import openmm.app as app + import openmm.unit as unit + from dmff.api import Hamiltonian + from dmff.common import nblist + # neighbor list + H = Hamiltonian('peg.xml') + app.Topology.loadBondDefinitions("residues.xml") + pdb = app.PDBFile("peg4.pdb") + rc = 0.4 + # generator stores all force field parameters + pots = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.nanometer, ethresh=5e-4) + + # construct inputs + pos = jnp.array(pdb.positions._value) # nm + box = jnp.array(pdb.topology.getPeriodicBoxVectors()._value) # nm + + # neighbor list + nbl = nblist.NeighborList(box, rc, pots.meta['cov_map']) + nbl.allocate(pos) + pairs = nbl.pairs + + atomtype = ['H','C','O'] + n_elem = len(atomtype) + species = [] + mass = [] + # Loop over all atoms in the topology + for atom in pdb.topology.atoms(): + # Get the element of the atom + element = atom.element.symbol + mass.append(atom.element.mass._value) + species.append(atomtype.index(atom.element.symbol)) + elem_indices = jnp.array(species) + + eann_force = EANNForce(n_elem, elem_indices, n_gto=16, nipsin=2, rc=4) + # params = eann_force.params + # E = eann_force.get_energy(pos*10, box*10, pairs, params) + # print(E) + with open('params_eann_no_list.pickle', 'rb') as f: + params = pickle.load(f) + E = eann_force.get_energy(pos*10, box*10, pairs, params) + print(E) + +if __name__ == '__main__': + validation() diff --git a/examples/eann/eann_model.pickle b/examples/eann/eann_model.pickle new file mode 100644 index 000000000..df63519ff Binary files /dev/null and b/examples/eann/eann_model.pickle differ diff --git a/examples/eann/params_trans.py b/examples/eann/params_trans.py new file mode 100644 index 000000000..0b31fd748 --- /dev/null +++ b/examples/eann/params_trans.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python +import torch +import jax.numpy as jnp +import pickle +from collections import OrderedDict + +def transfer_params_to_jax(input_path, output_path): + state_dict = torch.load(input_path, map_location='cpu') + new_state_dict = OrderedDict() + + for k, v in state_dict['eannparam'].items(): + name = k[7:] if k.startswith("module.") else k + new_state_dict[name] = v + + param = new_state_dict + + for key in param: + param[key] = jnp.array(param[key]) + + params = {} + element_names = ['H', 'C', 'O'] + for i in range(7): + if i == 2 or i == 5: + alpha_stack = jnp.stack([param[f'nnmod.elemental_nets.{elem}.{i}.alpha'] for elem in element_names]) + beta_stack = jnp.stack([param[f'nnmod.elemental_nets.{elem}.{i}.beta'] for elem in element_names]) + params[f'w.{i}'] = alpha_stack + params[f'b.{i}'] = beta_stack + else: + w_stack = jnp.stack([param[f'nnmod.elemental_nets.{elem}.{i}.weight'] for elem in element_names]) + params[f'w.{i}'] = w_stack + + b_stack = jnp.stack([param[f'nnmod.elemental_nets.{elem}.{i}.bias'] for elem in element_names]) + params[f'b.{i}'] = b_stack + + params['density.params'] = param['density.params'] + params['density.rs'] = param['density.rs'] + params['density.inta'] = param['density.inta'] + params['nnmod.initpot'] = param['nnmod.initpot'] + + with open(output_path, 'wb') as f: + pickle.dump(params, f) + +# Usage: +input_path = "EANN.pth" +output_path = "params_eann_no_list.pickle" +transfer_params_to_jax(input_path, output_path) diff --git a/examples/eann/peg.xml b/examples/eann/peg.xml new file mode 100644 index 000000000..b55c00176 --- /dev/null +++ b/examples/eann/peg.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/eann/peg4.pdb b/examples/eann/peg4.pdb new file mode 100644 index 000000000..eee06d7da --- /dev/null +++ b/examples/eann/peg4.pdb @@ -0,0 +1,64 @@ +HEADER +TITLE MDANALYSIS FRAME 0: Created by PDBWriter +CRYST1 50.000 50.000 50.000 90.00 90.00 90.00 P 1 1 +ATOM 1 C00 TER X 1 47.381 10.286 49.808 0.00 1.00 SYST +ATOM 2 H01 TER X 1 47.251 11.255 50.307 0.00 1.00 SYST +ATOM 3 H02 TER X 1 46.907 9.487 50.425 0.00 1.00 SYST +ATOM 4 O03 TER X 1 48.814 10.202 49.785 0.00 1.00 SYST +ATOM 5 C04 TER X 1 49.336 9.203 50.665 0.00 1.00 SYST +ATOM 6 H05 TER X 1 50.344 9.329 51.054 0.00 1.00 SYST +ATOM 7 H06 TER X 1 48.796 9.176 51.611 0.00 1.00 SYST +ATOM 8 H07 TER X 1 49.296 8.320 50.177 0.00 1.00 SYST +ATOM 9 C00 INT X 2 46.552 8.760 46.601 0.00 1.00 SYST +ATOM 10 H01 INT X 2 46.737 9.609 45.939 0.00 1.00 SYST +ATOM 11 H02 INT X 2 45.532 8.628 46.649 0.00 1.00 SYST +ATOM 12 O03 INT X 2 47.247 8.976 47.799 0.00 1.00 SYST +ATOM 13 C04 INT X 2 46.919 10.250 48.371 0.00 1.00 SYST +ATOM 14 H05 INT X 2 47.190 11.176 47.880 0.00 1.00 SYST +ATOM 15 H06 INT X 2 45.801 10.369 48.307 0.00 1.00 SYST +ATOM 16 C00 INT X 3 46.760 5.982 44.153 0.00 1.00 SYST +ATOM 17 H01 INT X 3 47.759 6.173 43.770 0.00 1.00 SYST +ATOM 18 H02 INT X 3 46.121 5.894 43.168 0.00 1.00 SYST +ATOM 19 O03 INT X 3 46.268 7.098 44.918 0.00 1.00 SYST +ATOM 20 C04 INT X 3 47.139 7.493 45.949 0.00 1.00 SYST +ATOM 21 H05 INT X 3 47.292 6.726 46.769 0.00 1.00 SYST +ATOM 22 H06 INT X 3 48.124 7.662 45.625 0.00 1.00 SYST +ATOM 23 C00 TER X 4 46.610 4.692 44.880 0.00 1.00 SYST +ATOM 24 H01 TER X 4 45.686 4.613 45.520 0.00 1.00 SYST +ATOM 25 H02 TER X 4 47.444 4.603 45.516 0.00 1.00 SYST +ATOM 26 O03 TER X 4 46.501 3.674 43.869 0.00 1.00 SYST +ATOM 27 C04 TER X 4 45.802 2.493 44.226 0.00 1.00 SYST +ATOM 28 H05 TER X 4 45.959 1.651 43.497 0.00 1.00 SYST +ATOM 29 H06 TER X 4 46.125 2.280 45.251 0.00 1.00 SYST +ATOM 30 H07 TER X 4 44.695 2.638 44.209 0.00 1.00 SYST +CONECT 1 2 3 4 13 +CONECT 2 1 +CONECT 3 1 +CONECT 4 1 5 +CONECT 5 4 6 7 8 +CONECT 6 5 +CONECT 7 5 +CONECT 8 5 +CONECT 9 10 11 12 20 +CONECT 10 9 +CONECT 11 9 +CONECT 12 9 13 +CONECT 13 1 12 14 15 +CONECT 14 13 +CONECT 15 13 +CONECT 16 17 18 19 23 +CONECT 17 16 +CONECT 18 16 +CONECT 19 16 20 +CONECT 20 9 19 21 22 +CONECT 21 20 +CONECT 22 20 +CONECT 23 16 24 25 26 +CONECT 24 23 +CONECT 25 23 +CONECT 26 23 27 +CONECT 27 26 28 29 30 +CONECT 28 27 +CONECT 29 27 +CONECT 30 27 +END diff --git a/examples/eann/residues.xml b/examples/eann/residues.xml new file mode 100644 index 000000000..69eda6cc0 --- /dev/null +++ b/examples/eann/residues.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/eann/run.py b/examples/eann/run.py new file mode 100644 index 000000000..9ef28387f --- /dev/null +++ b/examples/eann/run.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python +import sys +import jax +import jax.numpy as jnp +import openmm.app as app +import openmm.unit as unit +from dmff.api import Hamiltonian +from dmff.common import nblist +from jax import value_and_grad +import pickle + +if __name__ == '__main__': + + H = Hamiltonian('peg.xml') + app.Topology.loadBondDefinitions("residues.xml") + pdb = app.PDBFile("peg4.pdb") + rc = 0.4 + # generator stores all force field parameters + pots = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.nanometer, ethresh=5e-4) + + # construct inputs + positions = jnp.array(pdb.positions._value) + a, b, c = pdb.topology.getPeriodicBoxVectors() + box = jnp.array([a._value, b._value, c._value]) + # neighbor list + nbl = nblist.NeighborList(box, rc, pots.meta['cov_map']) + nbl.allocate(positions) + + + paramset = H.getParameters() + # params = paramset.parameters + paramset.parameters + + efunc = jax.jit(pots.getPotentialFunc()) + print(efunc(positions, box, nbl.pairs, paramset)) + diff --git a/examples/eann/run_ref.py b/examples/eann/run_ref.py new file mode 100644 index 000000000..aa3cc2bb6 --- /dev/null +++ b/examples/eann/run_ref.py @@ -0,0 +1,50 @@ +#!/usr/bin/env python +# This is an example script to show how to obtain the energy and force by invoking the potential saved by the training . +# Typically, you can read the structure,mass, lattice parameters(cell) and give the correct periodic boundary condition (pbc) +# and the index of each atom. All the information are required to store in the tensor of torch. +# Then, you just pass these information to the calss "pes" that will output the energy and force. +import numpy as np +import torch +import sys +import MDAnalysis as mda +from openmm import * +from openmm.app import * + +if __name__ == '__main__': + # used for select a unoccupied GPU + # gpu/cpu + device = torch.device('cpu') + + # same as the atomtype in the file input_density + atomtype=['H', 'C', 'O'] + + # set up force calculators + mol = PDBFile('peg4.pdb') + pos = np.array(mol.positions._value) * 10 + box = np.array(mol.topology.getPeriodicBoxVectors()._value) * 10 + species = [] + mass = [] + # Loop over all atoms in the topology + for atom in mol.topology.atoms(): + # Get the element of the atom + element = atom.element.symbol + mass.append(atom.element.mass._value) + species.append(atomtype.index(atom.element.symbol)) + + #load the serilizable model + pes=torch.jit.load('EANN_PES_DOUBLE.pt') + # FLOAT: torch.float32; DOUBLE:torch.double for using float/double in inference + pes.to(device).to(torch.double) + # set the eval mode + pes.eval() + pes=torch.jit.optimize_for_inference(pes) + # save the lattic parameters + period_table=torch.tensor([1,1,1],dtype=torch.double,device=device) # same as the pbc in the periodic boundary condition + species=torch.from_numpy(np.array(species)).to(device) # from numpy array to torch tensor + cart=torch.from_numpy(np.array(pos)).to(device).to(torch.double) # also float32/double + mass=torch.from_numpy(np.array(mass)).to(device).to(torch.double) # also float32/double + tcell=torch.from_numpy(box).to(device).to(torch.double) # also float32/double + energy,force=pes(period_table,cart,tcell,species,mass) + energy=energy.detach() + force=force.detach() + print('# Reference Energy:', float(energy)) diff --git a/examples/fluctuated_leading_term_waterff/demo.ipynb b/examples/fluctuated_leading_term_waterff/demo.ipynb index 01678c47b..e56696587 100644 --- a/examples/fluctuated_leading_term_waterff/demo.ipynb +++ b/examples/fluctuated_leading_term_waterff/demo.ipynb @@ -18,32 +18,52 @@ "In conventional models, atomic charges are pre-defined and remain unchanged during the simulation. Here, we want to implement a model that considers atomic charges as *conformer-dependent*, so that the charges can vary during a molecular dynamics simulation. This will give better description of the system's behavior.\n", "\n", "## System preparation\n", - "Load the coordinates, box and compute neighbor list. Note that conventionally in multipolar polarizable models, the length unit is **angstrom**." + "Load the coordinates, box of a water dimer system. The unit of the frontend API is **nanometer**." ] }, { "cell_type": "code", - "execution_count": null, - "id": "db18fde6-94bf-4e58-8b18-de85d5f15c6a", + "execution_count": 1, + "id": "65e57cd8", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/kuangy/anaconda3/envs/py310/lib/python3.10/site-packages/haiku/_src/data_structures.py:37: FutureWarning: jax.tree_structure is deprecated, and will be removed in a future release. Use jax.tree_util.tree_structure instead.\n", + " PyTreeDef = type(jax.tree_structure(None))\n" + ] + } + ], "source": [ + "import sys\n", "import jax\n", "import jax.numpy as jnp\n", "import openmm.app as app\n", "import openmm.unit as unit\n", - "from dmff import Hamiltonian, NeighborList\n", + "from dmff.api import Hamiltonian\n", + "from jax_md import space, partition\n", + "from jax import value_and_grad, jit\n", + "import pickle\n", + "from dmff.admp.pme import trim_val_0\n", + "from dmff.admp.spatial import v_pbc_shift\n", + "from dmff.common import nblist\n", + "from dmff.utils import jit_condition\n", + "from dmff.admp.pairwise import (\n", + " TT_damping_qq_c6_kernel,\n", + " generate_pairwise_interaction,\n", + " slater_disp_damping_kernel,\n", + " slater_sr_kernel,\n", + " TT_damping_qq_kernel\n", + ")\n", "\n", - "app.Topology.loadBondDefinitions(\"residues.xml\")\n", + "rc = 0.4\n", "pdb = app.PDBFile(\"water_dimer.pdb\")\n", - "rc = 4 # cutoff, in angstrom\n", - "positions = jnp.array(pdb.getPositions(asNumpy=True).value_in_unit(unit.angstrom))\n", - "box = jnp.array(\n", - " [vec.value_in_unit(unit.angstrom) for vec in pdb.topology.getPeriodicBoxVectors()]\n", - ")\n", - "nbList = NeighborList(box, rc=rc)\n", - "nbList.allocate(positions)\n", - "pairs = nbList.pairs" + "# construct inputs\n", + "positions = jnp.array(pdb.positions._value)\n", + "a, b, c = pdb.topology.getPeriodicBoxVectors()\n", + "box = jnp.array([a._value, b._value, c._value])\n" ] }, { @@ -71,13 +91,14 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "2dad4351", "metadata": {}, "outputs": [], "source": [ "H = Hamiltonian('forcefield.xml')\n", - "pots = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.angstrom, step_pol=5)\n", + "# generator stores all force field parameters \n", + "pots = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.nanometer, step_pol=5)\n", "pme_pot = pots.dmff_potentials['ADMPPmeForce']\n", "disp_generator, pme_generator = H.getGenerators()" ] @@ -92,18 +113,41 @@ "- Expand **force field parameters** (oxygen and hydrogen charges, polarizabilites, etc.) pre-defined in `forcefield.xml` to each atom, which we called **atomic parameters**\n", "- Calls the real PME kernel function to evaluate energy.\n", "\n", - "The force field parameters are stored in Hamiltonian `H`. And the expansion is implemented with the *broadcast* feature of `jax.numpy.ndarray`." + "The force field parameters are stored in Hamiltonian `H`. And the expansion is implemented with the *broadcast* feature of `jax.numpy.ndarray`. The expansion can be done using the variable `map_atomtype`, which maps each atom to the corrsponding atomtype." ] }, { "cell_type": "code", - "execution_count": null, - "id": "33a6af99-886b-4934-97fd-6e8b4fa0ecbf", + "execution_count": 5, + "id": "0ab968c2", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Array([[-0.803721 , -0.0784325 , 0. , 0. , 0.00459693,\n", + " 0. , 0. , 0.12960503, 0. ],\n", + " [ 0.401876 , -0.0095895 , -0.0121713 , 0. , 0.00812139,\n", + " 0.00436148, 0. , 0.00701541, 0. ],\n", + " [ 0.401876 , -0.0095895 , -0.0121713 , 0. , 0.00812139,\n", + " 0.00436148, 0. , 0.00701541, 0. ],\n", + " [-0.803721 , -0.0784325 , 0. , 0. , 0.00459693,\n", + " 0. , 0. , 0.12960503, 0. ],\n", + " [ 0.401876 , -0.0095895 , -0.0121713 , 0. , 0.00812139,\n", + " 0.00436148, 0. , 0.00701541, 0. ],\n", + " [ 0.401876 , -0.0095895 , -0.0121713 , 0. , 0.00812139,\n", + " 0.00436148, 0. , 0.00701541, 0. ]], dtype=float64)" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "params = H.getParameters()['ADMPPmeForce']\n", - "params['Q_local'][pme_generator.map_atomtype]" + "map_atomtype = pots.meta[\"ADMPPmeForce_map_atomtype\"]\n", + "params['Q_local'][map_atomtype]" ] }, { @@ -123,12 +167,12 @@ "\n", "As a result, we must re-write `pme_pot` to enable modifying the atomic charges after force field parameter expansion. \n", "\n", - "Benifiting from the flexible APIs in DMFF, we will reuse most of the functions and variables in the `pme_generator`, only modify charges in the input parameters, i.e. the `Q_local` argument in `pme_generator.pme_force.get_energy` function." + "Benifiting from the flexible APIs in DMFF, we will reuse most of the functions and variables in the `pme_generator`, only modify charges in the input parameters, i.e. the `Q_local` argument in `pme_generator.pme_force.get_energy` function. One particular thing to be careful is that all ADMP backend functions assumes the inputs (`positions` and `box`) are in Angstrom, instead of nm!" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "bae85400", "metadata": { "scrolled": true @@ -172,16 +216,20 @@ " return c0, c6_list\n", "\n", "\n", - "def generate_calculator(pme_generator, params):\n", + "def generate_calculator(pots, pme_generator, params):\n", + " map_atomtype = pots.meta[\"ADMPPmeForce_map_atomtype\"]\n", + " map_poltype = pots.meta[\"ADMPPmeForce_map_poltype\"]\n", " def admp_calculator(positions, box, pairs):\n", - " c0, c6_list = compute_leading_terms(positions,box) # compute fluctuated charges\n", - " Q_local = params[\"Q_local\"][pme_generator.map_atomtype]\n", + " positions = positions * 10 # convert from nm to angstrom\n", + " box = box * 10\n", + " c0, c6_list = compute_leading_terms(positions, box) # compute fluctuated charges\n", + " Q_local = params[\"Q_local\"][map_atomtype]\n", " Q_local = Q_local.at[:,0].set(c0) # change fixed charge into fluctuated one\n", - " pol = params[\"pol\"][pme_generator.map_poltype]\n", - " tholes = params[\"tholes\"][pme_generator.map_poltype]\n", - " mScales = params[\"mScales\"]\n", - " pScales = params[\"pScales\"]\n", - " dScales = params[\"dScales\"]\n", + " pol = params[\"pol\"][map_poltype]\n", + " tholes = params[\"thole\"][map_poltype]\n", + " mScales = pme_generator.mScales\n", + " pScales = pme_generator.pScales\n", + " dScales = pme_generator.dScales\n", " E_pme = pme_generator.pme_force.get_energy(\n", " positions, \n", " box, \n", @@ -207,22 +255,48 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "560a8b7b-1dd7-4368-8154-99240aed9d81", + "execution_count": 8, + "id": "d545d7b7", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-41.261709056188494\n" + ] + } + ], "source": [ - "potential_fn = generate_calculator(pme_generator, params)\n", + "# neighbor list\n", + "nbl = nblist.NeighborList(box, rc, pots.meta[\"cov_map\"])\n", + "nbl.allocate(positions)\n", + "pairs = nbl.pairs\n", + "\n", + "potential_fn = generate_calculator(pots, pme_generator, params)\n", "ene = potential_fn(positions, box, pairs)\n", "print(ene)" ] }, { "cell_type": "code", - "execution_count": null, - "id": "632d4024-76a2-4b84-a7a4-e59eecdfde20", + "execution_count": 9, + "id": "a863ee0b", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[ -76.31268719 117.49783627 -79.89266772]\n", + " [ 751.2499921 -582.24588471 -251.82070224]\n", + " [ -18.97483886 -49.68783375 146.28345763]\n", + " [-675.35013452 382.30839617 204.50616711]\n", + " [ -25.65479533 -52.55337869 41.92507785]\n", + " [ 45.04246381 184.68086471 -61.00133263]]\n" + ] + } + ], "source": [ "force_fn = jax.grad(potential_fn, argnums=(0))\n", "force = -force_fn(positions, box, pairs)\n", @@ -239,10 +313,23 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "d7a0fd1b-a363-40a0-9017-febe0fe76f01", + "execution_count": 10, + "id": "aa73c8d4", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[ -76.31268719 117.49783627 -79.89266772]\n", + " [ 751.2499921 -582.24588471 -251.82070224]\n", + " [ -18.97483886 -49.68783375 146.28345763]\n", + " [-675.35013452 382.30839617 204.50616711]\n", + " [ -25.65479533 -52.55337869 41.92507785]\n", + " [ 45.04246381 184.68086471 -61.00133263]]\n" + ] + } + ], "source": [ "print(-force_fn(positions, box, pairs))" ] @@ -250,7 +337,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e87073c4", + "id": "57e620a7", "metadata": {}, "outputs": [], "source": [] @@ -272,7 +359,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.12" + "version": "3.10.8" } }, "nbformat": 4, diff --git a/examples/fluctuated_leading_term_waterff/ref_out b/examples/fluctuated_leading_term_waterff/ref_out new file mode 100644 index 000000000..c7439edd0 --- /dev/null +++ b/examples/fluctuated_leading_term_waterff/ref_out @@ -0,0 +1,9 @@ +# Tot Interaction Energy: +# -41.437696011272465 kJ/mol +# Tot force : +# [[ 6.99817736 -10.73540559 7.44495642] + [-74.774497 57.81233046 24.98315842] + [ 2.00037973 4.60480058 -13.86528301] + [ 63.0415243 -40.32457937 -15.57667743] + [ 2.60863633 6.53827371 -8.38934949] + [ 0.13944051 -17.89996202 5.35314178]] diff --git a/examples/fluctuated_leading_term_waterff/run.py b/examples/fluctuated_leading_term_waterff/run.py index aa1628c98..bc7c8d48c 100755 --- a/examples/fluctuated_leading_term_waterff/run.py +++ b/examples/fluctuated_leading_term_waterff/run.py @@ -54,28 +54,35 @@ def compute_leading_terms(positions,box): c6_list = c6_list.at[2::3].set(jnp.sqrt(C6_H2)) return c0, c6_list -def generate_calculator(pot_disp, pot_pme, pot_sr, disp_generator, pme_generator): +# def generate_calculator(pot_disp, pot_pme, pot_sr, disp_generator, pme_generator, params, covalent_map): +def generate_calculator(pots, pme_generator, disp_generator, params): + pot_disp = pots.dmff_potentials['ADMPDispForce'] + pot_pme = pots.dmff_potentials['ADMPPmeForce'] + pot_sr = generate_pairwise_interaction(TT_damping_qq_c6_kernel, static_args={}) + map_atype_disp = pots.meta["ADMPDispForce_map_atomtype"] + map_atype_pme = pots.meta["ADMPPmeForce_map_atomtype"] def admp_calculator(positions, box, pairs): - params_pme = pme_generator.paramtree['ADMPPmeForce'] - params_disp = disp_generator.paramtree['ADMPDispForce'] + # params_pme = pme_generator.paramtree['ADMPPmeForce'] + # params_disp = disp_generator.paramtree['ADMPDispForce'] + params_pme = params['ADMPPmeForce'] + params_disp = params['ADMPDispForce'] c0, c6_list = compute_leading_terms(positions,box) # compute fluctuated leading terms - Q_local = params_pme["Q_local"][pme_generator.map_atomtype] + Q_local = params_pme["Q_local"][map_atype_pme] Q_local = Q_local.at[:,0].set(c0) # change fixed charge into fluctuated one - pol = params_pme["pol"][pme_generator.map_atomtype] - tholes = params_pme["tholes"][pme_generator.map_atomtype] - c8_list = jnp.sqrt(params_disp["C8"][disp_generator.map_atomtype]*1e8) - c10_list = jnp.sqrt(params_disp["C10"][disp_generator.map_atomtype]*1e10) + pol = params_pme["pol"][map_atype_pme] + tholes = params_pme["thole"][map_atype_pme] + c8_list = jnp.sqrt(params_disp["C8"][map_atype_disp]*1e8) + c10_list = jnp.sqrt(params_disp["C10"][map_atype_disp]*1e10) c_list = jnp.vstack((c6_list, c8_list, c10_list)) - covalent_map = disp_generator.covalent_map - a_list = (params_disp["A"][disp_generator.map_atomtype] / 2625.5) - b_list = params_disp["B"][disp_generator.map_atomtype] * 0.0529177249 - q_list = params_disp["Q"][disp_generator.map_atomtype] + a_list = (params_disp["A"][map_atype_disp] / 2625.5) + b_list = params_disp["B"][map_atype_disp] * 0.0529177249 + q_list = params_disp["Q"][map_atype_disp] E_pme = pme_generator.pme_force.get_energy( - positions, box, pairs, Q_local, pol, tholes, params_pme["mScales"], params_pme["pScales"], params_pme["dScales"] + positions, box, pairs, Q_local, pol, tholes, pme_generator.mScales, pme_generator.pScales, pme_generator.dScales ) - E_disp = disp_generator.disp_pme_force.get_energy(positions, box, pairs, c_list.T, params_disp["mScales"]) - E_sr = pot_sr(positions, box, pairs, params_disp["mScales"], a_list, b_list, q_list, c_list[0]) + E_disp = disp_generator.disp_pme_force.get_energy(positions, box, pairs, c_list.T, disp_generator.mScales) + E_sr = pot_sr(positions, box, pairs, disp_generator.mScales, a_list, b_list, q_list, c_list[0]) return E_pme return jit(value_and_grad(admp_calculator,argnums=(0))) @@ -84,27 +91,27 @@ def admp_calculator(positions, box, pairs): H = Hamiltonian('forcefield.xml') app.Topology.loadBondDefinitions("residues.xml") pdb = app.PDBFile("water_dimer.pdb") - rc = 4 + rc = 0.4 # generator stores all force field parameters disp_generator, pme_generator = H.getGenerators() - pots = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.angstrom, step_pol=5) - pot_disp = pots.dmff_potentials['ADMPDispForce'] - pot_pme = pots.dmff_potentials['ADMPPmeForce'] - pot_sr = generate_pairwise_interaction(TT_damping_qq_c6_kernel, static_args={}) + pots = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.nanometer, step_pol=5) + # pot_disp = pots.dmff_potentials['ADMPDispForce'] + # pot_pme = pots.dmff_potentials['ADMPPmeForce'] + # pot_sr = generate_pairwise_interaction(TT_damping_qq_c6_kernel, static_args={}) # construct inputs - positions = jnp.array(pdb.positions._value) * 10 + positions = jnp.array(pdb.positions._value) a, b, c = pdb.topology.getPeriodicBoxVectors() - box = jnp.array([a._value, b._value, c._value]) * 10 + box = jnp.array([a._value, b._value, c._value]) # neighbor list - nbl = nblist.NeighborList(box, rc, H.getGenerators()[0].covalent_map) + nbl = nblist.NeighborList(box, rc, pots.meta["cov_map"]) nbl.allocate(positions) pairs = nbl.pairs - admp_calc = generate_calculator(pot_disp, pot_pme, pot_sr, disp_generator, pme_generator) - tot_ene, tot_force = admp_calc(positions, box, pairs) + admp_calc = generate_calculator(pots, pme_generator, disp_generator, H.getParameters()) + tot_ene, tot_force = admp_calc(positions*10, box*10, pairs) print('# Tot Interaction Energy:') print('#', tot_ene, 'kJ/mol') print('# Tot force :') diff --git a/examples/lennard_jones_opt/GAS.pdb b/examples/lennard_jones_opt/GAS.pdb new file mode 100644 index 000000000..ccb705c39 --- /dev/null +++ b/examples/lennard_jones_opt/GAS.pdb @@ -0,0 +1,22 @@ +TITLE benzyl-alcohol +REMARK THIS IS A SIMULATION BOX +CRYST1 100.000 100.000 100.000 90.00 90.00 90.00 P 1 1 +MODEL 1 +ATOM 1 C1 MOL 1 49.819 50.235 51.145 1.00 0.00 +ATOM 2 H1 MOL 1 49.379 50.945 51.845 1.00 0.00 +ATOM 3 C2 MOL 1 50.189 49.005 51.655 1.00 0.00 +ATOM 4 H2 MOL 1 50.109 48.905 52.735 1.00 0.00 +ATOM 5 C3 MOL 1 50.609 48.015 50.775 1.00 0.00 +ATOM 6 H3 MOL 1 50.949 47.035 51.125 1.00 0.00 +ATOM 7 C4 MOL 1 50.639 48.315 49.425 1.00 0.00 +ATOM 8 H4 MOL 1 51.109 47.535 48.825 1.00 0.00 +ATOM 9 C5 MOL 1 50.209 49.515 48.885 1.00 0.00 +ATOM 10 H5 MOL 1 50.129 49.655 47.805 1.00 0.00 +ATOM 11 C6 MOL 1 49.709 50.445 49.785 1.00 0.00 +ATOM 12 C7 MOL 1 49.079 51.725 49.245 1.00 0.00 +ATOM 13 H6 MOL 1 48.779 52.195 50.175 1.00 0.00 +ATOM 14 H7 MOL 1 48.249 51.555 48.555 1.00 0.00 +ATOM 15 O1 MOL 1 50.189 52.405 48.655 1.00 0.00 +ATOM 16 H8 MOL 1 50.859 52.515 49.365 1.00 0.00 +TER +ENDMDL diff --git a/examples/lennard_jones_opt/LIQ_T297.15.pdb b/examples/lennard_jones_opt/LIQ_T297.15.pdb new file mode 100644 index 000000000..2a02ee70e --- /dev/null +++ b/examples/lennard_jones_opt/LIQ_T297.15.pdb @@ -0,0 +1,8002 @@ +CRYST1 55.590 55.590 55.590 90.00 90.00 90.00 P 1 +HETATM 1 C1 MOL 1 34.040 33.230 42.440 0.00 0.00 C +HETATM 2 H1 MOL 1 34.150 33.720 41.490 0.00 0.00 H +HETATM 3 C2 MOL 1 32.950 32.340 42.500 0.00 0.00 C +HETATM 4 H2 MOL 1 32.350 32.360 41.600 0.00 0.00 H +HETATM 5 C3 MOL 1 32.700 31.610 43.660 0.00 0.00 C +HETATM 6 H3 MOL 1 31.980 30.810 43.700 0.00 0.00 H +HETATM 7 C4 MOL 1 33.650 31.690 44.690 0.00 0.00 C +HETATM 8 H4 MOL 1 33.640 31.090 45.590 0.00 0.00 H +HETATM 9 C5 MOL 1 34.720 32.580 44.670 0.00 0.00 C +HETATM 10 H5 MOL 1 35.380 32.750 45.510 0.00 0.00 H +HETATM 11 C6 MOL 1 34.890 33.390 43.540 0.00 0.00 C +HETATM 12 C7 MOL 1 36.040 34.360 43.420 0.00 0.00 C +HETATM 13 H6 MOL 1 36.550 34.120 42.490 0.00 0.00 H +HETATM 14 H7 MOL 1 36.760 33.990 44.150 0.00 0.00 H +HETATM 15 O1 MOL 1 35.680 35.720 43.490 0.00 0.00 O +HETATM 16 H8 MOL 1 34.860 35.660 43.950 0.00 0.00 H +HETATM 17 C1 MOL 2 14.570 36.070 55.020 0.00 0.00 C +HETATM 18 H1 MOL 2 13.800 35.340 55.200 0.00 0.00 H +HETATM 19 C2 MOL 2 14.770 37.030 56.020 0.00 0.00 C +HETATM 20 H2 MOL 2 14.260 36.900 56.960 0.00 0.00 H +HETATM 21 C3 MOL 2 15.590 38.130 55.760 0.00 0.00 C +HETATM 22 H3 MOL 2 15.740 38.930 56.480 0.00 0.00 H +HETATM 23 C4 MOL 2 16.210 38.270 54.520 0.00 0.00 C +HETATM 24 H4 MOL 2 16.740 39.170 54.240 0.00 0.00 H +HETATM 25 C5 MOL 2 16.140 37.220 53.590 0.00 0.00 C +HETATM 26 H5 MOL 2 16.570 37.450 52.630 0.00 0.00 H +HETATM 27 C6 MOL 2 15.180 36.220 53.770 0.00 0.00 C +HETATM 28 C7 MOL 2 14.780 35.320 52.630 0.00 0.00 C +HETATM 29 H6 MOL 2 14.480 35.820 51.710 0.00 0.00 H +HETATM 30 H7 MOL 2 13.780 34.980 52.880 0.00 0.00 H +HETATM 31 O1 MOL 2 15.540 34.160 52.380 0.00 0.00 O +HETATM 32 H8 MOL 2 15.210 33.820 51.550 0.00 0.00 H +HETATM 33 C1 MOL 3 53.030 46.960 19.920 0.00 0.00 C +HETATM 34 H1 MOL 3 52.360 47.740 20.230 0.00 0.00 H +HETATM 35 C2 MOL 3 52.780 45.620 20.270 0.00 0.00 C +HETATM 36 H2 MOL 3 51.810 45.400 20.690 0.00 0.00 H +HETATM 37 C3 MOL 3 53.670 44.630 19.840 0.00 0.00 C +HETATM 38 H3 MOL 3 53.330 43.610 19.760 0.00 0.00 H +HETATM 39 C4 MOL 3 54.840 44.950 19.150 0.00 0.00 C +HETATM 40 H4 MOL 3 55.520 44.140 18.920 0.00 0.00 H +HETATM 41 C5 MOL 3 55.100 46.310 18.930 0.00 0.00 C +HETATM 42 H5 MOL 3 55.990 46.620 18.400 0.00 0.00 H +HETATM 43 C6 MOL 3 54.220 47.330 19.300 0.00 0.00 C +HETATM 44 C7 MOL 3 54.420 48.790 18.950 0.00 0.00 C +HETATM 45 H6 MOL 3 54.030 49.020 17.950 0.00 0.00 H +HETATM 46 H7 MOL 3 55.470 49.080 18.860 0.00 0.00 H +HETATM 47 O1 MOL 3 53.830 49.590 19.950 0.00 0.00 O +HETATM 48 H8 MOL 3 54.280 49.360 20.750 0.00 0.00 H +HETATM 49 C1 MOL 4 52.050 7.350 35.430 0.00 0.00 C +HETATM 50 H1 MOL 4 52.570 7.510 34.500 0.00 0.00 H +HETATM 51 C2 MOL 4 52.590 7.610 36.690 0.00 0.00 C +HETATM 52 H2 MOL 4 53.550 8.060 36.900 0.00 0.00 H +HETATM 53 C3 MOL 4 51.890 7.190 37.830 0.00 0.00 C +HETATM 54 H3 MOL 4 52.280 7.370 38.820 0.00 0.00 H +HETATM 55 C4 MOL 4 50.670 6.510 37.730 0.00 0.00 C +HETATM 56 H4 MOL 4 50.020 6.150 38.510 0.00 0.00 H +HETATM 57 C5 MOL 4 50.100 6.400 36.460 0.00 0.00 C +HETATM 58 H5 MOL 4 49.190 5.830 36.420 0.00 0.00 H +HETATM 59 C6 MOL 4 50.810 6.730 35.290 0.00 0.00 C +HETATM 60 C7 MOL 4 50.350 6.260 33.930 0.00 0.00 C +HETATM 61 H6 MOL 4 50.320 7.130 33.280 0.00 0.00 H +HETATM 62 H7 MOL 4 49.320 5.920 34.010 0.00 0.00 H +HETATM 63 O1 MOL 4 51.130 5.140 33.570 0.00 0.00 O +HETATM 64 H8 MOL 4 51.150 4.590 34.340 0.00 0.00 H +HETATM 65 C1 MOL 5 17.510 5.400 13.430 0.00 0.00 C +HETATM 66 H1 MOL 5 18.040 5.720 12.540 0.00 0.00 H +HETATM 67 C2 MOL 5 17.300 6.080 14.630 0.00 0.00 C +HETATM 68 H2 MOL 5 17.680 7.080 14.750 0.00 0.00 H +HETATM 69 C3 MOL 5 16.430 5.610 15.620 0.00 0.00 C +HETATM 70 H3 MOL 5 16.120 6.220 16.460 0.00 0.00 H +HETATM 71 C4 MOL 5 15.800 4.400 15.310 0.00 0.00 C +HETATM 72 H4 MOL 5 15.010 4.080 15.970 0.00 0.00 H +HETATM 73 C5 MOL 5 16.030 3.640 14.160 0.00 0.00 C +HETATM 74 H5 MOL 5 15.570 2.700 13.900 0.00 0.00 H +HETATM 75 C6 MOL 5 16.870 4.180 13.170 0.00 0.00 C +HETATM 76 C7 MOL 5 17.070 3.380 11.910 0.00 0.00 C +HETATM 77 H6 MOL 5 17.070 2.320 12.170 0.00 0.00 H +HETATM 78 H7 MOL 5 18.050 3.710 11.560 0.00 0.00 H +HETATM 79 O1 MOL 5 16.090 3.590 10.920 0.00 0.00 O +HETATM 80 H8 MOL 5 15.870 4.500 11.030 0.00 0.00 H +HETATM 81 C1 MOL 6 19.040 23.750 31.480 0.00 0.00 C +HETATM 82 H1 MOL 6 18.130 24.170 31.870 0.00 0.00 H +HETATM 83 C2 MOL 6 19.880 22.890 32.200 0.00 0.00 C +HETATM 84 H2 MOL 6 19.590 22.520 33.170 0.00 0.00 H +HETATM 85 C3 MOL 6 21.180 22.580 31.810 0.00 0.00 C +HETATM 86 H3 MOL 6 21.670 21.910 32.500 0.00 0.00 H +HETATM 87 C4 MOL 6 21.680 23.050 30.580 0.00 0.00 C +HETATM 88 H4 MOL 6 22.710 22.810 30.360 0.00 0.00 H +HETATM 89 C5 MOL 6 20.870 23.910 29.830 0.00 0.00 C +HETATM 90 H5 MOL 6 21.260 24.200 28.870 0.00 0.00 H +HETATM 91 C6 MOL 6 19.640 24.330 30.350 0.00 0.00 C +HETATM 92 C7 MOL 6 18.810 25.280 29.530 0.00 0.00 C +HETATM 93 H6 MOL 6 17.920 24.760 29.160 0.00 0.00 H +HETATM 94 H7 MOL 6 19.390 25.440 28.620 0.00 0.00 H +HETATM 95 O1 MOL 6 18.310 26.380 30.250 0.00 0.00 O +HETATM 96 H8 MOL 6 17.530 26.040 30.670 0.00 0.00 H +HETATM 97 C1 MOL 7 11.640 54.470 40.200 0.00 0.00 C +HETATM 98 H1 MOL 7 12.100 53.520 40.450 0.00 0.00 H +HETATM 99 C2 MOL 7 12.120 55.210 39.120 0.00 0.00 C +HETATM 100 H2 MOL 7 13.020 54.890 38.620 0.00 0.00 H +HETATM 101 C3 MOL 7 11.580 56.460 38.770 0.00 0.00 C +HETATM 102 H3 MOL 7 11.910 56.940 37.860 0.00 0.00 H +HETATM 103 C4 MOL 7 10.490 56.960 39.490 0.00 0.00 C +HETATM 104 H4 MOL 7 10.100 57.940 39.310 0.00 0.00 H +HETATM 105 C5 MOL 7 9.920 56.100 40.440 0.00 0.00 C +HETATM 106 H5 MOL 7 9.210 56.440 41.180 0.00 0.00 H +HETATM 107 C6 MOL 7 10.510 54.920 40.900 0.00 0.00 C +HETATM 108 C7 MOL 7 9.860 54.060 41.960 0.00 0.00 C +HETATM 109 H6 MOL 7 10.240 54.360 42.940 0.00 0.00 H +HETATM 110 H7 MOL 7 10.150 53.040 41.710 0.00 0.00 H +HETATM 111 O1 MOL 7 8.450 54.140 41.970 0.00 0.00 O +HETATM 112 H8 MOL 7 8.160 53.930 41.100 0.00 0.00 H +HETATM 113 C1 MOL 8 11.020 44.460 50.070 0.00 0.00 C +HETATM 114 H1 MOL 8 11.030 44.140 49.030 0.00 0.00 H +HETATM 115 C2 MOL 8 12.120 44.130 50.870 0.00 0.00 C +HETATM 116 H2 MOL 8 12.920 43.510 50.520 0.00 0.00 H +HETATM 117 C3 MOL 8 12.140 44.680 52.160 0.00 0.00 C +HETATM 118 H3 MOL 8 12.990 44.500 52.810 0.00 0.00 H +HETATM 119 C4 MOL 8 11.070 45.420 52.670 0.00 0.00 C +HETATM 120 H4 MOL 8 11.100 45.590 53.740 0.00 0.00 H +HETATM 121 C5 MOL 8 9.860 45.480 51.960 0.00 0.00 C +HETATM 122 H5 MOL 8 8.970 45.900 52.400 0.00 0.00 H +HETATM 123 C6 MOL 8 9.890 45.070 50.620 0.00 0.00 C +HETATM 124 C7 MOL 8 8.620 45.320 49.860 0.00 0.00 C +HETATM 125 H6 MOL 8 7.800 44.940 50.470 0.00 0.00 H +HETATM 126 H7 MOL 8 8.540 44.710 48.950 0.00 0.00 H +HETATM 127 O1 MOL 8 8.560 46.640 49.390 0.00 0.00 O +HETATM 128 H8 MOL 8 7.970 46.750 48.660 0.00 0.00 H +HETATM 129 C1 MOL 9 27.330 38.290 18.100 0.00 0.00 C +HETATM 130 H1 MOL 9 28.110 37.980 17.420 0.00 0.00 H +HETATM 131 C2 MOL 9 26.610 37.400 18.900 0.00 0.00 C +HETATM 132 H2 MOL 9 26.750 36.330 18.810 0.00 0.00 H +HETATM 133 C3 MOL 9 25.540 37.880 19.670 0.00 0.00 C +HETATM 134 H3 MOL 9 24.900 37.220 20.240 0.00 0.00 H +HETATM 135 C4 MOL 9 25.340 39.270 19.770 0.00 0.00 C +HETATM 136 H4 MOL 9 24.560 39.710 20.360 0.00 0.00 H +HETATM 137 C5 MOL 9 26.180 40.170 19.110 0.00 0.00 C +HETATM 138 H5 MOL 9 26.030 41.240 19.190 0.00 0.00 H +HETATM 139 C6 MOL 9 27.150 39.670 18.230 0.00 0.00 C +HETATM 140 C7 MOL 9 28.050 40.620 17.470 0.00 0.00 C +HETATM 141 H6 MOL 9 29.100 40.570 17.770 0.00 0.00 H +HETATM 142 H7 MOL 9 27.820 41.650 17.750 0.00 0.00 H +HETATM 143 O1 MOL 9 27.860 40.650 16.080 0.00 0.00 O +HETATM 144 H8 MOL 9 26.980 40.810 15.770 0.00 0.00 H +HETATM 145 C1 MOL 10 32.210 53.250 10.260 0.00 0.00 C +HETATM 146 H1 MOL 10 32.600 52.720 11.120 0.00 0.00 H +HETATM 147 C2 MOL 10 32.310 52.640 9.000 0.00 0.00 C +HETATM 148 H2 MOL 10 32.820 51.690 8.980 0.00 0.00 H +HETATM 149 C3 MOL 10 32.030 53.330 7.820 0.00 0.00 C +HETATM 150 H3 MOL 10 32.150 52.840 6.860 0.00 0.00 H +HETATM 151 C4 MOL 10 31.720 54.690 7.920 0.00 0.00 C +HETATM 152 H4 MOL 10 31.530 55.330 7.070 0.00 0.00 H +HETATM 153 C5 MOL 10 31.560 55.300 9.160 0.00 0.00 C +HETATM 154 H5 MOL 10 31.110 56.280 9.250 0.00 0.00 H +HETATM 155 C6 MOL 10 31.790 54.580 10.340 0.00 0.00 C +HETATM 156 C7 MOL 10 31.540 55.170 11.710 0.00 0.00 C +HETATM 157 H6 MOL 10 31.420 56.250 11.690 0.00 0.00 H +HETATM 158 H7 MOL 10 32.320 54.900 12.420 0.00 0.00 H +HETATM 159 O1 MOL 10 30.230 54.730 12.010 0.00 0.00 O +HETATM 160 H8 MOL 10 29.640 54.970 11.320 0.00 0.00 H +HETATM 161 C1 MOL 11 8.010 41.140 23.610 0.00 0.00 C +HETATM 162 H1 MOL 11 7.580 41.570 22.720 0.00 0.00 H +HETATM 163 C2 MOL 11 7.900 41.820 24.830 0.00 0.00 C +HETATM 164 H2 MOL 11 7.400 42.780 24.800 0.00 0.00 H +HETATM 165 C3 MOL 11 8.220 41.140 26.010 0.00 0.00 C +HETATM 166 H3 MOL 11 7.960 41.570 26.960 0.00 0.00 H +HETATM 167 C4 MOL 11 8.670 39.810 25.950 0.00 0.00 C +HETATM 168 H4 MOL 11 8.650 39.230 26.860 0.00 0.00 H +HETATM 169 C5 MOL 11 8.760 39.150 24.730 0.00 0.00 C +HETATM 170 H5 MOL 11 8.970 38.090 24.660 0.00 0.00 H +HETATM 171 C6 MOL 11 8.490 39.830 23.530 0.00 0.00 C +HETATM 172 C7 MOL 11 8.540 39.120 22.200 0.00 0.00 C +HETATM 173 H6 MOL 11 7.530 38.740 22.080 0.00 0.00 H +HETATM 174 H7 MOL 11 9.210 38.270 22.060 0.00 0.00 H +HETATM 175 O1 MOL 11 8.860 39.990 21.130 0.00 0.00 O +HETATM 176 H8 MOL 11 9.650 40.430 21.410 0.00 0.00 H +HETATM 177 C1 MOL 12 42.810 54.170 24.680 0.00 0.00 C +HETATM 178 H1 MOL 12 43.270 53.300 25.130 0.00 0.00 H +HETATM 179 C2 MOL 12 43.110 54.560 23.370 0.00 0.00 C +HETATM 180 H2 MOL 12 43.560 53.840 22.710 0.00 0.00 H +HETATM 181 C3 MOL 12 42.690 55.810 22.900 0.00 0.00 C +HETATM 182 H3 MOL 12 43.010 56.280 21.980 0.00 0.00 H +HETATM 183 C4 MOL 12 41.770 56.540 23.670 0.00 0.00 C +HETATM 184 H4 MOL 12 41.320 57.450 23.310 0.00 0.00 H +HETATM 185 C5 MOL 12 41.440 56.120 24.960 0.00 0.00 C +HETATM 186 H5 MOL 12 40.960 56.830 25.620 0.00 0.00 H +HETATM 187 C6 MOL 12 41.970 54.940 25.490 0.00 0.00 C +HETATM 188 C7 MOL 12 41.800 54.670 26.970 0.00 0.00 C +HETATM 189 H6 MOL 12 41.740 53.590 27.070 0.00 0.00 H +HETATM 190 H7 MOL 12 40.940 55.190 27.400 0.00 0.00 H +HETATM 191 O1 MOL 12 43.010 55.100 27.540 0.00 0.00 O +HETATM 192 H8 MOL 12 43.650 54.430 27.330 0.00 0.00 H +HETATM 193 C1 MOL 13 26.930 19.200 9.990 0.00 0.00 C +HETATM 194 H1 MOL 13 27.050 18.330 10.630 0.00 0.00 H +HETATM 195 C2 MOL 13 28.030 19.920 9.510 0.00 0.00 C +HETATM 196 H2 MOL 13 29.020 19.550 9.750 0.00 0.00 H +HETATM 197 C3 MOL 13 27.940 21.080 8.740 0.00 0.00 C +HETATM 198 H3 MOL 13 28.810 21.560 8.310 0.00 0.00 H +HETATM 199 C4 MOL 13 26.650 21.480 8.340 0.00 0.00 C +HETATM 200 H4 MOL 13 26.470 22.300 7.670 0.00 0.00 H +HETATM 201 C5 MOL 13 25.530 20.760 8.770 0.00 0.00 C +HETATM 202 H5 MOL 13 24.560 21.210 8.680 0.00 0.00 H +HETATM 203 C6 MOL 13 25.660 19.690 9.660 0.00 0.00 C +HETATM 204 C7 MOL 13 24.410 19.110 10.290 0.00 0.00 C +HETATM 205 H6 MOL 13 23.480 19.510 9.900 0.00 0.00 H +HETATM 206 H7 MOL 13 24.510 19.390 11.340 0.00 0.00 H +HETATM 207 O1 MOL 13 24.390 17.700 10.240 0.00 0.00 O +HETATM 208 H8 MOL 13 24.060 17.350 11.050 0.00 0.00 H +HETATM 209 C1 MOL 14 44.430 19.870 34.300 0.00 0.00 C +HETATM 210 H1 MOL 14 45.290 19.220 34.150 0.00 0.00 H +HETATM 211 C2 MOL 14 44.590 21.240 34.540 0.00 0.00 C +HETATM 212 H2 MOL 14 45.600 21.580 34.650 0.00 0.00 H +HETATM 213 C3 MOL 14 43.420 21.970 34.780 0.00 0.00 C +HETATM 214 H3 MOL 14 43.480 23.010 35.040 0.00 0.00 H +HETATM 215 C4 MOL 14 42.130 21.420 34.750 0.00 0.00 C +HETATM 216 H4 MOL 14 41.270 22.010 35.010 0.00 0.00 H +HETATM 217 C5 MOL 14 42.020 20.060 34.440 0.00 0.00 C +HETATM 218 H5 MOL 14 41.040 19.610 34.400 0.00 0.00 H +HETATM 219 C6 MOL 14 43.170 19.270 34.280 0.00 0.00 C +HETATM 220 C7 MOL 14 42.930 17.810 33.960 0.00 0.00 C +HETATM 221 H6 MOL 14 42.150 17.790 33.210 0.00 0.00 H +HETATM 222 H7 MOL 14 42.740 17.130 34.790 0.00 0.00 H +HETATM 223 O1 MOL 14 44.040 17.300 33.270 0.00 0.00 O +HETATM 224 H8 MOL 14 44.170 17.970 32.610 0.00 0.00 H +HETATM 225 C1 MOL 15 20.830 53.030 51.440 0.00 0.00 C +HETATM 226 H1 MOL 15 21.710 52.410 51.530 0.00 0.00 H +HETATM 227 C2 MOL 15 20.060 53.140 50.280 0.00 0.00 C +HETATM 228 H2 MOL 15 20.340 52.480 49.470 0.00 0.00 H +HETATM 229 C3 MOL 15 18.910 53.930 50.150 0.00 0.00 C +HETATM 230 H3 MOL 15 18.270 54.050 49.290 0.00 0.00 H +HETATM 231 C4 MOL 15 18.550 54.710 51.260 0.00 0.00 C +HETATM 232 H4 MOL 15 17.770 55.440 51.140 0.00 0.00 H +HETATM 233 C5 MOL 15 19.350 54.740 52.410 0.00 0.00 C +HETATM 234 H5 MOL 15 19.090 55.350 53.260 0.00 0.00 H +HETATM 235 C6 MOL 15 20.430 53.850 52.500 0.00 0.00 C +HETATM 236 C7 MOL 15 21.200 53.750 53.800 0.00 0.00 C +HETATM 237 H6 MOL 15 21.320 54.810 54.040 0.00 0.00 H +HETATM 238 H7 MOL 15 22.180 53.330 53.550 0.00 0.00 H +HETATM 239 O1 MOL 15 20.370 53.090 54.720 0.00 0.00 O +HETATM 240 H8 MOL 15 20.160 52.240 54.360 0.00 0.00 H +HETATM 241 C1 MOL 16 13.540 44.440 31.440 0.00 0.00 C +HETATM 242 H1 MOL 16 13.240 44.050 30.480 0.00 0.00 H +HETATM 243 C2 MOL 16 12.550 44.580 32.420 0.00 0.00 C +HETATM 244 H2 MOL 16 11.490 44.560 32.210 0.00 0.00 H +HETATM 245 C3 MOL 16 12.800 45.090 33.700 0.00 0.00 C +HETATM 246 H3 MOL 16 11.990 45.170 34.410 0.00 0.00 H +HETATM 247 C4 MOL 16 14.140 45.380 33.980 0.00 0.00 C +HETATM 248 H4 MOL 16 14.470 45.750 34.940 0.00 0.00 H +HETATM 249 C5 MOL 16 15.150 45.280 33.010 0.00 0.00 C +HETATM 250 H5 MOL 16 16.210 45.440 33.150 0.00 0.00 H +HETATM 251 C6 MOL 16 14.840 44.850 31.720 0.00 0.00 C +HETATM 252 C7 MOL 16 15.880 44.550 30.660 0.00 0.00 C +HETATM 253 H6 MOL 16 16.210 45.420 30.080 0.00 0.00 H +HETATM 254 H7 MOL 16 15.460 43.930 29.870 0.00 0.00 H +HETATM 255 O1 MOL 16 16.960 43.900 31.280 0.00 0.00 O +HETATM 256 H8 MOL 16 16.680 43.300 31.960 0.00 0.00 H +HETATM 257 C1 MOL 17 47.660 51.400 11.710 0.00 0.00 C +HETATM 258 H1 MOL 17 48.600 51.290 12.230 0.00 0.00 H +HETATM 259 C2 MOL 17 47.000 50.260 11.220 0.00 0.00 C +HETATM 260 H2 MOL 17 47.330 49.250 11.420 0.00 0.00 H +HETATM 261 C3 MOL 17 45.830 50.450 10.480 0.00 0.00 C +HETATM 262 H3 MOL 17 45.270 49.660 10.000 0.00 0.00 H +HETATM 263 C4 MOL 17 45.470 51.760 10.150 0.00 0.00 C +HETATM 264 H4 MOL 17 44.560 51.930 9.590 0.00 0.00 H +HETATM 265 C5 MOL 17 46.120 52.900 10.630 0.00 0.00 C +HETATM 266 H5 MOL 17 45.930 53.890 10.230 0.00 0.00 H +HETATM 267 C6 MOL 17 47.250 52.710 11.440 0.00 0.00 C +HETATM 268 C7 MOL 17 48.010 53.910 11.940 0.00 0.00 C +HETATM 269 H6 MOL 17 49.050 53.780 11.630 0.00 0.00 H +HETATM 270 H7 MOL 17 47.950 53.810 13.020 0.00 0.00 H +HETATM 271 O1 MOL 17 47.560 55.190 11.560 0.00 0.00 O +HETATM 272 H8 MOL 17 47.610 55.260 10.620 0.00 0.00 H +HETATM 273 C1 MOL 18 27.620 26.150 20.340 0.00 0.00 C +HETATM 274 H1 MOL 18 27.080 25.720 19.510 0.00 0.00 H +HETATM 275 C2 MOL 18 28.970 25.950 20.640 0.00 0.00 C +HETATM 276 H2 MOL 18 29.630 25.300 20.080 0.00 0.00 H +HETATM 277 C3 MOL 18 29.560 26.490 21.780 0.00 0.00 C +HETATM 278 H3 MOL 18 30.640 26.490 21.830 0.00 0.00 H +HETATM 279 C4 MOL 18 28.810 27.240 22.700 0.00 0.00 C +HETATM 280 H4 MOL 18 29.290 27.710 23.550 0.00 0.00 H +HETATM 281 C5 MOL 18 27.490 27.540 22.350 0.00 0.00 C +HETATM 282 H5 MOL 18 27.000 28.270 22.970 0.00 0.00 H +HETATM 283 C6 MOL 18 26.890 26.970 21.220 0.00 0.00 C +HETATM 284 C7 MOL 18 25.560 27.450 20.700 0.00 0.00 C +HETATM 285 H6 MOL 18 25.020 26.680 20.130 0.00 0.00 H +HETATM 286 H7 MOL 18 25.520 28.380 20.140 0.00 0.00 H +HETATM 287 O1 MOL 18 24.680 27.690 21.770 0.00 0.00 O +HETATM 288 H8 MOL 18 24.950 26.970 22.310 0.00 0.00 H +HETATM 289 C1 MOL 19 13.850 30.050 23.360 0.00 0.00 C +HETATM 290 H1 MOL 19 13.590 29.500 24.250 0.00 0.00 H +HETATM 291 C2 MOL 19 15.090 30.680 23.210 0.00 0.00 C +HETATM 292 H2 MOL 19 15.810 30.500 24.000 0.00 0.00 H +HETATM 293 C3 MOL 19 15.420 31.450 22.090 0.00 0.00 C +HETATM 294 H3 MOL 19 16.310 32.030 21.930 0.00 0.00 H +HETATM 295 C4 MOL 19 14.480 31.660 21.070 0.00 0.00 C +HETATM 296 H4 MOL 19 14.660 32.270 20.190 0.00 0.00 H +HETATM 297 C5 MOL 19 13.200 31.150 21.270 0.00 0.00 C +HETATM 298 H5 MOL 19 12.430 31.250 20.510 0.00 0.00 H +HETATM 299 C6 MOL 19 12.920 30.310 22.350 0.00 0.00 C +HETATM 300 C7 MOL 19 11.510 29.760 22.420 0.00 0.00 C +HETATM 301 H6 MOL 19 11.550 28.680 22.520 0.00 0.00 H +HETATM 302 H7 MOL 19 11.030 29.920 21.450 0.00 0.00 H +HETATM 303 O1 MOL 19 10.740 30.440 23.380 0.00 0.00 O +HETATM 304 H8 MOL 19 11.050 31.300 23.580 0.00 0.00 H +HETATM 305 C1 MOL 20 40.310 9.720 31.190 0.00 0.00 C +HETATM 306 H1 MOL 20 40.360 10.550 31.880 0.00 0.00 H +HETATM 307 C2 MOL 20 41.450 8.970 30.890 0.00 0.00 C +HETATM 308 H2 MOL 20 42.400 9.240 31.330 0.00 0.00 H +HETATM 309 C3 MOL 20 41.350 7.790 30.130 0.00 0.00 C +HETATM 310 H3 MOL 20 42.230 7.240 29.840 0.00 0.00 H +HETATM 311 C4 MOL 20 40.120 7.400 29.590 0.00 0.00 C +HETATM 312 H4 MOL 20 40.040 6.480 29.030 0.00 0.00 H +HETATM 313 C5 MOL 20 39.000 8.210 29.850 0.00 0.00 C +HETATM 314 H5 MOL 20 38.090 7.860 29.380 0.00 0.00 H +HETATM 315 C6 MOL 20 39.080 9.370 30.630 0.00 0.00 C +HETATM 316 C7 MOL 20 37.840 10.180 30.920 0.00 0.00 C +HETATM 317 H6 MOL 20 37.440 10.340 29.920 0.00 0.00 H +HETATM 318 H7 MOL 20 38.080 11.180 31.300 0.00 0.00 H +HETATM 319 O1 MOL 20 36.940 9.430 31.700 0.00 0.00 O +HETATM 320 H8 MOL 20 36.370 8.980 31.100 0.00 0.00 H +HETATM 321 C1 MOL 21 38.650 21.460 24.160 0.00 0.00 C +HETATM 322 H1 MOL 21 38.110 20.540 24.280 0.00 0.00 H +HETATM 323 C2 MOL 21 38.080 22.570 24.780 0.00 0.00 C +HETATM 324 H2 MOL 21 37.080 22.400 25.160 0.00 0.00 H +HETATM 325 C3 MOL 21 38.700 23.820 24.690 0.00 0.00 C +HETATM 326 H3 MOL 21 38.260 24.680 25.160 0.00 0.00 H +HETATM 327 C4 MOL 21 39.830 23.950 23.860 0.00 0.00 C +HETATM 328 H4 MOL 21 40.280 24.930 23.710 0.00 0.00 H +HETATM 329 C5 MOL 21 40.460 22.850 23.270 0.00 0.00 C +HETATM 330 H5 MOL 21 41.380 23.020 22.720 0.00 0.00 H +HETATM 331 C6 MOL 21 39.860 21.600 23.460 0.00 0.00 C +HETATM 332 C7 MOL 21 40.570 20.340 23.040 0.00 0.00 C +HETATM 333 H6 MOL 21 41.520 20.530 22.540 0.00 0.00 H +HETATM 334 H7 MOL 21 40.050 19.820 22.240 0.00 0.00 H +HETATM 335 O1 MOL 21 40.710 19.570 24.220 0.00 0.00 O +HETATM 336 H8 MOL 21 41.480 19.980 24.580 0.00 0.00 H +HETATM 337 C1 MOL 22 42.530 13.250 46.420 0.00 0.00 C +HETATM 338 H1 MOL 22 41.480 13.480 46.390 0.00 0.00 H +HETATM 339 C2 MOL 22 43.280 13.310 45.230 0.00 0.00 C +HETATM 340 H2 MOL 22 42.750 13.620 44.340 0.00 0.00 H +HETATM 341 C3 MOL 22 44.640 13.020 45.230 0.00 0.00 C +HETATM 342 H3 MOL 22 45.290 13.080 44.370 0.00 0.00 H +HETATM 343 C4 MOL 22 45.250 12.560 46.400 0.00 0.00 C +HETATM 344 H4 MOL 22 46.290 12.270 46.390 0.00 0.00 H +HETATM 345 C5 MOL 22 44.500 12.430 47.570 0.00 0.00 C +HETATM 346 H5 MOL 22 45.060 12.130 48.440 0.00 0.00 H +HETATM 347 C6 MOL 22 43.150 12.820 47.600 0.00 0.00 C +HETATM 348 C7 MOL 22 42.380 12.790 48.900 0.00 0.00 C +HETATM 349 H6 MOL 22 41.330 12.990 48.660 0.00 0.00 H +HETATM 350 H7 MOL 22 42.710 13.470 49.680 0.00 0.00 H +HETATM 351 O1 MOL 22 42.470 11.500 49.450 0.00 0.00 O +HETATM 352 H8 MOL 22 42.020 10.900 48.880 0.00 0.00 H +HETATM 353 C1 MOL 23 25.620 48.380 26.290 0.00 0.00 C +HETATM 354 H1 MOL 23 25.490 49.240 25.650 0.00 0.00 H +HETATM 355 C2 MOL 23 25.830 47.140 25.680 0.00 0.00 C +HETATM 356 H2 MOL 23 26.070 46.940 24.650 0.00 0.00 H +HETATM 357 C3 MOL 23 25.830 46.020 26.520 0.00 0.00 C +HETATM 358 H3 MOL 23 26.000 45.060 26.050 0.00 0.00 H +HETATM 359 C4 MOL 23 25.430 46.110 27.860 0.00 0.00 C +HETATM 360 H4 MOL 23 25.230 45.250 28.490 0.00 0.00 H +HETATM 361 C5 MOL 23 25.300 47.370 28.450 0.00 0.00 C +HETATM 362 H5 MOL 23 25.060 47.540 29.490 0.00 0.00 H +HETATM 363 C6 MOL 23 25.420 48.520 27.670 0.00 0.00 C +HETATM 364 C7 MOL 23 25.200 49.910 28.220 0.00 0.00 C +HETATM 365 H6 MOL 23 25.340 50.580 27.370 0.00 0.00 H +HETATM 366 H7 MOL 23 26.000 50.240 28.880 0.00 0.00 H +HETATM 367 O1 MOL 23 23.960 49.960 28.890 0.00 0.00 O +HETATM 368 H8 MOL 23 23.310 49.800 28.230 0.00 0.00 H +HETATM 369 C1 MOL 24 5.240 34.130 4.130 0.00 0.00 C +HETATM 370 H1 MOL 24 5.100 33.150 3.700 0.00 0.00 H +HETATM 371 C2 MOL 24 4.920 35.220 3.320 0.00 0.00 C +HETATM 372 H2 MOL 24 4.400 35.120 2.370 0.00 0.00 H +HETATM 373 C3 MOL 24 5.120 36.530 3.790 0.00 0.00 C +HETATM 374 H3 MOL 24 4.770 37.410 3.280 0.00 0.00 H +HETATM 375 C4 MOL 24 5.540 36.700 5.120 0.00 0.00 C +HETATM 376 H4 MOL 24 5.490 37.700 5.520 0.00 0.00 H +HETATM 377 C5 MOL 24 5.840 35.620 5.960 0.00 0.00 C +HETATM 378 H5 MOL 24 6.130 35.810 6.990 0.00 0.00 H +HETATM 379 C6 MOL 24 5.730 34.340 5.420 0.00 0.00 C +HETATM 380 C7 MOL 24 6.070 33.070 6.170 0.00 0.00 C +HETATM 381 H6 MOL 24 6.930 33.280 6.810 0.00 0.00 H +HETATM 382 H7 MOL 24 6.370 32.260 5.490 0.00 0.00 H +HETATM 383 O1 MOL 24 5.030 32.660 7.030 0.00 0.00 O +HETATM 384 H8 MOL 24 4.730 33.450 7.450 0.00 0.00 H +HETATM 385 C1 MOL 25 32.050 28.260 33.460 0.00 0.00 C +HETATM 386 H1 MOL 25 32.940 28.210 34.060 0.00 0.00 H +HETATM 387 C2 MOL 25 32.260 28.030 32.090 0.00 0.00 C +HETATM 388 H2 MOL 25 33.230 27.930 31.640 0.00 0.00 H +HETATM 389 C3 MOL 25 31.170 27.870 31.230 0.00 0.00 C +HETATM 390 H3 MOL 25 31.290 27.710 30.160 0.00 0.00 H +HETATM 391 C4 MOL 25 29.860 28.070 31.670 0.00 0.00 C +HETATM 392 H4 MOL 25 29.100 27.850 30.930 0.00 0.00 H +HETATM 393 C5 MOL 25 29.670 28.330 33.030 0.00 0.00 C +HETATM 394 H5 MOL 25 28.660 28.480 33.380 0.00 0.00 H +HETATM 395 C6 MOL 25 30.730 28.380 33.930 0.00 0.00 C +HETATM 396 C7 MOL 25 30.540 28.410 35.430 0.00 0.00 C +HETATM 397 H6 MOL 25 30.300 29.420 35.760 0.00 0.00 H +HETATM 398 H7 MOL 25 31.490 28.190 35.910 0.00 0.00 H +HETATM 399 O1 MOL 25 29.430 27.650 35.840 0.00 0.00 O +HETATM 400 H8 MOL 25 29.560 26.780 35.480 0.00 0.00 H +HETATM 401 C1 MOL 26 13.270 30.250 13.510 0.00 0.00 C +HETATM 402 H1 MOL 26 14.190 29.710 13.370 0.00 0.00 H +HETATM 403 C2 MOL 26 12.180 29.670 12.860 0.00 0.00 C +HETATM 404 H2 MOL 26 12.240 28.730 12.330 0.00 0.00 H +HETATM 405 C3 MOL 26 11.010 30.440 12.800 0.00 0.00 C +HETATM 406 H3 MOL 26 10.160 30.050 12.250 0.00 0.00 H +HETATM 407 C4 MOL 26 11.030 31.760 13.250 0.00 0.00 C +HETATM 408 H4 MOL 26 10.240 32.480 13.070 0.00 0.00 H +HETATM 409 C5 MOL 26 12.100 32.340 13.930 0.00 0.00 C +HETATM 410 H5 MOL 26 12.180 33.350 14.290 0.00 0.00 H +HETATM 411 C6 MOL 26 13.240 31.540 14.060 0.00 0.00 C +HETATM 412 C7 MOL 26 14.580 32.120 14.460 0.00 0.00 C +HETATM 413 H6 MOL 26 15.060 31.470 15.200 0.00 0.00 H +HETATM 414 H7 MOL 26 14.370 32.970 15.110 0.00 0.00 H +HETATM 415 O1 MOL 26 15.380 32.630 13.420 0.00 0.00 O +HETATM 416 H8 MOL 26 15.860 33.330 13.830 0.00 0.00 H +HETATM 417 C1 MOL 27 15.910 6.890 39.150 0.00 0.00 C +HETATM 418 H1 MOL 27 16.220 6.770 38.130 0.00 0.00 H +HETATM 419 C2 MOL 27 14.800 7.710 39.420 0.00 0.00 C +HETATM 420 H2 MOL 27 14.240 8.120 38.590 0.00 0.00 H +HETATM 421 C3 MOL 27 14.470 7.950 40.760 0.00 0.00 C +HETATM 422 H3 MOL 27 13.730 8.700 40.960 0.00 0.00 H +HETATM 423 C4 MOL 27 15.140 7.340 41.830 0.00 0.00 C +HETATM 424 H4 MOL 27 14.800 7.580 42.830 0.00 0.00 H +HETATM 425 C5 MOL 27 16.140 6.410 41.550 0.00 0.00 C +HETATM 426 H5 MOL 27 16.600 5.870 42.370 0.00 0.00 H +HETATM 427 C6 MOL 27 16.590 6.310 40.230 0.00 0.00 C +HETATM 428 C7 MOL 27 17.750 5.420 39.830 0.00 0.00 C +HETATM 429 H6 MOL 27 17.730 5.410 38.740 0.00 0.00 H +HETATM 430 H7 MOL 27 17.660 4.400 40.180 0.00 0.00 H +HETATM 431 O1 MOL 27 18.940 5.840 40.450 0.00 0.00 O +HETATM 432 H8 MOL 27 19.030 6.780 40.470 0.00 0.00 H +HETATM 433 C1 MOL 28 26.880 10.430 6.150 0.00 0.00 C +HETATM 434 H1 MOL 28 27.560 9.600 6.250 0.00 0.00 H +HETATM 435 C2 MOL 28 25.670 10.400 6.860 0.00 0.00 C +HETATM 436 H2 MOL 28 25.530 9.600 7.570 0.00 0.00 H +HETATM 437 C3 MOL 28 24.770 11.460 6.740 0.00 0.00 C +HETATM 438 H3 MOL 28 23.780 11.400 7.180 0.00 0.00 H +HETATM 439 C4 MOL 28 25.050 12.490 5.830 0.00 0.00 C +HETATM 440 H4 MOL 28 24.310 13.270 5.690 0.00 0.00 H +HETATM 441 C5 MOL 28 26.200 12.440 5.030 0.00 0.00 C +HETATM 442 H5 MOL 28 26.490 13.320 4.480 0.00 0.00 H +HETATM 443 C6 MOL 28 27.170 11.450 5.240 0.00 0.00 C +HETATM 444 C7 MOL 28 28.540 11.580 4.620 0.00 0.00 C +HETATM 445 H6 MOL 28 29.100 10.660 4.770 0.00 0.00 H +HETATM 446 H7 MOL 28 29.120 12.440 4.960 0.00 0.00 H +HETATM 447 O1 MOL 28 28.420 11.750 3.220 0.00 0.00 O +HETATM 448 H8 MOL 28 27.570 12.150 3.080 0.00 0.00 H +HETATM 449 C1 MOL 29 43.180 33.200 27.010 0.00 0.00 C +HETATM 450 H1 MOL 29 42.290 32.600 27.140 0.00 0.00 H +HETATM 451 C2 MOL 29 43.380 34.060 25.920 0.00 0.00 C +HETATM 452 H2 MOL 29 42.620 34.140 25.150 0.00 0.00 H +HETATM 453 C3 MOL 29 44.500 34.890 25.940 0.00 0.00 C +HETATM 454 H3 MOL 29 44.510 35.640 25.160 0.00 0.00 H +HETATM 455 C4 MOL 29 45.480 34.700 26.920 0.00 0.00 C +HETATM 456 H4 MOL 29 46.390 35.280 26.850 0.00 0.00 H +HETATM 457 C5 MOL 29 45.330 33.730 27.910 0.00 0.00 C +HETATM 458 H5 MOL 29 46.110 33.640 28.660 0.00 0.00 H +HETATM 459 C6 MOL 29 44.160 32.970 27.980 0.00 0.00 C +HETATM 460 C7 MOL 29 43.930 31.940 29.060 0.00 0.00 C +HETATM 461 H6 MOL 29 44.860 31.390 29.210 0.00 0.00 H +HETATM 462 H7 MOL 29 43.190 31.160 28.900 0.00 0.00 H +HETATM 463 O1 MOL 29 43.660 32.620 30.270 0.00 0.00 O +HETATM 464 H8 MOL 29 42.800 33.000 30.250 0.00 0.00 H +HETATM 465 C1 MOL 30 44.940 22.610 15.410 0.00 0.00 C +HETATM 466 H1 MOL 30 44.430 22.910 14.510 0.00 0.00 H +HETATM 467 C2 MOL 30 46.330 22.510 15.540 0.00 0.00 C +HETATM 468 H2 MOL 30 46.970 22.800 14.720 0.00 0.00 H +HETATM 469 C3 MOL 30 46.870 22.160 16.780 0.00 0.00 C +HETATM 470 H3 MOL 30 47.940 22.020 16.840 0.00 0.00 H +HETATM 471 C4 MOL 30 46.040 21.880 17.880 0.00 0.00 C +HETATM 472 H4 MOL 30 46.410 21.630 18.860 0.00 0.00 H +HETATM 473 C5 MOL 30 44.650 21.890 17.730 0.00 0.00 C +HETATM 474 H5 MOL 30 44.020 21.670 18.570 0.00 0.00 H +HETATM 475 C6 MOL 30 44.120 22.300 16.500 0.00 0.00 C +HETATM 476 C7 MOL 30 42.630 22.490 16.320 0.00 0.00 C +HETATM 477 H6 MOL 30 42.430 22.140 15.300 0.00 0.00 H +HETATM 478 H7 MOL 30 42.200 23.490 16.300 0.00 0.00 H +HETATM 479 O1 MOL 30 41.880 21.670 17.190 0.00 0.00 O +HETATM 480 H8 MOL 30 41.010 21.610 16.840 0.00 0.00 H +HETATM 481 C1 MOL 31 50.890 50.100 44.670 0.00 0.00 C +HETATM 482 H1 MOL 31 51.360 50.700 43.900 0.00 0.00 H +HETATM 483 C2 MOL 31 50.570 50.700 45.890 0.00 0.00 C +HETATM 484 H2 MOL 31 50.760 51.760 46.040 0.00 0.00 H +HETATM 485 C3 MOL 31 49.900 49.940 46.850 0.00 0.00 C +HETATM 486 H3 MOL 31 49.530 50.380 47.770 0.00 0.00 H +HETATM 487 C4 MOL 31 49.740 48.560 46.660 0.00 0.00 C +HETATM 488 H4 MOL 31 49.310 47.980 47.460 0.00 0.00 H +HETATM 489 C5 MOL 31 50.240 47.950 45.500 0.00 0.00 C +HETATM 490 H5 MOL 31 50.040 46.920 45.250 0.00 0.00 H +HETATM 491 C6 MOL 31 50.800 48.720 44.470 0.00 0.00 C +HETATM 492 C7 MOL 31 51.250 48.130 43.160 0.00 0.00 C +HETATM 493 H6 MOL 31 51.320 48.960 42.450 0.00 0.00 H +HETATM 494 H7 MOL 31 50.410 47.520 42.830 0.00 0.00 H +HETATM 495 O1 MOL 31 52.530 47.540 43.160 0.00 0.00 O +HETATM 496 H8 MOL 31 52.630 47.180 44.020 0.00 0.00 H +HETATM 497 C1 MOL 32 43.000 40.580 7.900 0.00 0.00 C +HETATM 498 H1 MOL 32 43.520 41.490 8.160 0.00 0.00 H +HETATM 499 C2 MOL 32 41.860 40.140 8.590 0.00 0.00 C +HETATM 500 H2 MOL 32 41.450 40.690 9.420 0.00 0.00 H +HETATM 501 C3 MOL 32 41.140 39.020 8.160 0.00 0.00 C +HETATM 502 H3 MOL 32 40.340 38.650 8.790 0.00 0.00 H +HETATM 503 C4 MOL 32 41.470 38.370 6.970 0.00 0.00 C +HETATM 504 H4 MOL 32 40.960 37.450 6.720 0.00 0.00 H +HETATM 505 C5 MOL 32 42.610 38.780 6.270 0.00 0.00 C +HETATM 506 H5 MOL 32 42.920 38.470 5.290 0.00 0.00 H +HETATM 507 C6 MOL 32 43.370 39.860 6.760 0.00 0.00 C +HETATM 508 C7 MOL 32 44.630 40.170 5.990 0.00 0.00 C +HETATM 509 H6 MOL 32 44.710 39.500 5.130 0.00 0.00 H +HETATM 510 H7 MOL 32 45.460 40.040 6.690 0.00 0.00 H +HETATM 511 O1 MOL 32 44.560 41.480 5.460 0.00 0.00 O +HETATM 512 H8 MOL 32 45.460 41.700 5.270 0.00 0.00 H +HETATM 513 C1 MOL 33 34.480 47.160 8.050 0.00 0.00 C +HETATM 514 H1 MOL 33 34.910 46.390 7.430 0.00 0.00 H +HETATM 515 C2 MOL 33 35.060 47.510 9.270 0.00 0.00 C +HETATM 516 H2 MOL 33 35.960 47.000 9.600 0.00 0.00 H +HETATM 517 C3 MOL 33 34.510 48.540 10.040 0.00 0.00 C +HETATM 518 H3 MOL 33 34.940 48.760 11.010 0.00 0.00 H +HETATM 519 C4 MOL 33 33.310 49.150 9.670 0.00 0.00 C +HETATM 520 H4 MOL 33 32.840 49.990 10.170 0.00 0.00 H +HETATM 521 C5 MOL 33 32.770 48.840 8.410 0.00 0.00 C +HETATM 522 H5 MOL 33 31.880 49.370 8.140 0.00 0.00 H +HETATM 523 C6 MOL 33 33.410 47.930 7.560 0.00 0.00 C +HETATM 524 C7 MOL 33 32.950 47.670 6.150 0.00 0.00 C +HETATM 525 H6 MOL 33 33.370 46.710 5.840 0.00 0.00 H +HETATM 526 H7 MOL 33 33.390 48.440 5.520 0.00 0.00 H +HETATM 527 O1 MOL 33 31.560 47.410 6.150 0.00 0.00 O +HETATM 528 H8 MOL 33 31.480 46.910 6.950 0.00 0.00 H +HETATM 529 C1 MOL 34 43.780 32.570 15.710 0.00 0.00 C +HETATM 530 H1 MOL 34 44.220 31.620 15.430 0.00 0.00 H +HETATM 531 C2 MOL 34 44.020 33.770 15.030 0.00 0.00 C +HETATM 532 H2 MOL 34 44.780 33.770 14.270 0.00 0.00 H +HETATM 533 C3 MOL 34 43.310 34.930 15.370 0.00 0.00 C +HETATM 534 H3 MOL 34 43.480 35.870 14.870 0.00 0.00 H +HETATM 535 C4 MOL 34 42.420 34.910 16.450 0.00 0.00 C +HETATM 536 H4 MOL 34 41.980 35.780 16.910 0.00 0.00 H +HETATM 537 C5 MOL 34 42.190 33.710 17.130 0.00 0.00 C +HETATM 538 H5 MOL 34 41.510 33.670 17.970 0.00 0.00 H +HETATM 539 C6 MOL 34 42.790 32.520 16.700 0.00 0.00 C +HETATM 540 C7 MOL 34 42.510 31.240 17.460 0.00 0.00 C +HETATM 541 H6 MOL 34 42.920 30.380 16.930 0.00 0.00 H +HETATM 542 H7 MOL 34 41.470 30.960 17.640 0.00 0.00 H +HETATM 543 O1 MOL 34 43.350 31.320 18.590 0.00 0.00 O +HETATM 544 H8 MOL 34 43.090 32.110 19.040 0.00 0.00 H +HETATM 545 C1 MOL 35 25.300 10.880 1.940 0.00 0.00 C +HETATM 546 H1 MOL 35 26.030 11.400 1.340 0.00 0.00 H +HETATM 547 C2 MOL 35 25.670 9.970 2.940 0.00 0.00 C +HETATM 548 H2 MOL 35 26.710 9.680 3.070 0.00 0.00 H +HETATM 549 C3 MOL 35 24.710 9.330 3.720 0.00 0.00 C +HETATM 550 H3 MOL 35 25.170 8.790 4.530 0.00 0.00 H +HETATM 551 C4 MOL 35 23.360 9.630 3.500 0.00 0.00 C +HETATM 552 H4 MOL 35 22.570 9.190 4.090 0.00 0.00 H +HETATM 553 C5 MOL 35 22.990 10.560 2.520 0.00 0.00 C +HETATM 554 H5 MOL 35 21.920 10.700 2.420 0.00 0.00 H +HETATM 555 C6 MOL 35 23.950 11.200 1.730 0.00 0.00 C +HETATM 556 C7 MOL 35 23.490 12.080 0.600 0.00 0.00 C +HETATM 557 H6 MOL 35 22.590 11.670 0.150 0.00 0.00 H +HETATM 558 H7 MOL 35 24.250 12.050 -0.180 0.00 0.00 H +HETATM 559 O1 MOL 35 23.190 13.380 1.070 0.00 0.00 O +HETATM 560 H8 MOL 35 23.060 13.270 2.000 0.00 0.00 H +HETATM 561 C1 MOL 36 46.960 7.810 38.600 0.00 0.00 C +HETATM 562 H1 MOL 36 46.980 8.520 39.420 0.00 0.00 H +HETATM 563 C2 MOL 36 47.010 8.250 37.270 0.00 0.00 C +HETATM 564 H2 MOL 36 47.270 9.260 37.010 0.00 0.00 H +HETATM 565 C3 MOL 36 46.930 7.340 36.210 0.00 0.00 C +HETATM 566 H3 MOL 36 47.160 7.660 35.200 0.00 0.00 H +HETATM 567 C4 MOL 36 46.560 6.010 36.450 0.00 0.00 C +HETATM 568 H4 MOL 36 46.340 5.340 35.630 0.00 0.00 H +HETATM 569 C5 MOL 36 46.420 5.610 37.790 0.00 0.00 C +HETATM 570 H5 MOL 36 46.170 4.580 37.980 0.00 0.00 H +HETATM 571 C6 MOL 36 46.680 6.470 38.860 0.00 0.00 C +HETATM 572 C7 MOL 36 46.460 6.060 40.290 0.00 0.00 C +HETATM 573 H6 MOL 36 46.410 6.970 40.890 0.00 0.00 H +HETATM 574 H7 MOL 36 47.310 5.460 40.610 0.00 0.00 H +HETATM 575 O1 MOL 36 45.250 5.350 40.450 0.00 0.00 O +HETATM 576 H8 MOL 36 45.010 5.070 39.580 0.00 0.00 H +HETATM 577 C1 MOL 37 12.470 26.070 12.170 0.00 0.00 C +HETATM 578 H1 MOL 37 11.460 25.790 12.440 0.00 0.00 H +HETATM 579 C2 MOL 37 12.810 26.060 10.810 0.00 0.00 C +HETATM 580 H2 MOL 37 12.010 25.790 10.140 0.00 0.00 H +HETATM 581 C3 MOL 37 14.110 26.400 10.430 0.00 0.00 C +HETATM 582 H3 MOL 37 14.370 26.380 9.380 0.00 0.00 H +HETATM 583 C4 MOL 37 15.110 26.590 11.390 0.00 0.00 C +HETATM 584 H4 MOL 37 16.110 26.830 11.080 0.00 0.00 H +HETATM 585 C5 MOL 37 14.780 26.470 12.750 0.00 0.00 C +HETATM 586 H5 MOL 37 15.580 26.620 13.460 0.00 0.00 H +HETATM 587 C6 MOL 37 13.470 26.200 13.140 0.00 0.00 C +HETATM 588 C7 MOL 37 13.060 26.090 14.590 0.00 0.00 C +HETATM 589 H6 MOL 37 12.190 26.730 14.740 0.00 0.00 H +HETATM 590 H7 MOL 37 13.900 26.470 15.160 0.00 0.00 H +HETATM 591 O1 MOL 37 12.830 24.780 15.060 0.00 0.00 O +HETATM 592 H8 MOL 37 13.010 24.700 15.990 0.00 0.00 H +HETATM 593 C1 MOL 38 16.600 6.680 5.710 0.00 0.00 C +HETATM 594 H1 MOL 38 16.430 7.740 5.640 0.00 0.00 H +HETATM 595 C2 MOL 38 17.670 6.140 4.990 0.00 0.00 C +HETATM 596 H2 MOL 38 18.270 6.900 4.510 0.00 0.00 H +HETATM 597 C3 MOL 38 18.020 4.810 5.210 0.00 0.00 C +HETATM 598 H3 MOL 38 18.930 4.480 4.740 0.00 0.00 H +HETATM 599 C4 MOL 38 17.210 3.960 5.980 0.00 0.00 C +HETATM 600 H4 MOL 38 17.510 2.930 6.100 0.00 0.00 H +HETATM 601 C5 MOL 38 16.150 4.520 6.710 0.00 0.00 C +HETATM 602 H5 MOL 38 15.510 3.900 7.320 0.00 0.00 H +HETATM 603 C6 MOL 38 15.840 5.880 6.580 0.00 0.00 C +HETATM 604 C7 MOL 38 14.620 6.430 7.280 0.00 0.00 C +HETATM 605 H6 MOL 38 13.950 5.650 7.630 0.00 0.00 H +HETATM 606 H7 MOL 38 14.170 7.270 6.750 0.00 0.00 H +HETATM 607 O1 MOL 38 15.190 7.020 8.430 0.00 0.00 O +HETATM 608 H8 MOL 38 15.890 7.530 8.040 0.00 0.00 H +HETATM 609 C1 MOL 39 5.150 25.080 36.780 0.00 0.00 C +HETATM 610 H1 MOL 39 4.290 25.250 37.410 0.00 0.00 H +HETATM 611 C2 MOL 39 5.160 25.780 35.570 0.00 0.00 C +HETATM 612 H2 MOL 39 4.360 26.460 35.290 0.00 0.00 H +HETATM 613 C3 MOL 39 6.190 25.530 34.660 0.00 0.00 C +HETATM 614 H3 MOL 39 6.120 25.810 33.620 0.00 0.00 H +HETATM 615 C4 MOL 39 7.280 24.730 35.060 0.00 0.00 C +HETATM 616 H4 MOL 39 8.060 24.530 34.350 0.00 0.00 H +HETATM 617 C5 MOL 39 7.310 24.150 36.340 0.00 0.00 C +HETATM 618 H5 MOL 39 8.200 23.580 36.580 0.00 0.00 H +HETATM 619 C6 MOL 39 6.240 24.310 37.220 0.00 0.00 C +HETATM 620 C7 MOL 39 6.280 23.630 38.570 0.00 0.00 C +HETATM 621 H6 MOL 39 7.200 23.060 38.660 0.00 0.00 H +HETATM 622 H7 MOL 39 5.470 22.900 38.630 0.00 0.00 H +HETATM 623 O1 MOL 39 6.060 24.480 39.680 0.00 0.00 O +HETATM 624 H8 MOL 39 5.810 25.330 39.350 0.00 0.00 H +HETATM 625 C1 MOL 40 35.650 19.010 27.520 0.00 0.00 C +HETATM 626 H1 MOL 40 35.080 18.160 27.170 0.00 0.00 H +HETATM 627 C2 MOL 40 37.040 18.870 27.360 0.00 0.00 C +HETATM 628 H2 MOL 40 37.570 18.040 26.920 0.00 0.00 H +HETATM 629 C3 MOL 40 37.870 19.940 27.690 0.00 0.00 C +HETATM 630 H3 MOL 40 38.910 19.680 27.570 0.00 0.00 H +HETATM 631 C4 MOL 40 37.380 21.030 28.410 0.00 0.00 C +HETATM 632 H4 MOL 40 38.030 21.840 28.720 0.00 0.00 H +HETATM 633 C5 MOL 40 35.990 21.160 28.510 0.00 0.00 C +HETATM 634 H5 MOL 40 35.640 22.080 28.960 0.00 0.00 H +HETATM 635 C6 MOL 40 35.100 20.190 28.030 0.00 0.00 C +HETATM 636 C7 MOL 40 33.610 20.420 27.950 0.00 0.00 C +HETATM 637 H6 MOL 40 33.030 20.190 28.850 0.00 0.00 H +HETATM 638 H7 MOL 40 33.350 19.720 27.160 0.00 0.00 H +HETATM 639 O1 MOL 40 33.220 21.730 27.610 0.00 0.00 O +HETATM 640 H8 MOL 40 33.740 21.970 26.860 0.00 0.00 H +HETATM 641 C1 MOL 41 27.080 6.550 7.600 0.00 0.00 C +HETATM 642 H1 MOL 41 26.260 6.220 8.240 0.00 0.00 H +HETATM 643 C2 MOL 41 28.080 7.300 8.220 0.00 0.00 C +HETATM 644 H2 MOL 41 28.200 7.320 9.290 0.00 0.00 H +HETATM 645 C3 MOL 41 29.080 7.910 7.440 0.00 0.00 C +HETATM 646 H3 MOL 41 29.870 8.490 7.890 0.00 0.00 H +HETATM 647 C4 MOL 41 29.080 7.770 6.050 0.00 0.00 C +HETATM 648 H4 MOL 41 29.890 8.090 5.410 0.00 0.00 H +HETATM 649 C5 MOL 41 28.060 7.050 5.420 0.00 0.00 C +HETATM 650 H5 MOL 41 28.150 6.950 4.350 0.00 0.00 H +HETATM 651 C6 MOL 41 27.070 6.440 6.210 0.00 0.00 C +HETATM 652 C7 MOL 41 25.920 5.740 5.530 0.00 0.00 C +HETATM 653 H6 MOL 41 25.560 6.500 4.830 0.00 0.00 H +HETATM 654 H7 MOL 41 24.960 5.450 5.940 0.00 0.00 H +HETATM 655 O1 MOL 41 26.410 4.620 4.830 0.00 0.00 O +HETATM 656 H8 MOL 41 27.120 4.900 4.280 0.00 0.00 H +HETATM 657 C1 MOL 42 32.030 13.180 34.550 0.00 0.00 C +HETATM 658 H1 MOL 42 32.500 12.470 35.210 0.00 0.00 H +HETATM 659 C2 MOL 42 32.490 13.210 33.230 0.00 0.00 C +HETATM 660 H2 MOL 42 33.270 12.490 33.030 0.00 0.00 H +HETATM 661 C3 MOL 42 32.050 14.260 32.410 0.00 0.00 C +HETATM 662 H3 MOL 42 32.320 14.290 31.360 0.00 0.00 H +HETATM 663 C4 MOL 42 31.120 15.200 32.880 0.00 0.00 C +HETATM 664 H4 MOL 42 30.760 16.000 32.240 0.00 0.00 H +HETATM 665 C5 MOL 42 30.690 15.120 34.200 0.00 0.00 C +HETATM 666 H5 MOL 42 29.960 15.800 34.620 0.00 0.00 H +HETATM 667 C6 MOL 42 31.080 14.080 35.050 0.00 0.00 C +HETATM 668 C7 MOL 42 30.530 13.840 36.440 0.00 0.00 C +HETATM 669 H6 MOL 42 29.570 14.300 36.680 0.00 0.00 H +HETATM 670 H7 MOL 42 31.190 13.900 37.310 0.00 0.00 H +HETATM 671 O1 MOL 42 30.160 12.480 36.540 0.00 0.00 O +HETATM 672 H8 MOL 42 29.970 12.080 35.700 0.00 0.00 H +HETATM 673 C1 MOL 43 24.340 35.070 35.620 0.00 0.00 C +HETATM 674 H1 MOL 43 24.690 34.810 34.640 0.00 0.00 H +HETATM 675 C2 MOL 43 22.960 35.020 35.860 0.00 0.00 C +HETATM 676 H2 MOL 43 22.250 34.730 35.100 0.00 0.00 H +HETATM 677 C3 MOL 43 22.490 35.400 37.130 0.00 0.00 C +HETATM 678 H3 MOL 43 21.420 35.380 37.260 0.00 0.00 H +HETATM 679 C4 MOL 43 23.400 35.750 38.120 0.00 0.00 C +HETATM 680 H4 MOL 43 23.040 36.040 39.100 0.00 0.00 H +HETATM 681 C5 MOL 43 24.790 35.760 37.920 0.00 0.00 C +HETATM 682 H5 MOL 43 25.460 36.230 38.620 0.00 0.00 H +HETATM 683 C6 MOL 43 25.240 35.390 36.640 0.00 0.00 C +HETATM 684 C7 MOL 43 26.730 35.480 36.420 0.00 0.00 C +HETATM 685 H6 MOL 43 27.030 36.050 37.290 0.00 0.00 H +HETATM 686 H7 MOL 43 26.900 35.940 35.440 0.00 0.00 H +HETATM 687 O1 MOL 43 27.210 34.150 36.420 0.00 0.00 O +HETATM 688 H8 MOL 43 27.230 33.870 37.320 0.00 0.00 H +HETATM 689 C1 MOL 44 31.820 49.910 18.710 0.00 0.00 C +HETATM 690 H1 MOL 44 31.250 49.010 18.520 0.00 0.00 H +HETATM 691 C2 MOL 44 33.210 50.050 18.640 0.00 0.00 C +HETATM 692 H2 MOL 44 33.770 49.250 18.180 0.00 0.00 H +HETATM 693 C3 MOL 44 33.910 51.250 18.810 0.00 0.00 C +HETATM 694 H3 MOL 44 34.990 51.310 18.720 0.00 0.00 H +HETATM 695 C4 MOL 44 33.170 52.390 19.150 0.00 0.00 C +HETATM 696 H4 MOL 44 33.620 53.320 19.460 0.00 0.00 H +HETATM 697 C5 MOL 44 31.780 52.290 19.060 0.00 0.00 C +HETATM 698 H5 MOL 44 31.260 53.210 19.280 0.00 0.00 H +HETATM 699 C6 MOL 44 31.080 51.080 18.920 0.00 0.00 C +HETATM 700 C7 MOL 44 29.570 51.100 18.890 0.00 0.00 C +HETATM 701 H6 MOL 44 29.250 50.370 18.150 0.00 0.00 H +HETATM 702 H7 MOL 44 29.190 52.090 18.620 0.00 0.00 H +HETATM 703 O1 MOL 44 29.030 50.700 20.130 0.00 0.00 O +HETATM 704 H8 MOL 44 29.250 51.310 20.810 0.00 0.00 H +HETATM 705 C1 MOL 45 32.180 44.070 22.030 0.00 0.00 C +HETATM 706 H1 MOL 45 31.630 43.710 21.170 0.00 0.00 H +HETATM 707 C2 MOL 45 31.740 45.240 22.660 0.00 0.00 C +HETATM 708 H2 MOL 45 30.810 45.650 22.280 0.00 0.00 H +HETATM 709 C3 MOL 45 32.310 45.670 23.860 0.00 0.00 C +HETATM 710 H3 MOL 45 32.020 46.620 24.290 0.00 0.00 H +HETATM 711 C4 MOL 45 33.470 45.030 24.320 0.00 0.00 C +HETATM 712 H4 MOL 45 33.970 45.530 25.140 0.00 0.00 H +HETATM 713 C5 MOL 45 33.910 43.850 23.700 0.00 0.00 C +HETATM 714 H5 MOL 45 34.690 43.320 24.230 0.00 0.00 H +HETATM 715 C6 MOL 45 33.270 43.370 22.560 0.00 0.00 C +HETATM 716 C7 MOL 45 34.060 42.300 21.830 0.00 0.00 C +HETATM 717 H6 MOL 45 33.400 41.950 21.040 0.00 0.00 H +HETATM 718 H7 MOL 45 34.280 41.420 22.440 0.00 0.00 H +HETATM 719 O1 MOL 45 35.240 42.830 21.270 0.00 0.00 O +HETATM 720 H8 MOL 45 35.030 43.590 20.760 0.00 0.00 H +HETATM 721 C1 MOL 46 19.230 46.710 30.550 0.00 0.00 C +HETATM 722 H1 MOL 46 18.590 47.400 30.020 0.00 0.00 H +HETATM 723 C2 MOL 46 18.890 46.200 31.800 0.00 0.00 C +HETATM 724 H2 MOL 46 17.990 46.510 32.330 0.00 0.00 H +HETATM 725 C3 MOL 46 19.720 45.250 32.410 0.00 0.00 C +HETATM 726 H3 MOL 46 19.430 44.620 33.240 0.00 0.00 H +HETATM 727 C4 MOL 46 20.950 44.940 31.810 0.00 0.00 C +HETATM 728 H4 MOL 46 21.550 44.240 32.360 0.00 0.00 H +HETATM 729 C5 MOL 46 21.310 45.490 30.570 0.00 0.00 C +HETATM 730 H5 MOL 46 22.300 45.260 30.210 0.00 0.00 H +HETATM 731 C6 MOL 46 20.450 46.400 29.940 0.00 0.00 C +HETATM 732 C7 MOL 46 20.740 47.050 28.610 0.00 0.00 C +HETATM 733 H6 MOL 46 21.030 46.280 27.890 0.00 0.00 H +HETATM 734 H7 MOL 46 21.720 47.540 28.650 0.00 0.00 H +HETATM 735 O1 MOL 46 19.730 47.830 28.020 0.00 0.00 O +HETATM 736 H8 MOL 46 19.000 47.240 27.880 0.00 0.00 H +HETATM 737 C1 MOL 47 20.860 48.670 41.370 0.00 0.00 C +HETATM 738 H1 MOL 47 21.100 49.060 42.340 0.00 0.00 H +HETATM 739 C2 MOL 47 20.970 49.460 40.220 0.00 0.00 C +HETATM 740 H2 MOL 47 21.290 50.480 40.350 0.00 0.00 H +HETATM 741 C3 MOL 47 20.710 49.000 38.920 0.00 0.00 C +HETATM 742 H3 MOL 47 21.010 49.560 38.050 0.00 0.00 H +HETATM 743 C4 MOL 47 20.300 47.670 38.740 0.00 0.00 C +HETATM 744 H4 MOL 47 20.010 47.220 37.800 0.00 0.00 H +HETATM 745 C5 MOL 47 20.160 46.880 39.880 0.00 0.00 C +HETATM 746 H5 MOL 47 19.830 45.850 39.820 0.00 0.00 H +HETATM 747 C6 MOL 47 20.440 47.340 41.170 0.00 0.00 C +HETATM 748 C7 MOL 47 20.290 46.370 42.310 0.00 0.00 C +HETATM 749 H6 MOL 47 19.520 45.630 42.100 0.00 0.00 H +HETATM 750 H7 MOL 47 19.780 46.780 43.180 0.00 0.00 H +HETATM 751 O1 MOL 47 21.550 45.780 42.570 0.00 0.00 O +HETATM 752 H8 MOL 47 22.060 46.450 43.000 0.00 0.00 H +HETATM 753 C1 MOL 48 24.680 12.920 52.320 0.00 0.00 C +HETATM 754 H1 MOL 48 25.720 12.870 52.050 0.00 0.00 H +HETATM 755 C2 MOL 48 23.950 11.910 51.670 0.00 0.00 C +HETATM 756 H2 MOL 48 24.550 11.160 51.160 0.00 0.00 H +HETATM 757 C3 MOL 48 22.560 11.910 51.810 0.00 0.00 C +HETATM 758 H3 MOL 48 21.950 11.110 51.430 0.00 0.00 H +HETATM 759 C4 MOL 48 21.880 12.880 52.570 0.00 0.00 C +HETATM 760 H4 MOL 48 20.800 12.840 52.620 0.00 0.00 H +HETATM 761 C5 MOL 48 22.620 13.990 52.990 0.00 0.00 C +HETATM 762 H5 MOL 48 22.180 14.900 53.370 0.00 0.00 H +HETATM 763 C6 MOL 48 24.010 13.990 52.910 0.00 0.00 C +HETATM 764 C7 MOL 48 24.800 15.140 53.510 0.00 0.00 C +HETATM 765 H6 MOL 48 24.220 16.060 53.630 0.00 0.00 H +HETATM 766 H7 MOL 48 25.660 15.270 52.860 0.00 0.00 H +HETATM 767 O1 MOL 48 25.380 14.740 54.730 0.00 0.00 O +HETATM 768 H8 MOL 48 24.700 14.730 55.390 0.00 0.00 H +HETATM 769 C1 MOL 49 32.390 13.960 54.790 0.00 0.00 C +HETATM 770 H1 MOL 49 32.560 13.560 55.780 0.00 0.00 H +HETATM 771 C2 MOL 49 33.010 13.410 53.670 0.00 0.00 C +HETATM 772 H2 MOL 49 33.600 12.510 53.640 0.00 0.00 H +HETATM 773 C3 MOL 49 32.690 13.950 52.410 0.00 0.00 C +HETATM 774 H3 MOL 49 33.050 13.450 51.520 0.00 0.00 H +HETATM 775 C4 MOL 49 31.840 15.050 52.300 0.00 0.00 C +HETATM 776 H4 MOL 49 31.610 15.510 51.350 0.00 0.00 H +HETATM 777 C5 MOL 49 31.300 15.650 53.450 0.00 0.00 C +HETATM 778 H5 MOL 49 30.680 16.500 53.230 0.00 0.00 H +HETATM 779 C6 MOL 49 31.600 15.120 54.710 0.00 0.00 C +HETATM 780 C7 MOL 49 31.100 15.770 55.970 0.00 0.00 C +HETATM 781 H6 MOL 49 31.840 16.500 56.300 0.00 0.00 H +HETATM 782 H7 MOL 49 31.160 15.000 56.740 0.00 0.00 H +HETATM 783 O1 MOL 49 29.830 16.330 55.730 0.00 0.00 O +HETATM 784 H8 MOL 49 29.210 15.620 55.620 0.00 0.00 H +HETATM 785 C1 MOL 50 6.960 13.040 19.880 0.00 0.00 C +HETATM 786 H1 MOL 50 6.320 13.130 19.010 0.00 0.00 H +HETATM 787 C2 MOL 50 7.400 11.760 20.210 0.00 0.00 C +HETATM 788 H2 MOL 50 7.020 10.860 19.740 0.00 0.00 H +HETATM 789 C3 MOL 50 8.210 11.650 21.350 0.00 0.00 C +HETATM 790 H3 MOL 50 8.540 10.650 21.600 0.00 0.00 H +HETATM 791 C4 MOL 50 8.510 12.770 22.130 0.00 0.00 C +HETATM 792 H4 MOL 50 9.160 12.770 23.000 0.00 0.00 H +HETATM 793 C5 MOL 50 7.960 14.030 21.860 0.00 0.00 C +HETATM 794 H5 MOL 50 8.280 14.870 22.460 0.00 0.00 H +HETATM 795 C6 MOL 50 7.210 14.160 20.690 0.00 0.00 C +HETATM 796 C7 MOL 50 6.750 15.480 20.120 0.00 0.00 C +HETATM 797 H6 MOL 50 6.020 15.480 19.310 0.00 0.00 H +HETATM 798 H7 MOL 50 7.690 15.850 19.700 0.00 0.00 H +HETATM 799 O1 MOL 50 6.480 16.290 21.250 0.00 0.00 O +HETATM 800 H8 MOL 50 7.310 16.540 21.630 0.00 0.00 H +HETATM 801 C1 MOL 51 11.320 45.820 44.880 0.00 0.00 C +HETATM 802 H1 MOL 51 10.600 46.020 45.660 0.00 0.00 H +HETATM 803 C2 MOL 51 11.970 46.800 44.120 0.00 0.00 C +HETATM 804 H2 MOL 51 11.610 47.800 44.290 0.00 0.00 H +HETATM 805 C3 MOL 51 13.130 46.460 43.410 0.00 0.00 C +HETATM 806 H3 MOL 51 13.570 47.260 42.830 0.00 0.00 H +HETATM 807 C4 MOL 51 13.560 45.130 43.290 0.00 0.00 C +HETATM 808 H4 MOL 51 14.500 44.880 42.830 0.00 0.00 H +HETATM 809 C5 MOL 51 12.820 44.140 43.960 0.00 0.00 C +HETATM 810 H5 MOL 51 13.200 43.130 43.880 0.00 0.00 H +HETATM 811 C6 MOL 51 11.730 44.480 44.750 0.00 0.00 C +HETATM 812 C7 MOL 51 11.180 43.380 45.630 0.00 0.00 C +HETATM 813 H6 MOL 51 10.770 42.580 45.010 0.00 0.00 H +HETATM 814 H7 MOL 51 10.400 43.800 46.270 0.00 0.00 H +HETATM 815 O1 MOL 51 12.090 42.900 46.590 0.00 0.00 O +HETATM 816 H8 MOL 51 12.530 43.670 46.910 0.00 0.00 H +HETATM 817 C1 MOL 52 49.990 24.510 42.890 0.00 0.00 C +HETATM 818 H1 MOL 52 49.380 23.680 43.240 0.00 0.00 H +HETATM 819 C2 MOL 52 49.790 25.300 41.760 0.00 0.00 C +HETATM 820 H2 MOL 52 48.950 25.100 41.110 0.00 0.00 H +HETATM 821 C3 MOL 52 50.650 26.350 41.410 0.00 0.00 C +HETATM 822 H3 MOL 52 50.460 26.910 40.510 0.00 0.00 H +HETATM 823 C4 MOL 52 51.760 26.590 42.240 0.00 0.00 C +HETATM 824 H4 MOL 52 52.480 27.350 42.000 0.00 0.00 H +HETATM 825 C5 MOL 52 51.970 25.800 43.380 0.00 0.00 C +HETATM 826 H5 MOL 52 52.900 25.940 43.900 0.00 0.00 H +HETATM 827 C6 MOL 52 51.070 24.780 43.730 0.00 0.00 C +HETATM 828 C7 MOL 52 51.410 23.870 44.890 0.00 0.00 C +HETATM 829 H6 MOL 52 50.480 23.590 45.380 0.00 0.00 H +HETATM 830 H7 MOL 52 51.950 24.500 45.600 0.00 0.00 H +HETATM 831 O1 MOL 52 52.210 22.790 44.480 0.00 0.00 O +HETATM 832 H8 MOL 52 51.930 22.500 43.620 0.00 0.00 H +HETATM 833 C1 MOL 53 32.740 31.360 13.740 0.00 0.00 C +HETATM 834 H1 MOL 53 31.990 30.590 13.660 0.00 0.00 H +HETATM 835 C2 MOL 53 32.530 32.750 13.660 0.00 0.00 C +HETATM 836 H2 MOL 53 31.530 33.090 13.450 0.00 0.00 H +HETATM 837 C3 MOL 53 33.480 33.710 14.020 0.00 0.00 C +HETATM 838 H3 MOL 53 33.160 34.750 14.010 0.00 0.00 H +HETATM 839 C4 MOL 53 34.730 33.230 14.430 0.00 0.00 C +HETATM 840 H4 MOL 53 35.450 33.970 14.760 0.00 0.00 H +HETATM 841 C5 MOL 53 35.000 31.860 14.420 0.00 0.00 C +HETATM 842 H5 MOL 53 36.010 31.530 14.600 0.00 0.00 H +HETATM 843 C6 MOL 53 33.990 30.920 14.180 0.00 0.00 C +HETATM 844 C7 MOL 53 34.210 29.450 14.440 0.00 0.00 C +HETATM 845 H6 MOL 53 33.320 28.960 14.850 0.00 0.00 H +HETATM 846 H7 MOL 53 35.090 29.400 15.080 0.00 0.00 H +HETATM 847 O1 MOL 53 34.560 28.740 13.280 0.00 0.00 O +HETATM 848 H8 MOL 53 35.380 29.140 13.030 0.00 0.00 H +HETATM 849 C1 MOL 54 6.520 33.650 52.780 0.00 0.00 C +HETATM 850 H1 MOL 54 6.210 34.170 53.680 0.00 0.00 H +HETATM 851 C2 MOL 54 5.620 33.410 51.730 0.00 0.00 C +HETATM 852 H2 MOL 54 4.600 33.650 51.960 0.00 0.00 H +HETATM 853 C3 MOL 54 6.010 32.720 50.570 0.00 0.00 C +HETATM 854 H3 MOL 54 5.330 32.660 49.730 0.00 0.00 H +HETATM 855 C4 MOL 54 7.340 32.340 50.390 0.00 0.00 C +HETATM 856 H4 MOL 54 7.700 31.900 49.470 0.00 0.00 H +HETATM 857 C5 MOL 54 8.260 32.670 51.400 0.00 0.00 C +HETATM 858 H5 MOL 54 9.320 32.560 51.220 0.00 0.00 H +HETATM 859 C6 MOL 54 7.850 33.260 52.600 0.00 0.00 C +HETATM 860 C7 MOL 54 8.900 33.410 53.680 0.00 0.00 C +HETATM 861 H6 MOL 54 9.520 32.530 53.860 0.00 0.00 H +HETATM 862 H7 MOL 54 8.400 33.660 54.620 0.00 0.00 H +HETATM 863 O1 MOL 54 9.830 34.430 53.390 0.00 0.00 O +HETATM 864 H8 MOL 54 10.530 34.410 54.020 0.00 0.00 H +HETATM 865 C1 MOL 55 18.730 17.850 43.250 0.00 0.00 C +HETATM 866 H1 MOL 55 19.400 18.630 43.590 0.00 0.00 H +HETATM 867 C2 MOL 55 18.590 17.530 41.900 0.00 0.00 C +HETATM 868 H2 MOL 55 19.070 18.080 41.100 0.00 0.00 H +HETATM 869 C3 MOL 55 17.850 16.420 41.470 0.00 0.00 C +HETATM 870 H3 MOL 55 17.570 16.170 40.460 0.00 0.00 H +HETATM 871 C4 MOL 55 17.300 15.530 42.400 0.00 0.00 C +HETATM 872 H4 MOL 55 16.710 14.670 42.110 0.00 0.00 H +HETATM 873 C5 MOL 55 17.450 15.860 43.750 0.00 0.00 C +HETATM 874 H5 MOL 55 17.170 15.100 44.470 0.00 0.00 H +HETATM 875 C6 MOL 55 18.110 17.020 44.190 0.00 0.00 C +HETATM 876 C7 MOL 55 18.210 17.320 45.670 0.00 0.00 C +HETATM 877 H6 MOL 55 18.540 16.350 46.060 0.00 0.00 H +HETATM 878 H7 MOL 55 17.220 17.640 45.980 0.00 0.00 H +HETATM 879 O1 MOL 55 19.180 18.270 46.020 0.00 0.00 O +HETATM 880 H8 MOL 55 19.950 18.080 45.500 0.00 0.00 H +HETATM 881 C1 MOL 56 52.580 9.500 27.200 0.00 0.00 C +HETATM 882 H1 MOL 56 53.340 10.150 27.590 0.00 0.00 H +HETATM 883 C2 MOL 56 51.370 10.110 26.850 0.00 0.00 C +HETATM 884 H2 MOL 56 51.220 11.180 26.930 0.00 0.00 H +HETATM 885 C3 MOL 56 50.290 9.400 26.330 0.00 0.00 C +HETATM 886 H3 MOL 56 49.350 9.900 26.160 0.00 0.00 H +HETATM 887 C4 MOL 56 50.480 8.030 26.120 0.00 0.00 C +HETATM 888 H4 MOL 56 49.730 7.400 25.660 0.00 0.00 H +HETATM 889 C5 MOL 56 51.660 7.340 26.410 0.00 0.00 C +HETATM 890 H5 MOL 56 51.700 6.260 26.280 0.00 0.00 H +HETATM 891 C6 MOL 56 52.690 8.130 26.940 0.00 0.00 C +HETATM 892 C7 MOL 56 54.030 7.470 27.150 0.00 0.00 C +HETATM 893 H6 MOL 56 54.820 8.150 26.850 0.00 0.00 H +HETATM 894 H7 MOL 56 54.180 6.500 26.680 0.00 0.00 H +HETATM 895 O1 MOL 56 54.250 7.260 28.530 0.00 0.00 O +HETATM 896 H8 MOL 56 53.800 7.930 29.020 0.00 0.00 H +HETATM 897 C1 MOL 57 12.200 12.630 36.370 0.00 0.00 C +HETATM 898 H1 MOL 57 12.840 12.030 35.740 0.00 0.00 H +HETATM 899 C2 MOL 57 11.990 14.000 36.160 0.00 0.00 C +HETATM 900 H2 MOL 57 12.550 14.410 35.330 0.00 0.00 H +HETATM 901 C3 MOL 57 11.160 14.730 37.030 0.00 0.00 C +HETATM 902 H3 MOL 57 11.050 15.800 36.930 0.00 0.00 H +HETATM 903 C4 MOL 57 10.500 13.990 38.020 0.00 0.00 C +HETATM 904 H4 MOL 57 9.810 14.470 38.700 0.00 0.00 H +HETATM 905 C5 MOL 57 10.830 12.670 38.360 0.00 0.00 C +HETATM 906 H5 MOL 57 10.400 12.140 39.200 0.00 0.00 H +HETATM 907 C6 MOL 57 11.700 11.990 37.510 0.00 0.00 C +HETATM 908 C7 MOL 57 12.100 10.550 37.720 0.00 0.00 C +HETATM 909 H6 MOL 57 11.540 10.150 38.570 0.00 0.00 H +HETATM 910 H7 MOL 57 13.140 10.360 37.990 0.00 0.00 H +HETATM 911 O1 MOL 57 11.760 9.720 36.630 0.00 0.00 O +HETATM 912 H8 MOL 57 10.820 9.760 36.520 0.00 0.00 H +HETATM 913 C1 MOL 58 16.490 25.160 5.530 0.00 0.00 C +HETATM 914 H1 MOL 58 16.340 24.210 6.020 0.00 0.00 H +HETATM 915 C2 MOL 58 15.460 26.110 5.590 0.00 0.00 C +HETATM 916 H2 MOL 58 14.480 25.860 5.960 0.00 0.00 H +HETATM 917 C3 MOL 58 15.670 27.410 5.100 0.00 0.00 C +HETATM 918 H3 MOL 58 14.940 28.200 5.150 0.00 0.00 H +HETATM 919 C4 MOL 58 16.900 27.770 4.560 0.00 0.00 C +HETATM 920 H4 MOL 58 16.990 28.810 4.310 0.00 0.00 H +HETATM 921 C5 MOL 58 17.970 26.860 4.580 0.00 0.00 C +HETATM 922 H5 MOL 58 18.950 27.230 4.300 0.00 0.00 H +HETATM 923 C6 MOL 58 17.740 25.570 5.060 0.00 0.00 C +HETATM 924 C7 MOL 58 18.880 24.580 5.180 0.00 0.00 C +HETATM 925 H6 MOL 58 19.680 24.800 4.470 0.00 0.00 H +HETATM 926 H7 MOL 58 18.600 23.530 5.100 0.00 0.00 H +HETATM 927 O1 MOL 58 19.460 24.830 6.430 0.00 0.00 O +HETATM 928 H8 MOL 58 18.800 25.320 6.900 0.00 0.00 H +HETATM 929 C1 MOL 59 21.210 46.620 24.710 0.00 0.00 C +HETATM 930 H1 MOL 59 21.190 46.650 25.790 0.00 0.00 H +HETATM 931 C2 MOL 59 22.460 46.700 24.090 0.00 0.00 C +HETATM 932 H2 MOL 59 23.360 46.730 24.690 0.00 0.00 H +HETATM 933 C3 MOL 59 22.660 46.650 22.710 0.00 0.00 C +HETATM 934 H3 MOL 59 23.650 46.640 22.270 0.00 0.00 H +HETATM 935 C4 MOL 59 21.520 46.590 21.890 0.00 0.00 C +HETATM 936 H4 MOL 59 21.620 46.570 20.820 0.00 0.00 H +HETATM 937 C5 MOL 59 20.260 46.480 22.490 0.00 0.00 C +HETATM 938 H5 MOL 59 19.380 46.370 21.870 0.00 0.00 H +HETATM 939 C6 MOL 59 20.080 46.570 23.870 0.00 0.00 C +HETATM 940 C7 MOL 59 18.660 46.560 24.390 0.00 0.00 C +HETATM 941 H6 MOL 59 18.580 46.510 25.470 0.00 0.00 H +HETATM 942 H7 MOL 59 18.030 45.750 24.030 0.00 0.00 H +HETATM 943 O1 MOL 59 18.150 47.800 23.970 0.00 0.00 O +HETATM 944 H8 MOL 59 18.330 48.440 24.640 0.00 0.00 H +HETATM 945 C1 MOL 60 20.280 51.770 29.840 0.00 0.00 C +HETATM 946 H1 MOL 60 20.770 51.500 28.910 0.00 0.00 H +HETATM 947 C2 MOL 60 20.130 50.700 30.730 0.00 0.00 C +HETATM 948 H2 MOL 60 20.550 49.740 30.450 0.00 0.00 H +HETATM 949 C3 MOL 60 19.220 50.820 31.780 0.00 0.00 C +HETATM 950 H3 MOL 60 18.940 49.920 32.310 0.00 0.00 H +HETATM 951 C4 MOL 60 18.480 51.980 32.050 0.00 0.00 C +HETATM 952 H4 MOL 60 17.740 52.010 32.830 0.00 0.00 H +HETATM 953 C5 MOL 60 18.660 53.000 31.110 0.00 0.00 C +HETATM 954 H5 MOL 60 18.090 53.910 31.260 0.00 0.00 H +HETATM 955 C6 MOL 60 19.530 52.930 30.020 0.00 0.00 C +HETATM 956 C7 MOL 60 19.490 54.010 28.960 0.00 0.00 C +HETATM 957 H6 MOL 60 18.850 54.810 29.340 0.00 0.00 H +HETATM 958 H7 MOL 60 19.020 53.560 28.080 0.00 0.00 H +HETATM 959 O1 MOL 60 20.770 54.520 28.660 0.00 0.00 O +HETATM 960 H8 MOL 60 21.320 53.750 28.660 0.00 0.00 H +HETATM 961 C1 MOL 61 6.500 23.620 45.860 0.00 0.00 C +HETATM 962 H1 MOL 61 6.440 22.550 45.730 0.00 0.00 H +HETATM 963 C2 MOL 61 7.800 24.090 46.100 0.00 0.00 C +HETATM 964 H2 MOL 61 8.640 23.410 46.200 0.00 0.00 H +HETATM 965 C3 MOL 61 8.010 25.460 46.240 0.00 0.00 C +HETATM 966 H3 MOL 61 9.010 25.870 46.350 0.00 0.00 H +HETATM 967 C4 MOL 61 6.900 26.310 46.170 0.00 0.00 C +HETATM 968 H4 MOL 61 7.090 27.370 46.270 0.00 0.00 H +HETATM 969 C5 MOL 61 5.590 25.840 46.000 0.00 0.00 C +HETATM 970 H5 MOL 61 4.740 26.500 45.910 0.00 0.00 H +HETATM 971 C6 MOL 61 5.390 24.460 45.860 0.00 0.00 C +HETATM 972 C7 MOL 61 4.040 23.890 45.500 0.00 0.00 C +HETATM 973 H6 MOL 61 3.200 24.060 46.180 0.00 0.00 H +HETATM 974 H7 MOL 61 4.070 22.800 45.400 0.00 0.00 H +HETATM 975 O1 MOL 61 3.590 24.280 44.220 0.00 0.00 O +HETATM 976 H8 MOL 61 4.340 24.340 43.640 0.00 0.00 H +HETATM 977 C1 MOL 62 49.400 2.560 51.340 0.00 0.00 C +HETATM 978 H1 MOL 62 49.160 1.610 50.870 0.00 0.00 H +HETATM 979 C2 MOL 62 48.340 3.390 51.740 0.00 0.00 C +HETATM 980 H2 MOL 62 47.320 3.080 51.620 0.00 0.00 H +HETATM 981 C3 MOL 62 48.650 4.670 52.200 0.00 0.00 C +HETATM 982 H3 MOL 62 47.930 5.410 52.490 0.00 0.00 H +HETATM 983 C4 MOL 62 49.980 5.110 52.320 0.00 0.00 C +HETATM 984 H4 MOL 62 50.200 6.150 52.490 0.00 0.00 H +HETATM 985 C5 MOL 62 51.000 4.160 52.190 0.00 0.00 C +HETATM 986 H5 MOL 62 52.010 4.460 52.450 0.00 0.00 H +HETATM 987 C6 MOL 62 50.720 2.910 51.630 0.00 0.00 C +HETATM 988 C7 MOL 62 51.840 2.020 51.150 0.00 0.00 C +HETATM 989 H6 MOL 62 52.640 2.650 50.770 0.00 0.00 H +HETATM 990 H7 MOL 62 51.400 1.380 50.380 0.00 0.00 H +HETATM 991 O1 MOL 62 52.230 1.100 52.140 0.00 0.00 O +HETATM 992 H8 MOL 62 51.470 0.710 52.540 0.00 0.00 H +HETATM 993 C1 MOL 63 37.270 45.940 47.470 0.00 0.00 C +HETATM 994 H1 MOL 63 36.830 46.710 48.100 0.00 0.00 H +HETATM 995 C2 MOL 63 38.640 46.010 47.180 0.00 0.00 C +HETATM 996 H2 MOL 63 39.240 46.790 47.620 0.00 0.00 H +HETATM 997 C3 MOL 63 39.200 45.100 46.270 0.00 0.00 C +HETATM 998 H3 MOL 63 40.270 45.190 46.140 0.00 0.00 H +HETATM 999 C4 MOL 63 38.420 44.080 45.720 0.00 0.00 C +HETATM 1000 H4 MOL 63 38.790 43.380 44.990 0.00 0.00 H +HETATM 1001 C5 MOL 63 37.050 44.030 45.990 0.00 0.00 C +HETATM 1002 H5 MOL 63 36.510 43.240 45.490 0.00 0.00 H +HETATM 1003 C6 MOL 63 36.510 44.900 46.940 0.00 0.00 C +HETATM 1004 C7 MOL 63 35.010 44.980 47.120 0.00 0.00 C +HETATM 1005 H6 MOL 63 34.520 44.210 46.520 0.00 0.00 H +HETATM 1006 H7 MOL 63 34.720 46.010 46.910 0.00 0.00 H +HETATM 1007 O1 MOL 63 34.720 44.650 48.460 0.00 0.00 O +HETATM 1008 H8 MOL 63 35.420 44.870 49.050 0.00 0.00 H +HETATM 1009 C1 MOL 64 36.830 49.710 16.680 0.00 0.00 C +HETATM 1010 H1 MOL 64 36.820 49.110 17.580 0.00 0.00 H +HETATM 1011 C2 MOL 64 35.640 49.930 15.980 0.00 0.00 C +HETATM 1012 H2 MOL 64 34.690 49.650 16.430 0.00 0.00 H +HETATM 1013 C3 MOL 64 35.770 50.470 14.700 0.00 0.00 C +HETATM 1014 H3 MOL 64 34.870 50.420 14.100 0.00 0.00 H +HETATM 1015 C4 MOL 64 37.030 50.800 14.190 0.00 0.00 C +HETATM 1016 H4 MOL 64 37.250 51.150 13.190 0.00 0.00 H +HETATM 1017 C5 MOL 64 38.220 50.600 14.900 0.00 0.00 C +HETATM 1018 H5 MOL 64 39.180 50.860 14.480 0.00 0.00 H +HETATM 1019 C6 MOL 64 38.100 50.030 16.180 0.00 0.00 C +HETATM 1020 C7 MOL 64 39.390 49.850 16.940 0.00 0.00 C +HETATM 1021 H6 MOL 64 39.400 50.560 17.770 0.00 0.00 H +HETATM 1022 H7 MOL 64 40.250 50.140 16.340 0.00 0.00 H +HETATM 1023 O1 MOL 64 39.410 48.520 17.390 0.00 0.00 O +HETATM 1024 H8 MOL 64 40.150 48.400 17.980 0.00 0.00 H +HETATM 1025 C1 MOL 65 29.920 8.850 16.470 0.00 0.00 C +HETATM 1026 H1 MOL 65 30.720 8.190 16.770 0.00 0.00 H +HETATM 1027 C2 MOL 65 28.710 8.160 16.330 0.00 0.00 C +HETATM 1028 H2 MOL 65 28.710 7.090 16.530 0.00 0.00 H +HETATM 1029 C3 MOL 65 27.590 8.920 15.980 0.00 0.00 C +HETATM 1030 H3 MOL 65 26.650 8.440 15.740 0.00 0.00 H +HETATM 1031 C4 MOL 65 27.680 10.290 15.700 0.00 0.00 C +HETATM 1032 H4 MOL 65 26.780 10.850 15.480 0.00 0.00 H +HETATM 1033 C5 MOL 65 28.920 10.900 15.920 0.00 0.00 C +HETATM 1034 H5 MOL 65 28.930 11.960 15.740 0.00 0.00 H +HETATM 1035 C6 MOL 65 30.090 10.220 16.290 0.00 0.00 C +HETATM 1036 C7 MOL 65 31.420 10.900 16.550 0.00 0.00 C +HETATM 1037 H6 MOL 65 31.620 10.680 17.600 0.00 0.00 H +HETATM 1038 H7 MOL 65 31.300 11.980 16.480 0.00 0.00 H +HETATM 1039 O1 MOL 65 32.350 10.290 15.690 0.00 0.00 O +HETATM 1040 H8 MOL 65 32.500 9.400 15.970 0.00 0.00 H +HETATM 1041 C1 MOL 66 47.380 10.590 23.520 0.00 0.00 C +HETATM 1042 H1 MOL 66 47.000 10.300 24.490 0.00 0.00 H +HETATM 1043 C2 MOL 66 48.550 9.950 23.090 0.00 0.00 C +HETATM 1044 H2 MOL 66 49.040 9.220 23.720 0.00 0.00 H +HETATM 1045 C3 MOL 66 49.020 10.110 21.780 0.00 0.00 C +HETATM 1046 H3 MOL 66 49.900 9.550 21.480 0.00 0.00 H +HETATM 1047 C4 MOL 66 48.400 11.050 20.950 0.00 0.00 C +HETATM 1048 H4 MOL 66 48.890 11.300 20.020 0.00 0.00 H +HETATM 1049 C5 MOL 66 47.220 11.700 21.310 0.00 0.00 C +HETATM 1050 H5 MOL 66 46.630 12.290 20.610 0.00 0.00 H +HETATM 1051 C6 MOL 66 46.720 11.390 22.580 0.00 0.00 C +HETATM 1052 C7 MOL 66 45.400 11.980 23.030 0.00 0.00 C +HETATM 1053 H6 MOL 66 45.410 13.050 22.810 0.00 0.00 H +HETATM 1054 H7 MOL 66 45.350 12.030 24.110 0.00 0.00 H +HETATM 1055 O1 MOL 66 44.240 11.420 22.460 0.00 0.00 O +HETATM 1056 H8 MOL 66 44.370 10.510 22.200 0.00 0.00 H +HETATM 1057 C1 MOL 67 25.930 29.040 34.640 0.00 0.00 C +HETATM 1058 H1 MOL 67 26.620 28.250 34.390 0.00 0.00 H +HETATM 1059 C2 MOL 67 24.590 28.840 34.270 0.00 0.00 C +HETATM 1060 H2 MOL 67 24.240 27.930 33.810 0.00 0.00 H +HETATM 1061 C3 MOL 67 23.630 29.850 34.410 0.00 0.00 C +HETATM 1062 H3 MOL 67 22.640 29.660 34.010 0.00 0.00 H +HETATM 1063 C4 MOL 67 23.940 31.060 35.020 0.00 0.00 C +HETATM 1064 H4 MOL 67 23.180 31.790 35.260 0.00 0.00 H +HETATM 1065 C5 MOL 67 25.260 31.270 35.460 0.00 0.00 C +HETATM 1066 H5 MOL 67 25.590 32.200 35.890 0.00 0.00 H +HETATM 1067 C6 MOL 67 26.220 30.270 35.230 0.00 0.00 C +HETATM 1068 C7 MOL 67 27.640 30.530 35.700 0.00 0.00 C +HETATM 1069 H6 MOL 67 27.780 31.510 36.160 0.00 0.00 H +HETATM 1070 H7 MOL 67 28.340 30.380 34.880 0.00 0.00 H +HETATM 1071 O1 MOL 67 27.760 29.640 36.780 0.00 0.00 O +HETATM 1072 H8 MOL 67 28.200 28.820 36.610 0.00 0.00 H +HETATM 1073 C1 MOL 68 23.050 1.590 47.600 0.00 0.00 C +HETATM 1074 H1 MOL 68 23.150 2.490 47.010 0.00 0.00 H +HETATM 1075 C2 MOL 68 22.150 1.630 48.670 0.00 0.00 C +HETATM 1076 H2 MOL 68 21.530 2.500 48.840 0.00 0.00 H +HETATM 1077 C3 MOL 68 21.930 0.510 49.480 0.00 0.00 C +HETATM 1078 H3 MOL 68 21.270 0.610 50.330 0.00 0.00 H +HETATM 1079 C4 MOL 68 22.640 -0.660 49.200 0.00 0.00 C +HETATM 1080 H4 MOL 68 22.580 -1.470 49.910 0.00 0.00 H +HETATM 1081 C5 MOL 68 23.500 -0.720 48.090 0.00 0.00 C +HETATM 1082 H5 MOL 68 24.000 -1.660 47.960 0.00 0.00 H +HETATM 1083 C6 MOL 68 23.740 0.410 47.300 0.00 0.00 C +HETATM 1084 C7 MOL 68 24.710 0.330 46.150 0.00 0.00 C +HETATM 1085 H6 MOL 68 24.720 -0.660 45.710 0.00 0.00 H +HETATM 1086 H7 MOL 68 25.740 0.450 46.500 0.00 0.00 H +HETATM 1087 O1 MOL 68 24.370 1.080 45.000 0.00 0.00 O +HETATM 1088 H8 MOL 68 25.050 1.000 44.350 0.00 0.00 H +HETATM 1089 C1 MOL 69 29.820 45.810 16.180 0.00 0.00 C +HETATM 1090 H1 MOL 69 29.790 45.990 15.110 0.00 0.00 H +HETATM 1091 C2 MOL 69 29.720 46.940 17.000 0.00 0.00 C +HETATM 1092 H2 MOL 69 29.630 47.920 16.570 0.00 0.00 H +HETATM 1093 C3 MOL 69 29.670 46.740 18.390 0.00 0.00 C +HETATM 1094 H3 MOL 69 29.560 47.630 19.000 0.00 0.00 H +HETATM 1095 C4 MOL 69 29.820 45.460 18.920 0.00 0.00 C +HETATM 1096 H4 MOL 69 29.890 45.360 19.990 0.00 0.00 H +HETATM 1097 C5 MOL 69 30.000 44.350 18.080 0.00 0.00 C +HETATM 1098 H5 MOL 69 30.180 43.350 18.460 0.00 0.00 H +HETATM 1099 C6 MOL 69 29.980 44.520 16.690 0.00 0.00 C +HETATM 1100 C7 MOL 69 30.130 43.390 15.710 0.00 0.00 C +HETATM 1101 H6 MOL 69 29.240 43.090 15.160 0.00 0.00 H +HETATM 1102 H7 MOL 69 30.450 42.570 16.350 0.00 0.00 H +HETATM 1103 O1 MOL 69 31.080 43.560 14.680 0.00 0.00 O +HETATM 1104 H8 MOL 69 31.360 42.690 14.470 0.00 0.00 H +HETATM 1105 C1 MOL 70 12.280 5.130 50.220 0.00 0.00 C +HETATM 1106 H1 MOL 70 11.490 4.460 49.930 0.00 0.00 H +HETATM 1107 C2 MOL 70 12.160 5.990 51.320 0.00 0.00 C +HETATM 1108 H2 MOL 70 11.240 5.870 51.870 0.00 0.00 H +HETATM 1109 C3 MOL 70 13.210 6.770 51.800 0.00 0.00 C +HETATM 1110 H3 MOL 70 13.060 7.410 52.660 0.00 0.00 H +HETATM 1111 C4 MOL 70 14.390 6.810 51.040 0.00 0.00 C +HETATM 1112 H4 MOL 70 15.290 7.340 51.310 0.00 0.00 H +HETATM 1113 C5 MOL 70 14.520 6.040 49.890 0.00 0.00 C +HETATM 1114 H5 MOL 70 15.420 6.040 49.290 0.00 0.00 H +HETATM 1115 C6 MOL 70 13.420 5.300 49.430 0.00 0.00 C +HETATM 1116 C7 MOL 70 13.470 4.540 48.120 0.00 0.00 C +HETATM 1117 H6 MOL 70 14.260 4.840 47.430 0.00 0.00 H +HETATM 1118 H7 MOL 70 12.550 4.810 47.610 0.00 0.00 H +HETATM 1119 O1 MOL 70 13.440 3.140 48.330 0.00 0.00 O +HETATM 1120 H8 MOL 70 14.120 2.890 48.930 0.00 0.00 H +HETATM 1121 C1 MOL 71 20.380 53.470 40.570 0.00 0.00 C +HETATM 1122 H1 MOL 71 20.830 52.840 41.330 0.00 0.00 H +HETATM 1123 C2 MOL 71 21.140 54.620 40.330 0.00 0.00 C +HETATM 1124 H2 MOL 71 22.040 54.800 40.900 0.00 0.00 H +HETATM 1125 C3 MOL 71 20.800 55.430 39.240 0.00 0.00 C +HETATM 1126 H3 MOL 71 21.310 56.340 38.980 0.00 0.00 H +HETATM 1127 C4 MOL 71 19.600 55.190 38.560 0.00 0.00 C +HETATM 1128 H4 MOL 71 19.350 55.820 37.720 0.00 0.00 H +HETATM 1129 C5 MOL 71 18.810 54.070 38.870 0.00 0.00 C +HETATM 1130 H5 MOL 71 17.970 53.850 38.230 0.00 0.00 H +HETATM 1131 C6 MOL 71 19.200 53.190 39.880 0.00 0.00 C +HETATM 1132 C7 MOL 71 18.490 51.880 40.130 0.00 0.00 C +HETATM 1133 H6 MOL 71 18.910 51.280 40.930 0.00 0.00 H +HETATM 1134 H7 MOL 71 18.460 51.290 39.210 0.00 0.00 H +HETATM 1135 O1 MOL 71 17.150 52.160 40.480 0.00 0.00 O +HETATM 1136 H8 MOL 71 17.300 52.860 41.090 0.00 0.00 H +HETATM 1137 C1 MOL 72 45.340 23.780 21.680 0.00 0.00 C +HETATM 1138 H1 MOL 72 46.160 23.090 21.790 0.00 0.00 H +HETATM 1139 C2 MOL 72 44.140 23.470 21.040 0.00 0.00 C +HETATM 1140 H2 MOL 72 44.060 22.500 20.580 0.00 0.00 H +HETATM 1141 C3 MOL 72 43.070 24.370 21.010 0.00 0.00 C +HETATM 1142 H3 MOL 72 42.200 23.980 20.510 0.00 0.00 H +HETATM 1143 C4 MOL 72 43.150 25.580 21.720 0.00 0.00 C +HETATM 1144 H4 MOL 72 42.330 26.280 21.640 0.00 0.00 H +HETATM 1145 C5 MOL 72 44.320 25.870 22.420 0.00 0.00 C +HETATM 1146 H5 MOL 72 44.440 26.780 22.990 0.00 0.00 H +HETATM 1147 C6 MOL 72 45.410 24.990 22.380 0.00 0.00 C +HETATM 1148 C7 MOL 72 46.690 25.340 23.100 0.00 0.00 C +HETATM 1149 H6 MOL 72 46.630 26.280 23.650 0.00 0.00 H +HETATM 1150 H7 MOL 72 47.550 25.500 22.440 0.00 0.00 H +HETATM 1151 O1 MOL 72 47.090 24.360 24.020 0.00 0.00 O +HETATM 1152 H8 MOL 72 46.310 23.950 24.380 0.00 0.00 H +HETATM 1153 C1 MOL 73 17.050 0.800 27.030 0.00 0.00 C +HETATM 1154 H1 MOL 73 17.410 0.970 26.030 0.00 0.00 H +HETATM 1155 C2 MOL 73 16.460 -0.460 27.230 0.00 0.00 C +HETATM 1156 H2 MOL 73 16.340 -1.090 26.370 0.00 0.00 H +HETATM 1157 C3 MOL 73 16.030 -0.820 28.520 0.00 0.00 C +HETATM 1158 H3 MOL 73 15.450 -1.730 28.540 0.00 0.00 H +HETATM 1159 C4 MOL 73 16.120 0.040 29.620 0.00 0.00 C +HETATM 1160 H4 MOL 73 15.560 -0.120 30.520 0.00 0.00 H +HETATM 1161 C5 MOL 73 16.780 1.260 29.410 0.00 0.00 C +HETATM 1162 H5 MOL 73 16.800 1.990 30.210 0.00 0.00 H +HETATM 1163 C6 MOL 73 17.270 1.610 28.150 0.00 0.00 C +HETATM 1164 C7 MOL 73 17.920 2.950 27.910 0.00 0.00 C +HETATM 1165 H6 MOL 73 18.020 3.590 28.790 0.00 0.00 H +HETATM 1166 H7 MOL 73 17.270 3.480 27.210 0.00 0.00 H +HETATM 1167 O1 MOL 73 19.180 2.810 27.280 0.00 0.00 O +HETATM 1168 H8 MOL 73 19.810 2.430 27.870 0.00 0.00 H +HETATM 1169 C1 MOL 74 35.360 3.680 0.470 0.00 0.00 C +HETATM 1170 H1 MOL 74 34.330 3.930 0.280 0.00 0.00 H +HETATM 1171 C2 MOL 74 36.220 3.370 -0.590 0.00 0.00 C +HETATM 1172 H2 MOL 74 35.810 3.380 -1.590 0.00 0.00 H +HETATM 1173 C3 MOL 74 37.590 3.140 -0.400 0.00 0.00 C +HETATM 1174 H3 MOL 74 38.280 3.060 -1.230 0.00 0.00 H +HETATM 1175 C4 MOL 74 38.100 3.340 0.890 0.00 0.00 C +HETATM 1176 H4 MOL 74 39.160 3.150 0.970 0.00 0.00 H +HETATM 1177 C5 MOL 74 37.270 3.630 1.980 0.00 0.00 C +HETATM 1178 H5 MOL 74 37.620 3.820 2.980 0.00 0.00 H +HETATM 1179 C6 MOL 74 35.910 3.890 1.740 0.00 0.00 C +HETATM 1180 C7 MOL 74 34.900 4.280 2.790 0.00 0.00 C +HETATM 1181 H6 MOL 74 35.190 4.040 3.810 0.00 0.00 H +HETATM 1182 H7 MOL 74 33.930 3.780 2.810 0.00 0.00 H +HETATM 1183 O1 MOL 74 34.540 5.630 2.600 0.00 0.00 O +HETATM 1184 H8 MOL 74 35.270 6.180 2.860 0.00 0.00 H +HETATM 1185 C1 MOL 75 13.440 47.430 20.890 0.00 0.00 C +HETATM 1186 H1 MOL 75 14.070 47.630 20.040 0.00 0.00 H +HETATM 1187 C2 MOL 75 12.130 46.990 20.690 0.00 0.00 C +HETATM 1188 H2 MOL 75 11.830 46.750 19.680 0.00 0.00 H +HETATM 1189 C3 MOL 75 11.310 46.790 21.800 0.00 0.00 C +HETATM 1190 H3 MOL 75 10.310 46.390 21.700 0.00 0.00 H +HETATM 1191 C4 MOL 75 11.710 47.130 23.100 0.00 0.00 C +HETATM 1192 H4 MOL 75 11.010 46.910 23.890 0.00 0.00 H +HETATM 1193 C5 MOL 75 13.050 47.500 23.300 0.00 0.00 C +HETATM 1194 H5 MOL 75 13.440 47.660 24.290 0.00 0.00 H +HETATM 1195 C6 MOL 75 13.890 47.710 22.190 0.00 0.00 C +HETATM 1196 C7 MOL 75 15.290 48.200 22.450 0.00 0.00 C +HETATM 1197 H6 MOL 75 15.390 48.320 23.530 0.00 0.00 H +HETATM 1198 H7 MOL 75 15.320 49.180 21.970 0.00 0.00 H +HETATM 1199 O1 MOL 75 16.320 47.320 22.050 0.00 0.00 O +HETATM 1200 H8 MOL 75 17.150 47.450 22.480 0.00 0.00 H +HETATM 1201 C1 MOL 76 40.030 39.180 18.410 0.00 0.00 C +HETATM 1202 H1 MOL 76 40.310 40.110 18.900 0.00 0.00 H +HETATM 1203 C2 MOL 76 39.990 39.030 17.020 0.00 0.00 C +HETATM 1204 H2 MOL 76 40.250 39.910 16.450 0.00 0.00 H +HETATM 1205 C3 MOL 76 39.680 37.810 16.400 0.00 0.00 C +HETATM 1206 H3 MOL 76 39.630 37.650 15.340 0.00 0.00 H +HETATM 1207 C4 MOL 76 39.520 36.660 17.180 0.00 0.00 C +HETATM 1208 H4 MOL 76 39.290 35.720 16.690 0.00 0.00 H +HETATM 1209 C5 MOL 76 39.610 36.800 18.570 0.00 0.00 C +HETATM 1210 H5 MOL 76 39.470 35.910 19.160 0.00 0.00 H +HETATM 1211 C6 MOL 76 39.800 38.040 19.180 0.00 0.00 C +HETATM 1212 C7 MOL 76 39.640 38.080 20.680 0.00 0.00 C +HETATM 1213 H6 MOL 76 40.580 37.690 21.080 0.00 0.00 H +HETATM 1214 H7 MOL 76 38.860 37.380 21.000 0.00 0.00 H +HETATM 1215 O1 MOL 76 39.250 39.340 21.160 0.00 0.00 O +HETATM 1216 H8 MOL 76 38.610 39.730 20.580 0.00 0.00 H +HETATM 1217 C1 MOL 77 52.540 21.170 18.540 0.00 0.00 C +HETATM 1218 H1 MOL 77 53.040 20.740 19.400 0.00 0.00 H +HETATM 1219 C2 MOL 77 51.480 22.050 18.750 0.00 0.00 C +HETATM 1220 H2 MOL 77 51.180 22.340 19.750 0.00 0.00 H +HETATM 1221 C3 MOL 77 50.670 22.540 17.710 0.00 0.00 C +HETATM 1222 H3 MOL 77 49.760 23.100 17.870 0.00 0.00 H +HETATM 1223 C4 MOL 77 51.030 22.200 16.410 0.00 0.00 C +HETATM 1224 H4 MOL 77 50.320 22.520 15.660 0.00 0.00 H +HETATM 1225 C5 MOL 77 52.180 21.440 16.190 0.00 0.00 C +HETATM 1226 H5 MOL 77 52.400 21.190 15.160 0.00 0.00 H +HETATM 1227 C6 MOL 77 52.980 20.950 17.230 0.00 0.00 C +HETATM 1228 C7 MOL 77 54.170 20.060 16.960 0.00 0.00 C +HETATM 1229 H6 MOL 77 54.760 19.960 17.870 0.00 0.00 H +HETATM 1230 H7 MOL 77 54.820 20.590 16.270 0.00 0.00 H +HETATM 1231 O1 MOL 77 53.720 18.780 16.540 0.00 0.00 O +HETATM 1232 H8 MOL 77 53.480 18.250 17.280 0.00 0.00 H +HETATM 1233 C1 MOL 78 48.970 15.890 47.620 0.00 0.00 C +HETATM 1234 H1 MOL 78 48.440 16.800 47.390 0.00 0.00 H +HETATM 1235 C2 MOL 78 48.420 15.010 48.560 0.00 0.00 C +HETATM 1236 H2 MOL 78 47.460 15.140 49.030 0.00 0.00 H +HETATM 1237 C3 MOL 78 49.050 13.780 48.760 0.00 0.00 C +HETATM 1238 H3 MOL 78 48.720 13.060 49.500 0.00 0.00 H +HETATM 1239 C4 MOL 78 50.250 13.430 48.120 0.00 0.00 C +HETATM 1240 H4 MOL 78 50.820 12.530 48.300 0.00 0.00 H +HETATM 1241 C5 MOL 78 50.790 14.360 47.230 0.00 0.00 C +HETATM 1242 H5 MOL 78 51.640 14.070 46.630 0.00 0.00 H +HETATM 1243 C6 MOL 78 50.240 15.640 47.080 0.00 0.00 C +HETATM 1244 C7 MOL 78 50.900 16.630 46.150 0.00 0.00 C +HETATM 1245 H6 MOL 78 51.870 16.290 45.780 0.00 0.00 H +HETATM 1246 H7 MOL 78 50.910 17.610 46.610 0.00 0.00 H +HETATM 1247 O1 MOL 78 50.210 16.580 44.920 0.00 0.00 O +HETATM 1248 H8 MOL 78 50.510 17.220 44.300 0.00 0.00 H +HETATM 1249 C1 MOL 79 55.060 13.410 15.830 0.00 0.00 C +HETATM 1250 H1 MOL 79 54.660 13.490 16.830 0.00 0.00 H +HETATM 1251 C2 MOL 79 55.590 12.140 15.540 0.00 0.00 C +HETATM 1252 H2 MOL 79 55.650 11.410 16.330 0.00 0.00 H +HETATM 1253 C3 MOL 79 55.980 11.870 14.220 0.00 0.00 C +HETATM 1254 H3 MOL 79 56.310 10.860 14.030 0.00 0.00 H +HETATM 1255 C4 MOL 79 55.920 12.910 13.280 0.00 0.00 C +HETATM 1256 H4 MOL 79 56.350 12.630 12.330 0.00 0.00 H +HETATM 1257 C5 MOL 79 55.440 14.190 13.560 0.00 0.00 C +HETATM 1258 H5 MOL 79 55.310 14.900 12.750 0.00 0.00 H +HETATM 1259 C6 MOL 79 54.920 14.390 14.840 0.00 0.00 C +HETATM 1260 C7 MOL 79 54.220 15.650 15.280 0.00 0.00 C +HETATM 1261 H6 MOL 79 54.310 16.390 14.490 0.00 0.00 H +HETATM 1262 H7 MOL 79 54.670 15.990 16.220 0.00 0.00 H +HETATM 1263 O1 MOL 79 52.850 15.440 15.520 0.00 0.00 O +HETATM 1264 H8 MOL 79 52.470 15.020 14.750 0.00 0.00 H +HETATM 1265 C1 MOL 80 8.350 27.400 41.370 0.00 0.00 C +HETATM 1266 H1 MOL 80 9.370 27.120 41.160 0.00 0.00 H +HETATM 1267 C2 MOL 80 7.860 28.650 41.010 0.00 0.00 C +HETATM 1268 H2 MOL 80 8.560 29.300 40.500 0.00 0.00 H +HETATM 1269 C3 MOL 80 6.610 29.010 41.530 0.00 0.00 C +HETATM 1270 H3 MOL 80 6.220 29.990 41.310 0.00 0.00 H +HETATM 1271 C4 MOL 80 5.820 28.150 42.310 0.00 0.00 C +HETATM 1272 H4 MOL 80 4.790 28.270 42.610 0.00 0.00 H +HETATM 1273 C5 MOL 80 6.320 26.880 42.610 0.00 0.00 C +HETATM 1274 H5 MOL 80 5.840 26.140 43.240 0.00 0.00 H +HETATM 1275 C6 MOL 80 7.600 26.520 42.160 0.00 0.00 C +HETATM 1276 C7 MOL 80 8.250 25.220 42.560 0.00 0.00 C +HETATM 1277 H6 MOL 80 7.740 24.730 43.400 0.00 0.00 H +HETATM 1278 H7 MOL 80 9.200 25.380 43.070 0.00 0.00 H +HETATM 1279 O1 MOL 80 8.210 24.450 41.390 0.00 0.00 O +HETATM 1280 H8 MOL 80 7.360 24.510 40.960 0.00 0.00 H +HETATM 1281 C1 MOL 81 19.730 53.390 21.920 0.00 0.00 C +HETATM 1282 H1 MOL 81 20.340 54.270 21.900 0.00 0.00 H +HETATM 1283 C2 MOL 81 20.340 52.130 21.890 0.00 0.00 C +HETATM 1284 H2 MOL 81 21.420 52.120 21.870 0.00 0.00 H +HETATM 1285 C3 MOL 81 19.600 50.940 21.870 0.00 0.00 C +HETATM 1286 H3 MOL 81 20.020 49.960 21.990 0.00 0.00 H +HETATM 1287 C4 MOL 81 18.210 51.070 21.920 0.00 0.00 C +HETATM 1288 H4 MOL 81 17.600 50.180 21.920 0.00 0.00 H +HETATM 1289 C5 MOL 81 17.590 52.330 21.920 0.00 0.00 C +HETATM 1290 H5 MOL 81 16.510 52.370 22.000 0.00 0.00 H +HETATM 1291 C6 MOL 81 18.330 53.510 21.930 0.00 0.00 C +HETATM 1292 C7 MOL 81 17.580 54.770 22.280 0.00 0.00 C +HETATM 1293 H6 MOL 81 16.640 54.740 21.720 0.00 0.00 H +HETATM 1294 H7 MOL 81 18.060 55.710 22.020 0.00 0.00 H +HETATM 1295 O1 MOL 81 17.270 54.700 23.650 0.00 0.00 O +HETATM 1296 H8 MOL 81 18.110 54.910 24.050 0.00 0.00 H +HETATM 1297 C1 MOL 82 26.810 44.570 48.170 0.00 0.00 C +HETATM 1298 H1 MOL 82 26.380 45.210 47.410 0.00 0.00 H +HETATM 1299 C2 MOL 82 26.950 43.200 47.930 0.00 0.00 C +HETATM 1300 H2 MOL 82 26.610 42.730 47.020 0.00 0.00 H +HETATM 1301 C3 MOL 82 27.490 42.360 48.910 0.00 0.00 C +HETATM 1302 H3 MOL 82 27.680 41.360 48.540 0.00 0.00 H +HETATM 1303 C4 MOL 82 28.140 42.860 50.040 0.00 0.00 C +HETATM 1304 H4 MOL 82 28.820 42.280 50.650 0.00 0.00 H +HETATM 1305 C5 MOL 82 28.000 44.230 50.280 0.00 0.00 C +HETATM 1306 H5 MOL 82 28.450 44.640 51.170 0.00 0.00 H +HETATM 1307 C6 MOL 82 27.360 45.070 49.360 0.00 0.00 C +HETATM 1308 C7 MOL 82 27.300 46.570 49.570 0.00 0.00 C +HETATM 1309 H6 MOL 82 27.400 46.950 48.560 0.00 0.00 H +HETATM 1310 H7 MOL 82 28.180 46.940 50.110 0.00 0.00 H +HETATM 1311 O1 MOL 82 26.070 46.990 50.110 0.00 0.00 O +HETATM 1312 H8 MOL 82 25.960 46.640 50.980 0.00 0.00 H +HETATM 1313 C1 MOL 83 53.280 19.980 30.760 0.00 0.00 C +HETATM 1314 H1 MOL 83 53.240 19.570 31.750 0.00 0.00 H +HETATM 1315 C2 MOL 83 53.420 21.350 30.470 0.00 0.00 C +HETATM 1316 H2 MOL 83 53.640 22.060 31.250 0.00 0.00 H +HETATM 1317 C3 MOL 83 53.420 21.850 29.170 0.00 0.00 C +HETATM 1318 H3 MOL 83 53.550 22.920 29.010 0.00 0.00 H +HETATM 1319 C4 MOL 83 53.310 20.950 28.100 0.00 0.00 C +HETATM 1320 H4 MOL 83 53.380 21.270 27.070 0.00 0.00 H +HETATM 1321 C5 MOL 83 53.100 19.590 28.320 0.00 0.00 C +HETATM 1322 H5 MOL 83 53.070 18.900 27.490 0.00 0.00 H +HETATM 1323 C6 MOL 83 53.090 19.140 29.650 0.00 0.00 C +HETATM 1324 C7 MOL 83 52.950 17.670 29.930 0.00 0.00 C +HETATM 1325 H6 MOL 83 52.740 17.040 29.060 0.00 0.00 H +HETATM 1326 H7 MOL 83 52.130 17.500 30.630 0.00 0.00 H +HETATM 1327 O1 MOL 83 54.170 17.100 30.350 0.00 0.00 O +HETATM 1328 H8 MOL 83 54.710 17.660 30.880 0.00 0.00 H +HETATM 1329 C1 MOL 84 6.150 40.960 36.480 0.00 0.00 C +HETATM 1330 H1 MOL 84 5.540 41.800 36.190 0.00 0.00 H +HETATM 1331 C2 MOL 84 6.280 39.910 35.560 0.00 0.00 C +HETATM 1332 H2 MOL 84 5.720 40.000 34.640 0.00 0.00 H +HETATM 1333 C3 MOL 84 7.060 38.780 35.850 0.00 0.00 C +HETATM 1334 H3 MOL 84 7.150 37.970 35.140 0.00 0.00 H +HETATM 1335 C4 MOL 84 7.630 38.690 37.120 0.00 0.00 C +HETATM 1336 H4 MOL 84 8.020 37.730 37.430 0.00 0.00 H +HETATM 1337 C5 MOL 84 7.500 39.740 38.040 0.00 0.00 C +HETATM 1338 H5 MOL 84 7.870 39.660 39.050 0.00 0.00 H +HETATM 1339 C6 MOL 84 6.740 40.880 37.750 0.00 0.00 C +HETATM 1340 C7 MOL 84 6.730 41.980 38.790 0.00 0.00 C +HETATM 1341 H6 MOL 84 7.150 42.850 38.280 0.00 0.00 H +HETATM 1342 H7 MOL 84 7.230 41.720 39.730 0.00 0.00 H +HETATM 1343 O1 MOL 84 5.430 42.170 39.280 0.00 0.00 O +HETATM 1344 H8 MOL 84 4.860 41.660 38.710 0.00 0.00 H +HETATM 1345 C1 MOL 85 4.640 25.560 55.060 0.00 0.00 C +HETATM 1346 H1 MOL 85 4.600 24.810 55.830 0.00 0.00 H +HETATM 1347 C2 MOL 85 5.390 26.700 55.360 0.00 0.00 C +HETATM 1348 H2 MOL 85 5.850 26.800 56.330 0.00 0.00 H +HETATM 1349 C3 MOL 85 5.520 27.750 54.440 0.00 0.00 C +HETATM 1350 H3 MOL 85 5.940 28.700 54.730 0.00 0.00 H +HETATM 1351 C4 MOL 85 5.000 27.560 53.160 0.00 0.00 C +HETATM 1352 H4 MOL 85 5.260 28.220 52.340 0.00 0.00 H +HETATM 1353 C5 MOL 85 4.270 26.400 52.880 0.00 0.00 C +HETATM 1354 H5 MOL 85 3.910 26.260 51.870 0.00 0.00 H +HETATM 1355 C6 MOL 85 4.090 25.350 53.790 0.00 0.00 C +HETATM 1356 C7 MOL 85 3.240 24.150 53.460 0.00 0.00 C +HETATM 1357 H6 MOL 85 2.250 24.360 53.080 0.00 0.00 H +HETATM 1358 H7 MOL 85 3.120 23.660 54.430 0.00 0.00 H +HETATM 1359 O1 MOL 85 3.910 23.260 52.590 0.00 0.00 O +HETATM 1360 H8 MOL 85 4.660 22.980 53.100 0.00 0.00 H +HETATM 1361 C1 MOL 86 47.100 35.860 31.510 0.00 0.00 C +HETATM 1362 H1 MOL 86 47.060 35.170 30.680 0.00 0.00 H +HETATM 1363 C2 MOL 86 47.550 35.500 32.790 0.00 0.00 C +HETATM 1364 H2 MOL 86 48.010 34.530 32.950 0.00 0.00 H +HETATM 1365 C3 MOL 86 47.480 36.410 33.840 0.00 0.00 C +HETATM 1366 H3 MOL 86 47.850 36.190 34.830 0.00 0.00 H +HETATM 1367 C4 MOL 86 47.170 37.750 33.570 0.00 0.00 C +HETATM 1368 H4 MOL 86 47.160 38.440 34.400 0.00 0.00 H +HETATM 1369 C5 MOL 86 46.750 38.140 32.290 0.00 0.00 C +HETATM 1370 H5 MOL 86 46.430 39.160 32.100 0.00 0.00 H +HETATM 1371 C6 MOL 86 46.710 37.180 31.270 0.00 0.00 C +HETATM 1372 C7 MOL 86 46.320 37.600 29.870 0.00 0.00 C +HETATM 1373 H6 MOL 86 47.180 37.490 29.210 0.00 0.00 H +HETATM 1374 H7 MOL 86 46.120 38.670 29.830 0.00 0.00 H +HETATM 1375 O1 MOL 86 45.190 36.860 29.470 0.00 0.00 O +HETATM 1376 H8 MOL 86 44.750 36.660 30.280 0.00 0.00 H +HETATM 1377 C1 MOL 87 24.240 49.740 19.550 0.00 0.00 C +HETATM 1378 H1 MOL 87 25.310 49.700 19.680 0.00 0.00 H +HETATM 1379 C2 MOL 87 23.590 50.970 19.690 0.00 0.00 C +HETATM 1380 H2 MOL 87 24.150 51.800 20.110 0.00 0.00 H +HETATM 1381 C3 MOL 87 22.220 51.160 19.480 0.00 0.00 C +HETATM 1382 H3 MOL 87 21.730 52.090 19.730 0.00 0.00 H +HETATM 1383 C4 MOL 87 21.490 50.030 19.080 0.00 0.00 C +HETATM 1384 H4 MOL 87 20.430 50.080 18.930 0.00 0.00 H +HETATM 1385 C5 MOL 87 22.110 48.780 18.950 0.00 0.00 C +HETATM 1386 H5 MOL 87 21.570 47.890 18.650 0.00 0.00 H +HETATM 1387 C6 MOL 87 23.460 48.610 19.280 0.00 0.00 C +HETATM 1388 C7 MOL 87 24.080 47.250 19.100 0.00 0.00 C +HETATM 1389 H6 MOL 87 24.610 47.350 18.160 0.00 0.00 H +HETATM 1390 H7 MOL 87 23.320 46.480 18.960 0.00 0.00 H +HETATM 1391 O1 MOL 87 24.820 46.910 20.250 0.00 0.00 O +HETATM 1392 H8 MOL 87 25.460 47.590 20.400 0.00 0.00 H +HETATM 1393 C1 MOL 88 47.190 18.460 39.240 0.00 0.00 C +HETATM 1394 H1 MOL 88 47.290 17.510 39.740 0.00 0.00 H +HETATM 1395 C2 MOL 88 46.810 18.490 37.890 0.00 0.00 C +HETATM 1396 H2 MOL 88 46.410 17.580 37.450 0.00 0.00 H +HETATM 1397 C3 MOL 88 46.940 19.700 37.200 0.00 0.00 C +HETATM 1398 H3 MOL 88 46.570 19.860 36.200 0.00 0.00 H +HETATM 1399 C4 MOL 88 47.500 20.820 37.830 0.00 0.00 C +HETATM 1400 H4 MOL 88 47.340 21.770 37.350 0.00 0.00 H +HETATM 1401 C5 MOL 88 47.820 20.800 39.190 0.00 0.00 C +HETATM 1402 H5 MOL 88 48.120 21.670 39.760 0.00 0.00 H +HETATM 1403 C6 MOL 88 47.630 19.610 39.900 0.00 0.00 C +HETATM 1404 C7 MOL 88 48.120 19.530 41.330 0.00 0.00 C +HETATM 1405 H6 MOL 88 47.880 18.590 41.830 0.00 0.00 H +HETATM 1406 H7 MOL 88 47.700 20.400 41.830 0.00 0.00 H +HETATM 1407 O1 MOL 88 49.510 19.730 41.460 0.00 0.00 O +HETATM 1408 H8 MOL 88 49.870 18.960 41.040 0.00 0.00 H +HETATM 1409 C1 MOL 89 5.000 39.010 14.690 0.00 0.00 C +HETATM 1410 H1 MOL 89 5.740 38.930 15.480 0.00 0.00 H +HETATM 1411 C2 MOL 89 4.230 40.170 14.780 0.00 0.00 C +HETATM 1412 H2 MOL 89 4.270 40.770 15.680 0.00 0.00 H +HETATM 1413 C3 MOL 89 3.380 40.480 13.710 0.00 0.00 C +HETATM 1414 H3 MOL 89 2.820 41.390 13.840 0.00 0.00 H +HETATM 1415 C4 MOL 89 3.380 39.700 12.550 0.00 0.00 C +HETATM 1416 H4 MOL 89 2.880 40.120 11.690 0.00 0.00 H +HETATM 1417 C5 MOL 89 4.110 38.500 12.540 0.00 0.00 C +HETATM 1418 H5 MOL 89 4.240 37.940 11.620 0.00 0.00 H +HETATM 1419 C6 MOL 89 4.940 38.130 13.600 0.00 0.00 C +HETATM 1420 C7 MOL 89 5.840 36.920 13.630 0.00 0.00 C +HETATM 1421 H6 MOL 89 5.440 36.130 14.270 0.00 0.00 H +HETATM 1422 H7 MOL 89 6.890 37.110 13.850 0.00 0.00 H +HETATM 1423 O1 MOL 89 5.920 36.350 12.340 0.00 0.00 O +HETATM 1424 H8 MOL 89 5.750 35.420 12.380 0.00 0.00 H +HETATM 1425 C1 MOL 90 26.580 31.980 41.780 0.00 0.00 C +HETATM 1426 H1 MOL 90 25.740 32.520 41.370 0.00 0.00 H +HETATM 1427 C2 MOL 90 26.850 31.840 43.150 0.00 0.00 C +HETATM 1428 H2 MOL 90 26.080 32.090 43.860 0.00 0.00 H +HETATM 1429 C3 MOL 90 28.040 31.250 43.580 0.00 0.00 C +HETATM 1430 H3 MOL 90 28.270 31.220 44.640 0.00 0.00 H +HETATM 1431 C4 MOL 90 29.000 30.850 42.640 0.00 0.00 C +HETATM 1432 H4 MOL 90 29.990 30.500 42.900 0.00 0.00 H +HETATM 1433 C5 MOL 90 28.780 31.110 41.290 0.00 0.00 C +HETATM 1434 H5 MOL 90 29.470 30.840 40.500 0.00 0.00 H +HETATM 1435 C6 MOL 90 27.590 31.710 40.850 0.00 0.00 C +HETATM 1436 C7 MOL 90 27.510 32.100 39.390 0.00 0.00 C +HETATM 1437 H6 MOL 90 26.950 31.270 38.950 0.00 0.00 H +HETATM 1438 H7 MOL 90 28.540 32.200 39.050 0.00 0.00 H +HETATM 1439 O1 MOL 90 26.820 33.290 39.080 0.00 0.00 O +HETATM 1440 H8 MOL 90 25.940 33.220 39.420 0.00 0.00 H +HETATM 1441 C1 MOL 91 6.480 13.910 1.580 0.00 0.00 C +HETATM 1442 H1 MOL 91 5.470 13.670 1.880 0.00 0.00 H +HETATM 1443 C2 MOL 91 6.780 14.160 0.240 0.00 0.00 C +HETATM 1444 H2 MOL 91 5.980 14.120 -0.480 0.00 0.00 H +HETATM 1445 C3 MOL 91 8.090 14.440 -0.170 0.00 0.00 C +HETATM 1446 H3 MOL 91 8.270 14.710 -1.200 0.00 0.00 H +HETATM 1447 C4 MOL 91 9.070 14.580 0.820 0.00 0.00 C +HETATM 1448 H4 MOL 91 10.070 14.780 0.470 0.00 0.00 H +HETATM 1449 C5 MOL 91 8.790 14.270 2.160 0.00 0.00 C +HETATM 1450 H5 MOL 91 9.610 14.310 2.870 0.00 0.00 H +HETATM 1451 C6 MOL 91 7.500 13.900 2.540 0.00 0.00 C +HETATM 1452 C7 MOL 91 7.090 13.620 3.970 0.00 0.00 C +HETATM 1453 H6 MOL 91 6.120 13.130 4.070 0.00 0.00 H +HETATM 1454 H7 MOL 91 7.020 14.590 4.450 0.00 0.00 H +HETATM 1455 O1 MOL 91 8.060 12.990 4.770 0.00 0.00 O +HETATM 1456 H8 MOL 91 8.160 12.090 4.480 0.00 0.00 H +HETATM 1457 C1 MOL 92 24.980 39.370 30.270 0.00 0.00 C +HETATM 1458 H1 MOL 92 25.440 38.570 29.700 0.00 0.00 H +HETATM 1459 C2 MOL 92 23.830 39.840 29.630 0.00 0.00 C +HETATM 1460 H2 MOL 92 23.560 39.470 28.650 0.00 0.00 H +HETATM 1461 C3 MOL 92 23.160 40.880 30.290 0.00 0.00 C +HETATM 1462 H3 MOL 92 22.310 41.340 29.810 0.00 0.00 H +HETATM 1463 C4 MOL 92 23.720 41.450 31.440 0.00 0.00 C +HETATM 1464 H4 MOL 92 23.220 42.220 32.000 0.00 0.00 H +HETATM 1465 C5 MOL 92 24.910 40.990 32.020 0.00 0.00 C +HETATM 1466 H5 MOL 92 25.410 41.630 32.730 0.00 0.00 H +HETATM 1467 C6 MOL 92 25.550 39.890 31.440 0.00 0.00 C +HETATM 1468 C7 MOL 92 26.860 39.350 31.960 0.00 0.00 C +HETATM 1469 H6 MOL 92 27.110 39.780 32.930 0.00 0.00 H +HETATM 1470 H7 MOL 92 27.650 39.730 31.310 0.00 0.00 H +HETATM 1471 O1 MOL 92 26.850 37.950 32.100 0.00 0.00 O +HETATM 1472 H8 MOL 92 26.090 37.540 31.720 0.00 0.00 H +HETATM 1473 C1 MOL 93 32.060 43.960 1.990 0.00 0.00 C +HETATM 1474 H1 MOL 93 31.060 44.260 1.690 0.00 0.00 H +HETATM 1475 C2 MOL 93 33.000 44.930 2.340 0.00 0.00 C +HETATM 1476 H2 MOL 93 32.760 45.980 2.360 0.00 0.00 H +HETATM 1477 C3 MOL 93 34.220 44.470 2.870 0.00 0.00 C +HETATM 1478 H3 MOL 93 35.060 45.040 3.220 0.00 0.00 H +HETATM 1479 C4 MOL 93 34.520 43.110 2.830 0.00 0.00 C +HETATM 1480 H4 MOL 93 35.390 42.740 3.370 0.00 0.00 H +HETATM 1481 C5 MOL 93 33.570 42.170 2.410 0.00 0.00 C +HETATM 1482 H5 MOL 93 33.770 41.110 2.350 0.00 0.00 H +HETATM 1483 C6 MOL 93 32.300 42.580 1.990 0.00 0.00 C +HETATM 1484 C7 MOL 93 31.240 41.600 1.550 0.00 0.00 C +HETATM 1485 H6 MOL 93 31.590 40.570 1.520 0.00 0.00 H +HETATM 1486 H7 MOL 93 31.060 41.930 0.520 0.00 0.00 H +HETATM 1487 O1 MOL 93 30.100 41.770 2.360 0.00 0.00 O +HETATM 1488 H8 MOL 93 30.230 41.140 3.050 0.00 0.00 H +HETATM 1489 C1 MOL 94 41.890 18.880 14.830 0.00 0.00 C +HETATM 1490 H1 MOL 94 42.310 19.130 15.790 0.00 0.00 H +HETATM 1491 C2 MOL 94 42.670 18.230 13.860 0.00 0.00 C +HETATM 1492 H2 MOL 94 43.720 18.120 14.070 0.00 0.00 H +HETATM 1493 C3 MOL 94 42.140 18.000 12.590 0.00 0.00 C +HETATM 1494 H3 MOL 94 42.840 17.670 11.840 0.00 0.00 H +HETATM 1495 C4 MOL 94 40.770 18.200 12.400 0.00 0.00 C +HETATM 1496 H4 MOL 94 40.180 18.060 11.500 0.00 0.00 H +HETATM 1497 C5 MOL 94 39.950 18.710 13.410 0.00 0.00 C +HETATM 1498 H5 MOL 94 38.930 19.020 13.220 0.00 0.00 H +HETATM 1499 C6 MOL 94 40.540 19.160 14.600 0.00 0.00 C +HETATM 1500 C7 MOL 94 39.670 19.800 15.660 0.00 0.00 C +HETATM 1501 H6 MOL 94 39.850 19.540 16.700 0.00 0.00 H +HETATM 1502 H7 MOL 94 38.640 19.460 15.530 0.00 0.00 H +HETATM 1503 O1 MOL 94 39.730 21.210 15.610 0.00 0.00 O +HETATM 1504 H8 MOL 94 39.470 21.540 14.760 0.00 0.00 H +HETATM 1505 C1 MOL 95 46.180 32.610 35.530 0.00 0.00 C +HETATM 1506 H1 MOL 95 46.140 33.040 36.510 0.00 0.00 H +HETATM 1507 C2 MOL 95 45.370 32.960 34.440 0.00 0.00 C +HETATM 1508 H2 MOL 95 44.790 33.870 34.490 0.00 0.00 H +HETATM 1509 C3 MOL 95 45.430 32.260 33.230 0.00 0.00 C +HETATM 1510 H3 MOL 95 44.970 32.640 32.340 0.00 0.00 H +HETATM 1511 C4 MOL 95 46.260 31.130 33.120 0.00 0.00 C +HETATM 1512 H4 MOL 95 46.180 30.470 32.270 0.00 0.00 H +HETATM 1513 C5 MOL 95 47.040 30.750 34.220 0.00 0.00 C +HETATM 1514 H5 MOL 95 47.640 29.850 34.150 0.00 0.00 H +HETATM 1515 C6 MOL 95 46.950 31.450 35.420 0.00 0.00 C +HETATM 1516 C7 MOL 95 47.660 30.940 36.660 0.00 0.00 C +HETATM 1517 H6 MOL 95 47.430 31.710 37.390 0.00 0.00 H +HETATM 1518 H7 MOL 95 48.740 30.930 36.530 0.00 0.00 H +HETATM 1519 O1 MOL 95 46.980 29.740 36.940 0.00 0.00 O +HETATM 1520 H8 MOL 95 46.310 29.630 36.280 0.00 0.00 H +HETATM 1521 C1 MOL 96 36.340 27.190 34.560 0.00 0.00 C +HETATM 1522 H1 MOL 96 36.110 26.400 35.260 0.00 0.00 H +HETATM 1523 C2 MOL 96 37.020 26.740 33.430 0.00 0.00 C +HETATM 1524 H2 MOL 96 37.200 25.690 33.270 0.00 0.00 H +HETATM 1525 C3 MOL 96 37.290 27.640 32.390 0.00 0.00 C +HETATM 1526 H3 MOL 96 37.720 27.320 31.450 0.00 0.00 H +HETATM 1527 C4 MOL 96 37.030 29.000 32.610 0.00 0.00 C +HETATM 1528 H4 MOL 96 37.260 29.770 31.880 0.00 0.00 H +HETATM 1529 C5 MOL 96 36.470 29.430 33.820 0.00 0.00 C +HETATM 1530 H5 MOL 96 36.230 30.460 34.020 0.00 0.00 H +HETATM 1531 C6 MOL 96 36.040 28.540 34.810 0.00 0.00 C +HETATM 1532 C7 MOL 96 35.340 28.980 36.070 0.00 0.00 C +HETATM 1533 H6 MOL 96 35.160 30.050 36.150 0.00 0.00 H +HETATM 1534 H7 MOL 96 36.030 28.670 36.860 0.00 0.00 H +HETATM 1535 O1 MOL 96 34.120 28.310 36.300 0.00 0.00 O +HETATM 1536 H8 MOL 96 33.860 28.480 37.190 0.00 0.00 H +HETATM 1537 C1 MOL 97 26.220 41.630 22.690 0.00 0.00 C +HETATM 1538 H1 MOL 97 26.880 40.870 22.290 0.00 0.00 H +HETATM 1539 C2 MOL 97 25.060 41.300 23.390 0.00 0.00 C +HETATM 1540 H2 MOL 97 24.790 40.270 23.550 0.00 0.00 H +HETATM 1541 C3 MOL 97 24.160 42.290 23.830 0.00 0.00 C +HETATM 1542 H3 MOL 97 23.250 41.970 24.310 0.00 0.00 H +HETATM 1543 C4 MOL 97 24.430 43.600 23.430 0.00 0.00 C +HETATM 1544 H4 MOL 97 23.570 44.220 23.660 0.00 0.00 H +HETATM 1545 C5 MOL 97 25.570 43.950 22.700 0.00 0.00 C +HETATM 1546 H5 MOL 97 25.850 44.970 22.490 0.00 0.00 H +HETATM 1547 C6 MOL 97 26.480 42.950 22.310 0.00 0.00 C +HETATM 1548 C7 MOL 97 27.680 43.440 21.540 0.00 0.00 C +HETATM 1549 H6 MOL 97 27.360 44.190 20.820 0.00 0.00 H +HETATM 1550 H7 MOL 97 28.120 42.670 20.900 0.00 0.00 H +HETATM 1551 O1 MOL 97 28.620 44.120 22.340 0.00 0.00 O +HETATM 1552 H8 MOL 97 28.960 43.570 23.030 0.00 0.00 H +HETATM 1553 C1 MOL 98 4.530 18.240 36.110 0.00 0.00 C +HETATM 1554 H1 MOL 98 3.640 18.850 36.170 0.00 0.00 H +HETATM 1555 C2 MOL 98 4.480 16.850 35.910 0.00 0.00 C +HETATM 1556 H2 MOL 98 3.490 16.430 35.820 0.00 0.00 H +HETATM 1557 C3 MOL 98 5.660 16.110 35.920 0.00 0.00 C +HETATM 1558 H3 MOL 98 5.660 15.030 35.930 0.00 0.00 H +HETATM 1559 C4 MOL 98 6.900 16.740 36.070 0.00 0.00 C +HETATM 1560 H4 MOL 98 7.800 16.150 36.030 0.00 0.00 H +HETATM 1561 C5 MOL 98 6.970 18.140 36.160 0.00 0.00 C +HETATM 1562 H5 MOL 98 7.900 18.650 36.330 0.00 0.00 H +HETATM 1563 C6 MOL 98 5.770 18.840 36.340 0.00 0.00 C +HETATM 1564 C7 MOL 98 5.880 20.330 36.570 0.00 0.00 C +HETATM 1565 H6 MOL 98 5.010 20.800 36.110 0.00 0.00 H +HETATM 1566 H7 MOL 98 6.820 20.720 36.180 0.00 0.00 H +HETATM 1567 O1 MOL 98 5.900 20.490 37.970 0.00 0.00 O +HETATM 1568 H8 MOL 98 6.760 20.150 38.180 0.00 0.00 H +HETATM 1569 C1 MOL 99 4.730 46.450 49.190 0.00 0.00 C +HETATM 1570 H1 MOL 99 5.690 46.560 48.700 0.00 0.00 H +HETATM 1571 C2 MOL 99 4.510 45.740 50.380 0.00 0.00 C +HETATM 1572 H2 MOL 99 5.300 45.350 51.010 0.00 0.00 H +HETATM 1573 C3 MOL 99 3.220 45.670 50.910 0.00 0.00 C +HETATM 1574 H3 MOL 99 3.140 45.240 51.900 0.00 0.00 H +HETATM 1575 C4 MOL 99 2.150 46.300 50.270 0.00 0.00 C +HETATM 1576 H4 MOL 99 1.180 46.230 50.740 0.00 0.00 H +HETATM 1577 C5 MOL 99 2.400 47.060 49.120 0.00 0.00 C +HETATM 1578 H5 MOL 99 1.620 47.740 48.790 0.00 0.00 H +HETATM 1579 C6 MOL 99 3.680 47.100 48.550 0.00 0.00 C +HETATM 1580 C7 MOL 99 3.860 47.920 47.290 0.00 0.00 C +HETATM 1581 H6 MOL 99 2.900 48.030 46.790 0.00 0.00 H +HETATM 1582 H7 MOL 99 4.520 47.460 46.560 0.00 0.00 H +HETATM 1583 O1 MOL 99 4.350 49.180 47.720 0.00 0.00 O +HETATM 1584 H8 MOL 99 5.150 49.040 48.200 0.00 0.00 H +HETATM 1585 C1 MOL 100 18.080 23.990 14.580 0.00 0.00 C +HETATM 1586 H1 MOL 100 17.900 23.410 13.680 0.00 0.00 H +HETATM 1587 C2 MOL 100 17.010 24.710 15.110 0.00 0.00 C +HETATM 1588 H2 MOL 100 15.970 24.610 14.830 0.00 0.00 H +HETATM 1589 C3 MOL 100 17.240 25.610 16.160 0.00 0.00 C +HETATM 1590 H3 MOL 100 16.410 26.190 16.540 0.00 0.00 H +HETATM 1591 C4 MOL 100 18.510 25.820 16.720 0.00 0.00 C +HETATM 1592 H4 MOL 100 18.690 26.500 17.540 0.00 0.00 H +HETATM 1593 C5 MOL 100 19.550 25.050 16.200 0.00 0.00 C +HETATM 1594 H5 MOL 100 20.540 25.310 16.560 0.00 0.00 H +HETATM 1595 C6 MOL 100 19.340 24.120 15.170 0.00 0.00 C +HETATM 1596 C7 MOL 100 20.470 23.180 14.860 0.00 0.00 C +HETATM 1597 H6 MOL 100 20.460 22.640 13.910 0.00 0.00 H +HETATM 1598 H7 MOL 100 20.460 22.460 15.690 0.00 0.00 H +HETATM 1599 O1 MOL 100 21.680 23.890 14.930 0.00 0.00 O +HETATM 1600 H8 MOL 100 21.780 24.450 14.180 0.00 0.00 H +HETATM 1601 C1 MOL 101 15.330 26.890 49.560 0.00 0.00 C +HETATM 1602 H1 MOL 101 14.790 26.680 48.650 0.00 0.00 H +HETATM 1603 C2 MOL 101 15.950 25.810 50.200 0.00 0.00 C +HETATM 1604 H2 MOL 101 15.870 24.790 49.870 0.00 0.00 H +HETATM 1605 C3 MOL 101 16.680 26.090 51.360 0.00 0.00 C +HETATM 1606 H3 MOL 101 17.280 25.340 51.860 0.00 0.00 H +HETATM 1607 C4 MOL 101 16.660 27.350 51.960 0.00 0.00 C +HETATM 1608 H4 MOL 101 17.050 27.510 52.960 0.00 0.00 H +HETATM 1609 C5 MOL 101 15.990 28.420 51.360 0.00 0.00 C +HETATM 1610 H5 MOL 101 15.960 29.420 51.780 0.00 0.00 H +HETATM 1611 C6 MOL 101 15.370 28.170 50.130 0.00 0.00 C +HETATM 1612 C7 MOL 101 14.790 29.390 49.460 0.00 0.00 C +HETATM 1613 H6 MOL 101 14.340 30.120 50.140 0.00 0.00 H +HETATM 1614 H7 MOL 101 13.970 29.110 48.800 0.00 0.00 H +HETATM 1615 O1 MOL 101 15.920 29.930 48.810 0.00 0.00 O +HETATM 1616 H8 MOL 101 16.470 29.250 48.460 0.00 0.00 H +HETATM 1617 C1 MOL 102 6.260 2.250 28.670 0.00 0.00 C +HETATM 1618 H1 MOL 102 6.890 1.690 28.000 0.00 0.00 H +HETATM 1619 C2 MOL 102 6.700 2.460 29.980 0.00 0.00 C +HETATM 1620 H2 MOL 102 7.670 2.050 30.220 0.00 0.00 H +HETATM 1621 C3 MOL 102 5.900 3.140 30.910 0.00 0.00 C +HETATM 1622 H3 MOL 102 6.140 3.230 31.960 0.00 0.00 H +HETATM 1623 C4 MOL 102 4.640 3.560 30.450 0.00 0.00 C +HETATM 1624 H4 MOL 102 4.040 4.100 31.160 0.00 0.00 H +HETATM 1625 C5 MOL 102 4.270 3.490 29.110 0.00 0.00 C +HETATM 1626 H5 MOL 102 3.400 3.990 28.700 0.00 0.00 H +HETATM 1627 C6 MOL 102 5.120 2.890 28.160 0.00 0.00 C +HETATM 1628 C7 MOL 102 4.750 2.810 26.700 0.00 0.00 C +HETATM 1629 H6 MOL 102 3.710 2.460 26.660 0.00 0.00 H +HETATM 1630 H7 MOL 102 5.490 2.150 26.270 0.00 0.00 H +HETATM 1631 O1 MOL 102 4.700 4.080 26.110 0.00 0.00 O +HETATM 1632 H8 MOL 102 4.120 4.560 26.680 0.00 0.00 H +HETATM 1633 C1 MOL 103 26.740 16.530 5.030 0.00 0.00 C +HETATM 1634 H1 MOL 103 26.080 16.790 5.850 0.00 0.00 H +HETATM 1635 C2 MOL 103 28.080 16.290 5.360 0.00 0.00 C +HETATM 1636 H2 MOL 103 28.310 16.320 6.420 0.00 0.00 H +HETATM 1637 C3 MOL 103 28.980 15.760 4.430 0.00 0.00 C +HETATM 1638 H3 MOL 103 29.970 15.410 4.710 0.00 0.00 H +HETATM 1639 C4 MOL 103 28.620 15.600 3.090 0.00 0.00 C +HETATM 1640 H4 MOL 103 29.360 15.150 2.440 0.00 0.00 H +HETATM 1641 C5 MOL 103 27.280 15.830 2.750 0.00 0.00 C +HETATM 1642 H5 MOL 103 26.960 15.650 1.730 0.00 0.00 H +HETATM 1643 C6 MOL 103 26.360 16.240 3.710 0.00 0.00 C +HETATM 1644 C7 MOL 103 24.920 16.400 3.280 0.00 0.00 C +HETATM 1645 H6 MOL 103 24.590 15.850 2.410 0.00 0.00 H +HETATM 1646 H7 MOL 103 24.620 17.430 3.070 0.00 0.00 H +HETATM 1647 O1 MOL 103 24.030 15.900 4.250 0.00 0.00 O +HETATM 1648 H8 MOL 103 23.650 16.630 4.720 0.00 0.00 H +HETATM 1649 C1 MOL 104 1.840 7.240 11.100 0.00 0.00 C +HETATM 1650 H1 MOL 104 1.120 6.460 10.910 0.00 0.00 H +HETATM 1651 C2 MOL 104 1.750 7.890 12.330 0.00 0.00 C +HETATM 1652 H2 MOL 104 0.830 7.680 12.860 0.00 0.00 H +HETATM 1653 C3 MOL 104 2.660 8.890 12.700 0.00 0.00 C +HETATM 1654 H3 MOL 104 2.530 9.320 13.680 0.00 0.00 H +HETATM 1655 C4 MOL 104 3.620 9.280 11.760 0.00 0.00 C +HETATM 1656 H4 MOL 104 4.370 10.040 11.900 0.00 0.00 H +HETATM 1657 C5 MOL 104 3.740 8.650 10.520 0.00 0.00 C +HETATM 1658 H5 MOL 104 4.270 9.130 9.700 0.00 0.00 H +HETATM 1659 C6 MOL 104 2.770 7.710 10.170 0.00 0.00 C +HETATM 1660 C7 MOL 104 2.730 7.150 8.770 0.00 0.00 C +HETATM 1661 H6 MOL 104 2.440 7.980 8.130 0.00 0.00 H +HETATM 1662 H7 MOL 104 1.970 6.370 8.730 0.00 0.00 H +HETATM 1663 O1 MOL 104 3.950 6.730 8.180 0.00 0.00 O +HETATM 1664 H8 MOL 104 4.560 7.450 8.120 0.00 0.00 H +HETATM 1665 C1 MOL 105 14.460 51.430 52.310 0.00 0.00 C +HETATM 1666 H1 MOL 105 14.550 50.570 51.660 0.00 0.00 H +HETATM 1667 C2 MOL 105 13.270 51.790 52.960 0.00 0.00 C +HETATM 1668 H2 MOL 105 12.340 51.290 52.710 0.00 0.00 H +HETATM 1669 C3 MOL 105 13.240 52.830 53.900 0.00 0.00 C +HETATM 1670 H3 MOL 105 12.340 53.260 54.300 0.00 0.00 H +HETATM 1671 C4 MOL 105 14.460 53.370 54.330 0.00 0.00 C +HETATM 1672 H4 MOL 105 14.560 54.060 55.150 0.00 0.00 H +HETATM 1673 C5 MOL 105 15.660 53.060 53.670 0.00 0.00 C +HETATM 1674 H5 MOL 105 16.560 53.540 54.030 0.00 0.00 H +HETATM 1675 C6 MOL 105 15.650 52.070 52.680 0.00 0.00 C +HETATM 1676 C7 MOL 105 16.950 51.640 52.050 0.00 0.00 C +HETATM 1677 H6 MOL 105 17.660 52.370 52.420 0.00 0.00 H +HETATM 1678 H7 MOL 105 16.920 51.790 50.970 0.00 0.00 H +HETATM 1679 O1 MOL 105 17.130 50.300 52.440 0.00 0.00 O +HETATM 1680 H8 MOL 105 16.360 49.760 52.370 0.00 0.00 H +HETATM 1681 C1 MOL 106 9.050 28.650 51.610 0.00 0.00 C +HETATM 1682 H1 MOL 106 8.930 28.450 50.560 0.00 0.00 H +HETATM 1683 C2 MOL 106 8.180 29.560 52.220 0.00 0.00 C +HETATM 1684 H2 MOL 106 7.360 30.040 51.700 0.00 0.00 H +HETATM 1685 C3 MOL 106 8.310 29.880 53.570 0.00 0.00 C +HETATM 1686 H3 MOL 106 7.580 30.470 54.110 0.00 0.00 H +HETATM 1687 C4 MOL 106 9.310 29.260 54.340 0.00 0.00 C +HETATM 1688 H4 MOL 106 9.420 29.580 55.360 0.00 0.00 H +HETATM 1689 C5 MOL 106 10.250 28.420 53.730 0.00 0.00 C +HETATM 1690 H5 MOL 106 11.190 28.170 54.180 0.00 0.00 H +HETATM 1691 C6 MOL 106 10.100 28.110 52.370 0.00 0.00 C +HETATM 1692 C7 MOL 106 11.090 27.190 51.710 0.00 0.00 C +HETATM 1693 H6 MOL 106 10.530 26.510 51.070 0.00 0.00 H +HETATM 1694 H7 MOL 106 11.700 26.780 52.510 0.00 0.00 H +HETATM 1695 O1 MOL 106 12.030 27.850 50.890 0.00 0.00 O +HETATM 1696 H8 MOL 106 12.640 28.120 51.550 0.00 0.00 H +HETATM 1697 C1 MOL 107 47.880 11.860 1.320 0.00 0.00 C +HETATM 1698 H1 MOL 107 47.200 11.040 1.140 0.00 0.00 H +HETATM 1699 C2 MOL 107 49.280 11.800 1.290 0.00 0.00 C +HETATM 1700 H2 MOL 107 49.660 10.840 0.990 0.00 0.00 H +HETATM 1701 C3 MOL 107 50.030 12.920 1.680 0.00 0.00 C +HETATM 1702 H3 MOL 107 51.100 12.920 1.570 0.00 0.00 H +HETATM 1703 C4 MOL 107 49.350 14.060 2.120 0.00 0.00 C +HETATM 1704 H4 MOL 107 49.810 15.020 2.280 0.00 0.00 H +HETATM 1705 C5 MOL 107 47.950 14.120 2.130 0.00 0.00 C +HETATM 1706 H5 MOL 107 47.520 15.100 2.260 0.00 0.00 H +HETATM 1707 C6 MOL 107 47.190 13.000 1.760 0.00 0.00 C +HETATM 1708 C7 MOL 107 45.700 13.190 1.730 0.00 0.00 C +HETATM 1709 H6 MOL 107 45.410 13.400 2.760 0.00 0.00 H +HETATM 1710 H7 MOL 107 45.230 12.250 1.440 0.00 0.00 H +HETATM 1711 O1 MOL 107 45.370 14.220 0.830 0.00 0.00 O +HETATM 1712 H8 MOL 107 46.140 14.780 0.820 0.00 0.00 H +HETATM 1713 C1 MOL 108 20.760 43.490 38.430 0.00 0.00 C +HETATM 1714 H1 MOL 108 21.270 42.860 39.150 0.00 0.00 H +HETATM 1715 C2 MOL 108 21.620 44.060 37.490 0.00 0.00 C +HETATM 1716 H2 MOL 108 22.700 44.040 37.540 0.00 0.00 H +HETATM 1717 C3 MOL 108 21.020 44.840 36.490 0.00 0.00 C +HETATM 1718 H3 MOL 108 21.760 45.300 35.850 0.00 0.00 H +HETATM 1719 C4 MOL 108 19.650 44.920 36.250 0.00 0.00 C +HETATM 1720 H4 MOL 108 19.210 45.590 35.520 0.00 0.00 H +HETATM 1721 C5 MOL 108 18.850 44.290 37.210 0.00 0.00 C +HETATM 1722 H5 MOL 108 17.790 44.430 37.060 0.00 0.00 H +HETATM 1723 C6 MOL 108 19.370 43.600 38.310 0.00 0.00 C +HETATM 1724 C7 MOL 108 18.450 42.900 39.290 0.00 0.00 C +HETATM 1725 H6 MOL 108 17.590 42.560 38.720 0.00 0.00 H +HETATM 1726 H7 MOL 108 17.920 43.530 40.010 0.00 0.00 H +HETATM 1727 O1 MOL 108 19.110 41.870 39.990 0.00 0.00 O +HETATM 1728 H8 MOL 108 19.750 42.250 40.570 0.00 0.00 H +HETATM 1729 C1 MOL 109 8.160 4.040 23.140 0.00 0.00 C +HETATM 1730 H1 MOL 109 8.200 3.010 22.800 0.00 0.00 H +HETATM 1731 C2 MOL 109 9.220 4.740 23.710 0.00 0.00 C +HETATM 1732 H2 MOL 109 10.150 4.200 23.750 0.00 0.00 H +HETATM 1733 C3 MOL 109 8.970 5.970 24.330 0.00 0.00 C +HETATM 1734 H3 MOL 109 9.650 6.680 24.780 0.00 0.00 H +HETATM 1735 C4 MOL 109 7.650 6.440 24.370 0.00 0.00 C +HETATM 1736 H4 MOL 109 7.400 7.370 24.860 0.00 0.00 H +HETATM 1737 C5 MOL 109 6.570 5.760 23.800 0.00 0.00 C +HETATM 1738 H5 MOL 109 5.590 6.230 23.840 0.00 0.00 H +HETATM 1739 C6 MOL 109 6.850 4.550 23.150 0.00 0.00 C +HETATM 1740 C7 MOL 109 5.730 3.730 22.590 0.00 0.00 C +HETATM 1741 H6 MOL 109 6.100 3.030 21.840 0.00 0.00 H +HETATM 1742 H7 MOL 109 5.040 4.430 22.120 0.00 0.00 H +HETATM 1743 O1 MOL 109 5.030 3.050 23.610 0.00 0.00 O +HETATM 1744 H8 MOL 109 5.220 3.410 24.470 0.00 0.00 H +HETATM 1745 C1 MOL 110 32.860 20.340 48.420 0.00 0.00 C +HETATM 1746 H1 MOL 110 32.500 20.480 47.410 0.00 0.00 H +HETATM 1747 C2 MOL 110 33.270 21.470 49.130 0.00 0.00 C +HETATM 1748 H2 MOL 110 33.310 22.430 48.630 0.00 0.00 H +HETATM 1749 C3 MOL 110 33.620 21.370 50.480 0.00 0.00 C +HETATM 1750 H3 MOL 110 33.970 22.210 51.060 0.00 0.00 H +HETATM 1751 C4 MOL 110 33.480 20.170 51.190 0.00 0.00 C +HETATM 1752 H4 MOL 110 33.660 20.170 52.250 0.00 0.00 H +HETATM 1753 C5 MOL 110 32.860 19.110 50.510 0.00 0.00 C +HETATM 1754 H5 MOL 110 32.420 18.250 50.980 0.00 0.00 H +HETATM 1755 C6 MOL 110 32.600 19.160 49.130 0.00 0.00 C +HETATM 1756 C7 MOL 110 31.830 18.040 48.460 0.00 0.00 C +HETATM 1757 H6 MOL 110 32.030 17.170 49.090 0.00 0.00 H +HETATM 1758 H7 MOL 110 32.300 17.870 47.490 0.00 0.00 H +HETATM 1759 O1 MOL 110 30.470 18.400 48.430 0.00 0.00 O +HETATM 1760 H8 MOL 110 30.360 19.180 48.950 0.00 0.00 H +HETATM 1761 C1 MOL 111 13.140 24.580 53.390 0.00 0.00 C +HETATM 1762 H1 MOL 111 12.900 25.500 53.910 0.00 0.00 H +HETATM 1763 C2 MOL 111 13.550 24.520 52.060 0.00 0.00 C +HETATM 1764 H2 MOL 111 13.510 25.440 51.500 0.00 0.00 H +HETATM 1765 C3 MOL 111 13.950 23.320 51.460 0.00 0.00 C +HETATM 1766 H3 MOL 111 14.100 23.380 50.390 0.00 0.00 H +HETATM 1767 C4 MOL 111 13.940 22.170 52.250 0.00 0.00 C +HETATM 1768 H4 MOL 111 14.300 21.200 51.950 0.00 0.00 H +HETATM 1769 C5 MOL 111 13.540 22.190 53.600 0.00 0.00 C +HETATM 1770 H5 MOL 111 13.510 21.280 54.170 0.00 0.00 H +HETATM 1771 C6 MOL 111 13.140 23.410 54.160 0.00 0.00 C +HETATM 1772 C7 MOL 111 12.780 23.480 55.620 0.00 0.00 C +HETATM 1773 H6 MOL 111 12.230 24.380 55.920 0.00 0.00 H +HETATM 1774 H7 MOL 111 13.700 23.440 56.210 0.00 0.00 H +HETATM 1775 O1 MOL 111 11.920 22.420 55.980 0.00 0.00 O +HETATM 1776 H8 MOL 111 11.680 22.370 56.890 0.00 0.00 H +HETATM 1777 C1 MOL 112 51.440 42.240 44.790 0.00 0.00 C +HETATM 1778 H1 MOL 112 52.370 42.780 44.690 0.00 0.00 H +HETATM 1779 C2 MOL 112 50.910 41.400 43.800 0.00 0.00 C +HETATM 1780 H2 MOL 112 51.530 41.340 42.920 0.00 0.00 H +HETATM 1781 C3 MOL 112 49.670 40.760 43.910 0.00 0.00 C +HETATM 1782 H3 MOL 112 49.240 40.140 43.140 0.00 0.00 H +HETATM 1783 C4 MOL 112 49.020 40.870 45.150 0.00 0.00 C +HETATM 1784 H4 MOL 112 48.060 40.390 45.280 0.00 0.00 H +HETATM 1785 C5 MOL 112 49.550 41.640 46.180 0.00 0.00 C +HETATM 1786 H5 MOL 112 49.070 41.770 47.140 0.00 0.00 H +HETATM 1787 C6 MOL 112 50.730 42.380 45.990 0.00 0.00 C +HETATM 1788 C7 MOL 112 51.220 43.400 46.980 0.00 0.00 C +HETATM 1789 H6 MOL 112 52.270 43.200 47.200 0.00 0.00 H +HETATM 1790 H7 MOL 112 50.650 43.410 47.910 0.00 0.00 H +HETATM 1791 O1 MOL 112 50.930 44.690 46.470 0.00 0.00 O +HETATM 1792 H8 MOL 112 50.000 44.780 46.350 0.00 0.00 H +HETATM 1793 C1 MOL 113 4.260 38.420 55.040 0.00 0.00 C +HETATM 1794 H1 MOL 113 3.480 38.400 55.790 0.00 0.00 H +HETATM 1795 C2 MOL 113 5.310 37.500 55.080 0.00 0.00 C +HETATM 1796 H2 MOL 113 5.360 36.820 55.910 0.00 0.00 H +HETATM 1797 C3 MOL 113 6.430 37.700 54.250 0.00 0.00 C +HETATM 1798 H3 MOL 113 7.250 37.010 54.380 0.00 0.00 H +HETATM 1799 C4 MOL 113 6.410 38.760 53.340 0.00 0.00 C +HETATM 1800 H4 MOL 113 7.240 38.830 52.640 0.00 0.00 H +HETATM 1801 C5 MOL 113 5.340 39.630 53.170 0.00 0.00 C +HETATM 1802 H5 MOL 113 5.220 40.400 52.410 0.00 0.00 H +HETATM 1803 C6 MOL 113 4.290 39.440 54.080 0.00 0.00 C +HETATM 1804 C7 MOL 113 3.010 40.170 53.760 0.00 0.00 C +HETATM 1805 H6 MOL 113 2.240 39.810 54.440 0.00 0.00 H +HETATM 1806 H7 MOL 113 2.710 40.000 52.730 0.00 0.00 H +HETATM 1807 O1 MOL 113 3.220 41.550 53.960 0.00 0.00 O +HETATM 1808 H8 MOL 113 4.100 41.680 54.290 0.00 0.00 H +HETATM 1809 C1 MOL 114 44.340 26.150 37.200 0.00 0.00 C +HETATM 1810 H1 MOL 114 43.630 25.660 37.850 0.00 0.00 H +HETATM 1811 C2 MOL 114 43.890 26.970 36.160 0.00 0.00 C +HETATM 1812 H2 MOL 114 42.850 27.260 36.150 0.00 0.00 H +HETATM 1813 C3 MOL 114 44.730 27.540 35.190 0.00 0.00 C +HETATM 1814 H3 MOL 114 44.390 28.230 34.430 0.00 0.00 H +HETATM 1815 C4 MOL 114 46.090 27.230 35.270 0.00 0.00 C +HETATM 1816 H4 MOL 114 46.860 27.620 34.610 0.00 0.00 H +HETATM 1817 C5 MOL 114 46.550 26.420 36.320 0.00 0.00 C +HETATM 1818 H5 MOL 114 47.610 26.230 36.390 0.00 0.00 H +HETATM 1819 C6 MOL 114 45.710 25.870 37.290 0.00 0.00 C +HETATM 1820 C7 MOL 114 46.240 24.800 38.220 0.00 0.00 C +HETATM 1821 H6 MOL 114 46.440 23.830 37.780 0.00 0.00 H +HETATM 1822 H7 MOL 114 45.540 24.620 39.030 0.00 0.00 H +HETATM 1823 O1 MOL 114 47.530 25.160 38.670 0.00 0.00 O +HETATM 1824 H8 MOL 114 47.540 26.070 38.920 0.00 0.00 H +HETATM 1825 C1 MOL 115 9.490 8.990 10.300 0.00 0.00 C +HETATM 1826 H1 MOL 115 8.890 9.430 11.090 0.00 0.00 H +HETATM 1827 C2 MOL 115 10.870 8.780 10.410 0.00 0.00 C +HETATM 1828 H2 MOL 115 11.290 9.220 11.300 0.00 0.00 H +HETATM 1829 C3 MOL 115 11.460 8.050 9.370 0.00 0.00 C +HETATM 1830 H3 MOL 115 12.540 7.980 9.320 0.00 0.00 H +HETATM 1831 C4 MOL 115 10.740 7.450 8.330 0.00 0.00 C +HETATM 1832 H4 MOL 115 11.200 6.800 7.600 0.00 0.00 H +HETATM 1833 C5 MOL 115 9.370 7.760 8.230 0.00 0.00 C +HETATM 1834 H5 MOL 115 8.850 7.180 7.480 0.00 0.00 H +HETATM 1835 C6 MOL 115 8.740 8.500 9.230 0.00 0.00 C +HETATM 1836 C7 MOL 115 7.270 8.840 9.270 0.00 0.00 C +HETATM 1837 H6 MOL 115 7.090 9.850 8.910 0.00 0.00 H +HETATM 1838 H7 MOL 115 6.950 8.890 10.310 0.00 0.00 H +HETATM 1839 O1 MOL 115 6.610 7.800 8.570 0.00 0.00 O +HETATM 1840 H8 MOL 115 6.700 7.040 9.130 0.00 0.00 H +HETATM 1841 C1 MOL 116 6.640 27.640 3.020 0.00 0.00 C +HETATM 1842 H1 MOL 116 7.550 27.080 2.860 0.00 0.00 H +HETATM 1843 C2 MOL 116 5.430 27.080 3.450 0.00 0.00 C +HETATM 1844 H2 MOL 116 5.360 26.030 3.680 0.00 0.00 H +HETATM 1845 C3 MOL 116 4.230 27.790 3.380 0.00 0.00 C +HETATM 1846 H3 MOL 116 3.310 27.320 3.710 0.00 0.00 H +HETATM 1847 C4 MOL 116 4.230 29.160 3.090 0.00 0.00 C +HETATM 1848 H4 MOL 116 3.410 29.860 3.110 0.00 0.00 H +HETATM 1849 C5 MOL 116 5.460 29.760 2.760 0.00 0.00 C +HETATM 1850 H5 MOL 116 5.490 30.810 2.550 0.00 0.00 H +HETATM 1851 C6 MOL 116 6.640 29.020 2.780 0.00 0.00 C +HETATM 1852 C7 MOL 116 7.920 29.720 2.390 0.00 0.00 C +HETATM 1853 H6 MOL 116 7.890 29.950 1.320 0.00 0.00 H +HETATM 1854 H7 MOL 116 8.770 29.050 2.520 0.00 0.00 H +HETATM 1855 O1 MOL 116 8.030 31.010 2.960 0.00 0.00 O +HETATM 1856 H8 MOL 116 8.160 30.830 3.880 0.00 0.00 H +HETATM 1857 C1 MOL 117 31.550 24.090 54.720 0.00 0.00 C +HETATM 1858 H1 MOL 117 31.510 25.170 54.680 0.00 0.00 H +HETATM 1859 C2 MOL 117 30.410 23.320 54.990 0.00 0.00 C +HETATM 1860 H2 MOL 117 29.550 23.790 55.450 0.00 0.00 H +HETATM 1861 C3 MOL 117 30.480 21.930 54.860 0.00 0.00 C +HETATM 1862 H3 MOL 117 29.690 21.340 55.290 0.00 0.00 H +HETATM 1863 C4 MOL 117 31.630 21.270 54.410 0.00 0.00 C +HETATM 1864 H4 MOL 117 31.610 20.190 54.320 0.00 0.00 H +HETATM 1865 C5 MOL 117 32.770 22.030 54.140 0.00 0.00 C +HETATM 1866 H5 MOL 117 33.740 21.710 53.780 0.00 0.00 H +HETATM 1867 C6 MOL 117 32.710 23.410 54.330 0.00 0.00 C +HETATM 1868 C7 MOL 117 33.930 24.170 53.860 0.00 0.00 C +HETATM 1869 H6 MOL 117 34.680 23.520 53.410 0.00 0.00 H +HETATM 1870 H7 MOL 117 34.350 24.690 54.720 0.00 0.00 H +HETATM 1871 O1 MOL 117 33.610 25.170 52.920 0.00 0.00 O +HETATM 1872 H8 MOL 117 32.860 24.930 52.400 0.00 0.00 H +HETATM 1873 C1 MOL 118 21.860 15.920 35.080 0.00 0.00 C +HETATM 1874 H1 MOL 118 21.460 15.830 36.080 0.00 0.00 H +HETATM 1875 C2 MOL 118 21.800 17.120 34.350 0.00 0.00 C +HETATM 1876 H2 MOL 118 21.150 17.910 34.700 0.00 0.00 H +HETATM 1877 C3 MOL 118 22.410 17.210 33.100 0.00 0.00 C +HETATM 1878 H3 MOL 118 22.360 18.130 32.540 0.00 0.00 H +HETATM 1879 C4 MOL 118 23.220 16.170 32.620 0.00 0.00 C +HETATM 1880 H4 MOL 118 23.850 16.280 31.750 0.00 0.00 H +HETATM 1881 C5 MOL 118 23.380 15.020 33.400 0.00 0.00 C +HETATM 1882 H5 MOL 118 23.950 14.180 33.010 0.00 0.00 H +HETATM 1883 C6 MOL 118 22.650 14.880 34.580 0.00 0.00 C +HETATM 1884 C7 MOL 118 22.820 13.600 35.370 0.00 0.00 C +HETATM 1885 H6 MOL 118 22.730 13.880 36.420 0.00 0.00 H +HETATM 1886 H7 MOL 118 23.770 13.100 35.210 0.00 0.00 H +HETATM 1887 O1 MOL 118 21.720 12.800 34.970 0.00 0.00 O +HETATM 1888 H8 MOL 118 21.700 12.890 34.030 0.00 0.00 H +HETATM 1889 C1 MOL 119 4.310 6.710 53.370 0.00 0.00 C +HETATM 1890 H1 MOL 119 4.730 6.490 52.400 0.00 0.00 H +HETATM 1891 C2 MOL 119 4.320 5.870 54.490 0.00 0.00 C +HETATM 1892 H2 MOL 119 4.930 4.980 54.560 0.00 0.00 H +HETATM 1893 C3 MOL 119 3.670 6.190 55.680 0.00 0.00 C +HETATM 1894 H3 MOL 119 3.770 5.570 56.560 0.00 0.00 H +HETATM 1895 C4 MOL 119 2.880 7.350 55.720 0.00 0.00 C +HETATM 1896 H4 MOL 119 2.280 7.670 56.560 0.00 0.00 H +HETATM 1897 C5 MOL 119 2.740 8.100 54.550 0.00 0.00 C +HETATM 1898 H5 MOL 119 1.990 8.880 54.590 0.00 0.00 H +HETATM 1899 C6 MOL 119 3.490 7.850 53.400 0.00 0.00 C +HETATM 1900 C7 MOL 119 3.470 8.890 52.310 0.00 0.00 C +HETATM 1901 H6 MOL 119 2.440 9.170 52.080 0.00 0.00 H +HETATM 1902 H7 MOL 119 4.050 8.630 51.430 0.00 0.00 H +HETATM 1903 O1 MOL 119 4.080 10.030 52.880 0.00 0.00 O +HETATM 1904 H8 MOL 119 3.390 10.420 53.400 0.00 0.00 H +HETATM 1905 C1 MOL 120 54.310 40.540 26.220 0.00 0.00 C +HETATM 1906 H1 MOL 120 53.330 40.270 25.870 0.00 0.00 H +HETATM 1907 C2 MOL 120 55.290 41.060 25.360 0.00 0.00 C +HETATM 1908 H2 MOL 120 55.040 41.060 24.300 0.00 0.00 H +HETATM 1909 C3 MOL 120 56.520 41.480 25.860 0.00 0.00 C +HETATM 1910 H3 MOL 120 57.280 41.850 25.190 0.00 0.00 H +HETATM 1911 C4 MOL 120 56.870 41.240 27.200 0.00 0.00 C +HETATM 1912 H4 MOL 120 57.820 41.530 27.630 0.00 0.00 H +HETATM 1913 C5 MOL 120 55.890 40.700 28.040 0.00 0.00 C +HETATM 1914 H5 MOL 120 56.100 40.560 29.090 0.00 0.00 H +HETATM 1915 C6 MOL 120 54.620 40.340 27.570 0.00 0.00 C +HETATM 1916 C7 MOL 120 53.580 39.930 28.580 0.00 0.00 C +HETATM 1917 H6 MOL 120 53.080 40.770 29.060 0.00 0.00 H +HETATM 1918 H7 MOL 120 54.130 39.410 29.360 0.00 0.00 H +HETATM 1919 O1 MOL 120 52.650 39.010 28.060 0.00 0.00 O +HETATM 1920 H8 MOL 120 53.070 38.440 27.440 0.00 0.00 H +HETATM 1921 C1 MOL 121 29.400 3.650 6.100 0.00 0.00 C +HETATM 1922 H1 MOL 121 28.800 4.450 6.510 0.00 0.00 H +HETATM 1923 C2 MOL 121 30.360 3.820 5.090 0.00 0.00 C +HETATM 1924 H2 MOL 121 30.630 4.810 4.750 0.00 0.00 H +HETATM 1925 C3 MOL 121 31.030 2.720 4.540 0.00 0.00 C +HETATM 1926 H3 MOL 121 31.730 2.950 3.760 0.00 0.00 H +HETATM 1927 C4 MOL 121 30.720 1.410 4.950 0.00 0.00 C +HETATM 1928 H4 MOL 121 31.320 0.580 4.610 0.00 0.00 H +HETATM 1929 C5 MOL 121 29.810 1.210 6.000 0.00 0.00 C +HETATM 1930 H5 MOL 121 29.650 0.210 6.360 0.00 0.00 H +HETATM 1931 C6 MOL 121 29.150 2.340 6.510 0.00 0.00 C +HETATM 1932 C7 MOL 121 28.080 2.180 7.560 0.00 0.00 C +HETATM 1933 H6 MOL 121 28.090 2.990 8.290 0.00 0.00 H +HETATM 1934 H7 MOL 121 28.330 1.330 8.200 0.00 0.00 H +HETATM 1935 O1 MOL 121 26.780 2.030 7.030 0.00 0.00 O +HETATM 1936 H8 MOL 121 26.800 2.620 6.280 0.00 0.00 H +HETATM 1937 C1 MOL 122 12.320 35.480 20.190 0.00 0.00 C +HETATM 1938 H1 MOL 122 13.020 34.760 20.590 0.00 0.00 H +HETATM 1939 C2 MOL 122 12.920 36.620 19.660 0.00 0.00 C +HETATM 1940 H2 MOL 122 13.960 36.530 19.390 0.00 0.00 H +HETATM 1941 C3 MOL 122 12.080 37.690 19.310 0.00 0.00 C +HETATM 1942 H3 MOL 122 12.500 38.470 18.700 0.00 0.00 H +HETATM 1943 C4 MOL 122 10.690 37.600 19.440 0.00 0.00 C +HETATM 1944 H4 MOL 122 10.120 38.380 18.980 0.00 0.00 H +HETATM 1945 C5 MOL 122 10.130 36.400 19.900 0.00 0.00 C +HETATM 1946 H5 MOL 122 9.080 36.170 19.850 0.00 0.00 H +HETATM 1947 C6 MOL 122 10.930 35.330 20.320 0.00 0.00 C +HETATM 1948 C7 MOL 122 10.360 34.080 20.950 0.00 0.00 C +HETATM 1949 H6 MOL 122 11.180 33.390 21.150 0.00 0.00 H +HETATM 1950 H7 MOL 122 9.650 33.590 20.280 0.00 0.00 H +HETATM 1951 O1 MOL 122 9.670 34.310 22.150 0.00 0.00 O +HETATM 1952 H8 MOL 122 8.780 34.500 21.900 0.00 0.00 H +HETATM 1953 C1 MOL 123 19.830 34.060 46.580 0.00 0.00 C +HETATM 1954 H1 MOL 123 20.570 34.800 46.830 0.00 0.00 H +HETATM 1955 C2 MOL 123 18.960 34.200 45.490 0.00 0.00 C +HETATM 1956 H2 MOL 123 19.000 35.080 44.860 0.00 0.00 H +HETATM 1957 C3 MOL 123 17.940 33.290 45.190 0.00 0.00 C +HETATM 1958 H3 MOL 123 17.230 33.550 44.420 0.00 0.00 H +HETATM 1959 C4 MOL 123 17.750 32.190 46.030 0.00 0.00 C +HETATM 1960 H4 MOL 123 16.970 31.500 45.760 0.00 0.00 H +HETATM 1961 C5 MOL 123 18.660 31.980 47.080 0.00 0.00 C +HETATM 1962 H5 MOL 123 18.680 31.080 47.680 0.00 0.00 H +HETATM 1963 C6 MOL 123 19.650 32.930 47.380 0.00 0.00 C +HETATM 1964 C7 MOL 123 20.620 32.630 48.500 0.00 0.00 C +HETATM 1965 H6 MOL 123 20.220 32.940 49.470 0.00 0.00 H +HETATM 1966 H7 MOL 123 21.530 33.220 48.400 0.00 0.00 H +HETATM 1967 O1 MOL 123 21.080 31.300 48.530 0.00 0.00 O +HETATM 1968 H8 MOL 123 20.640 30.830 49.220 0.00 0.00 H +HETATM 1969 C1 MOL 124 36.750 20.320 20.330 0.00 0.00 C +HETATM 1970 H1 MOL 124 36.500 21.370 20.360 0.00 0.00 H +HETATM 1971 C2 MOL 124 37.470 19.730 19.280 0.00 0.00 C +HETATM 1972 H2 MOL 124 37.680 20.220 18.350 0.00 0.00 H +HETATM 1973 C3 MOL 124 37.960 18.430 19.430 0.00 0.00 C +HETATM 1974 H3 MOL 124 38.570 17.930 18.690 0.00 0.00 H +HETATM 1975 C4 MOL 124 37.620 17.720 20.600 0.00 0.00 C +HETATM 1976 H4 MOL 124 37.990 16.700 20.620 0.00 0.00 H +HETATM 1977 C5 MOL 124 36.810 18.270 21.590 0.00 0.00 C +HETATM 1978 H5 MOL 124 36.500 17.690 22.450 0.00 0.00 H +HETATM 1979 C6 MOL 124 36.420 19.610 21.490 0.00 0.00 C +HETATM 1980 C7 MOL 124 35.800 20.320 22.670 0.00 0.00 C +HETATM 1981 H6 MOL 124 36.350 21.250 22.830 0.00 0.00 H +HETATM 1982 H7 MOL 124 35.920 19.680 23.550 0.00 0.00 H +HETATM 1983 O1 MOL 124 34.420 20.530 22.450 0.00 0.00 O +HETATM 1984 H8 MOL 124 34.020 19.680 22.400 0.00 0.00 H +HETATM 1985 C1 MOL 125 1.610 19.740 8.280 0.00 0.00 C +HETATM 1986 H1 MOL 125 0.710 19.150 8.330 0.00 0.00 H +HETATM 1987 C2 MOL 125 2.250 20.010 9.490 0.00 0.00 C +HETATM 1988 H2 MOL 125 1.780 19.570 10.350 0.00 0.00 H +HETATM 1989 C3 MOL 125 3.450 20.730 9.470 0.00 0.00 C +HETATM 1990 H3 MOL 125 4.090 20.790 10.340 0.00 0.00 H +HETATM 1991 C4 MOL 125 4.070 21.040 8.260 0.00 0.00 C +HETATM 1992 H4 MOL 125 5.050 21.490 8.200 0.00 0.00 H +HETATM 1993 C5 MOL 125 3.450 20.730 7.040 0.00 0.00 C +HETATM 1994 H5 MOL 125 3.970 21.080 6.160 0.00 0.00 H +HETATM 1995 C6 MOL 125 2.190 20.120 7.060 0.00 0.00 C +HETATM 1996 C7 MOL 125 1.540 19.680 5.770 0.00 0.00 C +HETATM 1997 H6 MOL 125 0.610 19.190 6.050 0.00 0.00 H +HETATM 1998 H7 MOL 125 2.200 18.980 5.250 0.00 0.00 H +HETATM 1999 O1 MOL 125 1.310 20.870 5.050 0.00 0.00 O +HETATM 2000 H8 MOL 125 0.830 20.640 4.270 0.00 0.00 H +HETATM 2001 C1 MOL 126 9.230 26.300 27.170 0.00 0.00 C +HETATM 2002 H1 MOL 126 8.460 26.060 27.900 0.00 0.00 H +HETATM 2003 C2 MOL 126 9.030 26.090 25.800 0.00 0.00 C +HETATM 2004 H2 MOL 126 8.130 25.530 25.620 0.00 0.00 H +HETATM 2005 C3 MOL 126 9.890 26.680 24.860 0.00 0.00 C +HETATM 2006 H3 MOL 126 9.750 26.510 23.800 0.00 0.00 H +HETATM 2007 C4 MOL 126 11.000 27.380 25.330 0.00 0.00 C +HETATM 2008 H4 MOL 126 11.670 27.820 24.590 0.00 0.00 H +HETATM 2009 C5 MOL 126 11.190 27.590 26.700 0.00 0.00 C +HETATM 2010 H5 MOL 126 12.090 28.120 26.970 0.00 0.00 H +HETATM 2011 C6 MOL 126 10.360 26.980 27.640 0.00 0.00 C +HETATM 2012 C7 MOL 126 10.610 27.170 29.120 0.00 0.00 C +HETATM 2013 H6 MOL 126 9.700 26.900 29.660 0.00 0.00 H +HETATM 2014 H7 MOL 126 10.660 28.240 29.320 0.00 0.00 H +HETATM 2015 O1 MOL 126 11.730 26.400 29.480 0.00 0.00 O +HETATM 2016 H8 MOL 126 12.130 26.770 30.260 0.00 0.00 H +HETATM 2017 C1 MOL 127 29.380 36.590 55.180 0.00 0.00 C +HETATM 2018 H1 MOL 127 29.430 36.040 54.250 0.00 0.00 H +HETATM 2019 C2 MOL 127 29.120 37.970 55.130 0.00 0.00 C +HETATM 2020 H2 MOL 127 29.060 38.450 54.170 0.00 0.00 H +HETATM 2021 C3 MOL 127 28.950 38.690 56.320 0.00 0.00 C +HETATM 2022 H3 MOL 127 28.720 39.740 56.360 0.00 0.00 H +HETATM 2023 C4 MOL 127 29.070 38.070 57.570 0.00 0.00 C +HETATM 2024 H4 MOL 127 28.910 38.690 58.440 0.00 0.00 H +HETATM 2025 C5 MOL 127 29.300 36.690 57.560 0.00 0.00 C +HETATM 2026 H5 MOL 127 29.320 36.270 58.560 0.00 0.00 H +HETATM 2027 C6 MOL 127 29.460 35.910 56.410 0.00 0.00 C +HETATM 2028 C7 MOL 127 29.850 34.470 56.630 0.00 0.00 C +HETATM 2029 H6 MOL 127 30.120 34.210 57.660 0.00 0.00 H +HETATM 2030 H7 MOL 127 30.710 34.140 56.050 0.00 0.00 H +HETATM 2031 O1 MOL 127 28.710 33.800 56.150 0.00 0.00 O +HETATM 2032 H8 MOL 127 27.960 34.360 56.280 0.00 0.00 H +HETATM 2033 C1 MOL 128 38.390 27.300 21.390 0.00 0.00 C +HETATM 2034 H1 MOL 128 37.870 26.870 20.540 0.00 0.00 H +HETATM 2035 C2 MOL 128 37.770 27.130 22.630 0.00 0.00 C +HETATM 2036 H2 MOL 128 36.940 26.440 22.620 0.00 0.00 H +HETATM 2037 C3 MOL 128 38.340 27.580 23.820 0.00 0.00 C +HETATM 2038 H3 MOL 128 37.900 27.390 24.790 0.00 0.00 H +HETATM 2039 C4 MOL 128 39.570 28.250 23.740 0.00 0.00 C +HETATM 2040 H4 MOL 128 39.930 28.690 24.660 0.00 0.00 H +HETATM 2041 C5 MOL 128 40.190 28.420 22.500 0.00 0.00 C +HETATM 2042 H5 MOL 128 41.190 28.840 22.540 0.00 0.00 H +HETATM 2043 C6 MOL 128 39.620 27.970 21.310 0.00 0.00 C +HETATM 2044 C7 MOL 128 40.330 28.020 19.980 0.00 0.00 C +HETATM 2045 H6 MOL 128 40.020 27.260 19.270 0.00 0.00 H +HETATM 2046 H7 MOL 128 41.390 27.780 20.130 0.00 0.00 H +HETATM 2047 O1 MOL 128 40.220 29.340 19.510 0.00 0.00 O +HETATM 2048 H8 MOL 128 40.150 29.770 20.360 0.00 0.00 H +HETATM 2049 C1 MOL 129 47.350 47.470 29.820 0.00 0.00 C +HETATM 2050 H1 MOL 129 47.600 47.780 28.820 0.00 0.00 H +HETATM 2051 C2 MOL 129 47.290 48.470 30.790 0.00 0.00 C +HETATM 2052 H2 MOL 129 47.530 49.490 30.530 0.00 0.00 H +HETATM 2053 C3 MOL 129 47.350 48.120 32.150 0.00 0.00 C +HETATM 2054 H3 MOL 129 47.340 48.920 32.870 0.00 0.00 H +HETATM 2055 C4 MOL 129 47.340 46.750 32.450 0.00 0.00 C +HETATM 2056 H4 MOL 129 47.430 46.510 33.500 0.00 0.00 H +HETATM 2057 C5 MOL 129 47.380 45.770 31.460 0.00 0.00 C +HETATM 2058 H5 MOL 129 47.380 44.710 31.680 0.00 0.00 H +HETATM 2059 C6 MOL 129 47.350 46.100 30.100 0.00 0.00 C +HETATM 2060 C7 MOL 129 47.320 45.090 28.970 0.00 0.00 C +HETATM 2061 H6 MOL 129 48.170 45.250 28.310 0.00 0.00 H +HETATM 2062 H7 MOL 129 46.460 45.130 28.310 0.00 0.00 H +HETATM 2063 O1 MOL 129 47.480 43.760 29.390 0.00 0.00 O +HETATM 2064 H8 MOL 129 48.410 43.720 29.550 0.00 0.00 H +HETATM 2065 C1 MOL 130 35.400 1.260 6.100 0.00 0.00 C +HETATM 2066 H1 MOL 130 35.070 1.390 7.120 0.00 0.00 H +HETATM 2067 C2 MOL 130 34.520 1.090 5.030 0.00 0.00 C +HETATM 2068 H2 MOL 130 33.440 1.060 5.130 0.00 0.00 H +HETATM 2069 C3 MOL 130 35.000 0.840 3.740 0.00 0.00 C +HETATM 2070 H3 MOL 130 34.270 0.740 2.960 0.00 0.00 H +HETATM 2071 C4 MOL 130 36.380 0.800 3.510 0.00 0.00 C +HETATM 2072 H4 MOL 130 36.830 0.680 2.530 0.00 0.00 H +HETATM 2073 C5 MOL 130 37.260 1.040 4.570 0.00 0.00 C +HETATM 2074 H5 MOL 130 38.310 1.130 4.350 0.00 0.00 H +HETATM 2075 C6 MOL 130 36.780 1.240 5.870 0.00 0.00 C +HETATM 2076 C7 MOL 130 37.730 1.510 7.020 0.00 0.00 C +HETATM 2077 H6 MOL 130 38.670 1.840 6.570 0.00 0.00 H +HETATM 2078 H7 MOL 130 37.890 0.600 7.590 0.00 0.00 H +HETATM 2079 O1 MOL 130 37.230 2.590 7.770 0.00 0.00 O +HETATM 2080 H8 MOL 130 37.410 2.490 8.690 0.00 0.00 H +HETATM 2081 C1 MOL 131 39.890 53.290 17.540 0.00 0.00 C +HETATM 2082 H1 MOL 131 40.560 53.210 16.700 0.00 0.00 H +HETATM 2083 C2 MOL 131 38.540 53.270 17.160 0.00 0.00 C +HETATM 2084 H2 MOL 131 38.330 53.280 16.110 0.00 0.00 H +HETATM 2085 C3 MOL 131 37.590 53.250 18.200 0.00 0.00 C +HETATM 2086 H3 MOL 131 36.580 53.210 17.820 0.00 0.00 H +HETATM 2087 C4 MOL 131 37.950 53.110 19.540 0.00 0.00 C +HETATM 2088 H4 MOL 131 37.240 53.000 20.350 0.00 0.00 H +HETATM 2089 C5 MOL 131 39.300 53.110 19.890 0.00 0.00 C +HETATM 2090 H5 MOL 131 39.470 52.950 20.940 0.00 0.00 H +HETATM 2091 C6 MOL 131 40.280 53.180 18.880 0.00 0.00 C +HETATM 2092 C7 MOL 131 41.750 53.140 19.230 0.00 0.00 C +HETATM 2093 H6 MOL 131 41.900 53.220 20.300 0.00 0.00 H +HETATM 2094 H7 MOL 131 42.290 53.930 18.720 0.00 0.00 H +HETATM 2095 O1 MOL 131 42.080 51.830 18.810 0.00 0.00 O +HETATM 2096 H8 MOL 131 42.270 51.930 17.890 0.00 0.00 H +HETATM 2097 C1 MOL 132 53.060 30.460 19.770 0.00 0.00 C +HETATM 2098 H1 MOL 132 53.810 30.610 20.530 0.00 0.00 H +HETATM 2099 C2 MOL 132 52.120 31.450 19.470 0.00 0.00 C +HETATM 2100 H2 MOL 132 52.050 32.380 20.030 0.00 0.00 H +HETATM 2101 C3 MOL 132 51.000 31.170 18.690 0.00 0.00 C +HETATM 2102 H3 MOL 132 50.110 31.780 18.680 0.00 0.00 H +HETATM 2103 C4 MOL 132 50.930 29.940 18.020 0.00 0.00 C +HETATM 2104 H4 MOL 132 50.110 29.740 17.350 0.00 0.00 H +HETATM 2105 C5 MOL 132 51.930 28.990 18.270 0.00 0.00 C +HETATM 2106 H5 MOL 132 51.840 28.020 17.820 0.00 0.00 H +HETATM 2107 C6 MOL 132 53.080 29.270 19.030 0.00 0.00 C +HETATM 2108 C7 MOL 132 53.950 28.090 19.390 0.00 0.00 C +HETATM 2109 H6 MOL 132 53.370 27.370 19.960 0.00 0.00 H +HETATM 2110 H7 MOL 132 54.830 28.400 19.940 0.00 0.00 H +HETATM 2111 O1 MOL 132 54.410 27.480 18.200 0.00 0.00 O +HETATM 2112 H8 MOL 132 53.710 27.090 17.700 0.00 0.00 H +HETATM 2113 C1 MOL 133 41.990 22.610 26.540 0.00 0.00 C +HETATM 2114 H1 MOL 133 41.430 22.350 25.650 0.00 0.00 H +HETATM 2115 C2 MOL 133 41.450 22.320 27.800 0.00 0.00 C +HETATM 2116 H2 MOL 133 40.480 21.840 27.850 0.00 0.00 H +HETATM 2117 C3 MOL 133 42.050 22.600 29.030 0.00 0.00 C +HETATM 2118 H3 MOL 133 41.600 22.360 29.980 0.00 0.00 H +HETATM 2119 C4 MOL 133 43.280 23.260 28.930 0.00 0.00 C +HETATM 2120 H4 MOL 133 43.690 23.610 29.870 0.00 0.00 H +HETATM 2121 C5 MOL 133 43.840 23.650 27.710 0.00 0.00 C +HETATM 2122 H5 MOL 133 44.750 24.240 27.710 0.00 0.00 H +HETATM 2123 C6 MOL 133 43.240 23.240 26.510 0.00 0.00 C +HETATM 2124 C7 MOL 133 43.830 23.620 25.170 0.00 0.00 C +HETATM 2125 H6 MOL 133 44.280 24.600 25.310 0.00 0.00 H +HETATM 2126 H7 MOL 133 43.000 23.720 24.470 0.00 0.00 H +HETATM 2127 O1 MOL 133 44.800 22.660 24.800 0.00 0.00 O +HETATM 2128 H8 MOL 133 44.380 21.820 24.670 0.00 0.00 H +HETATM 2129 C1 MOL 134 29.040 50.370 30.160 0.00 0.00 C +HETATM 2130 H1 MOL 134 28.580 50.010 31.060 0.00 0.00 H +HETATM 2131 C2 MOL 134 29.330 49.510 29.090 0.00 0.00 C +HETATM 2132 H2 MOL 134 29.200 48.440 29.100 0.00 0.00 H +HETATM 2133 C3 MOL 134 30.010 50.040 27.990 0.00 0.00 C +HETATM 2134 H3 MOL 134 30.400 49.360 27.250 0.00 0.00 H +HETATM 2135 C4 MOL 134 30.100 51.430 27.780 0.00 0.00 C +HETATM 2136 H4 MOL 134 30.590 51.790 26.880 0.00 0.00 H +HETATM 2137 C5 MOL 134 29.710 52.320 28.780 0.00 0.00 C +HETATM 2138 H5 MOL 134 29.840 53.380 28.620 0.00 0.00 H +HETATM 2139 C6 MOL 134 29.140 51.750 29.920 0.00 0.00 C +HETATM 2140 C7 MOL 134 28.680 52.660 31.030 0.00 0.00 C +HETATM 2141 H6 MOL 134 29.230 53.600 31.080 0.00 0.00 H +HETATM 2142 H7 MOL 134 28.830 52.170 31.990 0.00 0.00 H +HETATM 2143 O1 MOL 134 27.320 53.010 30.890 0.00 0.00 O +HETATM 2144 H8 MOL 134 26.700 52.300 30.870 0.00 0.00 H +HETATM 2145 C1 MOL 135 15.630 28.180 0.120 0.00 0.00 C +HETATM 2146 H1 MOL 135 14.900 27.440 0.400 0.00 0.00 H +HETATM 2147 C2 MOL 135 16.880 28.190 0.750 0.00 0.00 C +HETATM 2148 H2 MOL 135 17.120 27.470 1.520 0.00 0.00 H +HETATM 2149 C3 MOL 135 17.810 29.170 0.360 0.00 0.00 C +HETATM 2150 H3 MOL 135 18.730 29.290 0.910 0.00 0.00 H +HETATM 2151 C4 MOL 135 17.490 30.240 -0.490 0.00 0.00 C +HETATM 2152 H4 MOL 135 18.170 31.050 -0.710 0.00 0.00 H +HETATM 2153 C5 MOL 135 16.250 30.200 -1.130 0.00 0.00 C +HETATM 2154 H5 MOL 135 15.960 31.030 -1.760 0.00 0.00 H +HETATM 2155 C6 MOL 135 15.330 29.190 -0.800 0.00 0.00 C +HETATM 2156 C7 MOL 135 13.930 29.220 -1.370 0.00 0.00 C +HETATM 2157 H6 MOL 135 13.820 30.110 -1.980 0.00 0.00 H +HETATM 2158 H7 MOL 135 13.150 29.160 -0.600 0.00 0.00 H +HETATM 2159 O1 MOL 135 13.710 28.060 -2.130 0.00 0.00 O +HETATM 2160 H8 MOL 135 14.500 27.570 -1.940 0.00 0.00 H +HETATM 2161 C1 MOL 136 28.820 12.550 52.810 0.00 0.00 C +HETATM 2162 H1 MOL 136 29.490 13.380 52.970 0.00 0.00 H +HETATM 2163 C2 MOL 136 28.700 11.930 51.560 0.00 0.00 C +HETATM 2164 H2 MOL 136 29.210 12.390 50.720 0.00 0.00 H +HETATM 2165 C3 MOL 136 27.990 10.730 51.470 0.00 0.00 C +HETATM 2166 H3 MOL 136 27.790 10.270 50.510 0.00 0.00 H +HETATM 2167 C4 MOL 136 27.440 10.160 52.620 0.00 0.00 C +HETATM 2168 H4 MOL 136 26.830 9.290 52.470 0.00 0.00 H +HETATM 2169 C5 MOL 136 27.560 10.780 53.870 0.00 0.00 C +HETATM 2170 H5 MOL 136 27.130 10.210 54.680 0.00 0.00 H +HETATM 2171 C6 MOL 136 28.280 11.980 53.980 0.00 0.00 C +HETATM 2172 C7 MOL 136 28.450 12.710 55.290 0.00 0.00 C +HETATM 2173 H6 MOL 136 29.490 12.640 55.590 0.00 0.00 H +HETATM 2174 H7 MOL 136 27.820 12.200 56.010 0.00 0.00 H +HETATM 2175 O1 MOL 136 27.990 14.050 55.300 0.00 0.00 O +HETATM 2176 H8 MOL 136 27.080 14.040 55.030 0.00 0.00 H +HETATM 2177 C1 MOL 137 26.720 1.070 52.390 0.00 0.00 C +HETATM 2178 H1 MOL 137 27.140 0.360 53.080 0.00 0.00 H +HETATM 2179 C2 MOL 137 26.120 0.560 51.230 0.00 0.00 C +HETATM 2180 H2 MOL 137 26.220 -0.480 50.950 0.00 0.00 H +HETATM 2181 C3 MOL 137 25.620 1.450 50.260 0.00 0.00 C +HETATM 2182 H3 MOL 137 25.130 1.110 49.360 0.00 0.00 H +HETATM 2183 C4 MOL 137 25.500 2.800 50.610 0.00 0.00 C +HETATM 2184 H4 MOL 137 25.060 3.480 49.890 0.00 0.00 H +HETATM 2185 C5 MOL 137 25.970 3.350 51.800 0.00 0.00 C +HETATM 2186 H5 MOL 137 25.860 4.370 52.140 0.00 0.00 H +HETATM 2187 C6 MOL 137 26.700 2.450 52.600 0.00 0.00 C +HETATM 2188 C7 MOL 137 27.440 2.960 53.810 0.00 0.00 C +HETATM 2189 H6 MOL 137 27.140 3.970 54.100 0.00 0.00 H +HETATM 2190 H7 MOL 137 28.490 3.140 53.570 0.00 0.00 H +HETATM 2191 O1 MOL 137 27.270 2.160 54.960 0.00 0.00 O +HETATM 2192 H8 MOL 137 26.380 1.830 54.950 0.00 0.00 H +HETATM 2193 C1 MOL 138 8.990 2.660 20.300 0.00 0.00 C +HETATM 2194 H1 MOL 138 8.260 3.160 19.690 0.00 0.00 H +HETATM 2195 C2 MOL 138 8.720 1.410 20.860 0.00 0.00 C +HETATM 2196 H2 MOL 138 7.730 0.990 20.780 0.00 0.00 H +HETATM 2197 C3 MOL 138 9.630 0.800 21.740 0.00 0.00 C +HETATM 2198 H3 MOL 138 9.450 -0.180 22.140 0.00 0.00 H +HETATM 2199 C4 MOL 138 10.880 1.380 22.000 0.00 0.00 C +HETATM 2200 H4 MOL 138 11.510 0.690 22.540 0.00 0.00 H +HETATM 2201 C5 MOL 138 11.120 2.660 21.490 0.00 0.00 C +HETATM 2202 H5 MOL 138 12.020 3.230 21.640 0.00 0.00 H +HETATM 2203 C6 MOL 138 10.200 3.290 20.650 0.00 0.00 C +HETATM 2204 C7 MOL 138 10.540 4.590 19.960 0.00 0.00 C +HETATM 2205 H6 MOL 138 11.500 4.980 20.290 0.00 0.00 H +HETATM 2206 H7 MOL 138 9.820 5.350 20.230 0.00 0.00 H +HETATM 2207 O1 MOL 138 10.610 4.380 18.560 0.00 0.00 O +HETATM 2208 H8 MOL 138 9.770 4.640 18.240 0.00 0.00 H +HETATM 2209 C1 MOL 139 48.990 31.730 5.660 0.00 0.00 C +HETATM 2210 H1 MOL 139 49.870 32.200 5.240 0.00 0.00 H +HETATM 2211 C2 MOL 139 48.360 32.220 6.800 0.00 0.00 C +HETATM 2212 H2 MOL 139 48.860 32.990 7.370 0.00 0.00 H +HETATM 2213 C3 MOL 139 47.290 31.500 7.350 0.00 0.00 C +HETATM 2214 H3 MOL 139 46.660 31.680 8.210 0.00 0.00 H +HETATM 2215 C4 MOL 139 46.790 30.400 6.650 0.00 0.00 C +HETATM 2216 H4 MOL 139 46.050 29.710 7.050 0.00 0.00 H +HETATM 2217 C5 MOL 139 47.250 30.090 5.360 0.00 0.00 C +HETATM 2218 H5 MOL 139 46.820 29.280 4.790 0.00 0.00 H +HETATM 2219 C6 MOL 139 48.370 30.760 4.860 0.00 0.00 C +HETATM 2220 C7 MOL 139 48.780 30.470 3.430 0.00 0.00 C +HETATM 2221 H6 MOL 139 49.360 31.290 3.020 0.00 0.00 H +HETATM 2222 H7 MOL 139 48.000 30.200 2.720 0.00 0.00 H +HETATM 2223 O1 MOL 139 49.650 29.360 3.480 0.00 0.00 O +HETATM 2224 H8 MOL 139 50.410 29.640 3.970 0.00 0.00 H +HETATM 2225 C1 MOL 140 40.100 41.870 1.660 0.00 0.00 C +HETATM 2226 H1 MOL 140 39.780 42.210 0.680 0.00 0.00 H +HETATM 2227 C2 MOL 140 41.240 41.080 1.850 0.00 0.00 C +HETATM 2228 H2 MOL 140 41.830 40.650 1.050 0.00 0.00 H +HETATM 2229 C3 MOL 140 41.810 40.800 3.100 0.00 0.00 C +HETATM 2230 H3 MOL 140 42.610 40.080 3.180 0.00 0.00 H +HETATM 2231 C4 MOL 140 41.150 41.340 4.200 0.00 0.00 C +HETATM 2232 H4 MOL 140 41.520 41.170 5.200 0.00 0.00 H +HETATM 2233 C5 MOL 140 40.050 42.190 4.020 0.00 0.00 C +HETATM 2234 H5 MOL 140 39.590 42.680 4.870 0.00 0.00 H +HETATM 2235 C6 MOL 140 39.530 42.510 2.760 0.00 0.00 C +HETATM 2236 C7 MOL 140 38.210 43.260 2.730 0.00 0.00 C +HETATM 2237 H6 MOL 140 37.570 42.660 3.370 0.00 0.00 H +HETATM 2238 H7 MOL 140 37.690 43.320 1.770 0.00 0.00 H +HETATM 2239 O1 MOL 140 38.230 44.600 3.160 0.00 0.00 O +HETATM 2240 H8 MOL 140 38.690 45.050 2.460 0.00 0.00 H +HETATM 2241 C1 MOL 141 0.430 33.400 4.060 0.00 0.00 C +HETATM 2242 H1 MOL 141 0.240 32.340 4.120 0.00 0.00 H +HETATM 2243 C2 MOL 141 -0.320 34.330 4.780 0.00 0.00 C +HETATM 2244 H2 MOL 141 -1.100 34.020 5.460 0.00 0.00 H +HETATM 2245 C3 MOL 141 -0.260 35.670 4.350 0.00 0.00 C +HETATM 2246 H3 MOL 141 -0.830 36.540 4.650 0.00 0.00 H +HETATM 2247 C4 MOL 141 0.510 36.020 3.240 0.00 0.00 C +HETATM 2248 H4 MOL 141 0.510 37.030 2.860 0.00 0.00 H +HETATM 2249 C5 MOL 141 1.340 35.070 2.640 0.00 0.00 C +HETATM 2250 H5 MOL 141 2.010 35.330 1.830 0.00 0.00 H +HETATM 2251 C6 MOL 141 1.300 33.730 3.010 0.00 0.00 C +HETATM 2252 C7 MOL 141 2.170 32.590 2.520 0.00 0.00 C +HETATM 2253 H6 MOL 141 2.440 31.800 3.230 0.00 0.00 H +HETATM 2254 H7 MOL 141 3.020 32.800 1.880 0.00 0.00 H +HETATM 2255 O1 MOL 141 1.400 31.790 1.650 0.00 0.00 O +HETATM 2256 H8 MOL 141 1.190 32.400 0.970 0.00 0.00 H +HETATM 2257 C1 MOL 142 35.210 5.490 48.930 0.00 0.00 C +HETATM 2258 H1 MOL 142 34.960 5.690 47.900 0.00 0.00 H +HETATM 2259 C2 MOL 142 36.100 6.310 49.640 0.00 0.00 C +HETATM 2260 H2 MOL 142 36.690 7.050 49.120 0.00 0.00 H +HETATM 2261 C3 MOL 142 36.210 6.130 51.030 0.00 0.00 C +HETATM 2262 H3 MOL 142 37.020 6.510 51.630 0.00 0.00 H +HETATM 2263 C4 MOL 142 35.420 5.170 51.680 0.00 0.00 C +HETATM 2264 H4 MOL 142 35.580 4.950 52.720 0.00 0.00 H +HETATM 2265 C5 MOL 142 34.580 4.320 50.960 0.00 0.00 C +HETATM 2266 H5 MOL 142 33.910 3.580 51.370 0.00 0.00 H +HETATM 2267 C6 MOL 142 34.450 4.520 49.580 0.00 0.00 C +HETATM 2268 C7 MOL 142 33.500 3.740 48.700 0.00 0.00 C +HETATM 2269 H6 MOL 142 32.790 3.180 49.310 0.00 0.00 H +HETATM 2270 H7 MOL 142 34.100 2.970 48.220 0.00 0.00 H +HETATM 2271 O1 MOL 142 32.780 4.490 47.740 0.00 0.00 O +HETATM 2272 H8 MOL 142 33.250 4.280 46.950 0.00 0.00 H +HETATM 2273 C1 MOL 143 20.860 27.070 23.260 0.00 0.00 C +HETATM 2274 H1 MOL 143 21.410 26.190 22.970 0.00 0.00 H +HETATM 2275 C2 MOL 143 20.900 27.680 24.520 0.00 0.00 C +HETATM 2276 H2 MOL 143 21.630 27.250 25.200 0.00 0.00 H +HETATM 2277 C3 MOL 143 20.190 28.820 24.900 0.00 0.00 C +HETATM 2278 H3 MOL 143 20.370 29.220 25.890 0.00 0.00 H +HETATM 2279 C4 MOL 143 19.400 29.390 23.900 0.00 0.00 C +HETATM 2280 H4 MOL 143 18.860 30.290 24.180 0.00 0.00 H +HETATM 2281 C5 MOL 143 19.330 28.850 22.610 0.00 0.00 C +HETATM 2282 H5 MOL 143 18.770 29.400 21.870 0.00 0.00 H +HETATM 2283 C6 MOL 143 20.000 27.650 22.320 0.00 0.00 C +HETATM 2284 C7 MOL 143 20.070 27.050 20.940 0.00 0.00 C +HETATM 2285 H6 MOL 143 21.050 27.010 20.480 0.00 0.00 H +HETATM 2286 H7 MOL 143 19.630 27.820 20.300 0.00 0.00 H +HETATM 2287 O1 MOL 143 19.440 25.790 20.890 0.00 0.00 O +HETATM 2288 H8 MOL 143 18.820 25.810 21.590 0.00 0.00 H +HETATM 2289 C1 MOL 144 2.420 6.500 18.450 0.00 0.00 C +HETATM 2290 H1 MOL 144 3.100 5.670 18.320 0.00 0.00 H +HETATM 2291 C2 MOL 144 2.620 7.500 17.490 0.00 0.00 C +HETATM 2292 H2 MOL 144 3.350 7.370 16.710 0.00 0.00 H +HETATM 2293 C3 MOL 144 1.820 8.650 17.540 0.00 0.00 C +HETATM 2294 H3 MOL 144 1.930 9.460 16.840 0.00 0.00 H +HETATM 2295 C4 MOL 144 0.820 8.800 18.510 0.00 0.00 C +HETATM 2296 H4 MOL 144 0.140 9.640 18.460 0.00 0.00 H +HETATM 2297 C5 MOL 144 0.630 7.790 19.460 0.00 0.00 C +HETATM 2298 H5 MOL 144 -0.130 7.900 20.230 0.00 0.00 H +HETATM 2299 C6 MOL 144 1.480 6.670 19.470 0.00 0.00 C +HETATM 2300 C7 MOL 144 1.490 5.640 20.570 0.00 0.00 C +HETATM 2301 H6 MOL 144 1.800 6.110 21.510 0.00 0.00 H +HETATM 2302 H7 MOL 144 2.090 4.780 20.270 0.00 0.00 H +HETATM 2303 O1 MOL 144 0.120 5.390 20.740 0.00 0.00 O +HETATM 2304 H8 MOL 144 -0.160 5.060 19.900 0.00 0.00 H +HETATM 2305 C1 MOL 145 11.030 48.070 4.900 0.00 0.00 C +HETATM 2306 H1 MOL 145 11.110 47.960 3.830 0.00 0.00 H +HETATM 2307 C2 MOL 145 9.960 48.630 5.610 0.00 0.00 C +HETATM 2308 H2 MOL 145 9.160 49.090 5.060 0.00 0.00 H +HETATM 2309 C3 MOL 145 9.870 48.630 7.010 0.00 0.00 C +HETATM 2310 H3 MOL 145 9.050 49.080 7.540 0.00 0.00 H +HETATM 2311 C4 MOL 145 10.870 47.980 7.740 0.00 0.00 C +HETATM 2312 H4 MOL 145 10.760 47.980 8.820 0.00 0.00 H +HETATM 2313 C5 MOL 145 11.890 47.300 7.060 0.00 0.00 C +HETATM 2314 H5 MOL 145 12.650 46.790 7.630 0.00 0.00 H +HETATM 2315 C6 MOL 145 11.920 47.310 5.660 0.00 0.00 C +HETATM 2316 C7 MOL 145 13.020 46.540 4.960 0.00 0.00 C +HETATM 2317 H6 MOL 145 12.520 46.120 4.090 0.00 0.00 H +HETATM 2318 H7 MOL 145 13.480 45.700 5.470 0.00 0.00 H +HETATM 2319 O1 MOL 145 14.050 47.430 4.580 0.00 0.00 O +HETATM 2320 H8 MOL 145 14.570 47.590 5.350 0.00 0.00 H +HETATM 2321 C1 MOL 146 5.790 19.800 19.420 0.00 0.00 C +HETATM 2322 H1 MOL 146 5.630 18.760 19.680 0.00 0.00 H +HETATM 2323 C2 MOL 146 5.550 20.330 18.150 0.00 0.00 C +HETATM 2324 H2 MOL 146 5.530 19.660 17.300 0.00 0.00 H +HETATM 2325 C3 MOL 146 5.530 21.720 17.970 0.00 0.00 C +HETATM 2326 H3 MOL 146 5.410 22.180 17.000 0.00 0.00 H +HETATM 2327 C4 MOL 146 5.620 22.530 19.110 0.00 0.00 C +HETATM 2328 H4 MOL 146 5.520 23.600 18.990 0.00 0.00 H +HETATM 2329 C5 MOL 146 5.700 21.990 20.400 0.00 0.00 C +HETATM 2330 H5 MOL 146 5.650 22.700 21.210 0.00 0.00 H +HETATM 2331 C6 MOL 146 5.830 20.610 20.560 0.00 0.00 C +HETATM 2332 C7 MOL 146 5.760 20.050 21.960 0.00 0.00 C +HETATM 2333 H6 MOL 146 6.550 20.360 22.640 0.00 0.00 H +HETATM 2334 H7 MOL 146 5.720 18.960 21.930 0.00 0.00 H +HETATM 2335 O1 MOL 146 4.490 20.450 22.440 0.00 0.00 O +HETATM 2336 H8 MOL 146 3.950 20.800 21.740 0.00 0.00 H +HETATM 2337 C1 MOL 147 44.690 28.050 39.980 0.00 0.00 C +HETATM 2338 H1 MOL 147 44.710 28.800 39.200 0.00 0.00 H +HETATM 2339 C2 MOL 147 43.480 27.390 40.200 0.00 0.00 C +HETATM 2340 H2 MOL 147 42.600 27.450 39.580 0.00 0.00 H +HETATM 2341 C3 MOL 147 43.380 26.590 41.340 0.00 0.00 C +HETATM 2342 H3 MOL 147 42.390 26.220 41.560 0.00 0.00 H +HETATM 2343 C4 MOL 147 44.480 26.320 42.170 0.00 0.00 C +HETATM 2344 H4 MOL 147 44.380 25.570 42.930 0.00 0.00 H +HETATM 2345 C5 MOL 147 45.690 26.990 41.930 0.00 0.00 C +HETATM 2346 H5 MOL 147 46.520 26.800 42.590 0.00 0.00 H +HETATM 2347 C6 MOL 147 45.790 27.850 40.820 0.00 0.00 C +HETATM 2348 C7 MOL 147 47.070 28.600 40.530 0.00 0.00 C +HETATM 2349 H6 MOL 147 47.830 28.510 41.310 0.00 0.00 H +HETATM 2350 H7 MOL 147 46.640 29.600 40.630 0.00 0.00 H +HETATM 2351 O1 MOL 147 47.700 28.270 39.310 0.00 0.00 O +HETATM 2352 H8 MOL 147 47.260 28.700 38.590 0.00 0.00 H +HETATM 2353 C1 MOL 148 18.800 52.840 13.080 0.00 0.00 C +HETATM 2354 H1 MOL 148 17.830 53.000 13.540 0.00 0.00 H +HETATM 2355 C2 MOL 148 19.890 53.480 13.690 0.00 0.00 C +HETATM 2356 H2 MOL 148 19.760 54.250 14.430 0.00 0.00 H +HETATM 2357 C3 MOL 148 21.160 53.210 13.170 0.00 0.00 C +HETATM 2358 H3 MOL 148 21.960 53.790 13.600 0.00 0.00 H +HETATM 2359 C4 MOL 148 21.370 52.250 12.170 0.00 0.00 C +HETATM 2360 H4 MOL 148 22.360 52.040 11.790 0.00 0.00 H +HETATM 2361 C5 MOL 148 20.280 51.590 11.590 0.00 0.00 C +HETATM 2362 H5 MOL 148 20.400 50.900 10.770 0.00 0.00 H +HETATM 2363 C6 MOL 148 19.000 51.890 12.070 0.00 0.00 C +HETATM 2364 C7 MOL 148 17.770 51.230 11.490 0.00 0.00 C +HETATM 2365 H6 MOL 148 18.010 50.670 10.590 0.00 0.00 H +HETATM 2366 H7 MOL 148 16.900 51.820 11.210 0.00 0.00 H +HETATM 2367 O1 MOL 148 17.580 50.300 12.540 0.00 0.00 O +HETATM 2368 H8 MOL 148 18.320 50.230 13.130 0.00 0.00 H +HETATM 2369 C1 MOL 149 54.200 10.660 38.280 0.00 0.00 C +HETATM 2370 H1 MOL 149 53.180 10.360 38.440 0.00 0.00 H +HETATM 2371 C2 MOL 149 54.650 11.710 37.470 0.00 0.00 C +HETATM 2372 H2 MOL 149 54.030 12.460 37.010 0.00 0.00 H +HETATM 2373 C3 MOL 149 56.010 12.000 37.300 0.00 0.00 C +HETATM 2374 H3 MOL 149 56.350 12.750 36.600 0.00 0.00 H +HETATM 2375 C4 MOL 149 56.900 11.240 38.070 0.00 0.00 C +HETATM 2376 H4 MOL 149 57.950 11.490 38.030 0.00 0.00 H +HETATM 2377 C5 MOL 149 56.440 10.240 38.940 0.00 0.00 C +HETATM 2378 H5 MOL 149 57.210 9.610 39.360 0.00 0.00 H +HETATM 2379 C6 MOL 149 55.100 9.860 39.010 0.00 0.00 C +HETATM 2380 C7 MOL 149 54.660 8.810 40.000 0.00 0.00 C +HETATM 2381 H6 MOL 149 53.610 8.910 40.250 0.00 0.00 H +HETATM 2382 H7 MOL 149 55.140 8.880 40.970 0.00 0.00 H +HETATM 2383 O1 MOL 149 54.910 7.600 39.310 0.00 0.00 O +HETATM 2384 H8 MOL 149 55.720 7.810 38.880 0.00 0.00 H +HETATM 2385 C1 MOL 150 32.540 37.600 26.190 0.00 0.00 C +HETATM 2386 H1 MOL 150 32.500 36.650 26.700 0.00 0.00 H +HETATM 2387 C2 MOL 150 32.950 37.730 24.850 0.00 0.00 C +HETATM 2388 H2 MOL 150 32.920 36.840 24.250 0.00 0.00 H +HETATM 2389 C3 MOL 150 33.300 38.940 24.250 0.00 0.00 C +HETATM 2390 H3 MOL 150 33.350 38.950 23.170 0.00 0.00 H +HETATM 2391 C4 MOL 150 33.300 40.100 25.040 0.00 0.00 C +HETATM 2392 H4 MOL 150 33.520 41.070 24.620 0.00 0.00 H +HETATM 2393 C5 MOL 150 33.030 40.030 26.410 0.00 0.00 C +HETATM 2394 H5 MOL 150 33.070 41.000 26.870 0.00 0.00 H +HETATM 2395 C6 MOL 150 32.570 38.800 26.910 0.00 0.00 C +HETATM 2396 C7 MOL 150 32.220 38.740 28.370 0.00 0.00 C +HETATM 2397 H6 MOL 150 31.470 37.990 28.630 0.00 0.00 H +HETATM 2398 H7 MOL 150 31.880 39.700 28.760 0.00 0.00 H +HETATM 2399 O1 MOL 150 33.270 38.210 29.150 0.00 0.00 O +HETATM 2400 H8 MOL 150 33.490 37.340 28.830 0.00 0.00 H +HETATM 2401 C1 MOL 151 11.460 37.910 45.330 0.00 0.00 C +HETATM 2402 H1 MOL 151 12.480 38.240 45.420 0.00 0.00 H +HETATM 2403 C2 MOL 151 10.460 38.710 45.900 0.00 0.00 C +HETATM 2404 H2 MOL 151 10.640 39.760 46.080 0.00 0.00 H +HETATM 2405 C3 MOL 151 9.130 38.280 45.860 0.00 0.00 C +HETATM 2406 H3 MOL 151 8.360 39.000 46.080 0.00 0.00 H +HETATM 2407 C4 MOL 151 8.870 37.070 45.200 0.00 0.00 C +HETATM 2408 H4 MOL 151 7.840 36.780 45.110 0.00 0.00 H +HETATM 2409 C5 MOL 151 9.870 36.270 44.630 0.00 0.00 C +HETATM 2410 H5 MOL 151 9.610 35.330 44.170 0.00 0.00 H +HETATM 2411 C6 MOL 151 11.210 36.660 44.770 0.00 0.00 C +HETATM 2412 C7 MOL 151 12.370 35.780 44.360 0.00 0.00 C +HETATM 2413 H6 MOL 151 12.030 34.770 44.610 0.00 0.00 H +HETATM 2414 H7 MOL 151 13.320 35.960 44.870 0.00 0.00 H +HETATM 2415 O1 MOL 151 12.520 35.990 42.970 0.00 0.00 O +HETATM 2416 H8 MOL 151 13.410 36.090 42.670 0.00 0.00 H +HETATM 2417 C1 MOL 152 35.520 29.320 10.360 0.00 0.00 C +HETATM 2418 H1 MOL 152 34.620 29.620 9.830 0.00 0.00 H +HETATM 2419 C2 MOL 152 36.410 30.260 10.900 0.00 0.00 C +HETATM 2420 H2 MOL 152 36.180 31.310 10.820 0.00 0.00 H +HETATM 2421 C3 MOL 152 37.580 29.820 11.540 0.00 0.00 C +HETATM 2422 H3 MOL 152 38.180 30.630 11.920 0.00 0.00 H +HETATM 2423 C4 MOL 152 37.820 28.450 11.680 0.00 0.00 C +HETATM 2424 H4 MOL 152 38.710 28.140 12.210 0.00 0.00 H +HETATM 2425 C5 MOL 152 36.980 27.530 11.040 0.00 0.00 C +HETATM 2426 H5 MOL 152 37.180 26.470 11.010 0.00 0.00 H +HETATM 2427 C6 MOL 152 35.810 27.960 10.420 0.00 0.00 C +HETATM 2428 C7 MOL 152 34.940 26.910 9.770 0.00 0.00 C +HETATM 2429 H6 MOL 152 35.320 25.890 9.720 0.00 0.00 H +HETATM 2430 H7 MOL 152 34.770 27.200 8.730 0.00 0.00 H +HETATM 2431 O1 MOL 152 33.760 26.900 10.540 0.00 0.00 O +HETATM 2432 H8 MOL 152 33.990 27.290 11.370 0.00 0.00 H +HETATM 2433 C1 MOL 153 46.510 5.700 45.100 0.00 0.00 C +HETATM 2434 H1 MOL 153 46.310 6.320 45.960 0.00 0.00 H +HETATM 2435 C2 MOL 153 47.870 5.580 44.770 0.00 0.00 C +HETATM 2436 H2 MOL 153 48.540 6.200 45.330 0.00 0.00 H +HETATM 2437 C3 MOL 153 48.240 4.760 43.690 0.00 0.00 C +HETATM 2438 H3 MOL 153 49.270 4.680 43.390 0.00 0.00 H +HETATM 2439 C4 MOL 153 47.270 4.030 42.980 0.00 0.00 C +HETATM 2440 H4 MOL 153 47.600 3.670 42.010 0.00 0.00 H +HETATM 2441 C5 MOL 153 45.920 4.110 43.350 0.00 0.00 C +HETATM 2442 H5 MOL 153 45.170 3.610 42.760 0.00 0.00 H +HETATM 2443 C6 MOL 153 45.570 4.890 44.460 0.00 0.00 C +HETATM 2444 C7 MOL 153 44.140 4.890 44.960 0.00 0.00 C +HETATM 2445 H6 MOL 153 44.030 4.860 46.040 0.00 0.00 H +HETATM 2446 H7 MOL 153 43.620 4.070 44.450 0.00 0.00 H +HETATM 2447 O1 MOL 153 43.540 6.060 44.480 0.00 0.00 O +HETATM 2448 H8 MOL 153 43.290 5.850 43.590 0.00 0.00 H +HETATM 2449 C1 MOL 154 43.420 4.710 15.660 0.00 0.00 C +HETATM 2450 H1 MOL 154 42.660 5.390 15.300 0.00 0.00 H +HETATM 2451 C2 MOL 154 43.350 3.340 15.380 0.00 0.00 C +HETATM 2452 H2 MOL 154 42.460 3.010 14.860 0.00 0.00 H +HETATM 2453 C3 MOL 154 44.250 2.480 16.020 0.00 0.00 C +HETATM 2454 H3 MOL 154 44.200 1.400 15.930 0.00 0.00 H +HETATM 2455 C4 MOL 154 45.310 3.020 16.750 0.00 0.00 C +HETATM 2456 H4 MOL 154 46.150 2.490 17.160 0.00 0.00 H +HETATM 2457 C5 MOL 154 45.430 4.410 16.930 0.00 0.00 C +HETATM 2458 H5 MOL 154 46.230 4.760 17.570 0.00 0.00 H +HETATM 2459 C6 MOL 154 44.420 5.260 16.460 0.00 0.00 C +HETATM 2460 C7 MOL 154 44.310 6.720 16.820 0.00 0.00 C +HETATM 2461 H6 MOL 154 45.040 7.050 17.560 0.00 0.00 H +HETATM 2462 H7 MOL 154 43.350 6.760 17.340 0.00 0.00 H +HETATM 2463 O1 MOL 154 44.080 7.630 15.780 0.00 0.00 O +HETATM 2464 H8 MOL 154 44.950 7.840 15.490 0.00 0.00 H +HETATM 2465 C1 MOL 155 29.270 36.990 25.880 0.00 0.00 C +HETATM 2466 H1 MOL 155 29.650 37.630 26.670 0.00 0.00 H +HETATM 2467 C2 MOL 155 29.470 35.610 25.940 0.00 0.00 C +HETATM 2468 H2 MOL 155 30.050 35.260 26.780 0.00 0.00 H +HETATM 2469 C3 MOL 155 28.860 34.800 24.970 0.00 0.00 C +HETATM 2470 H3 MOL 155 29.110 33.750 25.010 0.00 0.00 H +HETATM 2471 C4 MOL 155 27.980 35.360 24.030 0.00 0.00 C +HETATM 2472 H4 MOL 155 27.490 34.740 23.310 0.00 0.00 H +HETATM 2473 C5 MOL 155 27.760 36.740 23.990 0.00 0.00 C +HETATM 2474 H5 MOL 155 27.090 37.140 23.240 0.00 0.00 H +HETATM 2475 C6 MOL 155 28.410 37.550 24.930 0.00 0.00 C +HETATM 2476 C7 MOL 155 28.360 39.050 24.770 0.00 0.00 C +HETATM 2477 H6 MOL 155 28.430 39.520 25.750 0.00 0.00 H +HETATM 2478 H7 MOL 155 27.420 39.400 24.340 0.00 0.00 H +HETATM 2479 O1 MOL 155 29.410 39.470 23.930 0.00 0.00 O +HETATM 2480 H8 MOL 155 29.970 38.720 23.780 0.00 0.00 H +HETATM 2481 C1 MOL 156 41.390 34.320 2.500 0.00 0.00 C +HETATM 2482 H1 MOL 156 40.890 33.400 2.780 0.00 0.00 H +HETATM 2483 C2 MOL 156 42.120 34.400 1.300 0.00 0.00 C +HETATM 2484 H2 MOL 156 42.310 33.440 0.830 0.00 0.00 H +HETATM 2485 C3 MOL 156 42.640 35.610 0.830 0.00 0.00 C +HETATM 2486 H3 MOL 156 43.320 35.560 -0.010 0.00 0.00 H +HETATM 2487 C4 MOL 156 42.370 36.720 1.630 0.00 0.00 C +HETATM 2488 H4 MOL 156 42.830 37.620 1.240 0.00 0.00 H +HETATM 2489 C5 MOL 156 41.740 36.670 2.880 0.00 0.00 C +HETATM 2490 H5 MOL 156 41.700 37.570 3.470 0.00 0.00 H +HETATM 2491 C6 MOL 156 41.150 35.460 3.260 0.00 0.00 C +HETATM 2492 C7 MOL 156 40.200 35.330 4.430 0.00 0.00 C +HETATM 2493 H6 MOL 156 39.210 35.650 4.120 0.00 0.00 H +HETATM 2494 H7 MOL 156 40.560 36.060 5.160 0.00 0.00 H +HETATM 2495 O1 MOL 156 40.360 34.110 5.130 0.00 0.00 O +HETATM 2496 H8 MOL 156 41.210 33.760 4.920 0.00 0.00 H +HETATM 2497 C1 MOL 157 40.900 15.260 52.190 0.00 0.00 C +HETATM 2498 H1 MOL 157 41.830 15.170 51.640 0.00 0.00 H +HETATM 2499 C2 MOL 157 40.880 15.010 53.570 0.00 0.00 C +HETATM 2500 H2 MOL 157 41.780 14.620 54.020 0.00 0.00 H +HETATM 2501 C3 MOL 157 39.700 15.150 54.310 0.00 0.00 C +HETATM 2502 H3 MOL 157 39.680 14.880 55.350 0.00 0.00 H +HETATM 2503 C4 MOL 157 38.510 15.450 53.630 0.00 0.00 C +HETATM 2504 H4 MOL 157 37.600 15.330 54.200 0.00 0.00 H +HETATM 2505 C5 MOL 157 38.580 15.880 52.300 0.00 0.00 C +HETATM 2506 H5 MOL 157 37.630 16.060 51.810 0.00 0.00 H +HETATM 2507 C6 MOL 157 39.780 15.830 51.570 0.00 0.00 C +HETATM 2508 C7 MOL 157 39.850 16.260 50.130 0.00 0.00 C +HETATM 2509 H6 MOL 157 39.560 15.450 49.450 0.00 0.00 H +HETATM 2510 H7 MOL 157 40.900 16.420 49.910 0.00 0.00 H +HETATM 2511 O1 MOL 157 39.240 17.480 49.770 0.00 0.00 O +HETATM 2512 H8 MOL 157 39.880 18.060 49.380 0.00 0.00 H +HETATM 2513 C1 MOL 158 46.670 52.640 44.640 0.00 0.00 C +HETATM 2514 H1 MOL 158 47.230 53.330 44.030 0.00 0.00 H +HETATM 2515 C2 MOL 158 47.220 51.350 44.690 0.00 0.00 C +HETATM 2516 H2 MOL 158 48.210 51.120 44.330 0.00 0.00 H +HETATM 2517 C3 MOL 158 46.550 50.330 45.370 0.00 0.00 C +HETATM 2518 H3 MOL 158 46.960 49.330 45.380 0.00 0.00 H +HETATM 2519 C4 MOL 158 45.320 50.590 45.990 0.00 0.00 C +HETATM 2520 H4 MOL 158 44.810 49.800 46.520 0.00 0.00 H +HETATM 2521 C5 MOL 158 44.740 51.860 45.950 0.00 0.00 C +HETATM 2522 H5 MOL 158 43.790 52.060 46.420 0.00 0.00 H +HETATM 2523 C6 MOL 158 45.410 52.860 45.220 0.00 0.00 C +HETATM 2524 C7 MOL 158 44.820 54.240 45.190 0.00 0.00 C +HETATM 2525 H6 MOL 158 44.600 54.620 46.180 0.00 0.00 H +HETATM 2526 H7 MOL 158 43.880 54.220 44.630 0.00 0.00 H +HETATM 2527 O1 MOL 158 45.590 55.240 44.560 0.00 0.00 O +HETATM 2528 H8 MOL 158 45.950 55.770 45.260 0.00 0.00 H +HETATM 2529 C1 MOL 159 48.210 22.550 26.830 0.00 0.00 C +HETATM 2530 H1 MOL 159 48.270 23.610 26.610 0.00 0.00 H +HETATM 2531 C2 MOL 159 47.010 22.160 27.440 0.00 0.00 C +HETATM 2532 H2 MOL 159 46.230 22.900 27.540 0.00 0.00 H +HETATM 2533 C3 MOL 159 46.820 20.830 27.850 0.00 0.00 C +HETATM 2534 H3 MOL 159 45.940 20.480 28.360 0.00 0.00 H +HETATM 2535 C4 MOL 159 47.750 19.870 27.450 0.00 0.00 C +HETATM 2536 H4 MOL 159 47.700 18.810 27.650 0.00 0.00 H +HETATM 2537 C5 MOL 159 48.920 20.250 26.780 0.00 0.00 C +HETATM 2538 H5 MOL 159 49.700 19.540 26.580 0.00 0.00 H +HETATM 2539 C6 MOL 159 49.190 21.600 26.520 0.00 0.00 C +HETATM 2540 C7 MOL 159 50.500 22.110 25.970 0.00 0.00 C +HETATM 2541 H6 MOL 159 51.190 22.010 26.810 0.00 0.00 H +HETATM 2542 H7 MOL 159 50.520 23.180 25.770 0.00 0.00 H +HETATM 2543 O1 MOL 159 50.760 21.380 24.790 0.00 0.00 O +HETATM 2544 H8 MOL 159 50.100 21.510 24.130 0.00 0.00 H +HETATM 2545 C1 MOL 160 51.930 29.560 23.210 0.00 0.00 C +HETATM 2546 H1 MOL 160 52.670 28.960 22.700 0.00 0.00 H +HETATM 2547 C2 MOL 160 50.690 29.830 22.610 0.00 0.00 C +HETATM 2548 H2 MOL 160 50.460 29.580 21.590 0.00 0.00 H +HETATM 2549 C3 MOL 160 49.750 30.520 23.380 0.00 0.00 C +HETATM 2550 H3 MOL 160 48.820 30.860 22.940 0.00 0.00 H +HETATM 2551 C4 MOL 160 50.020 30.950 24.690 0.00 0.00 C +HETATM 2552 H4 MOL 160 49.250 31.540 25.160 0.00 0.00 H +HETATM 2553 C5 MOL 160 51.280 30.720 25.240 0.00 0.00 C +HETATM 2554 H5 MOL 160 51.390 31.020 26.280 0.00 0.00 H +HETATM 2555 C6 MOL 160 52.240 30.020 24.500 0.00 0.00 C +HETATM 2556 C7 MOL 160 53.460 29.470 25.210 0.00 0.00 C +HETATM 2557 H6 MOL 160 54.010 28.820 24.530 0.00 0.00 H +HETATM 2558 H7 MOL 160 53.150 28.800 26.010 0.00 0.00 H +HETATM 2559 O1 MOL 160 54.310 30.560 25.480 0.00 0.00 O +HETATM 2560 H8 MOL 160 54.460 31.010 24.670 0.00 0.00 H +HETATM 2561 C1 MOL 161 35.960 50.850 29.610 0.00 0.00 C +HETATM 2562 H1 MOL 161 36.720 51.350 30.190 0.00 0.00 H +HETATM 2563 C2 MOL 161 35.970 49.470 29.410 0.00 0.00 C +HETATM 2564 H2 MOL 161 36.860 48.900 29.630 0.00 0.00 H +HETATM 2565 C3 MOL 161 34.900 48.860 28.740 0.00 0.00 C +HETATM 2566 H3 MOL 161 34.950 47.790 28.610 0.00 0.00 H +HETATM 2567 C4 MOL 161 33.700 49.550 28.570 0.00 0.00 C +HETATM 2568 H4 MOL 161 32.880 48.930 28.220 0.00 0.00 H +HETATM 2569 C5 MOL 161 33.670 50.920 28.860 0.00 0.00 C +HETATM 2570 H5 MOL 161 32.820 51.560 28.650 0.00 0.00 H +HETATM 2571 C6 MOL 161 34.820 51.590 29.290 0.00 0.00 C +HETATM 2572 C7 MOL 161 34.800 53.080 29.540 0.00 0.00 C +HETATM 2573 H6 MOL 161 34.050 53.660 29.000 0.00 0.00 H +HETATM 2574 H7 MOL 161 35.830 53.290 29.250 0.00 0.00 H +HETATM 2575 O1 MOL 161 34.680 53.370 30.910 0.00 0.00 O +HETATM 2576 H8 MOL 161 35.220 52.720 31.320 0.00 0.00 H +HETATM 2577 C1 MOL 162 40.910 51.790 24.750 0.00 0.00 C +HETATM 2578 H1 MOL 162 41.630 52.020 23.970 0.00 0.00 H +HETATM 2579 C2 MOL 162 39.890 52.730 24.950 0.00 0.00 C +HETATM 2580 H2 MOL 162 39.840 53.500 24.200 0.00 0.00 H +HETATM 2581 C3 MOL 162 39.010 52.600 26.040 0.00 0.00 C +HETATM 2582 H3 MOL 162 38.140 53.210 26.220 0.00 0.00 H +HETATM 2583 C4 MOL 162 39.300 51.590 26.960 0.00 0.00 C +HETATM 2584 H4 MOL 162 38.790 51.520 27.910 0.00 0.00 H +HETATM 2585 C5 MOL 162 40.220 50.570 26.660 0.00 0.00 C +HETATM 2586 H5 MOL 162 40.200 49.810 27.430 0.00 0.00 H +HETATM 2587 C6 MOL 162 41.100 50.690 25.580 0.00 0.00 C +HETATM 2588 C7 MOL 162 42.330 49.810 25.500 0.00 0.00 C +HETATM 2589 H6 MOL 162 42.370 49.290 24.540 0.00 0.00 H +HETATM 2590 H7 MOL 162 42.290 49.100 26.320 0.00 0.00 H +HETATM 2591 O1 MOL 162 43.540 50.520 25.610 0.00 0.00 O +HETATM 2592 H8 MOL 162 43.990 50.440 24.790 0.00 0.00 H +HETATM 2593 C1 MOL 163 29.650 25.310 28.520 0.00 0.00 C +HETATM 2594 H1 MOL 163 30.310 24.620 29.020 0.00 0.00 H +HETATM 2595 C2 MOL 163 28.540 26.000 29.040 0.00 0.00 C +HETATM 2596 H2 MOL 163 28.310 25.930 30.090 0.00 0.00 H +HETATM 2597 C3 MOL 163 27.910 27.050 28.370 0.00 0.00 C +HETATM 2598 H3 MOL 163 27.280 27.700 28.960 0.00 0.00 H +HETATM 2599 C4 MOL 163 28.310 27.330 27.060 0.00 0.00 C +HETATM 2600 H4 MOL 163 27.850 28.140 26.520 0.00 0.00 H +HETATM 2601 C5 MOL 163 29.380 26.640 26.480 0.00 0.00 C +HETATM 2602 H5 MOL 163 29.780 26.930 25.520 0.00 0.00 H +HETATM 2603 C6 MOL 163 30.050 25.660 27.220 0.00 0.00 C +HETATM 2604 C7 MOL 163 31.230 24.940 26.620 0.00 0.00 C +HETATM 2605 H6 MOL 163 31.410 25.260 25.590 0.00 0.00 H +HETATM 2606 H7 MOL 163 31.080 23.870 26.430 0.00 0.00 H +HETATM 2607 O1 MOL 163 32.460 25.090 27.280 0.00 0.00 O +HETATM 2608 H8 MOL 163 32.440 24.750 28.160 0.00 0.00 H +HETATM 2609 C1 MOL 164 6.220 51.880 36.800 0.00 0.00 C +HETATM 2610 H1 MOL 164 6.590 50.910 37.090 0.00 0.00 H +HETATM 2611 C2 MOL 164 5.150 51.810 35.890 0.00 0.00 C +HETATM 2612 H2 MOL 164 4.680 50.910 35.520 0.00 0.00 H +HETATM 2613 C3 MOL 164 4.490 52.990 35.550 0.00 0.00 C +HETATM 2614 H3 MOL 164 3.720 52.980 34.790 0.00 0.00 H +HETATM 2615 C4 MOL 164 4.900 54.210 36.100 0.00 0.00 C +HETATM 2616 H4 MOL 164 4.410 55.110 35.790 0.00 0.00 H +HETATM 2617 C5 MOL 164 6.050 54.270 36.910 0.00 0.00 C +HETATM 2618 H5 MOL 164 6.400 55.250 37.180 0.00 0.00 H +HETATM 2619 C6 MOL 164 6.730 53.100 37.270 0.00 0.00 C +HETATM 2620 C7 MOL 164 7.880 53.180 38.240 0.00 0.00 C +HETATM 2621 H6 MOL 164 8.410 54.120 38.080 0.00 0.00 H +HETATM 2622 H7 MOL 164 8.560 52.330 38.140 0.00 0.00 H +HETATM 2623 O1 MOL 164 7.400 53.090 39.560 0.00 0.00 O +HETATM 2624 H8 MOL 164 6.610 52.570 39.620 0.00 0.00 H +HETATM 2625 C1 MOL 165 48.930 45.150 16.880 0.00 0.00 C +HETATM 2626 H1 MOL 165 49.580 45.770 16.280 0.00 0.00 H +HETATM 2627 C2 MOL 165 49.020 45.250 18.280 0.00 0.00 C +HETATM 2628 H2 MOL 165 49.760 45.910 18.710 0.00 0.00 H +HETATM 2629 C3 MOL 165 48.190 44.450 19.080 0.00 0.00 C +HETATM 2630 H3 MOL 165 48.380 44.430 20.140 0.00 0.00 H +HETATM 2631 C4 MOL 165 47.270 43.590 18.460 0.00 0.00 C +HETATM 2632 H4 MOL 165 46.640 43.050 19.150 0.00 0.00 H +HETATM 2633 C5 MOL 165 47.170 43.490 17.070 0.00 0.00 C +HETATM 2634 H5 MOL 165 46.560 42.740 16.600 0.00 0.00 H +HETATM 2635 C6 MOL 165 48.040 44.260 16.270 0.00 0.00 C +HETATM 2636 C7 MOL 165 47.920 44.210 14.770 0.00 0.00 C +HETATM 2637 H6 MOL 165 47.800 43.180 14.430 0.00 0.00 H +HETATM 2638 H7 MOL 165 48.880 44.510 14.350 0.00 0.00 H +HETATM 2639 O1 MOL 165 47.030 45.220 14.360 0.00 0.00 O +HETATM 2640 H8 MOL 165 46.130 44.980 14.490 0.00 0.00 H +HETATM 2641 C1 MOL 166 36.150 2.500 39.970 0.00 0.00 C +HETATM 2642 H1 MOL 166 35.780 1.500 40.150 0.00 0.00 H +HETATM 2643 C2 MOL 166 37.000 2.770 38.890 0.00 0.00 C +HETATM 2644 H2 MOL 166 37.050 1.990 38.150 0.00 0.00 H +HETATM 2645 C3 MOL 166 37.580 4.040 38.750 0.00 0.00 C +HETATM 2646 H3 MOL 166 38.230 4.210 37.900 0.00 0.00 H +HETATM 2647 C4 MOL 166 37.220 5.110 39.570 0.00 0.00 C +HETATM 2648 H4 MOL 166 37.740 6.060 39.500 0.00 0.00 H +HETATM 2649 C5 MOL 166 36.280 4.870 40.580 0.00 0.00 C +HETATM 2650 H5 MOL 166 35.960 5.570 41.330 0.00 0.00 H +HETATM 2651 C6 MOL 166 35.720 3.590 40.730 0.00 0.00 C +HETATM 2652 C7 MOL 166 34.700 3.360 41.820 0.00 0.00 C +HETATM 2653 H6 MOL 166 34.250 2.380 41.650 0.00 0.00 H +HETATM 2654 H7 MOL 166 34.020 4.200 41.830 0.00 0.00 H +HETATM 2655 O1 MOL 166 35.410 3.330 43.040 0.00 0.00 O +HETATM 2656 H8 MOL 166 36.310 3.330 42.760 0.00 0.00 H +HETATM 2657 C1 MOL 167 36.970 38.730 45.600 0.00 0.00 C +HETATM 2658 H1 MOL 167 36.730 38.690 44.540 0.00 0.00 H +HETATM 2659 C2 MOL 167 36.560 39.940 46.170 0.00 0.00 C +HETATM 2660 H2 MOL 167 36.030 40.620 45.540 0.00 0.00 H +HETATM 2661 C3 MOL 167 36.830 40.130 47.530 0.00 0.00 C +HETATM 2662 H3 MOL 167 36.480 41.020 48.030 0.00 0.00 H +HETATM 2663 C4 MOL 167 37.560 39.200 48.290 0.00 0.00 C +HETATM 2664 H4 MOL 167 37.840 39.390 49.310 0.00 0.00 H +HETATM 2665 C5 MOL 167 38.120 38.110 47.620 0.00 0.00 C +HETATM 2666 H5 MOL 167 38.760 37.380 48.100 0.00 0.00 H +HETATM 2667 C6 MOL 167 37.770 37.820 46.290 0.00 0.00 C +HETATM 2668 C7 MOL 167 38.260 36.570 45.590 0.00 0.00 C +HETATM 2669 H6 MOL 167 37.570 35.750 45.750 0.00 0.00 H +HETATM 2670 H7 MOL 167 39.250 36.350 45.970 0.00 0.00 H +HETATM 2671 O1 MOL 167 38.320 36.850 44.210 0.00 0.00 O +HETATM 2672 H8 MOL 167 37.600 36.390 43.820 0.00 0.00 H +HETATM 2673 C1 MOL 168 32.110 40.310 19.160 0.00 0.00 C +HETATM 2674 H1 MOL 168 32.720 41.090 18.720 0.00 0.00 H +HETATM 2675 C2 MOL 168 31.210 40.480 20.220 0.00 0.00 C +HETATM 2676 H2 MOL 168 31.270 41.390 20.800 0.00 0.00 H +HETATM 2677 C3 MOL 168 30.380 39.420 20.610 0.00 0.00 C +HETATM 2678 H3 MOL 168 29.610 39.560 21.350 0.00 0.00 H +HETATM 2679 C4 MOL 168 30.460 38.210 19.920 0.00 0.00 C +HETATM 2680 H4 MOL 168 29.770 37.390 19.960 0.00 0.00 H +HETATM 2681 C5 MOL 168 31.340 38.050 18.840 0.00 0.00 C +HETATM 2682 H5 MOL 168 31.230 37.120 18.300 0.00 0.00 H +HETATM 2683 C6 MOL 168 32.130 39.130 18.420 0.00 0.00 C +HETATM 2684 C7 MOL 168 32.910 39.010 17.130 0.00 0.00 C +HETATM 2685 H6 MOL 168 32.890 38.060 16.590 0.00 0.00 H +HETATM 2686 H7 MOL 168 33.950 39.100 17.410 0.00 0.00 H +HETATM 2687 O1 MOL 168 32.610 40.120 16.320 0.00 0.00 O +HETATM 2688 H8 MOL 168 31.700 40.050 16.050 0.00 0.00 H +HETATM 2689 C1 MOL 169 22.350 10.090 33.060 0.00 0.00 C +HETATM 2690 H1 MOL 169 22.390 9.200 33.680 0.00 0.00 H +HETATM 2691 C2 MOL 169 21.060 10.450 32.670 0.00 0.00 C +HETATM 2692 H2 MOL 169 20.240 9.830 32.980 0.00 0.00 H +HETATM 2693 C3 MOL 169 20.840 11.590 31.880 0.00 0.00 C +HETATM 2694 H3 MOL 169 19.820 11.900 31.690 0.00 0.00 H +HETATM 2695 C4 MOL 169 21.930 12.320 31.410 0.00 0.00 C +HETATM 2696 H4 MOL 169 21.770 13.150 30.740 0.00 0.00 H +HETATM 2697 C5 MOL 169 23.230 11.910 31.750 0.00 0.00 C +HETATM 2698 H5 MOL 169 24.040 12.430 31.260 0.00 0.00 H +HETATM 2699 C6 MOL 169 23.450 10.800 32.570 0.00 0.00 C +HETATM 2700 C7 MOL 169 24.870 10.400 32.910 0.00 0.00 C +HETATM 2701 H6 MOL 169 25.540 10.600 32.080 0.00 0.00 H +HETATM 2702 H7 MOL 169 24.870 9.380 33.290 0.00 0.00 H +HETATM 2703 O1 MOL 169 25.300 11.120 34.040 0.00 0.00 O +HETATM 2704 H8 MOL 169 24.720 10.770 34.700 0.00 0.00 H +HETATM 2705 C1 MOL 170 39.920 49.520 8.070 0.00 0.00 C +HETATM 2706 H1 MOL 170 40.520 49.110 7.270 0.00 0.00 H +HETATM 2707 C2 MOL 170 40.490 49.700 9.340 0.00 0.00 C +HETATM 2708 H2 MOL 170 41.550 49.540 9.440 0.00 0.00 H +HETATM 2709 C3 MOL 170 39.710 50.130 10.420 0.00 0.00 C +HETATM 2710 H3 MOL 170 40.060 50.280 11.440 0.00 0.00 H +HETATM 2711 C4 MOL 170 38.330 50.300 10.280 0.00 0.00 C +HETATM 2712 H4 MOL 170 37.750 50.660 11.130 0.00 0.00 H +HETATM 2713 C5 MOL 170 37.780 50.160 9.010 0.00 0.00 C +HETATM 2714 H5 MOL 170 36.770 50.450 8.760 0.00 0.00 H +HETATM 2715 C6 MOL 170 38.570 49.850 7.890 0.00 0.00 C +HETATM 2716 C7 MOL 170 37.900 49.670 6.550 0.00 0.00 C +HETATM 2717 H6 MOL 170 36.850 49.380 6.630 0.00 0.00 H +HETATM 2718 H7 MOL 170 38.490 49.140 5.800 0.00 0.00 H +HETATM 2719 O1 MOL 170 37.670 50.930 5.970 0.00 0.00 O +HETATM 2720 H8 MOL 170 37.010 51.430 6.440 0.00 0.00 H +HETATM 2721 C1 MOL 171 41.480 14.660 33.980 0.00 0.00 C +HETATM 2722 H1 MOL 171 41.140 15.630 33.630 0.00 0.00 H +HETATM 2723 C2 MOL 171 40.830 14.070 35.060 0.00 0.00 C +HETATM 2724 H2 MOL 171 40.090 14.640 35.600 0.00 0.00 H +HETATM 2725 C3 MOL 171 40.920 12.690 35.330 0.00 0.00 C +HETATM 2726 H3 MOL 171 40.320 12.220 36.090 0.00 0.00 H +HETATM 2727 C4 MOL 171 41.700 11.870 34.510 0.00 0.00 C +HETATM 2728 H4 MOL 171 41.790 10.820 34.730 0.00 0.00 H +HETATM 2729 C5 MOL 171 42.470 12.470 33.500 0.00 0.00 C +HETATM 2730 H5 MOL 171 43.120 11.820 32.940 0.00 0.00 H +HETATM 2731 C6 MOL 171 42.260 13.810 33.180 0.00 0.00 C +HETATM 2732 C7 MOL 171 43.070 14.290 32.000 0.00 0.00 C +HETATM 2733 H6 MOL 171 43.180 13.530 31.220 0.00 0.00 H +HETATM 2734 H7 MOL 171 44.090 14.470 32.350 0.00 0.00 H +HETATM 2735 O1 MOL 171 42.640 15.490 31.400 0.00 0.00 O +HETATM 2736 H8 MOL 171 43.130 16.080 31.940 0.00 0.00 H +HETATM 2737 C1 MOL 172 23.880 46.650 38.150 0.00 0.00 C +HETATM 2738 H1 MOL 172 22.810 46.710 38.040 0.00 0.00 H +HETATM 2739 C2 MOL 172 24.650 46.810 37.000 0.00 0.00 C +HETATM 2740 H2 MOL 172 24.110 46.920 36.060 0.00 0.00 H +HETATM 2741 C3 MOL 172 26.040 46.820 37.090 0.00 0.00 C +HETATM 2742 H3 MOL 172 26.570 47.150 36.200 0.00 0.00 H +HETATM 2743 C4 MOL 172 26.630 46.630 38.340 0.00 0.00 C +HETATM 2744 H4 MOL 172 27.710 46.550 38.430 0.00 0.00 H +HETATM 2745 C5 MOL 172 25.880 46.250 39.460 0.00 0.00 C +HETATM 2746 H5 MOL 172 26.330 46.150 40.440 0.00 0.00 H +HETATM 2747 C6 MOL 172 24.490 46.340 39.380 0.00 0.00 C +HETATM 2748 C7 MOL 172 23.670 45.930 40.580 0.00 0.00 C +HETATM 2749 H6 MOL 172 22.810 45.320 40.320 0.00 0.00 H +HETATM 2750 H7 MOL 172 23.310 46.870 41.010 0.00 0.00 H +HETATM 2751 O1 MOL 172 24.240 45.050 41.520 0.00 0.00 O +HETATM 2752 H8 MOL 172 23.770 45.150 42.330 0.00 0.00 H +HETATM 2753 C1 MOL 173 9.160 2.710 7.720 0.00 0.00 C +HETATM 2754 H1 MOL 173 9.930 2.200 8.280 0.00 0.00 H +HETATM 2755 C2 MOL 173 8.370 3.770 8.170 0.00 0.00 C +HETATM 2756 H2 MOL 173 8.510 4.090 9.190 0.00 0.00 H +HETATM 2757 C3 MOL 173 7.430 4.350 7.310 0.00 0.00 C +HETATM 2758 H3 MOL 173 6.660 4.960 7.760 0.00 0.00 H +HETATM 2759 C4 MOL 173 7.360 3.840 6.000 0.00 0.00 C +HETATM 2760 H4 MOL 173 6.580 4.180 5.340 0.00 0.00 H +HETATM 2761 C5 MOL 173 8.080 2.730 5.550 0.00 0.00 C +HETATM 2762 H5 MOL 173 7.880 2.430 4.530 0.00 0.00 H +HETATM 2763 C6 MOL 173 8.940 2.120 6.470 0.00 0.00 C +HETATM 2764 C7 MOL 173 9.630 0.820 6.120 0.00 0.00 C +HETATM 2765 H6 MOL 173 10.300 0.680 6.960 0.00 0.00 H +HETATM 2766 H7 MOL 173 10.310 0.980 5.280 0.00 0.00 H +HETATM 2767 O1 MOL 173 8.720 -0.260 6.030 0.00 0.00 O +HETATM 2768 H8 MOL 173 8.330 -0.200 5.180 0.00 0.00 H +HETATM 2769 C1 MOL 174 47.840 19.110 21.230 0.00 0.00 C +HETATM 2770 H1 MOL 174 46.990 19.670 20.890 0.00 0.00 H +HETATM 2771 C2 MOL 174 48.820 18.780 20.280 0.00 0.00 C +HETATM 2772 H2 MOL 174 48.870 18.920 19.210 0.00 0.00 H +HETATM 2773 C3 MOL 174 50.060 18.290 20.730 0.00 0.00 C +HETATM 2774 H3 MOL 174 50.750 18.000 19.950 0.00 0.00 H +HETATM 2775 C4 MOL 174 50.280 18.190 22.110 0.00 0.00 C +HETATM 2776 H4 MOL 174 51.190 17.780 22.520 0.00 0.00 H +HETATM 2777 C5 MOL 174 49.300 18.430 23.080 0.00 0.00 C +HETATM 2778 H5 MOL 174 49.560 18.190 24.100 0.00 0.00 H +HETATM 2779 C6 MOL 174 48.050 18.830 22.580 0.00 0.00 C +HETATM 2780 C7 MOL 174 46.940 19.040 23.580 0.00 0.00 C +HETATM 2781 H6 MOL 174 47.390 19.100 24.570 0.00 0.00 H +HETATM 2782 H7 MOL 174 46.250 18.210 23.430 0.00 0.00 H +HETATM 2783 O1 MOL 174 46.410 20.310 23.240 0.00 0.00 O +HETATM 2784 H8 MOL 174 47.080 20.970 23.320 0.00 0.00 H +HETATM 2785 C1 MOL 175 21.170 32.320 52.140 0.00 0.00 C +HETATM 2786 H1 MOL 175 21.780 31.430 52.160 0.00 0.00 H +HETATM 2787 C2 MOL 175 21.810 33.560 52.290 0.00 0.00 C +HETATM 2788 H2 MOL 175 22.890 33.600 52.310 0.00 0.00 H +HETATM 2789 C3 MOL 175 21.040 34.730 52.380 0.00 0.00 C +HETATM 2790 H3 MOL 175 21.630 35.630 52.550 0.00 0.00 H +HETATM 2791 C4 MOL 175 19.660 34.660 52.210 0.00 0.00 C +HETATM 2792 H4 MOL 175 19.070 35.560 52.160 0.00 0.00 H +HETATM 2793 C5 MOL 175 19.020 33.440 51.960 0.00 0.00 C +HETATM 2794 H5 MOL 175 17.970 33.380 51.700 0.00 0.00 H +HETATM 2795 C6 MOL 175 19.780 32.260 51.970 0.00 0.00 C +HETATM 2796 C7 MOL 175 19.020 31.020 51.590 0.00 0.00 C +HETATM 2797 H6 MOL 175 18.150 30.870 52.230 0.00 0.00 H +HETATM 2798 H7 MOL 175 19.700 30.190 51.810 0.00 0.00 H +HETATM 2799 O1 MOL 175 18.470 31.060 50.290 0.00 0.00 O +HETATM 2800 H8 MOL 175 17.630 30.620 50.330 0.00 0.00 H +HETATM 2801 C1 MOL 176 23.800 41.680 52.600 0.00 0.00 C +HETATM 2802 H1 MOL 176 23.000 41.690 51.880 0.00 0.00 H +HETATM 2803 C2 MOL 176 25.100 41.420 52.140 0.00 0.00 C +HETATM 2804 H2 MOL 176 25.420 41.280 51.120 0.00 0.00 H +HETATM 2805 C3 MOL 176 26.060 41.440 53.160 0.00 0.00 C +HETATM 2806 H3 MOL 176 27.080 41.370 52.790 0.00 0.00 H +HETATM 2807 C4 MOL 176 25.790 41.650 54.520 0.00 0.00 C +HETATM 2808 H4 MOL 176 26.620 41.640 55.210 0.00 0.00 H +HETATM 2809 C5 MOL 176 24.470 41.920 54.910 0.00 0.00 C +HETATM 2810 H5 MOL 176 24.170 42.060 55.940 0.00 0.00 H +HETATM 2811 C6 MOL 176 23.470 41.910 53.940 0.00 0.00 C +HETATM 2812 C7 MOL 176 22.000 42.090 54.250 0.00 0.00 C +HETATM 2813 H6 MOL 176 21.480 41.910 53.310 0.00 0.00 H +HETATM 2814 H7 MOL 176 21.670 43.090 54.510 0.00 0.00 H +HETATM 2815 O1 MOL 176 21.650 41.210 55.300 0.00 0.00 O +HETATM 2816 H8 MOL 176 21.950 40.350 55.040 0.00 0.00 H +HETATM 2817 C1 MOL 177 36.080 20.710 13.580 0.00 0.00 C +HETATM 2818 H1 MOL 177 36.530 19.750 13.380 0.00 0.00 H +HETATM 2819 C2 MOL 177 35.350 20.930 14.760 0.00 0.00 C +HETATM 2820 H2 MOL 177 35.290 20.270 15.610 0.00 0.00 H +HETATM 2821 C3 MOL 177 34.560 22.080 14.870 0.00 0.00 C +HETATM 2822 H3 MOL 177 34.080 22.290 15.810 0.00 0.00 H +HETATM 2823 C4 MOL 177 34.570 23.050 13.860 0.00 0.00 C +HETATM 2824 H4 MOL 177 34.250 24.070 13.940 0.00 0.00 H +HETATM 2825 C5 MOL 177 35.350 22.840 12.710 0.00 0.00 C +HETATM 2826 H5 MOL 177 35.450 23.680 12.030 0.00 0.00 H +HETATM 2827 C6 MOL 177 36.050 21.640 12.530 0.00 0.00 C +HETATM 2828 C7 MOL 177 36.850 21.330 11.290 0.00 0.00 C +HETATM 2829 H6 MOL 177 36.270 21.200 10.380 0.00 0.00 H +HETATM 2830 H7 MOL 177 37.450 20.420 11.400 0.00 0.00 H +HETATM 2831 O1 MOL 177 37.660 22.470 11.060 0.00 0.00 O +HETATM 2832 H8 MOL 177 37.270 23.050 10.430 0.00 0.00 H +HETATM 2833 C1 MOL 178 7.710 10.480 1.050 0.00 0.00 C +HETATM 2834 H1 MOL 178 8.220 11.430 0.940 0.00 0.00 H +HETATM 2835 C2 MOL 178 6.770 10.210 0.050 0.00 0.00 C +HETATM 2836 H2 MOL 178 6.310 10.910 -0.630 0.00 0.00 H +HETATM 2837 C3 MOL 178 6.250 8.910 -0.020 0.00 0.00 C +HETATM 2838 H3 MOL 178 5.440 8.710 -0.710 0.00 0.00 H +HETATM 2839 C4 MOL 178 6.650 7.910 0.880 0.00 0.00 C +HETATM 2840 H4 MOL 178 6.280 6.900 0.770 0.00 0.00 H +HETATM 2841 C5 MOL 178 7.530 8.250 1.910 0.00 0.00 C +HETATM 2842 H5 MOL 178 7.890 7.460 2.550 0.00 0.00 H +HETATM 2843 C6 MOL 178 8.130 9.520 1.970 0.00 0.00 C +HETATM 2844 C7 MOL 178 9.130 9.880 3.040 0.00 0.00 C +HETATM 2845 H6 MOL 178 9.770 10.740 2.810 0.00 0.00 H +HETATM 2846 H7 MOL 178 9.730 9.020 3.350 0.00 0.00 H +HETATM 2847 O1 MOL 178 8.350 10.290 4.140 0.00 0.00 O +HETATM 2848 H8 MOL 178 7.790 9.540 4.200 0.00 0.00 H +HETATM 2849 C1 MOL 179 40.610 10.630 41.310 0.00 0.00 C +HETATM 2850 H1 MOL 179 40.150 9.650 41.220 0.00 0.00 H +HETATM 2851 C2 MOL 179 41.420 11.090 40.270 0.00 0.00 C +HETATM 2852 H2 MOL 179 41.510 10.520 39.360 0.00 0.00 H +HETATM 2853 C3 MOL 179 42.030 12.350 40.410 0.00 0.00 C +HETATM 2854 H3 MOL 179 42.590 12.720 39.560 0.00 0.00 H +HETATM 2855 C4 MOL 179 41.760 13.100 41.550 0.00 0.00 C +HETATM 2856 H4 MOL 179 42.080 14.140 41.610 0.00 0.00 H +HETATM 2857 C5 MOL 179 40.980 12.620 42.610 0.00 0.00 C +HETATM 2858 H5 MOL 179 40.920 13.210 43.500 0.00 0.00 H +HETATM 2859 C6 MOL 179 40.420 11.340 42.500 0.00 0.00 C +HETATM 2860 C7 MOL 179 39.560 10.810 43.620 0.00 0.00 C +HETATM 2861 H6 MOL 179 38.500 10.890 43.360 0.00 0.00 H +HETATM 2862 H7 MOL 179 39.550 11.320 44.580 0.00 0.00 H +HETATM 2863 O1 MOL 179 39.750 9.430 43.860 0.00 0.00 O +HETATM 2864 H8 MOL 179 40.680 9.340 44.000 0.00 0.00 H +HETATM 2865 C1 MOL 180 4.750 54.530 41.240 0.00 0.00 C +HETATM 2866 H1 MOL 180 5.510 54.710 40.490 0.00 0.00 H +HETATM 2867 C2 MOL 180 5.080 54.210 42.560 0.00 0.00 C +HETATM 2868 H2 MOL 180 6.100 53.930 42.800 0.00 0.00 H +HETATM 2869 C3 MOL 180 4.110 53.990 43.540 0.00 0.00 C +HETATM 2870 H3 MOL 180 4.370 53.610 44.520 0.00 0.00 H +HETATM 2871 C4 MOL 180 2.790 53.890 43.080 0.00 0.00 C +HETATM 2872 H4 MOL 180 2.010 53.630 43.770 0.00 0.00 H +HETATM 2873 C5 MOL 180 2.420 54.330 41.800 0.00 0.00 C +HETATM 2874 H5 MOL 180 1.370 54.480 41.560 0.00 0.00 H +HETATM 2875 C6 MOL 180 3.400 54.640 40.860 0.00 0.00 C +HETATM 2876 C7 MOL 180 3.070 55.080 39.460 0.00 0.00 C +HETATM 2877 H6 MOL 180 3.530 54.380 38.760 0.00 0.00 H +HETATM 2878 H7 MOL 180 3.530 56.070 39.400 0.00 0.00 H +HETATM 2879 O1 MOL 180 1.680 55.050 39.240 0.00 0.00 O +HETATM 2880 H8 MOL 180 1.490 54.130 39.220 0.00 0.00 H +HETATM 2881 C1 MOL 181 20.110 54.930 17.900 0.00 0.00 C +HETATM 2882 H1 MOL 181 20.340 54.260 17.090 0.00 0.00 H +HETATM 2883 C2 MOL 181 18.780 54.990 18.320 0.00 0.00 C +HETATM 2884 H2 MOL 181 17.970 54.460 17.850 0.00 0.00 H +HETATM 2885 C3 MOL 181 18.480 56.000 19.250 0.00 0.00 C +HETATM 2886 H3 MOL 181 17.460 56.090 19.590 0.00 0.00 H +HETATM 2887 C4 MOL 181 19.510 56.670 19.920 0.00 0.00 C +HETATM 2888 H4 MOL 181 19.250 57.330 20.730 0.00 0.00 H +HETATM 2889 C5 MOL 181 20.870 56.440 19.640 0.00 0.00 C +HETATM 2890 H5 MOL 181 21.670 56.990 20.110 0.00 0.00 H +HETATM 2891 C6 MOL 181 21.150 55.590 18.570 0.00 0.00 C +HETATM 2892 C7 MOL 181 22.600 55.300 18.250 0.00 0.00 C +HETATM 2893 H6 MOL 181 22.950 54.390 18.740 0.00 0.00 H +HETATM 2894 H7 MOL 181 23.220 56.130 18.560 0.00 0.00 H +HETATM 2895 O1 MOL 181 22.700 55.150 16.850 0.00 0.00 O +HETATM 2896 H8 MOL 181 22.430 54.300 16.530 0.00 0.00 H +HETATM 2897 C1 MOL 182 12.120 9.150 16.210 0.00 0.00 C +HETATM 2898 H1 MOL 182 12.620 8.220 15.990 0.00 0.00 H +HETATM 2899 C2 MOL 182 12.480 10.360 15.610 0.00 0.00 C +HETATM 2900 H2 MOL 182 13.090 10.430 14.720 0.00 0.00 H +HETATM 2901 C3 MOL 182 11.940 11.580 16.040 0.00 0.00 C +HETATM 2902 H3 MOL 182 12.230 12.520 15.610 0.00 0.00 H +HETATM 2903 C4 MOL 182 11.020 11.650 17.100 0.00 0.00 C +HETATM 2904 H4 MOL 182 10.600 12.570 17.480 0.00 0.00 H +HETATM 2905 C5 MOL 182 10.690 10.430 17.700 0.00 0.00 C +HETATM 2906 H5 MOL 182 9.880 10.470 18.420 0.00 0.00 H +HETATM 2907 C6 MOL 182 11.170 9.200 17.240 0.00 0.00 C +HETATM 2908 C7 MOL 182 10.750 7.950 17.970 0.00 0.00 C +HETATM 2909 H6 MOL 182 10.790 7.040 17.360 0.00 0.00 H +HETATM 2910 H7 MOL 182 9.690 8.120 18.170 0.00 0.00 H +HETATM 2911 O1 MOL 182 11.470 7.770 19.170 0.00 0.00 O +HETATM 2912 H8 MOL 182 12.360 7.510 18.960 0.00 0.00 H +HETATM 2913 C1 MOL 183 52.770 7.930 16.490 0.00 0.00 C +HETATM 2914 H1 MOL 183 53.130 7.280 17.260 0.00 0.00 H +HETATM 2915 C2 MOL 183 52.390 7.400 15.250 0.00 0.00 C +HETATM 2916 H2 MOL 183 52.480 6.330 15.120 0.00 0.00 H +HETATM 2917 C3 MOL 183 51.680 8.130 14.290 0.00 0.00 C +HETATM 2918 H3 MOL 183 51.520 7.620 13.350 0.00 0.00 H +HETATM 2919 C4 MOL 183 51.490 9.490 14.550 0.00 0.00 C +HETATM 2920 H4 MOL 183 51.080 10.240 13.890 0.00 0.00 H +HETATM 2921 C5 MOL 183 51.830 10.020 15.790 0.00 0.00 C +HETATM 2922 H5 MOL 183 51.600 11.060 16.010 0.00 0.00 H +HETATM 2923 C6 MOL 183 52.460 9.270 16.790 0.00 0.00 C +HETATM 2924 C7 MOL 183 52.720 9.920 18.120 0.00 0.00 C +HETATM 2925 H6 MOL 183 53.010 10.950 17.940 0.00 0.00 H +HETATM 2926 H7 MOL 183 53.630 9.470 18.530 0.00 0.00 H +HETATM 2927 O1 MOL 183 51.580 9.880 18.940 0.00 0.00 O +HETATM 2928 H8 MOL 183 50.850 10.190 18.430 0.00 0.00 H +HETATM 2929 C1 MOL 184 55.340 49.960 37.660 0.00 0.00 C +HETATM 2930 H1 MOL 184 55.510 50.590 36.800 0.00 0.00 H +HETATM 2931 C2 MOL 184 54.210 49.150 37.780 0.00 0.00 C +HETATM 2932 H2 MOL 184 53.490 49.180 36.970 0.00 0.00 H +HETATM 2933 C3 MOL 184 53.930 48.490 38.990 0.00 0.00 C +HETATM 2934 H3 MOL 184 53.070 47.840 39.090 0.00 0.00 H +HETATM 2935 C4 MOL 184 54.820 48.600 40.060 0.00 0.00 C +HETATM 2936 H4 MOL 184 54.600 48.060 40.970 0.00 0.00 H +HETATM 2937 C5 MOL 184 55.980 49.360 39.910 0.00 0.00 C +HETATM 2938 H5 MOL 184 56.750 49.370 40.670 0.00 0.00 H +HETATM 2939 C6 MOL 184 56.210 50.110 38.750 0.00 0.00 C +HETATM 2940 C7 MOL 184 57.240 51.210 38.710 0.00 0.00 C +HETATM 2941 H6 MOL 184 57.470 51.500 37.680 0.00 0.00 H +HETATM 2942 H7 MOL 184 58.190 50.860 39.130 0.00 0.00 H +HETATM 2943 O1 MOL 184 56.740 52.220 39.560 0.00 0.00 O +HETATM 2944 H8 MOL 184 56.100 51.750 40.080 0.00 0.00 H +HETATM 2945 C1 MOL 185 24.990 22.890 19.090 0.00 0.00 C +HETATM 2946 H1 MOL 185 25.880 22.280 19.050 0.00 0.00 H +HETATM 2947 C2 MOL 185 24.560 23.660 20.180 0.00 0.00 C +HETATM 2948 H2 MOL 185 25.190 23.740 21.050 0.00 0.00 H +HETATM 2949 C3 MOL 185 23.320 24.290 20.170 0.00 0.00 C +HETATM 2950 H3 MOL 185 22.940 24.830 21.030 0.00 0.00 H +HETATM 2951 C4 MOL 185 22.440 24.070 19.100 0.00 0.00 C +HETATM 2952 H4 MOL 185 21.480 24.540 19.170 0.00 0.00 H +HETATM 2953 C5 MOL 185 22.890 23.320 18.010 0.00 0.00 C +HETATM 2954 H5 MOL 185 22.170 23.110 17.230 0.00 0.00 H +HETATM 2955 C6 MOL 185 24.160 22.720 17.970 0.00 0.00 C +HETATM 2956 C7 MOL 185 24.580 21.990 16.720 0.00 0.00 C +HETATM 2957 H6 MOL 185 24.150 20.990 16.770 0.00 0.00 H +HETATM 2958 H7 MOL 185 25.660 21.870 16.630 0.00 0.00 H +HETATM 2959 O1 MOL 185 24.190 22.700 15.570 0.00 0.00 O +HETATM 2960 H8 MOL 185 23.330 23.090 15.650 0.00 0.00 H +HETATM 2961 C1 MOL 186 45.080 20.040 45.700 0.00 0.00 C +HETATM 2962 H1 MOL 186 44.100 19.640 45.930 0.00 0.00 H +HETATM 2963 C2 MOL 186 46.310 19.450 46.000 0.00 0.00 C +HETATM 2964 H2 MOL 186 46.300 18.580 46.640 0.00 0.00 H +HETATM 2965 C3 MOL 186 47.450 19.880 45.310 0.00 0.00 C +HETATM 2966 H3 MOL 186 48.450 19.490 45.460 0.00 0.00 H +HETATM 2967 C4 MOL 186 47.420 21.000 44.470 0.00 0.00 C +HETATM 2968 H4 MOL 186 48.370 21.290 44.050 0.00 0.00 H +HETATM 2969 C5 MOL 186 46.190 21.630 44.230 0.00 0.00 C +HETATM 2970 H5 MOL 186 46.170 22.620 43.810 0.00 0.00 H +HETATM 2971 C6 MOL 186 45.040 21.180 44.890 0.00 0.00 C +HETATM 2972 C7 MOL 186 43.760 21.930 44.610 0.00 0.00 C +HETATM 2973 H6 MOL 186 43.940 22.950 44.270 0.00 0.00 H +HETATM 2974 H7 MOL 186 43.220 21.920 45.550 0.00 0.00 H +HETATM 2975 O1 MOL 186 43.220 21.180 43.540 0.00 0.00 O +HETATM 2976 H8 MOL 186 43.690 21.320 42.730 0.00 0.00 H +HETATM 2977 C1 MOL 187 11.110 52.810 25.140 0.00 0.00 C +HETATM 2978 H1 MOL 187 10.150 52.630 25.600 0.00 0.00 H +HETATM 2979 C2 MOL 187 11.640 54.070 25.420 0.00 0.00 C +HETATM 2980 H2 MOL 187 11.160 54.720 26.140 0.00 0.00 H +HETATM 2981 C3 MOL 187 12.870 54.390 24.840 0.00 0.00 C +HETATM 2982 H3 MOL 187 13.370 55.350 24.900 0.00 0.00 H +HETATM 2983 C4 MOL 187 13.540 53.500 23.990 0.00 0.00 C +HETATM 2984 H4 MOL 187 14.510 53.790 23.600 0.00 0.00 H +HETATM 2985 C5 MOL 187 13.040 52.200 23.840 0.00 0.00 C +HETATM 2986 H5 MOL 187 13.580 51.500 23.210 0.00 0.00 H +HETATM 2987 C6 MOL 187 11.780 51.860 24.360 0.00 0.00 C +HETATM 2988 C7 MOL 187 11.240 50.460 24.260 0.00 0.00 C +HETATM 2989 H6 MOL 187 11.650 49.730 24.950 0.00 0.00 H +HETATM 2990 H7 MOL 187 11.700 50.120 23.330 0.00 0.00 H +HETATM 2991 O1 MOL 187 9.840 50.370 24.090 0.00 0.00 O +HETATM 2992 H8 MOL 187 9.400 50.280 24.920 0.00 0.00 H +HETATM 2993 C1 MOL 188 10.870 53.570 1.330 0.00 0.00 C +HETATM 2994 H1 MOL 188 11.190 54.530 1.700 0.00 0.00 H +HETATM 2995 C2 MOL 188 11.590 52.460 1.770 0.00 0.00 C +HETATM 2996 H2 MOL 188 12.550 52.500 2.260 0.00 0.00 H +HETATM 2997 C3 MOL 188 11.140 51.170 1.450 0.00 0.00 C +HETATM 2998 H3 MOL 188 11.690 50.280 1.710 0.00 0.00 H +HETATM 2999 C4 MOL 188 9.930 51.100 0.740 0.00 0.00 C +HETATM 3000 H4 MOL 188 9.530 50.120 0.530 0.00 0.00 H +HETATM 3001 C5 MOL 188 9.330 52.200 0.110 0.00 0.00 C +HETATM 3002 H5 MOL 188 8.460 52.090 -0.520 0.00 0.00 H +HETATM 3003 C6 MOL 188 9.760 53.480 0.480 0.00 0.00 C +HETATM 3004 C7 MOL 188 9.050 54.700 -0.060 0.00 0.00 C +HETATM 3005 H6 MOL 188 9.200 54.790 -1.130 0.00 0.00 H +HETATM 3006 H7 MOL 188 9.460 55.630 0.320 0.00 0.00 H +HETATM 3007 O1 MOL 188 7.680 54.660 0.290 0.00 0.00 O +HETATM 3008 H8 MOL 188 7.160 54.300 -0.410 0.00 0.00 H +HETATM 3009 C1 MOL 189 41.380 29.080 27.260 0.00 0.00 C +HETATM 3010 H1 MOL 189 41.420 30.130 27.530 0.00 0.00 H +HETATM 3011 C2 MOL 189 42.440 28.560 26.510 0.00 0.00 C +HETATM 3012 H2 MOL 189 43.270 29.200 26.270 0.00 0.00 H +HETATM 3013 C3 MOL 189 42.300 27.230 26.070 0.00 0.00 C +HETATM 3014 H3 MOL 189 43.120 26.900 25.450 0.00 0.00 H +HETATM 3015 C4 MOL 189 41.200 26.450 26.420 0.00 0.00 C +HETATM 3016 H4 MOL 189 41.130 25.450 26.000 0.00 0.00 H +HETATM 3017 C5 MOL 189 40.090 27.040 27.050 0.00 0.00 C +HETATM 3018 H5 MOL 189 39.250 26.420 27.300 0.00 0.00 H +HETATM 3019 C6 MOL 189 40.180 28.380 27.450 0.00 0.00 C +HETATM 3020 C7 MOL 189 39.020 29.120 28.080 0.00 0.00 C +HETATM 3021 H6 MOL 189 38.180 28.440 27.950 0.00 0.00 H +HETATM 3022 H7 MOL 189 38.830 29.970 27.430 0.00 0.00 H +HETATM 3023 O1 MOL 189 39.240 29.420 29.440 0.00 0.00 O +HETATM 3024 H8 MOL 189 39.310 28.590 29.880 0.00 0.00 H +HETATM 3025 C1 MOL 190 52.690 28.210 38.830 0.00 0.00 C +HETATM 3026 H1 MOL 190 53.220 28.840 39.530 0.00 0.00 H +HETATM 3027 C2 MOL 190 53.320 27.070 38.320 0.00 0.00 C +HETATM 3028 H2 MOL 190 54.280 26.800 38.730 0.00 0.00 H +HETATM 3029 C3 MOL 190 52.650 26.330 37.340 0.00 0.00 C +HETATM 3030 H3 MOL 190 53.020 25.380 36.970 0.00 0.00 H +HETATM 3031 C4 MOL 190 51.370 26.700 36.930 0.00 0.00 C +HETATM 3032 H4 MOL 190 50.860 26.140 36.160 0.00 0.00 H +HETATM 3033 C5 MOL 190 50.750 27.830 37.470 0.00 0.00 C +HETATM 3034 H5 MOL 190 49.750 28.030 37.100 0.00 0.00 H +HETATM 3035 C6 MOL 190 51.450 28.660 38.350 0.00 0.00 C +HETATM 3036 C7 MOL 190 50.890 29.980 38.840 0.00 0.00 C +HETATM 3037 H6 MOL 190 50.390 30.480 38.010 0.00 0.00 H +HETATM 3038 H7 MOL 190 51.600 30.770 39.040 0.00 0.00 H +HETATM 3039 O1 MOL 190 50.050 29.740 39.950 0.00 0.00 O +HETATM 3040 H8 MOL 190 49.400 29.140 39.630 0.00 0.00 H +HETATM 3041 C1 MOL 191 53.420 33.460 14.320 0.00 0.00 C +HETATM 3042 H1 MOL 191 53.540 33.540 13.240 0.00 0.00 H +HETATM 3043 C2 MOL 191 53.480 34.690 14.980 0.00 0.00 C +HETATM 3044 H2 MOL 191 53.640 35.500 14.280 0.00 0.00 H +HETATM 3045 C3 MOL 191 53.220 34.790 16.350 0.00 0.00 C +HETATM 3046 H3 MOL 191 53.360 35.730 16.870 0.00 0.00 H +HETATM 3047 C4 MOL 191 53.060 33.550 17.000 0.00 0.00 C +HETATM 3048 H4 MOL 191 53.140 33.590 18.070 0.00 0.00 H +HETATM 3049 C5 MOL 191 53.170 32.310 16.370 0.00 0.00 C +HETATM 3050 H5 MOL 191 53.280 31.420 16.970 0.00 0.00 H +HETATM 3051 C6 MOL 191 53.280 32.230 14.970 0.00 0.00 C +HETATM 3052 C7 MOL 191 53.490 30.960 14.190 0.00 0.00 C +HETATM 3053 H6 MOL 191 52.810 31.050 13.340 0.00 0.00 H +HETATM 3054 H7 MOL 191 53.410 30.050 14.780 0.00 0.00 H +HETATM 3055 O1 MOL 191 54.770 30.910 13.590 0.00 0.00 O +HETATM 3056 H8 MOL 191 54.990 31.810 13.380 0.00 0.00 H +HETATM 3057 C1 MOL 192 2.560 22.720 37.740 0.00 0.00 C +HETATM 3058 H1 MOL 192 3.570 22.350 37.620 0.00 0.00 H +HETATM 3059 C2 MOL 192 1.910 23.320 36.650 0.00 0.00 C +HETATM 3060 H2 MOL 192 2.290 23.420 35.640 0.00 0.00 H +HETATM 3061 C3 MOL 192 0.680 23.950 36.830 0.00 0.00 C +HETATM 3062 H3 MOL 192 0.160 24.560 36.110 0.00 0.00 H +HETATM 3063 C4 MOL 192 0.050 23.770 38.080 0.00 0.00 C +HETATM 3064 H4 MOL 192 -0.950 24.130 38.210 0.00 0.00 H +HETATM 3065 C5 MOL 192 0.620 22.980 39.080 0.00 0.00 C +HETATM 3066 H5 MOL 192 0.060 22.730 39.970 0.00 0.00 H +HETATM 3067 C6 MOL 192 1.940 22.510 38.970 0.00 0.00 C +HETATM 3068 C7 MOL 192 2.560 21.870 40.190 0.00 0.00 C +HETATM 3069 H6 MOL 192 1.980 21.930 41.110 0.00 0.00 H +HETATM 3070 H7 MOL 192 3.360 22.540 40.480 0.00 0.00 H +HETATM 3071 O1 MOL 192 3.200 20.650 39.870 0.00 0.00 O +HETATM 3072 H8 MOL 192 3.340 20.610 38.930 0.00 0.00 H +HETATM 3073 C1 MOL 193 30.470 5.400 51.250 0.00 0.00 C +HETATM 3074 H1 MOL 193 31.340 4.910 50.830 0.00 0.00 H +HETATM 3075 C2 MOL 193 30.640 5.840 52.560 0.00 0.00 C +HETATM 3076 H2 MOL 193 31.510 5.510 53.120 0.00 0.00 H +HETATM 3077 C3 MOL 193 29.470 6.300 53.190 0.00 0.00 C +HETATM 3078 H3 MOL 193 29.490 6.700 54.190 0.00 0.00 H +HETATM 3079 C4 MOL 193 28.400 6.690 52.370 0.00 0.00 C +HETATM 3080 H4 MOL 193 27.660 7.240 52.930 0.00 0.00 H +HETATM 3081 C5 MOL 193 28.280 6.410 51.010 0.00 0.00 C +HETATM 3082 H5 MOL 193 27.410 6.750 50.470 0.00 0.00 H +HETATM 3083 C6 MOL 193 29.320 5.640 50.480 0.00 0.00 C +HETATM 3084 C7 MOL 193 29.230 5.260 49.020 0.00 0.00 C +HETATM 3085 H6 MOL 193 30.030 4.650 48.600 0.00 0.00 H +HETATM 3086 H7 MOL 193 29.170 6.090 48.310 0.00 0.00 H +HETATM 3087 O1 MOL 193 27.990 4.620 48.800 0.00 0.00 O +HETATM 3088 H8 MOL 193 27.890 4.010 49.520 0.00 0.00 H +HETATM 3089 C1 MOL 194 50.680 41.290 21.200 0.00 0.00 C +HETATM 3090 H1 MOL 194 50.940 41.910 22.050 0.00 0.00 H +HETATM 3091 C2 MOL 194 50.980 41.870 19.960 0.00 0.00 C +HETATM 3092 H2 MOL 194 51.430 42.850 19.970 0.00 0.00 H +HETATM 3093 C3 MOL 194 50.890 41.120 18.780 0.00 0.00 C +HETATM 3094 H3 MOL 194 51.080 41.560 17.810 0.00 0.00 H +HETATM 3095 C4 MOL 194 50.270 39.860 18.830 0.00 0.00 C +HETATM 3096 H4 MOL 194 50.160 39.290 17.920 0.00 0.00 H +HETATM 3097 C5 MOL 194 49.980 39.240 20.050 0.00 0.00 C +HETATM 3098 H5 MOL 194 49.470 38.290 20.070 0.00 0.00 H +HETATM 3099 C6 MOL 194 50.180 39.990 21.220 0.00 0.00 C +HETATM 3100 C7 MOL 194 49.860 39.300 22.530 0.00 0.00 C +HETATM 3101 H6 MOL 194 49.900 38.210 22.480 0.00 0.00 H +HETATM 3102 H7 MOL 194 48.860 39.540 22.900 0.00 0.00 H +HETATM 3103 O1 MOL 194 50.770 39.600 23.560 0.00 0.00 O +HETATM 3104 H8 MOL 194 50.410 40.380 23.950 0.00 0.00 H +HETATM 3105 C1 MOL 195 5.010 25.070 25.100 0.00 0.00 C +HETATM 3106 H1 MOL 195 4.390 25.080 25.990 0.00 0.00 H +HETATM 3107 C2 MOL 195 5.120 26.170 24.240 0.00 0.00 C +HETATM 3108 H2 MOL 195 4.620 27.090 24.510 0.00 0.00 H +HETATM 3109 C3 MOL 195 5.990 26.130 23.150 0.00 0.00 C +HETATM 3110 H3 MOL 195 6.100 26.960 22.460 0.00 0.00 H +HETATM 3111 C4 MOL 195 6.700 24.940 22.920 0.00 0.00 C +HETATM 3112 H4 MOL 195 7.390 24.890 22.100 0.00 0.00 H +HETATM 3113 C5 MOL 195 6.620 23.860 23.800 0.00 0.00 C +HETATM 3114 H5 MOL 195 7.280 23.010 23.660 0.00 0.00 H +HETATM 3115 C6 MOL 195 5.670 23.870 24.830 0.00 0.00 C +HETATM 3116 C7 MOL 195 5.480 22.640 25.700 0.00 0.00 C +HETATM 3117 H6 MOL 195 4.410 22.600 25.920 0.00 0.00 H +HETATM 3118 H7 MOL 195 6.030 22.730 26.630 0.00 0.00 H +HETATM 3119 O1 MOL 195 5.710 21.410 25.050 0.00 0.00 O +HETATM 3120 H8 MOL 195 5.210 21.390 24.250 0.00 0.00 H +HETATM 3121 C1 MOL 196 20.650 12.500 44.030 0.00 0.00 C +HETATM 3122 H1 MOL 196 20.360 11.790 43.270 0.00 0.00 H +HETATM 3123 C2 MOL 196 21.950 13.020 44.050 0.00 0.00 C +HETATM 3124 H2 MOL 196 22.680 12.650 43.340 0.00 0.00 H +HETATM 3125 C3 MOL 196 22.260 13.910 45.080 0.00 0.00 C +HETATM 3126 H3 MOL 196 23.250 14.320 45.180 0.00 0.00 H +HETATM 3127 C4 MOL 196 21.290 14.350 45.990 0.00 0.00 C +HETATM 3128 H4 MOL 196 21.540 15.100 46.730 0.00 0.00 H +HETATM 3129 C5 MOL 196 19.960 13.940 45.850 0.00 0.00 C +HETATM 3130 H5 MOL 196 19.200 14.380 46.500 0.00 0.00 H +HETATM 3131 C6 MOL 196 19.680 12.900 44.960 0.00 0.00 C +HETATM 3132 C7 MOL 196 18.260 12.390 44.920 0.00 0.00 C +HETATM 3133 H6 MOL 196 17.650 12.940 45.630 0.00 0.00 H +HETATM 3134 H7 MOL 196 18.320 11.330 45.180 0.00 0.00 H +HETATM 3135 O1 MOL 196 17.790 12.550 43.600 0.00 0.00 O +HETATM 3136 H8 MOL 196 18.470 12.940 43.070 0.00 0.00 H +HETATM 3137 C1 MOL 197 48.180 38.850 7.690 0.00 0.00 C +HETATM 3138 H1 MOL 197 48.240 39.490 6.820 0.00 0.00 H +HETATM 3139 C2 MOL 197 48.630 37.540 7.510 0.00 0.00 C +HETATM 3140 H2 MOL 197 49.080 37.300 6.560 0.00 0.00 H +HETATM 3141 C3 MOL 197 48.570 36.610 8.560 0.00 0.00 C +HETATM 3142 H3 MOL 197 48.960 35.610 8.450 0.00 0.00 H +HETATM 3143 C4 MOL 197 48.110 37.050 9.810 0.00 0.00 C +HETATM 3144 H4 MOL 197 48.270 36.320 10.590 0.00 0.00 H +HETATM 3145 C5 MOL 197 47.670 38.360 9.990 0.00 0.00 C +HETATM 3146 H5 MOL 197 47.360 38.700 10.970 0.00 0.00 H +HETATM 3147 C6 MOL 197 47.560 39.220 8.890 0.00 0.00 C +HETATM 3148 C7 MOL 197 47.090 40.640 9.120 0.00 0.00 C +HETATM 3149 H6 MOL 197 46.940 40.800 10.190 0.00 0.00 H +HETATM 3150 H7 MOL 197 46.190 40.980 8.600 0.00 0.00 H +HETATM 3151 O1 MOL 197 48.070 41.620 8.870 0.00 0.00 O +HETATM 3152 H8 MOL 197 48.510 41.800 9.680 0.00 0.00 H +HETATM 3153 C1 MOL 198 6.290 2.070 0.410 0.00 0.00 C +HETATM 3154 H1 MOL 198 6.750 1.460 -0.350 0.00 0.00 H +HETATM 3155 C2 MOL 198 5.000 1.750 0.850 0.00 0.00 C +HETATM 3156 H2 MOL 198 4.390 0.960 0.430 0.00 0.00 H +HETATM 3157 C3 MOL 198 4.370 2.400 1.910 0.00 0.00 C +HETATM 3158 H3 MOL 198 3.430 2.010 2.290 0.00 0.00 H +HETATM 3159 C4 MOL 198 5.030 3.420 2.590 0.00 0.00 C +HETATM 3160 H4 MOL 198 4.570 3.840 3.480 0.00 0.00 H +HETATM 3161 C5 MOL 198 6.340 3.750 2.200 0.00 0.00 C +HETATM 3162 H5 MOL 198 6.860 4.510 2.760 0.00 0.00 H +HETATM 3163 C6 MOL 198 6.980 3.000 1.200 0.00 0.00 C +HETATM 3164 C7 MOL 198 8.420 3.290 0.850 0.00 0.00 C +HETATM 3165 H6 MOL 198 8.640 4.350 0.950 0.00 0.00 H +HETATM 3166 H7 MOL 198 8.590 3.000 -0.180 0.00 0.00 H +HETATM 3167 O1 MOL 198 9.300 2.630 1.740 0.00 0.00 O +HETATM 3168 H8 MOL 198 8.880 1.820 2.000 0.00 0.00 H +HETATM 3169 C1 MOL 199 5.550 11.350 46.740 0.00 0.00 C +HETATM 3170 H1 MOL 199 5.350 11.560 47.780 0.00 0.00 H +HETATM 3171 C2 MOL 199 4.950 10.160 46.310 0.00 0.00 C +HETATM 3172 H2 MOL 199 4.300 9.580 46.950 0.00 0.00 H +HETATM 3173 C3 MOL 199 5.190 9.680 45.010 0.00 0.00 C +HETATM 3174 H3 MOL 199 4.960 8.670 44.710 0.00 0.00 H +HETATM 3175 C4 MOL 199 5.900 10.470 44.100 0.00 0.00 C +HETATM 3176 H4 MOL 199 6.210 10.190 43.110 0.00 0.00 H +HETATM 3177 C5 MOL 199 6.230 11.780 44.480 0.00 0.00 C +HETATM 3178 H5 MOL 199 6.720 12.400 43.740 0.00 0.00 H +HETATM 3179 C6 MOL 199 6.140 12.210 45.810 0.00 0.00 C +HETATM 3180 C7 MOL 199 6.620 13.580 46.220 0.00 0.00 C +HETATM 3181 H6 MOL 199 5.890 14.360 46.430 0.00 0.00 H +HETATM 3182 H7 MOL 199 7.270 14.020 45.460 0.00 0.00 H +HETATM 3183 O1 MOL 199 7.320 13.550 47.440 0.00 0.00 O +HETATM 3184 H8 MOL 199 6.690 13.680 48.130 0.00 0.00 H +HETATM 3185 C1 MOL 200 1.470 33.440 22.060 0.00 0.00 C +HETATM 3186 H1 MOL 200 1.960 33.070 22.950 0.00 0.00 H +HETATM 3187 C2 MOL 200 2.320 34.040 21.120 0.00 0.00 C +HETATM 3188 H2 MOL 200 3.350 34.240 21.390 0.00 0.00 H +HETATM 3189 C3 MOL 200 1.770 34.540 19.940 0.00 0.00 C +HETATM 3190 H3 MOL 200 2.280 35.000 19.110 0.00 0.00 H +HETATM 3191 C4 MOL 200 0.380 34.490 19.740 0.00 0.00 C +HETATM 3192 H4 MOL 200 0.090 35.110 18.900 0.00 0.00 H +HETATM 3193 C5 MOL 200 -0.470 33.880 20.660 0.00 0.00 C +HETATM 3194 H5 MOL 200 -1.530 33.970 20.450 0.00 0.00 H +HETATM 3195 C6 MOL 200 0.100 33.320 21.810 0.00 0.00 C +HETATM 3196 C7 MOL 200 -0.760 32.590 22.820 0.00 0.00 C +HETATM 3197 H6 MOL 200 -1.730 32.850 22.410 0.00 0.00 H +HETATM 3198 H7 MOL 200 -0.740 33.080 23.790 0.00 0.00 H +HETATM 3199 O1 MOL 200 -0.490 31.210 22.910 0.00 0.00 O +HETATM 3200 H8 MOL 200 0.180 31.000 22.270 0.00 0.00 H +HETATM 3201 C1 MOL 201 31.870 34.250 10.810 0.00 0.00 C +HETATM 3202 H1 MOL 201 32.770 34.390 11.390 0.00 0.00 H +HETATM 3203 C2 MOL 201 31.010 35.360 10.760 0.00 0.00 C +HETATM 3204 H2 MOL 201 31.150 36.290 11.300 0.00 0.00 H +HETATM 3205 C3 MOL 201 29.820 35.240 10.030 0.00 0.00 C +HETATM 3206 H3 MOL 201 29.140 36.080 9.990 0.00 0.00 H +HETATM 3207 C4 MOL 201 29.600 34.050 9.330 0.00 0.00 C +HETATM 3208 H4 MOL 201 28.650 34.040 8.820 0.00 0.00 H +HETATM 3209 C5 MOL 201 30.630 33.130 9.130 0.00 0.00 C +HETATM 3210 H5 MOL 201 30.490 32.270 8.490 0.00 0.00 H +HETATM 3211 C6 MOL 201 31.710 33.110 10.020 0.00 0.00 C +HETATM 3212 C7 MOL 201 32.780 32.040 10.030 0.00 0.00 C +HETATM 3213 H6 MOL 201 32.350 31.210 9.480 0.00 0.00 H +HETATM 3214 H7 MOL 201 33.000 31.860 11.080 0.00 0.00 H +HETATM 3215 O1 MOL 201 34.020 32.350 9.440 0.00 0.00 O +HETATM 3216 H8 MOL 201 34.570 32.770 10.080 0.00 0.00 H +HETATM 3217 C1 MOL 202 24.540 53.200 14.560 0.00 0.00 C +HETATM 3218 H1 MOL 202 24.450 54.080 15.180 0.00 0.00 H +HETATM 3219 C2 MOL 202 25.000 53.320 13.240 0.00 0.00 C +HETATM 3220 H2 MOL 202 25.240 54.330 12.920 0.00 0.00 H +HETATM 3221 C3 MOL 202 24.970 52.230 12.370 0.00 0.00 C +HETATM 3222 H3 MOL 202 25.410 52.240 11.380 0.00 0.00 H +HETATM 3223 C4 MOL 202 24.520 50.970 12.790 0.00 0.00 C +HETATM 3224 H4 MOL 202 24.570 50.110 12.140 0.00 0.00 H +HETATM 3225 C5 MOL 202 24.070 50.850 14.110 0.00 0.00 C +HETATM 3226 H5 MOL 202 23.780 49.840 14.340 0.00 0.00 H +HETATM 3227 C6 MOL 202 24.100 51.950 14.980 0.00 0.00 C +HETATM 3228 C7 MOL 202 23.680 51.820 16.420 0.00 0.00 C +HETATM 3229 H6 MOL 202 24.230 52.490 17.080 0.00 0.00 H +HETATM 3230 H7 MOL 202 23.640 50.830 16.900 0.00 0.00 H +HETATM 3231 O1 MOL 202 22.410 52.430 16.330 0.00 0.00 O +HETATM 3232 H8 MOL 202 21.720 51.800 16.410 0.00 0.00 H +HETATM 3233 C1 MOL 203 34.800 7.610 42.490 0.00 0.00 C +HETATM 3234 H1 MOL 203 34.320 7.710 41.530 0.00 0.00 H +HETATM 3235 C2 MOL 203 34.090 6.950 43.500 0.00 0.00 C +HETATM 3236 H2 MOL 203 33.070 6.700 43.270 0.00 0.00 H +HETATM 3237 C3 MOL 203 34.640 6.770 44.780 0.00 0.00 C +HETATM 3238 H3 MOL 203 34.130 6.200 45.540 0.00 0.00 H +HETATM 3239 C4 MOL 203 35.970 7.150 44.980 0.00 0.00 C +HETATM 3240 H4 MOL 203 36.440 7.020 45.950 0.00 0.00 H +HETATM 3241 C5 MOL 203 36.710 7.820 44.000 0.00 0.00 C +HETATM 3242 H5 MOL 203 37.750 8.060 44.140 0.00 0.00 H +HETATM 3243 C6 MOL 203 36.080 8.110 42.780 0.00 0.00 C +HETATM 3244 C7 MOL 203 36.780 8.900 41.710 0.00 0.00 C +HETATM 3245 H6 MOL 203 37.440 9.570 42.260 0.00 0.00 H +HETATM 3246 H7 MOL 203 36.100 9.400 41.010 0.00 0.00 H +HETATM 3247 O1 MOL 203 37.730 8.110 41.030 0.00 0.00 O +HETATM 3248 H8 MOL 203 38.360 7.980 41.720 0.00 0.00 H +HETATM 3249 C1 MOL 204 48.330 48.660 36.120 0.00 0.00 C +HETATM 3250 H1 MOL 204 48.910 49.550 35.920 0.00 0.00 H +HETATM 3251 C2 MOL 204 46.980 48.820 36.480 0.00 0.00 C +HETATM 3252 H2 MOL 204 46.410 49.730 36.370 0.00 0.00 H +HETATM 3253 C3 MOL 204 46.250 47.680 36.840 0.00 0.00 C +HETATM 3254 H3 MOL 204 45.200 47.780 37.060 0.00 0.00 H +HETATM 3255 C4 MOL 204 46.810 46.400 36.820 0.00 0.00 C +HETATM 3256 H4 MOL 204 46.150 45.600 37.110 0.00 0.00 H +HETATM 3257 C5 MOL 204 48.160 46.270 36.460 0.00 0.00 C +HETATM 3258 H5 MOL 204 48.580 45.280 36.440 0.00 0.00 H +HETATM 3259 C6 MOL 204 48.910 47.390 36.100 0.00 0.00 C +HETATM 3260 C7 MOL 204 50.380 47.270 35.810 0.00 0.00 C +HETATM 3261 H6 MOL 204 50.730 48.260 35.520 0.00 0.00 H +HETATM 3262 H7 MOL 204 50.530 46.620 34.940 0.00 0.00 H +HETATM 3263 O1 MOL 204 51.160 46.770 36.870 0.00 0.00 O +HETATM 3264 H8 MOL 204 50.960 47.400 37.550 0.00 0.00 H +HETATM 3265 C1 MOL 205 39.710 48.170 40.980 0.00 0.00 C +HETATM 3266 H1 MOL 205 40.780 48.270 41.100 0.00 0.00 H +HETATM 3267 C2 MOL 205 38.830 48.820 41.860 0.00 0.00 C +HETATM 3268 H2 MOL 205 39.210 49.410 42.670 0.00 0.00 H +HETATM 3269 C3 MOL 205 37.450 48.570 41.790 0.00 0.00 C +HETATM 3270 H3 MOL 205 36.770 49.010 42.510 0.00 0.00 H +HETATM 3271 C4 MOL 205 36.990 47.700 40.790 0.00 0.00 C +HETATM 3272 H4 MOL 205 35.950 47.400 40.760 0.00 0.00 H +HETATM 3273 C5 MOL 205 37.820 47.160 39.810 0.00 0.00 C +HETATM 3274 H5 MOL 205 37.480 46.560 38.980 0.00 0.00 H +HETATM 3275 C6 MOL 205 39.180 47.480 39.890 0.00 0.00 C +HETATM 3276 C7 MOL 205 40.170 46.840 38.940 0.00 0.00 C +HETATM 3277 H6 MOL 205 39.680 46.220 38.190 0.00 0.00 H +HETATM 3278 H7 MOL 205 40.880 46.170 39.420 0.00 0.00 H +HETATM 3279 O1 MOL 205 41.000 47.770 38.270 0.00 0.00 O +HETATM 3280 H8 MOL 205 40.450 48.410 37.860 0.00 0.00 H +HETATM 3281 C1 MOL 206 19.810 38.860 7.480 0.00 0.00 C +HETATM 3282 H1 MOL 206 20.370 37.980 7.220 0.00 0.00 H +HETATM 3283 C2 MOL 206 18.900 39.490 6.620 0.00 0.00 C +HETATM 3284 H2 MOL 206 18.820 39.120 5.610 0.00 0.00 H +HETATM 3285 C3 MOL 206 18.210 40.640 7.030 0.00 0.00 C +HETATM 3286 H3 MOL 206 17.430 41.070 6.430 0.00 0.00 H +HETATM 3287 C4 MOL 206 18.280 41.020 8.380 0.00 0.00 C +HETATM 3288 H4 MOL 206 17.660 41.830 8.720 0.00 0.00 H +HETATM 3289 C5 MOL 206 19.130 40.330 9.250 0.00 0.00 C +HETATM 3290 H5 MOL 206 19.190 40.720 10.260 0.00 0.00 H +HETATM 3291 C6 MOL 206 19.940 39.280 8.810 0.00 0.00 C +HETATM 3292 C7 MOL 206 20.870 38.520 9.720 0.00 0.00 C +HETATM 3293 H6 MOL 206 21.740 39.090 10.050 0.00 0.00 H +HETATM 3294 H7 MOL 206 21.330 37.780 9.080 0.00 0.00 H +HETATM 3295 O1 MOL 206 20.110 38.050 10.810 0.00 0.00 O +HETATM 3296 H8 MOL 206 19.440 37.440 10.520 0.00 0.00 H +HETATM 3297 C1 MOL 207 43.130 4.480 26.400 0.00 0.00 C +HETATM 3298 H1 MOL 207 43.800 3.760 26.850 0.00 0.00 H +HETATM 3299 C2 MOL 207 41.740 4.330 26.510 0.00 0.00 C +HETATM 3300 H2 MOL 207 41.450 3.410 26.990 0.00 0.00 H +HETATM 3301 C3 MOL 207 40.890 5.310 25.980 0.00 0.00 C +HETATM 3302 H3 MOL 207 39.820 5.170 26.030 0.00 0.00 H +HETATM 3303 C4 MOL 207 41.400 6.480 25.410 0.00 0.00 C +HETATM 3304 H4 MOL 207 40.800 7.250 24.940 0.00 0.00 H +HETATM 3305 C5 MOL 207 42.780 6.700 25.430 0.00 0.00 C +HETATM 3306 H5 MOL 207 43.150 7.640 25.050 0.00 0.00 H +HETATM 3307 C6 MOL 207 43.630 5.710 25.930 0.00 0.00 C +HETATM 3308 C7 MOL 207 45.100 5.850 25.630 0.00 0.00 C +HETATM 3309 H6 MOL 207 45.840 5.240 26.160 0.00 0.00 H +HETATM 3310 H7 MOL 207 45.410 6.890 25.760 0.00 0.00 H +HETATM 3311 O1 MOL 207 45.280 5.650 24.240 0.00 0.00 O +HETATM 3312 H8 MOL 207 44.870 4.880 23.860 0.00 0.00 H +HETATM 3313 C1 MOL 208 51.420 51.700 30.560 0.00 0.00 C +HETATM 3314 H1 MOL 208 52.000 52.010 29.700 0.00 0.00 H +HETATM 3315 C2 MOL 208 52.310 51.410 31.600 0.00 0.00 C +HETATM 3316 H2 MOL 208 53.380 51.530 31.540 0.00 0.00 H +HETATM 3317 C3 MOL 208 51.860 51.060 32.890 0.00 0.00 C +HETATM 3318 H3 MOL 208 52.510 50.830 33.710 0.00 0.00 H +HETATM 3319 C4 MOL 208 50.500 50.740 32.930 0.00 0.00 C +HETATM 3320 H4 MOL 208 50.030 50.440 33.850 0.00 0.00 H +HETATM 3321 C5 MOL 208 49.590 50.860 31.870 0.00 0.00 C +HETATM 3322 H5 MOL 208 48.530 50.750 32.050 0.00 0.00 H +HETATM 3323 C6 MOL 208 50.060 51.410 30.660 0.00 0.00 C +HETATM 3324 C7 MOL 208 49.090 51.740 29.550 0.00 0.00 C +HETATM 3325 H6 MOL 208 48.080 51.440 29.860 0.00 0.00 H +HETATM 3326 H7 MOL 208 49.270 51.220 28.610 0.00 0.00 H +HETATM 3327 O1 MOL 208 49.190 53.110 29.260 0.00 0.00 O +HETATM 3328 H8 MOL 208 48.830 53.540 30.020 0.00 0.00 H +HETATM 3329 C1 MOL 209 12.360 11.610 28.500 0.00 0.00 C +HETATM 3330 H1 MOL 209 12.490 11.890 29.530 0.00 0.00 H +HETATM 3331 C2 MOL 209 11.520 12.400 27.690 0.00 0.00 C +HETATM 3332 H2 MOL 209 11.080 13.320 28.030 0.00 0.00 H +HETATM 3333 C3 MOL 209 11.200 11.920 26.420 0.00 0.00 C +HETATM 3334 H3 MOL 209 10.550 12.600 25.890 0.00 0.00 H +HETATM 3335 C4 MOL 209 11.590 10.660 25.930 0.00 0.00 C +HETATM 3336 H4 MOL 209 11.430 10.250 24.940 0.00 0.00 H +HETATM 3337 C5 MOL 209 12.590 10.000 26.660 0.00 0.00 C +HETATM 3338 H5 MOL 209 12.930 9.060 26.270 0.00 0.00 H +HETATM 3339 C6 MOL 209 12.910 10.450 27.940 0.00 0.00 C +HETATM 3340 C7 MOL 209 13.740 9.600 28.880 0.00 0.00 C +HETATM 3341 H6 MOL 209 13.650 9.890 29.930 0.00 0.00 H +HETATM 3342 H7 MOL 209 14.780 9.740 28.580 0.00 0.00 H +HETATM 3343 O1 MOL 209 13.440 8.230 28.830 0.00 0.00 O +HETATM 3344 H8 MOL 209 12.880 8.120 28.080 0.00 0.00 H +HETATM 3345 C1 MOL 210 51.280 47.730 1.490 0.00 0.00 C +HETATM 3346 H1 MOL 210 51.330 48.040 0.460 0.00 0.00 H +HETATM 3347 C2 MOL 210 51.920 48.490 2.470 0.00 0.00 C +HETATM 3348 H2 MOL 210 52.430 49.370 2.120 0.00 0.00 H +HETATM 3349 C3 MOL 210 51.940 48.120 3.820 0.00 0.00 C +HETATM 3350 H3 MOL 210 52.450 48.630 4.630 0.00 0.00 H +HETATM 3351 C4 MOL 210 51.390 46.860 4.090 0.00 0.00 C +HETATM 3352 H4 MOL 210 51.550 46.510 5.100 0.00 0.00 H +HETATM 3353 C5 MOL 210 50.800 46.030 3.120 0.00 0.00 C +HETATM 3354 H5 MOL 210 50.350 45.100 3.440 0.00 0.00 H +HETATM 3355 C6 MOL 210 50.750 46.470 1.800 0.00 0.00 C +HETATM 3356 C7 MOL 210 50.200 45.570 0.710 0.00 0.00 C +HETATM 3357 H6 MOL 210 50.350 44.510 0.890 0.00 0.00 H +HETATM 3358 H7 MOL 210 50.740 45.760 -0.220 0.00 0.00 H +HETATM 3359 O1 MOL 210 48.850 45.820 0.400 0.00 0.00 O +HETATM 3360 H8 MOL 210 48.790 46.550 -0.200 0.00 0.00 H +HETATM 3361 C1 MOL 211 1.310 43.800 38.200 0.00 0.00 C +HETATM 3362 H1 MOL 211 2.330 43.580 38.470 0.00 0.00 H +HETATM 3363 C2 MOL 211 0.700 43.120 37.140 0.00 0.00 C +HETATM 3364 H2 MOL 211 1.260 42.290 36.720 0.00 0.00 H +HETATM 3365 C3 MOL 211 -0.570 43.530 36.710 0.00 0.00 C +HETATM 3366 H3 MOL 211 -1.110 42.930 35.990 0.00 0.00 H +HETATM 3367 C4 MOL 211 -1.240 44.590 37.340 0.00 0.00 C +HETATM 3368 H4 MOL 211 -2.240 44.810 37.000 0.00 0.00 H +HETATM 3369 C5 MOL 211 -0.650 45.240 38.420 0.00 0.00 C +HETATM 3370 H5 MOL 211 -1.260 46.010 38.880 0.00 0.00 H +HETATM 3371 C6 MOL 211 0.630 44.850 38.830 0.00 0.00 C +HETATM 3372 C7 MOL 211 1.250 45.480 40.050 0.00 0.00 C +HETATM 3373 H6 MOL 211 1.370 46.560 40.030 0.00 0.00 H +HETATM 3374 H7 MOL 211 2.250 45.070 40.200 0.00 0.00 H +HETATM 3375 O1 MOL 211 0.470 45.030 41.140 0.00 0.00 O +HETATM 3376 H8 MOL 211 -0.460 45.120 40.980 0.00 0.00 H +HETATM 3377 C1 MOL 212 22.650 37.340 26.850 0.00 0.00 C +HETATM 3378 H1 MOL 212 21.660 36.940 27.030 0.00 0.00 H +HETATM 3379 C2 MOL 212 23.780 36.640 27.270 0.00 0.00 C +HETATM 3380 H2 MOL 212 23.590 35.700 27.760 0.00 0.00 H +HETATM 3381 C3 MOL 212 25.050 37.220 27.130 0.00 0.00 C +HETATM 3382 H3 MOL 212 25.930 36.650 27.370 0.00 0.00 H +HETATM 3383 C4 MOL 212 25.170 38.400 26.380 0.00 0.00 C +HETATM 3384 H4 MOL 212 26.180 38.770 26.270 0.00 0.00 H +HETATM 3385 C5 MOL 212 24.050 39.110 25.950 0.00 0.00 C +HETATM 3386 H5 MOL 212 24.090 40.160 25.680 0.00 0.00 H +HETATM 3387 C6 MOL 212 22.780 38.600 26.240 0.00 0.00 C +HETATM 3388 C7 MOL 212 21.510 39.360 25.950 0.00 0.00 C +HETATM 3389 H6 MOL 212 21.690 40.430 26.110 0.00 0.00 H +HETATM 3390 H7 MOL 212 20.690 39.010 26.570 0.00 0.00 H +HETATM 3391 O1 MOL 212 21.090 39.320 24.610 0.00 0.00 O +HETATM 3392 H8 MOL 212 20.900 38.400 24.480 0.00 0.00 H +HETATM 3393 C1 MOL 213 42.300 42.070 11.460 0.00 0.00 C +HETATM 3394 H1 MOL 213 42.860 42.450 10.620 0.00 0.00 H +HETATM 3395 C2 MOL 213 41.110 42.640 11.930 0.00 0.00 C +HETATM 3396 H2 MOL 213 40.600 43.500 11.530 0.00 0.00 H +HETATM 3397 C3 MOL 213 40.460 41.970 12.980 0.00 0.00 C +HETATM 3398 H3 MOL 213 39.510 42.390 13.270 0.00 0.00 H +HETATM 3399 C4 MOL 213 41.020 40.910 13.700 0.00 0.00 C +HETATM 3400 H4 MOL 213 40.440 40.450 14.500 0.00 0.00 H +HETATM 3401 C5 MOL 213 42.170 40.320 13.170 0.00 0.00 C +HETATM 3402 H5 MOL 213 42.660 39.510 13.700 0.00 0.00 H +HETATM 3403 C6 MOL 213 42.800 40.910 12.060 0.00 0.00 C +HETATM 3404 C7 MOL 213 43.990 40.190 11.480 0.00 0.00 C +HETATM 3405 H6 MOL 213 44.350 40.610 10.540 0.00 0.00 H +HETATM 3406 H7 MOL 213 43.800 39.200 11.060 0.00 0.00 H +HETATM 3407 O1 MOL 213 45.120 40.130 12.330 0.00 0.00 O +HETATM 3408 H8 MOL 213 45.220 41.060 12.430 0.00 0.00 H +HETATM 3409 C1 MOL 214 29.010 44.500 54.720 0.00 0.00 C +HETATM 3410 H1 MOL 214 28.420 44.980 55.490 0.00 0.00 H +HETATM 3411 C2 MOL 214 29.140 43.120 54.550 0.00 0.00 C +HETATM 3412 H2 MOL 214 28.580 42.530 55.250 0.00 0.00 H +HETATM 3413 C3 MOL 214 29.930 42.650 53.490 0.00 0.00 C +HETATM 3414 H3 MOL 214 30.040 41.590 53.350 0.00 0.00 H +HETATM 3415 C4 MOL 214 30.620 43.550 52.660 0.00 0.00 C +HETATM 3416 H4 MOL 214 31.220 43.100 51.880 0.00 0.00 H +HETATM 3417 C5 MOL 214 30.500 44.930 52.820 0.00 0.00 C +HETATM 3418 H5 MOL 214 30.990 45.610 52.150 0.00 0.00 H +HETATM 3419 C6 MOL 214 29.700 45.390 53.880 0.00 0.00 C +HETATM 3420 C7 MOL 214 29.600 46.870 54.170 0.00 0.00 C +HETATM 3421 H6 MOL 214 29.990 47.440 53.320 0.00 0.00 H +HETATM 3422 H7 MOL 214 30.210 47.100 55.030 0.00 0.00 H +HETATM 3423 O1 MOL 214 28.280 47.270 54.470 0.00 0.00 O +HETATM 3424 H8 MOL 214 28.310 47.570 55.370 0.00 0.00 H +HETATM 3425 C1 MOL 215 40.200 29.730 34.750 0.00 0.00 C +HETATM 3426 H1 MOL 215 39.260 29.630 34.240 0.00 0.00 H +HETATM 3427 C2 MOL 215 40.120 29.890 36.140 0.00 0.00 C +HETATM 3428 H2 MOL 215 39.180 29.780 36.670 0.00 0.00 H +HETATM 3429 C3 MOL 215 41.330 30.160 36.790 0.00 0.00 C +HETATM 3430 H3 MOL 215 41.410 30.300 37.850 0.00 0.00 H +HETATM 3431 C4 MOL 215 42.490 30.380 36.020 0.00 0.00 C +HETATM 3432 H4 MOL 215 43.370 30.640 36.590 0.00 0.00 H +HETATM 3433 C5 MOL 215 42.570 30.270 34.630 0.00 0.00 C +HETATM 3434 H5 MOL 215 43.480 30.540 34.120 0.00 0.00 H +HETATM 3435 C6 MOL 215 41.360 29.940 34.000 0.00 0.00 C +HETATM 3436 C7 MOL 215 41.260 29.750 32.510 0.00 0.00 C +HETATM 3437 H6 MOL 215 40.430 30.380 32.190 0.00 0.00 H +HETATM 3438 H7 MOL 215 41.120 28.740 32.120 0.00 0.00 H +HETATM 3439 O1 MOL 215 42.350 30.180 31.710 0.00 0.00 O +HETATM 3440 H8 MOL 215 42.330 31.120 31.650 0.00 0.00 H +HETATM 3441 C1 MOL 216 24.950 13.900 19.180 0.00 0.00 C +HETATM 3442 H1 MOL 216 25.990 13.750 19.460 0.00 0.00 H +HETATM 3443 C2 MOL 216 24.510 14.230 17.900 0.00 0.00 C +HETATM 3444 H2 MOL 216 25.190 14.090 17.060 0.00 0.00 H +HETATM 3445 C3 MOL 216 23.160 14.560 17.800 0.00 0.00 C +HETATM 3446 H3 MOL 216 22.840 14.980 16.850 0.00 0.00 H +HETATM 3447 C4 MOL 216 22.240 14.370 18.840 0.00 0.00 C +HETATM 3448 H4 MOL 216 21.230 14.690 18.610 0.00 0.00 H +HETATM 3449 C5 MOL 216 22.700 13.900 20.070 0.00 0.00 C +HETATM 3450 H5 MOL 216 21.960 13.870 20.860 0.00 0.00 H +HETATM 3451 C6 MOL 216 24.080 13.710 20.260 0.00 0.00 C +HETATM 3452 C7 MOL 216 24.560 13.410 21.660 0.00 0.00 C +HETATM 3453 H6 MOL 216 25.630 13.220 21.630 0.00 0.00 H +HETATM 3454 H7 MOL 216 24.150 12.570 22.230 0.00 0.00 H +HETATM 3455 O1 MOL 216 24.260 14.600 22.360 0.00 0.00 O +HETATM 3456 H8 MOL 216 25.120 14.850 22.640 0.00 0.00 H +HETATM 3457 C1 MOL 217 13.830 22.920 44.980 0.00 0.00 C +HETATM 3458 H1 MOL 217 14.780 22.410 44.900 0.00 0.00 H +HETATM 3459 C2 MOL 217 12.860 22.490 45.900 0.00 0.00 C +HETATM 3460 H2 MOL 217 13.060 21.720 46.620 0.00 0.00 H +HETATM 3461 C3 MOL 217 11.590 23.080 45.940 0.00 0.00 C +HETATM 3462 H3 MOL 217 10.830 22.690 46.600 0.00 0.00 H +HETATM 3463 C4 MOL 217 11.250 24.090 45.030 0.00 0.00 C +HETATM 3464 H4 MOL 217 10.250 24.480 44.960 0.00 0.00 H +HETATM 3465 C5 MOL 217 12.180 24.540 44.080 0.00 0.00 C +HETATM 3466 H5 MOL 217 11.820 25.270 43.370 0.00 0.00 H +HETATM 3467 C6 MOL 217 13.450 23.960 44.120 0.00 0.00 C +HETATM 3468 C7 MOL 217 14.390 24.320 43.000 0.00 0.00 C +HETATM 3469 H6 MOL 217 13.910 24.530 42.040 0.00 0.00 H +HETATM 3470 H7 MOL 217 15.150 23.550 42.880 0.00 0.00 H +HETATM 3471 O1 MOL 217 15.000 25.540 43.360 0.00 0.00 O +HETATM 3472 H8 MOL 217 15.800 25.310 43.820 0.00 0.00 H +HETATM 3473 C1 MOL 218 13.340 26.100 20.960 0.00 0.00 C +HETATM 3474 H1 MOL 218 13.470 27.130 20.660 0.00 0.00 H +HETATM 3475 C2 MOL 218 12.320 25.800 21.870 0.00 0.00 C +HETATM 3476 H2 MOL 218 11.670 26.610 22.160 0.00 0.00 H +HETATM 3477 C3 MOL 218 12.290 24.510 22.430 0.00 0.00 C +HETATM 3478 H3 MOL 218 11.520 24.210 23.110 0.00 0.00 H +HETATM 3479 C4 MOL 218 13.290 23.610 22.030 0.00 0.00 C +HETATM 3480 H4 MOL 218 13.220 22.580 22.340 0.00 0.00 H +HETATM 3481 C5 MOL 218 14.340 23.950 21.180 0.00 0.00 C +HETATM 3482 H5 MOL 218 15.170 23.280 20.980 0.00 0.00 H +HETATM 3483 C6 MOL 218 14.410 25.250 20.660 0.00 0.00 C +HETATM 3484 C7 MOL 218 15.560 25.700 19.790 0.00 0.00 C +HETATM 3485 H6 MOL 218 16.320 24.920 19.690 0.00 0.00 H +HETATM 3486 H7 MOL 218 15.990 26.660 20.040 0.00 0.00 H +HETATM 3487 O1 MOL 218 14.980 25.870 18.510 0.00 0.00 O +HETATM 3488 H8 MOL 218 14.270 25.260 18.460 0.00 0.00 H +HETATM 3489 C1 MOL 219 52.320 31.600 33.970 0.00 0.00 C +HETATM 3490 H1 MOL 219 52.820 30.640 33.930 0.00 0.00 H +HETATM 3491 C2 MOL 219 51.300 31.740 34.910 0.00 0.00 C +HETATM 3492 H2 MOL 219 50.990 30.970 35.600 0.00 0.00 H +HETATM 3493 C3 MOL 219 50.540 32.920 34.900 0.00 0.00 C +HETATM 3494 H3 MOL 219 49.720 33.030 35.590 0.00 0.00 H +HETATM 3495 C4 MOL 219 50.780 33.930 33.970 0.00 0.00 C +HETATM 3496 H4 MOL 219 50.130 34.790 33.990 0.00 0.00 H +HETATM 3497 C5 MOL 219 51.870 33.770 33.100 0.00 0.00 C +HETATM 3498 H5 MOL 219 52.140 34.630 32.510 0.00 0.00 H +HETATM 3499 C6 MOL 219 52.640 32.600 33.050 0.00 0.00 C +HETATM 3500 C7 MOL 219 53.740 32.430 32.030 0.00 0.00 C +HETATM 3501 H6 MOL 219 54.230 31.480 32.270 0.00 0.00 H +HETATM 3502 H7 MOL 219 54.580 33.120 32.120 0.00 0.00 H +HETATM 3503 O1 MOL 219 53.200 32.460 30.730 0.00 0.00 O +HETATM 3504 H8 MOL 219 52.320 32.150 30.860 0.00 0.00 H +HETATM 3505 C1 MOL 220 12.850 3.470 31.760 0.00 0.00 C +HETATM 3506 H1 MOL 220 13.350 2.530 31.980 0.00 0.00 H +HETATM 3507 C2 MOL 220 11.540 3.450 31.260 0.00 0.00 C +HETATM 3508 H2 MOL 220 11.130 2.470 31.070 0.00 0.00 H +HETATM 3509 C3 MOL 220 10.780 4.620 31.200 0.00 0.00 C +HETATM 3510 H3 MOL 220 9.760 4.570 30.840 0.00 0.00 H +HETATM 3511 C4 MOL 220 11.320 5.830 31.640 0.00 0.00 C +HETATM 3512 H4 MOL 220 10.710 6.720 31.760 0.00 0.00 H +HETATM 3513 C5 MOL 220 12.620 5.860 32.150 0.00 0.00 C +HETATM 3514 H5 MOL 220 13.100 6.760 32.500 0.00 0.00 H +HETATM 3515 C6 MOL 220 13.380 4.680 32.220 0.00 0.00 C +HETATM 3516 C7 MOL 220 14.750 4.700 32.840 0.00 0.00 C +HETATM 3517 H6 MOL 220 15.270 5.500 32.310 0.00 0.00 H +HETATM 3518 H7 MOL 220 15.400 3.920 32.440 0.00 0.00 H +HETATM 3519 O1 MOL 220 14.960 4.760 34.230 0.00 0.00 O +HETATM 3520 H8 MOL 220 14.420 5.480 34.530 0.00 0.00 H +HETATM 3521 C1 MOL 221 53.810 1.620 46.540 0.00 0.00 C +HETATM 3522 H1 MOL 221 54.780 1.160 46.700 0.00 0.00 H +HETATM 3523 C2 MOL 221 53.670 2.800 45.790 0.00 0.00 C +HETATM 3524 H2 MOL 221 54.530 3.090 45.220 0.00 0.00 H +HETATM 3525 C3 MOL 221 52.460 3.500 45.810 0.00 0.00 C +HETATM 3526 H3 MOL 221 52.310 4.400 45.230 0.00 0.00 H +HETATM 3527 C4 MOL 221 51.450 3.020 46.650 0.00 0.00 C +HETATM 3528 H4 MOL 221 50.510 3.520 46.820 0.00 0.00 H +HETATM 3529 C5 MOL 221 51.530 1.780 47.310 0.00 0.00 C +HETATM 3530 H5 MOL 221 50.730 1.510 47.970 0.00 0.00 H +HETATM 3531 C6 MOL 221 52.760 1.100 47.300 0.00 0.00 C +HETATM 3532 C7 MOL 221 52.910 -0.200 48.050 0.00 0.00 C +HETATM 3533 H6 MOL 221 52.930 0.010 49.120 0.00 0.00 H +HETATM 3534 H7 MOL 221 53.940 -0.510 47.880 0.00 0.00 H +HETATM 3535 O1 MOL 221 51.970 -1.140 47.570 0.00 0.00 O +HETATM 3536 H8 MOL 221 52.150 -1.280 46.650 0.00 0.00 H +HETATM 3537 C1 MOL 222 12.710 55.060 50.010 0.00 0.00 C +HETATM 3538 H1 MOL 222 11.840 55.300 50.610 0.00 0.00 H +HETATM 3539 C2 MOL 222 13.870 54.500 50.560 0.00 0.00 C +HETATM 3540 H2 MOL 222 13.970 54.240 51.600 0.00 0.00 H +HETATM 3541 C3 MOL 222 14.990 54.210 49.770 0.00 0.00 C +HETATM 3542 H3 MOL 222 15.830 53.700 50.230 0.00 0.00 H +HETATM 3543 C4 MOL 222 14.910 54.390 48.390 0.00 0.00 C +HETATM 3544 H4 MOL 222 15.810 54.120 47.850 0.00 0.00 H +HETATM 3545 C5 MOL 222 13.750 54.950 47.850 0.00 0.00 C +HETATM 3546 H5 MOL 222 13.650 54.950 46.770 0.00 0.00 H +HETATM 3547 C6 MOL 222 12.640 55.290 48.630 0.00 0.00 C +HETATM 3548 C7 MOL 222 11.290 55.760 48.150 0.00 0.00 C +HETATM 3549 H6 MOL 222 10.500 55.000 48.130 0.00 0.00 H +HETATM 3550 H7 MOL 222 11.340 56.130 47.120 0.00 0.00 H +HETATM 3551 O1 MOL 222 10.790 56.900 48.800 0.00 0.00 O +HETATM 3552 H8 MOL 222 11.550 57.460 48.880 0.00 0.00 H +HETATM 3553 C1 MOL 223 2.640 47.830 28.360 0.00 0.00 C +HETATM 3554 H1 MOL 223 2.190 47.050 28.950 0.00 0.00 H +HETATM 3555 C2 MOL 223 4.030 47.830 28.200 0.00 0.00 C +HETATM 3556 H2 MOL 223 4.710 47.150 28.700 0.00 0.00 H +HETATM 3557 C3 MOL 223 4.570 48.660 27.210 0.00 0.00 C +HETATM 3558 H3 MOL 223 5.650 48.610 27.120 0.00 0.00 H +HETATM 3559 C4 MOL 223 3.820 49.560 26.440 0.00 0.00 C +HETATM 3560 H4 MOL 223 4.120 50.220 25.640 0.00 0.00 H +HETATM 3561 C5 MOL 223 2.480 49.660 26.820 0.00 0.00 C +HETATM 3562 H5 MOL 223 1.850 50.360 26.280 0.00 0.00 H +HETATM 3563 C6 MOL 223 1.840 48.750 27.670 0.00 0.00 C +HETATM 3564 C7 MOL 223 0.340 48.740 27.870 0.00 0.00 C +HETATM 3565 H6 MOL 223 0.030 49.720 28.220 0.00 0.00 H +HETATM 3566 H7 MOL 223 0.100 47.980 28.620 0.00 0.00 H +HETATM 3567 O1 MOL 223 -0.270 48.400 26.650 0.00 0.00 O +HETATM 3568 H8 MOL 223 0.040 47.550 26.360 0.00 0.00 H +HETATM 3569 C1 MOL 224 22.300 6.420 10.430 0.00 0.00 C +HETATM 3570 H1 MOL 224 22.980 7.050 9.880 0.00 0.00 H +HETATM 3571 C2 MOL 224 21.480 6.980 11.420 0.00 0.00 C +HETATM 3572 H2 MOL 224 21.640 7.990 11.790 0.00 0.00 H +HETATM 3573 C3 MOL 224 20.740 6.100 12.220 0.00 0.00 C +HETATM 3574 H3 MOL 224 20.230 6.570 13.050 0.00 0.00 H +HETATM 3575 C4 MOL 224 20.800 4.720 12.040 0.00 0.00 C +HETATM 3576 H4 MOL 224 20.210 4.010 12.610 0.00 0.00 H +HETATM 3577 C5 MOL 224 21.630 4.260 11.010 0.00 0.00 C +HETATM 3578 H5 MOL 224 21.710 3.210 10.790 0.00 0.00 H +HETATM 3579 C6 MOL 224 22.370 5.060 10.130 0.00 0.00 C +HETATM 3580 C7 MOL 224 23.240 4.460 9.050 0.00 0.00 C +HETATM 3581 H6 MOL 224 23.010 5.000 8.130 0.00 0.00 H +HETATM 3582 H7 MOL 224 23.020 3.400 8.910 0.00 0.00 H +HETATM 3583 O1 MOL 224 24.560 4.760 9.460 0.00 0.00 O +HETATM 3584 H8 MOL 224 24.650 4.490 10.360 0.00 0.00 H +HETATM 3585 C1 MOL 225 44.930 41.290 29.170 0.00 0.00 C +HETATM 3586 H1 MOL 225 45.680 41.730 28.520 0.00 0.00 H +HETATM 3587 C2 MOL 225 45.010 41.170 30.560 0.00 0.00 C +HETATM 3588 H2 MOL 225 45.860 41.480 31.150 0.00 0.00 H +HETATM 3589 C3 MOL 225 43.980 40.570 31.290 0.00 0.00 C +HETATM 3590 H3 MOL 225 43.900 40.570 32.370 0.00 0.00 H +HETATM 3591 C4 MOL 225 42.850 40.040 30.650 0.00 0.00 C +HETATM 3592 H4 MOL 225 42.120 39.520 31.240 0.00 0.00 H +HETATM 3593 C5 MOL 225 42.780 40.240 29.270 0.00 0.00 C +HETATM 3594 H5 MOL 225 41.920 39.800 28.780 0.00 0.00 H +HETATM 3595 C6 MOL 225 43.750 40.910 28.510 0.00 0.00 C +HETATM 3596 C7 MOL 225 43.670 41.040 27.010 0.00 0.00 C +HETATM 3597 H6 MOL 225 42.650 40.760 26.730 0.00 0.00 H +HETATM 3598 H7 MOL 225 44.440 40.420 26.570 0.00 0.00 H +HETATM 3599 O1 MOL 225 43.850 42.400 26.670 0.00 0.00 O +HETATM 3600 H8 MOL 225 43.660 43.040 27.340 0.00 0.00 H +HETATM 3601 C1 MOL 226 9.230 23.040 6.830 0.00 0.00 C +HETATM 3602 H1 MOL 226 10.260 23.170 7.100 0.00 0.00 H +HETATM 3603 C2 MOL 226 8.310 24.050 7.120 0.00 0.00 C +HETATM 3604 H2 MOL 226 8.690 25.020 7.430 0.00 0.00 H +HETATM 3605 C3 MOL 226 6.950 23.890 6.840 0.00 0.00 C +HETATM 3606 H3 MOL 226 6.350 24.740 7.120 0.00 0.00 H +HETATM 3607 C4 MOL 226 6.450 22.680 6.350 0.00 0.00 C +HETATM 3608 H4 MOL 226 5.390 22.470 6.270 0.00 0.00 H +HETATM 3609 C5 MOL 226 7.390 21.670 6.100 0.00 0.00 C +HETATM 3610 H5 MOL 226 6.990 20.700 5.840 0.00 0.00 H +HETATM 3611 C6 MOL 226 8.760 21.800 6.380 0.00 0.00 C +HETATM 3612 C7 MOL 226 9.670 20.650 6.040 0.00 0.00 C +HETATM 3613 H6 MOL 226 9.190 19.780 6.470 0.00 0.00 H +HETATM 3614 H7 MOL 226 10.630 20.810 6.530 0.00 0.00 H +HETATM 3615 O1 MOL 226 9.860 20.680 4.640 0.00 0.00 O +HETATM 3616 H8 MOL 226 9.050 20.410 4.240 0.00 0.00 H +HETATM 3617 C1 MOL 227 12.420 30.990 1.470 0.00 0.00 C +HETATM 3618 H1 MOL 227 11.440 30.700 1.120 0.00 0.00 H +HETATM 3619 C2 MOL 227 12.950 30.440 2.650 0.00 0.00 C +HETATM 3620 H2 MOL 227 12.420 29.620 3.120 0.00 0.00 H +HETATM 3621 C3 MOL 227 14.230 30.830 3.050 0.00 0.00 C +HETATM 3622 H3 MOL 227 14.690 30.290 3.870 0.00 0.00 H +HETATM 3623 C4 MOL 227 14.990 31.800 2.390 0.00 0.00 C +HETATM 3624 H4 MOL 227 16.040 31.870 2.640 0.00 0.00 H +HETATM 3625 C5 MOL 227 14.440 32.400 1.260 0.00 0.00 C +HETATM 3626 H5 MOL 227 15.070 33.060 0.670 0.00 0.00 H +HETATM 3627 C6 MOL 227 13.240 31.880 0.770 0.00 0.00 C +HETATM 3628 C7 MOL 227 12.690 32.390 -0.540 0.00 0.00 C +HETATM 3629 H6 MOL 227 12.270 31.550 -1.090 0.00 0.00 H +HETATM 3630 H7 MOL 227 13.470 32.860 -1.130 0.00 0.00 H +HETATM 3631 O1 MOL 227 11.760 33.380 -0.170 0.00 0.00 O +HETATM 3632 H8 MOL 227 11.150 32.960 0.410 0.00 0.00 H +HETATM 3633 C1 MOL 228 29.070 37.150 42.730 0.00 0.00 C +HETATM 3634 H1 MOL 228 29.360 37.570 43.680 0.00 0.00 H +HETATM 3635 C2 MOL 228 28.940 37.960 41.600 0.00 0.00 C +HETATM 3636 H2 MOL 228 29.010 39.040 41.660 0.00 0.00 H +HETATM 3637 C3 MOL 228 28.640 37.310 40.390 0.00 0.00 C +HETATM 3638 H3 MOL 228 28.450 37.970 39.560 0.00 0.00 H +HETATM 3639 C4 MOL 228 28.620 35.920 40.270 0.00 0.00 C +HETATM 3640 H4 MOL 228 28.430 35.450 39.320 0.00 0.00 H +HETATM 3641 C5 MOL 228 28.780 35.200 41.460 0.00 0.00 C +HETATM 3642 H5 MOL 228 28.630 34.140 41.330 0.00 0.00 H +HETATM 3643 C6 MOL 228 29.030 35.750 42.730 0.00 0.00 C +HETATM 3644 C7 MOL 228 29.070 34.840 43.930 0.00 0.00 C +HETATM 3645 H6 MOL 228 29.800 35.140 44.680 0.00 0.00 H +HETATM 3646 H7 MOL 228 29.490 33.890 43.620 0.00 0.00 H +HETATM 3647 O1 MOL 228 27.810 34.600 44.530 0.00 0.00 O +HETATM 3648 H8 MOL 228 27.080 34.660 43.930 0.00 0.00 H +HETATM 3649 C1 MOL 229 30.710 23.160 36.000 0.00 0.00 C +HETATM 3650 H1 MOL 229 29.990 22.370 36.110 0.00 0.00 H +HETATM 3651 C2 MOL 229 31.450 23.130 34.800 0.00 0.00 C +HETATM 3652 H2 MOL 229 31.400 22.290 34.130 0.00 0.00 H +HETATM 3653 C3 MOL 229 32.270 24.250 34.600 0.00 0.00 C +HETATM 3654 H3 MOL 229 32.820 24.310 33.670 0.00 0.00 H +HETATM 3655 C4 MOL 229 32.420 25.290 35.510 0.00 0.00 C +HETATM 3656 H4 MOL 229 33.050 26.140 35.280 0.00 0.00 H +HETATM 3657 C5 MOL 229 31.800 25.130 36.760 0.00 0.00 C +HETATM 3658 H5 MOL 229 31.990 25.970 37.410 0.00 0.00 H +HETATM 3659 C6 MOL 229 30.820 24.150 36.980 0.00 0.00 C +HETATM 3660 C7 MOL 229 30.000 24.170 38.240 0.00 0.00 C +HETATM 3661 H6 MOL 229 30.540 24.330 39.170 0.00 0.00 H +HETATM 3662 H7 MOL 229 29.580 23.170 38.330 0.00 0.00 H +HETATM 3663 O1 MOL 229 28.900 25.060 38.120 0.00 0.00 O +HETATM 3664 H8 MOL 229 28.610 25.040 37.220 0.00 0.00 H +HETATM 3665 C1 MOL 230 13.970 45.800 28.190 0.00 0.00 C +HETATM 3666 H1 MOL 230 13.870 46.030 29.240 0.00 0.00 H +HETATM 3667 C2 MOL 230 13.080 44.860 27.650 0.00 0.00 C +HETATM 3668 H2 MOL 230 12.450 44.380 28.380 0.00 0.00 H +HETATM 3669 C3 MOL 230 13.070 44.580 26.280 0.00 0.00 C +HETATM 3670 H3 MOL 230 12.390 43.820 25.930 0.00 0.00 H +HETATM 3671 C4 MOL 230 14.010 45.190 25.430 0.00 0.00 C +HETATM 3672 H4 MOL 230 14.100 44.940 24.380 0.00 0.00 H +HETATM 3673 C5 MOL 230 14.840 46.150 26.020 0.00 0.00 C +HETATM 3674 H5 MOL 230 15.650 46.580 25.440 0.00 0.00 H +HETATM 3675 C6 MOL 230 14.880 46.490 27.380 0.00 0.00 C +HETATM 3676 C7 MOL 230 15.980 47.430 27.810 0.00 0.00 C +HETATM 3677 H6 MOL 230 15.780 47.710 28.840 0.00 0.00 H +HETATM 3678 H7 MOL 230 16.000 48.270 27.120 0.00 0.00 H +HETATM 3679 O1 MOL 230 17.160 46.660 27.940 0.00 0.00 O +HETATM 3680 H8 MOL 230 16.940 45.770 28.150 0.00 0.00 H +HETATM 3681 C1 MOL 231 54.690 26.610 4.140 0.00 0.00 C +HETATM 3682 H1 MOL 231 55.670 26.560 4.580 0.00 0.00 H +HETATM 3683 C2 MOL 231 53.990 25.420 4.330 0.00 0.00 C +HETATM 3684 H2 MOL 231 54.440 24.660 4.950 0.00 0.00 H +HETATM 3685 C3 MOL 231 52.700 25.250 3.830 0.00 0.00 C +HETATM 3686 H3 MOL 231 52.210 24.290 3.960 0.00 0.00 H +HETATM 3687 C4 MOL 231 52.210 26.280 3.020 0.00 0.00 C +HETATM 3688 H4 MOL 231 51.300 26.110 2.460 0.00 0.00 H +HETATM 3689 C5 MOL 231 52.920 27.460 2.770 0.00 0.00 C +HETATM 3690 H5 MOL 231 52.720 28.230 2.040 0.00 0.00 H +HETATM 3691 C6 MOL 231 54.170 27.660 3.370 0.00 0.00 C +HETATM 3692 C7 MOL 231 55.110 28.810 3.070 0.00 0.00 C +HETATM 3693 H6 MOL 231 54.910 29.420 2.180 0.00 0.00 H +HETATM 3694 H7 MOL 231 56.120 28.480 2.860 0.00 0.00 H +HETATM 3695 O1 MOL 231 55.060 29.750 4.120 0.00 0.00 O +HETATM 3696 H8 MOL 231 54.940 30.570 3.670 0.00 0.00 H +HETATM 3697 C1 MOL 232 52.850 34.500 1.920 0.00 0.00 C +HETATM 3698 H1 MOL 232 53.880 34.480 2.240 0.00 0.00 H +HETATM 3699 C2 MOL 232 52.160 35.680 1.630 0.00 0.00 C +HETATM 3700 H2 MOL 232 52.650 36.630 1.790 0.00 0.00 H +HETATM 3701 C3 MOL 232 50.820 35.500 1.260 0.00 0.00 C +HETATM 3702 H3 MOL 232 50.220 36.370 1.010 0.00 0.00 H +HETATM 3703 C4 MOL 232 50.210 34.240 1.300 0.00 0.00 C +HETATM 3704 H4 MOL 232 49.150 34.090 1.120 0.00 0.00 H +HETATM 3705 C5 MOL 232 50.920 33.090 1.660 0.00 0.00 C +HETATM 3706 H5 MOL 232 50.520 32.090 1.600 0.00 0.00 H +HETATM 3707 C6 MOL 232 52.270 33.220 1.990 0.00 0.00 C +HETATM 3708 C7 MOL 232 52.990 32.010 2.510 0.00 0.00 C +HETATM 3709 H6 MOL 232 52.370 31.120 2.410 0.00 0.00 H +HETATM 3710 H7 MOL 232 53.300 32.130 3.550 0.00 0.00 H +HETATM 3711 O1 MOL 232 54.170 31.800 1.760 0.00 0.00 O +HETATM 3712 H8 MOL 232 54.730 32.530 1.990 0.00 0.00 H +HETATM 3713 C1 MOL 233 35.790 24.980 49.310 0.00 0.00 C +HETATM 3714 H1 MOL 233 34.820 24.690 49.690 0.00 0.00 H +HETATM 3715 C2 MOL 233 36.210 24.580 48.030 0.00 0.00 C +HETATM 3716 H2 MOL 233 35.620 23.960 47.370 0.00 0.00 H +HETATM 3717 C3 MOL 233 37.460 24.920 47.520 0.00 0.00 C +HETATM 3718 H3 MOL 233 37.770 24.460 46.590 0.00 0.00 H +HETATM 3719 C4 MOL 233 38.370 25.570 48.360 0.00 0.00 C +HETATM 3720 H4 MOL 233 39.380 25.690 48.020 0.00 0.00 H +HETATM 3721 C5 MOL 233 37.920 25.990 49.630 0.00 0.00 C +HETATM 3722 H5 MOL 233 38.710 26.430 50.220 0.00 0.00 H +HETATM 3723 C6 MOL 233 36.690 25.600 50.180 0.00 0.00 C +HETATM 3724 C7 MOL 233 36.260 26.070 51.540 0.00 0.00 C +HETATM 3725 H6 MOL 233 36.390 25.220 52.210 0.00 0.00 H +HETATM 3726 H7 MOL 233 35.220 26.380 51.650 0.00 0.00 H +HETATM 3727 O1 MOL 233 37.120 27.080 52.030 0.00 0.00 O +HETATM 3728 H8 MOL 233 36.790 27.930 51.780 0.00 0.00 H +HETATM 3729 C1 MOL 234 52.280 37.770 31.690 0.00 0.00 C +HETATM 3730 H1 MOL 234 52.110 38.090 30.670 0.00 0.00 H +HETATM 3731 C2 MOL 234 51.240 37.780 32.620 0.00 0.00 C +HETATM 3732 H2 MOL 234 50.230 38.100 32.380 0.00 0.00 H +HETATM 3733 C3 MOL 234 51.550 37.460 33.950 0.00 0.00 C +HETATM 3734 H3 MOL 234 50.820 37.600 34.730 0.00 0.00 H +HETATM 3735 C4 MOL 234 52.840 37.070 34.330 0.00 0.00 C +HETATM 3736 H4 MOL 234 53.160 37.000 35.360 0.00 0.00 H +HETATM 3737 C5 MOL 234 53.800 36.950 33.320 0.00 0.00 C +HETATM 3738 H5 MOL 234 54.790 36.590 33.580 0.00 0.00 H +HETATM 3739 C6 MOL 234 53.580 37.400 32.020 0.00 0.00 C +HETATM 3740 C7 MOL 234 54.620 37.150 30.950 0.00 0.00 C +HETATM 3741 H6 MOL 234 54.460 37.450 29.910 0.00 0.00 H +HETATM 3742 H7 MOL 234 54.930 36.100 30.930 0.00 0.00 H +HETATM 3743 O1 MOL 234 55.790 37.740 31.450 0.00 0.00 O +HETATM 3744 H8 MOL 234 55.620 38.640 31.710 0.00 0.00 H +HETATM 3745 C1 MOL 235 13.260 16.840 52.610 0.00 0.00 C +HETATM 3746 H1 MOL 235 12.290 16.380 52.520 0.00 0.00 H +HETATM 3747 C2 MOL 235 13.480 18.130 53.110 0.00 0.00 C +HETATM 3748 H2 MOL 235 12.640 18.800 53.270 0.00 0.00 H +HETATM 3749 C3 MOL 235 14.760 18.630 53.350 0.00 0.00 C +HETATM 3750 H3 MOL 235 14.850 19.590 53.850 0.00 0.00 H +HETATM 3751 C4 MOL 235 15.890 17.840 53.080 0.00 0.00 C +HETATM 3752 H4 MOL 235 16.900 18.180 53.250 0.00 0.00 H +HETATM 3753 C5 MOL 235 15.670 16.520 52.690 0.00 0.00 C +HETATM 3754 H5 MOL 235 16.530 15.900 52.450 0.00 0.00 H +HETATM 3755 C6 MOL 235 14.390 16.050 52.370 0.00 0.00 C +HETATM 3756 C7 MOL 235 14.230 14.720 51.680 0.00 0.00 C +HETATM 3757 H6 MOL 235 15.000 14.690 50.920 0.00 0.00 H +HETATM 3758 H7 MOL 235 13.260 14.710 51.190 0.00 0.00 H +HETATM 3759 O1 MOL 235 14.400 13.720 52.660 0.00 0.00 O +HETATM 3760 H8 MOL 235 15.330 13.690 52.840 0.00 0.00 H +HETATM 3761 C1 MOL 236 11.160 33.900 3.480 0.00 0.00 C +HETATM 3762 H1 MOL 236 11.800 33.590 2.660 0.00 0.00 H +HETATM 3763 C2 MOL 236 11.600 34.000 4.800 0.00 0.00 C +HETATM 3764 H2 MOL 236 12.630 33.770 5.020 0.00 0.00 H +HETATM 3765 C3 MOL 236 10.720 34.410 5.810 0.00 0.00 C +HETATM 3766 H3 MOL 236 11.090 34.470 6.820 0.00 0.00 H +HETATM 3767 C4 MOL 236 9.390 34.740 5.520 0.00 0.00 C +HETATM 3768 H4 MOL 236 8.710 35.000 6.320 0.00 0.00 H +HETATM 3769 C5 MOL 236 8.980 34.580 4.190 0.00 0.00 C +HETATM 3770 H5 MOL 236 7.910 34.580 4.020 0.00 0.00 H +HETATM 3771 C6 MOL 236 9.820 34.150 3.160 0.00 0.00 C +HETATM 3772 C7 MOL 236 9.270 33.870 1.780 0.00 0.00 C +HETATM 3773 H6 MOL 236 9.610 34.570 1.020 0.00 0.00 H +HETATM 3774 H7 MOL 236 8.180 33.850 1.700 0.00 0.00 H +HETATM 3775 O1 MOL 236 9.680 32.560 1.450 0.00 0.00 O +HETATM 3776 H8 MOL 236 9.440 32.060 2.210 0.00 0.00 H +HETATM 3777 C1 MOL 237 12.600 41.280 30.230 0.00 0.00 C +HETATM 3778 H1 MOL 237 12.540 41.570 31.260 0.00 0.00 H +HETATM 3779 C2 MOL 237 13.770 40.810 29.620 0.00 0.00 C +HETATM 3780 H2 MOL 237 14.720 40.730 30.120 0.00 0.00 H +HETATM 3781 C3 MOL 237 13.730 40.430 28.270 0.00 0.00 C +HETATM 3782 H3 MOL 237 14.710 40.150 27.910 0.00 0.00 H +HETATM 3783 C4 MOL 237 12.560 40.510 27.500 0.00 0.00 C +HETATM 3784 H4 MOL 237 12.530 40.170 26.480 0.00 0.00 H +HETATM 3785 C5 MOL 237 11.460 41.140 28.100 0.00 0.00 C +HETATM 3786 H5 MOL 237 10.580 41.180 27.480 0.00 0.00 H +HETATM 3787 C6 MOL 237 11.440 41.470 29.460 0.00 0.00 C +HETATM 3788 C7 MOL 237 10.140 41.920 30.090 0.00 0.00 C +HETATM 3789 H6 MOL 237 9.980 42.940 29.750 0.00 0.00 H +HETATM 3790 H7 MOL 237 10.260 41.870 31.170 0.00 0.00 H +HETATM 3791 O1 MOL 237 8.970 41.230 29.690 0.00 0.00 O +HETATM 3792 H8 MOL 237 9.010 40.420 30.180 0.00 0.00 H +HETATM 3793 C1 MOL 238 47.080 1.350 0.660 0.00 0.00 C +HETATM 3794 H1 MOL 238 47.340 0.420 0.170 0.00 0.00 H +HETATM 3795 C2 MOL 238 47.810 1.740 1.790 0.00 0.00 C +HETATM 3796 H2 MOL 238 48.510 0.990 2.140 0.00 0.00 H +HETATM 3797 C3 MOL 238 47.550 3.010 2.320 0.00 0.00 C +HETATM 3798 H3 MOL 238 48.210 3.270 3.130 0.00 0.00 H +HETATM 3799 C4 MOL 238 46.510 3.790 1.790 0.00 0.00 C +HETATM 3800 H4 MOL 238 46.260 4.590 2.470 0.00 0.00 H +HETATM 3801 C5 MOL 238 45.970 3.490 0.540 0.00 0.00 C +HETATM 3802 H5 MOL 238 45.190 4.080 0.080 0.00 0.00 H +HETATM 3803 C6 MOL 238 46.220 2.230 -0.010 0.00 0.00 C +HETATM 3804 C7 MOL 238 45.410 1.740 -1.180 0.00 0.00 C +HETATM 3805 H6 MOL 238 46.150 1.530 -1.950 0.00 0.00 H +HETATM 3806 H7 MOL 238 44.820 2.590 -1.510 0.00 0.00 H +HETATM 3807 O1 MOL 238 44.630 0.580 -0.980 0.00 0.00 O +HETATM 3808 H8 MOL 238 43.730 0.820 -1.110 0.00 0.00 H +HETATM 3809 C1 MOL 239 26.660 17.900 23.550 0.00 0.00 C +HETATM 3810 H1 MOL 239 27.110 16.940 23.730 0.00 0.00 H +HETATM 3811 C2 MOL 239 25.510 18.230 24.280 0.00 0.00 C +HETATM 3812 H2 MOL 239 25.010 17.450 24.830 0.00 0.00 H +HETATM 3813 C3 MOL 239 25.090 19.560 24.230 0.00 0.00 C +HETATM 3814 H3 MOL 239 24.300 19.910 24.880 0.00 0.00 H +HETATM 3815 C4 MOL 239 25.700 20.540 23.440 0.00 0.00 C +HETATM 3816 H4 MOL 239 25.270 21.520 23.260 0.00 0.00 H +HETATM 3817 C5 MOL 239 26.850 20.180 22.730 0.00 0.00 C +HETATM 3818 H5 MOL 239 27.430 20.880 22.140 0.00 0.00 H +HETATM 3819 C6 MOL 239 27.340 18.870 22.800 0.00 0.00 C +HETATM 3820 C7 MOL 239 28.640 18.550 22.120 0.00 0.00 C +HETATM 3821 H6 MOL 239 28.720 19.090 21.170 0.00 0.00 H +HETATM 3822 H7 MOL 239 28.780 17.490 21.910 0.00 0.00 H +HETATM 3823 O1 MOL 239 29.690 19.030 22.930 0.00 0.00 O +HETATM 3824 H8 MOL 239 29.380 19.850 23.290 0.00 0.00 H +HETATM 3825 C1 MOL 240 16.960 50.130 15.980 0.00 0.00 C +HETATM 3826 H1 MOL 240 17.080 50.490 14.970 0.00 0.00 H +HETATM 3827 C2 MOL 240 15.970 49.180 16.230 0.00 0.00 C +HETATM 3828 H2 MOL 240 15.410 48.900 15.340 0.00 0.00 H +HETATM 3829 C3 MOL 240 15.910 48.610 17.500 0.00 0.00 C +HETATM 3830 H3 MOL 240 15.220 47.780 17.550 0.00 0.00 H +HETATM 3831 C4 MOL 240 16.770 49.050 18.510 0.00 0.00 C +HETATM 3832 H4 MOL 240 16.720 48.530 19.460 0.00 0.00 H +HETATM 3833 C5 MOL 240 17.670 50.090 18.260 0.00 0.00 C +HETATM 3834 H5 MOL 240 18.330 50.490 19.010 0.00 0.00 H +HETATM 3835 C6 MOL 240 17.830 50.610 16.970 0.00 0.00 C +HETATM 3836 C7 MOL 240 18.880 51.670 16.750 0.00 0.00 C +HETATM 3837 H6 MOL 240 19.010 52.240 17.670 0.00 0.00 H +HETATM 3838 H7 MOL 240 18.570 52.310 15.920 0.00 0.00 H +HETATM 3839 O1 MOL 240 20.010 50.930 16.350 0.00 0.00 O +HETATM 3840 H8 MOL 240 19.610 50.150 15.980 0.00 0.00 H +HETATM 3841 C1 MOL 241 51.190 28.920 8.380 0.00 0.00 C +HETATM 3842 H1 MOL 241 50.150 29.200 8.240 0.00 0.00 H +HETATM 3843 C2 MOL 241 51.690 29.030 9.680 0.00 0.00 C +HETATM 3844 H2 MOL 241 51.080 29.370 10.500 0.00 0.00 H +HETATM 3845 C3 MOL 241 53.030 28.730 9.950 0.00 0.00 C +HETATM 3846 H3 MOL 241 53.370 28.920 10.960 0.00 0.00 H +HETATM 3847 C4 MOL 241 53.790 28.210 8.890 0.00 0.00 C +HETATM 3848 H4 MOL 241 54.810 27.970 9.170 0.00 0.00 H +HETATM 3849 C5 MOL 241 53.360 28.150 7.560 0.00 0.00 C +HETATM 3850 H5 MOL 241 54.010 27.940 6.720 0.00 0.00 H +HETATM 3851 C6 MOL 241 52.040 28.570 7.330 0.00 0.00 C +HETATM 3852 C7 MOL 241 51.510 28.520 5.910 0.00 0.00 C +HETATM 3853 H6 MOL 241 50.430 28.380 5.990 0.00 0.00 H +HETATM 3854 H7 MOL 241 51.870 27.630 5.390 0.00 0.00 H +HETATM 3855 O1 MOL 241 51.780 29.720 5.220 0.00 0.00 O +HETATM 3856 H8 MOL 241 52.690 29.590 5.000 0.00 0.00 H +HETATM 3857 C1 MOL 242 52.620 50.450 10.060 0.00 0.00 C +HETATM 3858 H1 MOL 242 52.640 51.110 9.210 0.00 0.00 H +HETATM 3859 C2 MOL 242 52.330 49.090 9.890 0.00 0.00 C +HETATM 3860 H2 MOL 242 51.990 48.720 8.940 0.00 0.00 H +HETATM 3861 C3 MOL 242 52.540 48.220 10.970 0.00 0.00 C +HETATM 3862 H3 MOL 242 52.170 47.210 10.880 0.00 0.00 H +HETATM 3863 C4 MOL 242 52.910 48.730 12.220 0.00 0.00 C +HETATM 3864 H4 MOL 242 53.140 48.010 12.990 0.00 0.00 H +HETATM 3865 C5 MOL 242 53.050 50.110 12.420 0.00 0.00 C +HETATM 3866 H5 MOL 242 53.320 50.480 13.400 0.00 0.00 H +HETATM 3867 C6 MOL 242 52.960 50.970 11.320 0.00 0.00 C +HETATM 3868 C7 MOL 242 53.310 52.420 11.550 0.00 0.00 C +HETATM 3869 H6 MOL 242 53.470 52.790 12.560 0.00 0.00 H +HETATM 3870 H7 MOL 242 52.620 53.110 11.070 0.00 0.00 H +HETATM 3871 O1 MOL 242 54.490 52.710 10.830 0.00 0.00 O +HETATM 3872 H8 MOL 242 55.180 52.260 11.280 0.00 0.00 H +HETATM 3873 C1 MOL 243 50.930 46.070 49.770 0.00 0.00 C +HETATM 3874 H1 MOL 243 50.070 45.480 49.500 0.00 0.00 H +HETATM 3875 C2 MOL 243 51.560 46.940 48.870 0.00 0.00 C +HETATM 3876 H2 MOL 243 51.320 46.980 47.810 0.00 0.00 H +HETATM 3877 C3 MOL 243 52.470 47.900 49.330 0.00 0.00 C +HETATM 3878 H3 MOL 243 52.880 48.610 48.630 0.00 0.00 H +HETATM 3879 C4 MOL 243 52.820 47.970 50.680 0.00 0.00 C +HETATM 3880 H4 MOL 243 53.660 48.570 51.010 0.00 0.00 H +HETATM 3881 C5 MOL 243 52.260 47.030 51.550 0.00 0.00 C +HETATM 3882 H5 MOL 243 52.550 46.990 52.590 0.00 0.00 H +HETATM 3883 C6 MOL 243 51.260 46.140 51.120 0.00 0.00 C +HETATM 3884 C7 MOL 243 50.580 45.320 52.190 0.00 0.00 C +HETATM 3885 H6 MOL 243 51.110 45.440 53.130 0.00 0.00 H +HETATM 3886 H7 MOL 243 50.430 44.260 51.970 0.00 0.00 H +HETATM 3887 O1 MOL 243 49.350 45.990 52.360 0.00 0.00 O +HETATM 3888 H8 MOL 243 49.540 46.910 52.500 0.00 0.00 H +HETATM 3889 C1 MOL 244 44.420 44.650 9.700 0.00 0.00 C +HETATM 3890 H1 MOL 244 44.500 43.760 9.080 0.00 0.00 H +HETATM 3891 C2 MOL 244 43.420 45.590 9.440 0.00 0.00 C +HETATM 3892 H2 MOL 244 42.720 45.430 8.630 0.00 0.00 H +HETATM 3893 C3 MOL 244 43.420 46.900 9.930 0.00 0.00 C +HETATM 3894 H3 MOL 244 42.620 47.560 9.610 0.00 0.00 H +HETATM 3895 C4 MOL 244 44.420 47.230 10.860 0.00 0.00 C +HETATM 3896 H4 MOL 244 44.480 48.210 11.300 0.00 0.00 H +HETATM 3897 C5 MOL 244 45.340 46.260 11.270 0.00 0.00 C +HETATM 3898 H5 MOL 244 46.170 46.480 11.930 0.00 0.00 H +HETATM 3899 C6 MOL 244 45.340 44.980 10.690 0.00 0.00 C +HETATM 3900 C7 MOL 244 46.350 43.930 11.090 0.00 0.00 C +HETATM 3901 H6 MOL 244 47.230 44.490 11.410 0.00 0.00 H +HETATM 3902 H7 MOL 244 46.610 43.310 10.230 0.00 0.00 H +HETATM 3903 O1 MOL 244 45.760 43.290 12.200 0.00 0.00 O +HETATM 3904 H8 MOL 244 45.720 43.930 12.900 0.00 0.00 H +HETATM 3905 C1 MOL 245 9.470 32.900 41.160 0.00 0.00 C +HETATM 3906 H1 MOL 245 8.450 33.120 41.430 0.00 0.00 H +HETATM 3907 C2 MOL 245 10.180 31.800 41.650 0.00 0.00 C +HETATM 3908 H2 MOL 245 9.640 31.260 42.420 0.00 0.00 H +HETATM 3909 C3 MOL 245 11.450 31.490 41.150 0.00 0.00 C +HETATM 3910 H3 MOL 245 12.060 30.690 41.540 0.00 0.00 H +HETATM 3911 C4 MOL 245 12.050 32.290 40.170 0.00 0.00 C +HETATM 3912 H4 MOL 245 13.060 32.040 39.900 0.00 0.00 H +HETATM 3913 C5 MOL 245 11.370 33.430 39.710 0.00 0.00 C +HETATM 3914 H5 MOL 245 11.740 34.060 38.920 0.00 0.00 H +HETATM 3915 C6 MOL 245 10.110 33.750 40.250 0.00 0.00 C +HETATM 3916 C7 MOL 245 9.290 34.880 39.680 0.00 0.00 C +HETATM 3917 H6 MOL 245 9.830 35.390 38.890 0.00 0.00 H +HETATM 3918 H7 MOL 245 9.030 35.600 40.460 0.00 0.00 H +HETATM 3919 O1 MOL 245 8.120 34.400 39.040 0.00 0.00 O +HETATM 3920 H8 MOL 245 7.790 33.640 39.500 0.00 0.00 H +HETATM 3921 C1 MOL 246 33.860 51.150 22.410 0.00 0.00 C +HETATM 3922 H1 MOL 246 33.550 51.000 21.390 0.00 0.00 H +HETATM 3923 C2 MOL 246 33.110 51.870 23.350 0.00 0.00 C +HETATM 3924 H2 MOL 246 32.210 52.360 23.020 0.00 0.00 H +HETATM 3925 C3 MOL 246 33.590 52.050 24.650 0.00 0.00 C +HETATM 3926 H3 MOL 246 32.950 52.490 25.400 0.00 0.00 H +HETATM 3927 C4 MOL 246 34.800 51.450 25.010 0.00 0.00 C +HETATM 3928 H4 MOL 246 35.160 51.620 26.020 0.00 0.00 H +HETATM 3929 C5 MOL 246 35.590 50.790 24.060 0.00 0.00 C +HETATM 3930 H5 MOL 246 36.570 50.400 24.290 0.00 0.00 H +HETATM 3931 C6 MOL 246 35.120 50.620 22.750 0.00 0.00 C +HETATM 3932 C7 MOL 246 35.760 49.740 21.700 0.00 0.00 C +HETATM 3933 H6 MOL 246 35.070 49.070 21.200 0.00 0.00 H +HETATM 3934 H7 MOL 246 36.500 49.080 22.150 0.00 0.00 H +HETATM 3935 O1 MOL 246 36.420 50.480 20.700 0.00 0.00 O +HETATM 3936 H8 MOL 246 37.110 49.920 20.360 0.00 0.00 H +HETATM 3937 C1 MOL 247 33.060 5.390 38.780 0.00 0.00 C +HETATM 3938 H1 MOL 247 33.330 4.750 39.610 0.00 0.00 H +HETATM 3939 C2 MOL 247 34.010 5.520 37.750 0.00 0.00 C +HETATM 3940 H2 MOL 247 34.940 4.990 37.780 0.00 0.00 H +HETATM 3941 C3 MOL 247 33.620 6.100 36.540 0.00 0.00 C +HETATM 3942 H3 MOL 247 34.240 6.170 35.660 0.00 0.00 H +HETATM 3943 C4 MOL 247 32.360 6.720 36.460 0.00 0.00 C +HETATM 3944 H4 MOL 247 32.120 7.280 35.570 0.00 0.00 H +HETATM 3945 C5 MOL 247 31.500 6.720 37.560 0.00 0.00 C +HETATM 3946 H5 MOL 247 30.490 7.080 37.520 0.00 0.00 H +HETATM 3947 C6 MOL 247 31.810 6.030 38.740 0.00 0.00 C +HETATM 3948 C7 MOL 247 30.870 5.880 39.900 0.00 0.00 C +HETATM 3949 H6 MOL 247 30.260 6.780 39.960 0.00 0.00 H +HETATM 3950 H7 MOL 247 31.320 5.750 40.890 0.00 0.00 H +HETATM 3951 O1 MOL 247 30.090 4.760 39.560 0.00 0.00 O +HETATM 3952 H8 MOL 247 30.360 4.390 38.730 0.00 0.00 H +HETATM 3953 C1 MOL 248 43.630 19.530 2.770 0.00 0.00 C +HETATM 3954 H1 MOL 248 43.560 19.500 1.700 0.00 0.00 H +HETATM 3955 C2 MOL 248 42.700 20.180 3.590 0.00 0.00 C +HETATM 3956 H2 MOL 248 41.840 20.730 3.230 0.00 0.00 H +HETATM 3957 C3 MOL 248 42.750 20.250 4.990 0.00 0.00 C +HETATM 3958 H3 MOL 248 41.960 20.790 5.500 0.00 0.00 H +HETATM 3959 C4 MOL 248 43.720 19.450 5.600 0.00 0.00 C +HETATM 3960 H4 MOL 248 43.780 19.390 6.670 0.00 0.00 H +HETATM 3961 C5 MOL 248 44.750 18.870 4.830 0.00 0.00 C +HETATM 3962 H5 MOL 248 45.440 18.190 5.300 0.00 0.00 H +HETATM 3963 C6 MOL 248 44.700 18.910 3.440 0.00 0.00 C +HETATM 3964 C7 MOL 248 45.790 18.180 2.690 0.00 0.00 C +HETATM 3965 H6 MOL 248 46.730 18.350 3.230 0.00 0.00 H +HETATM 3966 H7 MOL 248 45.960 18.560 1.680 0.00 0.00 H +HETATM 3967 O1 MOL 248 45.500 16.810 2.830 0.00 0.00 O +HETATM 3968 H8 MOL 248 44.640 16.640 2.460 0.00 0.00 H +HETATM 3969 C1 MOL 249 42.400 7.220 50.930 0.00 0.00 C +HETATM 3970 H1 MOL 249 41.770 8.020 51.290 0.00 0.00 H +HETATM 3971 C2 MOL 249 42.750 7.180 49.580 0.00 0.00 C +HETATM 3972 H2 MOL 249 42.310 7.860 48.870 0.00 0.00 H +HETATM 3973 C3 MOL 249 43.710 6.260 49.130 0.00 0.00 C +HETATM 3974 H3 MOL 249 44.070 6.280 48.110 0.00 0.00 H +HETATM 3975 C4 MOL 249 44.430 5.440 50.010 0.00 0.00 C +HETATM 3976 H4 MOL 249 45.260 4.800 49.720 0.00 0.00 H +HETATM 3977 C5 MOL 249 43.980 5.410 51.330 0.00 0.00 C +HETATM 3978 H5 MOL 249 44.510 4.860 52.090 0.00 0.00 H +HETATM 3979 C6 MOL 249 43.040 6.330 51.810 0.00 0.00 C +HETATM 3980 C7 MOL 249 42.740 6.420 53.290 0.00 0.00 C +HETATM 3981 H6 MOL 249 41.660 6.490 53.300 0.00 0.00 H +HETATM 3982 H7 MOL 249 43.180 7.340 53.680 0.00 0.00 H +HETATM 3983 O1 MOL 249 43.210 5.340 54.060 0.00 0.00 O +HETATM 3984 H8 MOL 249 43.640 5.730 54.800 0.00 0.00 H +HETATM 3985 C1 MOL 250 13.640 33.100 8.410 0.00 0.00 C +HETATM 3986 H1 MOL 250 13.250 34.040 8.070 0.00 0.00 H +HETATM 3987 C2 MOL 250 13.780 32.100 7.440 0.00 0.00 C +HETATM 3988 H2 MOL 250 13.750 32.310 6.380 0.00 0.00 H +HETATM 3989 C3 MOL 250 14.190 30.810 7.800 0.00 0.00 C +HETATM 3990 H3 MOL 250 14.470 30.140 7.000 0.00 0.00 H +HETATM 3991 C4 MOL 250 14.540 30.580 9.130 0.00 0.00 C +HETATM 3992 H4 MOL 250 15.000 29.680 9.500 0.00 0.00 H +HETATM 3993 C5 MOL 250 14.260 31.520 10.130 0.00 0.00 C +HETATM 3994 H5 MOL 250 14.560 31.190 11.120 0.00 0.00 H +HETATM 3995 C6 MOL 250 13.750 32.780 9.770 0.00 0.00 C +HETATM 3996 C7 MOL 250 13.510 33.830 10.820 0.00 0.00 C +HETATM 3997 H6 MOL 250 12.930 33.380 11.630 0.00 0.00 H +HETATM 3998 H7 MOL 250 13.090 34.750 10.400 0.00 0.00 H +HETATM 3999 O1 MOL 250 14.780 34.200 11.310 0.00 0.00 O +HETATM 4000 H8 MOL 250 14.990 33.550 11.960 0.00 0.00 H +HETATM 4001 C1 MOL 251 10.840 4.060 26.630 0.00 0.00 C +HETATM 4002 H1 MOL 251 10.020 4.540 26.120 0.00 0.00 H +HETATM 4003 C2 MOL 251 10.700 2.730 27.010 0.00 0.00 C +HETATM 4004 H2 MOL 251 9.830 2.260 26.570 0.00 0.00 H +HETATM 4005 C3 MOL 251 11.700 2.110 27.770 0.00 0.00 C +HETATM 4006 H3 MOL 251 11.700 1.030 27.850 0.00 0.00 H +HETATM 4007 C4 MOL 251 12.800 2.870 28.170 0.00 0.00 C +HETATM 4008 H4 MOL 251 13.610 2.370 28.680 0.00 0.00 H +HETATM 4009 C5 MOL 251 12.920 4.230 27.850 0.00 0.00 C +HETATM 4010 H5 MOL 251 13.800 4.800 28.120 0.00 0.00 H +HETATM 4011 C6 MOL 251 11.970 4.800 27.000 0.00 0.00 C +HETATM 4012 C7 MOL 251 12.060 6.230 26.520 0.00 0.00 C +HETATM 4013 H6 MOL 251 11.790 6.430 25.490 0.00 0.00 H +HETATM 4014 H7 MOL 251 12.980 6.800 26.580 0.00 0.00 H +HETATM 4015 O1 MOL 251 11.230 7.070 27.310 0.00 0.00 O +HETATM 4016 H8 MOL 251 10.600 6.470 27.680 0.00 0.00 H +HETATM 4017 C1 MOL 252 45.960 41.730 50.830 0.00 0.00 C +HETATM 4018 H1 MOL 252 46.450 41.910 51.780 0.00 0.00 H +HETATM 4019 C2 MOL 252 44.650 41.260 50.810 0.00 0.00 C +HETATM 4020 H2 MOL 252 44.140 41.020 51.740 0.00 0.00 H +HETATM 4021 C3 MOL 252 44.160 40.970 49.530 0.00 0.00 C +HETATM 4022 H3 MOL 252 43.220 40.450 49.500 0.00 0.00 H +HETATM 4023 C4 MOL 252 44.860 41.180 48.340 0.00 0.00 C +HETATM 4024 H4 MOL 252 44.390 40.890 47.410 0.00 0.00 H +HETATM 4025 C5 MOL 252 46.140 41.760 48.420 0.00 0.00 C +HETATM 4026 H5 MOL 252 46.750 42.050 47.580 0.00 0.00 H +HETATM 4027 C6 MOL 252 46.720 41.970 49.680 0.00 0.00 C +HETATM 4028 C7 MOL 252 48.200 42.230 49.870 0.00 0.00 C +HETATM 4029 H6 MOL 252 48.740 41.340 49.540 0.00 0.00 H +HETATM 4030 H7 MOL 252 48.460 42.540 50.880 0.00 0.00 H +HETATM 4031 O1 MOL 252 48.370 43.340 49.020 0.00 0.00 O +HETATM 4032 H8 MOL 252 47.860 44.090 49.280 0.00 0.00 H +HETATM 4033 C1 MOL 253 12.040 50.540 49.240 0.00 0.00 C +HETATM 4034 H1 MOL 253 12.960 50.520 48.670 0.00 0.00 H +HETATM 4035 C2 MOL 253 11.380 51.740 49.530 0.00 0.00 C +HETATM 4036 H2 MOL 253 11.740 52.630 49.030 0.00 0.00 H +HETATM 4037 C3 MOL 253 10.280 51.790 50.400 0.00 0.00 C +HETATM 4038 H3 MOL 253 9.740 52.670 50.700 0.00 0.00 H +HETATM 4039 C4 MOL 253 9.930 50.560 50.970 0.00 0.00 C +HETATM 4040 H4 MOL 253 9.120 50.510 51.700 0.00 0.00 H +HETATM 4041 C5 MOL 253 10.480 49.320 50.610 0.00 0.00 C +HETATM 4042 H5 MOL 253 9.910 48.430 50.810 0.00 0.00 H +HETATM 4043 C6 MOL 253 11.520 49.320 49.670 0.00 0.00 C +HETATM 4044 C7 MOL 253 12.290 48.050 49.420 0.00 0.00 C +HETATM 4045 H6 MOL 253 12.260 47.370 50.280 0.00 0.00 H +HETATM 4046 H7 MOL 253 13.360 48.180 49.230 0.00 0.00 H +HETATM 4047 O1 MOL 253 11.690 47.500 48.270 0.00 0.00 O +HETATM 4048 H8 MOL 253 10.770 47.440 48.470 0.00 0.00 H +HETATM 4049 C1 MOL 254 36.460 13.440 50.470 0.00 0.00 C +HETATM 4050 H1 MOL 254 36.860 14.450 50.520 0.00 0.00 H +HETATM 4051 C2 MOL 254 36.230 12.800 51.690 0.00 0.00 C +HETATM 4052 H2 MOL 254 36.510 13.180 52.660 0.00 0.00 H +HETATM 4053 C3 MOL 254 35.660 11.520 51.730 0.00 0.00 C +HETATM 4054 H3 MOL 254 35.420 11.010 52.660 0.00 0.00 H +HETATM 4055 C4 MOL 254 35.230 10.960 50.530 0.00 0.00 C +HETATM 4056 H4 MOL 254 34.760 9.980 50.580 0.00 0.00 H +HETATM 4057 C5 MOL 254 35.450 11.630 49.320 0.00 0.00 C +HETATM 4058 H5 MOL 254 35.050 11.230 48.400 0.00 0.00 H +HETATM 4059 C6 MOL 254 36.070 12.890 49.250 0.00 0.00 C +HETATM 4060 C7 MOL 254 36.060 13.660 47.950 0.00 0.00 C +HETATM 4061 H6 MOL 254 35.250 14.380 47.890 0.00 0.00 H +HETATM 4062 H7 MOL 254 35.960 12.980 47.100 0.00 0.00 H +HETATM 4063 O1 MOL 254 37.240 14.390 47.710 0.00 0.00 O +HETATM 4064 H8 MOL 254 37.170 15.150 48.260 0.00 0.00 H +HETATM 4065 C1 MOL 255 41.540 14.100 9.320 0.00 0.00 C +HETATM 4066 H1 MOL 255 40.730 13.540 9.760 0.00 0.00 H +HETATM 4067 C2 MOL 255 42.140 15.180 9.990 0.00 0.00 C +HETATM 4068 H2 MOL 255 41.790 15.470 10.970 0.00 0.00 H +HETATM 4069 C3 MOL 255 43.240 15.830 9.430 0.00 0.00 C +HETATM 4070 H3 MOL 255 43.670 16.680 9.930 0.00 0.00 H +HETATM 4071 C4 MOL 255 43.730 15.430 8.170 0.00 0.00 C +HETATM 4072 H4 MOL 255 44.520 15.940 7.640 0.00 0.00 H +HETATM 4073 C5 MOL 255 43.190 14.330 7.510 0.00 0.00 C +HETATM 4074 H5 MOL 255 43.510 13.970 6.540 0.00 0.00 H +HETATM 4075 C6 MOL 255 42.090 13.700 8.100 0.00 0.00 C +HETATM 4076 C7 MOL 255 41.550 12.470 7.410 0.00 0.00 C +HETATM 4077 H6 MOL 255 41.390 12.660 6.350 0.00 0.00 H +HETATM 4078 H7 MOL 255 40.600 12.150 7.840 0.00 0.00 H +HETATM 4079 O1 MOL 255 42.490 11.480 7.770 0.00 0.00 O +HETATM 4080 H8 MOL 255 43.300 11.900 8.030 0.00 0.00 H +HETATM 4081 C1 MOL 256 19.040 37.600 21.310 0.00 0.00 C +HETATM 4082 H1 MOL 256 19.810 38.280 21.650 0.00 0.00 H +HETATM 4083 C2 MOL 256 18.750 37.490 19.940 0.00 0.00 C +HETATM 4084 H2 MOL 256 19.220 38.000 19.120 0.00 0.00 H +HETATM 4085 C3 MOL 256 17.830 36.520 19.530 0.00 0.00 C +HETATM 4086 H3 MOL 256 17.640 36.440 18.470 0.00 0.00 H +HETATM 4087 C4 MOL 256 17.120 35.790 20.490 0.00 0.00 C +HETATM 4088 H4 MOL 256 16.490 34.970 20.180 0.00 0.00 H +HETATM 4089 C5 MOL 256 17.390 35.950 21.860 0.00 0.00 C +HETATM 4090 H5 MOL 256 16.840 35.310 22.520 0.00 0.00 H +HETATM 4091 C6 MOL 256 18.290 36.930 22.290 0.00 0.00 C +HETATM 4092 C7 MOL 256 18.610 37.220 23.730 0.00 0.00 C +HETATM 4093 H6 MOL 256 17.790 36.900 24.370 0.00 0.00 H +HETATM 4094 H7 MOL 256 18.620 38.310 23.820 0.00 0.00 H +HETATM 4095 O1 MOL 256 19.770 36.660 24.330 0.00 0.00 O +HETATM 4096 H8 MOL 256 19.580 35.760 24.140 0.00 0.00 H +HETATM 4097 C1 MOL 257 15.210 39.080 34.670 0.00 0.00 C +HETATM 4098 H1 MOL 257 14.400 38.700 34.070 0.00 0.00 H +HETATM 4099 C2 MOL 257 15.670 38.260 35.710 0.00 0.00 C +HETATM 4100 H2 MOL 257 15.200 37.330 35.990 0.00 0.00 H +HETATM 4101 C3 MOL 257 16.830 38.590 36.420 0.00 0.00 C +HETATM 4102 H3 MOL 257 17.140 37.920 37.210 0.00 0.00 H +HETATM 4103 C4 MOL 257 17.540 39.750 36.090 0.00 0.00 C +HETATM 4104 H4 MOL 257 18.460 39.930 36.640 0.00 0.00 H +HETATM 4105 C5 MOL 257 17.030 40.610 35.110 0.00 0.00 C +HETATM 4106 H5 MOL 257 17.550 41.540 34.940 0.00 0.00 H +HETATM 4107 C6 MOL 257 15.880 40.270 34.380 0.00 0.00 C +HETATM 4108 C7 MOL 257 15.350 41.170 33.290 0.00 0.00 C +HETATM 4109 H6 MOL 257 15.260 42.120 33.810 0.00 0.00 H +HETATM 4110 H7 MOL 257 14.320 40.900 33.060 0.00 0.00 H +HETATM 4111 O1 MOL 257 16.380 41.280 32.320 0.00 0.00 O +HETATM 4112 H8 MOL 257 16.840 40.460 32.390 0.00 0.00 H +HETATM 4113 C1 MOL 258 32.880 38.050 55.250 0.00 0.00 C +HETATM 4114 H1 MOL 258 32.060 37.380 55.050 0.00 0.00 H +HETATM 4115 C2 MOL 258 32.810 39.420 54.950 0.00 0.00 C +HETATM 4116 H2 MOL 258 31.870 39.780 54.560 0.00 0.00 H +HETATM 4117 C3 MOL 258 33.890 40.230 55.310 0.00 0.00 C +HETATM 4118 H3 MOL 258 33.820 41.300 55.180 0.00 0.00 H +HETATM 4119 C4 MOL 258 35.070 39.770 55.900 0.00 0.00 C +HETATM 4120 H4 MOL 258 35.910 40.390 56.190 0.00 0.00 H +HETATM 4121 C5 MOL 258 35.050 38.430 56.310 0.00 0.00 C +HETATM 4122 H5 MOL 258 35.850 38.040 56.920 0.00 0.00 H +HETATM 4123 C6 MOL 258 33.970 37.600 56.000 0.00 0.00 C +HETATM 4124 C7 MOL 258 34.090 36.210 56.570 0.00 0.00 C +HETATM 4125 H6 MOL 258 33.170 35.640 56.620 0.00 0.00 H +HETATM 4126 H7 MOL 258 34.440 36.280 57.610 0.00 0.00 H +HETATM 4127 O1 MOL 258 34.960 35.510 55.710 0.00 0.00 O +HETATM 4128 H8 MOL 258 34.920 35.980 54.890 0.00 0.00 H +HETATM 4129 C1 MOL 259 47.570 22.180 1.450 0.00 0.00 C +HETATM 4130 H1 MOL 259 47.450 22.070 0.380 0.00 0.00 H +HETATM 4131 C2 MOL 259 46.660 21.510 2.270 0.00 0.00 C +HETATM 4132 H2 MOL 259 45.920 20.940 1.730 0.00 0.00 H +HETATM 4133 C3 MOL 259 46.730 21.720 3.650 0.00 0.00 C +HETATM 4134 H3 MOL 259 46.070 21.180 4.310 0.00 0.00 H +HETATM 4135 C4 MOL 259 47.680 22.600 4.200 0.00 0.00 C +HETATM 4136 H4 MOL 259 47.700 22.830 5.260 0.00 0.00 H +HETATM 4137 C5 MOL 259 48.620 23.150 3.330 0.00 0.00 C +HETATM 4138 H5 MOL 259 49.460 23.640 3.810 0.00 0.00 H +HETATM 4139 C6 MOL 259 48.610 22.980 1.940 0.00 0.00 C +HETATM 4140 C7 MOL 259 49.510 23.680 0.950 0.00 0.00 C +HETATM 4141 H6 MOL 259 49.580 22.970 0.130 0.00 0.00 H +HETATM 4142 H7 MOL 259 50.440 23.780 1.510 0.00 0.00 H +HETATM 4143 O1 MOL 259 49.020 24.940 0.550 0.00 0.00 O +HETATM 4144 H8 MOL 259 48.890 25.450 1.340 0.00 0.00 H +HETATM 4145 C1 MOL 260 32.450 35.040 39.290 0.00 0.00 C +HETATM 4146 H1 MOL 260 32.410 34.320 40.090 0.00 0.00 H +HETATM 4147 C2 MOL 260 33.520 35.940 39.180 0.00 0.00 C +HETATM 4148 H2 MOL 260 34.170 36.130 40.020 0.00 0.00 H +HETATM 4149 C3 MOL 260 33.650 36.710 38.030 0.00 0.00 C +HETATM 4150 H3 MOL 260 34.420 37.470 37.960 0.00 0.00 H +HETATM 4151 C4 MOL 260 32.770 36.460 36.970 0.00 0.00 C +HETATM 4152 H4 MOL 260 32.860 37.090 36.100 0.00 0.00 H +HETATM 4153 C5 MOL 260 31.750 35.500 37.040 0.00 0.00 C +HETATM 4154 H5 MOL 260 31.120 35.370 36.180 0.00 0.00 H +HETATM 4155 C6 MOL 260 31.590 34.760 38.220 0.00 0.00 C +HETATM 4156 C7 MOL 260 30.500 33.740 38.440 0.00 0.00 C +HETATM 4157 H6 MOL 260 29.630 33.790 37.770 0.00 0.00 H +HETATM 4158 H7 MOL 260 30.020 33.910 39.400 0.00 0.00 H +HETATM 4159 O1 MOL 260 31.160 32.510 38.230 0.00 0.00 O +HETATM 4160 H8 MOL 260 31.370 32.340 37.320 0.00 0.00 H +HETATM 4161 C1 MOL 261 23.980 37.430 43.430 0.00 0.00 C +HETATM 4162 H1 MOL 261 25.010 37.720 43.550 0.00 0.00 H +HETATM 4163 C2 MOL 261 23.030 38.360 43.870 0.00 0.00 C +HETATM 4164 H2 MOL 261 23.360 39.260 44.360 0.00 0.00 H +HETATM 4165 C3 MOL 261 21.690 38.020 43.660 0.00 0.00 C +HETATM 4166 H3 MOL 261 20.970 38.780 43.910 0.00 0.00 H +HETATM 4167 C4 MOL 261 21.300 36.750 43.200 0.00 0.00 C +HETATM 4168 H4 MOL 261 20.270 36.480 43.090 0.00 0.00 H +HETATM 4169 C5 MOL 261 22.320 35.840 42.870 0.00 0.00 C +HETATM 4170 H5 MOL 261 22.010 34.900 42.440 0.00 0.00 H +HETATM 4171 C6 MOL 261 23.660 36.210 42.810 0.00 0.00 C +HETATM 4172 C7 MOL 261 24.740 35.300 42.270 0.00 0.00 C +HETATM 4173 H6 MOL 261 25.410 35.800 41.570 0.00 0.00 H +HETATM 4174 H7 MOL 261 24.210 34.530 41.700 0.00 0.00 H +HETATM 4175 O1 MOL 261 25.440 34.790 43.380 0.00 0.00 O +HETATM 4176 H8 MOL 261 24.880 34.490 44.080 0.00 0.00 H +HETATM 4177 C1 MOL 262 18.150 50.100 36.220 0.00 0.00 C +HETATM 4178 H1 MOL 262 18.820 49.310 36.530 0.00 0.00 H +HETATM 4179 C2 MOL 262 18.520 51.420 36.490 0.00 0.00 C +HETATM 4180 H2 MOL 262 19.430 51.730 36.990 0.00 0.00 H +HETATM 4181 C3 MOL 262 17.760 52.470 35.940 0.00 0.00 C +HETATM 4182 H3 MOL 262 18.190 53.450 36.080 0.00 0.00 H +HETATM 4183 C4 MOL 262 16.590 52.220 35.220 0.00 0.00 C +HETATM 4184 H4 MOL 262 15.990 52.970 34.720 0.00 0.00 H +HETATM 4185 C5 MOL 262 16.220 50.900 34.960 0.00 0.00 C +HETATM 4186 H5 MOL 262 15.330 50.760 34.350 0.00 0.00 H +HETATM 4187 C6 MOL 262 17.000 49.850 35.460 0.00 0.00 C +HETATM 4188 C7 MOL 262 16.720 48.410 35.140 0.00 0.00 C +HETATM 4189 H6 MOL 262 17.680 47.980 34.840 0.00 0.00 H +HETATM 4190 H7 MOL 262 16.010 48.310 34.320 0.00 0.00 H +HETATM 4191 O1 MOL 262 16.440 47.620 36.270 0.00 0.00 O +HETATM 4192 H8 MOL 262 16.530 48.160 37.040 0.00 0.00 H +HETATM 4193 C1 MOL 263 16.840 7.790 33.860 0.00 0.00 C +HETATM 4194 H1 MOL 263 17.150 7.230 34.740 0.00 0.00 H +HETATM 4195 C2 MOL 263 17.800 7.890 32.840 0.00 0.00 C +HETATM 4196 H2 MOL 263 18.570 7.150 32.970 0.00 0.00 H +HETATM 4197 C3 MOL 263 17.530 8.690 31.730 0.00 0.00 C +HETATM 4198 H3 MOL 263 18.190 8.730 30.880 0.00 0.00 H +HETATM 4199 C4 MOL 263 16.310 9.390 31.720 0.00 0.00 C +HETATM 4200 H4 MOL 263 16.260 9.890 30.760 0.00 0.00 H +HETATM 4201 C5 MOL 263 15.320 9.310 32.700 0.00 0.00 C +HETATM 4202 H5 MOL 263 14.370 9.810 32.660 0.00 0.00 H +HETATM 4203 C6 MOL 263 15.650 8.520 33.810 0.00 0.00 C +HETATM 4204 C7 MOL 263 14.730 8.480 35.000 0.00 0.00 C +HETATM 4205 H6 MOL 263 14.140 9.400 35.070 0.00 0.00 H +HETATM 4206 H7 MOL 263 15.300 8.570 35.920 0.00 0.00 H +HETATM 4207 O1 MOL 263 13.890 7.340 34.960 0.00 0.00 O +HETATM 4208 H8 MOL 263 13.060 7.580 35.340 0.00 0.00 H +HETATM 4209 C1 MOL 264 14.370 3.940 53.770 0.00 0.00 C +HETATM 4210 H1 MOL 264 15.230 4.580 53.670 0.00 0.00 H +HETATM 4211 C2 MOL 264 13.370 4.320 54.670 0.00 0.00 C +HETATM 4212 H2 MOL 264 13.480 5.220 55.250 0.00 0.00 H +HETATM 4213 C3 MOL 264 12.350 3.410 54.980 0.00 0.00 C +HETATM 4214 H3 MOL 264 11.630 3.660 55.740 0.00 0.00 H +HETATM 4215 C4 MOL 264 12.280 2.190 54.290 0.00 0.00 C +HETATM 4216 H4 MOL 264 11.500 1.480 54.520 0.00 0.00 H +HETATM 4217 C5 MOL 264 13.250 1.830 53.350 0.00 0.00 C +HETATM 4218 H5 MOL 264 13.240 0.900 52.800 0.00 0.00 H +HETATM 4219 C6 MOL 264 14.330 2.690 53.130 0.00 0.00 C +HETATM 4220 C7 MOL 264 15.340 2.260 52.100 0.00 0.00 C +HETATM 4221 H6 MOL 264 15.450 1.180 52.060 0.00 0.00 H +HETATM 4222 H7 MOL 264 16.310 2.760 52.120 0.00 0.00 H +HETATM 4223 O1 MOL 264 14.910 2.750 50.850 0.00 0.00 O +HETATM 4224 H8 MOL 264 14.760 3.680 50.960 0.00 0.00 H +HETATM 4225 C1 MOL 265 53.420 21.100 0.450 0.00 0.00 C +HETATM 4226 H1 MOL 265 54.240 21.510 -0.110 0.00 0.00 H +HETATM 4227 C2 MOL 265 52.150 20.890 -0.120 0.00 0.00 C +HETATM 4228 H2 MOL 265 52.060 21.060 -1.180 0.00 0.00 H +HETATM 4229 C3 MOL 265 51.050 20.670 0.710 0.00 0.00 C +HETATM 4230 H3 MOL 265 50.110 20.570 0.180 0.00 0.00 H +HETATM 4231 C4 MOL 265 51.200 20.480 2.090 0.00 0.00 C +HETATM 4232 H4 MOL 265 50.280 20.250 2.610 0.00 0.00 H +HETATM 4233 C5 MOL 265 52.490 20.530 2.630 0.00 0.00 C +HETATM 4234 H5 MOL 265 52.610 20.360 3.690 0.00 0.00 H +HETATM 4235 C6 MOL 265 53.560 20.980 1.840 0.00 0.00 C +HETATM 4236 C7 MOL 265 54.880 21.290 2.510 0.00 0.00 C +HETATM 4237 H6 MOL 265 54.730 22.030 3.290 0.00 0.00 H +HETATM 4238 H7 MOL 265 55.520 21.900 1.870 0.00 0.00 H +HETATM 4239 O1 MOL 265 55.660 20.160 2.830 0.00 0.00 O +HETATM 4240 H8 MOL 265 55.910 19.850 1.980 0.00 0.00 H +HETATM 4241 C1 MOL 266 53.000 33.500 8.200 0.00 0.00 C +HETATM 4242 H1 MOL 266 53.270 32.660 8.820 0.00 0.00 H +HETATM 4243 C2 MOL 266 51.840 33.380 7.420 0.00 0.00 C +HETATM 4244 H2 MOL 266 51.330 32.440 7.260 0.00 0.00 H +HETATM 4245 C3 MOL 266 51.460 34.520 6.690 0.00 0.00 C +HETATM 4246 H3 MOL 266 50.610 34.510 6.030 0.00 0.00 H +HETATM 4247 C4 MOL 266 52.170 35.720 6.710 0.00 0.00 C +HETATM 4248 H4 MOL 266 51.810 36.630 6.250 0.00 0.00 H +HETATM 4249 C5 MOL 266 53.270 35.800 7.590 0.00 0.00 C +HETATM 4250 H5 MOL 266 53.770 36.750 7.650 0.00 0.00 H +HETATM 4251 C6 MOL 266 53.650 34.720 8.390 0.00 0.00 C +HETATM 4252 C7 MOL 266 54.840 34.820 9.320 0.00 0.00 C +HETATM 4253 H6 MOL 266 55.350 35.780 9.400 0.00 0.00 H +HETATM 4254 H7 MOL 266 55.530 34.040 8.990 0.00 0.00 H +HETATM 4255 O1 MOL 266 54.420 34.590 10.650 0.00 0.00 O +HETATM 4256 H8 MOL 266 53.910 35.350 10.870 0.00 0.00 H +HETATM 4257 C1 MOL 267 48.460 40.790 34.350 0.00 0.00 C +HETATM 4258 H1 MOL 267 49.110 40.040 33.920 0.00 0.00 H +HETATM 4259 C2 MOL 267 47.820 41.780 33.590 0.00 0.00 C +HETATM 4260 H2 MOL 267 47.970 41.750 32.520 0.00 0.00 H +HETATM 4261 C3 MOL 267 47.000 42.780 34.120 0.00 0.00 C +HETATM 4262 H3 MOL 267 46.370 43.400 33.500 0.00 0.00 H +HETATM 4263 C4 MOL 267 46.770 42.740 35.500 0.00 0.00 C +HETATM 4264 H4 MOL 267 46.020 43.350 35.980 0.00 0.00 H +HETATM 4265 C5 MOL 267 47.500 41.800 36.250 0.00 0.00 C +HETATM 4266 H5 MOL 267 47.230 41.720 37.290 0.00 0.00 H +HETATM 4267 C6 MOL 267 48.230 40.730 35.730 0.00 0.00 C +HETATM 4268 C7 MOL 267 48.940 39.840 36.720 0.00 0.00 C +HETATM 4269 H6 MOL 267 48.660 40.210 37.710 0.00 0.00 H +HETATM 4270 H7 MOL 267 50.000 39.890 36.480 0.00 0.00 H +HETATM 4271 O1 MOL 267 48.560 38.490 36.590 0.00 0.00 O +HETATM 4272 H8 MOL 267 47.640 38.500 36.790 0.00 0.00 H +HETATM 4273 C1 MOL 268 54.640 40.570 19.700 0.00 0.00 C +HETATM 4274 H1 MOL 268 54.440 41.350 18.980 0.00 0.00 H +HETATM 4275 C2 MOL 268 55.310 40.950 20.860 0.00 0.00 C +HETATM 4276 H2 MOL 268 55.660 41.960 21.070 0.00 0.00 H +HETATM 4277 C3 MOL 268 55.610 39.950 21.790 0.00 0.00 C +HETATM 4278 H3 MOL 268 56.250 40.200 22.630 0.00 0.00 H +HETATM 4279 C4 MOL 268 55.290 38.600 21.560 0.00 0.00 C +HETATM 4280 H4 MOL 268 55.760 37.890 22.230 0.00 0.00 H +HETATM 4281 C5 MOL 268 54.570 38.270 20.410 0.00 0.00 C +HETATM 4282 H5 MOL 268 54.360 37.240 20.180 0.00 0.00 H +HETATM 4283 C6 MOL 268 54.270 39.240 19.450 0.00 0.00 C +HETATM 4284 C7 MOL 268 53.590 38.810 18.170 0.00 0.00 C +HETATM 4285 H6 MOL 268 53.470 39.620 17.450 0.00 0.00 H +HETATM 4286 H7 MOL 268 52.680 38.280 18.450 0.00 0.00 H +HETATM 4287 O1 MOL 268 54.460 37.840 17.620 0.00 0.00 O +HETATM 4288 H8 MOL 268 55.290 38.290 17.650 0.00 0.00 H +HETATM 4289 C1 MOL 269 32.830 32.880 32.200 0.00 0.00 C +HETATM 4290 H1 MOL 269 32.560 31.890 31.860 0.00 0.00 H +HETATM 4291 C2 MOL 269 33.280 33.910 31.370 0.00 0.00 C +HETATM 4292 H2 MOL 269 33.390 33.830 30.300 0.00 0.00 H +HETATM 4293 C3 MOL 269 33.710 35.120 31.950 0.00 0.00 C +HETATM 4294 H3 MOL 269 33.840 35.950 31.270 0.00 0.00 H +HETATM 4295 C4 MOL 269 33.510 35.320 33.320 0.00 0.00 C +HETATM 4296 H4 MOL 269 33.720 36.310 33.700 0.00 0.00 H +HETATM 4297 C5 MOL 269 33.100 34.250 34.120 0.00 0.00 C +HETATM 4298 H5 MOL 269 33.060 34.400 35.180 0.00 0.00 H +HETATM 4299 C6 MOL 269 32.660 33.030 33.580 0.00 0.00 C +HETATM 4300 C7 MOL 269 32.230 31.850 34.410 0.00 0.00 C +HETATM 4301 H6 MOL 269 32.990 31.120 34.690 0.00 0.00 H +HETATM 4302 H7 MOL 269 31.430 31.400 33.810 0.00 0.00 H +HETATM 4303 O1 MOL 269 31.520 32.240 35.570 0.00 0.00 O +HETATM 4304 H8 MOL 269 30.830 32.830 35.310 0.00 0.00 H +HETATM 4305 C1 MOL 270 2.340 16.290 23.910 0.00 0.00 C +HETATM 4306 H1 MOL 270 1.810 17.230 23.980 0.00 0.00 H +HETATM 4307 C2 MOL 270 2.360 15.340 24.930 0.00 0.00 C +HETATM 4308 H2 MOL 270 2.050 15.690 25.910 0.00 0.00 H +HETATM 4309 C3 MOL 270 3.070 14.140 24.780 0.00 0.00 C +HETATM 4310 H3 MOL 270 3.120 13.430 25.590 0.00 0.00 H +HETATM 4311 C4 MOL 270 3.790 13.960 23.590 0.00 0.00 C +HETATM 4312 H4 MOL 270 4.400 13.070 23.450 0.00 0.00 H +HETATM 4313 C5 MOL 270 3.830 14.920 22.580 0.00 0.00 C +HETATM 4314 H5 MOL 270 4.460 14.700 21.730 0.00 0.00 H +HETATM 4315 C6 MOL 270 3.080 16.090 22.740 0.00 0.00 C +HETATM 4316 C7 MOL 270 3.020 17.190 21.710 0.00 0.00 C +HETATM 4317 H6 MOL 270 3.360 18.130 22.140 0.00 0.00 H +HETATM 4318 H7 MOL 270 2.000 17.380 21.390 0.00 0.00 H +HETATM 4319 O1 MOL 270 3.850 16.970 20.580 0.00 0.00 O +HETATM 4320 H8 MOL 270 4.730 16.790 20.880 0.00 0.00 H +HETATM 4321 C1 MOL 271 22.290 6.070 48.400 0.00 0.00 C +HETATM 4322 H1 MOL 271 22.920 5.290 48.010 0.00 0.00 H +HETATM 4323 C2 MOL 271 20.930 6.200 48.110 0.00 0.00 C +HETATM 4324 H2 MOL 271 20.420 5.430 47.560 0.00 0.00 H +HETATM 4325 C3 MOL 271 20.250 7.340 48.570 0.00 0.00 C +HETATM 4326 H3 MOL 271 19.180 7.450 48.490 0.00 0.00 H +HETATM 4327 C4 MOL 271 20.970 8.350 49.220 0.00 0.00 C +HETATM 4328 H4 MOL 271 20.410 9.220 49.540 0.00 0.00 H +HETATM 4329 C5 MOL 271 22.350 8.310 49.460 0.00 0.00 C +HETATM 4330 H5 MOL 271 22.740 9.240 49.850 0.00 0.00 H +HETATM 4331 C6 MOL 271 22.960 7.120 49.050 0.00 0.00 C +HETATM 4332 C7 MOL 271 24.450 7.030 49.260 0.00 0.00 C +HETATM 4333 H6 MOL 271 24.900 6.050 49.400 0.00 0.00 H +HETATM 4334 H7 MOL 271 24.730 7.560 50.170 0.00 0.00 H +HETATM 4335 O1 MOL 271 25.260 7.660 48.290 0.00 0.00 O +HETATM 4336 H8 MOL 271 25.340 6.970 47.650 0.00 0.00 H +HETATM 4337 C1 MOL 272 20.840 40.810 35.540 0.00 0.00 C +HETATM 4338 H1 MOL 272 19.940 41.420 35.550 0.00 0.00 H +HETATM 4339 C2 MOL 272 21.480 40.470 36.740 0.00 0.00 C +HETATM 4340 H2 MOL 272 21.170 40.880 37.690 0.00 0.00 H +HETATM 4341 C3 MOL 272 22.460 39.480 36.750 0.00 0.00 C +HETATM 4342 H3 MOL 272 22.960 39.120 37.650 0.00 0.00 H +HETATM 4343 C4 MOL 272 22.930 38.970 35.540 0.00 0.00 C +HETATM 4344 H4 MOL 272 23.770 38.290 35.600 0.00 0.00 H +HETATM 4345 C5 MOL 272 22.310 39.390 34.350 0.00 0.00 C +HETATM 4346 H5 MOL 272 22.700 38.960 33.440 0.00 0.00 H +HETATM 4347 C6 MOL 272 21.210 40.260 34.310 0.00 0.00 C +HETATM 4348 C7 MOL 272 20.300 40.400 33.120 0.00 0.00 C +HETATM 4349 H6 MOL 272 20.120 41.460 32.930 0.00 0.00 H +HETATM 4350 H7 MOL 272 19.330 39.950 33.360 0.00 0.00 H +HETATM 4351 O1 MOL 272 20.620 39.580 32.010 0.00 0.00 O +HETATM 4352 H8 MOL 272 21.390 39.900 31.560 0.00 0.00 H +HETATM 4353 C1 MOL 273 23.280 5.260 2.540 0.00 0.00 C +HETATM 4354 H1 MOL 273 23.490 5.800 3.450 0.00 0.00 H +HETATM 4355 C2 MOL 273 24.250 4.440 1.940 0.00 0.00 C +HETATM 4356 H2 MOL 273 25.270 4.370 2.270 0.00 0.00 H +HETATM 4357 C3 MOL 273 23.860 3.630 0.870 0.00 0.00 C +HETATM 4358 H3 MOL 273 24.550 2.970 0.360 0.00 0.00 H +HETATM 4359 C4 MOL 273 22.550 3.640 0.370 0.00 0.00 C +HETATM 4360 H4 MOL 273 22.210 2.970 -0.400 0.00 0.00 H +HETATM 4361 C5 MOL 273 21.610 4.530 0.930 0.00 0.00 C +HETATM 4362 H5 MOL 273 20.580 4.640 0.650 0.00 0.00 H +HETATM 4363 C6 MOL 273 21.970 5.290 2.050 0.00 0.00 C +HETATM 4364 C7 MOL 273 20.950 6.010 2.890 0.00 0.00 C +HETATM 4365 H6 MOL 273 21.400 6.760 3.540 0.00 0.00 H +HETATM 4366 H7 MOL 273 20.600 5.300 3.650 0.00 0.00 H +HETATM 4367 O1 MOL 273 19.900 6.520 2.100 0.00 0.00 O +HETATM 4368 H8 MOL 273 19.050 6.200 2.350 0.00 0.00 H +HETATM 4369 C1 MOL 274 1.860 34.480 32.470 0.00 0.00 C +HETATM 4370 H1 MOL 274 2.100 34.690 31.440 0.00 0.00 H +HETATM 4371 C2 MOL 274 1.780 35.530 33.400 0.00 0.00 C +HETATM 4372 H2 MOL 274 1.840 36.550 33.060 0.00 0.00 H +HETATM 4373 C3 MOL 274 1.500 35.230 34.740 0.00 0.00 C +HETATM 4374 H3 MOL 274 1.300 35.990 35.480 0.00 0.00 H +HETATM 4375 C4 MOL 274 1.460 33.890 35.150 0.00 0.00 C +HETATM 4376 H4 MOL 274 1.310 33.650 36.190 0.00 0.00 H +HETATM 4377 C5 MOL 274 1.670 32.840 34.240 0.00 0.00 C +HETATM 4378 H5 MOL 274 1.610 31.820 34.580 0.00 0.00 H +HETATM 4379 C6 MOL 274 1.800 33.140 32.880 0.00 0.00 C +HETATM 4380 C7 MOL 274 1.880 32.020 31.880 0.00 0.00 C +HETATM 4381 H6 MOL 274 1.150 32.190 31.090 0.00 0.00 H +HETATM 4382 H7 MOL 274 1.710 31.040 32.330 0.00 0.00 H +HETATM 4383 O1 MOL 274 3.210 31.940 31.420 0.00 0.00 O +HETATM 4384 H8 MOL 274 3.360 32.840 31.170 0.00 0.00 H +HETATM 4385 C1 MOL 275 6.530 47.440 39.420 0.00 0.00 C +HETATM 4386 H1 MOL 275 6.700 47.980 38.500 0.00 0.00 H +HETATM 4387 C2 MOL 275 6.030 46.150 39.180 0.00 0.00 C +HETATM 4388 H2 MOL 275 5.700 45.670 38.270 0.00 0.00 H +HETATM 4389 C3 MOL 275 5.780 45.410 40.340 0.00 0.00 C +HETATM 4390 H3 MOL 275 5.250 44.480 40.190 0.00 0.00 H +HETATM 4391 C4 MOL 275 5.990 45.970 41.610 0.00 0.00 C +HETATM 4392 H4 MOL 275 5.590 45.370 42.420 0.00 0.00 H +HETATM 4393 C5 MOL 275 6.230 47.330 41.790 0.00 0.00 C +HETATM 4394 H5 MOL 275 6.220 47.870 42.730 0.00 0.00 H +HETATM 4395 C6 MOL 275 6.560 48.080 40.660 0.00 0.00 C +HETATM 4396 C7 MOL 275 6.790 49.580 40.730 0.00 0.00 C +HETATM 4397 H6 MOL 275 7.790 49.840 40.400 0.00 0.00 H +HETATM 4398 H7 MOL 275 6.530 49.960 41.720 0.00 0.00 H +HETATM 4399 O1 MOL 275 5.880 50.140 39.820 0.00 0.00 O +HETATM 4400 H8 MOL 275 5.480 49.410 39.370 0.00 0.00 H +HETATM 4401 C1 MOL 276 41.850 24.810 1.890 0.00 0.00 C +HETATM 4402 H1 MOL 276 41.030 25.190 1.290 0.00 0.00 H +HETATM 4403 C2 MOL 276 42.070 25.230 3.210 0.00 0.00 C +HETATM 4404 H2 MOL 276 41.270 25.770 3.700 0.00 0.00 H +HETATM 4405 C3 MOL 276 43.160 24.730 3.930 0.00 0.00 C +HETATM 4406 H3 MOL 276 43.310 24.990 4.970 0.00 0.00 H +HETATM 4407 C4 MOL 276 43.960 23.720 3.390 0.00 0.00 C +HETATM 4408 H4 MOL 276 44.830 23.280 3.860 0.00 0.00 H +HETATM 4409 C5 MOL 276 43.750 23.280 2.070 0.00 0.00 C +HETATM 4410 H5 MOL 276 44.250 22.440 1.620 0.00 0.00 H +HETATM 4411 C6 MOL 276 42.700 23.850 1.350 0.00 0.00 C +HETATM 4412 C7 MOL 276 42.540 23.410 -0.090 0.00 0.00 C +HETATM 4413 H6 MOL 276 41.490 23.350 -0.360 0.00 0.00 H +HETATM 4414 H7 MOL 276 42.940 22.410 -0.250 0.00 0.00 H +HETATM 4415 O1 MOL 276 43.250 24.400 -0.810 0.00 0.00 O +HETATM 4416 H8 MOL 276 43.930 24.710 -0.240 0.00 0.00 H +HETATM 4417 C1 MOL 277 12.880 20.260 13.110 0.00 0.00 C +HETATM 4418 H1 MOL 277 11.940 19.770 13.290 0.00 0.00 H +HETATM 4419 C2 MOL 277 13.600 20.020 11.930 0.00 0.00 C +HETATM 4420 H2 MOL 277 13.230 19.350 11.170 0.00 0.00 H +HETATM 4421 C3 MOL 277 14.820 20.670 11.660 0.00 0.00 C +HETATM 4422 H3 MOL 277 15.350 20.360 10.780 0.00 0.00 H +HETATM 4423 C4 MOL 277 15.380 21.470 12.660 0.00 0.00 C +HETATM 4424 H4 MOL 277 16.280 22.040 12.510 0.00 0.00 H +HETATM 4425 C5 MOL 277 14.690 21.660 13.860 0.00 0.00 C +HETATM 4426 H5 MOL 277 15.180 22.270 14.610 0.00 0.00 H +HETATM 4427 C6 MOL 277 13.450 21.050 14.110 0.00 0.00 C +HETATM 4428 C7 MOL 277 12.810 21.360 15.440 0.00 0.00 C +HETATM 4429 H6 MOL 277 13.210 22.270 15.890 0.00 0.00 H +HETATM 4430 H7 MOL 277 13.130 20.500 16.030 0.00 0.00 H +HETATM 4431 O1 MOL 277 11.400 21.470 15.390 0.00 0.00 O +HETATM 4432 H8 MOL 277 11.220 22.380 15.190 0.00 0.00 H +HETATM 4433 C1 MOL 278 1.560 39.650 37.680 0.00 0.00 C +HETATM 4434 H1 MOL 278 0.690 40.230 37.950 0.00 0.00 H +HETATM 4435 C2 MOL 278 2.510 39.440 38.680 0.00 0.00 C +HETATM 4436 H2 MOL 278 2.360 39.890 39.660 0.00 0.00 H +HETATM 4437 C3 MOL 278 3.670 38.670 38.550 0.00 0.00 C +HETATM 4438 H3 MOL 278 4.260 38.330 39.390 0.00 0.00 H +HETATM 4439 C4 MOL 278 3.920 38.210 37.250 0.00 0.00 C +HETATM 4440 H4 MOL 278 4.830 37.680 37.040 0.00 0.00 H +HETATM 4441 C5 MOL 278 3.000 38.420 36.220 0.00 0.00 C +HETATM 4442 H5 MOL 278 3.300 38.180 35.210 0.00 0.00 H +HETATM 4443 C6 MOL 278 1.820 39.160 36.390 0.00 0.00 C +HETATM 4444 C7 MOL 278 0.850 39.350 35.250 0.00 0.00 C +HETATM 4445 H6 MOL 278 -0.180 39.440 35.610 0.00 0.00 H +HETATM 4446 H7 MOL 278 0.930 38.450 34.640 0.00 0.00 H +HETATM 4447 O1 MOL 278 1.260 40.470 34.500 0.00 0.00 O +HETATM 4448 H8 MOL 278 2.200 40.580 34.600 0.00 0.00 H +HETATM 4449 C1 MOL 279 47.360 11.540 34.260 0.00 0.00 C +HETATM 4450 H1 MOL 279 47.580 12.340 34.960 0.00 0.00 H +HETATM 4451 C2 MOL 279 46.060 11.270 33.820 0.00 0.00 C +HETATM 4452 H2 MOL 279 45.270 11.840 34.290 0.00 0.00 H +HETATM 4453 C3 MOL 279 45.850 10.250 32.890 0.00 0.00 C +HETATM 4454 H3 MOL 279 44.830 10.020 32.590 0.00 0.00 H +HETATM 4455 C4 MOL 279 46.960 9.580 32.370 0.00 0.00 C +HETATM 4456 H4 MOL 279 46.710 8.810 31.660 0.00 0.00 H +HETATM 4457 C5 MOL 279 48.250 9.880 32.820 0.00 0.00 C +HETATM 4458 H5 MOL 279 49.070 9.300 32.420 0.00 0.00 H +HETATM 4459 C6 MOL 279 48.490 10.860 33.790 0.00 0.00 C +HETATM 4460 C7 MOL 279 49.820 11.050 34.490 0.00 0.00 C +HETATM 4461 H6 MOL 279 49.920 12.130 34.560 0.00 0.00 H +HETATM 4462 H7 MOL 279 50.680 10.840 33.850 0.00 0.00 H +HETATM 4463 O1 MOL 279 49.890 10.310 35.680 0.00 0.00 O +HETATM 4464 H8 MOL 279 49.130 9.760 35.790 0.00 0.00 H +HETATM 4465 C1 MOL 280 46.950 51.220 55.580 0.00 0.00 C +HETATM 4466 H1 MOL 280 46.240 51.050 54.790 0.00 0.00 H +HETATM 4467 C2 MOL 280 47.190 52.470 56.160 0.00 0.00 C +HETATM 4468 H2 MOL 280 46.670 53.330 55.750 0.00 0.00 H +HETATM 4469 C3 MOL 280 48.020 52.600 57.280 0.00 0.00 C +HETATM 4470 H3 MOL 280 48.240 53.490 57.840 0.00 0.00 H +HETATM 4471 C4 MOL 280 48.570 51.470 57.900 0.00 0.00 C +HETATM 4472 H4 MOL 280 49.070 51.470 58.860 0.00 0.00 H +HETATM 4473 C5 MOL 280 48.310 50.230 57.310 0.00 0.00 C +HETATM 4474 H5 MOL 280 48.810 49.330 57.650 0.00 0.00 H +HETATM 4475 C6 MOL 280 47.540 50.080 56.160 0.00 0.00 C +HETATM 4476 C7 MOL 280 47.300 48.760 55.460 0.00 0.00 C +HETATM 4477 H6 MOL 280 46.450 48.860 54.790 0.00 0.00 H +HETATM 4478 H7 MOL 280 47.210 47.950 56.190 0.00 0.00 H +HETATM 4479 O1 MOL 280 48.420 48.460 54.670 0.00 0.00 O +HETATM 4480 H8 MOL 280 49.130 49.030 54.940 0.00 0.00 H +HETATM 4481 C1 MOL 281 35.650 33.340 25.350 0.00 0.00 C +HETATM 4482 H1 MOL 281 35.820 34.100 24.600 0.00 0.00 H +HETATM 4483 C2 MOL 281 35.820 32.000 24.960 0.00 0.00 C +HETATM 4484 H2 MOL 281 35.920 31.770 23.910 0.00 0.00 H +HETATM 4485 C3 MOL 281 35.730 31.030 25.970 0.00 0.00 C +HETATM 4486 H3 MOL 281 35.780 29.980 25.720 0.00 0.00 H +HETATM 4487 C4 MOL 281 35.640 31.360 27.320 0.00 0.00 C +HETATM 4488 H4 MOL 281 35.650 30.550 28.040 0.00 0.00 H +HETATM 4489 C5 MOL 281 35.490 32.710 27.660 0.00 0.00 C +HETATM 4490 H5 MOL 281 35.340 33.020 28.680 0.00 0.00 H +HETATM 4491 C6 MOL 281 35.390 33.700 26.670 0.00 0.00 C +HETATM 4492 C7 MOL 281 35.130 35.130 27.090 0.00 0.00 C +HETATM 4493 H6 MOL 281 34.630 35.620 26.250 0.00 0.00 H +HETATM 4494 H7 MOL 281 36.120 35.590 27.020 0.00 0.00 H +HETATM 4495 O1 MOL 281 34.470 35.350 28.310 0.00 0.00 O +HETATM 4496 H8 MOL 281 34.980 35.370 29.100 0.00 0.00 H +HETATM 4497 C1 MOL 282 4.040 45.250 7.220 0.00 0.00 C +HETATM 4498 H1 MOL 282 3.130 44.840 7.620 0.00 0.00 H +HETATM 4499 C2 MOL 282 5.170 45.400 8.040 0.00 0.00 C +HETATM 4500 H2 MOL 282 5.230 45.080 9.070 0.00 0.00 H +HETATM 4501 C3 MOL 282 6.320 45.880 7.410 0.00 0.00 C +HETATM 4502 H3 MOL 282 7.270 46.090 7.870 0.00 0.00 H +HETATM 4503 C4 MOL 282 6.330 46.220 6.050 0.00 0.00 C +HETATM 4504 H4 MOL 282 7.170 46.600 5.480 0.00 0.00 H +HETATM 4505 C5 MOL 282 5.210 45.980 5.250 0.00 0.00 C +HETATM 4506 H5 MOL 282 5.230 46.270 4.210 0.00 0.00 H +HETATM 4507 C6 MOL 282 4.020 45.540 5.850 0.00 0.00 C +HETATM 4508 C7 MOL 282 2.840 45.430 4.910 0.00 0.00 C +HETATM 4509 H6 MOL 282 2.320 46.380 4.840 0.00 0.00 H +HETATM 4510 H7 MOL 282 2.150 44.690 5.330 0.00 0.00 H +HETATM 4511 O1 MOL 282 3.260 45.000 3.630 0.00 0.00 O +HETATM 4512 H8 MOL 282 3.680 45.720 3.180 0.00 0.00 H +HETATM 4513 C1 MOL 283 26.360 11.010 12.770 0.00 0.00 C +HETATM 4514 H1 MOL 283 26.590 11.650 13.610 0.00 0.00 H +HETATM 4515 C2 MOL 283 27.310 10.240 12.090 0.00 0.00 C +HETATM 4516 H2 MOL 283 28.370 10.320 12.290 0.00 0.00 H +HETATM 4517 C3 MOL 283 26.910 9.350 11.080 0.00 0.00 C +HETATM 4518 H3 MOL 283 27.680 8.750 10.630 0.00 0.00 H +HETATM 4519 C4 MOL 283 25.550 9.170 10.780 0.00 0.00 C +HETATM 4520 H4 MOL 283 25.280 8.430 10.040 0.00 0.00 H +HETATM 4521 C5 MOL 283 24.640 10.040 11.380 0.00 0.00 C +HETATM 4522 H5 MOL 283 23.570 9.920 11.280 0.00 0.00 H +HETATM 4523 C6 MOL 283 25.020 10.940 12.390 0.00 0.00 C +HETATM 4524 C7 MOL 283 24.000 11.870 13.010 0.00 0.00 C +HETATM 4525 H6 MOL 283 23.710 12.680 12.350 0.00 0.00 H +HETATM 4526 H7 MOL 283 24.530 12.400 13.810 0.00 0.00 H +HETATM 4527 O1 MOL 283 22.850 11.320 13.610 0.00 0.00 O +HETATM 4528 H8 MOL 283 23.060 11.220 14.530 0.00 0.00 H +HETATM 4529 C1 MOL 284 40.390 7.440 19.960 0.00 0.00 C +HETATM 4530 H1 MOL 284 40.390 7.250 21.030 0.00 0.00 H +HETATM 4531 C2 MOL 284 41.450 8.180 19.410 0.00 0.00 C +HETATM 4532 H2 MOL 284 42.140 8.580 20.130 0.00 0.00 H +HETATM 4533 C3 MOL 284 41.520 8.290 18.020 0.00 0.00 C +HETATM 4534 H3 MOL 284 42.440 8.740 17.690 0.00 0.00 H +HETATM 4535 C4 MOL 284 40.580 7.630 17.220 0.00 0.00 C +HETATM 4536 H4 MOL 284 40.630 7.540 16.140 0.00 0.00 H +HETATM 4537 C5 MOL 284 39.540 6.870 17.760 0.00 0.00 C +HETATM 4538 H5 MOL 284 38.810 6.230 17.300 0.00 0.00 H +HETATM 4539 C6 MOL 284 39.450 6.790 19.160 0.00 0.00 C +HETATM 4540 C7 MOL 284 38.340 5.970 19.770 0.00 0.00 C +HETATM 4541 H6 MOL 284 38.670 5.520 20.710 0.00 0.00 H +HETATM 4542 H7 MOL 284 38.030 5.260 19.010 0.00 0.00 H +HETATM 4543 O1 MOL 284 37.290 6.860 20.080 0.00 0.00 O +HETATM 4544 H8 MOL 284 37.290 7.580 19.460 0.00 0.00 H +HETATM 4545 C1 MOL 285 21.410 48.630 7.110 0.00 0.00 C +HETATM 4546 H1 MOL 285 22.140 48.640 6.310 0.00 0.00 H +HETATM 4547 C2 MOL 285 20.410 49.610 7.230 0.00 0.00 C +HETATM 4548 H2 MOL 285 20.530 50.460 6.580 0.00 0.00 H +HETATM 4549 C3 MOL 285 19.420 49.640 8.210 0.00 0.00 C +HETATM 4550 H3 MOL 285 18.640 50.390 8.180 0.00 0.00 H +HETATM 4551 C4 MOL 285 19.440 48.590 9.140 0.00 0.00 C +HETATM 4552 H4 MOL 285 18.740 48.670 9.970 0.00 0.00 H +HETATM 4553 C5 MOL 285 20.340 47.530 9.010 0.00 0.00 C +HETATM 4554 H5 MOL 285 20.140 46.640 9.590 0.00 0.00 H +HETATM 4555 C6 MOL 285 21.280 47.540 7.970 0.00 0.00 C +HETATM 4556 C7 MOL 285 22.110 46.280 7.800 0.00 0.00 C +HETATM 4557 H6 MOL 285 22.260 46.170 6.730 0.00 0.00 H +HETATM 4558 H7 MOL 285 21.520 45.400 8.070 0.00 0.00 H +HETATM 4559 O1 MOL 285 23.420 46.270 8.340 0.00 0.00 O +HETATM 4560 H8 MOL 285 23.490 46.820 9.100 0.00 0.00 H +HETATM 4561 C1 MOL 286 2.180 24.220 6.770 0.00 0.00 C +HETATM 4562 H1 MOL 286 2.450 23.180 6.740 0.00 0.00 H +HETATM 4563 C2 MOL 286 3.060 25.260 6.450 0.00 0.00 C +HETATM 4564 H2 MOL 286 4.080 25.100 6.120 0.00 0.00 H +HETATM 4565 C3 MOL 286 2.540 26.560 6.570 0.00 0.00 C +HETATM 4566 H3 MOL 286 3.230 27.320 6.240 0.00 0.00 H +HETATM 4567 C4 MOL 286 1.210 26.800 6.930 0.00 0.00 C +HETATM 4568 H4 MOL 286 0.840 27.810 7.010 0.00 0.00 H +HETATM 4569 C5 MOL 286 0.380 25.740 7.310 0.00 0.00 C +HETATM 4570 H5 MOL 286 -0.660 25.860 7.550 0.00 0.00 H +HETATM 4571 C6 MOL 286 0.860 24.430 7.170 0.00 0.00 C +HETATM 4572 C7 MOL 286 -0.040 23.260 7.520 0.00 0.00 C +HETATM 4573 H6 MOL 286 -0.930 23.650 8.020 0.00 0.00 H +HETATM 4574 H7 MOL 286 0.430 22.530 8.180 0.00 0.00 H +HETATM 4575 O1 MOL 286 -0.350 22.600 6.310 0.00 0.00 O +HETATM 4576 H8 MOL 286 0.390 22.050 6.130 0.00 0.00 H +HETATM 4577 C1 MOL 287 50.450 23.050 12.760 0.00 0.00 C +HETATM 4578 H1 MOL 287 50.880 23.920 13.240 0.00 0.00 H +HETATM 4579 C2 MOL 287 51.150 21.840 12.770 0.00 0.00 C +HETATM 4580 H2 MOL 287 52.160 21.710 13.130 0.00 0.00 H +HETATM 4581 C3 MOL 287 50.520 20.660 12.350 0.00 0.00 C +HETATM 4582 H3 MOL 287 51.080 19.750 12.320 0.00 0.00 H +HETATM 4583 C4 MOL 287 49.180 20.700 11.950 0.00 0.00 C +HETATM 4584 H4 MOL 287 48.720 19.810 11.540 0.00 0.00 H +HETATM 4585 C5 MOL 287 48.450 21.900 12.030 0.00 0.00 C +HETATM 4586 H5 MOL 287 47.410 21.820 11.780 0.00 0.00 H +HETATM 4587 C6 MOL 287 49.090 23.080 12.420 0.00 0.00 C +HETATM 4588 C7 MOL 287 48.360 24.400 12.310 0.00 0.00 C +HETATM 4589 H6 MOL 287 48.720 25.080 13.090 0.00 0.00 H +HETATM 4590 H7 MOL 287 47.320 24.260 12.600 0.00 0.00 H +HETATM 4591 O1 MOL 287 48.560 24.890 11.000 0.00 0.00 O +HETATM 4592 H8 MOL 287 48.870 24.260 10.370 0.00 0.00 H +HETATM 4593 C1 MOL 288 15.420 8.630 45.920 0.00 0.00 C +HETATM 4594 H1 MOL 288 14.560 8.640 46.570 0.00 0.00 H +HETATM 4595 C2 MOL 288 16.340 7.600 46.170 0.00 0.00 C +HETATM 4596 H2 MOL 288 16.090 6.820 46.860 0.00 0.00 H +HETATM 4597 C3 MOL 288 17.430 7.410 45.310 0.00 0.00 C +HETATM 4598 H3 MOL 288 18.170 6.630 45.410 0.00 0.00 H +HETATM 4599 C4 MOL 288 17.560 8.300 44.230 0.00 0.00 C +HETATM 4600 H4 MOL 288 18.410 8.160 43.570 0.00 0.00 H +HETATM 4601 C5 MOL 288 16.690 9.380 44.060 0.00 0.00 C +HETATM 4602 H5 MOL 288 16.880 10.140 43.310 0.00 0.00 H +HETATM 4603 C6 MOL 288 15.640 9.610 44.950 0.00 0.00 C +HETATM 4604 C7 MOL 288 14.600 10.680 44.690 0.00 0.00 C +HETATM 4605 H6 MOL 288 14.310 11.070 45.670 0.00 0.00 H +HETATM 4606 H7 MOL 288 13.640 10.310 44.330 0.00 0.00 H +HETATM 4607 O1 MOL 288 15.110 11.730 43.910 0.00 0.00 O +HETATM 4608 H8 MOL 288 15.880 12.050 44.350 0.00 0.00 H +HETATM 4609 C1 MOL 289 6.460 15.290 24.630 0.00 0.00 C +HETATM 4610 H1 MOL 289 6.140 15.290 23.600 0.00 0.00 H +HETATM 4611 C2 MOL 289 7.060 14.160 25.200 0.00 0.00 C +HETATM 4612 H2 MOL 289 6.940 13.280 24.600 0.00 0.00 H +HETATM 4613 C3 MOL 289 7.710 14.180 26.440 0.00 0.00 C +HETATM 4614 H3 MOL 289 8.240 13.380 26.930 0.00 0.00 H +HETATM 4615 C4 MOL 289 7.720 15.370 27.180 0.00 0.00 C +HETATM 4616 H4 MOL 289 8.130 15.420 28.180 0.00 0.00 H +HETATM 4617 C5 MOL 289 7.030 16.440 26.610 0.00 0.00 C +HETATM 4618 H5 MOL 289 7.210 17.370 27.140 0.00 0.00 H +HETATM 4619 C6 MOL 289 6.390 16.480 25.370 0.00 0.00 C +HETATM 4620 C7 MOL 289 5.890 17.740 24.710 0.00 0.00 C +HETATM 4621 H6 MOL 289 5.020 18.180 25.210 0.00 0.00 H +HETATM 4622 H7 MOL 289 5.520 17.560 23.700 0.00 0.00 H +HETATM 4623 O1 MOL 289 6.790 18.820 24.590 0.00 0.00 O +HETATM 4624 H8 MOL 289 6.360 19.650 24.710 0.00 0.00 H +HETATM 4625 C1 MOL 290 50.830 15.020 31.960 0.00 0.00 C +HETATM 4626 H1 MOL 290 50.820 15.880 32.620 0.00 0.00 H +HETATM 4627 C2 MOL 290 52.030 14.560 31.410 0.00 0.00 C +HETATM 4628 H2 MOL 290 52.960 15.060 31.590 0.00 0.00 H +HETATM 4629 C3 MOL 290 52.040 13.310 30.780 0.00 0.00 C +HETATM 4630 H3 MOL 290 53.030 13.010 30.450 0.00 0.00 H +HETATM 4631 C4 MOL 290 50.890 12.530 30.650 0.00 0.00 C +HETATM 4632 H4 MOL 290 50.750 11.700 29.980 0.00 0.00 H +HETATM 4633 C5 MOL 290 49.690 12.970 31.240 0.00 0.00 C +HETATM 4634 H5 MOL 290 48.760 12.440 31.320 0.00 0.00 H +HETATM 4635 C6 MOL 290 49.700 14.190 31.930 0.00 0.00 C +HETATM 4636 C7 MOL 290 48.370 14.640 32.470 0.00 0.00 C +HETATM 4637 H6 MOL 290 48.510 15.180 33.410 0.00 0.00 H +HETATM 4638 H7 MOL 290 47.720 13.780 32.610 0.00 0.00 H +HETATM 4639 O1 MOL 290 47.880 15.490 31.450 0.00 0.00 O +HETATM 4640 H8 MOL 290 48.010 15.100 30.600 0.00 0.00 H +HETATM 4641 C1 MOL 291 30.450 2.870 20.390 0.00 0.00 C +HETATM 4642 H1 MOL 291 30.460 2.980 19.320 0.00 0.00 H +HETATM 4643 C2 MOL 291 30.370 4.090 21.070 0.00 0.00 C +HETATM 4644 H2 MOL 291 30.370 5.010 20.520 0.00 0.00 H +HETATM 4645 C3 MOL 291 30.440 4.090 22.470 0.00 0.00 C +HETATM 4646 H3 MOL 291 30.470 5.030 23.000 0.00 0.00 H +HETATM 4647 C4 MOL 291 30.570 2.900 23.200 0.00 0.00 C +HETATM 4648 H4 MOL 291 30.670 2.780 24.270 0.00 0.00 H +HETATM 4649 C5 MOL 291 30.570 1.670 22.530 0.00 0.00 C +HETATM 4650 H5 MOL 291 30.390 0.720 23.000 0.00 0.00 H +HETATM 4651 C6 MOL 291 30.540 1.680 21.130 0.00 0.00 C +HETATM 4652 C7 MOL 291 30.400 0.360 20.410 0.00 0.00 C +HETATM 4653 H6 MOL 291 30.840 0.250 19.420 0.00 0.00 H +HETATM 4654 H7 MOL 291 29.320 0.220 20.300 0.00 0.00 H +HETATM 4655 O1 MOL 291 30.930 -0.740 21.130 0.00 0.00 O +HETATM 4656 H8 MOL 291 31.850 -0.560 21.260 0.00 0.00 H +HETATM 4657 C1 MOL 292 39.280 7.690 4.610 0.00 0.00 C +HETATM 4658 H1 MOL 292 39.310 6.700 4.190 0.00 0.00 H +HETATM 4659 C2 MOL 292 40.260 8.010 5.570 0.00 0.00 C +HETATM 4660 H2 MOL 292 41.000 7.300 5.910 0.00 0.00 H +HETATM 4661 C3 MOL 292 40.310 9.260 6.200 0.00 0.00 C +HETATM 4662 H3 MOL 292 41.100 9.370 6.930 0.00 0.00 H +HETATM 4663 C4 MOL 292 39.420 10.260 5.820 0.00 0.00 C +HETATM 4664 H4 MOL 292 39.420 11.260 6.230 0.00 0.00 H +HETATM 4665 C5 MOL 292 38.440 9.970 4.860 0.00 0.00 C +HETATM 4666 H5 MOL 292 37.860 10.810 4.520 0.00 0.00 H +HETATM 4667 C6 MOL 292 38.360 8.690 4.290 0.00 0.00 C +HETATM 4668 C7 MOL 292 37.340 8.390 3.220 0.00 0.00 C +HETATM 4669 H6 MOL 292 37.750 8.490 2.220 0.00 0.00 H +HETATM 4670 H7 MOL 292 36.630 9.210 3.120 0.00 0.00 H +HETATM 4671 O1 MOL 292 36.640 7.190 3.480 0.00 0.00 O +HETATM 4672 H8 MOL 292 36.980 6.870 4.300 0.00 0.00 H +HETATM 4673 C1 MOL 293 40.420 2.380 50.760 0.00 0.00 C +HETATM 4674 H1 MOL 293 41.470 2.630 50.710 0.00 0.00 H +HETATM 4675 C2 MOL 293 39.920 1.320 49.980 0.00 0.00 C +HETATM 4676 H2 MOL 293 40.600 0.750 49.380 0.00 0.00 H +HETATM 4677 C3 MOL 293 38.560 0.990 50.020 0.00 0.00 C +HETATM 4678 H3 MOL 293 38.140 0.280 49.320 0.00 0.00 H +HETATM 4679 C4 MOL 293 37.690 1.760 50.800 0.00 0.00 C +HETATM 4680 H4 MOL 293 36.630 1.540 50.870 0.00 0.00 H +HETATM 4681 C5 MOL 293 38.250 2.630 51.730 0.00 0.00 C +HETATM 4682 H5 MOL 293 37.580 3.200 52.360 0.00 0.00 H +HETATM 4683 C6 MOL 293 39.610 2.990 51.730 0.00 0.00 C +HETATM 4684 C7 MOL 293 40.130 4.070 52.640 0.00 0.00 C +HETATM 4685 H6 MOL 293 39.520 4.950 52.840 0.00 0.00 H +HETATM 4686 H7 MOL 293 41.000 4.640 52.320 0.00 0.00 H +HETATM 4687 O1 MOL 293 40.570 3.580 53.890 0.00 0.00 O +HETATM 4688 H8 MOL 293 41.470 3.840 54.050 0.00 0.00 H +HETATM 4689 C1 MOL 294 37.060 44.080 6.220 0.00 0.00 C +HETATM 4690 H1 MOL 294 36.220 44.540 5.730 0.00 0.00 H +HETATM 4691 C2 MOL 294 36.960 42.730 6.570 0.00 0.00 C +HETATM 4692 H2 MOL 294 36.120 42.120 6.250 0.00 0.00 H +HETATM 4693 C3 MOL 294 38.050 42.120 7.210 0.00 0.00 C +HETATM 4694 H3 MOL 294 38.090 41.080 7.480 0.00 0.00 H +HETATM 4695 C4 MOL 294 39.170 42.870 7.590 0.00 0.00 C +HETATM 4696 H4 MOL 294 39.970 42.430 8.160 0.00 0.00 H +HETATM 4697 C5 MOL 294 39.190 44.250 7.330 0.00 0.00 C +HETATM 4698 H5 MOL 294 39.990 44.830 7.760 0.00 0.00 H +HETATM 4699 C6 MOL 294 38.090 44.880 6.730 0.00 0.00 C +HETATM 4700 C7 MOL 294 38.130 46.390 6.640 0.00 0.00 C +HETATM 4701 H6 MOL 294 39.170 46.690 6.720 0.00 0.00 H +HETATM 4702 H7 MOL 294 37.550 46.780 7.470 0.00 0.00 H +HETATM 4703 O1 MOL 294 37.480 46.740 5.440 0.00 0.00 O +HETATM 4704 H8 MOL 294 37.660 46.020 4.860 0.00 0.00 H +HETATM 4705 C1 MOL 295 0.800 44.180 12.700 0.00 0.00 C +HETATM 4706 H1 MOL 295 1.190 43.420 13.360 0.00 0.00 H +HETATM 4707 C2 MOL 295 -0.580 44.180 12.440 0.00 0.00 C +HETATM 4708 H2 MOL 295 -1.140 43.500 13.070 0.00 0.00 H +HETATM 4709 C3 MOL 295 -1.070 45.000 11.410 0.00 0.00 C +HETATM 4710 H3 MOL 295 -2.110 45.120 11.130 0.00 0.00 H +HETATM 4711 C4 MOL 295 -0.170 45.900 10.830 0.00 0.00 C +HETATM 4712 H4 MOL 295 -0.620 46.640 10.190 0.00 0.00 H +HETATM 4713 C5 MOL 295 1.220 45.780 10.980 0.00 0.00 C +HETATM 4714 H5 MOL 295 1.840 46.560 10.560 0.00 0.00 H +HETATM 4715 C6 MOL 295 1.720 44.930 11.960 0.00 0.00 C +HETATM 4716 C7 MOL 295 3.220 44.860 12.180 0.00 0.00 C +HETATM 4717 H6 MOL 295 3.440 45.850 12.590 0.00 0.00 H +HETATM 4718 H7 MOL 295 3.750 44.640 11.250 0.00 0.00 H +HETATM 4719 O1 MOL 295 3.510 43.840 13.100 0.00 0.00 O +HETATM 4720 H8 MOL 295 4.410 43.550 13.020 0.00 0.00 H +HETATM 4721 C1 MOL 296 5.470 35.650 18.370 0.00 0.00 C +HETATM 4722 H1 MOL 296 5.570 36.730 18.310 0.00 0.00 H +HETATM 4723 C2 MOL 296 5.020 34.930 17.260 0.00 0.00 C +HETATM 4724 H2 MOL 296 4.780 35.440 16.340 0.00 0.00 H +HETATM 4725 C3 MOL 296 4.790 33.550 17.330 0.00 0.00 C +HETATM 4726 H3 MOL 296 4.390 33.010 16.480 0.00 0.00 H +HETATM 4727 C4 MOL 296 5.090 32.840 18.490 0.00 0.00 C +HETATM 4728 H4 MOL 296 4.870 31.790 18.650 0.00 0.00 H +HETATM 4729 C5 MOL 296 5.620 33.590 19.550 0.00 0.00 C +HETATM 4730 H5 MOL 296 5.780 33.000 20.440 0.00 0.00 H +HETATM 4731 C6 MOL 296 5.830 34.980 19.540 0.00 0.00 C +HETATM 4732 C7 MOL 296 6.080 35.720 20.830 0.00 0.00 C +HETATM 4733 H6 MOL 296 5.190 35.550 21.420 0.00 0.00 H +HETATM 4734 H7 MOL 296 6.360 36.760 20.680 0.00 0.00 H +HETATM 4735 O1 MOL 296 7.150 35.150 21.550 0.00 0.00 O +HETATM 4736 H8 MOL 296 6.790 34.720 22.310 0.00 0.00 H +HETATM 4737 C1 MOL 297 8.040 27.930 8.820 0.00 0.00 C +HETATM 4738 H1 MOL 297 8.570 28.710 8.280 0.00 0.00 H +HETATM 4739 C2 MOL 297 8.800 27.250 9.790 0.00 0.00 C +HETATM 4740 H2 MOL 297 9.830 27.550 9.880 0.00 0.00 H +HETATM 4741 C3 MOL 297 8.330 26.210 10.590 0.00 0.00 C +HETATM 4742 H3 MOL 297 8.920 25.670 11.310 0.00 0.00 H +HETATM 4743 C4 MOL 297 7.000 25.850 10.300 0.00 0.00 C +HETATM 4744 H4 MOL 297 6.660 25.070 10.950 0.00 0.00 H +HETATM 4745 C5 MOL 297 6.220 26.490 9.320 0.00 0.00 C +HETATM 4746 H5 MOL 297 5.200 26.200 9.130 0.00 0.00 H +HETATM 4747 C6 MOL 297 6.750 27.500 8.510 0.00 0.00 C +HETATM 4748 C7 MOL 297 5.930 28.240 7.480 0.00 0.00 C +HETATM 4749 H6 MOL 297 5.050 28.640 7.990 0.00 0.00 H +HETATM 4750 H7 MOL 297 5.640 27.520 6.720 0.00 0.00 H +HETATM 4751 O1 MOL 297 6.550 29.390 6.950 0.00 0.00 O +HETATM 4752 H8 MOL 297 5.870 29.950 6.600 0.00 0.00 H +HETATM 4753 C1 MOL 298 23.020 22.240 50.430 0.00 0.00 C +HETATM 4754 H1 MOL 298 22.260 22.450 49.690 0.00 0.00 H +HETATM 4755 C2 MOL 298 22.580 22.000 51.740 0.00 0.00 C +HETATM 4756 H2 MOL 298 21.550 21.950 52.040 0.00 0.00 H +HETATM 4757 C3 MOL 298 23.520 21.410 52.590 0.00 0.00 C +HETATM 4758 H3 MOL 298 23.230 21.090 53.580 0.00 0.00 H +HETATM 4759 C4 MOL 298 24.880 21.320 52.290 0.00 0.00 C +HETATM 4760 H4 MOL 298 25.640 21.030 53.000 0.00 0.00 H +HETATM 4761 C5 MOL 298 25.310 21.740 51.020 0.00 0.00 C +HETATM 4762 H5 MOL 298 26.350 21.720 50.720 0.00 0.00 H +HETATM 4763 C6 MOL 298 24.380 22.210 50.090 0.00 0.00 C +HETATM 4764 C7 MOL 298 24.760 22.500 48.660 0.00 0.00 C +HETATM 4765 H6 MOL 298 23.880 22.970 48.220 0.00 0.00 H +HETATM 4766 H7 MOL 298 24.970 21.510 48.260 0.00 0.00 H +HETATM 4767 O1 MOL 298 25.820 23.400 48.480 0.00 0.00 O +HETATM 4768 H8 MOL 298 25.670 24.330 48.600 0.00 0.00 H +HETATM 4769 C1 MOL 299 20.610 22.920 38.640 0.00 0.00 C +HETATM 4770 H1 MOL 299 20.410 23.260 39.650 0.00 0.00 H +HETATM 4771 C2 MOL 299 19.510 22.510 37.880 0.00 0.00 C +HETATM 4772 H2 MOL 299 18.500 22.550 38.260 0.00 0.00 H +HETATM 4773 C3 MOL 299 19.660 22.100 36.550 0.00 0.00 C +HETATM 4774 H3 MOL 299 18.860 21.840 35.880 0.00 0.00 H +HETATM 4775 C4 MOL 299 20.950 22.130 36.000 0.00 0.00 C +HETATM 4776 H4 MOL 299 21.110 21.660 35.040 0.00 0.00 H +HETATM 4777 C5 MOL 299 22.050 22.430 36.800 0.00 0.00 C +HETATM 4778 H5 MOL 299 23.030 22.380 36.350 0.00 0.00 H +HETATM 4779 C6 MOL 299 21.910 22.840 38.130 0.00 0.00 C +HETATM 4780 C7 MOL 299 23.060 23.180 39.050 0.00 0.00 C +HETATM 4781 H6 MOL 299 22.800 23.890 39.820 0.00 0.00 H +HETATM 4782 H7 MOL 299 23.910 23.600 38.500 0.00 0.00 H +HETATM 4783 O1 MOL 299 23.300 21.940 39.670 0.00 0.00 O +HETATM 4784 H8 MOL 299 22.830 21.890 40.490 0.00 0.00 H +HETATM 4785 C1 MOL 300 6.550 37.620 48.080 0.00 0.00 C +HETATM 4786 H1 MOL 300 6.630 38.690 48.230 0.00 0.00 H +HETATM 4787 C2 MOL 300 5.890 37.110 46.950 0.00 0.00 C +HETATM 4788 H2 MOL 300 5.360 37.820 46.330 0.00 0.00 H +HETATM 4789 C3 MOL 300 5.910 35.740 46.690 0.00 0.00 C +HETATM 4790 H3 MOL 300 5.310 35.300 45.910 0.00 0.00 H +HETATM 4791 C4 MOL 300 6.590 34.870 47.560 0.00 0.00 C +HETATM 4792 H4 MOL 300 6.520 33.820 47.330 0.00 0.00 H +HETATM 4793 C5 MOL 300 7.360 35.400 48.600 0.00 0.00 C +HETATM 4794 H5 MOL 300 7.800 34.690 49.290 0.00 0.00 H +HETATM 4795 C6 MOL 300 7.310 36.770 48.880 0.00 0.00 C +HETATM 4796 C7 MOL 300 8.090 37.410 50.010 0.00 0.00 C +HETATM 4797 H6 MOL 300 8.690 36.610 50.430 0.00 0.00 H +HETATM 4798 H7 MOL 300 7.390 37.860 50.710 0.00 0.00 H +HETATM 4799 O1 MOL 300 8.900 38.450 49.500 0.00 0.00 O +HETATM 4800 H8 MOL 300 9.300 38.070 48.730 0.00 0.00 H +HETATM 4801 C1 MOL 301 41.480 20.810 39.430 0.00 0.00 C +HETATM 4802 H1 MOL 301 40.490 20.540 39.100 0.00 0.00 H +HETATM 4803 C2 MOL 301 41.710 21.800 40.390 0.00 0.00 C +HETATM 4804 H2 MOL 301 40.810 22.320 40.700 0.00 0.00 H +HETATM 4805 C3 MOL 301 42.980 22.170 40.830 0.00 0.00 C +HETATM 4806 H3 MOL 301 42.940 22.980 41.540 0.00 0.00 H +HETATM 4807 C4 MOL 301 44.060 21.560 40.180 0.00 0.00 C +HETATM 4808 H4 MOL 301 45.070 21.740 40.530 0.00 0.00 H +HETATM 4809 C5 MOL 301 43.870 20.530 39.250 0.00 0.00 C +HETATM 4810 H5 MOL 301 44.720 19.960 38.920 0.00 0.00 H +HETATM 4811 C6 MOL 301 42.580 20.070 38.970 0.00 0.00 C +HETATM 4812 C7 MOL 301 42.400 18.920 38.010 0.00 0.00 C +HETATM 4813 H6 MOL 301 42.870 19.060 37.040 0.00 0.00 H +HETATM 4814 H7 MOL 301 41.330 18.730 37.880 0.00 0.00 H +HETATM 4815 O1 MOL 301 42.940 17.760 38.600 0.00 0.00 O +HETATM 4816 H8 MOL 301 42.650 17.750 39.500 0.00 0.00 H +HETATM 4817 C1 MOL 302 39.910 32.630 40.620 0.00 0.00 C +HETATM 4818 H1 MOL 302 39.950 32.470 39.560 0.00 0.00 H +HETATM 4819 C2 MOL 302 39.760 33.960 41.010 0.00 0.00 C +HETATM 4820 H2 MOL 302 39.690 34.770 40.300 0.00 0.00 H +HETATM 4821 C3 MOL 302 39.700 34.290 42.370 0.00 0.00 C +HETATM 4822 H3 MOL 302 39.760 35.340 42.640 0.00 0.00 H +HETATM 4823 C4 MOL 302 39.610 33.300 43.350 0.00 0.00 C +HETATM 4824 H4 MOL 302 39.500 33.660 44.370 0.00 0.00 H +HETATM 4825 C5 MOL 302 39.840 31.980 42.950 0.00 0.00 C +HETATM 4826 H5 MOL 302 39.790 31.230 43.720 0.00 0.00 H +HETATM 4827 C6 MOL 302 40.050 31.640 41.610 0.00 0.00 C +HETATM 4828 C7 MOL 302 40.130 30.150 41.380 0.00 0.00 C +HETATM 4829 H6 MOL 302 39.750 29.510 42.170 0.00 0.00 H +HETATM 4830 H7 MOL 302 41.200 29.930 41.420 0.00 0.00 H +HETATM 4831 O1 MOL 302 39.760 29.780 40.070 0.00 0.00 O +HETATM 4832 H8 MOL 302 38.850 30.040 39.970 0.00 0.00 H +HETATM 4833 C1 MOL 303 24.500 49.850 39.870 0.00 0.00 C +HETATM 4834 H1 MOL 303 24.850 48.890 40.220 0.00 0.00 H +HETATM 4835 C2 MOL 303 24.380 50.280 38.550 0.00 0.00 C +HETATM 4836 H2 MOL 303 24.650 49.570 37.770 0.00 0.00 H +HETATM 4837 C3 MOL 303 23.750 51.470 38.170 0.00 0.00 C +HETATM 4838 H3 MOL 303 23.630 51.840 37.160 0.00 0.00 H +HETATM 4839 C4 MOL 303 23.470 52.400 39.170 0.00 0.00 C +HETATM 4840 H4 MOL 303 23.060 53.330 38.790 0.00 0.00 H +HETATM 4841 C5 MOL 303 23.680 52.080 40.520 0.00 0.00 C +HETATM 4842 H5 MOL 303 23.490 52.820 41.290 0.00 0.00 H +HETATM 4843 C6 MOL 303 24.150 50.810 40.840 0.00 0.00 C +HETATM 4844 C7 MOL 303 24.340 50.390 42.280 0.00 0.00 C +HETATM 4845 H6 MOL 303 24.880 51.150 42.850 0.00 0.00 H +HETATM 4846 H7 MOL 303 24.970 49.510 42.330 0.00 0.00 H +HETATM 4847 O1 MOL 303 23.120 50.120 42.930 0.00 0.00 O +HETATM 4848 H8 MOL 303 22.670 50.930 43.140 0.00 0.00 H +HETATM 4849 C1 MOL 304 3.140 50.620 9.470 0.00 0.00 C +HETATM 4850 H1 MOL 304 2.800 51.540 9.020 0.00 0.00 H +HETATM 4851 C2 MOL 304 4.410 50.100 9.170 0.00 0.00 C +HETATM 4852 H2 MOL 304 5.070 50.620 8.490 0.00 0.00 H +HETATM 4853 C3 MOL 304 4.850 48.900 9.740 0.00 0.00 C +HETATM 4854 H3 MOL 304 5.830 48.630 9.400 0.00 0.00 H +HETATM 4855 C4 MOL 304 4.140 48.330 10.810 0.00 0.00 C +HETATM 4856 H4 MOL 304 4.510 47.430 11.270 0.00 0.00 H +HETATM 4857 C5 MOL 304 2.940 48.940 11.180 0.00 0.00 C +HETATM 4858 H5 MOL 304 2.490 48.510 12.060 0.00 0.00 H +HETATM 4859 C6 MOL 304 2.400 50.050 10.500 0.00 0.00 C +HETATM 4860 C7 MOL 304 1.020 50.550 10.850 0.00 0.00 C +HETATM 4861 H6 MOL 304 0.400 49.880 11.440 0.00 0.00 H +HETATM 4862 H7 MOL 304 0.440 50.720 9.950 0.00 0.00 H +HETATM 4863 O1 MOL 304 1.370 51.730 11.550 0.00 0.00 O +HETATM 4864 H8 MOL 304 2.130 51.590 12.090 0.00 0.00 H +HETATM 4865 C1 MOL 305 37.470 45.090 33.430 0.00 0.00 C +HETATM 4866 H1 MOL 305 36.510 45.400 33.050 0.00 0.00 H +HETATM 4867 C2 MOL 305 38.040 43.980 32.790 0.00 0.00 C +HETATM 4868 H2 MOL 305 37.470 43.360 32.120 0.00 0.00 H +HETATM 4869 C3 MOL 305 39.340 43.570 33.130 0.00 0.00 C +HETATM 4870 H3 MOL 305 39.770 42.680 32.700 0.00 0.00 H +HETATM 4871 C4 MOL 305 40.050 44.280 34.110 0.00 0.00 C +HETATM 4872 H4 MOL 305 40.990 43.840 34.410 0.00 0.00 H +HETATM 4873 C5 MOL 305 39.470 45.400 34.720 0.00 0.00 C +HETATM 4874 H5 MOL 305 40.120 45.980 35.360 0.00 0.00 H +HETATM 4875 C6 MOL 305 38.210 45.870 34.330 0.00 0.00 C +HETATM 4876 C7 MOL 305 37.640 47.180 34.820 0.00 0.00 C +HETATM 4877 H6 MOL 305 38.330 47.500 35.600 0.00 0.00 H +HETATM 4878 H7 MOL 305 36.690 47.050 35.340 0.00 0.00 H +HETATM 4879 O1 MOL 305 37.620 48.230 33.890 0.00 0.00 O +HETATM 4880 H8 MOL 305 36.790 48.370 33.450 0.00 0.00 H +HETATM 4881 C1 MOL 306 31.100 36.680 15.160 0.00 0.00 C +HETATM 4882 H1 MOL 306 32.040 37.090 14.810 0.00 0.00 H +HETATM 4883 C2 MOL 306 31.080 35.460 15.840 0.00 0.00 C +HETATM 4884 H2 MOL 306 31.990 34.900 15.980 0.00 0.00 H +HETATM 4885 C3 MOL 306 29.830 34.900 16.150 0.00 0.00 C +HETATM 4886 H3 MOL 306 29.650 33.870 16.440 0.00 0.00 H +HETATM 4887 C4 MOL 306 28.660 35.630 15.910 0.00 0.00 C +HETATM 4888 H4 MOL 306 27.770 35.170 16.300 0.00 0.00 H +HETATM 4889 C5 MOL 306 28.700 36.810 15.150 0.00 0.00 C +HETATM 4890 H5 MOL 306 27.780 37.340 14.950 0.00 0.00 H +HETATM 4891 C6 MOL 306 29.940 37.360 14.790 0.00 0.00 C +HETATM 4892 C7 MOL 306 30.110 38.710 14.130 0.00 0.00 C +HETATM 4893 H6 MOL 306 29.210 38.920 13.550 0.00 0.00 H +HETATM 4894 H7 MOL 306 30.870 38.630 13.350 0.00 0.00 H +HETATM 4895 O1 MOL 306 30.300 39.710 15.110 0.00 0.00 O +HETATM 4896 H8 MOL 306 29.530 40.230 15.280 0.00 0.00 H +HETATM 4897 C1 MOL 307 51.810 2.970 37.950 0.00 0.00 C +HETATM 4898 H1 MOL 307 52.040 3.460 38.890 0.00 0.00 H +HETATM 4899 C2 MOL 307 50.670 2.160 37.920 0.00 0.00 C +HETATM 4900 H2 MOL 307 49.980 1.900 38.700 0.00 0.00 H +HETATM 4901 C3 MOL 307 50.160 1.780 36.670 0.00 0.00 C +HETATM 4902 H3 MOL 307 49.290 1.140 36.620 0.00 0.00 H +HETATM 4903 C4 MOL 307 50.810 2.130 35.480 0.00 0.00 C +HETATM 4904 H4 MOL 307 50.540 1.820 34.480 0.00 0.00 H +HETATM 4905 C5 MOL 307 51.990 2.880 35.490 0.00 0.00 C +HETATM 4906 H5 MOL 307 52.640 3.040 34.640 0.00 0.00 H +HETATM 4907 C6 MOL 307 52.430 3.330 36.740 0.00 0.00 C +HETATM 4908 C7 MOL 307 53.640 4.220 36.800 0.00 0.00 C +HETATM 4909 H6 MOL 307 53.480 5.080 37.450 0.00 0.00 H +HETATM 4910 H7 MOL 307 53.860 4.650 35.820 0.00 0.00 H +HETATM 4911 O1 MOL 307 54.740 3.540 37.370 0.00 0.00 O +HETATM 4912 H8 MOL 307 54.470 2.680 37.630 0.00 0.00 H +HETATM 4913 C1 MOL 308 53.700 44.430 4.220 0.00 0.00 C +HETATM 4914 H1 MOL 308 53.280 44.360 3.230 0.00 0.00 H +HETATM 4915 C2 MOL 308 53.530 43.500 5.250 0.00 0.00 C +HETATM 4916 H2 MOL 308 52.990 42.610 4.970 0.00 0.00 H +HETATM 4917 C3 MOL 308 54.080 43.730 6.520 0.00 0.00 C +HETATM 4918 H3 MOL 308 54.010 43.060 7.350 0.00 0.00 H +HETATM 4919 C4 MOL 308 54.760 44.920 6.840 0.00 0.00 C +HETATM 4920 H4 MOL 308 55.270 45.100 7.770 0.00 0.00 H +HETATM 4921 C5 MOL 308 54.870 45.860 5.810 0.00 0.00 C +HETATM 4922 H5 MOL 308 55.520 46.710 5.930 0.00 0.00 H +HETATM 4923 C6 MOL 308 54.400 45.600 4.510 0.00 0.00 C +HETATM 4924 C7 MOL 308 54.620 46.660 3.450 0.00 0.00 C +HETATM 4925 H6 MOL 308 54.760 47.600 3.980 0.00 0.00 H +HETATM 4926 H7 MOL 308 53.920 46.720 2.630 0.00 0.00 H +HETATM 4927 O1 MOL 308 55.900 46.520 2.870 0.00 0.00 O +HETATM 4928 H8 MOL 308 56.080 45.610 2.680 0.00 0.00 H +HETATM 4929 C1 MOL 309 5.310 21.170 43.030 0.00 0.00 C +HETATM 4930 H1 MOL 309 4.250 21.350 42.940 0.00 0.00 H +HETATM 4931 C2 MOL 309 6.150 21.730 42.060 0.00 0.00 C +HETATM 4932 H2 MOL 309 5.750 22.130 41.140 0.00 0.00 H +HETATM 4933 C3 MOL 309 7.520 21.460 42.090 0.00 0.00 C +HETATM 4934 H3 MOL 309 8.190 21.840 41.330 0.00 0.00 H +HETATM 4935 C4 MOL 309 7.970 20.720 43.180 0.00 0.00 C +HETATM 4936 H4 MOL 309 8.980 20.320 43.220 0.00 0.00 H +HETATM 4937 C5 MOL 309 7.170 20.190 44.210 0.00 0.00 C +HETATM 4938 H5 MOL 309 7.650 19.520 44.910 0.00 0.00 H +HETATM 4939 C6 MOL 309 5.790 20.420 44.110 0.00 0.00 C +HETATM 4940 C7 MOL 309 4.870 19.930 45.200 0.00 0.00 C +HETATM 4941 H6 MOL 309 4.080 20.670 45.320 0.00 0.00 H +HETATM 4942 H7 MOL 309 5.400 19.930 46.150 0.00 0.00 H +HETATM 4943 O1 MOL 309 4.270 18.670 44.980 0.00 0.00 O +HETATM 4944 H8 MOL 309 4.100 18.600 44.050 0.00 0.00 H +HETATM 4945 C1 MOL 310 6.590 28.490 13.890 0.00 0.00 C +HETATM 4946 H1 MOL 310 7.120 27.850 13.200 0.00 0.00 H +HETATM 4947 C2 MOL 310 7.180 29.020 15.050 0.00 0.00 C +HETATM 4948 H2 MOL 310 8.230 28.780 15.120 0.00 0.00 H +HETATM 4949 C3 MOL 310 6.380 29.680 15.990 0.00 0.00 C +HETATM 4950 H3 MOL 310 6.770 29.830 16.990 0.00 0.00 H +HETATM 4951 C4 MOL 310 5.050 29.960 15.660 0.00 0.00 C +HETATM 4952 H4 MOL 310 4.420 30.500 16.360 0.00 0.00 H +HETATM 4953 C5 MOL 310 4.500 29.510 14.450 0.00 0.00 C +HETATM 4954 H5 MOL 310 3.430 29.530 14.310 0.00 0.00 H +HETATM 4955 C6 MOL 310 5.240 28.690 13.600 0.00 0.00 C +HETATM 4956 C7 MOL 310 4.490 28.060 12.440 0.00 0.00 C +HETATM 4957 H6 MOL 310 3.840 27.240 12.730 0.00 0.00 H +HETATM 4958 H7 MOL 310 5.230 27.700 11.720 0.00 0.00 H +HETATM 4959 O1 MOL 310 3.800 29.050 11.720 0.00 0.00 O +HETATM 4960 H8 MOL 310 2.880 28.880 11.820 0.00 0.00 H +HETATM 4961 C1 MOL 311 40.350 4.510 10.380 0.00 0.00 C +HETATM 4962 H1 MOL 311 39.930 3.600 10.790 0.00 0.00 H +HETATM 4963 C2 MOL 311 39.650 5.040 9.290 0.00 0.00 C +HETATM 4964 H2 MOL 311 38.860 4.480 8.810 0.00 0.00 H +HETATM 4965 C3 MOL 311 40.030 6.270 8.750 0.00 0.00 C +HETATM 4966 H3 MOL 311 39.520 6.750 7.930 0.00 0.00 H +HETATM 4967 C4 MOL 311 41.130 6.970 9.260 0.00 0.00 C +HETATM 4968 H4 MOL 311 41.470 7.890 8.800 0.00 0.00 H +HETATM 4969 C5 MOL 311 41.700 6.520 10.460 0.00 0.00 C +HETATM 4970 H5 MOL 311 42.380 7.110 11.050 0.00 0.00 H +HETATM 4971 C6 MOL 311 41.340 5.280 11.000 0.00 0.00 C +HETATM 4972 C7 MOL 311 42.010 4.740 12.230 0.00 0.00 C +HETATM 4973 H6 MOL 311 42.990 5.210 12.230 0.00 0.00 H +HETATM 4974 H7 MOL 311 42.140 3.660 12.280 0.00 0.00 H +HETATM 4975 O1 MOL 311 41.230 5.230 13.300 0.00 0.00 O +HETATM 4976 H8 MOL 311 41.330 6.160 13.420 0.00 0.00 H +HETATM 4977 C1 MOL 312 12.010 10.890 7.830 0.00 0.00 C +HETATM 4978 H1 MOL 312 11.890 10.590 8.860 0.00 0.00 H +HETATM 4979 C2 MOL 312 13.260 10.570 7.290 0.00 0.00 C +HETATM 4980 H2 MOL 312 14.090 10.290 7.930 0.00 0.00 H +HETATM 4981 C3 MOL 312 13.490 10.690 5.920 0.00 0.00 C +HETATM 4982 H3 MOL 312 14.410 10.320 5.490 0.00 0.00 H +HETATM 4983 C4 MOL 312 12.510 11.340 5.160 0.00 0.00 C +HETATM 4984 H4 MOL 312 12.770 11.360 4.110 0.00 0.00 H +HETATM 4985 C5 MOL 312 11.230 11.590 5.680 0.00 0.00 C +HETATM 4986 H5 MOL 312 10.440 11.920 5.020 0.00 0.00 H +HETATM 4987 C6 MOL 312 10.940 11.290 7.020 0.00 0.00 C +HETATM 4988 C7 MOL 312 9.540 11.460 7.550 0.00 0.00 C +HETATM 4989 H6 MOL 312 9.470 11.190 8.610 0.00 0.00 H +HETATM 4990 H7 MOL 312 9.000 10.690 7.000 0.00 0.00 H +HETATM 4991 O1 MOL 312 9.100 12.790 7.400 0.00 0.00 O +HETATM 4992 H8 MOL 312 8.810 12.870 6.510 0.00 0.00 H +HETATM 4993 C1 MOL 313 0.960 51.930 19.900 0.00 0.00 C +HETATM 4994 H1 MOL 313 0.590 51.490 18.980 0.00 0.00 H +HETATM 4995 C2 MOL 313 0.020 52.270 20.870 0.00 0.00 C +HETATM 4996 H2 MOL 313 -1.040 52.220 20.660 0.00 0.00 H +HETATM 4997 C3 MOL 313 0.410 52.790 22.110 0.00 0.00 C +HETATM 4998 H3 MOL 313 -0.310 53.060 22.870 0.00 0.00 H +HETATM 4999 C4 MOL 313 1.780 52.930 22.370 0.00 0.00 C +HETATM 5000 H4 MOL 313 2.010 53.390 23.320 0.00 0.00 H +HETATM 5001 C5 MOL 313 2.730 52.540 21.410 0.00 0.00 C +HETATM 5002 H5 MOL 313 3.780 52.480 21.650 0.00 0.00 H +HETATM 5003 C6 MOL 313 2.330 51.980 20.190 0.00 0.00 C +HETATM 5004 C7 MOL 313 3.360 51.380 19.260 0.00 0.00 C +HETATM 5005 H6 MOL 313 3.070 50.550 18.610 0.00 0.00 H +HETATM 5006 H7 MOL 313 4.210 51.050 19.850 0.00 0.00 H +HETATM 5007 O1 MOL 313 3.910 52.450 18.530 0.00 0.00 O +HETATM 5008 H8 MOL 313 3.400 52.700 17.770 0.00 0.00 H +HETATM 5009 C1 MOL 314 53.650 39.330 53.880 0.00 0.00 C +HETATM 5010 H1 MOL 314 53.030 40.100 53.450 0.00 0.00 H +HETATM 5011 C2 MOL 314 54.700 39.720 54.720 0.00 0.00 C +HETATM 5012 H2 MOL 314 54.940 40.770 54.740 0.00 0.00 H +HETATM 5013 C3 MOL 314 55.480 38.780 55.400 0.00 0.00 C +HETATM 5014 H3 MOL 314 56.250 39.240 56.000 0.00 0.00 H +HETATM 5015 C4 MOL 314 55.140 37.430 55.300 0.00 0.00 C +HETATM 5016 H4 MOL 314 55.780 36.690 55.770 0.00 0.00 H +HETATM 5017 C5 MOL 314 54.000 37.040 54.580 0.00 0.00 C +HETATM 5018 H5 MOL 314 53.880 35.970 54.550 0.00 0.00 H +HETATM 5019 C6 MOL 314 53.270 37.980 53.840 0.00 0.00 C +HETATM 5020 C7 MOL 314 52.040 37.500 53.100 0.00 0.00 C +HETATM 5021 H6 MOL 314 51.090 37.990 53.320 0.00 0.00 H +HETATM 5022 H7 MOL 314 51.860 36.430 53.170 0.00 0.00 H +HETATM 5023 O1 MOL 314 52.230 37.530 51.710 0.00 0.00 O +HETATM 5024 H8 MOL 314 52.780 36.780 51.520 0.00 0.00 H +HETATM 5025 C1 MOL 315 29.270 26.850 2.740 0.00 0.00 C +HETATM 5026 H1 MOL 315 29.710 25.890 2.960 0.00 0.00 H +HETATM 5027 C2 MOL 315 29.980 28.000 3.110 0.00 0.00 C +HETATM 5028 H2 MOL 315 30.890 27.780 3.650 0.00 0.00 H +HETATM 5029 C3 MOL 315 29.410 29.230 2.740 0.00 0.00 C +HETATM 5030 H3 MOL 315 29.960 30.120 3.010 0.00 0.00 H +HETATM 5031 C4 MOL 315 28.230 29.300 2.000 0.00 0.00 C +HETATM 5032 H4 MOL 315 27.790 30.250 1.710 0.00 0.00 H +HETATM 5033 C5 MOL 315 27.500 28.130 1.790 0.00 0.00 C +HETATM 5034 H5 MOL 315 26.610 28.200 1.190 0.00 0.00 H +HETATM 5035 C6 MOL 315 28.030 26.870 2.100 0.00 0.00 C +HETATM 5036 C7 MOL 315 27.320 25.570 1.800 0.00 0.00 C +HETATM 5037 H6 MOL 315 28.080 24.860 1.490 0.00 0.00 H +HETATM 5038 H7 MOL 315 26.700 25.660 0.910 0.00 0.00 H +HETATM 5039 O1 MOL 315 26.610 25.100 2.930 0.00 0.00 O +HETATM 5040 H8 MOL 315 25.810 25.600 3.020 0.00 0.00 H +HETATM 5041 C1 MOL 316 9.320 23.330 30.310 0.00 0.00 C +HETATM 5042 H1 MOL 316 10.010 22.510 30.220 0.00 0.00 H +HETATM 5043 C2 MOL 316 8.290 23.360 29.360 0.00 0.00 C +HETATM 5044 H2 MOL 316 8.210 22.710 28.500 0.00 0.00 H +HETATM 5045 C3 MOL 316 7.270 24.310 29.500 0.00 0.00 C +HETATM 5046 H3 MOL 316 6.400 24.320 28.850 0.00 0.00 H +HETATM 5047 C4 MOL 316 7.400 25.250 30.520 0.00 0.00 C +HETATM 5048 H4 MOL 316 6.580 25.950 30.600 0.00 0.00 H +HETATM 5049 C5 MOL 316 8.510 25.330 31.370 0.00 0.00 C +HETATM 5050 H5 MOL 316 8.710 26.040 32.160 0.00 0.00 H +HETATM 5051 C6 MOL 316 9.470 24.310 31.290 0.00 0.00 C +HETATM 5052 C7 MOL 316 10.650 24.310 32.240 0.00 0.00 C +HETATM 5053 H6 MOL 316 10.510 23.440 32.880 0.00 0.00 H +HETATM 5054 H7 MOL 316 10.720 25.180 32.900 0.00 0.00 H +HETATM 5055 O1 MOL 316 11.850 24.230 31.500 0.00 0.00 O +HETATM 5056 H8 MOL 316 11.700 24.730 30.720 0.00 0.00 H +HETATM 5057 C1 MOL 317 36.180 46.700 18.970 0.00 0.00 C +HETATM 5058 H1 MOL 317 36.200 46.910 17.910 0.00 0.00 H +HETATM 5059 C2 MOL 317 37.450 46.820 19.530 0.00 0.00 C +HETATM 5060 H2 MOL 317 38.290 47.090 18.900 0.00 0.00 H +HETATM 5061 C3 MOL 317 37.630 46.490 20.880 0.00 0.00 C +HETATM 5062 H3 MOL 317 38.600 46.480 21.350 0.00 0.00 H +HETATM 5063 C4 MOL 317 36.520 46.210 21.680 0.00 0.00 C +HETATM 5064 H4 MOL 317 36.730 45.980 22.720 0.00 0.00 H +HETATM 5065 C5 MOL 317 35.230 46.160 21.130 0.00 0.00 C +HETATM 5066 H5 MOL 317 34.340 45.910 21.690 0.00 0.00 H +HETATM 5067 C6 MOL 317 35.060 46.410 19.770 0.00 0.00 C +HETATM 5068 C7 MOL 317 33.670 46.380 19.190 0.00 0.00 C +HETATM 5069 H6 MOL 317 33.630 46.990 18.280 0.00 0.00 H +HETATM 5070 H7 MOL 317 32.950 46.790 19.900 0.00 0.00 H +HETATM 5071 O1 MOL 317 33.640 45.010 18.850 0.00 0.00 O +HETATM 5072 H8 MOL 317 33.370 45.020 17.950 0.00 0.00 H +HETATM 5073 C1 MOL 318 48.560 9.740 46.830 0.00 0.00 C +HETATM 5074 H1 MOL 318 48.120 10.710 46.640 0.00 0.00 H +HETATM 5075 C2 MOL 318 47.830 8.930 47.700 0.00 0.00 C +HETATM 5076 H2 MOL 318 46.830 9.060 48.090 0.00 0.00 H +HETATM 5077 C3 MOL 318 48.500 7.760 48.090 0.00 0.00 C +HETATM 5078 H3 MOL 318 48.050 7.160 48.870 0.00 0.00 H +HETATM 5079 C4 MOL 318 49.730 7.370 47.540 0.00 0.00 C +HETATM 5080 H4 MOL 318 50.220 6.420 47.600 0.00 0.00 H +HETATM 5081 C5 MOL 318 50.400 8.240 46.660 0.00 0.00 C +HETATM 5082 H5 MOL 318 51.360 7.950 46.260 0.00 0.00 H +HETATM 5083 C6 MOL 318 49.860 9.490 46.360 0.00 0.00 C +HETATM 5084 C7 MOL 318 50.550 10.530 45.520 0.00 0.00 C +HETATM 5085 H6 MOL 318 50.260 11.480 45.960 0.00 0.00 H +HETATM 5086 H7 MOL 318 50.040 10.420 44.570 0.00 0.00 H +HETATM 5087 O1 MOL 318 51.930 10.400 45.240 0.00 0.00 O +HETATM 5088 H8 MOL 318 51.990 9.530 44.880 0.00 0.00 H +HETATM 5089 C1 MOL 319 9.440 12.410 31.400 0.00 0.00 C +HETATM 5090 H1 MOL 319 9.740 11.760 30.590 0.00 0.00 H +HETATM 5091 C2 MOL 319 9.020 13.710 31.060 0.00 0.00 C +HETATM 5092 H2 MOL 319 8.850 13.970 30.030 0.00 0.00 H +HETATM 5093 C3 MOL 319 8.830 14.670 32.070 0.00 0.00 C +HETATM 5094 H3 MOL 319 8.550 15.680 31.820 0.00 0.00 H +HETATM 5095 C4 MOL 319 8.950 14.260 33.400 0.00 0.00 C +HETATM 5096 H4 MOL 319 8.680 14.900 34.220 0.00 0.00 H +HETATM 5097 C5 MOL 319 9.450 12.990 33.720 0.00 0.00 C +HETATM 5098 H5 MOL 319 9.570 12.810 34.780 0.00 0.00 H +HETATM 5099 C6 MOL 319 9.660 12.020 32.720 0.00 0.00 C +HETATM 5100 C7 MOL 319 10.240 10.690 33.140 0.00 0.00 C +HETATM 5101 H6 MOL 319 11.190 10.920 33.630 0.00 0.00 H +HETATM 5102 H7 MOL 319 10.530 10.100 32.270 0.00 0.00 H +HETATM 5103 O1 MOL 319 9.190 10.060 33.850 0.00 0.00 O +HETATM 5104 H8 MOL 319 9.200 10.360 34.740 0.00 0.00 H +HETATM 5105 C1 MOL 320 27.220 22.290 43.060 0.00 0.00 C +HETATM 5106 H1 MOL 320 26.340 21.740 43.350 0.00 0.00 H +HETATM 5107 C2 MOL 320 28.280 22.090 43.960 0.00 0.00 C +HETATM 5108 H2 MOL 320 28.100 21.470 44.820 0.00 0.00 H +HETATM 5109 C3 MOL 320 29.540 22.620 43.680 0.00 0.00 C +HETATM 5110 H3 MOL 320 30.290 22.370 44.420 0.00 0.00 H +HETATM 5111 C4 MOL 320 29.700 23.470 42.580 0.00 0.00 C +HETATM 5112 H4 MOL 320 30.660 23.950 42.400 0.00 0.00 H +HETATM 5113 C5 MOL 320 28.660 23.620 41.660 0.00 0.00 C +HETATM 5114 H5 MOL 320 28.850 24.150 40.730 0.00 0.00 H +HETATM 5115 C6 MOL 320 27.400 23.070 41.920 0.00 0.00 C +HETATM 5116 C7 MOL 320 26.260 23.200 40.930 0.00 0.00 C +HETATM 5117 H6 MOL 320 25.600 22.330 40.970 0.00 0.00 H +HETATM 5118 H7 MOL 320 26.580 23.230 39.890 0.00 0.00 H +HETATM 5119 O1 MOL 320 25.480 24.290 41.370 0.00 0.00 O +HETATM 5120 H8 MOL 320 25.850 25.110 41.080 0.00 0.00 H +HETATM 5121 C1 MOL 321 43.130 34.810 40.820 0.00 0.00 C +HETATM 5122 H1 MOL 321 42.540 35.490 41.430 0.00 0.00 H +HETATM 5123 C2 MOL 321 43.000 34.720 39.430 0.00 0.00 C +HETATM 5124 H2 MOL 321 42.540 35.500 38.840 0.00 0.00 H +HETATM 5125 C3 MOL 321 43.660 33.690 38.740 0.00 0.00 C +HETATM 5126 H3 MOL 321 43.520 33.630 37.670 0.00 0.00 H +HETATM 5127 C4 MOL 321 44.180 32.610 39.470 0.00 0.00 C +HETATM 5128 H4 MOL 321 44.540 31.720 38.970 0.00 0.00 H +HETATM 5129 C5 MOL 321 44.280 32.670 40.860 0.00 0.00 C +HETATM 5130 H5 MOL 321 44.710 31.850 41.430 0.00 0.00 H +HETATM 5131 C6 MOL 321 43.730 33.760 41.540 0.00 0.00 C +HETATM 5132 C7 MOL 321 43.690 33.830 43.040 0.00 0.00 C +HETATM 5133 H6 MOL 321 44.060 32.870 43.390 0.00 0.00 H +HETATM 5134 H7 MOL 321 42.710 33.990 43.500 0.00 0.00 H +HETATM 5135 O1 MOL 321 44.570 34.860 43.460 0.00 0.00 O +HETATM 5136 H8 MOL 321 45.190 35.030 42.760 0.00 0.00 H +HETATM 5137 C1 MOL 322 22.270 54.470 24.010 0.00 0.00 C +HETATM 5138 H1 MOL 322 21.930 53.750 24.740 0.00 0.00 H +HETATM 5139 C2 MOL 322 23.240 54.190 23.040 0.00 0.00 C +HETATM 5140 H2 MOL 322 23.670 53.200 23.030 0.00 0.00 H +HETATM 5141 C3 MOL 322 23.540 55.110 22.030 0.00 0.00 C +HETATM 5142 H3 MOL 322 24.260 54.800 21.280 0.00 0.00 H +HETATM 5143 C4 MOL 322 22.970 56.390 22.090 0.00 0.00 C +HETATM 5144 H4 MOL 322 23.220 57.180 21.390 0.00 0.00 H +HETATM 5145 C5 MOL 322 22.040 56.730 23.080 0.00 0.00 C +HETATM 5146 H5 MOL 322 21.720 57.760 23.120 0.00 0.00 H +HETATM 5147 C6 MOL 322 21.680 55.740 24.000 0.00 0.00 C +HETATM 5148 C7 MOL 322 20.660 56.080 25.050 0.00 0.00 C +HETATM 5149 H6 MOL 322 20.820 57.090 25.430 0.00 0.00 H +HETATM 5150 H7 MOL 322 20.660 55.230 25.730 0.00 0.00 H +HETATM 5151 O1 MOL 322 19.470 56.210 24.300 0.00 0.00 O +HETATM 5152 H8 MOL 322 19.270 57.080 23.990 0.00 0.00 H +HETATM 5153 C1 MOL 323 49.020 20.090 49.230 0.00 0.00 C +HETATM 5154 H1 MOL 323 50.090 20.150 49.110 0.00 0.00 H +HETATM 5155 C2 MOL 323 48.460 19.150 50.110 0.00 0.00 C +HETATM 5156 H2 MOL 323 49.170 18.530 50.630 0.00 0.00 H +HETATM 5157 C3 MOL 323 47.110 19.170 50.470 0.00 0.00 C +HETATM 5158 H3 MOL 323 46.850 18.370 51.150 0.00 0.00 H +HETATM 5159 C4 MOL 323 46.290 20.030 49.740 0.00 0.00 C +HETATM 5160 H4 MOL 323 45.220 19.930 49.890 0.00 0.00 H +HETATM 5161 C5 MOL 323 46.790 20.940 48.790 0.00 0.00 C +HETATM 5162 H5 MOL 323 46.090 21.510 48.190 0.00 0.00 H +HETATM 5163 C6 MOL 323 48.170 21.010 48.600 0.00 0.00 C +HETATM 5164 C7 MOL 323 48.710 22.030 47.620 0.00 0.00 C +HETATM 5165 H6 MOL 323 47.940 22.340 46.910 0.00 0.00 H +HETATM 5166 H7 MOL 323 49.640 21.710 47.160 0.00 0.00 H +HETATM 5167 O1 MOL 323 49.070 23.030 48.540 0.00 0.00 O +HETATM 5168 H8 MOL 323 48.780 22.540 49.300 0.00 0.00 H +HETATM 5169 C1 MOL 324 1.940 43.880 23.470 0.00 0.00 C +HETATM 5170 H1 MOL 324 0.920 43.980 23.130 0.00 0.00 H +HETATM 5171 C2 MOL 324 2.880 42.970 22.970 0.00 0.00 C +HETATM 5172 H2 MOL 324 2.560 42.490 22.050 0.00 0.00 H +HETATM 5173 C3 MOL 324 4.210 42.960 23.380 0.00 0.00 C +HETATM 5174 H3 MOL 324 4.980 42.430 22.830 0.00 0.00 H +HETATM 5175 C4 MOL 324 4.530 43.760 24.480 0.00 0.00 C +HETATM 5176 H4 MOL 324 5.500 43.700 24.960 0.00 0.00 H +HETATM 5177 C5 MOL 324 3.570 44.570 25.090 0.00 0.00 C +HETATM 5178 H5 MOL 324 3.900 45.040 26.010 0.00 0.00 H +HETATM 5179 C6 MOL 324 2.250 44.620 24.620 0.00 0.00 C +HETATM 5180 C7 MOL 324 1.230 45.650 25.040 0.00 0.00 C +HETATM 5181 H6 MOL 324 0.650 46.040 24.200 0.00 0.00 H +HETATM 5182 H7 MOL 324 1.620 46.590 25.420 0.00 0.00 H +HETATM 5183 O1 MOL 324 0.430 45.120 26.070 0.00 0.00 O +HETATM 5184 H8 MOL 324 -0.170 44.420 25.870 0.00 0.00 H +HETATM 5185 C1 MOL 325 0.350 24.440 50.410 0.00 0.00 C +HETATM 5186 H1 MOL 325 1.230 24.580 51.020 0.00 0.00 H +HETATM 5187 C2 MOL 325 0.510 23.700 49.230 0.00 0.00 C +HETATM 5188 H2 MOL 325 1.530 23.430 49.010 0.00 0.00 H +HETATM 5189 C3 MOL 325 -0.610 23.330 48.470 0.00 0.00 C +HETATM 5190 H3 MOL 325 -0.370 22.620 47.690 0.00 0.00 H +HETATM 5191 C4 MOL 325 -1.900 23.720 48.830 0.00 0.00 C +HETATM 5192 H4 MOL 325 -2.760 23.350 48.280 0.00 0.00 H +HETATM 5193 C5 MOL 325 -2.020 24.460 50.010 0.00 0.00 C +HETATM 5194 H5 MOL 325 -3.030 24.610 50.370 0.00 0.00 H +HETATM 5195 C6 MOL 325 -0.930 24.890 50.760 0.00 0.00 C +HETATM 5196 C7 MOL 325 -1.240 25.620 52.050 0.00 0.00 C +HETATM 5197 H6 MOL 325 -2.060 26.310 51.850 0.00 0.00 H +HETATM 5198 H7 MOL 325 -0.390 26.190 52.440 0.00 0.00 H +HETATM 5199 O1 MOL 325 -1.520 24.720 53.090 0.00 0.00 O +HETATM 5200 H8 MOL 325 -2.450 24.560 53.180 0.00 0.00 H +HETATM 5201 C1 MOL 326 21.170 9.410 28.960 0.00 0.00 C +HETATM 5202 H1 MOL 326 20.360 8.730 29.130 0.00 0.00 H +HETATM 5203 C2 MOL 326 21.140 10.570 28.170 0.00 0.00 C +HETATM 5204 H2 MOL 326 20.210 10.830 27.690 0.00 0.00 H +HETATM 5205 C3 MOL 326 22.250 11.410 28.020 0.00 0.00 C +HETATM 5206 H3 MOL 326 22.210 12.260 27.370 0.00 0.00 H +HETATM 5207 C4 MOL 326 23.510 10.970 28.450 0.00 0.00 C +HETATM 5208 H4 MOL 326 24.400 11.510 28.160 0.00 0.00 H +HETATM 5209 C5 MOL 326 23.570 9.770 29.160 0.00 0.00 C +HETATM 5210 H5 MOL 326 24.540 9.460 29.510 0.00 0.00 H +HETATM 5211 C6 MOL 326 22.410 9.070 29.530 0.00 0.00 C +HETATM 5212 C7 MOL 326 22.610 7.820 30.340 0.00 0.00 C +HETATM 5213 H6 MOL 326 23.590 7.880 30.810 0.00 0.00 H +HETATM 5214 H7 MOL 326 22.590 6.970 29.660 0.00 0.00 H +HETATM 5215 O1 MOL 326 21.610 7.780 31.340 0.00 0.00 O +HETATM 5216 H8 MOL 326 21.800 8.640 31.670 0.00 0.00 H +HETATM 5217 C1 MOL 327 48.370 27.720 55.000 0.00 0.00 C +HETATM 5218 H1 MOL 327 48.630 27.620 56.040 0.00 0.00 H +HETATM 5219 C2 MOL 327 49.450 28.040 54.170 0.00 0.00 C +HETATM 5220 H2 MOL 327 50.460 28.120 54.540 0.00 0.00 H +HETATM 5221 C3 MOL 327 49.240 28.230 52.800 0.00 0.00 C +HETATM 5222 H3 MOL 327 50.070 28.440 52.140 0.00 0.00 H +HETATM 5223 C4 MOL 327 47.960 28.130 52.250 0.00 0.00 C +HETATM 5224 H4 MOL 327 47.880 28.400 51.210 0.00 0.00 H +HETATM 5225 C5 MOL 327 46.870 27.890 53.110 0.00 0.00 C +HETATM 5226 H5 MOL 327 45.870 27.860 52.720 0.00 0.00 H +HETATM 5227 C6 MOL 327 47.070 27.650 54.470 0.00 0.00 C +HETATM 5228 C7 MOL 327 45.850 27.330 55.290 0.00 0.00 C +HETATM 5229 H6 MOL 327 44.870 27.440 54.820 0.00 0.00 H +HETATM 5230 H7 MOL 327 45.860 28.040 56.120 0.00 0.00 H +HETATM 5231 O1 MOL 327 45.890 25.960 55.650 0.00 0.00 O +HETATM 5232 H8 MOL 327 46.830 25.830 55.620 0.00 0.00 H +HETATM 5233 C1 MOL 328 8.940 41.520 0.080 0.00 0.00 C +HETATM 5234 H1 MOL 328 8.800 40.520 -0.310 0.00 0.00 H +HETATM 5235 C2 MOL 328 10.210 42.080 0.250 0.00 0.00 C +HETATM 5236 H2 MOL 328 11.150 41.670 -0.080 0.00 0.00 H +HETATM 5237 C3 MOL 328 10.300 43.290 0.950 0.00 0.00 C +HETATM 5238 H3 MOL 328 11.250 43.770 1.110 0.00 0.00 H +HETATM 5239 C4 MOL 328 9.140 43.950 1.380 0.00 0.00 C +HETATM 5240 H4 MOL 328 9.220 44.940 1.790 0.00 0.00 H +HETATM 5241 C5 MOL 328 7.870 43.360 1.300 0.00 0.00 C +HETATM 5242 H5 MOL 328 6.990 43.850 1.690 0.00 0.00 H +HETATM 5243 C6 MOL 328 7.800 42.120 0.640 0.00 0.00 C +HETATM 5244 C7 MOL 328 6.490 41.370 0.700 0.00 0.00 C +HETATM 5245 H6 MOL 328 6.250 41.300 1.760 0.00 0.00 H +HETATM 5246 H7 MOL 328 6.640 40.410 0.210 0.00 0.00 H +HETATM 5247 O1 MOL 328 5.570 42.180 0.000 0.00 0.00 O +HETATM 5248 H8 MOL 328 5.870 43.050 0.190 0.00 0.00 H +HETATM 5249 C1 MOL 329 55.460 17.900 19.280 0.00 0.00 C +HETATM 5250 H1 MOL 329 54.850 17.080 18.940 0.00 0.00 H +HETATM 5251 C2 MOL 329 54.990 18.750 20.290 0.00 0.00 C +HETATM 5252 H2 MOL 329 54.030 18.620 20.770 0.00 0.00 H +HETATM 5253 C3 MOL 329 55.830 19.720 20.850 0.00 0.00 C +HETATM 5254 H3 MOL 329 55.450 20.350 21.630 0.00 0.00 H +HETATM 5255 C4 MOL 329 57.090 19.990 20.290 0.00 0.00 C +HETATM 5256 H4 MOL 329 57.610 20.870 20.640 0.00 0.00 H +HETATM 5257 C5 MOL 329 57.510 19.190 19.230 0.00 0.00 C +HETATM 5258 H5 MOL 329 58.460 19.440 18.760 0.00 0.00 H +HETATM 5259 C6 MOL 329 56.720 18.150 18.720 0.00 0.00 C +HETATM 5260 C7 MOL 329 57.250 17.370 17.540 0.00 0.00 C +HETATM 5261 H6 MOL 329 57.450 18.080 16.730 0.00 0.00 H +HETATM 5262 H7 MOL 329 56.560 16.650 17.100 0.00 0.00 H +HETATM 5263 O1 MOL 329 58.450 16.720 17.880 0.00 0.00 O +HETATM 5264 H8 MOL 329 58.740 16.920 18.760 0.00 0.00 H +HETATM 5265 C1 MOL 330 49.060 22.290 52.890 0.00 0.00 C +HETATM 5266 H1 MOL 330 49.980 21.720 52.850 0.00 0.00 H +HETATM 5267 C2 MOL 330 47.900 21.530 53.010 0.00 0.00 C +HETATM 5268 H2 MOL 330 47.810 20.460 53.060 0.00 0.00 H +HETATM 5269 C3 MOL 330 46.640 22.140 53.060 0.00 0.00 C +HETATM 5270 H3 MOL 330 45.790 21.480 53.210 0.00 0.00 H +HETATM 5271 C4 MOL 330 46.610 23.540 53.130 0.00 0.00 C +HETATM 5272 H4 MOL 330 45.650 24.030 53.170 0.00 0.00 H +HETATM 5273 C5 MOL 330 47.780 24.300 53.010 0.00 0.00 C +HETATM 5274 H5 MOL 330 47.670 25.380 53.020 0.00 0.00 H +HETATM 5275 C6 MOL 330 49.030 23.690 52.880 0.00 0.00 C +HETATM 5276 C7 MOL 330 50.260 24.530 52.630 0.00 0.00 C +HETATM 5277 H6 MOL 330 50.010 25.590 52.540 0.00 0.00 H +HETATM 5278 H7 MOL 330 50.770 24.250 51.700 0.00 0.00 H +HETATM 5279 O1 MOL 330 51.240 24.520 53.640 0.00 0.00 O +HETATM 5280 H8 MOL 330 50.900 24.880 54.440 0.00 0.00 H +HETATM 5281 C1 MOL 331 35.660 51.900 53.300 0.00 0.00 C +HETATM 5282 H1 MOL 331 34.890 51.360 53.830 0.00 0.00 H +HETATM 5283 C2 MOL 331 35.340 53.010 52.510 0.00 0.00 C +HETATM 5284 H2 MOL 331 34.320 53.330 52.350 0.00 0.00 H +HETATM 5285 C3 MOL 331 36.350 53.830 51.990 0.00 0.00 C +HETATM 5286 H3 MOL 331 36.210 54.740 51.430 0.00 0.00 H +HETATM 5287 C4 MOL 331 37.680 53.590 52.380 0.00 0.00 C +HETATM 5288 H4 MOL 331 38.440 54.310 52.130 0.00 0.00 H +HETATM 5289 C5 MOL 331 38.000 52.480 53.180 0.00 0.00 C +HETATM 5290 H5 MOL 331 38.980 52.160 53.490 0.00 0.00 H +HETATM 5291 C6 MOL 331 36.990 51.610 53.610 0.00 0.00 C +HETATM 5292 C7 MOL 331 37.280 50.350 54.380 0.00 0.00 C +HETATM 5293 H6 MOL 331 36.430 49.700 54.160 0.00 0.00 H +HETATM 5294 H7 MOL 331 37.290 50.340 55.470 0.00 0.00 H +HETATM 5295 O1 MOL 331 38.390 49.720 53.790 0.00 0.00 O +HETATM 5296 H8 MOL 331 38.440 50.110 52.930 0.00 0.00 H +HETATM 5297 C1 MOL 332 20.570 1.560 42.830 0.00 0.00 C +HETATM 5298 H1 MOL 332 20.620 0.660 42.230 0.00 0.00 H +HETATM 5299 C2 MOL 332 20.460 2.810 42.210 0.00 0.00 C +HETATM 5300 H2 MOL 332 20.430 3.000 41.150 0.00 0.00 H +HETATM 5301 C3 MOL 332 20.300 3.940 43.020 0.00 0.00 C +HETATM 5302 H3 MOL 332 19.950 4.890 42.640 0.00 0.00 H +HETATM 5303 C4 MOL 332 20.130 3.810 44.410 0.00 0.00 C +HETATM 5304 H4 MOL 332 20.010 4.730 44.960 0.00 0.00 H +HETATM 5305 C5 MOL 332 20.280 2.570 45.030 0.00 0.00 C +HETATM 5306 H5 MOL 332 20.210 2.500 46.110 0.00 0.00 H +HETATM 5307 C6 MOL 332 20.510 1.440 44.230 0.00 0.00 C +HETATM 5308 C7 MOL 332 20.560 0.050 44.800 0.00 0.00 C +HETATM 5309 H6 MOL 332 19.630 -0.430 44.500 0.00 0.00 H +HETATM 5310 H7 MOL 332 20.450 0.130 45.880 0.00 0.00 H +HETATM 5311 O1 MOL 332 21.790 -0.520 44.410 0.00 0.00 O +HETATM 5312 H8 MOL 332 22.490 0.100 44.590 0.00 0.00 H +HETATM 5313 C1 MOL 333 40.680 4.070 36.020 0.00 0.00 C +HETATM 5314 H1 MOL 333 40.270 5.060 36.140 0.00 0.00 H +HETATM 5315 C2 MOL 333 39.990 3.040 35.370 0.00 0.00 C +HETATM 5316 H2 MOL 333 39.010 3.200 34.950 0.00 0.00 H +HETATM 5317 C3 MOL 333 40.510 1.740 35.280 0.00 0.00 C +HETATM 5318 H3 MOL 333 39.880 1.090 34.680 0.00 0.00 H +HETATM 5319 C4 MOL 333 41.760 1.490 35.850 0.00 0.00 C +HETATM 5320 H4 MOL 333 42.090 0.460 35.870 0.00 0.00 H +HETATM 5321 C5 MOL 333 42.560 2.540 36.310 0.00 0.00 C +HETATM 5322 H5 MOL 333 43.510 2.260 36.740 0.00 0.00 H +HETATM 5323 C6 MOL 333 41.970 3.790 36.500 0.00 0.00 C +HETATM 5324 C7 MOL 333 42.780 4.770 37.320 0.00 0.00 C +HETATM 5325 H6 MOL 333 42.170 5.510 37.830 0.00 0.00 H +HETATM 5326 H7 MOL 333 43.490 5.270 36.660 0.00 0.00 H +HETATM 5327 O1 MOL 333 43.480 4.150 38.380 0.00 0.00 O +HETATM 5328 H8 MOL 333 42.770 3.790 38.890 0.00 0.00 H +HETATM 5329 C1 MOL 334 43.790 26.780 11.540 0.00 0.00 C +HETATM 5330 H1 MOL 334 43.160 27.110 10.720 0.00 0.00 H +HETATM 5331 C2 MOL 334 43.280 26.170 12.690 0.00 0.00 C +HETATM 5332 H2 MOL 334 42.210 26.080 12.790 0.00 0.00 H +HETATM 5333 C3 MOL 334 44.130 25.720 13.700 0.00 0.00 C +HETATM 5334 H3 MOL 334 43.630 25.510 14.630 0.00 0.00 H +HETATM 5335 C4 MOL 334 45.510 25.950 13.590 0.00 0.00 C +HETATM 5336 H4 MOL 334 46.120 25.740 14.450 0.00 0.00 H +HETATM 5337 C5 MOL 334 46.040 26.560 12.450 0.00 0.00 C +HETATM 5338 H5 MOL 334 47.060 26.900 12.320 0.00 0.00 H +HETATM 5339 C6 MOL 334 45.180 26.860 11.390 0.00 0.00 C +HETATM 5340 C7 MOL 334 45.760 27.600 10.200 0.00 0.00 C +HETATM 5341 H6 MOL 334 45.200 27.420 9.280 0.00 0.00 H +HETATM 5342 H7 MOL 334 46.760 27.200 10.030 0.00 0.00 H +HETATM 5343 O1 MOL 334 45.860 29.000 10.340 0.00 0.00 O +HETATM 5344 H8 MOL 334 45.010 29.300 10.050 0.00 0.00 H +HETATM 5345 C1 MOL 335 50.990 1.390 25.880 0.00 0.00 C +HETATM 5346 H1 MOL 335 50.360 0.600 25.510 0.00 0.00 H +HETATM 5347 C2 MOL 335 51.590 2.390 25.100 0.00 0.00 C +HETATM 5348 H2 MOL 335 51.590 2.360 24.020 0.00 0.00 H +HETATM 5349 C3 MOL 335 52.540 3.260 25.650 0.00 0.00 C +HETATM 5350 H3 MOL 335 53.090 3.920 24.990 0.00 0.00 H +HETATM 5351 C4 MOL 335 52.750 3.250 27.030 0.00 0.00 C +HETATM 5352 H4 MOL 335 53.440 3.930 27.520 0.00 0.00 H +HETATM 5353 C5 MOL 335 52.030 2.370 27.840 0.00 0.00 C +HETATM 5354 H5 MOL 335 52.160 2.430 28.920 0.00 0.00 H +HETATM 5355 C6 MOL 335 51.210 1.390 27.260 0.00 0.00 C +HETATM 5356 C7 MOL 335 50.320 0.530 28.120 0.00 0.00 C +HETATM 5357 H6 MOL 335 49.530 0.030 27.560 0.00 0.00 H +HETATM 5358 H7 MOL 335 49.770 1.110 28.860 0.00 0.00 H +HETATM 5359 O1 MOL 335 51.190 -0.350 28.790 0.00 0.00 O +HETATM 5360 H8 MOL 335 50.650 -1.130 28.770 0.00 0.00 H +HETATM 5361 C1 MOL 336 26.910 1.150 3.630 0.00 0.00 C +HETATM 5362 H1 MOL 336 26.680 2.100 4.100 0.00 0.00 H +HETATM 5363 C2 MOL 336 27.930 1.230 2.680 0.00 0.00 C +HETATM 5364 H2 MOL 336 28.550 2.120 2.610 0.00 0.00 H +HETATM 5365 C3 MOL 336 28.240 0.080 1.940 0.00 0.00 C +HETATM 5366 H3 MOL 336 29.080 0.140 1.260 0.00 0.00 H +HETATM 5367 C4 MOL 336 27.570 -1.120 2.220 0.00 0.00 C +HETATM 5368 H4 MOL 336 27.850 -2.000 1.660 0.00 0.00 H +HETATM 5369 C5 MOL 336 26.470 -1.150 3.090 0.00 0.00 C +HETATM 5370 H5 MOL 336 25.960 -2.100 3.050 0.00 0.00 H +HETATM 5371 C6 MOL 336 26.130 0.000 3.810 0.00 0.00 C +HETATM 5372 C7 MOL 336 24.960 0.050 4.750 0.00 0.00 C +HETATM 5373 H6 MOL 336 24.150 -0.490 4.250 0.00 0.00 H +HETATM 5374 H7 MOL 336 24.510 1.030 4.910 0.00 0.00 H +HETATM 5375 O1 MOL 336 25.260 -0.440 6.040 0.00 0.00 O +HETATM 5376 H8 MOL 336 25.580 0.280 6.550 0.00 0.00 H +HETATM 5377 C1 MOL 337 1.970 40.580 43.020 0.00 0.00 C +HETATM 5378 H1 MOL 337 2.800 40.570 43.710 0.00 0.00 H +HETATM 5379 C2 MOL 337 0.830 39.860 43.420 0.00 0.00 C +HETATM 5380 H2 MOL 337 0.900 39.310 44.340 0.00 0.00 H +HETATM 5381 C3 MOL 337 -0.390 40.070 42.770 0.00 0.00 C +HETATM 5382 H3 MOL 337 -1.260 39.530 43.120 0.00 0.00 H +HETATM 5383 C4 MOL 337 -0.440 41.040 41.760 0.00 0.00 C +HETATM 5384 H4 MOL 337 -1.400 41.240 41.310 0.00 0.00 H +HETATM 5385 C5 MOL 337 0.710 41.690 41.280 0.00 0.00 C +HETATM 5386 H5 MOL 337 0.600 42.440 40.520 0.00 0.00 H +HETATM 5387 C6 MOL 337 1.910 41.500 41.970 0.00 0.00 C +HETATM 5388 C7 MOL 337 3.150 42.300 41.650 0.00 0.00 C +HETATM 5389 H6 MOL 337 3.150 42.570 40.590 0.00 0.00 H +HETATM 5390 H7 MOL 337 4.040 41.700 41.850 0.00 0.00 H +HETATM 5391 O1 MOL 337 3.120 43.430 42.490 0.00 0.00 O +HETATM 5392 H8 MOL 337 2.250 43.760 42.400 0.00 0.00 H +HETATM 5393 C1 MOL 338 34.920 5.290 8.700 0.00 0.00 C +HETATM 5394 H1 MOL 338 35.630 5.130 9.500 0.00 0.00 H +HETATM 5395 C2 MOL 338 33.540 5.150 8.930 0.00 0.00 C +HETATM 5396 H2 MOL 338 33.280 4.850 9.940 0.00 0.00 H +HETATM 5397 C3 MOL 338 32.610 5.350 7.910 0.00 0.00 C +HETATM 5398 H3 MOL 338 31.590 5.070 8.130 0.00 0.00 H +HETATM 5399 C4 MOL 338 33.070 5.820 6.680 0.00 0.00 C +HETATM 5400 H4 MOL 338 32.400 6.060 5.860 0.00 0.00 H +HETATM 5401 C5 MOL 338 34.430 6.020 6.420 0.00 0.00 C +HETATM 5402 H5 MOL 338 34.790 6.400 5.480 0.00 0.00 H +HETATM 5403 C6 MOL 338 35.340 5.820 7.470 0.00 0.00 C +HETATM 5404 C7 MOL 338 36.780 6.150 7.200 0.00 0.00 C +HETATM 5405 H6 MOL 338 37.360 6.130 8.120 0.00 0.00 H +HETATM 5406 H7 MOL 338 36.780 7.170 6.830 0.00 0.00 H +HETATM 5407 O1 MOL 338 37.210 5.200 6.250 0.00 0.00 O +HETATM 5408 H8 MOL 338 37.150 4.380 6.700 0.00 0.00 H +HETATM 5409 C1 MOL 339 42.480 28.670 7.170 0.00 0.00 C +HETATM 5410 H1 MOL 339 43.190 29.430 6.900 0.00 0.00 H +HETATM 5411 C2 MOL 339 42.040 27.610 6.360 0.00 0.00 C +HETATM 5412 H2 MOL 339 42.340 27.450 5.340 0.00 0.00 H +HETATM 5413 C3 MOL 339 40.990 26.810 6.830 0.00 0.00 C +HETATM 5414 H3 MOL 339 40.500 26.100 6.180 0.00 0.00 H +HETATM 5415 C4 MOL 339 40.430 26.970 8.110 0.00 0.00 C +HETATM 5416 H4 MOL 339 39.680 26.300 8.500 0.00 0.00 H +HETATM 5417 C5 MOL 339 40.990 27.960 8.930 0.00 0.00 C +HETATM 5418 H5 MOL 339 40.620 28.020 9.940 0.00 0.00 H +HETATM 5419 C6 MOL 339 41.990 28.820 8.470 0.00 0.00 C +HETATM 5420 C7 MOL 339 42.280 30.050 9.300 0.00 0.00 C +HETATM 5421 H6 MOL 339 41.740 29.870 10.230 0.00 0.00 H +HETATM 5422 H7 MOL 339 41.810 30.940 8.880 0.00 0.00 H +HETATM 5423 O1 MOL 339 43.680 30.170 9.460 0.00 0.00 O +HETATM 5424 H8 MOL 339 43.870 30.890 10.040 0.00 0.00 H +HETATM 5425 C1 MOL 340 2.940 13.500 16.670 0.00 0.00 C +HETATM 5426 H1 MOL 340 2.290 14.350 16.500 0.00 0.00 H +HETATM 5427 C2 MOL 340 3.460 12.950 15.490 0.00 0.00 C +HETATM 5428 H2 MOL 340 3.330 13.340 14.490 0.00 0.00 H +HETATM 5429 C3 MOL 340 4.360 11.880 15.410 0.00 0.00 C +HETATM 5430 H3 MOL 340 4.850 11.550 14.510 0.00 0.00 H +HETATM 5431 C4 MOL 340 4.730 11.330 16.650 0.00 0.00 C +HETATM 5432 H4 MOL 340 5.550 10.640 16.700 0.00 0.00 H +HETATM 5433 C5 MOL 340 4.250 11.860 17.850 0.00 0.00 C +HETATM 5434 H5 MOL 340 4.570 11.420 18.790 0.00 0.00 H +HETATM 5435 C6 MOL 340 3.300 12.890 17.880 0.00 0.00 C +HETATM 5436 C7 MOL 340 2.950 13.520 19.210 0.00 0.00 C +HETATM 5437 H6 MOL 340 3.770 14.210 19.410 0.00 0.00 H +HETATM 5438 H7 MOL 340 2.880 12.800 20.030 0.00 0.00 H +HETATM 5439 O1 MOL 340 1.700 14.160 19.240 0.00 0.00 O +HETATM 5440 H8 MOL 340 1.950 15.000 18.870 0.00 0.00 H +HETATM 5441 C1 MOL 341 4.570 37.880 31.830 0.00 0.00 C +HETATM 5442 H1 MOL 341 3.970 37.910 32.730 0.00 0.00 H +HETATM 5443 C2 MOL 341 5.710 37.070 31.760 0.00 0.00 C +HETATM 5444 H2 MOL 341 5.860 36.380 32.570 0.00 0.00 H +HETATM 5445 C3 MOL 341 6.730 37.200 30.800 0.00 0.00 C +HETATM 5446 H3 MOL 341 7.590 36.540 30.820 0.00 0.00 H +HETATM 5447 C4 MOL 341 6.510 38.130 29.790 0.00 0.00 C +HETATM 5448 H4 MOL 341 7.330 38.260 29.090 0.00 0.00 H +HETATM 5449 C5 MOL 341 5.370 38.950 29.790 0.00 0.00 C +HETATM 5450 H5 MOL 341 5.330 39.740 29.050 0.00 0.00 H +HETATM 5451 C6 MOL 341 4.410 38.810 30.790 0.00 0.00 C +HETATM 5452 C7 MOL 341 3.240 39.760 30.720 0.00 0.00 C +HETATM 5453 H6 MOL 341 2.320 39.350 31.110 0.00 0.00 H +HETATM 5454 H7 MOL 341 2.980 40.160 29.740 0.00 0.00 H +HETATM 5455 O1 MOL 341 3.590 40.820 31.590 0.00 0.00 O +HETATM 5456 H8 MOL 341 4.500 41.040 31.460 0.00 0.00 H +HETATM 5457 C1 MOL 342 21.810 31.830 37.920 0.00 0.00 C +HETATM 5458 H1 MOL 342 22.190 32.740 37.470 0.00 0.00 H +HETATM 5459 C2 MOL 342 20.530 31.490 37.490 0.00 0.00 C +HETATM 5460 H2 MOL 342 20.040 31.950 36.640 0.00 0.00 H +HETATM 5461 C3 MOL 342 19.850 30.520 38.250 0.00 0.00 C +HETATM 5462 H3 MOL 342 18.830 30.350 37.960 0.00 0.00 H +HETATM 5463 C4 MOL 342 20.500 29.820 39.280 0.00 0.00 C +HETATM 5464 H4 MOL 342 19.990 28.990 39.730 0.00 0.00 H +HETATM 5465 C5 MOL 342 21.830 30.130 39.600 0.00 0.00 C +HETATM 5466 H5 MOL 342 22.360 29.490 40.290 0.00 0.00 H +HETATM 5467 C6 MOL 342 22.510 31.140 38.910 0.00 0.00 C +HETATM 5468 C7 MOL 342 23.920 31.540 39.290 0.00 0.00 C +HETATM 5469 H6 MOL 342 24.560 31.330 38.440 0.00 0.00 H +HETATM 5470 H7 MOL 342 24.210 30.900 40.120 0.00 0.00 H +HETATM 5471 O1 MOL 342 23.870 32.940 39.510 0.00 0.00 O +HETATM 5472 H8 MOL 342 23.370 33.290 38.800 0.00 0.00 H +HETATM 5473 C1 MOL 343 29.830 35.020 30.260 0.00 0.00 C +HETATM 5474 H1 MOL 343 30.800 35.110 30.730 0.00 0.00 H +HETATM 5475 C2 MOL 343 28.830 35.980 30.480 0.00 0.00 C +HETATM 5476 H2 MOL 343 29.190 36.840 31.020 0.00 0.00 H +HETATM 5477 C3 MOL 343 27.530 35.830 29.980 0.00 0.00 C +HETATM 5478 H3 MOL 343 26.720 36.500 30.210 0.00 0.00 H +HETATM 5479 C4 MOL 343 27.220 34.720 29.180 0.00 0.00 C +HETATM 5480 H4 MOL 343 26.220 34.530 28.830 0.00 0.00 H +HETATM 5481 C5 MOL 343 28.210 33.750 28.990 0.00 0.00 C +HETATM 5482 H5 MOL 343 28.010 32.880 28.380 0.00 0.00 H +HETATM 5483 C6 MOL 343 29.520 33.900 29.470 0.00 0.00 C +HETATM 5484 C7 MOL 343 30.560 32.840 29.230 0.00 0.00 C +HETATM 5485 H6 MOL 343 31.590 33.150 29.390 0.00 0.00 H +HETATM 5486 H7 MOL 343 30.480 32.570 28.170 0.00 0.00 H +HETATM 5487 O1 MOL 343 30.180 31.740 30.030 0.00 0.00 O +HETATM 5488 H8 MOL 343 29.470 31.950 30.620 0.00 0.00 H +HETATM 5489 C1 MOL 344 51.820 22.830 6.610 0.00 0.00 C +HETATM 5490 H1 MOL 344 52.090 22.650 5.580 0.00 0.00 H +HETATM 5491 C2 MOL 344 51.650 24.120 7.110 0.00 0.00 C +HETATM 5492 H2 MOL 344 51.860 24.950 6.450 0.00 0.00 H +HETATM 5493 C3 MOL 344 51.150 24.300 8.410 0.00 0.00 C +HETATM 5494 H3 MOL 344 51.040 25.270 8.880 0.00 0.00 H +HETATM 5495 C4 MOL 344 50.960 23.190 9.240 0.00 0.00 C +HETATM 5496 H4 MOL 344 50.700 23.400 10.260 0.00 0.00 H +HETATM 5497 C5 MOL 344 51.150 21.900 8.730 0.00 0.00 C +HETATM 5498 H5 MOL 344 50.960 21.020 9.330 0.00 0.00 H +HETATM 5499 C6 MOL 344 51.670 21.710 7.450 0.00 0.00 C +HETATM 5500 C7 MOL 344 52.000 20.320 6.960 0.00 0.00 C +HETATM 5501 H6 MOL 344 51.730 20.090 5.930 0.00 0.00 H +HETATM 5502 H7 MOL 344 51.310 19.650 7.480 0.00 0.00 H +HETATM 5503 O1 MOL 344 53.390 20.180 7.120 0.00 0.00 O +HETATM 5504 H8 MOL 344 53.840 20.970 6.880 0.00 0.00 H +HETATM 5505 C1 MOL 345 4.460 40.160 19.100 0.00 0.00 C +HETATM 5506 H1 MOL 345 4.560 40.670 18.150 0.00 0.00 H +HETATM 5507 C2 MOL 345 5.170 40.570 20.230 0.00 0.00 C +HETATM 5508 H2 MOL 345 5.910 41.360 20.200 0.00 0.00 H +HETATM 5509 C3 MOL 345 5.030 39.880 21.440 0.00 0.00 C +HETATM 5510 H3 MOL 345 5.760 40.120 22.210 0.00 0.00 H +HETATM 5511 C4 MOL 345 4.010 38.930 21.490 0.00 0.00 C +HETATM 5512 H4 MOL 345 3.740 38.380 22.380 0.00 0.00 H +HETATM 5513 C5 MOL 345 3.250 38.500 20.390 0.00 0.00 C +HETATM 5514 H5 MOL 345 2.580 37.670 20.540 0.00 0.00 H +HETATM 5515 C6 MOL 345 3.550 39.090 19.150 0.00 0.00 C +HETATM 5516 C7 MOL 345 2.800 38.520 17.980 0.00 0.00 C +HETATM 5517 H6 MOL 345 2.730 37.430 18.010 0.00 0.00 H +HETATM 5518 H7 MOL 345 3.130 38.790 16.980 0.00 0.00 H +HETATM 5519 O1 MOL 345 1.500 39.060 18.000 0.00 0.00 O +HETATM 5520 H8 MOL 345 1.390 39.310 18.900 0.00 0.00 H +HETATM 5521 C1 MOL 346 50.080 16.370 37.310 0.00 0.00 C +HETATM 5522 H1 MOL 346 49.060 16.660 37.530 0.00 0.00 H +HETATM 5523 C2 MOL 346 50.270 15.400 36.310 0.00 0.00 C +HETATM 5524 H2 MOL 346 49.420 14.950 35.820 0.00 0.00 H +HETATM 5525 C3 MOL 346 51.540 14.880 36.070 0.00 0.00 C +HETATM 5526 H3 MOL 346 51.700 14.070 35.370 0.00 0.00 H +HETATM 5527 C4 MOL 346 52.630 15.400 36.770 0.00 0.00 C +HETATM 5528 H4 MOL 346 53.590 14.960 36.550 0.00 0.00 H +HETATM 5529 C5 MOL 346 52.460 16.480 37.650 0.00 0.00 C +HETATM 5530 H5 MOL 346 53.340 16.900 38.110 0.00 0.00 H +HETATM 5531 C6 MOL 346 51.180 16.940 37.960 0.00 0.00 C +HETATM 5532 C7 MOL 346 51.060 18.000 39.030 0.00 0.00 C +HETATM 5533 H6 MOL 346 50.610 18.950 38.720 0.00 0.00 H +HETATM 5534 H7 MOL 346 52.010 18.430 39.370 0.00 0.00 H +HETATM 5535 O1 MOL 346 50.480 17.540 40.230 0.00 0.00 O +HETATM 5536 H8 MOL 346 50.450 16.610 40.050 0.00 0.00 H +HETATM 5537 C1 MOL 347 8.730 37.560 8.190 0.00 0.00 C +HETATM 5538 H1 MOL 347 8.020 37.830 7.420 0.00 0.00 H +HETATM 5539 C2 MOL 347 10.050 37.170 7.920 0.00 0.00 C +HETATM 5540 H2 MOL 347 10.440 37.160 6.910 0.00 0.00 H +HETATM 5541 C3 MOL 347 10.950 36.900 8.950 0.00 0.00 C +HETATM 5542 H3 MOL 347 11.870 36.460 8.600 0.00 0.00 H +HETATM 5543 C4 MOL 347 10.520 37.030 10.280 0.00 0.00 C +HETATM 5544 H4 MOL 347 11.210 36.810 11.070 0.00 0.00 H +HETATM 5545 C5 MOL 347 9.210 37.430 10.590 0.00 0.00 C +HETATM 5546 H5 MOL 347 8.920 37.510 11.630 0.00 0.00 H +HETATM 5547 C6 MOL 347 8.360 37.740 9.530 0.00 0.00 C +HETATM 5548 C7 MOL 347 6.960 38.200 9.880 0.00 0.00 C +HETATM 5549 H6 MOL 347 6.880 39.130 9.310 0.00 0.00 H +HETATM 5550 H7 MOL 347 6.710 38.440 10.910 0.00 0.00 H +HETATM 5551 O1 MOL 347 5.970 37.240 9.600 0.00 0.00 O +HETATM 5552 H8 MOL 347 5.840 36.770 10.410 0.00 0.00 H +HETATM 5553 C1 MOL 348 52.040 7.260 21.750 0.00 0.00 C +HETATM 5554 H1 MOL 348 51.900 8.240 22.200 0.00 0.00 H +HETATM 5555 C2 MOL 348 51.220 6.890 20.670 0.00 0.00 C +HETATM 5556 H2 MOL 348 50.500 7.610 20.340 0.00 0.00 H +HETATM 5557 C3 MOL 348 51.290 5.610 20.090 0.00 0.00 C +HETATM 5558 H3 MOL 348 50.570 5.510 19.300 0.00 0.00 H +HETATM 5559 C4 MOL 348 52.120 4.650 20.690 0.00 0.00 C +HETATM 5560 H4 MOL 348 52.110 3.660 20.260 0.00 0.00 H +HETATM 5561 C5 MOL 348 52.890 5.040 21.800 0.00 0.00 C +HETATM 5562 H5 MOL 348 53.510 4.260 22.210 0.00 0.00 H +HETATM 5563 C6 MOL 348 52.930 6.340 22.310 0.00 0.00 C +HETATM 5564 C7 MOL 348 53.720 6.680 23.550 0.00 0.00 C +HETATM 5565 H6 MOL 348 53.170 6.140 24.320 0.00 0.00 H +HETATM 5566 H7 MOL 348 53.570 7.700 23.900 0.00 0.00 H +HETATM 5567 O1 MOL 348 55.080 6.360 23.400 0.00 0.00 O +HETATM 5568 H8 MOL 348 55.160 6.230 22.470 0.00 0.00 H +HETATM 5569 C1 MOL 349 35.890 50.410 36.110 0.00 0.00 C +HETATM 5570 H1 MOL 349 36.890 49.990 36.150 0.00 0.00 H +HETATM 5571 C2 MOL 349 35.020 50.210 37.180 0.00 0.00 C +HETATM 5572 H2 MOL 349 35.220 49.440 37.920 0.00 0.00 H +HETATM 5573 C3 MOL 349 33.780 50.850 37.280 0.00 0.00 C +HETATM 5574 H3 MOL 349 33.140 50.590 38.110 0.00 0.00 H +HETATM 5575 C4 MOL 349 33.550 51.910 36.400 0.00 0.00 C +HETATM 5576 H4 MOL 349 32.670 52.530 36.430 0.00 0.00 H +HETATM 5577 C5 MOL 349 34.430 52.190 35.350 0.00 0.00 C +HETATM 5578 H5 MOL 349 34.250 53.000 34.660 0.00 0.00 H +HETATM 5579 C6 MOL 349 35.640 51.490 35.250 0.00 0.00 C +HETATM 5580 C7 MOL 349 36.700 51.820 34.230 0.00 0.00 C +HETATM 5581 H6 MOL 349 37.480 51.070 34.110 0.00 0.00 H +HETATM 5582 H7 MOL 349 37.290 52.710 34.430 0.00 0.00 H +HETATM 5583 O1 MOL 349 36.170 51.880 32.920 0.00 0.00 O +HETATM 5584 H8 MOL 349 35.720 51.080 32.680 0.00 0.00 H +HETATM 5585 C1 MOL 350 32.430 43.100 5.820 0.00 0.00 C +HETATM 5586 H1 MOL 350 32.160 43.610 4.910 0.00 0.00 H +HETATM 5587 C2 MOL 350 33.580 43.570 6.460 0.00 0.00 C +HETATM 5588 H2 MOL 350 34.180 44.330 5.980 0.00 0.00 H +HETATM 5589 C3 MOL 350 33.930 43.110 7.730 0.00 0.00 C +HETATM 5590 H3 MOL 350 34.730 43.480 8.360 0.00 0.00 H +HETATM 5591 C4 MOL 350 33.240 41.990 8.220 0.00 0.00 C +HETATM 5592 H4 MOL 350 33.440 41.800 9.260 0.00 0.00 H +HETATM 5593 C5 MOL 350 32.220 41.370 7.490 0.00 0.00 C +HETATM 5594 H5 MOL 350 31.690 40.530 7.910 0.00 0.00 H +HETATM 5595 C6 MOL 350 31.760 41.970 6.310 0.00 0.00 C +HETATM 5596 C7 MOL 350 30.410 41.580 5.770 0.00 0.00 C +HETATM 5597 H6 MOL 350 29.990 42.370 5.140 0.00 0.00 H +HETATM 5598 H7 MOL 350 29.660 41.300 6.510 0.00 0.00 H +HETATM 5599 O1 MOL 350 30.610 40.550 4.830 0.00 0.00 O +HETATM 5600 H8 MOL 350 31.530 40.450 4.650 0.00 0.00 H +HETATM 5601 C1 MOL 351 53.850 12.930 49.610 0.00 0.00 C +HETATM 5602 H1 MOL 351 53.750 13.290 50.630 0.00 0.00 H +HETATM 5603 C2 MOL 351 53.310 11.700 49.230 0.00 0.00 C +HETATM 5604 H2 MOL 351 52.800 11.160 50.010 0.00 0.00 H +HETATM 5605 C3 MOL 351 53.570 11.220 47.940 0.00 0.00 C +HETATM 5606 H3 MOL 351 53.170 10.340 47.460 0.00 0.00 H +HETATM 5607 C4 MOL 351 54.390 11.990 47.100 0.00 0.00 C +HETATM 5608 H4 MOL 351 54.670 11.640 46.120 0.00 0.00 H +HETATM 5609 C5 MOL 351 54.850 13.250 47.490 0.00 0.00 C +HETATM 5610 H5 MOL 351 55.460 13.730 46.740 0.00 0.00 H +HETATM 5611 C6 MOL 351 54.600 13.760 48.760 0.00 0.00 C +HETATM 5612 C7 MOL 351 55.070 15.130 49.180 0.00 0.00 C +HETATM 5613 H6 MOL 351 54.300 15.780 49.600 0.00 0.00 H +HETATM 5614 H7 MOL 351 55.550 15.680 48.370 0.00 0.00 H +HETATM 5615 O1 MOL 351 56.070 15.000 50.170 0.00 0.00 O +HETATM 5616 H8 MOL 351 56.670 14.340 49.840 0.00 0.00 H +HETATM 5617 C1 MOL 352 20.770 22.390 2.480 0.00 0.00 C +HETATM 5618 H1 MOL 352 20.960 22.690 3.500 0.00 0.00 H +HETATM 5619 C2 MOL 352 19.870 21.360 2.230 0.00 0.00 C +HETATM 5620 H2 MOL 352 19.370 20.760 2.980 0.00 0.00 H +HETATM 5621 C3 MOL 352 19.530 21.020 0.910 0.00 0.00 C +HETATM 5622 H3 MOL 352 18.830 20.210 0.740 0.00 0.00 H +HETATM 5623 C4 MOL 352 20.270 21.550 -0.150 0.00 0.00 C +HETATM 5624 H4 MOL 352 19.890 21.450 -1.160 0.00 0.00 H +HETATM 5625 C5 MOL 352 21.290 22.480 0.080 0.00 0.00 C +HETATM 5626 H5 MOL 352 21.890 22.950 -0.690 0.00 0.00 H +HETATM 5627 C6 MOL 352 21.490 22.920 1.400 0.00 0.00 C +HETATM 5628 C7 MOL 352 22.470 24.050 1.580 0.00 0.00 C +HETATM 5629 H6 MOL 352 23.190 24.220 0.780 0.00 0.00 H +HETATM 5630 H7 MOL 352 23.000 23.830 2.510 0.00 0.00 H +HETATM 5631 O1 MOL 352 21.600 25.140 1.730 0.00 0.00 O +HETATM 5632 H8 MOL 352 20.720 24.790 1.790 0.00 0.00 H +HETATM 5633 C1 MOL 353 39.310 23.440 6.070 0.00 0.00 C +HETATM 5634 H1 MOL 353 39.920 22.630 6.420 0.00 0.00 H +HETATM 5635 C2 MOL 353 39.440 23.810 4.730 0.00 0.00 C +HETATM 5636 H2 MOL 353 40.140 23.380 4.030 0.00 0.00 H +HETATM 5637 C3 MOL 353 38.570 24.790 4.240 0.00 0.00 C +HETATM 5638 H3 MOL 353 38.660 25.220 3.250 0.00 0.00 H +HETATM 5639 C4 MOL 353 37.650 25.400 5.110 0.00 0.00 C +HETATM 5640 H4 MOL 353 37.090 26.180 4.620 0.00 0.00 H +HETATM 5641 C5 MOL 353 37.630 25.130 6.480 0.00 0.00 C +HETATM 5642 H5 MOL 353 37.060 25.840 7.060 0.00 0.00 H +HETATM 5643 C6 MOL 353 38.440 24.100 6.960 0.00 0.00 C +HETATM 5644 C7 MOL 353 38.270 23.670 8.400 0.00 0.00 C +HETATM 5645 H6 MOL 353 38.580 24.520 8.990 0.00 0.00 H +HETATM 5646 H7 MOL 353 38.850 22.780 8.620 0.00 0.00 H +HETATM 5647 O1 MOL 353 36.930 23.530 8.830 0.00 0.00 O +HETATM 5648 H8 MOL 353 36.480 23.080 8.120 0.00 0.00 H +HETATM 5649 C1 MOL 354 32.180 11.040 5.410 0.00 0.00 C +HETATM 5650 H1 MOL 354 31.100 11.140 5.450 0.00 0.00 H +HETATM 5651 C2 MOL 354 32.700 9.910 6.040 0.00 0.00 C +HETATM 5652 H2 MOL 354 32.080 9.130 6.450 0.00 0.00 H +HETATM 5653 C3 MOL 354 34.080 9.750 6.220 0.00 0.00 C +HETATM 5654 H3 MOL 354 34.450 8.850 6.690 0.00 0.00 H +HETATM 5655 C4 MOL 354 34.890 10.760 5.690 0.00 0.00 C +HETATM 5656 H4 MOL 354 35.970 10.690 5.750 0.00 0.00 H +HETATM 5657 C5 MOL 354 34.420 11.850 4.940 0.00 0.00 C +HETATM 5658 H5 MOL 354 35.180 12.550 4.660 0.00 0.00 H +HETATM 5659 C6 MOL 354 33.030 12.000 4.840 0.00 0.00 C +HETATM 5660 C7 MOL 354 32.530 13.160 4.030 0.00 0.00 C +HETATM 5661 H6 MOL 354 32.840 14.130 4.430 0.00 0.00 H +HETATM 5662 H7 MOL 354 31.440 13.200 4.010 0.00 0.00 H +HETATM 5663 O1 MOL 354 32.900 13.110 2.670 0.00 0.00 O +HETATM 5664 H8 MOL 354 33.180 12.210 2.550 0.00 0.00 H +HETATM 5665 C1 MOL 355 51.520 52.330 15.260 0.00 0.00 C +HETATM 5666 H1 MOL 355 51.300 51.290 15.470 0.00 0.00 H +HETATM 5667 C2 MOL 355 50.720 53.090 14.400 0.00 0.00 C +HETATM 5668 H2 MOL 355 49.820 52.770 13.890 0.00 0.00 H +HETATM 5669 C3 MOL 355 50.990 54.440 14.150 0.00 0.00 C +HETATM 5670 H3 MOL 355 50.260 54.920 13.520 0.00 0.00 H +HETATM 5671 C4 MOL 355 52.030 55.060 14.860 0.00 0.00 C +HETATM 5672 H4 MOL 355 52.090 56.140 14.780 0.00 0.00 H +HETATM 5673 C5 MOL 355 52.770 54.380 15.830 0.00 0.00 C +HETATM 5674 H5 MOL 355 53.580 54.860 16.360 0.00 0.00 H +HETATM 5675 C6 MOL 355 52.520 53.010 15.950 0.00 0.00 C +HETATM 5676 C7 MOL 355 53.340 52.250 16.960 0.00 0.00 C +HETATM 5677 H6 MOL 355 52.980 51.220 16.960 0.00 0.00 H +HETATM 5678 H7 MOL 355 53.240 52.700 17.950 0.00 0.00 H +HETATM 5679 O1 MOL 355 54.700 52.230 16.580 0.00 0.00 O +HETATM 5680 H8 MOL 355 54.840 51.540 15.950 0.00 0.00 H +HETATM 5681 C1 MOL 356 33.950 16.510 24.440 0.00 0.00 C +HETATM 5682 H1 MOL 356 33.210 17.090 24.970 0.00 0.00 H +HETATM 5683 C2 MOL 356 35.050 15.910 25.080 0.00 0.00 C +HETATM 5684 H2 MOL 356 35.040 15.940 26.160 0.00 0.00 H +HETATM 5685 C3 MOL 356 35.930 15.100 24.360 0.00 0.00 C +HETATM 5686 H3 MOL 356 36.720 14.590 24.880 0.00 0.00 H +HETATM 5687 C4 MOL 356 35.740 14.970 22.970 0.00 0.00 C +HETATM 5688 H4 MOL 356 36.480 14.450 22.390 0.00 0.00 H +HETATM 5689 C5 MOL 356 34.700 15.650 22.320 0.00 0.00 C +HETATM 5690 H5 MOL 356 34.720 15.620 21.240 0.00 0.00 H +HETATM 5691 C6 MOL 356 33.790 16.420 23.050 0.00 0.00 C +HETATM 5692 C7 MOL 356 32.720 17.190 22.320 0.00 0.00 C +HETATM 5693 H6 MOL 356 31.820 16.640 22.570 0.00 0.00 H +HETATM 5694 H7 MOL 356 32.700 17.220 21.230 0.00 0.00 H +HETATM 5695 O1 MOL 356 32.550 18.520 22.770 0.00 0.00 O +HETATM 5696 H8 MOL 356 31.620 18.710 22.800 0.00 0.00 H +HETATM 5697 C1 MOL 357 29.360 42.940 9.350 0.00 0.00 C +HETATM 5698 H1 MOL 357 28.890 43.530 8.590 0.00 0.00 H +HETATM 5699 C2 MOL 357 29.080 41.570 9.510 0.00 0.00 C +HETATM 5700 H2 MOL 357 28.320 41.110 8.900 0.00 0.00 H +HETATM 5701 C3 MOL 357 29.860 40.860 10.430 0.00 0.00 C +HETATM 5702 H3 MOL 357 29.690 39.810 10.620 0.00 0.00 H +HETATM 5703 C4 MOL 357 30.780 41.520 11.260 0.00 0.00 C +HETATM 5704 H4 MOL 357 31.390 41.030 12.010 0.00 0.00 H +HETATM 5705 C5 MOL 357 31.030 42.890 11.100 0.00 0.00 C +HETATM 5706 H5 MOL 357 31.770 43.390 11.700 0.00 0.00 H +HETATM 5707 C6 MOL 357 30.320 43.600 10.130 0.00 0.00 C +HETATM 5708 C7 MOL 357 30.680 45.050 9.890 0.00 0.00 C +HETATM 5709 H6 MOL 357 31.570 45.260 10.480 0.00 0.00 H +HETATM 5710 H7 MOL 357 29.820 45.640 10.210 0.00 0.00 H +HETATM 5711 O1 MOL 357 31.110 45.270 8.570 0.00 0.00 O +HETATM 5712 H8 MOL 357 31.260 44.430 8.150 0.00 0.00 H +HETATM 5713 C1 MOL 358 16.990 48.340 41.760 0.00 0.00 C +HETATM 5714 H1 MOL 358 17.010 49.400 41.540 0.00 0.00 H +HETATM 5715 C2 MOL 358 17.040 47.730 43.020 0.00 0.00 C +HETATM 5716 H2 MOL 358 17.220 48.330 43.900 0.00 0.00 H +HETATM 5717 C3 MOL 358 17.040 46.340 43.130 0.00 0.00 C +HETATM 5718 H3 MOL 358 17.000 45.900 44.110 0.00 0.00 H +HETATM 5719 C4 MOL 358 16.960 45.530 41.990 0.00 0.00 C +HETATM 5720 H4 MOL 358 16.660 44.500 42.150 0.00 0.00 H +HETATM 5721 C5 MOL 358 16.890 46.120 40.720 0.00 0.00 C +HETATM 5722 H5 MOL 358 16.690 45.460 39.880 0.00 0.00 H +HETATM 5723 C6 MOL 358 16.990 47.510 40.630 0.00 0.00 C +HETATM 5724 C7 MOL 358 17.160 48.160 39.280 0.00 0.00 C +HETATM 5725 H6 MOL 358 17.570 47.400 38.620 0.00 0.00 H +HETATM 5726 H7 MOL 358 17.920 48.890 39.540 0.00 0.00 H +HETATM 5727 O1 MOL 358 16.010 48.810 38.780 0.00 0.00 O +HETATM 5728 H8 MOL 358 15.400 48.710 39.490 0.00 0.00 H +HETATM 5729 C1 MOL 359 38.560 6.750 33.090 0.00 0.00 C +HETATM 5730 H1 MOL 359 39.140 7.310 32.370 0.00 0.00 H +HETATM 5731 C2 MOL 359 38.070 5.470 32.820 0.00 0.00 C +HETATM 5732 H2 MOL 359 38.300 4.870 31.950 0.00 0.00 H +HETATM 5733 C3 MOL 359 37.380 4.750 33.800 0.00 0.00 C +HETATM 5734 H3 MOL 359 37.000 3.770 33.550 0.00 0.00 H +HETATM 5735 C4 MOL 359 37.170 5.310 35.060 0.00 0.00 C +HETATM 5736 H4 MOL 359 36.570 4.740 35.760 0.00 0.00 H +HETATM 5737 C5 MOL 359 37.710 6.570 35.340 0.00 0.00 C +HETATM 5738 H5 MOL 359 37.590 7.010 36.310 0.00 0.00 H +HETATM 5739 C6 MOL 359 38.420 7.290 34.370 0.00 0.00 C +HETATM 5740 C7 MOL 359 39.110 8.590 34.700 0.00 0.00 C +HETATM 5741 H6 MOL 359 40.070 8.570 34.190 0.00 0.00 H +HETATM 5742 H7 MOL 359 39.230 8.620 35.780 0.00 0.00 H +HETATM 5743 O1 MOL 359 38.450 9.700 34.130 0.00 0.00 O +HETATM 5744 H8 MOL 359 37.810 9.370 33.520 0.00 0.00 H +HETATM 5745 C1 MOL 360 8.150 31.160 25.270 0.00 0.00 C +HETATM 5746 H1 MOL 360 9.130 31.450 24.930 0.00 0.00 H +HETATM 5747 C2 MOL 360 8.070 29.820 25.650 0.00 0.00 C +HETATM 5748 H2 MOL 360 8.910 29.140 25.570 0.00 0.00 H +HETATM 5749 C3 MOL 360 6.850 29.380 26.180 0.00 0.00 C +HETATM 5750 H3 MOL 360 6.810 28.340 26.480 0.00 0.00 H +HETATM 5751 C4 MOL 360 5.720 30.190 26.080 0.00 0.00 C +HETATM 5752 H4 MOL 360 4.770 29.800 26.410 0.00 0.00 H +HETATM 5753 C5 MOL 360 5.820 31.520 25.650 0.00 0.00 C +HETATM 5754 H5 MOL 360 4.960 32.170 25.730 0.00 0.00 H +HETATM 5755 C6 MOL 360 7.060 32.040 25.270 0.00 0.00 C +HETATM 5756 C7 MOL 360 7.200 33.450 24.750 0.00 0.00 C +HETATM 5757 H6 MOL 360 8.250 33.760 24.720 0.00 0.00 H +HETATM 5758 H7 MOL 360 6.690 34.150 25.410 0.00 0.00 H +HETATM 5759 O1 MOL 360 6.730 33.440 23.420 0.00 0.00 O +HETATM 5760 H8 MOL 360 6.050 32.780 23.460 0.00 0.00 H +HETATM 5761 C1 MOL 361 33.180 28.490 41.650 0.00 0.00 C +HETATM 5762 H1 MOL 361 34.060 29.010 41.330 0.00 0.00 H +HETATM 5763 C2 MOL 361 33.180 27.850 42.900 0.00 0.00 C +HETATM 5764 H2 MOL 361 34.030 28.060 43.540 0.00 0.00 H +HETATM 5765 C3 MOL 361 32.030 27.200 43.350 0.00 0.00 C +HETATM 5766 H3 MOL 361 32.080 26.710 44.310 0.00 0.00 H +HETATM 5767 C4 MOL 361 30.890 27.240 42.540 0.00 0.00 C +HETATM 5768 H4 MOL 361 30.050 26.670 42.910 0.00 0.00 H +HETATM 5769 C5 MOL 361 30.900 27.900 41.300 0.00 0.00 C +HETATM 5770 H5 MOL 361 30.000 27.910 40.710 0.00 0.00 H +HETATM 5771 C6 MOL 361 32.030 28.590 40.860 0.00 0.00 C +HETATM 5772 C7 MOL 361 32.000 29.240 39.490 0.00 0.00 C +HETATM 5773 H6 MOL 361 32.210 30.310 39.540 0.00 0.00 H +HETATM 5774 H7 MOL 361 31.140 29.040 38.850 0.00 0.00 H +HETATM 5775 O1 MOL 361 33.220 28.880 38.890 0.00 0.00 O +HETATM 5776 H8 MOL 361 33.680 28.410 39.570 0.00 0.00 H +HETATM 5777 C1 MOL 362 52.810 6.760 31.350 0.00 0.00 C +HETATM 5778 H1 MOL 362 53.570 6.020 31.570 0.00 0.00 H +HETATM 5779 C2 MOL 362 52.970 8.070 31.820 0.00 0.00 C +HETATM 5780 H2 MOL 362 53.800 8.300 32.470 0.00 0.00 H +HETATM 5781 C3 MOL 362 52.050 9.020 31.380 0.00 0.00 C +HETATM 5782 H3 MOL 362 52.100 10.050 31.710 0.00 0.00 H +HETATM 5783 C4 MOL 362 51.010 8.700 30.500 0.00 0.00 C +HETATM 5784 H4 MOL 362 50.340 9.450 30.100 0.00 0.00 H +HETATM 5785 C5 MOL 362 50.880 7.390 30.010 0.00 0.00 C +HETATM 5786 H5 MOL 362 50.080 7.160 29.330 0.00 0.00 H +HETATM 5787 C6 MOL 362 51.720 6.400 30.550 0.00 0.00 C +HETATM 5788 C7 MOL 362 51.540 5.000 30.020 0.00 0.00 C +HETATM 5789 H6 MOL 362 52.530 4.530 29.980 0.00 0.00 H +HETATM 5790 H7 MOL 362 51.150 5.140 29.010 0.00 0.00 H +HETATM 5791 O1 MOL 362 50.560 4.270 30.730 0.00 0.00 O +HETATM 5792 H8 MOL 362 50.630 4.630 31.600 0.00 0.00 H +HETATM 5793 C1 MOL 363 34.820 15.400 35.970 0.00 0.00 C +HETATM 5794 H1 MOL 363 33.780 15.160 36.120 0.00 0.00 H +HETATM 5795 C2 MOL 363 35.780 14.880 36.860 0.00 0.00 C +HETATM 5796 H2 MOL 363 35.410 14.230 37.640 0.00 0.00 H +HETATM 5797 C3 MOL 363 37.110 15.320 36.850 0.00 0.00 C +HETATM 5798 H3 MOL 363 37.770 14.910 37.590 0.00 0.00 H +HETATM 5799 C4 MOL 363 37.490 16.280 35.900 0.00 0.00 C +HETATM 5800 H4 MOL 363 38.500 16.660 35.950 0.00 0.00 H +HETATM 5801 C5 MOL 363 36.600 16.670 34.900 0.00 0.00 C +HETATM 5802 H5 MOL 363 36.930 17.250 34.040 0.00 0.00 H +HETATM 5803 C6 MOL 363 35.270 16.260 34.960 0.00 0.00 C +HETATM 5804 C7 MOL 363 34.220 16.680 33.950 0.00 0.00 C +HETATM 5805 H6 MOL 363 33.260 16.220 34.180 0.00 0.00 H +HETATM 5806 H7 MOL 363 34.520 16.470 32.920 0.00 0.00 H +HETATM 5807 O1 MOL 363 33.950 18.060 34.030 0.00 0.00 O +HETATM 5808 H8 MOL 363 33.640 18.270 34.890 0.00 0.00 H +HETATM 5809 C1 MOL 364 28.190 1.760 16.130 0.00 0.00 C +HETATM 5810 H1 MOL 364 28.230 1.700 17.210 0.00 0.00 H +HETATM 5811 C2 MOL 364 27.630 0.670 15.450 0.00 0.00 C +HETATM 5812 H2 MOL 364 27.410 -0.280 15.900 0.00 0.00 H +HETATM 5813 C3 MOL 364 27.470 0.720 14.060 0.00 0.00 C +HETATM 5814 H3 MOL 364 27.080 -0.130 13.520 0.00 0.00 H +HETATM 5815 C4 MOL 364 28.020 1.820 13.390 0.00 0.00 C +HETATM 5816 H4 MOL 364 27.970 1.790 12.320 0.00 0.00 H +HETATM 5817 C5 MOL 364 28.550 2.930 14.060 0.00 0.00 C +HETATM 5818 H5 MOL 364 29.070 3.730 13.550 0.00 0.00 H +HETATM 5819 C6 MOL 364 28.640 2.900 15.460 0.00 0.00 C +HETATM 5820 C7 MOL 364 29.290 4.010 16.260 0.00 0.00 C +HETATM 5821 H6 MOL 364 28.810 4.040 17.240 0.00 0.00 H +HETATM 5822 H7 MOL 364 29.070 4.960 15.770 0.00 0.00 H +HETATM 5823 O1 MOL 364 30.680 3.910 16.440 0.00 0.00 O +HETATM 5824 H8 MOL 364 30.780 3.020 16.750 0.00 0.00 H +HETATM 5825 C1 MOL 365 0.780 28.260 32.800 0.00 0.00 C +HETATM 5826 H1 MOL 365 1.120 28.600 31.830 0.00 0.00 H +HETATM 5827 C2 MOL 365 -0.280 28.870 33.490 0.00 0.00 C +HETATM 5828 H2 MOL 365 -0.810 29.650 32.970 0.00 0.00 H +HETATM 5829 C3 MOL 365 -0.680 28.370 34.740 0.00 0.00 C +HETATM 5830 H3 MOL 365 -1.390 28.800 35.420 0.00 0.00 H +HETATM 5831 C4 MOL 365 0.080 27.330 35.270 0.00 0.00 C +HETATM 5832 H4 MOL 365 0.000 27.000 36.290 0.00 0.00 H +HETATM 5833 C5 MOL 365 1.120 26.690 34.570 0.00 0.00 C +HETATM 5834 H5 MOL 365 1.630 25.830 34.970 0.00 0.00 H +HETATM 5835 C6 MOL 365 1.430 27.120 33.280 0.00 0.00 C +HETATM 5836 C7 MOL 365 2.500 26.470 32.430 0.00 0.00 C +HETATM 5837 H6 MOL 365 2.490 26.730 31.370 0.00 0.00 H +HETATM 5838 H7 MOL 365 2.230 25.430 32.580 0.00 0.00 H +HETATM 5839 O1 MOL 365 3.800 26.730 32.900 0.00 0.00 O +HETATM 5840 H8 MOL 365 3.830 27.590 33.280 0.00 0.00 H +HETATM 5841 C1 MOL 366 21.590 8.430 53.200 0.00 0.00 C +HETATM 5842 H1 MOL 366 20.910 8.490 52.360 0.00 0.00 H +HETATM 5843 C2 MOL 366 22.960 8.240 52.980 0.00 0.00 C +HETATM 5844 H2 MOL 366 23.260 8.080 51.960 0.00 0.00 H +HETATM 5845 C3 MOL 366 23.840 8.140 54.070 0.00 0.00 C +HETATM 5846 H3 MOL 366 24.830 7.780 53.870 0.00 0.00 H +HETATM 5847 C4 MOL 366 23.370 8.300 55.380 0.00 0.00 C +HETATM 5848 H4 MOL 366 24.130 8.120 56.120 0.00 0.00 H +HETATM 5849 C5 MOL 366 22.000 8.530 55.560 0.00 0.00 C +HETATM 5850 H5 MOL 366 21.680 8.630 56.590 0.00 0.00 H +HETATM 5851 C6 MOL 366 21.100 8.640 54.490 0.00 0.00 C +HETATM 5852 C7 MOL 366 19.660 8.790 54.930 0.00 0.00 C +HETATM 5853 H6 MOL 366 18.970 9.430 54.370 0.00 0.00 H +HETATM 5854 H7 MOL 366 19.650 9.040 55.990 0.00 0.00 H +HETATM 5855 O1 MOL 366 19.200 7.470 54.790 0.00 0.00 O +HETATM 5856 H8 MOL 366 19.480 7.000 55.560 0.00 0.00 H +HETATM 5857 C1 MOL 367 31.620 46.280 26.890 0.00 0.00 C +HETATM 5858 H1 MOL 367 32.640 46.430 26.560 0.00 0.00 H +HETATM 5859 C2 MOL 367 30.520 46.960 26.340 0.00 0.00 C +HETATM 5860 H2 MOL 367 30.530 47.740 25.600 0.00 0.00 H +HETATM 5861 C3 MOL 367 29.240 46.750 26.870 0.00 0.00 C +HETATM 5862 H3 MOL 367 28.430 47.270 26.390 0.00 0.00 H +HETATM 5863 C4 MOL 367 29.050 45.810 27.890 0.00 0.00 C +HETATM 5864 H4 MOL 367 28.060 45.590 28.270 0.00 0.00 H +HETATM 5865 C5 MOL 367 30.120 45.070 28.400 0.00 0.00 C +HETATM 5866 H5 MOL 367 29.940 44.420 29.240 0.00 0.00 H +HETATM 5867 C6 MOL 367 31.390 45.300 27.870 0.00 0.00 C +HETATM 5868 C7 MOL 367 32.570 44.480 28.330 0.00 0.00 C +HETATM 5869 H6 MOL 367 33.340 45.040 28.860 0.00 0.00 H +HETATM 5870 H7 MOL 367 32.920 44.100 27.370 0.00 0.00 H +HETATM 5871 O1 MOL 367 32.230 43.370 29.130 0.00 0.00 O +HETATM 5872 H8 MOL 367 33.060 42.990 29.370 0.00 0.00 H +HETATM 5873 C1 MOL 368 3.220 3.080 47.060 0.00 0.00 C +HETATM 5874 H1 MOL 368 3.610 4.040 47.340 0.00 0.00 H +HETATM 5875 C2 MOL 368 2.640 2.850 45.800 0.00 0.00 C +HETATM 5876 H2 MOL 368 2.470 3.710 45.170 0.00 0.00 H +HETATM 5877 C3 MOL 368 2.170 1.570 45.500 0.00 0.00 C +HETATM 5878 H3 MOL 368 1.600 1.540 44.590 0.00 0.00 H +HETATM 5879 C4 MOL 368 2.470 0.560 46.420 0.00 0.00 C +HETATM 5880 H4 MOL 368 2.120 -0.440 46.190 0.00 0.00 H +HETATM 5881 C5 MOL 368 3.170 0.720 47.620 0.00 0.00 C +HETATM 5882 H5 MOL 368 3.500 -0.090 48.250 0.00 0.00 H +HETATM 5883 C6 MOL 368 3.480 2.040 47.970 0.00 0.00 C +HETATM 5884 C7 MOL 368 4.110 2.420 49.290 0.00 0.00 C +HETATM 5885 H6 MOL 368 5.110 2.850 49.200 0.00 0.00 H +HETATM 5886 H7 MOL 368 4.320 1.540 49.890 0.00 0.00 H +HETATM 5887 O1 MOL 368 3.480 3.480 49.990 0.00 0.00 O +HETATM 5888 H8 MOL 368 2.620 3.210 50.290 0.00 0.00 H +HETATM 5889 C1 MOL 369 17.580 1.090 47.670 0.00 0.00 C +HETATM 5890 H1 MOL 369 17.550 0.020 47.470 0.00 0.00 H +HETATM 5891 C2 MOL 369 18.370 1.490 48.750 0.00 0.00 C +HETATM 5892 H2 MOL 369 18.890 0.760 49.360 0.00 0.00 H +HETATM 5893 C3 MOL 369 18.350 2.820 49.170 0.00 0.00 C +HETATM 5894 H3 MOL 369 18.770 3.110 50.120 0.00 0.00 H +HETATM 5895 C4 MOL 369 17.630 3.750 48.410 0.00 0.00 C +HETATM 5896 H4 MOL 369 17.580 4.790 48.690 0.00 0.00 H +HETATM 5897 C5 MOL 369 16.800 3.360 47.350 0.00 0.00 C +HETATM 5898 H5 MOL 369 16.240 4.080 46.780 0.00 0.00 H +HETATM 5899 C6 MOL 369 16.780 2.010 46.990 0.00 0.00 C +HETATM 5900 C7 MOL 369 16.010 1.510 45.790 0.00 0.00 C +HETATM 5901 H6 MOL 369 16.130 0.440 45.640 0.00 0.00 H +HETATM 5902 H7 MOL 369 16.470 1.980 44.920 0.00 0.00 H +HETATM 5903 O1 MOL 369 14.680 1.960 45.980 0.00 0.00 O +HETATM 5904 H8 MOL 369 14.510 2.070 46.910 0.00 0.00 H +HETATM 5905 C1 MOL 370 47.860 2.270 31.600 0.00 0.00 C +HETATM 5906 H1 MOL 370 48.530 2.080 30.770 0.00 0.00 H +HETATM 5907 C2 MOL 370 47.920 3.400 32.420 0.00 0.00 C +HETATM 5908 H2 MOL 370 48.580 4.210 32.140 0.00 0.00 H +HETATM 5909 C3 MOL 370 47.080 3.520 33.530 0.00 0.00 C +HETATM 5910 H3 MOL 370 47.120 4.420 34.140 0.00 0.00 H +HETATM 5911 C4 MOL 370 46.220 2.470 33.850 0.00 0.00 C +HETATM 5912 H4 MOL 370 45.600 2.490 34.730 0.00 0.00 H +HETATM 5913 C5 MOL 370 46.250 1.290 33.100 0.00 0.00 C +HETATM 5914 H5 MOL 370 45.610 0.420 33.180 0.00 0.00 H +HETATM 5915 C6 MOL 370 47.060 1.170 31.960 0.00 0.00 C +HETATM 5916 C7 MOL 370 46.950 -0.020 31.050 0.00 0.00 C +HETATM 5917 H6 MOL 370 46.640 0.380 30.090 0.00 0.00 H +HETATM 5918 H7 MOL 370 46.140 -0.660 31.390 0.00 0.00 H +HETATM 5919 O1 MOL 370 48.200 -0.690 31.040 0.00 0.00 O +HETATM 5920 H8 MOL 370 48.880 -0.100 31.300 0.00 0.00 H +HETATM 5921 C1 MOL 371 28.930 35.560 6.500 0.00 0.00 C +HETATM 5922 H1 MOL 371 28.730 34.540 6.220 0.00 0.00 H +HETATM 5923 C2 MOL 371 27.870 36.370 6.930 0.00 0.00 C +HETATM 5924 H2 MOL 371 26.900 35.900 7.030 0.00 0.00 H +HETATM 5925 C3 MOL 371 28.090 37.660 7.420 0.00 0.00 C +HETATM 5926 H3 MOL 371 27.280 38.240 7.830 0.00 0.00 H +HETATM 5927 C4 MOL 371 29.380 38.200 7.340 0.00 0.00 C +HETATM 5928 H4 MOL 371 29.550 39.210 7.690 0.00 0.00 H +HETATM 5929 C5 MOL 371 30.410 37.480 6.740 0.00 0.00 C +HETATM 5930 H5 MOL 371 31.370 37.940 6.560 0.00 0.00 H +HETATM 5931 C6 MOL 371 30.210 36.130 6.420 0.00 0.00 C +HETATM 5932 C7 MOL 371 31.390 35.300 5.960 0.00 0.00 C +HETATM 5933 H6 MOL 371 31.210 34.260 6.260 0.00 0.00 H +HETATM 5934 H7 MOL 371 32.250 35.590 6.570 0.00 0.00 H +HETATM 5935 O1 MOL 371 31.680 35.530 4.600 0.00 0.00 O +HETATM 5936 H8 MOL 371 31.640 36.470 4.550 0.00 0.00 H +HETATM 5937 C1 MOL 372 36.170 30.610 18.100 0.00 0.00 C +HETATM 5938 H1 MOL 372 36.130 30.560 17.020 0.00 0.00 H +HETATM 5939 C2 MOL 372 35.720 29.480 18.800 0.00 0.00 C +HETATM 5940 H2 MOL 372 35.280 28.620 18.330 0.00 0.00 H +HETATM 5941 C3 MOL 372 35.860 29.380 20.190 0.00 0.00 C +HETATM 5942 H3 MOL 372 35.540 28.470 20.690 0.00 0.00 H +HETATM 5943 C4 MOL 372 36.360 30.470 20.900 0.00 0.00 C +HETATM 5944 H4 MOL 372 36.400 30.490 21.980 0.00 0.00 H +HETATM 5945 C5 MOL 372 36.870 31.580 20.210 0.00 0.00 C +HETATM 5946 H5 MOL 372 37.150 32.500 20.700 0.00 0.00 H +HETATM 5947 C6 MOL 372 36.800 31.640 18.810 0.00 0.00 C +HETATM 5948 C7 MOL 372 37.570 32.710 18.070 0.00 0.00 C +HETATM 5949 H6 MOL 372 37.580 33.550 18.760 0.00 0.00 H +HETATM 5950 H7 MOL 372 37.010 33.070 17.200 0.00 0.00 H +HETATM 5951 O1 MOL 372 38.780 32.070 17.740 0.00 0.00 O +HETATM 5952 H8 MOL 372 38.710 31.190 18.080 0.00 0.00 H +HETATM 5953 C1 MOL 373 55.360 0.560 34.830 0.00 0.00 C +HETATM 5954 H1 MOL 373 54.860 1.500 34.960 0.00 0.00 H +HETATM 5955 C2 MOL 373 56.050 0.200 33.670 0.00 0.00 C +HETATM 5956 H2 MOL 373 56.080 0.920 32.870 0.00 0.00 H +HETATM 5957 C3 MOL 373 56.570 -1.100 33.620 0.00 0.00 C +HETATM 5958 H3 MOL 373 57.140 -1.400 32.750 0.00 0.00 H +HETATM 5959 C4 MOL 373 56.350 -2.070 34.610 0.00 0.00 C +HETATM 5960 H4 MOL 373 56.750 -3.070 34.530 0.00 0.00 H +HETATM 5961 C5 MOL 373 55.600 -1.720 35.740 0.00 0.00 C +HETATM 5962 H5 MOL 373 55.370 -2.510 36.440 0.00 0.00 H +HETATM 5963 C6 MOL 373 55.180 -0.390 35.850 0.00 0.00 C +HETATM 5964 C7 MOL 373 54.220 -0.070 36.970 0.00 0.00 C +HETATM 5965 H6 MOL 373 53.830 -0.950 37.470 0.00 0.00 H +HETATM 5966 H7 MOL 373 53.350 0.410 36.540 0.00 0.00 H +HETATM 5967 O1 MOL 373 54.940 0.700 37.910 0.00 0.00 O +HETATM 5968 H8 MOL 373 55.720 0.270 38.220 0.00 0.00 H +HETATM 5969 C1 MOL 374 14.370 37.970 10.280 0.00 0.00 C +HETATM 5970 H1 MOL 374 13.960 37.090 9.800 0.00 0.00 H +HETATM 5971 C2 MOL 374 13.610 39.140 10.380 0.00 0.00 C +HETATM 5972 H2 MOL 374 12.590 39.110 10.020 0.00 0.00 H +HETATM 5973 C3 MOL 374 14.220 40.270 10.940 0.00 0.00 C +HETATM 5974 H3 MOL 374 13.620 41.160 10.990 0.00 0.00 H +HETATM 5975 C4 MOL 374 15.580 40.300 11.250 0.00 0.00 C +HETATM 5976 H4 MOL 374 15.930 41.280 11.550 0.00 0.00 H +HETATM 5977 C5 MOL 374 16.310 39.110 11.160 0.00 0.00 C +HETATM 5978 H5 MOL 374 17.310 39.180 11.560 0.00 0.00 H +HETATM 5979 C6 MOL 374 15.700 37.940 10.710 0.00 0.00 C +HETATM 5980 C7 MOL 374 16.490 36.660 10.560 0.00 0.00 C +HETATM 5981 H6 MOL 374 15.860 35.960 10.010 0.00 0.00 H +HETATM 5982 H7 MOL 374 16.720 36.260 11.540 0.00 0.00 H +HETATM 5983 O1 MOL 374 17.640 36.900 9.770 0.00 0.00 O +HETATM 5984 H8 MOL 374 17.500 36.810 8.850 0.00 0.00 H +HETATM 5985 C1 MOL 375 52.540 43.900 24.660 0.00 0.00 C +HETATM 5986 H1 MOL 375 52.950 43.090 24.080 0.00 0.00 H +HETATM 5987 C2 MOL 375 53.010 45.200 24.440 0.00 0.00 C +HETATM 5988 H2 MOL 375 53.700 45.460 23.650 0.00 0.00 H +HETATM 5989 C3 MOL 375 52.470 46.300 25.130 0.00 0.00 C +HETATM 5990 H3 MOL 375 52.830 47.300 25.000 0.00 0.00 H +HETATM 5991 C4 MOL 375 51.530 46.060 26.140 0.00 0.00 C +HETATM 5992 H4 MOL 375 51.140 46.860 26.750 0.00 0.00 H +HETATM 5993 C5 MOL 375 51.070 44.740 26.330 0.00 0.00 C +HETATM 5994 H5 MOL 375 50.390 44.560 27.150 0.00 0.00 H +HETATM 5995 C6 MOL 375 51.510 43.660 25.570 0.00 0.00 C +HETATM 5996 C7 MOL 375 50.880 42.290 25.690 0.00 0.00 C +HETATM 5997 H6 MOL 375 50.600 42.010 26.710 0.00 0.00 H +HETATM 5998 H7 MOL 375 51.740 41.680 25.440 0.00 0.00 H +HETATM 5999 O1 MOL 375 49.810 42.020 24.810 0.00 0.00 O +HETATM 6000 H8 MOL 375 49.020 42.480 25.030 0.00 0.00 H +HETATM 6001 C1 MOL 376 2.600 28.460 17.940 0.00 0.00 C +HETATM 6002 H1 MOL 376 3.030 27.470 17.910 0.00 0.00 H +HETATM 6003 C2 MOL 376 2.780 29.410 18.950 0.00 0.00 C +HETATM 6004 H2 MOL 376 3.590 29.340 19.650 0.00 0.00 H +HETATM 6005 C3 MOL 376 1.920 30.520 19.010 0.00 0.00 C +HETATM 6006 H3 MOL 376 2.140 31.270 19.760 0.00 0.00 H +HETATM 6007 C4 MOL 376 0.930 30.760 18.060 0.00 0.00 C +HETATM 6008 H4 MOL 376 0.140 31.490 18.220 0.00 0.00 H +HETATM 6009 C5 MOL 376 0.810 29.810 17.040 0.00 0.00 C +HETATM 6010 H5 MOL 376 0.010 29.800 16.310 0.00 0.00 H +HETATM 6011 C6 MOL 376 1.590 28.650 16.980 0.00 0.00 C +HETATM 6012 C7 MOL 376 1.300 27.610 15.930 0.00 0.00 C +HETATM 6013 H6 MOL 376 2.200 27.430 15.340 0.00 0.00 H +HETATM 6014 H7 MOL 376 0.440 27.830 15.300 0.00 0.00 H +HETATM 6015 O1 MOL 376 0.910 26.470 16.660 0.00 0.00 O +HETATM 6016 H8 MOL 376 0.210 26.780 17.200 0.00 0.00 H +HETATM 6017 C1 MOL 377 2.080 48.860 5.420 0.00 0.00 C +HETATM 6018 H1 MOL 377 2.870 48.490 4.780 0.00 0.00 H +HETATM 6019 C2 MOL 377 2.010 48.530 6.780 0.00 0.00 C +HETATM 6020 H2 MOL 377 2.870 48.010 7.180 0.00 0.00 H +HETATM 6021 C3 MOL 377 0.930 48.830 7.620 0.00 0.00 C +HETATM 6022 H3 MOL 377 0.890 48.590 8.670 0.00 0.00 H +HETATM 6023 C4 MOL 377 -0.120 49.510 6.990 0.00 0.00 C +HETATM 6024 H4 MOL 377 -0.960 49.840 7.590 0.00 0.00 H +HETATM 6025 C5 MOL 377 -0.120 49.810 5.620 0.00 0.00 C +HETATM 6026 H5 MOL 377 -0.910 50.480 5.320 0.00 0.00 H +HETATM 6027 C6 MOL 377 0.990 49.500 4.820 0.00 0.00 C +HETATM 6028 C7 MOL 377 1.000 50.000 3.400 0.00 0.00 C +HETATM 6029 H6 MOL 377 1.680 50.850 3.500 0.00 0.00 H +HETATM 6030 H7 MOL 377 0.030 50.400 3.100 0.00 0.00 H +HETATM 6031 O1 MOL 377 1.400 49.050 2.440 0.00 0.00 O +HETATM 6032 H8 MOL 377 0.890 48.270 2.610 0.00 0.00 H +HETATM 6033 C1 MOL 378 1.550 6.090 30.140 0.00 0.00 C +HETATM 6034 H1 MOL 378 0.580 5.630 29.980 0.00 0.00 H +HETATM 6035 C2 MOL 378 2.030 6.240 31.440 0.00 0.00 C +HETATM 6036 H2 MOL 378 1.530 5.840 32.310 0.00 0.00 H +HETATM 6037 C3 MOL 378 3.180 6.990 31.710 0.00 0.00 C +HETATM 6038 H3 MOL 378 3.470 7.180 32.730 0.00 0.00 H +HETATM 6039 C4 MOL 378 3.910 7.530 30.640 0.00 0.00 C +HETATM 6040 H4 MOL 378 4.830 8.100 30.690 0.00 0.00 H +HETATM 6041 C5 MOL 378 3.510 7.320 29.320 0.00 0.00 C +HETATM 6042 H5 MOL 378 4.130 7.770 28.560 0.00 0.00 H +HETATM 6043 C6 MOL 378 2.270 6.710 29.100 0.00 0.00 C +HETATM 6044 C7 MOL 378 1.690 6.450 27.730 0.00 0.00 C +HETATM 6045 H6 MOL 378 1.470 7.400 27.250 0.00 0.00 H +HETATM 6046 H7 MOL 378 0.740 5.940 27.900 0.00 0.00 H +HETATM 6047 O1 MOL 378 2.570 5.640 26.980 0.00 0.00 O +HETATM 6048 H8 MOL 378 2.310 5.770 26.080 0.00 0.00 H +HETATM 6049 C1 MOL 379 34.330 8.140 0.030 0.00 0.00 C +HETATM 6050 H1 MOL 379 34.810 7.520 0.770 0.00 0.00 H +HETATM 6051 C2 MOL 379 34.570 8.020 -1.340 0.00 0.00 C +HETATM 6052 H2 MOL 379 35.300 7.290 -1.670 0.00 0.00 H +HETATM 6053 C3 MOL 379 33.870 8.770 -2.300 0.00 0.00 C +HETATM 6054 H3 MOL 379 34.100 8.610 -3.340 0.00 0.00 H +HETATM 6055 C4 MOL 379 32.940 9.710 -1.840 0.00 0.00 C +HETATM 6056 H4 MOL 379 32.450 10.350 -2.550 0.00 0.00 H +HETATM 6057 C5 MOL 379 32.820 9.960 -0.470 0.00 0.00 C +HETATM 6058 H5 MOL 379 32.110 10.760 -0.300 0.00 0.00 H +HETATM 6059 C6 MOL 379 33.410 9.100 0.470 0.00 0.00 C +HETATM 6060 C7 MOL 379 33.100 9.190 1.940 0.00 0.00 C +HETATM 6061 H6 MOL 379 33.310 8.310 2.560 0.00 0.00 H +HETATM 6062 H7 MOL 379 32.040 9.410 2.010 0.00 0.00 H +HETATM 6063 O1 MOL 379 33.900 10.290 2.310 0.00 0.00 O +HETATM 6064 H8 MOL 379 33.880 10.400 3.250 0.00 0.00 H +HETATM 6065 C1 MOL 380 16.840 19.330 36.000 0.00 0.00 C +HETATM 6066 H1 MOL 380 16.510 19.380 37.030 0.00 0.00 H +HETATM 6067 C2 MOL 380 16.410 20.330 35.120 0.00 0.00 C +HETATM 6068 H2 MOL 380 15.700 21.100 35.360 0.00 0.00 H +HETATM 6069 C3 MOL 380 16.940 20.330 33.830 0.00 0.00 C +HETATM 6070 H3 MOL 380 16.590 21.090 33.140 0.00 0.00 H +HETATM 6071 C4 MOL 380 17.800 19.330 33.370 0.00 0.00 C +HETATM 6072 H4 MOL 380 18.280 19.330 32.400 0.00 0.00 H +HETATM 6073 C5 MOL 380 18.180 18.310 34.250 0.00 0.00 C +HETATM 6074 H5 MOL 380 18.880 17.560 33.920 0.00 0.00 H +HETATM 6075 C6 MOL 380 17.720 18.330 35.570 0.00 0.00 C +HETATM 6076 C7 MOL 380 18.260 17.320 36.550 0.00 0.00 C +HETATM 6077 H6 MOL 380 18.290 17.750 37.550 0.00 0.00 H +HETATM 6078 H7 MOL 380 19.280 17.080 36.220 0.00 0.00 H +HETATM 6079 O1 MOL 380 17.470 16.160 36.410 0.00 0.00 O +HETATM 6080 H8 MOL 380 17.400 16.070 35.480 0.00 0.00 H +HETATM 6081 C1 MOL 381 47.590 34.700 3.570 0.00 0.00 C +HETATM 6082 H1 MOL 381 48.360 34.000 3.260 0.00 0.00 H +HETATM 6083 C2 MOL 381 47.880 35.900 4.210 0.00 0.00 C +HETATM 6084 H2 MOL 381 48.920 36.110 4.460 0.00 0.00 H +HETATM 6085 C3 MOL 381 46.920 36.890 4.420 0.00 0.00 C +HETATM 6086 H3 MOL 381 47.230 37.810 4.900 0.00 0.00 H +HETATM 6087 C4 MOL 381 45.620 36.700 3.950 0.00 0.00 C +HETATM 6088 H4 MOL 381 44.910 37.510 4.030 0.00 0.00 H +HETATM 6089 C5 MOL 381 45.320 35.490 3.310 0.00 0.00 C +HETATM 6090 H5 MOL 381 44.290 35.410 2.990 0.00 0.00 H +HETATM 6091 C6 MOL 381 46.300 34.520 3.060 0.00 0.00 C +HETATM 6092 C7 MOL 381 45.870 33.170 2.530 0.00 0.00 C +HETATM 6093 H6 MOL 381 46.590 32.720 1.830 0.00 0.00 H +HETATM 6094 H7 MOL 381 44.990 33.300 1.900 0.00 0.00 H +HETATM 6095 O1 MOL 381 45.530 32.300 3.570 0.00 0.00 O +HETATM 6096 H8 MOL 381 45.880 32.620 4.390 0.00 0.00 H +HETATM 6097 C1 MOL 382 22.420 36.350 14.600 0.00 0.00 C +HETATM 6098 H1 MOL 382 22.890 36.500 13.640 0.00 0.00 H +HETATM 6099 C2 MOL 382 21.110 35.860 14.540 0.00 0.00 C +HETATM 6100 H2 MOL 382 20.810 35.530 13.550 0.00 0.00 H +HETATM 6101 C3 MOL 382 20.380 35.690 15.720 0.00 0.00 C +HETATM 6102 H3 MOL 382 19.460 35.130 15.720 0.00 0.00 H +HETATM 6103 C4 MOL 382 20.950 36.010 16.960 0.00 0.00 C +HETATM 6104 H4 MOL 382 20.440 35.820 17.890 0.00 0.00 H +HETATM 6105 C5 MOL 382 22.230 36.570 17.030 0.00 0.00 C +HETATM 6106 H5 MOL 382 22.720 36.740 17.970 0.00 0.00 H +HETATM 6107 C6 MOL 382 22.950 36.730 15.840 0.00 0.00 C +HETATM 6108 C7 MOL 382 24.400 37.150 15.830 0.00 0.00 C +HETATM 6109 H6 MOL 382 24.420 38.060 16.430 0.00 0.00 H +HETATM 6110 H7 MOL 382 24.850 37.380 14.870 0.00 0.00 H +HETATM 6111 O1 MOL 382 25.020 36.020 16.400 0.00 0.00 O +HETATM 6112 H8 MOL 382 24.410 35.750 17.060 0.00 0.00 H +HETATM 6113 C1 MOL 383 31.310 20.480 38.900 0.00 0.00 C +HETATM 6114 H1 MOL 383 32.230 20.970 39.180 0.00 0.00 H +HETATM 6115 C2 MOL 383 30.310 20.510 39.880 0.00 0.00 C +HETATM 6116 H2 MOL 383 30.350 21.140 40.760 0.00 0.00 H +HETATM 6117 C3 MOL 383 29.190 19.700 39.670 0.00 0.00 C +HETATM 6118 H3 MOL 383 28.430 19.780 40.440 0.00 0.00 H +HETATM 6119 C4 MOL 383 29.040 18.960 38.500 0.00 0.00 C +HETATM 6120 H4 MOL 383 28.190 18.300 38.420 0.00 0.00 H +HETATM 6121 C5 MOL 383 30.040 19.000 37.510 0.00 0.00 C +HETATM 6122 H5 MOL 383 29.830 18.380 36.650 0.00 0.00 H +HETATM 6123 C6 MOL 383 31.190 19.770 37.700 0.00 0.00 C +HETATM 6124 C7 MOL 383 32.170 19.920 36.560 0.00 0.00 C +HETATM 6125 H6 MOL 383 32.850 20.700 36.900 0.00 0.00 H +HETATM 6126 H7 MOL 383 31.720 20.150 35.590 0.00 0.00 H +HETATM 6127 O1 MOL 383 32.720 18.630 36.440 0.00 0.00 O +HETATM 6128 H8 MOL 383 32.560 18.250 37.290 0.00 0.00 H +HETATM 6129 C1 MOL 384 29.570 7.690 1.580 0.00 0.00 C +HETATM 6130 H1 MOL 384 30.270 8.460 1.840 0.00 0.00 H +HETATM 6131 C2 MOL 384 28.230 8.090 1.470 0.00 0.00 C +HETATM 6132 H2 MOL 384 27.920 9.130 1.500 0.00 0.00 H +HETATM 6133 C3 MOL 384 27.180 7.190 1.270 0.00 0.00 C +HETATM 6134 H3 MOL 384 26.150 7.380 0.990 0.00 0.00 H +HETATM 6135 C4 MOL 384 27.520 5.830 1.260 0.00 0.00 C +HETATM 6136 H4 MOL 384 26.720 5.160 1.020 0.00 0.00 H +HETATM 6137 C5 MOL 384 28.850 5.380 1.350 0.00 0.00 C +HETATM 6138 H5 MOL 384 29.080 4.330 1.280 0.00 0.00 H +HETATM 6139 C6 MOL 384 29.870 6.330 1.410 0.00 0.00 C +HETATM 6140 C7 MOL 384 31.320 5.920 1.520 0.00 0.00 C +HETATM 6141 H6 MOL 384 31.910 6.640 0.960 0.00 0.00 H +HETATM 6142 H7 MOL 384 31.600 4.920 1.170 0.00 0.00 H +HETATM 6143 O1 MOL 384 31.820 5.950 2.840 0.00 0.00 O +HETATM 6144 H8 MOL 384 32.740 5.720 2.810 0.00 0.00 H +HETATM 6145 C1 MOL 385 55.000 19.420 51.770 0.00 0.00 C +HETATM 6146 H1 MOL 385 55.870 18.810 51.930 0.00 0.00 H +HETATM 6147 C2 MOL 385 53.790 18.840 51.370 0.00 0.00 C +HETATM 6148 H2 MOL 385 53.740 17.770 51.210 0.00 0.00 H +HETATM 6149 C3 MOL 385 52.580 19.530 51.490 0.00 0.00 C +HETATM 6150 H3 MOL 385 51.610 19.110 51.280 0.00 0.00 H +HETATM 6151 C4 MOL 385 52.620 20.890 51.790 0.00 0.00 C +HETATM 6152 H4 MOL 385 51.710 21.480 51.740 0.00 0.00 H +HETATM 6153 C5 MOL 385 53.840 21.520 52.090 0.00 0.00 C +HETATM 6154 H5 MOL 385 53.870 22.590 52.280 0.00 0.00 H +HETATM 6155 C6 MOL 385 55.020 20.780 52.120 0.00 0.00 C +HETATM 6156 C7 MOL 385 56.310 21.450 52.520 0.00 0.00 C +HETATM 6157 H6 MOL 385 56.420 22.430 52.050 0.00 0.00 H +HETATM 6158 H7 MOL 385 57.100 20.750 52.240 0.00 0.00 H +HETATM 6159 O1 MOL 385 56.310 21.620 53.920 0.00 0.00 O +HETATM 6160 H8 MOL 385 55.760 22.370 54.090 0.00 0.00 H +HETATM 6161 C1 MOL 386 9.890 20.720 23.590 0.00 0.00 C +HETATM 6162 H1 MOL 386 9.980 20.480 24.640 0.00 0.00 H +HETATM 6163 C2 MOL 386 9.820 22.060 23.200 0.00 0.00 C +HETATM 6164 H2 MOL 386 10.130 22.880 23.830 0.00 0.00 H +HETATM 6165 C3 MOL 386 9.510 22.380 21.870 0.00 0.00 C +HETATM 6166 H3 MOL 386 9.560 23.430 21.620 0.00 0.00 H +HETATM 6167 C4 MOL 386 9.210 21.380 20.940 0.00 0.00 C +HETATM 6168 H4 MOL 386 8.860 21.720 19.970 0.00 0.00 H +HETATM 6169 C5 MOL 386 9.230 20.040 21.340 0.00 0.00 C +HETATM 6170 H5 MOL 386 9.000 19.270 20.630 0.00 0.00 H +HETATM 6171 C6 MOL 386 9.620 19.720 22.650 0.00 0.00 C +HETATM 6172 C7 MOL 386 9.650 18.280 23.090 0.00 0.00 C +HETATM 6173 H6 MOL 386 9.640 18.260 24.180 0.00 0.00 H +HETATM 6174 H7 MOL 386 10.580 17.890 22.670 0.00 0.00 H +HETATM 6175 O1 MOL 386 8.460 17.720 22.600 0.00 0.00 O +HETATM 6176 H8 MOL 386 7.800 18.050 23.190 0.00 0.00 H +HETATM 6177 C1 MOL 387 40.280 30.550 15.150 0.00 0.00 C +HETATM 6178 H1 MOL 387 39.480 30.840 15.820 0.00 0.00 H +HETATM 6179 C2 MOL 387 40.860 29.280 15.000 0.00 0.00 C +HETATM 6180 H2 MOL 387 40.580 28.530 15.710 0.00 0.00 H +HETATM 6181 C3 MOL 387 41.990 29.020 14.200 0.00 0.00 C +HETATM 6182 H3 MOL 387 42.500 28.070 14.300 0.00 0.00 H +HETATM 6183 C4 MOL 387 42.330 30.050 13.330 0.00 0.00 C +HETATM 6184 H4 MOL 387 43.200 30.020 12.680 0.00 0.00 H +HETATM 6185 C5 MOL 387 41.610 31.250 13.270 0.00 0.00 C +HETATM 6186 H5 MOL 387 41.730 32.070 12.580 0.00 0.00 H +HETATM 6187 C6 MOL 387 40.680 31.560 14.270 0.00 0.00 C +HETATM 6188 C7 MOL 387 39.950 32.880 14.210 0.00 0.00 C +HETATM 6189 H6 MOL 387 40.530 33.560 13.580 0.00 0.00 H +HETATM 6190 H7 MOL 387 39.770 33.320 15.190 0.00 0.00 H +HETATM 6191 O1 MOL 387 38.720 32.690 13.550 0.00 0.00 O +HETATM 6192 H8 MOL 387 39.020 32.800 12.660 0.00 0.00 H +HETATM 6193 C1 MOL 388 5.170 27.100 49.270 0.00 0.00 C +HETATM 6194 H1 MOL 388 4.930 26.070 49.490 0.00 0.00 H +HETATM 6195 C2 MOL 388 6.450 27.660 49.210 0.00 0.00 C +HETATM 6196 H2 MOL 388 7.300 27.010 49.390 0.00 0.00 H +HETATM 6197 C3 MOL 388 6.770 28.970 48.840 0.00 0.00 C +HETATM 6198 H3 MOL 388 7.810 29.230 48.720 0.00 0.00 H +HETATM 6199 C4 MOL 388 5.670 29.780 48.560 0.00 0.00 C +HETATM 6200 H4 MOL 388 5.790 30.830 48.370 0.00 0.00 H +HETATM 6201 C5 MOL 388 4.350 29.300 48.650 0.00 0.00 C +HETATM 6202 H5 MOL 388 3.580 30.040 48.470 0.00 0.00 H +HETATM 6203 C6 MOL 388 4.100 27.970 49.020 0.00 0.00 C +HETATM 6204 C7 MOL 388 2.620 27.690 49.160 0.00 0.00 C +HETATM 6205 H6 MOL 388 2.460 26.650 48.900 0.00 0.00 H +HETATM 6206 H7 MOL 388 2.070 28.300 48.440 0.00 0.00 H +HETATM 6207 O1 MOL 388 2.360 28.080 50.490 0.00 0.00 O +HETATM 6208 H8 MOL 388 3.100 28.330 51.020 0.00 0.00 H +HETATM 6209 C1 MOL 389 5.260 17.260 2.190 0.00 0.00 C +HETATM 6210 H1 MOL 389 5.950 16.490 1.890 0.00 0.00 H +HETATM 6211 C2 MOL 389 3.880 17.000 2.190 0.00 0.00 C +HETATM 6212 H2 MOL 389 3.580 16.050 1.790 0.00 0.00 H +HETATM 6213 C3 MOL 389 3.020 18.060 2.510 0.00 0.00 C +HETATM 6214 H3 MOL 389 1.940 18.020 2.440 0.00 0.00 H +HETATM 6215 C4 MOL 389 3.540 19.290 2.920 0.00 0.00 C +HETATM 6216 H4 MOL 389 2.810 20.060 3.120 0.00 0.00 H +HETATM 6217 C5 MOL 389 4.920 19.480 3.000 0.00 0.00 C +HETATM 6218 H5 MOL 389 5.290 20.330 3.560 0.00 0.00 H +HETATM 6219 C6 MOL 389 5.810 18.510 2.530 0.00 0.00 C +HETATM 6220 C7 MOL 389 7.300 18.760 2.480 0.00 0.00 C +HETATM 6221 H6 MOL 389 7.600 19.480 1.730 0.00 0.00 H +HETATM 6222 H7 MOL 389 7.870 17.850 2.290 0.00 0.00 H +HETATM 6223 O1 MOL 389 7.670 19.280 3.740 0.00 0.00 O +HETATM 6224 H8 MOL 389 7.330 18.660 4.360 0.00 0.00 H +HETATM 6225 C1 MOL 390 12.390 23.370 27.500 0.00 0.00 C +HETATM 6226 H1 MOL 390 11.830 23.990 28.190 0.00 0.00 H +HETATM 6227 C2 MOL 390 11.960 23.230 26.180 0.00 0.00 C +HETATM 6228 H2 MOL 390 11.060 23.770 25.900 0.00 0.00 H +HETATM 6229 C3 MOL 390 12.650 22.400 25.290 0.00 0.00 C +HETATM 6230 H3 MOL 390 12.330 22.190 24.280 0.00 0.00 H +HETATM 6231 C4 MOL 390 13.890 21.880 25.670 0.00 0.00 C +HETATM 6232 H4 MOL 390 14.430 21.180 25.060 0.00 0.00 H +HETATM 6233 C5 MOL 390 14.310 22.140 26.980 0.00 0.00 C +HETATM 6234 H5 MOL 390 15.240 21.720 27.340 0.00 0.00 H +HETATM 6235 C6 MOL 390 13.620 22.880 27.950 0.00 0.00 C +HETATM 6236 C7 MOL 390 14.180 23.090 29.330 0.00 0.00 C +HETATM 6237 H6 MOL 390 14.060 24.140 29.600 0.00 0.00 H +HETATM 6238 H7 MOL 390 15.250 22.890 29.440 0.00 0.00 H +HETATM 6239 O1 MOL 390 13.550 22.330 30.340 0.00 0.00 O +HETATM 6240 H8 MOL 390 12.800 22.800 30.680 0.00 0.00 H +HETATM 6241 C1 MOL 391 13.530 20.700 5.830 0.00 0.00 C +HETATM 6242 H1 MOL 391 13.620 19.800 5.230 0.00 0.00 H +HETATM 6243 C2 MOL 391 13.410 21.990 5.310 0.00 0.00 C +HETATM 6244 H2 MOL 391 13.350 22.010 4.230 0.00 0.00 H +HETATM 6245 C3 MOL 391 13.310 23.020 6.250 0.00 0.00 C +HETATM 6246 H3 MOL 391 13.210 24.060 5.950 0.00 0.00 H +HETATM 6247 C4 MOL 391 13.380 22.840 7.630 0.00 0.00 C +HETATM 6248 H4 MOL 391 13.360 23.660 8.340 0.00 0.00 H +HETATM 6249 C5 MOL 391 13.410 21.530 8.120 0.00 0.00 C +HETATM 6250 H5 MOL 391 13.350 21.280 9.170 0.00 0.00 H +HETATM 6251 C6 MOL 391 13.510 20.470 7.210 0.00 0.00 C +HETATM 6252 C7 MOL 391 13.640 19.070 7.760 0.00 0.00 C +HETATM 6253 H6 MOL 391 13.080 18.390 7.110 0.00 0.00 H +HETATM 6254 H7 MOL 391 13.200 19.000 8.750 0.00 0.00 H +HETATM 6255 O1 MOL 391 14.990 18.680 7.870 0.00 0.00 O +HETATM 6256 H8 MOL 391 14.980 17.750 7.720 0.00 0.00 H +HETATM 6257 C1 MOL 392 50.880 23.500 38.670 0.00 0.00 C +HETATM 6258 H1 MOL 392 50.550 24.400 39.170 0.00 0.00 H +HETATM 6259 C2 MOL 392 50.400 23.140 37.400 0.00 0.00 C +HETATM 6260 H2 MOL 392 49.670 23.780 36.920 0.00 0.00 H +HETATM 6261 C3 MOL 392 50.940 22.050 36.710 0.00 0.00 C +HETATM 6262 H3 MOL 392 50.610 21.750 35.730 0.00 0.00 H +HETATM 6263 C4 MOL 392 51.910 21.280 37.350 0.00 0.00 C +HETATM 6264 H4 MOL 392 52.370 20.470 36.810 0.00 0.00 H +HETATM 6265 C5 MOL 392 52.400 21.630 38.620 0.00 0.00 C +HETATM 6266 H5 MOL 392 53.190 21.010 39.020 0.00 0.00 H +HETATM 6267 C6 MOL 392 51.840 22.710 39.300 0.00 0.00 C +HETATM 6268 C7 MOL 392 52.290 23.020 40.710 0.00 0.00 C +HETATM 6269 H6 MOL 392 51.930 23.990 41.040 0.00 0.00 H +HETATM 6270 H7 MOL 392 53.380 23.090 40.790 0.00 0.00 H +HETATM 6271 O1 MOL 392 51.730 21.890 41.340 0.00 0.00 O +HETATM 6272 H8 MOL 392 51.010 21.470 40.900 0.00 0.00 H +HETATM 6273 C1 MOL 393 39.330 8.950 49.990 0.00 0.00 C +HETATM 6274 H1 MOL 393 39.480 8.080 49.360 0.00 0.00 H +HETATM 6275 C2 MOL 393 39.040 8.860 51.360 0.00 0.00 C +HETATM 6276 H2 MOL 393 38.830 7.840 51.630 0.00 0.00 H +HETATM 6277 C3 MOL 393 39.010 9.970 52.210 0.00 0.00 C +HETATM 6278 H3 MOL 393 38.800 9.850 53.260 0.00 0.00 H +HETATM 6279 C4 MOL 393 39.190 11.240 51.670 0.00 0.00 C +HETATM 6280 H4 MOL 393 39.060 12.190 52.180 0.00 0.00 H +HETATM 6281 C5 MOL 393 39.370 11.360 50.290 0.00 0.00 C +HETATM 6282 H5 MOL 393 39.410 12.370 49.910 0.00 0.00 H +HETATM 6283 C6 MOL 393 39.410 10.230 49.450 0.00 0.00 C +HETATM 6284 C7 MOL 393 39.480 10.410 47.950 0.00 0.00 C +HETATM 6285 H6 MOL 393 39.410 11.470 47.700 0.00 0.00 H +HETATM 6286 H7 MOL 393 38.670 9.880 47.460 0.00 0.00 H +HETATM 6287 O1 MOL 393 40.690 10.000 47.350 0.00 0.00 O +HETATM 6288 H8 MOL 393 40.440 9.640 46.510 0.00 0.00 H +HETATM 6289 C1 MOL 394 24.010 32.500 50.180 0.00 0.00 C +HETATM 6290 H1 MOL 394 22.940 32.540 50.010 0.00 0.00 H +HETATM 6291 C2 MOL 394 24.800 33.650 50.310 0.00 0.00 C +HETATM 6292 H2 MOL 394 24.340 34.620 50.230 0.00 0.00 H +HETATM 6293 C3 MOL 394 26.150 33.460 50.610 0.00 0.00 C +HETATM 6294 H3 MOL 394 26.810 34.320 50.560 0.00 0.00 H +HETATM 6295 C4 MOL 394 26.710 32.180 50.690 0.00 0.00 C +HETATM 6296 H4 MOL 394 27.750 32.130 50.980 0.00 0.00 H +HETATM 6297 C5 MOL 394 25.900 31.040 50.660 0.00 0.00 C +HETATM 6298 H5 MOL 394 26.340 30.050 50.670 0.00 0.00 H +HETATM 6299 C6 MOL 394 24.540 31.220 50.390 0.00 0.00 C +HETATM 6300 C7 MOL 394 23.630 30.030 50.190 0.00 0.00 C +HETATM 6301 H6 MOL 394 23.400 29.870 49.130 0.00 0.00 H +HETATM 6302 H7 MOL 394 22.680 30.310 50.630 0.00 0.00 H +HETATM 6303 O1 MOL 394 24.120 28.900 50.870 0.00 0.00 O +HETATM 6304 H8 MOL 394 24.460 29.110 51.730 0.00 0.00 H +HETATM 6305 C1 MOL 395 23.860 19.120 29.910 0.00 0.00 C +HETATM 6306 H1 MOL 395 22.840 19.330 30.170 0.00 0.00 H +HETATM 6307 C2 MOL 395 24.770 19.060 30.970 0.00 0.00 C +HETATM 6308 H2 MOL 395 24.470 19.430 31.940 0.00 0.00 H +HETATM 6309 C3 MOL 395 26.110 18.750 30.720 0.00 0.00 C +HETATM 6310 H3 MOL 395 26.760 18.770 31.580 0.00 0.00 H +HETATM 6311 C4 MOL 395 26.550 18.510 29.410 0.00 0.00 C +HETATM 6312 H4 MOL 395 27.580 18.170 29.380 0.00 0.00 H +HETATM 6313 C5 MOL 395 25.640 18.560 28.350 0.00 0.00 C +HETATM 6314 H5 MOL 395 26.000 18.220 27.390 0.00 0.00 H +HETATM 6315 C6 MOL 395 24.290 18.830 28.600 0.00 0.00 C +HETATM 6316 C7 MOL 395 23.310 18.820 27.450 0.00 0.00 C +HETATM 6317 H6 MOL 395 23.440 17.880 26.910 0.00 0.00 H +HETATM 6318 H7 MOL 395 23.680 19.540 26.730 0.00 0.00 H +HETATM 6319 O1 MOL 395 22.000 19.130 27.870 0.00 0.00 O +HETATM 6320 H8 MOL 395 21.620 18.310 28.160 0.00 0.00 H +HETATM 6321 C1 MOL 396 37.280 19.830 8.200 0.00 0.00 C +HETATM 6322 H1 MOL 396 37.650 20.650 7.600 0.00 0.00 H +HETATM 6323 C2 MOL 396 35.930 19.520 8.080 0.00 0.00 C +HETATM 6324 H2 MOL 396 35.270 20.200 7.570 0.00 0.00 H +HETATM 6325 C3 MOL 396 35.450 18.440 8.840 0.00 0.00 C +HETATM 6326 H3 MOL 396 34.420 18.150 8.700 0.00 0.00 H +HETATM 6327 C4 MOL 396 36.320 17.730 9.670 0.00 0.00 C +HETATM 6328 H4 MOL 396 35.840 16.930 10.220 0.00 0.00 H +HETATM 6329 C5 MOL 396 37.670 18.070 9.800 0.00 0.00 C +HETATM 6330 H5 MOL 396 38.230 17.530 10.550 0.00 0.00 H +HETATM 6331 C6 MOL 396 38.170 19.110 9.010 0.00 0.00 C +HETATM 6332 C7 MOL 396 39.610 19.530 9.110 0.00 0.00 C +HETATM 6333 H6 MOL 396 39.700 20.080 8.170 0.00 0.00 H +HETATM 6334 H7 MOL 396 40.350 18.720 9.110 0.00 0.00 H +HETATM 6335 O1 MOL 396 39.840 20.260 10.290 0.00 0.00 O +HETATM 6336 H8 MOL 396 39.150 20.900 10.410 0.00 0.00 H +HETATM 6337 C1 MOL 397 17.850 37.610 14.310 0.00 0.00 C +HETATM 6338 H1 MOL 397 17.990 37.390 13.270 0.00 0.00 H +HETATM 6339 C2 MOL 397 18.520 38.770 14.710 0.00 0.00 C +HETATM 6340 H2 MOL 397 19.320 39.130 14.070 0.00 0.00 H +HETATM 6341 C3 MOL 397 18.250 39.370 15.950 0.00 0.00 C +HETATM 6342 H3 MOL 397 18.780 40.280 16.190 0.00 0.00 H +HETATM 6343 C4 MOL 397 17.240 38.830 16.750 0.00 0.00 C +HETATM 6344 H4 MOL 397 17.020 39.140 17.760 0.00 0.00 H +HETATM 6345 C5 MOL 397 16.590 37.650 16.370 0.00 0.00 C +HETATM 6346 H5 MOL 397 15.940 37.190 17.090 0.00 0.00 H +HETATM 6347 C6 MOL 397 16.890 37.020 15.150 0.00 0.00 C +HETATM 6348 C7 MOL 397 16.060 35.880 14.640 0.00 0.00 C +HETATM 6349 H6 MOL 397 15.540 36.090 13.700 0.00 0.00 H +HETATM 6350 H7 MOL 397 15.430 35.370 15.370 0.00 0.00 H +HETATM 6351 O1 MOL 397 16.950 34.790 14.500 0.00 0.00 O +HETATM 6352 H8 MOL 397 17.610 34.950 13.840 0.00 0.00 H +HETATM 6353 C1 MOL 398 3.210 53.160 1.300 0.00 0.00 C +HETATM 6354 H1 MOL 398 3.810 52.640 2.040 0.00 0.00 H +HETATM 6355 C2 MOL 398 3.060 54.540 1.500 0.00 0.00 C +HETATM 6356 H2 MOL 398 3.630 55.060 2.260 0.00 0.00 H +HETATM 6357 C3 MOL 398 2.130 55.250 0.750 0.00 0.00 C +HETATM 6358 H3 MOL 398 1.940 56.310 0.700 0.00 0.00 H +HETATM 6359 C4 MOL 398 1.650 54.630 -0.410 0.00 0.00 C +HETATM 6360 H4 MOL 398 1.150 55.240 -1.150 0.00 0.00 H +HETATM 6361 C5 MOL 398 1.790 53.250 -0.630 0.00 0.00 C +HETATM 6362 H5 MOL 398 1.460 52.770 -1.530 0.00 0.00 H +HETATM 6363 C6 MOL 398 2.460 52.480 0.330 0.00 0.00 C +HETATM 6364 C7 MOL 398 2.610 50.980 0.270 0.00 0.00 C +HETATM 6365 H6 MOL 398 1.630 50.630 -0.050 0.00 0.00 H +HETATM 6366 H7 MOL 398 2.860 50.610 1.260 0.00 0.00 H +HETATM 6367 O1 MOL 398 3.580 50.680 -0.700 0.00 0.00 O +HETATM 6368 H8 MOL 398 3.280 50.810 -1.580 0.00 0.00 H +HETATM 6369 C1 MOL 399 44.070 40.900 22.910 0.00 0.00 C +HETATM 6370 H1 MOL 399 43.290 41.000 23.650 0.00 0.00 H +HETATM 6371 C2 MOL 399 45.390 41.110 23.350 0.00 0.00 C +HETATM 6372 H2 MOL 399 45.440 41.350 24.400 0.00 0.00 H +HETATM 6373 C3 MOL 399 46.470 41.110 22.450 0.00 0.00 C +HETATM 6374 H3 MOL 399 47.450 41.250 22.880 0.00 0.00 H +HETATM 6375 C4 MOL 399 46.180 40.910 21.100 0.00 0.00 C +HETATM 6376 H4 MOL 399 47.010 40.860 20.410 0.00 0.00 H +HETATM 6377 C5 MOL 399 44.890 40.650 20.630 0.00 0.00 C +HETATM 6378 H5 MOL 399 44.680 40.580 19.570 0.00 0.00 H +HETATM 6379 C6 MOL 399 43.840 40.650 21.550 0.00 0.00 C +HETATM 6380 C7 MOL 399 42.430 40.570 21.000 0.00 0.00 C +HETATM 6381 H6 MOL 399 42.330 40.110 20.010 0.00 0.00 H +HETATM 6382 H7 MOL 399 41.990 41.550 20.870 0.00 0.00 H +HETATM 6383 O1 MOL 399 41.690 39.890 21.990 0.00 0.00 O +HETATM 6384 H8 MOL 399 40.780 39.830 21.750 0.00 0.00 H +HETATM 6385 C1 MOL 400 34.350 15.290 17.550 0.00 0.00 C +HETATM 6386 H1 MOL 400 34.570 14.260 17.800 0.00 0.00 H +HETATM 6387 C2 MOL 400 35.020 16.240 18.330 0.00 0.00 C +HETATM 6388 H2 MOL 400 35.760 15.940 19.060 0.00 0.00 H +HETATM 6389 C3 MOL 400 34.700 17.600 18.230 0.00 0.00 C +HETATM 6390 H3 MOL 400 35.220 18.310 18.850 0.00 0.00 H +HETATM 6391 C4 MOL 400 33.730 17.990 17.300 0.00 0.00 C +HETATM 6392 H4 MOL 400 33.500 19.040 17.220 0.00 0.00 H +HETATM 6393 C5 MOL 400 33.190 17.070 16.400 0.00 0.00 C +HETATM 6394 H5 MOL 400 32.590 17.440 15.580 0.00 0.00 H +HETATM 6395 C6 MOL 400 33.500 15.710 16.520 0.00 0.00 C +HETATM 6396 C7 MOL 400 32.900 14.650 15.630 0.00 0.00 C +HETATM 6397 H6 MOL 400 31.910 14.350 16.000 0.00 0.00 H +HETATM 6398 H7 MOL 400 33.510 13.750 15.740 0.00 0.00 H +HETATM 6399 O1 MOL 400 32.930 15.000 14.270 0.00 0.00 O +HETATM 6400 H8 MOL 400 32.920 14.140 13.870 0.00 0.00 H +HETATM 6401 C1 MOL 401 15.810 32.610 41.820 0.00 0.00 C +HETATM 6402 H1 MOL 401 15.900 33.670 41.620 0.00 0.00 H +HETATM 6403 C2 MOL 401 16.570 31.690 41.090 0.00 0.00 C +HETATM 6404 H2 MOL 401 17.230 31.980 40.280 0.00 0.00 H +HETATM 6405 C3 MOL 401 16.470 30.330 41.390 0.00 0.00 C +HETATM 6406 H3 MOL 401 17.010 29.630 40.770 0.00 0.00 H +HETATM 6407 C4 MOL 401 15.790 29.900 42.530 0.00 0.00 C +HETATM 6408 H4 MOL 401 15.770 28.850 42.750 0.00 0.00 H +HETATM 6409 C5 MOL 401 15.080 30.830 43.310 0.00 0.00 C +HETATM 6410 H5 MOL 401 14.570 30.540 44.210 0.00 0.00 H +HETATM 6411 C6 MOL 401 15.100 32.180 42.940 0.00 0.00 C +HETATM 6412 C7 MOL 401 14.060 33.070 43.600 0.00 0.00 C +HETATM 6413 H6 MOL 401 13.090 32.590 43.450 0.00 0.00 H +HETATM 6414 H7 MOL 401 14.070 34.020 43.070 0.00 0.00 H +HETATM 6415 O1 MOL 401 14.370 33.340 44.940 0.00 0.00 O +HETATM 6416 H8 MOL 401 14.360 32.500 45.360 0.00 0.00 H +HETATM 6417 C1 MOL 402 29.530 23.180 49.110 0.00 0.00 C +HETATM 6418 H1 MOL 402 29.800 24.170 48.770 0.00 0.00 H +HETATM 6419 C2 MOL 402 29.010 22.250 48.210 0.00 0.00 C +HETATM 6420 H2 MOL 402 28.810 22.540 47.190 0.00 0.00 H +HETATM 6421 C3 MOL 402 28.730 20.960 48.690 0.00 0.00 C +HETATM 6422 H3 MOL 402 28.220 20.150 48.180 0.00 0.00 H +HETATM 6423 C4 MOL 402 29.100 20.580 49.980 0.00 0.00 C +HETATM 6424 H4 MOL 402 29.110 19.550 50.310 0.00 0.00 H +HETATM 6425 C5 MOL 402 29.530 21.550 50.900 0.00 0.00 C +HETATM 6426 H5 MOL 402 29.680 21.210 51.910 0.00 0.00 H +HETATM 6427 C6 MOL 402 29.740 22.860 50.460 0.00 0.00 C +HETATM 6428 C7 MOL 402 30.390 23.880 51.370 0.00 0.00 C +HETATM 6429 H6 MOL 402 30.020 23.760 52.390 0.00 0.00 H +HETATM 6430 H7 MOL 402 30.040 24.860 51.040 0.00 0.00 H +HETATM 6431 O1 MOL 402 31.800 23.840 51.360 0.00 0.00 O +HETATM 6432 H8 MOL 402 32.150 22.970 51.340 0.00 0.00 H +HETATM 6433 C1 MOL 403 38.360 1.850 16.370 0.00 0.00 C +HETATM 6434 H1 MOL 403 37.320 1.610 16.230 0.00 0.00 H +HETATM 6435 C2 MOL 403 39.070 1.440 17.510 0.00 0.00 C +HETATM 6436 H2 MOL 403 38.710 0.600 18.080 0.00 0.00 H +HETATM 6437 C3 MOL 403 40.140 2.180 18.020 0.00 0.00 C +HETATM 6438 H3 MOL 403 40.650 1.770 18.890 0.00 0.00 H +HETATM 6439 C4 MOL 403 40.550 3.320 17.320 0.00 0.00 C +HETATM 6440 H4 MOL 403 41.400 3.900 17.630 0.00 0.00 H +HETATM 6441 C5 MOL 403 39.870 3.700 16.160 0.00 0.00 C +HETATM 6442 H5 MOL 403 40.030 4.670 15.710 0.00 0.00 H +HETATM 6443 C6 MOL 403 38.730 3.020 15.700 0.00 0.00 C +HETATM 6444 C7 MOL 403 37.860 3.590 14.610 0.00 0.00 C +HETATM 6445 H6 MOL 403 37.640 4.640 14.800 0.00 0.00 H +HETATM 6446 H7 MOL 403 36.880 3.130 14.510 0.00 0.00 H +HETATM 6447 O1 MOL 403 38.610 3.370 13.450 0.00 0.00 O +HETATM 6448 H8 MOL 403 39.440 3.740 13.700 0.00 0.00 H +HETATM 6449 C1 MOL 404 11.620 5.540 2.900 0.00 0.00 C +HETATM 6450 H1 MOL 404 11.630 4.810 2.100 0.00 0.00 H +HETATM 6451 C2 MOL 404 10.480 5.780 3.680 0.00 0.00 C +HETATM 6452 H2 MOL 404 9.600 5.160 3.580 0.00 0.00 H +HETATM 6453 C3 MOL 404 10.460 6.790 4.640 0.00 0.00 C +HETATM 6454 H3 MOL 404 9.520 7.010 5.130 0.00 0.00 H +HETATM 6455 C4 MOL 404 11.600 7.570 4.850 0.00 0.00 C +HETATM 6456 H4 MOL 404 11.630 8.410 5.540 0.00 0.00 H +HETATM 6457 C5 MOL 404 12.760 7.280 4.110 0.00 0.00 C +HETATM 6458 H5 MOL 404 13.690 7.790 4.310 0.00 0.00 H +HETATM 6459 C6 MOL 404 12.800 6.250 3.160 0.00 0.00 C +HETATM 6460 C7 MOL 404 14.060 6.020 2.370 0.00 0.00 C +HETATM 6461 H6 MOL 404 14.950 6.210 2.970 0.00 0.00 H +HETATM 6462 H7 MOL 404 13.990 6.550 1.420 0.00 0.00 H +HETATM 6463 O1 MOL 404 14.220 4.660 2.050 0.00 0.00 O +HETATM 6464 H8 MOL 404 13.760 4.220 2.750 0.00 0.00 H +HETATM 6465 C1 MOL 405 43.020 37.630 26.900 0.00 0.00 C +HETATM 6466 H1 MOL 405 43.830 38.140 27.420 0.00 0.00 H +HETATM 6467 C2 MOL 405 42.990 37.820 25.520 0.00 0.00 C +HETATM 6468 H2 MOL 405 43.880 38.350 25.220 0.00 0.00 H +HETATM 6469 C3 MOL 405 41.860 37.450 24.780 0.00 0.00 C +HETATM 6470 H3 MOL 405 41.810 37.580 23.710 0.00 0.00 H +HETATM 6471 C4 MOL 405 40.930 36.590 25.370 0.00 0.00 C +HETATM 6472 H4 MOL 405 40.210 36.130 24.710 0.00 0.00 H +HETATM 6473 C5 MOL 405 40.970 36.360 26.750 0.00 0.00 C +HETATM 6474 H5 MOL 405 40.190 35.710 27.120 0.00 0.00 H +HETATM 6475 C6 MOL 405 41.990 36.910 27.520 0.00 0.00 C +HETATM 6476 C7 MOL 405 41.930 36.800 29.030 0.00 0.00 C +HETATM 6477 H6 MOL 405 40.930 37.030 29.380 0.00 0.00 H +HETATM 6478 H7 MOL 405 42.540 37.580 29.490 0.00 0.00 H +HETATM 6479 O1 MOL 405 42.390 35.520 29.430 0.00 0.00 O +HETATM 6480 H8 MOL 405 43.170 35.290 28.950 0.00 0.00 H +HETATM 6481 C1 MOL 406 34.700 48.900 45.940 0.00 0.00 C +HETATM 6482 H1 MOL 406 35.190 47.940 45.920 0.00 0.00 H +HETATM 6483 C2 MOL 406 33.300 48.890 45.980 0.00 0.00 C +HETATM 6484 H2 MOL 406 32.750 47.980 45.780 0.00 0.00 H +HETATM 6485 C3 MOL 406 32.600 50.070 46.280 0.00 0.00 C +HETATM 6486 H3 MOL 406 31.530 50.150 46.420 0.00 0.00 H +HETATM 6487 C4 MOL 406 33.360 51.220 46.500 0.00 0.00 C +HETATM 6488 H4 MOL 406 32.970 52.230 46.610 0.00 0.00 H +HETATM 6489 C5 MOL 406 34.760 51.260 46.400 0.00 0.00 C +HETATM 6490 H5 MOL 406 35.310 52.170 46.560 0.00 0.00 H +HETATM 6491 C6 MOL 406 35.440 50.040 46.280 0.00 0.00 C +HETATM 6492 C7 MOL 406 36.940 49.860 46.330 0.00 0.00 C +HETATM 6493 H6 MOL 406 37.340 50.870 46.340 0.00 0.00 H +HETATM 6494 H7 MOL 406 37.220 49.480 45.340 0.00 0.00 H +HETATM 6495 O1 MOL 406 37.390 49.090 47.410 0.00 0.00 O +HETATM 6496 H8 MOL 406 36.840 49.140 48.180 0.00 0.00 H +HETATM 6497 C1 MOL 407 35.170 7.680 25.930 0.00 0.00 C +HETATM 6498 H1 MOL 407 34.230 8.100 26.270 0.00 0.00 H +HETATM 6499 C2 MOL 407 35.530 7.770 24.580 0.00 0.00 C +HETATM 6500 H2 MOL 407 34.860 8.260 23.900 0.00 0.00 H +HETATM 6501 C3 MOL 407 36.800 7.330 24.170 0.00 0.00 C +HETATM 6502 H3 MOL 407 37.150 7.470 23.160 0.00 0.00 H +HETATM 6503 C4 MOL 407 37.630 6.740 25.130 0.00 0.00 C +HETATM 6504 H4 MOL 407 38.540 6.260 24.790 0.00 0.00 H +HETATM 6505 C5 MOL 407 37.270 6.550 26.470 0.00 0.00 C +HETATM 6506 H5 MOL 407 37.980 6.240 27.220 0.00 0.00 H +HETATM 6507 C6 MOL 407 36.010 7.040 26.840 0.00 0.00 C +HETATM 6508 C7 MOL 407 35.490 6.750 28.230 0.00 0.00 C +HETATM 6509 H6 MOL 407 36.020 5.990 28.810 0.00 0.00 H +HETATM 6510 H7 MOL 407 34.580 6.170 28.130 0.00 0.00 H +HETATM 6511 O1 MOL 407 35.300 7.940 28.970 0.00 0.00 O +HETATM 6512 H8 MOL 407 34.670 7.840 29.660 0.00 0.00 H +HETATM 6513 C1 MOL 408 15.920 0.850 39.740 0.00 0.00 C +HETATM 6514 H1 MOL 408 16.240 -0.040 39.230 0.00 0.00 H +HETATM 6515 C2 MOL 408 14.990 1.600 39.000 0.00 0.00 C +HETATM 6516 H2 MOL 408 14.710 1.230 38.020 0.00 0.00 H +HETATM 6517 C3 MOL 408 14.500 2.810 39.490 0.00 0.00 C +HETATM 6518 H3 MOL 408 13.950 3.530 38.890 0.00 0.00 H +HETATM 6519 C4 MOL 408 14.820 3.190 40.800 0.00 0.00 C +HETATM 6520 H4 MOL 408 14.400 4.120 41.150 0.00 0.00 H +HETATM 6521 C5 MOL 408 15.660 2.420 41.620 0.00 0.00 C +HETATM 6522 H5 MOL 408 15.960 2.780 42.590 0.00 0.00 H +HETATM 6523 C6 MOL 408 16.290 1.330 41.000 0.00 0.00 C +HETATM 6524 C7 MOL 408 17.370 0.640 41.800 0.00 0.00 C +HETATM 6525 H6 MOL 408 17.610 0.990 42.800 0.00 0.00 H +HETATM 6526 H7 MOL 408 18.280 0.660 41.190 0.00 0.00 H +HETATM 6527 O1 MOL 408 17.030 -0.730 41.890 0.00 0.00 O +HETATM 6528 H8 MOL 408 16.170 -0.840 42.260 0.00 0.00 H +HETATM 6529 C1 MOL 409 28.020 3.610 30.530 0.00 0.00 C +HETATM 6530 H1 MOL 409 28.270 4.660 30.420 0.00 0.00 H +HETATM 6531 C2 MOL 409 27.570 2.880 29.420 0.00 0.00 C +HETATM 6532 H2 MOL 409 27.480 3.290 28.420 0.00 0.00 H +HETATM 6533 C3 MOL 409 27.330 1.520 29.610 0.00 0.00 C +HETATM 6534 H3 MOL 409 26.930 0.970 28.780 0.00 0.00 H +HETATM 6535 C4 MOL 409 27.450 0.890 30.860 0.00 0.00 C +HETATM 6536 H4 MOL 409 27.190 -0.150 31.010 0.00 0.00 H +HETATM 6537 C5 MOL 409 28.160 1.590 31.840 0.00 0.00 C +HETATM 6538 H5 MOL 409 28.400 1.160 32.800 0.00 0.00 H +HETATM 6539 C6 MOL 409 28.450 2.950 31.680 0.00 0.00 C +HETATM 6540 C7 MOL 409 29.120 3.750 32.780 0.00 0.00 C +HETATM 6541 H6 MOL 409 28.830 3.430 33.780 0.00 0.00 H +HETATM 6542 H7 MOL 409 28.770 4.780 32.760 0.00 0.00 H +HETATM 6543 O1 MOL 409 30.510 3.910 32.670 0.00 0.00 O +HETATM 6544 H8 MOL 409 30.700 4.370 31.870 0.00 0.00 H +HETATM 6545 C1 MOL 410 28.450 45.100 4.760 0.00 0.00 C +HETATM 6546 H1 MOL 410 29.250 45.660 4.300 0.00 0.00 H +HETATM 6547 C2 MOL 410 28.310 44.850 6.130 0.00 0.00 C +HETATM 6548 H2 MOL 410 29.020 45.200 6.860 0.00 0.00 H +HETATM 6549 C3 MOL 410 27.160 44.260 6.670 0.00 0.00 C +HETATM 6550 H3 MOL 410 26.940 44.220 7.730 0.00 0.00 H +HETATM 6551 C4 MOL 410 26.190 43.740 5.810 0.00 0.00 C +HETATM 6552 H4 MOL 410 25.310 43.250 6.210 0.00 0.00 H +HETATM 6553 C5 MOL 410 26.400 43.840 4.420 0.00 0.00 C +HETATM 6554 H5 MOL 410 25.570 43.530 3.800 0.00 0.00 H +HETATM 6555 C6 MOL 410 27.530 44.480 3.910 0.00 0.00 C +HETATM 6556 C7 MOL 410 27.800 44.630 2.430 0.00 0.00 C +HETATM 6557 H6 MOL 410 28.760 45.110 2.250 0.00 0.00 H +HETATM 6558 H7 MOL 410 26.980 45.220 2.010 0.00 0.00 H +HETATM 6559 O1 MOL 410 27.860 43.350 1.830 0.00 0.00 O +HETATM 6560 H8 MOL 410 28.520 42.770 2.160 0.00 0.00 H +HETATM 6561 C1 MOL 411 31.940 13.090 44.720 0.00 0.00 C +HETATM 6562 H1 MOL 411 32.870 13.460 44.310 0.00 0.00 H +HETATM 6563 C2 MOL 411 31.460 11.830 44.340 0.00 0.00 C +HETATM 6564 H2 MOL 411 32.070 11.190 43.730 0.00 0.00 H +HETATM 6565 C3 MOL 411 30.150 11.440 44.670 0.00 0.00 C +HETATM 6566 H3 MOL 411 29.840 10.420 44.480 0.00 0.00 H +HETATM 6567 C4 MOL 411 29.320 12.250 45.440 0.00 0.00 C +HETATM 6568 H4 MOL 411 28.420 11.790 45.810 0.00 0.00 H +HETATM 6569 C5 MOL 411 29.850 13.470 45.890 0.00 0.00 C +HETATM 6570 H5 MOL 411 29.160 13.950 46.570 0.00 0.00 H +HETATM 6571 C6 MOL 411 31.150 13.880 45.560 0.00 0.00 C +HETATM 6572 C7 MOL 411 31.690 15.220 46.000 0.00 0.00 C +HETATM 6573 H6 MOL 411 30.840 15.820 46.300 0.00 0.00 H +HETATM 6574 H7 MOL 411 32.150 15.680 45.130 0.00 0.00 H +HETATM 6575 O1 MOL 411 32.530 14.810 47.060 0.00 0.00 O +HETATM 6576 H8 MOL 411 32.030 14.250 47.630 0.00 0.00 H +HETATM 6577 C1 MOL 412 0.110 48.280 34.520 0.00 0.00 C +HETATM 6578 H1 MOL 412 0.330 48.090 35.560 0.00 0.00 H +HETATM 6579 C2 MOL 412 -1.030 47.620 34.040 0.00 0.00 C +HETATM 6580 H2 MOL 412 -1.610 46.960 34.670 0.00 0.00 H +HETATM 6581 C3 MOL 412 -1.430 47.830 32.720 0.00 0.00 C +HETATM 6582 H3 MOL 412 -2.270 47.260 32.350 0.00 0.00 H +HETATM 6583 C4 MOL 412 -0.690 48.690 31.890 0.00 0.00 C +HETATM 6584 H4 MOL 412 -1.040 48.710 30.870 0.00 0.00 H +HETATM 6585 C5 MOL 412 0.400 49.380 32.440 0.00 0.00 C +HETATM 6586 H5 MOL 412 0.900 50.110 31.820 0.00 0.00 H +HETATM 6587 C6 MOL 412 0.850 49.190 33.750 0.00 0.00 C +HETATM 6588 C7 MOL 412 2.190 49.720 34.170 0.00 0.00 C +HETATM 6589 H6 MOL 412 2.200 49.700 35.260 0.00 0.00 H +HETATM 6590 H7 MOL 412 2.310 50.770 33.900 0.00 0.00 H +HETATM 6591 O1 MOL 412 3.220 48.930 33.620 0.00 0.00 O +HETATM 6592 H8 MOL 412 2.770 48.470 32.930 0.00 0.00 H +HETATM 6593 C1 MOL 413 30.090 15.280 39.930 0.00 0.00 C +HETATM 6594 H1 MOL 413 30.640 16.180 39.700 0.00 0.00 H +HETATM 6595 C2 MOL 413 28.700 15.120 39.790 0.00 0.00 C +HETATM 6596 H2 MOL 413 27.980 15.820 39.410 0.00 0.00 H +HETATM 6597 C3 MOL 413 28.100 13.950 40.270 0.00 0.00 C +HETATM 6598 H3 MOL 413 27.060 13.770 40.050 0.00 0.00 H +HETATM 6599 C4 MOL 413 28.860 12.960 40.910 0.00 0.00 C +HETATM 6600 H4 MOL 413 28.360 12.040 41.180 0.00 0.00 H +HETATM 6601 C5 MOL 413 30.250 13.120 40.970 0.00 0.00 C +HETATM 6602 H5 MOL 413 30.740 12.250 41.360 0.00 0.00 H +HETATM 6603 C6 MOL 413 30.880 14.260 40.470 0.00 0.00 C +HETATM 6604 C7 MOL 413 32.390 14.340 40.480 0.00 0.00 C +HETATM 6605 H6 MOL 413 32.770 13.530 41.100 0.00 0.00 H +HETATM 6606 H7 MOL 413 32.810 15.240 40.930 0.00 0.00 H +HETATM 6607 O1 MOL 413 33.030 14.260 39.220 0.00 0.00 O +HETATM 6608 H8 MOL 413 32.930 13.380 38.890 0.00 0.00 H +HETATM 6609 C1 MOL 414 7.380 42.100 50.750 0.00 0.00 C +HETATM 6610 H1 MOL 414 7.120 42.250 51.780 0.00 0.00 H +HETATM 6611 C2 MOL 414 6.500 42.260 49.670 0.00 0.00 C +HETATM 6612 H2 MOL 414 5.470 42.540 49.860 0.00 0.00 H +HETATM 6613 C3 MOL 414 6.890 42.090 48.340 0.00 0.00 C +HETATM 6614 H3 MOL 414 6.110 42.180 47.590 0.00 0.00 H +HETATM 6615 C4 MOL 414 8.220 41.800 48.000 0.00 0.00 C +HETATM 6616 H4 MOL 414 8.610 41.570 47.020 0.00 0.00 H +HETATM 6617 C5 MOL 414 9.120 41.650 49.060 0.00 0.00 C +HETATM 6618 H5 MOL 414 10.160 41.470 48.840 0.00 0.00 H +HETATM 6619 C6 MOL 414 8.690 41.800 50.380 0.00 0.00 C +HETATM 6620 C7 MOL 414 9.600 41.440 51.540 0.00 0.00 C +HETATM 6621 H6 MOL 414 9.380 42.170 52.320 0.00 0.00 H +HETATM 6622 H7 MOL 414 10.670 41.390 51.340 0.00 0.00 H +HETATM 6623 O1 MOL 414 9.220 40.100 51.770 0.00 0.00 O +HETATM 6624 H8 MOL 414 8.960 39.690 50.950 0.00 0.00 H +HETATM 6625 C1 MOL 415 21.410 46.510 13.130 0.00 0.00 C +HETATM 6626 H1 MOL 415 20.640 46.400 12.380 0.00 0.00 H +HETATM 6627 C2 MOL 415 22.350 45.490 13.330 0.00 0.00 C +HETATM 6628 H2 MOL 415 22.470 44.650 12.670 0.00 0.00 H +HETATM 6629 C3 MOL 415 23.320 45.690 14.320 0.00 0.00 C +HETATM 6630 H3 MOL 415 24.100 44.940 14.390 0.00 0.00 H +HETATM 6631 C4 MOL 415 23.280 46.770 15.200 0.00 0.00 C +HETATM 6632 H4 MOL 415 23.820 46.760 16.140 0.00 0.00 H +HETATM 6633 C5 MOL 415 22.260 47.730 15.100 0.00 0.00 C +HETATM 6634 H5 MOL 415 22.060 48.480 15.860 0.00 0.00 H +HETATM 6635 C6 MOL 415 21.420 47.620 13.990 0.00 0.00 C +HETATM 6636 C7 MOL 415 20.400 48.700 13.760 0.00 0.00 C +HETATM 6637 H6 MOL 415 19.970 48.700 12.760 0.00 0.00 H +HETATM 6638 H7 MOL 415 21.020 49.570 13.960 0.00 0.00 H +HETATM 6639 O1 MOL 415 19.320 48.670 14.670 0.00 0.00 O +HETATM 6640 H8 MOL 415 19.000 47.790 14.550 0.00 0.00 H +HETATM 6641 C1 MOL 416 46.350 25.730 5.190 0.00 0.00 C +HETATM 6642 H1 MOL 416 45.420 25.660 4.660 0.00 0.00 H +HETATM 6643 C2 MOL 416 46.280 25.690 6.590 0.00 0.00 C +HETATM 6644 H2 MOL 416 45.300 25.510 7.010 0.00 0.00 H +HETATM 6645 C3 MOL 416 47.450 25.840 7.340 0.00 0.00 C +HETATM 6646 H3 MOL 416 47.430 25.900 8.420 0.00 0.00 H +HETATM 6647 C4 MOL 416 48.680 26.050 6.700 0.00 0.00 C +HETATM 6648 H4 MOL 416 49.550 26.350 7.260 0.00 0.00 H +HETATM 6649 C5 MOL 416 48.760 26.170 5.310 0.00 0.00 C +HETATM 6650 H5 MOL 416 49.700 26.320 4.790 0.00 0.00 H +HETATM 6651 C6 MOL 416 47.570 26.080 4.590 0.00 0.00 C +HETATM 6652 C7 MOL 416 47.500 26.250 3.090 0.00 0.00 C +HETATM 6653 H6 MOL 416 46.750 26.950 2.710 0.00 0.00 H +HETATM 6654 H7 MOL 416 47.140 25.370 2.550 0.00 0.00 H +HETATM 6655 O1 MOL 416 48.730 26.700 2.580 0.00 0.00 O +HETATM 6656 H8 MOL 416 48.960 27.530 2.970 0.00 0.00 H +HETATM 6657 C1 MOL 417 6.430 35.310 36.020 0.00 0.00 C +HETATM 6658 H1 MOL 417 6.470 35.680 37.040 0.00 0.00 H +HETATM 6659 C2 MOL 417 5.170 34.810 35.650 0.00 0.00 C +HETATM 6660 H2 MOL 417 4.390 34.870 36.390 0.00 0.00 H +HETATM 6661 C3 MOL 417 5.080 34.150 34.410 0.00 0.00 C +HETATM 6662 H3 MOL 417 4.100 33.810 34.100 0.00 0.00 H +HETATM 6663 C4 MOL 417 6.240 33.880 33.690 0.00 0.00 C +HETATM 6664 H4 MOL 417 6.230 33.300 32.780 0.00 0.00 H +HETATM 6665 C5 MOL 417 7.500 34.220 34.210 0.00 0.00 C +HETATM 6666 H5 MOL 417 8.410 33.950 33.690 0.00 0.00 H +HETATM 6667 C6 MOL 417 7.630 34.960 35.390 0.00 0.00 C +HETATM 6668 C7 MOL 417 8.960 35.250 36.040 0.00 0.00 C +HETATM 6669 H6 MOL 417 9.420 34.370 36.480 0.00 0.00 H +HETATM 6670 H7 MOL 417 8.760 36.060 36.730 0.00 0.00 H +HETATM 6671 O1 MOL 417 9.850 35.740 35.060 0.00 0.00 O +HETATM 6672 H8 MOL 417 9.460 36.240 34.350 0.00 0.00 H +HETATM 6673 C1 MOL 418 10.330 39.070 14.780 0.00 0.00 C +HETATM 6674 H1 MOL 418 9.440 38.740 14.260 0.00 0.00 H +HETATM 6675 C2 MOL 418 11.570 38.580 14.370 0.00 0.00 C +HETATM 6676 H2 MOL 418 11.700 37.920 13.530 0.00 0.00 H +HETATM 6677 C3 MOL 418 12.670 38.910 15.170 0.00 0.00 C +HETATM 6678 H3 MOL 418 13.700 38.710 14.950 0.00 0.00 H +HETATM 6679 C4 MOL 418 12.510 39.720 16.310 0.00 0.00 C +HETATM 6680 H4 MOL 418 13.290 39.970 17.020 0.00 0.00 H +HETATM 6681 C5 MOL 418 11.250 40.260 16.600 0.00 0.00 C +HETATM 6682 H5 MOL 418 11.200 40.950 17.430 0.00 0.00 H +HETATM 6683 C6 MOL 418 10.100 39.910 15.870 0.00 0.00 C +HETATM 6684 C7 MOL 418 8.730 40.400 16.260 0.00 0.00 C +HETATM 6685 H6 MOL 418 8.060 40.210 15.410 0.00 0.00 H +HETATM 6686 H7 MOL 418 8.970 41.440 16.470 0.00 0.00 H +HETATM 6687 O1 MOL 418 8.370 39.720 17.440 0.00 0.00 O +HETATM 6688 H8 MOL 418 8.970 39.860 18.150 0.00 0.00 H +HETATM 6689 C1 MOL 419 41.260 53.260 50.320 0.00 0.00 C +HETATM 6690 H1 MOL 419 40.640 53.980 50.830 0.00 0.00 H +HETATM 6691 C2 MOL 419 42.460 53.840 49.880 0.00 0.00 C +HETATM 6692 H2 MOL 419 42.610 54.840 50.250 0.00 0.00 H +HETATM 6693 C3 MOL 419 43.500 53.070 49.340 0.00 0.00 C +HETATM 6694 H3 MOL 419 44.410 53.560 49.030 0.00 0.00 H +HETATM 6695 C4 MOL 419 43.320 51.680 49.290 0.00 0.00 C +HETATM 6696 H4 MOL 419 44.070 50.990 48.930 0.00 0.00 H +HETATM 6697 C5 MOL 419 42.070 51.120 49.570 0.00 0.00 C +HETATM 6698 H5 MOL 419 41.880 50.070 49.390 0.00 0.00 H +HETATM 6699 C6 MOL 419 41.040 51.890 50.110 0.00 0.00 C +HETATM 6700 C7 MOL 419 39.640 51.340 50.240 0.00 0.00 C +HETATM 6701 H6 MOL 419 39.370 50.940 49.270 0.00 0.00 H +HETATM 6702 H7 MOL 419 38.890 52.100 50.450 0.00 0.00 H +HETATM 6703 O1 MOL 419 39.790 50.390 51.280 0.00 0.00 O +HETATM 6704 H8 MOL 419 40.590 50.500 51.770 0.00 0.00 H +HETATM 6705 C1 MOL 420 53.170 41.390 32.670 0.00 0.00 C +HETATM 6706 H1 MOL 420 53.110 40.470 32.100 0.00 0.00 H +HETATM 6707 C2 MOL 420 52.020 41.770 33.360 0.00 0.00 C +HETATM 6708 H2 MOL 420 51.170 41.130 33.190 0.00 0.00 H +HETATM 6709 C3 MOL 420 51.860 43.040 33.930 0.00 0.00 C +HETATM 6710 H3 MOL 420 50.940 43.350 34.410 0.00 0.00 H +HETATM 6711 C4 MOL 420 52.970 43.890 34.000 0.00 0.00 C +HETATM 6712 H4 MOL 420 53.000 44.880 34.430 0.00 0.00 H +HETATM 6713 C5 MOL 420 54.140 43.450 33.370 0.00 0.00 C +HETATM 6714 H5 MOL 420 54.980 44.120 33.420 0.00 0.00 H +HETATM 6715 C6 MOL 420 54.280 42.250 32.650 0.00 0.00 C +HETATM 6716 C7 MOL 420 55.550 42.010 31.880 0.00 0.00 C +HETATM 6717 H6 MOL 420 56.340 42.560 32.390 0.00 0.00 H +HETATM 6718 H7 MOL 420 55.420 42.320 30.850 0.00 0.00 H +HETATM 6719 O1 MOL 420 55.770 40.620 32.010 0.00 0.00 O +HETATM 6720 H8 MOL 420 56.220 40.500 32.830 0.00 0.00 H +HETATM 6721 C1 MOL 421 13.690 19.880 21.510 0.00 0.00 C +HETATM 6722 H1 MOL 421 12.720 19.680 21.950 0.00 0.00 H +HETATM 6723 C2 MOL 421 14.870 19.490 22.140 0.00 0.00 C +HETATM 6724 H2 MOL 421 14.820 18.980 23.100 0.00 0.00 H +HETATM 6725 C3 MOL 421 16.100 19.750 21.530 0.00 0.00 C +HETATM 6726 H3 MOL 421 17.020 19.480 22.030 0.00 0.00 H +HETATM 6727 C4 MOL 421 16.230 20.450 20.330 0.00 0.00 C +HETATM 6728 H4 MOL 421 17.220 20.560 19.910 0.00 0.00 H +HETATM 6729 C5 MOL 421 15.040 20.850 19.710 0.00 0.00 C +HETATM 6730 H5 MOL 421 15.100 21.430 18.800 0.00 0.00 H +HETATM 6731 C6 MOL 421 13.810 20.590 20.310 0.00 0.00 C +HETATM 6732 C7 MOL 421 12.520 21.010 19.630 0.00 0.00 C +HETATM 6733 H6 MOL 421 11.660 20.920 20.290 0.00 0.00 H +HETATM 6734 H7 MOL 421 12.370 20.430 18.720 0.00 0.00 H +HETATM 6735 O1 MOL 421 12.680 22.350 19.230 0.00 0.00 O +HETATM 6736 H8 MOL 421 12.990 22.900 19.940 0.00 0.00 H +HETATM 6737 C1 MOL 422 8.440 55.370 34.140 0.00 0.00 C +HETATM 6738 H1 MOL 422 7.810 54.490 34.100 0.00 0.00 H +HETATM 6739 C2 MOL 422 8.140 56.460 33.320 0.00 0.00 C +HETATM 6740 H2 MOL 422 7.440 56.430 32.500 0.00 0.00 H +HETATM 6741 C3 MOL 422 8.900 57.630 33.450 0.00 0.00 C +HETATM 6742 H3 MOL 422 8.620 58.460 32.810 0.00 0.00 H +HETATM 6743 C4 MOL 422 10.050 57.700 34.240 0.00 0.00 C +HETATM 6744 H4 MOL 422 10.610 58.610 34.390 0.00 0.00 H +HETATM 6745 C5 MOL 422 10.290 56.620 35.090 0.00 0.00 C +HETATM 6746 H5 MOL 422 11.210 56.660 35.650 0.00 0.00 H +HETATM 6747 C6 MOL 422 9.540 55.440 35.000 0.00 0.00 C +HETATM 6748 C7 MOL 422 10.070 54.200 35.680 0.00 0.00 C +HETATM 6749 H6 MOL 422 9.290 53.460 35.480 0.00 0.00 H +HETATM 6750 H7 MOL 422 10.220 54.320 36.750 0.00 0.00 H +HETATM 6751 O1 MOL 422 11.360 53.940 35.170 0.00 0.00 O +HETATM 6752 H8 MOL 422 11.710 54.810 35.120 0.00 0.00 H +HETATM 6753 C1 MOL 423 41.490 44.410 15.960 0.00 0.00 C +HETATM 6754 H1 MOL 423 41.170 45.360 15.550 0.00 0.00 H +HETATM 6755 C2 MOL 423 40.920 44.140 17.210 0.00 0.00 C +HETATM 6756 H2 MOL 423 40.190 44.810 17.630 0.00 0.00 H +HETATM 6757 C3 MOL 423 41.320 42.970 17.870 0.00 0.00 C +HETATM 6758 H3 MOL 423 40.930 42.740 18.850 0.00 0.00 H +HETATM 6759 C4 MOL 423 42.270 42.120 17.300 0.00 0.00 C +HETATM 6760 H4 MOL 423 42.580 41.250 17.860 0.00 0.00 H +HETATM 6761 C5 MOL 423 42.850 42.420 16.060 0.00 0.00 C +HETATM 6762 H5 MOL 423 43.720 41.820 15.840 0.00 0.00 H +HETATM 6763 C6 MOL 423 42.500 43.610 15.410 0.00 0.00 C +HETATM 6764 C7 MOL 423 43.370 44.180 14.310 0.00 0.00 C +HETATM 6765 H6 MOL 423 42.670 44.940 13.960 0.00 0.00 H +HETATM 6766 H7 MOL 423 43.330 43.360 13.580 0.00 0.00 H +HETATM 6767 O1 MOL 423 44.620 44.540 14.850 0.00 0.00 O +HETATM 6768 H8 MOL 423 44.310 44.920 15.650 0.00 0.00 H +HETATM 6769 C1 MOL 424 38.070 46.260 28.290 0.00 0.00 C +HETATM 6770 H1 MOL 424 37.350 46.990 28.620 0.00 0.00 H +HETATM 6771 C2 MOL 424 38.940 45.740 29.260 0.00 0.00 C +HETATM 6772 H2 MOL 424 38.790 45.960 30.310 0.00 0.00 H +HETATM 6773 C3 MOL 424 39.910 44.830 28.840 0.00 0.00 C +HETATM 6774 H3 MOL 424 40.440 44.390 29.660 0.00 0.00 H +HETATM 6775 C4 MOL 424 40.050 44.530 27.480 0.00 0.00 C +HETATM 6776 H4 MOL 424 40.800 43.830 27.150 0.00 0.00 H +HETATM 6777 C5 MOL 424 39.180 45.070 26.520 0.00 0.00 C +HETATM 6778 H5 MOL 424 39.340 44.750 25.500 0.00 0.00 H +HETATM 6779 C6 MOL 424 38.190 45.970 26.930 0.00 0.00 C +HETATM 6780 C7 MOL 424 37.180 46.590 25.990 0.00 0.00 C +HETATM 6781 H6 MOL 424 37.300 46.170 24.990 0.00 0.00 H +HETATM 6782 H7 MOL 424 37.390 47.650 25.880 0.00 0.00 H +HETATM 6783 O1 MOL 424 35.850 46.360 26.410 0.00 0.00 O +HETATM 6784 H8 MOL 424 35.810 45.430 26.270 0.00 0.00 H +HETATM 6785 C1 MOL 425 49.340 3.470 22.620 0.00 0.00 C +HETATM 6786 H1 MOL 425 50.330 3.720 22.980 0.00 0.00 H +HETATM 6787 C2 MOL 425 49.220 2.130 22.240 0.00 0.00 C +HETATM 6788 H2 MOL 425 49.930 1.350 22.450 0.00 0.00 H +HETATM 6789 C3 MOL 425 48.050 1.690 21.600 0.00 0.00 C +HETATM 6790 H3 MOL 425 47.810 0.660 21.350 0.00 0.00 H +HETATM 6791 C4 MOL 425 47.020 2.620 21.430 0.00 0.00 C +HETATM 6792 H4 MOL 425 46.180 2.150 20.940 0.00 0.00 H +HETATM 6793 C5 MOL 425 47.060 3.920 21.950 0.00 0.00 C +HETATM 6794 H5 MOL 425 46.150 4.490 21.800 0.00 0.00 H +HETATM 6795 C6 MOL 425 48.280 4.370 22.460 0.00 0.00 C +HETATM 6796 C7 MOL 425 48.520 5.780 22.950 0.00 0.00 C +HETATM 6797 H6 MOL 425 48.060 6.590 22.380 0.00 0.00 H +HETATM 6798 H7 MOL 425 49.600 5.920 22.980 0.00 0.00 H +HETATM 6799 O1 MOL 425 48.140 5.820 24.300 0.00 0.00 O +HETATM 6800 H8 MOL 425 47.210 5.660 24.260 0.00 0.00 H +HETATM 6801 C1 MOL 426 32.380 47.800 31.620 0.00 0.00 C +HETATM 6802 H1 MOL 426 32.200 48.800 31.240 0.00 0.00 H +HETATM 6803 C2 MOL 426 31.610 46.760 31.080 0.00 0.00 C +HETATM 6804 H2 MOL 426 30.830 46.970 30.370 0.00 0.00 H +HETATM 6805 C3 MOL 426 31.600 45.520 31.740 0.00 0.00 C +HETATM 6806 H3 MOL 426 30.920 44.750 31.400 0.00 0.00 H +HETATM 6807 C4 MOL 426 32.420 45.310 32.850 0.00 0.00 C +HETATM 6808 H4 MOL 426 32.540 44.300 33.220 0.00 0.00 H +HETATM 6809 C5 MOL 426 33.280 46.320 33.300 0.00 0.00 C +HETATM 6810 H5 MOL 426 33.920 46.070 34.130 0.00 0.00 H +HETATM 6811 C6 MOL 426 33.250 47.580 32.680 0.00 0.00 C +HETATM 6812 C7 MOL 426 34.120 48.680 33.250 0.00 0.00 C +HETATM 6813 H6 MOL 426 34.740 48.190 34.010 0.00 0.00 H +HETATM 6814 H7 MOL 426 33.550 49.310 33.930 0.00 0.00 H +HETATM 6815 O1 MOL 426 35.010 49.310 32.360 0.00 0.00 O +HETATM 6816 H8 MOL 426 34.590 49.320 31.510 0.00 0.00 H +HETATM 6817 C1 MOL 427 32.580 0.240 27.910 0.00 0.00 C +HETATM 6818 H1 MOL 427 33.250 0.280 28.750 0.00 0.00 H +HETATM 6819 C2 MOL 427 32.880 -0.200 26.620 0.00 0.00 C +HETATM 6820 H2 MOL 427 33.920 -0.350 26.370 0.00 0.00 H +HETATM 6821 C3 MOL 427 31.830 -0.240 25.690 0.00 0.00 C +HETATM 6822 H3 MOL 427 32.030 -0.690 24.730 0.00 0.00 H +HETATM 6823 C4 MOL 427 30.540 0.100 26.110 0.00 0.00 C +HETATM 6824 H4 MOL 427 29.710 -0.020 25.420 0.00 0.00 H +HETATM 6825 C5 MOL 427 30.280 0.540 27.410 0.00 0.00 C +HETATM 6826 H5 MOL 427 29.270 0.790 27.690 0.00 0.00 H +HETATM 6827 C6 MOL 427 31.290 0.550 28.380 0.00 0.00 C +HETATM 6828 C7 MOL 427 31.020 1.010 29.790 0.00 0.00 C +HETATM 6829 H6 MOL 427 30.930 0.250 30.560 0.00 0.00 H +HETATM 6830 H7 MOL 427 30.040 1.490 29.720 0.00 0.00 H +HETATM 6831 O1 MOL 427 31.950 2.040 30.050 0.00 0.00 O +HETATM 6832 H8 MOL 427 32.190 1.940 30.960 0.00 0.00 H +HETATM 6833 C1 MOL 428 25.530 32.900 7.670 0.00 0.00 C +HETATM 6834 H1 MOL 428 26.010 33.810 7.340 0.00 0.00 H +HETATM 6835 C2 MOL 428 25.740 31.680 7.020 0.00 0.00 C +HETATM 6836 H2 MOL 428 26.320 31.650 6.120 0.00 0.00 H +HETATM 6837 C3 MOL 428 25.230 30.510 7.600 0.00 0.00 C +HETATM 6838 H3 MOL 428 25.360 29.500 7.230 0.00 0.00 H +HETATM 6839 C4 MOL 428 24.500 30.620 8.790 0.00 0.00 C +HETATM 6840 H4 MOL 428 24.220 29.710 9.300 0.00 0.00 H +HETATM 6841 C5 MOL 428 24.290 31.830 9.470 0.00 0.00 C +HETATM 6842 H5 MOL 428 23.840 31.870 10.450 0.00 0.00 H +HETATM 6843 C6 MOL 428 24.870 32.970 8.900 0.00 0.00 C +HETATM 6844 C7 MOL 428 24.760 34.320 9.580 0.00 0.00 C +HETATM 6845 H6 MOL 428 23.890 34.400 10.230 0.00 0.00 H +HETATM 6846 H7 MOL 428 24.610 34.980 8.720 0.00 0.00 H +HETATM 6847 O1 MOL 428 26.010 34.650 10.140 0.00 0.00 O +HETATM 6848 H8 MOL 428 26.400 33.830 10.390 0.00 0.00 H +HETATM 6849 C1 MOL 429 2.500 36.530 6.490 0.00 0.00 C +HETATM 6850 H1 MOL 429 2.350 37.140 5.600 0.00 0.00 H +HETATM 6851 C2 MOL 429 2.490 35.130 6.450 0.00 0.00 C +HETATM 6852 H2 MOL 429 2.350 34.650 5.490 0.00 0.00 H +HETATM 6853 C3 MOL 429 2.520 34.440 7.660 0.00 0.00 C +HETATM 6854 H3 MOL 429 2.350 33.380 7.580 0.00 0.00 H +HETATM 6855 C4 MOL 429 2.640 35.150 8.870 0.00 0.00 C +HETATM 6856 H4 MOL 429 2.630 34.670 9.830 0.00 0.00 H +HETATM 6857 C5 MOL 429 2.750 36.540 8.880 0.00 0.00 C +HETATM 6858 H5 MOL 429 2.830 37.030 9.850 0.00 0.00 H +HETATM 6859 C6 MOL 429 2.720 37.240 7.670 0.00 0.00 C +HETATM 6860 C7 MOL 429 3.020 38.720 7.800 0.00 0.00 C +HETATM 6861 H6 MOL 429 2.450 39.160 8.630 0.00 0.00 H +HETATM 6862 H7 MOL 429 2.630 39.350 7.010 0.00 0.00 H +HETATM 6863 O1 MOL 429 4.430 38.710 7.850 0.00 0.00 O +HETATM 6864 H8 MOL 429 4.660 37.970 8.400 0.00 0.00 H +HETATM 6865 C1 MOL 430 49.240 35.840 47.000 0.00 0.00 C +HETATM 6866 H1 MOL 430 50.190 35.340 47.070 0.00 0.00 H +HETATM 6867 C2 MOL 430 49.040 37.060 47.660 0.00 0.00 C +HETATM 6868 H2 MOL 430 49.900 37.550 48.080 0.00 0.00 H +HETATM 6869 C3 MOL 430 47.770 37.650 47.780 0.00 0.00 C +HETATM 6870 H3 MOL 430 47.590 38.500 48.420 0.00 0.00 H +HETATM 6871 C4 MOL 430 46.690 37.000 47.180 0.00 0.00 C +HETATM 6872 H4 MOL 430 45.750 37.520 47.350 0.00 0.00 H +HETATM 6873 C5 MOL 430 46.840 35.800 46.470 0.00 0.00 C +HETATM 6874 H5 MOL 430 45.980 35.340 46.010 0.00 0.00 H +HETATM 6875 C6 MOL 430 48.110 35.230 46.440 0.00 0.00 C +HETATM 6876 C7 MOL 430 48.350 33.910 45.730 0.00 0.00 C +HETATM 6877 H6 MOL 430 47.740 33.100 46.120 0.00 0.00 H +HETATM 6878 H7 MOL 430 49.390 33.580 45.740 0.00 0.00 H +HETATM 6879 O1 MOL 430 47.970 34.020 44.380 0.00 0.00 O +HETATM 6880 H8 MOL 430 47.480 33.220 44.210 0.00 0.00 H +HETATM 6881 C1 MOL 431 45.040 36.010 22.120 0.00 0.00 C +HETATM 6882 H1 MOL 431 44.250 36.490 21.570 0.00 0.00 H +HETATM 6883 C2 MOL 431 46.140 36.810 22.480 0.00 0.00 C +HETATM 6884 H2 MOL 431 46.160 37.880 22.540 0.00 0.00 H +HETATM 6885 C3 MOL 431 47.240 36.090 22.960 0.00 0.00 C +HETATM 6886 H3 MOL 431 48.060 36.720 23.260 0.00 0.00 H +HETATM 6887 C4 MOL 431 47.220 34.690 23.090 0.00 0.00 C +HETATM 6888 H4 MOL 431 48.050 34.150 23.530 0.00 0.00 H +HETATM 6889 C5 MOL 431 46.100 33.920 22.780 0.00 0.00 C +HETATM 6890 H5 MOL 431 46.050 32.840 22.760 0.00 0.00 H +HETATM 6891 C6 MOL 431 45.000 34.620 22.270 0.00 0.00 C +HETATM 6892 C7 MOL 431 43.750 33.870 21.860 0.00 0.00 C +HETATM 6893 H6 MOL 431 42.930 34.580 22.000 0.00 0.00 H +HETATM 6894 H7 MOL 431 43.440 33.020 22.470 0.00 0.00 H +HETATM 6895 O1 MOL 431 43.800 33.710 20.460 0.00 0.00 O +HETATM 6896 H8 MOL 431 44.040 34.550 20.080 0.00 0.00 H +HETATM 6897 C1 MOL 432 53.590 10.180 52.860 0.00 0.00 C +HETATM 6898 H1 MOL 432 54.610 10.050 52.520 0.00 0.00 H +HETATM 6899 C2 MOL 432 52.640 9.170 52.690 0.00 0.00 C +HETATM 6900 H2 MOL 432 53.000 8.280 52.200 0.00 0.00 H +HETATM 6901 C3 MOL 432 51.320 9.290 53.160 0.00 0.00 C +HETATM 6902 H3 MOL 432 50.520 8.610 52.920 0.00 0.00 H +HETATM 6903 C4 MOL 432 51.030 10.440 53.900 0.00 0.00 C +HETATM 6904 H4 MOL 432 50.040 10.580 54.310 0.00 0.00 H +HETATM 6905 C5 MOL 432 51.970 11.480 54.040 0.00 0.00 C +HETATM 6906 H5 MOL 432 51.690 12.440 54.440 0.00 0.00 H +HETATM 6907 C6 MOL 432 53.270 11.350 53.560 0.00 0.00 C +HETATM 6908 C7 MOL 432 54.340 12.400 53.760 0.00 0.00 C +HETATM 6909 H6 MOL 432 54.070 13.350 53.310 0.00 0.00 H +HETATM 6910 H7 MOL 432 55.260 12.220 53.210 0.00 0.00 H +HETATM 6911 O1 MOL 432 54.550 12.600 55.140 0.00 0.00 O +HETATM 6912 H8 MOL 432 54.080 11.920 55.610 0.00 0.00 H +HETATM 6913 C1 MOL 433 39.450 23.030 51.500 0.00 0.00 C +HETATM 6914 H1 MOL 433 39.420 23.830 50.770 0.00 0.00 H +HETATM 6915 C2 MOL 433 38.300 22.320 51.860 0.00 0.00 C +HETATM 6916 H2 MOL 433 37.330 22.670 51.540 0.00 0.00 H +HETATM 6917 C3 MOL 433 38.380 21.240 52.750 0.00 0.00 C +HETATM 6918 H3 MOL 433 37.450 20.920 53.200 0.00 0.00 H +HETATM 6919 C4 MOL 433 39.640 20.910 53.270 0.00 0.00 C +HETATM 6920 H4 MOL 433 39.670 20.170 54.050 0.00 0.00 H +HETATM 6921 C5 MOL 433 40.790 21.600 52.850 0.00 0.00 C +HETATM 6922 H5 MOL 433 41.730 21.280 53.270 0.00 0.00 H +HETATM 6923 C6 MOL 433 40.730 22.600 51.870 0.00 0.00 C +HETATM 6924 C7 MOL 433 41.990 23.110 51.240 0.00 0.00 C +HETATM 6925 H6 MOL 433 42.820 22.740 51.840 0.00 0.00 H +HETATM 6926 H7 MOL 433 41.900 24.200 51.250 0.00 0.00 H +HETATM 6927 O1 MOL 433 42.320 22.500 50.010 0.00 0.00 O +HETATM 6928 H8 MOL 433 43.190 22.830 49.840 0.00 0.00 H +HETATM 6929 C1 MOL 434 25.180 31.340 13.040 0.00 0.00 C +HETATM 6930 H1 MOL 434 24.110 31.290 13.020 0.00 0.00 H +HETATM 6931 C2 MOL 434 26.000 30.260 12.660 0.00 0.00 C +HETATM 6932 H2 MOL 434 25.600 29.280 12.460 0.00 0.00 H +HETATM 6933 C3 MOL 434 27.380 30.390 12.830 0.00 0.00 C +HETATM 6934 H3 MOL 434 27.950 29.480 12.750 0.00 0.00 H +HETATM 6935 C4 MOL 434 27.910 31.660 13.120 0.00 0.00 C +HETATM 6936 H4 MOL 434 28.960 31.770 13.340 0.00 0.00 H +HETATM 6937 C5 MOL 434 27.090 32.760 13.360 0.00 0.00 C +HETATM 6938 H5 MOL 434 27.540 33.710 13.630 0.00 0.00 H +HETATM 6939 C6 MOL 434 25.700 32.610 13.300 0.00 0.00 C +HETATM 6940 C7 MOL 434 24.840 33.780 13.720 0.00 0.00 C +HETATM 6941 H6 MOL 434 25.250 34.660 13.220 0.00 0.00 H +HETATM 6942 H7 MOL 434 24.900 33.940 14.800 0.00 0.00 H +HETATM 6943 O1 MOL 434 23.500 33.650 13.310 0.00 0.00 O +HETATM 6944 H8 MOL 434 23.000 34.210 13.870 0.00 0.00 H +HETATM 6945 C1 MOL 435 53.970 53.270 4.060 0.00 0.00 C +HETATM 6946 H1 MOL 435 54.240 53.730 5.000 0.00 0.00 H +HETATM 6947 C2 MOL 435 54.880 53.300 3.000 0.00 0.00 C +HETATM 6948 H2 MOL 435 55.760 53.920 3.130 0.00 0.00 H +HETATM 6949 C3 MOL 435 54.620 52.610 1.810 0.00 0.00 C +HETATM 6950 H3 MOL 435 55.450 52.580 1.110 0.00 0.00 H +HETATM 6951 C4 MOL 435 53.400 51.940 1.670 0.00 0.00 C +HETATM 6952 H4 MOL 435 53.100 51.440 0.770 0.00 0.00 H +HETATM 6953 C5 MOL 435 52.500 51.880 2.750 0.00 0.00 C +HETATM 6954 H5 MOL 435 51.520 51.450 2.590 0.00 0.00 H +HETATM 6955 C6 MOL 435 52.780 52.550 3.950 0.00 0.00 C +HETATM 6956 C7 MOL 435 51.820 52.510 5.110 0.00 0.00 C +HETATM 6957 H6 MOL 435 50.810 52.190 4.850 0.00 0.00 H +HETATM 6958 H7 MOL 435 51.770 53.480 5.610 0.00 0.00 H +HETATM 6959 O1 MOL 435 52.270 51.690 6.170 0.00 0.00 O +HETATM 6960 H8 MOL 435 53.210 51.750 6.270 0.00 0.00 H +HETATM 6961 C1 MOL 436 47.830 19.270 15.310 0.00 0.00 C +HETATM 6962 H1 MOL 436 48.000 20.190 14.780 0.00 0.00 H +HETATM 6963 C2 MOL 436 46.560 18.960 15.800 0.00 0.00 C +HETATM 6964 H2 MOL 436 45.760 19.640 15.560 0.00 0.00 H +HETATM 6965 C3 MOL 436 46.400 17.760 16.510 0.00 0.00 C +HETATM 6966 H3 MOL 436 45.400 17.510 16.840 0.00 0.00 H +HETATM 6967 C4 MOL 436 47.480 16.900 16.770 0.00 0.00 C +HETATM 6968 H4 MOL 436 47.410 16.080 17.460 0.00 0.00 H +HETATM 6969 C5 MOL 436 48.740 17.270 16.290 0.00 0.00 C +HETATM 6970 H5 MOL 436 49.540 16.570 16.460 0.00 0.00 H +HETATM 6971 C6 MOL 436 48.950 18.460 15.590 0.00 0.00 C +HETATM 6972 C7 MOL 436 50.350 18.890 15.220 0.00 0.00 C +HETATM 6973 H6 MOL 436 50.990 18.900 16.100 0.00 0.00 H +HETATM 6974 H7 MOL 436 50.250 19.930 14.920 0.00 0.00 H +HETATM 6975 O1 MOL 436 50.790 18.100 14.140 0.00 0.00 O +HETATM 6976 H8 MOL 436 51.180 17.370 14.600 0.00 0.00 H +HETATM 6977 C1 MOL 437 16.370 9.430 1.020 0.00 0.00 C +HETATM 6978 H1 MOL 437 16.790 9.180 1.990 0.00 0.00 H +HETATM 6979 C2 MOL 437 16.400 8.460 0.010 0.00 0.00 C +HETATM 6980 H2 MOL 437 16.920 7.550 0.280 0.00 0.00 H +HETATM 6981 C3 MOL 437 15.810 8.710 -1.240 0.00 0.00 C +HETATM 6982 H3 MOL 437 15.870 7.990 -2.040 0.00 0.00 H +HETATM 6983 C4 MOL 437 15.150 9.930 -1.400 0.00 0.00 C +HETATM 6984 H4 MOL 437 14.580 10.110 -2.300 0.00 0.00 H +HETATM 6985 C5 MOL 437 14.980 10.870 -0.370 0.00 0.00 C +HETATM 6986 H5 MOL 437 14.310 11.700 -0.520 0.00 0.00 H +HETATM 6987 C6 MOL 437 15.660 10.610 0.830 0.00 0.00 C +HETATM 6988 C7 MOL 437 15.630 11.650 1.920 0.00 0.00 C +HETATM 6989 H6 MOL 437 14.780 12.310 1.720 0.00 0.00 H +HETATM 6990 H7 MOL 437 16.550 12.230 1.890 0.00 0.00 H +HETATM 6991 O1 MOL 437 15.460 11.200 3.250 0.00 0.00 O +HETATM 6992 H8 MOL 437 15.430 12.000 3.760 0.00 0.00 H +HETATM 6993 C1 MOL 438 4.770 17.180 5.960 0.00 0.00 C +HETATM 6994 H1 MOL 438 4.960 18.050 5.340 0.00 0.00 H +HETATM 6995 C2 MOL 438 3.530 16.530 5.940 0.00 0.00 C +HETATM 6996 H2 MOL 438 2.760 16.990 5.330 0.00 0.00 H +HETATM 6997 C3 MOL 438 3.300 15.430 6.770 0.00 0.00 C +HETATM 6998 H3 MOL 438 2.350 14.920 6.690 0.00 0.00 H +HETATM 6999 C4 MOL 438 4.320 14.920 7.570 0.00 0.00 C +HETATM 7000 H4 MOL 438 4.170 14.070 8.230 0.00 0.00 H +HETATM 7001 C5 MOL 438 5.530 15.630 7.620 0.00 0.00 C +HETATM 7002 H5 MOL 438 6.300 15.440 8.360 0.00 0.00 H +HETATM 7003 C6 MOL 438 5.810 16.680 6.740 0.00 0.00 C +HETATM 7004 C7 MOL 438 7.110 17.450 6.820 0.00 0.00 C +HETATM 7005 H6 MOL 438 7.730 16.910 7.530 0.00 0.00 H +HETATM 7006 H7 MOL 438 6.970 18.480 7.160 0.00 0.00 H +HETATM 7007 O1 MOL 438 7.630 17.280 5.530 0.00 0.00 O +HETATM 7008 H8 MOL 438 7.690 16.360 5.310 0.00 0.00 H +HETATM 7009 C1 MOL 439 36.750 21.060 32.670 0.00 0.00 C +HETATM 7010 H1 MOL 439 36.230 21.870 33.150 0.00 0.00 H +HETATM 7011 C2 MOL 439 38.150 21.010 32.680 0.00 0.00 C +HETATM 7012 H2 MOL 439 38.560 21.760 33.340 0.00 0.00 H +HETATM 7013 C3 MOL 439 38.860 19.960 32.080 0.00 0.00 C +HETATM 7014 H3 MOL 439 39.940 19.930 32.060 0.00 0.00 H +HETATM 7015 C4 MOL 439 38.140 19.040 31.310 0.00 0.00 C +HETATM 7016 H4 MOL 439 38.650 18.270 30.750 0.00 0.00 H +HETATM 7017 C5 MOL 439 36.740 19.040 31.250 0.00 0.00 C +HETATM 7018 H5 MOL 439 36.300 18.340 30.550 0.00 0.00 H +HETATM 7019 C6 MOL 439 36.090 20.110 31.870 0.00 0.00 C +HETATM 7020 C7 MOL 439 34.580 20.180 31.830 0.00 0.00 C +HETATM 7021 H6 MOL 439 34.200 19.160 31.680 0.00 0.00 H +HETATM 7022 H7 MOL 439 34.220 20.870 31.070 0.00 0.00 H +HETATM 7023 O1 MOL 439 33.970 20.690 32.990 0.00 0.00 O +HETATM 7024 H8 MOL 439 33.970 19.980 33.610 0.00 0.00 H +HETATM 7025 C1 MOL 440 39.320 52.780 37.720 0.00 0.00 C +HETATM 7026 H1 MOL 440 40.170 52.820 37.060 0.00 0.00 H +HETATM 7027 C2 MOL 440 38.970 51.510 38.200 0.00 0.00 C +HETATM 7028 H2 MOL 440 39.460 50.610 37.870 0.00 0.00 H +HETATM 7029 C3 MOL 440 37.910 51.400 39.110 0.00 0.00 C +HETATM 7030 H3 MOL 440 37.590 50.420 39.430 0.00 0.00 H +HETATM 7031 C4 MOL 440 37.190 52.530 39.510 0.00 0.00 C +HETATM 7032 H4 MOL 440 36.300 52.430 40.110 0.00 0.00 H +HETATM 7033 C5 MOL 440 37.600 53.810 39.090 0.00 0.00 C +HETATM 7034 H5 MOL 440 37.110 54.730 39.350 0.00 0.00 H +HETATM 7035 C6 MOL 440 38.680 53.930 38.200 0.00 0.00 C +HETATM 7036 C7 MOL 440 39.150 55.330 37.900 0.00 0.00 C +HETATM 7037 H6 MOL 440 38.310 55.940 37.560 0.00 0.00 H +HETATM 7038 H7 MOL 440 39.970 55.310 37.190 0.00 0.00 H +HETATM 7039 O1 MOL 440 39.720 55.790 39.110 0.00 0.00 O +HETATM 7040 H8 MOL 440 39.900 55.000 39.600 0.00 0.00 H +HETATM 7041 C1 MOL 441 33.590 48.880 51.040 0.00 0.00 C +HETATM 7042 H1 MOL 441 33.950 47.940 51.440 0.00 0.00 H +HETATM 7043 C2 MOL 441 32.220 49.090 50.850 0.00 0.00 C +HETATM 7044 H2 MOL 441 31.510 48.360 51.200 0.00 0.00 H +HETATM 7045 C3 MOL 441 31.790 50.290 50.260 0.00 0.00 C +HETATM 7046 H3 MOL 441 30.730 50.320 50.090 0.00 0.00 H +HETATM 7047 C4 MOL 441 32.790 51.160 49.820 0.00 0.00 C +HETATM 7048 H4 MOL 441 32.510 52.050 49.280 0.00 0.00 H +HETATM 7049 C5 MOL 441 34.160 50.880 49.930 0.00 0.00 C +HETATM 7050 H5 MOL 441 34.940 51.560 49.620 0.00 0.00 H +HETATM 7051 C6 MOL 441 34.610 49.720 50.570 0.00 0.00 C +HETATM 7052 C7 MOL 441 36.100 49.510 50.700 0.00 0.00 C +HETATM 7053 H6 MOL 441 36.300 49.170 51.720 0.00 0.00 H +HETATM 7054 H7 MOL 441 36.680 50.410 50.500 0.00 0.00 H +HETATM 7055 O1 MOL 441 36.590 48.530 49.810 0.00 0.00 O +HETATM 7056 H8 MOL 441 37.040 47.830 50.240 0.00 0.00 H +HETATM 7057 C1 MOL 442 34.250 9.900 11.290 0.00 0.00 C +HETATM 7058 H1 MOL 442 35.250 10.270 11.150 0.00 0.00 H +HETATM 7059 C2 MOL 442 33.810 8.670 10.780 0.00 0.00 C +HETATM 7060 H2 MOL 442 34.520 8.090 10.200 0.00 0.00 H +HETATM 7061 C3 MOL 442 32.510 8.190 10.920 0.00 0.00 C +HETATM 7062 H3 MOL 442 32.120 7.280 10.470 0.00 0.00 H +HETATM 7063 C4 MOL 442 31.600 9.000 11.610 0.00 0.00 C +HETATM 7064 H4 MOL 442 30.580 8.630 11.660 0.00 0.00 H +HETATM 7065 C5 MOL 442 31.990 10.230 12.130 0.00 0.00 C +HETATM 7066 H5 MOL 442 31.320 10.870 12.680 0.00 0.00 H +HETATM 7067 C6 MOL 442 33.310 10.690 11.960 0.00 0.00 C +HETATM 7068 C7 MOL 442 33.720 11.960 12.660 0.00 0.00 C +HETATM 7069 H6 MOL 442 34.680 12.330 12.320 0.00 0.00 H +HETATM 7070 H7 MOL 442 33.850 11.970 13.740 0.00 0.00 H +HETATM 7071 O1 MOL 442 32.720 12.910 12.360 0.00 0.00 O +HETATM 7072 H8 MOL 442 32.720 12.910 11.420 0.00 0.00 H +HETATM 7073 C1 MOL 443 51.810 39.900 2.310 0.00 0.00 C +HETATM 7074 H1 MOL 443 51.820 40.210 1.270 0.00 0.00 H +HETATM 7075 C2 MOL 443 52.890 39.320 2.980 0.00 0.00 C +HETATM 7076 H2 MOL 443 53.810 39.290 2.410 0.00 0.00 H +HETATM 7077 C3 MOL 443 52.790 39.070 4.360 0.00 0.00 C +HETATM 7078 H3 MOL 443 53.640 38.660 4.880 0.00 0.00 H +HETATM 7079 C4 MOL 443 51.540 39.160 4.990 0.00 0.00 C +HETATM 7080 H4 MOL 443 51.500 38.880 6.030 0.00 0.00 H +HETATM 7081 C5 MOL 443 50.460 39.790 4.360 0.00 0.00 C +HETATM 7082 H5 MOL 443 49.530 39.790 4.900 0.00 0.00 H +HETATM 7083 C6 MOL 443 50.590 40.040 2.990 0.00 0.00 C +HETATM 7084 C7 MOL 443 49.370 40.620 2.310 0.00 0.00 C +HETATM 7085 H6 MOL 443 48.530 40.820 2.970 0.00 0.00 H +HETATM 7086 H7 MOL 443 48.890 39.810 1.760 0.00 0.00 H +HETATM 7087 O1 MOL 443 49.710 41.750 1.540 0.00 0.00 O +HETATM 7088 H8 MOL 443 48.970 42.320 1.670 0.00 0.00 H +HETATM 7089 C1 MOL 444 17.170 2.110 55.480 0.00 0.00 C +HETATM 7090 H1 MOL 444 16.610 2.630 54.710 0.00 0.00 H +HETATM 7091 C2 MOL 444 17.310 0.720 55.490 0.00 0.00 C +HETATM 7092 H2 MOL 444 16.650 0.090 54.910 0.00 0.00 H +HETATM 7093 C3 MOL 444 18.140 0.150 56.460 0.00 0.00 C +HETATM 7094 H3 MOL 444 18.140 -0.920 56.580 0.00 0.00 H +HETATM 7095 C4 MOL 444 18.730 0.910 57.470 0.00 0.00 C +HETATM 7096 H4 MOL 444 19.260 0.360 58.230 0.00 0.00 H +HETATM 7097 C5 MOL 444 18.570 2.300 57.450 0.00 0.00 C +HETATM 7098 H5 MOL 444 19.160 2.850 58.170 0.00 0.00 H +HETATM 7099 C6 MOL 444 17.810 2.910 56.440 0.00 0.00 C +HETATM 7100 C7 MOL 444 17.720 4.400 56.280 0.00 0.00 C +HETATM 7101 H6 MOL 444 16.880 4.660 55.630 0.00 0.00 H +HETATM 7102 H7 MOL 444 18.640 4.900 55.950 0.00 0.00 H +HETATM 7103 O1 MOL 444 17.410 4.940 57.550 0.00 0.00 O +HETATM 7104 H8 MOL 444 16.580 4.540 57.760 0.00 0.00 H +HETATM 7105 C1 MOL 445 36.590 24.420 20.020 0.00 0.00 C +HETATM 7106 H1 MOL 445 35.870 24.810 20.720 0.00 0.00 H +HETATM 7107 C2 MOL 445 37.810 24.110 20.630 0.00 0.00 C +HETATM 7108 H2 MOL 445 37.960 24.320 21.680 0.00 0.00 H +HETATM 7109 C3 MOL 445 38.810 23.430 19.910 0.00 0.00 C +HETATM 7110 H3 MOL 445 39.790 23.120 20.250 0.00 0.00 H +HETATM 7111 C4 MOL 445 38.550 23.040 18.590 0.00 0.00 C +HETATM 7112 H4 MOL 445 39.270 22.440 18.050 0.00 0.00 H +HETATM 7113 C5 MOL 445 37.340 23.370 17.980 0.00 0.00 C +HETATM 7114 H5 MOL 445 37.330 23.060 16.950 0.00 0.00 H +HETATM 7115 C6 MOL 445 36.380 24.130 18.670 0.00 0.00 C +HETATM 7116 C7 MOL 445 35.090 24.500 17.980 0.00 0.00 C +HETATM 7117 H6 MOL 445 34.980 23.870 17.090 0.00 0.00 H +HETATM 7118 H7 MOL 445 35.150 25.570 17.770 0.00 0.00 H +HETATM 7119 O1 MOL 445 33.920 24.230 18.720 0.00 0.00 O +HETATM 7120 H8 MOL 445 33.990 23.490 19.310 0.00 0.00 H +HETATM 7121 C1 MOL 446 43.830 50.070 52.820 0.00 0.00 C +HETATM 7122 H1 MOL 446 44.140 49.470 51.980 0.00 0.00 H +HETATM 7123 C2 MOL 446 43.650 51.440 52.650 0.00 0.00 C +HETATM 7124 H2 MOL 446 43.970 51.950 51.750 0.00 0.00 H +HETATM 7125 C3 MOL 446 43.220 52.160 53.780 0.00 0.00 C +HETATM 7126 H3 MOL 446 43.140 53.230 53.820 0.00 0.00 H +HETATM 7127 C4 MOL 446 42.860 51.490 54.950 0.00 0.00 C +HETATM 7128 H4 MOL 446 42.650 51.980 55.900 0.00 0.00 H +HETATM 7129 C5 MOL 446 43.010 50.100 55.080 0.00 0.00 C +HETATM 7130 H5 MOL 446 42.600 49.630 55.950 0.00 0.00 H +HETATM 7131 C6 MOL 446 43.480 49.370 53.980 0.00 0.00 C +HETATM 7132 C7 MOL 446 43.610 47.860 54.000 0.00 0.00 C +HETATM 7133 H6 MOL 446 44.620 47.680 54.360 0.00 0.00 H +HETATM 7134 H7 MOL 446 43.500 47.380 53.030 0.00 0.00 H +HETATM 7135 O1 MOL 446 42.720 47.250 54.910 0.00 0.00 O +HETATM 7136 H8 MOL 446 42.790 47.600 55.780 0.00 0.00 H +HETATM 7137 C1 MOL 447 51.470 3.050 5.510 0.00 0.00 C +HETATM 7138 H1 MOL 447 50.780 3.870 5.370 0.00 0.00 H +HETATM 7139 C2 MOL 447 51.740 2.220 4.410 0.00 0.00 C +HETATM 7140 H2 MOL 447 51.260 2.450 3.480 0.00 0.00 H +HETATM 7141 C3 MOL 447 52.580 1.120 4.640 0.00 0.00 C +HETATM 7142 H3 MOL 447 52.710 0.530 3.740 0.00 0.00 H +HETATM 7143 C4 MOL 447 53.110 0.820 5.900 0.00 0.00 C +HETATM 7144 H4 MOL 447 53.750 -0.040 6.000 0.00 0.00 H +HETATM 7145 C5 MOL 447 52.950 1.750 6.930 0.00 0.00 C +HETATM 7146 H5 MOL 447 53.470 1.620 7.870 0.00 0.00 H +HETATM 7147 C6 MOL 447 52.080 2.830 6.750 0.00 0.00 C +HETATM 7148 C7 MOL 447 51.750 3.740 7.910 0.00 0.00 C +HETATM 7149 H6 MOL 447 51.290 3.150 8.710 0.00 0.00 H +HETATM 7150 H7 MOL 447 51.110 4.600 7.730 0.00 0.00 H +HETATM 7151 O1 MOL 447 52.900 4.260 8.530 0.00 0.00 O +HETATM 7152 H8 MOL 447 52.610 4.880 9.180 0.00 0.00 H +HETATM 7153 C1 MOL 448 19.510 43.760 18.140 0.00 0.00 C +HETATM 7154 H1 MOL 448 19.420 42.690 18.030 0.00 0.00 H +HETATM 7155 C2 MOL 448 18.650 44.480 18.970 0.00 0.00 C +HETATM 7156 H2 MOL 448 18.150 43.980 19.790 0.00 0.00 H +HETATM 7157 C3 MOL 448 18.470 45.860 18.840 0.00 0.00 C +HETATM 7158 H3 MOL 448 17.950 46.480 19.560 0.00 0.00 H +HETATM 7159 C4 MOL 448 19.140 46.500 17.790 0.00 0.00 C +HETATM 7160 H4 MOL 448 18.930 47.550 17.630 0.00 0.00 H +HETATM 7161 C5 MOL 448 19.950 45.760 16.920 0.00 0.00 C +HETATM 7162 H5 MOL 448 20.410 46.350 16.140 0.00 0.00 H +HETATM 7163 C6 MOL 448 20.190 44.400 17.090 0.00 0.00 C +HETATM 7164 C7 MOL 448 21.010 43.680 16.040 0.00 0.00 C +HETATM 7165 H6 MOL 448 22.030 44.040 16.090 0.00 0.00 H +HETATM 7166 H7 MOL 448 20.660 43.780 15.010 0.00 0.00 H +HETATM 7167 O1 MOL 448 20.990 42.300 16.290 0.00 0.00 O +HETATM 7168 H8 MOL 448 21.130 42.200 17.220 0.00 0.00 H +HETATM 7169 C1 MOL 449 38.460 2.270 29.030 0.00 0.00 C +HETATM 7170 H1 MOL 449 39.490 1.980 28.880 0.00 0.00 H +HETATM 7171 C2 MOL 449 38.160 3.450 29.730 0.00 0.00 C +HETATM 7172 H2 MOL 449 38.940 4.090 30.120 0.00 0.00 H +HETATM 7173 C3 MOL 449 36.810 3.780 29.880 0.00 0.00 C +HETATM 7174 H3 MOL 449 36.570 4.660 30.440 0.00 0.00 H +HETATM 7175 C4 MOL 449 35.760 2.980 29.410 0.00 0.00 C +HETATM 7176 H4 MOL 449 34.730 3.260 29.510 0.00 0.00 H +HETATM 7177 C5 MOL 449 36.080 1.860 28.620 0.00 0.00 C +HETATM 7178 H5 MOL 449 35.360 1.250 28.090 0.00 0.00 H +HETATM 7179 C6 MOL 449 37.420 1.480 28.530 0.00 0.00 C +HETATM 7180 C7 MOL 449 37.780 0.180 27.850 0.00 0.00 C +HETATM 7181 H6 MOL 449 38.560 0.480 27.150 0.00 0.00 H +HETATM 7182 H7 MOL 449 36.930 -0.350 27.430 0.00 0.00 H +HETATM 7183 O1 MOL 449 38.470 -0.660 28.750 0.00 0.00 O +HETATM 7184 H8 MOL 449 38.670 -0.150 29.520 0.00 0.00 H +HETATM 7185 C1 MOL 450 13.220 16.310 24.310 0.00 0.00 C +HETATM 7186 H1 MOL 450 14.210 16.710 24.150 0.00 0.00 H +HETATM 7187 C2 MOL 450 12.770 15.440 23.310 0.00 0.00 C +HETATM 7188 H2 MOL 450 13.410 15.080 22.520 0.00 0.00 H +HETATM 7189 C3 MOL 450 11.470 14.930 23.390 0.00 0.00 C +HETATM 7190 H3 MOL 450 11.140 14.230 22.650 0.00 0.00 H +HETATM 7191 C4 MOL 450 10.720 15.210 24.540 0.00 0.00 C +HETATM 7192 H4 MOL 450 9.780 14.680 24.590 0.00 0.00 H +HETATM 7193 C5 MOL 450 11.220 15.970 25.600 0.00 0.00 C +HETATM 7194 H5 MOL 450 10.630 16.210 26.480 0.00 0.00 H +HETATM 7195 C6 MOL 450 12.440 16.630 25.430 0.00 0.00 C +HETATM 7196 C7 MOL 450 12.930 17.680 26.400 0.00 0.00 C +HETATM 7197 H6 MOL 450 12.690 18.650 25.970 0.00 0.00 H +HETATM 7198 H7 MOL 450 14.020 17.640 26.370 0.00 0.00 H +HETATM 7199 O1 MOL 450 12.490 17.560 27.740 0.00 0.00 O +HETATM 7200 H8 MOL 450 12.500 18.440 28.090 0.00 0.00 H +HETATM 7201 C1 MOL 451 34.340 26.420 24.240 0.00 0.00 C +HETATM 7202 H1 MOL 451 34.780 26.670 25.200 0.00 0.00 H +HETATM 7203 C2 MOL 451 33.840 27.460 23.450 0.00 0.00 C +HETATM 7204 H2 MOL 451 33.910 28.500 23.750 0.00 0.00 H +HETATM 7205 C3 MOL 451 33.420 27.240 22.140 0.00 0.00 C +HETATM 7206 H3 MOL 451 33.150 28.040 21.460 0.00 0.00 H +HETATM 7207 C4 MOL 451 33.440 25.920 21.670 0.00 0.00 C +HETATM 7208 H4 MOL 451 33.260 25.720 20.620 0.00 0.00 H +HETATM 7209 C5 MOL 451 33.870 24.860 22.480 0.00 0.00 C +HETATM 7210 H5 MOL 451 33.950 23.860 22.080 0.00 0.00 H +HETATM 7211 C6 MOL 451 34.360 25.100 23.770 0.00 0.00 C +HETATM 7212 C7 MOL 451 35.050 24.050 24.600 0.00 0.00 C +HETATM 7213 H6 MOL 451 35.890 24.490 25.120 0.00 0.00 H +HETATM 7214 H7 MOL 451 35.390 23.190 24.010 0.00 0.00 H +HETATM 7215 O1 MOL 451 34.200 23.400 25.530 0.00 0.00 O +HETATM 7216 H8 MOL 451 33.550 23.970 25.910 0.00 0.00 H +HETATM 7217 C1 MOL 452 6.850 45.360 30.630 0.00 0.00 C +HETATM 7218 H1 MOL 452 7.090 45.880 31.550 0.00 0.00 H +HETATM 7219 C2 MOL 452 6.710 45.970 29.380 0.00 0.00 C +HETATM 7220 H2 MOL 452 6.820 47.040 29.410 0.00 0.00 H +HETATM 7221 C3 MOL 452 6.370 45.220 28.250 0.00 0.00 C +HETATM 7222 H3 MOL 452 5.950 45.760 27.410 0.00 0.00 H +HETATM 7223 C4 MOL 452 6.370 43.830 28.320 0.00 0.00 C +HETATM 7224 H4 MOL 452 6.310 43.240 27.410 0.00 0.00 H +HETATM 7225 C5 MOL 452 6.640 43.190 29.530 0.00 0.00 C +HETATM 7226 H5 MOL 452 6.630 42.110 29.460 0.00 0.00 H +HETATM 7227 C6 MOL 452 6.880 43.960 30.670 0.00 0.00 C +HETATM 7228 C7 MOL 452 7.020 43.190 31.960 0.00 0.00 C +HETATM 7229 H6 MOL 452 6.800 43.920 32.740 0.00 0.00 H +HETATM 7230 H7 MOL 452 8.070 42.900 31.980 0.00 0.00 H +HETATM 7231 O1 MOL 452 6.080 42.140 32.020 0.00 0.00 O +HETATM 7232 H8 MOL 452 5.240 42.520 32.200 0.00 0.00 H +HETATM 7233 C1 MOL 453 35.820 41.250 36.120 0.00 0.00 C +HETATM 7234 H1 MOL 453 36.060 40.190 36.050 0.00 0.00 H +HETATM 7235 C2 MOL 453 34.480 41.550 35.840 0.00 0.00 C +HETATM 7236 H2 MOL 453 33.840 40.770 35.460 0.00 0.00 H +HETATM 7237 C3 MOL 453 34.020 42.820 36.210 0.00 0.00 C +HETATM 7238 H3 MOL 453 33.030 43.210 36.000 0.00 0.00 H +HETATM 7239 C4 MOL 453 34.930 43.740 36.760 0.00 0.00 C +HETATM 7240 H4 MOL 453 34.640 44.750 36.970 0.00 0.00 H +HETATM 7241 C5 MOL 453 36.280 43.470 36.980 0.00 0.00 C +HETATM 7242 H5 MOL 453 37.060 44.180 37.230 0.00 0.00 H +HETATM 7243 C6 MOL 453 36.690 42.150 36.730 0.00 0.00 C +HETATM 7244 C7 MOL 453 38.120 41.730 37.010 0.00 0.00 C +HETATM 7245 H6 MOL 453 38.720 42.510 37.480 0.00 0.00 H +HETATM 7246 H7 MOL 453 38.730 41.450 36.150 0.00 0.00 H +HETATM 7247 O1 MOL 453 38.030 40.620 37.870 0.00 0.00 O +HETATM 7248 H8 MOL 453 37.350 40.660 38.530 0.00 0.00 H +HETATM 7249 C1 MOL 454 40.250 6.420 1.290 0.00 0.00 C +HETATM 7250 H1 MOL 454 40.090 5.590 1.960 0.00 0.00 H +HETATM 7251 C2 MOL 454 39.170 6.850 0.510 0.00 0.00 C +HETATM 7252 H2 MOL 454 38.280 6.240 0.490 0.00 0.00 H +HETATM 7253 C3 MOL 454 39.290 7.910 -0.390 0.00 0.00 C +HETATM 7254 H3 MOL 454 38.460 8.180 -1.030 0.00 0.00 H +HETATM 7255 C4 MOL 454 40.500 8.600 -0.550 0.00 0.00 C +HETATM 7256 H4 MOL 454 40.740 9.410 -1.230 0.00 0.00 H +HETATM 7257 C5 MOL 454 41.610 8.090 0.140 0.00 0.00 C +HETATM 7258 H5 MOL 454 42.510 8.690 0.070 0.00 0.00 H +HETATM 7259 C6 MOL 454 41.480 7.040 1.060 0.00 0.00 C +HETATM 7260 C7 MOL 454 42.640 6.610 1.930 0.00 0.00 C +HETATM 7261 H6 MOL 454 42.490 5.630 2.390 0.00 0.00 H +HETATM 7262 H7 MOL 454 42.750 7.340 2.730 0.00 0.00 H +HETATM 7263 O1 MOL 454 43.790 6.530 1.110 0.00 0.00 O +HETATM 7264 H8 MOL 454 44.530 6.730 1.660 0.00 0.00 H +HETATM 7265 C1 MOL 455 35.550 41.310 40.660 0.00 0.00 C +HETATM 7266 H1 MOL 455 34.950 41.870 39.950 0.00 0.00 H +HETATM 7267 C2 MOL 455 35.420 39.930 40.850 0.00 0.00 C +HETATM 7268 H2 MOL 455 34.530 39.470 40.460 0.00 0.00 H +HETATM 7269 C3 MOL 455 36.310 39.190 41.640 0.00 0.00 C +HETATM 7270 H3 MOL 455 36.210 38.120 41.780 0.00 0.00 H +HETATM 7271 C4 MOL 455 37.350 39.840 42.310 0.00 0.00 C +HETATM 7272 H4 MOL 455 38.130 39.290 42.820 0.00 0.00 H +HETATM 7273 C5 MOL 455 37.510 41.220 42.120 0.00 0.00 C +HETATM 7274 H5 MOL 455 38.360 41.720 42.550 0.00 0.00 H +HETATM 7275 C6 MOL 455 36.720 41.880 41.160 0.00 0.00 C +HETATM 7276 C7 MOL 455 37.000 43.340 40.900 0.00 0.00 C +HETATM 7277 H6 MOL 455 37.480 43.840 41.740 0.00 0.00 H +HETATM 7278 H7 MOL 455 36.000 43.760 40.800 0.00 0.00 H +HETATM 7279 O1 MOL 455 37.880 43.510 39.810 0.00 0.00 O +HETATM 7280 H8 MOL 455 38.740 43.530 40.190 0.00 0.00 H +HETATM 7281 C1 MOL 456 12.750 30.580 17.770 0.00 0.00 C +HETATM 7282 H1 MOL 456 13.150 29.580 17.690 0.00 0.00 H +HETATM 7283 C2 MOL 456 13.650 31.640 17.620 0.00 0.00 C +HETATM 7284 H2 MOL 456 14.700 31.390 17.580 0.00 0.00 H +HETATM 7285 C3 MOL 456 13.170 32.960 17.550 0.00 0.00 C +HETATM 7286 H3 MOL 456 13.860 33.770 17.420 0.00 0.00 H +HETATM 7287 C4 MOL 456 11.790 33.210 17.560 0.00 0.00 C +HETATM 7288 H4 MOL 456 11.400 34.210 17.660 0.00 0.00 H +HETATM 7289 C5 MOL 456 10.910 32.130 17.680 0.00 0.00 C +HETATM 7290 H5 MOL 456 9.840 32.280 17.690 0.00 0.00 H +HETATM 7291 C6 MOL 456 11.360 30.810 17.790 0.00 0.00 C +HETATM 7292 C7 MOL 456 10.390 29.670 17.600 0.00 0.00 C +HETATM 7293 H6 MOL 456 9.370 30.040 17.480 0.00 0.00 H +HETATM 7294 H7 MOL 456 10.220 29.040 18.470 0.00 0.00 H +HETATM 7295 O1 MOL 456 10.810 28.970 16.450 0.00 0.00 O +HETATM 7296 H8 MOL 456 11.420 29.540 16.020 0.00 0.00 H +HETATM 7297 C1 MOL 457 15.160 44.820 13.740 0.00 0.00 C +HETATM 7298 H1 MOL 457 14.630 45.680 13.370 0.00 0.00 H +HETATM 7299 C2 MOL 457 14.470 43.610 13.620 0.00 0.00 C +HETATM 7300 H2 MOL 457 13.430 43.770 13.340 0.00 0.00 H +HETATM 7301 C3 MOL 457 15.030 42.420 14.080 0.00 0.00 C +HETATM 7302 H3 MOL 457 14.500 41.470 14.020 0.00 0.00 H +HETATM 7303 C4 MOL 457 16.320 42.490 14.620 0.00 0.00 C +HETATM 7304 H4 MOL 457 16.760 41.660 15.150 0.00 0.00 H +HETATM 7305 C5 MOL 457 17.040 43.690 14.650 0.00 0.00 C +HETATM 7306 H5 MOL 457 17.970 43.750 15.210 0.00 0.00 H +HETATM 7307 C6 MOL 457 16.510 44.870 14.120 0.00 0.00 C +HETATM 7308 C7 MOL 457 17.320 46.130 14.230 0.00 0.00 C +HETATM 7309 H6 MOL 457 18.120 45.930 14.940 0.00 0.00 H +HETATM 7310 H7 MOL 457 16.750 46.930 14.700 0.00 0.00 H +HETATM 7311 O1 MOL 457 17.720 46.610 12.960 0.00 0.00 O +HETATM 7312 H8 MOL 457 16.890 46.920 12.650 0.00 0.00 H +HETATM 7313 C1 MOL 458 2.900 54.980 50.850 0.00 0.00 C +HETATM 7314 H1 MOL 458 2.890 54.200 50.100 0.00 0.00 H +HETATM 7315 C2 MOL 458 4.000 55.150 51.690 0.00 0.00 C +HETATM 7316 H2 MOL 458 4.850 54.490 51.550 0.00 0.00 H +HETATM 7317 C3 MOL 458 4.030 56.130 52.700 0.00 0.00 C +HETATM 7318 H3 MOL 458 4.840 56.300 53.390 0.00 0.00 H +HETATM 7319 C4 MOL 458 2.950 57.020 52.760 0.00 0.00 C +HETATM 7320 H4 MOL 458 2.840 57.850 53.430 0.00 0.00 H +HETATM 7321 C5 MOL 458 1.800 56.840 51.990 0.00 0.00 C +HETATM 7322 H5 MOL 458 0.940 57.490 52.110 0.00 0.00 H +HETATM 7323 C6 MOL 458 1.750 55.720 51.150 0.00 0.00 C +HETATM 7324 C7 MOL 458 0.500 55.350 50.380 0.00 0.00 C +HETATM 7325 H6 MOL 458 -0.360 55.420 51.050 0.00 0.00 H +HETATM 7326 H7 MOL 458 0.380 54.300 50.120 0.00 0.00 H +HETATM 7327 O1 MOL 458 0.370 56.240 49.300 0.00 0.00 O +HETATM 7328 H8 MOL 458 0.190 57.060 49.740 0.00 0.00 H +HETATM 7329 C1 MOL 459 46.920 5.750 12.600 0.00 0.00 C +HETATM 7330 H1 MOL 459 47.040 4.760 13.010 0.00 0.00 H +HETATM 7331 C2 MOL 459 46.000 6.750 12.980 0.00 0.00 C +HETATM 7332 H2 MOL 459 45.250 6.610 13.750 0.00 0.00 H +HETATM 7333 C3 MOL 459 46.010 7.970 12.300 0.00 0.00 C +HETATM 7334 H3 MOL 459 45.380 8.780 12.620 0.00 0.00 H +HETATM 7335 C4 MOL 459 46.970 8.280 11.330 0.00 0.00 C +HETATM 7336 H4 MOL 459 46.920 9.290 10.940 0.00 0.00 H +HETATM 7337 C5 MOL 459 47.830 7.260 10.920 0.00 0.00 C +HETATM 7338 H5 MOL 459 48.610 7.390 10.180 0.00 0.00 H +HETATM 7339 C6 MOL 459 47.820 6.020 11.570 0.00 0.00 C +HETATM 7340 C7 MOL 459 48.810 4.970 11.100 0.00 0.00 C +HETATM 7341 H6 MOL 459 49.170 4.390 11.950 0.00 0.00 H +HETATM 7342 H7 MOL 459 49.630 5.520 10.630 0.00 0.00 H +HETATM 7343 O1 MOL 459 48.230 4.200 10.070 0.00 0.00 O +HETATM 7344 H8 MOL 459 47.340 4.130 10.370 0.00 0.00 H +HETATM 7345 C1 MOL 460 9.160 41.010 33.940 0.00 0.00 C +HETATM 7346 H1 MOL 460 8.110 40.990 33.720 0.00 0.00 H +HETATM 7347 C2 MOL 460 9.960 39.960 33.470 0.00 0.00 C +HETATM 7348 H2 MOL 460 9.530 39.210 32.820 0.00 0.00 H +HETATM 7349 C3 MOL 460 11.320 39.910 33.790 0.00 0.00 C +HETATM 7350 H3 MOL 460 11.890 39.060 33.440 0.00 0.00 H +HETATM 7351 C4 MOL 460 11.930 40.920 34.540 0.00 0.00 C +HETATM 7352 H4 MOL 460 12.970 40.900 34.810 0.00 0.00 H +HETATM 7353 C5 MOL 460 11.140 42.010 34.950 0.00 0.00 C +HETATM 7354 H5 MOL 460 11.610 42.790 35.540 0.00 0.00 H +HETATM 7355 C6 MOL 460 9.790 42.070 34.610 0.00 0.00 C +HETATM 7356 C7 MOL 460 8.930 43.090 35.330 0.00 0.00 C +HETATM 7357 H6 MOL 460 9.210 43.210 36.370 0.00 0.00 H +HETATM 7358 H7 MOL 460 7.860 43.000 35.150 0.00 0.00 H +HETATM 7359 O1 MOL 460 9.180 44.260 34.590 0.00 0.00 O +HETATM 7360 H8 MOL 460 9.720 44.850 35.080 0.00 0.00 H +HETATM 7361 C1 MOL 461 3.380 41.300 2.550 0.00 0.00 C +HETATM 7362 H1 MOL 461 4.330 41.800 2.450 0.00 0.00 H +HETATM 7363 C2 MOL 461 3.520 40.110 3.280 0.00 0.00 C +HETATM 7364 H2 MOL 461 4.460 39.870 3.740 0.00 0.00 H +HETATM 7365 C3 MOL 461 2.320 39.440 3.590 0.00 0.00 C +HETATM 7366 H3 MOL 461 2.300 38.560 4.210 0.00 0.00 H +HETATM 7367 C4 MOL 461 1.070 39.890 3.150 0.00 0.00 C +HETATM 7368 H4 MOL 461 0.130 39.450 3.450 0.00 0.00 H +HETATM 7369 C5 MOL 461 1.000 41.000 2.300 0.00 0.00 C +HETATM 7370 H5 MOL 461 0.020 41.410 2.120 0.00 0.00 H +HETATM 7371 C6 MOL 461 2.160 41.740 2.040 0.00 0.00 C +HETATM 7372 C7 MOL 461 1.960 43.000 1.230 0.00 0.00 C +HETATM 7373 H6 MOL 461 1.420 42.660 0.340 0.00 0.00 H +HETATM 7374 H7 MOL 461 2.940 43.370 0.930 0.00 0.00 H +HETATM 7375 O1 MOL 461 1.340 43.960 2.050 0.00 0.00 O +HETATM 7376 H8 MOL 461 2.100 44.220 2.560 0.00 0.00 H +HETATM 7377 C1 MOL 462 43.420 3.510 3.860 0.00 0.00 C +HETATM 7378 H1 MOL 462 44.460 3.590 3.570 0.00 0.00 H +HETATM 7379 C2 MOL 462 42.870 4.100 5.000 0.00 0.00 C +HETATM 7380 H2 MOL 462 43.520 4.700 5.620 0.00 0.00 H +HETATM 7381 C3 MOL 462 41.550 3.820 5.390 0.00 0.00 C +HETATM 7382 H3 MOL 462 41.200 4.140 6.360 0.00 0.00 H +HETATM 7383 C4 MOL 462 40.700 3.090 4.550 0.00 0.00 C +HETATM 7384 H4 MOL 462 39.700 2.870 4.910 0.00 0.00 H +HETATM 7385 C5 MOL 462 41.180 2.620 3.320 0.00 0.00 C +HETATM 7386 H5 MOL 462 40.500 2.090 2.670 0.00 0.00 H +HETATM 7387 C6 MOL 462 42.540 2.790 3.050 0.00 0.00 C +HETATM 7388 C7 MOL 462 43.120 2.000 1.900 0.00 0.00 C +HETATM 7389 H6 MOL 462 43.380 2.750 1.160 0.00 0.00 H +HETATM 7390 H7 MOL 462 42.460 1.350 1.320 0.00 0.00 H +HETATM 7391 O1 MOL 462 44.280 1.290 2.270 0.00 0.00 O +HETATM 7392 H8 MOL 462 45.000 1.570 1.730 0.00 0.00 H +HETATM 7393 C1 MOL 463 25.250 42.490 38.760 0.00 0.00 C +HETATM 7394 H1 MOL 463 25.010 43.500 38.450 0.00 0.00 H +HETATM 7395 C2 MOL 463 24.270 41.530 39.050 0.00 0.00 C +HETATM 7396 H2 MOL 463 23.260 41.900 39.000 0.00 0.00 H +HETATM 7397 C3 MOL 463 24.660 40.290 39.570 0.00 0.00 C +HETATM 7398 H3 MOL 463 23.910 39.590 39.900 0.00 0.00 H +HETATM 7399 C4 MOL 463 26.020 39.950 39.690 0.00 0.00 C +HETATM 7400 H4 MOL 463 26.230 38.970 40.070 0.00 0.00 H +HETATM 7401 C5 MOL 463 26.990 40.880 39.290 0.00 0.00 C +HETATM 7402 H5 MOL 463 28.060 40.760 39.230 0.00 0.00 H +HETATM 7403 C6 MOL 463 26.600 42.160 38.880 0.00 0.00 C +HETATM 7404 C7 MOL 463 27.670 43.200 38.630 0.00 0.00 C +HETATM 7405 H6 MOL 463 27.350 44.210 38.390 0.00 0.00 H +HETATM 7406 H7 MOL 463 28.360 42.870 37.860 0.00 0.00 H +HETATM 7407 O1 MOL 463 28.430 43.210 39.820 0.00 0.00 O +HETATM 7408 H8 MOL 463 27.830 43.280 40.550 0.00 0.00 H +HETATM 7409 C1 MOL 464 17.610 25.180 41.180 0.00 0.00 C +HETATM 7410 H1 MOL 464 17.120 24.700 42.020 0.00 0.00 H +HETATM 7411 C2 MOL 464 17.040 25.220 39.900 0.00 0.00 C +HETATM 7412 H2 MOL 464 16.080 24.730 39.790 0.00 0.00 H +HETATM 7413 C3 MOL 464 17.650 25.850 38.810 0.00 0.00 C +HETATM 7414 H3 MOL 464 17.240 25.700 37.820 0.00 0.00 H +HETATM 7415 C4 MOL 464 18.860 26.500 39.040 0.00 0.00 C +HETATM 7416 H4 MOL 464 19.320 27.040 38.220 0.00 0.00 H +HETATM 7417 C5 MOL 464 19.460 26.400 40.300 0.00 0.00 C +HETATM 7418 H5 MOL 464 20.370 26.950 40.480 0.00 0.00 H +HETATM 7419 C6 MOL 464 18.910 25.660 41.350 0.00 0.00 C +HETATM 7420 C7 MOL 464 19.630 25.560 42.680 0.00 0.00 C +HETATM 7421 H6 MOL 464 20.640 25.960 42.600 0.00 0.00 H +HETATM 7422 H7 MOL 464 19.820 24.510 42.930 0.00 0.00 H +HETATM 7423 O1 MOL 464 19.070 26.260 43.760 0.00 0.00 O +HETATM 7424 H8 MOL 464 19.270 27.140 43.470 0.00 0.00 H +HETATM 7425 C1 MOL 465 47.810 2.870 26.000 0.00 0.00 C +HETATM 7426 H1 MOL 465 48.630 3.290 25.440 0.00 0.00 H +HETATM 7427 C2 MOL 465 46.800 2.160 25.340 0.00 0.00 C +HETATM 7428 H2 MOL 465 46.930 1.950 24.290 0.00 0.00 H +HETATM 7429 C3 MOL 465 45.720 1.680 26.100 0.00 0.00 C +HETATM 7430 H3 MOL 465 44.930 1.060 25.710 0.00 0.00 H +HETATM 7431 C4 MOL 465 45.670 1.880 27.480 0.00 0.00 C +HETATM 7432 H4 MOL 465 44.830 1.550 28.070 0.00 0.00 H +HETATM 7433 C5 MOL 465 46.680 2.590 28.140 0.00 0.00 C +HETATM 7434 H5 MOL 465 46.620 2.690 29.220 0.00 0.00 H +HETATM 7435 C6 MOL 465 47.700 3.160 27.370 0.00 0.00 C +HETATM 7436 C7 MOL 465 48.700 4.090 28.000 0.00 0.00 C +HETATM 7437 H6 MOL 465 49.740 3.770 27.970 0.00 0.00 H +HETATM 7438 H7 MOL 465 48.490 4.080 29.070 0.00 0.00 H +HETATM 7439 O1 MOL 465 48.420 5.410 27.600 0.00 0.00 O +HETATM 7440 H8 MOL 465 48.450 5.450 26.660 0.00 0.00 H +HETATM 7441 C1 MOL 466 20.500 9.110 8.880 0.00 0.00 C +HETATM 7442 H1 MOL 466 20.020 9.780 9.570 0.00 0.00 H +HETATM 7443 C2 MOL 466 21.730 9.430 8.300 0.00 0.00 C +HETATM 7444 H2 MOL 466 22.380 10.170 8.740 0.00 0.00 H +HETATM 7445 C3 MOL 466 22.290 8.680 7.260 0.00 0.00 C +HETATM 7446 H3 MOL 466 23.200 8.980 6.770 0.00 0.00 H +HETATM 7447 C4 MOL 466 21.540 7.600 6.780 0.00 0.00 C +HETATM 7448 H4 MOL 466 21.990 6.990 6.010 0.00 0.00 H +HETATM 7449 C5 MOL 466 20.330 7.220 7.360 0.00 0.00 C +HETATM 7450 H5 MOL 466 19.700 6.420 7.010 0.00 0.00 H +HETATM 7451 C6 MOL 466 19.760 8.060 8.330 0.00 0.00 C +HETATM 7452 C7 MOL 466 18.440 7.710 8.980 0.00 0.00 C +HETATM 7453 H6 MOL 466 18.510 7.900 10.050 0.00 0.00 H +HETATM 7454 H7 MOL 466 18.110 6.680 8.860 0.00 0.00 H +HETATM 7455 O1 MOL 466 17.450 8.590 8.490 0.00 0.00 O +HETATM 7456 H8 MOL 466 17.790 9.480 8.540 0.00 0.00 H +HETATM 7457 C1 MOL 467 3.430 9.130 6.060 0.00 0.00 C +HETATM 7458 H1 MOL 467 2.960 8.270 5.600 0.00 0.00 H +HETATM 7459 C2 MOL 467 2.660 10.110 6.700 0.00 0.00 C +HETATM 7460 H2 MOL 467 1.590 9.980 6.630 0.00 0.00 H +HETATM 7461 C3 MOL 467 3.370 11.190 7.240 0.00 0.00 C +HETATM 7462 H3 MOL 467 2.780 12.000 7.660 0.00 0.00 H +HETATM 7463 C4 MOL 467 4.750 11.300 7.100 0.00 0.00 C +HETATM 7464 H4 MOL 467 5.270 12.210 7.370 0.00 0.00 H +HETATM 7465 C5 MOL 467 5.500 10.350 6.390 0.00 0.00 C +HETATM 7466 H5 MOL 467 6.570 10.400 6.240 0.00 0.00 H +HETATM 7467 C6 MOL 467 4.810 9.250 5.870 0.00 0.00 C +HETATM 7468 C7 MOL 467 5.530 8.250 5.000 0.00 0.00 C +HETATM 7469 H6 MOL 467 5.530 8.460 3.930 0.00 0.00 H +HETATM 7470 H7 MOL 467 5.050 7.270 4.990 0.00 0.00 H +HETATM 7471 O1 MOL 467 6.860 8.110 5.430 0.00 0.00 O +HETATM 7472 H8 MOL 467 6.870 7.790 6.320 0.00 0.00 H +HETATM 7473 C1 MOL 468 17.120 42.270 28.170 0.00 0.00 C +HETATM 7474 H1 MOL 468 16.420 41.880 28.890 0.00 0.00 H +HETATM 7475 C2 MOL 468 16.710 42.800 26.940 0.00 0.00 C +HETATM 7476 H2 MOL 468 15.650 42.700 26.780 0.00 0.00 H +HETATM 7477 C3 MOL 468 17.590 43.270 25.950 0.00 0.00 C +HETATM 7478 H3 MOL 468 17.200 43.630 25.010 0.00 0.00 H +HETATM 7479 C4 MOL 468 18.960 43.080 26.150 0.00 0.00 C +HETATM 7480 H4 MOL 468 19.650 43.220 25.330 0.00 0.00 H +HETATM 7481 C5 MOL 468 19.420 42.630 27.400 0.00 0.00 C +HETATM 7482 H5 MOL 468 20.450 42.430 27.630 0.00 0.00 H +HETATM 7483 C6 MOL 468 18.510 42.190 28.370 0.00 0.00 C +HETATM 7484 C7 MOL 468 19.020 41.470 29.590 0.00 0.00 C +HETATM 7485 H6 MOL 468 19.760 40.710 29.350 0.00 0.00 H +HETATM 7486 H7 MOL 468 18.210 41.010 30.160 0.00 0.00 H +HETATM 7487 O1 MOL 468 19.670 42.400 30.440 0.00 0.00 O +HETATM 7488 H8 MOL 468 19.000 43.030 30.660 0.00 0.00 H +HETATM 7489 C1 MOL 469 27.210 31.210 19.710 0.00 0.00 C +HETATM 7490 H1 MOL 469 27.390 31.200 20.780 0.00 0.00 H +HETATM 7491 C2 MOL 469 27.490 30.100 18.910 0.00 0.00 C +HETATM 7492 H2 MOL 469 27.940 29.250 19.410 0.00 0.00 H +HETATM 7493 C3 MOL 469 27.170 30.000 17.550 0.00 0.00 C +HETATM 7494 H3 MOL 469 27.470 29.180 16.910 0.00 0.00 H +HETATM 7495 C4 MOL 469 26.520 31.120 17.020 0.00 0.00 C +HETATM 7496 H4 MOL 469 26.370 31.240 15.960 0.00 0.00 H +HETATM 7497 C5 MOL 469 26.200 32.260 17.780 0.00 0.00 C +HETATM 7498 H5 MOL 469 25.730 33.100 17.290 0.00 0.00 H +HETATM 7499 C6 MOL 469 26.650 32.330 19.100 0.00 0.00 C +HETATM 7500 C7 MOL 469 26.330 33.520 19.980 0.00 0.00 C +HETATM 7501 H6 MOL 469 25.980 34.370 19.390 0.00 0.00 H +HETATM 7502 H7 MOL 469 27.140 33.790 20.660 0.00 0.00 H +HETATM 7503 O1 MOL 469 25.280 33.200 20.860 0.00 0.00 O +HETATM 7504 H8 MOL 469 24.810 32.440 20.550 0.00 0.00 H +HETATM 7505 C1 MOL 470 6.310 5.250 43.260 0.00 0.00 C +HETATM 7506 H1 MOL 470 5.460 5.870 43.490 0.00 0.00 H +HETATM 7507 C2 MOL 470 6.150 3.860 43.180 0.00 0.00 C +HETATM 7508 H2 MOL 470 5.230 3.370 43.460 0.00 0.00 H +HETATM 7509 C3 MOL 470 7.220 3.140 42.630 0.00 0.00 C +HETATM 7510 H3 MOL 470 7.120 2.090 42.380 0.00 0.00 H +HETATM 7511 C4 MOL 470 8.450 3.700 42.260 0.00 0.00 C +HETATM 7512 H4 MOL 470 9.170 3.000 41.850 0.00 0.00 H +HETATM 7513 C5 MOL 470 8.570 5.090 42.330 0.00 0.00 C +HETATM 7514 H5 MOL 470 9.510 5.460 41.940 0.00 0.00 H +HETATM 7515 C6 MOL 470 7.500 5.840 42.830 0.00 0.00 C +HETATM 7516 C7 MOL 470 7.750 7.310 43.040 0.00 0.00 C +HETATM 7517 H6 MOL 470 8.800 7.540 43.270 0.00 0.00 H +HETATM 7518 H7 MOL 470 7.110 7.550 43.880 0.00 0.00 H +HETATM 7519 O1 MOL 470 7.360 7.930 41.840 0.00 0.00 O +HETATM 7520 H8 MOL 470 7.170 7.330 41.140 0.00 0.00 H +HETATM 7521 C1 MOL 471 26.940 0.330 21.240 0.00 0.00 C +HETATM 7522 H1 MOL 471 27.120 0.840 22.170 0.00 0.00 H +HETATM 7523 C2 MOL 471 26.360 0.910 20.100 0.00 0.00 C +HETATM 7524 H2 MOL 471 25.970 1.920 20.140 0.00 0.00 H +HETATM 7525 C3 MOL 471 26.200 0.220 18.890 0.00 0.00 C +HETATM 7526 H3 MOL 471 25.750 0.830 18.130 0.00 0.00 H +HETATM 7527 C4 MOL 471 26.570 -1.130 18.860 0.00 0.00 C +HETATM 7528 H4 MOL 471 26.350 -1.710 17.980 0.00 0.00 H +HETATM 7529 C5 MOL 471 27.040 -1.770 20.020 0.00 0.00 C +HETATM 7530 H5 MOL 471 27.110 -2.840 19.960 0.00 0.00 H +HETATM 7531 C6 MOL 471 27.300 -1.020 21.170 0.00 0.00 C +HETATM 7532 C7 MOL 471 28.040 -1.700 22.300 0.00 0.00 C +HETATM 7533 H6 MOL 471 27.450 -2.250 23.040 0.00 0.00 H +HETATM 7534 H7 MOL 471 28.560 -0.990 22.950 0.00 0.00 H +HETATM 7535 O1 MOL 471 29.110 -2.510 21.900 0.00 0.00 O +HETATM 7536 H8 MOL 471 29.680 -1.860 21.520 0.00 0.00 H +HETATM 7537 C1 MOL 472 16.800 39.700 3.130 0.00 0.00 C +HETATM 7538 H1 MOL 472 16.240 38.770 3.160 0.00 0.00 H +HETATM 7539 C2 MOL 472 16.380 40.870 3.780 0.00 0.00 C +HETATM 7540 H2 MOL 472 15.400 40.840 4.230 0.00 0.00 H +HETATM 7541 C3 MOL 472 17.200 42.000 3.730 0.00 0.00 C +HETATM 7542 H3 MOL 472 16.870 42.880 4.270 0.00 0.00 H +HETATM 7543 C4 MOL 472 18.430 41.940 3.080 0.00 0.00 C +HETATM 7544 H4 MOL 472 19.010 42.860 3.060 0.00 0.00 H +HETATM 7545 C5 MOL 472 18.810 40.830 2.320 0.00 0.00 C +HETATM 7546 H5 MOL 472 19.810 40.840 1.910 0.00 0.00 H +HETATM 7547 C6 MOL 472 18.010 39.690 2.430 0.00 0.00 C +HETATM 7548 C7 MOL 472 18.550 38.340 2.000 0.00 0.00 C +HETATM 7549 H6 MOL 472 18.640 38.430 0.920 0.00 0.00 H +HETATM 7550 H7 MOL 472 17.800 37.590 2.250 0.00 0.00 H +HETATM 7551 O1 MOL 472 19.770 37.980 2.610 0.00 0.00 O +HETATM 7552 H8 MOL 472 19.800 38.120 3.540 0.00 0.00 H +HETATM 7553 C1 MOL 473 21.000 3.600 15.850 0.00 0.00 C +HETATM 7554 H1 MOL 473 21.480 4.440 16.330 0.00 0.00 H +HETATM 7555 C2 MOL 473 19.610 3.660 15.680 0.00 0.00 C +HETATM 7556 H2 MOL 473 18.840 4.280 16.120 0.00 0.00 H +HETATM 7557 C3 MOL 473 19.050 2.580 14.980 0.00 0.00 C +HETATM 7558 H3 MOL 473 17.980 2.670 14.830 0.00 0.00 H +HETATM 7559 C4 MOL 473 19.830 1.590 14.380 0.00 0.00 C +HETATM 7560 H4 MOL 473 19.440 0.780 13.790 0.00 0.00 H +HETATM 7561 C5 MOL 473 21.200 1.530 14.640 0.00 0.00 C +HETATM 7562 H5 MOL 473 21.810 0.750 14.210 0.00 0.00 H +HETATM 7563 C6 MOL 473 21.820 2.580 15.340 0.00 0.00 C +HETATM 7564 C7 MOL 473 23.320 2.670 15.460 0.00 0.00 C +HETATM 7565 H6 MOL 473 23.660 3.670 15.190 0.00 0.00 H +HETATM 7566 H7 MOL 473 23.870 1.880 14.940 0.00 0.00 H +HETATM 7567 O1 MOL 473 23.580 2.420 16.820 0.00 0.00 O +HETATM 7568 H8 MOL 473 23.150 1.600 16.990 0.00 0.00 H +HETATM 7569 C1 MOL 474 14.320 25.320 34.440 0.00 0.00 C +HETATM 7570 H1 MOL 474 13.640 25.880 33.830 0.00 0.00 H +HETATM 7571 C2 MOL 474 14.190 25.260 35.830 0.00 0.00 C +HETATM 7572 H2 MOL 474 13.430 25.790 36.400 0.00 0.00 H +HETATM 7573 C3 MOL 474 15.080 24.500 36.600 0.00 0.00 C +HETATM 7574 H3 MOL 474 14.910 24.320 37.650 0.00 0.00 H +HETATM 7575 C4 MOL 474 15.960 23.640 35.940 0.00 0.00 C +HETATM 7576 H4 MOL 474 16.570 23.030 36.590 0.00 0.00 H +HETATM 7577 C5 MOL 474 16.050 23.670 34.540 0.00 0.00 C +HETATM 7578 H5 MOL 474 16.870 23.150 34.060 0.00 0.00 H +HETATM 7579 C6 MOL 474 15.310 24.580 33.780 0.00 0.00 C +HETATM 7580 C7 MOL 474 15.380 24.680 32.270 0.00 0.00 C +HETATM 7581 H6 MOL 474 14.360 24.860 31.940 0.00 0.00 H +HETATM 7582 H7 MOL 474 15.710 23.700 31.920 0.00 0.00 H +HETATM 7583 O1 MOL 474 16.210 25.770 31.910 0.00 0.00 O +HETATM 7584 H8 MOL 474 16.110 26.440 32.570 0.00 0.00 H +HETATM 7585 C1 MOL 475 23.430 16.080 14.360 0.00 0.00 C +HETATM 7586 H1 MOL 475 23.920 15.330 14.960 0.00 0.00 H +HETATM 7587 C2 MOL 475 22.530 15.690 13.360 0.00 0.00 C +HETATM 7588 H2 MOL 475 22.370 14.620 13.300 0.00 0.00 H +HETATM 7589 C3 MOL 475 21.890 16.610 12.520 0.00 0.00 C +HETATM 7590 H3 MOL 475 21.210 16.290 11.750 0.00 0.00 H +HETATM 7591 C4 MOL 475 22.090 17.980 12.740 0.00 0.00 C +HETATM 7592 H4 MOL 475 21.540 18.750 12.230 0.00 0.00 H +HETATM 7593 C5 MOL 475 23.050 18.400 13.680 0.00 0.00 C +HETATM 7594 H5 MOL 475 23.190 19.460 13.820 0.00 0.00 H +HETATM 7595 C6 MOL 475 23.640 17.450 14.520 0.00 0.00 C +HETATM 7596 C7 MOL 475 24.560 18.060 15.560 0.00 0.00 C +HETATM 7597 H6 MOL 475 24.800 19.110 15.390 0.00 0.00 H +HETATM 7598 H7 MOL 475 25.560 17.670 15.350 0.00 0.00 H +HETATM 7599 O1 MOL 475 24.040 17.750 16.830 0.00 0.00 O +HETATM 7600 H8 MOL 475 23.100 17.760 16.880 0.00 0.00 H +HETATM 7601 C1 MOL 476 12.290 51.380 38.520 0.00 0.00 C +HETATM 7602 H1 MOL 476 11.980 51.960 37.660 0.00 0.00 H +HETATM 7603 C2 MOL 476 11.370 50.580 39.200 0.00 0.00 C +HETATM 7604 H2 MOL 476 10.330 50.610 38.910 0.00 0.00 H +HETATM 7605 C3 MOL 476 11.640 49.950 40.410 0.00 0.00 C +HETATM 7606 H3 MOL 476 10.840 49.340 40.820 0.00 0.00 H +HETATM 7607 C4 MOL 476 12.990 49.980 40.790 0.00 0.00 C +HETATM 7608 H4 MOL 476 13.310 49.450 41.670 0.00 0.00 H +HETATM 7609 C5 MOL 476 13.960 50.780 40.170 0.00 0.00 C +HETATM 7610 H5 MOL 476 14.960 50.810 40.570 0.00 0.00 H +HETATM 7611 C6 MOL 476 13.630 51.340 38.930 0.00 0.00 C +HETATM 7612 C7 MOL 476 14.700 52.080 38.160 0.00 0.00 C +HETATM 7613 H6 MOL 476 14.330 52.350 37.170 0.00 0.00 H +HETATM 7614 H7 MOL 476 15.520 51.380 38.030 0.00 0.00 H +HETATM 7615 O1 MOL 476 15.130 53.170 38.930 0.00 0.00 O +HETATM 7616 H8 MOL 476 15.830 52.780 39.440 0.00 0.00 H +HETATM 7617 C1 MOL 477 1.300 23.760 21.510 0.00 0.00 C +HETATM 7618 H1 MOL 477 0.620 23.160 22.100 0.00 0.00 H +HETATM 7619 C2 MOL 477 2.680 23.800 21.750 0.00 0.00 C +HETATM 7620 H2 MOL 477 3.080 23.160 22.530 0.00 0.00 H +HETATM 7621 C3 MOL 477 3.530 24.590 20.960 0.00 0.00 C +HETATM 7622 H3 MOL 477 4.560 24.740 21.230 0.00 0.00 H +HETATM 7623 C4 MOL 477 3.010 25.390 19.940 0.00 0.00 C +HETATM 7624 H4 MOL 477 3.680 25.910 19.280 0.00 0.00 H +HETATM 7625 C5 MOL 477 1.620 25.420 19.720 0.00 0.00 C +HETATM 7626 H5 MOL 477 1.180 26.080 18.990 0.00 0.00 H +HETATM 7627 C6 MOL 477 0.800 24.600 20.510 0.00 0.00 C +HETATM 7628 C7 MOL 477 -0.680 24.500 20.240 0.00 0.00 C +HETATM 7629 H6 MOL 477 -1.140 25.430 19.900 0.00 0.00 H +HETATM 7630 H7 MOL 477 -1.180 24.280 21.180 0.00 0.00 H +HETATM 7631 O1 MOL 477 -0.930 23.450 19.330 0.00 0.00 O +HETATM 7632 H8 MOL 477 -0.190 23.470 18.740 0.00 0.00 H +HETATM 7633 C1 MOL 478 3.410 45.860 35.670 0.00 0.00 C +HETATM 7634 H1 MOL 478 3.420 44.910 35.160 0.00 0.00 H +HETATM 7635 C2 MOL 478 2.290 46.380 36.340 0.00 0.00 C +HETATM 7636 H2 MOL 478 1.440 45.720 36.430 0.00 0.00 H +HETATM 7637 C3 MOL 478 2.450 47.520 37.130 0.00 0.00 C +HETATM 7638 H3 MOL 478 1.600 47.810 37.730 0.00 0.00 H +HETATM 7639 C4 MOL 478 3.660 48.220 37.240 0.00 0.00 C +HETATM 7640 H4 MOL 478 3.820 49.110 37.830 0.00 0.00 H +HETATM 7641 C5 MOL 478 4.750 47.760 36.500 0.00 0.00 C +HETATM 7642 H5 MOL 478 5.690 48.290 36.510 0.00 0.00 H +HETATM 7643 C6 MOL 478 4.610 46.580 35.760 0.00 0.00 C +HETATM 7644 C7 MOL 478 5.740 46.290 34.800 0.00 0.00 C +HETATM 7645 H6 MOL 478 5.760 45.240 34.510 0.00 0.00 H +HETATM 7646 H7 MOL 478 6.710 46.440 35.270 0.00 0.00 H +HETATM 7647 O1 MOL 478 5.700 47.020 33.590 0.00 0.00 O +HETATM 7648 H8 MOL 478 5.060 47.710 33.680 0.00 0.00 H +HETATM 7649 C1 MOL 479 45.100 45.670 45.180 0.00 0.00 C +HETATM 7650 H1 MOL 479 44.590 45.060 45.920 0.00 0.00 H +HETATM 7651 C2 MOL 479 44.290 46.160 44.160 0.00 0.00 C +HETATM 7652 H2 MOL 479 43.270 45.820 44.040 0.00 0.00 H +HETATM 7653 C3 MOL 479 44.780 47.170 43.320 0.00 0.00 C +HETATM 7654 H3 MOL 479 44.020 47.580 42.670 0.00 0.00 H +HETATM 7655 C4 MOL 479 46.130 47.540 43.380 0.00 0.00 C +HETATM 7656 H4 MOL 479 46.570 48.280 42.740 0.00 0.00 H +HETATM 7657 C5 MOL 479 46.990 46.940 44.310 0.00 0.00 C +HETATM 7658 H5 MOL 479 48.000 47.280 44.470 0.00 0.00 H +HETATM 7659 C6 MOL 479 46.440 46.060 45.250 0.00 0.00 C +HETATM 7660 C7 MOL 479 47.340 45.550 46.350 0.00 0.00 C +HETATM 7661 H6 MOL 479 46.730 44.970 47.040 0.00 0.00 H +HETATM 7662 H7 MOL 479 47.730 46.340 47.000 0.00 0.00 H +HETATM 7663 O1 MOL 479 48.290 44.710 45.750 0.00 0.00 O +HETATM 7664 H8 MOL 479 47.860 44.180 45.100 0.00 0.00 H +HETATM 7665 C1 MOL 480 54.960 12.880 41.790 0.00 0.00 C +HETATM 7666 H1 MOL 480 55.600 12.160 41.310 0.00 0.00 H +HETATM 7667 C2 MOL 480 54.270 12.480 42.950 0.00 0.00 C +HETATM 7668 H2 MOL 480 54.380 11.460 43.300 0.00 0.00 H +HETATM 7669 C3 MOL 480 53.470 13.370 43.670 0.00 0.00 C +HETATM 7670 H3 MOL 480 52.990 13.040 44.590 0.00 0.00 H +HETATM 7671 C4 MOL 480 53.400 14.680 43.200 0.00 0.00 C +HETATM 7672 H4 MOL 480 52.930 15.490 43.750 0.00 0.00 H +HETATM 7673 C5 MOL 480 53.950 15.090 41.980 0.00 0.00 C +HETATM 7674 H5 MOL 480 53.830 16.050 41.510 0.00 0.00 H +HETATM 7675 C6 MOL 480 54.820 14.190 41.340 0.00 0.00 C +HETATM 7676 C7 MOL 480 55.490 14.670 40.080 0.00 0.00 C +HETATM 7677 H6 MOL 480 55.050 15.570 39.640 0.00 0.00 H +HETATM 7678 H7 MOL 480 55.320 13.810 39.430 0.00 0.00 H +HETATM 7679 O1 MOL 480 56.880 14.790 40.270 0.00 0.00 O +HETATM 7680 H8 MOL 480 57.220 14.000 40.660 0.00 0.00 H +HETATM 7681 C1 MOL 481 48.330 32.830 49.060 0.00 0.00 C +HETATM 7682 H1 MOL 481 49.370 32.580 48.920 0.00 0.00 H +HETATM 7683 C2 MOL 481 47.940 34.040 49.640 0.00 0.00 C +HETATM 7684 H2 MOL 481 48.750 34.740 49.830 0.00 0.00 H +HETATM 7685 C3 MOL 481 46.590 34.230 49.940 0.00 0.00 C +HETATM 7686 H3 MOL 481 46.240 35.150 50.370 0.00 0.00 H +HETATM 7687 C4 MOL 481 45.640 33.280 49.530 0.00 0.00 C +HETATM 7688 H4 MOL 481 44.570 33.430 49.640 0.00 0.00 H +HETATM 7689 C5 MOL 481 46.040 32.090 48.920 0.00 0.00 C +HETATM 7690 H5 MOL 481 45.290 31.430 48.510 0.00 0.00 H +HETATM 7691 C6 MOL 481 47.400 31.840 48.710 0.00 0.00 C +HETATM 7692 C7 MOL 481 47.890 30.520 48.180 0.00 0.00 C +HETATM 7693 H6 MOL 481 47.110 29.770 48.050 0.00 0.00 H +HETATM 7694 H7 MOL 481 48.630 30.100 48.870 0.00 0.00 H +HETATM 7695 O1 MOL 481 48.410 30.650 46.870 0.00 0.00 O +HETATM 7696 H8 MOL 481 48.300 29.850 46.390 0.00 0.00 H +HETATM 7697 C1 MOL 482 38.670 14.820 13.050 0.00 0.00 C +HETATM 7698 H1 MOL 482 38.640 15.770 12.530 0.00 0.00 H +HETATM 7699 C2 MOL 482 39.860 14.100 13.190 0.00 0.00 C +HETATM 7700 H2 MOL 482 40.760 14.660 12.980 0.00 0.00 H +HETATM 7701 C3 MOL 482 39.850 12.870 13.870 0.00 0.00 C +HETATM 7702 H3 MOL 482 40.750 12.270 13.960 0.00 0.00 H +HETATM 7703 C4 MOL 482 38.640 12.260 14.190 0.00 0.00 C +HETATM 7704 H4 MOL 482 38.800 11.270 14.600 0.00 0.00 H +HETATM 7705 C5 MOL 482 37.480 13.050 14.200 0.00 0.00 C +HETATM 7706 H5 MOL 482 36.540 12.670 14.570 0.00 0.00 H +HETATM 7707 C6 MOL 482 37.490 14.310 13.580 0.00 0.00 C +HETATM 7708 C7 MOL 482 36.180 15.040 13.420 0.00 0.00 C +HETATM 7709 H6 MOL 482 36.330 16.080 13.730 0.00 0.00 H +HETATM 7710 H7 MOL 482 35.390 14.610 14.040 0.00 0.00 H +HETATM 7711 O1 MOL 482 35.750 15.080 12.080 0.00 0.00 O +HETATM 7712 H8 MOL 482 35.000 15.640 12.200 0.00 0.00 H +HETATM 7713 C1 MOL 483 16.920 10.370 50.290 0.00 0.00 C +HETATM 7714 H1 MOL 483 16.030 10.070 50.820 0.00 0.00 H +HETATM 7715 C2 MOL 483 17.160 9.870 49.000 0.00 0.00 C +HETATM 7716 H2 MOL 483 16.650 9.000 48.620 0.00 0.00 H +HETATM 7717 C3 MOL 483 18.120 10.490 48.190 0.00 0.00 C +HETATM 7718 H3 MOL 483 18.320 10.090 47.200 0.00 0.00 H +HETATM 7719 C4 MOL 483 18.900 11.520 48.710 0.00 0.00 C +HETATM 7720 H4 MOL 483 19.730 11.790 48.080 0.00 0.00 H +HETATM 7721 C5 MOL 483 18.710 12.020 50.010 0.00 0.00 C +HETATM 7722 H5 MOL 483 19.260 12.880 50.360 0.00 0.00 H +HETATM 7723 C6 MOL 483 17.700 11.430 50.780 0.00 0.00 C +HETATM 7724 C7 MOL 483 17.550 11.950 52.180 0.00 0.00 C +HETATM 7725 H6 MOL 483 18.450 12.110 52.780 0.00 0.00 H +HETATM 7726 H7 MOL 483 16.830 11.290 52.660 0.00 0.00 H +HETATM 7727 O1 MOL 483 17.050 13.250 51.960 0.00 0.00 O +HETATM 7728 H8 MOL 483 17.280 13.540 51.090 0.00 0.00 H +HETATM 7729 C1 MOL 484 38.280 12.470 19.900 0.00 0.00 C +HETATM 7730 H1 MOL 484 38.840 12.040 20.720 0.00 0.00 H +HETATM 7731 C2 MOL 484 38.200 13.870 19.840 0.00 0.00 C +HETATM 7732 H2 MOL 484 38.540 14.550 20.610 0.00 0.00 H +HETATM 7733 C3 MOL 484 37.910 14.450 18.610 0.00 0.00 C +HETATM 7734 H3 MOL 484 38.020 15.510 18.490 0.00 0.00 H +HETATM 7735 C4 MOL 484 37.630 13.690 17.460 0.00 0.00 C +HETATM 7736 H4 MOL 484 37.340 14.240 16.570 0.00 0.00 H +HETATM 7737 C5 MOL 484 37.500 12.310 17.640 0.00 0.00 C +HETATM 7738 H5 MOL 484 37.400 11.610 16.820 0.00 0.00 H +HETATM 7739 C6 MOL 484 37.890 11.670 18.820 0.00 0.00 C +HETATM 7740 C7 MOL 484 37.980 10.160 18.910 0.00 0.00 C +HETATM 7741 H6 MOL 484 38.350 9.700 19.830 0.00 0.00 H +HETATM 7742 H7 MOL 484 38.620 9.740 18.140 0.00 0.00 H +HETATM 7743 O1 MOL 484 36.740 9.550 18.640 0.00 0.00 O +HETATM 7744 H8 MOL 484 36.020 10.140 18.830 0.00 0.00 H +HETATM 7745 C1 MOL 485 31.140 9.740 50.000 0.00 0.00 C +HETATM 7746 H1 MOL 485 30.470 10.250 50.680 0.00 0.00 H +HETATM 7747 C2 MOL 485 31.500 8.460 50.440 0.00 0.00 C +HETATM 7748 H2 MOL 485 31.130 8.010 51.350 0.00 0.00 H +HETATM 7749 C3 MOL 485 32.370 7.670 49.680 0.00 0.00 C +HETATM 7750 H3 MOL 485 32.750 6.700 49.990 0.00 0.00 H +HETATM 7751 C4 MOL 485 32.790 8.190 48.460 0.00 0.00 C +HETATM 7752 H4 MOL 485 33.410 7.580 47.810 0.00 0.00 H +HETATM 7753 C5 MOL 485 32.420 9.460 48.000 0.00 0.00 C +HETATM 7754 H5 MOL 485 32.750 9.790 47.020 0.00 0.00 H +HETATM 7755 C6 MOL 485 31.600 10.270 48.790 0.00 0.00 C +HETATM 7756 C7 MOL 485 31.170 11.670 48.400 0.00 0.00 C +HETATM 7757 H6 MOL 485 30.100 11.840 48.530 0.00 0.00 H +HETATM 7758 H7 MOL 485 31.550 11.890 47.400 0.00 0.00 H +HETATM 7759 O1 MOL 485 31.900 12.570 49.200 0.00 0.00 O +HETATM 7760 H8 MOL 485 32.790 12.310 49.020 0.00 0.00 H +HETATM 7761 C1 MOL 486 54.520 7.800 9.400 0.00 0.00 C +HETATM 7762 H1 MOL 486 54.750 6.880 8.890 0.00 0.00 H +HETATM 7763 C2 MOL 486 55.100 8.970 8.900 0.00 0.00 C +HETATM 7764 H2 MOL 486 55.800 8.810 8.090 0.00 0.00 H +HETATM 7765 C3 MOL 486 54.980 10.200 9.550 0.00 0.00 C +HETATM 7766 H3 MOL 486 55.390 11.150 9.250 0.00 0.00 H +HETATM 7767 C4 MOL 486 54.250 10.230 10.750 0.00 0.00 C +HETATM 7768 H4 MOL 486 54.130 11.150 11.300 0.00 0.00 H +HETATM 7769 C5 MOL 486 53.650 9.080 11.270 0.00 0.00 C +HETATM 7770 H5 MOL 486 53.200 9.030 12.250 0.00 0.00 H +HETATM 7771 C6 MOL 486 53.730 7.880 10.560 0.00 0.00 C +HETATM 7772 C7 MOL 486 53.140 6.620 11.150 0.00 0.00 C +HETATM 7773 H6 MOL 486 52.930 6.840 12.190 0.00 0.00 H +HETATM 7774 H7 MOL 486 53.780 5.760 10.950 0.00 0.00 H +HETATM 7775 O1 MOL 486 51.930 6.210 10.550 0.00 0.00 O +HETATM 7776 H8 MOL 486 51.580 6.930 10.040 0.00 0.00 H +HETATM 7777 C1 MOL 487 24.230 13.270 9.500 0.00 0.00 C +HETATM 7778 H1 MOL 487 25.080 12.680 9.810 0.00 0.00 H +HETATM 7779 C2 MOL 487 22.950 12.770 9.790 0.00 0.00 C +HETATM 7780 H2 MOL 487 22.890 11.800 10.270 0.00 0.00 H +HETATM 7781 C3 MOL 487 21.800 13.260 9.180 0.00 0.00 C +HETATM 7782 H3 MOL 487 20.830 12.800 9.310 0.00 0.00 H +HETATM 7783 C4 MOL 487 21.900 14.440 8.430 0.00 0.00 C +HETATM 7784 H4 MOL 487 20.980 14.910 8.120 0.00 0.00 H +HETATM 7785 C5 MOL 487 23.170 15.000 8.210 0.00 0.00 C +HETATM 7786 H5 MOL 487 23.210 15.810 7.500 0.00 0.00 H +HETATM 7787 C6 MOL 487 24.340 14.420 8.720 0.00 0.00 C +HETATM 7788 C7 MOL 487 25.700 15.050 8.490 0.00 0.00 C +HETATM 7789 H6 MOL 487 25.790 15.720 7.630 0.00 0.00 H +HETATM 7790 H7 MOL 487 26.350 14.190 8.310 0.00 0.00 H +HETATM 7791 O1 MOL 487 26.350 15.740 9.530 0.00 0.00 O +HETATM 7792 H8 MOL 487 25.910 16.570 9.660 0.00 0.00 H +HETATM 7793 C1 MOL 488 14.480 35.480 48.770 0.00 0.00 C +HETATM 7794 H1 MOL 488 13.810 34.970 48.090 0.00 0.00 H +HETATM 7795 C2 MOL 488 14.270 36.850 48.990 0.00 0.00 C +HETATM 7796 H2 MOL 488 13.350 37.290 48.620 0.00 0.00 H +HETATM 7797 C3 MOL 488 15.350 37.630 49.410 0.00 0.00 C +HETATM 7798 H3 MOL 488 15.240 38.700 49.480 0.00 0.00 H +HETATM 7799 C4 MOL 488 16.550 36.990 49.770 0.00 0.00 C +HETATM 7800 H4 MOL 488 17.470 37.460 50.090 0.00 0.00 H +HETATM 7801 C5 MOL 488 16.690 35.610 49.640 0.00 0.00 C +HETATM 7802 H5 MOL 488 17.620 35.140 49.920 0.00 0.00 H +HETATM 7803 C6 MOL 488 15.650 34.820 49.150 0.00 0.00 C +HETATM 7804 C7 MOL 488 15.770 33.370 48.740 0.00 0.00 C +HETATM 7805 H6 MOL 488 16.790 33.210 48.410 0.00 0.00 H +HETATM 7806 H7 MOL 488 15.130 33.130 47.890 0.00 0.00 H +HETATM 7807 O1 MOL 488 15.530 32.470 49.800 0.00 0.00 O +HETATM 7808 H8 MOL 488 15.710 31.600 49.480 0.00 0.00 H +HETATM 7809 C1 MOL 489 29.120 18.420 18.490 0.00 0.00 C +HETATM 7810 H1 MOL 489 30.120 18.720 18.200 0.00 0.00 H +HETATM 7811 C2 MOL 489 27.950 19.170 18.270 0.00 0.00 C +HETATM 7812 H2 MOL 489 27.930 20.110 17.730 0.00 0.00 H +HETATM 7813 C3 MOL 489 26.740 18.600 18.660 0.00 0.00 C +HETATM 7814 H3 MOL 489 25.780 19.070 18.480 0.00 0.00 H +HETATM 7815 C4 MOL 489 26.710 17.300 19.170 0.00 0.00 C +HETATM 7816 H4 MOL 489 25.720 17.120 19.570 0.00 0.00 H +HETATM 7817 C5 MOL 489 27.880 16.570 19.390 0.00 0.00 C +HETATM 7818 H5 MOL 489 27.870 15.630 19.920 0.00 0.00 H +HETATM 7819 C6 MOL 489 29.110 17.140 19.040 0.00 0.00 C +HETATM 7820 C7 MOL 489 30.380 16.370 19.310 0.00 0.00 C +HETATM 7821 H6 MOL 489 30.820 16.800 20.210 0.00 0.00 H +HETATM 7822 H7 MOL 489 31.120 16.660 18.560 0.00 0.00 H +HETATM 7823 O1 MOL 489 30.320 14.960 19.340 0.00 0.00 O +HETATM 7824 H8 MOL 489 30.280 14.540 18.490 0.00 0.00 H +HETATM 7825 C1 MOL 490 7.820 34.000 15.480 0.00 0.00 C +HETATM 7826 H1 MOL 490 7.190 33.360 16.090 0.00 0.00 H +HETATM 7827 C2 MOL 490 8.700 34.930 16.020 0.00 0.00 C +HETATM 7828 H2 MOL 490 8.560 34.930 17.090 0.00 0.00 H +HETATM 7829 C3 MOL 490 9.620 35.690 15.290 0.00 0.00 C +HETATM 7830 H3 MOL 490 10.420 36.250 15.760 0.00 0.00 H +HETATM 7831 C4 MOL 490 9.550 35.490 13.910 0.00 0.00 C +HETATM 7832 H4 MOL 490 10.300 35.970 13.290 0.00 0.00 H +HETATM 7833 C5 MOL 490 8.550 34.750 13.260 0.00 0.00 C +HETATM 7834 H5 MOL 490 8.400 34.840 12.200 0.00 0.00 H +HETATM 7835 C6 MOL 490 7.740 33.950 14.080 0.00 0.00 C +HETATM 7836 C7 MOL 490 6.800 33.000 13.390 0.00 0.00 C +HETATM 7837 H6 MOL 490 6.370 32.300 14.100 0.00 0.00 H +HETATM 7838 H7 MOL 490 7.300 32.490 12.570 0.00 0.00 H +HETATM 7839 O1 MOL 490 5.630 33.560 12.820 0.00 0.00 O +HETATM 7840 H8 MOL 490 5.240 32.900 12.270 0.00 0.00 H +HETATM 7841 C1 MOL 491 10.510 39.630 39.470 0.00 0.00 C +HETATM 7842 H1 MOL 491 10.230 38.700 39.000 0.00 0.00 H +HETATM 7843 C2 MOL 491 10.710 40.830 38.770 0.00 0.00 C +HETATM 7844 H2 MOL 491 10.530 40.820 37.710 0.00 0.00 H +HETATM 7845 C3 MOL 491 11.240 41.920 39.470 0.00 0.00 C +HETATM 7846 H3 MOL 491 11.410 42.780 38.830 0.00 0.00 H +HETATM 7847 C4 MOL 491 11.650 41.820 40.800 0.00 0.00 C +HETATM 7848 H4 MOL 491 12.030 42.670 41.360 0.00 0.00 H +HETATM 7849 C5 MOL 491 11.370 40.620 41.470 0.00 0.00 C +HETATM 7850 H5 MOL 491 11.590 40.630 42.530 0.00 0.00 H +HETATM 7851 C6 MOL 491 10.750 39.530 40.840 0.00 0.00 C +HETATM 7852 C7 MOL 491 10.230 38.340 41.610 0.00 0.00 C +HETATM 7853 H6 MOL 491 9.150 38.340 41.510 0.00 0.00 H +HETATM 7854 H7 MOL 491 10.430 38.540 42.660 0.00 0.00 H +HETATM 7855 O1 MOL 491 10.850 37.180 41.090 0.00 0.00 O +HETATM 7856 H8 MOL 491 11.360 36.780 41.780 0.00 0.00 H +HETATM 7857 C1 MOL 492 22.820 21.720 6.270 0.00 0.00 C +HETATM 7858 H1 MOL 492 22.070 21.120 6.750 0.00 0.00 H +HETATM 7859 C2 MOL 492 22.750 23.120 6.280 0.00 0.00 C +HETATM 7860 H2 MOL 492 21.850 23.580 6.650 0.00 0.00 H +HETATM 7861 C3 MOL 492 23.770 23.870 5.660 0.00 0.00 C +HETATM 7862 H3 MOL 492 23.800 24.950 5.700 0.00 0.00 H +HETATM 7863 C4 MOL 492 24.730 23.170 4.930 0.00 0.00 C +HETATM 7864 H4 MOL 492 25.490 23.760 4.430 0.00 0.00 H +HETATM 7865 C5 MOL 492 24.820 21.770 4.930 0.00 0.00 C +HETATM 7866 H5 MOL 492 25.680 21.350 4.450 0.00 0.00 H +HETATM 7867 C6 MOL 492 23.890 21.040 5.680 0.00 0.00 C +HETATM 7868 C7 MOL 492 24.050 19.540 5.830 0.00 0.00 C +HETATM 7869 H6 MOL 492 23.970 19.260 6.880 0.00 0.00 H +HETATM 7870 H7 MOL 492 25.060 19.340 5.470 0.00 0.00 H +HETATM 7871 O1 MOL 492 23.240 18.740 5.000 0.00 0.00 O +HETATM 7872 H8 MOL 492 23.070 19.290 4.250 0.00 0.00 H +HETATM 7873 C1 MOL 493 23.180 29.520 4.720 0.00 0.00 C +HETATM 7874 H1 MOL 493 23.970 30.240 4.620 0.00 0.00 H +HETATM 7875 C2 MOL 493 22.050 29.870 5.480 0.00 0.00 C +HETATM 7876 H2 MOL 493 21.940 30.860 5.890 0.00 0.00 H +HETATM 7877 C3 MOL 493 21.090 28.890 5.750 0.00 0.00 C +HETATM 7878 H3 MOL 493 20.170 29.200 6.210 0.00 0.00 H +HETATM 7879 C4 MOL 493 21.240 27.560 5.330 0.00 0.00 C +HETATM 7880 H4 MOL 493 20.490 26.840 5.640 0.00 0.00 H +HETATM 7881 C5 MOL 493 22.410 27.210 4.660 0.00 0.00 C +HETATM 7882 H5 MOL 493 22.610 26.200 4.320 0.00 0.00 H +HETATM 7883 C6 MOL 493 23.350 28.190 4.300 0.00 0.00 C +HETATM 7884 C7 MOL 493 24.630 27.800 3.610 0.00 0.00 C +HETATM 7885 H6 MOL 493 25.360 27.400 4.310 0.00 0.00 H +HETATM 7886 H7 MOL 493 25.110 28.610 3.060 0.00 0.00 H +HETATM 7887 O1 MOL 493 24.320 26.780 2.690 0.00 0.00 O +HETATM 7888 H8 MOL 493 23.390 26.750 2.530 0.00 0.00 H +HETATM 7889 C1 MOL 494 45.000 12.630 36.940 0.00 0.00 C +HETATM 7890 H1 MOL 494 44.170 12.200 36.400 0.00 0.00 H +HETATM 7891 C2 MOL 494 45.600 11.890 37.970 0.00 0.00 C +HETATM 7892 H2 MOL 494 45.320 10.870 38.160 0.00 0.00 H +HETATM 7893 C3 MOL 494 46.660 12.440 38.700 0.00 0.00 C +HETATM 7894 H3 MOL 494 47.090 11.860 39.510 0.00 0.00 H +HETATM 7895 C4 MOL 494 47.170 13.690 38.340 0.00 0.00 C +HETATM 7896 H4 MOL 494 48.160 13.900 38.730 0.00 0.00 H +HETATM 7897 C5 MOL 494 46.610 14.420 37.280 0.00 0.00 C +HETATM 7898 H5 MOL 494 47.010 15.380 37.000 0.00 0.00 H +HETATM 7899 C6 MOL 494 45.460 13.920 36.650 0.00 0.00 C +HETATM 7900 C7 MOL 494 44.730 14.620 35.540 0.00 0.00 C +HETATM 7901 H6 MOL 494 44.020 15.260 36.070 0.00 0.00 H +HETATM 7902 H7 MOL 494 44.080 13.930 35.000 0.00 0.00 H +HETATM 7903 O1 MOL 494 45.680 15.160 34.650 0.00 0.00 O +HETATM 7904 H8 MOL 494 45.330 15.440 33.820 0.00 0.00 H +HETATM 7905 C1 MOL 495 8.610 41.020 12.320 0.00 0.00 C +HETATM 7906 H1 MOL 495 8.410 40.440 13.210 0.00 0.00 H +HETATM 7907 C2 MOL 495 9.950 41.200 11.950 0.00 0.00 C +HETATM 7908 H2 MOL 495 10.680 40.700 12.570 0.00 0.00 H +HETATM 7909 C3 MOL 495 10.280 42.010 10.860 0.00 0.00 C +HETATM 7910 H3 MOL 495 11.310 41.970 10.520 0.00 0.00 H +HETATM 7911 C4 MOL 495 9.290 42.740 10.200 0.00 0.00 C +HETATM 7912 H4 MOL 495 9.670 43.460 9.480 0.00 0.00 H +HETATM 7913 C5 MOL 495 7.970 42.680 10.670 0.00 0.00 C +HETATM 7914 H5 MOL 495 7.290 43.440 10.330 0.00 0.00 H +HETATM 7915 C6 MOL 495 7.620 41.770 11.680 0.00 0.00 C +HETATM 7916 C7 MOL 495 6.190 41.730 12.160 0.00 0.00 C +HETATM 7917 H6 MOL 495 5.980 40.830 12.750 0.00 0.00 H +HETATM 7918 H7 MOL 495 5.610 41.750 11.240 0.00 0.00 H +HETATM 7919 O1 MOL 495 5.990 42.900 12.930 0.00 0.00 O +HETATM 7920 H8 MOL 495 6.560 43.000 13.680 0.00 0.00 H +HETATM 7921 C1 MOL 496 5.580 31.160 43.920 0.00 0.00 C +HETATM 7922 H1 MOL 496 4.740 30.780 43.350 0.00 0.00 H +HETATM 7923 C2 MOL 496 6.180 30.320 44.860 0.00 0.00 C +HETATM 7924 H2 MOL 496 5.720 29.350 45.000 0.00 0.00 H +HETATM 7925 C3 MOL 496 7.220 30.770 45.680 0.00 0.00 C +HETATM 7926 H3 MOL 496 7.860 30.170 46.310 0.00 0.00 H +HETATM 7927 C4 MOL 496 7.620 32.100 45.540 0.00 0.00 C +HETATM 7928 H4 MOL 496 8.450 32.410 46.150 0.00 0.00 H +HETATM 7929 C5 MOL 496 6.960 32.970 44.650 0.00 0.00 C +HETATM 7930 H5 MOL 496 7.390 33.950 44.510 0.00 0.00 H +HETATM 7931 C6 MOL 496 5.920 32.520 43.830 0.00 0.00 C +HETATM 7932 C7 MOL 496 5.230 33.410 42.830 0.00 0.00 C +HETATM 7933 H6 MOL 496 5.840 34.180 42.350 0.00 0.00 H +HETATM 7934 H7 MOL 496 4.520 34.040 43.370 0.00 0.00 H +HETATM 7935 O1 MOL 496 4.540 32.680 41.840 0.00 0.00 O +HETATM 7936 H8 MOL 496 4.230 33.360 41.260 0.00 0.00 H +HETATM 7937 C1 MOL 497 49.520 54.050 51.060 0.00 0.00 C +HETATM 7938 H1 MOL 497 50.430 53.900 50.500 0.00 0.00 H +HETATM 7939 C2 MOL 497 49.410 54.270 52.440 0.00 0.00 C +HETATM 7940 H2 MOL 497 50.260 54.390 53.100 0.00 0.00 H +HETATM 7941 C3 MOL 497 48.150 54.390 53.030 0.00 0.00 C +HETATM 7942 H3 MOL 497 48.070 54.460 54.100 0.00 0.00 H +HETATM 7943 C4 MOL 497 47.010 54.310 52.220 0.00 0.00 C +HETATM 7944 H4 MOL 497 46.020 54.270 52.670 0.00 0.00 H +HETATM 7945 C5 MOL 497 47.090 54.280 50.830 0.00 0.00 C +HETATM 7946 H5 MOL 497 46.180 54.100 50.280 0.00 0.00 H +HETATM 7947 C6 MOL 497 48.370 54.140 50.260 0.00 0.00 C +HETATM 7948 C7 MOL 497 48.430 53.800 48.790 0.00 0.00 C +HETATM 7949 H6 MOL 497 47.390 53.640 48.490 0.00 0.00 H +HETATM 7950 H7 MOL 497 48.830 52.850 48.430 0.00 0.00 H +HETATM 7951 O1 MOL 497 49.070 54.930 48.230 0.00 0.00 O +HETATM 7952 H8 MOL 497 49.950 54.650 48.040 0.00 0.00 H +HETATM 7953 C1 MOL 498 19.410 27.570 13.170 0.00 0.00 C +HETATM 7954 H1 MOL 498 19.190 26.520 13.050 0.00 0.00 H +HETATM 7955 C2 MOL 498 18.400 28.510 12.920 0.00 0.00 C +HETATM 7956 H2 MOL 498 17.390 28.270 12.610 0.00 0.00 H +HETATM 7957 C3 MOL 498 18.780 29.860 12.880 0.00 0.00 C +HETATM 7958 H3 MOL 498 18.020 30.540 12.550 0.00 0.00 H +HETATM 7959 C4 MOL 498 20.100 30.270 13.150 0.00 0.00 C +HETATM 7960 H4 MOL 498 20.340 31.320 13.140 0.00 0.00 H +HETATM 7961 C5 MOL 498 21.080 29.310 13.410 0.00 0.00 C +HETATM 7962 H5 MOL 498 22.080 29.630 13.660 0.00 0.00 H +HETATM 7963 C6 MOL 498 20.720 27.960 13.460 0.00 0.00 C +HETATM 7964 C7 MOL 498 21.740 26.900 13.830 0.00 0.00 C +HETATM 7965 H6 MOL 498 21.510 26.580 14.850 0.00 0.00 H +HETATM 7966 H7 MOL 498 22.720 27.370 13.790 0.00 0.00 H +HETATM 7967 O1 MOL 498 21.800 25.850 12.900 0.00 0.00 O +HETATM 7968 H8 MOL 498 21.990 26.220 12.050 0.00 0.00 H +HETATM 7969 C1 MOL 499 11.740 41.170 21.030 0.00 0.00 C +HETATM 7970 H1 MOL 499 11.840 40.850 20.000 0.00 0.00 H +HETATM 7971 C2 MOL 499 12.430 40.640 22.130 0.00 0.00 C +HETATM 7972 H2 MOL 499 13.220 39.910 22.020 0.00 0.00 H +HETATM 7973 C3 MOL 499 12.260 41.190 23.410 0.00 0.00 C +HETATM 7974 H3 MOL 499 12.940 40.910 24.190 0.00 0.00 H +HETATM 7975 C4 MOL 499 11.320 42.210 23.600 0.00 0.00 C +HETATM 7976 H4 MOL 499 11.170 42.600 24.600 0.00 0.00 H +HETATM 7977 C5 MOL 499 10.620 42.790 22.540 0.00 0.00 C +HETATM 7978 H5 MOL 499 10.030 43.690 22.650 0.00 0.00 H +HETATM 7979 C6 MOL 499 10.840 42.210 21.280 0.00 0.00 C +HETATM 7980 C7 MOL 499 10.210 42.940 20.120 0.00 0.00 C +HETATM 7981 H6 MOL 499 10.820 42.730 19.240 0.00 0.00 H +HETATM 7982 H7 MOL 499 10.280 44.000 20.340 0.00 0.00 H +HETATM 7983 O1 MOL 499 8.870 42.540 19.900 0.00 0.00 O +HETATM 7984 H8 MOL 499 8.700 41.830 20.500 0.00 0.00 H +HETATM 7985 C1 MOL 500 51.970 35.250 29.300 0.00 0.00 C +HETATM 7986 H1 MOL 500 52.800 35.630 29.870 0.00 0.00 H +HETATM 7987 C2 MOL 500 50.710 35.210 29.900 0.00 0.00 C +HETATM 7988 H2 MOL 500 50.630 35.560 30.920 0.00 0.00 H +HETATM 7989 C3 MOL 500 49.650 34.520 29.290 0.00 0.00 C +HETATM 7990 H3 MOL 500 48.710 34.490 29.830 0.00 0.00 H +HETATM 7991 C4 MOL 500 49.750 34.080 27.970 0.00 0.00 C +HETATM 7992 H4 MOL 500 48.880 33.550 27.620 0.00 0.00 H +HETATM 7993 C5 MOL 500 50.980 34.220 27.300 0.00 0.00 C +HETATM 7994 H5 MOL 500 51.100 33.900 26.280 0.00 0.00 H +HETATM 7995 C6 MOL 500 52.020 34.900 27.940 0.00 0.00 C +HETATM 7996 C7 MOL 500 53.430 34.860 27.410 0.00 0.00 C +HETATM 7997 H6 MOL 500 53.430 34.280 26.490 0.00 0.00 H +HETATM 7998 H7 MOL 500 54.120 34.330 28.070 0.00 0.00 H +HETATM 7999 O1 MOL 500 53.760 36.190 27.040 0.00 0.00 O +HETATM 8000 H8 MOL 500 53.180 36.570 26.400 0.00 0.00 H +ENDMDL \ No newline at end of file diff --git a/examples/lennard_jones_opt/Lig.top b/examples/lennard_jones_opt/Lig.top new file mode 100644 index 000000000..8d88d3a79 --- /dev/null +++ b/examples/lennard_jones_opt/Lig.top @@ -0,0 +1,171 @@ +; GAFF topology for benzyl-alcohol +; with charges based on quantum calculations +; on Hartee-Fock level with the 6/311G** basis set +; +; Wang, J.; Wang, W.; Kollman, P. A.; Case, D. A. J. Comput. Chem. 2005, 25, 11571174 +; Carl Caleman, Paul J. van Maaren, Minyan Hong, Jochen S. Hub, Luciano T. Costa and David van der Spoel, Force Field Benchmark of Organic Liquids: Density, Enthalpy of Vaporization, Heat Capacities, Surface Tension, Isothermal Compressibility, Volumetric Expansion Coefficient, and Dielectric Constant, J. Chem. Theor. Comput. 8 (2012) http://dx.doi.org/10.1021/ct200731v +; +; +[ defaults ] +; nbfunc comb-rule gen-pairs fudgeLJ fudgeQQ +1 2 yes 0.5 0.8333 + +[ atomtypes ] +;name bond_type mass charge ptype sigma epsilon +c3 c3 0.0000 0.0000 A 3.39967e-01 4.57730e-01 +h1 h1 0.0000 0.0000 A 2.47135e-01 6.56888e-02 +oh oh 0.0000 0.0000 A 3.06647e-01 8.80314e-01 +ha ha 0.0000 0.0000 A 2.59964e-01 6.27600e-02 +ca ca 0.0000 0.0000 A 3.39967e-01 3.59824e-01 +ho ho 0.0000 0.0000 A 0.00000e+00 0.00000e+00 + +[ moleculetype ] +; Name nrexcl +benzyl-alcohol 3 + +[ atoms ] +; nr type resnr residue atom cgnr charge mass typeB chargeB + 1 ca 1 MOL C1 1 -0.17200 12.000000 + 2 ha 1 MOL H1 2 0.12450 1.000000 + 3 ca 1 MOL C2 3 -0.13820 12.000000 + 4 ha 1 MOL H2 4 0.14490 1.000000 + 5 ca 1 MOL C3 5 -0.18020 12.000000 + 6 ha 1 MOL H3 6 0.14570 1.000000 + 7 ca 1 MOL C4 7 -0.13820 12.000000 + 8 ha 1 MOL H4 8 0.14490 1.000000 + 9 ca 1 MOL C5 9 -0.17200 12.000000 + 10 ha 1 MOL H5 10 0.12450 1.000000 + 11 ca 1 MOL C6 11 0.06220 12.000000 + 12 c3 1 MOL C7 12 0.31400 12.000000 + 13 h1 1 MOL H6 13 -0.02160 1.000000 + 14 h1 1 MOL H7 14 -0.02160 1.000000 + 15 oh 1 MOL O1 15 -0.60830 16.000000 + 16 ho 1 MOL H8 16 0.39140 1.000000 + +[ bonds ] +; ai aj funct r k + 1 2 1 1.0870e-01 2.8811e+05 + 3 4 1 1.0870e-01 2.8811e+05 + 5 6 1 1.0870e-01 2.8811e+05 + 7 8 1 1.0870e-01 2.8811e+05 + 9 10 1 1.0870e-01 2.8811e+05 + 12 13 1 1.0930e-01 2.8108e+05 + 12 14 1 1.0930e-01 2.8108e+05 + 15 16 1 9.7400e-02 3.0928e+05 + 1 3 1 1.3870e-01 4.0033e+05 + 1 11 1 1.3870e-01 4.0033e+05 + 3 5 1 1.3870e-01 4.0033e+05 + 5 7 1 1.3870e-01 4.0033e+05 + 7 9 1 1.3870e-01 4.0033e+05 + 9 11 1 1.3870e-01 4.0033e+05 + 11 12 1 1.5130e-01 2.7070e+05 + 12 15 1 1.4260e-01 2.6284e+05 + +[ pairs ] +; ai aj funct + 1 6 1 + 1 10 1 + 1 13 1 + 1 14 1 + 2 4 1 + 2 5 1 + 2 9 1 + 2 12 1 + 3 8 1 + 11 4 1 + 4 6 1 + 4 7 1 + 5 10 1 + 6 8 1 + 6 9 1 + 8 10 1 + 8 11 1 + 9 13 1 + 9 14 1 + 10 12 1 + 11 16 1 + 13 16 1 + 14 16 1 + 1 7 1 + 1 15 1 + 3 9 1 + 3 12 1 + 11 5 1 + 7 12 1 + 9 15 1 + +[ angles ] +; ai aj ak funct theta cth + 1 3 4 1 1.2001e+02 4.0585e+02 + 2 1 3 1 1.2001e+02 4.0585e+02 + 2 1 11 1 1.2001e+02 4.0585e+02 + 3 5 6 1 1.2001e+02 4.0585e+02 + 4 3 5 1 1.2001e+02 4.0585e+02 + 5 7 8 1 1.2001e+02 4.0585e+02 + 6 5 7 1 1.2001e+02 4.0585e+02 + 7 9 10 1 1.2001e+02 4.0585e+02 + 8 7 9 1 1.2001e+02 4.0585e+02 + 10 9 11 1 1.2001e+02 4.0585e+02 + 11 12 13 1 1.1095e+02 3.9162e+02 + 11 12 14 1 1.1095e+02 3.9162e+02 + 12 15 16 1 1.0816e+02 3.9413e+02 + 13 12 14 1 1.0955e+02 3.2803e+02 + 13 12 15 1 1.0988e+02 4.2677e+02 + 14 12 15 1 1.0988e+02 4.2677e+02 + 1 3 5 1 1.1997e+02 5.6233e+02 + 1 11 9 1 1.1997e+02 5.6233e+02 + 1 11 12 1 1.2063e+02 5.3388e+02 + 3 1 11 1 1.1997e+02 5.6233e+02 + 3 5 7 1 1.1997e+02 5.6233e+02 + 5 7 9 1 1.1997e+02 5.6233e+02 + 7 9 11 1 1.1997e+02 5.6233e+02 + 9 11 12 1 1.2063e+02 5.3388e+02 + 11 12 15 1 1.1297e+02 5.6233e+02 + +[ dihedrals ] +;i j k l func C0 ... C5 + 1 3 5 6 3 30.33400 0.00000 -30.33400 0.00000 0.00000 0.00000 ; + 1 11 9 10 3 30.33400 0.00000 -30.33400 0.00000 0.00000 0.00000 ; + 1 11 12 13 3 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 ; + 1 11 12 14 3 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 ; + 2 1 3 4 3 30.33400 0.00000 -30.33400 0.00000 0.00000 0.00000 ; + 2 1 3 5 3 30.33400 0.00000 -30.33400 0.00000 0.00000 0.00000 ; + 2 1 11 9 3 30.33400 0.00000 -30.33400 0.00000 0.00000 0.00000 ; + 2 1 11 12 3 30.33400 0.00000 -30.33400 0.00000 0.00000 0.00000 ; + 3 5 7 8 3 30.33400 0.00000 -30.33400 0.00000 0.00000 0.00000 ; + 11 1 3 4 3 30.33400 0.00000 -30.33400 0.00000 0.00000 0.00000 ; + 4 3 5 6 3 30.33400 0.00000 -30.33400 0.00000 0.00000 0.00000 ; + 4 3 5 7 3 30.33400 0.00000 -30.33400 0.00000 0.00000 0.00000 ; + 5 7 9 10 3 30.33400 0.00000 -30.33400 0.00000 0.00000 0.00000 ; + 6 5 7 8 3 30.33400 0.00000 -30.33400 0.00000 0.00000 0.00000 ; + 6 5 7 9 3 30.33400 0.00000 -30.33400 0.00000 0.00000 0.00000 ; + 8 7 9 10 3 30.33400 0.00000 -30.33400 0.00000 0.00000 0.00000 ; + 8 7 9 11 3 30.33400 0.00000 -30.33400 0.00000 0.00000 0.00000 ; + 9 11 12 13 3 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 ; + 9 11 12 14 3 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 ; + 10 9 11 12 3 30.33400 0.00000 -30.33400 0.00000 0.00000 0.00000 ; + 11 12 15 16 3 0.69873 2.09618 0.00000 -2.79491 0.00000 0.00000 ; + 13 12 15 16 3 0.69873 2.09618 0.00000 -2.79491 0.00000 0.00000 ; + 14 12 15 16 3 0.69873 2.09618 0.00000 -2.79491 0.00000 0.00000 ; + 2 1 11 3 3 9.20480 0.00000 -9.20480 0.00000 0.00000 0.00000 ; + 1 5 3 4 3 9.20480 0.00000 -9.20480 0.00000 0.00000 0.00000 ; + 3 7 5 6 3 9.20480 0.00000 -9.20480 0.00000 0.00000 0.00000 ; + 5 9 7 8 3 9.20480 0.00000 -9.20480 0.00000 0.00000 0.00000 ; + 7 11 9 10 3 9.20480 0.00000 -9.20480 0.00000 0.00000 0.00000 ; + 1 3 5 7 3 30.33400 0.00000 -30.33400 0.00000 0.00000 0.00000 ; + 1 11 9 7 3 30.33400 0.00000 -30.33400 0.00000 0.00000 0.00000 ; + 1 11 12 15 3 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 ; + 3 1 11 9 3 30.33400 0.00000 -30.33400 0.00000 0.00000 0.00000 ; + 3 1 11 12 3 30.33400 0.00000 -30.33400 0.00000 0.00000 0.00000 ; + 3 5 7 9 3 30.33400 0.00000 -30.33400 0.00000 0.00000 0.00000 ; + 11 1 3 5 3 30.33400 0.00000 -30.33400 0.00000 0.00000 0.00000 ; + 5 7 9 11 3 30.33400 0.00000 -30.33400 0.00000 0.00000 0.00000 ; + 7 9 11 12 3 30.33400 0.00000 -30.33400 0.00000 0.00000 0.00000 ; + 9 11 12 15 3 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 ; + 1 9 11 12 3 9.20480 0.00000 -9.20480 0.00000 0.00000 0.00000 ; + + +[ system ] +benzyl-alcohol GAS +[ molecules ] +benzyl-alcohol 1 diff --git a/examples/lennard_jones_opt/init.pdb b/examples/lennard_jones_opt/init.pdb new file mode 100644 index 000000000..ecf3a541d --- /dev/null +++ b/examples/lennard_jones_opt/init.pdb @@ -0,0 +1,16503 @@ +REMARK 1 CREATED WITH OPENMM 8.0, 2023-06-26 +CRYST1 44.241 44.241 44.241 90.00 90.00 90.00 P 1 1 +HETATM 1 C1 MOL A 1 39.028 29.713 14.408 1.00 0.00 C +HETATM 2 H1 MOL A 1 38.901 28.759 14.913 1.00 0.00 H +HETATM 3 C2 MOL A 1 39.796 29.804 13.248 1.00 0.00 C +HETATM 4 H2 MOL A 1 40.202 28.864 12.883 1.00 0.00 H +HETATM 5 C3 MOL A 1 39.914 31.023 12.576 1.00 0.00 C +HETATM 6 H3 MOL A 1 40.445 31.000 11.627 1.00 0.00 H +HETATM 7 C4 MOL A 1 39.280 32.215 13.025 1.00 0.00 C +HETATM 8 H4 MOL A 1 39.473 33.233 12.698 1.00 0.00 H +HETATM 9 C5 MOL A 1 38.468 32.005 14.217 1.00 0.00 C +HETATM 10 H5 MOL A 1 38.007 32.929 14.556 1.00 0.00 H +HETATM 11 C6 MOL A 1 38.395 30.814 14.938 1.00 0.00 C +HETATM 12 C7 MOL A 1 37.646 30.700 16.260 1.00 0.00 C +HETATM 13 H6 MOL A 1 37.252 29.694 16.428 1.00 0.00 H +HETATM 14 H7 MOL A 1 36.694 31.229 16.162 1.00 0.00 H +HETATM 15 O1 MOL A 1 38.305 31.059 17.440 1.00 0.00 O +HETATM 16 H8 MOL A 1 37.597 31.034 18.108 1.00 0.00 H +TER 17 MOL A 1 +HETATM 18 C1 MOL B 1 11.347 26.481 36.145 1.00 0.00 C +HETATM 19 H1 MOL B 1 11.513 26.072 37.138 1.00 0.00 H +HETATM 20 C2 MOL B 1 10.085 26.479 35.614 1.00 0.00 C +HETATM 21 H2 MOL B 1 9.291 26.005 36.184 1.00 0.00 H +HETATM 22 C3 MOL B 1 9.808 27.079 34.342 1.00 0.00 C +HETATM 23 H3 MOL B 1 8.824 27.009 33.885 1.00 0.00 H +HETATM 24 C4 MOL B 1 10.868 27.613 33.621 1.00 0.00 C +HETATM 25 H4 MOL B 1 10.750 28.084 32.649 1.00 0.00 H +HETATM 26 C5 MOL B 1 12.157 27.510 34.154 1.00 0.00 C +HETATM 27 H5 MOL B 1 12.927 27.986 33.552 1.00 0.00 H +HETATM 28 C6 MOL B 1 12.381 26.969 35.402 1.00 0.00 C +HETATM 29 C7 MOL B 1 13.773 26.928 35.920 1.00 0.00 C +HETATM 30 H6 MOL B 1 13.783 26.966 37.012 1.00 0.00 H +HETATM 31 H7 MOL B 1 14.308 27.864 35.744 1.00 0.00 H +HETATM 32 O1 MOL B 1 14.623 25.819 35.388 1.00 0.00 O +HETATM 33 H8 MOL B 1 14.373 25.804 34.447 1.00 0.00 H +TER 34 MOL B 1 +HETATM 35 C1 MOL C 1 39.199 34.420 10.178 1.00 0.00 C +HETATM 36 H1 MOL C 1 38.442 34.886 10.804 1.00 0.00 H +HETATM 37 C2 MOL C 1 40.431 35.112 10.048 1.00 0.00 C +HETATM 38 H2 MOL C 1 40.710 36.018 10.582 1.00 0.00 H +HETATM 39 C3 MOL C 1 41.311 34.686 9.091 1.00 0.00 C +HETATM 40 H3 MOL C 1 42.225 35.251 8.924 1.00 0.00 H +HETATM 41 C4 MOL C 1 40.990 33.598 8.312 1.00 0.00 C +HETATM 42 H4 MOL C 1 41.738 33.332 7.570 1.00 0.00 H +HETATM 43 C5 MOL C 1 39.807 32.919 8.459 1.00 0.00 C +HETATM 44 H5 MOL C 1 39.599 32.024 7.879 1.00 0.00 H +HETATM 45 C6 MOL C 1 38.923 33.301 9.460 1.00 0.00 C +HETATM 46 C7 MOL C 1 37.538 32.670 9.574 1.00 0.00 C +HETATM 47 H6 MOL C 1 36.928 33.247 10.274 1.00 0.00 H +HETATM 48 H7 MOL C 1 37.702 31.663 9.967 1.00 0.00 H +HETATM 49 O1 MOL C 1 36.942 32.496 8.301 1.00 0.00 O +HETATM 50 H8 MOL C 1 37.103 33.306 7.784 1.00 0.00 H +TER 51 MOL C 1 +HETATM 52 C1 MOL D 1 41.289 7.778 34.495 1.00 0.00 C +HETATM 53 H1 MOL D 1 40.461 8.369 34.877 1.00 0.00 H +HETATM 54 C2 MOL D 1 42.610 8.084 34.881 1.00 0.00 C +HETATM 55 H2 MOL D 1 42.745 8.842 35.648 1.00 0.00 H +HETATM 56 C3 MOL D 1 43.702 7.400 34.325 1.00 0.00 C +HETATM 57 H3 MOL D 1 44.708 7.727 34.573 1.00 0.00 H +HETATM 58 C4 MOL D 1 43.449 6.387 33.408 1.00 0.00 C +HETATM 59 H4 MOL D 1 44.192 5.726 32.970 1.00 0.00 H +HETATM 60 C5 MOL D 1 42.123 6.108 32.996 1.00 0.00 C +HETATM 61 H5 MOL D 1 41.961 5.162 32.486 1.00 0.00 H +HETATM 62 C6 MOL D 1 41.013 6.719 33.627 1.00 0.00 C +HETATM 63 C7 MOL D 1 39.537 6.346 33.275 1.00 0.00 C +HETATM 64 H6 MOL D 1 38.974 6.289 34.210 1.00 0.00 H +HETATM 65 H7 MOL D 1 39.517 5.424 32.689 1.00 0.00 H +HETATM 66 O1 MOL D 1 38.945 7.279 32.343 1.00 0.00 O +HETATM 67 H8 MOL D 1 39.597 7.753 31.796 1.00 0.00 H +TER 68 MOL D 1 +HETATM 69 C1 MOL E 1 38.612 15.708 11.660 1.00 0.00 C +HETATM 70 H1 MOL E 1 38.490 16.307 12.559 1.00 0.00 H +HETATM 71 C2 MOL E 1 38.305 14.361 11.900 1.00 0.00 C +HETATM 72 H2 MOL E 1 37.820 14.088 12.833 1.00 0.00 H +HETATM 73 C3 MOL E 1 38.463 13.423 10.900 1.00 0.00 C +HETATM 74 H3 MOL E 1 38.175 12.390 11.075 1.00 0.00 H +HETATM 75 C4 MOL E 1 38.935 13.819 9.637 1.00 0.00 C +HETATM 76 H4 MOL E 1 39.110 13.003 8.940 1.00 0.00 H +HETATM 77 C5 MOL E 1 39.162 15.125 9.363 1.00 0.00 C +HETATM 78 H5 MOL E 1 39.398 15.400 8.338 1.00 0.00 H +HETATM 79 C6 MOL E 1 39.088 16.073 10.413 1.00 0.00 C +HETATM 80 C7 MOL E 1 39.680 17.496 10.176 1.00 0.00 C +HETATM 81 H6 MOL E 1 40.633 17.459 9.643 1.00 0.00 H +HETATM 82 H7 MOL E 1 39.950 17.973 11.121 1.00 0.00 H +HETATM 83 O1 MOL E 1 38.743 18.279 9.513 1.00 0.00 O +HETATM 84 H8 MOL E 1 38.344 17.673 8.862 1.00 0.00 H +TER 85 MOL E 1 +HETATM 86 C1 MOL F 1 8.712 13.769 8.498 1.00 0.00 C +HETATM 87 H1 MOL F 1 7.641 13.596 8.572 1.00 0.00 H +HETATM 88 C2 MOL F 1 9.440 12.699 7.979 1.00 0.00 C +HETATM 89 H2 MOL F 1 8.905 11.811 7.652 1.00 0.00 H +HETATM 90 C3 MOL F 1 10.809 12.687 8.074 1.00 0.00 C +HETATM 91 H3 MOL F 1 11.418 11.847 7.749 1.00 0.00 H +HETATM 92 C4 MOL F 1 11.548 13.801 8.545 1.00 0.00 C +HETATM 93 H4 MOL F 1 12.631 13.713 8.531 1.00 0.00 H +HETATM 94 C5 MOL F 1 10.840 14.792 9.239 1.00 0.00 C +HETATM 95 H5 MOL F 1 11.372 15.476 9.895 1.00 0.00 H +HETATM 96 C6 MOL F 1 9.410 14.793 9.168 1.00 0.00 C +HETATM 97 C7 MOL F 1 8.620 15.830 9.965 1.00 0.00 C +HETATM 98 H6 MOL F 1 9.230 16.449 10.627 1.00 0.00 H +HETATM 99 H7 MOL F 1 8.085 15.226 10.702 1.00 0.00 H +HETATM 100 O1 MOL F 1 7.740 16.690 9.194 1.00 0.00 O +HETATM 101 H8 MOL F 1 7.374 16.036 8.573 1.00 0.00 H +TER 102 MOL F 1 +HETATM 103 C1 MOL G 1 1.058 42.352 4.368 1.00 0.00 C +HETATM 104 H1 MOL G 1 0.531 42.660 5.267 1.00 0.00 H +HETATM 105 C2 MOL G 1 0.443 42.462 3.099 1.00 0.00 C +HETATM 106 H2 MOL G 1 -0.581 42.827 3.090 1.00 0.00 H +HETATM 107 C3 MOL G 1 1.088 42.171 1.917 1.00 0.00 C +HETATM 108 H3 MOL G 1 0.564 42.209 0.965 1.00 0.00 H +HETATM 109 C4 MOL G 1 2.306 41.595 1.862 1.00 0.00 C +HETATM 110 H4 MOL G 1 2.786 41.174 0.982 1.00 0.00 H +HETATM 111 C5 MOL G 1 2.924 41.414 3.083 1.00 0.00 C +HETATM 112 H5 MOL G 1 3.933 41.012 3.035 1.00 0.00 H +HETATM 113 C6 MOL G 1 2.311 41.796 4.330 1.00 0.00 C +HETATM 114 C7 MOL G 1 3.055 41.644 5.660 1.00 0.00 C +HETATM 115 H6 MOL G 1 3.842 40.895 5.539 1.00 0.00 H +HETATM 116 H7 MOL G 1 2.459 41.330 6.521 1.00 0.00 H +HETATM 117 O1 MOL G 1 3.559 42.891 6.081 1.00 0.00 O +HETATM 118 H8 MOL G 1 4.139 43.070 5.319 1.00 0.00 H +TER 119 MOL G 1 +HETATM 120 C1 MOL H 1 25.237 28.220 27.089 1.00 0.00 C +HETATM 121 H1 MOL H 1 24.926 28.018 28.111 1.00 0.00 H +HETATM 122 C2 MOL H 1 24.487 29.177 26.375 1.00 0.00 C +HETATM 123 H2 MOL H 1 23.678 29.648 26.927 1.00 0.00 H +HETATM 124 C3 MOL H 1 24.873 29.596 25.083 1.00 0.00 C +HETATM 125 H3 MOL H 1 24.338 30.402 24.587 1.00 0.00 H +HETATM 126 C4 MOL H 1 25.884 28.864 24.403 1.00 0.00 C +HETATM 127 H4 MOL H 1 26.237 29.117 23.406 1.00 0.00 H +HETATM 128 C5 MOL H 1 26.627 27.955 25.174 1.00 0.00 C +HETATM 129 H5 MOL H 1 27.392 27.384 24.654 1.00 0.00 H +HETATM 130 C6 MOL H 1 26.370 27.689 26.501 1.00 0.00 C +HETATM 131 C7 MOL H 1 27.273 26.684 27.299 1.00 0.00 C +HETATM 132 H6 MOL H 1 26.686 26.296 28.136 1.00 0.00 H +HETATM 133 H7 MOL H 1 28.157 27.165 27.724 1.00 0.00 H +HETATM 134 O1 MOL H 1 27.809 25.618 26.584 1.00 0.00 O +HETATM 135 H8 MOL H 1 27.030 25.038 26.509 1.00 0.00 H +TER 136 MOL H 1 +HETATM 137 C1 MOL I 1 24.431 16.256 8.429 1.00 0.00 C +HETATM 138 H1 MOL I 1 24.890 16.717 7.558 1.00 0.00 H +HETATM 139 C2 MOL I 1 24.968 16.475 9.721 1.00 0.00 C +HETATM 140 H2 MOL I 1 25.941 16.952 9.814 1.00 0.00 H +HETATM 141 C3 MOL I 1 24.379 15.862 10.801 1.00 0.00 C +HETATM 142 H3 MOL I 1 24.830 15.929 11.788 1.00 0.00 H +HETATM 143 C4 MOL I 1 23.177 15.252 10.687 1.00 0.00 C +HETATM 144 H4 MOL I 1 22.795 14.862 11.627 1.00 0.00 H +HETATM 145 C5 MOL I 1 22.575 15.217 9.448 1.00 0.00 C +HETATM 146 H5 MOL I 1 21.568 14.807 9.470 1.00 0.00 H +HETATM 147 C6 MOL I 1 23.186 15.633 8.262 1.00 0.00 C +HETATM 148 C7 MOL I 1 22.585 15.497 6.881 1.00 0.00 C +HETATM 149 H6 MOL I 1 22.234 14.476 6.710 1.00 0.00 H +HETATM 150 H7 MOL I 1 23.266 15.752 6.065 1.00 0.00 H +HETATM 151 O1 MOL I 1 21.416 16.235 6.842 1.00 0.00 O +HETATM 152 H8 MOL I 1 21.761 17.145 6.888 1.00 0.00 H +TER 153 MOL I 1 +HETATM 154 C1 MOL J 1 27.289 0.547 13.413 1.00 0.00 C +HETATM 155 H1 MOL J 1 26.717 -0.326 13.718 1.00 0.00 H +HETATM 156 C2 MOL J 1 27.186 1.032 12.103 1.00 0.00 C +HETATM 157 H2 MOL J 1 26.501 0.533 11.422 1.00 0.00 H +HETATM 158 C3 MOL J 1 27.788 2.277 11.781 1.00 0.00 C +HETATM 159 H3 MOL J 1 27.722 2.616 10.750 1.00 0.00 H +HETATM 160 C4 MOL J 1 28.630 2.881 12.736 1.00 0.00 C +HETATM 161 H4 MOL J 1 29.131 3.829 12.553 1.00 0.00 H +HETATM 162 C5 MOL J 1 28.778 2.364 14.014 1.00 0.00 C +HETATM 163 H5 MOL J 1 29.303 2.884 14.812 1.00 0.00 H +HETATM 164 C6 MOL J 1 28.051 1.252 14.415 1.00 0.00 C +HETATM 165 C7 MOL J 1 28.301 0.652 15.796 1.00 0.00 C +HETATM 166 H6 MOL J 1 28.518 1.471 16.488 1.00 0.00 H +HETATM 167 H7 MOL J 1 29.154 -0.023 15.692 1.00 0.00 H +HETATM 168 O1 MOL J 1 27.237 -0.130 16.329 1.00 0.00 O +HETATM 169 H8 MOL J 1 27.492 -1.070 16.297 1.00 0.00 H +TER 170 MOL J 1 +HETATM 171 C1 MOL K 1 0.737 31.001 29.816 1.00 0.00 C +HETATM 172 H1 MOL K 1 1.049 29.974 29.990 1.00 0.00 H +HETATM 173 C2 MOL K 1 0.313 31.446 28.571 1.00 0.00 C +HETATM 174 H2 MOL K 1 0.245 30.785 27.711 1.00 0.00 H +HETATM 175 C3 MOL K 1 -0.164 32.766 28.313 1.00 0.00 C +HETATM 176 H3 MOL K 1 -0.535 33.071 27.338 1.00 0.00 H +HETATM 177 C4 MOL K 1 -0.120 33.657 29.367 1.00 0.00 C +HETATM 178 H4 MOL K 1 -0.429 34.676 29.148 1.00 0.00 H +HETATM 179 C5 MOL K 1 0.348 33.289 30.630 1.00 0.00 C +HETATM 180 H5 MOL K 1 0.530 34.021 31.413 1.00 0.00 H +HETATM 181 C6 MOL K 1 0.800 31.952 30.826 1.00 0.00 C +HETATM 182 C7 MOL K 1 1.539 31.657 32.160 1.00 0.00 C +HETATM 183 H6 MOL K 1 1.356 30.642 32.523 1.00 0.00 H +HETATM 184 H7 MOL K 1 1.142 32.263 32.978 1.00 0.00 H +HETATM 185 O1 MOL K 1 3.043 31.834 32.158 1.00 0.00 O +HETATM 186 H8 MOL K 1 3.272 32.657 32.626 1.00 0.00 H +TER 187 MOL K 1 +HETATM 188 C1 MOL L 1 31.125 -0.097 27.159 1.00 0.00 C +HETATM 189 H1 MOL L 1 31.253 -1.141 27.436 1.00 0.00 H +HETATM 190 C2 MOL L 1 31.167 0.937 28.110 1.00 0.00 C +HETATM 191 H2 MOL L 1 31.460 0.655 29.118 1.00 0.00 H +HETATM 192 C3 MOL L 1 31.079 2.253 27.639 1.00 0.00 C +HETATM 193 H3 MOL L 1 31.430 3.040 28.301 1.00 0.00 H +HETATM 194 C4 MOL L 1 30.819 2.470 26.295 1.00 0.00 C +HETATM 195 H4 MOL L 1 30.684 3.500 25.973 1.00 0.00 H +HETATM 196 C5 MOL L 1 30.788 1.407 25.405 1.00 0.00 C +HETATM 197 H5 MOL L 1 30.597 1.624 24.357 1.00 0.00 H +HETATM 198 C6 MOL L 1 30.863 0.090 25.833 1.00 0.00 C +HETATM 199 C7 MOL L 1 30.651 -1.119 24.851 1.00 0.00 C +HETATM 200 H6 MOL L 1 29.749 -0.942 24.259 1.00 0.00 H +HETATM 201 H7 MOL L 1 30.517 -1.991 25.496 1.00 0.00 H +HETATM 202 O1 MOL L 1 31.794 -1.352 23.984 1.00 0.00 O +HETATM 203 H8 MOL L 1 32.536 -1.131 24.575 1.00 0.00 H +TER 204 MOL L 1 +HETATM 205 C1 MOL M 1 8.911 16.041 5.158 1.00 0.00 C +HETATM 206 H1 MOL M 1 9.632 16.679 4.654 1.00 0.00 H +HETATM 207 C2 MOL M 1 7.848 16.716 5.756 1.00 0.00 C +HETATM 208 H2 MOL M 1 7.887 17.800 5.690 1.00 0.00 H +HETATM 209 C3 MOL M 1 6.690 16.040 6.077 1.00 0.00 C +HETATM 210 H3 MOL M 1 5.839 16.615 6.434 1.00 0.00 H +HETATM 211 C4 MOL M 1 6.542 14.669 5.829 1.00 0.00 C +HETATM 212 H4 MOL M 1 5.643 14.120 6.096 1.00 0.00 H +HETATM 213 C5 MOL M 1 7.621 13.980 5.373 1.00 0.00 C +HETATM 214 H5 MOL M 1 7.588 12.907 5.199 1.00 0.00 H +HETATM 215 C6 MOL M 1 8.824 14.670 4.953 1.00 0.00 C +HETATM 216 C7 MOL M 1 9.990 13.876 4.330 1.00 0.00 C +HETATM 217 H6 MOL M 1 10.147 14.282 3.328 1.00 0.00 H +HETATM 218 H7 MOL M 1 9.801 12.799 4.314 1.00 0.00 H +HETATM 219 O1 MOL M 1 11.238 14.054 5.065 1.00 0.00 O +HETATM 220 H8 MOL M 1 10.999 14.141 6.005 1.00 0.00 H +TER 221 MOL M 1 +HETATM 222 C1 MOL N 1 43.616 16.716 16.550 1.00 0.00 C +HETATM 223 H1 MOL N 1 44.373 17.431 16.862 1.00 0.00 H +HETATM 224 C2 MOL N 1 43.570 15.498 17.132 1.00 0.00 C +HETATM 225 H2 MOL N 1 44.417 15.199 17.745 1.00 0.00 H +HETATM 226 C3 MOL N 1 42.625 14.522 16.909 1.00 0.00 C +HETATM 227 H3 MOL N 1 42.612 13.492 17.255 1.00 0.00 H +HETATM 228 C4 MOL N 1 41.622 14.753 16.005 1.00 0.00 C +HETATM 229 H4 MOL N 1 40.881 14.004 15.739 1.00 0.00 H +HETATM 230 C5 MOL N 1 41.569 16.009 15.362 1.00 0.00 C +HETATM 231 H5 MOL N 1 40.835 16.235 14.593 1.00 0.00 H +HETATM 232 C6 MOL N 1 42.606 16.948 15.558 1.00 0.00 C +HETATM 233 C7 MOL N 1 42.547 18.253 14.695 1.00 0.00 C +HETATM 234 H6 MOL N 1 42.801 17.985 13.666 1.00 0.00 H +HETATM 235 H7 MOL N 1 43.339 18.997 14.813 1.00 0.00 H +HETATM 236 O1 MOL N 1 41.327 19.008 14.510 1.00 0.00 O +HETATM 237 H8 MOL N 1 41.495 19.446 13.656 1.00 0.00 H +TER 238 MOL N 1 +HETATM 239 C1 MOL O 1 28.894 0.181 36.659 1.00 0.00 C +HETATM 240 H1 MOL O 1 29.847 0.691 36.772 1.00 0.00 H +HETATM 241 C2 MOL O 1 28.804 -1.149 36.331 1.00 0.00 C +HETATM 242 H2 MOL O 1 29.717 -1.730 36.236 1.00 0.00 H +HETATM 243 C3 MOL O 1 27.556 -1.719 36.188 1.00 0.00 C +HETATM 244 H3 MOL O 1 27.530 -2.788 35.994 1.00 0.00 H +HETATM 245 C4 MOL O 1 26.399 -1.001 36.503 1.00 0.00 C +HETATM 246 H4 MOL O 1 25.415 -1.463 36.525 1.00 0.00 H +HETATM 247 C5 MOL O 1 26.466 0.381 36.693 1.00 0.00 C +HETATM 248 H5 MOL O 1 25.540 0.941 36.798 1.00 0.00 H +HETATM 249 C6 MOL O 1 27.721 0.985 36.821 1.00 0.00 C +HETATM 250 C7 MOL O 1 27.926 2.488 37.130 1.00 0.00 C +HETATM 251 H6 MOL O 1 28.304 3.000 36.241 1.00 0.00 H +HETATM 252 H7 MOL O 1 28.650 2.588 37.943 1.00 0.00 H +HETATM 253 O1 MOL O 1 26.832 3.283 37.523 1.00 0.00 O +HETATM 254 H8 MOL O 1 26.628 3.824 36.739 1.00 0.00 H +TER 255 MOL O 1 +HETATM 256 C1 MOL P 1 2.724 35.859 32.677 1.00 0.00 C +HETATM 257 H1 MOL P 1 1.835 36.483 32.702 1.00 0.00 H +HETATM 258 C2 MOL P 1 3.256 35.358 33.855 1.00 0.00 C +HETATM 259 H2 MOL P 1 2.902 35.629 34.846 1.00 0.00 H +HETATM 260 C3 MOL P 1 4.386 34.541 33.774 1.00 0.00 C +HETATM 261 H3 MOL P 1 4.799 34.084 34.670 1.00 0.00 H +HETATM 262 C4 MOL P 1 5.061 34.275 32.607 1.00 0.00 C +HETATM 263 H4 MOL P 1 5.907 33.605 32.479 1.00 0.00 H +HETATM 264 C5 MOL P 1 4.485 34.833 31.441 1.00 0.00 C +HETATM 265 H5 MOL P 1 4.865 34.617 30.445 1.00 0.00 H +HETATM 266 C6 MOL P 1 3.315 35.583 31.474 1.00 0.00 C +HETATM 267 C7 MOL P 1 2.742 36.045 30.263 1.00 0.00 C +HETATM 268 H6 MOL P 1 1.650 36.094 30.267 1.00 0.00 H +HETATM 269 H7 MOL P 1 3.101 35.350 29.500 1.00 0.00 H +HETATM 270 O1 MOL P 1 3.106 37.333 29.968 1.00 0.00 O +HETATM 271 H8 MOL P 1 2.472 37.886 30.458 1.00 0.00 H +TER 272 MOL P 1 +HETATM 273 C1 MOL Q 1 24.754 40.043 6.118 1.00 0.00 C +HETATM 274 H1 MOL Q 1 25.702 40.108 5.590 1.00 0.00 H +HETATM 275 C2 MOL Q 1 24.442 40.700 7.287 1.00 0.00 C +HETATM 276 H2 MOL Q 1 25.225 41.307 7.735 1.00 0.00 H +HETATM 277 C3 MOL Q 1 23.218 40.458 7.934 1.00 0.00 C +HETATM 278 H3 MOL Q 1 23.039 40.990 8.865 1.00 0.00 H +HETATM 279 C4 MOL Q 1 22.263 39.651 7.361 1.00 0.00 C +HETATM 280 H4 MOL Q 1 21.223 39.520 7.651 1.00 0.00 H +HETATM 281 C5 MOL Q 1 22.611 38.992 6.133 1.00 0.00 C +HETATM 282 H5 MOL Q 1 21.837 38.402 5.649 1.00 0.00 H +HETATM 283 C6 MOL Q 1 23.840 39.172 5.550 1.00 0.00 C +HETATM 284 C7 MOL Q 1 24.136 38.456 4.194 1.00 0.00 C +HETATM 285 H6 MOL Q 1 23.765 37.434 4.303 1.00 0.00 H +HETATM 286 H7 MOL Q 1 25.177 38.455 3.858 1.00 0.00 H +HETATM 287 O1 MOL Q 1 23.487 39.111 3.126 1.00 0.00 O +HETATM 288 H8 MOL Q 1 23.724 40.022 3.377 1.00 0.00 H +TER 289 MOL Q 1 +HETATM 290 C1 MOL R 1 43.702 28.535 11.549 1.00 0.00 C +HETATM 291 H1 MOL R 1 43.822 27.830 12.368 1.00 0.00 H +HETATM 292 C2 MOL R 1 43.748 28.081 10.281 1.00 0.00 C +HETATM 293 H2 MOL R 1 43.841 27.021 10.061 1.00 0.00 H +HETATM 294 C3 MOL R 1 43.357 28.986 9.257 1.00 0.00 C +HETATM 295 H3 MOL R 1 43.344 28.570 8.253 1.00 0.00 H +HETATM 296 C4 MOL R 1 42.990 30.346 9.552 1.00 0.00 C +HETATM 297 H4 MOL R 1 42.838 31.131 8.816 1.00 0.00 H +HETATM 298 C5 MOL R 1 43.091 30.806 10.842 1.00 0.00 C +HETATM 299 H5 MOL R 1 42.808 31.807 11.158 1.00 0.00 H +HETATM 300 C6 MOL R 1 43.368 29.872 11.817 1.00 0.00 C +HETATM 301 C7 MOL R 1 43.110 30.382 13.264 1.00 0.00 C +HETATM 302 H6 MOL R 1 42.887 29.551 13.937 1.00 0.00 H +HETATM 303 H7 MOL R 1 42.310 31.121 13.168 1.00 0.00 H +HETATM 304 O1 MOL R 1 44.309 31.033 13.730 1.00 0.00 O +HETATM 305 H8 MOL R 1 44.305 31.117 14.701 1.00 0.00 H +TER 306 MOL R 1 +HETATM 307 C1 MOL S 1 16.458 24.144 23.102 1.00 0.00 C +HETATM 308 H1 MOL S 1 16.018 24.814 23.836 1.00 0.00 H +HETATM 309 C2 MOL S 1 17.443 24.561 22.235 1.00 0.00 C +HETATM 310 H2 MOL S 1 17.512 25.630 22.050 1.00 0.00 H +HETATM 311 C3 MOL S 1 18.043 23.660 21.380 1.00 0.00 C +HETATM 312 H3 MOL S 1 18.760 23.993 20.634 1.00 0.00 H +HETATM 313 C4 MOL S 1 17.841 22.314 21.481 1.00 0.00 C +HETATM 314 H4 MOL S 1 18.320 21.554 20.870 1.00 0.00 H +HETATM 315 C5 MOL S 1 16.918 21.864 22.464 1.00 0.00 C +HETATM 316 H5 MOL S 1 16.944 20.796 22.662 1.00 0.00 H +HETATM 317 C6 MOL S 1 16.183 22.748 23.207 1.00 0.00 C +HETATM 318 C7 MOL S 1 15.286 22.208 24.330 1.00 0.00 C +HETATM 319 H6 MOL S 1 15.701 22.648 25.240 1.00 0.00 H +HETATM 320 H7 MOL S 1 15.365 21.119 24.389 1.00 0.00 H +HETATM 321 O1 MOL S 1 13.956 22.655 24.165 1.00 0.00 O +HETATM 322 H8 MOL S 1 13.765 22.380 23.251 1.00 0.00 H +TER 323 MOL S 1 +HETATM 324 C1 MOL T 1 31.765 9.455 21.550 1.00 0.00 C +HETATM 325 H1 MOL T 1 31.299 9.048 22.444 1.00 0.00 H +HETATM 326 C2 MOL T 1 32.373 10.703 21.612 1.00 0.00 C +HETATM 327 H2 MOL T 1 32.347 11.287 22.529 1.00 0.00 H +HETATM 328 C3 MOL T 1 33.098 11.232 20.530 1.00 0.00 C +HETATM 329 H3 MOL T 1 33.559 12.211 20.630 1.00 0.00 H +HETATM 330 C4 MOL T 1 33.114 10.474 19.372 1.00 0.00 C +HETATM 331 H4 MOL T 1 33.808 10.865 18.632 1.00 0.00 H +HETATM 332 C5 MOL T 1 32.569 9.195 19.328 1.00 0.00 C +HETATM 333 H5 MOL T 1 32.682 8.647 18.395 1.00 0.00 H +HETATM 334 C6 MOL T 1 31.867 8.670 20.439 1.00 0.00 C +HETATM 335 C7 MOL T 1 31.194 7.350 20.426 1.00 0.00 C +HETATM 336 H6 MOL T 1 30.795 7.157 19.426 1.00 0.00 H +HETATM 337 H7 MOL T 1 30.307 7.430 21.060 1.00 0.00 H +HETATM 338 O1 MOL T 1 32.013 6.263 20.935 1.00 0.00 O +HETATM 339 H8 MOL T 1 31.626 5.986 21.785 1.00 0.00 H +TER 340 MOL T 1 +HETATM 341 C1 MOL U 1 34.423 26.576 16.650 1.00 0.00 C +HETATM 342 H1 MOL U 1 34.156 27.102 15.736 1.00 0.00 H +HETATM 343 C2 MOL U 1 33.371 26.224 17.584 1.00 0.00 C +HETATM 344 H2 MOL U 1 32.336 26.351 17.277 1.00 0.00 H +HETATM 345 C3 MOL U 1 33.788 25.562 18.774 1.00 0.00 C +HETATM 346 H3 MOL U 1 33.023 25.289 19.496 1.00 0.00 H +HETATM 347 C4 MOL U 1 35.156 25.397 19.042 1.00 0.00 C +HETATM 348 H4 MOL U 1 35.393 25.047 20.044 1.00 0.00 H +HETATM 349 C5 MOL U 1 36.089 25.856 18.162 1.00 0.00 C +HETATM 350 H5 MOL U 1 37.140 25.702 18.390 1.00 0.00 H +HETATM 351 C6 MOL U 1 35.765 26.450 16.942 1.00 0.00 C +HETATM 352 C7 MOL U 1 36.934 26.844 16.038 1.00 0.00 C +HETATM 353 H6 MOL U 1 37.637 26.049 15.778 1.00 0.00 H +HETATM 354 H7 MOL U 1 37.554 27.574 16.566 1.00 0.00 H +HETATM 355 O1 MOL U 1 36.456 27.429 14.774 1.00 0.00 O +HETATM 356 H8 MOL U 1 36.737 26.827 14.061 1.00 0.00 H +TER 357 MOL U 1 +HETATM 358 C1 MOL V 1 2.130 9.492 42.322 1.00 0.00 C +HETATM 359 H1 MOL V 1 1.287 9.045 41.802 1.00 0.00 H +HETATM 360 C2 MOL V 1 1.767 10.038 43.582 1.00 0.00 C +HETATM 361 H2 MOL V 1 0.714 9.936 43.830 1.00 0.00 H +HETATM 362 C3 MOL V 1 2.764 10.370 44.496 1.00 0.00 C +HETATM 363 H3 MOL V 1 2.527 10.667 45.514 1.00 0.00 H +HETATM 364 C4 MOL V 1 4.097 10.322 44.086 1.00 0.00 C +HETATM 365 H4 MOL V 1 4.850 10.705 44.771 1.00 0.00 H +HETATM 366 C5 MOL V 1 4.433 9.791 42.874 1.00 0.00 C +HETATM 367 H5 MOL V 1 5.483 9.756 42.595 1.00 0.00 H +HETATM 368 C6 MOL V 1 3.449 9.425 41.909 1.00 0.00 C +HETATM 369 C7 MOL V 1 3.915 8.652 40.658 1.00 0.00 C +HETATM 370 H6 MOL V 1 4.973 8.834 40.450 1.00 0.00 H +HETATM 371 H7 MOL V 1 3.422 9.080 39.782 1.00 0.00 H +HETATM 372 O1 MOL V 1 3.607 7.213 40.857 1.00 0.00 O +HETATM 373 H8 MOL V 1 3.688 7.007 41.806 1.00 0.00 H +TER 374 MOL V 1 +HETATM 375 C1 MOL W 1 19.669 33.619 19.877 1.00 0.00 C +HETATM 376 H1 MOL W 1 18.626 33.597 20.183 1.00 0.00 H +HETATM 377 C2 MOL W 1 20.566 33.898 20.870 1.00 0.00 C +HETATM 378 H2 MOL W 1 20.227 33.994 21.899 1.00 0.00 H +HETATM 379 C3 MOL W 1 21.876 34.002 20.442 1.00 0.00 C +HETATM 380 H3 MOL W 1 22.640 34.155 21.200 1.00 0.00 H +HETATM 381 C4 MOL W 1 22.153 33.880 19.050 1.00 0.00 C +HETATM 382 H4 MOL W 1 23.166 34.090 18.715 1.00 0.00 H +HETATM 383 C5 MOL W 1 21.178 33.526 18.112 1.00 0.00 C +HETATM 384 H5 MOL W 1 21.503 33.274 17.105 1.00 0.00 H +HETATM 385 C6 MOL W 1 19.904 33.312 18.588 1.00 0.00 C +HETATM 386 C7 MOL W 1 18.727 32.922 17.605 1.00 0.00 C +HETATM 387 H6 MOL W 1 17.771 33.189 18.063 1.00 0.00 H +HETATM 388 H7 MOL W 1 18.749 31.836 17.481 1.00 0.00 H +HETATM 389 O1 MOL W 1 18.913 33.512 16.340 1.00 0.00 O +HETATM 390 H8 MOL W 1 19.640 32.985 15.962 1.00 0.00 H +TER 391 MOL W 1 +HETATM 392 C1 MOL X 1 8.117 32.540 12.913 1.00 0.00 C +HETATM 393 H1 MOL X 1 8.160 31.514 13.273 1.00 0.00 H +HETATM 394 C2 MOL X 1 8.501 32.693 11.555 1.00 0.00 C +HETATM 395 H2 MOL X 1 8.940 31.853 11.022 1.00 0.00 H +HETATM 396 C3 MOL X 1 8.439 33.966 10.991 1.00 0.00 C +HETATM 397 H3 MOL X 1 8.664 34.095 9.936 1.00 0.00 H +HETATM 398 C4 MOL X 1 7.938 35.046 11.722 1.00 0.00 C +HETATM 399 H4 MOL X 1 7.932 36.010 11.221 1.00 0.00 H +HETATM 400 C5 MOL X 1 7.553 34.939 13.063 1.00 0.00 C +HETATM 401 H5 MOL X 1 7.310 35.795 13.687 1.00 0.00 H +HETATM 402 C6 MOL X 1 7.615 33.674 13.666 1.00 0.00 C +HETATM 403 C7 MOL X 1 7.070 33.524 15.122 1.00 0.00 C +HETATM 404 H6 MOL X 1 6.635 32.541 15.320 1.00 0.00 H +HETATM 405 H7 MOL X 1 6.124 34.054 15.261 1.00 0.00 H +HETATM 406 O1 MOL X 1 8.135 33.779 15.998 1.00 0.00 O +HETATM 407 H8 MOL X 1 7.750 34.272 16.745 1.00 0.00 H +TER 408 MOL X 1 +HETATM 409 C1 MOL Y 1 17.391 18.756 9.079 1.00 0.00 C +HETATM 410 H1 MOL Y 1 17.531 19.812 9.297 1.00 0.00 H +HETATM 411 C2 MOL Y 1 16.142 18.317 8.636 1.00 0.00 C +HETATM 412 H2 MOL Y 1 15.316 18.978 8.388 1.00 0.00 H +HETATM 413 C3 MOL Y 1 15.866 16.978 8.701 1.00 0.00 C +HETATM 414 H3 MOL Y 1 14.896 16.630 8.355 1.00 0.00 H +HETATM 415 C4 MOL Y 1 16.875 16.059 8.910 1.00 0.00 C +HETATM 416 H4 MOL Y 1 16.690 14.990 8.841 1.00 0.00 H +HETATM 417 C5 MOL Y 1 18.241 16.514 9.185 1.00 0.00 C +HETATM 418 H5 MOL Y 1 19.038 15.779 9.266 1.00 0.00 H +HETATM 419 C6 MOL Y 1 18.458 17.882 9.356 1.00 0.00 C +HETATM 420 C7 MOL Y 1 19.822 18.465 9.677 1.00 0.00 C +HETATM 421 H6 MOL Y 1 19.979 19.294 8.982 1.00 0.00 H +HETATM 422 H7 MOL Y 1 20.600 17.730 9.455 1.00 0.00 H +HETATM 423 O1 MOL Y 1 19.993 18.928 10.946 1.00 0.00 O +HETATM 424 H8 MOL Y 1 20.933 19.184 10.944 1.00 0.00 H +TER 425 MOL Y 1 +HETATM 426 C1 MOL Z 1 9.260 35.492 19.850 1.00 0.00 C +HETATM 427 H1 MOL Z 1 8.406 36.007 20.282 1.00 0.00 H +HETATM 428 C2 MOL Z 1 9.520 35.982 18.632 1.00 0.00 C +HETATM 429 H2 MOL Z 1 8.827 36.691 18.187 1.00 0.00 H +HETATM 430 C3 MOL Z 1 10.553 35.415 17.896 1.00 0.00 C +HETATM 431 H3 MOL Z 1 10.683 35.721 16.861 1.00 0.00 H +HETATM 432 C4 MOL Z 1 11.349 34.416 18.505 1.00 0.00 C +HETATM 433 H4 MOL Z 1 12.146 33.925 17.951 1.00 0.00 H +HETATM 434 C5 MOL Z 1 11.116 33.943 19.774 1.00 0.00 C +HETATM 435 H5 MOL Z 1 11.679 33.079 20.118 1.00 0.00 H +HETATM 436 C6 MOL Z 1 10.003 34.457 20.474 1.00 0.00 C +HETATM 437 C7 MOL Z 1 9.518 33.877 21.792 1.00 0.00 C +HETATM 438 H6 MOL Z 1 8.883 34.706 22.113 1.00 0.00 H +HETATM 439 H7 MOL Z 1 10.397 33.796 22.438 1.00 0.00 H +HETATM 440 O1 MOL Z 1 8.875 32.658 21.663 1.00 0.00 O +HETATM 441 H8 MOL Z 1 9.262 32.202 20.894 1.00 0.00 H +TER 442 MOL Z 1 +HETATM 443 C1 MOL A 1 5.600 8.015 35.676 1.00 0.00 C +HETATM 444 H1 MOL A 1 4.986 8.028 36.573 1.00 0.00 H +HETATM 445 C2 MOL A 1 6.975 8.352 35.691 1.00 0.00 C +HETATM 446 H2 MOL A 1 7.403 8.671 36.638 1.00 0.00 H +HETATM 447 C3 MOL A 1 7.736 8.253 34.498 1.00 0.00 C +HETATM 448 H3 MOL A 1 8.799 8.483 34.511 1.00 0.00 H +HETATM 449 C4 MOL A 1 7.084 7.805 33.288 1.00 0.00 C +HETATM 450 H4 MOL A 1 7.645 7.926 32.365 1.00 0.00 H +HETATM 451 C5 MOL A 1 5.762 7.460 33.298 1.00 0.00 C +HETATM 452 H5 MOL A 1 5.203 7.176 32.410 1.00 0.00 H +HETATM 453 C6 MOL A 1 5.003 7.582 34.478 1.00 0.00 C +HETATM 454 C7 MOL A 1 3.479 7.487 34.386 1.00 0.00 C +HETATM 455 H6 MOL A 1 3.148 7.534 33.346 1.00 0.00 H +HETATM 456 H7 MOL A 1 2.833 8.167 34.948 1.00 0.00 H +HETATM 457 O1 MOL A 1 3.077 6.156 34.778 1.00 0.00 O +HETATM 458 H8 MOL A 1 3.906 5.650 34.849 1.00 0.00 H +TER 459 MOL A 1 +HETATM 460 C1 MOL B 1 31.784 7.857 43.080 1.00 0.00 C +HETATM 461 H1 MOL B 1 31.278 7.627 44.014 1.00 0.00 H +HETATM 462 C2 MOL B 1 33.121 8.125 42.947 1.00 0.00 C +HETATM 463 H2 MOL B 1 33.803 8.153 43.793 1.00 0.00 H +HETATM 464 C3 MOL B 1 33.590 8.226 41.632 1.00 0.00 C +HETATM 465 H3 MOL B 1 34.645 8.466 41.524 1.00 0.00 H +HETATM 466 C4 MOL B 1 32.818 8.262 40.526 1.00 0.00 C +HETATM 467 H4 MOL B 1 33.242 8.437 39.540 1.00 0.00 H +HETATM 468 C5 MOL B 1 31.445 8.094 40.644 1.00 0.00 C +HETATM 469 H5 MOL B 1 30.797 8.277 39.791 1.00 0.00 H +HETATM 470 C6 MOL B 1 30.914 7.919 41.997 1.00 0.00 C +HETATM 471 C7 MOL B 1 29.379 7.753 42.189 1.00 0.00 C +HETATM 472 H6 MOL B 1 28.863 8.191 41.331 1.00 0.00 H +HETATM 473 H7 MOL B 1 29.107 8.286 43.104 1.00 0.00 H +HETATM 474 O1 MOL B 1 29.005 6.419 42.365 1.00 0.00 O +HETATM 475 H8 MOL B 1 29.487 6.025 41.616 1.00 0.00 H +TER 476 MOL B 1 +HETATM 477 C1 MOL C 1 31.486 27.414 27.110 1.00 0.00 C +HETATM 478 H1 MOL C 1 32.088 26.669 27.625 1.00 0.00 H +HETATM 479 C2 MOL C 1 31.515 28.753 27.522 1.00 0.00 C +HETATM 480 H2 MOL C 1 32.191 29.091 28.303 1.00 0.00 H +HETATM 481 C3 MOL C 1 30.822 29.709 26.822 1.00 0.00 C +HETATM 482 H3 MOL C 1 30.697 30.727 27.182 1.00 0.00 H +HETATM 483 C4 MOL C 1 30.152 29.365 25.632 1.00 0.00 C +HETATM 484 H4 MOL C 1 29.635 30.065 24.981 1.00 0.00 H +HETATM 485 C5 MOL C 1 30.161 28.052 25.184 1.00 0.00 C +HETATM 486 H5 MOL C 1 29.692 27.763 24.247 1.00 0.00 H +HETATM 487 C6 MOL C 1 30.806 27.058 25.921 1.00 0.00 C +HETATM 488 C7 MOL C 1 30.699 25.643 25.457 1.00 0.00 C +HETATM 489 H6 MOL C 1 30.695 24.881 26.240 1.00 0.00 H +HETATM 490 H7 MOL C 1 31.633 25.308 24.998 1.00 0.00 H +HETATM 491 O1 MOL C 1 29.548 25.168 24.623 1.00 0.00 O +HETATM 492 H8 MOL C 1 28.811 25.118 25.257 1.00 0.00 H +TER 493 MOL C 1 +HETATM 494 C1 MOL D 1 34.524 25.714 4.729 1.00 0.00 C +HETATM 495 H1 MOL D 1 35.566 25.688 4.424 1.00 0.00 H +HETATM 496 C2 MOL D 1 33.833 24.519 4.859 1.00 0.00 C +HETATM 497 H2 MOL D 1 34.402 23.631 4.598 1.00 0.00 H +HETATM 498 C3 MOL D 1 32.494 24.568 5.292 1.00 0.00 C +HETATM 499 H3 MOL D 1 31.940 23.639 5.188 1.00 0.00 H +HETATM 500 C4 MOL D 1 31.840 25.710 5.512 1.00 0.00 C +HETATM 501 H4 MOL D 1 30.763 25.641 5.645 1.00 0.00 H +HETATM 502 C5 MOL D 1 32.521 26.936 5.293 1.00 0.00 C +HETATM 503 H5 MOL D 1 31.917 27.840 5.272 1.00 0.00 H +HETATM 504 C6 MOL D 1 33.884 26.956 4.953 1.00 0.00 C +HETATM 505 C7 MOL D 1 34.629 28.190 4.867 1.00 0.00 C +HETATM 506 H6 MOL D 1 34.447 28.839 4.006 1.00 0.00 H +HETATM 507 H7 MOL D 1 35.672 27.866 4.893 1.00 0.00 H +HETATM 508 O1 MOL D 1 34.387 29.096 5.906 1.00 0.00 O +HETATM 509 H8 MOL D 1 35.132 29.689 5.699 1.00 0.00 H +TER 510 MOL D 1 +HETATM 511 C1 MOL E 1 40.496 3.267 22.485 1.00 0.00 C +HETATM 512 H1 MOL E 1 40.310 2.637 21.618 1.00 0.00 H +HETATM 513 C2 MOL E 1 41.663 4.028 22.433 1.00 0.00 C +HETATM 514 H2 MOL E 1 42.417 3.967 21.652 1.00 0.00 H +HETATM 515 C3 MOL E 1 41.853 4.942 23.452 1.00 0.00 C +HETATM 516 H3 MOL E 1 42.616 5.713 23.378 1.00 0.00 H +HETATM 517 C4 MOL E 1 40.916 5.119 24.441 1.00 0.00 C +HETATM 518 H4 MOL E 1 41.197 5.972 25.055 1.00 0.00 H +HETATM 519 C5 MOL E 1 39.824 4.258 24.544 1.00 0.00 C +HETATM 520 H5 MOL E 1 39.084 4.314 25.337 1.00 0.00 H +HETATM 521 C6 MOL E 1 39.617 3.284 23.585 1.00 0.00 C +HETATM 522 C7 MOL E 1 38.319 2.500 23.627 1.00 0.00 C +HETATM 523 H6 MOL E 1 37.835 2.760 24.572 1.00 0.00 H +HETATM 524 H7 MOL E 1 38.634 1.454 23.672 1.00 0.00 H +HETATM 525 O1 MOL E 1 37.268 2.632 22.636 1.00 0.00 O +HETATM 526 H8 MOL E 1 37.101 3.575 22.459 1.00 0.00 H +TER 527 MOL E 1 +HETATM 528 C1 MOL F 1 34.802 38.933 5.157 1.00 0.00 C +HETATM 529 H1 MOL F 1 34.189 38.403 5.882 1.00 0.00 H +HETATM 530 C2 MOL F 1 36.218 39.052 5.186 1.00 0.00 C +HETATM 531 H2 MOL F 1 36.754 38.333 5.799 1.00 0.00 H +HETATM 532 C3 MOL F 1 36.871 39.882 4.316 1.00 0.00 C +HETATM 533 H3 MOL F 1 37.958 39.887 4.329 1.00 0.00 H +HETATM 534 C4 MOL F 1 36.182 40.557 3.365 1.00 0.00 C +HETATM 535 H4 MOL F 1 36.631 41.117 2.548 1.00 0.00 H +HETATM 536 C5 MOL F 1 34.802 40.425 3.358 1.00 0.00 C +HETATM 537 H5 MOL F 1 34.237 40.943 2.587 1.00 0.00 H +HETATM 538 C6 MOL F 1 34.096 39.671 4.275 1.00 0.00 C +HETATM 539 C7 MOL F 1 32.563 39.705 4.166 1.00 0.00 C +HETATM 540 H6 MOL F 1 32.250 40.704 3.850 1.00 0.00 H +HETATM 541 H7 MOL F 1 32.118 39.479 5.138 1.00 0.00 H +HETATM 542 O1 MOL F 1 31.948 38.864 3.180 1.00 0.00 O +HETATM 543 H8 MOL F 1 31.015 39.078 3.003 1.00 0.00 H +TER 544 MOL F 1 +HETATM 545 C1 MOL G 1 21.415 35.851 6.856 1.00 0.00 C +HETATM 546 H1 MOL G 1 21.025 36.586 7.555 1.00 0.00 H +HETATM 547 C2 MOL G 1 20.582 35.365 5.818 1.00 0.00 C +HETATM 548 H2 MOL G 1 19.539 35.649 5.705 1.00 0.00 H +HETATM 549 C3 MOL G 1 21.123 34.469 4.920 1.00 0.00 C +HETATM 550 H3 MOL G 1 20.445 34.088 4.161 1.00 0.00 H +HETATM 551 C4 MOL G 1 22.497 34.106 4.951 1.00 0.00 C +HETATM 552 H4 MOL G 1 22.813 33.380 4.207 1.00 0.00 H +HETATM 553 C5 MOL G 1 23.345 34.604 5.947 1.00 0.00 C +HETATM 554 H5 MOL G 1 24.422 34.459 5.976 1.00 0.00 H +HETATM 555 C6 MOL G 1 22.759 35.462 6.889 1.00 0.00 C +HETATM 556 C7 MOL G 1 23.536 36.040 8.101 1.00 0.00 C +HETATM 557 H6 MOL G 1 24.270 35.271 8.356 1.00 0.00 H +HETATM 558 H7 MOL G 1 22.891 36.098 8.981 1.00 0.00 H +HETATM 559 O1 MOL G 1 24.192 37.301 7.844 1.00 0.00 O +HETATM 560 H8 MOL G 1 23.655 37.960 7.369 1.00 0.00 H +TER 561 MOL G 1 +HETATM 562 C1 MOL H 1 14.317 23.585 20.106 1.00 0.00 C +HETATM 563 H1 MOL H 1 14.747 24.550 19.852 1.00 0.00 H +HETATM 564 C2 MOL H 1 13.180 23.511 20.913 1.00 0.00 C +HETATM 565 H2 MOL H 1 12.648 24.387 21.274 1.00 0.00 H +HETATM 566 C3 MOL H 1 12.715 22.260 21.307 1.00 0.00 C +HETATM 567 H3 MOL H 1 11.837 22.244 21.947 1.00 0.00 H +HETATM 568 C4 MOL H 1 13.402 21.078 20.834 1.00 0.00 C +HETATM 569 H4 MOL H 1 12.984 20.085 20.974 1.00 0.00 H +HETATM 570 C5 MOL H 1 14.421 21.214 19.970 1.00 0.00 C +HETATM 571 H5 MOL H 1 14.787 20.326 19.460 1.00 0.00 H +HETATM 572 C6 MOL H 1 14.942 22.428 19.536 1.00 0.00 C +HETATM 573 C7 MOL H 1 16.005 22.501 18.470 1.00 0.00 C +HETATM 574 H6 MOL H 1 16.644 21.616 18.426 1.00 0.00 H +HETATM 575 H7 MOL H 1 16.588 23.378 18.763 1.00 0.00 H +HETATM 576 O1 MOL H 1 15.515 22.585 17.106 1.00 0.00 O +HETATM 577 H8 MOL H 1 14.775 23.200 17.256 1.00 0.00 H +TER 578 MOL H 1 +HETATM 579 C1 MOL I 1 14.222 9.695 36.190 1.00 0.00 C +HETATM 580 H1 MOL I 1 13.427 9.017 36.490 1.00 0.00 H +HETATM 581 C2 MOL I 1 13.917 10.522 35.119 1.00 0.00 C +HETATM 582 H2 MOL I 1 12.874 10.463 34.816 1.00 0.00 H +HETATM 583 C3 MOL I 1 14.867 11.417 34.662 1.00 0.00 C +HETATM 584 H3 MOL I 1 14.706 12.071 33.809 1.00 0.00 H +HETATM 585 C4 MOL I 1 16.097 11.581 35.361 1.00 0.00 C +HETATM 586 H4 MOL I 1 16.843 12.302 35.034 1.00 0.00 H +HETATM 587 C5 MOL I 1 16.415 10.708 36.452 1.00 0.00 C +HETATM 588 H5 MOL I 1 17.364 10.818 36.971 1.00 0.00 H +HETATM 589 C6 MOL I 1 15.452 9.803 36.860 1.00 0.00 C +HETATM 590 C7 MOL I 1 15.787 8.746 37.923 1.00 0.00 C +HETATM 591 H6 MOL I 1 16.818 8.431 37.744 1.00 0.00 H +HETATM 592 H7 MOL I 1 15.093 7.920 37.746 1.00 0.00 H +HETATM 593 O1 MOL I 1 15.614 9.263 39.245 1.00 0.00 O +HETATM 594 H8 MOL I 1 14.869 8.856 39.723 1.00 0.00 H +TER 595 MOL I 1 +HETATM 596 C1 MOL J 1 41.187 33.687 21.462 1.00 0.00 C +HETATM 597 H1 MOL J 1 42.107 33.569 22.029 1.00 0.00 H +HETATM 598 C2 MOL J 1 41.029 34.891 20.793 1.00 0.00 C +HETATM 599 H2 MOL J 1 41.770 35.661 20.992 1.00 0.00 H +HETATM 600 C3 MOL J 1 39.899 35.114 19.969 1.00 0.00 C +HETATM 601 H3 MOL J 1 39.629 36.061 19.510 1.00 0.00 H +HETATM 602 C4 MOL J 1 39.030 34.053 19.754 1.00 0.00 C +HETATM 603 H4 MOL J 1 38.303 34.065 18.946 1.00 0.00 H +HETATM 604 C5 MOL J 1 39.189 32.866 20.505 1.00 0.00 C +HETATM 605 H5 MOL J 1 38.319 32.220 20.419 1.00 0.00 H +HETATM 606 C6 MOL J 1 40.308 32.610 21.307 1.00 0.00 C +HETATM 607 C7 MOL J 1 40.335 31.333 22.082 1.00 0.00 C +HETATM 608 H6 MOL J 1 40.060 31.564 23.114 1.00 0.00 H +HETATM 609 H7 MOL J 1 41.338 30.905 22.156 1.00 0.00 H +HETATM 610 O1 MOL J 1 39.447 30.309 21.607 1.00 0.00 O +HETATM 611 H8 MOL J 1 39.840 29.902 20.813 1.00 0.00 H +TER 612 MOL J 1 +HETATM 613 C1 MOL K 1 12.374 7.711 24.756 1.00 0.00 C +HETATM 614 H1 MOL K 1 12.386 7.684 23.670 1.00 0.00 H +HETATM 615 C2 MOL K 1 11.467 7.024 25.465 1.00 0.00 C +HETATM 616 H2 MOL K 1 10.773 6.371 24.943 1.00 0.00 H +HETATM 617 C3 MOL K 1 11.623 7.021 26.830 1.00 0.00 C +HETATM 618 H3 MOL K 1 10.858 6.520 27.418 1.00 0.00 H +HETATM 619 C4 MOL K 1 12.588 7.790 27.427 1.00 0.00 C +HETATM 620 H4 MOL K 1 12.631 7.756 28.513 1.00 0.00 H +HETATM 621 C5 MOL K 1 13.573 8.569 26.693 1.00 0.00 C +HETATM 622 H5 MOL K 1 14.308 9.151 27.243 1.00 0.00 H +HETATM 623 C6 MOL K 1 13.451 8.404 25.320 1.00 0.00 C +HETATM 624 C7 MOL K 1 14.499 9.024 24.407 1.00 0.00 C +HETATM 625 H6 MOL K 1 15.164 8.161 24.317 1.00 0.00 H +HETATM 626 H7 MOL K 1 15.091 9.789 24.914 1.00 0.00 H +HETATM 627 O1 MOL K 1 14.048 9.345 23.154 1.00 0.00 O +HETATM 628 H8 MOL K 1 14.772 9.223 22.514 1.00 0.00 H +TER 629 MOL K 1 +HETATM 630 C1 MOL L 1 9.430 6.330 2.414 1.00 0.00 C +HETATM 631 H1 MOL L 1 10.346 6.180 2.979 1.00 0.00 H +HETATM 632 C2 MOL L 1 8.541 5.299 2.264 1.00 0.00 C +HETATM 633 H2 MOL L 1 8.734 4.382 2.813 1.00 0.00 H +HETATM 634 C3 MOL L 1 7.358 5.552 1.560 1.00 0.00 C +HETATM 635 H3 MOL L 1 6.554 4.827 1.462 1.00 0.00 H +HETATM 636 C4 MOL L 1 7.139 6.755 0.888 1.00 0.00 C +HETATM 637 H4 MOL L 1 6.342 6.882 0.160 1.00 0.00 H +HETATM 638 C5 MOL L 1 7.958 7.823 1.205 1.00 0.00 C +HETATM 639 H5 MOL L 1 7.803 8.777 0.708 1.00 0.00 H +HETATM 640 C6 MOL L 1 9.152 7.627 1.901 1.00 0.00 C +HETATM 641 C7 MOL L 1 10.174 8.705 1.889 1.00 0.00 C +HETATM 642 H6 MOL L 1 11.068 8.383 2.430 1.00 0.00 H +HETATM 643 H7 MOL L 1 9.797 9.545 2.478 1.00 0.00 H +HETATM 644 O1 MOL L 1 10.511 9.056 0.519 1.00 0.00 O +HETATM 645 H8 MOL L 1 10.726 8.228 0.053 1.00 0.00 H +TER 646 MOL L 1 +HETATM 647 C1 MOL M 1 7.295 1.999 31.283 1.00 0.00 C +HETATM 648 H1 MOL M 1 7.266 2.741 30.489 1.00 0.00 H +HETATM 649 C2 MOL M 1 8.514 1.575 31.881 1.00 0.00 C +HETATM 650 H2 MOL M 1 9.357 2.050 31.387 1.00 0.00 H +HETATM 651 C3 MOL M 1 8.649 0.877 33.088 1.00 0.00 C +HETATM 652 H3 MOL M 1 9.582 0.675 33.608 1.00 0.00 H +HETATM 653 C4 MOL M 1 7.446 0.658 33.781 1.00 0.00 C +HETATM 654 H4 MOL M 1 7.536 0.162 34.744 1.00 0.00 H +HETATM 655 C5 MOL M 1 6.261 1.110 33.301 1.00 0.00 C +HETATM 656 H5 MOL M 1 5.359 0.930 33.880 1.00 0.00 H +HETATM 657 C6 MOL M 1 6.181 1.783 32.058 1.00 0.00 C +HETATM 658 C7 MOL M 1 4.805 2.284 31.599 1.00 0.00 C +HETATM 659 H6 MOL M 1 4.126 1.434 31.705 1.00 0.00 H +HETATM 660 H7 MOL M 1 4.695 2.512 30.536 1.00 0.00 H +HETATM 661 O1 MOL M 1 4.206 3.401 32.310 1.00 0.00 O +HETATM 662 H8 MOL M 1 3.911 3.018 33.156 1.00 0.00 H +TER 663 MOL M 1 +HETATM 664 C1 MOL N 1 20.439 21.459 18.015 1.00 0.00 C +HETATM 665 H1 MOL N 1 20.249 20.471 17.603 1.00 0.00 H +HETATM 666 C2 MOL N 1 21.375 21.671 19.001 1.00 0.00 C +HETATM 667 H2 MOL N 1 21.906 20.869 19.506 1.00 0.00 H +HETATM 668 C3 MOL N 1 21.767 22.942 19.415 1.00 0.00 C +HETATM 669 H3 MOL N 1 22.631 22.985 20.072 1.00 0.00 H +HETATM 670 C4 MOL N 1 21.170 24.098 18.794 1.00 0.00 C +HETATM 671 H4 MOL N 1 21.477 25.119 19.009 1.00 0.00 H +HETATM 672 C5 MOL N 1 20.212 23.860 17.735 1.00 0.00 C +HETATM 673 H5 MOL N 1 19.709 24.680 17.228 1.00 0.00 H +HETATM 674 C6 MOL N 1 19.946 22.546 17.305 1.00 0.00 C +HETATM 675 C7 MOL N 1 19.066 22.376 16.077 1.00 0.00 C +HETATM 676 H6 MOL N 1 18.527 21.425 16.085 1.00 0.00 H +HETATM 677 H7 MOL N 1 19.680 22.346 15.174 1.00 0.00 H +HETATM 678 O1 MOL N 1 17.979 23.330 15.882 1.00 0.00 O +HETATM 679 H8 MOL N 1 17.267 23.056 16.488 1.00 0.00 H +TER 680 MOL N 1 +HETATM 681 C1 MOL O 1 20.762 7.974 42.417 1.00 0.00 C +HETATM 682 H1 MOL O 1 21.465 8.756 42.143 1.00 0.00 H +HETATM 683 C2 MOL O 1 20.991 6.655 42.006 1.00 0.00 C +HETATM 684 H2 MOL O 1 21.807 6.383 41.341 1.00 0.00 H +HETATM 685 C3 MOL O 1 20.114 5.660 42.376 1.00 0.00 C +HETATM 686 H3 MOL O 1 20.197 4.672 41.929 1.00 0.00 H +HETATM 687 C4 MOL O 1 18.927 6.054 43.023 1.00 0.00 C +HETATM 688 H4 MOL O 1 18.130 5.336 43.194 1.00 0.00 H +HETATM 689 C5 MOL O 1 18.753 7.395 43.473 1.00 0.00 C +HETATM 690 H5 MOL O 1 17.913 7.543 44.147 1.00 0.00 H +HETATM 691 C6 MOL O 1 19.618 8.393 43.139 1.00 0.00 C +HETATM 692 C7 MOL O 1 19.473 9.800 43.623 1.00 0.00 C +HETATM 693 H6 MOL O 1 20.438 10.048 44.071 1.00 0.00 H +HETATM 694 H7 MOL O 1 18.660 9.964 44.335 1.00 0.00 H +HETATM 695 O1 MOL O 1 19.172 10.641 42.551 1.00 0.00 O +HETATM 696 H8 MOL O 1 18.897 11.484 42.952 1.00 0.00 H +TER 697 MOL O 1 +HETATM 698 C1 MOL P 1 32.910 8.539 25.406 1.00 0.00 C +HETATM 699 H1 MOL P 1 33.807 8.189 24.900 1.00 0.00 H +HETATM 700 C2 MOL P 1 32.802 9.823 25.994 1.00 0.00 C +HETATM 701 H2 MOL P 1 33.659 10.491 25.998 1.00 0.00 H +HETATM 702 C3 MOL P 1 31.636 10.261 26.577 1.00 0.00 C +HETATM 703 H3 MOL P 1 31.661 11.285 26.940 1.00 0.00 H +HETATM 704 C4 MOL P 1 30.522 9.406 26.627 1.00 0.00 C +HETATM 705 H4 MOL P 1 29.587 9.802 27.014 1.00 0.00 H +HETATM 706 C5 MOL P 1 30.561 8.113 26.122 1.00 0.00 C +HETATM 707 H5 MOL P 1 29.702 7.449 26.080 1.00 0.00 H +HETATM 708 C6 MOL P 1 31.728 7.697 25.487 1.00 0.00 C +HETATM 709 C7 MOL P 1 31.770 6.328 24.934 1.00 0.00 C +HETATM 710 H6 MOL P 1 31.226 5.667 25.613 1.00 0.00 H +HETATM 711 H7 MOL P 1 32.821 6.026 24.936 1.00 0.00 H +HETATM 712 O1 MOL P 1 31.210 6.216 23.662 1.00 0.00 O +HETATM 713 H8 MOL P 1 30.240 6.269 23.730 1.00 0.00 H +TER 714 MOL P 1 +HETATM 715 C1 MOL Q 1 21.598 26.954 37.227 1.00 0.00 C +HETATM 716 H1 MOL Q 1 20.573 27.146 37.532 1.00 0.00 H +HETATM 717 C2 MOL Q 1 22.268 25.878 37.733 1.00 0.00 C +HETATM 718 H2 MOL Q 1 21.862 25.127 38.405 1.00 0.00 H +HETATM 719 C3 MOL Q 1 23.572 25.692 37.257 1.00 0.00 C +HETATM 720 H3 MOL Q 1 24.131 24.837 37.628 1.00 0.00 H +HETATM 721 C4 MOL Q 1 24.235 26.549 36.451 1.00 0.00 C +HETATM 722 H4 MOL Q 1 25.256 26.331 36.149 1.00 0.00 H +HETATM 723 C5 MOL Q 1 23.510 27.609 35.940 1.00 0.00 C +HETATM 724 H5 MOL Q 1 24.051 28.235 35.234 1.00 0.00 H +HETATM 725 C6 MOL Q 1 22.209 27.853 36.363 1.00 0.00 C +HETATM 726 C7 MOL Q 1 21.471 29.069 35.974 1.00 0.00 C +HETATM 727 H6 MOL Q 1 22.231 29.841 35.830 1.00 0.00 H +HETATM 728 H7 MOL Q 1 20.675 29.296 36.688 1.00 0.00 H +HETATM 729 O1 MOL Q 1 20.802 28.830 34.769 1.00 0.00 O +HETATM 730 H8 MOL Q 1 21.244 28.332 34.058 1.00 0.00 H +TER 731 MOL Q 1 +HETATM 732 C1 MOL R 1 19.669 37.757 15.545 1.00 0.00 C +HETATM 733 H1 MOL R 1 19.349 36.740 15.332 1.00 0.00 H +HETATM 734 C2 MOL R 1 19.419 38.789 14.702 1.00 0.00 C +HETATM 735 H2 MOL R 1 18.911 38.576 13.765 1.00 0.00 H +HETATM 736 C3 MOL R 1 19.898 40.089 15.061 1.00 0.00 C +HETATM 737 H3 MOL R 1 19.714 40.891 14.350 1.00 0.00 H +HETATM 738 C4 MOL R 1 20.573 40.301 16.201 1.00 0.00 C +HETATM 739 H4 MOL R 1 20.782 41.306 16.559 1.00 0.00 H +HETATM 740 C5 MOL R 1 20.817 39.211 16.990 1.00 0.00 C +HETATM 741 H5 MOL R 1 21.115 39.296 18.032 1.00 0.00 H +HETATM 742 C6 MOL R 1 20.358 37.948 16.717 1.00 0.00 C +HETATM 743 C7 MOL R 1 20.658 36.901 17.744 1.00 0.00 C +HETATM 744 H6 MOL R 1 20.191 35.941 17.510 1.00 0.00 H +HETATM 745 H7 MOL R 1 20.303 37.197 18.735 1.00 0.00 H +HETATM 746 O1 MOL R 1 21.972 36.602 17.987 1.00 0.00 O +HETATM 747 H8 MOL R 1 21.959 36.055 18.793 1.00 0.00 H +TER 748 MOL R 1 +HETATM 749 C1 MOL S 1 24.739 33.292 13.330 1.00 0.00 C +HETATM 750 H1 MOL S 1 25.088 32.755 12.452 1.00 0.00 H +HETATM 751 C2 MOL S 1 25.688 33.503 14.224 1.00 0.00 C +HETATM 752 H2 MOL S 1 26.613 32.985 13.984 1.00 0.00 H +HETATM 753 C3 MOL S 1 25.439 34.227 15.417 1.00 0.00 C +HETATM 754 H3 MOL S 1 26.184 34.245 16.208 1.00 0.00 H +HETATM 755 C4 MOL S 1 24.147 34.661 15.654 1.00 0.00 C +HETATM 756 H4 MOL S 1 23.857 35.237 16.529 1.00 0.00 H +HETATM 757 C5 MOL S 1 23.183 34.548 14.607 1.00 0.00 C +HETATM 758 H5 MOL S 1 22.158 34.876 14.757 1.00 0.00 H +HETATM 759 C6 MOL S 1 23.470 33.753 13.539 1.00 0.00 C +HETATM 760 C7 MOL S 1 22.408 33.556 12.498 1.00 0.00 C +HETATM 761 H6 MOL S 1 21.458 33.547 13.037 1.00 0.00 H +HETATM 762 H7 MOL S 1 22.544 32.520 12.175 1.00 0.00 H +HETATM 763 O1 MOL S 1 22.453 34.504 11.448 1.00 0.00 O +HETATM 764 H8 MOL S 1 21.821 35.200 11.703 1.00 0.00 H +TER 765 MOL S 1 +HETATM 766 C1 MOL T 1 34.957 31.053 28.957 1.00 0.00 C +HETATM 767 H1 MOL T 1 35.354 31.822 28.300 1.00 0.00 H +HETATM 768 C2 MOL T 1 35.522 29.758 28.787 1.00 0.00 C +HETATM 769 H2 MOL T 1 36.314 29.604 28.058 1.00 0.00 H +HETATM 770 C3 MOL T 1 35.100 28.717 29.632 1.00 0.00 C +HETATM 771 H3 MOL T 1 35.546 27.729 29.556 1.00 0.00 H +HETATM 772 C4 MOL T 1 34.020 28.946 30.507 1.00 0.00 C +HETATM 773 H4 MOL T 1 33.549 28.158 31.089 1.00 0.00 H +HETATM 774 C5 MOL T 1 33.528 30.255 30.757 1.00 0.00 C +HETATM 775 H5 MOL T 1 32.791 30.479 31.524 1.00 0.00 H +HETATM 776 C6 MOL T 1 34.029 31.294 29.986 1.00 0.00 C +HETATM 777 C7 MOL T 1 33.502 32.630 30.201 1.00 0.00 C +HETATM 778 H6 MOL T 1 33.694 33.358 29.409 1.00 0.00 H +HETATM 779 H7 MOL T 1 34.004 32.971 31.110 1.00 0.00 H +HETATM 780 O1 MOL T 1 32.052 32.605 30.312 1.00 0.00 O +HETATM 781 H8 MOL T 1 31.833 31.915 29.661 1.00 0.00 H +TER 782 MOL T 1 +HETATM 783 C1 MOL U 1 18.641 37.200 30.413 1.00 0.00 C +HETATM 784 H1 MOL U 1 17.696 37.696 30.210 1.00 0.00 H +HETATM 785 C2 MOL U 1 18.838 36.461 31.554 1.00 0.00 C +HETATM 786 H2 MOL U 1 18.063 36.527 32.314 1.00 0.00 H +HETATM 787 C3 MOL U 1 20.041 35.754 31.770 1.00 0.00 C +HETATM 788 H3 MOL U 1 20.093 35.147 32.669 1.00 0.00 H +HETATM 789 C4 MOL U 1 21.025 35.826 30.835 1.00 0.00 C +HETATM 790 H4 MOL U 1 21.888 35.166 30.875 1.00 0.00 H +HETATM 791 C5 MOL U 1 20.860 36.603 29.743 1.00 0.00 C +HETATM 792 H5 MOL U 1 21.667 36.752 29.031 1.00 0.00 H +HETATM 793 C6 MOL U 1 19.682 37.259 29.431 1.00 0.00 C +HETATM 794 C7 MOL U 1 19.530 38.232 28.303 1.00 0.00 C +HETATM 795 H6 MOL U 1 20.429 38.456 27.723 1.00 0.00 H +HETATM 796 H7 MOL U 1 19.181 39.164 28.755 1.00 0.00 H +HETATM 797 O1 MOL U 1 18.462 37.953 27.368 1.00 0.00 O +HETATM 798 H8 MOL U 1 17.818 38.683 27.391 1.00 0.00 H +TER 799 MOL U 1 +HETATM 800 C1 MOL V 1 9.954 11.721 34.465 1.00 0.00 C +HETATM 801 H1 MOL V 1 10.602 10.947 34.063 1.00 0.00 H +HETATM 802 C2 MOL V 1 10.411 12.510 35.524 1.00 0.00 C +HETATM 803 H2 MOL V 1 11.435 12.368 35.861 1.00 0.00 H +HETATM 804 C3 MOL V 1 9.622 13.533 36.063 1.00 0.00 C +HETATM 805 H3 MOL V 1 9.973 14.034 36.961 1.00 0.00 H +HETATM 806 C4 MOL V 1 8.304 13.713 35.623 1.00 0.00 C +HETATM 807 H4 MOL V 1 7.631 14.412 36.113 1.00 0.00 H +HETATM 808 C5 MOL V 1 7.934 13.044 34.461 1.00 0.00 C +HETATM 809 H5 MOL V 1 6.923 13.177 34.084 1.00 0.00 H +HETATM 810 C6 MOL V 1 8.730 12.032 33.880 1.00 0.00 C +HETATM 811 C7 MOL V 1 8.312 11.327 32.627 1.00 0.00 C +HETATM 812 H6 MOL V 1 7.220 11.306 32.627 1.00 0.00 H +HETATM 813 H7 MOL V 1 8.748 10.325 32.588 1.00 0.00 H +HETATM 814 O1 MOL V 1 8.785 12.007 31.507 1.00 0.00 O +HETATM 815 H8 MOL V 1 8.255 11.516 30.853 1.00 0.00 H +TER 816 MOL V 1 +HETATM 817 C1 MOL W 1 28.133 8.313 38.259 1.00 0.00 C +HETATM 818 H1 MOL W 1 27.992 9.381 38.117 1.00 0.00 H +HETATM 819 C2 MOL W 1 29.004 7.467 37.548 1.00 0.00 C +HETATM 820 H2 MOL W 1 29.591 7.874 36.729 1.00 0.00 H +HETATM 821 C3 MOL W 1 29.128 6.114 37.919 1.00 0.00 C +HETATM 822 H3 MOL W 1 29.876 5.512 37.410 1.00 0.00 H +HETATM 823 C4 MOL W 1 28.369 5.635 38.988 1.00 0.00 C +HETATM 824 H4 MOL W 1 28.398 4.574 39.219 1.00 0.00 H +HETATM 825 C5 MOL W 1 27.437 6.412 39.629 1.00 0.00 C +HETATM 826 H5 MOL W 1 26.664 6.017 40.283 1.00 0.00 H +HETATM 827 C6 MOL W 1 27.286 7.731 39.218 1.00 0.00 C +HETATM 828 C7 MOL W 1 26.244 8.592 40.002 1.00 0.00 C +HETATM 829 H6 MOL W 1 26.742 9.554 40.149 1.00 0.00 H +HETATM 830 H7 MOL W 1 25.928 8.280 41.001 1.00 0.00 H +HETATM 831 O1 MOL W 1 25.037 8.865 39.236 1.00 0.00 O +HETATM 832 H8 MOL W 1 25.470 9.003 38.374 1.00 0.00 H +TER 833 MOL W 1 +HETATM 834 C1 MOL X 1 9.435 23.678 16.793 1.00 0.00 C +HETATM 835 H1 MOL X 1 10.278 24.292 17.100 1.00 0.00 H +HETATM 836 C2 MOL X 1 8.273 24.158 16.298 1.00 0.00 C +HETATM 837 H2 MOL X 1 8.087 25.221 16.172 1.00 0.00 H +HETATM 838 C3 MOL X 1 7.324 23.330 15.679 1.00 0.00 C +HETATM 839 H3 MOL X 1 6.404 23.696 15.230 1.00 0.00 H +HETATM 840 C4 MOL X 1 7.468 21.961 15.866 1.00 0.00 C +HETATM 841 H4 MOL X 1 6.817 21.221 15.408 1.00 0.00 H +HETATM 842 C5 MOL X 1 8.583 21.494 16.564 1.00 0.00 C +HETATM 843 H5 MOL X 1 8.857 20.443 16.517 1.00 0.00 H +HETATM 844 C6 MOL X 1 9.574 22.326 17.027 1.00 0.00 C +HETATM 845 C7 MOL X 1 10.710 21.705 17.762 1.00 0.00 C +HETATM 846 H6 MOL X 1 10.717 20.620 17.632 1.00 0.00 H +HETATM 847 H7 MOL X 1 10.544 21.905 18.824 1.00 0.00 H +HETATM 848 O1 MOL X 1 11.975 22.332 17.589 1.00 0.00 O +HETATM 849 H8 MOL X 1 12.537 22.147 18.363 1.00 0.00 H +TER 850 MOL X 1 +HETATM 851 C1 MOL Y 1 25.294 33.038 28.058 1.00 0.00 C +HETATM 852 H1 MOL Y 1 25.413 32.201 27.375 1.00 0.00 H +HETATM 853 C2 MOL Y 1 25.498 32.655 29.427 1.00 0.00 C +HETATM 854 H2 MOL Y 1 25.401 31.632 29.780 1.00 0.00 H +HETATM 855 C3 MOL Y 1 25.553 33.606 30.401 1.00 0.00 C +HETATM 856 H3 MOL Y 1 25.648 33.319 31.445 1.00 0.00 H +HETATM 857 C4 MOL Y 1 25.299 34.949 30.139 1.00 0.00 C +HETATM 858 H4 MOL Y 1 25.178 35.741 30.875 1.00 0.00 H +HETATM 859 C5 MOL Y 1 25.298 35.352 28.815 1.00 0.00 C +HETATM 860 H5 MOL Y 1 25.281 36.411 28.569 1.00 0.00 H +HETATM 861 C6 MOL Y 1 25.336 34.388 27.686 1.00 0.00 C +HETATM 862 C7 MOL Y 1 25.297 34.819 26.230 1.00 0.00 C +HETATM 863 H6 MOL Y 1 24.680 35.717 26.148 1.00 0.00 H +HETATM 864 H7 MOL Y 1 24.824 34.078 25.580 1.00 0.00 H +HETATM 865 O1 MOL Y 1 26.574 35.055 25.867 1.00 0.00 O +HETATM 866 H8 MOL Y 1 27.156 34.326 26.148 1.00 0.00 H +TER 867 MOL Y 1 +HETATM 868 C1 MOL Z 1 28.065 11.883 42.052 1.00 0.00 C +HETATM 869 H1 MOL Z 1 27.537 11.704 42.985 1.00 0.00 H +HETATM 870 C2 MOL Z 1 29.257 11.201 41.850 1.00 0.00 C +HETATM 871 H2 MOL Z 1 29.543 10.501 42.630 1.00 0.00 H +HETATM 872 C3 MOL Z 1 30.060 11.407 40.753 1.00 0.00 C +HETATM 873 H3 MOL Z 1 30.946 10.817 40.532 1.00 0.00 H +HETATM 874 C4 MOL Z 1 29.639 12.366 39.895 1.00 0.00 C +HETATM 875 H4 MOL Z 1 30.090 12.578 38.929 1.00 0.00 H +HETATM 876 C5 MOL Z 1 28.457 13.092 40.075 1.00 0.00 C +HETATM 877 H5 MOL Z 1 28.196 13.941 39.449 1.00 0.00 H +HETATM 878 C6 MOL Z 1 27.694 12.834 41.178 1.00 0.00 C +HETATM 879 C7 MOL Z 1 26.486 13.769 41.555 1.00 0.00 C +HETATM 880 H6 MOL Z 1 26.758 14.824 41.639 1.00 0.00 H +HETATM 881 H7 MOL Z 1 26.049 13.414 42.492 1.00 0.00 H +HETATM 882 O1 MOL Z 1 25.480 13.725 40.553 1.00 0.00 O +HETATM 883 H8 MOL Z 1 25.005 12.876 40.589 1.00 0.00 H +TER 884 MOL Z 1 +HETATM 885 C1 MOL A 1 37.169 17.254 20.803 1.00 0.00 C +HETATM 886 H1 MOL A 1 38.064 17.787 21.115 1.00 0.00 H +HETATM 887 C2 MOL A 1 37.038 17.237 19.416 1.00 0.00 C +HETATM 888 H2 MOL A 1 37.750 17.713 18.748 1.00 0.00 H +HETATM 889 C3 MOL A 1 35.886 16.640 18.918 1.00 0.00 C +HETATM 890 H3 MOL A 1 35.691 16.611 17.849 1.00 0.00 H +HETATM 891 C4 MOL A 1 34.928 16.128 19.757 1.00 0.00 C +HETATM 892 H4 MOL A 1 33.997 15.689 19.408 1.00 0.00 H +HETATM 893 C5 MOL A 1 35.100 16.082 21.124 1.00 0.00 C +HETATM 894 H5 MOL A 1 34.352 15.716 21.823 1.00 0.00 H +HETATM 895 C6 MOL A 1 36.233 16.642 21.676 1.00 0.00 C +HETATM 896 C7 MOL A 1 36.216 16.782 23.201 1.00 0.00 C +HETATM 897 H6 MOL A 1 35.355 16.229 23.584 1.00 0.00 H +HETATM 898 H7 MOL A 1 36.103 17.851 23.402 1.00 0.00 H +HETATM 899 O1 MOL A 1 37.482 16.451 23.879 1.00 0.00 O +HETATM 900 H8 MOL A 1 38.099 15.968 23.300 1.00 0.00 H +TER 901 MOL A 1 +HETATM 902 C1 MOL B 1 38.244 24.669 2.397 1.00 0.00 C +HETATM 903 H1 MOL B 1 37.736 24.728 1.438 1.00 0.00 H +HETATM 904 C2 MOL B 1 38.177 25.733 3.246 1.00 0.00 C +HETATM 905 H2 MOL B 1 37.664 26.648 2.960 1.00 0.00 H +HETATM 906 C3 MOL B 1 38.706 25.683 4.538 1.00 0.00 C +HETATM 907 H3 MOL B 1 38.415 26.451 5.251 1.00 0.00 H +HETATM 908 C4 MOL B 1 39.462 24.583 4.909 1.00 0.00 C +HETATM 909 H4 MOL B 1 39.966 24.622 5.871 1.00 0.00 H +HETATM 910 C5 MOL B 1 39.704 23.583 3.974 1.00 0.00 C +HETATM 911 H5 MOL B 1 40.392 22.771 4.195 1.00 0.00 H +HETATM 912 C6 MOL B 1 39.170 23.609 2.656 1.00 0.00 C +HETATM 913 C7 MOL B 1 39.570 22.489 1.674 1.00 0.00 C +HETATM 914 H6 MOL B 1 40.150 21.757 2.242 1.00 0.00 H +HETATM 915 H7 MOL B 1 40.113 22.880 0.809 1.00 0.00 H +HETATM 916 O1 MOL B 1 38.464 21.857 1.036 1.00 0.00 O +HETATM 917 H8 MOL B 1 38.808 21.704 0.138 1.00 0.00 H +TER 918 MOL B 1 +HETATM 919 C1 MOL C 1 17.881 14.794 27.700 1.00 0.00 C +HETATM 920 H1 MOL C 1 16.815 14.682 27.885 1.00 0.00 H +HETATM 921 C2 MOL C 1 18.286 15.832 26.867 1.00 0.00 C +HETATM 922 H2 MOL C 1 17.574 16.517 26.414 1.00 0.00 H +HETATM 923 C3 MOL C 1 19.671 16.019 26.598 1.00 0.00 C +HETATM 924 H3 MOL C 1 19.990 16.742 25.851 1.00 0.00 H +HETATM 925 C4 MOL C 1 20.614 15.099 27.047 1.00 0.00 C +HETATM 926 H4 MOL C 1 21.671 15.183 26.807 1.00 0.00 H +HETATM 927 C5 MOL C 1 20.171 14.036 27.835 1.00 0.00 C +HETATM 928 H5 MOL C 1 20.820 13.195 28.065 1.00 0.00 H +HETATM 929 C6 MOL C 1 18.805 13.848 28.108 1.00 0.00 C +HETATM 930 C7 MOL C 1 18.342 12.553 28.903 1.00 0.00 C +HETATM 931 H6 MOL C 1 18.565 11.641 28.343 1.00 0.00 H +HETATM 932 H7 MOL C 1 17.270 12.560 29.114 1.00 0.00 H +HETATM 933 O1 MOL C 1 19.005 12.366 30.149 1.00 0.00 O +HETATM 934 H8 MOL C 1 19.871 12.798 30.043 1.00 0.00 H +TER 935 MOL C 1 +HETATM 936 C1 MOL D 1 3.451 14.295 20.123 1.00 0.00 C +HETATM 937 H1 MOL D 1 3.296 13.952 21.142 1.00 0.00 H +HETATM 938 C2 MOL D 1 2.684 15.420 19.801 1.00 0.00 C +HETATM 939 H2 MOL D 1 2.074 15.905 20.558 1.00 0.00 H +HETATM 940 C3 MOL D 1 2.790 16.031 18.554 1.00 0.00 C +HETATM 941 H3 MOL D 1 2.252 16.954 18.354 1.00 0.00 H +HETATM 942 C4 MOL D 1 3.598 15.405 17.595 1.00 0.00 C +HETATM 943 H4 MOL D 1 3.608 15.693 16.547 1.00 0.00 H +HETATM 944 C5 MOL D 1 4.387 14.298 17.923 1.00 0.00 C +HETATM 945 H5 MOL D 1 4.990 13.773 17.186 1.00 0.00 H +HETATM 946 C6 MOL D 1 4.320 13.683 19.203 1.00 0.00 C +HETATM 947 C7 MOL D 1 4.951 12.324 19.615 1.00 0.00 C +HETATM 948 H6 MOL D 1 4.548 11.983 20.572 1.00 0.00 H +HETATM 949 H7 MOL D 1 6.026 12.404 19.799 1.00 0.00 H +HETATM 950 O1 MOL D 1 4.818 11.192 18.661 1.00 0.00 O +HETATM 951 H8 MOL D 1 5.495 10.608 19.047 1.00 0.00 H +TER 952 MOL D 1 +HETATM 953 C1 MOL E 1 7.380 24.542 33.356 1.00 0.00 C +HETATM 954 H1 MOL E 1 7.989 24.920 32.539 1.00 0.00 H +HETATM 955 C2 MOL E 1 6.061 24.820 33.347 1.00 0.00 C +HETATM 956 H2 MOL E 1 5.619 25.317 32.487 1.00 0.00 H +HETATM 957 C3 MOL E 1 5.316 24.520 34.480 1.00 0.00 C +HETATM 958 H3 MOL E 1 4.240 24.665 34.541 1.00 0.00 H +HETATM 959 C4 MOL E 1 5.887 23.963 35.606 1.00 0.00 C +HETATM 960 H4 MOL E 1 5.317 23.813 36.519 1.00 0.00 H +HETATM 961 C5 MOL E 1 7.216 23.573 35.548 1.00 0.00 C +HETATM 962 H5 MOL E 1 7.748 23.110 36.375 1.00 0.00 H +HETATM 963 C6 MOL E 1 7.959 23.894 34.441 1.00 0.00 C +HETATM 964 C7 MOL E 1 9.359 23.423 34.315 1.00 0.00 C +HETATM 965 H6 MOL E 1 10.026 23.858 35.064 1.00 0.00 H +HETATM 966 H7 MOL E 1 9.778 23.580 33.318 1.00 0.00 H +HETATM 967 O1 MOL E 1 9.497 22.005 34.541 1.00 0.00 O +HETATM 968 H8 MOL E 1 8.913 21.574 33.891 1.00 0.00 H +TER 969 MOL E 1 +HETATM 970 C1 MOL F 1 35.496 17.564 5.617 1.00 0.00 C +HETATM 971 H1 MOL F 1 36.217 16.775 5.816 1.00 0.00 H +HETATM 972 C2 MOL F 1 34.419 17.434 4.769 1.00 0.00 C +HETATM 973 H2 MOL F 1 34.230 16.420 4.428 1.00 0.00 H +HETATM 974 C3 MOL F 1 33.473 18.410 4.575 1.00 0.00 C +HETATM 975 H3 MOL F 1 32.709 18.338 3.805 1.00 0.00 H +HETATM 976 C4 MOL F 1 33.649 19.632 5.195 1.00 0.00 C +HETATM 977 H4 MOL F 1 33.071 20.508 4.915 1.00 0.00 H +HETATM 978 C5 MOL F 1 34.740 19.826 5.983 1.00 0.00 C +HETATM 979 H5 MOL F 1 34.776 20.769 6.523 1.00 0.00 H +HETATM 980 C6 MOL F 1 35.659 18.832 6.245 1.00 0.00 C +HETATM 981 C7 MOL F 1 36.796 19.083 7.235 1.00 0.00 C +HETATM 982 H6 MOL F 1 37.654 19.485 6.690 1.00 0.00 H +HETATM 983 H7 MOL F 1 37.156 18.106 7.569 1.00 0.00 H +HETATM 984 O1 MOL F 1 36.431 19.850 8.403 1.00 0.00 O +HETATM 985 H8 MOL F 1 36.194 20.719 8.032 1.00 0.00 H +TER 986 MOL F 1 +HETATM 987 C1 MOL G 1 30.908 37.277 22.936 1.00 0.00 C +HETATM 988 H1 MOL G 1 29.864 37.513 22.747 1.00 0.00 H +HETATM 989 C2 MOL G 1 31.798 36.673 22.023 1.00 0.00 C +HETATM 990 H2 MOL G 1 31.402 36.415 21.044 1.00 0.00 H +HETATM 991 C3 MOL G 1 33.131 36.553 22.362 1.00 0.00 C +HETATM 992 H3 MOL G 1 33.716 36.044 21.600 1.00 0.00 H +HETATM 993 C4 MOL G 1 33.580 37.056 23.564 1.00 0.00 C +HETATM 994 H4 MOL G 1 34.653 37.059 23.739 1.00 0.00 H +HETATM 995 C5 MOL G 1 32.693 37.669 24.486 1.00 0.00 C +HETATM 996 H5 MOL G 1 33.004 38.168 25.399 1.00 0.00 H +HETATM 997 C6 MOL G 1 31.345 37.770 24.134 1.00 0.00 C +HETATM 998 C7 MOL G 1 30.443 38.539 25.036 1.00 0.00 C +HETATM 999 H6 MOL G 1 29.817 39.274 24.525 1.00 0.00 H +HETATM 1000 H7 MOL G 1 31.048 39.137 25.724 1.00 0.00 H +HETATM 1001 O1 MOL G 1 29.585 37.737 25.905 1.00 0.00 O +HETATM 1002 H8 MOL G 1 29.015 38.418 26.305 1.00 0.00 H +TER 1003 MOL G 1 +HETATM 1004 C1 MOL H 1 10.948 42.152 24.432 1.00 0.00 C +HETATM 1005 H1 MOL H 1 10.020 41.919 24.948 1.00 0.00 H +HETATM 1006 C2 MOL H 1 11.875 41.127 24.232 1.00 0.00 C +HETATM 1007 H2 MOL H 1 11.550 40.152 24.585 1.00 0.00 H +HETATM 1008 C3 MOL H 1 13.023 41.277 23.473 1.00 0.00 C +HETATM 1009 H3 MOL H 1 13.710 40.498 23.152 1.00 0.00 H +HETATM 1010 C4 MOL H 1 13.261 42.563 23.086 1.00 0.00 C +HETATM 1011 H4 MOL H 1 14.189 42.690 22.535 1.00 0.00 H +HETATM 1012 C5 MOL H 1 12.467 43.675 23.404 1.00 0.00 C +HETATM 1013 H5 MOL H 1 12.722 44.662 23.026 1.00 0.00 H +HETATM 1014 C6 MOL H 1 11.178 43.417 24.020 1.00 0.00 C +HETATM 1015 C7 MOL H 1 10.343 44.597 24.452 1.00 0.00 C +HETATM 1016 H6 MOL H 1 9.357 44.141 24.563 1.00 0.00 H +HETATM 1017 H7 MOL H 1 10.309 45.390 23.700 1.00 0.00 H +HETATM 1018 O1 MOL H 1 10.714 45.110 25.717 1.00 0.00 O +HETATM 1019 H8 MOL H 1 10.204 45.939 25.750 1.00 0.00 H +TER 1020 MOL H 1 +HETATM 1021 C1 MOL I 1 39.671 22.187 29.275 1.00 0.00 C +HETATM 1022 H1 MOL I 1 39.176 21.655 28.467 1.00 0.00 H +HETATM 1023 C2 MOL I 1 40.939 21.815 29.654 1.00 0.00 C +HETATM 1024 H2 MOL I 1 41.435 21.007 29.122 1.00 0.00 H +HETATM 1025 C3 MOL I 1 41.605 22.345 30.805 1.00 0.00 C +HETATM 1026 H3 MOL I 1 42.566 22.101 31.249 1.00 0.00 H +HETATM 1027 C4 MOL I 1 40.913 23.388 31.503 1.00 0.00 C +HETATM 1028 H4 MOL I 1 41.370 23.953 32.312 1.00 0.00 H +HETATM 1029 C5 MOL I 1 39.683 23.834 31.031 1.00 0.00 C +HETATM 1030 H5 MOL I 1 39.206 24.696 31.489 1.00 0.00 H +HETATM 1031 C6 MOL I 1 39.057 23.234 29.958 1.00 0.00 C +HETATM 1032 C7 MOL I 1 37.591 23.591 29.530 1.00 0.00 C +HETATM 1033 H6 MOL I 1 37.165 23.357 28.551 1.00 0.00 H +HETATM 1034 H7 MOL I 1 37.504 24.678 29.602 1.00 0.00 H +HETATM 1035 O1 MOL I 1 36.634 23.221 30.553 1.00 0.00 O +HETATM 1036 H8 MOL I 1 36.559 22.250 30.563 1.00 0.00 H +TER 1037 MOL I 1 +HETATM 1038 C1 MOL J 1 35.710 12.904 9.020 1.00 0.00 C +HETATM 1039 H1 MOL J 1 35.976 12.465 9.978 1.00 0.00 H +HETATM 1040 C2 MOL J 1 35.634 12.080 7.901 1.00 0.00 C +HETATM 1041 H2 MOL J 1 35.816 11.009 7.869 1.00 0.00 H +HETATM 1042 C3 MOL J 1 35.430 12.721 6.686 1.00 0.00 C +HETATM 1043 H3 MOL J 1 35.538 12.024 5.858 1.00 0.00 H +HETATM 1044 C4 MOL J 1 35.080 14.050 6.620 1.00 0.00 C +HETATM 1045 H4 MOL J 1 34.943 14.462 5.624 1.00 0.00 H +HETATM 1046 C5 MOL J 1 35.063 14.795 7.716 1.00 0.00 C +HETATM 1047 H5 MOL J 1 34.816 15.847 7.594 1.00 0.00 H +HETATM 1048 C6 MOL J 1 35.330 14.200 8.965 1.00 0.00 C +HETATM 1049 C7 MOL J 1 35.391 15.078 10.187 1.00 0.00 C +HETATM 1050 H6 MOL J 1 35.829 16.054 9.962 1.00 0.00 H +HETATM 1051 H7 MOL J 1 35.890 14.525 10.987 1.00 0.00 H +HETATM 1052 O1 MOL J 1 34.075 15.426 10.659 1.00 0.00 O +HETATM 1053 H8 MOL J 1 33.975 16.393 10.593 1.00 0.00 H +TER 1054 MOL J 1 +HETATM 1055 C1 MOL K 1 23.417 39.957 34.605 1.00 0.00 C +HETATM 1056 H1 MOL K 1 23.342 39.722 33.547 1.00 0.00 H +HETATM 1057 C2 MOL K 1 22.503 40.808 35.217 1.00 0.00 C +HETATM 1058 H2 MOL K 1 21.707 41.285 34.651 1.00 0.00 H +HETATM 1059 C3 MOL K 1 22.611 41.263 36.536 1.00 0.00 C +HETATM 1060 H3 MOL K 1 21.919 41.999 36.937 1.00 0.00 H +HETATM 1061 C4 MOL K 1 23.721 40.767 37.226 1.00 0.00 C +HETATM 1062 H4 MOL K 1 23.845 41.058 38.265 1.00 0.00 H +HETATM 1063 C5 MOL K 1 24.702 39.999 36.632 1.00 0.00 C +HETATM 1064 H5 MOL K 1 25.659 39.726 37.069 1.00 0.00 H +HETATM 1065 C6 MOL K 1 24.539 39.574 35.336 1.00 0.00 C +HETATM 1066 C7 MOL K 1 25.625 38.584 34.757 1.00 0.00 C +HETATM 1067 H6 MOL K 1 25.197 38.275 33.800 1.00 0.00 H +HETATM 1068 H7 MOL K 1 25.620 37.656 35.334 1.00 0.00 H +HETATM 1069 O1 MOL K 1 26.870 39.112 34.485 1.00 0.00 O +HETATM 1070 H8 MOL K 1 26.867 39.756 33.755 1.00 0.00 H +TER 1071 MOL K 1 +HETATM 1072 C1 MOL L 1 26.591 0.241 7.031 1.00 0.00 C +HETATM 1073 H1 MOL L 1 25.795 -0.423 6.705 1.00 0.00 H +HETATM 1074 C2 MOL L 1 27.407 0.110 8.172 1.00 0.00 C +HETATM 1075 H2 MOL L 1 27.232 -0.753 8.808 1.00 0.00 H +HETATM 1076 C3 MOL L 1 28.414 0.939 8.510 1.00 0.00 C +HETATM 1077 H3 MOL L 1 29.009 0.700 9.388 1.00 0.00 H +HETATM 1078 C4 MOL L 1 28.675 2.021 7.723 1.00 0.00 C +HETATM 1079 H4 MOL L 1 29.388 2.793 8.002 1.00 0.00 H +HETATM 1080 C5 MOL L 1 27.932 2.195 6.529 1.00 0.00 C +HETATM 1081 H5 MOL L 1 28.045 3.054 5.873 1.00 0.00 H +HETATM 1082 C6 MOL L 1 26.889 1.288 6.182 1.00 0.00 C +HETATM 1083 C7 MOL L 1 26.104 1.547 4.886 1.00 0.00 C +HETATM 1084 H6 MOL L 1 25.663 2.533 5.051 1.00 0.00 H +HETATM 1085 H7 MOL L 1 25.210 0.929 4.776 1.00 0.00 H +HETATM 1086 O1 MOL L 1 26.837 1.701 3.753 1.00 0.00 O +HETATM 1087 H8 MOL L 1 26.351 2.067 2.992 1.00 0.00 H +TER 1088 MOL L 1 +HETATM 1089 C1 MOL M 1 20.236 2.863 21.374 1.00 0.00 C +HETATM 1090 H1 MOL M 1 19.164 2.727 21.252 1.00 0.00 H +HETATM 1091 C2 MOL M 1 20.710 4.144 21.153 1.00 0.00 C +HETATM 1092 H2 MOL M 1 20.078 4.935 20.757 1.00 0.00 H +HETATM 1093 C3 MOL M 1 22.051 4.376 21.349 1.00 0.00 C +HETATM 1094 H3 MOL M 1 22.483 5.333 21.066 1.00 0.00 H +HETATM 1095 C4 MOL M 1 22.910 3.419 21.856 1.00 0.00 C +HETATM 1096 H4 MOL M 1 23.970 3.654 21.918 1.00 0.00 H +HETATM 1097 C5 MOL M 1 22.385 2.167 22.245 1.00 0.00 C +HETATM 1098 H5 MOL M 1 23.084 1.460 22.684 1.00 0.00 H +HETATM 1099 C6 MOL M 1 21.025 1.828 21.867 1.00 0.00 C +HETATM 1100 C7 MOL M 1 20.531 0.500 22.359 1.00 0.00 C +HETATM 1101 H6 MOL M 1 21.089 0.145 23.230 1.00 0.00 H +HETATM 1102 H7 MOL M 1 20.638 -0.241 21.562 1.00 0.00 H +HETATM 1103 O1 MOL M 1 19.149 0.390 22.699 1.00 0.00 O +HETATM 1104 H8 MOL M 1 18.978 0.943 23.482 1.00 0.00 H +TER 1105 MOL M 1 +HETATM 1106 C1 MOL N 1 45.192 42.840 17.974 1.00 0.00 C +HETATM 1107 H1 MOL N 1 46.026 42.273 17.568 1.00 0.00 H +HETATM 1108 C2 MOL N 1 45.465 43.636 19.114 1.00 0.00 C +HETATM 1109 H2 MOL N 1 46.464 43.793 19.514 1.00 0.00 H +HETATM 1110 C3 MOL N 1 44.404 44.458 19.566 1.00 0.00 C +HETATM 1111 H3 MOL N 1 44.541 45.162 20.382 1.00 0.00 H +HETATM 1112 C4 MOL N 1 43.112 44.337 19.049 1.00 0.00 C +HETATM 1113 H4 MOL N 1 42.240 44.851 19.444 1.00 0.00 H +HETATM 1114 C5 MOL N 1 42.924 43.504 17.948 1.00 0.00 C +HETATM 1115 H5 MOL N 1 41.938 43.392 17.503 1.00 0.00 H +HETATM 1116 C6 MOL N 1 43.929 42.712 17.432 1.00 0.00 C +HETATM 1117 C7 MOL N 1 43.669 41.806 16.159 1.00 0.00 C +HETATM 1118 H6 MOL N 1 44.394 40.988 16.131 1.00 0.00 H +HETATM 1119 H7 MOL N 1 43.802 42.415 15.261 1.00 0.00 H +HETATM 1120 O1 MOL N 1 42.372 41.199 16.131 1.00 0.00 O +HETATM 1121 H8 MOL N 1 42.331 40.868 15.215 1.00 0.00 H +TER 1122 MOL N 1 +HETATM 1123 C1 MOL O 1 23.781 11.276 23.274 1.00 0.00 C +HETATM 1124 H1 MOL O 1 24.499 10.727 22.669 1.00 0.00 H +HETATM 1125 C2 MOL O 1 22.626 10.663 23.635 1.00 0.00 C +HETATM 1126 H2 MOL O 1 22.401 9.640 23.343 1.00 0.00 H +HETATM 1127 C3 MOL O 1 21.629 11.415 24.259 1.00 0.00 C +HETATM 1128 H3 MOL O 1 20.656 10.956 24.417 1.00 0.00 H +HETATM 1129 C4 MOL O 1 21.949 12.742 24.733 1.00 0.00 C +HETATM 1130 H4 MOL O 1 21.060 13.285 25.044 1.00 0.00 H +HETATM 1131 C5 MOL O 1 23.200 13.284 24.442 1.00 0.00 C +HETATM 1132 H5 MOL O 1 23.352 14.346 24.616 1.00 0.00 H +HETATM 1133 C6 MOL O 1 24.150 12.589 23.660 1.00 0.00 C +HETATM 1134 C7 MOL O 1 25.477 13.139 23.169 1.00 0.00 C +HETATM 1135 H6 MOL O 1 25.707 12.968 22.114 1.00 0.00 H +HETATM 1136 H7 MOL O 1 26.305 12.569 23.597 1.00 0.00 H +HETATM 1137 O1 MOL O 1 25.573 14.556 23.428 1.00 0.00 O +HETATM 1138 H8 MOL O 1 24.917 14.991 22.854 1.00 0.00 H +TER 1139 MOL O 1 +HETATM 1140 C1 MOL P 1 15.461 36.680 42.463 1.00 0.00 C +HETATM 1141 H1 MOL P 1 16.438 37.059 42.749 1.00 0.00 H +HETATM 1142 C2 MOL P 1 14.441 36.959 43.295 1.00 0.00 C +HETATM 1143 H2 MOL P 1 14.642 37.726 44.039 1.00 0.00 H +HETATM 1144 C3 MOL P 1 13.231 36.230 43.184 1.00 0.00 C +HETATM 1145 H3 MOL P 1 12.463 36.440 43.925 1.00 0.00 H +HETATM 1146 C4 MOL P 1 13.005 35.303 42.191 1.00 0.00 C +HETATM 1147 H4 MOL P 1 12.056 34.775 42.153 1.00 0.00 H +HETATM 1148 C5 MOL P 1 14.004 35.165 41.239 1.00 0.00 C +HETATM 1149 H5 MOL P 1 14.005 34.431 40.438 1.00 0.00 H +HETATM 1150 C6 MOL P 1 15.229 35.759 41.443 1.00 0.00 C +HETATM 1151 C7 MOL P 1 16.419 35.335 40.626 1.00 0.00 C +HETATM 1152 H6 MOL P 1 16.270 34.300 40.306 1.00 0.00 H +HETATM 1153 H7 MOL P 1 17.358 35.476 41.167 1.00 0.00 H +HETATM 1154 O1 MOL P 1 16.641 36.045 39.394 1.00 0.00 O +HETATM 1155 H8 MOL P 1 15.794 35.867 38.947 1.00 0.00 H +TER 1156 MOL P 1 +HETATM 1157 C1 MOL Q 1 22.811 27.702 15.296 1.00 0.00 C +HETATM 1158 H1 MOL Q 1 21.734 27.826 15.371 1.00 0.00 H +HETATM 1159 C2 MOL Q 1 23.339 26.431 15.600 1.00 0.00 C +HETATM 1160 H2 MOL Q 1 22.674 25.631 15.916 1.00 0.00 H +HETATM 1161 C3 MOL Q 1 24.723 26.252 15.522 1.00 0.00 C +HETATM 1162 H3 MOL Q 1 25.061 25.253 15.787 1.00 0.00 H +HETATM 1163 C4 MOL Q 1 25.566 27.275 15.113 1.00 0.00 C +HETATM 1164 H4 MOL Q 1 26.647 27.165 15.075 1.00 0.00 H +HETATM 1165 C5 MOL Q 1 25.092 28.489 14.860 1.00 0.00 C +HETATM 1166 H5 MOL Q 1 25.724 29.310 14.533 1.00 0.00 H +HETATM 1167 C6 MOL Q 1 23.700 28.750 14.965 1.00 0.00 C +HETATM 1168 C7 MOL Q 1 23.125 30.128 14.903 1.00 0.00 C +HETATM 1169 H6 MOL Q 1 23.969 30.821 14.947 1.00 0.00 H +HETATM 1170 H7 MOL Q 1 22.411 30.428 15.675 1.00 0.00 H +HETATM 1171 O1 MOL Q 1 22.395 30.344 13.646 1.00 0.00 O +HETATM 1172 H8 MOL Q 1 22.846 29.827 12.955 1.00 0.00 H +TER 1173 MOL Q 1 +HETATM 1174 C1 MOL R 1 41.827 5.624 -1.389 1.00 0.00 C +HETATM 1175 H1 MOL R 1 42.113 4.735 -1.947 1.00 0.00 H +HETATM 1176 C2 MOL R 1 42.338 6.888 -1.706 1.00 0.00 C +HETATM 1177 H2 MOL R 1 43.025 7.078 -2.527 1.00 0.00 H +HETATM 1178 C3 MOL R 1 42.091 7.998 -0.852 1.00 0.00 C +HETATM 1179 H3 MOL R 1 42.664 8.907 -1.016 1.00 0.00 H +HETATM 1180 C4 MOL R 1 41.408 7.781 0.368 1.00 0.00 C +HETATM 1181 H4 MOL R 1 41.354 8.562 1.122 1.00 0.00 H +HETATM 1182 C5 MOL R 1 40.839 6.502 0.673 1.00 0.00 C +HETATM 1183 H5 MOL R 1 40.279 6.368 1.596 1.00 0.00 H +HETATM 1184 C6 MOL R 1 41.013 5.507 -0.257 1.00 0.00 C +HETATM 1185 C7 MOL R 1 40.399 4.152 0.124 1.00 0.00 C +HETATM 1186 H6 MOL R 1 40.861 3.742 1.025 1.00 0.00 H +HETATM 1187 H7 MOL R 1 40.442 3.471 -0.730 1.00 0.00 H +HETATM 1188 O1 MOL R 1 38.970 4.108 0.255 1.00 0.00 O +HETATM 1189 H8 MOL R 1 38.643 4.785 -0.364 1.00 0.00 H +TER 1190 MOL R 1 +HETATM 1191 C1 MOL S 1 7.612 4.549 24.302 1.00 0.00 C +HETATM 1192 H1 MOL S 1 6.617 4.742 24.697 1.00 0.00 H +HETATM 1193 C2 MOL S 1 8.658 4.123 25.124 1.00 0.00 C +HETATM 1194 H2 MOL S 1 8.492 3.916 26.178 1.00 0.00 H +HETATM 1195 C3 MOL S 1 9.897 3.810 24.658 1.00 0.00 C +HETATM 1196 H3 MOL S 1 10.752 3.640 25.308 1.00 0.00 H +HETATM 1197 C4 MOL S 1 10.150 3.985 23.287 1.00 0.00 C +HETATM 1198 H4 MOL S 1 11.152 3.764 22.928 1.00 0.00 H +HETATM 1199 C5 MOL S 1 9.202 4.536 22.466 1.00 0.00 C +HETATM 1200 H5 MOL S 1 9.310 4.679 21.394 1.00 0.00 H +HETATM 1201 C6 MOL S 1 7.911 4.765 22.930 1.00 0.00 C +HETATM 1202 C7 MOL S 1 6.927 5.196 21.871 1.00 0.00 C +HETATM 1203 H6 MOL S 1 7.372 6.001 21.281 1.00 0.00 H +HETATM 1204 H7 MOL S 1 6.012 5.561 22.344 1.00 0.00 H +HETATM 1205 O1 MOL S 1 6.395 4.168 21.081 1.00 0.00 O +HETATM 1206 H8 MOL S 1 6.800 3.358 21.440 1.00 0.00 H +TER 1207 MOL S 1 +HETATM 1208 C1 MOL T 1 32.314 23.119 13.800 1.00 0.00 C +HETATM 1209 H1 MOL T 1 32.009 24.151 13.951 1.00 0.00 H +HETATM 1210 C2 MOL T 1 31.554 22.295 12.932 1.00 0.00 C +HETATM 1211 H2 MOL T 1 30.808 22.793 12.319 1.00 0.00 H +HETATM 1212 C3 MOL T 1 31.891 21.013 12.689 1.00 0.00 C +HETATM 1213 H3 MOL T 1 31.250 20.371 12.089 1.00 0.00 H +HETATM 1214 C4 MOL T 1 33.004 20.526 13.389 1.00 0.00 C +HETATM 1215 H4 MOL T 1 33.278 19.474 13.402 1.00 0.00 H +HETATM 1216 C5 MOL T 1 33.856 21.294 14.198 1.00 0.00 C +HETATM 1217 H5 MOL T 1 34.659 20.861 14.789 1.00 0.00 H +HETATM 1218 C6 MOL T 1 33.475 22.616 14.410 1.00 0.00 C +HETATM 1219 C7 MOL T 1 34.123 23.412 15.544 1.00 0.00 C +HETATM 1220 H6 MOL T 1 34.397 24.444 15.311 1.00 0.00 H +HETATM 1221 H7 MOL T 1 35.097 22.985 15.797 1.00 0.00 H +HETATM 1222 O1 MOL T 1 33.314 23.584 16.738 1.00 0.00 O +HETATM 1223 H8 MOL T 1 33.699 24.323 17.242 1.00 0.00 H +TER 1224 MOL T 1 +HETATM 1225 C1 MOL U 1 15.869 35.794 24.300 1.00 0.00 C +HETATM 1226 H1 MOL U 1 15.236 34.996 24.681 1.00 0.00 H +HETATM 1227 C2 MOL U 1 15.344 37.072 24.434 1.00 0.00 C +HETATM 1228 H2 MOL U 1 14.377 37.222 24.907 1.00 0.00 H +HETATM 1229 C3 MOL U 1 15.983 38.131 23.831 1.00 0.00 C +HETATM 1230 H3 MOL U 1 15.497 39.102 23.782 1.00 0.00 H +HETATM 1231 C4 MOL U 1 17.189 37.911 23.193 1.00 0.00 C +HETATM 1232 H4 MOL U 1 17.780 38.772 22.892 1.00 0.00 H +HETATM 1233 C5 MOL U 1 17.713 36.651 22.964 1.00 0.00 C +HETATM 1234 H5 MOL U 1 18.624 36.530 22.384 1.00 0.00 H +HETATM 1235 C6 MOL U 1 17.045 35.558 23.590 1.00 0.00 C +HETATM 1236 C7 MOL U 1 17.598 34.121 23.498 1.00 0.00 C +HETATM 1237 H6 MOL U 1 17.340 33.531 24.381 1.00 0.00 H +HETATM 1238 H7 MOL U 1 18.669 34.197 23.295 1.00 0.00 H +HETATM 1239 O1 MOL U 1 17.217 33.403 22.379 1.00 0.00 O +HETATM 1240 H8 MOL U 1 17.649 32.532 22.435 1.00 0.00 H +TER 1241 MOL U 1 +HETATM 1242 C1 MOL V 1 22.706 42.420 22.394 1.00 0.00 C +HETATM 1243 H1 MOL V 1 22.995 43.216 23.075 1.00 0.00 H +HETATM 1244 C2 MOL V 1 23.254 42.208 21.089 1.00 0.00 C +HETATM 1245 H2 MOL V 1 23.922 42.985 20.726 1.00 0.00 H +HETATM 1246 C3 MOL V 1 22.871 41.161 20.295 1.00 0.00 C +HETATM 1247 H3 MOL V 1 23.315 41.054 19.308 1.00 0.00 H +HETATM 1248 C4 MOL V 1 22.072 40.197 20.879 1.00 0.00 C +HETATM 1249 H4 MOL V 1 21.833 39.288 20.334 1.00 0.00 H +HETATM 1250 C5 MOL V 1 21.399 40.422 22.103 1.00 0.00 C +HETATM 1251 H5 MOL V 1 20.815 39.619 22.545 1.00 0.00 H +HETATM 1252 C6 MOL V 1 21.766 41.494 22.921 1.00 0.00 C +HETATM 1253 C7 MOL V 1 21.167 41.588 24.343 1.00 0.00 C +HETATM 1254 H6 MOL V 1 20.564 40.688 24.488 1.00 0.00 H +HETATM 1255 H7 MOL V 1 20.567 42.451 24.645 1.00 0.00 H +HETATM 1256 O1 MOL V 1 22.088 41.563 25.396 1.00 0.00 O +HETATM 1257 H8 MOL V 1 22.567 40.730 25.236 1.00 0.00 H +TER 1258 MOL V 1 +HETATM 1259 C1 MOL W 1 16.786 7.652 15.854 1.00 0.00 C +HETATM 1260 H1 MOL W 1 17.370 8.167 16.612 1.00 0.00 H +HETATM 1261 C2 MOL W 1 17.331 6.465 15.381 1.00 0.00 C +HETATM 1262 H2 MOL W 1 18.325 6.139 15.676 1.00 0.00 H +HETATM 1263 C3 MOL W 1 16.574 5.690 14.449 1.00 0.00 C +HETATM 1264 H3 MOL W 1 16.981 4.702 14.252 1.00 0.00 H +HETATM 1265 C4 MOL W 1 15.428 6.211 13.888 1.00 0.00 C +HETATM 1266 H4 MOL W 1 14.882 5.596 13.177 1.00 0.00 H +HETATM 1267 C5 MOL W 1 14.892 7.446 14.318 1.00 0.00 C +HETATM 1268 H5 MOL W 1 13.897 7.767 14.022 1.00 0.00 H +HETATM 1269 C6 MOL W 1 15.527 8.158 15.354 1.00 0.00 C +HETATM 1270 C7 MOL W 1 14.994 9.449 15.951 1.00 0.00 C +HETATM 1271 H6 MOL W 1 14.865 10.139 15.113 1.00 0.00 H +HETATM 1272 H7 MOL W 1 15.697 9.730 16.739 1.00 0.00 H +HETATM 1273 O1 MOL W 1 13.678 9.350 16.497 1.00 0.00 O +HETATM 1274 H8 MOL W 1 13.710 8.668 17.191 1.00 0.00 H +TER 1275 MOL W 1 +HETATM 1276 C1 MOL X 1 35.069 31.405 12.541 1.00 0.00 C +HETATM 1277 H1 MOL X 1 35.448 31.531 13.552 1.00 0.00 H +HETATM 1278 C2 MOL X 1 35.626 30.447 11.694 1.00 0.00 C +HETATM 1279 H2 MOL X 1 36.308 29.672 12.035 1.00 0.00 H +HETATM 1280 C3 MOL X 1 35.156 30.356 10.366 1.00 0.00 C +HETATM 1281 H3 MOL X 1 35.392 29.516 9.718 1.00 0.00 H +HETATM 1282 C4 MOL X 1 34.254 31.240 9.917 1.00 0.00 C +HETATM 1283 H4 MOL X 1 33.799 31.120 8.937 1.00 0.00 H +HETATM 1284 C5 MOL X 1 33.837 32.307 10.616 1.00 0.00 C +HETATM 1285 H5 MOL X 1 33.144 33.023 10.182 1.00 0.00 H +HETATM 1286 C6 MOL X 1 34.205 32.386 11.991 1.00 0.00 C +HETATM 1287 C7 MOL X 1 33.912 33.593 12.901 1.00 0.00 C +HETATM 1288 H6 MOL X 1 33.404 33.283 13.818 1.00 0.00 H +HETATM 1289 H7 MOL X 1 33.246 34.286 12.381 1.00 0.00 H +HETATM 1290 O1 MOL X 1 35.120 34.360 13.262 1.00 0.00 O +HETATM 1291 H8 MOL X 1 35.459 34.693 12.411 1.00 0.00 H +TER 1292 MOL X 1 +HETATM 1293 C1 MOL Y 1 42.374 22.246 9.433 1.00 0.00 C +HETATM 1294 H1 MOL Y 1 41.404 22.422 9.891 1.00 0.00 H +HETATM 1295 C2 MOL Y 1 42.723 22.615 8.108 1.00 0.00 C +HETATM 1296 H2 MOL Y 1 42.032 23.330 7.668 1.00 0.00 H +HETATM 1297 C3 MOL Y 1 43.931 22.243 7.559 1.00 0.00 C +HETATM 1298 H3 MOL Y 1 44.249 22.601 6.583 1.00 0.00 H +HETATM 1299 C4 MOL Y 1 44.837 21.478 8.228 1.00 0.00 C +HETATM 1300 H4 MOL Y 1 45.749 21.168 7.724 1.00 0.00 H +HETATM 1301 C5 MOL Y 1 44.488 20.999 9.494 1.00 0.00 C +HETATM 1302 H5 MOL Y 1 45.048 20.230 10.019 1.00 0.00 H +HETATM 1303 C6 MOL Y 1 43.261 21.333 10.062 1.00 0.00 C +HETATM 1304 C7 MOL Y 1 42.847 20.809 11.499 1.00 0.00 C +HETATM 1305 H6 MOL Y 1 42.570 21.669 12.115 1.00 0.00 H +HETATM 1306 H7 MOL Y 1 43.709 20.449 12.067 1.00 0.00 H +HETATM 1307 O1 MOL Y 1 41.737 19.890 11.692 1.00 0.00 O +HETATM 1308 H8 MOL Y 1 41.044 20.202 11.083 1.00 0.00 H +TER 1309 MOL Y 1 +HETATM 1310 C1 MOL Z 1 35.038 13.764 43.666 1.00 0.00 C +HETATM 1311 H1 MOL Z 1 35.884 13.708 42.986 1.00 0.00 H +HETATM 1312 C2 MOL Z 1 34.794 14.868 44.454 1.00 0.00 C +HETATM 1313 H2 MOL Z 1 35.436 15.740 44.355 1.00 0.00 H +HETATM 1314 C3 MOL Z 1 33.776 14.866 45.369 1.00 0.00 C +HETATM 1315 H3 MOL Z 1 33.478 15.776 45.882 1.00 0.00 H +HETATM 1316 C4 MOL Z 1 32.985 13.704 45.510 1.00 0.00 C +HETATM 1317 H4 MOL Z 1 32.227 13.764 46.287 1.00 0.00 H +HETATM 1318 C5 MOL Z 1 33.364 12.488 44.849 1.00 0.00 C +HETATM 1319 H5 MOL Z 1 32.730 11.607 44.910 1.00 0.00 H +HETATM 1320 C6 MOL Z 1 34.366 12.532 43.886 1.00 0.00 C +HETATM 1321 C7 MOL Z 1 34.558 11.299 42.977 1.00 0.00 C +HETATM 1322 H6 MOL Z 1 33.810 10.517 43.130 1.00 0.00 H +HETATM 1323 H7 MOL Z 1 35.529 10.876 43.248 1.00 0.00 H +HETATM 1324 O1 MOL Z 1 34.554 11.595 41.646 1.00 0.00 O +HETATM 1325 H8 MOL Z 1 33.865 12.233 41.388 1.00 0.00 H +TER 1326 MOL Z 1 +HETATM 1327 C1 MOL A 1 37.823 6.630 19.713 1.00 0.00 C +HETATM 1328 H1 MOL A 1 36.931 6.039 19.521 1.00 0.00 H +HETATM 1329 C2 MOL A 1 38.807 6.236 20.536 1.00 0.00 C +HETATM 1330 H2 MOL A 1 38.644 5.319 21.096 1.00 0.00 H +HETATM 1331 C3 MOL A 1 39.974 7.035 20.687 1.00 0.00 C +HETATM 1332 H3 MOL A 1 40.798 6.656 21.286 1.00 0.00 H +HETATM 1333 C4 MOL A 1 40.054 8.272 20.069 1.00 0.00 C +HETATM 1334 H4 MOL A 1 40.900 8.943 20.195 1.00 0.00 H +HETATM 1335 C5 MOL A 1 39.079 8.670 19.248 1.00 0.00 C +HETATM 1336 H5 MOL A 1 39.129 9.680 18.848 1.00 0.00 H +HETATM 1337 C6 MOL A 1 37.948 7.877 19.018 1.00 0.00 C +HETATM 1338 C7 MOL A 1 36.846 8.382 18.111 1.00 0.00 C +HETATM 1339 H6 MOL A 1 36.552 7.539 17.481 1.00 0.00 H +HETATM 1340 H7 MOL A 1 37.371 9.076 17.450 1.00 0.00 H +HETATM 1341 O1 MOL A 1 35.768 8.809 18.895 1.00 0.00 O +HETATM 1342 H8 MOL A 1 35.565 8.128 19.562 1.00 0.00 H +TER 1343 MOL A 1 +HETATM 1344 C1 MOL B 1 43.793 19.683 40.168 1.00 0.00 C +HETATM 1345 H1 MOL B 1 44.248 18.779 39.771 1.00 0.00 H +HETATM 1346 C2 MOL B 1 42.790 19.539 41.078 1.00 0.00 C +HETATM 1347 H2 MOL B 1 42.478 18.559 41.430 1.00 0.00 H +HETATM 1348 C3 MOL B 1 42.173 20.697 41.699 1.00 0.00 C +HETATM 1349 H3 MOL B 1 41.308 20.771 42.354 1.00 0.00 H +HETATM 1350 C4 MOL B 1 42.686 21.954 41.306 1.00 0.00 C +HETATM 1351 H4 MOL B 1 42.257 22.865 41.715 1.00 0.00 H +HETATM 1352 C5 MOL B 1 43.844 22.027 40.475 1.00 0.00 C +HETATM 1353 H5 MOL B 1 44.391 22.949 40.294 1.00 0.00 H +HETATM 1354 C6 MOL B 1 44.371 20.899 39.890 1.00 0.00 C +HETATM 1355 C7 MOL B 1 45.538 20.943 38.977 1.00 0.00 C +HETATM 1356 H6 MOL B 1 46.116 20.018 38.914 1.00 0.00 H +HETATM 1357 H7 MOL B 1 46.256 21.734 39.208 1.00 0.00 H +HETATM 1358 O1 MOL B 1 45.222 21.295 37.564 1.00 0.00 O +HETATM 1359 H8 MOL B 1 45.874 20.826 37.013 1.00 0.00 H +TER 1360 MOL B 1 +HETATM 1361 C1 MOL C 1 14.500 9.279 10.844 1.00 0.00 C +HETATM 1362 H1 MOL C 1 13.422 9.400 10.904 1.00 0.00 H +HETATM 1363 C2 MOL C 1 15.307 9.506 11.928 1.00 0.00 C +HETATM 1364 H2 MOL C 1 14.898 9.847 12.875 1.00 0.00 H +HETATM 1365 C3 MOL C 1 16.725 9.379 11.823 1.00 0.00 C +HETATM 1366 H3 MOL C 1 17.398 9.417 12.676 1.00 0.00 H +HETATM 1367 C4 MOL C 1 17.248 9.000 10.604 1.00 0.00 C +HETATM 1368 H4 MOL C 1 18.293 8.703 10.581 1.00 0.00 H +HETATM 1369 C5 MOL C 1 16.424 8.808 9.493 1.00 0.00 C +HETATM 1370 H5 MOL C 1 16.858 8.491 8.548 1.00 0.00 H +HETATM 1371 C6 MOL C 1 15.035 9.011 9.595 1.00 0.00 C +HETATM 1372 C7 MOL C 1 14.047 8.923 8.424 1.00 0.00 C +HETATM 1373 H6 MOL C 1 13.460 8.011 8.552 1.00 0.00 H +HETATM 1374 H7 MOL C 1 14.695 8.785 7.554 1.00 0.00 H +HETATM 1375 O1 MOL C 1 13.079 10.026 8.194 1.00 0.00 O +HETATM 1376 H8 MOL C 1 13.612 10.812 7.980 1.00 0.00 H +TER 1377 MOL C 1 +HETATM 1378 C1 MOL D 1 22.196 35.965 39.986 1.00 0.00 C +HETATM 1379 H1 MOL D 1 21.524 35.907 39.134 1.00 0.00 H +HETATM 1380 C2 MOL D 1 23.512 35.452 39.904 1.00 0.00 C +HETATM 1381 H2 MOL D 1 23.854 35.057 38.951 1.00 0.00 H +HETATM 1382 C3 MOL D 1 24.420 35.542 40.943 1.00 0.00 C +HETATM 1383 H3 MOL D 1 25.437 35.182 40.806 1.00 0.00 H +HETATM 1384 C4 MOL D 1 24.052 36.239 42.134 1.00 0.00 C +HETATM 1385 H4 MOL D 1 24.740 36.395 42.961 1.00 0.00 H +HETATM 1386 C5 MOL D 1 22.742 36.704 42.258 1.00 0.00 C +HETATM 1387 H5 MOL D 1 22.455 37.140 43.211 1.00 0.00 H +HETATM 1388 C6 MOL D 1 21.766 36.484 41.211 1.00 0.00 C +HETATM 1389 C7 MOL D 1 20.336 37.038 41.380 1.00 0.00 C +HETATM 1390 H6 MOL D 1 19.819 36.932 40.423 1.00 0.00 H +HETATM 1391 H7 MOL D 1 20.378 38.108 41.599 1.00 0.00 H +HETATM 1392 O1 MOL D 1 19.509 36.275 42.337 1.00 0.00 O +HETATM 1393 H8 MOL D 1 20.085 36.067 43.094 1.00 0.00 H +TER 1394 MOL D 1 +HETATM 1395 C1 MOL E 1 2.029 12.034 27.338 1.00 0.00 C +HETATM 1396 H1 MOL E 1 2.343 12.833 26.672 1.00 0.00 H +HETATM 1397 C2 MOL E 1 2.932 11.697 28.325 1.00 0.00 C +HETATM 1398 H2 MOL E 1 3.857 12.259 28.430 1.00 0.00 H +HETATM 1399 C3 MOL E 1 2.584 10.757 29.301 1.00 0.00 C +HETATM 1400 H3 MOL E 1 3.266 10.462 30.095 1.00 0.00 H +HETATM 1401 C4 MOL E 1 1.438 10.010 29.171 1.00 0.00 C +HETATM 1402 H4 MOL E 1 1.155 9.301 29.944 1.00 0.00 H +HETATM 1403 C5 MOL E 1 0.529 10.260 28.154 1.00 0.00 C +HETATM 1404 H5 MOL E 1 -0.318 9.596 28.000 1.00 0.00 H +HETATM 1405 C6 MOL E 1 0.760 11.352 27.236 1.00 0.00 C +HETATM 1406 C7 MOL E 1 -0.237 11.704 26.142 1.00 0.00 C +HETATM 1407 H6 MOL E 1 -1.263 11.421 26.391 1.00 0.00 H +HETATM 1408 H7 MOL E 1 0.047 11.175 25.229 1.00 0.00 H +HETATM 1409 O1 MOL E 1 -0.243 13.066 25.784 1.00 0.00 O +HETATM 1410 H8 MOL E 1 -1.148 13.421 25.842 1.00 0.00 H +TER 1411 MOL E 1 +HETATM 1412 C1 MOL F 1 7.118 28.897 35.811 1.00 0.00 C +HETATM 1413 H1 MOL F 1 7.842 28.675 36.591 1.00 0.00 H +HETATM 1414 C2 MOL F 1 6.666 27.843 35.008 1.00 0.00 C +HETATM 1415 H2 MOL F 1 6.886 26.801 35.226 1.00 0.00 H +HETATM 1416 C3 MOL F 1 5.815 28.115 33.960 1.00 0.00 C +HETATM 1417 H3 MOL F 1 5.588 27.204 33.412 1.00 0.00 H +HETATM 1418 C4 MOL F 1 5.375 29.427 33.706 1.00 0.00 C +HETATM 1419 H4 MOL F 1 4.655 29.538 32.899 1.00 0.00 H +HETATM 1420 C5 MOL F 1 5.773 30.394 34.548 1.00 0.00 C +HETATM 1421 H5 MOL F 1 5.472 31.422 34.365 1.00 0.00 H +HETATM 1422 C6 MOL F 1 6.649 30.174 35.604 1.00 0.00 C +HETATM 1423 C7 MOL F 1 7.218 31.362 36.382 1.00 0.00 C +HETATM 1424 H6 MOL F 1 7.367 32.198 35.694 1.00 0.00 H +HETATM 1425 H7 MOL F 1 8.217 31.109 36.746 1.00 0.00 H +HETATM 1426 O1 MOL F 1 6.373 31.741 37.445 1.00 0.00 O +HETATM 1427 H8 MOL F 1 6.588 31.212 38.234 1.00 0.00 H +TER 1428 MOL F 1 +HETATM 1429 C1 MOL G 1 38.553 17.451 2.206 1.00 0.00 C +HETATM 1430 H1 MOL G 1 39.355 16.741 2.020 1.00 0.00 H +HETATM 1431 C2 MOL G 1 37.322 17.209 1.615 1.00 0.00 C +HETATM 1432 H2 MOL G 1 37.272 16.315 0.999 1.00 0.00 H +HETATM 1433 C3 MOL G 1 36.296 17.998 1.871 1.00 0.00 C +HETATM 1434 H3 MOL G 1 35.383 17.611 1.425 1.00 0.00 H +HETATM 1435 C4 MOL G 1 36.381 19.111 2.623 1.00 0.00 C +HETATM 1436 H4 MOL G 1 35.521 19.745 2.820 1.00 0.00 H +HETATM 1437 C5 MOL G 1 37.610 19.369 3.284 1.00 0.00 C +HETATM 1438 H5 MOL G 1 37.658 20.194 3.990 1.00 0.00 H +HETATM 1439 C6 MOL G 1 38.689 18.517 3.067 1.00 0.00 C +HETATM 1440 C7 MOL G 1 40.015 18.597 3.828 1.00 0.00 C +HETATM 1441 H6 MOL G 1 39.990 19.472 4.483 1.00 0.00 H +HETATM 1442 H7 MOL G 1 40.878 18.643 3.159 1.00 0.00 H +HETATM 1443 O1 MOL G 1 40.309 17.474 4.695 1.00 0.00 O +HETATM 1444 H8 MOL G 1 40.749 16.819 4.124 1.00 0.00 H +TER 1445 MOL G 1 +HETATM 1446 C1 MOL H 1 0.140 35.743 23.304 1.00 0.00 C +HETATM 1447 H1 MOL H 1 -0.125 34.743 22.969 1.00 0.00 H +HETATM 1448 C2 MOL H 1 0.076 36.796 22.446 1.00 0.00 C +HETATM 1449 H2 MOL H 1 -0.202 36.560 21.422 1.00 0.00 H +HETATM 1450 C3 MOL H 1 0.564 38.027 22.777 1.00 0.00 C +HETATM 1451 H3 MOL H 1 0.459 38.796 22.016 1.00 0.00 H +HETATM 1452 C4 MOL H 1 1.096 38.177 24.022 1.00 0.00 C +HETATM 1453 H4 MOL H 1 1.514 39.159 24.224 1.00 0.00 H +HETATM 1454 C5 MOL H 1 1.064 37.173 24.965 1.00 0.00 C +HETATM 1455 H5 MOL H 1 1.479 37.350 25.953 1.00 0.00 H +HETATM 1456 C6 MOL H 1 0.579 35.934 24.578 1.00 0.00 C +HETATM 1457 C7 MOL H 1 0.670 34.761 25.576 1.00 0.00 C +HETATM 1458 H6 MOL H 1 0.632 33.831 25.001 1.00 0.00 H +HETATM 1459 H7 MOL H 1 -0.264 34.835 26.140 1.00 0.00 H +HETATM 1460 O1 MOL H 1 1.790 34.869 26.447 1.00 0.00 O +HETATM 1461 H8 MOL H 1 1.863 34.088 27.025 1.00 0.00 H +TER 1462 MOL H 1 +HETATM 1463 C1 MOL I 1 15.955 32.656 43.936 1.00 0.00 C +HETATM 1464 H1 MOL I 1 16.812 33.001 44.509 1.00 0.00 H +HETATM 1465 C2 MOL I 1 16.150 31.784 42.881 1.00 0.00 C +HETATM 1466 H2 MOL I 1 17.177 31.558 42.605 1.00 0.00 H +HETATM 1467 C3 MOL I 1 15.057 31.241 42.272 1.00 0.00 C +HETATM 1468 H3 MOL I 1 15.181 30.460 41.526 1.00 0.00 H +HETATM 1469 C4 MOL I 1 13.761 31.550 42.715 1.00 0.00 C +HETATM 1470 H4 MOL I 1 12.861 31.031 42.395 1.00 0.00 H +HETATM 1471 C5 MOL I 1 13.618 32.610 43.693 1.00 0.00 C +HETATM 1472 H5 MOL I 1 12.663 32.836 44.158 1.00 0.00 H +HETATM 1473 C6 MOL I 1 14.698 33.130 44.304 1.00 0.00 C +HETATM 1474 C7 MOL I 1 14.482 33.862 45.600 1.00 0.00 C +HETATM 1475 H6 MOL I 1 15.152 33.526 46.395 1.00 0.00 H +HETATM 1476 H7 MOL I 1 13.451 33.665 45.906 1.00 0.00 H +HETATM 1477 O1 MOL I 1 14.765 35.226 45.491 1.00 0.00 O +HETATM 1478 H8 MOL I 1 14.505 35.536 44.605 1.00 0.00 H +TER 1479 MOL I 1 +HETATM 1480 C1 MOL J 1 28.829 13.840 35.350 1.00 0.00 C +HETATM 1481 H1 MOL J 1 28.170 13.361 34.629 1.00 0.00 H +HETATM 1482 C2 MOL J 1 28.390 14.912 36.162 1.00 0.00 C +HETATM 1483 H2 MOL J 1 27.353 15.236 36.127 1.00 0.00 H +HETATM 1484 C3 MOL J 1 29.326 15.526 37.029 1.00 0.00 C +HETATM 1485 H3 MOL J 1 29.063 16.456 37.527 1.00 0.00 H +HETATM 1486 C4 MOL J 1 30.613 14.992 37.274 1.00 0.00 C +HETATM 1487 H4 MOL J 1 31.226 15.339 38.101 1.00 0.00 H +HETATM 1488 C5 MOL J 1 30.958 13.834 36.515 1.00 0.00 C +HETATM 1489 H5 MOL J 1 31.912 13.345 36.698 1.00 0.00 H +HETATM 1490 C6 MOL J 1 30.113 13.265 35.585 1.00 0.00 C +HETATM 1491 C7 MOL J 1 30.579 11.959 34.938 1.00 0.00 C +HETATM 1492 H6 MOL J 1 31.668 12.038 34.875 1.00 0.00 H +HETATM 1493 H7 MOL J 1 30.174 11.818 33.932 1.00 0.00 H +HETATM 1494 O1 MOL J 1 30.285 10.795 35.725 1.00 0.00 O +HETATM 1495 H8 MOL J 1 31.011 10.849 36.372 1.00 0.00 H +TER 1496 MOL J 1 +HETATM 1497 C1 MOL K 1 -0.046 35.983 14.481 1.00 0.00 C +HETATM 1498 H1 MOL K 1 -0.999 36.463 14.689 1.00 0.00 H +HETATM 1499 C2 MOL K 1 1.164 36.679 14.796 1.00 0.00 C +HETATM 1500 H2 MOL K 1 1.074 37.671 15.231 1.00 0.00 H +HETATM 1501 C3 MOL K 1 2.470 36.159 14.605 1.00 0.00 C +HETATM 1502 H3 MOL K 1 3.382 36.705 14.832 1.00 0.00 H +HETATM 1503 C4 MOL K 1 2.518 34.886 13.982 1.00 0.00 C +HETATM 1504 H4 MOL K 1 3.501 34.421 13.956 1.00 0.00 H +HETATM 1505 C5 MOL K 1 1.397 34.323 13.414 1.00 0.00 C +HETATM 1506 H5 MOL K 1 1.415 33.336 12.959 1.00 0.00 H +HETATM 1507 C6 MOL K 1 0.087 34.816 13.710 1.00 0.00 C +HETATM 1508 C7 MOL K 1 -0.997 34.130 13.010 1.00 0.00 C +HETATM 1509 H6 MOL K 1 -0.647 33.427 12.250 1.00 0.00 H +HETATM 1510 H7 MOL K 1 -1.670 34.834 12.515 1.00 0.00 H +HETATM 1511 O1 MOL K 1 -1.822 33.475 14.011 1.00 0.00 O +HETATM 1512 H8 MOL K 1 -1.154 32.911 14.439 1.00 0.00 H +TER 1513 MOL K 1 +HETATM 1514 C1 MOL L 1 15.695 23.974 28.146 1.00 0.00 C +HETATM 1515 H1 MOL L 1 15.877 23.100 28.767 1.00 0.00 H +HETATM 1516 C2 MOL L 1 16.691 24.987 28.062 1.00 0.00 C +HETATM 1517 H2 MOL L 1 17.637 24.846 28.577 1.00 0.00 H +HETATM 1518 C3 MOL L 1 16.477 26.025 27.226 1.00 0.00 C +HETATM 1519 H3 MOL L 1 17.286 26.746 27.136 1.00 0.00 H +HETATM 1520 C4 MOL L 1 15.280 26.212 26.509 1.00 0.00 C +HETATM 1521 H4 MOL L 1 15.217 27.037 25.804 1.00 0.00 H +HETATM 1522 C5 MOL L 1 14.315 25.226 26.568 1.00 0.00 C +HETATM 1523 H5 MOL L 1 13.432 25.274 25.935 1.00 0.00 H +HETATM 1524 C6 MOL L 1 14.553 24.083 27.383 1.00 0.00 C +HETATM 1525 C7 MOL L 1 13.533 22.928 27.336 1.00 0.00 C +HETATM 1526 H6 MOL L 1 13.073 22.977 28.326 1.00 0.00 H +HETATM 1527 H7 MOL L 1 13.938 21.915 27.280 1.00 0.00 H +HETATM 1528 O1 MOL L 1 12.476 22.979 26.360 1.00 0.00 O +HETATM 1529 H8 MOL L 1 12.957 22.910 25.516 1.00 0.00 H +TER 1530 MOL L 1 +HETATM 1531 C1 MOL M 1 29.602 8.168 12.387 1.00 0.00 C +HETATM 1532 H1 MOL M 1 30.598 8.321 11.978 1.00 0.00 H +HETATM 1533 C2 MOL M 1 29.071 6.951 12.423 1.00 0.00 C +HETATM 1534 H2 MOL M 1 29.696 6.179 11.981 1.00 0.00 H +HETATM 1535 C3 MOL M 1 27.756 6.702 12.891 1.00 0.00 C +HETATM 1536 H3 MOL M 1 27.507 5.644 12.928 1.00 0.00 H +HETATM 1537 C4 MOL M 1 27.038 7.785 13.249 1.00 0.00 C +HETATM 1538 H4 MOL M 1 25.977 7.740 13.480 1.00 0.00 H +HETATM 1539 C5 MOL M 1 27.613 9.061 13.312 1.00 0.00 C +HETATM 1540 H5 MOL M 1 27.034 9.916 13.653 1.00 0.00 H +HETATM 1541 C6 MOL M 1 28.864 9.289 12.812 1.00 0.00 C +HETATM 1542 C7 MOL M 1 29.454 10.685 12.696 1.00 0.00 C +HETATM 1543 H6 MOL M 1 28.646 11.419 12.639 1.00 0.00 H +HETATM 1544 H7 MOL M 1 30.013 10.785 11.762 1.00 0.00 H +HETATM 1545 O1 MOL M 1 30.374 11.014 13.728 1.00 0.00 O +HETATM 1546 H8 MOL M 1 30.331 11.987 13.705 1.00 0.00 H +TER 1547 MOL M 1 +HETATM 1548 C1 MOL N 1 28.253 25.922 31.960 1.00 0.00 C +HETATM 1549 H1 MOL N 1 27.851 26.616 31.226 1.00 0.00 H +HETATM 1550 C2 MOL N 1 27.539 25.560 33.077 1.00 0.00 C +HETATM 1551 H2 MOL N 1 26.597 26.055 33.296 1.00 0.00 H +HETATM 1552 C3 MOL N 1 27.975 24.567 33.958 1.00 0.00 C +HETATM 1553 H3 MOL N 1 27.480 24.341 34.899 1.00 0.00 H +HETATM 1554 C4 MOL N 1 29.134 23.853 33.652 1.00 0.00 C +HETATM 1555 H4 MOL N 1 29.427 22.984 34.236 1.00 0.00 H +HETATM 1556 C5 MOL N 1 29.898 24.334 32.555 1.00 0.00 C +HETATM 1557 H5 MOL N 1 30.852 23.891 32.281 1.00 0.00 H +HETATM 1558 C6 MOL N 1 29.473 25.389 31.803 1.00 0.00 C +HETATM 1559 C7 MOL N 1 30.313 25.797 30.638 1.00 0.00 C +HETATM 1560 H6 MOL N 1 29.672 26.056 29.792 1.00 0.00 H +HETATM 1561 H7 MOL N 1 30.853 24.939 30.227 1.00 0.00 H +HETATM 1562 O1 MOL N 1 31.338 26.779 30.945 1.00 0.00 O +HETATM 1563 H8 MOL N 1 32.008 26.403 31.542 1.00 0.00 H +TER 1564 MOL N 1 +HETATM 1565 C1 MOL O 1 21.551 4.435 2.404 1.00 0.00 C +HETATM 1566 H1 MOL O 1 21.707 5.485 2.167 1.00 0.00 H +HETATM 1567 C2 MOL O 1 20.277 4.030 2.597 1.00 0.00 C +HETATM 1568 H2 MOL O 1 19.408 4.677 2.521 1.00 0.00 H +HETATM 1569 C3 MOL O 1 19.967 2.674 2.810 1.00 0.00 C +HETATM 1570 H3 MOL O 1 18.932 2.358 2.917 1.00 0.00 H +HETATM 1571 C4 MOL O 1 20.926 1.687 2.736 1.00 0.00 C +HETATM 1572 H4 MOL O 1 20.674 0.630 2.704 1.00 0.00 H +HETATM 1573 C5 MOL O 1 22.301 2.130 2.668 1.00 0.00 C +HETATM 1574 H5 MOL O 1 23.146 1.449 2.725 1.00 0.00 H +HETATM 1575 C6 MOL O 1 22.658 3.519 2.569 1.00 0.00 C +HETATM 1576 C7 MOL O 1 24.115 4.017 2.696 1.00 0.00 C +HETATM 1577 H6 MOL O 1 24.409 3.972 3.748 1.00 0.00 H +HETATM 1578 H7 MOL O 1 24.133 5.006 2.231 1.00 0.00 H +HETATM 1579 O1 MOL O 1 25.013 3.184 1.972 1.00 0.00 O +HETATM 1580 H8 MOL O 1 24.476 2.843 1.235 1.00 0.00 H +TER 1581 MOL O 1 +HETATM 1582 C1 MOL P 1 32.107 3.731 12.040 1.00 0.00 C +HETATM 1583 H1 MOL P 1 31.616 3.723 13.010 1.00 0.00 H +HETATM 1584 C2 MOL P 1 31.902 2.651 11.168 1.00 0.00 C +HETATM 1585 H2 MOL P 1 31.464 1.723 11.526 1.00 0.00 H +HETATM 1586 C3 MOL P 1 32.480 2.550 9.888 1.00 0.00 C +HETATM 1587 H3 MOL P 1 32.148 1.715 9.276 1.00 0.00 H +HETATM 1588 C4 MOL P 1 33.299 3.649 9.544 1.00 0.00 C +HETATM 1589 H4 MOL P 1 33.753 3.635 8.557 1.00 0.00 H +HETATM 1590 C5 MOL P 1 33.506 4.756 10.374 1.00 0.00 C +HETATM 1591 H5 MOL P 1 34.285 5.464 10.103 1.00 0.00 H +HETATM 1592 C6 MOL P 1 32.838 4.875 11.636 1.00 0.00 C +HETATM 1593 C7 MOL P 1 32.860 6.138 12.480 1.00 0.00 C +HETATM 1594 H6 MOL P 1 31.894 6.371 12.935 1.00 0.00 H +HETATM 1595 H7 MOL P 1 33.279 6.990 11.940 1.00 0.00 H +HETATM 1596 O1 MOL P 1 33.797 5.989 13.510 1.00 0.00 O +HETATM 1597 H8 MOL P 1 33.620 5.106 13.881 1.00 0.00 H +TER 1598 MOL P 1 +HETATM 1599 C1 MOL Q 1 35.234 18.083 35.075 1.00 0.00 C +HETATM 1600 H1 MOL Q 1 34.492 17.788 34.338 1.00 0.00 H +HETATM 1601 C2 MOL Q 1 36.570 18.297 34.598 1.00 0.00 C +HETATM 1602 H2 MOL Q 1 36.792 18.246 33.535 1.00 0.00 H +HETATM 1603 C3 MOL Q 1 37.618 18.680 35.485 1.00 0.00 C +HETATM 1604 H3 MOL Q 1 38.597 18.944 35.092 1.00 0.00 H +HETATM 1605 C4 MOL Q 1 37.284 18.970 36.769 1.00 0.00 C +HETATM 1606 H4 MOL Q 1 37.994 19.395 37.474 1.00 0.00 H +HETATM 1607 C5 MOL Q 1 35.991 18.609 37.240 1.00 0.00 C +HETATM 1608 H5 MOL Q 1 35.819 18.888 38.277 1.00 0.00 H +HETATM 1609 C6 MOL Q 1 34.945 18.200 36.422 1.00 0.00 C +HETATM 1610 C7 MOL Q 1 33.477 18.100 36.928 1.00 0.00 C +HETATM 1611 H6 MOL Q 1 33.465 17.416 37.779 1.00 0.00 H +HETATM 1612 H7 MOL Q 1 32.797 17.808 36.123 1.00 0.00 H +HETATM 1613 O1 MOL Q 1 33.124 19.365 37.405 1.00 0.00 O +HETATM 1614 H8 MOL Q 1 33.255 19.951 36.639 1.00 0.00 H +TER 1615 MOL Q 1 +HETATM 1616 C1 MOL R 1 25.361 20.707 22.310 1.00 0.00 C +HETATM 1617 H1 MOL R 1 24.740 21.536 21.980 1.00 0.00 H +HETATM 1618 C2 MOL R 1 26.616 20.328 21.792 1.00 0.00 C +HETATM 1619 H2 MOL R 1 27.123 20.858 20.990 1.00 0.00 H +HETATM 1620 C3 MOL R 1 27.225 19.103 22.278 1.00 0.00 C +HETATM 1621 H3 MOL R 1 28.197 18.751 21.943 1.00 0.00 H +HETATM 1622 C4 MOL R 1 26.617 18.307 23.254 1.00 0.00 C +HETATM 1623 H4 MOL R 1 27.112 17.395 23.577 1.00 0.00 H +HETATM 1624 C5 MOL R 1 25.393 18.752 23.773 1.00 0.00 C +HETATM 1625 H5 MOL R 1 24.999 18.102 24.550 1.00 0.00 H +HETATM 1626 C6 MOL R 1 24.865 19.993 23.349 1.00 0.00 C +HETATM 1627 C7 MOL R 1 23.562 20.446 23.957 1.00 0.00 C +HETATM 1628 H6 MOL R 1 22.875 20.922 23.253 1.00 0.00 H +HETATM 1629 H7 MOL R 1 23.849 21.253 24.637 1.00 0.00 H +HETATM 1630 O1 MOL R 1 22.764 19.543 24.699 1.00 0.00 O +HETATM 1631 H8 MOL R 1 22.135 20.089 25.204 1.00 0.00 H +TER 1632 MOL R 1 +HETATM 1633 C1 MOL S 1 19.261 2.150 12.170 1.00 0.00 C +HETATM 1634 H1 MOL S 1 19.178 2.896 11.384 1.00 0.00 H +HETATM 1635 C2 MOL S 1 19.148 2.609 13.490 1.00 0.00 C +HETATM 1636 H2 MOL S 1 19.058 3.670 13.712 1.00 0.00 H +HETATM 1637 C3 MOL S 1 19.180 1.652 14.518 1.00 0.00 C +HETATM 1638 H3 MOL S 1 18.973 2.012 15.522 1.00 0.00 H +HETATM 1639 C4 MOL S 1 19.401 0.330 14.292 1.00 0.00 C +HETATM 1640 H4 MOL S 1 19.327 -0.380 15.113 1.00 0.00 H +HETATM 1641 C5 MOL S 1 19.622 -0.103 12.973 1.00 0.00 C +HETATM 1642 H5 MOL S 1 19.847 -1.148 12.779 1.00 0.00 H +HETATM 1643 C6 MOL S 1 19.540 0.824 11.866 1.00 0.00 C +HETATM 1644 C7 MOL S 1 19.687 0.396 10.428 1.00 0.00 C +HETATM 1645 H6 MOL S 1 19.736 1.205 9.695 1.00 0.00 H +HETATM 1646 H7 MOL S 1 18.762 -0.099 10.122 1.00 0.00 H +HETATM 1647 O1 MOL S 1 20.911 -0.345 10.240 1.00 0.00 O +HETATM 1648 H8 MOL S 1 20.582 -1.199 10.574 1.00 0.00 H +TER 1649 MOL S 1 +HETATM 1650 C1 MOL T 1 41.869 7.956 30.374 1.00 0.00 C +HETATM 1651 H1 MOL T 1 42.711 7.348 30.698 1.00 0.00 H +HETATM 1652 C2 MOL T 1 41.565 9.091 31.122 1.00 0.00 C +HETATM 1653 H2 MOL T 1 42.192 9.352 31.971 1.00 0.00 H +HETATM 1654 C3 MOL T 1 40.613 9.924 30.604 1.00 0.00 C +HETATM 1655 H3 MOL T 1 40.531 10.909 31.056 1.00 0.00 H +HETATM 1656 C4 MOL T 1 39.984 9.644 29.374 1.00 0.00 C +HETATM 1657 H4 MOL T 1 39.336 10.362 28.878 1.00 0.00 H +HETATM 1658 C5 MOL T 1 40.214 8.391 28.743 1.00 0.00 C +HETATM 1659 H5 MOL T 1 39.741 8.103 27.808 1.00 0.00 H +HETATM 1660 C6 MOL T 1 41.216 7.521 29.261 1.00 0.00 C +HETATM 1661 C7 MOL T 1 41.744 6.446 28.349 1.00 0.00 C +HETATM 1662 H6 MOL T 1 41.149 6.217 27.461 1.00 0.00 H +HETATM 1663 H7 MOL T 1 41.560 5.472 28.809 1.00 0.00 H +HETATM 1664 O1 MOL T 1 43.133 6.443 28.039 1.00 0.00 O +HETATM 1665 H8 MOL T 1 43.251 5.726 27.390 1.00 0.00 H +TER 1666 MOL T 1 +HETATM 1667 C1 MOL U 1 1.280 24.232 42.502 1.00 0.00 C +HETATM 1668 H1 MOL U 1 0.354 24.541 42.981 1.00 0.00 H +HETATM 1669 C2 MOL U 1 1.916 25.052 41.565 1.00 0.00 C +HETATM 1670 H2 MOL U 1 1.413 25.994 41.357 1.00 0.00 H +HETATM 1671 C3 MOL U 1 3.069 24.684 40.860 1.00 0.00 C +HETATM 1672 H3 MOL U 1 3.489 25.326 40.091 1.00 0.00 H +HETATM 1673 C4 MOL U 1 3.656 23.411 41.060 1.00 0.00 C +HETATM 1674 H4 MOL U 1 4.526 23.073 40.503 1.00 0.00 H +HETATM 1675 C5 MOL U 1 3.056 22.565 42.039 1.00 0.00 C +HETATM 1676 H5 MOL U 1 3.506 21.597 42.245 1.00 0.00 H +HETATM 1677 C6 MOL U 1 1.837 22.995 42.687 1.00 0.00 C +HETATM 1678 C7 MOL U 1 1.039 22.115 43.565 1.00 0.00 C +HETATM 1679 H6 MOL U 1 1.137 21.082 43.224 1.00 0.00 H +HETATM 1680 H7 MOL U 1 -0.022 22.377 43.590 1.00 0.00 H +HETATM 1681 O1 MOL U 1 1.460 22.233 44.918 1.00 0.00 O +HETATM 1682 H8 MOL U 1 1.013 23.028 45.261 1.00 0.00 H +TER 1683 MOL U 1 +HETATM 1684 C1 MOL V 1 14.502 14.864 11.916 1.00 0.00 C +HETATM 1685 H1 MOL V 1 13.856 15.660 12.276 1.00 0.00 H +HETATM 1686 C2 MOL V 1 13.959 13.850 11.166 1.00 0.00 C +HETATM 1687 H2 MOL V 1 12.895 13.952 10.970 1.00 0.00 H +HETATM 1688 C3 MOL V 1 14.750 12.864 10.545 1.00 0.00 C +HETATM 1689 H3 MOL V 1 14.208 12.020 10.126 1.00 0.00 H +HETATM 1690 C4 MOL V 1 16.152 12.919 10.757 1.00 0.00 C +HETATM 1691 H4 MOL V 1 16.749 12.094 10.375 1.00 0.00 H +HETATM 1692 C5 MOL V 1 16.740 13.945 11.499 1.00 0.00 C +HETATM 1693 H5 MOL V 1 17.815 13.967 11.658 1.00 0.00 H +HETATM 1694 C6 MOL V 1 15.898 14.924 12.089 1.00 0.00 C +HETATM 1695 C7 MOL V 1 16.509 16.181 12.703 1.00 0.00 C +HETATM 1696 H6 MOL V 1 17.566 16.074 12.963 1.00 0.00 H +HETATM 1697 H7 MOL V 1 15.994 16.384 13.645 1.00 0.00 H +HETATM 1698 O1 MOL V 1 16.396 17.255 11.768 1.00 0.00 O +HETATM 1699 H8 MOL V 1 16.342 16.879 10.871 1.00 0.00 H +TER 1700 MOL V 1 +HETATM 1701 C1 MOL W 1 13.375 24.461 39.013 1.00 0.00 C +HETATM 1702 H1 MOL W 1 14.347 24.862 39.287 1.00 0.00 H +HETATM 1703 C2 MOL W 1 13.131 23.742 37.879 1.00 0.00 C +HETATM 1704 H2 MOL W 1 13.932 23.526 37.176 1.00 0.00 H +HETATM 1705 C3 MOL W 1 11.882 23.295 37.565 1.00 0.00 C +HETATM 1706 H3 MOL W 1 11.667 22.695 36.685 1.00 0.00 H +HETATM 1707 C4 MOL W 1 10.789 23.678 38.346 1.00 0.00 C +HETATM 1708 H4 MOL W 1 9.831 23.315 37.981 1.00 0.00 H +HETATM 1709 C5 MOL W 1 10.968 24.438 39.516 1.00 0.00 C +HETATM 1710 H5 MOL W 1 10.212 24.685 40.257 1.00 0.00 H +HETATM 1711 C6 MOL W 1 12.249 24.854 39.793 1.00 0.00 C +HETATM 1712 C7 MOL W 1 12.507 25.753 40.984 1.00 0.00 C +HETATM 1713 H6 MOL W 1 13.455 25.444 41.431 1.00 0.00 H +HETATM 1714 H7 MOL W 1 11.647 25.727 41.658 1.00 0.00 H +HETATM 1715 O1 MOL W 1 12.724 27.063 40.585 1.00 0.00 O +HETATM 1716 H8 MOL W 1 11.890 27.433 40.244 1.00 0.00 H +TER 1717 MOL W 1 +HETATM 1718 C1 MOL X 1 42.368 5.783 17.365 1.00 0.00 C +HETATM 1719 H1 MOL X 1 41.935 6.378 16.565 1.00 0.00 H +HETATM 1720 C2 MOL X 1 42.984 6.343 18.492 1.00 0.00 C +HETATM 1721 H2 MOL X 1 43.091 7.424 18.520 1.00 0.00 H +HETATM 1722 C3 MOL X 1 43.624 5.596 19.448 1.00 0.00 C +HETATM 1723 H3 MOL X 1 44.195 6.060 20.247 1.00 0.00 H +HETATM 1724 C4 MOL X 1 43.664 4.158 19.244 1.00 0.00 C +HETATM 1725 H4 MOL X 1 44.153 3.495 19.953 1.00 0.00 H +HETATM 1726 C5 MOL X 1 42.976 3.578 18.131 1.00 0.00 C +HETATM 1727 H5 MOL X 1 43.068 2.502 18.013 1.00 0.00 H +HETATM 1728 C6 MOL X 1 42.388 4.351 17.223 1.00 0.00 C +HETATM 1729 C7 MOL X 1 41.638 3.756 16.062 1.00 0.00 C +HETATM 1730 H6 MOL X 1 40.578 4.024 16.063 1.00 0.00 H +HETATM 1731 H7 MOL X 1 41.770 2.672 16.110 1.00 0.00 H +HETATM 1732 O1 MOL X 1 42.186 4.180 14.856 1.00 0.00 O +HETATM 1733 H8 MOL X 1 43.090 3.817 14.858 1.00 0.00 H +TER 1734 MOL X 1 +HETATM 1735 C1 MOL Y 1 22.196 15.325 0.566 1.00 0.00 C +HETATM 1736 H1 MOL Y 1 21.423 14.568 0.463 1.00 0.00 H +HETATM 1737 C2 MOL Y 1 23.253 15.417 -0.345 1.00 0.00 C +HETATM 1738 H2 MOL Y 1 23.183 14.702 -1.161 1.00 0.00 H +HETATM 1739 C3 MOL Y 1 24.129 16.462 -0.385 1.00 0.00 C +HETATM 1740 H3 MOL Y 1 24.954 16.453 -1.093 1.00 0.00 H +HETATM 1741 C4 MOL Y 1 23.903 17.542 0.445 1.00 0.00 C +HETATM 1742 H4 MOL Y 1 24.552 18.413 0.392 1.00 0.00 H +HETATM 1743 C5 MOL Y 1 22.789 17.528 1.310 1.00 0.00 C +HETATM 1744 H5 MOL Y 1 22.558 18.366 1.963 1.00 0.00 H +HETATM 1745 C6 MOL Y 1 21.932 16.440 1.316 1.00 0.00 C +HETATM 1746 C7 MOL Y 1 20.754 16.482 2.352 1.00 0.00 C +HETATM 1747 H6 MOL Y 1 20.996 15.811 3.181 1.00 0.00 H +HETATM 1748 H7 MOL Y 1 19.844 16.157 1.842 1.00 0.00 H +HETATM 1749 O1 MOL Y 1 20.489 17.720 2.903 1.00 0.00 O +HETATM 1750 H8 MOL Y 1 20.000 17.524 3.722 1.00 0.00 H +TER 1751 MOL Y 1 +HETATM 1752 C1 MOL Z 1 36.759 2.650 17.243 1.00 0.00 C +HETATM 1753 H1 MOL Z 1 35.938 2.382 16.584 1.00 0.00 H +HETATM 1754 C2 MOL Z 1 36.980 1.837 18.346 1.00 0.00 C +HETATM 1755 H2 MOL Z 1 36.453 0.936 18.649 1.00 0.00 H +HETATM 1756 C3 MOL Z 1 38.029 2.229 19.237 1.00 0.00 C +HETATM 1757 H3 MOL Z 1 38.317 1.574 20.056 1.00 0.00 H +HETATM 1758 C4 MOL Z 1 38.832 3.318 19.012 1.00 0.00 C +HETATM 1759 H4 MOL Z 1 39.590 3.628 19.728 1.00 0.00 H +HETATM 1760 C5 MOL Z 1 38.531 4.112 17.848 1.00 0.00 C +HETATM 1761 H5 MOL Z 1 39.112 5.005 17.633 1.00 0.00 H +HETATM 1762 C6 MOL Z 1 37.535 3.767 16.924 1.00 0.00 C +HETATM 1763 C7 MOL Z 1 37.252 4.593 15.663 1.00 0.00 C +HETATM 1764 H6 MOL Z 1 37.829 4.233 14.807 1.00 0.00 H +HETATM 1765 H7 MOL Z 1 37.574 5.637 15.697 1.00 0.00 H +HETATM 1766 O1 MOL Z 1 35.954 4.502 15.125 1.00 0.00 O +HETATM 1767 H8 MOL Z 1 35.841 5.165 14.420 1.00 0.00 H +TER 1768 MOL Z 1 +HETATM 1769 C1 MOL A 1 18.392 1.866 41.954 1.00 0.00 C +HETATM 1770 H1 MOL A 1 18.915 2.668 42.467 1.00 0.00 H +HETATM 1771 C2 MOL A 1 17.890 2.141 40.684 1.00 0.00 C +HETATM 1772 H2 MOL A 1 18.185 3.025 40.124 1.00 0.00 H +HETATM 1773 C3 MOL A 1 16.959 1.190 40.124 1.00 0.00 C +HETATM 1774 H3 MOL A 1 16.604 1.323 39.105 1.00 0.00 H +HETATM 1775 C4 MOL A 1 16.548 0.043 40.818 1.00 0.00 C +HETATM 1776 H4 MOL A 1 15.805 -0.639 40.415 1.00 0.00 H +HETATM 1777 C5 MOL A 1 17.044 -0.122 42.127 1.00 0.00 C +HETATM 1778 H5 MOL A 1 16.795 -0.994 42.727 1.00 0.00 H +HETATM 1779 C6 MOL A 1 17.867 0.796 42.739 1.00 0.00 C +HETATM 1780 C7 MOL A 1 18.328 0.657 44.169 1.00 0.00 C +HETATM 1781 H6 MOL A 1 17.480 0.896 44.816 1.00 0.00 H +HETATM 1782 H7 MOL A 1 19.010 1.495 44.336 1.00 0.00 H +HETATM 1783 O1 MOL A 1 18.816 -0.528 44.634 1.00 0.00 O +HETATM 1784 H8 MOL A 1 19.624 -0.691 44.116 1.00 0.00 H +TER 1785 MOL A 1 +HETATM 1786 C1 MOL B 1 3.927 19.157 40.838 1.00 0.00 C +HETATM 1787 H1 MOL B 1 3.768 19.753 39.943 1.00 0.00 H +HETATM 1788 C2 MOL B 1 2.938 18.941 41.807 1.00 0.00 C +HETATM 1789 H2 MOL B 1 2.047 19.562 41.862 1.00 0.00 H +HETATM 1790 C3 MOL B 1 3.149 18.141 42.905 1.00 0.00 C +HETATM 1791 H3 MOL B 1 2.355 18.085 43.646 1.00 0.00 H +HETATM 1792 C4 MOL B 1 4.336 17.438 43.017 1.00 0.00 C +HETATM 1793 H4 MOL B 1 4.511 16.877 43.932 1.00 0.00 H +HETATM 1794 C5 MOL B 1 5.317 17.606 42.044 1.00 0.00 C +HETATM 1795 H5 MOL B 1 6.273 17.106 42.180 1.00 0.00 H +HETATM 1796 C6 MOL B 1 5.109 18.394 40.885 1.00 0.00 C +HETATM 1797 C7 MOL B 1 6.219 18.658 39.852 1.00 0.00 C +HETATM 1798 H6 MOL B 1 5.903 19.346 39.064 1.00 0.00 H +HETATM 1799 H7 MOL B 1 6.469 17.700 39.391 1.00 0.00 H +HETATM 1800 O1 MOL B 1 7.368 19.161 40.559 1.00 0.00 O +HETATM 1801 H8 MOL B 1 7.239 20.093 40.813 1.00 0.00 H +TER 1802 MOL B 1 +HETATM 1803 C1 MOL C 1 25.690 4.965 7.418 1.00 0.00 C +HETATM 1804 H1 MOL C 1 25.891 4.300 6.582 1.00 0.00 H +HETATM 1805 C2 MOL C 1 25.985 4.457 8.656 1.00 0.00 C +HETATM 1806 H2 MOL C 1 26.251 3.403 8.681 1.00 0.00 H +HETATM 1807 C3 MOL C 1 25.592 5.237 9.741 1.00 0.00 C +HETATM 1808 H3 MOL C 1 25.702 4.883 10.762 1.00 0.00 H +HETATM 1809 C4 MOL C 1 25.069 6.496 9.538 1.00 0.00 C +HETATM 1810 H4 MOL C 1 24.878 7.055 10.451 1.00 0.00 H +HETATM 1811 C5 MOL C 1 24.963 7.020 8.275 1.00 0.00 C +HETATM 1812 H5 MOL C 1 24.650 8.044 8.089 1.00 0.00 H +HETATM 1813 C6 MOL C 1 25.362 6.270 7.148 1.00 0.00 C +HETATM 1814 C7 MOL C 1 25.384 6.838 5.706 1.00 0.00 C +HETATM 1815 H6 MOL C 1 25.640 5.970 5.094 1.00 0.00 H +HETATM 1816 H7 MOL C 1 26.287 7.453 5.673 1.00 0.00 H +HETATM 1817 O1 MOL C 1 24.141 7.367 5.388 1.00 0.00 O +HETATM 1818 H8 MOL C 1 24.200 8.299 5.665 1.00 0.00 H +TER 1819 MOL C 1 +HETATM 1820 C1 MOL D 1 18.476 37.992 36.752 1.00 0.00 C +HETATM 1821 H1 MOL D 1 18.268 37.969 37.819 1.00 0.00 H +HETATM 1822 C2 MOL D 1 19.771 38.014 36.386 1.00 0.00 C +HETATM 1823 H2 MOL D 1 20.546 38.004 37.147 1.00 0.00 H +HETATM 1824 C3 MOL D 1 20.133 38.209 35.004 1.00 0.00 C +HETATM 1825 H3 MOL D 1 21.177 38.186 34.704 1.00 0.00 H +HETATM 1826 C4 MOL D 1 19.157 38.380 34.061 1.00 0.00 C +HETATM 1827 H4 MOL D 1 19.405 38.543 33.015 1.00 0.00 H +HETATM 1828 C5 MOL D 1 17.834 38.362 34.451 1.00 0.00 C +HETATM 1829 H5 MOL D 1 17.026 38.476 33.733 1.00 0.00 H +HETATM 1830 C6 MOL D 1 17.476 38.158 35.762 1.00 0.00 C +HETATM 1831 C7 MOL D 1 16.034 38.217 36.313 1.00 0.00 C +HETATM 1832 H6 MOL D 1 15.451 38.803 35.598 1.00 0.00 H +HETATM 1833 H7 MOL D 1 15.942 38.697 37.291 1.00 0.00 H +HETATM 1834 O1 MOL D 1 15.454 36.936 36.634 1.00 0.00 O +HETATM 1835 H8 MOL D 1 15.544 36.409 35.820 1.00 0.00 H +TER 1836 MOL D 1 +HETATM 1837 C1 MOL E 1 1.724 9.776 21.250 1.00 0.00 C +HETATM 1838 H1 MOL E 1 1.308 10.510 21.936 1.00 0.00 H +HETATM 1839 C2 MOL E 1 2.057 8.523 21.773 1.00 0.00 C +HETATM 1840 H2 MOL E 1 2.182 8.462 22.851 1.00 0.00 H +HETATM 1841 C3 MOL E 1 2.599 7.551 20.954 1.00 0.00 C +HETATM 1842 H3 MOL E 1 2.942 6.598 21.348 1.00 0.00 H +HETATM 1843 C4 MOL E 1 2.637 7.713 19.572 1.00 0.00 C +HETATM 1844 H4 MOL E 1 2.965 6.912 18.914 1.00 0.00 H +HETATM 1845 C5 MOL E 1 2.297 9.004 19.066 1.00 0.00 C +HETATM 1846 H5 MOL E 1 2.452 9.181 18.005 1.00 0.00 H +HETATM 1847 C6 MOL E 1 1.809 10.029 19.895 1.00 0.00 C +HETATM 1848 C7 MOL E 1 1.418 11.335 19.275 1.00 0.00 C +HETATM 1849 H6 MOL E 1 1.765 12.193 19.856 1.00 0.00 H +HETATM 1850 H7 MOL E 1 0.336 11.494 19.300 1.00 0.00 H +HETATM 1851 O1 MOL E 1 2.008 11.523 17.966 1.00 0.00 O +HETATM 1852 H8 MOL E 1 2.962 11.607 18.143 1.00 0.00 H +TER 1853 MOL E 1 +HETATM 1854 C1 MOL F 1 29.374 20.775 29.174 1.00 0.00 C +HETATM 1855 H1 MOL F 1 29.563 20.737 28.104 1.00 0.00 H +HETATM 1856 C2 MOL F 1 28.604 21.805 29.678 1.00 0.00 C +HETATM 1857 H2 MOL F 1 28.362 22.613 28.992 1.00 0.00 H +HETATM 1858 C3 MOL F 1 28.320 22.004 31.027 1.00 0.00 C +HETATM 1859 H3 MOL F 1 27.765 22.836 31.452 1.00 0.00 H +HETATM 1860 C4 MOL F 1 28.797 21.018 31.877 1.00 0.00 C +HETATM 1861 H4 MOL F 1 28.648 21.159 32.945 1.00 0.00 H +HETATM 1862 C5 MOL F 1 29.503 19.934 31.368 1.00 0.00 C +HETATM 1863 H5 MOL F 1 29.958 19.190 32.016 1.00 0.00 H +HETATM 1864 C6 MOL F 1 29.886 19.858 30.043 1.00 0.00 C +HETATM 1865 C7 MOL F 1 30.690 18.698 29.537 1.00 0.00 C +HETATM 1866 H6 MOL F 1 30.412 18.663 28.481 1.00 0.00 H +HETATM 1867 H7 MOL F 1 30.416 17.785 30.073 1.00 0.00 H +HETATM 1868 O1 MOL F 1 32.131 18.841 29.767 1.00 0.00 O +HETATM 1869 H8 MOL F 1 32.687 18.060 29.592 1.00 0.00 H +TER 1870 MOL F 1 +HETATM 1871 C1 MOL G 1 9.606 22.156 42.028 1.00 0.00 C +HETATM 1872 H1 MOL G 1 9.481 21.181 41.564 1.00 0.00 H +HETATM 1873 C2 MOL G 1 10.800 22.354 42.733 1.00 0.00 C +HETATM 1874 H2 MOL G 1 11.554 21.578 42.839 1.00 0.00 H +HETATM 1875 C3 MOL G 1 11.087 23.572 43.402 1.00 0.00 C +HETATM 1876 H3 MOL G 1 12.016 23.700 43.952 1.00 0.00 H +HETATM 1877 C4 MOL G 1 10.055 24.588 43.460 1.00 0.00 C +HETATM 1878 H4 MOL G 1 10.062 25.427 44.151 1.00 0.00 H +HETATM 1879 C5 MOL G 1 8.894 24.383 42.685 1.00 0.00 C +HETATM 1880 H5 MOL G 1 8.103 25.127 42.748 1.00 0.00 H +HETATM 1881 C6 MOL G 1 8.690 23.158 42.022 1.00 0.00 C +HETATM 1882 C7 MOL G 1 7.490 22.972 41.075 1.00 0.00 C +HETATM 1883 H6 MOL G 1 7.908 23.009 40.066 1.00 0.00 H +HETATM 1884 H7 MOL G 1 6.748 23.765 41.196 1.00 0.00 H +HETATM 1885 O1 MOL G 1 6.851 21.748 41.357 1.00 0.00 O +HETATM 1886 H8 MOL G 1 6.540 21.949 42.258 1.00 0.00 H +TER 1887 MOL G 1 +HETATM 1888 C1 MOL H 1 5.544 27.596 0.203 1.00 0.00 C +HETATM 1889 H1 MOL H 1 6.227 28.230 -0.357 1.00 0.00 H +HETATM 1890 C2 MOL H 1 5.503 26.272 -0.205 1.00 0.00 C +HETATM 1891 H2 MOL H 1 6.308 25.921 -0.846 1.00 0.00 H +HETATM 1892 C3 MOL H 1 4.648 25.339 0.299 1.00 0.00 C +HETATM 1893 H3 MOL H 1 4.749 24.286 0.048 1.00 0.00 H +HETATM 1894 C4 MOL H 1 3.631 25.807 1.163 1.00 0.00 C +HETATM 1895 H4 MOL H 1 2.869 25.100 1.481 1.00 0.00 H +HETATM 1896 C5 MOL H 1 3.563 27.196 1.553 1.00 0.00 C +HETATM 1897 H5 MOL H 1 2.745 27.431 2.229 1.00 0.00 H +HETATM 1898 C6 MOL H 1 4.504 28.066 1.027 1.00 0.00 C +HETATM 1899 C7 MOL H 1 4.526 29.480 1.391 1.00 0.00 C +HETATM 1900 H6 MOL H 1 4.174 30.106 0.568 1.00 0.00 H +HETATM 1901 H7 MOL H 1 5.553 29.719 1.680 1.00 0.00 H +HETATM 1902 O1 MOL H 1 3.822 29.666 2.637 1.00 0.00 O +HETATM 1903 H8 MOL H 1 4.288 29.287 3.403 1.00 0.00 H +TER 1904 MOL H 1 +HETATM 1905 C1 MOL I 1 17.622 22.770 38.220 1.00 0.00 C +HETATM 1906 H1 MOL I 1 16.881 22.202 38.776 1.00 0.00 H +HETATM 1907 C2 MOL I 1 17.277 23.413 37.049 1.00 0.00 C +HETATM 1908 H2 MOL I 1 16.232 23.463 36.753 1.00 0.00 H +HETATM 1909 C3 MOL I 1 18.327 23.819 36.225 1.00 0.00 C +HETATM 1910 H3 MOL I 1 18.060 24.417 35.357 1.00 0.00 H +HETATM 1911 C4 MOL I 1 19.696 23.709 36.598 1.00 0.00 C +HETATM 1912 H4 MOL I 1 20.499 24.086 35.970 1.00 0.00 H +HETATM 1913 C5 MOL I 1 20.017 23.026 37.710 1.00 0.00 C +HETATM 1914 H5 MOL I 1 21.057 22.789 37.921 1.00 0.00 H +HETATM 1915 C6 MOL I 1 18.999 22.527 38.482 1.00 0.00 C +HETATM 1916 C7 MOL I 1 19.326 21.487 39.563 1.00 0.00 C +HETATM 1917 H6 MOL I 1 18.429 20.875 39.680 1.00 0.00 H +HETATM 1918 H7 MOL I 1 19.499 21.849 40.580 1.00 0.00 H +HETATM 1919 O1 MOL I 1 20.411 20.585 39.173 1.00 0.00 O +HETATM 1920 H8 MOL I 1 20.793 20.165 39.965 1.00 0.00 H +TER 1921 MOL I 1 +HETATM 1922 C1 MOL J 1 42.734 15.416 30.821 1.00 0.00 C +HETATM 1923 H1 MOL J 1 41.935 16.146 30.915 1.00 0.00 H +HETATM 1924 C2 MOL J 1 42.432 14.064 31.000 1.00 0.00 C +HETATM 1925 H2 MOL J 1 41.410 13.927 31.344 1.00 0.00 H +HETATM 1926 C3 MOL J 1 43.406 13.096 30.924 1.00 0.00 C +HETATM 1927 H3 MOL J 1 43.098 12.057 31.008 1.00 0.00 H +HETATM 1928 C4 MOL J 1 44.717 13.475 30.658 1.00 0.00 C +HETATM 1929 H4 MOL J 1 45.443 12.714 30.382 1.00 0.00 H +HETATM 1930 C5 MOL J 1 45.032 14.826 30.440 1.00 0.00 C +HETATM 1931 H5 MOL J 1 46.017 15.094 30.065 1.00 0.00 H +HETATM 1932 C6 MOL J 1 43.996 15.852 30.503 1.00 0.00 C +HETATM 1933 C7 MOL J 1 44.382 17.274 30.350 1.00 0.00 C +HETATM 1934 H6 MOL J 1 45.280 17.483 29.762 1.00 0.00 H +HETATM 1935 H7 MOL J 1 44.655 17.617 31.351 1.00 0.00 H +HETATM 1936 O1 MOL J 1 43.378 18.183 29.888 1.00 0.00 O +HETATM 1937 H8 MOL J 1 43.347 17.992 28.933 1.00 0.00 H +TER 1938 MOL J 1 +HETATM 1939 C1 MOL K 1 19.302 10.405 6.437 1.00 0.00 C +HETATM 1940 H1 MOL K 1 19.446 9.660 5.659 1.00 0.00 H +HETATM 1941 C2 MOL K 1 18.921 11.683 6.191 1.00 0.00 C +HETATM 1942 H2 MOL K 1 18.558 11.866 5.183 1.00 0.00 H +HETATM 1943 C3 MOL K 1 18.909 12.682 7.196 1.00 0.00 C +HETATM 1944 H3 MOL K 1 18.622 13.708 6.979 1.00 0.00 H +HETATM 1945 C4 MOL K 1 19.219 12.336 8.502 1.00 0.00 C +HETATM 1946 H4 MOL K 1 19.367 13.100 9.261 1.00 0.00 H +HETATM 1947 C5 MOL K 1 19.489 11.015 8.857 1.00 0.00 C +HETATM 1948 H5 MOL K 1 19.680 10.739 9.890 1.00 0.00 H +HETATM 1949 C6 MOL K 1 19.518 10.035 7.808 1.00 0.00 C +HETATM 1950 C7 MOL K 1 19.941 8.590 8.164 1.00 0.00 C +HETATM 1951 H6 MOL K 1 20.181 8.067 7.235 1.00 0.00 H +HETATM 1952 H7 MOL K 1 19.113 8.042 8.621 1.00 0.00 H +HETATM 1953 O1 MOL K 1 20.982 8.576 9.113 1.00 0.00 O +HETATM 1954 H8 MOL K 1 20.949 7.739 9.609 1.00 0.00 H +TER 1955 MOL K 1 +HETATM 1956 C1 MOL L 1 6.680 24.116 11.551 1.00 0.00 C +HETATM 1957 H1 MOL L 1 5.950 24.425 12.295 1.00 0.00 H +HETATM 1958 C2 MOL L 1 6.253 23.390 10.474 1.00 0.00 C +HETATM 1959 H2 MOL L 1 5.231 23.067 10.295 1.00 0.00 H +HETATM 1960 C3 MOL L 1 7.209 22.973 9.546 1.00 0.00 C +HETATM 1961 H3 MOL L 1 6.928 22.238 8.796 1.00 0.00 H +HETATM 1962 C4 MOL L 1 8.498 23.309 9.649 1.00 0.00 C +HETATM 1963 H4 MOL L 1 9.247 22.913 8.968 1.00 0.00 H +HETATM 1964 C5 MOL L 1 8.947 24.174 10.722 1.00 0.00 C +HETATM 1965 H5 MOL L 1 9.992 24.463 10.799 1.00 0.00 H +HETATM 1966 C6 MOL L 1 8.003 24.438 11.719 1.00 0.00 C +HETATM 1967 C7 MOL L 1 8.492 25.120 13.052 1.00 0.00 C +HETATM 1968 H6 MOL L 1 8.845 24.231 13.581 1.00 0.00 H +HETATM 1969 H7 MOL L 1 7.561 25.402 13.550 1.00 0.00 H +HETATM 1970 O1 MOL L 1 9.290 26.287 12.864 1.00 0.00 O +HETATM 1971 H8 MOL L 1 8.749 26.986 12.456 1.00 0.00 H +TER 1972 MOL L 1 +HETATM 1973 C1 MOL M 1 19.684 18.839 43.884 1.00 0.00 C +HETATM 1974 H1 MOL M 1 20.642 18.939 44.387 1.00 0.00 H +HETATM 1975 C2 MOL M 1 18.487 18.732 44.537 1.00 0.00 C +HETATM 1976 H2 MOL M 1 18.564 18.612 45.614 1.00 0.00 H +HETATM 1977 C3 MOL M 1 17.344 18.554 43.833 1.00 0.00 C +HETATM 1978 H3 MOL M 1 16.377 18.499 44.327 1.00 0.00 H +HETATM 1979 C4 MOL M 1 17.303 18.620 42.424 1.00 0.00 C +HETATM 1980 H4 MOL M 1 16.395 18.464 41.846 1.00 0.00 H +HETATM 1981 C5 MOL M 1 18.503 18.704 41.781 1.00 0.00 C +HETATM 1982 H5 MOL M 1 18.598 18.516 40.714 1.00 0.00 H +HETATM 1983 C6 MOL M 1 19.662 18.741 42.482 1.00 0.00 C +HETATM 1984 C7 MOL M 1 21.025 18.857 41.807 1.00 0.00 C +HETATM 1985 H6 MOL M 1 21.091 18.288 40.876 1.00 0.00 H +HETATM 1986 H7 MOL M 1 21.844 18.433 42.395 1.00 0.00 H +HETATM 1987 O1 MOL M 1 21.476 20.159 41.659 1.00 0.00 O +HETATM 1988 H8 MOL M 1 21.343 20.580 42.527 1.00 0.00 H +TER 1989 MOL M 1 +HETATM 1990 C1 MOL N 1 12.052 29.315 30.010 1.00 0.00 C +HETATM 1991 H1 MOL N 1 11.415 29.002 29.187 1.00 0.00 H +HETATM 1992 C2 MOL N 1 11.616 30.334 30.883 1.00 0.00 C +HETATM 1993 H2 MOL N 1 10.615 30.757 30.899 1.00 0.00 H +HETATM 1994 C3 MOL N 1 12.453 30.831 31.858 1.00 0.00 C +HETATM 1995 H3 MOL N 1 12.107 31.455 32.677 1.00 0.00 H +HETATM 1996 C4 MOL N 1 13.679 30.235 32.013 1.00 0.00 C +HETATM 1997 H4 MOL N 1 14.295 30.587 32.837 1.00 0.00 H +HETATM 1998 C5 MOL N 1 14.074 29.224 31.167 1.00 0.00 C +HETATM 1999 H5 MOL N 1 15.022 28.739 31.384 1.00 0.00 H +HETATM 2000 C6 MOL N 1 13.304 28.706 30.138 1.00 0.00 C +HETATM 2001 C7 MOL N 1 13.847 27.723 29.161 1.00 0.00 C +HETATM 2002 H6 MOL N 1 13.987 28.214 28.195 1.00 0.00 H +HETATM 2003 H7 MOL N 1 13.049 26.986 29.037 1.00 0.00 H +HETATM 2004 O1 MOL N 1 15.105 27.142 29.667 1.00 0.00 O +HETATM 2005 H8 MOL N 1 15.540 26.661 28.941 1.00 0.00 H +TER 2006 MOL N 1 +HETATM 2007 C1 MOL O 1 4.328 13.597 35.253 1.00 0.00 C +HETATM 2008 H1 MOL O 1 5.315 13.418 35.670 1.00 0.00 H +HETATM 2009 C2 MOL O 1 3.491 12.518 34.954 1.00 0.00 C +HETATM 2010 H2 MOL O 1 3.756 11.513 35.274 1.00 0.00 H +HETATM 2011 C3 MOL O 1 2.210 12.806 34.489 1.00 0.00 C +HETATM 2012 H3 MOL O 1 1.469 12.027 34.330 1.00 0.00 H +HETATM 2013 C4 MOL O 1 1.854 14.156 34.122 1.00 0.00 C +HETATM 2014 H4 MOL O 1 0.945 14.245 33.533 1.00 0.00 H +HETATM 2015 C5 MOL O 1 2.797 15.135 34.335 1.00 0.00 C +HETATM 2016 H5 MOL O 1 2.677 16.136 33.929 1.00 0.00 H +HETATM 2017 C6 MOL O 1 4.007 14.892 34.892 1.00 0.00 C +HETATM 2018 C7 MOL O 1 5.137 15.938 34.956 1.00 0.00 C +HETATM 2019 H6 MOL O 1 4.787 16.879 34.523 1.00 0.00 H +HETATM 2020 H7 MOL O 1 6.077 15.534 34.572 1.00 0.00 H +HETATM 2021 O1 MOL O 1 5.388 16.247 36.342 1.00 0.00 O +HETATM 2022 H8 MOL O 1 5.921 17.057 36.432 1.00 0.00 H +TER 2023 MOL O 1 +HETATM 2024 C1 MOL P 1 41.162 34.118 40.405 1.00 0.00 C +HETATM 2025 H1 MOL P 1 41.444 34.208 41.451 1.00 0.00 H +HETATM 2026 C2 MOL P 1 41.748 34.994 39.506 1.00 0.00 C +HETATM 2027 H2 MOL P 1 42.537 35.650 39.866 1.00 0.00 H +HETATM 2028 C3 MOL P 1 41.546 34.851 38.117 1.00 0.00 C +HETATM 2029 H3 MOL P 1 42.104 35.534 37.482 1.00 0.00 H +HETATM 2030 C4 MOL P 1 40.762 33.834 37.608 1.00 0.00 C +HETATM 2031 H4 MOL P 1 40.640 33.748 36.531 1.00 0.00 H +HETATM 2032 C5 MOL P 1 40.120 32.943 38.500 1.00 0.00 C +HETATM 2033 H5 MOL P 1 39.548 32.071 38.193 1.00 0.00 H +HETATM 2034 C6 MOL P 1 40.377 33.018 39.894 1.00 0.00 C +HETATM 2035 C7 MOL P 1 39.867 31.945 40.772 1.00 0.00 C +HETATM 2036 H6 MOL P 1 38.823 32.121 41.046 1.00 0.00 H +HETATM 2037 H7 MOL P 1 40.349 31.990 41.752 1.00 0.00 H +HETATM 2038 O1 MOL P 1 39.930 30.668 40.247 1.00 0.00 O +HETATM 2039 H8 MOL P 1 40.549 30.582 39.500 1.00 0.00 H +TER 2040 MOL P 1 +HETATM 2041 C1 MOL Q 1 17.156 43.632 36.282 1.00 0.00 C +HETATM 2042 H1 MOL Q 1 18.137 43.932 35.921 1.00 0.00 H +HETATM 2043 C2 MOL Q 1 16.084 44.541 36.123 1.00 0.00 C +HETATM 2044 H2 MOL Q 1 16.263 45.434 35.531 1.00 0.00 H +HETATM 2045 C3 MOL Q 1 14.912 44.180 36.739 1.00 0.00 C +HETATM 2046 H3 MOL Q 1 14.201 44.992 36.610 1.00 0.00 H +HETATM 2047 C4 MOL Q 1 14.724 43.091 37.564 1.00 0.00 C +HETATM 2048 H4 MOL Q 1 13.832 43.019 38.181 1.00 0.00 H +HETATM 2049 C5 MOL Q 1 15.814 42.201 37.683 1.00 0.00 C +HETATM 2050 H5 MOL Q 1 15.787 41.406 38.424 1.00 0.00 H +HETATM 2051 C6 MOL Q 1 16.995 42.430 37.022 1.00 0.00 C +HETATM 2052 C7 MOL Q 1 18.184 41.524 37.155 1.00 0.00 C +HETATM 2053 H6 MOL Q 1 17.958 40.654 37.777 1.00 0.00 H +HETATM 2054 H7 MOL Q 1 19.038 41.924 37.708 1.00 0.00 H +HETATM 2055 O1 MOL Q 1 18.711 41.098 35.865 1.00 0.00 O +HETATM 2056 H8 MOL Q 1 19.088 40.200 35.856 1.00 0.00 H +TER 2057 MOL Q 1 +HETATM 2058 C1 MOL R 1 7.443 32.012 1.744 1.00 0.00 C +HETATM 2059 H1 MOL R 1 7.063 32.935 1.314 1.00 0.00 H +HETATM 2060 C2 MOL R 1 7.724 30.967 0.800 1.00 0.00 C +HETATM 2061 H2 MOL R 1 7.485 31.025 -0.259 1.00 0.00 H +HETATM 2062 C3 MOL R 1 8.373 29.779 1.220 1.00 0.00 C +HETATM 2063 H3 MOL R 1 8.689 29.062 0.466 1.00 0.00 H +HETATM 2064 C4 MOL R 1 8.453 29.563 2.622 1.00 0.00 C +HETATM 2065 H4 MOL R 1 8.886 28.622 2.955 1.00 0.00 H +HETATM 2066 C5 MOL R 1 7.997 30.480 3.538 1.00 0.00 C +HETATM 2067 H5 MOL R 1 8.203 30.314 4.592 1.00 0.00 H +HETATM 2068 C6 MOL R 1 7.591 31.808 3.101 1.00 0.00 C +HETATM 2069 C7 MOL R 1 7.532 32.913 4.137 1.00 0.00 C +HETATM 2070 H6 MOL R 1 7.639 32.570 5.170 1.00 0.00 H +HETATM 2071 H7 MOL R 1 6.603 33.478 4.031 1.00 0.00 H +HETATM 2072 O1 MOL R 1 8.638 33.842 3.939 1.00 0.00 O +HETATM 2073 H8 MOL R 1 9.461 33.333 4.049 1.00 0.00 H +TER 2074 MOL R 1 +HETATM 2075 C1 MOL S 1 25.902 22.893 26.718 1.00 0.00 C +HETATM 2076 H1 MOL S 1 26.007 22.225 27.568 1.00 0.00 H +HETATM 2077 C2 MOL S 1 24.927 23.850 26.738 1.00 0.00 C +HETATM 2078 H2 MOL S 1 24.437 24.038 27.690 1.00 0.00 H +HETATM 2079 C3 MOL S 1 24.754 24.791 25.673 1.00 0.00 C +HETATM 2080 H3 MOL S 1 24.088 25.641 25.794 1.00 0.00 H +HETATM 2081 C4 MOL S 1 25.428 24.586 24.470 1.00 0.00 C +HETATM 2082 H4 MOL S 1 25.236 25.364 23.736 1.00 0.00 H +HETATM 2083 C5 MOL S 1 26.362 23.507 24.358 1.00 0.00 C +HETATM 2084 H5 MOL S 1 26.901 23.388 23.422 1.00 0.00 H +HETATM 2085 C6 MOL S 1 26.591 22.668 25.497 1.00 0.00 C +HETATM 2086 C7 MOL S 1 27.552 21.581 25.437 1.00 0.00 C +HETATM 2087 H6 MOL S 1 28.475 21.841 25.962 1.00 0.00 H +HETATM 2088 H7 MOL S 1 27.757 21.278 24.407 1.00 0.00 H +HETATM 2089 O1 MOL S 1 27.175 20.368 26.069 1.00 0.00 O +HETATM 2090 H8 MOL S 1 26.869 19.822 25.323 1.00 0.00 H +TER 2091 MOL S 1 +HETATM 2092 C1 MOL T 1 42.435 15.953 23.267 1.00 0.00 C +HETATM 2093 H1 MOL T 1 41.908 16.467 24.067 1.00 0.00 H +HETATM 2094 C2 MOL T 1 43.732 15.506 23.276 1.00 0.00 C +HETATM 2095 H2 MOL T 1 44.321 15.653 24.178 1.00 0.00 H +HETATM 2096 C3 MOL T 1 44.300 14.696 22.294 1.00 0.00 C +HETATM 2097 H3 MOL T 1 45.293 14.293 22.477 1.00 0.00 H +HETATM 2098 C4 MOL T 1 43.535 14.426 21.118 1.00 0.00 C +HETATM 2099 H4 MOL T 1 43.919 13.814 20.306 1.00 0.00 H +HETATM 2100 C5 MOL T 1 42.225 14.878 21.058 1.00 0.00 C +HETATM 2101 H5 MOL T 1 41.615 14.731 20.171 1.00 0.00 H +HETATM 2102 C6 MOL T 1 41.666 15.552 22.133 1.00 0.00 C +HETATM 2103 C7 MOL T 1 40.178 16.012 22.083 1.00 0.00 C +HETATM 2104 H6 MOL T 1 39.866 16.318 21.082 1.00 0.00 H +HETATM 2105 H7 MOL T 1 39.963 16.933 22.631 1.00 0.00 H +HETATM 2106 O1 MOL T 1 39.366 14.947 22.558 1.00 0.00 O +HETATM 2107 H8 MOL T 1 39.599 14.132 22.079 1.00 0.00 H +TER 2108 MOL T 1 +HETATM 2109 C1 MOL U 1 33.543 10.216 13.546 1.00 0.00 C +HETATM 2110 H1 MOL U 1 32.659 9.710 13.166 1.00 0.00 H +HETATM 2111 C2 MOL U 1 33.923 9.987 14.867 1.00 0.00 C +HETATM 2112 H2 MOL U 1 33.228 9.442 15.502 1.00 0.00 H +HETATM 2113 C3 MOL U 1 35.162 10.421 15.268 1.00 0.00 C +HETATM 2114 H3 MOL U 1 35.598 10.045 16.190 1.00 0.00 H +HETATM 2115 C4 MOL U 1 35.902 11.181 14.393 1.00 0.00 C +HETATM 2116 H4 MOL U 1 36.900 11.514 14.664 1.00 0.00 H +HETATM 2117 C5 MOL U 1 35.447 11.511 13.094 1.00 0.00 C +HETATM 2118 H5 MOL U 1 36.051 12.112 12.419 1.00 0.00 H +HETATM 2119 C6 MOL U 1 34.229 10.983 12.618 1.00 0.00 C +HETATM 2120 C7 MOL U 1 33.653 11.210 11.266 1.00 0.00 C +HETATM 2121 H6 MOL U 1 34.192 12.061 10.841 1.00 0.00 H +HETATM 2122 H7 MOL U 1 32.617 11.548 11.348 1.00 0.00 H +HETATM 2123 O1 MOL U 1 33.719 10.081 10.372 1.00 0.00 O +HETATM 2124 H8 MOL U 1 34.443 9.543 10.739 1.00 0.00 H +TER 2125 MOL U 1 +HETATM 2126 C1 MOL V 1 3.609 26.254 20.258 1.00 0.00 C +HETATM 2127 H1 MOL V 1 2.615 26.688 20.328 1.00 0.00 H +HETATM 2128 C2 MOL V 1 4.164 25.861 19.084 1.00 0.00 C +HETATM 2129 H2 MOL V 1 3.598 26.086 18.184 1.00 0.00 H +HETATM 2130 C3 MOL V 1 5.488 25.332 19.051 1.00 0.00 C +HETATM 2131 H3 MOL V 1 5.935 25.012 18.114 1.00 0.00 H +HETATM 2132 C4 MOL V 1 6.249 25.140 20.221 1.00 0.00 C +HETATM 2133 H4 MOL V 1 7.263 24.750 20.189 1.00 0.00 H +HETATM 2134 C5 MOL V 1 5.654 25.549 21.383 1.00 0.00 C +HETATM 2135 H5 MOL V 1 6.204 25.641 22.316 1.00 0.00 H +HETATM 2136 C6 MOL V 1 4.426 26.140 21.420 1.00 0.00 C +HETATM 2137 C7 MOL V 1 3.936 26.727 22.762 1.00 0.00 C +HETATM 2138 H6 MOL V 1 4.746 26.706 23.497 1.00 0.00 H +HETATM 2139 H7 MOL V 1 3.136 26.078 23.128 1.00 0.00 H +HETATM 2140 O1 MOL V 1 3.343 28.072 22.623 1.00 0.00 O +HETATM 2141 H8 MOL V 1 3.989 28.742 22.335 1.00 0.00 H +TER 2142 MOL V 1 +HETATM 2143 C1 MOL W 1 27.042 28.704 2.790 1.00 0.00 C +HETATM 2144 H1 MOL W 1 26.802 29.443 2.030 1.00 0.00 H +HETATM 2145 C2 MOL W 1 26.185 27.619 3.088 1.00 0.00 C +HETATM 2146 H2 MOL W 1 25.276 27.457 2.514 1.00 0.00 H +HETATM 2147 C3 MOL W 1 26.555 26.676 4.004 1.00 0.00 C +HETATM 2148 H3 MOL W 1 25.819 25.911 4.239 1.00 0.00 H +HETATM 2149 C4 MOL W 1 27.745 26.802 4.652 1.00 0.00 C +HETATM 2150 H4 MOL W 1 28.061 26.091 5.411 1.00 0.00 H +HETATM 2151 C5 MOL W 1 28.570 27.907 4.403 1.00 0.00 C +HETATM 2152 H5 MOL W 1 29.503 28.109 4.923 1.00 0.00 H +HETATM 2153 C6 MOL W 1 28.256 28.838 3.460 1.00 0.00 C +HETATM 2154 C7 MOL W 1 29.173 29.983 3.093 1.00 0.00 C +HETATM 2155 H6 MOL W 1 28.795 30.544 2.235 1.00 0.00 H +HETATM 2156 H7 MOL W 1 30.142 29.499 2.948 1.00 0.00 H +HETATM 2157 O1 MOL W 1 29.302 30.932 4.133 1.00 0.00 O +HETATM 2158 H8 MOL W 1 30.141 30.625 4.522 1.00 0.00 H +TER 2159 MOL W 1 +HETATM 2160 C1 MOL X 1 39.699 30.847 2.862 1.00 0.00 C +HETATM 2161 H1 MOL X 1 38.928 31.380 2.310 1.00 0.00 H +HETATM 2162 C2 MOL X 1 39.820 29.442 2.711 1.00 0.00 C +HETATM 2163 H2 MOL X 1 39.106 28.967 2.043 1.00 0.00 H +HETATM 2164 C3 MOL X 1 40.839 28.792 3.475 1.00 0.00 C +HETATM 2165 H3 MOL X 1 40.984 27.715 3.426 1.00 0.00 H +HETATM 2166 C4 MOL X 1 41.611 29.518 4.463 1.00 0.00 C +HETATM 2167 H4 MOL X 1 42.442 29.078 5.008 1.00 0.00 H +HETATM 2168 C5 MOL X 1 41.398 30.896 4.596 1.00 0.00 C +HETATM 2169 H5 MOL X 1 41.917 31.492 5.342 1.00 0.00 H +HETATM 2170 C6 MOL X 1 40.426 31.536 3.790 1.00 0.00 C +HETATM 2171 C7 MOL X 1 40.336 33.052 3.992 1.00 0.00 C +HETATM 2172 H6 MOL X 1 41.213 33.541 3.560 1.00 0.00 H +HETATM 2173 H7 MOL X 1 40.330 33.230 5.071 1.00 0.00 H +HETATM 2174 O1 MOL X 1 39.178 33.662 3.408 1.00 0.00 O +HETATM 2175 H8 MOL X 1 39.265 33.626 2.438 1.00 0.00 H +TER 2176 MOL X 1 +HETATM 2177 C1 MOL Y 1 40.099 35.006 30.287 1.00 0.00 C +HETATM 2178 H1 MOL Y 1 41.061 35.406 30.597 1.00 0.00 H +HETATM 2179 C2 MOL Y 1 39.117 35.847 29.646 1.00 0.00 C +HETATM 2180 H2 MOL Y 1 39.395 36.855 29.350 1.00 0.00 H +HETATM 2181 C3 MOL Y 1 37.869 35.428 29.501 1.00 0.00 C +HETATM 2182 H3 MOL Y 1 37.192 36.138 29.033 1.00 0.00 H +HETATM 2183 C4 MOL Y 1 37.523 34.158 29.895 1.00 0.00 C +HETATM 2184 H4 MOL Y 1 36.499 33.829 29.738 1.00 0.00 H +HETATM 2185 C5 MOL Y 1 38.386 33.373 30.646 1.00 0.00 C +HETATM 2186 H5 MOL Y 1 38.049 32.397 30.985 1.00 0.00 H +HETATM 2187 C6 MOL Y 1 39.718 33.744 30.739 1.00 0.00 C +HETATM 2188 C7 MOL Y 1 40.663 32.940 31.517 1.00 0.00 C +HETATM 2189 H6 MOL Y 1 41.686 33.308 31.410 1.00 0.00 H +HETATM 2190 H7 MOL Y 1 40.593 31.902 31.181 1.00 0.00 H +HETATM 2191 O1 MOL Y 1 40.394 32.993 33.002 1.00 0.00 O +HETATM 2192 H8 MOL Y 1 39.638 32.456 33.299 1.00 0.00 H +TER 2193 MOL Y 1 +HETATM 2194 C1 MOL Z 1 26.263 -0.518 30.395 1.00 0.00 C +HETATM 2195 H1 MOL Z 1 25.967 -0.755 29.376 1.00 0.00 H +HETATM 2196 C2 MOL Z 1 26.675 0.772 30.666 1.00 0.00 C +HETATM 2197 H2 MOL Z 1 26.668 1.466 29.830 1.00 0.00 H +HETATM 2198 C3 MOL Z 1 27.086 1.176 31.900 1.00 0.00 C +HETATM 2199 H3 MOL Z 1 27.389 2.185 32.166 1.00 0.00 H +HETATM 2200 C4 MOL Z 1 27.204 0.139 32.842 1.00 0.00 C +HETATM 2201 H4 MOL Z 1 27.519 0.329 33.865 1.00 0.00 H +HETATM 2202 C5 MOL Z 1 26.897 -1.183 32.589 1.00 0.00 C +HETATM 2203 H5 MOL Z 1 26.904 -1.847 33.449 1.00 0.00 H +HETATM 2204 C6 MOL Z 1 26.428 -1.521 31.364 1.00 0.00 C +HETATM 2205 C7 MOL Z 1 26.026 -2.907 31.009 1.00 0.00 C +HETATM 2206 H6 MOL Z 1 26.112 -3.187 29.956 1.00 0.00 H +HETATM 2207 H7 MOL Z 1 24.966 -3.114 31.177 1.00 0.00 H +HETATM 2208 O1 MOL Z 1 26.733 -3.874 31.840 1.00 0.00 O +HETATM 2209 H8 MOL Z 1 27.655 -3.590 31.706 1.00 0.00 H +TER 2210 MOL Z 1 +HETATM 2211 C1 MOL A 1 25.691 37.759 23.232 1.00 0.00 C +HETATM 2212 H1 MOL A 1 26.634 37.359 22.865 1.00 0.00 H +HETATM 2213 C2 MOL A 1 24.583 37.548 22.424 1.00 0.00 C +HETATM 2214 H2 MOL A 1 24.776 37.310 21.382 1.00 0.00 H +HETATM 2215 C3 MOL A 1 23.250 37.826 22.892 1.00 0.00 C +HETATM 2216 H3 MOL A 1 22.341 37.731 22.304 1.00 0.00 H +HETATM 2217 C4 MOL A 1 23.129 38.275 24.195 1.00 0.00 C +HETATM 2218 H4 MOL A 1 22.142 38.410 24.629 1.00 0.00 H +HETATM 2219 C5 MOL A 1 24.244 38.539 25.014 1.00 0.00 C +HETATM 2220 H5 MOL A 1 24.045 38.799 26.051 1.00 0.00 H +HETATM 2221 C6 MOL A 1 25.478 38.236 24.552 1.00 0.00 C +HETATM 2222 C7 MOL A 1 26.607 38.604 25.480 1.00 0.00 C +HETATM 2223 H6 MOL A 1 26.471 39.659 25.728 1.00 0.00 H +HETATM 2224 H7 MOL A 1 27.589 38.566 25.001 1.00 0.00 H +HETATM 2225 O1 MOL A 1 26.627 37.792 26.635 1.00 0.00 O +HETATM 2226 H8 MOL A 1 26.895 36.925 26.283 1.00 0.00 H +TER 2227 MOL A 1 +HETATM 2228 C1 MOL B 1 43.357 13.476 13.966 1.00 0.00 C +HETATM 2229 H1 MOL B 1 43.707 12.809 14.749 1.00 0.00 H +HETATM 2230 C2 MOL B 1 42.179 13.249 13.293 1.00 0.00 C +HETATM 2231 H2 MOL B 1 41.488 12.440 13.516 1.00 0.00 H +HETATM 2232 C3 MOL B 1 41.762 14.200 12.317 1.00 0.00 C +HETATM 2233 H3 MOL B 1 40.894 13.949 11.713 1.00 0.00 H +HETATM 2234 C4 MOL B 1 42.581 15.331 12.078 1.00 0.00 C +HETATM 2235 H4 MOL B 1 42.294 15.998 11.269 1.00 0.00 H +HETATM 2236 C5 MOL B 1 43.794 15.502 12.771 1.00 0.00 C +HETATM 2237 H5 MOL B 1 44.474 16.279 12.430 1.00 0.00 H +HETATM 2238 C6 MOL B 1 44.264 14.509 13.667 1.00 0.00 C +HETATM 2239 C7 MOL B 1 45.613 14.678 14.322 1.00 0.00 C +HETATM 2240 H6 MOL B 1 45.763 13.778 14.924 1.00 0.00 H +HETATM 2241 H7 MOL B 1 45.566 15.507 15.033 1.00 0.00 H +HETATM 2242 O1 MOL B 1 46.772 14.649 13.533 1.00 0.00 O +HETATM 2243 H8 MOL B 1 46.586 13.954 12.876 1.00 0.00 H +TER 2244 MOL B 1 +HETATM 2245 C1 MOL C 1 4.966 19.535 20.008 1.00 0.00 C +HETATM 2246 H1 MOL C 1 4.226 18.741 20.063 1.00 0.00 H +HETATM 2247 C2 MOL C 1 4.610 20.818 20.354 1.00 0.00 C +HETATM 2248 H2 MOL C 1 3.541 20.992 20.454 1.00 0.00 H +HETATM 2249 C3 MOL C 1 5.565 21.878 20.394 1.00 0.00 C +HETATM 2250 H3 MOL C 1 5.163 22.857 20.644 1.00 0.00 H +HETATM 2251 C4 MOL C 1 6.920 21.591 20.016 1.00 0.00 C +HETATM 2252 H4 MOL C 1 7.705 22.337 20.104 1.00 0.00 H +HETATM 2253 C5 MOL C 1 7.225 20.243 19.680 1.00 0.00 C +HETATM 2254 H5 MOL C 1 8.268 19.966 19.551 1.00 0.00 H +HETATM 2255 C6 MOL C 1 6.283 19.207 19.688 1.00 0.00 C +HETATM 2256 C7 MOL C 1 6.618 17.775 19.475 1.00 0.00 C +HETATM 2257 H6 MOL C 1 7.221 17.697 18.567 1.00 0.00 H +HETATM 2258 H7 MOL C 1 5.755 17.115 19.359 1.00 0.00 H +HETATM 2259 O1 MOL C 1 7.501 17.296 20.518 1.00 0.00 O +HETATM 2260 H8 MOL C 1 6.977 17.338 21.338 1.00 0.00 H +TER 2261 MOL C 1 +HETATM 2262 C1 MOL D 1 28.049 9.214 23.974 1.00 0.00 C +HETATM 2263 H1 MOL D 1 28.952 9.135 23.374 1.00 0.00 H +HETATM 2264 C2 MOL D 1 27.780 10.317 24.775 1.00 0.00 C +HETATM 2265 H2 MOL D 1 28.557 11.056 24.954 1.00 0.00 H +HETATM 2266 C3 MOL D 1 26.568 10.423 25.444 1.00 0.00 C +HETATM 2267 H3 MOL D 1 26.362 11.301 26.052 1.00 0.00 H +HETATM 2268 C4 MOL D 1 25.574 9.460 25.258 1.00 0.00 C +HETATM 2269 H4 MOL D 1 24.573 9.506 25.679 1.00 0.00 H +HETATM 2270 C5 MOL D 1 25.871 8.379 24.457 1.00 0.00 C +HETATM 2271 H5 MOL D 1 25.101 7.613 24.472 1.00 0.00 H +HETATM 2272 C6 MOL D 1 27.052 8.288 23.762 1.00 0.00 C +HETATM 2273 C7 MOL D 1 27.455 7.025 23.029 1.00 0.00 C +HETATM 2274 H6 MOL D 1 27.756 7.417 22.054 1.00 0.00 H +HETATM 2275 H7 MOL D 1 26.566 6.423 22.825 1.00 0.00 H +HETATM 2276 O1 MOL D 1 28.447 6.293 23.694 1.00 0.00 O +HETATM 2277 H8 MOL D 1 28.376 5.364 23.410 1.00 0.00 H +TER 2278 MOL D 1 +HETATM 2279 C1 MOL E 1 20.763 27.676 31.591 1.00 0.00 C +HETATM 2280 H1 MOL E 1 20.073 27.973 30.806 1.00 0.00 H +HETATM 2281 C2 MOL E 1 22.081 28.204 31.572 1.00 0.00 C +HETATM 2282 H2 MOL E 1 22.437 28.905 30.822 1.00 0.00 H +HETATM 2283 C3 MOL E 1 22.956 27.636 32.454 1.00 0.00 C +HETATM 2284 H3 MOL E 1 23.949 28.068 32.365 1.00 0.00 H +HETATM 2285 C4 MOL E 1 22.606 26.589 33.235 1.00 0.00 C +HETATM 2286 H4 MOL E 1 23.436 26.139 33.774 1.00 0.00 H +HETATM 2287 C5 MOL E 1 21.238 26.109 33.309 1.00 0.00 C +HETATM 2288 H5 MOL E 1 20.967 25.232 33.890 1.00 0.00 H +HETATM 2289 C6 MOL E 1 20.332 26.676 32.470 1.00 0.00 C +HETATM 2290 C7 MOL E 1 18.942 26.142 32.231 1.00 0.00 C +HETATM 2291 H6 MOL E 1 18.839 25.220 32.809 1.00 0.00 H +HETATM 2292 H7 MOL E 1 18.892 25.763 31.207 1.00 0.00 H +HETATM 2293 O1 MOL E 1 17.913 27.111 32.444 1.00 0.00 O +HETATM 2294 H8 MOL E 1 17.738 27.073 33.401 1.00 0.00 H +TER 2295 MOL E 1 +HETATM 2296 C1 MOL F 1 28.787 29.357 37.990 1.00 0.00 C +HETATM 2297 H1 MOL F 1 28.794 29.815 38.975 1.00 0.00 H +HETATM 2298 C2 MOL F 1 29.972 29.528 37.298 1.00 0.00 C +HETATM 2299 H2 MOL F 1 30.836 30.017 37.741 1.00 0.00 H +HETATM 2300 C3 MOL F 1 30.093 28.881 36.026 1.00 0.00 C +HETATM 2301 H3 MOL F 1 31.062 28.852 35.535 1.00 0.00 H +HETATM 2302 C4 MOL F 1 29.119 28.113 35.514 1.00 0.00 C +HETATM 2303 H4 MOL F 1 29.377 27.539 34.628 1.00 0.00 H +HETATM 2304 C5 MOL F 1 27.933 27.872 36.220 1.00 0.00 C +HETATM 2305 H5 MOL F 1 27.183 27.183 35.839 1.00 0.00 H +HETATM 2306 C6 MOL F 1 27.828 28.494 37.438 1.00 0.00 C +HETATM 2307 C7 MOL F 1 26.603 28.196 38.344 1.00 0.00 C +HETATM 2308 H6 MOL F 1 25.666 28.424 37.831 1.00 0.00 H +HETATM 2309 H7 MOL F 1 26.511 28.923 39.155 1.00 0.00 H +HETATM 2310 O1 MOL F 1 26.499 26.775 38.686 1.00 0.00 O +HETATM 2311 H8 MOL F 1 27.208 26.637 39.340 1.00 0.00 H +TER 2312 MOL F 1 +HETATM 2313 C1 MOL G 1 36.285 32.581 40.768 1.00 0.00 C +HETATM 2314 H1 MOL G 1 36.034 32.067 41.693 1.00 0.00 H +HETATM 2315 C2 MOL G 1 36.582 31.805 39.608 1.00 0.00 C +HETATM 2316 H2 MOL G 1 36.602 30.726 39.734 1.00 0.00 H +HETATM 2317 C3 MOL G 1 36.704 32.384 38.376 1.00 0.00 C +HETATM 2318 H3 MOL G 1 36.743 31.789 37.467 1.00 0.00 H +HETATM 2319 C4 MOL G 1 36.665 33.786 38.307 1.00 0.00 C +HETATM 2320 H4 MOL G 1 36.740 34.285 37.344 1.00 0.00 H +HETATM 2321 C5 MOL G 1 36.463 34.556 39.430 1.00 0.00 C +HETATM 2322 H5 MOL G 1 36.342 35.625 39.274 1.00 0.00 H +HETATM 2323 C6 MOL G 1 36.125 33.953 40.649 1.00 0.00 C +HETATM 2324 C7 MOL G 1 35.745 34.791 41.845 1.00 0.00 C +HETATM 2325 H6 MOL G 1 36.559 35.463 42.130 1.00 0.00 H +HETATM 2326 H7 MOL G 1 35.468 34.193 42.718 1.00 0.00 H +HETATM 2327 O1 MOL G 1 34.527 35.502 41.464 1.00 0.00 O +HETATM 2328 H8 MOL G 1 34.009 34.716 41.214 1.00 0.00 H +TER 2329 MOL G 1 +HETATM 2330 C1 MOL H 1 3.621 4.436 28.786 1.00 0.00 C +HETATM 2331 H1 MOL H 1 2.732 3.832 28.950 1.00 0.00 H +HETATM 2332 C2 MOL H 1 4.660 3.902 27.973 1.00 0.00 C +HETATM 2333 H2 MOL H 1 4.603 2.879 27.610 1.00 0.00 H +HETATM 2334 C3 MOL H 1 5.772 4.701 27.773 1.00 0.00 C +HETATM 2335 H3 MOL H 1 6.633 4.315 27.234 1.00 0.00 H +HETATM 2336 C4 MOL H 1 5.859 6.002 28.323 1.00 0.00 C +HETATM 2337 H4 MOL H 1 6.824 6.469 28.147 1.00 0.00 H +HETATM 2338 C5 MOL H 1 4.828 6.510 29.141 1.00 0.00 C +HETATM 2339 H5 MOL H 1 4.974 7.504 29.555 1.00 0.00 H +HETATM 2340 C6 MOL H 1 3.644 5.798 29.342 1.00 0.00 C +HETATM 2341 C7 MOL H 1 2.549 6.306 30.118 1.00 0.00 C +HETATM 2342 H6 MOL H 1 1.733 6.682 29.495 1.00 0.00 H +HETATM 2343 H7 MOL H 1 2.920 7.170 30.676 1.00 0.00 H +HETATM 2344 O1 MOL H 1 1.921 5.189 30.920 1.00 0.00 O +HETATM 2345 H8 MOL H 1 2.683 4.703 31.282 1.00 0.00 H +TER 2346 MOL H 1 +HETATM 2347 C1 MOL I 1 24.677 18.437 4.962 1.00 0.00 C +HETATM 2348 H1 MOL I 1 24.633 17.562 5.605 1.00 0.00 H +HETATM 2349 C2 MOL I 1 25.779 18.481 4.098 1.00 0.00 C +HETATM 2350 H2 MOL I 1 26.661 17.851 4.189 1.00 0.00 H +HETATM 2351 C3 MOL I 1 25.806 19.336 3.029 1.00 0.00 C +HETATM 2352 H3 MOL I 1 26.605 19.444 2.300 1.00 0.00 H +HETATM 2353 C4 MOL I 1 24.757 20.270 2.871 1.00 0.00 C +HETATM 2354 H4 MOL I 1 24.868 21.102 2.181 1.00 0.00 H +HETATM 2355 C5 MOL I 1 23.681 20.268 3.776 1.00 0.00 C +HETATM 2356 H5 MOL I 1 22.898 20.989 3.553 1.00 0.00 H +HETATM 2357 C6 MOL I 1 23.606 19.358 4.760 1.00 0.00 C +HETATM 2358 C7 MOL I 1 22.353 19.249 5.582 1.00 0.00 C +HETATM 2359 H6 MOL I 1 21.669 18.543 5.104 1.00 0.00 H +HETATM 2360 H7 MOL I 1 21.869 20.221 5.463 1.00 0.00 H +HETATM 2361 O1 MOL I 1 22.571 18.845 6.881 1.00 0.00 O +HETATM 2362 H8 MOL I 1 22.803 19.697 7.291 1.00 0.00 H +TER 2363 MOL I 1 +HETATM 2364 C1 MOL J 1 28.896 30.022 43.580 1.00 0.00 C +HETATM 2365 H1 MOL J 1 29.811 30.411 44.019 1.00 0.00 H +HETATM 2366 C2 MOL J 1 28.177 28.941 43.941 1.00 0.00 C +HETATM 2367 H2 MOL J 1 28.531 28.493 44.866 1.00 0.00 H +HETATM 2368 C3 MOL J 1 27.009 28.553 43.362 1.00 0.00 C +HETATM 2369 H3 MOL J 1 26.492 27.621 43.572 1.00 0.00 H +HETATM 2370 C4 MOL J 1 26.520 29.295 42.261 1.00 0.00 C +HETATM 2371 H4 MOL J 1 25.663 28.915 41.710 1.00 0.00 H +HETATM 2372 C5 MOL J 1 27.280 30.364 41.775 1.00 0.00 C +HETATM 2373 H5 MOL J 1 26.915 30.900 40.902 1.00 0.00 H +HETATM 2374 C6 MOL J 1 28.435 30.777 42.507 1.00 0.00 C +HETATM 2375 C7 MOL J 1 29.242 31.985 42.172 1.00 0.00 C +HETATM 2376 H6 MOL J 1 30.313 31.779 42.234 1.00 0.00 H +HETATM 2377 H7 MOL J 1 28.873 32.757 42.852 1.00 0.00 H +HETATM 2378 O1 MOL J 1 29.061 32.530 40.895 1.00 0.00 O +HETATM 2379 H8 MOL J 1 29.934 32.813 40.567 1.00 0.00 H +TER 2380 MOL J 1 +HETATM 2381 C1 MOL K 1 42.348 43.826 0.817 1.00 0.00 C +HETATM 2382 H1 MOL K 1 42.367 44.350 1.770 1.00 0.00 H +HETATM 2383 C2 MOL K 1 43.277 44.235 -0.168 1.00 0.00 C +HETATM 2384 H2 MOL K 1 44.007 44.975 0.152 1.00 0.00 H +HETATM 2385 C3 MOL K 1 43.291 43.559 -1.401 1.00 0.00 C +HETATM 2386 H3 MOL K 1 43.938 43.980 -2.167 1.00 0.00 H +HETATM 2387 C4 MOL K 1 42.389 42.555 -1.735 1.00 0.00 C +HETATM 2388 H4 MOL K 1 42.321 42.242 -2.774 1.00 0.00 H +HETATM 2389 C5 MOL K 1 41.458 42.158 -0.761 1.00 0.00 C +HETATM 2390 H5 MOL K 1 40.856 41.296 -1.037 1.00 0.00 H +HETATM 2391 C6 MOL K 1 41.520 42.778 0.548 1.00 0.00 C +HETATM 2392 C7 MOL K 1 40.482 42.453 1.571 1.00 0.00 C +HETATM 2393 H6 MOL K 1 39.944 41.527 1.351 1.00 0.00 H +HETATM 2394 H7 MOL K 1 39.809 43.310 1.660 1.00 0.00 H +HETATM 2395 O1 MOL K 1 40.993 42.135 2.880 1.00 0.00 O +HETATM 2396 H8 MOL K 1 40.522 42.750 3.471 1.00 0.00 H +TER 2397 MOL K 1 +HETATM 2398 C1 MOL L 1 38.805 0.773 34.189 1.00 0.00 C +HETATM 2399 H1 MOL L 1 39.062 -0.236 34.501 1.00 0.00 H +HETATM 2400 C2 MOL L 1 39.080 0.940 32.841 1.00 0.00 C +HETATM 2401 H2 MOL L 1 39.653 0.153 32.358 1.00 0.00 H +HETATM 2402 C3 MOL L 1 38.676 2.122 32.209 1.00 0.00 C +HETATM 2403 H3 MOL L 1 38.958 2.259 31.168 1.00 0.00 H +HETATM 2404 C4 MOL L 1 38.063 3.176 32.918 1.00 0.00 C +HETATM 2405 H4 MOL L 1 37.776 4.067 32.365 1.00 0.00 H +HETATM 2406 C5 MOL L 1 37.900 3.037 34.280 1.00 0.00 C +HETATM 2407 H5 MOL L 1 37.438 3.815 34.882 1.00 0.00 H +HETATM 2408 C6 MOL L 1 38.166 1.783 34.927 1.00 0.00 C +HETATM 2409 C7 MOL L 1 38.005 1.557 36.495 1.00 0.00 C +HETATM 2410 H6 MOL L 1 38.923 1.696 37.071 1.00 0.00 H +HETATM 2411 H7 MOL L 1 37.741 0.513 36.684 1.00 0.00 H +HETATM 2412 O1 MOL L 1 37.063 2.462 37.056 1.00 0.00 O +HETATM 2413 H8 MOL L 1 37.465 3.307 37.326 1.00 0.00 H +TER 2414 MOL L 1 +HETATM 2415 C1 MOL M 1 19.328 27.810 20.036 1.00 0.00 C +HETATM 2416 H1 MOL M 1 20.257 27.499 20.507 1.00 0.00 H +HETATM 2417 C2 MOL M 1 18.589 26.848 19.325 1.00 0.00 C +HETATM 2418 H2 MOL M 1 18.970 25.835 19.231 1.00 0.00 H +HETATM 2419 C3 MOL M 1 17.354 27.139 18.755 1.00 0.00 C +HETATM 2420 H3 MOL M 1 16.901 26.323 18.199 1.00 0.00 H +HETATM 2421 C4 MOL M 1 16.929 28.421 18.842 1.00 0.00 C +HETATM 2422 H4 MOL M 1 16.005 28.787 18.401 1.00 0.00 H +HETATM 2423 C5 MOL M 1 17.603 29.399 19.610 1.00 0.00 C +HETATM 2424 H5 MOL M 1 17.175 30.395 19.696 1.00 0.00 H +HETATM 2425 C6 MOL M 1 18.907 29.080 20.160 1.00 0.00 C +HETATM 2426 C7 MOL M 1 19.698 30.158 20.859 1.00 0.00 C +HETATM 2427 H6 MOL M 1 19.994 30.720 19.969 1.00 0.00 H +HETATM 2428 H7 MOL M 1 20.588 29.802 21.383 1.00 0.00 H +HETATM 2429 O1 MOL M 1 18.813 30.995 21.614 1.00 0.00 O +HETATM 2430 H8 MOL M 1 18.596 30.501 22.425 1.00 0.00 H +TER 2431 MOL M 1 +HETATM 2432 C1 MOL N 1 38.178 -0.061 28.582 1.00 0.00 C +HETATM 2433 H1 MOL N 1 38.005 0.535 29.475 1.00 0.00 H +HETATM 2434 C2 MOL N 1 38.047 -1.437 28.568 1.00 0.00 C +HETATM 2435 H2 MOL N 1 37.662 -1.904 29.472 1.00 0.00 H +HETATM 2436 C3 MOL N 1 38.389 -2.183 27.428 1.00 0.00 C +HETATM 2437 H3 MOL N 1 38.139 -3.238 27.512 1.00 0.00 H +HETATM 2438 C4 MOL N 1 39.054 -1.564 26.388 1.00 0.00 C +HETATM 2439 H4 MOL N 1 39.555 -2.080 25.573 1.00 0.00 H +HETATM 2440 C5 MOL N 1 39.071 -0.189 26.369 1.00 0.00 C +HETATM 2441 H5 MOL N 1 39.720 0.222 25.601 1.00 0.00 H +HETATM 2442 C6 MOL N 1 38.667 0.587 27.452 1.00 0.00 C +HETATM 2443 C7 MOL N 1 38.975 2.052 27.460 1.00 0.00 C +HETATM 2444 H6 MOL N 1 39.804 2.337 26.807 1.00 0.00 H +HETATM 2445 H7 MOL N 1 39.274 2.371 28.461 1.00 0.00 H +HETATM 2446 O1 MOL N 1 37.909 2.888 27.099 1.00 0.00 O +HETATM 2447 H8 MOL N 1 37.669 2.671 26.180 1.00 0.00 H +TER 2448 MOL N 1 +HETATM 2449 C1 MOL O 1 40.591 38.468 12.838 1.00 0.00 C +HETATM 2450 H1 MOL O 1 39.839 37.981 13.452 1.00 0.00 H +HETATM 2451 C2 MOL O 1 41.810 38.824 13.434 1.00 0.00 C +HETATM 2452 H2 MOL O 1 42.047 38.526 14.452 1.00 0.00 H +HETATM 2453 C3 MOL O 1 42.753 39.552 12.625 1.00 0.00 C +HETATM 2454 H3 MOL O 1 43.715 39.772 13.082 1.00 0.00 H +HETATM 2455 C4 MOL O 1 42.400 40.032 11.369 1.00 0.00 C +HETATM 2456 H4 MOL O 1 43.132 40.681 10.893 1.00 0.00 H +HETATM 2457 C5 MOL O 1 41.153 39.715 10.803 1.00 0.00 C +HETATM 2458 H5 MOL O 1 41.039 40.008 9.762 1.00 0.00 H +HETATM 2459 C6 MOL O 1 40.296 38.837 11.486 1.00 0.00 C +HETATM 2460 C7 MOL O 1 38.967 38.492 10.878 1.00 0.00 C +HETATM 2461 H6 MOL O 1 39.213 37.908 9.988 1.00 0.00 H +HETATM 2462 H7 MOL O 1 38.520 39.439 10.564 1.00 0.00 H +HETATM 2463 O1 MOL O 1 38.118 37.655 11.648 1.00 0.00 O +HETATM 2464 H8 MOL O 1 38.093 38.179 12.469 1.00 0.00 H +TER 2465 MOL O 1 +HETATM 2466 C1 MOL P 1 2.813 10.066 9.537 1.00 0.00 C +HETATM 2467 H1 MOL P 1 3.716 10.647 9.370 1.00 0.00 H +HETATM 2468 C2 MOL P 1 2.466 9.333 8.421 1.00 0.00 C +HETATM 2469 H2 MOL P 1 3.116 9.175 7.564 1.00 0.00 H +HETATM 2470 C3 MOL P 1 1.194 8.623 8.493 1.00 0.00 C +HETATM 2471 H3 MOL P 1 0.737 7.952 7.771 1.00 0.00 H +HETATM 2472 C4 MOL P 1 0.417 8.609 9.653 1.00 0.00 C +HETATM 2473 H4 MOL P 1 -0.461 7.991 9.822 1.00 0.00 H +HETATM 2474 C5 MOL P 1 0.873 9.386 10.764 1.00 0.00 C +HETATM 2475 H5 MOL P 1 0.414 9.347 11.749 1.00 0.00 H +HETATM 2476 C6 MOL P 1 1.988 10.150 10.634 1.00 0.00 C +HETATM 2477 C7 MOL P 1 2.413 11.008 11.838 1.00 0.00 C +HETATM 2478 H6 MOL P 1 3.255 11.623 11.511 1.00 0.00 H +HETATM 2479 H7 MOL P 1 2.743 10.442 12.713 1.00 0.00 H +HETATM 2480 O1 MOL P 1 1.533 12.008 12.288 1.00 0.00 O +HETATM 2481 H8 MOL P 1 1.017 11.361 12.802 1.00 0.00 H +TER 2482 MOL P 1 +HETATM 2483 C1 MOL Q 1 43.202 20.545 25.324 1.00 0.00 C +HETATM 2484 H1 MOL Q 1 42.582 20.314 24.461 1.00 0.00 H +HETATM 2485 C2 MOL Q 1 42.718 21.248 26.424 1.00 0.00 C +HETATM 2486 H2 MOL Q 1 41.685 21.577 26.501 1.00 0.00 H +HETATM 2487 C3 MOL Q 1 43.560 21.678 27.427 1.00 0.00 C +HETATM 2488 H3 MOL Q 1 43.150 22.377 28.151 1.00 0.00 H +HETATM 2489 C4 MOL Q 1 44.890 21.271 27.446 1.00 0.00 C +HETATM 2490 H4 MOL Q 1 45.581 21.645 28.197 1.00 0.00 H +HETATM 2491 C5 MOL Q 1 45.433 20.453 26.349 1.00 0.00 C +HETATM 2492 H5 MOL Q 1 46.462 20.106 26.380 1.00 0.00 H +HETATM 2493 C6 MOL Q 1 44.536 20.162 25.290 1.00 0.00 C +HETATM 2494 C7 MOL Q 1 45.050 19.422 24.080 1.00 0.00 C +HETATM 2495 H6 MOL Q 1 44.564 19.924 23.240 1.00 0.00 H +HETATM 2496 H7 MOL Q 1 44.757 18.373 23.990 1.00 0.00 H +HETATM 2497 O1 MOL Q 1 46.418 19.466 23.858 1.00 0.00 O +HETATM 2498 H8 MOL Q 1 46.630 20.137 23.185 1.00 0.00 H +TER 2499 MOL Q 1 +HETATM 2500 C1 MOL R 1 4.666 31.733 9.585 1.00 0.00 C +HETATM 2501 H1 MOL R 1 4.472 31.981 10.625 1.00 0.00 H +HETATM 2502 C2 MOL R 1 5.662 32.344 8.887 1.00 0.00 C +HETATM 2503 H2 MOL R 1 6.390 33.046 9.286 1.00 0.00 H +HETATM 2504 C3 MOL R 1 5.786 32.148 7.526 1.00 0.00 C +HETATM 2505 H3 MOL R 1 6.557 32.721 7.018 1.00 0.00 H +HETATM 2506 C4 MOL R 1 4.956 31.224 6.826 1.00 0.00 C +HETATM 2507 H4 MOL R 1 5.081 31.088 5.755 1.00 0.00 H +HETATM 2508 C5 MOL R 1 3.907 30.577 7.564 1.00 0.00 C +HETATM 2509 H5 MOL R 1 3.177 30.009 6.993 1.00 0.00 H +HETATM 2510 C6 MOL R 1 3.799 30.795 8.966 1.00 0.00 C +HETATM 2511 C7 MOL R 1 2.620 30.123 9.696 1.00 0.00 C +HETATM 2512 H6 MOL R 1 2.033 29.661 8.898 1.00 0.00 H +HETATM 2513 H7 MOL R 1 2.109 30.942 10.208 1.00 0.00 H +HETATM 2514 O1 MOL R 1 3.140 29.024 10.567 1.00 0.00 O +HETATM 2515 H8 MOL R 1 3.608 28.378 10.009 1.00 0.00 H +TER 2516 MOL R 1 +HETATM 2517 C1 MOL S 1 37.486 8.616 36.465 1.00 0.00 C +HETATM 2518 H1 MOL S 1 37.534 8.015 35.560 1.00 0.00 H +HETATM 2519 C2 MOL S 1 38.259 9.758 36.601 1.00 0.00 C +HETATM 2520 H2 MOL S 1 39.020 10.076 35.893 1.00 0.00 H +HETATM 2521 C3 MOL S 1 38.124 10.564 37.685 1.00 0.00 C +HETATM 2522 H3 MOL S 1 38.783 11.425 37.759 1.00 0.00 H +HETATM 2523 C4 MOL S 1 37.242 10.182 38.678 1.00 0.00 C +HETATM 2524 H4 MOL S 1 37.197 10.724 39.619 1.00 0.00 H +HETATM 2525 C5 MOL S 1 36.485 9.001 38.553 1.00 0.00 C +HETATM 2526 H5 MOL S 1 35.912 8.639 39.403 1.00 0.00 H +HETATM 2527 C6 MOL S 1 36.580 8.241 37.408 1.00 0.00 C +HETATM 2528 C7 MOL S 1 35.601 7.127 37.298 1.00 0.00 C +HETATM 2529 H6 MOL S 1 35.381 6.889 36.254 1.00 0.00 H +HETATM 2530 H7 MOL S 1 34.648 7.405 37.756 1.00 0.00 H +HETATM 2531 O1 MOL S 1 36.187 5.970 37.892 1.00 0.00 O +HETATM 2532 H8 MOL S 1 35.477 5.305 37.955 1.00 0.00 H +TER 2533 MOL S 1 +HETATM 2534 C1 MOL T 1 16.521 16.792 3.513 1.00 0.00 C +HETATM 2535 H1 MOL T 1 16.786 15.740 3.585 1.00 0.00 H +HETATM 2536 C2 MOL T 1 15.677 17.315 2.526 1.00 0.00 C +HETATM 2537 H2 MOL T 1 15.244 16.609 1.822 1.00 0.00 H +HETATM 2538 C3 MOL T 1 15.428 18.687 2.421 1.00 0.00 C +HETATM 2539 H3 MOL T 1 14.795 19.072 1.626 1.00 0.00 H +HETATM 2540 C4 MOL T 1 16.127 19.538 3.259 1.00 0.00 C +HETATM 2541 H4 MOL T 1 16.018 20.602 3.063 1.00 0.00 H +HETATM 2542 C5 MOL T 1 16.951 19.044 4.268 1.00 0.00 C +HETATM 2543 H5 MOL T 1 17.369 19.731 4.999 1.00 0.00 H +HETATM 2544 C6 MOL T 1 17.114 17.642 4.440 1.00 0.00 C +HETATM 2545 C7 MOL T 1 17.813 17.083 5.648 1.00 0.00 C +HETATM 2546 H6 MOL T 1 17.093 16.454 6.177 1.00 0.00 H +HETATM 2547 H7 MOL T 1 18.029 17.912 6.327 1.00 0.00 H +HETATM 2548 O1 MOL T 1 18.984 16.412 5.205 1.00 0.00 O +HETATM 2549 H8 MOL T 1 19.532 16.350 6.007 1.00 0.00 H +TER 2550 MOL T 1 +HETATM 2551 C1 MOL U 1 23.820 26.021 19.005 1.00 0.00 C +HETATM 2552 H1 MOL U 1 23.381 25.864 18.023 1.00 0.00 H +HETATM 2553 C2 MOL U 1 24.807 25.101 19.451 1.00 0.00 C +HETATM 2554 H2 MOL U 1 25.031 24.212 18.866 1.00 0.00 H +HETATM 2555 C3 MOL U 1 25.497 25.302 20.595 1.00 0.00 C +HETATM 2556 H3 MOL U 1 26.268 24.615 20.935 1.00 0.00 H +HETATM 2557 C4 MOL U 1 25.254 26.460 21.383 1.00 0.00 C +HETATM 2558 H4 MOL U 1 25.907 26.670 22.226 1.00 0.00 H +HETATM 2559 C5 MOL U 1 24.429 27.486 20.837 1.00 0.00 C +HETATM 2560 H5 MOL U 1 24.367 28.424 21.382 1.00 0.00 H +HETATM 2561 C6 MOL U 1 23.676 27.214 19.686 1.00 0.00 C +HETATM 2562 C7 MOL U 1 22.814 28.329 19.109 1.00 0.00 C +HETATM 2563 H6 MOL U 1 22.308 28.948 19.855 1.00 0.00 H +HETATM 2564 H7 MOL U 1 22.010 27.883 18.517 1.00 0.00 H +HETATM 2565 O1 MOL U 1 23.614 29.157 18.263 1.00 0.00 O +HETATM 2566 H8 MOL U 1 23.999 28.522 17.633 1.00 0.00 H +TER 2567 MOL U 1 +HETATM 2568 C1 MOL V 1 26.597 26.898 12.050 1.00 0.00 C +HETATM 2569 H1 MOL V 1 25.604 27.339 12.088 1.00 0.00 H +HETATM 2570 C2 MOL V 1 26.631 25.544 12.353 1.00 0.00 C +HETATM 2571 H2 MOL V 1 25.698 25.152 12.750 1.00 0.00 H +HETATM 2572 C3 MOL V 1 27.771 24.757 12.256 1.00 0.00 C +HETATM 2573 H3 MOL V 1 27.671 23.701 12.494 1.00 0.00 H +HETATM 2574 C4 MOL V 1 28.987 25.421 11.891 1.00 0.00 C +HETATM 2575 H4 MOL V 1 29.935 24.900 11.785 1.00 0.00 H +HETATM 2576 C5 MOL V 1 28.921 26.786 11.542 1.00 0.00 C +HETATM 2577 H5 MOL V 1 29.808 27.381 11.336 1.00 0.00 H +HETATM 2578 C6 MOL V 1 27.703 27.489 11.577 1.00 0.00 C +HETATM 2579 C7 MOL V 1 27.736 28.961 11.296 1.00 0.00 C +HETATM 2580 H6 MOL V 1 26.819 29.234 10.768 1.00 0.00 H +HETATM 2581 H7 MOL V 1 28.639 29.285 10.771 1.00 0.00 H +HETATM 2582 O1 MOL V 1 27.748 29.696 12.552 1.00 0.00 O +HETATM 2583 H8 MOL V 1 28.259 30.521 12.467 1.00 0.00 H +TER 2584 MOL V 1 +HETATM 2585 C1 MOL W 1 34.736 2.399 3.851 1.00 0.00 C +HETATM 2586 H1 MOL W 1 35.810 2.333 4.007 1.00 0.00 H +HETATM 2587 C2 MOL W 1 33.882 2.161 4.922 1.00 0.00 C +HETATM 2588 H2 MOL W 1 34.283 1.871 5.890 1.00 0.00 H +HETATM 2589 C3 MOL W 1 32.530 2.398 4.741 1.00 0.00 C +HETATM 2590 H3 MOL W 1 31.808 2.152 5.515 1.00 0.00 H +HETATM 2591 C4 MOL W 1 31.993 2.588 3.449 1.00 0.00 C +HETATM 2592 H4 MOL W 1 30.948 2.577 3.151 1.00 0.00 H +HETATM 2593 C5 MOL W 1 32.830 2.714 2.325 1.00 0.00 C +HETATM 2594 H5 MOL W 1 32.488 2.809 1.298 1.00 0.00 H +HETATM 2595 C6 MOL W 1 34.216 2.683 2.567 1.00 0.00 C +HETATM 2596 C7 MOL W 1 35.227 2.941 1.430 1.00 0.00 C +HETATM 2597 H6 MOL W 1 36.053 2.226 1.468 1.00 0.00 H +HETATM 2598 H7 MOL W 1 35.727 3.892 1.631 1.00 0.00 H +HETATM 2599 O1 MOL W 1 34.642 3.057 0.134 1.00 0.00 O +HETATM 2600 H8 MOL W 1 34.600 2.144 -0.203 1.00 0.00 H +TER 2601 MOL W 1 +HETATM 2602 C1 MOL X 1 28.951 39.961 4.792 1.00 0.00 C +HETATM 2603 H1 MOL X 1 29.328 40.354 5.733 1.00 0.00 H +HETATM 2604 C2 MOL X 1 29.254 38.552 4.518 1.00 0.00 C +HETATM 2605 H2 MOL X 1 29.769 37.848 5.166 1.00 0.00 H +HETATM 2606 C3 MOL X 1 28.603 37.996 3.439 1.00 0.00 C +HETATM 2607 H3 MOL X 1 28.783 36.960 3.161 1.00 0.00 H +HETATM 2608 C4 MOL X 1 27.915 38.745 2.547 1.00 0.00 C +HETATM 2609 H4 MOL X 1 27.563 38.259 1.641 1.00 0.00 H +HETATM 2610 C5 MOL X 1 27.610 40.105 2.853 1.00 0.00 C +HETATM 2611 H5 MOL X 1 26.885 40.614 2.222 1.00 0.00 H +HETATM 2612 C6 MOL X 1 28.204 40.718 3.943 1.00 0.00 C +HETATM 2613 C7 MOL X 1 27.978 42.228 4.362 1.00 0.00 C +HETATM 2614 H6 MOL X 1 28.614 42.505 5.207 1.00 0.00 H +HETATM 2615 H7 MOL X 1 26.949 42.208 4.732 1.00 0.00 H +HETATM 2616 O1 MOL X 1 27.969 43.266 3.347 1.00 0.00 O +HETATM 2617 H8 MOL X 1 27.664 44.115 3.715 1.00 0.00 H +TER 2618 MOL X 1 +HETATM 2619 C1 MOL Y 1 17.593 39.410 9.125 1.00 0.00 C +HETATM 2620 H1 MOL Y 1 18.285 38.755 9.647 1.00 0.00 H +HETATM 2621 C2 MOL Y 1 17.013 38.918 7.994 1.00 0.00 C +HETATM 2622 H2 MOL Y 1 17.246 37.907 7.672 1.00 0.00 H +HETATM 2623 C3 MOL Y 1 16.015 39.687 7.370 1.00 0.00 C +HETATM 2624 H3 MOL Y 1 15.535 39.232 6.507 1.00 0.00 H +HETATM 2625 C4 MOL Y 1 15.862 41.065 7.780 1.00 0.00 C +HETATM 2626 H4 MOL Y 1 15.188 41.681 7.191 1.00 0.00 H +HETATM 2627 C5 MOL Y 1 16.459 41.559 8.934 1.00 0.00 C +HETATM 2628 H5 MOL Y 1 16.280 42.584 9.250 1.00 0.00 H +HETATM 2629 C6 MOL Y 1 17.427 40.750 9.601 1.00 0.00 C +HETATM 2630 C7 MOL Y 1 18.096 41.260 10.870 1.00 0.00 C +HETATM 2631 H6 MOL Y 1 17.958 40.532 11.673 1.00 0.00 H +HETATM 2632 H7 MOL Y 1 17.596 42.143 11.276 1.00 0.00 H +HETATM 2633 O1 MOL Y 1 19.489 41.465 10.628 1.00 0.00 O +HETATM 2634 H8 MOL Y 1 19.969 40.675 10.935 1.00 0.00 H +TER 2635 MOL Y 1 +HETATM 2636 C1 MOL Z 1 42.789 18.327 36.774 1.00 0.00 C +HETATM 2637 H1 MOL Z 1 42.569 17.776 37.685 1.00 0.00 H +HETATM 2638 C2 MOL Z 1 43.598 17.719 35.837 1.00 0.00 C +HETATM 2639 H2 MOL Z 1 43.976 16.705 35.936 1.00 0.00 H +HETATM 2640 C3 MOL Z 1 43.902 18.368 34.641 1.00 0.00 C +HETATM 2641 H3 MOL Z 1 44.480 17.868 33.868 1.00 0.00 H +HETATM 2642 C4 MOL Z 1 43.466 19.676 34.425 1.00 0.00 C +HETATM 2643 H4 MOL Z 1 43.567 20.140 33.448 1.00 0.00 H +HETATM 2644 C5 MOL Z 1 42.673 20.300 35.356 1.00 0.00 C +HETATM 2645 H5 MOL Z 1 42.195 21.221 35.033 1.00 0.00 H +HETATM 2646 C6 MOL Z 1 42.365 19.671 36.585 1.00 0.00 C +HETATM 2647 C7 MOL Z 1 41.489 20.384 37.577 1.00 0.00 C +HETATM 2648 H6 MOL Z 1 41.346 19.732 38.443 1.00 0.00 H +HETATM 2649 H7 MOL Z 1 40.572 20.588 37.018 1.00 0.00 H +HETATM 2650 O1 MOL Z 1 42.069 21.625 37.960 1.00 0.00 O +HETATM 2651 H8 MOL Z 1 43.024 21.496 38.097 1.00 0.00 H +TER 2652 MOL Z 1 +HETATM 2653 C1 MOL A 1 20.786 10.158 32.200 1.00 0.00 C +HETATM 2654 H1 MOL A 1 20.363 11.159 32.217 1.00 0.00 H +HETATM 2655 C2 MOL A 1 21.799 9.828 31.305 1.00 0.00 C +HETATM 2656 H2 MOL A 1 22.129 10.526 30.541 1.00 0.00 H +HETATM 2657 C3 MOL A 1 22.523 8.634 31.453 1.00 0.00 C +HETATM 2658 H3 MOL A 1 23.293 8.542 30.691 1.00 0.00 H +HETATM 2659 C4 MOL A 1 22.266 7.753 32.476 1.00 0.00 C +HETATM 2660 H4 MOL A 1 22.887 6.867 32.578 1.00 0.00 H +HETATM 2661 C5 MOL A 1 21.260 8.014 33.420 1.00 0.00 C +HETATM 2662 H5 MOL A 1 20.958 7.308 34.189 1.00 0.00 H +HETATM 2663 C6 MOL A 1 20.531 9.191 33.214 1.00 0.00 C +HETATM 2664 C7 MOL A 1 19.520 9.603 34.299 1.00 0.00 C +HETATM 2665 H6 MOL A 1 19.590 10.676 34.495 1.00 0.00 H +HETATM 2666 H7 MOL A 1 19.658 8.986 35.191 1.00 0.00 H +HETATM 2667 O1 MOL A 1 18.165 9.253 34.027 1.00 0.00 O +HETATM 2668 H8 MOL A 1 17.866 9.765 33.254 1.00 0.00 H +TER 2669 MOL A 1 +HETATM 2670 C1 MOL B 1 39.558 43.174 15.570 1.00 0.00 C +HETATM 2671 H1 MOL B 1 38.880 43.081 16.414 1.00 0.00 H +HETATM 2672 C2 MOL B 1 40.463 44.287 15.416 1.00 0.00 C +HETATM 2673 H2 MOL B 1 40.455 44.977 16.255 1.00 0.00 H +HETATM 2674 C3 MOL B 1 41.328 44.326 14.317 1.00 0.00 C +HETATM 2675 H3 MOL B 1 42.102 45.084 14.229 1.00 0.00 H +HETATM 2676 C4 MOL B 1 41.317 43.304 13.388 1.00 0.00 C +HETATM 2677 H4 MOL B 1 42.065 43.213 12.605 1.00 0.00 H +HETATM 2678 C5 MOL B 1 40.431 42.276 13.516 1.00 0.00 C +HETATM 2679 H5 MOL B 1 40.611 41.487 12.790 1.00 0.00 H +HETATM 2680 C6 MOL B 1 39.553 42.174 14.597 1.00 0.00 C +HETATM 2681 C7 MOL B 1 38.706 40.990 14.722 1.00 0.00 C +HETATM 2682 H6 MOL B 1 38.257 41.148 15.706 1.00 0.00 H +HETATM 2683 H7 MOL B 1 39.172 40.006 14.817 1.00 0.00 H +HETATM 2684 O1 MOL B 1 37.715 40.916 13.748 1.00 0.00 O +HETATM 2685 H8 MOL B 1 37.237 41.757 13.862 1.00 0.00 H +TER 2686 MOL B 1 +HETATM 2687 C1 MOL C 1 30.458 8.658 8.338 1.00 0.00 C +HETATM 2688 H1 MOL C 1 30.789 9.684 8.198 1.00 0.00 H +HETATM 2689 C2 MOL C 1 29.164 8.457 8.867 1.00 0.00 C +HETATM 2690 H2 MOL C 1 28.582 9.323 9.172 1.00 0.00 H +HETATM 2691 C3 MOL C 1 28.669 7.112 9.051 1.00 0.00 C +HETATM 2692 H3 MOL C 1 27.638 7.011 9.378 1.00 0.00 H +HETATM 2693 C4 MOL C 1 29.475 6.002 8.792 1.00 0.00 C +HETATM 2694 H4 MOL C 1 29.130 4.983 8.948 1.00 0.00 H +HETATM 2695 C5 MOL C 1 30.807 6.213 8.365 1.00 0.00 C +HETATM 2696 H5 MOL C 1 31.389 5.343 8.070 1.00 0.00 H +HETATM 2697 C6 MOL C 1 31.292 7.546 8.166 1.00 0.00 C +HETATM 2698 C7 MOL C 1 32.735 7.789 7.728 1.00 0.00 C +HETATM 2699 H6 MOL C 1 32.811 7.414 6.704 1.00 0.00 H +HETATM 2700 H7 MOL C 1 33.336 7.161 8.390 1.00 0.00 H +HETATM 2701 O1 MOL C 1 33.237 9.067 7.754 1.00 0.00 O +HETATM 2702 H8 MOL C 1 33.186 9.288 8.701 1.00 0.00 H +TER 2703 MOL C 1 +HETATM 2704 C1 MOL D 1 42.357 18.505 19.447 1.00 0.00 C +HETATM 2705 H1 MOL D 1 42.977 17.683 19.098 1.00 0.00 H +HETATM 2706 C2 MOL D 1 40.976 18.514 19.231 1.00 0.00 C +HETATM 2707 H2 MOL D 1 40.430 17.696 18.769 1.00 0.00 H +HETATM 2708 C3 MOL D 1 40.205 19.683 19.534 1.00 0.00 C +HETATM 2709 H3 MOL D 1 39.147 19.728 19.286 1.00 0.00 H +HETATM 2710 C4 MOL D 1 40.794 20.667 20.310 1.00 0.00 C +HETATM 2711 H4 MOL D 1 40.262 21.587 20.538 1.00 0.00 H +HETATM 2712 C5 MOL D 1 42.236 20.641 20.514 1.00 0.00 C +HETATM 2713 H5 MOL D 1 42.720 21.473 21.019 1.00 0.00 H +HETATM 2714 C6 MOL D 1 43.015 19.609 19.991 1.00 0.00 C +HETATM 2715 C7 MOL D 1 44.532 19.654 20.006 1.00 0.00 C +HETATM 2716 H6 MOL D 1 44.827 19.584 18.955 1.00 0.00 H +HETATM 2717 H7 MOL D 1 44.971 18.756 20.448 1.00 0.00 H +HETATM 2718 O1 MOL D 1 45.029 20.919 20.435 1.00 0.00 O +HETATM 2719 H8 MOL D 1 44.676 21.614 19.850 1.00 0.00 H +TER 2720 MOL D 1 +HETATM 2721 C1 MOL E 1 44.172 37.464 18.071 1.00 0.00 C +HETATM 2722 H1 MOL E 1 44.601 36.657 17.482 1.00 0.00 H +HETATM 2723 C2 MOL E 1 42.845 37.579 18.436 1.00 0.00 C +HETATM 2724 H2 MOL E 1 42.139 36.763 18.302 1.00 0.00 H +HETATM 2725 C3 MOL E 1 42.434 38.748 19.174 1.00 0.00 C +HETATM 2726 H3 MOL E 1 41.435 38.813 19.598 1.00 0.00 H +HETATM 2727 C4 MOL E 1 43.342 39.772 19.499 1.00 0.00 C +HETATM 2728 H4 MOL E 1 43.053 40.645 20.079 1.00 0.00 H +HETATM 2729 C5 MOL E 1 44.682 39.497 19.262 1.00 0.00 C +HETATM 2730 H5 MOL E 1 45.370 40.279 19.571 1.00 0.00 H +HETATM 2731 C6 MOL E 1 45.134 38.408 18.521 1.00 0.00 C +HETATM 2732 C7 MOL E 1 46.610 38.173 18.382 1.00 0.00 C +HETATM 2733 H6 MOL E 1 46.696 37.357 17.660 1.00 0.00 H +HETATM 2734 H7 MOL E 1 47.102 37.796 19.282 1.00 0.00 H +HETATM 2735 O1 MOL E 1 47.263 39.364 17.976 1.00 0.00 O +HETATM 2736 H8 MOL E 1 47.781 39.713 18.723 1.00 0.00 H +TER 2737 MOL E 1 +HETATM 2738 C1 MOL F 1 34.599 35.679 27.597 1.00 0.00 C +HETATM 2739 H1 MOL F 1 34.272 34.673 27.849 1.00 0.00 H +HETATM 2740 C2 MOL F 1 35.597 35.770 26.687 1.00 0.00 C +HETATM 2741 H2 MOL F 1 36.057 34.872 26.282 1.00 0.00 H +HETATM 2742 C3 MOL F 1 36.221 36.992 26.550 1.00 0.00 C +HETATM 2743 H3 MOL F 1 37.118 37.018 25.935 1.00 0.00 H +HETATM 2744 C4 MOL F 1 35.773 38.106 27.297 1.00 0.00 C +HETATM 2745 H4 MOL F 1 36.320 39.026 27.106 1.00 0.00 H +HETATM 2746 C5 MOL F 1 34.767 37.957 28.269 1.00 0.00 C +HETATM 2747 H5 MOL F 1 34.459 38.789 28.898 1.00 0.00 H +HETATM 2748 C6 MOL F 1 34.119 36.741 28.331 1.00 0.00 C +HETATM 2749 C7 MOL F 1 32.907 36.574 29.232 1.00 0.00 C +HETATM 2750 H6 MOL F 1 32.833 35.501 29.428 1.00 0.00 H +HETATM 2751 H7 MOL F 1 32.045 36.879 28.634 1.00 0.00 H +HETATM 2752 O1 MOL F 1 32.979 37.250 30.472 1.00 0.00 O +HETATM 2753 H8 MOL F 1 32.238 36.852 30.964 1.00 0.00 H +TER 2754 MOL F 1 +HETATM 2755 C1 MOL G 1 10.786 27.299 21.698 1.00 0.00 C +HETATM 2756 H1 MOL G 1 10.844 28.140 22.385 1.00 0.00 H +HETATM 2757 C2 MOL G 1 10.010 26.219 22.065 1.00 0.00 C +HETATM 2758 H2 MOL G 1 9.446 26.150 22.992 1.00 0.00 H +HETATM 2759 C3 MOL G 1 10.006 25.162 21.208 1.00 0.00 C +HETATM 2760 H3 MOL G 1 9.495 24.221 21.393 1.00 0.00 H +HETATM 2761 C4 MOL G 1 10.738 25.193 20.028 1.00 0.00 C +HETATM 2762 H4 MOL G 1 10.593 24.419 19.278 1.00 0.00 H +HETATM 2763 C5 MOL G 1 11.463 26.319 19.619 1.00 0.00 C +HETATM 2764 H5 MOL G 1 12.059 26.399 18.714 1.00 0.00 H +HETATM 2765 C6 MOL G 1 11.469 27.428 20.498 1.00 0.00 C +HETATM 2766 C7 MOL G 1 12.421 28.632 20.353 1.00 0.00 C +HETATM 2767 H6 MOL G 1 13.451 28.277 20.444 1.00 0.00 H +HETATM 2768 H7 MOL G 1 12.248 29.328 21.178 1.00 0.00 H +HETATM 2769 O1 MOL G 1 12.260 29.375 19.148 1.00 0.00 O +HETATM 2770 H8 MOL G 1 11.800 28.711 18.604 1.00 0.00 H +TER 2771 MOL G 1 +HETATM 2772 C1 MOL H 1 3.727 36.328 8.677 1.00 0.00 C +HETATM 2773 H1 MOL H 1 3.485 36.939 7.811 1.00 0.00 H +HETATM 2774 C2 MOL H 1 3.025 35.200 8.947 1.00 0.00 C +HETATM 2775 H2 MOL H 1 2.336 34.870 8.174 1.00 0.00 H +HETATM 2776 C3 MOL H 1 3.341 34.447 10.103 1.00 0.00 C +HETATM 2777 H3 MOL H 1 2.757 33.535 10.206 1.00 0.00 H +HETATM 2778 C4 MOL H 1 4.234 34.982 11.033 1.00 0.00 C +HETATM 2779 H4 MOL H 1 4.503 34.427 11.928 1.00 0.00 H +HETATM 2780 C5 MOL H 1 4.841 36.237 10.877 1.00 0.00 C +HETATM 2781 H5 MOL H 1 5.459 36.688 11.649 1.00 0.00 H +HETATM 2782 C6 MOL H 1 4.596 36.886 9.657 1.00 0.00 C +HETATM 2783 C7 MOL H 1 5.214 38.224 9.374 1.00 0.00 C +HETATM 2784 H6 MOL H 1 6.215 38.078 8.961 1.00 0.00 H +HETATM 2785 H7 MOL H 1 5.221 38.780 10.315 1.00 0.00 H +HETATM 2786 O1 MOL H 1 4.407 39.040 8.522 1.00 0.00 O +HETATM 2787 H8 MOL H 1 3.730 39.492 9.057 1.00 0.00 H +TER 2788 MOL H 1 +HETATM 2789 C1 MOL I 1 -1.099 24.338 11.616 1.00 0.00 C +HETATM 2790 H1 MOL I 1 -1.783 24.461 10.780 1.00 0.00 H +HETATM 2791 C2 MOL I 1 -1.679 24.030 12.821 1.00 0.00 C +HETATM 2792 H2 MOL I 1 -2.746 23.869 12.948 1.00 0.00 H +HETATM 2793 C3 MOL I 1 -0.893 23.670 13.964 1.00 0.00 C +HETATM 2794 H3 MOL I 1 -1.336 23.321 14.894 1.00 0.00 H +HETATM 2795 C4 MOL I 1 0.523 23.607 13.866 1.00 0.00 C +HETATM 2796 H4 MOL I 1 1.109 23.418 14.761 1.00 0.00 H +HETATM 2797 C5 MOL I 1 1.090 24.020 12.647 1.00 0.00 C +HETATM 2798 H5 MOL I 1 2.161 24.142 12.504 1.00 0.00 H +HETATM 2799 C6 MOL I 1 0.312 24.387 11.538 1.00 0.00 C +HETATM 2800 C7 MOL I 1 0.966 24.739 10.182 1.00 0.00 C +HETATM 2801 H6 MOL I 1 0.230 24.969 9.408 1.00 0.00 H +HETATM 2802 H7 MOL I 1 1.462 23.846 9.795 1.00 0.00 H +HETATM 2803 O1 MOL I 1 1.961 25.801 10.209 1.00 0.00 O +HETATM 2804 H8 MOL I 1 1.787 26.245 11.058 1.00 0.00 H +TER 2805 MOL I 1 +HETATM 2806 C1 MOL J 1 22.772 0.606 35.656 1.00 0.00 C +HETATM 2807 H1 MOL J 1 23.346 0.642 36.579 1.00 0.00 H +HETATM 2808 C2 MOL J 1 23.433 0.177 34.439 1.00 0.00 C +HETATM 2809 H2 MOL J 1 24.488 -0.065 34.537 1.00 0.00 H +HETATM 2810 C3 MOL J 1 22.792 0.112 33.239 1.00 0.00 C +HETATM 2811 H3 MOL J 1 23.393 -0.097 32.357 1.00 0.00 H +HETATM 2812 C4 MOL J 1 21.410 0.436 33.242 1.00 0.00 C +HETATM 2813 H4 MOL J 1 20.890 0.297 32.298 1.00 0.00 H +HETATM 2814 C5 MOL J 1 20.763 0.876 34.336 1.00 0.00 C +HETATM 2815 H5 MOL J 1 19.729 1.198 34.236 1.00 0.00 H +HETATM 2816 C6 MOL J 1 21.406 0.934 35.604 1.00 0.00 C +HETATM 2817 C7 MOL J 1 20.674 1.432 36.808 1.00 0.00 C +HETATM 2818 H6 MOL J 1 20.255 0.545 37.290 1.00 0.00 H +HETATM 2819 H7 MOL J 1 19.808 2.034 36.523 1.00 0.00 H +HETATM 2820 O1 MOL J 1 21.519 2.192 37.704 1.00 0.00 O +HETATM 2821 H8 MOL J 1 22.118 1.554 38.130 1.00 0.00 H +TER 2822 MOL J 1 +HETATM 2823 C1 MOL K 1 24.375 35.729 33.821 1.00 0.00 C +HETATM 2824 H1 MOL K 1 24.934 36.024 32.936 1.00 0.00 H +HETATM 2825 C2 MOL K 1 23.028 36.061 33.924 1.00 0.00 C +HETATM 2826 H2 MOL K 1 22.651 36.753 33.175 1.00 0.00 H +HETATM 2827 C3 MOL K 1 22.265 35.669 34.985 1.00 0.00 C +HETATM 2828 H3 MOL K 1 21.187 35.776 35.073 1.00 0.00 H +HETATM 2829 C4 MOL K 1 22.835 34.971 36.052 1.00 0.00 C +HETATM 2830 H4 MOL K 1 22.168 34.777 36.888 1.00 0.00 H +HETATM 2831 C5 MOL K 1 24.156 34.597 35.945 1.00 0.00 C +HETATM 2832 H5 MOL K 1 24.607 34.111 36.806 1.00 0.00 H +HETATM 2833 C6 MOL K 1 24.953 35.003 34.848 1.00 0.00 C +HETATM 2834 C7 MOL K 1 26.408 34.516 34.766 1.00 0.00 C +HETATM 2835 H6 MOL K 1 26.701 34.319 35.801 1.00 0.00 H +HETATM 2836 H7 MOL K 1 27.092 35.350 34.592 1.00 0.00 H +HETATM 2837 O1 MOL K 1 26.675 33.396 33.873 1.00 0.00 O +HETATM 2838 H8 MOL K 1 26.156 32.621 34.153 1.00 0.00 H +TER 2839 MOL K 1 +HETATM 2840 C1 MOL L 1 19.228 40.761 6.130 1.00 0.00 C +HETATM 2841 H1 MOL L 1 19.341 39.858 6.724 1.00 0.00 H +HETATM 2842 C2 MOL L 1 19.479 41.997 6.745 1.00 0.00 C +HETATM 2843 H2 MOL L 1 19.920 42.044 7.738 1.00 0.00 H +HETATM 2844 C3 MOL L 1 19.307 43.160 6.041 1.00 0.00 C +HETATM 2845 H3 MOL L 1 19.762 44.069 6.426 1.00 0.00 H +HETATM 2846 C4 MOL L 1 19.045 43.111 4.681 1.00 0.00 C +HETATM 2847 H4 MOL L 1 18.857 44.050 4.167 1.00 0.00 H +HETATM 2848 C5 MOL L 1 18.787 41.887 4.017 1.00 0.00 C +HETATM 2849 H5 MOL L 1 18.576 41.946 2.953 1.00 0.00 H +HETATM 2850 C6 MOL L 1 18.890 40.681 4.735 1.00 0.00 C +HETATM 2851 C7 MOL L 1 18.577 39.358 4.001 1.00 0.00 C +HETATM 2852 H6 MOL L 1 18.571 39.623 2.941 1.00 0.00 H +HETATM 2853 H7 MOL L 1 17.590 38.914 4.155 1.00 0.00 H +HETATM 2854 O1 MOL L 1 19.481 38.313 4.252 1.00 0.00 O +HETATM 2855 H8 MOL L 1 19.548 37.739 3.468 1.00 0.00 H +TER 2856 MOL L 1 +HETATM 2857 C1 MOL M 1 20.404 19.617 27.330 1.00 0.00 C +HETATM 2858 H1 MOL M 1 20.296 18.614 27.734 1.00 0.00 H +HETATM 2859 C2 MOL M 1 21.604 20.228 27.792 1.00 0.00 C +HETATM 2860 H2 MOL M 1 22.303 19.738 28.465 1.00 0.00 H +HETATM 2861 C3 MOL M 1 21.972 21.466 27.269 1.00 0.00 C +HETATM 2862 H3 MOL M 1 22.888 21.990 27.528 1.00 0.00 H +HETATM 2863 C4 MOL M 1 21.179 21.981 26.263 1.00 0.00 C +HETATM 2864 H4 MOL M 1 21.509 22.922 25.830 1.00 0.00 H +HETATM 2865 C5 MOL M 1 19.919 21.453 25.923 1.00 0.00 C +HETATM 2866 H5 MOL M 1 19.306 21.894 25.141 1.00 0.00 H +HETATM 2867 C6 MOL M 1 19.556 20.267 26.485 1.00 0.00 C +HETATM 2868 C7 MOL M 1 18.229 19.665 26.085 1.00 0.00 C +HETATM 2869 H6 MOL M 1 17.491 20.234 26.656 1.00 0.00 H +HETATM 2870 H7 MOL M 1 18.329 18.612 26.357 1.00 0.00 H +HETATM 2871 O1 MOL M 1 17.934 19.679 24.681 1.00 0.00 O +HETATM 2872 H8 MOL M 1 18.747 19.921 24.202 1.00 0.00 H +TER 2873 MOL M 1 +HETATM 2874 C1 MOL N 1 23.222 26.619 10.654 1.00 0.00 C +HETATM 2875 H1 MOL N 1 23.337 27.103 11.621 1.00 0.00 H +HETATM 2876 C2 MOL N 1 23.791 25.390 10.243 1.00 0.00 C +HETATM 2877 H2 MOL N 1 24.043 24.710 11.053 1.00 0.00 H +HETATM 2878 C3 MOL N 1 23.760 25.080 8.879 1.00 0.00 C +HETATM 2879 H3 MOL N 1 23.899 24.037 8.606 1.00 0.00 H +HETATM 2880 C4 MOL N 1 23.253 25.920 7.887 1.00 0.00 C +HETATM 2881 H4 MOL N 1 23.228 25.638 6.838 1.00 0.00 H +HETATM 2882 C5 MOL N 1 22.795 27.181 8.264 1.00 0.00 C +HETATM 2883 H5 MOL N 1 22.423 27.805 7.456 1.00 0.00 H +HETATM 2884 C6 MOL N 1 22.765 27.559 9.660 1.00 0.00 C +HETATM 2885 C7 MOL N 1 22.376 28.908 10.219 1.00 0.00 C +HETATM 2886 H6 MOL N 1 21.457 28.712 10.776 1.00 0.00 H +HETATM 2887 H7 MOL N 1 22.193 29.577 9.374 1.00 0.00 H +HETATM 2888 O1 MOL N 1 23.321 29.528 11.049 1.00 0.00 O +HETATM 2889 H8 MOL N 1 23.472 30.428 10.710 1.00 0.00 H +TER 2890 MOL N 1 +HETATM 2891 C1 MOL O 1 35.717 13.724 24.825 1.00 0.00 C +HETATM 2892 H1 MOL O 1 36.289 13.933 23.925 1.00 0.00 H +HETATM 2893 C2 MOL O 1 34.402 13.186 24.661 1.00 0.00 C +HETATM 2894 H2 MOL O 1 34.002 12.832 23.715 1.00 0.00 H +HETATM 2895 C3 MOL O 1 33.608 13.131 25.723 1.00 0.00 C +HETATM 2896 H3 MOL O 1 32.580 12.796 25.612 1.00 0.00 H +HETATM 2897 C4 MOL O 1 34.046 13.455 27.036 1.00 0.00 C +HETATM 2898 H4 MOL O 1 33.417 13.363 27.918 1.00 0.00 H +HETATM 2899 C5 MOL O 1 35.350 13.930 27.155 1.00 0.00 C +HETATM 2900 H5 MOL O 1 35.597 14.242 28.167 1.00 0.00 H +HETATM 2901 C6 MOL O 1 36.215 13.917 26.097 1.00 0.00 C +HETATM 2902 C7 MOL O 1 37.634 14.531 26.377 1.00 0.00 C +HETATM 2903 H6 MOL O 1 38.039 14.441 27.388 1.00 0.00 H +HETATM 2904 H7 MOL O 1 37.549 15.584 26.097 1.00 0.00 H +HETATM 2905 O1 MOL O 1 38.556 13.865 25.542 1.00 0.00 O +HETATM 2906 H8 MOL O 1 38.347 14.109 24.622 1.00 0.00 H +TER 2907 MOL O 1 +HETATM 2908 C1 MOL P 1 20.204 43.110 40.483 1.00 0.00 C +HETATM 2909 H1 MOL P 1 19.665 44.049 40.387 1.00 0.00 H +HETATM 2910 C2 MOL P 1 19.470 41.934 40.639 1.00 0.00 C +HETATM 2911 H2 MOL P 1 18.387 41.988 40.563 1.00 0.00 H +HETATM 2912 C3 MOL P 1 20.173 40.693 40.574 1.00 0.00 C +HETATM 2913 H3 MOL P 1 19.509 39.836 40.497 1.00 0.00 H +HETATM 2914 C4 MOL P 1 21.591 40.627 40.580 1.00 0.00 C +HETATM 2915 H4 MOL P 1 22.191 39.723 40.651 1.00 0.00 H +HETATM 2916 C5 MOL P 1 22.279 41.864 40.551 1.00 0.00 C +HETATM 2917 H5 MOL P 1 23.366 41.869 40.540 1.00 0.00 H +HETATM 2918 C6 MOL P 1 21.635 43.073 40.480 1.00 0.00 C +HETATM 2919 C7 MOL P 1 22.416 44.370 40.298 1.00 0.00 C +HETATM 2920 H6 MOL P 1 23.218 44.434 41.038 1.00 0.00 H +HETATM 2921 H7 MOL P 1 21.783 45.237 40.505 1.00 0.00 H +HETATM 2922 O1 MOL P 1 23.072 44.485 39.069 1.00 0.00 O +HETATM 2923 H8 MOL P 1 23.863 44.995 39.319 1.00 0.00 H +TER 2924 MOL P 1 +HETATM 2925 C1 MOL Q 1 10.650 7.133 5.678 1.00 0.00 C +HETATM 2926 H1 MOL Q 1 10.436 6.092 5.907 1.00 0.00 H +HETATM 2927 C2 MOL Q 1 9.730 8.139 5.918 1.00 0.00 C +HETATM 2928 H2 MOL Q 1 8.731 7.770 6.138 1.00 0.00 H +HETATM 2929 C3 MOL Q 1 10.026 9.522 5.804 1.00 0.00 C +HETATM 2930 H3 MOL Q 1 9.343 10.285 6.168 1.00 0.00 H +HETATM 2931 C4 MOL Q 1 11.314 9.818 5.460 1.00 0.00 C +HETATM 2932 H4 MOL Q 1 11.600 10.867 5.432 1.00 0.00 H +HETATM 2933 C5 MOL Q 1 12.243 8.842 5.149 1.00 0.00 C +HETATM 2934 H5 MOL Q 1 13.253 9.209 4.980 1.00 0.00 H +HETATM 2935 C6 MOL Q 1 11.907 7.492 5.328 1.00 0.00 C +HETATM 2936 C7 MOL Q 1 12.877 6.351 5.366 1.00 0.00 C +HETATM 2937 H6 MOL Q 1 12.469 5.597 6.045 1.00 0.00 H +HETATM 2938 H7 MOL Q 1 13.866 6.623 5.744 1.00 0.00 H +HETATM 2939 O1 MOL Q 1 13.155 5.722 4.176 1.00 0.00 O +HETATM 2940 H8 MOL Q 1 13.689 6.296 3.598 1.00 0.00 H +TER 2941 MOL Q 1 +HETATM 2942 C1 MOL R 1 35.566 21.615 18.458 1.00 0.00 C +HETATM 2943 H1 MOL R 1 34.895 21.688 17.606 1.00 0.00 H +HETATM 2944 C2 MOL R 1 36.702 22.320 18.427 1.00 0.00 C +HETATM 2945 H2 MOL R 1 36.958 22.954 17.581 1.00 0.00 H +HETATM 2946 C3 MOL R 1 37.616 22.242 19.548 1.00 0.00 C +HETATM 2947 H3 MOL R 1 38.529 22.832 19.532 1.00 0.00 H +HETATM 2948 C4 MOL R 1 37.301 21.383 20.579 1.00 0.00 C +HETATM 2949 H4 MOL R 1 38.003 21.235 21.396 1.00 0.00 H +HETATM 2950 C5 MOL R 1 36.134 20.651 20.616 1.00 0.00 C +HETATM 2951 H5 MOL R 1 35.970 19.883 21.368 1.00 0.00 H +HETATM 2952 C6 MOL R 1 35.315 20.665 19.486 1.00 0.00 C +HETATM 2953 C7 MOL R 1 34.217 19.704 19.243 1.00 0.00 C +HETATM 2954 H6 MOL R 1 34.283 18.924 20.005 1.00 0.00 H +HETATM 2955 H7 MOL R 1 34.321 19.091 18.344 1.00 0.00 H +HETATM 2956 O1 MOL R 1 32.939 20.196 19.483 1.00 0.00 O +HETATM 2957 H8 MOL R 1 32.853 20.999 18.938 1.00 0.00 H +TER 2958 MOL R 1 +HETATM 2959 C1 MOL S 1 16.809 6.492 2.823 1.00 0.00 C +HETATM 2960 H1 MOL S 1 17.125 7.499 2.564 1.00 0.00 H +HETATM 2961 C2 MOL S 1 16.438 5.505 1.880 1.00 0.00 C +HETATM 2962 H2 MOL S 1 16.346 5.853 0.854 1.00 0.00 H +HETATM 2963 C3 MOL S 1 16.104 4.199 2.171 1.00 0.00 C +HETATM 2964 H3 MOL S 1 15.709 3.497 1.442 1.00 0.00 H +HETATM 2965 C4 MOL S 1 16.306 3.767 3.488 1.00 0.00 C +HETATM 2966 H4 MOL S 1 16.252 2.734 3.822 1.00 0.00 H +HETATM 2967 C5 MOL S 1 16.602 4.753 4.451 1.00 0.00 C +HETATM 2968 H5 MOL S 1 16.685 4.459 5.494 1.00 0.00 H +HETATM 2969 C6 MOL S 1 16.931 6.043 4.145 1.00 0.00 C +HETATM 2970 C7 MOL S 1 17.371 6.974 5.250 1.00 0.00 C +HETATM 2971 H6 MOL S 1 16.446 7.488 5.524 1.00 0.00 H +HETATM 2972 H7 MOL S 1 18.126 7.639 4.824 1.00 0.00 H +HETATM 2973 O1 MOL S 1 17.892 6.386 6.387 1.00 0.00 O +HETATM 2974 H8 MOL S 1 18.487 5.651 6.156 1.00 0.00 H +TER 2975 MOL S 1 +HETATM 2976 C1 MOL T 1 22.475 29.405 40.861 1.00 0.00 C +HETATM 2977 H1 MOL T 1 21.979 28.846 40.072 1.00 0.00 H +HETATM 2978 C2 MOL T 1 22.304 29.054 42.197 1.00 0.00 C +HETATM 2979 H2 MOL T 1 21.733 28.194 42.538 1.00 0.00 H +HETATM 2980 C3 MOL T 1 22.922 29.844 43.178 1.00 0.00 C +HETATM 2981 H3 MOL T 1 22.877 29.666 44.249 1.00 0.00 H +HETATM 2982 C4 MOL T 1 23.619 30.959 42.813 1.00 0.00 C +HETATM 2983 H4 MOL T 1 24.288 31.576 43.408 1.00 0.00 H +HETATM 2984 C5 MOL T 1 23.852 31.283 41.501 1.00 0.00 C +HETATM 2985 H5 MOL T 1 24.610 32.037 41.305 1.00 0.00 H +HETATM 2986 C6 MOL T 1 23.286 30.460 40.498 1.00 0.00 C +HETATM 2987 C7 MOL T 1 23.768 30.584 39.079 1.00 0.00 C +HETATM 2988 H6 MOL T 1 23.263 29.783 38.535 1.00 0.00 H +HETATM 2989 H7 MOL T 1 24.861 30.588 39.079 1.00 0.00 H +HETATM 2990 O1 MOL T 1 23.333 31.917 38.573 1.00 0.00 O +HETATM 2991 H8 MOL T 1 22.433 32.110 38.891 1.00 0.00 H +TER 2992 MOL T 1 +HETATM 2993 C1 MOL U 1 30.293 13.774 24.538 1.00 0.00 C +HETATM 2994 H1 MOL U 1 30.341 13.110 25.398 1.00 0.00 H +HETATM 2995 C2 MOL U 1 30.048 13.256 23.243 1.00 0.00 C +HETATM 2996 H2 MOL U 1 29.854 12.189 23.181 1.00 0.00 H +HETATM 2997 C3 MOL U 1 29.822 14.105 22.135 1.00 0.00 C +HETATM 2998 H3 MOL U 1 29.720 13.736 21.118 1.00 0.00 H +HETATM 2999 C4 MOL U 1 29.599 15.456 22.418 1.00 0.00 C +HETATM 3000 H4 MOL U 1 29.292 16.153 21.642 1.00 0.00 H +HETATM 3001 C5 MOL U 1 29.853 15.927 23.714 1.00 0.00 C +HETATM 3002 H5 MOL U 1 29.935 16.995 23.900 1.00 0.00 H +HETATM 3003 C6 MOL U 1 30.263 15.129 24.789 1.00 0.00 C +HETATM 3004 C7 MOL U 1 30.940 15.708 26.001 1.00 0.00 C +HETATM 3005 H6 MOL U 1 30.749 16.764 26.211 1.00 0.00 H +HETATM 3006 H7 MOL U 1 32.019 15.542 25.957 1.00 0.00 H +HETATM 3007 O1 MOL U 1 30.602 15.051 27.267 1.00 0.00 O +HETATM 3008 H8 MOL U 1 29.678 15.232 27.515 1.00 0.00 H +TER 3009 MOL U 1 +HETATM 3010 C1 MOL V 1 38.232 18.823 31.126 1.00 0.00 C +HETATM 3011 H1 MOL V 1 37.557 19.479 30.583 1.00 0.00 H +HETATM 3012 C2 MOL V 1 39.073 19.414 32.056 1.00 0.00 C +HETATM 3013 H2 MOL V 1 38.930 20.451 32.350 1.00 0.00 H +HETATM 3014 C3 MOL V 1 40.015 18.697 32.731 1.00 0.00 C +HETATM 3015 H3 MOL V 1 40.687 19.122 33.473 1.00 0.00 H +HETATM 3016 C4 MOL V 1 40.118 17.328 32.371 1.00 0.00 C +HETATM 3017 H4 MOL V 1 40.891 16.721 32.836 1.00 0.00 H +HETATM 3018 C5 MOL V 1 39.263 16.747 31.505 1.00 0.00 C +HETATM 3019 H5 MOL V 1 39.523 15.760 31.131 1.00 0.00 H +HETATM 3020 C6 MOL V 1 38.252 17.496 30.871 1.00 0.00 C +HETATM 3021 C7 MOL V 1 37.177 16.804 30.029 1.00 0.00 C +HETATM 3022 H6 MOL V 1 37.286 16.959 28.952 1.00 0.00 H +HETATM 3023 H7 MOL V 1 36.236 17.323 30.230 1.00 0.00 H +HETATM 3024 O1 MOL V 1 36.999 15.368 30.417 1.00 0.00 O +HETATM 3025 H8 MOL V 1 36.987 15.364 31.390 1.00 0.00 H +TER 3026 MOL V 1 +HETATM 3027 C1 MOL W 1 32.013 5.895 34.243 1.00 0.00 C +HETATM 3028 H1 MOL W 1 31.807 4.957 34.753 1.00 0.00 H +HETATM 3029 C2 MOL W 1 31.068 6.926 34.276 1.00 0.00 C +HETATM 3030 H2 MOL W 1 30.121 6.753 34.781 1.00 0.00 H +HETATM 3031 C3 MOL W 1 31.298 8.111 33.559 1.00 0.00 C +HETATM 3032 H3 MOL W 1 30.605 8.944 33.639 1.00 0.00 H +HETATM 3033 C4 MOL W 1 32.481 8.274 32.870 1.00 0.00 C +HETATM 3034 H4 MOL W 1 32.631 9.197 32.316 1.00 0.00 H +HETATM 3035 C5 MOL W 1 33.479 7.231 32.828 1.00 0.00 C +HETATM 3036 H5 MOL W 1 34.400 7.287 32.253 1.00 0.00 H +HETATM 3037 C6 MOL W 1 33.285 6.068 33.589 1.00 0.00 C +HETATM 3038 C7 MOL W 1 34.445 5.128 33.798 1.00 0.00 C +HETATM 3039 H6 MOL W 1 34.642 4.704 32.810 1.00 0.00 H +HETATM 3040 H7 MOL W 1 34.193 4.362 34.537 1.00 0.00 H +HETATM 3041 O1 MOL W 1 35.640 5.833 34.232 1.00 0.00 O +HETATM 3042 H8 MOL W 1 35.780 6.683 33.778 1.00 0.00 H +TER 3043 MOL W 1 +HETATM 3044 C1 MOL X 1 43.729 40.015 39.755 1.00 0.00 C +HETATM 3045 H1 MOL X 1 44.223 39.275 40.380 1.00 0.00 H +HETATM 3046 C2 MOL X 1 42.592 39.710 39.055 1.00 0.00 C +HETATM 3047 H2 MOL X 1 41.989 38.891 39.439 1.00 0.00 H +HETATM 3048 C3 MOL X 1 42.082 40.652 38.193 1.00 0.00 C +HETATM 3049 H3 MOL X 1 41.083 40.424 37.829 1.00 0.00 H +HETATM 3050 C4 MOL X 1 42.725 41.840 37.945 1.00 0.00 C +HETATM 3051 H4 MOL X 1 42.295 42.677 37.401 1.00 0.00 H +HETATM 3052 C5 MOL X 1 43.940 42.063 38.565 1.00 0.00 C +HETATM 3053 H5 MOL X 1 44.367 43.060 38.501 1.00 0.00 H +HETATM 3054 C6 MOL X 1 44.500 41.163 39.484 1.00 0.00 C +HETATM 3055 C7 MOL X 1 45.688 41.460 40.287 1.00 0.00 C +HETATM 3056 H6 MOL X 1 45.550 41.126 41.319 1.00 0.00 H +HETATM 3057 H7 MOL X 1 45.998 42.508 40.293 1.00 0.00 H +HETATM 3058 O1 MOL X 1 46.852 40.761 39.720 1.00 0.00 O +HETATM 3059 H8 MOL X 1 47.541 41.084 40.328 1.00 0.00 H +TER 3060 MOL X 1 +HETATM 3061 C1 MOL Y 1 40.748 7.816 7.474 1.00 0.00 C +HETATM 3062 H1 MOL Y 1 41.474 7.126 7.894 1.00 0.00 H +HETATM 3063 C2 MOL Y 1 40.768 9.117 7.969 1.00 0.00 C +HETATM 3064 H2 MOL Y 1 41.511 9.340 8.731 1.00 0.00 H +HETATM 3065 C3 MOL Y 1 39.808 9.971 7.451 1.00 0.00 C +HETATM 3066 H3 MOL Y 1 39.801 10.993 7.822 1.00 0.00 H +HETATM 3067 C4 MOL Y 1 38.921 9.608 6.436 1.00 0.00 C +HETATM 3068 H4 MOL Y 1 38.239 10.361 6.050 1.00 0.00 H +HETATM 3069 C5 MOL Y 1 38.974 8.331 5.953 1.00 0.00 C +HETATM 3070 H5 MOL Y 1 38.300 8.047 5.149 1.00 0.00 H +HETATM 3071 C6 MOL Y 1 39.843 7.368 6.423 1.00 0.00 C +HETATM 3072 C7 MOL Y 1 39.980 5.987 5.856 1.00 0.00 C +HETATM 3073 H6 MOL Y 1 39.803 6.025 4.778 1.00 0.00 H +HETATM 3074 H7 MOL Y 1 39.166 5.356 6.223 1.00 0.00 H +HETATM 3075 O1 MOL Y 1 41.308 5.345 6.011 1.00 0.00 O +HETATM 3076 H8 MOL Y 1 41.219 4.420 5.720 1.00 0.00 H +TER 3077 MOL Y 1 +HETATM 3078 C1 MOL Z 1 6.928 3.794 11.025 1.00 0.00 C +HETATM 3079 H1 MOL Z 1 6.478 2.827 10.811 1.00 0.00 H +HETATM 3080 C2 MOL Z 1 6.854 4.292 12.349 1.00 0.00 C +HETATM 3081 H2 MOL Z 1 6.412 3.695 13.143 1.00 0.00 H +HETATM 3082 C3 MOL Z 1 7.300 5.550 12.691 1.00 0.00 C +HETATM 3083 H3 MOL Z 1 7.217 5.872 13.725 1.00 0.00 H +HETATM 3084 C4 MOL Z 1 7.783 6.375 11.652 1.00 0.00 C +HETATM 3085 H4 MOL Z 1 8.043 7.416 11.828 1.00 0.00 H +HETATM 3086 C5 MOL Z 1 7.834 5.899 10.319 1.00 0.00 C +HETATM 3087 H5 MOL Z 1 8.220 6.571 9.556 1.00 0.00 H +HETATM 3088 C6 MOL Z 1 7.438 4.633 10.010 1.00 0.00 C +HETATM 3089 C7 MOL Z 1 7.520 4.128 8.642 1.00 0.00 C +HETATM 3090 H6 MOL Z 1 6.554 3.896 8.188 1.00 0.00 H +HETATM 3091 H7 MOL Z 1 7.994 3.157 8.804 1.00 0.00 H +HETATM 3092 O1 MOL Z 1 8.283 4.876 7.745 1.00 0.00 O +HETATM 3093 H8 MOL Z 1 9.083 5.230 8.173 1.00 0.00 H +TER 3094 MOL Z 1 +HETATM 3095 C1 MOL A 1 1.925 4.992 16.808 1.00 0.00 C +HETATM 3096 H1 MOL A 1 1.406 5.307 17.710 1.00 0.00 H +HETATM 3097 C2 MOL A 1 1.451 5.523 15.597 1.00 0.00 C +HETATM 3098 H2 MOL A 1 0.509 6.059 15.513 1.00 0.00 H +HETATM 3099 C3 MOL A 1 2.156 5.370 14.450 1.00 0.00 C +HETATM 3100 H3 MOL A 1 1.811 5.880 13.554 1.00 0.00 H +HETATM 3101 C4 MOL A 1 3.307 4.572 14.431 1.00 0.00 C +HETATM 3102 H4 MOL A 1 3.857 4.411 13.507 1.00 0.00 H +HETATM 3103 C5 MOL A 1 3.830 4.104 15.637 1.00 0.00 C +HETATM 3104 H5 MOL A 1 4.732 3.501 15.703 1.00 0.00 H +HETATM 3105 C6 MOL A 1 3.152 4.322 16.819 1.00 0.00 C +HETATM 3106 C7 MOL A 1 3.720 3.874 18.166 1.00 0.00 C +HETATM 3107 H6 MOL A 1 3.322 4.428 19.020 1.00 0.00 H +HETATM 3108 H7 MOL A 1 4.805 3.933 18.284 1.00 0.00 H +HETATM 3109 O1 MOL A 1 3.625 2.512 18.340 1.00 0.00 O +HETATM 3110 H8 MOL A 1 2.672 2.313 18.330 1.00 0.00 H +TER 3111 MOL A 1 +HETATM 3112 C1 MOL B 1 11.469 7.574 38.610 1.00 0.00 C +HETATM 3113 H1 MOL B 1 11.564 6.509 38.806 1.00 0.00 H +HETATM 3114 C2 MOL B 1 10.782 7.972 37.391 1.00 0.00 C +HETATM 3115 H2 MOL B 1 10.467 7.366 36.546 1.00 0.00 H +HETATM 3116 C3 MOL B 1 10.488 9.382 37.215 1.00 0.00 C +HETATM 3117 H3 MOL B 1 10.170 9.795 36.260 1.00 0.00 H +HETATM 3118 C4 MOL B 1 10.839 10.255 38.222 1.00 0.00 C +HETATM 3119 H4 MOL B 1 10.606 11.311 38.117 1.00 0.00 H +HETATM 3120 C5 MOL B 1 11.461 9.744 39.381 1.00 0.00 C +HETATM 3121 H5 MOL B 1 11.611 10.485 40.161 1.00 0.00 H +HETATM 3122 C6 MOL B 1 11.748 8.449 39.587 1.00 0.00 C +HETATM 3123 C7 MOL B 1 12.331 7.959 40.940 1.00 0.00 C +HETATM 3124 H6 MOL B 1 12.099 6.901 41.086 1.00 0.00 H +HETATM 3125 H7 MOL B 1 11.870 8.546 41.738 1.00 0.00 H +HETATM 3126 O1 MOL B 1 13.747 8.088 40.918 1.00 0.00 O +HETATM 3127 H8 MOL B 1 13.983 8.199 41.857 1.00 0.00 H +TER 3128 MOL B 1 +HETATM 3129 C1 MOL C 1 10.142 32.633 6.881 1.00 0.00 C +HETATM 3130 H1 MOL C 1 9.914 33.693 6.800 1.00 0.00 H +HETATM 3131 C2 MOL C 1 9.243 31.862 7.577 1.00 0.00 C +HETATM 3132 H2 MOL C 1 8.417 32.276 8.148 1.00 0.00 H +HETATM 3133 C3 MOL C 1 9.438 30.492 7.690 1.00 0.00 C +HETATM 3134 H3 MOL C 1 8.782 29.855 8.278 1.00 0.00 H +HETATM 3135 C4 MOL C 1 10.610 29.909 7.024 1.00 0.00 C +HETATM 3136 H4 MOL C 1 10.814 28.849 7.149 1.00 0.00 H +HETATM 3137 C5 MOL C 1 11.407 30.712 6.253 1.00 0.00 C +HETATM 3138 H5 MOL C 1 12.313 30.410 5.733 1.00 0.00 H +HETATM 3139 C6 MOL C 1 11.255 32.087 6.291 1.00 0.00 C +HETATM 3140 C7 MOL C 1 12.080 33.017 5.409 1.00 0.00 C +HETATM 3141 H6 MOL C 1 13.077 32.574 5.343 1.00 0.00 H +HETATM 3142 H7 MOL C 1 12.305 33.966 5.902 1.00 0.00 H +HETATM 3143 O1 MOL C 1 11.477 33.219 4.135 1.00 0.00 O +HETATM 3144 H8 MOL C 1 11.371 34.149 3.865 1.00 0.00 H +TER 3145 MOL C 1 +HETATM 3146 C1 MOL D 1 40.777 7.225 37.843 1.00 0.00 C +HETATM 3147 H1 MOL D 1 39.719 7.326 37.617 1.00 0.00 H +HETATM 3148 C2 MOL D 1 41.357 8.335 38.541 1.00 0.00 C +HETATM 3149 H2 MOL D 1 40.760 9.210 38.786 1.00 0.00 H +HETATM 3150 C3 MOL D 1 42.699 8.260 38.935 1.00 0.00 C +HETATM 3151 H3 MOL D 1 43.140 9.080 39.496 1.00 0.00 H +HETATM 3152 C4 MOL D 1 43.479 7.139 38.617 1.00 0.00 C +HETATM 3153 H4 MOL D 1 44.543 7.148 38.837 1.00 0.00 H +HETATM 3154 C5 MOL D 1 42.928 5.973 37.942 1.00 0.00 C +HETATM 3155 H5 MOL D 1 43.450 5.042 37.735 1.00 0.00 H +HETATM 3156 C6 MOL D 1 41.524 6.078 37.534 1.00 0.00 C +HETATM 3157 C7 MOL D 1 40.835 4.840 36.896 1.00 0.00 C +HETATM 3158 H6 MOL D 1 41.462 4.546 36.050 1.00 0.00 H +HETATM 3159 H7 MOL D 1 39.818 5.064 36.566 1.00 0.00 H +HETATM 3160 O1 MOL D 1 40.723 3.778 37.778 1.00 0.00 O +HETATM 3161 H8 MOL D 1 39.942 3.984 38.322 1.00 0.00 H +TER 3162 MOL D 1 +HETATM 3163 C1 MOL E 1 13.474 4.604 8.346 1.00 0.00 C +HETATM 3164 H1 MOL E 1 12.932 4.088 7.558 1.00 0.00 H +HETATM 3165 C2 MOL E 1 14.807 4.917 8.128 1.00 0.00 C +HETATM 3166 H2 MOL E 1 15.308 4.708 7.185 1.00 0.00 H +HETATM 3167 C3 MOL E 1 15.472 5.621 9.156 1.00 0.00 C +HETATM 3168 H3 MOL E 1 16.500 5.960 9.053 1.00 0.00 H +HETATM 3169 C4 MOL E 1 14.826 5.990 10.354 1.00 0.00 C +HETATM 3170 H4 MOL E 1 15.398 6.539 11.097 1.00 0.00 H +HETATM 3171 C5 MOL E 1 13.511 5.663 10.533 1.00 0.00 C +HETATM 3172 H5 MOL E 1 13.053 6.011 11.455 1.00 0.00 H +HETATM 3173 C6 MOL E 1 12.855 4.919 9.553 1.00 0.00 C +HETATM 3174 C7 MOL E 1 11.328 4.880 9.733 1.00 0.00 C +HETATM 3175 H6 MOL E 1 11.056 5.130 10.762 1.00 0.00 H +HETATM 3176 H7 MOL E 1 10.876 3.911 9.506 1.00 0.00 H +HETATM 3177 O1 MOL E 1 10.638 5.804 8.833 1.00 0.00 O +HETATM 3178 H8 MOL E 1 10.810 6.687 9.207 1.00 0.00 H +TER 3179 MOL E 1 +HETATM 3180 C1 MOL F 1 2.858 23.760 5.221 1.00 0.00 C +HETATM 3181 H1 MOL F 1 1.792 23.953 5.305 1.00 0.00 H +HETATM 3182 C2 MOL F 1 3.380 23.568 3.916 1.00 0.00 C +HETATM 3183 H2 MOL F 1 2.625 23.545 3.134 1.00 0.00 H +HETATM 3184 C3 MOL F 1 4.721 23.356 3.726 1.00 0.00 C +HETATM 3185 H3 MOL F 1 5.238 23.322 2.771 1.00 0.00 H +HETATM 3186 C4 MOL F 1 5.577 23.340 4.826 1.00 0.00 C +HETATM 3187 H4 MOL F 1 6.641 23.132 4.746 1.00 0.00 H +HETATM 3188 C5 MOL F 1 5.050 23.580 6.089 1.00 0.00 C +HETATM 3189 H5 MOL F 1 5.771 23.643 6.900 1.00 0.00 H +HETATM 3190 C6 MOL F 1 3.715 23.804 6.266 1.00 0.00 C +HETATM 3191 C7 MOL F 1 3.191 24.168 7.652 1.00 0.00 C +HETATM 3192 H6 MOL F 1 3.865 23.759 8.409 1.00 0.00 H +HETATM 3193 H7 MOL F 1 2.160 23.824 7.763 1.00 0.00 H +HETATM 3194 O1 MOL F 1 3.070 25.636 7.803 1.00 0.00 O +HETATM 3195 H8 MOL F 1 2.812 25.773 8.732 1.00 0.00 H +TER 3196 MOL F 1 +HETATM 3197 C1 MOL G 1 32.593 15.112 33.629 1.00 0.00 C +HETATM 3198 H1 MOL G 1 32.846 14.726 34.613 1.00 0.00 H +HETATM 3199 C2 MOL G 1 31.349 15.610 33.294 1.00 0.00 C +HETATM 3200 H2 MOL G 1 30.480 15.550 33.945 1.00 0.00 H +HETATM 3201 C3 MOL G 1 31.061 15.818 31.934 1.00 0.00 C +HETATM 3202 H3 MOL G 1 30.020 16.003 31.683 1.00 0.00 H +HETATM 3203 C4 MOL G 1 32.042 15.893 31.010 1.00 0.00 C +HETATM 3204 H4 MOL G 1 31.906 16.060 29.945 1.00 0.00 H +HETATM 3205 C5 MOL G 1 33.340 15.563 31.415 1.00 0.00 C +HETATM 3206 H5 MOL G 1 34.084 15.734 30.641 1.00 0.00 H +HETATM 3207 C6 MOL G 1 33.661 15.117 32.684 1.00 0.00 C +HETATM 3208 C7 MOL G 1 34.949 14.390 33.095 1.00 0.00 C +HETATM 3209 H6 MOL G 1 35.154 13.519 32.468 1.00 0.00 H +HETATM 3210 H7 MOL G 1 34.750 14.006 34.099 1.00 0.00 H +HETATM 3211 O1 MOL G 1 36.214 15.094 33.144 1.00 0.00 O +HETATM 3212 H8 MOL G 1 36.105 15.889 33.697 1.00 0.00 H +TER 3213 MOL G 1 +HETATM 3214 C1 MOL H 1 42.522 16.090 26.992 1.00 0.00 C +HETATM 3215 H1 MOL H 1 43.392 15.653 26.509 1.00 0.00 H +HETATM 3216 C2 MOL H 1 42.533 17.484 27.021 1.00 0.00 C +HETATM 3217 H2 MOL H 1 43.383 18.029 26.620 1.00 0.00 H +HETATM 3218 C3 MOL H 1 41.551 18.194 27.626 1.00 0.00 C +HETATM 3219 H3 MOL H 1 41.529 19.273 27.498 1.00 0.00 H +HETATM 3220 C4 MOL H 1 40.488 17.527 28.223 1.00 0.00 C +HETATM 3221 H4 MOL H 1 39.724 18.150 28.683 1.00 0.00 H +HETATM 3222 C5 MOL H 1 40.477 16.111 28.272 1.00 0.00 C +HETATM 3223 H5 MOL H 1 39.623 15.581 28.686 1.00 0.00 H +HETATM 3224 C6 MOL H 1 41.458 15.335 27.606 1.00 0.00 C +HETATM 3225 C7 MOL H 1 41.468 13.836 27.718 1.00 0.00 C +HETATM 3226 H6 MOL H 1 40.697 13.563 28.443 1.00 0.00 H +HETATM 3227 H7 MOL H 1 42.369 13.456 28.206 1.00 0.00 H +HETATM 3228 O1 MOL H 1 41.325 13.297 26.420 1.00 0.00 O +HETATM 3229 H8 MOL H 1 40.376 13.125 26.287 1.00 0.00 H +TER 3230 MOL H 1 +HETATM 3231 C1 MOL I 1 9.616 20.868 13.455 1.00 0.00 C +HETATM 3232 H1 MOL I 1 9.023 21.777 13.518 1.00 0.00 H +HETATM 3233 C2 MOL I 1 11.007 20.814 13.615 1.00 0.00 C +HETATM 3234 H2 MOL I 1 11.529 21.762 13.718 1.00 0.00 H +HETATM 3235 C3 MOL I 1 11.733 19.651 13.529 1.00 0.00 C +HETATM 3236 H3 MOL I 1 12.780 19.591 13.818 1.00 0.00 H +HETATM 3237 C4 MOL I 1 11.078 18.448 13.356 1.00 0.00 C +HETATM 3238 H4 MOL I 1 11.669 17.537 13.320 1.00 0.00 H +HETATM 3239 C5 MOL I 1 9.711 18.465 13.160 1.00 0.00 C +HETATM 3240 H5 MOL I 1 9.252 17.523 12.870 1.00 0.00 H +HETATM 3241 C6 MOL I 1 9.004 19.657 13.201 1.00 0.00 C +HETATM 3242 C7 MOL I 1 7.489 19.547 12.987 1.00 0.00 C +HETATM 3243 H6 MOL I 1 6.942 19.506 13.932 1.00 0.00 H +HETATM 3244 H7 MOL I 1 7.255 18.616 12.465 1.00 0.00 H +HETATM 3245 O1 MOL I 1 6.852 20.593 12.215 1.00 0.00 O +HETATM 3246 H8 MOL I 1 7.267 20.516 11.338 1.00 0.00 H +TER 3247 MOL I 1 +HETATM 3248 C1 MOL J 1 11.866 15.002 38.844 1.00 0.00 C +HETATM 3249 H1 MOL J 1 12.107 15.692 38.040 1.00 0.00 H +HETATM 3250 C2 MOL J 1 10.709 15.232 39.593 1.00 0.00 C +HETATM 3251 H2 MOL J 1 10.117 16.111 39.351 1.00 0.00 H +HETATM 3252 C3 MOL J 1 10.458 14.390 40.685 1.00 0.00 C +HETATM 3253 H3 MOL J 1 9.698 14.720 41.388 1.00 0.00 H +HETATM 3254 C4 MOL J 1 11.299 13.310 41.015 1.00 0.00 C +HETATM 3255 H4 MOL J 1 11.340 12.746 41.943 1.00 0.00 H +HETATM 3256 C5 MOL J 1 12.411 13.108 40.236 1.00 0.00 C +HETATM 3257 H5 MOL J 1 13.071 12.262 40.408 1.00 0.00 H +HETATM 3258 C6 MOL J 1 12.726 13.904 39.126 1.00 0.00 C +HETATM 3259 C7 MOL J 1 13.942 13.578 38.300 1.00 0.00 C +HETATM 3260 H6 MOL J 1 14.367 12.612 38.583 1.00 0.00 H +HETATM 3261 H7 MOL J 1 14.737 14.296 38.518 1.00 0.00 H +HETATM 3262 O1 MOL J 1 13.693 13.648 36.892 1.00 0.00 O +HETATM 3263 H8 MOL J 1 14.039 12.759 36.694 1.00 0.00 H +TER 3264 MOL J 1 +HETATM 3265 C1 MOL K 1 27.098 42.259 42.223 1.00 0.00 C +HETATM 3266 H1 MOL K 1 27.672 43.181 42.272 1.00 0.00 H +HETATM 3267 C2 MOL K 1 27.049 41.430 43.392 1.00 0.00 C +HETATM 3268 H2 MOL K 1 27.588 41.679 44.303 1.00 0.00 H +HETATM 3269 C3 MOL K 1 26.288 40.243 43.343 1.00 0.00 C +HETATM 3270 H3 MOL K 1 26.246 39.614 44.228 1.00 0.00 H +HETATM 3271 C4 MOL K 1 25.638 39.825 42.153 1.00 0.00 C +HETATM 3272 H4 MOL K 1 24.895 39.032 42.192 1.00 0.00 H +HETATM 3273 C5 MOL K 1 25.780 40.664 41.049 1.00 0.00 C +HETATM 3274 H5 MOL K 1 25.180 40.431 40.172 1.00 0.00 H +HETATM 3275 C6 MOL K 1 26.527 41.854 41.047 1.00 0.00 C +HETATM 3276 C7 MOL K 1 26.498 42.849 39.887 1.00 0.00 C +HETATM 3277 H6 MOL K 1 25.953 43.736 40.222 1.00 0.00 H +HETATM 3278 H7 MOL K 1 25.990 42.402 39.029 1.00 0.00 H +HETATM 3279 O1 MOL K 1 27.810 43.259 39.526 1.00 0.00 O +HETATM 3280 H8 MOL K 1 27.843 43.335 38.555 1.00 0.00 H +TER 3281 MOL K 1 +HETATM 3282 C1 MOL L 1 31.353 27.668 14.171 1.00 0.00 C +HETATM 3283 H1 MOL L 1 30.849 26.743 13.905 1.00 0.00 H +HETATM 3284 C2 MOL L 1 32.544 27.859 13.506 1.00 0.00 C +HETATM 3285 H2 MOL L 1 32.962 27.095 12.856 1.00 0.00 H +HETATM 3286 C3 MOL L 1 33.322 28.966 13.838 1.00 0.00 C +HETATM 3287 H3 MOL L 1 34.326 29.060 13.433 1.00 0.00 H +HETATM 3288 C4 MOL L 1 32.812 30.008 14.683 1.00 0.00 C +HETATM 3289 H4 MOL L 1 33.428 30.889 14.846 1.00 0.00 H +HETATM 3290 C5 MOL L 1 31.592 29.821 15.252 1.00 0.00 C +HETATM 3291 H5 MOL L 1 31.156 30.546 15.935 1.00 0.00 H +HETATM 3292 C6 MOL L 1 30.936 28.562 15.060 1.00 0.00 C +HETATM 3293 C7 MOL L 1 29.545 28.338 15.730 1.00 0.00 C +HETATM 3294 H6 MOL L 1 29.715 28.209 16.802 1.00 0.00 H +HETATM 3295 H7 MOL L 1 29.051 27.443 15.343 1.00 0.00 H +HETATM 3296 O1 MOL L 1 28.539 29.311 15.499 1.00 0.00 O +HETATM 3297 H8 MOL L 1 28.289 29.360 14.559 1.00 0.00 H +TER 3298 MOL L 1 +HETATM 3299 C1 MOL M 1 14.841 12.477 27.624 1.00 0.00 C +HETATM 3300 H1 MOL M 1 14.353 12.070 28.507 1.00 0.00 H +HETATM 3301 C2 MOL M 1 15.858 11.760 26.964 1.00 0.00 C +HETATM 3302 H2 MOL M 1 16.096 10.764 27.329 1.00 0.00 H +HETATM 3303 C3 MOL M 1 16.456 12.331 25.812 1.00 0.00 C +HETATM 3304 H3 MOL M 1 17.191 11.815 25.199 1.00 0.00 H +HETATM 3305 C4 MOL M 1 15.960 13.566 25.313 1.00 0.00 C +HETATM 3306 H4 MOL M 1 16.315 13.959 24.363 1.00 0.00 H +HETATM 3307 C5 MOL M 1 15.047 14.259 25.994 1.00 0.00 C +HETATM 3308 H5 MOL M 1 14.565 15.145 25.588 1.00 0.00 H +HETATM 3309 C6 MOL M 1 14.509 13.774 27.186 1.00 0.00 C +HETATM 3310 C7 MOL M 1 13.420 14.550 27.826 1.00 0.00 C +HETATM 3311 H6 MOL M 1 13.098 14.195 28.808 1.00 0.00 H +HETATM 3312 H7 MOL M 1 12.610 14.710 27.109 1.00 0.00 H +HETATM 3313 O1 MOL M 1 13.782 15.901 28.173 1.00 0.00 O +HETATM 3314 H8 MOL M 1 14.523 15.893 28.805 1.00 0.00 H +TER 3315 MOL M 1 +HETATM 3316 C1 MOL N 1 22.506 21.707 33.672 1.00 0.00 C +HETATM 3317 H1 MOL N 1 21.767 21.546 34.453 1.00 0.00 H +HETATM 3318 C2 MOL N 1 22.184 21.114 32.451 1.00 0.00 C +HETATM 3319 H2 MOL N 1 21.272 20.527 32.373 1.00 0.00 H +HETATM 3320 C3 MOL N 1 23.090 21.343 31.415 1.00 0.00 C +HETATM 3321 H3 MOL N 1 22.828 20.866 30.474 1.00 0.00 H +HETATM 3322 C4 MOL N 1 24.281 21.972 31.530 1.00 0.00 C +HETATM 3323 H4 MOL N 1 24.930 22.098 30.667 1.00 0.00 H +HETATM 3324 C5 MOL N 1 24.605 22.605 32.741 1.00 0.00 C +HETATM 3325 H5 MOL N 1 25.435 23.277 32.945 1.00 0.00 H +HETATM 3326 C6 MOL N 1 23.689 22.415 33.824 1.00 0.00 C +HETATM 3327 C7 MOL N 1 23.945 23.218 35.093 1.00 0.00 C +HETATM 3328 H6 MOL N 1 23.895 24.269 34.796 1.00 0.00 H +HETATM 3329 H7 MOL N 1 24.951 22.952 35.425 1.00 0.00 H +HETATM 3330 O1 MOL N 1 22.966 23.092 36.180 1.00 0.00 O +HETATM 3331 H8 MOL N 1 22.770 22.150 36.334 1.00 0.00 H +TER 3332 MOL N 1 +HETATM 3333 C1 MOL O 1 32.811 20.672 33.528 1.00 0.00 C +HETATM 3334 H1 MOL O 1 31.988 20.287 32.932 1.00 0.00 H +HETATM 3335 C2 MOL O 1 32.439 21.458 34.597 1.00 0.00 C +HETATM 3336 H2 MOL O 1 31.374 21.625 34.737 1.00 0.00 H +HETATM 3337 C3 MOL O 1 33.380 21.903 35.510 1.00 0.00 C +HETATM 3338 H3 MOL O 1 33.163 22.584 36.328 1.00 0.00 H +HETATM 3339 C4 MOL O 1 34.701 21.747 35.173 1.00 0.00 C +HETATM 3340 H4 MOL O 1 35.452 22.203 35.813 1.00 0.00 H +HETATM 3341 C5 MOL O 1 35.065 21.070 34.025 1.00 0.00 C +HETATM 3342 H5 MOL O 1 36.122 21.071 33.775 1.00 0.00 H +HETATM 3343 C6 MOL O 1 34.166 20.506 33.154 1.00 0.00 C +HETATM 3344 C7 MOL O 1 34.588 19.749 31.963 1.00 0.00 C +HETATM 3345 H6 MOL O 1 33.690 19.344 31.491 1.00 0.00 H +HETATM 3346 H7 MOL O 1 35.171 18.853 32.191 1.00 0.00 H +HETATM 3347 O1 MOL O 1 35.222 20.554 30.999 1.00 0.00 O +HETATM 3348 H8 MOL O 1 34.581 21.199 30.651 1.00 0.00 H +TER 3349 MOL O 1 +HETATM 3350 C1 MOL P 1 7.850 34.959 43.525 1.00 0.00 C +HETATM 3351 H1 MOL P 1 7.684 35.870 44.093 1.00 0.00 H +HETATM 3352 C2 MOL P 1 6.918 34.587 42.568 1.00 0.00 C +HETATM 3353 H2 MOL P 1 5.954 35.058 42.397 1.00 0.00 H +HETATM 3354 C3 MOL P 1 7.197 33.496 41.685 1.00 0.00 C +HETATM 3355 H3 MOL P 1 6.461 33.145 40.967 1.00 0.00 H +HETATM 3356 C4 MOL P 1 8.426 32.837 41.800 1.00 0.00 C +HETATM 3357 H4 MOL P 1 8.591 32.059 41.060 1.00 0.00 H +HETATM 3358 C5 MOL P 1 9.421 33.222 42.720 1.00 0.00 C +HETATM 3359 H5 MOL P 1 10.291 32.591 42.879 1.00 0.00 H +HETATM 3360 C6 MOL P 1 9.054 34.188 43.673 1.00 0.00 C +HETATM 3361 C7 MOL P 1 10.067 34.483 44.783 1.00 0.00 C +HETATM 3362 H6 MOL P 1 11.054 34.328 44.341 1.00 0.00 H +HETATM 3363 H7 MOL P 1 9.837 33.750 45.561 1.00 0.00 H +HETATM 3364 O1 MOL P 1 10.027 35.827 45.352 1.00 0.00 O +HETATM 3365 H8 MOL P 1 10.242 35.698 46.293 1.00 0.00 H +TER 3366 MOL P 1 +HETATM 3367 C1 MOL Q 1 5.671 44.231 42.071 1.00 0.00 C +HETATM 3368 H1 MOL Q 1 6.729 44.007 41.958 1.00 0.00 H +HETATM 3369 C2 MOL Q 1 5.236 45.499 41.923 1.00 0.00 C +HETATM 3370 H2 MOL Q 1 6.031 46.238 41.873 1.00 0.00 H +HETATM 3371 C3 MOL Q 1 3.810 45.762 42.055 1.00 0.00 C +HETATM 3372 H3 MOL Q 1 3.325 46.723 41.900 1.00 0.00 H +HETATM 3373 C4 MOL Q 1 3.013 44.713 42.389 1.00 0.00 C +HETATM 3374 H4 MOL Q 1 1.969 44.940 42.591 1.00 0.00 H +HETATM 3375 C5 MOL Q 1 3.479 43.421 42.456 1.00 0.00 C +HETATM 3376 H5 MOL Q 1 2.751 42.656 42.712 1.00 0.00 H +HETATM 3377 C6 MOL Q 1 4.791 43.192 42.285 1.00 0.00 C +HETATM 3378 C7 MOL Q 1 5.353 41.786 42.393 1.00 0.00 C +HETATM 3379 H6 MOL Q 1 4.891 41.267 43.237 1.00 0.00 H +HETATM 3380 H7 MOL Q 1 6.390 41.710 42.731 1.00 0.00 H +HETATM 3381 O1 MOL Q 1 5.259 40.955 41.226 1.00 0.00 O +HETATM 3382 H8 MOL Q 1 5.378 40.002 41.387 1.00 0.00 H +TER 3383 MOL Q 1 +HETATM 3384 C1 MOL R 1 -0.509 31.012 20.545 1.00 0.00 C +HETATM 3385 H1 MOL R 1 -1.057 30.381 19.850 1.00 0.00 H +HETATM 3386 C2 MOL R 1 -0.124 32.332 20.191 1.00 0.00 C +HETATM 3387 H2 MOL R 1 -0.583 32.797 19.322 1.00 0.00 H +HETATM 3388 C3 MOL R 1 0.760 33.090 20.988 1.00 0.00 C +HETATM 3389 H3 MOL R 1 1.115 34.050 20.621 1.00 0.00 H +HETATM 3390 C4 MOL R 1 1.229 32.532 22.215 1.00 0.00 C +HETATM 3391 H4 MOL R 1 2.028 32.946 22.824 1.00 0.00 H +HETATM 3392 C5 MOL R 1 0.715 31.304 22.592 1.00 0.00 C +HETATM 3393 H5 MOL R 1 1.050 30.890 23.539 1.00 0.00 H +HETATM 3394 C6 MOL R 1 0.038 30.505 21.757 1.00 0.00 C +HETATM 3395 C7 MOL R 1 -0.277 29.034 22.074 1.00 0.00 C +HETATM 3396 H6 MOL R 1 -1.318 28.784 21.851 1.00 0.00 H +HETATM 3397 H7 MOL R 1 -0.169 28.984 23.160 1.00 0.00 H +HETATM 3398 O1 MOL R 1 0.633 28.110 21.376 1.00 0.00 O +HETATM 3399 H8 MOL R 1 1.445 28.082 21.913 1.00 0.00 H +TER 3400 MOL R 1 +HETATM 3401 C1 MOL S 1 33.588 22.904 40.101 1.00 0.00 C +HETATM 3402 H1 MOL S 1 32.655 22.982 40.655 1.00 0.00 H +HETATM 3403 C2 MOL S 1 33.968 24.081 39.391 1.00 0.00 C +HETATM 3404 H2 MOL S 1 33.408 25.008 39.483 1.00 0.00 H +HETATM 3405 C3 MOL S 1 35.155 24.048 38.673 1.00 0.00 C +HETATM 3406 H3 MOL S 1 35.541 24.905 38.125 1.00 0.00 H +HETATM 3407 C4 MOL S 1 35.897 22.883 38.566 1.00 0.00 C +HETATM 3408 H4 MOL S 1 36.749 22.857 37.892 1.00 0.00 H +HETATM 3409 C5 MOL S 1 35.471 21.744 39.256 1.00 0.00 C +HETATM 3410 H5 MOL S 1 35.994 20.793 39.325 1.00 0.00 H +HETATM 3411 C6 MOL S 1 34.386 21.754 40.125 1.00 0.00 C +HETATM 3412 C7 MOL S 1 33.903 20.536 40.885 1.00 0.00 C +HETATM 3413 H6 MOL S 1 32.844 20.673 41.118 1.00 0.00 H +HETATM 3414 H7 MOL S 1 34.413 20.422 41.845 1.00 0.00 H +HETATM 3415 O1 MOL S 1 33.964 19.305 40.075 1.00 0.00 O +HETATM 3416 H8 MOL S 1 33.588 19.463 39.190 1.00 0.00 H +TER 3417 MOL S 1 +HETATM 3418 C1 MOL T 1 33.214 42.686 8.218 1.00 0.00 C +HETATM 3419 H1 MOL T 1 34.194 43.093 8.455 1.00 0.00 H +HETATM 3420 C2 MOL T 1 32.704 42.632 6.890 1.00 0.00 C +HETATM 3421 H2 MOL T 1 33.253 42.878 5.985 1.00 0.00 H +HETATM 3422 C3 MOL T 1 31.354 42.220 6.719 1.00 0.00 C +HETATM 3423 H3 MOL T 1 30.947 42.202 5.711 1.00 0.00 H +HETATM 3424 C4 MOL T 1 30.567 42.031 7.831 1.00 0.00 C +HETATM 3425 H4 MOL T 1 29.569 41.639 7.650 1.00 0.00 H +HETATM 3426 C5 MOL T 1 31.074 42.076 9.143 1.00 0.00 C +HETATM 3427 H5 MOL T 1 30.504 41.708 9.993 1.00 0.00 H +HETATM 3428 C6 MOL T 1 32.448 42.429 9.312 1.00 0.00 C +HETATM 3429 C7 MOL T 1 32.959 42.662 10.746 1.00 0.00 C +HETATM 3430 H6 MOL T 1 32.194 43.091 11.397 1.00 0.00 H +HETATM 3431 H7 MOL T 1 33.785 43.376 10.711 1.00 0.00 H +HETATM 3432 O1 MOL T 1 33.467 41.500 11.401 1.00 0.00 O +HETATM 3433 H8 MOL T 1 34.210 41.212 10.840 1.00 0.00 H +TER 3434 MOL T 1 +HETATM 3435 C1 MOL U 1 34.831 11.220 36.336 1.00 0.00 C +HETATM 3436 H1 MOL U 1 35.632 11.701 35.782 1.00 0.00 H +HETATM 3437 C2 MOL U 1 34.286 10.038 35.785 1.00 0.00 C +HETATM 3438 H2 MOL U 1 34.649 9.483 34.924 1.00 0.00 H +HETATM 3439 C3 MOL U 1 33.081 9.539 36.316 1.00 0.00 C +HETATM 3440 H3 MOL U 1 32.611 8.616 35.989 1.00 0.00 H +HETATM 3441 C4 MOL U 1 32.669 10.050 37.590 1.00 0.00 C +HETATM 3442 H4 MOL U 1 31.816 9.573 38.065 1.00 0.00 H +HETATM 3443 C5 MOL U 1 33.260 11.193 38.147 1.00 0.00 C +HETATM 3444 H5 MOL U 1 33.051 11.601 39.133 1.00 0.00 H +HETATM 3445 C6 MOL U 1 34.357 11.786 37.461 1.00 0.00 C +HETATM 3446 C7 MOL U 1 34.954 13.092 37.907 1.00 0.00 C +HETATM 3447 H6 MOL U 1 36.029 13.032 38.092 1.00 0.00 H +HETATM 3448 H7 MOL U 1 34.336 13.463 38.728 1.00 0.00 H +HETATM 3449 O1 MOL U 1 34.923 14.069 36.840 1.00 0.00 O +HETATM 3450 H8 MOL U 1 35.792 14.509 36.821 1.00 0.00 H +TER 3451 MOL U 1 +HETATM 3452 C1 MOL V 1 5.120 38.854 21.031 1.00 0.00 C +HETATM 3453 H1 MOL V 1 5.432 37.895 21.437 1.00 0.00 H +HETATM 3454 C2 MOL V 1 3.971 39.422 21.547 1.00 0.00 C +HETATM 3455 H2 MOL V 1 3.465 38.875 22.338 1.00 0.00 H +HETATM 3456 C3 MOL V 1 3.525 40.659 21.068 1.00 0.00 C +HETATM 3457 H3 MOL V 1 2.601 41.143 21.375 1.00 0.00 H +HETATM 3458 C4 MOL V 1 4.212 41.247 20.045 1.00 0.00 C +HETATM 3459 H4 MOL V 1 3.842 42.142 19.551 1.00 0.00 H +HETATM 3460 C5 MOL V 1 5.397 40.703 19.523 1.00 0.00 C +HETATM 3461 H5 MOL V 1 6.008 41.305 18.856 1.00 0.00 H +HETATM 3462 C6 MOL V 1 5.784 39.441 19.957 1.00 0.00 C +HETATM 3463 C7 MOL V 1 6.827 38.675 19.241 1.00 0.00 C +HETATM 3464 H6 MOL V 1 7.555 38.168 19.879 1.00 0.00 H +HETATM 3465 H7 MOL V 1 7.406 39.336 18.590 1.00 0.00 H +HETATM 3466 O1 MOL V 1 6.238 37.693 18.289 1.00 0.00 O +HETATM 3467 H8 MOL V 1 6.120 38.122 17.422 1.00 0.00 H +TER 3468 MOL V 1 +HETATM 3469 C1 MOL W 1 15.789 3.985 35.688 1.00 0.00 C +HETATM 3470 H1 MOL W 1 16.382 3.191 36.135 1.00 0.00 H +HETATM 3471 C2 MOL W 1 14.430 3.746 35.444 1.00 0.00 C +HETATM 3472 H2 MOL W 1 14.019 2.766 35.671 1.00 0.00 H +HETATM 3473 C3 MOL W 1 13.604 4.744 35.059 1.00 0.00 C +HETATM 3474 H3 MOL W 1 12.557 4.523 34.866 1.00 0.00 H +HETATM 3475 C4 MOL W 1 14.153 6.005 34.816 1.00 0.00 C +HETATM 3476 H4 MOL W 1 13.410 6.706 34.444 1.00 0.00 H +HETATM 3477 C5 MOL W 1 15.531 6.250 34.943 1.00 0.00 C +HETATM 3478 H5 MOL W 1 15.936 7.254 34.839 1.00 0.00 H +HETATM 3479 C6 MOL W 1 16.334 5.250 35.453 1.00 0.00 C +HETATM 3480 C7 MOL W 1 17.819 5.524 35.714 1.00 0.00 C +HETATM 3481 H6 MOL W 1 18.254 4.692 36.273 1.00 0.00 H +HETATM 3482 H7 MOL W 1 18.024 6.404 36.328 1.00 0.00 H +HETATM 3483 O1 MOL W 1 18.506 5.725 34.460 1.00 0.00 O +HETATM 3484 H8 MOL W 1 18.094 6.524 34.087 1.00 0.00 H +TER 3485 MOL W 1 +HETATM 3486 C1 MOL X 1 18.530 29.566 9.262 1.00 0.00 C +HETATM 3487 H1 MOL X 1 18.754 28.505 9.340 1.00 0.00 H +HETATM 3488 C2 MOL X 1 19.430 30.422 8.608 1.00 0.00 C +HETATM 3489 H2 MOL X 1 20.413 30.025 8.367 1.00 0.00 H +HETATM 3490 C3 MOL X 1 19.040 31.725 8.218 1.00 0.00 C +HETATM 3491 H3 MOL X 1 19.676 32.292 7.543 1.00 0.00 H +HETATM 3492 C4 MOL X 1 17.797 32.204 8.473 1.00 0.00 C +HETATM 3493 H4 MOL X 1 17.405 33.161 8.138 1.00 0.00 H +HETATM 3494 C5 MOL X 1 17.011 31.487 9.367 1.00 0.00 C +HETATM 3495 H5 MOL X 1 16.015 31.822 9.645 1.00 0.00 H +HETATM 3496 C6 MOL X 1 17.327 30.130 9.698 1.00 0.00 C +HETATM 3497 C7 MOL X 1 16.445 29.305 10.619 1.00 0.00 C +HETATM 3498 H6 MOL X 1 15.429 29.703 10.558 1.00 0.00 H +HETATM 3499 H7 MOL X 1 16.864 29.446 11.618 1.00 0.00 H +HETATM 3500 O1 MOL X 1 16.374 27.898 10.303 1.00 0.00 O +HETATM 3501 H8 MOL X 1 15.709 27.421 10.830 1.00 0.00 H +TER 3502 MOL X 1 +HETATM 3503 C1 MOL Y 1 30.509 41.440 16.391 1.00 0.00 C +HETATM 3504 H1 MOL Y 1 31.589 41.515 16.291 1.00 0.00 H +HETATM 3505 C2 MOL Y 1 30.038 41.253 17.663 1.00 0.00 C +HETATM 3506 H2 MOL Y 1 30.810 41.235 18.428 1.00 0.00 H +HETATM 3507 C3 MOL Y 1 28.650 41.149 17.936 1.00 0.00 C +HETATM 3508 H3 MOL Y 1 28.280 40.902 18.928 1.00 0.00 H +HETATM 3509 C4 MOL Y 1 27.786 41.241 16.790 1.00 0.00 C +HETATM 3510 H4 MOL Y 1 26.716 41.057 16.843 1.00 0.00 H +HETATM 3511 C5 MOL Y 1 28.313 41.371 15.494 1.00 0.00 C +HETATM 3512 H5 MOL Y 1 27.609 41.330 14.667 1.00 0.00 H +HETATM 3513 C6 MOL Y 1 29.657 41.546 15.293 1.00 0.00 C +HETATM 3514 C7 MOL Y 1 30.206 41.675 13.946 1.00 0.00 C +HETATM 3515 H6 MOL Y 1 31.120 41.086 13.833 1.00 0.00 H +HETATM 3516 H7 MOL Y 1 30.496 42.718 13.792 1.00 0.00 H +HETATM 3517 O1 MOL Y 1 29.399 41.251 12.855 1.00 0.00 O +HETATM 3518 H8 MOL Y 1 29.255 40.302 13.022 1.00 0.00 H +TER 3519 MOL Y 1 +HETATM 3520 C1 MOL Z 1 44.289 37.095 35.553 1.00 0.00 C +HETATM 3521 H1 MOL Z 1 44.556 37.871 36.265 1.00 0.00 H +HETATM 3522 C2 MOL Z 1 44.643 35.764 35.867 1.00 0.00 C +HETATM 3523 H2 MOL Z 1 45.341 35.505 36.659 1.00 0.00 H +HETATM 3524 C3 MOL Z 1 44.131 34.765 35.050 1.00 0.00 C +HETATM 3525 H3 MOL Z 1 44.348 33.711 35.203 1.00 0.00 H +HETATM 3526 C4 MOL Z 1 43.462 35.032 33.911 1.00 0.00 C +HETATM 3527 H4 MOL Z 1 43.030 34.201 33.359 1.00 0.00 H +HETATM 3528 C5 MOL Z 1 43.159 36.331 33.598 1.00 0.00 C +HETATM 3529 H5 MOL Z 1 42.709 36.504 32.624 1.00 0.00 H +HETATM 3530 C6 MOL Z 1 43.566 37.374 34.356 1.00 0.00 C +HETATM 3531 C7 MOL Z 1 43.197 38.775 33.984 1.00 0.00 C +HETATM 3532 H6 MOL Z 1 42.816 39.228 34.903 1.00 0.00 H +HETATM 3533 H7 MOL Z 1 42.410 38.764 33.226 1.00 0.00 H +HETATM 3534 O1 MOL Z 1 44.306 39.495 33.479 1.00 0.00 O +HETATM 3535 H8 MOL Z 1 44.704 39.906 34.267 1.00 0.00 H +TER 3536 MOL Z 1 +HETATM 3537 C1 MOL A 1 9.206 1.830 13.232 1.00 0.00 C +HETATM 3538 H1 MOL A 1 9.502 2.441 14.081 1.00 0.00 H +HETATM 3539 C2 MOL A 1 10.103 1.964 12.096 1.00 0.00 C +HETATM 3540 H2 MOL A 1 11.056 2.486 12.113 1.00 0.00 H +HETATM 3541 C3 MOL A 1 9.715 1.324 10.882 1.00 0.00 C +HETATM 3542 H3 MOL A 1 10.415 1.320 10.050 1.00 0.00 H +HETATM 3543 C4 MOL A 1 8.518 0.567 10.810 1.00 0.00 C +HETATM 3544 H4 MOL A 1 8.310 0.018 9.896 1.00 0.00 H +HETATM 3545 C5 MOL A 1 7.747 0.415 11.964 1.00 0.00 C +HETATM 3546 H5 MOL A 1 6.846 -0.189 11.881 1.00 0.00 H +HETATM 3547 C6 MOL A 1 8.041 1.054 13.169 1.00 0.00 C +HETATM 3548 C7 MOL A 1 7.088 0.824 14.417 1.00 0.00 C +HETATM 3549 H6 MOL A 1 7.479 1.493 15.188 1.00 0.00 H +HETATM 3550 H7 MOL A 1 7.233 -0.233 14.653 1.00 0.00 H +HETATM 3551 O1 MOL A 1 5.818 1.232 14.133 1.00 0.00 O +HETATM 3552 H8 MOL A 1 5.189 0.794 14.734 1.00 0.00 H +TER 3553 MOL A 1 +HETATM 3554 C1 MOL B 1 31.693 26.916 1.842 1.00 0.00 C +HETATM 3555 H1 MOL B 1 32.168 27.396 2.694 1.00 0.00 H +HETATM 3556 C2 MOL B 1 30.935 25.701 2.016 1.00 0.00 C +HETATM 3557 H2 MOL B 1 30.866 25.190 2.973 1.00 0.00 H +HETATM 3558 C3 MOL B 1 30.236 25.061 1.036 1.00 0.00 C +HETATM 3559 H3 MOL B 1 29.626 24.200 1.298 1.00 0.00 H +HETATM 3560 C4 MOL B 1 30.329 25.577 -0.220 1.00 0.00 C +HETATM 3561 H4 MOL B 1 29.764 25.020 -0.963 1.00 0.00 H +HETATM 3562 C5 MOL B 1 31.073 26.762 -0.459 1.00 0.00 C +HETATM 3563 H5 MOL B 1 31.142 27.087 -1.494 1.00 0.00 H +HETATM 3564 C6 MOL B 1 31.743 27.386 0.554 1.00 0.00 C +HETATM 3565 C7 MOL B 1 32.305 28.806 0.391 1.00 0.00 C +HETATM 3566 H6 MOL B 1 32.891 29.083 1.271 1.00 0.00 H +HETATM 3567 H7 MOL B 1 31.435 29.455 0.260 1.00 0.00 H +HETATM 3568 O1 MOL B 1 33.093 28.928 -0.793 1.00 0.00 O +HETATM 3569 H8 MOL B 1 33.490 28.055 -0.963 1.00 0.00 H +TER 3570 MOL B 1 +HETATM 3571 C1 MOL C 1 3.829 26.429 26.022 1.00 0.00 C +HETATM 3572 H1 MOL C 1 4.623 27.159 25.891 1.00 0.00 H +HETATM 3573 C2 MOL C 1 4.131 25.083 26.279 1.00 0.00 C +HETATM 3574 H2 MOL C 1 5.158 24.729 26.323 1.00 0.00 H +HETATM 3575 C3 MOL C 1 3.214 24.111 26.423 1.00 0.00 C +HETATM 3576 H3 MOL C 1 3.563 23.122 26.707 1.00 0.00 H +HETATM 3577 C4 MOL C 1 1.866 24.497 26.257 1.00 0.00 C +HETATM 3578 H4 MOL C 1 1.071 23.777 26.433 1.00 0.00 H +HETATM 3579 C5 MOL C 1 1.554 25.830 26.120 1.00 0.00 C +HETATM 3580 H5 MOL C 1 0.545 26.183 26.323 1.00 0.00 H +HETATM 3581 C6 MOL C 1 2.526 26.873 25.948 1.00 0.00 C +HETATM 3582 C7 MOL C 1 2.204 28.343 25.993 1.00 0.00 C +HETATM 3583 H6 MOL C 1 1.161 28.651 25.880 1.00 0.00 H +HETATM 3584 H7 MOL C 1 2.706 28.738 25.106 1.00 0.00 H +HETATM 3585 O1 MOL C 1 2.807 29.098 27.089 1.00 0.00 O +HETATM 3586 H8 MOL C 1 3.739 29.313 26.904 1.00 0.00 H +TER 3587 MOL C 1 +HETATM 3588 C1 MOL D 1 16.359 38.704 18.147 1.00 0.00 C +HETATM 3589 H1 MOL D 1 17.297 39.208 17.931 1.00 0.00 H +HETATM 3590 C2 MOL D 1 15.814 38.681 19.479 1.00 0.00 C +HETATM 3591 H2 MOL D 1 16.479 39.026 20.266 1.00 0.00 H +HETATM 3592 C3 MOL D 1 14.650 38.039 19.670 1.00 0.00 C +HETATM 3593 H3 MOL D 1 14.444 37.696 20.681 1.00 0.00 H +HETATM 3594 C4 MOL D 1 13.914 37.486 18.637 1.00 0.00 C +HETATM 3595 H4 MOL D 1 13.059 36.841 18.818 1.00 0.00 H +HETATM 3596 C5 MOL D 1 14.459 37.551 17.352 1.00 0.00 C +HETATM 3597 H5 MOL D 1 14.009 37.148 16.448 1.00 0.00 H +HETATM 3598 C6 MOL D 1 15.679 38.141 17.082 1.00 0.00 C +HETATM 3599 C7 MOL D 1 16.187 38.324 15.658 1.00 0.00 C +HETATM 3600 H6 MOL D 1 17.035 39.013 15.644 1.00 0.00 H +HETATM 3601 H7 MOL D 1 15.361 38.778 15.104 1.00 0.00 H +HETATM 3602 O1 MOL D 1 16.626 37.069 15.075 1.00 0.00 O +HETATM 3603 H8 MOL D 1 17.223 36.773 15.786 1.00 0.00 H +TER 3604 MOL D 1 +HETATM 3605 C1 MOL E 1 42.875 27.441 18.452 1.00 0.00 C +HETATM 3606 H1 MOL E 1 43.250 27.877 19.374 1.00 0.00 H +HETATM 3607 C2 MOL E 1 43.823 26.958 17.568 1.00 0.00 C +HETATM 3608 H2 MOL E 1 44.878 26.966 17.827 1.00 0.00 H +HETATM 3609 C3 MOL E 1 43.369 26.697 16.275 1.00 0.00 C +HETATM 3610 H3 MOL E 1 44.053 26.555 15.442 1.00 0.00 H +HETATM 3611 C4 MOL E 1 42.045 26.656 15.908 1.00 0.00 C +HETATM 3612 H4 MOL E 1 41.643 26.302 14.962 1.00 0.00 H +HETATM 3613 C5 MOL E 1 41.105 27.006 16.899 1.00 0.00 C +HETATM 3614 H5 MOL E 1 40.066 26.937 16.589 1.00 0.00 H +HETATM 3615 C6 MOL E 1 41.528 27.321 18.188 1.00 0.00 C +HETATM 3616 C7 MOL E 1 40.523 27.759 19.254 1.00 0.00 C +HETATM 3617 H6 MOL E 1 40.623 27.157 20.161 1.00 0.00 H +HETATM 3618 H7 MOL E 1 39.552 27.649 18.765 1.00 0.00 H +HETATM 3619 O1 MOL E 1 40.790 29.155 19.587 1.00 0.00 O +HETATM 3620 H8 MOL E 1 40.924 29.775 18.848 1.00 0.00 H +TER 3621 MOL E 1 +HETATM 3622 C1 MOL F 1 19.502 30.480 1.875 1.00 0.00 C +HETATM 3623 H1 MOL F 1 20.568 30.692 1.868 1.00 0.00 H +HETATM 3624 C2 MOL F 1 18.596 31.492 2.234 1.00 0.00 C +HETATM 3625 H2 MOL F 1 19.062 32.429 2.529 1.00 0.00 H +HETATM 3626 C3 MOL F 1 17.238 31.233 2.423 1.00 0.00 C +HETATM 3627 H3 MOL F 1 16.593 32.078 2.652 1.00 0.00 H +HETATM 3628 C4 MOL F 1 16.809 29.914 2.199 1.00 0.00 C +HETATM 3629 H4 MOL F 1 15.782 29.692 2.481 1.00 0.00 H +HETATM 3630 C5 MOL F 1 17.697 28.954 1.751 1.00 0.00 C +HETATM 3631 H5 MOL F 1 17.325 27.996 1.396 1.00 0.00 H +HETATM 3632 C6 MOL F 1 19.067 29.238 1.566 1.00 0.00 C +HETATM 3633 C7 MOL F 1 20.055 28.241 0.882 1.00 0.00 C +HETATM 3634 H6 MOL F 1 21.043 28.697 0.776 1.00 0.00 H +HETATM 3635 H7 MOL F 1 19.819 28.163 -0.182 1.00 0.00 H +HETATM 3636 O1 MOL F 1 20.143 26.941 1.527 1.00 0.00 O +HETATM 3637 H8 MOL F 1 19.248 26.614 1.728 1.00 0.00 H +TER 3638 MOL F 1 +HETATM 3639 C1 MOL G 1 40.597 27.468 26.509 1.00 0.00 C +HETATM 3640 H1 MOL G 1 39.975 28.340 26.323 1.00 0.00 H +HETATM 3641 C2 MOL G 1 41.511 27.089 25.495 1.00 0.00 C +HETATM 3642 H2 MOL G 1 41.400 27.496 24.494 1.00 0.00 H +HETATM 3643 C3 MOL G 1 42.375 26.051 25.656 1.00 0.00 C +HETATM 3644 H3 MOL G 1 42.978 25.797 24.787 1.00 0.00 H +HETATM 3645 C4 MOL G 1 42.300 25.302 26.781 1.00 0.00 C +HETATM 3646 H4 MOL G 1 42.963 24.467 26.993 1.00 0.00 H +HETATM 3647 C5 MOL G 1 41.474 25.680 27.837 1.00 0.00 C +HETATM 3648 H5 MOL G 1 41.402 25.106 28.757 1.00 0.00 H +HETATM 3649 C6 MOL G 1 40.612 26.787 27.724 1.00 0.00 C +HETATM 3650 C7 MOL G 1 39.829 27.133 28.960 1.00 0.00 C +HETATM 3651 H6 MOL G 1 40.021 28.128 29.370 1.00 0.00 H +HETATM 3652 H7 MOL G 1 40.246 26.547 29.782 1.00 0.00 H +HETATM 3653 O1 MOL G 1 38.427 27.127 28.826 1.00 0.00 O +HETATM 3654 H8 MOL G 1 38.048 27.038 29.718 1.00 0.00 H +TER 3655 MOL G 1 +HETATM 3656 C1 MOL H 1 21.651 5.466 10.958 1.00 0.00 C +HETATM 3657 H1 MOL H 1 22.513 5.036 10.454 1.00 0.00 H +HETATM 3658 C2 MOL H 1 20.375 5.738 10.312 1.00 0.00 C +HETATM 3659 H2 MOL H 1 20.367 5.663 9.228 1.00 0.00 H +HETATM 3660 C3 MOL H 1 19.322 6.183 11.039 1.00 0.00 C +HETATM 3661 H3 MOL H 1 18.319 6.200 10.620 1.00 0.00 H +HETATM 3662 C4 MOL H 1 19.539 6.703 12.301 1.00 0.00 C +HETATM 3663 H4 MOL H 1 18.764 7.233 12.849 1.00 0.00 H +HETATM 3664 C5 MOL H 1 20.759 6.547 12.916 1.00 0.00 C +HETATM 3665 H5 MOL H 1 20.835 6.823 13.964 1.00 0.00 H +HETATM 3666 C6 MOL H 1 21.790 5.885 12.330 1.00 0.00 C +HETATM 3667 C7 MOL H 1 23.129 5.623 13.072 1.00 0.00 C +HETATM 3668 H6 MOL H 1 23.682 6.552 13.235 1.00 0.00 H +HETATM 3669 H7 MOL H 1 23.839 5.153 12.387 1.00 0.00 H +HETATM 3670 O1 MOL H 1 23.034 4.901 14.300 1.00 0.00 O +HETATM 3671 H8 MOL H 1 23.472 4.037 14.190 1.00 0.00 H +TER 3672 MOL H 1 +HETATM 3673 C1 MOL I 1 12.920 16.195 31.599 1.00 0.00 C +HETATM 3674 H1 MOL I 1 12.045 16.777 31.877 1.00 0.00 H +HETATM 3675 C2 MOL I 1 14.158 16.824 31.250 1.00 0.00 C +HETATM 3676 H2 MOL I 1 14.178 17.911 31.277 1.00 0.00 H +HETATM 3677 C3 MOL I 1 15.232 16.019 30.866 1.00 0.00 C +HETATM 3678 H3 MOL I 1 16.141 16.594 30.715 1.00 0.00 H +HETATM 3679 C4 MOL I 1 15.167 14.599 30.865 1.00 0.00 C +HETATM 3680 H4 MOL I 1 16.089 14.050 30.692 1.00 0.00 H +HETATM 3681 C5 MOL I 1 13.974 13.963 31.286 1.00 0.00 C +HETATM 3682 H5 MOL I 1 13.891 12.883 31.190 1.00 0.00 H +HETATM 3683 C6 MOL I 1 12.841 14.746 31.543 1.00 0.00 C +HETATM 3684 C7 MOL I 1 11.509 14.078 31.914 1.00 0.00 C +HETATM 3685 H6 MOL I 1 10.790 14.869 32.140 1.00 0.00 H +HETATM 3686 H7 MOL I 1 11.646 13.467 32.810 1.00 0.00 H +HETATM 3687 O1 MOL I 1 11.030 13.374 30.778 1.00 0.00 O +HETATM 3688 H8 MOL I 1 10.130 13.062 30.982 1.00 0.00 H +TER 3689 MOL I 1 +HETATM 3690 C1 MOL J 1 13.737 28.303 16.234 1.00 0.00 C +HETATM 3691 H1 MOL J 1 13.075 28.478 17.078 1.00 0.00 H +HETATM 3692 C2 MOL J 1 14.671 29.279 15.938 1.00 0.00 C +HETATM 3693 H2 MOL J 1 14.701 30.205 16.507 1.00 0.00 H +HETATM 3694 C3 MOL J 1 15.542 29.036 14.863 1.00 0.00 C +HETATM 3695 H3 MOL J 1 16.303 29.776 14.625 1.00 0.00 H +HETATM 3696 C4 MOL J 1 15.528 27.880 14.165 1.00 0.00 C +HETATM 3697 H4 MOL J 1 16.205 27.661 13.343 1.00 0.00 H +HETATM 3698 C5 MOL J 1 14.655 26.861 14.538 1.00 0.00 C +HETATM 3699 H5 MOL J 1 14.657 25.939 13.962 1.00 0.00 H +HETATM 3700 C6 MOL J 1 13.765 27.040 15.580 1.00 0.00 C +HETATM 3701 C7 MOL J 1 12.814 25.951 15.897 1.00 0.00 C +HETATM 3702 H6 MOL J 1 12.733 25.224 15.085 1.00 0.00 H +HETATM 3703 H7 MOL J 1 11.802 26.308 16.105 1.00 0.00 H +HETATM 3704 O1 MOL J 1 13.063 25.017 16.994 1.00 0.00 O +HETATM 3705 H8 MOL J 1 12.522 24.211 16.913 1.00 0.00 H +TER 3706 MOL J 1 +HETATM 3707 C1 MOL K 1 15.119 8.063 30.583 1.00 0.00 C +HETATM 3708 H1 MOL K 1 14.556 8.930 30.245 1.00 0.00 H +HETATM 3709 C2 MOL K 1 14.466 6.918 31.046 1.00 0.00 C +HETATM 3710 H2 MOL K 1 13.382 6.857 31.101 1.00 0.00 H +HETATM 3711 C3 MOL K 1 15.209 5.848 31.478 1.00 0.00 C +HETATM 3712 H3 MOL K 1 14.724 4.975 31.907 1.00 0.00 H +HETATM 3713 C4 MOL K 1 16.618 5.906 31.452 1.00 0.00 C +HETATM 3714 H4 MOL K 1 17.212 5.059 31.785 1.00 0.00 H +HETATM 3715 C5 MOL K 1 17.207 7.017 30.947 1.00 0.00 C +HETATM 3716 H5 MOL K 1 18.287 7.070 30.836 1.00 0.00 H +HETATM 3717 C6 MOL K 1 16.528 8.141 30.548 1.00 0.00 C +HETATM 3718 C7 MOL K 1 17.195 9.489 30.262 1.00 0.00 C +HETATM 3719 H6 MOL K 1 16.722 9.972 29.403 1.00 0.00 H +HETATM 3720 H7 MOL K 1 18.171 9.182 29.879 1.00 0.00 H +HETATM 3721 O1 MOL K 1 17.164 10.539 31.353 1.00 0.00 O +HETATM 3722 H8 MOL K 1 17.617 11.360 31.092 1.00 0.00 H +TER 3723 MOL K 1 +HETATM 3724 C1 MOL L 1 43.143 42.084 23.628 1.00 0.00 C +HETATM 3725 H1 MOL L 1 43.363 41.065 23.320 1.00 0.00 H +HETATM 3726 C2 MOL L 1 43.158 43.115 22.753 1.00 0.00 C +HETATM 3727 H2 MOL L 1 43.507 42.963 21.734 1.00 0.00 H +HETATM 3728 C3 MOL L 1 42.802 44.438 23.157 1.00 0.00 C +HETATM 3729 H3 MOL L 1 42.963 45.330 22.556 1.00 0.00 H +HETATM 3730 C4 MOL L 1 42.422 44.656 24.468 1.00 0.00 C +HETATM 3731 H4 MOL L 1 42.231 45.677 24.788 1.00 0.00 H +HETATM 3732 C5 MOL L 1 42.360 43.597 25.334 1.00 0.00 C +HETATM 3733 H5 MOL L 1 42.060 43.780 26.363 1.00 0.00 H +HETATM 3734 C6 MOL L 1 42.734 42.330 24.939 1.00 0.00 C +HETATM 3735 C7 MOL L 1 42.600 41.109 25.862 1.00 0.00 C +HETATM 3736 H6 MOL L 1 41.570 40.748 25.811 1.00 0.00 H +HETATM 3737 H7 MOL L 1 42.711 41.491 26.881 1.00 0.00 H +HETATM 3738 O1 MOL L 1 43.591 40.060 25.658 1.00 0.00 O +HETATM 3739 H8 MOL L 1 44.445 40.464 25.897 1.00 0.00 H +TER 3740 MOL L 1 +HETATM 3741 C1 MOL M 1 20.067 3.599 30.527 1.00 0.00 C +HETATM 3742 H1 MOL M 1 20.687 4.215 29.882 1.00 0.00 H +HETATM 3743 C2 MOL M 1 19.037 2.822 29.891 1.00 0.00 C +HETATM 3744 H2 MOL M 1 19.098 2.671 28.816 1.00 0.00 H +HETATM 3745 C3 MOL M 1 18.010 2.224 30.669 1.00 0.00 C +HETATM 3746 H3 MOL M 1 17.179 1.785 30.123 1.00 0.00 H +HETATM 3747 C4 MOL M 1 18.095 2.291 32.052 1.00 0.00 C +HETATM 3748 H4 MOL M 1 17.316 1.871 32.683 1.00 0.00 H +HETATM 3749 C5 MOL M 1 19.096 3.083 32.657 1.00 0.00 C +HETATM 3750 H5 MOL M 1 19.031 3.373 33.703 1.00 0.00 H +HETATM 3751 C6 MOL M 1 20.103 3.704 31.916 1.00 0.00 C +HETATM 3752 C7 MOL M 1 21.174 4.501 32.581 1.00 0.00 C +HETATM 3753 H6 MOL M 1 20.879 4.648 33.624 1.00 0.00 H +HETATM 3754 H7 MOL M 1 21.204 5.454 32.047 1.00 0.00 H +HETATM 3755 O1 MOL M 1 22.458 3.884 32.551 1.00 0.00 O +HETATM 3756 H8 MOL M 1 22.486 3.046 33.048 1.00 0.00 H +TER 3757 MOL M 1 +HETATM 3758 C1 MOL N 1 3.875 35.874 2.262 1.00 0.00 C +HETATM 3759 H1 MOL N 1 4.073 36.312 1.287 1.00 0.00 H +HETATM 3760 C2 MOL N 1 3.943 36.688 3.403 1.00 0.00 C +HETATM 3761 H2 MOL N 1 4.053 37.760 3.261 1.00 0.00 H +HETATM 3762 C3 MOL N 1 3.992 36.158 4.659 1.00 0.00 C +HETATM 3763 H3 MOL N 1 4.099 36.677 5.608 1.00 0.00 H +HETATM 3764 C4 MOL N 1 3.798 34.788 4.791 1.00 0.00 C +HETATM 3765 H4 MOL N 1 3.876 34.347 5.781 1.00 0.00 H +HETATM 3766 C5 MOL N 1 3.611 34.009 3.676 1.00 0.00 C +HETATM 3767 H5 MOL N 1 3.517 32.933 3.804 1.00 0.00 H +HETATM 3768 C6 MOL N 1 3.673 34.528 2.383 1.00 0.00 C +HETATM 3769 C7 MOL N 1 3.978 33.707 1.116 1.00 0.00 C +HETATM 3770 H6 MOL N 1 4.141 32.691 1.485 1.00 0.00 H +HETATM 3771 H7 MOL N 1 4.938 34.109 0.780 1.00 0.00 H +HETATM 3772 O1 MOL N 1 2.962 33.882 0.128 1.00 0.00 O +HETATM 3773 H8 MOL N 1 2.190 33.495 0.579 1.00 0.00 H +TER 3774 MOL N 1 +HETATM 3775 C1 MOL O 1 6.248 40.370 30.394 1.00 0.00 C +HETATM 3776 H1 MOL O 1 5.659 40.837 31.179 1.00 0.00 H +HETATM 3777 C2 MOL O 1 6.416 39.026 30.452 1.00 0.00 C +HETATM 3778 H2 MOL O 1 6.031 38.413 31.263 1.00 0.00 H +HETATM 3779 C3 MOL O 1 7.164 38.367 29.439 1.00 0.00 C +HETATM 3780 H3 MOL O 1 7.307 37.289 29.426 1.00 0.00 H +HETATM 3781 C4 MOL O 1 7.606 39.108 28.340 1.00 0.00 C +HETATM 3782 H4 MOL O 1 8.164 38.743 27.482 1.00 0.00 H +HETATM 3783 C5 MOL O 1 7.418 40.472 28.311 1.00 0.00 C +HETATM 3784 H5 MOL O 1 7.835 40.958 27.433 1.00 0.00 H +HETATM 3785 C6 MOL O 1 6.688 41.148 29.316 1.00 0.00 C +HETATM 3786 C7 MOL O 1 6.379 42.654 29.190 1.00 0.00 C +HETATM 3787 H6 MOL O 1 6.985 43.121 28.408 1.00 0.00 H +HETATM 3788 H7 MOL O 1 6.610 43.160 30.131 1.00 0.00 H +HETATM 3789 O1 MOL O 1 5.008 43.007 28.896 1.00 0.00 O +HETATM 3790 H8 MOL O 1 4.391 42.423 29.372 1.00 0.00 H +TER 3791 MOL O 1 +HETATM 3792 C1 MOL P 1 24.336 10.971 5.737 1.00 0.00 C +HETATM 3793 H1 MOL P 1 23.451 10.855 5.116 1.00 0.00 H +HETATM 3794 C2 MOL P 1 25.564 10.534 5.242 1.00 0.00 C +HETATM 3795 H2 MOL P 1 25.667 10.115 4.244 1.00 0.00 H +HETATM 3796 C3 MOL P 1 26.667 10.559 6.076 1.00 0.00 C +HETATM 3797 H3 MOL P 1 27.589 10.189 5.633 1.00 0.00 H +HETATM 3798 C4 MOL P 1 26.543 11.120 7.304 1.00 0.00 C +HETATM 3799 H4 MOL P 1 27.434 11.070 7.926 1.00 0.00 H +HETATM 3800 C5 MOL P 1 25.349 11.473 7.912 1.00 0.00 C +HETATM 3801 H5 MOL P 1 25.289 11.682 8.978 1.00 0.00 H +HETATM 3802 C6 MOL P 1 24.187 11.357 7.102 1.00 0.00 C +HETATM 3803 C7 MOL P 1 22.878 11.663 7.748 1.00 0.00 C +HETATM 3804 H6 MOL P 1 22.990 12.440 8.508 1.00 0.00 H +HETATM 3805 H7 MOL P 1 22.500 10.781 8.271 1.00 0.00 H +HETATM 3806 O1 MOL P 1 21.856 11.986 6.810 1.00 0.00 O +HETATM 3807 H8 MOL P 1 21.044 12.254 7.277 1.00 0.00 H +TER 3808 MOL P 1 +HETATM 3809 C1 MOL Q 1 40.838 38.311 23.922 1.00 0.00 C +HETATM 3810 H1 MOL Q 1 41.737 37.892 23.477 1.00 0.00 H +HETATM 3811 C2 MOL Q 1 39.934 39.028 23.153 1.00 0.00 C +HETATM 3812 H2 MOL Q 1 40.112 39.107 22.084 1.00 0.00 H +HETATM 3813 C3 MOL Q 1 38.804 39.557 23.706 1.00 0.00 C +HETATM 3814 H3 MOL Q 1 38.126 40.086 23.041 1.00 0.00 H +HETATM 3815 C4 MOL Q 1 38.472 39.303 25.069 1.00 0.00 C +HETATM 3816 H4 MOL Q 1 37.494 39.593 25.447 1.00 0.00 H +HETATM 3817 C5 MOL Q 1 39.344 38.456 25.787 1.00 0.00 C +HETATM 3818 H5 MOL Q 1 38.992 38.138 26.765 1.00 0.00 H +HETATM 3819 C6 MOL Q 1 40.549 37.974 25.264 1.00 0.00 C +HETATM 3820 C7 MOL Q 1 41.410 37.176 26.155 1.00 0.00 C +HETATM 3821 H6 MOL Q 1 41.864 36.584 25.356 1.00 0.00 H +HETATM 3822 H7 MOL Q 1 40.829 36.551 26.839 1.00 0.00 H +HETATM 3823 O1 MOL Q 1 42.485 37.818 26.836 1.00 0.00 O +HETATM 3824 H8 MOL Q 1 42.856 38.540 26.298 1.00 0.00 H +TER 3825 MOL Q 1 +HETATM 3826 C1 MOL R 1 3.880 21.548 14.838 1.00 0.00 C +HETATM 3827 H1 MOL R 1 4.205 22.557 14.599 1.00 0.00 H +HETATM 3828 C2 MOL R 1 3.960 21.130 16.177 1.00 0.00 C +HETATM 3829 H2 MOL R 1 4.381 21.744 16.970 1.00 0.00 H +HETATM 3830 C3 MOL R 1 3.403 19.951 16.568 1.00 0.00 C +HETATM 3831 H3 MOL R 1 3.468 19.627 17.603 1.00 0.00 H +HETATM 3832 C4 MOL R 1 2.735 19.137 15.663 1.00 0.00 C +HETATM 3833 H4 MOL R 1 2.210 18.243 15.990 1.00 0.00 H +HETATM 3834 C5 MOL R 1 2.662 19.521 14.355 1.00 0.00 C +HETATM 3835 H5 MOL R 1 2.099 18.915 13.650 1.00 0.00 H +HETATM 3836 C6 MOL R 1 3.276 20.667 13.874 1.00 0.00 C +HETATM 3837 C7 MOL R 1 3.112 21.046 12.433 1.00 0.00 C +HETATM 3838 H6 MOL R 1 3.544 22.045 12.335 1.00 0.00 H +HETATM 3839 H7 MOL R 1 2.048 21.087 12.190 1.00 0.00 H +HETATM 3840 O1 MOL R 1 3.831 20.150 11.557 1.00 0.00 O +HETATM 3841 H8 MOL R 1 4.709 20.337 11.934 1.00 0.00 H +TER 3842 MOL R 1 +HETATM 3843 C1 MOL S 1 10.095 38.830 5.067 1.00 0.00 C +HETATM 3844 H1 MOL S 1 9.315 38.676 4.326 1.00 0.00 H +HETATM 3845 C2 MOL S 1 10.399 40.095 5.531 1.00 0.00 C +HETATM 3846 H2 MOL S 1 9.809 40.970 5.268 1.00 0.00 H +HETATM 3847 C3 MOL S 1 11.389 40.305 6.455 1.00 0.00 C +HETATM 3848 H3 MOL S 1 11.518 41.290 6.897 1.00 0.00 H +HETATM 3849 C4 MOL S 1 12.209 39.211 6.827 1.00 0.00 C +HETATM 3850 H4 MOL S 1 13.061 39.277 7.497 1.00 0.00 H +HETATM 3851 C5 MOL S 1 11.986 37.958 6.368 1.00 0.00 C +HETATM 3852 H5 MOL S 1 12.607 37.151 6.747 1.00 0.00 H +HETATM 3853 C6 MOL S 1 10.891 37.720 5.587 1.00 0.00 C +HETATM 3854 C7 MOL S 1 10.510 36.297 5.139 1.00 0.00 C +HETATM 3855 H6 MOL S 1 9.437 36.137 5.004 1.00 0.00 H +HETATM 3856 H7 MOL S 1 10.766 35.593 5.934 1.00 0.00 H +HETATM 3857 O1 MOL S 1 11.233 35.869 3.984 1.00 0.00 O +HETATM 3858 H8 MOL S 1 12.103 36.306 4.036 1.00 0.00 H +TER 3859 MOL S 1 +HETATM 3860 C1 MOL T 1 34.587 32.625 24.017 1.00 0.00 C +HETATM 3861 H1 MOL T 1 34.187 33.612 23.800 1.00 0.00 H +HETATM 3862 C2 MOL T 1 33.774 31.692 24.674 1.00 0.00 C +HETATM 3863 H2 MOL T 1 32.777 32.001 24.977 1.00 0.00 H +HETATM 3864 C3 MOL T 1 34.246 30.412 24.870 1.00 0.00 C +HETATM 3865 H3 MOL T 1 33.630 29.650 25.341 1.00 0.00 H +HETATM 3866 C4 MOL T 1 35.561 30.084 24.517 1.00 0.00 C +HETATM 3867 H4 MOL T 1 35.917 29.057 24.542 1.00 0.00 H +HETATM 3868 C5 MOL T 1 36.372 30.986 23.801 1.00 0.00 C +HETATM 3869 H5 MOL T 1 37.363 30.724 23.438 1.00 0.00 H +HETATM 3870 C6 MOL T 1 35.840 32.269 23.574 1.00 0.00 C +HETATM 3871 C7 MOL T 1 36.774 33.234 22.827 1.00 0.00 C +HETATM 3872 H6 MOL T 1 36.319 33.384 21.845 1.00 0.00 H +HETATM 3873 H7 MOL T 1 37.758 32.793 22.645 1.00 0.00 H +HETATM 3874 O1 MOL T 1 36.826 34.486 23.454 1.00 0.00 O +HETATM 3875 H8 MOL T 1 37.368 34.501 24.263 1.00 0.00 H +TER 3876 MOL T 1 +HETATM 3877 C1 MOL U 1 27.733 30.959 20.096 1.00 0.00 C +HETATM 3878 H1 MOL U 1 27.795 32.042 20.173 1.00 0.00 H +HETATM 3879 C2 MOL U 1 27.984 30.124 21.211 1.00 0.00 C +HETATM 3880 H2 MOL U 1 28.378 30.425 22.178 1.00 0.00 H +HETATM 3881 C3 MOL U 1 27.836 28.736 21.070 1.00 0.00 C +HETATM 3882 H3 MOL U 1 27.974 28.102 21.941 1.00 0.00 H +HETATM 3883 C4 MOL U 1 27.510 28.227 19.895 1.00 0.00 C +HETATM 3884 H4 MOL U 1 27.233 27.192 19.709 1.00 0.00 H +HETATM 3885 C5 MOL U 1 27.261 29.074 18.785 1.00 0.00 C +HETATM 3886 H5 MOL U 1 26.912 28.668 17.839 1.00 0.00 H +HETATM 3887 C6 MOL U 1 27.282 30.481 18.869 1.00 0.00 C +HETATM 3888 C7 MOL U 1 26.910 31.443 17.747 1.00 0.00 C +HETATM 3889 H6 MOL U 1 26.694 32.375 18.276 1.00 0.00 H +HETATM 3890 H7 MOL U 1 26.025 31.090 17.212 1.00 0.00 H +HETATM 3891 O1 MOL U 1 27.975 31.808 16.862 1.00 0.00 O +HETATM 3892 H8 MOL U 1 28.094 31.105 16.199 1.00 0.00 H +TER 3893 MOL U 1 +HETATM 3894 C1 MOL V 1 11.313 37.006 22.746 1.00 0.00 C +HETATM 3895 H1 MOL V 1 12.241 36.511 23.018 1.00 0.00 H +HETATM 3896 C2 MOL V 1 11.136 37.721 21.532 1.00 0.00 C +HETATM 3897 H2 MOL V 1 11.942 37.829 20.811 1.00 0.00 H +HETATM 3898 C3 MOL V 1 9.940 38.415 21.270 1.00 0.00 C +HETATM 3899 H3 MOL V 1 9.838 39.023 20.374 1.00 0.00 H +HETATM 3900 C4 MOL V 1 8.890 38.323 22.240 1.00 0.00 C +HETATM 3901 H4 MOL V 1 7.963 38.855 22.040 1.00 0.00 H +HETATM 3902 C5 MOL V 1 9.046 37.720 23.465 1.00 0.00 C +HETATM 3903 H5 MOL V 1 8.312 37.835 24.259 1.00 0.00 H +HETATM 3904 C6 MOL V 1 10.262 37.062 23.703 1.00 0.00 C +HETATM 3905 C7 MOL V 1 10.512 36.361 25.014 1.00 0.00 C +HETATM 3906 H6 MOL V 1 11.185 35.515 24.853 1.00 0.00 H +HETATM 3907 H7 MOL V 1 9.696 35.913 25.587 1.00 0.00 H +HETATM 3908 O1 MOL V 1 11.168 37.318 25.882 1.00 0.00 O +HETATM 3909 H8 MOL V 1 11.386 36.868 26.718 1.00 0.00 H +TER 3910 MOL V 1 +HETATM 3911 C1 MOL W 1 8.171 27.619 9.882 1.00 0.00 C +HETATM 3912 H1 MOL W 1 8.749 27.235 9.045 1.00 0.00 H +HETATM 3913 C2 MOL W 1 8.872 28.326 10.803 1.00 0.00 C +HETATM 3914 H2 MOL W 1 9.912 28.607 10.654 1.00 0.00 H +HETATM 3915 C3 MOL W 1 8.186 28.818 11.967 1.00 0.00 C +HETATM 3916 H3 MOL W 1 8.697 29.396 12.733 1.00 0.00 H +HETATM 3917 C4 MOL W 1 6.859 28.526 12.150 1.00 0.00 C +HETATM 3918 H4 MOL W 1 6.403 28.996 13.018 1.00 0.00 H +HETATM 3919 C5 MOL W 1 6.159 27.789 11.248 1.00 0.00 C +HETATM 3920 H5 MOL W 1 5.080 27.701 11.344 1.00 0.00 H +HETATM 3921 C6 MOL W 1 6.834 27.305 10.108 1.00 0.00 C +HETATM 3922 C7 MOL W 1 5.950 26.466 9.115 1.00 0.00 C +HETATM 3923 H6 MOL W 1 5.139 26.044 9.714 1.00 0.00 H +HETATM 3924 H7 MOL W 1 6.630 25.693 8.749 1.00 0.00 H +HETATM 3925 O1 MOL W 1 5.357 27.268 8.047 1.00 0.00 O +HETATM 3926 H8 MOL W 1 4.670 26.715 7.632 1.00 0.00 H +TER 3927 MOL W 1 +HETATM 3928 C1 MOL X 1 42.301 28.206 32.359 1.00 0.00 C +HETATM 3929 H1 MOL X 1 41.771 28.859 33.048 1.00 0.00 H +HETATM 3930 C2 MOL X 1 42.570 28.729 31.081 1.00 0.00 C +HETATM 3931 H2 MOL X 1 42.330 29.782 30.955 1.00 0.00 H +HETATM 3932 C3 MOL X 1 43.117 27.937 30.093 1.00 0.00 C +HETATM 3933 H3 MOL X 1 43.483 28.302 29.136 1.00 0.00 H +HETATM 3934 C4 MOL X 1 43.370 26.553 30.317 1.00 0.00 C +HETATM 3935 H4 MOL X 1 43.852 25.901 29.592 1.00 0.00 H +HETATM 3936 C5 MOL X 1 43.121 26.100 31.593 1.00 0.00 C +HETATM 3937 H5 MOL X 1 43.269 25.048 31.824 1.00 0.00 H +HETATM 3938 C6 MOL X 1 42.572 26.875 32.602 1.00 0.00 C +HETATM 3939 C7 MOL X 1 42.325 26.076 33.976 1.00 0.00 C +HETATM 3940 H6 MOL X 1 42.795 25.091 33.911 1.00 0.00 H +HETATM 3941 H7 MOL X 1 41.248 26.055 34.156 1.00 0.00 H +HETATM 3942 O1 MOL X 1 43.008 26.667 35.127 1.00 0.00 O +HETATM 3943 H8 MOL X 1 43.963 26.622 34.943 1.00 0.00 H +TER 3944 MOL X 1 +HETATM 3945 C1 MOL Y 1 27.289 21.748 0.696 1.00 0.00 C +HETATM 3946 H1 MOL Y 1 28.122 21.949 1.365 1.00 0.00 H +HETATM 3947 C2 MOL Y 1 27.256 20.622 -0.133 1.00 0.00 C +HETATM 3948 H2 MOL Y 1 28.002 19.832 -0.118 1.00 0.00 H +HETATM 3949 C3 MOL Y 1 26.112 20.303 -0.815 1.00 0.00 C +HETATM 3950 H3 MOL Y 1 26.170 19.340 -1.316 1.00 0.00 H +HETATM 3951 C4 MOL Y 1 25.084 21.294 -0.829 1.00 0.00 C +HETATM 3952 H4 MOL Y 1 24.230 21.180 -1.493 1.00 0.00 H +HETATM 3953 C5 MOL Y 1 25.157 22.437 -0.045 1.00 0.00 C +HETATM 3954 H5 MOL Y 1 24.367 23.184 -0.058 1.00 0.00 H +HETATM 3955 C6 MOL Y 1 26.276 22.712 0.663 1.00 0.00 C +HETATM 3956 C7 MOL Y 1 26.474 24.053 1.254 1.00 0.00 C +HETATM 3957 H6 MOL Y 1 27.098 23.926 2.142 1.00 0.00 H +HETATM 3958 H7 MOL Y 1 25.565 24.585 1.547 1.00 0.00 H +HETATM 3959 O1 MOL Y 1 27.125 24.959 0.393 1.00 0.00 O +HETATM 3960 H8 MOL Y 1 27.394 25.756 0.883 1.00 0.00 H +TER 3961 MOL Y 1 +HETATM 3962 C1 MOL Z 1 7.498 26.572 25.573 1.00 0.00 C +HETATM 3963 H1 MOL Z 1 6.602 27.011 25.143 1.00 0.00 H +HETATM 3964 C2 MOL Z 1 7.720 25.190 25.546 1.00 0.00 C +HETATM 3965 H2 MOL Z 1 7.032 24.433 25.178 1.00 0.00 H +HETATM 3966 C3 MOL Z 1 8.969 24.734 26.015 1.00 0.00 C +HETATM 3967 H3 MOL Z 1 9.196 23.694 25.796 1.00 0.00 H +HETATM 3968 C4 MOL Z 1 9.934 25.566 26.579 1.00 0.00 C +HETATM 3969 H4 MOL Z 1 10.892 25.195 26.933 1.00 0.00 H +HETATM 3970 C5 MOL Z 1 9.644 26.944 26.550 1.00 0.00 C +HETATM 3971 H5 MOL Z 1 10.359 27.546 27.104 1.00 0.00 H +HETATM 3972 C6 MOL Z 1 8.433 27.436 26.029 1.00 0.00 C +HETATM 3973 C7 MOL Z 1 8.096 28.896 26.145 1.00 0.00 C +HETATM 3974 H6 MOL Z 1 8.991 29.522 26.162 1.00 0.00 H +HETATM 3975 H7 MOL Z 1 7.639 29.035 27.128 1.00 0.00 H +HETATM 3976 O1 MOL Z 1 7.272 29.514 25.130 1.00 0.00 O +HETATM 3977 H8 MOL Z 1 7.776 29.426 24.302 1.00 0.00 H +TER 3978 MOL Z 1 +HETATM 3979 C1 MOL A 1 8.052 11.767 -1.611 1.00 0.00 C +HETATM 3980 H1 MOL A 1 8.637 10.915 -1.950 1.00 0.00 H +HETATM 3981 C2 MOL A 1 6.731 12.037 -2.112 1.00 0.00 C +HETATM 3982 H2 MOL A 1 6.462 11.478 -3.005 1.00 0.00 H +HETATM 3983 C3 MOL A 1 6.015 13.082 -1.555 1.00 0.00 C +HETATM 3984 H3 MOL A 1 5.061 13.340 -2.006 1.00 0.00 H +HETATM 3985 C4 MOL A 1 6.511 13.870 -0.595 1.00 0.00 C +HETATM 3986 H4 MOL A 1 5.859 14.644 -0.198 1.00 0.00 H +HETATM 3987 C5 MOL A 1 7.735 13.545 -0.004 1.00 0.00 C +HETATM 3988 H5 MOL A 1 8.151 14.204 0.753 1.00 0.00 H +HETATM 3989 C6 MOL A 1 8.563 12.494 -0.553 1.00 0.00 C +HETATM 3990 C7 MOL A 1 9.979 12.317 0.060 1.00 0.00 C +HETATM 3991 H6 MOL A 1 10.448 13.256 -0.244 1.00 0.00 H +HETATM 3992 H7 MOL A 1 10.495 11.585 -0.566 1.00 0.00 H +HETATM 3993 O1 MOL A 1 10.065 12.094 1.481 1.00 0.00 O +HETATM 3994 H8 MOL A 1 10.911 11.665 1.702 1.00 0.00 H +TER 3995 MOL A 1 +HETATM 3996 C1 MOL B 1 41.399 17.852 44.069 1.00 0.00 C +HETATM 3997 H1 MOL B 1 40.873 18.711 44.478 1.00 0.00 H +HETATM 3998 C2 MOL B 1 40.701 17.033 43.165 1.00 0.00 C +HETATM 3999 H2 MOL B 1 39.646 17.240 43.008 1.00 0.00 H +HETATM 4000 C3 MOL B 1 41.363 15.943 42.614 1.00 0.00 C +HETATM 4001 H3 MOL B 1 40.833 15.279 41.936 1.00 0.00 H +HETATM 4002 C4 MOL B 1 42.697 15.677 42.944 1.00 0.00 C +HETATM 4003 H4 MOL B 1 43.132 14.826 42.426 1.00 0.00 H +HETATM 4004 C5 MOL B 1 43.419 16.551 43.699 1.00 0.00 C +HETATM 4005 H5 MOL B 1 44.505 16.506 43.698 1.00 0.00 H +HETATM 4006 C6 MOL B 1 42.760 17.609 44.357 1.00 0.00 C +HETATM 4007 C7 MOL B 1 43.588 18.476 45.323 1.00 0.00 C +HETATM 4008 H6 MOL B 1 44.644 18.431 45.045 1.00 0.00 H +HETATM 4009 H7 MOL B 1 43.566 18.151 46.366 1.00 0.00 H +HETATM 4010 O1 MOL B 1 43.155 19.834 45.292 1.00 0.00 O +HETATM 4011 H8 MOL B 1 43.628 20.174 44.511 1.00 0.00 H +TER 4012 MOL B 1 +HETATM 4013 C1 MOL C 1 13.682 37.189 29.972 1.00 0.00 C +HETATM 4014 H1 MOL C 1 14.458 36.441 30.113 1.00 0.00 H +HETATM 4015 C2 MOL C 1 12.526 37.012 30.671 1.00 0.00 C +HETATM 4016 H2 MOL C 1 12.491 36.351 31.533 1.00 0.00 H +HETATM 4017 C3 MOL C 1 11.529 37.968 30.581 1.00 0.00 C +HETATM 4018 H3 MOL C 1 10.685 37.904 31.264 1.00 0.00 H +HETATM 4019 C4 MOL C 1 11.574 39.009 29.606 1.00 0.00 C +HETATM 4020 H4 MOL C 1 10.687 39.635 29.562 1.00 0.00 H +HETATM 4021 C5 MOL C 1 12.662 39.043 28.719 1.00 0.00 C +HETATM 4022 H5 MOL C 1 12.789 39.848 28.000 1.00 0.00 H +HETATM 4023 C6 MOL C 1 13.736 38.133 28.939 1.00 0.00 C +HETATM 4024 C7 MOL C 1 14.912 38.232 27.887 1.00 0.00 C +HETATM 4025 H6 MOL C 1 14.467 38.705 27.008 1.00 0.00 H +HETATM 4026 H7 MOL C 1 15.270 37.244 27.588 1.00 0.00 H +HETATM 4027 O1 MOL C 1 15.958 39.084 28.389 1.00 0.00 O +HETATM 4028 H8 MOL C 1 15.663 40.010 28.336 1.00 0.00 H +TER 4029 MOL C 1 +HETATM 4030 C1 MOL D 1 31.589 40.318 38.380 1.00 0.00 C +HETATM 4031 H1 MOL D 1 31.875 40.662 39.370 1.00 0.00 H +HETATM 4032 C2 MOL D 1 32.538 40.090 37.326 1.00 0.00 C +HETATM 4033 H2 MOL D 1 33.588 40.282 37.535 1.00 0.00 H +HETATM 4034 C3 MOL D 1 32.082 39.528 36.141 1.00 0.00 C +HETATM 4035 H3 MOL D 1 32.778 39.261 35.350 1.00 0.00 H +HETATM 4036 C4 MOL D 1 30.715 39.262 35.914 1.00 0.00 C +HETATM 4037 H4 MOL D 1 30.402 38.852 34.957 1.00 0.00 H +HETATM 4038 C5 MOL D 1 29.844 39.537 36.951 1.00 0.00 C +HETATM 4039 H5 MOL D 1 28.811 39.230 36.808 1.00 0.00 H +HETATM 4040 C6 MOL D 1 30.213 40.090 38.155 1.00 0.00 C +HETATM 4041 C7 MOL D 1 29.270 40.415 39.300 1.00 0.00 C +HETATM 4042 H6 MOL D 1 29.081 39.505 39.876 1.00 0.00 H +HETATM 4043 H7 MOL D 1 28.279 40.712 38.949 1.00 0.00 H +HETATM 4044 O1 MOL D 1 29.773 41.488 40.151 1.00 0.00 O +HETATM 4045 H8 MOL D 1 29.033 42.087 40.356 1.00 0.00 H +TER 4046 MOL D 1 +HETATM 4047 C1 MOL E 1 20.375 7.229 18.925 1.00 0.00 C +HETATM 4048 H1 MOL E 1 19.664 6.855 18.193 1.00 0.00 H +HETATM 4049 C2 MOL E 1 20.018 8.074 19.962 1.00 0.00 C +HETATM 4050 H2 MOL E 1 19.009 8.434 20.144 1.00 0.00 H +HETATM 4051 C3 MOL E 1 21.061 8.531 20.727 1.00 0.00 C +HETATM 4052 H3 MOL E 1 20.885 9.094 21.640 1.00 0.00 H +HETATM 4053 C4 MOL E 1 22.410 8.380 20.397 1.00 0.00 C +HETATM 4054 H4 MOL E 1 23.195 8.867 20.970 1.00 0.00 H +HETATM 4055 C5 MOL E 1 22.724 7.564 19.313 1.00 0.00 C +HETATM 4056 H5 MOL E 1 23.737 7.373 18.969 1.00 0.00 H +HETATM 4057 C6 MOL E 1 21.669 7.007 18.546 1.00 0.00 C +HETATM 4058 C7 MOL E 1 22.162 6.318 17.273 1.00 0.00 C +HETATM 4059 H6 MOL E 1 23.218 6.033 17.278 1.00 0.00 H +HETATM 4060 H7 MOL E 1 22.049 7.114 16.533 1.00 0.00 H +HETATM 4061 O1 MOL E 1 21.309 5.270 16.821 1.00 0.00 O +HETATM 4062 H8 MOL E 1 21.769 4.913 16.040 1.00 0.00 H +TER 4063 MOL E 1 +HETATM 4064 C1 MOL F 1 2.003 43.842 30.721 1.00 0.00 C +HETATM 4065 H1 MOL F 1 1.627 44.842 30.923 1.00 0.00 H +HETATM 4066 C2 MOL F 1 2.712 43.136 31.629 1.00 0.00 C +HETATM 4067 H2 MOL F 1 3.049 43.600 32.553 1.00 0.00 H +HETATM 4068 C3 MOL F 1 2.994 41.818 31.303 1.00 0.00 C +HETATM 4069 H3 MOL F 1 3.503 41.094 31.933 1.00 0.00 H +HETATM 4070 C4 MOL F 1 2.652 41.288 30.081 1.00 0.00 C +HETATM 4071 H4 MOL F 1 2.922 40.273 29.803 1.00 0.00 H +HETATM 4072 C5 MOL F 1 2.069 42.067 29.103 1.00 0.00 C +HETATM 4073 H5 MOL F 1 1.821 41.629 28.140 1.00 0.00 H +HETATM 4074 C6 MOL F 1 1.738 43.400 29.432 1.00 0.00 C +HETATM 4075 C7 MOL F 1 1.106 44.233 28.293 1.00 0.00 C +HETATM 4076 H6 MOL F 1 0.049 44.414 28.504 1.00 0.00 H +HETATM 4077 H7 MOL F 1 1.206 43.625 27.390 1.00 0.00 H +HETATM 4078 O1 MOL F 1 1.659 45.511 28.105 1.00 0.00 O +HETATM 4079 H8 MOL F 1 2.589 45.357 28.348 1.00 0.00 H +TER 4080 MOL F 1 +HETATM 4081 C1 MOL G 1 44.329 26.390 3.733 1.00 0.00 C +HETATM 4082 H1 MOL G 1 44.738 26.297 2.731 1.00 0.00 H +HETATM 4083 C2 MOL G 1 44.996 27.042 4.770 1.00 0.00 C +HETATM 4084 H2 MOL G 1 45.815 27.719 4.545 1.00 0.00 H +HETATM 4085 C3 MOL G 1 44.517 26.894 6.100 1.00 0.00 C +HETATM 4086 H3 MOL G 1 45.051 27.328 6.942 1.00 0.00 H +HETATM 4087 C4 MOL G 1 43.454 26.078 6.290 1.00 0.00 C +HETATM 4088 H4 MOL G 1 43.007 26.064 7.281 1.00 0.00 H +HETATM 4089 C5 MOL G 1 42.806 25.395 5.267 1.00 0.00 C +HETATM 4090 H5 MOL G 1 41.970 24.709 5.380 1.00 0.00 H +HETATM 4091 C6 MOL G 1 43.232 25.562 3.968 1.00 0.00 C +HETATM 4092 C7 MOL G 1 42.576 24.969 2.766 1.00 0.00 C +HETATM 4093 H6 MOL G 1 42.207 25.798 2.157 1.00 0.00 H +HETATM 4094 H7 MOL G 1 41.702 24.355 3.000 1.00 0.00 H +HETATM 4095 O1 MOL G 1 43.380 24.083 2.034 1.00 0.00 O +HETATM 4096 H8 MOL G 1 43.172 23.196 2.377 1.00 0.00 H +TER 4097 MOL G 1 +HETATM 4098 C1 MOL H 1 36.074 4.029 29.760 1.00 0.00 C +HETATM 4099 H1 MOL H 1 36.664 3.148 30.002 1.00 0.00 H +HETATM 4100 C2 MOL H 1 34.700 3.917 29.902 1.00 0.00 C +HETATM 4101 H2 MOL H 1 34.268 2.982 30.248 1.00 0.00 H +HETATM 4102 C3 MOL H 1 33.820 4.846 29.466 1.00 0.00 C +HETATM 4103 H3 MOL H 1 32.751 4.683 29.577 1.00 0.00 H +HETATM 4104 C4 MOL H 1 34.358 5.992 28.852 1.00 0.00 C +HETATM 4105 H4 MOL H 1 33.641 6.750 28.547 1.00 0.00 H +HETATM 4106 C5 MOL H 1 35.756 6.223 28.811 1.00 0.00 C +HETATM 4107 H5 MOL H 1 36.055 7.183 28.399 1.00 0.00 H +HETATM 4108 C6 MOL H 1 36.622 5.219 29.278 1.00 0.00 C +HETATM 4109 C7 MOL H 1 38.175 5.420 29.401 1.00 0.00 C +HETATM 4110 H6 MOL H 1 38.625 4.719 30.109 1.00 0.00 H +HETATM 4111 H7 MOL H 1 38.250 6.434 29.801 1.00 0.00 H +HETATM 4112 O1 MOL H 1 38.815 5.227 28.159 1.00 0.00 O +HETATM 4113 H8 MOL H 1 38.319 4.444 27.860 1.00 0.00 H +TER 4114 MOL H 1 +HETATM 4115 C1 MOL I 1 7.313 40.522 16.336 1.00 0.00 C +HETATM 4116 H1 MOL I 1 7.589 41.462 16.807 1.00 0.00 H +HETATM 4117 C2 MOL I 1 5.978 40.361 16.116 1.00 0.00 C +HETATM 4118 H2 MOL I 1 5.334 41.197 16.377 1.00 0.00 H +HETATM 4119 C3 MOL I 1 5.487 39.135 15.633 1.00 0.00 C +HETATM 4120 H3 MOL I 1 4.417 38.967 15.542 1.00 0.00 H +HETATM 4121 C4 MOL I 1 6.460 38.208 15.262 1.00 0.00 C +HETATM 4122 H4 MOL I 1 6.199 37.224 14.880 1.00 0.00 H +HETATM 4123 C5 MOL I 1 7.828 38.468 15.314 1.00 0.00 C +HETATM 4124 H5 MOL I 1 8.514 37.700 14.967 1.00 0.00 H +HETATM 4125 C6 MOL I 1 8.262 39.660 15.822 1.00 0.00 C +HETATM 4126 C7 MOL I 1 9.722 40.015 16.124 1.00 0.00 C +HETATM 4127 H6 MOL I 1 9.779 40.546 17.078 1.00 0.00 H +HETATM 4128 H7 MOL I 1 10.049 40.584 15.251 1.00 0.00 H +HETATM 4129 O1 MOL I 1 10.606 38.917 16.098 1.00 0.00 O +HETATM 4130 H8 MOL I 1 11.380 39.188 16.623 1.00 0.00 H +TER 4131 MOL I 1 +HETATM 4132 C1 MOL J 1 38.478 37.676 16.372 1.00 0.00 C +HETATM 4133 H1 MOL J 1 37.903 38.358 16.994 1.00 0.00 H +HETATM 4134 C2 MOL J 1 39.726 37.263 16.833 1.00 0.00 C +HETATM 4135 H2 MOL J 1 40.199 37.743 17.686 1.00 0.00 H +HETATM 4136 C3 MOL J 1 40.380 36.366 15.984 1.00 0.00 C +HETATM 4137 H3 MOL J 1 41.387 36.086 16.280 1.00 0.00 H +HETATM 4138 C4 MOL J 1 39.762 35.708 14.923 1.00 0.00 C +HETATM 4139 H4 MOL J 1 40.315 35.053 14.255 1.00 0.00 H +HETATM 4140 C5 MOL J 1 38.455 36.085 14.575 1.00 0.00 C +HETATM 4141 H5 MOL J 1 37.946 35.597 13.748 1.00 0.00 H +HETATM 4142 C6 MOL J 1 37.811 37.033 15.255 1.00 0.00 C +HETATM 4143 C7 MOL J 1 36.315 37.173 14.872 1.00 0.00 C +HETATM 4144 H6 MOL J 1 35.747 36.239 14.856 1.00 0.00 H +HETATM 4145 H7 MOL J 1 36.317 37.523 13.836 1.00 0.00 H +HETATM 4146 O1 MOL J 1 35.607 38.072 15.672 1.00 0.00 O +HETATM 4147 H8 MOL J 1 35.080 38.712 15.161 1.00 0.00 H +TER 4148 MOL J 1 +HETATM 4149 C1 MOL K 1 20.049 15.197 38.460 1.00 0.00 C +HETATM 4150 H1 MOL K 1 19.785 15.886 37.662 1.00 0.00 H +HETATM 4151 C2 MOL K 1 19.243 14.159 38.922 1.00 0.00 C +HETATM 4152 H2 MOL K 1 18.277 13.920 38.484 1.00 0.00 H +HETATM 4153 C3 MOL K 1 19.680 13.431 40.051 1.00 0.00 C +HETATM 4154 H3 MOL K 1 19.079 12.615 40.445 1.00 0.00 H +HETATM 4155 C4 MOL K 1 20.863 13.791 40.702 1.00 0.00 C +HETATM 4156 H4 MOL K 1 21.222 13.199 41.539 1.00 0.00 H +HETATM 4157 C5 MOL K 1 21.581 14.884 40.275 1.00 0.00 C +HETATM 4158 H5 MOL K 1 22.522 15.249 40.678 1.00 0.00 H +HETATM 4159 C6 MOL K 1 21.181 15.571 39.176 1.00 0.00 C +HETATM 4160 C7 MOL K 1 22.102 16.659 38.595 1.00 0.00 C +HETATM 4161 H6 MOL K 1 23.060 16.621 39.119 1.00 0.00 H +HETATM 4162 H7 MOL K 1 21.692 17.656 38.775 1.00 0.00 H +HETATM 4163 O1 MOL K 1 22.322 16.578 37.254 1.00 0.00 O +HETATM 4164 H8 MOL K 1 23.024 15.909 37.168 1.00 0.00 H +TER 4165 MOL K 1 +HETATM 4166 C1 MOL L 1 29.153 33.567 10.965 1.00 0.00 C +HETATM 4167 H1 MOL L 1 28.455 34.310 10.588 1.00 0.00 H +HETATM 4168 C2 MOL L 1 29.346 33.557 12.365 1.00 0.00 C +HETATM 4169 H2 MOL L 1 28.964 34.325 13.032 1.00 0.00 H +HETATM 4170 C3 MOL L 1 30.275 32.624 12.852 1.00 0.00 C +HETATM 4171 H3 MOL L 1 30.569 32.686 13.897 1.00 0.00 H +HETATM 4172 C4 MOL L 1 30.947 31.766 12.032 1.00 0.00 C +HETATM 4173 H4 MOL L 1 31.757 31.100 12.320 1.00 0.00 H +HETATM 4174 C5 MOL L 1 30.720 31.795 10.690 1.00 0.00 C +HETATM 4175 H5 MOL L 1 31.207 31.095 10.015 1.00 0.00 H +HETATM 4176 C6 MOL L 1 29.836 32.719 10.136 1.00 0.00 C +HETATM 4177 C7 MOL L 1 29.396 32.790 8.698 1.00 0.00 C +HETATM 4178 H6 MOL L 1 29.277 33.823 8.361 1.00 0.00 H +HETATM 4179 H7 MOL L 1 28.424 32.301 8.596 1.00 0.00 H +HETATM 4180 O1 MOL L 1 30.209 32.093 7.785 1.00 0.00 O +HETATM 4181 H8 MOL L 1 29.756 32.280 6.943 1.00 0.00 H +TER 4182 MOL L 1 +HETATM 4183 C1 MOL M 1 22.823 7.009 27.238 1.00 0.00 C +HETATM 4184 H1 MOL M 1 23.754 7.408 26.844 1.00 0.00 H +HETATM 4185 C2 MOL M 1 22.326 7.784 28.248 1.00 0.00 C +HETATM 4186 H2 MOL M 1 22.923 8.605 28.636 1.00 0.00 H +HETATM 4187 C3 MOL M 1 21.126 7.380 28.819 1.00 0.00 C +HETATM 4188 H3 MOL M 1 20.732 7.976 29.638 1.00 0.00 H +HETATM 4189 C4 MOL M 1 20.566 6.229 28.347 1.00 0.00 C +HETATM 4190 H4 MOL M 1 19.708 5.873 28.912 1.00 0.00 H +HETATM 4191 C5 MOL M 1 21.091 5.384 27.410 1.00 0.00 C +HETATM 4192 H5 MOL M 1 20.647 4.409 27.229 1.00 0.00 H +HETATM 4193 C6 MOL M 1 22.274 5.808 26.836 1.00 0.00 C +HETATM 4194 C7 MOL M 1 22.961 4.890 25.724 1.00 0.00 C +HETATM 4195 H6 MOL M 1 22.636 5.391 24.809 1.00 0.00 H +HETATM 4196 H7 MOL M 1 22.490 3.903 25.740 1.00 0.00 H +HETATM 4197 O1 MOL M 1 24.436 4.921 25.728 1.00 0.00 O +HETATM 4198 H8 MOL M 1 24.775 4.589 26.578 1.00 0.00 H +TER 4199 MOL M 1 +HETATM 4200 C1 MOL N 1 28.689 18.754 14.355 1.00 0.00 C +HETATM 4201 H1 MOL N 1 29.520 18.723 15.056 1.00 0.00 H +HETATM 4202 C2 MOL N 1 28.625 19.720 13.347 1.00 0.00 C +HETATM 4203 H2 MOL N 1 29.372 20.495 13.192 1.00 0.00 H +HETATM 4204 C3 MOL N 1 27.624 19.676 12.371 1.00 0.00 C +HETATM 4205 H3 MOL N 1 27.633 20.513 11.677 1.00 0.00 H +HETATM 4206 C4 MOL N 1 26.609 18.699 12.367 1.00 0.00 C +HETATM 4207 H4 MOL N 1 25.796 18.783 11.651 1.00 0.00 H +HETATM 4208 C5 MOL N 1 26.661 17.690 13.333 1.00 0.00 C +HETATM 4209 H5 MOL N 1 25.924 16.892 13.364 1.00 0.00 H +HETATM 4210 C6 MOL N 1 27.673 17.708 14.324 1.00 0.00 C +HETATM 4211 C7 MOL N 1 27.707 16.649 15.433 1.00 0.00 C +HETATM 4212 H6 MOL N 1 26.703 16.218 15.454 1.00 0.00 H +HETATM 4213 H7 MOL N 1 27.876 17.134 16.397 1.00 0.00 H +HETATM 4214 O1 MOL N 1 28.630 15.574 15.446 1.00 0.00 O +HETATM 4215 H8 MOL N 1 28.678 15.389 16.401 1.00 0.00 H +TER 4216 MOL N 1 +HETATM 4217 C1 MOL O 1 29.173 10.679 18.688 1.00 0.00 C +HETATM 4218 H1 MOL O 1 30.116 10.895 18.193 1.00 0.00 H +HETATM 4219 C2 MOL O 1 29.024 10.943 19.995 1.00 0.00 C +HETATM 4220 H2 MOL O 1 29.846 11.291 20.616 1.00 0.00 H +HETATM 4221 C3 MOL O 1 27.791 10.707 20.652 1.00 0.00 C +HETATM 4222 H3 MOL O 1 27.598 10.854 21.711 1.00 0.00 H +HETATM 4223 C4 MOL O 1 26.687 10.188 19.948 1.00 0.00 C +HETATM 4224 H4 MOL O 1 25.942 9.684 20.559 1.00 0.00 H +HETATM 4225 C5 MOL O 1 26.874 9.976 18.550 1.00 0.00 C +HETATM 4226 H5 MOL O 1 26.068 9.427 18.070 1.00 0.00 H +HETATM 4227 C6 MOL O 1 28.138 10.162 17.931 1.00 0.00 C +HETATM 4228 C7 MOL O 1 28.312 9.958 16.456 1.00 0.00 C +HETATM 4229 H6 MOL O 1 27.428 9.422 16.101 1.00 0.00 H +HETATM 4230 H7 MOL O 1 29.174 9.321 16.243 1.00 0.00 H +HETATM 4231 O1 MOL O 1 28.419 11.206 15.829 1.00 0.00 O +HETATM 4232 H8 MOL O 1 29.212 11.116 15.270 1.00 0.00 H +TER 4233 MOL O 1 +HETATM 4234 C1 MOL P 1 19.122 23.120 9.615 1.00 0.00 C +HETATM 4235 H1 MOL P 1 19.831 22.535 9.035 1.00 0.00 H +HETATM 4236 C2 MOL P 1 17.927 23.542 9.075 1.00 0.00 C +HETATM 4237 H2 MOL P 1 17.680 23.188 8.077 1.00 0.00 H +HETATM 4238 C3 MOL P 1 17.038 24.341 9.784 1.00 0.00 C +HETATM 4239 H3 MOL P 1 16.064 24.694 9.454 1.00 0.00 H +HETATM 4240 C4 MOL P 1 17.392 24.663 11.114 1.00 0.00 C +HETATM 4241 H4 MOL P 1 16.729 25.336 11.652 1.00 0.00 H +HETATM 4242 C5 MOL P 1 18.625 24.262 11.713 1.00 0.00 C +HETATM 4243 H5 MOL P 1 18.869 24.592 12.719 1.00 0.00 H +HETATM 4244 C6 MOL P 1 19.318 23.320 11.011 1.00 0.00 C +HETATM 4245 C7 MOL P 1 20.589 22.749 11.652 1.00 0.00 C +HETATM 4246 H6 MOL P 1 20.471 21.732 12.035 1.00 0.00 H +HETATM 4247 H7 MOL P 1 20.824 23.300 12.566 1.00 0.00 H +HETATM 4248 O1 MOL P 1 21.759 22.800 10.823 1.00 0.00 O +HETATM 4249 H8 MOL P 1 21.483 23.546 10.261 1.00 0.00 H +TER 4250 MOL P 1 +HETATM 4251 C1 MOL Q 1 10.389 6.415 33.232 1.00 0.00 C +HETATM 4252 H1 MOL Q 1 10.153 5.645 33.962 1.00 0.00 H +HETATM 4253 C2 MOL Q 1 11.008 7.593 33.613 1.00 0.00 C +HETATM 4254 H2 MOL Q 1 11.130 7.718 34.686 1.00 0.00 H +HETATM 4255 C3 MOL Q 1 11.377 8.535 32.718 1.00 0.00 C +HETATM 4256 H3 MOL Q 1 12.075 9.335 32.953 1.00 0.00 H +HETATM 4257 C4 MOL Q 1 11.032 8.440 31.358 1.00 0.00 C +HETATM 4258 H4 MOL Q 1 11.420 9.183 30.666 1.00 0.00 H +HETATM 4259 C5 MOL Q 1 10.343 7.330 30.931 1.00 0.00 C +HETATM 4260 H5 MOL Q 1 10.081 7.208 29.883 1.00 0.00 H +HETATM 4261 C6 MOL Q 1 10.123 6.206 31.830 1.00 0.00 C +HETATM 4262 C7 MOL Q 1 9.434 4.998 31.327 1.00 0.00 C +HETATM 4263 H6 MOL Q 1 9.680 4.142 31.960 1.00 0.00 H +HETATM 4264 H7 MOL Q 1 9.810 4.657 30.359 1.00 0.00 H +HETATM 4265 O1 MOL Q 1 8.018 5.254 31.354 1.00 0.00 O +HETATM 4266 H8 MOL Q 1 7.734 5.133 32.278 1.00 0.00 H +TER 4267 MOL Q 1 +HETATM 4268 C1 MOL R 1 36.239 41.424 31.955 1.00 0.00 C +HETATM 4269 H1 MOL R 1 36.427 42.428 31.582 1.00 0.00 H +HETATM 4270 C2 MOL R 1 35.918 40.449 31.091 1.00 0.00 C +HETATM 4271 H2 MOL R 1 35.741 40.652 30.038 1.00 0.00 H +HETATM 4272 C3 MOL R 1 35.616 39.205 31.560 1.00 0.00 C +HETATM 4273 H3 MOL R 1 35.218 38.366 30.994 1.00 0.00 H +HETATM 4274 C4 MOL R 1 35.650 38.956 32.945 1.00 0.00 C +HETATM 4275 H4 MOL R 1 35.448 37.958 33.326 1.00 0.00 H +HETATM 4276 C5 MOL R 1 36.034 39.985 33.809 1.00 0.00 C +HETATM 4277 H5 MOL R 1 35.968 39.763 34.871 1.00 0.00 H +HETATM 4278 C6 MOL R 1 36.312 41.247 33.338 1.00 0.00 C +HETATM 4279 C7 MOL R 1 36.816 42.295 34.299 1.00 0.00 C +HETATM 4280 H6 MOL R 1 37.008 43.198 33.714 1.00 0.00 H +HETATM 4281 H7 MOL R 1 37.704 41.959 34.841 1.00 0.00 H +HETATM 4282 O1 MOL R 1 35.976 42.604 35.340 1.00 0.00 O +HETATM 4283 H8 MOL R 1 35.104 42.957 35.087 1.00 0.00 H +TER 4284 MOL R 1 +HETATM 4285 C1 MOL S 1 12.529 33.199 25.765 1.00 0.00 C +HETATM 4286 H1 MOL S 1 13.107 33.874 25.139 1.00 0.00 H +HETATM 4287 C2 MOL S 1 12.150 32.021 25.231 1.00 0.00 C +HETATM 4288 H2 MOL S 1 12.373 31.786 24.194 1.00 0.00 H +HETATM 4289 C3 MOL S 1 11.384 31.119 25.960 1.00 0.00 C +HETATM 4290 H3 MOL S 1 11.091 30.212 25.437 1.00 0.00 H +HETATM 4291 C4 MOL S 1 11.114 31.314 27.290 1.00 0.00 C +HETATM 4292 H4 MOL S 1 10.459 30.660 27.859 1.00 0.00 H +HETATM 4293 C5 MOL S 1 11.551 32.490 27.837 1.00 0.00 C +HETATM 4294 H5 MOL S 1 11.358 32.586 28.902 1.00 0.00 H +HETATM 4295 C6 MOL S 1 12.314 33.395 27.149 1.00 0.00 C +HETATM 4296 C7 MOL S 1 12.695 34.750 27.743 1.00 0.00 C +HETATM 4297 H6 MOL S 1 13.395 35.355 27.160 1.00 0.00 H +HETATM 4298 H7 MOL S 1 13.179 34.543 28.701 1.00 0.00 H +HETATM 4299 O1 MOL S 1 11.619 35.581 28.201 1.00 0.00 O +HETATM 4300 H8 MOL S 1 11.327 35.376 29.108 1.00 0.00 H +TER 4301 MOL S 1 +HETATM 4302 C1 MOL T 1 24.248 17.628 30.222 1.00 0.00 C +HETATM 4303 H1 MOL T 1 23.595 16.858 30.625 1.00 0.00 H +HETATM 4304 C2 MOL T 1 24.882 18.541 31.089 1.00 0.00 C +HETATM 4305 H2 MOL T 1 24.667 18.381 32.143 1.00 0.00 H +HETATM 4306 C3 MOL T 1 25.682 19.492 30.605 1.00 0.00 C +HETATM 4307 H3 MOL T 1 26.207 20.179 31.264 1.00 0.00 H +HETATM 4308 C4 MOL T 1 25.805 19.600 29.209 1.00 0.00 C +HETATM 4309 H4 MOL T 1 26.432 20.373 28.772 1.00 0.00 H +HETATM 4310 C5 MOL T 1 25.142 18.731 28.293 1.00 0.00 C +HETATM 4311 H5 MOL T 1 25.340 18.795 27.227 1.00 0.00 H +HETATM 4312 C6 MOL T 1 24.334 17.741 28.829 1.00 0.00 C +HETATM 4313 C7 MOL T 1 23.647 16.738 27.874 1.00 0.00 C +HETATM 4314 H6 MOL T 1 23.555 16.987 26.814 1.00 0.00 H +HETATM 4315 H7 MOL T 1 22.615 16.605 28.211 1.00 0.00 H +HETATM 4316 O1 MOL T 1 24.342 15.487 27.868 1.00 0.00 O +HETATM 4317 H8 MOL T 1 25.271 15.645 27.622 1.00 0.00 H +TER 4318 MOL T 1 +HETATM 4319 C1 MOL U 1 1.608 13.452 40.352 1.00 0.00 C +HETATM 4320 H1 MOL U 1 2.389 13.616 41.090 1.00 0.00 H +HETATM 4321 C2 MOL U 1 1.358 12.195 39.760 1.00 0.00 C +HETATM 4322 H2 MOL U 1 1.959 11.343 40.067 1.00 0.00 H +HETATM 4323 C3 MOL U 1 0.395 11.953 38.829 1.00 0.00 C +HETATM 4324 H3 MOL U 1 0.354 11.000 38.308 1.00 0.00 H +HETATM 4325 C4 MOL U 1 -0.479 13.001 38.516 1.00 0.00 C +HETATM 4326 H4 MOL U 1 -1.334 12.795 37.876 1.00 0.00 H +HETATM 4327 C5 MOL U 1 -0.397 14.246 39.175 1.00 0.00 C +HETATM 4328 H5 MOL U 1 -1.117 15.014 38.905 1.00 0.00 H +HETATM 4329 C6 MOL U 1 0.655 14.456 40.072 1.00 0.00 C +HETATM 4330 C7 MOL U 1 0.956 15.821 40.593 1.00 0.00 C +HETATM 4331 H6 MOL U 1 1.265 15.691 41.634 1.00 0.00 H +HETATM 4332 H7 MOL U 1 0.152 16.560 40.556 1.00 0.00 H +HETATM 4333 O1 MOL U 1 2.007 16.481 39.887 1.00 0.00 O +HETATM 4334 H8 MOL U 1 2.874 16.055 40.012 1.00 0.00 H +TER 4335 MOL U 1 +HETATM 4336 C1 MOL V 1 20.303 32.919 25.040 1.00 0.00 C +HETATM 4337 H1 MOL V 1 19.455 33.097 25.696 1.00 0.00 H +HETATM 4338 C2 MOL V 1 20.504 31.674 24.444 1.00 0.00 C +HETATM 4339 H2 MOL V 1 19.773 30.875 24.536 1.00 0.00 H +HETATM 4340 C3 MOL V 1 21.625 31.490 23.647 1.00 0.00 C +HETATM 4341 H3 MOL V 1 21.913 30.494 23.318 1.00 0.00 H +HETATM 4342 C4 MOL V 1 22.457 32.567 23.384 1.00 0.00 C +HETATM 4343 H4 MOL V 1 23.281 32.484 22.680 1.00 0.00 H +HETATM 4344 C5 MOL V 1 22.315 33.752 23.979 1.00 0.00 C +HETATM 4345 H5 MOL V 1 22.916 34.604 23.673 1.00 0.00 H +HETATM 4346 C6 MOL V 1 21.252 33.975 24.784 1.00 0.00 C +HETATM 4347 C7 MOL V 1 21.065 35.400 25.317 1.00 0.00 C +HETATM 4348 H6 MOL V 1 21.822 36.090 24.934 1.00 0.00 H +HETATM 4349 H7 MOL V 1 21.272 35.347 26.389 1.00 0.00 H +HETATM 4350 O1 MOL V 1 19.806 36.000 25.116 1.00 0.00 O +HETATM 4351 H8 MOL V 1 19.461 36.386 25.940 1.00 0.00 H +TER 4352 MOL V 1 +HETATM 4353 C1 MOL W 1 12.050 2.584 30.824 1.00 0.00 C +HETATM 4354 H1 MOL W 1 11.644 3.557 30.555 1.00 0.00 H +HETATM 4355 C2 MOL W 1 12.945 2.489 31.861 1.00 0.00 C +HETATM 4356 H2 MOL W 1 13.257 3.339 32.463 1.00 0.00 H +HETATM 4357 C3 MOL W 1 13.688 1.317 31.961 1.00 0.00 C +HETATM 4358 H3 MOL W 1 14.331 1.259 32.836 1.00 0.00 H +HETATM 4359 C4 MOL W 1 13.418 0.179 31.311 1.00 0.00 C +HETATM 4360 H4 MOL W 1 13.824 -0.779 31.624 1.00 0.00 H +HETATM 4361 C5 MOL W 1 12.456 0.204 30.295 1.00 0.00 C +HETATM 4362 H5 MOL W 1 12.227 -0.698 29.732 1.00 0.00 H +HETATM 4363 C6 MOL W 1 11.874 1.453 29.951 1.00 0.00 C +HETATM 4364 C7 MOL W 1 11.015 1.693 28.711 1.00 0.00 C +HETATM 4365 H6 MOL W 1 9.969 1.742 29.025 1.00 0.00 H +HETATM 4366 H7 MOL W 1 11.153 0.848 28.032 1.00 0.00 H +HETATM 4367 O1 MOL W 1 11.197 2.951 28.020 1.00 0.00 O +HETATM 4368 H8 MOL W 1 12.132 2.817 27.783 1.00 0.00 H +TER 4369 MOL W 1 +HETATM 4370 C1 MOL X 1 35.150 32.060 4.621 1.00 0.00 C +HETATM 4371 H1 MOL X 1 35.298 32.310 5.669 1.00 0.00 H +HETATM 4372 C2 MOL X 1 36.278 31.920 3.794 1.00 0.00 C +HETATM 4373 H2 MOL X 1 37.212 32.153 4.299 1.00 0.00 H +HETATM 4374 C3 MOL X 1 36.118 31.426 2.506 1.00 0.00 C +HETATM 4375 H3 MOL X 1 37.033 31.252 1.944 1.00 0.00 H +HETATM 4376 C4 MOL X 1 34.873 31.194 1.927 1.00 0.00 C +HETATM 4377 H4 MOL X 1 34.800 30.928 0.876 1.00 0.00 H +HETATM 4378 C5 MOL X 1 33.787 31.419 2.735 1.00 0.00 C +HETATM 4379 H5 MOL X 1 32.814 31.211 2.298 1.00 0.00 H +HETATM 4380 C6 MOL X 1 33.878 31.804 4.072 1.00 0.00 C +HETATM 4381 C7 MOL X 1 32.638 31.833 4.999 1.00 0.00 C +HETATM 4382 H6 MOL X 1 31.993 32.542 4.474 1.00 0.00 H +HETATM 4383 H7 MOL X 1 32.841 32.208 6.006 1.00 0.00 H +HETATM 4384 O1 MOL X 1 31.976 30.565 5.053 1.00 0.00 O +HETATM 4385 H8 MOL X 1 32.641 29.956 5.422 1.00 0.00 H +TER 4386 MOL X 1 +HETATM 4387 C1 MOL Y 1 37.475 23.151 41.311 1.00 0.00 C +HETATM 4388 H1 MOL Y 1 37.103 24.168 41.214 1.00 0.00 H +HETATM 4389 C2 MOL Y 1 36.896 22.302 42.259 1.00 0.00 C +HETATM 4390 H2 MOL Y 1 36.064 22.677 42.849 1.00 0.00 H +HETATM 4391 C3 MOL Y 1 37.362 21.054 42.472 1.00 0.00 C +HETATM 4392 H3 MOL Y 1 36.873 20.343 43.134 1.00 0.00 H +HETATM 4393 C4 MOL Y 1 38.420 20.569 41.681 1.00 0.00 C +HETATM 4394 H4 MOL Y 1 38.760 19.551 41.855 1.00 0.00 H +HETATM 4395 C5 MOL Y 1 38.904 21.347 40.722 1.00 0.00 C +HETATM 4396 H5 MOL Y 1 39.601 20.960 39.983 1.00 0.00 H +HETATM 4397 C6 MOL Y 1 38.522 22.662 40.583 1.00 0.00 C +HETATM 4398 C7 MOL Y 1 39.229 23.521 39.585 1.00 0.00 C +HETATM 4399 H6 MOL Y 1 38.907 24.560 39.478 1.00 0.00 H +HETATM 4400 H7 MOL Y 1 39.163 23.125 38.568 1.00 0.00 H +HETATM 4401 O1 MOL Y 1 40.599 23.578 39.670 1.00 0.00 O +HETATM 4402 H8 MOL Y 1 40.947 22.877 39.090 1.00 0.00 H +TER 4403 MOL Y 1 +HETATM 4404 C1 MOL Z 1 30.295 15.543 18.344 1.00 0.00 C +HETATM 4405 H1 MOL Z 1 31.315 15.461 17.977 1.00 0.00 H +HETATM 4406 C2 MOL Z 1 29.495 14.414 18.259 1.00 0.00 C +HETATM 4407 H2 MOL Z 1 29.903 13.485 17.869 1.00 0.00 H +HETATM 4408 C3 MOL Z 1 28.233 14.401 18.723 1.00 0.00 C +HETATM 4409 H3 MOL Z 1 27.595 13.530 18.848 1.00 0.00 H +HETATM 4410 C4 MOL Z 1 27.731 15.647 19.254 1.00 0.00 C +HETATM 4411 H4 MOL Z 1 26.757 15.650 19.736 1.00 0.00 H +HETATM 4412 C5 MOL Z 1 28.471 16.845 19.290 1.00 0.00 C +HETATM 4413 H5 MOL Z 1 28.037 17.793 19.597 1.00 0.00 H +HETATM 4414 C6 MOL Z 1 29.794 16.736 18.789 1.00 0.00 C +HETATM 4415 C7 MOL Z 1 30.710 17.965 18.864 1.00 0.00 C +HETATM 4416 H6 MOL Z 1 30.624 18.466 17.896 1.00 0.00 H +HETATM 4417 H7 MOL Z 1 31.763 17.675 18.884 1.00 0.00 H +HETATM 4418 O1 MOL Z 1 30.551 18.898 19.936 1.00 0.00 O +HETATM 4419 H8 MOL Z 1 31.356 19.412 19.744 1.00 0.00 H +TER 4420 MOL Z 1 +HETATM 4421 C1 MOL A 1 16.707 31.046 33.922 1.00 0.00 C +HETATM 4422 H1 MOL A 1 16.726 30.044 34.344 1.00 0.00 H +HETATM 4423 C2 MOL A 1 15.954 31.998 34.617 1.00 0.00 C +HETATM 4424 H2 MOL A 1 15.459 31.739 35.549 1.00 0.00 H +HETATM 4425 C3 MOL A 1 15.749 33.288 34.089 1.00 0.00 C +HETATM 4426 H3 MOL A 1 15.247 34.058 34.667 1.00 0.00 H +HETATM 4427 C4 MOL A 1 16.364 33.579 32.897 1.00 0.00 C +HETATM 4428 H4 MOL A 1 16.262 34.603 32.549 1.00 0.00 H +HETATM 4429 C5 MOL A 1 17.222 32.706 32.260 1.00 0.00 C +HETATM 4430 H5 MOL A 1 17.761 32.928 31.343 1.00 0.00 H +HETATM 4431 C6 MOL A 1 17.446 31.465 32.784 1.00 0.00 C +HETATM 4432 C7 MOL A 1 18.397 30.448 32.115 1.00 0.00 C +HETATM 4433 H6 MOL A 1 18.796 29.826 32.921 1.00 0.00 H +HETATM 4434 H7 MOL A 1 19.298 30.895 31.688 1.00 0.00 H +HETATM 4435 O1 MOL A 1 17.709 29.554 31.187 1.00 0.00 O +HETATM 4436 H8 MOL A 1 17.854 28.630 31.459 1.00 0.00 H +TER 4437 MOL A 1 +HETATM 4438 C1 MOL B 1 15.550 41.623 17.165 1.00 0.00 C +HETATM 4439 H1 MOL B 1 16.013 41.588 18.148 1.00 0.00 H +HETATM 4440 C2 MOL B 1 16.434 41.935 16.138 1.00 0.00 C +HETATM 4441 H2 MOL B 1 17.500 42.062 16.312 1.00 0.00 H +HETATM 4442 C3 MOL B 1 16.067 42.077 14.844 1.00 0.00 C +HETATM 4443 H3 MOL B 1 16.664 42.343 13.976 1.00 0.00 H +HETATM 4444 C4 MOL B 1 14.727 41.914 14.557 1.00 0.00 C +HETATM 4445 H4 MOL B 1 14.350 41.987 13.540 1.00 0.00 H +HETATM 4446 C5 MOL B 1 13.792 41.422 15.476 1.00 0.00 C +HETATM 4447 H5 MOL B 1 12.758 41.216 15.210 1.00 0.00 H +HETATM 4448 C6 MOL B 1 14.213 41.410 16.845 1.00 0.00 C +HETATM 4449 C7 MOL B 1 13.196 41.225 17.950 1.00 0.00 C +HETATM 4450 H6 MOL B 1 12.567 42.118 17.973 1.00 0.00 H +HETATM 4451 H7 MOL B 1 13.775 41.182 18.876 1.00 0.00 H +HETATM 4452 O1 MOL B 1 12.428 40.035 17.949 1.00 0.00 O +HETATM 4453 H8 MOL B 1 13.140 39.383 18.081 1.00 0.00 H +TER 4454 MOL B 1 +HETATM 4455 C1 MOL C 1 20.722 13.641 18.794 1.00 0.00 C +HETATM 4456 H1 MOL C 1 19.780 14.000 18.387 1.00 0.00 H +HETATM 4457 C2 MOL C 1 20.674 13.168 20.132 1.00 0.00 C +HETATM 4458 H2 MOL C 1 19.706 13.228 20.623 1.00 0.00 H +HETATM 4459 C3 MOL C 1 21.749 12.566 20.671 1.00 0.00 C +HETATM 4460 H3 MOL C 1 21.640 12.173 21.679 1.00 0.00 H +HETATM 4461 C4 MOL C 1 22.972 12.587 19.956 1.00 0.00 C +HETATM 4462 H4 MOL C 1 23.866 12.103 20.341 1.00 0.00 H +HETATM 4463 C5 MOL C 1 23.073 13.192 18.762 1.00 0.00 C +HETATM 4464 H5 MOL C 1 24.035 13.220 18.257 1.00 0.00 H +HETATM 4465 C6 MOL C 1 21.945 13.643 18.088 1.00 0.00 C +HETATM 4466 C7 MOL C 1 22.091 14.213 16.714 1.00 0.00 C +HETATM 4467 H6 MOL C 1 23.024 14.761 16.565 1.00 0.00 H +HETATM 4468 H7 MOL C 1 21.255 14.871 16.462 1.00 0.00 H +HETATM 4469 O1 MOL C 1 21.858 13.217 15.694 1.00 0.00 O +HETATM 4470 H8 MOL C 1 21.529 12.369 16.041 1.00 0.00 H +TER 4471 MOL C 1 +HETATM 4472 C1 MOL D 1 17.308 39.493 42.380 1.00 0.00 C +HETATM 4473 H1 MOL D 1 18.134 39.046 42.927 1.00 0.00 H +HETATM 4474 C2 MOL D 1 16.967 39.226 41.079 1.00 0.00 C +HETATM 4475 H2 MOL D 1 17.573 38.441 40.633 1.00 0.00 H +HETATM 4476 C3 MOL D 1 15.829 39.834 40.549 1.00 0.00 C +HETATM 4477 H3 MOL D 1 15.434 39.487 39.597 1.00 0.00 H +HETATM 4478 C4 MOL D 1 14.984 40.645 41.401 1.00 0.00 C +HETATM 4479 H4 MOL D 1 13.977 40.896 41.078 1.00 0.00 H +HETATM 4480 C5 MOL D 1 15.377 40.936 42.693 1.00 0.00 C +HETATM 4481 H5 MOL D 1 14.783 41.570 43.347 1.00 0.00 H +HETATM 4482 C6 MOL D 1 16.572 40.402 43.179 1.00 0.00 C +HETATM 4483 C7 MOL D 1 17.032 40.661 44.552 1.00 0.00 C +HETATM 4484 H6 MOL D 1 16.706 41.675 44.800 1.00 0.00 H +HETATM 4485 H7 MOL D 1 18.125 40.628 44.567 1.00 0.00 H +HETATM 4486 O1 MOL D 1 16.508 39.685 45.466 1.00 0.00 O +HETATM 4487 H8 MOL D 1 15.555 39.849 45.575 1.00 0.00 H +TER 4488 MOL D 1 +HETATM 4489 C1 MOL E 1 31.425 19.743 7.742 1.00 0.00 C +HETATM 4490 H1 MOL E 1 31.056 18.977 7.064 1.00 0.00 H +HETATM 4491 C2 MOL E 1 31.171 21.129 7.398 1.00 0.00 C +HETATM 4492 H2 MOL E 1 30.509 21.305 6.553 1.00 0.00 H +HETATM 4493 C3 MOL E 1 31.764 22.195 8.101 1.00 0.00 C +HETATM 4494 H3 MOL E 1 31.605 23.230 7.808 1.00 0.00 H +HETATM 4495 C4 MOL E 1 32.674 21.889 9.123 1.00 0.00 C +HETATM 4496 H4 MOL E 1 33.206 22.707 9.604 1.00 0.00 H +HETATM 4497 C5 MOL E 1 33.069 20.565 9.418 1.00 0.00 C +HETATM 4498 H5 MOL E 1 33.800 20.360 10.195 1.00 0.00 H +HETATM 4499 C6 MOL E 1 32.407 19.517 8.702 1.00 0.00 C +HETATM 4500 C7 MOL E 1 32.881 18.115 8.801 1.00 0.00 C +HETATM 4501 H6 MOL E 1 33.095 17.622 7.850 1.00 0.00 H +HETATM 4502 H7 MOL E 1 32.149 17.503 9.334 1.00 0.00 H +HETATM 4503 O1 MOL E 1 34.194 18.108 9.459 1.00 0.00 O +HETATM 4504 H8 MOL E 1 34.807 18.760 9.075 1.00 0.00 H +TER 4505 MOL E 1 +HETATM 4506 C1 MOL F 1 32.782 14.480 15.368 1.00 0.00 C +HETATM 4507 H1 MOL F 1 33.085 13.452 15.183 1.00 0.00 H +HETATM 4508 C2 MOL F 1 33.421 15.260 16.272 1.00 0.00 C +HETATM 4509 H2 MOL F 1 34.140 14.746 16.905 1.00 0.00 H +HETATM 4510 C3 MOL F 1 33.122 16.637 16.353 1.00 0.00 C +HETATM 4511 H3 MOL F 1 33.728 17.189 17.066 1.00 0.00 H +HETATM 4512 C4 MOL F 1 32.154 17.220 15.626 1.00 0.00 C +HETATM 4513 H4 MOL F 1 32.008 18.297 15.629 1.00 0.00 H +HETATM 4514 C5 MOL F 1 31.581 16.438 14.610 1.00 0.00 C +HETATM 4515 H5 MOL F 1 30.872 16.904 13.930 1.00 0.00 H +HETATM 4516 C6 MOL F 1 31.812 15.071 14.516 1.00 0.00 C +HETATM 4517 C7 MOL F 1 31.169 14.269 13.389 1.00 0.00 C +HETATM 4518 H6 MOL F 1 31.854 13.490 13.043 1.00 0.00 H +HETATM 4519 H7 MOL F 1 31.029 14.993 12.583 1.00 0.00 H +HETATM 4520 O1 MOL F 1 29.899 13.713 13.619 1.00 0.00 O +HETATM 4521 H8 MOL F 1 29.298 14.421 13.912 1.00 0.00 H +TER 4522 MOL F 1 +HETATM 4523 C1 MOL G 1 33.620 26.867 36.297 1.00 0.00 C +HETATM 4524 H1 MOL G 1 33.080 26.054 36.775 1.00 0.00 H +HETATM 4525 C2 MOL G 1 34.238 27.725 37.199 1.00 0.00 C +HETATM 4526 H2 MOL G 1 34.223 27.647 38.283 1.00 0.00 H +HETATM 4527 C3 MOL G 1 35.010 28.685 36.639 1.00 0.00 C +HETATM 4528 H3 MOL G 1 35.568 29.388 37.254 1.00 0.00 H +HETATM 4529 C4 MOL G 1 35.004 29.049 35.251 1.00 0.00 C +HETATM 4530 H4 MOL G 1 35.620 29.903 34.982 1.00 0.00 H +HETATM 4531 C5 MOL G 1 34.334 28.249 34.362 1.00 0.00 C +HETATM 4532 H5 MOL G 1 34.359 28.597 33.333 1.00 0.00 H +HETATM 4533 C6 MOL G 1 33.636 27.166 34.873 1.00 0.00 C +HETATM 4534 C7 MOL G 1 32.867 26.192 33.961 1.00 0.00 C +HETATM 4535 H6 MOL G 1 31.853 26.573 33.818 1.00 0.00 H +HETATM 4536 H7 MOL G 1 32.777 25.207 34.424 1.00 0.00 H +HETATM 4537 O1 MOL G 1 33.350 26.019 32.649 1.00 0.00 O +HETATM 4538 H8 MOL G 1 34.263 25.728 32.822 1.00 0.00 H +TER 4539 MOL G 1 +HETATM 4540 C1 MOL H 1 6.835 20.499 23.612 1.00 0.00 C +HETATM 4541 H1 MOL H 1 6.456 20.241 22.627 1.00 0.00 H +HETATM 4542 C2 MOL H 1 8.147 20.187 23.944 1.00 0.00 C +HETATM 4543 H2 MOL H 1 8.764 19.699 23.194 1.00 0.00 H +HETATM 4544 C3 MOL H 1 8.692 20.457 25.162 1.00 0.00 C +HETATM 4545 H3 MOL H 1 9.754 20.373 25.377 1.00 0.00 H +HETATM 4546 C4 MOL H 1 7.912 21.082 26.186 1.00 0.00 C +HETATM 4547 H4 MOL H 1 8.294 21.383 27.158 1.00 0.00 H +HETATM 4548 C5 MOL H 1 6.606 21.521 25.810 1.00 0.00 C +HETATM 4549 H5 MOL H 1 6.015 22.157 26.464 1.00 0.00 H +HETATM 4550 C6 MOL H 1 6.088 21.218 24.522 1.00 0.00 C +HETATM 4551 C7 MOL H 1 4.724 21.778 24.096 1.00 0.00 C +HETATM 4552 H6 MOL H 1 4.168 21.714 25.034 1.00 0.00 H +HETATM 4553 H7 MOL H 1 4.204 21.135 23.381 1.00 0.00 H +HETATM 4554 O1 MOL H 1 4.894 23.190 23.648 1.00 0.00 O +HETATM 4555 H8 MOL H 1 4.101 23.359 23.107 1.00 0.00 H +TER 4556 MOL H 1 +HETATM 4557 C1 MOL I 1 39.965 38.744 34.535 1.00 0.00 C +HETATM 4558 H1 MOL I 1 40.462 39.610 34.965 1.00 0.00 H +HETATM 4559 C2 MOL I 1 39.918 37.493 35.187 1.00 0.00 C +HETATM 4560 H2 MOL I 1 40.263 37.413 36.214 1.00 0.00 H +HETATM 4561 C3 MOL I 1 39.343 36.434 34.544 1.00 0.00 C +HETATM 4562 H3 MOL I 1 39.175 35.470 35.018 1.00 0.00 H +HETATM 4563 C4 MOL I 1 38.877 36.551 33.221 1.00 0.00 C +HETATM 4564 H4 MOL I 1 38.485 35.695 32.678 1.00 0.00 H +HETATM 4565 C5 MOL I 1 38.884 37.792 32.553 1.00 0.00 C +HETATM 4566 H5 MOL I 1 38.377 37.911 31.599 1.00 0.00 H +HETATM 4567 C6 MOL I 1 39.520 38.860 33.221 1.00 0.00 C +HETATM 4568 C7 MOL I 1 39.775 40.225 32.576 1.00 0.00 C +HETATM 4569 H6 MOL I 1 38.856 40.790 32.751 1.00 0.00 H +HETATM 4570 H7 MOL I 1 39.838 40.166 31.487 1.00 0.00 H +HETATM 4571 O1 MOL I 1 40.977 40.952 32.995 1.00 0.00 O +HETATM 4572 H8 MOL I 1 41.513 41.052 32.188 1.00 0.00 H +TER 4573 MOL I 1 +HETATM 4574 C1 MOL J 1 36.517 23.636 12.724 1.00 0.00 C +HETATM 4575 H1 MOL J 1 36.153 22.625 12.890 1.00 0.00 H +HETATM 4576 C2 MOL J 1 35.612 24.462 11.980 1.00 0.00 C +HETATM 4577 H2 MOL J 1 34.614 24.138 11.696 1.00 0.00 H +HETATM 4578 C3 MOL J 1 36.076 25.732 11.651 1.00 0.00 C +HETATM 4579 H3 MOL J 1 35.404 26.335 11.046 1.00 0.00 H +HETATM 4580 C4 MOL J 1 37.366 26.138 12.062 1.00 0.00 C +HETATM 4581 H4 MOL J 1 37.679 27.124 11.728 1.00 0.00 H +HETATM 4582 C5 MOL J 1 38.142 25.329 12.913 1.00 0.00 C +HETATM 4583 H5 MOL J 1 39.132 25.616 13.258 1.00 0.00 H +HETATM 4584 C6 MOL J 1 37.681 24.054 13.331 1.00 0.00 C +HETATM 4585 C7 MOL J 1 38.427 23.169 14.285 1.00 0.00 C +HETATM 4586 H6 MOL J 1 39.394 22.891 13.861 1.00 0.00 H +HETATM 4587 H7 MOL J 1 37.861 22.254 14.479 1.00 0.00 H +HETATM 4588 O1 MOL J 1 38.641 23.712 15.548 1.00 0.00 O +HETATM 4589 H8 MOL J 1 38.886 22.905 16.037 1.00 0.00 H +TER 4590 MOL J 1 +HETATM 4591 C1 MOL K 1 25.464 4.495 34.667 1.00 0.00 C +HETATM 4592 H1 MOL K 1 26.007 3.927 33.915 1.00 0.00 H +HETATM 4593 C2 MOL K 1 24.582 3.906 35.541 1.00 0.00 C +HETATM 4594 H2 MOL K 1 24.346 2.855 35.393 1.00 0.00 H +HETATM 4595 C3 MOL K 1 24.033 4.511 36.667 1.00 0.00 C +HETATM 4596 H3 MOL K 1 23.494 3.912 37.397 1.00 0.00 H +HETATM 4597 C4 MOL K 1 24.383 5.781 36.961 1.00 0.00 C +HETATM 4598 H4 MOL K 1 23.890 6.263 37.801 1.00 0.00 H +HETATM 4599 C5 MOL K 1 25.180 6.456 36.026 1.00 0.00 C +HETATM 4600 H5 MOL K 1 25.430 7.511 36.102 1.00 0.00 H +HETATM 4601 C6 MOL K 1 25.681 5.818 34.867 1.00 0.00 C +HETATM 4602 C7 MOL K 1 26.675 6.594 33.962 1.00 0.00 C +HETATM 4603 H6 MOL K 1 27.371 5.893 33.496 1.00 0.00 H +HETATM 4604 H7 MOL K 1 27.308 7.163 34.648 1.00 0.00 H +HETATM 4605 O1 MOL K 1 26.087 7.457 32.984 1.00 0.00 O +HETATM 4606 H8 MOL K 1 25.499 6.827 32.530 1.00 0.00 H +TER 4607 MOL K 1 +HETATM 4608 C1 MOL L 1 16.875 44.499 20.850 1.00 0.00 C +HETATM 4609 H1 MOL L 1 16.395 44.512 21.825 1.00 0.00 H +HETATM 4610 C2 MOL L 1 16.829 45.610 20.052 1.00 0.00 C +HETATM 4611 H2 MOL L 1 16.190 46.386 20.466 1.00 0.00 H +HETATM 4612 C3 MOL L 1 17.498 45.662 18.778 1.00 0.00 C +HETATM 4613 H3 MOL L 1 17.430 46.508 18.098 1.00 0.00 H +HETATM 4614 C4 MOL L 1 18.105 44.482 18.371 1.00 0.00 C +HETATM 4615 H4 MOL L 1 18.505 44.470 17.361 1.00 0.00 H +HETATM 4616 C5 MOL L 1 18.114 43.397 19.224 1.00 0.00 C +HETATM 4617 H5 MOL L 1 18.538 42.490 18.800 1.00 0.00 H +HETATM 4618 C6 MOL L 1 17.531 43.333 20.470 1.00 0.00 C +HETATM 4619 C7 MOL L 1 17.399 42.018 21.252 1.00 0.00 C +HETATM 4620 H6 MOL L 1 17.843 41.246 20.618 1.00 0.00 H +HETATM 4621 H7 MOL L 1 16.361 41.737 21.443 1.00 0.00 H +HETATM 4622 O1 MOL L 1 18.125 42.096 22.448 1.00 0.00 O +HETATM 4623 H8 MOL L 1 18.663 42.887 22.264 1.00 0.00 H +TER 4624 MOL L 1 +HETATM 4625 C1 MOL M 1 4.883 2.627 2.338 1.00 0.00 C +HETATM 4626 H1 MOL M 1 5.622 2.744 1.548 1.00 0.00 H +HETATM 4627 C2 MOL M 1 4.772 3.563 3.322 1.00 0.00 C +HETATM 4628 H2 MOL M 1 5.262 4.533 3.349 1.00 0.00 H +HETATM 4629 C3 MOL M 1 3.827 3.392 4.305 1.00 0.00 C +HETATM 4630 H3 MOL M 1 3.627 4.267 4.919 1.00 0.00 H +HETATM 4631 C4 MOL M 1 3.210 2.121 4.487 1.00 0.00 C +HETATM 4632 H4 MOL M 1 2.584 2.014 5.369 1.00 0.00 H +HETATM 4633 C5 MOL M 1 3.344 1.170 3.527 1.00 0.00 C +HETATM 4634 H5 MOL M 1 2.805 0.248 3.731 1.00 0.00 H +HETATM 4635 C6 MOL M 1 4.129 1.448 2.384 1.00 0.00 C +HETATM 4636 C7 MOL M 1 4.142 0.384 1.253 1.00 0.00 C +HETATM 4637 H6 MOL M 1 4.121 0.846 0.263 1.00 0.00 H +HETATM 4638 H7 MOL M 1 3.227 -0.207 1.346 1.00 0.00 H +HETATM 4639 O1 MOL M 1 5.378 -0.404 1.389 1.00 0.00 O +HETATM 4640 H8 MOL M 1 5.530 -0.549 2.341 1.00 0.00 H +TER 4641 MOL M 1 +HETATM 4642 C1 MOL N 1 5.183 15.867 27.058 1.00 0.00 C +HETATM 4643 H1 MOL N 1 6.165 15.458 27.285 1.00 0.00 H +HETATM 4644 C2 MOL N 1 4.046 15.029 27.168 1.00 0.00 C +HETATM 4645 H2 MOL N 1 4.109 13.952 27.302 1.00 0.00 H +HETATM 4646 C3 MOL N 1 2.753 15.634 26.913 1.00 0.00 C +HETATM 4647 H3 MOL N 1 1.904 14.956 26.948 1.00 0.00 H +HETATM 4648 C4 MOL N 1 2.683 17.002 26.658 1.00 0.00 C +HETATM 4649 H4 MOL N 1 1.734 17.490 26.453 1.00 0.00 H +HETATM 4650 C5 MOL N 1 3.808 17.829 26.632 1.00 0.00 C +HETATM 4651 H5 MOL N 1 3.778 18.865 26.307 1.00 0.00 H +HETATM 4652 C6 MOL N 1 5.061 17.276 26.860 1.00 0.00 C +HETATM 4653 C7 MOL N 1 6.328 18.035 26.689 1.00 0.00 C +HETATM 4654 H6 MOL N 1 6.896 17.803 27.594 1.00 0.00 H +HETATM 4655 H7 MOL N 1 6.095 19.097 26.801 1.00 0.00 H +HETATM 4656 O1 MOL N 1 7.129 17.774 25.530 1.00 0.00 O +HETATM 4657 H8 MOL N 1 7.585 18.620 25.372 1.00 0.00 H +TER 4658 MOL N 1 +HETATM 4659 C1 MOL O 1 4.302 38.139 42.158 1.00 0.00 C +HETATM 4660 H1 MOL O 1 3.445 37.771 41.599 1.00 0.00 H +HETATM 4661 C2 MOL O 1 5.583 38.115 41.519 1.00 0.00 C +HETATM 4662 H2 MOL O 1 5.609 37.847 40.466 1.00 0.00 H +HETATM 4663 C3 MOL O 1 6.689 38.445 42.267 1.00 0.00 C +HETATM 4664 H3 MOL O 1 7.699 38.376 41.870 1.00 0.00 H +HETATM 4665 C4 MOL O 1 6.548 38.878 43.632 1.00 0.00 C +HETATM 4666 H4 MOL O 1 7.413 39.100 44.251 1.00 0.00 H +HETATM 4667 C5 MOL O 1 5.230 38.985 44.146 1.00 0.00 C +HETATM 4668 H5 MOL O 1 5.230 39.401 45.151 1.00 0.00 H +HETATM 4669 C6 MOL O 1 4.099 38.624 43.473 1.00 0.00 C +HETATM 4670 C7 MOL O 1 2.714 38.589 44.126 1.00 0.00 C +HETATM 4671 H6 MOL O 1 2.578 39.112 45.076 1.00 0.00 H +HETATM 4672 H7 MOL O 1 2.474 37.536 44.299 1.00 0.00 H +HETATM 4673 O1 MOL O 1 1.789 39.194 43.183 1.00 0.00 O +HETATM 4674 H8 MOL O 1 0.933 38.789 43.410 1.00 0.00 H +TER 4675 MOL O 1 +HETATM 4676 C1 MOL P 1 39.477 25.862 42.675 1.00 0.00 C +HETATM 4677 H1 MOL P 1 38.440 25.630 42.902 1.00 0.00 H +HETATM 4678 C2 MOL P 1 40.478 25.474 43.532 1.00 0.00 C +HETATM 4679 H2 MOL P 1 40.296 24.850 44.404 1.00 0.00 H +HETATM 4680 C3 MOL P 1 41.721 25.985 43.399 1.00 0.00 C +HETATM 4681 H3 MOL P 1 42.426 25.870 44.218 1.00 0.00 H +HETATM 4682 C4 MOL P 1 42.062 26.791 42.289 1.00 0.00 C +HETATM 4683 H4 MOL P 1 43.093 27.119 42.193 1.00 0.00 H +HETATM 4684 C5 MOL P 1 41.040 27.191 41.395 1.00 0.00 C +HETATM 4685 H5 MOL P 1 41.180 27.880 40.566 1.00 0.00 H +HETATM 4686 C6 MOL P 1 39.768 26.703 41.636 1.00 0.00 C +HETATM 4687 C7 MOL P 1 38.637 27.102 40.732 1.00 0.00 C +HETATM 4688 H6 MOL P 1 37.730 26.492 40.772 1.00 0.00 H +HETATM 4689 H7 MOL P 1 38.985 27.032 39.699 1.00 0.00 H +HETATM 4690 O1 MOL P 1 38.284 28.458 41.043 1.00 0.00 O +HETATM 4691 H8 MOL P 1 38.935 29.059 40.636 1.00 0.00 H +TER 4692 MOL P 1 +HETATM 4693 C1 MOL Q 1 22.595 16.528 14.255 1.00 0.00 C +HETATM 4694 H1 MOL Q 1 22.587 15.445 14.159 1.00 0.00 H +HETATM 4695 C2 MOL Q 1 23.633 17.203 14.844 1.00 0.00 C +HETATM 4696 H2 MOL Q 1 24.440 16.601 15.254 1.00 0.00 H +HETATM 4697 C3 MOL Q 1 23.593 18.560 15.082 1.00 0.00 C +HETATM 4698 H3 MOL Q 1 24.497 18.985 15.511 1.00 0.00 H +HETATM 4699 C4 MOL Q 1 22.559 19.312 14.644 1.00 0.00 C +HETATM 4700 H4 MOL Q 1 22.603 20.397 14.693 1.00 0.00 H +HETATM 4701 C5 MOL Q 1 21.401 18.627 14.153 1.00 0.00 C +HETATM 4702 H5 MOL Q 1 20.483 19.153 13.904 1.00 0.00 H +HETATM 4703 C6 MOL Q 1 21.379 17.229 13.997 1.00 0.00 C +HETATM 4704 C7 MOL Q 1 20.146 16.469 13.570 1.00 0.00 C +HETATM 4705 H6 MOL Q 1 19.309 16.977 14.055 1.00 0.00 H +HETATM 4706 H7 MOL Q 1 20.104 15.460 13.989 1.00 0.00 H +HETATM 4707 O1 MOL Q 1 20.018 16.401 12.122 1.00 0.00 O +HETATM 4708 H8 MOL Q 1 19.729 17.307 11.912 1.00 0.00 H +TER 4709 MOL Q 1 +HETATM 4710 C1 MOL R 1 0.863 30.515 36.547 1.00 0.00 C +HETATM 4711 H1 MOL R 1 0.658 29.891 35.682 1.00 0.00 H +HETATM 4712 C2 MOL R 1 2.208 30.811 36.918 1.00 0.00 C +HETATM 4713 H2 MOL R 1 2.958 30.384 36.257 1.00 0.00 H +HETATM 4714 C3 MOL R 1 2.436 31.632 38.046 1.00 0.00 C +HETATM 4715 H3 MOL R 1 3.464 31.874 38.306 1.00 0.00 H +HETATM 4716 C4 MOL R 1 1.423 32.291 38.698 1.00 0.00 C +HETATM 4717 H4 MOL R 1 1.688 32.992 39.486 1.00 0.00 H +HETATM 4718 C5 MOL R 1 0.093 32.085 38.227 1.00 0.00 C +HETATM 4719 H5 MOL R 1 -0.704 32.724 38.599 1.00 0.00 H +HETATM 4720 C6 MOL R 1 -0.156 31.156 37.195 1.00 0.00 C +HETATM 4721 C7 MOL R 1 -1.525 30.990 36.726 1.00 0.00 C +HETATM 4722 H6 MOL R 1 -1.592 30.365 35.832 1.00 0.00 H +HETATM 4723 H7 MOL R 1 -1.912 31.991 36.518 1.00 0.00 H +HETATM 4724 O1 MOL R 1 -2.296 30.248 37.667 1.00 0.00 O +HETATM 4725 H8 MOL R 1 -2.141 29.349 37.327 1.00 0.00 H +TER 4726 MOL R 1 +HETATM 4727 C1 MOL S 1 3.348 4.920 23.994 1.00 0.00 C +HETATM 4728 H1 MOL S 1 4.410 4.865 23.771 1.00 0.00 H +HETATM 4729 C2 MOL S 1 3.007 5.544 25.223 1.00 0.00 C +HETATM 4730 H2 MOL S 1 3.849 5.917 25.801 1.00 0.00 H +HETATM 4731 C3 MOL S 1 1.694 5.625 25.635 1.00 0.00 C +HETATM 4732 H3 MOL S 1 1.418 6.068 26.588 1.00 0.00 H +HETATM 4733 C4 MOL S 1 0.685 5.002 24.846 1.00 0.00 C +HETATM 4734 H4 MOL S 1 -0.372 5.070 25.089 1.00 0.00 H +HETATM 4735 C5 MOL S 1 1.041 4.463 23.572 1.00 0.00 C +HETATM 4736 H5 MOL S 1 0.232 3.939 23.069 1.00 0.00 H +HETATM 4737 C6 MOL S 1 2.386 4.331 23.195 1.00 0.00 C +HETATM 4738 C7 MOL S 1 2.838 3.553 21.954 1.00 0.00 C +HETATM 4739 H6 MOL S 1 3.901 3.344 22.099 1.00 0.00 H +HETATM 4740 H7 MOL S 1 2.658 4.161 21.064 1.00 0.00 H +HETATM 4741 O1 MOL S 1 2.201 2.291 21.866 1.00 0.00 O +HETATM 4742 H8 MOL S 1 2.378 1.779 22.676 1.00 0.00 H +TER 4743 MOL S 1 +HETATM 4744 C1 MOL T 1 33.581 34.629 36.400 1.00 0.00 C +HETATM 4745 H1 MOL T 1 32.788 34.007 36.807 1.00 0.00 H +HETATM 4746 C2 MOL T 1 34.277 34.157 35.268 1.00 0.00 C +HETATM 4747 H2 MOL T 1 33.992 33.171 34.912 1.00 0.00 H +HETATM 4748 C3 MOL T 1 35.299 34.889 34.718 1.00 0.00 C +HETATM 4749 H3 MOL T 1 35.928 34.524 33.909 1.00 0.00 H +HETATM 4750 C4 MOL T 1 35.643 36.102 35.322 1.00 0.00 C +HETATM 4751 H4 MOL T 1 36.527 36.545 34.870 1.00 0.00 H +HETATM 4752 C5 MOL T 1 34.963 36.638 36.325 1.00 0.00 C +HETATM 4753 H5 MOL T 1 35.258 37.631 36.653 1.00 0.00 H +HETATM 4754 C6 MOL T 1 33.886 35.904 36.915 1.00 0.00 C +HETATM 4755 C7 MOL T 1 33.268 36.582 38.102 1.00 0.00 C +HETATM 4756 H6 MOL T 1 33.785 37.511 38.354 1.00 0.00 H +HETATM 4757 H7 MOL T 1 33.273 35.887 38.945 1.00 0.00 H +HETATM 4758 O1 MOL T 1 31.882 36.825 37.854 1.00 0.00 O +HETATM 4759 H8 MOL T 1 31.696 37.634 37.344 1.00 0.00 H +TER 4760 MOL T 1 +HETATM 4761 C1 MOL U 1 20.799 24.125 3.912 1.00 0.00 C +HETATM 4762 H1 MOL U 1 20.085 24.483 3.175 1.00 0.00 H +HETATM 4763 C2 MOL U 1 20.432 23.601 5.171 1.00 0.00 C +HETATM 4764 H2 MOL U 1 19.354 23.553 5.308 1.00 0.00 H +HETATM 4765 C3 MOL U 1 21.332 23.003 5.987 1.00 0.00 C +HETATM 4766 H3 MOL U 1 21.025 22.490 6.894 1.00 0.00 H +HETATM 4767 C4 MOL U 1 22.678 23.064 5.594 1.00 0.00 C +HETATM 4768 H4 MOL U 1 23.390 22.713 6.336 1.00 0.00 H +HETATM 4769 C5 MOL U 1 23.064 23.713 4.447 1.00 0.00 C +HETATM 4770 H5 MOL U 1 24.106 23.801 4.150 1.00 0.00 H +HETATM 4771 C6 MOL U 1 22.104 24.194 3.572 1.00 0.00 C +HETATM 4772 C7 MOL U 1 22.558 24.501 2.180 1.00 0.00 C +HETATM 4773 H6 MOL U 1 21.743 24.166 1.534 1.00 0.00 H +HETATM 4774 H7 MOL U 1 23.405 23.878 1.881 1.00 0.00 H +HETATM 4775 O1 MOL U 1 22.760 25.893 1.945 1.00 0.00 O +HETATM 4776 H8 MOL U 1 21.900 26.280 1.703 1.00 0.00 H +TER 4777 MOL U 1 +HETATM 4778 C1 MOL V 1 16.264 27.723 38.168 1.00 0.00 C +HETATM 4779 H1 MOL V 1 16.197 26.666 38.411 1.00 0.00 H +HETATM 4780 C2 MOL V 1 15.348 28.497 38.912 1.00 0.00 C +HETATM 4781 H2 MOL V 1 14.705 27.986 39.624 1.00 0.00 H +HETATM 4782 C3 MOL V 1 15.352 29.903 38.752 1.00 0.00 C +HETATM 4783 H3 MOL V 1 14.718 30.429 39.462 1.00 0.00 H +HETATM 4784 C4 MOL V 1 16.211 30.526 37.821 1.00 0.00 C +HETATM 4785 H4 MOL V 1 16.287 31.608 37.757 1.00 0.00 H +HETATM 4786 C5 MOL V 1 16.963 29.671 37.034 1.00 0.00 C +HETATM 4787 H5 MOL V 1 17.559 30.176 36.279 1.00 0.00 H +HETATM 4788 C6 MOL V 1 16.993 28.308 37.176 1.00 0.00 C +HETATM 4789 C7 MOL V 1 17.815 27.445 36.241 1.00 0.00 C +HETATM 4790 H6 MOL V 1 18.063 26.482 36.694 1.00 0.00 H +HETATM 4791 H7 MOL V 1 18.734 27.973 35.973 1.00 0.00 H +HETATM 4792 O1 MOL V 1 17.140 27.280 34.975 1.00 0.00 O +HETATM 4793 H8 MOL V 1 16.281 26.858 35.156 1.00 0.00 H +TER 4794 MOL V 1 +HETATM 4795 C1 MOL W 1 26.969 4.055 18.581 1.00 0.00 C +HETATM 4796 H1 MOL W 1 27.207 3.846 19.621 1.00 0.00 H +HETATM 4797 C2 MOL W 1 27.341 5.269 17.998 1.00 0.00 C +HETATM 4798 H2 MOL W 1 27.820 6.077 18.545 1.00 0.00 H +HETATM 4799 C3 MOL W 1 26.930 5.569 16.712 1.00 0.00 C +HETATM 4800 H3 MOL W 1 27.178 6.550 16.315 1.00 0.00 H +HETATM 4801 C4 MOL W 1 26.258 4.585 15.952 1.00 0.00 C +HETATM 4802 H4 MOL W 1 25.850 4.794 14.966 1.00 0.00 H +HETATM 4803 C5 MOL W 1 25.833 3.446 16.578 1.00 0.00 C +HETATM 4804 H5 MOL W 1 25.170 2.760 16.057 1.00 0.00 H +HETATM 4805 C6 MOL W 1 26.221 3.098 17.856 1.00 0.00 C +HETATM 4806 C7 MOL W 1 25.827 1.837 18.491 1.00 0.00 C +HETATM 4807 H6 MOL W 1 26.656 1.376 19.034 1.00 0.00 H +HETATM 4808 H7 MOL W 1 25.395 1.114 17.794 1.00 0.00 H +HETATM 4809 O1 MOL W 1 24.911 2.048 19.546 1.00 0.00 O +HETATM 4810 H8 MOL W 1 24.270 2.659 19.140 1.00 0.00 H +TER 4811 MOL W 1 +HETATM 4812 C1 MOL X 1 30.372 39.298 20.424 1.00 0.00 C +HETATM 4813 H1 MOL X 1 31.242 38.945 19.876 1.00 0.00 H +HETATM 4814 C2 MOL X 1 29.050 38.962 20.036 1.00 0.00 C +HETATM 4815 H2 MOL X 1 28.859 38.270 19.219 1.00 0.00 H +HETATM 4816 C3 MOL X 1 27.971 39.327 20.861 1.00 0.00 C +HETATM 4817 H3 MOL X 1 26.953 38.984 20.694 1.00 0.00 H +HETATM 4818 C4 MOL X 1 28.190 40.277 21.874 1.00 0.00 C +HETATM 4819 H4 MOL X 1 27.409 40.553 22.578 1.00 0.00 H +HETATM 4820 C5 MOL X 1 29.491 40.698 22.155 1.00 0.00 C +HETATM 4821 H5 MOL X 1 29.555 41.307 23.053 1.00 0.00 H +HETATM 4822 C6 MOL X 1 30.572 40.193 21.486 1.00 0.00 C +HETATM 4823 C7 MOL X 1 32.019 40.352 22.017 1.00 0.00 C +HETATM 4824 H6 MOL X 1 32.653 39.467 22.103 1.00 0.00 H +HETATM 4825 H7 MOL X 1 31.838 40.530 23.081 1.00 0.00 H +HETATM 4826 O1 MOL X 1 32.765 41.517 21.537 1.00 0.00 O +HETATM 4827 H8 MOL X 1 32.556 42.229 22.167 1.00 0.00 H +TER 4828 MOL X 1 +HETATM 4829 C1 MOL Y 1 13.013 43.637 2.967 1.00 0.00 C +HETATM 4830 H1 MOL Y 1 12.207 44.208 2.514 1.00 0.00 H +HETATM 4831 C2 MOL Y 1 12.866 42.705 3.999 1.00 0.00 C +HETATM 4832 H2 MOL Y 1 11.886 42.469 4.405 1.00 0.00 H +HETATM 4833 C3 MOL Y 1 13.986 42.042 4.502 1.00 0.00 C +HETATM 4834 H3 MOL Y 1 13.847 41.260 5.244 1.00 0.00 H +HETATM 4835 C4 MOL Y 1 15.258 42.441 4.080 1.00 0.00 C +HETATM 4836 H4 MOL Y 1 16.086 41.986 4.618 1.00 0.00 H +HETATM 4837 C5 MOL Y 1 15.373 43.423 3.088 1.00 0.00 C +HETATM 4838 H5 MOL Y 1 16.301 43.845 2.712 1.00 0.00 H +HETATM 4839 C6 MOL Y 1 14.288 44.056 2.526 1.00 0.00 C +HETATM 4840 C7 MOL Y 1 14.451 45.206 1.569 1.00 0.00 C +HETATM 4841 H6 MOL Y 1 15.339 45.844 1.570 1.00 0.00 H +HETATM 4842 H7 MOL Y 1 13.700 45.953 1.839 1.00 0.00 H +HETATM 4843 O1 MOL Y 1 14.251 44.705 0.214 1.00 0.00 O +HETATM 4844 H8 MOL Y 1 13.352 44.330 0.199 1.00 0.00 H +TER 4845 MOL Y 1 +HETATM 4846 C1 MOL Z 1 36.672 17.558 14.665 1.00 0.00 C +HETATM 4847 H1 MOL Z 1 36.821 16.852 15.478 1.00 0.00 H +HETATM 4848 C2 MOL Z 1 35.833 17.203 13.603 1.00 0.00 C +HETATM 4849 H2 MOL Z 1 35.202 16.320 13.661 1.00 0.00 H +HETATM 4850 C3 MOL Z 1 35.833 17.933 12.435 1.00 0.00 C +HETATM 4851 H3 MOL Z 1 35.122 17.649 11.664 1.00 0.00 H +HETATM 4852 C4 MOL Z 1 36.694 19.032 12.295 1.00 0.00 C +HETATM 4853 H4 MOL Z 1 36.845 19.581 11.369 1.00 0.00 H +HETATM 4854 C5 MOL Z 1 37.422 19.508 13.414 1.00 0.00 C +HETATM 4855 H5 MOL Z 1 38.029 20.410 13.418 1.00 0.00 H +HETATM 4856 C6 MOL Z 1 37.339 18.756 14.610 1.00 0.00 C +HETATM 4857 C7 MOL Z 1 38.066 19.195 15.885 1.00 0.00 C +HETATM 4858 H6 MOL Z 1 37.254 19.224 16.616 1.00 0.00 H +HETATM 4859 H7 MOL Z 1 38.501 20.193 15.789 1.00 0.00 H +HETATM 4860 O1 MOL Z 1 39.124 18.286 16.141 1.00 0.00 O +HETATM 4861 H8 MOL Z 1 39.776 18.247 15.419 1.00 0.00 H +TER 4862 MOL Z 1 +HETATM 4863 C1 MOL A 1 32.006 12.577 6.149 1.00 0.00 C +HETATM 4864 H1 MOL A 1 32.134 11.501 6.242 1.00 0.00 H +HETATM 4865 C2 MOL A 1 32.151 13.191 4.916 1.00 0.00 C +HETATM 4866 H2 MOL A 1 32.378 12.601 4.032 1.00 0.00 H +HETATM 4867 C3 MOL A 1 31.893 14.557 4.785 1.00 0.00 C +HETATM 4868 H3 MOL A 1 32.105 15.087 3.860 1.00 0.00 H +HETATM 4869 C4 MOL A 1 31.339 15.283 5.913 1.00 0.00 C +HETATM 4870 H4 MOL A 1 31.077 16.333 5.810 1.00 0.00 H +HETATM 4871 C5 MOL A 1 31.260 14.596 7.142 1.00 0.00 C +HETATM 4872 H5 MOL A 1 30.844 15.124 7.996 1.00 0.00 H +HETATM 4873 C6 MOL A 1 31.600 13.280 7.207 1.00 0.00 C +HETATM 4874 C7 MOL A 1 31.500 12.661 8.596 1.00 0.00 C +HETATM 4875 H6 MOL A 1 32.128 11.767 8.616 1.00 0.00 H +HETATM 4876 H7 MOL A 1 30.515 12.188 8.636 1.00 0.00 H +HETATM 4877 O1 MOL A 1 31.746 13.488 9.741 1.00 0.00 O +HETATM 4878 H8 MOL A 1 32.583 13.928 9.509 1.00 0.00 H +TER 4879 MOL A 1 +HETATM 4880 C1 MOL B 1 13.036 1.140 19.181 1.00 0.00 C +HETATM 4881 H1 MOL B 1 13.233 0.934 20.230 1.00 0.00 H +HETATM 4882 C2 MOL B 1 13.770 0.444 18.214 1.00 0.00 C +HETATM 4883 H2 MOL B 1 14.686 -0.119 18.375 1.00 0.00 H +HETATM 4884 C3 MOL B 1 13.355 0.525 16.890 1.00 0.00 C +HETATM 4885 H3 MOL B 1 14.048 0.216 16.111 1.00 0.00 H +HETATM 4886 C4 MOL B 1 12.233 1.198 16.566 1.00 0.00 C +HETATM 4887 H4 MOL B 1 12.023 1.407 15.520 1.00 0.00 H +HETATM 4888 C5 MOL B 1 11.402 1.705 17.558 1.00 0.00 C +HETATM 4889 H5 MOL B 1 10.514 2.300 17.364 1.00 0.00 H +HETATM 4890 C6 MOL B 1 11.744 1.585 18.861 1.00 0.00 C +HETATM 4891 C7 MOL B 1 10.666 1.839 19.912 1.00 0.00 C +HETATM 4892 H6 MOL B 1 9.750 2.283 19.513 1.00 0.00 H +HETATM 4893 H7 MOL B 1 11.124 2.479 20.670 1.00 0.00 H +HETATM 4894 O1 MOL B 1 10.254 0.657 20.737 1.00 0.00 O +HETATM 4895 H8 MOL B 1 9.994 -0.089 20.167 1.00 0.00 H +TER 4896 MOL B 1 +HETATM 4897 C1 MOL C 1 15.377 9.256 -0.863 1.00 0.00 C +HETATM 4898 H1 MOL C 1 15.882 8.298 -0.774 1.00 0.00 H +HETATM 4899 C2 MOL C 1 15.756 10.173 -1.852 1.00 0.00 C +HETATM 4900 H2 MOL C 1 16.534 9.897 -2.560 1.00 0.00 H +HETATM 4901 C3 MOL C 1 15.088 11.401 -1.903 1.00 0.00 C +HETATM 4902 H3 MOL C 1 15.306 12.063 -2.737 1.00 0.00 H +HETATM 4903 C4 MOL C 1 14.120 11.716 -0.927 1.00 0.00 C +HETATM 4904 H4 MOL C 1 13.662 12.696 -0.819 1.00 0.00 H +HETATM 4905 C5 MOL C 1 13.931 10.855 0.129 1.00 0.00 C +HETATM 4906 H5 MOL C 1 13.301 11.136 0.968 1.00 0.00 H +HETATM 4907 C6 MOL C 1 14.402 9.531 0.079 1.00 0.00 C +HETATM 4908 C7 MOL C 1 14.024 8.583 1.156 1.00 0.00 C +HETATM 4909 H6 MOL C 1 13.447 9.086 1.936 1.00 0.00 H +HETATM 4910 H7 MOL C 1 14.910 8.245 1.700 1.00 0.00 H +HETATM 4911 O1 MOL C 1 13.356 7.452 0.649 1.00 0.00 O +HETATM 4912 H8 MOL C 1 13.894 6.989 -0.018 1.00 0.00 H +TER 4913 MOL C 1 +HETATM 4914 C1 MOL D 1 34.172 3.313 23.419 1.00 0.00 C +HETATM 4915 H1 MOL D 1 33.828 3.139 22.403 1.00 0.00 H +HETATM 4916 C2 MOL D 1 33.834 2.257 24.208 1.00 0.00 C +HETATM 4917 H2 MOL D 1 33.184 1.426 23.944 1.00 0.00 H +HETATM 4918 C3 MOL D 1 34.305 2.369 25.484 1.00 0.00 C +HETATM 4919 H3 MOL D 1 34.038 1.558 26.156 1.00 0.00 H +HETATM 4920 C4 MOL D 1 34.985 3.472 25.963 1.00 0.00 C +HETATM 4921 H4 MOL D 1 35.248 3.556 27.014 1.00 0.00 H +HETATM 4922 C5 MOL D 1 35.293 4.547 25.122 1.00 0.00 C +HETATM 4923 H5 MOL D 1 35.893 5.383 25.471 1.00 0.00 H +HETATM 4924 C6 MOL D 1 34.890 4.408 23.783 1.00 0.00 C +HETATM 4925 C7 MOL D 1 35.264 5.477 22.769 1.00 0.00 C +HETATM 4926 H6 MOL D 1 36.123 6.064 23.103 1.00 0.00 H +HETATM 4927 H7 MOL D 1 34.419 6.147 22.591 1.00 0.00 H +HETATM 4928 O1 MOL D 1 35.775 4.763 21.608 1.00 0.00 O +HETATM 4929 H8 MOL D 1 35.256 5.150 20.880 1.00 0.00 H +TER 4930 MOL D 1 +HETATM 4931 C1 MOL E 1 18.189 2.917 8.438 1.00 0.00 C +HETATM 4932 H1 MOL E 1 18.922 3.403 9.077 1.00 0.00 H +HETATM 4933 C2 MOL E 1 16.962 2.567 9.015 1.00 0.00 C +HETATM 4934 H2 MOL E 1 16.757 2.883 10.035 1.00 0.00 H +HETATM 4935 C3 MOL E 1 15.913 1.899 8.337 1.00 0.00 C +HETATM 4936 H3 MOL E 1 14.999 1.721 8.897 1.00 0.00 H +HETATM 4937 C4 MOL E 1 16.160 1.630 6.970 1.00 0.00 C +HETATM 4938 H4 MOL E 1 15.408 1.103 6.387 1.00 0.00 H +HETATM 4939 C5 MOL E 1 17.395 1.872 6.367 1.00 0.00 C +HETATM 4940 H5 MOL E 1 17.489 1.836 5.284 1.00 0.00 H +HETATM 4941 C6 MOL E 1 18.421 2.576 7.089 1.00 0.00 C +HETATM 4942 C7 MOL E 1 19.751 2.836 6.489 1.00 0.00 C +HETATM 4943 H6 MOL E 1 19.910 2.090 5.706 1.00 0.00 H +HETATM 4944 H7 MOL E 1 20.556 2.781 7.226 1.00 0.00 H +HETATM 4945 O1 MOL E 1 19.830 4.139 5.822 1.00 0.00 O +HETATM 4946 H8 MOL E 1 20.309 3.856 5.022 1.00 0.00 H +TER 4947 MOL E 1 +HETATM 4948 C1 MOL F 1 31.029 37.674 43.978 1.00 0.00 C +HETATM 4949 H1 MOL F 1 31.733 38.146 44.660 1.00 0.00 H +HETATM 4950 C2 MOL F 1 30.072 36.944 44.638 1.00 0.00 C +HETATM 4951 H2 MOL F 1 30.030 36.868 45.721 1.00 0.00 H +HETATM 4952 C3 MOL F 1 29.131 36.231 43.965 1.00 0.00 C +HETATM 4953 H3 MOL F 1 28.313 35.688 44.430 1.00 0.00 H +HETATM 4954 C4 MOL F 1 29.124 36.371 42.541 1.00 0.00 C +HETATM 4955 H4 MOL F 1 28.333 35.817 42.043 1.00 0.00 H +HETATM 4956 C5 MOL F 1 30.016 37.161 41.845 1.00 0.00 C +HETATM 4957 H5 MOL F 1 29.918 37.239 40.766 1.00 0.00 H +HETATM 4958 C6 MOL F 1 31.004 37.807 42.605 1.00 0.00 C +HETATM 4959 C7 MOL F 1 32.074 38.593 41.827 1.00 0.00 C +HETATM 4960 H6 MOL F 1 32.633 39.242 42.506 1.00 0.00 H +HETATM 4961 H7 MOL F 1 31.559 39.219 41.095 1.00 0.00 H +HETATM 4962 O1 MOL F 1 33.052 37.869 41.032 1.00 0.00 O +HETATM 4963 H8 MOL F 1 33.570 37.158 41.450 1.00 0.00 H +TER 4964 MOL F 1 +HETATM 4965 C1 MOL G 1 39.537 12.145 4.032 1.00 0.00 C +HETATM 4966 H1 MOL G 1 40.389 12.285 4.692 1.00 0.00 H +HETATM 4967 C2 MOL G 1 39.661 11.181 3.018 1.00 0.00 C +HETATM 4968 H2 MOL G 1 40.555 10.572 3.124 1.00 0.00 H +HETATM 4969 C3 MOL G 1 38.553 10.857 2.205 1.00 0.00 C +HETATM 4970 H3 MOL G 1 38.520 9.985 1.557 1.00 0.00 H +HETATM 4971 C4 MOL G 1 37.354 11.668 2.298 1.00 0.00 C +HETATM 4972 H4 MOL G 1 36.547 11.383 1.627 1.00 0.00 H +HETATM 4973 C5 MOL G 1 37.330 12.701 3.226 1.00 0.00 C +HETATM 4974 H5 MOL G 1 36.370 13.182 3.397 1.00 0.00 H +HETATM 4975 C6 MOL G 1 38.394 12.974 4.123 1.00 0.00 C +HETATM 4976 C7 MOL G 1 38.315 14.137 5.111 1.00 0.00 C +HETATM 4977 H6 MOL G 1 37.356 14.656 5.031 1.00 0.00 H +HETATM 4978 H7 MOL G 1 39.092 14.860 4.850 1.00 0.00 H +HETATM 4979 O1 MOL G 1 38.500 13.679 6.447 1.00 0.00 O +HETATM 4980 H8 MOL G 1 37.626 13.690 6.877 1.00 0.00 H +TER 4981 MOL G 1 +HETATM 4982 C1 MOL H 1 21.923 41.891 2.405 1.00 0.00 C +HETATM 4983 H1 MOL H 1 20.881 41.619 2.252 1.00 0.00 H +HETATM 4984 C2 MOL H 1 22.469 42.119 3.683 1.00 0.00 C +HETATM 4985 H2 MOL H 1 21.846 42.024 4.569 1.00 0.00 H +HETATM 4986 C3 MOL H 1 23.862 42.487 3.723 1.00 0.00 C +HETATM 4987 H3 MOL H 1 24.279 42.754 4.691 1.00 0.00 H +HETATM 4988 C4 MOL H 1 24.612 42.631 2.543 1.00 0.00 C +HETATM 4989 H4 MOL H 1 25.668 42.882 2.601 1.00 0.00 H +HETATM 4990 C5 MOL H 1 24.007 42.252 1.365 1.00 0.00 C +HETATM 4991 H5 MOL H 1 24.578 42.212 0.441 1.00 0.00 H +HETATM 4992 C6 MOL H 1 22.657 41.912 1.253 1.00 0.00 C +HETATM 4993 C7 MOL H 1 22.052 41.512 -0.094 1.00 0.00 C +HETATM 4994 H6 MOL H 1 21.361 40.672 0.018 1.00 0.00 H +HETATM 4995 H7 MOL H 1 22.818 41.248 -0.828 1.00 0.00 H +HETATM 4996 O1 MOL H 1 21.280 42.565 -0.659 1.00 0.00 O +HETATM 4997 H8 MOL H 1 20.986 42.185 -1.506 1.00 0.00 H +TER 4998 MOL H 1 +HETATM 4999 C1 MOL I 1 38.973 -0.116 5.116 1.00 0.00 C +HETATM 5000 H1 MOL I 1 39.076 -0.964 5.788 1.00 0.00 H +HETATM 5001 C2 MOL I 1 38.228 -0.306 3.943 1.00 0.00 C +HETATM 5002 H2 MOL I 1 37.840 -1.295 3.712 1.00 0.00 H +HETATM 5003 C3 MOL I 1 38.141 0.677 3.009 1.00 0.00 C +HETATM 5004 H3 MOL I 1 37.578 0.418 2.115 1.00 0.00 H +HETATM 5005 C4 MOL I 1 38.589 1.959 3.278 1.00 0.00 C +HETATM 5006 H4 MOL I 1 38.424 2.760 2.562 1.00 0.00 H +HETATM 5007 C5 MOL I 1 39.247 2.231 4.482 1.00 0.00 C +HETATM 5008 H5 MOL I 1 39.537 3.260 4.679 1.00 0.00 H +HETATM 5009 C6 MOL I 1 39.391 1.213 5.466 1.00 0.00 C +HETATM 5010 C7 MOL I 1 40.203 1.513 6.774 1.00 0.00 C +HETATM 5011 H6 MOL I 1 40.965 0.744 6.923 1.00 0.00 H +HETATM 5012 H7 MOL I 1 39.624 1.582 7.698 1.00 0.00 H +HETATM 5013 O1 MOL I 1 40.897 2.772 6.722 1.00 0.00 O +HETATM 5014 H8 MOL I 1 41.636 2.553 6.127 1.00 0.00 H +TER 5015 MOL I 1 +HETATM 5016 C1 MOL J 1 5.821 30.536 22.388 1.00 0.00 C +HETATM 5017 H1 MOL J 1 5.911 30.908 23.405 1.00 0.00 H +HETATM 5018 C2 MOL J 1 4.614 31.052 21.848 1.00 0.00 C +HETATM 5019 H2 MOL J 1 4.025 31.778 22.402 1.00 0.00 H +HETATM 5020 C3 MOL J 1 4.194 30.711 20.574 1.00 0.00 C +HETATM 5021 H3 MOL J 1 3.390 31.263 20.093 1.00 0.00 H +HETATM 5022 C4 MOL J 1 5.007 29.801 19.807 1.00 0.00 C +HETATM 5023 H4 MOL J 1 4.624 29.503 18.835 1.00 0.00 H +HETATM 5024 C5 MOL J 1 6.188 29.330 20.301 1.00 0.00 C +HETATM 5025 H5 MOL J 1 6.675 28.585 19.678 1.00 0.00 H +HETATM 5026 C6 MOL J 1 6.606 29.667 21.582 1.00 0.00 C +HETATM 5027 C7 MOL J 1 7.960 29.147 21.995 1.00 0.00 C +HETATM 5028 H6 MOL J 1 8.724 29.008 21.225 1.00 0.00 H +HETATM 5029 H7 MOL J 1 7.812 28.146 22.408 1.00 0.00 H +HETATM 5030 O1 MOL J 1 8.565 30.006 22.982 1.00 0.00 O +HETATM 5031 H8 MOL J 1 8.563 30.887 22.568 1.00 0.00 H +TER 5032 MOL J 1 +HETATM 5033 C1 MOL K 1 8.695 20.236 7.424 1.00 0.00 C +HETATM 5034 H1 MOL K 1 9.210 19.995 8.350 1.00 0.00 H +HETATM 5035 C2 MOL K 1 9.360 20.431 6.239 1.00 0.00 C +HETATM 5036 H2 MOL K 1 10.436 20.584 6.286 1.00 0.00 H +HETATM 5037 C3 MOL K 1 8.748 20.530 5.042 1.00 0.00 C +HETATM 5038 H3 MOL K 1 9.376 20.710 4.173 1.00 0.00 H +HETATM 5039 C4 MOL K 1 7.356 20.394 4.960 1.00 0.00 C +HETATM 5040 H4 MOL K 1 6.881 20.467 3.985 1.00 0.00 H +HETATM 5041 C5 MOL K 1 6.650 20.096 6.094 1.00 0.00 C +HETATM 5042 H5 MOL K 1 5.563 20.093 6.096 1.00 0.00 H +HETATM 5043 C6 MOL K 1 7.289 19.969 7.377 1.00 0.00 C +HETATM 5044 C7 MOL K 1 6.444 19.613 8.590 1.00 0.00 C +HETATM 5045 H6 MOL K 1 5.701 18.828 8.426 1.00 0.00 H +HETATM 5046 H7 MOL K 1 5.822 20.476 8.839 1.00 0.00 H +HETATM 5047 O1 MOL K 1 7.210 19.259 9.798 1.00 0.00 O +HETATM 5048 H8 MOL K 1 7.561 18.380 9.570 1.00 0.00 H +TER 5049 MOL K 1 +HETATM 5050 C1 MOL L 1 27.015 19.478 35.218 1.00 0.00 C +HETATM 5051 H1 MOL L 1 26.002 19.842 35.060 1.00 0.00 H +HETATM 5052 C2 MOL L 1 27.423 18.521 34.321 1.00 0.00 C +HETATM 5053 H2 MOL L 1 26.690 18.168 33.601 1.00 0.00 H +HETATM 5054 C3 MOL L 1 28.713 18.018 34.452 1.00 0.00 C +HETATM 5055 H3 MOL L 1 29.102 17.255 33.783 1.00 0.00 H +HETATM 5056 C4 MOL L 1 29.579 18.555 35.391 1.00 0.00 C +HETATM 5057 H4 MOL L 1 30.602 18.197 35.467 1.00 0.00 H +HETATM 5058 C5 MOL L 1 29.181 19.610 36.267 1.00 0.00 C +HETATM 5059 H5 MOL L 1 29.899 19.953 37.007 1.00 0.00 H +HETATM 5060 C6 MOL L 1 27.863 20.074 36.172 1.00 0.00 C +HETATM 5061 C7 MOL L 1 27.237 21.063 37.160 1.00 0.00 C +HETATM 5062 H6 MOL L 1 27.632 21.050 38.179 1.00 0.00 H +HETATM 5063 H7 MOL L 1 26.156 20.915 37.218 1.00 0.00 H +HETATM 5064 O1 MOL L 1 27.496 22.355 36.838 1.00 0.00 O +HETATM 5065 H8 MOL L 1 26.863 22.834 37.402 1.00 0.00 H +TER 5066 MOL L 1 +HETATM 5067 C1 MOL M 1 21.922 26.188 23.451 1.00 0.00 C +HETATM 5068 H1 MOL M 1 22.951 26.178 23.102 1.00 0.00 H +HETATM 5069 C2 MOL M 1 21.441 27.371 23.962 1.00 0.00 C +HETATM 5070 H2 MOL M 1 22.021 28.291 23.963 1.00 0.00 H +HETATM 5071 C3 MOL M 1 20.144 27.479 24.436 1.00 0.00 C +HETATM 5072 H3 MOL M 1 19.737 28.414 24.815 1.00 0.00 H +HETATM 5073 C4 MOL M 1 19.366 26.338 24.472 1.00 0.00 C +HETATM 5074 H4 MOL M 1 18.350 26.457 24.840 1.00 0.00 H +HETATM 5075 C5 MOL M 1 19.891 25.096 24.003 1.00 0.00 C +HETATM 5076 H5 MOL M 1 19.331 24.165 23.961 1.00 0.00 H +HETATM 5077 C6 MOL M 1 21.137 25.032 23.502 1.00 0.00 C +HETATM 5078 C7 MOL M 1 21.902 23.780 23.116 1.00 0.00 C +HETATM 5079 H6 MOL M 1 22.402 23.423 24.019 1.00 0.00 H +HETATM 5080 H7 MOL M 1 22.681 24.149 22.443 1.00 0.00 H +HETATM 5081 O1 MOL M 1 21.117 22.707 22.549 1.00 0.00 O +HETATM 5082 H8 MOL M 1 20.305 23.145 22.238 1.00 0.00 H +TER 5083 MOL M 1 +HETATM 5084 C1 MOL N 1 3.221 21.293 34.571 1.00 0.00 C +HETATM 5085 H1 MOL N 1 3.654 21.887 35.371 1.00 0.00 H +HETATM 5086 C2 MOL N 1 2.841 21.943 33.373 1.00 0.00 C +HETATM 5087 H2 MOL N 1 2.905 23.020 33.246 1.00 0.00 H +HETATM 5088 C3 MOL N 1 2.457 21.201 32.304 1.00 0.00 C +HETATM 5089 H3 MOL N 1 2.115 21.714 31.408 1.00 0.00 H +HETATM 5090 C4 MOL N 1 2.224 19.834 32.391 1.00 0.00 C +HETATM 5091 H4 MOL N 1 1.861 19.224 31.568 1.00 0.00 H +HETATM 5092 C5 MOL N 1 2.600 19.210 33.541 1.00 0.00 C +HETATM 5093 H5 MOL N 1 2.468 18.141 33.688 1.00 0.00 H +HETATM 5094 C6 MOL N 1 3.029 19.946 34.647 1.00 0.00 C +HETATM 5095 C7 MOL N 1 3.101 19.211 35.994 1.00 0.00 C +HETATM 5096 H6 MOL N 1 3.372 18.171 35.793 1.00 0.00 H +HETATM 5097 H7 MOL N 1 2.095 19.219 36.420 1.00 0.00 H +HETATM 5098 O1 MOL N 1 3.977 19.875 36.921 1.00 0.00 O +HETATM 5099 H8 MOL N 1 4.863 19.496 36.784 1.00 0.00 H +TER 5100 MOL N 1 +HETATM 5101 C1 MOL O 1 33.987 24.852 28.758 1.00 0.00 C +HETATM 5102 H1 MOL O 1 34.249 25.097 29.784 1.00 0.00 H +HETATM 5103 C2 MOL O 1 34.870 25.403 27.756 1.00 0.00 C +HETATM 5104 H2 MOL O 1 35.734 26.033 27.949 1.00 0.00 H +HETATM 5105 C3 MOL O 1 34.546 25.098 26.383 1.00 0.00 C +HETATM 5106 H3 MOL O 1 35.155 25.546 25.601 1.00 0.00 H +HETATM 5107 C4 MOL O 1 33.540 24.188 26.060 1.00 0.00 C +HETATM 5108 H4 MOL O 1 33.331 24.009 25.008 1.00 0.00 H +HETATM 5109 C5 MOL O 1 32.810 23.620 27.082 1.00 0.00 C +HETATM 5110 H5 MOL O 1 32.055 22.859 26.903 1.00 0.00 H +HETATM 5111 C6 MOL O 1 33.043 23.903 28.431 1.00 0.00 C +HETATM 5112 C7 MOL O 1 32.253 23.109 29.512 1.00 0.00 C +HETATM 5113 H6 MOL O 1 31.236 22.886 29.179 1.00 0.00 H +HETATM 5114 H7 MOL O 1 32.154 23.677 30.441 1.00 0.00 H +HETATM 5115 O1 MOL O 1 32.875 21.823 29.786 1.00 0.00 O +HETATM 5116 H8 MOL O 1 32.109 21.223 29.751 1.00 0.00 H +TER 5117 MOL O 1 +HETATM 5118 C1 MOL P 1 31.531 24.124 21.728 1.00 0.00 C +HETATM 5119 H1 MOL P 1 30.675 23.581 21.336 1.00 0.00 H +HETATM 5120 C2 MOL P 1 32.726 23.445 22.073 1.00 0.00 C +HETATM 5121 H2 MOL P 1 32.727 22.358 22.072 1.00 0.00 H +HETATM 5122 C3 MOL P 1 33.881 24.164 22.446 1.00 0.00 C +HETATM 5123 H3 MOL P 1 34.772 23.587 22.679 1.00 0.00 H +HETATM 5124 C4 MOL P 1 33.839 25.461 22.678 1.00 0.00 C +HETATM 5125 H4 MOL P 1 34.714 26.019 23.003 1.00 0.00 H +HETATM 5126 C5 MOL P 1 32.619 26.156 22.401 1.00 0.00 C +HETATM 5127 H5 MOL P 1 32.615 27.222 22.617 1.00 0.00 H +HETATM 5128 C6 MOL P 1 31.496 25.494 21.824 1.00 0.00 C +HETATM 5129 C7 MOL P 1 30.239 26.301 21.464 1.00 0.00 C +HETATM 5130 H6 MOL P 1 30.241 26.422 20.378 1.00 0.00 H +HETATM 5131 H7 MOL P 1 30.209 27.292 21.925 1.00 0.00 H +HETATM 5132 O1 MOL P 1 29.080 25.571 21.883 1.00 0.00 O +HETATM 5133 H8 MOL P 1 29.230 25.394 22.829 1.00 0.00 H +TER 5134 MOL P 1 +HETATM 5135 C1 MOL Q 1 16.526 40.623 32.025 1.00 0.00 C +HETATM 5136 H1 MOL Q 1 17.456 40.542 31.467 1.00 0.00 H +HETATM 5137 C2 MOL Q 1 15.583 39.632 31.908 1.00 0.00 C +HETATM 5138 H2 MOL Q 1 15.791 38.723 31.349 1.00 0.00 H +HETATM 5139 C3 MOL Q 1 14.371 39.667 32.566 1.00 0.00 C +HETATM 5140 H3 MOL Q 1 13.577 38.926 32.509 1.00 0.00 H +HETATM 5141 C4 MOL Q 1 14.197 40.675 33.459 1.00 0.00 C +HETATM 5142 H4 MOL Q 1 13.234 40.719 33.961 1.00 0.00 H +HETATM 5143 C5 MOL Q 1 15.110 41.726 33.587 1.00 0.00 C +HETATM 5144 H5 MOL Q 1 14.944 42.564 34.258 1.00 0.00 H +HETATM 5145 C6 MOL Q 1 16.333 41.653 32.900 1.00 0.00 C +HETATM 5146 C7 MOL Q 1 17.387 42.727 32.917 1.00 0.00 C +HETATM 5147 H6 MOL Q 1 17.013 43.513 33.578 1.00 0.00 H +HETATM 5148 H7 MOL Q 1 17.524 43.132 31.911 1.00 0.00 H +HETATM 5149 O1 MOL Q 1 18.670 42.291 33.372 1.00 0.00 O +HETATM 5150 H8 MOL Q 1 18.713 41.959 34.287 1.00 0.00 H +TER 5151 MOL Q 1 +HETATM 5152 C1 MOL R 1 31.864 4.529 17.579 1.00 0.00 C +HETATM 5153 H1 MOL R 1 31.859 3.712 18.297 1.00 0.00 H +HETATM 5154 C2 MOL R 1 30.657 4.940 17.007 1.00 0.00 C +HETATM 5155 H2 MOL R 1 29.781 4.316 17.166 1.00 0.00 H +HETATM 5156 C3 MOL R 1 30.594 6.186 16.395 1.00 0.00 C +HETATM 5157 H3 MOL R 1 29.611 6.430 16.001 1.00 0.00 H +HETATM 5158 C4 MOL R 1 31.755 6.928 16.183 1.00 0.00 C +HETATM 5159 H4 MOL R 1 31.816 7.859 15.625 1.00 0.00 H +HETATM 5160 C5 MOL R 1 32.965 6.479 16.734 1.00 0.00 C +HETATM 5161 H5 MOL R 1 33.848 7.111 16.789 1.00 0.00 H +HETATM 5162 C6 MOL R 1 33.055 5.271 17.405 1.00 0.00 C +HETATM 5163 C7 MOL R 1 34.254 5.015 18.372 1.00 0.00 C +HETATM 5164 H6 MOL R 1 35.168 5.085 17.777 1.00 0.00 H +HETATM 5165 H7 MOL R 1 34.265 4.005 18.789 1.00 0.00 H +HETATM 5166 O1 MOL R 1 34.286 5.830 19.526 1.00 0.00 O +HETATM 5167 H8 MOL R 1 33.378 5.966 19.853 1.00 0.00 H +TER 5168 MOL R 1 +HETATM 5169 C1 MOL S 1 28.736 32.842 26.051 1.00 0.00 C +HETATM 5170 H1 MOL S 1 28.783 32.623 27.115 1.00 0.00 H +HETATM 5171 C2 MOL S 1 27.711 32.171 25.331 1.00 0.00 C +HETATM 5172 H2 MOL S 1 27.109 31.425 25.844 1.00 0.00 H +HETATM 5173 C3 MOL S 1 27.416 32.432 23.989 1.00 0.00 C +HETATM 5174 H3 MOL S 1 26.615 31.900 23.483 1.00 0.00 H +HETATM 5175 C4 MOL S 1 28.334 33.247 23.314 1.00 0.00 C +HETATM 5176 H4 MOL S 1 28.241 33.449 22.250 1.00 0.00 H +HETATM 5177 C5 MOL S 1 29.400 33.901 24.027 1.00 0.00 C +HETATM 5178 H5 MOL S 1 30.132 34.432 23.424 1.00 0.00 H +HETATM 5179 C6 MOL S 1 29.562 33.687 25.374 1.00 0.00 C +HETATM 5180 C7 MOL S 1 30.780 34.334 26.061 1.00 0.00 C +HETATM 5181 H6 MOL S 1 31.396 34.824 25.302 1.00 0.00 H +HETATM 5182 H7 MOL S 1 31.323 33.515 26.539 1.00 0.00 H +HETATM 5183 O1 MOL S 1 30.413 35.254 27.025 1.00 0.00 O +HETATM 5184 H8 MOL S 1 30.249 36.115 26.600 1.00 0.00 H +TER 5185 MOL S 1 +HETATM 5186 C1 MOL T 1 16.941 36.197 3.335 1.00 0.00 C +HETATM 5187 H1 MOL T 1 17.229 36.892 2.550 1.00 0.00 H +HETATM 5188 C2 MOL T 1 17.757 35.060 3.495 1.00 0.00 C +HETATM 5189 H2 MOL T 1 18.639 34.955 2.868 1.00 0.00 H +HETATM 5190 C3 MOL T 1 17.384 34.064 4.449 1.00 0.00 C +HETATM 5191 H3 MOL T 1 17.987 33.168 4.565 1.00 0.00 H +HETATM 5192 C4 MOL T 1 16.230 34.127 5.170 1.00 0.00 C +HETATM 5193 H4 MOL T 1 15.936 33.457 5.974 1.00 0.00 H +HETATM 5194 C5 MOL T 1 15.469 35.334 5.075 1.00 0.00 C +HETATM 5195 H5 MOL T 1 14.582 35.453 5.691 1.00 0.00 H +HETATM 5196 C6 MOL T 1 15.762 36.296 4.100 1.00 0.00 C +HETATM 5197 C7 MOL T 1 14.723 37.374 3.806 1.00 0.00 C +HETATM 5198 H6 MOL T 1 15.077 38.228 3.224 1.00 0.00 H +HETATM 5199 H7 MOL T 1 14.417 37.874 4.728 1.00 0.00 H +HETATM 5200 O1 MOL T 1 13.647 36.747 3.142 1.00 0.00 O +HETATM 5201 H8 MOL T 1 14.125 36.254 2.452 1.00 0.00 H +TER 5202 MOL T 1 +HETATM 5203 C1 MOL U 1 32.650 43.316 2.083 1.00 0.00 C +HETATM 5204 H1 MOL U 1 33.157 44.106 2.630 1.00 0.00 H +HETATM 5205 C2 MOL U 1 31.384 42.802 2.490 1.00 0.00 C +HETATM 5206 H2 MOL U 1 30.864 43.157 3.376 1.00 0.00 H +HETATM 5207 C3 MOL U 1 30.717 41.950 1.597 1.00 0.00 C +HETATM 5208 H3 MOL U 1 29.680 41.623 1.606 1.00 0.00 H +HETATM 5209 C4 MOL U 1 31.413 41.476 0.498 1.00 0.00 C +HETATM 5210 H4 MOL U 1 30.808 40.912 -0.207 1.00 0.00 H +HETATM 5211 C5 MOL U 1 32.683 41.869 0.154 1.00 0.00 C +HETATM 5212 H5 MOL U 1 33.117 41.455 -0.753 1.00 0.00 H +HETATM 5213 C6 MOL U 1 33.319 42.785 0.943 1.00 0.00 C +HETATM 5214 C7 MOL U 1 34.703 43.284 0.535 1.00 0.00 C +HETATM 5215 H6 MOL U 1 35.085 42.354 0.105 1.00 0.00 H +HETATM 5216 H7 MOL U 1 35.303 43.573 1.402 1.00 0.00 H +HETATM 5217 O1 MOL U 1 34.659 44.380 -0.381 1.00 0.00 O +HETATM 5218 H8 MOL U 1 34.242 44.066 -1.203 1.00 0.00 H +TER 5219 MOL U 1 +HETATM 5220 C1 MOL V 1 18.816 26.570 40.919 1.00 0.00 C +HETATM 5221 H1 MOL V 1 19.698 26.520 40.286 1.00 0.00 H +HETATM 5222 C2 MOL V 1 18.265 25.432 41.489 1.00 0.00 C +HETATM 5223 H2 MOL V 1 18.669 24.436 41.327 1.00 0.00 H +HETATM 5224 C3 MOL V 1 17.218 25.609 42.404 1.00 0.00 C +HETATM 5225 H3 MOL V 1 16.708 24.796 42.913 1.00 0.00 H +HETATM 5226 C4 MOL V 1 16.872 26.880 42.797 1.00 0.00 C +HETATM 5227 H4 MOL V 1 16.044 27.100 43.466 1.00 0.00 H +HETATM 5228 C5 MOL V 1 17.491 27.973 42.257 1.00 0.00 C +HETATM 5229 H5 MOL V 1 17.172 28.934 42.653 1.00 0.00 H +HETATM 5230 C6 MOL V 1 18.463 27.840 41.303 1.00 0.00 C +HETATM 5231 C7 MOL V 1 19.169 29.032 40.677 1.00 0.00 C +HETATM 5232 H6 MOL V 1 19.774 28.756 39.809 1.00 0.00 H +HETATM 5233 H7 MOL V 1 19.801 29.470 41.454 1.00 0.00 H +HETATM 5234 O1 MOL V 1 18.256 30.027 40.227 1.00 0.00 O +HETATM 5235 H8 MOL V 1 17.498 29.552 39.839 1.00 0.00 H +TER 5236 MOL V 1 +HETATM 5237 C1 MOL W 1 38.253 23.622 34.344 1.00 0.00 C +HETATM 5238 H1 MOL W 1 37.929 22.954 33.550 1.00 0.00 H +HETATM 5239 C2 MOL W 1 39.403 23.412 35.103 1.00 0.00 C +HETATM 5240 H2 MOL W 1 40.145 22.664 34.835 1.00 0.00 H +HETATM 5241 C3 MOL W 1 39.799 24.402 36.078 1.00 0.00 C +HETATM 5242 H3 MOL W 1 40.691 24.264 36.684 1.00 0.00 H +HETATM 5243 C4 MOL W 1 38.918 25.401 36.445 1.00 0.00 C +HETATM 5244 H4 MOL W 1 39.256 26.190 37.111 1.00 0.00 H +HETATM 5245 C5 MOL W 1 37.673 25.485 35.832 1.00 0.00 C +HETATM 5246 H5 MOL W 1 36.995 26.270 36.159 1.00 0.00 H +HETATM 5247 C6 MOL W 1 37.331 24.626 34.765 1.00 0.00 C +HETATM 5248 C7 MOL W 1 35.979 24.670 34.040 1.00 0.00 C +HETATM 5249 H6 MOL W 1 35.211 25.038 34.725 1.00 0.00 H +HETATM 5250 H7 MOL W 1 35.629 23.669 33.776 1.00 0.00 H +HETATM 5251 O1 MOL W 1 35.917 25.358 32.794 1.00 0.00 O +HETATM 5252 H8 MOL W 1 36.263 24.774 32.095 1.00 0.00 H +TER 5253 MOL W 1 +HETATM 5254 C1 MOL X 1 7.013 26.079 3.346 1.00 0.00 C +HETATM 5255 H1 MOL X 1 6.319 25.999 2.513 1.00 0.00 H +HETATM 5256 C2 MOL X 1 8.324 25.619 3.123 1.00 0.00 C +HETATM 5257 H2 MOL X 1 8.663 25.152 2.202 1.00 0.00 H +HETATM 5258 C3 MOL X 1 9.211 25.729 4.171 1.00 0.00 C +HETATM 5259 H3 MOL X 1 10.241 25.396 4.077 1.00 0.00 H +HETATM 5260 C4 MOL X 1 8.876 26.274 5.340 1.00 0.00 C +HETATM 5261 H4 MOL X 1 9.627 26.391 6.118 1.00 0.00 H +HETATM 5262 C5 MOL X 1 7.501 26.742 5.585 1.00 0.00 C +HETATM 5263 H5 MOL X 1 7.248 27.164 6.554 1.00 0.00 H +HETATM 5264 C6 MOL X 1 6.573 26.605 4.548 1.00 0.00 C +HETATM 5265 C7 MOL X 1 5.179 27.106 4.731 1.00 0.00 C +HETATM 5266 H6 MOL X 1 4.716 26.639 5.604 1.00 0.00 H +HETATM 5267 H7 MOL X 1 4.571 26.786 3.881 1.00 0.00 H +HETATM 5268 O1 MOL X 1 5.189 28.524 4.880 1.00 0.00 O +HETATM 5269 H8 MOL X 1 5.320 28.697 5.829 1.00 0.00 H +TER 5270 MOL X 1 +HETATM 5271 C1 MOL Y 1 30.237 40.203 30.573 1.00 0.00 C +HETATM 5272 H1 MOL Y 1 30.513 39.178 30.339 1.00 0.00 H +HETATM 5273 C2 MOL Y 1 30.556 40.654 31.881 1.00 0.00 C +HETATM 5274 H2 MOL Y 1 30.923 39.956 32.630 1.00 0.00 H +HETATM 5275 C3 MOL Y 1 30.351 41.998 32.249 1.00 0.00 C +HETATM 5276 H3 MOL Y 1 30.658 42.240 33.263 1.00 0.00 H +HETATM 5277 C4 MOL Y 1 29.839 42.889 31.276 1.00 0.00 C +HETATM 5278 H4 MOL Y 1 29.816 43.916 31.631 1.00 0.00 H +HETATM 5279 C5 MOL Y 1 29.553 42.460 30.040 1.00 0.00 C +HETATM 5280 H5 MOL Y 1 29.223 43.190 29.305 1.00 0.00 H +HETATM 5281 C6 MOL Y 1 29.780 41.110 29.685 1.00 0.00 C +HETATM 5282 C7 MOL Y 1 29.561 40.780 28.202 1.00 0.00 C +HETATM 5283 H6 MOL Y 1 30.466 40.788 27.588 1.00 0.00 H +HETATM 5284 H7 MOL Y 1 28.865 41.505 27.773 1.00 0.00 H +HETATM 5285 O1 MOL Y 1 28.961 39.511 28.056 1.00 0.00 O +HETATM 5286 H8 MOL Y 1 28.278 39.295 28.716 1.00 0.00 H +TER 5287 MOL Y 1 +HETATM 5288 C1 MOL Z 1 4.236 18.472 2.187 1.00 0.00 C +HETATM 5289 H1 MOL Z 1 3.202 18.797 2.110 1.00 0.00 H +HETATM 5290 C2 MOL Z 1 4.666 17.366 2.942 1.00 0.00 C +HETATM 5291 H2 MOL Z 1 3.880 16.834 3.472 1.00 0.00 H +HETATM 5292 C3 MOL Z 1 5.994 16.939 2.889 1.00 0.00 C +HETATM 5293 H3 MOL Z 1 6.280 16.129 3.555 1.00 0.00 H +HETATM 5294 C4 MOL Z 1 6.951 17.567 2.084 1.00 0.00 C +HETATM 5295 H4 MOL Z 1 7.970 17.194 2.016 1.00 0.00 H +HETATM 5296 C5 MOL Z 1 6.525 18.623 1.280 1.00 0.00 C +HETATM 5297 H5 MOL Z 1 7.219 19.151 0.632 1.00 0.00 H +HETATM 5298 C6 MOL Z 1 5.189 19.139 1.395 1.00 0.00 C +HETATM 5299 C7 MOL Z 1 4.683 20.378 0.646 1.00 0.00 C +HETATM 5300 H6 MOL Z 1 4.844 21.349 1.122 1.00 0.00 H +HETATM 5301 H7 MOL Z 1 3.591 20.350 0.634 1.00 0.00 H +HETATM 5302 O1 MOL Z 1 5.261 20.501 -0.731 1.00 0.00 O +HETATM 5303 H8 MOL Z 1 4.987 19.760 -1.299 1.00 0.00 H +TER 5304 MOL Z 1 +HETATM 5305 C1 MOL A 1 35.714 37.780 19.285 1.00 0.00 C +HETATM 5306 H1 MOL A 1 35.501 37.333 18.317 1.00 0.00 H +HETATM 5307 C2 MOL A 1 36.411 37.162 20.255 1.00 0.00 C +HETATM 5308 H2 MOL A 1 36.856 36.200 20.016 1.00 0.00 H +HETATM 5309 C3 MOL A 1 36.608 37.577 21.550 1.00 0.00 C +HETATM 5310 H3 MOL A 1 37.062 36.980 22.337 1.00 0.00 H +HETATM 5311 C4 MOL A 1 36.098 38.858 21.812 1.00 0.00 C +HETATM 5312 H4 MOL A 1 36.097 39.188 22.848 1.00 0.00 H +HETATM 5313 C5 MOL A 1 35.509 39.615 20.835 1.00 0.00 C +HETATM 5314 H5 MOL A 1 35.170 40.596 21.159 1.00 0.00 H +HETATM 5315 C6 MOL A 1 35.256 39.085 19.579 1.00 0.00 C +HETATM 5316 C7 MOL A 1 34.458 39.864 18.562 1.00 0.00 C +HETATM 5317 H6 MOL A 1 33.554 39.292 18.338 1.00 0.00 H +HETATM 5318 H7 MOL A 1 35.061 39.995 17.659 1.00 0.00 H +HETATM 5319 O1 MOL A 1 34.083 41.219 18.940 1.00 0.00 O +HETATM 5320 H8 MOL A 1 33.585 41.186 19.776 1.00 0.00 H +TER 5321 MOL A 1 +HETATM 5322 C1 MOL B 1 5.908 14.567 23.048 1.00 0.00 C +HETATM 5323 H1 MOL B 1 6.744 15.156 22.680 1.00 0.00 H +HETATM 5324 C2 MOL B 1 6.108 13.171 23.292 1.00 0.00 C +HETATM 5325 H2 MOL B 1 7.046 12.738 22.953 1.00 0.00 H +HETATM 5326 C3 MOL B 1 5.054 12.380 23.778 1.00 0.00 C +HETATM 5327 H3 MOL B 1 5.155 11.300 23.838 1.00 0.00 H +HETATM 5328 C4 MOL B 1 3.820 12.983 23.981 1.00 0.00 C +HETATM 5329 H4 MOL B 1 2.986 12.357 24.288 1.00 0.00 H +HETATM 5330 C5 MOL B 1 3.651 14.306 23.802 1.00 0.00 C +HETATM 5331 H5 MOL B 1 2.686 14.758 24.021 1.00 0.00 H +HETATM 5332 C6 MOL B 1 4.705 15.109 23.410 1.00 0.00 C +HETATM 5333 C7 MOL B 1 4.386 16.619 23.229 1.00 0.00 C +HETATM 5334 H6 MOL B 1 3.863 16.853 24.161 1.00 0.00 H +HETATM 5335 H7 MOL B 1 3.750 16.744 22.349 1.00 0.00 H +HETATM 5336 O1 MOL B 1 5.483 17.603 23.126 1.00 0.00 O +HETATM 5337 H8 MOL B 1 6.090 17.351 23.845 1.00 0.00 H +TER 5338 MOL B 1 +HETATM 5339 C1 MOL C 1 24.044 12.062 12.275 1.00 0.00 C +HETATM 5340 H1 MOL C 1 24.197 12.866 12.989 1.00 0.00 H +HETATM 5341 C2 MOL C 1 25.150 11.297 11.904 1.00 0.00 C +HETATM 5342 H2 MOL C 1 26.092 11.520 12.397 1.00 0.00 H +HETATM 5343 C3 MOL C 1 25.034 10.174 11.062 1.00 0.00 C +HETATM 5344 H3 MOL C 1 25.957 9.642 10.847 1.00 0.00 H +HETATM 5345 C4 MOL C 1 23.741 9.839 10.640 1.00 0.00 C +HETATM 5346 H4 MOL C 1 23.601 9.040 9.917 1.00 0.00 H +HETATM 5347 C5 MOL C 1 22.641 10.552 11.044 1.00 0.00 C +HETATM 5348 H5 MOL C 1 21.617 10.298 10.784 1.00 0.00 H +HETATM 5349 C6 MOL C 1 22.817 11.666 11.851 1.00 0.00 C +HETATM 5350 C7 MOL C 1 21.641 12.571 12.299 1.00 0.00 C +HETATM 5351 H6 MOL C 1 21.364 13.303 11.535 1.00 0.00 H +HETATM 5352 H7 MOL C 1 21.937 13.046 13.238 1.00 0.00 H +HETATM 5353 O1 MOL C 1 20.399 11.874 12.582 1.00 0.00 O +HETATM 5354 H8 MOL C 1 20.514 11.263 13.331 1.00 0.00 H +TER 5355 MOL C 1 +HETATM 5356 C1 MOL D 1 5.971 7.942 24.646 1.00 0.00 C +HETATM 5357 H1 MOL D 1 5.987 7.106 23.951 1.00 0.00 H +HETATM 5358 C2 MOL D 1 4.673 8.454 24.917 1.00 0.00 C +HETATM 5359 H2 MOL D 1 3.785 7.987 24.497 1.00 0.00 H +HETATM 5360 C3 MOL D 1 4.564 9.548 25.779 1.00 0.00 C +HETATM 5361 H3 MOL D 1 3.583 9.991 25.933 1.00 0.00 H +HETATM 5362 C4 MOL D 1 5.685 10.236 26.239 1.00 0.00 C +HETATM 5363 H4 MOL D 1 5.555 11.184 26.756 1.00 0.00 H +HETATM 5364 C5 MOL D 1 6.997 9.707 25.902 1.00 0.00 C +HETATM 5365 H5 MOL D 1 7.953 10.165 26.140 1.00 0.00 H +HETATM 5366 C6 MOL D 1 7.144 8.619 25.062 1.00 0.00 C +HETATM 5367 C7 MOL D 1 8.518 7.950 24.914 1.00 0.00 C +HETATM 5368 H6 MOL D 1 8.603 7.235 25.736 1.00 0.00 H +HETATM 5369 H7 MOL D 1 9.266 8.704 25.173 1.00 0.00 H +HETATM 5370 O1 MOL D 1 8.815 7.507 23.553 1.00 0.00 O +HETATM 5371 H8 MOL D 1 9.418 8.166 23.166 1.00 0.00 H +TER 5372 MOL D 1 +HETATM 5373 C1 MOL E 1 27.941 15.188 8.447 1.00 0.00 C +HETATM 5374 H1 MOL E 1 27.436 14.390 7.909 1.00 0.00 H +HETATM 5375 C2 MOL E 1 28.231 16.383 7.859 1.00 0.00 C +HETATM 5376 H2 MOL E 1 27.996 16.384 6.797 1.00 0.00 H +HETATM 5377 C3 MOL E 1 28.834 17.389 8.606 1.00 0.00 C +HETATM 5378 H3 MOL E 1 29.278 18.263 8.136 1.00 0.00 H +HETATM 5379 C4 MOL E 1 29.063 17.188 9.957 1.00 0.00 C +HETATM 5380 H4 MOL E 1 29.587 17.937 10.545 1.00 0.00 H +HETATM 5381 C5 MOL E 1 28.613 16.031 10.651 1.00 0.00 C +HETATM 5382 H5 MOL E 1 28.707 16.040 11.734 1.00 0.00 H +HETATM 5383 C6 MOL E 1 28.072 14.995 9.896 1.00 0.00 C +HETATM 5384 C7 MOL E 1 27.554 13.674 10.464 1.00 0.00 C +HETATM 5385 H6 MOL E 1 26.837 13.189 9.796 1.00 0.00 H +HETATM 5386 H7 MOL E 1 27.139 13.985 11.426 1.00 0.00 H +HETATM 5387 O1 MOL E 1 28.642 12.721 10.644 1.00 0.00 O +HETATM 5388 H8 MOL E 1 29.449 13.136 10.998 1.00 0.00 H +TER 5389 MOL E 1 +HETATM 5390 C1 MOL F 1 20.564 2.151 25.429 1.00 0.00 C +HETATM 5391 H1 MOL F 1 20.851 2.847 24.645 1.00 0.00 H +HETATM 5392 C2 MOL F 1 21.484 1.265 25.988 1.00 0.00 C +HETATM 5393 H2 MOL F 1 22.508 1.158 25.641 1.00 0.00 H +HETATM 5394 C3 MOL F 1 21.071 0.490 27.087 1.00 0.00 C +HETATM 5395 H3 MOL F 1 21.740 -0.092 27.716 1.00 0.00 H +HETATM 5396 C4 MOL F 1 19.704 0.402 27.454 1.00 0.00 C +HETATM 5397 H4 MOL F 1 19.297 -0.272 28.203 1.00 0.00 H +HETATM 5398 C5 MOL F 1 18.804 1.273 26.845 1.00 0.00 C +HETATM 5399 H5 MOL F 1 17.739 1.169 27.035 1.00 0.00 H +HETATM 5400 C6 MOL F 1 19.254 2.115 25.804 1.00 0.00 C +HETATM 5401 C7 MOL F 1 18.334 3.170 25.260 1.00 0.00 C +HETATM 5402 H6 MOL F 1 18.799 4.139 25.459 1.00 0.00 H +HETATM 5403 H7 MOL F 1 17.346 3.123 25.725 1.00 0.00 H +HETATM 5404 O1 MOL F 1 18.094 2.857 23.877 1.00 0.00 O +HETATM 5405 H8 MOL F 1 17.182 2.527 23.968 1.00 0.00 H +TER 5406 MOL F 1 +HETATM 5407 C1 MOL G 1 42.623 8.645 3.866 1.00 0.00 C +HETATM 5408 H1 MOL G 1 41.829 7.910 3.768 1.00 0.00 H +HETATM 5409 C2 MOL G 1 42.534 9.641 4.783 1.00 0.00 C +HETATM 5410 H2 MOL G 1 41.650 9.780 5.400 1.00 0.00 H +HETATM 5411 C3 MOL G 1 43.584 10.485 5.020 1.00 0.00 C +HETATM 5412 H3 MOL G 1 43.466 11.327 5.697 1.00 0.00 H +HETATM 5413 C4 MOL G 1 44.780 10.324 4.351 1.00 0.00 C +HETATM 5414 H4 MOL G 1 45.565 11.038 4.589 1.00 0.00 H +HETATM 5415 C5 MOL G 1 44.930 9.374 3.369 1.00 0.00 C +HETATM 5416 H5 MOL G 1 45.864 9.236 2.830 1.00 0.00 H +HETATM 5417 C6 MOL G 1 43.898 8.458 3.199 1.00 0.00 C +HETATM 5418 C7 MOL G 1 44.193 7.250 2.347 1.00 0.00 C +HETATM 5419 H6 MOL G 1 44.611 7.465 1.361 1.00 0.00 H +HETATM 5420 H7 MOL G 1 43.325 6.590 2.274 1.00 0.00 H +HETATM 5421 O1 MOL G 1 45.072 6.463 3.028 1.00 0.00 O +HETATM 5422 H8 MOL G 1 44.768 6.605 3.942 1.00 0.00 H +TER 5423 MOL G 1 +HETATM 5424 C1 MOL H 1 24.717 11.550 31.823 1.00 0.00 C +HETATM 5425 H1 MOL H 1 24.865 11.387 32.887 1.00 0.00 H +HETATM 5426 C2 MOL H 1 25.587 10.765 31.003 1.00 0.00 C +HETATM 5427 H2 MOL H 1 26.217 10.074 31.557 1.00 0.00 H +HETATM 5428 C3 MOL H 1 25.588 10.819 29.624 1.00 0.00 C +HETATM 5429 H3 MOL H 1 26.090 10.095 28.987 1.00 0.00 H +HETATM 5430 C4 MOL H 1 24.625 11.662 29.061 1.00 0.00 C +HETATM 5431 H4 MOL H 1 24.655 11.591 27.976 1.00 0.00 H +HETATM 5432 C5 MOL H 1 23.870 12.559 29.768 1.00 0.00 C +HETATM 5433 H5 MOL H 1 23.236 13.213 29.175 1.00 0.00 H +HETATM 5434 C6 MOL H 1 23.873 12.464 31.160 1.00 0.00 C +HETATM 5435 C7 MOL H 1 22.882 13.262 32.046 1.00 0.00 C +HETATM 5436 H6 MOL H 1 23.216 14.293 32.182 1.00 0.00 H +HETATM 5437 H7 MOL H 1 22.775 12.752 33.007 1.00 0.00 H +HETATM 5438 O1 MOL H 1 21.553 13.379 31.501 1.00 0.00 O +HETATM 5439 H8 MOL H 1 21.026 13.787 32.211 1.00 0.00 H +TER 5440 MOL H 1 +HETATM 5441 C1 MOL I 1 37.701 29.810 32.731 1.00 0.00 C +HETATM 5442 H1 MOL I 1 37.186 29.640 31.789 1.00 0.00 H +HETATM 5443 C2 MOL I 1 37.623 30.960 33.474 1.00 0.00 C +HETATM 5444 H2 MOL I 1 36.856 31.690 33.229 1.00 0.00 H +HETATM 5445 C3 MOL I 1 38.472 31.213 34.543 1.00 0.00 C +HETATM 5446 H3 MOL I 1 38.313 32.097 35.154 1.00 0.00 H +HETATM 5447 C4 MOL I 1 39.385 30.214 34.874 1.00 0.00 C +HETATM 5448 H4 MOL I 1 40.066 30.342 35.712 1.00 0.00 H +HETATM 5449 C5 MOL I 1 39.508 28.965 34.199 1.00 0.00 C +HETATM 5450 H5 MOL I 1 40.115 28.106 34.474 1.00 0.00 H +HETATM 5451 C6 MOL I 1 38.587 28.778 33.130 1.00 0.00 C +HETATM 5452 C7 MOL I 1 38.736 27.533 32.266 1.00 0.00 C +HETATM 5453 H6 MOL I 1 39.004 26.728 32.956 1.00 0.00 H +HETATM 5454 H7 MOL I 1 39.624 27.570 31.629 1.00 0.00 H +HETATM 5455 O1 MOL I 1 37.631 27.141 31.412 1.00 0.00 O +HETATM 5456 H8 MOL I 1 36.812 27.054 31.932 1.00 0.00 H +TER 5457 MOL I 1 +HETATM 5458 C1 MOL J 1 14.410 7.854 19.748 1.00 0.00 C +HETATM 5459 H1 MOL J 1 15.495 7.894 19.698 1.00 0.00 H +HETATM 5460 C2 MOL J 1 13.893 9.117 19.720 1.00 0.00 C +HETATM 5461 H2 MOL J 1 14.484 9.989 19.451 1.00 0.00 H +HETATM 5462 C3 MOL J 1 12.498 9.332 19.914 1.00 0.00 C +HETATM 5463 H3 MOL J 1 12.035 10.313 19.849 1.00 0.00 H +HETATM 5464 C4 MOL J 1 11.714 8.204 20.213 1.00 0.00 C +HETATM 5465 H4 MOL J 1 10.635 8.313 20.146 1.00 0.00 H +HETATM 5466 C5 MOL J 1 12.289 6.964 20.334 1.00 0.00 C +HETATM 5467 H5 MOL J 1 11.654 6.094 20.476 1.00 0.00 H +HETATM 5468 C6 MOL J 1 13.656 6.738 20.129 1.00 0.00 C +HETATM 5469 C7 MOL J 1 14.255 5.339 20.328 1.00 0.00 C +HETATM 5470 H6 MOL J 1 13.550 4.552 20.048 1.00 0.00 H +HETATM 5471 H7 MOL J 1 14.393 5.133 21.392 1.00 0.00 H +HETATM 5472 O1 MOL J 1 15.500 5.233 19.654 1.00 0.00 O +HETATM 5473 H8 MOL J 1 15.283 5.617 18.785 1.00 0.00 H +TER 5474 MOL J 1 +HETATM 5475 C1 MOL K 1 44.301 13.484 1.462 1.00 0.00 C +HETATM 5476 H1 MOL K 1 43.572 12.678 1.478 1.00 0.00 H +HETATM 5477 C2 MOL K 1 45.338 13.533 0.453 1.00 0.00 C +HETATM 5478 H2 MOL K 1 45.477 12.759 -0.298 1.00 0.00 H +HETATM 5479 C3 MOL K 1 46.204 14.683 0.412 1.00 0.00 C +HETATM 5480 H3 MOL K 1 47.057 14.815 -0.250 1.00 0.00 H +HETATM 5481 C4 MOL K 1 45.976 15.670 1.367 1.00 0.00 C +HETATM 5482 H4 MOL K 1 46.522 16.605 1.263 1.00 0.00 H +HETATM 5483 C5 MOL K 1 44.939 15.631 2.266 1.00 0.00 C +HETATM 5484 H5 MOL K 1 44.756 16.480 2.920 1.00 0.00 H +HETATM 5485 C6 MOL K 1 44.067 14.570 2.292 1.00 0.00 C +HETATM 5486 C7 MOL K 1 42.849 14.620 3.220 1.00 0.00 C +HETATM 5487 H6 MOL K 1 43.337 14.844 4.172 1.00 0.00 H +HETATM 5488 H7 MOL K 1 42.417 13.628 3.371 1.00 0.00 H +HETATM 5489 O1 MOL K 1 41.847 15.501 2.872 1.00 0.00 O +HETATM 5490 H8 MOL K 1 41.663 15.235 1.953 1.00 0.00 H +TER 5491 MOL K 1 +HETATM 5492 C1 MOL L 1 43.197 21.599 17.064 1.00 0.00 C +HETATM 5493 H1 MOL L 1 42.677 20.751 16.626 1.00 0.00 H +HETATM 5494 C2 MOL L 1 44.590 21.609 17.023 1.00 0.00 C +HETATM 5495 H2 MOL L 1 45.137 20.831 16.495 1.00 0.00 H +HETATM 5496 C3 MOL L 1 45.359 22.548 17.774 1.00 0.00 C +HETATM 5497 H3 MOL L 1 46.429 22.379 17.857 1.00 0.00 H +HETATM 5498 C4 MOL L 1 44.702 23.565 18.387 1.00 0.00 C +HETATM 5499 H4 MOL L 1 45.253 24.337 18.918 1.00 0.00 H +HETATM 5500 C5 MOL L 1 43.293 23.650 18.382 1.00 0.00 C +HETATM 5501 H5 MOL L 1 42.761 24.435 18.914 1.00 0.00 H +HETATM 5502 C6 MOL L 1 42.544 22.663 17.721 1.00 0.00 C +HETATM 5503 C7 MOL L 1 41.092 22.837 17.723 1.00 0.00 C +HETATM 5504 H6 MOL L 1 41.022 23.755 17.135 1.00 0.00 H +HETATM 5505 H7 MOL L 1 40.739 23.046 18.735 1.00 0.00 H +HETATM 5506 O1 MOL L 1 40.373 21.756 17.134 1.00 0.00 O +HETATM 5507 H8 MOL L 1 40.540 21.088 17.823 1.00 0.00 H +TER 5508 MOL L 1 +HETATM 5509 C1 MOL M 1 29.677 29.845 31.663 1.00 0.00 C +HETATM 5510 H1 MOL M 1 30.174 29.249 32.424 1.00 0.00 H +HETATM 5511 C2 MOL M 1 29.312 29.461 30.370 1.00 0.00 C +HETATM 5512 H2 MOL M 1 29.673 28.510 29.988 1.00 0.00 H +HETATM 5513 C3 MOL M 1 28.767 30.407 29.455 1.00 0.00 C +HETATM 5514 H3 MOL M 1 28.553 30.122 28.428 1.00 0.00 H +HETATM 5515 C4 MOL M 1 28.590 31.716 29.895 1.00 0.00 C +HETATM 5516 H4 MOL M 1 28.193 32.478 29.230 1.00 0.00 H +HETATM 5517 C5 MOL M 1 29.017 32.172 31.183 1.00 0.00 C +HETATM 5518 H5 MOL M 1 28.854 33.209 31.464 1.00 0.00 H +HETATM 5519 C6 MOL M 1 29.582 31.201 32.067 1.00 0.00 C +HETATM 5520 C7 MOL M 1 30.050 31.532 33.456 1.00 0.00 C +HETATM 5521 H6 MOL M 1 29.898 30.683 34.126 1.00 0.00 H +HETATM 5522 H7 MOL M 1 29.431 32.274 33.968 1.00 0.00 H +HETATM 5523 O1 MOL M 1 31.442 32.020 33.569 1.00 0.00 O +HETATM 5524 H8 MOL M 1 31.757 32.408 32.733 1.00 0.00 H +TER 5525 MOL M 1 +HETATM 5526 C1 MOL N 1 10.705 11.139 11.535 1.00 0.00 C +HETATM 5527 H1 MOL N 1 10.305 11.836 10.803 1.00 0.00 H +HETATM 5528 C2 MOL N 1 11.319 11.578 12.723 1.00 0.00 C +HETATM 5529 H2 MOL N 1 11.592 12.627 12.807 1.00 0.00 H +HETATM 5530 C3 MOL N 1 11.724 10.689 13.702 1.00 0.00 C +HETATM 5531 H3 MOL N 1 12.180 11.126 14.587 1.00 0.00 H +HETATM 5532 C4 MOL N 1 11.462 9.358 13.575 1.00 0.00 C +HETATM 5533 H4 MOL N 1 11.672 8.627 14.352 1.00 0.00 H +HETATM 5534 C5 MOL N 1 10.826 8.942 12.420 1.00 0.00 C +HETATM 5535 H5 MOL N 1 10.479 7.920 12.288 1.00 0.00 H +HETATM 5536 C6 MOL N 1 10.527 9.789 11.374 1.00 0.00 C +HETATM 5537 C7 MOL N 1 9.930 9.266 10.028 1.00 0.00 C +HETATM 5538 H6 MOL N 1 9.492 10.090 9.459 1.00 0.00 H +HETATM 5539 H7 MOL N 1 9.093 8.638 10.343 1.00 0.00 H +HETATM 5540 O1 MOL N 1 10.843 8.509 9.259 1.00 0.00 O +HETATM 5541 H8 MOL N 1 11.278 9.061 8.585 1.00 0.00 H +TER 5542 MOL N 1 +HETATM 5543 C1 MOL O 1 3.505 29.939 14.199 1.00 0.00 C +HETATM 5544 H1 MOL O 1 3.025 30.511 13.409 1.00 0.00 H +HETATM 5545 C2 MOL O 1 4.447 30.685 14.960 1.00 0.00 C +HETATM 5546 H2 MOL O 1 4.611 31.743 14.773 1.00 0.00 H +HETATM 5547 C3 MOL O 1 5.207 30.047 15.917 1.00 0.00 C +HETATM 5548 H3 MOL O 1 5.990 30.622 16.404 1.00 0.00 H +HETATM 5549 C4 MOL O 1 5.125 28.671 16.151 1.00 0.00 C +HETATM 5550 H4 MOL O 1 5.664 28.158 16.943 1.00 0.00 H +HETATM 5551 C5 MOL O 1 4.198 27.921 15.360 1.00 0.00 C +HETATM 5552 H5 MOL O 1 4.186 26.837 15.444 1.00 0.00 H +HETATM 5553 C6 MOL O 1 3.388 28.605 14.386 1.00 0.00 C +HETATM 5554 C7 MOL O 1 2.385 27.753 13.669 1.00 0.00 C +HETATM 5555 H6 MOL O 1 1.476 28.338 13.505 1.00 0.00 H +HETATM 5556 H7 MOL O 1 2.092 26.962 14.364 1.00 0.00 H +HETATM 5557 O1 MOL O 1 2.880 27.124 12.494 1.00 0.00 O +HETATM 5558 H8 MOL O 1 3.040 27.915 11.948 1.00 0.00 H +TER 5559 MOL O 1 +HETATM 5560 C1 MOL P 1 10.919 33.810 38.949 1.00 0.00 C +HETATM 5561 H1 MOL P 1 9.942 33.662 39.403 1.00 0.00 H +HETATM 5562 C2 MOL P 1 11.431 35.070 38.553 1.00 0.00 C +HETATM 5563 H2 MOL P 1 10.803 35.908 38.844 1.00 0.00 H +HETATM 5564 C3 MOL P 1 12.729 35.180 38.039 1.00 0.00 C +HETATM 5565 H3 MOL P 1 13.061 36.190 37.815 1.00 0.00 H +HETATM 5566 C4 MOL P 1 13.544 34.084 37.844 1.00 0.00 C +HETATM 5567 H4 MOL P 1 14.599 34.133 37.587 1.00 0.00 H +HETATM 5568 C5 MOL P 1 13.012 32.861 38.206 1.00 0.00 C +HETATM 5569 H5 MOL P 1 13.638 32.000 37.982 1.00 0.00 H +HETATM 5570 C6 MOL P 1 11.725 32.692 38.743 1.00 0.00 C +HETATM 5571 C7 MOL P 1 11.310 31.267 39.186 1.00 0.00 C +HETATM 5572 H6 MOL P 1 11.339 31.211 40.277 1.00 0.00 H +HETATM 5573 H7 MOL P 1 11.961 30.438 38.898 1.00 0.00 H +HETATM 5574 O1 MOL P 1 9.980 30.939 38.816 1.00 0.00 O +HETATM 5575 H8 MOL P 1 10.016 30.456 37.972 1.00 0.00 H +TER 5576 MOL P 1 +HETATM 5577 C1 MOL Q 1 7.272 9.709 21.427 1.00 0.00 C +HETATM 5578 H1 MOL Q 1 7.213 10.014 22.469 1.00 0.00 H +HETATM 5579 C2 MOL Q 1 6.216 9.094 20.786 1.00 0.00 C +HETATM 5580 H2 MOL Q 1 5.282 8.900 21.307 1.00 0.00 H +HETATM 5581 C3 MOL Q 1 6.311 8.774 19.431 1.00 0.00 C +HETATM 5582 H3 MOL Q 1 5.455 8.336 18.924 1.00 0.00 H +HETATM 5583 C4 MOL Q 1 7.451 9.135 18.719 1.00 0.00 C +HETATM 5584 H4 MOL Q 1 7.522 8.988 17.644 1.00 0.00 H +HETATM 5585 C5 MOL Q 1 8.515 9.685 19.383 1.00 0.00 C +HETATM 5586 H5 MOL Q 1 9.408 10.041 18.876 1.00 0.00 H +HETATM 5587 C6 MOL Q 1 8.380 10.054 20.717 1.00 0.00 C +HETATM 5588 C7 MOL Q 1 9.450 10.900 21.239 1.00 0.00 C +HETATM 5589 H6 MOL Q 1 8.973 11.662 21.861 1.00 0.00 H +HETATM 5590 H7 MOL Q 1 10.051 11.379 20.461 1.00 0.00 H +HETATM 5591 O1 MOL Q 1 10.211 10.119 22.186 1.00 0.00 O +HETATM 5592 H8 MOL Q 1 10.726 10.828 22.610 1.00 0.00 H +TER 5593 MOL Q 1 +HETATM 5594 C1 MOL R 1 28.163 15.317 3.826 1.00 0.00 C +HETATM 5595 H1 MOL R 1 29.220 15.560 3.754 1.00 0.00 H +HETATM 5596 C2 MOL R 1 27.764 14.651 4.971 1.00 0.00 C +HETATM 5597 H2 MOL R 1 28.517 14.415 5.719 1.00 0.00 H +HETATM 5598 C3 MOL R 1 26.413 14.384 5.195 1.00 0.00 C +HETATM 5599 H3 MOL R 1 26.071 13.850 6.077 1.00 0.00 H +HETATM 5600 C4 MOL R 1 25.488 14.794 4.230 1.00 0.00 C +HETATM 5601 H4 MOL R 1 24.444 14.573 4.435 1.00 0.00 H +HETATM 5602 C5 MOL R 1 25.918 15.459 3.083 1.00 0.00 C +HETATM 5603 H5 MOL R 1 25.154 15.621 2.327 1.00 0.00 H +HETATM 5604 C6 MOL R 1 27.272 15.766 2.865 1.00 0.00 C +HETATM 5605 C7 MOL R 1 27.680 16.454 1.546 1.00 0.00 C +HETATM 5606 H6 MOL R 1 27.241 17.447 1.412 1.00 0.00 H +HETATM 5607 H7 MOL R 1 27.324 15.989 0.623 1.00 0.00 H +HETATM 5608 O1 MOL R 1 29.086 16.614 1.320 1.00 0.00 O +HETATM 5609 H8 MOL R 1 29.526 15.807 0.999 1.00 0.00 H +TER 5610 MOL R 1 +HETATM 5611 C1 MOL S 1 38.050 35.705 0.890 1.00 0.00 C +HETATM 5612 H1 MOL S 1 37.368 36.503 1.170 1.00 0.00 H +HETATM 5613 C2 MOL S 1 37.585 34.429 0.603 1.00 0.00 C +HETATM 5614 H2 MOL S 1 36.525 34.189 0.582 1.00 0.00 H +HETATM 5615 C3 MOL S 1 38.520 33.368 0.349 1.00 0.00 C +HETATM 5616 H3 MOL S 1 38.144 32.353 0.258 1.00 0.00 H +HETATM 5617 C4 MOL S 1 39.902 33.611 0.405 1.00 0.00 C +HETATM 5618 H4 MOL S 1 40.648 32.834 0.260 1.00 0.00 H +HETATM 5619 C5 MOL S 1 40.362 34.909 0.647 1.00 0.00 C +HETATM 5620 H5 MOL S 1 41.418 35.061 0.855 1.00 0.00 H +HETATM 5621 C6 MOL S 1 39.414 35.963 0.911 1.00 0.00 C +HETATM 5622 C7 MOL S 1 39.852 37.325 1.320 1.00 0.00 C +HETATM 5623 H6 MOL S 1 40.006 37.817 0.356 1.00 0.00 H +HETATM 5624 H7 MOL S 1 40.911 37.307 1.590 1.00 0.00 H +HETATM 5625 O1 MOL S 1 39.096 38.013 2.298 1.00 0.00 O +HETATM 5626 H8 MOL S 1 38.529 37.418 2.821 1.00 0.00 H +TER 5627 MOL S 1 +HETATM 5628 C1 MOL T 1 14.720 1.906 27.077 1.00 0.00 C +HETATM 5629 H1 MOL T 1 14.842 0.944 26.586 1.00 0.00 H +HETATM 5630 C2 MOL T 1 14.811 2.023 28.462 1.00 0.00 C +HETATM 5631 H2 MOL T 1 14.942 1.115 29.046 1.00 0.00 H +HETATM 5632 C3 MOL T 1 14.658 3.334 28.941 1.00 0.00 C +HETATM 5633 H3 MOL T 1 14.618 3.457 30.020 1.00 0.00 H +HETATM 5634 C4 MOL T 1 14.396 4.404 28.023 1.00 0.00 C +HETATM 5635 H4 MOL T 1 14.345 5.392 28.474 1.00 0.00 H +HETATM 5636 C5 MOL T 1 14.287 4.196 26.691 1.00 0.00 C +HETATM 5637 H5 MOL T 1 13.969 5.063 26.118 1.00 0.00 H +HETATM 5638 C6 MOL T 1 14.547 2.946 26.185 1.00 0.00 C +HETATM 5639 C7 MOL T 1 14.410 2.759 24.702 1.00 0.00 C +HETATM 5640 H6 MOL T 1 14.670 3.714 24.237 1.00 0.00 H +HETATM 5641 H7 MOL T 1 13.416 2.382 24.446 1.00 0.00 H +HETATM 5642 O1 MOL T 1 15.374 1.818 24.135 1.00 0.00 O +HETATM 5643 H8 MOL T 1 15.254 0.965 24.589 1.00 0.00 H +TER 5644 MOL T 1 +HETATM 5645 C1 MOL U 1 24.097 3.416 29.243 1.00 0.00 C +HETATM 5646 H1 MOL U 1 23.212 3.631 29.837 1.00 0.00 H +HETATM 5647 C2 MOL U 1 24.206 2.308 28.403 1.00 0.00 C +HETATM 5648 H2 MOL U 1 23.411 1.567 28.420 1.00 0.00 H +HETATM 5649 C3 MOL U 1 25.181 2.330 27.362 1.00 0.00 C +HETATM 5650 H3 MOL U 1 25.367 1.539 26.640 1.00 0.00 H +HETATM 5651 C4 MOL U 1 26.134 3.387 27.348 1.00 0.00 C +HETATM 5652 H4 MOL U 1 26.988 3.298 26.682 1.00 0.00 H +HETATM 5653 C5 MOL U 1 26.035 4.413 28.318 1.00 0.00 C +HETATM 5654 H5 MOL U 1 26.805 5.180 28.290 1.00 0.00 H +HETATM 5655 C6 MOL U 1 24.989 4.443 29.229 1.00 0.00 C +HETATM 5656 C7 MOL U 1 24.780 5.641 30.128 1.00 0.00 C +HETATM 5657 H6 MOL U 1 23.726 5.928 30.071 1.00 0.00 H +HETATM 5658 H7 MOL U 1 25.402 6.476 29.796 1.00 0.00 H +HETATM 5659 O1 MOL U 1 25.028 5.369 31.477 1.00 0.00 O +HETATM 5660 H8 MOL U 1 24.473 4.581 31.620 1.00 0.00 H +TER 5661 MOL U 1 +HETATM 5662 C1 MOL V 1 30.384 25.988 8.714 1.00 0.00 C +HETATM 5663 H1 MOL V 1 30.483 24.956 9.041 1.00 0.00 H +HETATM 5664 C2 MOL V 1 29.203 26.579 8.239 1.00 0.00 C +HETATM 5665 H2 MOL V 1 28.366 25.890 8.146 1.00 0.00 H +HETATM 5666 C3 MOL V 1 29.265 27.834 7.771 1.00 0.00 C +HETATM 5667 H3 MOL V 1 28.574 28.448 7.199 1.00 0.00 H +HETATM 5668 C4 MOL V 1 30.333 28.641 7.986 1.00 0.00 C +HETATM 5669 H4 MOL V 1 30.312 29.656 7.596 1.00 0.00 H +HETATM 5670 C5 MOL V 1 31.482 28.084 8.561 1.00 0.00 C +HETATM 5671 H5 MOL V 1 32.366 28.694 8.727 1.00 0.00 H +HETATM 5672 C6 MOL V 1 31.552 26.750 8.860 1.00 0.00 C +HETATM 5673 C7 MOL V 1 32.764 26.078 9.471 1.00 0.00 C +HETATM 5674 H6 MOL V 1 32.447 25.312 10.183 1.00 0.00 H +HETATM 5675 H7 MOL V 1 33.466 26.754 9.966 1.00 0.00 H +HETATM 5676 O1 MOL V 1 33.554 25.303 8.511 1.00 0.00 O +HETATM 5677 H8 MOL V 1 33.747 25.991 7.849 1.00 0.00 H +TER 5678 MOL V 1 +HETATM 5679 C1 MOL W 1 32.500 38.731 15.583 1.00 0.00 C +HETATM 5680 H1 MOL W 1 32.388 39.333 16.481 1.00 0.00 H +HETATM 5681 C2 MOL W 1 32.941 39.345 14.401 1.00 0.00 C +HETATM 5682 H2 MOL W 1 33.191 40.402 14.449 1.00 0.00 H +HETATM 5683 C3 MOL W 1 33.238 38.606 13.288 1.00 0.00 C +HETATM 5684 H3 MOL W 1 33.474 39.015 12.309 1.00 0.00 H +HETATM 5685 C4 MOL W 1 32.998 37.210 13.361 1.00 0.00 C +HETATM 5686 H4 MOL W 1 33.226 36.582 12.504 1.00 0.00 H +HETATM 5687 C5 MOL W 1 32.676 36.592 14.567 1.00 0.00 C +HETATM 5688 H5 MOL W 1 32.541 35.514 14.530 1.00 0.00 H +HETATM 5689 C6 MOL W 1 32.377 37.356 15.693 1.00 0.00 C +HETATM 5690 C7 MOL W 1 31.966 36.616 16.893 1.00 0.00 C +HETATM 5691 H6 MOL W 1 31.896 37.364 17.687 1.00 0.00 H +HETATM 5692 H7 MOL W 1 32.642 35.815 17.204 1.00 0.00 H +HETATM 5693 O1 MOL W 1 30.681 36.011 16.763 1.00 0.00 O +HETATM 5694 H8 MOL W 1 30.892 35.061 16.807 1.00 0.00 H +TER 5695 MOL W 1 +HETATM 5696 C1 MOL X 1 23.070 -0.077 8.086 1.00 0.00 C +HETATM 5697 H1 MOL X 1 23.111 -0.817 8.881 1.00 0.00 H +HETATM 5698 C2 MOL X 1 22.664 -0.308 6.794 1.00 0.00 C +HETATM 5699 H2 MOL X 1 22.429 -1.336 6.531 1.00 0.00 H +HETATM 5700 C3 MOL X 1 22.586 0.705 5.829 1.00 0.00 C +HETATM 5701 H3 MOL X 1 22.239 0.427 4.837 1.00 0.00 H +HETATM 5702 C4 MOL X 1 23.050 1.946 6.185 1.00 0.00 C +HETATM 5703 H4 MOL X 1 22.974 2.752 5.460 1.00 0.00 H +HETATM 5704 C5 MOL X 1 23.445 2.171 7.474 1.00 0.00 C +HETATM 5705 H5 MOL X 1 23.829 3.157 7.723 1.00 0.00 H +HETATM 5706 C6 MOL X 1 23.467 1.183 8.450 1.00 0.00 C +HETATM 5707 C7 MOL X 1 24.009 1.466 9.826 1.00 0.00 C +HETATM 5708 H6 MOL X 1 24.520 2.423 9.958 1.00 0.00 H +HETATM 5709 H7 MOL X 1 24.760 0.704 10.047 1.00 0.00 H +HETATM 5710 O1 MOL X 1 22.896 1.408 10.766 1.00 0.00 O +HETATM 5711 H8 MOL X 1 22.214 0.851 10.350 1.00 0.00 H +TER 5712 MOL X 1 +HETATM 5713 C1 MOL Y 1 41.203 32.048 25.967 1.00 0.00 C +HETATM 5714 H1 MOL Y 1 41.652 32.378 25.033 1.00 0.00 H +HETATM 5715 C2 MOL Y 1 41.675 30.966 26.684 1.00 0.00 C +HETATM 5716 H2 MOL Y 1 42.601 30.543 26.305 1.00 0.00 H +HETATM 5717 C3 MOL Y 1 40.993 30.538 27.866 1.00 0.00 C +HETATM 5718 H3 MOL Y 1 41.318 29.684 28.455 1.00 0.00 H +HETATM 5719 C4 MOL Y 1 39.748 31.127 28.190 1.00 0.00 C +HETATM 5720 H4 MOL Y 1 39.092 30.645 28.909 1.00 0.00 H +HETATM 5721 C5 MOL Y 1 39.267 32.128 27.374 1.00 0.00 C +HETATM 5722 H5 MOL Y 1 38.230 32.440 27.466 1.00 0.00 H +HETATM 5723 C6 MOL Y 1 39.997 32.670 26.300 1.00 0.00 C +HETATM 5724 C7 MOL Y 1 39.463 33.814 25.456 1.00 0.00 C +HETATM 5725 H6 MOL Y 1 38.795 33.451 24.670 1.00 0.00 H +HETATM 5726 H7 MOL Y 1 40.271 34.335 24.937 1.00 0.00 H +HETATM 5727 O1 MOL Y 1 38.716 34.815 26.231 1.00 0.00 O +HETATM 5728 H8 MOL Y 1 39.299 35.289 26.851 1.00 0.00 H +TER 5729 MOL Y 1 +HETATM 5730 C1 MOL Z 1 29.851 10.660 1.357 1.00 0.00 C +HETATM 5731 H1 MOL Z 1 29.918 10.315 0.328 1.00 0.00 H +HETATM 5732 C2 MOL Z 1 30.013 9.681 2.352 1.00 0.00 C +HETATM 5733 H2 MOL Z 1 30.073 8.634 2.066 1.00 0.00 H +HETATM 5734 C3 MOL Z 1 29.833 10.015 3.667 1.00 0.00 C +HETATM 5735 H3 MOL Z 1 29.957 9.203 4.380 1.00 0.00 H +HETATM 5736 C4 MOL Z 1 29.631 11.337 4.030 1.00 0.00 C +HETATM 5737 H4 MOL Z 1 29.660 11.609 5.081 1.00 0.00 H +HETATM 5738 C5 MOL Z 1 29.553 12.359 3.090 1.00 0.00 C +HETATM 5739 H5 MOL Z 1 29.492 13.390 3.427 1.00 0.00 H +HETATM 5740 C6 MOL Z 1 29.772 11.992 1.751 1.00 0.00 C +HETATM 5741 C7 MOL Z 1 29.592 13.112 0.751 1.00 0.00 C +HETATM 5742 H6 MOL Z 1 29.976 12.764 -0.212 1.00 0.00 H +HETATM 5743 H7 MOL Z 1 30.212 13.975 1.009 1.00 0.00 H +HETATM 5744 O1 MOL Z 1 28.224 13.445 0.665 1.00 0.00 O +HETATM 5745 H8 MOL Z 1 27.688 12.634 0.599 1.00 0.00 H +TER 5746 MOL Z 1 +HETATM 5747 C1 MOL A 1 24.778 24.612 41.713 1.00 0.00 C +HETATM 5748 H1 MOL A 1 25.777 25.003 41.886 1.00 0.00 H +HETATM 5749 C2 MOL A 1 23.578 25.128 42.257 1.00 0.00 C +HETATM 5750 H2 MOL A 1 23.660 25.908 43.010 1.00 0.00 H +HETATM 5751 C3 MOL A 1 22.297 24.863 41.792 1.00 0.00 C +HETATM 5752 H3 MOL A 1 21.386 25.175 42.297 1.00 0.00 H +HETATM 5753 C4 MOL A 1 22.216 23.917 40.770 1.00 0.00 C +HETATM 5754 H4 MOL A 1 21.226 23.517 40.568 1.00 0.00 H +HETATM 5755 C5 MOL A 1 23.351 23.335 40.202 1.00 0.00 C +HETATM 5756 H5 MOL A 1 23.196 22.606 39.411 1.00 0.00 H +HETATM 5757 C6 MOL A 1 24.622 23.673 40.679 1.00 0.00 C +HETATM 5758 C7 MOL A 1 25.856 23.133 40.015 1.00 0.00 C +HETATM 5759 H6 MOL A 1 25.805 22.045 39.924 1.00 0.00 H +HETATM 5760 H7 MOL A 1 26.748 23.324 40.618 1.00 0.00 H +HETATM 5761 O1 MOL A 1 25.979 23.659 38.733 1.00 0.00 O +HETATM 5762 H8 MOL A 1 26.118 24.619 38.813 1.00 0.00 H +TER 5763 MOL A 1 +HETATM 5764 C1 MOL B 1 16.085 12.704 14.665 1.00 0.00 C +HETATM 5765 H1 MOL B 1 15.428 12.090 14.054 1.00 0.00 H +HETATM 5766 C2 MOL B 1 17.430 12.495 14.415 1.00 0.00 C +HETATM 5767 H2 MOL B 1 17.727 11.693 13.743 1.00 0.00 H +HETATM 5768 C3 MOL B 1 18.453 13.343 14.833 1.00 0.00 C +HETATM 5769 H3 MOL B 1 19.499 13.125 14.631 1.00 0.00 H +HETATM 5770 C4 MOL B 1 18.055 14.408 15.638 1.00 0.00 C +HETATM 5771 H4 MOL B 1 18.769 15.076 16.112 1.00 0.00 H +HETATM 5772 C5 MOL B 1 16.712 14.671 15.844 1.00 0.00 C +HETATM 5773 H5 MOL B 1 16.443 15.551 16.422 1.00 0.00 H +HETATM 5774 C6 MOL B 1 15.706 13.831 15.373 1.00 0.00 C +HETATM 5775 C7 MOL B 1 14.277 14.202 15.445 1.00 0.00 C +HETATM 5776 H6 MOL B 1 13.597 13.595 14.842 1.00 0.00 H +HETATM 5777 H7 MOL B 1 14.169 15.215 15.050 1.00 0.00 H +HETATM 5778 O1 MOL B 1 13.701 14.103 16.726 1.00 0.00 O +HETATM 5779 H8 MOL B 1 12.770 14.326 16.548 1.00 0.00 H +TER 5780 MOL B 1 +HETATM 5781 C1 MOL C 1 5.766 28.498 29.497 1.00 0.00 C +HETATM 5782 H1 MOL C 1 4.788 28.748 29.093 1.00 0.00 H +HETATM 5783 C2 MOL C 1 6.231 27.175 29.331 1.00 0.00 C +HETATM 5784 H2 MOL C 1 5.517 26.462 28.926 1.00 0.00 H +HETATM 5785 C3 MOL C 1 7.539 26.906 29.554 1.00 0.00 C +HETATM 5786 H3 MOL C 1 7.906 25.883 29.547 1.00 0.00 H +HETATM 5787 C4 MOL C 1 8.386 27.923 30.058 1.00 0.00 C +HETATM 5788 H4 MOL C 1 9.346 27.507 30.352 1.00 0.00 H +HETATM 5789 C5 MOL C 1 8.004 29.198 30.192 1.00 0.00 C +HETATM 5790 H5 MOL C 1 8.686 29.972 30.536 1.00 0.00 H +HETATM 5791 C6 MOL C 1 6.670 29.520 29.962 1.00 0.00 C +HETATM 5792 C7 MOL C 1 6.270 31.059 29.869 1.00 0.00 C +HETATM 5793 H6 MOL C 1 5.515 31.099 29.079 1.00 0.00 H +HETATM 5794 H7 MOL C 1 7.158 31.660 29.657 1.00 0.00 H +HETATM 5795 O1 MOL C 1 5.672 31.507 31.027 1.00 0.00 O +HETATM 5796 H8 MOL C 1 4.732 31.266 31.114 1.00 0.00 H +TER 5797 MOL C 1 +HETATM 5798 C1 MOL D 1 19.275 28.896 12.992 1.00 0.00 C +HETATM 5799 H1 MOL D 1 19.330 29.187 11.946 1.00 0.00 H +HETATM 5800 C2 MOL D 1 19.327 27.492 13.103 1.00 0.00 C +HETATM 5801 H2 MOL D 1 19.401 26.918 12.183 1.00 0.00 H +HETATM 5802 C3 MOL D 1 19.073 26.958 14.399 1.00 0.00 C +HETATM 5803 H3 MOL D 1 19.034 25.879 14.531 1.00 0.00 H +HETATM 5804 C4 MOL D 1 18.933 27.831 15.500 1.00 0.00 C +HETATM 5805 H4 MOL D 1 18.871 27.300 16.447 1.00 0.00 H +HETATM 5806 C5 MOL D 1 19.099 29.213 15.377 1.00 0.00 C +HETATM 5807 H5 MOL D 1 19.088 29.849 16.259 1.00 0.00 H +HETATM 5808 C6 MOL D 1 19.135 29.777 14.097 1.00 0.00 C +HETATM 5809 C7 MOL D 1 19.177 31.246 13.892 1.00 0.00 C +HETATM 5810 H6 MOL D 1 18.285 31.689 14.342 1.00 0.00 H +HETATM 5811 H7 MOL D 1 19.178 31.509 12.831 1.00 0.00 H +HETATM 5812 O1 MOL D 1 20.307 31.856 14.554 1.00 0.00 O +HETATM 5813 H8 MOL D 1 21.104 31.413 14.212 1.00 0.00 H +TER 5814 MOL D 1 +HETATM 5815 C1 MOL E 1 18.672 17.673 21.054 1.00 0.00 C +HETATM 5816 H1 MOL E 1 18.594 18.233 20.127 1.00 0.00 H +HETATM 5817 C2 MOL E 1 18.141 16.424 21.069 1.00 0.00 C +HETATM 5818 H2 MOL E 1 17.528 16.105 20.230 1.00 0.00 H +HETATM 5819 C3 MOL E 1 18.215 15.639 22.250 1.00 0.00 C +HETATM 5820 H3 MOL E 1 17.672 14.700 22.318 1.00 0.00 H +HETATM 5821 C4 MOL E 1 19.057 15.992 23.306 1.00 0.00 C +HETATM 5822 H4 MOL E 1 19.191 15.247 24.085 1.00 0.00 H +HETATM 5823 C5 MOL E 1 19.762 17.169 23.117 1.00 0.00 C +HETATM 5824 H5 MOL E 1 20.529 17.372 23.860 1.00 0.00 H +HETATM 5825 C6 MOL E 1 19.529 18.072 22.074 1.00 0.00 C +HETATM 5826 C7 MOL E 1 20.333 19.287 21.955 1.00 0.00 C +HETATM 5827 H6 MOL E 1 20.348 19.736 20.959 1.00 0.00 H +HETATM 5828 H7 MOL E 1 21.372 19.060 22.211 1.00 0.00 H +HETATM 5829 O1 MOL E 1 19.912 20.230 22.896 1.00 0.00 O +HETATM 5830 H8 MOL E 1 20.570 20.945 22.970 1.00 0.00 H +TER 5831 MOL E 1 +HETATM 5832 C1 MOL F 1 4.423 14.085 8.628 1.00 0.00 C +HETATM 5833 H1 MOL F 1 4.644 13.137 8.145 1.00 0.00 H +HETATM 5834 C2 MOL F 1 5.219 14.607 9.710 1.00 0.00 C +HETATM 5835 H2 MOL F 1 5.973 14.028 10.236 1.00 0.00 H +HETATM 5836 C3 MOL F 1 4.875 15.797 10.333 1.00 0.00 C +HETATM 5837 H3 MOL F 1 5.496 16.226 11.115 1.00 0.00 H +HETATM 5838 C4 MOL F 1 3.907 16.585 9.746 1.00 0.00 C +HETATM 5839 H4 MOL F 1 3.691 17.531 10.236 1.00 0.00 H +HETATM 5840 C5 MOL F 1 3.231 16.168 8.648 1.00 0.00 C +HETATM 5841 H5 MOL F 1 2.518 16.819 8.148 1.00 0.00 H +HETATM 5842 C6 MOL F 1 3.451 14.933 8.044 1.00 0.00 C +HETATM 5843 C7 MOL F 1 2.754 14.506 6.741 1.00 0.00 C +HETATM 5844 H6 MOL F 1 1.704 14.774 6.883 1.00 0.00 H +HETATM 5845 H7 MOL F 1 2.777 13.418 6.637 1.00 0.00 H +HETATM 5846 O1 MOL F 1 3.249 15.223 5.580 1.00 0.00 O +HETATM 5847 H8 MOL F 1 2.827 14.774 4.825 1.00 0.00 H +TER 5848 MOL F 1 +HETATM 5849 C1 MOL G 1 38.160 26.045 24.677 1.00 0.00 C +HETATM 5850 H1 MOL G 1 38.266 26.337 25.719 1.00 0.00 H +HETATM 5851 C2 MOL G 1 38.030 26.901 23.583 1.00 0.00 C +HETATM 5852 H2 MOL G 1 38.310 27.932 23.786 1.00 0.00 H +HETATM 5853 C3 MOL G 1 37.693 26.453 22.334 1.00 0.00 C +HETATM 5854 H3 MOL G 1 37.602 27.230 21.579 1.00 0.00 H +HETATM 5855 C4 MOL G 1 37.648 25.145 22.082 1.00 0.00 C +HETATM 5856 H4 MOL G 1 37.620 24.722 21.081 1.00 0.00 H +HETATM 5857 C5 MOL G 1 37.758 24.223 23.175 1.00 0.00 C +HETATM 5858 H5 MOL G 1 37.591 23.161 23.012 1.00 0.00 H +HETATM 5859 C6 MOL G 1 37.953 24.681 24.460 1.00 0.00 C +HETATM 5860 C7 MOL G 1 37.973 23.750 25.643 1.00 0.00 C +HETATM 5861 H6 MOL G 1 37.432 22.864 25.299 1.00 0.00 H +HETATM 5862 H7 MOL G 1 37.389 24.189 26.455 1.00 0.00 H +HETATM 5863 O1 MOL G 1 39.263 23.350 26.056 1.00 0.00 O +HETATM 5864 H8 MOL G 1 39.691 24.100 26.507 1.00 0.00 H +TER 5865 MOL G 1 +HETATM 5866 C1 MOL H 1 8.295 12.351 28.424 1.00 0.00 C +HETATM 5867 H1 MOL H 1 8.624 13.289 27.983 1.00 0.00 H +HETATM 5868 C2 MOL H 1 6.998 12.290 28.893 1.00 0.00 C +HETATM 5869 H2 MOL H 1 6.263 13.091 28.888 1.00 0.00 H +HETATM 5870 C3 MOL H 1 6.560 11.113 29.618 1.00 0.00 C +HETATM 5871 H3 MOL H 1 5.540 11.022 29.984 1.00 0.00 H +HETATM 5872 C4 MOL H 1 7.456 10.065 29.703 1.00 0.00 C +HETATM 5873 H4 MOL H 1 7.173 9.125 30.169 1.00 0.00 H +HETATM 5874 C5 MOL H 1 8.735 10.138 29.224 1.00 0.00 C +HETATM 5875 H5 MOL H 1 9.404 9.299 29.403 1.00 0.00 H +HETATM 5876 C6 MOL H 1 9.154 11.270 28.521 1.00 0.00 C +HETATM 5877 C7 MOL H 1 10.461 11.213 27.831 1.00 0.00 C +HETATM 5878 H6 MOL H 1 10.702 11.983 27.093 1.00 0.00 H +HETATM 5879 H7 MOL H 1 10.552 10.302 27.235 1.00 0.00 H +HETATM 5880 O1 MOL H 1 11.596 11.252 28.772 1.00 0.00 O +HETATM 5881 H8 MOL H 1 11.277 12.018 29.283 1.00 0.00 H +TER 5882 MOL H 1 +HETATM 5883 C1 MOL I 1 10.131 31.112 16.175 1.00 0.00 C +HETATM 5884 H1 MOL I 1 10.252 32.192 16.146 1.00 0.00 H +HETATM 5885 C2 MOL I 1 10.524 30.296 15.072 1.00 0.00 C +HETATM 5886 H2 MOL I 1 11.071 30.671 14.212 1.00 0.00 H +HETATM 5887 C3 MOL I 1 10.213 28.972 15.060 1.00 0.00 C +HETATM 5888 H3 MOL I 1 10.451 28.381 14.179 1.00 0.00 H +HETATM 5889 C4 MOL I 1 9.558 28.312 16.132 1.00 0.00 C +HETATM 5890 H4 MOL I 1 9.489 27.231 16.225 1.00 0.00 H +HETATM 5891 C5 MOL I 1 9.232 29.094 17.209 1.00 0.00 C +HETATM 5892 H5 MOL I 1 8.806 28.631 18.095 1.00 0.00 H +HETATM 5893 C6 MOL I 1 9.540 30.486 17.256 1.00 0.00 C +HETATM 5894 C7 MOL I 1 9.062 31.292 18.454 1.00 0.00 C +HETATM 5895 H6 MOL I 1 8.067 30.925 18.717 1.00 0.00 H +HETATM 5896 H7 MOL I 1 8.940 32.353 18.221 1.00 0.00 H +HETATM 5897 O1 MOL I 1 9.753 31.062 19.675 1.00 0.00 O +HETATM 5898 H8 MOL I 1 10.648 30.786 19.408 1.00 0.00 H +TER 5899 MOL I 1 +HETATM 5900 C1 MOL J 1 43.130 3.361 29.976 1.00 0.00 C +HETATM 5901 H1 MOL J 1 43.766 4.237 29.878 1.00 0.00 H +HETATM 5902 C2 MOL J 1 42.881 2.753 31.195 1.00 0.00 C +HETATM 5903 H2 MOL J 1 43.315 3.242 32.063 1.00 0.00 H +HETATM 5904 C3 MOL J 1 42.122 1.555 31.258 1.00 0.00 C +HETATM 5905 H3 MOL J 1 41.827 1.035 32.166 1.00 0.00 H +HETATM 5906 C4 MOL J 1 41.569 1.024 30.073 1.00 0.00 C +HETATM 5907 H4 MOL J 1 40.947 0.133 30.099 1.00 0.00 H +HETATM 5908 C5 MOL J 1 41.847 1.705 28.856 1.00 0.00 C +HETATM 5909 H5 MOL J 1 41.539 1.261 27.913 1.00 0.00 H +HETATM 5910 C6 MOL J 1 42.587 2.849 28.803 1.00 0.00 C +HETATM 5911 C7 MOL J 1 43.024 3.424 27.409 1.00 0.00 C +HETATM 5912 H6 MOL J 1 43.690 4.272 27.588 1.00 0.00 H +HETATM 5913 H7 MOL J 1 42.159 3.784 26.846 1.00 0.00 H +HETATM 5914 O1 MOL J 1 43.735 2.465 26.554 1.00 0.00 O +HETATM 5915 H8 MOL J 1 44.554 2.116 26.949 1.00 0.00 H +TER 5916 MOL J 1 +HETATM 5917 C1 MOL K 1 15.856 28.472 22.787 1.00 0.00 C +HETATM 5918 H1 MOL K 1 16.816 28.615 22.298 1.00 0.00 H +HETATM 5919 C2 MOL K 1 15.125 27.338 22.402 1.00 0.00 C +HETATM 5920 H2 MOL K 1 15.446 26.645 21.628 1.00 0.00 H +HETATM 5921 C3 MOL K 1 13.833 27.165 22.930 1.00 0.00 C +HETATM 5922 H3 MOL K 1 13.277 26.277 22.640 1.00 0.00 H +HETATM 5923 C4 MOL K 1 13.315 28.027 23.905 1.00 0.00 C +HETATM 5924 H4 MOL K 1 12.359 27.706 24.311 1.00 0.00 H +HETATM 5925 C5 MOL K 1 14.051 29.123 24.257 1.00 0.00 C +HETATM 5926 H5 MOL K 1 13.617 29.863 24.926 1.00 0.00 H +HETATM 5927 C6 MOL K 1 15.279 29.417 23.633 1.00 0.00 C +HETATM 5928 C7 MOL K 1 16.027 30.781 23.892 1.00 0.00 C +HETATM 5929 H6 MOL K 1 15.296 31.467 24.330 1.00 0.00 H +HETATM 5930 H7 MOL K 1 16.390 31.156 22.932 1.00 0.00 H +HETATM 5931 O1 MOL K 1 17.078 30.530 24.739 1.00 0.00 O +HETATM 5932 H8 MOL K 1 16.612 30.255 25.549 1.00 0.00 H +TER 5933 MOL K 1 +HETATM 5934 C1 MOL L 1 38.030 38.178 37.915 1.00 0.00 C +HETATM 5935 H1 MOL L 1 37.631 37.947 36.931 1.00 0.00 H +HETATM 5936 C2 MOL L 1 38.412 37.178 38.815 1.00 0.00 C +HETATM 5937 H2 MOL L 1 38.422 36.139 38.497 1.00 0.00 H +HETATM 5938 C3 MOL L 1 38.892 37.463 40.048 1.00 0.00 C +HETATM 5939 H3 MOL L 1 39.174 36.658 40.722 1.00 0.00 H +HETATM 5940 C4 MOL L 1 38.995 38.808 40.477 1.00 0.00 C +HETATM 5941 H4 MOL L 1 39.427 38.965 41.462 1.00 0.00 H +HETATM 5942 C5 MOL L 1 38.721 39.807 39.600 1.00 0.00 C +HETATM 5943 H5 MOL L 1 38.885 40.821 39.956 1.00 0.00 H +HETATM 5944 C6 MOL L 1 38.183 39.547 38.371 1.00 0.00 C +HETATM 5945 C7 MOL L 1 37.648 40.631 37.392 1.00 0.00 C +HETATM 5946 H6 MOL L 1 36.857 40.302 36.715 1.00 0.00 H +HETATM 5947 H7 MOL L 1 38.497 40.864 36.744 1.00 0.00 H +HETATM 5948 O1 MOL L 1 37.244 41.857 38.063 1.00 0.00 O +HETATM 5949 H8 MOL L 1 36.968 42.385 37.292 1.00 0.00 H +TER 5950 MOL L 1 +HETATM 5951 C1 MOL M 1 5.604 16.315 30.445 1.00 0.00 C +HETATM 5952 H1 MOL M 1 5.586 17.252 29.894 1.00 0.00 H +HETATM 5953 C2 MOL M 1 4.512 15.422 30.333 1.00 0.00 C +HETATM 5954 H2 MOL M 1 3.685 15.634 29.660 1.00 0.00 H +HETATM 5955 C3 MOL M 1 4.597 14.298 31.125 1.00 0.00 C +HETATM 5956 H3 MOL M 1 3.761 13.606 31.054 1.00 0.00 H +HETATM 5957 C4 MOL M 1 5.689 14.036 31.928 1.00 0.00 C +HETATM 5958 H4 MOL M 1 5.692 13.242 32.671 1.00 0.00 H +HETATM 5959 C5 MOL M 1 6.787 14.910 31.910 1.00 0.00 C +HETATM 5960 H5 MOL M 1 7.670 14.777 32.530 1.00 0.00 H +HETATM 5961 C6 MOL M 1 6.765 16.071 31.184 1.00 0.00 C +HETATM 5962 C7 MOL M 1 7.947 17.043 31.011 1.00 0.00 C +HETATM 5963 H6 MOL M 1 7.774 17.826 30.268 1.00 0.00 H +HETATM 5964 H7 MOL M 1 8.714 16.462 30.493 1.00 0.00 H +HETATM 5965 O1 MOL M 1 8.482 17.570 32.192 1.00 0.00 O +HETATM 5966 H8 MOL M 1 9.221 18.050 31.777 1.00 0.00 H +TER 5967 MOL M 1 +HETATM 5968 C1 MOL N 1 10.660 19.120 36.263 1.00 0.00 C +HETATM 5969 H1 MOL N 1 10.794 20.062 36.788 1.00 0.00 H +HETATM 5970 C2 MOL N 1 11.803 18.465 35.777 1.00 0.00 C +HETATM 5971 H2 MOL N 1 12.755 18.985 35.848 1.00 0.00 H +HETATM 5972 C3 MOL N 1 11.605 17.175 35.314 1.00 0.00 C +HETATM 5973 H3 MOL N 1 12.377 16.509 34.938 1.00 0.00 H +HETATM 5974 C4 MOL N 1 10.352 16.626 35.145 1.00 0.00 C +HETATM 5975 H4 MOL N 1 10.386 15.606 34.772 1.00 0.00 H +HETATM 5976 C5 MOL N 1 9.216 17.287 35.613 1.00 0.00 C +HETATM 5977 H5 MOL N 1 8.326 16.668 35.692 1.00 0.00 H +HETATM 5978 C6 MOL N 1 9.388 18.506 36.227 1.00 0.00 C +HETATM 5979 C7 MOL N 1 8.199 19.170 36.946 1.00 0.00 C +HETATM 5980 H6 MOL N 1 8.462 20.195 37.222 1.00 0.00 H +HETATM 5981 H7 MOL N 1 8.053 18.637 37.889 1.00 0.00 H +HETATM 5982 O1 MOL N 1 6.973 19.147 36.199 1.00 0.00 O +HETATM 5983 H8 MOL N 1 7.253 19.653 35.415 1.00 0.00 H +TER 5984 MOL N 1 +HETATM 5985 C1 MOL O 1 37.001 36.197 8.171 1.00 0.00 C +HETATM 5986 H1 MOL O 1 37.576 36.605 8.999 1.00 0.00 H +HETATM 5987 C2 MOL O 1 37.655 36.023 6.912 1.00 0.00 C +HETATM 5988 H2 MOL O 1 38.666 36.394 6.767 1.00 0.00 H +HETATM 5989 C3 MOL O 1 36.935 35.382 5.866 1.00 0.00 C +HETATM 5990 H3 MOL O 1 37.415 35.163 4.916 1.00 0.00 H +HETATM 5991 C4 MOL O 1 35.556 34.970 6.073 1.00 0.00 C +HETATM 5992 H4 MOL O 1 34.937 34.627 5.249 1.00 0.00 H +HETATM 5993 C5 MOL O 1 34.996 35.061 7.324 1.00 0.00 C +HETATM 5994 H5 MOL O 1 34.014 34.681 7.596 1.00 0.00 H +HETATM 5995 C6 MOL O 1 35.736 35.688 8.376 1.00 0.00 C +HETATM 5996 C7 MOL O 1 35.039 35.936 9.772 1.00 0.00 C +HETATM 5997 H6 MOL O 1 34.185 35.253 9.774 1.00 0.00 H +HETATM 5998 H7 MOL O 1 34.567 36.911 9.629 1.00 0.00 H +HETATM 5999 O1 MOL O 1 35.880 35.870 10.988 1.00 0.00 O +HETATM 6000 H8 MOL O 1 36.305 36.746 10.995 1.00 0.00 H +TER 6001 MOL O 1 +HETATM 6002 C1 MOL P 1 16.847 15.603 41.078 1.00 0.00 C +HETATM 6003 H1 MOL P 1 17.874 15.654 40.727 1.00 0.00 H +HETATM 6004 C2 MOL P 1 15.834 16.046 40.233 1.00 0.00 C +HETATM 6005 H2 MOL P 1 16.102 16.452 39.261 1.00 0.00 H +HETATM 6006 C3 MOL P 1 14.509 15.871 40.638 1.00 0.00 C +HETATM 6007 H3 MOL P 1 13.648 16.196 40.058 1.00 0.00 H +HETATM 6008 C4 MOL P 1 14.156 15.336 41.878 1.00 0.00 C +HETATM 6009 H4 MOL P 1 13.086 15.264 42.051 1.00 0.00 H +HETATM 6010 C5 MOL P 1 15.209 15.028 42.771 1.00 0.00 C +HETATM 6011 H5 MOL P 1 15.047 14.592 43.753 1.00 0.00 H +HETATM 6012 C6 MOL P 1 16.559 15.094 42.382 1.00 0.00 C +HETATM 6013 C7 MOL P 1 17.667 14.611 43.294 1.00 0.00 C +HETATM 6014 H6 MOL P 1 18.403 14.250 42.571 1.00 0.00 H +HETATM 6015 H7 MOL P 1 17.223 13.768 43.830 1.00 0.00 H +HETATM 6016 O1 MOL P 1 18.299 15.544 44.147 1.00 0.00 O +HETATM 6017 H8 MOL P 1 18.511 16.399 43.732 1.00 0.00 H +TER 6018 MOL P 1 +HETATM 6019 C1 MOL Q 1 1.814 0.501 13.656 1.00 0.00 C +HETATM 6020 H1 MOL Q 1 1.023 0.888 13.018 1.00 0.00 H +HETATM 6021 C2 MOL Q 1 2.620 -0.507 13.148 1.00 0.00 C +HETATM 6022 H2 MOL Q 1 2.554 -0.769 12.095 1.00 0.00 H +HETATM 6023 C3 MOL Q 1 3.587 -1.053 13.987 1.00 0.00 C +HETATM 6024 H3 MOL Q 1 4.215 -1.867 13.634 1.00 0.00 H +HETATM 6025 C4 MOL Q 1 3.758 -0.695 15.291 1.00 0.00 C +HETATM 6026 H4 MOL Q 1 4.521 -1.135 15.927 1.00 0.00 H +HETATM 6027 C5 MOL Q 1 2.905 0.289 15.758 1.00 0.00 C +HETATM 6028 H5 MOL Q 1 3.033 0.577 16.798 1.00 0.00 H +HETATM 6029 C6 MOL Q 1 1.823 0.879 14.981 1.00 0.00 C +HETATM 6030 C7 MOL Q 1 0.856 1.827 15.614 1.00 0.00 C +HETATM 6031 H6 MOL Q 1 1.248 2.285 16.526 1.00 0.00 H +HETATM 6032 H7 MOL Q 1 -0.080 1.369 15.942 1.00 0.00 H +HETATM 6033 O1 MOL Q 1 0.472 2.879 14.746 1.00 0.00 O +HETATM 6034 H8 MOL Q 1 1.177 3.550 14.737 1.00 0.00 H +TER 6035 MOL Q 1 +HETATM 6036 C1 MOL R 1 24.409 22.195 16.619 1.00 0.00 C +HETATM 6037 H1 MOL R 1 24.310 21.999 17.684 1.00 0.00 H +HETATM 6038 C2 MOL R 1 23.356 22.707 15.929 1.00 0.00 C +HETATM 6039 H2 MOL R 1 22.467 23.002 16.481 1.00 0.00 H +HETATM 6040 C3 MOL R 1 23.442 22.827 14.551 1.00 0.00 C +HETATM 6041 H3 MOL R 1 22.597 23.241 14.007 1.00 0.00 H +HETATM 6042 C4 MOL R 1 24.545 22.396 13.858 1.00 0.00 C +HETATM 6043 H4 MOL R 1 24.490 22.443 12.773 1.00 0.00 H +HETATM 6044 C5 MOL R 1 25.675 22.007 14.557 1.00 0.00 C +HETATM 6045 H5 MOL R 1 26.611 21.803 14.043 1.00 0.00 H +HETATM 6046 C6 MOL R 1 25.577 21.863 15.987 1.00 0.00 C +HETATM 6047 C7 MOL R 1 26.746 21.320 16.882 1.00 0.00 C +HETATM 6048 H6 MOL R 1 27.737 21.201 16.437 1.00 0.00 H +HETATM 6049 H7 MOL R 1 26.313 20.364 17.187 1.00 0.00 H +HETATM 6050 O1 MOL R 1 26.928 22.017 18.112 1.00 0.00 O +HETATM 6051 H8 MOL R 1 27.281 22.892 17.870 1.00 0.00 H +TER 6052 MOL R 1 +HETATM 6053 C1 MOL S 1 19.837 35.858 0.944 1.00 0.00 C +HETATM 6054 H1 MOL S 1 19.288 36.770 1.160 1.00 0.00 H +HETATM 6055 C2 MOL S 1 19.155 34.820 0.373 1.00 0.00 C +HETATM 6056 H2 MOL S 1 18.092 34.969 0.203 1.00 0.00 H +HETATM 6057 C3 MOL S 1 19.792 33.737 -0.072 1.00 0.00 C +HETATM 6058 H3 MOL S 1 19.117 33.017 -0.528 1.00 0.00 H +HETATM 6059 C4 MOL S 1 21.140 33.460 0.201 1.00 0.00 C +HETATM 6060 H4 MOL S 1 21.555 32.508 -0.119 1.00 0.00 H +HETATM 6061 C5 MOL S 1 21.801 34.454 0.865 1.00 0.00 C +HETATM 6062 H5 MOL S 1 22.815 34.329 1.237 1.00 0.00 H +HETATM 6063 C6 MOL S 1 21.215 35.665 1.192 1.00 0.00 C +HETATM 6064 C7 MOL S 1 22.001 36.722 2.022 1.00 0.00 C +HETATM 6065 H6 MOL S 1 23.078 36.542 2.073 1.00 0.00 H +HETATM 6066 H7 MOL S 1 21.651 36.693 3.057 1.00 0.00 H +HETATM 6067 O1 MOL S 1 21.790 38.049 1.446 1.00 0.00 O +HETATM 6068 H8 MOL S 1 22.412 38.593 1.961 1.00 0.00 H +TER 6069 MOL S 1 +HETATM 6070 C1 MOL T 1 10.457 33.287 35.185 1.00 0.00 C +HETATM 6071 H1 MOL T 1 11.135 33.424 36.024 1.00 0.00 H +HETATM 6072 C2 MOL T 1 9.580 34.327 34.792 1.00 0.00 C +HETATM 6073 H2 MOL T 1 9.647 35.362 35.118 1.00 0.00 H +HETATM 6074 C3 MOL T 1 8.616 34.096 33.830 1.00 0.00 C +HETATM 6075 H3 MOL T 1 7.908 34.816 33.426 1.00 0.00 H +HETATM 6076 C4 MOL T 1 8.560 32.773 33.307 1.00 0.00 C +HETATM 6077 H4 MOL T 1 7.873 32.537 32.498 1.00 0.00 H +HETATM 6078 C5 MOL T 1 9.350 31.739 33.799 1.00 0.00 C +HETATM 6079 H5 MOL T 1 9.519 30.809 33.261 1.00 0.00 H +HETATM 6080 C6 MOL T 1 10.252 32.004 34.852 1.00 0.00 C +HETATM 6081 C7 MOL T 1 11.072 30.864 35.384 1.00 0.00 C +HETATM 6082 H6 MOL T 1 11.809 31.239 36.100 1.00 0.00 H +HETATM 6083 H7 MOL T 1 11.686 30.500 34.556 1.00 0.00 H +HETATM 6084 O1 MOL T 1 10.313 29.824 36.008 1.00 0.00 O +HETATM 6085 H8 MOL T 1 10.156 29.215 35.264 1.00 0.00 H +TER 6086 MOL T 1 +HETATM 6087 C1 MOL U 1 25.777 -1.246 24.089 1.00 0.00 C +HETATM 6088 H1 MOL U 1 25.157 -1.732 23.340 1.00 0.00 H +HETATM 6089 C2 MOL U 1 25.901 -1.759 25.402 1.00 0.00 C +HETATM 6090 H2 MOL U 1 25.358 -2.681 25.598 1.00 0.00 H +HETATM 6091 C3 MOL U 1 26.793 -1.065 26.238 1.00 0.00 C +HETATM 6092 H3 MOL U 1 26.978 -1.444 27.240 1.00 0.00 H +HETATM 6093 C4 MOL U 1 27.417 0.106 25.862 1.00 0.00 C +HETATM 6094 H4 MOL U 1 28.041 0.653 26.564 1.00 0.00 H +HETATM 6095 C5 MOL U 1 27.221 0.652 24.579 1.00 0.00 C +HETATM 6096 H5 MOL U 1 27.776 1.560 24.359 1.00 0.00 H +HETATM 6097 C6 MOL U 1 26.477 -0.049 23.693 1.00 0.00 C +HETATM 6098 C7 MOL U 1 26.191 0.406 22.276 1.00 0.00 C +HETATM 6099 H6 MOL U 1 25.195 0.039 22.014 1.00 0.00 H +HETATM 6100 H7 MOL U 1 26.821 -0.174 21.597 1.00 0.00 H +HETATM 6101 O1 MOL U 1 26.306 1.837 21.998 1.00 0.00 O +HETATM 6102 H8 MOL U 1 25.837 1.890 21.147 1.00 0.00 H +TER 6103 MOL U 1 +HETATM 6104 C1 MOL V 1 5.792 38.303 24.688 1.00 0.00 C +HETATM 6105 H1 MOL V 1 6.253 37.749 23.874 1.00 0.00 H +HETATM 6106 C2 MOL V 1 5.711 39.703 24.512 1.00 0.00 C +HETATM 6107 H2 MOL V 1 6.121 40.144 23.608 1.00 0.00 H +HETATM 6108 C3 MOL V 1 5.032 40.508 25.416 1.00 0.00 C +HETATM 6109 H3 MOL V 1 4.971 41.565 25.169 1.00 0.00 H +HETATM 6110 C4 MOL V 1 4.393 39.955 26.505 1.00 0.00 C +HETATM 6111 H4 MOL V 1 3.834 40.538 27.231 1.00 0.00 H +HETATM 6112 C5 MOL V 1 4.512 38.596 26.740 1.00 0.00 C +HETATM 6113 H5 MOL V 1 4.090 38.177 27.650 1.00 0.00 H +HETATM 6114 C6 MOL V 1 5.193 37.767 25.811 1.00 0.00 C +HETATM 6115 C7 MOL V 1 5.153 36.274 26.051 1.00 0.00 C +HETATM 6116 H6 MOL V 1 4.199 35.826 25.763 1.00 0.00 H +HETATM 6117 H7 MOL V 1 5.309 36.110 27.121 1.00 0.00 H +HETATM 6118 O1 MOL V 1 6.092 35.540 25.265 1.00 0.00 O +HETATM 6119 H8 MOL V 1 6.840 35.259 25.822 1.00 0.00 H +TER 6120 MOL V 1 +HETATM 6121 C1 MOL W 1 21.325 30.310 28.847 1.00 0.00 C +HETATM 6122 H1 MOL W 1 21.742 29.307 28.809 1.00 0.00 H +HETATM 6123 C2 MOL W 1 22.241 31.370 29.238 1.00 0.00 C +HETATM 6124 H2 MOL W 1 23.179 31.085 29.709 1.00 0.00 H +HETATM 6125 C3 MOL W 1 21.780 32.666 29.210 1.00 0.00 C +HETATM 6126 H3 MOL W 1 22.462 33.460 29.501 1.00 0.00 H +HETATM 6127 C4 MOL W 1 20.469 32.904 28.861 1.00 0.00 C +HETATM 6128 H4 MOL W 1 20.002 33.885 28.831 1.00 0.00 H +HETATM 6129 C5 MOL W 1 19.660 31.839 28.367 1.00 0.00 C +HETATM 6130 H5 MOL W 1 18.647 31.990 28.003 1.00 0.00 H +HETATM 6131 C6 MOL W 1 20.057 30.509 28.431 1.00 0.00 C +HETATM 6132 C7 MOL W 1 19.104 29.366 27.951 1.00 0.00 C +HETATM 6133 H6 MOL W 1 19.584 28.445 28.292 1.00 0.00 H +HETATM 6134 H7 MOL W 1 18.889 29.494 26.887 1.00 0.00 H +HETATM 6135 O1 MOL W 1 17.868 29.370 28.593 1.00 0.00 O +HETATM 6136 H8 MOL W 1 17.947 29.694 29.508 1.00 0.00 H +TER 6137 MOL W 1 +HETATM 6138 C1 MOL X 1 3.258 0.789 38.670 1.00 0.00 C +HETATM 6139 H1 MOL X 1 2.364 0.544 39.238 1.00 0.00 H +HETATM 6140 C2 MOL X 1 4.315 -0.077 38.707 1.00 0.00 C +HETATM 6141 H2 MOL X 1 4.268 -0.949 39.355 1.00 0.00 H +HETATM 6142 C3 MOL X 1 5.401 0.055 37.874 1.00 0.00 C +HETATM 6143 H3 MOL X 1 6.249 -0.625 37.885 1.00 0.00 H +HETATM 6144 C4 MOL X 1 5.434 1.190 37.062 1.00 0.00 C +HETATM 6145 H4 MOL X 1 6.302 1.382 36.437 1.00 0.00 H +HETATM 6146 C5 MOL X 1 4.314 2.020 36.986 1.00 0.00 C +HETATM 6147 H5 MOL X 1 4.351 2.720 36.154 1.00 0.00 H +HETATM 6148 C6 MOL X 1 3.201 1.824 37.731 1.00 0.00 C +HETATM 6149 C7 MOL X 1 1.882 2.485 37.529 1.00 0.00 C +HETATM 6150 H6 MOL X 1 1.201 2.596 38.377 1.00 0.00 H +HETATM 6151 H7 MOL X 1 1.453 1.804 36.790 1.00 0.00 H +HETATM 6152 O1 MOL X 1 2.032 3.731 36.937 1.00 0.00 O +HETATM 6153 H8 MOL X 1 2.533 4.321 37.530 1.00 0.00 H +TER 6154 MOL X 1 +HETATM 6155 C1 MOL Y 1 29.678 10.802 31.214 1.00 0.00 C +HETATM 6156 H1 MOL Y 1 28.664 10.695 31.593 1.00 0.00 H +HETATM 6157 C2 MOL Y 1 30.232 12.080 31.241 1.00 0.00 C +HETATM 6158 H2 MOL Y 1 29.720 12.836 31.831 1.00 0.00 H +HETATM 6159 C3 MOL Y 1 31.426 12.329 30.620 1.00 0.00 C +HETATM 6160 H3 MOL Y 1 31.878 13.317 30.612 1.00 0.00 H +HETATM 6161 C4 MOL Y 1 32.100 11.293 30.023 1.00 0.00 C +HETATM 6162 H4 MOL Y 1 33.114 11.441 29.660 1.00 0.00 H +HETATM 6163 C5 MOL Y 1 31.534 10.044 29.967 1.00 0.00 C +HETATM 6164 H5 MOL Y 1 32.009 9.260 29.384 1.00 0.00 H +HETATM 6165 C6 MOL Y 1 30.213 9.794 30.450 1.00 0.00 C +HETATM 6166 C7 MOL Y 1 29.536 8.484 30.403 1.00 0.00 C +HETATM 6167 H6 MOL Y 1 28.898 8.430 29.517 1.00 0.00 H +HETATM 6168 H7 MOL Y 1 28.939 8.314 31.302 1.00 0.00 H +HETATM 6169 O1 MOL Y 1 30.392 7.465 30.320 1.00 0.00 O +HETATM 6170 H8 MOL Y 1 30.971 7.627 31.087 1.00 0.00 H +TER 6171 MOL Y 1 +HETATM 6172 C1 MOL Z 1 24.191 11.949 44.120 1.00 0.00 C +HETATM 6173 H1 MOL Z 1 23.348 12.565 43.817 1.00 0.00 H +HETATM 6174 C2 MOL Z 1 24.803 12.274 45.320 1.00 0.00 C +HETATM 6175 H2 MOL Z 1 24.585 13.158 45.913 1.00 0.00 H +HETATM 6176 C3 MOL Z 1 25.906 11.600 45.724 1.00 0.00 C +HETATM 6177 H3 MOL Z 1 26.423 11.934 46.619 1.00 0.00 H +HETATM 6178 C4 MOL Z 1 26.287 10.456 45.040 1.00 0.00 C +HETATM 6179 H4 MOL Z 1 27.161 9.929 45.413 1.00 0.00 H +HETATM 6180 C5 MOL Z 1 25.631 10.057 43.840 1.00 0.00 C +HETATM 6181 H5 MOL Z 1 25.905 9.127 43.349 1.00 0.00 H +HETATM 6182 C6 MOL Z 1 24.552 10.832 43.403 1.00 0.00 C +HETATM 6183 C7 MOL Z 1 23.876 10.397 42.068 1.00 0.00 C +HETATM 6184 H6 MOL Z 1 22.890 10.863 42.147 1.00 0.00 H +HETATM 6185 H7 MOL Z 1 23.992 9.326 41.887 1.00 0.00 H +HETATM 6186 O1 MOL Z 1 24.574 11.052 41.014 1.00 0.00 O +HETATM 6187 H8 MOL Z 1 24.670 10.319 40.380 1.00 0.00 H +TER 6188 MOL Z 1 +HETATM 6189 C1 MOL A 1 35.450 27.522 42.115 1.00 0.00 C +HETATM 6190 H1 MOL A 1 35.637 28.212 41.296 1.00 0.00 H +HETATM 6191 C2 MOL A 1 34.641 26.450 41.917 1.00 0.00 C +HETATM 6192 H2 MOL A 1 34.125 26.440 40.961 1.00 0.00 H +HETATM 6193 C3 MOL A 1 34.385 25.451 42.899 1.00 0.00 C +HETATM 6194 H3 MOL A 1 33.750 24.585 42.727 1.00 0.00 H +HETATM 6195 C4 MOL A 1 35.163 25.573 44.027 1.00 0.00 C +HETATM 6196 H4 MOL A 1 35.108 24.752 44.737 1.00 0.00 H +HETATM 6197 C5 MOL A 1 35.842 26.725 44.347 1.00 0.00 C +HETATM 6198 H5 MOL A 1 36.409 26.835 45.267 1.00 0.00 H +HETATM 6199 C6 MOL A 1 35.910 27.750 43.428 1.00 0.00 C +HETATM 6200 C7 MOL A 1 36.518 29.068 43.863 1.00 0.00 C +HETATM 6201 H6 MOL A 1 36.339 29.275 44.920 1.00 0.00 H +HETATM 6202 H7 MOL A 1 36.007 29.909 43.388 1.00 0.00 H +HETATM 6203 O1 MOL A 1 37.942 29.171 43.567 1.00 0.00 O +HETATM 6204 H8 MOL A 1 37.970 28.858 42.645 1.00 0.00 H +TER 6205 MOL A 1 +HETATM 6206 C1 MOL B 1 9.300 0.553 40.625 1.00 0.00 C +HETATM 6207 H1 MOL B 1 8.824 -0.424 40.666 1.00 0.00 H +HETATM 6208 C2 MOL B 1 8.537 1.628 40.077 1.00 0.00 C +HETATM 6209 H2 MOL B 1 7.570 1.446 39.615 1.00 0.00 H +HETATM 6210 C3 MOL B 1 9.074 2.952 40.019 1.00 0.00 C +HETATM 6211 H3 MOL B 1 8.591 3.788 39.519 1.00 0.00 H +HETATM 6212 C4 MOL B 1 10.317 3.149 40.637 1.00 0.00 C +HETATM 6213 H4 MOL B 1 10.812 4.117 40.634 1.00 0.00 H +HETATM 6214 C5 MOL B 1 11.028 2.085 41.194 1.00 0.00 C +HETATM 6215 H5 MOL B 1 12.042 2.272 41.537 1.00 0.00 H +HETATM 6216 C6 MOL B 1 10.526 0.800 41.183 1.00 0.00 C +HETATM 6217 C7 MOL B 1 11.282 -0.322 41.827 1.00 0.00 C +HETATM 6218 H6 MOL B 1 12.244 -0.450 41.324 1.00 0.00 H +HETATM 6219 H7 MOL B 1 10.655 -1.216 41.782 1.00 0.00 H +HETATM 6220 O1 MOL B 1 11.526 -0.108 43.226 1.00 0.00 O +HETATM 6221 H8 MOL B 1 11.080 -0.901 43.573 1.00 0.00 H +TER 6222 MOL B 1 +HETATM 6223 C1 MOL C 1 19.467 7.149 23.655 1.00 0.00 C +HETATM 6224 H1 MOL C 1 19.971 6.930 22.716 1.00 0.00 H +HETATM 6225 C2 MOL C 1 20.071 7.961 24.632 1.00 0.00 C +HETATM 6226 H2 MOL C 1 21.056 8.371 24.426 1.00 0.00 H +HETATM 6227 C3 MOL C 1 19.305 8.273 25.798 1.00 0.00 C +HETATM 6228 H3 MOL C 1 19.788 8.788 26.625 1.00 0.00 H +HETATM 6229 C4 MOL C 1 17.918 7.925 25.865 1.00 0.00 C +HETATM 6230 H4 MOL C 1 17.347 8.236 26.736 1.00 0.00 H +HETATM 6231 C5 MOL C 1 17.363 7.085 24.865 1.00 0.00 C +HETATM 6232 H5 MOL C 1 16.348 6.732 25.025 1.00 0.00 H +HETATM 6233 C6 MOL C 1 18.169 6.654 23.749 1.00 0.00 C +HETATM 6234 C7 MOL C 1 17.521 5.888 22.566 1.00 0.00 C +HETATM 6235 H6 MOL C 1 16.497 5.646 22.861 1.00 0.00 H +HETATM 6236 H7 MOL C 1 18.063 4.946 22.453 1.00 0.00 H +HETATM 6237 O1 MOL C 1 17.706 6.441 21.260 1.00 0.00 O +HETATM 6238 H8 MOL C 1 17.157 5.899 20.665 1.00 0.00 H +TER 6239 MOL C 1 +HETATM 6240 C1 MOL D 1 32.382 5.019 39.148 1.00 0.00 C +HETATM 6241 H1 MOL D 1 31.484 5.630 39.201 1.00 0.00 H +HETATM 6242 C2 MOL D 1 33.210 5.006 38.041 1.00 0.00 C +HETATM 6243 H2 MOL D 1 33.002 5.659 37.198 1.00 0.00 H +HETATM 6244 C3 MOL D 1 34.212 4.009 37.941 1.00 0.00 C +HETATM 6245 H3 MOL D 1 34.794 4.006 37.023 1.00 0.00 H +HETATM 6246 C4 MOL D 1 34.384 3.149 39.015 1.00 0.00 C +HETATM 6247 H4 MOL D 1 35.174 2.409 38.912 1.00 0.00 H +HETATM 6248 C5 MOL D 1 33.638 3.198 40.165 1.00 0.00 C +HETATM 6249 H5 MOL D 1 33.654 2.443 40.947 1.00 0.00 H +HETATM 6250 C6 MOL D 1 32.604 4.152 40.240 1.00 0.00 C +HETATM 6251 C7 MOL D 1 31.845 4.366 41.465 1.00 0.00 C +HETATM 6252 H6 MOL D 1 32.117 5.287 41.988 1.00 0.00 H +HETATM 6253 H7 MOL D 1 32.016 3.601 42.227 1.00 0.00 H +HETATM 6254 O1 MOL D 1 30.430 4.351 41.215 1.00 0.00 O +HETATM 6255 H8 MOL D 1 30.103 3.437 41.300 1.00 0.00 H +TER 6256 MOL D 1 +HETATM 6257 C1 MOL E 1 14.653 5.503 39.515 1.00 0.00 C +HETATM 6258 H1 MOL E 1 15.138 6.475 39.476 1.00 0.00 H +HETATM 6259 C2 MOL E 1 13.939 4.940 38.408 1.00 0.00 C +HETATM 6260 H2 MOL E 1 13.673 5.418 37.468 1.00 0.00 H +HETATM 6261 C3 MOL E 1 13.487 3.621 38.493 1.00 0.00 C +HETATM 6262 H3 MOL E 1 12.949 3.204 37.646 1.00 0.00 H +HETATM 6263 C4 MOL E 1 13.713 2.811 39.637 1.00 0.00 C +HETATM 6264 H4 MOL E 1 13.367 1.786 39.744 1.00 0.00 H +HETATM 6265 C5 MOL E 1 14.271 3.483 40.753 1.00 0.00 C +HETATM 6266 H5 MOL E 1 14.370 2.865 41.642 1.00 0.00 H +HETATM 6267 C6 MOL E 1 14.743 4.778 40.726 1.00 0.00 C +HETATM 6268 C7 MOL E 1 15.479 5.414 41.861 1.00 0.00 C +HETATM 6269 H6 MOL E 1 15.938 6.302 41.419 1.00 0.00 H +HETATM 6270 H7 MOL E 1 16.280 4.749 42.193 1.00 0.00 H +HETATM 6271 O1 MOL E 1 14.744 5.881 42.970 1.00 0.00 O +HETATM 6272 H8 MOL E 1 13.928 5.350 43.011 1.00 0.00 H +TER 6273 MOL E 1 +HETATM 6274 C1 MOL F 1 43.521 40.990 30.462 1.00 0.00 C +HETATM 6275 H1 MOL F 1 44.328 41.172 31.168 1.00 0.00 H +HETATM 6276 C2 MOL F 1 42.793 42.003 29.875 1.00 0.00 C +HETATM 6277 H2 MOL F 1 43.021 43.060 29.981 1.00 0.00 H +HETATM 6278 C3 MOL F 1 41.621 41.705 29.191 1.00 0.00 C +HETATM 6279 H3 MOL F 1 41.052 42.528 28.766 1.00 0.00 H +HETATM 6280 C4 MOL F 1 41.154 40.371 29.084 1.00 0.00 C +HETATM 6281 H4 MOL F 1 40.214 40.111 28.603 1.00 0.00 H +HETATM 6282 C5 MOL F 1 41.877 39.321 29.654 1.00 0.00 C +HETATM 6283 H5 MOL F 1 41.595 38.276 29.563 1.00 0.00 H +HETATM 6284 C6 MOL F 1 43.130 39.699 30.211 1.00 0.00 C +HETATM 6285 C7 MOL F 1 44.143 38.522 30.476 1.00 0.00 C +HETATM 6286 H6 MOL F 1 44.434 38.176 29.481 1.00 0.00 H +HETATM 6287 H7 MOL F 1 43.562 37.761 31.003 1.00 0.00 H +HETATM 6288 O1 MOL F 1 45.405 38.720 31.250 1.00 0.00 O +HETATM 6289 H8 MOL F 1 45.095 39.145 32.070 1.00 0.00 H +TER 6290 MOL F 1 +HETATM 6291 C1 MOL G 1 21.739 27.910 5.016 1.00 0.00 C +HETATM 6292 H1 MOL G 1 21.317 26.908 5.038 1.00 0.00 H +HETATM 6293 C2 MOL G 1 23.085 27.955 4.682 1.00 0.00 C +HETATM 6294 H2 MOL G 1 23.560 27.020 4.394 1.00 0.00 H +HETATM 6295 C3 MOL G 1 23.625 29.239 4.654 1.00 0.00 C +HETATM 6296 H3 MOL G 1 24.698 29.282 4.485 1.00 0.00 H +HETATM 6297 C4 MOL G 1 22.908 30.394 4.758 1.00 0.00 C +HETATM 6298 H4 MOL G 1 23.471 31.309 4.591 1.00 0.00 H +HETATM 6299 C5 MOL G 1 21.531 30.257 5.036 1.00 0.00 C +HETATM 6300 H5 MOL G 1 20.947 31.174 5.065 1.00 0.00 H +HETATM 6301 C6 MOL G 1 20.976 28.974 5.209 1.00 0.00 C +HETATM 6302 C7 MOL G 1 19.493 28.586 5.348 1.00 0.00 C +HETATM 6303 H6 MOL G 1 19.237 28.273 6.363 1.00 0.00 H +HETATM 6304 H7 MOL G 1 19.266 27.719 4.722 1.00 0.00 H +HETATM 6305 O1 MOL G 1 18.645 29.663 5.042 1.00 0.00 O +HETATM 6306 H8 MOL G 1 18.546 29.841 4.090 1.00 0.00 H +TER 6307 MOL G 1 +HETATM 6308 C1 MOL H 1 37.291 27.457 7.464 1.00 0.00 C +HETATM 6309 H1 MOL H 1 36.277 27.598 7.101 1.00 0.00 H +HETATM 6310 C2 MOL H 1 37.543 26.465 8.413 1.00 0.00 C +HETATM 6311 H2 MOL H 1 36.764 25.724 8.571 1.00 0.00 H +HETATM 6312 C3 MOL H 1 38.804 26.369 9.041 1.00 0.00 C +HETATM 6313 H3 MOL H 1 39.007 25.641 9.822 1.00 0.00 H +HETATM 6314 C4 MOL H 1 39.819 27.306 8.668 1.00 0.00 C +HETATM 6315 H4 MOL H 1 40.794 27.232 9.145 1.00 0.00 H +HETATM 6316 C5 MOL H 1 39.512 28.324 7.728 1.00 0.00 C +HETATM 6317 H5 MOL H 1 40.194 29.131 7.470 1.00 0.00 H +HETATM 6318 C6 MOL H 1 38.280 28.369 7.140 1.00 0.00 C +HETATM 6319 C7 MOL H 1 37.982 29.579 6.186 1.00 0.00 C +HETATM 6320 H6 MOL H 1 38.000 29.332 5.122 1.00 0.00 H +HETATM 6321 H7 MOL H 1 38.750 30.343 6.332 1.00 0.00 H +HETATM 6322 O1 MOL H 1 36.724 30.125 6.443 1.00 0.00 O +HETATM 6323 H8 MOL H 1 36.859 30.848 7.082 1.00 0.00 H +TER 6324 MOL H 1 +HETATM 6325 C1 MOL I 1 35.721 9.488 30.388 1.00 0.00 C +HETATM 6326 H1 MOL I 1 35.202 8.591 30.717 1.00 0.00 H +HETATM 6327 C2 MOL I 1 35.571 9.869 29.060 1.00 0.00 C +HETATM 6328 H2 MOL I 1 35.026 9.316 28.299 1.00 0.00 H +HETATM 6329 C3 MOL I 1 36.094 11.075 28.644 1.00 0.00 C +HETATM 6330 H3 MOL I 1 36.010 11.310 27.586 1.00 0.00 H +HETATM 6331 C4 MOL I 1 36.739 11.925 29.556 1.00 0.00 C +HETATM 6332 H4 MOL I 1 37.127 12.840 29.117 1.00 0.00 H +HETATM 6333 C5 MOL I 1 36.869 11.525 30.911 1.00 0.00 C +HETATM 6334 H5 MOL I 1 37.205 12.272 31.626 1.00 0.00 H +HETATM 6335 C6 MOL I 1 36.384 10.291 31.294 1.00 0.00 C +HETATM 6336 C7 MOL I 1 36.505 9.913 32.749 1.00 0.00 C +HETATM 6337 H6 MOL I 1 35.594 10.259 33.242 1.00 0.00 H +HETATM 6338 H7 MOL I 1 37.424 10.321 33.177 1.00 0.00 H +HETATM 6339 O1 MOL I 1 36.569 8.586 32.921 1.00 0.00 O +HETATM 6340 H8 MOL I 1 37.422 8.338 32.522 1.00 0.00 H +TER 6341 MOL I 1 +HETATM 6342 C1 MOL J 1 16.851 27.390 6.649 1.00 0.00 C +HETATM 6343 H1 MOL J 1 16.993 27.649 7.695 1.00 0.00 H +HETATM 6344 C2 MOL J 1 17.429 26.232 6.193 1.00 0.00 C +HETATM 6345 H2 MOL J 1 18.047 25.585 6.810 1.00 0.00 H +HETATM 6346 C3 MOL J 1 17.057 25.804 4.890 1.00 0.00 C +HETATM 6347 H3 MOL J 1 17.362 24.847 4.474 1.00 0.00 H +HETATM 6348 C4 MOL J 1 16.138 26.565 4.109 1.00 0.00 C +HETATM 6349 H4 MOL J 1 15.659 26.086 3.258 1.00 0.00 H +HETATM 6350 C5 MOL J 1 15.627 27.769 4.568 1.00 0.00 C +HETATM 6351 H5 MOL J 1 14.901 28.268 3.932 1.00 0.00 H +HETATM 6352 C6 MOL J 1 15.971 28.169 5.870 1.00 0.00 C +HETATM 6353 C7 MOL J 1 15.385 29.597 6.354 1.00 0.00 C +HETATM 6354 H6 MOL J 1 15.590 29.648 7.426 1.00 0.00 H +HETATM 6355 H7 MOL J 1 14.300 29.590 6.220 1.00 0.00 H +HETATM 6356 O1 MOL J 1 15.986 30.743 5.744 1.00 0.00 O +HETATM 6357 H8 MOL J 1 16.908 30.430 5.718 1.00 0.00 H +TER 6358 MOL J 1 +HETATM 6359 C1 MOL K 1 6.030 34.073 20.849 1.00 0.00 C +HETATM 6360 H1 MOL K 1 6.946 33.554 20.577 1.00 0.00 H +HETATM 6361 C2 MOL K 1 5.777 34.249 22.247 1.00 0.00 C +HETATM 6362 H2 MOL K 1 6.428 33.851 23.021 1.00 0.00 H +HETATM 6363 C3 MOL K 1 4.572 34.849 22.638 1.00 0.00 C +HETATM 6364 H3 MOL K 1 4.314 34.779 23.691 1.00 0.00 H +HETATM 6365 C4 MOL K 1 3.697 35.288 21.729 1.00 0.00 C +HETATM 6366 H4 MOL K 1 2.828 35.845 22.071 1.00 0.00 H +HETATM 6367 C5 MOL K 1 3.873 35.177 20.388 1.00 0.00 C +HETATM 6368 H5 MOL K 1 3.181 35.588 19.658 1.00 0.00 H +HETATM 6369 C6 MOL K 1 5.100 34.545 19.909 1.00 0.00 C +HETATM 6370 C7 MOL K 1 5.291 34.287 18.440 1.00 0.00 C +HETATM 6371 H6 MOL K 1 4.416 34.668 17.908 1.00 0.00 H +HETATM 6372 H7 MOL K 1 5.411 33.201 18.416 1.00 0.00 H +HETATM 6373 O1 MOL K 1 6.424 34.974 17.873 1.00 0.00 O +HETATM 6374 H8 MOL K 1 6.415 35.910 18.141 1.00 0.00 H +TER 6375 MOL K 1 +HETATM 6376 C1 MOL L 1 15.064 21.887 11.487 1.00 0.00 C +HETATM 6377 H1 MOL L 1 15.659 21.496 10.665 1.00 0.00 H +HETATM 6378 C2 MOL L 1 14.049 22.857 11.275 1.00 0.00 C +HETATM 6379 H2 MOL L 1 13.865 23.160 10.247 1.00 0.00 H +HETATM 6380 C3 MOL L 1 13.357 23.404 12.355 1.00 0.00 C +HETATM 6381 H3 MOL L 1 12.669 24.241 12.262 1.00 0.00 H +HETATM 6382 C4 MOL L 1 13.718 22.932 13.668 1.00 0.00 C +HETATM 6383 H4 MOL L 1 13.147 23.248 14.537 1.00 0.00 H +HETATM 6384 C5 MOL L 1 14.733 22.022 13.858 1.00 0.00 C +HETATM 6385 H5 MOL L 1 15.071 21.758 14.857 1.00 0.00 H +HETATM 6386 C6 MOL L 1 15.435 21.492 12.774 1.00 0.00 C +HETATM 6387 C7 MOL L 1 16.562 20.498 13.023 1.00 0.00 C +HETATM 6388 H6 MOL L 1 17.327 21.120 13.494 1.00 0.00 H +HETATM 6389 H7 MOL L 1 16.982 20.043 12.122 1.00 0.00 H +HETATM 6390 O1 MOL L 1 16.249 19.349 13.848 1.00 0.00 O +HETATM 6391 H8 MOL L 1 16.170 18.616 13.211 1.00 0.00 H +TER 6392 MOL L 1 +HETATM 6393 C1 MOL M 1 7.100 40.726 2.989 1.00 0.00 C +HETATM 6394 H1 MOL M 1 7.488 41.282 2.139 1.00 0.00 H +HETATM 6395 C2 MOL M 1 7.075 39.342 2.986 1.00 0.00 C +HETATM 6396 H2 MOL M 1 7.511 38.772 2.170 1.00 0.00 H +HETATM 6397 C3 MOL M 1 6.530 38.636 4.081 1.00 0.00 C +HETATM 6398 H3 MOL M 1 6.498 37.551 4.139 1.00 0.00 H +HETATM 6399 C4 MOL M 1 6.116 39.350 5.187 1.00 0.00 C +HETATM 6400 H4 MOL M 1 5.736 38.780 6.031 1.00 0.00 H +HETATM 6401 C5 MOL M 1 6.349 40.743 5.291 1.00 0.00 C +HETATM 6402 H5 MOL M 1 6.190 41.204 6.262 1.00 0.00 H +HETATM 6403 C6 MOL M 1 6.791 41.395 4.158 1.00 0.00 C +HETATM 6404 C7 MOL M 1 6.894 42.849 4.102 1.00 0.00 C +HETATM 6405 H6 MOL M 1 7.113 43.217 3.096 1.00 0.00 H +HETATM 6406 H7 MOL M 1 7.761 43.222 4.654 1.00 0.00 H +HETATM 6407 O1 MOL M 1 5.787 43.608 4.577 1.00 0.00 O +HETATM 6408 H8 MOL M 1 6.245 44.380 4.955 1.00 0.00 H +TER 6409 MOL M 1 +HETATM 6410 C1 MOL N 1 39.191 43.405 21.739 1.00 0.00 C +HETATM 6411 H1 MOL N 1 39.433 43.959 22.642 1.00 0.00 H +HETATM 6412 C2 MOL N 1 40.233 42.894 20.912 1.00 0.00 C +HETATM 6413 H2 MOL N 1 41.275 43.146 21.090 1.00 0.00 H +HETATM 6414 C3 MOL N 1 39.874 42.312 19.712 1.00 0.00 C +HETATM 6415 H3 MOL N 1 40.635 42.143 18.955 1.00 0.00 H +HETATM 6416 C4 MOL N 1 38.556 42.057 19.375 1.00 0.00 C +HETATM 6417 H4 MOL N 1 38.250 41.583 18.445 1.00 0.00 H +HETATM 6418 C5 MOL N 1 37.544 42.416 20.320 1.00 0.00 C +HETATM 6419 H5 MOL N 1 36.523 42.160 20.051 1.00 0.00 H +HETATM 6420 C6 MOL N 1 37.845 43.006 21.520 1.00 0.00 C +HETATM 6421 C7 MOL N 1 36.784 43.389 22.561 1.00 0.00 C +HETATM 6422 H6 MOL N 1 37.164 43.735 23.526 1.00 0.00 H +HETATM 6423 H7 MOL N 1 36.169 42.509 22.765 1.00 0.00 H +HETATM 6424 O1 MOL N 1 35.867 44.431 22.120 1.00 0.00 O +HETATM 6425 H8 MOL N 1 36.352 45.271 22.028 1.00 0.00 H +TER 6426 MOL N 1 +HETATM 6427 C1 MOL O 1 29.619 35.852 30.594 1.00 0.00 C +HETATM 6428 H1 MOL O 1 30.430 35.315 30.109 1.00 0.00 H +HETATM 6429 C2 MOL O 1 28.624 36.402 29.789 1.00 0.00 C +HETATM 6430 H2 MOL O 1 28.656 36.224 28.717 1.00 0.00 H +HETATM 6431 C3 MOL O 1 27.581 37.085 30.414 1.00 0.00 C +HETATM 6432 H3 MOL O 1 26.727 37.418 29.828 1.00 0.00 H +HETATM 6433 C4 MOL O 1 27.547 37.242 31.822 1.00 0.00 C +HETATM 6434 H4 MOL O 1 26.736 37.775 32.312 1.00 0.00 H +HETATM 6435 C5 MOL O 1 28.601 36.670 32.581 1.00 0.00 C +HETATM 6436 H5 MOL O 1 28.656 36.814 33.657 1.00 0.00 H +HETATM 6437 C6 MOL O 1 29.624 35.936 31.972 1.00 0.00 C +HETATM 6438 C7 MOL O 1 30.700 35.369 32.847 1.00 0.00 C +HETATM 6439 H6 MOL O 1 31.245 34.744 32.134 1.00 0.00 H +HETATM 6440 H7 MOL O 1 30.347 34.800 33.711 1.00 0.00 H +HETATM 6441 O1 MOL O 1 31.681 36.353 33.269 1.00 0.00 O +HETATM 6442 H8 MOL O 1 32.208 35.903 33.953 1.00 0.00 H +TER 6443 MOL O 1 +HETATM 6444 C1 MOL P 1 17.008 17.157 36.068 1.00 0.00 C +HETATM 6445 H1 MOL P 1 17.548 16.525 35.367 1.00 0.00 H +HETATM 6446 C2 MOL P 1 15.710 16.862 36.446 1.00 0.00 C +HETATM 6447 H2 MOL P 1 15.247 15.938 36.109 1.00 0.00 H +HETATM 6448 C3 MOL P 1 15.078 17.692 37.425 1.00 0.00 C +HETATM 6449 H3 MOL P 1 14.068 17.409 37.706 1.00 0.00 H +HETATM 6450 C4 MOL P 1 15.700 18.841 37.852 1.00 0.00 C +HETATM 6451 H4 MOL P 1 15.115 19.480 38.507 1.00 0.00 H +HETATM 6452 C5 MOL P 1 17.052 19.092 37.478 1.00 0.00 C +HETATM 6453 H5 MOL P 1 17.549 19.965 37.893 1.00 0.00 H +HETATM 6454 C6 MOL P 1 17.756 18.255 36.582 1.00 0.00 C +HETATM 6455 C7 MOL P 1 19.090 18.742 35.938 1.00 0.00 C +HETATM 6456 H6 MOL P 1 19.227 18.320 34.939 1.00 0.00 H +HETATM 6457 H7 MOL P 1 19.872 18.301 36.561 1.00 0.00 H +HETATM 6458 O1 MOL P 1 19.286 20.076 35.817 1.00 0.00 O +HETATM 6459 H8 MOL P 1 19.430 20.420 36.717 1.00 0.00 H +TER 6460 MOL P 1 +HETATM 6461 C1 MOL Q 1 38.055 16.348 39.984 1.00 0.00 C +HETATM 6462 H1 MOL Q 1 37.815 17.408 39.958 1.00 0.00 H +HETATM 6463 C2 MOL Q 1 39.401 15.960 39.799 1.00 0.00 C +HETATM 6464 H2 MOL Q 1 40.139 16.753 39.697 1.00 0.00 H +HETATM 6465 C3 MOL Q 1 39.694 14.618 39.734 1.00 0.00 C +HETATM 6466 H3 MOL Q 1 40.706 14.370 39.426 1.00 0.00 H +HETATM 6467 C4 MOL Q 1 38.662 13.658 39.906 1.00 0.00 C +HETATM 6468 H4 MOL Q 1 38.882 12.609 39.725 1.00 0.00 H +HETATM 6469 C5 MOL Q 1 37.335 14.148 40.159 1.00 0.00 C +HETATM 6470 H5 MOL Q 1 36.519 13.445 40.307 1.00 0.00 H +HETATM 6471 C6 MOL Q 1 36.996 15.478 40.240 1.00 0.00 C +HETATM 6472 C7 MOL Q 1 35.568 15.931 40.391 1.00 0.00 C +HETATM 6473 H6 MOL Q 1 34.933 15.048 40.506 1.00 0.00 H +HETATM 6474 H7 MOL Q 1 35.128 16.347 39.481 1.00 0.00 H +HETATM 6475 O1 MOL Q 1 35.377 16.879 41.459 1.00 0.00 O +HETATM 6476 H8 MOL Q 1 34.678 17.428 41.060 1.00 0.00 H +TER 6477 MOL Q 1 +HETATM 6478 C1 MOL R 1 15.356 2.596 15.398 1.00 0.00 C +HETATM 6479 H1 MOL R 1 15.824 2.287 16.330 1.00 0.00 H +HETATM 6480 C2 MOL R 1 15.822 2.105 14.169 1.00 0.00 C +HETATM 6481 H2 MOL R 1 16.650 1.403 14.119 1.00 0.00 H +HETATM 6482 C3 MOL R 1 15.095 2.298 13.021 1.00 0.00 C +HETATM 6483 H3 MOL R 1 15.424 1.817 12.104 1.00 0.00 H +HETATM 6484 C4 MOL R 1 13.873 2.973 13.111 1.00 0.00 C +HETATM 6485 H4 MOL R 1 13.367 3.199 12.176 1.00 0.00 H +HETATM 6486 C5 MOL R 1 13.518 3.677 14.292 1.00 0.00 C +HETATM 6487 H5 MOL R 1 12.636 4.306 14.380 1.00 0.00 H +HETATM 6488 C6 MOL R 1 14.280 3.499 15.457 1.00 0.00 C +HETATM 6489 C7 MOL R 1 13.909 4.134 16.854 1.00 0.00 C +HETATM 6490 H6 MOL R 1 14.176 3.429 17.646 1.00 0.00 H +HETATM 6491 H7 MOL R 1 12.824 4.244 16.926 1.00 0.00 H +HETATM 6492 O1 MOL R 1 14.652 5.314 17.057 1.00 0.00 O +HETATM 6493 H8 MOL R 1 15.049 5.413 16.173 1.00 0.00 H +TER 6494 MOL R 1 +HETATM 6495 C1 MOL S 1 20.472 7.268 38.334 1.00 0.00 C +HETATM 6496 H1 MOL S 1 20.334 6.244 37.996 1.00 0.00 H +HETATM 6497 C2 MOL S 1 21.528 8.067 37.830 1.00 0.00 C +HETATM 6498 H2 MOL S 1 22.301 7.641 37.195 1.00 0.00 H +HETATM 6499 C3 MOL S 1 21.618 9.404 38.220 1.00 0.00 C +HETATM 6500 H3 MOL S 1 22.335 10.086 37.772 1.00 0.00 H +HETATM 6501 C4 MOL S 1 20.581 9.964 38.917 1.00 0.00 C +HETATM 6502 H4 MOL S 1 20.486 11.026 39.129 1.00 0.00 H +HETATM 6503 C5 MOL S 1 19.573 9.134 39.485 1.00 0.00 C +HETATM 6504 H5 MOL S 1 18.768 9.561 40.077 1.00 0.00 H +HETATM 6505 C6 MOL S 1 19.469 7.803 39.178 1.00 0.00 C +HETATM 6506 C7 MOL S 1 18.219 6.991 39.585 1.00 0.00 C +HETATM 6507 H6 MOL S 1 17.662 6.944 38.645 1.00 0.00 H +HETATM 6508 H7 MOL S 1 17.592 7.506 40.318 1.00 0.00 H +HETATM 6509 O1 MOL S 1 18.481 5.606 39.968 1.00 0.00 O +HETATM 6510 H8 MOL S 1 19.143 5.612 40.682 1.00 0.00 H +TER 6511 MOL S 1 +HETATM 6512 C1 MOL T 1 30.178 1.067 40.547 1.00 0.00 C +HETATM 6513 H1 MOL T 1 30.242 0.879 39.478 1.00 0.00 H +HETATM 6514 C2 MOL T 1 29.075 1.644 41.071 1.00 0.00 C +HETATM 6515 H2 MOL T 1 28.319 1.984 40.369 1.00 0.00 H +HETATM 6516 C3 MOL T 1 28.938 1.851 42.428 1.00 0.00 C +HETATM 6517 H3 MOL T 1 28.041 2.316 42.829 1.00 0.00 H +HETATM 6518 C4 MOL T 1 29.919 1.440 43.286 1.00 0.00 C +HETATM 6519 H4 MOL T 1 29.756 1.546 44.356 1.00 0.00 H +HETATM 6520 C5 MOL T 1 31.084 0.825 42.669 1.00 0.00 C +HETATM 6521 H5 MOL T 1 31.809 0.307 43.293 1.00 0.00 H +HETATM 6522 C6 MOL T 1 31.181 0.618 41.292 1.00 0.00 C +HETATM 6523 C7 MOL T 1 32.265 -0.198 40.563 1.00 0.00 C +HETATM 6524 H6 MOL T 1 32.740 0.390 39.774 1.00 0.00 H +HETATM 6525 H7 MOL T 1 31.694 -1.001 40.088 1.00 0.00 H +HETATM 6526 O1 MOL T 1 33.352 -0.715 41.422 1.00 0.00 O +HETATM 6527 H8 MOL T 1 33.615 -1.483 40.883 1.00 0.00 H +TER 6528 MOL T 1 +HETATM 6529 C1 MOL U 1 42.345 13.997 7.347 1.00 0.00 C +HETATM 6530 H1 MOL U 1 41.901 13.123 6.877 1.00 0.00 H +HETATM 6531 C2 MOL U 1 42.064 15.274 7.000 1.00 0.00 C +HETATM 6532 H2 MOL U 1 41.328 15.402 6.211 1.00 0.00 H +HETATM 6533 C3 MOL U 1 42.686 16.399 7.598 1.00 0.00 C +HETATM 6534 H3 MOL U 1 42.486 17.375 7.164 1.00 0.00 H +HETATM 6535 C4 MOL U 1 43.543 16.233 8.647 1.00 0.00 C +HETATM 6536 H4 MOL U 1 44.004 17.144 9.020 1.00 0.00 H +HETATM 6537 C5 MOL U 1 43.904 14.918 9.042 1.00 0.00 C +HETATM 6538 H5 MOL U 1 44.835 14.704 9.562 1.00 0.00 H +HETATM 6539 C6 MOL U 1 43.354 13.819 8.358 1.00 0.00 C +HETATM 6540 C7 MOL U 1 43.854 12.374 8.666 1.00 0.00 C +HETATM 6541 H6 MOL U 1 43.031 11.658 8.733 1.00 0.00 H +HETATM 6542 H7 MOL U 1 44.342 12.422 9.643 1.00 0.00 H +HETATM 6543 O1 MOL U 1 44.874 12.013 7.798 1.00 0.00 O +HETATM 6544 H8 MOL U 1 45.237 11.273 8.318 1.00 0.00 H +TER 6545 MOL U 1 +HETATM 6546 C1 MOL V 1 8.725 5.008 15.758 1.00 0.00 C +HETATM 6547 H1 MOL V 1 7.951 4.252 15.655 1.00 0.00 H +HETATM 6548 C2 MOL V 1 9.670 5.144 14.814 1.00 0.00 C +HETATM 6549 H2 MOL V 1 9.672 4.585 13.882 1.00 0.00 H +HETATM 6550 C3 MOL V 1 10.701 6.122 15.015 1.00 0.00 C +HETATM 6551 H3 MOL V 1 11.538 6.186 14.324 1.00 0.00 H +HETATM 6552 C4 MOL V 1 10.705 6.884 16.223 1.00 0.00 C +HETATM 6553 H4 MOL V 1 11.483 7.609 16.449 1.00 0.00 H +HETATM 6554 C5 MOL V 1 9.667 6.694 17.178 1.00 0.00 C +HETATM 6555 H5 MOL V 1 9.680 7.318 18.069 1.00 0.00 H +HETATM 6556 C6 MOL V 1 8.660 5.814 16.894 1.00 0.00 C +HETATM 6557 C7 MOL V 1 7.568 5.627 17.955 1.00 0.00 C +HETATM 6558 H6 MOL V 1 6.632 5.838 17.433 1.00 0.00 H +HETATM 6559 H7 MOL V 1 7.663 6.346 18.772 1.00 0.00 H +HETATM 6560 O1 MOL V 1 7.694 4.278 18.541 1.00 0.00 O +HETATM 6561 H8 MOL V 1 7.274 4.263 19.419 1.00 0.00 H +TER 6562 MOL V 1 +HETATM 6563 C1 MOL W 1 8.314 16.510 15.560 1.00 0.00 C +HETATM 6564 H1 MOL W 1 8.380 17.316 16.286 1.00 0.00 H +HETATM 6565 C2 MOL W 1 7.073 16.098 15.050 1.00 0.00 C +HETATM 6566 H2 MOL W 1 6.248 16.762 15.296 1.00 0.00 H +HETATM 6567 C3 MOL W 1 6.987 15.013 14.272 1.00 0.00 C +HETATM 6568 H3 MOL W 1 6.019 14.721 13.872 1.00 0.00 H +HETATM 6569 C4 MOL W 1 8.079 14.317 13.832 1.00 0.00 C +HETATM 6570 H4 MOL W 1 7.967 13.493 13.133 1.00 0.00 H +HETATM 6571 C5 MOL W 1 9.359 14.797 14.262 1.00 0.00 C +HETATM 6572 H5 MOL W 1 10.201 14.177 13.966 1.00 0.00 H +HETATM 6573 C6 MOL W 1 9.470 15.790 15.209 1.00 0.00 C +HETATM 6574 C7 MOL W 1 10.768 16.253 15.793 1.00 0.00 C +HETATM 6575 H6 MOL W 1 10.677 17.047 16.539 1.00 0.00 H +HETATM 6576 H7 MOL W 1 11.494 16.596 15.052 1.00 0.00 H +HETATM 6577 O1 MOL W 1 11.260 15.142 16.526 1.00 0.00 O +HETATM 6578 H8 MOL W 1 10.551 14.572 16.876 1.00 0.00 H +TER 6579 MOL W 1 +HETATM 6580 C1 MOL X 1 38.986 21.594 8.017 1.00 0.00 C +HETATM 6581 H1 MOL X 1 39.808 20.960 8.342 1.00 0.00 H +HETATM 6582 C2 MOL X 1 38.723 21.845 6.660 1.00 0.00 C +HETATM 6583 H2 MOL X 1 39.428 21.453 5.932 1.00 0.00 H +HETATM 6584 C3 MOL X 1 37.637 22.622 6.299 1.00 0.00 C +HETATM 6585 H3 MOL X 1 37.513 22.920 5.261 1.00 0.00 H +HETATM 6586 C4 MOL X 1 36.700 23.136 7.250 1.00 0.00 C +HETATM 6587 H4 MOL X 1 35.982 23.850 6.857 1.00 0.00 H +HETATM 6588 C5 MOL X 1 36.890 22.770 8.595 1.00 0.00 C +HETATM 6589 H5 MOL X 1 36.215 22.968 9.424 1.00 0.00 H +HETATM 6590 C6 MOL X 1 38.062 22.110 8.924 1.00 0.00 C +HETATM 6591 C7 MOL X 1 38.461 22.042 10.410 1.00 0.00 C +HETATM 6592 H6 MOL X 1 37.597 22.118 11.075 1.00 0.00 H +HETATM 6593 H7 MOL X 1 39.161 22.866 10.568 1.00 0.00 H +HETATM 6594 O1 MOL X 1 39.179 20.881 10.792 1.00 0.00 O +HETATM 6595 H8 MOL X 1 38.801 20.148 10.276 1.00 0.00 H +TER 6596 MOL X 1 +HETATM 6597 C1 MOL Y 1 28.966 22.696 4.072 1.00 0.00 C +HETATM 6598 H1 MOL Y 1 28.666 23.740 4.097 1.00 0.00 H +HETATM 6599 C2 MOL Y 1 30.163 22.365 3.493 1.00 0.00 C +HETATM 6600 H2 MOL Y 1 30.743 23.121 2.970 1.00 0.00 H +HETATM 6601 C3 MOL Y 1 30.575 21.031 3.504 1.00 0.00 C +HETATM 6602 H3 MOL Y 1 31.477 20.786 2.949 1.00 0.00 H +HETATM 6603 C4 MOL Y 1 29.747 20.099 4.200 1.00 0.00 C +HETATM 6604 H4 MOL Y 1 29.814 19.026 4.036 1.00 0.00 H +HETATM 6605 C5 MOL Y 1 28.607 20.419 4.801 1.00 0.00 C +HETATM 6606 H5 MOL Y 1 27.916 19.714 5.255 1.00 0.00 H +HETATM 6607 C6 MOL Y 1 28.152 21.782 4.716 1.00 0.00 C +HETATM 6608 C7 MOL Y 1 26.786 22.097 5.277 1.00 0.00 C +HETATM 6609 H6 MOL Y 1 26.498 21.389 6.058 1.00 0.00 H +HETATM 6610 H7 MOL Y 1 26.044 22.247 4.489 1.00 0.00 H +HETATM 6611 O1 MOL Y 1 26.944 23.374 5.946 1.00 0.00 O +HETATM 6612 H8 MOL Y 1 27.012 23.165 6.894 1.00 0.00 H +TER 6613 MOL Y 1 +HETATM 6614 C1 MOL Z 1 13.032 18.062 23.902 1.00 0.00 C +HETATM 6615 H1 MOL Z 1 13.227 18.318 24.940 1.00 0.00 H +HETATM 6616 C2 MOL Z 1 11.740 18.249 23.440 1.00 0.00 C +HETATM 6617 H2 MOL Z 1 10.942 18.564 24.108 1.00 0.00 H +HETATM 6618 C3 MOL Z 1 11.396 17.927 22.138 1.00 0.00 C +HETATM 6619 H3 MOL Z 1 10.356 18.032 21.839 1.00 0.00 H +HETATM 6620 C4 MOL Z 1 12.398 17.335 21.301 1.00 0.00 C +HETATM 6621 H4 MOL Z 1 12.115 17.123 20.273 1.00 0.00 H +HETATM 6622 C5 MOL Z 1 13.755 17.313 21.683 1.00 0.00 C +HETATM 6623 H5 MOL Z 1 14.494 16.868 21.021 1.00 0.00 H +HETATM 6624 C6 MOL Z 1 14.069 17.549 23.014 1.00 0.00 C +HETATM 6625 C7 MOL Z 1 15.485 17.320 23.467 1.00 0.00 C +HETATM 6626 H6 MOL Z 1 16.152 17.880 22.807 1.00 0.00 H +HETATM 6627 H7 MOL Z 1 15.681 16.270 23.236 1.00 0.00 H +HETATM 6628 O1 MOL Z 1 15.809 17.475 24.844 1.00 0.00 O +HETATM 6629 H8 MOL Z 1 16.303 18.313 24.891 1.00 0.00 H +TER 6630 MOL Z 1 +HETATM 6631 C1 MOL A 1 1.541 20.615 4.449 1.00 0.00 C +HETATM 6632 H1 MOL A 1 1.588 21.636 4.079 1.00 0.00 H +HETATM 6633 C2 MOL A 1 2.696 20.006 4.956 1.00 0.00 C +HETATM 6634 H2 MOL A 1 3.637 20.546 4.892 1.00 0.00 H +HETATM 6635 C3 MOL A 1 2.712 18.655 5.299 1.00 0.00 C +HETATM 6636 H3 MOL A 1 3.608 18.201 5.716 1.00 0.00 H +HETATM 6637 C4 MOL A 1 1.505 17.961 5.327 1.00 0.00 C +HETATM 6638 H4 MOL A 1 1.471 16.940 5.700 1.00 0.00 H +HETATM 6639 C5 MOL A 1 0.310 18.662 5.018 1.00 0.00 C +HETATM 6640 H5 MOL A 1 -0.664 18.201 5.164 1.00 0.00 H +HETATM 6641 C6 MOL A 1 0.395 19.918 4.528 1.00 0.00 C +HETATM 6642 C7 MOL A 1 -0.919 20.668 4.216 1.00 0.00 C +HETATM 6643 H6 MOL A 1 -1.142 21.334 5.054 1.00 0.00 H +HETATM 6644 H7 MOL A 1 -1.770 19.985 4.147 1.00 0.00 H +HETATM 6645 O1 MOL A 1 -0.969 21.466 3.016 1.00 0.00 O +HETATM 6646 H8 MOL A 1 -1.141 20.934 2.218 1.00 0.00 H +TER 6647 MOL A 1 +HETATM 6648 C1 MOL B 1 5.679 22.286 30.654 1.00 0.00 C +HETATM 6649 H1 MOL B 1 5.987 23.174 31.200 1.00 0.00 H +HETATM 6650 C2 MOL B 1 5.216 22.332 29.323 1.00 0.00 C +HETATM 6651 H2 MOL B 1 5.072 23.258 28.772 1.00 0.00 H +HETATM 6652 C3 MOL B 1 4.796 21.166 28.693 1.00 0.00 C +HETATM 6653 H3 MOL B 1 4.421 21.088 27.675 1.00 0.00 H +HETATM 6654 C4 MOL B 1 4.796 20.033 29.406 1.00 0.00 C +HETATM 6655 H4 MOL B 1 4.347 19.137 28.985 1.00 0.00 H +HETATM 6656 C5 MOL B 1 5.250 19.984 30.689 1.00 0.00 C +HETATM 6657 H5 MOL B 1 5.313 19.050 31.242 1.00 0.00 H +HETATM 6658 C6 MOL B 1 5.728 21.111 31.300 1.00 0.00 C +HETATM 6659 C7 MOL B 1 6.252 21.012 32.712 1.00 0.00 C +HETATM 6660 H6 MOL B 1 5.560 20.444 33.338 1.00 0.00 H +HETATM 6661 H7 MOL B 1 6.134 22.068 32.970 1.00 0.00 H +HETATM 6662 O1 MOL B 1 7.558 20.526 32.814 1.00 0.00 O +HETATM 6663 H8 MOL B 1 7.479 19.626 32.451 1.00 0.00 H +TER 6664 MOL B 1 +HETATM 6665 C1 MOL C 1 29.443 3.745 33.220 1.00 0.00 C +HETATM 6666 H1 MOL C 1 28.637 4.165 33.816 1.00 0.00 H +HETATM 6667 C2 MOL C 1 30.240 2.758 33.855 1.00 0.00 C +HETATM 6668 H2 MOL C 1 30.114 2.566 34.917 1.00 0.00 H +HETATM 6669 C3 MOL C 1 31.199 2.155 33.136 1.00 0.00 C +HETATM 6670 H3 MOL C 1 31.850 1.412 33.592 1.00 0.00 H +HETATM 6671 C4 MOL C 1 31.462 2.480 31.805 1.00 0.00 C +HETATM 6672 H4 MOL C 1 32.157 1.968 31.144 1.00 0.00 H +HETATM 6673 C5 MOL C 1 30.616 3.402 31.234 1.00 0.00 C +HETATM 6674 H5 MOL C 1 30.822 3.783 30.237 1.00 0.00 H +HETATM 6675 C6 MOL C 1 29.605 4.085 31.907 1.00 0.00 C +HETATM 6676 C7 MOL C 1 28.632 5.166 31.317 1.00 0.00 C +HETATM 6677 H6 MOL C 1 28.609 6.095 31.893 1.00 0.00 H +HETATM 6678 H7 MOL C 1 27.617 4.780 31.441 1.00 0.00 H +HETATM 6679 O1 MOL C 1 28.761 5.317 29.919 1.00 0.00 O +HETATM 6680 H8 MOL C 1 29.404 6.032 29.763 1.00 0.00 H +TER 6681 MOL C 1 +HETATM 6682 C1 MOL D 1 13.286 20.564 40.297 1.00 0.00 C +HETATM 6683 H1 MOL D 1 13.264 21.080 39.340 1.00 0.00 H +HETATM 6684 C2 MOL D 1 12.564 19.380 40.255 1.00 0.00 C +HETATM 6685 H2 MOL D 1 12.087 19.085 39.324 1.00 0.00 H +HETATM 6686 C3 MOL D 1 12.534 18.641 41.459 1.00 0.00 C +HETATM 6687 H3 MOL D 1 12.036 17.675 41.457 1.00 0.00 H +HETATM 6688 C4 MOL D 1 13.231 19.082 42.578 1.00 0.00 C +HETATM 6689 H4 MOL D 1 13.330 18.438 43.448 1.00 0.00 H +HETATM 6690 C5 MOL D 1 13.967 20.255 42.573 1.00 0.00 C +HETATM 6691 H5 MOL D 1 14.564 20.462 43.457 1.00 0.00 H +HETATM 6692 C6 MOL D 1 14.036 21.015 41.412 1.00 0.00 C +HETATM 6693 C7 MOL D 1 15.029 22.232 41.288 1.00 0.00 C +HETATM 6694 H6 MOL D 1 14.734 23.017 41.989 1.00 0.00 H +HETATM 6695 H7 MOL D 1 15.082 22.704 40.304 1.00 0.00 H +HETATM 6696 O1 MOL D 1 16.351 21.953 41.607 1.00 0.00 O +HETATM 6697 H8 MOL D 1 16.452 20.997 41.447 1.00 0.00 H +TER 6698 MOL D 1 +HETATM 6699 C1 MOL E 1 16.237 12.198 21.986 1.00 0.00 C +HETATM 6700 H1 MOL E 1 15.861 12.162 23.005 1.00 0.00 H +HETATM 6701 C2 MOL E 1 15.812 13.229 21.244 1.00 0.00 C +HETATM 6702 H2 MOL E 1 15.050 13.869 21.681 1.00 0.00 H +HETATM 6703 C3 MOL E 1 16.255 13.350 19.908 1.00 0.00 C +HETATM 6704 H3 MOL E 1 15.883 14.236 19.400 1.00 0.00 H +HETATM 6705 C4 MOL E 1 17.269 12.546 19.439 1.00 0.00 C +HETATM 6706 H4 MOL E 1 17.691 12.779 18.465 1.00 0.00 H +HETATM 6707 C5 MOL E 1 17.643 11.397 20.130 1.00 0.00 C +HETATM 6708 H5 MOL E 1 18.461 10.777 19.772 1.00 0.00 H +HETATM 6709 C6 MOL E 1 17.154 11.262 21.431 1.00 0.00 C +HETATM 6710 C7 MOL E 1 17.646 10.070 22.270 1.00 0.00 C +HETATM 6711 H6 MOL E 1 17.910 10.379 23.284 1.00 0.00 H +HETATM 6712 H7 MOL E 1 18.630 9.776 21.897 1.00 0.00 H +HETATM 6713 O1 MOL E 1 16.684 8.923 22.167 1.00 0.00 O +HETATM 6714 H8 MOL E 1 17.160 8.210 21.703 1.00 0.00 H +TER 6715 MOL E 1 +HETATM 6716 C1 MOL F 1 29.452 23.145 15.432 1.00 0.00 C +HETATM 6717 H1 MOL F 1 29.408 22.785 14.407 1.00 0.00 H +HETATM 6718 C2 MOL F 1 28.657 24.341 15.700 1.00 0.00 C +HETATM 6719 H2 MOL F 1 28.009 24.775 14.942 1.00 0.00 H +HETATM 6720 C3 MOL F 1 28.593 24.869 16.990 1.00 0.00 C +HETATM 6721 H3 MOL F 1 28.009 25.755 17.223 1.00 0.00 H +HETATM 6722 C4 MOL F 1 29.434 24.375 17.967 1.00 0.00 C +HETATM 6723 H4 MOL F 1 29.487 24.936 18.897 1.00 0.00 H +HETATM 6724 C5 MOL F 1 30.184 23.160 17.671 1.00 0.00 C +HETATM 6725 H5 MOL F 1 30.789 22.737 18.469 1.00 0.00 H +HETATM 6726 C6 MOL F 1 30.170 22.514 16.440 1.00 0.00 C +HETATM 6727 C7 MOL F 1 30.870 21.229 16.198 1.00 0.00 C +HETATM 6728 H6 MOL F 1 31.010 21.041 15.131 1.00 0.00 H +HETATM 6729 H7 MOL F 1 30.116 20.523 16.554 1.00 0.00 H +HETATM 6730 O1 MOL F 1 32.115 21.117 16.857 1.00 0.00 O +HETATM 6731 H8 MOL F 1 32.496 22.000 16.704 1.00 0.00 H +TER 6732 MOL F 1 +HETATM 6733 C1 MOL G 1 8.400 39.228 11.487 1.00 0.00 C +HETATM 6734 H1 MOL G 1 8.243 38.647 12.392 1.00 0.00 H +HETATM 6735 C2 MOL G 1 9.296 38.877 10.471 1.00 0.00 C +HETATM 6736 H2 MOL G 1 9.793 37.912 10.532 1.00 0.00 H +HETATM 6737 C3 MOL G 1 9.393 39.736 9.410 1.00 0.00 C +HETATM 6738 H3 MOL G 1 9.992 39.344 8.592 1.00 0.00 H +HETATM 6739 C4 MOL G 1 8.675 40.913 9.257 1.00 0.00 C +HETATM 6740 H4 MOL G 1 8.788 41.545 8.380 1.00 0.00 H +HETATM 6741 C5 MOL G 1 7.682 41.168 10.227 1.00 0.00 C +HETATM 6742 H5 MOL G 1 7.031 42.038 10.191 1.00 0.00 H +HETATM 6743 C6 MOL G 1 7.530 40.275 11.277 1.00 0.00 C +HETATM 6744 C7 MOL G 1 6.475 40.577 12.220 1.00 0.00 C +HETATM 6745 H6 MOL G 1 6.185 39.668 12.754 1.00 0.00 H +HETATM 6746 H7 MOL G 1 5.623 40.911 11.623 1.00 0.00 H +HETATM 6747 O1 MOL G 1 6.686 41.642 13.129 1.00 0.00 O +HETATM 6748 H8 MOL G 1 7.609 41.486 13.398 1.00 0.00 H +TER 6749 MOL G 1 +HETATM 6750 C1 MOL H 1 43.740 3.614 4.838 1.00 0.00 C +HETATM 6751 H1 MOL H 1 43.510 4.378 4.099 1.00 0.00 H +HETATM 6752 C2 MOL H 1 43.237 2.428 4.585 1.00 0.00 C +HETATM 6753 H2 MOL H 1 42.629 2.357 3.687 1.00 0.00 H +HETATM 6754 C3 MOL H 1 43.441 1.419 5.461 1.00 0.00 C +HETATM 6755 H3 MOL H 1 42.859 0.505 5.373 1.00 0.00 H +HETATM 6756 C4 MOL H 1 44.179 1.667 6.637 1.00 0.00 C +HETATM 6757 H4 MOL H 1 44.309 0.881 7.376 1.00 0.00 H +HETATM 6758 C5 MOL H 1 44.665 2.884 6.862 1.00 0.00 C +HETATM 6759 H5 MOL H 1 45.240 3.070 7.765 1.00 0.00 H +HETATM 6760 C6 MOL H 1 44.389 3.937 5.993 1.00 0.00 C +HETATM 6761 C7 MOL H 1 44.882 5.395 6.211 1.00 0.00 C +HETATM 6762 H6 MOL H 1 45.919 5.427 5.867 1.00 0.00 H +HETATM 6763 H7 MOL H 1 45.000 5.741 7.241 1.00 0.00 H +HETATM 6764 O1 MOL H 1 44.046 6.272 5.548 1.00 0.00 O +HETATM 6765 H8 MOL H 1 43.127 6.089 5.816 1.00 0.00 H +TER 6766 MOL H 1 +HETATM 6767 C1 MOL I 1 7.405 32.875 26.116 1.00 0.00 C +HETATM 6768 H1 MOL I 1 7.564 32.346 25.180 1.00 0.00 H +HETATM 6769 C2 MOL I 1 8.421 33.687 26.506 1.00 0.00 C +HETATM 6770 H2 MOL I 1 9.371 33.655 25.980 1.00 0.00 H +HETATM 6771 C3 MOL I 1 8.312 34.345 27.726 1.00 0.00 C +HETATM 6772 H3 MOL I 1 9.079 35.073 27.975 1.00 0.00 H +HETATM 6773 C4 MOL I 1 7.161 34.386 28.421 1.00 0.00 C +HETATM 6774 H4 MOL I 1 7.107 35.081 29.255 1.00 0.00 H +HETATM 6775 C5 MOL I 1 6.070 33.545 28.097 1.00 0.00 C +HETATM 6776 H5 MOL I 1 5.206 33.597 28.754 1.00 0.00 H +HETATM 6777 C6 MOL I 1 6.215 32.774 26.876 1.00 0.00 C +HETATM 6778 C7 MOL I 1 5.019 31.899 26.393 1.00 0.00 C +HETATM 6779 H6 MOL I 1 4.909 31.992 25.309 1.00 0.00 H +HETATM 6780 H7 MOL I 1 4.068 32.225 26.822 1.00 0.00 H +HETATM 6781 O1 MOL I 1 5.140 30.473 26.501 1.00 0.00 O +HETATM 6782 H8 MOL I 1 5.974 30.312 26.025 1.00 0.00 H +TER 6783 MOL I 1 +HETATM 6784 C1 MOL J 1 5.248 8.644 15.346 1.00 0.00 C +HETATM 6785 H1 MOL J 1 4.973 7.602 15.489 1.00 0.00 H +HETATM 6786 C2 MOL J 1 6.567 8.978 15.297 1.00 0.00 C +HETATM 6787 H2 MOL J 1 7.334 8.210 15.241 1.00 0.00 H +HETATM 6788 C3 MOL J 1 6.967 10.287 15.226 1.00 0.00 C +HETATM 6789 H3 MOL J 1 8.014 10.573 15.180 1.00 0.00 H +HETATM 6790 C4 MOL J 1 5.970 11.315 15.038 1.00 0.00 C +HETATM 6791 H4 MOL J 1 6.251 12.345 14.836 1.00 0.00 H +HETATM 6792 C5 MOL J 1 4.654 10.982 15.081 1.00 0.00 C +HETATM 6793 H5 MOL J 1 3.898 11.761 15.053 1.00 0.00 H +HETATM 6794 C6 MOL J 1 4.276 9.631 15.233 1.00 0.00 C +HETATM 6795 C7 MOL J 1 2.853 9.211 15.006 1.00 0.00 C +HETATM 6796 H6 MOL J 1 2.758 8.246 15.511 1.00 0.00 H +HETATM 6797 H7 MOL J 1 2.711 8.846 13.985 1.00 0.00 H +HETATM 6798 O1 MOL J 1 1.823 10.132 15.422 1.00 0.00 O +HETATM 6799 H8 MOL J 1 2.061 10.323 16.347 1.00 0.00 H +TER 6800 MOL J 1 +HETATM 6801 C1 MOL K 1 11.370 22.639 31.335 1.00 0.00 C +HETATM 6802 H1 MOL K 1 12.294 22.422 31.865 1.00 0.00 H +HETATM 6803 C2 MOL K 1 11.197 23.882 30.757 1.00 0.00 C +HETATM 6804 H2 MOL K 1 11.907 24.694 30.893 1.00 0.00 H +HETATM 6805 C3 MOL K 1 10.225 23.985 29.752 1.00 0.00 C +HETATM 6806 H3 MOL K 1 10.025 24.915 29.225 1.00 0.00 H +HETATM 6807 C4 MOL K 1 9.189 22.988 29.682 1.00 0.00 C +HETATM 6808 H4 MOL K 1 8.401 23.003 28.933 1.00 0.00 H +HETATM 6809 C5 MOL K 1 9.286 21.829 30.427 1.00 0.00 C +HETATM 6810 H5 MOL K 1 8.417 21.184 30.526 1.00 0.00 H +HETATM 6811 C6 MOL K 1 10.423 21.585 31.205 1.00 0.00 C +HETATM 6812 C7 MOL K 1 10.775 20.170 31.824 1.00 0.00 C +HETATM 6813 H6 MOL K 1 10.388 20.090 32.843 1.00 0.00 H +HETATM 6814 H7 MOL K 1 11.859 20.079 31.933 1.00 0.00 H +HETATM 6815 O1 MOL K 1 10.312 19.104 31.032 1.00 0.00 O +HETATM 6816 H8 MOL K 1 10.995 18.848 30.386 1.00 0.00 H +TER 6817 MOL K 1 +HETATM 6818 C1 MOL L 1 20.095 24.113 28.066 1.00 0.00 C +HETATM 6819 H1 MOL L 1 19.446 23.721 27.287 1.00 0.00 H +HETATM 6820 C2 MOL L 1 20.746 25.337 27.769 1.00 0.00 C +HETATM 6821 H2 MOL L 1 20.463 25.883 26.873 1.00 0.00 H +HETATM 6822 C3 MOL L 1 21.623 25.907 28.659 1.00 0.00 C +HETATM 6823 H3 MOL L 1 22.125 26.848 28.450 1.00 0.00 H +HETATM 6824 C4 MOL L 1 21.963 25.242 29.843 1.00 0.00 C +HETATM 6825 H4 MOL L 1 22.741 25.609 30.508 1.00 0.00 H +HETATM 6826 C5 MOL L 1 21.311 24.055 30.142 1.00 0.00 C +HETATM 6827 H5 MOL L 1 21.517 23.581 31.098 1.00 0.00 H +HETATM 6828 C6 MOL L 1 20.383 23.500 29.275 1.00 0.00 C +HETATM 6829 C7 MOL L 1 19.645 22.175 29.609 1.00 0.00 C +HETATM 6830 H6 MOL L 1 20.310 21.512 30.168 1.00 0.00 H +HETATM 6831 H7 MOL L 1 19.326 21.614 28.727 1.00 0.00 H +HETATM 6832 O1 MOL L 1 18.458 22.406 30.342 1.00 0.00 O +HETATM 6833 H8 MOL L 1 17.830 21.692 30.131 1.00 0.00 H +TER 6834 MOL L 1 +HETATM 6835 C1 MOL M 1 42.910 40.539 6.068 1.00 0.00 C +HETATM 6836 H1 MOL M 1 43.971 40.568 5.837 1.00 0.00 H +HETATM 6837 C2 MOL M 1 42.203 41.599 6.583 1.00 0.00 C +HETATM 6838 H2 MOL M 1 42.578 42.614 6.681 1.00 0.00 H +HETATM 6839 C3 MOL M 1 40.894 41.417 7.032 1.00 0.00 C +HETATM 6840 H3 MOL M 1 40.366 42.288 7.412 1.00 0.00 H +HETATM 6841 C4 MOL M 1 40.309 40.167 7.005 1.00 0.00 C +HETATM 6842 H4 MOL M 1 39.271 39.997 7.278 1.00 0.00 H +HETATM 6843 C5 MOL M 1 41.043 39.051 6.485 1.00 0.00 C +HETATM 6844 H5 MOL M 1 40.620 38.050 6.518 1.00 0.00 H +HETATM 6845 C6 MOL M 1 42.248 39.266 5.976 1.00 0.00 C +HETATM 6846 C7 MOL M 1 43.009 38.196 5.268 1.00 0.00 C +HETATM 6847 H6 MOL M 1 43.341 37.373 5.907 1.00 0.00 H +HETATM 6848 H7 MOL M 1 43.974 38.505 4.859 1.00 0.00 H +HETATM 6849 O1 MOL M 1 42.373 37.559 4.209 1.00 0.00 O +HETATM 6850 H8 MOL M 1 42.094 38.150 3.487 1.00 0.00 H +TER 6851 MOL M 1 +HETATM 6852 C1 MOL N 1 24.992 1.621 42.165 1.00 0.00 C +HETATM 6853 H1 MOL N 1 25.899 1.284 41.669 1.00 0.00 H +HETATM 6854 C2 MOL N 1 24.535 0.912 43.275 1.00 0.00 C +HETATM 6855 H2 MOL N 1 25.189 0.114 43.616 1.00 0.00 H +HETATM 6856 C3 MOL N 1 23.346 1.303 43.990 1.00 0.00 C +HETATM 6857 H3 MOL N 1 23.083 0.842 44.938 1.00 0.00 H +HETATM 6858 C4 MOL N 1 22.590 2.352 43.452 1.00 0.00 C +HETATM 6859 H4 MOL N 1 21.732 2.711 44.015 1.00 0.00 H +HETATM 6860 C5 MOL N 1 22.977 3.004 42.265 1.00 0.00 C +HETATM 6861 H5 MOL N 1 22.398 3.812 41.825 1.00 0.00 H +HETATM 6862 C6 MOL N 1 24.161 2.638 41.642 1.00 0.00 C +HETATM 6863 C7 MOL N 1 24.685 3.412 40.402 1.00 0.00 C +HETATM 6864 H6 MOL N 1 25.643 3.864 40.670 1.00 0.00 H +HETATM 6865 H7 MOL N 1 24.055 4.241 40.070 1.00 0.00 H +HETATM 6866 O1 MOL N 1 24.807 2.526 39.282 1.00 0.00 O +HETATM 6867 H8 MOL N 1 25.526 2.869 38.722 1.00 0.00 H +TER 6868 MOL N 1 +HETATM 6869 C1 MOL O 1 33.448 32.934 17.148 1.00 0.00 C +HETATM 6870 H1 MOL O 1 33.106 32.298 16.335 1.00 0.00 H +HETATM 6871 C2 MOL O 1 34.685 33.583 17.102 1.00 0.00 C +HETATM 6872 H2 MOL O 1 35.311 33.475 16.221 1.00 0.00 H +HETATM 6873 C3 MOL O 1 35.063 34.284 18.195 1.00 0.00 C +HETATM 6874 H3 MOL O 1 36.010 34.817 18.221 1.00 0.00 H +HETATM 6875 C4 MOL O 1 34.318 34.387 19.342 1.00 0.00 C +HETATM 6876 H4 MOL O 1 34.761 34.868 20.210 1.00 0.00 H +HETATM 6877 C5 MOL O 1 33.048 33.863 19.338 1.00 0.00 C +HETATM 6878 H5 MOL O 1 32.348 34.046 20.150 1.00 0.00 H +HETATM 6879 C6 MOL O 1 32.572 33.148 18.250 1.00 0.00 C +HETATM 6880 C7 MOL O 1 31.132 32.611 18.170 1.00 0.00 C +HETATM 6881 H6 MOL O 1 30.511 32.799 19.050 1.00 0.00 H +HETATM 6882 H7 MOL O 1 31.220 31.551 17.921 1.00 0.00 H +HETATM 6883 O1 MOL O 1 30.347 33.245 17.071 1.00 0.00 O +HETATM 6884 H8 MOL O 1 29.412 33.018 17.222 1.00 0.00 H +TER 6885 MOL O 1 +HETATM 6886 C1 MOL P 1 24.342 31.444 35.162 1.00 0.00 C +HETATM 6887 H1 MOL P 1 23.712 31.811 35.969 1.00 0.00 H +HETATM 6888 C2 MOL P 1 25.601 31.000 35.565 1.00 0.00 C +HETATM 6889 H2 MOL P 1 25.874 30.867 36.608 1.00 0.00 H +HETATM 6890 C3 MOL P 1 26.442 30.477 34.592 1.00 0.00 C +HETATM 6891 H3 MOL P 1 27.455 30.146 34.804 1.00 0.00 H +HETATM 6892 C4 MOL P 1 26.037 30.411 33.270 1.00 0.00 C +HETATM 6893 H4 MOL P 1 26.590 29.996 32.432 1.00 0.00 H +HETATM 6894 C5 MOL P 1 24.790 30.827 32.953 1.00 0.00 C +HETATM 6895 H5 MOL P 1 24.272 30.721 32.003 1.00 0.00 H +HETATM 6896 C6 MOL P 1 23.906 31.339 33.861 1.00 0.00 C +HETATM 6897 C7 MOL P 1 22.502 31.823 33.568 1.00 0.00 C +HETATM 6898 H6 MOL P 1 21.914 31.994 34.474 1.00 0.00 H +HETATM 6899 H7 MOL P 1 22.003 31.146 32.870 1.00 0.00 H +HETATM 6900 O1 MOL P 1 22.598 33.081 32.947 1.00 0.00 O +HETATM 6901 H8 MOL P 1 22.990 33.783 33.497 1.00 0.00 H +TER 6902 MOL P 1 +HETATM 6903 C1 MOL Q 1 24.624 42.059 11.231 1.00 0.00 C +HETATM 6904 H1 MOL Q 1 24.821 42.758 10.422 1.00 0.00 H +HETATM 6905 C2 MOL Q 1 23.538 42.445 12.039 1.00 0.00 C +HETATM 6906 H2 MOL Q 1 22.889 43.252 11.709 1.00 0.00 H +HETATM 6907 C3 MOL Q 1 23.236 41.723 13.227 1.00 0.00 C +HETATM 6908 H3 MOL Q 1 22.364 42.012 13.807 1.00 0.00 H +HETATM 6909 C4 MOL Q 1 24.021 40.586 13.550 1.00 0.00 C +HETATM 6910 H4 MOL Q 1 23.827 40.152 14.527 1.00 0.00 H +HETATM 6911 C5 MOL Q 1 25.126 40.253 12.704 1.00 0.00 C +HETATM 6912 H5 MOL Q 1 25.781 39.453 13.039 1.00 0.00 H +HETATM 6913 C6 MOL Q 1 25.372 40.955 11.493 1.00 0.00 C +HETATM 6914 C7 MOL Q 1 26.648 40.669 10.696 1.00 0.00 C +HETATM 6915 H6 MOL Q 1 26.252 40.546 9.685 1.00 0.00 H +HETATM 6916 H7 MOL Q 1 27.059 39.683 10.927 1.00 0.00 H +HETATM 6917 O1 MOL Q 1 27.656 41.719 10.795 1.00 0.00 O +HETATM 6918 H8 MOL Q 1 28.263 41.371 11.472 1.00 0.00 H +TER 6919 MOL Q 1 +HETATM 6920 C1 MOL R 1 10.062 2.846 34.880 1.00 0.00 C +HETATM 6921 H1 MOL R 1 10.041 3.580 34.079 1.00 0.00 H +HETATM 6922 C2 MOL R 1 11.072 1.906 35.016 1.00 0.00 C +HETATM 6923 H2 MOL R 1 11.842 1.906 34.249 1.00 0.00 H +HETATM 6924 C3 MOL R 1 10.971 0.884 35.962 1.00 0.00 C +HETATM 6925 H3 MOL R 1 11.673 0.056 36.026 1.00 0.00 H +HETATM 6926 C4 MOL R 1 9.922 0.936 36.910 1.00 0.00 C +HETATM 6927 H4 MOL R 1 9.780 0.149 37.647 1.00 0.00 H +HETATM 6928 C5 MOL R 1 8.963 1.880 36.817 1.00 0.00 C +HETATM 6929 H5 MOL R 1 8.123 1.886 37.507 1.00 0.00 H +HETATM 6930 C6 MOL R 1 8.985 2.802 35.720 1.00 0.00 C +HETATM 6931 C7 MOL R 1 7.832 3.770 35.560 1.00 0.00 C +HETATM 6932 H6 MOL R 1 7.923 4.769 35.993 1.00 0.00 H +HETATM 6933 H7 MOL R 1 6.904 3.382 35.987 1.00 0.00 H +HETATM 6934 O1 MOL R 1 7.567 3.964 34.173 1.00 0.00 O +HETATM 6935 H8 MOL R 1 7.439 3.087 33.770 1.00 0.00 H +TER 6936 MOL R 1 +HETATM 6937 C1 MOL S 1 27.446 15.874 28.787 1.00 0.00 C +HETATM 6938 H1 MOL S 1 27.359 16.552 29.631 1.00 0.00 H +HETATM 6939 C2 MOL S 1 27.551 16.374 27.480 1.00 0.00 C +HETATM 6940 H2 MOL S 1 27.676 17.452 27.432 1.00 0.00 H +HETATM 6941 C3 MOL S 1 27.572 15.511 26.395 1.00 0.00 C +HETATM 6942 H3 MOL S 1 27.426 15.833 25.367 1.00 0.00 H +HETATM 6943 C4 MOL S 1 27.599 14.131 26.633 1.00 0.00 C +HETATM 6944 H4 MOL S 1 27.503 13.520 25.739 1.00 0.00 H +HETATM 6945 C5 MOL S 1 27.693 13.587 27.916 1.00 0.00 C +HETATM 6946 H5 MOL S 1 27.683 12.514 28.093 1.00 0.00 H +HETATM 6947 C6 MOL S 1 27.664 14.517 29.006 1.00 0.00 C +HETATM 6948 C7 MOL S 1 27.533 13.952 30.355 1.00 0.00 C +HETATM 6949 H6 MOL S 1 28.381 14.378 30.897 1.00 0.00 H +HETATM 6950 H7 MOL S 1 27.513 12.861 30.290 1.00 0.00 H +HETATM 6951 O1 MOL S 1 26.260 14.348 30.963 1.00 0.00 O +HETATM 6952 H8 MOL S 1 25.497 14.355 30.357 1.00 0.00 H +TER 6953 MOL S 1 +HETATM 6954 C1 MOL T 1 30.139 36.805 7.876 1.00 0.00 C +HETATM 6955 H1 MOL T 1 31.063 36.253 7.726 1.00 0.00 H +HETATM 6956 C2 MOL T 1 28.942 36.396 7.346 1.00 0.00 C +HETATM 6957 H2 MOL T 1 28.947 35.445 6.820 1.00 0.00 H +HETATM 6958 C3 MOL T 1 27.809 37.267 7.303 1.00 0.00 C +HETATM 6959 H3 MOL T 1 26.931 36.927 6.760 1.00 0.00 H +HETATM 6960 C4 MOL T 1 27.837 38.444 8.010 1.00 0.00 C +HETATM 6961 H4 MOL T 1 26.873 38.938 8.103 1.00 0.00 H +HETATM 6962 C5 MOL T 1 29.030 38.796 8.659 1.00 0.00 C +HETATM 6963 H5 MOL T 1 29.103 39.776 9.123 1.00 0.00 H +HETATM 6964 C6 MOL T 1 30.220 38.007 8.599 1.00 0.00 C +HETATM 6965 C7 MOL T 1 31.534 38.486 9.210 1.00 0.00 C +HETATM 6966 H6 MOL T 1 32.021 37.668 9.747 1.00 0.00 H +HETATM 6967 H7 MOL T 1 31.346 39.307 9.906 1.00 0.00 H +HETATM 6968 O1 MOL T 1 32.425 38.839 8.145 1.00 0.00 O +HETATM 6969 H8 MOL T 1 32.095 39.718 7.886 1.00 0.00 H +TER 6970 MOL T 1 +HETATM 6971 C1 MOL U 1 23.860 19.355 39.080 1.00 0.00 C +HETATM 6972 H1 MOL U 1 23.088 20.102 39.245 1.00 0.00 H +HETATM 6973 C2 MOL U 1 24.552 18.920 40.177 1.00 0.00 C +HETATM 6974 H2 MOL U 1 24.316 19.265 41.181 1.00 0.00 H +HETATM 6975 C3 MOL U 1 25.615 18.063 40.009 1.00 0.00 C +HETATM 6976 H3 MOL U 1 26.134 17.650 40.870 1.00 0.00 H +HETATM 6977 C4 MOL U 1 26.018 17.625 38.807 1.00 0.00 C +HETATM 6978 H4 MOL U 1 26.830 16.913 38.684 1.00 0.00 H +HETATM 6979 C5 MOL U 1 25.316 18.054 37.693 1.00 0.00 C +HETATM 6980 H5 MOL U 1 25.783 17.739 36.764 1.00 0.00 H +HETATM 6981 C6 MOL U 1 24.258 18.948 37.780 1.00 0.00 C +HETATM 6982 C7 MOL U 1 23.647 19.529 36.490 1.00 0.00 C +HETATM 6983 H6 MOL U 1 23.901 18.948 35.600 1.00 0.00 H +HETATM 6984 H7 MOL U 1 24.095 20.500 36.263 1.00 0.00 H +HETATM 6985 O1 MOL U 1 22.211 19.679 36.471 1.00 0.00 O +HETATM 6986 H8 MOL U 1 21.851 18.797 36.675 1.00 0.00 H +TER 6987 MOL U 1 +HETATM 6988 C1 MOL V 1 6.293 5.050 40.963 1.00 0.00 C +HETATM 6989 H1 MOL V 1 5.697 4.321 41.505 1.00 0.00 H +HETATM 6990 C2 MOL V 1 7.273 5.711 41.701 1.00 0.00 C +HETATM 6991 H2 MOL V 1 7.390 5.419 42.742 1.00 0.00 H +HETATM 6992 C3 MOL V 1 8.187 6.644 41.150 1.00 0.00 C +HETATM 6993 H3 MOL V 1 8.873 7.136 41.834 1.00 0.00 H +HETATM 6994 C4 MOL V 1 8.003 6.856 39.814 1.00 0.00 C +HETATM 6995 H4 MOL V 1 8.543 7.581 39.211 1.00 0.00 H +HETATM 6996 C5 MOL V 1 6.978 6.311 39.090 1.00 0.00 C +HETATM 6997 H5 MOL V 1 6.981 6.593 38.040 1.00 0.00 H +HETATM 6998 C6 MOL V 1 6.058 5.460 39.642 1.00 0.00 C +HETATM 6999 C7 MOL V 1 5.090 4.823 38.747 1.00 0.00 C +HETATM 7000 H6 MOL V 1 4.843 3.805 39.059 1.00 0.00 H +HETATM 7001 H7 MOL V 1 5.498 4.767 37.735 1.00 0.00 H +HETATM 7002 O1 MOL V 1 3.881 5.643 38.546 1.00 0.00 O +HETATM 7003 H8 MOL V 1 3.799 6.261 39.295 1.00 0.00 H +TER 7004 MOL V 1 +HETATM 7005 C1 MOL W 1 18.882 15.146 32.566 1.00 0.00 C +HETATM 7006 H1 MOL W 1 17.883 14.820 32.288 1.00 0.00 H +HETATM 7007 C2 MOL W 1 19.237 14.535 33.756 1.00 0.00 C +HETATM 7008 H2 MOL W 1 18.632 13.738 34.181 1.00 0.00 H +HETATM 7009 C3 MOL W 1 20.350 14.986 34.430 1.00 0.00 C +HETATM 7010 H3 MOL W 1 20.615 14.476 35.353 1.00 0.00 H +HETATM 7011 C4 MOL W 1 21.243 15.899 33.821 1.00 0.00 C +HETATM 7012 H4 MOL W 1 22.082 16.236 34.424 1.00 0.00 H +HETATM 7013 C5 MOL W 1 20.957 16.406 32.529 1.00 0.00 C +HETATM 7014 H5 MOL W 1 21.566 17.206 32.113 1.00 0.00 H +HETATM 7015 C6 MOL W 1 19.777 16.071 31.911 1.00 0.00 C +HETATM 7016 C7 MOL W 1 19.431 16.794 30.573 1.00 0.00 C +HETATM 7017 H6 MOL W 1 19.082 17.798 30.828 1.00 0.00 H +HETATM 7018 H7 MOL W 1 18.632 16.276 30.037 1.00 0.00 H +HETATM 7019 O1 MOL W 1 20.606 16.892 29.768 1.00 0.00 O +HETATM 7020 H8 MOL W 1 20.720 15.984 29.435 1.00 0.00 H +TER 7021 MOL W 1 +HETATM 7022 C1 MOL X 1 10.848 41.155 34.353 1.00 0.00 C +HETATM 7023 H1 MOL X 1 11.352 41.190 35.316 1.00 0.00 H +HETATM 7024 C2 MOL X 1 10.924 42.277 33.593 1.00 0.00 C +HETATM 7025 H2 MOL X 1 11.418 43.197 33.895 1.00 0.00 H +HETATM 7026 C3 MOL X 1 10.256 42.197 32.356 1.00 0.00 C +HETATM 7027 H3 MOL X 1 10.226 43.076 31.717 1.00 0.00 H +HETATM 7028 C4 MOL X 1 9.485 41.084 31.993 1.00 0.00 C +HETATM 7029 H4 MOL X 1 9.132 41.122 30.966 1.00 0.00 H +HETATM 7030 C5 MOL X 1 9.298 40.043 32.833 1.00 0.00 C +HETATM 7031 H5 MOL X 1 8.655 39.214 32.546 1.00 0.00 H +HETATM 7032 C6 MOL X 1 10.097 40.042 33.983 1.00 0.00 C +HETATM 7033 C7 MOL X 1 10.274 38.767 34.869 1.00 0.00 C +HETATM 7034 H6 MOL X 1 9.748 37.947 34.374 1.00 0.00 H +HETATM 7035 H7 MOL X 1 9.830 38.910 35.857 1.00 0.00 H +HETATM 7036 O1 MOL X 1 11.510 38.348 35.208 1.00 0.00 O +HETATM 7037 H8 MOL X 1 11.371 38.050 36.125 1.00 0.00 H +TER 7038 MOL X 1 +HETATM 7039 C1 MOL Y 1 13.552 37.670 11.122 1.00 0.00 C +HETATM 7040 H1 MOL Y 1 14.210 37.656 10.256 1.00 0.00 H +HETATM 7041 C2 MOL Y 1 13.631 38.632 12.147 1.00 0.00 C +HETATM 7042 H2 MOL Y 1 14.504 39.278 12.183 1.00 0.00 H +HETATM 7043 C3 MOL Y 1 12.712 38.636 13.199 1.00 0.00 C +HETATM 7044 H3 MOL Y 1 12.804 39.404 13.963 1.00 0.00 H +HETATM 7045 C4 MOL Y 1 11.698 37.683 13.290 1.00 0.00 C +HETATM 7046 H4 MOL Y 1 10.889 37.703 14.016 1.00 0.00 H +HETATM 7047 C5 MOL Y 1 11.612 36.757 12.295 1.00 0.00 C +HETATM 7048 H5 MOL Y 1 10.783 36.056 12.242 1.00 0.00 H +HETATM 7049 C6 MOL Y 1 12.565 36.703 11.299 1.00 0.00 C +HETATM 7050 C7 MOL Y 1 12.560 35.650 10.183 1.00 0.00 C +HETATM 7051 H6 MOL Y 1 13.416 35.758 9.510 1.00 0.00 H +HETATM 7052 H7 MOL Y 1 11.665 35.872 9.597 1.00 0.00 H +HETATM 7053 O1 MOL Y 1 12.449 34.308 10.672 1.00 0.00 O +HETATM 7054 H8 MOL Y 1 11.922 34.426 11.482 1.00 0.00 H +TER 7055 MOL Y 1 +HETATM 7056 C1 MOL Z 1 29.478 24.280 39.596 1.00 0.00 C +HETATM 7057 H1 MOL Z 1 29.549 23.221 39.361 1.00 0.00 H +HETATM 7058 C2 MOL Z 1 28.942 24.701 40.801 1.00 0.00 C +HETATM 7059 H2 MOL Z 1 28.539 23.932 41.454 1.00 0.00 H +HETATM 7060 C3 MOL Z 1 28.991 26.068 41.072 1.00 0.00 C +HETATM 7061 H3 MOL Z 1 28.564 26.469 41.987 1.00 0.00 H +HETATM 7062 C4 MOL Z 1 29.577 27.013 40.174 1.00 0.00 C +HETATM 7063 H4 MOL Z 1 29.685 28.070 40.406 1.00 0.00 H +HETATM 7064 C5 MOL Z 1 30.084 26.479 39.042 1.00 0.00 C +HETATM 7065 H5 MOL Z 1 30.690 27.083 38.372 1.00 0.00 H +HETATM 7066 C6 MOL Z 1 29.991 25.211 38.675 1.00 0.00 C +HETATM 7067 C7 MOL Z 1 30.542 24.744 37.347 1.00 0.00 C +HETATM 7068 H6 MOL Z 1 31.631 24.814 37.388 1.00 0.00 H +HETATM 7069 H7 MOL Z 1 30.075 25.398 36.606 1.00 0.00 H +HETATM 7070 O1 MOL Z 1 30.288 23.313 37.143 1.00 0.00 O +HETATM 7071 H8 MOL Z 1 29.322 23.241 37.039 1.00 0.00 H +TER 7072 MOL Z 1 +HETATM 7073 C1 MOL A 1 16.882 22.476 33.437 1.00 0.00 C +HETATM 7074 H1 MOL A 1 17.893 22.772 33.169 1.00 0.00 H +HETATM 7075 C2 MOL A 1 16.713 21.133 33.913 1.00 0.00 C +HETATM 7076 H2 MOL A 1 17.570 20.490 34.096 1.00 0.00 H +HETATM 7077 C3 MOL A 1 15.390 20.636 34.178 1.00 0.00 C +HETATM 7078 H3 MOL A 1 15.109 19.645 34.524 1.00 0.00 H +HETATM 7079 C4 MOL A 1 14.296 21.428 33.871 1.00 0.00 C +HETATM 7080 H4 MOL A 1 13.360 20.899 34.030 1.00 0.00 H +HETATM 7081 C5 MOL A 1 14.437 22.728 33.468 1.00 0.00 C +HETATM 7082 H5 MOL A 1 13.578 23.392 33.422 1.00 0.00 H +HETATM 7083 C6 MOL A 1 15.719 23.260 33.171 1.00 0.00 C +HETATM 7084 C7 MOL A 1 15.934 24.704 32.690 1.00 0.00 C +HETATM 7085 H6 MOL A 1 16.251 24.725 31.644 1.00 0.00 H +HETATM 7086 H7 MOL A 1 16.775 25.045 33.300 1.00 0.00 H +HETATM 7087 O1 MOL A 1 14.847 25.639 32.794 1.00 0.00 O +HETATM 7088 H8 MOL A 1 15.259 26.390 32.329 1.00 0.00 H +TER 7089 MOL A 1 +HETATM 7090 C1 MOL B 1 4.892 -0.309 23.427 1.00 0.00 C +HETATM 7091 H1 MOL B 1 5.328 -1.018 22.728 1.00 0.00 H +HETATM 7092 C2 MOL B 1 3.527 -0.183 23.628 1.00 0.00 C +HETATM 7093 H2 MOL B 1 2.993 -1.098 23.385 1.00 0.00 H +HETATM 7094 C3 MOL B 1 2.990 0.952 24.316 1.00 0.00 C +HETATM 7095 H3 MOL B 1 1.943 0.922 24.606 1.00 0.00 H +HETATM 7096 C4 MOL B 1 3.821 1.944 24.821 1.00 0.00 C +HETATM 7097 H4 MOL B 1 3.381 2.708 25.457 1.00 0.00 H +HETATM 7098 C5 MOL B 1 5.219 1.812 24.570 1.00 0.00 C +HETATM 7099 H5 MOL B 1 5.863 2.576 24.999 1.00 0.00 H +HETATM 7100 C6 MOL B 1 5.711 0.761 23.812 1.00 0.00 C +HETATM 7101 C7 MOL B 1 7.167 0.667 23.460 1.00 0.00 C +HETATM 7102 H6 MOL B 1 7.508 -0.371 23.468 1.00 0.00 H +HETATM 7103 H7 MOL B 1 7.660 1.134 24.316 1.00 0.00 H +HETATM 7104 O1 MOL B 1 7.612 1.297 22.245 1.00 0.00 O +HETATM 7105 H8 MOL B 1 8.580 1.201 22.277 1.00 0.00 H +TER 7106 MOL B 1 +HETATM 7107 C1 MOL C 1 36.251 2.302 9.870 1.00 0.00 C +HETATM 7108 H1 MOL C 1 35.675 1.519 10.357 1.00 0.00 H +HETATM 7109 C2 MOL C 1 36.285 2.483 8.544 1.00 0.00 C +HETATM 7110 H2 MOL C 1 35.703 1.876 7.855 1.00 0.00 H +HETATM 7111 C3 MOL C 1 37.180 3.394 8.024 1.00 0.00 C +HETATM 7112 H3 MOL C 1 37.189 3.492 6.941 1.00 0.00 H +HETATM 7113 C4 MOL C 1 37.847 4.314 8.862 1.00 0.00 C +HETATM 7114 H4 MOL C 1 38.426 5.109 8.398 1.00 0.00 H +HETATM 7115 C5 MOL C 1 37.829 4.122 10.210 1.00 0.00 C +HETATM 7116 H5 MOL C 1 38.505 4.640 10.885 1.00 0.00 H +HETATM 7117 C6 MOL C 1 37.007 3.105 10.744 1.00 0.00 C +HETATM 7118 C7 MOL C 1 36.916 2.867 12.226 1.00 0.00 C +HETATM 7119 H6 MOL C 1 35.905 2.913 12.638 1.00 0.00 H +HETATM 7120 H7 MOL C 1 37.604 3.560 12.718 1.00 0.00 H +HETATM 7121 O1 MOL C 1 37.422 1.551 12.511 1.00 0.00 O +HETATM 7122 H8 MOL C 1 38.285 1.489 12.063 1.00 0.00 H +TER 7123 MOL C 1 +HETATM 7124 C1 MOL D 1 1.595 37.080 39.239 1.00 0.00 C +HETATM 7125 H1 MOL D 1 1.019 37.942 38.913 1.00 0.00 H +HETATM 7126 C2 MOL D 1 1.222 36.327 40.352 1.00 0.00 C +HETATM 7127 H2 MOL D 1 0.330 36.654 40.880 1.00 0.00 H +HETATM 7128 C3 MOL D 1 1.978 35.291 40.854 1.00 0.00 C +HETATM 7129 H3 MOL D 1 1.758 34.612 41.674 1.00 0.00 H +HETATM 7130 C4 MOL D 1 3.214 35.116 40.251 1.00 0.00 C +HETATM 7131 H4 MOL D 1 3.903 34.366 40.633 1.00 0.00 H +HETATM 7132 C5 MOL D 1 3.632 35.856 39.156 1.00 0.00 C +HETATM 7133 H5 MOL D 1 4.670 35.795 38.839 1.00 0.00 H +HETATM 7134 C6 MOL D 1 2.812 36.857 38.665 1.00 0.00 C +HETATM 7135 C7 MOL D 1 3.171 37.934 37.634 1.00 0.00 C +HETATM 7136 H6 MOL D 1 2.304 38.482 37.255 1.00 0.00 H +HETATM 7137 H7 MOL D 1 3.772 37.480 36.843 1.00 0.00 H +HETATM 7138 O1 MOL D 1 3.865 39.002 38.227 1.00 0.00 O +HETATM 7139 H8 MOL D 1 3.195 39.426 38.793 1.00 0.00 H +TER 7140 MOL D 1 +HETATM 7141 C1 MOL E 1 21.341 9.553 14.393 1.00 0.00 C +HETATM 7142 H1 MOL E 1 21.588 9.101 13.436 1.00 0.00 H +HETATM 7143 C2 MOL E 1 20.002 9.734 14.695 1.00 0.00 C +HETATM 7144 H2 MOL E 1 19.220 9.621 13.949 1.00 0.00 H +HETATM 7145 C3 MOL E 1 19.652 10.157 15.978 1.00 0.00 C +HETATM 7146 H3 MOL E 1 18.601 10.363 16.162 1.00 0.00 H +HETATM 7147 C4 MOL E 1 20.631 10.435 16.955 1.00 0.00 C +HETATM 7148 H4 MOL E 1 20.349 10.653 17.982 1.00 0.00 H +HETATM 7149 C5 MOL E 1 21.951 10.146 16.690 1.00 0.00 C +HETATM 7150 H5 MOL E 1 22.675 10.265 17.491 1.00 0.00 H +HETATM 7151 C6 MOL E 1 22.307 9.759 15.423 1.00 0.00 C +HETATM 7152 C7 MOL E 1 23.772 9.695 15.026 1.00 0.00 C +HETATM 7153 H6 MOL E 1 24.270 10.486 15.594 1.00 0.00 H +HETATM 7154 H7 MOL E 1 23.994 9.898 13.976 1.00 0.00 H +HETATM 7155 O1 MOL E 1 24.286 8.431 15.516 1.00 0.00 O +HETATM 7156 H8 MOL E 1 24.047 8.326 16.455 1.00 0.00 H +TER 7157 MOL E 1 +HETATM 7158 C1 MOL F 1 0.075 0.323 34.140 1.00 0.00 C +HETATM 7159 H1 MOL F 1 0.773 -0.028 33.383 1.00 0.00 H +HETATM 7160 C2 MOL F 1 -1.116 -0.313 34.534 1.00 0.00 C +HETATM 7161 H2 MOL F 1 -1.350 -1.369 34.423 1.00 0.00 H +HETATM 7162 C3 MOL F 1 -2.078 0.249 35.334 1.00 0.00 C +HETATM 7163 H3 MOL F 1 -2.976 -0.295 35.614 1.00 0.00 H +HETATM 7164 C4 MOL F 1 -2.015 1.668 35.497 1.00 0.00 C +HETATM 7165 H4 MOL F 1 -2.792 2.249 35.987 1.00 0.00 H +HETATM 7166 C5 MOL F 1 -0.859 2.395 35.073 1.00 0.00 C +HETATM 7167 H5 MOL F 1 -0.749 3.463 35.240 1.00 0.00 H +HETATM 7168 C6 MOL F 1 0.121 1.697 34.293 1.00 0.00 C +HETATM 7169 C7 MOL F 1 1.238 2.492 33.670 1.00 0.00 C +HETATM 7170 H6 MOL F 1 0.958 3.549 33.656 1.00 0.00 H +HETATM 7171 H7 MOL F 1 1.420 2.073 32.677 1.00 0.00 H +HETATM 7172 O1 MOL F 1 2.492 2.501 34.454 1.00 0.00 O +HETATM 7173 H8 MOL F 1 2.310 2.696 35.391 1.00 0.00 H +TER 7174 MOL F 1 +HETATM 7175 C1 MOL G 1 28.080 36.927 11.042 1.00 0.00 C +HETATM 7176 H1 MOL G 1 28.945 36.869 10.386 1.00 0.00 H +HETATM 7177 C2 MOL G 1 26.864 36.598 10.398 1.00 0.00 C +HETATM 7178 H2 MOL G 1 26.874 36.334 9.344 1.00 0.00 H +HETATM 7179 C3 MOL G 1 25.720 36.532 11.217 1.00 0.00 C +HETATM 7180 H3 MOL G 1 24.768 36.173 10.836 1.00 0.00 H +HETATM 7181 C4 MOL G 1 25.796 36.690 12.561 1.00 0.00 C +HETATM 7182 H4 MOL G 1 24.846 36.621 13.085 1.00 0.00 H +HETATM 7183 C5 MOL G 1 27.004 37.000 13.181 1.00 0.00 C +HETATM 7184 H5 MOL G 1 27.023 37.241 14.241 1.00 0.00 H +HETATM 7185 C6 MOL G 1 28.201 37.107 12.424 1.00 0.00 C +HETATM 7186 C7 MOL G 1 29.517 37.353 13.125 1.00 0.00 C +HETATM 7187 H6 MOL G 1 30.358 36.917 12.580 1.00 0.00 H +HETATM 7188 H7 MOL G 1 29.444 36.976 14.148 1.00 0.00 H +HETATM 7189 O1 MOL G 1 29.974 38.728 13.190 1.00 0.00 O +HETATM 7190 H8 MOL G 1 30.913 38.646 13.438 1.00 0.00 H +TER 7191 MOL G 1 +HETATM 7192 C1 MOL H 1 36.946 42.352 7.690 1.00 0.00 C +HETATM 7193 H1 MOL H 1 36.712 42.090 6.661 1.00 0.00 H +HETATM 7194 C2 MOL H 1 37.632 43.529 7.949 1.00 0.00 C +HETATM 7195 H2 MOL H 1 37.793 44.311 7.211 1.00 0.00 H +HETATM 7196 C3 MOL H 1 38.086 43.905 9.265 1.00 0.00 C +HETATM 7197 H3 MOL H 1 38.537 44.879 9.439 1.00 0.00 H +HETATM 7198 C4 MOL H 1 37.731 43.075 10.289 1.00 0.00 C +HETATM 7199 H4 MOL H 1 38.012 43.305 11.314 1.00 0.00 H +HETATM 7200 C5 MOL H 1 37.012 41.907 10.108 1.00 0.00 C +HETATM 7201 H5 MOL H 1 36.732 41.233 10.913 1.00 0.00 H +HETATM 7202 C6 MOL H 1 36.611 41.539 8.812 1.00 0.00 C +HETATM 7203 C7 MOL H 1 35.933 40.203 8.560 1.00 0.00 C +HETATM 7204 H6 MOL H 1 36.546 39.332 8.805 1.00 0.00 H +HETATM 7205 H7 MOL H 1 35.570 40.104 7.533 1.00 0.00 H +HETATM 7206 O1 MOL H 1 34.750 40.090 9.321 1.00 0.00 O +HETATM 7207 H8 MOL H 1 34.147 39.536 8.793 1.00 0.00 H +TER 7208 MOL H 1 +HETATM 7209 C1 MOL I 1 33.582 44.984 14.430 1.00 0.00 C +HETATM 7210 H1 MOL I 1 33.409 45.316 13.410 1.00 0.00 H +HETATM 7211 C2 MOL I 1 32.851 45.653 15.431 1.00 0.00 C +HETATM 7212 H2 MOL I 1 32.274 46.540 15.183 1.00 0.00 H +HETATM 7213 C3 MOL I 1 32.869 45.237 16.816 1.00 0.00 C +HETATM 7214 H3 MOL I 1 32.244 45.697 17.577 1.00 0.00 H +HETATM 7215 C4 MOL I 1 33.750 44.206 17.128 1.00 0.00 C +HETATM 7216 H4 MOL I 1 33.743 43.879 18.165 1.00 0.00 H +HETATM 7217 C5 MOL I 1 34.563 43.669 16.151 1.00 0.00 C +HETATM 7218 H5 MOL I 1 35.269 42.920 16.502 1.00 0.00 H +HETATM 7219 C6 MOL I 1 34.458 43.968 14.811 1.00 0.00 C +HETATM 7220 C7 MOL I 1 35.304 43.268 13.718 1.00 0.00 C +HETATM 7221 H6 MOL I 1 35.148 43.689 12.722 1.00 0.00 H +HETATM 7222 H7 MOL I 1 35.075 42.200 13.685 1.00 0.00 H +HETATM 7223 O1 MOL I 1 36.702 43.469 13.857 1.00 0.00 O +HETATM 7224 H8 MOL I 1 36.854 44.332 13.430 1.00 0.00 H +TER 7225 MOL I 1 +HETATM 7226 C1 MOL J 1 33.035 30.365 21.231 1.00 0.00 C +HETATM 7227 H1 MOL J 1 33.213 30.829 22.198 1.00 0.00 H +HETATM 7228 C2 MOL J 1 31.830 29.670 21.160 1.00 0.00 C +HETATM 7229 H2 MOL J 1 31.209 29.452 22.026 1.00 0.00 H +HETATM 7230 C3 MOL J 1 31.302 29.311 19.858 1.00 0.00 C +HETATM 7231 H3 MOL J 1 30.371 28.788 19.654 1.00 0.00 H +HETATM 7232 C4 MOL J 1 32.118 29.453 18.731 1.00 0.00 C +HETATM 7233 H4 MOL J 1 31.826 28.918 17.831 1.00 0.00 H +HETATM 7234 C5 MOL J 1 33.367 30.019 18.878 1.00 0.00 C +HETATM 7235 H5 MOL J 1 34.012 30.021 18.003 1.00 0.00 H +HETATM 7236 C6 MOL J 1 33.846 30.492 20.101 1.00 0.00 C +HETATM 7237 C7 MOL J 1 35.290 31.168 20.254 1.00 0.00 C +HETATM 7238 H6 MOL J 1 35.931 30.609 20.941 1.00 0.00 H +HETATM 7239 H7 MOL J 1 35.159 32.080 20.842 1.00 0.00 H +HETATM 7240 O1 MOL J 1 35.920 31.515 18.985 1.00 0.00 O +HETATM 7241 H8 MOL J 1 35.327 32.197 18.622 1.00 0.00 H +TER 7242 MOL J 1 +HETATM 7243 C1 MOL K 1 34.121 1.212 35.312 1.00 0.00 C +HETATM 7244 H1 MOL K 1 34.542 2.194 35.509 1.00 0.00 H +HETATM 7245 C2 MOL K 1 33.347 0.551 36.265 1.00 0.00 C +HETATM 7246 H2 MOL K 1 33.268 0.878 37.299 1.00 0.00 H +HETATM 7247 C3 MOL K 1 32.741 -0.659 35.918 1.00 0.00 C +HETATM 7248 H3 MOL K 1 32.251 -1.341 36.607 1.00 0.00 H +HETATM 7249 C4 MOL K 1 32.912 -1.179 34.578 1.00 0.00 C +HETATM 7250 H4 MOL K 1 32.490 -2.144 34.309 1.00 0.00 H +HETATM 7251 C5 MOL K 1 33.657 -0.456 33.723 1.00 0.00 C +HETATM 7252 H5 MOL K 1 33.684 -0.894 32.729 1.00 0.00 H +HETATM 7253 C6 MOL K 1 34.268 0.748 34.037 1.00 0.00 C +HETATM 7254 C7 MOL K 1 35.014 1.535 32.935 1.00 0.00 C +HETATM 7255 H6 MOL K 1 35.398 2.471 33.350 1.00 0.00 H +HETATM 7256 H7 MOL K 1 34.250 1.841 32.215 1.00 0.00 H +HETATM 7257 O1 MOL K 1 36.004 0.801 32.088 1.00 0.00 O +HETATM 7258 H8 MOL K 1 36.892 1.039 32.408 1.00 0.00 H +TER 7259 MOL K 1 +HETATM 7260 C1 MOL L 1 26.457 20.073 8.785 1.00 0.00 C +HETATM 7261 H1 MOL L 1 26.133 19.041 8.683 1.00 0.00 H +HETATM 7262 C2 MOL L 1 27.618 20.683 8.334 1.00 0.00 C +HETATM 7263 H2 MOL L 1 28.462 20.172 7.878 1.00 0.00 H +HETATM 7264 C3 MOL L 1 27.826 22.058 8.430 1.00 0.00 C +HETATM 7265 H3 MOL L 1 28.695 22.524 7.971 1.00 0.00 H +HETATM 7266 C4 MOL L 1 26.819 22.876 8.964 1.00 0.00 C +HETATM 7267 H4 MOL L 1 27.096 23.917 9.114 1.00 0.00 H +HETATM 7268 C5 MOL L 1 25.687 22.271 9.463 1.00 0.00 C +HETATM 7269 H5 MOL L 1 24.888 22.887 9.867 1.00 0.00 H +HETATM 7270 C6 MOL L 1 25.477 20.880 9.391 1.00 0.00 C +HETATM 7271 C7 MOL L 1 24.137 20.255 9.709 1.00 0.00 C +HETATM 7272 H6 MOL L 1 23.971 20.520 10.756 1.00 0.00 H +HETATM 7273 H7 MOL L 1 24.226 19.172 9.588 1.00 0.00 H +HETATM 7274 O1 MOL L 1 23.007 20.669 9.004 1.00 0.00 O +HETATM 7275 H8 MOL L 1 22.526 21.333 9.529 1.00 0.00 H +TER 7276 MOL L 1 +HETATM 7277 C1 MOL M 1 -0.080 33.974 5.026 1.00 0.00 C +HETATM 7278 H1 MOL M 1 -0.146 35.029 4.772 1.00 0.00 H +HETATM 7279 C2 MOL M 1 -0.015 33.677 6.404 1.00 0.00 C +HETATM 7280 H2 MOL M 1 0.000 34.472 7.145 1.00 0.00 H +HETATM 7281 C3 MOL M 1 0.174 32.307 6.771 1.00 0.00 C +HETATM 7282 H3 MOL M 1 0.237 32.004 7.813 1.00 0.00 H +HETATM 7283 C4 MOL M 1 0.285 31.346 5.768 1.00 0.00 C +HETATM 7284 H4 MOL M 1 0.535 30.322 6.033 1.00 0.00 H +HETATM 7285 C5 MOL M 1 0.320 31.664 4.443 1.00 0.00 C +HETATM 7286 H5 MOL M 1 0.444 30.875 3.706 1.00 0.00 H +HETATM 7287 C6 MOL M 1 0.055 32.983 4.021 1.00 0.00 C +HETATM 7288 C7 MOL M 1 -0.012 33.428 2.524 1.00 0.00 C +HETATM 7289 H6 MOL M 1 0.415 34.427 2.407 1.00 0.00 H +HETATM 7290 H7 MOL M 1 -1.043 33.703 2.288 1.00 0.00 H +HETATM 7291 O1 MOL M 1 0.521 32.542 1.497 1.00 0.00 O +HETATM 7292 H8 MOL M 1 -0.167 31.877 1.316 1.00 0.00 H +TER 7293 MOL M 1 +HETATM 7294 C1 MOL N 1 32.956 18.121 24.212 1.00 0.00 C +HETATM 7295 H1 MOL N 1 33.572 17.360 23.741 1.00 0.00 H +HETATM 7296 C2 MOL N 1 32.092 18.962 23.475 1.00 0.00 C +HETATM 7297 H2 MOL N 1 31.738 18.807 22.459 1.00 0.00 H +HETATM 7298 C3 MOL N 1 31.226 19.864 24.156 1.00 0.00 C +HETATM 7299 H3 MOL N 1 30.424 20.312 23.576 1.00 0.00 H +HETATM 7300 C4 MOL N 1 31.459 20.129 25.521 1.00 0.00 C +HETATM 7301 H4 MOL N 1 30.878 20.881 26.048 1.00 0.00 H +HETATM 7302 C5 MOL N 1 32.457 19.459 26.188 1.00 0.00 C +HETATM 7303 H5 MOL N 1 32.777 19.726 27.192 1.00 0.00 H +HETATM 7304 C6 MOL N 1 33.099 18.371 25.578 1.00 0.00 C +HETATM 7305 C7 MOL N 1 34.136 17.515 26.436 1.00 0.00 C +HETATM 7306 H6 MOL N 1 35.040 18.115 26.564 1.00 0.00 H +HETATM 7307 H7 MOL N 1 34.388 16.585 25.920 1.00 0.00 H +HETATM 7308 O1 MOL N 1 33.430 17.109 27.645 1.00 0.00 O +HETATM 7309 H8 MOL N 1 33.029 16.226 27.554 1.00 0.00 H +TER 7310 MOL N 1 +HETATM 7311 C1 MOL O 1 11.179 14.261 24.203 1.00 0.00 C +HETATM 7312 H1 MOL O 1 12.127 14.720 23.935 1.00 0.00 H +HETATM 7313 C2 MOL O 1 10.038 15.061 24.234 1.00 0.00 C +HETATM 7314 H2 MOL O 1 10.150 16.136 24.115 1.00 0.00 H +HETATM 7315 C3 MOL O 1 8.840 14.526 24.661 1.00 0.00 C +HETATM 7316 H3 MOL O 1 8.030 15.174 24.985 1.00 0.00 H +HETATM 7317 C4 MOL O 1 8.719 13.181 24.909 1.00 0.00 C +HETATM 7318 H4 MOL O 1 7.760 12.777 25.222 1.00 0.00 H +HETATM 7319 C5 MOL O 1 9.823 12.315 24.719 1.00 0.00 C +HETATM 7320 H5 MOL O 1 9.746 11.238 24.846 1.00 0.00 H +HETATM 7321 C6 MOL O 1 11.045 12.858 24.414 1.00 0.00 C +HETATM 7322 C7 MOL O 1 12.342 12.009 24.251 1.00 0.00 C +HETATM 7323 H6 MOL O 1 12.320 11.070 24.809 1.00 0.00 H +HETATM 7324 H7 MOL O 1 13.271 12.497 24.558 1.00 0.00 H +HETATM 7325 O1 MOL O 1 12.502 11.657 22.849 1.00 0.00 O +HETATM 7326 H8 MOL O 1 13.122 10.916 22.972 1.00 0.00 H +TER 7327 MOL O 1 +HETATM 7328 C1 MOL P 1 31.776 16.467 40.386 1.00 0.00 C +HETATM 7329 H1 MOL P 1 32.786 16.346 40.003 1.00 0.00 H +HETATM 7330 C2 MOL P 1 30.978 17.554 39.999 1.00 0.00 C +HETATM 7331 H2 MOL P 1 31.294 18.242 39.219 1.00 0.00 H +HETATM 7332 C3 MOL P 1 29.731 17.682 40.587 1.00 0.00 C +HETATM 7333 H3 MOL P 1 29.156 18.530 40.225 1.00 0.00 H +HETATM 7334 C4 MOL P 1 29.240 16.751 41.505 1.00 0.00 C +HETATM 7335 H4 MOL P 1 28.329 16.891 42.081 1.00 0.00 H +HETATM 7336 C5 MOL P 1 30.012 15.726 41.893 1.00 0.00 C +HETATM 7337 H5 MOL P 1 29.521 15.172 42.689 1.00 0.00 H +HETATM 7338 C6 MOL P 1 31.278 15.511 41.294 1.00 0.00 C +HETATM 7339 C7 MOL P 1 32.206 14.395 41.760 1.00 0.00 C +HETATM 7340 H6 MOL P 1 31.646 13.718 42.410 1.00 0.00 H +HETATM 7341 H7 MOL P 1 32.998 14.794 42.400 1.00 0.00 H +HETATM 7342 O1 MOL P 1 32.607 13.593 40.724 1.00 0.00 O +HETATM 7343 H8 MOL P 1 31.844 13.320 40.184 1.00 0.00 H +TER 7344 MOL P 1 +HETATM 7345 C1 MOL Q 1 30.594 20.261 42.813 1.00 0.00 C +HETATM 7346 H1 MOL Q 1 29.889 19.632 42.274 1.00 0.00 H +HETATM 7347 C2 MOL Q 1 30.627 21.633 42.547 1.00 0.00 C +HETATM 7348 H2 MOL Q 1 29.907 22.112 41.887 1.00 0.00 H +HETATM 7349 C3 MOL Q 1 31.580 22.422 43.179 1.00 0.00 C +HETATM 7350 H3 MOL Q 1 31.655 23.499 43.057 1.00 0.00 H +HETATM 7351 C4 MOL Q 1 32.450 21.917 44.147 1.00 0.00 C +HETATM 7352 H4 MOL Q 1 33.059 22.623 44.706 1.00 0.00 H +HETATM 7353 C5 MOL Q 1 32.420 20.565 44.408 1.00 0.00 C +HETATM 7354 H5 MOL Q 1 32.993 20.084 45.197 1.00 0.00 H +HETATM 7355 C6 MOL Q 1 31.480 19.739 43.781 1.00 0.00 C +HETATM 7356 C7 MOL Q 1 31.550 18.266 44.141 1.00 0.00 C +HETATM 7357 H6 MOL Q 1 32.471 17.892 43.689 1.00 0.00 H +HETATM 7358 H7 MOL Q 1 30.691 17.738 43.718 1.00 0.00 H +HETATM 7359 O1 MOL Q 1 31.522 17.980 45.535 1.00 0.00 O +HETATM 7360 H8 MOL Q 1 30.572 17.797 45.646 1.00 0.00 H +TER 7361 MOL Q 1 +HETATM 7362 C1 MOL R 1 19.504 12.830 2.709 1.00 0.00 C +HETATM 7363 H1 MOL R 1 19.840 13.837 2.478 1.00 0.00 H +HETATM 7364 C2 MOL R 1 18.286 12.322 2.438 1.00 0.00 C +HETATM 7365 H2 MOL R 1 17.581 13.119 2.215 1.00 0.00 H +HETATM 7366 C3 MOL R 1 18.015 10.925 2.458 1.00 0.00 C +HETATM 7367 H3 MOL R 1 17.102 10.436 2.127 1.00 0.00 H +HETATM 7368 C4 MOL R 1 19.034 10.053 2.821 1.00 0.00 C +HETATM 7369 H4 MOL R 1 18.805 9.019 3.064 1.00 0.00 H +HETATM 7370 C5 MOL R 1 20.252 10.597 3.114 1.00 0.00 C +HETATM 7371 H5 MOL R 1 21.038 9.903 3.402 1.00 0.00 H +HETATM 7372 C6 MOL R 1 20.557 11.917 2.961 1.00 0.00 C +HETATM 7373 C7 MOL R 1 22.060 12.418 3.100 1.00 0.00 C +HETATM 7374 H6 MOL R 1 22.306 12.922 2.162 1.00 0.00 H +HETATM 7375 H7 MOL R 1 22.689 11.537 3.251 1.00 0.00 H +HETATM 7376 O1 MOL R 1 22.075 13.317 4.115 1.00 0.00 O +HETATM 7377 H8 MOL R 1 21.704 12.827 4.871 1.00 0.00 H +TER 7378 MOL R 1 +HETATM 7379 C1 MOL S 1 43.185 5.778 11.900 1.00 0.00 C +HETATM 7380 H1 MOL S 1 43.525 6.091 12.884 1.00 0.00 H +HETATM 7381 C2 MOL S 1 44.241 5.595 10.963 1.00 0.00 C +HETATM 7382 H2 MOL S 1 45.263 5.773 11.289 1.00 0.00 H +HETATM 7383 C3 MOL S 1 43.928 5.171 9.694 1.00 0.00 C +HETATM 7384 H3 MOL S 1 44.763 4.866 9.069 1.00 0.00 H +HETATM 7385 C4 MOL S 1 42.583 5.063 9.320 1.00 0.00 C +HETATM 7386 H4 MOL S 1 42.272 4.634 8.371 1.00 0.00 H +HETATM 7387 C5 MOL S 1 41.599 5.357 10.215 1.00 0.00 C +HETATM 7388 H5 MOL S 1 40.556 5.156 9.983 1.00 0.00 H +HETATM 7389 C6 MOL S 1 41.835 5.730 11.567 1.00 0.00 C +HETATM 7390 C7 MOL S 1 40.731 6.095 12.563 1.00 0.00 C +HETATM 7391 H6 MOL S 1 39.943 6.675 12.076 1.00 0.00 H +HETATM 7392 H7 MOL S 1 41.144 6.782 13.306 1.00 0.00 H +HETATM 7393 O1 MOL S 1 40.106 4.913 13.183 1.00 0.00 O +HETATM 7394 H8 MOL S 1 40.736 4.517 13.811 1.00 0.00 H +TER 7395 MOL S 1 +HETATM 7396 C1 MOL T 1 36.431 13.342 17.768 1.00 0.00 C +HETATM 7397 H1 MOL T 1 35.409 12.972 17.775 1.00 0.00 H +HETATM 7398 C2 MOL T 1 37.002 13.828 16.609 1.00 0.00 C +HETATM 7399 H2 MOL T 1 36.529 13.749 15.634 1.00 0.00 H +HETATM 7400 C3 MOL T 1 38.188 14.435 16.607 1.00 0.00 C +HETATM 7401 H3 MOL T 1 38.659 14.775 15.688 1.00 0.00 H +HETATM 7402 C4 MOL T 1 38.860 14.617 17.835 1.00 0.00 C +HETATM 7403 H4 MOL T 1 39.773 15.202 17.900 1.00 0.00 H +HETATM 7404 C5 MOL T 1 38.349 14.143 19.000 1.00 0.00 C +HETATM 7405 H5 MOL T 1 38.809 14.490 19.922 1.00 0.00 H +HETATM 7406 C6 MOL T 1 37.096 13.493 19.019 1.00 0.00 C +HETATM 7407 C7 MOL T 1 36.425 13.023 20.304 1.00 0.00 C +HETATM 7408 H6 MOL T 1 36.049 12.013 20.122 1.00 0.00 H +HETATM 7409 H7 MOL T 1 35.554 13.640 20.542 1.00 0.00 H +HETATM 7410 O1 MOL T 1 37.308 13.155 21.496 1.00 0.00 O +HETATM 7411 H8 MOL T 1 37.854 12.351 21.554 1.00 0.00 H +TER 7412 MOL T 1 +HETATM 7413 C1 MOL U 1 6.719 27.533 39.718 1.00 0.00 C +HETATM 7414 H1 MOL U 1 7.040 26.626 39.212 1.00 0.00 H +HETATM 7415 C2 MOL U 1 5.390 27.843 39.684 1.00 0.00 C +HETATM 7416 H2 MOL U 1 4.717 27.319 39.010 1.00 0.00 H +HETATM 7417 C3 MOL U 1 4.924 28.962 40.334 1.00 0.00 C +HETATM 7418 H3 MOL U 1 3.947 29.348 40.053 1.00 0.00 H +HETATM 7419 C4 MOL U 1 5.818 29.739 41.144 1.00 0.00 C +HETATM 7420 H4 MOL U 1 5.505 30.611 41.712 1.00 0.00 H +HETATM 7421 C5 MOL U 1 7.155 29.297 41.302 1.00 0.00 C +HETATM 7422 H5 MOL U 1 7.861 29.907 41.861 1.00 0.00 H +HETATM 7423 C6 MOL U 1 7.662 28.213 40.511 1.00 0.00 C +HETATM 7424 C7 MOL U 1 9.111 27.740 40.733 1.00 0.00 C +HETATM 7425 H6 MOL U 1 9.191 26.663 40.901 1.00 0.00 H +HETATM 7426 H7 MOL U 1 9.406 28.170 41.693 1.00 0.00 H +HETATM 7427 O1 MOL U 1 10.028 28.178 39.718 1.00 0.00 O +HETATM 7428 H8 MOL U 1 9.904 29.139 39.628 1.00 0.00 H +TER 7429 MOL U 1 +HETATM 7430 C1 MOL V 1 3.494 7.413 5.130 1.00 0.00 C +HETATM 7431 H1 MOL V 1 2.502 7.776 4.874 1.00 0.00 H +HETATM 7432 C2 MOL V 1 3.880 6.857 6.389 1.00 0.00 C +HETATM 7433 H2 MOL V 1 3.134 6.604 7.138 1.00 0.00 H +HETATM 7434 C3 MOL V 1 5.130 6.343 6.678 1.00 0.00 C +HETATM 7435 H3 MOL V 1 5.282 5.911 7.664 1.00 0.00 H +HETATM 7436 C4 MOL V 1 6.086 6.401 5.672 1.00 0.00 C +HETATM 7437 H4 MOL V 1 7.125 6.109 5.807 1.00 0.00 H +HETATM 7438 C5 MOL V 1 5.732 6.964 4.467 1.00 0.00 C +HETATM 7439 H5 MOL V 1 6.451 7.001 3.653 1.00 0.00 H +HETATM 7440 C6 MOL V 1 4.458 7.444 4.154 1.00 0.00 C +HETATM 7441 C7 MOL V 1 4.197 8.088 2.803 1.00 0.00 C +HETATM 7442 H6 MOL V 1 5.118 8.428 2.323 1.00 0.00 H +HETATM 7443 H7 MOL V 1 3.550 8.965 2.886 1.00 0.00 H +HETATM 7444 O1 MOL V 1 3.460 7.286 1.908 1.00 0.00 O +HETATM 7445 H8 MOL V 1 2.734 6.852 2.391 1.00 0.00 H +TER 7446 MOL V 1 +HETATM 7447 C1 MOL W 1 41.004 10.061 25.261 1.00 0.00 C +HETATM 7448 H1 MOL W 1 40.400 10.369 26.111 1.00 0.00 H +HETATM 7449 C2 MOL W 1 42.082 9.201 25.535 1.00 0.00 C +HETATM 7450 H2 MOL W 1 42.300 8.848 26.540 1.00 0.00 H +HETATM 7451 C3 MOL W 1 42.979 8.820 24.520 1.00 0.00 C +HETATM 7452 H3 MOL W 1 43.768 8.138 24.827 1.00 0.00 H +HETATM 7453 C4 MOL W 1 42.787 9.234 23.172 1.00 0.00 C +HETATM 7454 H4 MOL W 1 43.513 8.830 22.471 1.00 0.00 H +HETATM 7455 C5 MOL W 1 41.700 10.035 22.896 1.00 0.00 C +HETATM 7456 H5 MOL W 1 41.614 10.373 21.866 1.00 0.00 H +HETATM 7457 C6 MOL W 1 40.882 10.521 23.939 1.00 0.00 C +HETATM 7458 C7 MOL W 1 39.752 11.359 23.456 1.00 0.00 C +HETATM 7459 H6 MOL W 1 40.076 12.359 23.754 1.00 0.00 H +HETATM 7460 H7 MOL W 1 38.812 11.144 23.971 1.00 0.00 H +HETATM 7461 O1 MOL W 1 39.418 11.218 22.144 1.00 0.00 O +HETATM 7462 H8 MOL W 1 39.167 10.282 22.241 1.00 0.00 H +TER 7463 MOL W 1 +HETATM 7464 C1 MOL X 1 22.643 39.315 30.758 1.00 0.00 C +HETATM 7465 H1 MOL X 1 22.441 38.868 31.728 1.00 0.00 H +HETATM 7466 C2 MOL X 1 23.778 38.889 30.116 1.00 0.00 C +HETATM 7467 H2 MOL X 1 24.451 38.150 30.544 1.00 0.00 H +HETATM 7468 C3 MOL X 1 24.083 39.434 28.825 1.00 0.00 C +HETATM 7469 H3 MOL X 1 24.952 39.050 28.297 1.00 0.00 H +HETATM 7470 C4 MOL X 1 23.277 40.413 28.236 1.00 0.00 C +HETATM 7471 H4 MOL X 1 23.416 40.799 27.229 1.00 0.00 H +HETATM 7472 C5 MOL X 1 22.172 40.885 29.004 1.00 0.00 C +HETATM 7473 H5 MOL X 1 21.710 41.802 28.648 1.00 0.00 H +HETATM 7474 C6 MOL X 1 21.859 40.367 30.263 1.00 0.00 C +HETATM 7475 C7 MOL X 1 20.586 40.748 31.027 1.00 0.00 C +HETATM 7476 H6 MOL X 1 20.573 40.362 32.050 1.00 0.00 H +HETATM 7477 H7 MOL X 1 19.736 40.311 30.496 1.00 0.00 H +HETATM 7478 O1 MOL X 1 20.427 42.156 31.163 1.00 0.00 O +HETATM 7479 H8 MOL X 1 19.842 42.201 31.940 1.00 0.00 H +TER 7480 MOL X 1 +HETATM 7481 C1 MOL Y 1 26.227 34.598 4.207 1.00 0.00 C +HETATM 7482 H1 MOL Y 1 26.520 35.547 4.648 1.00 0.00 H +HETATM 7483 C2 MOL Y 1 25.749 34.601 2.859 1.00 0.00 C +HETATM 7484 H2 MOL Y 1 25.774 35.593 2.416 1.00 0.00 H +HETATM 7485 C3 MOL Y 1 25.313 33.426 2.203 1.00 0.00 C +HETATM 7486 H3 MOL Y 1 25.017 33.541 1.164 1.00 0.00 H +HETATM 7487 C4 MOL Y 1 25.489 32.159 2.829 1.00 0.00 C +HETATM 7488 H4 MOL Y 1 25.423 31.301 2.165 1.00 0.00 H +HETATM 7489 C5 MOL Y 1 26.110 32.127 4.051 1.00 0.00 C +HETATM 7490 H5 MOL Y 1 26.461 31.171 4.430 1.00 0.00 H +HETATM 7491 C6 MOL Y 1 26.452 33.353 4.718 1.00 0.00 C +HETATM 7492 C7 MOL Y 1 27.268 33.268 5.995 1.00 0.00 C +HETATM 7493 H6 MOL Y 1 26.956 32.437 6.633 1.00 0.00 H +HETATM 7494 H7 MOL Y 1 27.113 34.184 6.570 1.00 0.00 H +HETATM 7495 O1 MOL Y 1 28.662 33.064 5.687 1.00 0.00 O +HETATM 7496 H8 MOL Y 1 28.720 32.189 5.264 1.00 0.00 H +TER 7497 MOL Y 1 +HETATM 7498 C1 MOL Z 1 22.014 46.236 16.222 1.00 0.00 C +HETATM 7499 H1 MOL Z 1 21.545 47.126 15.810 1.00 0.00 H +HETATM 7500 C2 MOL Z 1 21.959 45.902 17.536 1.00 0.00 C +HETATM 7501 H2 MOL Z 1 21.546 46.578 18.280 1.00 0.00 H +HETATM 7502 C3 MOL Z 1 22.359 44.650 17.955 1.00 0.00 C +HETATM 7503 H3 MOL Z 1 22.135 44.316 18.965 1.00 0.00 H +HETATM 7504 C4 MOL Z 1 23.061 43.777 17.096 1.00 0.00 C +HETATM 7505 H4 MOL Z 1 23.402 42.839 17.526 1.00 0.00 H +HETATM 7506 C5 MOL Z 1 23.198 44.134 15.742 1.00 0.00 C +HETATM 7507 H5 MOL Z 1 23.745 43.455 15.093 1.00 0.00 H +HETATM 7508 C6 MOL Z 1 22.687 45.443 15.263 1.00 0.00 C +HETATM 7509 C7 MOL Z 1 22.724 45.871 13.792 1.00 0.00 C +HETATM 7510 H6 MOL Z 1 21.898 46.492 13.435 1.00 0.00 H +HETATM 7511 H7 MOL Z 1 22.778 44.943 13.217 1.00 0.00 H +HETATM 7512 O1 MOL Z 1 23.874 46.683 13.446 1.00 0.00 O +HETATM 7513 H8 MOL Z 1 24.009 46.581 12.487 1.00 0.00 H +TER 7514 MOL Z 1 +HETATM 7515 C1 MOL A 1 0.502 29.855 43.455 1.00 0.00 C +HETATM 7516 H1 MOL A 1 1.084 29.703 44.361 1.00 0.00 H +HETATM 7517 C2 MOL A 1 1.214 29.907 42.259 1.00 0.00 C +HETATM 7518 H2 MOL A 1 2.291 29.766 42.288 1.00 0.00 H +HETATM 7519 C3 MOL A 1 0.527 29.924 41.068 1.00 0.00 C +HETATM 7520 H3 MOL A 1 1.094 29.893 40.141 1.00 0.00 H +HETATM 7521 C4 MOL A 1 -0.872 29.907 41.089 1.00 0.00 C +HETATM 7522 H4 MOL A 1 -1.468 29.870 40.181 1.00 0.00 H +HETATM 7523 C5 MOL A 1 -1.521 29.943 42.334 1.00 0.00 C +HETATM 7524 H5 MOL A 1 -2.604 29.859 42.371 1.00 0.00 H +HETATM 7525 C6 MOL A 1 -0.888 29.908 43.572 1.00 0.00 C +HETATM 7526 C7 MOL A 1 -1.587 29.715 44.839 1.00 0.00 C +HETATM 7527 H6 MOL A 1 -0.965 29.012 45.399 1.00 0.00 H +HETATM 7528 H7 MOL A 1 -2.497 29.130 44.689 1.00 0.00 H +HETATM 7529 O1 MOL A 1 -1.850 30.832 45.582 1.00 0.00 O +HETATM 7530 H8 MOL A 1 -2.001 30.506 46.488 1.00 0.00 H +TER 7531 MOL A 1 +HETATM 7532 C1 MOL B 1 6.389 11.696 3.304 1.00 0.00 C +HETATM 7533 H1 MOL B 1 6.708 12.235 2.415 1.00 0.00 H +HETATM 7534 C2 MOL B 1 6.934 10.584 3.838 1.00 0.00 C +HETATM 7535 H2 MOL B 1 7.838 10.214 3.360 1.00 0.00 H +HETATM 7536 C3 MOL B 1 6.489 9.945 5.001 1.00 0.00 C +HETATM 7537 H3 MOL B 1 7.038 9.070 5.339 1.00 0.00 H +HETATM 7538 C4 MOL B 1 5.304 10.435 5.472 1.00 0.00 C +HETATM 7539 H4 MOL B 1 4.917 9.860 6.310 1.00 0.00 H +HETATM 7540 C5 MOL B 1 4.671 11.611 5.025 1.00 0.00 C +HETATM 7541 H5 MOL B 1 3.668 11.922 5.306 1.00 0.00 H +HETATM 7542 C6 MOL B 1 5.195 12.191 3.835 1.00 0.00 C +HETATM 7543 C7 MOL B 1 4.471 13.370 3.221 1.00 0.00 C +HETATM 7544 H6 MOL B 1 4.478 13.087 2.165 1.00 0.00 H +HETATM 7545 H7 MOL B 1 5.085 14.241 3.464 1.00 0.00 H +HETATM 7546 O1 MOL B 1 3.095 13.582 3.527 1.00 0.00 O +HETATM 7547 H8 MOL B 1 2.588 13.683 2.702 1.00 0.00 H +TER 7548 MOL B 1 +HETATM 7549 C1 MOL C 1 24.145 30.838 7.901 1.00 0.00 C +HETATM 7550 H1 MOL C 1 23.426 30.419 7.202 1.00 0.00 H +HETATM 7551 C2 MOL C 1 23.839 32.093 8.475 1.00 0.00 C +HETATM 7552 H2 MOL C 1 22.828 32.473 8.351 1.00 0.00 H +HETATM 7553 C3 MOL C 1 24.813 32.661 9.280 1.00 0.00 C +HETATM 7554 H3 MOL C 1 24.625 33.610 9.777 1.00 0.00 H +HETATM 7555 C4 MOL C 1 26.022 31.978 9.526 1.00 0.00 C +HETATM 7556 H4 MOL C 1 26.682 32.450 10.249 1.00 0.00 H +HETATM 7557 C5 MOL C 1 26.309 30.774 8.884 1.00 0.00 C +HETATM 7558 H5 MOL C 1 27.222 30.238 9.131 1.00 0.00 H +HETATM 7559 C6 MOL C 1 25.403 30.223 8.005 1.00 0.00 C +HETATM 7560 C7 MOL C 1 25.796 28.947 7.356 1.00 0.00 C +HETATM 7561 H6 MOL C 1 26.641 29.039 6.669 1.00 0.00 H +HETATM 7562 H7 MOL C 1 24.987 28.492 6.780 1.00 0.00 H +HETATM 7563 O1 MOL C 1 26.215 28.003 8.394 1.00 0.00 O +HETATM 7564 H8 MOL C 1 25.557 27.733 9.060 1.00 0.00 H +TER 7565 MOL C 1 +HETATM 7566 C1 MOL D 1 42.376 38.522 -0.527 1.00 0.00 C +HETATM 7567 H1 MOL D 1 41.767 39.390 -0.764 1.00 0.00 H +HETATM 7568 C2 MOL D 1 42.374 37.437 -1.371 1.00 0.00 C +HETATM 7569 H2 MOL D 1 41.638 37.407 -2.171 1.00 0.00 H +HETATM 7570 C3 MOL D 1 43.174 36.296 -1.087 1.00 0.00 C +HETATM 7571 H3 MOL D 1 43.023 35.404 -1.690 1.00 0.00 H +HETATM 7572 C4 MOL D 1 44.113 36.395 -0.046 1.00 0.00 C +HETATM 7573 H4 MOL D 1 44.680 35.536 0.303 1.00 0.00 H +HETATM 7574 C5 MOL D 1 44.081 37.480 0.749 1.00 0.00 C +HETATM 7575 H5 MOL D 1 44.710 37.452 1.635 1.00 0.00 H +HETATM 7576 C6 MOL D 1 43.177 38.570 0.603 1.00 0.00 C +HETATM 7577 C7 MOL D 1 43.197 39.776 1.444 1.00 0.00 C +HETATM 7578 H6 MOL D 1 42.951 40.598 0.767 1.00 0.00 H +HETATM 7579 H7 MOL D 1 44.219 39.998 1.764 1.00 0.00 H +HETATM 7580 O1 MOL D 1 42.232 39.753 2.549 1.00 0.00 O +HETATM 7581 H8 MOL D 1 41.795 40.623 2.565 1.00 0.00 H +TER 7582 MOL D 1 +HETATM 7583 C1 MOL E 1 38.676 6.025 41.553 1.00 0.00 C +HETATM 7584 H1 MOL E 1 39.596 5.958 40.977 1.00 0.00 H +HETATM 7585 C2 MOL E 1 38.520 7.043 42.505 1.00 0.00 C +HETATM 7586 H2 MOL E 1 39.276 7.767 42.800 1.00 0.00 H +HETATM 7587 C3 MOL E 1 37.330 7.131 43.226 1.00 0.00 C +HETATM 7588 H3 MOL E 1 37.256 7.838 44.049 1.00 0.00 H +HETATM 7589 C4 MOL E 1 36.380 6.128 42.981 1.00 0.00 C +HETATM 7590 H4 MOL E 1 35.447 6.132 43.538 1.00 0.00 H +HETATM 7591 C5 MOL E 1 36.548 5.154 42.030 1.00 0.00 C +HETATM 7592 H5 MOL E 1 35.684 4.511 41.881 1.00 0.00 H +HETATM 7593 C6 MOL E 1 37.690 5.089 41.274 1.00 0.00 C +HETATM 7594 C7 MOL E 1 37.901 4.092 40.162 1.00 0.00 C +HETATM 7595 H6 MOL E 1 36.930 3.591 40.140 1.00 0.00 H +HETATM 7596 H7 MOL E 1 38.571 3.284 40.469 1.00 0.00 H +HETATM 7597 O1 MOL E 1 38.275 4.649 38.939 1.00 0.00 O +HETATM 7598 H8 MOL E 1 37.653 5.379 38.773 1.00 0.00 H +TER 7599 MOL E 1 +HETATM 7600 C1 MOL F 1 20.327 36.133 12.637 1.00 0.00 C +HETATM 7601 H1 MOL F 1 20.718 36.172 13.650 1.00 0.00 H +HETATM 7602 C2 MOL F 1 19.440 35.147 12.328 1.00 0.00 C +HETATM 7603 H2 MOL F 1 19.179 34.443 13.114 1.00 0.00 H +HETATM 7604 C3 MOL F 1 18.814 35.033 11.107 1.00 0.00 C +HETATM 7605 H3 MOL F 1 18.064 34.272 10.904 1.00 0.00 H +HETATM 7606 C4 MOL F 1 19.195 35.885 10.036 1.00 0.00 C +HETATM 7607 H4 MOL F 1 18.711 35.799 9.066 1.00 0.00 H +HETATM 7608 C5 MOL F 1 20.144 36.931 10.355 1.00 0.00 C +HETATM 7609 H5 MOL F 1 20.415 37.628 9.566 1.00 0.00 H +HETATM 7610 C6 MOL F 1 20.689 37.081 11.666 1.00 0.00 C +HETATM 7611 C7 MOL F 1 21.641 38.295 11.933 1.00 0.00 C +HETATM 7612 H6 MOL F 1 22.679 37.958 11.872 1.00 0.00 H +HETATM 7613 H7 MOL F 1 21.573 38.623 12.973 1.00 0.00 H +HETATM 7614 O1 MOL F 1 21.395 39.364 11.058 1.00 0.00 O +HETATM 7615 H8 MOL F 1 22.202 39.908 11.036 1.00 0.00 H +TER 7616 MOL F 1 +HETATM 7617 C1 MOL G 1 31.502 1.683 21.090 1.00 0.00 C +HETATM 7618 H1 MOL G 1 32.115 2.220 21.810 1.00 0.00 H +HETATM 7619 C2 MOL G 1 32.033 0.499 20.588 1.00 0.00 C +HETATM 7620 H2 MOL G 1 33.002 0.097 20.872 1.00 0.00 H +HETATM 7621 C3 MOL G 1 31.312 -0.241 19.707 1.00 0.00 C +HETATM 7622 H3 MOL G 1 31.651 -1.246 19.470 1.00 0.00 H +HETATM 7623 C4 MOL G 1 30.044 0.224 19.250 1.00 0.00 C +HETATM 7624 H4 MOL G 1 29.367 -0.296 18.577 1.00 0.00 H +HETATM 7625 C5 MOL G 1 29.563 1.446 19.682 1.00 0.00 C +HETATM 7626 H5 MOL G 1 28.597 1.826 19.357 1.00 0.00 H +HETATM 7627 C6 MOL G 1 30.281 2.146 20.614 1.00 0.00 C +HETATM 7628 C7 MOL G 1 29.728 3.428 21.180 1.00 0.00 C +HETATM 7629 H6 MOL G 1 29.295 4.056 20.398 1.00 0.00 H +HETATM 7630 H7 MOL G 1 30.485 4.024 21.696 1.00 0.00 H +HETATM 7631 O1 MOL G 1 28.892 3.266 22.312 1.00 0.00 O +HETATM 7632 H8 MOL G 1 28.199 2.683 21.953 1.00 0.00 H +TER 7633 MOL G 1 +HETATM 7634 C1 MOL H 1 5.924 9.002 9.440 1.00 0.00 C +HETATM 7635 H1 MOL H 1 5.676 8.473 8.523 1.00 0.00 H +HETATM 7636 C2 MOL H 1 6.605 10.240 9.355 1.00 0.00 C +HETATM 7637 H2 MOL H 1 6.996 10.533 8.384 1.00 0.00 H +HETATM 7638 C3 MOL H 1 6.762 10.994 10.476 1.00 0.00 C +HETATM 7639 H3 MOL H 1 7.388 11.883 10.475 1.00 0.00 H +HETATM 7640 C4 MOL H 1 6.282 10.558 11.690 1.00 0.00 C +HETATM 7641 H4 MOL H 1 6.563 11.125 12.574 1.00 0.00 H +HETATM 7642 C5 MOL H 1 5.639 9.343 11.824 1.00 0.00 C +HETATM 7643 H5 MOL H 1 5.253 9.042 12.795 1.00 0.00 H +HETATM 7644 C6 MOL H 1 5.468 8.584 10.713 1.00 0.00 C +HETATM 7645 C7 MOL H 1 4.723 7.233 10.819 1.00 0.00 C +HETATM 7646 H6 MOL H 1 5.240 6.685 11.611 1.00 0.00 H +HETATM 7647 H7 MOL H 1 4.751 6.748 9.840 1.00 0.00 H +HETATM 7648 O1 MOL H 1 3.274 7.280 11.174 1.00 0.00 O +HETATM 7649 H8 MOL H 1 2.874 7.820 10.470 1.00 0.00 H +TER 7650 MOL H 1 +HETATM 7651 C1 MOL I 1 36.579 9.147 24.870 1.00 0.00 C +HETATM 7652 H1 MOL I 1 35.894 9.851 25.336 1.00 0.00 H +HETATM 7653 C2 MOL I 1 37.596 8.647 25.689 1.00 0.00 C +HETATM 7654 H2 MOL I 1 37.611 8.991 26.721 1.00 0.00 H +HETATM 7655 C3 MOL I 1 38.552 7.705 25.157 1.00 0.00 C +HETATM 7656 H3 MOL I 1 39.300 7.290 25.827 1.00 0.00 H +HETATM 7657 C4 MOL I 1 38.489 7.543 23.762 1.00 0.00 C +HETATM 7658 H4 MOL I 1 39.238 6.958 23.235 1.00 0.00 H +HETATM 7659 C5 MOL I 1 37.526 8.174 22.927 1.00 0.00 C +HETATM 7660 H5 MOL I 1 37.555 7.938 21.866 1.00 0.00 H +HETATM 7661 C6 MOL I 1 36.594 9.044 23.503 1.00 0.00 C +HETATM 7662 C7 MOL I 1 35.448 9.677 22.655 1.00 0.00 C +HETATM 7663 H6 MOL I 1 35.952 10.375 21.981 1.00 0.00 H +HETATM 7664 H7 MOL I 1 34.648 10.232 23.152 1.00 0.00 H +HETATM 7665 O1 MOL I 1 34.854 8.754 21.852 1.00 0.00 O +HETATM 7666 H8 MOL I 1 34.159 9.239 21.372 1.00 0.00 H +TER 7667 MOL I 1 +HETATM 7668 C1 MOL J 1 35.379 39.497 42.849 1.00 0.00 C +HETATM 7669 H1 MOL J 1 34.525 38.827 42.915 1.00 0.00 H +HETATM 7670 C2 MOL J 1 36.235 39.519 43.983 1.00 0.00 C +HETATM 7671 H2 MOL J 1 36.016 38.858 44.818 1.00 0.00 H +HETATM 7672 C3 MOL J 1 37.236 40.487 44.085 1.00 0.00 C +HETATM 7673 H3 MOL J 1 37.802 40.395 45.008 1.00 0.00 H +HETATM 7674 C4 MOL J 1 37.558 41.353 43.035 1.00 0.00 C +HETATM 7675 H4 MOL J 1 38.404 42.027 43.151 1.00 0.00 H +HETATM 7676 C5 MOL J 1 36.750 41.285 41.899 1.00 0.00 C +HETATM 7677 H5 MOL J 1 36.833 42.043 41.124 1.00 0.00 H +HETATM 7678 C6 MOL J 1 35.679 40.405 41.763 1.00 0.00 C +HETATM 7679 C7 MOL J 1 34.825 40.504 40.473 1.00 0.00 C +HETATM 7680 H6 MOL J 1 33.794 40.267 40.746 1.00 0.00 H +HETATM 7681 H7 MOL J 1 35.144 39.772 39.726 1.00 0.00 H +HETATM 7682 O1 MOL J 1 34.653 41.773 39.893 1.00 0.00 O +HETATM 7683 H8 MOL J 1 35.380 41.804 39.246 1.00 0.00 H +TER 7684 MOL J 1 +HETATM 7685 C1 MOL K 1 16.838 42.145 27.831 1.00 0.00 C +HETATM 7686 H1 MOL K 1 17.907 42.092 28.020 1.00 0.00 H +HETATM 7687 C2 MOL K 1 16.107 42.009 28.939 1.00 0.00 C +HETATM 7688 H2 MOL K 1 16.665 41.996 29.872 1.00 0.00 H +HETATM 7689 C3 MOL K 1 14.719 42.057 28.818 1.00 0.00 C +HETATM 7690 H3 MOL K 1 14.031 42.158 29.653 1.00 0.00 H +HETATM 7691 C4 MOL K 1 14.090 42.175 27.619 1.00 0.00 C +HETATM 7692 H4 MOL K 1 13.010 42.177 27.497 1.00 0.00 H +HETATM 7693 C5 MOL K 1 14.905 42.307 26.495 1.00 0.00 C +HETATM 7694 H5 MOL K 1 14.438 42.585 25.554 1.00 0.00 H +HETATM 7695 C6 MOL K 1 16.328 42.289 26.564 1.00 0.00 C +HETATM 7696 C7 MOL K 1 17.183 42.436 25.357 1.00 0.00 C +HETATM 7697 H6 MOL K 1 17.461 41.422 25.057 1.00 0.00 H +HETATM 7698 H7 MOL K 1 18.074 43.039 25.552 1.00 0.00 H +HETATM 7699 O1 MOL K 1 16.424 43.016 24.256 1.00 0.00 O +HETATM 7700 H8 MOL K 1 16.714 42.806 23.350 1.00 0.00 H +TER 7701 MOL K 1 +HETATM 7702 C1 MOL L 1 23.696 7.158 0.099 1.00 0.00 C +HETATM 7703 H1 MOL L 1 22.616 7.226 0.004 1.00 0.00 H +HETATM 7704 C2 MOL L 1 24.457 6.526 -0.949 1.00 0.00 C +HETATM 7705 H2 MOL L 1 23.969 6.116 -1.829 1.00 0.00 H +HETATM 7706 C3 MOL L 1 25.780 6.389 -0.862 1.00 0.00 C +HETATM 7707 H3 MOL L 1 26.315 5.879 -1.659 1.00 0.00 H +HETATM 7708 C4 MOL L 1 26.460 6.770 0.307 1.00 0.00 C +HETATM 7709 H4 MOL L 1 27.516 6.512 0.309 1.00 0.00 H +HETATM 7710 C5 MOL L 1 25.745 7.336 1.373 1.00 0.00 C +HETATM 7711 H5 MOL L 1 26.272 7.670 2.262 1.00 0.00 H +HETATM 7712 C6 MOL L 1 24.381 7.584 1.250 1.00 0.00 C +HETATM 7713 C7 MOL L 1 23.562 8.434 2.229 1.00 0.00 C +HETATM 7714 H6 MOL L 1 24.303 8.862 2.910 1.00 0.00 H +HETATM 7715 H7 MOL L 1 22.802 7.799 2.692 1.00 0.00 H +HETATM 7716 O1 MOL L 1 22.946 9.493 1.487 1.00 0.00 O +HETATM 7717 H8 MOL L 1 23.677 10.029 1.132 1.00 0.00 H +TER 7718 MOL L 1 +HETATM 7719 C1 MOL M 1 16.070 33.130 27.056 1.00 0.00 C +HETATM 7720 H1 MOL M 1 16.039 32.614 26.099 1.00 0.00 H +HETATM 7721 C2 MOL M 1 16.608 34.461 27.170 1.00 0.00 C +HETATM 7722 H2 MOL M 1 17.022 34.930 26.282 1.00 0.00 H +HETATM 7723 C3 MOL M 1 16.626 35.042 28.447 1.00 0.00 C +HETATM 7724 H3 MOL M 1 17.090 36.014 28.589 1.00 0.00 H +HETATM 7725 C4 MOL M 1 16.146 34.323 29.538 1.00 0.00 C +HETATM 7726 H4 MOL M 1 16.155 34.915 30.449 1.00 0.00 H +HETATM 7727 C5 MOL M 1 15.567 33.096 29.415 1.00 0.00 C +HETATM 7728 H5 MOL M 1 15.065 32.746 30.314 1.00 0.00 H +HETATM 7729 C6 MOL M 1 15.526 32.413 28.145 1.00 0.00 C +HETATM 7730 C7 MOL M 1 15.006 31.027 28.011 1.00 0.00 C +HETATM 7731 H6 MOL M 1 13.942 30.944 27.775 1.00 0.00 H +HETATM 7732 H7 MOL M 1 15.107 30.513 28.971 1.00 0.00 H +HETATM 7733 O1 MOL M 1 15.815 30.213 27.140 1.00 0.00 O +HETATM 7734 H8 MOL M 1 16.268 29.596 27.743 1.00 0.00 H +TER 7735 MOL M 1 +HETATM 7736 C1 MOL N 1 14.384 34.764 13.476 1.00 0.00 C +HETATM 7737 H1 MOL N 1 14.068 35.796 13.612 1.00 0.00 H +HETATM 7738 C2 MOL N 1 15.737 34.595 13.137 1.00 0.00 C +HETATM 7739 H2 MOL N 1 16.341 35.486 12.987 1.00 0.00 H +HETATM 7740 C3 MOL N 1 16.219 33.304 12.962 1.00 0.00 C +HETATM 7741 H3 MOL N 1 17.247 33.149 12.645 1.00 0.00 H +HETATM 7742 C4 MOL N 1 15.375 32.143 13.059 1.00 0.00 C +HETATM 7743 H4 MOL N 1 15.800 31.172 12.818 1.00 0.00 H +HETATM 7744 C5 MOL N 1 14.087 32.343 13.418 1.00 0.00 C +HETATM 7745 H5 MOL N 1 13.434 31.479 13.514 1.00 0.00 H +HETATM 7746 C6 MOL N 1 13.583 33.646 13.724 1.00 0.00 C +HETATM 7747 C7 MOL N 1 12.178 33.728 14.278 1.00 0.00 C +HETATM 7748 H6 MOL N 1 12.157 34.593 14.945 1.00 0.00 H +HETATM 7749 H7 MOL N 1 11.974 32.792 14.805 1.00 0.00 H +HETATM 7750 O1 MOL N 1 11.196 33.905 13.193 1.00 0.00 O +HETATM 7751 H8 MOL N 1 10.273 33.722 13.445 1.00 0.00 H +TER 7752 MOL N 1 +HETATM 7753 C1 MOL O 1 12.215 44.105 11.834 1.00 0.00 C +HETATM 7754 H1 MOL O 1 12.414 44.869 12.581 1.00 0.00 H +HETATM 7755 C2 MOL O 1 12.906 44.157 10.605 1.00 0.00 C +HETATM 7756 H2 MOL O 1 13.580 44.989 10.417 1.00 0.00 H +HETATM 7757 C3 MOL O 1 12.902 43.024 9.727 1.00 0.00 C +HETATM 7758 H3 MOL O 1 13.600 42.923 8.900 1.00 0.00 H +HETATM 7759 C4 MOL O 1 12.038 41.932 10.037 1.00 0.00 C +HETATM 7760 H4 MOL O 1 12.034 41.031 9.428 1.00 0.00 H +HETATM 7761 C5 MOL O 1 11.353 41.928 11.271 1.00 0.00 C +HETATM 7762 H5 MOL O 1 10.735 41.058 11.479 1.00 0.00 H +HETATM 7763 C6 MOL O 1 11.445 43.004 12.219 1.00 0.00 C +HETATM 7764 C7 MOL O 1 10.786 42.833 13.617 1.00 0.00 C +HETATM 7765 H6 MOL O 1 10.731 43.791 14.140 1.00 0.00 H +HETATM 7766 H7 MOL O 1 11.336 42.011 14.084 1.00 0.00 H +HETATM 7767 O1 MOL O 1 9.403 42.402 13.414 1.00 0.00 O +HETATM 7768 H8 MOL O 1 8.954 43.193 13.064 1.00 0.00 H +TER 7769 MOL O 1 +HETATM 7770 C1 MOL P 1 2.087 4.106 45.323 1.00 0.00 C +HETATM 7771 H1 MOL P 1 2.683 4.155 46.231 1.00 0.00 H +HETATM 7772 C2 MOL P 1 0.764 3.774 45.357 1.00 0.00 C +HETATM 7773 H2 MOL P 1 0.387 3.525 46.345 1.00 0.00 H +HETATM 7774 C3 MOL P 1 0.053 3.495 44.203 1.00 0.00 C +HETATM 7775 H3 MOL P 1 -0.845 2.895 44.323 1.00 0.00 H +HETATM 7776 C4 MOL P 1 0.607 3.847 42.974 1.00 0.00 C +HETATM 7777 H4 MOL P 1 0.174 3.682 41.991 1.00 0.00 H +HETATM 7778 C5 MOL P 1 1.834 4.494 43.006 1.00 0.00 C +HETATM 7779 H5 MOL P 1 2.348 4.744 42.081 1.00 0.00 H +HETATM 7780 C6 MOL P 1 2.660 4.538 44.124 1.00 0.00 C +HETATM 7781 C7 MOL P 1 4.071 5.052 43.991 1.00 0.00 C +HETATM 7782 H6 MOL P 1 4.670 4.411 43.339 1.00 0.00 H +HETATM 7783 H7 MOL P 1 4.329 5.199 45.043 1.00 0.00 H +HETATM 7784 O1 MOL P 1 4.030 6.363 43.447 1.00 0.00 O +HETATM 7785 H8 MOL P 1 4.008 6.865 44.281 1.00 0.00 H +TER 7786 MOL P 1 +HETATM 7787 C1 MOL Q 1 1.089 39.495 9.096 1.00 0.00 C +HETATM 7788 H1 MOL Q 1 0.638 39.559 8.109 1.00 0.00 H +HETATM 7789 C2 MOL Q 1 1.748 40.592 9.685 1.00 0.00 C +HETATM 7790 H2 MOL Q 1 1.816 41.489 9.075 1.00 0.00 H +HETATM 7791 C3 MOL Q 1 2.362 40.603 10.929 1.00 0.00 C +HETATM 7792 H3 MOL Q 1 2.962 41.402 11.359 1.00 0.00 H +HETATM 7793 C4 MOL Q 1 2.211 39.441 11.689 1.00 0.00 C +HETATM 7794 H4 MOL Q 1 2.504 39.476 12.735 1.00 0.00 H +HETATM 7795 C5 MOL Q 1 1.461 38.298 11.192 1.00 0.00 C +HETATM 7796 H5 MOL Q 1 1.356 37.462 11.879 1.00 0.00 H +HETATM 7797 C6 MOL Q 1 0.985 38.301 9.874 1.00 0.00 C +HETATM 7798 C7 MOL Q 1 0.156 37.135 9.415 1.00 0.00 C +HETATM 7799 H6 MOL Q 1 -0.029 36.443 10.241 1.00 0.00 H +HETATM 7800 H7 MOL Q 1 0.618 36.636 8.559 1.00 0.00 H +HETATM 7801 O1 MOL Q 1 -1.119 37.647 8.881 1.00 0.00 O +HETATM 7802 H8 MOL Q 1 -1.412 38.394 9.433 1.00 0.00 H +TER 7803 MOL Q 1 +HETATM 7804 C1 MOL R 1 19.082 34.237 37.222 1.00 0.00 C +HETATM 7805 H1 MOL R 1 19.131 35.142 37.822 1.00 0.00 H +HETATM 7806 C2 MOL R 1 19.092 34.478 35.853 1.00 0.00 C +HETATM 7807 H2 MOL R 1 19.053 35.499 35.481 1.00 0.00 H +HETATM 7808 C3 MOL R 1 19.145 33.381 35.004 1.00 0.00 C +HETATM 7809 H3 MOL R 1 19.237 33.432 33.923 1.00 0.00 H +HETATM 7810 C4 MOL R 1 19.278 32.154 35.572 1.00 0.00 C +HETATM 7811 H4 MOL R 1 19.404 31.342 34.861 1.00 0.00 H +HETATM 7812 C5 MOL R 1 19.393 31.942 36.982 1.00 0.00 C +HETATM 7813 H5 MOL R 1 19.775 30.993 37.349 1.00 0.00 H +HETATM 7814 C6 MOL R 1 19.307 33.000 37.846 1.00 0.00 C +HETATM 7815 C7 MOL R 1 19.652 32.920 39.306 1.00 0.00 C +HETATM 7816 H6 MOL R 1 18.792 32.421 39.758 1.00 0.00 H +HETATM 7817 H7 MOL R 1 19.762 33.907 39.762 1.00 0.00 H +HETATM 7818 O1 MOL R 1 20.755 32.077 39.700 1.00 0.00 O +HETATM 7819 H8 MOL R 1 20.712 31.532 40.506 1.00 0.00 H +TER 7820 MOL R 1 +HETATM 7821 C1 MOL S 1 43.992 30.692 16.858 1.00 0.00 C +HETATM 7822 H1 MOL S 1 43.441 29.781 17.077 1.00 0.00 H +HETATM 7823 C2 MOL S 1 45.396 30.826 16.807 1.00 0.00 C +HETATM 7824 H2 MOL S 1 46.033 29.946 16.758 1.00 0.00 H +HETATM 7825 C3 MOL S 1 45.959 32.064 16.638 1.00 0.00 C +HETATM 7826 H3 MOL S 1 47.037 32.070 16.499 1.00 0.00 H +HETATM 7827 C4 MOL S 1 45.204 33.261 16.523 1.00 0.00 C +HETATM 7828 H4 MOL S 1 45.624 34.254 16.388 1.00 0.00 H +HETATM 7829 C5 MOL S 1 43.862 33.089 16.616 1.00 0.00 C +HETATM 7830 H5 MOL S 1 43.222 33.966 16.574 1.00 0.00 H +HETATM 7831 C6 MOL S 1 43.221 31.859 16.760 1.00 0.00 C +HETATM 7832 C7 MOL S 1 41.729 31.677 16.544 1.00 0.00 C +HETATM 7833 H6 MOL S 1 41.616 31.065 15.645 1.00 0.00 H +HETATM 7834 H7 MOL S 1 41.198 32.632 16.534 1.00 0.00 H +HETATM 7835 O1 MOL S 1 41.173 31.018 17.635 1.00 0.00 O +HETATM 7836 H8 MOL S 1 40.203 31.098 17.598 1.00 0.00 H +TER 7837 MOL S 1 +HETATM 7838 C1 MOL T 1 30.991 5.193 0.795 1.00 0.00 C +HETATM 7839 H1 MOL T 1 31.782 5.129 0.052 1.00 0.00 H +HETATM 7840 C2 MOL T 1 29.757 4.600 0.665 1.00 0.00 C +HETATM 7841 H2 MOL T 1 29.532 4.125 -0.286 1.00 0.00 H +HETATM 7842 C3 MOL T 1 28.825 4.512 1.653 1.00 0.00 C +HETATM 7843 H3 MOL T 1 27.919 3.928 1.515 1.00 0.00 H +HETATM 7844 C4 MOL T 1 29.202 5.135 2.910 1.00 0.00 C +HETATM 7845 H4 MOL T 1 28.517 5.138 3.754 1.00 0.00 H +HETATM 7846 C5 MOL T 1 30.375 5.882 3.041 1.00 0.00 C +HETATM 7847 H5 MOL T 1 30.629 6.222 4.042 1.00 0.00 H +HETATM 7848 C6 MOL T 1 31.305 5.887 2.021 1.00 0.00 C +HETATM 7849 C7 MOL T 1 32.696 6.516 2.168 1.00 0.00 C +HETATM 7850 H6 MOL T 1 32.993 6.653 1.125 1.00 0.00 H +HETATM 7851 H7 MOL T 1 33.392 5.821 2.644 1.00 0.00 H +HETATM 7852 O1 MOL T 1 32.623 7.815 2.801 1.00 0.00 O +HETATM 7853 H8 MOL T 1 33.495 7.987 3.201 1.00 0.00 H +TER 7854 MOL T 1 +HETATM 7855 C1 MOL U 1 28.927 35.247 37.019 1.00 0.00 C +HETATM 7856 H1 MOL U 1 29.340 36.126 36.531 1.00 0.00 H +HETATM 7857 C2 MOL U 1 29.596 33.980 36.825 1.00 0.00 C +HETATM 7858 H2 MOL U 1 30.555 33.921 36.318 1.00 0.00 H +HETATM 7859 C3 MOL U 1 29.134 32.843 37.413 1.00 0.00 C +HETATM 7860 H3 MOL U 1 29.795 31.986 37.312 1.00 0.00 H +HETATM 7861 C4 MOL U 1 27.919 32.995 38.168 1.00 0.00 C +HETATM 7862 H4 MOL U 1 27.536 32.079 38.609 1.00 0.00 H +HETATM 7863 C5 MOL U 1 27.189 34.129 38.369 1.00 0.00 C +HETATM 7864 H5 MOL U 1 26.250 34.188 38.913 1.00 0.00 H +HETATM 7865 C6 MOL U 1 27.733 35.305 37.803 1.00 0.00 C +HETATM 7866 C7 MOL U 1 26.990 36.623 38.101 1.00 0.00 C +HETATM 7867 H6 MOL U 1 25.902 36.587 38.011 1.00 0.00 H +HETATM 7868 H7 MOL U 1 27.375 37.407 37.444 1.00 0.00 H +HETATM 7869 O1 MOL U 1 27.180 37.089 39.449 1.00 0.00 O +HETATM 7870 H8 MOL U 1 27.641 36.361 39.902 1.00 0.00 H +TER 7871 MOL U 1 +HETATM 7872 C1 MOL V 1 15.438 19.575 16.609 1.00 0.00 C +HETATM 7873 H1 MOL V 1 15.935 20.424 16.145 1.00 0.00 H +HETATM 7874 C2 MOL V 1 14.018 19.662 16.764 1.00 0.00 C +HETATM 7875 H2 MOL V 1 13.462 20.523 16.401 1.00 0.00 H +HETATM 7876 C3 MOL V 1 13.332 18.712 17.476 1.00 0.00 C +HETATM 7877 H3 MOL V 1 12.252 18.798 17.565 1.00 0.00 H +HETATM 7878 C4 MOL V 1 14.032 17.598 18.014 1.00 0.00 C +HETATM 7879 H4 MOL V 1 13.533 16.726 18.430 1.00 0.00 H +HETATM 7880 C5 MOL V 1 15.379 17.561 17.928 1.00 0.00 C +HETATM 7881 H5 MOL V 1 15.898 16.719 18.378 1.00 0.00 H +HETATM 7882 C6 MOL V 1 16.107 18.525 17.241 1.00 0.00 C +HETATM 7883 C7 MOL V 1 17.658 18.528 17.196 1.00 0.00 C +HETATM 7884 H6 MOL V 1 18.052 17.605 17.629 1.00 0.00 H +HETATM 7885 H7 MOL V 1 17.882 19.378 17.845 1.00 0.00 H +HETATM 7886 O1 MOL V 1 18.282 18.852 16.000 1.00 0.00 O +HETATM 7887 H8 MOL V 1 17.611 18.834 15.294 1.00 0.00 H +TER 7888 MOL V 1 +HETATM 7889 C1 MOL W 1 42.968 9.749 17.159 1.00 0.00 C +HETATM 7890 H1 MOL W 1 43.887 9.179 17.050 1.00 0.00 H +HETATM 7891 C2 MOL W 1 42.568 10.209 18.443 1.00 0.00 C +HETATM 7892 H2 MOL W 1 43.192 9.980 19.304 1.00 0.00 H +HETATM 7893 C3 MOL W 1 41.412 10.985 18.662 1.00 0.00 C +HETATM 7894 H3 MOL W 1 40.987 11.247 19.628 1.00 0.00 H +HETATM 7895 C4 MOL W 1 40.652 11.236 17.471 1.00 0.00 C +HETATM 7896 H4 MOL W 1 39.710 11.771 17.565 1.00 0.00 H +HETATM 7897 C5 MOL W 1 41.048 10.779 16.231 1.00 0.00 C +HETATM 7898 H5 MOL W 1 40.373 11.062 15.427 1.00 0.00 H +HETATM 7899 C6 MOL W 1 42.213 10.066 16.058 1.00 0.00 C +HETATM 7900 C7 MOL W 1 42.663 9.606 14.660 1.00 0.00 C +HETATM 7901 H6 MOL W 1 41.848 9.548 13.933 1.00 0.00 H +HETATM 7902 H7 MOL W 1 43.039 8.584 14.754 1.00 0.00 H +HETATM 7903 O1 MOL W 1 43.685 10.337 13.918 1.00 0.00 O +HETATM 7904 H8 MOL W 1 44.377 10.515 14.580 1.00 0.00 H +TER 7905 MOL W 1 +HETATM 7906 C1 MOL X 1 10.084 1.919 5.721 1.00 0.00 C +HETATM 7907 H1 MOL X 1 10.066 2.777 5.054 1.00 0.00 H +HETATM 7908 C2 MOL X 1 11.318 1.471 6.152 1.00 0.00 C +HETATM 7909 H2 MOL X 1 12.244 1.962 5.862 1.00 0.00 H +HETATM 7910 C3 MOL X 1 11.380 0.322 6.897 1.00 0.00 C +HETATM 7911 H3 MOL X 1 12.294 -0.241 7.073 1.00 0.00 H +HETATM 7912 C4 MOL X 1 10.150 -0.211 7.381 1.00 0.00 C +HETATM 7913 H4 MOL X 1 10.241 -1.027 8.094 1.00 0.00 H +HETATM 7914 C5 MOL X 1 8.914 0.214 6.973 1.00 0.00 C +HETATM 7915 H5 MOL X 1 8.020 -0.201 7.432 1.00 0.00 H +HETATM 7916 C6 MOL X 1 8.895 1.288 6.196 1.00 0.00 C +HETATM 7917 C7 MOL X 1 7.564 1.834 5.761 1.00 0.00 C +HETATM 7918 H6 MOL X 1 7.452 2.902 5.961 1.00 0.00 H +HETATM 7919 H7 MOL X 1 6.784 1.328 6.335 1.00 0.00 H +HETATM 7920 O1 MOL X 1 7.397 1.618 4.402 1.00 0.00 O +HETATM 7921 H8 MOL X 1 6.647 2.175 4.126 1.00 0.00 H +TER 7922 MOL X 1 +HETATM 7923 C1 MOL Y 1 36.400 7.111 11.255 1.00 0.00 C +HETATM 7924 H1 MOL Y 1 36.049 6.204 11.741 1.00 0.00 H +HETATM 7925 C2 MOL Y 1 36.183 7.445 9.899 1.00 0.00 C +HETATM 7926 H2 MOL Y 1 35.711 6.786 9.174 1.00 0.00 H +HETATM 7927 C3 MOL Y 1 36.684 8.660 9.372 1.00 0.00 C +HETATM 7928 H3 MOL Y 1 36.497 8.880 8.324 1.00 0.00 H +HETATM 7929 C4 MOL Y 1 37.279 9.531 10.297 1.00 0.00 C +HETATM 7930 H4 MOL Y 1 37.655 10.419 9.795 1.00 0.00 H +HETATM 7931 C5 MOL Y 1 37.508 9.164 11.624 1.00 0.00 C +HETATM 7932 H5 MOL Y 1 38.000 9.777 12.376 1.00 0.00 H +HETATM 7933 C6 MOL Y 1 37.164 7.919 12.091 1.00 0.00 C +HETATM 7934 C7 MOL Y 1 37.379 7.550 13.541 1.00 0.00 C +HETATM 7935 H6 MOL Y 1 37.914 8.373 14.021 1.00 0.00 H +HETATM 7936 H7 MOL Y 1 38.040 6.682 13.611 1.00 0.00 H +HETATM 7937 O1 MOL Y 1 36.110 7.282 14.209 1.00 0.00 O +HETATM 7938 H8 MOL Y 1 35.383 7.300 13.561 1.00 0.00 H +TER 7939 MOL Y 1 +HETATM 7940 C1 MOL Z 1 14.354 32.597 18.842 1.00 0.00 C +HETATM 7941 H1 MOL Z 1 13.985 31.820 18.178 1.00 0.00 H +HETATM 7942 C2 MOL Z 1 14.162 32.446 20.226 1.00 0.00 C +HETATM 7943 H2 MOL Z 1 13.854 31.487 20.635 1.00 0.00 H +HETATM 7944 C3 MOL Z 1 14.288 33.501 21.111 1.00 0.00 C +HETATM 7945 H3 MOL Z 1 14.079 33.311 22.161 1.00 0.00 H +HETATM 7946 C4 MOL Z 1 14.829 34.684 20.642 1.00 0.00 C +HETATM 7947 H4 MOL Z 1 15.037 35.521 21.304 1.00 0.00 H +HETATM 7948 C5 MOL Z 1 15.259 34.755 19.301 1.00 0.00 C +HETATM 7949 H5 MOL Z 1 15.869 35.591 18.970 1.00 0.00 H +HETATM 7950 C6 MOL Z 1 14.885 33.790 18.390 1.00 0.00 C +HETATM 7951 C7 MOL Z 1 15.238 33.968 16.915 1.00 0.00 C +HETATM 7952 H6 MOL Z 1 16.185 34.507 16.829 1.00 0.00 H +HETATM 7953 H7 MOL Z 1 14.517 34.667 16.483 1.00 0.00 H +HETATM 7954 O1 MOL Z 1 15.335 32.753 16.112 1.00 0.00 O +HETATM 7955 H8 MOL Z 1 15.746 33.009 15.267 1.00 0.00 H +TER 7956 MOL Z 1 +HETATM 7957 C1 MOL A 1 12.872 28.995 9.418 1.00 0.00 C +HETATM 7958 H1 MOL A 1 12.979 29.747 8.640 1.00 0.00 H +HETATM 7959 C2 MOL A 1 12.933 27.658 9.140 1.00 0.00 C +HETATM 7960 H2 MOL A 1 13.022 27.218 8.150 1.00 0.00 H +HETATM 7961 C3 MOL A 1 12.758 26.793 10.236 1.00 0.00 C +HETATM 7962 H3 MOL A 1 12.764 25.713 10.114 1.00 0.00 H +HETATM 7963 C4 MOL A 1 12.473 27.239 11.537 1.00 0.00 C +HETATM 7964 H4 MOL A 1 12.339 26.573 12.386 1.00 0.00 H +HETATM 7965 C5 MOL A 1 12.454 28.645 11.770 1.00 0.00 C +HETATM 7966 H5 MOL A 1 12.237 29.121 12.723 1.00 0.00 H +HETATM 7967 C6 MOL A 1 12.554 29.495 10.674 1.00 0.00 C +HETATM 7968 C7 MOL A 1 12.287 30.981 10.704 1.00 0.00 C +HETATM 7969 H6 MOL A 1 11.721 31.342 9.841 1.00 0.00 H +HETATM 7970 H7 MOL A 1 13.256 31.487 10.684 1.00 0.00 H +HETATM 7971 O1 MOL A 1 11.425 31.297 11.787 1.00 0.00 O +HETATM 7972 H8 MOL A 1 11.500 32.263 11.883 1.00 0.00 H +TER 7973 MOL A 1 +HETATM 7974 C1 MOL B 1 9.377 2.675 -0.105 1.00 0.00 C +HETATM 7975 H1 MOL B 1 8.898 2.926 -1.048 1.00 0.00 H +HETATM 7976 C2 MOL B 1 8.720 1.733 0.697 1.00 0.00 C +HETATM 7977 H2 MOL B 1 7.881 1.134 0.352 1.00 0.00 H +HETATM 7978 C3 MOL B 1 9.384 1.305 1.901 1.00 0.00 C +HETATM 7979 H3 MOL B 1 8.997 0.452 2.452 1.00 0.00 H +HETATM 7980 C4 MOL B 1 10.502 2.007 2.332 1.00 0.00 C +HETATM 7981 H4 MOL B 1 10.937 1.802 3.307 1.00 0.00 H +HETATM 7982 C5 MOL B 1 11.073 3.065 1.540 1.00 0.00 C +HETATM 7983 H5 MOL B 1 11.882 3.660 1.957 1.00 0.00 H +HETATM 7984 C6 MOL B 1 10.584 3.280 0.299 1.00 0.00 C +HETATM 7985 C7 MOL B 1 11.121 4.380 -0.577 1.00 0.00 C +HETATM 7986 H6 MOL B 1 10.905 5.295 -0.020 1.00 0.00 H +HETATM 7987 H7 MOL B 1 10.627 4.421 -1.551 1.00 0.00 H +HETATM 7988 O1 MOL B 1 12.573 4.391 -0.703 1.00 0.00 O +HETATM 7989 H8 MOL B 1 12.939 3.501 -0.556 1.00 0.00 H +TER 7990 MOL B 1 +HETATM 7991 C1 MOL C 1 25.211 36.540 18.991 1.00 0.00 C +HETATM 7992 H1 MOL C 1 24.215 36.925 19.200 1.00 0.00 H +HETATM 7993 C2 MOL C 1 25.723 35.535 19.796 1.00 0.00 C +HETATM 7994 H2 MOL C 1 25.095 35.094 20.566 1.00 0.00 H +HETATM 7995 C3 MOL C 1 27.018 35.112 19.615 1.00 0.00 C +HETATM 7996 H3 MOL C 1 27.408 34.321 20.251 1.00 0.00 H +HETATM 7997 C4 MOL C 1 27.773 35.538 18.564 1.00 0.00 C +HETATM 7998 H4 MOL C 1 28.766 35.118 18.430 1.00 0.00 H +HETATM 7999 C5 MOL C 1 27.256 36.414 17.645 1.00 0.00 C +HETATM 8000 H5 MOL C 1 27.835 36.733 16.782 1.00 0.00 H +HETATM 8001 C6 MOL C 1 25.980 36.871 17.857 1.00 0.00 C +HETATM 8002 C7 MOL C 1 25.338 37.703 16.717 1.00 0.00 C +HETATM 8003 H6 MOL C 1 25.048 37.132 15.831 1.00 0.00 H +HETATM 8004 H7 MOL C 1 26.060 38.351 16.214 1.00 0.00 H +HETATM 8005 O1 MOL C 1 24.246 38.530 17.163 1.00 0.00 O +HETATM 8006 H8 MOL C 1 23.461 37.956 17.207 1.00 0.00 H +TER 8007 MOL C 1 +HETATM 8008 C1 MOL D 1 10.780 41.514 1.363 1.00 0.00 C +HETATM 8009 H1 MOL D 1 11.303 42.106 2.109 1.00 0.00 H +HETATM 8010 C2 MOL D 1 9.790 42.035 0.572 1.00 0.00 C +HETATM 8011 H2 MOL D 1 9.377 43.028 0.732 1.00 0.00 H +HETATM 8012 C3 MOL D 1 9.290 41.337 -0.553 1.00 0.00 C +HETATM 8013 H3 MOL D 1 8.652 41.818 -1.289 1.00 0.00 H +HETATM 8014 C4 MOL D 1 9.813 40.068 -0.781 1.00 0.00 C +HETATM 8015 H4 MOL D 1 9.539 39.581 -1.713 1.00 0.00 H +HETATM 8016 C5 MOL D 1 10.706 39.429 0.081 1.00 0.00 C +HETATM 8017 H5 MOL D 1 10.965 38.381 -0.050 1.00 0.00 H +HETATM 8018 C6 MOL D 1 11.246 40.224 1.112 1.00 0.00 C +HETATM 8019 C7 MOL D 1 12.308 39.615 1.915 1.00 0.00 C +HETATM 8020 H6 MOL D 1 12.494 38.620 1.503 1.00 0.00 H +HETATM 8021 H7 MOL D 1 11.839 39.382 2.874 1.00 0.00 H +HETATM 8022 O1 MOL D 1 13.493 40.425 2.136 1.00 0.00 O +HETATM 8023 H8 MOL D 1 13.432 41.123 2.812 1.00 0.00 H +TER 8024 MOL D 1 +HETATM 8025 C1 MOL E 1 4.144 1.574 7.987 1.00 0.00 C +HETATM 8026 H1 MOL E 1 4.149 1.026 7.049 1.00 0.00 H +HETATM 8027 C2 MOL E 1 3.638 2.904 8.012 1.00 0.00 C +HETATM 8028 H2 MOL E 1 3.502 3.435 7.073 1.00 0.00 H +HETATM 8029 C3 MOL E 1 3.637 3.570 9.188 1.00 0.00 C +HETATM 8030 H3 MOL E 1 3.333 4.612 9.129 1.00 0.00 H +HETATM 8031 C4 MOL E 1 3.831 2.895 10.378 1.00 0.00 C +HETATM 8032 H4 MOL E 1 3.804 3.461 11.306 1.00 0.00 H +HETATM 8033 C5 MOL E 1 4.226 1.602 10.360 1.00 0.00 C +HETATM 8034 H5 MOL E 1 4.395 1.005 11.252 1.00 0.00 H +HETATM 8035 C6 MOL E 1 4.447 0.867 9.136 1.00 0.00 C +HETATM 8036 C7 MOL E 1 4.990 -0.561 9.126 1.00 0.00 C +HETATM 8037 H6 MOL E 1 5.387 -0.882 10.093 1.00 0.00 H +HETATM 8038 H7 MOL E 1 5.833 -0.638 8.434 1.00 0.00 H +HETATM 8039 O1 MOL E 1 3.995 -1.503 8.785 1.00 0.00 O +HETATM 8040 H8 MOL E 1 3.874 -1.494 7.819 1.00 0.00 H +TER 8041 MOL E 1 +HETATM 8042 C1 MOL F 1 14.749 20.449 29.727 1.00 0.00 C +HETATM 8043 H1 MOL F 1 13.907 21.058 30.043 1.00 0.00 H +HETATM 8044 C2 MOL F 1 15.979 20.626 30.315 1.00 0.00 C +HETATM 8045 H2 MOL F 1 15.993 21.379 31.100 1.00 0.00 H +HETATM 8046 C3 MOL F 1 17.083 19.824 29.984 1.00 0.00 C +HETATM 8047 H3 MOL F 1 18.081 19.919 30.403 1.00 0.00 H +HETATM 8048 C4 MOL F 1 16.971 19.001 28.934 1.00 0.00 C +HETATM 8049 H4 MOL F 1 17.879 18.546 28.548 1.00 0.00 H +HETATM 8050 C5 MOL F 1 15.777 18.858 28.274 1.00 0.00 C +HETATM 8051 H5 MOL F 1 15.764 18.308 27.337 1.00 0.00 H +HETATM 8052 C6 MOL F 1 14.619 19.404 28.780 1.00 0.00 C +HETATM 8053 C7 MOL F 1 13.272 19.112 28.115 1.00 0.00 C +HETATM 8054 H6 MOL F 1 13.453 18.470 27.250 1.00 0.00 H +HETATM 8055 H7 MOL F 1 12.878 20.076 27.782 1.00 0.00 H +HETATM 8056 O1 MOL F 1 12.422 18.403 29.016 1.00 0.00 O +HETATM 8057 H8 MOL F 1 12.764 17.502 29.162 1.00 0.00 H +TER 8058 MOL F 1 +HETATM 8059 C1 MOL G 1 22.207 17.316 19.397 1.00 0.00 C +HETATM 8060 H1 MOL G 1 21.232 16.854 19.266 1.00 0.00 H +HETATM 8061 C2 MOL G 1 22.528 18.253 18.387 1.00 0.00 C +HETATM 8062 H2 MOL G 1 21.779 18.540 17.654 1.00 0.00 H +HETATM 8063 C3 MOL G 1 23.747 18.941 18.426 1.00 0.00 C +HETATM 8064 H3 MOL G 1 23.920 19.633 17.606 1.00 0.00 H +HETATM 8065 C4 MOL G 1 24.651 18.637 19.441 1.00 0.00 C +HETATM 8066 H4 MOL G 1 25.627 19.115 19.454 1.00 0.00 H +HETATM 8067 C5 MOL G 1 24.252 17.788 20.469 1.00 0.00 C +HETATM 8068 H5 MOL G 1 24.965 17.672 21.281 1.00 0.00 H +HETATM 8069 C6 MOL G 1 23.043 17.160 20.490 1.00 0.00 C +HETATM 8070 C7 MOL G 1 22.566 16.232 21.529 1.00 0.00 C +HETATM 8071 H6 MOL G 1 21.565 15.945 21.198 1.00 0.00 H +HETATM 8072 H7 MOL G 1 22.532 16.750 22.491 1.00 0.00 H +HETATM 8073 O1 MOL G 1 23.433 15.091 21.656 1.00 0.00 O +HETATM 8074 H8 MOL G 1 23.004 14.392 21.132 1.00 0.00 H +TER 8075 MOL G 1 +HETATM 8076 C1 MOL H 1 10.301 39.690 39.643 1.00 0.00 C +HETATM 8077 H1 MOL H 1 9.318 39.980 40.004 1.00 0.00 H +HETATM 8078 C2 MOL H 1 10.894 38.592 40.200 1.00 0.00 C +HETATM 8079 H2 MOL H 1 10.456 38.045 41.030 1.00 0.00 H +HETATM 8080 C3 MOL H 1 12.159 38.236 39.743 1.00 0.00 C +HETATM 8081 H3 MOL H 1 12.710 37.447 40.248 1.00 0.00 H +HETATM 8082 C4 MOL H 1 12.602 38.775 38.555 1.00 0.00 C +HETATM 8083 H4 MOL H 1 13.552 38.405 38.179 1.00 0.00 H +HETATM 8084 C5 MOL H 1 11.920 39.813 37.969 1.00 0.00 C +HETATM 8085 H5 MOL H 1 12.474 40.328 37.187 1.00 0.00 H +HETATM 8086 C6 MOL H 1 10.690 40.250 38.461 1.00 0.00 C +HETATM 8087 C7 MOL H 1 10.016 41.371 37.780 1.00 0.00 C +HETATM 8088 H6 MOL H 1 9.731 41.134 36.752 1.00 0.00 H +HETATM 8089 H7 MOL H 1 10.753 42.164 37.632 1.00 0.00 H +HETATM 8090 O1 MOL H 1 8.874 41.982 38.426 1.00 0.00 O +HETATM 8091 H8 MOL H 1 8.113 41.379 38.505 1.00 0.00 H +TER 8092 MOL H 1 +HETATM 8093 C1 MOL I 1 11.169 12.364 17.899 1.00 0.00 C +HETATM 8094 H1 MOL I 1 12.061 11.758 17.766 1.00 0.00 H +HETATM 8095 C2 MOL I 1 9.950 12.198 17.199 1.00 0.00 C +HETATM 8096 H2 MOL I 1 9.710 11.335 16.583 1.00 0.00 H +HETATM 8097 C3 MOL I 1 8.812 12.962 17.510 1.00 0.00 C +HETATM 8098 H3 MOL I 1 7.901 12.747 16.957 1.00 0.00 H +HETATM 8099 C4 MOL I 1 8.901 13.863 18.612 1.00 0.00 C +HETATM 8100 H4 MOL I 1 8.117 14.575 18.855 1.00 0.00 H +HETATM 8101 C5 MOL I 1 10.071 13.980 19.330 1.00 0.00 C +HETATM 8102 H5 MOL I 1 10.002 14.660 20.174 1.00 0.00 H +HETATM 8103 C6 MOL I 1 11.204 13.209 19.048 1.00 0.00 C +HETATM 8104 C7 MOL I 1 12.387 13.380 19.973 1.00 0.00 C +HETATM 8105 H6 MOL I 1 12.974 12.464 19.869 1.00 0.00 H +HETATM 8106 H7 MOL I 1 11.978 13.474 20.982 1.00 0.00 H +HETATM 8107 O1 MOL I 1 13.105 14.499 19.574 1.00 0.00 O +HETATM 8108 H8 MOL I 1 13.350 14.230 18.671 1.00 0.00 H +TER 8109 MOL I 1 +HETATM 8110 C1 MOL J 1 7.608 37.502 38.553 1.00 0.00 C +HETATM 8111 H1 MOL J 1 8.042 38.251 39.211 1.00 0.00 H +HETATM 8112 C2 MOL J 1 7.782 36.172 38.809 1.00 0.00 C +HETATM 8113 H2 MOL J 1 8.395 35.945 39.677 1.00 0.00 H +HETATM 8114 C3 MOL J 1 7.320 35.205 37.877 1.00 0.00 C +HETATM 8115 H3 MOL J 1 7.513 34.164 38.122 1.00 0.00 H +HETATM 8116 C4 MOL J 1 6.563 35.649 36.776 1.00 0.00 C +HETATM 8117 H4 MOL J 1 6.210 34.836 36.147 1.00 0.00 H +HETATM 8118 C5 MOL J 1 6.376 36.988 36.559 1.00 0.00 C +HETATM 8119 H5 MOL J 1 5.823 37.296 35.676 1.00 0.00 H +HETATM 8120 C6 MOL J 1 6.911 37.940 37.444 1.00 0.00 C +HETATM 8121 C7 MOL J 1 6.690 39.503 37.153 1.00 0.00 C +HETATM 8122 H6 MOL J 1 5.668 39.680 36.809 1.00 0.00 H +HETATM 8123 H7 MOL J 1 7.419 39.835 36.409 1.00 0.00 H +HETATM 8124 O1 MOL J 1 6.727 40.175 38.378 1.00 0.00 O +HETATM 8125 H8 MOL J 1 5.828 40.002 38.711 1.00 0.00 H +TER 8126 MOL J 1 +HETATM 8127 C1 MOL K 1 40.445 0.501 39.262 1.00 0.00 C +HETATM 8128 H1 MOL K 1 40.591 0.206 38.226 1.00 0.00 H +HETATM 8129 C2 MOL K 1 39.168 0.397 39.683 1.00 0.00 C +HETATM 8130 H2 MOL K 1 38.474 -0.104 39.013 1.00 0.00 H +HETATM 8131 C3 MOL K 1 38.764 0.772 40.982 1.00 0.00 C +HETATM 8132 H3 MOL K 1 37.719 0.567 41.199 1.00 0.00 H +HETATM 8133 C4 MOL K 1 39.679 1.433 41.761 1.00 0.00 C +HETATM 8134 H4 MOL K 1 39.278 1.918 42.648 1.00 0.00 H +HETATM 8135 C5 MOL K 1 40.994 1.612 41.265 1.00 0.00 C +HETATM 8136 H5 MOL K 1 41.760 2.193 41.772 1.00 0.00 H +HETATM 8137 C6 MOL K 1 41.357 1.208 39.983 1.00 0.00 C +HETATM 8138 C7 MOL K 1 42.757 1.522 39.432 1.00 0.00 C +HETATM 8139 H6 MOL K 1 42.794 1.197 38.389 1.00 0.00 H +HETATM 8140 H7 MOL K 1 43.570 1.148 40.058 1.00 0.00 H +HETATM 8141 O1 MOL K 1 42.913 2.979 39.431 1.00 0.00 O +HETATM 8142 H8 MOL K 1 42.288 3.280 38.748 1.00 0.00 H +TER 8143 MOL K 1 +HETATM 8144 C1 MOL L 1 38.688 11.557 43.018 1.00 0.00 C +HETATM 8145 H1 MOL L 1 37.711 11.927 43.321 1.00 0.00 H +HETATM 8146 C2 MOL L 1 38.883 10.484 42.186 1.00 0.00 C +HETATM 8147 H2 MOL L 1 38.041 9.863 41.892 1.00 0.00 H +HETATM 8148 C3 MOL L 1 40.180 10.123 41.800 1.00 0.00 C +HETATM 8149 H3 MOL L 1 40.268 9.191 41.248 1.00 0.00 H +HETATM 8150 C4 MOL L 1 41.238 10.985 42.134 1.00 0.00 C +HETATM 8151 H4 MOL L 1 42.256 10.734 41.847 1.00 0.00 H +HETATM 8152 C5 MOL L 1 40.998 12.095 42.864 1.00 0.00 C +HETATM 8153 H5 MOL L 1 41.878 12.701 43.065 1.00 0.00 H +HETATM 8154 C6 MOL L 1 39.680 12.431 43.257 1.00 0.00 C +HETATM 8155 C7 MOL L 1 39.396 13.600 44.206 1.00 0.00 C +HETATM 8156 H6 MOL L 1 38.424 13.591 44.706 1.00 0.00 H +HETATM 8157 H7 MOL L 1 39.509 14.559 43.693 1.00 0.00 H +HETATM 8158 O1 MOL L 1 40.308 13.661 45.272 1.00 0.00 O +HETATM 8159 H8 MOL L 1 40.089 12.931 45.878 1.00 0.00 H +TER 8160 MOL L 1 +HETATM 8161 C1 MOL M 1 32.429 32.589 39.423 1.00 0.00 C +HETATM 8162 H1 MOL M 1 32.549 32.257 38.395 1.00 0.00 H +HETATM 8163 C2 MOL M 1 31.786 33.766 39.782 1.00 0.00 C +HETATM 8164 H2 MOL M 1 31.232 34.343 39.046 1.00 0.00 H +HETATM 8165 C3 MOL M 1 31.802 34.232 41.089 1.00 0.00 C +HETATM 8166 H3 MOL M 1 31.322 35.166 41.370 1.00 0.00 H +HETATM 8167 C4 MOL M 1 32.266 33.323 42.054 1.00 0.00 C +HETATM 8168 H4 MOL M 1 32.060 33.596 43.086 1.00 0.00 H +HETATM 8169 C5 MOL M 1 32.881 32.177 41.675 1.00 0.00 C +HETATM 8170 H5 MOL M 1 33.429 31.571 42.392 1.00 0.00 H +HETATM 8171 C6 MOL M 1 33.055 31.792 40.356 1.00 0.00 C +HETATM 8172 C7 MOL M 1 33.635 30.454 40.096 1.00 0.00 C +HETATM 8173 H6 MOL M 1 34.398 30.114 40.801 1.00 0.00 H +HETATM 8174 H7 MOL M 1 34.106 30.482 39.111 1.00 0.00 H +HETATM 8175 O1 MOL M 1 32.731 29.399 40.192 1.00 0.00 O +HETATM 8176 H8 MOL M 1 32.075 29.511 40.903 1.00 0.00 H +TER 8177 MOL M 1 +HETATM 8178 C1 MOL N 1 35.326 8.087 4.930 1.00 0.00 C +HETATM 8179 H1 MOL N 1 34.709 8.489 5.729 1.00 0.00 H +HETATM 8180 C2 MOL N 1 35.723 9.004 3.961 1.00 0.00 C +HETATM 8181 H2 MOL N 1 35.295 10.001 3.890 1.00 0.00 H +HETATM 8182 C3 MOL N 1 36.172 8.425 2.791 1.00 0.00 C +HETATM 8183 H3 MOL N 1 36.381 9.114 1.976 1.00 0.00 H +HETATM 8184 C4 MOL N 1 36.439 7.068 2.631 1.00 0.00 C +HETATM 8185 H4 MOL N 1 37.080 6.753 1.812 1.00 0.00 H +HETATM 8186 C5 MOL N 1 36.164 6.228 3.708 1.00 0.00 C +HETATM 8187 H5 MOL N 1 36.275 5.152 3.598 1.00 0.00 H +HETATM 8188 C6 MOL N 1 35.503 6.717 4.808 1.00 0.00 C +HETATM 8189 C7 MOL N 1 35.055 5.783 5.953 1.00 0.00 C +HETATM 8190 H6 MOL N 1 34.881 6.255 6.923 1.00 0.00 H +HETATM 8191 H7 MOL N 1 35.794 4.988 6.085 1.00 0.00 H +HETATM 8192 O1 MOL N 1 33.807 5.125 5.606 1.00 0.00 O +HETATM 8193 H8 MOL N 1 33.785 4.788 4.692 1.00 0.00 H +TER 8194 MOL N 1 +HETATM 8195 C1 MOL O 1 4.703 12.676 38.630 1.00 0.00 C +HETATM 8196 H1 MOL O 1 3.753 13.204 38.657 1.00 0.00 H +HETATM 8197 C2 MOL O 1 4.660 11.337 38.232 1.00 0.00 C +HETATM 8198 H2 MOL O 1 3.739 10.825 37.965 1.00 0.00 H +HETATM 8199 C3 MOL O 1 5.941 10.653 38.301 1.00 0.00 C +HETATM 8200 H3 MOL O 1 6.081 9.653 37.896 1.00 0.00 H +HETATM 8201 C4 MOL O 1 7.108 11.298 38.602 1.00 0.00 C +HETATM 8202 H4 MOL O 1 8.119 10.902 38.545 1.00 0.00 H +HETATM 8203 C5 MOL O 1 7.061 12.636 38.985 1.00 0.00 C +HETATM 8204 H5 MOL O 1 7.958 13.170 39.288 1.00 0.00 H +HETATM 8205 C6 MOL O 1 5.857 13.323 39.081 1.00 0.00 C +HETATM 8206 C7 MOL O 1 5.880 14.838 39.427 1.00 0.00 C +HETATM 8207 H6 MOL O 1 6.779 15.237 38.951 1.00 0.00 H +HETATM 8208 H7 MOL O 1 6.091 14.877 40.498 1.00 0.00 H +HETATM 8209 O1 MOL O 1 4.655 15.589 39.092 1.00 0.00 O +HETATM 8210 H8 MOL O 1 4.614 15.581 38.119 1.00 0.00 H +TER 8211 MOL O 1 +HETATM 8212 C1 MOL P 1 33.886 41.577 27.748 1.00 0.00 C +HETATM 8213 H1 MOL P 1 33.736 40.980 26.852 1.00 0.00 H +HETATM 8214 C2 MOL P 1 33.327 41.366 29.013 1.00 0.00 C +HETATM 8215 H2 MOL P 1 32.715 40.488 29.202 1.00 0.00 H +HETATM 8216 C3 MOL P 1 33.335 42.324 30.073 1.00 0.00 C +HETATM 8217 H3 MOL P 1 32.846 42.105 31.019 1.00 0.00 H +HETATM 8218 C4 MOL P 1 34.081 43.496 29.817 1.00 0.00 C +HETATM 8219 H4 MOL P 1 34.150 44.346 30.490 1.00 0.00 H +HETATM 8220 C5 MOL P 1 34.743 43.678 28.647 1.00 0.00 C +HETATM 8221 H5 MOL P 1 35.322 44.581 28.471 1.00 0.00 H +HETATM 8222 C6 MOL P 1 34.692 42.779 27.562 1.00 0.00 C +HETATM 8223 C7 MOL P 1 35.314 43.099 26.232 1.00 0.00 C +HETATM 8224 H6 MOL P 1 35.987 42.290 25.937 1.00 0.00 H +HETATM 8225 H7 MOL P 1 35.868 44.034 26.352 1.00 0.00 H +HETATM 8226 O1 MOL P 1 34.333 43.306 25.174 1.00 0.00 O +HETATM 8227 H8 MOL P 1 34.656 44.015 24.589 1.00 0.00 H +TER 8228 MOL P 1 +HETATM 8229 C1 MOL Q 1 26.377 12.235 37.363 1.00 0.00 C +HETATM 8230 H1 MOL Q 1 26.694 12.949 38.119 1.00 0.00 H +HETATM 8231 C2 MOL Q 1 27.377 11.397 36.855 1.00 0.00 C +HETATM 8232 H2 MOL Q 1 28.365 11.472 37.302 1.00 0.00 H +HETATM 8233 C3 MOL Q 1 27.002 10.455 35.895 1.00 0.00 C +HETATM 8234 H3 MOL Q 1 27.685 9.791 35.371 1.00 0.00 H +HETATM 8235 C4 MOL Q 1 25.702 10.330 35.432 1.00 0.00 C +HETATM 8236 H4 MOL Q 1 25.465 9.656 34.613 1.00 0.00 H +HETATM 8237 C5 MOL Q 1 24.746 11.134 36.018 1.00 0.00 C +HETATM 8238 H5 MOL Q 1 23.733 10.998 35.646 1.00 0.00 H +HETATM 8239 C6 MOL Q 1 25.041 12.097 36.947 1.00 0.00 C +HETATM 8240 C7 MOL Q 1 24.018 13.059 37.449 1.00 0.00 C +HETATM 8241 H6 MOL Q 1 23.646 12.773 38.436 1.00 0.00 H +HETATM 8242 H7 MOL Q 1 23.203 12.841 36.754 1.00 0.00 H +HETATM 8243 O1 MOL Q 1 24.355 14.406 37.395 1.00 0.00 O +HETATM 8244 H8 MOL Q 1 25.215 14.409 37.851 1.00 0.00 H +TER 8245 MOL Q 1 +HETATM 8246 C1 MOL R 1 41.989 -0.300 9.844 1.00 0.00 C +HETATM 8247 H1 MOL R 1 41.055 -0.832 9.686 1.00 0.00 H +HETATM 8248 C2 MOL R 1 43.183 -0.923 9.485 1.00 0.00 C +HETATM 8249 H2 MOL R 1 43.159 -1.949 9.126 1.00 0.00 H +HETATM 8250 C3 MOL R 1 44.409 -0.255 9.797 1.00 0.00 C +HETATM 8251 H3 MOL R 1 45.377 -0.622 9.464 1.00 0.00 H +HETATM 8252 C4 MOL R 1 44.439 1.051 10.239 1.00 0.00 C +HETATM 8253 H4 MOL R 1 45.360 1.627 10.197 1.00 0.00 H +HETATM 8254 C5 MOL R 1 43.238 1.685 10.547 1.00 0.00 C +HETATM 8255 H5 MOL R 1 43.246 2.741 10.804 1.00 0.00 H +HETATM 8256 C6 MOL R 1 42.055 1.047 10.416 1.00 0.00 C +HETATM 8257 C7 MOL R 1 40.872 1.881 10.916 1.00 0.00 C +HETATM 8258 H6 MOL R 1 40.504 2.335 9.993 1.00 0.00 H +HETATM 8259 H7 MOL R 1 41.101 2.619 11.689 1.00 0.00 H +HETATM 8260 O1 MOL R 1 39.841 1.047 11.410 1.00 0.00 O +HETATM 8261 H8 MOL R 1 40.173 0.612 12.215 1.00 0.00 H +TER 8262 MOL R 1 +HETATM 8263 C1 MOL S 1 13.702 20.747 7.284 1.00 0.00 C +HETATM 8264 H1 MOL S 1 14.087 21.647 7.756 1.00 0.00 H +HETATM 8265 C2 MOL S 1 14.063 20.459 5.974 1.00 0.00 C +HETATM 8266 H2 MOL S 1 14.697 21.143 5.417 1.00 0.00 H +HETATM 8267 C3 MOL S 1 13.586 19.340 5.337 1.00 0.00 C +HETATM 8268 H3 MOL S 1 13.896 19.175 4.309 1.00 0.00 H +HETATM 8269 C4 MOL S 1 12.726 18.515 5.994 1.00 0.00 C +HETATM 8270 H4 MOL S 1 12.343 17.613 5.524 1.00 0.00 H +HETATM 8271 C5 MOL S 1 12.366 18.739 7.355 1.00 0.00 C +HETATM 8272 H5 MOL S 1 11.624 18.107 7.837 1.00 0.00 H +HETATM 8273 C6 MOL S 1 12.831 19.879 7.996 1.00 0.00 C +HETATM 8274 C7 MOL S 1 12.418 20.280 9.414 1.00 0.00 C +HETATM 8275 H6 MOL S 1 11.463 20.811 9.392 1.00 0.00 H +HETATM 8276 H7 MOL S 1 13.263 20.725 9.946 1.00 0.00 H +HETATM 8277 O1 MOL S 1 12.319 19.141 10.255 1.00 0.00 O +HETATM 8278 H8 MOL S 1 12.515 19.435 11.162 1.00 0.00 H +TER 8279 MOL S 1 +HETATM 8280 C1 MOL T 1 2.946 39.337 34.783 1.00 0.00 C +HETATM 8281 H1 MOL T 1 2.111 38.646 34.858 1.00 0.00 H +HETATM 8282 C2 MOL T 1 4.131 38.829 34.207 1.00 0.00 C +HETATM 8283 H2 MOL T 1 4.220 37.810 33.839 1.00 0.00 H +HETATM 8284 C3 MOL T 1 5.259 39.617 34.075 1.00 0.00 C +HETATM 8285 H3 MOL T 1 6.122 39.200 33.563 1.00 0.00 H +HETATM 8286 C4 MOL T 1 5.206 40.980 34.455 1.00 0.00 C +HETATM 8287 H4 MOL T 1 6.020 41.617 34.119 1.00 0.00 H +HETATM 8288 C5 MOL T 1 4.080 41.473 35.097 1.00 0.00 C +HETATM 8289 H5 MOL T 1 4.128 42.529 35.349 1.00 0.00 H +HETATM 8290 C6 MOL T 1 2.893 40.677 35.281 1.00 0.00 C +HETATM 8291 C7 MOL T 1 1.768 41.113 36.221 1.00 0.00 C +HETATM 8292 H6 MOL T 1 1.756 42.199 36.350 1.00 0.00 H +HETATM 8293 H7 MOL T 1 1.984 40.703 37.211 1.00 0.00 H +HETATM 8294 O1 MOL T 1 0.440 40.706 35.904 1.00 0.00 O +HETATM 8295 H8 MOL T 1 0.049 40.692 36.796 1.00 0.00 H +TER 8296 MOL T 1 +HETATM 8297 C1 MOL U 1 38.915 13.551 34.741 1.00 0.00 C +HETATM 8298 H1 MOL U 1 37.842 13.380 34.773 1.00 0.00 H +HETATM 8299 C2 MOL U 1 39.816 12.753 34.138 1.00 0.00 C +HETATM 8300 H2 MOL U 1 39.436 11.905 33.573 1.00 0.00 H +HETATM 8301 C3 MOL U 1 41.247 12.955 34.211 1.00 0.00 C +HETATM 8302 H3 MOL U 1 41.874 12.111 33.933 1.00 0.00 H +HETATM 8303 C4 MOL U 1 41.646 14.109 34.910 1.00 0.00 C +HETATM 8304 H4 MOL U 1 42.713 14.260 35.058 1.00 0.00 H +HETATM 8305 C5 MOL U 1 40.737 15.011 35.407 1.00 0.00 C +HETATM 8306 H5 MOL U 1 41.111 15.962 35.778 1.00 0.00 H +HETATM 8307 C6 MOL U 1 39.381 14.686 35.399 1.00 0.00 C +HETATM 8308 C7 MOL U 1 38.468 15.700 36.007 1.00 0.00 C +HETATM 8309 H6 MOL U 1 37.823 16.012 35.181 1.00 0.00 H +HETATM 8310 H7 MOL U 1 39.103 16.542 36.292 1.00 0.00 H +HETATM 8311 O1 MOL U 1 37.581 15.253 37.049 1.00 0.00 O +HETATM 8312 H8 MOL U 1 38.167 14.943 37.762 1.00 0.00 H +TER 8313 MOL U 1 +HETATM 8314 C1 MOL V 1 13.165 28.798 0.828 1.00 0.00 C +HETATM 8315 H1 MOL V 1 13.490 29.625 0.200 1.00 0.00 H +HETATM 8316 C2 MOL V 1 13.466 27.497 0.432 1.00 0.00 C +HETATM 8317 H2 MOL V 1 13.997 27.375 -0.509 1.00 0.00 H +HETATM 8318 C3 MOL V 1 13.070 26.422 1.264 1.00 0.00 C +HETATM 8319 H3 MOL V 1 13.424 25.452 0.923 1.00 0.00 H +HETATM 8320 C4 MOL V 1 12.355 26.628 2.428 1.00 0.00 C +HETATM 8321 H4 MOL V 1 12.062 25.742 2.985 1.00 0.00 H +HETATM 8322 C5 MOL V 1 12.185 27.963 2.845 1.00 0.00 C +HETATM 8323 H5 MOL V 1 11.734 28.142 3.817 1.00 0.00 H +HETATM 8324 C6 MOL V 1 12.468 29.057 2.013 1.00 0.00 C +HETATM 8325 C7 MOL V 1 12.126 30.491 2.459 1.00 0.00 C +HETATM 8326 H6 MOL V 1 11.162 30.460 2.973 1.00 0.00 H +HETATM 8327 H7 MOL V 1 11.992 31.086 1.552 1.00 0.00 H +HETATM 8328 O1 MOL V 1 12.916 31.089 3.441 1.00 0.00 O +HETATM 8329 H8 MOL V 1 12.450 31.921 3.641 1.00 0.00 H +TER 8330 MOL V 1 +HETATM 8331 C1 MOL W 1 0.755 24.842 37.756 1.00 0.00 C +HETATM 8332 H1 MOL W 1 0.229 23.891 37.780 1.00 0.00 H +HETATM 8333 C2 MOL W 1 2.064 24.868 37.223 1.00 0.00 C +HETATM 8334 H2 MOL W 1 2.530 23.950 36.874 1.00 0.00 H +HETATM 8335 C3 MOL W 1 2.729 26.030 37.208 1.00 0.00 C +HETATM 8336 H3 MOL W 1 3.786 26.020 36.955 1.00 0.00 H +HETATM 8337 C4 MOL W 1 2.114 27.213 37.643 1.00 0.00 C +HETATM 8338 H4 MOL W 1 2.617 28.172 37.739 1.00 0.00 H +HETATM 8339 C5 MOL W 1 0.857 27.175 38.193 1.00 0.00 C +HETATM 8340 H5 MOL W 1 0.486 28.084 38.659 1.00 0.00 H +HETATM 8341 C6 MOL W 1 0.066 26.014 38.141 1.00 0.00 C +HETATM 8342 C7 MOL W 1 -1.399 26.071 38.550 1.00 0.00 C +HETATM 8343 H6 MOL W 1 -1.441 26.285 39.621 1.00 0.00 H +HETATM 8344 H7 MOL W 1 -1.893 25.110 38.386 1.00 0.00 H +HETATM 8345 O1 MOL W 1 -2.127 27.040 37.790 1.00 0.00 O +HETATM 8346 H8 MOL W 1 -1.698 27.030 36.916 1.00 0.00 H +TER 8347 MOL W 1 +HETATM 8348 C1 MOL X 1 14.704 13.475 6.000 1.00 0.00 C +HETATM 8349 H1 MOL X 1 14.321 14.435 6.336 1.00 0.00 H +HETATM 8350 C2 MOL X 1 15.172 12.527 6.891 1.00 0.00 C +HETATM 8351 H2 MOL X 1 15.235 12.822 7.936 1.00 0.00 H +HETATM 8352 C3 MOL X 1 15.740 11.362 6.574 1.00 0.00 C +HETATM 8353 H3 MOL X 1 16.276 10.765 7.307 1.00 0.00 H +HETATM 8354 C4 MOL X 1 15.887 10.982 5.224 1.00 0.00 C +HETATM 8355 H4 MOL X 1 16.381 10.056 4.938 1.00 0.00 H +HETATM 8356 C5 MOL X 1 15.309 11.797 4.281 1.00 0.00 C +HETATM 8357 H5 MOL X 1 15.405 11.541 3.229 1.00 0.00 H +HETATM 8358 C6 MOL X 1 14.783 13.122 4.629 1.00 0.00 C +HETATM 8359 C7 MOL X 1 14.369 14.102 3.553 1.00 0.00 C +HETATM 8360 H6 MOL X 1 15.016 13.937 2.687 1.00 0.00 H +HETATM 8361 H7 MOL X 1 14.521 15.102 3.967 1.00 0.00 H +HETATM 8362 O1 MOL X 1 13.037 13.794 3.139 1.00 0.00 O +HETATM 8363 H8 MOL X 1 12.407 13.997 3.853 1.00 0.00 H +TER 8364 MOL X 1 +HETATM 8365 C1 MOL Y 1 10.081 18.227 0.922 1.00 0.00 C +HETATM 8366 H1 MOL Y 1 9.459 19.118 0.880 1.00 0.00 H +HETATM 8367 C2 MOL Y 1 10.775 17.825 2.126 1.00 0.00 C +HETATM 8368 H2 MOL Y 1 10.637 18.478 2.984 1.00 0.00 H +HETATM 8369 C3 MOL Y 1 11.539 16.665 2.142 1.00 0.00 C +HETATM 8370 H3 MOL Y 1 11.982 16.384 3.094 1.00 0.00 H +HETATM 8371 C4 MOL Y 1 11.737 15.966 0.898 1.00 0.00 C +HETATM 8372 H4 MOL Y 1 12.276 15.025 0.822 1.00 0.00 H +HETATM 8373 C5 MOL Y 1 10.993 16.295 -0.201 1.00 0.00 C +HETATM 8374 H5 MOL Y 1 11.130 15.781 -1.149 1.00 0.00 H +HETATM 8375 C6 MOL Y 1 10.204 17.436 -0.192 1.00 0.00 C +HETATM 8376 C7 MOL Y 1 9.138 17.467 -1.333 1.00 0.00 C +HETATM 8377 H6 MOL Y 1 8.316 18.111 -1.010 1.00 0.00 H +HETATM 8378 H7 MOL Y 1 8.770 16.449 -1.486 1.00 0.00 H +HETATM 8379 O1 MOL Y 1 9.634 17.935 -2.590 1.00 0.00 O +HETATM 8380 H8 MOL Y 1 8.891 18.248 -3.136 1.00 0.00 H +TER 8381 MOL Y 1 +HETATM 8382 C1 MOL Z 1 37.923 20.351 26.664 1.00 0.00 C +HETATM 8383 H1 MOL Z 1 38.909 20.223 27.103 1.00 0.00 H +HETATM 8384 C2 MOL Z 1 36.839 20.758 27.394 1.00 0.00 C +HETATM 8385 H2 MOL Z 1 36.802 20.841 28.477 1.00 0.00 H +HETATM 8386 C3 MOL Z 1 35.606 20.838 26.745 1.00 0.00 C +HETATM 8387 H3 MOL Z 1 34.756 20.971 27.409 1.00 0.00 H +HETATM 8388 C4 MOL Z 1 35.404 20.732 25.375 1.00 0.00 C +HETATM 8389 H4 MOL Z 1 34.417 20.781 24.921 1.00 0.00 H +HETATM 8390 C5 MOL Z 1 36.547 20.458 24.658 1.00 0.00 C +HETATM 8391 H5 MOL Z 1 36.490 20.194 23.605 1.00 0.00 H +HETATM 8392 C6 MOL Z 1 37.780 20.221 25.289 1.00 0.00 C +HETATM 8393 C7 MOL Z 1 39.039 20.035 24.439 1.00 0.00 C +HETATM 8394 H6 MOL Z 1 38.727 19.377 23.625 1.00 0.00 H +HETATM 8395 H7 MOL Z 1 39.790 19.536 25.057 1.00 0.00 H +HETATM 8396 O1 MOL Z 1 39.707 21.217 23.956 1.00 0.00 O +HETATM 8397 H8 MOL Z 1 39.804 21.791 24.737 1.00 0.00 H +TER 8398 MOL Z 1 +HETATM 8399 C1 MOL A 1 19.781 21.570 1.705 1.00 0.00 C +HETATM 8400 H1 MOL A 1 19.082 21.303 2.493 1.00 0.00 H +HETATM 8401 C2 MOL A 1 21.066 21.053 1.770 1.00 0.00 C +HETATM 8402 H2 MOL A 1 21.317 20.237 2.442 1.00 0.00 H +HETATM 8403 C3 MOL A 1 21.927 21.293 0.736 1.00 0.00 C +HETATM 8404 H3 MOL A 1 22.954 20.939 0.701 1.00 0.00 H +HETATM 8405 C4 MOL A 1 21.459 22.172 -0.292 1.00 0.00 C +HETATM 8406 H4 MOL A 1 22.150 22.548 -1.042 1.00 0.00 H +HETATM 8407 C5 MOL A 1 20.191 22.749 -0.332 1.00 0.00 C +HETATM 8408 H5 MOL A 1 19.919 23.224 -1.271 1.00 0.00 H +HETATM 8409 C6 MOL A 1 19.369 22.405 0.683 1.00 0.00 C +HETATM 8410 C7 MOL A 1 17.900 22.808 0.510 1.00 0.00 C +HETATM 8411 H6 MOL A 1 17.835 23.038 -0.556 1.00 0.00 H +HETATM 8412 H7 MOL A 1 17.649 23.669 1.134 1.00 0.00 H +HETATM 8413 O1 MOL A 1 16.972 21.771 0.767 1.00 0.00 O +HETATM 8414 H8 MOL A 1 17.454 20.948 0.968 1.00 0.00 H +TER 8415 MOL A 1 +HETATM 8416 C1 MOL B 1 2.470 28.297 31.347 1.00 0.00 C +HETATM 8417 H1 MOL B 1 2.457 29.365 31.551 1.00 0.00 H +HETATM 8418 C2 MOL B 1 2.294 27.792 30.109 1.00 0.00 C +HETATM 8419 H2 MOL B 1 2.181 28.464 29.262 1.00 0.00 H +HETATM 8420 C3 MOL B 1 2.309 26.432 29.919 1.00 0.00 C +HETATM 8421 H3 MOL B 1 2.255 25.952 28.945 1.00 0.00 H +HETATM 8422 C4 MOL B 1 2.279 25.530 31.036 1.00 0.00 C +HETATM 8423 H4 MOL B 1 2.277 24.447 30.937 1.00 0.00 H +HETATM 8424 C5 MOL B 1 2.471 26.057 32.283 1.00 0.00 C +HETATM 8425 H5 MOL B 1 2.367 25.475 33.195 1.00 0.00 H +HETATM 8426 C6 MOL B 1 2.574 27.437 32.484 1.00 0.00 C +HETATM 8427 C7 MOL B 1 2.534 27.943 33.891 1.00 0.00 C +HETATM 8428 H6 MOL B 1 2.577 29.034 33.843 1.00 0.00 H +HETATM 8429 H7 MOL B 1 3.437 27.561 34.375 1.00 0.00 H +HETATM 8430 O1 MOL B 1 1.374 27.529 34.592 1.00 0.00 O +HETATM 8431 H8 MOL B 1 1.654 27.657 35.516 1.00 0.00 H +TER 8432 MOL B 1 +HETATM 8433 C1 MOL C 1 32.410 35.759 3.888 1.00 0.00 C +HETATM 8434 H1 MOL C 1 32.828 36.439 4.625 1.00 0.00 H +HETATM 8435 C2 MOL C 1 31.200 35.138 4.043 1.00 0.00 C +HETATM 8436 H2 MOL C 1 30.552 35.276 4.904 1.00 0.00 H +HETATM 8437 C3 MOL C 1 30.674 34.354 3.018 1.00 0.00 C +HETATM 8438 H3 MOL C 1 29.721 33.854 3.169 1.00 0.00 H +HETATM 8439 C4 MOL C 1 31.426 34.142 1.842 1.00 0.00 C +HETATM 8440 H4 MOL C 1 30.981 33.525 1.066 1.00 0.00 H +HETATM 8441 C5 MOL C 1 32.690 34.722 1.693 1.00 0.00 C +HETATM 8442 H5 MOL C 1 33.268 34.585 0.783 1.00 0.00 H +HETATM 8443 C6 MOL C 1 33.252 35.462 2.777 1.00 0.00 C +HETATM 8444 C7 MOL C 1 34.516 36.178 2.513 1.00 0.00 C +HETATM 8445 H6 MOL C 1 35.372 35.531 2.306 1.00 0.00 H +HETATM 8446 H7 MOL C 1 34.767 36.827 3.355 1.00 0.00 H +HETATM 8447 O1 MOL C 1 34.402 37.046 1.424 1.00 0.00 O +HETATM 8448 H8 MOL C 1 33.537 37.478 1.539 1.00 0.00 H +TER 8449 MOL C 1 +HETATM 8450 C1 MOL D 1 13.994 23.233 3.230 1.00 0.00 C +HETATM 8451 H1 MOL D 1 15.064 23.320 3.405 1.00 0.00 H +HETATM 8452 C2 MOL D 1 13.505 22.545 2.102 1.00 0.00 C +HETATM 8453 H2 MOL D 1 14.125 22.166 1.293 1.00 0.00 H +HETATM 8454 C3 MOL D 1 12.126 22.232 2.024 1.00 0.00 C +HETATM 8455 H3 MOL D 1 11.788 21.742 1.114 1.00 0.00 H +HETATM 8456 C4 MOL D 1 11.265 22.603 3.094 1.00 0.00 C +HETATM 8457 H4 MOL D 1 10.196 22.413 3.043 1.00 0.00 H +HETATM 8458 C5 MOL D 1 11.803 23.248 4.210 1.00 0.00 C +HETATM 8459 H5 MOL D 1 11.196 23.500 5.076 1.00 0.00 H +HETATM 8460 C6 MOL D 1 13.132 23.577 4.277 1.00 0.00 C +HETATM 8461 C7 MOL D 1 13.783 24.146 5.546 1.00 0.00 C +HETATM 8462 H6 MOL D 1 14.869 24.022 5.518 1.00 0.00 H +HETATM 8463 H7 MOL D 1 13.427 23.509 6.359 1.00 0.00 H +HETATM 8464 O1 MOL D 1 13.375 25.480 5.857 1.00 0.00 O +HETATM 8465 H8 MOL D 1 14.092 26.100 5.636 1.00 0.00 H +TER 8466 MOL D 1 +HETATM 8467 C1 MOL E 1 8.410 43.845 17.799 1.00 0.00 C +HETATM 8468 H1 MOL E 1 8.237 44.335 16.844 1.00 0.00 H +HETATM 8469 C2 MOL E 1 9.409 42.960 17.862 1.00 0.00 C +HETATM 8470 H2 MOL E 1 10.088 42.776 17.033 1.00 0.00 H +HETATM 8471 C3 MOL E 1 9.547 42.120 19.012 1.00 0.00 C +HETATM 8472 H3 MOL E 1 10.416 41.478 19.137 1.00 0.00 H +HETATM 8473 C4 MOL E 1 8.666 42.247 20.090 1.00 0.00 C +HETATM 8474 H4 MOL E 1 8.862 41.642 20.971 1.00 0.00 H +HETATM 8475 C5 MOL E 1 7.691 43.223 20.019 1.00 0.00 C +HETATM 8476 H5 MOL E 1 6.991 43.261 20.849 1.00 0.00 H +HETATM 8477 C6 MOL E 1 7.532 43.953 18.847 1.00 0.00 C +HETATM 8478 C7 MOL E 1 6.364 44.934 18.788 1.00 0.00 C +HETATM 8479 H6 MOL E 1 6.612 45.751 18.105 1.00 0.00 H +HETATM 8480 H7 MOL E 1 6.223 45.337 19.793 1.00 0.00 H +HETATM 8481 O1 MOL E 1 5.161 44.275 18.404 1.00 0.00 O +HETATM 8482 H8 MOL E 1 4.661 45.084 18.195 1.00 0.00 H +TER 8483 MOL E 1 +HETATM 8484 C1 MOL F 1 43.675 23.378 23.341 1.00 0.00 C +HETATM 8485 H1 MOL F 1 44.064 22.594 23.986 1.00 0.00 H +HETATM 8486 C2 MOL F 1 42.309 23.478 23.275 1.00 0.00 C +HETATM 8487 H2 MOL F 1 41.607 22.813 23.771 1.00 0.00 H +HETATM 8488 C3 MOL F 1 41.728 24.504 22.400 1.00 0.00 C +HETATM 8489 H3 MOL F 1 40.651 24.652 22.381 1.00 0.00 H +HETATM 8490 C4 MOL F 1 42.543 25.183 21.614 1.00 0.00 C +HETATM 8491 H4 MOL F 1 42.090 25.747 20.803 1.00 0.00 H +HETATM 8492 C5 MOL F 1 43.917 24.996 21.682 1.00 0.00 C +HETATM 8493 H5 MOL F 1 44.485 25.565 20.950 1.00 0.00 H +HETATM 8494 C6 MOL F 1 44.514 24.177 22.567 1.00 0.00 C +HETATM 8495 C7 MOL F 1 45.994 23.900 22.573 1.00 0.00 C +HETATM 8496 H6 MOL F 1 46.349 23.972 23.604 1.00 0.00 H +HETATM 8497 H7 MOL F 1 46.446 24.718 22.008 1.00 0.00 H +HETATM 8498 O1 MOL F 1 46.510 22.665 22.041 1.00 0.00 O +HETATM 8499 H8 MOL F 1 45.889 22.234 21.427 1.00 0.00 H +TER 8500 MOL F 1 +CONECT 1 2 3 11 +CONECT 2 1 +CONECT 3 4 1 5 +CONECT 4 3 +CONECT 5 6 3 7 +CONECT 6 5 +CONECT 7 8 5 9 +CONECT 8 7 +CONECT 9 10 7 11 +CONECT 10 9 +CONECT 11 1 9 12 +CONECT 12 13 14 11 15 +CONECT 13 12 +CONECT 14 12 +CONECT 15 16 12 +CONECT 16 15 +CONECT 18 19 20 28 +CONECT 19 18 +CONECT 20 21 18 22 +CONECT 21 20 +CONECT 22 23 20 24 +CONECT 23 22 +CONECT 24 25 22 26 +CONECT 25 24 +CONECT 26 27 24 28 +CONECT 27 26 +CONECT 28 18 26 29 +CONECT 29 30 31 28 32 +CONECT 30 29 +CONECT 31 29 +CONECT 32 33 29 +CONECT 33 32 +CONECT 35 36 37 45 +CONECT 36 35 +CONECT 37 38 35 39 +CONECT 38 37 +CONECT 39 40 37 41 +CONECT 40 39 +CONECT 41 42 39 43 +CONECT 42 41 +CONECT 43 44 41 45 +CONECT 44 43 +CONECT 45 35 43 46 +CONECT 46 47 48 45 49 +CONECT 47 46 +CONECT 48 46 +CONECT 49 50 46 +CONECT 50 49 +CONECT 52 53 54 62 +CONECT 53 52 +CONECT 54 55 52 56 +CONECT 55 54 +CONECT 56 57 54 58 +CONECT 57 56 +CONECT 58 59 56 60 +CONECT 59 58 +CONECT 60 61 58 62 +CONECT 61 60 +CONECT 62 52 60 63 +CONECT 63 64 65 62 66 +CONECT 64 63 +CONECT 65 63 +CONECT 66 67 63 +CONECT 67 66 +CONECT 69 70 71 79 +CONECT 70 69 +CONECT 71 72 69 73 +CONECT 72 71 +CONECT 73 74 71 75 +CONECT 74 73 +CONECT 75 76 73 77 +CONECT 76 75 +CONECT 77 78 75 79 +CONECT 78 77 +CONECT 79 69 77 80 +CONECT 80 81 82 79 83 +CONECT 81 80 +CONECT 82 80 +CONECT 83 84 80 +CONECT 84 83 +CONECT 86 87 88 96 +CONECT 87 86 +CONECT 88 89 86 90 +CONECT 89 88 +CONECT 90 91 88 92 +CONECT 91 90 +CONECT 92 93 90 94 +CONECT 93 92 +CONECT 94 95 92 96 +CONECT 95 94 +CONECT 96 86 94 97 +CONECT 97 98 99 96 100 +CONECT 98 97 +CONECT 99 97 +CONECT 100 101 97 +CONECT 101 100 +CONECT 103 104 105 113 +CONECT 104 103 +CONECT 105 106 103 107 +CONECT 106 105 +CONECT 107 108 105 109 +CONECT 108 107 +CONECT 109 110 107 111 +CONECT 110 109 +CONECT 111 112 109 113 +CONECT 112 111 +CONECT 113 103 111 114 +CONECT 114 115 116 113 117 +CONECT 115 114 +CONECT 116 114 +CONECT 117 118 114 +CONECT 118 117 +CONECT 120 121 122 130 +CONECT 121 120 +CONECT 122 123 120 124 +CONECT 123 122 +CONECT 124 125 122 126 +CONECT 125 124 +CONECT 126 127 124 128 +CONECT 127 126 +CONECT 128 129 126 130 +CONECT 129 128 +CONECT 130 120 128 131 +CONECT 131 132 133 130 134 +CONECT 132 131 +CONECT 133 131 +CONECT 134 135 131 +CONECT 135 134 +CONECT 137 138 139 147 +CONECT 138 137 +CONECT 139 140 137 141 +CONECT 140 139 +CONECT 141 142 139 143 +CONECT 142 141 +CONECT 143 144 141 145 +CONECT 144 143 +CONECT 145 146 143 147 +CONECT 146 145 +CONECT 147 137 145 148 +CONECT 148 149 150 147 151 +CONECT 149 148 +CONECT 150 148 +CONECT 151 152 148 +CONECT 152 151 +CONECT 154 155 156 164 +CONECT 155 154 +CONECT 156 157 154 158 +CONECT 157 156 +CONECT 158 159 156 160 +CONECT 159 158 +CONECT 160 161 158 162 +CONECT 161 160 +CONECT 162 163 160 164 +CONECT 163 162 +CONECT 164 154 162 165 +CONECT 165 166 167 164 168 +CONECT 166 165 +CONECT 167 165 +CONECT 168 169 165 +CONECT 169 168 +CONECT 171 172 173 181 +CONECT 172 171 +CONECT 173 174 171 175 +CONECT 174 173 +CONECT 175 176 173 177 +CONECT 176 175 +CONECT 177 178 175 179 +CONECT 178 177 +CONECT 179 180 177 181 +CONECT 180 179 +CONECT 181 171 179 182 +CONECT 182 183 184 181 185 +CONECT 183 182 +CONECT 184 182 +CONECT 185 186 182 +CONECT 186 185 +CONECT 188 189 190 198 +CONECT 189 188 +CONECT 190 191 188 192 +CONECT 191 190 +CONECT 192 193 190 194 +CONECT 193 192 +CONECT 194 195 192 196 +CONECT 195 194 +CONECT 196 197 194 198 +CONECT 197 196 +CONECT 198 188 196 199 +CONECT 199 200 201 198 202 +CONECT 200 199 +CONECT 201 199 +CONECT 202 203 199 +CONECT 203 202 +CONECT 205 206 207 215 +CONECT 206 205 +CONECT 207 208 205 209 +CONECT 208 207 +CONECT 209 210 207 211 +CONECT 210 209 +CONECT 211 212 209 213 +CONECT 212 211 +CONECT 213 214 211 215 +CONECT 214 213 +CONECT 215 205 213 216 +CONECT 216 217 218 215 219 +CONECT 217 216 +CONECT 218 216 +CONECT 219 220 216 +CONECT 220 219 +CONECT 222 223 224 232 +CONECT 223 222 +CONECT 224 225 222 226 +CONECT 225 224 +CONECT 226 227 224 228 +CONECT 227 226 +CONECT 228 229 226 230 +CONECT 229 228 +CONECT 230 231 228 232 +CONECT 231 230 +CONECT 232 222 230 233 +CONECT 233 234 235 232 236 +CONECT 234 233 +CONECT 235 233 +CONECT 236 237 233 +CONECT 237 236 +CONECT 239 240 241 249 +CONECT 240 239 +CONECT 241 242 239 243 +CONECT 242 241 +CONECT 243 244 241 245 +CONECT 244 243 +CONECT 245 246 243 247 +CONECT 246 245 +CONECT 247 248 245 249 +CONECT 248 247 +CONECT 249 239 247 250 +CONECT 250 251 252 249 253 +CONECT 251 250 +CONECT 252 250 +CONECT 253 254 250 +CONECT 254 253 +CONECT 256 257 258 266 +CONECT 257 256 +CONECT 258 259 256 260 +CONECT 259 258 +CONECT 260 261 258 262 +CONECT 261 260 +CONECT 262 263 260 264 +CONECT 263 262 +CONECT 264 265 262 266 +CONECT 265 264 +CONECT 266 256 264 267 +CONECT 267 268 269 266 270 +CONECT 268 267 +CONECT 269 267 +CONECT 270 271 267 +CONECT 271 270 +CONECT 273 274 275 283 +CONECT 274 273 +CONECT 275 276 273 277 +CONECT 276 275 +CONECT 277 278 275 279 +CONECT 278 277 +CONECT 279 280 277 281 +CONECT 280 279 +CONECT 281 282 279 283 +CONECT 282 281 +CONECT 283 273 281 284 +CONECT 284 285 286 283 287 +CONECT 285 284 +CONECT 286 284 +CONECT 287 288 284 +CONECT 288 287 +CONECT 290 291 292 300 +CONECT 291 290 +CONECT 292 293 290 294 +CONECT 293 292 +CONECT 294 295 292 296 +CONECT 295 294 +CONECT 296 297 294 298 +CONECT 297 296 +CONECT 298 299 296 300 +CONECT 299 298 +CONECT 300 290 298 301 +CONECT 301 302 303 300 304 +CONECT 302 301 +CONECT 303 301 +CONECT 304 305 301 +CONECT 305 304 +CONECT 307 308 309 317 +CONECT 308 307 +CONECT 309 310 307 311 +CONECT 310 309 +CONECT 311 312 309 313 +CONECT 312 311 +CONECT 313 314 311 315 +CONECT 314 313 +CONECT 315 316 313 317 +CONECT 316 315 +CONECT 317 307 315 318 +CONECT 318 319 320 317 321 +CONECT 319 318 +CONECT 320 318 +CONECT 321 322 318 +CONECT 322 321 +CONECT 324 325 326 334 +CONECT 325 324 +CONECT 326 327 324 328 +CONECT 327 326 +CONECT 328 329 326 330 +CONECT 329 328 +CONECT 330 331 328 332 +CONECT 331 330 +CONECT 332 333 330 334 +CONECT 333 332 +CONECT 334 324 332 335 +CONECT 335 336 337 334 338 +CONECT 336 335 +CONECT 337 335 +CONECT 338 339 335 +CONECT 339 338 +CONECT 341 342 343 351 +CONECT 342 341 +CONECT 343 344 341 345 +CONECT 344 343 +CONECT 345 346 343 347 +CONECT 346 345 +CONECT 347 348 345 349 +CONECT 348 347 +CONECT 349 350 347 351 +CONECT 350 349 +CONECT 351 341 349 352 +CONECT 352 353 354 351 355 +CONECT 353 352 +CONECT 354 352 +CONECT 355 356 352 +CONECT 356 355 +CONECT 358 359 360 368 +CONECT 359 358 +CONECT 360 361 358 362 +CONECT 361 360 +CONECT 362 363 360 364 +CONECT 363 362 +CONECT 364 365 362 366 +CONECT 365 364 +CONECT 366 367 364 368 +CONECT 367 366 +CONECT 368 358 366 369 +CONECT 369 370 371 368 372 +CONECT 370 369 +CONECT 371 369 +CONECT 372 373 369 +CONECT 373 372 +CONECT 375 376 377 385 +CONECT 376 375 +CONECT 377 378 375 379 +CONECT 378 377 +CONECT 379 380 377 381 +CONECT 380 379 +CONECT 381 382 379 383 +CONECT 382 381 +CONECT 383 384 381 385 +CONECT 384 383 +CONECT 385 375 383 386 +CONECT 386 387 388 385 389 +CONECT 387 386 +CONECT 388 386 +CONECT 389 390 386 +CONECT 390 389 +CONECT 392 393 394 402 +CONECT 393 392 +CONECT 394 395 392 396 +CONECT 395 394 +CONECT 396 397 394 398 +CONECT 397 396 +CONECT 398 399 396 400 +CONECT 399 398 +CONECT 400 401 398 402 +CONECT 401 400 +CONECT 402 392 400 403 +CONECT 403 404 405 402 406 +CONECT 404 403 +CONECT 405 403 +CONECT 406 407 403 +CONECT 407 406 +CONECT 409 410 411 419 +CONECT 410 409 +CONECT 411 412 409 413 +CONECT 412 411 +CONECT 413 414 411 415 +CONECT 414 413 +CONECT 415 416 413 417 +CONECT 416 415 +CONECT 417 418 415 419 +CONECT 418 417 +CONECT 419 409 417 420 +CONECT 420 421 422 419 423 +CONECT 421 420 +CONECT 422 420 +CONECT 423 424 420 +CONECT 424 423 +CONECT 426 427 428 436 +CONECT 427 426 +CONECT 428 429 426 430 +CONECT 429 428 +CONECT 430 431 428 432 +CONECT 431 430 +CONECT 432 433 430 434 +CONECT 433 432 +CONECT 434 435 432 436 +CONECT 435 434 +CONECT 436 426 434 437 +CONECT 437 438 439 436 440 +CONECT 438 437 +CONECT 439 437 +CONECT 440 441 437 +CONECT 441 440 +CONECT 443 444 445 453 +CONECT 444 443 +CONECT 445 446 443 447 +CONECT 446 445 +CONECT 447 448 445 449 +CONECT 448 447 +CONECT 449 450 447 451 +CONECT 450 449 +CONECT 451 452 449 453 +CONECT 452 451 +CONECT 453 443 451 454 +CONECT 454 455 456 453 457 +CONECT 455 454 +CONECT 456 454 +CONECT 457 458 454 +CONECT 458 457 +CONECT 460 461 462 470 +CONECT 461 460 +CONECT 462 463 460 464 +CONECT 463 462 +CONECT 464 465 462 466 +CONECT 465 464 +CONECT 466 467 464 468 +CONECT 467 466 +CONECT 468 469 466 470 +CONECT 469 468 +CONECT 470 460 468 471 +CONECT 471 472 473 470 474 +CONECT 472 471 +CONECT 473 471 +CONECT 474 475 471 +CONECT 475 474 +CONECT 477 478 479 487 +CONECT 478 477 +CONECT 479 480 477 481 +CONECT 480 479 +CONECT 481 482 479 483 +CONECT 482 481 +CONECT 483 484 481 485 +CONECT 484 483 +CONECT 485 486 483 487 +CONECT 486 485 +CONECT 487 477 485 488 +CONECT 488 489 490 487 491 +CONECT 489 488 +CONECT 490 488 +CONECT 491 492 488 +CONECT 492 491 +CONECT 494 495 496 504 +CONECT 495 494 +CONECT 496 497 494 498 +CONECT 497 496 +CONECT 498 499 496 500 +CONECT 499 498 +CONECT 500 501 498 502 +CONECT 501 500 +CONECT 502 503 500 504 +CONECT 503 502 +CONECT 504 494 502 505 +CONECT 505 506 507 504 508 +CONECT 506 505 +CONECT 507 505 +CONECT 508 509 505 +CONECT 509 508 +CONECT 511 512 513 521 +CONECT 512 511 +CONECT 513 514 511 515 +CONECT 514 513 +CONECT 515 516 513 517 +CONECT 516 515 +CONECT 517 518 515 519 +CONECT 518 517 +CONECT 519 520 517 521 +CONECT 520 519 +CONECT 521 511 519 522 +CONECT 522 523 524 521 525 +CONECT 523 522 +CONECT 524 522 +CONECT 525 526 522 +CONECT 526 525 +CONECT 528 529 530 538 +CONECT 529 528 +CONECT 530 531 528 532 +CONECT 531 530 +CONECT 532 533 530 534 +CONECT 533 532 +CONECT 534 535 532 536 +CONECT 535 534 +CONECT 536 537 534 538 +CONECT 537 536 +CONECT 538 528 536 539 +CONECT 539 540 541 538 542 +CONECT 540 539 +CONECT 541 539 +CONECT 542 543 539 +CONECT 543 542 +CONECT 545 546 547 555 +CONECT 546 545 +CONECT 547 548 545 549 +CONECT 548 547 +CONECT 549 550 547 551 +CONECT 550 549 +CONECT 551 552 549 553 +CONECT 552 551 +CONECT 553 554 551 555 +CONECT 554 553 +CONECT 555 545 553 556 +CONECT 556 557 558 555 559 +CONECT 557 556 +CONECT 558 556 +CONECT 559 560 556 +CONECT 560 559 +CONECT 562 563 564 572 +CONECT 563 562 +CONECT 564 565 562 566 +CONECT 565 564 +CONECT 566 567 564 568 +CONECT 567 566 +CONECT 568 569 566 570 +CONECT 569 568 +CONECT 570 571 568 572 +CONECT 571 570 +CONECT 572 562 570 573 +CONECT 573 574 575 572 576 +CONECT 574 573 +CONECT 575 573 +CONECT 576 577 573 +CONECT 577 576 +CONECT 579 580 581 589 +CONECT 580 579 +CONECT 581 582 579 583 +CONECT 582 581 +CONECT 583 584 581 585 +CONECT 584 583 +CONECT 585 586 583 587 +CONECT 586 585 +CONECT 587 588 585 589 +CONECT 588 587 +CONECT 589 579 587 590 +CONECT 590 591 592 589 593 +CONECT 591 590 +CONECT 592 590 +CONECT 593 594 590 +CONECT 594 593 +CONECT 596 597 598 606 +CONECT 597 596 +CONECT 598 599 596 600 +CONECT 599 598 +CONECT 600 601 598 602 +CONECT 601 600 +CONECT 602 603 600 604 +CONECT 603 602 +CONECT 604 605 602 606 +CONECT 605 604 +CONECT 606 596 604 607 +CONECT 607 608 609 606 610 +CONECT 608 607 +CONECT 609 607 +CONECT 610 611 607 +CONECT 611 610 +CONECT 613 614 615 623 +CONECT 614 613 +CONECT 615 616 613 617 +CONECT 616 615 +CONECT 617 618 615 619 +CONECT 618 617 +CONECT 619 620 617 621 +CONECT 620 619 +CONECT 621 622 619 623 +CONECT 622 621 +CONECT 623 613 621 624 +CONECT 624 625 626 623 627 +CONECT 625 624 +CONECT 626 624 +CONECT 627 628 624 +CONECT 628 627 +CONECT 630 631 632 640 +CONECT 631 630 +CONECT 632 633 630 634 +CONECT 633 632 +CONECT 634 635 632 636 +CONECT 635 634 +CONECT 636 637 634 638 +CONECT 637 636 +CONECT 638 639 636 640 +CONECT 639 638 +CONECT 640 630 638 641 +CONECT 641 642 643 640 644 +CONECT 642 641 +CONECT 643 641 +CONECT 644 645 641 +CONECT 645 644 +CONECT 647 648 649 657 +CONECT 648 647 +CONECT 649 650 647 651 +CONECT 650 649 +CONECT 651 652 649 653 +CONECT 652 651 +CONECT 653 654 651 655 +CONECT 654 653 +CONECT 655 656 653 657 +CONECT 656 655 +CONECT 657 647 655 658 +CONECT 658 659 660 657 661 +CONECT 659 658 +CONECT 660 658 +CONECT 661 662 658 +CONECT 662 661 +CONECT 664 665 666 674 +CONECT 665 664 +CONECT 666 667 664 668 +CONECT 667 666 +CONECT 668 669 666 670 +CONECT 669 668 +CONECT 670 671 668 672 +CONECT 671 670 +CONECT 672 673 670 674 +CONECT 673 672 +CONECT 674 664 672 675 +CONECT 675 676 677 674 678 +CONECT 676 675 +CONECT 677 675 +CONECT 678 679 675 +CONECT 679 678 +CONECT 681 682 683 691 +CONECT 682 681 +CONECT 683 684 681 685 +CONECT 684 683 +CONECT 685 686 683 687 +CONECT 686 685 +CONECT 687 688 685 689 +CONECT 688 687 +CONECT 689 690 687 691 +CONECT 690 689 +CONECT 691 681 689 692 +CONECT 692 693 694 691 695 +CONECT 693 692 +CONECT 694 692 +CONECT 695 696 692 +CONECT 696 695 +CONECT 698 699 700 708 +CONECT 699 698 +CONECT 700 701 698 702 +CONECT 701 700 +CONECT 702 703 700 704 +CONECT 703 702 +CONECT 704 705 702 706 +CONECT 705 704 +CONECT 706 707 704 708 +CONECT 707 706 +CONECT 708 698 706 709 +CONECT 709 710 711 708 712 +CONECT 710 709 +CONECT 711 709 +CONECT 712 713 709 +CONECT 713 712 +CONECT 715 716 717 725 +CONECT 716 715 +CONECT 717 718 715 719 +CONECT 718 717 +CONECT 719 720 717 721 +CONECT 720 719 +CONECT 721 722 719 723 +CONECT 722 721 +CONECT 723 724 721 725 +CONECT 724 723 +CONECT 725 715 723 726 +CONECT 726 727 728 725 729 +CONECT 727 726 +CONECT 728 726 +CONECT 729 730 726 +CONECT 730 729 +CONECT 732 733 734 742 +CONECT 733 732 +CONECT 734 735 732 736 +CONECT 735 734 +CONECT 736 737 734 738 +CONECT 737 736 +CONECT 738 739 736 740 +CONECT 739 738 +CONECT 740 741 738 742 +CONECT 741 740 +CONECT 742 732 740 743 +CONECT 743 744 745 742 746 +CONECT 744 743 +CONECT 745 743 +CONECT 746 747 743 +CONECT 747 746 +CONECT 749 750 751 759 +CONECT 750 749 +CONECT 751 752 749 753 +CONECT 752 751 +CONECT 753 754 751 755 +CONECT 754 753 +CONECT 755 756 753 757 +CONECT 756 755 +CONECT 757 758 755 759 +CONECT 758 757 +CONECT 759 749 757 760 +CONECT 760 761 762 759 763 +CONECT 761 760 +CONECT 762 760 +CONECT 763 764 760 +CONECT 764 763 +CONECT 766 767 768 776 +CONECT 767 766 +CONECT 768 769 766 770 +CONECT 769 768 +CONECT 770 771 768 772 +CONECT 771 770 +CONECT 772 773 770 774 +CONECT 773 772 +CONECT 774 775 772 776 +CONECT 775 774 +CONECT 776 766 774 777 +CONECT 777 778 779 776 780 +CONECT 778 777 +CONECT 779 777 +CONECT 780 781 777 +CONECT 781 780 +CONECT 783 784 785 793 +CONECT 784 783 +CONECT 785 786 783 787 +CONECT 786 785 +CONECT 787 788 785 789 +CONECT 788 787 +CONECT 789 790 787 791 +CONECT 790 789 +CONECT 791 792 789 793 +CONECT 792 791 +CONECT 793 783 791 794 +CONECT 794 795 796 793 797 +CONECT 795 794 +CONECT 796 794 +CONECT 797 798 794 +CONECT 798 797 +CONECT 800 801 802 810 +CONECT 801 800 +CONECT 802 803 800 804 +CONECT 803 802 +CONECT 804 805 802 806 +CONECT 805 804 +CONECT 806 807 804 808 +CONECT 807 806 +CONECT 808 809 806 810 +CONECT 809 808 +CONECT 810 800 808 811 +CONECT 811 812 813 810 814 +CONECT 812 811 +CONECT 813 811 +CONECT 814 815 811 +CONECT 815 814 +CONECT 817 818 819 827 +CONECT 818 817 +CONECT 819 820 817 821 +CONECT 820 819 +CONECT 821 822 819 823 +CONECT 822 821 +CONECT 823 824 821 825 +CONECT 824 823 +CONECT 825 826 823 827 +CONECT 826 825 +CONECT 827 817 825 828 +CONECT 828 829 830 827 831 +CONECT 829 828 +CONECT 830 828 +CONECT 831 832 828 +CONECT 832 831 +CONECT 834 835 836 844 +CONECT 835 834 +CONECT 836 837 834 838 +CONECT 837 836 +CONECT 838 839 836 840 +CONECT 839 838 +CONECT 840 841 838 842 +CONECT 841 840 +CONECT 842 843 840 844 +CONECT 843 842 +CONECT 844 834 842 845 +CONECT 845 846 847 844 848 +CONECT 846 845 +CONECT 847 845 +CONECT 848 849 845 +CONECT 849 848 +CONECT 851 852 853 861 +CONECT 852 851 +CONECT 853 854 851 855 +CONECT 854 853 +CONECT 855 856 853 857 +CONECT 856 855 +CONECT 857 858 855 859 +CONECT 858 857 +CONECT 859 860 857 861 +CONECT 860 859 +CONECT 861 851 859 862 +CONECT 862 863 864 861 865 +CONECT 863 862 +CONECT 864 862 +CONECT 865 866 862 +CONECT 866 865 +CONECT 868 869 870 878 +CONECT 869 868 +CONECT 870 871 868 872 +CONECT 871 870 +CONECT 872 873 870 874 +CONECT 873 872 +CONECT 874 875 872 876 +CONECT 875 874 +CONECT 876 877 874 878 +CONECT 877 876 +CONECT 878 868 876 879 +CONECT 879 880 881 878 882 +CONECT 880 879 +CONECT 881 879 +CONECT 882 883 879 +CONECT 883 882 +CONECT 885 886 887 895 +CONECT 886 885 +CONECT 887 888 885 889 +CONECT 888 887 +CONECT 889 890 887 891 +CONECT 890 889 +CONECT 891 892 889 893 +CONECT 892 891 +CONECT 893 894 891 895 +CONECT 894 893 +CONECT 895 885 893 896 +CONECT 896 897 898 895 899 +CONECT 897 896 +CONECT 898 896 +CONECT 899 900 896 +CONECT 900 899 +CONECT 902 903 904 912 +CONECT 903 902 +CONECT 904 905 902 906 +CONECT 905 904 +CONECT 906 907 904 908 +CONECT 907 906 +CONECT 908 909 906 910 +CONECT 909 908 +CONECT 910 911 908 912 +CONECT 911 910 +CONECT 912 902 910 913 +CONECT 913 914 915 912 916 +CONECT 914 913 +CONECT 915 913 +CONECT 916 917 913 +CONECT 917 916 +CONECT 919 920 921 929 +CONECT 920 919 +CONECT 921 922 919 923 +CONECT 922 921 +CONECT 923 924 921 925 +CONECT 924 923 +CONECT 925 926 923 927 +CONECT 926 925 +CONECT 927 928 925 929 +CONECT 928 927 +CONECT 929 919 927 930 +CONECT 930 931 932 929 933 +CONECT 931 930 +CONECT 932 930 +CONECT 933 934 930 +CONECT 934 933 +CONECT 936 937 938 946 +CONECT 937 936 +CONECT 938 939 936 940 +CONECT 939 938 +CONECT 940 941 938 942 +CONECT 941 940 +CONECT 942 943 940 944 +CONECT 943 942 +CONECT 944 945 942 946 +CONECT 945 944 +CONECT 946 936 944 947 +CONECT 947 948 949 946 950 +CONECT 948 947 +CONECT 949 947 +CONECT 950 951 947 +CONECT 951 950 +CONECT 953 954 955 963 +CONECT 954 953 +CONECT 955 956 953 957 +CONECT 956 955 +CONECT 957 958 955 959 +CONECT 958 957 +CONECT 959 960 957 961 +CONECT 960 959 +CONECT 961 962 959 963 +CONECT 962 961 +CONECT 963 953 961 964 +CONECT 964 965 966 963 967 +CONECT 965 964 +CONECT 966 964 +CONECT 967 968 964 +CONECT 968 967 +CONECT 970 971 972 980 +CONECT 971 970 +CONECT 972 973 970 974 +CONECT 973 972 +CONECT 974 975 972 976 +CONECT 975 974 +CONECT 976 977 974 978 +CONECT 977 976 +CONECT 978 979 976 980 +CONECT 979 978 +CONECT 980 970 978 981 +CONECT 981 982 983 980 984 +CONECT 982 981 +CONECT 983 981 +CONECT 984 985 981 +CONECT 985 984 +CONECT 987 988 989 997 +CONECT 988 987 +CONECT 989 990 987 991 +CONECT 990 989 +CONECT 991 992 989 993 +CONECT 992 991 +CONECT 993 994 991 995 +CONECT 994 993 +CONECT 995 996 993 997 +CONECT 996 995 +CONECT 997 987 995 998 +CONECT 998 999 1000 997 1001 +CONECT 999 998 +CONECT 1000 998 +CONECT 1001 1002 998 +CONECT 1002 1001 +CONECT 1004 1005 1006 1014 +CONECT 1005 1004 +CONECT 1006 1007 1004 1008 +CONECT 1007 1006 +CONECT 1008 1009 1006 1010 +CONECT 1009 1008 +CONECT 1010 1011 1008 1012 +CONECT 1011 1010 +CONECT 1012 1013 1010 1014 +CONECT 1013 1012 +CONECT 1014 1004 1012 1015 +CONECT 1015 1016 1017 1014 1018 +CONECT 1016 1015 +CONECT 1017 1015 +CONECT 1018 1019 1015 +CONECT 1019 1018 +CONECT 1021 1022 1023 1031 +CONECT 1022 1021 +CONECT 1023 1024 1021 1025 +CONECT 1024 1023 +CONECT 1025 1026 1023 1027 +CONECT 1026 1025 +CONECT 1027 1028 1025 1029 +CONECT 1028 1027 +CONECT 1029 1030 1027 1031 +CONECT 1030 1029 +CONECT 1031 1021 1029 1032 +CONECT 1032 1033 1034 1031 1035 +CONECT 1033 1032 +CONECT 1034 1032 +CONECT 1035 1036 1032 +CONECT 1036 1035 +CONECT 1038 1039 1040 1048 +CONECT 1039 1038 +CONECT 1040 1041 1038 1042 +CONECT 1041 1040 +CONECT 1042 1043 1040 1044 +CONECT 1043 1042 +CONECT 1044 1045 1042 1046 +CONECT 1045 1044 +CONECT 1046 1047 1044 1048 +CONECT 1047 1046 +CONECT 1048 1038 1046 1049 +CONECT 1049 1050 1051 1048 1052 +CONECT 1050 1049 +CONECT 1051 1049 +CONECT 1052 1053 1049 +CONECT 1053 1052 +CONECT 1055 1056 1057 1065 +CONECT 1056 1055 +CONECT 1057 1058 1055 1059 +CONECT 1058 1057 +CONECT 1059 1060 1057 1061 +CONECT 1060 1059 +CONECT 1061 1062 1059 1063 +CONECT 1062 1061 +CONECT 1063 1064 1061 1065 +CONECT 1064 1063 +CONECT 1065 1055 1063 1066 +CONECT 1066 1067 1068 1065 1069 +CONECT 1067 1066 +CONECT 1068 1066 +CONECT 1069 1070 1066 +CONECT 1070 1069 +CONECT 1072 1073 1074 1082 +CONECT 1073 1072 +CONECT 1074 1075 1072 1076 +CONECT 1075 1074 +CONECT 1076 1077 1074 1078 +CONECT 1077 1076 +CONECT 1078 1079 1076 1080 +CONECT 1079 1078 +CONECT 1080 1081 1078 1082 +CONECT 1081 1080 +CONECT 1082 1072 1080 1083 +CONECT 1083 1084 1085 1082 1086 +CONECT 1084 1083 +CONECT 1085 1083 +CONECT 1086 1087 1083 +CONECT 1087 1086 +CONECT 1089 1090 1091 1099 +CONECT 1090 1089 +CONECT 1091 1092 1089 1093 +CONECT 1092 1091 +CONECT 1093 1094 1091 1095 +CONECT 1094 1093 +CONECT 1095 1096 1093 1097 +CONECT 1096 1095 +CONECT 1097 1098 1095 1099 +CONECT 1098 1097 +CONECT 1099 1089 1097 1100 +CONECT 1100 1101 1102 1099 1103 +CONECT 1101 1100 +CONECT 1102 1100 +CONECT 1103 1104 1100 +CONECT 1104 1103 +CONECT 1106 1107 1108 1116 +CONECT 1107 1106 +CONECT 1108 1109 1106 1110 +CONECT 1109 1108 +CONECT 1110 1111 1108 1112 +CONECT 1111 1110 +CONECT 1112 1113 1110 1114 +CONECT 1113 1112 +CONECT 1114 1115 1112 1116 +CONECT 1115 1114 +CONECT 1116 1106 1114 1117 +CONECT 1117 1118 1119 1116 1120 +CONECT 1118 1117 +CONECT 1119 1117 +CONECT 1120 1121 1117 +CONECT 1121 1120 +CONECT 1123 1124 1125 1133 +CONECT 1124 1123 +CONECT 1125 1126 1123 1127 +CONECT 1126 1125 +CONECT 1127 1128 1125 1129 +CONECT 1128 1127 +CONECT 1129 1130 1127 1131 +CONECT 1130 1129 +CONECT 1131 1132 1129 1133 +CONECT 1132 1131 +CONECT 1133 1123 1131 1134 +CONECT 1134 1135 1136 1133 1137 +CONECT 1135 1134 +CONECT 1136 1134 +CONECT 1137 1138 1134 +CONECT 1138 1137 +CONECT 1140 1141 1142 1150 +CONECT 1141 1140 +CONECT 1142 1143 1140 1144 +CONECT 1143 1142 +CONECT 1144 1145 1142 1146 +CONECT 1145 1144 +CONECT 1146 1147 1144 1148 +CONECT 1147 1146 +CONECT 1148 1149 1146 1150 +CONECT 1149 1148 +CONECT 1150 1140 1148 1151 +CONECT 1151 1152 1153 1150 1154 +CONECT 1152 1151 +CONECT 1153 1151 +CONECT 1154 1155 1151 +CONECT 1155 1154 +CONECT 1157 1158 1159 1167 +CONECT 1158 1157 +CONECT 1159 1160 1157 1161 +CONECT 1160 1159 +CONECT 1161 1162 1159 1163 +CONECT 1162 1161 +CONECT 1163 1164 1161 1165 +CONECT 1164 1163 +CONECT 1165 1166 1163 1167 +CONECT 1166 1165 +CONECT 1167 1157 1165 1168 +CONECT 1168 1169 1170 1167 1171 +CONECT 1169 1168 +CONECT 1170 1168 +CONECT 1171 1172 1168 +CONECT 1172 1171 +CONECT 1174 1175 1176 1184 +CONECT 1175 1174 +CONECT 1176 1177 1174 1178 +CONECT 1177 1176 +CONECT 1178 1179 1176 1180 +CONECT 1179 1178 +CONECT 1180 1181 1178 1182 +CONECT 1181 1180 +CONECT 1182 1183 1180 1184 +CONECT 1183 1182 +CONECT 1184 1174 1182 1185 +CONECT 1185 1186 1187 1184 1188 +CONECT 1186 1185 +CONECT 1187 1185 +CONECT 1188 1189 1185 +CONECT 1189 1188 +CONECT 1191 1192 1193 1201 +CONECT 1192 1191 +CONECT 1193 1194 1191 1195 +CONECT 1194 1193 +CONECT 1195 1196 1193 1197 +CONECT 1196 1195 +CONECT 1197 1198 1195 1199 +CONECT 1198 1197 +CONECT 1199 1200 1197 1201 +CONECT 1200 1199 +CONECT 1201 1191 1199 1202 +CONECT 1202 1203 1204 1201 1205 +CONECT 1203 1202 +CONECT 1204 1202 +CONECT 1205 1206 1202 +CONECT 1206 1205 +CONECT 1208 1209 1210 1218 +CONECT 1209 1208 +CONECT 1210 1211 1208 1212 +CONECT 1211 1210 +CONECT 1212 1213 1210 1214 +CONECT 1213 1212 +CONECT 1214 1215 1212 1216 +CONECT 1215 1214 +CONECT 1216 1217 1214 1218 +CONECT 1217 1216 +CONECT 1218 1208 1216 1219 +CONECT 1219 1220 1221 1218 1222 +CONECT 1220 1219 +CONECT 1221 1219 +CONECT 1222 1223 1219 +CONECT 1223 1222 +CONECT 1225 1226 1227 1235 +CONECT 1226 1225 +CONECT 1227 1228 1225 1229 +CONECT 1228 1227 +CONECT 1229 1230 1227 1231 +CONECT 1230 1229 +CONECT 1231 1232 1229 1233 +CONECT 1232 1231 +CONECT 1233 1234 1231 1235 +CONECT 1234 1233 +CONECT 1235 1225 1233 1236 +CONECT 1236 1237 1238 1235 1239 +CONECT 1237 1236 +CONECT 1238 1236 +CONECT 1239 1240 1236 +CONECT 1240 1239 +CONECT 1242 1243 1244 1252 +CONECT 1243 1242 +CONECT 1244 1245 1242 1246 +CONECT 1245 1244 +CONECT 1246 1247 1244 1248 +CONECT 1247 1246 +CONECT 1248 1249 1246 1250 +CONECT 1249 1248 +CONECT 1250 1251 1248 1252 +CONECT 1251 1250 +CONECT 1252 1242 1250 1253 +CONECT 1253 1254 1255 1252 1256 +CONECT 1254 1253 +CONECT 1255 1253 +CONECT 1256 1257 1253 +CONECT 1257 1256 +CONECT 1259 1260 1261 1269 +CONECT 1260 1259 +CONECT 1261 1262 1259 1263 +CONECT 1262 1261 +CONECT 1263 1264 1261 1265 +CONECT 1264 1263 +CONECT 1265 1266 1263 1267 +CONECT 1266 1265 +CONECT 1267 1268 1265 1269 +CONECT 1268 1267 +CONECT 1269 1259 1267 1270 +CONECT 1270 1271 1272 1269 1273 +CONECT 1271 1270 +CONECT 1272 1270 +CONECT 1273 1274 1270 +CONECT 1274 1273 +CONECT 1276 1277 1278 1286 +CONECT 1277 1276 +CONECT 1278 1279 1276 1280 +CONECT 1279 1278 +CONECT 1280 1281 1278 1282 +CONECT 1281 1280 +CONECT 1282 1283 1280 1284 +CONECT 1283 1282 +CONECT 1284 1285 1282 1286 +CONECT 1285 1284 +CONECT 1286 1276 1284 1287 +CONECT 1287 1288 1289 1286 1290 +CONECT 1288 1287 +CONECT 1289 1287 +CONECT 1290 1291 1287 +CONECT 1291 1290 +CONECT 1293 1294 1295 1303 +CONECT 1294 1293 +CONECT 1295 1296 1293 1297 +CONECT 1296 1295 +CONECT 1297 1298 1295 1299 +CONECT 1298 1297 +CONECT 1299 1300 1297 1301 +CONECT 1300 1299 +CONECT 1301 1302 1299 1303 +CONECT 1302 1301 +CONECT 1303 1293 1301 1304 +CONECT 1304 1305 1306 1303 1307 +CONECT 1305 1304 +CONECT 1306 1304 +CONECT 1307 1308 1304 +CONECT 1308 1307 +CONECT 1310 1311 1312 1320 +CONECT 1311 1310 +CONECT 1312 1313 1310 1314 +CONECT 1313 1312 +CONECT 1314 1315 1312 1316 +CONECT 1315 1314 +CONECT 1316 1317 1314 1318 +CONECT 1317 1316 +CONECT 1318 1319 1316 1320 +CONECT 1319 1318 +CONECT 1320 1310 1318 1321 +CONECT 1321 1322 1323 1320 1324 +CONECT 1322 1321 +CONECT 1323 1321 +CONECT 1324 1325 1321 +CONECT 1325 1324 +CONECT 1327 1328 1329 1337 +CONECT 1328 1327 +CONECT 1329 1330 1327 1331 +CONECT 1330 1329 +CONECT 1331 1332 1329 1333 +CONECT 1332 1331 +CONECT 1333 1334 1331 1335 +CONECT 1334 1333 +CONECT 1335 1336 1333 1337 +CONECT 1336 1335 +CONECT 1337 1327 1335 1338 +CONECT 1338 1339 1340 1337 1341 +CONECT 1339 1338 +CONECT 1340 1338 +CONECT 1341 1342 1338 +CONECT 1342 1341 +CONECT 1344 1345 1346 1354 +CONECT 1345 1344 +CONECT 1346 1347 1344 1348 +CONECT 1347 1346 +CONECT 1348 1349 1346 1350 +CONECT 1349 1348 +CONECT 1350 1351 1348 1352 +CONECT 1351 1350 +CONECT 1352 1353 1350 1354 +CONECT 1353 1352 +CONECT 1354 1344 1352 1355 +CONECT 1355 1356 1357 1354 1358 +CONECT 1356 1355 +CONECT 1357 1355 +CONECT 1358 1359 1355 +CONECT 1359 1358 +CONECT 1361 1362 1363 1371 +CONECT 1362 1361 +CONECT 1363 1364 1361 1365 +CONECT 1364 1363 +CONECT 1365 1366 1363 1367 +CONECT 1366 1365 +CONECT 1367 1368 1365 1369 +CONECT 1368 1367 +CONECT 1369 1370 1367 1371 +CONECT 1370 1369 +CONECT 1371 1361 1369 1372 +CONECT 1372 1373 1374 1371 1375 +CONECT 1373 1372 +CONECT 1374 1372 +CONECT 1375 1376 1372 +CONECT 1376 1375 +CONECT 1378 1379 1380 1388 +CONECT 1379 1378 +CONECT 1380 1381 1378 1382 +CONECT 1381 1380 +CONECT 1382 1383 1380 1384 +CONECT 1383 1382 +CONECT 1384 1385 1382 1386 +CONECT 1385 1384 +CONECT 1386 1387 1384 1388 +CONECT 1387 1386 +CONECT 1388 1378 1386 1389 +CONECT 1389 1390 1391 1388 1392 +CONECT 1390 1389 +CONECT 1391 1389 +CONECT 1392 1393 1389 +CONECT 1393 1392 +CONECT 1395 1396 1397 1405 +CONECT 1396 1395 +CONECT 1397 1398 1395 1399 +CONECT 1398 1397 +CONECT 1399 1400 1397 1401 +CONECT 1400 1399 +CONECT 1401 1402 1399 1403 +CONECT 1402 1401 +CONECT 1403 1404 1401 1405 +CONECT 1404 1403 +CONECT 1405 1395 1403 1406 +CONECT 1406 1407 1408 1405 1409 +CONECT 1407 1406 +CONECT 1408 1406 +CONECT 1409 1410 1406 +CONECT 1410 1409 +CONECT 1412 1413 1414 1422 +CONECT 1413 1412 +CONECT 1414 1415 1412 1416 +CONECT 1415 1414 +CONECT 1416 1417 1414 1418 +CONECT 1417 1416 +CONECT 1418 1419 1416 1420 +CONECT 1419 1418 +CONECT 1420 1421 1418 1422 +CONECT 1421 1420 +CONECT 1422 1412 1420 1423 +CONECT 1423 1424 1425 1422 1426 +CONECT 1424 1423 +CONECT 1425 1423 +CONECT 1426 1427 1423 +CONECT 1427 1426 +CONECT 1429 1430 1431 1439 +CONECT 1430 1429 +CONECT 1431 1432 1429 1433 +CONECT 1432 1431 +CONECT 1433 1434 1431 1435 +CONECT 1434 1433 +CONECT 1435 1436 1433 1437 +CONECT 1436 1435 +CONECT 1437 1438 1435 1439 +CONECT 1438 1437 +CONECT 1439 1429 1437 1440 +CONECT 1440 1441 1442 1439 1443 +CONECT 1441 1440 +CONECT 1442 1440 +CONECT 1443 1444 1440 +CONECT 1444 1443 +CONECT 1446 1447 1448 1456 +CONECT 1447 1446 +CONECT 1448 1449 1446 1450 +CONECT 1449 1448 +CONECT 1450 1451 1448 1452 +CONECT 1451 1450 +CONECT 1452 1453 1450 1454 +CONECT 1453 1452 +CONECT 1454 1455 1452 1456 +CONECT 1455 1454 +CONECT 1456 1446 1454 1457 +CONECT 1457 1458 1459 1456 1460 +CONECT 1458 1457 +CONECT 1459 1457 +CONECT 1460 1461 1457 +CONECT 1461 1460 +CONECT 1463 1464 1465 1473 +CONECT 1464 1463 +CONECT 1465 1466 1463 1467 +CONECT 1466 1465 +CONECT 1467 1468 1465 1469 +CONECT 1468 1467 +CONECT 1469 1470 1467 1471 +CONECT 1470 1469 +CONECT 1471 1472 1469 1473 +CONECT 1472 1471 +CONECT 1473 1463 1471 1474 +CONECT 1474 1475 1476 1473 1477 +CONECT 1475 1474 +CONECT 1476 1474 +CONECT 1477 1478 1474 +CONECT 1478 1477 +CONECT 1480 1481 1482 1490 +CONECT 1481 1480 +CONECT 1482 1483 1480 1484 +CONECT 1483 1482 +CONECT 1484 1485 1482 1486 +CONECT 1485 1484 +CONECT 1486 1487 1484 1488 +CONECT 1487 1486 +CONECT 1488 1489 1486 1490 +CONECT 1489 1488 +CONECT 1490 1480 1488 1491 +CONECT 1491 1492 1493 1490 1494 +CONECT 1492 1491 +CONECT 1493 1491 +CONECT 1494 1495 1491 +CONECT 1495 1494 +CONECT 1497 1498 1499 1507 +CONECT 1498 1497 +CONECT 1499 1500 1497 1501 +CONECT 1500 1499 +CONECT 1501 1502 1499 1503 +CONECT 1502 1501 +CONECT 1503 1504 1501 1505 +CONECT 1504 1503 +CONECT 1505 1506 1503 1507 +CONECT 1506 1505 +CONECT 1507 1497 1505 1508 +CONECT 1508 1509 1510 1507 1511 +CONECT 1509 1508 +CONECT 1510 1508 +CONECT 1511 1512 1508 +CONECT 1512 1511 +CONECT 1514 1515 1516 1524 +CONECT 1515 1514 +CONECT 1516 1517 1514 1518 +CONECT 1517 1516 +CONECT 1518 1519 1516 1520 +CONECT 1519 1518 +CONECT 1520 1521 1518 1522 +CONECT 1521 1520 +CONECT 1522 1523 1520 1524 +CONECT 1523 1522 +CONECT 1524 1514 1522 1525 +CONECT 1525 1526 1527 1524 1528 +CONECT 1526 1525 +CONECT 1527 1525 +CONECT 1528 1529 1525 +CONECT 1529 1528 +CONECT 1531 1532 1533 1541 +CONECT 1532 1531 +CONECT 1533 1534 1531 1535 +CONECT 1534 1533 +CONECT 1535 1536 1533 1537 +CONECT 1536 1535 +CONECT 1537 1538 1535 1539 +CONECT 1538 1537 +CONECT 1539 1540 1537 1541 +CONECT 1540 1539 +CONECT 1541 1531 1539 1542 +CONECT 1542 1543 1544 1541 1545 +CONECT 1543 1542 +CONECT 1544 1542 +CONECT 1545 1546 1542 +CONECT 1546 1545 +CONECT 1548 1549 1550 1558 +CONECT 1549 1548 +CONECT 1550 1551 1548 1552 +CONECT 1551 1550 +CONECT 1552 1553 1550 1554 +CONECT 1553 1552 +CONECT 1554 1555 1552 1556 +CONECT 1555 1554 +CONECT 1556 1557 1554 1558 +CONECT 1557 1556 +CONECT 1558 1548 1556 1559 +CONECT 1559 1560 1561 1558 1562 +CONECT 1560 1559 +CONECT 1561 1559 +CONECT 1562 1563 1559 +CONECT 1563 1562 +CONECT 1565 1566 1567 1575 +CONECT 1566 1565 +CONECT 1567 1568 1565 1569 +CONECT 1568 1567 +CONECT 1569 1570 1567 1571 +CONECT 1570 1569 +CONECT 1571 1572 1569 1573 +CONECT 1572 1571 +CONECT 1573 1574 1571 1575 +CONECT 1574 1573 +CONECT 1575 1565 1573 1576 +CONECT 1576 1577 1578 1575 1579 +CONECT 1577 1576 +CONECT 1578 1576 +CONECT 1579 1580 1576 +CONECT 1580 1579 +CONECT 1582 1583 1584 1592 +CONECT 1583 1582 +CONECT 1584 1585 1582 1586 +CONECT 1585 1584 +CONECT 1586 1587 1584 1588 +CONECT 1587 1586 +CONECT 1588 1589 1586 1590 +CONECT 1589 1588 +CONECT 1590 1591 1588 1592 +CONECT 1591 1590 +CONECT 1592 1582 1590 1593 +CONECT 1593 1594 1595 1592 1596 +CONECT 1594 1593 +CONECT 1595 1593 +CONECT 1596 1597 1593 +CONECT 1597 1596 +CONECT 1599 1600 1601 1609 +CONECT 1600 1599 +CONECT 1601 1602 1599 1603 +CONECT 1602 1601 +CONECT 1603 1604 1601 1605 +CONECT 1604 1603 +CONECT 1605 1606 1603 1607 +CONECT 1606 1605 +CONECT 1607 1608 1605 1609 +CONECT 1608 1607 +CONECT 1609 1599 1607 1610 +CONECT 1610 1611 1612 1609 1613 +CONECT 1611 1610 +CONECT 1612 1610 +CONECT 1613 1614 1610 +CONECT 1614 1613 +CONECT 1616 1617 1618 1626 +CONECT 1617 1616 +CONECT 1618 1619 1616 1620 +CONECT 1619 1618 +CONECT 1620 1621 1618 1622 +CONECT 1621 1620 +CONECT 1622 1623 1620 1624 +CONECT 1623 1622 +CONECT 1624 1625 1622 1626 +CONECT 1625 1624 +CONECT 1626 1616 1624 1627 +CONECT 1627 1628 1629 1626 1630 +CONECT 1628 1627 +CONECT 1629 1627 +CONECT 1630 1631 1627 +CONECT 1631 1630 +CONECT 1633 1634 1635 1643 +CONECT 1634 1633 +CONECT 1635 1636 1633 1637 +CONECT 1636 1635 +CONECT 1637 1638 1635 1639 +CONECT 1638 1637 +CONECT 1639 1640 1637 1641 +CONECT 1640 1639 +CONECT 1641 1642 1639 1643 +CONECT 1642 1641 +CONECT 1643 1633 1641 1644 +CONECT 1644 1645 1646 1643 1647 +CONECT 1645 1644 +CONECT 1646 1644 +CONECT 1647 1648 1644 +CONECT 1648 1647 +CONECT 1650 1651 1652 1660 +CONECT 1651 1650 +CONECT 1652 1653 1650 1654 +CONECT 1653 1652 +CONECT 1654 1655 1652 1656 +CONECT 1655 1654 +CONECT 1656 1657 1654 1658 +CONECT 1657 1656 +CONECT 1658 1659 1656 1660 +CONECT 1659 1658 +CONECT 1660 1650 1658 1661 +CONECT 1661 1662 1663 1660 1664 +CONECT 1662 1661 +CONECT 1663 1661 +CONECT 1664 1665 1661 +CONECT 1665 1664 +CONECT 1667 1668 1669 1677 +CONECT 1668 1667 +CONECT 1669 1670 1667 1671 +CONECT 1670 1669 +CONECT 1671 1672 1669 1673 +CONECT 1672 1671 +CONECT 1673 1674 1671 1675 +CONECT 1674 1673 +CONECT 1675 1676 1673 1677 +CONECT 1676 1675 +CONECT 1677 1667 1675 1678 +CONECT 1678 1679 1680 1677 1681 +CONECT 1679 1678 +CONECT 1680 1678 +CONECT 1681 1682 1678 +CONECT 1682 1681 +CONECT 1684 1685 1686 1694 +CONECT 1685 1684 +CONECT 1686 1687 1684 1688 +CONECT 1687 1686 +CONECT 1688 1689 1686 1690 +CONECT 1689 1688 +CONECT 1690 1691 1688 1692 +CONECT 1691 1690 +CONECT 1692 1693 1690 1694 +CONECT 1693 1692 +CONECT 1694 1684 1692 1695 +CONECT 1695 1696 1697 1694 1698 +CONECT 1696 1695 +CONECT 1697 1695 +CONECT 1698 1699 1695 +CONECT 1699 1698 +CONECT 1701 1702 1703 1711 +CONECT 1702 1701 +CONECT 1703 1704 1701 1705 +CONECT 1704 1703 +CONECT 1705 1706 1703 1707 +CONECT 1706 1705 +CONECT 1707 1708 1705 1709 +CONECT 1708 1707 +CONECT 1709 1710 1707 1711 +CONECT 1710 1709 +CONECT 1711 1701 1709 1712 +CONECT 1712 1713 1714 1711 1715 +CONECT 1713 1712 +CONECT 1714 1712 +CONECT 1715 1716 1712 +CONECT 1716 1715 +CONECT 1718 1719 1720 1728 +CONECT 1719 1718 +CONECT 1720 1721 1718 1722 +CONECT 1721 1720 +CONECT 1722 1723 1720 1724 +CONECT 1723 1722 +CONECT 1724 1725 1722 1726 +CONECT 1725 1724 +CONECT 1726 1727 1724 1728 +CONECT 1727 1726 +CONECT 1728 1718 1726 1729 +CONECT 1729 1730 1731 1728 1732 +CONECT 1730 1729 +CONECT 1731 1729 +CONECT 1732 1733 1729 +CONECT 1733 1732 +CONECT 1735 1736 1737 1745 +CONECT 1736 1735 +CONECT 1737 1738 1735 1739 +CONECT 1738 1737 +CONECT 1739 1740 1737 1741 +CONECT 1740 1739 +CONECT 1741 1742 1739 1743 +CONECT 1742 1741 +CONECT 1743 1744 1741 1745 +CONECT 1744 1743 +CONECT 1745 1735 1743 1746 +CONECT 1746 1747 1748 1745 1749 +CONECT 1747 1746 +CONECT 1748 1746 +CONECT 1749 1750 1746 +CONECT 1750 1749 +CONECT 1752 1753 1754 1762 +CONECT 1753 1752 +CONECT 1754 1755 1752 1756 +CONECT 1755 1754 +CONECT 1756 1757 1754 1758 +CONECT 1757 1756 +CONECT 1758 1759 1756 1760 +CONECT 1759 1758 +CONECT 1760 1761 1758 1762 +CONECT 1761 1760 +CONECT 1762 1752 1760 1763 +CONECT 1763 1764 1765 1762 1766 +CONECT 1764 1763 +CONECT 1765 1763 +CONECT 1766 1767 1763 +CONECT 1767 1766 +CONECT 1769 1770 1771 1779 +CONECT 1770 1769 +CONECT 1771 1772 1769 1773 +CONECT 1772 1771 +CONECT 1773 1774 1771 1775 +CONECT 1774 1773 +CONECT 1775 1776 1773 1777 +CONECT 1776 1775 +CONECT 1777 1778 1775 1779 +CONECT 1778 1777 +CONECT 1779 1769 1777 1780 +CONECT 1780 1781 1782 1779 1783 +CONECT 1781 1780 +CONECT 1782 1780 +CONECT 1783 1784 1780 +CONECT 1784 1783 +CONECT 1786 1787 1788 1796 +CONECT 1787 1786 +CONECT 1788 1789 1786 1790 +CONECT 1789 1788 +CONECT 1790 1791 1788 1792 +CONECT 1791 1790 +CONECT 1792 1793 1790 1794 +CONECT 1793 1792 +CONECT 1794 1795 1792 1796 +CONECT 1795 1794 +CONECT 1796 1786 1794 1797 +CONECT 1797 1798 1799 1796 1800 +CONECT 1798 1797 +CONECT 1799 1797 +CONECT 1800 1801 1797 +CONECT 1801 1800 +CONECT 1803 1804 1805 1813 +CONECT 1804 1803 +CONECT 1805 1806 1803 1807 +CONECT 1806 1805 +CONECT 1807 1808 1805 1809 +CONECT 1808 1807 +CONECT 1809 1810 1807 1811 +CONECT 1810 1809 +CONECT 1811 1812 1809 1813 +CONECT 1812 1811 +CONECT 1813 1803 1811 1814 +CONECT 1814 1815 1816 1813 1817 +CONECT 1815 1814 +CONECT 1816 1814 +CONECT 1817 1818 1814 +CONECT 1818 1817 +CONECT 1820 1821 1822 1830 +CONECT 1821 1820 +CONECT 1822 1823 1820 1824 +CONECT 1823 1822 +CONECT 1824 1825 1822 1826 +CONECT 1825 1824 +CONECT 1826 1827 1824 1828 +CONECT 1827 1826 +CONECT 1828 1829 1826 1830 +CONECT 1829 1828 +CONECT 1830 1820 1828 1831 +CONECT 1831 1832 1833 1830 1834 +CONECT 1832 1831 +CONECT 1833 1831 +CONECT 1834 1835 1831 +CONECT 1835 1834 +CONECT 1837 1838 1839 1847 +CONECT 1838 1837 +CONECT 1839 1840 1837 1841 +CONECT 1840 1839 +CONECT 1841 1842 1839 1843 +CONECT 1842 1841 +CONECT 1843 1844 1841 1845 +CONECT 1844 1843 +CONECT 1845 1846 1843 1847 +CONECT 1846 1845 +CONECT 1847 1837 1845 1848 +CONECT 1848 1849 1850 1847 1851 +CONECT 1849 1848 +CONECT 1850 1848 +CONECT 1851 1852 1848 +CONECT 1852 1851 +CONECT 1854 1855 1856 1864 +CONECT 1855 1854 +CONECT 1856 1857 1854 1858 +CONECT 1857 1856 +CONECT 1858 1859 1856 1860 +CONECT 1859 1858 +CONECT 1860 1861 1858 1862 +CONECT 1861 1860 +CONECT 1862 1863 1860 1864 +CONECT 1863 1862 +CONECT 1864 1854 1862 1865 +CONECT 1865 1866 1867 1864 1868 +CONECT 1866 1865 +CONECT 1867 1865 +CONECT 1868 1869 1865 +CONECT 1869 1868 +CONECT 1871 1872 1873 1881 +CONECT 1872 1871 +CONECT 1873 1874 1871 1875 +CONECT 1874 1873 +CONECT 1875 1876 1873 1877 +CONECT 1876 1875 +CONECT 1877 1878 1875 1879 +CONECT 1878 1877 +CONECT 1879 1880 1877 1881 +CONECT 1880 1879 +CONECT 1881 1871 1879 1882 +CONECT 1882 1883 1884 1881 1885 +CONECT 1883 1882 +CONECT 1884 1882 +CONECT 1885 1886 1882 +CONECT 1886 1885 +CONECT 1888 1889 1890 1898 +CONECT 1889 1888 +CONECT 1890 1891 1888 1892 +CONECT 1891 1890 +CONECT 1892 1893 1890 1894 +CONECT 1893 1892 +CONECT 1894 1895 1892 1896 +CONECT 1895 1894 +CONECT 1896 1897 1894 1898 +CONECT 1897 1896 +CONECT 1898 1888 1896 1899 +CONECT 1899 1900 1901 1898 1902 +CONECT 1900 1899 +CONECT 1901 1899 +CONECT 1902 1903 1899 +CONECT 1903 1902 +CONECT 1905 1906 1907 1915 +CONECT 1906 1905 +CONECT 1907 1908 1905 1909 +CONECT 1908 1907 +CONECT 1909 1910 1907 1911 +CONECT 1910 1909 +CONECT 1911 1912 1909 1913 +CONECT 1912 1911 +CONECT 1913 1914 1911 1915 +CONECT 1914 1913 +CONECT 1915 1905 1913 1916 +CONECT 1916 1917 1918 1915 1919 +CONECT 1917 1916 +CONECT 1918 1916 +CONECT 1919 1920 1916 +CONECT 1920 1919 +CONECT 1922 1923 1924 1932 +CONECT 1923 1922 +CONECT 1924 1925 1922 1926 +CONECT 1925 1924 +CONECT 1926 1927 1924 1928 +CONECT 1927 1926 +CONECT 1928 1929 1926 1930 +CONECT 1929 1928 +CONECT 1930 1931 1928 1932 +CONECT 1931 1930 +CONECT 1932 1922 1930 1933 +CONECT 1933 1934 1935 1932 1936 +CONECT 1934 1933 +CONECT 1935 1933 +CONECT 1936 1937 1933 +CONECT 1937 1936 +CONECT 1939 1940 1941 1949 +CONECT 1940 1939 +CONECT 1941 1942 1939 1943 +CONECT 1942 1941 +CONECT 1943 1944 1941 1945 +CONECT 1944 1943 +CONECT 1945 1946 1943 1947 +CONECT 1946 1945 +CONECT 1947 1948 1945 1949 +CONECT 1948 1947 +CONECT 1949 1939 1947 1950 +CONECT 1950 1951 1952 1949 1953 +CONECT 1951 1950 +CONECT 1952 1950 +CONECT 1953 1954 1950 +CONECT 1954 1953 +CONECT 1956 1957 1958 1966 +CONECT 1957 1956 +CONECT 1958 1959 1956 1960 +CONECT 1959 1958 +CONECT 1960 1961 1958 1962 +CONECT 1961 1960 +CONECT 1962 1963 1960 1964 +CONECT 1963 1962 +CONECT 1964 1965 1962 1966 +CONECT 1965 1964 +CONECT 1966 1956 1964 1967 +CONECT 1967 1968 1969 1966 1970 +CONECT 1968 1967 +CONECT 1969 1967 +CONECT 1970 1971 1967 +CONECT 1971 1970 +CONECT 1973 1974 1975 1983 +CONECT 1974 1973 +CONECT 1975 1976 1973 1977 +CONECT 1976 1975 +CONECT 1977 1978 1975 1979 +CONECT 1978 1977 +CONECT 1979 1980 1977 1981 +CONECT 1980 1979 +CONECT 1981 1982 1979 1983 +CONECT 1982 1981 +CONECT 1983 1973 1981 1984 +CONECT 1984 1985 1986 1983 1987 +CONECT 1985 1984 +CONECT 1986 1984 +CONECT 1987 1988 1984 +CONECT 1988 1987 +CONECT 1990 1991 1992 2000 +CONECT 1991 1990 +CONECT 1992 1993 1990 1994 +CONECT 1993 1992 +CONECT 1994 1995 1992 1996 +CONECT 1995 1994 +CONECT 1996 1997 1994 1998 +CONECT 1997 1996 +CONECT 1998 1999 1996 2000 +CONECT 1999 1998 +CONECT 2000 1990 1998 2001 +CONECT 2001 2002 2003 2000 2004 +CONECT 2002 2001 +CONECT 2003 2001 +CONECT 2004 2005 2001 +CONECT 2005 2004 +CONECT 2007 2008 2009 2017 +CONECT 2008 2007 +CONECT 2009 2010 2007 2011 +CONECT 2010 2009 +CONECT 2011 2012 2009 2013 +CONECT 2012 2011 +CONECT 2013 2014 2011 2015 +CONECT 2014 2013 +CONECT 2015 2016 2013 2017 +CONECT 2016 2015 +CONECT 2017 2007 2015 2018 +CONECT 2018 2019 2020 2017 2021 +CONECT 2019 2018 +CONECT 2020 2018 +CONECT 2021 2022 2018 +CONECT 2022 2021 +CONECT 2024 2025 2026 2034 +CONECT 2025 2024 +CONECT 2026 2027 2024 2028 +CONECT 2027 2026 +CONECT 2028 2029 2026 2030 +CONECT 2029 2028 +CONECT 2030 2031 2028 2032 +CONECT 2031 2030 +CONECT 2032 2033 2030 2034 +CONECT 2033 2032 +CONECT 2034 2024 2032 2035 +CONECT 2035 2036 2037 2034 2038 +CONECT 2036 2035 +CONECT 2037 2035 +CONECT 2038 2039 2035 +CONECT 2039 2038 +CONECT 2041 2042 2043 2051 +CONECT 2042 2041 +CONECT 2043 2044 2041 2045 +CONECT 2044 2043 +CONECT 2045 2046 2043 2047 +CONECT 2046 2045 +CONECT 2047 2048 2045 2049 +CONECT 2048 2047 +CONECT 2049 2050 2047 2051 +CONECT 2050 2049 +CONECT 2051 2041 2049 2052 +CONECT 2052 2053 2054 2051 2055 +CONECT 2053 2052 +CONECT 2054 2052 +CONECT 2055 2056 2052 +CONECT 2056 2055 +CONECT 2058 2059 2060 2068 +CONECT 2059 2058 +CONECT 2060 2061 2058 2062 +CONECT 2061 2060 +CONECT 2062 2063 2060 2064 +CONECT 2063 2062 +CONECT 2064 2065 2062 2066 +CONECT 2065 2064 +CONECT 2066 2067 2064 2068 +CONECT 2067 2066 +CONECT 2068 2058 2066 2069 +CONECT 2069 2070 2071 2068 2072 +CONECT 2070 2069 +CONECT 2071 2069 +CONECT 2072 2073 2069 +CONECT 2073 2072 +CONECT 2075 2076 2077 2085 +CONECT 2076 2075 +CONECT 2077 2078 2075 2079 +CONECT 2078 2077 +CONECT 2079 2080 2077 2081 +CONECT 2080 2079 +CONECT 2081 2082 2079 2083 +CONECT 2082 2081 +CONECT 2083 2084 2081 2085 +CONECT 2084 2083 +CONECT 2085 2075 2083 2086 +CONECT 2086 2087 2088 2085 2089 +CONECT 2087 2086 +CONECT 2088 2086 +CONECT 2089 2090 2086 +CONECT 2090 2089 +CONECT 2092 2093 2094 2102 +CONECT 2093 2092 +CONECT 2094 2095 2092 2096 +CONECT 2095 2094 +CONECT 2096 2097 2094 2098 +CONECT 2097 2096 +CONECT 2098 2099 2096 2100 +CONECT 2099 2098 +CONECT 2100 2101 2098 2102 +CONECT 2101 2100 +CONECT 2102 2092 2100 2103 +CONECT 2103 2104 2105 2102 2106 +CONECT 2104 2103 +CONECT 2105 2103 +CONECT 2106 2107 2103 +CONECT 2107 2106 +CONECT 2109 2110 2111 2119 +CONECT 2110 2109 +CONECT 2111 2112 2109 2113 +CONECT 2112 2111 +CONECT 2113 2114 2111 2115 +CONECT 2114 2113 +CONECT 2115 2116 2113 2117 +CONECT 2116 2115 +CONECT 2117 2118 2115 2119 +CONECT 2118 2117 +CONECT 2119 2109 2117 2120 +CONECT 2120 2121 2122 2119 2123 +CONECT 2121 2120 +CONECT 2122 2120 +CONECT 2123 2124 2120 +CONECT 2124 2123 +CONECT 2126 2127 2128 2136 +CONECT 2127 2126 +CONECT 2128 2129 2126 2130 +CONECT 2129 2128 +CONECT 2130 2131 2128 2132 +CONECT 2131 2130 +CONECT 2132 2133 2130 2134 +CONECT 2133 2132 +CONECT 2134 2135 2132 2136 +CONECT 2135 2134 +CONECT 2136 2126 2134 2137 +CONECT 2137 2138 2139 2136 2140 +CONECT 2138 2137 +CONECT 2139 2137 +CONECT 2140 2141 2137 +CONECT 2141 2140 +CONECT 2143 2144 2145 2153 +CONECT 2144 2143 +CONECT 2145 2146 2143 2147 +CONECT 2146 2145 +CONECT 2147 2148 2145 2149 +CONECT 2148 2147 +CONECT 2149 2150 2147 2151 +CONECT 2150 2149 +CONECT 2151 2152 2149 2153 +CONECT 2152 2151 +CONECT 2153 2143 2151 2154 +CONECT 2154 2155 2156 2153 2157 +CONECT 2155 2154 +CONECT 2156 2154 +CONECT 2157 2158 2154 +CONECT 2158 2157 +CONECT 2160 2161 2162 2170 +CONECT 2161 2160 +CONECT 2162 2163 2160 2164 +CONECT 2163 2162 +CONECT 2164 2165 2162 2166 +CONECT 2165 2164 +CONECT 2166 2167 2164 2168 +CONECT 2167 2166 +CONECT 2168 2169 2166 2170 +CONECT 2169 2168 +CONECT 2170 2160 2168 2171 +CONECT 2171 2172 2173 2170 2174 +CONECT 2172 2171 +CONECT 2173 2171 +CONECT 2174 2175 2171 +CONECT 2175 2174 +CONECT 2177 2178 2179 2187 +CONECT 2178 2177 +CONECT 2179 2180 2177 2181 +CONECT 2180 2179 +CONECT 2181 2182 2179 2183 +CONECT 2182 2181 +CONECT 2183 2184 2181 2185 +CONECT 2184 2183 +CONECT 2185 2186 2183 2187 +CONECT 2186 2185 +CONECT 2187 2177 2185 2188 +CONECT 2188 2189 2190 2187 2191 +CONECT 2189 2188 +CONECT 2190 2188 +CONECT 2191 2192 2188 +CONECT 2192 2191 +CONECT 2194 2195 2196 2204 +CONECT 2195 2194 +CONECT 2196 2197 2194 2198 +CONECT 2197 2196 +CONECT 2198 2199 2196 2200 +CONECT 2199 2198 +CONECT 2200 2201 2198 2202 +CONECT 2201 2200 +CONECT 2202 2203 2200 2204 +CONECT 2203 2202 +CONECT 2204 2194 2202 2205 +CONECT 2205 2206 2207 2204 2208 +CONECT 2206 2205 +CONECT 2207 2205 +CONECT 2208 2209 2205 +CONECT 2209 2208 +CONECT 2211 2212 2213 2221 +CONECT 2212 2211 +CONECT 2213 2214 2211 2215 +CONECT 2214 2213 +CONECT 2215 2216 2213 2217 +CONECT 2216 2215 +CONECT 2217 2218 2215 2219 +CONECT 2218 2217 +CONECT 2219 2220 2217 2221 +CONECT 2220 2219 +CONECT 2221 2211 2219 2222 +CONECT 2222 2223 2224 2221 2225 +CONECT 2223 2222 +CONECT 2224 2222 +CONECT 2225 2226 2222 +CONECT 2226 2225 +CONECT 2228 2229 2230 2238 +CONECT 2229 2228 +CONECT 2230 2231 2228 2232 +CONECT 2231 2230 +CONECT 2232 2233 2230 2234 +CONECT 2233 2232 +CONECT 2234 2235 2232 2236 +CONECT 2235 2234 +CONECT 2236 2237 2234 2238 +CONECT 2237 2236 +CONECT 2238 2228 2236 2239 +CONECT 2239 2240 2241 2238 2242 +CONECT 2240 2239 +CONECT 2241 2239 +CONECT 2242 2243 2239 +CONECT 2243 2242 +CONECT 2245 2246 2247 2255 +CONECT 2246 2245 +CONECT 2247 2248 2245 2249 +CONECT 2248 2247 +CONECT 2249 2250 2247 2251 +CONECT 2250 2249 +CONECT 2251 2252 2249 2253 +CONECT 2252 2251 +CONECT 2253 2254 2251 2255 +CONECT 2254 2253 +CONECT 2255 2245 2253 2256 +CONECT 2256 2257 2258 2255 2259 +CONECT 2257 2256 +CONECT 2258 2256 +CONECT 2259 2260 2256 +CONECT 2260 2259 +CONECT 2262 2263 2264 2272 +CONECT 2263 2262 +CONECT 2264 2265 2262 2266 +CONECT 2265 2264 +CONECT 2266 2267 2264 2268 +CONECT 2267 2266 +CONECT 2268 2269 2266 2270 +CONECT 2269 2268 +CONECT 2270 2271 2268 2272 +CONECT 2271 2270 +CONECT 2272 2262 2270 2273 +CONECT 2273 2274 2275 2272 2276 +CONECT 2274 2273 +CONECT 2275 2273 +CONECT 2276 2277 2273 +CONECT 2277 2276 +CONECT 2279 2280 2281 2289 +CONECT 2280 2279 +CONECT 2281 2282 2279 2283 +CONECT 2282 2281 +CONECT 2283 2284 2281 2285 +CONECT 2284 2283 +CONECT 2285 2286 2283 2287 +CONECT 2286 2285 +CONECT 2287 2288 2285 2289 +CONECT 2288 2287 +CONECT 2289 2279 2287 2290 +CONECT 2290 2291 2292 2289 2293 +CONECT 2291 2290 +CONECT 2292 2290 +CONECT 2293 2294 2290 +CONECT 2294 2293 +CONECT 2296 2297 2298 2306 +CONECT 2297 2296 +CONECT 2298 2299 2296 2300 +CONECT 2299 2298 +CONECT 2300 2301 2298 2302 +CONECT 2301 2300 +CONECT 2302 2303 2300 2304 +CONECT 2303 2302 +CONECT 2304 2305 2302 2306 +CONECT 2305 2304 +CONECT 2306 2296 2304 2307 +CONECT 2307 2308 2309 2306 2310 +CONECT 2308 2307 +CONECT 2309 2307 +CONECT 2310 2311 2307 +CONECT 2311 2310 +CONECT 2313 2314 2315 2323 +CONECT 2314 2313 +CONECT 2315 2316 2313 2317 +CONECT 2316 2315 +CONECT 2317 2318 2315 2319 +CONECT 2318 2317 +CONECT 2319 2320 2317 2321 +CONECT 2320 2319 +CONECT 2321 2322 2319 2323 +CONECT 2322 2321 +CONECT 2323 2313 2321 2324 +CONECT 2324 2325 2326 2323 2327 +CONECT 2325 2324 +CONECT 2326 2324 +CONECT 2327 2328 2324 +CONECT 2328 2327 +CONECT 2330 2331 2332 2340 +CONECT 2331 2330 +CONECT 2332 2333 2330 2334 +CONECT 2333 2332 +CONECT 2334 2335 2332 2336 +CONECT 2335 2334 +CONECT 2336 2337 2334 2338 +CONECT 2337 2336 +CONECT 2338 2339 2336 2340 +CONECT 2339 2338 +CONECT 2340 2330 2338 2341 +CONECT 2341 2342 2343 2340 2344 +CONECT 2342 2341 +CONECT 2343 2341 +CONECT 2344 2345 2341 +CONECT 2345 2344 +CONECT 2347 2348 2349 2357 +CONECT 2348 2347 +CONECT 2349 2350 2347 2351 +CONECT 2350 2349 +CONECT 2351 2352 2349 2353 +CONECT 2352 2351 +CONECT 2353 2354 2351 2355 +CONECT 2354 2353 +CONECT 2355 2356 2353 2357 +CONECT 2356 2355 +CONECT 2357 2347 2355 2358 +CONECT 2358 2359 2360 2357 2361 +CONECT 2359 2358 +CONECT 2360 2358 +CONECT 2361 2362 2358 +CONECT 2362 2361 +CONECT 2364 2365 2366 2374 +CONECT 2365 2364 +CONECT 2366 2367 2364 2368 +CONECT 2367 2366 +CONECT 2368 2369 2366 2370 +CONECT 2369 2368 +CONECT 2370 2371 2368 2372 +CONECT 2371 2370 +CONECT 2372 2373 2370 2374 +CONECT 2373 2372 +CONECT 2374 2364 2372 2375 +CONECT 2375 2376 2377 2374 2378 +CONECT 2376 2375 +CONECT 2377 2375 +CONECT 2378 2379 2375 +CONECT 2379 2378 +CONECT 2381 2382 2383 2391 +CONECT 2382 2381 +CONECT 2383 2384 2381 2385 +CONECT 2384 2383 +CONECT 2385 2386 2383 2387 +CONECT 2386 2385 +CONECT 2387 2388 2385 2389 +CONECT 2388 2387 +CONECT 2389 2390 2387 2391 +CONECT 2390 2389 +CONECT 2391 2381 2389 2392 +CONECT 2392 2393 2394 2391 2395 +CONECT 2393 2392 +CONECT 2394 2392 +CONECT 2395 2396 2392 +CONECT 2396 2395 +CONECT 2398 2399 2400 2408 +CONECT 2399 2398 +CONECT 2400 2401 2398 2402 +CONECT 2401 2400 +CONECT 2402 2403 2400 2404 +CONECT 2403 2402 +CONECT 2404 2405 2402 2406 +CONECT 2405 2404 +CONECT 2406 2407 2404 2408 +CONECT 2407 2406 +CONECT 2408 2398 2406 2409 +CONECT 2409 2410 2411 2408 2412 +CONECT 2410 2409 +CONECT 2411 2409 +CONECT 2412 2413 2409 +CONECT 2413 2412 +CONECT 2415 2416 2417 2425 +CONECT 2416 2415 +CONECT 2417 2418 2415 2419 +CONECT 2418 2417 +CONECT 2419 2420 2417 2421 +CONECT 2420 2419 +CONECT 2421 2422 2419 2423 +CONECT 2422 2421 +CONECT 2423 2424 2421 2425 +CONECT 2424 2423 +CONECT 2425 2415 2423 2426 +CONECT 2426 2427 2428 2425 2429 +CONECT 2427 2426 +CONECT 2428 2426 +CONECT 2429 2430 2426 +CONECT 2430 2429 +CONECT 2432 2433 2434 2442 +CONECT 2433 2432 +CONECT 2434 2435 2432 2436 +CONECT 2435 2434 +CONECT 2436 2437 2434 2438 +CONECT 2437 2436 +CONECT 2438 2439 2436 2440 +CONECT 2439 2438 +CONECT 2440 2441 2438 2442 +CONECT 2441 2440 +CONECT 2442 2432 2440 2443 +CONECT 2443 2444 2445 2442 2446 +CONECT 2444 2443 +CONECT 2445 2443 +CONECT 2446 2447 2443 +CONECT 2447 2446 +CONECT 2449 2450 2451 2459 +CONECT 2450 2449 +CONECT 2451 2452 2449 2453 +CONECT 2452 2451 +CONECT 2453 2454 2451 2455 +CONECT 2454 2453 +CONECT 2455 2456 2453 2457 +CONECT 2456 2455 +CONECT 2457 2458 2455 2459 +CONECT 2458 2457 +CONECT 2459 2449 2457 2460 +CONECT 2460 2461 2462 2459 2463 +CONECT 2461 2460 +CONECT 2462 2460 +CONECT 2463 2464 2460 +CONECT 2464 2463 +CONECT 2466 2467 2468 2476 +CONECT 2467 2466 +CONECT 2468 2469 2466 2470 +CONECT 2469 2468 +CONECT 2470 2471 2468 2472 +CONECT 2471 2470 +CONECT 2472 2473 2470 2474 +CONECT 2473 2472 +CONECT 2474 2475 2472 2476 +CONECT 2475 2474 +CONECT 2476 2466 2474 2477 +CONECT 2477 2478 2479 2476 2480 +CONECT 2478 2477 +CONECT 2479 2477 +CONECT 2480 2481 2477 +CONECT 2481 2480 +CONECT 2483 2484 2485 2493 +CONECT 2484 2483 +CONECT 2485 2486 2483 2487 +CONECT 2486 2485 +CONECT 2487 2488 2485 2489 +CONECT 2488 2487 +CONECT 2489 2490 2487 2491 +CONECT 2490 2489 +CONECT 2491 2492 2489 2493 +CONECT 2492 2491 +CONECT 2493 2483 2491 2494 +CONECT 2494 2495 2496 2493 2497 +CONECT 2495 2494 +CONECT 2496 2494 +CONECT 2497 2498 2494 +CONECT 2498 2497 +CONECT 2500 2501 2502 2510 +CONECT 2501 2500 +CONECT 2502 2503 2500 2504 +CONECT 2503 2502 +CONECT 2504 2505 2502 2506 +CONECT 2505 2504 +CONECT 2506 2507 2504 2508 +CONECT 2507 2506 +CONECT 2508 2509 2506 2510 +CONECT 2509 2508 +CONECT 2510 2500 2508 2511 +CONECT 2511 2512 2513 2510 2514 +CONECT 2512 2511 +CONECT 2513 2511 +CONECT 2514 2515 2511 +CONECT 2515 2514 +CONECT 2517 2518 2519 2527 +CONECT 2518 2517 +CONECT 2519 2520 2517 2521 +CONECT 2520 2519 +CONECT 2521 2522 2519 2523 +CONECT 2522 2521 +CONECT 2523 2524 2521 2525 +CONECT 2524 2523 +CONECT 2525 2526 2523 2527 +CONECT 2526 2525 +CONECT 2527 2517 2525 2528 +CONECT 2528 2529 2530 2527 2531 +CONECT 2529 2528 +CONECT 2530 2528 +CONECT 2531 2532 2528 +CONECT 2532 2531 +CONECT 2534 2535 2536 2544 +CONECT 2535 2534 +CONECT 2536 2537 2534 2538 +CONECT 2537 2536 +CONECT 2538 2539 2536 2540 +CONECT 2539 2538 +CONECT 2540 2541 2538 2542 +CONECT 2541 2540 +CONECT 2542 2543 2540 2544 +CONECT 2543 2542 +CONECT 2544 2534 2542 2545 +CONECT 2545 2546 2547 2544 2548 +CONECT 2546 2545 +CONECT 2547 2545 +CONECT 2548 2549 2545 +CONECT 2549 2548 +CONECT 2551 2552 2553 2561 +CONECT 2552 2551 +CONECT 2553 2554 2551 2555 +CONECT 2554 2553 +CONECT 2555 2556 2553 2557 +CONECT 2556 2555 +CONECT 2557 2558 2555 2559 +CONECT 2558 2557 +CONECT 2559 2560 2557 2561 +CONECT 2560 2559 +CONECT 2561 2551 2559 2562 +CONECT 2562 2563 2564 2561 2565 +CONECT 2563 2562 +CONECT 2564 2562 +CONECT 2565 2566 2562 +CONECT 2566 2565 +CONECT 2568 2569 2570 2578 +CONECT 2569 2568 +CONECT 2570 2571 2568 2572 +CONECT 2571 2570 +CONECT 2572 2573 2570 2574 +CONECT 2573 2572 +CONECT 2574 2575 2572 2576 +CONECT 2575 2574 +CONECT 2576 2577 2574 2578 +CONECT 2577 2576 +CONECT 2578 2568 2576 2579 +CONECT 2579 2580 2581 2578 2582 +CONECT 2580 2579 +CONECT 2581 2579 +CONECT 2582 2583 2579 +CONECT 2583 2582 +CONECT 2585 2586 2587 2595 +CONECT 2586 2585 +CONECT 2587 2588 2585 2589 +CONECT 2588 2587 +CONECT 2589 2590 2587 2591 +CONECT 2590 2589 +CONECT 2591 2592 2589 2593 +CONECT 2592 2591 +CONECT 2593 2594 2591 2595 +CONECT 2594 2593 +CONECT 2595 2585 2593 2596 +CONECT 2596 2597 2598 2595 2599 +CONECT 2597 2596 +CONECT 2598 2596 +CONECT 2599 2600 2596 +CONECT 2600 2599 +CONECT 2602 2603 2604 2612 +CONECT 2603 2602 +CONECT 2604 2605 2602 2606 +CONECT 2605 2604 +CONECT 2606 2607 2604 2608 +CONECT 2607 2606 +CONECT 2608 2609 2606 2610 +CONECT 2609 2608 +CONECT 2610 2611 2608 2612 +CONECT 2611 2610 +CONECT 2612 2602 2610 2613 +CONECT 2613 2614 2615 2612 2616 +CONECT 2614 2613 +CONECT 2615 2613 +CONECT 2616 2617 2613 +CONECT 2617 2616 +CONECT 2619 2620 2621 2629 +CONECT 2620 2619 +CONECT 2621 2622 2619 2623 +CONECT 2622 2621 +CONECT 2623 2624 2621 2625 +CONECT 2624 2623 +CONECT 2625 2626 2623 2627 +CONECT 2626 2625 +CONECT 2627 2628 2625 2629 +CONECT 2628 2627 +CONECT 2629 2619 2627 2630 +CONECT 2630 2631 2632 2629 2633 +CONECT 2631 2630 +CONECT 2632 2630 +CONECT 2633 2634 2630 +CONECT 2634 2633 +CONECT 2636 2637 2638 2646 +CONECT 2637 2636 +CONECT 2638 2639 2636 2640 +CONECT 2639 2638 +CONECT 2640 2641 2638 2642 +CONECT 2641 2640 +CONECT 2642 2643 2640 2644 +CONECT 2643 2642 +CONECT 2644 2645 2642 2646 +CONECT 2645 2644 +CONECT 2646 2636 2644 2647 +CONECT 2647 2648 2649 2646 2650 +CONECT 2648 2647 +CONECT 2649 2647 +CONECT 2650 2651 2647 +CONECT 2651 2650 +CONECT 2653 2654 2655 2663 +CONECT 2654 2653 +CONECT 2655 2656 2653 2657 +CONECT 2656 2655 +CONECT 2657 2658 2655 2659 +CONECT 2658 2657 +CONECT 2659 2660 2657 2661 +CONECT 2660 2659 +CONECT 2661 2662 2659 2663 +CONECT 2662 2661 +CONECT 2663 2653 2661 2664 +CONECT 2664 2665 2666 2663 2667 +CONECT 2665 2664 +CONECT 2666 2664 +CONECT 2667 2668 2664 +CONECT 2668 2667 +CONECT 2670 2671 2672 2680 +CONECT 2671 2670 +CONECT 2672 2673 2670 2674 +CONECT 2673 2672 +CONECT 2674 2675 2672 2676 +CONECT 2675 2674 +CONECT 2676 2677 2674 2678 +CONECT 2677 2676 +CONECT 2678 2679 2676 2680 +CONECT 2679 2678 +CONECT 2680 2670 2678 2681 +CONECT 2681 2682 2683 2680 2684 +CONECT 2682 2681 +CONECT 2683 2681 +CONECT 2684 2685 2681 +CONECT 2685 2684 +CONECT 2687 2688 2689 2697 +CONECT 2688 2687 +CONECT 2689 2690 2687 2691 +CONECT 2690 2689 +CONECT 2691 2692 2689 2693 +CONECT 2692 2691 +CONECT 2693 2694 2691 2695 +CONECT 2694 2693 +CONECT 2695 2696 2693 2697 +CONECT 2696 2695 +CONECT 2697 2687 2695 2698 +CONECT 2698 2699 2700 2697 2701 +CONECT 2699 2698 +CONECT 2700 2698 +CONECT 2701 2702 2698 +CONECT 2702 2701 +CONECT 2704 2705 2706 2714 +CONECT 2705 2704 +CONECT 2706 2707 2704 2708 +CONECT 2707 2706 +CONECT 2708 2709 2706 2710 +CONECT 2709 2708 +CONECT 2710 2711 2708 2712 +CONECT 2711 2710 +CONECT 2712 2713 2710 2714 +CONECT 2713 2712 +CONECT 2714 2704 2712 2715 +CONECT 2715 2716 2717 2714 2718 +CONECT 2716 2715 +CONECT 2717 2715 +CONECT 2718 2719 2715 +CONECT 2719 2718 +CONECT 2721 2722 2723 2731 +CONECT 2722 2721 +CONECT 2723 2724 2721 2725 +CONECT 2724 2723 +CONECT 2725 2726 2723 2727 +CONECT 2726 2725 +CONECT 2727 2728 2725 2729 +CONECT 2728 2727 +CONECT 2729 2730 2727 2731 +CONECT 2730 2729 +CONECT 2731 2721 2729 2732 +CONECT 2732 2733 2734 2731 2735 +CONECT 2733 2732 +CONECT 2734 2732 +CONECT 2735 2736 2732 +CONECT 2736 2735 +CONECT 2738 2739 2740 2748 +CONECT 2739 2738 +CONECT 2740 2741 2738 2742 +CONECT 2741 2740 +CONECT 2742 2743 2740 2744 +CONECT 2743 2742 +CONECT 2744 2745 2742 2746 +CONECT 2745 2744 +CONECT 2746 2747 2744 2748 +CONECT 2747 2746 +CONECT 2748 2738 2746 2749 +CONECT 2749 2750 2751 2748 2752 +CONECT 2750 2749 +CONECT 2751 2749 +CONECT 2752 2753 2749 +CONECT 2753 2752 +CONECT 2755 2756 2757 2765 +CONECT 2756 2755 +CONECT 2757 2758 2755 2759 +CONECT 2758 2757 +CONECT 2759 2760 2757 2761 +CONECT 2760 2759 +CONECT 2761 2762 2759 2763 +CONECT 2762 2761 +CONECT 2763 2764 2761 2765 +CONECT 2764 2763 +CONECT 2765 2755 2763 2766 +CONECT 2766 2767 2768 2765 2769 +CONECT 2767 2766 +CONECT 2768 2766 +CONECT 2769 2770 2766 +CONECT 2770 2769 +CONECT 2772 2773 2774 2782 +CONECT 2773 2772 +CONECT 2774 2775 2772 2776 +CONECT 2775 2774 +CONECT 2776 2777 2774 2778 +CONECT 2777 2776 +CONECT 2778 2779 2776 2780 +CONECT 2779 2778 +CONECT 2780 2781 2778 2782 +CONECT 2781 2780 +CONECT 2782 2772 2780 2783 +CONECT 2783 2784 2785 2782 2786 +CONECT 2784 2783 +CONECT 2785 2783 +CONECT 2786 2787 2783 +CONECT 2787 2786 +CONECT 2789 2790 2791 2799 +CONECT 2790 2789 +CONECT 2791 2792 2789 2793 +CONECT 2792 2791 +CONECT 2793 2794 2791 2795 +CONECT 2794 2793 +CONECT 2795 2796 2793 2797 +CONECT 2796 2795 +CONECT 2797 2798 2795 2799 +CONECT 2798 2797 +CONECT 2799 2789 2797 2800 +CONECT 2800 2801 2802 2799 2803 +CONECT 2801 2800 +CONECT 2802 2800 +CONECT 2803 2804 2800 +CONECT 2804 2803 +CONECT 2806 2807 2808 2816 +CONECT 2807 2806 +CONECT 2808 2809 2806 2810 +CONECT 2809 2808 +CONECT 2810 2811 2808 2812 +CONECT 2811 2810 +CONECT 2812 2813 2810 2814 +CONECT 2813 2812 +CONECT 2814 2815 2812 2816 +CONECT 2815 2814 +CONECT 2816 2806 2814 2817 +CONECT 2817 2818 2819 2816 2820 +CONECT 2818 2817 +CONECT 2819 2817 +CONECT 2820 2821 2817 +CONECT 2821 2820 +CONECT 2823 2824 2825 2833 +CONECT 2824 2823 +CONECT 2825 2826 2823 2827 +CONECT 2826 2825 +CONECT 2827 2828 2825 2829 +CONECT 2828 2827 +CONECT 2829 2830 2827 2831 +CONECT 2830 2829 +CONECT 2831 2832 2829 2833 +CONECT 2832 2831 +CONECT 2833 2823 2831 2834 +CONECT 2834 2835 2836 2833 2837 +CONECT 2835 2834 +CONECT 2836 2834 +CONECT 2837 2838 2834 +CONECT 2838 2837 +CONECT 2840 2841 2842 2850 +CONECT 2841 2840 +CONECT 2842 2843 2840 2844 +CONECT 2843 2842 +CONECT 2844 2845 2842 2846 +CONECT 2845 2844 +CONECT 2846 2847 2844 2848 +CONECT 2847 2846 +CONECT 2848 2849 2846 2850 +CONECT 2849 2848 +CONECT 2850 2840 2848 2851 +CONECT 2851 2852 2853 2850 2854 +CONECT 2852 2851 +CONECT 2853 2851 +CONECT 2854 2855 2851 +CONECT 2855 2854 +CONECT 2857 2858 2859 2867 +CONECT 2858 2857 +CONECT 2859 2860 2857 2861 +CONECT 2860 2859 +CONECT 2861 2862 2859 2863 +CONECT 2862 2861 +CONECT 2863 2864 2861 2865 +CONECT 2864 2863 +CONECT 2865 2866 2863 2867 +CONECT 2866 2865 +CONECT 2867 2857 2865 2868 +CONECT 2868 2869 2870 2867 2871 +CONECT 2869 2868 +CONECT 2870 2868 +CONECT 2871 2872 2868 +CONECT 2872 2871 +CONECT 2874 2875 2876 2884 +CONECT 2875 2874 +CONECT 2876 2877 2874 2878 +CONECT 2877 2876 +CONECT 2878 2879 2876 2880 +CONECT 2879 2878 +CONECT 2880 2881 2878 2882 +CONECT 2881 2880 +CONECT 2882 2883 2880 2884 +CONECT 2883 2882 +CONECT 2884 2874 2882 2885 +CONECT 2885 2886 2887 2884 2888 +CONECT 2886 2885 +CONECT 2887 2885 +CONECT 2888 2889 2885 +CONECT 2889 2888 +CONECT 2891 2892 2893 2901 +CONECT 2892 2891 +CONECT 2893 2894 2891 2895 +CONECT 2894 2893 +CONECT 2895 2896 2893 2897 +CONECT 2896 2895 +CONECT 2897 2898 2895 2899 +CONECT 2898 2897 +CONECT 2899 2900 2897 2901 +CONECT 2900 2899 +CONECT 2901 2891 2899 2902 +CONECT 2902 2903 2904 2901 2905 +CONECT 2903 2902 +CONECT 2904 2902 +CONECT 2905 2906 2902 +CONECT 2906 2905 +CONECT 2908 2909 2910 2918 +CONECT 2909 2908 +CONECT 2910 2911 2908 2912 +CONECT 2911 2910 +CONECT 2912 2913 2910 2914 +CONECT 2913 2912 +CONECT 2914 2915 2912 2916 +CONECT 2915 2914 +CONECT 2916 2917 2914 2918 +CONECT 2917 2916 +CONECT 2918 2908 2916 2919 +CONECT 2919 2920 2921 2918 2922 +CONECT 2920 2919 +CONECT 2921 2919 +CONECT 2922 2923 2919 +CONECT 2923 2922 +CONECT 2925 2926 2927 2935 +CONECT 2926 2925 +CONECT 2927 2928 2925 2929 +CONECT 2928 2927 +CONECT 2929 2930 2927 2931 +CONECT 2930 2929 +CONECT 2931 2932 2929 2933 +CONECT 2932 2931 +CONECT 2933 2934 2931 2935 +CONECT 2934 2933 +CONECT 2935 2925 2933 2936 +CONECT 2936 2937 2938 2935 2939 +CONECT 2937 2936 +CONECT 2938 2936 +CONECT 2939 2940 2936 +CONECT 2940 2939 +CONECT 2942 2943 2944 2952 +CONECT 2943 2942 +CONECT 2944 2945 2942 2946 +CONECT 2945 2944 +CONECT 2946 2947 2944 2948 +CONECT 2947 2946 +CONECT 2948 2949 2946 2950 +CONECT 2949 2948 +CONECT 2950 2951 2948 2952 +CONECT 2951 2950 +CONECT 2952 2942 2950 2953 +CONECT 2953 2954 2955 2952 2956 +CONECT 2954 2953 +CONECT 2955 2953 +CONECT 2956 2957 2953 +CONECT 2957 2956 +CONECT 2959 2960 2961 2969 +CONECT 2960 2959 +CONECT 2961 2962 2959 2963 +CONECT 2962 2961 +CONECT 2963 2964 2961 2965 +CONECT 2964 2963 +CONECT 2965 2966 2963 2967 +CONECT 2966 2965 +CONECT 2967 2968 2965 2969 +CONECT 2968 2967 +CONECT 2969 2959 2967 2970 +CONECT 2970 2971 2972 2969 2973 +CONECT 2971 2970 +CONECT 2972 2970 +CONECT 2973 2974 2970 +CONECT 2974 2973 +CONECT 2976 2977 2978 2986 +CONECT 2977 2976 +CONECT 2978 2979 2976 2980 +CONECT 2979 2978 +CONECT 2980 2981 2978 2982 +CONECT 2981 2980 +CONECT 2982 2983 2980 2984 +CONECT 2983 2982 +CONECT 2984 2985 2982 2986 +CONECT 2985 2984 +CONECT 2986 2976 2984 2987 +CONECT 2987 2988 2989 2986 2990 +CONECT 2988 2987 +CONECT 2989 2987 +CONECT 2990 2991 2987 +CONECT 2991 2990 +CONECT 2993 2994 2995 3003 +CONECT 2994 2993 +CONECT 2995 2996 2993 2997 +CONECT 2996 2995 +CONECT 2997 2998 2995 2999 +CONECT 2998 2997 +CONECT 2999 3000 2997 3001 +CONECT 3000 2999 +CONECT 3001 3002 2999 3003 +CONECT 3002 3001 +CONECT 3003 2993 3001 3004 +CONECT 3004 3005 3006 3003 3007 +CONECT 3005 3004 +CONECT 3006 3004 +CONECT 3007 3008 3004 +CONECT 3008 3007 +CONECT 3010 3011 3012 3020 +CONECT 3011 3010 +CONECT 3012 3013 3010 3014 +CONECT 3013 3012 +CONECT 3014 3015 3012 3016 +CONECT 3015 3014 +CONECT 3016 3017 3014 3018 +CONECT 3017 3016 +CONECT 3018 3019 3016 3020 +CONECT 3019 3018 +CONECT 3020 3010 3018 3021 +CONECT 3021 3022 3023 3020 3024 +CONECT 3022 3021 +CONECT 3023 3021 +CONECT 3024 3025 3021 +CONECT 3025 3024 +CONECT 3027 3028 3029 3037 +CONECT 3028 3027 +CONECT 3029 3030 3027 3031 +CONECT 3030 3029 +CONECT 3031 3032 3029 3033 +CONECT 3032 3031 +CONECT 3033 3034 3031 3035 +CONECT 3034 3033 +CONECT 3035 3036 3033 3037 +CONECT 3036 3035 +CONECT 3037 3027 3035 3038 +CONECT 3038 3039 3040 3037 3041 +CONECT 3039 3038 +CONECT 3040 3038 +CONECT 3041 3042 3038 +CONECT 3042 3041 +CONECT 3044 3045 3046 3054 +CONECT 3045 3044 +CONECT 3046 3047 3044 3048 +CONECT 3047 3046 +CONECT 3048 3049 3046 3050 +CONECT 3049 3048 +CONECT 3050 3051 3048 3052 +CONECT 3051 3050 +CONECT 3052 3053 3050 3054 +CONECT 3053 3052 +CONECT 3054 3044 3052 3055 +CONECT 3055 3056 3057 3054 3058 +CONECT 3056 3055 +CONECT 3057 3055 +CONECT 3058 3059 3055 +CONECT 3059 3058 +CONECT 3061 3062 3063 3071 +CONECT 3062 3061 +CONECT 3063 3064 3061 3065 +CONECT 3064 3063 +CONECT 3065 3066 3063 3067 +CONECT 3066 3065 +CONECT 3067 3068 3065 3069 +CONECT 3068 3067 +CONECT 3069 3070 3067 3071 +CONECT 3070 3069 +CONECT 3071 3061 3069 3072 +CONECT 3072 3073 3074 3071 3075 +CONECT 3073 3072 +CONECT 3074 3072 +CONECT 3075 3076 3072 +CONECT 3076 3075 +CONECT 3078 3079 3080 3088 +CONECT 3079 3078 +CONECT 3080 3081 3078 3082 +CONECT 3081 3080 +CONECT 3082 3083 3080 3084 +CONECT 3083 3082 +CONECT 3084 3085 3082 3086 +CONECT 3085 3084 +CONECT 3086 3087 3084 3088 +CONECT 3087 3086 +CONECT 3088 3078 3086 3089 +CONECT 3089 3090 3091 3088 3092 +CONECT 3090 3089 +CONECT 3091 3089 +CONECT 3092 3093 3089 +CONECT 3093 3092 +CONECT 3095 3096 3097 3105 +CONECT 3096 3095 +CONECT 3097 3098 3095 3099 +CONECT 3098 3097 +CONECT 3099 3100 3097 3101 +CONECT 3100 3099 +CONECT 3101 3102 3099 3103 +CONECT 3102 3101 +CONECT 3103 3104 3101 3105 +CONECT 3104 3103 +CONECT 3105 3095 3103 3106 +CONECT 3106 3107 3108 3105 3109 +CONECT 3107 3106 +CONECT 3108 3106 +CONECT 3109 3110 3106 +CONECT 3110 3109 +CONECT 3112 3113 3114 3122 +CONECT 3113 3112 +CONECT 3114 3115 3112 3116 +CONECT 3115 3114 +CONECT 3116 3117 3114 3118 +CONECT 3117 3116 +CONECT 3118 3119 3116 3120 +CONECT 3119 3118 +CONECT 3120 3121 3118 3122 +CONECT 3121 3120 +CONECT 3122 3112 3120 3123 +CONECT 3123 3124 3125 3122 3126 +CONECT 3124 3123 +CONECT 3125 3123 +CONECT 3126 3127 3123 +CONECT 3127 3126 +CONECT 3129 3130 3131 3139 +CONECT 3130 3129 +CONECT 3131 3132 3129 3133 +CONECT 3132 3131 +CONECT 3133 3134 3131 3135 +CONECT 3134 3133 +CONECT 3135 3136 3133 3137 +CONECT 3136 3135 +CONECT 3137 3138 3135 3139 +CONECT 3138 3137 +CONECT 3139 3129 3137 3140 +CONECT 3140 3141 3142 3139 3143 +CONECT 3141 3140 +CONECT 3142 3140 +CONECT 3143 3144 3140 +CONECT 3144 3143 +CONECT 3146 3147 3148 3156 +CONECT 3147 3146 +CONECT 3148 3149 3146 3150 +CONECT 3149 3148 +CONECT 3150 3151 3148 3152 +CONECT 3151 3150 +CONECT 3152 3153 3150 3154 +CONECT 3153 3152 +CONECT 3154 3155 3152 3156 +CONECT 3155 3154 +CONECT 3156 3146 3154 3157 +CONECT 3157 3158 3159 3156 3160 +CONECT 3158 3157 +CONECT 3159 3157 +CONECT 3160 3161 3157 +CONECT 3161 3160 +CONECT 3163 3164 3165 3173 +CONECT 3164 3163 +CONECT 3165 3166 3163 3167 +CONECT 3166 3165 +CONECT 3167 3168 3165 3169 +CONECT 3168 3167 +CONECT 3169 3170 3167 3171 +CONECT 3170 3169 +CONECT 3171 3172 3169 3173 +CONECT 3172 3171 +CONECT 3173 3163 3171 3174 +CONECT 3174 3175 3176 3173 3177 +CONECT 3175 3174 +CONECT 3176 3174 +CONECT 3177 3178 3174 +CONECT 3178 3177 +CONECT 3180 3181 3182 3190 +CONECT 3181 3180 +CONECT 3182 3183 3180 3184 +CONECT 3183 3182 +CONECT 3184 3185 3182 3186 +CONECT 3185 3184 +CONECT 3186 3187 3184 3188 +CONECT 3187 3186 +CONECT 3188 3189 3186 3190 +CONECT 3189 3188 +CONECT 3190 3180 3188 3191 +CONECT 3191 3192 3193 3190 3194 +CONECT 3192 3191 +CONECT 3193 3191 +CONECT 3194 3195 3191 +CONECT 3195 3194 +CONECT 3197 3198 3199 3207 +CONECT 3198 3197 +CONECT 3199 3200 3197 3201 +CONECT 3200 3199 +CONECT 3201 3202 3199 3203 +CONECT 3202 3201 +CONECT 3203 3204 3201 3205 +CONECT 3204 3203 +CONECT 3205 3206 3203 3207 +CONECT 3206 3205 +CONECT 3207 3197 3205 3208 +CONECT 3208 3209 3210 3207 3211 +CONECT 3209 3208 +CONECT 3210 3208 +CONECT 3211 3212 3208 +CONECT 3212 3211 +CONECT 3214 3215 3216 3224 +CONECT 3215 3214 +CONECT 3216 3217 3214 3218 +CONECT 3217 3216 +CONECT 3218 3219 3216 3220 +CONECT 3219 3218 +CONECT 3220 3221 3218 3222 +CONECT 3221 3220 +CONECT 3222 3223 3220 3224 +CONECT 3223 3222 +CONECT 3224 3214 3222 3225 +CONECT 3225 3226 3227 3224 3228 +CONECT 3226 3225 +CONECT 3227 3225 +CONECT 3228 3229 3225 +CONECT 3229 3228 +CONECT 3231 3232 3233 3241 +CONECT 3232 3231 +CONECT 3233 3234 3231 3235 +CONECT 3234 3233 +CONECT 3235 3236 3233 3237 +CONECT 3236 3235 +CONECT 3237 3238 3235 3239 +CONECT 3238 3237 +CONECT 3239 3240 3237 3241 +CONECT 3240 3239 +CONECT 3241 3231 3239 3242 +CONECT 3242 3243 3244 3241 3245 +CONECT 3243 3242 +CONECT 3244 3242 +CONECT 3245 3246 3242 +CONECT 3246 3245 +CONECT 3248 3249 3250 3258 +CONECT 3249 3248 +CONECT 3250 3251 3248 3252 +CONECT 3251 3250 +CONECT 3252 3253 3250 3254 +CONECT 3253 3252 +CONECT 3254 3255 3252 3256 +CONECT 3255 3254 +CONECT 3256 3257 3254 3258 +CONECT 3257 3256 +CONECT 3258 3248 3256 3259 +CONECT 3259 3260 3261 3258 3262 +CONECT 3260 3259 +CONECT 3261 3259 +CONECT 3262 3263 3259 +CONECT 3263 3262 +CONECT 3265 3266 3267 3275 +CONECT 3266 3265 +CONECT 3267 3268 3265 3269 +CONECT 3268 3267 +CONECT 3269 3270 3267 3271 +CONECT 3270 3269 +CONECT 3271 3272 3269 3273 +CONECT 3272 3271 +CONECT 3273 3274 3271 3275 +CONECT 3274 3273 +CONECT 3275 3265 3273 3276 +CONECT 3276 3277 3278 3275 3279 +CONECT 3277 3276 +CONECT 3278 3276 +CONECT 3279 3280 3276 +CONECT 3280 3279 +CONECT 3282 3283 3284 3292 +CONECT 3283 3282 +CONECT 3284 3285 3282 3286 +CONECT 3285 3284 +CONECT 3286 3287 3284 3288 +CONECT 3287 3286 +CONECT 3288 3289 3286 3290 +CONECT 3289 3288 +CONECT 3290 3291 3288 3292 +CONECT 3291 3290 +CONECT 3292 3282 3290 3293 +CONECT 3293 3294 3295 3292 3296 +CONECT 3294 3293 +CONECT 3295 3293 +CONECT 3296 3297 3293 +CONECT 3297 3296 +CONECT 3299 3300 3301 3309 +CONECT 3300 3299 +CONECT 3301 3302 3299 3303 +CONECT 3302 3301 +CONECT 3303 3304 3301 3305 +CONECT 3304 3303 +CONECT 3305 3306 3303 3307 +CONECT 3306 3305 +CONECT 3307 3308 3305 3309 +CONECT 3308 3307 +CONECT 3309 3299 3307 3310 +CONECT 3310 3311 3312 3309 3313 +CONECT 3311 3310 +CONECT 3312 3310 +CONECT 3313 3314 3310 +CONECT 3314 3313 +CONECT 3316 3317 3318 3326 +CONECT 3317 3316 +CONECT 3318 3319 3316 3320 +CONECT 3319 3318 +CONECT 3320 3321 3318 3322 +CONECT 3321 3320 +CONECT 3322 3323 3320 3324 +CONECT 3323 3322 +CONECT 3324 3325 3322 3326 +CONECT 3325 3324 +CONECT 3326 3316 3324 3327 +CONECT 3327 3328 3329 3326 3330 +CONECT 3328 3327 +CONECT 3329 3327 +CONECT 3330 3331 3327 +CONECT 3331 3330 +CONECT 3333 3334 3335 3343 +CONECT 3334 3333 +CONECT 3335 3336 3333 3337 +CONECT 3336 3335 +CONECT 3337 3338 3335 3339 +CONECT 3338 3337 +CONECT 3339 3340 3337 3341 +CONECT 3340 3339 +CONECT 3341 3342 3339 3343 +CONECT 3342 3341 +CONECT 3343 3333 3341 3344 +CONECT 3344 3345 3346 3343 3347 +CONECT 3345 3344 +CONECT 3346 3344 +CONECT 3347 3348 3344 +CONECT 3348 3347 +CONECT 3350 3351 3352 3360 +CONECT 3351 3350 +CONECT 3352 3353 3350 3354 +CONECT 3353 3352 +CONECT 3354 3355 3352 3356 +CONECT 3355 3354 +CONECT 3356 3357 3354 3358 +CONECT 3357 3356 +CONECT 3358 3359 3356 3360 +CONECT 3359 3358 +CONECT 3360 3350 3358 3361 +CONECT 3361 3362 3363 3360 3364 +CONECT 3362 3361 +CONECT 3363 3361 +CONECT 3364 3365 3361 +CONECT 3365 3364 +CONECT 3367 3368 3369 3377 +CONECT 3368 3367 +CONECT 3369 3370 3367 3371 +CONECT 3370 3369 +CONECT 3371 3372 3369 3373 +CONECT 3372 3371 +CONECT 3373 3374 3371 3375 +CONECT 3374 3373 +CONECT 3375 3376 3373 3377 +CONECT 3376 3375 +CONECT 3377 3367 3375 3378 +CONECT 3378 3379 3380 3377 3381 +CONECT 3379 3378 +CONECT 3380 3378 +CONECT 3381 3382 3378 +CONECT 3382 3381 +CONECT 3384 3385 3386 3394 +CONECT 3385 3384 +CONECT 3386 3387 3384 3388 +CONECT 3387 3386 +CONECT 3388 3389 3386 3390 +CONECT 3389 3388 +CONECT 3390 3391 3388 3392 +CONECT 3391 3390 +CONECT 3392 3393 3390 3394 +CONECT 3393 3392 +CONECT 3394 3384 3392 3395 +CONECT 3395 3396 3397 3394 3398 +CONECT 3396 3395 +CONECT 3397 3395 +CONECT 3398 3399 3395 +CONECT 3399 3398 +CONECT 3401 3402 3403 3411 +CONECT 3402 3401 +CONECT 3403 3404 3401 3405 +CONECT 3404 3403 +CONECT 3405 3406 3403 3407 +CONECT 3406 3405 +CONECT 3407 3408 3405 3409 +CONECT 3408 3407 +CONECT 3409 3410 3407 3411 +CONECT 3410 3409 +CONECT 3411 3401 3409 3412 +CONECT 3412 3413 3414 3411 3415 +CONECT 3413 3412 +CONECT 3414 3412 +CONECT 3415 3416 3412 +CONECT 3416 3415 +CONECT 3418 3419 3420 3428 +CONECT 3419 3418 +CONECT 3420 3421 3418 3422 +CONECT 3421 3420 +CONECT 3422 3423 3420 3424 +CONECT 3423 3422 +CONECT 3424 3425 3422 3426 +CONECT 3425 3424 +CONECT 3426 3427 3424 3428 +CONECT 3427 3426 +CONECT 3428 3418 3426 3429 +CONECT 3429 3430 3431 3428 3432 +CONECT 3430 3429 +CONECT 3431 3429 +CONECT 3432 3433 3429 +CONECT 3433 3432 +CONECT 3435 3436 3437 3445 +CONECT 3436 3435 +CONECT 3437 3438 3435 3439 +CONECT 3438 3437 +CONECT 3439 3440 3437 3441 +CONECT 3440 3439 +CONECT 3441 3442 3439 3443 +CONECT 3442 3441 +CONECT 3443 3444 3441 3445 +CONECT 3444 3443 +CONECT 3445 3435 3443 3446 +CONECT 3446 3447 3448 3445 3449 +CONECT 3447 3446 +CONECT 3448 3446 +CONECT 3449 3450 3446 +CONECT 3450 3449 +CONECT 3452 3453 3454 3462 +CONECT 3453 3452 +CONECT 3454 3455 3452 3456 +CONECT 3455 3454 +CONECT 3456 3457 3454 3458 +CONECT 3457 3456 +CONECT 3458 3459 3456 3460 +CONECT 3459 3458 +CONECT 3460 3461 3458 3462 +CONECT 3461 3460 +CONECT 3462 3452 3460 3463 +CONECT 3463 3464 3465 3462 3466 +CONECT 3464 3463 +CONECT 3465 3463 +CONECT 3466 3467 3463 +CONECT 3467 3466 +CONECT 3469 3470 3471 3479 +CONECT 3470 3469 +CONECT 3471 3472 3469 3473 +CONECT 3472 3471 +CONECT 3473 3474 3471 3475 +CONECT 3474 3473 +CONECT 3475 3476 3473 3477 +CONECT 3476 3475 +CONECT 3477 3478 3475 3479 +CONECT 3478 3477 +CONECT 3479 3469 3477 3480 +CONECT 3480 3481 3482 3479 3483 +CONECT 3481 3480 +CONECT 3482 3480 +CONECT 3483 3484 3480 +CONECT 3484 3483 +CONECT 3486 3487 3488 3496 +CONECT 3487 3486 +CONECT 3488 3489 3486 3490 +CONECT 3489 3488 +CONECT 3490 3491 3488 3492 +CONECT 3491 3490 +CONECT 3492 3493 3490 3494 +CONECT 3493 3492 +CONECT 3494 3495 3492 3496 +CONECT 3495 3494 +CONECT 3496 3486 3494 3497 +CONECT 3497 3498 3499 3496 3500 +CONECT 3498 3497 +CONECT 3499 3497 +CONECT 3500 3501 3497 +CONECT 3501 3500 +CONECT 3503 3504 3505 3513 +CONECT 3504 3503 +CONECT 3505 3506 3503 3507 +CONECT 3506 3505 +CONECT 3507 3508 3505 3509 +CONECT 3508 3507 +CONECT 3509 3510 3507 3511 +CONECT 3510 3509 +CONECT 3511 3512 3509 3513 +CONECT 3512 3511 +CONECT 3513 3503 3511 3514 +CONECT 3514 3515 3516 3513 3517 +CONECT 3515 3514 +CONECT 3516 3514 +CONECT 3517 3518 3514 +CONECT 3518 3517 +CONECT 3520 3521 3522 3530 +CONECT 3521 3520 +CONECT 3522 3523 3520 3524 +CONECT 3523 3522 +CONECT 3524 3525 3522 3526 +CONECT 3525 3524 +CONECT 3526 3527 3524 3528 +CONECT 3527 3526 +CONECT 3528 3529 3526 3530 +CONECT 3529 3528 +CONECT 3530 3520 3528 3531 +CONECT 3531 3532 3533 3530 3534 +CONECT 3532 3531 +CONECT 3533 3531 +CONECT 3534 3535 3531 +CONECT 3535 3534 +CONECT 3537 3538 3539 3547 +CONECT 3538 3537 +CONECT 3539 3540 3537 3541 +CONECT 3540 3539 +CONECT 3541 3542 3539 3543 +CONECT 3542 3541 +CONECT 3543 3544 3541 3545 +CONECT 3544 3543 +CONECT 3545 3546 3543 3547 +CONECT 3546 3545 +CONECT 3547 3537 3545 3548 +CONECT 3548 3549 3550 3547 3551 +CONECT 3549 3548 +CONECT 3550 3548 +CONECT 3551 3552 3548 +CONECT 3552 3551 +CONECT 3554 3555 3556 3564 +CONECT 3555 3554 +CONECT 3556 3557 3554 3558 +CONECT 3557 3556 +CONECT 3558 3559 3556 3560 +CONECT 3559 3558 +CONECT 3560 3561 3558 3562 +CONECT 3561 3560 +CONECT 3562 3563 3560 3564 +CONECT 3563 3562 +CONECT 3564 3554 3562 3565 +CONECT 3565 3566 3567 3564 3568 +CONECT 3566 3565 +CONECT 3567 3565 +CONECT 3568 3569 3565 +CONECT 3569 3568 +CONECT 3571 3572 3573 3581 +CONECT 3572 3571 +CONECT 3573 3574 3571 3575 +CONECT 3574 3573 +CONECT 3575 3576 3573 3577 +CONECT 3576 3575 +CONECT 3577 3578 3575 3579 +CONECT 3578 3577 +CONECT 3579 3580 3577 3581 +CONECT 3580 3579 +CONECT 3581 3571 3579 3582 +CONECT 3582 3583 3584 3581 3585 +CONECT 3583 3582 +CONECT 3584 3582 +CONECT 3585 3586 3582 +CONECT 3586 3585 +CONECT 3588 3589 3590 3598 +CONECT 3589 3588 +CONECT 3590 3591 3588 3592 +CONECT 3591 3590 +CONECT 3592 3593 3590 3594 +CONECT 3593 3592 +CONECT 3594 3595 3592 3596 +CONECT 3595 3594 +CONECT 3596 3597 3594 3598 +CONECT 3597 3596 +CONECT 3598 3588 3596 3599 +CONECT 3599 3600 3601 3598 3602 +CONECT 3600 3599 +CONECT 3601 3599 +CONECT 3602 3603 3599 +CONECT 3603 3602 +CONECT 3605 3606 3607 3615 +CONECT 3606 3605 +CONECT 3607 3608 3605 3609 +CONECT 3608 3607 +CONECT 3609 3610 3607 3611 +CONECT 3610 3609 +CONECT 3611 3612 3609 3613 +CONECT 3612 3611 +CONECT 3613 3614 3611 3615 +CONECT 3614 3613 +CONECT 3615 3605 3613 3616 +CONECT 3616 3617 3618 3615 3619 +CONECT 3617 3616 +CONECT 3618 3616 +CONECT 3619 3620 3616 +CONECT 3620 3619 +CONECT 3622 3623 3624 3632 +CONECT 3623 3622 +CONECT 3624 3625 3622 3626 +CONECT 3625 3624 +CONECT 3626 3627 3624 3628 +CONECT 3627 3626 +CONECT 3628 3629 3626 3630 +CONECT 3629 3628 +CONECT 3630 3631 3628 3632 +CONECT 3631 3630 +CONECT 3632 3622 3630 3633 +CONECT 3633 3634 3635 3632 3636 +CONECT 3634 3633 +CONECT 3635 3633 +CONECT 3636 3637 3633 +CONECT 3637 3636 +CONECT 3639 3640 3641 3649 +CONECT 3640 3639 +CONECT 3641 3642 3639 3643 +CONECT 3642 3641 +CONECT 3643 3644 3641 3645 +CONECT 3644 3643 +CONECT 3645 3646 3643 3647 +CONECT 3646 3645 +CONECT 3647 3648 3645 3649 +CONECT 3648 3647 +CONECT 3649 3639 3647 3650 +CONECT 3650 3651 3652 3649 3653 +CONECT 3651 3650 +CONECT 3652 3650 +CONECT 3653 3654 3650 +CONECT 3654 3653 +CONECT 3656 3657 3658 3666 +CONECT 3657 3656 +CONECT 3658 3659 3656 3660 +CONECT 3659 3658 +CONECT 3660 3661 3658 3662 +CONECT 3661 3660 +CONECT 3662 3663 3660 3664 +CONECT 3663 3662 +CONECT 3664 3665 3662 3666 +CONECT 3665 3664 +CONECT 3666 3656 3664 3667 +CONECT 3667 3668 3669 3666 3670 +CONECT 3668 3667 +CONECT 3669 3667 +CONECT 3670 3671 3667 +CONECT 3671 3670 +CONECT 3673 3674 3675 3683 +CONECT 3674 3673 +CONECT 3675 3676 3673 3677 +CONECT 3676 3675 +CONECT 3677 3678 3675 3679 +CONECT 3678 3677 +CONECT 3679 3680 3677 3681 +CONECT 3680 3679 +CONECT 3681 3682 3679 3683 +CONECT 3682 3681 +CONECT 3683 3673 3681 3684 +CONECT 3684 3685 3686 3683 3687 +CONECT 3685 3684 +CONECT 3686 3684 +CONECT 3687 3688 3684 +CONECT 3688 3687 +CONECT 3690 3691 3692 3700 +CONECT 3691 3690 +CONECT 3692 3693 3690 3694 +CONECT 3693 3692 +CONECT 3694 3695 3692 3696 +CONECT 3695 3694 +CONECT 3696 3697 3694 3698 +CONECT 3697 3696 +CONECT 3698 3699 3696 3700 +CONECT 3699 3698 +CONECT 3700 3690 3698 3701 +CONECT 3701 3702 3703 3700 3704 +CONECT 3702 3701 +CONECT 3703 3701 +CONECT 3704 3705 3701 +CONECT 3705 3704 +CONECT 3707 3708 3709 3717 +CONECT 3708 3707 +CONECT 3709 3710 3707 3711 +CONECT 3710 3709 +CONECT 3711 3712 3709 3713 +CONECT 3712 3711 +CONECT 3713 3714 3711 3715 +CONECT 3714 3713 +CONECT 3715 3716 3713 3717 +CONECT 3716 3715 +CONECT 3717 3707 3715 3718 +CONECT 3718 3719 3720 3717 3721 +CONECT 3719 3718 +CONECT 3720 3718 +CONECT 3721 3722 3718 +CONECT 3722 3721 +CONECT 3724 3725 3726 3734 +CONECT 3725 3724 +CONECT 3726 3727 3724 3728 +CONECT 3727 3726 +CONECT 3728 3729 3726 3730 +CONECT 3729 3728 +CONECT 3730 3731 3728 3732 +CONECT 3731 3730 +CONECT 3732 3733 3730 3734 +CONECT 3733 3732 +CONECT 3734 3724 3732 3735 +CONECT 3735 3736 3737 3734 3738 +CONECT 3736 3735 +CONECT 3737 3735 +CONECT 3738 3739 3735 +CONECT 3739 3738 +CONECT 3741 3742 3743 3751 +CONECT 3742 3741 +CONECT 3743 3744 3741 3745 +CONECT 3744 3743 +CONECT 3745 3746 3743 3747 +CONECT 3746 3745 +CONECT 3747 3748 3745 3749 +CONECT 3748 3747 +CONECT 3749 3750 3747 3751 +CONECT 3750 3749 +CONECT 3751 3741 3749 3752 +CONECT 3752 3753 3754 3751 3755 +CONECT 3753 3752 +CONECT 3754 3752 +CONECT 3755 3756 3752 +CONECT 3756 3755 +CONECT 3758 3759 3760 3768 +CONECT 3759 3758 +CONECT 3760 3761 3758 3762 +CONECT 3761 3760 +CONECT 3762 3763 3760 3764 +CONECT 3763 3762 +CONECT 3764 3765 3762 3766 +CONECT 3765 3764 +CONECT 3766 3767 3764 3768 +CONECT 3767 3766 +CONECT 3768 3758 3766 3769 +CONECT 3769 3770 3771 3768 3772 +CONECT 3770 3769 +CONECT 3771 3769 +CONECT 3772 3773 3769 +CONECT 3773 3772 +CONECT 3775 3776 3777 3785 +CONECT 3776 3775 +CONECT 3777 3778 3775 3779 +CONECT 3778 3777 +CONECT 3779 3780 3777 3781 +CONECT 3780 3779 +CONECT 3781 3782 3779 3783 +CONECT 3782 3781 +CONECT 3783 3784 3781 3785 +CONECT 3784 3783 +CONECT 3785 3775 3783 3786 +CONECT 3786 3787 3788 3785 3789 +CONECT 3787 3786 +CONECT 3788 3786 +CONECT 3789 3790 3786 +CONECT 3790 3789 +CONECT 3792 3793 3794 3802 +CONECT 3793 3792 +CONECT 3794 3795 3792 3796 +CONECT 3795 3794 +CONECT 3796 3797 3794 3798 +CONECT 3797 3796 +CONECT 3798 3799 3796 3800 +CONECT 3799 3798 +CONECT 3800 3801 3798 3802 +CONECT 3801 3800 +CONECT 3802 3792 3800 3803 +CONECT 3803 3804 3805 3802 3806 +CONECT 3804 3803 +CONECT 3805 3803 +CONECT 3806 3807 3803 +CONECT 3807 3806 +CONECT 3809 3810 3811 3819 +CONECT 3810 3809 +CONECT 3811 3812 3809 3813 +CONECT 3812 3811 +CONECT 3813 3814 3811 3815 +CONECT 3814 3813 +CONECT 3815 3816 3813 3817 +CONECT 3816 3815 +CONECT 3817 3818 3815 3819 +CONECT 3818 3817 +CONECT 3819 3809 3817 3820 +CONECT 3820 3821 3822 3819 3823 +CONECT 3821 3820 +CONECT 3822 3820 +CONECT 3823 3824 3820 +CONECT 3824 3823 +CONECT 3826 3827 3828 3836 +CONECT 3827 3826 +CONECT 3828 3829 3826 3830 +CONECT 3829 3828 +CONECT 3830 3831 3828 3832 +CONECT 3831 3830 +CONECT 3832 3833 3830 3834 +CONECT 3833 3832 +CONECT 3834 3835 3832 3836 +CONECT 3835 3834 +CONECT 3836 3826 3834 3837 +CONECT 3837 3838 3839 3836 3840 +CONECT 3838 3837 +CONECT 3839 3837 +CONECT 3840 3841 3837 +CONECT 3841 3840 +CONECT 3843 3844 3845 3853 +CONECT 3844 3843 +CONECT 3845 3846 3843 3847 +CONECT 3846 3845 +CONECT 3847 3848 3845 3849 +CONECT 3848 3847 +CONECT 3849 3850 3847 3851 +CONECT 3850 3849 +CONECT 3851 3852 3849 3853 +CONECT 3852 3851 +CONECT 3853 3843 3851 3854 +CONECT 3854 3855 3856 3853 3857 +CONECT 3855 3854 +CONECT 3856 3854 +CONECT 3857 3858 3854 +CONECT 3858 3857 +CONECT 3860 3861 3862 3870 +CONECT 3861 3860 +CONECT 3862 3863 3860 3864 +CONECT 3863 3862 +CONECT 3864 3865 3862 3866 +CONECT 3865 3864 +CONECT 3866 3867 3864 3868 +CONECT 3867 3866 +CONECT 3868 3869 3866 3870 +CONECT 3869 3868 +CONECT 3870 3860 3868 3871 +CONECT 3871 3872 3873 3870 3874 +CONECT 3872 3871 +CONECT 3873 3871 +CONECT 3874 3875 3871 +CONECT 3875 3874 +CONECT 3877 3878 3879 3887 +CONECT 3878 3877 +CONECT 3879 3880 3877 3881 +CONECT 3880 3879 +CONECT 3881 3882 3879 3883 +CONECT 3882 3881 +CONECT 3883 3884 3881 3885 +CONECT 3884 3883 +CONECT 3885 3886 3883 3887 +CONECT 3886 3885 +CONECT 3887 3877 3885 3888 +CONECT 3888 3889 3890 3887 3891 +CONECT 3889 3888 +CONECT 3890 3888 +CONECT 3891 3892 3888 +CONECT 3892 3891 +CONECT 3894 3895 3896 3904 +CONECT 3895 3894 +CONECT 3896 3897 3894 3898 +CONECT 3897 3896 +CONECT 3898 3899 3896 3900 +CONECT 3899 3898 +CONECT 3900 3901 3898 3902 +CONECT 3901 3900 +CONECT 3902 3903 3900 3904 +CONECT 3903 3902 +CONECT 3904 3894 3902 3905 +CONECT 3905 3906 3907 3904 3908 +CONECT 3906 3905 +CONECT 3907 3905 +CONECT 3908 3909 3905 +CONECT 3909 3908 +CONECT 3911 3912 3913 3921 +CONECT 3912 3911 +CONECT 3913 3914 3911 3915 +CONECT 3914 3913 +CONECT 3915 3916 3913 3917 +CONECT 3916 3915 +CONECT 3917 3918 3915 3919 +CONECT 3918 3917 +CONECT 3919 3920 3917 3921 +CONECT 3920 3919 +CONECT 3921 3911 3919 3922 +CONECT 3922 3923 3924 3921 3925 +CONECT 3923 3922 +CONECT 3924 3922 +CONECT 3925 3926 3922 +CONECT 3926 3925 +CONECT 3928 3929 3930 3938 +CONECT 3929 3928 +CONECT 3930 3931 3928 3932 +CONECT 3931 3930 +CONECT 3932 3933 3930 3934 +CONECT 3933 3932 +CONECT 3934 3935 3932 3936 +CONECT 3935 3934 +CONECT 3936 3937 3934 3938 +CONECT 3937 3936 +CONECT 3938 3928 3936 3939 +CONECT 3939 3940 3941 3938 3942 +CONECT 3940 3939 +CONECT 3941 3939 +CONECT 3942 3943 3939 +CONECT 3943 3942 +CONECT 3945 3946 3947 3955 +CONECT 3946 3945 +CONECT 3947 3948 3945 3949 +CONECT 3948 3947 +CONECT 3949 3950 3947 3951 +CONECT 3950 3949 +CONECT 3951 3952 3949 3953 +CONECT 3952 3951 +CONECT 3953 3954 3951 3955 +CONECT 3954 3953 +CONECT 3955 3945 3953 3956 +CONECT 3956 3957 3958 3955 3959 +CONECT 3957 3956 +CONECT 3958 3956 +CONECT 3959 3960 3956 +CONECT 3960 3959 +CONECT 3962 3963 3964 3972 +CONECT 3963 3962 +CONECT 3964 3965 3962 3966 +CONECT 3965 3964 +CONECT 3966 3967 3964 3968 +CONECT 3967 3966 +CONECT 3968 3969 3966 3970 +CONECT 3969 3968 +CONECT 3970 3971 3968 3972 +CONECT 3971 3970 +CONECT 3972 3962 3970 3973 +CONECT 3973 3974 3975 3972 3976 +CONECT 3974 3973 +CONECT 3975 3973 +CONECT 3976 3977 3973 +CONECT 3977 3976 +CONECT 3979 3980 3981 3989 +CONECT 3980 3979 +CONECT 3981 3982 3979 3983 +CONECT 3982 3981 +CONECT 3983 3984 3981 3985 +CONECT 3984 3983 +CONECT 3985 3986 3983 3987 +CONECT 3986 3985 +CONECT 3987 3988 3985 3989 +CONECT 3988 3987 +CONECT 3989 3979 3987 3990 +CONECT 3990 3991 3992 3989 3993 +CONECT 3991 3990 +CONECT 3992 3990 +CONECT 3993 3994 3990 +CONECT 3994 3993 +CONECT 3996 3997 3998 4006 +CONECT 3997 3996 +CONECT 3998 3999 3996 4000 +CONECT 3999 3998 +CONECT 4000 4001 3998 4002 +CONECT 4001 4000 +CONECT 4002 4003 4000 4004 +CONECT 4003 4002 +CONECT 4004 4005 4002 4006 +CONECT 4005 4004 +CONECT 4006 3996 4004 4007 +CONECT 4007 4008 4009 4006 4010 +CONECT 4008 4007 +CONECT 4009 4007 +CONECT 4010 4011 4007 +CONECT 4011 4010 +CONECT 4013 4014 4015 4023 +CONECT 4014 4013 +CONECT 4015 4016 4013 4017 +CONECT 4016 4015 +CONECT 4017 4018 4015 4019 +CONECT 4018 4017 +CONECT 4019 4020 4017 4021 +CONECT 4020 4019 +CONECT 4021 4022 4019 4023 +CONECT 4022 4021 +CONECT 4023 4013 4021 4024 +CONECT 4024 4025 4026 4023 4027 +CONECT 4025 4024 +CONECT 4026 4024 +CONECT 4027 4028 4024 +CONECT 4028 4027 +CONECT 4030 4031 4032 4040 +CONECT 4031 4030 +CONECT 4032 4033 4030 4034 +CONECT 4033 4032 +CONECT 4034 4035 4032 4036 +CONECT 4035 4034 +CONECT 4036 4037 4034 4038 +CONECT 4037 4036 +CONECT 4038 4039 4036 4040 +CONECT 4039 4038 +CONECT 4040 4030 4038 4041 +CONECT 4041 4042 4043 4040 4044 +CONECT 4042 4041 +CONECT 4043 4041 +CONECT 4044 4045 4041 +CONECT 4045 4044 +CONECT 4047 4048 4049 4057 +CONECT 4048 4047 +CONECT 4049 4050 4047 4051 +CONECT 4050 4049 +CONECT 4051 4052 4049 4053 +CONECT 4052 4051 +CONECT 4053 4054 4051 4055 +CONECT 4054 4053 +CONECT 4055 4056 4053 4057 +CONECT 4056 4055 +CONECT 4057 4047 4055 4058 +CONECT 4058 4059 4060 4057 4061 +CONECT 4059 4058 +CONECT 4060 4058 +CONECT 4061 4062 4058 +CONECT 4062 4061 +CONECT 4064 4065 4066 4074 +CONECT 4065 4064 +CONECT 4066 4067 4064 4068 +CONECT 4067 4066 +CONECT 4068 4069 4066 4070 +CONECT 4069 4068 +CONECT 4070 4071 4068 4072 +CONECT 4071 4070 +CONECT 4072 4073 4070 4074 +CONECT 4073 4072 +CONECT 4074 4064 4072 4075 +CONECT 4075 4076 4077 4074 4078 +CONECT 4076 4075 +CONECT 4077 4075 +CONECT 4078 4079 4075 +CONECT 4079 4078 +CONECT 4081 4082 4083 4091 +CONECT 4082 4081 +CONECT 4083 4084 4081 4085 +CONECT 4084 4083 +CONECT 4085 4086 4083 4087 +CONECT 4086 4085 +CONECT 4087 4088 4085 4089 +CONECT 4088 4087 +CONECT 4089 4090 4087 4091 +CONECT 4090 4089 +CONECT 4091 4081 4089 4092 +CONECT 4092 4093 4094 4091 4095 +CONECT 4093 4092 +CONECT 4094 4092 +CONECT 4095 4096 4092 +CONECT 4096 4095 +CONECT 4098 4099 4100 4108 +CONECT 4099 4098 +CONECT 4100 4101 4098 4102 +CONECT 4101 4100 +CONECT 4102 4103 4100 4104 +CONECT 4103 4102 +CONECT 4104 4105 4102 4106 +CONECT 4105 4104 +CONECT 4106 4107 4104 4108 +CONECT 4107 4106 +CONECT 4108 4098 4106 4109 +CONECT 4109 4110 4111 4108 4112 +CONECT 4110 4109 +CONECT 4111 4109 +CONECT 4112 4113 4109 +CONECT 4113 4112 +CONECT 4115 4116 4117 4125 +CONECT 4116 4115 +CONECT 4117 4118 4115 4119 +CONECT 4118 4117 +CONECT 4119 4120 4117 4121 +CONECT 4120 4119 +CONECT 4121 4122 4119 4123 +CONECT 4122 4121 +CONECT 4123 4124 4121 4125 +CONECT 4124 4123 +CONECT 4125 4115 4123 4126 +CONECT 4126 4127 4128 4125 4129 +CONECT 4127 4126 +CONECT 4128 4126 +CONECT 4129 4130 4126 +CONECT 4130 4129 +CONECT 4132 4133 4134 4142 +CONECT 4133 4132 +CONECT 4134 4135 4132 4136 +CONECT 4135 4134 +CONECT 4136 4137 4134 4138 +CONECT 4137 4136 +CONECT 4138 4139 4136 4140 +CONECT 4139 4138 +CONECT 4140 4141 4138 4142 +CONECT 4141 4140 +CONECT 4142 4132 4140 4143 +CONECT 4143 4144 4145 4142 4146 +CONECT 4144 4143 +CONECT 4145 4143 +CONECT 4146 4147 4143 +CONECT 4147 4146 +CONECT 4149 4150 4151 4159 +CONECT 4150 4149 +CONECT 4151 4152 4149 4153 +CONECT 4152 4151 +CONECT 4153 4154 4151 4155 +CONECT 4154 4153 +CONECT 4155 4156 4153 4157 +CONECT 4156 4155 +CONECT 4157 4158 4155 4159 +CONECT 4158 4157 +CONECT 4159 4149 4157 4160 +CONECT 4160 4161 4162 4159 4163 +CONECT 4161 4160 +CONECT 4162 4160 +CONECT 4163 4164 4160 +CONECT 4164 4163 +CONECT 4166 4167 4168 4176 +CONECT 4167 4166 +CONECT 4168 4169 4166 4170 +CONECT 4169 4168 +CONECT 4170 4171 4168 4172 +CONECT 4171 4170 +CONECT 4172 4173 4170 4174 +CONECT 4173 4172 +CONECT 4174 4175 4172 4176 +CONECT 4175 4174 +CONECT 4176 4166 4174 4177 +CONECT 4177 4178 4179 4176 4180 +CONECT 4178 4177 +CONECT 4179 4177 +CONECT 4180 4181 4177 +CONECT 4181 4180 +CONECT 4183 4184 4185 4193 +CONECT 4184 4183 +CONECT 4185 4186 4183 4187 +CONECT 4186 4185 +CONECT 4187 4188 4185 4189 +CONECT 4188 4187 +CONECT 4189 4190 4187 4191 +CONECT 4190 4189 +CONECT 4191 4192 4189 4193 +CONECT 4192 4191 +CONECT 4193 4183 4191 4194 +CONECT 4194 4195 4196 4193 4197 +CONECT 4195 4194 +CONECT 4196 4194 +CONECT 4197 4198 4194 +CONECT 4198 4197 +CONECT 4200 4201 4202 4210 +CONECT 4201 4200 +CONECT 4202 4203 4200 4204 +CONECT 4203 4202 +CONECT 4204 4205 4202 4206 +CONECT 4205 4204 +CONECT 4206 4207 4204 4208 +CONECT 4207 4206 +CONECT 4208 4209 4206 4210 +CONECT 4209 4208 +CONECT 4210 4200 4208 4211 +CONECT 4211 4212 4213 4210 4214 +CONECT 4212 4211 +CONECT 4213 4211 +CONECT 4214 4215 4211 +CONECT 4215 4214 +CONECT 4217 4218 4219 4227 +CONECT 4218 4217 +CONECT 4219 4220 4217 4221 +CONECT 4220 4219 +CONECT 4221 4222 4219 4223 +CONECT 4222 4221 +CONECT 4223 4224 4221 4225 +CONECT 4224 4223 +CONECT 4225 4226 4223 4227 +CONECT 4226 4225 +CONECT 4227 4217 4225 4228 +CONECT 4228 4229 4230 4227 4231 +CONECT 4229 4228 +CONECT 4230 4228 +CONECT 4231 4232 4228 +CONECT 4232 4231 +CONECT 4234 4235 4236 4244 +CONECT 4235 4234 +CONECT 4236 4237 4234 4238 +CONECT 4237 4236 +CONECT 4238 4239 4236 4240 +CONECT 4239 4238 +CONECT 4240 4241 4238 4242 +CONECT 4241 4240 +CONECT 4242 4243 4240 4244 +CONECT 4243 4242 +CONECT 4244 4234 4242 4245 +CONECT 4245 4246 4247 4244 4248 +CONECT 4246 4245 +CONECT 4247 4245 +CONECT 4248 4249 4245 +CONECT 4249 4248 +CONECT 4251 4252 4253 4261 +CONECT 4252 4251 +CONECT 4253 4254 4251 4255 +CONECT 4254 4253 +CONECT 4255 4256 4253 4257 +CONECT 4256 4255 +CONECT 4257 4258 4255 4259 +CONECT 4258 4257 +CONECT 4259 4260 4257 4261 +CONECT 4260 4259 +CONECT 4261 4251 4259 4262 +CONECT 4262 4263 4264 4261 4265 +CONECT 4263 4262 +CONECT 4264 4262 +CONECT 4265 4266 4262 +CONECT 4266 4265 +CONECT 4268 4269 4270 4278 +CONECT 4269 4268 +CONECT 4270 4271 4268 4272 +CONECT 4271 4270 +CONECT 4272 4273 4270 4274 +CONECT 4273 4272 +CONECT 4274 4275 4272 4276 +CONECT 4275 4274 +CONECT 4276 4277 4274 4278 +CONECT 4277 4276 +CONECT 4278 4268 4276 4279 +CONECT 4279 4280 4281 4278 4282 +CONECT 4280 4279 +CONECT 4281 4279 +CONECT 4282 4283 4279 +CONECT 4283 4282 +CONECT 4285 4286 4287 4295 +CONECT 4286 4285 +CONECT 4287 4288 4285 4289 +CONECT 4288 4287 +CONECT 4289 4290 4287 4291 +CONECT 4290 4289 +CONECT 4291 4292 4289 4293 +CONECT 4292 4291 +CONECT 4293 4294 4291 4295 +CONECT 4294 4293 +CONECT 4295 4285 4293 4296 +CONECT 4296 4297 4298 4295 4299 +CONECT 4297 4296 +CONECT 4298 4296 +CONECT 4299 4300 4296 +CONECT 4300 4299 +CONECT 4302 4303 4304 4312 +CONECT 4303 4302 +CONECT 4304 4305 4302 4306 +CONECT 4305 4304 +CONECT 4306 4307 4304 4308 +CONECT 4307 4306 +CONECT 4308 4309 4306 4310 +CONECT 4309 4308 +CONECT 4310 4311 4308 4312 +CONECT 4311 4310 +CONECT 4312 4302 4310 4313 +CONECT 4313 4314 4315 4312 4316 +CONECT 4314 4313 +CONECT 4315 4313 +CONECT 4316 4317 4313 +CONECT 4317 4316 +CONECT 4319 4320 4321 4329 +CONECT 4320 4319 +CONECT 4321 4322 4319 4323 +CONECT 4322 4321 +CONECT 4323 4324 4321 4325 +CONECT 4324 4323 +CONECT 4325 4326 4323 4327 +CONECT 4326 4325 +CONECT 4327 4328 4325 4329 +CONECT 4328 4327 +CONECT 4329 4319 4327 4330 +CONECT 4330 4331 4332 4329 4333 +CONECT 4331 4330 +CONECT 4332 4330 +CONECT 4333 4334 4330 +CONECT 4334 4333 +CONECT 4336 4337 4338 4346 +CONECT 4337 4336 +CONECT 4338 4339 4336 4340 +CONECT 4339 4338 +CONECT 4340 4341 4338 4342 +CONECT 4341 4340 +CONECT 4342 4343 4340 4344 +CONECT 4343 4342 +CONECT 4344 4345 4342 4346 +CONECT 4345 4344 +CONECT 4346 4336 4344 4347 +CONECT 4347 4348 4349 4346 4350 +CONECT 4348 4347 +CONECT 4349 4347 +CONECT 4350 4351 4347 +CONECT 4351 4350 +CONECT 4353 4354 4355 4363 +CONECT 4354 4353 +CONECT 4355 4356 4353 4357 +CONECT 4356 4355 +CONECT 4357 4358 4355 4359 +CONECT 4358 4357 +CONECT 4359 4360 4357 4361 +CONECT 4360 4359 +CONECT 4361 4362 4359 4363 +CONECT 4362 4361 +CONECT 4363 4353 4361 4364 +CONECT 4364 4365 4366 4363 4367 +CONECT 4365 4364 +CONECT 4366 4364 +CONECT 4367 4368 4364 +CONECT 4368 4367 +CONECT 4370 4371 4372 4380 +CONECT 4371 4370 +CONECT 4372 4373 4370 4374 +CONECT 4373 4372 +CONECT 4374 4375 4372 4376 +CONECT 4375 4374 +CONECT 4376 4377 4374 4378 +CONECT 4377 4376 +CONECT 4378 4379 4376 4380 +CONECT 4379 4378 +CONECT 4380 4370 4378 4381 +CONECT 4381 4382 4383 4380 4384 +CONECT 4382 4381 +CONECT 4383 4381 +CONECT 4384 4385 4381 +CONECT 4385 4384 +CONECT 4387 4388 4389 4397 +CONECT 4388 4387 +CONECT 4389 4390 4387 4391 +CONECT 4390 4389 +CONECT 4391 4392 4389 4393 +CONECT 4392 4391 +CONECT 4393 4394 4391 4395 +CONECT 4394 4393 +CONECT 4395 4396 4393 4397 +CONECT 4396 4395 +CONECT 4397 4387 4395 4398 +CONECT 4398 4399 4400 4397 4401 +CONECT 4399 4398 +CONECT 4400 4398 +CONECT 4401 4402 4398 +CONECT 4402 4401 +CONECT 4404 4405 4406 4414 +CONECT 4405 4404 +CONECT 4406 4407 4404 4408 +CONECT 4407 4406 +CONECT 4408 4409 4406 4410 +CONECT 4409 4408 +CONECT 4410 4411 4408 4412 +CONECT 4411 4410 +CONECT 4412 4413 4410 4414 +CONECT 4413 4412 +CONECT 4414 4404 4412 4415 +CONECT 4415 4416 4417 4414 4418 +CONECT 4416 4415 +CONECT 4417 4415 +CONECT 4418 4419 4415 +CONECT 4419 4418 +CONECT 4421 4422 4423 4431 +CONECT 4422 4421 +CONECT 4423 4424 4421 4425 +CONECT 4424 4423 +CONECT 4425 4426 4423 4427 +CONECT 4426 4425 +CONECT 4427 4428 4425 4429 +CONECT 4428 4427 +CONECT 4429 4430 4427 4431 +CONECT 4430 4429 +CONECT 4431 4421 4429 4432 +CONECT 4432 4433 4434 4431 4435 +CONECT 4433 4432 +CONECT 4434 4432 +CONECT 4435 4436 4432 +CONECT 4436 4435 +CONECT 4438 4439 4440 4448 +CONECT 4439 4438 +CONECT 4440 4441 4438 4442 +CONECT 4441 4440 +CONECT 4442 4443 4440 4444 +CONECT 4443 4442 +CONECT 4444 4445 4442 4446 +CONECT 4445 4444 +CONECT 4446 4447 4444 4448 +CONECT 4447 4446 +CONECT 4448 4438 4446 4449 +CONECT 4449 4450 4451 4448 4452 +CONECT 4450 4449 +CONECT 4451 4449 +CONECT 4452 4453 4449 +CONECT 4453 4452 +CONECT 4455 4456 4457 4465 +CONECT 4456 4455 +CONECT 4457 4458 4455 4459 +CONECT 4458 4457 +CONECT 4459 4460 4457 4461 +CONECT 4460 4459 +CONECT 4461 4462 4459 4463 +CONECT 4462 4461 +CONECT 4463 4464 4461 4465 +CONECT 4464 4463 +CONECT 4465 4455 4463 4466 +CONECT 4466 4467 4468 4465 4469 +CONECT 4467 4466 +CONECT 4468 4466 +CONECT 4469 4470 4466 +CONECT 4470 4469 +CONECT 4472 4473 4474 4482 +CONECT 4473 4472 +CONECT 4474 4475 4472 4476 +CONECT 4475 4474 +CONECT 4476 4477 4474 4478 +CONECT 4477 4476 +CONECT 4478 4479 4476 4480 +CONECT 4479 4478 +CONECT 4480 4481 4478 4482 +CONECT 4481 4480 +CONECT 4482 4472 4480 4483 +CONECT 4483 4484 4485 4482 4486 +CONECT 4484 4483 +CONECT 4485 4483 +CONECT 4486 4487 4483 +CONECT 4487 4486 +CONECT 4489 4490 4491 4499 +CONECT 4490 4489 +CONECT 4491 4492 4489 4493 +CONECT 4492 4491 +CONECT 4493 4494 4491 4495 +CONECT 4494 4493 +CONECT 4495 4496 4493 4497 +CONECT 4496 4495 +CONECT 4497 4498 4495 4499 +CONECT 4498 4497 +CONECT 4499 4489 4497 4500 +CONECT 4500 4501 4502 4499 4503 +CONECT 4501 4500 +CONECT 4502 4500 +CONECT 4503 4504 4500 +CONECT 4504 4503 +CONECT 4506 4507 4508 4516 +CONECT 4507 4506 +CONECT 4508 4509 4506 4510 +CONECT 4509 4508 +CONECT 4510 4511 4508 4512 +CONECT 4511 4510 +CONECT 4512 4513 4510 4514 +CONECT 4513 4512 +CONECT 4514 4515 4512 4516 +CONECT 4515 4514 +CONECT 4516 4506 4514 4517 +CONECT 4517 4518 4519 4516 4520 +CONECT 4518 4517 +CONECT 4519 4517 +CONECT 4520 4521 4517 +CONECT 4521 4520 +CONECT 4523 4524 4525 4533 +CONECT 4524 4523 +CONECT 4525 4526 4523 4527 +CONECT 4526 4525 +CONECT 4527 4528 4525 4529 +CONECT 4528 4527 +CONECT 4529 4530 4527 4531 +CONECT 4530 4529 +CONECT 4531 4532 4529 4533 +CONECT 4532 4531 +CONECT 4533 4523 4531 4534 +CONECT 4534 4535 4536 4533 4537 +CONECT 4535 4534 +CONECT 4536 4534 +CONECT 4537 4538 4534 +CONECT 4538 4537 +CONECT 4540 4541 4542 4550 +CONECT 4541 4540 +CONECT 4542 4543 4540 4544 +CONECT 4543 4542 +CONECT 4544 4545 4542 4546 +CONECT 4545 4544 +CONECT 4546 4547 4544 4548 +CONECT 4547 4546 +CONECT 4548 4549 4546 4550 +CONECT 4549 4548 +CONECT 4550 4540 4548 4551 +CONECT 4551 4552 4553 4550 4554 +CONECT 4552 4551 +CONECT 4553 4551 +CONECT 4554 4555 4551 +CONECT 4555 4554 +CONECT 4557 4558 4559 4567 +CONECT 4558 4557 +CONECT 4559 4560 4557 4561 +CONECT 4560 4559 +CONECT 4561 4562 4559 4563 +CONECT 4562 4561 +CONECT 4563 4564 4561 4565 +CONECT 4564 4563 +CONECT 4565 4566 4563 4567 +CONECT 4566 4565 +CONECT 4567 4557 4565 4568 +CONECT 4568 4569 4570 4567 4571 +CONECT 4569 4568 +CONECT 4570 4568 +CONECT 4571 4572 4568 +CONECT 4572 4571 +CONECT 4574 4575 4576 4584 +CONECT 4575 4574 +CONECT 4576 4577 4574 4578 +CONECT 4577 4576 +CONECT 4578 4579 4576 4580 +CONECT 4579 4578 +CONECT 4580 4581 4578 4582 +CONECT 4581 4580 +CONECT 4582 4583 4580 4584 +CONECT 4583 4582 +CONECT 4584 4574 4582 4585 +CONECT 4585 4586 4587 4584 4588 +CONECT 4586 4585 +CONECT 4587 4585 +CONECT 4588 4589 4585 +CONECT 4589 4588 +CONECT 4591 4592 4593 4601 +CONECT 4592 4591 +CONECT 4593 4594 4591 4595 +CONECT 4594 4593 +CONECT 4595 4596 4593 4597 +CONECT 4596 4595 +CONECT 4597 4598 4595 4599 +CONECT 4598 4597 +CONECT 4599 4600 4597 4601 +CONECT 4600 4599 +CONECT 4601 4591 4599 4602 +CONECT 4602 4603 4604 4601 4605 +CONECT 4603 4602 +CONECT 4604 4602 +CONECT 4605 4606 4602 +CONECT 4606 4605 +CONECT 4608 4609 4610 4618 +CONECT 4609 4608 +CONECT 4610 4611 4608 4612 +CONECT 4611 4610 +CONECT 4612 4613 4610 4614 +CONECT 4613 4612 +CONECT 4614 4615 4612 4616 +CONECT 4615 4614 +CONECT 4616 4617 4614 4618 +CONECT 4617 4616 +CONECT 4618 4608 4616 4619 +CONECT 4619 4620 4621 4618 4622 +CONECT 4620 4619 +CONECT 4621 4619 +CONECT 4622 4623 4619 +CONECT 4623 4622 +CONECT 4625 4626 4627 4635 +CONECT 4626 4625 +CONECT 4627 4628 4625 4629 +CONECT 4628 4627 +CONECT 4629 4630 4627 4631 +CONECT 4630 4629 +CONECT 4631 4632 4629 4633 +CONECT 4632 4631 +CONECT 4633 4634 4631 4635 +CONECT 4634 4633 +CONECT 4635 4625 4633 4636 +CONECT 4636 4637 4638 4635 4639 +CONECT 4637 4636 +CONECT 4638 4636 +CONECT 4639 4640 4636 +CONECT 4640 4639 +CONECT 4642 4643 4644 4652 +CONECT 4643 4642 +CONECT 4644 4645 4642 4646 +CONECT 4645 4644 +CONECT 4646 4647 4644 4648 +CONECT 4647 4646 +CONECT 4648 4649 4646 4650 +CONECT 4649 4648 +CONECT 4650 4651 4648 4652 +CONECT 4651 4650 +CONECT 4652 4642 4650 4653 +CONECT 4653 4654 4655 4652 4656 +CONECT 4654 4653 +CONECT 4655 4653 +CONECT 4656 4657 4653 +CONECT 4657 4656 +CONECT 4659 4660 4661 4669 +CONECT 4660 4659 +CONECT 4661 4662 4659 4663 +CONECT 4662 4661 +CONECT 4663 4664 4661 4665 +CONECT 4664 4663 +CONECT 4665 4666 4663 4667 +CONECT 4666 4665 +CONECT 4667 4668 4665 4669 +CONECT 4668 4667 +CONECT 4669 4659 4667 4670 +CONECT 4670 4671 4672 4669 4673 +CONECT 4671 4670 +CONECT 4672 4670 +CONECT 4673 4674 4670 +CONECT 4674 4673 +CONECT 4676 4677 4678 4686 +CONECT 4677 4676 +CONECT 4678 4679 4676 4680 +CONECT 4679 4678 +CONECT 4680 4681 4678 4682 +CONECT 4681 4680 +CONECT 4682 4683 4680 4684 +CONECT 4683 4682 +CONECT 4684 4685 4682 4686 +CONECT 4685 4684 +CONECT 4686 4676 4684 4687 +CONECT 4687 4688 4689 4686 4690 +CONECT 4688 4687 +CONECT 4689 4687 +CONECT 4690 4691 4687 +CONECT 4691 4690 +CONECT 4693 4694 4695 4703 +CONECT 4694 4693 +CONECT 4695 4696 4693 4697 +CONECT 4696 4695 +CONECT 4697 4698 4695 4699 +CONECT 4698 4697 +CONECT 4699 4700 4697 4701 +CONECT 4700 4699 +CONECT 4701 4702 4699 4703 +CONECT 4702 4701 +CONECT 4703 4693 4701 4704 +CONECT 4704 4705 4706 4703 4707 +CONECT 4705 4704 +CONECT 4706 4704 +CONECT 4707 4708 4704 +CONECT 4708 4707 +CONECT 4710 4711 4712 4720 +CONECT 4711 4710 +CONECT 4712 4713 4710 4714 +CONECT 4713 4712 +CONECT 4714 4715 4712 4716 +CONECT 4715 4714 +CONECT 4716 4717 4714 4718 +CONECT 4717 4716 +CONECT 4718 4719 4716 4720 +CONECT 4719 4718 +CONECT 4720 4710 4718 4721 +CONECT 4721 4722 4723 4720 4724 +CONECT 4722 4721 +CONECT 4723 4721 +CONECT 4724 4725 4721 +CONECT 4725 4724 +CONECT 4727 4728 4729 4737 +CONECT 4728 4727 +CONECT 4729 4730 4727 4731 +CONECT 4730 4729 +CONECT 4731 4732 4729 4733 +CONECT 4732 4731 +CONECT 4733 4734 4731 4735 +CONECT 4734 4733 +CONECT 4735 4736 4733 4737 +CONECT 4736 4735 +CONECT 4737 4727 4735 4738 +CONECT 4738 4739 4740 4737 4741 +CONECT 4739 4738 +CONECT 4740 4738 +CONECT 4741 4742 4738 +CONECT 4742 4741 +CONECT 4744 4745 4746 4754 +CONECT 4745 4744 +CONECT 4746 4747 4744 4748 +CONECT 4747 4746 +CONECT 4748 4749 4746 4750 +CONECT 4749 4748 +CONECT 4750 4751 4748 4752 +CONECT 4751 4750 +CONECT 4752 4753 4750 4754 +CONECT 4753 4752 +CONECT 4754 4744 4752 4755 +CONECT 4755 4756 4757 4754 4758 +CONECT 4756 4755 +CONECT 4757 4755 +CONECT 4758 4759 4755 +CONECT 4759 4758 +CONECT 4761 4762 4763 4771 +CONECT 4762 4761 +CONECT 4763 4764 4761 4765 +CONECT 4764 4763 +CONECT 4765 4766 4763 4767 +CONECT 4766 4765 +CONECT 4767 4768 4765 4769 +CONECT 4768 4767 +CONECT 4769 4770 4767 4771 +CONECT 4770 4769 +CONECT 4771 4761 4769 4772 +CONECT 4772 4773 4774 4771 4775 +CONECT 4773 4772 +CONECT 4774 4772 +CONECT 4775 4776 4772 +CONECT 4776 4775 +CONECT 4778 4779 4780 4788 +CONECT 4779 4778 +CONECT 4780 4781 4778 4782 +CONECT 4781 4780 +CONECT 4782 4783 4780 4784 +CONECT 4783 4782 +CONECT 4784 4785 4782 4786 +CONECT 4785 4784 +CONECT 4786 4787 4784 4788 +CONECT 4787 4786 +CONECT 4788 4778 4786 4789 +CONECT 4789 4790 4791 4788 4792 +CONECT 4790 4789 +CONECT 4791 4789 +CONECT 4792 4793 4789 +CONECT 4793 4792 +CONECT 4795 4796 4797 4805 +CONECT 4796 4795 +CONECT 4797 4798 4795 4799 +CONECT 4798 4797 +CONECT 4799 4800 4797 4801 +CONECT 4800 4799 +CONECT 4801 4802 4799 4803 +CONECT 4802 4801 +CONECT 4803 4804 4801 4805 +CONECT 4804 4803 +CONECT 4805 4795 4803 4806 +CONECT 4806 4807 4808 4805 4809 +CONECT 4807 4806 +CONECT 4808 4806 +CONECT 4809 4810 4806 +CONECT 4810 4809 +CONECT 4812 4813 4814 4822 +CONECT 4813 4812 +CONECT 4814 4815 4812 4816 +CONECT 4815 4814 +CONECT 4816 4817 4814 4818 +CONECT 4817 4816 +CONECT 4818 4819 4816 4820 +CONECT 4819 4818 +CONECT 4820 4821 4818 4822 +CONECT 4821 4820 +CONECT 4822 4812 4820 4823 +CONECT 4823 4824 4825 4822 4826 +CONECT 4824 4823 +CONECT 4825 4823 +CONECT 4826 4827 4823 +CONECT 4827 4826 +CONECT 4829 4830 4831 4839 +CONECT 4830 4829 +CONECT 4831 4832 4829 4833 +CONECT 4832 4831 +CONECT 4833 4834 4831 4835 +CONECT 4834 4833 +CONECT 4835 4836 4833 4837 +CONECT 4836 4835 +CONECT 4837 4838 4835 4839 +CONECT 4838 4837 +CONECT 4839 4829 4837 4840 +CONECT 4840 4841 4842 4839 4843 +CONECT 4841 4840 +CONECT 4842 4840 +CONECT 4843 4844 4840 +CONECT 4844 4843 +CONECT 4846 4847 4848 4856 +CONECT 4847 4846 +CONECT 4848 4849 4846 4850 +CONECT 4849 4848 +CONECT 4850 4851 4848 4852 +CONECT 4851 4850 +CONECT 4852 4853 4850 4854 +CONECT 4853 4852 +CONECT 4854 4855 4852 4856 +CONECT 4855 4854 +CONECT 4856 4846 4854 4857 +CONECT 4857 4858 4859 4856 4860 +CONECT 4858 4857 +CONECT 4859 4857 +CONECT 4860 4861 4857 +CONECT 4861 4860 +CONECT 4863 4864 4865 4873 +CONECT 4864 4863 +CONECT 4865 4866 4863 4867 +CONECT 4866 4865 +CONECT 4867 4868 4865 4869 +CONECT 4868 4867 +CONECT 4869 4870 4867 4871 +CONECT 4870 4869 +CONECT 4871 4872 4869 4873 +CONECT 4872 4871 +CONECT 4873 4863 4871 4874 +CONECT 4874 4875 4876 4873 4877 +CONECT 4875 4874 +CONECT 4876 4874 +CONECT 4877 4878 4874 +CONECT 4878 4877 +CONECT 4880 4881 4882 4890 +CONECT 4881 4880 +CONECT 4882 4883 4880 4884 +CONECT 4883 4882 +CONECT 4884 4885 4882 4886 +CONECT 4885 4884 +CONECT 4886 4887 4884 4888 +CONECT 4887 4886 +CONECT 4888 4889 4886 4890 +CONECT 4889 4888 +CONECT 4890 4880 4888 4891 +CONECT 4891 4892 4893 4890 4894 +CONECT 4892 4891 +CONECT 4893 4891 +CONECT 4894 4895 4891 +CONECT 4895 4894 +CONECT 4897 4898 4899 4907 +CONECT 4898 4897 +CONECT 4899 4900 4897 4901 +CONECT 4900 4899 +CONECT 4901 4902 4899 4903 +CONECT 4902 4901 +CONECT 4903 4904 4901 4905 +CONECT 4904 4903 +CONECT 4905 4906 4903 4907 +CONECT 4906 4905 +CONECT 4907 4897 4905 4908 +CONECT 4908 4909 4910 4907 4911 +CONECT 4909 4908 +CONECT 4910 4908 +CONECT 4911 4912 4908 +CONECT 4912 4911 +CONECT 4914 4915 4916 4924 +CONECT 4915 4914 +CONECT 4916 4917 4914 4918 +CONECT 4917 4916 +CONECT 4918 4919 4916 4920 +CONECT 4919 4918 +CONECT 4920 4921 4918 4922 +CONECT 4921 4920 +CONECT 4922 4923 4920 4924 +CONECT 4923 4922 +CONECT 4924 4914 4922 4925 +CONECT 4925 4926 4927 4924 4928 +CONECT 4926 4925 +CONECT 4927 4925 +CONECT 4928 4929 4925 +CONECT 4929 4928 +CONECT 4931 4932 4933 4941 +CONECT 4932 4931 +CONECT 4933 4934 4931 4935 +CONECT 4934 4933 +CONECT 4935 4936 4933 4937 +CONECT 4936 4935 +CONECT 4937 4938 4935 4939 +CONECT 4938 4937 +CONECT 4939 4940 4937 4941 +CONECT 4940 4939 +CONECT 4941 4931 4939 4942 +CONECT 4942 4943 4944 4941 4945 +CONECT 4943 4942 +CONECT 4944 4942 +CONECT 4945 4946 4942 +CONECT 4946 4945 +CONECT 4948 4949 4950 4958 +CONECT 4949 4948 +CONECT 4950 4951 4948 4952 +CONECT 4951 4950 +CONECT 4952 4953 4950 4954 +CONECT 4953 4952 +CONECT 4954 4955 4952 4956 +CONECT 4955 4954 +CONECT 4956 4957 4954 4958 +CONECT 4957 4956 +CONECT 4958 4948 4956 4959 +CONECT 4959 4960 4961 4958 4962 +CONECT 4960 4959 +CONECT 4961 4959 +CONECT 4962 4963 4959 +CONECT 4963 4962 +CONECT 4965 4966 4967 4975 +CONECT 4966 4965 +CONECT 4967 4968 4965 4969 +CONECT 4968 4967 +CONECT 4969 4970 4967 4971 +CONECT 4970 4969 +CONECT 4971 4972 4969 4973 +CONECT 4972 4971 +CONECT 4973 4974 4971 4975 +CONECT 4974 4973 +CONECT 4975 4965 4973 4976 +CONECT 4976 4977 4978 4975 4979 +CONECT 4977 4976 +CONECT 4978 4976 +CONECT 4979 4980 4976 +CONECT 4980 4979 +CONECT 4982 4983 4984 4992 +CONECT 4983 4982 +CONECT 4984 4985 4982 4986 +CONECT 4985 4984 +CONECT 4986 4987 4984 4988 +CONECT 4987 4986 +CONECT 4988 4989 4986 4990 +CONECT 4989 4988 +CONECT 4990 4991 4988 4992 +CONECT 4991 4990 +CONECT 4992 4982 4990 4993 +CONECT 4993 4994 4995 4992 4996 +CONECT 4994 4993 +CONECT 4995 4993 +CONECT 4996 4997 4993 +CONECT 4997 4996 +CONECT 4999 5000 5001 5009 +CONECT 5000 4999 +CONECT 5001 5002 4999 5003 +CONECT 5002 5001 +CONECT 5003 5004 5001 5005 +CONECT 5004 5003 +CONECT 5005 5006 5003 5007 +CONECT 5006 5005 +CONECT 5007 5008 5005 5009 +CONECT 5008 5007 +CONECT 5009 4999 5007 5010 +CONECT 5010 5011 5012 5009 5013 +CONECT 5011 5010 +CONECT 5012 5010 +CONECT 5013 5014 5010 +CONECT 5014 5013 +CONECT 5016 5017 5018 5026 +CONECT 5017 5016 +CONECT 5018 5019 5016 5020 +CONECT 5019 5018 +CONECT 5020 5021 5018 5022 +CONECT 5021 5020 +CONECT 5022 5023 5020 5024 +CONECT 5023 5022 +CONECT 5024 5025 5022 5026 +CONECT 5025 5024 +CONECT 5026 5016 5024 5027 +CONECT 5027 5028 5029 5026 5030 +CONECT 5028 5027 +CONECT 5029 5027 +CONECT 5030 5031 5027 +CONECT 5031 5030 +CONECT 5033 5034 5035 5043 +CONECT 5034 5033 +CONECT 5035 5036 5033 5037 +CONECT 5036 5035 +CONECT 5037 5038 5035 5039 +CONECT 5038 5037 +CONECT 5039 5040 5037 5041 +CONECT 5040 5039 +CONECT 5041 5042 5039 5043 +CONECT 5042 5041 +CONECT 5043 5033 5041 5044 +CONECT 5044 5045 5046 5043 5047 +CONECT 5045 5044 +CONECT 5046 5044 +CONECT 5047 5048 5044 +CONECT 5048 5047 +CONECT 5050 5051 5052 5060 +CONECT 5051 5050 +CONECT 5052 5053 5050 5054 +CONECT 5053 5052 +CONECT 5054 5055 5052 5056 +CONECT 5055 5054 +CONECT 5056 5057 5054 5058 +CONECT 5057 5056 +CONECT 5058 5059 5056 5060 +CONECT 5059 5058 +CONECT 5060 5050 5058 5061 +CONECT 5061 5062 5063 5060 5064 +CONECT 5062 5061 +CONECT 5063 5061 +CONECT 5064 5065 5061 +CONECT 5065 5064 +CONECT 5067 5068 5069 5077 +CONECT 5068 5067 +CONECT 5069 5070 5067 5071 +CONECT 5070 5069 +CONECT 5071 5072 5069 5073 +CONECT 5072 5071 +CONECT 5073 5074 5071 5075 +CONECT 5074 5073 +CONECT 5075 5076 5073 5077 +CONECT 5076 5075 +CONECT 5077 5067 5075 5078 +CONECT 5078 5079 5080 5077 5081 +CONECT 5079 5078 +CONECT 5080 5078 +CONECT 5081 5082 5078 +CONECT 5082 5081 +CONECT 5084 5085 5086 5094 +CONECT 5085 5084 +CONECT 5086 5087 5084 5088 +CONECT 5087 5086 +CONECT 5088 5089 5086 5090 +CONECT 5089 5088 +CONECT 5090 5091 5088 5092 +CONECT 5091 5090 +CONECT 5092 5093 5090 5094 +CONECT 5093 5092 +CONECT 5094 5084 5092 5095 +CONECT 5095 5096 5097 5094 5098 +CONECT 5096 5095 +CONECT 5097 5095 +CONECT 5098 5099 5095 +CONECT 5099 5098 +CONECT 5101 5102 5103 5111 +CONECT 5102 5101 +CONECT 5103 5104 5101 5105 +CONECT 5104 5103 +CONECT 5105 5106 5103 5107 +CONECT 5106 5105 +CONECT 5107 5108 5105 5109 +CONECT 5108 5107 +CONECT 5109 5110 5107 5111 +CONECT 5110 5109 +CONECT 5111 5101 5109 5112 +CONECT 5112 5113 5114 5111 5115 +CONECT 5113 5112 +CONECT 5114 5112 +CONECT 5115 5116 5112 +CONECT 5116 5115 +CONECT 5118 5119 5120 5128 +CONECT 5119 5118 +CONECT 5120 5121 5118 5122 +CONECT 5121 5120 +CONECT 5122 5123 5120 5124 +CONECT 5123 5122 +CONECT 5124 5125 5122 5126 +CONECT 5125 5124 +CONECT 5126 5127 5124 5128 +CONECT 5127 5126 +CONECT 5128 5118 5126 5129 +CONECT 5129 5130 5131 5128 5132 +CONECT 5130 5129 +CONECT 5131 5129 +CONECT 5132 5133 5129 +CONECT 5133 5132 +CONECT 5135 5136 5137 5145 +CONECT 5136 5135 +CONECT 5137 5138 5135 5139 +CONECT 5138 5137 +CONECT 5139 5140 5137 5141 +CONECT 5140 5139 +CONECT 5141 5142 5139 5143 +CONECT 5142 5141 +CONECT 5143 5144 5141 5145 +CONECT 5144 5143 +CONECT 5145 5135 5143 5146 +CONECT 5146 5147 5148 5145 5149 +CONECT 5147 5146 +CONECT 5148 5146 +CONECT 5149 5150 5146 +CONECT 5150 5149 +CONECT 5152 5153 5154 5162 +CONECT 5153 5152 +CONECT 5154 5155 5152 5156 +CONECT 5155 5154 +CONECT 5156 5157 5154 5158 +CONECT 5157 5156 +CONECT 5158 5159 5156 5160 +CONECT 5159 5158 +CONECT 5160 5161 5158 5162 +CONECT 5161 5160 +CONECT 5162 5152 5160 5163 +CONECT 5163 5164 5165 5162 5166 +CONECT 5164 5163 +CONECT 5165 5163 +CONECT 5166 5167 5163 +CONECT 5167 5166 +CONECT 5169 5170 5171 5179 +CONECT 5170 5169 +CONECT 5171 5172 5169 5173 +CONECT 5172 5171 +CONECT 5173 5174 5171 5175 +CONECT 5174 5173 +CONECT 5175 5176 5173 5177 +CONECT 5176 5175 +CONECT 5177 5178 5175 5179 +CONECT 5178 5177 +CONECT 5179 5169 5177 5180 +CONECT 5180 5181 5182 5179 5183 +CONECT 5181 5180 +CONECT 5182 5180 +CONECT 5183 5184 5180 +CONECT 5184 5183 +CONECT 5186 5187 5188 5196 +CONECT 5187 5186 +CONECT 5188 5189 5186 5190 +CONECT 5189 5188 +CONECT 5190 5191 5188 5192 +CONECT 5191 5190 +CONECT 5192 5193 5190 5194 +CONECT 5193 5192 +CONECT 5194 5195 5192 5196 +CONECT 5195 5194 +CONECT 5196 5186 5194 5197 +CONECT 5197 5198 5199 5196 5200 +CONECT 5198 5197 +CONECT 5199 5197 +CONECT 5200 5201 5197 +CONECT 5201 5200 +CONECT 5203 5204 5205 5213 +CONECT 5204 5203 +CONECT 5205 5206 5203 5207 +CONECT 5206 5205 +CONECT 5207 5208 5205 5209 +CONECT 5208 5207 +CONECT 5209 5210 5207 5211 +CONECT 5210 5209 +CONECT 5211 5212 5209 5213 +CONECT 5212 5211 +CONECT 5213 5203 5211 5214 +CONECT 5214 5215 5216 5213 5217 +CONECT 5215 5214 +CONECT 5216 5214 +CONECT 5217 5218 5214 +CONECT 5218 5217 +CONECT 5220 5221 5222 5230 +CONECT 5221 5220 +CONECT 5222 5223 5220 5224 +CONECT 5223 5222 +CONECT 5224 5225 5222 5226 +CONECT 5225 5224 +CONECT 5226 5227 5224 5228 +CONECT 5227 5226 +CONECT 5228 5229 5226 5230 +CONECT 5229 5228 +CONECT 5230 5220 5228 5231 +CONECT 5231 5232 5233 5230 5234 +CONECT 5232 5231 +CONECT 5233 5231 +CONECT 5234 5235 5231 +CONECT 5235 5234 +CONECT 5237 5238 5239 5247 +CONECT 5238 5237 +CONECT 5239 5240 5237 5241 +CONECT 5240 5239 +CONECT 5241 5242 5239 5243 +CONECT 5242 5241 +CONECT 5243 5244 5241 5245 +CONECT 5244 5243 +CONECT 5245 5246 5243 5247 +CONECT 5246 5245 +CONECT 5247 5237 5245 5248 +CONECT 5248 5249 5250 5247 5251 +CONECT 5249 5248 +CONECT 5250 5248 +CONECT 5251 5252 5248 +CONECT 5252 5251 +CONECT 5254 5255 5256 5264 +CONECT 5255 5254 +CONECT 5256 5257 5254 5258 +CONECT 5257 5256 +CONECT 5258 5259 5256 5260 +CONECT 5259 5258 +CONECT 5260 5261 5258 5262 +CONECT 5261 5260 +CONECT 5262 5263 5260 5264 +CONECT 5263 5262 +CONECT 5264 5254 5262 5265 +CONECT 5265 5266 5267 5264 5268 +CONECT 5266 5265 +CONECT 5267 5265 +CONECT 5268 5269 5265 +CONECT 5269 5268 +CONECT 5271 5272 5273 5281 +CONECT 5272 5271 +CONECT 5273 5274 5271 5275 +CONECT 5274 5273 +CONECT 5275 5276 5273 5277 +CONECT 5276 5275 +CONECT 5277 5278 5275 5279 +CONECT 5278 5277 +CONECT 5279 5280 5277 5281 +CONECT 5280 5279 +CONECT 5281 5271 5279 5282 +CONECT 5282 5283 5284 5281 5285 +CONECT 5283 5282 +CONECT 5284 5282 +CONECT 5285 5286 5282 +CONECT 5286 5285 +CONECT 5288 5289 5290 5298 +CONECT 5289 5288 +CONECT 5290 5291 5288 5292 +CONECT 5291 5290 +CONECT 5292 5293 5290 5294 +CONECT 5293 5292 +CONECT 5294 5295 5292 5296 +CONECT 5295 5294 +CONECT 5296 5297 5294 5298 +CONECT 5297 5296 +CONECT 5298 5288 5296 5299 +CONECT 5299 5300 5301 5298 5302 +CONECT 5300 5299 +CONECT 5301 5299 +CONECT 5302 5303 5299 +CONECT 5303 5302 +CONECT 5305 5306 5307 5315 +CONECT 5306 5305 +CONECT 5307 5308 5305 5309 +CONECT 5308 5307 +CONECT 5309 5310 5307 5311 +CONECT 5310 5309 +CONECT 5311 5312 5309 5313 +CONECT 5312 5311 +CONECT 5313 5314 5311 5315 +CONECT 5314 5313 +CONECT 5315 5305 5313 5316 +CONECT 5316 5317 5318 5315 5319 +CONECT 5317 5316 +CONECT 5318 5316 +CONECT 5319 5320 5316 +CONECT 5320 5319 +CONECT 5322 5323 5324 5332 +CONECT 5323 5322 +CONECT 5324 5325 5322 5326 +CONECT 5325 5324 +CONECT 5326 5327 5324 5328 +CONECT 5327 5326 +CONECT 5328 5329 5326 5330 +CONECT 5329 5328 +CONECT 5330 5331 5328 5332 +CONECT 5331 5330 +CONECT 5332 5322 5330 5333 +CONECT 5333 5334 5335 5332 5336 +CONECT 5334 5333 +CONECT 5335 5333 +CONECT 5336 5337 5333 +CONECT 5337 5336 +CONECT 5339 5340 5341 5349 +CONECT 5340 5339 +CONECT 5341 5342 5339 5343 +CONECT 5342 5341 +CONECT 5343 5344 5341 5345 +CONECT 5344 5343 +CONECT 5345 5346 5343 5347 +CONECT 5346 5345 +CONECT 5347 5348 5345 5349 +CONECT 5348 5347 +CONECT 5349 5339 5347 5350 +CONECT 5350 5351 5352 5349 5353 +CONECT 5351 5350 +CONECT 5352 5350 +CONECT 5353 5354 5350 +CONECT 5354 5353 +CONECT 5356 5357 5358 5366 +CONECT 5357 5356 +CONECT 5358 5359 5356 5360 +CONECT 5359 5358 +CONECT 5360 5361 5358 5362 +CONECT 5361 5360 +CONECT 5362 5363 5360 5364 +CONECT 5363 5362 +CONECT 5364 5365 5362 5366 +CONECT 5365 5364 +CONECT 5366 5356 5364 5367 +CONECT 5367 5368 5369 5366 5370 +CONECT 5368 5367 +CONECT 5369 5367 +CONECT 5370 5371 5367 +CONECT 5371 5370 +CONECT 5373 5374 5375 5383 +CONECT 5374 5373 +CONECT 5375 5376 5373 5377 +CONECT 5376 5375 +CONECT 5377 5378 5375 5379 +CONECT 5378 5377 +CONECT 5379 5380 5377 5381 +CONECT 5380 5379 +CONECT 5381 5382 5379 5383 +CONECT 5382 5381 +CONECT 5383 5373 5381 5384 +CONECT 5384 5385 5386 5383 5387 +CONECT 5385 5384 +CONECT 5386 5384 +CONECT 5387 5388 5384 +CONECT 5388 5387 +CONECT 5390 5391 5392 5400 +CONECT 5391 5390 +CONECT 5392 5393 5390 5394 +CONECT 5393 5392 +CONECT 5394 5395 5392 5396 +CONECT 5395 5394 +CONECT 5396 5397 5394 5398 +CONECT 5397 5396 +CONECT 5398 5399 5396 5400 +CONECT 5399 5398 +CONECT 5400 5390 5398 5401 +CONECT 5401 5402 5403 5400 5404 +CONECT 5402 5401 +CONECT 5403 5401 +CONECT 5404 5405 5401 +CONECT 5405 5404 +CONECT 5407 5408 5409 5417 +CONECT 5408 5407 +CONECT 5409 5410 5407 5411 +CONECT 5410 5409 +CONECT 5411 5412 5409 5413 +CONECT 5412 5411 +CONECT 5413 5414 5411 5415 +CONECT 5414 5413 +CONECT 5415 5416 5413 5417 +CONECT 5416 5415 +CONECT 5417 5407 5415 5418 +CONECT 5418 5419 5420 5417 5421 +CONECT 5419 5418 +CONECT 5420 5418 +CONECT 5421 5422 5418 +CONECT 5422 5421 +CONECT 5424 5425 5426 5434 +CONECT 5425 5424 +CONECT 5426 5427 5424 5428 +CONECT 5427 5426 +CONECT 5428 5429 5426 5430 +CONECT 5429 5428 +CONECT 5430 5431 5428 5432 +CONECT 5431 5430 +CONECT 5432 5433 5430 5434 +CONECT 5433 5432 +CONECT 5434 5424 5432 5435 +CONECT 5435 5436 5437 5434 5438 +CONECT 5436 5435 +CONECT 5437 5435 +CONECT 5438 5439 5435 +CONECT 5439 5438 +CONECT 5441 5442 5443 5451 +CONECT 5442 5441 +CONECT 5443 5444 5441 5445 +CONECT 5444 5443 +CONECT 5445 5446 5443 5447 +CONECT 5446 5445 +CONECT 5447 5448 5445 5449 +CONECT 5448 5447 +CONECT 5449 5450 5447 5451 +CONECT 5450 5449 +CONECT 5451 5441 5449 5452 +CONECT 5452 5453 5454 5451 5455 +CONECT 5453 5452 +CONECT 5454 5452 +CONECT 5455 5456 5452 +CONECT 5456 5455 +CONECT 5458 5459 5460 5468 +CONECT 5459 5458 +CONECT 5460 5461 5458 5462 +CONECT 5461 5460 +CONECT 5462 5463 5460 5464 +CONECT 5463 5462 +CONECT 5464 5465 5462 5466 +CONECT 5465 5464 +CONECT 5466 5467 5464 5468 +CONECT 5467 5466 +CONECT 5468 5458 5466 5469 +CONECT 5469 5470 5471 5468 5472 +CONECT 5470 5469 +CONECT 5471 5469 +CONECT 5472 5473 5469 +CONECT 5473 5472 +CONECT 5475 5476 5477 5485 +CONECT 5476 5475 +CONECT 5477 5478 5475 5479 +CONECT 5478 5477 +CONECT 5479 5480 5477 5481 +CONECT 5480 5479 +CONECT 5481 5482 5479 5483 +CONECT 5482 5481 +CONECT 5483 5484 5481 5485 +CONECT 5484 5483 +CONECT 5485 5475 5483 5486 +CONECT 5486 5487 5488 5485 5489 +CONECT 5487 5486 +CONECT 5488 5486 +CONECT 5489 5490 5486 +CONECT 5490 5489 +CONECT 5492 5493 5494 5502 +CONECT 5493 5492 +CONECT 5494 5495 5492 5496 +CONECT 5495 5494 +CONECT 5496 5497 5494 5498 +CONECT 5497 5496 +CONECT 5498 5499 5496 5500 +CONECT 5499 5498 +CONECT 5500 5501 5498 5502 +CONECT 5501 5500 +CONECT 5502 5492 5500 5503 +CONECT 5503 5504 5505 5502 5506 +CONECT 5504 5503 +CONECT 5505 5503 +CONECT 5506 5507 5503 +CONECT 5507 5506 +CONECT 5509 5510 5511 5519 +CONECT 5510 5509 +CONECT 5511 5512 5509 5513 +CONECT 5512 5511 +CONECT 5513 5514 5511 5515 +CONECT 5514 5513 +CONECT 5515 5516 5513 5517 +CONECT 5516 5515 +CONECT 5517 5518 5515 5519 +CONECT 5518 5517 +CONECT 5519 5509 5517 5520 +CONECT 5520 5521 5522 5519 5523 +CONECT 5521 5520 +CONECT 5522 5520 +CONECT 5523 5524 5520 +CONECT 5524 5523 +CONECT 5526 5527 5528 5536 +CONECT 5527 5526 +CONECT 5528 5529 5526 5530 +CONECT 5529 5528 +CONECT 5530 5531 5528 5532 +CONECT 5531 5530 +CONECT 5532 5533 5530 5534 +CONECT 5533 5532 +CONECT 5534 5535 5532 5536 +CONECT 5535 5534 +CONECT 5536 5526 5534 5537 +CONECT 5537 5538 5539 5536 5540 +CONECT 5538 5537 +CONECT 5539 5537 +CONECT 5540 5541 5537 +CONECT 5541 5540 +CONECT 5543 5544 5545 5553 +CONECT 5544 5543 +CONECT 5545 5546 5543 5547 +CONECT 5546 5545 +CONECT 5547 5548 5545 5549 +CONECT 5548 5547 +CONECT 5549 5550 5547 5551 +CONECT 5550 5549 +CONECT 5551 5552 5549 5553 +CONECT 5552 5551 +CONECT 5553 5543 5551 5554 +CONECT 5554 5555 5556 5553 5557 +CONECT 5555 5554 +CONECT 5556 5554 +CONECT 5557 5558 5554 +CONECT 5558 5557 +CONECT 5560 5561 5562 5570 +CONECT 5561 5560 +CONECT 5562 5563 5560 5564 +CONECT 5563 5562 +CONECT 5564 5565 5562 5566 +CONECT 5565 5564 +CONECT 5566 5567 5564 5568 +CONECT 5567 5566 +CONECT 5568 5569 5566 5570 +CONECT 5569 5568 +CONECT 5570 5560 5568 5571 +CONECT 5571 5572 5573 5570 5574 +CONECT 5572 5571 +CONECT 5573 5571 +CONECT 5574 5575 5571 +CONECT 5575 5574 +CONECT 5577 5578 5579 5587 +CONECT 5578 5577 +CONECT 5579 5580 5577 5581 +CONECT 5580 5579 +CONECT 5581 5582 5579 5583 +CONECT 5582 5581 +CONECT 5583 5584 5581 5585 +CONECT 5584 5583 +CONECT 5585 5586 5583 5587 +CONECT 5586 5585 +CONECT 5587 5577 5585 5588 +CONECT 5588 5589 5590 5587 5591 +CONECT 5589 5588 +CONECT 5590 5588 +CONECT 5591 5592 5588 +CONECT 5592 5591 +CONECT 5594 5595 5596 5604 +CONECT 5595 5594 +CONECT 5596 5597 5594 5598 +CONECT 5597 5596 +CONECT 5598 5599 5596 5600 +CONECT 5599 5598 +CONECT 5600 5601 5598 5602 +CONECT 5601 5600 +CONECT 5602 5603 5600 5604 +CONECT 5603 5602 +CONECT 5604 5594 5602 5605 +CONECT 5605 5606 5607 5604 5608 +CONECT 5606 5605 +CONECT 5607 5605 +CONECT 5608 5609 5605 +CONECT 5609 5608 +CONECT 5611 5612 5613 5621 +CONECT 5612 5611 +CONECT 5613 5614 5611 5615 +CONECT 5614 5613 +CONECT 5615 5616 5613 5617 +CONECT 5616 5615 +CONECT 5617 5618 5615 5619 +CONECT 5618 5617 +CONECT 5619 5620 5617 5621 +CONECT 5620 5619 +CONECT 5621 5611 5619 5622 +CONECT 5622 5623 5624 5621 5625 +CONECT 5623 5622 +CONECT 5624 5622 +CONECT 5625 5626 5622 +CONECT 5626 5625 +CONECT 5628 5629 5630 5638 +CONECT 5629 5628 +CONECT 5630 5631 5628 5632 +CONECT 5631 5630 +CONECT 5632 5633 5630 5634 +CONECT 5633 5632 +CONECT 5634 5635 5632 5636 +CONECT 5635 5634 +CONECT 5636 5637 5634 5638 +CONECT 5637 5636 +CONECT 5638 5628 5636 5639 +CONECT 5639 5640 5641 5638 5642 +CONECT 5640 5639 +CONECT 5641 5639 +CONECT 5642 5643 5639 +CONECT 5643 5642 +CONECT 5645 5646 5647 5655 +CONECT 5646 5645 +CONECT 5647 5648 5645 5649 +CONECT 5648 5647 +CONECT 5649 5650 5647 5651 +CONECT 5650 5649 +CONECT 5651 5652 5649 5653 +CONECT 5652 5651 +CONECT 5653 5654 5651 5655 +CONECT 5654 5653 +CONECT 5655 5645 5653 5656 +CONECT 5656 5657 5658 5655 5659 +CONECT 5657 5656 +CONECT 5658 5656 +CONECT 5659 5660 5656 +CONECT 5660 5659 +CONECT 5662 5663 5664 5672 +CONECT 5663 5662 +CONECT 5664 5665 5662 5666 +CONECT 5665 5664 +CONECT 5666 5667 5664 5668 +CONECT 5667 5666 +CONECT 5668 5669 5666 5670 +CONECT 5669 5668 +CONECT 5670 5671 5668 5672 +CONECT 5671 5670 +CONECT 5672 5662 5670 5673 +CONECT 5673 5674 5675 5672 5676 +CONECT 5674 5673 +CONECT 5675 5673 +CONECT 5676 5677 5673 +CONECT 5677 5676 +CONECT 5679 5680 5681 5689 +CONECT 5680 5679 +CONECT 5681 5682 5679 5683 +CONECT 5682 5681 +CONECT 5683 5684 5681 5685 +CONECT 5684 5683 +CONECT 5685 5686 5683 5687 +CONECT 5686 5685 +CONECT 5687 5688 5685 5689 +CONECT 5688 5687 +CONECT 5689 5679 5687 5690 +CONECT 5690 5691 5692 5689 5693 +CONECT 5691 5690 +CONECT 5692 5690 +CONECT 5693 5694 5690 +CONECT 5694 5693 +CONECT 5696 5697 5698 5706 +CONECT 5697 5696 +CONECT 5698 5699 5696 5700 +CONECT 5699 5698 +CONECT 5700 5701 5698 5702 +CONECT 5701 5700 +CONECT 5702 5703 5700 5704 +CONECT 5703 5702 +CONECT 5704 5705 5702 5706 +CONECT 5705 5704 +CONECT 5706 5696 5704 5707 +CONECT 5707 5708 5709 5706 5710 +CONECT 5708 5707 +CONECT 5709 5707 +CONECT 5710 5711 5707 +CONECT 5711 5710 +CONECT 5713 5714 5715 5723 +CONECT 5714 5713 +CONECT 5715 5716 5713 5717 +CONECT 5716 5715 +CONECT 5717 5718 5715 5719 +CONECT 5718 5717 +CONECT 5719 5720 5717 5721 +CONECT 5720 5719 +CONECT 5721 5722 5719 5723 +CONECT 5722 5721 +CONECT 5723 5713 5721 5724 +CONECT 5724 5725 5726 5723 5727 +CONECT 5725 5724 +CONECT 5726 5724 +CONECT 5727 5728 5724 +CONECT 5728 5727 +CONECT 5730 5731 5732 5740 +CONECT 5731 5730 +CONECT 5732 5733 5730 5734 +CONECT 5733 5732 +CONECT 5734 5735 5732 5736 +CONECT 5735 5734 +CONECT 5736 5737 5734 5738 +CONECT 5737 5736 +CONECT 5738 5739 5736 5740 +CONECT 5739 5738 +CONECT 5740 5730 5738 5741 +CONECT 5741 5742 5743 5740 5744 +CONECT 5742 5741 +CONECT 5743 5741 +CONECT 5744 5745 5741 +CONECT 5745 5744 +CONECT 5747 5748 5749 5757 +CONECT 5748 5747 +CONECT 5749 5750 5747 5751 +CONECT 5750 5749 +CONECT 5751 5752 5749 5753 +CONECT 5752 5751 +CONECT 5753 5754 5751 5755 +CONECT 5754 5753 +CONECT 5755 5756 5753 5757 +CONECT 5756 5755 +CONECT 5757 5747 5755 5758 +CONECT 5758 5759 5760 5757 5761 +CONECT 5759 5758 +CONECT 5760 5758 +CONECT 5761 5762 5758 +CONECT 5762 5761 +CONECT 5764 5765 5766 5774 +CONECT 5765 5764 +CONECT 5766 5767 5764 5768 +CONECT 5767 5766 +CONECT 5768 5769 5766 5770 +CONECT 5769 5768 +CONECT 5770 5771 5768 5772 +CONECT 5771 5770 +CONECT 5772 5773 5770 5774 +CONECT 5773 5772 +CONECT 5774 5764 5772 5775 +CONECT 5775 5776 5777 5774 5778 +CONECT 5776 5775 +CONECT 5777 5775 +CONECT 5778 5779 5775 +CONECT 5779 5778 +CONECT 5781 5782 5783 5791 +CONECT 5782 5781 +CONECT 5783 5784 5781 5785 +CONECT 5784 5783 +CONECT 5785 5786 5783 5787 +CONECT 5786 5785 +CONECT 5787 5788 5785 5789 +CONECT 5788 5787 +CONECT 5789 5790 5787 5791 +CONECT 5790 5789 +CONECT 5791 5781 5789 5792 +CONECT 5792 5793 5794 5791 5795 +CONECT 5793 5792 +CONECT 5794 5792 +CONECT 5795 5796 5792 +CONECT 5796 5795 +CONECT 5798 5799 5800 5808 +CONECT 5799 5798 +CONECT 5800 5801 5798 5802 +CONECT 5801 5800 +CONECT 5802 5803 5800 5804 +CONECT 5803 5802 +CONECT 5804 5805 5802 5806 +CONECT 5805 5804 +CONECT 5806 5807 5804 5808 +CONECT 5807 5806 +CONECT 5808 5798 5806 5809 +CONECT 5809 5810 5811 5808 5812 +CONECT 5810 5809 +CONECT 5811 5809 +CONECT 5812 5813 5809 +CONECT 5813 5812 +CONECT 5815 5816 5817 5825 +CONECT 5816 5815 +CONECT 5817 5818 5815 5819 +CONECT 5818 5817 +CONECT 5819 5820 5817 5821 +CONECT 5820 5819 +CONECT 5821 5822 5819 5823 +CONECT 5822 5821 +CONECT 5823 5824 5821 5825 +CONECT 5824 5823 +CONECT 5825 5815 5823 5826 +CONECT 5826 5827 5828 5825 5829 +CONECT 5827 5826 +CONECT 5828 5826 +CONECT 5829 5830 5826 +CONECT 5830 5829 +CONECT 5832 5833 5834 5842 +CONECT 5833 5832 +CONECT 5834 5835 5832 5836 +CONECT 5835 5834 +CONECT 5836 5837 5834 5838 +CONECT 5837 5836 +CONECT 5838 5839 5836 5840 +CONECT 5839 5838 +CONECT 5840 5841 5838 5842 +CONECT 5841 5840 +CONECT 5842 5832 5840 5843 +CONECT 5843 5844 5845 5842 5846 +CONECT 5844 5843 +CONECT 5845 5843 +CONECT 5846 5847 5843 +CONECT 5847 5846 +CONECT 5849 5850 5851 5859 +CONECT 5850 5849 +CONECT 5851 5852 5849 5853 +CONECT 5852 5851 +CONECT 5853 5854 5851 5855 +CONECT 5854 5853 +CONECT 5855 5856 5853 5857 +CONECT 5856 5855 +CONECT 5857 5858 5855 5859 +CONECT 5858 5857 +CONECT 5859 5849 5857 5860 +CONECT 5860 5861 5862 5859 5863 +CONECT 5861 5860 +CONECT 5862 5860 +CONECT 5863 5864 5860 +CONECT 5864 5863 +CONECT 5866 5867 5868 5876 +CONECT 5867 5866 +CONECT 5868 5869 5866 5870 +CONECT 5869 5868 +CONECT 5870 5871 5868 5872 +CONECT 5871 5870 +CONECT 5872 5873 5870 5874 +CONECT 5873 5872 +CONECT 5874 5875 5872 5876 +CONECT 5875 5874 +CONECT 5876 5866 5874 5877 +CONECT 5877 5878 5879 5876 5880 +CONECT 5878 5877 +CONECT 5879 5877 +CONECT 5880 5881 5877 +CONECT 5881 5880 +CONECT 5883 5884 5885 5893 +CONECT 5884 5883 +CONECT 5885 5886 5883 5887 +CONECT 5886 5885 +CONECT 5887 5888 5885 5889 +CONECT 5888 5887 +CONECT 5889 5890 5887 5891 +CONECT 5890 5889 +CONECT 5891 5892 5889 5893 +CONECT 5892 5891 +CONECT 5893 5883 5891 5894 +CONECT 5894 5895 5896 5893 5897 +CONECT 5895 5894 +CONECT 5896 5894 +CONECT 5897 5898 5894 +CONECT 5898 5897 +CONECT 5900 5901 5902 5910 +CONECT 5901 5900 +CONECT 5902 5903 5900 5904 +CONECT 5903 5902 +CONECT 5904 5905 5902 5906 +CONECT 5905 5904 +CONECT 5906 5907 5904 5908 +CONECT 5907 5906 +CONECT 5908 5909 5906 5910 +CONECT 5909 5908 +CONECT 5910 5900 5908 5911 +CONECT 5911 5912 5913 5910 5914 +CONECT 5912 5911 +CONECT 5913 5911 +CONECT 5914 5915 5911 +CONECT 5915 5914 +CONECT 5917 5918 5919 5927 +CONECT 5918 5917 +CONECT 5919 5920 5917 5921 +CONECT 5920 5919 +CONECT 5921 5922 5919 5923 +CONECT 5922 5921 +CONECT 5923 5924 5921 5925 +CONECT 5924 5923 +CONECT 5925 5926 5923 5927 +CONECT 5926 5925 +CONECT 5927 5917 5925 5928 +CONECT 5928 5929 5930 5927 5931 +CONECT 5929 5928 +CONECT 5930 5928 +CONECT 5931 5932 5928 +CONECT 5932 5931 +CONECT 5934 5935 5936 5944 +CONECT 5935 5934 +CONECT 5936 5937 5934 5938 +CONECT 5937 5936 +CONECT 5938 5939 5936 5940 +CONECT 5939 5938 +CONECT 5940 5941 5938 5942 +CONECT 5941 5940 +CONECT 5942 5943 5940 5944 +CONECT 5943 5942 +CONECT 5944 5934 5942 5945 +CONECT 5945 5946 5947 5944 5948 +CONECT 5946 5945 +CONECT 5947 5945 +CONECT 5948 5949 5945 +CONECT 5949 5948 +CONECT 5951 5952 5953 5961 +CONECT 5952 5951 +CONECT 5953 5954 5951 5955 +CONECT 5954 5953 +CONECT 5955 5956 5953 5957 +CONECT 5956 5955 +CONECT 5957 5958 5955 5959 +CONECT 5958 5957 +CONECT 5959 5960 5957 5961 +CONECT 5960 5959 +CONECT 5961 5951 5959 5962 +CONECT 5962 5963 5964 5961 5965 +CONECT 5963 5962 +CONECT 5964 5962 +CONECT 5965 5966 5962 +CONECT 5966 5965 +CONECT 5968 5969 5970 5978 +CONECT 5969 5968 +CONECT 5970 5971 5968 5972 +CONECT 5971 5970 +CONECT 5972 5973 5970 5974 +CONECT 5973 5972 +CONECT 5974 5975 5972 5976 +CONECT 5975 5974 +CONECT 5976 5977 5974 5978 +CONECT 5977 5976 +CONECT 5978 5968 5976 5979 +CONECT 5979 5980 5981 5978 5982 +CONECT 5980 5979 +CONECT 5981 5979 +CONECT 5982 5983 5979 +CONECT 5983 5982 +CONECT 5985 5986 5987 5995 +CONECT 5986 5985 +CONECT 5987 5988 5985 5989 +CONECT 5988 5987 +CONECT 5989 5990 5987 5991 +CONECT 5990 5989 +CONECT 5991 5992 5989 5993 +CONECT 5992 5991 +CONECT 5993 5994 5991 5995 +CONECT 5994 5993 +CONECT 5995 5985 5993 5996 +CONECT 5996 5997 5998 5995 5999 +CONECT 5997 5996 +CONECT 5998 5996 +CONECT 5999 6000 5996 +CONECT 6000 5999 +CONECT 6002 6003 6004 6012 +CONECT 6003 6002 +CONECT 6004 6005 6002 6006 +CONECT 6005 6004 +CONECT 6006 6007 6004 6008 +CONECT 6007 6006 +CONECT 6008 6009 6006 6010 +CONECT 6009 6008 +CONECT 6010 6011 6008 6012 +CONECT 6011 6010 +CONECT 6012 6002 6010 6013 +CONECT 6013 6014 6015 6012 6016 +CONECT 6014 6013 +CONECT 6015 6013 +CONECT 6016 6017 6013 +CONECT 6017 6016 +CONECT 6019 6020 6021 6029 +CONECT 6020 6019 +CONECT 6021 6022 6019 6023 +CONECT 6022 6021 +CONECT 6023 6024 6021 6025 +CONECT 6024 6023 +CONECT 6025 6026 6023 6027 +CONECT 6026 6025 +CONECT 6027 6028 6025 6029 +CONECT 6028 6027 +CONECT 6029 6019 6027 6030 +CONECT 6030 6031 6032 6029 6033 +CONECT 6031 6030 +CONECT 6032 6030 +CONECT 6033 6034 6030 +CONECT 6034 6033 +CONECT 6036 6037 6038 6046 +CONECT 6037 6036 +CONECT 6038 6039 6036 6040 +CONECT 6039 6038 +CONECT 6040 6041 6038 6042 +CONECT 6041 6040 +CONECT 6042 6043 6040 6044 +CONECT 6043 6042 +CONECT 6044 6045 6042 6046 +CONECT 6045 6044 +CONECT 6046 6036 6044 6047 +CONECT 6047 6048 6049 6046 6050 +CONECT 6048 6047 +CONECT 6049 6047 +CONECT 6050 6051 6047 +CONECT 6051 6050 +CONECT 6053 6054 6055 6063 +CONECT 6054 6053 +CONECT 6055 6056 6053 6057 +CONECT 6056 6055 +CONECT 6057 6058 6055 6059 +CONECT 6058 6057 +CONECT 6059 6060 6057 6061 +CONECT 6060 6059 +CONECT 6061 6062 6059 6063 +CONECT 6062 6061 +CONECT 6063 6053 6061 6064 +CONECT 6064 6065 6066 6063 6067 +CONECT 6065 6064 +CONECT 6066 6064 +CONECT 6067 6068 6064 +CONECT 6068 6067 +CONECT 6070 6071 6072 6080 +CONECT 6071 6070 +CONECT 6072 6073 6070 6074 +CONECT 6073 6072 +CONECT 6074 6075 6072 6076 +CONECT 6075 6074 +CONECT 6076 6077 6074 6078 +CONECT 6077 6076 +CONECT 6078 6079 6076 6080 +CONECT 6079 6078 +CONECT 6080 6070 6078 6081 +CONECT 6081 6082 6083 6080 6084 +CONECT 6082 6081 +CONECT 6083 6081 +CONECT 6084 6085 6081 +CONECT 6085 6084 +CONECT 6087 6088 6089 6097 +CONECT 6088 6087 +CONECT 6089 6090 6087 6091 +CONECT 6090 6089 +CONECT 6091 6092 6089 6093 +CONECT 6092 6091 +CONECT 6093 6094 6091 6095 +CONECT 6094 6093 +CONECT 6095 6096 6093 6097 +CONECT 6096 6095 +CONECT 6097 6087 6095 6098 +CONECT 6098 6099 6100 6097 6101 +CONECT 6099 6098 +CONECT 6100 6098 +CONECT 6101 6102 6098 +CONECT 6102 6101 +CONECT 6104 6105 6106 6114 +CONECT 6105 6104 +CONECT 6106 6107 6104 6108 +CONECT 6107 6106 +CONECT 6108 6109 6106 6110 +CONECT 6109 6108 +CONECT 6110 6111 6108 6112 +CONECT 6111 6110 +CONECT 6112 6113 6110 6114 +CONECT 6113 6112 +CONECT 6114 6104 6112 6115 +CONECT 6115 6116 6117 6114 6118 +CONECT 6116 6115 +CONECT 6117 6115 +CONECT 6118 6119 6115 +CONECT 6119 6118 +CONECT 6121 6122 6123 6131 +CONECT 6122 6121 +CONECT 6123 6124 6121 6125 +CONECT 6124 6123 +CONECT 6125 6126 6123 6127 +CONECT 6126 6125 +CONECT 6127 6128 6125 6129 +CONECT 6128 6127 +CONECT 6129 6130 6127 6131 +CONECT 6130 6129 +CONECT 6131 6121 6129 6132 +CONECT 6132 6133 6134 6131 6135 +CONECT 6133 6132 +CONECT 6134 6132 +CONECT 6135 6136 6132 +CONECT 6136 6135 +CONECT 6138 6139 6140 6148 +CONECT 6139 6138 +CONECT 6140 6141 6138 6142 +CONECT 6141 6140 +CONECT 6142 6143 6140 6144 +CONECT 6143 6142 +CONECT 6144 6145 6142 6146 +CONECT 6145 6144 +CONECT 6146 6147 6144 6148 +CONECT 6147 6146 +CONECT 6148 6138 6146 6149 +CONECT 6149 6150 6151 6148 6152 +CONECT 6150 6149 +CONECT 6151 6149 +CONECT 6152 6153 6149 +CONECT 6153 6152 +CONECT 6155 6156 6157 6165 +CONECT 6156 6155 +CONECT 6157 6158 6155 6159 +CONECT 6158 6157 +CONECT 6159 6160 6157 6161 +CONECT 6160 6159 +CONECT 6161 6162 6159 6163 +CONECT 6162 6161 +CONECT 6163 6164 6161 6165 +CONECT 6164 6163 +CONECT 6165 6155 6163 6166 +CONECT 6166 6167 6168 6165 6169 +CONECT 6167 6166 +CONECT 6168 6166 +CONECT 6169 6170 6166 +CONECT 6170 6169 +CONECT 6172 6173 6174 6182 +CONECT 6173 6172 +CONECT 6174 6175 6172 6176 +CONECT 6175 6174 +CONECT 6176 6177 6174 6178 +CONECT 6177 6176 +CONECT 6178 6179 6176 6180 +CONECT 6179 6178 +CONECT 6180 6181 6178 6182 +CONECT 6181 6180 +CONECT 6182 6172 6180 6183 +CONECT 6183 6184 6185 6182 6186 +CONECT 6184 6183 +CONECT 6185 6183 +CONECT 6186 6187 6183 +CONECT 6187 6186 +CONECT 6189 6190 6191 6199 +CONECT 6190 6189 +CONECT 6191 6192 6189 6193 +CONECT 6192 6191 +CONECT 6193 6194 6191 6195 +CONECT 6194 6193 +CONECT 6195 6196 6193 6197 +CONECT 6196 6195 +CONECT 6197 6198 6195 6199 +CONECT 6198 6197 +CONECT 6199 6189 6197 6200 +CONECT 6200 6201 6202 6199 6203 +CONECT 6201 6200 +CONECT 6202 6200 +CONECT 6203 6204 6200 +CONECT 6204 6203 +CONECT 6206 6207 6208 6216 +CONECT 6207 6206 +CONECT 6208 6209 6206 6210 +CONECT 6209 6208 +CONECT 6210 6211 6208 6212 +CONECT 6211 6210 +CONECT 6212 6213 6210 6214 +CONECT 6213 6212 +CONECT 6214 6215 6212 6216 +CONECT 6215 6214 +CONECT 6216 6206 6214 6217 +CONECT 6217 6218 6219 6216 6220 +CONECT 6218 6217 +CONECT 6219 6217 +CONECT 6220 6221 6217 +CONECT 6221 6220 +CONECT 6223 6224 6225 6233 +CONECT 6224 6223 +CONECT 6225 6226 6223 6227 +CONECT 6226 6225 +CONECT 6227 6228 6225 6229 +CONECT 6228 6227 +CONECT 6229 6230 6227 6231 +CONECT 6230 6229 +CONECT 6231 6232 6229 6233 +CONECT 6232 6231 +CONECT 6233 6223 6231 6234 +CONECT 6234 6235 6236 6233 6237 +CONECT 6235 6234 +CONECT 6236 6234 +CONECT 6237 6238 6234 +CONECT 6238 6237 +CONECT 6240 6241 6242 6250 +CONECT 6241 6240 +CONECT 6242 6243 6240 6244 +CONECT 6243 6242 +CONECT 6244 6245 6242 6246 +CONECT 6245 6244 +CONECT 6246 6247 6244 6248 +CONECT 6247 6246 +CONECT 6248 6249 6246 6250 +CONECT 6249 6248 +CONECT 6250 6240 6248 6251 +CONECT 6251 6252 6253 6250 6254 +CONECT 6252 6251 +CONECT 6253 6251 +CONECT 6254 6255 6251 +CONECT 6255 6254 +CONECT 6257 6258 6259 6267 +CONECT 6258 6257 +CONECT 6259 6260 6257 6261 +CONECT 6260 6259 +CONECT 6261 6262 6259 6263 +CONECT 6262 6261 +CONECT 6263 6264 6261 6265 +CONECT 6264 6263 +CONECT 6265 6266 6263 6267 +CONECT 6266 6265 +CONECT 6267 6257 6265 6268 +CONECT 6268 6269 6270 6267 6271 +CONECT 6269 6268 +CONECT 6270 6268 +CONECT 6271 6272 6268 +CONECT 6272 6271 +CONECT 6274 6275 6276 6284 +CONECT 6275 6274 +CONECT 6276 6277 6274 6278 +CONECT 6277 6276 +CONECT 6278 6279 6276 6280 +CONECT 6279 6278 +CONECT 6280 6281 6278 6282 +CONECT 6281 6280 +CONECT 6282 6283 6280 6284 +CONECT 6283 6282 +CONECT 6284 6274 6282 6285 +CONECT 6285 6286 6287 6284 6288 +CONECT 6286 6285 +CONECT 6287 6285 +CONECT 6288 6289 6285 +CONECT 6289 6288 +CONECT 6291 6292 6293 6301 +CONECT 6292 6291 +CONECT 6293 6294 6291 6295 +CONECT 6294 6293 +CONECT 6295 6296 6293 6297 +CONECT 6296 6295 +CONECT 6297 6298 6295 6299 +CONECT 6298 6297 +CONECT 6299 6300 6297 6301 +CONECT 6300 6299 +CONECT 6301 6291 6299 6302 +CONECT 6302 6303 6304 6301 6305 +CONECT 6303 6302 +CONECT 6304 6302 +CONECT 6305 6306 6302 +CONECT 6306 6305 +CONECT 6308 6309 6310 6318 +CONECT 6309 6308 +CONECT 6310 6311 6308 6312 +CONECT 6311 6310 +CONECT 6312 6313 6310 6314 +CONECT 6313 6312 +CONECT 6314 6315 6312 6316 +CONECT 6315 6314 +CONECT 6316 6317 6314 6318 +CONECT 6317 6316 +CONECT 6318 6308 6316 6319 +CONECT 6319 6320 6321 6318 6322 +CONECT 6320 6319 +CONECT 6321 6319 +CONECT 6322 6323 6319 +CONECT 6323 6322 +CONECT 6325 6326 6327 6335 +CONECT 6326 6325 +CONECT 6327 6328 6325 6329 +CONECT 6328 6327 +CONECT 6329 6330 6327 6331 +CONECT 6330 6329 +CONECT 6331 6332 6329 6333 +CONECT 6332 6331 +CONECT 6333 6334 6331 6335 +CONECT 6334 6333 +CONECT 6335 6325 6333 6336 +CONECT 6336 6337 6338 6335 6339 +CONECT 6337 6336 +CONECT 6338 6336 +CONECT 6339 6340 6336 +CONECT 6340 6339 +CONECT 6342 6343 6344 6352 +CONECT 6343 6342 +CONECT 6344 6345 6342 6346 +CONECT 6345 6344 +CONECT 6346 6347 6344 6348 +CONECT 6347 6346 +CONECT 6348 6349 6346 6350 +CONECT 6349 6348 +CONECT 6350 6351 6348 6352 +CONECT 6351 6350 +CONECT 6352 6342 6350 6353 +CONECT 6353 6354 6355 6352 6356 +CONECT 6354 6353 +CONECT 6355 6353 +CONECT 6356 6357 6353 +CONECT 6357 6356 +CONECT 6359 6360 6361 6369 +CONECT 6360 6359 +CONECT 6361 6362 6359 6363 +CONECT 6362 6361 +CONECT 6363 6364 6361 6365 +CONECT 6364 6363 +CONECT 6365 6366 6363 6367 +CONECT 6366 6365 +CONECT 6367 6368 6365 6369 +CONECT 6368 6367 +CONECT 6369 6359 6367 6370 +CONECT 6370 6371 6372 6369 6373 +CONECT 6371 6370 +CONECT 6372 6370 +CONECT 6373 6374 6370 +CONECT 6374 6373 +CONECT 6376 6377 6378 6386 +CONECT 6377 6376 +CONECT 6378 6379 6376 6380 +CONECT 6379 6378 +CONECT 6380 6381 6378 6382 +CONECT 6381 6380 +CONECT 6382 6383 6380 6384 +CONECT 6383 6382 +CONECT 6384 6385 6382 6386 +CONECT 6385 6384 +CONECT 6386 6376 6384 6387 +CONECT 6387 6388 6389 6386 6390 +CONECT 6388 6387 +CONECT 6389 6387 +CONECT 6390 6391 6387 +CONECT 6391 6390 +CONECT 6393 6394 6395 6403 +CONECT 6394 6393 +CONECT 6395 6396 6393 6397 +CONECT 6396 6395 +CONECT 6397 6398 6395 6399 +CONECT 6398 6397 +CONECT 6399 6400 6397 6401 +CONECT 6400 6399 +CONECT 6401 6402 6399 6403 +CONECT 6402 6401 +CONECT 6403 6393 6401 6404 +CONECT 6404 6405 6406 6403 6407 +CONECT 6405 6404 +CONECT 6406 6404 +CONECT 6407 6408 6404 +CONECT 6408 6407 +CONECT 6410 6411 6412 6420 +CONECT 6411 6410 +CONECT 6412 6413 6410 6414 +CONECT 6413 6412 +CONECT 6414 6415 6412 6416 +CONECT 6415 6414 +CONECT 6416 6417 6414 6418 +CONECT 6417 6416 +CONECT 6418 6419 6416 6420 +CONECT 6419 6418 +CONECT 6420 6410 6418 6421 +CONECT 6421 6422 6423 6420 6424 +CONECT 6422 6421 +CONECT 6423 6421 +CONECT 6424 6425 6421 +CONECT 6425 6424 +CONECT 6427 6428 6429 6437 +CONECT 6428 6427 +CONECT 6429 6430 6427 6431 +CONECT 6430 6429 +CONECT 6431 6432 6429 6433 +CONECT 6432 6431 +CONECT 6433 6434 6431 6435 +CONECT 6434 6433 +CONECT 6435 6436 6433 6437 +CONECT 6436 6435 +CONECT 6437 6427 6435 6438 +CONECT 6438 6439 6440 6437 6441 +CONECT 6439 6438 +CONECT 6440 6438 +CONECT 6441 6442 6438 +CONECT 6442 6441 +CONECT 6444 6445 6446 6454 +CONECT 6445 6444 +CONECT 6446 6447 6444 6448 +CONECT 6447 6446 +CONECT 6448 6449 6446 6450 +CONECT 6449 6448 +CONECT 6450 6451 6448 6452 +CONECT 6451 6450 +CONECT 6452 6453 6450 6454 +CONECT 6453 6452 +CONECT 6454 6444 6452 6455 +CONECT 6455 6456 6457 6454 6458 +CONECT 6456 6455 +CONECT 6457 6455 +CONECT 6458 6459 6455 +CONECT 6459 6458 +CONECT 6461 6462 6463 6471 +CONECT 6462 6461 +CONECT 6463 6464 6461 6465 +CONECT 6464 6463 +CONECT 6465 6466 6463 6467 +CONECT 6466 6465 +CONECT 6467 6468 6465 6469 +CONECT 6468 6467 +CONECT 6469 6470 6467 6471 +CONECT 6470 6469 +CONECT 6471 6461 6469 6472 +CONECT 6472 6473 6474 6471 6475 +CONECT 6473 6472 +CONECT 6474 6472 +CONECT 6475 6476 6472 +CONECT 6476 6475 +CONECT 6478 6479 6480 6488 +CONECT 6479 6478 +CONECT 6480 6481 6478 6482 +CONECT 6481 6480 +CONECT 6482 6483 6480 6484 +CONECT 6483 6482 +CONECT 6484 6485 6482 6486 +CONECT 6485 6484 +CONECT 6486 6487 6484 6488 +CONECT 6487 6486 +CONECT 6488 6478 6486 6489 +CONECT 6489 6490 6491 6488 6492 +CONECT 6490 6489 +CONECT 6491 6489 +CONECT 6492 6493 6489 +CONECT 6493 6492 +CONECT 6495 6496 6497 6505 +CONECT 6496 6495 +CONECT 6497 6498 6495 6499 +CONECT 6498 6497 +CONECT 6499 6500 6497 6501 +CONECT 6500 6499 +CONECT 6501 6502 6499 6503 +CONECT 6502 6501 +CONECT 6503 6504 6501 6505 +CONECT 6504 6503 +CONECT 6505 6495 6503 6506 +CONECT 6506 6507 6508 6505 6509 +CONECT 6507 6506 +CONECT 6508 6506 +CONECT 6509 6510 6506 +CONECT 6510 6509 +CONECT 6512 6513 6514 6522 +CONECT 6513 6512 +CONECT 6514 6515 6512 6516 +CONECT 6515 6514 +CONECT 6516 6517 6514 6518 +CONECT 6517 6516 +CONECT 6518 6519 6516 6520 +CONECT 6519 6518 +CONECT 6520 6521 6518 6522 +CONECT 6521 6520 +CONECT 6522 6512 6520 6523 +CONECT 6523 6524 6525 6522 6526 +CONECT 6524 6523 +CONECT 6525 6523 +CONECT 6526 6527 6523 +CONECT 6527 6526 +CONECT 6529 6530 6531 6539 +CONECT 6530 6529 +CONECT 6531 6532 6529 6533 +CONECT 6532 6531 +CONECT 6533 6534 6531 6535 +CONECT 6534 6533 +CONECT 6535 6536 6533 6537 +CONECT 6536 6535 +CONECT 6537 6538 6535 6539 +CONECT 6538 6537 +CONECT 6539 6529 6537 6540 +CONECT 6540 6541 6542 6539 6543 +CONECT 6541 6540 +CONECT 6542 6540 +CONECT 6543 6544 6540 +CONECT 6544 6543 +CONECT 6546 6547 6548 6556 +CONECT 6547 6546 +CONECT 6548 6549 6546 6550 +CONECT 6549 6548 +CONECT 6550 6551 6548 6552 +CONECT 6551 6550 +CONECT 6552 6553 6550 6554 +CONECT 6553 6552 +CONECT 6554 6555 6552 6556 +CONECT 6555 6554 +CONECT 6556 6546 6554 6557 +CONECT 6557 6558 6559 6556 6560 +CONECT 6558 6557 +CONECT 6559 6557 +CONECT 6560 6561 6557 +CONECT 6561 6560 +CONECT 6563 6564 6565 6573 +CONECT 6564 6563 +CONECT 6565 6566 6563 6567 +CONECT 6566 6565 +CONECT 6567 6568 6565 6569 +CONECT 6568 6567 +CONECT 6569 6570 6567 6571 +CONECT 6570 6569 +CONECT 6571 6572 6569 6573 +CONECT 6572 6571 +CONECT 6573 6563 6571 6574 +CONECT 6574 6575 6576 6573 6577 +CONECT 6575 6574 +CONECT 6576 6574 +CONECT 6577 6578 6574 +CONECT 6578 6577 +CONECT 6580 6581 6582 6590 +CONECT 6581 6580 +CONECT 6582 6583 6580 6584 +CONECT 6583 6582 +CONECT 6584 6585 6582 6586 +CONECT 6585 6584 +CONECT 6586 6587 6584 6588 +CONECT 6587 6586 +CONECT 6588 6589 6586 6590 +CONECT 6589 6588 +CONECT 6590 6580 6588 6591 +CONECT 6591 6592 6593 6590 6594 +CONECT 6592 6591 +CONECT 6593 6591 +CONECT 6594 6595 6591 +CONECT 6595 6594 +CONECT 6597 6598 6599 6607 +CONECT 6598 6597 +CONECT 6599 6600 6597 6601 +CONECT 6600 6599 +CONECT 6601 6602 6599 6603 +CONECT 6602 6601 +CONECT 6603 6604 6601 6605 +CONECT 6604 6603 +CONECT 6605 6606 6603 6607 +CONECT 6606 6605 +CONECT 6607 6597 6605 6608 +CONECT 6608 6609 6610 6607 6611 +CONECT 6609 6608 +CONECT 6610 6608 +CONECT 6611 6612 6608 +CONECT 6612 6611 +CONECT 6614 6615 6616 6624 +CONECT 6615 6614 +CONECT 6616 6617 6614 6618 +CONECT 6617 6616 +CONECT 6618 6619 6616 6620 +CONECT 6619 6618 +CONECT 6620 6621 6618 6622 +CONECT 6621 6620 +CONECT 6622 6623 6620 6624 +CONECT 6623 6622 +CONECT 6624 6614 6622 6625 +CONECT 6625 6626 6627 6624 6628 +CONECT 6626 6625 +CONECT 6627 6625 +CONECT 6628 6629 6625 +CONECT 6629 6628 +CONECT 6631 6632 6633 6641 +CONECT 6632 6631 +CONECT 6633 6634 6631 6635 +CONECT 6634 6633 +CONECT 6635 6636 6633 6637 +CONECT 6636 6635 +CONECT 6637 6638 6635 6639 +CONECT 6638 6637 +CONECT 6639 6640 6637 6641 +CONECT 6640 6639 +CONECT 6641 6631 6639 6642 +CONECT 6642 6643 6644 6641 6645 +CONECT 6643 6642 +CONECT 6644 6642 +CONECT 6645 6646 6642 +CONECT 6646 6645 +CONECT 6648 6649 6650 6658 +CONECT 6649 6648 +CONECT 6650 6651 6648 6652 +CONECT 6651 6650 +CONECT 6652 6653 6650 6654 +CONECT 6653 6652 +CONECT 6654 6655 6652 6656 +CONECT 6655 6654 +CONECT 6656 6657 6654 6658 +CONECT 6657 6656 +CONECT 6658 6648 6656 6659 +CONECT 6659 6660 6661 6658 6662 +CONECT 6660 6659 +CONECT 6661 6659 +CONECT 6662 6663 6659 +CONECT 6663 6662 +CONECT 6665 6666 6667 6675 +CONECT 6666 6665 +CONECT 6667 6668 6665 6669 +CONECT 6668 6667 +CONECT 6669 6670 6667 6671 +CONECT 6670 6669 +CONECT 6671 6672 6669 6673 +CONECT 6672 6671 +CONECT 6673 6674 6671 6675 +CONECT 6674 6673 +CONECT 6675 6665 6673 6676 +CONECT 6676 6677 6678 6675 6679 +CONECT 6677 6676 +CONECT 6678 6676 +CONECT 6679 6680 6676 +CONECT 6680 6679 +CONECT 6682 6683 6684 6692 +CONECT 6683 6682 +CONECT 6684 6685 6682 6686 +CONECT 6685 6684 +CONECT 6686 6687 6684 6688 +CONECT 6687 6686 +CONECT 6688 6689 6686 6690 +CONECT 6689 6688 +CONECT 6690 6691 6688 6692 +CONECT 6691 6690 +CONECT 6692 6682 6690 6693 +CONECT 6693 6694 6695 6692 6696 +CONECT 6694 6693 +CONECT 6695 6693 +CONECT 6696 6697 6693 +CONECT 6697 6696 +CONECT 6699 6700 6701 6709 +CONECT 6700 6699 +CONECT 6701 6702 6699 6703 +CONECT 6702 6701 +CONECT 6703 6704 6701 6705 +CONECT 6704 6703 +CONECT 6705 6706 6703 6707 +CONECT 6706 6705 +CONECT 6707 6708 6705 6709 +CONECT 6708 6707 +CONECT 6709 6699 6707 6710 +CONECT 6710 6711 6712 6709 6713 +CONECT 6711 6710 +CONECT 6712 6710 +CONECT 6713 6714 6710 +CONECT 6714 6713 +CONECT 6716 6717 6718 6726 +CONECT 6717 6716 +CONECT 6718 6719 6716 6720 +CONECT 6719 6718 +CONECT 6720 6721 6718 6722 +CONECT 6721 6720 +CONECT 6722 6723 6720 6724 +CONECT 6723 6722 +CONECT 6724 6725 6722 6726 +CONECT 6725 6724 +CONECT 6726 6716 6724 6727 +CONECT 6727 6728 6729 6726 6730 +CONECT 6728 6727 +CONECT 6729 6727 +CONECT 6730 6731 6727 +CONECT 6731 6730 +CONECT 6733 6734 6735 6743 +CONECT 6734 6733 +CONECT 6735 6736 6733 6737 +CONECT 6736 6735 +CONECT 6737 6738 6735 6739 +CONECT 6738 6737 +CONECT 6739 6740 6737 6741 +CONECT 6740 6739 +CONECT 6741 6742 6739 6743 +CONECT 6742 6741 +CONECT 6743 6733 6741 6744 +CONECT 6744 6745 6746 6743 6747 +CONECT 6745 6744 +CONECT 6746 6744 +CONECT 6747 6748 6744 +CONECT 6748 6747 +CONECT 6750 6751 6752 6760 +CONECT 6751 6750 +CONECT 6752 6753 6750 6754 +CONECT 6753 6752 +CONECT 6754 6755 6752 6756 +CONECT 6755 6754 +CONECT 6756 6757 6754 6758 +CONECT 6757 6756 +CONECT 6758 6759 6756 6760 +CONECT 6759 6758 +CONECT 6760 6750 6758 6761 +CONECT 6761 6762 6763 6760 6764 +CONECT 6762 6761 +CONECT 6763 6761 +CONECT 6764 6765 6761 +CONECT 6765 6764 +CONECT 6767 6768 6769 6777 +CONECT 6768 6767 +CONECT 6769 6770 6767 6771 +CONECT 6770 6769 +CONECT 6771 6772 6769 6773 +CONECT 6772 6771 +CONECT 6773 6774 6771 6775 +CONECT 6774 6773 +CONECT 6775 6776 6773 6777 +CONECT 6776 6775 +CONECT 6777 6767 6775 6778 +CONECT 6778 6779 6780 6777 6781 +CONECT 6779 6778 +CONECT 6780 6778 +CONECT 6781 6782 6778 +CONECT 6782 6781 +CONECT 6784 6785 6786 6794 +CONECT 6785 6784 +CONECT 6786 6787 6784 6788 +CONECT 6787 6786 +CONECT 6788 6789 6786 6790 +CONECT 6789 6788 +CONECT 6790 6791 6788 6792 +CONECT 6791 6790 +CONECT 6792 6793 6790 6794 +CONECT 6793 6792 +CONECT 6794 6784 6792 6795 +CONECT 6795 6796 6797 6794 6798 +CONECT 6796 6795 +CONECT 6797 6795 +CONECT 6798 6799 6795 +CONECT 6799 6798 +CONECT 6801 6802 6803 6811 +CONECT 6802 6801 +CONECT 6803 6804 6801 6805 +CONECT 6804 6803 +CONECT 6805 6806 6803 6807 +CONECT 6806 6805 +CONECT 6807 6808 6805 6809 +CONECT 6808 6807 +CONECT 6809 6810 6807 6811 +CONECT 6810 6809 +CONECT 6811 6801 6809 6812 +CONECT 6812 6813 6814 6811 6815 +CONECT 6813 6812 +CONECT 6814 6812 +CONECT 6815 6816 6812 +CONECT 6816 6815 +CONECT 6818 6819 6820 6828 +CONECT 6819 6818 +CONECT 6820 6821 6818 6822 +CONECT 6821 6820 +CONECT 6822 6823 6820 6824 +CONECT 6823 6822 +CONECT 6824 6825 6822 6826 +CONECT 6825 6824 +CONECT 6826 6827 6824 6828 +CONECT 6827 6826 +CONECT 6828 6818 6826 6829 +CONECT 6829 6830 6831 6828 6832 +CONECT 6830 6829 +CONECT 6831 6829 +CONECT 6832 6833 6829 +CONECT 6833 6832 +CONECT 6835 6836 6837 6845 +CONECT 6836 6835 +CONECT 6837 6838 6835 6839 +CONECT 6838 6837 +CONECT 6839 6840 6837 6841 +CONECT 6840 6839 +CONECT 6841 6842 6839 6843 +CONECT 6842 6841 +CONECT 6843 6844 6841 6845 +CONECT 6844 6843 +CONECT 6845 6835 6843 6846 +CONECT 6846 6847 6848 6845 6849 +CONECT 6847 6846 +CONECT 6848 6846 +CONECT 6849 6850 6846 +CONECT 6850 6849 +CONECT 6852 6853 6854 6862 +CONECT 6853 6852 +CONECT 6854 6855 6852 6856 +CONECT 6855 6854 +CONECT 6856 6857 6854 6858 +CONECT 6857 6856 +CONECT 6858 6859 6856 6860 +CONECT 6859 6858 +CONECT 6860 6861 6858 6862 +CONECT 6861 6860 +CONECT 6862 6852 6860 6863 +CONECT 6863 6864 6865 6862 6866 +CONECT 6864 6863 +CONECT 6865 6863 +CONECT 6866 6867 6863 +CONECT 6867 6866 +CONECT 6869 6870 6871 6879 +CONECT 6870 6869 +CONECT 6871 6872 6869 6873 +CONECT 6872 6871 +CONECT 6873 6874 6871 6875 +CONECT 6874 6873 +CONECT 6875 6876 6873 6877 +CONECT 6876 6875 +CONECT 6877 6878 6875 6879 +CONECT 6878 6877 +CONECT 6879 6869 6877 6880 +CONECT 6880 6881 6882 6879 6883 +CONECT 6881 6880 +CONECT 6882 6880 +CONECT 6883 6884 6880 +CONECT 6884 6883 +CONECT 6886 6887 6888 6896 +CONECT 6887 6886 +CONECT 6888 6889 6886 6890 +CONECT 6889 6888 +CONECT 6890 6891 6888 6892 +CONECT 6891 6890 +CONECT 6892 6893 6890 6894 +CONECT 6893 6892 +CONECT 6894 6895 6892 6896 +CONECT 6895 6894 +CONECT 6896 6886 6894 6897 +CONECT 6897 6898 6899 6896 6900 +CONECT 6898 6897 +CONECT 6899 6897 +CONECT 6900 6901 6897 +CONECT 6901 6900 +CONECT 6903 6904 6905 6913 +CONECT 6904 6903 +CONECT 6905 6906 6903 6907 +CONECT 6906 6905 +CONECT 6907 6908 6905 6909 +CONECT 6908 6907 +CONECT 6909 6910 6907 6911 +CONECT 6910 6909 +CONECT 6911 6912 6909 6913 +CONECT 6912 6911 +CONECT 6913 6903 6911 6914 +CONECT 6914 6915 6916 6913 6917 +CONECT 6915 6914 +CONECT 6916 6914 +CONECT 6917 6918 6914 +CONECT 6918 6917 +CONECT 6920 6921 6922 6930 +CONECT 6921 6920 +CONECT 6922 6923 6920 6924 +CONECT 6923 6922 +CONECT 6924 6925 6922 6926 +CONECT 6925 6924 +CONECT 6926 6927 6924 6928 +CONECT 6927 6926 +CONECT 6928 6929 6926 6930 +CONECT 6929 6928 +CONECT 6930 6920 6928 6931 +CONECT 6931 6932 6933 6930 6934 +CONECT 6932 6931 +CONECT 6933 6931 +CONECT 6934 6935 6931 +CONECT 6935 6934 +CONECT 6937 6938 6939 6947 +CONECT 6938 6937 +CONECT 6939 6940 6937 6941 +CONECT 6940 6939 +CONECT 6941 6942 6939 6943 +CONECT 6942 6941 +CONECT 6943 6944 6941 6945 +CONECT 6944 6943 +CONECT 6945 6946 6943 6947 +CONECT 6946 6945 +CONECT 6947 6937 6945 6948 +CONECT 6948 6949 6950 6947 6951 +CONECT 6949 6948 +CONECT 6950 6948 +CONECT 6951 6952 6948 +CONECT 6952 6951 +CONECT 6954 6955 6956 6964 +CONECT 6955 6954 +CONECT 6956 6957 6954 6958 +CONECT 6957 6956 +CONECT 6958 6959 6956 6960 +CONECT 6959 6958 +CONECT 6960 6961 6958 6962 +CONECT 6961 6960 +CONECT 6962 6963 6960 6964 +CONECT 6963 6962 +CONECT 6964 6954 6962 6965 +CONECT 6965 6966 6967 6964 6968 +CONECT 6966 6965 +CONECT 6967 6965 +CONECT 6968 6969 6965 +CONECT 6969 6968 +CONECT 6971 6972 6973 6981 +CONECT 6972 6971 +CONECT 6973 6974 6971 6975 +CONECT 6974 6973 +CONECT 6975 6976 6973 6977 +CONECT 6976 6975 +CONECT 6977 6978 6975 6979 +CONECT 6978 6977 +CONECT 6979 6980 6977 6981 +CONECT 6980 6979 +CONECT 6981 6971 6979 6982 +CONECT 6982 6983 6984 6981 6985 +CONECT 6983 6982 +CONECT 6984 6982 +CONECT 6985 6986 6982 +CONECT 6986 6985 +CONECT 6988 6989 6990 6998 +CONECT 6989 6988 +CONECT 6990 6991 6988 6992 +CONECT 6991 6990 +CONECT 6992 6993 6990 6994 +CONECT 6993 6992 +CONECT 6994 6995 6992 6996 +CONECT 6995 6994 +CONECT 6996 6997 6994 6998 +CONECT 6997 6996 +CONECT 6998 6988 6996 6999 +CONECT 6999 7000 7001 6998 7002 +CONECT 7000 6999 +CONECT 7001 6999 +CONECT 7002 7003 6999 +CONECT 7003 7002 +CONECT 7005 7006 7007 7015 +CONECT 7006 7005 +CONECT 7007 7008 7005 7009 +CONECT 7008 7007 +CONECT 7009 7010 7007 7011 +CONECT 7010 7009 +CONECT 7011 7012 7009 7013 +CONECT 7012 7011 +CONECT 7013 7014 7011 7015 +CONECT 7014 7013 +CONECT 7015 7005 7013 7016 +CONECT 7016 7017 7018 7015 7019 +CONECT 7017 7016 +CONECT 7018 7016 +CONECT 7019 7020 7016 +CONECT 7020 7019 +CONECT 7022 7023 7024 7032 +CONECT 7023 7022 +CONECT 7024 7025 7022 7026 +CONECT 7025 7024 +CONECT 7026 7027 7024 7028 +CONECT 7027 7026 +CONECT 7028 7029 7026 7030 +CONECT 7029 7028 +CONECT 7030 7031 7028 7032 +CONECT 7031 7030 +CONECT 7032 7022 7030 7033 +CONECT 7033 7034 7035 7032 7036 +CONECT 7034 7033 +CONECT 7035 7033 +CONECT 7036 7037 7033 +CONECT 7037 7036 +CONECT 7039 7040 7041 7049 +CONECT 7040 7039 +CONECT 7041 7042 7039 7043 +CONECT 7042 7041 +CONECT 7043 7044 7041 7045 +CONECT 7044 7043 +CONECT 7045 7046 7043 7047 +CONECT 7046 7045 +CONECT 7047 7048 7045 7049 +CONECT 7048 7047 +CONECT 7049 7039 7047 7050 +CONECT 7050 7051 7052 7049 7053 +CONECT 7051 7050 +CONECT 7052 7050 +CONECT 7053 7054 7050 +CONECT 7054 7053 +CONECT 7056 7057 7058 7066 +CONECT 7057 7056 +CONECT 7058 7059 7056 7060 +CONECT 7059 7058 +CONECT 7060 7061 7058 7062 +CONECT 7061 7060 +CONECT 7062 7063 7060 7064 +CONECT 7063 7062 +CONECT 7064 7065 7062 7066 +CONECT 7065 7064 +CONECT 7066 7056 7064 7067 +CONECT 7067 7068 7069 7066 7070 +CONECT 7068 7067 +CONECT 7069 7067 +CONECT 7070 7071 7067 +CONECT 7071 7070 +CONECT 7073 7074 7075 7083 +CONECT 7074 7073 +CONECT 7075 7076 7073 7077 +CONECT 7076 7075 +CONECT 7077 7078 7075 7079 +CONECT 7078 7077 +CONECT 7079 7080 7077 7081 +CONECT 7080 7079 +CONECT 7081 7082 7079 7083 +CONECT 7082 7081 +CONECT 7083 7073 7081 7084 +CONECT 7084 7085 7086 7083 7087 +CONECT 7085 7084 +CONECT 7086 7084 +CONECT 7087 7088 7084 +CONECT 7088 7087 +CONECT 7090 7091 7092 7100 +CONECT 7091 7090 +CONECT 7092 7093 7090 7094 +CONECT 7093 7092 +CONECT 7094 7095 7092 7096 +CONECT 7095 7094 +CONECT 7096 7097 7094 7098 +CONECT 7097 7096 +CONECT 7098 7099 7096 7100 +CONECT 7099 7098 +CONECT 7100 7090 7098 7101 +CONECT 7101 7102 7103 7100 7104 +CONECT 7102 7101 +CONECT 7103 7101 +CONECT 7104 7105 7101 +CONECT 7105 7104 +CONECT 7107 7108 7109 7117 +CONECT 7108 7107 +CONECT 7109 7110 7107 7111 +CONECT 7110 7109 +CONECT 7111 7112 7109 7113 +CONECT 7112 7111 +CONECT 7113 7114 7111 7115 +CONECT 7114 7113 +CONECT 7115 7116 7113 7117 +CONECT 7116 7115 +CONECT 7117 7107 7115 7118 +CONECT 7118 7119 7120 7117 7121 +CONECT 7119 7118 +CONECT 7120 7118 +CONECT 7121 7122 7118 +CONECT 7122 7121 +CONECT 7124 7125 7126 7134 +CONECT 7125 7124 +CONECT 7126 7127 7124 7128 +CONECT 7127 7126 +CONECT 7128 7129 7126 7130 +CONECT 7129 7128 +CONECT 7130 7131 7128 7132 +CONECT 7131 7130 +CONECT 7132 7133 7130 7134 +CONECT 7133 7132 +CONECT 7134 7124 7132 7135 +CONECT 7135 7136 7137 7134 7138 +CONECT 7136 7135 +CONECT 7137 7135 +CONECT 7138 7139 7135 +CONECT 7139 7138 +CONECT 7141 7142 7143 7151 +CONECT 7142 7141 +CONECT 7143 7144 7141 7145 +CONECT 7144 7143 +CONECT 7145 7146 7143 7147 +CONECT 7146 7145 +CONECT 7147 7148 7145 7149 +CONECT 7148 7147 +CONECT 7149 7150 7147 7151 +CONECT 7150 7149 +CONECT 7151 7141 7149 7152 +CONECT 7152 7153 7154 7151 7155 +CONECT 7153 7152 +CONECT 7154 7152 +CONECT 7155 7156 7152 +CONECT 7156 7155 +CONECT 7158 7159 7160 7168 +CONECT 7159 7158 +CONECT 7160 7161 7158 7162 +CONECT 7161 7160 +CONECT 7162 7163 7160 7164 +CONECT 7163 7162 +CONECT 7164 7165 7162 7166 +CONECT 7165 7164 +CONECT 7166 7167 7164 7168 +CONECT 7167 7166 +CONECT 7168 7158 7166 7169 +CONECT 7169 7170 7171 7168 7172 +CONECT 7170 7169 +CONECT 7171 7169 +CONECT 7172 7173 7169 +CONECT 7173 7172 +CONECT 7175 7176 7177 7185 +CONECT 7176 7175 +CONECT 7177 7178 7175 7179 +CONECT 7178 7177 +CONECT 7179 7180 7177 7181 +CONECT 7180 7179 +CONECT 7181 7182 7179 7183 +CONECT 7182 7181 +CONECT 7183 7184 7181 7185 +CONECT 7184 7183 +CONECT 7185 7175 7183 7186 +CONECT 7186 7187 7188 7185 7189 +CONECT 7187 7186 +CONECT 7188 7186 +CONECT 7189 7190 7186 +CONECT 7190 7189 +CONECT 7192 7193 7194 7202 +CONECT 7193 7192 +CONECT 7194 7195 7192 7196 +CONECT 7195 7194 +CONECT 7196 7197 7194 7198 +CONECT 7197 7196 +CONECT 7198 7199 7196 7200 +CONECT 7199 7198 +CONECT 7200 7201 7198 7202 +CONECT 7201 7200 +CONECT 7202 7192 7200 7203 +CONECT 7203 7204 7205 7202 7206 +CONECT 7204 7203 +CONECT 7205 7203 +CONECT 7206 7207 7203 +CONECT 7207 7206 +CONECT 7209 7210 7211 7219 +CONECT 7210 7209 +CONECT 7211 7212 7209 7213 +CONECT 7212 7211 +CONECT 7213 7214 7211 7215 +CONECT 7214 7213 +CONECT 7215 7216 7213 7217 +CONECT 7216 7215 +CONECT 7217 7218 7215 7219 +CONECT 7218 7217 +CONECT 7219 7209 7217 7220 +CONECT 7220 7221 7222 7219 7223 +CONECT 7221 7220 +CONECT 7222 7220 +CONECT 7223 7224 7220 +CONECT 7224 7223 +CONECT 7226 7227 7228 7236 +CONECT 7227 7226 +CONECT 7228 7229 7226 7230 +CONECT 7229 7228 +CONECT 7230 7231 7228 7232 +CONECT 7231 7230 +CONECT 7232 7233 7230 7234 +CONECT 7233 7232 +CONECT 7234 7235 7232 7236 +CONECT 7235 7234 +CONECT 7236 7226 7234 7237 +CONECT 7237 7238 7239 7236 7240 +CONECT 7238 7237 +CONECT 7239 7237 +CONECT 7240 7241 7237 +CONECT 7241 7240 +CONECT 7243 7244 7245 7253 +CONECT 7244 7243 +CONECT 7245 7246 7243 7247 +CONECT 7246 7245 +CONECT 7247 7248 7245 7249 +CONECT 7248 7247 +CONECT 7249 7250 7247 7251 +CONECT 7250 7249 +CONECT 7251 7252 7249 7253 +CONECT 7252 7251 +CONECT 7253 7243 7251 7254 +CONECT 7254 7255 7256 7253 7257 +CONECT 7255 7254 +CONECT 7256 7254 +CONECT 7257 7258 7254 +CONECT 7258 7257 +CONECT 7260 7261 7262 7270 +CONECT 7261 7260 +CONECT 7262 7263 7260 7264 +CONECT 7263 7262 +CONECT 7264 7265 7262 7266 +CONECT 7265 7264 +CONECT 7266 7267 7264 7268 +CONECT 7267 7266 +CONECT 7268 7269 7266 7270 +CONECT 7269 7268 +CONECT 7270 7260 7268 7271 +CONECT 7271 7272 7273 7270 7274 +CONECT 7272 7271 +CONECT 7273 7271 +CONECT 7274 7275 7271 +CONECT 7275 7274 +CONECT 7277 7278 7279 7287 +CONECT 7278 7277 +CONECT 7279 7280 7277 7281 +CONECT 7280 7279 +CONECT 7281 7282 7279 7283 +CONECT 7282 7281 +CONECT 7283 7284 7281 7285 +CONECT 7284 7283 +CONECT 7285 7286 7283 7287 +CONECT 7286 7285 +CONECT 7287 7277 7285 7288 +CONECT 7288 7289 7290 7287 7291 +CONECT 7289 7288 +CONECT 7290 7288 +CONECT 7291 7292 7288 +CONECT 7292 7291 +CONECT 7294 7295 7296 7304 +CONECT 7295 7294 +CONECT 7296 7297 7294 7298 +CONECT 7297 7296 +CONECT 7298 7299 7296 7300 +CONECT 7299 7298 +CONECT 7300 7301 7298 7302 +CONECT 7301 7300 +CONECT 7302 7303 7300 7304 +CONECT 7303 7302 +CONECT 7304 7294 7302 7305 +CONECT 7305 7306 7307 7304 7308 +CONECT 7306 7305 +CONECT 7307 7305 +CONECT 7308 7309 7305 +CONECT 7309 7308 +CONECT 7311 7312 7313 7321 +CONECT 7312 7311 +CONECT 7313 7314 7311 7315 +CONECT 7314 7313 +CONECT 7315 7316 7313 7317 +CONECT 7316 7315 +CONECT 7317 7318 7315 7319 +CONECT 7318 7317 +CONECT 7319 7320 7317 7321 +CONECT 7320 7319 +CONECT 7321 7311 7319 7322 +CONECT 7322 7323 7324 7321 7325 +CONECT 7323 7322 +CONECT 7324 7322 +CONECT 7325 7326 7322 +CONECT 7326 7325 +CONECT 7328 7329 7330 7338 +CONECT 7329 7328 +CONECT 7330 7331 7328 7332 +CONECT 7331 7330 +CONECT 7332 7333 7330 7334 +CONECT 7333 7332 +CONECT 7334 7335 7332 7336 +CONECT 7335 7334 +CONECT 7336 7337 7334 7338 +CONECT 7337 7336 +CONECT 7338 7328 7336 7339 +CONECT 7339 7340 7341 7338 7342 +CONECT 7340 7339 +CONECT 7341 7339 +CONECT 7342 7343 7339 +CONECT 7343 7342 +CONECT 7345 7346 7347 7355 +CONECT 7346 7345 +CONECT 7347 7348 7345 7349 +CONECT 7348 7347 +CONECT 7349 7350 7347 7351 +CONECT 7350 7349 +CONECT 7351 7352 7349 7353 +CONECT 7352 7351 +CONECT 7353 7354 7351 7355 +CONECT 7354 7353 +CONECT 7355 7345 7353 7356 +CONECT 7356 7357 7358 7355 7359 +CONECT 7357 7356 +CONECT 7358 7356 +CONECT 7359 7360 7356 +CONECT 7360 7359 +CONECT 7362 7363 7364 7372 +CONECT 7363 7362 +CONECT 7364 7365 7362 7366 +CONECT 7365 7364 +CONECT 7366 7367 7364 7368 +CONECT 7367 7366 +CONECT 7368 7369 7366 7370 +CONECT 7369 7368 +CONECT 7370 7371 7368 7372 +CONECT 7371 7370 +CONECT 7372 7362 7370 7373 +CONECT 7373 7374 7375 7372 7376 +CONECT 7374 7373 +CONECT 7375 7373 +CONECT 7376 7377 7373 +CONECT 7377 7376 +CONECT 7379 7380 7381 7389 +CONECT 7380 7379 +CONECT 7381 7382 7379 7383 +CONECT 7382 7381 +CONECT 7383 7384 7381 7385 +CONECT 7384 7383 +CONECT 7385 7386 7383 7387 +CONECT 7386 7385 +CONECT 7387 7388 7385 7389 +CONECT 7388 7387 +CONECT 7389 7379 7387 7390 +CONECT 7390 7391 7392 7389 7393 +CONECT 7391 7390 +CONECT 7392 7390 +CONECT 7393 7394 7390 +CONECT 7394 7393 +CONECT 7396 7397 7398 7406 +CONECT 7397 7396 +CONECT 7398 7399 7396 7400 +CONECT 7399 7398 +CONECT 7400 7401 7398 7402 +CONECT 7401 7400 +CONECT 7402 7403 7400 7404 +CONECT 7403 7402 +CONECT 7404 7405 7402 7406 +CONECT 7405 7404 +CONECT 7406 7396 7404 7407 +CONECT 7407 7408 7409 7406 7410 +CONECT 7408 7407 +CONECT 7409 7407 +CONECT 7410 7411 7407 +CONECT 7411 7410 +CONECT 7413 7414 7415 7423 +CONECT 7414 7413 +CONECT 7415 7416 7413 7417 +CONECT 7416 7415 +CONECT 7417 7418 7415 7419 +CONECT 7418 7417 +CONECT 7419 7420 7417 7421 +CONECT 7420 7419 +CONECT 7421 7422 7419 7423 +CONECT 7422 7421 +CONECT 7423 7413 7421 7424 +CONECT 7424 7425 7426 7423 7427 +CONECT 7425 7424 +CONECT 7426 7424 +CONECT 7427 7428 7424 +CONECT 7428 7427 +CONECT 7430 7431 7432 7440 +CONECT 7431 7430 +CONECT 7432 7433 7430 7434 +CONECT 7433 7432 +CONECT 7434 7435 7432 7436 +CONECT 7435 7434 +CONECT 7436 7437 7434 7438 +CONECT 7437 7436 +CONECT 7438 7439 7436 7440 +CONECT 7439 7438 +CONECT 7440 7430 7438 7441 +CONECT 7441 7442 7443 7440 7444 +CONECT 7442 7441 +CONECT 7443 7441 +CONECT 7444 7445 7441 +CONECT 7445 7444 +CONECT 7447 7448 7449 7457 +CONECT 7448 7447 +CONECT 7449 7450 7447 7451 +CONECT 7450 7449 +CONECT 7451 7452 7449 7453 +CONECT 7452 7451 +CONECT 7453 7454 7451 7455 +CONECT 7454 7453 +CONECT 7455 7456 7453 7457 +CONECT 7456 7455 +CONECT 7457 7447 7455 7458 +CONECT 7458 7459 7460 7457 7461 +CONECT 7459 7458 +CONECT 7460 7458 +CONECT 7461 7462 7458 +CONECT 7462 7461 +CONECT 7464 7465 7466 7474 +CONECT 7465 7464 +CONECT 7466 7467 7464 7468 +CONECT 7467 7466 +CONECT 7468 7469 7466 7470 +CONECT 7469 7468 +CONECT 7470 7471 7468 7472 +CONECT 7471 7470 +CONECT 7472 7473 7470 7474 +CONECT 7473 7472 +CONECT 7474 7464 7472 7475 +CONECT 7475 7476 7477 7474 7478 +CONECT 7476 7475 +CONECT 7477 7475 +CONECT 7478 7479 7475 +CONECT 7479 7478 +CONECT 7481 7482 7483 7491 +CONECT 7482 7481 +CONECT 7483 7484 7481 7485 +CONECT 7484 7483 +CONECT 7485 7486 7483 7487 +CONECT 7486 7485 +CONECT 7487 7488 7485 7489 +CONECT 7488 7487 +CONECT 7489 7490 7487 7491 +CONECT 7490 7489 +CONECT 7491 7481 7489 7492 +CONECT 7492 7493 7494 7491 7495 +CONECT 7493 7492 +CONECT 7494 7492 +CONECT 7495 7496 7492 +CONECT 7496 7495 +CONECT 7498 7499 7500 7508 +CONECT 7499 7498 +CONECT 7500 7501 7498 7502 +CONECT 7501 7500 +CONECT 7502 7503 7500 7504 +CONECT 7503 7502 +CONECT 7504 7505 7502 7506 +CONECT 7505 7504 +CONECT 7506 7507 7504 7508 +CONECT 7507 7506 +CONECT 7508 7498 7506 7509 +CONECT 7509 7510 7511 7508 7512 +CONECT 7510 7509 +CONECT 7511 7509 +CONECT 7512 7513 7509 +CONECT 7513 7512 +CONECT 7515 7516 7517 7525 +CONECT 7516 7515 +CONECT 7517 7518 7515 7519 +CONECT 7518 7517 +CONECT 7519 7520 7517 7521 +CONECT 7520 7519 +CONECT 7521 7522 7519 7523 +CONECT 7522 7521 +CONECT 7523 7524 7521 7525 +CONECT 7524 7523 +CONECT 7525 7515 7523 7526 +CONECT 7526 7527 7528 7525 7529 +CONECT 7527 7526 +CONECT 7528 7526 +CONECT 7529 7530 7526 +CONECT 7530 7529 +CONECT 7532 7533 7534 7542 +CONECT 7533 7532 +CONECT 7534 7535 7532 7536 +CONECT 7535 7534 +CONECT 7536 7537 7534 7538 +CONECT 7537 7536 +CONECT 7538 7539 7536 7540 +CONECT 7539 7538 +CONECT 7540 7541 7538 7542 +CONECT 7541 7540 +CONECT 7542 7532 7540 7543 +CONECT 7543 7544 7545 7542 7546 +CONECT 7544 7543 +CONECT 7545 7543 +CONECT 7546 7547 7543 +CONECT 7547 7546 +CONECT 7549 7550 7551 7559 +CONECT 7550 7549 +CONECT 7551 7552 7549 7553 +CONECT 7552 7551 +CONECT 7553 7554 7551 7555 +CONECT 7554 7553 +CONECT 7555 7556 7553 7557 +CONECT 7556 7555 +CONECT 7557 7558 7555 7559 +CONECT 7558 7557 +CONECT 7559 7549 7557 7560 +CONECT 7560 7561 7562 7559 7563 +CONECT 7561 7560 +CONECT 7562 7560 +CONECT 7563 7564 7560 +CONECT 7564 7563 +CONECT 7566 7567 7568 7576 +CONECT 7567 7566 +CONECT 7568 7569 7566 7570 +CONECT 7569 7568 +CONECT 7570 7571 7568 7572 +CONECT 7571 7570 +CONECT 7572 7573 7570 7574 +CONECT 7573 7572 +CONECT 7574 7575 7572 7576 +CONECT 7575 7574 +CONECT 7576 7566 7574 7577 +CONECT 7577 7578 7579 7576 7580 +CONECT 7578 7577 +CONECT 7579 7577 +CONECT 7580 7581 7577 +CONECT 7581 7580 +CONECT 7583 7584 7585 7593 +CONECT 7584 7583 +CONECT 7585 7586 7583 7587 +CONECT 7586 7585 +CONECT 7587 7588 7585 7589 +CONECT 7588 7587 +CONECT 7589 7590 7587 7591 +CONECT 7590 7589 +CONECT 7591 7592 7589 7593 +CONECT 7592 7591 +CONECT 7593 7583 7591 7594 +CONECT 7594 7595 7596 7593 7597 +CONECT 7595 7594 +CONECT 7596 7594 +CONECT 7597 7598 7594 +CONECT 7598 7597 +CONECT 7600 7601 7602 7610 +CONECT 7601 7600 +CONECT 7602 7603 7600 7604 +CONECT 7603 7602 +CONECT 7604 7605 7602 7606 +CONECT 7605 7604 +CONECT 7606 7607 7604 7608 +CONECT 7607 7606 +CONECT 7608 7609 7606 7610 +CONECT 7609 7608 +CONECT 7610 7600 7608 7611 +CONECT 7611 7612 7613 7610 7614 +CONECT 7612 7611 +CONECT 7613 7611 +CONECT 7614 7615 7611 +CONECT 7615 7614 +CONECT 7617 7618 7619 7627 +CONECT 7618 7617 +CONECT 7619 7620 7617 7621 +CONECT 7620 7619 +CONECT 7621 7622 7619 7623 +CONECT 7622 7621 +CONECT 7623 7624 7621 7625 +CONECT 7624 7623 +CONECT 7625 7626 7623 7627 +CONECT 7626 7625 +CONECT 7627 7617 7625 7628 +CONECT 7628 7629 7630 7627 7631 +CONECT 7629 7628 +CONECT 7630 7628 +CONECT 7631 7632 7628 +CONECT 7632 7631 +CONECT 7634 7635 7636 7644 +CONECT 7635 7634 +CONECT 7636 7637 7634 7638 +CONECT 7637 7636 +CONECT 7638 7639 7636 7640 +CONECT 7639 7638 +CONECT 7640 7641 7638 7642 +CONECT 7641 7640 +CONECT 7642 7643 7640 7644 +CONECT 7643 7642 +CONECT 7644 7634 7642 7645 +CONECT 7645 7646 7647 7644 7648 +CONECT 7646 7645 +CONECT 7647 7645 +CONECT 7648 7649 7645 +CONECT 7649 7648 +CONECT 7651 7652 7653 7661 +CONECT 7652 7651 +CONECT 7653 7654 7651 7655 +CONECT 7654 7653 +CONECT 7655 7656 7653 7657 +CONECT 7656 7655 +CONECT 7657 7658 7655 7659 +CONECT 7658 7657 +CONECT 7659 7660 7657 7661 +CONECT 7660 7659 +CONECT 7661 7651 7659 7662 +CONECT 7662 7663 7664 7661 7665 +CONECT 7663 7662 +CONECT 7664 7662 +CONECT 7665 7666 7662 +CONECT 7666 7665 +CONECT 7668 7669 7670 7678 +CONECT 7669 7668 +CONECT 7670 7671 7668 7672 +CONECT 7671 7670 +CONECT 7672 7673 7670 7674 +CONECT 7673 7672 +CONECT 7674 7675 7672 7676 +CONECT 7675 7674 +CONECT 7676 7677 7674 7678 +CONECT 7677 7676 +CONECT 7678 7668 7676 7679 +CONECT 7679 7680 7681 7678 7682 +CONECT 7680 7679 +CONECT 7681 7679 +CONECT 7682 7683 7679 +CONECT 7683 7682 +CONECT 7685 7686 7687 7695 +CONECT 7686 7685 +CONECT 7687 7688 7685 7689 +CONECT 7688 7687 +CONECT 7689 7690 7687 7691 +CONECT 7690 7689 +CONECT 7691 7692 7689 7693 +CONECT 7692 7691 +CONECT 7693 7694 7691 7695 +CONECT 7694 7693 +CONECT 7695 7685 7693 7696 +CONECT 7696 7697 7698 7695 7699 +CONECT 7697 7696 +CONECT 7698 7696 +CONECT 7699 7700 7696 +CONECT 7700 7699 +CONECT 7702 7703 7704 7712 +CONECT 7703 7702 +CONECT 7704 7705 7702 7706 +CONECT 7705 7704 +CONECT 7706 7707 7704 7708 +CONECT 7707 7706 +CONECT 7708 7709 7706 7710 +CONECT 7709 7708 +CONECT 7710 7711 7708 7712 +CONECT 7711 7710 +CONECT 7712 7702 7710 7713 +CONECT 7713 7714 7715 7712 7716 +CONECT 7714 7713 +CONECT 7715 7713 +CONECT 7716 7717 7713 +CONECT 7717 7716 +CONECT 7719 7720 7721 7729 +CONECT 7720 7719 +CONECT 7721 7722 7719 7723 +CONECT 7722 7721 +CONECT 7723 7724 7721 7725 +CONECT 7724 7723 +CONECT 7725 7726 7723 7727 +CONECT 7726 7725 +CONECT 7727 7728 7725 7729 +CONECT 7728 7727 +CONECT 7729 7719 7727 7730 +CONECT 7730 7731 7732 7729 7733 +CONECT 7731 7730 +CONECT 7732 7730 +CONECT 7733 7734 7730 +CONECT 7734 7733 +CONECT 7736 7737 7738 7746 +CONECT 7737 7736 +CONECT 7738 7739 7736 7740 +CONECT 7739 7738 +CONECT 7740 7741 7738 7742 +CONECT 7741 7740 +CONECT 7742 7743 7740 7744 +CONECT 7743 7742 +CONECT 7744 7745 7742 7746 +CONECT 7745 7744 +CONECT 7746 7736 7744 7747 +CONECT 7747 7748 7749 7746 7750 +CONECT 7748 7747 +CONECT 7749 7747 +CONECT 7750 7751 7747 +CONECT 7751 7750 +CONECT 7753 7754 7755 7763 +CONECT 7754 7753 +CONECT 7755 7756 7753 7757 +CONECT 7756 7755 +CONECT 7757 7758 7755 7759 +CONECT 7758 7757 +CONECT 7759 7760 7757 7761 +CONECT 7760 7759 +CONECT 7761 7762 7759 7763 +CONECT 7762 7761 +CONECT 7763 7753 7761 7764 +CONECT 7764 7765 7766 7763 7767 +CONECT 7765 7764 +CONECT 7766 7764 +CONECT 7767 7768 7764 +CONECT 7768 7767 +CONECT 7770 7771 7772 7780 +CONECT 7771 7770 +CONECT 7772 7773 7770 7774 +CONECT 7773 7772 +CONECT 7774 7775 7772 7776 +CONECT 7775 7774 +CONECT 7776 7777 7774 7778 +CONECT 7777 7776 +CONECT 7778 7779 7776 7780 +CONECT 7779 7778 +CONECT 7780 7770 7778 7781 +CONECT 7781 7782 7783 7780 7784 +CONECT 7782 7781 +CONECT 7783 7781 +CONECT 7784 7785 7781 +CONECT 7785 7784 +CONECT 7787 7788 7789 7797 +CONECT 7788 7787 +CONECT 7789 7790 7787 7791 +CONECT 7790 7789 +CONECT 7791 7792 7789 7793 +CONECT 7792 7791 +CONECT 7793 7794 7791 7795 +CONECT 7794 7793 +CONECT 7795 7796 7793 7797 +CONECT 7796 7795 +CONECT 7797 7787 7795 7798 +CONECT 7798 7799 7800 7797 7801 +CONECT 7799 7798 +CONECT 7800 7798 +CONECT 7801 7802 7798 +CONECT 7802 7801 +CONECT 7804 7805 7806 7814 +CONECT 7805 7804 +CONECT 7806 7807 7804 7808 +CONECT 7807 7806 +CONECT 7808 7809 7806 7810 +CONECT 7809 7808 +CONECT 7810 7811 7808 7812 +CONECT 7811 7810 +CONECT 7812 7813 7810 7814 +CONECT 7813 7812 +CONECT 7814 7804 7812 7815 +CONECT 7815 7816 7817 7814 7818 +CONECT 7816 7815 +CONECT 7817 7815 +CONECT 7818 7819 7815 +CONECT 7819 7818 +CONECT 7821 7822 7823 7831 +CONECT 7822 7821 +CONECT 7823 7824 7821 7825 +CONECT 7824 7823 +CONECT 7825 7826 7823 7827 +CONECT 7826 7825 +CONECT 7827 7828 7825 7829 +CONECT 7828 7827 +CONECT 7829 7830 7827 7831 +CONECT 7830 7829 +CONECT 7831 7821 7829 7832 +CONECT 7832 7833 7834 7831 7835 +CONECT 7833 7832 +CONECT 7834 7832 +CONECT 7835 7836 7832 +CONECT 7836 7835 +CONECT 7838 7839 7840 7848 +CONECT 7839 7838 +CONECT 7840 7841 7838 7842 +CONECT 7841 7840 +CONECT 7842 7843 7840 7844 +CONECT 7843 7842 +CONECT 7844 7845 7842 7846 +CONECT 7845 7844 +CONECT 7846 7847 7844 7848 +CONECT 7847 7846 +CONECT 7848 7838 7846 7849 +CONECT 7849 7850 7851 7848 7852 +CONECT 7850 7849 +CONECT 7851 7849 +CONECT 7852 7853 7849 +CONECT 7853 7852 +CONECT 7855 7856 7857 7865 +CONECT 7856 7855 +CONECT 7857 7858 7855 7859 +CONECT 7858 7857 +CONECT 7859 7860 7857 7861 +CONECT 7860 7859 +CONECT 7861 7862 7859 7863 +CONECT 7862 7861 +CONECT 7863 7864 7861 7865 +CONECT 7864 7863 +CONECT 7865 7855 7863 7866 +CONECT 7866 7867 7868 7865 7869 +CONECT 7867 7866 +CONECT 7868 7866 +CONECT 7869 7870 7866 +CONECT 7870 7869 +CONECT 7872 7873 7874 7882 +CONECT 7873 7872 +CONECT 7874 7875 7872 7876 +CONECT 7875 7874 +CONECT 7876 7877 7874 7878 +CONECT 7877 7876 +CONECT 7878 7879 7876 7880 +CONECT 7879 7878 +CONECT 7880 7881 7878 7882 +CONECT 7881 7880 +CONECT 7882 7872 7880 7883 +CONECT 7883 7884 7885 7882 7886 +CONECT 7884 7883 +CONECT 7885 7883 +CONECT 7886 7887 7883 +CONECT 7887 7886 +CONECT 7889 7890 7891 7899 +CONECT 7890 7889 +CONECT 7891 7892 7889 7893 +CONECT 7892 7891 +CONECT 7893 7894 7891 7895 +CONECT 7894 7893 +CONECT 7895 7896 7893 7897 +CONECT 7896 7895 +CONECT 7897 7898 7895 7899 +CONECT 7898 7897 +CONECT 7899 7889 7897 7900 +CONECT 7900 7901 7902 7899 7903 +CONECT 7901 7900 +CONECT 7902 7900 +CONECT 7903 7904 7900 +CONECT 7904 7903 +CONECT 7906 7907 7908 7916 +CONECT 7907 7906 +CONECT 7908 7909 7906 7910 +CONECT 7909 7908 +CONECT 7910 7911 7908 7912 +CONECT 7911 7910 +CONECT 7912 7913 7910 7914 +CONECT 7913 7912 +CONECT 7914 7915 7912 7916 +CONECT 7915 7914 +CONECT 7916 7906 7914 7917 +CONECT 7917 7918 7919 7916 7920 +CONECT 7918 7917 +CONECT 7919 7917 +CONECT 7920 7921 7917 +CONECT 7921 7920 +CONECT 7923 7924 7925 7933 +CONECT 7924 7923 +CONECT 7925 7926 7923 7927 +CONECT 7926 7925 +CONECT 7927 7928 7925 7929 +CONECT 7928 7927 +CONECT 7929 7930 7927 7931 +CONECT 7930 7929 +CONECT 7931 7932 7929 7933 +CONECT 7932 7931 +CONECT 7933 7923 7931 7934 +CONECT 7934 7935 7936 7933 7937 +CONECT 7935 7934 +CONECT 7936 7934 +CONECT 7937 7938 7934 +CONECT 7938 7937 +CONECT 7940 7941 7942 7950 +CONECT 7941 7940 +CONECT 7942 7943 7940 7944 +CONECT 7943 7942 +CONECT 7944 7945 7942 7946 +CONECT 7945 7944 +CONECT 7946 7947 7944 7948 +CONECT 7947 7946 +CONECT 7948 7949 7946 7950 +CONECT 7949 7948 +CONECT 7950 7940 7948 7951 +CONECT 7951 7952 7953 7950 7954 +CONECT 7952 7951 +CONECT 7953 7951 +CONECT 7954 7955 7951 +CONECT 7955 7954 +CONECT 7957 7958 7959 7967 +CONECT 7958 7957 +CONECT 7959 7960 7957 7961 +CONECT 7960 7959 +CONECT 7961 7962 7959 7963 +CONECT 7962 7961 +CONECT 7963 7964 7961 7965 +CONECT 7964 7963 +CONECT 7965 7966 7963 7967 +CONECT 7966 7965 +CONECT 7967 7957 7965 7968 +CONECT 7968 7969 7970 7967 7971 +CONECT 7969 7968 +CONECT 7970 7968 +CONECT 7971 7972 7968 +CONECT 7972 7971 +CONECT 7974 7975 7976 7984 +CONECT 7975 7974 +CONECT 7976 7977 7974 7978 +CONECT 7977 7976 +CONECT 7978 7979 7976 7980 +CONECT 7979 7978 +CONECT 7980 7981 7978 7982 +CONECT 7981 7980 +CONECT 7982 7983 7980 7984 +CONECT 7983 7982 +CONECT 7984 7974 7982 7985 +CONECT 7985 7986 7987 7984 7988 +CONECT 7986 7985 +CONECT 7987 7985 +CONECT 7988 7989 7985 +CONECT 7989 7988 +CONECT 7991 7992 7993 8001 +CONECT 7992 7991 +CONECT 7993 7994 7991 7995 +CONECT 7994 7993 +CONECT 7995 7996 7993 7997 +CONECT 7996 7995 +CONECT 7997 7998 7995 7999 +CONECT 7998 7997 +CONECT 7999 8000 7997 8001 +CONECT 8000 7999 +CONECT 8001 7991 7999 8002 +CONECT 8002 8003 8004 8001 8005 +CONECT 8003 8002 +CONECT 8004 8002 +CONECT 8005 8006 8002 +CONECT 8006 8005 +CONECT 8008 8009 8010 8018 +CONECT 8009 8008 +CONECT 8010 8011 8008 8012 +CONECT 8011 8010 +CONECT 8012 8013 8010 8014 +CONECT 8013 8012 +CONECT 8014 8015 8012 8016 +CONECT 8015 8014 +CONECT 8016 8017 8014 8018 +CONECT 8017 8016 +CONECT 8018 8008 8016 8019 +CONECT 8019 8020 8021 8018 8022 +CONECT 8020 8019 +CONECT 8021 8019 +CONECT 8022 8023 8019 +CONECT 8023 8022 +CONECT 8025 8026 8027 8035 +CONECT 8026 8025 +CONECT 8027 8028 8025 8029 +CONECT 8028 8027 +CONECT 8029 8030 8027 8031 +CONECT 8030 8029 +CONECT 8031 8032 8029 8033 +CONECT 8032 8031 +CONECT 8033 8034 8031 8035 +CONECT 8034 8033 +CONECT 8035 8025 8033 8036 +CONECT 8036 8037 8038 8035 8039 +CONECT 8037 8036 +CONECT 8038 8036 +CONECT 8039 8040 8036 +CONECT 8040 8039 +CONECT 8042 8043 8044 8052 +CONECT 8043 8042 +CONECT 8044 8045 8042 8046 +CONECT 8045 8044 +CONECT 8046 8047 8044 8048 +CONECT 8047 8046 +CONECT 8048 8049 8046 8050 +CONECT 8049 8048 +CONECT 8050 8051 8048 8052 +CONECT 8051 8050 +CONECT 8052 8042 8050 8053 +CONECT 8053 8054 8055 8052 8056 +CONECT 8054 8053 +CONECT 8055 8053 +CONECT 8056 8057 8053 +CONECT 8057 8056 +CONECT 8059 8060 8061 8069 +CONECT 8060 8059 +CONECT 8061 8062 8059 8063 +CONECT 8062 8061 +CONECT 8063 8064 8061 8065 +CONECT 8064 8063 +CONECT 8065 8066 8063 8067 +CONECT 8066 8065 +CONECT 8067 8068 8065 8069 +CONECT 8068 8067 +CONECT 8069 8059 8067 8070 +CONECT 8070 8071 8072 8069 8073 +CONECT 8071 8070 +CONECT 8072 8070 +CONECT 8073 8074 8070 +CONECT 8074 8073 +CONECT 8076 8077 8078 8086 +CONECT 8077 8076 +CONECT 8078 8079 8076 8080 +CONECT 8079 8078 +CONECT 8080 8081 8078 8082 +CONECT 8081 8080 +CONECT 8082 8083 8080 8084 +CONECT 8083 8082 +CONECT 8084 8085 8082 8086 +CONECT 8085 8084 +CONECT 8086 8076 8084 8087 +CONECT 8087 8088 8089 8086 8090 +CONECT 8088 8087 +CONECT 8089 8087 +CONECT 8090 8091 8087 +CONECT 8091 8090 +CONECT 8093 8094 8095 8103 +CONECT 8094 8093 +CONECT 8095 8096 8093 8097 +CONECT 8096 8095 +CONECT 8097 8098 8095 8099 +CONECT 8098 8097 +CONECT 8099 8100 8097 8101 +CONECT 8100 8099 +CONECT 8101 8102 8099 8103 +CONECT 8102 8101 +CONECT 8103 8093 8101 8104 +CONECT 8104 8105 8106 8103 8107 +CONECT 8105 8104 +CONECT 8106 8104 +CONECT 8107 8108 8104 +CONECT 8108 8107 +CONECT 8110 8111 8112 8120 +CONECT 8111 8110 +CONECT 8112 8113 8110 8114 +CONECT 8113 8112 +CONECT 8114 8115 8112 8116 +CONECT 8115 8114 +CONECT 8116 8117 8114 8118 +CONECT 8117 8116 +CONECT 8118 8119 8116 8120 +CONECT 8119 8118 +CONECT 8120 8110 8118 8121 +CONECT 8121 8122 8123 8120 8124 +CONECT 8122 8121 +CONECT 8123 8121 +CONECT 8124 8125 8121 +CONECT 8125 8124 +CONECT 8127 8128 8129 8137 +CONECT 8128 8127 +CONECT 8129 8130 8127 8131 +CONECT 8130 8129 +CONECT 8131 8132 8129 8133 +CONECT 8132 8131 +CONECT 8133 8134 8131 8135 +CONECT 8134 8133 +CONECT 8135 8136 8133 8137 +CONECT 8136 8135 +CONECT 8137 8127 8135 8138 +CONECT 8138 8139 8140 8137 8141 +CONECT 8139 8138 +CONECT 8140 8138 +CONECT 8141 8142 8138 +CONECT 8142 8141 +CONECT 8144 8145 8146 8154 +CONECT 8145 8144 +CONECT 8146 8147 8144 8148 +CONECT 8147 8146 +CONECT 8148 8149 8146 8150 +CONECT 8149 8148 +CONECT 8150 8151 8148 8152 +CONECT 8151 8150 +CONECT 8152 8153 8150 8154 +CONECT 8153 8152 +CONECT 8154 8144 8152 8155 +CONECT 8155 8156 8157 8154 8158 +CONECT 8156 8155 +CONECT 8157 8155 +CONECT 8158 8159 8155 +CONECT 8159 8158 +CONECT 8161 8162 8163 8171 +CONECT 8162 8161 +CONECT 8163 8164 8161 8165 +CONECT 8164 8163 +CONECT 8165 8166 8163 8167 +CONECT 8166 8165 +CONECT 8167 8168 8165 8169 +CONECT 8168 8167 +CONECT 8169 8170 8167 8171 +CONECT 8170 8169 +CONECT 8171 8161 8169 8172 +CONECT 8172 8173 8174 8171 8175 +CONECT 8173 8172 +CONECT 8174 8172 +CONECT 8175 8176 8172 +CONECT 8176 8175 +CONECT 8178 8179 8180 8188 +CONECT 8179 8178 +CONECT 8180 8181 8178 8182 +CONECT 8181 8180 +CONECT 8182 8183 8180 8184 +CONECT 8183 8182 +CONECT 8184 8185 8182 8186 +CONECT 8185 8184 +CONECT 8186 8187 8184 8188 +CONECT 8187 8186 +CONECT 8188 8178 8186 8189 +CONECT 8189 8190 8191 8188 8192 +CONECT 8190 8189 +CONECT 8191 8189 +CONECT 8192 8193 8189 +CONECT 8193 8192 +CONECT 8195 8196 8197 8205 +CONECT 8196 8195 +CONECT 8197 8198 8195 8199 +CONECT 8198 8197 +CONECT 8199 8200 8197 8201 +CONECT 8200 8199 +CONECT 8201 8202 8199 8203 +CONECT 8202 8201 +CONECT 8203 8204 8201 8205 +CONECT 8204 8203 +CONECT 8205 8195 8203 8206 +CONECT 8206 8207 8208 8205 8209 +CONECT 8207 8206 +CONECT 8208 8206 +CONECT 8209 8210 8206 +CONECT 8210 8209 +CONECT 8212 8213 8214 8222 +CONECT 8213 8212 +CONECT 8214 8215 8212 8216 +CONECT 8215 8214 +CONECT 8216 8217 8214 8218 +CONECT 8217 8216 +CONECT 8218 8219 8216 8220 +CONECT 8219 8218 +CONECT 8220 8221 8218 8222 +CONECT 8221 8220 +CONECT 8222 8212 8220 8223 +CONECT 8223 8224 8225 8222 8226 +CONECT 8224 8223 +CONECT 8225 8223 +CONECT 8226 8227 8223 +CONECT 8227 8226 +CONECT 8229 8230 8231 8239 +CONECT 8230 8229 +CONECT 8231 8232 8229 8233 +CONECT 8232 8231 +CONECT 8233 8234 8231 8235 +CONECT 8234 8233 +CONECT 8235 8236 8233 8237 +CONECT 8236 8235 +CONECT 8237 8238 8235 8239 +CONECT 8238 8237 +CONECT 8239 8229 8237 8240 +CONECT 8240 8241 8242 8239 8243 +CONECT 8241 8240 +CONECT 8242 8240 +CONECT 8243 8244 8240 +CONECT 8244 8243 +CONECT 8246 8247 8248 8256 +CONECT 8247 8246 +CONECT 8248 8249 8246 8250 +CONECT 8249 8248 +CONECT 8250 8251 8248 8252 +CONECT 8251 8250 +CONECT 8252 8253 8250 8254 +CONECT 8253 8252 +CONECT 8254 8255 8252 8256 +CONECT 8255 8254 +CONECT 8256 8246 8254 8257 +CONECT 8257 8258 8259 8256 8260 +CONECT 8258 8257 +CONECT 8259 8257 +CONECT 8260 8261 8257 +CONECT 8261 8260 +CONECT 8263 8264 8265 8273 +CONECT 8264 8263 +CONECT 8265 8266 8263 8267 +CONECT 8266 8265 +CONECT 8267 8268 8265 8269 +CONECT 8268 8267 +CONECT 8269 8270 8267 8271 +CONECT 8270 8269 +CONECT 8271 8272 8269 8273 +CONECT 8272 8271 +CONECT 8273 8263 8271 8274 +CONECT 8274 8275 8276 8273 8277 +CONECT 8275 8274 +CONECT 8276 8274 +CONECT 8277 8278 8274 +CONECT 8278 8277 +CONECT 8280 8281 8282 8290 +CONECT 8281 8280 +CONECT 8282 8283 8280 8284 +CONECT 8283 8282 +CONECT 8284 8285 8282 8286 +CONECT 8285 8284 +CONECT 8286 8287 8284 8288 +CONECT 8287 8286 +CONECT 8288 8289 8286 8290 +CONECT 8289 8288 +CONECT 8290 8280 8288 8291 +CONECT 8291 8292 8293 8290 8294 +CONECT 8292 8291 +CONECT 8293 8291 +CONECT 8294 8295 8291 +CONECT 8295 8294 +CONECT 8297 8298 8299 8307 +CONECT 8298 8297 +CONECT 8299 8300 8297 8301 +CONECT 8300 8299 +CONECT 8301 8302 8299 8303 +CONECT 8302 8301 +CONECT 8303 8304 8301 8305 +CONECT 8304 8303 +CONECT 8305 8306 8303 8307 +CONECT 8306 8305 +CONECT 8307 8297 8305 8308 +CONECT 8308 8309 8310 8307 8311 +CONECT 8309 8308 +CONECT 8310 8308 +CONECT 8311 8312 8308 +CONECT 8312 8311 +CONECT 8314 8315 8316 8324 +CONECT 8315 8314 +CONECT 8316 8317 8314 8318 +CONECT 8317 8316 +CONECT 8318 8319 8316 8320 +CONECT 8319 8318 +CONECT 8320 8321 8318 8322 +CONECT 8321 8320 +CONECT 8322 8323 8320 8324 +CONECT 8323 8322 +CONECT 8324 8314 8322 8325 +CONECT 8325 8326 8327 8324 8328 +CONECT 8326 8325 +CONECT 8327 8325 +CONECT 8328 8329 8325 +CONECT 8329 8328 +CONECT 8331 8332 8333 8341 +CONECT 8332 8331 +CONECT 8333 8334 8331 8335 +CONECT 8334 8333 +CONECT 8335 8336 8333 8337 +CONECT 8336 8335 +CONECT 8337 8338 8335 8339 +CONECT 8338 8337 +CONECT 8339 8340 8337 8341 +CONECT 8340 8339 +CONECT 8341 8331 8339 8342 +CONECT 8342 8343 8344 8341 8345 +CONECT 8343 8342 +CONECT 8344 8342 +CONECT 8345 8346 8342 +CONECT 8346 8345 +CONECT 8348 8349 8350 8358 +CONECT 8349 8348 +CONECT 8350 8351 8348 8352 +CONECT 8351 8350 +CONECT 8352 8353 8350 8354 +CONECT 8353 8352 +CONECT 8354 8355 8352 8356 +CONECT 8355 8354 +CONECT 8356 8357 8354 8358 +CONECT 8357 8356 +CONECT 8358 8348 8356 8359 +CONECT 8359 8360 8361 8358 8362 +CONECT 8360 8359 +CONECT 8361 8359 +CONECT 8362 8363 8359 +CONECT 8363 8362 +CONECT 8365 8366 8367 8375 +CONECT 8366 8365 +CONECT 8367 8368 8365 8369 +CONECT 8368 8367 +CONECT 8369 8370 8367 8371 +CONECT 8370 8369 +CONECT 8371 8372 8369 8373 +CONECT 8372 8371 +CONECT 8373 8374 8371 8375 +CONECT 8374 8373 +CONECT 8375 8365 8373 8376 +CONECT 8376 8377 8378 8375 8379 +CONECT 8377 8376 +CONECT 8378 8376 +CONECT 8379 8380 8376 +CONECT 8380 8379 +CONECT 8382 8383 8384 8392 +CONECT 8383 8382 +CONECT 8384 8385 8382 8386 +CONECT 8385 8384 +CONECT 8386 8387 8384 8388 +CONECT 8387 8386 +CONECT 8388 8389 8386 8390 +CONECT 8389 8388 +CONECT 8390 8391 8388 8392 +CONECT 8391 8390 +CONECT 8392 8382 8390 8393 +CONECT 8393 8394 8395 8392 8396 +CONECT 8394 8393 +CONECT 8395 8393 +CONECT 8396 8397 8393 +CONECT 8397 8396 +CONECT 8399 8400 8401 8409 +CONECT 8400 8399 +CONECT 8401 8402 8399 8403 +CONECT 8402 8401 +CONECT 8403 8404 8401 8405 +CONECT 8404 8403 +CONECT 8405 8406 8403 8407 +CONECT 8406 8405 +CONECT 8407 8408 8405 8409 +CONECT 8408 8407 +CONECT 8409 8399 8407 8410 +CONECT 8410 8411 8412 8409 8413 +CONECT 8411 8410 +CONECT 8412 8410 +CONECT 8413 8414 8410 +CONECT 8414 8413 +CONECT 8416 8417 8418 8426 +CONECT 8417 8416 +CONECT 8418 8419 8416 8420 +CONECT 8419 8418 +CONECT 8420 8421 8418 8422 +CONECT 8421 8420 +CONECT 8422 8423 8420 8424 +CONECT 8423 8422 +CONECT 8424 8425 8422 8426 +CONECT 8425 8424 +CONECT 8426 8416 8424 8427 +CONECT 8427 8428 8429 8426 8430 +CONECT 8428 8427 +CONECT 8429 8427 +CONECT 8430 8431 8427 +CONECT 8431 8430 +CONECT 8433 8434 8435 8443 +CONECT 8434 8433 +CONECT 8435 8436 8433 8437 +CONECT 8436 8435 +CONECT 8437 8438 8435 8439 +CONECT 8438 8437 +CONECT 8439 8440 8437 8441 +CONECT 8440 8439 +CONECT 8441 8442 8439 8443 +CONECT 8442 8441 +CONECT 8443 8433 8441 8444 +CONECT 8444 8445 8446 8443 8447 +CONECT 8445 8444 +CONECT 8446 8444 +CONECT 8447 8448 8444 +CONECT 8448 8447 +CONECT 8450 8451 8452 8460 +CONECT 8451 8450 +CONECT 8452 8453 8450 8454 +CONECT 8453 8452 +CONECT 8454 8455 8452 8456 +CONECT 8455 8454 +CONECT 8456 8457 8454 8458 +CONECT 8457 8456 +CONECT 8458 8459 8456 8460 +CONECT 8459 8458 +CONECT 8460 8450 8458 8461 +CONECT 8461 8462 8463 8460 8464 +CONECT 8462 8461 +CONECT 8463 8461 +CONECT 8464 8465 8461 +CONECT 8465 8464 +CONECT 8467 8468 8469 8477 +CONECT 8468 8467 +CONECT 8469 8470 8467 8471 +CONECT 8470 8469 +CONECT 8471 8472 8469 8473 +CONECT 8472 8471 +CONECT 8473 8474 8471 8475 +CONECT 8474 8473 +CONECT 8475 8476 8473 8477 +CONECT 8476 8475 +CONECT 8477 8467 8475 8478 +CONECT 8478 8479 8480 8477 8481 +CONECT 8479 8478 +CONECT 8480 8478 +CONECT 8481 8482 8478 +CONECT 8482 8481 +CONECT 8484 8485 8486 8494 +CONECT 8485 8484 +CONECT 8486 8487 8484 8488 +CONECT 8487 8486 +CONECT 8488 8489 8486 8490 +CONECT 8489 8488 +CONECT 8490 8491 8488 8492 +CONECT 8491 8490 +CONECT 8492 8493 8490 8494 +CONECT 8493 8492 +CONECT 8494 8484 8492 8495 +CONECT 8495 8496 8497 8494 8498 +CONECT 8496 8495 +CONECT 8497 8495 +CONECT 8498 8499 8495 +CONECT 8499 8498 +END diff --git a/examples/lennard_jones_opt/ligand.mol b/examples/lennard_jones_opt/ligand.mol new file mode 100644 index 000000000..161fa933b --- /dev/null +++ b/examples/lennard_jones_opt/ligand.mol @@ -0,0 +1,37 @@ +GAS.pdb + OpenBabel05152306313D + + 16 16 0 0 0 0 0 0 0 0999 V2000 + 49.8190 50.2350 51.1450 C 0 0 0 0 0 0 0 0 0 0 0 0 + 49.3790 50.9450 51.8450 H 0 0 0 0 0 0 0 0 0 0 0 0 + 50.1890 49.0050 51.6550 C 0 0 0 0 0 0 0 0 0 0 0 0 + 50.1090 48.9050 52.7350 H 0 0 0 0 0 0 0 0 0 0 0 0 + 50.6090 48.0150 50.7750 C 0 0 0 0 0 0 0 0 0 0 0 0 + 50.9490 47.0350 51.1250 H 0 0 0 0 0 0 0 0 0 0 0 0 + 50.6390 48.3150 49.4250 C 0 0 0 0 0 0 0 0 0 0 0 0 + 51.1090 47.5350 48.8250 H 0 0 0 0 0 0 0 0 0 0 0 0 + 50.2090 49.5150 48.8850 C 0 0 0 0 0 0 0 0 0 0 0 0 + 50.1290 49.6550 47.8050 H 0 0 0 0 0 0 0 0 0 0 0 0 + 49.7090 50.4450 49.7850 C 0 0 0 0 0 0 0 0 0 0 0 0 + 49.0790 51.7250 49.2450 C 0 0 0 0 0 0 0 0 0 0 0 0 + 48.7790 52.1950 50.1750 H 0 0 0 0 0 0 0 0 0 0 0 0 + 48.2490 51.5550 48.5550 H 0 0 0 0 0 0 0 0 0 0 0 0 + 50.1890 52.4050 48.6550 O 0 0 0 0 0 0 0 0 0 0 0 0 + 50.8590 52.5150 49.3650 H 0 0 0 0 0 0 0 0 0 0 0 0 + 1 3 1 0 0 0 0 + 1 2 1 0 0 0 0 + 3 4 1 0 0 0 0 + 5 6 1 0 0 0 0 + 5 3 2 0 0 0 0 + 7 5 1 0 0 0 0 + 8 7 1 0 0 0 0 + 9 7 2 0 0 0 0 + 9 11 1 0 0 0 0 + 10 9 1 0 0 0 0 + 11 1 2 0 0 0 0 + 12 11 1 0 0 0 0 + 12 13 1 0 0 0 0 + 14 12 1 0 0 0 0 + 15 12 1 0 0 0 0 + 15 16 1 0 0 0 0 +M END diff --git a/examples/lennard_jones_opt/opt.ipynb b/examples/lennard_jones_opt/opt.ipynb new file mode 100644 index 000000000..9e82571bb --- /dev/null +++ b/examples/lennard_jones_opt/opt.ipynb @@ -0,0 +1,264 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import openmm.app as app\n", + "import openmm as mm\n", + "import openmm.unit as unit\n", + "import numpy as np\n", + "import jax\n", + "import jax.numpy as jnp\n", + "import dmff\n", + "from dmff.api.xmlio import XMLIO\n", + "from dmff.api.paramset import ParamSet\n", + "from dmff.generators.classical import CoulombGenerator, LennardJonesGenerator\n", + "from dmff.api.hamiltonian import Hamiltonian\n", + "from dmff.operators import ParmedLennardJonesOperator\n", + "from dmff import NeighborListFreud\n", + "from dmff.mbar import ReweightEstimator\n", + "import mdtraj as md\n", + "from tqdm import tqdm, trange\n", + "import parmed\n", + "import sys\n", + "import os" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "prm_top = parmed.load_file(\"Lig.top\")\n", + "prm_top_500 = prm_top * 500\n", + "dmfftop = dmff.DMFFTopology(from_top=prm_top_500.topology)\n", + "prmop = ParmedLennardJonesOperator()\n", + "dmfftop = prmop(dmfftop, gmx_top = prm_top_500)\n", + "\n", + "prmop.renderLennardJonesXML(\"init.xml\")\n", + "xmlio = XMLIO()\n", + "xmlio.loadXML(\"init.xml\")\n", + "ffinfo = xmlio.parseXML()\n", + "cov_mat = dmfftop.buildCovMat()\n", + "\n", + "paramset = ParamSet()\n", + "lj_gen = LennardJonesGenerator(ffinfo, paramset)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "lj_force = lj_gen.createPotential(\n", + " dmfftop, nonbondedMethod=app.CutoffPeriodic, nonbondedCutoff=1.0, args={})" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 基于给定拓扑进行采样的函数" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def runMD(topfile, pdbfile, trajfile, length):\n", + " try:\n", + " os.remove(\"Lig_500.top\")\n", + " except:\n", + " pass\n", + " top_prm = parmed.load_file(topfile)\n", + " top_500 = top_prm * 500\n", + " top_500.save(\"Lig_500.top\")\n", + " pdb = app.PDBFile(pdbfile)\n", + " top = app.GromacsTopFile(\"Lig_500.top\")\n", + " top.topology.setPeriodicBoxVectors(pdb.topology.getPeriodicBoxVectors())\n", + " system = top.createSystem(nonbondedMethod=app.PME, nonbondedCutoff=1.0*unit.nanometer, constraints=app.HBonds, hydrogenMass=3*unit.dalton)\n", + " for force in system.getForces():\n", + " if isinstance(force, mm.NonbondedForce):\n", + " force.setUseDispersionCorrection(False)\n", + " system.addForce(mm.MonteCarloBarostat(1.0*unit.bar, 300*unit.kelvin, 25))\n", + " integ = mm.LangevinIntegrator(300*unit.kelvin, 1/unit.picosecond, 2.5*unit.femtosecond)\n", + " simulation = app.Simulation(top.topology, system, integ)\n", + " simulation.reporters.append(app.StateDataReporter(sys.stdout, 400, time=True, potentialEnergy=True, temperature=True, density=True, speed=True, remainingTime=True, totalSteps=int(length) * 400))\n", + " simulation.reporters.append(app.DCDReporter(trajfile, 400))\n", + " simulation.context.setPositions(pdb.getPositions())\n", + " simulation.minimizeEnergy(maxIterations=200)\n", + " simulation.step(int(length) * 400)\n", + " os.remove(\"Lig_500.top\")\n", + "\n", + "# runMD(\"Lig.top\", \"init.pdb\", \"traj.dcd\", 100)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def rerun_energy(pdb, traj, top, skip=20, removeLJ=True, skpi=0):\n", + " samples = md.load(traj, top=pdb)[skip:]\n", + " try:\n", + " os.remove(\"Lig_500.top\")\n", + " except:\n", + " pass\n", + " top_prm = parmed.load_file(top)\n", + " top_500 = top_prm * 500\n", + " top_500.save(\"Lig_500.top\")\n", + " pdb = app.PDBFile(pdb)\n", + " top = app.GromacsTopFile(\"Lig_500.top\")\n", + " os.remove(\"Lig_500.top\")\n", + " top.topology.setPeriodicBoxVectors(pdb.topology.getPeriodicBoxVectors())\n", + " system = top.createSystem(nonbondedMethod=app.PME, nonbondedCutoff=1.0*unit.nanometer, constraints=app.HBonds, hydrogenMass=3*unit.dalton)\n", + " \n", + " for force in system.getForces():\n", + " if isinstance(force, mm.NonbondedForce):\n", + " force.setUseDispersionCorrection(False)\n", + " if removeLJ:\n", + " for npart in range(force.getNumParticles()):\n", + " chrg, sig, eps = force.getParticleParameters(npart)\n", + " force.setParticleParameters(npart, chrg, 1.0, 0.0)\n", + " for nex in range(force.getNumExceptions()):\n", + " p1, p2, chrg, sig, eps = force.getExceptionParameters(nex)\n", + " force.setExceptionParameters(nex, p1, p2, chrg, 1.0, 0.0)\n", + " integ = mm.LangevinIntegrator(300*unit.kelvin, 1/unit.picosecond, 2.5*unit.femtosecond)\n", + " ctx = mm.Context(system, integ)\n", + " energies = []\n", + " for frame in tqdm(samples):\n", + " ctx.setPositions(frame.xyz[0] * unit.nanometer)\n", + " ctx.setPeriodicBoxVectors(*frame.unitcell_vectors[0])\n", + " ctx.applyConstraints(1e-10)\n", + " state = ctx.getState(getEnergy=True)\n", + " energy = state.getPotentialEnergy().value_in_unit(unit.kilojoule_per_mole)\n", + " energies.append(energy)\n", + " return np.array(energies)\n", + "\n", + "# rerun_energy(\"init.pdb\", \"traj.dcd\", \"Lig.top\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def rerun_dmff_lennard_jones(params, pdb, traj, efunc, skip=0):\n", + " samples = md.load(traj, top=pdb)[skip:]\n", + " energies = []\n", + " nblist = NeighborListFreud(samples.unitcell_vectors[0], 1.0, cov_mat)\n", + " xyzs_jnp = jnp.array(samples.xyz)\n", + " cell_jnp = jnp.array(samples.unitcell_vectors)\n", + " energies = []\n", + " nblist = NeighborListFreud(samples.unitcell_vectors[0], 1.0, cov_mat)\n", + " xyzs_jnp = jnp.array(samples.xyz)\n", + " cell_jnp = jnp.array(samples.unitcell_vectors)\n", + " energies = []\n", + " for nframe in trange(len(samples)):\n", + " frame = samples[nframe]\n", + " # calc pair\n", + " pairs = jnp.array(nblist.allocate(frame.xyz[0], frame.unitcell_vectors[0]))\n", + " ener = efunc(xyzs_jnp[nframe,:,:], cell_jnp[nframe,:,:], pairs, params)\n", + " energies.append(ener.reshape((1,)))\n", + " energies = jnp.concatenate(energies)\n", + " return energies" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import optax\n", + "optimizer = optax.adam(0.001)\n", + "opt_state = optimizer.init(paramset)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "lbfgs = None\n", + "\n", + "os.system(\"cp Lig.top loop-0.top\")\n", + "for nloop in range(1, 51):\n", + " # sample\n", + " print(\"SAMPLE\")\n", + " runMD(f\"loop-{nloop-1}.top\", \"init.pdb\", f\"loop-{nloop}.dcd\", length=70)\n", + " print(\"RERUN\")\n", + " ener = rerun_energy(\"init.pdb\", f\"loop-{nloop}.dcd\", f\"loop-{nloop-1}.top\", removeLJ=False, skip=20)\n", + " ener_no_lj = rerun_energy(\"init.pdb\", f\"loop-{nloop}.dcd\", f\"loop-{nloop-1}.top\", skip=20)\n", + " print(\"ESTIMATOR\")\n", + " traj = md.load(f\"loop-{nloop}.dcd\", top=\"init.pdb\")[20:]\n", + " estimator = ReweightEstimator(ener, base_energies=ener_no_lj, volume=traj.unitcell_volumes)\n", + "\n", + " print(\"CALC DENSE\")\n", + " density = md.density(traj) * 0.001\n", + "\n", + " # get loss & grad\n", + " def loss(paramset):\n", + " lj_jax = rerun_dmff_lennard_jones(paramset, \"init.pdb\", f\"loop-{nloop}.dcd\", lj_force, skip=20)\n", + " weight = estimator.estimate_weight(lj_jax)\n", + " dens = weight * density\n", + " dens = dens.mean()\n", + " return jnp.power(dens - 0.85, 2)\n", + " \n", + " v_and_g = jax.value_and_grad(loss, 0)\n", + " v, g = v_and_g(paramset)\n", + " print(\"Loss:\", v)\n", + " # update parameters\n", + " updates, opt_state = optimizer.update(g, opt_state)\n", + " paramset = optax.apply_updates(paramset, updates)\n", + " paramset = jax.tree_map(lambda x: jnp.clip(x, 0.0, 1e8), paramset)\n", + " \n", + " # upate ffinfo\n", + " lj_gen.overwrite(paramset)\n", + " prmop.overwriteLennardJones(prm_top, lj_gen.ffinfo)\n", + " prm_top.save(f\"loop-{nloop}.top\")\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "dmff", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.16" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/examples/lennard_jones_xml/param.xml b/examples/lennard_jones_xml/param.xml new file mode 100644 index 000000000..a4e2904fd --- /dev/null +++ b/examples/lennard_jones_xml/param.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/examples/lennard_jones_xml/reference_openmm.py b/examples/lennard_jones_xml/reference_openmm.py new file mode 100644 index 000000000..e196fe4ad --- /dev/null +++ b/examples/lennard_jones_xml/reference_openmm.py @@ -0,0 +1,13 @@ +import openmm as mm +import openmm.app as app +import openmm.unit as unit + + +pdb = app.PDBFile("structure.pdb") +ff = app.ForceField("param.xml") +system = ff.createSystem(pdb.topology, nonbondedMethod=app.CutoffPeriodic, nonbondedCutoff=1.0*unit.nanometer) +integrator = mm.VerletIntegrator(0.001*unit.picoseconds) +context = mm.Context(system, integrator) +context.setPositions(pdb.positions) +state = context.getState(getEnergy=True) +print(state.getPotentialEnergy()) \ No newline at end of file diff --git a/examples/lennard_jones_xml/single_point_topo_built_by_hand.py b/examples/lennard_jones_xml/single_point_topo_built_by_hand.py new file mode 100644 index 000000000..bb4dcbace --- /dev/null +++ b/examples/lennard_jones_xml/single_point_topo_built_by_hand.py @@ -0,0 +1,72 @@ +import openmm.app as app +import openmm.unit as unit +from dmff.api.topology import DMFFTopology +from dmff.api.paramset import ParamSet +from dmff.operators import TemplateVSiteOperator, SMARTSVSiteOperator, TemplateATypeOperator, SMARTSATypeOperator, AM1ChargeOperator, GAFFTypeOperator +from dmff.api.xmlio import XMLIO +from dmff.generators.classical import CoulombGenerator, LennardJonesGenerator +import numpy as np +import jax.numpy as jnp +from dmff import NeighborListFreud +from dmff.settings import update_jax_precision + + +pdb = app.PDBFile("structure.pdb") +pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) +pos = jnp.array(pos) +dmfftop = DMFFTopology() +box_from_pdb = pdb.topology.getPeriodicBoxVectors() +box = np.array([v.value_in_unit(unit.nanometer) for v in box_from_pdb]) +dmfftop.setPeriodicBoxVectors(box) +chain = dmfftop.addChain() +# water 1 +res1 = dmfftop.addResidue("HOH", chain) +atom1 = dmfftop.addAtom("O", "O", res1) +atom1.meta["type"] = "OT" +atom2 = dmfftop.addAtom("H1", "H", res1) +atom2.meta["type"] = "HT" +atom3 = dmfftop.addAtom("H2", "H", res1) +atom3.meta["type"] = "HT" +dmfftop.addBond(atom1, atom2) +dmfftop.addBond(atom1, atom3) + +# water 2 +res2 = dmfftop.addResidue("HOH", chain) +atom1 = dmfftop.addAtom("O", "O", res2) +atom1.meta["type"] = "OT" +atom2 = dmfftop.addAtom("H1", "H", res2) +atom2.meta["type"] = "HT" +atom3 = dmfftop.addAtom("H2", "H", res2) +atom3.meta["type"] = "HT" +dmfftop.addBond(atom1, atom2) +dmfftop.addBond(atom1, atom3) + +# Na+ +res3 = dmfftop.addResidue("SOD", chain) +atom1 = dmfftop.addAtom("SOD", "Na", res3) +atom1.meta["type"] = "SOD" + +print(dmfftop) +cov_mat = dmfftop.buildCovMat() +atoms = [a for a in dmfftop.atoms()] +print(cov_mat) + +xmlio = XMLIO() +xmlio.loadXML("param.xml") +ffinfo = xmlio.parseXML() +for atom in dmfftop.atoms(): + # print(atom.meta) + pass + +cutoff = 1.0 + +paramset = ParamSet() +box = dmfftop.getPeriodicBoxVectors(use_jax=True) + +nblist = NeighborListFreud(box, cutoff, cov_map=cov_mat) +pairs = nblist.allocate(pos) + +generator_lj = LennardJonesGenerator(ffinfo, paramset) +pot_func_lj = generator_lj.createPotential( + dmfftop, nonbondedMethod=app.CutoffPeriodic, nonbondedCutoff=cutoff, args={}) +print("E_LJ", pot_func_lj(pos, box, pairs, paramset)) \ No newline at end of file diff --git a/examples/lennard_jones_xml/single_point_topo_from_xml.py b/examples/lennard_jones_xml/single_point_topo_from_xml.py new file mode 100644 index 000000000..5df7175ca --- /dev/null +++ b/examples/lennard_jones_xml/single_point_topo_from_xml.py @@ -0,0 +1,44 @@ +import openmm.app as app +import openmm.unit as unit +from dmff.api.topology import DMFFTopology +from dmff.api.paramset import ParamSet +from dmff.operators import TemplateVSiteOperator, SMARTSVSiteOperator, TemplateATypeOperator, SMARTSATypeOperator, AM1ChargeOperator, GAFFTypeOperator +from dmff.api.xmlio import XMLIO +from dmff.generators.classical import CoulombGenerator, LennardJonesGenerator +import numpy as np +import jax.numpy as jnp +from dmff import NeighborListFreud +from dmff.settings import update_jax_precision + + +pdb = app.PDBFile("structure.pdb") +print(pdb.topology) +pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) +pos = jnp.array(pos) +dmfftop = DMFFTopology(from_top=pdb.topology) +print(dmfftop) +cov_mat = dmfftop.buildCovMat() +atoms = [a for a in dmfftop.atoms()] +print(cov_mat) + +xmlio = XMLIO() +xmlio.loadXML("param.xml") +ffinfo = xmlio.parseXML() +tempOP = TemplateATypeOperator(ffinfo) +top_atype = tempOP(dmfftop) +for atom in top_atype.atoms(): + # print(atom.meta) + pass + +cutoff = 1.0 + +paramset = ParamSet() +box = top_atype.getPeriodicBoxVectors(use_jax=True) + +nblist = NeighborListFreud(box, cutoff, cov_map=cov_mat) +pairs = nblist.allocate(pos) + +generator_lj = LennardJonesGenerator(ffinfo, paramset) +pot_func_lj = generator_lj.createPotential( + top_atype, nonbondedMethod=app.CutoffPeriodic, nonbondedCutoff=cutoff, args={}) +print("E_LJ", pot_func_lj(pos, box, pairs, paramset)) \ No newline at end of file diff --git a/examples/lennard_jones_xml/structure.pdb b/examples/lennard_jones_xml/structure.pdb new file mode 100644 index 000000000..4f856ebad --- /dev/null +++ b/examples/lennard_jones_xml/structure.pdb @@ -0,0 +1,11 @@ +REMARK 1 CREATED WITH OPENMM 8.0, 2023-08-25 +CRYST1 30.000 30.000 30.000 90.00 90.00 90.00 P 1 1 +HETATM 1 O HOH A 1 4.125 13.679 13.761 1.00 0.00 O +HETATM 2 H1 HOH A 1 4.025 14.428 14.348 1.00 0.00 H +HETATM 3 H2 HOH A 1 4.670 13.062 14.249 1.00 0.00 H +HETATM 4 O HOH A 2 5.406 17.008 13.462 1.00 0.00 O +HETATM 5 H1 HOH A 2 5.311 16.130 13.832 1.00 0.00 H +HETATM 6 H2 HOH A 2 4.641 17.113 12.897 1.00 0.00 H +HETATM 7 SOD SOD A 3 7.292 15.267 11.931 1.00 0.00 Na +TER 8 SOD A 3 +END diff --git a/examples/mbar/ben-prm.xml b/examples/mbar/ben-prm.xml deleted file mode 100644 index 51ca52004..000000000 --- a/examples/mbar/ben-prm.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - 2022-09-18 - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/examples/mbar/ben-top.xml b/examples/mbar/ben-top.xml deleted file mode 100644 index 9ef62d2c0..000000000 --- a/examples/mbar/ben-top.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/examples/mbar/ben.pdb b/examples/mbar/ben.pdb deleted file mode 100644 index 5af843280..000000000 --- a/examples/mbar/ben.pdb +++ /dev/null @@ -1,4 +0,0 @@ -REMARK 1 CREATED WITH OPENMM 7.7, 2022-09-18 -HETATM 1 C1 BEN A 1 3.131 2.883 -0.435 1.00 0.00 C -HETATM 3 C3 BEN A 1 3.131 1.046 1.132 1.00 0.00 C -HETATM 5 C5 BEN A 1 4.939 2.647 1.147 1.00 0.00 C \ No newline at end of file diff --git a/examples/mbar/benz.txt b/examples/mbar/benz.txt deleted file mode 100644 index 2eeb0748b..000000000 --- a/examples/mbar/benz.txt +++ /dev/null @@ -1,106 +0,0 @@ -3.50000e+0 1.36691e-2 -3.60000e+0 2.33244e-2 -3.70000e+0 3.88271e-2 -3.80000e+0 5.73159e-2 -3.90000e+0 8.12927e-2 -4.00000e+0 1.10869e-1 -4.10000e+0 1.47153e-1 -4.20000e+0 1.97505e-1 -4.30000e+0 2.51627e-1 -4.40000e+0 3.33850e-1 -4.50000e+0 4.46947e-1 -4.60000e+0 6.06233e-1 -4.70000e+0 8.30737e-1 -4.80000e+0 1.02379e+0 -4.90000e+0 1.28467e+0 -5.00000e+0 1.48432e+0 -5.10000e+0 1.60134e+0 -5.20000e+0 1.66708e+0 -5.30000e+0 1.70344e+0 -5.40000e+0 1.73484e+0 -5.50000e+0 1.77387e+0 -5.60000e+0 1.81304e+0 -5.70000e+0 1.85190e+0 -5.80000e+0 1.87969e+0 -5.90000e+0 1.88458e+0 -6.00000e+0 1.86235e+0 -6.10000e+0 1.80173e+0 -6.20000e+0 1.71302e+0 -6.30000e+0 1.57397e+0 -6.40000e+0 1.44336e+0 -6.50000e+0 1.31439e+0 -6.60000e+0 1.19057e+0 -6.70000e+0 1.06929e+0 -6.80000e+0 9.66103e-1 -6.90000e+0 8.82179e-1 -7.00000e+0 8.16834e-1 -7.10000e+0 7.64724e-1 -7.20000e+0 7.26786e-1 -7.30000e+0 6.98183e-1 -7.40000e+0 6.78272e-1 -7.50000e+0 6.68151e-1 -7.60000e+0 6.58833e-1 -7.70000e+0 6.54363e-1 -7.80000e+0 6.55446e-1 -7.90000e+0 6.60430e-1 -8.00000e+0 6.67523e-1 -8.10000e+0 6.81308e-1 -8.20000e+0 6.96787e-1 -8.30000e+0 7.15460e-1 -8.40000e+0 7.40184e-1 -8.50000e+0 7.81555e-1 -8.60000e+0 8.11797e-1 -8.70000e+0 8.41624e-1 -8.80000e+0 8.73386e-1 -8.90000e+0 9.11023e-1 -9.00000e+0 9.48117e-1 -9.10000e+0 9.79008e-1 -9.20000e+0 1.01636e+0 -9.30000e+0 1.05518e+0 -9.40000e+0 1.08475e+0 -9.50000e+0 1.11409e+0 -9.60000e+0 1.14053e+0 -9.70000e+0 1.16202e+0 -9.80000e+0 1.18017e+0 -9.90000e+0 1.19236e+0 -1.00000e+1 1.19962e+0 -1.01000e+1 1.20169e+0 -1.02000e+1 1.19914e+0 -1.03000e+1 1.19294e+0 -1.04000e+1 1.18467e+0 -1.05000e+1 1.17460e+0 -1.06000e+1 1.16124e+0 -1.07000e+1 1.15031e+0 -1.08000e+1 1.13482e+0 -1.09000e+1 1.11122e+0 -1.10000e+1 1.09903e+0 -1.11000e+1 1.08409e+0 -1.12000e+1 1.06913e+0 -1.13000e+1 1.05144e+0 -1.14000e+1 1.03694e+0 -1.15000e+1 1.02233e+0 -1.16000e+1 1.00696e+0 -1.17000e+1 9.92727e-1 -1.18000e+1 9.79214e-1 -1.19000e+1 9.68538e-1 -1.20000e+1 9.60193e-1 -1.21000e+1 9.49812e-1 -1.22000e+1 9.41204e-1 -1.23000e+1 9.33168e-1 -1.24000e+1 9.29037e-1 -1.25000e+1 9.24243e-1 -1.26000e+1 9.23099e-1 -1.27000e+1 9.23096e-1 -1.28000e+1 9.24229e-1 -1.29000e+1 9.26455e-1 -1.30000e+1 9.31653e-1 -1.31000e+1 9.35617e-1 -1.32000e+1 9.41629e-1 -1.33000e+1 9.53214e-1 -1.34000e+1 9.67656e-1 -1.35000e+1 9.75437e-1 -1.36000e+1 9.86745e-1 -1.37000e+1 9.98225e-1 -1.38000e+1 1.00970e+0 -1.39000e+1 1.01895e+0 -1.40000e+1 1.02877e+0 \ No newline at end of file diff --git a/examples/mbar/box_relaxed.pdb b/examples/mbar/box_relaxed.pdb deleted file mode 100644 index 5122b01fc..000000000 --- a/examples/mbar/box_relaxed.pdb +++ /dev/null @@ -1,607 +0,0 @@ -HEADER -TITLE Built with Packmol -REMARK Packmol generated pdb file -REMARK Home-Page: http://m3g.iqm.unicamp.br/packmol -REMARK -CRYST1 30.05 30.05 30.05 90.00 90.00 90.00 P 1 1 -HETATM 1 C1 BEN A 1 24.148 20.445 23.381 1.00 0.00 C -HETATM 2 C3 BEN A 1 25.088 21.452 25.364 1.00 0.00 C -HETATM 3 C5 BEN A 1 22.693 21.264 25.125 1.00 0.00 C -HETATM 4 C1 BEN A 2 4.869 26.635 27.351 1.00 0.00 C -HETATM 5 C3 BEN A 2 2.513 26.374 26.890 1.00 0.00 C -HETATM 6 C5 BEN A 2 3.255 28.017 28.498 1.00 0.00 C -HETATM 7 C1 BEN A 3 18.723 9.938 9.174 1.00 0.00 C -HETATM 8 C3 BEN A 3 19.013 8.044 7.705 1.00 0.00 C -HETATM 9 C5 BEN A 3 16.797 8.883 8.172 1.00 0.00 C -HETATM 10 C1 BEN A 4 17.984 7.600 2.626 1.00 0.00 C -HETATM 11 C3 BEN A 4 16.822 5.636 3.414 1.00 0.00 C -HETATM 12 C5 BEN A 4 16.533 6.377 1.134 1.00 0.00 C -HETATM 13 C1 BEN A 5 17.570 5.323 30.003 1.00 0.00 C -HETATM 14 C3 BEN A 5 19.932 4.820 30.001 1.00 0.00 C -HETATM 15 C5 BEN A 5 18.339 3.146 29.299 1.00 0.00 C -HETATM 16 C1 BEN A 6 11.251 3.589 11.059 1.00 0.00 C -HETATM 17 C3 BEN A 6 9.721 5.428 11.388 1.00 0.00 C -HETATM 18 C5 BEN A 6 12.073 5.715 11.855 1.00 0.00 C -HETATM 19 C1 BEN A 7 9.659 22.692 21.411 1.00 0.00 C -HETATM 20 C3 BEN A 7 8.485 20.584 21.496 1.00 0.00 C -HETATM 21 C5 BEN A 7 10.889 20.620 21.265 1.00 0.00 C -HETATM 22 C1 BEN A 8 27.278 13.927 19.581 1.00 0.00 C -HETATM 23 C3 BEN A 8 29.530 13.477 20.328 1.00 0.00 C -HETATM 24 C5 BEN A 8 28.672 15.734 20.367 1.00 0.00 C -HETATM 25 C1 BEN A 9 22.837 10.589 27.153 1.00 0.00 C -HETATM 26 C3 BEN A 9 24.122 11.194 29.105 1.00 0.00 C -HETATM 27 C5 BEN A 9 24.464 9.049 28.051 1.00 0.00 C -HETATM 28 C1 BEN A 10 8.528 29.627 17.543 1.00 0.00 C -HETATM 29 C3 BEN A 10 8.172 28.020 15.777 1.00 0.00 C -HETATM 30 C5 BEN A 10 7.039 27.759 17.894 1.00 0.00 C -HETATM 31 C1 BEN A 11 19.875 6.973 13.839 1.00 0.00 C -HETATM 32 C3 BEN A 11 19.751 8.784 12.247 1.00 0.00 C -HETATM 33 C5 BEN A 11 21.658 7.303 12.246 1.00 0.00 C -HETATM 34 C1 BEN A 12 7.958 29.226 20.865 1.00 0.00 C -HETATM 35 C3 BEN A 12 9.940 29.179 22.243 1.00 0.00 C -HETATM 36 C5 BEN A 12 8.911 27.112 21.534 1.00 0.00 C -HETATM 37 C1 BEN A 13 16.240 27.827 18.591 1.00 0.00 C -HETATM 38 C3 BEN A 13 18.157 28.743 19.739 1.00 0.00 C -HETATM 39 C5 BEN A 13 17.612 26.402 19.975 1.00 0.00 C -HETATM 40 C1 BEN A 14 2.948 7.869 20.826 1.00 0.00 C -HETATM 41 C3 BEN A 14 3.522 9.947 21.913 1.00 0.00 C -HETATM 42 C5 BEN A 14 1.204 9.354 21.586 1.00 0.00 C -HETATM 43 C1 BEN A 15 25.704 24.134 22.005 1.00 0.00 C -HETATM 44 C3 BEN A 15 25.067 26.029 23.360 1.00 0.00 C -HETATM 45 C5 BEN A 15 23.874 23.939 23.567 1.00 0.00 C -HETATM 46 C1 BEN A 16 0.812 18.252 10.232 1.00 0.00 C -HETATM 47 C3 BEN A 16 0.582 16.870 8.265 1.00 0.00 C -HETATM 48 C5 BEN A 16 1.414 15.916 10.322 1.00 0.00 C -HETATM 49 C1 BEN A 17 26.389 13.045 4.179 1.00 0.00 C -HETATM 50 C3 BEN A 17 24.814 11.859 5.573 1.00 0.00 C -HETATM 51 C5 BEN A 17 26.779 10.730 4.740 1.00 0.00 C -HETATM 52 C1 BEN A 18 7.136 6.278 4.342 1.00 0.00 C -HETATM 53 C3 BEN A 18 9.399 5.581 4.812 1.00 0.00 C -HETATM 54 C5 BEN A 18 7.862 6.001 6.627 1.00 0.00 C -HETATM 55 C1 BEN A 19 28.274 28.266 22.125 1.00 0.00 C -HETATM 56 C3 BEN A 19 29.999 28.703 23.757 1.00 0.00 C -HETATM 57 C5 BEN A 19 29.919 29.983 21.711 1.00 0.00 C -HETATM 58 C1 BEN A 20 17.598 6.239 16.695 1.00 0.00 C -HETATM 59 C3 BEN A 20 15.672 6.646 15.298 1.00 0.00 C -HETATM 60 C5 BEN A 20 17.353 8.359 15.566 1.00 0.00 C -HETATM 61 C1 BEN A 21 21.879 26.236 25.198 1.00 0.00 C -HETATM 62 C3 BEN A 21 22.109 24.469 26.827 1.00 0.00 C -HETATM 63 C5 BEN A 21 23.563 26.394 26.920 1.00 0.00 C -HETATM 64 C1 BEN A 22 11.509 21.789 18.241 1.00 0.00 C -HETATM 65 C3 BEN A 22 9.148 21.287 18.169 1.00 0.00 C -HETATM 66 C5 BEN A 22 9.894 23.583 18.218 1.00 0.00 C -HETATM 67 C1 BEN A 23 20.524 0.600 10.775 1.00 0.00 C -HETATM 68 C3 BEN A 23 22.015 2.364 10.071 1.00 0.00 C -HETATM 69 C5 BEN A 23 21.420 0.600 8.533 1.00 0.00 C -HETATM 70 C1 BEN A 24 23.381 28.881 11.610 1.00 0.00 C -HETATM 71 C3 BEN A 24 22.052 28.191 9.717 1.00 0.00 C -HETATM 72 C5 BEN A 24 21.144 28.041 11.949 1.00 0.00 C -HETATM 73 C1 BEN A 25 12.290 5.318 21.654 1.00 0.00 C -HETATM 74 C3 BEN A 25 10.097 5.045 20.681 1.00 0.00 C -HETATM 75 C5 BEN A 25 11.422 6.992 20.147 1.00 0.00 C -HETATM 76 C1 BEN A 26 30.000 14.399 4.497 1.00 0.00 C -HETATM 77 C3 BEN A 26 28.758 16.469 4.454 1.00 0.00 C -HETATM 78 C5 BEN A 26 29.488 15.455 2.387 1.00 0.00 C -HETATM 79 C1 BEN A 27 29.600 16.851 24.027 1.00 0.00 C -HETATM 80 C3 BEN A 27 27.473 16.656 25.153 1.00 0.00 C -HETATM 81 C5 BEN A 27 28.732 14.672 24.596 1.00 0.00 C -HETATM 82 C1 BEN A 28 8.330 10.530 5.762 1.00 0.00 C -HETATM 83 C3 BEN A 28 6.772 12.297 5.234 1.00 0.00 C -HETATM 84 C5 BEN A 28 8.622 11.834 3.752 1.00 0.00 C -HETATM 85 C1 BEN A 29 4.849 12.492 18.746 1.00 0.00 C -HETATM 86 C3 BEN A 29 2.852 13.170 19.921 1.00 0.00 C -HETATM 87 C5 BEN A 29 2.678 11.866 17.896 1.00 0.00 C -HETATM 88 C1 BEN A 30 8.511 28.110 25.809 1.00 0.00 C -HETATM 89 C3 BEN A 30 8.678 28.565 28.175 1.00 0.00 C -HETATM 90 C5 BEN A 30 7.348 30.000 26.759 1.00 0.00 C -HETATM 91 C1 BEN A 31 26.832 21.092 7.099 1.00 0.00 C -HETATM 92 C3 BEN A 31 28.739 20.252 5.880 1.00 0.00 C -HETATM 93 C5 BEN A 31 26.991 21.446 4.717 1.00 0.00 C -HETATM 94 C1 BEN A 32 25.050 5.984 24.165 1.00 0.00 C -HETATM 95 C3 BEN A 32 26.064 7.614 22.700 1.00 0.00 C -HETATM 96 C5 BEN A 32 24.801 8.340 24.626 1.00 0.00 C -HETATM 97 C1 BEN A 33 8.547 28.952 8.815 1.00 0.00 C -HETATM 98 C3 BEN A 33 7.997 30.011 6.716 1.00 0.00 C -HETATM 99 C5 BEN A 33 10.277 30.018 7.511 1.00 0.00 C -HETATM 100 C1 BEN A 34 1.919 27.170 6.277 1.00 0.00 C -HETATM 101 C3 BEN A 34 3.502 28.447 7.578 1.00 0.00 C -HETATM 102 C5 BEN A 34 2.195 26.710 8.631 1.00 0.00 C -HETATM 103 C1 BEN A 35 6.862 11.711 29.247 1.00 0.00 C -HETATM 104 C3 BEN A 35 5.642 12.942 27.566 1.00 0.00 C -HETATM 105 C5 BEN A 35 7.598 11.666 26.948 1.00 0.00 C -HETATM 106 C1 BEN A 36 0.600 4.929 4.123 1.00 0.00 C -HETATM 107 C3 BEN A 36 0.780 6.531 2.325 1.00 0.00 C -HETATM 108 C5 BEN A 36 2.592 4.995 2.760 1.00 0.00 C -HETATM 109 C1 BEN A 37 14.754 28.711 26.368 1.00 0.00 C -HETATM 110 C3 BEN A 37 15.860 30.000 24.652 1.00 0.00 C -HETATM 111 C5 BEN A 37 15.416 27.652 24.302 1.00 0.00 C -HETATM 112 C1 BEN A 38 29.592 11.484 26.286 1.00 0.00 C -HETATM 113 C3 BEN A 38 29.520 13.120 28.061 1.00 0.00 C -HETATM 114 C5 BEN A 38 27.512 12.580 26.833 1.00 0.00 C -HETATM 115 C1 BEN A 39 1.247 5.969 13.377 1.00 0.00 C -HETATM 116 C3 BEN A 39 1.688 8.113 12.357 1.00 0.00 C -HETATM 117 C5 BEN A 39 3.512 6.605 12.836 1.00 0.00 C -HETATM 118 C1 BEN A 40 15.508 26.266 9.683 1.00 0.00 C -HETATM 119 C3 BEN A 40 13.668 26.171 11.244 1.00 0.00 C -HETATM 120 C5 BEN A 40 15.357 24.445 11.261 1.00 0.00 C -HETATM 121 C1 BEN A 41 17.331 21.393 19.947 1.00 0.00 C -HETATM 122 C3 BEN A 41 19.187 21.359 18.404 1.00 0.00 C -HETATM 123 C5 BEN A 41 17.982 19.323 18.890 1.00 0.00 C -HETATM 124 C1 BEN A 42 3.361 5.282 17.050 1.00 0.00 C -HETATM 125 C3 BEN A 42 4.768 4.410 15.292 1.00 0.00 C -HETATM 126 C5 BEN A 42 2.625 3.392 15.742 1.00 0.00 C -HETATM 127 C1 BEN A 43 8.010 5.057 15.838 1.00 0.00 C -HETATM 128 C3 BEN A 43 9.103 3.580 17.404 1.00 0.00 C -HETATM 129 C5 BEN A 43 9.585 5.947 17.436 1.00 0.00 C -HETATM 130 C1 BEN A 44 21.415 22.505 20.595 1.00 0.00 C -HETATM 131 C3 BEN A 44 21.873 24.611 19.506 1.00 0.00 C -HETATM 132 C5 BEN A 44 20.890 24.579 21.712 1.00 0.00 C -HETATM 133 C1 BEN A 45 21.978 25.813 15.341 1.00 0.00 C -HETATM 134 C3 BEN A 45 20.510 27.723 15.172 1.00 0.00 C -HETATM 135 C5 BEN A 45 20.153 26.074 16.900 1.00 0.00 C -HETATM 136 C1 BEN A 46 17.990 21.529 28.654 1.00 0.00 C -HETATM 137 C3 BEN A 46 19.626 23.273 28.992 1.00 0.00 C -HETATM 138 C5 BEN A 46 19.037 22.586 26.753 1.00 0.00 C -HETATM 139 C1 BEN A 47 17.014 2.643 7.846 1.00 0.00 C -HETATM 140 C3 BEN A 47 17.887 0.600 8.790 1.00 0.00 C -HETATM 141 C5 BEN A 47 15.896 1.604 9.716 1.00 0.00 C -HETATM 142 C1 BEN A 48 29.279 9.080 12.126 1.00 0.00 C -HETATM 143 C3 BEN A 48 29.170 10.110 14.307 1.00 0.00 C -HETATM 144 C5 BEN A 48 30.000 11.366 12.419 1.00 0.00 C -HETATM 145 C1 BEN A 49 2.724 19.194 7.318 1.00 0.00 C -HETATM 146 C3 BEN A 49 3.574 18.224 5.277 1.00 0.00 C -HETATM 147 C5 BEN A 49 3.750 17.009 7.357 1.00 0.00 C -HETATM 148 C1 BEN A 50 5.034 21.105 5.945 1.00 0.00 C -HETATM 149 C3 BEN A 50 3.267 21.367 4.320 1.00 0.00 C -HETATM 150 C5 BEN A 50 4.978 23.058 4.527 1.00 0.00 C -HETATM 151 C1 BEN A 51 11.172 16.114 11.197 1.00 0.00 C -HETATM 152 C3 BEN A 51 12.506 16.105 9.184 1.00 0.00 C -HETATM 153 C5 BEN A 51 12.853 17.813 10.855 1.00 0.00 C -HETATM 154 C1 BEN A 52 8.471 0.948 13.454 1.00 0.00 C -HETATM 155 C3 BEN A 52 8.964 0.672 15.801 1.00 0.00 C -HETATM 156 C5 BEN A 52 6.822 1.548 15.111 1.00 0.00 C -HETATM 157 C1 BEN A 53 10.411 21.049 6.167 1.00 0.00 C -HETATM 158 C3 BEN A 53 10.578 19.969 4.015 1.00 0.00 C -HETATM 159 C5 BEN A 53 10.478 18.640 6.029 1.00 0.00 C -HETATM 160 C1 BEN A 54 12.667 28.038 19.670 1.00 0.00 C -HETATM 161 C3 BEN A 54 13.988 29.246 21.290 1.00 0.00 C -HETATM 162 C5 BEN A 54 14.043 26.832 21.245 1.00 0.00 C -HETATM 163 C1 BEN A 55 12.353 2.849 14.706 1.00 0.00 C -HETATM 164 C3 BEN A 55 11.768 1.049 13.207 1.00 0.00 C -HETATM 165 C5 BEN A 55 13.091 0.600 15.177 1.00 0.00 C -HETATM 166 C1 BEN A 56 21.291 17.031 25.755 1.00 0.00 C -HETATM 167 C3 BEN A 56 22.400 15.823 27.527 1.00 0.00 C -HETATM 168 C5 BEN A 56 23.297 17.928 26.754 1.00 0.00 C -HETATM 169 C1 BEN A 57 19.011 30.000 10.366 1.00 0.00 C -HETATM 170 C3 BEN A 57 17.928 29.991 12.524 1.00 0.00 C -HETATM 171 C5 BEN A 57 16.601 30.000 10.506 1.00 0.00 C -HETATM 172 C1 BEN A 58 12.697 10.687 18.061 1.00 0.00 C -HETATM 173 C3 BEN A 58 14.169 11.362 16.270 1.00 0.00 C -HETATM 174 C5 BEN A 58 13.931 9.023 16.821 1.00 0.00 C -HETATM 175 C1 BEN A 59 16.131 23.467 23.003 1.00 0.00 C -HETATM 176 C3 BEN A 59 13.897 22.599 22.709 1.00 0.00 C -HETATM 177 C5 BEN A 59 15.006 22.386 24.844 1.00 0.00 C -HETATM 178 C1 BEN A 60 21.137 18.937 16.418 1.00 0.00 C -HETATM 179 C3 BEN A 60 21.249 18.607 18.807 1.00 0.00 C -HETATM 180 C5 BEN A 60 21.659 16.756 17.311 1.00 0.00 C -HETATM 181 C1 BEN A 61 28.576 19.874 12.985 1.00 0.00 C -HETATM 182 C3 BEN A 61 26.869 20.448 11.377 1.00 0.00 C -HETATM 183 C5 BEN A 61 28.995 21.591 11.340 1.00 0.00 C -HETATM 184 C1 BEN A 62 30.000 19.399 9.087 1.00 0.00 C -HETATM 185 C3 BEN A 62 30.000 17.515 10.598 1.00 0.00 C -HETATM 186 C5 BEN A 62 28.188 17.804 9.027 1.00 0.00 C -HETATM 187 C1 BEN A 63 9.588 26.733 6.606 1.00 0.00 C -HETATM 188 C3 BEN A 63 11.455 27.733 5.447 1.00 0.00 C -HETATM 189 C5 BEN A 63 9.307 27.563 4.357 1.00 0.00 C -HETATM 190 C1 BEN A 64 2.584 4.572 21.893 1.00 0.00 C -HETATM 191 C3 BEN A 64 0.600 3.713 22.968 1.00 0.00 C -HETATM 192 C5 BEN A 64 2.678 3.842 24.192 1.00 0.00 C -HETATM 193 C1 BEN A 65 4.824 30.000 16.412 1.00 0.00 C -HETATM 194 C3 BEN A 65 3.046 29.788 18.032 1.00 0.00 C -HETATM 195 C5 BEN A 65 3.709 27.880 16.708 1.00 0.00 C -HETATM 196 C1 BEN A 66 21.712 20.958 4.222 1.00 0.00 C -HETATM 197 C3 BEN A 66 23.551 20.962 5.788 1.00 0.00 C -HETATM 198 C5 BEN A 66 21.947 22.767 5.803 1.00 0.00 C -HETATM 199 C1 BEN A 67 5.751 19.330 13.093 1.00 0.00 C -HETATM 200 C3 BEN A 67 7.638 18.221 14.114 1.00 0.00 C -HETATM 201 C5 BEN A 67 7.457 20.628 14.203 1.00 0.00 C -HETATM 202 C1 BEN A 68 22.385 5.738 15.730 1.00 0.00 C -HETATM 203 C3 BEN A 68 23.137 7.381 17.332 1.00 0.00 C -HETATM 204 C5 BEN A 68 24.209 5.219 17.224 1.00 0.00 C -HETATM 205 C1 BEN A 69 13.689 4.612 3.242 1.00 0.00 C -HETATM 206 C3 BEN A 69 14.409 4.558 5.546 1.00 0.00 C -HETATM 207 C5 BEN A 69 12.875 6.267 4.799 1.00 0.00 C -HETATM 208 C1 BEN A 70 17.229 18.173 29.377 1.00 0.00 C -HETATM 209 C3 BEN A 70 19.261 16.887 29.595 1.00 0.00 C -HETATM 210 C5 BEN A 70 18.927 18.301 27.666 1.00 0.00 C -HETATM 211 C1 BEN A 71 7.180 16.087 22.607 1.00 0.00 C -HETATM 212 C3 BEN A 71 7.562 13.746 22.154 1.00 0.00 C -HETATM 213 C5 BEN A 71 7.520 15.338 20.338 1.00 0.00 C -HETATM 214 C1 BEN A 72 20.961 5.856 24.996 1.00 0.00 C -HETATM 215 C3 BEN A 72 22.493 6.853 26.574 1.00 0.00 C -HETATM 216 C5 BEN A 72 20.123 7.278 26.758 1.00 0.00 C -HETATM 217 C1 BEN A 73 5.231 22.622 30.002 1.00 0.00 C -HETATM 218 C3 BEN A 73 2.879 22.074 30.002 1.00 0.00 C -HETATM 219 C5 BEN A 73 3.728 23.758 28.492 1.00 0.00 C -HETATM 220 C1 BEN A 74 15.407 14.189 26.926 1.00 0.00 C -HETATM 221 C3 BEN A 74 14.613 15.723 25.239 1.00 0.00 C -HETATM 222 C5 BEN A 74 16.882 15.889 26.051 1.00 0.00 C -HETATM 223 C1 BEN A 75 21.574 11.782 16.293 1.00 0.00 C -HETATM 224 C3 BEN A 75 21.545 10.882 14.053 1.00 0.00 C -HETATM 225 C5 BEN A 75 20.329 9.769 15.818 1.00 0.00 C -HETATM 226 C1 BEN A 76 18.888 4.249 5.581 1.00 0.00 C -HETATM 227 C3 BEN A 76 20.526 5.176 7.092 1.00 0.00 C -HETATM 228 C5 BEN A 76 20.191 6.169 4.916 1.00 0.00 C -HETATM 229 C1 BEN A 77 17.223 8.529 21.107 1.00 0.00 C -HETATM 230 C3 BEN A 77 16.280 10.107 19.541 1.00 0.00 C -HETATM 231 C5 BEN A 77 16.006 7.735 19.179 1.00 0.00 C -HETATM 232 C1 BEN A 78 4.302 14.912 4.839 1.00 0.00 C -HETATM 233 C3 BEN A 78 2.925 12.962 5.205 1.00 0.00 C -HETATM 234 C5 BEN A 78 1.896 15.114 4.829 1.00 0.00 C -HETATM 235 C1 BEN A 79 10.079 8.039 13.374 1.00 0.00 C -HETATM 236 C3 BEN A 79 8.948 9.358 15.051 1.00 0.00 C -HETATM 237 C5 BEN A 79 11.339 9.552 14.770 1.00 0.00 C -HETATM 238 C1 BEN A 80 6.652 9.138 12.120 1.00 0.00 C -HETATM 239 C3 BEN A 80 6.390 11.004 13.630 1.00 0.00 C -HETATM 240 C5 BEN A 80 4.443 9.911 12.710 1.00 0.00 C -HETATM 241 C1 BEN A 81 12.483 21.846 28.850 1.00 0.00 C -HETATM 242 C3 BEN A 81 13.935 19.974 29.316 1.00 0.00 C -HETATM 243 C5 BEN A 81 14.826 22.218 29.292 1.00 0.00 C -HETATM 244 C1 BEN A 82 29.695 5.717 16.509 1.00 0.00 C -HETATM 245 C3 BEN A 82 27.533 4.920 17.229 1.00 0.00 C -HETATM 246 C5 BEN A 82 29.531 4.202 18.381 1.00 0.00 C -HETATM 247 C1 BEN A 83 10.805 12.360 26.313 1.00 0.00 C -HETATM 248 C3 BEN A 83 9.445 13.999 25.176 1.00 0.00 C -HETATM 249 C5 BEN A 83 11.751 13.685 24.530 1.00 0.00 C -HETATM 250 C1 BEN A 84 14.131 10.923 26.703 1.00 0.00 C -HETATM 251 C3 BEN A 84 16.246 9.780 26.480 1.00 0.00 C -HETATM 252 C5 BEN A 84 15.659 11.548 24.942 1.00 0.00 C -HETATM 253 C1 BEN A 85 24.305 10.196 12.381 1.00 0.00 C -HETATM 254 C3 BEN A 85 24.875 11.135 14.531 1.00 0.00 C -HETATM 255 C5 BEN A 85 25.630 12.210 12.505 1.00 0.00 C -HETATM 256 C1 BEN A 86 3.668 16.512 1.416 1.00 0.00 C -HETATM 257 C3 BEN A 86 3.178 14.183 1.823 1.00 0.00 C -HETATM 258 C5 BEN A 86 1.609 15.552 0.600 1.00 0.00 C -HETATM 259 C1 BEN A 87 18.605 23.358 15.843 1.00 0.00 C -HETATM 260 C3 BEN A 87 17.084 24.864 16.960 1.00 0.00 C -HETATM 261 C5 BEN A 87 16.226 22.958 15.750 1.00 0.00 C -HETATM 262 C1 BEN A 88 16.063 15.153 30.000 1.00 0.00 C -HETATM 263 C3 BEN A 88 15.924 12.743 30.001 1.00 0.00 C -HETATM 264 C5 BEN A 88 18.081 13.829 29.972 1.00 0.00 C -HETATM 265 C1 BEN A 89 10.294 12.611 13.843 1.00 0.00 C -HETATM 266 C3 BEN A 89 10.825 12.847 11.499 1.00 0.00 C -HETATM 267 C5 BEN A 89 9.381 11.057 12.237 1.00 0.00 C -HETATM 268 C1 BEN A 90 4.733 25.507 6.722 1.00 0.00 C -HETATM 269 C3 BEN A 90 4.535 26.323 4.458 1.00 0.00 C -HETATM 270 C5 BEN A 90 6.704 25.747 5.350 1.00 0.00 C -HETATM 271 C1 BEN A 91 17.229 3.703 19.954 1.00 0.00 C -HETATM 272 C3 BEN A 91 16.142 1.668 20.666 1.00 0.00 C -HETATM 273 C5 BEN A 91 18.525 1.929 20.955 1.00 0.00 C -HETATM 274 C1 BEN A 92 6.334 13.251 1.580 1.00 0.00 C -HETATM 275 C3 BEN A 92 7.360 14.905 3.008 1.00 0.00 C -HETATM 276 C5 BEN A 92 7.360 15.211 0.613 1.00 0.00 C -HETATM 277 C1 BEN A 93 12.524 20.222 24.625 1.00 0.00 C -HETATM 278 C3 BEN A 93 14.491 19.049 23.860 1.00 0.00 C -HETATM 279 C5 BEN A 93 13.727 18.773 26.135 1.00 0.00 C -HETATM 280 C1 BEN A 94 0.636 14.357 17.094 1.00 0.00 C -HETATM 281 C3 BEN A 94 0.847 16.003 15.340 1.00 0.00 C -HETATM 282 C5 BEN A 94 2.493 14.249 15.554 1.00 0.00 C -HETATM 283 C1 BEN A 95 29.278 10.454 29.989 1.00 0.00 C -HETATM 284 C3 BEN A 95 27.137 9.339 29.964 1.00 0.00 C -HETATM 285 C5 BEN A 95 27.243 11.752 30.013 1.00 0.00 C -HETATM 286 C1 BEN A 96 12.647 11.937 6.470 1.00 0.00 C -HETATM 287 C3 BEN A 96 13.557 10.706 8.336 1.00 0.00 C -HETATM 288 C5 BEN A 96 13.999 13.070 8.117 1.00 0.00 C -HETATM 289 C1 BEN A 97 18.548 13.492 18.376 1.00 0.00 C -HETATM 290 C3 BEN A 97 17.447 12.944 16.298 1.00 0.00 C -HETATM 291 C5 BEN A 97 19.444 14.302 16.286 1.00 0.00 C -HETATM 292 C1 BEN A 98 9.420 1.713 2.666 1.00 0.00 C -HETATM 293 C3 BEN A 98 7.278 0.600 2.606 1.00 0.00 C -HETATM 294 C5 BEN A 98 7.610 2.504 4.054 1.00 0.00 C -HETATM 295 C1 BEN A 99 19.626 24.343 12.378 1.00 0.00 C -HETATM 296 C3 BEN A 99 18.861 25.962 10.757 1.00 0.00 C -HETATM 297 C5 BEN A 99 18.260 26.204 13.084 1.00 0.00 C -HETATM 298 C1 BEN A 100 15.141 3.322 26.190 1.00 0.00 C -HETATM 299 C3 BEN A 100 16.367 5.265 26.932 1.00 0.00 C -HETATM 300 C5 BEN A 100 14.924 4.087 28.469 1.00 0.00 C -HETATM 301 C1 BEN A 101 8.127 9.398 9.067 1.00 0.00 C -HETATM 302 C3 BEN A 101 10.128 8.515 10.089 1.00 0.00 C -HETATM 303 C5 BEN A 101 10.288 10.268 8.436 1.00 0.00 C -HETATM 304 C1 BEN A 102 7.684 20.274 7.855 1.00 0.00 C -HETATM 305 C3 BEN A 102 5.660 19.371 8.814 1.00 0.00 C -HETATM 306 C5 BEN A 102 6.835 18.145 7.097 1.00 0.00 C -HETATM 307 C1 BEN A 103 6.184 21.307 26.038 1.00 0.00 C -HETATM 308 C3 BEN A 103 4.479 20.533 27.562 1.00 0.00 C -HETATM 309 C5 BEN A 103 6.809 20.373 28.175 1.00 0.00 C -HETATM 310 C1 BEN A 104 4.985 19.935 23.020 1.00 0.00 C -HETATM 311 C3 BEN A 104 4.947 22.245 22.319 1.00 0.00 C -HETATM 312 C5 BEN A 104 4.888 20.481 20.671 1.00 0.00 C -HETATM 313 C1 BEN A 105 13.046 25.672 7.465 1.00 0.00 C -HETATM 314 C3 BEN A 105 12.182 27.583 8.661 1.00 0.00 C -HETATM 315 C5 BEN A 105 11.283 25.383 9.088 1.00 0.00 C -HETATM 316 C1 BEN A 106 14.853 22.372 0.599 1.00 0.00 C -HETATM 317 C3 BEN A 106 14.818 23.878 2.486 1.00 0.00 C -HETATM 318 C5 BEN A 106 13.360 24.269 0.601 1.00 0.00 C -HETATM 319 C1 BEN A 107 20.270 6.229 18.869 1.00 0.00 C -HETATM 320 C3 BEN A 107 20.097 5.235 21.062 1.00 0.00 C -HETATM 321 C5 BEN A 107 21.811 6.875 20.610 1.00 0.00 C -HETATM 322 C1 BEN A 108 26.741 24.542 17.937 1.00 0.00 C -HETATM 323 C3 BEN A 108 26.625 25.797 15.877 1.00 0.00 C -HETATM 324 C5 BEN A 108 25.404 23.725 16.100 1.00 0.00 C -HETATM 325 C1 BEN A 109 6.482 26.595 9.845 1.00 0.00 C -HETATM 326 C3 BEN A 109 7.735 27.536 11.682 1.00 0.00 C -HETATM 327 C5 BEN A 109 5.878 28.756 10.736 1.00 0.00 C -HETATM 328 C1 BEN A 110 28.593 12.991 7.129 1.00 0.00 C -HETATM 329 C3 BEN A 110 29.999 12.893 9.089 1.00 0.00 C -HETATM 330 C5 BEN A 110 29.601 15.007 7.992 1.00 0.00 C -HETATM 331 C1 BEN A 111 24.276 28.997 24.563 1.00 0.00 C -HETATM 332 C3 BEN A 111 26.454 29.997 24.266 1.00 0.00 C -HETATM 333 C5 BEN A 111 24.865 29.998 22.447 1.00 0.00 C -HETATM 334 C1 BEN A 112 16.307 13.918 5.640 1.00 0.00 C -HETATM 335 C3 BEN A 112 17.707 12.708 7.191 1.00 0.00 C -HETATM 336 C5 BEN A 112 17.671 15.122 7.226 1.00 0.00 C -HETATM 337 C1 BEN A 113 15.953 22.892 7.466 1.00 0.00 C -HETATM 338 C3 BEN A 113 14.357 23.225 5.686 1.00 0.00 C -HETATM 339 C5 BEN A 113 15.988 24.936 6.182 1.00 0.00 C -HETATM 340 C1 BEN A 114 8.042 14.821 14.824 1.00 0.00 C -HETATM 341 C3 BEN A 114 5.698 14.255 14.711 1.00 0.00 C -HETATM 342 C5 BEN A 114 6.745 14.640 16.852 1.00 0.00 C -HETATM 343 C1 BEN A 115 20.102 27.794 1.773 1.00 0.00 C -HETATM 344 C3 BEN A 115 20.246 27.663 4.179 1.00 0.00 C -HETATM 345 C5 BEN A 115 21.466 26.093 2.809 1.00 0.00 C -HETATM 346 C1 BEN A 116 26.648 24.394 30.000 1.00 0.00 C -HETATM 347 C3 BEN A 116 26.936 22.488 28.545 1.00 0.00 C -HETATM 348 C5 BEN A 116 24.906 23.792 28.442 1.00 0.00 C -HETATM 349 C1 BEN A 117 20.804 1.888 3.320 1.00 0.00 C -HETATM 350 C3 BEN A 117 22.180 0.600 4.830 1.00 0.00 C -HETATM 351 C5 BEN A 117 21.998 2.992 5.104 1.00 0.00 C -HETATM 352 C1 BEN A 118 22.726 1.439 27.980 1.00 0.00 C -HETATM 353 C3 BEN A 118 23.182 3.767 28.427 1.00 0.00 C -HETATM 354 C5 BEN A 118 21.179 3.136 27.235 1.00 0.00 C -HETATM 355 C1 BEN A 119 17.569 1.376 4.624 1.00 0.00 C -HETATM 356 C3 BEN A 119 15.741 0.953 3.104 1.00 0.00 C -HETATM 357 C5 BEN A 119 15.444 0.611 5.476 1.00 0.00 C -HETATM 358 C1 BEN A 120 25.680 17.300 6.895 1.00 0.00 C -HETATM 359 C3 BEN A 120 24.665 15.371 5.857 1.00 0.00 C -HETATM 360 C5 BEN A 120 24.662 17.499 4.716 1.00 0.00 C -HETATM 361 C1 BEN A 121 27.272 7.959 9.260 1.00 0.00 C -HETATM 362 C3 BEN A 121 27.348 10.221 8.420 1.00 0.00 C -HETATM 363 C5 BEN A 121 28.317 8.421 7.134 1.00 0.00 C -HETATM 364 C1 BEN A 122 20.146 11.194 21.235 1.00 0.00 C -HETATM 365 C3 BEN A 122 21.812 11.039 19.494 1.00 0.00 C -HETATM 366 C5 BEN A 122 20.006 9.438 19.583 1.00 0.00 C -HETATM 367 C1 BEN A 123 3.551 8.728 0.809 1.00 0.00 C -HETATM 368 C3 BEN A 123 5.686 8.375 1.880 1.00 0.00 C -HETATM 369 C5 BEN A 123 4.093 9.916 2.839 1.00 0.00 C -HETATM 370 C1 BEN A 124 6.935 27.734 2.025 1.00 0.00 C -HETATM 371 C3 BEN A 124 6.800 29.806 3.257 1.00 0.00 C -HETATM 372 C5 BEN A 124 4.802 28.824 2.321 1.00 0.00 C -HETATM 373 C1 BEN A 125 28.523 23.399 14.060 1.00 0.00 C -HETATM 374 C3 BEN A 125 28.734 25.629 13.159 1.00 0.00 C -HETATM 375 C5 BEN A 125 26.690 24.384 12.836 1.00 0.00 C -HETATM 376 C1 BEN A 126 10.955 16.873 20.721 1.00 0.00 C -HETATM 377 C3 BEN A 126 12.695 15.504 21.686 1.00 0.00 C -HETATM 378 C5 BEN A 126 11.527 17.116 23.054 1.00 0.00 C -HETATM 379 C1 BEN A 127 18.567 26.962 26.235 1.00 0.00 C -HETATM 380 C3 BEN A 127 18.472 25.916 24.061 1.00 0.00 C -HETATM 381 C5 BEN A 127 18.754 28.308 24.239 1.00 0.00 C -HETATM 382 C1 BEN A 128 23.760 30.000 17.496 1.00 0.00 C -HETATM 383 C3 BEN A 128 22.795 27.814 17.839 1.00 0.00 C -HETATM 384 C5 BEN A 128 21.364 29.748 17.634 1.00 0.00 C -HETATM 385 C1 BEN A 129 16.957 3.806 14.157 1.00 0.00 C -HETATM 386 C3 BEN A 129 19.010 3.228 13.025 1.00 0.00 C -HETATM 387 C5 BEN A 129 17.291 1.560 13.337 1.00 0.00 C -HETATM 388 C1 BEN A 130 10.309 19.879 9.844 1.00 0.00 C -HETATM 389 C3 BEN A 130 8.327 19.184 11.035 1.00 0.00 C -HETATM 390 C5 BEN A 130 8.775 21.533 10.702 1.00 0.00 C -HETATM 391 C1 BEN A 131 27.783 24.369 24.760 1.00 0.00 C -HETATM 392 C3 BEN A 131 29.303 25.422 26.312 1.00 0.00 C -HETATM 393 C5 BEN A 131 26.962 26.013 26.325 1.00 0.00 C -HETATM 394 C1 BEN A 132 3.766 28.350 24.564 1.00 0.00 C -HETATM 395 C3 BEN A 132 4.741 29.857 22.948 1.00 0.00 C -HETATM 396 C5 BEN A 132 5.746 27.697 23.346 1.00 0.00 C -HETATM 397 C1 BEN A 133 1.488 26.285 21.661 1.00 0.00 C -HETATM 398 C3 BEN A 133 1.839 28.598 21.063 1.00 0.00 C -HETATM 399 C5 BEN A 133 2.782 26.842 19.701 1.00 0.00 C -HETATM 400 C1 BEN A 134 21.531 1.073 22.467 1.00 0.00 C -HETATM 401 C3 BEN A 134 20.044 1.265 24.360 1.00 0.00 C -HETATM 402 C5 BEN A 134 22.436 1.253 24.698 1.00 0.00 C -HETATM 403 C1 BEN A 135 2.437 3.379 11.663 1.00 0.00 C -HETATM 404 C3 BEN A 135 2.460 5.153 10.026 1.00 0.00 C -HETATM 405 C5 BEN A 135 4.263 3.548 10.094 1.00 0.00 C -HETATM 406 C1 BEN A 136 10.419 17.837 1.485 1.00 0.00 C -HETATM 407 C3 BEN A 136 12.190 16.227 1.803 1.00 0.00 C -HETATM 408 C5 BEN A 136 10.433 16.432 3.447 1.00 0.00 C -HETATM 409 C1 BEN A 137 13.942 9.115 21.653 1.00 0.00 C -HETATM 410 C3 BEN A 137 14.635 8.479 23.877 1.00 0.00 C -HETATM 411 C5 BEN A 137 12.306 8.927 23.419 1.00 0.00 C -HETATM 412 C1 BEN A 138 22.272 20.852 28.372 1.00 0.00 C -HETATM 413 C3 BEN A 138 20.881 19.737 30.000 1.00 0.00 C -HETATM 414 C5 BEN A 138 23.245 19.256 29.899 1.00 0.00 C -HETATM 415 C1 BEN A 139 8.030 8.109 20.978 1.00 0.00 C -HETATM 416 C3 BEN A 139 6.813 10.073 21.679 1.00 0.00 C -HETATM 417 C5 BEN A 139 9.205 9.961 21.986 1.00 0.00 C -HETATM 418 C1 BEN A 140 13.350 25.360 25.611 1.00 0.00 C -HETATM 419 C3 BEN A 140 11.339 25.327 24.275 1.00 0.00 C -HETATM 420 C5 BEN A 140 11.228 24.843 26.639 1.00 0.00 C -HETATM 421 C1 BEN A 141 9.769 11.694 19.202 1.00 0.00 C -HETATM 422 C3 BEN A 141 8.049 11.392 17.535 1.00 0.00 C -HETATM 423 C5 BEN A 141 9.888 12.900 17.114 1.00 0.00 C -HETATM 424 C1 BEN A 142 24.379 17.110 23.422 1.00 0.00 C -HETATM 425 C3 BEN A 142 23.330 16.873 21.261 1.00 0.00 C -HETATM 426 C5 BEN A 142 25.209 15.475 21.851 1.00 0.00 C -HETATM 427 C1 BEN A 143 15.474 4.649 23.007 1.00 0.00 C -HETATM 428 C3 BEN A 143 17.702 3.944 23.617 1.00 0.00 C -HETATM 429 C5 BEN A 143 17.121 6.288 23.662 1.00 0.00 C -HETATM 430 C1 BEN A 144 13.754 14.931 16.942 1.00 0.00 C -HETATM 431 C3 BEN A 144 12.605 13.904 18.801 1.00 0.00 C -HETATM 432 C5 BEN A 144 14.821 14.816 19.104 1.00 0.00 C -HETATM 433 C1 BEN A 145 2.873 16.109 23.966 1.00 0.00 C -HETATM 434 C3 BEN A 145 4.825 17.052 25.029 1.00 0.00 C -HETATM 435 C5 BEN A 145 2.684 18.146 25.247 1.00 0.00 C -HETATM 436 C1 BEN A 146 5.535 24.064 11.968 1.00 0.00 C -HETATM 437 C3 BEN A 146 4.562 21.955 11.306 1.00 0.00 C -HETATM 438 C5 BEN A 146 5.423 23.467 9.631 1.00 0.00 C -HETATM 439 C1 BEN A 147 26.559 13.591 9.656 1.00 0.00 C -HETATM 440 C3 BEN A 147 25.712 15.832 9.956 1.00 0.00 C -HETATM 441 C5 BEN A 147 27.331 14.934 11.507 1.00 0.00 C -HETATM 442 C1 BEN A 148 12.767 30.043 3.494 1.00 0.00 C -HETATM 443 C3 BEN A 148 12.265 28.114 2.132 1.00 0.00 C -HETATM 444 C5 BEN A 148 10.791 30.026 2.107 1.00 0.00 C -HETATM 445 C1 BEN A 149 6.228 5.185 19.150 1.00 0.00 C -HETATM 446 C3 BEN A 149 6.290 3.137 20.426 1.00 0.00 C -HETATM 447 C5 BEN A 149 6.225 5.267 21.562 1.00 0.00 C -HETATM 448 C1 BEN A 150 27.888 1.583 10.933 1.00 0.00 C -HETATM 449 C3 BEN A 150 27.470 3.855 10.230 1.00 0.00 C -HETATM 450 C5 BEN A 150 29.525 2.753 9.600 1.00 0.00 C -HETATM 451 C1 BEN A 151 14.809 18.693 7.931 1.00 0.00 C -HETATM 452 C3 BEN A 151 16.787 18.675 6.546 1.00 0.00 C -HETATM 453 C5 BEN A 151 14.945 17.197 6.041 1.00 0.00 C -HETATM 454 C1 BEN A 152 13.800 6.594 9.166 1.00 0.00 C -HETATM 455 C3 BEN A 152 12.071 5.341 8.039 1.00 0.00 C -HETATM 456 C5 BEN A 152 12.255 7.724 7.694 1.00 0.00 C -HETATM 457 C1 BEN A 153 14.036 20.344 3.067 1.00 0.00 C -HETATM 458 C3 BEN A 153 16.150 21.007 4.028 1.00 0.00 C -HETATM 459 C5 BEN A 153 16.076 19.270 2.351 1.00 0.00 C -HETATM 460 C1 BEN A 154 5.488 21.951 0.594 1.00 0.00 C -HETATM 461 C3 BEN A 154 5.750 20.364 2.395 1.00 0.00 C -HETATM 462 C5 BEN A 154 7.222 22.273 2.241 1.00 0.00 C -HETATM 463 C1 BEN A 155 0.929 12.558 26.795 1.00 0.00 C -HETATM 464 C3 BEN A 155 0.916 12.041 24.437 1.00 0.00 C -HETATM 465 C5 BEN A 155 2.996 12.559 25.548 1.00 0.00 C -HETATM 466 C1 BEN A 156 16.614 18.751 14.571 1.00 0.00 C -HETATM 467 C3 BEN A 156 16.271 16.361 14.576 1.00 0.00 C -HETATM 468 C5 BEN A 156 18.345 17.286 15.398 1.00 0.00 C -HETATM 469 C1 BEN A 157 28.754 7.231 19.919 1.00 0.00 C -HETATM 470 C3 BEN A 157 26.796 7.817 18.634 1.00 0.00 C -HETATM 471 C5 BEN A 157 28.728 9.266 18.621 1.00 0.00 C -HETATM 472 C1 BEN A 158 11.810 1.813 27.939 1.00 0.00 C -HETATM 473 C3 BEN A 158 12.542 1.356 25.684 1.00 0.00 C -HETATM 474 C5 BEN A 158 10.500 2.588 26.065 1.00 0.00 C -HETATM 475 C1 BEN A 159 11.451 29.998 11.317 1.00 0.00 C -HETATM 476 C3 BEN A 159 11.151 27.910 12.492 1.00 0.00 C -HETATM 477 C5 BEN A 159 12.913 29.426 13.150 1.00 0.00 C -HETATM 478 C1 BEN A 160 22.890 8.234 5.892 1.00 0.00 C -HETATM 479 C3 BEN A 160 23.963 6.663 7.378 1.00 0.00 C -HETATM 480 C5 BEN A 160 24.377 9.030 7.619 1.00 0.00 C -HETATM 481 C1 BEN A 161 25.845 6.129 2.136 1.00 0.00 C -HETATM 482 C3 BEN A 161 23.972 7.315 1.180 1.00 0.00 C -HETATM 483 C5 BEN A 161 26.122 8.399 1.363 1.00 0.00 C -HETATM 484 C1 BEN A 162 19.145 5.051 10.277 1.00 0.00 C -HETATM 485 C3 BEN A 162 17.569 6.353 11.561 1.00 0.00 C -HETATM 486 C5 BEN A 162 17.036 5.699 9.298 1.00 0.00 C -HETATM 487 C1 BEN A 163 23.316 24.346 12.194 1.00 0.00 C -HETATM 488 C3 BEN A 163 23.608 22.051 11.503 1.00 0.00 C -HETATM 489 C5 BEN A 163 22.218 22.572 13.408 1.00 0.00 C -HETATM 490 C1 BEN A 164 4.825 7.738 26.139 1.00 0.00 C -HETATM 491 C3 BEN A 164 5.253 5.849 24.697 1.00 0.00 C -HETATM 492 C5 BEN A 164 3.191 7.089 24.486 1.00 0.00 C -HETATM 493 C1 BEN A 165 3.620 29.249 13.074 1.00 0.00 C -HETATM 494 C3 BEN A 165 2.705 27.159 12.285 1.00 0.00 C -HETATM 495 C5 BEN A 165 4.825 27.190 13.441 1.00 0.00 C -HETATM 496 C1 BEN A 166 20.369 13.120 4.944 1.00 0.00 C -HETATM 497 C3 BEN A 166 21.080 13.915 2.778 1.00 0.00 C -HETATM 498 C5 BEN A 166 18.781 13.266 3.132 1.00 0.00 C -HETATM 499 C1 BEN A 167 18.805 20.714 9.072 1.00 0.00 C -HETATM 500 C3 BEN A 167 19.005 21.770 6.910 1.00 0.00 C -HETATM 501 C5 BEN A 167 18.912 23.120 8.910 1.00 0.00 C -HETATM 502 C1 BEN A 168 24.138 21.035 19.448 1.00 0.00 C -HETATM 503 C3 BEN A 168 23.082 21.779 17.408 1.00 0.00 C -HETATM 504 C5 BEN A 168 24.989 20.300 17.312 1.00 0.00 C -HETATM 505 C1 BEN A 169 14.446 19.723 19.911 1.00 0.00 C -HETATM 506 C3 BEN A 169 13.082 18.752 18.172 1.00 0.00 C -HETATM 507 C5 BEN A 169 14.758 20.400 17.615 1.00 0.00 C -HETATM 508 C1 BEN A 170 5.523 8.724 18.255 1.00 0.00 C -HETATM 509 C3 BEN A 170 5.740 7.420 16.235 1.00 0.00 C -HETATM 510 C5 BEN A 170 4.079 9.167 16.372 1.00 0.00 C -HETATM 511 C1 BEN A 171 7.001 2.400 26.082 1.00 0.00 C -HETATM 512 C3 BEN A 171 6.248 0.596 24.665 1.00 0.00 C -HETATM 513 C5 BEN A 171 6.317 2.854 23.812 1.00 0.00 C -HETATM 514 C1 BEN A 172 10.161 23.650 1.703 1.00 0.00 C -HETATM 515 C3 BEN A 172 11.446 25.094 3.150 1.00 0.00 C -HETATM 516 C5 BEN A 172 9.342 24.183 3.910 1.00 0.00 C -HETATM 517 C1 BEN A 173 21.295 17.710 2.848 1.00 0.00 C -HETATM 518 C3 BEN A 173 19.167 17.155 1.851 1.00 0.00 C -HETATM 519 C5 BEN A 173 19.384 17.264 4.254 1.00 0.00 C -HETATM 520 C1 BEN A 174 26.923 28.911 2.652 1.00 0.00 C -HETATM 521 C3 BEN A 174 26.874 27.634 0.603 1.00 0.00 C -HETATM 522 C5 BEN A 174 24.874 27.852 1.940 1.00 0.00 C -HETATM 523 C1 BEN A 175 27.977 7.855 25.378 1.00 0.00 C -HETATM 524 C3 BEN A 175 28.904 9.156 23.568 1.00 0.00 C -HETATM 525 C5 BEN A 175 30.000 7.126 24.280 1.00 0.00 C -HETATM 526 C1 BEN A 176 23.712 14.276 16.589 1.00 0.00 C -HETATM 527 C3 BEN A 176 23.347 13.908 18.947 1.00 0.00 C -HETATM 528 C5 BEN A 176 24.682 15.781 18.209 1.00 0.00 C -HETATM 529 C1 BEN A 177 17.782 25.079 1.635 1.00 0.00 C -HETATM 530 C3 BEN A 177 16.919 27.068 2.697 1.00 0.00 C -HETATM 531 C5 BEN A 177 15.988 26.318 0.599 1.00 0.00 C -HETATM 532 C1 BEN A 178 7.235 14.111 9.571 1.00 0.00 C -HETATM 533 C3 BEN A 178 6.834 15.734 11.313 1.00 0.00 C -HETATM 534 C5 BEN A 178 8.248 16.298 9.437 1.00 0.00 C -HETATM 535 C1 BEN A 179 14.064 10.333 11.575 1.00 0.00 C -HETATM 536 C3 BEN A 179 15.185 8.419 12.530 1.00 0.00 C -HETATM 537 C5 BEN A 179 16.475 10.225 11.578 1.00 0.00 C -HETATM 538 C1 BEN A 180 20.060 19.989 23.597 1.00 0.00 C -HETATM 539 C3 BEN A 180 17.716 20.444 23.955 1.00 0.00 C -HETATM 540 C5 BEN A 180 19.239 22.255 23.470 1.00 0.00 C -HETATM 541 C1 BEN A 181 26.336 3.055 24.976 1.00 0.00 C -HETATM 542 C3 BEN A 181 27.687 4.160 26.645 1.00 0.00 C -HETATM 543 C5 BEN A 181 28.597 2.313 25.384 1.00 0.00 C -HETATM 544 C1 BEN A 182 25.568 27.192 19.516 1.00 0.00 C -HETATM 545 C3 BEN A 182 27.887 27.482 18.910 1.00 0.00 C -HETATM 546 C5 BEN A 182 26.539 29.402 19.483 1.00 0.00 C -HETATM 547 C1 BEN A 183 13.249 20.932 11.858 1.00 0.00 C -HETATM 548 C3 BEN A 183 11.890 22.619 10.791 1.00 0.00 C -HETATM 549 C5 BEN A 183 13.610 21.480 9.535 1.00 0.00 C -HETATM 550 C1 BEN A 184 24.801 11.976 21.999 1.00 0.00 C -HETATM 551 C3 BEN A 184 25.748 10.258 20.592 1.00 0.00 C -HETATM 552 C5 BEN A 184 23.747 9.809 21.866 1.00 0.00 C -HETATM 553 C1 BEN A 185 8.956 24.250 12.564 1.00 0.00 C -HETATM 554 C3 BEN A 185 7.660 24.343 14.599 1.00 0.00 C -HETATM 555 C5 BEN A 185 9.798 25.459 14.476 1.00 0.00 C -HETATM 556 C1 BEN A 186 7.440 6.713 30.000 1.00 0.00 C -HETATM 557 C3 BEN A 186 7.098 8.521 28.436 1.00 0.00 C -HETATM 558 C5 BEN A 186 9.313 8.054 29.278 1.00 0.00 C -HETATM 559 C1 BEN A 187 21.671 29.929 27.724 1.00 0.00 C -HETATM 560 C3 BEN A 187 23.818 30.000 28.828 1.00 0.00 C -HETATM 561 C5 BEN A 187 22.096 28.507 29.628 1.00 0.00 C -HETATM 562 C1 BEN A 188 16.638 10.466 4.117 1.00 0.00 C -HETATM 563 C3 BEN A 188 15.062 9.572 2.521 1.00 0.00 C -HETATM 564 C5 BEN A 188 15.552 11.936 2.540 1.00 0.00 C -HETATM 565 C1 BEN A 189 28.135 1.475 14.937 1.00 0.00 C -HETATM 566 C3 BEN A 189 26.143 2.774 14.518 1.00 0.00 C -HETATM 567 C5 BEN A 189 28.309 3.651 13.907 1.00 0.00 C -HETATM 568 C1 BEN A 190 27.203 1.451 7.649 1.00 0.00 C -HETATM 569 C3 BEN A 190 25.024 2.489 7.699 1.00 0.00 C -HETATM 570 C5 BEN A 190 26.417 2.699 5.738 1.00 0.00 C -HETATM 571 C1 BEN A 191 16.110 16.688 22.155 1.00 0.00 C -HETATM 572 C3 BEN A 191 18.125 15.663 23.003 1.00 0.00 C -HETATM 573 C5 BEN A 191 18.099 16.627 20.789 1.00 0.00 C -HETATM 574 C1 BEN A 192 4.908 9.466 7.294 1.00 0.00 C -HETATM 575 C3 BEN A 192 2.995 9.015 8.697 1.00 0.00 C -HETATM 576 C5 BEN A 192 2.732 9.139 6.300 1.00 0.00 C -HETATM 577 C1 BEN A 193 21.358 27.917 22.060 1.00 0.00 C -HETATM 578 C3 BEN A 193 21.415 30.001 23.278 1.00 0.00 C -HETATM 579 C5 BEN A 193 20.977 30.001 20.903 1.00 0.00 C -HETATM 580 C1 BEN A 194 18.924 11.664 25.960 1.00 0.00 C -HETATM 581 C3 BEN A 194 19.188 10.518 28.069 1.00 0.00 C -HETATM 582 C5 BEN A 194 20.212 12.679 27.731 1.00 0.00 C -HETATM 583 C1 BEN A 195 25.322 17.101 12.977 1.00 0.00 C -HETATM 584 C3 BEN A 195 26.301 18.177 14.904 1.00 0.00 C -HETATM 585 C5 BEN A 195 23.917 18.295 14.535 1.00 0.00 C -HETATM 586 C1 BEN A 196 22.371 14.087 22.807 1.00 0.00 C -HETATM 587 C3 BEN A 196 20.616 14.069 24.466 1.00 0.00 C -HETATM 588 C5 BEN A 196 22.749 13.046 24.952 1.00 0.00 C -HETATM 589 C1 BEN A 197 11.933 17.944 14.750 1.00 0.00 C -HETATM 590 C3 BEN A 197 10.824 16.360 16.196 1.00 0.00 C -HETATM 591 C5 BEN A 197 10.175 18.686 16.229 1.00 0.00 C -HETATM 592 C1 BEN A 198 11.970 6.082 27.888 1.00 0.00 C -HETATM 593 C3 BEN A 198 13.836 7.376 27.069 1.00 0.00 C -HETATM 594 C5 BEN A 198 12.838 5.678 25.672 1.00 0.00 C -HETATM 595 C1 BEN A 199 25.628 6.194 12.294 1.00 0.00 C -HETATM 596 C3 BEN A 199 25.088 7.442 14.289 1.00 0.00 C -HETATM 597 C5 BEN A 199 27.376 6.816 13.838 1.00 0.00 C -HETATM 598 C1 BEN A 200 8.681 7.740 25.312 1.00 0.00 C -HETATM 599 C3 BEN A 200 9.870 6.135 23.957 1.00 0.00 C -HETATM 600 C5 BEN A 200 8.460 5.379 25.766 1.00 0.00 C -END diff --git a/examples/mbar/demo.ipynb b/examples/mbar/demo.ipynb deleted file mode 100644 index cbd7ea21d..000000000 --- a/examples/mbar/demo.ipynb +++ /dev/null @@ -1,523 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "16a0d3cf", - "metadata": {}, - "source": [ - "# Optimize CG benzene using MBAR to fit radial distribution function\n", - "\n", - "\n", - "In this demo, we would try to optimize a coarse-grained benzene model with three beads to fit experimental center-of-mass radial distribution function. The potential function only has harmonic bond term and Lennard-Jones term as:\n", - "\n", - "$$\\begin{align*}\n", - " V(\\mathbf{R}) &= V_{\\mathrm{bond}} + V_\\mathrm{vdW} \\\\\n", - " &= \\sum_{\\mathrm{bonds}}\\frac{1}{2}k_b(r - r_0)^2 \\\\\n", - " &\\quad+ \\sum_{ij}4\\varepsilon_{ij}\\left[\\left(\\frac{\\sigma_{ij}}{r_{ij}}\\right)^{12} - \\left(\\frac{\\sigma_{ij}}{r_{ij}}\\right)^6\\right]\n", - "\\end{align*}$$\n", - "\n", - "## Import necessary packages & functions " - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "68a9fa08", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/xinyan/miniconda3/envs/openmm/lib/python3.8/site-packages/dm_haiku-0.0.6-py3.8.egg/haiku/_src/data_structures.py:37: FutureWarning: jax.tree_structure is deprecated, and will be removed in a future release. Use jax.tree_util.tree_structure instead.\n", - " PyTreeDef = type(jax.tree_structure(None))\n", - "WARNING:pymbar.timeseries:Warning on use of the timeseries module: If the inherent timescales of the system are long compared to those being analyzed, this statistical inefficiency may be an underestimate. The estimate presumes the use of many statistically independent samples. Tests should be performed to assess whether this condition is satisfied. Be cautious in the interpretation of the data.\n" - ] - } - ], - "source": [ - "import openmm as mm\n", - "import openmm.app as app\n", - "import openmm.unit as unit\n", - "import numpy as np\n", - "import sys\n", - "import mdtraj as md\n", - "from tqdm import tqdm, trange\n", - "import matplotlib.pyplot as plt\n", - "from dmff.mbar import MBAREstimator, SampleState, TargetState, Sample, OpenMMSampleState, buildTrajEnergyFunction\n", - "from dmff.optimize import MultiTransform, genOptimizer\n", - "from dmff import Hamiltonian, NeighborListFreud\n", - "import optax\n", - "import jax\n", - "import jax.numpy as jnp\n", - "\n", - "app.Topology.loadBondDefinitions(\"ben-top.xml\")\n", - "kbT = 8.314 * 303 / 1000.0\n", - "\n", - "\n", - "def readRDF(fname):\n", - " with open(fname, \"r\") as f:\n", - " data = np.array([[float(j) for j in i.strip().split()] for i in f])\n", - " xaxis = np.linspace(2.0, 14.0, 121)\n", - " yinterp = np.interp(xaxis, data[:,0], data[:,1])\n", - " return xaxis, yinterp\n", - "\n", - "# read experimental benzene RDF\n", - "x_ref, y_ref = readRDF(\"benz.txt\")\n", - "\n", - "\n", - "def sample_with_prm(parameter, trajectory, init_struct=\"box_relaxed.pdb\"):\n", - " pdb = app.PDBFile(init_struct)\n", - " ff = app.ForceField(parameter)\n", - " system = ff.createSystem(pdb.topology, nonbondedMethod=app.PME, nonbondedCutoff=1.1*unit.nanometer, constraints=None)\n", - " system.addForce(mm.MonteCarloBarostat(1.0*unit.bar, 303.0*unit.kelvin, 20))\n", - " for force in system.getForces():\n", - " if isinstance(force, mm.NonbondedForce):\n", - " force.setUseDispersionCorrection(False)\n", - " force.setUseSwitchingFunction(False)\n", - " integ = mm.LangevinIntegrator(303*unit.kelvin, 5/unit.picosecond, 1*unit.femtosecond)\n", - "\n", - " simulation = app.Simulation(pdb.topology, system, integ)\n", - " simulation.context.setPositions(pdb.getPositions())\n", - " simulation.reporters.append(app.DCDReporter(trajectory, 4000))\n", - " simulation.reporters.append(app.StateDataReporter(sys.stdout, 20000, density=True, step=True, remainingTime=True, speed=True, totalSteps=500*1000))\n", - " simulation.minimizeEnergy()\n", - " simulation.step(500*1000)" - ] - }, - { - "cell_type": "markdown", - "id": "8ee7668b", - "metadata": {}, - "source": [ - "## sample with initial parameter set" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "4b29effb", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "#\"Step\",\"Density (g/mL)\",\"Speed (ns/day)\",\"Time Remaining\"\n", - "20000,0.5609269274230193,0,--\n", - "40000,0.5459109958008428,154,4:18\n", - "60000,0.5327412068778505,152,4:09\n", - "80000,0.5458843337093509,153,3:57\n", - "100000,0.5499541448891778,153,3:45\n", - "120000,0.5559041043396893,152,3:35\n", - "140000,0.552264674142506,152,3:24\n", - "160000,0.5497341640178879,153,3:12\n", - "180000,0.5429753752031576,153,3:01\n", - "200000,0.5483391135340221,153,2:49\n", - "220000,0.5505668336047832,153,2:38\n", - "240000,0.5335132149170563,153,2:26\n", - "260000,0.5612835029864318,153,2:15\n", - "280000,0.5539964740924908,153,2:04\n", - "300000,0.5562792831995799,153,1:52\n", - "320000,0.5810152336723056,153,1:41\n", - "340000,0.5578735559454526,153,1:30\n", - "360000,0.5646608102872624,153,1:19\n", - "380000,0.5715438669104802,153,1:07\n", - "400000,0.5615453644018904,153,0:56\n", - "420000,0.5729058327239069,153,0:45\n", - "440000,0.5551077875519419,153,0:33\n", - "460000,0.575714406552948,153,0:22\n", - "480000,0.5542066355298249,153,0:11\n", - "500000,0.5602510266387776,153,0:00\n" - ] - } - ], - "source": [ - "sample_with_prm(\"ben-prm.xml\", \"init.dcd\")\n", - "traj = md.load(\"init.dcd\", top=\"box_relaxed.pdb\")[50:]" - ] - }, - { - "cell_type": "markdown", - "id": "e39138c2", - "metadata": {}, - "source": [ - "## compute radial distribution function per frame" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "ae1d2a94", - "metadata": {}, - "outputs": [], - "source": [ - "def compute_rdf_frame(traj, xaxis):\n", - " rdf_list = []\n", - " delta = xaxis[1] - xaxis[0]\n", - "\n", - " tidx = []\n", - " for ii in range(200):\n", - " tidx.append(3*ii)\n", - " tidx = np.array(tidx)\n", - " tsub = traj.atom_slice(tidx)\n", - " xyzs = traj.xyz\n", - " com = np.zeros((traj.n_frames, 200, 3))\n", - "\n", - " for na in range(3):\n", - " com += xyzs[:,tidx+na,:]\n", - " com = com / 3\n", - "\n", - " pairs = []\n", - " for na in range(200):\n", - " for nb in range(na+1, 200):\n", - " pairs.append([na, nb])\n", - " tsub.xyz = com\n", - "\n", - " for frame in tsub:\n", - " _, g_r = md.compute_rdf(frame, pairs, r_range=(xaxis[0]-0.5*delta, xaxis[-1]+0.5*delta+1e-10), bin_width=delta)\n", - " rdf_list.append(g_r.reshape((1, -1)))\n", - " return np.concatenate(rdf_list, axis=0)\n" - ] - }, - { - "cell_type": "markdown", - "id": "a8b76cf8", - "metadata": {}, - "source": [ - "## initialize MBAR estimator" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "724a10d0", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - " 0%| | 0/75 [00:00 - - [ step, time{picosecond}, temperature{kelvin}, potential{kiloj/mol} ] - positions{angstrom} - - - 200000 - - 12345 - - -
unix_dmff_444824
-
- -
unix_eann_444824
-
- - - density_0.03338_init.pdb - 295 - - - - - - - - 0.50 - - 1000 - - - - - 295 - - - diff --git a/examples/md_ipi/client_EANN.py b/examples/md_ipi/client_EANN.py deleted file mode 100644 index caae2b00e..000000000 --- a/examples/md_ipi/client_EANN.py +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/env python3 -import os -import sys -import driver -import numpy as np -import EANN -#import time - - -class EANNDriver(driver.BaseDriver): - - def __init__(self, addr, port, socktype): - addr = addr + '_%s'%os.environ['SLURM_JOB_ID'] - driver.BaseDriver.__init__(self, port, addr, socktype) - - return - - def grad(self, crd, cell): # receive SI input, return SI values - positions = np.array(crd*1e10) # convert to Angstrom - length = np.size(positions,0) - coor = np.zeros((3,length),dtype=np.float64,order="F") - coor = positions.transpose() - y = np.zeros(1,dtype=np.float64,order="F") - eaforce = np.zeros(3*length,dtype=np.float64,order="F") - table = 0 - start_force = 1 - #time1 = time.time() - EANN.eann_out(table,start_force,coor,y,eaforce) - #time2 = time.time() - #print('calculate:',time2-time1) - # finish calculating but wrong format & unit - grad = np.zeros((length,3)) - grad = eaforce.reshape(length,3) - - # convert to SI - energy = y * 1000 / 6.0221409e+23 # kj/mol to Joules - grad = -(grad * 1000 / 6.0221409e+23 * 1e10) # convert kj/mol/A to joule/m - #print(grad) - return energy, grad - -if __name__ == '__main__': - EANN.init_pes() - addr = sys.argv[1] - port = int(sys.argv[2]) - socktype = sys.argv[3] - driver_eann = EANNDriver(addr, port, socktype) - while True: - driver_eann.parse() - EANN.deallocate_all() - diff --git a/examples/md_ipi/client_dmff.py b/examples/md_ipi/client_dmff.py deleted file mode 100755 index 3d8012ce0..000000000 --- a/examples/md_ipi/client_dmff.py +++ /dev/null @@ -1,141 +0,0 @@ -#!/usr/bin/env python3 -import os -import sys -import driver -import numpy as np -import jax -import jax.numpy as jnp -import dmff.admp.pme -import openmm.app as app -from model6 import compute_leading_terms -import openmm.unit as unit -from dmff.api import Hamiltonian -from dmff.common import nblist -from dmff.admp.parser import * -from dmff.admp.pairwise import ( - generate_pairwise_interaction, - TT_damping_qq_kernel -) -from intra import onebodyenergy -from jax_md import space, partition -from jax import jit, vmap -# os.environ['TF_FORCE_GPU_ALLOW_GROWTH'] = 'true' -# os.environ["CUDA_DEVICE_ORDER"]="PCI_BUS_ID" # see issue #152 -# os.environ["CUDA_VISIBLE_DEVICES"]="1" - -dmff.admp.pme.DEFAULT_THOLE_WIDTH = 2.6 - -@vmap -@jit -def TT_damping_qq_disp_kernel(dr, m, ai, aj, bi, bj, qi, qj, c6i, c6j, c8i, c8j, c10i, c10j): - a = jnp.sqrt(ai * aj) - b = jnp.sqrt(bi * bj) - c6 = c6i * c6j - c8 = c8i * c8j - c10 = c10i * c10j - q = qi * qj - r = dr * 1.889726878 # convert to bohr - br = b * r - br2 = br * br - br3 = br2 * br - br4 = br2 * br2 - br5 = br3 * br2 - br6 = br3 * br3 - br7 = br3 * br4 - br8 = br4 * br4 - br9 = br4 * br5 - br10 = br5 * br5 - exp_br = jnp.exp(-br) - f = 2625.5 * a * exp_br \ - + (-2625.5) * exp_br * (1+br) * q / r \ - + exp_br*(1+br+br2/2+br3/6+br4/24+br5/120+br6/720) * c6 / dr**6 \ - + exp_br*(1+br+br2/2+br3/6+br4/24+br5/120+br6/720+br7/5040+br8/40320) * c8 / dr**8 \ - + exp_br*(1+br+br2/2+br3/6+br4/24+br5/120+br6/720+br7/5040+br8/40320+br9/362880+br10/3628800) * c10 / dr**10 - - return f * m - -class DMFFDriver(driver.BaseDriver): - - def __init__(self, addr, port, pdb, ffxml, topo_xml, socktype, device='cpu'): - addr = addr + '_%s' %os.environ['SLURM_JOB_ID'] - # set up the interface with ipi - driver.BaseDriver.__init__(self, port, addr, socktype) - # set up various force calculators - #self.pdb = pdb - H = Hamiltonian(ffxml) - app.Topology.loadBondDefinitions(topo_xml) - pdb = app.PDBFile(pdb) - positions = jnp.array(pdb.positions._value) * 10 - a, b, c = pdb.topology.getPeriodicBoxVectors() - box = jnp.array([a._value, b._value, c._value]) * 10 - #self.box = box - rc = 4 - disp_generator, pme_generator = H.getGenerators() - pots = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.angstrom, step_pol=5) - pot_disp = pots.dmff_potentials['ADMPDispForce'] - pot_pme = pots.dmff_potentials['ADMPPmeForce'] - pot_sr = generate_pairwise_interaction(TT_damping_qq_disp_kernel, static_args={}) - - - self.nbl = nblist.NeighborList(box, rc, H.getGenerators()[0].covalent_map) - self.nbl.allocate(positions) - pairs = self.nbl.pairs - - def admp_calculator(positions, box, pairs): - params_pme = pme_generator.paramtree['ADMPPmeForce'] - params_disp = disp_generator.paramtree['ADMPDispForce'] - c0, c6_list = compute_leading_terms(positions,box) # compute fluctuated leading terms - Q_local = params_pme["Q_local"][pme_generator.map_atomtype] - Q_local = Q_local.at[:,0].set(c0) # change fixed charge into fluctuated one - pol = params_pme["pol"][pme_generator.map_atomtype] - tholes = params_pme["tholes"][pme_generator.map_atomtype] - c8_list = jnp.sqrt(params_disp["C8"][disp_generator.map_atomtype]*1e8) - c10_list = jnp.sqrt(params_disp["C10"][disp_generator.map_atomtype]*1e10) - c_list = jnp.vstack((c6_list, c8_list, c10_list)) - covalent_map = disp_generator.covalent_map - a_list = (params_disp["A"][disp_generator.map_atomtype] / 2625.5) - b_list = params_disp["B"][disp_generator.map_atomtype] * 0.0529177249 - q_list = c0 - E_pme = pme_generator.pme_force.get_energy( - positions, box, pairs, Q_local, pol, tholes, params_pme["mScales"], params_pme["pScales"], params_pme["dScales"] - ) - E_disp = disp_generator.disp_pme_force.get_energy(positions, box, pairs, c_list.T, params_disp["mScales"]) - E_sr = pot_sr(positions, box, pairs, params_disp["mScales"], a_list, b_list, q_list, c_list[0], c_list[1], c_list[2]) - - E4 = onebodyenergy(positions, box) - - return E_pme - E_disp + E_sr + E4 - self.tot_force = jit(jax.value_and_grad(admp_calculator,argnums=(0))) - - # compile tot_force function - E, F = self.tot_force(positions, box, pairs) - - - def grad(self, crd, cell): # receive SI input, return SI values - positions = jnp.array(crd*1e10) # convert to angstrom - box = jnp.array(cell*1e10) # convert to angstrom - # nb list - nbl = self.nbl.allocate(positions) - pairs = self.nbl.pairs - energy, grad = self.tot_force(positions, box, pairs) - energy = np.float64(energy) - grad = np.float64(grad) - energy = energy * 1000 / 6.0221409e+23 # kj/mol to Joules - grad = grad * 1000 / 6.0221409e+23 * 1e10 # convert kj/mol/A to joule/m - - return energy, grad - - -if __name__ == '__main__': - # the forces are composed by three parts: - # the long range part computed using openmm, parameters in xml - # the short range part writen by hand, parameters in psr - fn_pdb = sys.argv[1] # pdb file used to define openmm topology, this one should contain all virtual sites - ff_xml = sys.argv[2] # xml file that defines the force field - topo_xml = sys.argv[3] - addr = sys.argv[4] - port = int(sys.argv[5]) - socktype = sys.argv[6] - driver_dmff = DMFFDriver(addr, port, fn_pdb, ff_xml, topo_xml, socktype) - while True: - driver_dmff.parse() diff --git a/examples/md_ipi/density_0.03338.pdb b/examples/md_ipi/density_0.03338.pdb deleted file mode 100644 index cf606d526..000000000 --- a/examples/md_ipi/density_0.03338.pdb +++ /dev/null @@ -1,3057 +0,0 @@ -CRYST1 31.24 31.24 31.24 90.00 90.00 90.00 P 1 1 -MODEL 1 -HETATM 1 O HOH A 1 25.175 22.305 16.545 1.00 0.00 O -HETATM 2 H1 HOH A 1 24.749 22.864 17.195 1.00 0.00 H -HETATM 3 H2 HOH A 1 25.475 22.910 15.866 1.00 0.00 H -HETATM 4 O HOH A 2 23.436 24.025 18.158 1.00 0.00 O -HETATM 5 H1 HOH A 2 22.664 23.459 18.191 1.00 0.00 H -HETATM 6 H2 HOH A 2 23.149 24.800 17.676 1.00 0.00 H -HETATM 7 O HOH A 3 8.666 17.980 15.216 1.00 0.00 O -HETATM 8 H1 HOH A 3 9.352 18.623 15.036 1.00 0.00 H -HETATM 9 H2 HOH A 3 9.137 17.208 15.531 1.00 0.00 H -HETATM 10 O HOH A 4 10.852 19.637 14.187 1.00 0.00 O -HETATM 11 H1 HOH A 4 10.489 19.836 13.324 1.00 0.00 H -HETATM 12 H2 HOH A 4 11.639 19.124 14.007 1.00 0.00 H -HETATM 13 O HOH A 5 12.463 22.545 14.108 1.00 0.00 O -HETATM 14 H1 HOH A 5 13.157 22.267 14.706 1.00 0.00 H -HETATM 15 H2 HOH A 5 12.379 21.822 13.486 1.00 0.00 H -HETATM 16 O HOH A 6 14.939 21.843 15.510 1.00 0.00 O -HETATM 17 H1 HOH A 6 15.392 22.683 15.430 1.00 0.00 H -HETATM 18 H2 HOH A 6 15.475 21.230 15.008 1.00 0.00 H -HETATM 19 O HOH A 7 28.388 4.837 10.557 1.00 0.00 O -HETATM 20 H1 HOH A 7 28.901 5.392 9.970 1.00 0.00 H -HETATM 21 H2 HOH A 7 28.756 3.961 10.442 1.00 0.00 H -HETATM 22 O HOH A 8 29.631 6.303 8.346 1.00 0.00 O -HETATM 23 H1 HOH A 8 28.842 6.702 7.976 1.00 0.00 H -HETATM 24 H2 HOH A 8 29.950 5.718 7.660 1.00 0.00 H -HETATM 25 O HOH A 9 1.627 18.594 7.581 1.00 0.00 O -HETATM 26 H1 HOH A 9 1.533 17.842 8.166 1.00 0.00 H -HETATM 27 H2 HOH A 9 1.127 19.292 8.005 1.00 0.00 H -HETATM 28 O HOH A 10 0.814 16.247 9.136 1.00 0.00 O -HETATM 29 H1 HOH A 10 0.582 15.667 8.410 1.00 0.00 H -HETATM 30 H2 HOH A 10 -0.008 16.392 9.603 1.00 0.00 H -HETATM 31 O HOH A 11 6.555 24.911 4.695 1.00 0.00 O -HETATM 32 H1 HOH A 11 6.717 25.684 5.236 1.00 0.00 H -HETATM 33 H2 HOH A 11 6.980 24.194 5.165 1.00 0.00 H -HETATM 34 O HOH A 12 7.580 27.256 6.120 1.00 0.00 O -HETATM 35 H1 HOH A 12 7.874 27.767 5.365 1.00 0.00 H -HETATM 36 H2 HOH A 12 8.381 27.061 6.606 1.00 0.00 H -HETATM 37 O HOH A 13 22.252 2.396 24.356 1.00 0.00 O -HETATM 38 H1 HOH A 13 21.446 2.242 24.849 1.00 0.00 H -HETATM 39 H2 HOH A 13 21.960 2.519 23.452 1.00 0.00 H -HETATM 40 O HOH A 14 19.817 1.393 25.641 1.00 0.00 O -HETATM 41 H1 HOH A 14 20.190 0.626 26.077 1.00 0.00 H -HETATM 42 H2 HOH A 14 19.197 1.034 25.007 1.00 0.00 H -HETATM 43 O HOH A 15 27.387 20.314 2.397 1.00 0.00 O -HETATM 44 H1 HOH A 15 28.249 20.472 2.782 1.00 0.00 H -HETATM 45 H2 HOH A 15 27.342 20.915 1.654 1.00 0.00 H -HETATM 46 O HOH A 16 29.777 21.270 3.798 1.00 0.00 O -HETATM 47 H1 HOH A 16 29.409 21.340 4.679 1.00 0.00 H -HETATM 48 H2 HOH A 16 30.000 22.168 3.557 1.00 0.00 H -HETATM 49 O HOH A 17 24.758 28.817 12.939 1.00 0.00 O -HETATM 50 H1 HOH A 17 25.054 27.908 12.983 1.00 0.00 H -HETATM 51 H2 HOH A 17 24.709 29.099 13.852 1.00 0.00 H -HETATM 52 O HOH A 18 25.118 25.923 13.222 1.00 0.00 O -HETATM 53 H1 HOH A 18 24.430 25.633 12.622 1.00 0.00 H -HETATM 54 H2 HOH A 18 24.839 25.608 14.081 1.00 0.00 H -HETATM 55 O HOH A 19 1.251 26.111 29.064 1.00 0.00 O -HETATM 56 H1 HOH A 19 2.177 26.071 28.827 1.00 0.00 H -HETATM 57 H2 HOH A 19 1.250 26.314 30.000 1.00 0.00 H -HETATM 58 O HOH A 20 4.070 25.471 28.590 1.00 0.00 O -HETATM 59 H1 HOH A 20 3.955 24.637 28.133 1.00 0.00 H -HETATM 60 H2 HOH A 20 4.529 25.243 29.398 1.00 0.00 H -HETATM 61 O HOH A 21 27.389 13.595 26.581 1.00 0.00 O -HETATM 62 H1 HOH A 21 26.487 13.857 26.767 1.00 0.00 H -HETATM 63 H2 HOH A 21 27.584 13.993 25.732 1.00 0.00 H -HETATM 64 O HOH A 22 24.491 13.985 26.773 1.00 0.00 O -HETATM 65 H1 HOH A 22 24.239 13.089 26.998 1.00 0.00 H -HETATM 66 H2 HOH A 22 24.091 14.142 25.918 1.00 0.00 H -HETATM 67 O HOH A 23 27.106 9.133 3.515 1.00 0.00 O -HETATM 68 H1 HOH A 23 27.018 9.921 2.979 1.00 0.00 H -HETATM 69 H2 HOH A 23 26.711 9.367 4.355 1.00 0.00 H -HETATM 70 O HOH A 24 27.283 11.738 2.186 1.00 0.00 O -HETATM 71 H1 HOH A 24 28.202 11.701 1.918 1.00 0.00 H -HETATM 72 H2 HOH A 24 27.242 12.463 2.808 1.00 0.00 H -HETATM 73 O HOH A 25 15.513 14.065 29.610 1.00 0.00 O -HETATM 74 H1 HOH A 25 16.141 13.387 29.362 1.00 0.00 H -HETATM 75 H2 HOH A 25 16.047 14.757 30.000 1.00 0.00 H -HETATM 76 O HOH A 26 17.435 11.862 29.412 1.00 0.00 O -HETATM 77 H1 HOH A 26 16.909 11.175 29.823 1.00 0.00 H -HETATM 78 H2 HOH A 26 18.180 11.981 30.000 1.00 0.00 H -HETATM 79 O HOH A 27 6.539 15.263 11.697 1.00 0.00 O -HETATM 80 H1 HOH A 27 6.868 14.982 12.551 1.00 0.00 H -HETATM 81 H2 HOH A 27 7.101 15.998 11.452 1.00 0.00 H -HETATM 82 O HOH A 28 7.261 14.865 14.509 1.00 0.00 O -HETATM 83 H1 HOH A 28 6.379 14.852 14.884 1.00 0.00 H -HETATM 84 H2 HOH A 28 7.674 15.640 14.888 1.00 0.00 H -HETATM 85 O HOH A 29 29.126 10.153 8.629 1.00 0.00 O -HETATM 86 H1 HOH A 29 29.255 10.375 7.707 1.00 0.00 H -HETATM 87 H2 HOH A 29 29.915 9.670 8.873 1.00 0.00 H -HETATM 88 O HOH A 30 29.378 10.281 5.713 1.00 0.00 O -HETATM 89 H1 HOH A 30 28.504 9.969 5.479 1.00 0.00 H -HETATM 90 H2 HOH A 30 29.973 9.613 5.373 1.00 0.00 H -HETATM 91 O HOH A 31 15.008 7.594 19.567 1.00 0.00 O -HETATM 92 H1 HOH A 31 15.119 7.399 20.497 1.00 0.00 H -HETATM 93 H2 HOH A 31 14.063 7.698 19.454 1.00 0.00 H -HETATM 94 O HOH A 32 15.170 6.470 22.267 1.00 0.00 O -HETATM 95 H1 HOH A 32 15.742 5.725 22.080 1.00 0.00 H -HETATM 96 H2 HOH A 32 14.343 6.077 22.544 1.00 0.00 H -HETATM 97 O HOH A 33 24.123 15.176 10.909 1.00 0.00 O -HETATM 98 H1 HOH A 33 24.901 15.658 10.628 1.00 0.00 H -HETATM 99 H2 HOH A 33 24.203 14.322 10.485 1.00 0.00 H -HETATM 100 O HOH A 34 26.215 16.717 9.555 1.00 0.00 O -HETATM 101 H1 HOH A 34 25.696 17.485 9.315 1.00 0.00 H -HETATM 102 H2 HOH A 34 26.467 16.325 8.719 1.00 0.00 H -HETATM 103 O HOH A 35 25.842 2.926 0.685 1.00 0.00 O -HETATM 104 H1 HOH A 35 26.459 3.173 1.374 1.00 0.00 H -HETATM 105 H2 HOH A 35 25.971 3.581 -0.000 1.00 0.00 H -HETATM 106 O HOH A 36 27.340 4.088 2.918 1.00 0.00 O -HETATM 107 H1 HOH A 36 26.667 4.020 3.596 1.00 0.00 H -HETATM 108 H2 HOH A 36 27.478 5.029 2.809 1.00 0.00 H -HETATM 109 O HOH A 37 26.934 22.974 29.101 1.00 0.00 O -HETATM 110 H1 HOH A 37 27.133 23.762 28.595 1.00 0.00 H -HETATM 111 H2 HOH A 37 26.829 23.286 30.000 1.00 0.00 H -HETATM 112 O HOH A 38 28.069 25.329 27.778 1.00 0.00 O -HETATM 113 H1 HOH A 38 28.814 24.908 27.348 1.00 0.00 H -HETATM 114 H2 HOH A 38 28.463 25.938 28.402 1.00 0.00 H -HETATM 115 O HOH A 39 21.401 21.808 8.377 1.00 0.00 O -HETATM 116 H1 HOH A 39 20.915 21.320 7.713 1.00 0.00 H -HETATM 117 H2 HOH A 39 21.403 22.711 8.059 1.00 0.00 H -HETATM 118 O HOH A 40 20.402 20.350 6.040 1.00 0.00 O -HETATM 119 H1 HOH A 40 21.077 19.672 5.993 1.00 0.00 H -HETATM 120 H2 HOH A 40 20.506 20.852 5.231 1.00 0.00 H -HETATM 121 O HOH A 41 17.146 7.120 23.040 1.00 0.00 O -HETATM 122 H1 HOH A 41 17.808 7.642 22.587 1.00 0.00 H -HETATM 123 H2 HOH A 41 17.192 7.412 23.951 1.00 0.00 H -HETATM 124 O HOH A 42 19.546 8.349 21.894 1.00 0.00 O -HETATM 125 H1 HOH A 42 19.915 7.575 21.468 1.00 0.00 H -HETATM 126 H2 HOH A 42 20.185 8.585 22.565 1.00 0.00 H -HETATM 127 O HOH A 43 21.518 29.905 1.168 1.00 0.00 O -HETATM 128 H1 HOH A 43 20.603 29.910 1.447 1.00 0.00 H -HETATM 129 H2 HOH A 43 21.659 29.024 0.819 1.00 0.00 H -HETATM 130 O HOH A 44 18.913 29.624 2.478 1.00 0.00 O -HETATM 131 H1 HOH A 44 19.138 30.000 3.329 1.00 0.00 H -HETATM 132 H2 HOH A 44 18.701 28.710 2.666 1.00 0.00 H -HETATM 133 O HOH A 45 28.600 28.373 12.620 1.00 0.00 O -HETATM 134 H1 HOH A 45 28.490 27.995 13.493 1.00 0.00 H -HETATM 135 H2 HOH A 45 28.749 27.619 12.049 1.00 0.00 H -HETATM 136 O HOH A 46 28.839 27.167 15.280 1.00 0.00 O -HETATM 137 H1 HOH A 46 29.457 27.789 15.665 1.00 0.00 H -HETATM 138 H2 HOH A 46 29.314 26.337 15.257 1.00 0.00 H -HETATM 139 O HOH A 47 0.133 7.561 21.579 1.00 0.00 O -HETATM 140 H1 HOH A 47 0.402 6.783 22.067 1.00 0.00 H -HETATM 141 H2 HOH A 47 -0.005 7.249 20.685 1.00 0.00 H -HETATM 142 O HOH A 48 1.466 5.265 22.818 1.00 0.00 O -HETATM 143 H1 HOH A 48 2.210 5.724 23.209 1.00 0.00 H -HETATM 144 H2 HOH A 48 1.857 4.682 22.167 1.00 0.00 H -HETATM 145 O HOH A 49 26.542 3.942 23.693 1.00 0.00 O -HETATM 146 H1 HOH A 49 27.375 3.926 24.163 1.00 0.00 H -HETATM 147 H2 HOH A 49 26.763 3.673 22.801 1.00 0.00 H -HETATM 148 O HOH A 50 29.192 4.392 24.859 1.00 0.00 O -HETATM 149 H1 HOH A 50 29.041 5.263 25.228 1.00 0.00 H -HETATM 150 H2 HOH A 50 29.862 4.525 24.189 1.00 0.00 H -HETATM 151 O HOH A 51 10.648 21.636 11.400 1.00 0.00 O -HETATM 152 H1 HOH A 51 11.599 21.644 11.297 1.00 0.00 H -HETATM 153 H2 HOH A 51 10.505 21.800 12.333 1.00 0.00 H -HETATM 154 O HOH A 52 13.533 21.132 11.314 1.00 0.00 O -HETATM 155 H1 HOH A 52 13.522 20.313 10.816 1.00 0.00 H -HETATM 156 H2 HOH A 52 13.882 20.889 12.171 1.00 0.00 H -HETATM 157 O HOH A 53 21.644 12.803 10.659 1.00 0.00 O -HETATM 158 H1 HOH A 53 21.097 13.432 11.130 1.00 0.00 H -HETATM 159 H2 HOH A 53 21.173 12.640 9.842 1.00 0.00 H -HETATM 160 O HOH A 54 19.645 14.269 12.222 1.00 0.00 O -HETATM 161 H1 HOH A 54 19.688 13.755 13.029 1.00 0.00 H -HETATM 162 H2 HOH A 54 18.757 14.129 11.893 1.00 0.00 H -HETATM 163 O HOH A 55 2.391 20.333 17.493 1.00 0.00 O -HETATM 164 H1 HOH A 55 3.058 20.789 18.006 1.00 0.00 H -HETATM 165 H2 HOH A 55 1.676 20.965 17.412 1.00 0.00 H -HETATM 166 O HOH A 56 4.092 21.605 19.511 1.00 0.00 O -HETATM 167 H1 HOH A 56 4.200 20.858 20.101 1.00 0.00 H -HETATM 168 H2 HOH A 56 3.614 22.254 20.028 1.00 0.00 H -HETATM 169 O HOH A 57 7.713 2.571 17.467 1.00 0.00 O -HETATM 170 H1 HOH A 57 8.381 3.171 17.798 1.00 0.00 H -HETATM 171 H2 HOH A 57 7.070 2.514 18.174 1.00 0.00 H -HETATM 172 O HOH A 58 9.934 3.954 18.786 1.00 0.00 O -HETATM 173 H1 HOH A 58 10.642 3.358 18.538 1.00 0.00 H -HETATM 174 H2 HOH A 58 9.884 3.888 19.739 1.00 0.00 H -HETATM 175 O HOH A 59 29.430 3.793 19.811 1.00 0.00 O -HETATM 176 H1 HOH A 59 28.521 3.507 19.712 1.00 0.00 H -HETATM 177 H2 HOH A 59 29.447 4.254 20.649 1.00 0.00 H -HETATM 178 O HOH A 60 26.552 3.468 19.364 1.00 0.00 O -HETATM 179 H1 HOH A 60 26.506 3.805 18.469 1.00 0.00 H -HETATM 180 H2 HOH A 60 26.035 4.085 19.882 1.00 0.00 H -HETATM 181 O HOH A 61 5.741 19.128 6.617 1.00 0.00 O -HETATM 182 H1 HOH A 61 6.589 19.285 7.032 1.00 0.00 H -HETATM 183 H2 HOH A 61 5.956 18.760 5.760 1.00 0.00 H -HETATM 184 O HOH A 62 8.358 20.068 7.541 1.00 0.00 O -HETATM 185 H1 HOH A 62 8.111 20.959 7.791 1.00 0.00 H -HETATM 186 H2 HOH A 62 8.975 20.182 6.818 1.00 0.00 H -HETATM 187 O HOH A 63 16.833 7.327 12.868 1.00 0.00 O -HETATM 188 H1 HOH A 63 17.503 6.702 13.144 1.00 0.00 H -HETATM 189 H2 HOH A 63 17.251 7.834 12.171 1.00 0.00 H -HETATM 190 O HOH A 64 19.110 5.865 13.992 1.00 0.00 O -HETATM 191 H1 HOH A 64 18.972 6.072 14.917 1.00 0.00 H -HETATM 192 H2 HOH A 64 19.946 6.277 13.774 1.00 0.00 H -HETATM 193 O HOH A 65 10.448 22.006 8.592 1.00 0.00 O -HETATM 194 H1 HOH A 65 9.736 21.720 9.165 1.00 0.00 H -HETATM 195 H2 HOH A 65 10.130 21.830 7.707 1.00 0.00 H -HETATM 196 O HOH A 66 8.469 20.600 10.233 1.00 0.00 O -HETATM 197 H1 HOH A 66 9.070 20.103 10.789 1.00 0.00 H -HETATM 198 H2 HOH A 66 7.996 19.934 9.734 1.00 0.00 H -HETATM 199 O HOH A 67 9.638 7.195 13.398 1.00 0.00 O -HETATM 200 H1 HOH A 67 9.505 7.014 12.467 1.00 0.00 H -HETATM 201 H2 HOH A 67 10.582 7.327 13.485 1.00 0.00 H -HETATM 202 O HOH A 68 9.431 6.118 10.681 1.00 0.00 O -HETATM 203 H1 HOH A 68 8.889 5.351 10.870 1.00 0.00 H -HETATM 204 H2 HOH A 68 10.262 5.757 10.372 1.00 0.00 H -HETATM 205 O HOH A 69 27.781 11.682 9.460 1.00 0.00 O -HETATM 206 H1 HOH A 69 26.883 11.579 9.774 1.00 0.00 H -HETATM 207 H2 HOH A 69 27.692 11.818 8.517 1.00 0.00 H -HETATM 208 O HOH A 70 25.076 10.835 10.201 1.00 0.00 O -HETATM 209 H1 HOH A 70 25.302 10.049 10.699 1.00 0.00 H -HETATM 210 H2 HOH A 70 24.581 10.511 9.449 1.00 0.00 H -HETATM 211 O HOH A 71 19.448 22.986 23.278 1.00 0.00 O -HETATM 212 H1 HOH A 71 19.265 22.883 24.212 1.00 0.00 H -HETATM 213 H2 HOH A 71 18.642 23.354 22.915 1.00 0.00 H -HETATM 214 O HOH A 72 18.591 22.208 25.970 1.00 0.00 O -HETATM 215 H1 HOH A 72 18.919 21.309 25.972 1.00 0.00 H -HETATM 216 H2 HOH A 72 17.640 22.119 26.034 1.00 0.00 H -HETATM 217 O HOH A 73 24.069 17.897 6.744 1.00 0.00 O -HETATM 218 H1 HOH A 73 24.797 17.437 6.327 1.00 0.00 H -HETATM 219 H2 HOH A 73 24.304 17.930 7.671 1.00 0.00 H -HETATM 220 O HOH A 74 26.051 16.016 5.687 1.00 0.00 O -HETATM 221 H1 HOH A 74 25.457 15.431 5.215 1.00 0.00 H -HETATM 222 H2 HOH A 74 26.432 15.471 6.375 1.00 0.00 H -HETATM 223 O HOH A 75 5.267 14.098 26.296 1.00 0.00 O -HETATM 224 H1 HOH A 75 4.779 14.829 26.675 1.00 0.00 H -HETATM 225 H2 HOH A 75 5.581 13.601 27.051 1.00 0.00 H -HETATM 226 O HOH A 76 4.295 16.558 27.557 1.00 0.00 O -HETATM 227 H1 HOH A 76 4.744 17.193 26.999 1.00 0.00 H -HETATM 228 H2 HOH A 76 4.672 16.690 28.427 1.00 0.00 H -HETATM 229 O HOH A 77 26.889 12.793 28.975 1.00 0.00 O -HETATM 230 H1 HOH A 77 26.397 11.979 28.875 1.00 0.00 H -HETATM 231 H2 HOH A 77 27.389 12.675 29.783 1.00 0.00 H -HETATM 232 O HOH A 78 25.040 10.523 29.075 1.00 0.00 O -HETATM 233 H1 HOH A 78 24.222 10.995 28.912 1.00 0.00 H -HETATM 234 H2 HOH A 78 24.945 10.175 29.961 1.00 0.00 H -HETATM 235 O HOH A 79 27.108 20.663 12.545 1.00 0.00 O -HETATM 236 H1 HOH A 79 27.967 21.067 12.665 1.00 0.00 H -HETATM 237 H2 HOH A 79 27.144 20.275 11.670 1.00 0.00 H -HETATM 238 O HOH A 80 29.527 22.315 12.572 1.00 0.00 O -HETATM 239 H1 HOH A 80 29.138 23.136 12.874 1.00 0.00 H -HETATM 240 H2 HOH A 80 29.842 22.506 11.689 1.00 0.00 H -HETATM 241 O HOH A 81 15.369 6.421 17.677 1.00 0.00 O -HETATM 242 H1 HOH A 81 15.479 6.016 16.816 1.00 0.00 H -HETATM 243 H2 HOH A 81 16.230 6.347 18.089 1.00 0.00 H -HETATM 244 O HOH A 82 15.674 4.686 15.336 1.00 0.00 O -HETATM 245 H1 HOH A 82 14.884 4.156 15.445 1.00 0.00 H -HETATM 246 H2 HOH A 82 16.397 4.067 15.438 1.00 0.00 H -HETATM 247 O HOH A 83 13.390 27.805 1.684 1.00 0.00 O -HETATM 248 H1 HOH A 83 12.880 27.091 2.064 1.00 0.00 H -HETATM 249 H2 HOH A 83 14.199 27.822 2.195 1.00 0.00 H -HETATM 250 O HOH A 84 11.716 25.996 3.267 1.00 0.00 O -HETATM 251 H1 HOH A 84 10.930 26.541 3.326 1.00 0.00 H -HETATM 252 H2 HOH A 84 12.024 25.917 4.169 1.00 0.00 H -HETATM 253 O HOH A 85 19.050 18.937 20.460 1.00 0.00 O -HETATM 254 H1 HOH A 85 18.461 19.586 20.077 1.00 0.00 H -HETATM 255 H2 HOH A 85 18.470 18.310 20.891 1.00 0.00 H -HETATM 256 O HOH A 86 17.206 21.123 19.825 1.00 0.00 O -HETATM 257 H1 HOH A 86 17.715 21.851 20.185 1.00 0.00 H -HETATM 258 H2 HOH A 86 16.414 21.094 20.361 1.00 0.00 H -HETATM 259 O HOH A 87 0.927 3.096 19.204 1.00 0.00 O -HETATM 260 H1 HOH A 87 0.984 3.974 18.828 1.00 0.00 H -HETATM 261 H2 HOH A 87 -0.000 2.867 19.143 1.00 0.00 H -HETATM 262 O HOH A 88 0.886 5.953 18.559 1.00 0.00 O -HETATM 263 H1 HOH A 88 1.400 6.276 19.300 1.00 0.00 H -HETATM 264 H2 HOH A 88 0.018 6.338 18.681 1.00 0.00 H -HETATM 265 O HOH A 89 27.009 10.380 18.760 1.00 0.00 O -HETATM 266 H1 HOH A 89 27.698 9.809 19.099 1.00 0.00 H -HETATM 267 H2 HOH A 89 26.870 10.083 17.861 1.00 0.00 H -HETATM 268 O HOH A 90 29.471 8.967 19.486 1.00 0.00 O -HETATM 269 H1 HOH A 90 29.969 9.711 19.826 1.00 0.00 H -HETATM 270 H2 HOH A 90 29.961 8.679 18.716 1.00 0.00 H -HETATM 271 O HOH A 91 27.639 8.241 6.809 1.00 0.00 O -HETATM 272 H1 HOH A 91 27.261 8.569 7.625 1.00 0.00 H -HETATM 273 H2 HOH A 91 27.210 7.397 6.668 1.00 0.00 H -HETATM 274 O HOH A 92 26.840 8.867 9.557 1.00 0.00 O -HETATM 275 H1 HOH A 92 27.704 9.075 9.915 1.00 0.00 H -HETATM 276 H2 HOH A 92 26.560 8.088 10.037 1.00 0.00 H -HETATM 277 O HOH A 93 11.165 29.212 7.517 1.00 0.00 O -HETATM 278 H1 HOH A 93 12.067 29.318 7.818 1.00 0.00 H -HETATM 279 H2 HOH A 93 10.715 30.000 7.825 1.00 0.00 H -HETATM 280 O HOH A 94 13.715 29.379 8.949 1.00 0.00 O -HETATM 281 H1 HOH A 94 13.736 28.492 9.311 1.00 0.00 H -HETATM 282 H2 HOH A 94 13.662 29.951 9.715 1.00 0.00 H -HETATM 283 O HOH A 95 3.036 20.745 12.672 1.00 0.00 O -HETATM 284 H1 HOH A 95 2.823 20.245 11.885 1.00 0.00 H -HETATM 285 H2 HOH A 95 3.991 20.711 12.728 1.00 0.00 H -HETATM 286 O HOH A 96 2.485 18.754 10.595 1.00 0.00 O -HETATM 287 H1 HOH A 96 1.816 18.246 11.056 1.00 0.00 H -HETATM 288 H2 HOH A 96 3.213 18.144 10.479 1.00 0.00 H -HETATM 289 O HOH A 97 10.755 18.042 12.079 1.00 0.00 O -HETATM 290 H1 HOH A 97 10.520 17.714 11.211 1.00 0.00 H -HETATM 291 H2 HOH A 97 11.711 18.084 12.069 1.00 0.00 H -HETATM 292 O HOH A 98 10.196 16.527 9.635 1.00 0.00 O -HETATM 293 H1 HOH A 98 9.605 15.870 10.004 1.00 0.00 H -HETATM 294 H2 HOH A 98 10.957 16.028 9.338 1.00 0.00 H -HETATM 295 O HOH A 99 21.620 21.445 25.219 1.00 0.00 O -HETATM 296 H1 HOH A 99 22.188 21.129 24.518 1.00 0.00 H -HETATM 297 H2 HOH A 99 22.083 22.201 25.581 1.00 0.00 H -HETATM 298 O HOH A 100 23.671 20.252 23.501 1.00 0.00 O -HETATM 299 H1 HOH A 100 23.614 19.348 23.814 1.00 0.00 H -HETATM 300 H2 HOH A 100 24.553 20.536 23.742 1.00 0.00 H -HETATM 301 O HOH A 101 16.449 27.071 26.096 1.00 0.00 O -HETATM 302 H1 HOH A 101 16.758 27.663 26.781 1.00 0.00 H -HETATM 303 H2 HOH A 101 17.042 27.223 25.360 1.00 0.00 H -HETATM 304 O HOH A 102 17.128 29.291 27.883 1.00 0.00 O -HETATM 305 H1 HOH A 102 16.244 29.619 28.049 1.00 0.00 H -HETATM 306 H2 HOH A 102 17.569 30.003 27.421 1.00 0.00 H -HETATM 307 O HOH A 103 23.163 0.135 10.057 1.00 0.00 O -HETATM 308 H1 HOH A 103 23.826 0.824 10.036 1.00 0.00 H -HETATM 309 H2 HOH A 103 22.929 -0.001 9.138 1.00 0.00 H -HETATM 310 O HOH A 104 24.744 2.598 9.915 1.00 0.00 O -HETATM 311 H1 HOH A 104 24.300 3.094 10.604 1.00 0.00 H -HETATM 312 H2 HOH A 104 24.572 3.090 9.113 1.00 0.00 H -HETATM 313 O HOH A 105 20.635 6.807 23.779 1.00 0.00 O -HETATM 314 H1 HOH A 105 20.202 5.984 24.007 1.00 0.00 H -HETATM 315 H2 HOH A 105 21.114 7.054 24.570 1.00 0.00 H -HETATM 316 O HOH A 106 18.940 4.627 24.759 1.00 0.00 O -HETATM 317 H1 HOH A 106 18.099 4.934 24.419 1.00 0.00 H -HETATM 318 H2 HOH A 106 18.839 4.649 25.710 1.00 0.00 H -HETATM 319 O HOH A 107 23.557 5.499 28.413 1.00 0.00 O -HETATM 320 H1 HOH A 107 23.431 6.319 28.891 1.00 0.00 H -HETATM 321 H2 HOH A 107 23.761 5.770 27.518 1.00 0.00 H -HETATM 322 O HOH A 108 22.657 8.015 29.614 1.00 0.00 O -HETATM 323 H1 HOH A 108 21.837 7.705 30.001 1.00 0.00 H -HETATM 324 H2 HOH A 108 22.388 8.653 28.954 1.00 0.00 H -HETATM 325 O HOH A 109 9.191 17.586 7.989 1.00 0.00 O -HETATM 326 H1 HOH A 109 10.056 17.875 7.699 1.00 0.00 H -HETATM 327 H2 HOH A 109 8.943 18.211 8.669 1.00 0.00 H -HETATM 328 O HOH A 110 12.023 18.223 7.590 1.00 0.00 O -HETATM 329 H1 HOH A 110 12.381 17.338 7.658 1.00 0.00 H -HETATM 330 H2 HOH A 110 12.395 18.693 8.336 1.00 0.00 H -HETATM 331 O HOH A 111 29.214 6.787 4.684 1.00 0.00 O -HETATM 332 H1 HOH A 111 28.887 6.074 5.233 1.00 0.00 H -HETATM 333 H2 HOH A 111 28.765 6.671 3.847 1.00 0.00 H -HETATM 334 O HOH A 112 28.578 4.279 6.059 1.00 0.00 O -HETATM 335 H1 HOH A 112 29.463 4.034 6.330 1.00 0.00 H -HETATM 336 H2 HOH A 112 28.312 3.591 5.449 1.00 0.00 H -HETATM 337 O HOH A 113 3.798 12.379 9.475 1.00 0.00 O -HETATM 338 H1 HOH A 113 4.627 11.909 9.387 1.00 0.00 H -HETATM 339 H2 HOH A 113 3.692 12.506 10.418 1.00 0.00 H -HETATM 340 O HOH A 114 6.029 10.483 9.371 1.00 0.00 O -HETATM 341 H1 HOH A 114 5.640 9.834 8.783 1.00 0.00 H -HETATM 342 H2 HOH A 114 6.145 10.018 10.199 1.00 0.00 H -HETATM 343 O HOH A 115 26.692 30.002 17.094 1.00 0.00 O -HETATM 344 H1 HOH A 115 26.355 29.414 17.769 1.00 0.00 H -HETATM 345 H2 HOH A 115 26.686 29.479 16.293 1.00 0.00 H -HETATM 346 O HOH A 116 26.188 27.970 19.143 1.00 0.00 O -HETATM 347 H1 HOH A 116 26.905 28.187 19.741 1.00 0.00 H -HETATM 348 H2 HOH A 116 26.390 27.088 18.833 1.00 0.00 H -HETATM 349 O HOH A 117 19.996 9.604 6.531 1.00 0.00 O -HETATM 350 H1 HOH A 117 20.342 8.825 6.097 1.00 0.00 H -HETATM 351 H2 HOH A 117 20.258 9.505 7.447 1.00 0.00 H -HETATM 352 O HOH A 118 20.607 6.953 5.443 1.00 0.00 O -HETATM 353 H1 HOH A 118 19.769 6.777 5.013 1.00 0.00 H -HETATM 354 H2 HOH A 118 20.671 6.288 6.129 1.00 0.00 H -HETATM 355 O HOH A 119 26.521 21.500 6.873 1.00 0.00 O -HETATM 356 H1 HOH A 119 26.152 22.058 7.557 1.00 0.00 H -HETATM 357 H2 HOH A 119 27.467 21.629 6.942 1.00 0.00 H -HETATM 358 O HOH A 120 25.498 23.637 8.597 1.00 0.00 O -HETATM 359 H1 HOH A 120 24.860 24.017 7.993 1.00 0.00 H -HETATM 360 H2 HOH A 120 26.144 24.329 8.735 1.00 0.00 H -HETATM 361 O HOH A 121 1.945 8.398 14.854 1.00 0.00 O -HETATM 362 H1 HOH A 121 1.790 8.056 15.734 1.00 0.00 H -HETATM 363 H2 HOH A 121 2.845 8.723 14.877 1.00 0.00 H -HETATM 364 O HOH A 122 1.411 7.906 17.692 1.00 0.00 O -HETATM 365 H1 HOH A 122 0.578 8.373 17.766 1.00 0.00 H -HETATM 366 H2 HOH A 122 2.010 8.389 18.261 1.00 0.00 H -HETATM 367 O HOH A 123 27.303 11.704 22.846 1.00 0.00 O -HETATM 368 H1 HOH A 123 27.807 11.066 22.341 1.00 0.00 H -HETATM 369 H2 HOH A 123 27.811 11.832 23.647 1.00 0.00 H -HETATM 370 O HOH A 124 28.619 9.367 21.666 1.00 0.00 O -HETATM 371 H1 HOH A 124 27.842 8.833 21.500 1.00 0.00 H -HETATM 372 H2 HOH A 124 29.120 8.871 22.314 1.00 0.00 H -HETATM 373 O HOH A 125 26.904 3.221 11.445 1.00 0.00 O -HETATM 374 H1 HOH A 125 26.527 3.805 12.103 1.00 0.00 H -HETATM 375 H2 HOH A 125 26.592 3.568 10.609 1.00 0.00 H -HETATM 376 O HOH A 126 25.264 4.711 13.362 1.00 0.00 O -HETATM 377 H1 HOH A 126 24.950 3.974 13.887 1.00 0.00 H -HETATM 378 H2 HOH A 126 24.476 5.073 12.957 1.00 0.00 H -HETATM 379 O HOH A 127 14.087 10.230 2.306 1.00 0.00 O -HETATM 380 H1 HOH A 127 13.438 10.191 3.008 1.00 0.00 H -HETATM 381 H2 HOH A 127 14.316 9.316 2.139 1.00 0.00 H -HETATM 382 O HOH A 128 12.556 10.020 4.795 1.00 0.00 O -HETATM 383 H1 HOH A 128 13.011 10.694 5.302 1.00 0.00 H -HETATM 384 H2 HOH A 128 12.736 9.204 5.261 1.00 0.00 H -HETATM 385 O HOH A 129 15.695 17.576 19.226 1.00 0.00 O -HETATM 386 H1 HOH A 129 15.677 16.793 18.676 1.00 0.00 H -HETATM 387 H2 HOH A 129 16.041 17.273 20.065 1.00 0.00 H -HETATM 388 O HOH A 130 15.166 15.046 17.845 1.00 0.00 O -HETATM 389 H1 HOH A 130 14.266 15.219 17.568 1.00 0.00 H -HETATM 390 H2 HOH A 130 15.096 14.312 18.454 1.00 0.00 H -HETATM 391 O HOH A 131 21.987 24.075 15.925 1.00 0.00 O -HETATM 392 H1 HOH A 131 22.790 23.798 15.483 1.00 0.00 H -HETATM 393 H2 HOH A 131 21.582 23.260 16.220 1.00 0.00 H -HETATM 394 O HOH A 132 24.089 23.087 14.139 1.00 0.00 O -HETATM 395 H1 HOH A 132 23.901 23.635 13.377 1.00 0.00 H -HETATM 396 H2 HOH A 132 23.919 22.193 13.842 1.00 0.00 H -HETATM 397 O HOH A 133 12.024 25.525 14.519 1.00 0.00 O -HETATM 398 H1 HOH A 133 12.019 24.781 13.917 1.00 0.00 H -HETATM 399 H2 HOH A 133 11.110 25.805 14.563 1.00 0.00 H -HETATM 400 O HOH A 134 11.970 23.652 12.267 1.00 0.00 O -HETATM 401 H1 HOH A 134 12.706 24.005 11.767 1.00 0.00 H -HETATM 402 H2 HOH A 134 11.208 23.787 11.704 1.00 0.00 H -HETATM 403 O HOH A 135 20.349 29.059 23.079 1.00 0.00 O -HETATM 404 H1 HOH A 135 20.659 28.268 23.519 1.00 0.00 H -HETATM 405 H2 HOH A 135 21.052 29.696 23.207 1.00 0.00 H -HETATM 406 O HOH A 136 21.144 26.912 24.908 1.00 0.00 O -HETATM 407 H1 HOH A 136 20.313 26.801 25.370 1.00 0.00 H -HETATM 408 H2 HOH A 136 21.755 27.218 25.578 1.00 0.00 H -HETATM 409 O HOH A 137 15.082 16.412 10.612 1.00 0.00 O -HETATM 410 H1 HOH A 137 14.907 16.863 11.437 1.00 0.00 H -HETATM 411 H2 HOH A 137 16.014 16.557 10.451 1.00 0.00 H -HETATM 412 O HOH A 138 14.556 18.270 12.815 1.00 0.00 O -HETATM 413 H1 HOH A 138 13.785 18.709 12.453 1.00 0.00 H -HETATM 414 H2 HOH A 138 15.220 18.957 12.873 1.00 0.00 H -HETATM 415 O HOH A 139 25.564 10.730 13.348 1.00 0.00 O -HETATM 416 H1 HOH A 139 26.286 11.066 12.817 1.00 0.00 H -HETATM 417 H2 HOH A 139 25.303 11.470 13.896 1.00 0.00 H -HETATM 418 O HOH A 140 28.084 11.690 12.202 1.00 0.00 O -HETATM 419 H1 HOH A 140 28.632 10.930 12.402 1.00 0.00 H -HETATM 420 H2 HOH A 140 28.464 12.404 12.715 1.00 0.00 H -HETATM 421 O HOH A 141 24.845 14.200 19.827 1.00 0.00 O -HETATM 422 H1 HOH A 141 24.141 14.034 19.201 1.00 0.00 H -HETATM 423 H2 HOH A 141 24.522 13.841 20.653 1.00 0.00 H -HETATM 424 O HOH A 142 22.434 14.140 18.163 1.00 0.00 O -HETATM 425 H1 HOH A 142 22.457 15.043 17.843 1.00 0.00 H -HETATM 426 H2 HOH A 142 21.635 14.090 18.688 1.00 0.00 H -HETATM 427 O HOH A 143 17.784 12.042 14.165 1.00 0.00 O -HETATM 428 H1 HOH A 143 17.460 12.912 13.933 1.00 0.00 H -HETATM 429 H2 HOH A 143 17.350 11.838 14.994 1.00 0.00 H -HETATM 430 O HOH A 144 17.168 14.889 13.852 1.00 0.00 O -HETATM 431 H1 HOH A 144 18.053 15.210 13.674 1.00 0.00 H -HETATM 432 H2 HOH A 144 16.924 15.298 14.682 1.00 0.00 H -HETATM 433 O HOH A 145 7.784 29.353 2.961 1.00 0.00 O -HETATM 434 H1 HOH A 145 7.705 28.474 2.591 1.00 0.00 H -HETATM 435 H2 HOH A 145 7.879 29.926 2.200 1.00 0.00 H -HETATM 436 O HOH A 146 8.111 26.701 1.759 1.00 0.00 O -HETATM 437 H1 HOH A 146 8.769 26.350 2.361 1.00 0.00 H -HETATM 438 H2 HOH A 146 8.555 26.741 0.912 1.00 0.00 H -HETATM 439 O HOH A 147 26.892 7.536 13.011 1.00 0.00 O -HETATM 440 H1 HOH A 147 27.726 7.752 12.593 1.00 0.00 H -HETATM 441 H2 HOH A 147 27.128 6.947 13.727 1.00 0.00 H -HETATM 442 O HOH A 148 29.397 7.674 11.498 1.00 0.00 O -HETATM 443 H1 HOH A 148 29.050 7.486 10.625 1.00 0.00 H -HETATM 444 H2 HOH A 148 29.976 6.937 11.692 1.00 0.00 H -HETATM 445 O HOH A 149 2.022 14.237 19.721 1.00 0.00 O -HETATM 446 H1 HOH A 149 1.741 14.718 18.943 1.00 0.00 H -HETATM 447 H2 HOH A 149 1.212 13.893 20.097 1.00 0.00 H -HETATM 448 O HOH A 150 1.003 16.117 17.718 1.00 0.00 O -HETATM 449 H1 HOH A 150 1.527 16.882 17.958 1.00 0.00 H -HETATM 450 H2 HOH A 150 0.099 16.376 17.894 1.00 0.00 H -HETATM 451 O HOH A 151 24.256 22.402 25.309 1.00 0.00 O -HETATM 452 H1 HOH A 151 25.065 22.398 24.797 1.00 0.00 H -HETATM 453 H2 HOH A 151 24.201 21.520 25.678 1.00 0.00 H -HETATM 454 O HOH A 152 26.417 22.099 23.354 1.00 0.00 O -HETATM 455 H1 HOH A 152 25.980 22.485 22.594 1.00 0.00 H -HETATM 456 H2 HOH A 152 26.558 21.184 23.112 1.00 0.00 H -HETATM 457 O HOH A 153 5.524 20.988 14.825 1.00 0.00 O -HETATM 458 H1 HOH A 153 6.329 21.162 14.338 1.00 0.00 H -HETATM 459 H2 HOH A 153 5.643 21.445 15.658 1.00 0.00 H -HETATM 460 O HOH A 154 8.216 21.117 13.677 1.00 0.00 O -HETATM 461 H1 HOH A 154 8.323 20.192 13.454 1.00 0.00 H -HETATM 462 H2 HOH A 154 8.884 21.284 14.343 1.00 0.00 H -HETATM 463 O HOH A 155 17.978 5.586 3.134 1.00 0.00 O -HETATM 464 H1 HOH A 155 18.596 6.146 2.665 1.00 0.00 H -HETATM 465 H2 HOH A 155 18.002 5.903 4.037 1.00 0.00 H -HETATM 466 O HOH A 156 20.273 6.969 1.949 1.00 0.00 O -HETATM 467 H1 HOH A 156 20.701 6.216 1.541 1.00 0.00 H -HETATM 468 H2 HOH A 156 20.893 7.270 2.612 1.00 0.00 H -HETATM 469 O HOH A 157 22.229 6.013 13.032 1.00 0.00 O -HETATM 470 H1 HOH A 157 22.098 5.318 12.388 1.00 0.00 H -HETATM 471 H2 HOH A 157 22.036 5.600 13.874 1.00 0.00 H -HETATM 472 O HOH A 158 21.269 3.995 11.138 1.00 0.00 O -HETATM 473 H1 HOH A 158 20.730 4.561 10.584 1.00 0.00 H -HETATM 474 H2 HOH A 158 20.647 3.389 11.541 1.00 0.00 H -HETATM 475 O HOH A 159 27.948 20.692 15.420 1.00 0.00 O -HETATM 476 H1 HOH A 159 28.088 21.590 15.122 1.00 0.00 H -HETATM 477 H2 HOH A 159 27.565 20.244 14.666 1.00 0.00 H -HETATM 478 O HOH A 160 27.809 23.498 14.588 1.00 0.00 O -HETATM 479 H1 HOH A 160 27.396 23.860 15.372 1.00 0.00 H -HETATM 480 H2 HOH A 160 27.168 23.635 13.891 1.00 0.00 H -HETATM 481 O HOH A 161 4.662 14.970 10.511 1.00 0.00 O -HETATM 482 H1 HOH A 161 4.597 14.340 11.229 1.00 0.00 H -HETATM 483 H2 HOH A 161 4.367 14.487 9.739 1.00 0.00 H -HETATM 484 O HOH A 162 4.952 12.827 12.487 1.00 0.00 O -HETATM 485 H1 HOH A 162 5.836 13.032 12.795 1.00 0.00 H -HETATM 486 H2 HOH A 162 5.033 11.966 12.076 1.00 0.00 H -HETATM 487 O HOH A 163 12.166 16.309 29.247 1.00 0.00 O -HETATM 488 H1 HOH A 163 12.145 15.355 29.176 1.00 0.00 H -HETATM 489 H2 HOH A 163 12.053 16.620 28.349 1.00 0.00 H -HETATM 490 O HOH A 164 12.640 13.447 28.838 1.00 0.00 O -HETATM 491 H1 HOH A 164 13.431 13.354 29.369 1.00 0.00 H -HETATM 492 H2 HOH A 164 12.924 13.253 27.945 1.00 0.00 H -HETATM 493 O HOH A 165 23.236 23.538 20.356 1.00 0.00 O -HETATM 494 H1 HOH A 165 23.348 24.487 20.307 1.00 0.00 H -HETATM 495 H2 HOH A 165 24.098 23.183 20.139 1.00 0.00 H -HETATM 496 O HOH A 166 23.553 26.361 19.637 1.00 0.00 O -HETATM 497 H1 HOH A 166 22.767 26.461 19.098 1.00 0.00 H -HETATM 498 H2 HOH A 166 24.280 26.498 19.031 1.00 0.00 H -HETATM 499 O HOH A 167 26.700 6.169 27.213 1.00 0.00 O -HETATM 500 H1 HOH A 167 26.377 6.975 27.614 1.00 0.00 H -HETATM 501 H2 HOH A 167 27.072 6.448 26.376 1.00 0.00 H -HETATM 502 O HOH A 168 25.274 8.580 28.071 1.00 0.00 O -HETATM 503 H1 HOH A 168 24.427 8.181 28.275 1.00 0.00 H -HETATM 504 H2 HOH A 168 25.094 9.171 27.341 1.00 0.00 H -HETATM 505 O HOH A 169 10.291 22.352 20.708 1.00 0.00 O -HETATM 506 H1 HOH A 169 9.569 22.940 20.486 1.00 0.00 H -HETATM 507 H2 HOH A 169 10.090 22.048 21.593 1.00 0.00 H -HETATM 508 O HOH A 170 8.360 24.529 20.368 1.00 0.00 O -HETATM 509 H1 HOH A 170 8.961 25.209 20.064 1.00 0.00 H -HETATM 510 H2 HOH A 170 8.032 24.853 21.207 1.00 0.00 H -HETATM 511 O HOH A 171 9.126 22.797 5.054 1.00 0.00 O -HETATM 512 H1 HOH A 171 9.780 23.121 5.673 1.00 0.00 H -HETATM 513 H2 HOH A 171 9.608 22.682 4.234 1.00 0.00 H -HETATM 514 O HOH A 172 11.053 24.291 6.678 1.00 0.00 O -HETATM 515 H1 HOH A 172 10.478 25.000 6.969 1.00 0.00 H -HETATM 516 H2 HOH A 172 11.718 24.723 6.142 1.00 0.00 H -HETATM 517 O HOH A 173 16.589 21.937 17.878 1.00 0.00 O -HETATM 518 H1 HOH A 173 17.092 21.954 17.064 1.00 0.00 H -HETATM 519 H2 HOH A 173 15.857 22.533 17.720 1.00 0.00 H -HETATM 520 O HOH A 174 18.321 22.495 15.582 1.00 0.00 O -HETATM 521 H1 HOH A 174 19.145 22.630 16.052 1.00 0.00 H -HETATM 522 H2 HOH A 174 18.129 23.343 15.183 1.00 0.00 H -HETATM 523 O HOH A 175 16.339 14.099 11.959 1.00 0.00 O -HETATM 524 H1 HOH A 175 16.745 13.242 11.832 1.00 0.00 H -HETATM 525 H2 HOH A 175 16.252 14.459 11.076 1.00 0.00 H -HETATM 526 O HOH A 176 18.067 11.780 11.497 1.00 0.00 O -HETATM 527 H1 HOH A 176 18.720 11.948 12.177 1.00 0.00 H -HETATM 528 H2 HOH A 176 18.551 11.849 10.674 1.00 0.00 H -HETATM 529 O HOH A 177 8.677 8.663 23.701 1.00 0.00 O -HETATM 530 H1 HOH A 177 8.452 8.962 24.582 1.00 0.00 H -HETATM 531 H2 HOH A 177 9.612 8.849 23.616 1.00 0.00 H -HETATM 532 O HOH A 178 8.000 10.104 26.160 1.00 0.00 O -HETATM 533 H1 HOH A 178 7.237 10.586 25.840 1.00 0.00 H -HETATM 534 H2 HOH A 178 8.643 10.781 26.370 1.00 0.00 H -HETATM 535 O HOH A 179 21.950 23.393 23.221 1.00 0.00 O -HETATM 536 H1 HOH A 179 21.514 24.234 23.362 1.00 0.00 H -HETATM 537 H2 HOH A 179 22.437 23.508 22.405 1.00 0.00 H -HETATM 538 O HOH A 180 20.249 25.779 23.246 1.00 0.00 O -HETATM 539 H1 HOH A 180 19.407 25.354 23.415 1.00 0.00 H -HETATM 540 H2 HOH A 180 20.156 26.163 22.375 1.00 0.00 H -HETATM 541 O HOH A 181 6.137 21.182 17.785 1.00 0.00 O -HETATM 542 H1 HOH A 181 6.023 22.113 17.974 1.00 0.00 H -HETATM 543 H2 HOH A 181 5.251 20.820 17.814 1.00 0.00 H -HETATM 544 O HOH A 182 5.731 23.857 18.910 1.00 0.00 O -HETATM 545 H1 HOH A 182 6.430 23.846 19.564 1.00 0.00 H -HETATM 546 H2 HOH A 182 4.923 23.914 19.419 1.00 0.00 H -HETATM 547 O HOH A 183 25.045 14.947 13.414 1.00 0.00 O -HETATM 548 H1 HOH A 183 25.494 14.886 14.256 1.00 0.00 H -HETATM 549 H2 HOH A 183 25.744 14.894 12.763 1.00 0.00 H -HETATM 550 O HOH A 184 26.559 15.312 15.895 1.00 0.00 O -HETATM 551 H1 HOH A 184 26.087 16.070 16.242 1.00 0.00 H -HETATM 552 H2 HOH A 184 27.445 15.633 15.732 1.00 0.00 H -HETATM 553 O HOH A 185 13.628 15.282 24.411 1.00 0.00 O -HETATM 554 H1 HOH A 185 14.433 15.025 24.861 1.00 0.00 H -HETATM 555 H2 HOH A 185 13.785 15.061 23.493 1.00 0.00 H -HETATM 556 O HOH A 186 16.304 14.981 25.566 1.00 0.00 O -HETATM 557 H1 HOH A 186 16.360 15.821 26.022 1.00 0.00 H -HETATM 558 H2 HOH A 186 16.990 15.021 24.900 1.00 0.00 H -HETATM 559 O HOH A 187 29.204 23.911 2.476 1.00 0.00 O -HETATM 560 H1 HOH A 187 28.437 23.917 3.048 1.00 0.00 H -HETATM 561 H2 HOH A 187 28.917 23.441 1.693 1.00 0.00 H -HETATM 562 O HOH A 188 27.003 23.382 4.335 1.00 0.00 O -HETATM 563 H1 HOH A 188 27.517 23.086 5.087 1.00 0.00 H -HETATM 564 H2 HOH A 188 26.489 22.617 4.077 1.00 0.00 H -HETATM 565 O HOH A 189 12.916 16.517 10.241 1.00 0.00 O -HETATM 566 H1 HOH A 189 12.752 16.273 11.152 1.00 0.00 H -HETATM 567 H2 HOH A 189 12.502 17.375 10.143 1.00 0.00 H -HETATM 568 O HOH A 190 11.884 15.645 12.841 1.00 0.00 O -HETATM 569 H1 HOH A 190 11.578 14.773 12.590 1.00 0.00 H -HETATM 570 H2 HOH A 190 11.090 16.118 13.090 1.00 0.00 H -HETATM 571 O HOH A 191 11.078 11.030 8.006 1.00 0.00 O -HETATM 572 H1 HOH A 191 11.864 11.576 8.013 1.00 0.00 H -HETATM 573 H2 HOH A 191 11.187 10.442 8.753 1.00 0.00 H -HETATM 574 O HOH A 192 13.740 12.236 7.799 1.00 0.00 O -HETATM 575 H1 HOH A 192 13.892 12.091 6.864 1.00 0.00 H -HETATM 576 H2 HOH A 192 14.409 11.710 8.237 1.00 0.00 H -HETATM 577 O HOH A 193 4.690 13.658 19.918 1.00 0.00 O -HETATM 578 H1 HOH A 193 4.454 14.084 20.742 1.00 0.00 H -HETATM 579 H2 HOH A 193 4.169 14.111 19.255 1.00 0.00 H -HETATM 580 O HOH A 194 3.490 14.644 22.402 1.00 0.00 O -HETATM 581 H1 HOH A 194 3.348 13.804 22.838 1.00 0.00 H -HETATM 582 H2 HOH A 194 2.610 14.996 22.263 1.00 0.00 H -HETATM 583 O HOH A 195 5.212 23.256 12.478 1.00 0.00 O -HETATM 584 H1 HOH A 195 6.112 23.351 12.168 1.00 0.00 H -HETATM 585 H2 HOH A 195 5.294 22.818 13.326 1.00 0.00 H -HETATM 586 O HOH A 196 7.921 22.988 11.397 1.00 0.00 O -HETATM 587 H1 HOH A 196 7.699 22.638 10.534 1.00 0.00 H -HETATM 588 H2 HOH A 196 8.412 22.286 11.824 1.00 0.00 H -HETATM 589 O HOH A 197 10.802 9.033 20.329 1.00 0.00 O -HETATM 590 H1 HOH A 197 10.059 9.613 20.166 1.00 0.00 H -HETATM 591 H2 HOH A 197 10.820 8.926 21.280 1.00 0.00 H -HETATM 592 O HOH A 198 8.885 11.225 20.006 1.00 0.00 O -HETATM 593 H1 HOH A 198 9.405 11.789 19.433 1.00 0.00 H -HETATM 594 H2 HOH A 198 8.778 11.731 20.811 1.00 0.00 H -HETATM 595 O HOH A 199 24.079 20.594 5.977 1.00 0.00 O -HETATM 596 H1 HOH A 199 24.278 21.464 5.631 1.00 0.00 H -HETATM 597 H2 HOH A 199 23.166 20.651 6.260 1.00 0.00 H -HETATM 598 O HOH A 200 24.727 23.406 5.472 1.00 0.00 O -HETATM 599 H1 HOH A 200 25.539 23.460 5.976 1.00 0.00 H -HETATM 600 H2 HOH A 200 24.125 24.001 5.919 1.00 0.00 H -HETATM 601 O HOH A 201 5.847 25.259 17.200 1.00 0.00 O -HETATM 602 H1 HOH A 201 6.373 24.566 16.800 1.00 0.00 H -HETATM 603 H2 HOH A 201 4.964 25.120 16.856 1.00 0.00 H -HETATM 604 O HOH A 202 7.438 23.473 15.508 1.00 0.00 O -HETATM 605 H1 HOH A 202 8.119 24.093 15.244 1.00 0.00 H -HETATM 606 H2 HOH A 202 6.986 23.250 14.695 1.00 0.00 H -HETATM 607 O HOH A 203 16.212 28.172 20.446 1.00 0.00 O -HETATM 608 H1 HOH A 203 16.453 27.246 20.457 1.00 0.00 H -HETATM 609 H2 HOH A 203 16.350 28.446 19.539 1.00 0.00 H -HETATM 610 O HOH A 204 17.492 25.537 20.478 1.00 0.00 O -HETATM 611 H1 HOH A 204 18.040 25.652 21.255 1.00 0.00 H -HETATM 612 H2 HOH A 204 18.112 25.429 19.758 1.00 0.00 H -HETATM 613 O HOH A 205 0.384 27.732 22.887 1.00 0.00 O -HETATM 614 H1 HOH A 205 0.103 28.041 23.748 1.00 0.00 H -HETATM 615 H2 HOH A 205 0.149 26.804 22.876 1.00 0.00 H -HETATM 616 O HOH A 206 -0.000 28.415 25.710 1.00 0.00 O -HETATM 617 H1 HOH A 206 0.842 28.842 25.871 1.00 0.00 H -HETATM 618 H2 HOH A 206 0.010 27.641 26.273 1.00 0.00 H -HETATM 619 O HOH A 207 25.791 9.863 23.635 1.00 0.00 O -HETATM 620 H1 HOH A 207 24.942 9.618 23.270 1.00 0.00 H -HETATM 621 H2 HOH A 207 26.430 9.409 23.085 1.00 0.00 H -HETATM 622 O HOH A 208 23.278 8.614 22.795 1.00 0.00 O -HETATM 623 H1 HOH A 208 22.931 8.393 23.659 1.00 0.00 H -HETATM 624 H2 HOH A 208 23.421 7.769 22.368 1.00 0.00 H -HETATM 625 O HOH A 209 11.466 22.975 3.032 1.00 0.00 O -HETATM 626 H1 HOH A 209 11.403 23.072 2.082 1.00 0.00 H -HETATM 627 H2 HOH A 209 11.266 23.845 3.376 1.00 0.00 H -HETATM 628 O HOH A 210 11.788 23.521 0.171 1.00 0.00 O -HETATM 629 H1 HOH A 210 12.629 23.084 0.034 1.00 0.00 H -HETATM 630 H2 HOH A 210 11.965 24.446 -0.001 1.00 0.00 H -HETATM 631 O HOH A 211 15.835 19.922 26.081 1.00 0.00 O -HETATM 632 H1 HOH A 211 15.371 20.461 26.721 1.00 0.00 H -HETATM 633 H2 HOH A 211 15.142 19.470 25.600 1.00 0.00 H -HETATM 634 O HOH A 212 14.351 21.077 28.328 1.00 0.00 O -HETATM 635 H1 HOH A 212 14.913 20.774 29.043 1.00 0.00 H -HETATM 636 H2 HOH A 212 13.515 20.634 28.473 1.00 0.00 H -HETATM 637 O HOH A 213 22.537 4.162 15.557 1.00 0.00 O -HETATM 638 H1 HOH A 213 22.941 3.805 14.767 1.00 0.00 H -HETATM 639 H2 HOH A 213 22.694 3.499 16.229 1.00 0.00 H -HETATM 640 O HOH A 214 23.303 2.736 13.115 1.00 0.00 O -HETATM 641 H1 HOH A 214 22.522 2.919 12.590 1.00 0.00 H -HETATM 642 H2 HOH A 214 23.297 1.787 13.235 1.00 0.00 H -HETATM 643 O HOH A 215 3.861 12.999 14.673 1.00 0.00 O -HETATM 644 H1 HOH A 215 3.370 13.473 15.345 1.00 0.00 H -HETATM 645 H2 HOH A 215 4.710 13.440 14.640 1.00 0.00 H -HETATM 646 O HOH A 216 2.289 14.846 16.317 1.00 0.00 O -HETATM 647 H1 HOH A 216 1.522 14.927 15.749 1.00 0.00 H -HETATM 648 H2 HOH A 216 2.669 15.724 16.336 1.00 0.00 H -HETATM 649 O HOH A 217 15.810 13.518 21.847 1.00 0.00 O -HETATM 650 H1 HOH A 217 16.488 14.153 21.618 1.00 0.00 H -HETATM 651 H2 HOH A 217 15.472 13.820 22.690 1.00 0.00 H -HETATM 652 O HOH A 218 18.206 15.175 21.532 1.00 0.00 O -HETATM 653 H1 HOH A 218 18.834 14.483 21.324 1.00 0.00 H -HETATM 654 H2 HOH A 218 18.508 15.534 22.366 1.00 0.00 H -HETATM 655 O HOH A 219 9.820 6.403 21.283 1.00 0.00 O -HETATM 656 H1 HOH A 219 9.057 6.159 21.806 1.00 0.00 H -HETATM 657 H2 HOH A 219 9.519 6.341 20.376 1.00 0.00 H -HETATM 658 O HOH A 220 7.622 5.119 22.734 1.00 0.00 O -HETATM 659 H1 HOH A 220 8.135 4.508 23.263 1.00 0.00 H -HETATM 660 H2 HOH A 220 7.092 4.561 22.165 1.00 0.00 H -HETATM 661 O HOH A 221 6.909 7.937 14.295 1.00 0.00 O -HETATM 662 H1 HOH A 221 6.983 8.363 13.441 1.00 0.00 H -HETATM 663 H2 HOH A 221 7.798 7.952 14.649 1.00 0.00 H -HETATM 664 O HOH A 222 7.359 8.736 11.512 1.00 0.00 O -HETATM 665 H1 HOH A 222 6.873 8.034 11.080 1.00 0.00 H -HETATM 666 H2 HOH A 222 8.267 8.604 11.242 1.00 0.00 H -HETATM 667 O HOH A 223 6.284 13.490 29.853 1.00 0.00 O -HETATM 668 H1 HOH A 223 5.430 13.059 29.857 1.00 0.00 H -HETATM 669 H2 HOH A 223 6.258 14.069 29.092 1.00 0.00 H -HETATM 670 O HOH A 224 3.892 11.849 29.441 1.00 0.00 O -HETATM 671 H1 HOH A 224 4.289 10.984 29.552 1.00 0.00 H -HETATM 672 H2 HOH A 224 3.597 11.864 28.531 1.00 0.00 H -HETATM 673 O HOH A 225 9.697 13.757 8.227 1.00 0.00 O -HETATM 674 H1 HOH A 225 10.428 14.333 8.005 1.00 0.00 H -HETATM 675 H2 HOH A 225 9.613 13.831 9.178 1.00 0.00 H -HETATM 676 O HOH A 226 12.261 15.089 7.746 1.00 0.00 O -HETATM 677 H1 HOH A 226 12.676 14.414 7.207 1.00 0.00 H -HETATM 678 H2 HOH A 226 12.799 15.132 8.536 1.00 0.00 H -HETATM 679 O HOH A 227 19.115 23.034 12.695 1.00 0.00 O -HETATM 680 H1 HOH A 227 19.198 23.785 13.282 1.00 0.00 H -HETATM 681 H2 HOH A 227 18.693 22.359 13.226 1.00 0.00 H -HETATM 682 O HOH A 228 19.812 25.039 14.715 1.00 0.00 O -HETATM 683 H1 HOH A 228 20.733 25.164 14.483 1.00 0.00 H -HETATM 684 H2 HOH A 228 19.833 24.669 15.597 1.00 0.00 H -HETATM 685 O HOH A 229 2.320 26.551 8.725 1.00 0.00 O -HETATM 686 H1 HOH A 229 2.829 25.859 8.303 1.00 0.00 H -HETATM 687 H2 HOH A 229 1.878 26.114 9.453 1.00 0.00 H -HETATM 688 O HOH A 230 3.370 24.275 7.208 1.00 0.00 O -HETATM 689 H1 HOH A 230 3.048 24.519 6.340 1.00 0.00 H -HETATM 690 H2 HOH A 230 2.912 23.461 7.416 1.00 0.00 H -HETATM 691 O HOH A 231 14.324 23.521 6.821 1.00 0.00 O -HETATM 692 H1 HOH A 231 14.851 23.428 6.028 1.00 0.00 H -HETATM 693 H2 HOH A 231 14.714 24.263 7.284 1.00 0.00 H -HETATM 694 O HOH A 232 16.322 22.991 4.745 1.00 0.00 O -HETATM 695 H1 HOH A 232 16.425 22.049 4.881 1.00 0.00 H -HETATM 696 H2 HOH A 232 17.176 23.363 4.964 1.00 0.00 H -HETATM 697 O HOH A 233 18.185 8.776 7.544 1.00 0.00 O -HETATM 698 H1 HOH A 233 17.735 9.579 7.285 1.00 0.00 H -HETATM 699 H2 HOH A 233 17.666 8.433 8.271 1.00 0.00 H -HETATM 700 O HOH A 234 17.059 11.461 7.216 1.00 0.00 O -HETATM 701 H1 HOH A 234 17.876 11.961 7.216 1.00 0.00 H -HETATM 702 H2 HOH A 234 16.596 11.755 8.000 1.00 0.00 H -HETATM 703 O HOH A 235 1.501 22.598 21.725 1.00 0.00 O -HETATM 704 H1 HOH A 235 2.245 23.127 22.010 1.00 0.00 H -HETATM 705 H2 HOH A 235 1.569 22.581 20.770 1.00 0.00 H -HETATM 706 O HOH A 236 3.455 24.664 22.430 1.00 0.00 O -HETATM 707 H1 HOH A 236 2.903 25.194 23.006 1.00 0.00 H -HETATM 708 H2 HOH A 236 3.655 25.237 21.691 1.00 0.00 H -HETATM 709 O HOH A 237 2.932 24.787 19.083 1.00 0.00 O -HETATM 710 H1 HOH A 237 2.804 25.552 18.523 1.00 0.00 H -HETATM 711 H2 HOH A 237 2.339 24.928 19.822 1.00 0.00 H -HETATM 712 O HOH A 238 2.869 27.399 17.757 1.00 0.00 O -HETATM 713 H1 HOH A 238 3.813 27.544 17.679 1.00 0.00 H -HETATM 714 H2 HOH A 238 2.565 28.093 18.342 1.00 0.00 H -HETATM 715 O HOH A 239 11.194 11.595 16.052 1.00 0.00 O -HETATM 716 H1 HOH A 239 11.813 12.310 15.905 1.00 0.00 H -HETATM 717 H2 HOH A 239 11.270 11.047 15.271 1.00 0.00 H -HETATM 718 O HOH A 240 12.681 13.989 15.250 1.00 0.00 O -HETATM 719 H1 HOH A 240 12.029 14.650 15.486 1.00 0.00 H -HETATM 720 H2 HOH A 240 12.764 14.060 14.300 1.00 0.00 H -HETATM 721 O HOH A 241 25.336 16.298 19.383 1.00 0.00 O -HETATM 722 H1 HOH A 241 24.616 16.553 19.960 1.00 0.00 H -HETATM 723 H2 HOH A 241 24.909 16.015 18.575 1.00 0.00 H -HETATM 724 O HOH A 242 23.064 16.510 21.221 1.00 0.00 O -HETATM 725 H1 HOH A 242 23.420 16.000 21.950 1.00 0.00 H -HETATM 726 H2 HOH A 242 22.309 16.006 20.919 1.00 0.00 H -HETATM 727 O HOH A 243 1.774 29.045 2.649 1.00 0.00 O -HETATM 728 H1 HOH A 243 2.669 28.758 2.833 1.00 0.00 H -HETATM 729 H2 HOH A 243 1.830 30.000 2.617 1.00 0.00 H -HETATM 730 O HOH A 244 4.392 28.327 3.751 1.00 0.00 O -HETATM 731 H1 HOH A 244 4.099 27.743 4.451 1.00 0.00 H -HETATM 732 H2 HOH A 244 4.806 29.061 4.205 1.00 0.00 H -HETATM 733 O HOH A 245 16.569 27.266 6.986 1.00 0.00 O -HETATM 734 H1 HOH A 245 16.482 26.377 7.330 1.00 0.00 H -HETATM 735 H2 HOH A 245 16.423 27.174 6.044 1.00 0.00 H -HETATM 736 O HOH A 246 16.835 24.472 7.826 1.00 0.00 O -HETATM 737 H1 HOH A 246 17.648 24.548 8.327 1.00 0.00 H -HETATM 738 H2 HOH A 246 17.055 23.895 7.095 1.00 0.00 H -HETATM 739 O HOH A 247 15.176 5.598 11.031 1.00 0.00 O -HETATM 740 H1 HOH A 247 15.005 4.717 10.701 1.00 0.00 H -HETATM 741 H2 HOH A 247 14.349 5.872 11.427 1.00 0.00 H -HETATM 742 O HOH A 248 14.381 3.173 9.593 1.00 0.00 O -HETATM 743 H1 HOH A 248 14.761 3.381 8.738 1.00 0.00 H -HETATM 744 H2 HOH A 248 13.437 3.140 9.436 1.00 0.00 H -HETATM 745 O HOH A 249 28.455 28.705 7.190 1.00 0.00 O -HETATM 746 H1 HOH A 249 28.054 27.926 7.577 1.00 0.00 H -HETATM 747 H2 HOH A 249 29.299 28.787 7.634 1.00 0.00 H -HETATM 748 O HOH A 250 27.114 26.671 8.819 1.00 0.00 O -HETATM 749 H1 HOH A 250 26.285 27.128 8.967 1.00 0.00 H -HETATM 750 H2 HOH A 250 27.505 26.592 9.689 1.00 0.00 H -HETATM 751 O HOH A 251 18.415 14.251 28.405 1.00 0.00 O -HETATM 752 H1 HOH A 251 19.152 13.973 28.947 1.00 0.00 H -HETATM 753 H2 HOH A 251 18.542 13.793 27.574 1.00 0.00 H -HETATM 754 O HOH A 252 20.974 13.774 29.749 1.00 0.00 O -HETATM 755 H1 HOH A 252 21.176 14.676 30.000 1.00 0.00 H -HETATM 756 H2 HOH A 252 21.666 13.535 29.132 1.00 0.00 H -HETATM 757 O HOH A 253 20.062 20.314 16.346 1.00 0.00 O -HETATM 758 H1 HOH A 253 20.695 19.602 16.264 1.00 0.00 H -HETATM 759 H2 HOH A 253 20.014 20.695 15.469 1.00 0.00 H -HETATM 760 O HOH A 254 22.393 18.555 16.109 1.00 0.00 O -HETATM 761 H1 HOH A 254 22.871 18.843 16.888 1.00 0.00 H -HETATM 762 H2 HOH A 254 22.956 18.800 15.376 1.00 0.00 H -HETATM 763 O HOH A 255 23.681 23.160 2.801 1.00 0.00 O -HETATM 764 H1 HOH A 255 23.981 23.694 2.066 1.00 0.00 H -HETATM 765 H2 HOH A 255 22.879 22.744 2.486 1.00 0.00 H -HETATM 766 O HOH A 256 24.182 25.157 0.717 1.00 0.00 O -HETATM 767 H1 HOH A 256 24.307 25.923 1.279 1.00 0.00 H -HETATM 768 H2 HOH A 256 23.394 25.354 0.211 1.00 0.00 H -HETATM 769 O HOH A 257 2.153 15.801 10.823 1.00 0.00 O -HETATM 770 H1 HOH A 257 2.514 16.225 11.601 1.00 0.00 H -HETATM 771 H2 HOH A 257 2.767 16.019 10.123 1.00 0.00 H -HETATM 772 O HOH A 258 3.039 17.581 12.975 1.00 0.00 O -HETATM 773 H1 HOH A 258 2.191 17.965 13.203 1.00 0.00 H -HETATM 774 H2 HOH A 258 3.556 18.315 12.646 1.00 0.00 H -HETATM 775 O HOH A 259 22.907 9.720 14.034 1.00 0.00 O -HETATM 776 H1 HOH A 259 23.417 10.258 13.430 1.00 0.00 H -HETATM 777 H2 HOH A 259 22.341 9.193 13.469 1.00 0.00 H -HETATM 778 O HOH A 260 23.987 11.682 12.146 1.00 0.00 O -HETATM 779 H1 HOH A 260 23.802 12.479 12.644 1.00 0.00 H -HETATM 780 H2 HOH A 260 23.449 11.758 11.358 1.00 0.00 H -HETATM 781 O HOH A 261 10.601 13.782 17.910 1.00 0.00 O -HETATM 782 H1 HOH A 261 10.612 13.825 16.954 1.00 0.00 H -HETATM 783 H2 HOH A 261 10.795 12.867 18.111 1.00 0.00 H -HETATM 784 O HOH A 262 10.114 13.671 15.023 1.00 0.00 O -HETATM 785 H1 HOH A 262 9.279 14.140 14.999 1.00 0.00 H -HETATM 786 H2 HOH A 262 9.902 12.785 14.727 1.00 0.00 H -HETATM 787 O HOH A 263 8.827 17.684 5.049 1.00 0.00 O -HETATM 788 H1 HOH A 263 9.085 18.121 4.237 1.00 0.00 H -HETATM 789 H2 HOH A 263 9.129 18.269 5.743 1.00 0.00 H -HETATM 790 O HOH A 264 10.143 18.821 2.691 1.00 0.00 O -HETATM 791 H1 HOH A 264 10.529 18.018 2.340 1.00 0.00 H -HETATM 792 H2 HOH A 264 10.892 19.368 2.925 1.00 0.00 H -HETATM 793 O HOH A 265 11.640 23.811 25.899 1.00 0.00 O -HETATM 794 H1 HOH A 265 11.467 24.739 25.742 1.00 0.00 H -HETATM 795 H2 HOH A 265 12.567 23.700 25.688 1.00 0.00 H -HETATM 796 O HOH A 266 11.106 26.499 24.863 1.00 0.00 O -HETATM 797 H1 HOH A 266 10.322 26.302 24.349 1.00 0.00 H -HETATM 798 H2 HOH A 266 11.757 26.772 24.217 1.00 0.00 H -HETATM 799 O HOH A 267 8.437 5.791 7.271 1.00 0.00 O -HETATM 800 H1 HOH A 267 7.976 4.969 7.105 1.00 0.00 H -HETATM 801 H2 HOH A 267 9.169 5.546 7.837 1.00 0.00 H -HETATM 802 O HOH A 268 6.818 3.348 7.294 1.00 0.00 O -HETATM 803 H1 HOH A 268 5.970 3.739 7.506 1.00 0.00 H -HETATM 804 H2 HOH A 268 7.022 2.789 8.043 1.00 0.00 H -HETATM 805 O HOH A 269 24.587 1.636 18.063 1.00 0.00 O -HETATM 806 H1 HOH A 269 25.502 1.907 17.989 1.00 0.00 H -HETATM 807 H2 HOH A 269 24.434 1.559 19.005 1.00 0.00 H -HETATM 808 O HOH A 270 27.501 1.913 17.949 1.00 0.00 O -HETATM 809 H1 HOH A 270 27.685 1.242 17.291 1.00 0.00 H -HETATM 810 H2 HOH A 270 27.925 1.593 18.745 1.00 0.00 H -HETATM 811 O HOH A 271 21.433 22.378 27.886 1.00 0.00 O -HETATM 812 H1 HOH A 271 20.658 22.782 27.498 1.00 0.00 H -HETATM 813 H2 HOH A 271 21.111 21.954 28.681 1.00 0.00 H -HETATM 814 O HOH A 272 19.133 24.016 27.105 1.00 0.00 O -HETATM 815 H1 HOH A 272 19.586 24.852 26.983 1.00 0.00 H -HETATM 816 H2 HOH A 272 18.535 24.169 27.836 1.00 0.00 H -HETATM 817 O HOH A 273 9.698 16.993 0.579 1.00 0.00 O -HETATM 818 H1 HOH A 273 8.776 16.864 0.800 1.00 0.00 H -HETATM 819 H2 HOH A 273 9.702 17.755 -0.001 1.00 0.00 H -HETATM 820 O HOH A 274 6.840 16.367 0.729 1.00 0.00 O -HETATM 821 H1 HOH A 274 6.887 15.432 0.529 1.00 0.00 H -HETATM 822 H2 HOH A 274 6.350 16.746 -0.001 1.00 0.00 H -HETATM 823 O HOH A 275 27.640 1.351 27.201 1.00 0.00 O -HETATM 824 H1 HOH A 275 27.044 1.091 26.499 1.00 0.00 H -HETATM 825 H2 HOH A 275 27.566 0.652 27.851 1.00 0.00 H -HETATM 826 O HOH A 276 25.402 0.744 25.410 1.00 0.00 O -HETATM 827 H1 HOH A 276 25.001 1.613 25.381 1.00 0.00 H -HETATM 828 H2 HOH A 276 24.746 0.188 25.829 1.00 0.00 H -HETATM 829 O HOH A 277 12.208 13.594 23.941 1.00 0.00 O -HETATM 830 H1 HOH A 277 11.292 13.672 24.206 1.00 0.00 H -HETATM 831 H2 HOH A 277 12.471 12.723 24.237 1.00 0.00 H -HETATM 832 O HOH A 278 9.623 13.929 25.279 1.00 0.00 O -HETATM 833 H1 HOH A 278 9.772 14.791 25.668 1.00 0.00 H -HETATM 834 H2 HOH A 278 9.525 13.339 26.026 1.00 0.00 H -HETATM 835 O HOH A 279 23.647 7.573 18.993 1.00 0.00 O -HETATM 836 H1 HOH A 279 24.596 7.463 19.058 1.00 0.00 H -HETATM 837 H2 HOH A 279 23.339 7.551 19.899 1.00 0.00 H -HETATM 838 O HOH A 280 26.423 6.680 19.280 1.00 0.00 O -HETATM 839 H1 HOH A 280 26.426 5.999 18.606 1.00 0.00 H -HETATM 840 H2 HOH A 280 26.567 6.209 20.100 1.00 0.00 H -HETATM 841 O HOH A 281 8.505 26.962 9.236 1.00 0.00 O -HETATM 842 H1 HOH A 281 9.118 26.228 9.212 1.00 0.00 H -HETATM 843 H2 HOH A 281 8.326 27.097 10.166 1.00 0.00 H -HETATM 844 O HOH A 282 9.915 24.394 9.260 1.00 0.00 O -HETATM 845 H1 HOH A 282 9.405 23.943 8.586 1.00 0.00 H -HETATM 846 H2 HOH A 282 9.748 23.899 10.062 1.00 0.00 H -HETATM 847 O HOH A 283 4.780 19.683 10.363 1.00 0.00 O -HETATM 848 H1 HOH A 283 5.409 19.082 10.762 1.00 0.00 H -HETATM 849 H2 HOH A 283 4.782 19.451 9.435 1.00 0.00 H -HETATM 850 O HOH A 284 7.100 18.196 11.358 1.00 0.00 O -HETATM 851 H1 HOH A 284 7.540 18.908 11.823 1.00 0.00 H -HETATM 852 H2 HOH A 284 7.704 17.957 10.655 1.00 0.00 H -HETATM 853 O HOH A 285 15.900 23.458 25.893 1.00 0.00 O -HETATM 854 H1 HOH A 285 15.329 23.981 25.331 1.00 0.00 H -HETATM 855 H2 HOH A 285 15.312 23.071 26.541 1.00 0.00 H -HETATM 856 O HOH A 286 14.162 25.436 24.609 1.00 0.00 O -HETATM 857 H1 HOH A 286 14.740 26.197 24.669 1.00 0.00 H -HETATM 858 H2 HOH A 286 13.408 25.662 25.155 1.00 0.00 H -HETATM 859 O HOH A 287 5.833 14.639 23.629 1.00 0.00 O -HETATM 860 H1 HOH A 287 5.092 14.867 24.190 1.00 0.00 H -HETATM 861 H2 HOH A 287 5.630 15.044 22.786 1.00 0.00 H -HETATM 862 O HOH A 288 3.290 14.918 25.057 1.00 0.00 O -HETATM 863 H1 HOH A 288 3.191 14.013 25.354 1.00 0.00 H -HETATM 864 H2 HOH A 288 2.556 15.059 24.461 1.00 0.00 H -HETATM 865 O HOH A 289 1.993 21.572 1.364 1.00 0.00 O -HETATM 866 H1 HOH A 289 2.733 22.178 1.359 1.00 0.00 H -HETATM 867 H2 HOH A 289 2.173 20.967 0.644 1.00 0.00 H -HETATM 868 O HOH A 290 3.989 23.666 0.900 1.00 0.00 O -HETATM 869 H1 HOH A 290 3.411 24.429 0.943 1.00 0.00 H -HETATM 870 H2 HOH A 290 4.315 23.660 0.000 1.00 0.00 H -HETATM 871 O HOH A 291 14.877 15.104 27.481 1.00 0.00 O -HETATM 872 H1 HOH A 291 14.949 14.220 27.123 1.00 0.00 H -HETATM 873 H2 HOH A 291 14.192 15.040 28.146 1.00 0.00 H -HETATM 874 O HOH A 292 14.616 12.533 26.100 1.00 0.00 O -HETATM 875 H1 HOH A 292 14.581 12.856 25.199 1.00 0.00 H -HETATM 876 H2 HOH A 292 13.760 12.131 26.247 1.00 0.00 H -HETATM 877 O HOH A 293 14.140 19.228 20.295 1.00 0.00 O -HETATM 878 H1 HOH A 293 14.478 20.075 20.585 1.00 0.00 H -HETATM 879 H2 HOH A 293 13.505 19.443 19.612 1.00 0.00 H -HETATM 880 O HOH A 294 14.674 21.859 21.468 1.00 0.00 O -HETATM 881 H1 HOH A 294 14.545 21.635 22.390 1.00 0.00 H -HETATM 882 H2 HOH A 294 13.980 22.488 21.272 1.00 0.00 H -HETATM 883 O HOH A 295 5.310 29.553 18.554 1.00 0.00 O -HETATM 884 H1 HOH A 295 5.078 28.748 19.016 1.00 0.00 H -HETATM 885 H2 HOH A 295 4.953 29.437 17.674 1.00 0.00 H -HETATM 886 O HOH A 296 5.039 26.859 19.674 1.00 0.00 O -HETATM 887 H1 HOH A 296 5.931 26.749 20.003 1.00 0.00 H -HETATM 888 H2 HOH A 296 4.949 26.194 18.992 1.00 0.00 H -HETATM 889 O HOH A 297 14.165 25.587 10.050 1.00 0.00 O -HETATM 890 H1 HOH A 297 14.972 25.821 10.508 1.00 0.00 H -HETATM 891 H2 HOH A 297 14.445 25.381 9.159 1.00 0.00 H -HETATM 892 O HOH A 298 16.581 26.806 11.173 1.00 0.00 O -HETATM 893 H1 HOH A 298 16.187 27.601 11.535 1.00 0.00 H -HETATM 894 H2 HOH A 298 17.176 27.119 10.493 1.00 0.00 H -HETATM 895 O HOH A 299 25.387 27.076 10.974 1.00 0.00 O -HETATM 896 H1 HOH A 299 25.718 26.180 10.905 1.00 0.00 H -HETATM 897 H2 HOH A 299 26.169 27.611 11.110 1.00 0.00 H -HETATM 898 O HOH A 300 26.445 24.367 11.335 1.00 0.00 O -HETATM 899 H1 HOH A 300 25.797 24.041 11.960 1.00 0.00 H -HETATM 900 H2 HOH A 300 27.271 24.365 11.819 1.00 0.00 H -HETATM 901 O HOH A 301 5.775 21.278 11.516 1.00 0.00 O -HETATM 902 H1 HOH A 301 5.663 21.677 10.654 1.00 0.00 H -HETATM 903 H2 HOH A 301 6.677 20.956 11.516 1.00 0.00 H -HETATM 904 O HOH A 302 5.380 21.956 8.693 1.00 0.00 O -HETATM 905 H1 HOH A 302 4.553 21.494 8.548 1.00 0.00 H -HETATM 906 H2 HOH A 302 6.008 21.511 8.125 1.00 0.00 H -HETATM 907 O HOH A 303 25.081 3.484 26.816 1.00 0.00 O -HETATM 908 H1 HOH A 303 24.479 3.881 26.187 1.00 0.00 H -HETATM 909 H2 HOH A 303 25.463 4.226 27.285 1.00 0.00 H -HETATM 910 O HOH A 304 23.716 4.818 24.593 1.00 0.00 O -HETATM 911 H1 HOH A 304 24.064 4.291 23.872 1.00 0.00 H -HETATM 912 H2 HOH A 304 24.058 5.698 24.436 1.00 0.00 H -HETATM 913 O HOH A 305 18.074 25.928 5.284 1.00 0.00 O -HETATM 914 H1 HOH A 305 18.281 25.106 5.728 1.00 0.00 H -HETATM 915 H2 HOH A 305 17.908 25.676 4.376 1.00 0.00 H -HETATM 916 O HOH A 306 19.223 23.470 6.390 1.00 0.00 O -HETATM 917 H1 HOH A 306 20.002 23.847 6.800 1.00 0.00 H -HETATM 918 H2 HOH A 306 19.564 22.893 5.707 1.00 0.00 H -HETATM 919 O HOH A 307 14.673 9.139 11.749 1.00 0.00 O -HETATM 920 H1 HOH A 307 14.034 9.553 11.169 1.00 0.00 H -HETATM 921 H2 HOH A 307 14.169 8.894 12.526 1.00 0.00 H -HETATM 922 O HOH A 308 12.778 10.859 10.323 1.00 0.00 O -HETATM 923 H1 HOH A 308 13.354 11.608 10.164 1.00 0.00 H -HETATM 924 H2 HOH A 308 12.094 11.198 10.900 1.00 0.00 H -HETATM 925 O HOH A 309 21.686 28.790 7.386 1.00 0.00 O -HETATM 926 H1 HOH A 309 22.464 28.261 7.560 1.00 0.00 H -HETATM 927 H2 HOH A 309 21.531 29.266 8.201 1.00 0.00 H -HETATM 928 O HOH A 310 23.704 26.832 8.209 1.00 0.00 O -HETATM 929 H1 HOH A 310 23.290 26.042 7.861 1.00 0.00 H -HETATM 930 H2 HOH A 310 23.714 26.702 9.157 1.00 0.00 H -HETATM 931 O HOH A 311 -0.000 12.212 7.230 1.00 0.00 O -HETATM 932 H1 HOH A 311 0.380 12.378 8.092 1.00 0.00 H -HETATM 933 H2 HOH A 311 0.506 12.763 6.634 1.00 0.00 H -HETATM 934 O HOH A 312 0.862 13.210 9.847 1.00 0.00 O -HETATM 935 H1 HOH A 312 -0.000 13.346 10.240 1.00 0.00 H -HETATM 936 H2 HOH A 312 1.244 14.085 9.790 1.00 0.00 H -HETATM 937 O HOH A 313 29.521 12.933 9.960 1.00 0.00 O -HETATM 938 H1 HOH A 313 29.007 13.661 9.611 1.00 0.00 H -HETATM 939 H2 HOH A 313 30.000 13.309 10.699 1.00 0.00 H -HETATM 940 O HOH A 314 28.450 15.328 8.657 1.00 0.00 O -HETATM 941 H1 HOH A 314 28.732 15.143 7.760 1.00 0.00 H -HETATM 942 H2 HOH A 314 28.931 16.118 8.903 1.00 0.00 H -HETATM 943 O HOH A 315 7.536 21.433 5.722 1.00 0.00 O -HETATM 944 H1 HOH A 315 6.817 22.002 5.447 1.00 0.00 H -HETATM 945 H2 HOH A 315 7.540 20.722 5.080 1.00 0.00 H -HETATM 946 O HOH A 316 5.000 22.771 5.121 1.00 0.00 O -HETATM 947 H1 HOH A 316 4.642 22.808 6.008 1.00 0.00 H -HETATM 948 H2 HOH A 316 4.398 22.203 4.640 1.00 0.00 H -HETATM 949 O HOH A 317 17.552 19.820 18.087 1.00 0.00 O -HETATM 950 H1 HOH A 317 17.504 18.864 18.085 1.00 0.00 H -HETATM 951 H2 HOH A 317 18.125 20.033 17.351 1.00 0.00 H -HETATM 952 O HOH A 318 17.928 16.924 18.321 1.00 0.00 O -HETATM 953 H1 HOH A 318 18.111 16.878 19.260 1.00 0.00 H -HETATM 954 H2 HOH A 318 18.737 16.631 17.903 1.00 0.00 H -HETATM 955 O HOH A 319 10.210 18.976 17.765 1.00 0.00 O -HETATM 956 H1 HOH A 319 9.973 19.875 17.539 1.00 0.00 H -HETATM 957 H2 HOH A 319 10.705 19.056 18.581 1.00 0.00 H -HETATM 958 O HOH A 320 10.031 21.768 16.895 1.00 0.00 O -HETATM 959 H1 HOH A 320 10.331 21.657 15.993 1.00 0.00 H -HETATM 960 H2 HOH A 320 10.698 22.317 17.307 1.00 0.00 H -HETATM 961 O HOH A 321 29.520 3.840 2.758 1.00 0.00 O -HETATM 962 H1 HOH A 321 29.418 2.889 2.803 1.00 0.00 H -HETATM 963 H2 HOH A 321 29.750 4.099 3.651 1.00 0.00 H -HETATM 964 O HOH A 322 28.698 1.053 3.136 1.00 0.00 O -HETATM 965 H1 HOH A 322 27.860 1.086 2.673 1.00 0.00 H -HETATM 966 H2 HOH A 322 28.465 0.866 4.045 1.00 0.00 H -HETATM 967 O HOH A 323 7.441 13.759 9.520 1.00 0.00 O -HETATM 968 H1 HOH A 323 7.737 13.939 10.412 1.00 0.00 H -HETATM 969 H2 HOH A 323 6.936 12.950 9.593 1.00 0.00 H -HETATM 970 O HOH A 324 8.737 13.896 12.144 1.00 0.00 O -HETATM 971 H1 HOH A 324 9.637 14.044 11.853 1.00 0.00 H -HETATM 972 H2 HOH A 324 8.760 13.043 12.579 1.00 0.00 H -HETATM 973 O HOH A 325 14.640 10.130 26.495 1.00 0.00 O -HETATM 974 H1 HOH A 325 14.068 9.870 25.773 1.00 0.00 H -HETATM 975 H2 HOH A 325 15.461 9.666 26.331 1.00 0.00 H -HETATM 976 O HOH A 326 12.830 8.844 24.584 1.00 0.00 O -HETATM 977 H1 HOH A 326 12.109 8.643 25.181 1.00 0.00 H -HETATM 978 H2 HOH A 326 13.154 7.990 24.300 1.00 0.00 H -HETATM 979 O HOH A 327 22.551 27.781 5.415 1.00 0.00 O -HETATM 980 H1 HOH A 327 23.428 28.132 5.569 1.00 0.00 H -HETATM 981 H2 HOH A 327 22.680 26.836 5.338 1.00 0.00 H -HETATM 982 O HOH A 328 25.306 28.774 5.318 1.00 0.00 O -HETATM 983 H1 HOH A 328 25.194 29.445 4.644 1.00 0.00 H -HETATM 984 H2 HOH A 328 25.905 28.137 4.929 1.00 0.00 H -HETATM 985 O HOH A 329 21.298 15.829 24.054 1.00 0.00 O -HETATM 986 H1 HOH A 329 21.276 16.644 24.556 1.00 0.00 H -HETATM 987 H2 HOH A 329 21.374 16.110 23.142 1.00 0.00 H -HETATM 988 O HOH A 330 20.682 18.353 25.410 1.00 0.00 O -HETATM 989 H1 HOH A 330 19.919 18.065 25.911 1.00 0.00 H -HETATM 990 H2 HOH A 330 20.340 19.012 24.806 1.00 0.00 H -HETATM 991 O HOH A 331 15.842 6.689 1.983 1.00 0.00 O -HETATM 992 H1 HOH A 331 15.516 5.831 1.714 1.00 0.00 H -HETATM 993 H2 HOH A 331 15.074 7.259 1.954 1.00 0.00 H -HETATM 994 O HOH A 332 14.860 4.285 0.627 1.00 0.00 O -HETATM 995 H1 HOH A 332 15.575 4.171 0.000 1.00 0.00 H -HETATM 996 H2 HOH A 332 14.091 4.465 0.086 1.00 0.00 H -HETATM 997 O HOH A 333 12.810 6.342 13.087 1.00 0.00 O -HETATM 998 H1 HOH A 333 12.287 5.972 13.798 1.00 0.00 H -HETATM 999 H2 HOH A 333 13.089 7.197 13.415 1.00 0.00 H -HETATM 1000 O HOH A 334 10.799 5.567 15.072 1.00 0.00 O -HETATM 1001 H1 HOH A 334 10.089 5.330 14.474 1.00 0.00 H -HETATM 1002 H2 HOH A 334 10.465 6.319 15.559 1.00 0.00 H -HETATM 1003 O HOH A 335 5.185 25.164 23.949 1.00 0.00 O -HETATM 1004 H1 HOH A 335 5.468 24.489 23.332 1.00 0.00 H -HETATM 1005 H2 HOH A 335 5.480 24.849 24.803 1.00 0.00 H -HETATM 1006 O HOH A 336 5.598 22.803 22.263 1.00 0.00 O -HETATM 1007 H1 HOH A 336 4.734 22.768 21.850 1.00 0.00 H -HETATM 1008 H2 HOH A 336 5.653 21.999 22.778 1.00 0.00 H -HETATM 1009 O HOH A 337 18.885 10.080 23.913 1.00 0.00 O -HETATM 1010 H1 HOH A 337 18.360 10.763 24.331 1.00 0.00 H -HETATM 1011 H2 HOH A 337 19.106 10.439 23.053 1.00 0.00 H -HETATM 1012 O HOH A 338 16.856 11.975 24.851 1.00 0.00 O -HETATM 1013 H1 HOH A 338 16.181 11.347 25.109 1.00 0.00 H -HETATM 1014 H2 HOH A 338 16.465 12.469 24.131 1.00 0.00 H -HETATM 1015 O HOH A 339 14.688 19.475 9.151 1.00 0.00 O -HETATM 1016 H1 HOH A 339 14.783 20.186 8.518 1.00 0.00 H -HETATM 1017 H2 HOH A 339 15.403 19.609 9.773 1.00 0.00 H -HETATM 1018 O HOH A 340 15.407 21.331 7.001 1.00 0.00 O -HETATM 1019 H1 HOH A 340 15.331 20.729 6.259 1.00 0.00 H -HETATM 1020 H2 HOH A 340 16.333 21.570 7.025 1.00 0.00 H -HETATM 1021 O HOH A 341 3.381 4.488 28.302 1.00 0.00 O -HETATM 1022 H1 HOH A 341 2.972 3.644 28.493 1.00 0.00 H -HETATM 1023 H2 HOH A 341 3.127 4.681 27.400 1.00 0.00 H -HETATM 1024 O HOH A 342 2.562 1.689 28.574 1.00 0.00 O -HETATM 1025 H1 HOH A 342 3.377 1.333 28.929 1.00 0.00 H -HETATM 1026 H2 HOH A 342 2.460 1.259 27.725 1.00 0.00 H -HETATM 1027 O HOH A 343 23.080 18.838 19.478 1.00 0.00 O -HETATM 1028 H1 HOH A 343 22.350 19.221 18.992 1.00 0.00 H -HETATM 1029 H2 HOH A 343 22.979 17.894 19.358 1.00 0.00 H -HETATM 1030 O HOH A 344 20.532 19.849 18.444 1.00 0.00 O -HETATM 1031 H1 HOH A 344 20.291 20.413 19.180 1.00 0.00 H -HETATM 1032 H2 HOH A 344 19.856 19.172 18.427 1.00 0.00 H -HETATM 1033 O HOH A 345 28.915 25.182 7.639 1.00 0.00 O -HETATM 1034 H1 HOH A 345 28.569 25.093 6.751 1.00 0.00 H -HETATM 1035 H2 HOH A 345 28.210 24.866 8.204 1.00 0.00 H -HETATM 1036 O HOH A 346 27.559 25.387 5.049 1.00 0.00 O -HETATM 1037 H1 HOH A 346 27.821 26.279 4.819 1.00 0.00 H -HETATM 1038 H2 HOH A 346 26.608 25.431 5.143 1.00 0.00 H -HETATM 1039 O HOH A 347 24.538 8.263 8.606 1.00 0.00 O -HETATM 1040 H1 HOH A 347 24.434 7.929 9.497 1.00 0.00 H -HETATM 1041 H2 HOH A 347 24.929 7.537 8.121 1.00 0.00 H -HETATM 1042 O HOH A 348 24.785 7.339 11.375 1.00 0.00 O -HETATM 1043 H1 HOH A 348 25.185 8.122 11.754 1.00 0.00 H -HETATM 1044 H2 HOH A 348 25.450 6.657 11.470 1.00 0.00 H -HETATM 1045 O HOH A 349 25.236 5.444 6.122 1.00 0.00 O -HETATM 1046 H1 HOH A 349 25.800 5.281 6.877 1.00 0.00 H -HETATM 1047 H2 HOH A 349 25.553 6.271 5.758 1.00 0.00 H -HETATM 1048 O HOH A 350 26.638 5.341 8.692 1.00 0.00 O -HETATM 1049 H1 HOH A 350 25.888 5.156 9.259 1.00 0.00 H -HETATM 1050 H2 HOH A 350 26.944 6.203 8.970 1.00 0.00 H -HETATM 1051 O HOH A 351 11.311 23.975 19.629 1.00 0.00 O -HETATM 1052 H1 HOH A 351 11.354 24.700 19.006 1.00 0.00 H -HETATM 1053 H2 HOH A 351 12.196 23.914 19.989 1.00 0.00 H -HETATM 1054 O HOH A 352 11.704 25.812 17.381 1.00 0.00 O -HETATM 1055 H1 HOH A 352 11.273 25.298 16.697 1.00 0.00 H -HETATM 1056 H2 HOH A 352 12.620 25.857 17.109 1.00 0.00 H -HETATM 1057 O HOH A 353 3.620 9.954 0.199 1.00 0.00 O -HETATM 1058 H1 HOH A 353 3.474 9.876 1.141 1.00 0.00 H -HETATM 1059 H2 HOH A 353 4.499 10.324 0.122 1.00 0.00 H -HETATM 1060 O HOH A 354 3.079 10.283 3.060 1.00 0.00 O -HETATM 1061 H1 HOH A 354 2.220 10.701 2.997 1.00 0.00 H -HETATM 1062 H2 HOH A 354 3.642 10.946 3.459 1.00 0.00 H -HETATM 1063 O HOH A 355 23.539 29.100 23.971 1.00 0.00 O -HETATM 1064 H1 HOH A 355 23.347 28.844 23.069 1.00 0.00 H -HETATM 1065 H2 HOH A 355 23.312 28.331 24.493 1.00 0.00 H -HETATM 1066 O HOH A 356 22.403 28.409 21.360 1.00 0.00 O -HETATM 1067 H1 HOH A 356 21.915 29.217 21.197 1.00 0.00 H -HETATM 1068 H2 HOH A 356 21.731 27.730 21.428 1.00 0.00 H -HETATM 1069 O HOH A 357 9.148 11.844 10.493 1.00 0.00 O -HETATM 1070 H1 HOH A 357 10.027 12.205 10.601 1.00 0.00 H -HETATM 1071 H2 HOH A 357 9.212 11.279 9.723 1.00 0.00 H -HETATM 1072 O HOH A 358 11.689 13.298 10.387 1.00 0.00 O -HETATM 1073 H1 HOH A 358 11.350 14.189 10.480 1.00 0.00 H -HETATM 1074 H2 HOH A 358 12.079 13.277 9.513 1.00 0.00 H -HETATM 1075 O HOH A 359 28.181 10.214 29.095 1.00 0.00 O -HETATM 1076 H1 HOH A 359 28.733 9.467 28.866 1.00 0.00 H -HETATM 1077 H2 HOH A 359 28.584 10.578 29.883 1.00 0.00 H -HETATM 1078 O HOH A 360 29.595 7.662 28.823 1.00 0.00 O -HETATM 1079 H1 HOH A 360 28.837 7.087 28.721 1.00 0.00 H -HETATM 1080 H2 HOH A 360 30.000 7.385 29.645 1.00 0.00 H -HETATM 1081 O HOH A 361 17.369 24.375 17.354 1.00 0.00 O -HETATM 1082 H1 HOH A 361 16.826 24.464 18.137 1.00 0.00 H -HETATM 1083 H2 HOH A 361 16.744 24.233 16.642 1.00 0.00 H -HETATM 1084 O HOH A 362 15.666 24.073 19.718 1.00 0.00 O -HETATM 1085 H1 HOH A 362 16.206 23.450 20.207 1.00 0.00 H -HETATM 1086 H2 HOH A 362 14.861 23.593 19.523 1.00 0.00 H -HETATM 1087 O HOH A 363 8.609 6.458 16.809 1.00 0.00 O -HETATM 1088 H1 HOH A 363 8.078 6.164 16.069 1.00 0.00 H -HETATM 1089 H2 HOH A 363 8.832 7.365 16.598 1.00 0.00 H -HETATM 1090 O HOH A 364 7.489 5.512 14.272 1.00 0.00 O -HETATM 1091 H1 HOH A 364 8.000 4.707 14.180 1.00 0.00 H -HETATM 1092 H2 HOH A 364 7.760 6.057 13.533 1.00 0.00 H -HETATM 1093 O HOH A 365 6.212 4.163 25.978 1.00 0.00 O -HETATM 1094 H1 HOH A 365 6.224 5.060 25.644 1.00 0.00 H -HETATM 1095 H2 HOH A 365 5.732 4.222 26.804 1.00 0.00 H -HETATM 1096 O HOH A 366 6.664 6.988 25.346 1.00 0.00 O -HETATM 1097 H1 HOH A 366 7.605 6.949 25.174 1.00 0.00 H -HETATM 1098 H2 HOH A 366 6.582 7.548 26.118 1.00 0.00 H -HETATM 1099 O HOH A 367 27.604 9.241 26.979 1.00 0.00 O -HETATM 1100 H1 HOH A 367 27.008 9.002 26.270 1.00 0.00 H -HETATM 1101 H2 HOH A 367 28.476 9.033 26.641 1.00 0.00 H -HETATM 1102 O HOH A 368 25.870 7.971 24.989 1.00 0.00 O -HETATM 1103 H1 HOH A 368 25.300 7.483 25.584 1.00 0.00 H -HETATM 1104 H2 HOH A 368 26.329 7.297 24.488 1.00 0.00 H -HETATM 1105 O HOH A 369 6.786 23.102 25.247 1.00 0.00 O -HETATM 1106 H1 HOH A 369 7.237 22.635 25.950 1.00 0.00 H -HETATM 1107 H2 HOH A 369 6.941 22.570 24.467 1.00 0.00 H -HETATM 1108 O HOH A 370 8.643 21.902 27.170 1.00 0.00 O -HETATM 1109 H1 HOH A 370 9.073 22.702 27.474 1.00 0.00 H -HETATM 1110 H2 HOH A 370 9.336 21.404 26.738 1.00 0.00 H -HETATM 1111 O HOH A 371 18.620 13.516 5.182 1.00 0.00 O -HETATM 1112 H1 HOH A 371 19.147 13.557 5.980 1.00 0.00 H -HETATM 1113 H2 HOH A 371 17.737 13.757 5.465 1.00 0.00 H -HETATM 1114 O HOH A 372 19.987 13.133 7.745 1.00 0.00 O -HETATM 1115 H1 HOH A 372 20.375 12.274 7.575 1.00 0.00 H -HETATM 1116 H2 HOH A 372 19.372 12.984 8.462 1.00 0.00 H -HETATM 1117 O HOH A 373 12.881 15.810 0.920 1.00 0.00 O -HETATM 1118 H1 HOH A 373 12.029 15.384 1.013 1.00 0.00 H -HETATM 1119 H2 HOH A 373 12.678 16.681 0.579 1.00 0.00 H -HETATM 1120 O HOH A 374 10.308 14.439 0.634 1.00 0.00 O -HETATM 1121 H1 HOH A 374 10.613 13.650 0.185 1.00 0.00 H -HETATM 1122 H2 HOH A 374 9.737 14.872 -0.001 1.00 0.00 H -HETATM 1123 O HOH A 375 19.815 23.067 3.528 1.00 0.00 O -HETATM 1124 H1 HOH A 375 20.269 23.880 3.747 1.00 0.00 H -HETATM 1125 H2 HOH A 375 18.919 23.338 3.327 1.00 0.00 H -HETATM 1126 O HOH A 376 20.932 25.507 4.702 1.00 0.00 O -HETATM 1127 H1 HOH A 376 21.304 25.127 5.499 1.00 0.00 H -HETATM 1128 H2 HOH A 376 20.250 26.102 5.014 1.00 0.00 H -HETATM 1129 O HOH A 377 23.035 14.980 28.088 1.00 0.00 O -HETATM 1130 H1 HOH A 377 22.612 15.681 27.592 1.00 0.00 H -HETATM 1131 H2 HOH A 377 23.032 15.291 28.994 1.00 0.00 H -HETATM 1132 O HOH A 378 22.248 17.393 26.623 1.00 0.00 O -HETATM 1133 H1 HOH A 378 22.945 17.396 25.966 1.00 0.00 H -HETATM 1134 H2 HOH A 378 22.394 18.188 27.135 1.00 0.00 H -HETATM 1135 O HOH A 379 18.530 19.887 10.685 1.00 0.00 O -HETATM 1136 H1 HOH A 379 18.725 20.641 10.130 1.00 0.00 H -HETATM 1137 H2 HOH A 379 18.814 19.130 10.172 1.00 0.00 H -HETATM 1138 O HOH A 380 18.651 22.039 8.701 1.00 0.00 O -HETATM 1139 H1 HOH A 380 17.778 22.408 8.835 1.00 0.00 H -HETATM 1140 H2 HOH A 380 18.637 21.704 7.805 1.00 0.00 H -HETATM 1141 O HOH A 381 21.543 9.778 17.040 1.00 0.00 O -HETATM 1142 H1 HOH A 381 20.658 9.980 17.343 1.00 0.00 H -HETATM 1143 H2 HOH A 381 21.555 10.060 16.126 1.00 0.00 H -HETATM 1144 O HOH A 382 18.687 9.921 17.676 1.00 0.00 O -HETATM 1145 H1 HOH A 382 18.580 9.049 18.058 1.00 0.00 H -HETATM 1146 H2 HOH A 382 18.142 9.909 16.890 1.00 0.00 H -HETATM 1147 O HOH A 383 29.230 10.517 17.184 1.00 0.00 O -HETATM 1148 H1 HOH A 383 28.788 10.672 16.350 1.00 0.00 H -HETATM 1149 H2 HOH A 383 30.000 9.997 16.955 1.00 0.00 H -HETATM 1150 O HOH A 384 27.695 10.448 14.689 1.00 0.00 O -HETATM 1151 H1 HOH A 384 26.848 10.182 15.048 1.00 0.00 H -HETATM 1152 H2 HOH A 384 27.958 9.722 14.125 1.00 0.00 H -HETATM 1153 O HOH A 385 8.208 24.331 24.103 1.00 0.00 O -HETATM 1154 H1 HOH A 385 8.673 24.620 23.318 1.00 0.00 H -HETATM 1155 H2 HOH A 385 7.614 25.053 24.310 1.00 0.00 H -HETATM 1156 O HOH A 386 9.936 25.539 22.069 1.00 0.00 O -HETATM 1157 H1 HOH A 386 10.785 25.305 22.443 1.00 0.00 H -HETATM 1158 H2 HOH A 386 9.913 26.496 22.099 1.00 0.00 H -HETATM 1159 O HOH A 387 22.043 2.012 9.095 1.00 0.00 O -HETATM 1160 H1 HOH A 387 21.241 2.465 8.837 1.00 0.00 H -HETATM 1161 H2 HOH A 387 22.318 2.449 9.901 1.00 0.00 H -HETATM 1162 O HOH A 388 19.946 3.811 8.121 1.00 0.00 O -HETATM 1163 H1 HOH A 388 20.252 3.916 7.219 1.00 0.00 H -HETATM 1164 H2 HOH A 388 20.016 4.686 8.503 1.00 0.00 H -HETATM 1165 O HOH A 389 24.384 28.693 17.111 1.00 0.00 O -HETATM 1166 H1 HOH A 389 24.763 28.226 16.366 1.00 0.00 H -HETATM 1167 H2 HOH A 389 24.358 29.609 16.832 1.00 0.00 H -HETATM 1168 O HOH A 390 26.043 27.479 15.023 1.00 0.00 O -HETATM 1169 H1 HOH A 390 26.666 27.016 15.585 1.00 0.00 H -HETATM 1170 H2 HOH A 390 26.572 28.128 14.560 1.00 0.00 H -HETATM 1171 O HOH A 391 30.000 22.320 8.991 1.00 0.00 O -HETATM 1172 H1 HOH A 391 29.617 21.564 9.436 1.00 0.00 H -HETATM 1173 H2 HOH A 391 29.508 22.392 8.173 1.00 0.00 H -HETATM 1174 O HOH A 392 29.139 19.699 9.978 1.00 0.00 O -HETATM 1175 H1 HOH A 392 30.001 19.321 10.155 1.00 0.00 H -HETATM 1176 H2 HOH A 392 28.774 19.154 9.282 1.00 0.00 H -HETATM 1177 O HOH A 393 19.149 12.219 0.837 1.00 0.00 O -HETATM 1178 H1 HOH A 393 19.852 12.561 1.388 1.00 0.00 H -HETATM 1179 H2 HOH A 393 19.571 12.025 -0.000 1.00 0.00 H -HETATM 1180 O HOH A 394 21.228 13.751 2.220 1.00 0.00 O -HETATM 1181 H1 HOH A 394 20.698 14.501 2.491 1.00 0.00 H -HETATM 1182 H2 HOH A 394 21.871 14.116 1.612 1.00 0.00 H -HETATM 1183 O HOH A 395 18.687 17.442 15.339 1.00 0.00 O -HETATM 1184 H1 HOH A 395 18.793 16.564 15.705 1.00 0.00 H -HETATM 1185 H2 HOH A 395 18.345 17.295 14.457 1.00 0.00 H -HETATM 1186 O HOH A 396 19.485 14.736 16.132 1.00 0.00 O -HETATM 1187 H1 HOH A 396 20.374 14.930 16.432 1.00 0.00 H -HETATM 1188 H2 HOH A 396 19.604 14.160 15.378 1.00 0.00 H -HETATM 1189 O HOH A 397 23.860 10.144 16.007 1.00 0.00 O -HETATM 1190 H1 HOH A 397 24.527 9.659 15.521 1.00 0.00 H -HETATM 1191 H2 HOH A 397 24.316 10.465 16.785 1.00 0.00 H -HETATM 1192 O HOH A 398 25.808 8.249 14.911 1.00 0.00 O -HETATM 1193 H1 HOH A 398 25.227 7.496 14.795 1.00 0.00 H -HETATM 1194 H2 HOH A 398 26.444 7.966 15.567 1.00 0.00 H -HETATM 1195 O HOH A 399 23.983 0.447 3.819 1.00 0.00 O -HETATM 1196 H1 HOH A 399 23.228 0.799 3.347 1.00 0.00 H -HETATM 1197 H2 HOH A 399 23.606 0.000 4.576 1.00 0.00 H -HETATM 1198 O HOH A 400 21.676 1.929 2.786 1.00 0.00 O -HETATM 1199 H1 HOH A 400 22.082 2.793 2.711 1.00 0.00 H -HETATM 1200 H2 HOH A 400 20.993 2.039 3.448 1.00 0.00 H -HETATM 1201 O HOH A 401 19.861 18.516 7.416 1.00 0.00 O -HETATM 1202 H1 HOH A 401 19.308 18.031 6.804 1.00 0.00 H -HETATM 1203 H2 HOH A 401 19.795 18.030 8.238 1.00 0.00 H -HETATM 1204 O HOH A 402 17.733 17.289 5.819 1.00 0.00 O -HETATM 1205 H1 HOH A 402 17.290 18.088 5.530 1.00 0.00 H -HETATM 1206 H2 HOH A 402 17.089 16.838 6.363 1.00 0.00 H -HETATM 1207 O HOH A 403 8.030 15.904 20.493 1.00 0.00 O -HETATM 1208 H1 HOH A 403 8.533 16.704 20.640 1.00 0.00 H -HETATM 1209 H2 HOH A 403 8.009 15.805 19.541 1.00 0.00 H -HETATM 1210 O HOH A 404 9.083 18.622 20.791 1.00 0.00 O -HETATM 1211 H1 HOH A 404 8.425 18.966 21.396 1.00 0.00 H -HETATM 1212 H2 HOH A 404 8.973 19.140 19.994 1.00 0.00 H -HETATM 1213 O HOH A 405 21.215 0.051 22.905 1.00 0.00 O -HETATM 1214 H1 HOH A 405 20.523 0.711 22.903 1.00 0.00 H -HETATM 1215 H2 HOH A 405 21.681 0.195 23.729 1.00 0.00 H -HETATM 1216 O HOH A 406 19.518 2.435 22.752 1.00 0.00 O -HETATM 1217 H1 HOH A 406 19.733 2.707 21.859 1.00 0.00 H -HETATM 1218 H2 HOH A 406 19.843 3.144 23.306 1.00 0.00 H -HETATM 1219 O HOH A 407 27.419 17.370 13.967 1.00 0.00 O -HETATM 1220 H1 HOH A 407 27.929 18.041 13.514 1.00 0.00 H -HETATM 1221 H2 HOH A 407 27.381 17.668 14.876 1.00 0.00 H -HETATM 1222 O HOH A 408 29.434 19.167 12.828 1.00 0.00 O -HETATM 1223 H1 HOH A 408 29.993 18.510 12.410 1.00 0.00 H -HETATM 1224 H2 HOH A 408 29.986 19.562 13.502 1.00 0.00 H -HETATM 1225 O HOH A 409 8.650 21.015 2.328 1.00 0.00 O -HETATM 1226 H1 HOH A 409 7.843 21.110 2.834 1.00 0.00 H -HETATM 1227 H2 HOH A 409 8.471 21.466 1.503 1.00 0.00 H -HETATM 1228 O HOH A 410 5.982 20.888 3.532 1.00 0.00 O -HETATM 1229 H1 HOH A 410 5.965 19.956 3.749 1.00 0.00 H -HETATM 1230 H2 HOH A 410 5.288 20.999 2.883 1.00 0.00 H -HETATM 1231 O HOH A 411 11.115 26.463 0.219 1.00 0.00 O -HETATM 1232 H1 HOH A 411 10.951 26.973 1.012 1.00 0.00 H -HETATM 1233 H2 HOH A 411 12.029 26.645 -0.000 1.00 0.00 H -HETATM 1234 O HOH A 412 10.581 28.473 2.283 1.00 0.00 O -HETATM 1235 H1 HOH A 412 9.770 28.836 1.925 1.00 0.00 H -HETATM 1236 H2 HOH A 412 11.205 29.197 2.250 1.00 0.00 H -HETATM 1237 O HOH A 413 14.973 11.309 13.025 1.00 0.00 O -HETATM 1238 H1 HOH A 413 14.201 10.969 13.476 1.00 0.00 H -HETATM 1239 H2 HOH A 413 14.690 11.425 12.118 1.00 0.00 H -HETATM 1240 O HOH A 414 12.752 9.769 14.155 1.00 0.00 O -HETATM 1241 H1 HOH A 414 13.257 9.065 14.564 1.00 0.00 H -HETATM 1242 H2 HOH A 414 12.235 9.333 13.478 1.00 0.00 H -HETATM 1243 O HOH A 415 9.586 26.471 11.857 1.00 0.00 O -HETATM 1244 H1 HOH A 415 10.241 26.877 11.289 1.00 0.00 H -HETATM 1245 H2 HOH A 415 9.880 25.565 11.955 1.00 0.00 H -HETATM 1246 O HOH A 416 11.316 27.434 9.698 1.00 0.00 O -HETATM 1247 H1 HOH A 416 10.643 27.812 9.131 1.00 0.00 H -HETATM 1248 H2 HOH A 416 11.688 26.715 9.186 1.00 0.00 H -HETATM 1249 O HOH A 417 11.992 26.878 21.490 1.00 0.00 O -HETATM 1250 H1 HOH A 417 12.420 27.439 22.136 1.00 0.00 H -HETATM 1251 H2 HOH A 417 12.490 27.016 20.684 1.00 0.00 H -HETATM 1252 O HOH A 418 13.018 29.020 23.205 1.00 0.00 O -HETATM 1253 H1 HOH A 418 12.182 29.389 23.491 1.00 0.00 H -HETATM 1254 H2 HOH A 418 13.431 29.720 22.699 1.00 0.00 H -HETATM 1255 O HOH A 419 1.486 23.664 17.864 1.00 0.00 O -HETATM 1256 H1 HOH A 419 2.200 23.095 17.577 1.00 0.00 H -HETATM 1257 H2 HOH A 419 0.760 23.453 17.277 1.00 0.00 H -HETATM 1258 O HOH A 420 3.728 22.303 16.557 1.00 0.00 O -HETATM 1259 H1 HOH A 420 4.350 23.031 16.543 1.00 0.00 H -HETATM 1260 H2 HOH A 420 3.549 22.119 15.635 1.00 0.00 H -HETATM 1261 O HOH A 421 21.387 26.454 28.314 1.00 0.00 O -HETATM 1262 H1 HOH A 421 21.237 27.186 27.715 1.00 0.00 H -HETATM 1263 H2 HOH A 421 20.868 26.667 29.089 1.00 0.00 H -HETATM 1264 O HOH A 422 21.300 28.974 26.821 1.00 0.00 O -HETATM 1265 H1 HOH A 422 22.237 29.075 26.653 1.00 0.00 H -HETATM 1266 H2 HOH A 422 21.073 29.716 27.381 1.00 0.00 H -HETATM 1267 O HOH A 423 25.216 20.461 14.739 1.00 0.00 O -HETATM 1268 H1 HOH A 423 25.366 19.618 14.311 1.00 0.00 H -HETATM 1269 H2 HOH A 423 25.585 20.354 15.616 1.00 0.00 H -HETATM 1270 O HOH A 424 25.227 17.705 13.744 1.00 0.00 O -HETATM 1271 H1 HOH A 424 24.320 17.657 13.441 1.00 0.00 H -HETATM 1272 H2 HOH A 424 25.278 17.066 14.455 1.00 0.00 H -HETATM 1273 O HOH A 425 23.235 16.352 16.256 1.00 0.00 O -HETATM 1274 H1 HOH A 425 24.023 16.693 16.679 1.00 0.00 H -HETATM 1275 H2 HOH A 425 23.313 16.630 15.343 1.00 0.00 H -HETATM 1276 O HOH A 426 25.366 17.901 17.539 1.00 0.00 O -HETATM 1277 H1 HOH A 426 24.860 18.272 18.262 1.00 0.00 H -HETATM 1278 H2 HOH A 426 25.628 18.657 17.014 1.00 0.00 H -HETATM 1279 O HOH A 427 17.378 21.017 3.188 1.00 0.00 O -HETATM 1280 H1 HOH A 427 17.419 20.087 3.412 1.00 0.00 H -HETATM 1281 H2 HOH A 427 16.724 21.067 2.491 1.00 0.00 H -HETATM 1282 O HOH A 428 17.816 18.127 3.392 1.00 0.00 O -HETATM 1283 H1 HOH A 428 18.773 18.123 3.350 1.00 0.00 H -HETATM 1284 H2 HOH A 428 17.537 17.664 2.602 1.00 0.00 H -HETATM 1285 O HOH A 429 9.287 6.872 1.925 1.00 0.00 O -HETATM 1286 H1 HOH A 429 9.125 5.938 2.060 1.00 0.00 H -HETATM 1287 H2 HOH A 429 8.425 7.239 1.726 1.00 0.00 H -HETATM 1288 O HOH A 430 8.767 3.993 1.762 1.00 0.00 O -HETATM 1289 H1 HOH A 430 9.489 3.749 1.183 1.00 0.00 H -HETATM 1290 H2 HOH A 430 7.976 3.798 1.260 1.00 0.00 H -HETATM 1291 O HOH A 431 13.062 10.548 28.476 1.00 0.00 O -HETATM 1292 H1 HOH A 431 12.384 11.129 28.131 1.00 0.00 H -HETATM 1293 H2 HOH A 431 13.879 11.032 28.352 1.00 0.00 H -HETATM 1294 O HOH A 432 11.173 12.146 26.907 1.00 0.00 O -HETATM 1295 H1 HOH A 432 10.782 11.441 26.390 1.00 0.00 H -HETATM 1296 H2 HOH A 432 11.616 12.700 26.264 1.00 0.00 H -HETATM 1297 O HOH A 433 15.080 4.665 18.970 1.00 0.00 O -HETATM 1298 H1 HOH A 433 15.956 4.388 19.240 1.00 0.00 H -HETATM 1299 H2 HOH A 433 14.602 4.781 19.791 1.00 0.00 H -HETATM 1300 O HOH A 434 17.511 3.305 19.880 1.00 0.00 O -HETATM 1301 H1 HOH A 434 17.511 2.578 19.257 1.00 0.00 H -HETATM 1302 H2 HOH A 434 17.393 2.891 20.735 1.00 0.00 H -HETATM 1303 O HOH A 435 19.521 1.370 0.000 1.00 0.00 O -HETATM 1304 H1 HOH A 435 18.938 1.319 0.757 1.00 0.00 H -HETATM 1305 H2 HOH A 435 19.989 0.534 0.000 1.00 0.00 H -HETATM 1306 O HOH A 436 18.213 1.326 2.621 1.00 0.00 O -HETATM 1307 H1 HOH A 436 18.482 2.191 2.932 1.00 0.00 H -HETATM 1308 H2 HOH A 436 18.632 0.711 3.223 1.00 0.00 H -HETATM 1309 O HOH A 437 27.282 18.327 6.462 1.00 0.00 O -HETATM 1310 H1 HOH A 437 26.977 18.024 5.607 1.00 0.00 H -HETATM 1311 H2 HOH A 437 26.834 17.762 7.091 1.00 0.00 H -HETATM 1312 O HOH A 438 25.870 17.693 3.974 1.00 0.00 O -HETATM 1313 H1 HOH A 438 25.673 18.586 3.688 1.00 0.00 H -HETATM 1314 H2 HOH A 438 25.014 17.297 4.137 1.00 0.00 H -HETATM 1315 O HOH A 439 14.622 7.382 26.170 1.00 0.00 O -HETATM 1316 H1 HOH A 439 15.049 7.723 25.385 1.00 0.00 H -HETATM 1317 H2 HOH A 439 14.035 6.698 25.848 1.00 0.00 H -HETATM 1318 O HOH A 440 15.430 8.702 23.683 1.00 0.00 O -HETATM 1319 H1 HOH A 440 15.252 9.609 23.936 1.00 0.00 H -HETATM 1320 H2 HOH A 440 14.821 8.526 22.967 1.00 0.00 H -HETATM 1321 O HOH A 441 17.186 23.630 10.566 1.00 0.00 O -HETATM 1322 H1 HOH A 441 17.232 23.595 11.522 1.00 0.00 H -HETATM 1323 H2 HOH A 441 16.774 24.473 10.376 1.00 0.00 H -HETATM 1324 O HOH A 442 16.766 23.396 13.457 1.00 0.00 O -HETATM 1325 H1 HOH A 442 16.396 22.513 13.478 1.00 0.00 H -HETATM 1326 H2 HOH A 442 16.059 23.962 13.765 1.00 0.00 H -HETATM 1327 O HOH A 443 22.930 5.681 10.001 1.00 0.00 O -HETATM 1328 H1 HOH A 443 22.941 6.379 10.655 1.00 0.00 H -HETATM 1329 H2 HOH A 443 23.687 5.861 9.444 1.00 0.00 H -HETATM 1330 O HOH A 444 22.747 8.142 11.579 1.00 0.00 O -HETATM 1331 H1 HOH A 444 21.817 8.331 11.446 1.00 0.00 H -HETATM 1332 H2 HOH A 444 23.204 8.873 11.162 1.00 0.00 H -HETATM 1333 O HOH A 445 24.055 12.474 23.016 1.00 0.00 O -HETATM 1334 H1 HOH A 445 23.851 12.223 22.115 1.00 0.00 H -HETATM 1335 H2 HOH A 445 24.660 11.799 23.322 1.00 0.00 H -HETATM 1336 O HOH A 446 23.084 11.316 20.505 1.00 0.00 O -HETATM 1337 H1 HOH A 446 22.144 11.423 20.651 1.00 0.00 H -HETATM 1338 H2 HOH A 446 23.218 10.369 20.470 1.00 0.00 H -HETATM 1339 O HOH A 447 13.309 12.542 17.843 1.00 0.00 O -HETATM 1340 H1 HOH A 447 13.643 12.848 17.000 1.00 0.00 H -HETATM 1341 H2 HOH A 447 13.125 13.342 18.334 1.00 0.00 H -HETATM 1342 O HOH A 448 14.820 13.576 15.556 1.00 0.00 O -HETATM 1343 H1 HOH A 448 15.568 12.979 15.595 1.00 0.00 H -HETATM 1344 H2 HOH A 448 15.192 14.440 15.731 1.00 0.00 H -HETATM 1345 O HOH A 449 1.228 25.875 6.041 1.00 0.00 O -HETATM 1346 H1 HOH A 449 1.942 26.420 6.369 1.00 0.00 H -HETATM 1347 H2 HOH A 449 1.278 25.961 5.089 1.00 0.00 H -HETATM 1348 O HOH A 450 3.060 27.981 6.931 1.00 0.00 O -HETATM 1349 H1 HOH A 450 2.487 28.413 7.565 1.00 0.00 H -HETATM 1350 H2 HOH A 450 3.209 28.640 6.252 1.00 0.00 H -HETATM 1351 O HOH A 451 19.462 2.229 5.102 1.00 0.00 O -HETATM 1352 H1 HOH A 451 19.500 3.089 4.684 1.00 0.00 H -HETATM 1353 H2 HOH A 451 20.162 2.247 5.754 1.00 0.00 H -HETATM 1354 O HOH A 452 20.032 4.642 3.541 1.00 0.00 O -HETATM 1355 H1 HOH A 452 20.006 4.256 2.665 1.00 0.00 H -HETATM 1356 H2 HOH A 452 20.936 4.936 3.650 1.00 0.00 H -HETATM 1357 O HOH A 453 17.450 30.012 21.391 1.00 0.00 O -HETATM 1358 H1 HOH A 453 17.416 29.327 22.058 1.00 0.00 H -HETATM 1359 H2 HOH A 453 17.876 29.597 20.641 1.00 0.00 H -HETATM 1360 O HOH A 454 17.905 28.040 23.509 1.00 0.00 O -HETATM 1361 H1 HOH A 454 18.257 28.626 24.179 1.00 0.00 H -HETATM 1362 H2 HOH A 454 18.629 27.449 23.301 1.00 0.00 H -HETATM 1363 O HOH A 455 16.465 3.213 28.978 1.00 0.00 O -HETATM 1364 H1 HOH A 455 16.961 3.989 28.716 1.00 0.00 H -HETATM 1365 H2 HOH A 455 15.583 3.540 29.155 1.00 0.00 H -HETATM 1366 O HOH A 456 17.992 5.703 28.740 1.00 0.00 O -HETATM 1367 H1 HOH A 456 18.709 5.490 29.338 1.00 0.00 H -HETATM 1368 H2 HOH A 456 17.544 6.441 29.152 1.00 0.00 H -HETATM 1369 O HOH A 457 15.454 12.260 10.136 1.00 0.00 O -HETATM 1370 H1 HOH A 457 15.594 13.009 9.558 1.00 0.00 H -HETATM 1371 H2 HOH A 457 16.306 11.826 10.180 1.00 0.00 H -HETATM 1372 O HOH A 458 15.858 14.162 7.945 1.00 0.00 O -HETATM 1373 H1 HOH A 458 15.079 13.954 7.428 1.00 0.00 H -HETATM 1374 H2 HOH A 458 16.593 13.915 7.384 1.00 0.00 H -HETATM 1375 O HOH A 459 14.693 26.022 26.904 1.00 0.00 O -HETATM 1376 H1 HOH A 459 14.668 25.953 27.858 1.00 0.00 H -HETATM 1377 H2 HOH A 459 14.346 26.894 26.717 1.00 0.00 H -HETATM 1378 O HOH A 460 14.053 25.719 29.747 1.00 0.00 O -HETATM 1379 H1 HOH A 460 13.631 24.860 29.710 1.00 0.00 H -HETATM 1380 H2 HOH A 460 13.360 26.317 30.026 1.00 0.00 H -HETATM 1381 O HOH A 461 3.211 4.128 19.200 1.00 0.00 O -HETATM 1382 H1 HOH A 461 3.964 4.041 19.785 1.00 0.00 H -HETATM 1383 H2 HOH A 461 3.090 3.252 18.833 1.00 0.00 H -HETATM 1384 O HOH A 462 5.823 3.874 20.505 1.00 0.00 O -HETATM 1385 H1 HOH A 462 6.244 4.651 20.137 1.00 0.00 H -HETATM 1386 H2 HOH A 462 6.328 3.138 20.159 1.00 0.00 H -HETATM 1387 O HOH A 463 2.450 14.891 3.529 1.00 0.00 O -HETATM 1388 H1 HOH A 463 3.245 14.577 3.959 1.00 0.00 H -HETATM 1389 H2 HOH A 463 1.929 15.273 4.235 1.00 0.00 H -HETATM 1390 O HOH A 464 4.549 13.494 5.021 1.00 0.00 O -HETATM 1391 H1 HOH A 464 4.486 12.639 4.593 1.00 0.00 H -HETATM 1392 H2 HOH A 464 4.297 13.329 5.929 1.00 0.00 H -HETATM 1393 O HOH A 465 12.956 8.403 21.245 1.00 0.00 O -HETATM 1394 H1 HOH A 465 13.615 9.083 21.103 1.00 0.00 H -HETATM 1395 H2 HOH A 465 12.767 8.442 22.182 1.00 0.00 H -HETATM 1396 O HOH A 466 15.336 10.100 21.040 1.00 0.00 O -HETATM 1397 H1 HOH A 466 15.896 9.503 20.542 1.00 0.00 H -HETATM 1398 H2 HOH A 466 15.779 10.202 21.882 1.00 0.00 H -HETATM 1399 O HOH A 467 3.014 12.343 7.419 1.00 0.00 O -HETATM 1400 H1 HOH A 467 2.608 11.544 7.755 1.00 0.00 H -HETATM 1401 H2 HOH A 467 2.442 13.048 7.720 1.00 0.00 H -HETATM 1402 O HOH A 468 1.401 9.969 8.009 1.00 0.00 O -HETATM 1403 H1 HOH A 468 1.463 9.537 7.157 1.00 0.00 H -HETATM 1404 H2 HOH A 468 0.473 10.180 8.107 1.00 0.00 H -HETATM 1405 O HOH A 469 10.696 15.852 2.710 1.00 0.00 O -HETATM 1406 H1 HOH A 469 11.566 15.874 3.107 1.00 0.00 H -HETATM 1407 H2 HOH A 469 10.097 16.047 3.431 1.00 0.00 H -HETATM 1408 O HOH A 470 13.219 15.398 4.129 1.00 0.00 O -HETATM 1409 H1 HOH A 470 13.461 14.562 3.729 1.00 0.00 H -HETATM 1410 H2 HOH A 470 13.080 15.193 5.053 1.00 0.00 H -HETATM 1411 O HOH A 471 0.467 0.845 13.050 1.00 0.00 O -HETATM 1412 H1 HOH A 471 1.259 1.112 12.584 1.00 0.00 H -HETATM 1413 H2 HOH A 471 0.000 0.287 12.428 1.00 0.00 H -HETATM 1414 O HOH A 472 2.540 2.030 11.353 1.00 0.00 O -HETATM 1415 H1 HOH A 472 2.409 2.950 11.585 1.00 0.00 H -HETATM 1416 H2 HOH A 472 2.317 1.981 10.423 1.00 0.00 H -HETATM 1417 O HOH A 473 14.677 15.144 12.967 1.00 0.00 O -HETATM 1418 H1 HOH A 473 14.005 15.650 13.424 1.00 0.00 H -HETATM 1419 H2 HOH A 473 14.791 14.358 13.501 1.00 0.00 H -HETATM 1420 O HOH A 474 13.050 16.833 14.724 1.00 0.00 O -HETATM 1421 H1 HOH A 474 13.571 17.635 14.676 1.00 0.00 H -HETATM 1422 H2 HOH A 474 13.108 16.561 15.639 1.00 0.00 H -HETATM 1423 O HOH A 475 20.686 4.068 17.750 1.00 0.00 O -HETATM 1424 H1 HOH A 475 21.168 4.804 18.125 1.00 0.00 H -HETATM 1425 H2 HOH A 475 20.699 4.228 16.806 1.00 0.00 H -HETATM 1426 O HOH A 476 21.676 6.615 18.805 1.00 0.00 O -HETATM 1427 H1 HOH A 476 20.991 6.778 19.456 1.00 0.00 H -HETATM 1428 H2 HOH A 476 21.583 7.327 18.173 1.00 0.00 H -HETATM 1429 O HOH A 477 10.815 16.801 5.372 1.00 0.00 O -HETATM 1430 H1 HOH A 477 11.477 17.348 4.951 1.00 0.00 H -HETATM 1431 H2 HOH A 477 11.305 16.269 6.000 1.00 0.00 H -HETATM 1432 O HOH A 478 12.969 17.997 3.787 1.00 0.00 O -HETATM 1433 H1 HOH A 478 12.640 17.784 2.913 1.00 0.00 H -HETATM 1434 H2 HOH A 478 13.787 17.507 3.863 1.00 0.00 H -HETATM 1435 O HOH A 479 17.839 4.145 7.582 1.00 0.00 O -HETATM 1436 H1 HOH A 479 17.829 3.860 6.669 1.00 0.00 H -HETATM 1437 H2 HOH A 479 17.531 3.385 8.075 1.00 0.00 H -HETATM 1438 O HOH A 480 17.239 3.357 4.825 1.00 0.00 O -HETATM 1439 H1 HOH A 480 16.777 4.148 4.546 1.00 0.00 H -HETATM 1440 H2 HOH A 480 16.580 2.665 4.784 1.00 0.00 H -HETATM 1441 O HOH A 481 13.053 24.008 23.329 1.00 0.00 O -HETATM 1442 H1 HOH A 481 12.745 23.135 23.569 1.00 0.00 H -HETATM 1443 H2 HOH A 481 12.915 24.060 22.383 1.00 0.00 H -HETATM 1444 O HOH A 482 12.611 21.159 23.845 1.00 0.00 O -HETATM 1445 H1 HOH A 482 13.404 20.978 24.350 1.00 0.00 H -HETATM 1446 H2 HOH A 482 12.703 20.630 23.052 1.00 0.00 H -HETATM 1447 O HOH A 483 8.434 16.946 13.288 1.00 0.00 O -HETATM 1448 H1 HOH A 483 7.506 17.178 13.266 1.00 0.00 H -HETATM 1449 H2 HOH A 483 8.761 17.179 12.419 1.00 0.00 H -HETATM 1450 O HOH A 484 5.536 17.168 12.918 1.00 0.00 O -HETATM 1451 H1 HOH A 484 5.279 16.319 13.280 1.00 0.00 H -HETATM 1452 H2 HOH A 484 5.287 17.122 11.995 1.00 0.00 H -HETATM 1453 O HOH A 485 3.469 23.456 9.544 1.00 0.00 O -HETATM 1454 H1 HOH A 485 3.137 22.601 9.816 1.00 0.00 H -HETATM 1455 H2 HOH A 485 2.700 24.025 9.548 1.00 0.00 H -HETATM 1456 O HOH A 486 2.255 20.805 9.835 1.00 0.00 O -HETATM 1457 H1 HOH A 486 2.699 20.363 9.111 1.00 0.00 H -HETATM 1458 H2 HOH A 486 1.330 20.804 9.589 1.00 0.00 H -HETATM 1459 O HOH A 487 19.980 7.154 11.720 1.00 0.00 O -HETATM 1460 H1 HOH A 487 19.662 8.054 11.789 1.00 0.00 H -HETATM 1461 H2 HOH A 487 19.187 6.618 11.731 1.00 0.00 H -HETATM 1462 O HOH A 488 18.938 9.782 12.489 1.00 0.00 O -HETATM 1463 H1 HOH A 488 19.561 9.986 13.187 1.00 0.00 H -HETATM 1464 H2 HOH A 488 18.092 9.719 12.932 1.00 0.00 H -HETATM 1465 O HOH A 489 4.081 26.967 24.557 1.00 0.00 O -HETATM 1466 H1 HOH A 489 3.335 26.656 25.069 1.00 0.00 H -HETATM 1467 H2 HOH A 489 3.722 27.136 23.686 1.00 0.00 H -HETATM 1468 O HOH A 490 1.883 25.519 25.844 1.00 0.00 O -HETATM 1469 H1 HOH A 490 2.380 24.772 26.179 1.00 0.00 H -HETATM 1470 H2 HOH A 490 1.279 25.141 25.206 1.00 0.00 H -HETATM 1471 O HOH A 491 8.891 17.484 22.971 1.00 0.00 O -HETATM 1472 H1 HOH A 491 9.659 17.253 22.449 1.00 0.00 H -HETATM 1473 H2 HOH A 491 9.133 17.256 23.869 1.00 0.00 H -HETATM 1474 O HOH A 492 11.050 16.238 21.432 1.00 0.00 O -HETATM 1475 H1 HOH A 492 10.517 15.766 20.792 1.00 0.00 H -HETATM 1476 H2 HOH A 492 11.497 15.552 21.928 1.00 0.00 H -HETATM 1477 O HOH A 493 19.647 15.273 7.281 1.00 0.00 O -HETATM 1478 H1 HOH A 493 20.473 15.684 7.029 1.00 0.00 H -HETATM 1479 H2 HOH A 493 18.972 15.862 6.943 1.00 0.00 H -HETATM 1480 O HOH A 494 22.071 16.886 6.951 1.00 0.00 O -HETATM 1481 H1 HOH A 494 22.429 16.790 7.834 1.00 0.00 H -HETATM 1482 H2 HOH A 494 21.874 17.819 6.869 1.00 0.00 H -HETATM 1483 O HOH A 495 18.540 29.783 9.963 1.00 0.00 O -HETATM 1484 H1 HOH A 495 19.259 29.492 10.525 1.00 0.00 H -HETATM 1485 H2 HOH A 495 18.960 30.008 9.133 1.00 0.00 H -HETATM 1486 O HOH A 496 20.851 29.456 11.735 1.00 0.00 O -HETATM 1487 H1 HOH A 496 20.560 30.014 12.457 1.00 0.00 H -HETATM 1488 H2 HOH A 496 21.632 29.891 11.393 1.00 0.00 H -HETATM 1489 O HOH A 497 9.249 16.837 17.698 1.00 0.00 O -HETATM 1490 H1 HOH A 497 9.104 15.960 17.342 1.00 0.00 H -HETATM 1491 H2 HOH A 497 9.740 16.690 18.507 1.00 0.00 H -HETATM 1492 O HOH A 498 8.394 14.119 17.013 1.00 0.00 O -HETATM 1493 H1 HOH A 498 7.463 14.292 16.872 1.00 0.00 H -HETATM 1494 H2 HOH A 498 8.420 13.532 17.768 1.00 0.00 H -HETATM 1495 O HOH A 499 3.574 8.463 5.531 1.00 0.00 O -HETATM 1496 H1 HOH A 499 3.916 8.004 4.764 1.00 0.00 H -HETATM 1497 H2 HOH A 499 4.144 8.190 6.249 1.00 0.00 H -HETATM 1498 O HOH A 500 4.349 6.601 3.406 1.00 0.00 O -HETATM 1499 H1 HOH A 500 3.476 6.298 3.154 1.00 0.00 H -HETATM 1500 H2 HOH A 500 4.784 5.822 3.752 1.00 0.00 H -HETATM 1501 O HOH A 501 6.158 25.544 0.631 1.00 0.00 O -HETATM 1502 H1 HOH A 501 5.236 25.774 0.744 1.00 0.00 H -HETATM 1503 H2 HOH A 501 6.335 24.912 1.328 1.00 0.00 H -HETATM 1504 O HOH A 502 3.529 26.575 1.409 1.00 0.00 O -HETATM 1505 H1 HOH A 502 3.719 27.512 1.355 1.00 0.00 H -HETATM 1506 H2 HOH A 502 3.341 26.420 2.335 1.00 0.00 H -HETATM 1507 O HOH A 503 0.107 15.082 12.422 1.00 0.00 O -HETATM 1508 H1 HOH A 503 0.727 14.468 12.027 1.00 0.00 H -HETATM 1509 H2 HOH A 503 0.643 15.629 12.995 1.00 0.00 H -HETATM 1510 O HOH A 504 1.975 12.935 11.724 1.00 0.00 O -HETATM 1511 H1 HOH A 504 1.414 12.185 11.925 1.00 0.00 H -HETATM 1512 H2 HOH A 504 2.698 12.870 12.347 1.00 0.00 H -HETATM 1513 O HOH A 505 15.717 28.853 24.021 1.00 0.00 O -HETATM 1514 H1 HOH A 505 15.636 28.103 23.432 1.00 0.00 H -HETATM 1515 H2 HOH A 505 15.358 28.545 24.853 1.00 0.00 H -HETATM 1516 O HOH A 506 14.913 26.711 22.191 1.00 0.00 O -HETATM 1517 H1 HOH A 506 14.518 27.248 21.504 1.00 0.00 H -HETATM 1518 H2 HOH A 506 14.187 26.193 22.540 1.00 0.00 H -HETATM 1519 O HOH A 507 17.988 10.137 20.291 1.00 0.00 O -HETATM 1520 H1 HOH A 507 18.933 10.185 20.150 1.00 0.00 H -HETATM 1521 H2 HOH A 507 17.883 10.196 21.241 1.00 0.00 H -HETATM 1522 O HOH A 508 20.878 9.734 20.029 1.00 0.00 O -HETATM 1523 H1 HOH A 508 20.866 8.974 19.447 1.00 0.00 H -HETATM 1524 H2 HOH A 508 21.272 9.412 20.840 1.00 0.00 H -HETATM 1525 O HOH A 509 10.866 10.632 23.910 1.00 0.00 O -HETATM 1526 H1 HOH A 509 10.965 11.394 23.339 1.00 0.00 H -HETATM 1527 H2 HOH A 509 11.617 10.677 24.503 1.00 0.00 H -HETATM 1528 O HOH A 510 11.568 12.645 21.900 1.00 0.00 O -HETATM 1529 H1 HOH A 510 11.427 12.118 21.112 1.00 0.00 H -HETATM 1530 H2 HOH A 510 12.505 12.839 21.896 1.00 0.00 H -HETATM 1531 O HOH A 511 22.133 21.517 19.656 1.00 0.00 O -HETATM 1532 H1 HOH A 511 22.978 21.535 19.207 1.00 0.00 H -HETATM 1533 H2 HOH A 511 22.354 21.413 20.581 1.00 0.00 H -HETATM 1534 O HOH A 512 24.711 21.000 18.362 1.00 0.00 O -HETATM 1535 H1 HOH A 512 24.421 20.357 17.714 1.00 0.00 H -HETATM 1536 H2 HOH A 512 25.309 20.517 18.932 1.00 0.00 H -HETATM 1537 O HOH A 513 22.483 20.152 3.632 1.00 0.00 O -HETATM 1538 H1 HOH A 513 22.688 20.943 4.131 1.00 0.00 H -HETATM 1539 H2 HOH A 513 22.505 20.432 2.717 1.00 0.00 H -HETATM 1540 O HOH A 514 22.566 22.716 5.047 1.00 0.00 O -HETATM 1541 H1 HOH A 514 21.825 22.579 5.639 1.00 0.00 H -HETATM 1542 H2 HOH A 514 22.298 23.445 4.488 1.00 0.00 H -HETATM 1543 O HOH A 515 12.885 2.922 19.210 1.00 0.00 O -HETATM 1544 H1 HOH A 515 13.557 3.131 18.561 1.00 0.00 H -HETATM 1545 H2 HOH A 515 13.340 2.967 20.051 1.00 0.00 H -HETATM 1546 O HOH A 516 15.117 3.020 17.315 1.00 0.00 O -HETATM 1547 H1 HOH A 516 14.881 2.266 16.774 1.00 0.00 H -HETATM 1548 H2 HOH A 516 15.947 2.774 17.723 1.00 0.00 H -HETATM 1549 O HOH A 517 21.608 24.665 12.250 1.00 0.00 O -HETATM 1550 H1 HOH A 517 22.017 24.810 11.397 1.00 0.00 H -HETATM 1551 H2 HOH A 517 22.233 25.025 12.880 1.00 0.00 H -HETATM 1552 O HOH A 518 23.184 24.656 9.780 1.00 0.00 O -HETATM 1553 H1 HOH A 518 23.023 23.751 9.509 1.00 0.00 H -HETATM 1554 H2 HOH A 518 24.125 24.693 9.953 1.00 0.00 H -HETATM 1555 O HOH A 519 26.128 19.010 23.405 1.00 0.00 O -HETATM 1556 H1 HOH A 519 25.683 18.703 24.194 1.00 0.00 H -HETATM 1557 H2 HOH A 519 27.053 19.052 23.651 1.00 0.00 H -HETATM 1558 O HOH A 520 24.833 18.614 26.003 1.00 0.00 O -HETATM 1559 H1 HOH A 520 24.173 19.305 25.942 1.00 0.00 H -HETATM 1560 H2 HOH A 520 25.395 18.880 26.730 1.00 0.00 H -HETATM 1561 O HOH A 521 17.489 25.987 28.499 1.00 0.00 O -HETATM 1562 H1 HOH A 521 18.185 26.448 28.031 1.00 0.00 H -HETATM 1563 H2 HOH A 521 16.872 25.726 27.816 1.00 0.00 H -HETATM 1564 O HOH A 522 19.243 27.833 27.049 1.00 0.00 O -HETATM 1565 H1 HOH A 522 19.218 28.568 27.663 1.00 0.00 H -HETATM 1566 H2 HOH A 522 18.833 28.169 26.253 1.00 0.00 H -HETATM 1567 O HOH A 523 20.277 4.192 20.041 1.00 0.00 O -HETATM 1568 H1 HOH A 523 20.534 4.541 20.894 1.00 0.00 H -HETATM 1569 H2 HOH A 523 20.707 3.339 19.991 1.00 0.00 H -HETATM 1570 O HOH A 524 21.566 5.376 22.391 1.00 0.00 O -HETATM 1571 H1 HOH A 524 21.810 6.221 22.011 1.00 0.00 H -HETATM 1572 H2 HOH A 524 22.399 4.953 22.596 1.00 0.00 H -HETATM 1573 O HOH A 525 19.781 11.056 28.807 1.00 0.00 O -HETATM 1574 H1 HOH A 525 19.185 10.519 28.285 1.00 0.00 H -HETATM 1575 H2 HOH A 525 20.347 10.425 29.251 1.00 0.00 H -HETATM 1576 O HOH A 526 17.691 9.320 27.711 1.00 0.00 O -HETATM 1577 H1 HOH A 526 16.925 9.799 28.026 1.00 0.00 H -HETATM 1578 H2 HOH A 526 17.651 8.476 28.161 1.00 0.00 H -HETATM 1579 O HOH A 527 5.016 16.205 4.351 1.00 0.00 O -HETATM 1580 H1 HOH A 527 5.673 16.847 4.085 1.00 0.00 H -HETATM 1581 H2 HOH A 527 5.516 15.405 4.516 1.00 0.00 H -HETATM 1582 O HOH A 528 7.011 17.896 3.030 1.00 0.00 O -HETATM 1583 H1 HOH A 528 6.494 18.161 2.269 1.00 0.00 H -HETATM 1584 H2 HOH A 528 7.733 17.384 2.666 1.00 0.00 H -HETATM 1585 O HOH A 529 19.131 7.519 26.179 1.00 0.00 O -HETATM 1586 H1 HOH A 529 18.278 7.170 26.437 1.00 0.00 H -HETATM 1587 H2 HOH A 529 18.978 7.921 25.324 1.00 0.00 H -HETATM 1588 O HOH A 530 16.642 6.030 26.596 1.00 0.00 O -HETATM 1589 H1 HOH A 530 17.019 5.180 26.827 1.00 0.00 H -HETATM 1590 H2 HOH A 530 16.174 5.873 25.777 1.00 0.00 H -HETATM 1591 O HOH A 531 12.834 5.183 9.988 1.00 0.00 O -HETATM 1592 H1 HOH A 531 12.161 4.647 10.406 1.00 0.00 H -HETATM 1593 H2 HOH A 531 12.545 5.268 9.080 1.00 0.00 H -HETATM 1594 O HOH A 532 11.034 3.104 11.000 1.00 0.00 O -HETATM 1595 H1 HOH A 532 11.688 2.526 11.393 1.00 0.00 H -HETATM 1596 H2 HOH A 532 10.648 2.587 10.293 1.00 0.00 H -HETATM 1597 O HOH A 533 5.480 5.343 15.151 1.00 0.00 O -HETATM 1598 H1 HOH A 533 5.816 4.527 15.522 1.00 0.00 H -HETATM 1599 H2 HOH A 533 4.719 5.557 15.692 1.00 0.00 H -HETATM 1600 O HOH A 534 6.070 2.603 16.004 1.00 0.00 O -HETATM 1601 H1 HOH A 534 6.125 2.192 15.141 1.00 0.00 H -HETATM 1602 H2 HOH A 534 5.318 2.186 16.423 1.00 0.00 H -HETATM 1603 O HOH A 535 16.222 9.792 9.346 1.00 0.00 O -HETATM 1604 H1 HOH A 535 15.420 9.402 8.998 1.00 0.00 H -HETATM 1605 H2 HOH A 535 16.249 9.510 10.260 1.00 0.00 H -HETATM 1606 O HOH A 536 13.505 9.026 8.562 1.00 0.00 O -HETATM 1607 H1 HOH A 536 13.227 9.856 8.174 1.00 0.00 H -HETATM 1608 H2 HOH A 536 12.931 8.908 9.319 1.00 0.00 H -HETATM 1609 O HOH A 537 4.339 3.990 13.311 1.00 0.00 O -HETATM 1610 H1 HOH A 537 3.550 3.456 13.397 1.00 0.00 H -HETATM 1611 H2 HOH A 537 5.027 3.471 13.728 1.00 0.00 H -HETATM 1612 O HOH A 538 1.923 2.542 14.119 1.00 0.00 O -HETATM 1613 H1 HOH A 538 1.415 3.283 14.450 1.00 0.00 H -HETATM 1614 H2 HOH A 538 2.074 1.990 14.886 1.00 0.00 H -HETATM 1615 O HOH A 539 29.552 2.439 28.550 1.00 0.00 O -HETATM 1616 H1 HOH A 539 28.733 2.734 28.948 1.00 0.00 H -HETATM 1617 H2 HOH A 539 29.459 2.654 27.622 1.00 0.00 H -HETATM 1618 O HOH A 540 26.826 2.860 29.539 1.00 0.00 O -HETATM 1619 H1 HOH A 540 26.710 2.028 30.000 1.00 0.00 H -HETATM 1620 H2 HOH A 540 26.180 2.837 28.834 1.00 0.00 H -HETATM 1621 O HOH A 541 14.541 27.600 15.786 1.00 0.00 O -HETATM 1622 H1 HOH A 541 13.777 28.025 15.396 1.00 0.00 H -HETATM 1623 H2 HOH A 541 14.388 27.649 16.729 1.00 0.00 H -HETATM 1624 O HOH A 542 12.466 29.390 14.748 1.00 0.00 O -HETATM 1625 H1 HOH A 542 13.014 29.930 14.178 1.00 0.00 H -HETATM 1626 H2 HOH A 542 12.144 29.994 15.417 1.00 0.00 H -HETATM 1627 O HOH A 543 18.032 28.666 13.242 1.00 0.00 O -HETATM 1628 H1 HOH A 543 17.570 27.828 13.230 1.00 0.00 H -HETATM 1629 H2 HOH A 543 18.551 28.667 12.437 1.00 0.00 H -HETATM 1630 O HOH A 544 17.125 25.883 13.370 1.00 0.00 O -HETATM 1631 H1 HOH A 544 17.377 25.691 14.274 1.00 0.00 H -HETATM 1632 H2 HOH A 544 17.669 25.303 12.838 1.00 0.00 H -HETATM 1633 O HOH A 545 19.405 8.955 0.350 1.00 0.00 O -HETATM 1634 H1 HOH A 545 18.538 8.697 0.661 1.00 0.00 H -HETATM 1635 H2 HOH A 545 19.456 9.894 0.532 1.00 0.00 H -HETATM 1636 O HOH A 546 16.565 8.407 0.814 1.00 0.00 O -HETATM 1637 H1 HOH A 546 16.373 7.939 -0.000 1.00 0.00 H -HETATM 1638 H2 HOH A 546 16.032 9.201 0.768 1.00 0.00 H -HETATM 1639 O HOH A 547 4.960 19.274 21.490 1.00 0.00 O -HETATM 1640 H1 HOH A 547 4.607 18.754 20.769 1.00 0.00 H -HETATM 1641 H2 HOH A 547 4.188 19.634 21.928 1.00 0.00 H -HETATM 1642 O HOH A 548 3.802 18.192 19.026 1.00 0.00 O -HETATM 1643 H1 HOH A 548 4.403 18.591 18.396 1.00 0.00 H -HETATM 1644 H2 HOH A 548 2.951 18.581 18.827 1.00 0.00 H -HETATM 1645 O HOH A 549 10.578 29.122 26.330 1.00 0.00 O -HETATM 1646 H1 HOH A 549 10.013 28.370 26.505 1.00 0.00 H -HETATM 1647 H2 HOH A 549 10.913 28.970 25.446 1.00 0.00 H -HETATM 1648 O HOH A 550 9.343 26.540 26.955 1.00 0.00 O -HETATM 1649 H1 HOH A 550 9.748 26.389 27.810 1.00 0.00 H -HETATM 1650 H2 HOH A 550 9.678 25.837 26.401 1.00 0.00 H -HETATM 1651 O HOH A 551 25.595 25.278 29.408 1.00 0.00 O -HETATM 1652 H1 HOH A 551 25.300 25.545 28.538 1.00 0.00 H -HETATM 1653 H2 HOH A 551 24.970 25.684 30.009 1.00 0.00 H -HETATM 1654 O HOH A 552 24.940 26.600 26.877 1.00 0.00 O -HETATM 1655 H1 HOH A 552 25.823 26.868 26.621 1.00 0.00 H -HETATM 1656 H2 HOH A 552 24.467 27.421 27.011 1.00 0.00 H -HETATM 1657 O HOH A 553 20.360 15.761 19.335 1.00 0.00 O -HETATM 1658 H1 HOH A 553 19.586 15.198 19.339 1.00 0.00 H -HETATM 1659 H2 HOH A 553 20.273 16.295 20.124 1.00 0.00 H -HETATM 1660 O HOH A 554 17.716 14.510 19.163 1.00 0.00 O -HETATM 1661 H1 HOH A 554 17.520 14.713 18.248 1.00 0.00 H -HETATM 1662 H2 HOH A 554 17.058 14.989 19.665 1.00 0.00 H -HETATM 1663 O HOH A 555 8.151 15.666 7.622 1.00 0.00 O -HETATM 1664 H1 HOH A 555 7.438 16.305 7.634 1.00 0.00 H -HETATM 1665 H2 HOH A 555 7.711 14.816 7.610 1.00 0.00 H -HETATM 1666 O HOH A 556 5.929 17.482 8.215 1.00 0.00 O -HETATM 1667 H1 HOH A 556 6.328 17.967 8.938 1.00 0.00 H -HETATM 1668 H2 HOH A 556 5.186 17.025 8.611 1.00 0.00 H -HETATM 1669 O HOH A 557 29.564 0.850 6.168 1.00 0.00 O -HETATM 1670 H1 HOH A 557 28.836 1.194 6.685 1.00 0.00 H -HETATM 1671 H2 HOH A 557 29.945 1.621 5.746 1.00 0.00 H -HETATM 1672 O HOH A 558 27.062 1.930 7.245 1.00 0.00 O -HETATM 1673 H1 HOH A 558 26.461 1.266 6.905 1.00 0.00 H -HETATM 1674 H2 HOH A 558 26.802 2.740 6.807 1.00 0.00 H -HETATM 1675 O HOH A 559 28.605 29.840 25.135 1.00 0.00 O -HETATM 1676 H1 HOH A 559 28.169 29.015 25.347 1.00 0.00 H -HETATM 1677 H2 HOH A 559 28.543 29.907 24.182 1.00 0.00 H -HETATM 1678 O HOH A 560 27.759 27.074 25.599 1.00 0.00 O -HETATM 1679 H1 HOH A 560 28.485 26.793 26.158 1.00 0.00 H -HETATM 1680 H2 HOH A 560 27.838 26.536 24.812 1.00 0.00 H -HETATM 1681 O HOH A 561 10.082 10.888 4.195 1.00 0.00 O -HETATM 1682 H1 HOH A 561 10.712 11.219 4.835 1.00 0.00 H -HETATM 1683 H2 HOH A 561 10.514 11.008 3.349 1.00 0.00 H -HETATM 1684 O HOH A 562 11.826 12.421 5.982 1.00 0.00 O -HETATM 1685 H1 HOH A 562 11.156 12.947 6.420 1.00 0.00 H -HETATM 1686 H2 HOH A 562 12.360 13.056 5.506 1.00 0.00 H -HETATM 1687 O HOH A 563 6.391 26.908 11.949 1.00 0.00 O -HETATM 1688 H1 HOH A 563 5.701 26.778 11.298 1.00 0.00 H -HETATM 1689 H2 HOH A 563 5.925 26.981 12.781 1.00 0.00 H -HETATM 1690 O HOH A 564 4.196 27.078 10.016 1.00 0.00 O -HETATM 1691 H1 HOH A 564 4.559 27.755 9.444 1.00 0.00 H -HETATM 1692 H2 HOH A 564 3.413 27.477 10.394 1.00 0.00 H -HETATM 1693 O HOH A 565 13.734 25.683 19.308 1.00 0.00 O -HETATM 1694 H1 HOH A 565 14.393 26.223 18.874 1.00 0.00 H -HETATM 1695 H2 HOH A 565 14.081 25.540 20.189 1.00 0.00 H -HETATM 1696 O HOH A 566 16.045 26.843 17.931 1.00 0.00 O -HETATM 1697 H1 HOH A 566 16.052 26.276 17.159 1.00 0.00 H -HETATM 1698 H2 HOH A 566 16.867 26.649 18.381 1.00 0.00 H -HETATM 1699 O HOH A 567 14.852 26.745 13.127 1.00 0.00 O -HETATM 1700 H1 HOH A 567 14.969 26.051 13.776 1.00 0.00 H -HETATM 1701 H2 HOH A 567 14.981 27.557 13.617 1.00 0.00 H -HETATM 1702 O HOH A 568 14.679 24.766 15.280 1.00 0.00 O -HETATM 1703 H1 HOH A 568 13.874 24.325 15.007 1.00 0.00 H -HETATM 1704 H2 HOH A 568 14.461 25.167 16.121 1.00 0.00 H -HETATM 1705 O HOH A 569 8.715 1.641 7.234 1.00 0.00 O -HETATM 1706 H1 HOH A 569 9.389 0.968 7.331 1.00 0.00 H -HETATM 1707 H2 HOH A 569 8.580 1.711 6.289 1.00 0.00 H -HETATM 1708 O HOH A 570 11.139 -0.000 7.373 1.00 0.00 O -HETATM 1709 H1 HOH A 570 11.649 0.546 7.971 1.00 0.00 H -HETATM 1710 H2 HOH A 570 11.631 0.015 6.552 1.00 0.00 H -HETATM 1711 O HOH A 571 19.616 10.994 15.669 1.00 0.00 O -HETATM 1712 H1 HOH A 571 19.203 11.696 16.171 1.00 0.00 H -HETATM 1713 H2 HOH A 571 19.866 11.404 14.841 1.00 0.00 H -HETATM 1714 O HOH A 572 17.900 13.047 16.863 1.00 0.00 O -HETATM 1715 H1 HOH A 572 17.148 12.497 17.083 1.00 0.00 H -HETATM 1716 H2 HOH A 572 17.567 13.662 16.209 1.00 0.00 H -HETATM 1717 O HOH A 573 16.420 8.996 15.699 1.00 0.00 O -HETATM 1718 H1 HOH A 573 15.715 9.057 16.343 1.00 0.00 H -HETATM 1719 H2 HOH A 573 16.202 9.655 15.040 1.00 0.00 H -HETATM 1720 O HOH A 574 13.956 8.887 17.280 1.00 0.00 O -HETATM 1721 H1 HOH A 574 13.826 7.938 17.280 1.00 0.00 H -HETATM 1722 H2 HOH A 574 13.205 9.234 16.800 1.00 0.00 H -HETATM 1723 O HOH A 575 26.717 12.637 20.231 1.00 0.00 O -HETATM 1724 H1 HOH A 575 27.466 12.929 19.713 1.00 0.00 H -HETATM 1725 H2 HOH A 575 26.880 12.985 21.108 1.00 0.00 H -HETATM 1726 O HOH A 576 29.291 13.104 18.911 1.00 0.00 O -HETATM 1727 H1 HOH A 576 29.431 12.227 18.553 1.00 0.00 H -HETATM 1728 H2 HOH A 576 30.001 13.225 19.541 1.00 0.00 H -HETATM 1729 O HOH A 577 7.750 24.754 27.173 1.00 0.00 O -HETATM 1730 H1 HOH A 577 7.528 25.380 26.483 1.00 0.00 H -HETATM 1731 H2 HOH A 577 7.289 25.076 27.947 1.00 0.00 H -HETATM 1732 O HOH A 578 7.459 27.007 25.322 1.00 0.00 O -HETATM 1733 H1 HOH A 578 8.376 27.098 25.060 1.00 0.00 H -HETATM 1734 H2 HOH A 578 7.256 27.823 25.777 1.00 0.00 H -HETATM 1735 O HOH A 579 2.514 7.721 21.694 1.00 0.00 O -HETATM 1736 H1 HOH A 579 2.110 8.475 21.266 1.00 0.00 H -HETATM 1737 H2 HOH A 579 2.582 7.061 21.004 1.00 0.00 H -HETATM 1738 O HOH A 580 0.788 9.727 20.438 1.00 0.00 O -HETATM 1739 H1 HOH A 580 0.148 9.829 21.143 1.00 0.00 H -HETATM 1740 H2 HOH A 580 0.288 9.365 19.707 1.00 0.00 H -HETATM 1741 O HOH A 581 19.374 8.623 14.961 1.00 0.00 O -HETATM 1742 H1 HOH A 581 19.014 8.234 15.758 1.00 0.00 H -HETATM 1743 H2 HOH A 581 18.927 8.168 14.248 1.00 0.00 H -HETATM 1744 O HOH A 582 18.625 6.993 17.277 1.00 0.00 O -HETATM 1745 H1 HOH A 582 19.497 6.862 17.650 1.00 0.00 H -HETATM 1746 H2 HOH A 582 18.336 6.116 17.023 1.00 0.00 H -HETATM 1747 O HOH A 583 13.798 29.714 26.324 1.00 0.00 O -HETATM 1748 H1 HOH A 583 13.412 29.457 27.161 1.00 0.00 H -HETATM 1749 H2 HOH A 583 14.684 30.002 26.546 1.00 0.00 H -HETATM 1750 O HOH A 584 12.558 29.495 28.970 1.00 0.00 O -HETATM 1751 H1 HOH A 584 11.763 30.001 28.799 1.00 0.00 H -HETATM 1752 H2 HOH A 584 13.029 30.000 29.631 1.00 0.00 H -HETATM 1753 O HOH A 585 21.729 14.853 8.724 1.00 0.00 O -HETATM 1754 H1 HOH A 585 22.134 14.545 7.914 1.00 0.00 H -HETATM 1755 H2 HOH A 585 22.286 14.503 9.419 1.00 0.00 H -HETATM 1756 O HOH A 586 22.720 13.408 6.376 1.00 0.00 O -HETATM 1757 H1 HOH A 586 21.882 13.096 6.034 1.00 0.00 H -HETATM 1758 H2 HOH A 586 23.194 12.613 6.616 1.00 0.00 H -HETATM 1759 O HOH A 587 20.887 16.799 17.469 1.00 0.00 O -HETATM 1760 H1 HOH A 587 20.731 17.124 16.582 1.00 0.00 H -HETATM 1761 H2 HOH A 587 21.758 17.125 17.694 1.00 0.00 H -HETATM 1762 O HOH A 588 20.760 17.366 14.597 1.00 0.00 O -HETATM 1763 H1 HOH A 588 20.478 16.503 14.292 1.00 0.00 H -HETATM 1764 H2 HOH A 588 21.629 17.485 14.214 1.00 0.00 H -HETATM 1765 O HOH A 589 17.969 24.961 25.033 1.00 0.00 O -HETATM 1766 H1 HOH A 589 17.454 24.473 24.390 1.00 0.00 H -HETATM 1767 H2 HOH A 589 17.373 25.087 25.771 1.00 0.00 H -HETATM 1768 O HOH A 590 16.150 23.979 22.956 1.00 0.00 O -HETATM 1769 H1 HOH A 590 16.402 24.574 22.250 1.00 0.00 H -HETATM 1770 H2 HOH A 590 15.237 24.198 23.144 1.00 0.00 H -HETATM 1771 O HOH A 591 22.588 21.581 0.476 1.00 0.00 O -HETATM 1772 H1 HOH A 591 23.418 21.335 0.884 1.00 0.00 H -HETATM 1773 H2 HOH A 591 22.784 22.387 -0.001 1.00 0.00 H -HETATM 1774 O HOH A 592 25.002 21.244 2.103 1.00 0.00 O -HETATM 1775 H1 HOH A 592 24.585 21.110 2.954 1.00 0.00 H -HETATM 1776 H2 HOH A 592 25.489 22.062 2.198 1.00 0.00 H -HETATM 1777 O HOH A 593 28.331 29.731 4.100 1.00 0.00 O -HETATM 1778 H1 HOH A 593 28.477 28.926 3.603 1.00 0.00 H -HETATM 1779 H2 HOH A 593 27.585 29.533 4.666 1.00 0.00 H -HETATM 1780 O HOH A 594 28.324 27.442 2.272 1.00 0.00 O -HETATM 1781 H1 HOH A 594 28.367 27.919 1.443 1.00 0.00 H -HETATM 1782 H2 HOH A 594 27.476 26.999 2.252 1.00 0.00 H -HETATM 1783 O HOH A 595 4.388 8.859 12.020 1.00 0.00 O -HETATM 1784 H1 HOH A 595 4.285 7.920 12.175 1.00 0.00 H -HETATM 1785 H2 HOH A 595 4.435 8.941 11.067 1.00 0.00 H -HETATM 1786 O HOH A 596 4.639 5.963 12.385 1.00 0.00 O -HETATM 1787 H1 HOH A 596 5.333 5.960 13.044 1.00 0.00 H -HETATM 1788 H2 HOH A 596 5.028 5.536 11.622 1.00 0.00 H -HETATM 1789 O HOH A 597 1.522 20.651 15.121 1.00 0.00 O -HETATM 1790 H1 HOH A 597 1.699 21.199 14.357 1.00 0.00 H -HETATM 1791 H2 HOH A 597 0.679 20.962 15.451 1.00 0.00 H -HETATM 1792 O HOH A 598 2.209 22.728 13.173 1.00 0.00 O -HETATM 1793 H1 HOH A 598 3.101 22.914 13.468 1.00 0.00 H -HETATM 1794 H2 HOH A 598 1.728 23.540 13.328 1.00 0.00 H -HETATM 1795 O HOH A 599 -0.000 11.291 17.706 1.00 0.00 O -HETATM 1796 H1 HOH A 599 0.577 11.234 18.467 1.00 0.00 H -HETATM 1797 H2 HOH A 599 0.127 10.462 17.245 1.00 0.00 H -HETATM 1798 O HOH A 600 2.186 11.235 19.656 1.00 0.00 O -HETATM 1799 H1 HOH A 600 2.552 12.104 19.487 1.00 0.00 H -HETATM 1800 H2 HOH A 600 2.879 10.627 19.402 1.00 0.00 H -HETATM 1801 O HOH A 601 1.219 29.844 12.900 1.00 0.00 O -HETATM 1802 H1 HOH A 601 1.115 29.783 11.950 1.00 0.00 H -HETATM 1803 H2 HOH A 601 2.130 29.596 13.058 1.00 0.00 H -HETATM 1804 O HOH A 602 0.873 29.090 10.090 1.00 0.00 O -HETATM 1805 H1 HOH A 602 0.065 28.583 10.175 1.00 0.00 H -HETATM 1806 H2 HOH A 602 1.529 28.455 9.804 1.00 0.00 H -HETATM 1807 O HOH A 603 21.231 10.420 11.823 1.00 0.00 O -HETATM 1808 H1 HOH A 603 21.643 11.058 12.404 1.00 0.00 H -HETATM 1809 H2 HOH A 603 20.505 10.895 11.419 1.00 0.00 H -HETATM 1810 O HOH A 604 22.046 12.262 13.951 1.00 0.00 O -HETATM 1811 H1 HOH A 604 22.056 11.642 14.681 1.00 0.00 H -HETATM 1812 H2 HOH A 604 21.354 12.885 14.172 1.00 0.00 H -HETATM 1813 O HOH A 605 0.263 20.719 11.915 1.00 0.00 O -HETATM 1814 H1 HOH A 605 0.007 21.406 11.301 1.00 0.00 H -HETATM 1815 H2 HOH A 605 0.131 21.108 12.780 1.00 0.00 H -HETATM 1816 O HOH A 606 -0.006 23.050 10.161 1.00 0.00 O -HETATM 1817 H1 HOH A 606 0.792 22.935 9.644 1.00 0.00 H -HETATM 1818 H2 HOH A 606 0.126 23.872 10.631 1.00 0.00 H -HETATM 1819 O HOH A 607 18.401 26.846 0.488 1.00 0.00 O -HETATM 1820 H1 HOH A 607 17.624 27.200 0.920 1.00 0.00 H -HETATM 1821 H2 HOH A 607 19.109 26.982 1.118 1.00 0.00 H -HETATM 1822 O HOH A 608 16.241 28.441 1.661 1.00 0.00 O -HETATM 1823 H1 HOH A 608 15.994 28.943 0.884 1.00 0.00 H -HETATM 1824 H2 HOH A 608 16.570 29.095 2.278 1.00 0.00 H -HETATM 1825 O HOH A 609 2.918 21.393 6.664 1.00 0.00 O -HETATM 1826 H1 HOH A 609 2.925 21.032 5.778 1.00 0.00 H -HETATM 1827 H2 HOH A 609 2.146 21.007 7.077 1.00 0.00 H -HETATM 1828 O HOH A 610 2.522 20.673 3.852 1.00 0.00 O -HETATM 1829 H1 HOH A 610 2.653 21.538 3.462 1.00 0.00 H -HETATM 1830 H2 HOH A 610 1.610 20.457 3.661 1.00 0.00 H -HETATM 1831 O HOH A 611 4.239 6.274 24.152 1.00 0.00 O -HETATM 1832 H1 HOH A 611 4.456 7.069 24.639 1.00 0.00 H -HETATM 1833 H2 HOH A 611 5.086 5.890 23.928 1.00 0.00 H -HETATM 1834 O HOH A 612 5.018 8.927 25.121 1.00 0.00 O -HETATM 1835 H1 HOH A 612 4.416 9.455 24.596 1.00 0.00 H -HETATM 1836 H2 HOH A 612 5.890 9.180 24.816 1.00 0.00 H -HETATM 1837 O HOH A 613 4.051 18.452 2.267 1.00 0.00 O -HETATM 1838 H1 HOH A 613 4.562 19.075 1.750 1.00 0.00 H -HETATM 1839 H2 HOH A 613 4.421 18.509 3.147 1.00 0.00 H -HETATM 1840 O HOH A 614 6.018 19.945 0.691 1.00 0.00 O -HETATM 1841 H1 HOH A 614 6.163 19.303 -0.005 1.00 0.00 H -HETATM 1842 H2 HOH A 614 6.862 20.012 1.138 1.00 0.00 H -HETATM 1843 O HOH A 615 25.476 19.620 8.638 1.00 0.00 O -HETATM 1844 H1 HOH A 615 26.101 20.150 9.133 1.00 0.00 H -HETATM 1845 H2 HOH A 615 25.827 19.605 7.747 1.00 0.00 H -HETATM 1846 O HOH A 616 27.127 21.687 9.897 1.00 0.00 O -HETATM 1847 H1 HOH A 616 26.428 22.216 10.282 1.00 0.00 H -HETATM 1848 H2 HOH A 616 27.539 22.262 9.252 1.00 0.00 H -HETATM 1849 O HOH A 617 18.628 13.429 23.998 1.00 0.00 O -HETATM 1850 H1 HOH A 617 18.938 14.321 24.153 1.00 0.00 H -HETATM 1851 H2 HOH A 617 18.164 13.477 23.162 1.00 0.00 H -HETATM 1852 O HOH A 618 19.030 16.263 24.624 1.00 0.00 O -HETATM 1853 H1 HOH A 618 18.697 16.261 25.523 1.00 0.00 H -HETATM 1854 H2 HOH A 618 18.425 16.827 24.143 1.00 0.00 H -HETATM 1855 O HOH A 619 9.844 17.725 25.897 1.00 0.00 O -HETATM 1856 H1 HOH A 619 10.477 18.367 25.575 1.00 0.00 H -HETATM 1857 H2 HOH A 619 9.822 17.865 26.844 1.00 0.00 H -HETATM 1858 O HOH A 620 12.173 19.320 25.111 1.00 0.00 O -HETATM 1859 H1 HOH A 620 12.631 18.660 24.590 1.00 0.00 H -HETATM 1860 H2 HOH A 620 12.757 19.493 25.849 1.00 0.00 H -HETATM 1861 O HOH A 621 28.412 4.587 27.523 1.00 0.00 O -HETATM 1862 H1 HOH A 621 27.954 4.760 28.345 1.00 0.00 H -HETATM 1863 H2 HOH A 621 29.160 5.185 27.533 1.00 0.00 H -HETATM 1864 O HOH A 622 26.815 5.584 29.767 1.00 0.00 O -HETATM 1865 H1 HOH A 622 25.969 5.652 29.324 1.00 0.00 H -HETATM 1866 H2 HOH A 622 27.040 6.485 29.998 1.00 0.00 H -HETATM 1867 O HOH A 623 13.789 23.279 17.622 1.00 0.00 O -HETATM 1868 H1 HOH A 623 13.106 22.967 18.215 1.00 0.00 H -HETATM 1869 H2 HOH A 623 13.493 23.011 16.752 1.00 0.00 H -HETATM 1870 O HOH A 624 11.945 21.811 19.362 1.00 0.00 O -HETATM 1871 H1 HOH A 624 12.588 21.413 19.951 1.00 0.00 H -HETATM 1872 H2 HOH A 624 11.539 21.070 18.913 1.00 0.00 H -HETATM 1873 O HOH A 625 10.868 1.204 27.721 1.00 0.00 O -HETATM 1874 H1 HOH A 625 11.665 1.592 27.362 1.00 0.00 H -HETATM 1875 H2 HOH A 625 10.193 1.868 27.580 1.00 0.00 H -HETATM 1876 O HOH A 626 13.314 2.697 27.112 1.00 0.00 O -HETATM 1877 H1 HOH A 626 13.817 2.477 27.897 1.00 0.00 H -HETATM 1878 H2 HOH A 626 13.181 3.643 27.167 1.00 0.00 H -HETATM 1879 O HOH A 627 11.204 30.009 11.230 1.00 0.00 O -HETATM 1880 H1 HOH A 627 11.869 29.471 11.658 1.00 0.00 H -HETATM 1881 H2 HOH A 627 11.034 29.566 10.398 1.00 0.00 H -HETATM 1882 O HOH A 628 13.604 28.618 12.173 1.00 0.00 O -HETATM 1883 H1 HOH A 628 14.145 29.383 12.373 1.00 0.00 H -HETATM 1884 H2 HOH A 628 14.065 28.174 11.462 1.00 0.00 H -HETATM 1885 O HOH A 629 9.084 8.920 0.462 1.00 0.00 O -HETATM 1886 H1 HOH A 629 10.037 8.919 0.544 1.00 0.00 H -HETATM 1887 H2 HOH A 629 8.877 9.768 0.069 1.00 0.00 H -HETATM 1888 O HOH A 630 11.908 9.257 1.167 1.00 0.00 O -HETATM 1889 H1 HOH A 630 11.865 8.966 2.078 1.00 0.00 H -HETATM 1890 H2 HOH A 630 12.158 10.179 1.219 1.00 0.00 H -HETATM 1891 O HOH A 631 16.146 5.514 7.896 1.00 0.00 O -HETATM 1892 H1 HOH A 631 15.472 5.092 7.365 1.00 0.00 H -HETATM 1893 H2 HOH A 631 15.970 5.218 8.789 1.00 0.00 H -HETATM 1894 O HOH A 632 13.736 4.631 6.484 1.00 0.00 O -HETATM 1895 H1 HOH A 632 13.515 5.453 6.046 1.00 0.00 H -HETATM 1896 H2 HOH A 632 13.006 4.472 7.082 1.00 0.00 H -HETATM 1897 O HOH A 633 15.046 11.109 0.294 1.00 0.00 O -HETATM 1898 H1 HOH A 633 14.584 11.767 0.813 1.00 0.00 H -HETATM 1899 H2 HOH A 633 14.361 10.509 -0.000 1.00 0.00 H -HETATM 1900 O HOH A 634 13.624 12.715 2.289 1.00 0.00 O -HETATM 1901 H1 HOH A 634 14.251 12.640 3.009 1.00 0.00 H -HETATM 1902 H2 HOH A 634 12.835 12.277 2.608 1.00 0.00 H -HETATM 1903 O HOH A 635 10.418 14.009 28.380 1.00 0.00 O -HETATM 1904 H1 HOH A 635 10.799 14.289 27.548 1.00 0.00 H -HETATM 1905 H2 HOH A 635 9.888 14.754 28.664 1.00 0.00 H -HETATM 1906 O HOH A 636 11.946 15.168 26.165 1.00 0.00 O -HETATM 1907 H1 HOH A 636 12.822 14.889 26.432 1.00 0.00 H -HETATM 1908 H2 HOH A 636 11.973 16.124 26.207 1.00 0.00 H -HETATM 1909 O HOH A 637 12.589 26.143 12.286 1.00 0.00 O -HETATM 1910 H1 HOH A 637 12.235 26.960 12.636 1.00 0.00 H -HETATM 1911 H2 HOH A 637 12.309 26.132 11.370 1.00 0.00 H -HETATM 1912 O HOH A 638 11.006 28.357 13.371 1.00 0.00 O -HETATM 1913 H1 HOH A 638 10.644 27.912 14.139 1.00 0.00 H -HETATM 1914 H2 HOH A 638 10.246 28.557 12.826 1.00 0.00 H -HETATM 1915 O HOH A 639 20.970 25.897 7.532 1.00 0.00 O -HETATM 1916 H1 HOH A 639 21.179 26.582 8.167 1.00 0.00 H -HETATM 1917 H2 HOH A 639 20.022 25.959 7.414 1.00 0.00 H -HETATM 1918 O HOH A 640 21.399 27.622 9.862 1.00 0.00 O -HETATM 1919 H1 HOH A 640 21.922 27.020 10.393 1.00 0.00 H -HETATM 1920 H2 HOH A 640 20.596 27.753 10.365 1.00 0.00 H -HETATM 1921 O HOH A 641 16.368 10.385 4.719 1.00 0.00 O -HETATM 1922 H1 HOH A 641 16.390 9.542 5.171 1.00 0.00 H -HETATM 1923 H2 HOH A 641 15.636 10.311 4.106 1.00 0.00 H -HETATM 1924 O HOH A 642 16.683 7.614 5.618 1.00 0.00 O -HETATM 1925 H1 HOH A 642 17.626 7.523 5.476 1.00 0.00 H -HETATM 1926 H2 HOH A 642 16.285 6.991 5.010 1.00 0.00 H -HETATM 1927 O HOH A 643 4.670 15.590 17.241 1.00 0.00 O -HETATM 1928 H1 HOH A 643 4.424 14.671 17.143 1.00 0.00 H -HETATM 1929 H2 HOH A 643 5.142 15.801 16.436 1.00 0.00 H -HETATM 1930 O HOH A 644 4.469 12.672 17.075 1.00 0.00 O -HETATM 1931 H1 HOH A 644 4.793 12.455 17.949 1.00 0.00 H -HETATM 1932 H2 HOH A 644 5.116 12.300 16.477 1.00 0.00 H -HETATM 1933 O HOH A 645 17.516 1.060 29.999 1.00 0.00 O -HETATM 1934 H1 HOH A 645 18.324 1.474 29.698 1.00 0.00 H -HETATM 1935 H2 HOH A 645 17.017 0.894 29.199 1.00 0.00 H -HETATM 1936 O HOH A 646 19.662 2.797 29.020 1.00 0.00 O -HETATM 1937 H1 HOH A 646 19.586 3.499 29.667 1.00 0.00 H -HETATM 1938 H2 HOH A 646 19.439 3.211 28.186 1.00 0.00 H -HETATM 1939 O HOH A 647 0.453 9.772 26.263 1.00 0.00 O -HETATM 1940 H1 HOH A 647 1.406 9.680 26.236 1.00 0.00 H -HETATM 1941 H2 HOH A 647 0.267 10.092 27.146 1.00 0.00 H -HETATM 1942 O HOH A 648 3.274 9.009 26.483 1.00 0.00 O -HETATM 1943 H1 HOH A 648 3.214 8.127 26.115 1.00 0.00 H -HETATM 1944 H2 HOH A 648 3.540 8.874 27.392 1.00 0.00 H -HETATM 1945 O HOH A 649 13.207 21.705 8.727 1.00 0.00 O -HETATM 1946 H1 HOH A 649 12.454 21.328 9.182 1.00 0.00 H -HETATM 1947 H2 HOH A 649 12.912 21.810 7.822 1.00 0.00 H -HETATM 1948 O HOH A 650 11.067 20.060 9.867 1.00 0.00 O -HETATM 1949 H1 HOH A 650 11.607 19.380 10.271 1.00 0.00 H -HETATM 1950 H2 HOH A 650 10.566 19.601 9.192 1.00 0.00 H -HETATM 1951 O HOH A 651 18.296 20.137 5.429 1.00 0.00 O -HETATM 1952 H1 HOH A 651 18.233 19.897 6.353 1.00 0.00 H -HETATM 1953 H2 HOH A 651 18.329 21.094 5.431 1.00 0.00 H -HETATM 1954 O HOH A 652 17.550 19.556 8.202 1.00 0.00 O -HETATM 1955 H1 HOH A 652 16.822 18.958 8.033 1.00 0.00 H -HETATM 1956 H2 HOH A 652 17.149 20.311 8.633 1.00 0.00 H -HETATM 1957 O HOH A 653 29.233 7.251 24.103 1.00 0.00 O -HETATM 1958 H1 HOH A 653 29.140 6.783 23.273 1.00 0.00 H -HETATM 1959 H2 HOH A 653 28.448 7.794 24.163 1.00 0.00 H -HETATM 1960 O HOH A 654 29.108 6.320 21.328 1.00 0.00 O -HETATM 1961 H1 HOH A 654 30.001 6.542 21.060 1.00 0.00 H -HETATM 1962 H2 HOH A 654 28.548 6.875 20.786 1.00 0.00 H -HETATM 1963 O HOH A 655 8.263 19.706 24.387 1.00 0.00 O -HETATM 1964 H1 HOH A 655 7.781 18.884 24.472 1.00 0.00 H -HETATM 1965 H2 HOH A 655 9.152 19.441 24.149 1.00 0.00 H -HETATM 1966 O HOH A 656 7.059 17.148 25.154 1.00 0.00 O -HETATM 1967 H1 HOH A 656 6.692 17.408 25.999 1.00 0.00 H -HETATM 1968 H2 HOH A 656 7.719 16.489 25.369 1.00 0.00 H -HETATM 1969 O HOH A 657 19.949 20.916 22.727 1.00 0.00 O -HETATM 1970 H1 HOH A 657 18.993 20.868 22.715 1.00 0.00 H -HETATM 1971 H2 HOH A 657 20.180 20.881 23.655 1.00 0.00 H -HETATM 1972 O HOH A 658 17.050 21.325 22.846 1.00 0.00 O -HETATM 1973 H1 HOH A 658 16.985 22.071 22.248 1.00 0.00 H -HETATM 1974 H2 HOH A 658 16.770 21.670 23.694 1.00 0.00 H -HETATM 1975 O HOH A 659 29.300 14.702 22.447 1.00 0.00 O -HETATM 1976 H1 HOH A 659 28.729 15.156 21.828 1.00 0.00 H -HETATM 1977 H2 HOH A 659 30.002 14.339 21.906 1.00 0.00 H -HETATM 1978 O HOH A 660 27.365 15.564 20.423 1.00 0.00 O -HETATM 1979 H1 HOH A 660 26.581 15.150 20.787 1.00 0.00 H -HETATM 1980 H2 HOH A 660 27.502 15.125 19.584 1.00 0.00 H -HETATM 1981 O HOH A 661 13.214 5.799 16.143 1.00 0.00 O -HETATM 1982 H1 HOH A 661 13.782 6.059 15.417 1.00 0.00 H -HETATM 1983 H2 HOH A 661 12.562 6.498 16.200 1.00 0.00 H -HETATM 1984 O HOH A 662 15.179 6.962 14.306 1.00 0.00 O -HETATM 1985 H1 HOH A 662 15.970 6.804 14.822 1.00 0.00 H -HETATM 1986 H2 HOH A 662 15.107 7.915 14.258 1.00 0.00 H -HETATM 1987 O HOH A 663 22.403 4.191 7.593 1.00 0.00 O -HETATM 1988 H1 HOH A 663 22.742 3.421 7.137 1.00 0.00 H -HETATM 1989 H2 HOH A 663 22.715 4.093 8.493 1.00 0.00 H -HETATM 1990 O HOH A 664 23.009 1.558 6.459 1.00 0.00 O -HETATM 1991 H1 HOH A 664 22.154 1.367 6.072 1.00 0.00 H -HETATM 1992 H2 HOH A 664 23.121 0.891 7.137 1.00 0.00 H -HETATM 1993 O HOH A 665 15.414 20.191 17.237 1.00 0.00 O -HETATM 1994 H1 HOH A 665 14.613 19.824 16.864 1.00 0.00 H -HETATM 1995 H2 HOH A 665 15.261 20.193 18.182 1.00 0.00 H -HETATM 1996 O HOH A 666 12.742 19.589 16.198 1.00 0.00 O -HETATM 1997 H1 HOH A 666 12.674 20.295 15.554 1.00 0.00 H -HETATM 1998 H2 HOH A 666 12.055 19.778 16.837 1.00 0.00 H -HETATM 1999 O HOH A 667 20.864 25.571 17.399 1.00 0.00 O -HETATM 2000 H1 HOH A 667 21.025 25.211 18.271 1.00 0.00 H -HETATM 2001 H2 HOH A 667 21.536 26.244 17.289 1.00 0.00 H -HETATM 2002 O HOH A 668 21.099 24.950 20.252 1.00 0.00 O -HETATM 2003 H1 HOH A 668 20.175 25.025 20.493 1.00 0.00 H -HETATM 2004 H2 HOH A 668 21.533 25.650 20.739 1.00 0.00 H -HETATM 2005 O HOH A 669 9.580 9.778 17.176 1.00 0.00 O -HETATM 2006 H1 HOH A 669 9.059 10.451 17.614 1.00 0.00 H -HETATM 2007 H2 HOH A 669 9.581 10.037 16.255 1.00 0.00 H -HETATM 2008 O HOH A 670 7.537 11.555 18.296 1.00 0.00 O -HETATM 2009 H1 HOH A 670 7.013 10.900 18.758 1.00 0.00 H -HETATM 2010 H2 HOH A 670 6.952 11.901 17.622 1.00 0.00 H -HETATM 2011 O HOH A 671 10.360 7.237 3.821 1.00 0.00 O -HETATM 2012 H1 HOH A 671 11.253 7.378 3.507 1.00 0.00 H -HETATM 2013 H2 HOH A 671 10.402 7.424 4.759 1.00 0.00 H -HETATM 2014 O HOH A 672 13.198 7.153 3.098 1.00 0.00 O -HETATM 2015 H1 HOH A 672 13.202 6.319 2.628 1.00 0.00 H -HETATM 2016 H2 HOH A 672 13.759 7.006 3.858 1.00 0.00 H -HETATM 2017 O HOH A 673 7.281 10.907 11.861 1.00 0.00 O -HETATM 2018 H1 HOH A 673 7.680 11.131 12.701 1.00 0.00 H -HETATM 2019 H2 HOH A 673 7.156 11.749 11.422 1.00 0.00 H -HETATM 2020 O HOH A 674 7.967 11.745 14.583 1.00 0.00 O -HETATM 2021 H1 HOH A 674 7.348 11.195 15.064 1.00 0.00 H -HETATM 2022 H2 HOH A 674 7.686 12.641 14.765 1.00 0.00 H -HETATM 2023 O HOH A 675 15.191 3.925 26.054 1.00 0.00 O -HETATM 2024 H1 HOH A 675 15.192 3.071 25.622 1.00 0.00 H -HETATM 2025 H2 HOH A 675 15.371 3.730 26.974 1.00 0.00 H -HETATM 2026 O HOH A 676 14.672 1.255 24.965 1.00 0.00 O -HETATM 2027 H1 HOH A 676 13.845 1.440 24.518 1.00 0.00 H -HETATM 2028 H2 HOH A 676 14.442 0.626 25.648 1.00 0.00 H -HETATM 2029 O HOH A 677 19.183 0.551 9.667 1.00 0.00 O -HETATM 2030 H1 HOH A 677 18.548 1.126 10.093 1.00 0.00 H -HETATM 2031 H2 HOH A 677 19.439 1.021 8.873 1.00 0.00 H -HETATM 2032 O HOH A 678 16.875 2.113 10.572 1.00 0.00 O -HETATM 2033 H1 HOH A 678 16.255 1.394 10.698 1.00 0.00 H -HETATM 2034 H2 HOH A 678 16.497 2.638 9.867 1.00 0.00 H -HETATM 2035 O HOH A 679 13.369 15.380 19.779 1.00 0.00 O -HETATM 2036 H1 HOH A 679 13.635 14.525 20.117 1.00 0.00 H -HETATM 2037 H2 HOH A 679 12.413 15.343 19.758 1.00 0.00 H -HETATM 2038 O HOH A 680 14.065 12.578 20.280 1.00 0.00 O -HETATM 2039 H1 HOH A 680 14.709 12.462 19.581 1.00 0.00 H -HETATM 2040 H2 HOH A 680 13.351 11.983 20.054 1.00 0.00 H -HETATM 2041 O HOH A 681 13.454 17.285 18.264 1.00 0.00 O -HETATM 2042 H1 HOH A 681 12.600 17.392 17.847 1.00 0.00 H -HETATM 2043 H2 HOH A 681 13.999 17.970 17.876 1.00 0.00 H -HETATM 2044 O HOH A 682 11.088 17.350 16.538 1.00 0.00 O -HETATM 2045 H1 HOH A 682 11.027 16.415 16.340 1.00 0.00 H -HETATM 2046 H2 HOH A 682 11.268 17.765 15.695 1.00 0.00 H -HETATM 2047 O HOH A 683 11.058 13.553 2.858 1.00 0.00 O -HETATM 2048 H1 HOH A 683 10.691 12.907 2.254 1.00 0.00 H -HETATM 2049 H2 HOH A 683 11.109 13.097 3.697 1.00 0.00 H -HETATM 2050 O HOH A 684 9.435 11.705 1.266 1.00 0.00 O -HETATM 2051 H1 HOH A 684 8.789 12.330 0.934 1.00 0.00 H -HETATM 2052 H2 HOH A 684 8.931 11.105 1.815 1.00 0.00 H -HETATM 2053 O HOH A 685 16.110 16.784 13.278 1.00 0.00 O -HETATM 2054 H1 HOH A 685 16.843 17.031 12.714 1.00 0.00 H -HETATM 2055 H2 HOH A 685 16.186 17.360 14.038 1.00 0.00 H -HETATM 2056 O HOH A 686 18.669 17.233 11.924 1.00 0.00 O -HETATM 2057 H1 HOH A 686 18.932 16.320 11.806 1.00 0.00 H -HETATM 2058 H2 HOH A 686 19.328 17.600 12.513 1.00 0.00 H -HETATM 2059 O HOH A 687 16.094 29.794 11.440 1.00 0.00 O -HETATM 2060 H1 HOH A 687 16.033 29.881 10.489 1.00 0.00 H -HETATM 2061 H2 HOH A 687 17.003 30.013 11.644 1.00 0.00 H -HETATM 2062 O HOH A 688 16.175 29.550 8.521 1.00 0.00 O -HETATM 2063 H1 HOH A 688 15.743 28.699 8.435 1.00 0.00 H -HETATM 2064 H2 HOH A 688 17.063 29.404 8.196 1.00 0.00 H -HETATM 2065 O HOH A 689 19.637 29.646 15.071 1.00 0.00 O -HETATM 2066 H1 HOH A 689 18.837 29.312 15.477 1.00 0.00 H -HETATM 2067 H2 HOH A 689 19.336 30.098 14.282 1.00 0.00 H -HETATM 2068 O HOH A 690 17.219 28.218 15.905 1.00 0.00 O -HETATM 2069 H1 HOH A 690 17.598 27.345 16.017 1.00 0.00 H -HETATM 2070 H2 HOH A 690 16.593 28.119 15.188 1.00 0.00 H -HETATM 2071 O HOH A 691 19.259 27.222 20.312 1.00 0.00 O -HETATM 2072 H1 HOH A 691 18.716 27.772 19.747 1.00 0.00 H -HETATM 2073 H2 HOH A 691 19.577 27.816 20.992 1.00 0.00 H -HETATM 2074 O HOH A 692 18.102 29.091 18.375 1.00 0.00 O -HETATM 2075 H1 HOH A 692 18.530 28.764 17.584 1.00 0.00 H -HETATM 2076 H2 HOH A 692 18.441 29.979 18.485 1.00 0.00 H -HETATM 2077 O HOH A 693 19.978 26.373 12.672 1.00 0.00 O -HETATM 2078 H1 HOH A 693 20.675 26.980 12.423 1.00 0.00 H -HETATM 2079 H2 HOH A 693 19.547 26.795 13.416 1.00 0.00 H -HETATM 2080 O HOH A 694 22.387 28.013 12.366 1.00 0.00 O -HETATM 2081 H1 HOH A 694 23.037 27.311 12.339 1.00 0.00 H -HETATM 2082 H2 HOH A 694 22.592 28.504 13.161 1.00 0.00 H -HETATM 2083 O HOH A 695 23.194 20.281 13.035 1.00 0.00 O -HETATM 2084 H1 HOH A 695 23.849 19.678 12.684 1.00 0.00 H -HETATM 2085 H2 HOH A 695 22.433 19.730 13.217 1.00 0.00 H -HETATM 2086 O HOH A 696 24.888 18.468 11.476 1.00 0.00 O -HETATM 2087 H1 HOH A 696 25.076 19.046 10.736 1.00 0.00 H -HETATM 2088 H2 HOH A 696 24.388 17.745 11.098 1.00 0.00 H -HETATM 2089 O HOH A 697 22.394 11.806 27.471 1.00 0.00 O -HETATM 2090 H1 HOH A 697 21.727 11.586 26.822 1.00 0.00 H -HETATM 2091 H2 HOH A 697 22.068 11.430 28.288 1.00 0.00 H -HETATM 2092 O HOH A 698 20.055 11.566 25.723 1.00 0.00 O -HETATM 2093 H1 HOH A 698 20.026 12.465 25.397 1.00 0.00 H -HETATM 2094 H2 HOH A 698 19.244 11.462 26.220 1.00 0.00 H -HETATM 2095 O HOH A 699 17.924 1.072 12.256 1.00 0.00 O -HETATM 2096 H1 HOH A 699 18.161 1.938 12.586 1.00 0.00 H -HETATM 2097 H2 HOH A 699 17.083 0.879 12.671 1.00 0.00 H -HETATM 2098 O HOH A 700 18.798 3.439 13.744 1.00 0.00 O -HETATM 2099 H1 HOH A 700 19.683 3.151 13.967 1.00 0.00 H -HETATM 2100 H2 HOH A 700 18.350 3.521 14.586 1.00 0.00 H -HETATM 2101 O HOH A 701 6.654 29.998 23.836 1.00 0.00 O -HETATM 2102 H1 HOH A 701 6.834 29.197 23.344 1.00 0.00 H -HETATM 2103 H2 HOH A 701 6.868 29.778 24.742 1.00 0.00 H -HETATM 2104 O HOH A 702 6.705 27.367 22.549 1.00 0.00 O -HETATM 2105 H1 HOH A 702 5.859 27.409 22.101 1.00 0.00 H -HETATM 2106 H2 HOH A 702 6.608 26.655 23.181 1.00 0.00 H -HETATM 2107 O HOH A 703 25.674 21.642 0.046 1.00 0.00 O -HETATM 2108 H1 HOH A 703 25.908 20.715 -0.002 1.00 0.00 H -HETATM 2109 H2 HOH A 703 26.511 22.104 -0.000 1.00 0.00 H -HETATM 2110 O HOH A 704 26.539 18.872 0.450 1.00 0.00 O -HETATM 2111 H1 HOH A 704 25.988 18.657 1.203 1.00 0.00 H -HETATM 2112 H2 HOH A 704 27.435 18.820 0.784 1.00 0.00 H -HETATM 2113 O HOH A 705 15.571 29.682 17.538 1.00 0.00 O -HETATM 2114 H1 HOH A 705 14.656 29.557 17.790 1.00 0.00 H -HETATM 2115 H2 HOH A 705 15.533 29.949 16.620 1.00 0.00 H -HETATM 2116 O HOH A 706 12.818 28.802 18.022 1.00 0.00 O -HETATM 2117 H1 HOH A 706 13.006 27.950 18.415 1.00 0.00 H -HETATM 2118 H2 HOH A 706 12.357 28.598 17.208 1.00 0.00 H -HETATM 2119 O HOH A 707 20.602 9.274 3.626 1.00 0.00 O -HETATM 2120 H1 HOH A 707 20.191 10.020 4.062 1.00 0.00 H -HETATM 2121 H2 HOH A 707 20.441 9.422 2.694 1.00 0.00 H -HETATM 2122 O HOH A 708 18.854 11.275 4.861 1.00 0.00 O -HETATM 2123 H1 HOH A 708 18.404 10.707 5.488 1.00 0.00 H -HETATM 2124 H2 HOH A 708 18.166 11.569 4.265 1.00 0.00 H -HETATM 2125 O HOH A 709 3.247 3.543 3.330 1.00 0.00 O -HETATM 2126 H1 HOH A 709 3.240 4.058 4.137 1.00 0.00 H -HETATM 2127 H2 HOH A 709 3.539 4.156 2.656 1.00 0.00 H -HETATM 2128 O HOH A 710 2.735 5.335 5.591 1.00 0.00 O -HETATM 2129 H1 HOH A 710 1.856 5.033 5.819 1.00 0.00 H -HETATM 2130 H2 HOH A 710 2.615 6.242 5.312 1.00 0.00 H -HETATM 2131 O HOH A 711 26.192 28.444 29.080 1.00 0.00 O -HETATM 2132 H1 HOH A 711 25.404 27.920 28.937 1.00 0.00 H -HETATM 2133 H2 HOH A 711 26.496 28.191 29.952 1.00 0.00 H -HETATM 2134 O HOH A 712 23.530 27.225 28.992 1.00 0.00 O -HETATM 2135 H1 HOH A 712 23.030 27.990 28.704 1.00 0.00 H -HETATM 2136 H2 HOH A 712 23.193 27.032 29.867 1.00 0.00 H -HETATM 2137 O HOH A 713 8.487 6.772 27.181 1.00 0.00 O -HETATM 2138 H1 HOH A 713 9.015 6.155 26.675 1.00 0.00 H -HETATM 2139 H2 HOH A 713 8.758 6.632 28.089 1.00 0.00 H -HETATM 2140 O HOH A 714 9.729 4.491 25.826 1.00 0.00 O -HETATM 2141 H1 HOH A 714 8.963 4.171 25.348 1.00 0.00 H -HETATM 2142 H2 HOH A 714 9.947 3.785 26.434 1.00 0.00 H -HETATM 2143 O HOH A 715 3.754 25.215 11.097 1.00 0.00 O -HETATM 2144 H1 HOH A 715 3.911 24.966 12.008 1.00 0.00 H -HETATM 2145 H2 HOH A 715 4.572 25.006 10.646 1.00 0.00 H -HETATM 2146 O HOH A 716 4.533 24.945 13.909 1.00 0.00 O -HETATM 2147 H1 HOH A 716 4.195 25.780 14.233 1.00 0.00 H -HETATM 2148 H2 HOH A 716 5.480 25.004 14.027 1.00 0.00 H -HETATM 2149 O HOH A 717 2.141 19.473 21.139 1.00 0.00 O -HETATM 2150 H1 HOH A 717 2.209 18.519 21.145 1.00 0.00 H -HETATM 2151 H2 HOH A 717 1.736 19.679 20.296 1.00 0.00 H -HETATM 2152 O HOH A 718 2.799 16.637 20.810 1.00 0.00 O -HETATM 2153 H1 HOH A 718 3.716 16.669 21.084 1.00 0.00 H -HETATM 2154 H2 HOH A 718 2.831 16.379 19.889 1.00 0.00 H -HETATM 2155 O HOH A 719 29.317 5.764 18.756 1.00 0.00 O -HETATM 2156 H1 HOH A 719 29.022 6.643 18.518 1.00 0.00 H -HETATM 2157 H2 HOH A 719 30.000 5.558 18.117 1.00 0.00 H -HETATM 2158 O HOH A 720 28.128 8.182 17.606 1.00 0.00 O -HETATM 2159 H1 HOH A 720 27.208 7.921 17.640 1.00 0.00 H -HETATM 2160 H2 HOH A 720 28.321 8.270 16.673 1.00 0.00 H -HETATM 2161 O HOH A 721 0.737 5.094 12.464 1.00 0.00 O -HETATM 2162 H1 HOH A 721 0.917 4.564 11.688 1.00 0.00 H -HETATM 2163 H2 HOH A 721 0.000 4.656 12.889 1.00 0.00 H -HETATM 2164 O HOH A 722 0.828 3.735 9.870 1.00 0.00 O -HETATM 2165 H1 HOH A 722 0.851 4.507 9.303 1.00 0.00 H -HETATM 2166 H2 HOH A 722 -0.000 3.305 9.660 1.00 0.00 H -HETATM 2167 O HOH A 723 5.864 10.081 27.483 1.00 0.00 O -HETATM 2168 H1 HOH A 723 5.967 9.136 27.599 1.00 0.00 H -HETATM 2169 H2 HOH A 723 6.050 10.451 28.346 1.00 0.00 H -HETATM 2170 O HOH A 724 5.659 7.221 28.088 1.00 0.00 O -HETATM 2171 H1 HOH A 724 4.824 7.042 27.653 1.00 0.00 H -HETATM 2172 H2 HOH A 724 5.488 7.061 29.016 1.00 0.00 H -HETATM 2173 O HOH A 725 23.927 22.231 11.608 1.00 0.00 O -HETATM 2174 H1 HOH A 725 23.020 22.538 11.587 1.00 0.00 H -HETATM 2175 H2 HOH A 725 24.367 22.733 10.922 1.00 0.00 H -HETATM 2176 O HOH A 726 21.109 22.832 11.077 1.00 0.00 O -HETATM 2177 H1 HOH A 726 20.768 21.937 11.073 1.00 0.00 H -HETATM 2178 H2 HOH A 726 20.970 23.148 10.185 1.00 0.00 H -HETATM 2179 O HOH A 727 14.533 8.753 30.000 1.00 0.00 O -HETATM 2180 H1 HOH A 727 13.649 8.772 29.634 1.00 0.00 H -HETATM 2181 H2 HOH A 727 15.108 8.897 29.248 1.00 0.00 H -HETATM 2182 O HOH A 728 11.951 8.278 28.698 1.00 0.00 O -HETATM 2183 H1 HOH A 728 11.708 7.469 29.151 1.00 0.00 H -HETATM 2184 H2 HOH A 728 12.052 8.022 27.782 1.00 0.00 H -HETATM 2185 O HOH A 729 22.201 8.331 9.280 1.00 0.00 O -HETATM 2186 H1 HOH A 729 22.498 9.073 8.754 1.00 0.00 H -HETATM 2187 H2 HOH A 729 21.728 7.773 8.663 1.00 0.00 H -HETATM 2188 O HOH A 730 22.564 10.782 7.717 1.00 0.00 O -HETATM 2189 H1 HOH A 730 22.240 11.413 8.361 1.00 0.00 H -HETATM 2190 H2 HOH A 730 21.946 10.840 6.989 1.00 0.00 H -HETATM 2191 O HOH A 731 25.079 26.819 24.323 1.00 0.00 O -HETATM 2192 H1 HOH A 731 25.151 25.958 24.735 1.00 0.00 H -HETATM 2193 H2 HOH A 731 25.475 26.706 23.459 1.00 0.00 H -HETATM 2194 O HOH A 732 25.851 24.332 25.666 1.00 0.00 O -HETATM 2195 H1 HOH A 732 26.209 24.708 26.471 1.00 0.00 H -HETATM 2196 H2 HOH A 732 26.598 23.911 25.242 1.00 0.00 H -HETATM 2197 O HOH A 733 9.796 14.663 5.924 1.00 0.00 O -HETATM 2198 H1 HOH A 733 9.212 13.923 6.088 1.00 0.00 H -HETATM 2199 H2 HOH A 733 10.104 14.533 5.027 1.00 0.00 H -HETATM 2200 O HOH A 734 8.498 12.098 6.491 1.00 0.00 O -HETATM 2201 H1 HOH A 734 8.920 11.905 7.329 1.00 0.00 H -HETATM 2202 H2 HOH A 734 8.798 11.405 5.904 1.00 0.00 H -HETATM 2203 O HOH A 735 26.792 13.589 0.208 1.00 0.00 O -HETATM 2204 H1 HOH A 735 27.671 13.361 0.510 1.00 0.00 H -HETATM 2205 H2 HOH A 735 26.383 12.749 0.000 1.00 0.00 H -HETATM 2206 O HOH A 736 29.596 12.820 0.571 1.00 0.00 O -HETATM 2207 H1 HOH A 736 30.000 13.474 -0.000 1.00 0.00 H -HETATM 2208 H2 HOH A 736 29.795 11.980 0.156 1.00 0.00 H -HETATM 2209 O HOH A 737 23.153 14.445 15.144 1.00 0.00 O -HETATM 2210 H1 HOH A 737 22.956 14.600 14.221 1.00 0.00 H -HETATM 2211 H2 HOH A 737 22.298 14.315 15.554 1.00 0.00 H -HETATM 2212 O HOH A 738 22.402 15.448 12.495 1.00 0.00 O -HETATM 2213 H1 HOH A 738 22.968 16.220 12.467 1.00 0.00 H -HETATM 2214 H2 HOH A 738 21.512 15.799 12.482 1.00 0.00 H -HETATM 2215 O HOH A 739 6.749 0.593 22.917 1.00 0.00 O -HETATM 2216 H1 HOH A 739 7.497 0.926 22.422 1.00 0.00 H -HETATM 2217 H2 HOH A 739 6.049 0.513 22.269 1.00 0.00 H -HETATM 2218 O HOH A 740 8.766 2.118 21.437 1.00 0.00 O -HETATM 2219 H1 HOH A 740 8.938 2.799 22.088 1.00 0.00 H -HETATM 2220 H2 HOH A 740 8.389 2.585 20.692 1.00 0.00 H -HETATM 2221 O HOH A 741 18.417 4.843 21.408 1.00 0.00 O -HETATM 2222 H1 HOH A 741 18.105 5.521 20.809 1.00 0.00 H -HETATM 2223 H2 HOH A 741 17.947 5.009 22.225 1.00 0.00 H -HETATM 2224 O HOH A 742 17.820 7.264 19.870 1.00 0.00 O -HETATM 2225 H1 HOH A 742 18.712 7.491 19.606 1.00 0.00 H -HETATM 2226 H2 HOH A 742 17.541 7.987 20.431 1.00 0.00 H -HETATM 2227 O HOH A 743 19.962 18.276 22.640 1.00 0.00 O -HETATM 2228 H1 HOH A 743 19.155 18.687 22.948 1.00 0.00 H -HETATM 2229 H2 HOH A 743 19.713 17.372 22.445 1.00 0.00 H -HETATM 2230 O HOH A 744 17.601 19.253 24.073 1.00 0.00 O -HETATM 2231 H1 HOH A 744 18.041 19.627 24.837 1.00 0.00 H -HETATM 2232 H2 HOH A 744 17.071 18.538 24.424 1.00 0.00 H -HETATM 2233 O HOH A 745 2.015 27.509 27.170 1.00 0.00 O -HETATM 2234 H1 HOH A 745 2.907 27.838 27.276 1.00 0.00 H -HETATM 2235 H2 HOH A 745 1.517 27.937 27.867 1.00 0.00 H -HETATM 2236 O HOH A 746 4.773 28.139 27.930 1.00 0.00 O -HETATM 2237 H1 HOH A 746 5.142 27.257 27.880 1.00 0.00 H -HETATM 2238 H2 HOH A 746 4.846 28.380 28.854 1.00 0.00 H -HETATM 2239 O HOH A 747 2.765 6.065 17.207 1.00 0.00 O -HETATM 2240 H1 HOH A 747 3.506 5.701 17.691 1.00 0.00 H -HETATM 2241 H2 HOH A 747 2.244 5.302 16.956 1.00 0.00 H -HETATM 2242 O HOH A 748 5.235 4.816 18.167 1.00 0.00 O -HETATM 2243 H1 HOH A 748 5.864 5.334 17.663 1.00 0.00 H -HETATM 2244 H2 HOH A 748 5.339 3.923 17.837 1.00 0.00 H -HETATM 2245 O HOH A 749 15.220 19.437 3.729 1.00 0.00 O -HETATM 2246 H1 HOH A 749 15.378 18.887 4.496 1.00 0.00 H -HETATM 2247 H2 HOH A 749 15.328 20.333 4.050 1.00 0.00 H -HETATM 2248 O HOH A 750 15.171 17.907 6.228 1.00 0.00 O -HETATM 2249 H1 HOH A 750 14.378 17.394 6.067 1.00 0.00 H -HETATM 2250 H2 HOH A 750 14.956 18.456 6.982 1.00 0.00 H -HETATM 2251 O HOH A 751 17.503 1.113 7.831 1.00 0.00 O -HETATM 2252 H1 HOH A 751 16.549 1.179 7.863 1.00 0.00 H -HETATM 2253 H2 HOH A 751 17.673 0.335 7.301 1.00 0.00 H -HETATM 2254 O HOH A 752 14.623 0.892 8.318 1.00 0.00 O -HETATM 2255 H1 HOH A 752 14.627 1.011 9.269 1.00 0.00 H -HETATM 2256 H2 HOH A 752 14.303 -0.000 8.188 1.00 0.00 H -HETATM 2257 O HOH A 753 4.312 5.567 21.331 1.00 0.00 O -HETATM 2258 H1 HOH A 753 4.867 6.290 21.623 1.00 0.00 H -HETATM 2259 H2 HOH A 753 4.039 5.132 22.138 1.00 0.00 H -HETATM 2260 O HOH A 754 6.407 7.371 22.302 1.00 0.00 O -HETATM 2261 H1 HOH A 754 7.094 7.145 21.675 1.00 0.00 H -HETATM 2262 H2 HOH A 754 6.753 7.097 23.151 1.00 0.00 H -HETATM 2263 O HOH A 755 25.600 6.272 22.684 1.00 0.00 O -HETATM 2264 H1 HOH A 755 25.721 7.149 22.322 1.00 0.00 H -HETATM 2265 H2 HOH A 755 26.241 5.731 22.223 1.00 0.00 H -HETATM 2266 O HOH A 756 25.676 8.752 21.126 1.00 0.00 O -HETATM 2267 H1 HOH A 756 24.735 8.861 20.983 1.00 0.00 H -HETATM 2268 H2 HOH A 756 26.040 8.617 20.251 1.00 0.00 H -HETATM 2269 O HOH A 757 2.923 8.050 9.452 1.00 0.00 O -HETATM 2270 H1 HOH A 757 2.537 8.763 9.960 1.00 0.00 H -HETATM 2271 H2 HOH A 757 3.591 8.474 8.913 1.00 0.00 H -HETATM 2272 O HOH A 758 1.461 10.354 10.519 1.00 0.00 O -HETATM 2273 H1 HOH A 758 0.572 10.074 10.302 1.00 0.00 H -HETATM 2274 H2 HOH A 758 1.601 11.143 9.996 1.00 0.00 H -HETATM 2275 O HOH A 759 4.198 2.732 22.326 1.00 0.00 O -HETATM 2276 H1 HOH A 759 4.277 2.565 21.387 1.00 0.00 H -HETATM 2277 H2 HOH A 759 5.067 2.539 22.678 1.00 0.00 H -HETATM 2278 O HOH A 760 4.403 1.665 19.605 1.00 0.00 O -HETATM 2279 H1 HOH A 760 3.603 1.138 19.595 1.00 0.00 H -HETATM 2280 H2 HOH A 760 5.113 1.029 19.520 1.00 0.00 H -HETATM 2281 O HOH A 761 13.478 26.932 6.797 1.00 0.00 O -HETATM 2282 H1 HOH A 761 14.099 26.713 6.102 1.00 0.00 H -HETATM 2283 H2 HOH A 761 13.989 26.868 7.604 1.00 0.00 H -HETATM 2284 O HOH A 762 15.293 25.719 4.842 1.00 0.00 O -HETATM 2285 H1 HOH A 762 14.681 25.101 4.441 1.00 0.00 H -HETATM 2286 H2 HOH A 762 15.955 25.169 5.259 1.00 0.00 H -HETATM 2287 O HOH A 763 0.434 27.623 7.542 1.00 0.00 O -HETATM 2288 H1 HOH A 763 0.216 26.727 7.799 1.00 0.00 H -HETATM 2289 H2 HOH A 763 -0.001 27.745 6.699 1.00 0.00 H -HETATM 2290 O HOH A 764 0.168 24.733 7.943 1.00 0.00 O -HETATM 2291 H1 HOH A 764 1.082 24.531 8.150 1.00 0.00 H -HETATM 2292 H2 HOH A 764 -0.002 24.270 7.123 1.00 0.00 H -HETATM 2293 O HOH A 765 23.452 14.724 3.047 1.00 0.00 O -HETATM 2294 H1 HOH A 765 24.178 14.264 3.469 1.00 0.00 H -HETATM 2295 H2 HOH A 765 22.933 15.070 3.773 1.00 0.00 H -HETATM 2296 O HOH A 766 25.282 12.903 4.434 1.00 0.00 O -HETATM 2297 H1 HOH A 766 25.152 12.126 3.890 1.00 0.00 H -HETATM 2298 H2 HOH A 766 24.954 12.652 5.297 1.00 0.00 H -HETATM 2299 O HOH A 767 27.656 24.776 23.303 1.00 0.00 O -HETATM 2300 H1 HOH A 767 26.725 24.925 23.138 1.00 0.00 H -HETATM 2301 H2 HOH A 767 28.003 24.468 22.466 1.00 0.00 H -HETATM 2302 O HOH A 768 24.766 24.659 22.835 1.00 0.00 O -HETATM 2303 H1 HOH A 768 24.512 24.173 23.620 1.00 0.00 H -HETATM 2304 H2 HOH A 768 24.542 24.078 22.108 1.00 0.00 H -HETATM 2305 O HOH A 769 3.538 3.470 16.273 1.00 0.00 O -HETATM 2306 H1 HOH A 769 3.219 3.957 15.513 1.00 0.00 H -HETATM 2307 H2 HOH A 769 2.750 3.093 16.665 1.00 0.00 H -HETATM 2308 O HOH A 770 2.404 5.355 14.338 1.00 0.00 O -HETATM 2309 H1 HOH A 770 2.910 6.132 14.579 1.00 0.00 H -HETATM 2310 H2 HOH A 770 1.498 5.583 14.546 1.00 0.00 H -HETATM 2311 O HOH A 771 28.577 28.444 27.608 1.00 0.00 O -HETATM 2312 H1 HOH A 771 27.640 28.525 27.426 1.00 0.00 H -HETATM 2313 H2 HOH A 771 28.792 29.230 28.110 1.00 0.00 H -HETATM 2314 O HOH A 772 25.879 29.067 26.648 1.00 0.00 O -HETATM 2315 H1 HOH A 772 26.006 28.866 25.720 1.00 0.00 H -HETATM 2316 H2 HOH A 772 25.697 30.006 26.670 1.00 0.00 H -HETATM 2317 O HOH A 773 4.020 28.062 12.601 1.00 0.00 O -HETATM 2318 H1 HOH A 773 4.493 28.587 11.956 1.00 0.00 H -HETATM 2319 H2 HOH A 773 4.051 28.582 13.404 1.00 0.00 H -HETATM 2320 O HOH A 774 5.938 29.476 10.896 1.00 0.00 O -HETATM 2321 H1 HOH A 774 6.465 28.726 10.619 1.00 0.00 H -HETATM 2322 H2 HOH A 774 6.539 30.020 11.404 1.00 0.00 H -HETATM 2323 O HOH A 775 22.525 12.821 24.644 1.00 0.00 O -HETATM 2324 H1 HOH A 775 22.118 13.481 25.205 1.00 0.00 H -HETATM 2325 H2 HOH A 775 22.047 12.880 23.817 1.00 0.00 H -HETATM 2326 O HOH A 776 20.858 14.451 26.418 1.00 0.00 O -HETATM 2327 H1 HOH A 776 20.772 13.833 27.145 1.00 0.00 H -HETATM 2328 H2 HOH A 776 19.968 14.555 26.082 1.00 0.00 H -HETATM 2329 O HOH A 777 15.915 0.873 2.564 1.00 0.00 O -HETATM 2330 H1 HOH A 777 15.081 1.186 2.912 1.00 0.00 H -HETATM 2331 H2 HOH A 777 15.721 0.625 1.660 1.00 0.00 H -HETATM 2332 O HOH A 778 13.231 1.271 3.668 1.00 0.00 O -HETATM 2333 H1 HOH A 778 13.318 0.734 4.457 1.00 0.00 H -HETATM 2334 H2 HOH A 778 12.559 0.831 3.149 1.00 0.00 H -HETATM 2335 O HOH A 779 22.605 3.090 27.071 1.00 0.00 O -HETATM 2336 H1 HOH A 779 21.775 3.567 27.103 1.00 0.00 H -HETATM 2337 H2 HOH A 779 22.899 3.058 27.981 1.00 0.00 H -HETATM 2338 O HOH A 780 20.401 5.015 27.220 1.00 0.00 O -HETATM 2339 H1 HOH A 780 20.663 5.591 26.500 1.00 0.00 H -HETATM 2340 H2 HOH A 780 20.455 5.565 28.001 1.00 0.00 H -HETATM 2341 O HOH A 781 23.590 9.194 6.406 1.00 0.00 O -HETATM 2342 H1 HOH A 781 24.266 9.642 6.914 1.00 0.00 H -HETATM 2343 H2 HOH A 781 24.068 8.547 5.887 1.00 0.00 H -HETATM 2344 O HOH A 782 25.768 10.842 7.466 1.00 0.00 O -HETATM 2345 H1 HOH A 782 25.427 11.704 7.225 1.00 0.00 H -HETATM 2346 H2 HOH A 782 26.572 10.749 6.955 1.00 0.00 H -HETATM 2347 O HOH A 783 11.656 16.180 24.031 1.00 0.00 O -HETATM 2348 H1 HOH A 783 10.778 15.801 23.992 1.00 0.00 H -HETATM 2349 H2 HOH A 783 11.577 17.017 23.575 1.00 0.00 H -HETATM 2350 O HOH A 784 9.109 14.892 23.369 1.00 0.00 O -HETATM 2351 H1 HOH A 784 9.447 14.048 23.068 1.00 0.00 H -HETATM 2352 H2 HOH A 784 8.700 15.279 22.595 1.00 0.00 H -HETATM 2353 O HOH A 785 8.862 29.219 10.369 1.00 0.00 O -HETATM 2354 H1 HOH A 785 8.783 29.221 11.323 1.00 0.00 H -HETATM 2355 H2 HOH A 785 8.292 29.931 10.079 1.00 0.00 H -HETATM 2356 O HOH A 786 8.115 28.963 13.190 1.00 0.00 O -HETATM 2357 H1 HOH A 786 7.967 28.017 13.215 1.00 0.00 H -HETATM 2358 H2 HOH A 786 7.257 29.347 13.372 1.00 0.00 H -HETATM 2359 O HOH A 787 5.246 22.100 27.429 1.00 0.00 O -HETATM 2360 H1 HOH A 787 5.959 22.585 27.844 1.00 0.00 H -HETATM 2361 H2 HOH A 787 4.453 22.425 27.857 1.00 0.00 H -HETATM 2362 O HOH A 788 7.350 23.217 29.135 1.00 0.00 O -HETATM 2363 H1 HOH A 788 7.855 22.417 29.283 1.00 0.00 H -HETATM 2364 H2 HOH A 788 7.021 23.460 30.000 1.00 0.00 H -HETATM 2365 O HOH A 789 0.871 13.648 22.256 1.00 0.00 O -HETATM 2366 H1 HOH A 789 0.465 14.513 22.209 1.00 0.00 H -HETATM 2367 H2 HOH A 789 1.164 13.569 23.164 1.00 0.00 H -HETATM 2368 O HOH A 790 0.171 16.488 22.096 1.00 0.00 O -HETATM 2369 H1 HOH A 790 0.656 16.712 21.301 1.00 0.00 H -HETATM 2370 H2 HOH A 790 0.588 17.002 22.787 1.00 0.00 H -HETATM 2371 O HOH A 791 6.299 19.517 19.589 1.00 0.00 O -HETATM 2372 H1 HOH A 791 6.906 20.257 19.627 1.00 0.00 H -HETATM 2373 H2 HOH A 791 6.805 18.775 19.920 1.00 0.00 H -HETATM 2374 O HOH A 792 8.381 21.548 19.230 1.00 0.00 O -HETATM 2375 H1 HOH A 792 8.174 21.810 18.333 1.00 0.00 H -HETATM 2376 H2 HOH A 792 9.255 21.162 19.174 1.00 0.00 H -HETATM 2377 O HOH A 793 23.691 28.887 19.190 1.00 0.00 O -HETATM 2378 H1 HOH A 793 22.741 28.999 19.170 1.00 0.00 H -HETATM 2379 H2 HOH A 793 24.040 29.759 19.004 1.00 0.00 H -HETATM 2380 O HOH A 794 20.851 29.229 18.556 1.00 0.00 O -HETATM 2381 H1 HOH A 794 20.738 28.469 17.985 1.00 0.00 H -HETATM 2382 H2 HOH A 794 20.697 29.984 17.989 1.00 0.00 H -HETATM 2383 O HOH A 795 9.865 13.659 20.944 1.00 0.00 O -HETATM 2384 H1 HOH A 795 8.963 13.931 20.779 1.00 0.00 H -HETATM 2385 H2 HOH A 795 10.288 13.695 20.085 1.00 0.00 H -HETATM 2386 O HOH A 796 7.038 13.957 20.235 1.00 0.00 O -HETATM 2387 H1 HOH A 796 6.687 13.213 20.725 1.00 0.00 H -HETATM 2388 H2 HOH A 796 6.872 13.742 19.317 1.00 0.00 H -HETATM 2389 O HOH A 797 6.867 12.515 5.075 1.00 0.00 O -HETATM 2390 H1 HOH A 797 7.391 13.313 5.014 1.00 0.00 H -HETATM 2391 H2 HOH A 797 6.621 12.319 4.171 1.00 0.00 H -HETATM 2392 O HOH A 798 7.962 15.221 4.827 1.00 0.00 O -HETATM 2393 H1 HOH A 798 7.466 15.643 5.530 1.00 0.00 H -HETATM 2394 H2 HOH A 798 7.667 15.657 4.028 1.00 0.00 H -HETATM 2395 O HOH A 799 1.565 26.456 13.316 1.00 0.00 O -HETATM 2396 H1 HOH A 799 1.682 25.736 13.936 1.00 0.00 H -HETATM 2397 H2 HOH A 799 2.429 26.578 12.923 1.00 0.00 H -HETATM 2398 O HOH A 800 2.169 24.654 15.546 1.00 0.00 O -HETATM 2399 H1 HOH A 800 1.729 25.137 16.246 1.00 0.00 H -HETATM 2400 H2 HOH A 800 3.096 24.673 15.784 1.00 0.00 H -HETATM 2401 O HOH A 801 5.279 3.308 10.983 1.00 0.00 O -HETATM 2402 H1 HOH A 801 4.746 2.744 11.544 1.00 0.00 H -HETATM 2403 H2 HOH A 801 5.218 2.910 10.115 1.00 0.00 H -HETATM 2404 O HOH A 802 4.102 1.229 12.679 1.00 0.00 O -HETATM 2405 H1 HOH A 802 4.791 1.176 13.342 1.00 0.00 H -HETATM 2406 H2 HOH A 802 4.108 0.371 12.255 1.00 0.00 H -HETATM 2407 O HOH A 803 6.476 7.996 18.822 1.00 0.00 O -HETATM 2408 H1 HOH A 803 6.291 8.839 18.408 1.00 0.00 H -HETATM 2409 H2 HOH A 803 6.899 7.479 18.137 1.00 0.00 H -HETATM 2410 O HOH A 804 5.474 10.295 17.307 1.00 0.00 O -HETATM 2411 H1 HOH A 804 4.569 10.291 17.621 1.00 0.00 H -HETATM 2412 H2 HOH A 804 5.407 10.108 16.371 1.00 0.00 H -HETATM 2413 O HOH A 805 17.402 18.951 27.745 1.00 0.00 O -HETATM 2414 H1 HOH A 805 18.056 18.427 28.206 1.00 0.00 H -HETATM 2415 H2 HOH A 805 17.574 18.790 26.817 1.00 0.00 H -HETATM 2416 O HOH A 806 19.767 17.770 29.009 1.00 0.00 O -HETATM 2417 H1 HOH A 806 20.013 18.507 29.570 1.00 0.00 H -HETATM 2418 H2 HOH A 806 20.495 17.679 28.395 1.00 0.00 H -HETATM 2419 O HOH A 807 14.039 16.767 21.350 1.00 0.00 O -HETATM 2420 H1 HOH A 807 14.485 17.154 22.103 1.00 0.00 H -HETATM 2421 H2 HOH A 807 13.116 16.990 21.476 1.00 0.00 H -HETATM 2422 O HOH A 808 15.193 17.499 23.941 1.00 0.00 O -HETATM 2423 H1 HOH A 808 15.668 16.688 24.122 1.00 0.00 H -HETATM 2424 H2 HOH A 808 14.530 17.551 24.629 1.00 0.00 H -HETATM 2425 O HOH A 809 22.728 26.647 15.437 1.00 0.00 O -HETATM 2426 H1 HOH A 809 23.353 26.102 15.915 1.00 0.00 H -HETATM 2427 H2 HOH A 809 22.810 26.365 14.526 1.00 0.00 H -HETATM 2428 O HOH A 810 25.035 25.338 16.682 1.00 0.00 O -HETATM 2429 H1 HOH A 810 25.404 26.097 17.135 1.00 0.00 H -HETATM 2430 H2 HOH A 810 25.700 25.093 16.039 1.00 0.00 H -HETATM 2431 O HOH A 811 26.622 20.504 4.675 1.00 0.00 O -HETATM 2432 H1 HOH A 811 27.521 20.220 4.843 1.00 0.00 H -HETATM 2433 H2 HOH A 811 26.093 20.016 5.306 1.00 0.00 H -HETATM 2434 O HOH A 812 29.216 19.160 4.898 1.00 0.00 O -HETATM 2435 H1 HOH A 812 29.378 19.003 3.967 1.00 0.00 H -HETATM 2436 H2 HOH A 812 29.137 18.286 5.281 1.00 0.00 H -HETATM 2437 O HOH A 813 28.815 2.547 21.885 1.00 0.00 O -HETATM 2438 H1 HOH A 813 28.015 2.030 21.794 1.00 0.00 H -HETATM 2439 H2 HOH A 813 28.812 2.838 22.797 1.00 0.00 H -HETATM 2440 O HOH A 814 26.104 1.478 21.586 1.00 0.00 O -HETATM 2441 H1 HOH A 814 25.854 1.940 20.785 1.00 0.00 H -HETATM 2442 H2 HOH A 814 25.508 1.815 22.255 1.00 0.00 H -HETATM 2443 O HOH A 815 27.918 3.616 15.289 1.00 0.00 O -HETATM 2444 H1 HOH A 815 28.027 4.294 14.622 1.00 0.00 H -HETATM 2445 H2 HOH A 815 28.114 4.058 16.116 1.00 0.00 H -HETATM 2446 O HOH A 816 28.815 5.594 13.323 1.00 0.00 O -HETATM 2447 H1 HOH A 816 29.357 5.022 12.779 1.00 0.00 H -HETATM 2448 H2 HOH A 816 29.430 6.223 13.700 1.00 0.00 H -HETATM 2449 O HOH A 817 2.890 24.310 4.156 1.00 0.00 O -HETATM 2450 H1 HOH A 817 2.381 24.824 3.530 1.00 0.00 H -HETATM 2451 H2 HOH A 817 2.288 23.630 4.456 1.00 0.00 H -HETATM 2452 O HOH A 818 1.089 26.113 2.710 1.00 0.00 O -HETATM 2453 H1 HOH A 818 1.352 26.938 3.119 1.00 0.00 H -HETATM 2454 H2 HOH A 818 0.176 25.994 2.969 1.00 0.00 H -HETATM 2455 O HOH A 819 0.526 17.128 6.333 1.00 0.00 O -HETATM 2456 H1 HOH A 819 0.981 17.095 5.492 1.00 0.00 H -HETATM 2457 H2 HOH A 819 -0.014 17.917 6.283 1.00 0.00 H -HETATM 2458 O HOH A 820 2.255 17.435 3.988 1.00 0.00 O -HETATM 2459 H1 HOH A 820 3.101 17.285 4.412 1.00 0.00 H -HETATM 2460 H2 HOH A 820 2.294 18.342 3.685 1.00 0.00 H -HETATM 2461 O HOH A 821 24.004 25.633 4.040 1.00 0.00 O -HETATM 2462 H1 HOH A 821 23.425 25.699 3.281 1.00 0.00 H -HETATM 2463 H2 HOH A 821 24.567 24.882 3.849 1.00 0.00 H -HETATM 2464 O HOH A 822 21.953 25.393 1.962 1.00 0.00 O -HETATM 2465 H1 HOH A 822 21.176 25.463 2.517 1.00 0.00 H -HETATM 2466 H2 HOH A 822 21.911 24.509 1.598 1.00 0.00 H -HETATM 2467 O HOH A 823 15.225 22.630 9.685 1.00 0.00 O -HETATM 2468 H1 HOH A 823 14.487 23.238 9.647 1.00 0.00 H -HETATM 2469 H2 HOH A 823 15.591 22.639 8.801 1.00 0.00 H -HETATM 2470 O HOH A 824 12.695 24.057 9.303 1.00 0.00 O -HETATM 2471 H1 HOH A 824 12.109 23.430 9.729 1.00 0.00 H -HETATM 2472 H2 HOH A 824 12.419 24.062 8.387 1.00 0.00 H -HETATM 2473 O HOH A 825 26.582 13.734 9.454 1.00 0.00 O -HETATM 2474 H1 HOH A 825 25.749 13.843 8.995 1.00 0.00 H -HETATM 2475 H2 HOH A 825 26.674 14.531 9.976 1.00 0.00 H -HETATM 2476 O HOH A 826 24.332 14.420 7.706 1.00 0.00 O -HETATM 2477 H1 HOH A 826 24.722 14.177 6.866 1.00 0.00 H -HETATM 2478 H2 HOH A 826 24.197 15.365 7.646 1.00 0.00 H -HETATM 2479 O HOH A 827 1.526 6.503 7.422 1.00 0.00 O -HETATM 2480 H1 HOH A 827 1.579 6.695 8.358 1.00 0.00 H -HETATM 2481 H2 HOH A 827 1.329 7.346 7.014 1.00 0.00 H -HETATM 2482 O HOH A 828 1.113 7.098 10.261 1.00 0.00 O -HETATM 2483 H1 HOH A 828 0.539 6.363 10.481 1.00 0.00 H -HETATM 2484 H2 HOH A 828 0.570 7.876 10.391 1.00 0.00 H -HETATM 2485 O HOH A 829 2.594 11.522 17.334 1.00 0.00 O -HETATM 2486 H1 HOH A 829 2.103 12.343 17.335 1.00 0.00 H -HETATM 2487 H2 HOH A 829 2.529 11.203 16.434 1.00 0.00 H -HETATM 2488 O HOH A 830 0.628 13.695 17.345 1.00 0.00 O -HETATM 2489 H1 HOH A 830 0.141 13.445 18.131 1.00 0.00 H -HETATM 2490 H2 HOH A 830 -0.004 13.612 16.632 1.00 0.00 H -HETATM 2491 O HOH A 831 12.657 0.133 17.224 1.00 0.00 O -HETATM 2492 H1 HOH A 831 12.418 1.052 17.105 1.00 0.00 H -HETATM 2493 H2 HOH A 831 13.403 -0.000 16.639 1.00 0.00 H -HETATM 2494 O HOH A 832 11.684 2.761 16.370 1.00 0.00 O -HETATM 2495 H1 HOH A 832 10.758 2.543 16.258 1.00 0.00 H -HETATM 2496 H2 HOH A 832 11.987 2.989 15.491 1.00 0.00 H -HETATM 2497 O HOH A 833 29.801 11.235 21.427 1.00 0.00 O -HETATM 2498 H1 HOH A 833 30.003 10.948 22.317 1.00 0.00 H -HETATM 2499 H2 HOH A 833 29.812 12.191 21.473 1.00 0.00 H -HETATM 2500 O HOH A 834 29.872 10.496 24.261 1.00 0.00 O -HETATM 2501 H1 HOH A 834 29.138 9.880 24.268 1.00 0.00 H -HETATM 2502 H2 HOH A 834 29.591 11.214 24.828 1.00 0.00 H -HETATM 2503 O HOH A 835 5.736 23.626 3.037 1.00 0.00 O -HETATM 2504 H1 HOH A 835 6.044 23.002 2.380 1.00 0.00 H -HETATM 2505 H2 HOH A 835 4.782 23.589 2.975 1.00 0.00 H -HETATM 2506 O HOH A 836 6.551 22.134 0.651 1.00 0.00 O -HETATM 2507 H1 HOH A 836 7.175 22.767 0.291 1.00 0.00 H -HETATM 2508 H2 HOH A 836 5.852 22.087 -0.000 1.00 0.00 H -HETATM 2509 O HOH A 837 22.822 20.902 16.012 1.00 0.00 O -HETATM 2510 H1 HOH A 837 22.146 21.234 15.422 1.00 0.00 H -HETATM 2511 H2 HOH A 837 23.025 21.641 16.586 1.00 0.00 H -HETATM 2512 O HOH A 838 21.194 22.179 13.939 1.00 0.00 O -HETATM 2513 H1 HOH A 838 21.653 21.844 13.168 1.00 0.00 H -HETATM 2514 H2 HOH A 838 21.328 23.126 13.908 1.00 0.00 H -HETATM 2515 O HOH A 839 22.315 7.043 26.455 1.00 0.00 O -HETATM 2516 H1 HOH A 839 22.497 7.895 26.059 1.00 0.00 H -HETATM 2517 H2 HOH A 839 21.952 7.251 27.316 1.00 0.00 H -HETATM 2518 O HOH A 840 23.334 9.650 25.590 1.00 0.00 O -HETATM 2519 H1 HOH A 840 24.218 9.382 25.334 1.00 0.00 H -HETATM 2520 H2 HOH A 840 23.466 10.248 26.325 1.00 0.00 H -HETATM 2521 O HOH A 841 7.476 9.112 20.767 1.00 0.00 O -HETATM 2522 H1 HOH A 841 6.921 9.882 20.892 1.00 0.00 H -HETATM 2523 H2 HOH A 841 7.902 9.259 19.922 1.00 0.00 H -HETATM 2524 O HOH A 842 5.426 11.206 20.775 1.00 0.00 O -HETATM 2525 H1 HOH A 842 4.669 10.667 21.006 1.00 0.00 H -HETATM 2526 H2 HOH A 842 5.236 11.527 19.894 1.00 0.00 H -HETATM 2527 O HOH A 843 21.620 4.332 0.872 1.00 0.00 O -HETATM 2528 H1 HOH A 843 22.479 4.420 1.284 1.00 0.00 H -HETATM 2529 H2 HOH A 843 21.806 3.984 -0.000 1.00 0.00 H -HETATM 2530 O HOH A 844 24.295 5.074 1.807 1.00 0.00 O -HETATM 2531 H1 HOH A 844 24.106 5.968 2.093 1.00 0.00 H -HETATM 2532 H2 HOH A 844 24.914 5.177 1.084 1.00 0.00 H -HETATM 2533 O HOH A 845 24.682 7.921 16.884 1.00 0.00 O -HETATM 2534 H1 HOH A 845 25.008 7.023 16.942 1.00 0.00 H -HETATM 2535 H2 HOH A 845 23.743 7.826 16.722 1.00 0.00 H -HETATM 2536 O HOH A 846 25.639 5.181 16.488 1.00 0.00 O -HETATM 2537 H1 HOH A 846 26.359 5.365 15.885 1.00 0.00 H -HETATM 2538 H2 HOH A 846 25.024 4.654 15.977 1.00 0.00 H -HETATM 2539 O HOH A 847 0.647 -0.000 19.760 1.00 0.00 O -HETATM 2540 H1 HOH A 847 1.306 0.460 20.280 1.00 0.00 H -HETATM 2541 H2 HOH A 847 0.458 0.592 19.032 1.00 0.00 H -HETATM 2542 O HOH A 848 2.216 1.719 21.540 1.00 0.00 O -HETATM 2543 H1 HOH A 848 1.736 1.560 22.354 1.00 0.00 H -HETATM 2544 H2 HOH A 848 2.078 2.649 21.356 1.00 0.00 H -HETATM 2545 O HOH A 849 24.722 26.945 21.406 1.00 0.00 O -HETATM 2546 H1 HOH A 849 25.423 26.303 21.291 1.00 0.00 H -HETATM 2547 H2 HOH A 849 24.000 26.447 21.788 1.00 0.00 H -HETATM 2548 O HOH A 850 26.560 24.812 20.597 1.00 0.00 O -HETATM 2549 H1 HOH A 850 26.715 25.090 19.693 1.00 0.00 H -HETATM 2550 H2 HOH A 850 26.118 23.967 20.517 1.00 0.00 H -HETATM 2551 O HOH A 851 15.402 0.057 18.184 1.00 0.00 O -HETATM 2552 H1 HOH A 851 15.967 0.526 17.570 1.00 0.00 H -HETATM 2553 H2 HOH A 851 15.300 0.656 18.923 1.00 0.00 H -HETATM 2554 O HOH A 852 17.555 1.339 16.665 1.00 0.00 O -HETATM 2555 H1 HOH A 852 18.126 0.578 16.553 1.00 0.00 H -HETATM 2556 H2 HOH A 852 18.063 1.946 17.202 1.00 0.00 H -HETATM 2557 O HOH A 853 16.710 2.941 24.035 1.00 0.00 O -HETATM 2558 H1 HOH A 853 17.100 2.506 23.277 1.00 0.00 H -HETATM 2559 H2 HOH A 853 17.377 2.877 24.719 1.00 0.00 H -HETATM 2560 O HOH A 854 17.768 1.124 21.994 1.00 0.00 O -HETATM 2561 H1 HOH A 854 16.979 0.602 21.843 1.00 0.00 H -HETATM 2562 H2 HOH A 854 18.401 0.505 22.357 1.00 0.00 H -HETATM 2563 O HOH A 855 14.222 28.606 4.908 1.00 0.00 O -HETATM 2564 H1 HOH A 855 13.331 28.593 5.258 1.00 0.00 H -HETATM 2565 H2 HOH A 855 14.134 29.011 4.045 1.00 0.00 H -HETATM 2566 O HOH A 856 11.424 28.118 5.627 1.00 0.00 O -HETATM 2567 H1 HOH A 856 11.498 27.197 5.878 1.00 0.00 H -HETATM 2568 H2 HOH A 856 10.850 28.114 4.861 1.00 0.00 H -HETATM 2569 O HOH A 857 6.917 17.260 22.025 1.00 0.00 O -HETATM 2570 H1 HOH A 857 6.398 17.929 22.471 1.00 0.00 H -HETATM 2571 H2 HOH A 857 6.279 16.760 21.517 1.00 0.00 H -HETATM 2572 O HOH A 858 5.181 18.878 23.743 1.00 0.00 O -HETATM 2573 H1 HOH A 858 5.593 18.687 24.586 1.00 0.00 H -HETATM 2574 H2 HOH A 858 4.301 18.509 23.815 1.00 0.00 H -HETATM 2575 O HOH A 859 5.485 15.742 6.793 1.00 0.00 O -HETATM 2576 H1 HOH A 859 4.586 15.800 6.470 1.00 0.00 H -HETATM 2577 H2 HOH A 859 5.741 14.834 6.629 1.00 0.00 H -HETATM 2578 O HOH A 860 2.599 15.651 6.296 1.00 0.00 O -HETATM 2579 H1 HOH A 860 2.300 16.078 7.099 1.00 0.00 H -HETATM 2580 H2 HOH A 860 2.251 14.761 6.352 1.00 0.00 H -HETATM 2581 O HOH A 861 7.824 12.795 27.435 1.00 0.00 O -HETATM 2582 H1 HOH A 861 7.501 12.653 26.546 1.00 0.00 H -HETATM 2583 H2 HOH A 861 7.796 13.745 27.553 1.00 0.00 H -HETATM 2584 O HOH A 862 7.361 12.533 24.554 1.00 0.00 O -HETATM 2585 H1 HOH A 862 8.093 11.952 24.342 1.00 0.00 H -HETATM 2586 H2 HOH A 862 7.552 13.344 24.083 1.00 0.00 H -HETATM 2587 O HOH A 863 15.807 17.641 16.651 1.00 0.00 O -HETATM 2588 H1 HOH A 863 16.482 18.047 16.107 1.00 0.00 H -HETATM 2589 H2 HOH A 863 15.244 17.179 16.030 1.00 0.00 H -HETATM 2590 O HOH A 864 17.462 19.268 14.863 1.00 0.00 O -HETATM 2591 H1 HOH A 864 17.350 20.116 15.294 1.00 0.00 H -HETATM 2592 H2 HOH A 864 17.060 19.380 14.001 1.00 0.00 H -HETATM 2593 O HOH A 865 27.965 18.219 11.106 1.00 0.00 O -HETATM 2594 H1 HOH A 865 28.325 17.400 11.447 1.00 0.00 H -HETATM 2595 H2 HOH A 865 27.018 18.078 11.093 1.00 0.00 H -HETATM 2596 O HOH A 866 28.968 15.514 11.618 1.00 0.00 O -HETATM 2597 H1 HOH A 866 29.615 15.464 10.914 1.00 0.00 H -HETATM 2598 H2 HOH A 866 28.321 14.843 11.401 1.00 0.00 H -HETATM 2599 O HOH A 867 10.136 22.679 23.966 1.00 0.00 O -HETATM 2600 H1 HOH A 867 9.279 22.479 23.591 1.00 0.00 H -HETATM 2601 H2 HOH A 867 10.512 23.331 23.374 1.00 0.00 H -HETATM 2602 O HOH A 868 7.813 21.751 22.442 1.00 0.00 O -HETATM 2603 H1 HOH A 868 7.965 20.808 22.507 1.00 0.00 H -HETATM 2604 H2 HOH A 868 7.894 21.946 21.508 1.00 0.00 H -HETATM 2605 O HOH A 869 17.433 11.274 1.839 1.00 0.00 O -HETATM 2606 H1 HOH A 869 17.468 10.539 2.450 1.00 0.00 H -HETATM 2607 H2 HOH A 869 16.521 11.564 1.862 1.00 0.00 H -HETATM 2608 O HOH A 870 17.292 8.729 3.283 1.00 0.00 O -HETATM 2609 H1 HOH A 870 17.754 8.178 2.650 1.00 0.00 H -HETATM 2610 H2 HOH A 870 16.402 8.376 3.305 1.00 0.00 H -HETATM 2611 O HOH A 871 11.256 1.594 5.068 1.00 0.00 O -HETATM 2612 H1 HOH A 871 11.457 2.102 5.854 1.00 0.00 H -HETATM 2613 H2 HOH A 871 10.968 2.246 4.428 1.00 0.00 H -HETATM 2614 O HOH A 872 11.299 3.162 7.542 1.00 0.00 O -HETATM 2615 H1 HOH A 872 10.793 2.569 8.098 1.00 0.00 H -HETATM 2616 H2 HOH A 872 10.762 3.951 7.478 1.00 0.00 H -HETATM 2617 O HOH A 873 4.959 26.902 7.197 1.00 0.00 O -HETATM 2618 H1 HOH A 873 4.957 25.952 7.311 1.00 0.00 H -HETATM 2619 H2 HOH A 873 5.404 27.043 6.361 1.00 0.00 H -HETATM 2620 O HOH A 874 5.505 24.068 7.697 1.00 0.00 O -HETATM 2621 H1 HOH A 874 5.828 24.139 8.596 1.00 0.00 H -HETATM 2622 H2 HOH A 874 6.255 23.751 7.194 1.00 0.00 H -HETATM 2623 O HOH A 875 18.910 0.174 14.006 1.00 0.00 O -HETATM 2624 H1 HOH A 875 18.069 0.003 14.431 1.00 0.00 H -HETATM 2625 H2 HOH A 875 19.251 0.949 14.453 1.00 0.00 H -HETATM 2626 O HOH A 876 16.148 0.087 14.981 1.00 0.00 O -HETATM 2627 H1 HOH A 876 15.700 0.000 14.139 1.00 0.00 H -HETATM 2628 H2 HOH A 876 15.860 0.934 15.322 1.00 0.00 H -HETATM 2629 O HOH A 877 27.006 28.559 22.572 1.00 0.00 O -HETATM 2630 H1 HOH A 877 27.705 28.181 23.105 1.00 0.00 H -HETATM 2631 H2 HOH A 877 26.813 27.887 21.918 1.00 0.00 H -HETATM 2632 O HOH A 878 29.485 27.545 23.760 1.00 0.00 O -HETATM 2633 H1 HOH A 878 30.011 28.343 23.698 1.00 0.00 H -HETATM 2634 H2 HOH A 878 29.927 26.918 23.189 1.00 0.00 H -HETATM 2635 O HOH A 879 5.693 26.578 3.456 1.00 0.00 O -HETATM 2636 H1 HOH A 879 6.025 27.057 2.698 1.00 0.00 H -HETATM 2637 H2 HOH A 879 5.306 25.783 3.088 1.00 0.00 H -HETATM 2638 O HOH A 880 6.157 28.188 1.053 1.00 0.00 O -HETATM 2639 H1 HOH A 880 5.747 29.003 1.344 1.00 0.00 H -HETATM 2640 H2 HOH A 880 5.621 27.898 0.316 1.00 0.00 H -HETATM 2641 O HOH A 881 16.556 3.192 2.577 1.00 0.00 O -HETATM 2642 H1 HOH A 881 16.971 3.488 1.767 1.00 0.00 H -HETATM 2643 H2 HOH A 881 15.667 3.545 2.535 1.00 0.00 H -HETATM 2644 O HOH A 882 17.868 4.604 0.370 1.00 0.00 O -HETATM 2645 H1 HOH A 882 18.641 4.919 0.840 1.00 0.00 H -HETATM 2646 H2 HOH A 882 17.397 5.399 0.120 1.00 0.00 H -HETATM 2647 O HOH A 883 6.140 1.632 28.477 1.00 0.00 O -HETATM 2648 H1 HOH A 883 5.478 1.763 27.799 1.00 0.00 H -HETATM 2649 H2 HOH A 883 6.695 2.410 28.425 1.00 0.00 H -HETATM 2650 O HOH A 884 4.533 1.878 26.039 1.00 0.00 O -HETATM 2651 H1 HOH A 884 4.663 0.995 25.691 1.00 0.00 H -HETATM 2652 H2 HOH A 884 4.942 2.455 25.395 1.00 0.00 H -HETATM 2653 O HOH A 885 12.173 7.135 0.653 1.00 0.00 O -HETATM 2654 H1 HOH A 885 11.651 6.446 1.065 1.00 0.00 H -HETATM 2655 H2 HOH A 885 12.702 6.677 0.000 1.00 0.00 H -HETATM 2656 O HOH A 886 11.063 4.905 2.196 1.00 0.00 O -HETATM 2657 H1 HOH A 886 11.286 5.213 3.075 1.00 0.00 H -HETATM 2658 H2 HOH A 886 11.570 4.102 2.084 1.00 0.00 H -HETATM 2659 O HOH A 887 14.580 11.014 15.643 1.00 0.00 O -HETATM 2660 H1 HOH A 887 14.867 11.075 16.554 1.00 0.00 H -HETATM 2661 H2 HOH A 887 13.626 11.084 15.686 1.00 0.00 H -HETATM 2662 O HOH A 888 15.283 10.655 18.465 1.00 0.00 O -HETATM 2663 H1 HOH A 888 15.848 9.887 18.376 1.00 0.00 H -HETATM 2664 H2 HOH A 888 14.540 10.351 18.985 1.00 0.00 H -HETATM 2665 O HOH A 889 8.688 13.521 2.924 1.00 0.00 O -HETATM 2666 H1 HOH A 889 7.836 13.561 2.489 1.00 0.00 H -HETATM 2667 H2 HOH A 889 8.694 12.671 3.363 1.00 0.00 H -HETATM 2668 O HOH A 890 5.881 13.761 2.120 1.00 0.00 O -HETATM 2669 H1 HOH A 890 5.706 14.638 2.463 1.00 0.00 H -HETATM 2670 H2 HOH A 890 5.310 13.184 2.627 1.00 0.00 H -HETATM 2671 O HOH A 891 2.718 27.709 15.585 1.00 0.00 O -HETATM 2672 H1 HOH A 891 3.648 27.511 15.475 1.00 0.00 H -HETATM 2673 H2 HOH A 891 2.586 28.519 15.093 1.00 0.00 H -HETATM 2674 O HOH A 892 5.641 27.516 15.646 1.00 0.00 O -HETATM 2675 H1 HOH A 892 5.757 27.370 16.585 1.00 0.00 H -HETATM 2676 H2 HOH A 892 6.061 28.360 15.479 1.00 0.00 H -HETATM 2677 O HOH A 893 14.342 2.116 11.522 1.00 0.00 O -HETATM 2678 H1 HOH A 893 13.811 2.822 11.890 1.00 0.00 H -HETATM 2679 H2 HOH A 893 13.706 1.472 11.212 1.00 0.00 H -HETATM 2680 O HOH A 894 12.654 3.918 13.098 1.00 0.00 O -HETATM 2681 H1 HOH A 894 13.177 3.942 13.900 1.00 0.00 H -HETATM 2682 H2 HOH A 894 11.830 3.505 13.358 1.00 0.00 H -HETATM 2683 O HOH A 895 11.557 19.558 28.292 1.00 0.00 O -HETATM 2684 H1 HOH A 895 12.168 18.838 28.134 1.00 0.00 H -HETATM 2685 H2 HOH A 895 11.250 19.809 27.421 1.00 0.00 H -HETATM 2686 O HOH A 896 13.790 17.773 27.650 1.00 0.00 O -HETATM 2687 H1 HOH A 896 14.457 18.168 28.213 1.00 0.00 H -HETATM 2688 H2 HOH A 896 14.115 17.908 26.760 1.00 0.00 H -HETATM 2689 O HOH A 897 22.018 18.967 22.085 1.00 0.00 O -HETATM 2690 H1 HOH A 897 22.638 19.455 21.543 1.00 0.00 H -HETATM 2691 H2 HOH A 897 21.715 19.602 22.734 1.00 0.00 H -HETATM 2692 O HOH A 898 24.276 20.383 20.869 1.00 0.00 O -HETATM 2693 H1 HOH A 898 24.934 19.689 20.935 1.00 0.00 H -HETATM 2694 H2 HOH A 898 24.607 21.083 21.431 1.00 0.00 H -HETATM 2695 O HOH A 899 19.781 22.785 21.114 1.00 0.00 O -HETATM 2696 H1 HOH A 899 19.724 22.897 20.165 1.00 0.00 H -HETATM 2697 H2 HOH A 899 20.719 22.705 21.291 1.00 0.00 H -HETATM 2698 O HOH A 900 19.700 22.560 18.194 1.00 0.00 O -HETATM 2699 H1 HOH A 900 19.020 21.889 18.120 1.00 0.00 H -HETATM 2700 H2 HOH A 900 20.488 22.147 17.842 1.00 0.00 H -HETATM 2701 O HOH A 901 24.412 16.096 24.961 1.00 0.00 O -HETATM 2702 H1 HOH A 901 25.143 16.044 25.577 1.00 0.00 H -HETATM 2703 H2 HOH A 901 24.690 16.744 24.313 1.00 0.00 H -HETATM 2704 O HOH A 902 26.437 16.432 27.052 1.00 0.00 O -HETATM 2705 H1 HOH A 902 25.854 16.517 27.806 1.00 0.00 H -HETATM 2706 H2 HOH A 902 26.880 17.278 26.992 1.00 0.00 H -HETATM 2707 O HOH A 903 25.829 2.424 4.859 1.00 0.00 O -HETATM 2708 H1 HOH A 903 25.033 2.875 4.580 1.00 0.00 H -HETATM 2709 H2 HOH A 903 25.581 1.501 4.903 1.00 0.00 H -HETATM 2710 O HOH A 904 23.226 3.733 4.552 1.00 0.00 O -HETATM 2711 H1 HOH A 904 23.311 4.388 5.245 1.00 0.00 H -HETATM 2712 H2 HOH A 904 22.505 3.172 4.836 1.00 0.00 H -HETATM 2713 O HOH A 905 5.745 3.882 3.083 1.00 0.00 O -HETATM 2714 H1 HOH A 905 6.023 3.533 2.236 1.00 0.00 H -HETATM 2715 H2 HOH A 905 5.765 3.129 3.673 1.00 0.00 H -HETATM 2716 O HOH A 906 6.059 2.604 0.465 1.00 0.00 O -HETATM 2717 H1 HOH A 906 5.326 3.022 0.012 1.00 0.00 H -HETATM 2718 H2 HOH A 906 5.831 1.675 0.488 1.00 0.00 H -HETATM 2719 O HOH A 907 24.615 29.077 8.037 1.00 0.00 O -HETATM 2720 H1 HOH A 907 25.030 28.425 7.473 1.00 0.00 H -HETATM 2721 H2 HOH A 907 25.002 28.930 8.900 1.00 0.00 H -HETATM 2722 O HOH A 908 25.522 26.714 6.562 1.00 0.00 O -HETATM 2723 H1 HOH A 908 24.679 26.436 6.202 1.00 0.00 H -HETATM 2724 H2 HOH A 908 25.781 26.002 7.146 1.00 0.00 H -HETATM 2725 O HOH A 909 16.462 19.041 0.768 1.00 0.00 O -HETATM 2726 H1 HOH A 909 16.919 19.867 0.610 1.00 0.00 H -HETATM 2727 H2 HOH A 909 16.158 19.104 1.674 1.00 0.00 H -HETATM 2728 O HOH A 910 18.287 21.326 0.587 1.00 0.00 O -HETATM 2729 H1 HOH A 910 19.046 20.876 0.214 1.00 0.00 H -HETATM 2730 H2 HOH A 910 18.580 21.622 1.448 1.00 0.00 H -HETATM 2731 O HOH A 911 21.839 17.783 4.015 1.00 0.00 O -HETATM 2732 H1 HOH A 911 21.130 18.343 3.698 1.00 0.00 H -HETATM 2733 H2 HOH A 911 22.223 18.271 4.744 1.00 0.00 H -HETATM 2734 O HOH A 912 20.093 19.797 2.798 1.00 0.00 O -HETATM 2735 H1 HOH A 912 20.381 19.707 1.889 1.00 0.00 H -HETATM 2736 H2 HOH A 912 20.345 20.687 3.044 1.00 0.00 H -HETATM 2737 O HOH A 913 8.393 2.651 10.731 1.00 0.00 O -HETATM 2738 H1 HOH A 913 8.740 1.833 11.087 1.00 0.00 H -HETATM 2739 H2 HOH A 913 8.408 2.525 9.782 1.00 0.00 H -HETATM 2740 O HOH A 914 9.966 0.362 11.663 1.00 0.00 O -HETATM 2741 H1 HOH A 914 10.572 0.828 12.240 1.00 0.00 H -HETATM 2742 H2 HOH A 914 10.520 -0.000 10.972 1.00 0.00 H -HETATM 2743 O HOH A 915 30.000 24.126 16.607 1.00 0.00 O -HETATM 2744 H1 HOH A 915 29.435 23.599 17.171 1.00 0.00 H -HETATM 2745 H2 HOH A 915 29.581 24.092 15.747 1.00 0.00 H -HETATM 2746 O HOH A 916 28.523 22.065 18.076 1.00 0.00 O -HETATM 2747 H1 HOH A 916 29.268 21.575 18.426 1.00 0.00 H -HETATM 2748 H2 HOH A 916 28.083 21.450 17.489 1.00 0.00 H -HETATM 2749 O HOH A 917 3.888 8.739 19.998 1.00 0.00 O -HETATM 2750 H1 HOH A 917 4.206 8.701 19.097 1.00 0.00 H -HETATM 2751 H2 HOH A 917 4.437 8.117 20.474 1.00 0.00 H -HETATM 2752 O HOH A 918 4.563 8.129 17.214 1.00 0.00 O -HETATM 2753 H1 HOH A 918 3.675 8.038 16.866 1.00 0.00 H -HETATM 2754 H2 HOH A 918 4.951 7.259 17.119 1.00 0.00 H -HETATM 2755 O HOH A 919 20.282 26.979 15.639 1.00 0.00 O -HETATM 2756 H1 HOH A 919 20.752 27.788 15.436 1.00 0.00 H -HETATM 2757 H2 HOH A 919 19.757 27.193 16.410 1.00 0.00 H -HETATM 2758 O HOH A 920 22.058 29.302 15.459 1.00 0.00 O -HETATM 2759 H1 HOH A 920 22.894 28.840 15.382 1.00 0.00 H -HETATM 2760 H2 HOH A 920 22.118 29.775 16.289 1.00 0.00 H -HETATM 2761 O HOH A 921 17.453 6.626 9.600 1.00 0.00 O -HETATM 2762 H1 HOH A 921 17.964 5.942 10.031 1.00 0.00 H -HETATM 2763 H2 HOH A 921 16.792 6.876 10.245 1.00 0.00 H -HETATM 2764 O HOH A 922 18.570 4.195 10.794 1.00 0.00 O -HETATM 2765 H1 HOH A 922 18.509 3.618 10.032 1.00 0.00 H -HETATM 2766 H2 HOH A 922 17.979 3.807 11.439 1.00 0.00 H -HETATM 2767 O HOH A 923 14.181 13.464 11.467 1.00 0.00 O -HETATM 2768 H1 HOH A 923 13.484 13.282 12.096 1.00 0.00 H -HETATM 2769 H2 HOH A 923 13.752 13.959 10.769 1.00 0.00 H -HETATM 2770 O HOH A 924 11.889 12.502 13.017 1.00 0.00 O -HETATM 2771 H1 HOH A 924 12.127 11.576 13.067 1.00 0.00 H -HETATM 2772 H2 HOH A 924 11.078 12.516 12.508 1.00 0.00 H -HETATM 2773 O HOH A 925 7.054 25.285 10.177 1.00 0.00 O -HETATM 2774 H1 HOH A 925 7.086 25.005 11.092 1.00 0.00 H -HETATM 2775 H2 HOH A 925 7.639 24.681 9.720 1.00 0.00 H -HETATM 2776 O HOH A 926 7.660 24.700 12.983 1.00 0.00 O -HETATM 2777 H1 HOH A 926 7.804 25.596 13.289 1.00 0.00 H -HETATM 2778 H2 HOH A 926 8.509 24.270 13.086 1.00 0.00 H -HETATM 2779 O HOH A 927 15.751 2.619 13.913 1.00 0.00 O -HETATM 2780 H1 HOH A 927 14.830 2.384 14.027 1.00 0.00 H -HETATM 2781 H2 HOH A 927 15.834 2.816 12.979 1.00 0.00 H -HETATM 2782 O HOH A 928 13.091 1.396 14.033 1.00 0.00 O -HETATM 2783 H1 HOH A 928 13.317 0.607 14.526 1.00 0.00 H -HETATM 2784 H2 HOH A 928 12.804 1.074 13.179 1.00 0.00 H -HETATM 2785 O HOH A 929 19.496 28.429 5.299 1.00 0.00 O -HETATM 2786 H1 HOH A 929 20.130 28.490 4.585 1.00 0.00 H -HETATM 2787 H2 HOH A 929 19.989 28.051 6.027 1.00 0.00 H -HETATM 2788 O HOH A 930 21.346 28.050 3.059 1.00 0.00 O -HETATM 2789 H1 HOH A 930 20.740 27.643 2.439 1.00 0.00 H -HETATM 2790 H2 HOH A 930 21.998 27.373 3.241 1.00 0.00 H -HETATM 2791 O HOH A 931 2.974 15.478 13.618 1.00 0.00 O -HETATM 2792 H1 HOH A 931 2.505 14.644 13.633 1.00 0.00 H -HETATM 2793 H2 HOH A 931 3.581 15.427 14.357 1.00 0.00 H -HETATM 2794 O HOH A 932 1.244 13.163 14.100 1.00 0.00 O -HETATM 2795 H1 HOH A 932 0.395 13.599 14.021 1.00 0.00 H -HETATM 2796 H2 HOH A 932 1.282 12.869 15.010 1.00 0.00 H -HETATM 2797 O HOH A 933 -0.001 13.690 2.885 1.00 0.00 O -HETATM 2798 H1 HOH A 933 0.736 13.215 3.269 1.00 0.00 H -HETATM 2799 H2 HOH A 933 0.151 14.605 3.125 1.00 0.00 H -HETATM 2800 O HOH A 934 1.963 12.297 4.555 1.00 0.00 O -HETATM 2801 H1 HOH A 934 1.383 11.640 4.941 1.00 0.00 H -HETATM 2802 H2 HOH A 934 2.250 12.832 5.295 1.00 0.00 H -HETATM 2803 O HOH A 935 24.367 12.866 16.077 1.00 0.00 O -HETATM 2804 H1 HOH A 935 25.138 13.191 15.613 1.00 0.00 H -HETATM 2805 H2 HOH A 935 24.506 13.128 16.987 1.00 0.00 H -HETATM 2806 O HOH A 936 26.991 13.404 14.890 1.00 0.00 O -HETATM 2807 H1 HOH A 936 27.129 12.561 14.456 1.00 0.00 H -HETATM 2808 H2 HOH A 936 27.682 13.453 15.550 1.00 0.00 H -HETATM 2809 O HOH A 937 6.449 18.974 14.537 1.00 0.00 O -HETATM 2810 H1 HOH A 937 5.623 18.609 14.854 1.00 0.00 H -HETATM 2811 H2 HOH A 937 6.895 19.280 15.326 1.00 0.00 H -HETATM 2812 O HOH A 938 3.759 18.406 15.550 1.00 0.00 O -HETATM 2813 H1 HOH A 938 3.253 18.888 14.894 1.00 0.00 H -HETATM 2814 H2 HOH A 938 3.581 18.860 16.374 1.00 0.00 H -HETATM 2815 O HOH A 939 15.435 15.272 4.893 1.00 0.00 O -HETATM 2816 H1 HOH A 939 16.266 15.597 4.547 1.00 0.00 H -HETATM 2817 H2 HOH A 939 15.495 15.416 5.838 1.00 0.00 H -HETATM 2818 O HOH A 940 18.191 15.770 4.033 1.00 0.00 O -HETATM 2819 H1 HOH A 940 18.326 14.977 3.513 1.00 0.00 H -HETATM 2820 H2 HOH A 940 18.813 15.695 4.756 1.00 0.00 H -HETATM 2821 O HOH A 941 17.190 17.343 22.398 1.00 0.00 O -HETATM 2822 H1 HOH A 941 16.660 18.134 22.301 1.00 0.00 H -HETATM 2823 H2 HOH A 941 16.623 16.634 22.095 1.00 0.00 H -HETATM 2824 O HOH A 942 15.308 19.581 22.584 1.00 0.00 O -HETATM 2825 H1 HOH A 942 15.519 19.874 23.471 1.00 0.00 H -HETATM 2826 H2 HOH A 942 14.400 19.284 22.637 1.00 0.00 H -HETATM 2827 O HOH A 943 14.701 28.451 29.095 1.00 0.00 O -HETATM 2828 H1 HOH A 943 14.049 27.910 28.649 1.00 0.00 H -HETATM 2829 H2 HOH A 943 14.694 28.139 30.000 1.00 0.00 H -HETATM 2830 O HOH A 944 12.325 27.142 27.989 1.00 0.00 O -HETATM 2831 H1 HOH A 944 11.910 27.908 27.590 1.00 0.00 H -HETATM 2832 H2 HOH A 944 11.715 26.865 28.673 1.00 0.00 H -HETATM 2833 O HOH A 945 19.483 6.991 8.834 1.00 0.00 O -HETATM 2834 H1 HOH A 945 19.617 7.829 9.278 1.00 0.00 H -HETATM 2835 H2 HOH A 945 19.749 7.153 7.929 1.00 0.00 H -HETATM 2836 O HOH A 946 19.403 9.707 9.932 1.00 0.00 O -HETATM 2837 H1 HOH A 946 18.532 9.677 10.329 1.00 0.00 H -HETATM 2838 H2 HOH A 946 19.334 10.371 9.246 1.00 0.00 H -HETATM 2839 O HOH A 947 12.823 29.470 20.600 1.00 0.00 O -HETATM 2840 H1 HOH A 947 12.092 29.101 20.105 1.00 0.00 H -HETATM 2841 H2 HOH A 947 13.603 29.079 20.205 1.00 0.00 H -HETATM 2842 O HOH A 948 10.678 27.871 19.406 1.00 0.00 O -HETATM 2843 H1 HOH A 948 10.205 27.643 20.207 1.00 0.00 H -HETATM 2844 H2 HOH A 948 10.998 27.034 19.068 1.00 0.00 H -HETATM 2845 O HOH A 949 4.744 8.786 2.569 1.00 0.00 O -HETATM 2846 H1 HOH A 949 4.937 8.111 1.919 1.00 0.00 H -HETATM 2847 H2 HOH A 949 5.566 9.268 2.668 1.00 0.00 H -HETATM 2848 O HOH A 950 5.598 6.453 1.017 1.00 0.00 O -HETATM 2849 H1 HOH A 950 5.208 5.767 1.561 1.00 0.00 H -HETATM 2850 H2 HOH A 950 6.541 6.304 1.080 1.00 0.00 H -HETATM 2851 O HOH A 951 0.196 18.628 18.097 1.00 0.00 O -HETATM 2852 H1 HOH A 951 0.504 19.445 18.489 1.00 0.00 H -HETATM 2853 H2 HOH A 951 -0.000 18.856 17.188 1.00 0.00 H -HETATM 2854 O HOH A 952 0.579 21.269 19.308 1.00 0.00 O -HETATM 2855 H1 HOH A 952 -0.001 21.166 20.064 1.00 0.00 H -HETATM 2856 H2 HOH A 952 0.178 21.965 18.788 1.00 0.00 H -HETATM 2857 O HOH A 953 10.464 8.665 11.143 1.00 0.00 O -HETATM 2858 H1 HOH A 953 10.399 8.980 12.045 1.00 0.00 H -HETATM 2859 H2 HOH A 953 10.860 9.393 10.663 1.00 0.00 H -HETATM 2860 O HOH A 954 9.811 9.924 13.707 1.00 0.00 O -HETATM 2861 H1 HOH A 954 8.897 9.646 13.776 1.00 0.00 H -HETATM 2862 H2 HOH A 954 9.770 10.877 13.640 1.00 0.00 H -HETATM 2863 O HOH A 955 9.597 29.279 17.814 1.00 0.00 O -HETATM 2864 H1 HOH A 955 9.162 29.282 18.667 1.00 0.00 H -HETATM 2865 H2 HOH A 955 9.190 30.001 17.334 1.00 0.00 H -HETATM 2866 O HOH A 956 7.832 29.037 20.140 1.00 0.00 O -HETATM 2867 H1 HOH A 956 7.670 28.094 20.102 1.00 0.00 H -HETATM 2868 H2 HOH A 956 6.976 29.436 19.986 1.00 0.00 H -HETATM 2869 O HOH A 957 20.027 19.582 13.152 1.00 0.00 O -HETATM 2870 H1 HOH A 957 20.447 19.509 12.295 1.00 0.00 H -HETATM 2871 H2 HOH A 957 19.903 20.523 13.279 1.00 0.00 H -HETATM 2872 O HOH A 958 21.788 19.519 10.811 1.00 0.00 O -HETATM 2873 H1 HOH A 958 22.460 18.928 11.151 1.00 0.00 H -HETATM 2874 H2 HOH A 958 22.241 20.351 10.679 1.00 0.00 H -HETATM 2875 O HOH A 959 4.475 10.449 5.818 1.00 0.00 O -HETATM 2876 H1 HOH A 959 5.084 11.137 6.085 1.00 0.00 H -HETATM 2877 H2 HOH A 959 3.608 10.841 5.926 1.00 0.00 H -HETATM 2878 O HOH A 960 6.189 12.403 7.170 1.00 0.00 O -HETATM 2879 H1 HOH A 960 6.676 11.802 7.734 1.00 0.00 H -HETATM 2880 H2 HOH A 960 5.696 12.957 7.775 1.00 0.00 H -HETATM 2881 O HOH A 961 15.090 16.401 2.035 1.00 0.00 O -HETATM 2882 H1 HOH A 961 14.466 17.092 1.812 1.00 0.00 H -HETATM 2883 H2 HOH A 961 15.553 16.734 2.804 1.00 0.00 H -HETATM 2884 O HOH A 962 13.639 18.781 1.131 1.00 0.00 O -HETATM 2885 H1 HOH A 962 13.895 18.764 0.208 1.00 0.00 H -HETATM 2886 H2 HOH A 962 14.022 19.588 1.474 1.00 0.00 H -HETATM 2887 O HOH A 963 13.008 20.711 3.071 1.00 0.00 O -HETATM 2888 H1 HOH A 963 12.371 20.751 3.784 1.00 0.00 H -HETATM 2889 H2 HOH A 963 12.594 21.187 2.351 1.00 0.00 H -HETATM 2890 O HOH A 964 10.786 20.421 4.957 1.00 0.00 O -HETATM 2891 H1 HOH A 964 10.858 19.480 5.122 1.00 0.00 H -HETATM 2892 H2 HOH A 964 9.935 20.527 4.531 1.00 0.00 H -HETATM 2893 O HOH A 965 9.769 8.432 26.366 1.00 0.00 O -HETATM 2894 H1 HOH A 965 9.941 8.419 27.307 1.00 0.00 H -HETATM 2895 H2 HOH A 965 10.181 9.239 26.058 1.00 0.00 H -HETATM 2896 O HOH A 966 9.868 8.779 29.274 1.00 0.00 O -HETATM 2897 H1 HOH A 966 8.952 8.584 29.473 1.00 0.00 H -HETATM 2898 H2 HOH A 966 9.979 9.696 29.523 1.00 0.00 H -HETATM 2899 O HOH A 967 17.763 17.299 9.342 1.00 0.00 O -HETATM 2900 H1 HOH A 967 18.574 16.986 9.741 1.00 0.00 H -HETATM 2901 H2 HOH A 967 17.835 17.047 8.421 1.00 0.00 H -HETATM 2902 O HOH A 968 20.482 16.805 10.315 1.00 0.00 O -HETATM 2903 H1 HOH A 968 20.637 17.647 10.744 1.00 0.00 H -HETATM 2904 H2 HOH A 968 21.120 16.776 9.602 1.00 0.00 H -HETATM 2905 O HOH A 969 2.032 11.340 21.916 1.00 0.00 O -HETATM 2906 H1 HOH A 969 1.954 10.442 22.239 1.00 0.00 H -HETATM 2907 H2 HOH A 969 2.926 11.598 22.138 1.00 0.00 H -HETATM 2908 O HOH A 970 1.739 8.842 23.421 1.00 0.00 O -HETATM 2909 H1 HOH A 970 0.909 9.033 23.858 1.00 0.00 H -HETATM 2910 H2 HOH A 970 2.376 8.773 24.131 1.00 0.00 H -HETATM 2911 O HOH A 971 6.030 10.439 23.018 1.00 0.00 O -HETATM 2912 H1 HOH A 971 5.272 10.973 23.253 1.00 0.00 H -HETATM 2913 H2 HOH A 971 5.656 9.627 22.675 1.00 0.00 H -HETATM 2914 O HOH A 972 3.681 11.730 24.200 1.00 0.00 O -HETATM 2915 H1 HOH A 972 4.046 11.932 25.062 1.00 0.00 H -HETATM 2916 H2 HOH A 972 2.978 11.106 24.376 1.00 0.00 H -HETATM 2917 O HOH A 973 22.489 19.121 8.764 1.00 0.00 O -HETATM 2918 H1 HOH A 973 23.086 19.778 8.406 1.00 0.00 H -HETATM 2919 H2 HOH A 973 21.630 19.362 8.417 1.00 0.00 H -HETATM 2920 O HOH A 974 24.096 21.472 8.076 1.00 0.00 O -HETATM 2921 H1 HOH A 974 24.489 21.634 8.934 1.00 0.00 H -HETATM 2922 H2 HOH A 974 23.554 22.243 7.909 1.00 0.00 H -HETATM 2923 O HOH A 975 2.249 10.109 13.276 1.00 0.00 O -HETATM 2924 H1 HOH A 975 3.185 10.308 13.263 1.00 0.00 H -HETATM 2925 H2 HOH A 975 1.842 10.891 13.651 1.00 0.00 H -HETATM 2926 O HOH A 976 5.089 10.602 13.800 1.00 0.00 O -HETATM 2927 H1 HOH A 976 5.310 9.761 14.202 1.00 0.00 H -HETATM 2928 H2 HOH A 976 5.221 11.244 14.497 1.00 0.00 H -HETATM 2929 O HOH A 977 23.989 4.970 18.004 1.00 0.00 O -HETATM 2930 H1 HOH A 977 24.331 5.140 18.881 1.00 0.00 H -HETATM 2931 H2 HOH A 977 23.444 5.732 17.806 1.00 0.00 H -HETATM 2932 O HOH A 978 24.512 5.331 20.864 1.00 0.00 O -HETATM 2933 H1 HOH A 978 24.271 4.455 21.167 1.00 0.00 H -HETATM 2934 H2 HOH A 978 23.874 5.914 21.276 1.00 0.00 H -HETATM 2935 O HOH A 979 13.266 22.958 27.982 1.00 0.00 O -HETATM 2936 H1 HOH A 979 12.605 22.845 28.664 1.00 0.00 H -HETATM 2937 H2 HOH A 979 13.240 23.892 27.774 1.00 0.00 H -HETATM 2938 O HOH A 980 10.867 22.643 29.633 1.00 0.00 O -HETATM 2939 H1 HOH A 980 10.478 21.893 29.182 1.00 0.00 H -HETATM 2940 H2 HOH A 980 10.242 23.356 29.500 1.00 0.00 H -HETATM 2941 O HOH A 981 16.978 21.242 11.455 1.00 0.00 O -HETATM 2942 H1 HOH A 981 16.134 21.694 11.456 1.00 0.00 H -HETATM 2943 H2 HOH A 981 16.953 20.685 12.233 1.00 0.00 H -HETATM 2944 O HOH A 982 14.636 22.953 11.867 1.00 0.00 O -HETATM 2945 H1 HOH A 982 15.051 23.804 11.722 1.00 0.00 H -HETATM 2946 H2 HOH A 982 14.359 22.971 12.783 1.00 0.00 H -HETATM 2947 O HOH A 983 21.319 10.711 22.949 1.00 0.00 O -HETATM 2948 H1 HOH A 983 20.964 11.482 22.508 1.00 0.00 H -HETATM 2949 H2 HOH A 983 21.156 10.870 23.879 1.00 0.00 H -HETATM 2950 O HOH A 984 20.716 13.328 21.779 1.00 0.00 O -HETATM 2951 H1 HOH A 984 21.512 13.441 21.258 1.00 0.00 H -HETATM 2952 H2 HOH A 984 20.750 14.030 22.429 1.00 0.00 H -HETATM 2953 O HOH A 985 12.673 22.835 5.540 1.00 0.00 O -HETATM 2954 H1 HOH A 985 12.543 21.894 5.655 1.00 0.00 H -HETATM 2955 H2 HOH A 985 12.971 22.928 4.636 1.00 0.00 H -HETATM 2956 O HOH A 986 12.849 19.938 5.936 1.00 0.00 O -HETATM 2957 H1 HOH A 986 13.342 19.934 6.757 1.00 0.00 H -HETATM 2958 H2 HOH A 986 13.433 19.523 5.302 1.00 0.00 H -HETATM 2959 O HOH A 987 8.445 23.893 1.988 1.00 0.00 O -HETATM 2960 H1 HOH A 987 8.568 24.101 2.914 1.00 0.00 H -HETATM 2961 H2 HOH A 987 9.276 23.502 1.718 1.00 0.00 H -HETATM 2962 O HOH A 988 9.122 24.977 4.624 1.00 0.00 O -HETATM 2963 H1 HOH A 988 8.784 25.866 4.506 1.00 0.00 H -HETATM 2964 H2 HOH A 988 10.066 25.090 4.736 1.00 0.00 H -HETATM 2965 O HOH A 989 16.315 27.150 3.519 1.00 0.00 O -HETATM 2966 H1 HOH A 989 16.673 26.611 2.814 1.00 0.00 H -HETATM 2967 H2 HOH A 989 17.067 27.640 3.852 1.00 0.00 H -HETATM 2968 O HOH A 990 17.608 25.169 1.789 1.00 0.00 O -HETATM 2969 H1 HOH A 990 17.179 24.382 2.126 1.00 0.00 H -HETATM 2970 H2 HOH A 990 18.533 25.053 2.004 1.00 0.00 H -HETATM 2971 O HOH A 991 5.855 16.055 19.169 1.00 0.00 O -HETATM 2972 H1 HOH A 991 6.185 16.613 18.465 1.00 0.00 H -HETATM 2973 H2 HOH A 991 4.948 16.334 19.293 1.00 0.00 H -HETATM 2974 O HOH A 992 6.901 18.164 17.426 1.00 0.00 O -HETATM 2975 H1 HOH A 992 7.692 18.381 17.920 1.00 0.00 H -HETATM 2976 H2 HOH A 992 6.368 18.958 17.461 1.00 0.00 H -HETATM 2977 O HOH A 993 26.188 14.225 23.476 1.00 0.00 O -HETATM 2978 H1 HOH A 993 26.168 13.326 23.805 1.00 0.00 H -HETATM 2979 H2 HOH A 993 27.077 14.528 23.660 1.00 0.00 H -HETATM 2980 O HOH A 994 26.080 11.725 25.001 1.00 0.00 O -HETATM 2981 H1 HOH A 994 25.260 11.878 25.471 1.00 0.00 H -HETATM 2982 H2 HOH A 994 26.749 11.691 25.684 1.00 0.00 H -HETATM 2983 O HOH A 995 23.580 21.644 27.973 1.00 0.00 O -HETATM 2984 H1 HOH A 995 24.381 21.128 27.876 1.00 0.00 H -HETATM 2985 H2 HOH A 995 23.803 22.504 27.615 1.00 0.00 H -HETATM 2986 O HOH A 996 26.210 20.362 28.137 1.00 0.00 O -HETATM 2987 H1 HOH A 996 26.165 20.057 29.043 1.00 0.00 H -HETATM 2988 H2 HOH A 996 26.923 21.000 28.131 1.00 0.00 H -HETATM 2989 O HOH A 997 6.964 6.761 5.762 1.00 0.00 O -HETATM 2990 H1 HOH A 997 6.343 7.069 6.422 1.00 0.00 H -HETATM 2991 H2 HOH A 997 6.429 6.260 5.145 1.00 0.00 H -HETATM 2992 O HOH A 998 5.096 7.167 7.982 1.00 0.00 O -HETATM 2993 H1 HOH A 998 5.659 6.874 8.700 1.00 0.00 H -HETATM 2994 H2 HOH A 998 4.376 6.537 7.967 1.00 0.00 H -HETATM 2995 O HOH A 999 13.458 2.646 1.148 1.00 0.00 O -HETATM 2996 H1 HOH A 999 13.341 2.796 2.086 1.00 0.00 H -HETATM 2997 H2 HOH A 999 14.305 2.205 1.079 1.00 0.00 H -HETATM 2998 O HOH A1000 13.472 3.539 3.939 1.00 0.00 O -HETATM 2999 H1 HOH A1000 13.233 4.456 3.798 1.00 0.00 H -HETATM 3000 H2 HOH A1000 14.356 3.572 4.302 1.00 0.00 H -HETATM 3001 O HOH A1001 18.811 27.880 8.599 1.00 0.00 O -HETATM 3002 H1 HOH A1001 18.857 27.051 9.075 1.00 0.00 H -HETATM 3003 H2 HOH A1001 18.619 27.628 7.695 1.00 0.00 H -HETATM 3004 O HOH A1002 19.474 25.298 9.814 1.00 0.00 O -HETATM 3005 H1 HOH A1002 20.301 25.543 10.231 1.00 0.00 H -HETATM 3006 H2 HOH A1002 19.717 24.644 9.160 1.00 0.00 H -HETATM 3007 O HOH A1003 14.571 9.605 6.407 1.00 0.00 O -HETATM 3008 H1 HOH A1003 14.674 8.709 6.725 1.00 0.00 H -HETATM 3009 H2 HOH A1003 15.186 10.119 6.931 1.00 0.00 H -HETATM 3010 O HOH A1004 14.565 7.043 7.826 1.00 0.00 O -HETATM 3011 H1 HOH A1004 13.618 6.927 7.912 1.00 0.00 H -HETATM 3012 H2 HOH A1004 14.881 7.128 8.726 1.00 0.00 H -HETATM 3013 O HOH A1005 7.195 20.102 26.904 1.00 0.00 O -HETATM 3014 H1 HOH A1005 6.672 20.324 26.134 1.00 0.00 H -HETATM 3015 H2 HOH A1005 6.856 19.253 27.188 1.00 0.00 H -HETATM 3016 O HOH A1006 5.187 20.919 24.932 1.00 0.00 O -HETATM 3017 H1 HOH A1006 5.012 21.802 25.262 1.00 0.00 H -HETATM 3018 H2 HOH A1006 4.361 20.451 25.045 1.00 0.00 H -HETATM 3019 O HOH A1007 28.740 18.790 16.193 1.00 0.00 O -HETATM 3020 H1 HOH A1007 28.182 18.435 16.885 1.00 0.00 H -HETATM 3021 H2 HOH A1007 29.614 18.457 16.394 1.00 0.00 H -HETATM 3022 O HOH A1008 27.267 18.119 18.635 1.00 0.00 O -HETATM 3023 H1 HOH A1008 26.872 18.975 18.806 1.00 0.00 H -HETATM 3024 H2 HOH A1008 27.851 17.969 19.378 1.00 0.00 H -HETATM 3025 O HOH A1009 24.731 11.057 19.029 1.00 0.00 O -HETATM 3026 H1 HOH A1009 25.214 11.652 18.456 1.00 0.00 H -HETATM 3027 H2 HOH A1009 25.211 11.078 19.857 1.00 0.00 H -HETATM 3028 O HOH A1010 26.582 12.441 17.228 1.00 0.00 O -HETATM 3029 H1 HOH A1010 26.596 11.801 16.516 1.00 0.00 H -HETATM 3030 H2 HOH A1010 27.477 12.447 17.567 1.00 0.00 H -HETATM 3031 O HOH A1011 6.946 9.100 7.018 1.00 0.00 O -HETATM 3032 H1 HOH A1011 6.839 9.440 6.130 1.00 0.00 H -HETATM 3033 H2 HOH A1011 7.465 9.765 7.470 1.00 0.00 H -HETATM 3034 O HOH A1012 7.163 9.963 4.226 1.00 0.00 O -HETATM 3035 H1 HOH A1012 7.424 9.127 3.837 1.00 0.00 H -HETATM 3036 H2 HOH A1012 7.913 10.540 4.085 1.00 0.00 H -HETATM 3037 O HOH A1013 28.814 27.065 19.350 1.00 0.00 O -HETATM 3038 H1 HOH A1013 28.607 26.220 19.748 1.00 0.00 H -HETATM 3039 H2 HOH A1013 28.629 26.945 18.419 1.00 0.00 H -HETATM 3040 O HOH A1014 28.688 24.313 20.348 1.00 0.00 O -HETATM 3041 H1 HOH A1014 29.518 24.295 20.826 1.00 0.00 H -HETATM 3042 H2 HOH A1014 28.798 23.671 19.647 1.00 0.00 H -HETATM 3043 O HOH A1015 12.706 7.219 10.811 1.00 0.00 O -HETATM 3044 H1 HOH A1015 11.938 7.176 10.242 1.00 0.00 H -HETATM 3045 H2 HOH A1015 12.531 7.957 11.395 1.00 0.00 H -HETATM 3046 O HOH A1016 10.598 7.534 8.801 1.00 0.00 O -HETATM 3047 H1 HOH A1016 11.140 7.478 8.013 1.00 0.00 H -HETATM 3048 H2 HOH A1016 10.242 8.422 8.788 1.00 0.00 H -HETATM 3049 O HOH A1017 16.815 11.831 19.519 1.00 0.00 O -HETATM 3050 H1 HOH A1017 17.589 12.315 19.231 1.00 0.00 H -HETATM 3051 H2 HOH A1017 16.700 12.084 20.435 1.00 0.00 H -HETATM 3052 O HOH A1018 19.474 12.909 18.927 1.00 0.00 O -HETATM 3053 H1 HOH A1018 19.866 12.124 18.541 1.00 0.00 H -HETATM 3054 H2 HOH A1018 19.983 13.068 19.721 1.00 0.00 H -END diff --git a/examples/md_ipi/density_0.03338_init.pdb b/examples/md_ipi/density_0.03338_init.pdb deleted file mode 100644 index 681b46d82..000000000 --- a/examples/md_ipi/density_0.03338_init.pdb +++ /dev/null @@ -1,3056 +0,0 @@ -CRYST1 31.24 31.24 31.24 90.00 90.00 90.00 P 1 1 -HETATM 1 O HOH A 1 25.175 22.305 16.545 1.00 0.00 O -HETATM 2 H HOH A 1 24.749 22.864 17.195 1.00 0.00 H -HETATM 3 H HOH A 1 25.475 22.910 15.866 1.00 0.00 H -HETATM 4 O HOH A 2 23.436 24.025 18.158 1.00 0.00 O -HETATM 5 H HOH A 2 22.664 23.459 18.191 1.00 0.00 H -HETATM 6 H HOH A 2 23.149 24.800 17.676 1.00 0.00 H -HETATM 7 O HOH A 3 8.666 17.980 15.216 1.00 0.00 O -HETATM 8 H HOH A 3 9.352 18.623 15.036 1.00 0.00 H -HETATM 9 H HOH A 3 9.137 17.208 15.531 1.00 0.00 H -HETATM 10 O HOH A 4 10.852 19.637 14.187 1.00 0.00 O -HETATM 11 H HOH A 4 10.489 19.836 13.324 1.00 0.00 H -HETATM 12 H HOH A 4 11.639 19.124 14.007 1.00 0.00 H -HETATM 13 O HOH A 5 12.463 22.545 14.108 1.00 0.00 O -HETATM 14 H HOH A 5 13.157 22.267 14.706 1.00 0.00 H -HETATM 15 H HOH A 5 12.379 21.822 13.486 1.00 0.00 H -HETATM 16 O HOH A 6 14.939 21.843 15.510 1.00 0.00 O -HETATM 17 H HOH A 6 15.392 22.683 15.430 1.00 0.00 H -HETATM 18 H HOH A 6 15.475 21.230 15.008 1.00 0.00 H -HETATM 19 O HOH A 7 28.388 4.837 10.557 1.00 0.00 O -HETATM 20 H HOH A 7 28.901 5.392 9.970 1.00 0.00 H -HETATM 21 H HOH A 7 28.756 3.961 10.442 1.00 0.00 H -HETATM 22 O HOH A 8 29.631 6.303 8.346 1.00 0.00 O -HETATM 23 H HOH A 8 28.842 6.702 7.976 1.00 0.00 H -HETATM 24 H HOH A 8 29.950 5.718 7.660 1.00 0.00 H -HETATM 25 O HOH A 9 1.627 18.594 7.581 1.00 0.00 O -HETATM 26 H HOH A 9 1.533 17.842 8.166 1.00 0.00 H -HETATM 27 H HOH A 9 1.127 19.292 8.005 1.00 0.00 H -HETATM 28 O HOH A 10 0.814 16.247 9.136 1.00 0.00 O -HETATM 29 H HOH A 10 0.582 15.667 8.410 1.00 0.00 H -HETATM 30 H HOH A 10 -0.008 16.392 9.603 1.00 0.00 H -HETATM 31 O HOH A 11 6.555 24.911 4.695 1.00 0.00 O -HETATM 32 H HOH A 11 6.717 25.684 5.236 1.00 0.00 H -HETATM 33 H HOH A 11 6.980 24.194 5.165 1.00 0.00 H -HETATM 34 O HOH A 12 7.580 27.256 6.120 1.00 0.00 O -HETATM 35 H HOH A 12 7.874 27.767 5.365 1.00 0.00 H -HETATM 36 H HOH A 12 8.381 27.061 6.606 1.00 0.00 H -HETATM 37 O HOH A 13 22.252 2.396 24.356 1.00 0.00 O -HETATM 38 H HOH A 13 21.446 2.242 24.849 1.00 0.00 H -HETATM 39 H HOH A 13 21.960 2.519 23.452 1.00 0.00 H -HETATM 40 O HOH A 14 19.817 1.393 25.641 1.00 0.00 O -HETATM 41 H HOH A 14 20.190 0.626 26.077 1.00 0.00 H -HETATM 42 H HOH A 14 19.197 1.034 25.007 1.00 0.00 H -HETATM 43 O HOH A 15 27.387 20.314 2.397 1.00 0.00 O -HETATM 44 H HOH A 15 28.249 20.472 2.782 1.00 0.00 H -HETATM 45 H HOH A 15 27.342 20.915 1.654 1.00 0.00 H -HETATM 46 O HOH A 16 29.777 21.270 3.798 1.00 0.00 O -HETATM 47 H HOH A 16 29.409 21.340 4.679 1.00 0.00 H -HETATM 48 H HOH A 16 30.000 22.168 3.557 1.00 0.00 H -HETATM 49 O HOH A 17 24.758 28.817 12.939 1.00 0.00 O -HETATM 50 H HOH A 17 25.054 27.908 12.983 1.00 0.00 H -HETATM 51 H HOH A 17 24.709 29.099 13.852 1.00 0.00 H -HETATM 52 O HOH A 18 25.118 25.923 13.222 1.00 0.00 O -HETATM 53 H HOH A 18 24.430 25.633 12.622 1.00 0.00 H -HETATM 54 H HOH A 18 24.839 25.608 14.081 1.00 0.00 H -HETATM 55 O HOH A 19 1.251 26.111 29.064 1.00 0.00 O -HETATM 56 H HOH A 19 2.177 26.071 28.827 1.00 0.00 H -HETATM 57 H HOH A 19 1.250 26.314 30.000 1.00 0.00 H -HETATM 58 O HOH A 20 4.070 25.471 28.590 1.00 0.00 O -HETATM 59 H HOH A 20 3.955 24.637 28.133 1.00 0.00 H -HETATM 60 H HOH A 20 4.529 25.243 29.398 1.00 0.00 H -HETATM 61 O HOH A 21 27.389 13.595 26.581 1.00 0.00 O -HETATM 62 H HOH A 21 26.487 13.857 26.767 1.00 0.00 H -HETATM 63 H HOH A 21 27.584 13.993 25.732 1.00 0.00 H -HETATM 64 O HOH A 22 24.491 13.985 26.773 1.00 0.00 O -HETATM 65 H HOH A 22 24.239 13.089 26.998 1.00 0.00 H -HETATM 66 H HOH A 22 24.091 14.142 25.918 1.00 0.00 H -HETATM 67 O HOH A 23 27.106 9.133 3.515 1.00 0.00 O -HETATM 68 H HOH A 23 27.018 9.921 2.979 1.00 0.00 H -HETATM 69 H HOH A 23 26.711 9.367 4.355 1.00 0.00 H -HETATM 70 O HOH A 24 27.283 11.738 2.186 1.00 0.00 O -HETATM 71 H HOH A 24 28.202 11.701 1.918 1.00 0.00 H -HETATM 72 H HOH A 24 27.242 12.463 2.808 1.00 0.00 H -HETATM 73 O HOH A 25 15.513 14.065 29.610 1.00 0.00 O -HETATM 74 H HOH A 25 16.141 13.387 29.362 1.00 0.00 H -HETATM 75 H HOH A 25 16.047 14.757 30.000 1.00 0.00 H -HETATM 76 O HOH A 26 17.435 11.862 29.412 1.00 0.00 O -HETATM 77 H HOH A 26 16.909 11.175 29.823 1.00 0.00 H -HETATM 78 H HOH A 26 18.180 11.981 30.000 1.00 0.00 H -HETATM 79 O HOH A 27 6.539 15.263 11.697 1.00 0.00 O -HETATM 80 H HOH A 27 6.868 14.982 12.551 1.00 0.00 H -HETATM 81 H HOH A 27 7.101 15.998 11.452 1.00 0.00 H -HETATM 82 O HOH A 28 7.261 14.865 14.509 1.00 0.00 O -HETATM 83 H HOH A 28 6.379 14.852 14.884 1.00 0.00 H -HETATM 84 H HOH A 28 7.674 15.640 14.888 1.00 0.00 H -HETATM 85 O HOH A 29 29.126 10.153 8.629 1.00 0.00 O -HETATM 86 H HOH A 29 29.255 10.375 7.707 1.00 0.00 H -HETATM 87 H HOH A 29 29.915 9.670 8.873 1.00 0.00 H -HETATM 88 O HOH A 30 29.378 10.281 5.713 1.00 0.00 O -HETATM 89 H HOH A 30 28.504 9.969 5.479 1.00 0.00 H -HETATM 90 H HOH A 30 29.973 9.613 5.373 1.00 0.00 H -HETATM 91 O HOH A 31 15.008 7.594 19.567 1.00 0.00 O -HETATM 92 H HOH A 31 15.119 7.399 20.497 1.00 0.00 H -HETATM 93 H HOH A 31 14.063 7.698 19.454 1.00 0.00 H -HETATM 94 O HOH A 32 15.170 6.470 22.267 1.00 0.00 O -HETATM 95 H HOH A 32 15.742 5.725 22.080 1.00 0.00 H -HETATM 96 H HOH A 32 14.343 6.077 22.544 1.00 0.00 H -HETATM 97 O HOH A 33 24.123 15.176 10.909 1.00 0.00 O -HETATM 98 H HOH A 33 24.901 15.658 10.628 1.00 0.00 H -HETATM 99 H HOH A 33 24.203 14.322 10.485 1.00 0.00 H -HETATM 100 O HOH A 34 26.215 16.717 9.555 1.00 0.00 O -HETATM 101 H HOH A 34 25.696 17.485 9.315 1.00 0.00 H -HETATM 102 H HOH A 34 26.467 16.325 8.719 1.00 0.00 H -HETATM 103 O HOH A 35 25.842 2.926 0.685 1.00 0.00 O -HETATM 104 H HOH A 35 26.459 3.173 1.374 1.00 0.00 H -HETATM 105 H HOH A 35 25.971 3.581 -0.000 1.00 0.00 H -HETATM 106 O HOH A 36 27.340 4.088 2.918 1.00 0.00 O -HETATM 107 H HOH A 36 26.667 4.020 3.596 1.00 0.00 H -HETATM 108 H HOH A 36 27.478 5.029 2.809 1.00 0.00 H -HETATM 109 O HOH A 37 26.934 22.974 29.101 1.00 0.00 O -HETATM 110 H HOH A 37 27.133 23.762 28.595 1.00 0.00 H -HETATM 111 H HOH A 37 26.829 23.286 30.000 1.00 0.00 H -HETATM 112 O HOH A 38 28.069 25.329 27.778 1.00 0.00 O -HETATM 113 H HOH A 38 28.814 24.908 27.348 1.00 0.00 H -HETATM 114 H HOH A 38 28.463 25.938 28.402 1.00 0.00 H -HETATM 115 O HOH A 39 21.401 21.808 8.377 1.00 0.00 O -HETATM 116 H HOH A 39 20.915 21.320 7.713 1.00 0.00 H -HETATM 117 H HOH A 39 21.403 22.711 8.059 1.00 0.00 H -HETATM 118 O HOH A 40 20.402 20.350 6.040 1.00 0.00 O -HETATM 119 H HOH A 40 21.077 19.672 5.993 1.00 0.00 H -HETATM 120 H HOH A 40 20.506 20.852 5.231 1.00 0.00 H -HETATM 121 O HOH A 41 17.146 7.120 23.040 1.00 0.00 O -HETATM 122 H HOH A 41 17.808 7.642 22.587 1.00 0.00 H -HETATM 123 H HOH A 41 17.192 7.412 23.951 1.00 0.00 H -HETATM 124 O HOH A 42 19.546 8.349 21.894 1.00 0.00 O -HETATM 125 H HOH A 42 19.915 7.575 21.468 1.00 0.00 H -HETATM 126 H HOH A 42 20.185 8.585 22.565 1.00 0.00 H -HETATM 127 O HOH A 43 21.518 29.905 1.168 1.00 0.00 O -HETATM 128 H HOH A 43 20.603 29.910 1.447 1.00 0.00 H -HETATM 129 H HOH A 43 21.659 29.024 0.819 1.00 0.00 H -HETATM 130 O HOH A 44 18.913 29.624 2.478 1.00 0.00 O -HETATM 131 H HOH A 44 19.138 30.000 3.329 1.00 0.00 H -HETATM 132 H HOH A 44 18.701 28.710 2.666 1.00 0.00 H -HETATM 133 O HOH A 45 28.600 28.373 12.620 1.00 0.00 O -HETATM 134 H HOH A 45 28.490 27.995 13.493 1.00 0.00 H -HETATM 135 H HOH A 45 28.749 27.619 12.049 1.00 0.00 H -HETATM 136 O HOH A 46 28.839 27.167 15.280 1.00 0.00 O -HETATM 137 H HOH A 46 29.457 27.789 15.665 1.00 0.00 H -HETATM 138 H HOH A 46 29.314 26.337 15.257 1.00 0.00 H -HETATM 139 O HOH A 47 0.133 7.561 21.579 1.00 0.00 O -HETATM 140 H HOH A 47 0.402 6.783 22.067 1.00 0.00 H -HETATM 141 H HOH A 47 -0.005 7.249 20.685 1.00 0.00 H -HETATM 142 O HOH A 48 1.466 5.265 22.818 1.00 0.00 O -HETATM 143 H HOH A 48 2.210 5.724 23.209 1.00 0.00 H -HETATM 144 H HOH A 48 1.857 4.682 22.167 1.00 0.00 H -HETATM 145 O HOH A 49 26.542 3.942 23.693 1.00 0.00 O -HETATM 146 H HOH A 49 27.375 3.926 24.163 1.00 0.00 H -HETATM 147 H HOH A 49 26.763 3.673 22.801 1.00 0.00 H -HETATM 148 O HOH A 50 29.192 4.392 24.859 1.00 0.00 O -HETATM 149 H HOH A 50 29.041 5.263 25.228 1.00 0.00 H -HETATM 150 H HOH A 50 29.862 4.525 24.189 1.00 0.00 H -HETATM 151 O HOH A 51 10.648 21.636 11.400 1.00 0.00 O -HETATM 152 H HOH A 51 11.599 21.644 11.297 1.00 0.00 H -HETATM 153 H HOH A 51 10.505 21.800 12.333 1.00 0.00 H -HETATM 154 O HOH A 52 13.533 21.132 11.314 1.00 0.00 O -HETATM 155 H HOH A 52 13.522 20.313 10.816 1.00 0.00 H -HETATM 156 H HOH A 52 13.882 20.889 12.171 1.00 0.00 H -HETATM 157 O HOH A 53 21.644 12.803 10.659 1.00 0.00 O -HETATM 158 H HOH A 53 21.097 13.432 11.130 1.00 0.00 H -HETATM 159 H HOH A 53 21.173 12.640 9.842 1.00 0.00 H -HETATM 160 O HOH A 54 19.645 14.269 12.222 1.00 0.00 O -HETATM 161 H HOH A 54 19.688 13.755 13.029 1.00 0.00 H -HETATM 162 H HOH A 54 18.757 14.129 11.893 1.00 0.00 H -HETATM 163 O HOH A 55 2.391 20.333 17.493 1.00 0.00 O -HETATM 164 H HOH A 55 3.058 20.789 18.006 1.00 0.00 H -HETATM 165 H HOH A 55 1.676 20.965 17.412 1.00 0.00 H -HETATM 166 O HOH A 56 4.092 21.605 19.511 1.00 0.00 O -HETATM 167 H HOH A 56 4.200 20.858 20.101 1.00 0.00 H -HETATM 168 H HOH A 56 3.614 22.254 20.028 1.00 0.00 H -HETATM 169 O HOH A 57 7.713 2.571 17.467 1.00 0.00 O -HETATM 170 H HOH A 57 8.381 3.171 17.798 1.00 0.00 H -HETATM 171 H HOH A 57 7.070 2.514 18.174 1.00 0.00 H -HETATM 172 O HOH A 58 9.934 3.954 18.786 1.00 0.00 O -HETATM 173 H HOH A 58 10.642 3.358 18.538 1.00 0.00 H -HETATM 174 H HOH A 58 9.884 3.888 19.739 1.00 0.00 H -HETATM 175 O HOH A 59 29.430 3.793 19.811 1.00 0.00 O -HETATM 176 H HOH A 59 28.521 3.507 19.712 1.00 0.00 H -HETATM 177 H HOH A 59 29.447 4.254 20.649 1.00 0.00 H -HETATM 178 O HOH A 60 26.552 3.468 19.364 1.00 0.00 O -HETATM 179 H HOH A 60 26.506 3.805 18.469 1.00 0.00 H -HETATM 180 H HOH A 60 26.035 4.085 19.882 1.00 0.00 H -HETATM 181 O HOH A 61 5.741 19.128 6.617 1.00 0.00 O -HETATM 182 H HOH A 61 6.589 19.285 7.032 1.00 0.00 H -HETATM 183 H HOH A 61 5.956 18.760 5.760 1.00 0.00 H -HETATM 184 O HOH A 62 8.358 20.068 7.541 1.00 0.00 O -HETATM 185 H HOH A 62 8.111 20.959 7.791 1.00 0.00 H -HETATM 186 H HOH A 62 8.975 20.182 6.818 1.00 0.00 H -HETATM 187 O HOH A 63 16.833 7.327 12.868 1.00 0.00 O -HETATM 188 H HOH A 63 17.503 6.702 13.144 1.00 0.00 H -HETATM 189 H HOH A 63 17.251 7.834 12.171 1.00 0.00 H -HETATM 190 O HOH A 64 19.110 5.865 13.992 1.00 0.00 O -HETATM 191 H HOH A 64 18.972 6.072 14.917 1.00 0.00 H -HETATM 192 H HOH A 64 19.946 6.277 13.774 1.00 0.00 H -HETATM 193 O HOH A 65 10.448 22.006 8.592 1.00 0.00 O -HETATM 194 H HOH A 65 9.736 21.720 9.165 1.00 0.00 H -HETATM 195 H HOH A 65 10.130 21.830 7.707 1.00 0.00 H -HETATM 196 O HOH A 66 8.469 20.600 10.233 1.00 0.00 O -HETATM 197 H HOH A 66 9.070 20.103 10.789 1.00 0.00 H -HETATM 198 H HOH A 66 7.996 19.934 9.734 1.00 0.00 H -HETATM 199 O HOH A 67 9.638 7.195 13.398 1.00 0.00 O -HETATM 200 H HOH A 67 9.505 7.014 12.467 1.00 0.00 H -HETATM 201 H HOH A 67 10.582 7.327 13.485 1.00 0.00 H -HETATM 202 O HOH A 68 9.431 6.118 10.681 1.00 0.00 O -HETATM 203 H HOH A 68 8.889 5.351 10.870 1.00 0.00 H -HETATM 204 H HOH A 68 10.262 5.757 10.372 1.00 0.00 H -HETATM 205 O HOH A 69 27.781 11.682 9.460 1.00 0.00 O -HETATM 206 H HOH A 69 26.883 11.579 9.774 1.00 0.00 H -HETATM 207 H HOH A 69 27.692 11.818 8.517 1.00 0.00 H -HETATM 208 O HOH A 70 25.076 10.835 10.201 1.00 0.00 O -HETATM 209 H HOH A 70 25.302 10.049 10.699 1.00 0.00 H -HETATM 210 H HOH A 70 24.581 10.511 9.449 1.00 0.00 H -HETATM 211 O HOH A 71 19.448 22.986 23.278 1.00 0.00 O -HETATM 212 H HOH A 71 19.265 22.883 24.212 1.00 0.00 H -HETATM 213 H HOH A 71 18.642 23.354 22.915 1.00 0.00 H -HETATM 214 O HOH A 72 18.591 22.208 25.970 1.00 0.00 O -HETATM 215 H HOH A 72 18.919 21.309 25.972 1.00 0.00 H -HETATM 216 H HOH A 72 17.640 22.119 26.034 1.00 0.00 H -HETATM 217 O HOH A 73 24.069 17.897 6.744 1.00 0.00 O -HETATM 218 H HOH A 73 24.797 17.437 6.327 1.00 0.00 H -HETATM 219 H HOH A 73 24.304 17.930 7.671 1.00 0.00 H -HETATM 220 O HOH A 74 26.051 16.016 5.687 1.00 0.00 O -HETATM 221 H HOH A 74 25.457 15.431 5.215 1.00 0.00 H -HETATM 222 H HOH A 74 26.432 15.471 6.375 1.00 0.00 H -HETATM 223 O HOH A 75 5.267 14.098 26.296 1.00 0.00 O -HETATM 224 H HOH A 75 4.779 14.829 26.675 1.00 0.00 H -HETATM 225 H HOH A 75 5.581 13.601 27.051 1.00 0.00 H -HETATM 226 O HOH A 76 4.295 16.558 27.557 1.00 0.00 O -HETATM 227 H HOH A 76 4.744 17.193 26.999 1.00 0.00 H -HETATM 228 H HOH A 76 4.672 16.690 28.427 1.00 0.00 H -HETATM 229 O HOH A 77 26.889 12.793 28.975 1.00 0.00 O -HETATM 230 H HOH A 77 26.397 11.979 28.875 1.00 0.00 H -HETATM 231 H HOH A 77 27.389 12.675 29.783 1.00 0.00 H -HETATM 232 O HOH A 78 25.040 10.523 29.075 1.00 0.00 O -HETATM 233 H HOH A 78 24.222 10.995 28.912 1.00 0.00 H -HETATM 234 H HOH A 78 24.945 10.175 29.961 1.00 0.00 H -HETATM 235 O HOH A 79 27.108 20.663 12.545 1.00 0.00 O -HETATM 236 H HOH A 79 27.967 21.067 12.665 1.00 0.00 H -HETATM 237 H HOH A 79 27.144 20.275 11.670 1.00 0.00 H -HETATM 238 O HOH A 80 29.527 22.315 12.572 1.00 0.00 O -HETATM 239 H HOH A 80 29.138 23.136 12.874 1.00 0.00 H -HETATM 240 H HOH A 80 29.842 22.506 11.689 1.00 0.00 H -HETATM 241 O HOH A 81 15.369 6.421 17.677 1.00 0.00 O -HETATM 242 H HOH A 81 15.479 6.016 16.816 1.00 0.00 H -HETATM 243 H HOH A 81 16.230 6.347 18.089 1.00 0.00 H -HETATM 244 O HOH A 82 15.674 4.686 15.336 1.00 0.00 O -HETATM 245 H HOH A 82 14.884 4.156 15.445 1.00 0.00 H -HETATM 246 H HOH A 82 16.397 4.067 15.438 1.00 0.00 H -HETATM 247 O HOH A 83 13.390 27.805 1.684 1.00 0.00 O -HETATM 248 H HOH A 83 12.880 27.091 2.064 1.00 0.00 H -HETATM 249 H HOH A 83 14.199 27.822 2.195 1.00 0.00 H -HETATM 250 O HOH A 84 11.716 25.996 3.267 1.00 0.00 O -HETATM 251 H HOH A 84 10.930 26.541 3.326 1.00 0.00 H -HETATM 252 H HOH A 84 12.024 25.917 4.169 1.00 0.00 H -HETATM 253 O HOH A 85 19.050 18.937 20.460 1.00 0.00 O -HETATM 254 H HOH A 85 18.461 19.586 20.077 1.00 0.00 H -HETATM 255 H HOH A 85 18.470 18.310 20.891 1.00 0.00 H -HETATM 256 O HOH A 86 17.206 21.123 19.825 1.00 0.00 O -HETATM 257 H HOH A 86 17.715 21.851 20.185 1.00 0.00 H -HETATM 258 H HOH A 86 16.414 21.094 20.361 1.00 0.00 H -HETATM 259 O HOH A 87 0.927 3.096 19.204 1.00 0.00 O -HETATM 260 H HOH A 87 0.984 3.974 18.828 1.00 0.00 H -HETATM 261 H HOH A 87 -0.000 2.867 19.143 1.00 0.00 H -HETATM 262 O HOH A 88 0.886 5.953 18.559 1.00 0.00 O -HETATM 263 H HOH A 88 1.400 6.276 19.300 1.00 0.00 H -HETATM 264 H HOH A 88 0.018 6.338 18.681 1.00 0.00 H -HETATM 265 O HOH A 89 27.009 10.380 18.760 1.00 0.00 O -HETATM 266 H HOH A 89 27.698 9.809 19.099 1.00 0.00 H -HETATM 267 H HOH A 89 26.870 10.083 17.861 1.00 0.00 H -HETATM 268 O HOH A 90 29.471 8.967 19.486 1.00 0.00 O -HETATM 269 H HOH A 90 29.969 9.711 19.826 1.00 0.00 H -HETATM 270 H HOH A 90 29.961 8.679 18.716 1.00 0.00 H -HETATM 271 O HOH A 91 27.639 8.241 6.809 1.00 0.00 O -HETATM 272 H HOH A 91 27.261 8.569 7.625 1.00 0.00 H -HETATM 273 H HOH A 91 27.210 7.397 6.668 1.00 0.00 H -HETATM 274 O HOH A 92 26.840 8.867 9.557 1.00 0.00 O -HETATM 275 H HOH A 92 27.704 9.075 9.915 1.00 0.00 H -HETATM 276 H HOH A 92 26.560 8.088 10.037 1.00 0.00 H -HETATM 277 O HOH A 93 11.165 29.212 7.517 1.00 0.00 O -HETATM 278 H HOH A 93 12.067 29.318 7.818 1.00 0.00 H -HETATM 279 H HOH A 93 10.715 30.000 7.825 1.00 0.00 H -HETATM 280 O HOH A 94 13.715 29.379 8.949 1.00 0.00 O -HETATM 281 H HOH A 94 13.736 28.492 9.311 1.00 0.00 H -HETATM 282 H HOH A 94 13.662 29.951 9.715 1.00 0.00 H -HETATM 283 O HOH A 95 3.036 20.745 12.672 1.00 0.00 O -HETATM 284 H HOH A 95 2.823 20.245 11.885 1.00 0.00 H -HETATM 285 H HOH A 95 3.991 20.711 12.728 1.00 0.00 H -HETATM 286 O HOH A 96 2.485 18.754 10.595 1.00 0.00 O -HETATM 287 H HOH A 96 1.816 18.246 11.056 1.00 0.00 H -HETATM 288 H HOH A 96 3.213 18.144 10.479 1.00 0.00 H -HETATM 289 O HOH A 97 10.755 18.042 12.079 1.00 0.00 O -HETATM 290 H HOH A 97 10.520 17.714 11.211 1.00 0.00 H -HETATM 291 H HOH A 97 11.711 18.084 12.069 1.00 0.00 H -HETATM 292 O HOH A 98 10.196 16.527 9.635 1.00 0.00 O -HETATM 293 H HOH A 98 9.605 15.870 10.004 1.00 0.00 H -HETATM 294 H HOH A 98 10.957 16.028 9.338 1.00 0.00 H -HETATM 295 O HOH A 99 21.620 21.445 25.219 1.00 0.00 O -HETATM 296 H HOH A 99 22.188 21.129 24.518 1.00 0.00 H -HETATM 297 H HOH A 99 22.083 22.201 25.581 1.00 0.00 H -HETATM 298 O HOH A 100 23.671 20.252 23.501 1.00 0.00 O -HETATM 299 H HOH A 100 23.614 19.348 23.814 1.00 0.00 H -HETATM 300 H HOH A 100 24.553 20.536 23.742 1.00 0.00 H -HETATM 301 O HOH A 101 16.449 27.071 26.096 1.00 0.00 O -HETATM 302 H HOH A 101 16.758 27.663 26.781 1.00 0.00 H -HETATM 303 H HOH A 101 17.042 27.223 25.360 1.00 0.00 H -HETATM 304 O HOH A 102 17.128 29.291 27.883 1.00 0.00 O -HETATM 305 H HOH A 102 16.244 29.619 28.049 1.00 0.00 H -HETATM 306 H HOH A 102 17.569 30.003 27.421 1.00 0.00 H -HETATM 307 O HOH A 103 23.163 0.135 10.057 1.00 0.00 O -HETATM 308 H HOH A 103 23.826 0.824 10.036 1.00 0.00 H -HETATM 309 H HOH A 103 22.929 -0.001 9.138 1.00 0.00 H -HETATM 310 O HOH A 104 24.744 2.598 9.915 1.00 0.00 O -HETATM 311 H HOH A 104 24.300 3.094 10.604 1.00 0.00 H -HETATM 312 H HOH A 104 24.572 3.090 9.113 1.00 0.00 H -HETATM 313 O HOH A 105 20.635 6.807 23.779 1.00 0.00 O -HETATM 314 H HOH A 105 20.202 5.984 24.007 1.00 0.00 H -HETATM 315 H HOH A 105 21.114 7.054 24.570 1.00 0.00 H -HETATM 316 O HOH A 106 18.940 4.627 24.759 1.00 0.00 O -HETATM 317 H HOH A 106 18.099 4.934 24.419 1.00 0.00 H -HETATM 318 H HOH A 106 18.839 4.649 25.710 1.00 0.00 H -HETATM 319 O HOH A 107 23.557 5.499 28.413 1.00 0.00 O -HETATM 320 H HOH A 107 23.431 6.319 28.891 1.00 0.00 H -HETATM 321 H HOH A 107 23.761 5.770 27.518 1.00 0.00 H -HETATM 322 O HOH A 108 22.657 8.015 29.614 1.00 0.00 O -HETATM 323 H HOH A 108 21.837 7.705 30.001 1.00 0.00 H -HETATM 324 H HOH A 108 22.388 8.653 28.954 1.00 0.00 H -HETATM 325 O HOH A 109 9.191 17.586 7.989 1.00 0.00 O -HETATM 326 H HOH A 109 10.056 17.875 7.699 1.00 0.00 H -HETATM 327 H HOH A 109 8.943 18.211 8.669 1.00 0.00 H -HETATM 328 O HOH A 110 12.023 18.223 7.590 1.00 0.00 O -HETATM 329 H HOH A 110 12.381 17.338 7.658 1.00 0.00 H -HETATM 330 H HOH A 110 12.395 18.693 8.336 1.00 0.00 H -HETATM 331 O HOH A 111 29.214 6.787 4.684 1.00 0.00 O -HETATM 332 H HOH A 111 28.887 6.074 5.233 1.00 0.00 H -HETATM 333 H HOH A 111 28.765 6.671 3.847 1.00 0.00 H -HETATM 334 O HOH A 112 28.578 4.279 6.059 1.00 0.00 O -HETATM 335 H HOH A 112 29.463 4.034 6.330 1.00 0.00 H -HETATM 336 H HOH A 112 28.312 3.591 5.449 1.00 0.00 H -HETATM 337 O HOH A 113 3.798 12.379 9.475 1.00 0.00 O -HETATM 338 H HOH A 113 4.627 11.909 9.387 1.00 0.00 H -HETATM 339 H HOH A 113 3.692 12.506 10.418 1.00 0.00 H -HETATM 340 O HOH A 114 6.029 10.483 9.371 1.00 0.00 O -HETATM 341 H HOH A 114 5.640 9.834 8.783 1.00 0.00 H -HETATM 342 H HOH A 114 6.145 10.018 10.199 1.00 0.00 H -HETATM 343 O HOH A 115 26.692 30.002 17.094 1.00 0.00 O -HETATM 344 H HOH A 115 26.355 29.414 17.769 1.00 0.00 H -HETATM 345 H HOH A 115 26.686 29.479 16.293 1.00 0.00 H -HETATM 346 O HOH A 116 26.188 27.970 19.143 1.00 0.00 O -HETATM 347 H HOH A 116 26.905 28.187 19.741 1.00 0.00 H -HETATM 348 H HOH A 116 26.390 27.088 18.833 1.00 0.00 H -HETATM 349 O HOH A 117 19.996 9.604 6.531 1.00 0.00 O -HETATM 350 H HOH A 117 20.342 8.825 6.097 1.00 0.00 H -HETATM 351 H HOH A 117 20.258 9.505 7.447 1.00 0.00 H -HETATM 352 O HOH A 118 20.607 6.953 5.443 1.00 0.00 O -HETATM 353 H HOH A 118 19.769 6.777 5.013 1.00 0.00 H -HETATM 354 H HOH A 118 20.671 6.288 6.129 1.00 0.00 H -HETATM 355 O HOH A 119 26.521 21.500 6.873 1.00 0.00 O -HETATM 356 H HOH A 119 26.152 22.058 7.557 1.00 0.00 H -HETATM 357 H HOH A 119 27.467 21.629 6.942 1.00 0.00 H -HETATM 358 O HOH A 120 25.498 23.637 8.597 1.00 0.00 O -HETATM 359 H HOH A 120 24.860 24.017 7.993 1.00 0.00 H -HETATM 360 H HOH A 120 26.144 24.329 8.735 1.00 0.00 H -HETATM 361 O HOH A 121 1.945 8.398 14.854 1.00 0.00 O -HETATM 362 H HOH A 121 1.790 8.056 15.734 1.00 0.00 H -HETATM 363 H HOH A 121 2.845 8.723 14.877 1.00 0.00 H -HETATM 364 O HOH A 122 1.411 7.906 17.692 1.00 0.00 O -HETATM 365 H HOH A 122 0.578 8.373 17.766 1.00 0.00 H -HETATM 366 H HOH A 122 2.010 8.389 18.261 1.00 0.00 H -HETATM 367 O HOH A 123 27.303 11.704 22.846 1.00 0.00 O -HETATM 368 H HOH A 123 27.807 11.066 22.341 1.00 0.00 H -HETATM 369 H HOH A 123 27.811 11.832 23.647 1.00 0.00 H -HETATM 370 O HOH A 124 28.619 9.367 21.666 1.00 0.00 O -HETATM 371 H HOH A 124 27.842 8.833 21.500 1.00 0.00 H -HETATM 372 H HOH A 124 29.120 8.871 22.314 1.00 0.00 H -HETATM 373 O HOH A 125 26.904 3.221 11.445 1.00 0.00 O -HETATM 374 H HOH A 125 26.527 3.805 12.103 1.00 0.00 H -HETATM 375 H HOH A 125 26.592 3.568 10.609 1.00 0.00 H -HETATM 376 O HOH A 126 25.264 4.711 13.362 1.00 0.00 O -HETATM 377 H HOH A 126 24.950 3.974 13.887 1.00 0.00 H -HETATM 378 H HOH A 126 24.476 5.073 12.957 1.00 0.00 H -HETATM 379 O HOH A 127 14.087 10.230 2.306 1.00 0.00 O -HETATM 380 H HOH A 127 13.438 10.191 3.008 1.00 0.00 H -HETATM 381 H HOH A 127 14.316 9.316 2.139 1.00 0.00 H -HETATM 382 O HOH A 128 12.556 10.020 4.795 1.00 0.00 O -HETATM 383 H HOH A 128 13.011 10.694 5.302 1.00 0.00 H -HETATM 384 H HOH A 128 12.736 9.204 5.261 1.00 0.00 H -HETATM 385 O HOH A 129 15.695 17.576 19.226 1.00 0.00 O -HETATM 386 H HOH A 129 15.677 16.793 18.676 1.00 0.00 H -HETATM 387 H HOH A 129 16.041 17.273 20.065 1.00 0.00 H -HETATM 388 O HOH A 130 15.166 15.046 17.845 1.00 0.00 O -HETATM 389 H HOH A 130 14.266 15.219 17.568 1.00 0.00 H -HETATM 390 H HOH A 130 15.096 14.312 18.454 1.00 0.00 H -HETATM 391 O HOH A 131 21.987 24.075 15.925 1.00 0.00 O -HETATM 392 H HOH A 131 22.790 23.798 15.483 1.00 0.00 H -HETATM 393 H HOH A 131 21.582 23.260 16.220 1.00 0.00 H -HETATM 394 O HOH A 132 24.089 23.087 14.139 1.00 0.00 O -HETATM 395 H HOH A 132 23.901 23.635 13.377 1.00 0.00 H -HETATM 396 H HOH A 132 23.919 22.193 13.842 1.00 0.00 H -HETATM 397 O HOH A 133 12.024 25.525 14.519 1.00 0.00 O -HETATM 398 H HOH A 133 12.019 24.781 13.917 1.00 0.00 H -HETATM 399 H HOH A 133 11.110 25.805 14.563 1.00 0.00 H -HETATM 400 O HOH A 134 11.970 23.652 12.267 1.00 0.00 O -HETATM 401 H HOH A 134 12.706 24.005 11.767 1.00 0.00 H -HETATM 402 H HOH A 134 11.208 23.787 11.704 1.00 0.00 H -HETATM 403 O HOH A 135 20.349 29.059 23.079 1.00 0.00 O -HETATM 404 H HOH A 135 20.659 28.268 23.519 1.00 0.00 H -HETATM 405 H HOH A 135 21.052 29.696 23.207 1.00 0.00 H -HETATM 406 O HOH A 136 21.144 26.912 24.908 1.00 0.00 O -HETATM 407 H HOH A 136 20.313 26.801 25.370 1.00 0.00 H -HETATM 408 H HOH A 136 21.755 27.218 25.578 1.00 0.00 H -HETATM 409 O HOH A 137 15.082 16.412 10.612 1.00 0.00 O -HETATM 410 H HOH A 137 14.907 16.863 11.437 1.00 0.00 H -HETATM 411 H HOH A 137 16.014 16.557 10.451 1.00 0.00 H -HETATM 412 O HOH A 138 14.556 18.270 12.815 1.00 0.00 O -HETATM 413 H HOH A 138 13.785 18.709 12.453 1.00 0.00 H -HETATM 414 H HOH A 138 15.220 18.957 12.873 1.00 0.00 H -HETATM 415 O HOH A 139 25.564 10.730 13.348 1.00 0.00 O -HETATM 416 H HOH A 139 26.286 11.066 12.817 1.00 0.00 H -HETATM 417 H HOH A 139 25.303 11.470 13.896 1.00 0.00 H -HETATM 418 O HOH A 140 28.084 11.690 12.202 1.00 0.00 O -HETATM 419 H HOH A 140 28.632 10.930 12.402 1.00 0.00 H -HETATM 420 H HOH A 140 28.464 12.404 12.715 1.00 0.00 H -HETATM 421 O HOH A 141 24.845 14.200 19.827 1.00 0.00 O -HETATM 422 H HOH A 141 24.141 14.034 19.201 1.00 0.00 H -HETATM 423 H HOH A 141 24.522 13.841 20.653 1.00 0.00 H -HETATM 424 O HOH A 142 22.434 14.140 18.163 1.00 0.00 O -HETATM 425 H HOH A 142 22.457 15.043 17.843 1.00 0.00 H -HETATM 426 H HOH A 142 21.635 14.090 18.688 1.00 0.00 H -HETATM 427 O HOH A 143 17.784 12.042 14.165 1.00 0.00 O -HETATM 428 H HOH A 143 17.460 12.912 13.933 1.00 0.00 H -HETATM 429 H HOH A 143 17.350 11.838 14.994 1.00 0.00 H -HETATM 430 O HOH A 144 17.168 14.889 13.852 1.00 0.00 O -HETATM 431 H HOH A 144 18.053 15.210 13.674 1.00 0.00 H -HETATM 432 H HOH A 144 16.924 15.298 14.682 1.00 0.00 H -HETATM 433 O HOH A 145 7.784 29.353 2.961 1.00 0.00 O -HETATM 434 H HOH A 145 7.705 28.474 2.591 1.00 0.00 H -HETATM 435 H HOH A 145 7.879 29.926 2.200 1.00 0.00 H -HETATM 436 O HOH A 146 8.111 26.701 1.759 1.00 0.00 O -HETATM 437 H HOH A 146 8.769 26.350 2.361 1.00 0.00 H -HETATM 438 H HOH A 146 8.555 26.741 0.912 1.00 0.00 H -HETATM 439 O HOH A 147 26.892 7.536 13.011 1.00 0.00 O -HETATM 440 H HOH A 147 27.726 7.752 12.593 1.00 0.00 H -HETATM 441 H HOH A 147 27.128 6.947 13.727 1.00 0.00 H -HETATM 442 O HOH A 148 29.397 7.674 11.498 1.00 0.00 O -HETATM 443 H HOH A 148 29.050 7.486 10.625 1.00 0.00 H -HETATM 444 H HOH A 148 29.976 6.937 11.692 1.00 0.00 H -HETATM 445 O HOH A 149 2.022 14.237 19.721 1.00 0.00 O -HETATM 446 H HOH A 149 1.741 14.718 18.943 1.00 0.00 H -HETATM 447 H HOH A 149 1.212 13.893 20.097 1.00 0.00 H -HETATM 448 O HOH A 150 1.003 16.117 17.718 1.00 0.00 O -HETATM 449 H HOH A 150 1.527 16.882 17.958 1.00 0.00 H -HETATM 450 H HOH A 150 0.099 16.376 17.894 1.00 0.00 H -HETATM 451 O HOH A 151 24.256 22.402 25.309 1.00 0.00 O -HETATM 452 H HOH A 151 25.065 22.398 24.797 1.00 0.00 H -HETATM 453 H HOH A 151 24.201 21.520 25.678 1.00 0.00 H -HETATM 454 O HOH A 152 26.417 22.099 23.354 1.00 0.00 O -HETATM 455 H HOH A 152 25.980 22.485 22.594 1.00 0.00 H -HETATM 456 H HOH A 152 26.558 21.184 23.112 1.00 0.00 H -HETATM 457 O HOH A 153 5.524 20.988 14.825 1.00 0.00 O -HETATM 458 H HOH A 153 6.329 21.162 14.338 1.00 0.00 H -HETATM 459 H HOH A 153 5.643 21.445 15.658 1.00 0.00 H -HETATM 460 O HOH A 154 8.216 21.117 13.677 1.00 0.00 O -HETATM 461 H HOH A 154 8.323 20.192 13.454 1.00 0.00 H -HETATM 462 H HOH A 154 8.884 21.284 14.343 1.00 0.00 H -HETATM 463 O HOH A 155 17.978 5.586 3.134 1.00 0.00 O -HETATM 464 H HOH A 155 18.596 6.146 2.665 1.00 0.00 H -HETATM 465 H HOH A 155 18.002 5.903 4.037 1.00 0.00 H -HETATM 466 O HOH A 156 20.273 6.969 1.949 1.00 0.00 O -HETATM 467 H HOH A 156 20.701 6.216 1.541 1.00 0.00 H -HETATM 468 H HOH A 156 20.893 7.270 2.612 1.00 0.00 H -HETATM 469 O HOH A 157 22.229 6.013 13.032 1.00 0.00 O -HETATM 470 H HOH A 157 22.098 5.318 12.388 1.00 0.00 H -HETATM 471 H HOH A 157 22.036 5.600 13.874 1.00 0.00 H -HETATM 472 O HOH A 158 21.269 3.995 11.138 1.00 0.00 O -HETATM 473 H HOH A 158 20.730 4.561 10.584 1.00 0.00 H -HETATM 474 H HOH A 158 20.647 3.389 11.541 1.00 0.00 H -HETATM 475 O HOH A 159 27.948 20.692 15.420 1.00 0.00 O -HETATM 476 H HOH A 159 28.088 21.590 15.122 1.00 0.00 H -HETATM 477 H HOH A 159 27.565 20.244 14.666 1.00 0.00 H -HETATM 478 O HOH A 160 27.809 23.498 14.588 1.00 0.00 O -HETATM 479 H HOH A 160 27.396 23.860 15.372 1.00 0.00 H -HETATM 480 H HOH A 160 27.168 23.635 13.891 1.00 0.00 H -HETATM 481 O HOH A 161 4.662 14.970 10.511 1.00 0.00 O -HETATM 482 H HOH A 161 4.597 14.340 11.229 1.00 0.00 H -HETATM 483 H HOH A 161 4.367 14.487 9.739 1.00 0.00 H -HETATM 484 O HOH A 162 4.952 12.827 12.487 1.00 0.00 O -HETATM 485 H HOH A 162 5.836 13.032 12.795 1.00 0.00 H -HETATM 486 H HOH A 162 5.033 11.966 12.076 1.00 0.00 H -HETATM 487 O HOH A 163 12.166 16.309 29.247 1.00 0.00 O -HETATM 488 H HOH A 163 12.145 15.355 29.176 1.00 0.00 H -HETATM 489 H HOH A 163 12.053 16.620 28.349 1.00 0.00 H -HETATM 490 O HOH A 164 12.640 13.447 28.838 1.00 0.00 O -HETATM 491 H HOH A 164 13.431 13.354 29.369 1.00 0.00 H -HETATM 492 H HOH A 164 12.924 13.253 27.945 1.00 0.00 H -HETATM 493 O HOH A 165 23.236 23.538 20.356 1.00 0.00 O -HETATM 494 H HOH A 165 23.348 24.487 20.307 1.00 0.00 H -HETATM 495 H HOH A 165 24.098 23.183 20.139 1.00 0.00 H -HETATM 496 O HOH A 166 23.553 26.361 19.637 1.00 0.00 O -HETATM 497 H HOH A 166 22.767 26.461 19.098 1.00 0.00 H -HETATM 498 H HOH A 166 24.280 26.498 19.031 1.00 0.00 H -HETATM 499 O HOH A 167 26.700 6.169 27.213 1.00 0.00 O -HETATM 500 H HOH A 167 26.377 6.975 27.614 1.00 0.00 H -HETATM 501 H HOH A 167 27.072 6.448 26.376 1.00 0.00 H -HETATM 502 O HOH A 168 25.274 8.580 28.071 1.00 0.00 O -HETATM 503 H HOH A 168 24.427 8.181 28.275 1.00 0.00 H -HETATM 504 H HOH A 168 25.094 9.171 27.341 1.00 0.00 H -HETATM 505 O HOH A 169 10.291 22.352 20.708 1.00 0.00 O -HETATM 506 H HOH A 169 9.569 22.940 20.486 1.00 0.00 H -HETATM 507 H HOH A 169 10.090 22.048 21.593 1.00 0.00 H -HETATM 508 O HOH A 170 8.360 24.529 20.368 1.00 0.00 O -HETATM 509 H HOH A 170 8.961 25.209 20.064 1.00 0.00 H -HETATM 510 H HOH A 170 8.032 24.853 21.207 1.00 0.00 H -HETATM 511 O HOH A 171 9.126 22.797 5.054 1.00 0.00 O -HETATM 512 H HOH A 171 9.780 23.121 5.673 1.00 0.00 H -HETATM 513 H HOH A 171 9.608 22.682 4.234 1.00 0.00 H -HETATM 514 O HOH A 172 11.053 24.291 6.678 1.00 0.00 O -HETATM 515 H HOH A 172 10.478 25.000 6.969 1.00 0.00 H -HETATM 516 H HOH A 172 11.718 24.723 6.142 1.00 0.00 H -HETATM 517 O HOH A 173 16.589 21.937 17.878 1.00 0.00 O -HETATM 518 H HOH A 173 17.092 21.954 17.064 1.00 0.00 H -HETATM 519 H HOH A 173 15.857 22.533 17.720 1.00 0.00 H -HETATM 520 O HOH A 174 18.321 22.495 15.582 1.00 0.00 O -HETATM 521 H HOH A 174 19.145 22.630 16.052 1.00 0.00 H -HETATM 522 H HOH A 174 18.129 23.343 15.183 1.00 0.00 H -HETATM 523 O HOH A 175 16.339 14.099 11.959 1.00 0.00 O -HETATM 524 H HOH A 175 16.745 13.242 11.832 1.00 0.00 H -HETATM 525 H HOH A 175 16.252 14.459 11.076 1.00 0.00 H -HETATM 526 O HOH A 176 18.067 11.780 11.497 1.00 0.00 O -HETATM 527 H HOH A 176 18.720 11.948 12.177 1.00 0.00 H -HETATM 528 H HOH A 176 18.551 11.849 10.674 1.00 0.00 H -HETATM 529 O HOH A 177 8.677 8.663 23.701 1.00 0.00 O -HETATM 530 H HOH A 177 8.452 8.962 24.582 1.00 0.00 H -HETATM 531 H HOH A 177 9.612 8.849 23.616 1.00 0.00 H -HETATM 532 O HOH A 178 8.000 10.104 26.160 1.00 0.00 O -HETATM 533 H HOH A 178 7.237 10.586 25.840 1.00 0.00 H -HETATM 534 H HOH A 178 8.643 10.781 26.370 1.00 0.00 H -HETATM 535 O HOH A 179 21.950 23.393 23.221 1.00 0.00 O -HETATM 536 H HOH A 179 21.514 24.234 23.362 1.00 0.00 H -HETATM 537 H HOH A 179 22.437 23.508 22.405 1.00 0.00 H -HETATM 538 O HOH A 180 20.249 25.779 23.246 1.00 0.00 O -HETATM 539 H HOH A 180 19.407 25.354 23.415 1.00 0.00 H -HETATM 540 H HOH A 180 20.156 26.163 22.375 1.00 0.00 H -HETATM 541 O HOH A 181 6.137 21.182 17.785 1.00 0.00 O -HETATM 542 H HOH A 181 6.023 22.113 17.974 1.00 0.00 H -HETATM 543 H HOH A 181 5.251 20.820 17.814 1.00 0.00 H -HETATM 544 O HOH A 182 5.731 23.857 18.910 1.00 0.00 O -HETATM 545 H HOH A 182 6.430 23.846 19.564 1.00 0.00 H -HETATM 546 H HOH A 182 4.923 23.914 19.419 1.00 0.00 H -HETATM 547 O HOH A 183 25.045 14.947 13.414 1.00 0.00 O -HETATM 548 H HOH A 183 25.494 14.886 14.256 1.00 0.00 H -HETATM 549 H HOH A 183 25.744 14.894 12.763 1.00 0.00 H -HETATM 550 O HOH A 184 26.559 15.312 15.895 1.00 0.00 O -HETATM 551 H HOH A 184 26.087 16.070 16.242 1.00 0.00 H -HETATM 552 H HOH A 184 27.445 15.633 15.732 1.00 0.00 H -HETATM 553 O HOH A 185 13.628 15.282 24.411 1.00 0.00 O -HETATM 554 H HOH A 185 14.433 15.025 24.861 1.00 0.00 H -HETATM 555 H HOH A 185 13.785 15.061 23.493 1.00 0.00 H -HETATM 556 O HOH A 186 16.304 14.981 25.566 1.00 0.00 O -HETATM 557 H HOH A 186 16.360 15.821 26.022 1.00 0.00 H -HETATM 558 H HOH A 186 16.990 15.021 24.900 1.00 0.00 H -HETATM 559 O HOH A 187 29.204 23.911 2.476 1.00 0.00 O -HETATM 560 H HOH A 187 28.437 23.917 3.048 1.00 0.00 H -HETATM 561 H HOH A 187 28.917 23.441 1.693 1.00 0.00 H -HETATM 562 O HOH A 188 27.003 23.382 4.335 1.00 0.00 O -HETATM 563 H HOH A 188 27.517 23.086 5.087 1.00 0.00 H -HETATM 564 H HOH A 188 26.489 22.617 4.077 1.00 0.00 H -HETATM 565 O HOH A 189 12.916 16.517 10.241 1.00 0.00 O -HETATM 566 H HOH A 189 12.752 16.273 11.152 1.00 0.00 H -HETATM 567 H HOH A 189 12.502 17.375 10.143 1.00 0.00 H -HETATM 568 O HOH A 190 11.884 15.645 12.841 1.00 0.00 O -HETATM 569 H HOH A 190 11.578 14.773 12.590 1.00 0.00 H -HETATM 570 H HOH A 190 11.090 16.118 13.090 1.00 0.00 H -HETATM 571 O HOH A 191 11.078 11.030 8.006 1.00 0.00 O -HETATM 572 H HOH A 191 11.864 11.576 8.013 1.00 0.00 H -HETATM 573 H HOH A 191 11.187 10.442 8.753 1.00 0.00 H -HETATM 574 O HOH A 192 13.740 12.236 7.799 1.00 0.00 O -HETATM 575 H HOH A 192 13.892 12.091 6.864 1.00 0.00 H -HETATM 576 H HOH A 192 14.409 11.710 8.237 1.00 0.00 H -HETATM 577 O HOH A 193 4.690 13.658 19.918 1.00 0.00 O -HETATM 578 H HOH A 193 4.454 14.084 20.742 1.00 0.00 H -HETATM 579 H HOH A 193 4.169 14.111 19.255 1.00 0.00 H -HETATM 580 O HOH A 194 3.490 14.644 22.402 1.00 0.00 O -HETATM 581 H HOH A 194 3.348 13.804 22.838 1.00 0.00 H -HETATM 582 H HOH A 194 2.610 14.996 22.263 1.00 0.00 H -HETATM 583 O HOH A 195 5.212 23.256 12.478 1.00 0.00 O -HETATM 584 H HOH A 195 6.112 23.351 12.168 1.00 0.00 H -HETATM 585 H HOH A 195 5.294 22.818 13.326 1.00 0.00 H -HETATM 586 O HOH A 196 7.921 22.988 11.397 1.00 0.00 O -HETATM 587 H HOH A 196 7.699 22.638 10.534 1.00 0.00 H -HETATM 588 H HOH A 196 8.412 22.286 11.824 1.00 0.00 H -HETATM 589 O HOH A 197 10.802 9.033 20.329 1.00 0.00 O -HETATM 590 H HOH A 197 10.059 9.613 20.166 1.00 0.00 H -HETATM 591 H HOH A 197 10.820 8.926 21.280 1.00 0.00 H -HETATM 592 O HOH A 198 8.885 11.225 20.006 1.00 0.00 O -HETATM 593 H HOH A 198 9.405 11.789 19.433 1.00 0.00 H -HETATM 594 H HOH A 198 8.778 11.731 20.811 1.00 0.00 H -HETATM 595 O HOH A 199 24.079 20.594 5.977 1.00 0.00 O -HETATM 596 H HOH A 199 24.278 21.464 5.631 1.00 0.00 H -HETATM 597 H HOH A 199 23.166 20.651 6.260 1.00 0.00 H -HETATM 598 O HOH A 200 24.727 23.406 5.472 1.00 0.00 O -HETATM 599 H HOH A 200 25.539 23.460 5.976 1.00 0.00 H -HETATM 600 H HOH A 200 24.125 24.001 5.919 1.00 0.00 H -HETATM 601 O HOH A 201 5.847 25.259 17.200 1.00 0.00 O -HETATM 602 H HOH A 201 6.373 24.566 16.800 1.00 0.00 H -HETATM 603 H HOH A 201 4.964 25.120 16.856 1.00 0.00 H -HETATM 604 O HOH A 202 7.438 23.473 15.508 1.00 0.00 O -HETATM 605 H HOH A 202 8.119 24.093 15.244 1.00 0.00 H -HETATM 606 H HOH A 202 6.986 23.250 14.695 1.00 0.00 H -HETATM 607 O HOH A 203 16.212 28.172 20.446 1.00 0.00 O -HETATM 608 H HOH A 203 16.453 27.246 20.457 1.00 0.00 H -HETATM 609 H HOH A 203 16.350 28.446 19.539 1.00 0.00 H -HETATM 610 O HOH A 204 17.492 25.537 20.478 1.00 0.00 O -HETATM 611 H HOH A 204 18.040 25.652 21.255 1.00 0.00 H -HETATM 612 H HOH A 204 18.112 25.429 19.758 1.00 0.00 H -HETATM 613 O HOH A 205 0.384 27.732 22.887 1.00 0.00 O -HETATM 614 H HOH A 205 0.103 28.041 23.748 1.00 0.00 H -HETATM 615 H HOH A 205 0.149 26.804 22.876 1.00 0.00 H -HETATM 616 O HOH A 206 -0.000 28.415 25.710 1.00 0.00 O -HETATM 617 H HOH A 206 0.842 28.842 25.871 1.00 0.00 H -HETATM 618 H HOH A 206 0.010 27.641 26.273 1.00 0.00 H -HETATM 619 O HOH A 207 25.791 9.863 23.635 1.00 0.00 O -HETATM 620 H HOH A 207 24.942 9.618 23.270 1.00 0.00 H -HETATM 621 H HOH A 207 26.430 9.409 23.085 1.00 0.00 H -HETATM 622 O HOH A 208 23.278 8.614 22.795 1.00 0.00 O -HETATM 623 H HOH A 208 22.931 8.393 23.659 1.00 0.00 H -HETATM 624 H HOH A 208 23.421 7.769 22.368 1.00 0.00 H -HETATM 625 O HOH A 209 11.466 22.975 3.032 1.00 0.00 O -HETATM 626 H HOH A 209 11.403 23.072 2.082 1.00 0.00 H -HETATM 627 H HOH A 209 11.266 23.845 3.376 1.00 0.00 H -HETATM 628 O HOH A 210 11.788 23.521 0.171 1.00 0.00 O -HETATM 629 H HOH A 210 12.629 23.084 0.034 1.00 0.00 H -HETATM 630 H HOH A 210 11.965 24.446 -0.001 1.00 0.00 H -HETATM 631 O HOH A 211 15.835 19.922 26.081 1.00 0.00 O -HETATM 632 H HOH A 211 15.371 20.461 26.721 1.00 0.00 H -HETATM 633 H HOH A 211 15.142 19.470 25.600 1.00 0.00 H -HETATM 634 O HOH A 212 14.351 21.077 28.328 1.00 0.00 O -HETATM 635 H HOH A 212 14.913 20.774 29.043 1.00 0.00 H -HETATM 636 H HOH A 212 13.515 20.634 28.473 1.00 0.00 H -HETATM 637 O HOH A 213 22.537 4.162 15.557 1.00 0.00 O -HETATM 638 H HOH A 213 22.941 3.805 14.767 1.00 0.00 H -HETATM 639 H HOH A 213 22.694 3.499 16.229 1.00 0.00 H -HETATM 640 O HOH A 214 23.303 2.736 13.115 1.00 0.00 O -HETATM 641 H HOH A 214 22.522 2.919 12.590 1.00 0.00 H -HETATM 642 H HOH A 214 23.297 1.787 13.235 1.00 0.00 H -HETATM 643 O HOH A 215 3.861 12.999 14.673 1.00 0.00 O -HETATM 644 H HOH A 215 3.370 13.473 15.345 1.00 0.00 H -HETATM 645 H HOH A 215 4.710 13.440 14.640 1.00 0.00 H -HETATM 646 O HOH A 216 2.289 14.846 16.317 1.00 0.00 O -HETATM 647 H HOH A 216 1.522 14.927 15.749 1.00 0.00 H -HETATM 648 H HOH A 216 2.669 15.724 16.336 1.00 0.00 H -HETATM 649 O HOH A 217 15.810 13.518 21.847 1.00 0.00 O -HETATM 650 H HOH A 217 16.488 14.153 21.618 1.00 0.00 H -HETATM 651 H HOH A 217 15.472 13.820 22.690 1.00 0.00 H -HETATM 652 O HOH A 218 18.206 15.175 21.532 1.00 0.00 O -HETATM 653 H HOH A 218 18.834 14.483 21.324 1.00 0.00 H -HETATM 654 H HOH A 218 18.508 15.534 22.366 1.00 0.00 H -HETATM 655 O HOH A 219 9.820 6.403 21.283 1.00 0.00 O -HETATM 656 H HOH A 219 9.057 6.159 21.806 1.00 0.00 H -HETATM 657 H HOH A 219 9.519 6.341 20.376 1.00 0.00 H -HETATM 658 O HOH A 220 7.622 5.119 22.734 1.00 0.00 O -HETATM 659 H HOH A 220 8.135 4.508 23.263 1.00 0.00 H -HETATM 660 H HOH A 220 7.092 4.561 22.165 1.00 0.00 H -HETATM 661 O HOH A 221 6.909 7.937 14.295 1.00 0.00 O -HETATM 662 H HOH A 221 6.983 8.363 13.441 1.00 0.00 H -HETATM 663 H HOH A 221 7.798 7.952 14.649 1.00 0.00 H -HETATM 664 O HOH A 222 7.359 8.736 11.512 1.00 0.00 O -HETATM 665 H HOH A 222 6.873 8.034 11.080 1.00 0.00 H -HETATM 666 H HOH A 222 8.267 8.604 11.242 1.00 0.00 H -HETATM 667 O HOH A 223 6.284 13.490 29.853 1.00 0.00 O -HETATM 668 H HOH A 223 5.430 13.059 29.857 1.00 0.00 H -HETATM 669 H HOH A 223 6.258 14.069 29.092 1.00 0.00 H -HETATM 670 O HOH A 224 3.892 11.849 29.441 1.00 0.00 O -HETATM 671 H HOH A 224 4.289 10.984 29.552 1.00 0.00 H -HETATM 672 H HOH A 224 3.597 11.864 28.531 1.00 0.00 H -HETATM 673 O HOH A 225 9.697 13.757 8.227 1.00 0.00 O -HETATM 674 H HOH A 225 10.428 14.333 8.005 1.00 0.00 H -HETATM 675 H HOH A 225 9.613 13.831 9.178 1.00 0.00 H -HETATM 676 O HOH A 226 12.261 15.089 7.746 1.00 0.00 O -HETATM 677 H HOH A 226 12.676 14.414 7.207 1.00 0.00 H -HETATM 678 H HOH A 226 12.799 15.132 8.536 1.00 0.00 H -HETATM 679 O HOH A 227 19.115 23.034 12.695 1.00 0.00 O -HETATM 680 H HOH A 227 19.198 23.785 13.282 1.00 0.00 H -HETATM 681 H HOH A 227 18.693 22.359 13.226 1.00 0.00 H -HETATM 682 O HOH A 228 19.812 25.039 14.715 1.00 0.00 O -HETATM 683 H HOH A 228 20.733 25.164 14.483 1.00 0.00 H -HETATM 684 H HOH A 228 19.833 24.669 15.597 1.00 0.00 H -HETATM 685 O HOH A 229 2.320 26.551 8.725 1.00 0.00 O -HETATM 686 H HOH A 229 2.829 25.859 8.303 1.00 0.00 H -HETATM 687 H HOH A 229 1.878 26.114 9.453 1.00 0.00 H -HETATM 688 O HOH A 230 3.370 24.275 7.208 1.00 0.00 O -HETATM 689 H HOH A 230 3.048 24.519 6.340 1.00 0.00 H -HETATM 690 H HOH A 230 2.912 23.461 7.416 1.00 0.00 H -HETATM 691 O HOH A 231 14.324 23.521 6.821 1.00 0.00 O -HETATM 692 H HOH A 231 14.851 23.428 6.028 1.00 0.00 H -HETATM 693 H HOH A 231 14.714 24.263 7.284 1.00 0.00 H -HETATM 694 O HOH A 232 16.322 22.991 4.745 1.00 0.00 O -HETATM 695 H HOH A 232 16.425 22.049 4.881 1.00 0.00 H -HETATM 696 H HOH A 232 17.176 23.363 4.964 1.00 0.00 H -HETATM 697 O HOH A 233 18.185 8.776 7.544 1.00 0.00 O -HETATM 698 H HOH A 233 17.735 9.579 7.285 1.00 0.00 H -HETATM 699 H HOH A 233 17.666 8.433 8.271 1.00 0.00 H -HETATM 700 O HOH A 234 17.059 11.461 7.216 1.00 0.00 O -HETATM 701 H HOH A 234 17.876 11.961 7.216 1.00 0.00 H -HETATM 702 H HOH A 234 16.596 11.755 8.000 1.00 0.00 H -HETATM 703 O HOH A 235 1.501 22.598 21.725 1.00 0.00 O -HETATM 704 H HOH A 235 2.245 23.127 22.010 1.00 0.00 H -HETATM 705 H HOH A 235 1.569 22.581 20.770 1.00 0.00 H -HETATM 706 O HOH A 236 3.455 24.664 22.430 1.00 0.00 O -HETATM 707 H HOH A 236 2.903 25.194 23.006 1.00 0.00 H -HETATM 708 H HOH A 236 3.655 25.237 21.691 1.00 0.00 H -HETATM 709 O HOH A 237 2.932 24.787 19.083 1.00 0.00 O -HETATM 710 H HOH A 237 2.804 25.552 18.523 1.00 0.00 H -HETATM 711 H HOH A 237 2.339 24.928 19.822 1.00 0.00 H -HETATM 712 O HOH A 238 2.869 27.399 17.757 1.00 0.00 O -HETATM 713 H HOH A 238 3.813 27.544 17.679 1.00 0.00 H -HETATM 714 H HOH A 238 2.565 28.093 18.342 1.00 0.00 H -HETATM 715 O HOH A 239 11.194 11.595 16.052 1.00 0.00 O -HETATM 716 H HOH A 239 11.813 12.310 15.905 1.00 0.00 H -HETATM 717 H HOH A 239 11.270 11.047 15.271 1.00 0.00 H -HETATM 718 O HOH A 240 12.681 13.989 15.250 1.00 0.00 O -HETATM 719 H HOH A 240 12.029 14.650 15.486 1.00 0.00 H -HETATM 720 H HOH A 240 12.764 14.060 14.300 1.00 0.00 H -HETATM 721 O HOH A 241 25.336 16.298 19.383 1.00 0.00 O -HETATM 722 H HOH A 241 24.616 16.553 19.960 1.00 0.00 H -HETATM 723 H HOH A 241 24.909 16.015 18.575 1.00 0.00 H -HETATM 724 O HOH A 242 23.064 16.510 21.221 1.00 0.00 O -HETATM 725 H HOH A 242 23.420 16.000 21.950 1.00 0.00 H -HETATM 726 H HOH A 242 22.309 16.006 20.919 1.00 0.00 H -HETATM 727 O HOH A 243 1.774 29.045 2.649 1.00 0.00 O -HETATM 728 H HOH A 243 2.669 28.758 2.833 1.00 0.00 H -HETATM 729 H HOH A 243 1.830 30.000 2.617 1.00 0.00 H -HETATM 730 O HOH A 244 4.392 28.327 3.751 1.00 0.00 O -HETATM 731 H HOH A 244 4.099 27.743 4.451 1.00 0.00 H -HETATM 732 H HOH A 244 4.806 29.061 4.205 1.00 0.00 H -HETATM 733 O HOH A 245 16.569 27.266 6.986 1.00 0.00 O -HETATM 734 H HOH A 245 16.482 26.377 7.330 1.00 0.00 H -HETATM 735 H HOH A 245 16.423 27.174 6.044 1.00 0.00 H -HETATM 736 O HOH A 246 16.835 24.472 7.826 1.00 0.00 O -HETATM 737 H HOH A 246 17.648 24.548 8.327 1.00 0.00 H -HETATM 738 H HOH A 246 17.055 23.895 7.095 1.00 0.00 H -HETATM 739 O HOH A 247 15.176 5.598 11.031 1.00 0.00 O -HETATM 740 H HOH A 247 15.005 4.717 10.701 1.00 0.00 H -HETATM 741 H HOH A 247 14.349 5.872 11.427 1.00 0.00 H -HETATM 742 O HOH A 248 14.381 3.173 9.593 1.00 0.00 O -HETATM 743 H HOH A 248 14.761 3.381 8.738 1.00 0.00 H -HETATM 744 H HOH A 248 13.437 3.140 9.436 1.00 0.00 H -HETATM 745 O HOH A 249 28.455 28.705 7.190 1.00 0.00 O -HETATM 746 H HOH A 249 28.054 27.926 7.577 1.00 0.00 H -HETATM 747 H HOH A 249 29.299 28.787 7.634 1.00 0.00 H -HETATM 748 O HOH A 250 27.114 26.671 8.819 1.00 0.00 O -HETATM 749 H HOH A 250 26.285 27.128 8.967 1.00 0.00 H -HETATM 750 H HOH A 250 27.505 26.592 9.689 1.00 0.00 H -HETATM 751 O HOH A 251 18.415 14.251 28.405 1.00 0.00 O -HETATM 752 H HOH A 251 19.152 13.973 28.947 1.00 0.00 H -HETATM 753 H HOH A 251 18.542 13.793 27.574 1.00 0.00 H -HETATM 754 O HOH A 252 20.974 13.774 29.749 1.00 0.00 O -HETATM 755 H HOH A 252 21.176 14.676 30.000 1.00 0.00 H -HETATM 756 H HOH A 252 21.666 13.535 29.132 1.00 0.00 H -HETATM 757 O HOH A 253 20.062 20.314 16.346 1.00 0.00 O -HETATM 758 H HOH A 253 20.695 19.602 16.264 1.00 0.00 H -HETATM 759 H HOH A 253 20.014 20.695 15.469 1.00 0.00 H -HETATM 760 O HOH A 254 22.393 18.555 16.109 1.00 0.00 O -HETATM 761 H HOH A 254 22.871 18.843 16.888 1.00 0.00 H -HETATM 762 H HOH A 254 22.956 18.800 15.376 1.00 0.00 H -HETATM 763 O HOH A 255 23.681 23.160 2.801 1.00 0.00 O -HETATM 764 H HOH A 255 23.981 23.694 2.066 1.00 0.00 H -HETATM 765 H HOH A 255 22.879 22.744 2.486 1.00 0.00 H -HETATM 766 O HOH A 256 24.182 25.157 0.717 1.00 0.00 O -HETATM 767 H HOH A 256 24.307 25.923 1.279 1.00 0.00 H -HETATM 768 H HOH A 256 23.394 25.354 0.211 1.00 0.00 H -HETATM 769 O HOH A 257 2.153 15.801 10.823 1.00 0.00 O -HETATM 770 H HOH A 257 2.514 16.225 11.601 1.00 0.00 H -HETATM 771 H HOH A 257 2.767 16.019 10.123 1.00 0.00 H -HETATM 772 O HOH A 258 3.039 17.581 12.975 1.00 0.00 O -HETATM 773 H HOH A 258 2.191 17.965 13.203 1.00 0.00 H -HETATM 774 H HOH A 258 3.556 18.315 12.646 1.00 0.00 H -HETATM 775 O HOH A 259 22.907 9.720 14.034 1.00 0.00 O -HETATM 776 H HOH A 259 23.417 10.258 13.430 1.00 0.00 H -HETATM 777 H HOH A 259 22.341 9.193 13.469 1.00 0.00 H -HETATM 778 O HOH A 260 23.987 11.682 12.146 1.00 0.00 O -HETATM 779 H HOH A 260 23.802 12.479 12.644 1.00 0.00 H -HETATM 780 H HOH A 260 23.449 11.758 11.358 1.00 0.00 H -HETATM 781 O HOH A 261 10.601 13.782 17.910 1.00 0.00 O -HETATM 782 H HOH A 261 10.612 13.825 16.954 1.00 0.00 H -HETATM 783 H HOH A 261 10.795 12.867 18.111 1.00 0.00 H -HETATM 784 O HOH A 262 10.114 13.671 15.023 1.00 0.00 O -HETATM 785 H HOH A 262 9.279 14.140 14.999 1.00 0.00 H -HETATM 786 H HOH A 262 9.902 12.785 14.727 1.00 0.00 H -HETATM 787 O HOH A 263 8.827 17.684 5.049 1.00 0.00 O -HETATM 788 H HOH A 263 9.085 18.121 4.237 1.00 0.00 H -HETATM 789 H HOH A 263 9.129 18.269 5.743 1.00 0.00 H -HETATM 790 O HOH A 264 10.143 18.821 2.691 1.00 0.00 O -HETATM 791 H HOH A 264 10.529 18.018 2.340 1.00 0.00 H -HETATM 792 H HOH A 264 10.892 19.368 2.925 1.00 0.00 H -HETATM 793 O HOH A 265 11.640 23.811 25.899 1.00 0.00 O -HETATM 794 H HOH A 265 11.467 24.739 25.742 1.00 0.00 H -HETATM 795 H HOH A 265 12.567 23.700 25.688 1.00 0.00 H -HETATM 796 O HOH A 266 11.106 26.499 24.863 1.00 0.00 O -HETATM 797 H HOH A 266 10.322 26.302 24.349 1.00 0.00 H -HETATM 798 H HOH A 266 11.757 26.772 24.217 1.00 0.00 H -HETATM 799 O HOH A 267 8.437 5.791 7.271 1.00 0.00 O -HETATM 800 H HOH A 267 7.976 4.969 7.105 1.00 0.00 H -HETATM 801 H HOH A 267 9.169 5.546 7.837 1.00 0.00 H -HETATM 802 O HOH A 268 6.818 3.348 7.294 1.00 0.00 O -HETATM 803 H HOH A 268 5.970 3.739 7.506 1.00 0.00 H -HETATM 804 H HOH A 268 7.022 2.789 8.043 1.00 0.00 H -HETATM 805 O HOH A 269 24.587 1.636 18.063 1.00 0.00 O -HETATM 806 H HOH A 269 25.502 1.907 17.989 1.00 0.00 H -HETATM 807 H HOH A 269 24.434 1.559 19.005 1.00 0.00 H -HETATM 808 O HOH A 270 27.501 1.913 17.949 1.00 0.00 O -HETATM 809 H HOH A 270 27.685 1.242 17.291 1.00 0.00 H -HETATM 810 H HOH A 270 27.925 1.593 18.745 1.00 0.00 H -HETATM 811 O HOH A 271 21.433 22.378 27.886 1.00 0.00 O -HETATM 812 H HOH A 271 20.658 22.782 27.498 1.00 0.00 H -HETATM 813 H HOH A 271 21.111 21.954 28.681 1.00 0.00 H -HETATM 814 O HOH A 272 19.133 24.016 27.105 1.00 0.00 O -HETATM 815 H HOH A 272 19.586 24.852 26.983 1.00 0.00 H -HETATM 816 H HOH A 272 18.535 24.169 27.836 1.00 0.00 H -HETATM 817 O HOH A 273 9.698 16.993 0.579 1.00 0.00 O -HETATM 818 H HOH A 273 8.776 16.864 0.800 1.00 0.00 H -HETATM 819 H HOH A 273 9.702 17.755 -0.001 1.00 0.00 H -HETATM 820 O HOH A 274 6.840 16.367 0.729 1.00 0.00 O -HETATM 821 H HOH A 274 6.887 15.432 0.529 1.00 0.00 H -HETATM 822 H HOH A 274 6.350 16.746 -0.001 1.00 0.00 H -HETATM 823 O HOH A 275 27.640 1.351 27.201 1.00 0.00 O -HETATM 824 H HOH A 275 27.044 1.091 26.499 1.00 0.00 H -HETATM 825 H HOH A 275 27.566 0.652 27.851 1.00 0.00 H -HETATM 826 O HOH A 276 25.402 0.744 25.410 1.00 0.00 O -HETATM 827 H HOH A 276 25.001 1.613 25.381 1.00 0.00 H -HETATM 828 H HOH A 276 24.746 0.188 25.829 1.00 0.00 H -HETATM 829 O HOH A 277 12.208 13.594 23.941 1.00 0.00 O -HETATM 830 H HOH A 277 11.292 13.672 24.206 1.00 0.00 H -HETATM 831 H HOH A 277 12.471 12.723 24.237 1.00 0.00 H -HETATM 832 O HOH A 278 9.623 13.929 25.279 1.00 0.00 O -HETATM 833 H HOH A 278 9.772 14.791 25.668 1.00 0.00 H -HETATM 834 H HOH A 278 9.525 13.339 26.026 1.00 0.00 H -HETATM 835 O HOH A 279 23.647 7.573 18.993 1.00 0.00 O -HETATM 836 H HOH A 279 24.596 7.463 19.058 1.00 0.00 H -HETATM 837 H HOH A 279 23.339 7.551 19.899 1.00 0.00 H -HETATM 838 O HOH A 280 26.423 6.680 19.280 1.00 0.00 O -HETATM 839 H HOH A 280 26.426 5.999 18.606 1.00 0.00 H -HETATM 840 H HOH A 280 26.567 6.209 20.100 1.00 0.00 H -HETATM 841 O HOH A 281 8.505 26.962 9.236 1.00 0.00 O -HETATM 842 H HOH A 281 9.118 26.228 9.212 1.00 0.00 H -HETATM 843 H HOH A 281 8.326 27.097 10.166 1.00 0.00 H -HETATM 844 O HOH A 282 9.915 24.394 9.260 1.00 0.00 O -HETATM 845 H HOH A 282 9.405 23.943 8.586 1.00 0.00 H -HETATM 846 H HOH A 282 9.748 23.899 10.062 1.00 0.00 H -HETATM 847 O HOH A 283 4.780 19.683 10.363 1.00 0.00 O -HETATM 848 H HOH A 283 5.409 19.082 10.762 1.00 0.00 H -HETATM 849 H HOH A 283 4.782 19.451 9.435 1.00 0.00 H -HETATM 850 O HOH A 284 7.100 18.196 11.358 1.00 0.00 O -HETATM 851 H HOH A 284 7.540 18.908 11.823 1.00 0.00 H -HETATM 852 H HOH A 284 7.704 17.957 10.655 1.00 0.00 H -HETATM 853 O HOH A 285 15.900 23.458 25.893 1.00 0.00 O -HETATM 854 H HOH A 285 15.329 23.981 25.331 1.00 0.00 H -HETATM 855 H HOH A 285 15.312 23.071 26.541 1.00 0.00 H -HETATM 856 O HOH A 286 14.162 25.436 24.609 1.00 0.00 O -HETATM 857 H HOH A 286 14.740 26.197 24.669 1.00 0.00 H -HETATM 858 H HOH A 286 13.408 25.662 25.155 1.00 0.00 H -HETATM 859 O HOH A 287 5.833 14.639 23.629 1.00 0.00 O -HETATM 860 H HOH A 287 5.092 14.867 24.190 1.00 0.00 H -HETATM 861 H HOH A 287 5.630 15.044 22.786 1.00 0.00 H -HETATM 862 O HOH A 288 3.290 14.918 25.057 1.00 0.00 O -HETATM 863 H HOH A 288 3.191 14.013 25.354 1.00 0.00 H -HETATM 864 H HOH A 288 2.556 15.059 24.461 1.00 0.00 H -HETATM 865 O HOH A 289 1.993 21.572 1.364 1.00 0.00 O -HETATM 866 H HOH A 289 2.733 22.178 1.359 1.00 0.00 H -HETATM 867 H HOH A 289 2.173 20.967 0.644 1.00 0.00 H -HETATM 868 O HOH A 290 3.989 23.666 0.900 1.00 0.00 O -HETATM 869 H HOH A 290 3.411 24.429 0.943 1.00 0.00 H -HETATM 870 H HOH A 290 4.315 23.660 0.000 1.00 0.00 H -HETATM 871 O HOH A 291 14.877 15.104 27.481 1.00 0.00 O -HETATM 872 H HOH A 291 14.949 14.220 27.123 1.00 0.00 H -HETATM 873 H HOH A 291 14.192 15.040 28.146 1.00 0.00 H -HETATM 874 O HOH A 292 14.616 12.533 26.100 1.00 0.00 O -HETATM 875 H HOH A 292 14.581 12.856 25.199 1.00 0.00 H -HETATM 876 H HOH A 292 13.760 12.131 26.247 1.00 0.00 H -HETATM 877 O HOH A 293 14.140 19.228 20.295 1.00 0.00 O -HETATM 878 H HOH A 293 14.478 20.075 20.585 1.00 0.00 H -HETATM 879 H HOH A 293 13.505 19.443 19.612 1.00 0.00 H -HETATM 880 O HOH A 294 14.674 21.859 21.468 1.00 0.00 O -HETATM 881 H HOH A 294 14.545 21.635 22.390 1.00 0.00 H -HETATM 882 H HOH A 294 13.980 22.488 21.272 1.00 0.00 H -HETATM 883 O HOH A 295 5.310 29.553 18.554 1.00 0.00 O -HETATM 884 H HOH A 295 5.078 28.748 19.016 1.00 0.00 H -HETATM 885 H HOH A 295 4.953 29.437 17.674 1.00 0.00 H -HETATM 886 O HOH A 296 5.039 26.859 19.674 1.00 0.00 O -HETATM 887 H HOH A 296 5.931 26.749 20.003 1.00 0.00 H -HETATM 888 H HOH A 296 4.949 26.194 18.992 1.00 0.00 H -HETATM 889 O HOH A 297 14.165 25.587 10.050 1.00 0.00 O -HETATM 890 H HOH A 297 14.972 25.821 10.508 1.00 0.00 H -HETATM 891 H HOH A 297 14.445 25.381 9.159 1.00 0.00 H -HETATM 892 O HOH A 298 16.581 26.806 11.173 1.00 0.00 O -HETATM 893 H HOH A 298 16.187 27.601 11.535 1.00 0.00 H -HETATM 894 H HOH A 298 17.176 27.119 10.493 1.00 0.00 H -HETATM 895 O HOH A 299 25.387 27.076 10.974 1.00 0.00 O -HETATM 896 H HOH A 299 25.718 26.180 10.905 1.00 0.00 H -HETATM 897 H HOH A 299 26.169 27.611 11.110 1.00 0.00 H -HETATM 898 O HOH A 300 26.445 24.367 11.335 1.00 0.00 O -HETATM 899 H HOH A 300 25.797 24.041 11.960 1.00 0.00 H -HETATM 900 H HOH A 300 27.271 24.365 11.819 1.00 0.00 H -HETATM 901 O HOH A 301 5.775 21.278 11.516 1.00 0.00 O -HETATM 902 H HOH A 301 5.663 21.677 10.654 1.00 0.00 H -HETATM 903 H HOH A 301 6.677 20.956 11.516 1.00 0.00 H -HETATM 904 O HOH A 302 5.380 21.956 8.693 1.00 0.00 O -HETATM 905 H HOH A 302 4.553 21.494 8.548 1.00 0.00 H -HETATM 906 H HOH A 302 6.008 21.511 8.125 1.00 0.00 H -HETATM 907 O HOH A 303 25.081 3.484 26.816 1.00 0.00 O -HETATM 908 H HOH A 303 24.479 3.881 26.187 1.00 0.00 H -HETATM 909 H HOH A 303 25.463 4.226 27.285 1.00 0.00 H -HETATM 910 O HOH A 304 23.716 4.818 24.593 1.00 0.00 O -HETATM 911 H HOH A 304 24.064 4.291 23.872 1.00 0.00 H -HETATM 912 H HOH A 304 24.058 5.698 24.436 1.00 0.00 H -HETATM 913 O HOH A 305 18.074 25.928 5.284 1.00 0.00 O -HETATM 914 H HOH A 305 18.281 25.106 5.728 1.00 0.00 H -HETATM 915 H HOH A 305 17.908 25.676 4.376 1.00 0.00 H -HETATM 916 O HOH A 306 19.223 23.470 6.390 1.00 0.00 O -HETATM 917 H HOH A 306 20.002 23.847 6.800 1.00 0.00 H -HETATM 918 H HOH A 306 19.564 22.893 5.707 1.00 0.00 H -HETATM 919 O HOH A 307 14.673 9.139 11.749 1.00 0.00 O -HETATM 920 H HOH A 307 14.034 9.553 11.169 1.00 0.00 H -HETATM 921 H HOH A 307 14.169 8.894 12.526 1.00 0.00 H -HETATM 922 O HOH A 308 12.778 10.859 10.323 1.00 0.00 O -HETATM 923 H HOH A 308 13.354 11.608 10.164 1.00 0.00 H -HETATM 924 H HOH A 308 12.094 11.198 10.900 1.00 0.00 H -HETATM 925 O HOH A 309 21.686 28.790 7.386 1.00 0.00 O -HETATM 926 H HOH A 309 22.464 28.261 7.560 1.00 0.00 H -HETATM 927 H HOH A 309 21.531 29.266 8.201 1.00 0.00 H -HETATM 928 O HOH A 310 23.704 26.832 8.209 1.00 0.00 O -HETATM 929 H HOH A 310 23.290 26.042 7.861 1.00 0.00 H -HETATM 930 H HOH A 310 23.714 26.702 9.157 1.00 0.00 H -HETATM 931 O HOH A 311 -0.000 12.212 7.230 1.00 0.00 O -HETATM 932 H HOH A 311 0.380 12.378 8.092 1.00 0.00 H -HETATM 933 H HOH A 311 0.506 12.763 6.634 1.00 0.00 H -HETATM 934 O HOH A 312 0.862 13.210 9.847 1.00 0.00 O -HETATM 935 H HOH A 312 -0.000 13.346 10.240 1.00 0.00 H -HETATM 936 H HOH A 312 1.244 14.085 9.790 1.00 0.00 H -HETATM 937 O HOH A 313 29.521 12.933 9.960 1.00 0.00 O -HETATM 938 H HOH A 313 29.007 13.661 9.611 1.00 0.00 H -HETATM 939 H HOH A 313 30.000 13.309 10.699 1.00 0.00 H -HETATM 940 O HOH A 314 28.450 15.328 8.657 1.00 0.00 O -HETATM 941 H HOH A 314 28.732 15.143 7.760 1.00 0.00 H -HETATM 942 H HOH A 314 28.931 16.118 8.903 1.00 0.00 H -HETATM 943 O HOH A 315 7.536 21.433 5.722 1.00 0.00 O -HETATM 944 H HOH A 315 6.817 22.002 5.447 1.00 0.00 H -HETATM 945 H HOH A 315 7.540 20.722 5.080 1.00 0.00 H -HETATM 946 O HOH A 316 5.000 22.771 5.121 1.00 0.00 O -HETATM 947 H HOH A 316 4.642 22.808 6.008 1.00 0.00 H -HETATM 948 H HOH A 316 4.398 22.203 4.640 1.00 0.00 H -HETATM 949 O HOH A 317 17.552 19.820 18.087 1.00 0.00 O -HETATM 950 H HOH A 317 17.504 18.864 18.085 1.00 0.00 H -HETATM 951 H HOH A 317 18.125 20.033 17.351 1.00 0.00 H -HETATM 952 O HOH A 318 17.928 16.924 18.321 1.00 0.00 O -HETATM 953 H HOH A 318 18.111 16.878 19.260 1.00 0.00 H -HETATM 954 H HOH A 318 18.737 16.631 17.903 1.00 0.00 H -HETATM 955 O HOH A 319 10.210 18.976 17.765 1.00 0.00 O -HETATM 956 H HOH A 319 9.973 19.875 17.539 1.00 0.00 H -HETATM 957 H HOH A 319 10.705 19.056 18.581 1.00 0.00 H -HETATM 958 O HOH A 320 10.031 21.768 16.895 1.00 0.00 O -HETATM 959 H HOH A 320 10.331 21.657 15.993 1.00 0.00 H -HETATM 960 H HOH A 320 10.698 22.317 17.307 1.00 0.00 H -HETATM 961 O HOH A 321 29.520 3.840 2.758 1.00 0.00 O -HETATM 962 H HOH A 321 29.418 2.889 2.803 1.00 0.00 H -HETATM 963 H HOH A 321 29.750 4.099 3.651 1.00 0.00 H -HETATM 964 O HOH A 322 28.698 1.053 3.136 1.00 0.00 O -HETATM 965 H HOH A 322 27.860 1.086 2.673 1.00 0.00 H -HETATM 966 H HOH A 322 28.465 0.866 4.045 1.00 0.00 H -HETATM 967 O HOH A 323 7.441 13.759 9.520 1.00 0.00 O -HETATM 968 H HOH A 323 7.737 13.939 10.412 1.00 0.00 H -HETATM 969 H HOH A 323 6.936 12.950 9.593 1.00 0.00 H -HETATM 970 O HOH A 324 8.737 13.896 12.144 1.00 0.00 O -HETATM 971 H HOH A 324 9.637 14.044 11.853 1.00 0.00 H -HETATM 972 H HOH A 324 8.760 13.043 12.579 1.00 0.00 H -HETATM 973 O HOH A 325 14.640 10.130 26.495 1.00 0.00 O -HETATM 974 H HOH A 325 14.068 9.870 25.773 1.00 0.00 H -HETATM 975 H HOH A 325 15.461 9.666 26.331 1.00 0.00 H -HETATM 976 O HOH A 326 12.830 8.844 24.584 1.00 0.00 O -HETATM 977 H HOH A 326 12.109 8.643 25.181 1.00 0.00 H -HETATM 978 H HOH A 326 13.154 7.990 24.300 1.00 0.00 H -HETATM 979 O HOH A 327 22.551 27.781 5.415 1.00 0.00 O -HETATM 980 H HOH A 327 23.428 28.132 5.569 1.00 0.00 H -HETATM 981 H HOH A 327 22.680 26.836 5.338 1.00 0.00 H -HETATM 982 O HOH A 328 25.306 28.774 5.318 1.00 0.00 O -HETATM 983 H HOH A 328 25.194 29.445 4.644 1.00 0.00 H -HETATM 984 H HOH A 328 25.905 28.137 4.929 1.00 0.00 H -HETATM 985 O HOH A 329 21.298 15.829 24.054 1.00 0.00 O -HETATM 986 H HOH A 329 21.276 16.644 24.556 1.00 0.00 H -HETATM 987 H HOH A 329 21.374 16.110 23.142 1.00 0.00 H -HETATM 988 O HOH A 330 20.682 18.353 25.410 1.00 0.00 O -HETATM 989 H HOH A 330 19.919 18.065 25.911 1.00 0.00 H -HETATM 990 H HOH A 330 20.340 19.012 24.806 1.00 0.00 H -HETATM 991 O HOH A 331 15.842 6.689 1.983 1.00 0.00 O -HETATM 992 H HOH A 331 15.516 5.831 1.714 1.00 0.00 H -HETATM 993 H HOH A 331 15.074 7.259 1.954 1.00 0.00 H -HETATM 994 O HOH A 332 14.860 4.285 0.627 1.00 0.00 O -HETATM 995 H HOH A 332 15.575 4.171 0.000 1.00 0.00 H -HETATM 996 H HOH A 332 14.091 4.465 0.086 1.00 0.00 H -HETATM 997 O HOH A 333 12.810 6.342 13.087 1.00 0.00 O -HETATM 998 H HOH A 333 12.287 5.972 13.798 1.00 0.00 H -HETATM 999 H HOH A 333 13.089 7.197 13.415 1.00 0.00 H -HETATM 1000 O HOH A 334 10.799 5.567 15.072 1.00 0.00 O -HETATM 1001 H HOH A 334 10.089 5.330 14.474 1.00 0.00 H -HETATM 1002 H HOH A 334 10.465 6.319 15.559 1.00 0.00 H -HETATM 1003 O HOH A 335 5.185 25.164 23.949 1.00 0.00 O -HETATM 1004 H HOH A 335 5.468 24.489 23.332 1.00 0.00 H -HETATM 1005 H HOH A 335 5.480 24.849 24.803 1.00 0.00 H -HETATM 1006 O HOH A 336 5.598 22.803 22.263 1.00 0.00 O -HETATM 1007 H HOH A 336 4.734 22.768 21.850 1.00 0.00 H -HETATM 1008 H HOH A 336 5.653 21.999 22.778 1.00 0.00 H -HETATM 1009 O HOH A 337 18.885 10.080 23.913 1.00 0.00 O -HETATM 1010 H HOH A 337 18.360 10.763 24.331 1.00 0.00 H -HETATM 1011 H HOH A 337 19.106 10.439 23.053 1.00 0.00 H -HETATM 1012 O HOH A 338 16.856 11.975 24.851 1.00 0.00 O -HETATM 1013 H HOH A 338 16.181 11.347 25.109 1.00 0.00 H -HETATM 1014 H HOH A 338 16.465 12.469 24.131 1.00 0.00 H -HETATM 1015 O HOH A 339 14.688 19.475 9.151 1.00 0.00 O -HETATM 1016 H HOH A 339 14.783 20.186 8.518 1.00 0.00 H -HETATM 1017 H HOH A 339 15.403 19.609 9.773 1.00 0.00 H -HETATM 1018 O HOH A 340 15.407 21.331 7.001 1.00 0.00 O -HETATM 1019 H HOH A 340 15.331 20.729 6.259 1.00 0.00 H -HETATM 1020 H HOH A 340 16.333 21.570 7.025 1.00 0.00 H -HETATM 1021 O HOH A 341 3.381 4.488 28.302 1.00 0.00 O -HETATM 1022 H HOH A 341 2.972 3.644 28.493 1.00 0.00 H -HETATM 1023 H HOH A 341 3.127 4.681 27.400 1.00 0.00 H -HETATM 1024 O HOH A 342 2.562 1.689 28.574 1.00 0.00 O -HETATM 1025 H HOH A 342 3.377 1.333 28.929 1.00 0.00 H -HETATM 1026 H HOH A 342 2.460 1.259 27.725 1.00 0.00 H -HETATM 1027 O HOH A 343 23.080 18.838 19.478 1.00 0.00 O -HETATM 1028 H HOH A 343 22.350 19.221 18.992 1.00 0.00 H -HETATM 1029 H HOH A 343 22.979 17.894 19.358 1.00 0.00 H -HETATM 1030 O HOH A 344 20.532 19.849 18.444 1.00 0.00 O -HETATM 1031 H HOH A 344 20.291 20.413 19.180 1.00 0.00 H -HETATM 1032 H HOH A 344 19.856 19.172 18.427 1.00 0.00 H -HETATM 1033 O HOH A 345 28.915 25.182 7.639 1.00 0.00 O -HETATM 1034 H HOH A 345 28.569 25.093 6.751 1.00 0.00 H -HETATM 1035 H HOH A 345 28.210 24.866 8.204 1.00 0.00 H -HETATM 1036 O HOH A 346 27.559 25.387 5.049 1.00 0.00 O -HETATM 1037 H HOH A 346 27.821 26.279 4.819 1.00 0.00 H -HETATM 1038 H HOH A 346 26.608 25.431 5.143 1.00 0.00 H -HETATM 1039 O HOH A 347 24.538 8.263 8.606 1.00 0.00 O -HETATM 1040 H HOH A 347 24.434 7.929 9.497 1.00 0.00 H -HETATM 1041 H HOH A 347 24.929 7.537 8.121 1.00 0.00 H -HETATM 1042 O HOH A 348 24.785 7.339 11.375 1.00 0.00 O -HETATM 1043 H HOH A 348 25.185 8.122 11.754 1.00 0.00 H -HETATM 1044 H HOH A 348 25.450 6.657 11.470 1.00 0.00 H -HETATM 1045 O HOH A 349 25.236 5.444 6.122 1.00 0.00 O -HETATM 1046 H HOH A 349 25.800 5.281 6.877 1.00 0.00 H -HETATM 1047 H HOH A 349 25.553 6.271 5.758 1.00 0.00 H -HETATM 1048 O HOH A 350 26.638 5.341 8.692 1.00 0.00 O -HETATM 1049 H HOH A 350 25.888 5.156 9.259 1.00 0.00 H -HETATM 1050 H HOH A 350 26.944 6.203 8.970 1.00 0.00 H -HETATM 1051 O HOH A 351 11.311 23.975 19.629 1.00 0.00 O -HETATM 1052 H HOH A 351 11.354 24.700 19.006 1.00 0.00 H -HETATM 1053 H HOH A 351 12.196 23.914 19.989 1.00 0.00 H -HETATM 1054 O HOH A 352 11.704 25.812 17.381 1.00 0.00 O -HETATM 1055 H HOH A 352 11.273 25.298 16.697 1.00 0.00 H -HETATM 1056 H HOH A 352 12.620 25.857 17.109 1.00 0.00 H -HETATM 1057 O HOH A 353 3.620 9.954 0.199 1.00 0.00 O -HETATM 1058 H HOH A 353 3.474 9.876 1.141 1.00 0.00 H -HETATM 1059 H HOH A 353 4.499 10.324 0.122 1.00 0.00 H -HETATM 1060 O HOH A 354 3.079 10.283 3.060 1.00 0.00 O -HETATM 1061 H HOH A 354 2.220 10.701 2.997 1.00 0.00 H -HETATM 1062 H HOH A 354 3.642 10.946 3.459 1.00 0.00 H -HETATM 1063 O HOH A 355 23.539 29.100 23.971 1.00 0.00 O -HETATM 1064 H HOH A 355 23.347 28.844 23.069 1.00 0.00 H -HETATM 1065 H HOH A 355 23.312 28.331 24.493 1.00 0.00 H -HETATM 1066 O HOH A 356 22.403 28.409 21.360 1.00 0.00 O -HETATM 1067 H HOH A 356 21.915 29.217 21.197 1.00 0.00 H -HETATM 1068 H HOH A 356 21.731 27.730 21.428 1.00 0.00 H -HETATM 1069 O HOH A 357 9.148 11.844 10.493 1.00 0.00 O -HETATM 1070 H HOH A 357 10.027 12.205 10.601 1.00 0.00 H -HETATM 1071 H HOH A 357 9.212 11.279 9.723 1.00 0.00 H -HETATM 1072 O HOH A 358 11.689 13.298 10.387 1.00 0.00 O -HETATM 1073 H HOH A 358 11.350 14.189 10.480 1.00 0.00 H -HETATM 1074 H HOH A 358 12.079 13.277 9.513 1.00 0.00 H -HETATM 1075 O HOH A 359 28.181 10.214 29.095 1.00 0.00 O -HETATM 1076 H HOH A 359 28.733 9.467 28.866 1.00 0.00 H -HETATM 1077 H HOH A 359 28.584 10.578 29.883 1.00 0.00 H -HETATM 1078 O HOH A 360 29.595 7.662 28.823 1.00 0.00 O -HETATM 1079 H HOH A 360 28.837 7.087 28.721 1.00 0.00 H -HETATM 1080 H HOH A 360 30.000 7.385 29.645 1.00 0.00 H -HETATM 1081 O HOH A 361 17.369 24.375 17.354 1.00 0.00 O -HETATM 1082 H HOH A 361 16.826 24.464 18.137 1.00 0.00 H -HETATM 1083 H HOH A 361 16.744 24.233 16.642 1.00 0.00 H -HETATM 1084 O HOH A 362 15.666 24.073 19.718 1.00 0.00 O -HETATM 1085 H HOH A 362 16.206 23.450 20.207 1.00 0.00 H -HETATM 1086 H HOH A 362 14.861 23.593 19.523 1.00 0.00 H -HETATM 1087 O HOH A 363 8.609 6.458 16.809 1.00 0.00 O -HETATM 1088 H HOH A 363 8.078 6.164 16.069 1.00 0.00 H -HETATM 1089 H HOH A 363 8.832 7.365 16.598 1.00 0.00 H -HETATM 1090 O HOH A 364 7.489 5.512 14.272 1.00 0.00 O -HETATM 1091 H HOH A 364 8.000 4.707 14.180 1.00 0.00 H -HETATM 1092 H HOH A 364 7.760 6.057 13.533 1.00 0.00 H -HETATM 1093 O HOH A 365 6.212 4.163 25.978 1.00 0.00 O -HETATM 1094 H HOH A 365 6.224 5.060 25.644 1.00 0.00 H -HETATM 1095 H HOH A 365 5.732 4.222 26.804 1.00 0.00 H -HETATM 1096 O HOH A 366 6.664 6.988 25.346 1.00 0.00 O -HETATM 1097 H HOH A 366 7.605 6.949 25.174 1.00 0.00 H -HETATM 1098 H HOH A 366 6.582 7.548 26.118 1.00 0.00 H -HETATM 1099 O HOH A 367 27.604 9.241 26.979 1.00 0.00 O -HETATM 1100 H HOH A 367 27.008 9.002 26.270 1.00 0.00 H -HETATM 1101 H HOH A 367 28.476 9.033 26.641 1.00 0.00 H -HETATM 1102 O HOH A 368 25.870 7.971 24.989 1.00 0.00 O -HETATM 1103 H HOH A 368 25.300 7.483 25.584 1.00 0.00 H -HETATM 1104 H HOH A 368 26.329 7.297 24.488 1.00 0.00 H -HETATM 1105 O HOH A 369 6.786 23.102 25.247 1.00 0.00 O -HETATM 1106 H HOH A 369 7.237 22.635 25.950 1.00 0.00 H -HETATM 1107 H HOH A 369 6.941 22.570 24.467 1.00 0.00 H -HETATM 1108 O HOH A 370 8.643 21.902 27.170 1.00 0.00 O -HETATM 1109 H HOH A 370 9.073 22.702 27.474 1.00 0.00 H -HETATM 1110 H HOH A 370 9.336 21.404 26.738 1.00 0.00 H -HETATM 1111 O HOH A 371 18.620 13.516 5.182 1.00 0.00 O -HETATM 1112 H HOH A 371 19.147 13.557 5.980 1.00 0.00 H -HETATM 1113 H HOH A 371 17.737 13.757 5.465 1.00 0.00 H -HETATM 1114 O HOH A 372 19.987 13.133 7.745 1.00 0.00 O -HETATM 1115 H HOH A 372 20.375 12.274 7.575 1.00 0.00 H -HETATM 1116 H HOH A 372 19.372 12.984 8.462 1.00 0.00 H -HETATM 1117 O HOH A 373 12.881 15.810 0.920 1.00 0.00 O -HETATM 1118 H HOH A 373 12.029 15.384 1.013 1.00 0.00 H -HETATM 1119 H HOH A 373 12.678 16.681 0.579 1.00 0.00 H -HETATM 1120 O HOH A 374 10.308 14.439 0.634 1.00 0.00 O -HETATM 1121 H HOH A 374 10.613 13.650 0.185 1.00 0.00 H -HETATM 1122 H HOH A 374 9.737 14.872 -0.001 1.00 0.00 H -HETATM 1123 O HOH A 375 19.815 23.067 3.528 1.00 0.00 O -HETATM 1124 H HOH A 375 20.269 23.880 3.747 1.00 0.00 H -HETATM 1125 H HOH A 375 18.919 23.338 3.327 1.00 0.00 H -HETATM 1126 O HOH A 376 20.932 25.507 4.702 1.00 0.00 O -HETATM 1127 H HOH A 376 21.304 25.127 5.499 1.00 0.00 H -HETATM 1128 H HOH A 376 20.250 26.102 5.014 1.00 0.00 H -HETATM 1129 O HOH A 377 23.035 14.980 28.088 1.00 0.00 O -HETATM 1130 H HOH A 377 22.612 15.681 27.592 1.00 0.00 H -HETATM 1131 H HOH A 377 23.032 15.291 28.994 1.00 0.00 H -HETATM 1132 O HOH A 378 22.248 17.393 26.623 1.00 0.00 O -HETATM 1133 H HOH A 378 22.945 17.396 25.966 1.00 0.00 H -HETATM 1134 H HOH A 378 22.394 18.188 27.135 1.00 0.00 H -HETATM 1135 O HOH A 379 18.530 19.887 10.685 1.00 0.00 O -HETATM 1136 H HOH A 379 18.725 20.641 10.130 1.00 0.00 H -HETATM 1137 H HOH A 379 18.814 19.130 10.172 1.00 0.00 H -HETATM 1138 O HOH A 380 18.651 22.039 8.701 1.00 0.00 O -HETATM 1139 H HOH A 380 17.778 22.408 8.835 1.00 0.00 H -HETATM 1140 H HOH A 380 18.637 21.704 7.805 1.00 0.00 H -HETATM 1141 O HOH A 381 21.543 9.778 17.040 1.00 0.00 O -HETATM 1142 H HOH A 381 20.658 9.980 17.343 1.00 0.00 H -HETATM 1143 H HOH A 381 21.555 10.060 16.126 1.00 0.00 H -HETATM 1144 O HOH A 382 18.687 9.921 17.676 1.00 0.00 O -HETATM 1145 H HOH A 382 18.580 9.049 18.058 1.00 0.00 H -HETATM 1146 H HOH A 382 18.142 9.909 16.890 1.00 0.00 H -HETATM 1147 O HOH A 383 29.230 10.517 17.184 1.00 0.00 O -HETATM 1148 H HOH A 383 28.788 10.672 16.350 1.00 0.00 H -HETATM 1149 H HOH A 383 30.000 9.997 16.955 1.00 0.00 H -HETATM 1150 O HOH A 384 27.695 10.448 14.689 1.00 0.00 O -HETATM 1151 H HOH A 384 26.848 10.182 15.048 1.00 0.00 H -HETATM 1152 H HOH A 384 27.958 9.722 14.125 1.00 0.00 H -HETATM 1153 O HOH A 385 8.208 24.331 24.103 1.00 0.00 O -HETATM 1154 H HOH A 385 8.673 24.620 23.318 1.00 0.00 H -HETATM 1155 H HOH A 385 7.614 25.053 24.310 1.00 0.00 H -HETATM 1156 O HOH A 386 9.936 25.539 22.069 1.00 0.00 O -HETATM 1157 H HOH A 386 10.785 25.305 22.443 1.00 0.00 H -HETATM 1158 H HOH A 386 9.913 26.496 22.099 1.00 0.00 H -HETATM 1159 O HOH A 387 22.043 2.012 9.095 1.00 0.00 O -HETATM 1160 H HOH A 387 21.241 2.465 8.837 1.00 0.00 H -HETATM 1161 H HOH A 387 22.318 2.449 9.901 1.00 0.00 H -HETATM 1162 O HOH A 388 19.946 3.811 8.121 1.00 0.00 O -HETATM 1163 H HOH A 388 20.252 3.916 7.219 1.00 0.00 H -HETATM 1164 H HOH A 388 20.016 4.686 8.503 1.00 0.00 H -HETATM 1165 O HOH A 389 24.384 28.693 17.111 1.00 0.00 O -HETATM 1166 H HOH A 389 24.763 28.226 16.366 1.00 0.00 H -HETATM 1167 H HOH A 389 24.358 29.609 16.832 1.00 0.00 H -HETATM 1168 O HOH A 390 26.043 27.479 15.023 1.00 0.00 O -HETATM 1169 H HOH A 390 26.666 27.016 15.585 1.00 0.00 H -HETATM 1170 H HOH A 390 26.572 28.128 14.560 1.00 0.00 H -HETATM 1171 O HOH A 391 30.000 22.320 8.991 1.00 0.00 O -HETATM 1172 H HOH A 391 29.617 21.564 9.436 1.00 0.00 H -HETATM 1173 H HOH A 391 29.508 22.392 8.173 1.00 0.00 H -HETATM 1174 O HOH A 392 29.139 19.699 9.978 1.00 0.00 O -HETATM 1175 H HOH A 392 30.001 19.321 10.155 1.00 0.00 H -HETATM 1176 H HOH A 392 28.774 19.154 9.282 1.00 0.00 H -HETATM 1177 O HOH A 393 19.149 12.219 0.837 1.00 0.00 O -HETATM 1178 H HOH A 393 19.852 12.561 1.388 1.00 0.00 H -HETATM 1179 H HOH A 393 19.571 12.025 -0.000 1.00 0.00 H -HETATM 1180 O HOH A 394 21.228 13.751 2.220 1.00 0.00 O -HETATM 1181 H HOH A 394 20.698 14.501 2.491 1.00 0.00 H -HETATM 1182 H HOH A 394 21.871 14.116 1.612 1.00 0.00 H -HETATM 1183 O HOH A 395 18.687 17.442 15.339 1.00 0.00 O -HETATM 1184 H HOH A 395 18.793 16.564 15.705 1.00 0.00 H -HETATM 1185 H HOH A 395 18.345 17.295 14.457 1.00 0.00 H -HETATM 1186 O HOH A 396 19.485 14.736 16.132 1.00 0.00 O -HETATM 1187 H HOH A 396 20.374 14.930 16.432 1.00 0.00 H -HETATM 1188 H HOH A 396 19.604 14.160 15.378 1.00 0.00 H -HETATM 1189 O HOH A 397 23.860 10.144 16.007 1.00 0.00 O -HETATM 1190 H HOH A 397 24.527 9.659 15.521 1.00 0.00 H -HETATM 1191 H HOH A 397 24.316 10.465 16.785 1.00 0.00 H -HETATM 1192 O HOH A 398 25.808 8.249 14.911 1.00 0.00 O -HETATM 1193 H HOH A 398 25.227 7.496 14.795 1.00 0.00 H -HETATM 1194 H HOH A 398 26.444 7.966 15.567 1.00 0.00 H -HETATM 1195 O HOH A 399 23.983 0.447 3.819 1.00 0.00 O -HETATM 1196 H HOH A 399 23.228 0.799 3.347 1.00 0.00 H -HETATM 1197 H HOH A 399 23.606 0.000 4.576 1.00 0.00 H -HETATM 1198 O HOH A 400 21.676 1.929 2.786 1.00 0.00 O -HETATM 1199 H HOH A 400 22.082 2.793 2.711 1.00 0.00 H -HETATM 1200 H HOH A 400 20.993 2.039 3.448 1.00 0.00 H -HETATM 1201 O HOH A 401 19.861 18.516 7.416 1.00 0.00 O -HETATM 1202 H HOH A 401 19.308 18.031 6.804 1.00 0.00 H -HETATM 1203 H HOH A 401 19.795 18.030 8.238 1.00 0.00 H -HETATM 1204 O HOH A 402 17.733 17.289 5.819 1.00 0.00 O -HETATM 1205 H HOH A 402 17.290 18.088 5.530 1.00 0.00 H -HETATM 1206 H HOH A 402 17.089 16.838 6.363 1.00 0.00 H -HETATM 1207 O HOH A 403 8.030 15.904 20.493 1.00 0.00 O -HETATM 1208 H HOH A 403 8.533 16.704 20.640 1.00 0.00 H -HETATM 1209 H HOH A 403 8.009 15.805 19.541 1.00 0.00 H -HETATM 1210 O HOH A 404 9.083 18.622 20.791 1.00 0.00 O -HETATM 1211 H HOH A 404 8.425 18.966 21.396 1.00 0.00 H -HETATM 1212 H HOH A 404 8.973 19.140 19.994 1.00 0.00 H -HETATM 1213 O HOH A 405 21.215 0.051 22.905 1.00 0.00 O -HETATM 1214 H HOH A 405 20.523 0.711 22.903 1.00 0.00 H -HETATM 1215 H HOH A 405 21.681 0.195 23.729 1.00 0.00 H -HETATM 1216 O HOH A 406 19.518 2.435 22.752 1.00 0.00 O -HETATM 1217 H HOH A 406 19.733 2.707 21.859 1.00 0.00 H -HETATM 1218 H HOH A 406 19.843 3.144 23.306 1.00 0.00 H -HETATM 1219 O HOH A 407 27.419 17.370 13.967 1.00 0.00 O -HETATM 1220 H HOH A 407 27.929 18.041 13.514 1.00 0.00 H -HETATM 1221 H HOH A 407 27.381 17.668 14.876 1.00 0.00 H -HETATM 1222 O HOH A 408 29.434 19.167 12.828 1.00 0.00 O -HETATM 1223 H HOH A 408 29.993 18.510 12.410 1.00 0.00 H -HETATM 1224 H HOH A 408 29.986 19.562 13.502 1.00 0.00 H -HETATM 1225 O HOH A 409 8.650 21.015 2.328 1.00 0.00 O -HETATM 1226 H HOH A 409 7.843 21.110 2.834 1.00 0.00 H -HETATM 1227 H HOH A 409 8.471 21.466 1.503 1.00 0.00 H -HETATM 1228 O HOH A 410 5.982 20.888 3.532 1.00 0.00 O -HETATM 1229 H HOH A 410 5.965 19.956 3.749 1.00 0.00 H -HETATM 1230 H HOH A 410 5.288 20.999 2.883 1.00 0.00 H -HETATM 1231 O HOH A 411 11.115 26.463 0.219 1.00 0.00 O -HETATM 1232 H HOH A 411 10.951 26.973 1.012 1.00 0.00 H -HETATM 1233 H HOH A 411 12.029 26.645 -0.000 1.00 0.00 H -HETATM 1234 O HOH A 412 10.581 28.473 2.283 1.00 0.00 O -HETATM 1235 H HOH A 412 9.770 28.836 1.925 1.00 0.00 H -HETATM 1236 H HOH A 412 11.205 29.197 2.250 1.00 0.00 H -HETATM 1237 O HOH A 413 14.973 11.309 13.025 1.00 0.00 O -HETATM 1238 H HOH A 413 14.201 10.969 13.476 1.00 0.00 H -HETATM 1239 H HOH A 413 14.690 11.425 12.118 1.00 0.00 H -HETATM 1240 O HOH A 414 12.752 9.769 14.155 1.00 0.00 O -HETATM 1241 H HOH A 414 13.257 9.065 14.564 1.00 0.00 H -HETATM 1242 H HOH A 414 12.235 9.333 13.478 1.00 0.00 H -HETATM 1243 O HOH A 415 9.586 26.471 11.857 1.00 0.00 O -HETATM 1244 H HOH A 415 10.241 26.877 11.289 1.00 0.00 H -HETATM 1245 H HOH A 415 9.880 25.565 11.955 1.00 0.00 H -HETATM 1246 O HOH A 416 11.316 27.434 9.698 1.00 0.00 O -HETATM 1247 H HOH A 416 10.643 27.812 9.131 1.00 0.00 H -HETATM 1248 H HOH A 416 11.688 26.715 9.186 1.00 0.00 H -HETATM 1249 O HOH A 417 11.992 26.878 21.490 1.00 0.00 O -HETATM 1250 H HOH A 417 12.420 27.439 22.136 1.00 0.00 H -HETATM 1251 H HOH A 417 12.490 27.016 20.684 1.00 0.00 H -HETATM 1252 O HOH A 418 13.018 29.020 23.205 1.00 0.00 O -HETATM 1253 H HOH A 418 12.182 29.389 23.491 1.00 0.00 H -HETATM 1254 H HOH A 418 13.431 29.720 22.699 1.00 0.00 H -HETATM 1255 O HOH A 419 1.486 23.664 17.864 1.00 0.00 O -HETATM 1256 H HOH A 419 2.200 23.095 17.577 1.00 0.00 H -HETATM 1257 H HOH A 419 0.760 23.453 17.277 1.00 0.00 H -HETATM 1258 O HOH A 420 3.728 22.303 16.557 1.00 0.00 O -HETATM 1259 H HOH A 420 4.350 23.031 16.543 1.00 0.00 H -HETATM 1260 H HOH A 420 3.549 22.119 15.635 1.00 0.00 H -HETATM 1261 O HOH A 421 21.387 26.454 28.314 1.00 0.00 O -HETATM 1262 H HOH A 421 21.237 27.186 27.715 1.00 0.00 H -HETATM 1263 H HOH A 421 20.868 26.667 29.089 1.00 0.00 H -HETATM 1264 O HOH A 422 21.300 28.974 26.821 1.00 0.00 O -HETATM 1265 H HOH A 422 22.237 29.075 26.653 1.00 0.00 H -HETATM 1266 H HOH A 422 21.073 29.716 27.381 1.00 0.00 H -HETATM 1267 O HOH A 423 25.216 20.461 14.739 1.00 0.00 O -HETATM 1268 H HOH A 423 25.366 19.618 14.311 1.00 0.00 H -HETATM 1269 H HOH A 423 25.585 20.354 15.616 1.00 0.00 H -HETATM 1270 O HOH A 424 25.227 17.705 13.744 1.00 0.00 O -HETATM 1271 H HOH A 424 24.320 17.657 13.441 1.00 0.00 H -HETATM 1272 H HOH A 424 25.278 17.066 14.455 1.00 0.00 H -HETATM 1273 O HOH A 425 23.235 16.352 16.256 1.00 0.00 O -HETATM 1274 H HOH A 425 24.023 16.693 16.679 1.00 0.00 H -HETATM 1275 H HOH A 425 23.313 16.630 15.343 1.00 0.00 H -HETATM 1276 O HOH A 426 25.366 17.901 17.539 1.00 0.00 O -HETATM 1277 H HOH A 426 24.860 18.272 18.262 1.00 0.00 H -HETATM 1278 H HOH A 426 25.628 18.657 17.014 1.00 0.00 H -HETATM 1279 O HOH A 427 17.378 21.017 3.188 1.00 0.00 O -HETATM 1280 H HOH A 427 17.419 20.087 3.412 1.00 0.00 H -HETATM 1281 H HOH A 427 16.724 21.067 2.491 1.00 0.00 H -HETATM 1282 O HOH A 428 17.816 18.127 3.392 1.00 0.00 O -HETATM 1283 H HOH A 428 18.773 18.123 3.350 1.00 0.00 H -HETATM 1284 H HOH A 428 17.537 17.664 2.602 1.00 0.00 H -HETATM 1285 O HOH A 429 9.287 6.872 1.925 1.00 0.00 O -HETATM 1286 H HOH A 429 9.125 5.938 2.060 1.00 0.00 H -HETATM 1287 H HOH A 429 8.425 7.239 1.726 1.00 0.00 H -HETATM 1288 O HOH A 430 8.767 3.993 1.762 1.00 0.00 O -HETATM 1289 H HOH A 430 9.489 3.749 1.183 1.00 0.00 H -HETATM 1290 H HOH A 430 7.976 3.798 1.260 1.00 0.00 H -HETATM 1291 O HOH A 431 13.062 10.548 28.476 1.00 0.00 O -HETATM 1292 H HOH A 431 12.384 11.129 28.131 1.00 0.00 H -HETATM 1293 H HOH A 431 13.879 11.032 28.352 1.00 0.00 H -HETATM 1294 O HOH A 432 11.173 12.146 26.907 1.00 0.00 O -HETATM 1295 H HOH A 432 10.782 11.441 26.390 1.00 0.00 H -HETATM 1296 H HOH A 432 11.616 12.700 26.264 1.00 0.00 H -HETATM 1297 O HOH A 433 15.080 4.665 18.970 1.00 0.00 O -HETATM 1298 H HOH A 433 15.956 4.388 19.240 1.00 0.00 H -HETATM 1299 H HOH A 433 14.602 4.781 19.791 1.00 0.00 H -HETATM 1300 O HOH A 434 17.511 3.305 19.880 1.00 0.00 O -HETATM 1301 H HOH A 434 17.511 2.578 19.257 1.00 0.00 H -HETATM 1302 H HOH A 434 17.393 2.891 20.735 1.00 0.00 H -HETATM 1303 O HOH A 435 19.521 1.370 0.000 1.00 0.00 O -HETATM 1304 H HOH A 435 18.938 1.319 0.757 1.00 0.00 H -HETATM 1305 H HOH A 435 19.989 0.534 0.000 1.00 0.00 H -HETATM 1306 O HOH A 436 18.213 1.326 2.621 1.00 0.00 O -HETATM 1307 H HOH A 436 18.482 2.191 2.932 1.00 0.00 H -HETATM 1308 H HOH A 436 18.632 0.711 3.223 1.00 0.00 H -HETATM 1309 O HOH A 437 27.282 18.327 6.462 1.00 0.00 O -HETATM 1310 H HOH A 437 26.977 18.024 5.607 1.00 0.00 H -HETATM 1311 H HOH A 437 26.834 17.762 7.091 1.00 0.00 H -HETATM 1312 O HOH A 438 25.870 17.693 3.974 1.00 0.00 O -HETATM 1313 H HOH A 438 25.673 18.586 3.688 1.00 0.00 H -HETATM 1314 H HOH A 438 25.014 17.297 4.137 1.00 0.00 H -HETATM 1315 O HOH A 439 14.622 7.382 26.170 1.00 0.00 O -HETATM 1316 H HOH A 439 15.049 7.723 25.385 1.00 0.00 H -HETATM 1317 H HOH A 439 14.035 6.698 25.848 1.00 0.00 H -HETATM 1318 O HOH A 440 15.430 8.702 23.683 1.00 0.00 O -HETATM 1319 H HOH A 440 15.252 9.609 23.936 1.00 0.00 H -HETATM 1320 H HOH A 440 14.821 8.526 22.967 1.00 0.00 H -HETATM 1321 O HOH A 441 17.186 23.630 10.566 1.00 0.00 O -HETATM 1322 H HOH A 441 17.232 23.595 11.522 1.00 0.00 H -HETATM 1323 H HOH A 441 16.774 24.473 10.376 1.00 0.00 H -HETATM 1324 O HOH A 442 16.766 23.396 13.457 1.00 0.00 O -HETATM 1325 H HOH A 442 16.396 22.513 13.478 1.00 0.00 H -HETATM 1326 H HOH A 442 16.059 23.962 13.765 1.00 0.00 H -HETATM 1327 O HOH A 443 22.930 5.681 10.001 1.00 0.00 O -HETATM 1328 H HOH A 443 22.941 6.379 10.655 1.00 0.00 H -HETATM 1329 H HOH A 443 23.687 5.861 9.444 1.00 0.00 H -HETATM 1330 O HOH A 444 22.747 8.142 11.579 1.00 0.00 O -HETATM 1331 H HOH A 444 21.817 8.331 11.446 1.00 0.00 H -HETATM 1332 H HOH A 444 23.204 8.873 11.162 1.00 0.00 H -HETATM 1333 O HOH A 445 24.055 12.474 23.016 1.00 0.00 O -HETATM 1334 H HOH A 445 23.851 12.223 22.115 1.00 0.00 H -HETATM 1335 H HOH A 445 24.660 11.799 23.322 1.00 0.00 H -HETATM 1336 O HOH A 446 23.084 11.316 20.505 1.00 0.00 O -HETATM 1337 H HOH A 446 22.144 11.423 20.651 1.00 0.00 H -HETATM 1338 H HOH A 446 23.218 10.369 20.470 1.00 0.00 H -HETATM 1339 O HOH A 447 13.309 12.542 17.843 1.00 0.00 O -HETATM 1340 H HOH A 447 13.643 12.848 17.000 1.00 0.00 H -HETATM 1341 H HOH A 447 13.125 13.342 18.334 1.00 0.00 H -HETATM 1342 O HOH A 448 14.820 13.576 15.556 1.00 0.00 O -HETATM 1343 H HOH A 448 15.568 12.979 15.595 1.00 0.00 H -HETATM 1344 H HOH A 448 15.192 14.440 15.731 1.00 0.00 H -HETATM 1345 O HOH A 449 1.228 25.875 6.041 1.00 0.00 O -HETATM 1346 H HOH A 449 1.942 26.420 6.369 1.00 0.00 H -HETATM 1347 H HOH A 449 1.278 25.961 5.089 1.00 0.00 H -HETATM 1348 O HOH A 450 3.060 27.981 6.931 1.00 0.00 O -HETATM 1349 H HOH A 450 2.487 28.413 7.565 1.00 0.00 H -HETATM 1350 H HOH A 450 3.209 28.640 6.252 1.00 0.00 H -HETATM 1351 O HOH A 451 19.462 2.229 5.102 1.00 0.00 O -HETATM 1352 H HOH A 451 19.500 3.089 4.684 1.00 0.00 H -HETATM 1353 H HOH A 451 20.162 2.247 5.754 1.00 0.00 H -HETATM 1354 O HOH A 452 20.032 4.642 3.541 1.00 0.00 O -HETATM 1355 H HOH A 452 20.006 4.256 2.665 1.00 0.00 H -HETATM 1356 H HOH A 452 20.936 4.936 3.650 1.00 0.00 H -HETATM 1357 O HOH A 453 17.450 30.012 21.391 1.00 0.00 O -HETATM 1358 H HOH A 453 17.416 29.327 22.058 1.00 0.00 H -HETATM 1359 H HOH A 453 17.876 29.597 20.641 1.00 0.00 H -HETATM 1360 O HOH A 454 17.905 28.040 23.509 1.00 0.00 O -HETATM 1361 H HOH A 454 18.257 28.626 24.179 1.00 0.00 H -HETATM 1362 H HOH A 454 18.629 27.449 23.301 1.00 0.00 H -HETATM 1363 O HOH A 455 16.465 3.213 28.978 1.00 0.00 O -HETATM 1364 H HOH A 455 16.961 3.989 28.716 1.00 0.00 H -HETATM 1365 H HOH A 455 15.583 3.540 29.155 1.00 0.00 H -HETATM 1366 O HOH A 456 17.992 5.703 28.740 1.00 0.00 O -HETATM 1367 H HOH A 456 18.709 5.490 29.338 1.00 0.00 H -HETATM 1368 H HOH A 456 17.544 6.441 29.152 1.00 0.00 H -HETATM 1369 O HOH A 457 15.454 12.260 10.136 1.00 0.00 O -HETATM 1370 H HOH A 457 15.594 13.009 9.558 1.00 0.00 H -HETATM 1371 H HOH A 457 16.306 11.826 10.180 1.00 0.00 H -HETATM 1372 O HOH A 458 15.858 14.162 7.945 1.00 0.00 O -HETATM 1373 H HOH A 458 15.079 13.954 7.428 1.00 0.00 H -HETATM 1374 H HOH A 458 16.593 13.915 7.384 1.00 0.00 H -HETATM 1375 O HOH A 459 14.693 26.022 26.904 1.00 0.00 O -HETATM 1376 H HOH A 459 14.668 25.953 27.858 1.00 0.00 H -HETATM 1377 H HOH A 459 14.346 26.894 26.717 1.00 0.00 H -HETATM 1378 O HOH A 460 14.053 25.719 29.747 1.00 0.00 O -HETATM 1379 H HOH A 460 13.631 24.860 29.710 1.00 0.00 H -HETATM 1380 H HOH A 460 13.360 26.317 30.026 1.00 0.00 H -HETATM 1381 O HOH A 461 3.211 4.128 19.200 1.00 0.00 O -HETATM 1382 H HOH A 461 3.964 4.041 19.785 1.00 0.00 H -HETATM 1383 H HOH A 461 3.090 3.252 18.833 1.00 0.00 H -HETATM 1384 O HOH A 462 5.823 3.874 20.505 1.00 0.00 O -HETATM 1385 H HOH A 462 6.244 4.651 20.137 1.00 0.00 H -HETATM 1386 H HOH A 462 6.328 3.138 20.159 1.00 0.00 H -HETATM 1387 O HOH A 463 2.450 14.891 3.529 1.00 0.00 O -HETATM 1388 H HOH A 463 3.245 14.577 3.959 1.00 0.00 H -HETATM 1389 H HOH A 463 1.929 15.273 4.235 1.00 0.00 H -HETATM 1390 O HOH A 464 4.549 13.494 5.021 1.00 0.00 O -HETATM 1391 H HOH A 464 4.486 12.639 4.593 1.00 0.00 H -HETATM 1392 H HOH A 464 4.297 13.329 5.929 1.00 0.00 H -HETATM 1393 O HOH A 465 12.956 8.403 21.245 1.00 0.00 O -HETATM 1394 H HOH A 465 13.615 9.083 21.103 1.00 0.00 H -HETATM 1395 H HOH A 465 12.767 8.442 22.182 1.00 0.00 H -HETATM 1396 O HOH A 466 15.336 10.100 21.040 1.00 0.00 O -HETATM 1397 H HOH A 466 15.896 9.503 20.542 1.00 0.00 H -HETATM 1398 H HOH A 466 15.779 10.202 21.882 1.00 0.00 H -HETATM 1399 O HOH A 467 3.014 12.343 7.419 1.00 0.00 O -HETATM 1400 H HOH A 467 2.608 11.544 7.755 1.00 0.00 H -HETATM 1401 H HOH A 467 2.442 13.048 7.720 1.00 0.00 H -HETATM 1402 O HOH A 468 1.401 9.969 8.009 1.00 0.00 O -HETATM 1403 H HOH A 468 1.463 9.537 7.157 1.00 0.00 H -HETATM 1404 H HOH A 468 0.473 10.180 8.107 1.00 0.00 H -HETATM 1405 O HOH A 469 10.696 15.852 2.710 1.00 0.00 O -HETATM 1406 H HOH A 469 11.566 15.874 3.107 1.00 0.00 H -HETATM 1407 H HOH A 469 10.097 16.047 3.431 1.00 0.00 H -HETATM 1408 O HOH A 470 13.219 15.398 4.129 1.00 0.00 O -HETATM 1409 H HOH A 470 13.461 14.562 3.729 1.00 0.00 H -HETATM 1410 H HOH A 470 13.080 15.193 5.053 1.00 0.00 H -HETATM 1411 O HOH A 471 0.467 0.845 13.050 1.00 0.00 O -HETATM 1412 H HOH A 471 1.259 1.112 12.584 1.00 0.00 H -HETATM 1413 H HOH A 471 0.000 0.287 12.428 1.00 0.00 H -HETATM 1414 O HOH A 472 2.540 2.030 11.353 1.00 0.00 O -HETATM 1415 H HOH A 472 2.409 2.950 11.585 1.00 0.00 H -HETATM 1416 H HOH A 472 2.317 1.981 10.423 1.00 0.00 H -HETATM 1417 O HOH A 473 14.677 15.144 12.967 1.00 0.00 O -HETATM 1418 H HOH A 473 14.005 15.650 13.424 1.00 0.00 H -HETATM 1419 H HOH A 473 14.791 14.358 13.501 1.00 0.00 H -HETATM 1420 O HOH A 474 13.050 16.833 14.724 1.00 0.00 O -HETATM 1421 H HOH A 474 13.571 17.635 14.676 1.00 0.00 H -HETATM 1422 H HOH A 474 13.108 16.561 15.639 1.00 0.00 H -HETATM 1423 O HOH A 475 20.686 4.068 17.750 1.00 0.00 O -HETATM 1424 H HOH A 475 21.168 4.804 18.125 1.00 0.00 H -HETATM 1425 H HOH A 475 20.699 4.228 16.806 1.00 0.00 H -HETATM 1426 O HOH A 476 21.676 6.615 18.805 1.00 0.00 O -HETATM 1427 H HOH A 476 20.991 6.778 19.456 1.00 0.00 H -HETATM 1428 H HOH A 476 21.583 7.327 18.173 1.00 0.00 H -HETATM 1429 O HOH A 477 10.815 16.801 5.372 1.00 0.00 O -HETATM 1430 H HOH A 477 11.477 17.348 4.951 1.00 0.00 H -HETATM 1431 H HOH A 477 11.305 16.269 6.000 1.00 0.00 H -HETATM 1432 O HOH A 478 12.969 17.997 3.787 1.00 0.00 O -HETATM 1433 H HOH A 478 12.640 17.784 2.913 1.00 0.00 H -HETATM 1434 H HOH A 478 13.787 17.507 3.863 1.00 0.00 H -HETATM 1435 O HOH A 479 17.839 4.145 7.582 1.00 0.00 O -HETATM 1436 H HOH A 479 17.829 3.860 6.669 1.00 0.00 H -HETATM 1437 H HOH A 479 17.531 3.385 8.075 1.00 0.00 H -HETATM 1438 O HOH A 480 17.239 3.357 4.825 1.00 0.00 O -HETATM 1439 H HOH A 480 16.777 4.148 4.546 1.00 0.00 H -HETATM 1440 H HOH A 480 16.580 2.665 4.784 1.00 0.00 H -HETATM 1441 O HOH A 481 13.053 24.008 23.329 1.00 0.00 O -HETATM 1442 H HOH A 481 12.745 23.135 23.569 1.00 0.00 H -HETATM 1443 H HOH A 481 12.915 24.060 22.383 1.00 0.00 H -HETATM 1444 O HOH A 482 12.611 21.159 23.845 1.00 0.00 O -HETATM 1445 H HOH A 482 13.404 20.978 24.350 1.00 0.00 H -HETATM 1446 H HOH A 482 12.703 20.630 23.052 1.00 0.00 H -HETATM 1447 O HOH A 483 8.434 16.946 13.288 1.00 0.00 O -HETATM 1448 H HOH A 483 7.506 17.178 13.266 1.00 0.00 H -HETATM 1449 H HOH A 483 8.761 17.179 12.419 1.00 0.00 H -HETATM 1450 O HOH A 484 5.536 17.168 12.918 1.00 0.00 O -HETATM 1451 H HOH A 484 5.279 16.319 13.280 1.00 0.00 H -HETATM 1452 H HOH A 484 5.287 17.122 11.995 1.00 0.00 H -HETATM 1453 O HOH A 485 3.469 23.456 9.544 1.00 0.00 O -HETATM 1454 H HOH A 485 3.137 22.601 9.816 1.00 0.00 H -HETATM 1455 H HOH A 485 2.700 24.025 9.548 1.00 0.00 H -HETATM 1456 O HOH A 486 2.255 20.805 9.835 1.00 0.00 O -HETATM 1457 H HOH A 486 2.699 20.363 9.111 1.00 0.00 H -HETATM 1458 H HOH A 486 1.330 20.804 9.589 1.00 0.00 H -HETATM 1459 O HOH A 487 19.980 7.154 11.720 1.00 0.00 O -HETATM 1460 H HOH A 487 19.662 8.054 11.789 1.00 0.00 H -HETATM 1461 H HOH A 487 19.187 6.618 11.731 1.00 0.00 H -HETATM 1462 O HOH A 488 18.938 9.782 12.489 1.00 0.00 O -HETATM 1463 H HOH A 488 19.561 9.986 13.187 1.00 0.00 H -HETATM 1464 H HOH A 488 18.092 9.719 12.932 1.00 0.00 H -HETATM 1465 O HOH A 489 4.081 26.967 24.557 1.00 0.00 O -HETATM 1466 H HOH A 489 3.335 26.656 25.069 1.00 0.00 H -HETATM 1467 H HOH A 489 3.722 27.136 23.686 1.00 0.00 H -HETATM 1468 O HOH A 490 1.883 25.519 25.844 1.00 0.00 O -HETATM 1469 H HOH A 490 2.380 24.772 26.179 1.00 0.00 H -HETATM 1470 H HOH A 490 1.279 25.141 25.206 1.00 0.00 H -HETATM 1471 O HOH A 491 8.891 17.484 22.971 1.00 0.00 O -HETATM 1472 H HOH A 491 9.659 17.253 22.449 1.00 0.00 H -HETATM 1473 H HOH A 491 9.133 17.256 23.869 1.00 0.00 H -HETATM 1474 O HOH A 492 11.050 16.238 21.432 1.00 0.00 O -HETATM 1475 H HOH A 492 10.517 15.766 20.792 1.00 0.00 H -HETATM 1476 H HOH A 492 11.497 15.552 21.928 1.00 0.00 H -HETATM 1477 O HOH A 493 19.647 15.273 7.281 1.00 0.00 O -HETATM 1478 H HOH A 493 20.473 15.684 7.029 1.00 0.00 H -HETATM 1479 H HOH A 493 18.972 15.862 6.943 1.00 0.00 H -HETATM 1480 O HOH A 494 22.071 16.886 6.951 1.00 0.00 O -HETATM 1481 H HOH A 494 22.429 16.790 7.834 1.00 0.00 H -HETATM 1482 H HOH A 494 21.874 17.819 6.869 1.00 0.00 H -HETATM 1483 O HOH A 495 18.540 29.783 9.963 1.00 0.00 O -HETATM 1484 H HOH A 495 19.259 29.492 10.525 1.00 0.00 H -HETATM 1485 H HOH A 495 18.960 30.008 9.133 1.00 0.00 H -HETATM 1486 O HOH A 496 20.851 29.456 11.735 1.00 0.00 O -HETATM 1487 H HOH A 496 20.560 30.014 12.457 1.00 0.00 H -HETATM 1488 H HOH A 496 21.632 29.891 11.393 1.00 0.00 H -HETATM 1489 O HOH A 497 9.249 16.837 17.698 1.00 0.00 O -HETATM 1490 H HOH A 497 9.104 15.960 17.342 1.00 0.00 H -HETATM 1491 H HOH A 497 9.740 16.690 18.507 1.00 0.00 H -HETATM 1492 O HOH A 498 8.394 14.119 17.013 1.00 0.00 O -HETATM 1493 H HOH A 498 7.463 14.292 16.872 1.00 0.00 H -HETATM 1494 H HOH A 498 8.420 13.532 17.768 1.00 0.00 H -HETATM 1495 O HOH A 499 3.574 8.463 5.531 1.00 0.00 O -HETATM 1496 H HOH A 499 3.916 8.004 4.764 1.00 0.00 H -HETATM 1497 H HOH A 499 4.144 8.190 6.249 1.00 0.00 H -HETATM 1498 O HOH A 500 4.349 6.601 3.406 1.00 0.00 O -HETATM 1499 H HOH A 500 3.476 6.298 3.154 1.00 0.00 H -HETATM 1500 H HOH A 500 4.784 5.822 3.752 1.00 0.00 H -HETATM 1501 O HOH A 501 6.158 25.544 0.631 1.00 0.00 O -HETATM 1502 H HOH A 501 5.236 25.774 0.744 1.00 0.00 H -HETATM 1503 H HOH A 501 6.335 24.912 1.328 1.00 0.00 H -HETATM 1504 O HOH A 502 3.529 26.575 1.409 1.00 0.00 O -HETATM 1505 H HOH A 502 3.719 27.512 1.355 1.00 0.00 H -HETATM 1506 H HOH A 502 3.341 26.420 2.335 1.00 0.00 H -HETATM 1507 O HOH A 503 0.107 15.082 12.422 1.00 0.00 O -HETATM 1508 H HOH A 503 0.727 14.468 12.027 1.00 0.00 H -HETATM 1509 H HOH A 503 0.643 15.629 12.995 1.00 0.00 H -HETATM 1510 O HOH A 504 1.975 12.935 11.724 1.00 0.00 O -HETATM 1511 H HOH A 504 1.414 12.185 11.925 1.00 0.00 H -HETATM 1512 H HOH A 504 2.698 12.870 12.347 1.00 0.00 H -HETATM 1513 O HOH A 505 15.717 28.853 24.021 1.00 0.00 O -HETATM 1514 H HOH A 505 15.636 28.103 23.432 1.00 0.00 H -HETATM 1515 H HOH A 505 15.358 28.545 24.853 1.00 0.00 H -HETATM 1516 O HOH A 506 14.913 26.711 22.191 1.00 0.00 O -HETATM 1517 H HOH A 506 14.518 27.248 21.504 1.00 0.00 H -HETATM 1518 H HOH A 506 14.187 26.193 22.540 1.00 0.00 H -HETATM 1519 O HOH A 507 17.988 10.137 20.291 1.00 0.00 O -HETATM 1520 H HOH A 507 18.933 10.185 20.150 1.00 0.00 H -HETATM 1521 H HOH A 507 17.883 10.196 21.241 1.00 0.00 H -HETATM 1522 O HOH A 508 20.878 9.734 20.029 1.00 0.00 O -HETATM 1523 H HOH A 508 20.866 8.974 19.447 1.00 0.00 H -HETATM 1524 H HOH A 508 21.272 9.412 20.840 1.00 0.00 H -HETATM 1525 O HOH A 509 10.866 10.632 23.910 1.00 0.00 O -HETATM 1526 H HOH A 509 10.965 11.394 23.339 1.00 0.00 H -HETATM 1527 H HOH A 509 11.617 10.677 24.503 1.00 0.00 H -HETATM 1528 O HOH A 510 11.568 12.645 21.900 1.00 0.00 O -HETATM 1529 H HOH A 510 11.427 12.118 21.112 1.00 0.00 H -HETATM 1530 H HOH A 510 12.505 12.839 21.896 1.00 0.00 H -HETATM 1531 O HOH A 511 22.133 21.517 19.656 1.00 0.00 O -HETATM 1532 H HOH A 511 22.978 21.535 19.207 1.00 0.00 H -HETATM 1533 H HOH A 511 22.354 21.413 20.581 1.00 0.00 H -HETATM 1534 O HOH A 512 24.711 21.000 18.362 1.00 0.00 O -HETATM 1535 H HOH A 512 24.421 20.357 17.714 1.00 0.00 H -HETATM 1536 H HOH A 512 25.309 20.517 18.932 1.00 0.00 H -HETATM 1537 O HOH A 513 22.483 20.152 3.632 1.00 0.00 O -HETATM 1538 H HOH A 513 22.688 20.943 4.131 1.00 0.00 H -HETATM 1539 H HOH A 513 22.505 20.432 2.717 1.00 0.00 H -HETATM 1540 O HOH A 514 22.566 22.716 5.047 1.00 0.00 O -HETATM 1541 H HOH A 514 21.825 22.579 5.639 1.00 0.00 H -HETATM 1542 H HOH A 514 22.298 23.445 4.488 1.00 0.00 H -HETATM 1543 O HOH A 515 12.885 2.922 19.210 1.00 0.00 O -HETATM 1544 H HOH A 515 13.557 3.131 18.561 1.00 0.00 H -HETATM 1545 H HOH A 515 13.340 2.967 20.051 1.00 0.00 H -HETATM 1546 O HOH A 516 15.117 3.020 17.315 1.00 0.00 O -HETATM 1547 H HOH A 516 14.881 2.266 16.774 1.00 0.00 H -HETATM 1548 H HOH A 516 15.947 2.774 17.723 1.00 0.00 H -HETATM 1549 O HOH A 517 21.608 24.665 12.250 1.00 0.00 O -HETATM 1550 H HOH A 517 22.017 24.810 11.397 1.00 0.00 H -HETATM 1551 H HOH A 517 22.233 25.025 12.880 1.00 0.00 H -HETATM 1552 O HOH A 518 23.184 24.656 9.780 1.00 0.00 O -HETATM 1553 H HOH A 518 23.023 23.751 9.509 1.00 0.00 H -HETATM 1554 H HOH A 518 24.125 24.693 9.953 1.00 0.00 H -HETATM 1555 O HOH A 519 26.128 19.010 23.405 1.00 0.00 O -HETATM 1556 H HOH A 519 25.683 18.703 24.194 1.00 0.00 H -HETATM 1557 H HOH A 519 27.053 19.052 23.651 1.00 0.00 H -HETATM 1558 O HOH A 520 24.833 18.614 26.003 1.00 0.00 O -HETATM 1559 H HOH A 520 24.173 19.305 25.942 1.00 0.00 H -HETATM 1560 H HOH A 520 25.395 18.880 26.730 1.00 0.00 H -HETATM 1561 O HOH A 521 17.489 25.987 28.499 1.00 0.00 O -HETATM 1562 H HOH A 521 18.185 26.448 28.031 1.00 0.00 H -HETATM 1563 H HOH A 521 16.872 25.726 27.816 1.00 0.00 H -HETATM 1564 O HOH A 522 19.243 27.833 27.049 1.00 0.00 O -HETATM 1565 H HOH A 522 19.218 28.568 27.663 1.00 0.00 H -HETATM 1566 H HOH A 522 18.833 28.169 26.253 1.00 0.00 H -HETATM 1567 O HOH A 523 20.277 4.192 20.041 1.00 0.00 O -HETATM 1568 H HOH A 523 20.534 4.541 20.894 1.00 0.00 H -HETATM 1569 H HOH A 523 20.707 3.339 19.991 1.00 0.00 H -HETATM 1570 O HOH A 524 21.566 5.376 22.391 1.00 0.00 O -HETATM 1571 H HOH A 524 21.810 6.221 22.011 1.00 0.00 H -HETATM 1572 H HOH A 524 22.399 4.953 22.596 1.00 0.00 H -HETATM 1573 O HOH A 525 19.781 11.056 28.807 1.00 0.00 O -HETATM 1574 H HOH A 525 19.185 10.519 28.285 1.00 0.00 H -HETATM 1575 H HOH A 525 20.347 10.425 29.251 1.00 0.00 H -HETATM 1576 O HOH A 526 17.691 9.320 27.711 1.00 0.00 O -HETATM 1577 H HOH A 526 16.925 9.799 28.026 1.00 0.00 H -HETATM 1578 H HOH A 526 17.651 8.476 28.161 1.00 0.00 H -HETATM 1579 O HOH A 527 5.016 16.205 4.351 1.00 0.00 O -HETATM 1580 H HOH A 527 5.673 16.847 4.085 1.00 0.00 H -HETATM 1581 H HOH A 527 5.516 15.405 4.516 1.00 0.00 H -HETATM 1582 O HOH A 528 7.011 17.896 3.030 1.00 0.00 O -HETATM 1583 H HOH A 528 6.494 18.161 2.269 1.00 0.00 H -HETATM 1584 H HOH A 528 7.733 17.384 2.666 1.00 0.00 H -HETATM 1585 O HOH A 529 19.131 7.519 26.179 1.00 0.00 O -HETATM 1586 H HOH A 529 18.278 7.170 26.437 1.00 0.00 H -HETATM 1587 H HOH A 529 18.978 7.921 25.324 1.00 0.00 H -HETATM 1588 O HOH A 530 16.642 6.030 26.596 1.00 0.00 O -HETATM 1589 H HOH A 530 17.019 5.180 26.827 1.00 0.00 H -HETATM 1590 H HOH A 530 16.174 5.873 25.777 1.00 0.00 H -HETATM 1591 O HOH A 531 12.834 5.183 9.988 1.00 0.00 O -HETATM 1592 H HOH A 531 12.161 4.647 10.406 1.00 0.00 H -HETATM 1593 H HOH A 531 12.545 5.268 9.080 1.00 0.00 H -HETATM 1594 O HOH A 532 11.034 3.104 11.000 1.00 0.00 O -HETATM 1595 H HOH A 532 11.688 2.526 11.393 1.00 0.00 H -HETATM 1596 H HOH A 532 10.648 2.587 10.293 1.00 0.00 H -HETATM 1597 O HOH A 533 5.480 5.343 15.151 1.00 0.00 O -HETATM 1598 H HOH A 533 5.816 4.527 15.522 1.00 0.00 H -HETATM 1599 H HOH A 533 4.719 5.557 15.692 1.00 0.00 H -HETATM 1600 O HOH A 534 6.070 2.603 16.004 1.00 0.00 O -HETATM 1601 H HOH A 534 6.125 2.192 15.141 1.00 0.00 H -HETATM 1602 H HOH A 534 5.318 2.186 16.423 1.00 0.00 H -HETATM 1603 O HOH A 535 16.222 9.792 9.346 1.00 0.00 O -HETATM 1604 H HOH A 535 15.420 9.402 8.998 1.00 0.00 H -HETATM 1605 H HOH A 535 16.249 9.510 10.260 1.00 0.00 H -HETATM 1606 O HOH A 536 13.505 9.026 8.562 1.00 0.00 O -HETATM 1607 H HOH A 536 13.227 9.856 8.174 1.00 0.00 H -HETATM 1608 H HOH A 536 12.931 8.908 9.319 1.00 0.00 H -HETATM 1609 O HOH A 537 4.339 3.990 13.311 1.00 0.00 O -HETATM 1610 H HOH A 537 3.550 3.456 13.397 1.00 0.00 H -HETATM 1611 H HOH A 537 5.027 3.471 13.728 1.00 0.00 H -HETATM 1612 O HOH A 538 1.923 2.542 14.119 1.00 0.00 O -HETATM 1613 H HOH A 538 1.415 3.283 14.450 1.00 0.00 H -HETATM 1614 H HOH A 538 2.074 1.990 14.886 1.00 0.00 H -HETATM 1615 O HOH A 539 29.552 2.439 28.550 1.00 0.00 O -HETATM 1616 H HOH A 539 28.733 2.734 28.948 1.00 0.00 H -HETATM 1617 H HOH A 539 29.459 2.654 27.622 1.00 0.00 H -HETATM 1618 O HOH A 540 26.826 2.860 29.539 1.00 0.00 O -HETATM 1619 H HOH A 540 26.710 2.028 30.000 1.00 0.00 H -HETATM 1620 H HOH A 540 26.180 2.837 28.834 1.00 0.00 H -HETATM 1621 O HOH A 541 14.541 27.600 15.786 1.00 0.00 O -HETATM 1622 H HOH A 541 13.777 28.025 15.396 1.00 0.00 H -HETATM 1623 H HOH A 541 14.388 27.649 16.729 1.00 0.00 H -HETATM 1624 O HOH A 542 12.466 29.390 14.748 1.00 0.00 O -HETATM 1625 H HOH A 542 13.014 29.930 14.178 1.00 0.00 H -HETATM 1626 H HOH A 542 12.144 29.994 15.417 1.00 0.00 H -HETATM 1627 O HOH A 543 18.032 28.666 13.242 1.00 0.00 O -HETATM 1628 H HOH A 543 17.570 27.828 13.230 1.00 0.00 H -HETATM 1629 H HOH A 543 18.551 28.667 12.437 1.00 0.00 H -HETATM 1630 O HOH A 544 17.125 25.883 13.370 1.00 0.00 O -HETATM 1631 H HOH A 544 17.377 25.691 14.274 1.00 0.00 H -HETATM 1632 H HOH A 544 17.669 25.303 12.838 1.00 0.00 H -HETATM 1633 O HOH A 545 19.405 8.955 0.350 1.00 0.00 O -HETATM 1634 H HOH A 545 18.538 8.697 0.661 1.00 0.00 H -HETATM 1635 H HOH A 545 19.456 9.894 0.532 1.00 0.00 H -HETATM 1636 O HOH A 546 16.565 8.407 0.814 1.00 0.00 O -HETATM 1637 H HOH A 546 16.373 7.939 -0.000 1.00 0.00 H -HETATM 1638 H HOH A 546 16.032 9.201 0.768 1.00 0.00 H -HETATM 1639 O HOH A 547 4.960 19.274 21.490 1.00 0.00 O -HETATM 1640 H HOH A 547 4.607 18.754 20.769 1.00 0.00 H -HETATM 1641 H HOH A 547 4.188 19.634 21.928 1.00 0.00 H -HETATM 1642 O HOH A 548 3.802 18.192 19.026 1.00 0.00 O -HETATM 1643 H HOH A 548 4.403 18.591 18.396 1.00 0.00 H -HETATM 1644 H HOH A 548 2.951 18.581 18.827 1.00 0.00 H -HETATM 1645 O HOH A 549 10.578 29.122 26.330 1.00 0.00 O -HETATM 1646 H HOH A 549 10.013 28.370 26.505 1.00 0.00 H -HETATM 1647 H HOH A 549 10.913 28.970 25.446 1.00 0.00 H -HETATM 1648 O HOH A 550 9.343 26.540 26.955 1.00 0.00 O -HETATM 1649 H HOH A 550 9.748 26.389 27.810 1.00 0.00 H -HETATM 1650 H HOH A 550 9.678 25.837 26.401 1.00 0.00 H -HETATM 1651 O HOH A 551 25.595 25.278 29.408 1.00 0.00 O -HETATM 1652 H HOH A 551 25.300 25.545 28.538 1.00 0.00 H -HETATM 1653 H HOH A 551 24.970 25.684 30.009 1.00 0.00 H -HETATM 1654 O HOH A 552 24.940 26.600 26.877 1.00 0.00 O -HETATM 1655 H HOH A 552 25.823 26.868 26.621 1.00 0.00 H -HETATM 1656 H HOH A 552 24.467 27.421 27.011 1.00 0.00 H -HETATM 1657 O HOH A 553 20.360 15.761 19.335 1.00 0.00 O -HETATM 1658 H HOH A 553 19.586 15.198 19.339 1.00 0.00 H -HETATM 1659 H HOH A 553 20.273 16.295 20.124 1.00 0.00 H -HETATM 1660 O HOH A 554 17.716 14.510 19.163 1.00 0.00 O -HETATM 1661 H HOH A 554 17.520 14.713 18.248 1.00 0.00 H -HETATM 1662 H HOH A 554 17.058 14.989 19.665 1.00 0.00 H -HETATM 1663 O HOH A 555 8.151 15.666 7.622 1.00 0.00 O -HETATM 1664 H HOH A 555 7.438 16.305 7.634 1.00 0.00 H -HETATM 1665 H HOH A 555 7.711 14.816 7.610 1.00 0.00 H -HETATM 1666 O HOH A 556 5.929 17.482 8.215 1.00 0.00 O -HETATM 1667 H HOH A 556 6.328 17.967 8.938 1.00 0.00 H -HETATM 1668 H HOH A 556 5.186 17.025 8.611 1.00 0.00 H -HETATM 1669 O HOH A 557 29.564 0.850 6.168 1.00 0.00 O -HETATM 1670 H HOH A 557 28.836 1.194 6.685 1.00 0.00 H -HETATM 1671 H HOH A 557 29.945 1.621 5.746 1.00 0.00 H -HETATM 1672 O HOH A 558 27.062 1.930 7.245 1.00 0.00 O -HETATM 1673 H HOH A 558 26.461 1.266 6.905 1.00 0.00 H -HETATM 1674 H HOH A 558 26.802 2.740 6.807 1.00 0.00 H -HETATM 1675 O HOH A 559 28.605 29.840 25.135 1.00 0.00 O -HETATM 1676 H HOH A 559 28.169 29.015 25.347 1.00 0.00 H -HETATM 1677 H HOH A 559 28.543 29.907 24.182 1.00 0.00 H -HETATM 1678 O HOH A 560 27.759 27.074 25.599 1.00 0.00 O -HETATM 1679 H HOH A 560 28.485 26.793 26.158 1.00 0.00 H -HETATM 1680 H HOH A 560 27.838 26.536 24.812 1.00 0.00 H -HETATM 1681 O HOH A 561 10.082 10.888 4.195 1.00 0.00 O -HETATM 1682 H HOH A 561 10.712 11.219 4.835 1.00 0.00 H -HETATM 1683 H HOH A 561 10.514 11.008 3.349 1.00 0.00 H -HETATM 1684 O HOH A 562 11.826 12.421 5.982 1.00 0.00 O -HETATM 1685 H HOH A 562 11.156 12.947 6.420 1.00 0.00 H -HETATM 1686 H HOH A 562 12.360 13.056 5.506 1.00 0.00 H -HETATM 1687 O HOH A 563 6.391 26.908 11.949 1.00 0.00 O -HETATM 1688 H HOH A 563 5.701 26.778 11.298 1.00 0.00 H -HETATM 1689 H HOH A 563 5.925 26.981 12.781 1.00 0.00 H -HETATM 1690 O HOH A 564 4.196 27.078 10.016 1.00 0.00 O -HETATM 1691 H HOH A 564 4.559 27.755 9.444 1.00 0.00 H -HETATM 1692 H HOH A 564 3.413 27.477 10.394 1.00 0.00 H -HETATM 1693 O HOH A 565 13.734 25.683 19.308 1.00 0.00 O -HETATM 1694 H HOH A 565 14.393 26.223 18.874 1.00 0.00 H -HETATM 1695 H HOH A 565 14.081 25.540 20.189 1.00 0.00 H -HETATM 1696 O HOH A 566 16.045 26.843 17.931 1.00 0.00 O -HETATM 1697 H HOH A 566 16.052 26.276 17.159 1.00 0.00 H -HETATM 1698 H HOH A 566 16.867 26.649 18.381 1.00 0.00 H -HETATM 1699 O HOH A 567 14.852 26.745 13.127 1.00 0.00 O -HETATM 1700 H HOH A 567 14.969 26.051 13.776 1.00 0.00 H -HETATM 1701 H HOH A 567 14.981 27.557 13.617 1.00 0.00 H -HETATM 1702 O HOH A 568 14.679 24.766 15.280 1.00 0.00 O -HETATM 1703 H HOH A 568 13.874 24.325 15.007 1.00 0.00 H -HETATM 1704 H HOH A 568 14.461 25.167 16.121 1.00 0.00 H -HETATM 1705 O HOH A 569 8.715 1.641 7.234 1.00 0.00 O -HETATM 1706 H HOH A 569 9.389 0.968 7.331 1.00 0.00 H -HETATM 1707 H HOH A 569 8.580 1.711 6.289 1.00 0.00 H -HETATM 1708 O HOH A 570 11.139 -0.000 7.373 1.00 0.00 O -HETATM 1709 H HOH A 570 11.649 0.546 7.971 1.00 0.00 H -HETATM 1710 H HOH A 570 11.631 0.015 6.552 1.00 0.00 H -HETATM 1711 O HOH A 571 19.616 10.994 15.669 1.00 0.00 O -HETATM 1712 H HOH A 571 19.203 11.696 16.171 1.00 0.00 H -HETATM 1713 H HOH A 571 19.866 11.404 14.841 1.00 0.00 H -HETATM 1714 O HOH A 572 17.900 13.047 16.863 1.00 0.00 O -HETATM 1715 H HOH A 572 17.148 12.497 17.083 1.00 0.00 H -HETATM 1716 H HOH A 572 17.567 13.662 16.209 1.00 0.00 H -HETATM 1717 O HOH A 573 16.420 8.996 15.699 1.00 0.00 O -HETATM 1718 H HOH A 573 15.715 9.057 16.343 1.00 0.00 H -HETATM 1719 H HOH A 573 16.202 9.655 15.040 1.00 0.00 H -HETATM 1720 O HOH A 574 13.956 8.887 17.280 1.00 0.00 O -HETATM 1721 H HOH A 574 13.826 7.938 17.280 1.00 0.00 H -HETATM 1722 H HOH A 574 13.205 9.234 16.800 1.00 0.00 H -HETATM 1723 O HOH A 575 26.717 12.637 20.231 1.00 0.00 O -HETATM 1724 H HOH A 575 27.466 12.929 19.713 1.00 0.00 H -HETATM 1725 H HOH A 575 26.880 12.985 21.108 1.00 0.00 H -HETATM 1726 O HOH A 576 29.291 13.104 18.911 1.00 0.00 O -HETATM 1727 H HOH A 576 29.431 12.227 18.553 1.00 0.00 H -HETATM 1728 H HOH A 576 30.001 13.225 19.541 1.00 0.00 H -HETATM 1729 O HOH A 577 7.750 24.754 27.173 1.00 0.00 O -HETATM 1730 H HOH A 577 7.528 25.380 26.483 1.00 0.00 H -HETATM 1731 H HOH A 577 7.289 25.076 27.947 1.00 0.00 H -HETATM 1732 O HOH A 578 7.459 27.007 25.322 1.00 0.00 O -HETATM 1733 H HOH A 578 8.376 27.098 25.060 1.00 0.00 H -HETATM 1734 H HOH A 578 7.256 27.823 25.777 1.00 0.00 H -HETATM 1735 O HOH A 579 2.514 7.721 21.694 1.00 0.00 O -HETATM 1736 H HOH A 579 2.110 8.475 21.266 1.00 0.00 H -HETATM 1737 H HOH A 579 2.582 7.061 21.004 1.00 0.00 H -HETATM 1738 O HOH A 580 0.788 9.727 20.438 1.00 0.00 O -HETATM 1739 H HOH A 580 0.148 9.829 21.143 1.00 0.00 H -HETATM 1740 H HOH A 580 0.288 9.365 19.707 1.00 0.00 H -HETATM 1741 O HOH A 581 19.374 8.623 14.961 1.00 0.00 O -HETATM 1742 H HOH A 581 19.014 8.234 15.758 1.00 0.00 H -HETATM 1743 H HOH A 581 18.927 8.168 14.248 1.00 0.00 H -HETATM 1744 O HOH A 582 18.625 6.993 17.277 1.00 0.00 O -HETATM 1745 H HOH A 582 19.497 6.862 17.650 1.00 0.00 H -HETATM 1746 H HOH A 582 18.336 6.116 17.023 1.00 0.00 H -HETATM 1747 O HOH A 583 13.798 29.714 26.324 1.00 0.00 O -HETATM 1748 H HOH A 583 13.412 29.457 27.161 1.00 0.00 H -HETATM 1749 H HOH A 583 14.684 30.002 26.546 1.00 0.00 H -HETATM 1750 O HOH A 584 12.558 29.495 28.970 1.00 0.00 O -HETATM 1751 H HOH A 584 11.763 30.001 28.799 1.00 0.00 H -HETATM 1752 H HOH A 584 13.029 30.000 29.631 1.00 0.00 H -HETATM 1753 O HOH A 585 21.729 14.853 8.724 1.00 0.00 O -HETATM 1754 H HOH A 585 22.134 14.545 7.914 1.00 0.00 H -HETATM 1755 H HOH A 585 22.286 14.503 9.419 1.00 0.00 H -HETATM 1756 O HOH A 586 22.720 13.408 6.376 1.00 0.00 O -HETATM 1757 H HOH A 586 21.882 13.096 6.034 1.00 0.00 H -HETATM 1758 H HOH A 586 23.194 12.613 6.616 1.00 0.00 H -HETATM 1759 O HOH A 587 20.887 16.799 17.469 1.00 0.00 O -HETATM 1760 H HOH A 587 20.731 17.124 16.582 1.00 0.00 H -HETATM 1761 H HOH A 587 21.758 17.125 17.694 1.00 0.00 H -HETATM 1762 O HOH A 588 20.760 17.366 14.597 1.00 0.00 O -HETATM 1763 H HOH A 588 20.478 16.503 14.292 1.00 0.00 H -HETATM 1764 H HOH A 588 21.629 17.485 14.214 1.00 0.00 H -HETATM 1765 O HOH A 589 17.969 24.961 25.033 1.00 0.00 O -HETATM 1766 H HOH A 589 17.454 24.473 24.390 1.00 0.00 H -HETATM 1767 H HOH A 589 17.373 25.087 25.771 1.00 0.00 H -HETATM 1768 O HOH A 590 16.150 23.979 22.956 1.00 0.00 O -HETATM 1769 H HOH A 590 16.402 24.574 22.250 1.00 0.00 H -HETATM 1770 H HOH A 590 15.237 24.198 23.144 1.00 0.00 H -HETATM 1771 O HOH A 591 22.588 21.581 0.476 1.00 0.00 O -HETATM 1772 H HOH A 591 23.418 21.335 0.884 1.00 0.00 H -HETATM 1773 H HOH A 591 22.784 22.387 -0.001 1.00 0.00 H -HETATM 1774 O HOH A 592 25.002 21.244 2.103 1.00 0.00 O -HETATM 1775 H HOH A 592 24.585 21.110 2.954 1.00 0.00 H -HETATM 1776 H HOH A 592 25.489 22.062 2.198 1.00 0.00 H -HETATM 1777 O HOH A 593 28.331 29.731 4.100 1.00 0.00 O -HETATM 1778 H HOH A 593 28.477 28.926 3.603 1.00 0.00 H -HETATM 1779 H HOH A 593 27.585 29.533 4.666 1.00 0.00 H -HETATM 1780 O HOH A 594 28.324 27.442 2.272 1.00 0.00 O -HETATM 1781 H HOH A 594 28.367 27.919 1.443 1.00 0.00 H -HETATM 1782 H HOH A 594 27.476 26.999 2.252 1.00 0.00 H -HETATM 1783 O HOH A 595 4.388 8.859 12.020 1.00 0.00 O -HETATM 1784 H HOH A 595 4.285 7.920 12.175 1.00 0.00 H -HETATM 1785 H HOH A 595 4.435 8.941 11.067 1.00 0.00 H -HETATM 1786 O HOH A 596 4.639 5.963 12.385 1.00 0.00 O -HETATM 1787 H HOH A 596 5.333 5.960 13.044 1.00 0.00 H -HETATM 1788 H HOH A 596 5.028 5.536 11.622 1.00 0.00 H -HETATM 1789 O HOH A 597 1.522 20.651 15.121 1.00 0.00 O -HETATM 1790 H HOH A 597 1.699 21.199 14.357 1.00 0.00 H -HETATM 1791 H HOH A 597 0.679 20.962 15.451 1.00 0.00 H -HETATM 1792 O HOH A 598 2.209 22.728 13.173 1.00 0.00 O -HETATM 1793 H HOH A 598 3.101 22.914 13.468 1.00 0.00 H -HETATM 1794 H HOH A 598 1.728 23.540 13.328 1.00 0.00 H -HETATM 1795 O HOH A 599 -0.000 11.291 17.706 1.00 0.00 O -HETATM 1796 H HOH A 599 0.577 11.234 18.467 1.00 0.00 H -HETATM 1797 H HOH A 599 0.127 10.462 17.245 1.00 0.00 H -HETATM 1798 O HOH A 600 2.186 11.235 19.656 1.00 0.00 O -HETATM 1799 H HOH A 600 2.552 12.104 19.487 1.00 0.00 H -HETATM 1800 H HOH A 600 2.879 10.627 19.402 1.00 0.00 H -HETATM 1801 O HOH A 601 1.219 29.844 12.900 1.00 0.00 O -HETATM 1802 H HOH A 601 1.115 29.783 11.950 1.00 0.00 H -HETATM 1803 H HOH A 601 2.130 29.596 13.058 1.00 0.00 H -HETATM 1804 O HOH A 602 0.873 29.090 10.090 1.00 0.00 O -HETATM 1805 H HOH A 602 0.065 28.583 10.175 1.00 0.00 H -HETATM 1806 H HOH A 602 1.529 28.455 9.804 1.00 0.00 H -HETATM 1807 O HOH A 603 21.231 10.420 11.823 1.00 0.00 O -HETATM 1808 H HOH A 603 21.643 11.058 12.404 1.00 0.00 H -HETATM 1809 H HOH A 603 20.505 10.895 11.419 1.00 0.00 H -HETATM 1810 O HOH A 604 22.046 12.262 13.951 1.00 0.00 O -HETATM 1811 H HOH A 604 22.056 11.642 14.681 1.00 0.00 H -HETATM 1812 H HOH A 604 21.354 12.885 14.172 1.00 0.00 H -HETATM 1813 O HOH A 605 0.263 20.719 11.915 1.00 0.00 O -HETATM 1814 H HOH A 605 0.007 21.406 11.301 1.00 0.00 H -HETATM 1815 H HOH A 605 0.131 21.108 12.780 1.00 0.00 H -HETATM 1816 O HOH A 606 -0.006 23.050 10.161 1.00 0.00 O -HETATM 1817 H HOH A 606 0.792 22.935 9.644 1.00 0.00 H -HETATM 1818 H HOH A 606 0.126 23.872 10.631 1.00 0.00 H -HETATM 1819 O HOH A 607 18.401 26.846 0.488 1.00 0.00 O -HETATM 1820 H HOH A 607 17.624 27.200 0.920 1.00 0.00 H -HETATM 1821 H HOH A 607 19.109 26.982 1.118 1.00 0.00 H -HETATM 1822 O HOH A 608 16.241 28.441 1.661 1.00 0.00 O -HETATM 1823 H HOH A 608 15.994 28.943 0.884 1.00 0.00 H -HETATM 1824 H HOH A 608 16.570 29.095 2.278 1.00 0.00 H -HETATM 1825 O HOH A 609 2.918 21.393 6.664 1.00 0.00 O -HETATM 1826 H HOH A 609 2.925 21.032 5.778 1.00 0.00 H -HETATM 1827 H HOH A 609 2.146 21.007 7.077 1.00 0.00 H -HETATM 1828 O HOH A 610 2.522 20.673 3.852 1.00 0.00 O -HETATM 1829 H HOH A 610 2.653 21.538 3.462 1.00 0.00 H -HETATM 1830 H HOH A 610 1.610 20.457 3.661 1.00 0.00 H -HETATM 1831 O HOH A 611 4.239 6.274 24.152 1.00 0.00 O -HETATM 1832 H HOH A 611 4.456 7.069 24.639 1.00 0.00 H -HETATM 1833 H HOH A 611 5.086 5.890 23.928 1.00 0.00 H -HETATM 1834 O HOH A 612 5.018 8.927 25.121 1.00 0.00 O -HETATM 1835 H HOH A 612 4.416 9.455 24.596 1.00 0.00 H -HETATM 1836 H HOH A 612 5.890 9.180 24.816 1.00 0.00 H -HETATM 1837 O HOH A 613 4.051 18.452 2.267 1.00 0.00 O -HETATM 1838 H HOH A 613 4.562 19.075 1.750 1.00 0.00 H -HETATM 1839 H HOH A 613 4.421 18.509 3.147 1.00 0.00 H -HETATM 1840 O HOH A 614 6.018 19.945 0.691 1.00 0.00 O -HETATM 1841 H HOH A 614 6.163 19.303 -0.005 1.00 0.00 H -HETATM 1842 H HOH A 614 6.862 20.012 1.138 1.00 0.00 H -HETATM 1843 O HOH A 615 25.476 19.620 8.638 1.00 0.00 O -HETATM 1844 H HOH A 615 26.101 20.150 9.133 1.00 0.00 H -HETATM 1845 H HOH A 615 25.827 19.605 7.747 1.00 0.00 H -HETATM 1846 O HOH A 616 27.127 21.687 9.897 1.00 0.00 O -HETATM 1847 H HOH A 616 26.428 22.216 10.282 1.00 0.00 H -HETATM 1848 H HOH A 616 27.539 22.262 9.252 1.00 0.00 H -HETATM 1849 O HOH A 617 18.628 13.429 23.998 1.00 0.00 O -HETATM 1850 H HOH A 617 18.938 14.321 24.153 1.00 0.00 H -HETATM 1851 H HOH A 617 18.164 13.477 23.162 1.00 0.00 H -HETATM 1852 O HOH A 618 19.030 16.263 24.624 1.00 0.00 O -HETATM 1853 H HOH A 618 18.697 16.261 25.523 1.00 0.00 H -HETATM 1854 H HOH A 618 18.425 16.827 24.143 1.00 0.00 H -HETATM 1855 O HOH A 619 9.844 17.725 25.897 1.00 0.00 O -HETATM 1856 H HOH A 619 10.477 18.367 25.575 1.00 0.00 H -HETATM 1857 H HOH A 619 9.822 17.865 26.844 1.00 0.00 H -HETATM 1858 O HOH A 620 12.173 19.320 25.111 1.00 0.00 O -HETATM 1859 H HOH A 620 12.631 18.660 24.590 1.00 0.00 H -HETATM 1860 H HOH A 620 12.757 19.493 25.849 1.00 0.00 H -HETATM 1861 O HOH A 621 28.412 4.587 27.523 1.00 0.00 O -HETATM 1862 H HOH A 621 27.954 4.760 28.345 1.00 0.00 H -HETATM 1863 H HOH A 621 29.160 5.185 27.533 1.00 0.00 H -HETATM 1864 O HOH A 622 26.815 5.584 29.767 1.00 0.00 O -HETATM 1865 H HOH A 622 25.969 5.652 29.324 1.00 0.00 H -HETATM 1866 H HOH A 622 27.040 6.485 29.998 1.00 0.00 H -HETATM 1867 O HOH A 623 13.789 23.279 17.622 1.00 0.00 O -HETATM 1868 H HOH A 623 13.106 22.967 18.215 1.00 0.00 H -HETATM 1869 H HOH A 623 13.493 23.011 16.752 1.00 0.00 H -HETATM 1870 O HOH A 624 11.945 21.811 19.362 1.00 0.00 O -HETATM 1871 H HOH A 624 12.588 21.413 19.951 1.00 0.00 H -HETATM 1872 H HOH A 624 11.539 21.070 18.913 1.00 0.00 H -HETATM 1873 O HOH A 625 10.868 1.204 27.721 1.00 0.00 O -HETATM 1874 H HOH A 625 11.665 1.592 27.362 1.00 0.00 H -HETATM 1875 H HOH A 625 10.193 1.868 27.580 1.00 0.00 H -HETATM 1876 O HOH A 626 13.314 2.697 27.112 1.00 0.00 O -HETATM 1877 H HOH A 626 13.817 2.477 27.897 1.00 0.00 H -HETATM 1878 H HOH A 626 13.181 3.643 27.167 1.00 0.00 H -HETATM 1879 O HOH A 627 11.204 30.009 11.230 1.00 0.00 O -HETATM 1880 H HOH A 627 11.869 29.471 11.658 1.00 0.00 H -HETATM 1881 H HOH A 627 11.034 29.566 10.398 1.00 0.00 H -HETATM 1882 O HOH A 628 13.604 28.618 12.173 1.00 0.00 O -HETATM 1883 H HOH A 628 14.145 29.383 12.373 1.00 0.00 H -HETATM 1884 H HOH A 628 14.065 28.174 11.462 1.00 0.00 H -HETATM 1885 O HOH A 629 9.084 8.920 0.462 1.00 0.00 O -HETATM 1886 H HOH A 629 10.037 8.919 0.544 1.00 0.00 H -HETATM 1887 H HOH A 629 8.877 9.768 0.069 1.00 0.00 H -HETATM 1888 O HOH A 630 11.908 9.257 1.167 1.00 0.00 O -HETATM 1889 H HOH A 630 11.865 8.966 2.078 1.00 0.00 H -HETATM 1890 H HOH A 630 12.158 10.179 1.219 1.00 0.00 H -HETATM 1891 O HOH A 631 16.146 5.514 7.896 1.00 0.00 O -HETATM 1892 H HOH A 631 15.472 5.092 7.365 1.00 0.00 H -HETATM 1893 H HOH A 631 15.970 5.218 8.789 1.00 0.00 H -HETATM 1894 O HOH A 632 13.736 4.631 6.484 1.00 0.00 O -HETATM 1895 H HOH A 632 13.515 5.453 6.046 1.00 0.00 H -HETATM 1896 H HOH A 632 13.006 4.472 7.082 1.00 0.00 H -HETATM 1897 O HOH A 633 15.046 11.109 0.294 1.00 0.00 O -HETATM 1898 H HOH A 633 14.584 11.767 0.813 1.00 0.00 H -HETATM 1899 H HOH A 633 14.361 10.509 -0.000 1.00 0.00 H -HETATM 1900 O HOH A 634 13.624 12.715 2.289 1.00 0.00 O -HETATM 1901 H HOH A 634 14.251 12.640 3.009 1.00 0.00 H -HETATM 1902 H HOH A 634 12.835 12.277 2.608 1.00 0.00 H -HETATM 1903 O HOH A 635 10.418 14.009 28.380 1.00 0.00 O -HETATM 1904 H HOH A 635 10.799 14.289 27.548 1.00 0.00 H -HETATM 1905 H HOH A 635 9.888 14.754 28.664 1.00 0.00 H -HETATM 1906 O HOH A 636 11.946 15.168 26.165 1.00 0.00 O -HETATM 1907 H HOH A 636 12.822 14.889 26.432 1.00 0.00 H -HETATM 1908 H HOH A 636 11.973 16.124 26.207 1.00 0.00 H -HETATM 1909 O HOH A 637 12.589 26.143 12.286 1.00 0.00 O -HETATM 1910 H HOH A 637 12.235 26.960 12.636 1.00 0.00 H -HETATM 1911 H HOH A 637 12.309 26.132 11.370 1.00 0.00 H -HETATM 1912 O HOH A 638 11.006 28.357 13.371 1.00 0.00 O -HETATM 1913 H HOH A 638 10.644 27.912 14.139 1.00 0.00 H -HETATM 1914 H HOH A 638 10.246 28.557 12.826 1.00 0.00 H -HETATM 1915 O HOH A 639 20.970 25.897 7.532 1.00 0.00 O -HETATM 1916 H HOH A 639 21.179 26.582 8.167 1.00 0.00 H -HETATM 1917 H HOH A 639 20.022 25.959 7.414 1.00 0.00 H -HETATM 1918 O HOH A 640 21.399 27.622 9.862 1.00 0.00 O -HETATM 1919 H HOH A 640 21.922 27.020 10.393 1.00 0.00 H -HETATM 1920 H HOH A 640 20.596 27.753 10.365 1.00 0.00 H -HETATM 1921 O HOH A 641 16.368 10.385 4.719 1.00 0.00 O -HETATM 1922 H HOH A 641 16.390 9.542 5.171 1.00 0.00 H -HETATM 1923 H HOH A 641 15.636 10.311 4.106 1.00 0.00 H -HETATM 1924 O HOH A 642 16.683 7.614 5.618 1.00 0.00 O -HETATM 1925 H HOH A 642 17.626 7.523 5.476 1.00 0.00 H -HETATM 1926 H HOH A 642 16.285 6.991 5.010 1.00 0.00 H -HETATM 1927 O HOH A 643 4.670 15.590 17.241 1.00 0.00 O -HETATM 1928 H HOH A 643 4.424 14.671 17.143 1.00 0.00 H -HETATM 1929 H HOH A 643 5.142 15.801 16.436 1.00 0.00 H -HETATM 1930 O HOH A 644 4.469 12.672 17.075 1.00 0.00 O -HETATM 1931 H HOH A 644 4.793 12.455 17.949 1.00 0.00 H -HETATM 1932 H HOH A 644 5.116 12.300 16.477 1.00 0.00 H -HETATM 1933 O HOH A 645 17.516 1.060 29.999 1.00 0.00 O -HETATM 1934 H HOH A 645 18.324 1.474 29.698 1.00 0.00 H -HETATM 1935 H HOH A 645 17.017 0.894 29.199 1.00 0.00 H -HETATM 1936 O HOH A 646 19.662 2.797 29.020 1.00 0.00 O -HETATM 1937 H HOH A 646 19.586 3.499 29.667 1.00 0.00 H -HETATM 1938 H HOH A 646 19.439 3.211 28.186 1.00 0.00 H -HETATM 1939 O HOH A 647 0.453 9.772 26.263 1.00 0.00 O -HETATM 1940 H HOH A 647 1.406 9.680 26.236 1.00 0.00 H -HETATM 1941 H HOH A 647 0.267 10.092 27.146 1.00 0.00 H -HETATM 1942 O HOH A 648 3.274 9.009 26.483 1.00 0.00 O -HETATM 1943 H HOH A 648 3.214 8.127 26.115 1.00 0.00 H -HETATM 1944 H HOH A 648 3.540 8.874 27.392 1.00 0.00 H -HETATM 1945 O HOH A 649 13.207 21.705 8.727 1.00 0.00 O -HETATM 1946 H HOH A 649 12.454 21.328 9.182 1.00 0.00 H -HETATM 1947 H HOH A 649 12.912 21.810 7.822 1.00 0.00 H -HETATM 1948 O HOH A 650 11.067 20.060 9.867 1.00 0.00 O -HETATM 1949 H HOH A 650 11.607 19.380 10.271 1.00 0.00 H -HETATM 1950 H HOH A 650 10.566 19.601 9.192 1.00 0.00 H -HETATM 1951 O HOH A 651 18.296 20.137 5.429 1.00 0.00 O -HETATM 1952 H HOH A 651 18.233 19.897 6.353 1.00 0.00 H -HETATM 1953 H HOH A 651 18.329 21.094 5.431 1.00 0.00 H -HETATM 1954 O HOH A 652 17.550 19.556 8.202 1.00 0.00 O -HETATM 1955 H HOH A 652 16.822 18.958 8.033 1.00 0.00 H -HETATM 1956 H HOH A 652 17.149 20.311 8.633 1.00 0.00 H -HETATM 1957 O HOH A 653 29.233 7.251 24.103 1.00 0.00 O -HETATM 1958 H HOH A 653 29.140 6.783 23.273 1.00 0.00 H -HETATM 1959 H HOH A 653 28.448 7.794 24.163 1.00 0.00 H -HETATM 1960 O HOH A 654 29.108 6.320 21.328 1.00 0.00 O -HETATM 1961 H HOH A 654 30.001 6.542 21.060 1.00 0.00 H -HETATM 1962 H HOH A 654 28.548 6.875 20.786 1.00 0.00 H -HETATM 1963 O HOH A 655 8.263 19.706 24.387 1.00 0.00 O -HETATM 1964 H HOH A 655 7.781 18.884 24.472 1.00 0.00 H -HETATM 1965 H HOH A 655 9.152 19.441 24.149 1.00 0.00 H -HETATM 1966 O HOH A 656 7.059 17.148 25.154 1.00 0.00 O -HETATM 1967 H HOH A 656 6.692 17.408 25.999 1.00 0.00 H -HETATM 1968 H HOH A 656 7.719 16.489 25.369 1.00 0.00 H -HETATM 1969 O HOH A 657 19.949 20.916 22.727 1.00 0.00 O -HETATM 1970 H HOH A 657 18.993 20.868 22.715 1.00 0.00 H -HETATM 1971 H HOH A 657 20.180 20.881 23.655 1.00 0.00 H -HETATM 1972 O HOH A 658 17.050 21.325 22.846 1.00 0.00 O -HETATM 1973 H HOH A 658 16.985 22.071 22.248 1.00 0.00 H -HETATM 1974 H HOH A 658 16.770 21.670 23.694 1.00 0.00 H -HETATM 1975 O HOH A 659 29.300 14.702 22.447 1.00 0.00 O -HETATM 1976 H HOH A 659 28.729 15.156 21.828 1.00 0.00 H -HETATM 1977 H HOH A 659 30.002 14.339 21.906 1.00 0.00 H -HETATM 1978 O HOH A 660 27.365 15.564 20.423 1.00 0.00 O -HETATM 1979 H HOH A 660 26.581 15.150 20.787 1.00 0.00 H -HETATM 1980 H HOH A 660 27.502 15.125 19.584 1.00 0.00 H -HETATM 1981 O HOH A 661 13.214 5.799 16.143 1.00 0.00 O -HETATM 1982 H HOH A 661 13.782 6.059 15.417 1.00 0.00 H -HETATM 1983 H HOH A 661 12.562 6.498 16.200 1.00 0.00 H -HETATM 1984 O HOH A 662 15.179 6.962 14.306 1.00 0.00 O -HETATM 1985 H HOH A 662 15.970 6.804 14.822 1.00 0.00 H -HETATM 1986 H HOH A 662 15.107 7.915 14.258 1.00 0.00 H -HETATM 1987 O HOH A 663 22.403 4.191 7.593 1.00 0.00 O -HETATM 1988 H HOH A 663 22.742 3.421 7.137 1.00 0.00 H -HETATM 1989 H HOH A 663 22.715 4.093 8.493 1.00 0.00 H -HETATM 1990 O HOH A 664 23.009 1.558 6.459 1.00 0.00 O -HETATM 1991 H HOH A 664 22.154 1.367 6.072 1.00 0.00 H -HETATM 1992 H HOH A 664 23.121 0.891 7.137 1.00 0.00 H -HETATM 1993 O HOH A 665 15.414 20.191 17.237 1.00 0.00 O -HETATM 1994 H HOH A 665 14.613 19.824 16.864 1.00 0.00 H -HETATM 1995 H HOH A 665 15.261 20.193 18.182 1.00 0.00 H -HETATM 1996 O HOH A 666 12.742 19.589 16.198 1.00 0.00 O -HETATM 1997 H HOH A 666 12.674 20.295 15.554 1.00 0.00 H -HETATM 1998 H HOH A 666 12.055 19.778 16.837 1.00 0.00 H -HETATM 1999 O HOH A 667 20.864 25.571 17.399 1.00 0.00 O -HETATM 2000 H HOH A 667 21.025 25.211 18.271 1.00 0.00 H -HETATM 2001 H HOH A 667 21.536 26.244 17.289 1.00 0.00 H -HETATM 2002 O HOH A 668 21.099 24.950 20.252 1.00 0.00 O -HETATM 2003 H HOH A 668 20.175 25.025 20.493 1.00 0.00 H -HETATM 2004 H HOH A 668 21.533 25.650 20.739 1.00 0.00 H -HETATM 2005 O HOH A 669 9.580 9.778 17.176 1.00 0.00 O -HETATM 2006 H HOH A 669 9.059 10.451 17.614 1.00 0.00 H -HETATM 2007 H HOH A 669 9.581 10.037 16.255 1.00 0.00 H -HETATM 2008 O HOH A 670 7.537 11.555 18.296 1.00 0.00 O -HETATM 2009 H HOH A 670 7.013 10.900 18.758 1.00 0.00 H -HETATM 2010 H HOH A 670 6.952 11.901 17.622 1.00 0.00 H -HETATM 2011 O HOH A 671 10.360 7.237 3.821 1.00 0.00 O -HETATM 2012 H HOH A 671 11.253 7.378 3.507 1.00 0.00 H -HETATM 2013 H HOH A 671 10.402 7.424 4.759 1.00 0.00 H -HETATM 2014 O HOH A 672 13.198 7.153 3.098 1.00 0.00 O -HETATM 2015 H HOH A 672 13.202 6.319 2.628 1.00 0.00 H -HETATM 2016 H HOH A 672 13.759 7.006 3.858 1.00 0.00 H -HETATM 2017 O HOH A 673 7.281 10.907 11.861 1.00 0.00 O -HETATM 2018 H HOH A 673 7.680 11.131 12.701 1.00 0.00 H -HETATM 2019 H HOH A 673 7.156 11.749 11.422 1.00 0.00 H -HETATM 2020 O HOH A 674 7.967 11.745 14.583 1.00 0.00 O -HETATM 2021 H HOH A 674 7.348 11.195 15.064 1.00 0.00 H -HETATM 2022 H HOH A 674 7.686 12.641 14.765 1.00 0.00 H -HETATM 2023 O HOH A 675 15.191 3.925 26.054 1.00 0.00 O -HETATM 2024 H HOH A 675 15.192 3.071 25.622 1.00 0.00 H -HETATM 2025 H HOH A 675 15.371 3.730 26.974 1.00 0.00 H -HETATM 2026 O HOH A 676 14.672 1.255 24.965 1.00 0.00 O -HETATM 2027 H HOH A 676 13.845 1.440 24.518 1.00 0.00 H -HETATM 2028 H HOH A 676 14.442 0.626 25.648 1.00 0.00 H -HETATM 2029 O HOH A 677 19.183 0.551 9.667 1.00 0.00 O -HETATM 2030 H HOH A 677 18.548 1.126 10.093 1.00 0.00 H -HETATM 2031 H HOH A 677 19.439 1.021 8.873 1.00 0.00 H -HETATM 2032 O HOH A 678 16.875 2.113 10.572 1.00 0.00 O -HETATM 2033 H HOH A 678 16.255 1.394 10.698 1.00 0.00 H -HETATM 2034 H HOH A 678 16.497 2.638 9.867 1.00 0.00 H -HETATM 2035 O HOH A 679 13.369 15.380 19.779 1.00 0.00 O -HETATM 2036 H HOH A 679 13.635 14.525 20.117 1.00 0.00 H -HETATM 2037 H HOH A 679 12.413 15.343 19.758 1.00 0.00 H -HETATM 2038 O HOH A 680 14.065 12.578 20.280 1.00 0.00 O -HETATM 2039 H HOH A 680 14.709 12.462 19.581 1.00 0.00 H -HETATM 2040 H HOH A 680 13.351 11.983 20.054 1.00 0.00 H -HETATM 2041 O HOH A 681 13.454 17.285 18.264 1.00 0.00 O -HETATM 2042 H HOH A 681 12.600 17.392 17.847 1.00 0.00 H -HETATM 2043 H HOH A 681 13.999 17.970 17.876 1.00 0.00 H -HETATM 2044 O HOH A 682 11.088 17.350 16.538 1.00 0.00 O -HETATM 2045 H HOH A 682 11.027 16.415 16.340 1.00 0.00 H -HETATM 2046 H HOH A 682 11.268 17.765 15.695 1.00 0.00 H -HETATM 2047 O HOH A 683 11.058 13.553 2.858 1.00 0.00 O -HETATM 2048 H HOH A 683 10.691 12.907 2.254 1.00 0.00 H -HETATM 2049 H HOH A 683 11.109 13.097 3.697 1.00 0.00 H -HETATM 2050 O HOH A 684 9.435 11.705 1.266 1.00 0.00 O -HETATM 2051 H HOH A 684 8.789 12.330 0.934 1.00 0.00 H -HETATM 2052 H HOH A 684 8.931 11.105 1.815 1.00 0.00 H -HETATM 2053 O HOH A 685 16.110 16.784 13.278 1.00 0.00 O -HETATM 2054 H HOH A 685 16.843 17.031 12.714 1.00 0.00 H -HETATM 2055 H HOH A 685 16.186 17.360 14.038 1.00 0.00 H -HETATM 2056 O HOH A 686 18.669 17.233 11.924 1.00 0.00 O -HETATM 2057 H HOH A 686 18.932 16.320 11.806 1.00 0.00 H -HETATM 2058 H HOH A 686 19.328 17.600 12.513 1.00 0.00 H -HETATM 2059 O HOH A 687 16.094 29.794 11.440 1.00 0.00 O -HETATM 2060 H HOH A 687 16.033 29.881 10.489 1.00 0.00 H -HETATM 2061 H HOH A 687 17.003 30.013 11.644 1.00 0.00 H -HETATM 2062 O HOH A 688 16.175 29.550 8.521 1.00 0.00 O -HETATM 2063 H HOH A 688 15.743 28.699 8.435 1.00 0.00 H -HETATM 2064 H HOH A 688 17.063 29.404 8.196 1.00 0.00 H -HETATM 2065 O HOH A 689 19.637 29.646 15.071 1.00 0.00 O -HETATM 2066 H HOH A 689 18.837 29.312 15.477 1.00 0.00 H -HETATM 2067 H HOH A 689 19.336 30.098 14.282 1.00 0.00 H -HETATM 2068 O HOH A 690 17.219 28.218 15.905 1.00 0.00 O -HETATM 2069 H HOH A 690 17.598 27.345 16.017 1.00 0.00 H -HETATM 2070 H HOH A 690 16.593 28.119 15.188 1.00 0.00 H -HETATM 2071 O HOH A 691 19.259 27.222 20.312 1.00 0.00 O -HETATM 2072 H HOH A 691 18.716 27.772 19.747 1.00 0.00 H -HETATM 2073 H HOH A 691 19.577 27.816 20.992 1.00 0.00 H -HETATM 2074 O HOH A 692 18.102 29.091 18.375 1.00 0.00 O -HETATM 2075 H HOH A 692 18.530 28.764 17.584 1.00 0.00 H -HETATM 2076 H HOH A 692 18.441 29.979 18.485 1.00 0.00 H -HETATM 2077 O HOH A 693 19.978 26.373 12.672 1.00 0.00 O -HETATM 2078 H HOH A 693 20.675 26.980 12.423 1.00 0.00 H -HETATM 2079 H HOH A 693 19.547 26.795 13.416 1.00 0.00 H -HETATM 2080 O HOH A 694 22.387 28.013 12.366 1.00 0.00 O -HETATM 2081 H HOH A 694 23.037 27.311 12.339 1.00 0.00 H -HETATM 2082 H HOH A 694 22.592 28.504 13.161 1.00 0.00 H -HETATM 2083 O HOH A 695 23.194 20.281 13.035 1.00 0.00 O -HETATM 2084 H HOH A 695 23.849 19.678 12.684 1.00 0.00 H -HETATM 2085 H HOH A 695 22.433 19.730 13.217 1.00 0.00 H -HETATM 2086 O HOH A 696 24.888 18.468 11.476 1.00 0.00 O -HETATM 2087 H HOH A 696 25.076 19.046 10.736 1.00 0.00 H -HETATM 2088 H HOH A 696 24.388 17.745 11.098 1.00 0.00 H -HETATM 2089 O HOH A 697 22.394 11.806 27.471 1.00 0.00 O -HETATM 2090 H HOH A 697 21.727 11.586 26.822 1.00 0.00 H -HETATM 2091 H HOH A 697 22.068 11.430 28.288 1.00 0.00 H -HETATM 2092 O HOH A 698 20.055 11.566 25.723 1.00 0.00 O -HETATM 2093 H HOH A 698 20.026 12.465 25.397 1.00 0.00 H -HETATM 2094 H HOH A 698 19.244 11.462 26.220 1.00 0.00 H -HETATM 2095 O HOH A 699 17.924 1.072 12.256 1.00 0.00 O -HETATM 2096 H HOH A 699 18.161 1.938 12.586 1.00 0.00 H -HETATM 2097 H HOH A 699 17.083 0.879 12.671 1.00 0.00 H -HETATM 2098 O HOH A 700 18.798 3.439 13.744 1.00 0.00 O -HETATM 2099 H HOH A 700 19.683 3.151 13.967 1.00 0.00 H -HETATM 2100 H HOH A 700 18.350 3.521 14.586 1.00 0.00 H -HETATM 2101 O HOH A 701 6.654 29.998 23.836 1.00 0.00 O -HETATM 2102 H HOH A 701 6.834 29.197 23.344 1.00 0.00 H -HETATM 2103 H HOH A 701 6.868 29.778 24.742 1.00 0.00 H -HETATM 2104 O HOH A 702 6.705 27.367 22.549 1.00 0.00 O -HETATM 2105 H HOH A 702 5.859 27.409 22.101 1.00 0.00 H -HETATM 2106 H HOH A 702 6.608 26.655 23.181 1.00 0.00 H -HETATM 2107 O HOH A 703 25.674 21.642 0.046 1.00 0.00 O -HETATM 2108 H HOH A 703 25.908 20.715 -0.002 1.00 0.00 H -HETATM 2109 H HOH A 703 26.511 22.104 -0.000 1.00 0.00 H -HETATM 2110 O HOH A 704 26.539 18.872 0.450 1.00 0.00 O -HETATM 2111 H HOH A 704 25.988 18.657 1.203 1.00 0.00 H -HETATM 2112 H HOH A 704 27.435 18.820 0.784 1.00 0.00 H -HETATM 2113 O HOH A 705 15.571 29.682 17.538 1.00 0.00 O -HETATM 2114 H HOH A 705 14.656 29.557 17.790 1.00 0.00 H -HETATM 2115 H HOH A 705 15.533 29.949 16.620 1.00 0.00 H -HETATM 2116 O HOH A 706 12.818 28.802 18.022 1.00 0.00 O -HETATM 2117 H HOH A 706 13.006 27.950 18.415 1.00 0.00 H -HETATM 2118 H HOH A 706 12.357 28.598 17.208 1.00 0.00 H -HETATM 2119 O HOH A 707 20.602 9.274 3.626 1.00 0.00 O -HETATM 2120 H HOH A 707 20.191 10.020 4.062 1.00 0.00 H -HETATM 2121 H HOH A 707 20.441 9.422 2.694 1.00 0.00 H -HETATM 2122 O HOH A 708 18.854 11.275 4.861 1.00 0.00 O -HETATM 2123 H HOH A 708 18.404 10.707 5.488 1.00 0.00 H -HETATM 2124 H HOH A 708 18.166 11.569 4.265 1.00 0.00 H -HETATM 2125 O HOH A 709 3.247 3.543 3.330 1.00 0.00 O -HETATM 2126 H HOH A 709 3.240 4.058 4.137 1.00 0.00 H -HETATM 2127 H HOH A 709 3.539 4.156 2.656 1.00 0.00 H -HETATM 2128 O HOH A 710 2.735 5.335 5.591 1.00 0.00 O -HETATM 2129 H HOH A 710 1.856 5.033 5.819 1.00 0.00 H -HETATM 2130 H HOH A 710 2.615 6.242 5.312 1.00 0.00 H -HETATM 2131 O HOH A 711 26.192 28.444 29.080 1.00 0.00 O -HETATM 2132 H HOH A 711 25.404 27.920 28.937 1.00 0.00 H -HETATM 2133 H HOH A 711 26.496 28.191 29.952 1.00 0.00 H -HETATM 2134 O HOH A 712 23.530 27.225 28.992 1.00 0.00 O -HETATM 2135 H HOH A 712 23.030 27.990 28.704 1.00 0.00 H -HETATM 2136 H HOH A 712 23.193 27.032 29.867 1.00 0.00 H -HETATM 2137 O HOH A 713 8.487 6.772 27.181 1.00 0.00 O -HETATM 2138 H HOH A 713 9.015 6.155 26.675 1.00 0.00 H -HETATM 2139 H HOH A 713 8.758 6.632 28.089 1.00 0.00 H -HETATM 2140 O HOH A 714 9.729 4.491 25.826 1.00 0.00 O -HETATM 2141 H HOH A 714 8.963 4.171 25.348 1.00 0.00 H -HETATM 2142 H HOH A 714 9.947 3.785 26.434 1.00 0.00 H -HETATM 2143 O HOH A 715 3.754 25.215 11.097 1.00 0.00 O -HETATM 2144 H HOH A 715 3.911 24.966 12.008 1.00 0.00 H -HETATM 2145 H HOH A 715 4.572 25.006 10.646 1.00 0.00 H -HETATM 2146 O HOH A 716 4.533 24.945 13.909 1.00 0.00 O -HETATM 2147 H HOH A 716 4.195 25.780 14.233 1.00 0.00 H -HETATM 2148 H HOH A 716 5.480 25.004 14.027 1.00 0.00 H -HETATM 2149 O HOH A 717 2.141 19.473 21.139 1.00 0.00 O -HETATM 2150 H HOH A 717 2.209 18.519 21.145 1.00 0.00 H -HETATM 2151 H HOH A 717 1.736 19.679 20.296 1.00 0.00 H -HETATM 2152 O HOH A 718 2.799 16.637 20.810 1.00 0.00 O -HETATM 2153 H HOH A 718 3.716 16.669 21.084 1.00 0.00 H -HETATM 2154 H HOH A 718 2.831 16.379 19.889 1.00 0.00 H -HETATM 2155 O HOH A 719 29.317 5.764 18.756 1.00 0.00 O -HETATM 2156 H HOH A 719 29.022 6.643 18.518 1.00 0.00 H -HETATM 2157 H HOH A 719 30.000 5.558 18.117 1.00 0.00 H -HETATM 2158 O HOH A 720 28.128 8.182 17.606 1.00 0.00 O -HETATM 2159 H HOH A 720 27.208 7.921 17.640 1.00 0.00 H -HETATM 2160 H HOH A 720 28.321 8.270 16.673 1.00 0.00 H -HETATM 2161 O HOH A 721 0.737 5.094 12.464 1.00 0.00 O -HETATM 2162 H HOH A 721 0.917 4.564 11.688 1.00 0.00 H -HETATM 2163 H HOH A 721 0.000 4.656 12.889 1.00 0.00 H -HETATM 2164 O HOH A 722 0.828 3.735 9.870 1.00 0.00 O -HETATM 2165 H HOH A 722 0.851 4.507 9.303 1.00 0.00 H -HETATM 2166 H HOH A 722 -0.000 3.305 9.660 1.00 0.00 H -HETATM 2167 O HOH A 723 5.864 10.081 27.483 1.00 0.00 O -HETATM 2168 H HOH A 723 5.967 9.136 27.599 1.00 0.00 H -HETATM 2169 H HOH A 723 6.050 10.451 28.346 1.00 0.00 H -HETATM 2170 O HOH A 724 5.659 7.221 28.088 1.00 0.00 O -HETATM 2171 H HOH A 724 4.824 7.042 27.653 1.00 0.00 H -HETATM 2172 H HOH A 724 5.488 7.061 29.016 1.00 0.00 H -HETATM 2173 O HOH A 725 23.927 22.231 11.608 1.00 0.00 O -HETATM 2174 H HOH A 725 23.020 22.538 11.587 1.00 0.00 H -HETATM 2175 H HOH A 725 24.367 22.733 10.922 1.00 0.00 H -HETATM 2176 O HOH A 726 21.109 22.832 11.077 1.00 0.00 O -HETATM 2177 H HOH A 726 20.768 21.937 11.073 1.00 0.00 H -HETATM 2178 H HOH A 726 20.970 23.148 10.185 1.00 0.00 H -HETATM 2179 O HOH A 727 14.533 8.753 30.000 1.00 0.00 O -HETATM 2180 H HOH A 727 13.649 8.772 29.634 1.00 0.00 H -HETATM 2181 H HOH A 727 15.108 8.897 29.248 1.00 0.00 H -HETATM 2182 O HOH A 728 11.951 8.278 28.698 1.00 0.00 O -HETATM 2183 H HOH A 728 11.708 7.469 29.151 1.00 0.00 H -HETATM 2184 H HOH A 728 12.052 8.022 27.782 1.00 0.00 H -HETATM 2185 O HOH A 729 22.201 8.331 9.280 1.00 0.00 O -HETATM 2186 H HOH A 729 22.498 9.073 8.754 1.00 0.00 H -HETATM 2187 H HOH A 729 21.728 7.773 8.663 1.00 0.00 H -HETATM 2188 O HOH A 730 22.564 10.782 7.717 1.00 0.00 O -HETATM 2189 H HOH A 730 22.240 11.413 8.361 1.00 0.00 H -HETATM 2190 H HOH A 730 21.946 10.840 6.989 1.00 0.00 H -HETATM 2191 O HOH A 731 25.079 26.819 24.323 1.00 0.00 O -HETATM 2192 H HOH A 731 25.151 25.958 24.735 1.00 0.00 H -HETATM 2193 H HOH A 731 25.475 26.706 23.459 1.00 0.00 H -HETATM 2194 O HOH A 732 25.851 24.332 25.666 1.00 0.00 O -HETATM 2195 H HOH A 732 26.209 24.708 26.471 1.00 0.00 H -HETATM 2196 H HOH A 732 26.598 23.911 25.242 1.00 0.00 H -HETATM 2197 O HOH A 733 9.796 14.663 5.924 1.00 0.00 O -HETATM 2198 H HOH A 733 9.212 13.923 6.088 1.00 0.00 H -HETATM 2199 H HOH A 733 10.104 14.533 5.027 1.00 0.00 H -HETATM 2200 O HOH A 734 8.498 12.098 6.491 1.00 0.00 O -HETATM 2201 H HOH A 734 8.920 11.905 7.329 1.00 0.00 H -HETATM 2202 H HOH A 734 8.798 11.405 5.904 1.00 0.00 H -HETATM 2203 O HOH A 735 26.792 13.589 0.208 1.00 0.00 O -HETATM 2204 H HOH A 735 27.671 13.361 0.510 1.00 0.00 H -HETATM 2205 H HOH A 735 26.383 12.749 0.000 1.00 0.00 H -HETATM 2206 O HOH A 736 29.596 12.820 0.571 1.00 0.00 O -HETATM 2207 H HOH A 736 30.000 13.474 -0.000 1.00 0.00 H -HETATM 2208 H HOH A 736 29.795 11.980 0.156 1.00 0.00 H -HETATM 2209 O HOH A 737 23.153 14.445 15.144 1.00 0.00 O -HETATM 2210 H HOH A 737 22.956 14.600 14.221 1.00 0.00 H -HETATM 2211 H HOH A 737 22.298 14.315 15.554 1.00 0.00 H -HETATM 2212 O HOH A 738 22.402 15.448 12.495 1.00 0.00 O -HETATM 2213 H HOH A 738 22.968 16.220 12.467 1.00 0.00 H -HETATM 2214 H HOH A 738 21.512 15.799 12.482 1.00 0.00 H -HETATM 2215 O HOH A 739 6.749 0.593 22.917 1.00 0.00 O -HETATM 2216 H HOH A 739 7.497 0.926 22.422 1.00 0.00 H -HETATM 2217 H HOH A 739 6.049 0.513 22.269 1.00 0.00 H -HETATM 2218 O HOH A 740 8.766 2.118 21.437 1.00 0.00 O -HETATM 2219 H HOH A 740 8.938 2.799 22.088 1.00 0.00 H -HETATM 2220 H HOH A 740 8.389 2.585 20.692 1.00 0.00 H -HETATM 2221 O HOH A 741 18.417 4.843 21.408 1.00 0.00 O -HETATM 2222 H HOH A 741 18.105 5.521 20.809 1.00 0.00 H -HETATM 2223 H HOH A 741 17.947 5.009 22.225 1.00 0.00 H -HETATM 2224 O HOH A 742 17.820 7.264 19.870 1.00 0.00 O -HETATM 2225 H HOH A 742 18.712 7.491 19.606 1.00 0.00 H -HETATM 2226 H HOH A 742 17.541 7.987 20.431 1.00 0.00 H -HETATM 2227 O HOH A 743 19.962 18.276 22.640 1.00 0.00 O -HETATM 2228 H HOH A 743 19.155 18.687 22.948 1.00 0.00 H -HETATM 2229 H HOH A 743 19.713 17.372 22.445 1.00 0.00 H -HETATM 2230 O HOH A 744 17.601 19.253 24.073 1.00 0.00 O -HETATM 2231 H HOH A 744 18.041 19.627 24.837 1.00 0.00 H -HETATM 2232 H HOH A 744 17.071 18.538 24.424 1.00 0.00 H -HETATM 2233 O HOH A 745 2.015 27.509 27.170 1.00 0.00 O -HETATM 2234 H HOH A 745 2.907 27.838 27.276 1.00 0.00 H -HETATM 2235 H HOH A 745 1.517 27.937 27.867 1.00 0.00 H -HETATM 2236 O HOH A 746 4.773 28.139 27.930 1.00 0.00 O -HETATM 2237 H HOH A 746 5.142 27.257 27.880 1.00 0.00 H -HETATM 2238 H HOH A 746 4.846 28.380 28.854 1.00 0.00 H -HETATM 2239 O HOH A 747 2.765 6.065 17.207 1.00 0.00 O -HETATM 2240 H HOH A 747 3.506 5.701 17.691 1.00 0.00 H -HETATM 2241 H HOH A 747 2.244 5.302 16.956 1.00 0.00 H -HETATM 2242 O HOH A 748 5.235 4.816 18.167 1.00 0.00 O -HETATM 2243 H HOH A 748 5.864 5.334 17.663 1.00 0.00 H -HETATM 2244 H HOH A 748 5.339 3.923 17.837 1.00 0.00 H -HETATM 2245 O HOH A 749 15.220 19.437 3.729 1.00 0.00 O -HETATM 2246 H HOH A 749 15.378 18.887 4.496 1.00 0.00 H -HETATM 2247 H HOH A 749 15.328 20.333 4.050 1.00 0.00 H -HETATM 2248 O HOH A 750 15.171 17.907 6.228 1.00 0.00 O -HETATM 2249 H HOH A 750 14.378 17.394 6.067 1.00 0.00 H -HETATM 2250 H HOH A 750 14.956 18.456 6.982 1.00 0.00 H -HETATM 2251 O HOH A 751 17.503 1.113 7.831 1.00 0.00 O -HETATM 2252 H HOH A 751 16.549 1.179 7.863 1.00 0.00 H -HETATM 2253 H HOH A 751 17.673 0.335 7.301 1.00 0.00 H -HETATM 2254 O HOH A 752 14.623 0.892 8.318 1.00 0.00 O -HETATM 2255 H HOH A 752 14.627 1.011 9.269 1.00 0.00 H -HETATM 2256 H HOH A 752 14.303 -0.000 8.188 1.00 0.00 H -HETATM 2257 O HOH A 753 4.312 5.567 21.331 1.00 0.00 O -HETATM 2258 H HOH A 753 4.867 6.290 21.623 1.00 0.00 H -HETATM 2259 H HOH A 753 4.039 5.132 22.138 1.00 0.00 H -HETATM 2260 O HOH A 754 6.407 7.371 22.302 1.00 0.00 O -HETATM 2261 H HOH A 754 7.094 7.145 21.675 1.00 0.00 H -HETATM 2262 H HOH A 754 6.753 7.097 23.151 1.00 0.00 H -HETATM 2263 O HOH A 755 25.600 6.272 22.684 1.00 0.00 O -HETATM 2264 H HOH A 755 25.721 7.149 22.322 1.00 0.00 H -HETATM 2265 H HOH A 755 26.241 5.731 22.223 1.00 0.00 H -HETATM 2266 O HOH A 756 25.676 8.752 21.126 1.00 0.00 O -HETATM 2267 H HOH A 756 24.735 8.861 20.983 1.00 0.00 H -HETATM 2268 H HOH A 756 26.040 8.617 20.251 1.00 0.00 H -HETATM 2269 O HOH A 757 2.923 8.050 9.452 1.00 0.00 O -HETATM 2270 H HOH A 757 2.537 8.763 9.960 1.00 0.00 H -HETATM 2271 H HOH A 757 3.591 8.474 8.913 1.00 0.00 H -HETATM 2272 O HOH A 758 1.461 10.354 10.519 1.00 0.00 O -HETATM 2273 H HOH A 758 0.572 10.074 10.302 1.00 0.00 H -HETATM 2274 H HOH A 758 1.601 11.143 9.996 1.00 0.00 H -HETATM 2275 O HOH A 759 4.198 2.732 22.326 1.00 0.00 O -HETATM 2276 H HOH A 759 4.277 2.565 21.387 1.00 0.00 H -HETATM 2277 H HOH A 759 5.067 2.539 22.678 1.00 0.00 H -HETATM 2278 O HOH A 760 4.403 1.665 19.605 1.00 0.00 O -HETATM 2279 H HOH A 760 3.603 1.138 19.595 1.00 0.00 H -HETATM 2280 H HOH A 760 5.113 1.029 19.520 1.00 0.00 H -HETATM 2281 O HOH A 761 13.478 26.932 6.797 1.00 0.00 O -HETATM 2282 H HOH A 761 14.099 26.713 6.102 1.00 0.00 H -HETATM 2283 H HOH A 761 13.989 26.868 7.604 1.00 0.00 H -HETATM 2284 O HOH A 762 15.293 25.719 4.842 1.00 0.00 O -HETATM 2285 H HOH A 762 14.681 25.101 4.441 1.00 0.00 H -HETATM 2286 H HOH A 762 15.955 25.169 5.259 1.00 0.00 H -HETATM 2287 O HOH A 763 0.434 27.623 7.542 1.00 0.00 O -HETATM 2288 H HOH A 763 0.216 26.727 7.799 1.00 0.00 H -HETATM 2289 H HOH A 763 -0.001 27.745 6.699 1.00 0.00 H -HETATM 2290 O HOH A 764 0.168 24.733 7.943 1.00 0.00 O -HETATM 2291 H HOH A 764 1.082 24.531 8.150 1.00 0.00 H -HETATM 2292 H HOH A 764 -0.002 24.270 7.123 1.00 0.00 H -HETATM 2293 O HOH A 765 23.452 14.724 3.047 1.00 0.00 O -HETATM 2294 H HOH A 765 24.178 14.264 3.469 1.00 0.00 H -HETATM 2295 H HOH A 765 22.933 15.070 3.773 1.00 0.00 H -HETATM 2296 O HOH A 766 25.282 12.903 4.434 1.00 0.00 O -HETATM 2297 H HOH A 766 25.152 12.126 3.890 1.00 0.00 H -HETATM 2298 H HOH A 766 24.954 12.652 5.297 1.00 0.00 H -HETATM 2299 O HOH A 767 27.656 24.776 23.303 1.00 0.00 O -HETATM 2300 H HOH A 767 26.725 24.925 23.138 1.00 0.00 H -HETATM 2301 H HOH A 767 28.003 24.468 22.466 1.00 0.00 H -HETATM 2302 O HOH A 768 24.766 24.659 22.835 1.00 0.00 O -HETATM 2303 H HOH A 768 24.512 24.173 23.620 1.00 0.00 H -HETATM 2304 H HOH A 768 24.542 24.078 22.108 1.00 0.00 H -HETATM 2305 O HOH A 769 3.538 3.470 16.273 1.00 0.00 O -HETATM 2306 H HOH A 769 3.219 3.957 15.513 1.00 0.00 H -HETATM 2307 H HOH A 769 2.750 3.093 16.665 1.00 0.00 H -HETATM 2308 O HOH A 770 2.404 5.355 14.338 1.00 0.00 O -HETATM 2309 H HOH A 770 2.910 6.132 14.579 1.00 0.00 H -HETATM 2310 H HOH A 770 1.498 5.583 14.546 1.00 0.00 H -HETATM 2311 O HOH A 771 28.577 28.444 27.608 1.00 0.00 O -HETATM 2312 H HOH A 771 27.640 28.525 27.426 1.00 0.00 H -HETATM 2313 H HOH A 771 28.792 29.230 28.110 1.00 0.00 H -HETATM 2314 O HOH A 772 25.879 29.067 26.648 1.00 0.00 O -HETATM 2315 H HOH A 772 26.006 28.866 25.720 1.00 0.00 H -HETATM 2316 H HOH A 772 25.697 30.006 26.670 1.00 0.00 H -HETATM 2317 O HOH A 773 4.020 28.062 12.601 1.00 0.00 O -HETATM 2318 H HOH A 773 4.493 28.587 11.956 1.00 0.00 H -HETATM 2319 H HOH A 773 4.051 28.582 13.404 1.00 0.00 H -HETATM 2320 O HOH A 774 5.938 29.476 10.896 1.00 0.00 O -HETATM 2321 H HOH A 774 6.465 28.726 10.619 1.00 0.00 H -HETATM 2322 H HOH A 774 6.539 30.020 11.404 1.00 0.00 H -HETATM 2323 O HOH A 775 22.525 12.821 24.644 1.00 0.00 O -HETATM 2324 H HOH A 775 22.118 13.481 25.205 1.00 0.00 H -HETATM 2325 H HOH A 775 22.047 12.880 23.817 1.00 0.00 H -HETATM 2326 O HOH A 776 20.858 14.451 26.418 1.00 0.00 O -HETATM 2327 H HOH A 776 20.772 13.833 27.145 1.00 0.00 H -HETATM 2328 H HOH A 776 19.968 14.555 26.082 1.00 0.00 H -HETATM 2329 O HOH A 777 15.915 0.873 2.564 1.00 0.00 O -HETATM 2330 H HOH A 777 15.081 1.186 2.912 1.00 0.00 H -HETATM 2331 H HOH A 777 15.721 0.625 1.660 1.00 0.00 H -HETATM 2332 O HOH A 778 13.231 1.271 3.668 1.00 0.00 O -HETATM 2333 H HOH A 778 13.318 0.734 4.457 1.00 0.00 H -HETATM 2334 H HOH A 778 12.559 0.831 3.149 1.00 0.00 H -HETATM 2335 O HOH A 779 22.605 3.090 27.071 1.00 0.00 O -HETATM 2336 H HOH A 779 21.775 3.567 27.103 1.00 0.00 H -HETATM 2337 H HOH A 779 22.899 3.058 27.981 1.00 0.00 H -HETATM 2338 O HOH A 780 20.401 5.015 27.220 1.00 0.00 O -HETATM 2339 H HOH A 780 20.663 5.591 26.500 1.00 0.00 H -HETATM 2340 H HOH A 780 20.455 5.565 28.001 1.00 0.00 H -HETATM 2341 O HOH A 781 23.590 9.194 6.406 1.00 0.00 O -HETATM 2342 H HOH A 781 24.266 9.642 6.914 1.00 0.00 H -HETATM 2343 H HOH A 781 24.068 8.547 5.887 1.00 0.00 H -HETATM 2344 O HOH A 782 25.768 10.842 7.466 1.00 0.00 O -HETATM 2345 H HOH A 782 25.427 11.704 7.225 1.00 0.00 H -HETATM 2346 H HOH A 782 26.572 10.749 6.955 1.00 0.00 H -HETATM 2347 O HOH A 783 11.656 16.180 24.031 1.00 0.00 O -HETATM 2348 H HOH A 783 10.778 15.801 23.992 1.00 0.00 H -HETATM 2349 H HOH A 783 11.577 17.017 23.575 1.00 0.00 H -HETATM 2350 O HOH A 784 9.109 14.892 23.369 1.00 0.00 O -HETATM 2351 H HOH A 784 9.447 14.048 23.068 1.00 0.00 H -HETATM 2352 H HOH A 784 8.700 15.279 22.595 1.00 0.00 H -HETATM 2353 O HOH A 785 8.862 29.219 10.369 1.00 0.00 O -HETATM 2354 H HOH A 785 8.783 29.221 11.323 1.00 0.00 H -HETATM 2355 H HOH A 785 8.292 29.931 10.079 1.00 0.00 H -HETATM 2356 O HOH A 786 8.115 28.963 13.190 1.00 0.00 O -HETATM 2357 H HOH A 786 7.967 28.017 13.215 1.00 0.00 H -HETATM 2358 H HOH A 786 7.257 29.347 13.372 1.00 0.00 H -HETATM 2359 O HOH A 787 5.246 22.100 27.429 1.00 0.00 O -HETATM 2360 H HOH A 787 5.959 22.585 27.844 1.00 0.00 H -HETATM 2361 H HOH A 787 4.453 22.425 27.857 1.00 0.00 H -HETATM 2362 O HOH A 788 7.350 23.217 29.135 1.00 0.00 O -HETATM 2363 H HOH A 788 7.855 22.417 29.283 1.00 0.00 H -HETATM 2364 H HOH A 788 7.021 23.460 30.000 1.00 0.00 H -HETATM 2365 O HOH A 789 0.871 13.648 22.256 1.00 0.00 O -HETATM 2366 H HOH A 789 0.465 14.513 22.209 1.00 0.00 H -HETATM 2367 H HOH A 789 1.164 13.569 23.164 1.00 0.00 H -HETATM 2368 O HOH A 790 0.171 16.488 22.096 1.00 0.00 O -HETATM 2369 H HOH A 790 0.656 16.712 21.301 1.00 0.00 H -HETATM 2370 H HOH A 790 0.588 17.002 22.787 1.00 0.00 H -HETATM 2371 O HOH A 791 6.299 19.517 19.589 1.00 0.00 O -HETATM 2372 H HOH A 791 6.906 20.257 19.627 1.00 0.00 H -HETATM 2373 H HOH A 791 6.805 18.775 19.920 1.00 0.00 H -HETATM 2374 O HOH A 792 8.381 21.548 19.230 1.00 0.00 O -HETATM 2375 H HOH A 792 8.174 21.810 18.333 1.00 0.00 H -HETATM 2376 H HOH A 792 9.255 21.162 19.174 1.00 0.00 H -HETATM 2377 O HOH A 793 23.691 28.887 19.190 1.00 0.00 O -HETATM 2378 H HOH A 793 22.741 28.999 19.170 1.00 0.00 H -HETATM 2379 H HOH A 793 24.040 29.759 19.004 1.00 0.00 H -HETATM 2380 O HOH A 794 20.851 29.229 18.556 1.00 0.00 O -HETATM 2381 H HOH A 794 20.738 28.469 17.985 1.00 0.00 H -HETATM 2382 H HOH A 794 20.697 29.984 17.989 1.00 0.00 H -HETATM 2383 O HOH A 795 9.865 13.659 20.944 1.00 0.00 O -HETATM 2384 H HOH A 795 8.963 13.931 20.779 1.00 0.00 H -HETATM 2385 H HOH A 795 10.288 13.695 20.085 1.00 0.00 H -HETATM 2386 O HOH A 796 7.038 13.957 20.235 1.00 0.00 O -HETATM 2387 H HOH A 796 6.687 13.213 20.725 1.00 0.00 H -HETATM 2388 H HOH A 796 6.872 13.742 19.317 1.00 0.00 H -HETATM 2389 O HOH A 797 6.867 12.515 5.075 1.00 0.00 O -HETATM 2390 H HOH A 797 7.391 13.313 5.014 1.00 0.00 H -HETATM 2391 H HOH A 797 6.621 12.319 4.171 1.00 0.00 H -HETATM 2392 O HOH A 798 7.962 15.221 4.827 1.00 0.00 O -HETATM 2393 H HOH A 798 7.466 15.643 5.530 1.00 0.00 H -HETATM 2394 H HOH A 798 7.667 15.657 4.028 1.00 0.00 H -HETATM 2395 O HOH A 799 1.565 26.456 13.316 1.00 0.00 O -HETATM 2396 H HOH A 799 1.682 25.736 13.936 1.00 0.00 H -HETATM 2397 H HOH A 799 2.429 26.578 12.923 1.00 0.00 H -HETATM 2398 O HOH A 800 2.169 24.654 15.546 1.00 0.00 O -HETATM 2399 H HOH A 800 1.729 25.137 16.246 1.00 0.00 H -HETATM 2400 H HOH A 800 3.096 24.673 15.784 1.00 0.00 H -HETATM 2401 O HOH A 801 5.279 3.308 10.983 1.00 0.00 O -HETATM 2402 H HOH A 801 4.746 2.744 11.544 1.00 0.00 H -HETATM 2403 H HOH A 801 5.218 2.910 10.115 1.00 0.00 H -HETATM 2404 O HOH A 802 4.102 1.229 12.679 1.00 0.00 O -HETATM 2405 H HOH A 802 4.791 1.176 13.342 1.00 0.00 H -HETATM 2406 H HOH A 802 4.108 0.371 12.255 1.00 0.00 H -HETATM 2407 O HOH A 803 6.476 7.996 18.822 1.00 0.00 O -HETATM 2408 H HOH A 803 6.291 8.839 18.408 1.00 0.00 H -HETATM 2409 H HOH A 803 6.899 7.479 18.137 1.00 0.00 H -HETATM 2410 O HOH A 804 5.474 10.295 17.307 1.00 0.00 O -HETATM 2411 H HOH A 804 4.569 10.291 17.621 1.00 0.00 H -HETATM 2412 H HOH A 804 5.407 10.108 16.371 1.00 0.00 H -HETATM 2413 O HOH A 805 17.402 18.951 27.745 1.00 0.00 O -HETATM 2414 H HOH A 805 18.056 18.427 28.206 1.00 0.00 H -HETATM 2415 H HOH A 805 17.574 18.790 26.817 1.00 0.00 H -HETATM 2416 O HOH A 806 19.767 17.770 29.009 1.00 0.00 O -HETATM 2417 H HOH A 806 20.013 18.507 29.570 1.00 0.00 H -HETATM 2418 H HOH A 806 20.495 17.679 28.395 1.00 0.00 H -HETATM 2419 O HOH A 807 14.039 16.767 21.350 1.00 0.00 O -HETATM 2420 H HOH A 807 14.485 17.154 22.103 1.00 0.00 H -HETATM 2421 H HOH A 807 13.116 16.990 21.476 1.00 0.00 H -HETATM 2422 O HOH A 808 15.193 17.499 23.941 1.00 0.00 O -HETATM 2423 H HOH A 808 15.668 16.688 24.122 1.00 0.00 H -HETATM 2424 H HOH A 808 14.530 17.551 24.629 1.00 0.00 H -HETATM 2425 O HOH A 809 22.728 26.647 15.437 1.00 0.00 O -HETATM 2426 H HOH A 809 23.353 26.102 15.915 1.00 0.00 H -HETATM 2427 H HOH A 809 22.810 26.365 14.526 1.00 0.00 H -HETATM 2428 O HOH A 810 25.035 25.338 16.682 1.00 0.00 O -HETATM 2429 H HOH A 810 25.404 26.097 17.135 1.00 0.00 H -HETATM 2430 H HOH A 810 25.700 25.093 16.039 1.00 0.00 H -HETATM 2431 O HOH A 811 26.622 20.504 4.675 1.00 0.00 O -HETATM 2432 H HOH A 811 27.521 20.220 4.843 1.00 0.00 H -HETATM 2433 H HOH A 811 26.093 20.016 5.306 1.00 0.00 H -HETATM 2434 O HOH A 812 29.216 19.160 4.898 1.00 0.00 O -HETATM 2435 H HOH A 812 29.378 19.003 3.967 1.00 0.00 H -HETATM 2436 H HOH A 812 29.137 18.286 5.281 1.00 0.00 H -HETATM 2437 O HOH A 813 28.815 2.547 21.885 1.00 0.00 O -HETATM 2438 H HOH A 813 28.015 2.030 21.794 1.00 0.00 H -HETATM 2439 H HOH A 813 28.812 2.838 22.797 1.00 0.00 H -HETATM 2440 O HOH A 814 26.104 1.478 21.586 1.00 0.00 O -HETATM 2441 H HOH A 814 25.854 1.940 20.785 1.00 0.00 H -HETATM 2442 H HOH A 814 25.508 1.815 22.255 1.00 0.00 H -HETATM 2443 O HOH A 815 27.918 3.616 15.289 1.00 0.00 O -HETATM 2444 H HOH A 815 28.027 4.294 14.622 1.00 0.00 H -HETATM 2445 H HOH A 815 28.114 4.058 16.116 1.00 0.00 H -HETATM 2446 O HOH A 816 28.815 5.594 13.323 1.00 0.00 O -HETATM 2447 H HOH A 816 29.357 5.022 12.779 1.00 0.00 H -HETATM 2448 H HOH A 816 29.430 6.223 13.700 1.00 0.00 H -HETATM 2449 O HOH A 817 2.890 24.310 4.156 1.00 0.00 O -HETATM 2450 H HOH A 817 2.381 24.824 3.530 1.00 0.00 H -HETATM 2451 H HOH A 817 2.288 23.630 4.456 1.00 0.00 H -HETATM 2452 O HOH A 818 1.089 26.113 2.710 1.00 0.00 O -HETATM 2453 H HOH A 818 1.352 26.938 3.119 1.00 0.00 H -HETATM 2454 H HOH A 818 0.176 25.994 2.969 1.00 0.00 H -HETATM 2455 O HOH A 819 0.526 17.128 6.333 1.00 0.00 O -HETATM 2456 H HOH A 819 0.981 17.095 5.492 1.00 0.00 H -HETATM 2457 H HOH A 819 -0.014 17.917 6.283 1.00 0.00 H -HETATM 2458 O HOH A 820 2.255 17.435 3.988 1.00 0.00 O -HETATM 2459 H HOH A 820 3.101 17.285 4.412 1.00 0.00 H -HETATM 2460 H HOH A 820 2.294 18.342 3.685 1.00 0.00 H -HETATM 2461 O HOH A 821 24.004 25.633 4.040 1.00 0.00 O -HETATM 2462 H HOH A 821 23.425 25.699 3.281 1.00 0.00 H -HETATM 2463 H HOH A 821 24.567 24.882 3.849 1.00 0.00 H -HETATM 2464 O HOH A 822 21.953 25.393 1.962 1.00 0.00 O -HETATM 2465 H HOH A 822 21.176 25.463 2.517 1.00 0.00 H -HETATM 2466 H HOH A 822 21.911 24.509 1.598 1.00 0.00 H -HETATM 2467 O HOH A 823 15.225 22.630 9.685 1.00 0.00 O -HETATM 2468 H HOH A 823 14.487 23.238 9.647 1.00 0.00 H -HETATM 2469 H HOH A 823 15.591 22.639 8.801 1.00 0.00 H -HETATM 2470 O HOH A 824 12.695 24.057 9.303 1.00 0.00 O -HETATM 2471 H HOH A 824 12.109 23.430 9.729 1.00 0.00 H -HETATM 2472 H HOH A 824 12.419 24.062 8.387 1.00 0.00 H -HETATM 2473 O HOH A 825 26.582 13.734 9.454 1.00 0.00 O -HETATM 2474 H HOH A 825 25.749 13.843 8.995 1.00 0.00 H -HETATM 2475 H HOH A 825 26.674 14.531 9.976 1.00 0.00 H -HETATM 2476 O HOH A 826 24.332 14.420 7.706 1.00 0.00 O -HETATM 2477 H HOH A 826 24.722 14.177 6.866 1.00 0.00 H -HETATM 2478 H HOH A 826 24.197 15.365 7.646 1.00 0.00 H -HETATM 2479 O HOH A 827 1.526 6.503 7.422 1.00 0.00 O -HETATM 2480 H HOH A 827 1.579 6.695 8.358 1.00 0.00 H -HETATM 2481 H HOH A 827 1.329 7.346 7.014 1.00 0.00 H -HETATM 2482 O HOH A 828 1.113 7.098 10.261 1.00 0.00 O -HETATM 2483 H HOH A 828 0.539 6.363 10.481 1.00 0.00 H -HETATM 2484 H HOH A 828 0.570 7.876 10.391 1.00 0.00 H -HETATM 2485 O HOH A 829 2.594 11.522 17.334 1.00 0.00 O -HETATM 2486 H HOH A 829 2.103 12.343 17.335 1.00 0.00 H -HETATM 2487 H HOH A 829 2.529 11.203 16.434 1.00 0.00 H -HETATM 2488 O HOH A 830 0.628 13.695 17.345 1.00 0.00 O -HETATM 2489 H HOH A 830 0.141 13.445 18.131 1.00 0.00 H -HETATM 2490 H HOH A 830 -0.004 13.612 16.632 1.00 0.00 H -HETATM 2491 O HOH A 831 12.657 0.133 17.224 1.00 0.00 O -HETATM 2492 H HOH A 831 12.418 1.052 17.105 1.00 0.00 H -HETATM 2493 H HOH A 831 13.403 -0.000 16.639 1.00 0.00 H -HETATM 2494 O HOH A 832 11.684 2.761 16.370 1.00 0.00 O -HETATM 2495 H HOH A 832 10.758 2.543 16.258 1.00 0.00 H -HETATM 2496 H HOH A 832 11.987 2.989 15.491 1.00 0.00 H -HETATM 2497 O HOH A 833 29.801 11.235 21.427 1.00 0.00 O -HETATM 2498 H HOH A 833 30.003 10.948 22.317 1.00 0.00 H -HETATM 2499 H HOH A 833 29.812 12.191 21.473 1.00 0.00 H -HETATM 2500 O HOH A 834 29.872 10.496 24.261 1.00 0.00 O -HETATM 2501 H HOH A 834 29.138 9.880 24.268 1.00 0.00 H -HETATM 2502 H HOH A 834 29.591 11.214 24.828 1.00 0.00 H -HETATM 2503 O HOH A 835 5.736 23.626 3.037 1.00 0.00 O -HETATM 2504 H HOH A 835 6.044 23.002 2.380 1.00 0.00 H -HETATM 2505 H HOH A 835 4.782 23.589 2.975 1.00 0.00 H -HETATM 2506 O HOH A 836 6.551 22.134 0.651 1.00 0.00 O -HETATM 2507 H HOH A 836 7.175 22.767 0.291 1.00 0.00 H -HETATM 2508 H HOH A 836 5.852 22.087 -0.000 1.00 0.00 H -HETATM 2509 O HOH A 837 22.822 20.902 16.012 1.00 0.00 O -HETATM 2510 H HOH A 837 22.146 21.234 15.422 1.00 0.00 H -HETATM 2511 H HOH A 837 23.025 21.641 16.586 1.00 0.00 H -HETATM 2512 O HOH A 838 21.194 22.179 13.939 1.00 0.00 O -HETATM 2513 H HOH A 838 21.653 21.844 13.168 1.00 0.00 H -HETATM 2514 H HOH A 838 21.328 23.126 13.908 1.00 0.00 H -HETATM 2515 O HOH A 839 22.315 7.043 26.455 1.00 0.00 O -HETATM 2516 H HOH A 839 22.497 7.895 26.059 1.00 0.00 H -HETATM 2517 H HOH A 839 21.952 7.251 27.316 1.00 0.00 H -HETATM 2518 O HOH A 840 23.334 9.650 25.590 1.00 0.00 O -HETATM 2519 H HOH A 840 24.218 9.382 25.334 1.00 0.00 H -HETATM 2520 H HOH A 840 23.466 10.248 26.325 1.00 0.00 H -HETATM 2521 O HOH A 841 7.476 9.112 20.767 1.00 0.00 O -HETATM 2522 H HOH A 841 6.921 9.882 20.892 1.00 0.00 H -HETATM 2523 H HOH A 841 7.902 9.259 19.922 1.00 0.00 H -HETATM 2524 O HOH A 842 5.426 11.206 20.775 1.00 0.00 O -HETATM 2525 H HOH A 842 4.669 10.667 21.006 1.00 0.00 H -HETATM 2526 H HOH A 842 5.236 11.527 19.894 1.00 0.00 H -HETATM 2527 O HOH A 843 21.620 4.332 0.872 1.00 0.00 O -HETATM 2528 H HOH A 843 22.479 4.420 1.284 1.00 0.00 H -HETATM 2529 H HOH A 843 21.806 3.984 -0.000 1.00 0.00 H -HETATM 2530 O HOH A 844 24.295 5.074 1.807 1.00 0.00 O -HETATM 2531 H HOH A 844 24.106 5.968 2.093 1.00 0.00 H -HETATM 2532 H HOH A 844 24.914 5.177 1.084 1.00 0.00 H -HETATM 2533 O HOH A 845 24.682 7.921 16.884 1.00 0.00 O -HETATM 2534 H HOH A 845 25.008 7.023 16.942 1.00 0.00 H -HETATM 2535 H HOH A 845 23.743 7.826 16.722 1.00 0.00 H -HETATM 2536 O HOH A 846 25.639 5.181 16.488 1.00 0.00 O -HETATM 2537 H HOH A 846 26.359 5.365 15.885 1.00 0.00 H -HETATM 2538 H HOH A 846 25.024 4.654 15.977 1.00 0.00 H -HETATM 2539 O HOH A 847 0.647 -0.000 19.760 1.00 0.00 O -HETATM 2540 H HOH A 847 1.306 0.460 20.280 1.00 0.00 H -HETATM 2541 H HOH A 847 0.458 0.592 19.032 1.00 0.00 H -HETATM 2542 O HOH A 848 2.216 1.719 21.540 1.00 0.00 O -HETATM 2543 H HOH A 848 1.736 1.560 22.354 1.00 0.00 H -HETATM 2544 H HOH A 848 2.078 2.649 21.356 1.00 0.00 H -HETATM 2545 O HOH A 849 24.722 26.945 21.406 1.00 0.00 O -HETATM 2546 H HOH A 849 25.423 26.303 21.291 1.00 0.00 H -HETATM 2547 H HOH A 849 24.000 26.447 21.788 1.00 0.00 H -HETATM 2548 O HOH A 850 26.560 24.812 20.597 1.00 0.00 O -HETATM 2549 H HOH A 850 26.715 25.090 19.693 1.00 0.00 H -HETATM 2550 H HOH A 850 26.118 23.967 20.517 1.00 0.00 H -HETATM 2551 O HOH A 851 15.402 0.057 18.184 1.00 0.00 O -HETATM 2552 H HOH A 851 15.967 0.526 17.570 1.00 0.00 H -HETATM 2553 H HOH A 851 15.300 0.656 18.923 1.00 0.00 H -HETATM 2554 O HOH A 852 17.555 1.339 16.665 1.00 0.00 O -HETATM 2555 H HOH A 852 18.126 0.578 16.553 1.00 0.00 H -HETATM 2556 H HOH A 852 18.063 1.946 17.202 1.00 0.00 H -HETATM 2557 O HOH A 853 16.710 2.941 24.035 1.00 0.00 O -HETATM 2558 H HOH A 853 17.100 2.506 23.277 1.00 0.00 H -HETATM 2559 H HOH A 853 17.377 2.877 24.719 1.00 0.00 H -HETATM 2560 O HOH A 854 17.768 1.124 21.994 1.00 0.00 O -HETATM 2561 H HOH A 854 16.979 0.602 21.843 1.00 0.00 H -HETATM 2562 H HOH A 854 18.401 0.505 22.357 1.00 0.00 H -HETATM 2563 O HOH A 855 14.222 28.606 4.908 1.00 0.00 O -HETATM 2564 H HOH A 855 13.331 28.593 5.258 1.00 0.00 H -HETATM 2565 H HOH A 855 14.134 29.011 4.045 1.00 0.00 H -HETATM 2566 O HOH A 856 11.424 28.118 5.627 1.00 0.00 O -HETATM 2567 H HOH A 856 11.498 27.197 5.878 1.00 0.00 H -HETATM 2568 H HOH A 856 10.850 28.114 4.861 1.00 0.00 H -HETATM 2569 O HOH A 857 6.917 17.260 22.025 1.00 0.00 O -HETATM 2570 H HOH A 857 6.398 17.929 22.471 1.00 0.00 H -HETATM 2571 H HOH A 857 6.279 16.760 21.517 1.00 0.00 H -HETATM 2572 O HOH A 858 5.181 18.878 23.743 1.00 0.00 O -HETATM 2573 H HOH A 858 5.593 18.687 24.586 1.00 0.00 H -HETATM 2574 H HOH A 858 4.301 18.509 23.815 1.00 0.00 H -HETATM 2575 O HOH A 859 5.485 15.742 6.793 1.00 0.00 O -HETATM 2576 H HOH A 859 4.586 15.800 6.470 1.00 0.00 H -HETATM 2577 H HOH A 859 5.741 14.834 6.629 1.00 0.00 H -HETATM 2578 O HOH A 860 2.599 15.651 6.296 1.00 0.00 O -HETATM 2579 H HOH A 860 2.300 16.078 7.099 1.00 0.00 H -HETATM 2580 H HOH A 860 2.251 14.761 6.352 1.00 0.00 H -HETATM 2581 O HOH A 861 7.824 12.795 27.435 1.00 0.00 O -HETATM 2582 H HOH A 861 7.501 12.653 26.546 1.00 0.00 H -HETATM 2583 H HOH A 861 7.796 13.745 27.553 1.00 0.00 H -HETATM 2584 O HOH A 862 7.361 12.533 24.554 1.00 0.00 O -HETATM 2585 H HOH A 862 8.093 11.952 24.342 1.00 0.00 H -HETATM 2586 H HOH A 862 7.552 13.344 24.083 1.00 0.00 H -HETATM 2587 O HOH A 863 15.807 17.641 16.651 1.00 0.00 O -HETATM 2588 H HOH A 863 16.482 18.047 16.107 1.00 0.00 H -HETATM 2589 H HOH A 863 15.244 17.179 16.030 1.00 0.00 H -HETATM 2590 O HOH A 864 17.462 19.268 14.863 1.00 0.00 O -HETATM 2591 H HOH A 864 17.350 20.116 15.294 1.00 0.00 H -HETATM 2592 H HOH A 864 17.060 19.380 14.001 1.00 0.00 H -HETATM 2593 O HOH A 865 27.965 18.219 11.106 1.00 0.00 O -HETATM 2594 H HOH A 865 28.325 17.400 11.447 1.00 0.00 H -HETATM 2595 H HOH A 865 27.018 18.078 11.093 1.00 0.00 H -HETATM 2596 O HOH A 866 28.968 15.514 11.618 1.00 0.00 O -HETATM 2597 H HOH A 866 29.615 15.464 10.914 1.00 0.00 H -HETATM 2598 H HOH A 866 28.321 14.843 11.401 1.00 0.00 H -HETATM 2599 O HOH A 867 10.136 22.679 23.966 1.00 0.00 O -HETATM 2600 H HOH A 867 9.279 22.479 23.591 1.00 0.00 H -HETATM 2601 H HOH A 867 10.512 23.331 23.374 1.00 0.00 H -HETATM 2602 O HOH A 868 7.813 21.751 22.442 1.00 0.00 O -HETATM 2603 H HOH A 868 7.965 20.808 22.507 1.00 0.00 H -HETATM 2604 H HOH A 868 7.894 21.946 21.508 1.00 0.00 H -HETATM 2605 O HOH A 869 17.433 11.274 1.839 1.00 0.00 O -HETATM 2606 H HOH A 869 17.468 10.539 2.450 1.00 0.00 H -HETATM 2607 H HOH A 869 16.521 11.564 1.862 1.00 0.00 H -HETATM 2608 O HOH A 870 17.292 8.729 3.283 1.00 0.00 O -HETATM 2609 H HOH A 870 17.754 8.178 2.650 1.00 0.00 H -HETATM 2610 H HOH A 870 16.402 8.376 3.305 1.00 0.00 H -HETATM 2611 O HOH A 871 11.256 1.594 5.068 1.00 0.00 O -HETATM 2612 H HOH A 871 11.457 2.102 5.854 1.00 0.00 H -HETATM 2613 H HOH A 871 10.968 2.246 4.428 1.00 0.00 H -HETATM 2614 O HOH A 872 11.299 3.162 7.542 1.00 0.00 O -HETATM 2615 H HOH A 872 10.793 2.569 8.098 1.00 0.00 H -HETATM 2616 H HOH A 872 10.762 3.951 7.478 1.00 0.00 H -HETATM 2617 O HOH A 873 4.959 26.902 7.197 1.00 0.00 O -HETATM 2618 H HOH A 873 4.957 25.952 7.311 1.00 0.00 H -HETATM 2619 H HOH A 873 5.404 27.043 6.361 1.00 0.00 H -HETATM 2620 O HOH A 874 5.505 24.068 7.697 1.00 0.00 O -HETATM 2621 H HOH A 874 5.828 24.139 8.596 1.00 0.00 H -HETATM 2622 H HOH A 874 6.255 23.751 7.194 1.00 0.00 H -HETATM 2623 O HOH A 875 18.910 0.174 14.006 1.00 0.00 O -HETATM 2624 H HOH A 875 18.069 0.003 14.431 1.00 0.00 H -HETATM 2625 H HOH A 875 19.251 0.949 14.453 1.00 0.00 H -HETATM 2626 O HOH A 876 16.148 0.087 14.981 1.00 0.00 O -HETATM 2627 H HOH A 876 15.700 0.000 14.139 1.00 0.00 H -HETATM 2628 H HOH A 876 15.860 0.934 15.322 1.00 0.00 H -HETATM 2629 O HOH A 877 27.006 28.559 22.572 1.00 0.00 O -HETATM 2630 H HOH A 877 27.705 28.181 23.105 1.00 0.00 H -HETATM 2631 H HOH A 877 26.813 27.887 21.918 1.00 0.00 H -HETATM 2632 O HOH A 878 29.485 27.545 23.760 1.00 0.00 O -HETATM 2633 H HOH A 878 30.011 28.343 23.698 1.00 0.00 H -HETATM 2634 H HOH A 878 29.927 26.918 23.189 1.00 0.00 H -HETATM 2635 O HOH A 879 5.693 26.578 3.456 1.00 0.00 O -HETATM 2636 H HOH A 879 6.025 27.057 2.698 1.00 0.00 H -HETATM 2637 H HOH A 879 5.306 25.783 3.088 1.00 0.00 H -HETATM 2638 O HOH A 880 6.157 28.188 1.053 1.00 0.00 O -HETATM 2639 H HOH A 880 5.747 29.003 1.344 1.00 0.00 H -HETATM 2640 H HOH A 880 5.621 27.898 0.316 1.00 0.00 H -HETATM 2641 O HOH A 881 16.556 3.192 2.577 1.00 0.00 O -HETATM 2642 H HOH A 881 16.971 3.488 1.767 1.00 0.00 H -HETATM 2643 H HOH A 881 15.667 3.545 2.535 1.00 0.00 H -HETATM 2644 O HOH A 882 17.868 4.604 0.370 1.00 0.00 O -HETATM 2645 H HOH A 882 18.641 4.919 0.840 1.00 0.00 H -HETATM 2646 H HOH A 882 17.397 5.399 0.120 1.00 0.00 H -HETATM 2647 O HOH A 883 6.140 1.632 28.477 1.00 0.00 O -HETATM 2648 H HOH A 883 5.478 1.763 27.799 1.00 0.00 H -HETATM 2649 H HOH A 883 6.695 2.410 28.425 1.00 0.00 H -HETATM 2650 O HOH A 884 4.533 1.878 26.039 1.00 0.00 O -HETATM 2651 H HOH A 884 4.663 0.995 25.691 1.00 0.00 H -HETATM 2652 H HOH A 884 4.942 2.455 25.395 1.00 0.00 H -HETATM 2653 O HOH A 885 12.173 7.135 0.653 1.00 0.00 O -HETATM 2654 H HOH A 885 11.651 6.446 1.065 1.00 0.00 H -HETATM 2655 H HOH A 885 12.702 6.677 0.000 1.00 0.00 H -HETATM 2656 O HOH A 886 11.063 4.905 2.196 1.00 0.00 O -HETATM 2657 H HOH A 886 11.286 5.213 3.075 1.00 0.00 H -HETATM 2658 H HOH A 886 11.570 4.102 2.084 1.00 0.00 H -HETATM 2659 O HOH A 887 14.580 11.014 15.643 1.00 0.00 O -HETATM 2660 H HOH A 887 14.867 11.075 16.554 1.00 0.00 H -HETATM 2661 H HOH A 887 13.626 11.084 15.686 1.00 0.00 H -HETATM 2662 O HOH A 888 15.283 10.655 18.465 1.00 0.00 O -HETATM 2663 H HOH A 888 15.848 9.887 18.376 1.00 0.00 H -HETATM 2664 H HOH A 888 14.540 10.351 18.985 1.00 0.00 H -HETATM 2665 O HOH A 889 8.688 13.521 2.924 1.00 0.00 O -HETATM 2666 H HOH A 889 7.836 13.561 2.489 1.00 0.00 H -HETATM 2667 H HOH A 889 8.694 12.671 3.363 1.00 0.00 H -HETATM 2668 O HOH A 890 5.881 13.761 2.120 1.00 0.00 O -HETATM 2669 H HOH A 890 5.706 14.638 2.463 1.00 0.00 H -HETATM 2670 H HOH A 890 5.310 13.184 2.627 1.00 0.00 H -HETATM 2671 O HOH A 891 2.718 27.709 15.585 1.00 0.00 O -HETATM 2672 H HOH A 891 3.648 27.511 15.475 1.00 0.00 H -HETATM 2673 H HOH A 891 2.586 28.519 15.093 1.00 0.00 H -HETATM 2674 O HOH A 892 5.641 27.516 15.646 1.00 0.00 O -HETATM 2675 H HOH A 892 5.757 27.370 16.585 1.00 0.00 H -HETATM 2676 H HOH A 892 6.061 28.360 15.479 1.00 0.00 H -HETATM 2677 O HOH A 893 14.342 2.116 11.522 1.00 0.00 O -HETATM 2678 H HOH A 893 13.811 2.822 11.890 1.00 0.00 H -HETATM 2679 H HOH A 893 13.706 1.472 11.212 1.00 0.00 H -HETATM 2680 O HOH A 894 12.654 3.918 13.098 1.00 0.00 O -HETATM 2681 H HOH A 894 13.177 3.942 13.900 1.00 0.00 H -HETATM 2682 H HOH A 894 11.830 3.505 13.358 1.00 0.00 H -HETATM 2683 O HOH A 895 11.557 19.558 28.292 1.00 0.00 O -HETATM 2684 H HOH A 895 12.168 18.838 28.134 1.00 0.00 H -HETATM 2685 H HOH A 895 11.250 19.809 27.421 1.00 0.00 H -HETATM 2686 O HOH A 896 13.790 17.773 27.650 1.00 0.00 O -HETATM 2687 H HOH A 896 14.457 18.168 28.213 1.00 0.00 H -HETATM 2688 H HOH A 896 14.115 17.908 26.760 1.00 0.00 H -HETATM 2689 O HOH A 897 22.018 18.967 22.085 1.00 0.00 O -HETATM 2690 H HOH A 897 22.638 19.455 21.543 1.00 0.00 H -HETATM 2691 H HOH A 897 21.715 19.602 22.734 1.00 0.00 H -HETATM 2692 O HOH A 898 24.276 20.383 20.869 1.00 0.00 O -HETATM 2693 H HOH A 898 24.934 19.689 20.935 1.00 0.00 H -HETATM 2694 H HOH A 898 24.607 21.083 21.431 1.00 0.00 H -HETATM 2695 O HOH A 899 19.781 22.785 21.114 1.00 0.00 O -HETATM 2696 H HOH A 899 19.724 22.897 20.165 1.00 0.00 H -HETATM 2697 H HOH A 899 20.719 22.705 21.291 1.00 0.00 H -HETATM 2698 O HOH A 900 19.700 22.560 18.194 1.00 0.00 O -HETATM 2699 H HOH A 900 19.020 21.889 18.120 1.00 0.00 H -HETATM 2700 H HOH A 900 20.488 22.147 17.842 1.00 0.00 H -HETATM 2701 O HOH A 901 24.412 16.096 24.961 1.00 0.00 O -HETATM 2702 H HOH A 901 25.143 16.044 25.577 1.00 0.00 H -HETATM 2703 H HOH A 901 24.690 16.744 24.313 1.00 0.00 H -HETATM 2704 O HOH A 902 26.437 16.432 27.052 1.00 0.00 O -HETATM 2705 H HOH A 902 25.854 16.517 27.806 1.00 0.00 H -HETATM 2706 H HOH A 902 26.880 17.278 26.992 1.00 0.00 H -HETATM 2707 O HOH A 903 25.829 2.424 4.859 1.00 0.00 O -HETATM 2708 H HOH A 903 25.033 2.875 4.580 1.00 0.00 H -HETATM 2709 H HOH A 903 25.581 1.501 4.903 1.00 0.00 H -HETATM 2710 O HOH A 904 23.226 3.733 4.552 1.00 0.00 O -HETATM 2711 H HOH A 904 23.311 4.388 5.245 1.00 0.00 H -HETATM 2712 H HOH A 904 22.505 3.172 4.836 1.00 0.00 H -HETATM 2713 O HOH A 905 5.745 3.882 3.083 1.00 0.00 O -HETATM 2714 H HOH A 905 6.023 3.533 2.236 1.00 0.00 H -HETATM 2715 H HOH A 905 5.765 3.129 3.673 1.00 0.00 H -HETATM 2716 O HOH A 906 6.059 2.604 0.465 1.00 0.00 O -HETATM 2717 H HOH A 906 5.326 3.022 0.012 1.00 0.00 H -HETATM 2718 H HOH A 906 5.831 1.675 0.488 1.00 0.00 H -HETATM 2719 O HOH A 907 24.615 29.077 8.037 1.00 0.00 O -HETATM 2720 H HOH A 907 25.030 28.425 7.473 1.00 0.00 H -HETATM 2721 H HOH A 907 25.002 28.930 8.900 1.00 0.00 H -HETATM 2722 O HOH A 908 25.522 26.714 6.562 1.00 0.00 O -HETATM 2723 H HOH A 908 24.679 26.436 6.202 1.00 0.00 H -HETATM 2724 H HOH A 908 25.781 26.002 7.146 1.00 0.00 H -HETATM 2725 O HOH A 909 16.462 19.041 0.768 1.00 0.00 O -HETATM 2726 H HOH A 909 16.919 19.867 0.610 1.00 0.00 H -HETATM 2727 H HOH A 909 16.158 19.104 1.674 1.00 0.00 H -HETATM 2728 O HOH A 910 18.287 21.326 0.587 1.00 0.00 O -HETATM 2729 H HOH A 910 19.046 20.876 0.214 1.00 0.00 H -HETATM 2730 H HOH A 910 18.580 21.622 1.448 1.00 0.00 H -HETATM 2731 O HOH A 911 21.839 17.783 4.015 1.00 0.00 O -HETATM 2732 H HOH A 911 21.130 18.343 3.698 1.00 0.00 H -HETATM 2733 H HOH A 911 22.223 18.271 4.744 1.00 0.00 H -HETATM 2734 O HOH A 912 20.093 19.797 2.798 1.00 0.00 O -HETATM 2735 H HOH A 912 20.381 19.707 1.889 1.00 0.00 H -HETATM 2736 H HOH A 912 20.345 20.687 3.044 1.00 0.00 H -HETATM 2737 O HOH A 913 8.393 2.651 10.731 1.00 0.00 O -HETATM 2738 H HOH A 913 8.740 1.833 11.087 1.00 0.00 H -HETATM 2739 H HOH A 913 8.408 2.525 9.782 1.00 0.00 H -HETATM 2740 O HOH A 914 9.966 0.362 11.663 1.00 0.00 O -HETATM 2741 H HOH A 914 10.572 0.828 12.240 1.00 0.00 H -HETATM 2742 H HOH A 914 10.520 -0.000 10.972 1.00 0.00 H -HETATM 2743 O HOH A 915 30.000 24.126 16.607 1.00 0.00 O -HETATM 2744 H HOH A 915 29.435 23.599 17.171 1.00 0.00 H -HETATM 2745 H HOH A 915 29.581 24.092 15.747 1.00 0.00 H -HETATM 2746 O HOH A 916 28.523 22.065 18.076 1.00 0.00 O -HETATM 2747 H HOH A 916 29.268 21.575 18.426 1.00 0.00 H -HETATM 2748 H HOH A 916 28.083 21.450 17.489 1.00 0.00 H -HETATM 2749 O HOH A 917 3.888 8.739 19.998 1.00 0.00 O -HETATM 2750 H HOH A 917 4.206 8.701 19.097 1.00 0.00 H -HETATM 2751 H HOH A 917 4.437 8.117 20.474 1.00 0.00 H -HETATM 2752 O HOH A 918 4.563 8.129 17.214 1.00 0.00 O -HETATM 2753 H HOH A 918 3.675 8.038 16.866 1.00 0.00 H -HETATM 2754 H HOH A 918 4.951 7.259 17.119 1.00 0.00 H -HETATM 2755 O HOH A 919 20.282 26.979 15.639 1.00 0.00 O -HETATM 2756 H HOH A 919 20.752 27.788 15.436 1.00 0.00 H -HETATM 2757 H HOH A 919 19.757 27.193 16.410 1.00 0.00 H -HETATM 2758 O HOH A 920 22.058 29.302 15.459 1.00 0.00 O -HETATM 2759 H HOH A 920 22.894 28.840 15.382 1.00 0.00 H -HETATM 2760 H HOH A 920 22.118 29.775 16.289 1.00 0.00 H -HETATM 2761 O HOH A 921 17.453 6.626 9.600 1.00 0.00 O -HETATM 2762 H HOH A 921 17.964 5.942 10.031 1.00 0.00 H -HETATM 2763 H HOH A 921 16.792 6.876 10.245 1.00 0.00 H -HETATM 2764 O HOH A 922 18.570 4.195 10.794 1.00 0.00 O -HETATM 2765 H HOH A 922 18.509 3.618 10.032 1.00 0.00 H -HETATM 2766 H HOH A 922 17.979 3.807 11.439 1.00 0.00 H -HETATM 2767 O HOH A 923 14.181 13.464 11.467 1.00 0.00 O -HETATM 2768 H HOH A 923 13.484 13.282 12.096 1.00 0.00 H -HETATM 2769 H HOH A 923 13.752 13.959 10.769 1.00 0.00 H -HETATM 2770 O HOH A 924 11.889 12.502 13.017 1.00 0.00 O -HETATM 2771 H HOH A 924 12.127 11.576 13.067 1.00 0.00 H -HETATM 2772 H HOH A 924 11.078 12.516 12.508 1.00 0.00 H -HETATM 2773 O HOH A 925 7.054 25.285 10.177 1.00 0.00 O -HETATM 2774 H HOH A 925 7.086 25.005 11.092 1.00 0.00 H -HETATM 2775 H HOH A 925 7.639 24.681 9.720 1.00 0.00 H -HETATM 2776 O HOH A 926 7.660 24.700 12.983 1.00 0.00 O -HETATM 2777 H HOH A 926 7.804 25.596 13.289 1.00 0.00 H -HETATM 2778 H HOH A 926 8.509 24.270 13.086 1.00 0.00 H -HETATM 2779 O HOH A 927 15.751 2.619 13.913 1.00 0.00 O -HETATM 2780 H HOH A 927 14.830 2.384 14.027 1.00 0.00 H -HETATM 2781 H HOH A 927 15.834 2.816 12.979 1.00 0.00 H -HETATM 2782 O HOH A 928 13.091 1.396 14.033 1.00 0.00 O -HETATM 2783 H HOH A 928 13.317 0.607 14.526 1.00 0.00 H -HETATM 2784 H HOH A 928 12.804 1.074 13.179 1.00 0.00 H -HETATM 2785 O HOH A 929 19.496 28.429 5.299 1.00 0.00 O -HETATM 2786 H HOH A 929 20.130 28.490 4.585 1.00 0.00 H -HETATM 2787 H HOH A 929 19.989 28.051 6.027 1.00 0.00 H -HETATM 2788 O HOH A 930 21.346 28.050 3.059 1.00 0.00 O -HETATM 2789 H HOH A 930 20.740 27.643 2.439 1.00 0.00 H -HETATM 2790 H HOH A 930 21.998 27.373 3.241 1.00 0.00 H -HETATM 2791 O HOH A 931 2.974 15.478 13.618 1.00 0.00 O -HETATM 2792 H HOH A 931 2.505 14.644 13.633 1.00 0.00 H -HETATM 2793 H HOH A 931 3.581 15.427 14.357 1.00 0.00 H -HETATM 2794 O HOH A 932 1.244 13.163 14.100 1.00 0.00 O -HETATM 2795 H HOH A 932 0.395 13.599 14.021 1.00 0.00 H -HETATM 2796 H HOH A 932 1.282 12.869 15.010 1.00 0.00 H -HETATM 2797 O HOH A 933 -0.001 13.690 2.885 1.00 0.00 O -HETATM 2798 H HOH A 933 0.736 13.215 3.269 1.00 0.00 H -HETATM 2799 H HOH A 933 0.151 14.605 3.125 1.00 0.00 H -HETATM 2800 O HOH A 934 1.963 12.297 4.555 1.00 0.00 O -HETATM 2801 H HOH A 934 1.383 11.640 4.941 1.00 0.00 H -HETATM 2802 H HOH A 934 2.250 12.832 5.295 1.00 0.00 H -HETATM 2803 O HOH A 935 24.367 12.866 16.077 1.00 0.00 O -HETATM 2804 H HOH A 935 25.138 13.191 15.613 1.00 0.00 H -HETATM 2805 H HOH A 935 24.506 13.128 16.987 1.00 0.00 H -HETATM 2806 O HOH A 936 26.991 13.404 14.890 1.00 0.00 O -HETATM 2807 H HOH A 936 27.129 12.561 14.456 1.00 0.00 H -HETATM 2808 H HOH A 936 27.682 13.453 15.550 1.00 0.00 H -HETATM 2809 O HOH A 937 6.449 18.974 14.537 1.00 0.00 O -HETATM 2810 H HOH A 937 5.623 18.609 14.854 1.00 0.00 H -HETATM 2811 H HOH A 937 6.895 19.280 15.326 1.00 0.00 H -HETATM 2812 O HOH A 938 3.759 18.406 15.550 1.00 0.00 O -HETATM 2813 H HOH A 938 3.253 18.888 14.894 1.00 0.00 H -HETATM 2814 H HOH A 938 3.581 18.860 16.374 1.00 0.00 H -HETATM 2815 O HOH A 939 15.435 15.272 4.893 1.00 0.00 O -HETATM 2816 H HOH A 939 16.266 15.597 4.547 1.00 0.00 H -HETATM 2817 H HOH A 939 15.495 15.416 5.838 1.00 0.00 H -HETATM 2818 O HOH A 940 18.191 15.770 4.033 1.00 0.00 O -HETATM 2819 H HOH A 940 18.326 14.977 3.513 1.00 0.00 H -HETATM 2820 H HOH A 940 18.813 15.695 4.756 1.00 0.00 H -HETATM 2821 O HOH A 941 17.190 17.343 22.398 1.00 0.00 O -HETATM 2822 H HOH A 941 16.660 18.134 22.301 1.00 0.00 H -HETATM 2823 H HOH A 941 16.623 16.634 22.095 1.00 0.00 H -HETATM 2824 O HOH A 942 15.308 19.581 22.584 1.00 0.00 O -HETATM 2825 H HOH A 942 15.519 19.874 23.471 1.00 0.00 H -HETATM 2826 H HOH A 942 14.400 19.284 22.637 1.00 0.00 H -HETATM 2827 O HOH A 943 14.701 28.451 29.095 1.00 0.00 O -HETATM 2828 H HOH A 943 14.049 27.910 28.649 1.00 0.00 H -HETATM 2829 H HOH A 943 14.694 28.139 30.000 1.00 0.00 H -HETATM 2830 O HOH A 944 12.325 27.142 27.989 1.00 0.00 O -HETATM 2831 H HOH A 944 11.910 27.908 27.590 1.00 0.00 H -HETATM 2832 H HOH A 944 11.715 26.865 28.673 1.00 0.00 H -HETATM 2833 O HOH A 945 19.483 6.991 8.834 1.00 0.00 O -HETATM 2834 H HOH A 945 19.617 7.829 9.278 1.00 0.00 H -HETATM 2835 H HOH A 945 19.749 7.153 7.929 1.00 0.00 H -HETATM 2836 O HOH A 946 19.403 9.707 9.932 1.00 0.00 O -HETATM 2837 H HOH A 946 18.532 9.677 10.329 1.00 0.00 H -HETATM 2838 H HOH A 946 19.334 10.371 9.246 1.00 0.00 H -HETATM 2839 O HOH A 947 12.823 29.470 20.600 1.00 0.00 O -HETATM 2840 H HOH A 947 12.092 29.101 20.105 1.00 0.00 H -HETATM 2841 H HOH A 947 13.603 29.079 20.205 1.00 0.00 H -HETATM 2842 O HOH A 948 10.678 27.871 19.406 1.00 0.00 O -HETATM 2843 H HOH A 948 10.205 27.643 20.207 1.00 0.00 H -HETATM 2844 H HOH A 948 10.998 27.034 19.068 1.00 0.00 H -HETATM 2845 O HOH A 949 4.744 8.786 2.569 1.00 0.00 O -HETATM 2846 H HOH A 949 4.937 8.111 1.919 1.00 0.00 H -HETATM 2847 H HOH A 949 5.566 9.268 2.668 1.00 0.00 H -HETATM 2848 O HOH A 950 5.598 6.453 1.017 1.00 0.00 O -HETATM 2849 H HOH A 950 5.208 5.767 1.561 1.00 0.00 H -HETATM 2850 H HOH A 950 6.541 6.304 1.080 1.00 0.00 H -HETATM 2851 O HOH A 951 0.196 18.628 18.097 1.00 0.00 O -HETATM 2852 H HOH A 951 0.504 19.445 18.489 1.00 0.00 H -HETATM 2853 H HOH A 951 -0.000 18.856 17.188 1.00 0.00 H -HETATM 2854 O HOH A 952 0.579 21.269 19.308 1.00 0.00 O -HETATM 2855 H HOH A 952 -0.001 21.166 20.064 1.00 0.00 H -HETATM 2856 H HOH A 952 0.178 21.965 18.788 1.00 0.00 H -HETATM 2857 O HOH A 953 10.464 8.665 11.143 1.00 0.00 O -HETATM 2858 H HOH A 953 10.399 8.980 12.045 1.00 0.00 H -HETATM 2859 H HOH A 953 10.860 9.393 10.663 1.00 0.00 H -HETATM 2860 O HOH A 954 9.811 9.924 13.707 1.00 0.00 O -HETATM 2861 H HOH A 954 8.897 9.646 13.776 1.00 0.00 H -HETATM 2862 H HOH A 954 9.770 10.877 13.640 1.00 0.00 H -HETATM 2863 O HOH A 955 9.597 29.279 17.814 1.00 0.00 O -HETATM 2864 H HOH A 955 9.162 29.282 18.667 1.00 0.00 H -HETATM 2865 H HOH A 955 9.190 30.001 17.334 1.00 0.00 H -HETATM 2866 O HOH A 956 7.832 29.037 20.140 1.00 0.00 O -HETATM 2867 H HOH A 956 7.670 28.094 20.102 1.00 0.00 H -HETATM 2868 H HOH A 956 6.976 29.436 19.986 1.00 0.00 H -HETATM 2869 O HOH A 957 20.027 19.582 13.152 1.00 0.00 O -HETATM 2870 H HOH A 957 20.447 19.509 12.295 1.00 0.00 H -HETATM 2871 H HOH A 957 19.903 20.523 13.279 1.00 0.00 H -HETATM 2872 O HOH A 958 21.788 19.519 10.811 1.00 0.00 O -HETATM 2873 H HOH A 958 22.460 18.928 11.151 1.00 0.00 H -HETATM 2874 H HOH A 958 22.241 20.351 10.679 1.00 0.00 H -HETATM 2875 O HOH A 959 4.475 10.449 5.818 1.00 0.00 O -HETATM 2876 H HOH A 959 5.084 11.137 6.085 1.00 0.00 H -HETATM 2877 H HOH A 959 3.608 10.841 5.926 1.00 0.00 H -HETATM 2878 O HOH A 960 6.189 12.403 7.170 1.00 0.00 O -HETATM 2879 H HOH A 960 6.676 11.802 7.734 1.00 0.00 H -HETATM 2880 H HOH A 960 5.696 12.957 7.775 1.00 0.00 H -HETATM 2881 O HOH A 961 15.090 16.401 2.035 1.00 0.00 O -HETATM 2882 H HOH A 961 14.466 17.092 1.812 1.00 0.00 H -HETATM 2883 H HOH A 961 15.553 16.734 2.804 1.00 0.00 H -HETATM 2884 O HOH A 962 13.639 18.781 1.131 1.00 0.00 O -HETATM 2885 H HOH A 962 13.895 18.764 0.208 1.00 0.00 H -HETATM 2886 H HOH A 962 14.022 19.588 1.474 1.00 0.00 H -HETATM 2887 O HOH A 963 13.008 20.711 3.071 1.00 0.00 O -HETATM 2888 H HOH A 963 12.371 20.751 3.784 1.00 0.00 H -HETATM 2889 H HOH A 963 12.594 21.187 2.351 1.00 0.00 H -HETATM 2890 O HOH A 964 10.786 20.421 4.957 1.00 0.00 O -HETATM 2891 H HOH A 964 10.858 19.480 5.122 1.00 0.00 H -HETATM 2892 H HOH A 964 9.935 20.527 4.531 1.00 0.00 H -HETATM 2893 O HOH A 965 9.769 8.432 26.366 1.00 0.00 O -HETATM 2894 H HOH A 965 9.941 8.419 27.307 1.00 0.00 H -HETATM 2895 H HOH A 965 10.181 9.239 26.058 1.00 0.00 H -HETATM 2896 O HOH A 966 9.868 8.779 29.274 1.00 0.00 O -HETATM 2897 H HOH A 966 8.952 8.584 29.473 1.00 0.00 H -HETATM 2898 H HOH A 966 9.979 9.696 29.523 1.00 0.00 H -HETATM 2899 O HOH A 967 17.763 17.299 9.342 1.00 0.00 O -HETATM 2900 H HOH A 967 18.574 16.986 9.741 1.00 0.00 H -HETATM 2901 H HOH A 967 17.835 17.047 8.421 1.00 0.00 H -HETATM 2902 O HOH A 968 20.482 16.805 10.315 1.00 0.00 O -HETATM 2903 H HOH A 968 20.637 17.647 10.744 1.00 0.00 H -HETATM 2904 H HOH A 968 21.120 16.776 9.602 1.00 0.00 H -HETATM 2905 O HOH A 969 2.032 11.340 21.916 1.00 0.00 O -HETATM 2906 H HOH A 969 1.954 10.442 22.239 1.00 0.00 H -HETATM 2907 H HOH A 969 2.926 11.598 22.138 1.00 0.00 H -HETATM 2908 O HOH A 970 1.739 8.842 23.421 1.00 0.00 O -HETATM 2909 H HOH A 970 0.909 9.033 23.858 1.00 0.00 H -HETATM 2910 H HOH A 970 2.376 8.773 24.131 1.00 0.00 H -HETATM 2911 O HOH A 971 6.030 10.439 23.018 1.00 0.00 O -HETATM 2912 H HOH A 971 5.272 10.973 23.253 1.00 0.00 H -HETATM 2913 H HOH A 971 5.656 9.627 22.675 1.00 0.00 H -HETATM 2914 O HOH A 972 3.681 11.730 24.200 1.00 0.00 O -HETATM 2915 H HOH A 972 4.046 11.932 25.062 1.00 0.00 H -HETATM 2916 H HOH A 972 2.978 11.106 24.376 1.00 0.00 H -HETATM 2917 O HOH A 973 22.489 19.121 8.764 1.00 0.00 O -HETATM 2918 H HOH A 973 23.086 19.778 8.406 1.00 0.00 H -HETATM 2919 H HOH A 973 21.630 19.362 8.417 1.00 0.00 H -HETATM 2920 O HOH A 974 24.096 21.472 8.076 1.00 0.00 O -HETATM 2921 H HOH A 974 24.489 21.634 8.934 1.00 0.00 H -HETATM 2922 H HOH A 974 23.554 22.243 7.909 1.00 0.00 H -HETATM 2923 O HOH A 975 2.249 10.109 13.276 1.00 0.00 O -HETATM 2924 H HOH A 975 3.185 10.308 13.263 1.00 0.00 H -HETATM 2925 H HOH A 975 1.842 10.891 13.651 1.00 0.00 H -HETATM 2926 O HOH A 976 5.089 10.602 13.800 1.00 0.00 O -HETATM 2927 H HOH A 976 5.310 9.761 14.202 1.00 0.00 H -HETATM 2928 H HOH A 976 5.221 11.244 14.497 1.00 0.00 H -HETATM 2929 O HOH A 977 23.989 4.970 18.004 1.00 0.00 O -HETATM 2930 H HOH A 977 24.331 5.140 18.881 1.00 0.00 H -HETATM 2931 H HOH A 977 23.444 5.732 17.806 1.00 0.00 H -HETATM 2932 O HOH A 978 24.512 5.331 20.864 1.00 0.00 O -HETATM 2933 H HOH A 978 24.271 4.455 21.167 1.00 0.00 H -HETATM 2934 H HOH A 978 23.874 5.914 21.276 1.00 0.00 H -HETATM 2935 O HOH A 979 13.266 22.958 27.982 1.00 0.00 O -HETATM 2936 H HOH A 979 12.605 22.845 28.664 1.00 0.00 H -HETATM 2937 H HOH A 979 13.240 23.892 27.774 1.00 0.00 H -HETATM 2938 O HOH A 980 10.867 22.643 29.633 1.00 0.00 O -HETATM 2939 H HOH A 980 10.478 21.893 29.182 1.00 0.00 H -HETATM 2940 H HOH A 980 10.242 23.356 29.500 1.00 0.00 H -HETATM 2941 O HOH A 981 16.978 21.242 11.455 1.00 0.00 O -HETATM 2942 H HOH A 981 16.134 21.694 11.456 1.00 0.00 H -HETATM 2943 H HOH A 981 16.953 20.685 12.233 1.00 0.00 H -HETATM 2944 O HOH A 982 14.636 22.953 11.867 1.00 0.00 O -HETATM 2945 H HOH A 982 15.051 23.804 11.722 1.00 0.00 H -HETATM 2946 H HOH A 982 14.359 22.971 12.783 1.00 0.00 H -HETATM 2947 O HOH A 983 21.319 10.711 22.949 1.00 0.00 O -HETATM 2948 H HOH A 983 20.964 11.482 22.508 1.00 0.00 H -HETATM 2949 H HOH A 983 21.156 10.870 23.879 1.00 0.00 H -HETATM 2950 O HOH A 984 20.716 13.328 21.779 1.00 0.00 O -HETATM 2951 H HOH A 984 21.512 13.441 21.258 1.00 0.00 H -HETATM 2952 H HOH A 984 20.750 14.030 22.429 1.00 0.00 H -HETATM 2953 O HOH A 985 12.673 22.835 5.540 1.00 0.00 O -HETATM 2954 H HOH A 985 12.543 21.894 5.655 1.00 0.00 H -HETATM 2955 H HOH A 985 12.971 22.928 4.636 1.00 0.00 H -HETATM 2956 O HOH A 986 12.849 19.938 5.936 1.00 0.00 O -HETATM 2957 H HOH A 986 13.342 19.934 6.757 1.00 0.00 H -HETATM 2958 H HOH A 986 13.433 19.523 5.302 1.00 0.00 H -HETATM 2959 O HOH A 987 8.445 23.893 1.988 1.00 0.00 O -HETATM 2960 H HOH A 987 8.568 24.101 2.914 1.00 0.00 H -HETATM 2961 H HOH A 987 9.276 23.502 1.718 1.00 0.00 H -HETATM 2962 O HOH A 988 9.122 24.977 4.624 1.00 0.00 O -HETATM 2963 H HOH A 988 8.784 25.866 4.506 1.00 0.00 H -HETATM 2964 H HOH A 988 10.066 25.090 4.736 1.00 0.00 H -HETATM 2965 O HOH A 989 16.315 27.150 3.519 1.00 0.00 O -HETATM 2966 H HOH A 989 16.673 26.611 2.814 1.00 0.00 H -HETATM 2967 H HOH A 989 17.067 27.640 3.852 1.00 0.00 H -HETATM 2968 O HOH A 990 17.608 25.169 1.789 1.00 0.00 O -HETATM 2969 H HOH A 990 17.179 24.382 2.126 1.00 0.00 H -HETATM 2970 H HOH A 990 18.533 25.053 2.004 1.00 0.00 H -HETATM 2971 O HOH A 991 5.855 16.055 19.169 1.00 0.00 O -HETATM 2972 H HOH A 991 6.185 16.613 18.465 1.00 0.00 H -HETATM 2973 H HOH A 991 4.948 16.334 19.293 1.00 0.00 H -HETATM 2974 O HOH A 992 6.901 18.164 17.426 1.00 0.00 O -HETATM 2975 H HOH A 992 7.692 18.381 17.920 1.00 0.00 H -HETATM 2976 H HOH A 992 6.368 18.958 17.461 1.00 0.00 H -HETATM 2977 O HOH A 993 26.188 14.225 23.476 1.00 0.00 O -HETATM 2978 H HOH A 993 26.168 13.326 23.805 1.00 0.00 H -HETATM 2979 H HOH A 993 27.077 14.528 23.660 1.00 0.00 H -HETATM 2980 O HOH A 994 26.080 11.725 25.001 1.00 0.00 O -HETATM 2981 H HOH A 994 25.260 11.878 25.471 1.00 0.00 H -HETATM 2982 H HOH A 994 26.749 11.691 25.684 1.00 0.00 H -HETATM 2983 O HOH A 995 23.580 21.644 27.973 1.00 0.00 O -HETATM 2984 H HOH A 995 24.381 21.128 27.876 1.00 0.00 H -HETATM 2985 H HOH A 995 23.803 22.504 27.615 1.00 0.00 H -HETATM 2986 O HOH A 996 26.210 20.362 28.137 1.00 0.00 O -HETATM 2987 H HOH A 996 26.165 20.057 29.043 1.00 0.00 H -HETATM 2988 H HOH A 996 26.923 21.000 28.131 1.00 0.00 H -HETATM 2989 O HOH A 997 6.964 6.761 5.762 1.00 0.00 O -HETATM 2990 H HOH A 997 6.343 7.069 6.422 1.00 0.00 H -HETATM 2991 H HOH A 997 6.429 6.260 5.145 1.00 0.00 H -HETATM 2992 O HOH A 998 5.096 7.167 7.982 1.00 0.00 O -HETATM 2993 H HOH A 998 5.659 6.874 8.700 1.00 0.00 H -HETATM 2994 H HOH A 998 4.376 6.537 7.967 1.00 0.00 H -HETATM 2995 O HOH A 999 13.458 2.646 1.148 1.00 0.00 O -HETATM 2996 H HOH A 999 13.341 2.796 2.086 1.00 0.00 H -HETATM 2997 H HOH A 999 14.305 2.205 1.079 1.00 0.00 H -HETATM 2998 O HOH A1000 13.472 3.539 3.939 1.00 0.00 O -HETATM 2999 H HOH A1000 13.233 4.456 3.798 1.00 0.00 H -HETATM 3000 H HOH A1000 14.356 3.572 4.302 1.00 0.00 H -HETATM 3001 O HOH A1001 18.811 27.880 8.599 1.00 0.00 O -HETATM 3002 H HOH A1001 18.857 27.051 9.075 1.00 0.00 H -HETATM 3003 H HOH A1001 18.619 27.628 7.695 1.00 0.00 H -HETATM 3004 O HOH A1002 19.474 25.298 9.814 1.00 0.00 O -HETATM 3005 H HOH A1002 20.301 25.543 10.231 1.00 0.00 H -HETATM 3006 H HOH A1002 19.717 24.644 9.160 1.00 0.00 H -HETATM 3007 O HOH A1003 14.571 9.605 6.407 1.00 0.00 O -HETATM 3008 H HOH A1003 14.674 8.709 6.725 1.00 0.00 H -HETATM 3009 H HOH A1003 15.186 10.119 6.931 1.00 0.00 H -HETATM 3010 O HOH A1004 14.565 7.043 7.826 1.00 0.00 O -HETATM 3011 H HOH A1004 13.618 6.927 7.912 1.00 0.00 H -HETATM 3012 H HOH A1004 14.881 7.128 8.726 1.00 0.00 H -HETATM 3013 O HOH A1005 7.195 20.102 26.904 1.00 0.00 O -HETATM 3014 H HOH A1005 6.672 20.324 26.134 1.00 0.00 H -HETATM 3015 H HOH A1005 6.856 19.253 27.188 1.00 0.00 H -HETATM 3016 O HOH A1006 5.187 20.919 24.932 1.00 0.00 O -HETATM 3017 H HOH A1006 5.012 21.802 25.262 1.00 0.00 H -HETATM 3018 H HOH A1006 4.361 20.451 25.045 1.00 0.00 H -HETATM 3019 O HOH A1007 28.740 18.790 16.193 1.00 0.00 O -HETATM 3020 H HOH A1007 28.182 18.435 16.885 1.00 0.00 H -HETATM 3021 H HOH A1007 29.614 18.457 16.394 1.00 0.00 H -HETATM 3022 O HOH A1008 27.267 18.119 18.635 1.00 0.00 O -HETATM 3023 H HOH A1008 26.872 18.975 18.806 1.00 0.00 H -HETATM 3024 H HOH A1008 27.851 17.969 19.378 1.00 0.00 H -HETATM 3025 O HOH A1009 24.731 11.057 19.029 1.00 0.00 O -HETATM 3026 H HOH A1009 25.214 11.652 18.456 1.00 0.00 H -HETATM 3027 H HOH A1009 25.211 11.078 19.857 1.00 0.00 H -HETATM 3028 O HOH A1010 26.582 12.441 17.228 1.00 0.00 O -HETATM 3029 H HOH A1010 26.596 11.801 16.516 1.00 0.00 H -HETATM 3030 H HOH A1010 27.477 12.447 17.567 1.00 0.00 H -HETATM 3031 O HOH A1011 6.946 9.100 7.018 1.00 0.00 O -HETATM 3032 H HOH A1011 6.839 9.440 6.130 1.00 0.00 H -HETATM 3033 H HOH A1011 7.465 9.765 7.470 1.00 0.00 H -HETATM 3034 O HOH A1012 7.163 9.963 4.226 1.00 0.00 O -HETATM 3035 H HOH A1012 7.424 9.127 3.837 1.00 0.00 H -HETATM 3036 H HOH A1012 7.913 10.540 4.085 1.00 0.00 H -HETATM 3037 O HOH A1013 28.814 27.065 19.350 1.00 0.00 O -HETATM 3038 H HOH A1013 28.607 26.220 19.748 1.00 0.00 H -HETATM 3039 H HOH A1013 28.629 26.945 18.419 1.00 0.00 H -HETATM 3040 O HOH A1014 28.688 24.313 20.348 1.00 0.00 O -HETATM 3041 H HOH A1014 29.518 24.295 20.826 1.00 0.00 H -HETATM 3042 H HOH A1014 28.798 23.671 19.647 1.00 0.00 H -HETATM 3043 O HOH A1015 12.706 7.219 10.811 1.00 0.00 O -HETATM 3044 H HOH A1015 11.938 7.176 10.242 1.00 0.00 H -HETATM 3045 H HOH A1015 12.531 7.957 11.395 1.00 0.00 H -HETATM 3046 O HOH A1016 10.598 7.534 8.801 1.00 0.00 O -HETATM 3047 H HOH A1016 11.140 7.478 8.013 1.00 0.00 H -HETATM 3048 H HOH A1016 10.242 8.422 8.788 1.00 0.00 H -HETATM 3049 O HOH A1017 16.815 11.831 19.519 1.00 0.00 O -HETATM 3050 H HOH A1017 17.589 12.315 19.231 1.00 0.00 H -HETATM 3051 H HOH A1017 16.700 12.084 20.435 1.00 0.00 H -HETATM 3052 O HOH A1018 19.474 12.909 18.927 1.00 0.00 O -HETATM 3053 H HOH A1018 19.866 12.124 18.541 1.00 0.00 H -HETATM 3054 H HOH A1018 19.983 13.068 19.721 1.00 0.00 H -END diff --git a/examples/md_ipi/driver.py b/examples/md_ipi/driver.py deleted file mode 100644 index 55ad1d496..000000000 --- a/examples/md_ipi/driver.py +++ /dev/null @@ -1,275 +0,0 @@ -""" ---------------------------------------------------------------------- -|I-PI socket client. -| -|Version: 0.1 -|Program Language: Python 3.6 -|Developer: Xinyan Wang -|Homepage:https://github.com/WangXinyan940/i-pi-driver -| -|Receive coordinate and send force back to i-PI server using socket. -|Read http://ipi-code.org/assets/pdf/manual.pdf for details. ---------------------------------------------------------------------- -""" -import os -import socket -import struct -import numpy as np -import sys - -# CONSTANTS -BOHR = 5.291772108e-11 # Bohr -> m -ANGSTROM = 1e-10 # angstrom -> m -AMU = 1.660539040e-27 # amu -> kg -FEMTO = 1e-15 -PICO = 1e-12 -EH = 4.35974417e-18 # Hartrees -> J -EV = 1.6021766209e-19 # eV -> J -H = 6.626069934e-34 # Planck const -KB = 1.38064852e-23 # Boltzmann const -MOLE = 6.02214129e23 -KJ = 1000.0 -KCAL = 4184.0 -# HEADERS -STATUS = b"STATUS " -NEEDINIT = b"NEEDINIT " -READY = b"READY " -HAVEDATA = b"HAVEDATA " -FORCEREADY = b"FORCEREADY " -# BYTES -INT = 4 -FLOAT = 8 - - -class ExitSignal(BaseException): - pass - - -class TimeOutSignal(BaseException): - pass - -class BaseDriver(object): - """ - Base class of Socket driver. - """ - - def __init__(self, port, addr="127.0.0.1", socket_type='inet'): - if socket_type == 'inet': - self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - elif socket_type == 'unix': - self.socket = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) - else: - sys.exit('Unknown socket type:', socket_type) - self.socket_type = socket_type - self.socket.settimeout(1000) - try: - if socket_type == 'inet': - self.socket.connect((addr, port)) - elif socket_type == 'unix': - print('/tmp/ipi_'+addr) - self.socket.connect('/tmp/ipi_'+addr) - else: - sys.exit('Unknown socket type:', socket_type) - self.socket.settimeout(None) - except socket.timeout as e: - raise TimeOutSignal("Time out, quit.") - self.ifInit = False - self.ifForce = False - self.cell = None - self.inverse = None - self.crd = None - self.energy = None - self.force = None - self.extra = b"" - self.nbead = -1 - self.natom = -1 - - # cell interface added by Kuang - def grad(self, crd, cell): - """ - Calculate gradient. - Need to be rewritten in inheritance. - """ - return None, None - - def update(self, text): - """ - Update system message from INIT motion. - Need to be rewritten in inheritance. - Mostly we don't need it. - """ - pass - - def init(self): - """ - Deal with message from INIT motion. - """ - self.nbead = np.frombuffer( - self.socket.recv(INT * 1), dtype=np.int32)[0] - offset = np.frombuffer(self.socket.recv(INT * 1), dtype=np.int32)[0] - self.update(self.socket.recv(offset)) - self.ifInit = True - - def status(self): - """ - Reply STATUS. - """ - if self.ifInit and not self.ifForce: - self.socket.send(READY) - elif self.ifForce: - self.socket.send(HAVEDATA) - else: - self.socket.send(NEEDINIT) - - def posdata(self): - """ - Read position data. - """ - self.cell = np.frombuffer(self.socket.recv( - FLOAT * 9), dtype=np.float64) * BOHR - self.inverse = np.frombuffer(self.socket.recv( - FLOAT * 9), dtype=np.float64) / BOHR - self.natom = np.frombuffer( - self.socket.recv(INT * 1), dtype=np.int32)[0] - if (self.socket_type == 'unix'): - crd = np.frombuffer(self.socket.recv(FLOAT * 3 * self.natom, socket.MSG_WAITALL), dtype=np.float64) - else: - crd = np.frombuffer(self.socket.recv(FLOAT * 3 * self.natom), dtype=np.float64) - self.crd = crd.reshape((self.natom, 3)) * BOHR - # added by Kuang - self.cell = self.cell.reshape((3, 3)).T - self.inverse = self.inverse.reshape((3, 3)).T - energy, force = self.grad(self.crd, self.cell) - self.energy = energy - self.force = - force - self.ifForce = True - - def getforce(self): - """ - Reply GETFORCE. - """ - self.socket.send(FORCEREADY) - self.socket.send(struct.pack("d", self.energy / EH)) - self.socket.send(struct.pack("i", self.natom)) - for f in self.force.ravel(): - self.socket.send(struct.pack("d", f / (EH / BOHR)) - ) # Force unit: xx - virial = np.diag((self.force * self.crd).sum(axis=0)).ravel() / EH - for v in virial: - self.socket.send(struct.pack("d", v)) - extra = self.extra if len(self.extra) > 0 else b" " - lextra = len(extra) - self.socket.send(struct.pack("i", lextra)) - self.socket.send(extra) - self.ifForce = False - - def exit(self): - """ - Exit. - """ - self.socket.close() - raise ExitSignal() - - def parse(self): - """ - Reply the request from server. - """ - try: - self.socket.settimeout(1000) - header = self.socket.recv(12).strip() - self.socket.settimeout(None) - except socket.timeout as e: - raise TimeOutSignal("Time out, quit.") - if len(header) < 2: - raise TimeOutSignal() - if header == b"STATUS": - self.status() - elif header == b"INIT": - self.init() - elif header == b"POSDATA": - self.posdata() - elif header == b"GETFORCE": - self.getforce() - elif header == b"EXIT": - self.exit() - - -class HarmonicDriver(BaseDriver): - """ - Driver for ideal gas molecule with harmonic potential. - Just for test. - """ - - def __init__(self, port, addr, k): - BaseDriver.__init__(self, port, addr, 'inet') - self.kconst = k * (KJ / MOLE) - - def grad(self, crd, cell): - r = (crd ** 2).sum(axis=1) - energy = (self.kconst * r ** 2).sum() - grad = 2 * self.kconst * crd / r.reshape((-1, 1)) - return energy, grad - - -class GaussDriver(BaseDriver): - """ - Driver for QM calculation with Gaussian. - """ - - def __init__(self, port, addr, template, atoms, path="g09"): - BaseDriver.__init__(self, port, addr, 'inet') - with open(template, "r") as f: - text = f.readlines() - self.template = text - self.atoms = atoms - self.gau = path - - def gengjf(self, crd): - """ - Generate .gjf file. - """ - with open("tmp.gjf", "w") as f: - for line in self.template: - if "[coord]" in line: - for i in range(len(self.atoms)): - f.write("%s %16.8f %16.8f %16.8f\n" % - (self.atoms[i], crd[i, 0], crd[i, 1], crd[i, 2])) - else: - f.write(line) - - def readlog(self): - """ - Get energy and force from .log file. - """ - with open("tmp.log", "r") as f: - text = f.readlines() - natoms = len(self.atoms) - ener = [i for i in text if "SCF Done:" in i] - if len(ener) != 0: - ener = ener[-1] - ener = np.float64(ener.split()[4]) - else: - ener = np.float64( - [i for i in text if "Energy=" in i][-1].split()[1]) - for ni, li in enumerate(text): - if "Forces (Hartrees/Bohr)" in li: - break - forces = text[ni + 3:ni + 3 + natoms] - forces = [i.strip().split()[-3:] for i in forces] - forces = [[np.float64(i[0]), np.float64(i[1]), np.float64(i[2])] - for i in forces] - return ener, - np.array(forces) - - def grad(self, crd, cell): - self.gengjf(crd / ANGSTROM) - os.system("%s tmp.gjf" % self.gau) - energy, grad = self.readlog() - energy = energy * EH - grad = grad * (EH / BOHR) - return energy, grad - - -if __name__ == '__main__': - driver = HarmonicDriver(31415, "127.0.0.1", 100.0) - while True: - driver.parse() diff --git a/examples/md_ipi/forcefield.xml b/examples/md_ipi/forcefield.xml deleted file mode 100644 index 80d68f922..000000000 --- a/examples/md_ipi/forcefield.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/md_ipi/input.xml b/examples/md_ipi/input.xml deleted file mode 100644 index 99babfd50..000000000 --- a/examples/md_ipi/input.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - [ step, time{picosecond}, temperature{kelvin}, potential{kiloj/mol} ] - positions{angstrom} - - - 200000 - - 12345 - - -
unix_dmff
-
- -
unix_eann
-
- - - density_0.03338_init.pdb - 295 - - - - - - - - 0.50 - - 1000 - - - - - 295 - - -
diff --git a/examples/md_ipi/intra.py b/examples/md_ipi/intra.py deleted file mode 100755 index 47d4ad803..000000000 --- a/examples/md_ipi/intra.py +++ /dev/null @@ -1,527 +0,0 @@ -import sys -import numpy as np -import jax.numpy as jnp -from jax import grad, value_and_grad -from dmff.settings import DO_JIT -from dmff.utils import jit_condition -from dmff.admp.spatial import v_pbc_shift -from dmff.admp.pme import ADMPPmeForce -from dmff.admp.parser import * -from jax import vmap -import time -#from admp.multipole import convert_cart2harm -#from jax_md import partition, space - -#const -f5z = 0.999677885 -fbasis = 0.15860145369897 -fcore = -1.6351695982132 -frest = 1.0 -reoh = 0.958649; -thetae = 104.3475; -b1 = 2.0; -roh = 0.9519607159623009; -alphaoh = 2.587949757553683; -deohA = 42290.92019288289; -phh1A = 16.94879431193463; -phh2 = 12.66426998162947; - -c5zA = jnp.array([4.2278462684916e+04, 4.5859382909906e-02, 9.4804986183058e+03, - 7.5485566680955e+02, 1.9865052511496e+03, 4.3768071560862e+02, - 1.4466054104131e+03, 1.3591924557890e+02,-1.4299027252645e+03, - 6.6966329416373e+02, 3.8065088734195e+03,-5.0582552618154e+02, - -3.2067534385604e+03, 6.9673382568135e+02, 1.6789085874578e+03, - -3.5387509130093e+03,-1.2902326455736e+04,-6.4271125232353e+03, - -6.9346876863641e+03,-4.9765266152649e+02,-3.4380943579627e+03, - 3.9925274973255e+03,-1.2703668547457e+04,-1.5831591056092e+04, - 2.9431777405339e+04, 2.5071411925779e+04,-4.8518811956397e+04, - -1.4430705306580e+04, 2.5844109323395e+04,-2.3371683301770e+03, - 1.2333872678202e+04, 6.6525207018832e+03,-2.0884209672231e+03, - -6.3008463062877e+03, 4.2548148298119e+04, 2.1561445953347e+04, - -1.5517277060400e+05, 2.9277086555691e+04, 2.6154026873478e+05, - -1.3093666159230e+05,-1.6260425387088e+05, 1.2311652217133e+05, - -5.1764697159603e+04, 2.5287599662992e+03, 3.0114701659513e+04, - -2.0580084492150e+03, 3.3617940269402e+04, 1.3503379582016e+04, - -1.0401149481887e+05,-6.3248258344140e+04, 2.4576697811922e+05, - 8.9685253338525e+04,-2.3910076031416e+05,-6.5265145723160e+04, - 8.9184290973880e+04,-8.0850272976101e+03,-3.1054961140464e+04, - -1.3684354599285e+04, 9.3754012976495e+03,-7.4676475789329e+04, - -1.8122270942076e+05, 2.6987309391410e+05, 4.0582251904706e+05, - -4.7103517814752e+05,-3.6115503974010e+05, 3.2284775325099e+05, - 1.3264691929787e+04, 1.8025253924335e+05,-1.2235925565102e+04, - -9.1363898120735e+03,-4.1294242946858e+04,-3.4995730900098e+04, - 3.1769893347165e+05, 2.8395605362570e+05,-1.0784536354219e+06, - -5.9451106980882e+05, 1.5215430060937e+06, 4.5943167339298e+05, - -7.9957883936866e+05,-9.2432840622294e+04, 5.5825423140341e+03, - 3.0673594098716e+03, 8.7439532014842e+04, 1.9113438435651e+05, - -3.4306742659939e+05,-3.0711488132651e+05, 6.2118702580693e+05, - -1.5805976377422e+04,-4.2038045404190e+05, 3.4847108834282e+05, - -1.3486811106770e+04, 3.1256632170871e+04, 5.3344700235019e+03, - 2.6384242145376e+04, 1.2917121516510e+05,-1.3160848301195e+05, - -4.5853998051192e+05, 3.5760105069089e+05, 6.4570143281747e+05, - -3.6980075904167e+05,-3.2941029518332e+05,-3.5042507366553e+05, - 2.1513919629391e+03, 6.3403845616538e+04, 6.2152822008047e+04, - -4.8805335375295e+05,-6.3261951398766e+05, 1.8433340786742e+06, - 1.4650263449690e+06,-2.9204939728308e+06,-1.1011338105757e+06, - 1.7270664922758e+06, 3.4925947462024e+05,-1.9526251371308e+04, - -3.2271030511683e+04,-3.7601575719875e+05, 1.8295007005531e+05, - 1.5005699079799e+06,-1.2350076538617e+06,-1.8221938812193e+06, - 1.5438780841786e+06,-3.2729150692367e+03, 1.0546285883943e+04, - -4.7118461673723e+04,-1.1458551385925e+05, 2.7704588008958e+05, - 7.4145816862032e+05,-6.6864945408289e+05,-1.6992324545166e+06, - 6.7487333473248e+05, 1.4361670430046e+06,-2.0837555267331e+05, - 4.7678355561019e+05,-1.5194821786066e+04,-1.1987249931134e+05, - 1.3007675671713e+05, 9.6641544907323e+05,-5.3379849922258e+05, - -2.4303858824867e+06, 1.5261649025605e+06, 2.0186755858342e+06, - -1.6429544469130e+06,-1.7921520714752e+04, 1.4125624734639e+04, - -2.5345006031695e+04, 1.7853375909076e+05,-5.4318156343922e+04, - -3.6889685715963e+05, 4.2449670705837e+05, 3.5020329799394e+05, - 9.3825886484788e+03,-8.0012127425648e+05, 9.8554789856472e+04, - 4.9210554266522e+05,-6.4038493953446e+05,-2.8398085766046e+06, - 2.1390360019254e+06, 6.3452935017176e+06,-2.3677386290925e+06, - -3.9697874352050e+06,-1.9490691547041e+04, 4.4213579019433e+04, - 1.6113884156437e+05,-7.1247665213713e+05,-1.1808376404616e+06, - 3.0815171952564e+06, 1.3519809705593e+06,-3.4457898745450e+06, - 2.0705775494050e+05,-4.3778169926622e+05, 8.7041260169714e+03, - 1.8982512628535e+05,-2.9708215504578e+05,-8.8213012222074e+05, - 8.6031109049755e+05, 1.0968800857081e+06,-1.0114716732602e+06, - 1.9367263614108e+05, 2.8678295007137e+05,-9.4347729862989e+04, - 4.4154039394108e+04, 5.3686756196439e+05, 1.7254041770855e+05, - -2.5310674462399e+06,-2.0381171865455e+06, 3.3780796258176e+06, - 7.8836220768478e+05,-1.5307728782887e+05,-3.7573362053757e+05, - 1.0124501604626e+06, 2.0929686545723e+06,-5.7305706586465e+06, - -2.6200352535413e+06, 7.1543745536691e+06,-1.9733601879064e+04, - 8.5273008477607e+04, 6.1062454495045e+04,-2.2642508675984e+05, - 2.4581653864150e+05,-9.0376851105383e+05,-4.4367930945690e+05, - 1.5740351463593e+06, 2.4563041445249e+05,-3.4697646046367e+03, - -2.1391370322552e+05, 4.2358948404842e+05, 5.6270081955003e+05, - -8.5007851251980e+05,-6.1182429537130e+05, 5.6690751824341e+05, - -3.5617502919487e+05,-8.1875263381402e+02,-2.4506258140060e+05, - 2.5830513731509e+05, 6.0646114465433e+05,-6.9676584616955e+05, - 5.1937406389690e+05, 1.7261913546007e+05,-1.7405787307472e+04, - -3.8301842660567e+05, 5.4227693205154e+05, 2.5442083515211e+06, - -1.1837755702370e+06,-1.9381959088092e+06,-4.0642141553575e+05, - 1.1840693827934e+04,-1.5334500255967e+05, 4.9098619510989e+05, - 6.1688992640977e+05, 2.2351144690009e+05,-1.8550462739570e+06, - 9.6815110649918e+03,-8.1526584681055e+04,-8.0810433155289e+04, - 3.4520506615177e+05, 2.5509863381419e+05,-1.3331224992157e+05, - -4.3119301071653e+05,-5.9818343115856e+04, 1.7863692414573e+03, - 8.9440694919836e+04,-2.5558967650731e+05,-2.2130423988459e+04, - 4.4973674518316e+05,-2.2094939343618e+05]) - -cbasis = jnp.array([6.9770019624764e-04,-2.4209870001642e+01, 1.8113927151562e+01, - 3.5107416275981e+01,-5.4600021126735e+00,-4.8731149608386e+01, - 3.6007189184766e+01, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - -7.7178474355102e+01,-3.8460795013977e+01,-4.6622480912340e+01, - 5.5684951167513e+01, 1.2274939911242e+02,-1.4325154752086e+02, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00,-6.0800589055949e+00, - 8.6171499453475e+01,-8.4066835441327e+01,-5.8228085624620e+01, - 2.0237393793875e+02, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 3.3525582670313e+02, 7.0056962392208e+01,-4.5312502936708e+01, - -3.0441141194247e+02, 2.8111438108965e+02, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00,-1.2983583774779e+02, 3.9781671212935e+01, - -6.6793945229609e+01,-1.9259805675433e+02, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00,-8.2855757669957e+02,-5.7003072730941e+01, - -3.5604806670066e+01, 9.6277766002709e+01, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 8.8645622149112e+02,-7.6908409772041e+01, - 6.8111763314154e+01, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 2.5090493428062e+02,-2.3622141780572e+02, 5.8155647658455e+02, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 2.8919570295095e+03, - -1.7871014635921e+02,-1.3515667622500e+02, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00,-3.6965613754734e+03, 2.1148158286617e+02, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00,-1.4795670139431e+03, - 3.6210798138768e+02, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - -5.3552886800881e+03, 3.1006384016202e+02, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 1.6241824368764e+03, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 4.3764909606382e+03, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 1.0940849243716e+03, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 3.0743267832931e+03, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00]) - -ccore = jnp.array([2.4332191647159e-02,-2.9749090113656e+01, 1.8638980892831e+01, - -6.1272361746520e+00, 2.1567487597605e+00,-1.5552044084945e+01, - 8.9752150543954e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - -3.5693557878741e+02,-3.0398393196894e+00,-6.5936553294576e+00, - 1.6056619388911e+01, 7.8061422868204e+01,-8.6270891686359e+01, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00,-3.1688002530217e+01, - 3.7586725583944e+01,-3.2725765966657e+01,-5.6458213299259e+00, - 2.1502613314595e+01, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 5.2789943583277e+02,-4.2461079404962e+00,-2.4937638543122e+01, - -1.1963809321312e+02, 2.0240663228078e+02, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00,-6.2574211352272e+02,-6.9617539465382e+00, - -5.9440243471241e+01, 1.4944220180218e+01, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00,-1.2851139918332e+03,-6.5043516710835e+00, - 4.0410829440249e+01,-6.7162452402027e+01, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 1.0031942127832e+03, 7.6137226541944e+01, - -2.7279242226902e+01, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - -3.3059000871075e+01, 2.4384498749480e+01,-1.4597931874215e+02, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 1.6559579606045e+03, - 1.5038996611400e+02,-7.3865347730818e+01, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00,-1.9738401290808e+03,-1.4149993809415e+02, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00,-1.2756627454888e+02, - 4.1487702227579e+01, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - -1.7406770966429e+03,-9.3812204399266e+01, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00,-1.1890301282216e+03, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 2.3723447727360e+03, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00,-1.0279968223292e+03, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 5.7153838472603e+02, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00]) - -crest = jnp.array([ 0.0000000000000e+00,-4.7430930170000e+00,-1.4422132560000e+01, - -1.8061146510000e+01, 7.5186735000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - -2.7962099800000e+02, 1.7616414260000e+01,-9.9741392630000e+01, - 7.1402447000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00,-7.8571336480000e+01, - 5.2434353250000e+01, 7.7696745000000e+01, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 1.7799123760000e+02, 1.4564532380000e+02, 2.2347226000000e+02, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00,-4.3823284100000e+02,-7.2846553000000e+02, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00,-2.6752313750000e+02, 3.6170310000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00, 0.0000000000000e+00, - 0.0000000000000e+00, 0.0000000000000e+00]) - -idx1 = jnp.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 5, - 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, - 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, - 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, - 9, 9, 9, 9, 9]) - -idx2 = jnp.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, - 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, - 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, - 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, - 1, 1, 1, 1, 1]) - -idx3 = jnp.array([1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15, 1, 2, 3, 4, 5, - 6, 7, 8, 9,10,11,12,13,14, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11, - 12,13, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13, 1, 2, 3, 4, 5, - 6, 7, 8, 9,10,11,12, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12, 1, - 2, 3, 4, 5, 6, 7, 8, 9,10,11, 1, 2, 3, 4, 5, 6, 7, 8, 9,10, - 11, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11, 1, 2, 3, 4, 5, 6, 7, 8, - 9,10, 1, 2, 3, 4, 5, 6, 7, 8, 9,10, 1, 2, 3, 4, 5, 6, 7, 8, - 9,10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, - 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, - 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, - 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, - 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 1, 2, - 3, 4, 5, 6, 7]) - -matrix1 = np.zeros((245,16)) -matrix2 = np.zeros((245,16)) -matrix3 = np.zeros((245,16)) -for i in range(245): - a = int(idx1[i]) - b = int(idx2[i]) - c = int(idx3[i]) - list1 = np.zeros(16) - list2 = np.zeros(16) - list3 = np.zeros(16) - list1[a] = 1 - list2[b] = 1 - list3[c] = 1 - matrix1[i] = list1 - matrix2[i] = list2 - matrix3[i] = list3 - -c5z = jnp.zeros(245) -for i in range(245): - c5z = c5z.at[i].set(f5z*c5zA[i] + fbasis*cbasis[i]+ fcore*ccore[i] + frest*crest[i]) -deoh = f5z*deohA -phh1 = f5z*phh1A*jnp.exp(phh2) -costhe = -0.24780227221366464506 - -Eh_J = 4.35974434e-18 -Na = 6.02214129e+23 -kcal_J = 4184.0 -c0 = 299792458.0 -h_Js = 6.62606957e-34 -cal2joule = 4.184 -Eh_kcalmol = Eh_J*Na/kcal_J -Eh_cm1 = 1.0e-2*Eh_J/(c0*h_Js) -cm1_kcalmol = Eh_kcalmol/Eh_cm1 - - -## compute intra -def onebodyenergy(positions, box): - box_inv = jnp.linalg.inv(box) - O = positions[::3] - H1 = positions[1::3] - H2 = positions[2::3] - ROH1 = H1 - O - ROH2 = H2 - O - RHH = H1 - H2 - ROH1 = v_pbc_shift(ROH1, box, box_inv) - ROH2 = v_pbc_shift(ROH2, box, box_inv) - RHH = v_pbc_shift(RHH, box, box_inv) - dROH1 = jnp.linalg.norm(ROH1, axis=1) - dROH2 = jnp.linalg.norm(ROH2, axis=1) - dRHH = jnp.linalg.norm(RHH, axis=1) - costh = jnp.sum(ROH1 * ROH2, axis=1) / (dROH1 * dROH2) - exp1 = jnp.exp(-alphaoh*(dROH1 - roh)) - exp2 = jnp.exp(-alphaoh*(dROH2 - roh)) - Va = deoh*(exp1*(exp1 - 2.0) + exp2*(exp2 - 2.0)) - Vb = phh1*jnp.exp(-phh2*dRHH) - x1 = (dROH1 - reoh)/reoh - x2 = (dROH2 - reoh)/reoh - x3 = costh - costhe - efac = jnp.exp(-b1*(dROH1 - reoh)**2 + (dROH2 - reoh)**2) - energy = jnp.sum(onebody_kernel(x1, x2, x3, Va, Vb, efac)) - return energy - - - -@vmap -@jit_condition(static_argnums={}) -def onebody_kernel(x1, x2, x3, Va, Vb, efac): - a = jnp.arange(-1,15) - a = a.at[0].set(0) - const = jnp.array([0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) - CONST = jnp.array([const,const,const]) - #list1 = jnp.array([x1**i for i in range(-1, 15)]) - #list2 = jnp.array([x2**i for i in range(-1, 15)]) - #list3 = jnp.array([x3**i for i in range(-1, 15)]) - list1 = jnp.array([x1**i for i in a]) - list2 = jnp.array([x2**i for i in a]) - list3 = jnp.array([x3**i for i in a]) - fmat = jnp.array([list1, list2, list3]) - fmat *= CONST - F1 = jnp.sum(fmat[0].T * matrix1, axis=1) # fmat[0][inI] 1*245 - F2 = jnp.sum(fmat[1].T * matrix2, axis=1) #fmat[1][inJ] 1*245 - F3 = jnp.sum(fmat[0].T * matrix2, axis=1) #fmat[0][inJ] 1*245 - F4 = jnp.sum(fmat[1].T * matrix1, axis=1) #fmat[1][inI] 1*245 - F5 = jnp.sum(fmat[2].T * matrix3, axis=1) #fmat[2][inK] 1*245 - total = c5z * (F1*F2 + F3*F4)* F5 - sum0 = jnp.sum(total[1:245]) - Vc = 2*c5z[0] + efac*sum0 - e1 = Va + Vb + Vc - e1 += 0.44739574026257 - e1 *= cm1_kcalmol - e1 *= cal2joule # conver cal 2 j - return e1 - - -def validation(pdb): - xml = 'pol.xml' - pdbinfo = read_pdb(pdb) - serials = pdbinfo['serials'] - names = pdbinfo['names'] - resNames = pdbinfo['resNames'] - resSeqs = pdbinfo['resSeqs'] - positions = pdbinfo['positions'] - box = pdbinfo['box'] # a, b, c, α, β, γ - charges = pdbinfo['charges'] - positions = jnp.asarray(positions) - lx, ly, lz, _, _, _ = box - box = jnp.eye(3)*jnp.array([lx, ly, lz]) - - mScales = jnp.array([0.0, 0.0, 0.0, 1.0, 1.0]) - pScales = jnp.array([0.0, 0.0, 0.0, 1.0, 1.0]) - dScales = jnp.array([0.0, 0.0, 0.0, 1.0, 1.0]) - rc = 4 # in Angstrom - ethresh = 1e-4 - n_atoms = len(serials) - - # compute intra - ene = onebodyenergy(positions, box) - print(ene) - return - -# below is the validation code -if __name__ == '__main__': - validation(sys.argv[1]) - - diff --git a/examples/md_ipi/model6.py b/examples/md_ipi/model6.py deleted file mode 100755 index 3e7b797cc..000000000 --- a/examples/md_ipi/model6.py +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/env python -import sys -import numpy as np -import jax.numpy as jnp -from dmff.utils import jit_condition -from dmff.admp.parser import * -from dmff.admp.spatial import v_pbc_shift -import linecache -from dmff.settings import DO_JIT -from jax import jit -def get_line_context(file_path, line_number): - return linecache.getline(file_path,line_number).strip() - -def gen_trim_val_0(thresh): - ''' - Trim the value at zero point to avoid singularity - ''' - def trim_val_0(x): - return jnp.piecewise(x, [x=thresh], [lambda x: jnp.array(thresh), lambda x: x]) - if DO_JIT: - return jit(trim_val_0) - else: - return trim_val_0 - -trim_val_0 = gen_trim_val_0(1e-8) - -@jit_condition(static_argnums=()) -def compute_leading_terms(positions,box): - n_atoms = len(positions) - c0 = jnp.zeros(n_atoms) - c6_list = jnp.zeros(n_atoms) - box_inv = jnp.linalg.inv(box) - O = positions[::3] - H1 = positions[1::3] - H2 = positions[2::3] - ROH1 = H1 - O - ROH2 = H2 - O - ROH1 = v_pbc_shift(ROH1, box, box_inv) - ROH2 = v_pbc_shift(ROH2, box, box_inv) - dROH1 = jnp.linalg.norm(ROH1, axis=1) - dROH2 = jnp.linalg.norm(ROH2, axis=1) - costh = jnp.sum(ROH1 * ROH2, axis=1) / (dROH1 * dROH2) - angle = jnp.arccos(costh)*180/jnp.pi - dipole1 = -0.016858755+0.002287251*angle + 0.239667591*dROH1 + (-0.070483437)*dROH2 - charge_H1 = dipole1/dROH1 - dipole2 = -0.016858755+0.002287251*angle + 0.239667591*dROH2 + (-0.070483437)*dROH1 - charge_H2 = dipole2/dROH2 - charge_O = -(charge_H1 + charge_H2) - C6_H1 = (-2.36066199 + (-0.007049238)*angle + 1.949429648*dROH1+ 2.097120784*dROH2) * 0.529**6 * 2625.5 - C6_H2 = (-2.36066199 + (-0.007049238)*angle + 1.949429648*dROH2+ 2.097120784*dROH1) * 0.529**6 * 2625.5 - C6_O = (-8.641301261 + 0.093247893*angle + 11.90395358*(dROH1+ dROH2)) * 0.529**6 * 2625.5 - C6_H1 = trim_val_0(C6_H1) - C6_H2 = trim_val_0(C6_H2) - c0 = c0.at[::3].set(charge_O) - c0 = c0.at[1::3].set(charge_H1) - c0 = c0.at[2::3].set(charge_H2) - c6_list = c6_list.at[::3].set(jnp.sqrt(C6_O)) - c6_list = c6_list.at[1::3].set(jnp.sqrt(C6_H1)) - c6_list = c6_list.at[2::3].set(jnp.sqrt(C6_H2)) - return c0, c6_list - diff --git a/examples/md_ipi/para/W_H1 b/examples/md_ipi/para/W_H1 deleted file mode 100644 index 850aa1354..000000000 --- a/examples/md_ipi/para/W_H1 +++ /dev/null @@ -1,1190 +0,0 @@ - 36 - 20 - 20 - 1 -rmse= 0.2827meV - -4.789981912896093E-003 - 2.601712817495401E-002 - 7.177088672753588E-002 - 0.319231933087959 - -0.244468129629307 - -0.138893084071211 - 0.148967447574468 - 0.425063263026260 - 0.218213303432323 - -0.126508907601690 - 3.955085427073645E-003 - 2.382527756919179E-002 - 0.277241811165214 - -0.262331648308007 - 0.291417794546004 - -7.465529512094154E-002 - 0.303048954139777 - -0.108004607393247 - -0.277594785593067 - 0.215709497417771 - -0.280688968556576 - 0.392842656836281 - -0.144209148304637 - -3.072156610542471E-002 - 8.366858359921139E-002 - -3.081317813895384E-002 - -6.463281553725382E-002 - 0.482328290627450 - -0.126037204382704 - 0.270552559658846 - 6.969163681461361E-002 - -0.363344903906448 - -1.035183374744202E-002 - 8.264653853822491E-002 - -0.134422473115995 - 4.278473924772760E-002 - -0.245380010732097 - -0.121446084139664 - -0.255443995224774 - 0.401377785453352 - -0.873727887593904 - 0.179489377360612 - -0.143665394045396 - -0.406908813196252 - 0.205016059794797 - 0.227770523077870 - -0.140897036154962 - 0.408751473068935 - 0.340368412954002 - -0.297603206246562 - -2.407680172264308E-002 - 0.371599579738526 - 8.978848457197751E-002 - 0.352697950925972 - -0.379807641781752 - 0.352526636861549 - -0.110342476506800 - -0.182917766717350 - -7.396548716886238E-002 - 8.115399009232215E-002 - 0.289616046653723 - 1.237886136644602E-002 - 6.956090318716492E-003 - 0.431709439961793 - 0.498231833698017 - -8.144115485113097E-002 - -0.250860177973019 - 0.179507082097098 - 0.182365367238169 - 0.175438822282023 - 0.292410300304453 - 0.243199323812246 - -3.919048432227457E-002 - -0.106827738420059 - -0.287355523088430 - -3.041811436504157E-002 - 0.144610113305659 - -0.142161888079626 - 9.250491341909144E-002 - -0.250890611023168 - 7.878443965984219E-002 - 0.351099011224754 - -0.281244219410643 - 0.291533284479789 - 0.342973205847213 - -0.147134665576427 - -0.182202845395540 - -5.967177159171540E-002 - 0.248598162834453 - -0.330144224470510 - -5.760942661473524E-003 - -8.294401266939180E-002 - 0.119631562822566 - -5.749735945781060E-003 - -0.159399408542193 - 3.302035736997092E-002 - 0.147140190686344 - 0.451610480070388 - -0.209983123452182 - 0.117465213239188 - -0.160595291306693 - 0.124872016486052 - 0.189892231884180 - -0.398463966151838 - -0.354799384619394 - 1.496247517562958E-002 - -8.732303005577337E-002 - -0.466119023753078 - -0.345211079831658 - 0.654893135054681 - -9.048825189449780E-002 - -0.196671887473171 - -0.141287337893326 - -4.764036664237563E-002 - -0.292643788857994 - 9.716562515631084E-002 - -8.547725887480662E-002 - -8.693228510769499E-003 - 8.834210322986362E-002 - -5.272020024912155E-002 - -0.214122364811111 - 8.140138596624152E-002 - 9.513773694415111E-002 - 6.259128996582128E-002 - -9.928443406992610E-002 - 4.358583547639941E-002 - 0.164963508824892 - -0.141562144651525 - 0.302035939736765 - -0.274875790065491 - -0.100003775331298 - -1.027842905133162E-002 - -1.919396645457028E-002 - -0.121018882856359 - 0.201225941266914 - -3.753788539233111E-003 - 9.297202373763408E-002 - 9.502679682746426E-002 - -3.267468803153684E-002 - -9.763182289248277E-003 - 5.925323430925360E-002 - -8.336602992808222E-002 - 0.120748081193231 - -4.079650263676409E-002 - 0.197612161238311 - -0.334866201812346 - 0.257170679139696 - 0.597506641332411 - 0.257028387100897 - -7.532842933757773E-002 - -0.183594457248949 - 0.361466329270594 - 0.547081296307202 - -0.610680630354371 - 0.435099160356061 - -4.452663852844328E-002 - -0.337702698298735 - -8.616304546991632E-002 - -0.129217394733824 - -9.794193393794084E-002 - 0.738423123263050 - -0.447425033857188 - 9.196212190195142E-002 - -6.416685503888830E-002 - -0.168328556357087 - 0.404989907433994 - -0.218478780530705 - -0.107805687136599 - 0.450771943147289 - 1.139096987387576E-002 - -0.438062974076578 - -0.196293835349989 - -0.511601219766154 - 0.738211460512076 - -0.131307710483319 - 6.051231562563168E-002 - -0.158670844723832 - 0.165930000708540 - 0.128513059434746 - 8.466376600162515E-002 - 0.126504087283011 - 0.239592199724477 - -0.346966626202360 - 0.129880105631188 - -0.260766538093417 - 0.320567274971247 - -0.529261880993635 - -9.956131811752979E-002 - 1.007584787883459E-002 - 0.415859012575678 - -0.190911466236236 - 0.470645015790581 - 0.190478369514247 - -0.355644446847758 - 0.442155008884079 - -0.281793240573865 - 0.661632897974437 - -0.351600600203899 - -9.574956769428927E-002 - -0.313191874169050 - 0.251681786876907 - -5.853080132184811E-002 - -0.157576050330764 - -0.297257488058856 - -0.105772245574053 - 0.445831494845318 - -0.109092887493421 - -0.116695136325900 - 0.361971755903668 - -0.305214186247469 - 0.250452326740598 - -0.132847654489064 - -0.221201433396490 - -7.306001776783130E-002 - -3.284488272250149E-002 - -7.821312959004581E-002 - -0.219900078983582 - -0.237572179698442 - -1.849386415801999E-002 - -0.170555955131522 - 0.182190032856285 - 0.369858070053124 - 0.251650563972977 - -0.623394158879286 - -1.109740885363751E-003 - 6.630042343719110E-002 - -8.212909419574847E-002 - 0.221356093703385 - 0.373545340403705 - -9.708549181411429E-002 - 0.386785347587956 - -0.226716431858115 - -2.237244055151469E-002 - -3.816829971940571E-002 - -0.254613659818042 - 0.223509201265831 - -0.318773354148630 - 3.422659285771255E-002 - 0.142762650512544 - -0.180149975699789 - -3.149356537648519E-002 - 8.553340880791832E-002 - 0.103950719124364 - 0.256182927420736 - -0.209346574235609 - -3.851019263820696E-002 - -0.249256933687307 - 0.164221735658849 - -2.935194404021805E-002 - 0.276158687202607 - -0.503266394080378 - -4.596460823362983E-002 - -0.492213947101389 - -3.809947934225447E-002 - -4.902087388502744E-002 - 0.402342791140566 - -0.154587458330897 - -0.342422561623840 - 0.106283028155064 - -0.507785639958946 - -0.221395153102358 - -0.286927949977038 - 5.616619415961283E-002 - -0.410025184900352 - 0.208018063182966 - -0.194026392027086 - 0.256313520301357 - -0.416400917005912 - 0.371362603826486 - -0.555086148940217 - 0.383935603713189 - 1.810114826184337E-003 - -0.392268454169021 - 0.320463452037751 - 0.221456894338823 - -5.568456746726792E-002 - 4.749759722583365E-002 - -0.364146377391985 - 0.138068511617714 - -0.324883377202400 - -0.112273976298093 - 0.373269146000424 - -0.379958735487959 - 0.382032787728859 - 0.469457639890030 - 0.130903473200922 - -0.102855498453325 - 0.761361274133325 - 0.172730757897127 - 0.320402224670441 - -0.472801607678333 - -0.414702488106923 - -8.750193610848901E-002 - 0.442448176551418 - -4.418193718576289E-002 - 0.595487433500720 - 0.445758196864644 - -0.414266711940192 - 0.235788038498454 - 0.570150894445581 - 0.640841549977598 - -0.284550485072350 - 0.117391364306438 - 0.499146165927833 - -0.690307843443765 - 0.599273938848321 - -0.426313725013413 - -5.607627993153017E-002 - 0.141255057557540 - -0.485302539427552 - -3.370293322802651E-002 - -2.738916936011650E-002 - 5.892219090973237E-002 - 0.251137551510346 - 0.256483340670952 - 0.300286524004349 - 0.101003662289550 - -0.223575095432926 - -5.175646963697823E-002 - 0.333848574305564 - 0.101394705310730 - 0.356694731344472 - 0.457290248823100 - -0.352562973497741 - -2.796722606306037E-002 - 0.218824777787927 - 0.185854255592794 - -0.411947967568555 - 0.123624104721754 - 0.150063999051324 - -0.262907127637351 - 0.496027143721725 - 3.794571647589503E-002 - -5.484058565090496E-002 - -4.004188654401464E-002 - -0.337431082006165 - -2.642249863338266E-002 - 3.177276305743670E-003 - -0.436373917294171 - 0.308965672024171 - 0.359600415739867 - -0.185146019161959 - 0.256442183208361 - -0.105203737699423 - 8.347570364924747E-002 - 0.596697847657087 - -0.219886975556308 - 0.337237681889455 - 0.241101068194019 - -3.224032862352678E-003 - 0.110435664078767 - 3.791353435833221E-002 - 0.100400609608104 - 2.647341775274994E-002 - 0.244298457232676 - -0.109882366606533 - -0.549313158973782 - -8.319704053432943E-002 - 0.493781617377590 - -0.366416701762849 - -0.366087326989320 - -9.820613464587234E-002 - 0.110243412733455 - 0.429051581810751 - -3.365611299489960E-002 - -6.658974202188882E-002 - -0.318536808012946 - 0.172017264249829 - 7.590468325556836E-002 - -0.246468517832872 - 5.759712026643876E-002 - 3.739127372905911E-002 - 0.224698021771192 - 0.146021960876687 - -0.172289119406370 - 6.922281695445623E-002 - -0.176866839834009 - -0.151650723972093 - 0.193211915516649 - -4.572846763464193E-002 - -0.120206773988865 - 0.447607884932364 - -0.125869690897522 - -8.190080406156842E-002 - -0.332751656677356 - -0.514768677983420 - 0.167971652705183 - 9.224813376121253E-002 - 0.118442184457351 - -0.223996797825843 - 0.418403363622521 - -0.530711567603216 - 0.183824146977764 - -0.587814630349971 - -0.755284978519597 - -1.293952978628327E-002 - -0.177389345669513 - 0.111938200008658 - -0.194565352107399 - 0.197100942405755 - -0.761427335185504 - 0.108989393473146 - 0.158894247317318 - -0.289921807290953 - 1.655152354848048E-002 - 0.324314325997191 - -0.200881918430356 - 0.695782525693037 - -0.216280542043800 - 0.540414764849225 - 7.030184187497796E-002 - 8.811512211509623E-003 - 0.223020424270896 - 0.283799381491781 - -0.314997328637819 - 0.364001189670105 - -0.438252951788418 - 0.172969031648820 - -0.254614979395116 - 9.310020637076906E-002 - -0.226197417853812 - -0.148571018704240 - 0.611958417242363 - 0.602425263867258 - -3.606838139924781E-002 - 0.241699690548746 - -0.270000030290346 - 0.190696271552929 - 0.587049912734981 - -0.500276445895215 - 0.281557797976022 - 0.210004562319845 - -1.859023719225172E-002 - 0.300158950451516 - -0.328773221481419 - -0.343264454768967 - -0.274868277451773 - 0.111161320641928 - -0.227276414121577 - 0.164979166813635 - -0.253846610087585 - 0.341006077154224 - -0.316676873115832 - -0.273392376240058 - 0.205541975600503 - -2.887835105979877E-002 - -0.451194591964636 - 0.178341087611095 - 5.446715126918127E-002 - -4.833751520083689E-003 - 0.251976887840658 - -0.335677653330739 - 0.516138503290918 - -0.632055419590290 - 0.566122511368963 - 0.105181425131634 - 0.568070534291355 - 0.121632022709034 - 0.178031369772608 - -3.339914446255540E-002 - 0.442556718586403 - 8.762329922260471E-002 - -0.127870296519727 - 0.200235241877891 - -0.330993659239278 - 0.498129864293210 - 0.356873117134229 - 5.820072695588762E-002 - -7.995568716824303E-002 - 2.811695631083148E-002 - -0.112299648615974 - 0.118556497981332 - -0.365409021522486 - -8.925529467354396E-004 - -0.381846245047492 - 0.248229054530822 - 0.198126910965530 - -0.209606458353995 - 4.447710239398559E-002 - 0.113121106749801 - 0.368937068146341 - -0.532458261496717 - 8.372186010046249E-002 - 0.127025573402612 - -0.175763435265986 - -0.218464686637005 - 0.175124228508183 - -0.293802486205128 - 0.160100924482259 - -6.660310928607836E-002 - 8.296788398794282E-003 - -0.102949666308491 - 4.405860451045772E-002 - 2.654936371088042E-002 - -0.103349176236722 - -1.844333284929836E-002 - 0.285118697579077 - -6.035240140845731E-002 - 7.135811962831434E-002 - -0.189165184071275 - 0.166968403251829 - 7.324409547752135E-002 - 2.539317353637070E-002 - 4.820877465981008E-002 - 0.174088866404622 - 6.393129299166207E-002 - -0.139831075237072 - 0.365052478703494 - 8.232631682691175E-003 - 0.172798175006276 - -0.351425288181019 - -0.195876758683075 - 0.185116839406001 - 5.519731539891376E-002 - -7.913417096509309E-002 - 0.197491795244719 - -0.421655357664377 - 0.447371424818931 - -0.191470659609039 - -0.284844129316373 - 9.319410913600232E-002 - -0.239703115719557 - -1.874059863203474E-002 - -0.136154011892303 - -6.866105296781720E-002 - -0.119089342050611 - 0.262648370191013 - -0.215508726832493 - -0.225136800307827 - -0.208874172660142 - 2.810263733630423E-002 - -0.396798938336590 - -0.322577647899472 - 1.557827788514611E-002 - 2.686876652401485E-002 - -3.754449746440540E-002 - -6.613924207739974E-002 - 0.373546464874448 - -0.395834024706278 - -0.109646529659248 - -0.314679380514139 - -0.315602543553869 - 0.143949227018318 - 2.782817309311565E-002 - 4.445972794703931E-002 - -0.367358963844668 - 8.831798886303337E-002 - -0.564831056602793 - -3.502164403071140E-002 - 8.208055342734982E-002 - -1.120524411621067E-003 - 0.197787046156706 - 0.169292129159765 - 0.218300688929549 - 9.813803964978079E-002 - -0.228670273075953 - 0.128618531074046 - 0.389817649030299 - -0.136400903166751 - -5.240908141333676E-002 - 0.596819056157352 - -0.102962190514526 - -0.282035699099046 - -0.158533958426421 - -0.261032026160173 - -0.235509217578677 - 0.108314258455715 - 0.138309698997853 - -0.301741163533504 - -0.349066284769093 - 0.393132448822975 - -0.114922411594838 - -0.908073834336554 - 0.300781574788433 - -0.187184704189776 - -0.249564257576445 - 0.311256796901531 - -0.261652738616225 - -0.230345274039907 - -6.167789715429341E-002 - 0.108502653014210 - 0.324747839450804 - 3.953574310754269E-002 - -8.184816635318556E-002 - -1.428558766958764E-002 - -1.102549706817465E-002 - 8.374855544310260E-002 - 4.115852612080965E-002 - -2.378456465709508E-002 - -4.510433065426736E-002 - 0.106224410770566 - 0.125622465010559 - -0.370186446381342 - 0.333881054996001 - 3.461611620494032E-002 - -6.163166766275549E-003 - 3.890675092234622E-002 - 1.953361044321072E-002 - -0.123224584937490 - 8.788866062587750E-003 - -3.375292636082591E-002 - 0.347223383088098 - -0.389723119822766 - 4.293654459467772E-002 - -3.277074693722760E-003 - -0.140090652467041 - -3.310677195979352E-002 - 0.198536016253800 - 1.043519790788435E-002 - -0.197680263987690 - 2.926546903372981E-002 - -4.614232636874734E-002 - 0.177957811268195 - 6.400260122867990E-002 - -1.309415958844455E-002 - 0.505304088460069 - -0.397666944391384 - -0.184348587705275 - -8.128484822862786E-002 - 0.266756236297920 - 0.112011445401901 - -2.256327104198297E-003 - 9.941566026041310E-002 - 7.435209903775561E-004 - -0.396365945994961 - 0.175624527973096 - -0.128100969573214 - 9.159740400881775E-002 - -0.139474076665823 - 0.245016521402341 - -0.226369579746375 - 8.293170625218481E-002 - 8.408628313309638E-003 - 4.824606821895917E-002 - 0.142599393413771 - -0.152853582843392 - -6.539341319928518E-002 - -0.397271917828162 - 4.519636869627809E-002 - 0.210327661105940 - -0.128075242347946 - -0.250524873684394 - 0.254691952862642 - -0.368403395917334 - -2.070516467577550E-002 - -0.113773432978633 - -0.285046191412414 - 2.802047372625420E-002 - -0.186023028469096 - 0.110429052686463 - 0.327336747160009 - 0.493563801886734 - -0.355305444783639 - 3.233054945163694E-002 - -0.214072589626728 - -5.055883599434113E-002 - 6.769499120238751E-002 - 0.120022388212489 - 7.286424208510930E-002 - -0.147003347463992 - -2.526573891317184E-003 - -0.275215320239544 - -0.249842912421994 - 0.412220788078217 - -9.828494800506146E-002 - 0.210147409721110 - -7.597590832090310E-002 - -0.173006967615512 - 0.338721276551354 - -0.180474018742821 - 0.320988008328580 - -0.307278436922419 - 0.287277939775349 - -0.740882225414385 - 0.285178575987694 - 7.329130994151981E-002 - -0.118977804126161 - 0.123370086579186 - -4.167959093091122E-002 - -0.112653364838827 - -0.397460363657802 - 0.344799840253929 - -0.270577591737138 - 0.125411583595170 - -0.109803474713343 - 0.650059364123725 - 0.469195755526979 - -0.295849670610607 - 1.741914394862917E-004 - 0.298492814130559 - 0.217609235124022 - 0.223042580845954 - 0.455918015515439 - -0.839141567130635 - 0.436454148712012 - -0.104056072879579 - -0.397531569736387 - -1.164392919139695E-002 - -0.256941429668776 - 0.285751609549652 - -4.901891772307521E-002 - -7.203422184422173E-002 - -7.358457024280771E-002 - 0.164386801834340 - -0.322797422051962 - 0.575428870728854 - -0.140978683798493 - 2.135848952076777E-002 - -0.223929588087022 - -0.415097892855194 - 0.521176351096266 - 0.372891687669331 - -0.402858831430615 - 6.529312160856054E-002 - -0.146706521125124 - -8.736718401651422E-002 - 0.222137858698441 - -5.134353347901305E-002 - 0.160432971080796 - 0.156653197974947 - - -0.925741108651053 - -0.454293480036671 - 0.408030128032084 - 0.879836071852357 - -0.978423353813088 - 6.567151236149117E-002 - -9.105059046087857E-002 - 0.345239723762700 - -0.151040587562139 - -1.03571733248379 - 1.236521428245978E-002 - -0.532143785676692 - 3.201164594274797E-002 - 1.28046550681507 - 1.38174034852983 - 0.423795704166706 - -0.539908341467382 - 0.807669030539158 - 0.125881898258280 - -0.166822934346864 - - -0.160403598493036 - 2.216130564144455E-002 - 0.225367721173123 - 0.375202996508050 - -0.487743340918267 - 0.514565788094454 - 0.178502272172771 - 0.431311778311414 - 0.231195201976302 - 0.272414252367872 - -0.410883044604130 - -9.277352076963390E-002 - -8.941779917260878E-002 - -0.438887549302184 - -0.658603940794883 - -2.020266652087485E-002 - 0.565183706397374 - 0.576820412569230 - -3.301714747313449E-002 - 0.369435261606860 - -0.669357956365259 - 0.199533646922260 - 0.308689463132118 - 0.320452553997538 - -0.120215336099848 - 0.106480867814139 - 0.617138975303785 - -5.632488140329842E-002 - -8.945924601590502E-002 - 0.234363587676869 - -0.473538365684245 - 0.431117550628447 - 1.022154846759668E-002 - -0.555754789002472 - -0.828741184128133 - 0.590056904296517 - -0.559793780594198 - 0.180027269860600 - 0.355242061117130 - 0.323542628953659 - 0.786834929233192 - 0.676560811410159 - 0.443455756311882 - 0.404910866562695 - -0.622955052766655 - 0.834571717630948 - -0.852699600827818 - 0.512133843082200 - 0.696121796821384 - -0.389126109352376 - -7.852191027196120E-002 - -0.386041558328398 - 1.271139676361813E-002 - -0.853612951878604 - 0.221661896023609 - -0.406729647222431 - 1.18394272064092 - 0.157838247746026 - -9.986518961371456E-002 - -9.136963077511535E-003 - 0.158267397154758 - -0.298311052831820 - 1.106508145857237E-002 - 0.583732349823394 - -1.995161835457350E-002 - 0.349176034278410 - -7.318210054915605E-002 - 2.883004198003957E-002 - -0.140845438269442 - 0.457054285831010 - -0.293955711922424 - 0.381855512969740 - 0.201725549326583 - 4.205343879191636E-002 - 5.628839360869275E-003 - 0.123633465565689 - 0.568233467458422 - 0.533292872204414 - -0.302210360876616 - 4.065906241181606E-002 - 0.710439777307565 - -0.325281188975012 - 0.475138447524337 - -5.280393373511848E-002 - -0.435821768147709 - -8.806453840019059E-002 - 0.524291002684020 - 3.790240075893979E-002 - 0.785985944778605 - -0.405395827009617 - 1.12074388990483 - 0.121047305477105 - 0.766190016973728 - 0.494828362418745 - -0.320678315386004 - -0.430018364838248 - 0.276936789980680 - -0.426027676800155 - 0.417611398517652 - -0.180251838880688 - 1.478694432546027E-002 - 0.130679813451810 - 0.589243211117292 - 0.404201918836975 - 0.579004634717052 - -0.144553535744509 - -0.119470752373865 - -0.774627292472603 - 0.154545608656999 - 0.595791485400132 - -2.390209841607746E-003 - -0.373519122167924 - 6.590364956528474E-002 - -8.146988830074410E-002 - -0.101572118213971 - -0.649094106949046 - -5.939064272941464E-003 - -0.478245812631294 - -6.213003461970375E-002 - -2.532633330163553E-002 - -0.136283308018498 - 0.332234552568300 - 0.196590797520731 - -0.752843892444878 - -0.911122886054876 - 0.228292510882476 - -0.525978602469540 - 4.282117305839916E-002 - 0.190939544092915 - -0.418988467077875 - -0.465699054410883 - 0.548607945229482 - -0.472300825200848 - 4.187550954202922E-002 - -6.017777024376782E-002 - 0.183020086267253 - -0.153791766539294 - -0.364123989096731 - 0.774490013192561 - -0.836395623806796 - 0.490797793235478 - 0.337935308976369 - 0.368535309251825 - 5.387926618420413E-002 - -0.344768190443642 - -1.06033156336926 - -3.820253928422453E-002 - 1.06766140816273 - 0.158908252862865 - 0.613508013118077 - 1.19824021430692 - -0.163127306076028 - -7.984224274659607E-002 - -7.523490124048399E-002 - 0.245799618898533 - 1.16764932675247 - -0.464792080466527 - 0.973901900546370 - -7.107475846911068E-002 - -4.386697202997318E-002 - 8.361125773765485E-002 - 0.297773720003919 - -7.200290593062242E-002 - 1.116301428461729E-002 - 0.265332359423649 - 0.482280651064358 - 0.597677876085390 - -0.926385981665725 - -5.345077846689592E-002 - -0.155881328666683 - 0.580331355873517 - 0.300164961931572 - -0.330090708601696 - -0.847757356095275 - -0.183303993104941 - 0.295773157715133 - -0.125905155142574 - -0.697722276981576 - 6.520407604688039E-002 - -0.231388802362305 - 7.497424946312141E-002 - 0.145005480413557 - 0.280908631248742 - 0.458025771222793 - -0.284844370783234 - -4.334956892535272E-002 - -0.325055056342396 - -0.196479436700019 - -0.638905607285073 - -1.264209300655937E-002 - -0.513123089355163 - -0.494393010680328 - -9.867330232871288E-002 - 0.115710910220096 - 0.844551029026016 - 0.161839530868861 - 0.349819825667270 - 0.236862282495814 - 4.980210984848619E-002 - 0.360202935528791 - -0.566026736146246 - 3.965824156095414E-002 - 0.682534487950863 - -0.246201231652110 - -0.151343279812026 - 0.966771908799903 - 0.191502030926435 - -5.013855928725133E-002 - 4.350288204766902E-002 - 1.271056679580235E-002 - 0.541976415515326 - 9.359771549599643E-003 - 0.375366719076001 - 0.590538083722661 - 0.162464293468872 - 0.787794880111929 - 6.554231688114812E-003 - -0.174597285849807 - 0.928494710917271 - -0.665650840437879 - -0.135088039444263 - -0.328674876734628 - 3.250664609972444E-002 - -0.296316899917472 - -0.262947142571150 - 0.185881756601924 - -0.138136723952811 - -0.244852167788010 - -9.403785781402703E-002 - -0.471484262642433 - -1.01157156378508 - 0.485131022687462 - -0.521462545984385 - -0.733606954960336 - -0.636145382655144 - 0.347393051609622 - 0.561148170005225 - 5.860455996764681E-002 - -0.421612412444596 - -0.199887898097160 - 0.199507968846225 - 0.165590451626142 - -5.697244160485131E-002 - -7.528221857681132E-002 - 0.190420993404904 - -0.270707353168660 - -0.237797568395457 - -0.189649623222889 - 0.282707745780776 - 0.147149179201249 - 9.322896612030238E-002 - 0.120074192044532 - 0.163406279170744 - -0.202813606107443 - 0.113480986622407 - -0.199968978490607 - 0.218315221050589 - -0.289249032764938 - -0.239646096976434 - -0.118457756104490 - 3.670144620998640E-002 - -0.415533408533768 - -0.768587513264410 - 0.101269302362618 - -1.535492042611179E-002 - 1.814105553494281E-002 - 0.586381804740545 - -0.413248940386474 - 0.322455875572529 - -0.310477662766724 - -8.747569658876767E-002 - 4.759829126026571E-003 - 7.771871402043902E-002 - 0.696004604192968 - 0.175104651159856 - -1.309375588791745E-002 - 0.131945888826698 - 0.202730384804452 - -0.309448777931858 - -0.238423862834758 - 0.455168465950895 - 0.129056767421226 - -0.543024507950659 - 3.676769185486981E-002 - -0.529692187930825 - 0.379537906605939 - -5.535702423709402E-002 - -0.302281679162386 - 0.348549301755254 - 7.326148468496876E-002 - -0.256541411622760 - -0.115136392197052 - -0.184996250838127 - -1.545666903227874E-002 - -0.333395017556286 - 1.08138624883404 - -5.844699372602322E-002 - -0.636451506212748 - 0.220678241522442 - -0.627304002903046 - -0.180229848590413 - -0.251039612501424 - 8.062982604821441E-002 - -0.214990233848229 - 0.249927202241737 - 0.239290039742266 - -0.150274532063366 - 8.130074578867851E-003 - 0.190780490657133 - 0.189461978385695 - -9.928508590691844E-002 - -0.216674149825746 - 4.308709378124859E-002 - -0.258082997840199 - -9.357778678663711E-003 - -0.301612019331214 - -0.222641680504803 - 0.175185935789532 - -0.302245532650503 - -0.284117363796614 - 1.054421477202923E-002 - -0.207581307733075 - 5.040901761966409E-002 - -7.377443179670153E-002 - -0.240728817606797 - 0.300894838129345 - -9.900401338930365E-002 - -0.295098417875161 - 7.653697625699343E-003 - 0.286064306286508 - 0.316165868348907 - 9.797288976082126E-002 - 5.190227663056155E-002 - -0.100409610767860 - -0.203914169981896 - -4.865923467787288E-002 - -0.215069917302203 - 0.180717944800827 - -4.061248527610381E-002 - -0.347576632304254 - 0.642364831528782 - -0.365602870499784 - 0.581937993175596 - 0.151131835067367 - 0.957398411851123 - -0.408208059832865 - 0.670263322255638 - 0.143781062464428 - -0.193848892711183 - -0.163581668763533 - 0.238922879357647 - 0.129629774092164 - 0.985127592812901 - 0.412037883961268 - -0.246661932046771 - -0.632386797316101 - 0.477118499030782 - 0.690881310798610 - -0.196781330995422 - -0.109772269865848 - 0.163070983297597 - 0.150787041253861 - -3.558862006966246E-002 - -0.358471726156177 - 0.143617329712669 - 0.105284066626324 - 0.389054140241331 - 0.133300701788440 - 0.143516826663151 - 0.582932587074752 - 0.335687634256056 - 0.109933431835259 - -0.428011853897035 - 0.578563731342550 - -1.00870889405166 - 0.220078963952466 - 0.101794768932861 - -0.467057145389769 - 0.113238639845298 - 0.292627005269109 - -0.125673619739902 - 5.999967938370174E-002 - -8.330369465597469E-002 - -0.323290698715001 - 0.228373195186014 - 8.707548139782499E-002 - -6.218739012428282E-002 - 0.529397018117085 - 0.335732666445675 - -0.193542263320474 - 0.247257260334551 - -1.665458751327356E-002 - -0.215681870153735 - 8.922185260619518E-002 - 0.253329277117875 - -0.317961497339856 - 2.728908454506021E-002 - -0.175487753199314 - -0.454471149412014 - 3.883984062199605E-002 - - 0.122001698917571 - 0.590061582938573 - 0.234787209641845 - 0.160946702477354 - 0.257432865293798 - -0.341913060959856 - 8.345856377626190E-002 - 0.325730520366836 - 0.115023331888870 - 0.650585862311755 - 8.729426479659325E-002 - -0.158276640015027 - 8.812357007711420E-002 - -0.201642500558021 - -4.883985246800718E-002 - -0.111723343083447 - 6.520048533311489E-002 - 0.105328332317939 - -1.02703558225605 - 4.747920156197911E-002 - - 1.377522950623378E-002 - -4.120687586427179E-003 - 3.980448964884779E-002 - -2.139296628274828E-002 - 7.166204111864652E-003 - 2.862901462625154E-003 - -2.503450161427597E-002 - 1.062667647168342E-002 - 1.883653136359103E-003 - 1.048137819170799E-002 - -2.140288229854116E-003 - -3.958785793982415E-003 - 3.627678406838710E-004 - -1.119674957000422E-002 - 8.046466087954505E-003 - -1.414611721213776E-003 - -3.995376346562223E-005 - -1.273039164022000E-002 - -2.669214081089056E-002 - 7.190520160606548E-004 - - 1.325933333333333E-004 - - tansig tansig diff --git a/examples/md_ipi/para/W_O1 b/examples/md_ipi/para/W_O1 deleted file mode 100644 index 10fc1d86a..000000000 --- a/examples/md_ipi/para/W_O1 +++ /dev/null @@ -1,1190 +0,0 @@ - 36 - 20 - 20 - 1 -rmse= 0.2827meV - -3.602297895193138E-002 - -8.731527099850940E-002 - 0.186851954920367 - -0.417409281115449 - -0.328323068559542 - 0.186025413521083 - 4.702928582101593E-002 - 0.407012045576383 - -0.359455925043176 - -0.474780728468836 - 0.379007176397394 - -2.652520054330922E-002 - -0.215885888975953 - -8.178113010320769E-002 - -0.235171629670148 - 0.315431668356629 - -0.204345122987946 - 0.724480751833505 - -0.705517778332455 - 0.198367016372091 - 0.442532209377190 - -0.267318141096963 - 2.388674562246150E-002 - -6.232983617652784E-002 - 6.163423095242861E-002 - 0.150205528275044 - -0.196982201235395 - 0.252150989754652 - 0.317656461751600 - -0.328939844336945 - -0.176390239380535 - 0.441338837741716 - 0.150954666779093 - -0.299750903863310 - 0.159759239394418 - -7.969773518665298E-002 - 0.461965807370117 - 0.182548347268055 - 9.044856108772112E-002 - -0.492251398809427 - 0.416192760334597 - 0.636169092802588 - -0.108046366771288 - 0.159074163115702 - 1.750353382854115E-002 - -0.581187475688724 - -9.159610030475666E-002 - 0.276281874705725 - -0.496597272461642 - 0.199620304639521 - 0.115310172301096 - 0.531887593258881 - 0.156353506662748 - -0.370872423250926 - -0.122417848589250 - 2.436756406280330E-002 - 2.561448732500353E-002 - 9.460141801653453E-002 - 0.255959109352831 - -0.175768047640971 - -4.460030844584956E-002 - -7.346341212698934E-003 - 5.841457374053861E-002 - -0.187645920789531 - 0.229780954992550 - -0.508559697773573 - 0.367291423953443 - 0.423692398558974 - -0.365267926642152 - -0.168534643361146 - 0.257924816889069 - -0.420395870761388 - -8.840234887687939E-004 - -0.264810746975615 - -0.808196451071456 - -1.975356794010645E-002 - 0.527757774652878 - 0.193486332788957 - -0.350379171520007 - 1.255812922081083E-002 - -5.329604754767247E-002 - -0.130264942711940 - -0.240602386227266 - 0.266986256614457 - 0.116862830857068 - 4.315250571585776E-002 - 0.231019397156613 - 3.616328224207982E-002 - -0.140975480175630 - 1.224889682426676E-002 - -0.512763300311176 - 0.156829873824130 - 0.141295008491861 - 5.623161704117248E-002 - -0.450287678607101 - 0.103847560485931 - 0.798290305545232 - 0.185802734601353 - -0.574038365704843 - 0.633426687632462 - 0.201801647136487 - -0.109181274903296 - -5.037457233809229E-002 - -3.736703988593133E-002 - -1.085349026274915E-002 - 0.432813583221193 - -0.287816494234679 - 2.933524895238608E-002 - 0.136492845859978 - -2.904715517561526E-002 - -3.932365096332214E-002 - 0.258044476426069 - 0.494602948005220 - -0.284961144745170 - 0.102676734510355 - 0.361992220389557 - -0.295074447182399 - 1.061531251112332E-002 - 0.362808516677146 - -0.199751021796081 - 0.291725962816539 - -8.730422476269192E-002 - -0.195588199867647 - 0.443747072220611 - -0.194484368583290 - 0.654956259436925 - -0.421035680978884 - -0.100045499058557 - -0.274168648091474 - 0.118434176382562 - 8.222769106560186E-002 - 4.480389049689924E-002 - -0.204600379517416 - 5.193149058400491E-002 - -5.064825868611582E-002 - -0.340673483932922 - -6.824895294689973E-002 - -6.643885614295972E-002 - -0.114882373264317 - -0.203361855508635 - 1.330096751756319E-003 - 0.206945393685631 - -0.215860288573530 - 9.686473830341337E-002 - -8.031532570326207E-003 - 7.513299942802758E-003 - 0.380874200263249 - 0.348160221549996 - -0.457361246891468 - -1.402173716430376E-002 - 6.579556986575948E-002 - -0.201163243992202 - 0.147197354655595 - 6.886970465853272E-002 - -0.315144442210514 - 8.279245665440767E-002 - 0.208429367131254 - -0.286582903862471 - 0.117204307093041 - -4.518595667952885E-002 - 0.112946493315987 - -0.229458763963358 - 0.369035831381960 - -0.161537672548572 - -0.284136992435153 - 0.420560795071346 - -0.168066419040251 - 0.108653281014145 - -0.283342445033683 - 6.217916176930915E-002 - 7.033134517772541E-002 - -0.651384992744309 - -0.213113370850345 - 0.899199760376127 - -0.148738268059759 - 5.456311149362371E-002 - -0.308949469383113 - 6.003226128815906E-002 - -7.237729512086330E-002 - -0.107665148768985 - 0.166884400393792 - -2.157880017093435E-002 - -0.310665415593641 - -0.532336505918519 - 3.682257593031301E-002 - 8.043542641858423E-002 - 6.824385179004697E-002 - 8.400684249812948E-002 - -0.278773097348066 - 0.144742298866740 - -0.360902253038200 - 0.203091055412040 - 1.614625528755084E-002 - -3.888521619772120E-002 - -0.164550565669988 - 0.368326843335610 - 5.609155682466571E-002 - 0.579402595287231 - 1.062883894829598E-002 - -0.148862388139567 - 5.900586669542704E-002 - -0.105823819305564 - -0.293397260020639 - 0.468718670208183 - 0.503442603289549 - 0.498214094938746 - -0.350271528126160 - -0.100908922363733 - 0.225434624544971 - -0.210120356484667 - -0.210067350030091 - 0.549462855776806 - -0.244807296797528 - 3.285992856962114E-002 - -0.359655326486680 - -0.448885197029198 - -2.249705762302472E-002 - 0.216051639498420 - 0.326120450889943 - -0.116705459713377 - 0.159644400506028 - -0.435501005237829 - 0.173595896154683 - 0.317184339469930 - 0.134986757415632 - -0.256233492012851 - -0.112012949442560 - 1.673788641748420E-002 - -0.179128625284419 - 0.168563427508449 - -0.194293910920101 - 0.170907679176385 - -0.392596148479806 - 0.257504916409204 - -4.960563621096946E-002 - 8.663396657375425E-002 - 0.346346762478937 - -0.159834113797153 - 0.148538923567244 - -7.191981100356769E-002 - -0.213671190412337 - 6.580547873899625E-002 - -0.123894532428607 - -8.704558545461802E-002 - 0.122088661119533 - -3.430461290162168E-002 - 0.293513572889806 - 0.174528420126962 - 4.092261414655021E-002 - -0.216044098665057 - 0.123291809972782 - 8.219708182667536E-002 - -0.192950533646842 - -6.265232620748223E-002 - 0.326391357260498 - 3.461561130436776E-003 - -0.219809937267398 - -8.791889732497790E-002 - -7.042863450562793E-002 - 0.251404216595015 - -0.277957208066630 - -9.826666966589820E-002 - 0.331149047733698 - -0.268008262689903 - -4.908328539068212E-002 - 2.206017267871375E-003 - 0.255632598650133 - 0.252272428093588 - 4.123686385399426E-002 - -8.912298792483742E-002 - 0.650503513315174 - -0.206137241215854 - 0.139625042190730 - -0.336602278424527 - 0.191831383372380 - 0.204274096674014 - -0.144362043543612 - 8.685724248970858E-002 - -0.229328290611217 - 0.178178065548871 - 0.131905028028952 - -0.232507398061068 - 0.682098896678206 - -0.332383511754560 - 0.521175644211748 - -0.158931378407209 - -0.108168097933766 - 0.335742412078993 - 0.435745250347119 - -5.066576139804750E-002 - -0.136561710821764 - 1.247865667177201E-002 - -0.155415644150410 - -0.214172152805261 - -0.194876171223813 - 5.575309348540380E-002 - 0.228176277408755 - -5.468096302626753E-002 - -0.291057216227748 - 0.109166422243772 - -0.286443262269525 - -6.997737448195013E-002 - 5.430938499396544E-002 - -0.117797730524271 - -0.179141710571120 - 0.889906251008702 - -0.296081403569801 - 2.269388156147523E-002 - -1.259413588120421E-002 - 0.258442234817898 - -7.937212464867911E-002 - -5.228390678808684E-002 - -0.123235831956255 - -0.211047137198555 - 0.222752744195635 - -0.143856365115410 - -0.324744314152012 - 0.117845281026416 - 5.067170306174047E-002 - 0.347100290251940 - -0.324805438892534 - -0.148899852922800 - 0.159778246080124 - -5.379543685803457E-002 - -0.174750918988800 - -0.205096175318540 - -0.156898622841018 - -0.152696929899926 - 0.107297770048510 - 0.257111770409225 - -0.275204369019371 - 0.297623254359353 - 1.770539780785955E-002 - -0.250944755979713 - 2.734889469122198E-002 - -7.847928877177304E-002 - 5.417605177633973E-002 - 0.607557513101080 - -0.657752873604522 - 0.241896326469128 - 4.234280230353378E-002 - -7.023800378812167E-002 - -1.998417349057527E-003 - -4.616837765015278E-002 - -0.395849665758798 - 0.255737704394411 - -0.100740312632178 - 9.789738978603343E-002 - 5.949551919416669E-002 - 0.255938925743089 - -0.213783043928974 - -0.621027646738330 - 0.164344722639909 - -0.756213996281412 - -0.741145092805656 - -2.381989766435819E-002 - -0.225147409828528 - 0.371924906952501 - -4.813016047926363E-002 - -0.129802177167998 - 5.839984880664519E-002 - -1.585988261393828E-002 - 0.240563518880986 - 6.413574922452325E-002 - -0.422226257412288 - 9.541452143601817E-002 - 0.101882484674278 - 9.193421066719454E-002 - -1.487201021108095E-002 - -0.144882676066493 - 0.211162925444685 - -0.132944348808100 - -9.183836044450823E-002 - 0.449223752060954 - -0.531760094598463 - 0.382282358502377 - 3.759694748374251E-002 - 2.907329241966315E-002 - 0.106694517086349 - -8.782636048135133E-002 - -0.289157199044242 - 0.267921316508372 - -5.142559345073082E-002 - -3.177155438877349E-002 - -0.502369217462899 - 0.623252074209098 - -0.265748805155475 - 1.03653485689706 - -0.167484572584526 - 0.294885118194554 - -0.489050924035607 - 3.443915231130155E-002 - 0.213343425124800 - -0.203161068739057 - 9.052050305433790E-002 - -8.740192124514656E-003 - -0.134255362059466 - -0.149556364284991 - -7.273356148481754E-002 - -2.594268493988895E-002 - 0.106939454730587 - -0.404826828976361 - 0.464458376761841 - 0.126841221512972 - -7.082878115606930E-002 - -0.124635600789386 - -0.248104968930500 - -7.552259017365201E-002 - 0.485001799157678 - -0.351388745614481 - -2.454891899133648E-002 - -2.777538913142291E-002 - 0.182892577133619 - -7.513585279107067E-002 - -0.302295708269771 - 8.164252606816011E-002 - 0.731227427931398 - -0.521016353233201 - 0.339726890264667 - 0.111711522953778 - 5.380193182177347E-002 - -0.138316322374837 - 0.124900034447709 - 0.896877792749900 - 0.152251147285354 - -0.141507450354396 - -0.324427104319442 - -0.507323829478776 - -0.224216212366383 - 0.482872180347775 - -8.019689666459939E-002 - -0.156978054981933 - 0.414282979795474 - 0.107181153095860 - -0.286247374200482 - -0.158078376854048 - 0.318770259111205 - 0.124046877652075 - -0.160274091162512 - -0.275285737921873 - -0.139546641463116 - 0.170714958722829 - -9.730957830159501E-002 - 0.124834418232604 - -0.108139667629786 - 0.363238767098503 - -4.984918442086701E-002 - 0.309838821308208 - -0.114836872047165 - 9.962606785289378E-002 - 5.516471834910665E-002 - -8.994493720264573E-003 - 0.404641816006627 - -0.284052319981361 - 2.487044291196172E-004 - 3.846503017677384E-002 - 0.106615884725713 - 0.104760069257697 - 9.726180319587169E-002 - 1.780480483374038E-002 - -3.470308708923361E-002 - 0.354502666813849 - 2.100062114951774E-003 - 0.436733750923759 - 0.112253186682583 - -0.222782691668159 - -4.398972715908338E-002 - 0.149351394657433 - 2.398499897744186E-002 - -4.612550686497079E-002 - -0.198108200913978 - -0.140241848904576 - -0.208996543071207 - 5.572352256961934E-002 - -0.135355866384051 - -0.480784823353658 - 8.374428234647047E-002 - 0.153100829013230 - -0.169972958440612 - -1.862029401967240E-002 - -0.114471889127808 - 0.321432454050188 - 0.152083819482914 - 1.910376034854086E-002 - 0.113532157866680 - -0.730956970644901 - 0.110830258150873 - -1.748021233121886E-002 - 0.141161830375540 - 4.114703795214282E-002 - -0.196246088888141 - 0.112439772540091 - 6.915645176758425E-002 - -0.148694598782008 - 1.404866695692998E-002 - 7.343783756670692E-003 - -0.161459473803621 - 0.811151865616073 - 0.522924920834437 - -0.468367633801572 - -9.594904708957393E-002 - 0.276364798715731 - -0.156213492853270 - 3.156257714344185E-002 - 2.408919023911872E-002 - 0.193860480739663 - 0.121106229249784 - -0.132784052127463 - 0.311742379740067 - 0.436951604498375 - 5.799948101473003E-002 - -0.355137626931623 - 0.337946943323645 - -4.620293816978216E-002 - -0.250291607502656 - 0.324689102383576 - -0.341372065421496 - 0.333874986411892 - 0.286974843811483 - -0.380434343536885 - 0.311243622067823 - -0.148364157235497 - 0.355637599416740 - -0.195735497787539 - -3.986387018354949E-002 - -0.250854099089219 - 0.469820578783525 - 1.987260852881397E-002 - 0.374658616255015 - -0.169095030341429 - -4.389212989875742E-002 - 0.227161569766028 - -6.738214609427624E-002 - 0.437390267015030 - -0.615831312323699 - 7.707742387418857E-002 - 0.302196366717807 - 0.230497654461851 - -0.281164721139114 - -4.884758826550901E-002 - 0.155424613177175 - 4.543762795259899E-003 - -0.326387218084128 - 0.281950419277324 - 0.220894838978574 - -3.647405337139546E-002 - -0.214115072135062 - -8.311102599530031E-002 - 6.473316205426724E-002 - 9.920559439772761E-002 - -0.169767859750634 - 8.052607628834754E-002 - -8.753338960134180E-002 - 8.829012688863036E-002 - 6.309395658025324E-002 - -4.698927881111568E-002 - -0.155722401056428 - -0.128042434999899 - 9.631544649307647E-002 - 1.087633974111973E-002 - 0.123512163578527 - -0.148283663166223 - 8.476152867249710E-002 - 3.238129639977022E-002 - 0.309446324056639 - -0.527205243349725 - 0.156400934962779 - 2.02570855941017 - 1.601049288974712E-003 - 0.190917972302566 - -7.685050510713581E-003 - 5.177700860775917E-002 - -0.222517002182483 - 0.135232526784387 - -6.018603974453336E-002 - 2.156216293033382E-003 - 0.446839137515846 - -6.490496408001190E-002 - -0.334209841507225 - 0.310641181540657 - 0.453871240009630 - -1.829981372853359E-002 - -0.232175888036256 - -1.736265893378372E-002 - -0.418581799483007 - 0.598602512189600 - 0.414746738774968 - -0.235738145690768 - 0.257147847850727 - -0.346963824606465 - -0.146738929341441 - 0.132075214577988 - 0.116538388076489 - -0.259285889668842 - 3.936764062573218E-002 - -0.222905711727081 - 0.239836198158928 - -0.330623706845058 - 0.157342336972990 - -8.238834305021528E-002 - -0.220314575450264 - -1.807761471931249E-003 - 0.192330217198909 - -0.304548946755974 - -9.344664908484290E-002 - -0.523350154519609 - -0.251962343080311 - 0.455442708056174 - -0.328259384774291 - 6.473168987262651E-002 - -0.100374367164304 - 8.827788736373010E-002 - -0.157909958862798 - 0.167574840367334 - 6.406739277948113E-002 - -0.317497454228252 - -0.244324017398471 - 0.104598050147890 - -0.449414215762258 - 0.720121799927490 - -0.176961723371788 - 0.186641059274144 - -0.112387893836276 - -7.122312187619148E-003 - -0.130462630760491 - 0.239420775068411 - -5.495572888912349E-002 - -0.163648100963170 - -5.218531935970518E-002 - 0.895926510366108 - -0.395786095330827 - -3.206457884828581E-002 - -0.167533925827160 - 0.122709143206455 - -3.764449414735920E-002 - 9.425954228934151E-002 - -0.188092833038556 - 0.457326580709770 - 4.332901671423941E-003 - -0.217278186843814 - -2.993030812689055E-002 - -0.434168551122256 - -0.151834334522448 - 0.378792960859810 - -0.480269706853253 - 0.416638885226317 - -0.302675130163964 - 0.125696406054531 - -8.630342591906445E-003 - 1.211455450231128E-002 - -6.621093590599113E-002 - 0.243139654919533 - 7.923826501490362E-002 - -0.274507472625472 - -0.421614512260870 - 0.201629955046056 - 9.207310293842277E-002 - -4.564450753695340E-002 - 0.257557398725866 - 0.270045147460527 - 0.133895067559913 - -0.149293366787050 - -0.244663080174781 - 0.163913719292363 - 0.309870354234634 - 0.440642072620626 - 3.736603051440661E-003 - -0.464263808967379 - -0.325068448769526 - -0.659904720408187 - -0.162827801513241 - 0.256719608302102 - 5.433659508429473E-002 - -3.010493043534290E-002 - 0.357888979068473 - 0.343545454518812 - -0.314912313589361 - -0.424360196290380 - -7.148459939251493E-002 - 4.715791110455925E-002 - 0.189218522531708 - -0.199625928985020 - -0.345431383779149 - -0.734289520522068 - -7.810205579070878E-002 - -2.146059276545276E-002 - 0.222969379329026 - 6.989316863795536E-002 - 5.226495874657212E-002 - 0.393547015704022 - 5.342815372915723E-002 - -0.148429691388224 - 0.231944210292883 - -0.270174387963514 - -0.157501129523426 - 0.249607644268232 - 0.107827181417865 - -0.198001834592792 - 0.550036231670330 - -0.451458856859776 - 0.285646303719873 - -0.599524277175577 - 0.444254218057592 - -7.304641156258644E-002 - -0.107765918499669 - -9.582887510032168E-002 - 0.211176361155922 - -8.070593119240023E-003 - 0.139797333979680 - -2.201598324307612E-002 - -0.113807873292915 - -0.815343039564741 - 0.208037257734861 - -0.502577692594733 - 0.267112228684696 - -0.191631615386171 - 0.288167312058664 - 7.334262500179188E-002 - -9.687688339811401E-002 - -2.168362295299260E-002 - - -4.472620624946174E-002 - -0.715560263364910 - -0.417548821903378 - -0.367293540014215 - 3.556624463256971E-003 - 4.638006987328702E-002 - 0.581433196182245 - -0.343351194138135 - 0.864672340504018 - -0.413498688062640 - -1.812645340638167E-002 - 0.221097398167971 - -0.406858112024717 - 0.235390597930841 - -2.486328067910385E-002 - -3.789496975851087E-002 - -0.574687447479005 - 0.524424805911313 - -9.963866351253850E-002 - -0.158058968611723 - - 0.612966031838033 - 0.390909691871781 - 1.314091729174414E-002 - -0.762076520186810 - -0.429654601390058 - -9.996517776940361E-002 - -0.432643497522287 - -0.210961476159563 - -0.117124861907461 - 0.169004804622785 - 4.399008797988950E-002 - -0.442140260548301 - -6.439516472826007E-002 - -0.363475164135719 - -0.385958417358529 - -0.196804875451086 - -4.943699763770017E-002 - 5.315269129517478E-002 - -0.620606914592902 - 0.128002774536240 - 0.215458794537056 - -6.138282605346881E-002 - -0.825238043711142 - -4.351149714752497E-002 - 0.262549132729435 - -0.147551732143911 - 0.202657334744991 - 7.550948281564727E-002 - 0.409535145292055 - 3.746137820459622E-003 - -1.23753989824694 - -0.924253426467511 - 0.144715163128345 - 0.511166931078019 - 0.452224698518291 - -1.10431338810947 - 0.106679851473140 - -0.450846243909082 - -0.292148922293495 - -0.468121633231933 - -0.295475288629192 - 0.173364731968286 - 0.366715178071771 - 0.236706085958386 - 0.316711554760939 - -0.194089892606638 - 0.504789381219019 - -0.268611496719757 - 0.265063258536543 - 0.478615494225249 - 0.345991827518365 - -0.256859267429202 - -0.518745268491466 - 8.245521255592009E-002 - 0.633007552909597 - -1.02562913172818 - 0.131320410963989 - -0.103343936954449 - -4.659617055182196E-002 - -0.346829147817351 - -0.266491015420736 - 6.215364451954177E-002 - 0.100784013790976 - 0.104527679637095 - -4.018082247765929E-002 - 0.263336228938603 - -0.273076006511471 - -0.385819241471676 - -0.496482037610099 - 0.411621105256988 - -0.661827622494190 - 0.304798478456594 - 0.599056954893407 - -0.260585395545833 - 0.284042610881108 - -0.361603752797244 - -0.254564375022866 - -0.222850264032722 - -0.195112332342510 - -0.952739660391921 - 0.719219641476683 - 0.110107246313459 - -0.330375950474701 - 0.172304275972388 - 0.602027902099028 - 2.535466085142056E-002 - -0.232630361501787 - -0.154567365780311 - 0.543864547201430 - -8.618034414119409E-003 - -1.19266681772607 - 0.353667275037444 - 0.375184130204709 - 0.258717619702443 - 8.928886245354331E-002 - 0.336566121184867 - -0.599633347713940 - 0.391496054940238 - -1.494393129820284E-002 - 0.246407202689325 - 0.235197357064940 - -2.521891897878908E-002 - -7.746228887165282E-002 - -8.890878861147597E-002 - 0.604133550110486 - 9.611673403108612E-002 - 0.261246802272520 - 0.244914867425755 - 8.946279990698663E-003 - -0.323565177816480 - -0.834606814902407 - -0.199349084905174 - -0.108080989486085 - -0.949287785497412 - -0.104423184000285 - -9.453205609812266E-003 - 3.890167681607438E-002 - 0.190010398715206 - -0.492038664527894 - 0.114741710144780 - -0.154106858846760 - 0.217002424089887 - 0.275854724070942 - 0.287681063105931 - -0.856031177399742 - 9.211256320879620E-002 - -2.132369648477204E-002 - 0.586747630335148 - -5.764743855406357E-003 - 0.317673339755872 - -0.164487762624976 - 0.346711828094928 - 4.091487938991326E-002 - -0.356018047512542 - 0.397459749889943 - -0.470120879540277 - 0.227481216722722 - -0.152688021094868 - 0.383803768023417 - -0.702376334242419 - -0.503467831407732 - 0.325895302247209 - -0.246006032960211 - 0.312937863062747 - -1.01680849142746 - 0.568476299873745 - 0.623881860865226 - -0.814657207420345 - -0.248199562975891 - -0.745330443739940 - 0.334696436242864 - -0.140981007123432 - -0.485993326369825 - 0.230345394048287 - -0.277891293802724 - 0.258289916714185 - 0.523645216129042 - 3.674076172037168E-002 - -0.115106482790920 - 5.440671899212634E-002 - 0.412894606007764 - 0.566852216875995 - -0.280712245761771 - -3.884758893708080E-002 - 0.839253206292874 - 2.422548009681941E-002 - -0.124977224317761 - -0.574974389643567 - -0.635048956951882 - -0.619892628550433 - -0.151307508585436 - 0.348556357713161 - 4.213441555828432E-003 - 0.209363419613625 - -0.167278633501530 - 0.250543119382238 - -1.668299069639764E-002 - -0.487885111125449 - -0.278717848699897 - 0.202702011125303 - 0.291124272310688 - 0.465334734558026 - -0.621653371585364 - -8.742966876061663E-002 - 0.761874530212819 - 2.412027759448977E-002 - -0.112503987318104 - 0.168732469541585 - -3.455367350487892E-002 - 0.149221708687291 - 9.223122251781703E-002 - -0.331084015647677 - 0.175291571366280 - -2.569142296128799E-002 - -0.505795657205216 - -0.318203901039160 - 0.421556261601025 - 0.116271558559853 - -0.264313199597886 - 0.362751571713460 - -2.045927813934853E-002 - -0.109292663279578 - -0.243319842274928 - 0.381709818913300 - -0.341454638349675 - -0.163509443648372 - -0.568625445313155 - -0.319399042186669 - -4.631152680747409E-002 - -2.376323012736758E-002 - -0.123042936309122 - -0.472840624656725 - 0.879703281954571 - 0.157131617392736 - 0.154436789513852 - -0.339816562379549 - 0.279693281565123 - 3.820658639148967E-002 - 0.203852710853321 - -0.882911002755135 - -0.708977739582446 - -0.303817956752281 - -0.499999818006983 - -0.277703563241178 - -0.225275178114173 - 9.981547029434540E-002 - 0.463611197545586 - -0.279793418423774 - -2.622772230537430E-002 - 0.273330403176062 - -0.296214101878052 - -8.338862502195668E-002 - -3.640949612829453E-002 - 0.106039770033875 - -6.139017731655606E-002 - 6.621575178929073E-002 - -0.305805814152099 - -0.214861770889370 - 5.637707555844175E-003 - -0.392321351746806 - -0.176607009628674 - -0.432583294534443 - 5.103639970005909E-002 - -0.233547220215101 - 0.298762108683102 - 0.250652966902033 - 0.156791140597916 - 0.588886090999192 - 1.07229882435231 - 0.322132640578681 - 0.394320774592839 - -0.608926173031665 - 0.243028170760140 - 0.614419302761258 - -0.495749073199620 - 0.204399346592116 - 6.976145198623294E-002 - -0.273943480401783 - -0.686585701276131 - -4.587495236502688E-002 - -0.209770379856204 - -0.301181512749708 - 8.090967867748494E-002 - -0.139755019229898 - 0.535811562876219 - -0.163425897620475 - 1.568876097384749E-002 - -0.741855674997068 - -0.397735906311661 - 2.570933232679856E-002 - -7.857953934430903E-002 - 8.565045729506796E-002 - -5.871673723007888E-002 - -0.379821019157620 - 0.488846423889496 - 0.604650111750277 - -5.838664569574544E-002 - 6.760225898875798E-003 - -0.289974028538476 - 0.220531421168564 - -0.125668222440331 - -0.350281358449326 - -0.352970049586484 - 0.321655602069762 - -0.317016688473738 - -0.544895922054600 - -0.154563816852615 - 0.420711893551817 - -0.829836406112122 - -0.370709115325789 - -0.278164224365026 - 0.478723475166859 - 0.307933185612031 - -0.628400998505582 - 0.127418940084045 - -0.117183701485584 - 0.153147633439359 - 5.087537251133994E-002 - -0.514961750469573 - -1.961844227709184E-002 - 0.442532128506409 - -0.477739159431876 - -4.223433140671225E-002 - -0.132754856207195 - -0.315052828081324 - -0.331034364843813 - -0.783458664113424 - 0.297676373022714 - 0.657988625955045 - 6.237301198620101E-002 - 0.484505203526955 - 0.294539068927419 - 0.398863285674780 - 0.281204755268694 - -0.152709891200754 - 0.306065812347203 - -0.393605277264827 - 0.286486387792053 - 3.844919148831680E-002 - 0.447850370979350 - -0.579021076934695 - -4.680767110785484E-002 - -0.413090378808600 - -0.224957963300664 - 4.786199239057123E-002 - -7.841674645154717E-002 - 0.754194437128142 - 0.265639852959724 - 0.416184804432493 - -1.996197439865574E-002 - 0.167959920009941 - -0.282001764041889 - 1.717560754449032E-002 - 0.532350152930512 - 0.577850875492034 - -0.957811592455212 - 0.895127073412509 - -9.898685598355360E-002 - 0.126776134714883 - -0.319311583371151 - -0.358260782392860 - -3.840696999475256E-002 - 0.256320212254402 - -0.680547709556718 - 0.260174538584975 - 0.215050458386023 - -0.622910359009355 - -0.393296673478659 - -0.279963585170392 - 0.755549969560682 - 5.185271187993350E-002 - 0.140858721932880 - 0.275720982851997 - 1.209782663236019E-002 - -7.471829487042780E-002 - 0.226993316914967 - 0.383670168313034 - -0.173963666383929 - -0.391725715008500 - 0.200311913704791 - 0.761637165231894 - -0.740417798548097 - -0.544872510510821 - -0.276891299339255 - 0.193703415010210 - 0.190636555723430 - -0.286989299773151 - -0.650425462138515 - 4.825552117534999E-002 - -0.411527006348637 - -1.485538000095171E-002 - -0.108736585117434 - -7.293457655242112E-002 - 1.28460376164014 - -3.209423982691669E-002 - -7.985853903457003E-002 - 0.384137142432829 - 0.860034807521634 - 0.113516126259441 - 0.477927596155877 - 0.328453348262705 - 0.455531361577036 - -0.345956324535360 - 9.704543229147547E-002 - -0.914989340341401 - 0.219543738159206 - 0.483916473120919 - 0.277579724809632 - 0.739697189652935 - -0.231127547123409 - 0.965108977574584 - -0.372324936119366 - 2.465849474991024E-002 - -0.688336369608856 - -0.498448059615432 - 0.542530797411537 - -0.291819165679942 - -0.359711071433259 - -0.471628678024879 - 0.253226841207946 - - -0.459609744589236 - 0.387223187799981 - -0.241352355816220 - -0.322079494150334 - 0.130754694461785 - -0.459327874001093 - 0.685412791577218 - 0.190716829682676 - 0.103366654740645 - 5.709838400183537E-002 - -0.199340882854934 - 0.134199309604101 - -0.492727772128701 - 0.155941640959484 - -0.218767693457181 - -2.963841376497498E-002 - 0.745175197716164 - -3.646451435557596E-003 - -0.305969708676565 - -0.278710487304741 - - 6.559008344200528E-003 - 3.534549432214781E-002 - 2.692023723948289E-002 - 9.144809772092680E-002 - 2.185747794494228E-002 - 6.245208452628861E-003 - 2.432628982175251E-002 - -2.078645134745689E-002 - -4.925996797434051E-003 - -7.373546885188852E-003 - 3.226060047904269E-002 - 2.260409600034654E-002 - 9.237922387805717E-003 - 6.029691944441262E-003 - -2.829868970072365E-003 - -2.851426953540868E-002 - 1.713868595195352E-002 - -3.560013232377462E-002 - -2.597898439873780E-002 - -1.401659975782779E-002 - - 1.325933333333333E-004 - - tansig tansig diff --git a/examples/md_ipi/para/atom b/examples/md_ipi/para/atom deleted file mode 100644 index 944650d5b..000000000 --- a/examples/md_ipi/para/atom +++ /dev/null @@ -1,3054 +0,0 @@ - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T - O T - H T - H T diff --git a/examples/md_ipi/para/cell b/examples/md_ipi/para/cell deleted file mode 100644 index 46598491b..000000000 --- a/examples/md_ipi/para/cell +++ /dev/null @@ -1,3 +0,0 @@ - 31.24000000 0.00000000 0.00000000 - 0.00000000 31.24000000 0.00000000 - 0.00000000 0.00000000 31.24000000 diff --git a/examples/md_ipi/para/input b/examples/md_ipi/para/input deleted file mode 100644 index 7274c3531..000000000 --- a/examples/md_ipi/para/input +++ /dev/null @@ -1,26 +0,0 @@ - 0 # start_force table for the fit with force(1) or without force(0) - 1 # start_wb - 0 # start_init - 0 # table_coor - 1 # table_grid - 1d-10 # biase_rmse - 2 # maxnumtype - 3054 3054 # maxnumatom maxneff - 1 # nsurf - 2 # ipsin - 11 # maxnwave - 11 11 # nwave - 100 100 # maximal number of neighbours, maximal number of atoms in one cell list - 3 # ncycle - 500 # nloop - 1 # nbatch - 1 1 # numpoint maxnpoint - 1 # maxtpoint - 1d0 0 # perindex force_perindex - 4d0 4d0 # rc for each element - 60 # mnl max number of the Embeeding NN - 2 # mnhid max number of the hidden layer of the Embeeding NN - 1 # nkpoint - 1 # outputneuron - 'H' 2 20 20 0.2 # atomtype name of element and the structure of the embedding NN alpha*dier_rs**2 dier_rs - 'O' 2 20 20 0.2 # atomtype name of element and the structure of the embedding NN diff --git a/examples/md_ipi/para/weight_wave_H b/examples/md_ipi/para/weight_wave_H deleted file mode 100644 index b0be02f37..000000000 --- a/examples/md_ipi/para/weight_wave_H +++ /dev/null @@ -1,72 +0,0 @@ - 0.268745723023897343E+01 - 0.346785370979636731E+01 - 0.247933658845809735E+01 - 0.148983279300687932E+01 - 0.127608964262942171E+01 - 0.171253317101807134E+01 - 0.977893233364220293E+00 - 0.175650695818883174E+01 --0.106682985333046806E+00 - 0.179336985688038575E+01 - 0.851554455503823027E+00 - 0.959690945490426994E+00 - 0.902758690525107710E+00 - 0.922011195948287510E+00 - 0.270556514265704762E+00 - 0.253461275315420664E+01 - 0.311308143447436336E+01 - 0.528519412137088973E+00 - 0.450085488999899841E+01 - 0.605641622038493388E+01 - 0.112746092085630387E+02 - 0.624357033743488277E+01 - 0.911411843455036141E+01 - 0.477713683337432400E+02 - 0.643631784083244440E+01 - 0.573353178952620102E+01 - 0.120673987350340828E+01 - 0.399750733970677352E+01 - 0.228653172212523875E+00 - 0.283660780891722730E+01 - 0.503023150087887227E+00 - 0.239169709599722236E+01 - 0.382076835286460359E+00 - 0.222542353834319062E+01 - 0.752779769157288059E+00 - 0.169470327153474898E+01 - 0.141821466217692227E+01 --0.886423932014647614E-01 - 0.167119125678336045E+01 --0.454838983652096518E+00 - 0.189309006494861376E+01 - 0.233889014886272317E+01 - 0.178481701187498576E+01 - 0.467417172846224283E+01 - 0.198406547457699811E+01 - 0.831543086193178027E+01 - 0.130991461220170784E+02 - 0.145814162105344902E+02 --0.163733841800362478E+01 - 0.946648615428787821E+01 - 0.277558638137230540E+01 - 0.349352209010203518E+01 - 0.786874989594567253E+00 - 0.156460467502135936E+01 --0.505857501430637568E+00 - 0.111133032879575455E+01 - 0.144468702986511877E+00 - 0.804309273259493529E+00 - 0.246399400447218947E+00 - 0.582128353277434840E+00 - 0.558321960234286929E+00 - 0.177618713180556193E+00 - 0.581222379481640017E+00 - 0.526575570794575842E+00 - 0.489951960994374547E+00 - 0.122749650843548674E+01 - 0.369746646979077331E+00 - 0.164271266224372892E+01 --0.103483962644644834E+01 - 0.351283053380538313E+01 - 0.983937879101886570E+00 - 0.871526190469304041E+01 diff --git a/examples/md_ipi/para/weight_wave_O b/examples/md_ipi/para/weight_wave_O deleted file mode 100644 index a12fecc79..000000000 --- a/examples/md_ipi/para/weight_wave_O +++ /dev/null @@ -1,72 +0,0 @@ - 0.222345445770802685E+01 - 0.156308333779574071E+01 - 0.754441038029417532E+00 - 0.796359511831995714E+00 - 0.105636248365230245E+01 - 0.570950209743948278E+00 - 0.788383065551391926E+00 - 0.470502823988746322E+00 - 0.772329211464796717E+00 - 0.706011401382065196E+00 - 0.134807994004383125E+01 - 0.785362371276623894E-01 - 0.136191428191611386E+01 - 0.979668246847675395E+00 - 0.147286667709049679E+01 - 0.312220604726999262E+01 - 0.372145420050234588E+01 - 0.185012470220662961E+01 - 0.132859077148191318E+01 - 0.836069311320833286E+01 - 0.586839971157956963E+01 - 0.165751397756295091E+02 - 0.241203464760517790E+02 - 0.310341317943439812E+02 - 0.439235576584590515E+01 - 0.302969951916915337E+01 - 0.244799858819261962E+01 - 0.151641492963923374E+01 - 0.176650003210412287E+01 - 0.974321755001113066E+00 - 0.147486547557896319E+01 - 0.922974739635146868E+00 - 0.141363497138487593E+01 - 0.215486756449232042E+00 - 0.761526305701841988E+00 - 0.337099721262304053E+01 - 0.783741537286614109E+00 - 0.252835624054600983E+01 - 0.173079432016281798E+01 - 0.850910930696118673E+00 --0.881788634407718597E-01 - 0.395978084112362083E+01 --0.916426356014349852E-01 - 0.618890782188073896E+01 --0.610940206143396405E-01 - 0.996226576904776628E+01 - 0.113887564645919159E+02 - 0.171546896838605818E+02 - 0.641923597639249444E+01 - 0.347180453303719760E+01 - 0.252095468486820407E+01 - 0.162294608423319087E+01 - 0.142834977411759678E+01 - 0.558314876952388794E+00 - 0.203555107010700148E+00 - 0.286535535979979450E+01 - 0.883884864275258808E+00 --0.263334321152255690E+00 - 0.444260914209753888E+00 - 0.131086565197015581E+01 - 0.269445083828697696E+00 - 0.120359429227189363E+01 - 0.335292385026269457E+00 - 0.120946990789622721E+01 - 0.272872107835972266E+00 - 0.147167072035011337E+01 - 0.806675037395644723E+00 - 0.189244211922381500E+01 - 0.208405012441366200E+01 - 0.217250752171633854E+01 - 0.241498839409374089E+01 - 0.892085302835749161E+01 diff --git a/examples/md_ipi/residues.xml b/examples/md_ipi/residues.xml deleted file mode 100644 index 3d4f36fb8..000000000 --- a/examples/md_ipi/residues.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/examples/md_ipi/run_EANN.sh b/examples/md_ipi/run_EANN.sh deleted file mode 100644 index 99d985c93..000000000 --- a/examples/md_ipi/run_EANN.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -export OMP_NUM_THREADS=8 -export OMP_STACKSIZE=2000000 -export MODULEPATH=$MODULEPATH:/share/home/kuangy/modulefiles/ -module load Anaconda/anaconda3/2019.10 -module load compiler/intel/ips2018/u1 -module load mkl/intel/ips2018/u1 -module load EANN/2.0 - -source activate EANN - -addr=unix_eann -port=1257 -socktype=unix - -python3 client_EANN.py $addr $port $socktype > logEANN - -conda deactivate diff --git a/examples/md_ipi/run_client_dmff.sh b/examples/md_ipi/run_client_dmff.sh deleted file mode 100755 index cb751f5f2..000000000 --- a/examples/md_ipi/run_client_dmff.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# create the right environment to run client: note client runs in python3 -# while i-pi server runs in python2 - -#module load gcc/8.3.0 -module load fftw/3.3.8/single-threads -module load compiler/intel/ips2018/u1 -module load mkl/intel/ips2018/u1 -module load cuda/11.4 - -export OMP_NUM_THREADS=1 - -addr=unix_dmff -port=1234 -socktype=unix - -python ./client_dmff.py density_0.03338.pdb forcefield.xml residues.xml $addr $port $socktype diff --git a/examples/md_ipi/run_server.sh b/examples/md_ipi/run_server.sh deleted file mode 100755 index 9098df09b..000000000 --- a/examples/md_ipi/run_server.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -export OMP_NUM_THREADS=1 - -cat input.xml | sed -e "s/
\([a-zA-Z_]\+\)/
\1_${SLURM_JOB_ID}/" > .tmp.xml -#i-pi simulation.restart >& logfile & -i-pi .tmp.xml >& logfile & -wait diff --git a/examples/peg_slater_isa/calc_energy_comps.py b/examples/peg_slater_isa/calc_energy_comps.py index bd9829939..5230c9834 100755 --- a/examples/peg_slater_isa/calc_energy_comps.py +++ b/examples/peg_slater_isa/calc_energy_comps.py @@ -23,10 +23,10 @@ H_A = Hamiltonian(ff) H_B = Hamiltonian(ff) - rc = 15 + rc = 1.45 # get potential functions - pots_AB = H_AB.createPotential(pdb_AB.topology, nonbondedCutoff=rc*angstrom, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) + pots_AB = H_AB.createPotential(pdb_AB.topology, nonbondedCutoff=rc*nanometer, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) pot_pme_AB = pots_AB.dmff_potentials['ADMPPmeForce'] pot_disp_AB = pots_AB.dmff_potentials['ADMPDispPmeForce'] pot_ex_AB = pots_AB.dmff_potentials['SlaterExForce'] @@ -36,7 +36,7 @@ pot_dhf_AB = pots_AB.dmff_potentials['SlaterDhfForce'] pot_dmp_es_AB = pots_AB.dmff_potentials['QqTtDampingForce'] pot_dmp_disp_AB = pots_AB.dmff_potentials['SlaterDampingForce'] - pots_A = H_A.createPotential(pdb_A.topology, nonbondedCutoff=rc*angstrom, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) + pots_A = H_A.createPotential(pdb_A.topology, nonbondedCutoff=rc*nanometer, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) pot_pme_A = pots_A.dmff_potentials['ADMPPmeForce'] pot_disp_A = pots_A.dmff_potentials['ADMPDispPmeForce'] pot_ex_A = pots_A.dmff_potentials['SlaterExForce'] @@ -46,7 +46,7 @@ pot_dhf_A = pots_A.dmff_potentials['SlaterDhfForce'] pot_dmp_es_A = pots_A.dmff_potentials['QqTtDampingForce'] pot_dmp_disp_A = pots_A.dmff_potentials['SlaterDampingForce'] - pots_B = H_B.createPotential(pdb_B.topology, nonbondedCutoff=rc*angstrom, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) + pots_B = H_B.createPotential(pdb_B.topology, nonbondedCutoff=rc*nanometer, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) pot_pme_B = pots_B.dmff_potentials['ADMPPmeForce'] pot_disp_B = pots_B.dmff_potentials['ADMPDispPmeForce'] pot_ex_B = pots_B.dmff_potentials['SlaterExForce'] @@ -60,21 +60,21 @@ pme_generator_A = H_A.getGenerators()[0] pme_generator_B = H_B.getGenerators()[0] - pos_AB0 = jnp.array(pdb_AB.positions._value) * 10 + pos_AB0 = jnp.array(pdb_AB.positions._value) n_atoms = len(pos_AB0) n_atoms_A = n_atoms // 2 n_atoms_B = n_atoms // 2 - pos_A0 = jnp.array(pdb_AB.positions._value[:n_atoms_A]) * 10 - pos_B0 = jnp.array(pdb_AB.positions._value[n_atoms_A:n_atoms]) * 10 - box = jnp.array(pdb_AB.topology.getPeriodicBoxVectors()._value) * 10 + pos_A0 = jnp.array(pdb_AB.positions._value[:n_atoms_A]) + pos_B0 = jnp.array(pdb_AB.positions._value[n_atoms_A:n_atoms]) + box = jnp.array(pdb_AB.topology.getPeriodicBoxVectors()._value) # nn list initial allocation - nbl_AB = nblist.NeighborList(box, rc, H_AB.getGenerators()[0].covalent_map) + nbl_AB = nblist.NeighborList(box, rc, pots_AB.meta["cov_map"]) nbl_AB.allocate(pos_AB0) pairs_AB = nbl_AB.pairs - nbl_A = nblist.NeighborList(box, rc, H_A.getGenerators()[0].covalent_map) + nbl_A = nblist.NeighborList(box, rc, pots_A.meta["cov_map"]) nbl_A.allocate(pos_A0) pairs_A = nbl_A.pairs - nbl_B = nblist.NeighborList(box, rc, H_B.getGenerators()[0].covalent_map) + nbl_B = nblist.NeighborList(box, rc, pots_B.meta["cov_map"]) nbl_B.allocate(pos_B0) pairs_B = nbl_B.pairs @@ -107,8 +107,8 @@ E_tot_ref = scan_res['tot'][ipt] # get position array - pos_A = jnp.array(scan_res['posA'][ipt]) - pos_B = jnp.array(scan_res['posB'][ipt]) + pos_A = jnp.array(scan_res['posA'][ipt]) / 10 + pos_B = jnp.array(scan_res['posB'][ipt]) / 10 pos_AB = jnp.concatenate([pos_A, pos_B], axis=0) @@ -131,14 +131,19 @@ # use induced dipole of monomers to compute electrostatic interaction U_ind_AB = jnp.vstack((pme_generator_A.pme_force.U_ind, pme_generator_B.pme_force.U_ind)) params_pme = params['ADMPPmeForce'] - map_atypes = pme_generator_AB.map_atomtype - map_poltypes = pme_generator_AB.map_poltype + map_atypes = pots_AB.meta['ADMPPmeForce_map_atomtype'] + map_poltype = pots_AB.meta['ADMPPmeForce_map_poltype'] Q_local = params_pme['Q_local'][map_atypes] pol = params_pme['pol'][map_poltypes] - tholes = params_pme['tholes'][map_poltypes] + tholes = params_pme['thole'][map_poltypes] pme_force = pme_generator_AB.pme_force - E_AB_nonpol = pme_force.energy_fn(pos_AB, box, pairs_AB, Q_local, U_ind_AB, pol, tholes, params_pme['mScales'], params_pme['pScales'], params_pme['dScales']) + + + E_AB_nonpol = pme_force.energy_fn(pos_AB*10, box*10, pairs_AB, Q_local, U_ind_AB, pol, tholes, \ + pme_generator_AB.mScales, pme_generator_AB.pScales, pme_generator_AB.dScales) E_es = E_AB_nonpol - E_A - E_B + + E_dmp_es = pot_dmp_es_AB(pos_AB, box, pairs_AB, params) \ - pot_dmp_es_A(pos_A, box, pairs_A, params) \ - pot_dmp_es_B(pos_B, box, pairs_B, params) diff --git a/examples/peg_slater_isa/check.py b/examples/peg_slater_isa/check.py index 8be36a4bd..ce1251c20 100755 --- a/examples/peg_slater_isa/check.py +++ b/examples/peg_slater_isa/check.py @@ -27,10 +27,10 @@ H_A = Hamiltonian(ff) H_B = Hamiltonian(ff) - rc = 15 + rc = 1.45 # get potential functions - pots_AB = H_AB.createPotential(pdb_AB.topology, nonbondedCutoff=rc*angstrom, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) + pots_AB = H_AB.createPotential(pdb_AB.topology, nonbondedCutoff=rc*nanometer, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) pot_pme_AB = pots_AB.dmff_potentials['ADMPPmeForce'] pot_disp_AB = pots_AB.dmff_potentials['ADMPDispPmeForce'] pot_ex_AB = pots_AB.dmff_potentials['SlaterExForce'] @@ -40,7 +40,7 @@ pot_dhf_AB = pots_AB.dmff_potentials['SlaterDhfForce'] pot_dmp_es_AB = pots_AB.dmff_potentials['QqTtDampingForce'] pot_dmp_disp_AB = pots_AB.dmff_potentials['SlaterDampingForce'] - pots_A = H_A.createPotential(pdb_A.topology, nonbondedCutoff=rc*angstrom, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) + pots_A = H_A.createPotential(pdb_A.topology, nonbondedCutoff=rc*nanometer, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) pot_pme_A = pots_A.dmff_potentials['ADMPPmeForce'] pot_disp_A = pots_A.dmff_potentials['ADMPDispPmeForce'] pot_ex_A = pots_A.dmff_potentials['SlaterExForce'] @@ -50,7 +50,7 @@ pot_dhf_A = pots_A.dmff_potentials['SlaterDhfForce'] pot_dmp_es_A = pots_A.dmff_potentials['QqTtDampingForce'] pot_dmp_disp_A = pots_A.dmff_potentials['SlaterDampingForce'] - pots_B = H_B.createPotential(pdb_B.topology, nonbondedCutoff=rc*angstrom, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) + pots_B = H_B.createPotential(pdb_B.topology, nonbondedCutoff=rc*nanometer, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) pot_pme_B = pots_B.dmff_potentials['ADMPPmeForce'] pot_disp_B = pots_B.dmff_potentials['ADMPDispPmeForce'] pot_ex_B = pots_B.dmff_potentials['SlaterExForce'] @@ -66,22 +66,22 @@ pme_generator_B = H_B.getGenerators()[0] # init positions used to set up neighbor list - pos_AB0 = jnp.array(pdb_AB.positions._value) * 10 + pos_AB0 = jnp.array(pdb_AB.positions._value) n_atoms = len(pos_AB0) n_atoms_A = n_atoms // 2 n_atoms_B = n_atoms // 2 - pos_A0 = jnp.array(pdb_AB.positions._value[:n_atoms_A]) * 10 - pos_B0 = jnp.array(pdb_AB.positions._value[n_atoms_A:n_atoms]) * 10 - box = jnp.array(pdb_AB.topology.getPeriodicBoxVectors()._value) * 10 + pos_A0 = jnp.array(pdb_AB.positions._value[:n_atoms_A]) + pos_B0 = jnp.array(pdb_AB.positions._value[n_atoms_A:n_atoms]) + box = jnp.array(pdb_AB.topology.getPeriodicBoxVectors()._value) # nn list initial allocation - nbl_AB = nblist.NeighborList(box, rc, H_AB.getGenerators()[0].covalent_map) + nbl_AB = nblist.NeighborList(box, rc, pots_AB.meta["cov_map"]) nbl_AB.allocate(pos_AB0) pairs_AB = nbl_AB.pairs - nbl_A = nblist.NeighborList(box, rc, H_A.getGenerators()[0].covalent_map) + nbl_A = nblist.NeighborList(box, rc, pots_A.meta["cov_map"]) nbl_A.allocate(pos_A0) pairs_A = nbl_A.pairs - nbl_B = nblist.NeighborList(box, rc, H_B.getGenerators()[0].covalent_map) + nbl_B = nblist.NeighborList(box, rc, pots_B.meta["cov_map"]) nbl_B.allocate(pos_B0) pairs_B = nbl_B.pairs @@ -123,7 +123,7 @@ params_dmp_disp['C10'] = params['C10'] # long range parameters params_espol = {} - for k in ['mScales', 'pScales', 'dScales', 'Q_local', 'pol', 'tholes']: + for k in ['mScales', 'pScales', 'dScales', 'Q_local', 'pol', 'thole']: params_espol[k] = params[k] params_disp = {} for k in ['B', 'C6', 'C8', 'C10', 'mScales']: @@ -173,8 +173,8 @@ E_dhf_ref = scan_res['dhf'][ipt] E_tot_ref = scan_res['tot'][ipt] - pos_A = jnp.array(scan_res['posA'][ipt]) - pos_B = jnp.array(scan_res['posB'][ipt]) + pos_A = jnp.array(scan_res['posA'][ipt]) / 10 + pos_B = jnp.array(scan_res['posB'][ipt]) / 10 pos_AB = jnp.concatenate([pos_A, pos_B], axis=0) ##################### @@ -196,11 +196,11 @@ # use induced dipole of monomers to compute electrostatic interaction U_ind_AB = jnp.vstack((pme_generator_A.pme_force.U_ind, pme_generator_B.pme_force.U_ind)) params = paramtree['ADMPPmeForce'] - map_atypes = pme_generator_AB.map_atomtype - map_poltype = pme_generator_AB.map_poltype + map_atypes = pots_AB.meta['ADMPPmeForce_map_atomtype'] + map_poltype = pots_AB.meta['ADMPPmeForce_map_poltype'] Q_local = params['Q_local'][map_atypes] pol = params['pol'][map_poltype] - tholes = params['tholes'][map_poltype] + tholes = params['thole'][map_poltype] pme_force = pme_generator_AB.pme_force E_AB_nonpol = pme_force.energy_fn(pos_AB, box, pairs_AB, Q_local, U_ind_AB, pol, tholes, params['mScales'], params['pScales'], params['dScales']) E_es = E_AB_nonpol - E_A - E_B diff --git a/examples/peg_slater_isa/check_calc.py b/examples/peg_slater_isa/check_calc.py new file mode 100755 index 000000000..332051acc --- /dev/null +++ b/examples/peg_slater_isa/check_calc.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python +import sys +import numpy as np +import openmm +from openmm import * +from openmm.app import * +from openmm.unit import * +import jax +import jax_md +import jax.numpy as jnp +import dmff +from dmff.api import Hamiltonian +from dmff.common import nblist +import pickle +import time +from jax import value_and_grad, jit + +if __name__ == '__main__': + ff = 'peg.xml' + pdb_AB = PDBFile('peg2.pdb') + H_AB = Hamiltonian(ff) + rc = 1.45 + # get potential functions + pots_AB = H_AB.createPotential(pdb_AB.topology, nonbondedCutoff=rc*nanometer, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) + pot_pme_AB = pots_AB.dmff_potentials['ADMPPmeForce'] + pot_disp_AB = pots_AB.dmff_potentials['ADMPDispPmeForce'] + pot_ex_AB = pots_AB.dmff_potentials['SlaterExForce'] + pot_sr_es_AB = pots_AB.dmff_potentials['SlaterSrEsForce'] + pot_sr_pol_AB = pots_AB.dmff_potentials['SlaterSrPolForce'] + pot_sr_disp_AB = pots_AB.dmff_potentials['SlaterSrDispForce'] + pot_dhf_AB = pots_AB.dmff_potentials['SlaterDhfForce'] + pot_dmp_es_AB = pots_AB.dmff_potentials['QqTtDampingForce'] + pot_dmp_disp_AB = pots_AB.dmff_potentials['SlaterDampingForce'] + + paramtree = H_AB.getParameters() + + # init positions used to set up neighbor list + pos_AB0 = jnp.array(pdb_AB.positions._value) + n_atoms = len(pos_AB0) + box = jnp.array(pdb_AB.topology.getPeriodicBoxVectors()._value) + + # nn list initial allocation + nbl_AB = nblist.NeighborList(box, rc, pots_AB.meta['cov_map']) + nbl_AB.allocate(pos_AB0) + pairs_AB = nbl_AB.pairs + pairs_AB = pairs_AB[pairs_AB[:, 0] < pairs_AB[:, 1]] + + pos_AB = jnp.array(pos_AB0) + E_es = pot_pme_AB(pos_AB, box, pairs_AB, paramtree) + E_disp = pot_disp_AB(pos_AB, box, pairs_AB, paramtree) + E_ex_AB = pot_ex_AB(pos_AB, box, pairs_AB, paramtree) + E_sr_es = pot_sr_es_AB(pos_AB, box, pairs_AB, paramtree) + E_sr_pol = pot_sr_pol_AB(pos_AB, box, pairs_AB, paramtree) + E_sr_disp = pot_sr_disp_AB(pos_AB, box, pairs_AB, paramtree) + E_dhf = pot_dhf_AB(pos_AB, box, pairs_AB, paramtree) + E_dmp_es = pot_dmp_es_AB(pos_AB, box, pairs_AB, paramtree) + E_dmp_disp = pot_dmp_disp_AB(pos_AB, box, pairs_AB, paramtree) + print(E_es, E_disp, E_ex_AB, E_sr_es, E_sr_pol, E_sr_disp, E_dhf, E_dmp_es, E_dmp_disp) diff --git a/examples/peg_slater_isa/fit.py b/examples/peg_slater_isa/fit.py index bb5639ddf..0574c3b5f 100755 --- a/examples/peg_slater_isa/fit.py +++ b/examples/peg_slater_isa/fit.py @@ -55,10 +55,10 @@ dmp_es_generator_B, \ dmp_disp_generator_B = H_B.getGenerators() - rc = 15 + rc = 1.45 # get potential functions - pots_AB = H_AB.createPotential(pdb_AB.topology, nonbondedCutoff=rc*angstrom, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) + pots_AB = H_AB.createPotential(pdb_AB.topology, nonbondedCutoff=rc*nanometer, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) pot_pme_AB = pots_AB.dmff_potentials['ADMPPmeForce'] pot_disp_AB = pots_AB.dmff_potentials['ADMPDispPmeForce'] pot_ex_AB = pots_AB.dmff_potentials['SlaterExForce'] @@ -68,7 +68,7 @@ pot_dhf_AB = pots_AB.dmff_potentials['SlaterDhfForce'] pot_dmp_es_AB = pots_AB.dmff_potentials['QqTtDampingForce'] pot_dmp_disp_AB = pots_AB.dmff_potentials['SlaterDampingForce'] - pots_A = H_A.createPotential(pdb_A.topology, nonbondedCutoff=rc*angstrom, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) + pots_A = H_A.createPotential(pdb_A.topology, nonbondedCutoff=rc*nanometer, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) pot_pme_A = pots_A.dmff_potentials['ADMPPmeForce'] pot_disp_A = pots_A.dmff_potentials['ADMPDispPmeForce'] pot_ex_A = pots_A.dmff_potentials['SlaterExForce'] @@ -78,7 +78,7 @@ pot_dhf_A = pots_A.dmff_potentials['SlaterDhfForce'] pot_dmp_es_A = pots_A.dmff_potentials['QqTtDampingForce'] pot_dmp_disp_A = pots_A.dmff_potentials['SlaterDampingForce'] - pots_B = H_B.createPotential(pdb_B.topology, nonbondedCutoff=rc*angstrom, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) + pots_B = H_B.createPotential(pdb_B.topology, nonbondedCutoff=rc*nanometer, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) pot_pme_B = pots_B.dmff_potentials['ADMPPmeForce'] pot_disp_B = pots_B.dmff_potentials['ADMPDispPmeForce'] pot_ex_B = pots_B.dmff_potentials['SlaterExForce'] @@ -89,21 +89,21 @@ pot_dmp_es_B = pots_B.dmff_potentials['QqTtDampingForce'] pot_dmp_disp_B = pots_B.dmff_potentials['SlaterDampingForce'] - pos_AB0 = jnp.array(pdb_AB.positions._value) * 10 + pos_AB0 = jnp.array(pdb_AB.positions._value) n_atoms = len(pos_AB0) n_atoms_A = n_atoms // 2 n_atoms_B = n_atoms // 2 - pos_A0 = jnp.array(pdb_AB.positions._value[:n_atoms_A]) * 10 - pos_B0 = jnp.array(pdb_AB.positions._value[n_atoms_A:n_atoms]) * 10 - box = jnp.array(pdb_AB.topology.getPeriodicBoxVectors()._value) * 10 + pos_A0 = jnp.array(pdb_AB.positions._value[:n_atoms_A]) + pos_B0 = jnp.array(pdb_AB.positions._value[n_atoms_A:n_atoms]) + box = jnp.array(pdb_AB.topology.getPeriodicBoxVectors()._value) # nn list initial allocation - nbl_AB = nblist.NeighborList(box, rc, H_AB.getGenerators()[0].covalent_map) + nbl_AB = nblist.NeighborList(box, rc, pots_AB.meta["cov_map"]) nbl_AB.allocate(pos_AB0) pairs_AB = nbl_AB.pairs - nbl_A = nblist.NeighborList(box, rc, H_A.getGenerators()[0].covalent_map) + nbl_A = nblist.NeighborList(box, rc, pots_A.meta["cov_map"]) nbl_A.allocate(pos_A0) pairs_A = nbl_A.pairs - nbl_B = nblist.NeighborList(box, rc, H_B.getGenerators()[0].covalent_map) + nbl_B = nblist.NeighborList(box, rc, pots_B.meta["cov_map"]) nbl_B.allocate(pos_B0) pairs_B = nbl_B.pairs @@ -207,8 +207,8 @@ def MSELoss(params, scan_res): # calculate each points, only the short range and damping components for ipt in range(npts): # get position array - pos_A = jnp.array(scan_res['posA'][ipt]) - pos_B = jnp.array(scan_res['posB'][ipt]) + pos_A = jnp.array(scan_res['posA'][ipt]) / 10 + pos_B = jnp.array(scan_res['posB'][ipt]) / 10 pos_AB = jnp.concatenate([pos_A, pos_B], axis=0) ##################### diff --git a/examples/peg_slater_isa/params.0.pickle b/examples/peg_slater_isa/params.0.pickle index 0c1ac1891..1b13207af 100644 Binary files a/examples/peg_slater_isa/params.0.pickle and b/examples/peg_slater_isa/params.0.pickle differ diff --git a/examples/peg_slater_isa/params.pickle b/examples/peg_slater_isa/params.pickle index 6bd1cf8dd..294e6c91f 100644 Binary files a/examples/peg_slater_isa/params.pickle and b/examples/peg_slater_isa/params.pickle differ diff --git a/examples/peg_slater_isa/peg.xml b/examples/peg_slater_isa/peg.xml new file mode 100644 index 000000000..25d90db50 --- /dev/null +++ b/examples/peg_slater_isa/peg.xml @@ -0,0 +1,145 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/peg_slater_isa/remove_lr.py b/examples/peg_slater_isa/remove_lr.py index 795f03de4..def3c957a 100755 --- a/examples/peg_slater_isa/remove_lr.py +++ b/examples/peg_slater_isa/remove_lr.py @@ -50,10 +50,10 @@ dmp_es_generator_B, \ dmp_disp_generator_B = H_B.getGenerators() - rc = 15 + rc = 1.45 # get potential functions - pots_AB = H_AB.createPotential(pdb_AB.topology, nonbondedCutoff=rc*angstrom, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) + pots_AB = H_AB.createPotential(pdb_AB.topology, nonbondedCutoff=rc*nanometer, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) pot_pme_AB = pots_AB.dmff_potentials['ADMPPmeForce'] pot_disp_AB = pots_AB.dmff_potentials['ADMPDispPmeForce'] pot_ex_AB = pots_AB.dmff_potentials['SlaterExForce'] @@ -63,7 +63,7 @@ pot_dhf_AB = pots_AB.dmff_potentials['SlaterDhfForce'] pot_dmp_es_AB = pots_AB.dmff_potentials['QqTtDampingForce'] pot_dmp_disp_AB = pots_AB.dmff_potentials['SlaterDampingForce'] - pots_A = H_A.createPotential(pdb_A.topology, nonbondedCutoff=rc*angstrom, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) + pots_A = H_A.createPotential(pdb_A.topology, nonbondedCutoff=rc*nanometer, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) pot_pme_A = pots_A.dmff_potentials['ADMPPmeForce'] pot_disp_A = pots_A.dmff_potentials['ADMPDispPmeForce'] pot_ex_A = pots_A.dmff_potentials['SlaterExForce'] @@ -73,7 +73,7 @@ pot_dhf_A = pots_A.dmff_potentials['SlaterDhfForce'] pot_dmp_es_A = pots_A.dmff_potentials['QqTtDampingForce'] pot_dmp_disp_A = pots_A.dmff_potentials['SlaterDampingForce'] - pots_B = H_B.createPotential(pdb_B.topology, nonbondedCutoff=rc*angstrom, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) + pots_B = H_B.createPotential(pdb_B.topology, nonbondedCutoff=rc*nanometer, nonbondedMethod=CutoffPeriodic, ethresh=1e-4) pot_pme_B = pots_B.dmff_potentials['ADMPPmeForce'] pot_disp_B = pots_B.dmff_potentials['ADMPDispPmeForce'] pot_ex_B = pots_B.dmff_potentials['SlaterExForce'] @@ -84,21 +84,21 @@ pot_dmp_es_B = pots_B.dmff_potentials['QqTtDampingForce'] pot_dmp_disp_B = pots_B.dmff_potentials['SlaterDampingForce'] - pos_AB0 = jnp.array(pdb_AB.positions._value) * 10 + pos_AB0 = jnp.array(pdb_AB.positions._value) n_atoms = len(pos_AB0) n_atoms_A = n_atoms // 2 n_atoms_B = n_atoms // 2 - pos_A0 = jnp.array(pdb_AB.positions._value[:n_atoms_A]) * 10 - pos_B0 = jnp.array(pdb_AB.positions._value[n_atoms_A:n_atoms]) * 10 - box = jnp.array(pdb_AB.topology.getPeriodicBoxVectors()._value) * 10 + pos_A0 = jnp.array(pdb_AB.positions._value[:n_atoms_A]) + pos_B0 = jnp.array(pdb_AB.positions._value[n_atoms_A:n_atoms]) + box = jnp.array(pdb_AB.topology.getPeriodicBoxVectors()._value) # nn list initial allocation - nbl_AB = nblist.NeighborList(box, rc, H_AB.getGenerators()[0].covalent_map) + nbl_AB = nblist.NeighborList(box, rc, pots_AB.meta["cov_map"]) nbl_AB.allocate(pos_AB0) pairs_AB = nbl_AB.pairs - nbl_A = nblist.NeighborList(box, rc, H_A.getGenerators()[0].covalent_map) + nbl_A = nblist.NeighborList(box, rc, pots_A.meta["cov_map"]) nbl_A.allocate(pos_A0) pairs_A = nbl_A.pairs - nbl_B = nblist.NeighborList(box, rc, H_B.getGenerators()[0].covalent_map) + nbl_B = nblist.NeighborList(box, rc, pots_B.meta["cov_map"]) nbl_B.allocate(pos_B0) pairs_B = nbl_B.pairs @@ -136,8 +136,8 @@ E_tot_ref = scan_res['tot'][ipt] # get position array - pos_A = jnp.array(scan_res['posA'][ipt]) - pos_B = jnp.array(scan_res['posB'][ipt]) + pos_A = jnp.array(scan_res['posA'][ipt]) / 10 + pos_B = jnp.array(scan_res['posB'][ipt]) / 10 pos_AB = jnp.concatenate([pos_A, pos_B], axis=0) @@ -160,14 +160,16 @@ # use induced dipole of monomers to compute electrostatic interaction U_ind_AB = jnp.vstack((pme_generator_A.pme_force.U_ind, pme_generator_B.pme_force.U_ind)) params_pme = params['ADMPPmeForce'] - map_atypes = pme_generator_AB.map_atomtype - map_poltypes = pme_generator_AB.map_poltype + map_atypes = pots_AB.meta['ADMPPmeForce_map_atomtype'] + map_poltype = pots_AB.meta['ADMPPmeForce_map_poltype'] Q_local = params_pme['Q_local'][map_atypes] pol = params_pme['pol'][map_poltypes] - tholes = params_pme['tholes'][map_poltypes] + tholes = params_pme['thole'][map_poltypes] pme_force = pme_generator_AB.pme_force - E_AB_nonpol = pme_force.energy_fn(pos_AB, box, pairs_AB, Q_local, U_ind_AB, pol, tholes, params_pme['mScales'], params_pme['pScales'], params_pme['dScales']) + E_AB_nonpol = pme_force.energy_fn(pos_AB*10, box*10, pairs_AB, Q_local, U_ind_AB, pol, tholes, \ + pme_generator_AB.mScales, pme_generator_AB.pScales, pme_generator_AB.dScales) E_es = E_AB_nonpol - E_A - E_B + # E_dmp_es = pot_dmp_es_AB(pos_AB, box, pairs_AB, dmp_es_generator_AB.params) \ # - pot_dmp_es_A(pos_A, box, pairs_A, dmp_es_generator_A.params) \ # - pot_dmp_es_B(pos_B, box, pairs_B, dmp_es_generator_B.params) diff --git a/examples/peg_slater_isa/res_dhf.xvg b/examples/peg_slater_isa/res_dhf.xvg index 9494c65cd..78a13169a 100644 --- a/examples/peg_slater_isa/res_dhf.xvg +++ b/examples/peg_slater_isa/res_dhf.xvg @@ -1,499 +1,499 @@ --6.395951223165 -6.395951223165 -6.554231 --3.3727073756100006 -3.3727073756100006 -3.8373973 --1.73571668474 -1.73571668474 -2.2134938 --0.8775575169800001 -0.8775575169800001 -1.2617446 --0.2177143365 -0.2177143365 -0.39894447 --0.053409102475000005 -0.053409102475000005 -0.122665405 --0.013282430755000001 -0.013282430755000001 -0.036893483 --0.003417849645 -0.003417849645 -0.0108942175 --0.000489314435 -0.000489314435 -0.0016996133 --8.117003781520001e-05 -8.117003781520001e-05 -0.00025826736 --1.7369076745520003e-05 -1.7369076745520003e-05 -3.8487244e-05 --4.964320210975 -4.964320210975 -7.1791205 --1.14251951132 -1.14251951132 -2.038255 --0.24832979315500003 -0.24832979315500003 -0.5499255 --0.054577660015 -0.054577660015 -0.14337324 --0.013139997379999999 -0.013139997379999999 -0.03633278 --0.0021383122200000003 -0.0021383122200000003 -0.0044007637 --0.00054657659 -0.00054657659 -0.00050145574 --0.00018933871096075 -0.00018933871096075 -5.409494e-05 --7.420437364970001 -7.420437364970001 -9.406848 --3.5368059827850002 -3.5368059827850002 -5.158201 --0.774934099635 -0.774934099635 -1.4549233 --0.165644081495 -0.165644081495 -0.3825976 --0.035053654365000006 -0.035053654365000006 -0.0954022 --0.00737366424 -0.00737366424 -0.022880714 --0.00069281694 -0.00069281694 -0.0025591345 --6.0019970223100004e-05 -6.0019970223100004e-05 -0.00027635758 --4.42436988413e-06 -4.42436988413e-06 -2.9316503e-05 --13.282306673870002 -13.282306673870002 -9.896755 --6.79626937347 -6.79626937347 -5.8241596 --3.4098981344650006 -3.4098981344650006 -3.376435 --0.8193444321350001 -0.8193444321350001 -1.0919054 --0.188311755825 -0.188311755825 -0.3386179 --0.041498784275 -0.041498784275 -0.101666205 --0.008511267135 -0.008511267135 -0.029775275 --0.000464319675 -0.000464319675 -0.0045583253 -0.0001401466301375 0.0001401466301375 -0.0006765318 -9.981339956795e-05 9.981339956795e-05 -9.804452e-05 --7.3663997965600005 -7.3663997965600005 -5.693802 --1.5639944657250002 -1.5639944657250002 -1.7284988 --0.300878598045 -0.300878598045 -0.4851229 --0.06250307308 -0.06250307308 -0.12767383 --0.01597390957 -0.01597390957 -0.031803083 --0.0033753428 -0.0033753428 -0.0036322086 --0.00108338632 -0.00108338632 -0.00038323744 --0.000424569605 -0.000424569605 -3.8112546e-05 --7.659287921650001 -7.659287921650001 -5.0352745 --4.16042038761 -4.16042038761 -2.895676 --2.1948879380250004 -2.1948879380250004 -1.6317191 --1.132193866155 -1.132193866155 -0.90419555 --0.57411167878 -0.57411167878 -0.49421608 --0.14263469834 -0.14263469834 -0.14306143 --0.034364565635000004 -0.034364565635000004 -0.04018702 --0.008027124935 -0.008027124935 -0.011067651 --0.001773236445 -0.001773236445 -0.0030089202 --0.00011631169841510001 -0.00011631169841510001 -0.0004203144 -3.1818301387150004e-05 3.1818301387150004e-05 -5.8153186e-05 -2.79189557836e-05 2.79189557836e-05 -8.010658e-06 --9.932218112035 -9.932218112035 -9.585552 --5.0588160255000005 -5.0588160255000005 -5.711941 --2.657707822405 -2.657707822405 -3.3527348 --0.744602695825 -0.744602695825 -1.0912757 --0.191315380335 -0.191315380335 -0.32784867 --0.04380410455 -0.04380410455 -0.091719836 --0.009107413165 -0.009107413165 -0.0242315 --0.000734536135 -0.000734536135 -0.0030355044 --2.2328219628025002e-05 -2.2328219628025002e-05 -0.0003542006 -2.6104872912310004e-05 2.6104872912310004e-05 -3.9219856e-05 --6.80929915236 -6.80929915236 -5.943305 --1.6045249656 -1.6045249656 -1.7337825 --0.32262406550000006 -0.32262406550000006 -0.46802494 --0.058000891935 -0.058000891935 -0.11952178 --0.009027808005 -0.009027808005 -0.029344756 --3.840333526545e-05 -3.840333526545e-05 -0.0033943746 -0.0002271719036733 0.0002271719036733 -0.00037696026 -0.00011445014723895 0.00011445014723895 -4.0717423e-05 --3.7387166471350004 -3.7387166471350004 -5.599716 --0.772207675415 -0.772207675415 -1.7391598 --0.1549102761 -0.1549102761 -0.5167951 --0.03268211898 -0.03268211898 -0.14812239 --0.0079799447 -0.0079799447 -0.041215915 --0.0015597307850000002 -0.0015597307850000002 -0.0057886397 --0.00047198613500000003 -0.00047198613500000003 -0.0007805415 --0.0001800033143411 -0.0001800033143411 -0.00010206973 --5.396351066895001 -5.396351066895001 -8.754257 --1.2098745609100001 -1.2098745609100001 -2.787104 --0.25481354417 -0.25481354417 -0.7902878 --0.05289224654500001 -0.05289224654500001 -0.20155503 --0.010745620145 -0.010745620145 -0.04699192 --0.0009988452200000001 -0.0009988452200000001 -0.0046500657 --6.990724274195e-05 -6.990724274195e-05 -0.00041294715 --4.5662139131450004e-05 -4.5662139131450004e-05 -3.4162324e-05 --8.669984622395 -8.669984622395 -9.880216 --4.532301852435 -4.532301852435 -5.8250585 --1.197238502 -1.197238502 -1.8614478 --0.29627000538500003 -0.29627000538500003 -0.5423613 --0.070004677935 -0.070004677935 -0.14792557 --0.016513266035 -0.016513266035 -0.03866166 --0.00215075709 -0.00215075709 -0.0049543814 --0.00038907284500000006 -0.00038907284500000006 -0.00062322716 --0.00010734164642165 -0.00010734164642165 -7.80836e-05 --8.613033694165 -8.613033694165 -6.5861793 --4.072253550875001 -4.072253550875001 -3.51537 --1.909714687155 -1.909714687155 -1.8651688 --0.897964977125 -0.897964977125 -0.98618376 --0.42742032039000005 -0.42742032039000005 -0.5205384 --0.10297575944500001 -0.10297575944500001 -0.14484338 --0.02698200095 -0.02698200095 -0.04031661 --0.007498060430000001 -0.007498060430000001 -0.011214638 --0.0021737302150000005 -0.0021737302150000005 -0.0031111669 --0.00037542024500000006 -0.00037542024500000006 -0.0004508067 --8.28750411909e-05 -8.28750411909e-05 -6.4520165e-05 --3.122605895055e-05 -3.122605895055e-05 -9.110197e-06 --16.603716846695 -16.603716846695 -10.160444 --8.795391183560001 -8.795391183560001 -5.928369 --4.59638371743 -4.59638371743 -3.4169025 --2.38284929462 -2.38284929462 -1.9497849 --0.64269477974 -0.64269477974 -0.62026525 --0.181901492555 -0.181901492555 -0.19279574 --0.056065425845 -0.056065425845 -0.05892755 --0.019394279695000002 -0.019394279695000002 -0.017786108 --0.005059574795000001 -0.005059574795000001 -0.0028988973 --0.001717260785 -0.001717260785 -0.00046555372 --0.0006978316450000001 -0.0006978316450000001 -7.399218e-05 --5.688548317915 -5.688548317915 -5.8644047 --2.8894232677750002 -2.8894232677750002 -3.3554642 --1.475955149525 -1.475955149525 -1.9146435 --0.7562085873000001 -0.7562085873000001 -1.0902807 --0.19772265053500002 -0.19772265053500002 -0.3514719 --0.05071788621 -0.05071788621 -0.11225288 --0.01277867607 -0.01277867607 -0.035444055 --0.0031926080000000004 -0.0031926080000000004 -0.011046906 --0.000413437485 -0.000413437485 -0.001872197 --6.843849472120001e-05 -6.843849472120001e-05 -0.00030719352 --2.4375147224745002e-05 -2.4375147224745002e-05 -4.884095e-05 --8.415012550535002 -8.415012550535002 -4.220803 --4.700202787475001 -4.700202787475001 -2.3805647 --1.214179356965 -1.214179356965 -0.71374345 --0.259265473245 -0.259265473245 -0.19991323 --0.0499622148 -0.0499622148 -0.053104106 --0.009414544155000001 -0.009414544155000001 -0.013536194 --0.0009116786200000001 -0.0009116786200000001 -0.0016392432 --0.0001527995043248 -0.0001527995043248 -0.00018736855 --4.0632918004500006e-05 -4.0632918004500006e-05 -2.0471227e-05 --9.983601509985002 -9.983601509985002 -7.437299 --5.355853595810001 -5.355853595810001 -4.298724 --2.82147934479 -2.82147934479 -2.4543262 --0.7563393634550001 -0.7563393634550001 -0.77679396 --0.19896469582 -0.19896469582 -0.23840772 --0.053097481880000005 -0.053097481880000005 -0.07143886 --0.015095049700000002 -0.015095049700000002 -0.020992054 --0.002975610425 -0.002975610425 -0.003244186 --0.0008816691550000001 -0.0008816691550000001 -0.00048650565 --0.00035021544500000003 -0.00035021544500000003 -7.115371e-05 --7.8506161931900005 -7.8506161931900005 -9.125624 --3.9611453051800005 -3.9611453051800005 -5.276129 --1.95747019546 -1.95747019546 -3.0236912 --0.9543128805150001 -0.9543128805150001 -1.7206391 --0.22322352817000002 -0.22322352817000002 -0.54835624 --0.05276724649000001 -0.05276724649000001 -0.17211285 --0.012967974620000001 -0.012967974620000001 -0.053453375 --0.003418532275 -0.003418532275 -0.01647162 --0.00058207335 -0.00058207335 -0.0027854077 --0.0001141689848069 -0.0001141689848069 -0.00046551478 --4.1463479176500005e-05 -4.1463479176500005e-05 -7.695677e-05 --6.965933174230001 -6.965933174230001 -7.869577 --3.5101163050050004 -3.5101163050050004 -4.245632 --0.8256617789600001 -0.8256617789600001 -1.16258 --0.182980520545 -0.182980520545 -0.29847887 --0.03969887275 -0.03969887275 -0.073092625 --0.00863306408 -0.00863306408 -0.01730654 --0.0009339691150000001 -0.0009339691150000001 -0.0019143093 --0.0001385982562153 -0.0001385982562153 -0.00020612404 --3.6299491659650004e-05 -3.6299491659650004e-05 -2.1968037e-05 --6.126552028805 -6.126552028805 -7.1638203 --2.941269016275 -2.941269016275 -3.9606087 --1.38638230503 -1.38638230503 -2.1638992 --0.29740101827500004 -0.29740101827500004 -0.6284311 --0.06224755942 -0.06224755942 -0.17775771 --0.013046949660000001 -0.013046949660000001 -0.04940739 --0.0028825889600000002 -0.0028825889600000002 -0.013574088 --0.000395741615 -0.000395741615 -0.0019280558 --0.0001027981580226 -0.0001027981580226 -0.00027110626 --4.1792083343350005e-05 -4.1792083343350005e-05 -3.787328e-05 --7.547160771915001 -7.547160771915001 -8.593436 --3.8999607582000007 -3.8999607582000007 -4.939512 --1.9810366834600002 -1.9810366834600002 -2.8123567 --0.495208498715 -0.495208498715 -0.8920064 --0.121963217915 -0.121963217915 -0.27704105 --0.030489380145 -0.030489380145 -0.08480838 --0.007987952475 -0.007987952475 -0.025693435 --0.00128003627 -0.00128003627 -0.004223696 --0.000290826635 -0.000290826635 -0.000685211 --9.66841735009e-05 -9.66841735009e-05 -0.000109964596 --8.82060280986 -8.82060280986 -6.5706615 --4.700571801500001 -4.700571801500001 -3.7745955 --2.4697655531950002 -2.4697655531950002 -2.1375794 --1.286163635645 -1.286163635645 -1.1969167 --0.667146560085 -0.667146560085 -0.6642341 --0.18028116523 -0.18028116523 -0.20058282 --0.05015009558 -0.05015009558 -0.059515532 --0.014901471585000001 -0.014901471585000001 -0.01747612 --0.004941952395 -0.004941952395 -0.0051024584 --0.00124642987 -0.00124642987 -0.00080147607 --0.00043173722 -0.00043173722 -0.00012586042 --0.00018487825163625 -0.00018487825163625 -1.9812325e-05 --8.387036036440001 -8.387036036440001 -9.197266 --4.16889434639 -4.16889434639 -5.140165 --2.01478323265 -2.01478323265 -2.8436913 --0.95499590434 -0.95499590434 -1.5628116 --0.20904924132 -0.20904924132 -0.46745592 --0.045954887895000004 -0.045954887895000004 -0.13931781 --0.010411525270000001 -0.010411525270000001 -0.0414966 --0.00244260767 -0.00244260767 -0.012324749 --0.000294554845 -0.000294554845 -0.0019685102 --4.7524413370300007e-05 -4.7524413370300007e-05 -0.0003069478 -2.1165811691655e-06 2.1165811691655e-06 -4.6547353e-05 --7.70963576989 -7.70963576989 -3.3707469 --4.04252987155 -4.04252987155 -1.967554 --2.088829710305 -2.088829710305 -1.1380664 --1.0660511937000001 -1.0660511937000001 -0.6536455 --0.5384321052150001 -0.5384321052150001 -0.37336782 --0.13387786819000003 -0.13387786819000003 -0.12037915 --0.031938446105000004 -0.031938446105000004 -0.03839301 --0.00691561951 -0.00691561951 -0.012157381 --0.001331312285 -0.001331312285 -0.0038299337 -0.00031033410000000003 0.00031033410000000003 -0.00067212805 -0.00020388915109535 0.00020388915109535 -0.000117037445 -0.000151122136437 0.000151122136437 -2.0228326e-05 --6.840992298 -6.840992298 -5.7760706 --3.3838670371050004 -3.3838670371050004 -3.3130534 --1.66786898633 -1.66786898633 -1.8686304 --0.8205049031350001 -0.8205049031350001 -1.0374787 --0.197615792685 -0.197615792685 -0.3063737 --0.047139460985000006 -0.047139460985000006 -0.086136356 --0.01095531883 -0.01095531883 -0.023300892 --0.002407242185 -0.002407242185 -0.0061279726 --0.00016559712574025002 -0.00016559712574025002 -0.00079940696 -3.9064683225000004e-05 3.9064683225000004e-05 -0.000102258964 -2.7199480566800003e-05 2.7199480566800003e-05 -1.3020563e-05 --5.892283232175 -5.892283232175 -6.451158 --2.725434957855 -2.725434957855 -3.3610175 --1.2807091856500001 -1.2807091856500001 -1.7610543 --0.29959485982 -0.29959485982 -0.49393556 --0.07396563851 -0.07396563851 -0.14153187 --0.019024504275000003 -0.019024504275000003 -0.040740445 --0.005278594005000001 -0.005278594005000001 -0.011595912 --0.000990049795 -0.000990049795 -0.0016872765 --0.00026035990110525003 -0.00026035990110525003 -0.00023060135 --8.360486901675001e-05 -8.360486901675001e-05 -2.9625684e-05 --7.362602535910001 -7.362602535910001 -7.062088 --3.3013213433600006 -3.3013213433600006 -3.8092482 --1.5115133724800003 -1.5115133724800003 -2.0544631 --0.34719501729 -0.34719501729 -0.60244817 --0.09128902882500001 -0.09128902882500001 -0.17995551 --0.027771094975000004 -0.027771094975000004 -0.05484074 --0.01010996034 -0.01010996034 -0.016947778 --0.003084043575 -0.003084043575 -0.0029185184 --0.001207808765 -0.001207808765 -0.00048827135 --0.00052751546 -0.00052751546 -7.763691e-05 --9.032399111830001 -9.032399111830001 -10.056278 --4.794203774015 -4.794203774015 -5.816675 --2.4883669056350004 -2.4883669056350004 -3.304336 --0.63941279972 -0.63941279972 -1.016694 --0.158742009565 -0.158742009565 -0.29643196 --0.039304470140000006 -0.039304470140000006 -0.08278728 --0.010112034485000001 -0.010112034485000001 -0.022356939 --0.00157629769 -0.00157629769 -0.002996997 --0.00034491193500000005 -0.00034491193500000005 -0.00038735208 --0.00011079623180010002 -0.00011079623180010002 -4.9018505e-05 --6.866088796125 -6.866088796125 -9.604031 --1.558866391635 -1.558866391635 -3.4660976 --0.32270075635500006 -0.32270075635500006 -1.173036 --0.06996248615 -0.06996248615 -0.36521608 --0.015553488255000003 -0.015553488255000003 -0.10398358 --0.0015021798250000001 -0.0015021798250000001 -0.013572637 --0.00011298374431480002 -0.00011298374431480002 -0.0015313531 -4.872906917235e-06 4.872906917235e-06 -0.00015511917 --6.810736981180001 -6.810736981180001 -4.8070893 --3.6730193382450005 -3.6730193382450005 -2.7690964 --1.93945522219 -1.93945522219 -1.5721562 --1.0081230543700002 -1.0081230543700002 -0.8822965 --0.5180612707950001 -0.5180612707950001 -0.49061298 --0.13371177906 -0.13371177906 -0.14867772 --0.03360524478 -0.03360524478 -0.044263605 --0.008093733870000001 -0.008093733870000001 -0.013042729 --0.00176575377 -0.00176575377 -0.0038214473 --5.4657914986250004e-05 -5.4657914986250004e-05 -0.00060312997 -7.137631448685e-05 7.137631448685e-05 -9.500037e-05 -4.4063686947350005e-05 4.4063686947350005e-05 -1.4955056e-05 --7.291269801310001 -7.291269801310001 -8.6798115 --3.871284128275 -3.871284128275 -5.1228952 --2.004500803215 -2.004500803215 -2.9725142 --1.019907112275 -1.019907112275 -1.7004241 --0.257286791425 -0.257286791425 -0.53747886 --0.06464763399000001 -0.06464763399000001 -0.16367525 --0.016592556135 -0.016592556135 -0.04837263 --0.0044294810500000005 -0.0044294810500000005 -0.013947838 --0.00068483542 -0.00068483542 -0.0020810706 --0.0001332501536731 -0.0001332501536731 -0.0003001239 --4.035576392330001e-05 -4.035576392330001e-05 -4.223193e-05 --6.822473543790001 -6.822473543790001 -5.0514884 --3.57604925252 -3.57604925252 -2.990288 --1.83080746382 -1.83080746382 -1.7496281 --0.9208124456950001 -0.9208124456950001 -1.0138916 --0.45722087435500003 -0.45722087435500003 -0.58283 --0.110488417655 -0.110488417655 -0.18891005 --0.02664950763 -0.02664950763 -0.06001807 --0.006612873105 -0.006612873105 -0.018779831 --0.0017748905100000002 -0.0017748905100000002 -0.0058060717 --0.000326848495 -0.000326848495 -0.0009805076 --9.064985111255e-05 -9.064985111255e-05 -0.00016280822 --3.788916732235e-05 -3.788916732235e-05 -2.6669353e-05 --5.21770834494 -5.21770834494 -5.539495 --2.5404781184400003 -2.5404781184400003 -2.993928 --1.2144623071 -1.2144623071 -1.5993415 --0.266966012235 -0.266966012235 -0.4438282 --0.056740678190000005 -0.056740678190000005 -0.119793944 --0.011783637825 -0.011783637825 -0.031718284 --0.002375946225 -0.002375946225 -0.008287561 --0.00018710540368740001 -0.00018710540368740001 -0.0010888214 --3.117032588675e-06 -3.117032588675e-06 -0.00014121932 -3.786241452755e-06 3.786241452755e-06 -1.8158025e-05 --9.660750102440002 -9.660750102440002 -8.5658655 --5.67964569375 -5.67964569375 -5.403449 --1.4838721347350001 -1.4838721347350001 -1.9534652 --0.30814947396000003 -0.30814947396000003 -0.62034154 --0.060321151305 -0.060321151305 -0.17541686 --0.012390968485 -0.012390968485 -0.044945866 --0.0014538443700000002 -0.0014538443700000002 -0.0050309533 --0.00028250380000000003 -0.00028250380000000003 -0.0004938911 --5.5979328348600005e-05 -5.5979328348600005e-05 -4.424457e-05 --6.4957115852700005 -6.4957115852700005 -7.2830925 --2.9880558201 -2.9880558201 -3.6729321 --1.3113327551000002 -1.3113327551000002 -1.8175218 --0.55474215755 -0.55474215755 -0.8826414 --0.09147879996500001 -0.09147879996500001 -0.19690628 --0.01353413744 -0.01353413744 -0.040951878 --0.00163222084 -0.00163222084 -0.008011568 --6.530692408265e-05 -6.530692408265e-05 -0.0014911769 -5.3137472708350005e-05 5.3137472708350005e-05 -0.000111695 -1.389097376588e-05 1.389097376588e-05 -7.902689e-06 -6.328281612420001e-05 6.328281612420001e-05 -5.3965414e-07 --8.219362705995001 -8.219362705995001 -7.793518 --3.7684508284600002 -3.7684508284600002 -4.336114 --0.7535427596200001 -0.7535427596200001 -1.304425 --0.15552858135 -0.15552858135 -0.3816041 --0.035698765970000004 -0.035698765970000004 -0.10911608 --0.00981758466 -0.00981758466 -0.030531079 --0.00217701209 -0.00217701209 -0.004338965 --0.00071749664 -0.00071749664 -0.00058791967 --0.000287676035 -0.000287676035 -7.620756e-05 --12.707560437995001 -12.707560437995001 -9.358392 --6.997298683725 -6.997298683725 -5.454642 --1.78606232756 -1.78606232756 -1.7041004 --0.39259600345 -0.39259600345 -0.48742083 --0.081970499205 -0.081970499205 -0.13070232 --0.017932558825 -0.017932558825 -0.03340922 --0.0026015816949999998 -0.0026015816949999998 -0.004039673 --0.0006801882850000001 -0.0006801882850000001 -0.0004601879 --0.0002590735486699 -0.0002590735486699 -5.013123e-05 --10.714400035695002 -10.714400035695002 -4.1077514 --5.070124237785 -5.070124237785 -2.2276902 --2.395962748195 -2.395962748195 -1.197273 --0.5357199112050001 -0.5357199112050001 -0.33611742 --0.12123309262000001 -0.12123309262000001 -0.09075245 --0.028193852985 -0.028193852985 -0.023637308 --0.006965609030000001 -0.006965609030000001 -0.005975014 --0.00111273941 -0.00111273941 -0.00072819897 --0.00029515871 -0.00029515871 -8.572293e-05 --0.0001119431210886 -0.0001119431210886 -9.862306e-06 --8.995426532025 -8.995426532025 -7.729102 --4.777860981695 -4.777860981695 -4.484898 --2.4760244563900002 -2.4760244563900002 -2.577203 --1.25986555119 -1.25986555119 -1.4684289 --0.31763606183500004 -0.31763606183500004 -0.46627206 --0.081218923575 -0.081218923575 -0.14430065 --0.022331374035000004 -0.022331374035000004 -0.043678463 --0.0070606783850000005 -0.0070606783850000005 -0.012970038 --0.0018130915350000002 -0.0018130915350000002 -0.0020364858 --0.00067233804 -0.00067233804 -0.0003105402 --0.000300540985 -0.000300540985 -4.6275556e-05 --13.923322630145002 -13.923322630145002 -9.128172 --7.29302263762 -7.29302263762 -5.2181854 --3.7420872377800003 -3.7420872377800003 -2.9502187 --1.88849925564 -1.88849925564 -1.6520978 --0.46429355127500005 -0.46429355127500005 -0.5059094 --0.11013100834 -0.11013100834 -0.15108177 --0.024899690645000003 -0.024899690645000003 -0.044274192 --0.005068081415000001 -0.005068081415000001 -0.012792468 --0.00011904504634115 -0.00011904504634115 -0.0019500635 -0.00020128001583685003 0.00020128001583685003 -0.00029294848 -0.0001260496238298 0.0001260496238298 -4.3633212e-05 --8.819449506475001 -8.819449506475001 -9.09602 --4.502591326865001 -4.502591326865001 -5.0204606 --2.272249477 -2.272249477 -2.7231557 --0.562977642165 -0.562977642165 -0.766501 --0.13561894226 -0.13561894226 -0.20568182 --0.032175686285000005 -0.032175686285000005 -0.053241562 --0.007665646095 -0.007665646095 -0.013431826 --0.000956915985 -0.000956915985 -0.0016512638 --0.0001488085342848 -0.0001488085342848 -0.00019916524 --3.6972858370550004e-05 -3.6972858370550004e-05 -2.3839486e-05 --8.2378990248 -8.2378990248 -9.657698 --4.2155652606450005 -4.2155652606450005 -5.407522 --2.165172634045 -2.165172634045 -2.9953263 --1.113106113585 -1.113106113585 -1.642647 --0.29121163832 -0.29121163832 -0.48032987 --0.0745794279 -0.0745794279 -0.1357372 --0.018941538475000002 -0.018941538475000002 -0.037247676 --0.004969677675 -0.004969677675 -0.009974461 --0.000837403225 -0.000837403225 -0.0013326217 --0.00022460497569025002 -0.00022460497569025002 -0.00017205969 --9.644117323645e-05 -9.644117323645e-05 -2.1632413e-05 --9.824139798360001 -9.824139798360001 -11.406001 --4.585435356175 -4.585435356175 -6.0107083 --0.9836439950800001 -0.9836439950800001 -1.6097747 --0.22153743207000004 -0.22153743207000004 -0.41447636 --0.055502177330000006 -0.055502177330000006 -0.10366075 --0.016668590615000003 -0.016668590615000003 -0.025459567 --0.004196888005000001 -0.004196888005000001 -0.003057039 --0.00152215988 -0.00152215988 -0.00036644243 --0.000668268515 -0.000668268515 -4.3863056e-05 --9.175517506035 -9.175517506035 -11.061548 --4.8363056356400005 -4.8363056356400005 -6.21865 --2.456009035905 -2.456009035905 -3.4256625 --1.21456496415 -1.21456496415 -1.8539969 --0.28357248352000003 -0.28357248352000003 -0.5198845 --0.064693711515 -0.064693711515 -0.139388 --0.014962750755 -0.014962750755 -0.036185835 --0.0036905078200000006 -0.0036905078200000006 -0.009183283 --0.00061258166 -0.00061258166 -0.0011424976 --0.00017269694087845 -0.00017269694087845 -0.00013963785 --7.80378478212e-05 -7.80378478212e-05 -1.6957754e-05 --8.456034990345 -8.456034990345 -7.4520206 --4.3524863196300005 -4.3524863196300005 -4.512048 --1.0718874176500002 -1.0718874176500002 -1.5581567 --0.25266520254 -0.25266520254 -0.5021151 --0.060442501915 -0.060442501915 -0.15279233 --0.015902627245000002 -0.015902627245000002 -0.044344235 --0.0030986151 -0.0030986151 -0.006452966 --0.0009848250500000002 -0.0009848250500000002 -0.0008766693 --0.000380566225 -0.000380566225 -0.00011281576 --9.831710900200001 -9.831710900200001 -7.7921915 --5.4255033324 -5.4255033324 -4.5987306 --1.58094734548 -1.58094734548 -1.4206197 --0.41507072978500004 -0.41507072978500004 -0.38179553 --0.09454420248999999 -0.09454420248999999 -0.0917287 --0.01932504526 -0.01932504526 -0.020294545 --0.0017598463950000002 -0.0017598463950000002 -0.0019121211 --0.00023354476695835 -0.00023354476695835 -0.00016794569 --6.6543218735e-05 -6.6543218735e-05 -1.4155125e-05 --5.069979966560001 -5.069979966560001 -4.705359 --1.176371316805 -1.176371316805 -1.57038 --0.260558531995 -0.260558531995 -0.50173706 --0.05702260438 -0.05702260438 -0.15500355 --0.0124884533 -0.0124884533 -0.04663483 --0.001395689545 -0.001395689545 -0.0074056154 --0.00018303444437675002 -0.00018303444437675002 -0.0011352571 --2.4744991354080002e-05 -2.4744991354080002e-05 -0.00016945507 --13.01717780275 -13.01717780275 -9.233484 --6.0629836591 -6.0629836591 -5.2198353 --2.916370664635 -2.916370664635 -2.915589 --0.7115196104850001 -0.7115196104850001 -0.8675499 --0.17124109614 -0.17124109614 -0.23991528 --0.038387829325000004 -0.038387829325000004 -0.061809216 --0.007904199025000001 -0.007904199025000001 -0.015010324 --0.00058569654 -0.00058569654 -0.0016558148 --2.3782658253695e-06 -2.3782658253695e-06 -0.00017109155 -1.9529498537315002e-05 1.9529498537315002e-05 -1.697028e-05 --9.79811726013 -9.79811726013 -10.558946 --4.704902537495 -4.704902537495 -5.9401264 --2.246443621285 -2.246443621285 -3.2891583 --0.5091939858600001 -0.5091939858600001 -0.96524537 --0.11583417195000001 -0.11583417195000001 -0.26906124 --0.026754763925000005 -0.026754763925000005 -0.0718895 --0.006450564695000001 -0.006450564695000001 -0.018574094 --0.0009009140700000001 -0.0009009140700000001 -0.0023283903 --0.00017989090067055 -0.00017989090067055 -0.00028078063 --4.7950259755950006e-05 -4.7950259755950006e-05 -3.3012184e-05 --2.460515024025 -2.460515024025 -3.1482415 --0.48270815190000005 -0.48270815190000005 -0.98264956 --0.09347168574 -0.09347168574 -0.2871066 --0.019511639545 -0.019511639545 -0.077998795 --0.002425305625 -0.002425305625 -0.009730542 --0.000515096845 -0.000515096845 -0.0010735537 --0.00015008524063315 -0.00015008524063315 -0.00010812916 --7.61754924544 -7.61754924544 -5.2124796 --4.225406054725001 -4.225406054725001 -2.9822762 --2.24567589883 -2.24567589883 -1.6762892 --1.15409791381 -1.15409791381 -0.9282824 --0.5778656711900001 -0.5778656711900001 -0.50777423 --0.13732341686 -0.13732341686 -0.14771834 --0.03115507567 -0.03115507567 -0.041857067 --0.0068184760099999995 -0.0068184760099999995 -0.011661971 --0.0014286920800000002 -0.0014286920800000002 -0.0032140466 --0.00010331824620565 -0.00010331824620565 -0.0004591453 -7.63947836662e-06 7.63947836662e-06 -6.496006e-05 -1.0540468957275001e-05 1.0540468957275001e-05 -9.1289585e-06 +-6.395951223165 -6.395951223165 -6.554232891381019 +-3.3727073756100006 -3.3727073756100006 -3.837398044886967 +-1.73571668474 -1.73571668474 -2.213494959391609 +-0.8775575169800001 -0.8775575169800001 -1.26174489351115 +-0.2177143365 -0.2177143365 -0.3989446947141909 +-0.053409102475000005 -0.053409102475000005 -0.12266546662886639 +-0.013282430755000001 -0.013282430755000001 -0.036893515006664164 +-0.003417849645 -0.003417849645 -0.010894218997914998 +-0.000489314435 -0.000489314435 -0.0016996145733910336 +-8.117003781520001e-05 -8.117003781520001e-05 -0.0002582676518753813 +-1.7369076745520003e-05 -1.7369076745520003e-05 -3.848729423086314e-05 +-4.964320210975 -4.964320210975 -7.179123685837174 +-1.14251951132 -1.14251951132 -2.038255558476482 +-0.24832979315500003 -0.24832979315500003 -0.5499254671841681 +-0.054577660015 -0.054577660015 -0.1433732983982628 +-0.013139997379999999 -0.013139997379999999 -0.03633281470619302 +-0.0021383122200000003 -0.0021383122200000003 -0.004400768207590545 +-0.00054657659 -0.00054657659 -0.0005014564068696603 +-0.00018933871096075 -0.00018933871096075 -5.4093419340154464e-05 +-7.420437364970001 -7.420437364970001 -9.406848286582349 +-3.5368059827850002 -3.5368059827850002 -5.158202049253716 +-0.774934099635 -0.774934099635 -1.454923664576995 +-0.165644081495 -0.165644081495 -0.3825977062715533 +-0.035053654365000006 -0.035053654365000006 -0.09540225299458614 +-0.00737366424 -0.00737366424 -0.02288072331576995 +-0.00069281694 -0.00069281694 -0.002559136100924936 +-6.0019970223100004e-05 -6.0019970223100004e-05 -0.00027635758349760974 +-4.42436988413e-06 -4.42436988413e-06 -2.9316535165735713e-05 +-13.282306673870002 -13.282306673870002 -9.896759243133904 +-6.79626937347 -6.79626937347 -5.824162297751649 +-3.4098981344650006 -3.4098981344650006 -3.376436177763533 +-0.8193444321350001 -0.8193444321350001 -1.091905594983466 +-0.188311755825 -0.188311755825 -0.33861802262439566 +-0.041498784275 -0.041498784275 -0.1016662179863317 +-0.008511267135 -0.008511267135 -0.02977529656554847 +-0.000464319675 -0.000464319675 -0.0045583334313290995 +0.0001401466301375 0.0001401466301375 -0.0006765304966422944 +9.981339956795e-05 9.981339956795e-05 -9.804206203483507e-05 +-7.3663997965600005 -7.3663997965600005 -5.693804851415139 +-1.5639944657250002 -1.5639944657250002 -1.7284994656801624 +-0.300878598045 -0.300878598045 -0.4851230464088524 +-0.06250307308 -0.06250307308 -0.12767392068730402 +-0.01597390957 -0.01597390957 -0.03180309472430874 +-0.0033753428 -0.0033753428 -0.003632209114034129 +-0.00108338632 -0.00108338632 -0.0003832373657321595 +-0.000424569605 -0.000424569605 -3.811258463225155e-05 +-7.659287921650001 -7.659287921650001 -5.035276578729569 +-4.16042038761 -4.16042038761 -2.8956785630949344 +-2.1948879380250004 -2.1948879380250004 -1.6317197249886373 +-1.132193866155 -1.132193866155 -0.9041956056652147 +-0.57411167878 -0.57411167878 -0.49421640348880125 +-0.14263469834 -0.14263469834 -0.14306154883587266 +-0.034364565635000004 -0.034364565635000004 -0.04018704755827297 +-0.008027124935 -0.008027124935 -0.011067658630123461 +-0.001773236445 -0.001773236445 -0.0030089264299305776 +-0.00011631169841510001 -0.00011631169841510001 -0.00042031623543101226 +3.1818301387150004e-05 3.1818301387150004e-05 -5.815498746959376e-05 +2.79189557836e-05 2.79189557836e-05 -8.011549035898724e-06 +-9.932218112035 -9.932218112035 -9.585554900732118 +-5.0588160255000005 -5.0588160255000005 -5.711941617170757 +-2.657707822405 -2.657707822405 -3.352735835104947 +-0.744602695825 -0.744602695825 -1.0912761702416376 +-0.191315380335 -0.191315380335 -0.327848911066536 +-0.04380410455 -0.04380410455 -0.09171984980398323 +-0.009107413165 -0.009107413165 -0.02423152178925577 +-0.000734536135 -0.000734536135 -0.003035506116878306 +-2.2328219628025002e-05 -2.2328219628025002e-05 -0.00035420198508254175 +2.6104872912310004e-05 2.6104872912310004e-05 -3.9223459061488164e-05 +-6.80929915236 -6.80929915236 -5.943305280645111 +-1.6045249656 -1.6045249656 -1.7337829441565749 +-0.32262406550000006 -0.32262406550000006 -0.468025139416053 +-0.058000891935 -0.058000891935 -0.11952184706385076 +-0.009027808005 -0.009027808005 -0.029344763797312504 +-3.840333526545e-05 -3.840333526545e-05 -0.0033943772285996935 +0.0002271719036733 0.0002271719036733 -0.0003769596588837267 +0.00011445014723895 0.00011445014723895 -4.0716317964496415e-05 +-3.7387166471350004 -3.7387166471350004 -5.599716804485552 +-0.772207675415 -0.772207675415 -1.739160249188902 +-0.1549102761 -0.1549102761 -0.5167952171787301 +-0.03268211898 -0.03268211898 -0.14812244620945925 +-0.0079799447 -0.0079799447 -0.04121591922271044 +-0.0015597307850000002 -0.0015597307850000002 -0.005788644112611536 +-0.00047198613500000003 -0.00047198613500000003 -0.0007805414828953471 +-0.0001800033143411 -0.0001800033143411 -0.00010206990604042891 +-5.396351066895001 -5.396351066895001 -8.754258181431835 +-1.2098745609100001 -1.2098745609100001 -2.787103752175418 +-0.25481354417 -0.25481354417 -0.7902876676758563 +-0.05289224654500001 -0.05289224654500001 -0.20155512953389798 +-0.010745620145 -0.010745620145 -0.04699191083484907 +-0.0009988452200000001 -0.0009988452200000001 -0.004650070940630997 +-6.990724274195e-05 -6.990724274195e-05 -0.0004129480443173993 +-4.5662139131450004e-05 -4.5662139131450004e-05 -3.416232852919231e-05 +-8.669984622395 -8.669984622395 -9.880217982970066 +-4.532301852435 -4.532301852435 -5.825061606490974 +-1.197238502 -1.197238502 -1.861447725602296 +-0.29627000538500003 -0.29627000538500003 -0.5423616902067393 +-0.070004677935 -0.070004677935 -0.14792571156298526 +-0.016513266035 -0.016513266035 -0.038661685665987475 +-0.00215075709 -0.00215075709 -0.004954380261174347 +-0.00038907284500000006 -0.00038907284500000006 -0.0006232280114760323 +-0.00010734164642165 -0.00010734164642165 -7.808362819511827e-05 +-8.613033694165 -8.613033694165 -6.586181505996721 +-4.072253550875001 -4.072253550875001 -3.5153718212470637 +-1.909714687155 -1.909714687155 -1.865169506720019 +-0.897964977125 -0.897964977125 -0.9861845672072407 +-0.42742032039000005 -0.42742032039000005 -0.5205385994497294 +-0.10297575944500001 -0.10297575944500001 -0.14484336776957807 +-0.02698200095 -0.02698200095 -0.04031663622246222 +-0.007498060430000001 -0.007498060430000001 -0.011214648889865177 +-0.0021737302150000005 -0.0021737302150000005 -0.003111171719928762 +-0.00037542024500000006 -0.00037542024500000006 -0.00045080710776653453 +-8.28750411909e-05 -8.28750411909e-05 -6.452001093150937e-05 +-3.122605895055e-05 -3.122605895055e-05 -9.111690588243723e-06 +-16.603716846695 -16.603716846695 -10.160445839406917 +-8.795391183560001 -8.795391183560001 -5.9283708722934465 +-4.59638371743 -4.59638371743 -3.4169043996408957 +-2.38284929462 -2.38284929462 -1.9497856548039232 +-0.64269477974 -0.64269477974 -0.6202655440568705 +-0.181901492555 -0.181901492555 -0.19279586217992573 +-0.056065425845 -0.056065425845 -0.058927558901089604 +-0.019394279695000002 -0.019394279695000002 -0.017786118465285963 +-0.005059574795000001 -0.005059574795000001 -0.00289889947430321 +-0.001717260785 -0.001717260785 -0.000465554151367651 +-0.0006978316450000001 -0.0006978316450000001 -7.39923119262853e-05 +-5.688548317915 -5.688548317915 -5.864405533759461 +-2.8894232677750002 -2.8894232677750002 -3.355466115748775 +-1.475955149525 -1.475955149525 -1.9146442984554048 +-0.7562085873000001 -0.7562085873000001 -1.0902811591587245 +-0.19772265053500002 -0.19772265053500002 -0.35147201593645516 +-0.05071788621 -0.05071788621 -0.11225296193433829 +-0.01277867607 -0.01277867607 -0.035444069359489856 +-0.0031926080000000004 -0.0031926080000000004 -0.011046907429393025 +-0.000413437485 -0.000413437485 -0.0018721985697081325 +-6.843849472120001e-05 -6.843849472120001e-05 -0.0003071932079171152 +-2.4375147224745002e-05 -2.4375147224745002e-05 -4.884097458774789e-05 +-8.415012550535002 -8.415012550535002 -4.2208052219095284 +-4.700202787475001 -4.700202787475001 -2.380564554930192 +-1.214179356965 -1.214179356965 -0.7137437664471455 +-0.259265473245 -0.259265473245 -0.19991339041234837 +-0.0499622148 -0.0499622148 -0.05310415829700454 +-0.009414544155000001 -0.009414544155000001 -0.013536203286003346 +-0.0009116786200000001 -0.0009116786200000001 -0.0016392450270178813 +-0.0001527995043248 -0.0001527995043248 -0.00018736881647958602 +-4.0632918004500006e-05 -4.0632918004500006e-05 -2.0471212613184695e-05 +-9.983601509985002 -9.983601509985002 -7.437300937995162 +-5.355853595810001 -5.355853595810001 -4.29872450588412 +-2.82147934479 -2.82147934479 -2.4543267748639823 +-0.7563393634550001 -0.7563393634550001 -0.7767942793521396 +-0.19896469582 -0.19896469582 -0.23840785108073095 +-0.053097481880000005 -0.053097481880000005 -0.07143888684219839 +-0.015095049700000002 -0.015095049700000002 -0.02099206788154667 +-0.002975610425 -0.002975610425 -0.0032441882375138036 +-0.0008816691550000001 -0.0008816691550000001 -0.0004865059929282211 +-0.00035021544500000003 -0.00035021544500000003 -7.115383911689076e-05 +-7.8506161931900005 -7.8506161931900005 -9.125630056182654 +-3.9611453051800005 -3.9611453051800005 -5.27613176911283 +-1.95747019546 -1.95747019546 -3.0236915065913443 +-0.9543128805150001 -0.9543128805150001 -1.7206402882817948 +-0.22322352817000002 -0.22322352817000002 -0.5483565430078173 +-0.05276724649000001 -0.05276724649000001 -0.17211296160312278 +-0.012967974620000001 -0.012967974620000001 -0.05345339498677177 +-0.003418532275 -0.003418532275 -0.0164716315997735 +-0.00058207335 -0.00058207335 -0.002785410389051619 +-0.0001141689848069 -0.0001141689848069 -0.0004655164502775708 +-4.1463479176500005e-05 -4.1463479176500005e-05 -7.695643552270651e-05 +-6.965933174230001 -6.965933174230001 -7.869578151734984 +-3.5101163050050004 -3.5101163050050004 -4.245634072122492 +-0.8256617789600001 -0.8256617789600001 -1.162580278955034 +-0.182980520545 -0.182980520545 -0.298479023103027 +-0.03969887275 -0.03969887275 -0.07309265542376722 +-0.00863306408 -0.00863306408 -0.0173065531152867 +-0.0009339691150000001 -0.0009339691150000001 -0.0019143091678717992 +-0.0001385982562153 -0.0001385982562153 -0.00020612522115603937 +-3.6299491659650004e-05 -3.6299491659650004e-05 -2.1971311990155035e-05 +-6.126552028805 -6.126552028805 -7.163826067459591 +-2.941269016275 -2.941269016275 -3.960609582803854 +-1.38638230503 -1.38638230503 -2.163899804456912 +-0.29740101827500004 -0.29740101827500004 -0.6284311729907777 +-0.06224755942 -0.06224755942 -0.17775781416692304 +-0.013046949660000001 -0.013046949660000001 -0.04940736540485734 +-0.0028825889600000002 -0.0028825889600000002 -0.013574091943708372 +-0.000395741615 -0.000395741615 -0.0019280599347099893 +-0.0001027981580226 -0.0001027981580226 -0.00027107479943397323 +-4.1792083343350005e-05 -4.1792083343350005e-05 -3.7858481836361686e-05 +-7.547160771915001 -7.547160771915001 -8.59344092040493 +-3.8999607582000007 -3.8999607582000007 -4.939513172456028 +-1.9810366834600002 -1.9810366834600002 -2.8123575484010455 +-0.495208498715 -0.495208498715 -0.8920069119400396 +-0.121963217915 -0.121963217915 -0.277040965565875 +-0.030489380145 -0.030489380145 -0.08480836496998709 +-0.007987952475 -0.007987952475 -0.025693454640504664 +-0.00128003627 -0.00128003627 -0.004223697137933917 +-0.000290826635 -0.000290826635 -0.0006852110860028774 +-9.66841735009e-05 -9.66841735009e-05 -0.00010996470796979322 +-8.82060280986 -8.82060280986 -6.570663574170549 +-4.700571801500001 -4.700571801500001 -3.774597088212548 +-2.4697655531950002 -2.4697655531950002 -2.1375792260911854 +-1.286163635645 -1.286163635645 -1.1969171884066034 +-0.667146560085 -0.667146560085 -0.6642344200593205 +-0.18028116523 -0.18028116523 -0.20058291795695918 +-0.05015009558 -0.05015009558 -0.05951557090066303 +-0.014901471585000001 -0.014901471585000001 -0.017476124397652917 +-0.004941952395 -0.004941952395 -0.005102458919859671 +-0.00124642987 -0.00124642987 -0.0008014769213533927 +-0.00043173722 -0.00043173722 -0.0001258605026765551 +-0.00018487825163625 -0.00018487825163625 -1.9812327810649874e-05 +-8.387036036440001 -8.387036036440001 -9.197268092080298 +-4.16889434639 -4.16889434639 -5.140166163823415 +-2.01478323265 -2.01478323265 -2.8436930994403187 +-0.95499590434 -0.95499590434 -1.5628124256561908 +-0.20904924132 -0.20904924132 -0.46745609803675253 +-0.045954887895000004 -0.045954887895000004 -0.1393178245719697 +-0.010411525270000001 -0.010411525270000001 -0.04149662729510357 +-0.00244260767 -0.00244260767 -0.012324755855856627 +-0.000294554845 -0.000294554845 -0.0019685105664271484 +-4.7524413370300007e-05 -4.7524413370300007e-05 -0.0003069479621577197 +2.1165811691655e-06 2.1165811691655e-06 -4.654738384041721e-05 +-7.70963576989 -7.70963576989 -3.3707468168409918 +-4.04252987155 -4.04252987155 -1.9675551257051875 +-2.088829710305 -2.088829710305 -1.1380668334043045 +-1.0660511937000001 -1.0660511937000001 -0.6536456116477329 +-0.5384321052150001 -0.5384321052150001 -0.37336788546506566 +-0.13387786819000003 -0.13387786819000003 -0.12037922682497927 +-0.031938446105000004 -0.031938446105000004 -0.038393054173183006 +-0.00691561951 -0.00691561951 -0.01215739794586447 +-0.001331312285 -0.001331312285 -0.00382994083712989 +0.00031033410000000003 0.00031033410000000003 -0.0006721290503575519 +0.00020388915109535 0.00020388915109535 -0.00011703355105800728 +0.000151122136437 0.000151122136437 -2.02265679739716e-05 +-6.840992298 -6.840992298 -5.776072772218321 +-3.3838670371050004 -3.3838670371050004 -3.313053574351217 +-1.66786898633 -1.66786898633 -1.8686301522346758 +-0.8205049031350001 -0.8205049031350001 -1.0374785141242369 +-0.197615792685 -0.197615792685 -0.3063736957974934 +-0.047139460985000006 -0.047139460985000006 -0.08613635180201054 +-0.01095531883 -0.01095531883 -0.02330090388497267 +-0.002407242185 -0.002407242185 -0.0061279703959857875 +-0.00016559712574025002 -0.00016559712574025002 -0.0007994059647246965 +3.9064683225000004e-05 3.9064683225000004e-05 -0.0001022579707481252 +2.7199480566800003e-05 2.7199480566800003e-05 -1.3019885204171638e-05 +-5.892283232175 -5.892283232175 -6.451159394061563 +-2.725434957855 -2.725434957855 -3.361018871549811 +-1.2807091856500001 -1.2807091856500001 -1.7610556054958233 +-0.29959485982 -0.29959485982 -0.49393576508261094 +-0.07396563851 -0.07396563851 -0.14153193242283055 +-0.019024504275000003 -0.019024504275000003 -0.040740493108250606 +-0.005278594005000001 -0.005278594005000001 -0.011595913996470968 +-0.000990049795 -0.000990049795 -0.0016872766962402253 +-0.00026035990110525003 -0.00026035990110525003 -0.00023060140245927414 +-8.360486901675001e-05 -8.360486901675001e-05 -2.9626321896361973e-05 +-7.362602535910001 -7.362602535910001 -7.062090229838992 +-3.3013213433600006 -3.3013213433600006 -3.809250114796169 +-1.5115133724800003 -1.5115133724800003 -2.054463688437875 +-0.34719501729 -0.34719501729 -0.6024483775775061 +-0.09128902882500001 -0.09128902882500001 -0.1799554752323962 +-0.027771094975000004 -0.027771094975000004 -0.0548407758864622 +-0.01010996034 -0.01010996034 -0.016947767604461247 +-0.003084043575 -0.003084043575 -0.002918519358811949 +-0.001207808765 -0.001207808765 -0.0004882721663968693 +-0.00052751546 -0.00052751546 -7.763694344798799e-05 +-9.032399111830001 -9.032399111830001 -10.05628004244734 +-4.794203774015 -4.794203774015 -5.816676208417928 +-2.4883669056350004 -2.4883669056350004 -3.304337823026791 +-0.63941279972 -0.63941279972 -1.016694320792965 +-0.158742009565 -0.158742009565 -0.29643210860581887 +-0.039304470140000006 -0.039304470140000006 -0.08278733057783878 +-0.010112034485000001 -0.010112034485000001 -0.022356951691754796 +-0.00157629769 -0.00157629769 -0.002996996704091058 +-0.00034491193500000005 -0.00034491193500000005 -0.0003873525688847337 +-0.00011079623180010002 -0.00011079623180010002 -4.9018546569516545e-05 +-6.866088796125 -6.866088796125 -9.604033100787326 +-1.558866391635 -1.558866391635 -3.4660985838857887 +-0.32270075635500006 -0.32270075635500006 -1.1730367299650308 +-0.06996248615 -0.06996248615 -0.36521610324753234 +-0.015553488255000003 -0.015553488255000003 -0.10398360436455988 +-0.0015021798250000001 -0.0015021798250000001 -0.013572639633876412 +-0.00011298374431480002 -0.00011298374431480002 -0.0015313553448125705 +4.872906917235e-06 4.872906917235e-06 -0.00015512134694790395 +-6.810736981180001 -6.810736981180001 -4.807091619456843 +-3.6730193382450005 -3.6730193382450005 -2.7690963146383027 +-1.93945522219 -1.93945522219 -1.5721564006706208 +-1.0081230543700002 -1.0081230543700002 -0.8822969276269684 +-0.5180612707950001 -0.5180612707950001 -0.49061324352094005 +-0.13371177906 -0.13371177906 -0.14867784489864333 +-0.03360524478 -0.03360524478 -0.04426365683508111 +-0.008093733870000001 -0.008093733870000001 -0.01304273602112064 +-0.00176575377 -0.00176575377 -0.0038214524371027853 +-5.4657914986250004e-05 -5.4657914986250004e-05 -0.0006031303297585071 +7.137631448685e-05 7.137631448685e-05 -9.500052357384481e-05 +4.4063686947350005e-05 4.4063686947350005e-05 -1.4955338415146881e-05 +-7.291269801310001 -7.291269801310001 -8.679815209474988 +-3.871284128275 -3.871284128275 -5.122896984972669 +-2.004500803215 -2.004500803215 -2.972516206851064 +-1.019907112275 -1.019907112275 -1.70042464931106 +-0.257286791425 -0.257286791425 -0.5374787126026564 +-0.06464763399000001 -0.06464763399000001 -0.16367534817808144 +-0.016592556135 -0.016592556135 -0.04837264072000956 +-0.0044294810500000005 -0.0044294810500000005 -0.013947843443438884 +-0.00068483542 -0.00068483542 -0.002081072199363008 +-0.0001332501536731 -0.0001332501536731 -0.0003001243969777145 +-4.035576392330001e-05 -4.035576392330001e-05 -4.2231968023586585e-05 +-6.822473543790001 -6.822473543790001 -5.051490795672709 +-3.57604925252 -3.57604925252 -2.990288802132061 +-1.83080746382 -1.83080746382 -1.7496283424783654 +-0.9208124456950001 -0.9208124456950001 -1.0138914983280682 +-0.45722087435500003 -0.45722087435500003 -0.5828303305695652 +-0.110488417655 -0.110488417655 -0.18891016259887555 +-0.02664950763 -0.02664950763 -0.06001806424379898 +-0.006612873105 -0.006612873105 -0.018779854630651193 +-0.0017748905100000002 -0.0017748905100000002 -0.005806076839378522 +-0.000326848495 -0.000326848495 -0.0009805089156874006 +-9.064985111255e-05 -9.064985111255e-05 -0.0001628080649934971 +-3.788916732235e-05 -3.788916732235e-05 -2.666874216218293e-05 +-5.21770834494 -5.21770834494 -5.539497545951821 +-2.5404781184400003 -2.5404781184400003 -2.9939284915576647 +-1.2144623071 -1.2144623071 -1.5993408879156374 +-0.266966012235 -0.266966012235 -0.443828306970034 +-0.056740678190000005 -0.056740678190000005 -0.11979403247723755 +-0.011783637825 -0.011783637825 -0.0317183118324593 +-0.002375946225 -0.002375946225 -0.008287566849165675 +-0.00018710540368740001 -0.00018710540368740001 -0.0010888214489053463 +-3.117032588675e-06 -3.117032588675e-06 -0.00014121952647339035 +3.786241452755e-06 3.786241452755e-06 -1.8158027462316927e-05 +-9.660750102440002 -9.660750102440002 -8.565870244689705 +-5.67964569375 -5.67964569375 -5.403451107565645 +-1.4838721347350001 -1.4838721347350001 -1.9534662937282035 +-0.30814947396000003 -0.30814947396000003 -0.6203414800236554 +-0.060321151305 -0.060321151305 -0.17541686026632003 +-0.012390968485 -0.012390968485 -0.044945902559051454 +-0.0014538443700000002 -0.0014538443700000002 -0.005030955101707752 +-0.00028250380000000003 -0.00028250380000000003 -0.0004938909400837744 +-5.5979328348600005e-05 -5.5979328348600005e-05 -4.424453959664766e-05 +-6.4957115852700005 -6.4957115852700005 -7.28309288025476 +-2.9880558201 -2.9880558201 -3.6729342376871434 +-1.3113327551000002 -1.3113327551000002 -1.8175227631437736 +-0.55474215755 -0.55474215755 -0.8826416426266761 +-0.09147879996500001 -0.09147879996500001 -0.19690634782391594 +-0.01353413744 -0.01353413744 -0.04095189460570943 +-0.00163222084 -0.00163222084 -0.008011574106160364 +-6.530692408265e-05 -6.530692408265e-05 -0.0014911776460693371 +5.3137472708350005e-05 5.3137472708350005e-05 -0.00011169503751562389 +1.389097376588e-05 1.389097376588e-05 -7.902697680346733e-06 +6.328281612420001e-05 6.328281612420001e-05 -5.396529723610395e-07 +-8.219362705995001 -8.219362705995001 -7.793521627689257 +-3.7684508284600002 -3.7684508284600002 -4.3361169515702525 +-0.7535427596200001 -0.7535427596200001 -1.3044254476670536 +-0.15552858135 -0.15552858135 -0.3816042158141085 +-0.035698765970000004 -0.035698765970000004 -0.10911612503073496 +-0.00981758466 -0.00981758466 -0.030531109891246615 +-0.00217701209 -0.00217701209 -0.004338967817007242 +-0.00071749664 -0.00071749664 -0.0005879197279230391 +-0.000287676035 -0.000287676035 -7.620755406188675e-05 +-12.707560437995001 -12.707560437995001 -9.358394744810075 +-6.997298683725 -6.997298683725 -5.4546434758216495 +-1.78606232756 -1.78606232756 -1.7041011691946966 +-0.39259600345 -0.39259600345 -0.48742087807404477 +-0.081970499205 -0.081970499205 -0.1307024248402414 +-0.017932558825 -0.017932558825 -0.033409224358916384 +-0.0026015816949999998 -0.0026015816949999998 -0.004039673801573145 +-0.0006801882850000001 -0.0006801882850000001 -0.0004601882065352475 +-0.0002590735486699 -0.0002590735486699 -5.013117818670684e-05 +-10.714400035695002 -10.714400035695002 -4.107752664509588 +-5.070124237785 -5.070124237785 -2.227690727209365 +-2.395962748195 -2.395962748195 -1.197273476273188 +-0.5357199112050001 -0.5357199112050001 -0.3361175617495563 +-0.12123309262000001 -0.12123309262000001 -0.0907524962398214 +-0.028193852985 -0.028193852985 -0.023637319845306985 +-0.006965609030000001 -0.006965609030000001 -0.0059750185407585294 +-0.00111273941 -0.00111273941 -0.0007281991093022322 +-0.00029515871 -0.00029515871 -8.572304848028475e-05 +-0.0001119431210886 -0.0001119431210886 -9.862298884641166e-06 +-8.995426532025 -8.995426532025 -7.7291047912415 +-4.777860981695 -4.777860981695 -4.48489909690492 +-2.4760244563900002 -2.4760244563900002 -2.5772047456725264 +-1.25986555119 -1.25986555119 -1.4684293340468026 +-0.31763606183500004 -0.31763606183500004 -0.4662722616422948 +-0.081218923575 -0.081218923575 -0.14430074739029222 +-0.022331374035000004 -0.022331374035000004 -0.04367846540594446 +-0.0070606783850000005 -0.0070606783850000005 -0.012970044196003727 +-0.0018130915350000002 -0.0018130915350000002 -0.002036481923239679 +-0.00067233804 -0.00067233804 -0.0003105374928437793 +-0.000300540985 -0.000300540985 -4.627311358927633e-05 +-13.923322630145002 -13.923322630145002 -9.128175915607603 +-7.29302263762 -7.29302263762 -5.218186093850013 +-3.7420872377800003 -3.7420872377800003 -2.950219884041851 +-1.88849925564 -1.88849925564 -1.6520981351237192 +-0.46429355127500005 -0.46429355127500005 -0.5059096140478523 +-0.11013100834 -0.11013100834 -0.15108186634924228 +-0.024899690645000003 -0.024899690645000003 -0.04427422512656046 +-0.005068081415000001 -0.005068081415000001 -0.012792476530206627 +-0.00011904504634115 -0.00011904504634115 -0.001950065343856835 +0.00020128001583685003 0.00020128001583685003 -0.00029294865115031044 +0.0001260496238298 0.0001260496238298 -4.363325324511586e-05 +-8.819449506475001 -8.819449506475001 -9.09602003873189 +-4.502591326865001 -4.502591326865001 -5.020462968893554 +-2.272249477 -2.272249477 -2.723156526011507 +-0.562977642165 -0.562977642165 -0.7665010902777479 +-0.13561894226 -0.13561894226 -0.2056819392602732 +-0.032175686285000005 -0.032175686285000005 -0.053241577543341925 +-0.007665646095 -0.007665646095 -0.01343183206064648 +-0.000956915985 -0.000956915985 -0.0016512648945589466 +-0.0001488085342848 -0.0001488085342848 -0.00019916545777807576 +-3.6972858370550004e-05 -3.6972858370550004e-05 -2.3839499892307236e-05 +-8.2378990248 -8.2378990248 -9.657699357945198 +-4.2155652606450005 -4.2155652606450005 -5.407523909068173 +-2.165172634045 -2.165172634045 -2.995327153577539 +-1.113106113585 -1.113106113585 -1.6426474226228793 +-0.29121163832 -0.29121163832 -0.4803301564508872 +-0.0745794279 -0.0745794279 -0.1357372463236848 +-0.018941538475000002 -0.018941538475000002 -0.03724770501408395 +-0.004969677675 -0.004969677675 -0.009974470865827856 +-0.000837403225 -0.000837403225 -0.0013326295765717616 +-0.00022460497569025002 -0.00022460497569025002 -0.0001720609580970016 +-9.644117323645e-05 -9.644117323645e-05 -2.1638022691108587e-05 +-9.824139798360001 -9.824139798360001 -11.40600489710952 +-4.585435356175 -4.585435356175 -6.0107107122550225 +-0.9836439950800001 -0.9836439950800001 -1.6097753523888436 +-0.22153743207000004 -0.22153743207000004 -0.4144765919776437 +-0.055502177330000006 -0.055502177330000006 -0.10366079431760063 +-0.016668590615000003 -0.016668590615000003 -0.02545958262252426 +-0.004196888005000001 -0.004196888005000001 -0.003057043332973162 +-0.00152215988 -0.00152215988 -0.00036644307223318356 +-0.000668268515 -0.000668268515 -4.386287317074335e-05 +-9.175517506035 -9.175517506035 -11.061552196817722 +-4.8363056356400005 -4.8363056356400005 -6.218652019267381 +-2.456009035905 -2.456009035905 -3.4256639051916276 +-1.21456496415 -1.21456496415 -1.85399739418315 +-0.28357248352000003 -0.28357248352000003 -0.5198845950128432 +-0.064693711515 -0.064693711515 -0.13938803238794353 +-0.014962750755 -0.014962750755 -0.03618585885930085 +-0.0036905078200000006 -0.0036905078200000006 -0.009183287116639755 +-0.00061258166 -0.00061258166 -0.0011424977951811823 +-0.00017269694087845 -0.00017269694087845 -0.0001396374568388998 +-7.80378478212e-05 -7.80378478212e-05 -1.6957893946989953e-05 +-8.456034990345 -8.456034990345 -7.452023568539322 +-4.3524863196300005 -4.3524863196300005 -4.512049979131702 +-1.0718874176500002 -1.0718874176500002 -1.5581571876675435 +-0.25266520254 -0.25266520254 -0.5021152361764876 +-0.060442501915 -0.060442501915 -0.15279239163999092 +-0.015902627245000002 -0.015902627245000002 -0.04434428172174008 +-0.0030986151 -0.0030986151 -0.006452967252511361 +-0.0009848250500000002 -0.0009848250500000002 -0.000876669774600462 +-0.000380566225 -0.000380566225 -0.00011281590826128004 +-9.831710900200001 -9.831710900200001 -7.792193482703993 +-5.4255033324 -5.4255033324 -4.598732816316479 +-1.58094734548 -1.58094734548 -1.4206204445937936 +-0.41507072978500004 -0.41507072978500004 -0.3817956224936757 +-0.09454420248999999 -0.09454420248999999 -0.0917287414868343 +-0.01932504526 -0.01932504526 -0.02029456485357619 +-0.0017598463950000002 -0.0017598463950000002 -0.001912122455075106 +-0.00023354476695835 -0.00023354476695835 -0.00016794570753396788 +-6.6543218735e-05 -6.6543218735e-05 -1.4155123922438875e-05 +-5.069979966560001 -5.069979966560001 -4.7053624280741735 +-1.176371316805 -1.176371316805 -1.5703810987476177 +-0.260558531995 -0.260558531995 -0.501737030835548 +-0.05702260438 -0.05702260438 -0.1550036084683405 +-0.0124884533 -0.0124884533 -0.046634835646860065 +-0.001395689545 -0.001395689545 -0.007405614115453308 +-0.00018303444437675002 -0.00018303444437675002 -0.0011352574008352597 +-2.4744991354080002e-05 -2.4744991354080002e-05 -0.0001694545832652463 +-13.01717780275 -13.01717780275 -9.23348597921155 +-6.0629836591 -6.0629836591 -5.219836316979526 +-2.916370664635 -2.916370664635 -2.9155899027711305 +-0.7115196104850001 -0.7115196104850001 -0.8675501852794086 +-0.17124109614 -0.17124109614 -0.2399154660476354 +-0.038387829325000004 -0.038387829325000004 -0.061809242745653394 +-0.007904199025000001 -0.007904199025000001 -0.015010340519515797 +-0.00058569654 -0.00058569654 -0.0016558160048531659 +-2.3782658253695e-06 -2.3782658253695e-06 -0.000171091711098766 +1.9529498537315002e-05 1.9529498537315002e-05 -1.6970381778017015e-05 +-9.79811726013 -9.79811726013 -10.5589496579401 +-4.704902537495 -4.704902537495 -5.940128943334976 +-2.246443621285 -2.246443621285 -3.2891590851857972 +-0.5091939858600001 -0.5091939858600001 -0.9652458443254364 +-0.11583417195000001 -0.11583417195000001 -0.26906132639185476 +-0.026754763925000005 -0.026754763925000005 -0.07188955706797003 +-0.006450564695000001 -0.006450564695000001 -0.018574109446999484 +-0.0009009140700000001 -0.0009009140700000001 -0.0023283904154763027 +-0.00017989090067055 -0.00017989090067055 -0.00028078079545967627 +-4.7950259755950006e-05 -4.7950259755950006e-05 -3.301222586286875e-05 +-2.460515024025 -2.460515024025 -3.148242847086707 +-0.48270815190000005 -0.48270815190000005 -0.9826496874469798 +-0.09347168574 -0.09347168574 -0.2871065766286018 +-0.019511639545 -0.019511639545 -0.07799885394437046 +-0.002425305625 -0.002425305625 -0.009730541863794297 +-0.000515096845 -0.000515096845 -0.001073553020167236 +-0.00015008524063315 -0.00015008524063315 -0.00010812934749267043 +-7.61754924544 -7.61754924544 -5.212482648905316 +-4.225406054725001 -4.225406054725001 -2.9822755258079328 +-2.24567589883 -2.24567589883 -1.6762900516887274 +-1.15409791381 -1.15409791381 -0.9282831848730554 +-0.5778656711900001 -0.5778656711900001 -0.5077744590153827 +-0.13732341686 -0.13732341686 -0.14771832510525132 +-0.03115507567 -0.03115507567 -0.041857099548374 +-0.0068184760099999995 -0.0068184760099999995 -0.011661979939000132 +-0.0014286920800000002 -0.0014286920800000002 -0.0032140496370068085 +-0.00010331824620565 -0.00010331824620565 -0.0004591459874138778 +7.63947836662e-06 7.63947836662e-06 -6.496006397481686e-05 +1.0540468957275001e-05 1.0540468957275001e-05 -9.128958574782022e-06 diff --git a/examples/peg_slater_isa/res_disp.xvg b/examples/peg_slater_isa/res_disp.xvg index 37ff113df..8804a17c6 100644 --- a/examples/peg_slater_isa/res_disp.xvg +++ b/examples/peg_slater_isa/res_disp.xvg @@ -1,499 +1,499 @@ --35.4680734 -35.4680734 -37.608902 --26.1463898 -26.1463898 -27.674406 --19.35277663 -19.35277663 -20.34427 --14.392597580000002 -14.392597580000002 -14.999582 --8.106002160000001 -8.106002160000001 -8.31896 --4.70786822 -4.70786822 -4.7886257 --2.83171912 -2.83171912 -2.8720162 --1.76663279 -1.76663279 -1.7915877 --0.9286487999999999 -0.9286487999999999 -0.9419526 --0.52205154 -0.52205154 -0.52870315 --0.30995446 -0.30995446 -0.31305584 --39.583594170000005 -39.583594170000005 -40.375225 --19.45860266 -19.45860266 -20.009302 --9.84640189 -9.84640189 -10.115111 --5.18580807 -5.18580807 -5.336094 --2.86816368 -2.86816368 -2.959269 --1.29320426 -1.29320426 -1.3370118 --0.6425918700000001 -0.6425918700000001 -0.6627501 --0.34542288 -0.34542288 -0.35424343 --57.442823159999996 -57.442823159999996 -61.7074 --40.34374974 -40.34374974 -44.014202 --20.41445462 -20.41445462 -22.420849 --10.72703557 -10.72703557 -11.741215 --5.8960291499999995 -5.8960291499999995 -6.4351673 --3.3958613 -3.3958613 -3.7087593 --1.6148304999999998 -1.6148304999999998 -1.7689407 --0.8371314 -0.8371314 -0.9187503 --0.464991 -0.464991 -0.5101826 --65.54178807000001 -65.54178807000001 -64.76474 --47.27923433 -47.27923433 -47.069847 --34.339357820000004 -34.339357820000004 -34.143024 --18.431243470000002 -18.431243470000002 -18.142736 --10.17232779 -10.17232779 -9.9508705 --5.81286535 -5.81286535 -5.697386 --3.45326515 -3.45326515 -3.4109478 --1.70138694 -1.70138694 -1.7041107 --0.90683188 -0.90683188 -0.9179944 --0.51557142 -0.51557142 -0.525228 --35.9258342 -35.9258342 -35.995308 --16.64155507 -16.64155507 -16.811747 --7.96518118 -7.96518118 -8.012154 --3.9922323200000003 -3.9922323200000003 -4.0021324 --2.11215489 -2.11215489 -2.1160538 --0.9028703100000001 -0.9028703100000001 -0.9037394 --0.43174389 -0.43174389 -0.4304734 --0.22591321 -0.22591321 -0.22378485 --30.73157646 -30.73157646 -30.53123 --22.40168498 -22.40168498 -22.12939 --16.43209422 -16.43209422 -16.03157 --12.14132254 -12.14132254 -11.661917 --9.04231356 -9.04231356 -8.551727 --5.14211342 -5.14211342 -4.7611327 --3.0369072 -3.0369072 -2.7972453 --1.86953339 -1.86953339 -1.7317979 --1.19735574 -1.19735574 -1.1219202 --0.65676395 -0.65676395 -0.62631804 --0.3855321 -0.3855321 -0.37259278 --0.23879439 -0.23879439 -0.23280847 --45.490737949999996 -45.490737949999996 -47.795948 --32.21981355 -32.21981355 -33.872837 --23.0196039 -23.0196039 -23.959547 --11.89264987 -11.89264987 -11.961585 --6.22075858 -6.22075858 -6.0452294 --3.3310461399999998 -3.3310461399999998 -3.1678102 --1.8492628199999999 -1.8492628199999999 -1.747988 --0.83152222 -0.83152222 -0.7917317 --0.41285114 -0.41285114 -0.39717805 --0.22291496 -0.22291496 -0.21583502 --35.15702423 -35.15702423 -35.462307 --16.72889419 -16.72889419 -16.683765 --8.18161802 -8.18161802 -7.9793086 --4.16881493 -4.16881493 -4.0191116 --2.24027752 -2.24027752 -2.1638076 --0.9847958099999999 -0.9847958099999999 -0.9629851 --0.4863354 -0.4863354 -0.4809404 --0.26309772000000003 -0.26309772000000003 -0.26181975 --25.14809655 -25.14809655 -25.591549 --11.97736702 -11.97736702 -12.103617 --5.9657339 -5.9657339 -5.9586215 --3.1310098600000003 -3.1310098600000003 -3.1050344 --1.74044251 -1.74044251 -1.7194647 --0.80056993 -0.80056993 -0.7868207 --0.40985186 -0.40985186 -0.3996418 --0.22815570999999998 -0.22815570999999998 -0.22029968 --37.584898589999995 -37.584898589999995 -37.757565 --17.36236604 -17.36236604 -17.517477 --8.19410047 -8.19410047 -8.117741 --3.9878064399999995 -3.9878064399999995 -3.8542302 --2.0268389300000003 -2.0268389300000003 -1.913746 --0.81126066 -0.81126066 -0.745759 --0.36601661999999996 -0.36601661999999996 -0.330495 --0.18330189 -0.18330189 -0.16317646 --46.6476023 -46.6476023 -45.96331 --33.41663071 -33.41663071 -33.1199 --17.40124797 -17.40124797 -17.059668 --9.237365830000002 -9.237365830000002 -8.872509 --5.04388622 -5.04388622 -4.772803 --2.85807686 -2.85807686 -2.6908855 --1.3203608599999999 -1.3203608599999999 -1.24592 --0.6673110600000001 -0.6673110600000001 -0.63212144 --0.36365852 -0.36365852 -0.3446318 --35.44792079 -35.44792079 -36.94276 --24.83846745 -24.83846745 -25.402813 --17.72523623 -17.72523623 -17.643877 --12.83890067 -12.83890067 -12.432909 --9.4293195 -9.4293195 -8.90978 --5.283329190000001 -5.283329190000001 -4.8200107 --3.09703684 -3.09703684 -2.7773733 --1.89274264 -1.89274264 -1.6865796 --1.1993125 -1.1993125 -1.0693434 --0.6417074399999999 -0.6417074399999999 -0.5764623 --0.36540852 -0.36540852 -0.33110988 --0.21922749 -0.21922749 -0.2001304 --68.32736161999999 -68.32736161999999 -64.755905 --49.823443739999995 -49.823443739999995 -47.70632 --36.6754001 -36.6754001 -35.16692 --27.21431783 -27.21431783 -26.021557 --15.32321785 -15.32321785 -14.542867 --8.90079781 -8.90079781 -8.427253 --5.34308015 -5.34308015 -5.0814624 --3.3178055200000003 -3.3178055200000003 -3.1837816 --1.72579616 -1.72579616 -1.6827123 --0.9593959599999999 -0.9593959599999999 -0.94798094 --0.56390421 -0.56390421 -0.5624429 --28.955685719999998 -28.955685719999998 -31.267973 --21.04402914 -21.04402914 -22.583326 --15.443951140000001 -15.443951140000001 -16.331089 --11.39892272 -11.39892272 -11.859781 --6.34534103 -6.34534103 -6.394511 --3.6297739200000003 -3.6297739200000003 -3.587899 --2.1489652599999998 -2.1489652599999998 -2.1054797 --1.31908766 -1.31908766 -1.2905163 --0.67835452 -0.67835452 -0.6653277 --0.37510809 -0.37510809 -0.36838534 --0.22048267 -0.22048267 -0.21608423 --31.76787533 -31.76787533 -30.531864 --22.47009441 -22.47009441 -21.547695 --11.244445279999999 -11.244445279999999 -10.545922 --5.71322378 -5.71322378 -5.235854 --3.00326576 -3.00326576 -2.7227423 --1.65624448 -1.65624448 -1.5004961 --0.74842542 -0.74842542 -0.6802735 --0.37539905 -0.37539905 -0.34130573 --0.20447244 -0.20447244 -0.18534456 --48.40511301 -48.40511301 -44.079197 --34.81727956 -34.81727956 -32.30566 --25.266376219999998 -25.266376219999998 -23.596848 --13.597792 -13.597792 -12.661765 --7.530462630000001 -7.530462630000001 -6.9785275 --4.3103022200000005 -4.3103022200000005 -4.0025563 --2.56042647 -2.56042647 -2.3982053 --1.26084183 -1.26084183 -1.2012929 --0.6728386900000001 -0.6728386900000001 -0.6508766 --0.38428053 -0.38428053 -0.37561765 --36.83170876 -36.83170876 -38.876755 --26.14857741 -26.14857741 -27.26995 --18.80523383 -18.80523383 -19.214 --13.66838128 -13.66838128 -13.656408 --7.449147379999999 -7.449147379999999 -7.163186 --4.239202649999999 -4.239202649999999 -3.9838812 --2.52191702 -2.52191702 -2.3476303 --1.5680152299999999 -1.5680152299999999 -1.4556973 --0.8274043999999999 -0.8274043999999999 -0.76822186 --0.46989544 -0.46989544 -0.43611658 --0.28296135 -0.28296135 -0.26198754 --46.01138642 -46.01138642 -44.20693 --32.30047659 -32.30047659 -31.59224 --16.38272075 -16.38272075 -16.078503 --8.63171949 -8.63171949 -8.409052 --4.75795771 -4.75795771 -4.6193724 --2.75417046 -2.75417046 -2.680998 --1.3241422299999999 -1.3241422299999999 -1.302258 --0.6979782400000001 -0.6979782400000001 -0.6929602 --0.39557803999999996 -0.39557803999999996 -0.395358 --25.54106363 -25.54106363 -28.180353 --17.89641655 -17.89641655 -19.476124 --12.682898230000001 -12.682898230000001 -13.503897 --6.5811104 -6.5811104 -6.6836567 --3.58367788 -3.58367788 -3.5146122 --2.05774954 -2.05774954 -1.9821143 --1.24674954 -1.24674954 -1.1932503 --0.6436914100000001 -0.6436914100000001 -0.6155149 --0.36259010999999997 -0.36259010999999997 -0.34710926 --0.21794651 -0.21794651 -0.20888598 --42.391102149999995 -42.391102149999995 -42.525646 --30.59145819 -30.59145819 -30.462849 --22.28698911 -22.28698911 -21.93761 --12.15404991 -12.15404991 -11.700386 --6.88462422 -6.88462422 -6.554438 --4.06455093 -4.06455093 -3.8710475 --2.50226409 -2.50226409 -2.4013433 --1.30081046 -1.30081046 -1.2677227 --0.7297306499999999 -0.7297306499999999 -0.7203964 --0.43506786999999997 -0.43506786999999997 -0.43335027 --41.100449129999994 -41.100449129999994 -38.497112 --30.315488130000002 -30.315488130000002 -28.687868 --22.57370889 -22.57370889 -21.41249 --16.94705103 -16.94705103 -16.05689 --12.82825966 -12.82825966 -12.1265135 --7.543299579999999 -7.543299579999999 -7.1091585 --4.59174972 -4.59174972 -4.3411975 --2.89676176 -2.89676176 -2.7587905 --1.88992896 -1.88992896 -1.8169345 --1.05532201 -1.05532201 -1.0274252 --0.62463649 -0.62463649 -0.6138782 --0.3878 -0.3878 -0.38340965 --42.52396344 -42.52396344 -42.292435 --29.96165 -29.96165 -30.119022 --21.338808750000002 -21.338808750000002 -21.40581 --15.33571613 -15.33571613 -15.266327 --8.164711200000001 -8.164711200000001 -7.9683814 --4.53593795 -4.53593795 -4.3612485 --2.6324713600000003 -2.6324713600000003 -2.510522 --1.5961250599999999 -1.5961250599999999 -1.5138003 --0.81071538 -0.81071538 -0.7634568 --0.44382914 -0.44382914 -0.41443807 --0.25821423 -0.25821423 -0.2388775 --28.400242659999996 -28.400242659999996 -26.953098 --20.804185699999998 -20.804185699999998 -19.313652 --15.383926930000001 -15.383926930000001 -13.924697 --11.47498752 -11.47498752 -10.139483 --8.63209084 -8.63209084 -7.4770713 --5.009615510000001 -5.009615510000001 -4.244718 --3.01436328 -3.01436328 -2.5514205 --1.88275472 -1.88275472 -1.6127675 --1.22016703 -1.22016703 -1.062771 --0.677634 -0.677634 -0.6047721 --0.40118432 -0.40118432 -0.3647288 --0.25002411 -0.25002411 -0.23024704 --33.167148850000004 -33.167148850000004 -32.87263 --23.511938930000003 -23.511938930000003 -23.218567 --16.864903780000002 -16.864903780000002 -16.487253 --12.22422198 -12.22422198 -11.80253 --6.6205421200000005 -6.6205421200000005 -6.2462726 --3.732775 -3.732775 -3.4776769 --2.19833894 -2.19833894 -2.0416706 --1.35172489 -1.35172489 -1.2591419 --0.70192306 -0.70192306 -0.6591361 --0.39272619999999997 -0.39272619999999997 -0.37150013 --0.23325136 -0.23325136 -0.22170532 --45.02071858 -45.02071858 -46.208607 --31.2753978 -31.2753978 -31.74243 --22.04399187 -22.04399187 -22.109032 --11.355979349999998 -11.355979349999998 -11.218587 --6.11475506 -6.11475506 -6.026296 --3.43579504 -3.43579504 -3.4027815 --2.01187453 -2.01187453 -2.005551 --0.9676585 -0.9676585 -0.9714386 --0.50164429 -0.50164429 -0.504402 --0.27695199000000004 -0.27695199000000004 -0.27789572 --42.73192358 -42.73192358 -42.530724 --29.85474861 -29.85474861 -29.538225 --21.23494257 -21.23494257 -20.788282 --11.189578599999999 -11.189578599999999 -10.75211 --6.16877046 -6.16877046 -5.88328 --3.54153255 -3.54153255 -3.3859997 --2.11449089 -2.11449089 -2.0357242 --1.04508216 -1.04508216 -1.0157213 --0.5552023700000001 -0.5552023700000001 -0.54161793 --0.31301459 -0.31301459 -0.30501145 --57.614937729999994 -57.614937729999994 -59.269268 --41.73466777 -41.73466777 -43.306206 --30.39885129 -30.39885129 -31.549332 --16.42456485 -16.42456485 -16.872902 --9.1318056 -9.1318056 -9.294968 --5.262656529999999 -5.262656529999999 -5.3384523 --3.15338697 -3.15338697 -3.203644 --1.57291241 -1.57291241 -1.6048285 --0.8462061900000001 -0.8462061900000001 -0.86613995 --0.4843238 -0.4843238 -0.4961692 --45.7602324 -45.7602324 -46.756756 --22.25908494 -22.25908494 -22.997557 --11.03881632 -11.03881632 -11.330755 --5.6228541 -5.6228541 -5.7166243 --2.96079284 -2.96079284 -2.9843516 --1.2183442 -1.2183442 -1.2159945 --0.55148758 -0.55148758 -0.54603106 --0.27321019999999996 -0.27321019999999996 -0.26809913 --29.072654290000003 -29.072654290000003 -29.609957 --21.3840426 -21.3840426 -21.60226 --15.85333403 -15.85333403 -15.781868 --11.83550768 -11.83550768 -11.589817 --8.90677298 -8.90677298 -8.582461 --5.169090199999999 -5.169090199999999 -4.8646846 --3.1067962700000002 -3.1067962700000002 -2.8970823 --1.9369215800000001 -1.9369215800000001 -1.8097031 --1.25253313 -1.25253313 -1.1787134 --0.69298365 -0.69298365 -0.66062766 --0.40862782999999997 -0.40862782999999997 -0.39352986 --0.25359597 -0.25359597 -0.24592683 --39.57440968 -39.57440968 -39.23419 --28.860822289999998 -28.860822289999998 -28.781723 --21.17076846 -21.17076846 -21.084896 --15.62250406 -15.62250406 -15.482886 --8.68897046 -8.68897046 -8.503161 --4.98770794 -4.98770794 -4.840981 --2.96806763 -2.96806763 -2.8732786 --1.83438511 -1.83438511 -1.7771965 --0.9528554 -0.9528554 -0.92674476 --0.53125146 -0.53125146 -0.51841426 --0.31371991 -0.31371991 -0.3069729 --26.734173929999997 -26.734173929999997 -28.530762 --19.27239051 -19.27239051 -20.3112 --14.001088130000001 -14.001088130000001 -14.479712 --10.25498641 -10.25498641 -10.38499 --7.578749360000001 -7.578749360000001 -7.5218325 --4.263745269999999 -4.263745269999999 -4.1042852 --2.50487867 -2.50487867 -2.3746874 --1.53942125 -1.53942125 -1.4533366 --0.98822811 -0.98822811 -0.93370456 --0.54601942 -0.54601942 -0.5173339 --0.32326017 -0.32326017 -0.3068653 --0.20196369 -0.20196369 -0.19181103 --28.612167619999997 -28.612167619999997 -30.111382 --20.08137927 -20.08137927 -20.840607 --14.25662862 -14.25662862 -14.520263 --7.42929419 -7.42929419 -7.303456 --4.06203796 -4.06203796 -3.910999 --2.33991613 -2.33991613 -2.238195 --1.41977045 -1.41977045 -1.3595909 --0.73084351 -0.73084351 -0.7041951 --0.40864504999999995 -0.40864504999999995 -0.39587307 --0.24346035 -0.24346035 -0.23662843 --45.10593192 -45.10593192 -44.415688 --32.32481961 -32.32481961 -31.869057 --16.345479830000002 -16.345479830000002 -15.948373 --8.22707832 -8.22707832 -7.8948355 --4.21103688 -4.21103688 -3.9828944 --2.2274385100000003 -2.2274385100000003 -2.084119 --0.92792871 -0.92792871 -0.858704 --0.42753812999999996 -0.42753812999999996 -0.3923131 --0.21571197 -0.21571197 -0.1964262 --50.563301339999995 -50.563301339999995 -53.074394 --33.89531959 -33.89531959 -35.32436 --22.85448594 -22.85448594 -23.511652 --15.527361459999998 -15.527361459999998 -15.75723 --7.39360567 -7.39360567 -7.363026 --3.7134288700000004 -3.7134288700000004 -3.6793869 --1.98075709 -1.98075709 -1.9678047 --1.11983825 -1.11983825 -1.1175686 --0.52245545 -0.52245545 -0.5245357 --0.26693202 -0.26693202 -0.2687432 --0.14634808000000002 -0.14634808000000002 -0.14748695 --43.06261699 -43.06261699 -42.49882 --29.53473581 -29.53473581 -29.277409 --14.43285852 -14.43285852 -14.16478 --7.37767336 -7.37767336 -7.170893 --3.95865565 -3.95865565 -3.8342273 --2.23367179 -2.23367179 -2.1636505 --1.03468114 -1.03468114 -1.0027523 --0.52585082 -0.52585082 -0.5078521 --0.28804798000000004 -0.28804798000000004 -0.2762889 --52.796491339999996 -52.796491339999996 -54.891174 --37.77700636 -37.77700636 -39.251724 --19.22811232 -19.22811232 -19.542494 --9.86953062 -9.86953062 -9.788165 --5.2038030299999996 -5.2038030299999996 -5.1106496 --2.8610168000000002 -2.8610168000000002 -2.8193922 --1.27718411 -1.27718411 -1.2752194 --0.63058205 -0.63058205 -0.6361872 --0.33801337000000004 -0.33801337000000004 -0.34271845 --34.521396100000004 -34.521396100000004 -31.707226 --24.06511024 -24.06511024 -22.049957 --17.04074859 -17.04074859 -15.436004 --8.83039241 -8.83039241 -7.7872906 --4.75679227 -4.75679227 -4.12865 --2.67144647 -2.67144647 -2.3148532 --1.56939591 -1.56939591 -1.3707101 --0.76774109 -0.76774109 -0.682578 --0.40990299999999996 -0.40990299999999996 -0.37021634 --0.23491501 -0.23491501 -0.21449442 --44.67688045999999 -44.67688045999999 -44.52317 --32.3229141 -32.3229141 -32.37872 --23.579197450000002 -23.579197450000002 -23.554193 --17.331275159999997 -17.331275159999997 -17.200562 --9.57802423 -9.57802423 -9.376417 --5.47460056 -5.47460056 -5.318845 --3.24885905 -3.24885905 -3.1544569 --2.00443081 -2.00443081 -1.9533755 --1.04033719 -1.04033719 -1.022297 --0.58051969 -0.58051969 -0.5742538 --0.3436329 -0.3436329 -0.34131536 --66.33494084 -66.33494084 -63.68887 --47.69680374 -47.69680374 -45.66034 --34.60729127 -34.60729127 -32.86676 --25.32418203 -25.32418203 -23.829407 --13.913852219999999 -13.913852219999999 -12.91647 --7.93603609 -7.93603609 -7.349109 --4.71292066 -4.71292066 -4.394266 --2.9171613 -2.9171613 -2.7497256 --1.5260561 -1.5260561 -1.4628023 --0.8588211800000001 -0.8588211800000001 -0.8341924 --0.51253478 -0.51253478 -0.5024102 --56.257728660000005 -56.257728660000005 -57.54408 --40.08253975 -40.08253975 -41.19821 --28.783640530000003 -28.783640530000003 -29.440819 --15.162394229999999 -15.162394229999999 -15.219228 --8.25362832 -8.25362832 -8.158408 --4.66449432 -4.66449432 -4.589114 --2.74959249 -2.74959249 -2.7119482 --1.34340672 -1.34340672 -1.337386 --0.71184302 -0.71184302 -0.71457905 --0.40301743 -0.40301743 -0.4066033 --51.28274695 -51.28274695 -52.495785 --36.38508882 -36.38508882 -37.83095 --26.08676603 -26.08676603 -27.236195 --18.86457577 -18.86457577 -19.648338 --10.107401359999999 -10.107401359999999 -10.395065 --5.60507742 -5.60507742 -5.69459 --3.231195 -3.231195 -3.257857 --1.9386893399999998 -1.9386893399999998 -1.9491442 --0.97067405 -0.97067405 -0.97398984 --0.52487673 -0.52487673 -0.52598625 --0.30246097 -0.30246097 -0.30237418 --57.258965200000006 -57.258965200000006 -56.28316 --38.83568121 -38.83568121 -38.146606 --18.617852029999998 -18.617852029999998 -17.938831 --9.37084036 -9.37084036 -8.861784 --4.9564549499999995 -4.9564549499999995 -4.645068 --2.76112921 -2.76112921 -2.5840704 --1.2584854600000002 -1.2584854600000002 -1.182754 --0.63071322 -0.63071322 -0.5950274 --0.34118659 -0.34118659 -0.32206458 --52.652399339999995 -52.652399339999995 -51.041553 --36.904165739999996 -36.904165739999996 -36.941845 --26.14381347 -26.14381347 -26.61112 --18.693123019999998 -18.693123019999998 -19.172287 --9.835655390000001 -9.835655390000001 -10.115627 --5.39735568 -5.39735568 -5.5524955 --3.1064600700000002 -3.1064600700000002 -3.201577 --1.8764354699999999 -1.8764354699999999 -1.9391708 --0.95593536 -0.95593536 -0.9913751 --0.52828559 -0.52828559 -0.5485326 --0.31129674 -0.31129674 -0.32284343 --43.69533362999999 -43.69533362999999 -42.722733 --31.43444395 -31.43444395 -30.701683 --16.47424765 -16.47424765 -15.857423 --8.79710823 -8.79710823 -8.361117 --4.83153945 -4.83153945 -4.5716915 --2.75039487 -2.75039487 -2.608722 --1.2738117199999999 -1.2738117199999999 -1.2165586 --0.64307341 -0.64307341 -0.6165675 --0.34923317 -0.34923317 -0.3348892 --37.85286072 -37.85286072 -38.534203 --26.971558979999998 -26.971558979999998 -27.456203 --13.63702413 -13.63702413 -13.466975 --6.8492079100000005 -6.8492079100000005 -6.438051 --3.4701647700000002 -3.4701647700000002 -3.1199236 --1.81115642 -1.81115642 -1.5924248 --0.7488275799999999 -0.7488275799999999 -0.6586566 --0.34937779 -0.34937779 -0.3110271 --0.18038742 -0.18038742 -0.16217652 --26.395838189999996 -26.395838189999996 -24.445547 --13.49855359 -13.49855359 -12.455789 --7.154486400000001 -7.154486400000001 -6.560209 --3.95197776 -3.95197776 -3.625046 --2.28847452 -2.28847452 -2.1114502 --1.1032548800000002 -1.1032548800000002 -1.0295161 --0.5855457500000001 -0.5855457500000001 -0.5507512 --0.33568549999999997 -0.33568549999999997 -0.3167623 --53.11508427 -53.11508427 -51.40191 --36.875725290000005 -36.875725290000005 -36.306675 --25.92011049 -25.92011049 -25.625256 --13.10462507 -13.10462507 -12.830227 --6.80702491 -6.80702491 -6.5600033 --3.65585647 -3.65585647 -3.4859896 --2.0452177099999997 -2.0452177099999997 -1.9464262 --0.93172224 -0.93172224 -0.89250904 --0.46719005 -0.46719005 -0.45130384 --0.2537951 -0.2537951 -0.24657114 --52.39875948000001 -52.39875948000001 -54.683853 --36.82819725 -36.82819725 -39.078846 --26.16442691 -26.16442691 -27.939112 --13.564945250000001 -13.564945250000001 -14.481759 --7.3101628299999994 -7.3101628299999994 -7.7703676 --4.11290403 -4.11290403 -4.363487 --2.42012676 -2.42012676 -2.570635 --1.1849279400000001 -1.1849279400000001 -1.2620968 --0.63043931 -0.63043931 -0.67284673 --0.35880814000000005 -0.35880814000000005 -0.38295802 --23.194927300000003 -23.194927300000003 -22.808064 --11.15668881 -11.15668881 -10.886586 --5.5766174 -5.5766174 -5.3897285 --2.90756317 -2.90756317 -2.7937415 --1.19757948 -1.19757948 -1.1439914 --0.54880374 -0.54880374 -0.52138937 --0.27615529 -0.27615529 -0.26066098 --25.90187562 -25.90187562 -27.2373 --18.50519686 -18.50519686 -19.218449 --13.279364690000001 -13.279364690000001 -13.47373 --9.573257869999999 -9.573257869999999 -9.442222 --6.95199355 -6.95199355 -6.6518807 --3.7578758100000003 -3.7578758100000003 -3.4144325 --2.11566961 -2.11566961 -1.864144 --1.2482841999999998 -1.2482841999999998 -1.0866408 --0.7731151 -0.7731151 -0.6715877 --0.40864944 -0.40864944 -0.35637435 --0.23413335 -0.23413335 -0.20501421 --0.14281001999999998 -0.14281001999999998 -0.12533575 +-35.4680734 -35.4680734 -37.608927201953065 +-26.1463898 -26.1463898 -27.674414904996716 +-19.35277663 -19.35277663 -20.34427920445396 +-14.392597580000002 -14.392597580000002 -14.999585703642031 +-8.106002160000001 -8.106002160000001 -8.318961617942378 +-4.70786822 -4.70786822 -4.7886278824778525 +-2.83171912 -2.83171912 -2.8720174770578835 +-1.76663279 -1.76663279 -1.791588232014084 +-0.9286487999999999 -0.9286487999999999 -0.9419528302106283 +-0.52205154 -0.52205154 -0.5287033074146208 +-0.30995446 -0.30995446 -0.313055956573032 +-39.583594170000005 -39.583594170000005 -40.37523677690885 +-19.45860266 -19.45860266 -20.00930622286206 +-9.84640189 -9.84640189 -10.115113167479766 +-5.18580807 -5.18580807 -5.336095378521736 +-2.86816368 -2.86816368 -2.9592701840043167 +-1.29320426 -1.29320426 -1.3370126439442878 +-0.6425918700000001 -0.6425918700000001 -0.6627503023178027 +-0.34542288 -0.34542288 -0.35424346369991594 +-57.442823159999996 -57.442823159999996 -61.70742660804865 +-40.34374974 -40.34374974 -44.01421543195996 +-20.41445462 -20.41445462 -22.420854948201367 +-10.72703557 -10.72703557 -11.74121801284076 +-5.8960291499999995 -5.8960291499999995 -6.435170279757326 +-3.3958613 -3.3958613 -3.7087602152456194 +-1.6148304999999998 -1.6148304999999998 -1.7689412368067055 +-0.8371314 -0.8371314 -0.9187504770700056 +-0.464991 -0.464991 -0.5101828374786594 +-65.54178807000001 -65.54178807000001 -64.76475175018113 +-47.27923433 -47.27923433 -47.069855131110764 +-34.339357820000004 -34.339357820000004 -34.14303610738955 +-18.431243470000002 -18.431243470000002 -18.142743014293075 +-10.17232779 -10.17232779 -9.950872859729069 +-5.81286535 -5.81286535 -5.697387206238531 +-3.45326515 -3.45326515 -3.4109492870359883 +-1.70138694 -1.70138694 -1.7041109873895586 +-0.90683188 -0.90683188 -0.9179946985151146 +-0.51557142 -0.51557142 -0.5252282661566885 +-35.9258342 -35.9258342 -35.99531859381783 +-16.64155507 -16.64155507 -16.8117519031237 +-7.96518118 -7.96518118 -8.012156267973426 +-3.9922323200000003 -3.9922323200000003 -4.002133379257849 +-2.11215489 -2.11215489 -2.1160541433458233 +-0.9028703100000001 -0.9028703100000001 -0.903739674112976 +-0.43174389 -0.43174389 -0.43047350898837894 +-0.22591321 -0.22591321 -0.22378489495067544 +-30.73157646 -30.73157646 -30.531258569852927 +-22.40168498 -22.40168498 -22.129396819718846 +-16.43209422 -16.43209422 -16.031581638443743 +-12.14132254 -12.14132254 -11.661917238447748 +-9.04231356 -9.04231356 -8.551729600607246 +-5.14211342 -5.14211342 -4.761133853410011 +-3.0369072 -3.0369072 -2.7972462668228175 +-1.86953339 -1.86953339 -1.731798651440721 +-1.19735574 -1.19735574 -1.1219207560635058 +-0.65676395 -0.65676395 -0.626318171256095 +-0.3855321 -0.3855321 -0.3725929192390811 +-0.23879439 -0.23879439 -0.2328086695211326 +-45.490737949999996 -45.490737949999996 -47.79596931092454 +-32.21981355 -32.21981355 -33.87284472142797 +-23.0196039 -23.0196039 -23.959553842664974 +-11.89264987 -11.89264987 -11.961589408355428 +-6.22075858 -6.22075858 -6.045231237099053 +-3.3310461399999998 -3.3310461399999998 -3.1678117174260225 +-1.8492628199999999 -1.8492628199999999 -1.74798862548725 +-0.83152222 -0.83152222 -0.7917320322036396 +-0.41285114 -0.41285114 -0.39717865912014927 +-0.22291496 -0.22291496 -0.2158353524274445 +-35.15702423 -35.15702423 -35.462320782684856 +-16.72889419 -16.72889419 -16.68377010479867 +-8.18161802 -8.18161802 -7.979312296434254 +-4.16881493 -4.16881493 -4.0191130349483215 +-2.24027752 -2.24027752 -2.163808151992461 +-0.9847958099999999 -0.9847958099999999 -0.9629854342375572 +-0.4863354 -0.4863354 -0.4809404750167573 +-0.26309772000000003 -0.26309772000000003 -0.26181981723124664 +-25.14809655 -25.14809655 -25.59155398084393 +-11.97736702 -11.97736702 -12.103621327142209 +-5.9657339 -5.9657339 -5.9586234531025415 +-3.1310098600000003 -3.1310098600000003 -3.10503536509547 +-1.74044251 -1.74044251 -1.7194651232459552 +-0.80056993 -0.80056993 -0.7868209166269178 +-0.40985186 -0.40985186 -0.399641935648003 +-0.22815570999999998 -0.22815570999999998 -0.22029977633902909 +-37.584898589999995 -37.584898589999995 -37.75757344562787 +-17.36236604 -17.36236604 -17.517483421198133 +-8.19410047 -8.19410047 -8.117743972366686 +-3.9878064399999995 -3.9878064399999995 -3.8542319441067736 +-2.0268389300000003 -2.0268389300000003 -1.9137466686408542 +-0.81126066 -0.81126066 -0.7457591742282477 +-0.36601661999999996 -0.36601661999999996 -0.33049504484238124 +-0.18330189 -0.18330189 -0.16317652327527699 +-46.6476023 -46.6476023 -45.963321077137884 +-33.41663071 -33.41663071 -33.11991101914532 +-17.40124797 -17.40124797 -17.059673256110788 +-9.237365830000002 -9.237365830000002 -8.872511864673555 +-5.04388622 -5.04388622 -4.772804666961951 +-2.85807686 -2.85807686 -2.690886313464585 +-1.3203608599999999 -1.3203608599999999 -1.2459204463421605 +-0.6673110600000001 -0.6673110600000001 -0.632121633840715 +-0.36365852 -0.36365852 -0.34463188358086533 +-35.44792079 -35.44792079 -36.942750336238916 +-24.83846745 -24.83846745 -25.402827462362293 +-17.72523623 -17.72523623 -17.64388254548971 +-12.83890067 -12.83890067 -12.432915907905375 +-9.4293195 -9.4293195 -8.90978145050275 +-5.283329190000001 -5.283329190000001 -4.82001224328159 +-3.09703684 -3.09703684 -2.7773742239631503 +-1.89274264 -1.89274264 -1.6865803659838106 +-1.1993125 -1.1993125 -1.0693438638098447 +-0.6417074399999999 -0.6417074399999999 -0.5764627523632193 +-0.36540852 -0.36540852 -0.33111004574005154 +-0.21922749 -0.21922749 -0.20013027229599883 +-68.32736161999999 -68.32736161999999 -64.75594230669256 +-49.823443739999995 -49.823443739999995 -47.70634127132432 +-36.6754001 -36.6754001 -35.16693427245318 +-27.21431783 -27.21431783 -26.021565364991105 +-15.32321785 -15.32321785 -14.542872115760286 +-8.90079781 -8.90079781 -8.4272550893602 +-5.34308015 -5.34308015 -5.081464321528334 +-3.3178055200000003 -3.3178055200000003 -3.183782661706538 +-1.72579616 -1.72579616 -1.682712857866959 +-0.9593959599999999 -0.9593959599999999 -0.9479812045056438 +-0.56390421 -0.56390421 -0.5624431794813808 +-28.955685719999998 -28.955685719999998 -31.267989476298386 +-21.04402914 -21.04402914 -22.583332524591153 +-15.443951140000001 -15.443951140000001 -16.33109652776063 +-11.39892272 -11.39892272 -11.85978730293982 +-6.34534103 -6.34534103 -6.39451328603999 +-3.6297739200000003 -3.6297739200000003 -3.587900172412313 +-2.1489652599999998 -2.1489652599999998 -2.1054804412251116 +-1.31908766 -1.31908766 -1.2905165715603457 +-0.67835452 -0.67835452 -0.6653280287345338 +-0.37510809 -0.37510809 -0.3683854507808391 +-0.22048267 -0.22048267 -0.2160843227810428 +-31.76787533 -31.76787533 -30.531874643363448 +-22.47009441 -22.47009441 -21.547704098811266 +-11.244445279999999 -11.244445279999999 -10.545926169973795 +-5.71322378 -5.71322378 -5.235856482810955 +-3.00326576 -3.00326576 -2.722743014593952 +-1.65624448 -1.65624448 -1.5004965684743397 +-0.74842542 -0.74842542 -0.6802736757780239 +-0.37539905 -0.37539905 -0.3413058350861651 +-0.20447244 -0.20447244 -0.18534462321625467 +-48.40511301 -48.40511301 -44.079219525599356 +-34.81727956 -34.81727956 -32.30567286268716 +-25.266376219999998 -25.266376219999998 -23.59685528247584 +-13.597792 -13.597792 -12.661769794158218 +-7.530462630000001 -7.530462630000001 -6.97853008088188 +-4.3103022200000005 -4.3103022200000005 -4.002558097574448 +-2.56042647 -2.56042647 -2.3982063618236418 +-1.26084183 -1.26084183 -1.2012931539729592 +-0.6728386900000001 -0.6728386900000001 -0.6508768894830973 +-0.38428053 -0.38428053 -0.375617760391065 +-36.83170876 -36.83170876 -38.876765683133414 +-26.14857741 -26.14857741 -27.269966041778854 +-18.80523383 -18.80523383 -19.21400703515311 +-13.66838128 -13.66838128 -13.656410857858958 +-7.449147379999999 -7.449147379999999 -7.1631894643408875 +-4.239202649999999 -4.239202649999999 -3.983882250276596 +-2.52191702 -2.52191702 -2.347631054796305 +-1.5680152299999999 -1.5680152299999999 -1.4556977630967685 +-0.8274043999999999 -0.8274043999999999 -0.7682221355228749 +-0.46989544 -0.46989544 -0.43611660707561184 +-0.28296135 -0.28296135 -0.26198768793714 +-46.01138642 -46.01138642 -44.20693572051165 +-32.30047659 -32.30047659 -31.592243527325547 +-16.38272075 -16.38272075 -16.07850921533555 +-8.63171949 -8.63171949 -8.409056224214943 +-4.75795771 -4.75795771 -4.619374071718157 +-2.75417046 -2.75417046 -2.680998993271379 +-1.3241422299999999 -1.3241422299999999 -1.302258150842527 +-0.6979782400000001 -0.6979782400000001 -0.6929605208261475 +-0.39557803999999996 -0.39557803999999996 -0.3953579787517788 +-25.54106363 -25.54106363 -28.18034960482312 +-17.89641655 -17.89641655 -19.476131540513794 +-12.682898230000001 -12.682898230000001 -13.503901980883054 +-6.5811104 -6.5811104 -6.683657941177006 +-3.58367788 -3.58367788 -3.514612362977647 +-2.05774954 -2.05774954 -1.9821143913710526 +-1.24674954 -1.24674954 -1.1932506533064757 +-0.6436914100000001 -0.6436914100000001 -0.6155147859592495 +-0.36259010999999997 -0.36259010999999997 -0.3471087121723455 +-0.21794651 -0.21794651 -0.20888575070927765 +-42.391102149999995 -42.391102149999995 -42.525665616526084 +-30.59145819 -30.59145819 -30.462866905516805 +-22.28698911 -22.28698911 -21.937618875342427 +-12.15404991 -12.15404991 -11.700389936659445 +-6.88462422 -6.88462422 -6.554439814558024 +-4.06455093 -4.06455093 -3.8710484060044967 +-2.50226409 -2.50226409 -2.4013441177960777 +-1.30081046 -1.30081046 -1.2677230930022143 +-0.7297306499999999 -0.7297306499999999 -0.7203965822936669 +-0.43506786999999997 -0.43506786999999997 -0.43335039281892745 +-41.100449129999994 -41.100449129999994 -38.497122142489786 +-30.315488130000002 -30.315488130000002 -28.687882678887615 +-22.57370889 -22.57370889 -21.412499657215697 +-16.94705103 -16.94705103 -16.05689463157751 +-12.82825966 -12.82825966 -12.126518465263446 +-7.543299579999999 -7.543299579999999 -7.109161977153618 +-4.59174972 -4.59174972 -4.341199205019342 +-2.89676176 -2.89676176 -2.758791162303189 +-1.88992896 -1.88992896 -1.8169349891650655 +-1.05532201 -1.05532201 -1.0274253589394962 +-0.62463649 -0.62463649 -0.6138784434283238 +-0.3878 -0.3878 -0.3834097878637031 +-42.52396344 -42.52396344 -42.292446716576364 +-29.96165 -29.96165 -30.119036933805514 +-21.338808750000002 -21.338808750000002 -21.405814850738786 +-15.33571613 -15.33571613 -15.266332097843229 +-8.164711200000001 -8.164711200000001 -7.968383942738787 +-4.53593795 -4.53593795 -4.361250033636014 +-2.6324713600000003 -2.6324713600000003 -2.510522758427727 +-1.5961250599999999 -1.5961250599999999 -1.5138008403312477 +-0.81071538 -0.81071538 -0.763457038836133 +-0.44382914 -0.44382914 -0.41443812282846393 +-0.25821423 -0.25821423 -0.23887756572378968 +-28.400242659999996 -28.400242659999996 -26.95310333889078 +-20.804185699999998 -20.804185699999998 -19.31366396414234 +-15.383926930000001 -15.383926930000001 -13.924702576010466 +-11.47498752 -11.47498752 -10.13948403323848 +-8.63209084 -8.63209084 -7.47707445044411 +-5.009615510000001 -5.009615510000001 -4.244719771381562 +-3.01436328 -3.01436328 -2.551421611508932 +-1.88275472 -1.88275472 -1.6127678816477284 +-1.22016703 -1.22016703 -1.0627710826001746 +-0.677634 -0.677634 -0.6047722387565332 +-0.40118432 -0.40118432 -0.36472869419713905 +-0.25002411 -0.25002411 -0.23024713965040905 +-33.167148850000004 -33.167148850000004 -32.872639175940456 +-23.511938930000003 -23.511938930000003 -23.21856715012383 +-16.864903780000002 -16.864903780000002 -16.487260400592625 +-12.22422198 -12.22422198 -11.802532465059597 +-6.6205421200000005 -6.6205421200000005 -6.246274786969437 +-3.732775 -3.732775 -3.4776778257421146 +-2.19833894 -2.19833894 -2.041671040276966 +-1.35172489 -1.35172489 -1.2591420403938152 +-0.70192306 -0.70192306 -0.6591363649602289 +-0.39272619999999997 -0.39272619999999997 -0.3715002673263037 +-0.23325136 -0.23325136 -0.22170540179716722 +-45.02071858 -45.02071858 -46.20862387749353 +-31.2753978 -31.2753978 -31.74243980846722 +-22.04399187 -22.04399187 -22.109039957766402 +-11.355979349999998 -11.355979349999998 -11.218591390688562 +-6.11475506 -6.11475506 -6.026297712596145 +-3.43579504 -3.43579504 -3.4027821301631147 +-2.01187453 -2.01187453 -2.0055516024327513 +-0.9676585 -0.9676585 -0.9714388543159795 +-0.50164429 -0.50164429 -0.5044021311149911 +-0.27695199000000004 -0.27695199000000004 -0.27789576065480753 +-42.73192358 -42.73192358 -42.530741774697574 +-29.85474861 -29.85474861 -29.53823383415668 +-21.23494257 -21.23494257 -20.788287946359265 +-11.189578599999999 -11.189578599999999 -10.752112823654123 +-6.16877046 -6.16877046 -5.883281131368516 +-3.54153255 -3.54153255 -3.386001083632736 +-2.11449089 -2.11449089 -2.0357246918058056 +-1.04508216 -1.04508216 -1.0157217067022468 +-0.5552023700000001 -0.5552023700000001 -0.5416181048710452 +-0.31301459 -0.31301459 -0.30501155132317376 +-57.614937729999994 -57.614937729999994 -59.269288955907236 +-41.73466777 -41.73466777 -43.30622790974494 +-30.39885129 -30.39885129 -31.5493430910271 +-16.42456485 -16.42456485 -16.872910127872263 +-9.1318056 -9.1318056 -9.294969863584592 +-5.262656529999999 -5.262656529999999 -5.3384546176724355 +-3.15338697 -3.15338697 -3.2036448426263706 +-1.57291241 -1.57291241 -1.6048290158245877 +-0.8462061900000001 -0.8462061900000001 -0.8661402953899311 +-0.4843238 -0.4843238 -0.4961693719130172 +-45.7602324 -45.7602324 -46.756783517133115 +-22.25908494 -22.25908494 -22.99756528451068 +-11.03881632 -11.03881632 -11.330759452768424 +-5.6228541 -5.6228541 -5.716625978889481 +-2.96079284 -2.96079284 -2.9843529299398996 +-1.2183442 -1.2183442 -1.2159948454545277 +-0.55148758 -0.55148758 -0.546031171288311 +-0.27321019999999996 -0.27321019999999996 -0.26809921215576005 +-29.072654290000003 -29.072654290000003 -29.609974832385927 +-21.3840426 -21.3840426 -21.60225743803821 +-15.85333403 -15.85333403 -15.781877165443984 +-11.83550768 -11.83550768 -11.58982266825997 +-8.90677298 -8.90677298 -8.582462434634685 +-5.169090199999999 -5.169090199999999 -4.864686440696147 +-3.1067962700000002 -3.1067962700000002 -2.897083554490595 +-1.9369215800000001 -1.9369215800000001 -1.8097036411240506 +-1.25253313 -1.25253313 -1.1787138269105306 +-0.69298365 -0.69298365 -0.6606278476331184 +-0.40862782999999997 -0.40862782999999997 -0.39352995081044445 +-0.25359597 -0.25359597 -0.2459268576424524 +-39.57440968 -39.57440968 -39.234198268736776 +-28.860822289999998 -28.860822289999998 -28.781738498003772 +-21.17076846 -21.17076846 -21.084904279752525 +-15.62250406 -15.62250406 -15.48289107386393 +-8.68897046 -8.68897046 -8.503163771523528 +-4.98770794 -4.98770794 -4.840982062991829 +-2.96806763 -2.96806763 -2.8732797709004227 +-1.83438511 -1.83438511 -1.7771971363303394 +-0.9528554 -0.9528554 -0.9267451140389612 +-0.53125146 -0.53125146 -0.5184144019058275 +-0.31371991 -0.31371991 -0.30697302512577546 +-26.734173929999997 -26.734173929999997 -28.53077327902111 +-19.27239051 -19.27239051 -20.311208414470684 +-14.001088130000001 -14.001088130000001 -14.479717510721022 +-10.25498641 -10.25498641 -10.38499290366001 +-7.578749360000001 -7.578749360000001 -7.521835685788161 +-4.263745269999999 -4.263745269999999 -4.104286809669269 +-2.50487867 -2.50487867 -2.3746882755060392 +-1.53942125 -1.53942125 -1.453337229521402 +-0.98822811 -0.98822811 -0.9337047750843077 +-0.54601942 -0.54601942 -0.5173340039177616 +-0.32326017 -0.32326017 -0.306865304830474 +-0.20196369 -0.20196369 -0.1918110862441367 +-28.612167619999997 -28.612167619999997 -30.111402641683874 +-20.08137927 -20.08137927 -20.840611989968973 +-14.25662862 -14.25662862 -14.520266560449194 +-7.42929419 -7.42929419 -7.303457966089911 +-4.06203796 -4.06203796 -3.911000056943553 +-2.33991613 -2.33991613 -2.2381958512634235 +-1.41977045 -1.41977045 -1.359591444037273 +-0.73084351 -0.73084351 -0.7041952579804649 +-0.40864504999999995 -0.40864504999999995 -0.39587317179136144 +-0.24346035 -0.24346035 -0.2366284986613146 +-45.10593192 -45.10593192 -44.41570532028358 +-32.32481961 -32.32481961 -31.86907093919823 +-16.345479830000002 -16.345479830000002 -15.948377508219952 +-8.22707832 -8.22707832 -7.894838761096793 +-4.21103688 -4.21103688 -3.982895135946533 +-2.2274385100000003 -2.2274385100000003 -2.0841194704957213 +-0.92792871 -0.92792871 -0.8587043144227653 +-0.42753812999999996 -0.42753812999999996 -0.39231321122426677 +-0.21571197 -0.21571197 -0.19642624415120857 +-50.563301339999995 -50.563301339999995 -53.074405282519784 +-33.89531959 -33.89531959 -35.324371522566096 +-22.85448594 -22.85448594 -23.511662571797135 +-15.527361459999998 -15.527361459999998 -15.757234767952486 +-7.39360567 -7.39360567 -7.363028603941321 +-3.7134288700000004 -3.7134288700000004 -3.6793879563485428 +-1.98075709 -1.98075709 -1.9678051147767153 +-1.11983825 -1.11983825 -1.1175690249412487 +-0.52245545 -0.52245545 -0.5245358433673725 +-0.26693202 -0.26693202 -0.26874323626613 +-0.14634808000000002 -0.14634808000000002 -0.14748701607096354 +-43.06261699 -43.06261699 -42.49883825519159 +-29.53473581 -29.53473581 -29.277419764044126 +-14.43285852 -14.43285852 -14.164783042665261 +-7.37767336 -7.37767336 -7.170895307163485 +-3.95865565 -3.95865565 -3.8342284481064346 +-2.23367179 -2.23367179 -2.1636512408822384 +-1.03468114 -1.03468114 -1.0027527526528663 +-0.52585082 -0.52585082 -0.5078522413963557 +-0.28804798000000004 -0.28804798000000004 -0.2762889950863869 +-52.796491339999996 -52.796491339999996 -54.891195752089 +-37.77700636 -37.77700636 -39.25174297105733 +-19.22811232 -19.22811232 -19.54250011443275 +-9.86953062 -9.86953062 -9.788167939860719 +-5.2038030299999996 -5.2038030299999996 -5.110651838376303 +-2.8610168000000002 -2.8610168000000002 -2.8193925842113807 +-1.27718411 -1.27718411 -1.2752197685450073 +-0.63058205 -0.63058205 -0.6361874028871014 +-0.33801337000000004 -0.33801337000000004 -0.34271848450309195 +-34.521396100000004 -34.521396100000004 -31.707244996036437 +-24.06511024 -24.06511024 -22.04996790251872 +-17.04074859 -17.04074859 -15.43601001700025 +-8.83039241 -8.83039241 -7.787293774959488 +-4.75679227 -4.75679227 -4.128651521958656 +-2.67144647 -2.67144647 -2.3148539231766154 +-1.56939591 -1.56939591 -1.3707104231574325 +-0.76774109 -0.76774109 -0.6825782464789204 +-0.40990299999999996 -0.40990299999999996 -0.37021647389936113 +-0.23491501 -0.23491501 -0.21449449442311214 +-44.67688045999999 -44.67688045999999 -44.52319677049877 +-32.3229141 -32.3229141 -32.378734518436424 +-23.579197450000002 -23.579197450000002 -23.554206099493445 +-17.331275159999997 -17.331275159999997 -17.200569130760627 +-9.57802423 -9.57802423 -9.376421162799161 +-5.47460056 -5.47460056 -5.3188466538583725 +-3.24885905 -3.24885905 -3.1544575620241546 +-2.00443081 -2.00443081 -1.9533761739671445 +-1.04033719 -1.04033719 -1.0222976396302472 +-0.58051969 -0.58051969 -0.5742539927936835 +-0.3436329 -0.3436329 -0.3413153485222207 +-66.33494084 -66.33494084 -63.68888929890666 +-47.69680374 -47.69680374 -45.660350976878576 +-34.60729127 -34.60729127 -32.8667647889309 +-25.32418203 -25.32418203 -23.829414998147257 +-13.913852219999999 -13.913852219999999 -12.916473131794318 +-7.93603609 -7.93603609 -7.349111868868717 +-4.71292066 -4.71292066 -4.394267719307757 +-2.9171613 -2.9171613 -2.749726459323636 +-1.5260561 -1.5260561 -1.4628026957407236 +-0.8588211800000001 -0.8588211800000001 -0.8341927201242512 +-0.51253478 -0.51253478 -0.5024102880917412 +-56.257728660000005 -56.257728660000005 -57.544102355226 +-40.08253975 -40.08253975 -41.19823058233751 +-28.783640530000003 -28.783640530000003 -29.44082850044081 +-15.162394229999999 -15.162394229999999 -15.21923013829296 +-8.25362832 -8.25362832 -8.158410828672169 +-4.66449432 -4.66449432 -4.589115490419457 +-2.74959249 -2.74959249 -2.7119490120086893 +-1.34340672 -1.34340672 -1.3373866570263275 +-0.71184302 -0.71184302 -0.7145792302264267 +-0.40301743 -0.40301743 -0.40660342413850187 +-51.28274695 -51.28274695 -52.49580302340388 +-36.38508882 -36.38508882 -37.83096126924 +-26.08676603 -26.08676603 -27.236206343548027 +-18.86457577 -18.86457577 -19.648346931008994 +-10.107401359999999 -10.107401359999999 -10.395068802435139 +-5.60507742 -5.60507742 -5.694591277794198 +-3.231195 -3.231195 -3.257857721824073 +-1.9386893399999998 -1.9386893399999998 -1.9491447008751195 +-0.97067405 -0.97067405 -0.973990192922591 +-0.52487673 -0.52487673 -0.5259865333814847 +-0.30246097 -0.30246097 -0.30237435033378335 +-57.258965200000006 -57.258965200000006 -56.283185528779555 +-38.83568121 -38.83568121 -38.146623128116396 +-18.617852029999998 -18.617852029999998 -17.938836861195774 +-9.37084036 -9.37084036 -8.86178687045881 +-4.9564549499999995 -4.9564549499999995 -4.64506956372764 +-2.76112921 -2.76112921 -2.5840712433139092 +-1.2584854600000002 -1.2584854600000002 -1.1827545345392185 +-0.63071322 -0.63071322 -0.5950274693281408 +-0.34118659 -0.34118659 -0.322064662211781 +-52.652399339999995 -52.652399339999995 -51.04155823159099 +-36.904165739999996 -36.904165739999996 -36.94186335579949 +-26.14381347 -26.14381347 -26.61113078818411 +-18.693123019999998 -18.693123019999998 -19.17229339176052 +-9.835655390000001 -9.835655390000001 -10.115630504972913 +-5.39735568 -5.39735568 -5.552497841042694 +-3.1064600700000002 -3.1064600700000002 -3.201578047836142 +-1.8764354699999999 -1.8764354699999999 -1.939171420910143 +-0.95593536 -0.95593536 -0.991375429059205 +-0.52828559 -0.52828559 -0.5485328277286019 +-0.31129674 -0.31129674 -0.32284359127100987 +-43.69533362999999 -43.69533362999999 -42.72274964368949 +-31.43444395 -31.43444395 -30.701693082833824 +-16.47424765 -16.47424765 -15.857430008979456 +-8.79710823 -8.79710823 -8.361118811410511 +-4.83153945 -4.83153945 -4.571692927944068 +-2.75039487 -2.75039487 -2.6087227319720796 +-1.2738117199999999 -1.2738117199999999 -1.2165590091480938 +-0.64307341 -0.64307341 -0.6165677278822046 +-0.34923317 -0.34923317 -0.3348893438458688 +-37.85286072 -37.85286072 -38.53422433613007 +-26.971558979999998 -26.971558979999998 -27.45621563899575 +-13.63702413 -13.63702413 -13.466980202714756 +-6.8492079100000005 -6.8492079100000005 -6.438053624741999 +-3.4701647700000002 -3.4701647700000002 -3.1199249185231968 +-1.81115642 -1.81115642 -1.592425182150587 +-0.7488275799999999 -0.7488275799999999 -0.6586568666066518 +-0.34937779 -0.34937779 -0.3110271773577349 +-0.18038742 -0.18038742 -0.16217656945136943 +-26.395838189999996 -26.395838189999996 -24.445556474609635 +-13.49855359 -13.49855359 -12.455792636951424 +-7.154486400000001 -7.154486400000001 -6.560211294910716 +-3.95197776 -3.95197776 -3.625047569768394 +-2.28847452 -2.28847452 -2.1114510218323876 +-1.1032548800000002 -1.1032548800000002 -1.0295166488906857 +-0.5855457500000001 -0.5855457500000001 -0.550751273217751 +-0.33568549999999997 -0.33568549999999997 -0.3167624843822412 +-53.11508427 -53.11508427 -51.40192984898985 +-36.875725290000005 -36.875725290000005 -36.30669279764154 +-25.92011049 -25.92011049 -25.625269053721485 +-13.10462507 -13.10462507 -12.83023035261228 +-6.80702491 -6.80702491 -6.560006029698862 +-3.65585647 -3.65585647 -3.4859904632073104 +-2.0452177099999997 -2.0452177099999997 -1.9464271299490024 +-0.93172224 -0.93172224 -0.8925093895319783 +-0.46719005 -0.46719005 -0.451303972041349 +-0.2537951 -0.2537951 -0.24657116036025148 +-52.39875948000001 -52.39875948000001 -54.68389396981784 +-36.82819725 -36.82819725 -39.078860835338006 +-26.16442691 -26.16442691 -27.93912223525741 +-13.564945250000001 -13.564945250000001 -14.48176533422222 +-7.3101628299999994 -7.3101628299999994 -7.7703700498213975 +-4.11290403 -4.11290403 -4.36348770231723 +-2.42012676 -2.42012676 -2.570636007873095 +-1.1849279400000001 -1.1849279400000001 -1.2620972518435496 +-0.63043931 -0.63043931 -0.6728469759818811 +-0.35880814000000005 -0.35880814000000005 -0.38295821505616184 +-23.194927300000003 -23.194927300000003 -22.808068743940957 +-11.15668881 -11.15668881 -10.886589915750411 +-5.5766174 -5.5766174 -5.389730275750946 +-2.90756317 -2.90756317 -2.793742577962704 +-1.19757948 -1.19757948 -1.1439916453533963 +-0.54880374 -0.54880374 -0.5213894140566415 +-0.27615529 -0.27615529 -0.26066110420042127 +-25.90187562 -25.90187562 -27.237332257196467 +-18.50519686 -18.50519686 -19.21845575584123 +-13.279364690000001 -13.279364690000001 -13.473734989648298 +-9.573257869999999 -9.573257869999999 -9.44222391350073 +-6.95199355 -6.95199355 -6.651882316751962 +-3.7578758100000003 -3.7578758100000003 -3.414433416594785 +-2.11566961 -2.11566961 -1.8641446984719492 +-1.2482841999999998 -1.2482841999999998 -1.0866411337748865 +-0.7731151 -0.7731151 -0.6715879416164079 +-0.40864944 -0.40864944 -0.3563744500859022 +-0.23413335 -0.23413335 -0.20501427397084246 +-0.14281001999999998 -0.14281001999999998 -0.12533582009632668 diff --git a/examples/peg_slater_isa/res_es.xvg b/examples/peg_slater_isa/res_es.xvg index 4250c7f61..ccd8fee67 100644 --- a/examples/peg_slater_isa/res_es.xvg +++ b/examples/peg_slater_isa/res_es.xvg @@ -1,499 +1,499 @@ --26.92646754 -26.92646754 -30.263 --15.95146212 -15.95146212 -17.836246 --9.39600201 -9.39600201 -10.413368 --5.55747528 -5.55747528 -6.093415 --2.0529823 -2.0529823 -2.204912 --0.86457172 -0.86457172 -0.9233526 --0.42836094 -0.42836094 -0.46599 --0.24583992 -0.24583992 -0.27545157 --0.12848313 -0.12848313 -0.14936955 --0.07629939 -0.07629939 -0.08992295 --0.04874538 -0.04874538 -0.057127614 --30.65095489 -30.65095489 -28.228418 --9.57483309 -9.57483309 -9.606777 --3.62072887 -3.62072887 -3.7913954 --1.79028584 -1.79028584 -1.9140902 --1.09737979 -1.09737979 -1.1902695 --0.64379611 -0.64379611 -0.71007144 --0.41820308 -0.41820308 -0.46653807 --0.28609992 -0.28609992 -0.32216597 --46.31576662 -46.31576662 -48.021114 --24.84531902 -24.84531902 -26.857641 --7.77202853 -7.77202853 -8.594936 --2.90556998 -2.90556998 -3.1046364 --1.33735555 -1.33735555 -1.3779551 --0.73257876 -0.73257876 -0.74644685 --0.36387736 -0.36387736 -0.37196502 --0.20452447 -0.20452447 -0.209674 --0.12353156 -0.12353156 -0.12594414 --65.5165102 -65.5165102 -66.37744 --35.10852118 -35.10852118 -37.602818 --18.70126668 -18.70126668 -20.98648 --5.2345023 -5.2345023 -6.4239097 --1.44378822 -1.44378822 -2.0512304 --0.3813889 -0.3813889 -0.76234865 --0.08086565 -0.08086565 -0.3599886 -0.0232123 0.0232123 -0.17077586 -0.04000435 0.04000435 -0.09942616 -0.03958023 0.03958023 -0.06132635 --46.75461359 -46.75461359 -45.74205 --14.71550646 -14.71550646 -15.715738 --6.32702061 -6.32702061 -6.6495805 --3.67795156 -3.67795156 -3.712956 --2.50430298 -2.50430298 -2.4894073 --1.58204275 -1.58204275 -1.577885 --1.06600101 -1.06600101 -1.0727642 --0.74861263 -0.74861263 -0.75929064 --19.89752557 -19.89752557 -22.0076 --11.37778411 -11.37778411 -11.638878 --6.24708853 -6.24708853 -5.6154633 --3.26368953 -3.26368953 -2.2953017 --1.58216834 -1.58216834 -0.55815303 --0.16542626 -0.16542626 0.6792707 -0.20254697 0.20254697 0.8437613 -0.26328413 0.26328413 0.76065826 -0.24544617 0.24544617 0.644326 -0.19620521 0.19620521 0.4968679 -0.15430831 0.15430831 0.3889863 -0.12275091 0.12275091 0.31009364 --47.8662431 -47.8662431 -46.236626 --25.20572579 -25.20572579 -25.464405 --13.43114281 -13.43114281 -14.048536 --3.86480118 -3.86480118 -4.179735 --1.05720794 -1.05720794 -1.1698002 --0.24292022 -0.24292022 -0.3058899 --0.01755674 -0.01755674 -0.062578425 -0.05180154 0.05180154 0.029598543 -0.05871939 0.05871939 0.051282577 -0.0555704 0.0555704 0.055737205 --32.51135802 -32.51135802 -35.536896 --6.26829276 -6.26829276 -8.576882 --0.40360813 -0.40360813 -1.2446501 -0.60157194 0.60157194 0.31390056 -0.61106926 0.61106926 0.48246264 -0.41163131 0.41163131 0.34261802 -0.26648738 0.26648738 0.21863852 -0.17971661 0.17971661 0.1435265 --23.58662228 -23.58662228 -23.004961 --6.93585971 -6.93585971 -7.119367 --2.68738835 -2.68738835 -2.598157 --1.41236088 -1.41236088 -1.2478626 --0.90618858 -0.90618858 -0.76107615 --0.54770608 -0.54770608 -0.45265755 --0.35856105 -0.35856105 -0.2552164 --0.245445 -0.245445 -0.2802068 --39.51866388 -39.51866388 -39.3846 --11.04400347 -11.04400347 -12.425116 --3.93046886 -3.93046886 -4.469986 --1.87591923 -1.87591923 -2.0622978 --1.10321105 -1.10321105 -1.1907696 --0.60298057 -0.60298057 -0.65371823 --0.36808507 -0.36808507 -0.40301448 --0.23948736 -0.23948736 -0.26418832 --41.81378495 -41.81378495 -42.473663 --23.17950316 -23.17950316 -24.79281 --7.64605687 -7.64605687 -8.892324 --2.94970482 -2.94970482 -3.6944249 --1.44850444 -1.44850444 -1.924217 --0.88932876 -0.88932876 -1.2121217 --0.53022962 -0.53022962 -0.7172066 --0.34397559 -0.34397559 -0.45484027 --0.22913777 -0.22913777 -0.29711458 --26.70424494 -26.70424494 -30.853743 --14.21674879 -14.21674879 -16.349253 --7.70868282 -7.70868282 -8.818996 --4.32909327 -4.32909327 -4.9731584 --2.56727249 -2.56727249 -3.0048132 --1.11931449 -1.11931449 -1.4122053 --0.65037188 -0.65037188 -0.8804558 --0.46043316 -0.46043316 -0.6411137 --0.36060198 -0.36060198 -0.501034 --0.26991139 -0.26991139 -0.36692342 --0.20984271 -0.20984271 -0.27856722 --0.16646023 -0.16646023 -0.21653147 --83.22813975 -83.22813975 -79.04496 --47.6340284 -47.6340284 -47.347473 --27.69086366 -27.69086366 -28.743927 --16.60584137 -16.60584137 -17.957813 --6.99252775 -6.99252775 -8.094123 --3.85532339 -3.85532339 -4.6170354 --2.64401528 -2.64401528 -3.1811373 --2.02892103 -2.02892103 -2.426055 --1.47395083 -1.47395083 -1.7390046 --1.09775322 -1.09775322 -1.2859186 --0.82652973 -0.82652973 -0.9660826 --20.09741547 -20.09741547 -21.820827 --10.82528081 -10.82528081 -11.970716 --5.8365916 -5.8365916 -6.47681 --3.12109483 -3.12109483 -3.4477513 --0.8889237 -0.8889237 -0.92061627 --0.24568268 -0.24568268 -0.22103058 --0.07353364 -0.07353364 -0.04231547 --0.03140264 -0.03140264 -0.000594463 --0.02125406 -0.02125406 0.009159037 --0.01906386 -0.01906386 0.009700643 --0.01662468 -0.01662468 0.04453282 --32.1897529 -32.1897529 -34.776474 --19.45266516 -19.45266516 -21.210526 --7.10338732 -7.10338732 -7.2103024 --2.91645891 -2.91645891 -2.450862 --1.46368683 -1.46368683 -1.0036788 --0.86440869 -0.86440869 -0.53971267 --0.45986776 -0.45986776 -0.29846773 --0.26970745 -0.26970745 -0.19607574 --0.16947528 -0.16947528 -0.13957058 --54.85161941 -54.85161941 -50.37309 --30.74859888 -30.74859888 -30.729443 --17.50838454 -17.50838454 -18.878227 --6.19557561 -6.19557561 -7.693101 --2.68422735 -2.68422735 -3.797547 --1.50576677 -1.50576677 -2.3417137 --1.03508429 -1.03508429 -1.6860873 --0.70345967 -0.70345967 -1.1722449 --0.51719633 -0.51719633 -0.86202943 --0.39189293 -0.39189293 -0.6503582 --33.65998754 -33.65998754 -30.47714 --17.56601494 -17.56601494 -16.666977 --9.05254661 -9.05254661 -9.0621 --4.62497954 -4.62497954 -4.9557085 --1.19607417 -1.19607417 -1.5977911 --0.33255955 -0.33255955 -0.6323093 --0.12786681 -0.12786681 -0.32626337 --0.08299031 -0.08299031 -0.20625117 --0.06877962 -0.06877962 -0.12362708 --0.05960471 -0.05960471 -0.07929893 --0.04916709 -0.04916709 -0.051610615 --35.36939421 -35.36939421 -27.438038 --18.41547434 -18.41547434 -14.946943 --4.99412982 -4.99412982 -4.1751623 --1.40713123 -1.40713123 -1.1345084 --0.44789795 -0.44789795 -0.33997035 --0.17853524 -0.17853524 -0.13915654 --0.07484559 -0.07484559 -0.07519232 --0.04674325 -0.04674325 -0.059675153 --0.03491392 -0.03491392 -0.0507521 --21.5399276 -21.5399276 -21.411562 --11.4623533 -11.4623533 -12.148519 --6.10338316 -6.10338316 -6.941436 --1.82567974 -1.82567974 -2.5135095 --0.65453886 -0.65453886 -1.1781441 --0.31061428 -0.31061428 -0.72131175 --0.18853571 -0.18853571 -0.5168597 --0.11115778 -0.11115778 -0.35137972 --0.07151364 -0.07151364 -0.2506935 --0.04705222 -0.04705222 -0.18293697 --35.43280883 -35.43280883 -33.96386 --19.14910941 -19.14910941 -19.871187 --10.32827833 -10.32827833 -11.805931 --3.10262804 -3.10262804 -4.669336 --1.08415414 -1.08415414 -2.3427277 --0.51841114 -0.51841114 -1.4808706 --0.34437018 -0.34437018 -1.0743377 --0.24990992 -0.24990992 -0.7361216 --0.19475397 -0.19475397 -0.5267845 --0.15211637 -0.15211637 -0.384691 --31.85043451 -31.85043451 -33.540443 --18.98370846 -18.98370846 -20.024921 --11.37857059 -11.37857059 -12.078613 --6.93815726 -6.93815726 -7.4695597 --4.36270445 -4.36270445 -4.808195 --1.97955758 -1.97955758 -2.3482232 --1.10897275 -1.10897275 -1.4320887 --0.73589834 -0.73589834 -1.014786 --0.54073541 -0.54073541 -0.7746273 --0.36985287 -0.36985287 -0.5465567 --0.26398811 -0.26398811 -0.39705408 --0.1921426 -0.1921426 -0.29357204 --38.58630269 -38.58630269 -35.052856 --20.35098167 -20.35098167 -19.665398 --10.74263239 -10.74263239 -10.905746 --5.73420144 -5.73420144 -6.067585 --1.8036871 -1.8036871 -2.0333643 --0.71647519 -0.71647519 -0.84230155 --0.37195636 -0.37195636 -0.44609126 --0.23106448 -0.23106448 -0.27960062 --0.13026256 -0.13026256 -0.15938812 --0.07701326 -0.07701326 -0.09621924 --0.04575825 -0.04575825 -0.05919378 --19.61525698 -19.61525698 -20.631128 --11.3857084 -11.3857084 -10.16378 --6.3411112 -6.3411112 -4.5543194 --3.36293172 -3.36293172 -1.6506195 --1.65158046 -1.65158046 -0.20240028 --0.15908911 -0.15908911 0.7844623 -0.26963502 0.26963502 0.90593934 -0.36677652 0.36677652 0.83257115 -0.36506523 0.36506523 0.72996736 -0.32108347 0.32108347 0.59244585 -0.27394055 0.27394055 0.48434138 -0.23344716 0.23344716 0.40025467 --31.11833995 -31.11833995 -30.619658 --17.21006977 -17.21006977 -16.674965 --9.59871528 -9.59871528 -9.163254 --5.42520478 -5.42520478 -5.112631 --1.84135475 -1.84135475 -1.7033459 --0.68554036 -0.68554036 -0.6384966 --0.27482084 -0.27482084 -0.26667604 --0.10767394 -0.10767394 -0.11369239 --0.00715038 -0.00715038 -0.016584724 -0.0294943 0.0294943 0.022858413 -0.04290374 0.04290374 0.03881599 --31.72464001 -31.72464001 -30.36371 --17.12582205 -17.12582205 -16.165628 --9.97467549 -9.97467549 -9.092326 --4.3379641 -4.3379641 -3.6454456 --2.46892074 -2.46892074 -2.0176501 --1.63539235 -1.63539235 -1.3638247 --1.16359906 -1.16359906 -1.0006229 --0.74521266 -0.74521266 -0.6607251 --0.49811869 -0.49811869 -0.44872835 --0.34444935 -0.34444935 -0.31270087 --40.26829811 -40.26829811 -41.634975 --21.36709049 -21.36709049 -23.703674 --12.3381528 -12.3381528 -14.461462 --5.50597214 -5.50597214 -6.85419 --3.39190929 -3.39190929 -4.2356043 --2.47707135 -2.47707135 -3.0220912 --1.93239408 -1.93239408 -2.294413 --1.37591206 -1.37591206 -1.5892272 --0.99436153 -0.99436153 -1.1322762 --0.72841834 -0.72841834 -0.82493997 --47.05762253 -47.05762253 -47.89014 --26.75123519 -26.75123519 -28.452578 --15.37165342 -15.37165342 -16.885723 --5.48215388 -5.48215388 -6.265563 --2.3198436 -2.3198436 -2.7409902 --1.20424569 -1.20424569 -1.487752 --0.7366726 -0.7366726 -0.95352066 --0.41598021 -0.41598021 -0.57088053 --0.2583673 -0.2583673 -0.36884734 --0.16924711 -0.16924711 -0.24757807 --44.07566299 -44.07566299 -33.22756 --11.47938428 -11.47938428 -9.2892885 --3.20645392 -3.20645392 -2.3747149 --1.16010455 -1.16010455 -0.5918341 --0.5524891 -0.5524891 -0.13389182 --0.23999861 -0.23999861 0.024470136 --0.11394125 -0.11394125 0.05906916 --0.05162978 -0.05162978 0.065778136 --16.7937815 -16.7937815 -21.392565 --9.35504568 -9.35504568 -11.553554 --4.97469903 -4.97469903 -5.893962 --2.45414091 -2.45414091 -2.7697415 --1.05728308 -1.05728308 -1.1127135 -0.08483281 0.08483281 0.12777118 -0.34636114 0.34636114 0.35566872 -0.35525814 0.35525814 0.3351802 -0.30417781 0.30417781 0.27187425 -0.22322949 0.22322949 0.18903632 -0.16265371 0.16265371 0.13272731 -0.1209798 0.1209798 0.09548624 --35.55664119 -35.55664119 -33.315407 --20.62501786 -20.62501786 -19.815336 --11.99856466 -11.99856466 -11.853288 --7.08458553 -7.08458553 -7.240675 --2.71212645 -2.71212645 -3.0489748 --1.25222585 -1.25222585 -1.5892192 --0.70623721 -0.70623721 -0.99780554 --0.4610128 -0.4610128 -0.7002856 --0.28188004 -0.28188004 -0.45313683 --0.18725204 -0.18725204 -0.30907002 --0.13000026 -0.13000026 -0.21751043 --18.71131575 -18.71131575 -30.381157 --10.71294633 -10.71294633 -17.539715 --6.1628948 -6.1628948 -10.190254 --3.62573164 -3.62573164 -6.0986743 --2.23411447 -2.23411447 -3.8563287 --1.06085572 -1.06085572 -1.9486166 --0.69541759 -0.69541759 -1.3139188 --0.5527786 -0.5527786 -1.034849 --0.47228828 -0.47228828 -0.86424404 --0.38500654 -0.38500654 -0.6829425 --0.31599707 -0.31599707 -0.5489289 --0.26062327 -0.26062327 -0.44651794 --19.97629457 -19.97629457 -18.272833 --10.09759403 -10.09759403 -9.491495 --4.94488321 -4.94488321 -4.7827096 --0.98041608 -0.98041608 -1.07725 --0.0171432 -0.0171432 -0.16558447 -0.1795175 0.1795175 0.02760187 -0.19144862 0.19144862 0.05384504 -0.14890533 0.14890533 0.041138314 -0.1081158 0.1081158 0.026386265 -0.07839954 0.07839954 0.016434185 --52.92140331 -52.92140331 -50.687153 --32.89260794 -32.89260794 -32.543903 --11.92848967 -11.92848967 -12.304735 --4.69196746 -4.69196746 -4.833743 --2.28924941 -2.28924941 -2.310001 --1.34412379 -1.34412379 -1.3445792 --0.72592841 -0.72592841 -0.7300457 --0.43568918 -0.43568918 -0.44183564 --0.27909179 -0.27909179 -0.25083023 --18.51601077 -18.51601077 -25.750942 --6.73271039 -6.73271039 -10.138252 --1.63203216 -1.63203216 -2.8430777 -0.40953731 0.40953731 0.22923395 -1.21609437 1.21609437 1.5639453 -0.95558989 0.95558989 1.2882348 -0.65220575 0.65220575 0.90955365 -0.43993141 0.43993141 0.63380176 -0.25265182 0.25265182 0.3808692 -0.15319065 0.15319065 0.23990996 -0.09747667 0.09747667 0.15762389 --47.57862852 -47.57862852 -45.12667 --23.85630588 -23.85630588 -24.762253 --7.18511734 -7.18511734 -8.275484 --3.0717926 -3.0717926 -3.6226275 --1.77846599 -1.77846599 -2.1096578 --1.20815773 -1.20815773 -1.4562614 --0.76024265 -0.76024265 -0.9464125 --0.50924745 -0.50924745 -0.6514121 --0.35461181 -0.35461181 -0.44991052 --55.11337058 -55.11337058 -56.7358 --30.99077293 -30.99077293 -33.87595 --9.42213509 -9.42213509 -11.29111 --3.14010295 -3.14010295 -4.097219 --1.39213041 -1.39213041 -1.9684106 --0.84834022 -0.84834022 -1.2460954 --0.54969956 -0.54969956 -0.80124027 --0.4001999 -0.4001999 -0.56955844 --0.30336196 -0.30336196 -0.42313838 --42.92567878 -42.92567878 -38.932446 --22.28301291 -22.28301291 -21.249434 --11.85047671 -11.85047671 -11.84672 --3.76065716 -3.76065716 -4.1891007 --1.50196713 -1.50196713 -1.9249579 --0.78321185 -0.78321185 -1.1495019 --0.50126802 -0.50126802 -0.8082902 --0.31453865 -0.31453865 -0.5452619 --0.21852205 -0.21852205 -0.3943407 --0.15986609 -0.15986609 -0.29649147 --45.90703616 -45.90703616 -45.258026 --26.2580163 -26.2580163 -26.867445 --15.10104454 -15.10104454 -16.086096 --8.85652398 -8.85652398 -9.864749 --3.47810466 -3.47810466 -4.248102 --1.8045386 -1.8045386 -2.3341105 --1.22039874 -1.22039874 -1.5863186 --0.95740785 -0.95740785 -1.2166473 --0.73263816 -0.73263816 -0.89552253 --0.57684192 -0.57684192 -0.6865355 --0.4582007 -0.4582007 -0.5370053 --68.83558494 -68.83558494 -67.07284 --39.00767209 -39.00767209 -39.26568 --22.27580479 -22.27580479 -23.015743 --12.898762 -12.898762 -13.624926 --4.60855361 -4.60855361 -5.087406 --1.82351514 -1.82351514 -2.1516154 --0.78516328 -0.78516328 -1.0339125 --0.34069543 -0.34069543 -0.5400953 --0.06567744 -0.06567744 -0.20891364 -0.03532005 0.03532005 -0.066158116 -0.06933896 0.06933896 -0.001840001 --43.23155603 -43.23155603 -39.506626 --24.17126581 -24.17126581 -22.08898 --13.73508045 -13.73508045 -12.25052 --4.79758898 -4.79758898 -3.7954679 --1.97393475 -1.97393475 -1.2682533 --0.98537407 -0.98537407 -0.48936498 --0.57799672 -0.57799672 -0.21488978 --0.30686628 -0.30686628 -0.05911839 --0.17726797 -0.17726797 0.0041488665 --0.10596164 -0.10596164 0.03229474 --41.50441771 -41.50441771 -42.546783 --22.98180312 -22.98180312 -24.518389 --13.06308449 -13.06308449 -14.361778 --7.69434247 -7.69434247 -8.631256 --3.08423354 -3.08423354 -3.5298302 --1.55225801 -1.55225801 -1.8086647 --0.96032657 -0.96032657 -1.1438348 --0.67843458 -0.67843458 -0.82310194 --0.45319497 -0.45319497 -0.56007034 --0.32313027 -0.32313027 -0.40374178 --0.23857312 -0.23857312 -0.30092472 --55.86787816 -55.86787816 -57.060516 --27.9063972 -27.9063972 -31.792852 --8.54273266 -8.54273266 -11.737944 --3.83592515 -3.83592515 -5.9976583 --2.41914512 -2.41914512 -3.9768496 --1.81232644 -1.81232644 -2.98917 --1.30536354 -1.30536354 -2.112033 --0.97565469 -0.97565469 -1.5485451 --0.74132649 -0.74132649 -1.1625773 --49.36809666 -49.36809666 -44.69865 --26.08254031 -26.08254031 -26.091795 --13.7787718 -13.7787718 -15.209426 --7.3456457 -7.3456457 -8.987018 --2.28586915 -2.28586915 -3.5166435 --0.91291547 -0.91291547 -1.7674129 --0.51170345 -0.51170345 -1.1374798 --0.36557293 -0.36557293 -0.8481884 --0.26608766 -0.26608766 -0.611231 --0.207145 -0.207145 -0.46395162 --0.16534056 -0.16534056 -0.36172628 --45.54903438 -45.54903438 -40.79727 --24.85199089 -24.85199089 -24.27276 --8.13689949 -8.13689949 -9.359864 --3.41572024 -3.41572024 -4.4550724 --1.92321612 -1.92321612 -2.6629655 --1.32275326 -1.32275326 -1.8456613 --0.87774498 -0.87774498 -1.2032404 --0.61900554 -0.61900554 -0.8335734 --0.44955943 -0.44955943 -0.59751016 --45.89316424 -45.89316424 -44.77346 --26.16172924 -26.16172924 -27.009108 --8.58619335 -8.58619335 -9.749004 --3.02314194 -3.02314194 -3.6679914 --1.28845816 -1.28845816 -1.6510003 --0.71148778 -0.71148778 -0.96026903 --0.40338229 -0.40338229 -0.5656855 --0.2646887 -0.2646887 -0.37443998 --0.18318997 -0.18318997 -0.25963223 --26.97747362 -26.97747362 -22.217089 --7.9977787 -7.9977787 -7.276115 --2.72728786 -2.72728786 -2.5016677 --1.17854976 -1.17854976 -0.9814307 --0.64472418 -0.64472418 -0.45834407 --0.33483322 -0.33483322 -0.18236217 --0.1930341 -0.1930341 -0.07094564 --0.11219626 -0.11219626 -0.01317995 --66.01238427 -66.01238427 -64.21023 --34.88419322 -34.88419322 -36.312485 --19.18385278 -19.18385278 -21.029636 --6.65099668 -6.65099668 -7.740045 --2.79859215 -2.79859215 -3.3656173 --1.41741587 -1.41741587 -1.782248 --0.82730775 -0.82730775 -1.1062889 --0.42754209 -0.42754209 -0.63508064 --0.24304652 -0.24304652 -0.39916128 --0.14664176 -0.14664176 -0.26467133 --48.54987406 -48.54987406 -43.65035 --25.45700049 -25.45700049 -23.713501 --13.5712171 -13.5712171 -12.860994 --4.15256929 -4.15256929 -3.8216226 --1.47194779 -1.47194779 -1.1929545 --0.62769519 -0.62769519 -0.40981102 --0.31860524 -0.31860524 -0.15514211 --0.14202453 -0.14202453 -0.032165643 --0.07235216 -0.07235216 0.0087900525 --0.03895953 -0.03895953 0.025010422 --17.05505616 -17.05505616 -16.656845 --5.60865095 -5.60865095 -5.7732873 --2.51743011 -2.51743011 -2.6302252 --1.46356868 -1.46356868 -1.5511973 --0.80955171 -0.80955171 -0.8895283 --0.49843248 -0.49843248 -0.56573975 --0.32427771 -0.32427771 -0.3781006 --21.8813234 -21.8813234 -26.544735 --12.2047835 -12.2047835 -15.220034 --6.64903757 -6.64903757 -8.347029 --3.52132233 -3.52132233 -4.4111266 --1.81394645 -1.81394645 -2.2618613 --0.42064322 -0.42064322 -0.55941224 --0.05569549 -0.05569549 -0.13812168 -0.02502525 0.02502525 -0.0421114 -0.03446709 0.03446709 -0.020578546 -0.02559703 0.02559703 -0.013015901 -0.0167205 0.0167205 -0.009433837 -0.01101465 0.01101465 -0.0065505696 +-26.92646754 -26.92646754 -9675.651100371942 +-15.95146212 -15.95146212 -5485.93228468596 +-9.39600201 -9.39600201 -3009.5266430522283 +-5.55747528 -5.55747528 -1576.0922653826171 +-2.0529823 -2.0529823 -297.8290014291249 +-0.86457172 -0.86457172 101.35058817920203 +-0.42836094 -0.42836094 222.45653430610528 +-0.24583992 -0.24583992 258.6703020497587 +-0.12848313 -0.12848313 271.9250167696813 +-0.07629939 -0.07629939 275.5006513550684 +-0.04874538 -0.04874538 278.53570071293797 +-30.65095489 -30.65095489 -7267.337505479631 +-9.57483309 -9.57483309 -4502.626072905226 +-3.62072887 -3.62072887 -2953.510574903393 +-1.79028584 -1.79028584 -2012.612990357043 +-1.09737979 -1.09737979 -1480.6357697253575 +-0.64379611 -0.64379611 -1078.7940873360744 +-0.41820308 -0.41820308 -889.0520393877744 +-0.28609992 -0.28609992 -790.240355634553 +-46.31576662 -46.31576662 -9614.945000642294 +-24.84531902 -24.84531902 -5437.998261545551 +-7.77202853 -7.77202853 -1321.1929560792273 +-2.90556998 -2.90556998 160.4940967745757 +-1.33735555 -1.33735555 679.539434423073 +-0.73257876 -0.73257876 834.876442246292 +-0.36387736 -0.36387736 828.5847416184339 +-0.20452447 -0.20452447 741.6230152009831 +-0.12353156 -0.12353156 649.8535080451622 +-65.5165102 -65.5165102 13404.324828651846 +-35.10852118 -35.10852118 9402.777968110702 +-18.70126668 -18.70126668 6910.998580733976 +-5.2345023 -5.2345023 4194.030533238418 +-1.44378822 -1.44378822 2885.070288415654 +-0.3813889 -0.3813889 2172.790940449765 +-0.08086565 -0.08086565 1745.0831588255187 +0.0232123 0.0232123 1367.4282682537557 +0.04000435 0.04000435 1151.8221622895474 +0.03958023 0.03958023 1020.6614269285101 +-46.75461359 -46.75461359 -4521.656530774086 +-14.71550646 -14.71550646 -7353.379609392805 +-6.32702061 -6.32702061 -4559.661495137898 +-3.67795156 -3.67795156 -2415.346172718786 +-2.50430298 -2.50430298 -1210.3779486361454 +-1.58204275 -1.58204275 -352.1128919327961 +-1.06600101 -1.06600101 19.626768717544902 +-0.74861263 -0.74861263 202.1860513277486 +-19.89752557 -19.89752557 2189.8905484226925 +-11.37778411 -11.37778411 1378.1035182178452 +-6.24708853 -6.24708853 815.8087786741055 +-3.26368953 -3.26368953 473.85194196198836 +-1.58216834 -1.58216834 285.4643487281162 +-0.16542626 -0.16542626 159.61434261862064 +0.20254697 0.20254697 172.35021501663215 +0.26328413 0.26328413 219.74223081441707 +0.24544617 0.24544617 266.9114652817495 +0.19620521 0.19620521 319.36906579421964 +0.15430831 0.15430831 350.69341185915704 +0.12275091 0.12275091 367.6481561676024 +-47.8662431 -47.8662431 -7101.507417709833 +-25.20572579 -25.20572579 -3964.006409291826 +-13.43114281 -13.43114281 -2606.3682090574684 +-3.86480118 -3.86480118 -1466.6412213829924 +-1.05720794 -1.05720794 -885.827454916295 +-0.24292022 -0.24292022 -507.4171946118517 +-0.01755674 -0.01755674 -261.3584291270392 +0.05180154 0.05180154 -44.84998140363658 +0.05871939 0.05871939 71.43794335728606 +0.0555704 0.0555704 136.61288680700002 +-32.51135802 -32.51135802 15967.250835537636 +-6.26829276 -6.26829276 6850.273552809745 +-0.40360813 -0.40360813 3141.4259607459403 +0.60157194 0.60157194 1573.291290285482 +0.61106926 0.61106926 860.2541467584057 +0.41163131 0.41163131 400.77421290964236 +0.26648738 0.26648738 211.66098079167375 +0.17971661 0.17971661 120.47062094647383 +-23.58662228 -23.58662228 2609.6691324792196 +-6.93585971 -6.93585971 2484.599919832256 +-2.68738835 -2.68738835 1857.0971911960885 +-1.41236088 -1.41236088 1361.7464057490124 +-0.90618858 -0.90618858 1032.698422160197 +-0.54770608 -0.54770608 743.9991321221006 +-0.35856105 -0.35856105 592.3795084470083 +-0.245445 -0.245445 493.08659288898144 +-39.51866388 -39.51866388 -252.73890403899026 +-11.04400347 -11.04400347 -5730.508178154033 +-3.93046886 -3.93046886 -3594.008501106975 +-1.87591923 -1.87591923 -1839.9395831645536 +-1.10321105 -1.10321105 -909.2283968564532 +-0.60298057 -0.60298057 -277.02313690870045 +-0.36808507 -0.36808507 -21.444136799311025 +-0.23948736 -0.23948736 89.3224184447133 +-41.81378495 -41.81378495 -2725.6628300520033 +-23.17950316 -23.17950316 -885.5608309034419 +-7.64605687 -7.64605687 974.3710730239832 +-2.94970482 -2.94970482 1181.468191607463 +-1.44850444 -1.44850444 916.2527071404189 +-0.88932876 -0.88932876 645.1041389322612 +-0.53022962 -0.53022962 394.2355293680275 +-0.34397559 -0.34397559 281.5996255261623 +-0.22913777 -0.22913777 239.2830728598739 +-26.70424494 -26.70424494 -1744.2728959435103 +-14.21674879 -14.21674879 -1255.091897931688 +-7.70868282 -7.70868282 -958.9892084764247 +-4.32909327 -4.32909327 -787.6029769523316 +-2.56727249 -2.56727249 -689.8438911755835 +-1.11931449 -1.11931449 -598.0781798023273 +-0.65037188 -0.65037188 -555.8057625513528 +-0.46043316 -0.46043316 -525.7046261405358 +-0.36060198 -0.36060198 -499.39584684669035 +-0.26991139 -0.26991139 -465.3964264779254 +-0.20984271 -0.20984271 -438.56704983307935 +-0.16646023 -0.16646023 -418.4351493456864 +-83.22813975 -83.22813975 -123.40671653040118 +-47.6340284 -47.6340284 2259.990223878714 +-27.69086366 -27.69086366 3633.8156460258065 +-16.60584137 -16.60584137 4228.262570231072 +-6.99252775 -6.99252775 4085.459522739279 +-3.85532339 -3.85532339 3287.190380110471 +-2.64401528 -2.64401528 2474.8953160231 +-2.02892103 -2.02892103 1834.968711663197 +-1.47395083 -1.47395083 1202.028487028986 +-1.09775322 -1.09775322 839.8150193681616 +-0.82652973 -0.82652973 632.5410674756334 +-20.09741547 -20.09741547 5309.079071274196 +-10.82528081 -10.82528081 3202.155322098002 +-5.8365916 -5.8365916 1883.6802366783334 +-3.12109483 -3.12109483 1053.198681157251 +-0.8889237 -0.8889237 209.2213258439729 +-0.24568268 -0.24568268 -97.9982964205655 +-0.07353364 -0.07353364 -178.6871370180565 +-0.03140264 -0.03140264 -164.09492635401895 +-0.02125406 -0.02125406 -82.20616858108188 +-0.01906386 -0.01906386 8.626336386061176 +-0.01662468 -0.01662468 87.9548712990007 +-32.1897529 -32.1897529 1484.231790725315 +-19.45266516 -19.45266516 -2097.2050753169046 +-7.10338732 -7.10338732 -3181.591334711932 +-2.91645891 -2.91645891 -2005.5468430266712 +-1.46368683 -1.46368683 -1032.6958562686266 +-0.86440869 -0.86440869 -470.58406410042204 +-0.45986776 -0.45986776 -71.80886307749154 +-0.26970745 -0.26970745 92.50511748853098 +-0.16947528 -0.16947528 166.63129480676488 +-54.85161941 -54.85161941 18235.179676533582 +-30.74859888 -30.74859888 13864.432477260592 +-17.50838454 -17.50838454 10118.78037412215 +-6.19557561 -6.19557561 5242.795879349188 +-2.68422735 -2.68422735 2844.6950557760465 +-1.50576677 -1.50576677 1708.0105693536375 +-1.03508429 -1.03508429 1160.538475792344 +-0.70345967 -0.70345967 803.379716955287 +-0.51719633 -0.51719633 661.5188978770235 +-0.39189293 -0.39189293 596.6946009946445 +-33.65998754 -33.65998754 -2519.980676218285 +-17.56601494 -17.56601494 -1036.7316836555838 +-9.05254661 -9.05254661 -276.0721260442537 +-4.62497954 -4.62497954 123.7281136581164 +-1.19607417 -1.19607417 460.5827821613874 +-0.33255955 -0.33255955 573.1109304108746 +-0.12786681 -0.12786681 618.1981923314972 +-0.08299031 -0.08299031 640.3845166783968 +-0.06877962 -0.06877962 658.5702187975517 +-0.05960471 -0.05960471 669.7732142021183 +-0.04916709 -0.04916709 677.7472298108607 +-35.36939421 -35.36939421 -3671.8105315815314 +-18.41547434 -18.41547434 -2156.166301983895 +-4.99412982 -4.99412982 -977.6656267197254 +-1.40713123 -1.40713123 -626.6182641522242 +-0.44789795 -0.44789795 -488.42985082265886 +-0.17853524 -0.17853524 -419.3384138252892 +-0.07484559 -0.07484559 -367.8085490609216 +-0.04674325 -0.04674325 -344.7994843828672 +-0.03491392 -0.03491392 -334.54613086019697 +-21.5399276 -21.5399276 10199.414548632561 +-11.4623533 -11.4623533 7408.526463360741 +-6.10338316 -6.10338316 5526.642291097433 +-1.82567974 -1.82567974 3291.9891643634414 +-0.65453886 -0.65453886 2108.294130833599 +-0.31061428 -0.31061428 1428.9021347526646 +-0.18853571 -0.18853571 1014.1782597619789 +-0.11115778 -0.11115778 651.2569470643434 +-0.07151364 -0.07151364 449.10478442306237 +-0.04705222 -0.04705222 328.7653955057872 +-35.43280883 -35.43280883 17698.282601019873 +-19.14910941 -19.14910941 12683.729779451754 +-10.32827833 -10.32827833 9226.5580419034 +-3.10262804 -3.10262804 5208.310353456752 +-1.08415414 -1.08415414 3229.132796755495 +-0.51841114 -0.51841114 2183.91493770885 +-0.34437018 -0.34437018 1589.0746826828924 +-0.24990992 -0.24990992 1096.4502587589395 +-0.19475397 -0.19475397 830.1019937548878 +-0.15211637 -0.15211637 671.409587994779 +-31.85043451 -31.85043451 1552.2296365083741 +-18.98370846 -18.98370846 1101.4923835040806 +-11.37857059 -11.37857059 894.4562008051408 +-6.93815726 -6.93815726 774.6152768709353 +-4.36270445 -4.36270445 690.1704287991332 +-1.97955758 -1.97955758 570.9080595528911 +-1.10897275 -1.10897275 492.6590292097269 +-0.73589834 -0.73589834 442.0205092528825 +-0.54073541 -0.54073541 409.491808742468 +-0.36985287 -0.36985287 380.7581428456855 +-0.26398811 -0.26398811 365.2675061472013 +-0.1921426 -0.1921426 356.76856769130967 +-38.58630269 -38.58630269 7498.84059395462 +-20.35098167 -20.35098167 5455.570514962037 +-10.74263239 -10.74263239 3773.644416469224 +-5.73420144 -5.73420144 2505.20047411013 +-1.8036871 -1.8036871 967.288286354166 +-0.71647519 -0.71647519 263.1008733485571 +-0.37195636 -0.37195636 -23.396563497645246 +-0.23106448 -0.23106448 -112.11918998267055 +-0.13026256 -0.13026256 -94.31968617077598 +-0.07701326 -0.07701326 -21.188861647529606 +-0.04575825 -0.04575825 54.800340448375124 +-19.61525698 -19.61525698 2120.40512648203 +-11.3857084 -11.3857084 1471.577576552309 +-6.3411112 -6.3411112 1068.9977567737833 +-3.36293172 -3.36293172 821.4411033323737 +-1.65158046 -1.65158046 670.4984159554739 +-0.15908911 -0.15908911 526.9140063667978 +0.26963502 0.26963502 482.4665504650186 +0.36677652 0.36677652 475.52977108382805 +0.36506523 0.36506523 481.65299224233354 +0.32108347 0.32108347 496.29084589453095 +0.27394055 0.27394055 509.6413205708031 +0.23344716 0.23344716 519.9648815877619 +-31.11833995 -31.11833995 -7630.244137654489 +-17.21006977 -17.21006977 -5089.382553426317 +-9.59871528 -9.59871528 -3509.667708652398 +-5.42520478 -5.42520478 -2487.1863719393605 +-1.84135475 -1.84135475 -1349.1754453825902 +-0.68554036 -0.68554036 -815.9146515006701 +-0.27482084 -0.27482084 -547.9133956441825 +-0.10767394 -0.10767394 -399.719234804657 +-0.00715038 -0.00715038 -275.24442380911427 +0.0294943 0.0294943 -203.11775239677783 +0.04290374 0.04290374 -156.39641812930793 +-31.72464001 -31.72464001 15607.770910408404 +-17.12582205 -17.12582205 10987.638350000723 +-9.97467549 -9.97467549 7564.374981673175 +-4.3379641 -4.3379641 3451.2683097342656 +-2.46892074 -2.46892074 1615.9716168085326 +-1.63539235 -1.63539235 883.6987022016458 +-1.16359906 -1.16359906 623.6941562110317 +-0.74521266 -0.74521266 544.7369709234209 +-0.49811869 -0.49811869 568.9046721844646 +-0.34444935 -0.34444935 608.3954841109606 +-40.26829811 -40.26829811 -10210.646204042992 +-21.36709049 -21.36709049 -4948.136334188826 +-12.3381528 -12.3381528 -2540.746035205467 +-5.50597214 -5.50597214 -1339.5315942592777 +-3.39190929 -3.39190929 -1338.5958120074258 +-2.47707135 -2.47707135 -1252.0532609614713 +-1.93239408 -1.93239408 -1012.8885021955867 +-1.37591206 -1.37591206 -609.9240538752877 +-0.99436153 -0.99436153 -297.9709944917762 +-0.72841834 -0.72841834 -86.43259591440378 +-47.05762253 -47.05762253 -4527.713928188421 +-26.75123519 -26.75123519 -3044.8098491221563 +-15.37165342 -15.37165342 -2184.2860604286775 +-5.48215388 -5.48215388 -1167.6074635741793 +-2.3198436 -2.3198436 -522.0796091979835 +-1.20424569 -1.20424569 -98.73537579560465 +-0.7366726 -0.7366726 162.08018080422744 +-0.41598021 -0.41598021 362.12867211321617 +-0.2583673 -0.2583673 442.08381634104944 +-0.16924711 -0.16924711 469.74181543993933 +-44.07566299 -44.07566299 23708.693980519278 +-11.47938428 -11.47938428 7320.805070712229 +-3.20645392 -3.20645392 1763.8517402897876 +-1.16010455 -1.16010455 136.2229647920534 +-0.5524891 -0.5524891 -419.13117627050093 +-0.23999861 -0.23999861 -646.246183590214 +-0.11394125 -0.11394125 -617.1169193074419 +-0.05162978 -0.05162978 -530.1308020431333 +-16.7937815 -16.7937815 1441.5861989456935 +-9.35504568 -9.35504568 2138.994815902991 +-4.97469903 -4.97469903 2169.010907575714 +-2.45414091 -2.45414091 1997.4256685125854 +-1.05728308 -1.05728308 1788.8978954701931 +0.08483281 0.08483281 1430.6046222095351 +0.34636114 0.34636114 1180.8067175139922 +0.35525814 0.35525814 1012.2549964930545 +0.30417781 0.30417781 897.8052501714934 +0.22322949 0.22322949 789.0837887974586 +0.16265371 0.16265371 724.7870285867613 +0.1209798 0.1209798 685.3230336231767 +-35.55664119 -35.55664119 923.9959636112251 +-20.62501786 -20.62501786 1385.558893021252 +-11.99856466 -11.99856466 1440.0335515217987 +-7.08458553 -7.08458553 1345.172788014332 +-2.71212645 -2.71212645 1045.658002105991 +-1.25222585 -1.25222585 778.0862362634655 +-0.70623721 -0.70623721 592.1988135098483 +-0.4610128 -0.4610128 476.307606718948 +-0.28188004 -0.28188004 384.3323212410157 +-0.18725204 -0.18725204 342.23116576316 +-0.13000026 -0.13000026 321.8291986248901 +-18.71131575 -18.71131575 -2093.8993316235287 +-10.71294633 -10.71294633 -1075.8322985007476 +-6.1628948 -6.1628948 -360.5000784429939 +-3.62573164 -3.62573164 110.41410192965155 +-2.23411447 -2.23411447 406.8475242446053 +-1.06085572 -1.06085572 685.7730044306778 +-0.69541759 -0.69541759 756.38080436408 +-0.5527786 -0.5527786 747.2585819268671 +-0.47228828 -0.47228828 713.096399782014 +-0.38500654 -0.38500654 658.2584550832187 +-0.31599707 -0.31599707 615.3067951255998 +-0.26062327 -0.26062327 585.4285340850595 +-19.97629457 -19.97629457 -2386.543583469075 +-10.09759403 -10.09759403 -2117.110788307428 +-4.94488321 -4.94488321 -1750.1404987759227 +-0.98041608 -0.98041608 -956.0132384945159 +-0.0171432 -0.0171432 -358.0985751423013 +0.1795175 0.1795175 7.808212726317432 +0.19144862 0.19144862 212.91429866634797 +0.14890533 0.14890533 354.2595732014934 +0.1081158 0.1081158 401.2359288082062 +0.07839954 0.07839954 410.1460717702121 +-52.92140331 -52.92140331 -5932.717875693937 +-32.89260794 -32.89260794 -6592.377152588804 +-11.92848967 -11.92848967 -5925.357232554424 +-4.69196746 -4.69196746 -3744.6879676670615 +-2.28924941 -2.28924941 -2079.8840106057464 +-1.34412379 -1.34412379 -1065.086291402243 +-0.72592841 -0.72592841 -242.99371637493027 +-0.43568918 -0.43568918 157.85380512083705 +-0.27909179 -0.27909179 361.28018579088456 +-18.51601077 -18.51601077 8502.683141106712 +-6.73271039 -6.73271039 5546.989933755759 +-1.63203216 -1.63203216 3954.0146964684313 +0.40953731 0.40953731 3065.9310712936635 +1.21609437 1.21609437 2137.3899654766733 +0.95558989 0.95558989 1633.4067517285507 +0.65220575 0.65220575 1304.3589663195032 +0.43993141 0.43993141 1073.5744077974844 +0.25265182 0.25265182 842.7256768932657 +0.15319065 0.15319065 700.1833091066468 +0.09747667 0.09747667 611.6989921630055 +-47.57862852 -47.57862852 -19352.213596599333 +-23.85630588 -23.85630588 -13649.527152886685 +-7.18511734 -7.18511734 -7217.34887286519 +-3.0717926 -3.0717926 -4204.499557684223 +-1.77846599 -1.77846599 -2613.8810953491998 +-1.20815773 -1.20815773 -1667.7052528945858 +-0.76024265 -0.76024265 -831.365286731703 +-0.50924745 -0.50924745 -357.66078645135747 +-0.35461181 -0.35461181 -75.97494138509849 +-55.11337058 -55.11337058 12893.5729096906 +-30.99077293 -30.99077293 7289.822861140207 +-9.42213509 -9.42213509 2462.9261970552684 +-3.14010295 -3.14010295 780.7673809596581 +-1.39213041 -1.39213041 128.26756158064677 +-0.84834022 -0.84834022 -127.1707575200729 +-0.54969956 -0.54969956 -248.020150026255 +-0.4001999 -0.4001999 -273.45753626448976 +-0.30336196 -0.30336196 -275.65581385943466 +-42.92567878 -42.92567878 2548.4835844878844 +-22.28301291 -22.28301291 1826.4864797464888 +-11.85047671 -11.85047671 1323.2300681694328 +-3.76065716 -3.76065716 782.032704444717 +-1.50196713 -1.50196713 566.3241841149711 +-0.78321185 -0.78321185 472.86152045900957 +-0.50126802 -0.50126802 421.64653808946457 +-0.31453865 -0.31453865 371.5357279853559 +-0.21852205 -0.21852205 335.6275602935165 +-0.15986609 -0.15986609 308.86878743204613 +-45.90703616 -45.90703616 515.6066566204544 +-26.2580163 -26.2580163 2427.3139835362035 +-15.10104454 -15.10104454 2997.468191244447 +-8.85652398 -8.85652398 2927.199196438229 +-3.47810466 -3.47810466 2124.403402568454 +-1.8045386 -1.8045386 1245.4119175189985 +-1.22039874 -1.22039874 571.6383950782817 +-0.95740785 -0.95740785 115.06190467662346 +-0.73263816 -0.73263816 -279.87978698102825 +-0.57684192 -0.57684192 -473.63536524479656 +-0.4582007 -0.4582007 -567.5886734107811 +-68.83558494 -68.83558494 4788.7553802375105 +-39.00767209 -39.00767209 4032.8058154817677 +-22.27580479 -22.27580479 3267.4025394287087 +-12.898762 -12.898762 2655.2589112741243 +-4.60855361 -4.60855361 1873.4140470245777 +-1.82351514 -1.82351514 1453.3279178223477 +-0.78516328 -0.78516328 1201.0498742029615 +-0.34069543 -0.34069543 1026.9021382572907 +-0.06567744 -0.06567744 838.958698721982 +0.03532005 0.03532005 703.6651574549968 +0.06933896 0.06933896 604.4923926418157 +-43.23155603 -43.23155603 2443.7144104646986 +-24.17126581 -24.17126581 308.0890799310473 +-13.73508045 -13.73508045 -432.09477731207613 +-4.79758898 -4.79758898 -500.2959804094237 +-1.97393475 -1.97393475 -236.0020294599799 +-0.98537407 -0.98537407 -51.181547630176304 +-0.57799672 -0.57799672 49.34727782976965 +-0.30686628 -0.30686628 121.76232481372446 +-0.17726797 -0.17726797 158.69685008980503 +-0.10596164 -0.10596164 183.14444359007118 +-41.50441771 -41.50441771 -16453.486914612055 +-22.98180312 -22.98180312 -11213.026581376751 +-13.06308449 -13.06308449 -8045.11551315128 +-7.69434247 -7.69434247 -6002.542286037824 +-3.08423354 -3.08423354 -3619.8185678550894 +-1.55225801 -1.55225801 -2365.2175063692184 +-0.96032657 -0.96032657 -1673.4750786857742 +-0.67843458 -0.67843458 -1289.4836789785668 +-0.45319497 -0.45319497 -1010.2803336338937 +-0.32313027 -0.32313027 -898.1306063165309 +-0.23857312 -0.23857312 -855.4860074568783 +-55.86787816 -55.86787816 20606.939556625133 +-27.9063972 -27.9063972 12948.750023395227 +-8.54273266 -8.54273266 5906.359365198198 +-3.83592515 -3.83592515 2858.80787776265 +-2.41914512 -2.41914512 1360.9187820053987 +-1.81232644 -1.81232644 623.4249716951456 +-1.30536354 -1.30536354 177.70553004313894 +-0.97565469 -0.97565469 47.91769087493613 +-0.74132649 -0.74132649 19.89475437772301 +-49.36809666 -49.36809666 493.02896046803227 +-26.08254031 -26.08254031 648.1330363696037 +-13.7787718 -13.7787718 705.6222930702008 +-7.3456457 -7.3456457 709.5149925582067 +-2.28586915 -2.28586915 665.4474553105371 +-0.91291547 -0.91291547 618.5405035485176 +-0.51170345 -0.51170345 587.8664040200273 +-0.36557293 -0.36557293 572.5686031693756 +-0.26608766 -0.26608766 568.4253386804999 +-0.207145 -0.207145 575.489078737949 +-0.16534056 -0.16534056 586.2200355504522 +-45.54903438 -45.54903438 -12696.98951392334 +-24.85199089 -24.85199089 -10602.009958672761 +-8.13689949 -8.13689949 -6962.201807864882 +-3.41572024 -3.41572024 -4334.251913222798 +-1.92321612 -1.92321612 -2597.9455151592597 +-1.32275326 -1.32275326 -1501.9727075856451 +-0.87774498 -0.87774498 -579.37030543006 +-0.61900554 -0.61900554 -112.69422312896448 +-0.44955943 -0.44955943 136.5303174244266 +-45.89316424 -45.89316424 8651.426399194737 +-26.16172924 -26.16172924 4599.386861907677 +-8.58619335 -8.58619335 1168.2469842547082 +-3.02314194 -3.02314194 430.0097764261627 +-1.28845816 -1.28845816 350.2984710955823 +-0.71148778 -0.71148778 377.2173032218051 +-0.40338229 -0.40338229 420.18426373997164 +-0.2646887 -0.2646887 443.1057066981223 +-0.18318997 -0.18318997 453.6628441918435 +-26.97747362 -26.97747362 -12537.367120652889 +-7.9977787 -7.9977787 -6472.041335283475 +-2.72728786 -2.72728786 -3265.6093915125493 +-1.17854976 -1.17854976 -1574.709969093635 +-0.64472418 -0.64472418 -658.6757976083732 +-0.33483322 -0.33483322 23.186558526923807 +-0.1930341 -0.1930341 330.98948941430234 +-0.11219626 -0.11219626 479.7643427944923 +-66.01238427 -66.01238427 -17708.60170282379 +-34.88419322 -34.88419322 -9461.888348549357 +-19.18385278 -19.18385278 -5418.4636851671685 +-6.65099668 -6.65099668 -2227.590777319005 +-2.79859215 -2.79859215 -1021.4549454849003 +-1.41741587 -1.41741587 -398.3087588871709 +-0.82730775 -0.82730775 -67.78620591659572 +-0.42754209 -0.42754209 136.90530100249427 +-0.24304652 -0.24304652 186.5233236550837 +-0.14664176 -0.14664176 183.60636436176924 +-48.54987406 -48.54987406 -6076.544324353011 +-25.45700049 -25.45700049 -3835.7662775173044 +-13.5712171 -13.5712171 -2836.331214697631 +-4.15256929 -4.15256929 -1821.7364622838809 +-1.47194779 -1.47194779 -1111.3387999176607 +-0.62769519 -0.62769519 -569.7666027708016 +-0.31860524 -0.31860524 -188.37596303151594 +-0.14202453 -0.14202453 156.40449646252603 +-0.07235216 -0.07235216 333.43845491034756 +-0.03895953 -0.03895953 422.51528393559744 +-17.05505616 -17.05505616 -1504.1967504525492 +-5.60865095 -5.60865095 -2944.3615457631577 +-2.51743011 -2.51743011 -1872.973571198234 +-1.46356868 -1.46356868 -1040.347476987732 +-0.80955171 -0.80955171 -340.2522603635111 +-0.49843248 -0.49843248 44.369920318268434 +-0.32427771 -0.32427771 271.4517069431031 +-21.8813234 -21.8813234 -1375.9190165785838 +-12.2047835 -12.2047835 -169.81408284829766 +-6.64903757 -6.64903757 329.22964153821505 +-3.52132233 -3.52132233 508.0622577002981 +-1.81394645 -1.81394645 556.9344836013323 +-0.42064322 -0.42064322 541.7610760951264 +-0.05569549 -0.05569549 503.3923603931725 +0.02502525 0.02502525 470.87311619817297 +0.03446709 0.03446709 445.5182059061298 +0.02559703 0.02559703 417.5247887250781 +0.0167205 0.0167205 397.95254638375326 +0.01101465 0.01101465 384.1425268204819 diff --git a/examples/peg_slater_isa/res_ex.xvg b/examples/peg_slater_isa/res_ex.xvg index ccf567440..dff390c4b 100644 --- a/examples/peg_slater_isa/res_ex.xvg +++ b/examples/peg_slater_isa/res_ex.xvg @@ -1,499 +1,499 @@ -80.81162479 80.81162479 86.96728 -45.67030766 45.67030766 49.745216 -25.28534297 25.28534297 27.807425 -13.76810715 13.76810715 15.266595 -3.93215704 3.93215704 4.421729 -1.08843093 1.08843093 1.2330178 -0.29564795 0.29564795 0.33459422 -0.07993455 0.07993455 0.08890099 -0.01135766 0.01135766 0.011813231 -0.0016495 0.0016495 0.0015304838 -0.0002429 0.0002429 0.00019544602 -81.19892212 81.19892212 79.49868 -20.9416574 20.9416574 21.745586 -5.04881567 5.04881567 5.4828277 -1.16020761 1.16020761 1.3070089 -0.26012447 0.26012447 0.29944348 -0.02734281 0.02734281 0.031056374 -0.00288427 0.00288427 0.003053069 -0.0002978 0.0002978 0.00028774142 -111.19618165 111.19618165 125.87496 -56.06959817 56.06959817 67.25798 -14.00787204 14.00787204 17.970348 -3.44233946 3.44233946 4.454019 -0.83769404 0.83769404 1.0389261 -0.2011326 0.2011326 0.230999 -0.02313207 0.02313207 0.02268864 -0.00257917 0.00257917 0.0021200122 -0.0002836 0.0002836 0.00019324 -179.42050663 179.42050663 177.68301 -96.8513155 96.8513155 100.554016 -51.86538946 51.86538946 55.766422 -14.53630434 14.53630434 16.305773 -3.96754954 3.96754954 4.518281 -1.05968935 1.05968935 1.2022535 -0.27775441 0.27775441 0.31039813 -0.03635296 0.03635296 0.039164644 -0.00462964 0.00462964 0.0048023285 -0.00056963 0.00056963 0.00058056135 -107.81754666 107.81754666 102.741135 -23.70746014 23.70746014 26.888048 -4.80194981 4.80194981 6.344907 -0.94534258 0.94534258 1.3938669 -0.1847089 0.1847089 0.28921366 -0.01566481 0.01566481 0.025138402 -0.00128169 0.00128169 0.0020445886 -9.74e-05 9.74e-05 0.0001609288 -80.80763674 80.80763674 79.114136 -46.98282192 46.98282192 44.974754 -26.80685261 26.80685261 24.800726 -15.07303628 15.07303628 13.339837 -8.37915495 8.37915495 7.0307403 -2.51251029 2.51251029 1.8635608 -0.73182983 0.73182983 0.47232884 -0.20960848 0.20960848 0.11627526 -0.05899804 0.05899804 0.028117636 -0.00863982 0.00863982 0.003291494 -0.00123981 0.00123981 0.00038463902 -0.00017202 0.00017202 4.542747e-05 -130.82044984 130.82044984 130.57693 -71.03778212 71.03778212 73.30513 -39.11822296 39.11822296 40.864914 -11.89647485 11.89647485 12.0297365 -3.41252855 3.41252855 3.1780074 -0.89848169 0.89848169 0.75372076 -0.21847793 0.21847793 0.1646967 -0.02338589 0.02338589 0.015344977 -0.00227683 0.00227683 0.0013620257 -0.00021157 0.00021157 0.00011974573 -100.82620211 100.82620211 107.34887 -25.04563445 25.04563445 30.012478 -5.79115858 5.79115858 7.495445 -1.26937181 1.26937181 1.7253487 -0.26777082 0.26777082 0.37546876 -0.02478941 0.02478941 0.035719067 -0.00219582 0.00219582 0.003260836 -0.0001889 0.0001889 0.00029292703 -63.06463522 63.06463522 65.75446 -14.6071272 14.6071272 17.753555 -3.26353873 3.26353873 4.556466 -0.71026281 0.71026281 1.1294669 -0.15189136 0.15189136 0.2731349 -0.0147025 0.0147025 0.031468447 -0.00138941 0.00138941 0.0035418966 -0.00013231 0.00013231 0.0003941413 -101.08419067 101.08419067 104.23189 -23.2550411 23.2550411 28.430294 -5.23295161 5.23295161 7.0328255 -1.16989671 1.16989671 1.5913149 -0.25295749 0.25295749 0.32957208 -0.02276107 0.02276107 0.026697291 -0.00175401 0.00175401 0.0018899916 -0.00011857 0.00011857 0.000124268 -119.5532546 119.5532546 118.506294 -65.9197103 65.9197103 66.96989 -19.65640089 19.65640089 20.040829 -5.54020174 5.54020174 5.453637 -1.46897766 1.46897766 1.3671429 -0.37017978 0.37017978 0.3227068 -0.04420323 0.04420323 0.034591082 -0.00502955 0.00502955 0.0035787509 -0.0005534 0.0005534 0.00036800245 -87.26539754 87.26539754 92.26147 -44.50293035 44.50293035 46.696316 -22.69169598 22.69169598 23.256372 -11.61635822 11.61635822 11.481078 -6.00217243 6.00217243 5.650316 -1.66623426 1.66623426 1.3745129 -0.48569833 0.48569833 0.3383153 -0.1465023 0.1465023 0.08359827 -0.04457761 0.04457761 0.020508602 -0.00725325 0.00725325 0.0024317652 -0.00111496 0.00111496 0.00028152764 -0.00015666 0.00015666 3.2380223e-05 -216.66791866 216.66791866 195.13135 -120.22575491 120.22575491 111.61253 -66.20975228 66.20975228 62.937218 -36.26902672 36.26902672 35.09502 -10.77716567 10.77716567 10.64003 -3.18068092 3.18068092 3.1441343 -0.9329935 0.9329935 0.90989643 -0.27154013 0.27154013 0.25844222 -0.04176955 0.04176955 0.03790931 -0.00624903 0.00624903 0.005386686 -0.00089999 0.00089999 0.0007475279 -67.30688067 67.30688067 74.28798 -36.85566737 36.85566737 41.337826 -20.33111626 20.33111626 22.795843 -11.22221575 11.22221575 12.444986 -3.42694149 3.42694149 3.5900903 -1.02318286 1.02318286 0.9936077 -0.298208 0.298208 0.266042 -0.08461913 0.08461913 0.06963829 -0.01220791 0.01220791 0.00911759 -0.00167736 0.00167736 0.0011839014 -0.00022372 0.00022372 0.00015421619 -93.37687554 93.37687554 92.106384 -52.45384698 52.45384698 53.335438 -14.71398474 14.71398474 15.779287 -3.60669173 3.60669173 4.051529 -0.80159546 0.80159546 0.93791866 -0.1666214 0.1666214 0.20205712 -0.01465776 0.01465776 0.018500313 -0.00121799 0.00121799 0.001587426 -9.383e-05 9.383e-05 0.00013167923 -149.34442504 149.34442504 132.56422 -82.16049802 82.16049802 76.89436 -45.03356412 45.03356412 43.821575 -13.34633431 13.34633431 13.595359 -3.8642361 3.8642361 4.0060983 -1.08971473 1.08971473 1.1318595 -0.2992656 0.2992656 0.30913773 -0.04131391 0.04131391 0.042057306 -0.00542709 0.00542709 0.0054974784 -0.00067934 0.00067934 0.00070102175 -108.68931674 108.68931674 101.70641 -57.65730336 57.65730336 55.25343 -30.28223358 30.28223358 29.5508 -15.78771571 15.78771571 15.616532 -4.23022752 4.23022752 4.2557306 -1.12390369 1.12390369 1.1379534 -0.29839275 0.29839275 0.30192614 -0.07965342 0.07965342 0.080052905 -0.01113357 0.01113357 0.01101478 -0.00157014 0.00157014 0.0015393398 -0.00021972 0.00021972 0.00021891831 -110.00229177 110.00229177 91.66327 -57.37995395 57.37995395 49.558743 -15.15951063 15.15951063 13.482526 -3.87498808 3.87498808 3.3967457 -0.96909653 0.96909653 0.8077694 -0.23848427 0.23848427 0.18405768 -0.02831561 0.02831561 0.01894036 -0.00326517 0.00326517 0.0018698275 -0.00036438 0.00036438 0.00018072128 -72.65446924 72.65446924 74.51434 -38.07194335 38.07194335 40.193535 -19.68788662 19.68788662 21.208376 -5.09090876 5.09090876 5.6037173 -1.2713094 1.2713094 1.4073929 -0.309402 0.309402 0.3420967 -0.07385018 0.07385018 0.08156764 -0.00836847 0.00836847 0.009353515 -0.0009262 0.0009262 0.001073714 -9.905e-05 9.905e-05 0.00012528486 -111.56683465 111.56683465 103.07682 -61.11436147 61.11436147 57.348186 -33.27008439 33.27008439 31.438818 -9.71704756 9.71704756 9.130503 -2.79744308 2.79744308 2.5664642 -0.79921787 0.79921787 0.70632 -0.22723204 0.22723204 0.19188973 -0.03422538 0.03422538 0.026845986 -0.005109 0.005109 0.0037413177 -0.00075181 0.00075181 0.0005229317 -102.82157346 102.82157346 95.240875 -58.57497704 58.57497704 54.151207 -33.13802061 33.13802061 30.285639 -18.62832677 18.62832677 16.711637 -10.42256366 10.42256366 9.119687 -3.23213606 3.23213606 2.6457012 -0.99116905 0.99116905 0.74772763 -0.30201708 0.30201708 0.20742692 -0.09135472 0.09135472 0.056789003 -0.01502183 0.01502183 0.00800616 -0.00239847 0.00239847 0.0011173054 -0.00037347 0.00037347 0.00015552322 -115.0823843 115.0823843 109.86451 -60.18012106 60.18012106 60.25492 -31.05925174 31.05925174 32.274742 -15.8543799 15.8543799 16.97569 -4.05498035 4.05498035 4.526815 -1.02259984 1.02259984 1.1742548 -0.25662441 0.25662441 0.30088437 -0.06464364 0.06464364 0.07666648 -0.00818958 0.00818958 0.009795446 -0.00103649 0.00103649 0.0012427041 -0.00012788 0.00012788 0.00015681979 -75.74804487 75.74804487 68.8075 -43.70197891 43.70197891 37.117947 -24.91274622 24.91274622 19.684238 -14.06602376 14.06602376 10.303152 -7.88157453 7.88157453 5.3396573 -2.42619569 2.42619569 1.4057939 -0.73293612 0.73293612 0.36481363 -0.21786616 0.21786616 0.09431583 -0.06410577 0.06410577 0.02447027 -0.01005075 0.01005075 0.0032882094 -0.0015495 0.0015495 0.00045388937 -0.00023683 0.00023683 6.443262e-05 -89.22532178 89.22532178 83.633125 -47.78098749 47.78098749 44.744316 -25.51277223 25.51277223 23.738174 -13.57960276 13.57960276 12.492472 -3.81180468 3.81180468 3.3665738 -1.04955862 1.04955862 0.8705312 -0.28389628 0.28389628 0.2159435 -0.07541649 0.07541649 0.051677126 -0.00999225 0.00999225 0.0057615824 -0.00127555 0.00127555 0.00062154647 -0.00015638 0.00015638 6.6403714e-05 -87.9433854 87.9433854 89.57053 -43.37897341 43.37897341 45.155052 -21.70185035 21.70185035 22.804806 -5.619594 5.619594 5.8531094 -1.48189345 1.48189345 1.4967085 -0.3881973 0.3881973 0.3760115 -0.10058659 0.10058659 0.092228904 -0.01305563 0.01305563 0.010679751 -0.00166438 0.00166438 0.0011686971 -0.00019737 0.00019737 0.000121712015 -98.62550218 98.62550218 96.75308 -47.73815227 47.73815227 49.30211 -23.60972938 23.60972938 25.228367 -6.10815588 6.10815588 6.7324023 -1.64328934 1.64328934 1.8303028 -0.44008685 0.44008685 0.49885777 -0.11479427 0.11479427 0.13472213 -0.01455537 0.01455537 0.018421007 -0.00176929 0.00176929 0.002439382 -0.00020572 0.00020572 0.00031318227 -125.72080809 125.72080809 134.97708 -68.81465919 68.81465919 76.78275 -37.29551729 37.29551729 42.680305 -10.66540532 10.66540532 12.422634 -2.9504688 2.9504688 3.3869803 -0.79618343 0.79618343 0.8778398 -0.21054168 0.21054168 0.21888392 -0.02799126 0.02799126 0.02586659 -0.00363898 0.00363898 0.002932655 -0.00046596 0.00046596 0.00032474092 -123.1789275 123.1789275 110.61859 -31.64224743 31.64224743 32.24423 -7.52514812 7.52514812 8.62412 -1.77867078 1.77867078 2.1761389 -0.42390389 0.42390389 0.51788974 -0.04772212 0.04772212 0.053566925 -0.00488591 0.00488591 0.0049220254 -0.00045647 0.00045647 0.00041710623 -73.06234345 73.06234345 74.425446 -42.36893894 42.36893894 42.201275 -24.29285413 24.29285413 23.35815 -13.78741038 13.78741038 12.677802 -7.77529036 7.77529036 6.772148 -2.43353832 2.43353832 1.8626274 -0.74980966 0.74980966 0.4944469 -0.22814472 0.22814472 0.1281837 -0.06891836 0.06891836 0.0327381 -0.011266 0.011266 0.0041695647 -0.00182545 0.00182545 0.00053079426 -0.000291 0.000291 6.8396344e-05 -103.43984183 103.43984183 98.56311 -58.00508755 58.00508755 56.160942 -32.03297333 32.03297333 31.347618 -17.47800853 17.47800853 17.207895 -5.08305421 5.08305421 4.9873714 -1.44941895 1.44941895 1.3891085 -0.40971913 0.40971913 0.37516278 -0.11551482 0.11551482 0.098817535 -0.01719369 0.01719369 0.01287286 -0.00253736 0.00253736 0.0016237576 -0.00036595 0.00036595 0.0002007526 -73.8417029 73.8417029 86.88982 -41.22494485 41.22494485 48.504456 -22.66987673 22.66987673 26.481316 -12.30635533 12.30635533 14.2082615 -6.60841824 6.60841824 7.5208635 -1.85566173 1.85566173 2.0476146 -0.50697384 0.50697384 0.54428476 -0.13570706 0.13570706 0.14294651 -0.0358772 0.0358772 0.03738378 -0.00481742 0.00481742 0.0050132275 -0.00063854 0.00063854 0.0006800145 -8.441e-05 8.441e-05 9.36687e-05 -68.68076916 68.68076916 65.3278 -35.84942689 35.84942689 34.43685 -18.48906493 18.48906493 17.799973 -4.76871067 4.76871067 4.5230155 -1.19149407 1.19149407 1.0906037 -0.29133719 0.29133719 0.25354865 -0.07026962 0.07026962 0.05760177 -0.00822786 0.00822786 0.0061088786 -0.00096045 0.00096045 0.00064554275 -0.00010877 0.00010877 6.8969995e-05 -128.78858627 128.78858627 124.86779 -75.41369713 75.41369713 75.57567 -21.73222029 21.73222029 23.783009 -5.30457907 5.30457907 6.3382306 -1.19729182 1.19729182 1.507825 -0.26208437 0.26208437 0.3295817 -0.02549299 0.02549299 0.029437538 -0.00226959 0.00226959 0.0023074218 -0.00018088 0.00018088 0.0001661547 -87.36554902 87.36554902 102.513084 -41.60004654 41.60004654 49.782894 -19.48376534 19.48376534 23.291037 -8.98618934 8.98618934 10.57069 -1.82900215 1.82900215 2.03044 -0.35459405 0.35459405 0.36292744 -0.06612496 0.06612496 0.061340183 -0.01196231 0.01196231 0.009933839 -0.00086895 0.00086895 0.0006132771 -5.918e-05 5.918e-05 3.6496436e-05 -2.79e-06 2.79e-06 2.1394808e-06 -122.43746763 122.43746763 117.621315 -57.57433084 57.57433084 60.80408 -12.54897354 12.54897354 15.47787 -2.72870513 2.72870513 3.7675467 -0.59584632 0.59584632 0.8892736 -0.12998318 0.12998318 0.20536062 -0.0129486 0.0129486 0.022208586 -0.00123701 0.00123701 0.0023640476 -0.00011228 0.00011228 0.00025011052 -157.20829838 157.20829838 149.47557 -87.91117345 87.91117345 86.004456 -24.61978856 24.61978856 24.735798 -6.13937678 6.13937678 6.1522546 -1.40767204 1.40767204 1.3896142 -0.30410364 0.30410364 0.29566917 -0.02859157 0.02859157 0.027281493 -0.00257078 0.00257078 0.0024310648 -0.00022281 0.00022281 0.0002142489 -108.40481002 108.40481002 89.472565 -55.36728273 55.36728273 46.506645 -28.41018403 28.41018403 23.88863 -7.51912985 7.51912985 6.090116 -1.97882474 1.97882474 1.4809521 -0.51250287 0.51250287 0.3439803 -0.12992582 0.12992582 0.07679187 -0.01596771 0.01596771 0.0076692025 -0.00188355 0.00188355 0.00073707954 -0.00021628 0.00021628 6.991258e-05 -128.93239372 128.93239372 118.73034 -71.51019195 71.51019195 67.54348 -39.21205747 39.21205747 37.84068 -21.313186 21.313186 20.94153 -6.17640063 6.17640063 6.23129 -1.76198492 1.76198492 1.7983671 -0.49751218 0.49751218 0.5062381 -0.13933483 0.13933483 0.13954079 -0.02035998 0.02035998 0.019558966 -0.00292394 0.00292394 0.0026636124 -0.00041138 0.00041138 0.00035566092 -186.2217493 186.2217493 169.69232 -102.35181274 102.35181274 95.23696 -55.76367046 55.76367046 52.64054 -30.16057829 30.16057829 28.727318 -8.67052113 8.67052113 8.297556 -2.45054371 2.45054371 2.3227513 -0.68368586 0.68368586 0.63538283 -0.18909594 0.18909594 0.17085133 -0.02717218 0.02717218 0.023287313 -0.00383138 0.00383138 0.003118349 -0.00052691 0.00052691 0.0004135341 -121.13759916 121.13759916 119.94868 -64.88432611 64.88432611 65.58284 -34.57121506 34.57121506 35.14768 -9.62107849 9.62107849 9.567772 -2.60332702 2.60332702 2.4432168 -0.68193798 0.68193798 0.59084123 -0.17383564 0.17383564 0.13678654 -0.02142196 0.02142196 0.014382359 -0.00252892 0.00252892 0.0014526509 -0.00029068 0.00029068 0.00014460296 -120.15539192 120.15539192 121.33384 -63.95758009 63.95758009 66.88394 -34.16530668 34.16530668 36.496906 -18.28082851 18.28082851 19.689114 -5.21277179 5.21277179 5.5128284 -1.45947835 1.45947835 1.4636965 -0.39924713 0.39924713 0.37042564 -0.10648933 0.10648933 0.09016949 -0.01420109 0.01420109 0.0102769695 -0.00182684 0.00182684 0.0011265845 -0.00022844 0.00022844 0.00012093427 -149.10524328 149.10524328 147.78844 -70.60156109 70.60156109 74.775856 -16.16799605 16.16799605 18.4323 -3.778675 3.778675 4.3586054 -0.8826778 0.8826778 0.9917045 -0.20387587 0.20387587 0.21812439 -0.02199406 0.02199406 0.021539534 -0.00230549 0.00230549 0.002079731 -0.00023643 0.00023643 0.00020091119 -153.59216639 153.59216639 135.28165 -81.32049825 81.32049825 75.985435 -42.5188084 42.5188084 41.70171 -21.98836011 21.98836011 22.427961 -5.73001763 5.73001763 6.1695604 -1.45161008 1.45161008 1.610407 -0.36074341 0.36074341 0.40433896 -0.08857868 0.08857868 0.09865931 -0.01057473 0.01057473 0.011458583 -0.00122501 0.00122501 0.0012943633 -0.00013497 0.00013497 0.00014416128 -118.95545279 118.95545279 106.07759 -62.73657301 62.73657301 59.24223 -16.84879169 16.84879169 17.350992 -4.35032873 4.35032873 4.735723 -1.08712917 1.08712917 1.2207801 -0.26327397 0.26327397 0.3009009 -0.02976308 0.02976308 0.03466983 -0.00318329 0.00318329 0.0038124435 -0.00032048 0.00032048 0.00040801987 -116.26150347 116.26150347 115.69157 -65.66173822 65.66173822 67.50815 -20.222838 20.222838 20.980879 -5.73341806 5.73341806 5.583592 -1.45425035 1.45425035 1.2465935 -0.33170886 0.33170886 0.23961303 -0.03113869 0.03113869 0.01673814 -0.00259832 0.00259832 0.0010435182 -0.00019712 0.00019712 6.3356114e-05 -70.95517942 70.95517942 67.044846 -19.04843951 19.04843951 20.879986 -4.94051739 4.94051739 6.20363 -1.24928802 1.24928802 1.7808025 -0.31012161 0.31012161 0.49830344 -0.03754306 0.03754306 0.07127966 -0.00443287 0.00443287 0.009915397 -0.0005128 0.0005128 0.0013545752 -152.49984222 152.49984222 153.13034 -77.60650753 77.60650753 82.87614 -40.08682531 40.08682531 44.679356 -10.91265993 10.91265993 12.59966 -2.91679842 2.91679842 3.3126645 -0.74320545 0.74320545 0.8015197 -0.17958376 0.17958376 0.17992328 -0.01970963 0.01970963 0.017226798 -0.00201888 0.00201888 0.0015236603 -0.00019109 0.00019109 0.00012954918 -130.80043296 130.80043296 128.46332 -66.86042593 66.86042593 69.4766 -34.15130587 34.15130587 37.110134 -8.85696618 8.85696618 10.194744 -2.27314845 2.27314845 2.6621475 -0.57514439 0.57514439 0.6631945 -0.14320961 0.14320961 0.15876852 -0.01740883 0.01740883 0.017585525 -0.00204613 0.00204613 0.0018646448 -0.00023279 0.00023279 0.00019323526 -38.44754072 38.44754072 39.82443 -8.47334528 8.47334528 9.893659 -1.82661412 1.82661412 2.3138547 -0.391649 0.391649 0.5138833 -0.03757115 0.03757115 0.048846614 -0.00336237 0.00336237 0.0042128293 -0.00027862 0.00027862 0.00034123176 -82.02514643 82.02514643 83.31455 -46.90917564 46.90917564 47.833233 -26.2310308 26.2310308 26.409723 -14.37040883 14.37040883 14.113771 -7.75444205 7.75444205 7.343277 -2.17339162 2.17339162 1.869926 -0.58628937 0.58628937 0.44993278 -0.15423035 0.15423035 0.10460439 -0.04001316 0.04001316 0.023881717 -0.00517377 0.00517377 0.0025821314 -0.00066015 0.00066015 0.0002826245 -8.756e-05 8.756e-05 3.1773772e-05 +80.81162479 80.81162479 86.96732613787162 +45.67030766 45.67030766 49.745228716710876 +25.28534297 25.28534297 27.80743725751493 +13.76810715 13.76810715 15.266598892313533 +3.93215704 3.93215704 4.421731689364717 +1.08843093 1.08843093 1.2330188105781894 +0.29564795 0.29564795 0.33459452209180013 +0.07993455 0.07993455 0.08890102657037292 +0.01135766 0.01135766 0.011813238756965884 +0.0016495 0.0016495 0.0015304853793832514 +0.0002429 0.0002429 0.00019544622093433097 +81.19892212 81.19892212 79.49870134494934 +20.9416574 20.9416574 21.745598473398488 +5.04881567 5.04881567 5.482828080082609 +1.16020761 1.16020761 1.3070093679810901 +0.26012447 0.26012447 0.29944362055371104 +0.02734281 0.02734281 0.031056360206151046 +0.00288427 0.00288427 0.0030531008534573356 +0.0002978 0.0002978 0.00028773986734187407 +111.19618165 111.19618165 125.87497573243044 +56.06959817 56.06959817 67.25798802778476 +14.00787204 14.00787204 17.970353506029344 +3.44233946 3.44233946 4.4540196898398134 +0.83769404 0.83769404 1.0389267777772269 +0.2011326 0.2011326 0.23099908969307992 +0.02313207 0.02313207 0.022688661687932283 +0.00257917 0.00257917 0.00212001340688992 +0.0002836 0.0002836 0.00019324022583196707 +179.42050663 179.42050663 177.68304893455255 +96.8513155 96.8513155 100.55405159199645 +51.86538946 51.86538946 55.766429817296945 +14.53630434 14.53630434 16.30577610460858 +3.96754954 3.96754954 4.518281980918556 +1.05968935 1.05968935 1.2022538061766825 +0.27775441 0.27775441 0.3103982713788017 +0.03635296 0.03635296 0.039164686193684704 +0.00462964 0.00462964 0.004802365239099723 +0.00056963 0.00056963 0.0005805849525477679 +107.81754666 107.81754666 102.74115686993329 +23.70746014 23.70746014 26.88805730507165 +4.80194981 4.80194981 6.344909277804353 +0.94534258 0.94534258 1.393867577130802 +0.1847089 0.1847089 0.28921373272671663 +0.01566481 0.01566481 0.02513839675826068 +0.00128169 0.00128169 0.0020445893848745453 +9.74e-05 9.74e-05 0.00016092890423539144 +80.80763674 80.80763674 79.11415586498747 +46.98282192 46.98282192 44.9747710462954 +26.80685261 26.80685261 24.800734075575097 +15.07303628 15.07303628 13.339838676291922 +8.37915495 8.37915495 7.0307432539989705 +2.51251029 2.51251029 1.8635624856713617 +0.73182983 0.73182983 0.4723291468953892 +0.20960848 0.20960848 0.11627529131417387 +0.05899804 0.05899804 0.0281176158957134 +0.00863982 0.00863982 0.003291485742408196 +0.00123981 0.00123981 0.0003846190224980529 +0.00017202 0.00017202 4.542261634178624e-05 +130.82044984 130.82044984 130.57697353597862 +71.03778212 71.03778212 73.30513940149916 +39.11822296 39.11822296 40.86493407381563 +11.89647485 11.89647485 12.02973568476236 +3.41252855 3.41252855 3.178009700299281 +0.89848169 0.89848169 0.7537207119252834 +0.21847793 0.21847793 0.16469685020403535 +0.02338589 0.02338589 0.015344969947124754 +0.00227683 0.00227683 0.0013620666684367455 +0.00021157 0.00021157 0.0001198044690665645 +100.82620211 100.82620211 107.34893256668151 +25.04563445 25.04563445 30.0124947878979 +5.79115858 5.79115858 7.495448203012862 +1.26937181 1.26937181 1.7253494297019303 +0.26777082 0.26777082 0.3754689951702085 +0.02478941 0.02478941 0.0357190933171343 +0.00219582 0.00219582 0.003260840540262988 +0.0001889 0.0001889 0.0002929214764915977 +63.06463522 63.06463522 65.75446641208937 +14.6071272 14.6071272 17.753562418871557 +3.26353873 3.26353873 4.556466702886427 +0.71026281 0.71026281 1.1294673307377925 +0.15189136 0.15189136 0.27313495716599495 +0.0147025 0.0147025 0.03146845874796746 +0.00138941 0.00138941 0.003541897205450027 +0.00013231 0.00013231 0.0003941416699472526 +101.08419067 101.08419067 104.23190779830836 +23.2550411 23.2550411 28.430306514320524 +5.23295161 5.23295161 7.032827642628409 +1.16989671 1.16989671 1.591315470646411 +0.25295749 0.25295749 0.32957218516689174 +0.02276107 0.02276107 0.02669730612951731 +0.00175401 0.00175401 0.0018899932535358216 +0.00011857 0.00011857 0.00012426808568653152 +119.5532546 119.5532546 118.50628218614193 +65.9197103 65.9197103 66.96992044048721 +19.65640089 19.65640089 20.04083528226825 +5.54020174 5.54020174 5.4536394348567985 +1.46897766 1.46897766 1.3671437144531293 +0.37017978 0.37017978 0.3227069986996229 +0.04420323 0.04420323 0.034591088410238106 +0.00502955 0.00502955 0.0035787547407964315 +0.0005534 0.0005534 0.000368002686674912 +87.26539754 87.26539754 92.2615000482791 +44.50293035 44.50293035 46.69633555890946 +22.69169598 22.69169598 23.256379737537173 +11.61635822 11.61635822 11.481086573195622 +6.00217243 6.00217243 5.650318127409751 +1.66623426 1.66623426 1.3745137014198363 +0.48569833 0.48569833 0.338315517227614 +0.1465023 0.1465023 0.08359835115289083 +0.04457761 0.04457761 0.0205086770088162 +0.00725325 0.00725325 0.002431797126930757 +0.00111496 0.00111496 0.00028156397881592965 +0.00015666 0.00015666 3.2366725630672555e-05 +216.66791866 216.66791866 195.13138709540755 +120.22575491 120.22575491 111.61257772380806 +66.20975228 66.20975228 62.93723457727878 +36.26902672 36.26902672 35.09502905897417 +10.77716567 10.77716567 10.640031702955408 +3.18068092 3.18068092 3.144136678291716 +0.9329935 0.9329935 0.9098968687379295 +0.27154013 0.27154013 0.2584423955962381 +0.04176955 0.04176955 0.03790931952028746 +0.00624903 0.00624903 0.005386689357209949 +0.00089999 0.00089999 0.0007475279321402413 +67.30688067 67.30688067 74.2879849060335 +36.85566737 36.85566737 41.33783992083789 +20.33111626 20.33111626 22.795849310192796 +11.22221575 11.22221575 12.444991849839166 +3.42694149 3.42694149 3.59009211555672 +1.02318286 1.02318286 0.9936082485233897 +0.298208 0.298208 0.2660420928100702 +0.08461913 0.08461913 0.06963829117618031 +0.01220791 0.01220791 0.00911759343383183 +0.00167736 0.00167736 0.0011839010865595451 +0.00022372 0.00022372 0.00015421638307865516 +93.37687554 93.37687554 92.1064338593678 +52.45384698 52.45384698 53.33544056308565 +14.71398474 14.71398474 15.779294341632644 +3.60669173 3.60669173 4.051533184038752 +0.80159546 0.80159546 0.9379189043874189 +0.1666214 0.1666214 0.20205735745916414 +0.01465776 0.01465776 0.01850034260087238 +0.00121799 0.00121799 0.001587426991045266 +9.383e-05 9.383e-05 0.0001316792615075307 +149.34442504 149.34442504 132.56425874393653 +82.16049802 82.16049802 76.89438105454529 +45.03356412 45.03356412 43.821585124552755 +13.34633431 13.34633431 13.595363252550099 +3.8642361 3.8642361 4.00610037423955 +1.08971473 1.08971473 1.1318600830360388 +0.2992656 0.2992656 0.3091378698726965 +0.04131391 0.04131391 0.042057323688311554 +0.00542709 0.00542709 0.005497480372336233 +0.00067934 0.00067934 0.0007010218436557737 +108.68931674 108.68931674 101.70643411186245 +57.65730336 57.65730336 55.25345505709845 +30.28223358 30.28223358 29.55080849561072 +15.78771571 15.78771571 15.616539998758547 +4.23022752 4.23022752 4.255732509762792 +1.12390369 1.12390369 1.1379538309372865 +0.29839275 0.29839275 0.30192621159266897 +0.07965342 0.07965342 0.08005293784073425 +0.01113357 0.01113357 0.011014812025307652 +0.00157014 0.00157014 0.0015393600746727353 +0.00021972 0.00021972 0.00021893277562381154 +110.00229177 110.00229177 91.66329315355814 +57.37995395 57.37995395 49.55876293554028 +15.15951063 15.15951063 13.482528508249988 +3.87498808 3.87498808 3.3967471245666814 +0.96909653 0.96909653 0.8077696123519711 +0.23848427 0.23848427 0.18405780901198737 +0.02831561 0.02831561 0.018940368688795173 +0.00326517 0.00326517 0.0018697990838891787 +0.00036438 0.00036438 0.00018074148944124957 +72.65446924 72.65446924 74.51438085081443 +38.07194335 38.07194335 40.19353590803338 +19.68788662 19.68788662 21.208377958070283 +5.09090876 5.09090876 5.603719748015905 +1.2713094 1.2713094 1.407393073461631 +0.309402 0.309402 0.3420960576477136 +0.07385018 0.07385018 0.08156764260348373 +0.00836847 0.00836847 0.009353548406699315 +0.0009262 0.0009262 0.001073453705447904 +9.905e-05 9.905e-05 0.00012486320141999693 +111.56683465 111.56683465 103.07686388740706 +61.11436147 61.11436147 57.348219714239434 +33.27008439 33.27008439 31.438830608478572 +9.71704756 9.71704756 9.130504971417935 +2.79744308 2.79744308 2.5664647181820226 +0.79921787 0.79921787 0.7063200988266564 +0.22723204 0.22723204 0.19188984601509346 +0.03422538 0.03422538 0.026846009070048298 +0.005109 0.005109 0.00374131901061204 +0.00075181 0.00075181 0.0005229321015093869 +102.82157346 102.82157346 95.2408921775668 +58.57497704 58.57497704 54.151232854468695 +33.13802061 33.13802061 30.28563986094189 +18.62832677 18.62832677 16.711644119506495 +10.42256366 10.42256366 9.119692005310167 +3.23213606 3.23213606 2.645702734128764 +0.99116905 0.99116905 0.7477282021327576 +0.30201708 0.30201708 0.2074269520601952 +0.09135472 0.09135472 0.056789020006720724 +0.01502183 0.01502183 0.00800616539347174 +0.00239847 0.00239847 0.0011173058313451692 +0.00037347 0.00037347 0.0001555231425709601 +115.0823843 115.0823843 109.86452763113688 +60.18012106 60.18012106 60.254945873299285 +31.05925174 31.05925174 32.27476266508389 +15.8543799 15.8543799 16.97569819845005 +4.05498035 4.05498035 4.526816589012601 +1.02259984 1.02259984 1.1742552321261894 +0.25662441 0.25662441 0.3008844917989933 +0.06464364 0.06464364 0.07666652265821511 +0.00818958 0.00818958 0.009795454300780146 +0.00103649 0.00103649 0.0012427051649884172 +0.00012788 0.00012788 0.0001568199041666121 +75.74804487 75.74804487 68.80751428671097 +43.70197891 43.70197891 37.11795635407648 +24.91274622 24.91274622 19.684242721045752 +14.06602376 14.06602376 10.303154464403145 +7.88157453 7.88157453 5.339660196083162 +2.42619569 2.42619569 1.4057953418510682 +0.73293612 0.73293612 0.36481400765193917 +0.21786616 0.21786616 0.09431594839755275 +0.06410577 0.06410577 0.024470450060278703 +0.01005075 0.01005075 0.003288310360828439 +0.0015495 0.0015495 0.00045399848749172467 +0.00023683 0.00023683 6.453303927245191e-05 +89.22532178 89.22532178 83.63315419336506 +47.78098749 47.78098749 44.744330448671434 +25.51277223 25.51277223 23.738182540317993 +13.57960276 13.57960276 12.492475586264593 +3.81180468 3.81180468 3.3665744183311777 +1.04955862 1.04955862 0.8705314231756858 +0.28389628 0.28389628 0.2159436813755364 +0.07541649 0.07541649 0.051677166353230296 +0.00999225 0.00999225 0.00576160304069623 +0.00127555 0.00127555 0.0006215545632235894 +0.00015638 0.00015638 6.642830585659726e-05 +87.9433854 87.9433854 89.5705638681426 +43.37897341 43.37897341 45.15507412061358 +21.70185035 21.70185035 22.804816676459126 +5.619594 5.619594 5.85311200940621 +1.48189345 1.48189345 1.4967090755418946 +0.3881973 0.3881973 0.3760117548652549 +0.10058659 0.10058659 0.09222896460420729 +0.01305563 0.01305563 0.010679761263081684 +0.00166438 0.00166438 0.001168699144895826 +0.00019737 0.00019737 0.00012171453656448109 +98.62550218 98.62550218 96.75313074311322 +47.73815227 47.73815227 49.30212379711898 +23.60972938 23.60972938 25.228373048285636 +6.10815588 6.10815588 6.732404779728884 +1.64328934 1.64328934 1.830303252326202 +0.44008685 0.44008685 0.4988580906489399 +0.11479427 0.11479427 0.13472213864222868 +0.01455537 0.01455537 0.018421017016356594 +0.00176929 0.00176929 0.0024393849547179364 +0.00020572 0.00020572 0.00031318245712242705 +125.72080809 125.72080809 134.97712129622374 +68.81465919 68.81465919 76.78277752254078 +37.29551729 37.29551729 42.68033483004396 +10.66540532 10.66540532 12.422639842073648 +2.9504688 2.9504688 3.3869817150582615 +0.79618343 0.79618343 0.8778401530611836 +0.21054168 0.21054168 0.21888398877304824 +0.02799126 0.02799126 0.025866589281871907 +0.00363898 0.00363898 0.0029326577526494688 +0.00046596 0.00046596 0.0003247412051146719 +123.1789275 123.1789275 110.61864388674658 +31.64224743 31.64224743 32.24424198192218 +7.52514812 7.52514812 8.624126452263292 +1.77867078 1.77867078 2.1761389295701896 +0.42390389 0.42390389 0.5178900120869512 +0.04772212 0.04772212 0.05356694056633945 +0.00488591 0.00488591 0.004922021234875197 +0.00045647 0.00045647 0.00041710956461656567 +73.06234345 73.06234345 74.42545946588983 +42.36893894 42.36893894 42.20128003176144 +24.29285413 24.29285413 23.358149211341328 +13.78741038 13.78741038 12.677800608131042 +7.77529036 7.77529036 6.772149693373727 +2.43353832 2.43353832 1.862629065529096 +0.74980966 0.74980966 0.49444738198415666 +0.22814472 0.22814472 0.12818374840423385 +0.06891836 0.06891836 0.03273814059067999 +0.011266 0.011266 0.004169565802165406 +0.00182545 0.00182545 0.0005307936985043732 +0.000291 0.000291 6.839767386167133e-05 +103.43984183 103.43984183 98.56315193643644 +58.00508755 58.00508755 56.16095972757008 +32.03297333 32.03297333 31.347629385908437 +17.47800853 17.47800853 17.207901028576284 +5.08305421 5.08305421 4.9873711731868005 +1.44941895 1.44941895 1.3891092440241153 +0.40971913 0.40971913 0.3751630086067685 +0.11551482 0.11551482 0.09881758274206445 +0.01719369 0.01719369 0.012872867763238743 +0.00253736 0.00253736 0.0016237597337300403 +0.00036595 0.00036595 0.00020075283945151498 +73.8417029 73.8417029 86.8898339639755 +41.22494485 41.22494485 48.50445660625538 +22.66987673 22.66987673 26.48131643153731 +12.30635533 12.30635533 14.208262511035727 +6.60841824 6.60841824 7.520865833380982 +1.85566173 1.85566173 2.0476146625825606 +0.50697384 0.50697384 0.5442848004537861 +0.13570706 0.13570706 0.14294659058040973 +0.0358772 0.0358772 0.037383782443797586 +0.00481742 0.00481742 0.005013243720573268 +0.00063854 0.00063854 0.000680014136586915 +8.441e-05 8.441e-05 9.368219885994011e-05 +68.68076916 68.68076916 65.3278173260904 +35.84942689 35.84942689 34.43687019635684 +18.48906493 18.48906493 17.799975408536685 +4.76871067 4.76871067 4.523017029434724 +1.19149407 1.19149407 1.0906040792364604 +0.29133719 0.29133719 0.2535487250154362 +0.07026962 0.07026962 0.05760184120461675 +0.00822786 0.00822786 0.006108881810896881 +0.00096045 0.00096045 0.0006455434684327364 +0.00010877 0.00010877 6.897005911753808e-05 +128.78858627 128.78858627 124.86782902021685 +75.41369713 75.41369713 75.57569461952542 +21.73222029 21.73222029 23.783013272334614 +5.30457907 5.30457907 6.33823310623214 +1.19729182 1.19729182 1.507824983623505 +0.26208437 0.26208437 0.3295819202727249 +0.02549299 0.02549299 0.029437547024036993 +0.00226959 0.00226959 0.0023074226788831163 +0.00018088 0.00018088 0.00016615624054821333 +87.36554902 87.36554902 102.51310552331344 +41.60004654 41.60004654 49.78291228517682 +19.48376534 19.48376534 23.291050617991317 +8.98618934 8.98618934 10.570696009311993 +1.82900215 1.82900215 2.0304409726012103 +0.35459405 0.35459405 0.36292762877313606 +0.06612496 0.06612496 0.0613402234137863 +0.01196231 0.01196231 0.009933837598151328 +0.00086895 0.00086895 0.0006132772476879425 +5.918e-05 5.918e-05 3.649645565899698e-05 +2.79e-06 2.79e-06 2.139487911935966e-06 +122.43746763 122.43746763 117.62135246986279 +57.57433084 57.57433084 60.80411162324035 +12.54897354 12.54897354 15.477870575644143 +2.72870513 2.72870513 3.7675488396552033 +0.59584632 0.59584632 0.8892740566079994 +0.12998318 0.12998318 0.205360774595598 +0.0129486 0.0129486 0.02220859790497566 +0.00123701 0.00123701 0.0023640480533103224 +0.00011228 0.00011228 0.00025011063565262895 +157.20829838 157.20829838 149.47561571432902 +87.91117345 87.91117345 86.0044781027341 +24.61978856 24.61978856 24.73581584769434 +6.13937678 6.13937678 6.152255531047855 +1.40767204 1.40767204 1.3896152840026785 +0.30410364 0.30410364 0.2956692806184897 +0.02859157 0.02859157 0.02728149840550756 +0.00257078 0.00257078 0.0024310656656285207 +0.00022281 0.00022281 0.00021424994196089786 +108.40481002 108.40481002 89.47258177577075 +55.36728273 55.36728273 46.506652242087775 +28.41018403 28.41018403 23.88863885934515 +7.51912985 7.51912985 6.090117374920978 +1.97882474 1.97882474 1.4809524558489138 +0.51250287 0.51250287 0.34398047005735405 +0.12992582 0.12992582 0.07679191157937112 +0.01596771 0.01596771 0.007669205498464144 +0.00188355 0.00188355 0.0007370806176877864 +0.00021628 0.00021628 6.991272900914482e-05 +128.93239372 128.93239372 118.7303618933524 +71.51019195 71.51019195 67.54349237641532 +39.21205747 39.21205747 37.84070398818657 +21.313186 21.313186 20.941535774123 +6.17640063 6.17640063 6.231291610570979 +1.76198492 1.76198492 1.7983681999211196 +0.49751218 0.49751218 0.5062383930025924 +0.13933483 0.13933483 0.13954081870037993 +0.02035998 0.02035998 0.01955899012549822 +0.00292394 0.00292394 0.00266365829711257 +0.00041138 0.00041138 0.0003557074571000074 +186.2217493 186.2217493 169.6923759540192 +102.35181274 102.35181274 95.23696292899106 +55.76367046 55.76367046 52.640570788235166 +30.16057829 30.16057829 28.727322639297025 +8.67052113 8.67052113 8.297558123200815 +2.45054371 2.45054371 2.322752631474936 +0.68368586 0.68368586 0.6353831164911232 +0.18909594 0.18909594 0.1708514365235962 +0.02717218 0.02717218 0.02328732876142698 +0.00383138 0.00383138 0.003118350720424322 +0.00052691 0.00052691 0.0004135344827361557 +121.13759916 121.13759916 119.9487169083958 +64.88432611 64.88432611 65.58285155321117 +34.57121506 34.57121506 35.14769146679658 +9.62107849 9.62107849 9.567773110765064 +2.60332702 2.60332702 2.4432184797978977 +0.68193798 0.68193798 0.5908414501495391 +0.17383564 0.17383564 0.13678660025772618 +0.02142196 0.02142196 0.01438236771143013 +0.00252892 0.00252892 0.00145265247983276 +0.00029068 0.00029068 0.0001446030194591566 +120.15539192 120.15539192 121.3338703588836 +63.95758009 63.95758009 66.88396417625921 +34.16530668 34.16530668 36.49692307615959 +18.28082851 18.28082851 19.689123277839492 +5.21277179 5.21277179 5.51283065260983 +1.45947835 1.45947835 1.4636973728233753 +0.39924713 0.39924713 0.3704257522003119 +0.10648933 0.10648933 0.09016955629237143 +0.01420109 0.01420109 0.01027699924605976 +0.00182684 0.00182684 0.0011264713882823566 +0.00022844 0.00022844 0.00012113413284671351 +149.10524328 149.10524328 147.7884816577085 +70.60156109 70.60156109 74.77590093523816 +16.16799605 16.16799605 18.432307060983234 +3.778675 3.778675 4.3586077378207255 +0.8826778 0.8826778 0.9917048646291622 +0.20387587 0.20387587 0.2181244883094761 +0.02199406 0.02199406 0.021539565269678748 +0.00230549 0.00230549 0.002079746488351051 +0.00023643 0.00023643 0.00020091423686228788 +153.59216639 153.59216639 135.28166730695978 +81.32049825 81.32049825 75.98546650691361 +42.5188084 42.5188084 41.70172578745985 +21.98836011 21.98836011 22.427967266074507 +5.73001763 5.73001763 6.169560178876264 +1.45161008 1.45161008 1.6104074667614456 +0.36074341 0.36074341 0.4043391289770277 +0.08857868 0.08857868 0.09865933110271519 +0.01057473 0.01057473 0.011458590543990989 +0.00122501 0.00122501 0.0012943658409096323 +0.00013497 0.00013497 0.00014415939372621617 +118.95545279 118.95545279 106.07760793081323 +62.73657301 62.73657301 59.24226389020385 +16.84879169 16.84879169 17.350998450813325 +4.35032873 4.35032873 4.7357246996142806 +1.08712917 1.08712917 1.2207805577379551 +0.26327397 0.26327397 0.3009011723162549 +0.02976308 0.02976308 0.03466985106283946 +0.00318329 0.00318329 0.0038124430504052065 +0.00032048 0.00032048 0.00040802071479173127 +116.26150347 116.26150347 115.69159073601857 +65.66173822 65.66173822 67.50817114180347 +20.222838 20.222838 20.980893617767972 +5.73341806 5.73341806 5.583593102265879 +1.45425035 1.45425035 1.2465934916970676 +0.33170886 0.33170886 0.23961320663348723 +0.03113869 0.03113869 0.01673814876024705 +0.00259832 0.00259832 0.0010435192962167858 +0.00019712 0.00019712 6.335614719576439e-05 +70.95517942 70.95517942 67.04487771510625 +19.04843951 19.04843951 20.879991798753224 +4.94051739 4.94051739 6.203629382798177 +1.24928802 1.24928802 1.7808031467469463 +0.31012161 0.31012161 0.4983034293053318 +0.03754306 0.03754306 0.07127971668571373 +0.00443287 0.00443287 0.009915394199193878 +0.0005128 0.0005128 0.0013545506321133993 +152.49984222 152.49984222 153.13036066499362 +77.60650753 77.60650753 82.87612018725147 +40.08682531 40.08682531 44.67937560443195 +10.91265993 10.91265993 12.5996638034183 +2.91679842 2.91679842 3.3126654441391286 +0.74320545 0.74320545 0.801520078253536 +0.17958376 0.17958376 0.1799234181037748 +0.01970963 0.01970963 0.017226807687688597 +0.00201888 0.00201888 0.0015236584210327156 +0.00019109 0.00019109 0.00012954774822948085 +130.80043296 130.80043296 128.46338271369896 +66.86042593 66.86042593 69.47662757712136 +34.15130587 34.15130587 37.110148907969055 +8.85696618 8.85696618 10.194748342055084 +2.27314845 2.27314845 2.6621493352417875 +0.57514439 0.57514439 0.6631948015142373 +0.14320961 0.14320961 0.1587686752821314 +0.01740883 0.01740883 0.017585537958775935 +0.00204613 0.00204613 0.001864646050148004 +0.00023279 0.00023279 0.00019323550152743166 +38.44754072 38.44754072 39.82443766003779 +8.47334528 8.47334528 9.89366176973345 +1.82661412 1.82661412 2.3138552696007304 +0.391649 0.391649 0.5138838218380495 +0.03757115 0.03757115 0.04884663608711478 +0.00336237 0.00336237 0.004212834235773666 +0.00027862 0.00027862 0.00034123562130706033 +82.02514643 82.02514643 83.31456440612034 +46.90917564 46.90917564 47.833249967590454 +26.2310308 26.2310308 26.409738217903985 +14.37040883 14.37040883 14.113779236123392 +7.75444205 7.75444205 7.343278177893763 +2.17339162 2.17339162 1.8699266191008144 +0.58628937 0.58628937 0.4499332553650231 +0.15423035 0.15423035 0.10460439776951498 +0.04001316 0.04001316 0.023881735443879972 +0.00517377 0.00517377 0.0025821328103609125 +0.00066015 0.00066015 0.0002826247444796989 +8.756e-05 8.756e-05 3.177378571853804e-05 diff --git a/examples/peg_slater_isa/res_pol.xvg b/examples/peg_slater_isa/res_pol.xvg index 0e63e198b..8fe417304 100644 --- a/examples/peg_slater_isa/res_pol.xvg +++ b/examples/peg_slater_isa/res_pol.xvg @@ -1,499 +1,499 @@ --2.9867738300000006 -2.9867738300000006 -0.32006687 --1.7410505799999996 -1.7410505799999996 -0.22341275 --1.0313661500000002 -1.0313661500000002 -0.16856864 --0.6197615399999998 -0.6197615399999998 -0.13065414 --0.23255161999999996 -0.23255161999999996 -0.077081144 --0.09287790000000001 -0.09287790000000001 -0.04384822 --0.0404051 -0.0404051 -0.024577016 --0.01939309 -0.01939309 -0.013934527 --0.00766772 -0.00766772 -0.006324706 --0.0035559999999999997 -0.0035559999999999997 -0.0032013562 --0.00184514 -0.00184514 -0.001582989 --1.2872213200000004 -1.2872213200000004 1.6462147 --0.6462609600000002 -0.6462609600000002 -0.05882901 --0.31944003 -0.31944003 -0.21041948 --0.15671598 -0.15671598 -0.1463019 --0.08046444999999999 -0.08046444999999999 -0.0881663 --0.03361341 -0.03361341 -0.041691203 --0.0160983 -0.0160983 -0.021284753 --0.00853081 -0.00853081 -0.011701674 --3.340312500000003 -3.340312500000003 -5.386713 --1.973259070000001 -1.973259070000001 -2.7669234 --0.7320812799999996 -0.7320812799999996 -0.76173234 --0.28770668 -0.28770668 -0.23719272 --0.12046013000000003 -0.12046013000000003 -0.088246256 --0.054086669999999996 -0.054086669999999996 -0.038612105 --0.0186238 -0.0186238 -0.013709408 --0.00735808 -0.00735808 -0.005707203 --0.00325321 -0.00325321 -0.0021817263 --4.1805351900000005 -4.1805351900000005 -10.41943 --2.6979595399999994 -2.6979595399999994 -6.0209713 --1.8021193900000014 -1.8021193900000014 -3.4821222 --0.8274635200000002 -0.8274635200000002 -1.196679 --0.3871570000000001 -0.3871570000000001 -0.44488484 --0.18752875 -0.18752875 -0.1864247 --0.09525278000000001 -0.09525278000000001 -0.08781179 --0.038059380000000004 -0.038059380000000004 -0.03394971 --0.01699881 -0.01699881 -0.015501344 --0.00835298 -0.00835298 -0.008162808 --3.7359058099999984 -3.7359058099999984 -2.433062 --2.2760762100000003 -2.2760762100000003 -1.8464619 --1.1675321500000002 -1.1675321500000002 -1.0916288 --0.57066748 -0.57066748 -0.5892399 --0.28587138 -0.28587138 -0.31548622 --0.1123701 -0.1123701 -0.13037619 --0.05013146 -0.05013146 -0.059344623 --0.02481673 -0.02481673 -0.029578345 --2.6696867100000006 -2.6696867100000006 -0.15057409 --1.4984133799999988 -1.4984133799999988 -0.17213953 --0.8586817700000005 -0.8586817700000005 -0.1759505 --0.50778423 -0.50778423 -0.16572773 --0.31140258 -0.31140258 -0.1473266 --0.13280041999999997 -0.13280041999999997 -0.10596418 --0.0674855 -0.0674855 -0.07256479 --0.03971345 -0.03971345 -0.049376663 --0.025810100000000002 -0.025810100000000002 -0.033974055 --0.014927240000000001 -0.014927240000000001 -0.020016715 --0.00919646 -0.00919646 -0.011495087 --0.00589439 -0.00589439 -0.0077483137 --2.486839170000003 -2.486839170000003 0.41133165 --1.3919750499999992 -1.3919750499999992 0.100514054 --0.8666200499999999 -0.8666200499999999 -0.079442024 --0.3602871699999999 -0.3602871699999999 -0.14348115 --0.14915149000000005 -0.14915149000000005 -0.09701435 --0.06554971000000001 -0.06554971000000001 -0.057119485 --0.03255729 -0.03255729 -0.033755027 --0.014221049999999999 -0.014221049999999999 -0.016606253 --0.007366510000000001 -0.007366510000000001 -0.007948443 --0.00419869 -0.00419869 -0.0052414215 --2.1054115999999965 -2.1054115999999965 -9.837036 --1.1688860100000005 -1.1688860100000005 -2.7201028 --0.5881147700000002 -0.5881147700000002 -0.87753576 --0.28987292000000003 -0.28987292000000003 -0.34409347 --0.14774446 -0.14774446 -0.16116576 --0.05946048 -0.05946048 -0.06389988 --0.02689718 -0.02689718 -0.02969923 --0.01339684 -0.01339684 -0.015318705 --1.7423239499999994 -1.7423239499999994 0.4444883 --0.8342606799999999 -0.8342606799999999 -0.12593007 --0.39342058 -0.39342058 -0.1714055 --0.19043439 -0.19043439 -0.11651748 --0.09716 -0.09716 -0.068747394 --0.039490899999999995 -0.039490899999999995 -0.030006094 --0.01799245 -0.01799245 -0.014402513 --0.00898943 -0.00898943 -0.008759929 --2.575961790000001 -2.575961790000001 -0.48683405 --1.0967911900000002 -1.0967911900000002 -0.31911063 --0.41707965 -0.41707965 -0.21126479 --0.15859147 -0.15859147 -0.11121136 --0.06426112 -0.06426112 -0.054867845 --0.01973977 -0.01973977 -0.020061 --0.0074584199999999995 -0.0074584199999999995 -0.00874687 --0.0033111200000000003 -0.0033111200000000003 -0.0038428085 --2.6568066700000017 -2.6568066700000017 -0.85530686 --1.7878091299999994 -1.7878091299999994 -0.5822226 --0.83127306 -0.83127306 -0.3573914 --0.39454751 -0.39454751 -0.21893632 --0.19238413000000001 -0.19238413000000001 -0.12621434 --0.09716022000000002 -0.09716022000000002 -0.07022267 --0.03737787 -0.03737787 -0.029275792 --0.015576539999999998 -0.015576539999999998 -0.013060052 --0.00700939 -0.00700939 -0.006518387 --2.71206853 -2.71206853 -0.6402234 --1.3159329199999998 -1.3159329199999998 -0.41428986 --0.6866266999999997 -0.6866266999999997 -0.2881739 --0.3883769300000002 -0.3883769300000002 -0.21146253 --0.23745543999999996 -0.23745543999999996 -0.16062917 --0.10797298 -0.10797298 -0.098272584 --0.058707369999999995 -0.058707369999999995 -0.06275584 --0.03518478 -0.03518478 -0.041221023 --0.022446010000000002 -0.022446010000000002 -0.026406419 --0.01239491 -0.01239491 -0.015989574 --0.00730156 -0.00730156 -0.009089558 --0.00450799 -0.00450799 -0.0060969917 --6.410525250000006 -6.410525250000006 -11.509333 --4.442752720000001 -4.442752720000001 -7.009965 --3.310677649999999 -3.310677649999999 -4.4704494 --2.556056119999999 -2.556056119999999 -2.9984248 --1.5885010999999998 -1.5885010999999998 -1.5605745 --1.0117770899999998 -1.0117770899999998 -0.92918456 --0.65435902 -0.65435902 -0.5924128 --0.42902199 -0.42902199 -0.38881567 --0.23326852999999997 -0.23326852999999997 -0.21295819 --0.1309521 -0.1309521 -0.12042626 --0.07598540000000001 -0.07598540000000001 -0.07033891 --1.468682059999999 -1.468682059999999 0.06429732 --0.8277038100000009 -0.8277038100000009 -0.028891534 --0.49808615000000067 -0.49808615000000067 -0.06839788 --0.31227632000000005 -0.31227632000000005 -0.07809714 --0.13132823999999998 -0.13132823999999998 -0.06298464 --0.061130640000000014 -0.061130640000000014 -0.041946266 --0.031890020000000005 -0.031890020000000005 -0.026638867 --0.018462279999999998 -0.018462279999999998 -0.01695324 --0.00932987 -0.00932987 -0.00900244 --0.00520415 -0.00520415 -0.0046162023 --0.00308478 -0.00308478 -0.0031764195 --3.2130537399999994 -3.2130537399999994 -4.0488424 --2.3596328900000003 -2.3596328900000003 -2.0217333 --1.15220864 -1.15220864 -0.6354265 --0.51682658 -0.51682658 -0.27737913 --0.22821179000000003 -0.22821179000000003 -0.13848582 --0.10423148 -0.10423148 -0.072056614 --0.03592228 -0.03592228 -0.028721051 --0.014205869999999999 -0.014205869999999999 -0.012820238 --0.00633455 -0.00633455 -0.0064959484 --2.1774803899999924 -2.1774803899999924 -1.4079721 --1.7051859 -1.7051859 -1.3779966 --1.3721258200000008 -1.3721258200000008 -1.1728729 --0.8601741400000003 -0.8601741400000003 -0.74993217 --0.51291645 -0.51291645 -0.46276712 --0.30087717 -0.30087717 -0.28709087 --0.17822042 -0.17822042 -0.17947668 --0.08542004 -0.08542004 -0.09116576 --0.04387343 -0.04387343 -0.048608914 --0.02406041 -0.02406041 -0.027327795 --1.8400887699999977 -1.8400887699999977 -0.6211131 --0.9708254699999994 -0.9708254699999994 -0.4145466 --0.5546286899999995 -0.5546286899999995 -0.28577816 --0.33604356000000024 -0.33604356000000024 -0.20192763 --0.13830701 -0.13830701 -0.10674728 --0.06431297999999999 -0.06431297999999999 -0.059890844 --0.03339104 -0.03339104 -0.03518087 --0.019112619999999997 -0.019112619999999997 -0.02151598 --0.00951594 -0.00951594 -0.011037097 --0.00532224 -0.00532224 -0.0053066234 --0.00321237 -0.00321237 -0.0036459859 --1.684563709999999 -1.684563709999999 -1.175756 --1.0048426799999994 -1.0048426799999994 -0.8255792 --0.41765615 -0.41765615 -0.40691552 --0.19270410000000004 -0.19270410000000004 -0.20820959 --0.09739024999999998 -0.09739024999999998 -0.1135858 --0.05368488 -0.05368488 -0.06568889 --0.02492403 -0.02492403 -0.03167354 --0.01281095 -0.01281095 -0.016695527 --0.007054820000000001 -0.007054820000000001 -0.00860659 --2.2145058499999983 -2.2145058499999983 -0.8196333 --1.1772381100000011 -1.1772381100000011 -0.5244086 --0.6581225499999999 -0.6581225499999999 -0.34872538 --0.23642748000000013 -0.23642748000000013 -0.17246874 --0.10181140999999999 -0.10181140999999999 -0.09696471 --0.052045629999999996 -0.052045629999999996 -0.059702523 --0.030415990000000004 -0.030415990000000004 -0.039024394 --0.015861519999999997 -0.015861519999999997 -0.022148915 --0.00917547 -0.00917547 -0.012303409 --0.00565812 -0.00565812 -0.008454791 --1.6422782700000056 -1.6422782700000056 -0.27077782 --1.1433589699999978 -1.1433589699999978 -0.3221166 --0.8342613399999994 -0.8342613399999994 -0.32655185 --0.4538161299999999 -0.4538161299999999 -0.25977445 --0.24570340999999996 -0.24570340999999996 -0.17426312 --0.13469941000000002 -0.13469941000000002 -0.10913599 --0.07599699 -0.07599699 -0.06668251 --0.034479 -0.034479 -0.032056138 --0.0169416 -0.0169416 -0.01605895 --0.00890281 -0.00890281 -0.007268171 --3.835298810000001 -3.835298810000001 -1.8418733 --2.215989630000003 -2.215989630000003 -1.1071335 --1.3444062100000007 -1.3444062100000007 -0.69965196 --0.8529438999999996 -0.8529438999999996 -0.4686867 --0.5617464700000001 -0.5617464700000001 -0.33127093 --0.26667105 -0.26667105 -0.1861454 --0.1394262 -0.1394262 -0.114032075 --0.07883445 -0.07883445 -0.072478235 --0.04737246 -0.04737246 -0.047104754 --0.024072220000000002 -0.024072220000000002 -0.025696553 --0.01320521 -0.01320521 -0.014824302 --0.0076752 -0.0076752 -0.008306902 --3.1817270800000017 -3.1817270800000017 -0.3907529 --1.8192877799999998 -1.8192877799999998 -0.2371828 --1.07935086 -1.07935086 -0.16746116 --0.6579188199999999 -0.6579188199999999 -0.12830572 --0.25825805999999984 -0.25825805999999984 -0.077818364 --0.10972272000000002 -0.10972272000000002 -0.045880042 --0.050865570000000006 -0.050865570000000006 -0.026661249 --0.02572701 -0.02572701 -0.01578442 --0.01068852 -0.01068852 -0.007813126 --0.005117539999999999 -0.005117539999999999 -0.004420033 --0.00271731 -0.00271731 -0.0025736182 --3.038443840000003 -3.038443840000003 -0.8587673 --1.5741967 -1.5741967 -0.5577606 --0.8458187600000002 -0.8458187600000002 -0.3794987 --0.47396945000000024 -0.47396945000000024 -0.27005094 --0.27806317 -0.27806317 -0.19923903 --0.11174390000000001 -0.11174390000000001 -0.11816855 --0.055955019999999994 -0.055955019999999994 -0.076025605 --0.03377261 -0.03377261 -0.051428355 --0.02293186 -0.02293186 -0.03600713 --0.01428837 -0.01428837 -0.022121172 --0.00944132 -0.00944132 -0.0135322455 --0.00643446 -0.00643446 -0.009575461 --2.49255887 -2.49255887 -0.23288405 --1.411926750000001 -1.411926750000001 -0.26788986 --0.8471079999999995 -0.8471079999999995 -0.25512105 --0.5269438599999998 -0.5269438599999998 -0.2192137 --0.21722969999999997 -0.21722969999999997 -0.13775602 --0.09561720999999998 -0.09561720999999998 -0.08028551 --0.04536696999999999 -0.04536696999999999 -0.046668235 --0.023383539999999998 -0.023383539999999998 -0.028038448 --0.01002361 -0.01002361 -0.014392356 --0.0049682699999999995 -0.0049682699999999995 -0.00832996 --0.00274864 -0.00274864 -0.0050315736 --2.852020060000001 -2.852020060000001 -2.8519335 --1.9437572900000006 -1.9437572900000006 -1.8253584 --1.3754291099999998 -1.3754291099999998 -1.201746 --0.7036792300000001 -0.7036792300000001 -0.55848765 --0.35606473 -0.35606473 -0.27715275 --0.17958237999999999 -0.17958237999999999 -0.14421381 --0.09224675 -0.09224675 -0.07730661 --0.036350749999999994 -0.036350749999999994 -0.032248363 --0.015796130000000002 -0.015796130000000002 -0.014657327 --0.00753416 -0.00753416 -0.0072895074 --3.5894518899999994 -3.5894518899999994 -1.354754 --2.7768894500000005 -2.7768894500000005 -1.5553291 --2.1930232000000007 -2.1930232000000007 -1.5000821 --1.3492270700000002 -1.3492270700000002 -1.095643 --0.80652203 -0.80652203 -0.6997788 --0.47377108 -0.47377108 -0.42844734 --0.27818114000000005 -0.27818114000000005 -0.2600595 --0.12898004 -0.12898004 -0.12565263 --0.06325517 -0.06325517 -0.0637942 --0.033013390000000004 -0.033013390000000004 -0.034257125 --2.854500509999994 -2.854500509999994 -2.4893498 --1.8367119500000015 -1.8367119500000015 -1.6582571 --1.213682499999999 -1.213682499999999 -1.0861088 --0.5464699500000001 -0.5464699500000001 -0.47452763 --0.25482565999999995 -0.25482565999999995 -0.22578613 --0.12525631999999998 -0.12525631999999998 -0.11851686 --0.06594736 -0.06594736 -0.06755091 --0.02842587 -0.02842587 -0.03260468 --0.01382994 -0.01382994 -0.017621892 --0.0073604000000000004 -0.0073604000000000004 -0.009438597 --0.9463429600000026 -0.9463429600000026 -0.40563786 --0.6490761299999992 -0.6490761299999992 -0.051118493 --0.32705316999999967 -0.32705316999999967 -0.0880526 --0.13611554000000003 -0.13611554000000003 -0.067876026 --0.05497457 -0.05497457 -0.03990438 --0.016198789999999998 -0.016198789999999998 -0.016428426 --0.00614632 -0.00614632 -0.0074479636 --0.00289422 -0.00289422 -0.003100303 --2.653861580000001 -2.653861580000001 -0.09602469 --1.5013679500000006 -1.5013679500000006 -0.12823035 --0.8748372 -0.8748372 -0.13691387 --0.52819241 -0.52819241 -0.13052006 --0.33030842000000016 -0.33030842000000016 -0.11603441 --0.14353578 -0.14353578 -0.08266878 --0.07166741 -0.07166741 -0.056016687 --0.040371899999999995 -0.040371899999999995 -0.03782047 --0.02498368 -0.02498368 -0.025994956 --0.013661880000000001 -0.013661880000000001 -0.015418708 --0.008161000000000002 -0.008161000000000002 -0.009030972 --0.0051493699999999995 -0.0051493699999999995 -0.006322274 --2.8676897299999986 -2.8676897299999986 -1.0463946 --1.6161133400000018 -1.6161133400000018 -0.7009176 --0.9460670700000007 -0.9460670700000007 -0.47353014 --0.5767480100000002 -0.5767480100000002 -0.325088 --0.24105570999999992 -0.24105570999999992 -0.16074568 --0.11550158999999999 -0.11550158999999999 -0.08554957 --0.061713080000000003 -0.061713080000000003 -0.048392452 --0.03580279 -0.03580279 -0.028799376 --0.017569219999999997 -0.017569219999999997 -0.014210297 --0.0094092 -0.0094092 -0.0075499043 --0.005353930000000001 -0.005353930000000001 -0.0038131748 --4.324307899999997 -4.324307899999997 -1.4754713 --2.5736894799999988 -2.5736894799999988 -1.0014493 --1.57420179 -1.57420179 -0.70419085 --0.9929250700000001 -0.9929250700000001 -0.51016194 --0.6465564400000001 -0.6465564400000001 -0.37802193 --0.30229746999999996 -0.30229746999999996 -0.21833038 --0.15946131000000002 -0.15946131000000002 -0.1328701 --0.09243609 -0.09243609 -0.08426876 --0.05741405 -0.05741405 -0.055376224 --0.03075913 -0.03075913 -0.031230206 --0.01779867 -0.01779867 -0.018718243 --0.01089473 -0.01089473 -0.011076313 --2.1947300500000004 -2.1947300500000004 -0.9724095 --1.2115739899999998 -1.2115739899999998 -0.5749254 --0.6995314100000005 -0.6995314100000005 -0.35287854 --0.25823500999999993 -0.25823500999999993 -0.15021203 --0.10711005999999998 -0.10711005999999998 -0.07480473 --0.04973227 -0.04973227 -0.042131204 --0.02550235 -0.02550235 -0.025945727 --0.010768709999999999 -0.010768709999999999 -0.014146248 --0.005101329999999999 -0.005101329999999999 -0.007974851 --0.00262125 -0.00262125 -0.0058221146 --4.0867737800000015 -4.0867737800000015 -4.667248 --3.1059770899999997 -3.1059770899999997 -2.3206403 --1.5443552499999997 -1.5443552499999997 -0.7954225 --0.6921047999999999 -0.6921047999999999 -0.3906502 --0.30404778 -0.30404778 -0.20139667 --0.1372986 -0.1372986 -0.103130214 --0.0460676 -0.0460676 -0.03920173 --0.01785914 -0.01785914 -0.016631965 --0.00791951 -0.00791951 -0.008917875 --4.07672097 -4.07672097 -5.9306273 --2.261450759999999 -2.261450759999999 -2.8048124 --1.24933022 -1.24933022 -1.3728724 --0.7012984200000003 -0.7012984200000003 -0.7123556 --0.24341083000000002 -0.24341083000000002 -0.23886995 --0.0985742 -0.0985742 -0.10446561 --0.04574944 -0.04574944 -0.05335554 --0.02354962 -0.02354962 -0.029641904 --0.009972519999999999 -0.009972519999999999 -0.013555039 --0.00475618 -0.00475618 -0.0058661336 --0.0025749 -0.0025749 -0.0036621138 --3.1255340099999955 -3.1255340099999955 -1.3466935 --2.350370869999999 -2.350370869999999 -1.4516869 --1.2281260300000003 -1.2281260300000003 -1.0968258 --0.60265856 -0.60265856 -0.65233827 --0.29845406 -0.29845406 -0.35930923 --0.15436819 -0.15436819 -0.19666111 --0.06351561 -0.06351561 -0.083226874 --0.029273379999999998 -0.029273379999999998 -0.038152017 --0.014802889999999999 -0.014802889999999999 -0.01902637 --3.1027740500000007 -3.1027740500000007 -1.2283146 --2.039402850000002 -2.039402850000002 -0.76243746 --0.8746445299999994 -0.8746445299999994 -0.45046073 --0.37547069999999994 -0.37547069999999994 -0.30429482 --0.17327924 -0.17327924 -0.1950627 --0.08968931999999999 -0.08968931999999999 -0.12232418 --0.040350500000000004 -0.040350500000000004 -0.062338393 --0.0208627 -0.0208627 -0.03402022 --0.011702430000000002 -0.011702430000000002 -0.019915517 --2.3606396799999985 -2.3606396799999985 -0.2583928 --1.5578893700000016 -1.5578893700000016 -0.3138975 --1.07447992 -1.07447992 -0.34060127 --0.5012391699999998 -0.5012391699999998 -0.26302183 --0.22639089 -0.22639089 -0.16039738 --0.10419816 -0.10419816 -0.092482194 --0.05103715 -0.05103715 -0.05392597 --0.0203194 -0.0203194 -0.025927458 --0.00949267 -0.00949267 -0.013814143 --0.005006989999999999 -0.005006989999999999 -0.007287011 --3.3517568900000043 -3.3517568900000043 -0.5657685 --2.131921330000001 -2.131921330000001 -0.5265075 --1.4533293700000005 -1.4533293700000005 -0.48742747 --1.0334824999999999 -1.0334824999999999 -0.436922 --0.5553910200000001 -0.5553910200000001 -0.321298 --0.31132936 -0.31132936 -0.21873283 --0.18030419999999997 -0.18030419999999997 -0.14348042 --0.10806895 -0.10806895 -0.093320474 --0.05358959 -0.05358959 -0.049866587 --0.02858799 -0.02858799 -0.02787063 --0.01620738 -0.01620738 -0.016405601 --4.998961800000004 -4.998961800000004 -8.042626 --3.387173339999997 -3.387173339999997 -4.899208 --2.3606405499999994 -2.3606405499999994 -3.0359974 --1.6632344100000003 -1.6632344100000003 -1.9235865 --0.8375017100000002 -0.8375017100000002 -0.8375321 --0.43089355 -0.43089355 -0.4078979 --0.22872682 -0.22872682 -0.21941823 --0.1262297 -0.1262297 -0.12688443 --0.0556489 -0.0556489 -0.061679244 --0.02647912 -0.02647912 -0.033088695 --0.01342896 -0.01342896 -0.019342413 --2.349125479999998 -2.349125479999998 -2.642174 --1.4214822999999974 -1.4214822999999974 -1.5766382 --0.9262622999999994 -0.9262622999999994 -0.96733236 --0.4355033399999999 -0.4355033399999999 -0.4083763 --0.21466041000000002 -0.21466041000000002 -0.19834696 --0.10949377000000002 -0.10949377000000002 -0.10515537 --0.05823728 -0.05823728 -0.058713034 --0.02457664 -0.02457664 -0.02620288 --0.01134014 -0.01134014 -0.012591647 --0.005644229999999999 -0.005644229999999999 -0.005591696 --3.0884293599999992 -3.0884293599999992 0.05764115 --1.7784271800000013 -1.7784271800000013 -0.16047806 --1.0857345400000007 -1.0857345400000007 -0.2338103 --0.6841868500000006 -0.6841868500000006 -0.23413026 --0.28509262999999996 -0.28509262999999996 -0.16878185 --0.12663399 -0.12663399 -0.10542521 --0.06155557999999999 -0.06155557999999999 -0.06404942 --0.033018610000000004 -0.033018610000000004 -0.03952842 --0.015107549999999999 -0.015107549999999999 -0.020310234 --0.00786286 -0.00786286 -0.009952957 --0.004458869999999999 -0.004458869999999999 -0.006611018 --4.007546570000002 -4.007546570000002 -4.2915735 --3.0299107299999974 -3.0299107299999974 -3.1597795 --1.6776611200000002 -1.6776611200000002 -1.7476437 --0.90205598 -0.90205598 -0.97038764 --0.48921427000000006 -0.48921427000000006 -0.544806 --0.27303106 -0.27303106 -0.31335792 --0.12176635999999999 -0.12176635999999999 -0.14427727 --0.05896692 -0.05896692 -0.071440965 --0.03079078 -0.03079078 -0.037821393 --3.0539781100000027 -3.0539781100000027 -0.5191274 --1.813277890000002 -1.813277890000002 -0.4756673 --1.133714059999999 -1.133714059999999 -0.40650114 --0.7324033200000004 -0.7324033200000004 -0.3358655 --0.32584554 -0.32584554 -0.21900022 --0.15751775 -0.15751775 -0.14122967 --0.08306648 -0.08306648 -0.09216012 --0.04744402 -0.04744402 -0.061609283 --0.023028299999999998 -0.023028299999999998 -0.035713024 --0.0123832 -0.0123832 -0.022365427 --0.00716432 -0.00716432 -0.014266306 --2.2163468500000008 -2.2163468500000008 -1.1119723 --2.1446331900000004 -2.1446331900000004 -1.4622581 --1.4890868499999996 -1.4890868499999996 -1.243073 --0.8547689599999999 -0.8547689599999999 -0.78619474 --0.46187791999999994 -0.46187791999999994 -0.45486748 --0.24973726000000002 -0.24973726000000002 -0.2575225 --0.1056136 -0.1056136 -0.112775676 --0.049117629999999995 -0.049117629999999995 -0.052772824 --0.024963179999999998 -0.024963179999999998 -0.02654283 --2.412281059999998 -2.412281059999998 -0.67353725 --1.6072761 -1.6072761 -0.5259515 --0.7841218999999997 -0.7841218999999997 -0.3559489 --0.34579375999999984 -0.34579375999999984 -0.19209366 --0.13802461 -0.13802461 -0.09507196 --0.055793999999999996 -0.055793999999999996 -0.047807734 --0.017342979999999997 -0.017342979999999997 -0.019378524 --0.00684442 -0.00684442 -0.009442241 --0.00325883 -0.00325883 -0.0047814236 --1.517754889999999 -1.517754889999999 0.3986919 --0.9605527699999996 -0.9605527699999996 -0.26070988 --0.56361248 -0.56361248 -0.33572504 --0.32184727999999996 -0.32184727999999996 -0.25601825 --0.18600279 -0.18600279 -0.17062724 --0.08657024 -0.08657024 -0.0871621 --0.043633740000000004 -0.043633740000000004 -0.045677494 --0.023648319999999997 -0.023648319999999997 -0.025528837 --5.585173830000002 -5.585173830000002 -10.772657 --3.3264204900000003 -3.3264204900000003 -5.2846756 --2.1249876000000008 -2.1249876000000008 -2.6748743 --0.9544539199999997 -0.9544539199999997 -0.7994002 --0.45438565 -0.45438565 -0.30989313 --0.22526406000000002 -0.22526406000000002 -0.14813358 --0.11659892999999999 -0.11659892999999999 -0.079267085 --0.047488899999999994 -0.047488899999999994 -0.0347675 --0.02138087 -0.02138087 -0.016826592 --0.01049924 -0.01049924 -0.008855935 --3.2183105199999957 -3.2183105199999957 -5.155996 --1.7857847400000004 -1.7857847400000004 -2.5439978 --1.0561265200000012 -1.0561265200000012 -1.296618 --0.4143951699999997 -0.4143951699999997 -0.39725232 --0.18368169 -0.18368169 -0.16448344 --0.09198873 -0.09198873 -0.087184526 --0.05147302999999999 -0.05147302999999999 -0.05296711 --0.024864229999999998 -0.024864229999999998 -0.028392093 --0.01345453 -0.01345453 -0.016648034 --0.007800189999999999 -0.007800189999999999 -0.009797992 --2.2432414299999994 -2.2432414299999994 -1.5403852 --1.2314724099999999 -1.2314724099999999 -0.97256666 --0.59591966 -0.59591966 -0.5243499 --0.28572954 -0.28572954 -0.27200183 --0.10313958000000001 -0.10313958000000001 -0.105049826 --0.04236797 -0.04236797 -0.044799436 --0.01956622 -0.01956622 -0.021146156 --3.2061168799999997 -3.2061168799999997 -0.555277 --1.8523682899999994 -1.8523682899999994 -0.3606379 --1.0594761300000002 -1.0594761300000002 -0.23049906 --0.6062098300000001 -0.6062098300000001 -0.14764386 --0.34876408999999997 -0.34876408999999997 -0.09593881 --0.12079060000000003 -0.12079060000000003 -0.04362644 --0.04671607 -0.04671607 -0.02230455 --0.020877780000000002 -0.020877780000000002 -0.012667527 --0.01068821 -0.01068821 -0.0072593577 --0.00464027 -0.00464027 -0.004199499 --0.00236704 -0.00236704 -0.0023396558 --0.0012661 -0.0012661 -0.0010921186 +-2.9867738300000006 -2.9867738300000006 9645.067913247896 +-1.7410505799999996 -1.7410505799999996 5467.872825911109 +-1.0313661500000002 -1.0313661500000002 2998.9444314143825 +-0.6197615399999998 -0.6197615399999998 1569.8681184562117 +-0.23255161999999996 -0.23255161999999996 295.5469086695603 +-0.09287790000000001 -0.09287790000000001 -102.3170586493717 +-0.0404051 -0.0404051 -222.94646710860525 +-0.01939309 -0.01939309 -258.9591323277562 +-0.00766772 -0.00766772 -272.0802136234352 +-0.0035559999999999997 -0.0035559999999999997 -275.59330915375295 +-0.00184514 -0.00184514 -278.5942083901596 +-1.2872213200000004 -1.2872213200000004 7240.755040812263 +-0.6462609600000002 -0.6462609600000002 4492.960439122855 +-0.31944003 -0.31944003 2949.5078947580523 +-0.15671598 -0.15671598 2010.552447169475 +-0.08046444999999999 -0.08046444999999999 1479.3572566679154 +-0.03361341 -0.03361341 1078.0422269977728 +-0.0160983 -0.0160983 888.5641343153957 +-0.00853081 -0.00853081 789.9063970366691 +-3.340312500000003 -3.340312500000003 9561.537115542109 +-1.973259070000001 -1.973259070000001 5408.374331602012 +-0.7320812799999996 -0.7320812799999996 1311.836564021145 +-0.28770668 -0.28770668 -163.8345250611128 +-0.12046013000000003 -0.12046013000000003 -681.0045725714116 +-0.054086669999999996 -0.054086669999999996 -835.66063364011 +-0.0186238 -0.0186238 -828.9696834949009 +-0.00735808 -0.00735808 -741.8377085409093 +-0.00325321 -0.00325321 -649.9815169425319 +-4.1805351900000005 -4.1805351900000005 -13481.121370906907 +-2.6979595399999994 -2.6979595399999994 -9446.400986823299 +-1.8021193900000014 -1.8021193900000014 -6935.466920300846 +-0.8274635200000002 -0.8274635200000002 -4201.6506725837635 +-0.3871570000000001 -0.3871570000000001 -2887.5671354444585 +-0.18752875 -0.18752875 -2173.7395693754634 +-0.09525278000000001 -0.09525278000000001 -1745.530770965166 +-0.038059380000000004 -0.038059380000000004 -1367.63280366119 +-0.01699881 -0.01699881 -1151.9353571518982 +-0.00835298 -0.00835298 -1020.7291518735428 +-3.7359058099999984 -3.7359058099999984 4473.481279730469 +-2.2760762100000003 -2.2760762100000003 7335.8173252770675 +-1.1675321500000002 -1.1675321500000002 4551.920375612157 +-0.57066748 -0.57066748 2411.042913452026 +-0.28587138 -0.28587138 1207.5727533097104 +-0.1123701 -0.1123701 350.40542712912145 +-0.05013146 -0.05013146 -20.758164919055456 +-0.02481673 -0.02481673 -202.97427379744335 +-2.6696867100000006 -2.6696867100000006 -2212.0489567743666 +-1.4984133799999988 -1.4984133799999988 -1389.914649933793 +-0.8586817700000005 -0.8586817700000005 -821.6006914777402 +-0.50778423 -0.50778423 -476.3129040250452 +-0.31140258 -0.31140258 -286.1699214782628 +-0.13280041999999997 -0.13280041999999997 -159.04131189334578 +-0.0674855 -0.0674855 -171.57687958488364 +-0.03971345 -0.03971345 -219.02912562538023 +-0.025810100000000002 -0.025810100000000002 -266.2994085848056 +-0.014927240000000001 -0.014927240000000001 -318.8905564861371 +-0.00919646 -0.00919646 -350.31689362056335 +-0.00589439 -0.00589439 -367.34604520267936 +-2.486839170000003 -2.486839170000003 7055.682407681632 +-1.3919750499999992 -1.3919750499999992 3938.642359919847 +-0.8666200499999999 -0.8666200499999999 2592.240660731893 +-0.3602871699999999 -0.3602871699999999 1462.3182194520696 +-0.14915149000000005 -0.14915149000000005 884.5606505492617 +-0.06554971000000001 -0.06554971000000001 507.0543041139504 +-0.03255729 -0.03255729 261.2622332956695 +-0.014221049999999999 -0.014221049999999999 44.863098558698994 +-0.007366510000000001 -0.007366510000000001 -71.39552108208716 +-0.00419869 -0.00419869 -136.5622749159364 +-2.1054115999999965 -2.1054115999999965 -16012.624625439596 +-1.1688860100000005 -1.1688860100000005 -6861.570825693908 +-0.5881147700000002 -0.5881147700000002 -3143.547610279889 +-0.28987292000000003 -0.28987292000000003 -1573.3220203603732 +-0.14774446 -0.14774446 -859.9327781097028 +-0.05946048 -0.05946048 -400.4931621411519 +-0.02689718 -0.02689718 -211.47004343199816 +-0.01339684 -0.01339684 -120.34057070192942 +-1.7423239499999994 -1.7423239499999994 -2632.2286391089838 +-0.8342606799999999 -0.8342606799999999 -2491.8438235810668 +-0.39342058 -0.39342058 -1859.8655820913725 +-0.19043439 -0.19043439 -1363.109861558622 +-0.09716 -0.09716 -1033.5263387601012 +-0.039490899999999995 -0.039490899999999995 -744.4801474717174 +-0.01799245 -0.01799245 -592.6475352590259 +-0.00898943 -0.00898943 -493.37402828253323 +-2.575961790000001 -2.575961790000001 212.86857050321106 +-1.0967911900000002 -1.0967911900000002 5717.764470679056 +-0.41707965 -0.41707965 3589.3278281235266 +-0.15859147 -0.15859147 1837.7679239371987 +-0.06426112 -0.06426112 907.9844141111954 +-0.01973977 -0.01973977 276.3507684709059 +-0.0074584199999999995 -0.0074584199999999995 21.03372036009035 +-0.0033111200000000003 -0.0033111200000000003 -89.58993346281302 +-2.6568066700000017 -2.6568066700000017 2682.3354133883254 +-1.7878091299999994 -1.7878091299999994 860.1870700306913 +-0.83127306 -0.83127306 -983.619392282701 +-0.39454751 -0.39454751 -1185.3789414925125 +-0.19238413000000001 -0.19238413000000001 -918.3007106500627 +-0.09716022000000002 -0.09716022000000002 -646.3842411216779 +-0.03737787 -0.03737787 -394.9799243246431 +-0.015576539999999998 -0.015576539999999998 -282.06549263009276 +-0.00700939 -0.00700939 -239.58472325329004 +-2.71206853 -2.71206853 1712.7789181841008 +-1.3159329199999998 -1.3159329199999998 1238.3284403409898 +-0.6866266999999997 -0.6866266999999997 949.8819394022555 +-0.3883769300000002 -0.3883769300000002 782.4188657685805 +-0.23745543999999996 -0.23745543999999996 686.6788159179706 +-0.10797298 -0.10797298 596.5678883137554 +-0.058707369999999995 -0.058707369999999995 554.8626943801934 +-0.03518478 -0.03518478 525.0223932586623 +-0.022446010000000002 -0.022446010000000002 498.86711981168037 +-0.01239491 -0.01239491 465.0135488377335 +-0.00730156 -0.00730156 438.2788550006908 +-0.00450799 -0.00450799 418.21257027881876 +-6.410525250000006 -6.410525250000006 32.85213194286039 +-4.442752720000001 -4.442752720000001 -2314.3473666350965 +-3.310677649999999 -3.310677649999999 -3667.030275080795 +-2.556056119999999 -2.556056119999999 -4249.220752513504 +-1.5885010999999998 -1.5885010999999998 -4095.113931053754 +-1.0117770899999998 -1.0117770899999998 -3292.7377086965903 +-0.65435902 -0.65435902 -2478.6695853645265 +-0.42902199 -0.42902199 -1837.784323067283 +-0.23326852999999997 -0.23326852999999997 -1203.9796472488765 +-0.1309521 -0.1309521 -841.220758248081 +-0.07598540000000001 -0.07598540000000001 -633.5769828310666 +-1.468682059999999 -1.468682059999999 -5330.835687938502 +-0.8277038100000009 -0.8277038100000009 -3214.154499001694 +-0.49808615000000067 -0.49808615000000067 -1890.2256028781305 +-0.31227632000000005 -0.31227632000000005 -1056.724614136189 +-0.13132823999999998 -0.13132823999999998 -210.20520914117174 +-0.061130640000000014 -0.061130640000000014 97.73577826906043 +-0.031890020000000005 -0.031890020000000005 178.61847022124684 +-0.018462279999999998 -0.018462279999999998 164.0775918884372 +-0.00932987 -0.00932987 82.20652751137806 +-0.00520415 -0.00520415 -8.621535923987853 +-0.00308478 -0.00308478 -87.91332516787469 +-3.2130537399999994 -3.2130537399999994 -1523.0569651310889 +-2.3596328900000003 -2.3596328900000003 2073.9727615232096 +-1.15220864 -1.15220864 3173.7459671930937 +-0.51682658 -0.51682658 2002.8186511102167 +-0.22821179000000003 -0.22821179000000003 1031.5533088529078 +-0.10423148 -0.10423148 469.97340865232945 +-0.03592228 -0.03592228 71.48242782542957 +-0.014205869999999999 -0.014205869999999999 -92.71333308465208 +-0.00633455 -0.00633455 -166.77671363321153 +-2.1774803899999924 -2.1774803899999924 -18286.962364359537 +-1.7051859 -1.7051859 -13896.540606716313 +-1.3721258200000008 -1.3721258200000008 -10138.832291741273 +-0.8601741400000003 -0.8601741400000003 -5251.239259268854 +-0.51291645 -0.51291645 -2848.9569972564896 +-0.30087717 -0.30087717 -1710.6403635212457 +-0.17822042 -0.17822042 -1162.4030645352984 +-0.08542004 -0.08542004 -804.6427586839508 +-0.04387343 -0.04387343 -662.4293027953421 +-0.02406041 -0.02406041 -597.3721336150999 +-1.8400887699999977 -1.8400887699999977 2488.882199553595 +-0.9708254699999994 -0.9708254699999994 1019.6489409529795 +-0.5546286899999995 -0.5546286899999995 266.72313737819724 +-0.33604356000000024 -0.33604356000000024 -128.88684796393878 +-0.13830701 -0.13830701 -462.28844063758925 +-0.06431297999999999 -0.06431297999999999 -573.8041936259269 +-0.03339104 -0.03339104 -618.5607055324499 +-0.019112619999999997 -0.019112619999999997 -640.6133332815238 +-0.00951594 -0.00951594 -658.7043151846602 +-0.00532224 -0.00532224 -669.8580976538876 +-0.00321237 -0.00321237 -677.8019776368319 +-1.684563709999999 -1.684563709999999 3643.197927292518 +-1.0048426799999994 -1.0048426799999994 2140.3945488040836 +-0.41765615 -0.41765615 973.0846733241611 +-0.19270410000000004 -0.19270410000000004 625.2759405019023 +-0.09739024999999998 -0.09739024999999998 487.9769113493625 +-0.05368488 -0.05368488 419.13419452738134 +-0.02492403 -0.02492403 367.70230957130326 +-0.01281095 -0.01281095 344.7237508081323 +-0.007054820000000001 -0.007054820000000001 334.48651968526025 +-2.2145058499999983 -2.2145058499999983 -10221.645272975737 +-1.1772381100000011 -1.1772381100000011 -7421.199125990088 +-0.6581225499999999 -0.6581225499999999 -5533.932395582314 +-0.23642748000000013 -0.23642748000000013 -3294.6750759539277 +-0.10181140999999999 -0.10181140999999999 -2109.569064367193 +-0.052045629999999996 -0.052045629999999996 -1429.682956696754 +-0.030415990000000004 -0.030415990000000004 -1014.733939300879 +-0.015861519999999997 -0.015861519999999997 -651.6302857775954 +-0.00917547 -0.00917547 -449.3686548721074 +-0.00565812 -0.00565812 -328.95659892361283 +-1.6422782700000056 -1.6422782700000056 -17732.517069310114 +-1.1433589699999978 -1.1433589699999978 -12703.92295938514 +-0.8342613399999994 -0.8342613399999994 -9238.689864196336 +-0.4538161299999999 -0.4538161299999999 -5213.239244851235 +-0.24570340999999996 -0.24570340999999996 -3231.649880086271 +-0.13469941000000002 -0.13469941000000002 -2185.503952975331 +-0.07599699 -0.07599699 -1590.2148755583935 +-0.034479 -0.034479 -1097.217721489385 +-0.0169416 -0.0169416 -830.6441318016751 +-0.00890281 -0.00890281 -671.8020910607239 +-3.835298810000001 -3.835298810000001 -1587.6114643967203 +-2.215989630000003 -2.215989630000003 -1122.6233988459128 +-1.3444062100000007 -1.3444062100000007 -907.2342611643115 +-0.8529438999999996 -0.8529438999999996 -782.5530935838688 +-0.5617464700000001 -0.5617464700000001 -695.3093873232066 +-0.26667105 -0.26667105 -573.4405476839977 +-0.1394262 -0.1394262 -494.20357168596047 +-0.07883445 -0.07883445 -443.10630776014386 +-0.04737246 -0.04737246 -410.31213557670014 +-0.024072220000000002 -0.024072220000000002 -381.3290672331577 +-0.01320521 -0.01320521 -365.67808278512206 +-0.0076752 -0.0076752 -357.0699689611692 +-3.1817270800000017 -3.1817270800000017 -7534.283771541745 +-1.8192877799999998 -1.8192877799999998 -5475.472158214798 +-1.07935086 -1.07935086 -3784.7175051018794 +-0.6579188199999999 -0.6579188199999999 -2511.396012040719 +-0.25825805999999984 -0.25825805999999984 -969.3980681047623 +-0.10972272000000002 -0.10972272000000002 -263.9880248008172 +-0.050865570000000006 -0.050865570000000006 22.92472520715426 +-0.02572701 -0.02572701 111.82467489884725 +-0.01068852 -0.01068852 94.15331505135026 +-0.005117539999999999 -0.005117539999999999 21.089056425216185 +-0.00271731 -0.00271731 -54.86152778478409 +-3.038443840000003 -3.038443840000003 -2141.894069225806 +-1.5741967 -1.5741967 -1482.2977775103427 +-0.8458187600000002 -0.8458187600000002 -1073.930673800338 +-0.47396945000000024 -0.47396945000000024 -823.3598947706015 +-0.27806317 -0.27806317 -670.8984013196662 +-0.11174390000000001 -0.11174390000000001 -526.2463313789875 +-0.055955019999999994 -0.055955019999999994 -481.6352359606423 +-0.03377261 -0.03377261 -474.7472586201883 +-0.02293186 -0.02293186 -480.95766493069544 +-0.01428837 -0.01428837 -495.7191724298175 +-0.00944132 -0.00944132 -509.16988142543437 +-0.00643446 -0.00643446 -519.5728687920581 +-2.49255887 -2.49255887 7599.39104115304 +-1.411926750000001 -1.411926750000001 5072.439219871704 +-0.8471079999999995 -0.8471079999999995 3500.2485774659212 +-0.5269438599999998 -0.5269438599999998 2481.854090805007 +-0.21722969999999997 -0.21722969999999997 1347.3337293152 +-0.09561720999999998 -0.09561720999999998 815.1954304742696 +-0.04536696999999999 -0.04536696999999999 547.5996325257738 +-0.023383539999999998 -0.023383539999999998 399.57708383977456 +-0.01002361 -0.01002361 275.2149834572341 +-0.0049682699999999995 -0.0049682699999999995 203.13365607410475 +-0.00274864 -0.00274864 156.43112475321902 +-2.852020060000001 -2.852020060000001 -15640.986062534354 +-1.9437572900000006 -1.9437572900000006 -11005.629006892055 +-1.3754291099999998 -1.3754291099999998 -7574.667835737806 +-0.7036792300000001 -0.7036792300000001 -3455.471822898094 +-0.35606473 -0.35606473 -1618.2668421273136 +-0.17958237999999999 -0.17958237999999999 -885.2049246233508 +-0.09224675 -0.09224675 -624.7717303799343 +-0.036350749999999994 -0.036350749999999994 -545.4295934222284 +-0.015796130000000002 -0.015796130000000002 -569.3676672475598 +-0.00753416 -0.00753416 -608.7150726121406 +-3.5894518899999994 -3.5894518899999994 10167.65715238798 +-2.7768894500000005 -2.7768894500000005 4922.8773017280655 +-2.1930232000000007 -2.1930232000000007 2524.7843898564806 +-1.3492270700000002 -1.3492270700000002 1331.5819504375747 +-0.80652203 -0.80652203 1333.6595661951928 +-0.47377108 -0.47377108 1248.6024444460434 +-0.27818114000000005 -0.27818114000000005 1010.3338295092617 +-0.12898004 -0.12898004 608.2098374454309 +-0.06325517 -0.06325517 296.77555628376604 +-0.033013390000000004 -0.033013390000000004 85.57398301863677 +-2.854500509999994 -2.854500509999994 4477.335576912961 +-1.8367119500000015 -1.8367119500000015 3014.700168422782 +-1.213682499999999 -1.213682499999999 2166.314750910531 +-0.5464699500000001 -0.5464699500000001 1160.867627329587 +-0.25482565999999995 -0.25482565999999995 519.1138469626869 +-0.12525631999999998 -0.12525631999999998 97.13155769319995 +-0.06594736 -0.06594736 -163.0990287359024 +-0.02842587 -0.02842587 -362.7301380047879 +-0.01382994 -0.01382994 -442.4683585638098 +-0.0073604000000000004 -0.0073604000000000004 -469.9980543248774 +-0.9463429600000026 -0.9463429600000026 -23742.32696261474 +-0.6490761299999992 -0.6490761299999992 -7330.145153281418 +-0.32705316999999967 -0.32705316999999967 -1766.3146828030551 +-0.13611554000000003 -0.13611554000000003 -136.88323411357578 +-0.05497457 -0.05497457 418.95719076059635 +-0.016198789999999998 -0.016198789999999998 646.2540538259025 +-0.00614632 -0.00614632 617.1683983710323 +-0.00289422 -0.00289422 530.1926550494977 +-2.653861580000001 -2.653861580000001 -1463.0753467346367 +-1.5013679500000006 -1.5013679500000006 -2150.677115686171 +-0.8748372 -0.8748372 -2175.042151575778 +-0.52819241 -0.52819241 -2000.326304372449 +-0.33030842000000016 -0.33030842000000016 -1790.1271298588808 +-0.14353578 -0.14353578 -1430.560128566904 +-0.07166741 -0.07166741 -1180.5062455695693 +-0.040371899999999995 -0.040371899999999995 -1011.9569969962329 +-0.02498368 -0.02498368 -897.558757572107 +-0.013661880000000001 -0.013661880000000001 -788.9095884145743 +-0.008161000000000002 -0.008161000000000002 -724.6633473369253 +-0.0051493699999999995 -0.0051493699999999995 -685.2332607109217 +-2.8676897299999986 -2.8676897299999986 -958.3581431978757 +-1.6161133400000018 -1.6161133400000018 -1406.0748917355063 +-0.9460670700000007 -0.9460670700000007 -1452.36110440122 +-0.5767480100000002 -0.5767480100000002 -1352.7388457794364 +-0.24105570999999992 -0.24105570999999992 -1048.8669398554482 +-0.11550158999999999 -0.11550158999999999 -779.7603876211384 +-0.061713080000000003 -0.061713080000000003 -593.244502661979 +-0.03580279 -0.03580279 -477.03621954414024 +-0.017569219999999997 -0.017569219999999997 -384.79925217772967 +-0.0094092 -0.0094092 -342.54741362903275 +-0.005353930000000001 -0.005353930000000001 -322.05062919528973 +-4.324307899999997 -4.324307899999997 2062.043493165714 +-2.5736894799999988 -2.5736894799999988 1057.2926557801352 +-1.57420179 -1.57420179 349.60644222126774 +-0.9929250700000001 -0.9929250700000001 -117.02203276168444 +-0.6465564400000001 -0.6465564400000001 -411.08100000556067 +-0.30229746999999996 -0.30229746999999996 -687.9392105784951 +-0.15946131000000002 -0.15946131000000002 -757.8268092840683 +-0.09243609 -0.09243609 -748.376902146521 +-0.05741405 -0.05741405 -714.0152119909079 +-0.03075913 -0.03075913 -658.9718258711843 +-0.01779867 -0.01779867 -615.873630370374 +-0.01089473 -0.01089473 -585.8860817653751 +-2.1947300500000004 -2.1947300500000004 2367.299973959655 +-1.2115739899999998 -1.2115739899999998 2107.045752185212 +-0.6995314100000005 -0.6995314100000005 1745.0060597482452 +-0.25823500999999993 -0.25823500999999993 954.7878758146572 +-0.10711005999999998 -0.10711005999999998 357.8600687779208 +-0.04973227 -0.04973227 -7.820958538723768 +-0.02550235 -0.02550235 -212.884643048623 +-0.010768709999999999 -0.010768709999999999 -354.2308657135086 +-0.005101329999999999 -0.005101329999999999 -401.216487748662 +-0.00262125 -0.00262125 -410.1337803945315 +-4.0867737800000015 -4.0867737800000015 5877.362689246314 +-3.1059770899999997 -3.1059770899999997 6557.511704464749 +-1.5443552499999997 -1.5443552499999997 5912.255633588786 +-0.6921047999999999 -0.6921047999999999 3739.4627671747103 +-0.30404778 -0.30404778 2077.371028047912 +-0.1372986 -0.1372986 1063.639220093114 +-0.0460676 -0.0460676 242.22475846425132 +-0.01785914 -0.01785914 -158.31204703068457 +-0.00791951 -0.00791951 -361.53979374822313 +-4.07672097 -4.07672097 -8534.364888107193 +-2.261450759999999 -2.261450759999999 -5559.931849970873 +-1.24933022 -1.24933022 -3958.231205405601 +-0.7012984200000003 -0.7012984200000003 -3066.414385573126 +-0.24341083000000002 -0.24341083000000002 -2136.0628668128975 +-0.0985742 -0.0985742 -1632.2220498334814 +-0.04574944 -0.04574944 -1303.50225984721 +-0.02354962 -0.02354962 -1072.9698945680884 +-0.009972519999999999 -0.009972519999999999 -842.3580991348055 +-0.00475618 -0.00475618 -699.9499470517247 +-0.0025749 -0.0025749 -611.5448110201569 +-3.1255340099999955 -3.1255340099999955 19305.740395545254 +-2.350370869999999 -2.350370869999999 13623.313340903282 +-1.2281260300000003 -1.2281260300000003 7207.976470802454 +-0.60265856 -0.60265856 4200.224823388474 +-0.29845406 -0.29845406 2611.4119603410786 +-0.15436819 -0.15436819 1666.0534061219412 +-0.06351561 -0.06351561 830.336501224173 +-0.029273379999999998 -0.029273379999999998 356.97208610600575 +-0.014802889999999999 -0.014802889999999999 75.50684119573721 +-3.1027740500000007 -3.1027740500000007 -12951.535870179017 +-2.039402850000002 -2.039402850000002 -7324.460433175754 +-0.8746445299999994 -0.8746445299999994 -2474.666974253678 +-0.37547069999999994 -0.37547069999999994 -785.1680711614641 +-0.17327924 -0.17327924 -130.4303518270624 +-0.08968931999999999 -0.08968931999999999 125.80312694483754 +-0.040350500000000004 -0.040350500000000004 247.1573252436526 +-0.0208627 -0.0208627 272.8547315922421 +-0.011702430000000002 -0.011702430000000002 275.21353689861394 +-2.3606396799999985 -2.3606396799999985 -2587.6743466488233 +-1.5578893700000016 -1.5578893700000016 -1848.0501964230475 +-1.07447992 -1.07447992 -1335.4176615442589 +-0.5012391699999998 -0.5012391699999998 -786.4850261466638 +-0.22639089 -0.22639089 -568.4099717965341 +-0.10419816 -0.10419816 -474.1025371233666 +-0.05103715 -0.05103715 -422.50800218379544 +-0.0203194 -0.0203194 -372.1063078416192 +-0.00949267 -0.00949267 -336.03517623259603 +-0.005006989999999999 -0.005006989999999999 -309.172841692201 +-3.3517568900000043 -3.3517568900000043 -561.4306871407881 +-2.131921330000001 -2.131921330000001 -2454.7081517085558 +-1.4533293700000005 -1.4533293700000005 -3014.0411812203156 +-1.0334824999999999 -1.0334824999999999 -2937.501186368726 +-0.5553910200000001 -0.5553910200000001 -2128.9733821487366 +-0.31132936 -0.31132936 -1247.9649926828608 +-0.18030419999999997 -0.18030419999999997 -573.3683738914976 +-0.10806895 -0.10806895 -116.37201929867557 +-0.05358959 -0.05358959 278.934225487863 +-0.02858799 -0.02858799 472.9208008732056 +-0.01620738 -0.01620738 567.0351215296473 +-4.998961800000004 -4.998961800000004 -4863.86992180577 +-3.387173339999997 -3.387173339999997 -4076.968690191316 +-2.3606405499999994 -2.3606405499999994 -3293.4524531913125 +-1.6632344100000003 -1.6632344100000003 -2670.805686289817 +-0.8375017100000002 -0.8375017100000002 -1879.3369281370183 +-0.43089355 -0.43089355 -1455.8861692320384 +-0.22872682 -0.22872682 -1202.299853406938 +-0.1262297 -0.1262297 -1027.5665111343444 +-0.0556489 -0.0556489 -839.2270744275529 +-0.02647912 -0.02647912 -703.7622816515013 +-0.01342896 -0.01342896 -604.5114771430723 +-2.349125479999998 -2.349125479999998 -2485.862847340728 +-1.4214822999999974 -1.4214822999999974 -331.75468822225724 +-0.9262622999999994 -0.9262622999999994 418.8775709891337 +-0.4355033399999999 -0.4355033399999999 496.09168568955954 +-0.21466041000000002 -0.21466041000000002 234.5352025473537 +-0.10949377000000002 -0.10949377000000002 50.58683645548249 +-0.05823728 -0.05823728 -49.621065608032445 +-0.02457664 -0.02457664 -121.84654717795213 +-0.01134014 -0.01134014 -158.70449915355348 +-0.005644229999999999 -0.005644229999999999 -183.1180005501097 +-3.0884293599999992 -3.0884293599999992 16410.997893696273 +-1.7784271800000013 -1.7784271800000013 11188.346347529154 +-1.0857345400000007 -1.0857345400000007 8030.520227748827 +-0.6841868500000006 -0.6841868500000006 5993.677061001848 +-0.28509262999999996 -0.28509262999999996 3616.119858542121 +-0.12663399 -0.12663399 2363.3033528312653 +-0.06155557999999999 -0.06155557999999999 1672.2671297405773 +-0.033018610000000004 -0.033018610000000004 1288.6209876742378 +-0.015107549999999999 -0.015107549999999999 1009.6998736359935 +-0.00786286 -0.00786286 897.7155522931722 +-0.004458869999999999 -0.004458869999999999 855.1783721531332 +-4.007546570000002 -4.007546570000002 -20668.292659178744 +-3.0299107299999974 -3.0299107299999974 -12983.703693249188 +-1.6776611200000002 -1.6776611200000002 -5919.845343611571 +-0.90205598 -0.90205598 -2865.776830283572 +-0.48921427000000006 -0.48921427000000006 -1365.441942257546 +-0.27303106 -0.27303106 -626.7286079670613 +-0.12176635999999999 -0.12176635999999999 -179.9629917416982 +-0.05896692 -0.05896692 -49.53874629792663 +-0.03079078 -0.03079078 -21.096201967177056 +-3.0539781100000027 -3.0539781100000027 -538.2450140049639 +-1.813277890000002 -1.813277890000002 -674.698901445856 +-1.133714059999999 -1.133714059999999 -721.2366139078305 +-0.7324033200000004 -0.7324033200000004 -718.8362402096536 +-0.32584554 -0.32584554 -669.1816833530944 +-0.15751775 -0.15751775 -620.4453485051146 +-0.08306648 -0.08306648 -589.0927754182444 +-0.04744402 -0.04744402 -573.4753700180189 +-0.023028299999999998 -0.023028299999999998 -569.0694525653702 +-0.0123832 -0.0123832 -575.9726420982873 +-0.00716432 -0.00716432 -586.5941055993176 +-2.2163468500000008 -2.2163468500000008 12655.08037926391 +-2.1446331900000004 -2.1446331900000004 10576.274787849447 +-1.4890868499999996 -1.4890868499999996 6951.598489615385 +-0.8547689599999999 -0.8547689599999999 4329.008979288892 +-0.46187791999999994 -0.46187791999999994 2594.8272832279786 +-0.24973726000000002 -0.24973726000000002 1499.8692430025342 +-0.1056136 -0.1056136 578.0553928153461 +-0.049117629999999995 -0.049117629999999995 111.80896894090402 +-0.024963179999999998 -0.024963179999999998 -137.15332627439082 +-2.412281059999998 -2.412281059999998 -8696.871657011265 +-1.6072761 -1.6072761 -4626.920449637295 +-0.7841218999999997 -0.7841218999999997 -1178.3505194760585 +-0.34579375999999984 -0.34579375999999984 -433.8691005674942 +-0.13802461 -0.13802461 -352.04222886074245 +-0.055793999999999996 -0.055793999999999996 -378.2231565209426 +-0.017342979999999997 -0.017342979999999997 -420.7671742373271 +-0.00684442 -0.00684442 -443.48746511116263 +-0.00325883 -0.00325883 -453.9258825356302 +-1.517754889999999 -1.517754889999999 12515.549956638179 +-0.9605527699999996 -0.9605527699999996 6464.505287772138 +-0.56361248 -0.56361248 3262.7734109521934 +-0.32184727999999996 -0.32184727999999996 1573.4731748202953 +-0.18600279 -0.18600279 658.0478119106688 +-0.08657024 -0.08657024 -23.455141949698262 +-0.043633740000000004 -0.043633740000000004 -331.1051236383345 +-0.023648319999999997 -0.023648319999999997 -479.80205487136146 +-5.585173830000002 -5.585173830000002 17633.618682204728 +-3.3264204900000003 -3.3264204900000003 9420.290331452074 +-2.1249876000000008 -2.1249876000000008 5394.758346677511 +-0.9544539199999997 -0.9544539199999997 2219.050701474884 +-0.45438565 -0.45438565 1017.7782863950644 +-0.22526406000000002 -0.22526406000000002 396.377523698455 +-0.11659892999999999 -0.11659892999999999 66.60152412132071 +-0.047488899999999994 -0.047488899999999994 -137.57461219434583 +-0.02138087 -0.02138087 -186.93890217021547 +-0.01049924 -0.01049924 -183.87953426611128 +-3.2183105199999957 -3.2183105199999957 6027.738907262479 +-1.7857847400000004 -1.7857847400000004 3809.5093581981737 +-1.0561265200000012 -1.0561265200000012 2822.1750697968455 +-0.4143951699999997 -0.4143951699999997 1817.517677783831 +-0.18368169 -0.18368169 1109.9819651427895 +-0.09198873 -0.09198873 569.272595612785 +-0.05147302999999999 -0.05147302999999999 188.1701947953984 +-0.024864229999999998 -0.024864229999999998 -156.46321134863973 +-0.01345453 -0.01345453 -333.4447163289532 +-0.007800189999999999 -0.007800189999999999 -422.49929683748076 +-2.2432414299999994 -2.2432414299999994 1485.9985184748969 +-1.2314724099999999 -1.2314724099999999 2937.614992361822 +-0.59591966 -0.59591966 1869.8167655496363 +-0.28572954 -0.28572954 1038.5230503545438 +-0.10313958000000001 -0.10313958000000001 339.25646426381434 +-0.04236797 -0.04236797 -44.98157568248315 +-0.01956622 -0.01956622 -271.8520558288503 +-3.2061168799999997 -3.2061168799999997 1348.8190198246825 +-1.8523682899999994 -1.8523682899999994 154.23377292454393 +-1.0594761300000002 -1.0594761300000002 -337.8071839148461 +-0.6062098300000001 -0.6062098300000001 -512.6210165744237 +-0.34876408999999997 -0.34876408999999997 -559.2914818204828 +-0.12079060000000003 -0.12079060000000003 -542.3636390242798 +-0.04671607 -0.04671607 -503.5523487130452 +-0.020877780000000002 -0.020877780000000002 -470.92745263244996 +-0.01068821 -0.01068821 -445.54612993753165 +-0.00464027 -0.00464027 -417.5415812667439 +-0.00236704 -0.00236704 -397.9640713754221 +-0.0012661 -0.0012661 -384.1503109119871 diff --git a/examples/peg_slater_isa/res_tot.xvg b/examples/peg_slater_isa/res_tot.xvg index a290e1039..94655f693 100644 --- a/examples/peg_slater_isa/res_tot.xvg +++ b/examples/peg_slater_isa/res_tot.xvg @@ -1,499 +1,499 @@ -9.034358785030001 9.034358785030001 12.221075 --1.54130224297 -1.54130224297 0.17375302 --6.23051849442 -6.23051849442 -5.332278 --7.67928477985 -7.67928477985 -7.2188015 --6.677093386355001 -6.677093386355001 -6.5781684 --4.630296014435 -4.630296014435 -4.645474 --3.0181196329500004 -3.0181196329500004 -3.0648823 --1.9553490802650002 -1.9553490802650002 -2.0029671 --1.0539313080900001 -1.0539313080900001 -1.0875331 --0.60033858593 -0.60033858593 -0.6205552 --0.36031944545500005 -0.36031944545500005 -0.37160948 -4.712831547495 4.712831547495 5.3621316 --9.880558826545 -9.880558826545 -9.967577 --8.98608492426 -8.98608492426 -9.184024 --6.02717992564 -6.02717992564 -6.23285 --3.79902346321 -3.79902346321 -3.974594 --1.9454092785800001 -1.9454092785800001 -2.0621188 --1.0745555557700002 -1.0745555557700002 -1.1480213 --0.6399451461 -0.6399451461 -0.6878774 --3.3231579944300003 -3.3231579944300003 1.352891 --14.629535632540001 -14.629535632540001 -11.538988 --15.685626493145001 -15.685626493145001 -15.262093 --10.643616870755 -10.643616870755 -11.011622 --6.551204442075 -6.551204442075 -6.9578447 --3.988767796855 -3.988767796855 -4.2857 --1.9748924095950002 -1.9748924095950002 -2.1344857 --1.046494815635 -1.046494815635 -1.1322877 --0.5914965845600001 -0.5914965845600001 -0.63814455 -30.899366489015 30.899366489015 26.224644 -4.969331056490001 4.969331056490001 4.0362225 --6.387252547840001 -6.387252547840001 -6.2216406 --10.776249385530003 -10.776249385530003 -10.5494585 --8.22403522958 -8.22403522958 -8.267323 --5.363592414590001 -5.363592414590001 -5.545572 --3.360140446115 -3.360140446115 -3.5781255 --1.6803453623300002 -1.6803453623300002 -1.87423 --0.8790565462050001 -0.8790565462050001 -1.0287961 --0.48367472972500003 -0.48367472972500003 -0.59423465 -14.034793273605002 14.034793273605002 12.876911 --11.489672063435 -11.489672063435 -9.214397 --10.95866271931 -10.95866271931 -9.893579 --7.35801184916 -7.35801184916 -7.038135 --4.733594264045 -4.733594264045 -4.663537 --2.584993707235 -2.584993707235 -2.5904946 --1.5476780596800002 -1.5476780596800002 -1.5609208 --0.9996697320200001 -0.9996697320200001 -1.012531 -19.849560088560004 19.849560088560004 21.389458 -7.544519072580001 7.544519072580001 8.138672 -1.07410013654 1.07410013654 1.3460221 --1.97195387123 -1.97195387123 -1.6873043 --3.1308412221400004 -3.1308412221400004 -2.7206826 --3.070464515255 -3.070464515255 -2.4673269 --2.2043804595300003 -2.2043804595300003 -1.593907 --1.4443813591150003 -1.4443813591150003 -0.9153087 --0.920494865215 -0.920494865215 -0.48645958 --0.46696247704500005 -0.46696247704500005 -0.1465957 --0.23914862969500003 -0.23914862969500003 0.0052249045 --0.121737950015 -0.121737950015 0.069574274 -25.044411486875003 25.044411486875003 27.37014 -7.161451717515 7.161451717515 8.356461 --0.8568516425050001 -0.8568516425050001 -0.5753472 --4.9658660528650005 -4.9658660528650005 -5.3463407 --4.205904838415 -4.205904838415 -4.4618855 --2.78483849691 -2.78483849691 -2.8688188 --1.690006335915 -1.690006335915 -1.7038563 --0.77129035197 -0.77129035197 -0.76642996 --0.35924375185 -0.35924375185 -0.3528361 --0.17130557842000002 -0.17130557842000002 -0.1652587 -24.24310912317 24.24310912317 20.569324 --0.724963483235 -0.724963483235 0.2979462 --3.704806424275 -3.704806424275 -3.074075 --2.6457449679500002 -2.6457449679500002 -2.4434779 --1.5182097102300003 -1.5182097102300003 -1.4963868 --0.607873954715 -0.607873954715 -0.65194225 --0.24432220370000002 -0.24432220370000002 -0.28911725 --0.096474601365 -0.096474601365 -0.13335976 -8.848875795415001 8.848875795415001 12.0027275 --5.912567871430001 -5.912567871430001 -3.3345187 --5.937914369665 -5.937914369665 -4.688513 --4.05622442704 -4.05622442704 -3.4880698 --2.59987968837 -2.59987968837 -2.3173692 --1.37462416081 -1.37462416081 -1.2438046 --0.785487927005 -0.785487927005 -0.6664993 --0.48263781475500006 -0.48263781475500006 -0.5089743 -16.00831532973 16.00831532973 17.848637 --7.45799414478 -7.45799414478 -4.618513 --7.563510915635001 -7.563510915635001 -6.5564537 --4.905312676085001 -4.905312676085001 -4.6379795 --2.95209923003 -2.95209923003 -2.8768032 --1.412218774075 -1.412218774075 -1.3974911 --0.7398760081750001 -0.7398760081750001 -0.7407793 --0.42602744013 -0.42602744013 -0.43111748 -19.765076066930003 19.765076066930003 19.333797 -3.0034654572100004 3.0034654572100004 2.649898 --7.41941552037 -7.41941552037 -8.130003 --7.33768643589 -7.33768643589 -7.874594 --5.28580179015 -5.28580179015 -5.604017 --3.49089929907 -3.49089929907 -3.689185 --1.84591590357 -1.84591590357 -1.9627656 --1.022222698255 -1.022222698255 -1.0970663 --0.599359615745 -0.599359615745 -0.64797485 -13.78812957024 13.78812957024 17.238558 -0.059527646440000005 0.059527646440000005 1.0145907 --5.3385644420150005 -5.3385644420150005 -5.3598433 --6.837977620135001 -6.837977620135001 -7.1226354 --6.659295305640001 -6.659295305640001 -6.945444 --4.9473581682250005 -4.9473581682250005 -5.100819 --3.34739976103 -3.34739976103 -3.4225862 --2.2493563509850003 -2.2493563509850003 -2.2965307 --1.53995662171 -1.53995662171 -1.5793865 --0.917135905535 -0.917135905535 -0.9573943 --0.581520708505 -0.581520708505 -0.6185496 --0.39007027245000003 -0.39007027245000003 -0.4227356 -42.098175186705 42.098175186705 29.660707 -9.53013888135 9.53013888135 3.6204057 --6.063572847555 -6.063572847555 -8.860981 --12.490037894270001 -12.490037894270001 -13.83256 --13.769775828704999 -13.769775828704999 -14.177799 --10.769118868845 -10.769118868845 -11.022134 --7.764526389505001 -7.764526389505001 -8.004044 --5.523602698185001 -5.523602698185001 -5.757996 --3.39630552714 -3.39630552714 -3.599665 --2.1835695388 -2.1835695388 -2.3494048 --1.4662171700250002 -1.4662171700250002 -1.5981909 -11.09654909588 11.09654909588 15.399071 -1.2692303421200002 1.2692303421200002 3.3994281 --2.92346778496 -2.92346778496 -1.9950974 --4.366286709025 -4.366286709025 -4.030924 --4.13637411574 -4.13637411574 -4.139494 --2.964122260945 -2.964122260945 -2.969521 --1.9689595935 -1.9689595935 -1.9438361 --1.287526060105 -1.287526060105 -1.2494725 --0.6971439740400001 -0.6971439740400001 -0.6579257 --0.397767161995 -0.397767161995 -0.3624242 --0.239992780455 -0.239992780455 -0.17462246 -17.79118100602 17.79118100602 18.5284 -3.4712517373900003 3.4712517373900003 6.17492 --6.000235863165 -6.000235863165 -3.3261073 --5.799083023135 -5.799083023135 -4.112479 --3.94353114074 -3.94353114074 -2.9800925 --2.467677808105 -2.467677808105 -1.9237446 --1.23046940299 -1.23046940299 -0.9906012 --0.658247165285 -0.658247165285 -0.54880166 --0.38022908454500004 -0.38022908454500004 -0.33129987 -33.926610732155005 33.926610732155005 29.266663 -9.533580097945 9.533580097945 8.182538 --1.934801812245 -1.934801812245 -2.2806983 --8.06354681618 -8.06354681618 -8.286234 --7.06233502299 -7.06233502299 -7.471151 --5.080328926165 -5.080328926165 -5.57094 --3.4895606091299998 -3.4895606091299998 -3.9756236 --2.011383236405 -2.011383236405 -2.4258904 --1.22936301729 -1.22936301729 -1.5565039 --0.799904757545 -0.799904757545 -1.0526738 -28.506915478345 28.506915478345 22.605776 -9.010740233365 9.010740233365 5.625826 --0.08764575375000001 -0.08764575375000001 -2.034769 --3.7960015652200005 -3.7960015652200005 -4.918151 --4.77652457594 -4.77652457594 -5.16035 --3.5649387403850006 -3.5649387403850006 -3.7102408 --2.397750083575 -2.397750083575 -2.4606018 --1.5938832364900002 -1.5938832364900002 -1.6198832 --0.895148445745 -0.895148445745 -0.89465666 --0.5333664130050001 -0.5333664130050001 -0.5196483 --0.33516256083 -0.33516256083 -0.31710216 -19.971014274535 19.971014274535 10.972975 -2.149044030015 2.149044030015 -2.051651 --7.4606578720600005 -7.4606578720600005 -8.340635 --6.539547274585001 -6.539547274585001 -6.6535034 --4.373848254045 -4.373848254045 -4.3382516 --2.7565393876300006 -2.7565393876300006 -2.7190924 --1.396530203845 -1.396530203845 -1.3920977 --0.7544058664900001 -0.7544058664900001 -0.7676672 --0.43721871264500006 -0.43721871264500006 -0.45455793 -17.232420126895 17.232420126895 16.938976 -4.59466637788 4.59466637788 4.0838766 --1.142899604955 -1.142899604955 -1.7495811 --3.8497098696750003 -3.8497098696750003 -4.3943486 --3.13096630096 -3.13096630096 -3.5600858 --2.1240544159950003 -2.1240544159950003 -2.4704394 --1.394733626705 -1.394733626705 -1.6811409 --0.762737969505 -0.762737969505 -0.981618 --0.442455797495 -0.442455797495 -0.60930353 --0.27059957296000003 -0.27059957296000003 -0.40019032 -24.553484627305004 24.553484627305004 17.723103 -6.330474114960001 6.330474114960001 1.7525201 --2.160481075585 -2.160481075585 -5.443632 --6.48865502892 -6.48865502892 -8.391001 --5.53900191206 -5.53900191206 -6.782006 --3.9489329757150005 -3.9489329757150005 -4.8395424 --2.7033871640750005 -2.7033871640750005 -3.3761673 --1.55225404363 -1.55225404363 -2.013278 --0.9366080575600001 -0.9366080575600001 -1.2601837 --0.595431920255 -0.595431920255 -0.82489645 -17.214788214075 17.214788214075 14.790785 -2.35921900697 2.35921900697 0.55669 --4.62843062294 -4.62843062294 -6.0426965 --7.395989050285 -7.395989050285 -8.480416 --7.9972935051550005 -7.9972935051550005 -8.810527 --6.7376733331950005 -6.7376733331950005 -7.198409 --4.899129728605001 -4.899129728605001 -5.199106 --3.4243789484400002 -3.4243789484400002 -3.6561038 --2.39162408319 -2.39162408319 -2.58698 --1.43547169861 -1.43547169861 -1.5924737 --0.89986308235 -0.89986308235 -1.0247651 --0.58742921247 -0.58742921247 -0.6851529 -22.40335505806 22.40335505806 22.931198 -3.8793072624500007 3.8793072624500007 5.0931535 --4.116323513555 -4.116323513555 -3.0479665 --6.8284523849 -6.8284523849 -6.0493383 --6.38072523978 -6.38072523978 -6.020205 --4.38549090252 -4.38549090252 -4.2144933 --2.80908042104 -2.80908042104 -2.7238865 --1.79071550121 -1.79071550121 -1.7448435 --0.9437714192500001 -0.9437714192500001 -0.9228311 --0.5249709829300001 -0.5249709829300001 -0.5141416 --0.306559812475 -0.306559812475 -0.30053464 -16.984465596455 16.984465596455 16.993763 -5.89535824403 5.89535824403 5.1152 -0.25305960515 0.25305960515 -0.31234276 --2.311916134865 -2.311916134865 -2.4106474 --3.2185920484 -3.2185920484 -2.9124212 --2.98813069936 -2.98813069936 -2.2930098 --2.09968560145 -2.09968560145 -1.3950862 --1.33880026351 -1.33880026351 -0.74946624 --0.8152591803900001 -0.8152591803900001 -0.34817037 --0.36047781561500003 -0.36047781561500003 -0.03183135 --0.13493169138000002 -0.13493169138000002 0.10641718 --0.022623460910000004 -0.022623460910000004 0.16047639 -15.606281809 15.606281809 14.131881 -2.26318499076 2.26318499076 1.2698419 --3.4658238312000003 -3.4658238312000003 -4.036084 --5.41727275747 -5.41727275747 -5.6793814 --5.06493769381 -5.06493769381 -5.027174 --3.5115134123200002 -3.5115134123200002 -3.412064 --2.2455857916700004 -2.2455857916700004 -2.162372 --1.40977314708 -1.40977314708 -1.3553236 --0.7092703971450001 -0.7092703971450001 -0.68515104 --0.36688555840500003 -0.36688555840500003 -0.35645238 --0.192912682025 -0.192912682025 -0.18786752 -2.4537235119000003 2.4537235119000003 3.695128 --9.69143867927 -9.69143867927 -7.9393806 --12.97295529852 -12.97295529852 -11.359352 --11.0776235467 -11.0776235467 -10.063346 --7.531812729035001 -7.531812729035001 -6.9659224 --4.88159698092 -4.88159698092 -4.575549 --3.17241233894 -3.17241233894 -3.0028477 --1.737156325155 -1.737156325155 -1.6554196 --1.01415508811 -1.01415508811 -0.96684957 --0.62882174276 -0.62882174276 -0.597794 -4.6732260637800005 4.6732260637800005 4.17054 --9.56189761198 -9.56189761198 -9.304367 --13.667902569220002 -13.667902569220002 -13.575923 --12.28381694657 -12.28381694657 -12.571988 --8.81520147373 -8.81520147373 -9.168316 --6.08005922847 -6.08005922847 -6.392521 --4.220381819160001 -4.220381819160001 -4.4724226 --2.53850295479 -2.53850295479 -2.7150986 --1.6122575882 -1.6122575882 -1.7357373 --1.07476811625 -1.07476811625 -1.163973 -9.161348207635001 9.161348207635001 15.272049 --6.302159488975 -6.302159488975 -2.4509602 --12.177036837625 -12.177036837625 -10.145195 --12.427196157945001 -12.427196157945001 -12.207053 --8.914748067625002 -8.914748067625002 -9.171195 --5.835279583905 -5.835279583905 -6.1496687 --3.7555772930750004 -3.7555772930750004 -4.0281887 --1.9909035487550002 -1.9909035487550002 -2.185444 --1.11510934383 -1.11510934383 -1.2500638 --0.660576141315 -0.660576141315 -0.75291014 -25.53060034289 25.53060034289 20.62461 --4.304164307190001 -4.304164307190001 -3.5598323 --7.369876037325001 -7.369876037325001 -6.342439 --5.21036587164 -5.21036587164 -4.5654116 --3.159906111005 -3.159906111005 -2.7442417 --1.42832167446 -1.42832167446 -1.1679585 --0.66680222576 -0.66680222576 -0.4910192 --0.327272854565 -0.327272854565 -0.2051593 -17.731309104020003 17.731309104020003 18.519814 -6.455463379155001 6.455463379155001 6.1481323 -0.6505286678750001 0.6505286678750001 -0.02674985 --2.03855366949 -2.03855366949 -2.6945734 --3.03713539431 -3.03713539431 -3.529674 --2.92796663172 -2.92796663172 -3.1056328 --2.11589811646 -2.11589811646 -2.147247 --1.4019843387800002 -1.4019843387800002 -1.3972024 --0.9061863628050001 -0.9061863628050001 -0.9039175 --0.472204707875 -0.472204707875 -0.48344362 --0.25223829624000005 -0.25223829624000005 -0.26939774 --0.13743045849500002 -0.13743045849500002 -0.15670943 -18.149831421125 18.149831421125 16.287306 -3.03184994775 3.03184994775 1.7400694 --4.086927680415 -4.086927680415 -5.0366087 --6.825736173875001 -6.825736173875001 -7.5411777 --6.816385193075001 -6.816385193075001 -7.2629895 --4.970664049095 -4.970664049095 -5.2903166 --3.3428913574500005 -3.3428913574500005 -3.5926867 --2.2201153698350002 -2.2201153698350002 -2.4214118 --1.235795781095 -1.235795781095 -1.3833001 --0.7255085895450001 -0.7255085895450001 -0.83371055 --0.44874851713 -0.44874851713 -0.528138 -17.249431791595 17.249431791595 21.450937 -5.089869258025001 5.089869258025001 6.661804 --0.899115471225 -0.899115471225 -0.6424694 --3.48810025352 -3.48810025352 -3.7994566 --4.30822291011 -4.30822291011 -4.8181496 --3.881725164165 -3.881725164165 -4.4125276 --2.879433240275 -2.879433240275 -3.3372097 --2.0555417572000003 -2.0555417572000003 -2.4482877 --1.48382815761 -1.48382815761 -1.8217472 --0.95729452959 -0.95729452959 -1.2274739 --0.65650800783 -0.65650800783 -0.87399524 --0.47343514845000007 -0.47343514845000007 -0.64933825 -12.679868554355 12.679868554355 10.431677 -1.9184014952200001 1.9184014952200001 0.53589535 --2.6264406116300005 -2.6264406116300005 -3.4552193 --4.166200609645 -4.166200609645 -4.4517303 --3.05153783711 -3.05153783711 -3.1805785 --1.9305773564900002 -1.9305773564900002 -2.030894 --1.1859304997550002 -1.1859304997550002 -1.2823774 --0.58466613627 -0.58466613627 -0.6721829 --0.304673233195 -0.304673233195 -0.37695736 --0.16756949192000004 -0.16756949192000004 -0.22596554 -17.013727161525 17.013727161525 16.53183 -1.410646782205 1.410646782205 3.4386187 --9.569976590540001 -9.569976590540001 -7.2189875 --8.614720997995 -8.614720997995 -7.4013395 --5.667363394710001 -5.667363394710001 -5.161884 --3.45916750607 -3.45916750607 -3.2471926 --1.67588558301 -1.67588558301 -1.6035448 --0.879099341855 -0.879099341855 -0.8489672 --0.50259836229 -0.50259836229 -0.4560524 -7.71380432875 7.71380432875 10.474033 --4.277490014840001 -4.277490014840001 -2.1574636 --7.563415715005001 -7.563415715005001 -6.2540855 --7.387675404535001 -7.387675404535001 -6.552303 --4.683398799825 -4.683398799825 -4.2044168 --2.515353264915 -2.515353264915 -2.1736422 --1.309808048485 -1.309808048485 -1.0582778 --0.6915594567750001 -0.6915594567750001 -0.50496614 --0.278854066195 -0.278854066195 -0.15671998 --0.118424463995 -0.118424463995 -0.034670774 --0.05138024735 -0.05138024735 0.006476429 -20.451325423700002 20.451325423700002 20.85561 --1.9355325414050002 -1.9355325414050002 0.97661877 --11.05067110888 -11.05067110888 -9.363645 --8.478947991395001 -8.478947991395001 -8.0599165 --5.47542816008 -5.47542816008 -5.5230365 --3.4760321165150003 -3.4760321165150003 -3.6417434 --1.8476677947000002 -1.8476677947000002 -2.014522 --1.063852153665 -1.063852153665 -1.1956401 --0.6576380755400001 -0.6576380755400001 -0.7450519 -33.488101953830004 33.488101953830004 27.261887 -10.106692616445 10.106692616445 6.6597037 --6.69116572504 -6.69116572504 -8.252367 --7.638323487935 -7.638323487935 -8.524845 --5.443511138055 -5.443511138055 -6.015211 --3.5128752591700003 -3.5128752591700003 -3.925552 --1.84124419389 -1.84124419389 -2.1155565 --1.049754058825 -1.049754058825 -1.2377949 --0.6531140239800001 -0.6531140239800001 -0.78560823 -17.88269543402 17.88269543402 14.466749 -2.391145953385 2.391145953385 0.6656661 --3.951483964025 -3.951483964025 -4.9319677 --6.108878790615 -6.108878790615 -6.4854145 --4.627558615625 -4.627558615625 -4.823806 --3.0745474828150003 -3.0745474828150003 -3.2364943 --1.998740876295 -1.998740876295 -2.1621094 --1.08774417741 -1.08774417741 -1.2468265 --0.636329333755 -0.636329333755 -0.77771986 --0.39968375074 -0.39968375074 -0.51821285 -26.00129368169 26.00129368169 20.654274 -6.019479255375 6.019479255375 3.2859073 --3.39753835692 -3.39753835692 -4.8642397 --7.167961172175 -7.167961172175 -8.029131 --7.7527553540800005 -7.7527553540800005 -8.1807995 --5.909702532005 -5.909702532005 -6.2176213 --4.174381195055 -4.174381195055 -4.421696 --2.937633433915 -2.937633433915 -3.1367724 --1.80801807131 -1.80801807131 -1.9501636 --1.183697984595 -1.183697984595 -1.2863069 --0.8179301277950001 -0.8179301277950001 -0.8944168 -32.128939073715 32.128939073715 21.759817 -4.9671409169 4.9671409169 0.19355011 --7.222153382535001 -7.222153382535001 -9.228178 --11.61409941812 -11.61409941812 -12.302699 --11.153679949625001 -11.153679949625001 -11.049761 --7.850032071950001 -7.850032071950001 -7.736953 --5.06802459918 -5.06802459918 -5.0564885 --3.200058565135 -3.200058565135 -3.2586465 --1.620329294125 -1.620329294125 -1.7120578 --0.8459475734350002 -0.8459475734350002 -0.9306138 --0.455971818985 -0.455971818985 -0.5232227 -10.47973948821 10.47973948821 11.159775 --5.293553080055 -5.293553080055 -4.301451 --11.146017690425 -11.146017690425 -10.234148 --11.337385712035001 -11.337385712035001 -10.621801 --7.974515402295 -7.974515402295 -7.3874736 --5.109599864270001 -5.109599864270001 -4.646035 --3.21965647861 -3.21965647861 -2.8621962 --1.6543845758600002 -1.6543845758600002 -1.4099762 --0.89807102107 -0.89807102107 -0.7217683 --0.5143695815 -0.5143695815 -0.3797795 -16.041898914135 16.041898914135 16.691214 --1.4033043089050001 -1.4033043089050001 -1.0333958 --8.235451034855 -8.235451034855 -8.330203 --10.075382688785 -10.075382688785 -10.4672575 --8.55516738536 -8.55516738536 -9.061178 --5.89907049099 -5.89907049099 -6.2807207 --3.8727715527900006 -3.8727715527900006 -4.1325636 --2.54862289203 -2.54862289203 -2.7315795 --1.425612867345 -1.425612867345 -1.545426 --0.8542676254050001 -0.8542676254050001 -0.9387265 --0.545360957245 -0.545360957245 -0.60981065 -22.146713562025003 22.146713562025003 18.747185 --3.7558634200650003 -3.7558634200650003 -4.3340917 --13.653893741380001 -13.653893741380001 -14.601892 --10.551683885545001 -10.551683885545001 -11.885701 --7.037638703575 -7.037638703575 -8.27868 --4.659279407780001 -4.659279407780001 -5.693934 --2.6678182028250004 -2.6678182028250004 -3.4205818 --1.66455150955 -1.66455150955 -2.2133002 --1.11373568223 -1.11373568223 -1.5223062 -39.34217478797 39.34217478797 27.960764 -11.684208695975 11.684208695975 6.2574778 --0.9934999645500001 -0.9934999645500001 -3.9510016 --5.997376877450001 -5.997376877450001 -7.921206 --7.0009249455600004 -7.0009249455600004 -8.201595 --5.080872509685 -5.080872509685 -5.990119 --3.3554493339900002 -3.3554493339900002 -4.0630636 --2.20456424453 -2.20456424453 -2.7594924 --1.235089154025 -1.235089154025 -1.6280031 --0.746761486945 -0.746761486945 -1.0336949 --0.483744673045 -0.483744673045 -0.69870883 -19.038702952745002 19.038702952745002 13.993597 --0.04698135337500001 -0.04698135337500001 -1.706521 --10.323329710295 -10.323329710295 -10.667524 --8.96993389846 -8.96993389846 -9.368776 --6.189946826705 -6.189946826705 -6.6215367 --4.075514054305001 -4.075514054305001 -4.4553494 --2.23050581234 -2.23050581234 -2.5043578 --1.3089981079900002 -1.3089981079900002 -1.499978 --0.823815868675 -0.823815868675 -0.9586471 -20.271486550200002 20.271486550200002 23.918175 -5.495670581295 5.495670581295 7.9181533 --4.365448701935001 -4.365448701935001 -4.011669 --4.899796290545 -4.899796290545 -5.0963397 --3.536941406075 -3.536941406075 -3.711131 --2.2660543997100002 -2.2660543997100002 -2.381183 --1.14017399464 -1.14017399464 -1.2288947 --0.618546139625 -0.618546139625 -0.69403374 --0.36670563289 -0.36670563289 -0.42654097 -10.99413275172 10.99413275172 16.075546 --4.58481686714 -4.58481686714 -0.68300796 --5.765427867600001 -5.765427867600001 -3.6957088 --4.2601093886250005 -4.2601093886250005 -3.236696 --2.82156834924 -2.82156834924 -2.288753 --1.4885109731550001 -1.4885109731550001 -1.2351663 --0.81796376045 -0.81796376045 -0.6585942 --0.4710420052 -0.4710420052 -0.35428596 -14.770022041760003 14.770022041760003 17.51206 --3.5428151221650004 -3.5428151221650004 -0.2475338 --10.058496207925 -10.058496207925 -7.565999 --10.50893536327 -10.50893536327 -9.637562 --7.314445378615001 -7.314445378615001 -7.1627645 --4.593718808675 -4.593718808675 -4.6766605 --2.817444817705 -2.817444817705 -2.9670691 --1.3876292862550001 -1.3876292862550001 -1.5467862 --0.72960093014 -0.72960093014 -0.86593914 --0.410725474775 -0.410725474775 -0.51998585 -16.835371643015 16.835371643015 14.414176 --1.91545909737 -1.91545909737 -1.7998714 --8.88690828957 -8.88690828957 -8.275747 --9.784137496575001 -9.784137496575001 -9.471135 --6.80847805349 -6.80847805349 -6.7347193 --4.28419832487 -4.28419832487 -4.2691774 --2.653446005785 -2.653446005785 -2.6385498 --1.33530876859 -1.33530876859 -1.3073974 --0.7143797514200001 -0.7143797514200001 -0.67912084 --0.40538302861000003 -0.40538302861000003 -0.3675854 --6.50619919753 -6.50619919753 -4.3291078 --10.006175033885 -10.006175033885 -8.721431 --6.956824710865 -6.956824710865 -6.517555 --4.284724028735001 -4.284724028735001 -4.181056 --2.0751249153650004 -2.0751249153650004 -2.0994534 --1.0867569106450001 -1.0867569106450001 -1.1287893 --0.6198706781200001 -0.6198706781200001 -0.65967464 -23.41828130803 23.41828130803 23.76476 -10.121420936305 10.121420936305 10.051835 -2.9974765079250005 2.9974765079250005 2.682176 --0.48447910416 -0.48447910416 -0.8155037 --1.938127690625 -1.938127690625 -2.1741781 --2.2632414127550002 -2.2632414127550002 -2.2952638 --1.66294685646 -1.66294685646 -1.6164945 --1.0967248576900002 -1.0967248576900002 -1.0484774 --0.710751756755 -0.710751756755 -0.67875797 --0.38262222779500005 -0.38262222779500005 -0.37146676 --0.21911210019 -0.21911210019 -0.21657003 --0.13296338028500002 -0.13296338028500002 -0.1329558 +9.034358785030001 9.034358785030001 12.22097892049183 +-1.54130224297 -1.54130224297 0.17395699197600623 +-6.23051849442 -6.23051849442 -5.33254854417668 +-7.67928477985 -7.67928477985 -7.218878631244996 +-6.677093386355001 -6.677093386355001 -6.578267382856441 +-4.630296014435 -4.630296014435 -4.6447450086982 +-3.0181196329500004 -3.0181196329500004 -3.064249272472707 +-1.9553490802650002 -1.9553490802650002 -2.002411702439135 +-1.0539313080900001 -1.0539313080900001 -1.0870360597809545 +-0.60033858593 -0.60033858593 -0.620088888371704 +-0.36031944545500005 -0.36031944545500005 -0.37140667486800394 +4.712831547495 4.712831547495 5.361876214835741 +-9.880558826545 -9.880558826545 -9.967597090310363 +-8.98608492426 -8.98608492426 -9.1848906999219 +-6.02717992564 -6.02717992564 -6.233002496506891 +-3.79902346321 -3.79902346321 -3.9746724355987766 +-1.9454092785800001 -1.9454092785800001 -2.062217390247424 +-1.0745555557700002 -1.0745555557700002 -1.1481037302499175 +-0.6399451461 -0.6399451461 -0.6879684151358593 +-3.3231579944300003 -3.3231579944300003 1.3528157376152556 +-14.629535632540001 -14.629535632540001 -11.538359396968453 +-15.685626493145001 -15.685626493145001 -15.261817164831285 +-10.643616870755 -10.643616870755 -11.010224315809607 +-6.551204442075 -6.551204442075 -6.9567839033133305 +-3.988767796855 -3.988767796855 -4.2848332426862665 +-1.9748924095950002 -1.9748924095950002 -2.133753587686747 +-1.046494815635 -1.046494815635 -1.131600161172808 +-0.5914965845600001 -0.5914965845600001 -0.6380278111576809 +30.899366489015 30.899366489015 26.224995686176467 +4.969331056490001 4.969331056490001 4.037015450537523 +-6.387252547840001 -6.387252547840001 -6.221382034726215 +-10.776249385530003 -10.776249385530003 -10.549011850013834 +-8.22403522958 -8.22403522958 -8.268055930239614 +-5.363592414590001 -5.363592414590001 -5.545428543746735 +-3.360140446115 -3.360140446115 -3.5779384518701822 +-1.6803453623300002 -1.6803453623300002 -1.8740400420614938 +-0.8790565462050001 -0.8790565462050001 -1.0270637261234654 +-0.48367472972500003 -0.48367472972500003 -0.5924706682989155 +14.034793273605002 14.034793273605002 12.876782381084281 +-11.489672063435 -11.489672063435 -9.214478179469321 +-10.95866271931 -10.95866271931 -9.893489562318601 +-7.35801184916 -7.35801184916 -7.039198989574199 +-4.733594264045 -4.733594264045 -4.663838831778507 +-2.584993707235 -2.584993707235 -2.5896982901433985 +-1.5476780596800002 -1.5476780596800002 -1.5602083584797926 +-0.9996697320200001 -0.9996697320200001 -1.0118845483258303 +19.849560088560004 19.849560088560004 21.38921236473083 +7.544519072580001 7.544519072580001 8.138563947533898 +1.07410013654 1.07410013654 1.345519908508025 +-1.97195387123 -1.97195387123 -1.6872362308778694 +-3.1308412221400004 -3.1308412221400004 -2.720775500243642 +-3.070464515255 -3.070464515255 -2.467602191299656 +-2.2043804595300003 -2.2043804595300003 -1.5917687357371937 +-1.4443813591150003 -1.4443813591150003 -0.9134858297198389 +-0.920494865215 -0.920494865215 -0.48475536965380306 +-0.46696247704500005 -0.46696247704500005 -0.1449376936665667 +-0.23914862969500003 -0.23914862969500003 0.004251783389636544 +-0.121737950015 -0.121737950015 0.06933970646918686 +25.044411486875003 25.044411486875003 27.370439296121212 +7.161451717515 7.161451717515 8.35630369092146 +-0.8568516425050001 -0.8568516425050001 -0.5749039295296354 +-4.9658660528650005 -4.9658660528650005 -5.346131824757621 +-4.205904838415 -4.205904838415 -4.461874814899564 +-2.78483849691 -2.78483849691 -2.868701353206013 +-1.690006335915 -1.690006335915 -1.7037191284421518 +-0.77129035197 -0.77129035197 -0.7663054133109852 +-0.35924375185 -0.35924375185 -0.3537485192378951 +-0.17130557842000002 -0.17130557842000002 -0.1651428803538018 +24.24310912317 24.24310912317 20.569516601391747 +-0.724963483235 -0.724963483235 0.29766885477910243 +-3.704806424275 -3.704806424275 -3.0735387667859078 +-2.6457449679500002 -2.6457449679500002 -2.444015527201361 +-1.5182097102300003 -1.5182097102300003 -1.4963152719166777 +-0.607873954715 -0.607873954715 -0.6496099496585709 +-0.24432220370000002 -0.24432220370000002 -0.28711923445978993 +-0.096474601365 -0.096474601365 -0.13151736752831822 +8.848875795415001 8.848875795415001 12.003688996995503 +-5.912567871430001 -5.912567871430001 -3.3331229062700394 +-5.937914369665 -5.937914369665 -4.687342862678918 +-4.05622442704 -4.05622442704 -3.487146290176808 +-2.59987968837 -2.59987968837 -2.315462685207028 +-1.37462416081 -1.37462416081 -1.2421564516082892 +-0.785487927005 -0.785487927005 -0.6649073919429994 +-0.48263781475500006 -0.48263781475500006 -0.5074430981268866 +16.00831532973 16.00831532973 17.849742635469454 +-7.45799414478 -7.45799414478 -4.6179881340300595 +-7.563510915635001 -7.563510915635001 -6.555876980862455 +-4.905312676085001 -4.905312676085001 -4.636130830349216 +-2.95209923003 -2.95209923003 -2.8751491395666178 +-1.412218774075 -1.412218774075 -1.3960803768339185 +-0.7398760081750001 -0.7398760081750001 -0.7394344388538393 +-0.42602744013 -0.42602744013 -0.4306014356178364 +19.765076066930003 19.765076066930003 19.335326462356143 +3.0034654572100004 3.0034654572100004 2.6511869421002556 +-7.41941552037 -7.41941552037 -8.12860495816265 +-7.33768643589 -7.33768643589 -7.871984005072953 +-5.28580179015 -5.28580179015 -5.601590173715536 +-3.49089929907 -3.49089929907 -3.6869431898476517 +-1.84591590357 -1.84591590357 -1.9606786948086479 +-1.022222698255 -1.022222698255 -1.0950332110418823 +-0.599359615745 -0.599359615745 -0.6459923579385151 +13.78812957024 13.78812957024 17.23859044663385 +0.059527646440000005 0.059527646440000005 1.0146786846018307 +-5.3385644420150005 -5.3385644420150005 -5.359941388841737 +-6.837977620135001 -6.837977620135001 -7.122125085668033 +-6.659295305640001 -6.659295305640001 -6.945077180155659 +-4.9473581682250005 -4.9473581682250005 -5.100633398203333 +-3.34739976103 -3.34739976103 -3.422443514117381 +-2.2493563509850003 -2.2493563509850003 -2.2964295455942496 +-1.53995662171 -1.53995662171 -1.5806733935309323 +-0.917135905535 -0.917135905535 -0.9573594025359761 +-0.581520708505 -0.581520708505 -0.6190878341607216 +-0.39007027245000003 -0.39007027245000003 -0.4226860841285914 +42.098175186705 42.098175186705 29.660414361767266 +9.53013888135 9.53013888135 3.6207228238078057 +-6.063572847555 -6.063572847555 -8.861233149804082 +-12.490037894270001 -12.490037894270001 -13.834504243252658 +-13.769775828704999 -13.769775828704999 -14.177514271337376 +-10.769118868845 -10.769118868845 -11.023242859367603 +-7.764526389505001 -7.764526389505001 -8.004764353117926 +-5.523602698185001 -5.523602698185001 -5.7587377886616595 +-3.39630552714 -3.39630552714 -3.598862657711293 +-2.1835695388 -2.1835695388 -2.3487989492191144 +-1.4662171700250002 -1.4662171700250002 -1.5976849992943345 +11.09654909588 11.09654909588 15.398973231670313 +1.2692303421200002 1.2692303421200002 3.399864376805863 +-2.92346778496 -2.92346778496 -1.9952577158203986 +-4.366286709025 -4.366286709025 -4.031009591197391 +-4.13637411574 -4.13637411574 -4.13977648361856 +-2.964122260945 -2.964122260945 -2.9690630373283273 +-1.9689595935 -1.9689595935 -1.9435492145841853 +-1.287526060105 -1.287526060105 -1.249259653395303 +-0.6971439740400001 -0.6971439740400001 -0.6577237035742409 +-0.397767161995 -0.397767161995 -0.36270828082887385 +-0.239992780455 -0.239992780455 -0.1744328162465383 +17.79118100602 17.79118100602 18.528579588320998 +3.4712517373900003 3.4712517373900003 6.174858115649197 +-6.000235863165 -6.000235863165 -3.3257431136268485 +-5.799083023135 -5.799083023135 -4.11242860563902 +-3.94353114074 -3.94353114074 -2.98047568422225 +-2.467677808105 -2.467677808105 -1.9226308623937474 +-1.23046940299 -1.23046940299 -0.9898478302661379 +-0.658247165285 -0.658247165285 -0.5481213730326865 +-0.38022908454500004 -0.38022908454500004 -0.33065224161401163 +33.926610732155005 33.926610732155005 29.26505045438678 +9.533580097945 9.533580097945 8.181854230254121 +-1.934801812245 -1.934801812245 -2.281514551909488 +-8.06354681618 -8.06354681618 -8.286580740626457 +-7.06233502299 -7.06233502299 -7.472779038166272 +-5.080328926165 -5.080328926165 -5.571931068988726 +-3.4895606091299998 -3.4895606091299998 -3.97464930278697 +-2.011383236405 -2.011383236405 -2.425521747185884 +-1.22936301729 -1.22936301729 -1.5562708334222608 +-0.799904757545 -0.799904757545 -1.052520512841966 +28.506915478345 28.506915478345 22.60556170785627 +9.010740233365 9.010740233365 5.624614543602501 +-0.08764575375000001 -0.08764575375000001 -2.0358787121902147 +-3.7960015652200005 -3.7960015652200005 -4.919245453204576 +-4.77652457594 -4.77652457594 -5.161471973787787 +-3.5649387403850006 -3.5649387403850006 -3.711304595994767 +-2.397750083575 -2.397750083575 -2.461671439143067 +-1.5938832364900002 -1.5938832364900002 -1.6209330599827385 +-0.895148445745 -0.895148445745 -0.89408912099516 +-0.5333664130050001 -0.5333664130050001 -0.5199262152205878 +-0.33516256083 -0.33516256083 -0.316593537568201 +19.971014274535 19.971014274535 10.974174992298373 +2.149044030015 2.149044030015 -2.0508678437192067 +-7.4606578720600005 -7.4606578720600005 -8.339514381604893 +-6.539547274585001 -6.539547274585001 -6.6531117730732845 +-4.373848254045 -4.373848254045 -4.337636588086275 +-2.7565393876300006 -2.7565393876300006 -2.71846703528256 +-1.396530203845 -1.396530203845 -1.3914715809399707 +-0.7544058664900001 -0.7544058664900001 -0.7670304216983378 +-0.43721871264500006 -0.43721871264500006 -0.45481038351105846 +17.232420126895 17.232420126895 16.93948083535682 +4.59466637788 4.59466637788 4.084132155369201 +-1.142899604955 -1.142899604955 -1.7495283121505643 +-3.8497098696750003 -3.8497098696750003 -4.394280956638148 +-3.13096630096 -3.13096630096 -3.5599106372767744 +-2.1240544159950003 -2.1240544159950003 -2.4702476432176264 +-1.394733626705 -1.394733626705 -1.6809366415468607 +-0.762737969505 -0.762737969505 -0.9814280107392627 +-0.442455797495 -0.442455797495 -0.6101767823113927 +-0.27059957296000003 -0.27059957296000003 -0.400002163815369 +24.553484627305004 24.553484627305004 17.7232890602356 +6.330474114960001 6.330474114960001 1.7526597028822444 +-2.160481075585 -2.160481075585 -5.442968108201793 +-6.48865502892 -6.48865502892 -8.39078327166407 +-5.53900191206 -5.53900191206 -6.782099392717997 +-3.9489329757150005 -3.9489329757150005 -4.838551938628249 +-2.7033871640750005 -2.7033871640750005 -3.3753406019225243 +-1.55225404363 -1.55225404363 -2.012563511515466 +-0.9366080575600001 -0.9366080575600001 -1.259478521156455 +-0.595431920255 -0.595431920255 -0.8254404913702872 +17.214788214075 17.214788214075 14.791278572560334 +2.35921900697 2.35921900697 0.5577377455363011 +-4.62843062294 -4.62843062294 -6.042499381535736 +-7.395989050285 -7.395989050285 -8.479984413411122 +-7.9972935051550005 -7.9972935051550005 -8.810019404085942 +-6.7376733331950005 -6.7376733331950005 -7.196530292088334 +-4.899129728605001 -4.899129728605001 -5.19752905002083 +-3.4243789484400002 -3.4243789484400002 -3.654638841902012 +-2.39162408319 -2.39162408319 -2.585575262310383 +-1.43547169861 -1.43547169861 -1.5911450579395852 +-0.89986308235 -0.89986308235 -1.0234636360203981 +-0.58742921247 -0.58742921247 -0.6846753469084862 +22.40335505806 22.40335505806 22.931635235355223 +3.8793072624500007 3.8793072624500007 5.094099522909741 +-4.116323513555 -4.116323513555 -3.047833917750704 +-6.8284523849 -6.8284523849 -6.048984255638427 +-6.38072523978 -6.38072523978 -6.018805202359268 +-4.38549090252 -4.38549090252 -4.213464078341855 +-2.80908042104 -2.80908042104 -2.722973184414824 +-1.79071550121 -1.79071550121 -1.7439741573521885 +-0.9437714192500001 -0.9437714192500001 -0.9220012145274932 +-0.5249709829300001 -0.5249709829300001 -0.5133075879390553 +-0.306559812475 -0.306559812475 -0.2999546296124234 +16.984465596455 16.984465596455 16.99472138720316 +5.89535824403 5.89535824403 5.116536306195313 +0.25305960515 0.25305960515 -0.3114437149235276 +-2.311916134865 -2.311916134865 -2.408766618710834 +-3.2185920484 -3.2185920484 -2.9107675040182777 +-2.98813069936 -2.98813069936 -2.2916286685451372 +-2.09968560145 -2.09968560145 -1.3936861536538907 +-1.33880026351 -1.33880026351 -0.7480968675562947 +-0.8152591803900001 -0.8152591803900001 -0.346803261738931 +-0.36047781561500003 -0.36047781561500003 -0.030482592732633464 +-0.13493169138000002 -0.13493169138000002 0.10704741610802378 +-0.022623460910000004 -0.022623460910000004 0.16180996252458807 +15.606281809 15.606281809 14.13134574375654 +2.26318499076 2.26318499076 1.26937616958365 +-3.4658238312000003 -3.4658238312000003 -4.036839198985714 +-5.41727275747 -5.41727275747 -5.6798165272726955 +-5.06493769381 -5.06493769381 -5.027790131826126 +-3.5115134123200002 -3.5115134123200002 -3.412503780768909 +-2.2455857916700004 -2.2455857916700004 -2.1627913811951336 +-1.40977314708 -1.40977314708 -1.3557438093190182 +-0.7092703971450001 -0.7092703971450001 -0.6836145197644261 +-0.36688555840500003 -0.36688555840500003 -0.3550772934069095 +-0.192912682025 -0.192912682025 -0.1869453694654371 +2.4537235119000003 2.4537235119000003 3.6956284706385176 +-9.69143867927 -9.69143867927 -7.93904145073528 +-12.97295529852 -12.97295529852 -11.358132951433731 +-11.0776235467 -11.0776235467 -10.062928310193517 +-7.531812729035001 -7.531812729035001 -6.96634588825794 +-4.88159698092 -4.88159698092 -4.573733290111209 +-3.17241233894 -3.17241233894 -3.002492720727591 +-1.737156325155 -1.737156325155 -1.6550688685566517 +-1.01415508811 -1.01415508811 -0.9664590964677587 +-0.62882174276 -0.62882174276 -0.5973921736200787 +4.6732260637800005 4.6732260637800005 4.17124708356304 +-9.56189761198 -9.56189761198 -9.304392612594876 +-13.667902569220002 -13.667902569220002 -13.576023935497858 +-12.28381694657 -12.28381694657 -12.571800243205555 +-8.81520147373 -8.81520147373 -9.169179166507593 +-6.08005922847 -6.08005922847 -6.392800284298121 +-4.220381819160001 -4.220381819160001 -4.472623007093055 +-2.53850295479 -2.53850295479 -2.714435638901371 +-1.6122575882 -1.6122575882 -1.7351052000929035 +-1.07476811625 -1.07476811625 -1.1633889015765118 +9.161348207635001 9.161348207635001 15.273201022409701 +-6.302159488975 -6.302159488975 -2.449807294996053 +-12.177036837625 -12.177036837625 -10.144655602156217 +-12.427196157945001 -12.427196157945001 -12.206800851183676 +-8.914748067625002 -8.914748067625002 -9.170182492428708 +-5.835279583905 -5.835279583905 -6.14721989759379 +-3.7555772930750004 -3.7555772930750004 -4.025965737220037 +-1.9909035487550002 -1.9909035487550002 -2.183425314818524 +-1.11510934383 -1.11510934383 -1.248137212966509 +-0.660576141315 -0.660576141315 -0.7521325341925097 +25.53060034289 25.53060034289 20.624845173364214 +-4.304164307190001 -4.304164307190001 -3.5595044556635185 +-7.369876037325001 -7.369876037325001 -6.342612243737763 +-5.21036587164 -5.21036587164 -4.565972474089206 +-3.159906111005 -3.159906111005 -2.744432032122119 +-1.42832167446 -1.42832167446 -1.1681303088334916 +-0.66680222576 -0.66680222576 -0.4911614418079126 +-0.327272854565 -0.327272854565 -0.20598421757361246 +17.731309104020003 17.731309104020003 18.519245225103845 +6.455463379155001 6.455463379155001 6.147626495905042 +0.6505286678750001 0.6505286678750001 -0.027128354837269164 +-2.03855366949 -2.03855366949 -2.6949548476194147 +-3.03713539431 -3.03713539431 -3.530160373469677 +-2.92796663172 -2.92796663172 -3.106241577434631 +-2.11589811646 -2.11589811646 -2.1464278849185505 +-1.4019843387800002 -1.4019843387800002 -1.3965631319193281 +-0.9061863628050001 -0.9061863628050001 -0.9033045393704817 +-0.472204707875 -0.472204707875 -0.48286102927636804 +-0.25223829624000005 -0.25223829624000005 -0.26941290779951965 +-0.13743045849500002 -0.13743045849500002 -0.15610050305203843 +18.149831421125 18.149831421125 16.28695887157408 +3.03184994775 3.03184994775 1.7403255303394376 +-4.086927680415 -4.086927680415 -5.0373439801164315 +-6.825736173875001 -6.825736173875001 -7.541472459703135 +-6.816385193075001 -6.816385193075001 -7.262209060396518 +-4.970664049095 -4.970664049095 -5.289699524818753 +-3.3428913574500005 -3.3428913574500005 -3.592178555144376 +-2.2201153698350002 -2.2201153698350002 -2.4209402222239214 +-1.235795781095 -1.235795781095 -1.382884255189082 +-0.7255085895450001 -0.7255085895450001 -0.8333386324418408 +-0.44874851713 -0.44874851713 -0.528245074653928 +17.249431791595 17.249431791595 21.451731431467046 +5.089869258025001 5.089869258025001 6.66331666904028 +-0.899115471225 -0.899115471225 -0.6416656433882475 +-3.48810025352 -3.48810025352 -3.7985527229852427 +-4.30822291011 -4.30822291011 -4.8172759439320885 +-3.881725164165 -3.881725164165 -4.411788457502932 +-2.879433240275 -2.879433240275 -3.3364264592844544 +-2.0555417572000003 -2.0555417572000003 -2.447490713225541 +-1.48382815761 -1.48382815761 -1.8209392783737293 +-0.95729452959 -0.95729452959 -1.2266720570784673 +-0.65650800783 -0.65650800783 -0.8731833435330726 +-0.47343514845000007 -0.47343514845000007 -0.6492917531030606 +12.679868554355 12.679868554355 10.433307629034491 +1.9184014952200001 1.9184014952200001 0.5372935926144957 +-2.6264406116300005 -2.6264406116300005 -3.454071067505538 +-4.166200609645 -4.166200609645 -4.449631923483867 +-3.05153783711 -3.05153783711 -3.1786963745648182 +-1.9305773564900002 -1.9305773564900002 -2.029111250486782 +-1.1859304997550002 -1.1859304997550002 -1.2806215519568394 +-0.58466613627 -0.58466613627 -0.6704677096336213 +-0.304673233195 -0.304673233195 -0.37592778830523405 +-0.16756949192000004 -0.16756949192000004 -0.22428631094913987 +17.013727161525 17.013727161525 16.53106700762153 +1.410646782205 1.410646782205 3.437724448705743 +-9.569976590540001 -9.569976590540001 -7.220429495251404 +-8.614720997995 -8.614720997995 -7.402147627239516 +-5.667363394710001 -5.667363394710001 -5.163469570423751 +-3.45916750607 -3.45916750607 -3.246554761911029 +-1.67588558301 -1.67588558301 -1.6032556331793915 +-0.879099341855 -0.879099341855 -0.848741589332984 +-0.50259836229 -0.50259836229 -0.4559122897888401 +7.71380432875 7.71380432875 10.473860360058854 +-4.277490014840001 -4.277490014840001 -2.156309690190411 +-7.563415715005001 -7.563415715005001 -6.254643654119142 +-7.387675404535001 -7.387675404535001 -6.552494680729395 +-4.683398799825 -4.683398799825 -4.202395315388068 +-2.515353264915 -2.515353264915 -2.172710327111764 +-1.309808048485 -1.309808048485 -1.057769993176041 +-0.6915594567750001 -0.6915594567750001 -0.5046131355933288 +-0.278854066195 -0.278854066195 -0.15645650269696487 +-0.118424463995 -0.118424463995 -0.03535258758609243 +-0.05138024735 -0.05138024735 0.0066957266126535 +20.451325423700002 20.451325423700002 20.855791532901343 +-1.9355325414050002 -1.9355325414050002 0.9767629242219247 +-11.05067110888 -11.05067110888 -9.363739977423942 +-8.478947991395001 -8.478947991395001 -8.059684979071386 +-5.47542816008 -5.47542816008 -5.523205524650353 +-3.4760321165150003 -3.4760321165150003 -3.6406683488224414 +-1.8476677947000002 -1.8476677947000002 -2.013668630094856 +-1.063852153665 -1.063852153665 -1.194776458422675 +-0.6576380755400001 -0.6576380755400001 -0.7442152813660814 +33.488101953830004 33.488101953830004 27.263064729012584 +10.106692616445 10.106692616445 6.660519620309229 +-6.69116572504 -6.69116572504 -8.251562634342342 +-7.638323487935 -7.638323487935 -8.52402348869288 +-5.443511138055 -5.443511138055 -6.014529225629497 +-3.5128752591700003 -3.5128752591700003 -3.924763103187167 +-1.84124419389 -1.84124419389 -2.1148027265434965 +-1.049754058825 -1.049754058825 -1.2370211976756615 +-0.6531140239800001 -0.6531140239800001 -0.7848313265600372 +17.88269543402 17.88269543402 14.46682195428585 +2.391145953385 2.391145953385 0.6652769358009842 +-3.951483964025 -3.951483964025 -4.932238008754438 +-6.108878790615 -6.108878790615 -6.4856156637349365 +-4.627558615625 -4.627558615625 -4.824239243912647 +-3.0745474828150003 -3.0745474828150003 -3.235527437321553 +-1.998740876295 -1.998740876295 -2.1613576244496695 +-1.08774417741 -1.08774417741 -1.2462170963530428 +-0.636329333755 -0.636329333755 -0.7771810554096648 +-0.39968375074 -0.39968375074 -0.5184887041478501 +26.00129368169 26.00129368169 20.65402981127843 +6.019479255375 6.019479255375 3.285690588721506 +-3.39753835692 -3.39753835692 -4.863696832847706 +-7.167961172175 -7.167961172175 -8.029452621181065 +-7.7527553540800005 -7.7527553540800005 -8.18138139415283 +-5.909702532005 -5.909702532005 -6.217854365189981 +-4.174381195055 -4.174381195055 -4.421876447643388 +-2.937633433915 -2.937633433915 -3.1369200215148774 +-1.80801807131 -1.80801807131 -1.950336624593227 +-1.183697984595 -1.183697984595 -1.286465243580328 +-0.8179301277950001 -0.8179301277950001 -0.8945577953125343 +32.128939073715 32.128939073715 21.76076917124581 +4.9671409169 4.9671409169 0.1955511487141397 +-7.222153382535001 -7.222153382535001 -9.226327647341634 +-11.61409941812 -11.61409941812 -12.300965509666451 +-11.153679949625001 -11.153679949625001 -11.047705735081918 +-7.850032071950001 -7.850032071950001 -7.735692513433702 +-5.06802459918 -5.06802459918 -5.053138031919642 +-3.200058565135 -3.200058565135 -3.2560403763838455 +-1.620329294125 -1.620329294125 -1.7098411378940432 +-0.8459475734350002 -0.8459475734350002 -0.9284915145594692 +-0.455971818985 -0.455971818985 -0.5211248881187976 +10.47973948821 10.47973948821 11.16015763840868 +-5.293553080055 -5.293553080055 -4.3014502892298125 +-11.146017690425 -11.146017690425 -10.233499882598188 +-11.337385712035001 -11.337385712035001 -10.622252837669786 +-7.974515402295 -7.974515402295 -7.387701200760739 +-5.109599864270001 -5.109599864270001 -4.646226792507072 +-3.21965647861 -3.21965647861 -2.8623820220744003 +-1.6543845758600002 -1.6543845758600002 -1.4088779184371232 +-0.89807102107 -0.89807102107 -0.7209748069528373 +-0.5143695815 -0.5143695815 -0.380039620657466 +16.041898914135 16.041898914135 16.69134706175226 +-1.4033043089050001 -1.4033043089050001 -1.0347548496466228 +-8.235451034855 -8.235451034855 -8.329895823418338 +-10.075382688785 -10.075382688785 -10.467096111767574 +-8.55516738536 -8.55516738536 -9.061277619244438 +-5.89907049099 -5.89907049099 -6.280784689247591 +-3.8727715527900006 -3.8727715527900006 -4.132628619834671 +-2.54862289203 -2.54862289203 -2.731640919777699 +-1.425612867345 -1.425612867345 -1.5455058211532668 +-0.8542676254050001 -0.8542676254050001 -0.9400861463100414 +-0.545360957245 -0.545360957245 -0.609910157968679 +22.146713562025003 22.146713562025003 18.746188678210338 +-3.7558634200650003 -3.7558634200650003 -4.335102759095232 +-13.653893741380001 -13.653893741380001 -14.602283565973465 +-10.551683885545001 -10.551683885545001 -11.88660824553748 +-7.037638703575 -7.037638703575 -8.280185745563475 +-4.659279407780001 -4.659279407780001 -5.695042609542627 +-2.6678182028250004 -2.6678182028250004 -3.421733711161783 +-1.66455150955 -1.66455150955 -2.2143695889025268 +-1.11373568223 -1.11373568223 -1.523355200302133 +39.34217478797 39.34217478797 27.96250334161951 +11.684208695975 11.684208695975 6.259086055594501 +-0.9934999645500001 -0.9934999645500001 -3.949389743545521 +-5.997376877450001 -5.997376877450001 -7.919571171316132 +-7.0009249455600004 -7.0009249455600004 -8.200182963666808 +-5.080872509685 -5.080872509685 -5.986323363266196 +-3.3554493339900002 -3.3554493339900002 -4.059796175935582 +-2.20456424453 -2.20456424453 -2.756462225567417 +-1.235089154025 -1.235089154025 -1.6251732211807413 +-0.746761486945 -0.746761486945 -1.0309414596829718 +-0.483744673045 -0.483744673045 -0.6967864386366637 +19.038702952745002 19.038702952745002 13.993700059155035 +-0.04698135337500001 -0.04698135337500001 -1.7066499950756606 +-10.323329710295 -10.323329710295 -10.667906995329947 +-8.96993389846 -8.96993389846 -9.370443281878622 +-6.189946826705 -6.189946826705 -6.621936693126994 +-4.075514054305001 -4.075514054305001 -4.455630424488438 +-2.23050581234 -2.23050581234 -2.5032547400516227 +-1.3089981079900002 -1.3089981079900002 -1.4988861426668558 +-0.823815868675 -0.823815868675 -0.9576029890035516 +20.271486550200002 20.271486550200002 23.919915100656603 +5.495670581295 5.495670581295 7.919634956872754 +-4.365448701935001 -4.365448701935001 -4.010242250890774 +-4.899796290545 -4.899796290545 -5.0955802863012645 +-3.536941406075 -3.536941406075 -3.7088179334731444 +-2.2660543997100002 -2.2660543997100002 -2.378959839508226 +-1.14017399464 -1.14017399464 -1.2267413376569436 +-0.618546139625 -0.618546139625 -0.69191001680941 +-0.36670563289 -0.36670563289 -0.4251657122147872 +10.99413275172 10.99413275172 16.076794797712825 +-4.58481686714 -4.58481686714 -0.6822294482821525 +-5.765427867600001 -5.765427867600001 -3.69429950330393 +-4.2601093886250005 -4.2601093886250005 -3.2360423048295694 +-2.82156834924 -2.82156834924 -2.287768125878299 +-1.4885109731550001 -1.4885109731550001 -1.2342259690948818 +-0.81796376045 -0.81796376045 -0.6576053604515242 +-0.4710420052 -0.4710420052 -0.353289465202561 +14.770022041760003 14.770022041760003 17.51192421772761 +-3.5428151221650004 -3.5428151221650004 -0.248426024653293 +-10.058496207925 -10.058496207925 -7.5668218417180695 +-10.50893536327 -10.50893536327 -9.638192578594229 +-7.314445378615001 -7.314445378615001 -7.163915141443334 +-4.593718808675 -4.593718808675 -4.677514816415334 +-2.817444817705 -2.817444817705 -2.966195847639761 +-1.3876292862550001 -1.3876292862550001 -1.5462495897007165 +-0.72960093014 -0.72960093014 -0.8655299204631964 +-0.410725474775 -0.410725474775 -0.51962848733584 +16.835371643015 16.835371643015 14.415121995409063 +-1.91545909737 -1.91545909737 -1.7992815206824488 +-8.88690828957 -8.88690828957 -8.274277313259397 +-9.784137496575001 -9.784137496575001 -9.471047336542371 +-6.80847805349 -6.80847805349 -6.7341168158426905 +-4.28419832487 -4.28419832487 -4.266189615887493 +-2.653446005785 -2.653446005785 -2.6362096781555113 +-1.33530876859 -1.33530876859 -1.305554990413951 +-0.7143797514200001 -0.7143797514200001 -0.6775245293328216 +-0.40538302861000003 -0.40538302861000003 -0.36681089366383 +-6.50619919753 -6.50619919753 -4.330105908642175 +-10.006175033885 -10.006175033885 -8.722131234799624 +-6.956824710865 -6.956824710865 -6.519787231376422 +-4.284724028735001 -4.284724028735001 -4.182284243257234 +-2.0751249153650004 -2.0751249153650004 -2.1006716508268464 +-1.0867569106450001 -1.0867569106450001 -1.1299054970557485 +-0.6198706781200001 -0.6198706781200001 -0.6607768836738426 +23.41828130803 23.41828130803 23.76475274611732 +10.121420936305 10.121420936305 10.052208762187568 +2.9974765079250005 2.9974765079250005 2.6821707999358666 +-0.48447910416 -0.48447910416 -0.8154867363760084 +-1.938127690625 -1.938127690625 -2.1733768170239918 +-2.2632414127550002 -2.2632414127550002 -2.294788051752535 +-1.66294685646 -1.66294685646 -1.6160568625280083 +-1.0967248576900002 -1.0967248576900002 -1.048035150221385 +-0.710751756755 -0.710751756755 -0.6788442872113734 +-0.38262222779500005 -0.38262222779500005 -0.3710440049287494 +-0.21911210019 -0.21911210019 -0.21632160095918126 +-0.13296338028500002 -0.13296338028500002 -0.13309726677435219 diff --git a/examples/sgnn/model1.pickle b/examples/sgnn/model1.pickle deleted file mode 100644 index 0c3959cd9..000000000 Binary files a/examples/sgnn/model1.pickle and /dev/null differ diff --git a/examples/sgnn/model1.pickle b/examples/sgnn/model1.pickle new file mode 120000 index 000000000..88c340bb9 --- /dev/null +++ b/examples/sgnn/model1.pickle @@ -0,0 +1 @@ +test_backend/model1.pickle \ No newline at end of file diff --git a/examples/sgnn/peg.xml b/examples/sgnn/peg.xml new file mode 100644 index 000000000..d3f41baaf --- /dev/null +++ b/examples/sgnn/peg.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/sgnn/peg4.pdb b/examples/sgnn/peg4.pdb deleted file mode 100644 index 2c11081d1..000000000 --- a/examples/sgnn/peg4.pdb +++ /dev/null @@ -1,63 +0,0 @@ -REMARK -CRYST1 50.000 50.000 50.000 90.00 90.00 90.00 P 1 1 -ATOM 1 C00 TER 1 -2.962 3.637 -1.170 -ATOM 2 H01 TER 1 -2.608 4.142 -0.296 -ATOM 3 H02 TER 1 -4.032 3.635 -1.171 -ATOM 4 O03 TER 1 -2.484 2.289 -1.168 -ATOM 5 C04 TER 1 -2.961 1.615 0.000 -ATOM 6 H05 TER 1 -2.604 0.606 0.000 -ATOM 7 H06 TER 1 -2.604 2.119 0.874 -ATOM 8 H07 TER 1 -4.031 1.615 0.000 -ATOM 9 C00 INT 2 -2.449 6.384 -3.596 -ATOM 10 H01 INT 2 -2.804 5.879 -4.470 -ATOM 11 H02 INT 2 -1.379 6.386 -3.595 -ATOM 12 O03 INT 2 -2.927 5.710 -2.429 -ATOM 13 C04 INT 2 -2.448 4.362 -2.427 -ATOM 14 H05 INT 2 -2.803 3.856 -3.301 -ATOM 15 H06 INT 2 -1.378 4.364 -2.425 -ATOM 16 C00 INT 3 -2.966 9.857 -4.767 -ATOM 17 H01 INT 3 -2.612 10.363 -3.893 -ATOM 18 H02 INT 3 -4.036 9.855 -4.768 -ATOM 19 O03 INT 3 -2.488 8.509 -4.765 -ATOM 20 C04 INT 3 -2.965 7.835 -3.597 -ATOM 21 H05 INT 3 -2.610 8.340 -2.724 -ATOM 22 H06 INT 3 -4.035 7.833 -3.599 -ATOM 23 C00 TER 4 -2.452 10.582 -6.024 -ATOM 24 H01 TER 4 -2.807 10.077 -6.898 -ATOM 25 H02 TER 4 -1.382 10.584 -6.022 -ATOM 26 O03 TER 4 -2.931 11.930 -6.026 -ATOM 27 C04 TER 4 -2.453 12.604 -7.193 -ATOM 28 H05 TER 4 -2.808 12.099 -8.067 -ATOM 29 H06 TER 4 -2.812 13.613 -7.194 -ATOM 30 H07 TER 4 -1.383 12.606 -7.192 -TER -CONECT 5 6 -CONECT 5 7 -CONECT 5 8 -CONECT 5 4 -CONECT 4 1 -CONECT 1 2 -CONECT 1 3 -CONECT 1 13 -CONECT 13 14 -CONECT 13 15 -CONECT 13 12 -CONECT 12 9 -CONECT 9 10 -CONECT 9 11 -CONECT 9 20 -CONECT 20 21 -CONECT 20 22 -CONECT 20 19 -CONECT 19 16 -CONECT 16 17 -CONECT 16 18 -CONECT 16 23 -CONECT 23 24 -CONECT 23 25 -CONECT 23 26 -CONECT 26 27 -CONECT 27 28 -CONECT 27 29 -CONECT 27 30 -END diff --git a/examples/sgnn/peg4.pdb b/examples/sgnn/peg4.pdb new file mode 120000 index 000000000..3c2bb15b6 --- /dev/null +++ b/examples/sgnn/peg4.pdb @@ -0,0 +1 @@ +test_backend/peg4.pdb \ No newline at end of file diff --git a/examples/sgnn/ref_out b/examples/sgnn/ref_out index 96bc1e62f..039b75427 100644 --- a/examples/sgnn/ref_out +++ b/examples/sgnn/ref_out @@ -1,37 +1,5 @@ -Energy: -21.588394 -Force -[[ 90.02814 2.0374336 35.38877 ] - [ -98.410095 -1.6865425 -30.066338 ] - [ 48.29245 31.675808 -43.390694 ] - [ 59.717484 -35.94304 50.599678 ] - [ -24.63767 218.36092 168.47194 ] - [ 43.258293 81.24294 -87.22882 ] - [ -67.66767 -17.780457 -5.6038494 ] - [ -22.928284 -302.96246 -123.14815 ] - [ 306.24683 -21.33866 -156.95491 ] - [ -4.715515 13.664352 -23.222527 ] - [-258.61304 -26.577957 85.58963 ] - [ -10.179474 106.21161 64.846924 ] - [-210.20566 -52.107193 58.04005 ] - [ 118.68472 -8.033836 -81.18109 ] - [ 44.02272 -34.508667 46.852356 ] - [-214.84206 115.90286 -227.59117 ] - [ 44.243336 -7.151741 26.06369 ] - [ 87.46674 38.574554 192.17757 ] - [ 27.345726 -58.87986 -44.685863 ] - [ -83.354774 -29.714098 214.93097 ] - [ -71.111305 34.880676 -77.53289 ] - [ 141.12836 49.28147 -97.597305 ] - [-220.25613 -134.58449 -23.567059 ] - [ 75.2593 58.432755 -63.99505 ] - [ 123.56466 -82.0066 94.63971 ] - [ 57.822285 17.07631 -53.788273 ] - [ -73.37115 0.50865555 16.240654 ] - [ 54.86133 97.53715 73.672806 ] - [ -23.997787 -73.92179 -13.749107 ] - [ 62.348286 21.809956 25.78839 ]] -Batched Energies: -[-21.653 -39.830627 9.988983 -48.292953 -32.959183 -49.7164 - -47.617737 -51.76767 -37.42943 -35.06703 -46.111145 -31.748154 - -6.939003 -5.1853027 -27.427734 -44.695312 -52.027237 3.1541443 - -72.8221 -28.33014 ] +-21.588284621154912 +[-21.58828462 -39.79334159 10.03889335 -48.22451239 -32.90970162 + -49.68568287 -47.58035178 -51.73860617 -37.39235277 -35.01933271 + -46.06621902 -31.69327601 -6.86739655 -5.13698524 -27.4031207 + -44.65301991 -52.00357797 3.1734038 -72.79081259 -28.27007722] diff --git a/examples/sgnn/residues.xml b/examples/sgnn/residues.xml new file mode 100644 index 000000000..aa78866eb --- /dev/null +++ b/examples/sgnn/residues.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/sgnn/run.py b/examples/sgnn/run.py index f87c887b5..14c7c1b84 100755 --- a/examples/sgnn/run.py +++ b/examples/sgnn/run.py @@ -1,45 +1,44 @@ #!/usr/bin/env python import sys -import numpy as np +import jax import jax.numpy as jnp -import jax.lax as lax -from jax import vmap, value_and_grad -import dmff -from dmff.sgnn.gnn import MolGNNForce -from dmff.utils import jit_condition -from dmff.sgnn.graph import MAX_VALENCE -from dmff.sgnn.graph import TopGraph, from_pdb +import openmm.app as app +import openmm.unit as unit +from dmff.api import Hamiltonian +from dmff.common import nblist +from jax import value_and_grad import pickle -import re -from collections import OrderedDict -from functools import partial - if __name__ == '__main__': - # params = load_params('benchmark/model1.pickle') - G = from_pdb('peg4.pdb') - model = MolGNNForce(G, nn=1) - model.load_params('model1.pickle') - E = model.get_energy(G.positions, G.box, model.params) + + H = Hamiltonian('peg.xml') + app.Topology.loadBondDefinitions("residues.xml") + pdb = app.PDBFile("peg4.pdb") + rc = 0.6 + # generator stores all force field parameters + pots = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.nanometer, ethresh=5e-4) + + # construct inputs + positions = jnp.array(pdb.positions._value) + a, b, c = pdb.topology.getPeriodicBoxVectors() + box = jnp.array([a._value, b._value, c._value]) + # neighbor list + nbl = nblist.NeighborList(box, rc, pots.meta['cov_map']) + nbl.allocate(positions) + + + paramset = H.getParameters() + # params = paramset.parameters - with open('set_test_lowT.pickle', 'rb') as ifile: + with open('test_backend/set_test_lowT.pickle', 'rb') as ifile: data = pickle.load(ifile) - # pos = jnp.array(data['positions'][0:100]) - # box = jnp.tile(jnp.eye(3) * 50, (100, 1, 1)) - pos = jnp.array(data['positions'][0]) - box = jnp.eye(3) * 50 + # input in nm + pos = jnp.array(data['positions'][0:20]) / 10 + box = jnp.eye(3) * 5 - # energies = model.batch_forward(pos, box, model.params) - E, F = value_and_grad(model.get_energy, argnums=(0))(pos, box, model.params) - F = -F - print('Energy:', E) - print('Force') - print(F) + efunc = jax.jit(pots.getPotentialFunc()) + efunc_vmap = jax.vmap(jax.jit(pots.getPotentialFunc()), in_axes=(0, None, None, None), out_axes=0) + print(efunc(pos[0], box, nbl.pairs, paramset)) + print(efunc_vmap(pos, box, nbl.pairs, paramset)) - # test batch processing - pos = jnp.array(data['positions'][:20]) - box = jnp.tile(box, (20, 1, 1)) - E = model.batch_forward(pos, box, model.params) - print('Batched Energies:') - print(E) diff --git a/examples/sgnn/model.pickle b/examples/sgnn/test_backend/model.pickle similarity index 100% rename from examples/sgnn/model.pickle rename to examples/sgnn/test_backend/model.pickle diff --git a/examples/sgnn/test_backend/model1.pickle b/examples/sgnn/test_backend/model1.pickle new file mode 100644 index 000000000..0c3959cd9 Binary files /dev/null and b/examples/sgnn/test_backend/model1.pickle differ diff --git a/examples/sgnn/model1.pth b/examples/sgnn/test_backend/model1.pth similarity index 100% rename from examples/sgnn/model1.pth rename to examples/sgnn/test_backend/model1.pth diff --git a/examples/sgnn/mse_testing.xvg b/examples/sgnn/test_backend/mse_testing.xvg similarity index 100% rename from examples/sgnn/mse_testing.xvg rename to examples/sgnn/test_backend/mse_testing.xvg diff --git a/examples/sgnn/test_backend/peg4.pdb b/examples/sgnn/test_backend/peg4.pdb new file mode 100644 index 000000000..2c11081d1 --- /dev/null +++ b/examples/sgnn/test_backend/peg4.pdb @@ -0,0 +1,63 @@ +REMARK +CRYST1 50.000 50.000 50.000 90.00 90.00 90.00 P 1 1 +ATOM 1 C00 TER 1 -2.962 3.637 -1.170 +ATOM 2 H01 TER 1 -2.608 4.142 -0.296 +ATOM 3 H02 TER 1 -4.032 3.635 -1.171 +ATOM 4 O03 TER 1 -2.484 2.289 -1.168 +ATOM 5 C04 TER 1 -2.961 1.615 0.000 +ATOM 6 H05 TER 1 -2.604 0.606 0.000 +ATOM 7 H06 TER 1 -2.604 2.119 0.874 +ATOM 8 H07 TER 1 -4.031 1.615 0.000 +ATOM 9 C00 INT 2 -2.449 6.384 -3.596 +ATOM 10 H01 INT 2 -2.804 5.879 -4.470 +ATOM 11 H02 INT 2 -1.379 6.386 -3.595 +ATOM 12 O03 INT 2 -2.927 5.710 -2.429 +ATOM 13 C04 INT 2 -2.448 4.362 -2.427 +ATOM 14 H05 INT 2 -2.803 3.856 -3.301 +ATOM 15 H06 INT 2 -1.378 4.364 -2.425 +ATOM 16 C00 INT 3 -2.966 9.857 -4.767 +ATOM 17 H01 INT 3 -2.612 10.363 -3.893 +ATOM 18 H02 INT 3 -4.036 9.855 -4.768 +ATOM 19 O03 INT 3 -2.488 8.509 -4.765 +ATOM 20 C04 INT 3 -2.965 7.835 -3.597 +ATOM 21 H05 INT 3 -2.610 8.340 -2.724 +ATOM 22 H06 INT 3 -4.035 7.833 -3.599 +ATOM 23 C00 TER 4 -2.452 10.582 -6.024 +ATOM 24 H01 TER 4 -2.807 10.077 -6.898 +ATOM 25 H02 TER 4 -1.382 10.584 -6.022 +ATOM 26 O03 TER 4 -2.931 11.930 -6.026 +ATOM 27 C04 TER 4 -2.453 12.604 -7.193 +ATOM 28 H05 TER 4 -2.808 12.099 -8.067 +ATOM 29 H06 TER 4 -2.812 13.613 -7.194 +ATOM 30 H07 TER 4 -1.383 12.606 -7.192 +TER +CONECT 5 6 +CONECT 5 7 +CONECT 5 8 +CONECT 5 4 +CONECT 4 1 +CONECT 1 2 +CONECT 1 3 +CONECT 1 13 +CONECT 13 14 +CONECT 13 15 +CONECT 13 12 +CONECT 12 9 +CONECT 9 10 +CONECT 9 11 +CONECT 9 20 +CONECT 20 21 +CONECT 20 22 +CONECT 20 19 +CONECT 19 16 +CONECT 16 17 +CONECT 16 18 +CONECT 16 23 +CONECT 23 24 +CONECT 23 25 +CONECT 23 26 +CONECT 26 27 +CONECT 27 28 +CONECT 27 29 +CONECT 27 30 +END diff --git a/examples/sgnn/pth2pickle.py b/examples/sgnn/test_backend/pth2pickle.py similarity index 100% rename from examples/sgnn/pth2pickle.py rename to examples/sgnn/test_backend/pth2pickle.py diff --git a/examples/sgnn/test_backend/ref_out b/examples/sgnn/test_backend/ref_out new file mode 100644 index 000000000..96bc1e62f --- /dev/null +++ b/examples/sgnn/test_backend/ref_out @@ -0,0 +1,37 @@ +Energy: -21.588394 +Force +[[ 90.02814 2.0374336 35.38877 ] + [ -98.410095 -1.6865425 -30.066338 ] + [ 48.29245 31.675808 -43.390694 ] + [ 59.717484 -35.94304 50.599678 ] + [ -24.63767 218.36092 168.47194 ] + [ 43.258293 81.24294 -87.22882 ] + [ -67.66767 -17.780457 -5.6038494 ] + [ -22.928284 -302.96246 -123.14815 ] + [ 306.24683 -21.33866 -156.95491 ] + [ -4.715515 13.664352 -23.222527 ] + [-258.61304 -26.577957 85.58963 ] + [ -10.179474 106.21161 64.846924 ] + [-210.20566 -52.107193 58.04005 ] + [ 118.68472 -8.033836 -81.18109 ] + [ 44.02272 -34.508667 46.852356 ] + [-214.84206 115.90286 -227.59117 ] + [ 44.243336 -7.151741 26.06369 ] + [ 87.46674 38.574554 192.17757 ] + [ 27.345726 -58.87986 -44.685863 ] + [ -83.354774 -29.714098 214.93097 ] + [ -71.111305 34.880676 -77.53289 ] + [ 141.12836 49.28147 -97.597305 ] + [-220.25613 -134.58449 -23.567059 ] + [ 75.2593 58.432755 -63.99505 ] + [ 123.56466 -82.0066 94.63971 ] + [ 57.822285 17.07631 -53.788273 ] + [ -73.37115 0.50865555 16.240654 ] + [ 54.86133 97.53715 73.672806 ] + [ -23.997787 -73.92179 -13.749107 ] + [ 62.348286 21.809956 25.78839 ]] +Batched Energies: +[-21.653 -39.830627 9.988983 -48.292953 -32.959183 -49.7164 + -47.617737 -51.76767 -37.42943 -35.06703 -46.111145 -31.748154 + -6.939003 -5.1853027 -27.427734 -44.695312 -52.027237 3.1541443 + -72.8221 -28.33014 ] diff --git a/examples/sgnn/test_backend/run.py b/examples/sgnn/test_backend/run.py new file mode 100755 index 000000000..f87c887b5 --- /dev/null +++ b/examples/sgnn/test_backend/run.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python +import sys +import numpy as np +import jax.numpy as jnp +import jax.lax as lax +from jax import vmap, value_and_grad +import dmff +from dmff.sgnn.gnn import MolGNNForce +from dmff.utils import jit_condition +from dmff.sgnn.graph import MAX_VALENCE +from dmff.sgnn.graph import TopGraph, from_pdb +import pickle +import re +from collections import OrderedDict +from functools import partial + + +if __name__ == '__main__': + # params = load_params('benchmark/model1.pickle') + G = from_pdb('peg4.pdb') + model = MolGNNForce(G, nn=1) + model.load_params('model1.pickle') + E = model.get_energy(G.positions, G.box, model.params) + + with open('set_test_lowT.pickle', 'rb') as ifile: + data = pickle.load(ifile) + + # pos = jnp.array(data['positions'][0:100]) + # box = jnp.tile(jnp.eye(3) * 50, (100, 1, 1)) + pos = jnp.array(data['positions'][0]) + box = jnp.eye(3) * 50 + + # energies = model.batch_forward(pos, box, model.params) + E, F = value_and_grad(model.get_energy, argnums=(0))(pos, box, model.params) + F = -F + print('Energy:', E) + print('Force') + print(F) + + # test batch processing + pos = jnp.array(data['positions'][:20]) + box = jnp.tile(box, (20, 1, 1)) + E = model.batch_forward(pos, box, model.params) + print('Batched Energies:') + print(E) diff --git a/examples/sgnn/set_test.pickle b/examples/sgnn/test_backend/set_test.pickle similarity index 100% rename from examples/sgnn/set_test.pickle rename to examples/sgnn/test_backend/set_test.pickle diff --git a/examples/sgnn/set_test_lowT.pickle b/examples/sgnn/test_backend/set_test_lowT.pickle similarity index 100% rename from examples/sgnn/set_test_lowT.pickle rename to examples/sgnn/test_backend/set_test_lowT.pickle diff --git a/examples/sgnn/test.py b/examples/sgnn/test_backend/test.py similarity index 100% rename from examples/sgnn/test.py rename to examples/sgnn/test_backend/test.py diff --git a/examples/sgnn/test_data.xvg b/examples/sgnn/test_backend/test_data.xvg similarity index 100% rename from examples/sgnn/test_data.xvg rename to examples/sgnn/test_backend/test_data.xvg diff --git a/examples/sgnn/train.py b/examples/sgnn/test_backend/train.py similarity index 100% rename from examples/sgnn/train.py rename to examples/sgnn/test_backend/train.py diff --git a/examples/smirks/C3H7NO.mol b/examples/smirks/C3H7NO.mol deleted file mode 100644 index ba04b279b..000000000 --- a/examples/smirks/C3H7NO.mol +++ /dev/null @@ -1,28 +0,0 @@ - - RDKit 3D - - 12 11 0 0 0 0 0 0 0 0999 V2000 - -1.8857 -0.0588 0.0187 C 0 0 0 0 0 0 0 0 0 0 0 0 - -0.4726 -0.4185 -0.3545 C 0 0 0 0 0 0 0 0 0 0 0 0 - -0.2138 -1.3729 -1.0799 O 0 0 0 0 0 0 0 0 0 0 0 0 - 0.4819 0.4035 0.2006 N 0 0 0 0 0 0 0 0 0 0 0 0 - 1.8857 0.1345 0.0172 C 0 0 0 0 0 0 0 0 0 0 0 0 - -1.9470 0.9478 0.4417 H 0 0 0 0 0 0 0 0 0 0 0 0 - -2.5115 -0.0907 -0.8776 H 0 0 0 0 0 0 0 0 0 0 0 0 - -2.2561 -0.7782 0.7535 H 0 0 0 0 0 0 0 0 0 0 0 0 - 0.2092 1.0317 0.9448 H 0 0 0 0 0 0 0 0 0 0 0 0 - 2.4473 1.0406 0.2554 H 0 0 0 0 0 0 0 0 0 0 0 0 - 2.0840 -0.1673 -1.0148 H 0 0 0 0 0 0 0 0 0 0 0 0 - 2.1785 -0.6717 0.6950 H 0 0 0 0 0 0 0 0 0 0 0 0 - 1 2 1 0 - 2 3 2 0 - 2 4 1 0 - 4 5 1 0 - 1 6 1 0 - 1 7 1 0 - 1 8 1 0 - 4 9 1 0 - 5 10 1 0 - 5 11 1 0 - 5 12 1 0 -M END diff --git a/examples/smirks/C3H7NO.xml b/examples/smirks/C3H7NO.xml deleted file mode 100644 index 942af040e..000000000 --- a/examples/smirks/C3H7NO.xml +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/examples/smirks/clpy.mol b/examples/smirks/clpy.mol deleted file mode 100644 index 4d0b10a78..000000000 --- a/examples/smirks/clpy.mol +++ /dev/null @@ -1,27 +0,0 @@ - - RDKit 3D - - 11 11 0 0 0 0 0 0 0 0999 V2000 - 2.8623 -1.1338 -0.4470 Cl 0 0 0 0 0 0 0 0 0 0 0 0 - 1.2590 -0.5725 -0.2105 C 0 0 0 0 0 0 0 0 0 0 0 0 - 1.0072 0.7619 0.0614 C 0 0 0 0 0 0 0 0 0 0 0 0 - -0.3166 1.1502 0.2425 C 0 0 0 0 0 0 0 0 0 0 0 0 - -1.3245 0.1954 0.1448 C 0 0 0 0 0 0 0 0 0 0 0 0 - -0.9657 -1.1156 -0.1315 C 0 0 0 0 0 0 0 0 0 0 0 0 - 0.3081 -1.5238 -0.3122 N 0 0 0 0 0 0 0 0 0 0 0 0 - 1.8148 1.4810 0.1311 H 0 0 0 0 0 0 0 0 0 0 0 0 - -0.5605 2.1868 0.4577 H 0 0 0 0 0 0 0 0 0 0 0 0 - -2.3663 0.4655 0.2806 H 0 0 0 0 0 0 0 0 0 0 0 0 - -1.7178 -1.8952 -0.2170 H 0 0 0 0 0 0 0 0 0 0 0 0 - 1 2 1 0 - 2 3 2 0 - 3 4 1 0 - 4 5 2 0 - 5 6 1 0 - 6 7 2 0 - 7 2 1 0 - 3 8 1 0 - 4 9 1 0 - 5 10 1 0 - 6 11 1 0 -M END diff --git a/examples/smirks/clpy_vsite.mol b/examples/smirks/clpy_vsite.mol deleted file mode 100644 index 02699f734..000000000 --- a/examples/smirks/clpy_vsite.mol +++ /dev/null @@ -1,31 +0,0 @@ - - RDKit 3D - - 13 13 0 0 0 0 0 0 0 0999 V2000 - 2.8623 -1.1338 -0.4470 Cl 0 0 0 0 0 0 0 0 0 0 0 0 - 1.2590 -0.5725 -0.2105 C 0 0 0 0 0 0 0 0 0 0 0 0 - 1.0072 0.7619 0.0614 C 0 0 0 0 0 0 0 0 0 0 0 0 - -0.3166 1.1502 0.2425 C 0 0 0 0 0 0 0 0 0 0 0 0 - -1.3245 0.1954 0.1448 C 0 0 0 0 0 0 0 0 0 0 0 0 - -0.9657 -1.1156 -0.1315 C 0 0 0 0 0 0 0 0 0 0 0 0 - 0.3081 -1.5238 -0.3122 N 0 0 0 0 0 0 0 0 0 0 0 0 - 1.8148 1.4810 0.1311 H 0 0 0 0 0 0 0 0 0 0 0 0 - -0.5605 2.1868 0.4577 H 0 0 0 0 0 0 0 0 0 0 0 0 - -2.3663 0.4655 0.2806 H 0 0 0 0 0 0 0 0 0 0 0 0 - -1.7178 -1.8952 -0.2170 H 0 0 0 0 0 0 0 0 0 0 0 0 - 4.3580 -1.6574 -0.6676 R 0 0 0 0 0 0 0 0 0 0 0 0 - 0.3985 -1.9053 -0.3914 R 0 0 0 0 0 0 0 0 0 0 0 0 - 1 2 1 0 - 2 3 2 0 - 3 4 1 0 - 4 5 2 0 - 5 6 1 0 - 6 7 2 0 - 7 2 1 0 - 3 8 1 0 - 4 9 1 0 - 5 10 1 0 - 6 11 1 0 - 12 1 0 0 - 13 7 0 0 -M END diff --git a/examples/smirks/clpy_vsite.xml b/examples/smirks/clpy_vsite.xml deleted file mode 100644 index 6d9d89299..000000000 --- a/examples/smirks/clpy_vsite.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/smirks/demo.ipynb b/examples/smirks/demo.ipynb deleted file mode 100644 index 9c518f03e..000000000 --- a/examples/smirks/demo.ipynb +++ /dev/null @@ -1,276 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Parametrize Molecules with SMIRKS-based Force Field" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Basic Usage" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "SMIRKS is an extension of SMARTS language that enables users to define chemical substructures with certain patterns as well as to numerically tag the matching atoms. This allowed force field developers to introduce new parameters more easily by avoiding starting from defining new atom types. DMFF can deal with SMIRKS-based force field in XML format to create differentiable potential functions." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The usage of SMIRKS-based force field is generally the same as conventional force field based on atom-typing scheme, with the only difference such that we need an extra `rdkit.Chem.Mol` as input because the matching of SMIRKS pattern is powered by rdkit." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As an example, we will first load a N-methylacetamide molecule defined in a mol file." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import jax.numpy as jnp\n", - "from rdkit import Chem\n", - "from dmff import Hamiltonian, NeighborList\n", - "\n", - "mol = Chem.MolFromMolFile(\"C3H7NO.mol\", removeHs=False) # hydrogens must be preserved" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Then load force field parameters in xml format. Instuctions about how to write a SMIRKS-based force field XML file can be found in the Chapter 4 of the user's guide." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "h_smk = Hamiltonian(\"C3H7NO.xml\", noOmmSys=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Note that the argument noOmmSys is set to False so that DMFF will not create an openmm system, as openmm does not support SMIRKS-based force field definitions.\n", - "\n", - "Finally, we build an openmm topology and parametrize the molecule to create differentiable potential energy functions:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "top = h_smk.buildTopologyFromMol(mol)\n", - "potObj = h_smk.createPotential(top, rdmol=mol)\n", - "func = potObj.getPotentialFunc()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "So far, we can utilize this dmff.Potential object to calculate energy and forces as we did in the previous sections." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "pos = jnp.array(mol.GetConformer().GetPositions()) / 10 # angstrom -> nm\n", - "box = jnp.eye(3, dtype=jnp.float32)\n", - "nblist = NeighborList(box, 1.0, potObj.meta[\"cov_map\"])\n", - "nblist.allocate(pos)\n", - "pairs = nblist.pairs\n", - "energy = func(pos, box, pairs, h_smk.getParameters())\n", - "print(energy)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Bond Charge Correction and Virtual Sites\n", - "\n", - "This section mainly introduces how to use BCC and virtual sites in DMFF." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "First, import required libraries:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import jax\n", - "import jax.numpy as jnp\n", - "from rdkit import Chem\n", - "from dmff import Hamiltonian, NeighborList" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Load the molecule and SMIRKS-based force field file" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "mol = Chem.MolFromMolFile(\"clpy.mol\", removeHs=False)\n", - "h_vsite = Hamiltonian(\"clpy_vsite.xml\", noOmmSys=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "BCC and virtual site parameters are parsed into `h_vsite.getParameters()['NonbondedForce']`" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "params = h_vsite.getParameters()\n", - "print(params['NonbondedForce'])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Build OpenMM topology and create DMFF potential" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "top = h_vsite.buildTopologyFromMol(mol)\n", - "potObj = h_vsite.createPotential(top, rdmol=mol)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Add virtual site to RDKit Mol object" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "mol_vsite = h_vsite.addVirtualSiteToMol(mol, h_vsite.getParameters())" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Calculate energy, forces and parametric gradients" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "pos_vsite = jnp.array(mol_vsite.GetConformer().GetPositions()) / 10 # angstrom -> nm\n", - "box = jnp.eye(3, dtype=jnp.float32)\n", - "nblist = NeighborList(box, 1.0, h_vsite.getCovalentMap())\n", - "nblist.allocate(pos_vsite)\n", - "pairs_vsite = nblist.pairs\n", - "\n", - "nbfunc_vsite = jax.value_and_grad(\n", - " potObj.dmff_potentials['NonbondedForce'], \n", - " argnums=-1, \n", - " allow_int=True # set to True since the type of virtual sites are speicified as integars\n", - ")\n", - "nbene_vsite, nbene_grad_vsite = nbfunc_vsite(pos_vsite, box, pairs_vsite, params)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Alternatively, we can also add coordinates of virtual sites by taking atomic positions matrix as an input." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "pos = jnp.array(mol.GetConformer().GetPositions()) / 10 # convert angstrom to nm\n", - "pos_vsite = h_vsite.addVirtualSiteCoords(pos, h_vsite.getParameters())\n", - "print(pos_vsite.shape)" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "dmff", - "language": "python", - "name": "dmff" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.12" - }, - "vscode": { - "interpreter": { - "hash": "44fe82502fda871be637af1aa98d2b3ddaac01204dd30f1519cbec4e95000815" - } - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/examples/water_fullpol/monopole_nonpol/run.py b/examples/water_fullpol/monopole_nonpol/run.py index 3b1b4799f..d717e905d 100755 --- a/examples/water_fullpol/monopole_nonpol/run.py +++ b/examples/water_fullpol/monopole_nonpol/run.py @@ -13,18 +13,19 @@ H = Hamiltonian('forcefield.xml') pdb = app.PDBFile("pair.pdb") - rc = 6 + rc = 0.6 # generator stores all force field parameters params = H.getParameters() - pot_pme = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.angstrom).dmff_potentials['ADMPPmeForce'] + pots = H.createPotential(pdb.topology, nonbondedMethod=app.PME, nonbondedCutoff=rc*unit.nanometer) + pot_pme = pots.dmff_potentials['ADMPPmeForce'] # construct inputs - positions = jnp.array(pdb.positions._value) * 10 + positions = jnp.array(pdb.positions._value) a, b, c = pdb.topology.getPeriodicBoxVectors() - box = jnp.array([a._value, b._value, c._value]) * 10 + box = jnp.array([a._value, b._value, c._value]) # neighbor list - nbl = nblist.NeighborList(box, rc, H.getGenerators()[0].covalent_map) + nbl = nblist.NeighborList(box, rc, pots.meta['cov_map']) nbl.allocate(positions) E_pme, F_pme = value_and_grad(pot_pme)(positions, box, nbl.pairs, params) diff --git a/examples/water_fullpol/monopole_polarizable/run.py b/examples/water_fullpol/monopole_polarizable/run.py index 808ee5801..defcf51af 100755 --- a/examples/water_fullpol/monopole_polarizable/run.py +++ b/examples/water_fullpol/monopole_polarizable/run.py @@ -13,18 +13,19 @@ H = Hamiltonian('forcefield.xml') pdb = app.PDBFile("waterbox_31ang.pdb") - rc = 6 + rc = 0.6 # generator stores all force field parameters params = H.getParameters() - pot_pme = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.angstrom).dmff_potentials['ADMPPmeForce'] + pots = H.createPotential(pdb.topology, nonbondedMethod=app.PME, nonbondedCutoff=rc*unit.nanometer) + pot_pme = pots.dmff_potentials['ADMPPmeForce'] # construct inputs - positions = jnp.array(pdb.positions._value) * 10 + positions = jnp.array(pdb.positions._value) a, b, c = pdb.topology.getPeriodicBoxVectors() - box = jnp.array([a._value, b._value, c._value]) * 10 + box = jnp.array([a._value, b._value, c._value]) # neighbor list - nbl = nblist.NeighborList(box, rc, H.getGenerators()[0].covalent_map) + nbl = nblist.NeighborList(box, rc, pots.meta['cov_map']) nbl.allocate(positions) E_pme, F_pme = value_and_grad(pot_pme)(positions, box, nbl.pairs, params) diff --git a/examples/water_fullpol/quadrupole_nonpol/run.py b/examples/water_fullpol/quadrupole_nonpol/run.py index b408792aa..6e13c3ffa 100755 --- a/examples/water_fullpol/quadrupole_nonpol/run.py +++ b/examples/water_fullpol/quadrupole_nonpol/run.py @@ -14,20 +14,20 @@ H = Hamiltonian('forcefield.xml') app.Topology.loadBondDefinitions("residues.xml") pdb = app.PDBFile("waterbox_31ang.pdb") - rc = 6 + rc = 0.6 # generator stores all force field parameters params = H.getParameters() - pots = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.angstrom) + pots = H.createPotential(pdb.topology, nonbondedMethod=app.PME, nonbondedCutoff=rc*unit.nanometer) pot_disp = pots.dmff_potentials['ADMPDispForce'] pot_pme = pots.dmff_potentials['ADMPPmeForce'] # construct inputs - positions = jnp.array(pdb.positions._value) * 10 + positions = jnp.array(pdb.positions._value) a, b, c = pdb.topology.getPeriodicBoxVectors() - box = jnp.array([a._value, b._value, c._value]) * 10 + box = jnp.array([a._value, b._value, c._value]) # neighbor list - nbl = nblist.NeighborList(box, rc, H.getGenerators()[0].covalent_map) + nbl = nblist.NeighborList(box, rc, pots.meta["cov_map"]) nbl.allocate(positions) diff --git a/examples/water_fullpol/run.py b/examples/water_fullpol/run.py index dccf92921..badaa453d 100755 --- a/examples/water_fullpol/run.py +++ b/examples/water_fullpol/run.py @@ -13,36 +13,43 @@ H = Hamiltonian('forcefield.xml') app.Topology.loadBondDefinitions("residues.xml") pdb = app.PDBFile("waterbox_31ang.pdb") - rc = 6 + rc = 0.6 # generator stores all force field parameters disp_generator, pme_generator = H.getGenerators() - pots = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.angstrom, ethresh=5e-4) + pots = H.createPotential(pdb.topology, \ + nonbondedMethod=app.PME, \ + nonbondedCutoff=rc*unit.nanometer, \ + has_aux=True, \ + ethresh=5e-4) # construct inputs - positions = jnp.array(pdb.positions._value) * 10 + positions = jnp.array(pdb.positions._value) a, b, c = pdb.topology.getPeriodicBoxVectors() - box = jnp.array([a._value, b._value, c._value]) * 10 + box = jnp.array([a._value, b._value, c._value]) # neighbor list - nbl = nblist.NeighborList(box, rc, H.getGenerators()[0].covalent_map) + nbl = nblist.NeighborList(box, rc, pots.meta['cov_map']) nbl.allocate(positions) params = H.getParameters() pot_disp = pots.dmff_potentials['ADMPDispForce'] - E_disp, F_disp = value_and_grad(pot_disp)(positions, box, nbl.pairs, params) + res_disp, F_disp = value_and_grad(pot_disp, has_aux=True)(positions, box, nbl.pairs, params) + E_disp = res_disp[0] pot_pme = pots.dmff_potentials['ADMPPmeForce'] - E_pme, F_pme = value_and_grad(pot_pme)(positions, box, nbl.pairs, params) + res_pme, F_pme = value_and_grad(pot_pme, has_aux=True)(positions, box, nbl.pairs, params) + E_pme = res_pme[0] + U_ind = res_pme[1]["U_ind"] print('# Electrostatic+Polarization Energy:') print('#', E_pme, 'kJ/mol') print('# Dispersion+Damping Energy:') print('#', E_disp, 'kJ/mol') - # sys.exit() + # compare induced dipole with mpid with open('mpid_dip.pickle', 'rb') as ifile: U_ind_mpid = pickle.load(ifile) * 10 - for x, y in zip(pme_generator.pme_force.U_ind.flatten(), U_ind_mpid.flatten()): + for x, y in zip(U_ind.flatten(), U_ind_mpid.flatten()): print(y, y, x) diff --git a/requirements.txt b/requirements.txt index 9d9f862b5..796776b51 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,4 @@ numpy>=1.18 -jax-md==0.2.0 mkdocs>=1.3.0 mkdocs-autorefs>=0.4.1 mkdocs-gen-files>=0.3.4 @@ -7,8 +6,8 @@ mkdocs-literate-nav>=0.4.1 mkdocstrings>=0.19.0 mkdocstrings-python>=0.7.0 pygments>=2.12 -jax>=0.3.7,<0.3.16 -jaxlib>=0.3.7,<0.3.16 -pymbar==4.0.1 -tqdm==4.64.1 +jax>=0.4.1 +jaxlib>=0.4.1 +pymbar>=4.0.0 +tqdm rdkit==2022.03.2 diff --git a/setup.py b/setup.py index a0d782e4f..57fd41d1b 100644 --- a/setup.py +++ b/setup.py @@ -10,7 +10,7 @@ from m2r import parse_from_file readme = parse_from_file(readme_file) -except ImportError: +except (ImportError, AttributeError) as e: with open(readme_file) as f: readme = f.read() @@ -20,9 +20,13 @@ install_requires = [ "numpy>=1.18", - "jax_md>=0.1.28", "openmm>=7.6.0", - "freud-analysis" + "freud-analysis", + "networkx>=3.0", + "optax>=0.1.4", + "jaxopt>=0.8.0", + "pymbar>=4.0.0", + "tqdm" ] diff --git a/tests/test_api.py b/tests/_test_api.py similarity index 100% rename from tests/test_api.py rename to tests/_test_api.py diff --git a/tests/data/ATOMTYPE.INF b/tests/data/ATOMTYPE.INF new file mode 100644 index 000000000..a61a8f18c --- /dev/null +++ b/tests/data/ATOMTYPE.INF @@ -0,0 +1,395 @@ +==================================================================================== +-------------------------------ring property (I)------------------------------------ + + Ring 1 + + 1 1 1 N1 + 1 2 2 C1 + 1 3 3 N2 + 1 4 4 C2 + 1 5 5 C3 + 1 6 6 C4 + + Ring 2 + + 2 1 5 C3 + 2 2 6 C4 + 2 3 7 C5 + 2 4 8 C6 + 2 5 9 C7 + 2 6 10 C8 + + Ring 3 + + 3 1 9 C7 + 3 2 10 C8 + 3 3 11 N3 + 3 4 12 N4 + 3 5 13 C9 + + Ring 4 + + 4 1 17 C11 + 4 2 18 C12 + 4 3 19 C13 + 4 4 20 C14 + 4 5 21 C15 + 4 6 22 C16 + + Ring 5 + + 5 1 32 N7 + 5 2 33 C20 + 5 3 34 C21 + 5 4 35 N8 + 5 5 36 C22 + 5 6 37 C23 + +==================================================================================== +-------------------------------ring property (II)------------------------------------ +atom[ 1] (N1 ) belongs to one member of 6-membered ring (No 1) +atom[ 2] (C1 ) belongs to one member of 6-membered ring (No 1) +atom[ 3] (N2 ) belongs to one member of 6-membered ring (No 1) +atom[ 4] (C2 ) belongs to one member of 6-membered ring (No 1) +atom[ 5] (C3 ) belongs to one member of 6-membered ring (No 1) +atom[ 6] (C4 ) belongs to one member of 6-membered ring (No 1) +atom[ 5] (C3 ) belongs to one member of 6-membered ring (No 2) +atom[ 6] (C4 ) belongs to one member of 6-membered ring (No 2) +atom[ 7] (C5 ) belongs to one member of 6-membered ring (No 2) +atom[ 8] (C6 ) belongs to one member of 6-membered ring (No 2) +atom[ 9] (C7 ) belongs to one member of 6-membered ring (No 2) +atom[10] (C8 ) belongs to one member of 6-membered ring (No 2) +atom[ 9] (C7 ) belongs to one member of 5-membered ring (No 3) +atom[10] (C8 ) belongs to one member of 5-membered ring (No 3) +atom[11] (N3 ) belongs to one member of 5-membered ring (No 3) +atom[12] (N4 ) belongs to one member of 5-membered ring (No 3) +atom[13] (C9 ) belongs to one member of 5-membered ring (No 3) +atom[17] (C11 ) belongs to one member of 6-membered ring (No 4) +atom[18] (C12 ) belongs to one member of 6-membered ring (No 4) +atom[19] (C13 ) belongs to one member of 6-membered ring (No 4) +atom[20] (C14 ) belongs to one member of 6-membered ring (No 4) +atom[21] (C15 ) belongs to one member of 6-membered ring (No 4) +atom[22] (C16 ) belongs to one member of 6-membered ring (No 4) +atom[32] (N7 ) belongs to one member of 6-membered ring (No 5) +atom[33] (C20 ) belongs to one member of 6-membered ring (No 5) +atom[34] (C21 ) belongs to one member of 6-membered ring (No 5) +atom[35] (N8 ) belongs to one member of 6-membered ring (No 5) +atom[36] (C22 ) belongs to one member of 6-membered ring (No 5) +atom[37] (C23 ) belongs to one member of 6-membered ring (No 5) + +==================================================================================== +-------------------------------ring property (III)----------------------------------- +atom[ 1] (N1 ) involves in 1 6-member of ring(s) +atom[ 2] (C1 ) involves in 1 6-member of ring(s) +atom[ 3] (N2 ) involves in 1 6-member of ring(s) +atom[ 4] (C2 ) involves in 1 6-member of ring(s) +atom[ 5] (C3 ) involves in 2 6-member of ring(s) +atom[ 6] (C4 ) involves in 2 6-member of ring(s) +atom[ 7] (C5 ) involves in 1 6-member of ring(s) +atom[ 8] (C6 ) involves in 1 6-member of ring(s) +atom[ 9] (C7 ) involves in 1 5-member of ring(s) +atom[ 9] (C7 ) involves in 1 6-member of ring(s) +atom[10] (C8 ) involves in 1 5-member of ring(s) +atom[10] (C8 ) involves in 1 6-member of ring(s) +atom[11] (N3 ) involves in 1 5-member of ring(s) +atom[12] (N4 ) involves in 1 5-member of ring(s) +atom[13] (C9 ) involves in 1 5-member of ring(s) +atom[14] (N5 ) is not in any ring (nr[14]=1) +atom[15] (C10 ) is not in any ring (nr[15]=1) +atom[16] (O1 ) is not in any ring (nr[16]=1) +atom[17] (C11 ) involves in 1 6-member of ring(s) +atom[18] (C12 ) involves in 1 6-member of ring(s) +atom[19] (C13 ) involves in 1 6-member of ring(s) +atom[20] (C14 ) involves in 1 6-member of ring(s) +atom[21] (C15 ) involves in 1 6-member of ring(s) +atom[22] (C16 ) involves in 1 6-member of ring(s) +atom[23] (O2 ) is not in any ring (nr[23]=1) +atom[24] (C17 ) is not in any ring (nr[24]=1) +atom[25] (F1 ) is not in any ring (nr[25]=1) +atom[26] (F2 ) is not in any ring (nr[26]=1) +atom[27] (F3 ) is not in any ring (nr[27]=1) +atom[28] (N6 ) is not in any ring (nr[28]=1) +atom[29] (C18 ) is not in any ring (nr[29]=1) +atom[30] (C19 ) is not in any ring (nr[30]=1) +atom[31] (O3 ) is not in any ring (nr[31]=1) +atom[32] (N7 ) involves in 1 6-member of ring(s) +atom[33] (C20 ) involves in 1 6-member of ring(s) +atom[34] (C21 ) involves in 1 6-member of ring(s) +atom[35] (N8 ) involves in 1 6-member of ring(s) +atom[36] (C22 ) involves in 1 6-member of ring(s) +atom[37] (C23 ) involves in 1 6-member of ring(s) +atom[38] (C24 ) is not in any ring (nr[38]=1) +atom[39] (H1 ) is not in any ring (nr[39]=1) +atom[40] (H2 ) is not in any ring (nr[40]=1) +atom[41] (H3 ) is not in any ring (nr[41]=1) +atom[42] (H4 ) is not in any ring (nr[42]=1) +atom[43] (H5 ) is not in any ring (nr[43]=1) +atom[44] (H6 ) is not in any ring (nr[44]=1) +atom[45] (H7 ) is not in any ring (nr[45]=1) +atom[46] (H8 ) is not in any ring (nr[46]=1) +atom[47] (H9 ) is not in any ring (nr[47]=1) +atom[48] (H10 ) is not in any ring (nr[48]=1) +atom[49] (H11 ) is not in any ring (nr[49]=1) +atom[50] (H12 ) is not in any ring (nr[50]=1) +atom[51] (H13 ) is not in any ring (nr[51]=1) +atom[52] (H14 ) is not in any ring (nr[52]=1) +atom[53] (H15 ) is not in any ring (nr[53]=1) +atom[54] (H16 ) is not in any ring (nr[54]=1) +atom[55] (H17 ) is not in any ring (nr[55]=1) +atom[56] (H18 ) is not in any ring (nr[56]=1) +atom[57] (H19 ) is not in any ring (nr[57]=1) +atom[58] (H20 ) is not in any ring (nr[58]=1) +atom[59] (H21 ) is not in any ring (nr[59]=1) +atom[60] (H22 ) is not in any ring (nr[60]=1) +atom[61] (H23 ) is not in any ring (nr[61]=1) +atom[62] (H24 ) is not in any ring (nr[62]=1) +atom[63] (H25 ) is not in any ring (nr[63]=1) +atom[64] (H26 ) is not in any ring (nr[64]=1) +atom[65] (H27 ) is not in any ring (nr[65]=1) +atom[66] (H28 ) is not in any ring (nr[66]=1) + +==================================================================================== +-------------------------------aromatic property------------------------------------ +atom[ 1] (N1 ) is in 1 pure aromatic ring(s) (AR1) +atom[ 2] (C1 ) is in 1 pure aromatic ring(s) (AR1) +atom[ 3] (N2 ) is in 1 pure aromatic ring(s) (AR1) +atom[ 4] (C2 ) is in 1 pure aromatic ring(s) (AR1) +atom[ 5] (C3 ) is in 1 pure aromatic ring(s) (AR1) +atom[ 5] (C3 ) is in 1 non-planar ring(s) (AR4) +atom[ 6] (C4 ) is in 1 pure aromatic ring(s) (AR1) +atom[ 6] (C4 ) is in 1 non-planar ring(s) (AR4) +atom[ 7] (C5 ) is in 1 non-planar ring(s) (AR4) +atom[ 8] (C6 ) is in 1 non-planar ring(s) (AR4) +atom[ 9] (C7 ) is in 1 planar ring(s) (AR2) +atom[ 9] (C7 ) is in 1 non-planar ring(s) (AR4) +atom[10] (C8 ) is in 1 planar ring(s) (AR2) +atom[10] (C8 ) is in 1 non-planar ring(s) (AR4) +atom[11] (N3 ) is in 1 planar ring(s) (AR2) +atom[12] (N4 ) is in 1 planar ring(s) (AR2) +atom[13] (C9 ) is in 1 planar ring(s) (AR2) +atom[17] (C11 ) is in 1 pure aromatic ring(s) (AR1) +atom[18] (C12 ) is in 1 pure aromatic ring(s) (AR1) +atom[19] (C13 ) is in 1 pure aromatic ring(s) (AR1) +atom[20] (C14 ) is in 1 pure aromatic ring(s) (AR1) +atom[21] (C15 ) is in 1 pure aromatic ring(s) (AR1) +atom[22] (C16 ) is in 1 pure aromatic ring(s) (AR1) +atom[32] (N7 ) is in 1 non-planar ring(s) (AR4) +atom[33] (C20 ) is in 1 non-planar ring(s) (AR4) +atom[34] (C21 ) is in 1 non-planar ring(s) (AR4) +atom[35] (N8 ) is in 1 non-planar ring(s) (AR4) +atom[36] (C22 ) is in 1 non-planar ring(s) (AR4) +atom[37] (C23 ) is in 1 non-planar ring(s) (AR4) + +==================================================================================== +-------------------------------electronic property---------------------------------- +atom [ 1] (N1 ) is an electron-withdrew atom +atom [ 2] (C1 ) is not an electron-withdrew atom +atom [ 3] (N2 ) is an electron-withdrew atom +atom [ 4] (C2 ) is not an electron-withdrew atom +atom [ 5] (C3 ) is not an electron-withdrew atom +atom [ 6] (C4 ) is not an electron-withdrew atom +atom [ 7] (C5 ) is not an electron-withdrew atom +atom [ 8] (C6 ) is not an electron-withdrew atom +atom [ 9] (C7 ) is not an electron-withdrew atom +atom [10] (C8 ) is not an electron-withdrew atom +atom [11] (N3 ) is an electron-withdrew atom +atom [12] (N4 ) is an electron-withdrew atom +atom [13] (C9 ) is not an electron-withdrew atom +atom [14] (N5 ) is an electron-withdrew atom +atom [15] (C10 ) is not an electron-withdrew atom +atom [16] (O1 ) is an electron-withdrew atom +atom [17] (C11 ) is not an electron-withdrew atom +atom [18] (C12 ) is not an electron-withdrew atom +atom [19] (C13 ) is not an electron-withdrew atom +atom [20] (C14 ) is not an electron-withdrew atom +atom [21] (C15 ) is not an electron-withdrew atom +atom [22] (C16 ) is not an electron-withdrew atom +atom [23] (O2 ) is an electron-withdrew atom +atom [24] (C17 ) is not an electron-withdrew atom +atom [25] (F1 ) is an electron-withdrew atom +atom [26] (F2 ) is an electron-withdrew atom +atom [27] (F3 ) is an electron-withdrew atom +atom [28] (N6 ) is an electron-withdrew atom +atom [29] (C18 ) is not an electron-withdrew atom +atom [30] (C19 ) is not an electron-withdrew atom +atom [31] (O3 ) is an electron-withdrew atom +atom [32] (N7 ) is an electron-withdrew atom +atom [33] (C20 ) is not an electron-withdrew atom +atom [34] (C21 ) is not an electron-withdrew atom +atom [35] (N8 ) is an electron-withdrew atom +atom [36] (C22 ) is not an electron-withdrew atom +atom [37] (C23 ) is not an electron-withdrew atom +atom [38] (C24 ) is not an electron-withdrew atom +atom [39] (H1 ) is not an electron-withdrew atom +atom [40] (H2 ) is not an electron-withdrew atom +atom [41] (H3 ) is not an electron-withdrew atom +atom [42] (H4 ) is not an electron-withdrew atom +atom [43] (H5 ) is not an electron-withdrew atom +atom [44] (H6 ) is not an electron-withdrew atom +atom [45] (H7 ) is not an electron-withdrew atom +atom [46] (H8 ) is not an electron-withdrew atom +atom [47] (H9 ) is not an electron-withdrew atom +atom [48] (H10 ) is not an electron-withdrew atom +atom [49] (H11 ) is not an electron-withdrew atom +atom [50] (H12 ) is not an electron-withdrew atom +atom [51] (H13 ) is not an electron-withdrew atom +atom [52] (H14 ) is not an electron-withdrew atom +atom [53] (H15 ) is not an electron-withdrew atom +atom [54] (H16 ) is not an electron-withdrew atom +atom [55] (H17 ) is not an electron-withdrew atom +atom [56] (H18 ) is not an electron-withdrew atom +atom [57] (H19 ) is not an electron-withdrew atom +atom [58] (H20 ) is not an electron-withdrew atom +atom [59] (H21 ) is not an electron-withdrew atom +atom [60] (H22 ) is not an electron-withdrew atom +atom [61] (H23 ) is not an electron-withdrew atom +atom [62] (H24 ) is not an electron-withdrew atom +atom [63] (H25 ) is not an electron-withdrew atom +atom [64] (H26 ) is not an electron-withdrew atom +atom [65] (H27 ) is not an electron-withdrew atom +atom [66] (H28 ) is not an electron-withdrew atom + +==================================================================================== +--------------------------------connectivity property------------------------------- +atom[ 1] (N1 ) 2 C1 +atom[ 1] (N1 ) 4 C2 +atom[ 2] (C1 ) 1 N1 +atom[ 2] (C1 ) 3 N2 +atom[ 2] (C1 ) 14 N5 +atom[ 3] (N2 ) 2 C1 +atom[ 3] (N2 ) 6 C4 +atom[ 4] (C2 ) 1 N1 +atom[ 4] (C2 ) 5 C3 +atom[ 4] (C2 ) 66 H28 +atom[ 5] (C3 ) 4 C2 +atom[ 5] (C3 ) 6 C4 +atom[ 5] (C3 ) 8 C6 +atom[ 6] (C4 ) 3 N2 +atom[ 6] (C4 ) 5 C3 +atom[ 6] (C4 ) 10 C8 +atom[ 7] (C5 ) 8 C6 +atom[ 7] (C5 ) 9 C7 +atom[ 7] (C5 ) 39 H1 +atom[ 7] (C5 ) 40 H2 +atom[ 8] (C6 ) 5 C3 +atom[ 8] (C6 ) 7 C5 +atom[ 8] (C6 ) 41 H3 +atom[ 8] (C6 ) 42 H4 +atom[ 9] (C7 ) 7 C5 +atom[ 9] (C7 ) 10 C8 +atom[ 9] (C7 ) 13 C9 +atom[10] (C8 ) 6 C4 +atom[10] (C8 ) 9 C7 +atom[10] (C8 ) 11 N3 +atom[11] (N3 ) 10 C8 +atom[11] (N3 ) 12 N4 +atom[11] (N3 ) 29 C18 +atom[12] (N4 ) 11 N3 +atom[12] (N4 ) 13 C9 +atom[13] (C9 ) 9 C7 +atom[13] (C9 ) 12 N4 +atom[13] (C9 ) 15 C10 +atom[14] (N5 ) 2 C1 +atom[14] (N5 ) 17 C11 +atom[14] (N5 ) 43 H5 +atom[15] (C10 ) 13 C9 +atom[15] (C10 ) 16 O1 +atom[15] (C10 ) 28 N6 +atom[16] (O1 ) 15 C10 +atom[17] (C11 ) 14 N5 +atom[17] (C11 ) 18 C12 +atom[17] (C11 ) 22 C16 +atom[18] (C12 ) 17 C11 +atom[18] (C12 ) 19 C13 +atom[18] (C12 ) 44 H6 +atom[19] (C13 ) 18 C12 +atom[19] (C13 ) 20 C14 +atom[19] (C13 ) 32 N7 +atom[20] (C14 ) 19 C13 +atom[20] (C14 ) 21 C15 +atom[20] (C14 ) 45 H7 +atom[21] (C15 ) 20 C14 +atom[21] (C15 ) 22 C16 +atom[21] (C15 ) 46 H8 +atom[22] (C16 ) 17 C11 +atom[22] (C16 ) 21 C15 +atom[22] (C16 ) 23 O2 +atom[23] (O2 ) 22 C16 +atom[23] (O2 ) 24 C17 +atom[24] (C17 ) 23 O2 +atom[24] (C17 ) 25 F1 +atom[24] (C17 ) 26 F2 +atom[24] (C17 ) 27 F3 +atom[25] (F1 ) 24 C17 +atom[26] (F2 ) 24 C17 +atom[27] (F3 ) 24 C17 +atom[28] (N6 ) 15 C10 +atom[28] (N6 ) 47 H9 +atom[28] (N6 ) 48 H10 +atom[29] (C18 ) 11 N3 +atom[29] (C18 ) 30 C19 +atom[29] (C18 ) 49 H11 +atom[29] (C18 ) 50 H12 +atom[30] (C19 ) 29 C18 +atom[30] (C19 ) 31 O3 +atom[30] (C19 ) 51 H13 +atom[30] (C19 ) 52 H14 +atom[31] (O3 ) 30 C19 +atom[31] (O3 ) 53 H15 +atom[32] (N7 ) 19 C13 +atom[32] (N7 ) 33 C20 +atom[32] (N7 ) 37 C23 +atom[33] (C20 ) 32 N7 +atom[33] (C20 ) 34 C21 +atom[33] (C20 ) 54 H16 +atom[33] (C20 ) 55 H17 +atom[34] (C21 ) 33 C20 +atom[34] (C21 ) 35 N8 +atom[34] (C21 ) 56 H18 +atom[34] (C21 ) 57 H19 +atom[35] (N8 ) 34 C21 +atom[35] (N8 ) 36 C22 +atom[35] (N8 ) 38 C24 +atom[35] (N8 ) 58 H20 +atom[36] (C22 ) 35 N8 +atom[36] (C22 ) 37 C23 +atom[36] (C22 ) 59 H21 +atom[36] (C22 ) 60 H22 +atom[37] (C23 ) 32 N7 +atom[37] (C23 ) 36 C22 +atom[37] (C23 ) 61 H23 +atom[37] (C23 ) 62 H24 +atom[38] (C24 ) 35 N8 +atom[38] (C24 ) 63 H25 +atom[38] (C24 ) 64 H26 +atom[38] (C24 ) 65 H27 +atom[39] (H1 ) 7 C5 +atom[40] (H2 ) 7 C5 +atom[41] (H3 ) 8 C6 +atom[42] (H4 ) 8 C6 +atom[43] (H5 ) 14 N5 +atom[44] (H6 ) 18 C12 +atom[45] (H7 ) 20 C14 +atom[46] (H8 ) 21 C15 +atom[47] (H9 ) 28 N6 +atom[48] (H10 ) 28 N6 +atom[49] (H11 ) 29 C18 +atom[50] (H12 ) 29 C18 +atom[51] (H13 ) 30 C19 +atom[52] (H14 ) 30 C19 +atom[53] (H15 ) 31 O3 +atom[54] (H16 ) 33 C20 +atom[55] (H17 ) 33 C20 +atom[56] (H18 ) 34 C21 +atom[57] (H19 ) 34 C21 +atom[58] (H20 ) 35 N8 +atom[59] (H21 ) 36 C22 +atom[60] (H22 ) 36 C22 +atom[61] (H23 ) 37 C23 +atom[62] (H24 ) 37 C23 +atom[63] (H25 ) 38 C24 +atom[64] (H26 ) 38 C24 +atom[65] (H27 ) 38 C24 +atom[66] (H28 ) 4 C2 +----------------------------------------END----------------------------------------- + diff --git a/tests/data/admp_charge.xml b/tests/data/admp_charge.xml new file mode 100644 index 000000000..8f7eedd43 --- /dev/null +++ b/tests/data/admp_charge.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/data/admp_mono.xml b/tests/data/admp_mono.xml new file mode 100644 index 000000000..3970ff522 --- /dev/null +++ b/tests/data/admp_mono.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/data/admp_nonpol.xml b/tests/data/admp_nonpol.xml new file mode 100644 index 000000000..7cc1b4653 --- /dev/null +++ b/tests/data/admp_nonpol.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/data/ala3.pdb b/tests/data/ala3.pdb new file mode 100644 index 000000000..7fc07d209 --- /dev/null +++ b/tests/data/ala3.pdb @@ -0,0 +1,35 @@ +ATOM 1 N ALA 1 3.326 1.548 -0.000 1.00 0.00 +ATOM 2 H1 ALA 1 4.046 0.840 -0.000 1.00 0.00 +ATOM 3 H2 ALA 1 2.823 1.500 -0.875 1.00 0.00 +ATOM 4 H3 ALA 1 2.823 1.500 0.875 1.00 0.00 +ATOM 5 CA ALA 1 3.970 2.846 -0.000 1.00 0.00 +ATOM 6 HA ALA 1 3.672 3.400 -0.890 1.00 0.00 +ATOM 7 CB ALA 1 3.577 3.654 1.232 1.00 0.00 +ATOM 8 HB1 ALA 1 3.877 3.116 2.131 1.00 0.00 +ATOM 9 HB2 ALA 1 4.075 4.623 1.206 1.00 0.00 +ATOM 10 HB3 ALA 1 2.497 3.801 1.241 1.00 0.00 +ATOM 11 C ALA 1 5.486 2.705 -0.000 1.00 0.00 +ATOM 12 O ALA 1 6.009 1.593 -0.000 1.00 0.00 +ATOM 13 N ALA 2 6.191 3.839 -0.000 1.00 0.00 +ATOM 14 H ALA 2 5.715 4.730 -0.000 1.00 0.00 +ATOM 15 CA ALA 2 7.640 3.839 -0.000 1.00 0.00 +ATOM 16 HA ALA 2 8.004 3.325 0.890 1.00 0.00 +ATOM 17 CB ALA 2 8.189 3.127 -1.232 1.00 0.00 +ATOM 18 HB1 ALA 2 7.841 3.636 -2.131 1.00 0.00 +ATOM 19 HB2 ALA 2 9.279 3.142 -1.206 1.00 0.00 +ATOM 20 HB3 ALA 2 7.841 2.094 -1.241 1.00 0.00 +ATOM 21 C ALA 2 8.188 5.259 -0.000 1.00 0.00 +ATOM 22 O ALA 2 7.425 6.222 0.000 1.00 0.00 +ATOM 23 N ALA 3 9.517 5.386 -0.000 1.00 0.00 +ATOM 24 H ALA 3 10.103 4.564 -0.000 1.00 0.00 +ATOM 25 CA ALA 3 10.161 6.684 0.000 1.00 0.00 +ATOM 26 HA ALA 3 9.863 7.239 -0.890 1.00 0.00 +ATOM 27 CB ALA 3 9.768 7.492 1.232 1.00 0.00 +ATOM 28 HB1 ALA 3 10.068 6.954 2.131 1.00 0.00 +ATOM 29 HB2 ALA 3 10.266 8.462 1.206 1.00 0.00 +ATOM 30 HB3 ALA 3 8.688 7.640 1.241 1.00 0.00 +ATOM 31 C ALA 3 11.677 6.544 -0.000 1.00 0.00 +ATOM 32 O ALA 3 12.200 5.432 -0.000 1.00 0.00 +ATOM 33 OXT ALA 3 12.395 7.541 -0.000 1.00 0.00 +TER +END diff --git a/tests/data/amber14_prot.xml b/tests/data/amber14_prot.xml new file mode 100644 index 000000000..909706da0 --- /dev/null +++ b/tests/data/amber14_prot.xml @@ -0,0 +1,3444 @@ + + + 2018-03-02 + leaprc.protein.ff14SB + Maier, J.A., Martinez, C., Kasavajhala, K., Wickstrom, L., Hauser, K.E., and Simmerling, C. (2015). ff14SB: Improving the Accuracy of Protein Side Chain and Backbone Parameters from ff99SB. J. Chem. Theory Comput. 11, 3696-3713. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/data/c4h10.pdb b/tests/data/c4h10.pdb new file mode 100644 index 000000000..2b2f466ab --- /dev/null +++ b/tests/data/c4h10.pdb @@ -0,0 +1,16 @@ +COMPND UNNAMED +AUTHOR GENERATED BY OPEN BABEL 2.3.90 +HETATM 1 C1 UNL 1 6.526 2.674 3.202 1.00 0.00 C +HETATM 2 H1 UNL 1 6.916 2.089 2.342 1.00 0.00 H +HETATM 3 H2 UNL 1 6.916 3.712 3.145 1.00 0.00 H +HETATM 4 H3 UNL 1 6.889 2.209 4.142 1.00 0.00 H +HETATM 5 C2 UNL 1 5.000 2.679 3.191 1.00 0.00 C +HETATM 6 H4 UNL 1 4.636 1.632 3.271 1.00 0.00 H +HETATM 7 H5 UNL 1 4.636 3.252 4.072 1.00 0.00 H +HETATM 8 C3 UNL 1 4.459 3.315 1.905 1.00 0.00 C +HETATM 9 H6 UNL 1 4.822 2.743 1.024 1.00 0.00 H +HETATM 10 H7 UNL 1 4.822 4.363 1.825 1.00 0.00 H +HETATM 11 C4 UNL 1 2.933 3.321 1.894 1.00 0.00 C +HETATM 12 H8 UNL 1 2.543 2.282 1.951 1.00 0.00 H +HETATM 13 H9 UNL 1 2.543 3.906 2.754 1.00 0.00 H +HETATM 14 H UNL 1 2.569 3.786 0.953 1.00 0.00 H \ No newline at end of file diff --git a/tests/data/dimer/ala.pdb b/tests/data/dimer/ala.pdb new file mode 100644 index 000000000..c9f6cbd24 --- /dev/null +++ b/tests/data/dimer/ala.pdb @@ -0,0 +1,24 @@ +ATOM 1 H1 ACE 1 2.000 2.000 -0.000 1.00 0.00 +ATOM 2 CH3 ACE 1 2.000 3.090 0.000 1.00 0.00 +ATOM 3 H2 ACE 1 1.486 3.454 0.890 1.00 0.00 +ATOM 4 H3 ACE 1 1.486 3.454 -0.890 1.00 0.00 +ATOM 5 C ACE 1 3.427 3.641 -0.000 1.00 0.00 +ATOM 6 O ACE 1 4.391 2.877 -0.000 1.00 0.00 +ATOM 7 N ALA 2 3.555 4.970 -0.000 1.00 0.00 +ATOM 8 H ALA 2 2.733 5.556 -0.000 1.00 0.00 +ATOM 9 CA ALA 2 4.853 5.614 -0.000 1.00 0.00 +ATOM 10 HA ALA 2 5.408 5.316 0.890 1.00 0.00 +ATOM 11 CB ALA 2 5.661 5.221 -1.232 1.00 0.00 +ATOM 12 HB1 ALA 2 5.123 5.521 -2.131 1.00 0.00 +ATOM 13 HB2 ALA 2 6.630 5.719 -1.206 1.00 0.00 +ATOM 14 HB3 ALA 2 5.809 4.141 -1.241 1.00 0.00 +ATOM 15 C ALA 2 4.713 7.129 0.000 1.00 0.00 +ATOM 16 O ALA 2 3.601 7.653 0.000 1.00 0.00 +ATOM 17 N NME 3 5.846 7.835 0.000 1.00 0.00 +ATOM 18 H NME 3 6.737 7.359 -0.000 1.00 0.00 +ATOM 19 C NME 3 5.846 9.284 0.000 1.00 0.00 +ATOM 20 H1 NME 3 4.819 9.648 0.000 1.00 0.00 +ATOM 21 H2 NME 3 6.360 9.648 0.890 1.00 0.00 +ATOM 22 H3 NME 3 6.360 9.648 -0.890 1.00 0.00 +TER +END diff --git a/tests/data/dimer/amber14_prot.xml b/tests/data/dimer/amber14_prot.xml new file mode 100644 index 000000000..98fb05f5b --- /dev/null +++ b/tests/data/dimer/amber14_prot.xml @@ -0,0 +1,2860 @@ + + + 2018-03-02 + leaprc.protein.ff14SB + Maier, J.A., Martinez, C., Kasavajhala, K., Wickstrom, L., Hauser, K.E., and Simmerling, C. (2015). ff14SB: Improving the Accuracy of Protein Side Chain and Backbone Parameters from ff99SB. J. Chem. Theory Comput. 11, 3696-3713. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/data/dimer/forcefield.xml b/tests/data/dimer/forcefield.xml new file mode 100644 index 000000000..97767adeb --- /dev/null +++ b/tests/data/dimer/forcefield.xml @@ -0,0 +1,768 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/data/dimer/gaff2.xml b/tests/data/dimer/gaff2.xml new file mode 100644 index 000000000..47c194c72 --- /dev/null +++ b/tests/data/dimer/gaff2.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/data/dimer/ligand.mol b/tests/data/dimer/ligand.mol new file mode 100644 index 000000000..6f14bb7d9 --- /dev/null +++ b/tests/data/dimer/ligand.mol @@ -0,0 +1,59 @@ + + OpenBabel04192313323D + + 26 28 0 0 1 0 0 0 0 0999 V2000 + -15.4027 -19.2256 -25.9240 C 0 0 0 0 0 0 0 0 0 0 0 0 + -14.6892 -19.7085 -27.0431 C 0 0 0 0 0 0 0 0 0 0 0 0 + -15.8773 -20.1670 -24.9825 C 0 0 0 0 0 0 0 0 0 0 0 0 + -14.4634 -21.0792 -27.2135 C 0 0 0 0 0 0 0 0 0 0 0 0 + -15.6470 -21.5325 -25.1586 C 0 0 0 0 0 0 0 0 0 0 0 0 + -15.0906 -16.9038 -26.6883 N 0 0 0 0 0 0 0 0 0 0 0 0 + -14.9431 -21.9895 -26.2706 C 0 0 0 0 0 0 0 0 0 0 0 0 + -15.2240 -15.5570 -26.5892 C 0 0 0 0 0 0 0 0 0 0 0 0 + -15.9271 -14.9998 -25.5039 C 0 0 0 0 0 0 0 0 0 0 0 0 + -15.4728 -12.7759 -26.3665 C 0 0 0 0 0 0 0 0 0 0 0 0 + -14.7841 -13.3337 -27.4478 N 0 0 0 0 0 0 0 0 0 0 0 0 + -16.0465 -13.6026 -25.3968 C 0 0 0 0 0 0 0 0 0 0 0 0 + -14.6586 -14.7220 -27.5604 C 0 0 0 0 0 0 0 0 0 0 0 0 + -16.4842 -15.8754 -24.5621 C 0 0 0 0 0 0 0 0 0 0 0 0 + -16.3210 -17.2301 -24.7103 N 0 0 0 0 0 0 0 0 0 0 0 0 + -15.6200 -17.7529 -25.7632 C 0 0 0 0 0 0 0 0 0 0 0 0 + -17.1111 -15.4460 -23.6075 O 0 0 0 0 0 0 0 0 0 0 0 0 + -14.3021 -19.0271 -27.7905 H 0 0 0 0 0 0 0 0 0 0 0 0 + -16.4234 -19.8826 -24.0994 H 0 0 0 0 0 0 0 0 0 0 0 0 + -13.5747 -21.6566 -28.6115 Cl 0 0 0 0 0 0 0 0 0 0 0 0 + -16.0167 -22.2375 -24.4251 H 0 0 0 0 0 0 0 0 0 0 0 0 + -16.5767 -13.1515 -24.5670 H 0 0 0 0 0 0 0 0 0 0 0 0 + -16.7515 -17.8358 -23.9820 H 0 0 0 0 0 0 0 0 0 0 0 0 + -14.1205 -15.1449 -28.3999 H 0 0 0 0 0 0 0 0 0 0 0 0 + -15.5636 -11.7012 -26.2789 H 0 0 0 0 0 0 0 0 0 0 0 0 + -14.7707 -23.0504 -26.3961 H 0 0 0 0 0 0 0 0 0 0 0 0 + 1 2 2 0 0 0 0 + 1 3 1 0 0 0 0 + 1 16 1 0 0 0 0 + 2 4 1 0 0 0 0 + 2 18 1 0 0 0 0 + 3 5 2 0 0 0 0 + 3 19 1 0 0 0 0 + 4 7 2 0 0 0 0 + 4 20 1 0 0 0 0 + 5 7 1 0 0 0 0 + 5 21 1 0 0 0 0 + 6 8 1 0 0 0 0 + 6 16 2 0 0 0 0 + 7 26 1 0 0 0 0 + 8 9 2 0 0 0 0 + 8 13 1 0 0 0 0 + 9 12 1 0 0 0 0 + 9 14 1 0 0 0 0 + 10 11 1 0 0 0 0 + 10 12 2 0 0 0 0 + 10 25 1 0 0 0 0 + 11 13 2 0 0 0 0 + 12 22 1 0 0 0 0 + 13 24 1 0 0 0 0 + 14 15 1 0 0 0 0 + 14 17 2 0 0 0 0 + 15 16 1 0 0 0 0 + 15 23 1 0 0 0 0 +M END diff --git a/tests/data/dimer/mol1.mol b/tests/data/dimer/mol1.mol new file mode 100644 index 000000000..3cbaba998 --- /dev/null +++ b/tests/data/dimer/mol1.mol @@ -0,0 +1,27 @@ + + OpenBabel04202319413D + + 11 11 0 0 0 0 0 0 0 0999 V2000 + -3.4477 1.0275 -0.7971 N 0 0 0 0 0 0 0 0 0 0 0 0 + -4.2452 0.5243 0.1835 C 0 0 0 0 0 0 0 0 0 0 0 0 + -3.8440 -0.6065 0.9001 C 0 0 0 0 0 0 0 0 0 0 0 0 + -2.6206 -1.2082 0.5968 C 0 0 0 0 0 0 0 0 0 0 0 0 + -1.8167 -0.6756 -0.4138 C 0 0 0 0 0 0 0 0 0 0 0 0 + -2.2527 0.4563 -1.1079 C 0 0 0 0 0 0 0 0 0 0 0 0 + -5.1900 1.0015 0.4067 H 0 0 0 0 0 0 0 0 0 0 0 0 + -4.4743 -1.0114 1.6813 H 0 0 0 0 0 0 0 0 0 0 0 0 + -2.2964 -2.0844 1.1431 H 0 0 0 0 0 0 0 0 0 0 0 0 + -0.8668 -1.1341 -0.6563 H 0 0 0 0 0 0 0 0 0 0 0 0 + -1.6412 0.8809 -1.8927 H 0 0 0 0 0 0 0 0 0 0 0 0 + 1 2 2 0 0 0 0 + 1 6 1 0 0 0 0 + 2 3 1 0 0 0 0 + 2 7 1 0 0 0 0 + 3 4 2 0 0 0 0 + 3 8 1 0 0 0 0 + 4 5 1 0 0 0 0 + 4 9 1 0 0 0 0 + 5 6 2 0 0 0 0 + 5 10 1 0 0 0 0 + 6 11 1 0 0 0 0 +M END diff --git a/tests/data/dimer/mol2.mol b/tests/data/dimer/mol2.mol new file mode 100644 index 000000000..d038c6f44 --- /dev/null +++ b/tests/data/dimer/mol2.mol @@ -0,0 +1,14 @@ + + OpenBabel04202319413D + + 5 4 0 0 0 0 0 0 0 0999 V2000 + -1.2160 2.1300 2.0180 Cl 0 0 0 0 0 0 0 0 0 0 0 0 + -1.1160 2.0640 3.7910 C 0 0 0 0 0 0 0 0 0 0 0 0 + -1.6430 2.9400 4.2230 H 0 0 0 0 0 0 0 0 0 0 0 0 + -1.5910 1.1300 4.1540 H 0 0 0 0 0 0 0 0 0 0 0 0 + -0.0510 2.0840 4.1020 H 0 0 0 0 0 0 0 0 0 0 0 0 + 1 2 1 0 0 0 0 + 2 5 1 0 0 0 0 + 2 4 1 0 0 0 0 + 2 3 1 0 0 0 0 +M END diff --git a/tests/data/dimer/test-init.xml b/tests/data/dimer/test-init.xml new file mode 100644 index 000000000..353a4ca59 --- /dev/null +++ b/tests/data/dimer/test-init.xml @@ -0,0 +1,3663 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/data/dimer/test-opt.xml b/tests/data/dimer/test-opt.xml new file mode 100644 index 000000000..8c3d21b05 --- /dev/null +++ b/tests/data/dimer/test-opt.xml @@ -0,0 +1,3663 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/data/eann_model.pickle b/tests/data/eann_model.pickle new file mode 100644 index 000000000..df63519ff Binary files /dev/null and b/tests/data/eann_model.pickle differ diff --git a/tests/data/ethane_smarts_newapi.xml b/tests/data/ethane_smarts_newapi.xml new file mode 100644 index 000000000..1e859a7c6 --- /dev/null +++ b/tests/data/ethane_smarts_newapi.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/data/ethane_smirks.xml b/tests/data/ethane_smirks.xml index d70c36316..725623e82 100644 --- a/tests/data/ethane_smirks.xml +++ b/tests/data/ethane_smirks.xml @@ -46,6 +46,6 @@ - + diff --git a/tests/data/gaff-2.11 copy.xml b/tests/data/gaff-2.11 copy.xml new file mode 100644 index 000000000..9839c5c0b --- /dev/null +++ b/tests/data/gaff-2.11 copy.xml @@ -0,0 +1,7469 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/data/inter_test.xml b/tests/data/inter_test.xml new file mode 100644 index 000000000..5f8384d55 --- /dev/null +++ b/tests/data/inter_test.xml @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/data/lig copy.pdb b/tests/data/lig copy.pdb new file mode 100644 index 000000000..23b7838c3 --- /dev/null +++ b/tests/data/lig copy.pdb @@ -0,0 +1,69 @@ +REMARK 1 CREATED WITH OPENMM 7.6, 2022-01-13 +HETATM 1 N1 LIG A 1 -43.959 14.987 8.022 1.00 0.00 N +HETATM 2 C1 LIG A 1 -44.170 13.741 8.211 1.00 0.00 C +HETATM 3 N2 LIG A 1 -43.809 13.116 9.424 1.00 0.00 N +HETATM 4 C2 LIG A 1 -43.349 15.775 9.031 1.00 0.00 C +HETATM 5 C3 LIG A 1 -42.992 15.185 10.193 1.00 0.00 C +HETATM 6 C4 LIG A 1 -43.249 13.756 10.359 1.00 0.00 C +HETATM 7 C5 LIG A 1 -41.405 15.095 12.249 1.00 0.00 C +HETATM 8 C6 LIG A 1 -42.331 15.977 11.325 1.00 0.00 C +HETATM 9 C7 LIG A 1 -41.861 13.645 12.355 1.00 0.00 C +HETATM 10 C8 LIG A 1 -42.724 13.081 11.541 1.00 0.00 C +HETATM 11 N3 LIG A 1 -42.914 11.763 11.977 1.00 0.00 N +HETATM 12 N4 LIG A 1 -42.137 11.543 13.076 1.00 0.00 N +HETATM 13 C9 LIG A 1 -41.488 12.622 13.335 1.00 0.00 C +HETATM 14 N5 LIG A 1 -44.702 12.908 7.219 1.00 0.00 N +HETATM 15 C10 LIG A 1 -40.510 12.742 14.454 1.00 0.00 C +HETATM 16 O1 LIG A 1 -39.982 13.815 14.738 1.00 0.00 O +HETATM 17 C11 LIG A 1 -45.103 11.514 7.284 1.00 0.00 C +HETATM 18 C12 LIG A 1 -44.195 10.590 7.720 1.00 0.00 C +HETATM 19 C13 LIG A 1 -44.561 9.134 7.798 1.00 0.00 C +HETATM 20 C14 LIG A 1 -45.816 8.749 7.423 1.00 0.00 C +HETATM 21 C15 LIG A 1 -46.793 9.732 6.956 1.00 0.00 C +HETATM 22 C16 LIG A 1 -46.474 11.050 6.883 1.00 0.00 C +HETATM 23 O2 LIG A 1 -47.390 12.033 6.438 1.00 0.00 O +HETATM 24 C17 LIG A 1 -47.858 11.964 5.076 1.00 0.00 C +HETATM 25 F1 LIG A 1 -48.865 11.048 4.992 1.00 0.00 F +HETATM 26 F2 LIG A 1 -48.336 13.205 4.673 1.00 0.00 F +HETATM 27 F3 LIG A 1 -46.864 11.550 4.200 1.00 0.00 F +HETATM 28 N6 LIG A 1 -40.171 11.604 15.192 1.00 0.00 N +HETATM 29 C18 LIG A 1 -43.759 10.766 11.350 1.00 0.00 C +HETATM 30 C19 LIG A 1 -44.422 9.875 12.402 1.00 0.00 C +HETATM 31 O3 LIG A 1 -43.650 8.677 12.505 1.00 0.00 O +HETATM 32 N7 LIG A 1 -43.622 8.150 8.249 1.00 0.00 N +HETATM 33 C20 LIG A 1 -44.124 6.921 8.920 1.00 0.00 C +HETATM 34 C21 LIG A 1 -43.078 6.214 9.812 1.00 0.00 C +HETATM 35 N8 LIG A 1 -41.716 6.273 9.227 1.00 0.00 N +HETATM 36 C22 LIG A 1 -41.308 7.688 9.088 1.00 0.00 C +HETATM 37 C23 LIG A 1 -42.185 8.370 8.010 1.00 0.00 C +HETATM 38 C24 LIG A 1 -40.777 5.598 10.127 1.00 0.00 C +HETATM 39 H1 LIG A 1 -41.400 15.522 13.230 1.00 0.00 H +HETATM 40 H2 LIG A 1 -40.431 15.088 11.806 1.00 0.00 H +HETATM 41 H3 LIG A 1 -43.100 16.410 11.930 1.00 0.00 H +HETATM 42 H4 LIG A 1 -41.709 16.719 10.870 1.00 0.00 H +HETATM 43 H5 LIG A 1 -44.823 13.334 6.340 1.00 0.00 H +HETATM 44 H6 LIG A 1 -43.249 10.895 7.998 1.00 0.00 H +HETATM 45 H7 LIG A 1 -46.078 7.752 7.470 1.00 0.00 H +HETATM 46 H8 LIG A 1 -47.737 9.420 6.678 1.00 0.00 H +HETATM 47 H9 LIG A 1 -40.585 10.737 14.977 1.00 0.00 H +HETATM 48 H10 LIG A 1 -39.519 11.670 15.926 1.00 0.00 H +HETATM 49 H11 LIG A 1 -43.163 10.159 10.702 1.00 0.00 H +HETATM 50 H12 LIG A 1 -44.524 11.266 10.793 1.00 0.00 H +HETATM 51 H13 LIG A 1 -45.422 9.640 12.102 1.00 0.00 H +HETATM 52 H14 LIG A 1 -44.463 10.377 13.346 1.00 0.00 H +HETATM 53 H15 LIG A 1 -43.623 8.235 11.642 1.00 0.00 H +HETATM 54 H16 LIG A 1 -44.442 6.232 8.165 1.00 0.00 H +HETATM 55 H17 LIG A 1 -44.922 7.226 9.565 1.00 0.00 H +HETATM 56 H18 LIG A 1 -43.360 5.188 9.928 1.00 0.00 H +HETATM 57 H19 LIG A 1 -43.054 6.718 10.755 1.00 0.00 H +HETATM 58 H20 LIG A 1 -41.715 5.818 8.314 1.00 0.00 H +HETATM 59 H21 LIG A 1 -41.437 8.191 10.024 1.00 0.00 H +HETATM 60 H22 LIG A 1 -40.279 7.737 8.797 1.00 0.00 H +HETATM 61 H23 LIG A 1 -41.990 9.422 8.021 1.00 0.00 H +HETATM 62 H24 LIG A 1 -41.938 7.941 7.062 1.00 0.00 H +HETATM 63 H25 LIG A 1 -40.786 6.083 11.081 1.00 0.00 H +HETATM 64 H26 LIG A 1 -39.791 5.643 9.713 1.00 0.00 H +HETATM 65 H27 LIG A 1 -41.068 4.575 10.244 1.00 0.00 H +HETATM 66 H28 LIG A 1 -43.181 16.782 8.880 1.00 0.00 H +TER 67 LIG A 1 +END diff --git a/tests/data/lig-prm.xml b/tests/data/lig-prm.xml new file mode 100644 index 000000000..d4d21d9d5 --- /dev/null +++ b/tests/data/lig-prm.xml @@ -0,0 +1,145 @@ + + + 2022-01-13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/data/lig-structure.json b/tests/data/lig-structure.json new file mode 100644 index 000000000..4c8305f77 --- /dev/null +++ b/tests/data/lig-structure.json @@ -0,0 +1 @@ +{"nbonds": 70, "nangles": 125, "nprops": 181, "nimprs": 62} \ No newline at end of file diff --git a/tests/data/lig-top copy.xml b/tests/data/lig-top copy.xml new file mode 100644 index 000000000..dd4e8133e --- /dev/null +++ b/tests/data/lig-top copy.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/data/methane_water_coul.xml b/tests/data/methane_water_coul.xml index 3376cdde2..4e6267d63 100644 --- a/tests/data/methane_water_coul.xml +++ b/tests/data/methane_water_coul.xml @@ -30,29 +30,18 @@ - - - - + - - - - - - + - - - - - + + diff --git a/tests/data/opls_atype.xml b/tests/data/opls_atype.xml new file mode 100644 index 000000000..22f65dca9 --- /dev/null +++ b/tests/data/opls_atype.xml @@ -0,0 +1,185 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/data/peg.xml b/tests/data/peg.xml new file mode 100644 index 000000000..25d90db50 --- /dev/null +++ b/tests/data/peg.xml @@ -0,0 +1,145 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/data/peg2.pdb b/tests/data/peg2.pdb new file mode 100644 index 000000000..e44d9f14b --- /dev/null +++ b/tests/data/peg2.pdb @@ -0,0 +1,35 @@ +TITLE MDANALYSIS FRAME 0: Created by PDBWriter +CRYST1 30.000 30.000 30.000 90.00 90.00 90.00 P 1 1 +ATOM 1 C00 TER M 1 14.058 13.500 16.329 0.00 1.00 SYST C +ATOM 2 H01 TER M 1 14.410 14.387 16.870 0.00 1.00 SYST H +ATOM 3 H02 TER M 1 14.412 12.614 16.871 0.00 1.00 SYST H +ATOM 4 O03 TER M 1 14.578 13.500 15.000 0.00 1.00 SYST O +ATOM 5 C04 TER M 1 16.000 13.500 15.000 0.00 1.00 SYST C +ATOM 6 H05 TER M 1 16.344 13.499 13.962 0.00 1.00 SYST H +ATOM 7 H06 TER M 1 16.382 12.602 15.496 0.00 1.00 SYST H +ATOM 8 H07 TER M 1 16.382 14.399 15.493 0.00 1.00 SYST H +ATOM 9 C00 TER M 2 12.535 13.498 16.276 0.00 1.00 SYST C +ATOM 10 H01 TER M 2 12.184 12.612 15.734 0.00 1.00 SYST H +ATOM 11 H02 TER M 2 12.182 14.385 15.735 0.00 1.00 SYST H +ATOM 12 O03 TER M 2 12.015 13.496 17.605 0.00 1.00 SYST O +ATOM 13 C04 TER M 2 10.593 13.493 17.605 0.00 1.00 SYST C +ATOM 14 H05 TER M 2 10.250 13.491 18.643 0.00 1.00 SYST H +ATOM 15 H06 TER M 2 10.213 12.595 17.109 0.00 1.00 SYST H +ATOM 16 H07 TER M 2 10.209 14.391 17.112 0.00 1.00 SYST H +CONECT 1 2 3 4 9 +CONECT 2 1 +CONECT 3 1 +CONECT 4 1 5 +CONECT 5 4 6 7 8 +CONECT 6 5 +CONECT 7 5 +CONECT 8 5 +CONECT 9 1 10 11 12 +CONECT 10 9 +CONECT 11 9 +CONECT 12 9 13 +CONECT 13 12 14 15 16 +CONECT 14 13 +CONECT 15 13 +CONECT 16 13 +END diff --git a/tests/data/peg4.pdb b/tests/data/peg4.pdb new file mode 100644 index 000000000..eee06d7da --- /dev/null +++ b/tests/data/peg4.pdb @@ -0,0 +1,64 @@ +HEADER +TITLE MDANALYSIS FRAME 0: Created by PDBWriter +CRYST1 50.000 50.000 50.000 90.00 90.00 90.00 P 1 1 +ATOM 1 C00 TER X 1 47.381 10.286 49.808 0.00 1.00 SYST +ATOM 2 H01 TER X 1 47.251 11.255 50.307 0.00 1.00 SYST +ATOM 3 H02 TER X 1 46.907 9.487 50.425 0.00 1.00 SYST +ATOM 4 O03 TER X 1 48.814 10.202 49.785 0.00 1.00 SYST +ATOM 5 C04 TER X 1 49.336 9.203 50.665 0.00 1.00 SYST +ATOM 6 H05 TER X 1 50.344 9.329 51.054 0.00 1.00 SYST +ATOM 7 H06 TER X 1 48.796 9.176 51.611 0.00 1.00 SYST +ATOM 8 H07 TER X 1 49.296 8.320 50.177 0.00 1.00 SYST +ATOM 9 C00 INT X 2 46.552 8.760 46.601 0.00 1.00 SYST +ATOM 10 H01 INT X 2 46.737 9.609 45.939 0.00 1.00 SYST +ATOM 11 H02 INT X 2 45.532 8.628 46.649 0.00 1.00 SYST +ATOM 12 O03 INT X 2 47.247 8.976 47.799 0.00 1.00 SYST +ATOM 13 C04 INT X 2 46.919 10.250 48.371 0.00 1.00 SYST +ATOM 14 H05 INT X 2 47.190 11.176 47.880 0.00 1.00 SYST +ATOM 15 H06 INT X 2 45.801 10.369 48.307 0.00 1.00 SYST +ATOM 16 C00 INT X 3 46.760 5.982 44.153 0.00 1.00 SYST +ATOM 17 H01 INT X 3 47.759 6.173 43.770 0.00 1.00 SYST +ATOM 18 H02 INT X 3 46.121 5.894 43.168 0.00 1.00 SYST +ATOM 19 O03 INT X 3 46.268 7.098 44.918 0.00 1.00 SYST +ATOM 20 C04 INT X 3 47.139 7.493 45.949 0.00 1.00 SYST +ATOM 21 H05 INT X 3 47.292 6.726 46.769 0.00 1.00 SYST +ATOM 22 H06 INT X 3 48.124 7.662 45.625 0.00 1.00 SYST +ATOM 23 C00 TER X 4 46.610 4.692 44.880 0.00 1.00 SYST +ATOM 24 H01 TER X 4 45.686 4.613 45.520 0.00 1.00 SYST +ATOM 25 H02 TER X 4 47.444 4.603 45.516 0.00 1.00 SYST +ATOM 26 O03 TER X 4 46.501 3.674 43.869 0.00 1.00 SYST +ATOM 27 C04 TER X 4 45.802 2.493 44.226 0.00 1.00 SYST +ATOM 28 H05 TER X 4 45.959 1.651 43.497 0.00 1.00 SYST +ATOM 29 H06 TER X 4 46.125 2.280 45.251 0.00 1.00 SYST +ATOM 30 H07 TER X 4 44.695 2.638 44.209 0.00 1.00 SYST +CONECT 1 2 3 4 13 +CONECT 2 1 +CONECT 3 1 +CONECT 4 1 5 +CONECT 5 4 6 7 8 +CONECT 6 5 +CONECT 7 5 +CONECT 8 5 +CONECT 9 10 11 12 20 +CONECT 10 9 +CONECT 11 9 +CONECT 12 9 13 +CONECT 13 1 12 14 15 +CONECT 14 13 +CONECT 15 13 +CONECT 16 17 18 19 23 +CONECT 17 16 +CONECT 18 16 +CONECT 19 16 20 +CONECT 20 9 19 21 22 +CONECT 21 20 +CONECT 22 20 +CONECT 23 16 24 25 26 +CONECT 24 23 +CONECT 25 23 +CONECT 26 23 27 +CONECT 27 26 28 29 30 +CONECT 28 27 +CONECT 29 27 +CONECT 30 27 +END diff --git a/tests/data/peg_eann.xml b/tests/data/peg_eann.xml new file mode 100644 index 000000000..e39fc89fc --- /dev/null +++ b/tests/data/peg_eann.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/data/peg_sgnn.xml b/tests/data/peg_sgnn.xml new file mode 100644 index 000000000..206326d1e --- /dev/null +++ b/tests/data/peg_sgnn.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/data/qeq.pdb b/tests/data/qeq.pdb new file mode 100644 index 000000000..c835be211 --- /dev/null +++ b/tests/data/qeq.pdb @@ -0,0 +1,149 @@ +HEADER electrode systems +TITLE MDANALYSIS FRAME 0: Created by PDBWriter +REMARK GENERATED BY Haichao +CRYST1 22.116 17.184 200.000 90.00 90.00 90.00 P 1 1 +ATOM 1 C001 CNC X 11 2.460 14.913 10.100 1.00 0.00 C +ATOM 2 C002 CNC X 11 4.920 14.913 10.100 1.00 0.00 C +ATOM 3 C003 CNC X 11 7.380 14.913 10.100 1.00 0.00 C +ATOM 4 C004 CNC X 11 9.840 14.913 10.100 1.00 0.00 C +ATOM 5 C005 CNC X 11 12.300 14.913 10.100 1.00 0.00 C +ATOM 6 C006 CNC X 11 14.760 14.913 10.100 1.00 0.00 C +ATOM 7 C007 CNC X 11 17.220 14.913 10.100 1.00 0.00 C +ATOM 8 C008 CNC X 11 0.000 14.913 10.100 1.00 0.00 C +ATOM 9 C009 CNC X 11 19.680 14.913 10.100 1.00 0.00 C +ATOM 10 C010 CNC X 11 11.070 0.000 10.100 1.00 0.00 C +ATOM 11 C011 CNC X 11 12.300 0.710 10.100 1.00 0.00 C +ATOM 12 C012 CNC X 11 13.530 0.000 10.100 1.00 0.00 C +ATOM 13 C013 CNC X 11 14.760 0.710 10.100 1.00 0.00 C +ATOM 14 C014 CNC X 11 15.990 0.000 10.100 1.00 0.00 C +ATOM 15 C015 CNC X 11 17.220 0.710 10.100 1.00 0.00 C +ATOM 16 C016 CNC X 11 18.450 0.000 10.100 1.00 0.00 C +ATOM 17 C017 CNC X 11 0.000 0.710 10.100 1.00 0.00 C +ATOM 18 C018 CNC X 11 19.680 0.710 10.100 1.00 0.00 C +ATOM 19 C019 CNC X 11 1.230 0.000 10.100 1.00 0.00 C +ATOM 20 C020 CNC X 11 20.910 0.000 10.100 1.00 0.00 C +ATOM 21 C021 CNC X 11 2.460 0.710 10.100 1.00 0.00 C +ATOM 22 C022 CNC X 11 3.690 0.000 10.100 1.00 0.00 C +ATOM 23 C023 CNC X 11 4.920 0.710 10.100 1.00 0.00 C +ATOM 24 C024 CNC X 11 6.150 0.000 10.100 1.00 0.00 C +ATOM 25 C025 CNC X 11 7.380 0.710 10.100 1.00 0.00 C +ATOM 26 C026 CNC X 11 8.610 0.000 10.100 1.00 0.00 C +ATOM 27 C027 CNC X 11 9.840 0.710 10.100 1.00 0.00 C +ATOM 28 C028 CNC X 11 9.840 2.130 10.100 1.00 0.00 C +ATOM 29 C029 CNC X 11 11.070 2.841 10.100 1.00 0.00 C +ATOM 30 C030 CNC X 11 12.300 2.130 10.100 1.00 0.00 C +ATOM 31 C031 CNC X 11 13.530 2.841 10.100 1.00 0.00 C +ATOM 32 C032 CNC X 11 14.760 2.130 10.100 1.00 0.00 C +ATOM 33 C033 CNC X 11 15.990 2.841 10.100 1.00 0.00 C +ATOM 34 C034 CNC X 11 17.220 2.130 10.100 1.00 0.00 C +ATOM 35 C035 CNC X 11 18.450 2.841 10.100 1.00 0.00 C +ATOM 36 C036 CNC X 11 0.000 2.130 10.100 1.00 0.00 C +ATOM 37 C037 CNC X 11 19.680 2.130 10.100 1.00 0.00 C +ATOM 38 C038 CNC X 11 1.230 2.841 10.100 1.00 0.00 C +ATOM 39 C039 CNC X 11 20.910 2.841 10.100 1.00 0.00 C +ATOM 40 C040 CNC X 11 2.460 2.130 10.100 1.00 0.00 C +ATOM 41 C041 CNC X 11 3.690 2.841 10.100 1.00 0.00 C +ATOM 42 C042 CNC X 11 4.920 2.130 10.100 1.00 0.00 C +ATOM 43 C043 CNC X 11 6.150 2.841 10.100 1.00 0.00 C +ATOM 44 C044 CNC X 11 7.380 2.130 10.100 1.00 0.00 C +ATOM 45 C045 CNC X 11 8.610 2.841 10.100 1.00 0.00 C +ATOM 46 C046 CNC X 11 8.610 4.261 10.100 1.00 0.00 C +ATOM 47 C047 CNC X 11 9.840 4.971 10.100 1.00 0.00 C +ATOM 48 C048 CNC X 11 11.070 4.261 10.100 1.00 0.00 C +ATOM 49 C049 CNC X 11 12.300 4.971 10.100 1.00 0.00 C +ATOM 50 C050 CNC X 11 13.530 4.261 10.100 1.00 0.00 C +ATOM 51 C051 CNC X 11 14.760 4.971 10.100 1.00 0.00 C +ATOM 52 C052 CNC X 11 15.990 4.261 10.100 1.00 0.00 C +ATOM 53 C053 CNC X 11 17.220 4.971 10.100 1.00 0.00 C +ATOM 54 C054 CNC X 11 18.450 4.261 10.100 1.00 0.00 C +ATOM 55 C055 CNC X 11 0.000 4.971 10.100 1.00 0.00 C +ATOM 56 C056 CNC X 11 19.680 4.971 10.100 1.00 0.00 C +ATOM 57 C057 CNC X 11 1.230 4.261 10.100 1.00 0.00 C +ATOM 58 C058 CNC X 11 20.910 4.261 10.100 1.00 0.00 C +ATOM 59 C059 CNC X 11 2.460 4.971 10.100 1.00 0.00 C +ATOM 60 C060 CNC X 11 3.690 4.261 10.100 1.00 0.00 C +ATOM 61 C061 CNC X 11 4.920 4.971 10.100 1.00 0.00 C +ATOM 62 C062 CNC X 11 6.150 4.261 10.100 1.00 0.00 C +ATOM 63 C063 CNC X 11 7.380 4.971 10.100 1.00 0.00 C +ATOM 64 C064 CNC X 11 7.380 6.391 10.100 1.00 0.00 C +ATOM 65 C065 CNC X 11 8.610 7.101 10.100 1.00 0.00 C +ATOM 66 C066 CNC X 11 9.840 6.391 10.100 1.00 0.00 C +ATOM 67 C067 CNC X 11 12.300 6.391 10.100 1.00 0.00 C +ATOM 68 C068 CNC X 11 13.530 7.101 10.100 1.00 0.00 C +ATOM 69 C069 CNC X 11 14.760 6.391 10.100 1.00 0.00 C +ATOM 70 C070 CNC X 11 15.990 7.101 10.100 1.00 0.00 C +ATOM 71 C071 CNC X 11 17.220 6.391 10.100 1.00 0.00 C +ATOM 72 C072 CNC X 11 18.450 7.101 10.100 1.00 0.00 C +ATOM 73 C073 CNC X 11 0.000 6.391 10.100 1.00 0.00 C +ATOM 74 C074 CNC X 11 19.680 6.391 10.100 1.00 0.00 C +ATOM 75 C075 CNC X 11 1.230 7.101 10.100 1.00 0.00 C +ATOM 76 C076 CNC X 11 20.910 7.101 10.100 1.00 0.00 C +ATOM 77 C077 CNC X 11 2.460 6.391 10.100 1.00 0.00 C +ATOM 78 C078 CNC X 11 3.690 7.101 10.100 1.00 0.00 C +ATOM 79 C079 CNC X 11 4.920 6.391 10.100 1.00 0.00 C +ATOM 80 C080 CNC X 11 6.150 7.101 10.100 1.00 0.00 C +ATOM 81 C081 CNC X 11 6.150 8.522 10.100 1.00 0.00 C +ATOM 82 C082 CNC X 11 7.380 9.232 10.100 1.00 0.00 C +ATOM 83 C083 CNC X 11 8.610 8.522 10.100 1.00 0.00 C +ATOM 84 C084 CNC X 11 9.840 9.232 10.100 1.00 0.00 C +ATOM 85 C085 CNC X 11 11.070 8.522 10.100 1.00 0.00 C +ATOM 86 C086 CNC X 11 12.300 9.232 10.100 1.00 0.00 C +ATOM 87 C087 CNC X 11 13.530 8.522 10.100 1.00 0.00 C +ATOM 88 C088 CNC X 11 14.760 9.232 10.100 1.00 0.00 C +ATOM 89 C089 CNC X 11 15.990 8.522 10.100 1.00 0.00 C +ATOM 90 C090 CNC X 11 17.220 9.232 10.100 1.00 0.00 C +ATOM 91 C091 CNC X 11 18.450 8.522 10.100 1.00 0.00 C +ATOM 92 C092 CNC X 11 0.000 9.232 10.100 1.00 0.00 C +ATOM 93 C093 CNC X 11 19.680 9.232 10.100 1.00 0.00 C +ATOM 94 C094 CNC X 11 1.230 8.522 10.100 1.00 0.00 C +ATOM 95 C095 CNC X 11 20.910 8.522 10.100 1.00 0.00 C +ATOM 96 C096 CNC X 11 2.460 9.232 10.100 1.00 0.00 C +ATOM 97 C097 CNC X 11 3.690 8.522 10.100 1.00 0.00 C +ATOM 98 C098 CNC X 11 4.920 9.232 10.100 1.00 0.00 C +ATOM 99 C099 CNC X 11 4.920 10.652 10.100 1.00 0.00 C +ATOM 100 C100 CNC X 11 6.150 11.362 10.100 1.00 0.00 C +ATOM 101 C101 CNC X 11 7.380 10.652 10.100 1.00 0.00 C +ATOM 102 C102 CNC X 11 8.610 11.362 10.100 1.00 0.00 C +ATOM 103 C103 CNC X 11 9.840 10.652 10.100 1.00 0.00 C +ATOM 104 C104 CNC X 11 11.070 11.362 10.100 1.00 0.00 C +ATOM 105 C105 CNC X 11 12.300 10.652 10.100 1.00 0.00 C +ATOM 106 C106 CNC X 11 13.530 11.362 10.100 1.00 0.00 C +ATOM 107 C107 CNC X 11 14.760 10.652 10.100 1.00 0.00 C +ATOM 108 C108 CNC X 11 15.990 11.362 10.100 1.00 0.00 C +ATOM 109 C109 CNC X 11 17.220 10.652 10.100 1.00 0.00 C +ATOM 110 C110 CNC X 11 18.450 11.362 10.100 1.00 0.00 C +ATOM 111 C111 CNC X 11 0.000 10.652 10.100 1.00 0.00 C +ATOM 112 C112 CNC X 11 19.680 10.652 10.100 1.00 0.00 C +ATOM 113 C113 CNC X 11 1.230 11.362 10.100 1.00 0.00 C +ATOM 114 C114 CNC X 11 20.910 11.362 10.100 1.00 0.00 C +ATOM 115 C115 CNC X 11 2.460 10.652 10.100 1.00 0.00 C +ATOM 116 C116 CNC X 11 3.690 11.362 10.100 1.00 0.00 C +ATOM 117 C117 CNC X 11 3.690 12.783 10.100 1.00 0.00 C +ATOM 118 C118 CNC X 11 4.920 13.493 10.100 1.00 0.00 C +ATOM 119 C119 CNC X 11 6.150 12.783 10.100 1.00 0.00 C +ATOM 120 C120 CNC X 11 7.380 13.493 10.100 1.00 0.00 C +ATOM 121 C121 CNC X 11 8.610 12.783 10.100 1.00 0.00 C +ATOM 122 C122 CNC X 11 9.840 13.493 10.100 1.00 0.00 C +ATOM 123 C123 CNC X 11 11.070 12.783 10.100 1.00 0.00 C +ATOM 124 C124 CNC X 11 12.300 13.493 10.100 1.00 0.00 C +ATOM 125 C125 CNC X 11 13.530 12.783 10.100 1.00 0.00 C +ATOM 126 C126 CNC X 11 14.760 13.493 10.100 1.00 0.00 C +ATOM 127 C127 CNC X 11 15.990 12.783 10.100 1.00 0.00 C +ATOM 128 C128 CNC X 11 17.220 13.493 10.100 1.00 0.00 C +ATOM 129 C129 CNC X 11 18.450 12.783 10.100 1.00 0.00 C +ATOM 130 C130 CNC X 11 0.000 13.493 10.100 1.00 0.00 C +ATOM 131 C131 CNC X 11 19.680 13.493 10.100 1.00 0.00 C +ATOM 132 C132 CNC X 11 1.230 12.783 10.100 1.00 0.00 C +ATOM 133 C133 CNC X 11 20.910 12.783 10.100 1.00 0.00 C +ATOM 134 C134 CNC X 11 2.460 13.493 10.100 1.00 0.00 C +ATOM 135 C135 CNC X 11 1.230 15.623 10.100 1.00 0.00 C +ATOM 136 C136 CNC X 11 3.690 15.623 10.100 1.00 0.00 C +ATOM 137 C137 CNC X 11 20.910 15.623 10.100 1.00 0.00 C +ATOM 138 C138 CNC X 11 6.150 15.623 10.100 1.00 0.00 C +ATOM 139 C139 CNC X 11 8.610 15.623 10.100 1.00 0.00 C +ATOM 140 C140 CNC X 11 11.070 15.623 10.100 1.00 0.00 C +ATOM 141 C141 CNC X 11 13.530 15.623 10.100 1.00 0.00 C +ATOM 142 C142 CNC X 11 15.990 15.623 10.100 1.00 0.00 C +ATOM 143 C143 CNC X 11 18.450 15.623 10.100 1.00 0.00 C +ATOM 144 N001 CNC X 11 11.070 7.101 10.100 1.00 0.00 N +END diff --git a/tests/data/qeq.xml b/tests/data/qeq.xml new file mode 100644 index 000000000..a017ea93f --- /dev/null +++ b/tests/data/qeq.xml @@ -0,0 +1,165 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/data/qeq2.pdb b/tests/data/qeq2.pdb new file mode 100644 index 000000000..0a2cf1e12 --- /dev/null +++ b/tests/data/qeq2.pdb @@ -0,0 +1,155 @@ +HEADER electrode systems +TITLE MDANALYSIS FRAME 0: Created by PDBWriter +REMARK GENERATED BY Haichao +CRYST1 22.116 17.184 200.000 90.00 90.00 90.00 P 1 1 +ATOM 1 C001 CNC X 11 2.460 14.913 10.100 1.00 0.00 C +ATOM 2 C002 CNC X 11 4.920 14.913 10.100 1.00 0.00 C +ATOM 3 C003 CNC X 11 7.380 14.913 10.100 1.00 0.00 C +ATOM 4 C004 CNC X 11 9.840 14.913 10.100 1.00 0.00 C +ATOM 5 C005 CNC X 11 12.300 14.913 10.100 1.00 0.00 C +ATOM 6 C006 CNC X 11 14.760 14.913 10.100 1.00 0.00 C +ATOM 7 C007 CNC X 11 17.220 14.913 10.100 1.00 0.00 C +ATOM 8 C008 CNC X 11 0.000 14.913 10.100 1.00 0.00 C +ATOM 9 C009 CNC X 11 19.680 14.913 10.100 1.00 0.00 C +ATOM 10 C010 CNC X 11 11.070 0.000 10.100 1.00 0.00 C +ATOM 11 C011 CNC X 11 12.300 0.710 10.100 1.00 0.00 C +ATOM 12 C012 CNC X 11 13.530 0.000 10.100 1.00 0.00 C +ATOM 13 C013 CNC X 11 14.760 0.710 10.100 1.00 0.00 C +ATOM 14 C014 CNC X 11 15.990 0.000 10.100 1.00 0.00 C +ATOM 15 C015 CNC X 11 17.220 0.710 10.100 1.00 0.00 C +ATOM 16 C016 CNC X 11 18.450 0.000 10.100 1.00 0.00 C +ATOM 17 C017 CNC X 11 0.000 0.710 10.100 1.00 0.00 C +ATOM 18 C018 CNC X 11 19.680 0.710 10.100 1.00 0.00 C +ATOM 19 C019 CNC X 11 1.230 0.000 10.100 1.00 0.00 C +ATOM 20 C020 CNC X 11 20.910 0.000 10.100 1.00 0.00 C +ATOM 21 C021 CNC X 11 2.460 0.710 10.100 1.00 0.00 C +ATOM 22 C022 CNC X 11 3.690 0.000 10.100 1.00 0.00 C +ATOM 23 C023 CNC X 11 4.920 0.710 10.100 1.00 0.00 C +ATOM 24 C024 CNC X 11 6.150 0.000 10.100 1.00 0.00 C +ATOM 25 C025 CNC X 11 7.380 0.710 10.100 1.00 0.00 C +ATOM 26 C026 CNC X 11 8.610 0.000 10.100 1.00 0.00 C +ATOM 27 C027 CNC X 11 9.840 0.710 10.100 1.00 0.00 C +ATOM 28 C028 CNC X 11 9.840 2.130 10.100 1.00 0.00 C +ATOM 29 C029 CNC X 11 11.070 2.841 10.100 1.00 0.00 C +ATOM 30 C030 CNC X 11 12.300 2.130 10.100 1.00 0.00 C +ATOM 31 C031 CNC X 11 13.530 2.841 10.100 1.00 0.00 C +ATOM 32 C032 CNC X 11 14.760 2.130 10.100 1.00 0.00 C +ATOM 33 C033 CNC X 11 15.990 2.841 10.100 1.00 0.00 C +ATOM 34 C034 CNC X 11 17.220 2.130 10.100 1.00 0.00 C +ATOM 35 C035 CNC X 11 18.450 2.841 10.100 1.00 0.00 C +ATOM 36 C036 CNC X 11 0.000 2.130 10.100 1.00 0.00 C +ATOM 37 C037 CNC X 11 19.680 2.130 10.100 1.00 0.00 C +ATOM 38 C038 CNC X 11 1.230 2.841 10.100 1.00 0.00 C +ATOM 39 C039 CNC X 11 20.910 2.841 10.100 1.00 0.00 C +ATOM 40 C040 CNC X 11 2.460 2.130 10.100 1.00 0.00 C +ATOM 41 C041 CNC X 11 3.690 2.841 10.100 1.00 0.00 C +ATOM 42 C042 CNC X 11 4.920 2.130 10.100 1.00 0.00 C +ATOM 43 C043 CNC X 11 6.150 2.841 10.100 1.00 0.00 C +ATOM 44 C044 CNC X 11 7.380 2.130 10.100 1.00 0.00 C +ATOM 45 C045 CNC X 11 8.610 2.841 10.100 1.00 0.00 C +ATOM 46 C046 CNC X 11 8.610 4.261 10.100 1.00 0.00 C +ATOM 47 C047 CNC X 11 9.840 4.971 10.100 1.00 0.00 C +ATOM 48 C048 CNC X 11 11.070 4.261 10.100 1.00 0.00 C +ATOM 49 C049 CNC X 11 12.300 4.971 10.100 1.00 0.00 C +ATOM 50 C050 CNC X 11 13.530 4.261 10.100 1.00 0.00 C +ATOM 51 C051 CNC X 11 14.760 4.971 10.100 1.00 0.00 C +ATOM 52 C052 CNC X 11 15.990 4.261 10.100 1.00 0.00 C +ATOM 53 C053 CNC X 11 17.220 4.971 10.100 1.00 0.00 C +ATOM 54 C054 CNC X 11 18.450 4.261 10.100 1.00 0.00 C +ATOM 55 C055 CNC X 11 0.000 4.971 10.100 1.00 0.00 C +ATOM 56 C056 CNC X 11 19.680 4.971 10.100 1.00 0.00 C +ATOM 57 C057 CNC X 11 1.230 4.261 10.100 1.00 0.00 C +ATOM 58 C058 CNC X 11 20.910 4.261 10.100 1.00 0.00 C +ATOM 59 C059 CNC X 11 2.460 4.971 10.100 1.00 0.00 C +ATOM 60 C060 CNC X 11 3.690 4.261 10.100 1.00 0.00 C +ATOM 61 C061 CNC X 11 4.920 4.971 10.100 1.00 0.00 C +ATOM 62 C062 CNC X 11 6.150 4.261 10.100 1.00 0.00 C +ATOM 63 C063 CNC X 11 7.380 4.971 10.100 1.00 0.00 C +ATOM 64 C064 CNC X 11 7.380 6.391 10.100 1.00 0.00 C +ATOM 65 C065 CNC X 11 8.610 7.101 10.100 1.00 0.00 C +ATOM 66 C066 CNC X 11 9.840 6.391 10.100 1.00 0.00 C +ATOM 67 C067 CNC X 11 12.300 6.391 10.100 1.00 0.00 C +ATOM 68 C068 CNC X 11 13.530 7.101 10.100 1.00 0.00 C +ATOM 69 C069 CNC X 11 14.760 6.391 10.100 1.00 0.00 C +ATOM 70 C070 CNC X 11 15.990 7.101 10.100 1.00 0.00 C +ATOM 71 C071 CNC X 11 17.220 6.391 10.100 1.00 0.00 C +ATOM 72 C072 CNC X 11 18.450 7.101 10.100 1.00 0.00 C +ATOM 73 C073 CNC X 11 0.000 6.391 10.100 1.00 0.00 C +ATOM 74 C074 CNC X 11 19.680 6.391 10.100 1.00 0.00 C +ATOM 75 C075 CNC X 11 1.230 7.101 10.100 1.00 0.00 C +ATOM 76 C076 CNC X 11 20.910 7.101 10.100 1.00 0.00 C +ATOM 77 C077 CNC X 11 2.460 6.391 10.100 1.00 0.00 C +ATOM 78 C078 CNC X 11 3.690 7.101 10.100 1.00 0.00 C +ATOM 79 C079 CNC X 11 4.920 6.391 10.100 1.00 0.00 C +ATOM 80 C080 CNC X 11 6.150 7.101 10.100 1.00 0.00 C +ATOM 81 C081 CNC X 11 6.150 8.522 10.100 1.00 0.00 C +ATOM 82 C082 CNC X 11 7.380 9.232 10.100 1.00 0.00 C +ATOM 83 C083 CNC X 11 8.610 8.522 10.100 1.00 0.00 C +ATOM 84 C084 CNC X 11 9.840 9.232 10.100 1.00 0.00 C +ATOM 85 C085 CNC X 11 11.070 8.522 10.100 1.00 0.00 C +ATOM 86 C086 CNC X 11 12.300 9.232 10.100 1.00 0.00 C +ATOM 87 C087 CNC X 11 13.530 8.522 10.100 1.00 0.00 C +ATOM 88 C088 CNC X 11 14.760 9.232 10.100 1.00 0.00 C +ATOM 89 C089 CNC X 11 15.990 8.522 10.100 1.00 0.00 C +ATOM 90 C090 CNC X 11 17.220 9.232 10.100 1.00 0.00 C +ATOM 91 C091 CNC X 11 18.450 8.522 10.100 1.00 0.00 C +ATOM 92 C092 CNC X 11 0.000 9.232 10.100 1.00 0.00 C +ATOM 93 C093 CNC X 11 19.680 9.232 10.100 1.00 0.00 C +ATOM 94 C094 CNC X 11 1.230 8.522 10.100 1.00 0.00 C +ATOM 95 C095 CNC X 11 20.910 8.522 10.100 1.00 0.00 C +ATOM 96 C096 CNC X 11 2.460 9.232 10.100 1.00 0.00 C +ATOM 97 C097 CNC X 11 3.690 8.522 10.100 1.00 0.00 C +ATOM 98 C098 CNC X 11 4.920 9.232 10.100 1.00 0.00 C +ATOM 99 C099 CNC X 11 4.920 10.652 10.100 1.00 0.00 C +ATOM 100 C100 CNC X 11 6.150 11.362 10.100 1.00 0.00 C +ATOM 101 C101 CNC X 11 7.380 10.652 10.100 1.00 0.00 C +ATOM 102 C102 CNC X 11 8.610 11.362 10.100 1.00 0.00 C +ATOM 103 C103 CNC X 11 9.840 10.652 10.100 1.00 0.00 C +ATOM 104 C104 CNC X 11 11.070 11.362 10.100 1.00 0.00 C +ATOM 105 C105 CNC X 11 12.300 10.652 10.100 1.00 0.00 C +ATOM 106 C106 CNC X 11 13.530 11.362 10.100 1.00 0.00 C +ATOM 107 C107 CNC X 11 14.760 10.652 10.100 1.00 0.00 C +ATOM 108 C108 CNC X 11 15.990 11.362 10.100 1.00 0.00 C +ATOM 109 C109 CNC X 11 17.220 10.652 10.100 1.00 0.00 C +ATOM 110 C110 CNC X 11 18.450 11.362 10.100 1.00 0.00 C +ATOM 111 C111 CNC X 11 0.000 10.652 10.100 1.00 0.00 C +ATOM 112 C112 CNC X 11 19.680 10.652 10.100 1.00 0.00 C +ATOM 113 C113 CNC X 11 1.230 11.362 10.100 1.00 0.00 C +ATOM 114 C114 CNC X 11 20.910 11.362 10.100 1.00 0.00 C +ATOM 115 C115 CNC X 11 2.460 10.652 10.100 1.00 0.00 C +ATOM 116 C116 CNC X 11 3.690 11.362 10.100 1.00 0.00 C +ATOM 117 C117 CNC X 11 3.690 12.783 10.100 1.00 0.00 C +ATOM 118 C118 CNC X 11 4.920 13.493 10.100 1.00 0.00 C +ATOM 119 C119 CNC X 11 6.150 12.783 10.100 1.00 0.00 C +ATOM 120 C120 CNC X 11 7.380 13.493 10.100 1.00 0.00 C +ATOM 121 C121 CNC X 11 8.610 12.783 10.100 1.00 0.00 C +ATOM 122 C122 CNC X 11 9.840 13.493 10.100 1.00 0.00 C +ATOM 123 C123 CNC X 11 11.070 12.783 10.100 1.00 0.00 C +ATOM 124 C124 CNC X 11 12.300 13.493 10.100 1.00 0.00 C +ATOM 125 C125 CNC X 11 13.530 12.783 10.100 1.00 0.00 C +ATOM 126 C126 CNC X 11 14.760 13.493 10.100 1.00 0.00 C +ATOM 127 C127 CNC X 11 15.990 12.783 10.100 1.00 0.00 C +ATOM 128 C128 CNC X 11 17.220 13.493 10.100 1.00 0.00 C +ATOM 129 C129 CNC X 11 18.450 12.783 10.100 1.00 0.00 C +ATOM 130 C130 CNC X 11 0.000 13.493 10.100 1.00 0.00 C +ATOM 131 C131 CNC X 11 19.680 13.493 10.100 1.00 0.00 C +ATOM 132 C132 CNC X 11 1.230 12.783 10.100 1.00 0.00 C +ATOM 133 C133 CNC X 11 20.910 12.783 10.100 1.00 0.00 C +ATOM 134 C134 CNC X 11 2.460 13.493 10.100 1.00 0.00 C +ATOM 135 C135 CNC X 11 1.230 15.623 10.100 1.00 0.00 C +ATOM 136 C136 CNC X 11 3.690 15.623 10.100 1.00 0.00 C +ATOM 137 C137 CNC X 11 20.910 15.623 10.100 1.00 0.00 C +ATOM 138 C138 CNC X 11 6.150 15.623 10.100 1.00 0.00 C +ATOM 139 C139 CNC X 11 8.610 15.623 10.100 1.00 0.00 C +ATOM 140 C140 CNC X 11 11.070 15.623 10.100 1.00 0.00 C +ATOM 141 C141 CNC X 11 13.530 15.623 10.100 1.00 0.00 C +ATOM 142 C142 CNC X 11 15.990 15.623 10.100 1.00 0.00 C +ATOM 143 C143 CNC X 11 18.450 15.623 10.100 1.00 0.00 C +ATOM 144 N001 CNC X 11 11.070 7.101 10.100 1.00 0.00 N +ATOM 145 O001 H2O X 12 11.862 8.738 6.756 1.00 0.00 O +ATOM 146 H001 H2O X 12 12.230 9.494 7.239 1.00 0.00 H +ATOM 147 H002 H2O X 12 11.998 8.953 5.817 1.00 0.00 H +END +CONECT 145 146 147 +CONECT 146 145 +CONECT 147 145 diff --git a/tests/data/qeq2.xml b/tests/data/qeq2.xml new file mode 100644 index 000000000..e8e79bec1 --- /dev/null +++ b/tests/data/qeq2.xml @@ -0,0 +1,174 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/data/sgnn_model.pickle b/tests/data/sgnn_model.pickle new file mode 100644 index 000000000..0c3959cd9 Binary files /dev/null and b/tests/data/sgnn_model.pickle differ diff --git a/tests/data/smarts_and_vsite.xml b/tests/data/smarts_and_vsite.xml new file mode 100644 index 000000000..3e71ddce3 --- /dev/null +++ b/tests/data/smarts_and_vsite.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/data/smarts_test1.xml b/tests/data/smarts_test1.xml new file mode 100644 index 000000000..5afc8bbd2 --- /dev/null +++ b/tests/data/smarts_test1.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/tests/data/sum.pdb b/tests/data/sum.pdb new file mode 100644 index 000000000..b250e8969 --- /dev/null +++ b/tests/data/sum.pdb @@ -0,0 +1,4143 @@ +REMARK 1 PDBFIXER FROM: 3RYZ.pdb +REMARK 1 CREATED WITH OPENMM 7.7, 2023-02-23 +CRYST1 42.408 41.697 69.960 90.00 90.00 90.00 P 1 1 +ATOM 1 N HIS A 3 31.926 -0.964 4.021 1.00 0.00 N +ATOM 2 H HIS A 3 30.771 -1.052 3.721 1.00 0.00 H +ATOM 3 H2 HIS A 3 32.462 -1.635 3.189 1.00 0.00 H +ATOM 4 H3 HIS A 3 32.243 0.153 3.738 1.00 0.00 H +ATOM 5 CA HIS A 3 32.128 -1.292 5.477 1.00 0.00 C +ATOM 6 HA HIS A 3 31.161 -1.927 5.763 1.00 0.00 H +ATOM 7 C HIS A 3 32.019 -0.058 6.468 1.00 0.00 C +ATOM 8 O HIS A 3 32.138 1.136 6.032 1.00 0.00 O +ATOM 9 CB HIS A 3 33.401 -2.185 5.697 1.00 0.00 C +ATOM 10 HB2 HIS A 3 33.935 -2.280 6.764 1.00 0.00 H +ATOM 11 HB3 HIS A 3 34.229 -1.506 5.160 1.00 0.00 H +ATOM 12 CG HIS A 3 33.465 -3.514 5.336 1.00 0.00 C +ATOM 13 ND1 HIS A 3 34.138 -3.817 4.229 1.00 0.00 N +ATOM 14 HD1 HIS A 3 34.940 -3.483 3.419 1.00 0.00 H +ATOM 15 CE1 HIS A 3 33.815 -5.074 4.319 1.00 0.00 C +ATOM 16 HE1 HIS A 3 34.322 -6.022 3.816 1.00 0.00 H +ATOM 17 NE2 HIS A 3 32.999 -5.409 5.359 1.00 0.00 N +ATOM 18 CD2 HIS A 3 32.638 -4.336 6.152 1.00 0.00 C +ATOM 19 HD2 HIS A 3 32.659 -4.581 7.310 1.00 0.00 H +ATOM 20 N HIS A 4 31.852 -0.397 7.770 1.00 0.00 N +ATOM 21 H HIS A 4 32.834 -0.852 8.264 1.00 0.00 H +ATOM 22 CA HIS A 4 31.082 0.315 8.850 1.00 0.00 C +ATOM 23 HA HIS A 4 31.921 0.706 9.602 1.00 0.00 H +ATOM 24 C HIS A 4 30.282 -0.835 9.523 1.00 0.00 C +ATOM 25 O HIS A 4 30.460 -2.016 9.237 1.00 0.00 O +ATOM 26 CB HIS A 4 30.172 1.455 8.367 1.00 0.00 C +ATOM 27 HB2 HIS A 4 29.270 1.837 9.050 1.00 0.00 H +ATOM 28 HB3 HIS A 4 29.548 0.942 7.486 1.00 0.00 H +ATOM 29 CG HIS A 4 30.686 2.741 8.125 1.00 0.00 C +ATOM 30 ND1 HIS A 4 30.657 3.067 6.821 1.00 0.00 N +ATOM 31 HD1 HIS A 4 30.099 3.034 5.773 1.00 0.00 H +ATOM 32 CE1 HIS A 4 31.250 4.225 7.108 1.00 0.00 C +ATOM 33 HE1 HIS A 4 31.544 5.133 6.400 1.00 0.00 H +ATOM 34 NE2 HIS A 4 31.531 4.439 8.403 1.00 0.00 N +ATOM 35 CD2 HIS A 4 31.144 3.367 9.240 1.00 0.00 C +ATOM 36 HD2 HIS A 4 31.482 3.620 10.348 1.00 0.00 H +ATOM 37 N TRP A 5 29.436 -0.496 10.456 1.00 0.00 N +ATOM 38 H TRP A 5 29.869 0.439 11.049 1.00 0.00 H +ATOM 39 CA TRP A 5 28.752 -1.529 11.270 1.00 0.00 C +ATOM 40 HA TRP A 5 29.696 -2.142 11.658 1.00 0.00 H +ATOM 41 C TRP A 5 27.700 -2.351 10.509 1.00 0.00 C +ATOM 42 O TRP A 5 27.119 -1.883 9.526 1.00 0.00 O +ATOM 43 CB TRP A 5 28.100 -0.843 12.459 1.00 0.00 C +ATOM 44 HB2 TRP A 5 29.034 -0.346 13.003 1.00 0.00 H +ATOM 45 HB3 TRP A 5 27.636 -1.288 13.452 1.00 0.00 H +ATOM 46 CG TRP A 5 26.911 0.035 12.115 1.00 0.00 C +ATOM 47 CD1 TRP A 5 26.941 1.387 11.789 1.00 0.00 C +ATOM 48 HD1 TRP A 5 27.745 2.241 11.610 1.00 0.00 H +ATOM 49 CD2 TRP A 5 25.521 -0.367 12.027 1.00 0.00 C +ATOM 50 NE1 TRP A 5 25.657 1.836 11.513 1.00 0.00 N +ATOM 51 HE1 TRP A 5 25.411 2.885 11.013 1.00 0.00 H +ATOM 52 CE2 TRP A 5 24.793 0.770 11.634 1.00 0.00 C +ATOM 53 CE3 TRP A 5 24.842 -1.586 12.229 1.00 0.00 C +ATOM 54 HE3 TRP A 5 25.404 -2.563 12.571 1.00 0.00 H +ATOM 55 CZ2 TRP A 5 23.405 0.752 11.503 1.00 0.00 C +ATOM 56 HZ2 TRP A 5 22.922 1.773 11.135 1.00 0.00 H +ATOM 57 CZ3 TRP A 5 23.446 -1.616 12.047 1.00 0.00 C +ATOM 58 HZ3 TRP A 5 23.058 -2.691 12.337 1.00 0.00 H +ATOM 59 CH2 TRP A 5 22.754 -0.419 11.690 1.00 0.00 C +ATOM 60 HH2 TRP A 5 21.613 -0.401 11.386 1.00 0.00 H +ATOM 61 N GLY A 6 27.428 -3.557 10.995 1.00 0.00 N +ATOM 62 H GLY A 6 28.367 -4.107 11.436 1.00 0.00 H +ATOM 63 CA GLY A 6 26.391 -4.404 10.400 1.00 0.00 C +ATOM 64 HA2 GLY A 6 26.660 -4.529 9.248 1.00 0.00 H +ATOM 65 HA3 GLY A 6 25.311 -3.914 10.303 1.00 0.00 H +ATOM 66 C GLY A 6 26.138 -5.567 11.304 1.00 0.00 C +ATOM 67 O GLY A 6 26.161 -5.410 12.530 1.00 0.00 O +ATOM 68 N TYR A 7 25.776 -6.695 10.674 1.00 0.00 N +ATOM 69 H TYR A 7 25.637 -6.671 9.493 1.00 0.00 H +ATOM 70 CA TYR A 7 25.354 -7.946 11.335 1.00 0.00 C +ATOM 71 HA TYR A 7 25.669 -8.225 12.445 1.00 0.00 H +ATOM 72 C TYR A 7 26.138 -9.150 10.689 1.00 0.00 C +ATOM 73 O TYR A 7 25.713 -10.351 10.703 1.00 0.00 O +ATOM 74 CB TYR A 7 23.855 -8.193 11.214 1.00 0.00 C +ATOM 75 HB2 TYR A 7 23.684 -8.423 10.058 1.00 0.00 H +ATOM 76 HB3 TYR A 7 23.598 -9.230 11.747 1.00 0.00 H +ATOM 77 CG TYR A 7 23.005 -7.093 11.810 1.00 0.00 C +ATOM 78 CD1 TYR A 7 22.530 -6.065 10.998 1.00 0.00 C +ATOM 79 HD1 TYR A 7 22.954 -5.876 9.906 1.00 0.00 H +ATOM 80 CD2 TYR A 7 22.656 -7.109 13.212 1.00 0.00 C +ATOM 81 HD2 TYR A 7 22.954 -8.030 13.894 1.00 0.00 H +ATOM 82 CE1 TYR A 7 21.747 -5.116 11.524 1.00 0.00 C +ATOM 83 HE1 TYR A 7 21.733 -4.174 10.809 1.00 0.00 H +ATOM 84 CE2 TYR A 7 21.870 -6.086 13.735 1.00 0.00 C +ATOM 85 HE2 TYR A 7 21.613 -6.058 14.888 1.00 0.00 H +ATOM 86 CZ TYR A 7 21.397 -5.116 12.894 1.00 0.00 C +ATOM 87 OH TYR A 7 20.543 -4.143 13.299 1.00 0.00 O +ATOM 88 HH TYR A 7 20.711 -3.246 12.568 1.00 0.00 H +ATOM 89 N GLY A 8 27.311 -8.839 10.141 1.00 0.00 N +ATOM 90 H GLY A 8 27.725 -7.744 10.093 1.00 0.00 H +ATOM 91 CA GLY A 8 28.177 -9.935 9.559 1.00 0.00 C +ATOM 92 HA2 GLY A 8 28.815 -9.486 8.656 1.00 0.00 H +ATOM 93 HA3 GLY A 8 27.536 -10.812 9.065 1.00 0.00 H +ATOM 94 C GLY A 8 29.034 -10.571 10.662 1.00 0.00 C +ATOM 95 O GLY A 8 28.853 -10.244 11.784 1.00 0.00 O +ATOM 96 N LYS A 9 30.030 -11.442 10.389 1.00 0.00 N +ATOM 97 H LYS A 9 30.063 -11.979 9.330 1.00 0.00 H +ATOM 98 CA LYS A 9 30.917 -11.843 11.590 1.00 0.00 C +ATOM 99 HA LYS A 9 30.126 -12.052 12.458 1.00 0.00 H +ATOM 100 C LYS A 9 31.950 -10.775 12.016 1.00 0.00 C +ATOM 101 O LYS A 9 32.464 -10.656 13.192 1.00 0.00 O +ATOM 102 CB LYS A 9 31.624 -13.213 11.451 1.00 0.00 C +ATOM 103 HB2 LYS A 9 30.816 -14.095 11.425 1.00 0.00 H +ATOM 104 HB3 LYS A 9 32.084 -13.250 10.351 1.00 0.00 H +ATOM 105 CG LYS A 9 32.743 -13.518 12.520 1.00 0.00 C +ATOM 106 HG2 LYS A 9 33.457 -13.205 13.419 1.00 0.00 H +ATOM 107 HG3 LYS A 9 31.878 -13.509 13.348 1.00 0.00 H +ATOM 108 CD LYS A 9 33.648 -14.634 11.972 1.00 0.00 C +ATOM 109 HD2 LYS A 9 33.116 -15.630 12.367 1.00 0.00 H +ATOM 110 HD3 LYS A 9 33.688 -14.737 10.789 1.00 0.00 H +ATOM 111 CE LYS A 9 35.011 -14.788 12.655 1.00 0.00 C +ATOM 112 HE2 LYS A 9 35.657 -13.823 12.940 1.00 0.00 H +ATOM 113 HE3 LYS A 9 34.984 -15.415 13.674 1.00 0.00 H +ATOM 114 NZ LYS A 9 35.926 -15.622 11.767 1.00 0.00 N +ATOM 115 HZ1 LYS A 9 35.569 -16.764 11.725 1.00 0.00 H +ATOM 116 HZ2 LYS A 9 36.165 -15.354 10.627 1.00 0.00 H +ATOM 117 HZ3 LYS A 9 36.992 -15.657 12.313 1.00 0.00 H +ATOM 118 N HIS A 10 32.199 -9.868 11.112 1.00 0.00 N +ATOM 119 H HIS A 10 31.874 -9.818 9.970 1.00 0.00 H +ATOM 120 CA HIS A 10 33.252 -9.022 11.486 1.00 0.00 C +ATOM 121 HA HIS A 10 33.986 -9.266 12.394 1.00 0.00 H +ATOM 122 C HIS A 10 32.836 -7.620 11.912 1.00 0.00 C +ATOM 123 O HIS A 10 33.678 -6.815 12.316 1.00 0.00 O +ATOM 124 CB HIS A 10 34.284 -9.000 10.332 1.00 0.00 C +ATOM 125 HB2 HIS A 10 35.264 -8.356 10.563 1.00 0.00 H +ATOM 126 HB3 HIS A 10 33.918 -8.522 9.300 1.00 0.00 H +ATOM 127 CG HIS A 10 34.820 -10.367 9.996 1.00 0.00 C +ATOM 128 ND1 HIS A 10 35.855 -10.935 10.694 1.00 0.00 N +ATOM 129 HD1 HIS A 10 36.664 -10.518 11.459 1.00 0.00 H +ATOM 130 CD2 HIS A 10 34.411 -11.299 9.099 1.00 0.00 C +ATOM 131 HD2 HIS A 10 33.977 -11.310 7.994 1.00 0.00 H +ATOM 132 CE1 HIS A 10 36.090 -12.145 10.227 1.00 0.00 C +ATOM 133 HE1 HIS A 10 37.171 -12.623 10.106 1.00 0.00 H +ATOM 134 NE2 HIS A 10 35.230 -12.393 9.254 1.00 0.00 N +ATOM 135 N ASN A 11 31.539 -7.326 11.834 1.00 0.00 N +ATOM 136 H ASN A 11 30.719 -8.105 11.490 1.00 0.00 H +ATOM 137 CA ASN A 11 31.133 -5.928 12.087 1.00 0.00 C +ATOM 138 HA ASN A 11 31.914 -5.266 12.697 1.00 0.00 H +ATOM 139 C ASN A 11 29.827 -5.913 12.910 1.00 0.00 C +ATOM 140 O ASN A 11 29.192 -4.901 13.003 1.00 0.00 O +ATOM 141 CB ASN A 11 30.946 -5.177 10.754 1.00 0.00 C +ATOM 142 HB2 ASN A 11 31.905 -5.436 10.088 1.00 0.00 H +ATOM 143 HB3 ASN A 11 31.097 -4.005 10.913 1.00 0.00 H +ATOM 144 CG ASN A 11 29.829 -5.769 9.903 1.00 0.00 C +ATOM 145 OD1 ASN A 11 29.240 -6.768 10.280 1.00 0.00 O +ATOM 146 ND2 ASN A 11 29.541 -5.148 8.748 1.00 0.00 N +ATOM 147 HD21 ASN A 11 30.263 -5.539 7.886 1.00 0.00 H +ATOM 148 HD22 ASN A 11 28.634 -4.751 8.090 1.00 0.00 H +ATOM 149 N GLY A 12 29.473 -7.058 13.488 1.00 0.00 N +ATOM 150 H GLY A 12 30.156 -7.953 13.864 1.00 0.00 H +ATOM 151 CA GLY A 12 28.214 -7.218 14.204 1.00 0.00 C +ATOM 152 HA2 GLY A 12 28.072 -8.402 14.189 1.00 0.00 H +ATOM 153 HA3 GLY A 12 27.331 -6.663 13.647 1.00 0.00 H +ATOM 154 C GLY A 12 28.186 -6.612 15.577 1.00 0.00 C +ATOM 155 O GLY A 12 29.097 -5.871 15.979 1.00 0.00 O +ATOM 156 N PRO A 13 27.052 -6.863 16.280 1.00 0.00 N +ATOM 157 CA PRO A 13 26.814 -6.179 17.584 1.00 0.00 C +ATOM 158 HA PRO A 13 26.473 -5.048 17.666 1.00 0.00 H +ATOM 159 C PRO A 13 27.993 -6.182 18.564 1.00 0.00 C +ATOM 160 O PRO A 13 28.129 -5.230 19.326 1.00 0.00 O +ATOM 161 CB PRO A 13 25.623 -6.964 18.142 1.00 0.00 C +ATOM 162 HB2 PRO A 13 25.993 -7.955 18.692 1.00 0.00 H +ATOM 163 HB3 PRO A 13 25.066 -6.345 18.980 1.00 0.00 H +ATOM 164 CG PRO A 13 24.764 -7.249 16.891 1.00 0.00 C +ATOM 165 HG2 PRO A 13 24.191 -6.342 16.387 1.00 0.00 H +ATOM 166 HG3 PRO A 13 24.216 -8.295 16.998 1.00 0.00 H +ATOM 167 CD PRO A 13 25.862 -7.627 15.829 1.00 0.00 C +ATOM 168 HD2 PRO A 13 25.231 -8.013 14.894 1.00 0.00 H +ATOM 169 HD3 PRO A 13 26.205 -8.731 16.107 1.00 0.00 H +ATOM 170 N GLU A 14 28.745 -7.286 18.626 1.00 0.00 N +ATOM 171 H GLU A 14 28.624 -8.251 17.945 1.00 0.00 H +ATOM 172 CA GLU A 14 29.851 -7.354 19.590 1.00 0.00 C +ATOM 173 HA GLU A 14 29.546 -6.977 20.679 1.00 0.00 H +ATOM 174 C GLU A 14 31.037 -6.434 19.263 1.00 0.00 C +ATOM 175 O GLU A 14 31.955 -6.243 20.078 1.00 0.00 O +ATOM 176 CB GLU A 14 30.351 -8.783 19.676 1.00 0.00 C +ATOM 177 HB2 GLU A 14 30.865 -9.305 18.731 1.00 0.00 H +ATOM 178 HB3 GLU A 14 31.216 -8.841 20.502 1.00 0.00 H +ATOM 179 CG GLU A 14 29.324 -9.779 20.125 1.00 0.00 C +ATOM 180 HG2 GLU A 14 29.853 -10.729 20.624 1.00 0.00 H +ATOM 181 HG3 GLU A 14 28.585 -10.281 19.334 1.00 0.00 H +ATOM 182 CD GLU A 14 28.440 -9.370 21.402 1.00 0.00 C +ATOM 183 OE1 GLU A 14 29.041 -9.045 22.462 1.00 0.00 O +ATOM 184 OE2 GLU A 14 27.144 -9.410 21.377 1.00 0.00 O +ATOM 185 N HIS A 15 30.986 -5.835 18.069 1.00 0.00 N +ATOM 186 H HIS A 15 29.985 -5.585 17.512 1.00 0.00 H +ATOM 187 CA HIS A 15 31.967 -4.879 17.664 1.00 0.00 C +ATOM 188 HA HIS A 15 32.928 -5.025 18.350 1.00 0.00 H +ATOM 189 C HIS A 15 31.551 -3.422 17.769 1.00 0.00 C +ATOM 190 O HIS A 15 32.399 -2.542 17.704 1.00 0.00 O +ATOM 191 CB HIS A 15 32.392 -5.123 16.198 1.00 0.00 C +ATOM 192 HB2 HIS A 15 33.214 -4.410 15.708 1.00 0.00 H +ATOM 193 HB3 HIS A 15 31.490 -4.976 15.438 1.00 0.00 H +ATOM 194 CG HIS A 15 33.016 -6.472 15.948 1.00 0.00 C +ATOM 195 ND1 HIS A 15 34.370 -6.712 16.116 1.00 0.00 N +ATOM 196 HD1 HIS A 15 34.908 -6.667 17.173 1.00 0.00 H +ATOM 197 CD2 HIS A 15 32.450 -7.653 15.558 1.00 0.00 C +ATOM 198 HD2 HIS A 15 31.599 -8.375 15.959 1.00 0.00 H +ATOM 199 CE1 HIS A 15 34.608 -7.988 15.835 1.00 0.00 C +ATOM 200 HE1 HIS A 15 35.535 -8.730 15.875 1.00 0.00 H +ATOM 201 NE2 HIS A 15 33.466 -8.585 15.526 1.00 0.00 N +ATOM 202 N TRP A 16 30.250 -3.152 17.915 1.00 0.00 N +ATOM 203 H TRP A 16 29.720 -3.707 18.818 1.00 0.00 H +ATOM 204 CA TRP A 16 29.805 -1.784 17.797 1.00 0.00 C +ATOM 205 HA TRP A 16 30.226 -1.324 16.781 1.00 0.00 H +ATOM 206 C TRP A 16 30.379 -0.770 18.845 1.00 0.00 C +ATOM 207 O TRP A 16 30.484 0.405 18.597 1.00 0.00 O +ATOM 208 CB TRP A 16 28.267 -1.737 17.954 1.00 0.00 C +ATOM 209 HB2 TRP A 16 27.872 -2.151 18.999 1.00 0.00 H +ATOM 210 HB3 TRP A 16 27.954 -0.605 17.763 1.00 0.00 H +ATOM 211 CG TRP A 16 27.545 -2.506 16.830 1.00 0.00 C +ATOM 212 CD1 TRP A 16 28.105 -2.998 15.665 1.00 0.00 C +ATOM 213 HD1 TRP A 16 29.165 -2.817 15.166 1.00 0.00 H +ATOM 214 CD2 TRP A 16 26.119 -2.801 16.752 1.00 0.00 C +ATOM 215 NE1 TRP A 16 27.113 -3.582 14.872 1.00 0.00 N +ATOM 216 HE1 TRP A 16 27.258 -3.623 13.704 1.00 0.00 H +ATOM 217 CE2 TRP A 16 25.892 -3.435 15.527 1.00 0.00 C +ATOM 218 CE3 TRP A 16 25.036 -2.571 17.617 1.00 0.00 C +ATOM 219 HE3 TRP A 16 25.300 -2.675 18.767 1.00 0.00 H +ATOM 220 CZ2 TRP A 16 24.608 -3.831 15.128 1.00 0.00 C +ATOM 221 HZ2 TRP A 16 24.373 -4.446 14.146 1.00 0.00 H +ATOM 222 CZ3 TRP A 16 23.778 -3.012 17.246 1.00 0.00 C +ATOM 223 HZ3 TRP A 16 22.911 -2.811 18.018 1.00 0.00 H +ATOM 224 CH2 TRP A 16 23.579 -3.613 16.012 1.00 0.00 C +ATOM 225 HH2 TRP A 16 22.455 -3.845 15.723 1.00 0.00 H +ATOM 226 N HIS A 17 30.735 -1.316 20.019 1.00 0.00 N +ATOM 227 H HIS A 17 30.293 -2.330 20.447 1.00 0.00 H +ATOM 228 CA HIS A 17 31.234 -0.495 21.072 1.00 0.00 C +ATOM 229 HA HIS A 17 30.467 0.328 21.435 1.00 0.00 H +ATOM 230 C HIS A 17 32.501 0.279 20.698 1.00 0.00 C +ATOM 231 O HIS A 17 32.767 1.347 21.256 1.00 0.00 O +ATOM 232 CB HIS A 17 31.537 -1.291 22.366 1.00 0.00 C +ATOM 233 HB2 HIS A 17 31.792 -0.529 23.248 1.00 0.00 H +ATOM 234 HB3 HIS A 17 30.740 -2.108 22.710 1.00 0.00 H +ATOM 235 CG HIS A 17 32.707 -2.194 22.223 1.00 0.00 C +ATOM 236 ND1 HIS A 17 33.944 -1.839 22.735 1.00 0.00 N +ATOM 237 HD1 HIS A 17 34.442 -0.981 23.392 1.00 0.00 H +ATOM 238 CD2 HIS A 17 32.859 -3.396 21.609 1.00 0.00 C +ATOM 239 HD2 HIS A 17 32.227 -4.387 21.765 1.00 0.00 H +ATOM 240 CE1 HIS A 17 34.807 -2.795 22.452 1.00 0.00 C +ATOM 241 HE1 HIS A 17 35.886 -3.053 22.879 1.00 0.00 H +ATOM 242 NE2 HIS A 17 34.190 -3.754 21.777 1.00 0.00 N +ATOM 243 N LYS A 18 33.242 -0.251 19.732 1.00 0.00 N +ATOM 244 H LYS A 18 33.214 -1.408 19.496 1.00 0.00 H +ATOM 245 CA LYS A 18 34.517 0.412 19.378 1.00 0.00 C +ATOM 246 HA LYS A 18 35.186 0.723 20.317 1.00 0.00 H +ATOM 247 C LYS A 18 34.231 1.789 18.756 1.00 0.00 C +ATOM 248 O LYS A 18 34.824 2.804 19.143 1.00 0.00 O +ATOM 249 CB LYS A 18 35.355 -0.464 18.457 1.00 0.00 C +ATOM 250 HB2 LYS A 18 36.288 0.228 18.153 1.00 0.00 H +ATOM 251 HB3 LYS A 18 34.875 -0.592 17.373 1.00 0.00 H +ATOM 252 CG LYS A 18 35.937 -1.633 19.203 1.00 0.00 C +ATOM 253 HG2 LYS A 18 36.896 -1.218 19.793 1.00 0.00 H +ATOM 254 HG3 LYS A 18 35.423 -2.347 20.002 1.00 0.00 H +ATOM 255 CD LYS A 18 36.639 -2.624 18.214 1.00 0.00 C +ATOM 256 HD2 LYS A 18 37.307 -2.112 17.365 1.00 0.00 H +ATOM 257 HD3 LYS A 18 37.500 -3.147 18.859 1.00 0.00 H +ATOM 258 CE LYS A 18 35.660 -3.651 17.586 1.00 0.00 C +ATOM 259 HE2 LYS A 18 35.369 -4.383 18.482 1.00 0.00 H +ATOM 260 HE3 LYS A 18 34.753 -3.007 17.168 1.00 0.00 H +ATOM 261 NZ LYS A 18 36.288 -4.476 16.537 1.00 0.00 N +ATOM 262 HZ1 LYS A 18 36.133 -3.708 15.634 1.00 0.00 H +ATOM 263 HZ2 LYS A 18 36.809 -5.133 15.657 1.00 0.00 H +ATOM 264 HZ3 LYS A 18 36.995 -5.063 17.299 1.00 0.00 H +ATOM 265 N ASP A 19 33.284 1.850 17.815 1.00 0.00 N +ATOM 266 H ASP A 19 33.107 1.027 16.980 1.00 0.00 H +ATOM 267 CA ASP A 19 32.912 3.215 17.299 1.00 0.00 C +ATOM 268 HA ASP A 19 33.791 4.022 17.323 1.00 0.00 H +ATOM 269 C ASP A 19 31.822 3.937 18.091 1.00 0.00 C +ATOM 270 O ASP A 19 31.694 5.163 17.986 1.00 0.00 O +ATOM 271 CB ASP A 19 32.439 3.160 15.836 1.00 0.00 C +ATOM 272 HB2 ASP A 19 32.000 4.071 15.208 1.00 0.00 H +ATOM 273 HB3 ASP A 19 31.369 2.715 16.026 1.00 0.00 H +ATOM 274 CG ASP A 19 33.581 3.087 14.828 1.00 0.00 C +ATOM 275 OD1 ASP A 19 34.753 3.106 15.193 1.00 0.00 O +ATOM 276 OD2 ASP A 19 33.271 3.006 13.642 1.00 0.00 O +ATOM 277 N PHE A 20 31.056 3.188 18.905 1.00 0.00 N +ATOM 278 H PHE A 20 31.636 2.343 19.487 1.00 0.00 H +ATOM 279 CA PHE A 20 29.914 3.763 19.638 1.00 0.00 C +ATOM 280 HA PHE A 20 29.809 4.949 19.645 1.00 0.00 H +ATOM 281 C PHE A 20 30.004 3.244 21.058 1.00 0.00 C +ATOM 282 O PHE A 20 29.354 2.264 21.439 1.00 0.00 O +ATOM 283 CB PHE A 20 28.605 3.219 18.989 1.00 0.00 C +ATOM 284 HB2 PHE A 20 27.765 3.882 19.510 1.00 0.00 H +ATOM 285 HB3 PHE A 20 28.339 2.065 18.962 1.00 0.00 H +ATOM 286 CG PHE A 20 28.534 3.554 17.519 1.00 0.00 C +ATOM 287 CD1 PHE A 20 28.166 4.821 17.147 1.00 0.00 C +ATOM 288 HD1 PHE A 20 28.174 5.868 17.709 1.00 0.00 H +ATOM 289 CD2 PHE A 20 28.953 2.637 16.533 1.00 0.00 C +ATOM 290 HD2 PHE A 20 29.307 1.508 16.536 1.00 0.00 H +ATOM 291 CE1 PHE A 20 28.212 5.186 15.714 1.00 0.00 C +ATOM 292 HE1 PHE A 20 28.312 6.314 15.349 1.00 0.00 H +ATOM 293 CE2 PHE A 20 28.952 2.962 15.145 1.00 0.00 C +ATOM 294 HE2 PHE A 20 29.459 2.371 14.249 1.00 0.00 H +ATOM 295 CZ PHE A 20 28.575 4.236 14.799 1.00 0.00 C +ATOM 296 HZ PHE A 20 28.702 4.656 13.693 1.00 0.00 H +ATOM 297 N PRO A 21 30.855 3.837 21.883 1.00 0.00 N +ATOM 298 CA PRO A 21 31.111 3.351 23.262 1.00 0.00 C +ATOM 299 HA PRO A 21 31.756 2.364 23.415 1.00 0.00 H +ATOM 300 C PRO A 21 29.836 3.283 24.119 1.00 0.00 C +ATOM 301 O PRO A 21 29.823 2.571 25.064 1.00 0.00 O +ATOM 302 CB PRO A 21 32.188 4.366 23.821 1.00 0.00 C +ATOM 303 HB2 PRO A 21 31.961 4.386 24.993 1.00 0.00 H +ATOM 304 HB3 PRO A 21 33.357 4.217 24.027 1.00 0.00 H +ATOM 305 CG PRO A 21 32.196 5.475 22.880 1.00 0.00 C +ATOM 306 HG2 PRO A 21 31.413 6.319 23.207 1.00 0.00 H +ATOM 307 HG3 PRO A 21 33.172 6.169 22.830 1.00 0.00 H +ATOM 308 CD PRO A 21 31.808 4.890 21.495 1.00 0.00 C +ATOM 309 HD2 PRO A 21 31.498 5.912 20.965 1.00 0.00 H +ATOM 310 HD3 PRO A 21 32.860 4.572 21.042 1.00 0.00 H +ATOM 311 N ILE A 22 28.784 4.035 23.773 1.00 0.00 N +ATOM 312 H ILE A 22 29.074 5.148 23.470 1.00 0.00 H +ATOM 313 CA ILE A 22 27.507 3.955 24.501 1.00 0.00 C +ATOM 314 HA ILE A 22 27.909 4.098 25.614 1.00 0.00 H +ATOM 315 C ILE A 22 26.895 2.566 24.413 1.00 0.00 C +ATOM 316 O ILE A 22 25.982 2.273 25.160 1.00 0.00 O +ATOM 317 CB ILE A 22 26.516 4.997 24.013 1.00 0.00 C +ATOM 318 HB ILE A 22 26.988 6.083 23.841 1.00 0.00 H +ATOM 319 CG1 ILE A 22 25.491 5.353 25.113 1.00 0.00 C +ATOM 320 HG12 ILE A 22 24.823 4.451 25.481 1.00 0.00 H +ATOM 321 HG13 ILE A 22 24.866 6.285 24.701 1.00 0.00 H +ATOM 322 CG2 ILE A 22 25.894 4.493 22.699 1.00 0.00 C +ATOM 323 HG21 ILE A 22 26.578 5.073 21.900 1.00 0.00 H +ATOM 324 HG22 ILE A 22 25.879 3.339 22.462 1.00 0.00 H +ATOM 325 HG23 ILE A 22 24.879 5.104 22.641 1.00 0.00 H +ATOM 326 CD1 ILE A 22 26.112 5.877 26.391 1.00 0.00 C +ATOM 327 HD11 ILE A 22 27.262 5.831 26.728 1.00 0.00 H +ATOM 328 HD12 ILE A 22 26.039 7.076 26.316 1.00 0.00 H +ATOM 329 HD13 ILE A 22 25.538 5.691 27.423 1.00 0.00 H +ATOM 330 N ALA A 23 27.406 1.721 23.521 1.00 0.00 N +ATOM 331 H ALA A 23 28.524 1.665 23.155 1.00 0.00 H +ATOM 332 CA ALA A 23 26.940 0.312 23.412 1.00 0.00 C +ATOM 333 HA ALA A 23 25.793 0.557 23.247 1.00 0.00 H +ATOM 334 C ALA A 23 27.022 -0.378 24.768 1.00 0.00 C +ATOM 335 O ALA A 23 26.294 -1.382 24.982 1.00 0.00 O +ATOM 336 CB ALA A 23 27.802 -0.473 22.350 1.00 0.00 C +ATOM 337 HB1 ALA A 23 27.226 -1.413 21.890 1.00 0.00 H +ATOM 338 HB2 ALA A 23 28.583 -1.069 23.024 1.00 0.00 H +ATOM 339 HB3 ALA A 23 28.131 0.134 21.384 1.00 0.00 H +ATOM 340 N LYS A 24 27.972 0.082 25.628 1.00 0.00 N +ATOM 341 H LYS A 24 28.983 0.637 25.366 1.00 0.00 H +ATOM 342 CA LYS A 24 28.159 -0.518 26.980 1.00 0.00 C +ATOM 343 HA LYS A 24 27.546 -1.517 27.199 1.00 0.00 H +ATOM 344 C LYS A 24 27.519 0.346 28.058 1.00 0.00 C +ATOM 345 O LYS A 24 27.890 0.234 29.241 1.00 0.00 O +ATOM 346 CB LYS A 24 29.648 -0.796 27.272 1.00 0.00 C +ATOM 347 HB2 LYS A 24 30.359 0.161 27.344 1.00 0.00 H +ATOM 348 HB3 LYS A 24 29.700 -1.224 28.387 1.00 0.00 H +ATOM 349 CG LYS A 24 30.141 -1.870 26.339 1.00 0.00 C +ATOM 350 HG2 LYS A 24 30.241 -1.450 25.234 1.00 0.00 H +ATOM 351 HG3 LYS A 24 29.463 -2.854 26.376 1.00 0.00 H +ATOM 352 CD LYS A 24 31.554 -2.328 26.686 1.00 0.00 C +ATOM 353 HD2 LYS A 24 31.541 -2.849 27.765 1.00 0.00 H +ATOM 354 HD3 LYS A 24 32.361 -1.457 26.834 1.00 0.00 H +ATOM 355 CE LYS A 24 32.082 -3.422 25.697 1.00 0.00 C +ATOM 356 HE2 LYS A 24 31.292 -4.287 25.455 1.00 0.00 H +ATOM 357 HE3 LYS A 24 32.458 -2.859 24.723 1.00 0.00 H +ATOM 358 NZ LYS A 24 33.250 -4.097 26.129 1.00 0.00 N +ATOM 359 HZ1 LYS A 24 33.807 -4.744 25.289 1.00 0.00 H +ATOM 360 HZ2 LYS A 24 32.963 -4.931 26.944 1.00 0.00 H +ATOM 361 HZ3 LYS A 24 34.112 -3.460 26.658 1.00 0.00 H +ATOM 362 N GLY A 25 26.571 1.199 27.647 1.00 0.00 N +ATOM 363 H GLY A 25 26.941 1.731 26.671 1.00 0.00 H +ATOM 364 CA GLY A 25 25.959 2.157 28.534 1.00 0.00 C +ATOM 365 HA2 GLY A 25 26.873 2.565 29.191 1.00 0.00 H +ATOM 366 HA3 GLY A 25 25.519 3.110 27.977 1.00 0.00 H +ATOM 367 C GLY A 25 24.973 1.598 29.556 1.00 0.00 C +ATOM 368 O GLY A 25 24.793 0.383 29.665 1.00 0.00 O +ATOM 369 N GLU A 26 24.305 2.509 30.241 1.00 0.00 N +ATOM 370 H GLU A 26 24.580 3.663 30.161 1.00 0.00 H +ATOM 371 CA GLU A 26 23.432 2.114 31.372 1.00 0.00 C +ATOM 372 HA GLU A 26 23.856 1.053 31.657 1.00 0.00 H +ATOM 373 C GLU A 26 22.002 1.900 30.962 1.00 0.00 C +ATOM 374 O GLU A 26 21.178 1.436 31.786 1.00 0.00 O +ATOM 375 CB GLU A 26 23.493 3.145 32.467 1.00 0.00 C +ATOM 376 HB2 GLU A 26 23.160 4.270 32.227 1.00 0.00 H +ATOM 377 HB3 GLU A 26 22.816 2.891 33.420 1.00 0.00 H +ATOM 378 CG GLU A 26 24.925 3.361 33.010 1.00 0.00 C +ATOM 379 HG2 GLU A 26 24.902 4.052 33.986 1.00 0.00 H +ATOM 380 HG3 GLU A 26 25.815 3.887 32.413 1.00 0.00 H +ATOM 381 CD GLU A 26 25.551 2.049 33.547 1.00 0.00 C +ATOM 382 OE1 GLU A 26 26.666 1.611 33.128 1.00 0.00 O +ATOM 383 OE2 GLU A 26 24.929 1.426 34.416 1.00 0.00 O +ATOM 384 N ARG A 27 21.625 2.265 29.739 1.00 0.00 N +ATOM 385 H ARG A 27 22.150 3.291 29.476 1.00 0.00 H +ATOM 386 CA ARG A 27 20.178 2.100 29.358 1.00 0.00 C +ATOM 387 HA ARG A 27 19.815 1.173 29.997 1.00 0.00 H +ATOM 388 C ARG A 27 20.117 1.612 27.896 1.00 0.00 C +ATOM 389 O ARG A 27 19.382 2.187 27.044 1.00 0.00 O +ATOM 390 CB ARG A 27 19.297 3.380 29.633 1.00 0.00 C +ATOM 391 HB2 ARG A 27 18.146 3.121 29.488 1.00 0.00 H +ATOM 392 HB3 ARG A 27 19.457 3.565 30.805 1.00 0.00 H +ATOM 393 CG ARG A 27 19.742 4.658 29.056 1.00 0.00 C +ATOM 394 HG2 ARG A 27 20.574 5.200 29.721 1.00 0.00 H +ATOM 395 HG3 ARG A 27 19.915 4.456 27.907 1.00 0.00 H +ATOM 396 CD ARG A 27 18.561 5.721 29.269 1.00 0.00 C +ATOM 397 HD2 ARG A 27 19.082 6.793 29.328 1.00 0.00 H +ATOM 398 HD3 ARG A 27 18.153 5.657 30.390 1.00 0.00 H +ATOM 399 NE ARG A 27 17.362 5.638 28.345 1.00 0.00 N +ATOM 400 HE ARG A 27 17.592 4.810 27.542 1.00 0.00 H +ATOM 401 CZ ARG A 27 16.425 6.537 28.346 1.00 0.00 C +ATOM 402 NH1 ARG A 27 16.504 7.548 29.285 1.00 0.00 N +ATOM 403 HH11 ARG A 27 15.972 7.656 30.345 1.00 0.00 H +ATOM 404 HH12 ARG A 27 17.305 8.418 29.196 1.00 0.00 H +ATOM 405 NH2 ARG A 27 15.389 6.487 27.504 1.00 0.00 N +ATOM 406 HH21 ARG A 27 15.302 7.237 26.597 1.00 0.00 H +ATOM 407 HH22 ARG A 27 14.382 6.532 28.138 1.00 0.00 H +ATOM 408 N GLN A 28 20.815 0.532 27.616 1.00 0.00 N +ATOM 409 H GLN A 28 21.487 0.069 28.478 1.00 0.00 H +ATOM 410 CA GLN A 28 20.851 -0.114 26.274 1.00 0.00 C +ATOM 411 HA GLN A 28 20.767 0.785 25.510 1.00 0.00 H +ATOM 412 C GLN A 28 19.664 -1.022 26.015 1.00 0.00 C +ATOM 413 O GLN A 28 19.152 -1.674 26.919 1.00 0.00 O +ATOM 414 CB GLN A 28 22.233 -0.764 26.044 1.00 0.00 C +ATOM 415 HB2 GLN A 28 22.657 -1.665 25.398 1.00 0.00 H +ATOM 416 HB3 GLN A 28 22.432 -1.341 27.075 1.00 0.00 H +ATOM 417 CG GLN A 28 23.372 0.295 25.930 1.00 0.00 C +ATOM 418 HG2 GLN A 28 24.382 -0.336 25.979 1.00 0.00 H +ATOM 419 HG3 GLN A 28 23.450 0.940 26.929 1.00 0.00 H +ATOM 420 CD GLN A 28 23.233 1.082 24.651 1.00 0.00 C +ATOM 421 OE1 GLN A 28 23.420 0.529 23.575 1.00 0.00 O +ATOM 422 NE2 GLN A 28 22.864 2.344 24.745 1.00 0.00 N +ATOM 423 HE21 GLN A 28 23.303 2.852 25.713 1.00 0.00 H +ATOM 424 HE22 GLN A 28 23.039 3.025 23.797 1.00 0.00 H +ATOM 425 N SER A 29 19.311 -1.131 24.748 1.00 0.00 N +ATOM 426 H SER A 29 20.171 -0.854 23.984 1.00 0.00 H +ATOM 427 CA SER A 29 18.244 -2.009 24.313 1.00 0.00 C +ATOM 428 HA SER A 29 17.978 -2.699 25.240 1.00 0.00 H +ATOM 429 C SER A 29 18.782 -2.888 23.209 1.00 0.00 C +ATOM 430 O SER A 29 19.726 -2.541 22.522 1.00 0.00 O +ATOM 431 CB SER A 29 17.089 -1.146 23.727 1.00 0.00 C +ATOM 432 HB2 SER A 29 16.143 -1.587 23.159 1.00 0.00 H +ATOM 433 HB3 SER A 29 17.663 -0.483 22.925 1.00 0.00 H +ATOM 434 OG SER A 29 16.485 -0.400 24.794 1.00 0.00 O +ATOM 435 HG SER A 29 17.155 -0.559 25.748 1.00 0.00 H +ATOM 436 N PRO A 30 18.129 -4.007 22.926 1.00 0.00 N +ATOM 437 CA PRO A 30 16.966 -4.515 23.652 1.00 0.00 C +ATOM 438 HA PRO A 30 16.200 -3.659 23.940 1.00 0.00 H +ATOM 439 C PRO A 30 17.365 -5.196 24.962 1.00 0.00 C +ATOM 440 O PRO A 30 18.558 -5.207 25.337 1.00 0.00 O +ATOM 441 CB PRO A 30 16.439 -5.613 22.656 1.00 0.00 C +ATOM 442 HB2 PRO A 30 15.334 -5.200 22.855 1.00 0.00 H +ATOM 443 HB3 PRO A 30 15.850 -6.178 21.788 1.00 0.00 H +ATOM 444 CG PRO A 30 17.721 -6.179 22.080 1.00 0.00 C +ATOM 445 HG2 PRO A 30 18.368 -6.576 22.997 1.00 0.00 H +ATOM 446 HG3 PRO A 30 17.787 -7.211 21.488 1.00 0.00 H +ATOM 447 CD PRO A 30 18.592 -4.970 21.918 1.00 0.00 C +ATOM 448 HD2 PRO A 30 18.560 -5.288 20.766 1.00 0.00 H +ATOM 449 HD3 PRO A 30 19.450 -4.237 21.542 1.00 0.00 H +ATOM 450 N VAL A 31 16.347 -5.733 25.641 1.00 0.00 N +ATOM 451 H VAL A 31 15.252 -5.314 25.506 1.00 0.00 H +ATOM 452 CA VAL A 31 16.546 -6.440 26.925 1.00 0.00 C +ATOM 453 HA VAL A 31 17.585 -6.990 27.071 1.00 0.00 H +ATOM 454 C VAL A 31 15.639 -7.677 26.929 1.00 0.00 C +ATOM 455 O VAL A 31 14.651 -7.772 26.142 1.00 0.00 O +ATOM 456 CB VAL A 31 16.193 -5.572 28.159 1.00 0.00 C +ATOM 457 HB VAL A 31 16.554 -6.170 29.127 1.00 0.00 H +ATOM 458 CG1 VAL A 31 17.125 -4.388 28.197 1.00 0.00 C +ATOM 459 HG11 VAL A 31 18.273 -4.712 28.218 1.00 0.00 H +ATOM 460 HG12 VAL A 31 16.914 -3.764 29.188 1.00 0.00 H +ATOM 461 HG13 VAL A 31 16.945 -3.628 27.300 1.00 0.00 H +ATOM 462 CG2 VAL A 31 14.734 -5.126 28.210 1.00 0.00 C +ATOM 463 HG21 VAL A 31 13.899 -5.307 27.383 1.00 0.00 H +ATOM 464 HG22 VAL A 31 14.386 -5.890 29.059 1.00 0.00 H +ATOM 465 HG23 VAL A 31 14.561 -4.041 28.669 1.00 0.00 H +ATOM 466 N ASP A 32 15.974 -8.625 27.800 1.00 0.00 N +ATOM 467 H ASP A 32 16.893 -8.632 28.553 1.00 0.00 H +ATOM 468 CA ASP A 32 15.035 -9.735 28.109 1.00 0.00 C +ATOM 469 HA ASP A 32 14.588 -10.106 27.081 1.00 0.00 H +ATOM 470 C ASP A 32 13.965 -9.189 29.077 1.00 0.00 C +ATOM 471 O ASP A 32 14.295 -8.505 30.046 1.00 0.00 O +ATOM 472 CB ASP A 32 15.785 -10.884 28.742 1.00 0.00 C +ATOM 473 HB2 ASP A 32 16.690 -11.360 28.131 1.00 0.00 H +ATOM 474 HB3 ASP A 32 16.234 -10.603 29.812 1.00 0.00 H +ATOM 475 CG ASP A 32 14.867 -12.036 29.048 1.00 0.00 C +ATOM 476 OD1 ASP A 32 14.228 -12.559 28.109 1.00 0.00 O +ATOM 477 OD2 ASP A 32 14.800 -12.449 30.274 1.00 0.00 O +ATOM 478 N ILE A 33 12.724 -9.545 28.797 1.00 0.00 N +ATOM 479 H ILE A 33 12.614 -10.688 28.520 1.00 0.00 H +ATOM 480 CA ILE A 33 11.595 -9.211 29.678 1.00 0.00 C +ATOM 481 HA ILE A 33 11.900 -8.329 30.409 1.00 0.00 H +ATOM 482 C ILE A 33 11.266 -10.449 30.500 1.00 0.00 C +ATOM 483 O ILE A 33 10.791 -11.466 29.960 1.00 0.00 O +ATOM 484 CB ILE A 33 10.386 -8.799 28.845 1.00 0.00 C +ATOM 485 HB ILE A 33 10.023 -9.630 28.080 1.00 0.00 H +ATOM 486 CG1 ILE A 33 10.768 -7.583 28.000 1.00 0.00 C +ATOM 487 HG12 ILE A 33 11.818 -7.636 27.440 1.00 0.00 H +ATOM 488 HG13 ILE A 33 10.673 -6.505 28.493 1.00 0.00 H +ATOM 489 CG2 ILE A 33 9.156 -8.544 29.730 1.00 0.00 C +ATOM 490 HG21 ILE A 33 8.880 -9.503 30.381 1.00 0.00 H +ATOM 491 HG22 ILE A 33 8.193 -8.401 29.047 1.00 0.00 H +ATOM 492 HG23 ILE A 33 9.280 -7.703 30.560 1.00 0.00 H +ATOM 493 CD1 ILE A 33 9.707 -7.275 26.805 1.00 0.00 C +ATOM 494 HD11 ILE A 33 9.657 -6.091 26.730 1.00 0.00 H +ATOM 495 HD12 ILE A 33 8.632 -7.769 26.920 1.00 0.00 H +ATOM 496 HD13 ILE A 33 10.180 -7.777 25.836 1.00 0.00 H +ATOM 497 N ASP A 34 11.659 -10.379 31.759 1.00 0.00 N +ATOM 498 H ASP A 34 12.220 -9.512 32.347 1.00 0.00 H +ATOM 499 CA ASP A 34 11.367 -11.479 32.677 1.00 0.00 C +ATOM 500 HA ASP A 34 11.623 -12.508 32.138 1.00 0.00 H +ATOM 501 C ASP A 34 9.984 -11.256 33.185 1.00 0.00 C +ATOM 502 O ASP A 34 9.731 -10.274 33.985 1.00 0.00 O +ATOM 503 CB ASP A 34 12.387 -11.535 33.792 1.00 0.00 C +ATOM 504 HB2 ASP A 34 12.753 -10.752 34.614 1.00 0.00 H +ATOM 505 HB3 ASP A 34 13.483 -11.714 33.343 1.00 0.00 H +ATOM 506 CG ASP A 34 12.219 -12.821 34.613 1.00 0.00 C +ATOM 507 OD1 ASP A 34 11.520 -12.742 35.583 1.00 0.00 O +ATOM 508 OD2 ASP A 34 12.626 -13.913 34.139 1.00 0.00 O +ATOM 509 N THR A 35 9.035 -12.059 32.766 1.00 0.00 N +ATOM 510 H THR A 35 9.185 -12.562 31.709 1.00 0.00 H +ATOM 511 CA THR A 35 7.608 -11.814 33.040 1.00 0.00 C +ATOM 512 HA THR A 35 7.187 -10.737 32.761 1.00 0.00 H +ATOM 513 C THR A 35 7.230 -11.932 34.494 1.00 0.00 C +ATOM 514 O THR A 35 6.278 -11.286 34.916 1.00 0.00 O +ATOM 515 CB THR A 35 6.685 -12.773 32.262 1.00 0.00 C +ATOM 516 HB THR A 35 5.512 -12.629 32.439 1.00 0.00 H +ATOM 517 OG1 THR A 35 6.891 -14.134 32.687 1.00 0.00 O +ATOM 518 HG1 THR A 35 6.021 -14.385 33.440 1.00 0.00 H +ATOM 519 CG2 THR A 35 6.948 -12.557 30.680 1.00 0.00 C +ATOM 520 HG21 THR A 35 7.077 -13.688 30.330 1.00 0.00 H +ATOM 521 HG22 THR A 35 7.569 -11.597 30.378 1.00 0.00 H +ATOM 522 HG23 THR A 35 5.821 -12.367 30.326 1.00 0.00 H +ATOM 523 N HIS A 36 8.047 -12.655 35.262 1.00 0.00 N +ATOM 524 H HIS A 36 8.821 -13.452 34.847 1.00 0.00 H +ATOM 525 CA HIS A 36 7.805 -12.798 36.717 1.00 0.00 C +ATOM 526 HA HIS A 36 6.648 -12.775 37.011 1.00 0.00 H +ATOM 527 C HIS A 36 8.298 -11.635 37.488 1.00 0.00 C +ATOM 528 O HIS A 36 7.735 -11.385 38.544 1.00 0.00 O +ATOM 529 CB HIS A 36 8.322 -14.143 37.216 1.00 0.00 C +ATOM 530 HB2 HIS A 36 9.483 -13.945 37.429 1.00 0.00 H +ATOM 531 HB3 HIS A 36 8.361 -14.655 38.298 1.00 0.00 H +ATOM 532 CG HIS A 36 7.494 -15.244 36.667 1.00 0.00 C +ATOM 533 ND1 HIS A 36 7.888 -15.921 35.535 1.00 0.00 N +ATOM 534 HD1 HIS A 36 8.977 -16.319 35.273 1.00 0.00 H +ATOM 535 CD2 HIS A 36 6.202 -15.636 36.911 1.00 0.00 C +ATOM 536 HD2 HIS A 36 5.405 -15.611 37.790 1.00 0.00 H +ATOM 537 CE1 HIS A 36 6.954 -16.780 35.182 1.00 0.00 C +ATOM 538 HE1 HIS A 36 6.864 -17.725 34.469 1.00 0.00 H +ATOM 539 NE2 HIS A 36 5.926 -16.652 36.008 1.00 0.00 N +ATOM 540 N THR A 37 9.270 -10.871 36.978 1.00 0.00 N +ATOM 541 H THR A 37 9.976 -11.411 36.202 1.00 0.00 H +ATOM 542 CA THR A 37 9.929 -9.775 37.675 1.00 0.00 C +ATOM 543 HA THR A 37 9.730 -9.827 38.850 1.00 0.00 H +ATOM 544 C THR A 37 9.265 -8.417 37.247 1.00 0.00 C +ATOM 545 O THR A 37 9.202 -7.498 38.028 1.00 0.00 O +ATOM 546 CB THR A 37 11.413 -9.739 37.325 1.00 0.00 C +ATOM 547 HB THR A 37 11.791 -9.392 36.252 1.00 0.00 H +ATOM 548 OG1 THR A 37 11.965 -11.002 37.698 1.00 0.00 O +ATOM 549 HG1 THR A 37 12.199 -10.982 38.858 1.00 0.00 H +ATOM 550 CG2 THR A 37 12.159 -8.660 38.109 1.00 0.00 C +ATOM 551 HG21 THR A 37 12.018 -8.641 39.298 1.00 0.00 H +ATOM 552 HG22 THR A 37 11.983 -7.521 37.786 1.00 0.00 H +ATOM 553 HG23 THR A 37 13.340 -8.807 37.963 1.00 0.00 H +ATOM 554 N ALA A 38 8.724 -8.292 36.028 1.00 0.00 N +ATOM 555 H ALA A 38 9.389 -8.708 35.148 1.00 0.00 H +ATOM 556 CA ALA A 38 8.040 -7.059 35.588 1.00 0.00 C +ATOM 557 HA ALA A 38 8.937 -6.289 35.729 1.00 0.00 H +ATOM 558 C ALA A 38 6.835 -6.822 36.461 1.00 0.00 C +ATOM 559 O ALA A 38 6.011 -7.743 36.701 1.00 0.00 O +ATOM 560 CB ALA A 38 7.660 -7.189 34.089 1.00 0.00 C +ATOM 561 HB1 ALA A 38 6.500 -6.919 34.137 1.00 0.00 H +ATOM 562 HB2 ALA A 38 7.653 -8.265 33.574 1.00 0.00 H +ATOM 563 HB3 ALA A 38 8.408 -6.531 33.445 1.00 0.00 H +ATOM 564 N LYS A 39 6.769 -5.617 37.032 1.00 0.00 N +ATOM 565 H LYS A 39 7.672 -4.858 37.164 1.00 0.00 H +ATOM 566 CA LYS A 39 5.644 -5.384 37.969 1.00 0.00 C +ATOM 567 HA LYS A 39 5.419 -6.460 38.429 1.00 0.00 H +ATOM 568 C LYS A 39 4.485 -4.674 37.295 1.00 0.00 C +ATOM 569 O LYS A 39 4.613 -3.665 36.623 1.00 0.00 O +ATOM 570 CB LYS A 39 6.077 -4.580 39.184 1.00 0.00 C +ATOM 571 HB2 LYS A 39 7.143 -4.952 39.579 1.00 0.00 H +ATOM 572 HB3 LYS A 39 6.200 -3.429 38.888 1.00 0.00 H +ATOM 573 CG LYS A 39 5.136 -4.759 40.387 1.00 0.00 C +ATOM 574 HG2 LYS A 39 3.999 -4.469 40.189 1.00 0.00 H +ATOM 575 HG3 LYS A 39 5.170 -5.893 40.767 1.00 0.00 H +ATOM 576 CD LYS A 39 5.674 -3.947 41.542 1.00 0.00 C +ATOM 577 HD2 LYS A 39 6.226 -2.924 41.259 1.00 0.00 H +ATOM 578 HD3 LYS A 39 6.521 -4.496 42.185 1.00 0.00 H +ATOM 579 CE LYS A 39 4.564 -3.406 42.415 1.00 0.00 C +ATOM 580 HE2 LYS A 39 3.630 -2.783 42.004 1.00 0.00 H +ATOM 581 HE3 LYS A 39 5.065 -2.620 43.169 1.00 0.00 H +ATOM 582 NZ LYS A 39 4.139 -4.555 43.183 1.00 0.00 N +ATOM 583 HZ1 LYS A 39 4.861 -5.409 43.612 1.00 0.00 H +ATOM 584 HZ2 LYS A 39 3.193 -5.142 42.741 1.00 0.00 H +ATOM 585 HZ3 LYS A 39 3.701 -4.084 44.196 1.00 0.00 H +ATOM 586 N TYR A 40 3.315 -5.203 37.583 1.00 0.00 N +ATOM 587 H TYR A 40 3.176 -6.252 38.124 1.00 0.00 H +ATOM 588 CA TYR A 40 2.108 -4.545 37.147 1.00 0.00 C +ATOM 589 HA TYR A 40 2.134 -4.596 35.965 1.00 0.00 H +ATOM 590 C TYR A 40 2.064 -3.118 37.792 1.00 0.00 C +ATOM 591 O TYR A 40 2.206 -2.974 39.045 1.00 0.00 O +ATOM 592 CB TYR A 40 0.841 -5.388 37.529 1.00 0.00 C +ATOM 593 HB2 TYR A 40 0.855 -6.380 36.872 1.00 0.00 H +ATOM 594 HB3 TYR A 40 0.932 -5.846 38.629 1.00 0.00 H +ATOM 595 CG TYR A 40 -0.409 -4.621 37.442 1.00 0.00 C +ATOM 596 CD1 TYR A 40 -0.796 -4.036 36.224 1.00 0.00 C +ATOM 597 HD1 TYR A 40 -0.165 -3.777 35.262 1.00 0.00 H +ATOM 598 CD2 TYR A 40 -1.282 -4.553 38.528 1.00 0.00 C +ATOM 599 HD2 TYR A 40 -1.003 -4.842 39.647 1.00 0.00 H +ATOM 600 CE1 TYR A 40 -1.952 -3.304 36.101 1.00 0.00 C +ATOM 601 HE1 TYR A 40 -2.380 -2.602 35.246 1.00 0.00 H +ATOM 602 CE2 TYR A 40 -2.479 -3.835 38.430 1.00 0.00 C +ATOM 603 HE2 TYR A 40 -2.965 -3.489 39.456 1.00 0.00 H +ATOM 604 CZ TYR A 40 -2.836 -3.230 37.223 1.00 0.00 C +ATOM 605 OH TYR A 40 -4.038 -2.531 37.131 1.00 0.00 O +ATOM 606 HH TYR A 40 -4.093 -1.704 37.963 1.00 0.00 H +ATOM 607 N ASP A 41 1.802 -2.090 37.005 1.00 0.00 N +ATOM 608 H ASP A 41 2.279 -2.088 35.927 1.00 0.00 H +ATOM 609 CA ASP A 41 1.755 -0.742 37.490 1.00 0.00 C +ATOM 610 HA ASP A 41 2.144 -0.624 38.609 1.00 0.00 H +ATOM 611 C ASP A 41 0.365 -0.232 37.175 1.00 0.00 C +ATOM 612 O ASP A 41 0.082 0.147 36.040 1.00 0.00 O +ATOM 613 CB ASP A 41 2.834 0.090 36.825 1.00 0.00 C +ATOM 614 HB2 ASP A 41 2.919 0.288 35.664 1.00 0.00 H +ATOM 615 HB3 ASP A 41 3.850 -0.309 37.313 1.00 0.00 H +ATOM 616 CG ASP A 41 2.909 1.483 37.364 1.00 0.00 C +ATOM 617 OD1 ASP A 41 1.980 1.902 38.090 1.00 0.00 O +ATOM 618 OD2 ASP A 41 3.879 2.173 36.979 1.00 0.00 O +ATOM 619 N PRO A 42 -0.533 -0.231 38.188 1.00 0.00 N +ATOM 620 CA PRO A 42 -1.963 0.178 37.971 1.00 0.00 C +ATOM 621 HA PRO A 42 -2.489 -0.207 36.975 1.00 0.00 H +ATOM 622 C PRO A 42 -2.059 1.647 37.615 1.00 0.00 C +ATOM 623 O PRO A 42 -3.164 2.138 37.200 1.00 0.00 O +ATOM 624 CB PRO A 42 -2.596 -0.049 39.358 1.00 0.00 C +ATOM 625 HB2 PRO A 42 -3.466 0.762 39.495 1.00 0.00 H +ATOM 626 HB3 PRO A 42 -3.227 -0.919 39.884 1.00 0.00 H +ATOM 627 CG PRO A 42 -1.448 0.016 40.312 1.00 0.00 C +ATOM 628 HG2 PRO A 42 -1.624 -0.562 41.349 1.00 0.00 H +ATOM 629 HG3 PRO A 42 -1.369 1.096 40.822 1.00 0.00 H +ATOM 630 CD PRO A 42 -0.314 -0.704 39.563 1.00 0.00 C +ATOM 631 HD2 PRO A 42 -0.311 -1.870 39.811 1.00 0.00 H +ATOM 632 HD3 PRO A 42 0.564 -0.275 40.254 1.00 0.00 H +ATOM 633 N SER A 43 -0.942 2.356 37.764 1.00 0.00 N +ATOM 634 H SER A 43 -0.506 2.313 38.867 1.00 0.00 H +ATOM 635 CA SER A 43 -0.838 3.753 37.368 1.00 0.00 C +ATOM 636 HA SER A 43 -1.859 4.335 37.584 1.00 0.00 H +ATOM 637 C SER A 43 -0.593 4.012 35.872 1.00 0.00 C +ATOM 638 O SER A 43 -0.758 5.183 35.405 1.00 0.00 O +ATOM 639 CB SER A 43 0.234 4.475 38.196 1.00 0.00 C +ATOM 640 HB2 SER A 43 0.254 4.346 39.385 1.00 0.00 H +ATOM 641 HB3 SER A 43 -0.022 5.641 38.094 1.00 0.00 H +ATOM 642 OG SER A 43 1.551 4.407 37.688 1.00 0.00 O +ATOM 643 HG SER A 43 2.223 5.145 38.329 1.00 0.00 H +ATOM 644 N LEU A 44 -0.217 2.980 35.116 1.00 0.00 N +ATOM 645 H LEU A 44 0.374 2.150 35.707 1.00 0.00 H +ATOM 646 CA LEU A 44 -0.005 3.156 33.652 1.00 0.00 C +ATOM 647 HA LEU A 44 0.537 4.215 33.701 1.00 0.00 H +ATOM 648 C LEU A 44 -1.330 3.318 32.960 1.00 0.00 C +ATOM 649 O LEU A 44 -2.307 2.663 33.290 1.00 0.00 O +ATOM 650 CB LEU A 44 0.755 1.999 33.060 1.00 0.00 C +ATOM 651 HB2 LEU A 44 0.870 1.322 32.095 1.00 0.00 H +ATOM 652 HB3 LEU A 44 -0.307 1.461 33.183 1.00 0.00 H +ATOM 653 CG LEU A 44 2.227 1.950 33.431 1.00 0.00 C +ATOM 654 HG LEU A 44 2.451 2.299 34.547 1.00 0.00 H +ATOM 655 CD1 LEU A 44 2.677 0.590 32.993 1.00 0.00 C +ATOM 656 HD11 LEU A 44 3.844 0.786 33.126 1.00 0.00 H +ATOM 657 HD12 LEU A 44 2.617 0.047 31.933 1.00 0.00 H +ATOM 658 HD13 LEU A 44 2.304 -0.263 33.731 1.00 0.00 H +ATOM 659 CD2 LEU A 44 2.999 3.084 32.739 1.00 0.00 C +ATOM 660 HD21 LEU A 44 3.839 3.481 33.497 1.00 0.00 H +ATOM 661 HD22 LEU A 44 3.586 2.809 31.746 1.00 0.00 H +ATOM 662 HD23 LEU A 44 2.394 4.100 32.569 1.00 0.00 H +ATOM 663 N LYS A 45 -1.331 4.157 31.954 1.00 0.00 N +ATOM 664 H LYS A 45 -0.368 4.762 31.624 1.00 0.00 H +ATOM 665 CA LYS A 45 -2.563 4.287 31.143 1.00 0.00 C +ATOM 666 HA LYS A 45 -3.431 3.968 31.894 1.00 0.00 H +ATOM 667 C LYS A 45 -2.620 3.321 29.953 1.00 0.00 C +ATOM 668 O LYS A 45 -1.601 2.604 29.632 1.00 0.00 O +ATOM 669 CB LYS A 45 -2.790 5.686 30.745 1.00 0.00 C +ATOM 670 HB2 LYS A 45 -1.834 6.117 30.181 1.00 0.00 H +ATOM 671 HB3 LYS A 45 -3.701 6.029 30.053 1.00 0.00 H +ATOM 672 CG LYS A 45 -2.715 6.587 31.944 1.00 0.00 C +ATOM 673 HG2 LYS A 45 -2.091 6.271 32.909 1.00 0.00 H +ATOM 674 HG3 LYS A 45 -3.840 6.563 32.359 1.00 0.00 H +ATOM 675 CD LYS A 45 -2.456 8.041 31.600 1.00 0.00 C +ATOM 676 HD2 LYS A 45 -1.568 8.456 30.931 1.00 0.00 H +ATOM 677 HD3 LYS A 45 -3.449 8.479 31.103 1.00 0.00 H +ATOM 678 CE LYS A 45 -2.198 8.840 32.917 1.00 0.00 C +ATOM 679 HE2 LYS A 45 -2.238 10.022 32.730 1.00 0.00 H +ATOM 680 HE3 LYS A 45 -3.095 8.711 33.699 1.00 0.00 H +ATOM 681 NZ LYS A 45 -0.870 8.562 33.619 1.00 0.00 N +ATOM 682 HZ1 LYS A 45 0.068 8.119 33.027 1.00 0.00 H +ATOM 683 HZ2 LYS A 45 -0.448 9.615 34.006 1.00 0.00 H +ATOM 684 HZ3 LYS A 45 -1.053 7.982 34.649 1.00 0.00 H +ATOM 685 N PRO A 46 -3.858 3.157 29.399 1.00 0.00 N +ATOM 686 CA PRO A 46 -3.998 2.424 28.141 1.00 0.00 C +ATOM 687 HA PRO A 46 -3.795 1.283 28.421 1.00 0.00 H +ATOM 688 C PRO A 46 -3.241 3.278 27.134 1.00 0.00 C +ATOM 689 O PRO A 46 -3.201 4.528 27.280 1.00 0.00 O +ATOM 690 CB PRO A 46 -5.526 2.470 27.858 1.00 0.00 C +ATOM 691 HB2 PRO A 46 -5.888 3.043 26.875 1.00 0.00 H +ATOM 692 HB3 PRO A 46 -5.991 1.378 27.713 1.00 0.00 H +ATOM 693 CG PRO A 46 -6.207 3.160 29.064 1.00 0.00 C +ATOM 694 HG2 PRO A 46 -7.048 3.923 28.684 1.00 0.00 H +ATOM 695 HG3 PRO A 46 -6.899 2.353 29.614 1.00 0.00 H +ATOM 696 CD PRO A 46 -5.134 3.676 29.964 1.00 0.00 C +ATOM 697 HD2 PRO A 46 -5.442 3.253 31.038 1.00 0.00 H +ATOM 698 HD3 PRO A 46 -5.439 4.821 29.909 1.00 0.00 H +ATOM 699 N LEU A 47 -2.607 2.584 26.177 1.00 0.00 N +ATOM 700 H LEU A 47 -2.831 1.418 26.200 1.00 0.00 H +ATOM 701 CA LEU A 47 -1.899 3.305 25.212 1.00 0.00 C +ATOM 702 HA LEU A 47 -1.348 4.176 25.794 1.00 0.00 H +ATOM 703 C LEU A 47 -2.999 3.952 24.316 1.00 0.00 C +ATOM 704 O LEU A 47 -4.079 3.395 24.134 1.00 0.00 O +ATOM 705 CB LEU A 47 -1.147 2.357 24.280 1.00 0.00 C +ATOM 706 HB2 LEU A 47 -1.897 1.435 24.193 1.00 0.00 H +ATOM 707 HB3 LEU A 47 -1.200 2.988 23.272 1.00 0.00 H +ATOM 708 CG LEU A 47 0.240 1.877 24.310 1.00 0.00 C +ATOM 709 HG LEU A 47 0.311 1.245 25.316 1.00 0.00 H +ATOM 710 CD1 LEU A 47 0.471 1.142 23.060 1.00 0.00 C +ATOM 711 HD11 LEU A 47 0.383 0.016 23.448 1.00 0.00 H +ATOM 712 HD12 LEU A 47 -0.253 1.102 22.114 1.00 0.00 H +ATOM 713 HD13 LEU A 47 1.509 1.512 22.620 1.00 0.00 H +ATOM 714 CD2 LEU A 47 1.040 3.180 24.444 1.00 0.00 C +ATOM 715 HD21 LEU A 47 0.619 4.033 25.162 1.00 0.00 H +ATOM 716 HD22 LEU A 47 1.893 2.684 25.117 1.00 0.00 H +ATOM 717 HD23 LEU A 47 1.594 3.845 23.632 1.00 0.00 H +ATOM 718 N SER A 48 -2.684 5.055 23.670 1.00 0.00 N +ATOM 719 H SER A 48 -2.352 5.858 24.466 1.00 0.00 H +ATOM 720 CA SER A 48 -3.518 5.627 22.602 1.00 0.00 C +ATOM 721 HA SER A 48 -4.587 5.106 22.505 1.00 0.00 H +ATOM 722 C SER A 48 -2.747 5.620 21.326 1.00 0.00 C +ATOM 723 O SER A 48 -1.805 6.397 21.119 1.00 0.00 O +ATOM 724 CB SER A 48 -3.947 7.045 22.971 1.00 0.00 C +ATOM 725 HB2 SER A 48 -3.301 7.824 23.595 1.00 0.00 H +ATOM 726 HB3 SER A 48 -4.872 6.903 23.720 1.00 0.00 H +ATOM 727 OG SER A 48 -4.547 7.723 21.911 1.00 0.00 O +ATOM 728 HG SER A 48 -5.419 8.395 22.352 1.00 0.00 H +ATOM 729 N VAL A 49 -3.135 4.714 20.433 1.00 0.00 N +ATOM 730 H VAL A 49 -4.209 4.203 20.458 1.00 0.00 H +ATOM 731 CA VAL A 49 -2.493 4.590 19.106 1.00 0.00 C +ATOM 732 HA VAL A 49 -1.432 5.094 18.950 1.00 0.00 H +ATOM 733 C VAL A 49 -3.466 5.198 18.106 1.00 0.00 C +ATOM 734 O VAL A 49 -4.566 4.641 17.879 1.00 0.00 O +ATOM 735 CB VAL A 49 -2.248 3.083 18.741 1.00 0.00 C +ATOM 736 HB VAL A 49 -3.328 2.578 18.676 1.00 0.00 H +ATOM 737 CG1 VAL A 49 -1.520 2.997 17.371 1.00 0.00 C +ATOM 738 HG11 VAL A 49 -1.185 4.062 16.967 1.00 0.00 H +ATOM 739 HG12 VAL A 49 -2.430 2.652 16.678 1.00 0.00 H +ATOM 740 HG13 VAL A 49 -0.622 2.223 17.354 1.00 0.00 H +ATOM 741 CG2 VAL A 49 -1.494 2.342 19.860 1.00 0.00 C +ATOM 742 HG21 VAL A 49 -1.837 2.731 20.925 1.00 0.00 H +ATOM 743 HG22 VAL A 49 -0.324 2.321 19.662 1.00 0.00 H +ATOM 744 HG23 VAL A 49 -1.846 1.220 19.649 1.00 0.00 H +ATOM 745 N SER A 50 -3.139 6.353 17.539 1.00 0.00 N +ATOM 746 H SER A 50 -2.591 7.047 18.324 1.00 0.00 H +ATOM 747 CA SER A 50 -4.045 7.103 16.684 1.00 0.00 C +ATOM 748 HA SER A 50 -5.185 6.750 16.691 1.00 0.00 H +ATOM 749 C SER A 50 -3.435 7.169 15.281 1.00 0.00 C +ATOM 750 O SER A 50 -2.739 8.099 14.941 1.00 0.00 O +ATOM 751 CB SER A 50 -4.147 8.509 17.237 1.00 0.00 C +ATOM 752 HB2 SER A 50 -3.292 9.302 17.029 1.00 0.00 H +ATOM 753 HB3 SER A 50 -5.056 9.075 16.692 1.00 0.00 H +ATOM 754 OG SER A 50 -4.862 8.454 18.453 1.00 0.00 O +ATOM 755 HG SER A 50 -4.406 9.253 19.194 1.00 0.00 H +ATOM 756 N TYR A 51 -3.783 6.174 14.490 1.00 0.00 N +ATOM 757 H TYR A 51 -4.624 5.406 14.832 1.00 0.00 H +ATOM 758 CA TYR A 51 -3.199 6.011 13.161 1.00 0.00 C +ATOM 759 HA TYR A 51 -2.482 6.893 12.831 1.00 0.00 H +ATOM 760 C TYR A 51 -4.225 6.208 12.006 1.00 0.00 C +ATOM 761 O TYR A 51 -3.897 6.005 10.839 1.00 0.00 O +ATOM 762 CB TYR A 51 -2.609 4.611 13.009 1.00 0.00 C +ATOM 763 HB2 TYR A 51 -3.310 3.951 13.700 1.00 0.00 H +ATOM 764 HB3 TYR A 51 -2.398 4.407 11.859 1.00 0.00 H +ATOM 765 CG TYR A 51 -1.313 4.320 13.730 1.00 0.00 C +ATOM 766 CD1 TYR A 51 -0.602 5.295 14.404 1.00 0.00 C +ATOM 767 HD1 TYR A 51 -0.950 6.335 14.844 1.00 0.00 H +ATOM 768 CD2 TYR A 51 -0.871 2.994 13.838 1.00 0.00 C +ATOM 769 HD2 TYR A 51 -1.506 2.013 13.655 1.00 0.00 H +ATOM 770 CE1 TYR A 51 0.608 5.000 15.069 1.00 0.00 C +ATOM 771 HE1 TYR A 51 1.143 5.823 15.731 1.00 0.00 H +ATOM 772 CE2 TYR A 51 0.356 2.697 14.476 1.00 0.00 C +ATOM 773 HE2 TYR A 51 0.692 1.562 14.458 1.00 0.00 H +ATOM 774 CZ TYR A 51 1.053 3.692 15.080 1.00 0.00 C +ATOM 775 OH TYR A 51 2.233 3.380 15.728 1.00 0.00 O +ATOM 776 HH TYR A 51 1.989 3.401 16.882 1.00 0.00 H +ATOM 777 N ASP A 52 -5.455 6.628 12.355 1.00 0.00 N +ATOM 778 H ASP A 52 -5.828 6.986 13.422 1.00 0.00 H +ATOM 779 CA ASP A 52 -6.436 6.861 11.268 1.00 0.00 C +ATOM 780 HA ASP A 52 -6.674 5.902 10.610 1.00 0.00 H +ATOM 781 C ASP A 52 -5.965 7.823 10.147 1.00 0.00 C +ATOM 782 O ASP A 52 -6.279 7.610 8.947 1.00 0.00 O +ATOM 783 CB ASP A 52 -7.783 7.256 11.899 1.00 0.00 C +ATOM 784 HB2 ASP A 52 -8.670 7.176 11.102 1.00 0.00 H +ATOM 785 HB3 ASP A 52 -8.290 6.830 12.891 1.00 0.00 H +ATOM 786 CG ASP A 52 -7.838 8.703 12.255 1.00 0.00 C +ATOM 787 OD1 ASP A 52 -7.353 9.060 13.386 1.00 0.00 O +ATOM 788 OD2 ASP A 52 -8.452 9.481 11.423 1.00 0.00 O +ATOM 789 N GLN A 53 -5.198 8.834 10.503 1.00 0.00 N +ATOM 790 H GLN A 53 -4.974 9.140 11.628 1.00 0.00 H +ATOM 791 CA GLN A 53 -4.728 9.801 9.516 1.00 0.00 C +ATOM 792 HA GLN A 53 -5.220 9.688 8.436 1.00 0.00 H +ATOM 793 C GLN A 53 -3.272 9.564 9.000 1.00 0.00 C +ATOM 794 O GLN A 53 -2.657 10.459 8.384 1.00 0.00 O +ATOM 795 CB GLN A 53 -4.965 11.222 10.033 1.00 0.00 C +ATOM 796 HB2 GLN A 53 -4.546 12.089 9.332 1.00 0.00 H +ATOM 797 HB3 GLN A 53 -4.507 11.441 11.111 1.00 0.00 H +ATOM 798 CG GLN A 53 -6.459 11.548 10.216 1.00 0.00 C +ATOM 799 HG2 GLN A 53 -7.070 11.130 11.149 1.00 0.00 H +ATOM 800 HG3 GLN A 53 -6.565 12.713 10.479 1.00 0.00 H +ATOM 801 CD GLN A 53 -7.195 11.534 8.889 1.00 0.00 C +ATOM 802 OE1 GLN A 53 -8.184 10.813 8.710 1.00 0.00 O +ATOM 803 NE2 GLN A 53 -6.671 12.279 7.915 1.00 0.00 N +ATOM 804 HE21 GLN A 53 -6.574 11.888 6.796 1.00 0.00 H +ATOM 805 HE22 GLN A 53 -6.810 13.461 7.887 1.00 0.00 H +ATOM 806 N ALA A 54 -2.766 8.357 9.219 1.00 0.00 N +ATOM 807 H ALA A 54 -2.927 8.069 10.355 1.00 0.00 H +ATOM 808 CA ALA A 54 -1.390 8.019 8.807 1.00 0.00 C +ATOM 809 HA ALA A 54 -0.691 8.775 9.401 1.00 0.00 H +ATOM 810 C ALA A 54 -1.229 8.141 7.300 1.00 0.00 C +ATOM 811 O ALA A 54 -2.125 7.740 6.523 1.00 0.00 O +ATOM 812 CB ALA A 54 -1.050 6.642 9.250 1.00 0.00 C +ATOM 813 HB1 ALA A 54 -1.132 6.122 10.318 1.00 0.00 H +ATOM 814 HB2 ALA A 54 -1.854 6.059 8.588 1.00 0.00 H +ATOM 815 HB3 ALA A 54 0.029 6.477 8.808 1.00 0.00 H +ATOM 816 N THR A 55 -0.149 8.790 6.898 1.00 0.00 N +ATOM 817 H THR A 55 0.630 9.293 7.637 1.00 0.00 H +ATOM 818 CA THR A 55 0.212 8.961 5.451 1.00 0.00 C +ATOM 819 HA THR A 55 -0.642 8.557 4.723 1.00 0.00 H +ATOM 820 C THR A 55 1.582 8.321 5.207 1.00 0.00 C +ATOM 821 O THR A 55 2.624 8.908 5.506 1.00 0.00 O +ATOM 822 CB THR A 55 0.396 10.497 5.079 1.00 0.00 C +ATOM 823 HB THR A 55 1.118 10.944 5.900 1.00 0.00 H +ATOM 824 OG1 THR A 55 -0.837 11.186 5.178 1.00 0.00 O +ATOM 825 HG1 THR A 55 -1.610 10.469 5.702 1.00 0.00 H +ATOM 826 CG2 THR A 55 0.813 10.622 3.571 1.00 0.00 C +ATOM 827 HG21 THR A 55 1.827 11.228 3.459 1.00 0.00 H +ATOM 828 HG22 THR A 55 0.740 9.638 2.908 1.00 0.00 H +ATOM 829 HG23 THR A 55 -0.015 11.278 2.994 1.00 0.00 H +ATOM 830 N SER A 56 1.570 7.084 4.748 1.00 0.00 N +ATOM 831 H SER A 56 0.542 6.502 4.878 1.00 0.00 H +ATOM 832 CA SER A 56 2.848 6.429 4.338 1.00 0.00 C +ATOM 833 HA SER A 56 3.615 6.505 5.239 1.00 0.00 H +ATOM 834 C SER A 56 3.290 7.061 3.034 1.00 0.00 C +ATOM 835 O SER A 56 2.454 7.502 2.237 1.00 0.00 O +ATOM 836 CB SER A 56 2.747 4.906 4.266 1.00 0.00 C +ATOM 837 HB2 SER A 56 3.735 4.381 3.869 1.00 0.00 H +ATOM 838 HB3 SER A 56 2.449 4.422 5.305 1.00 0.00 H +ATOM 839 OG SER A 56 1.869 4.571 3.188 1.00 0.00 O +ATOM 840 HG SER A 56 1.375 5.569 2.804 1.00 0.00 H +ATOM 841 N LEU A 57 4.593 7.097 2.795 1.00 0.00 N +ATOM 842 H LEU A 57 5.291 7.506 3.650 1.00 0.00 H +ATOM 843 CA LEU A 57 5.133 7.743 1.583 1.00 0.00 C +ATOM 844 HA LEU A 57 4.384 8.049 0.715 1.00 0.00 H +ATOM 845 C LEU A 57 5.980 6.771 0.763 1.00 0.00 C +ATOM 846 O LEU A 57 5.955 6.747 -0.471 1.00 0.00 O +ATOM 847 CB LEU A 57 6.008 8.962 1.957 1.00 0.00 C +ATOM 848 HB2 LEU A 57 6.481 9.341 0.927 1.00 0.00 H +ATOM 849 HB3 LEU A 57 6.963 8.913 2.668 1.00 0.00 H +ATOM 850 CG LEU A 57 5.142 10.160 2.467 1.00 0.00 C +ATOM 851 HG LEU A 57 4.467 9.952 3.419 1.00 0.00 H +ATOM 852 CD1 LEU A 57 6.056 11.333 2.917 1.00 0.00 C +ATOM 853 HD11 LEU A 57 6.845 11.563 2.043 1.00 0.00 H +ATOM 854 HD12 LEU A 57 5.591 12.432 3.012 1.00 0.00 H +ATOM 855 HD13 LEU A 57 6.786 11.181 3.852 1.00 0.00 H +ATOM 856 CD2 LEU A 57 4.082 10.659 1.423 1.00 0.00 C +ATOM 857 HD21 LEU A 57 3.492 11.651 1.752 1.00 0.00 H +ATOM 858 HD22 LEU A 57 3.237 10.063 0.834 1.00 0.00 H +ATOM 859 HD23 LEU A 57 4.742 11.098 0.527 1.00 0.00 H +ATOM 860 N ARG A 58 6.907 6.084 1.424 1.00 0.00 N +ATOM 861 H ARG A 58 6.959 6.067 2.604 1.00 0.00 H +ATOM 862 CA ARG A 58 7.957 5.427 0.693 1.00 0.00 C +ATOM 863 HA ARG A 58 7.533 5.084 -0.359 1.00 0.00 H +ATOM 864 C ARG A 58 8.495 4.245 1.499 1.00 0.00 C +ATOM 865 O ARG A 58 8.339 4.243 2.744 1.00 0.00 O +ATOM 866 CB ARG A 58 9.086 6.452 0.506 1.00 0.00 C +ATOM 867 HB2 ARG A 58 9.419 6.912 1.548 1.00 0.00 H +ATOM 868 HB3 ARG A 58 8.674 7.417 -0.069 1.00 0.00 H +ATOM 869 CG ARG A 58 10.142 6.005 -0.491 1.00 0.00 C +ATOM 870 HG2 ARG A 58 10.797 5.114 -0.065 1.00 0.00 H +ATOM 871 HG3 ARG A 58 9.731 6.062 -1.607 1.00 0.00 H +ATOM 872 CD ARG A 58 11.294 7.090 -0.657 1.00 0.00 C +ATOM 873 HD2 ARG A 58 11.738 6.996 -1.762 1.00 0.00 H +ATOM 874 HD3 ARG A 58 10.985 8.250 -0.658 1.00 0.00 H +ATOM 875 NE ARG A 58 12.112 7.138 0.538 1.00 0.00 N +ATOM 876 HE ARG A 58 11.906 6.416 1.445 1.00 0.00 H +ATOM 877 CZ ARG A 58 13.441 7.360 0.511 1.00 0.00 C +ATOM 878 NH1 ARG A 58 14.174 7.303 1.632 1.00 0.00 N +ATOM 879 HH11 ARG A 58 15.103 6.998 2.298 1.00 0.00 H +ATOM 880 HH12 ARG A 58 14.202 8.472 1.911 1.00 0.00 H +ATOM 881 NH2 ARG A 58 14.073 7.590 -0.624 1.00 0.00 N +ATOM 882 HH21 ARG A 58 13.797 8.523 -1.314 1.00 0.00 H +ATOM 883 HH22 ARG A 58 15.245 7.465 -0.801 1.00 0.00 H +ATOM 884 N ILE A 59 9.144 3.268 0.842 1.00 0.00 N +ATOM 885 H ILE A 59 9.343 3.210 -0.314 1.00 0.00 H +ATOM 886 CA ILE A 59 9.800 2.139 1.561 1.00 0.00 C +ATOM 887 HA ILE A 59 9.880 2.561 2.664 1.00 0.00 H +ATOM 888 C ILE A 59 11.216 2.148 1.063 1.00 0.00 C +ATOM 889 O ILE A 59 11.471 2.261 -0.163 1.00 0.00 O +ATOM 890 CB ILE A 59 9.021 0.815 1.333 1.00 0.00 C +ATOM 891 HB ILE A 59 7.904 1.055 1.661 1.00 0.00 H +ATOM 892 CG1 ILE A 59 9.614 -0.286 2.237 1.00 0.00 C +ATOM 893 HG12 ILE A 59 9.647 0.019 3.385 1.00 0.00 H +ATOM 894 HG13 ILE A 59 10.737 -0.524 1.947 1.00 0.00 H +ATOM 895 CG2 ILE A 59 8.988 0.459 -0.135 1.00 0.00 C +ATOM 896 HG21 ILE A 59 10.097 0.321 -0.531 1.00 0.00 H +ATOM 897 HG22 ILE A 59 8.417 -0.562 -0.346 1.00 0.00 H +ATOM 898 HG23 ILE A 59 8.424 1.165 -0.912 1.00 0.00 H +ATOM 899 CD1 ILE A 59 8.770 -1.573 2.208 1.00 0.00 C +ATOM 900 HD11 ILE A 59 8.972 -2.270 3.149 1.00 0.00 H +ATOM 901 HD12 ILE A 59 9.153 -2.217 1.287 1.00 0.00 H +ATOM 902 HD13 ILE A 59 7.591 -1.392 2.165 1.00 0.00 H +ATOM 903 N LEU A 60 12.167 1.995 1.994 1.00 0.00 N +ATOM 904 H LEU A 60 12.102 1.410 3.017 1.00 0.00 H +ATOM 905 CA LEU A 60 13.598 2.144 1.692 1.00 0.00 C +ATOM 906 HA LEU A 60 13.809 2.300 0.538 1.00 0.00 H +ATOM 907 C LEU A 60 14.424 0.983 2.263 1.00 0.00 C +ATOM 908 O LEU A 60 14.245 0.636 3.425 1.00 0.00 O +ATOM 909 CB LEU A 60 14.157 3.433 2.404 1.00 0.00 C +ATOM 910 HB2 LEU A 60 12.985 3.666 2.514 1.00 0.00 H +ATOM 911 HB3 LEU A 60 14.188 4.556 2.814 1.00 0.00 H +ATOM 912 CG LEU A 60 15.713 3.556 2.350 1.00 0.00 C +ATOM 913 HG LEU A 60 16.263 2.612 2.812 1.00 0.00 H +ATOM 914 CD1 LEU A 60 16.207 3.894 0.963 1.00 0.00 C +ATOM 915 HD11 LEU A 60 16.363 2.793 0.518 1.00 0.00 H +ATOM 916 HD12 LEU A 60 17.200 4.206 0.390 1.00 0.00 H +ATOM 917 HD13 LEU A 60 15.680 4.962 0.881 1.00 0.00 H +ATOM 918 CD2 LEU A 60 16.173 4.636 3.323 1.00 0.00 C +ATOM 919 HD21 LEU A 60 17.077 5.307 2.895 1.00 0.00 H +ATOM 920 HD22 LEU A 60 15.653 5.446 4.049 1.00 0.00 H +ATOM 921 HD23 LEU A 60 16.687 4.164 4.292 1.00 0.00 H +ATOM 922 N ASN A 61 15.207 0.302 1.437 1.00 0.00 N +ATOM 923 H ASN A 61 15.224 0.249 0.265 1.00 0.00 H +ATOM 924 CA ASN A 61 16.196 -0.673 1.972 1.00 0.00 C +ATOM 925 HA ASN A 61 15.780 -1.401 2.810 1.00 0.00 H +ATOM 926 C ASN A 61 17.441 0.134 2.329 1.00 0.00 C +ATOM 927 O ASN A 61 18.105 0.701 1.420 1.00 0.00 O +ATOM 928 CB ASN A 61 16.567 -1.703 0.898 1.00 0.00 C +ATOM 929 HB2 ASN A 61 17.058 -1.219 -0.067 1.00 0.00 H +ATOM 930 HB3 ASN A 61 15.621 -2.386 0.687 1.00 0.00 H +ATOM 931 CG ASN A 61 17.565 -2.709 1.358 1.00 0.00 C +ATOM 932 OD1 ASN A 61 18.401 -2.413 2.185 1.00 0.00 O +ATOM 933 ND2 ASN A 61 17.540 -3.877 0.776 1.00 0.00 N +ATOM 934 HD21 ASN A 61 18.632 -4.284 0.577 1.00 0.00 H +ATOM 935 HD22 ASN A 61 16.670 -4.623 1.067 1.00 0.00 H +ATOM 936 N ASN A 62 17.759 0.239 3.630 1.00 0.00 N +ATOM 937 H ASN A 62 16.871 0.258 4.412 1.00 0.00 H +ATOM 938 CA ASN A 62 18.892 1.071 4.027 1.00 0.00 C +ATOM 939 HA ASN A 62 19.332 1.922 3.316 1.00 0.00 H +ATOM 940 C ASN A 62 20.159 0.236 4.312 1.00 0.00 C +ATOM 941 O ASN A 62 21.139 0.771 4.870 1.00 0.00 O +ATOM 942 CB ASN A 62 18.522 1.959 5.226 1.00 0.00 C +ATOM 943 HB2 ASN A 62 19.517 2.523 5.589 1.00 0.00 H +ATOM 944 HB3 ASN A 62 17.833 2.925 5.257 1.00 0.00 H +ATOM 945 CG ASN A 62 18.175 1.131 6.444 1.00 0.00 C +ATOM 946 OD1 ASN A 62 18.480 -0.073 6.549 1.00 0.00 O +ATOM 947 ND2 ASN A 62 17.479 1.782 7.370 1.00 0.00 N +ATOM 948 HD21 ASN A 62 17.763 2.191 8.447 1.00 0.00 H +ATOM 949 HD22 ASN A 62 16.511 2.377 7.039 1.00 0.00 H +ATOM 950 N GLY A 63 20.161 -1.032 3.887 1.00 0.00 N +ATOM 951 H GLY A 63 19.199 -1.699 4.047 1.00 0.00 H +ATOM 952 CA GLY A 63 21.309 -1.907 4.149 1.00 0.00 C +ATOM 953 HA2 GLY A 63 21.337 -2.759 3.325 1.00 0.00 H +ATOM 954 HA3 GLY A 63 22.354 -1.362 4.319 1.00 0.00 H +ATOM 955 C GLY A 63 21.292 -2.587 5.478 1.00 0.00 C +ATOM 956 O GLY A 63 22.188 -3.423 5.699 1.00 0.00 O +ATOM 957 N HIS A 64 20.375 -2.215 6.365 1.00 0.00 N +ATOM 958 H HIS A 64 20.623 -1.075 6.570 1.00 0.00 H +ATOM 959 CA HIS A 64 20.275 -2.929 7.639 1.00 0.00 C +ATOM 960 HA HIS A 64 20.940 -3.912 7.666 1.00 0.00 H +ATOM 961 C HIS A 64 18.867 -3.486 7.864 1.00 0.00 C +ATOM 962 O HIS A 64 18.713 -4.494 8.510 1.00 0.00 O +ATOM 963 CB HIS A 64 20.767 -2.177 8.911 1.00 0.00 C +ATOM 964 HB2 HIS A 64 20.231 -2.610 9.878 1.00 0.00 H +ATOM 965 HB3 HIS A 64 21.960 -2.189 8.919 1.00 0.00 H +ATOM 966 CG HIS A 64 20.458 -0.721 8.998 1.00 0.00 C +ATOM 967 ND1 HIS A 64 19.465 -0.225 9.844 1.00 0.00 N +ATOM 968 HD1 HIS A 64 18.587 -0.640 10.526 1.00 0.00 H +ATOM 969 CD2 HIS A 64 21.081 0.375 8.459 1.00 0.00 C +ATOM 970 HD2 HIS A 64 22.128 0.738 8.029 1.00 0.00 H +ATOM 971 CE1 HIS A 64 19.443 1.096 9.773 1.00 0.00 C +ATOM 972 HE1 HIS A 64 19.110 1.926 10.556 1.00 0.00 H +ATOM 973 NE2 HIS A 64 20.412 1.484 8.953 1.00 0.00 N +ATOM 974 N ALA A 65 17.841 -2.846 7.341 1.00 0.00 N +ATOM 975 H ALA A 65 17.796 -1.737 7.760 1.00 0.00 H +ATOM 976 CA ALA A 65 16.469 -3.328 7.334 1.00 0.00 C +ATOM 977 HA ALA A 65 16.393 -4.467 7.011 1.00 0.00 H +ATOM 978 C ALA A 65 15.780 -2.581 6.200 1.00 0.00 C +ATOM 979 O ALA A 65 16.452 -1.944 5.352 1.00 0.00 O +ATOM 980 CB ALA A 65 15.779 -3.043 8.692 1.00 0.00 C +ATOM 981 HB1 ALA A 65 16.501 -3.030 9.645 1.00 0.00 H +ATOM 982 HB2 ALA A 65 15.417 -1.904 8.684 1.00 0.00 H +ATOM 983 HB3 ALA A 65 14.898 -3.801 8.938 1.00 0.00 H +ATOM 984 N PHE A 66 14.444 -2.595 6.189 1.00 0.00 N +ATOM 985 H PHE A 66 13.781 -3.314 6.856 1.00 0.00 H +ATOM 986 CA PHE A 66 13.701 -1.711 5.319 1.00 0.00 C +ATOM 987 HA PHE A 66 14.535 -0.992 4.886 1.00 0.00 H +ATOM 988 C PHE A 66 12.798 -0.845 6.205 1.00 0.00 C +ATOM 989 O PHE A 66 12.156 -1.329 7.146 1.00 0.00 O +ATOM 990 CB PHE A 66 12.893 -2.429 4.224 1.00 0.00 C +ATOM 991 HB2 PHE A 66 13.691 -3.053 3.600 1.00 0.00 H +ATOM 992 HB3 PHE A 66 12.299 -1.620 3.593 1.00 0.00 H +ATOM 993 CG PHE A 66 11.874 -3.423 4.735 1.00 0.00 C +ATOM 994 CD1 PHE A 66 10.587 -2.964 5.058 1.00 0.00 C +ATOM 995 HD1 PHE A 66 10.385 -1.841 5.371 1.00 0.00 H +ATOM 996 CD2 PHE A 66 12.190 -4.799 4.876 1.00 0.00 C +ATOM 997 HD2 PHE A 66 13.331 -5.035 5.064 1.00 0.00 H +ATOM 998 CE1 PHE A 66 9.641 -3.822 5.526 1.00 0.00 C +ATOM 999 HE1 PHE A 66 8.862 -3.281 6.234 1.00 0.00 H +ATOM 1000 CE2 PHE A 66 11.239 -5.650 5.380 1.00 0.00 C +ATOM 1001 HE2 PHE A 66 11.507 -6.636 5.978 1.00 0.00 H +ATOM 1002 CZ PHE A 66 9.927 -5.181 5.697 1.00 0.00 C +ATOM 1003 HZ PHE A 66 9.175 -5.969 6.157 1.00 0.00 H +ATOM 1004 N ASN A 67 12.728 0.436 5.853 1.00 0.00 N +ATOM 1005 H ASN A 67 13.778 0.939 5.627 1.00 0.00 H +ATOM 1006 CA ASN A 67 11.880 1.370 6.591 1.00 0.00 C +ATOM 1007 HA ASN A 67 11.494 1.029 7.657 1.00 0.00 H +ATOM 1008 C ASN A 67 10.700 1.764 5.725 1.00 0.00 C +ATOM 1009 O ASN A 67 10.910 2.217 4.568 1.00 0.00 O +ATOM 1010 CB ASN A 67 12.650 2.643 6.928 1.00 0.00 C +ATOM 1011 HB2 ASN A 67 12.090 3.569 7.409 1.00 0.00 H +ATOM 1012 HB3 ASN A 67 13.144 3.119 5.957 1.00 0.00 H +ATOM 1013 CG ASN A 67 13.695 2.425 7.955 1.00 0.00 C +ATOM 1014 OD1 ASN A 67 13.827 1.350 8.514 1.00 0.00 O +ATOM 1015 ND2 ASN A 67 14.509 3.485 8.191 1.00 0.00 N +ATOM 1016 HD21 ASN A 67 14.831 4.459 7.586 1.00 0.00 H +ATOM 1017 HD22 ASN A 67 15.102 3.544 9.222 1.00 0.00 H +ATOM 1018 N VAL A 68 9.511 1.655 6.282 1.00 0.00 N +ATOM 1019 H VAL A 68 9.343 0.606 6.802 1.00 0.00 H +ATOM 1020 CA VAL A 68 8.281 2.233 5.691 1.00 0.00 C +ATOM 1021 HA VAL A 68 8.302 2.351 4.512 1.00 0.00 H +ATOM 1022 C VAL A 68 8.186 3.625 6.341 1.00 0.00 C +ATOM 1023 O VAL A 68 8.025 3.727 7.561 1.00 0.00 O +ATOM 1024 CB VAL A 68 7.058 1.381 5.941 1.00 0.00 C +ATOM 1025 HB VAL A 68 6.954 1.151 7.100 1.00 0.00 H +ATOM 1026 CG1 VAL A 68 5.768 2.224 5.483 1.00 0.00 C +ATOM 1027 HG11 VAL A 68 5.903 3.405 5.425 1.00 0.00 H +ATOM 1028 HG12 VAL A 68 5.215 1.866 4.501 1.00 0.00 H +ATOM 1029 HG13 VAL A 68 4.973 2.021 6.348 1.00 0.00 H +ATOM 1030 CG2 VAL A 68 7.123 0.087 5.155 1.00 0.00 C +ATOM 1031 HG21 VAL A 68 7.958 -0.681 5.515 1.00 0.00 H +ATOM 1032 HG22 VAL A 68 6.115 -0.546 5.193 1.00 0.00 H +ATOM 1033 HG23 VAL A 68 7.134 0.382 4.002 1.00 0.00 H +ATOM 1034 N GLU A 69 8.309 4.694 5.551 1.00 0.00 N +ATOM 1035 H GLU A 69 8.936 4.549 4.564 1.00 0.00 H +ATOM 1036 CA GLU A 69 8.412 6.042 6.005 1.00 0.00 C +ATOM 1037 HA GLU A 69 8.878 6.121 7.092 1.00 0.00 H +ATOM 1038 C GLU A 69 7.038 6.714 5.915 1.00 0.00 C +ATOM 1039 O GLU A 69 6.317 6.510 4.938 1.00 0.00 O +ATOM 1040 CB GLU A 69 9.370 6.794 5.084 1.00 0.00 C +ATOM 1041 HB2 GLU A 69 9.561 7.899 5.507 1.00 0.00 H +ATOM 1042 HB3 GLU A 69 8.992 7.125 4.006 1.00 0.00 H +ATOM 1043 CG GLU A 69 10.822 6.195 5.162 1.00 0.00 C +ATOM 1044 HG2 GLU A 69 11.427 6.764 6.023 1.00 0.00 H +ATOM 1045 HG3 GLU A 69 11.135 5.050 5.183 1.00 0.00 H +ATOM 1046 CD GLU A 69 11.703 6.697 4.054 1.00 0.00 C +ATOM 1047 OE1 GLU A 69 12.922 6.469 4.095 1.00 0.00 O +ATOM 1048 OE2 GLU A 69 11.198 7.385 3.125 1.00 0.00 O +ATOM 1049 N PHE A 70 6.759 7.572 6.886 1.00 0.00 N +ATOM 1050 H PHE A 70 7.675 8.265 7.187 1.00 0.00 H +ATOM 1051 CA PHE A 70 5.507 8.338 6.922 1.00 0.00 C +ATOM 1052 HA PHE A 70 4.977 8.238 5.869 1.00 0.00 H +ATOM 1053 C PHE A 70 5.753 9.832 6.813 1.00 0.00 C +ATOM 1054 O PHE A 70 6.806 10.354 7.147 1.00 0.00 O +ATOM 1055 CB PHE A 70 4.828 8.040 8.248 1.00 0.00 C +ATOM 1056 HB2 PHE A 70 5.547 8.097 9.194 1.00 0.00 H +ATOM 1057 HB3 PHE A 70 4.026 8.836 8.629 1.00 0.00 H +ATOM 1058 CG PHE A 70 4.238 6.665 8.259 1.00 0.00 C +ATOM 1059 CD1 PHE A 70 5.072 5.523 8.475 1.00 0.00 C +ATOM 1060 HD1 PHE A 70 6.100 5.723 9.014 1.00 0.00 H +ATOM 1061 CD2 PHE A 70 2.904 6.464 7.978 1.00 0.00 C +ATOM 1062 HD2 PHE A 70 2.180 7.343 8.297 1.00 0.00 H +ATOM 1063 CE1 PHE A 70 4.574 4.242 8.453 1.00 0.00 C +ATOM 1064 HE1 PHE A 70 5.427 3.441 8.602 1.00 0.00 H +ATOM 1065 CE2 PHE A 70 2.397 5.144 7.887 1.00 0.00 C +ATOM 1066 HE2 PHE A 70 1.362 4.964 7.344 1.00 0.00 H +ATOM 1067 CZ PHE A 70 3.266 4.025 8.101 1.00 0.00 C +ATOM 1068 HZ PHE A 70 2.684 3.006 8.214 1.00 0.00 H +ATOM 1069 N ASP A 71 4.675 10.547 6.449 1.00 0.00 N +ATOM 1070 H ASP A 71 3.588 10.344 6.869 1.00 0.00 H +ATOM 1071 CA ASP A 71 4.704 12.012 6.514 1.00 0.00 C +ATOM 1072 HA ASP A 71 5.675 12.407 5.949 1.00 0.00 H +ATOM 1073 C ASP A 71 4.567 12.456 7.984 1.00 0.00 C +ATOM 1074 O ASP A 71 3.493 12.350 8.582 1.00 0.00 O +ATOM 1075 CB ASP A 71 3.563 12.627 5.656 1.00 0.00 C +ATOM 1076 HB2 ASP A 71 2.495 12.414 6.113 1.00 0.00 H +ATOM 1077 HB3 ASP A 71 3.681 12.701 4.475 1.00 0.00 H +ATOM 1078 CG ASP A 71 3.419 14.153 5.879 1.00 0.00 C +ATOM 1079 OD1 ASP A 71 4.330 14.767 6.397 1.00 0.00 O +ATOM 1080 OD2 ASP A 71 2.400 14.708 5.421 1.00 0.00 O +ATOM 1081 N ASP A 72 5.653 12.927 8.569 1.00 0.00 N +ATOM 1082 H ASP A 72 6.614 13.038 7.880 1.00 0.00 H +ATOM 1083 CA ASP A 72 5.613 13.379 9.963 1.00 0.00 C +ATOM 1084 HA ASP A 72 4.573 13.173 10.500 1.00 0.00 H +ATOM 1085 C ASP A 72 5.846 14.922 10.051 1.00 0.00 C +ATOM 1086 O ASP A 72 6.464 15.398 11.031 1.00 0.00 O +ATOM 1087 CB ASP A 72 6.697 12.630 10.780 1.00 0.00 C +ATOM 1088 HB2 ASP A 72 6.821 13.044 11.884 1.00 0.00 H +ATOM 1089 HB3 ASP A 72 6.404 11.484 10.705 1.00 0.00 H +ATOM 1090 CG ASP A 72 8.104 12.847 10.260 1.00 0.00 C +ATOM 1091 OD1 ASP A 72 8.293 13.253 9.074 1.00 0.00 O +ATOM 1092 OD2 ASP A 72 9.089 12.633 11.059 1.00 0.00 O +ATOM 1093 N SER A 73 5.424 15.625 9.010 1.00 0.00 N +ATOM 1094 H SER A 73 6.008 15.332 8.021 1.00 0.00 H +ATOM 1095 CA SER A 73 5.484 17.131 9.014 1.00 0.00 C +ATOM 1096 HA SER A 73 6.535 17.535 9.410 1.00 0.00 H +ATOM 1097 C SER A 73 4.373 17.831 9.856 1.00 0.00 C +ATOM 1098 O SER A 73 4.397 19.097 10.100 1.00 0.00 O +ATOM 1099 CB SER A 73 5.440 17.613 7.593 1.00 0.00 C +ATOM 1100 HB2 SER A 73 5.688 18.785 7.619 1.00 0.00 H +ATOM 1101 HB3 SER A 73 6.233 17.243 6.776 1.00 0.00 H +ATOM 1102 OG SER A 73 4.197 17.382 7.023 1.00 0.00 O +ATOM 1103 HG SER A 73 3.991 18.271 6.269 1.00 0.00 H +ATOM 1104 N GLN A 74 3.388 17.037 10.247 1.00 0.00 N +ATOM 1105 H GLN A 74 3.366 15.915 9.882 1.00 0.00 H +ATOM 1106 CA GLN A 74 2.241 17.432 11.073 1.00 0.00 C +ATOM 1107 HA GLN A 74 2.480 18.435 11.672 1.00 0.00 H +ATOM 1108 C GLN A 74 1.840 16.238 11.888 1.00 0.00 C +ATOM 1109 O GLN A 74 2.233 15.110 11.553 1.00 0.00 O +ATOM 1110 CB GLN A 74 0.999 17.597 10.179 1.00 0.00 C +ATOM 1111 HB2 GLN A 74 0.431 16.678 9.680 1.00 0.00 H +ATOM 1112 HB3 GLN A 74 0.187 18.109 10.893 1.00 0.00 H +ATOM 1113 CG GLN A 74 1.065 18.564 9.108 1.00 0.00 C +ATOM 1114 HG2 GLN A 74 1.446 19.654 9.423 1.00 0.00 H +ATOM 1115 HG3 GLN A 74 1.652 18.283 8.109 1.00 0.00 H +ATOM 1116 CD GLN A 74 -0.327 18.926 8.700 1.00 0.00 C +ATOM 1117 OE1 GLN A 74 -1.073 19.555 9.491 1.00 0.00 O +ATOM 1118 NE2 GLN A 74 -0.737 18.462 7.494 1.00 0.00 N +ATOM 1119 HE21 GLN A 74 -1.500 17.646 7.099 1.00 0.00 H +ATOM 1120 HE22 GLN A 74 -0.868 19.377 6.741 1.00 0.00 H +ATOM 1121 N ASP A 75 0.954 16.447 12.886 1.00 0.00 N +ATOM 1122 H ASP A 75 0.554 17.528 13.178 1.00 0.00 H +ATOM 1123 CA ASP A 75 0.471 15.364 13.806 1.00 0.00 C +ATOM 1124 HA ASP A 75 1.345 14.663 14.185 1.00 0.00 H +ATOM 1125 C ASP A 75 -0.578 14.368 13.279 1.00 0.00 C +ATOM 1126 O ASP A 75 -1.663 14.170 13.874 1.00 0.00 O +ATOM 1127 CB ASP A 75 -0.134 15.896 15.117 1.00 0.00 C +ATOM 1128 HB2 ASP A 75 -0.852 15.361 15.906 1.00 0.00 H +ATOM 1129 HB3 ASP A 75 -0.852 16.810 14.827 1.00 0.00 H +ATOM 1130 CG ASP A 75 0.890 16.455 16.073 1.00 0.00 C +ATOM 1131 OD1 ASP A 75 0.500 17.076 17.046 1.00 0.00 O +ATOM 1132 OD2 ASP A 75 2.094 16.363 15.859 1.00 0.00 O +ATOM 1133 N LYS A 76 -0.210 13.612 12.294 1.00 0.00 N +ATOM 1134 H LYS A 76 0.918 13.253 12.248 1.00 0.00 H +ATOM 1135 CA LYS A 76 -1.142 12.713 11.652 1.00 0.00 C +ATOM 1136 HA LYS A 76 -2.258 13.131 11.634 1.00 0.00 H +ATOM 1137 C LYS A 76 -1.202 11.455 12.590 1.00 0.00 C +ATOM 1138 O LYS A 76 -1.935 11.390 13.647 1.00 0.00 O +ATOM 1139 CB LYS A 76 -0.567 12.388 10.247 1.00 0.00 C +ATOM 1140 HB2 LYS A 76 -1.459 11.715 9.853 1.00 0.00 H +ATOM 1141 HB3 LYS A 76 0.502 11.883 10.110 1.00 0.00 H +ATOM 1142 CG LYS A 76 -0.292 13.645 9.361 1.00 0.00 C +ATOM 1143 HG2 LYS A 76 0.622 14.281 9.765 1.00 0.00 H +ATOM 1144 HG3 LYS A 76 -1.331 14.224 9.476 1.00 0.00 H +ATOM 1145 CD LYS A 76 -0.197 13.316 7.887 1.00 0.00 C +ATOM 1146 HD2 LYS A 76 0.976 13.282 7.726 1.00 0.00 H +ATOM 1147 HD3 LYS A 76 -0.748 12.295 7.654 1.00 0.00 H +ATOM 1148 CE LYS A 76 -0.599 14.510 7.024 1.00 0.00 C +ATOM 1149 HE2 LYS A 76 -1.712 14.894 7.233 1.00 0.00 H +ATOM 1150 HE3 LYS A 76 0.084 15.482 7.032 1.00 0.00 H +ATOM 1151 NZ LYS A 76 -0.625 13.998 5.629 1.00 0.00 N +ATOM 1152 HZ1 LYS A 76 -1.718 13.575 5.372 1.00 0.00 H +ATOM 1153 HZ2 LYS A 76 0.166 13.427 4.945 1.00 0.00 H +ATOM 1154 HZ3 LYS A 76 -0.631 15.019 4.993 1.00 0.00 H +ATOM 1155 N ALA A 77 -0.302 10.540 12.374 1.00 0.00 N +ATOM 1156 H ALA A 77 0.826 10.846 12.167 1.00 0.00 H +ATOM 1157 CA ALA A 77 -0.295 9.288 13.096 1.00 0.00 C +ATOM 1158 HA ALA A 77 -1.454 9.032 13.059 1.00 0.00 H +ATOM 1159 C ALA A 77 0.500 9.524 14.394 1.00 0.00 C +ATOM 1160 O ALA A 77 1.709 9.860 14.334 1.00 0.00 O +ATOM 1161 CB ALA A 77 0.404 8.299 12.217 1.00 0.00 C +ATOM 1162 HB1 ALA A 77 1.146 8.758 11.404 1.00 0.00 H +ATOM 1163 HB2 ALA A 77 -0.294 7.496 11.698 1.00 0.00 H +ATOM 1164 HB3 ALA A 77 1.018 7.703 13.043 1.00 0.00 H +ATOM 1165 N VAL A 78 -0.154 9.424 15.550 1.00 0.00 N +ATOM 1166 H VAL A 78 -1.295 9.729 15.473 1.00 0.00 H +ATOM 1167 CA VAL A 78 0.540 9.716 16.788 1.00 0.00 C +ATOM 1168 HA VAL A 78 1.660 9.416 16.533 1.00 0.00 H +ATOM 1169 C VAL A 78 0.351 8.626 17.851 1.00 0.00 C +ATOM 1170 O VAL A 78 -0.664 7.898 17.851 1.00 0.00 O +ATOM 1171 CB VAL A 78 0.161 11.092 17.399 1.00 0.00 C +ATOM 1172 HB VAL A 78 0.754 11.428 18.371 1.00 0.00 H +ATOM 1173 CG1 VAL A 78 0.554 12.244 16.444 1.00 0.00 C +ATOM 1174 HG11 VAL A 78 1.365 13.016 16.848 1.00 0.00 H +ATOM 1175 HG12 VAL A 78 0.894 11.976 15.335 1.00 0.00 H +ATOM 1176 HG13 VAL A 78 -0.425 12.911 16.294 1.00 0.00 H +ATOM 1177 CG2 VAL A 78 -1.242 11.152 17.741 1.00 0.00 C +ATOM 1178 HG21 VAL A 78 -2.034 11.720 17.045 1.00 0.00 H +ATOM 1179 HG22 VAL A 78 -1.695 10.118 18.117 1.00 0.00 H +ATOM 1180 HG23 VAL A 78 -1.392 11.704 18.782 1.00 0.00 H +ATOM 1181 N LEU A 79 1.306 8.534 18.786 1.00 0.00 N +ATOM 1182 H LEU A 79 1.737 9.588 19.091 1.00 0.00 H +ATOM 1183 CA LEU A 79 1.258 7.665 19.948 1.00 0.00 C +ATOM 1184 HA LEU A 79 0.176 7.192 19.816 1.00 0.00 H +ATOM 1185 C LEU A 79 1.208 8.558 21.167 1.00 0.00 C +ATOM 1186 O LEU A 79 2.009 9.472 21.275 1.00 0.00 O +ATOM 1187 CB LEU A 79 2.453 6.711 19.908 1.00 0.00 C +ATOM 1188 HB2 LEU A 79 2.315 6.090 18.911 1.00 0.00 H +ATOM 1189 HB3 LEU A 79 3.411 7.391 19.797 1.00 0.00 H +ATOM 1190 CG LEU A 79 2.503 5.709 21.002 1.00 0.00 C +ATOM 1191 HG LEU A 79 2.355 6.181 22.081 1.00 0.00 H +ATOM 1192 CD1 LEU A 79 1.345 4.731 20.819 1.00 0.00 C +ATOM 1193 HD11 LEU A 79 1.702 3.935 20.006 1.00 0.00 H +ATOM 1194 HD12 LEU A 79 0.984 4.106 21.760 1.00 0.00 H +ATOM 1195 HD13 LEU A 79 0.308 5.135 20.404 1.00 0.00 H +ATOM 1196 CD2 LEU A 79 3.851 5.024 20.930 1.00 0.00 C +ATOM 1197 HD21 LEU A 79 4.635 5.905 21.091 1.00 0.00 H +ATOM 1198 HD22 LEU A 79 4.218 4.419 19.973 1.00 0.00 H +ATOM 1199 HD23 LEU A 79 3.896 4.198 21.788 1.00 0.00 H +ATOM 1200 N LYS A 80 0.271 8.288 22.079 1.00 0.00 N +ATOM 1201 H LYS A 80 -0.117 7.179 22.177 1.00 0.00 H +ATOM 1202 CA LYS A 80 0.110 9.076 23.319 1.00 0.00 C +ATOM 1203 HA LYS A 80 1.082 9.660 23.673 1.00 0.00 H +ATOM 1204 C LYS A 80 -0.263 8.082 24.435 1.00 0.00 C +ATOM 1205 O LYS A 80 -0.565 6.927 24.162 1.00 0.00 O +ATOM 1206 CB LYS A 80 -1.079 10.066 23.140 1.00 0.00 C +ATOM 1207 HB2 LYS A 80 -2.060 9.547 22.715 1.00 0.00 H +ATOM 1208 HB3 LYS A 80 -1.292 10.581 24.197 1.00 0.00 H +ATOM 1209 CG LYS A 80 -0.827 11.259 22.163 1.00 0.00 C +ATOM 1210 HG2 LYS A 80 -0.127 12.010 22.753 1.00 0.00 H +ATOM 1211 HG3 LYS A 80 -0.660 10.728 21.119 1.00 0.00 H +ATOM 1212 CD LYS A 80 -2.127 12.073 22.167 1.00 0.00 C +ATOM 1213 HD2 LYS A 80 -3.172 11.501 22.087 1.00 0.00 H +ATOM 1214 HD3 LYS A 80 -2.297 12.690 23.178 1.00 0.00 H +ATOM 1215 CE LYS A 80 -2.179 13.058 20.997 1.00 0.00 C +ATOM 1216 HE2 LYS A 80 -1.487 13.116 20.050 1.00 0.00 H +ATOM 1217 HE3 LYS A 80 -1.912 14.102 21.519 1.00 0.00 H +ATOM 1218 NZ LYS A 80 -3.572 13.623 20.606 1.00 0.00 N +ATOM 1219 HZ1 LYS A 80 -4.057 12.959 19.737 1.00 0.00 H +ATOM 1220 HZ2 LYS A 80 -4.385 13.633 21.486 1.00 0.00 H +ATOM 1221 HZ3 LYS A 80 -3.595 14.744 20.195 1.00 0.00 H +ATOM 1222 N GLY A 81 -0.329 8.594 25.649 1.00 0.00 N +ATOM 1223 H GLY A 81 -0.088 9.685 26.057 1.00 0.00 H +ATOM 1224 CA GLY A 81 -0.791 7.813 26.765 1.00 0.00 C +ATOM 1225 HA2 GLY A 81 -0.805 8.483 27.756 1.00 0.00 H +ATOM 1226 HA3 GLY A 81 -1.963 7.742 26.543 1.00 0.00 H +ATOM 1227 C GLY A 81 0.184 6.722 27.121 1.00 0.00 C +ATOM 1228 O GLY A 81 1.385 6.830 26.909 1.00 0.00 O +ATOM 1229 N GLY A 82 -0.296 5.689 27.776 1.00 0.00 N +ATOM 1230 H GLY A 82 -1.443 5.889 27.995 1.00 0.00 H +ATOM 1231 CA GLY A 82 0.661 4.700 28.358 1.00 0.00 C +ATOM 1232 HA2 GLY A 82 -0.254 3.934 28.375 1.00 0.00 H +ATOM 1233 HA3 GLY A 82 1.294 3.706 28.182 1.00 0.00 H +ATOM 1234 C GLY A 82 1.593 5.372 29.365 1.00 0.00 C +ATOM 1235 O GLY A 82 1.194 6.173 30.195 1.00 0.00 O +ATOM 1236 N PRO A 83 2.910 5.086 29.275 1.00 0.00 N +ATOM 1237 CA PRO A 83 3.899 5.759 30.077 1.00 0.00 C +ATOM 1238 HA PRO A 83 3.686 6.084 31.205 1.00 0.00 H +ATOM 1239 C PRO A 83 4.272 7.146 29.572 1.00 0.00 C +ATOM 1240 O PRO A 83 5.107 7.797 30.224 1.00 0.00 O +ATOM 1241 CB PRO A 83 5.151 4.850 29.925 1.00 0.00 C +ATOM 1242 HB2 PRO A 83 6.152 5.507 29.968 1.00 0.00 H +ATOM 1243 HB3 PRO A 83 5.347 4.324 30.977 1.00 0.00 H +ATOM 1244 CG PRO A 83 5.021 4.270 28.445 1.00 0.00 C +ATOM 1245 HG2 PRO A 83 5.667 3.279 28.481 1.00 0.00 H +ATOM 1246 HG3 PRO A 83 5.513 5.063 27.714 1.00 0.00 H +ATOM 1247 CD PRO A 83 3.503 4.217 28.206 1.00 0.00 C +ATOM 1248 HD2 PRO A 83 3.416 3.035 28.120 1.00 0.00 H +ATOM 1249 HD3 PRO A 83 3.076 4.742 27.232 1.00 0.00 H +ATOM 1250 N LEU A 84 3.692 7.601 28.424 1.00 0.00 N +ATOM 1251 H LEU A 84 2.620 7.873 28.858 1.00 0.00 H +ATOM 1252 CA LEU A 84 4.219 8.790 27.772 1.00 0.00 C +ATOM 1253 HA LEU A 84 5.352 8.893 28.124 1.00 0.00 H +ATOM 1254 C LEU A 84 3.573 10.083 28.282 1.00 0.00 C +ATOM 1255 O LEU A 84 2.370 10.133 28.586 1.00 0.00 O +ATOM 1256 CB LEU A 84 3.925 8.665 26.315 1.00 0.00 C +ATOM 1257 HB2 LEU A 84 4.413 9.639 25.838 1.00 0.00 H +ATOM 1258 HB3 LEU A 84 2.760 8.842 26.149 1.00 0.00 H +ATOM 1259 CG LEU A 84 4.510 7.383 25.615 1.00 0.00 C +ATOM 1260 HG LEU A 84 3.979 6.467 26.138 1.00 0.00 H +ATOM 1261 CD1 LEU A 84 4.002 7.325 24.162 1.00 0.00 C +ATOM 1262 HD11 LEU A 84 2.821 7.491 24.174 1.00 0.00 H +ATOM 1263 HD12 LEU A 84 4.429 8.165 23.439 1.00 0.00 H +ATOM 1264 HD13 LEU A 84 4.215 6.221 23.781 1.00 0.00 H +ATOM 1265 CD2 LEU A 84 6.075 7.347 25.723 1.00 0.00 C +ATOM 1266 HD21 LEU A 84 6.473 7.435 26.844 1.00 0.00 H +ATOM 1267 HD22 LEU A 84 6.623 8.270 25.209 1.00 0.00 H +ATOM 1268 HD23 LEU A 84 6.378 6.276 25.306 1.00 0.00 H +ATOM 1269 N ASP A 85 4.369 11.130 28.271 1.00 0.00 N +ATOM 1270 H ASP A 85 5.537 11.059 28.481 1.00 0.00 H +ATOM 1271 CA ASP A 85 3.839 12.517 28.445 1.00 0.00 C +ATOM 1272 HA ASP A 85 2.706 12.522 28.810 1.00 0.00 H +ATOM 1273 C ASP A 85 3.931 13.173 27.076 1.00 0.00 C +ATOM 1274 O ASP A 85 4.994 13.165 26.460 1.00 0.00 O +ATOM 1275 CB ASP A 85 4.694 13.263 29.462 1.00 0.00 C +ATOM 1276 HB2 ASP A 85 4.461 14.437 29.478 1.00 0.00 H +ATOM 1277 HB3 ASP A 85 5.884 13.168 29.451 1.00 0.00 H +ATOM 1278 CG ASP A 85 4.291 12.970 30.831 1.00 0.00 C +ATOM 1279 OD1 ASP A 85 3.083 12.635 31.003 1.00 0.00 O +ATOM 1280 OD2 ASP A 85 5.156 13.067 31.742 1.00 0.00 O +ATOM 1281 N GLY A 86 2.829 13.707 26.602 1.00 0.00 N +ATOM 1282 H GLY A 86 1.846 13.892 27.248 1.00 0.00 H +ATOM 1283 CA GLY A 86 2.789 14.437 25.384 1.00 0.00 C +ATOM 1284 HA2 GLY A 86 1.774 15.070 25.358 1.00 0.00 H +ATOM 1285 HA3 GLY A 86 3.640 15.267 25.483 1.00 0.00 H +ATOM 1286 C GLY A 86 2.635 13.535 24.174 1.00 0.00 C +ATOM 1287 O GLY A 86 2.167 12.398 24.246 1.00 0.00 O +ATOM 1288 N THR A 87 3.047 14.083 23.050 1.00 0.00 N +ATOM 1289 H THR A 87 3.798 15.003 23.080 1.00 0.00 H +ATOM 1290 CA THR A 87 2.597 13.566 21.734 1.00 0.00 C +ATOM 1291 HA THR A 87 1.738 12.780 21.941 1.00 0.00 H +ATOM 1292 C THR A 87 3.790 13.108 20.944 1.00 0.00 C +ATOM 1293 O THR A 87 4.740 13.892 20.791 1.00 0.00 O +ATOM 1294 CB THR A 87 1.893 14.691 20.926 1.00 0.00 C +ATOM 1295 HB THR A 87 2.516 15.701 20.811 1.00 0.00 H +ATOM 1296 OG1 THR A 87 0.748 15.130 21.672 1.00 0.00 O +ATOM 1297 HG1 THR A 87 0.990 16.186 22.153 1.00 0.00 H +ATOM 1298 CG2 THR A 87 1.432 14.182 19.553 1.00 0.00 C +ATOM 1299 HG21 THR A 87 1.487 15.231 18.976 1.00 0.00 H +ATOM 1300 HG22 THR A 87 0.256 14.027 19.516 1.00 0.00 H +ATOM 1301 HG23 THR A 87 2.194 13.472 18.985 1.00 0.00 H +ATOM 1302 N TYR A 88 3.710 11.883 20.425 1.00 0.00 N +ATOM 1303 H TYR A 88 2.632 11.404 20.358 1.00 0.00 H +ATOM 1304 CA TYR A 88 4.836 11.296 19.648 1.00 0.00 C +ATOM 1305 HA TYR A 88 5.704 12.097 19.687 1.00 0.00 H +ATOM 1306 C TYR A 88 4.364 10.967 18.234 1.00 0.00 C +ATOM 1307 O TYR A 88 3.414 10.202 18.018 1.00 0.00 O +ATOM 1308 CB TYR A 88 5.392 10.036 20.341 1.00 0.00 C +ATOM 1309 HB2 TYR A 88 4.528 9.361 20.797 1.00 0.00 H +ATOM 1310 HB3 TYR A 88 6.192 9.411 19.737 1.00 0.00 H +ATOM 1311 CG TYR A 88 6.133 10.315 21.613 1.00 0.00 C +ATOM 1312 CD1 TYR A 88 5.464 10.746 22.770 1.00 0.00 C +ATOM 1313 HD1 TYR A 88 4.379 11.183 22.945 1.00 0.00 H +ATOM 1314 CD2 TYR A 88 7.483 10.138 21.689 1.00 0.00 C +ATOM 1315 HD2 TYR A 88 8.158 10.329 20.742 1.00 0.00 H +ATOM 1316 CE1 TYR A 88 6.124 10.924 23.970 1.00 0.00 C +ATOM 1317 HE1 TYR A 88 5.723 11.520 24.911 1.00 0.00 H +ATOM 1318 CE2 TYR A 88 8.171 10.347 22.883 1.00 0.00 C +ATOM 1319 HE2 TYR A 88 9.245 9.944 23.172 1.00 0.00 H +ATOM 1320 CZ TYR A 88 7.495 10.667 24.033 1.00 0.00 C +ATOM 1321 OH TYR A 88 8.232 10.842 25.198 1.00 0.00 O +ATOM 1322 HH TYR A 88 8.600 11.951 25.263 1.00 0.00 H +ATOM 1323 N ARG A 89 5.016 11.553 17.243 1.00 0.00 N +ATOM 1324 H ARG A 89 5.689 12.500 17.422 1.00 0.00 H +ATOM 1325 CA ARG A 89 4.611 11.374 15.828 1.00 0.00 C +ATOM 1326 HA ARG A 89 3.433 11.271 15.773 1.00 0.00 H +ATOM 1327 C ARG A 89 5.303 10.139 15.192 1.00 0.00 C +ATOM 1328 O ARG A 89 6.542 10.003 15.306 1.00 0.00 O +ATOM 1329 CB ARG A 89 5.083 12.578 14.984 1.00 0.00 C +ATOM 1330 HB2 ARG A 89 6.219 12.837 15.212 1.00 0.00 H +ATOM 1331 HB3 ARG A 89 5.126 12.189 13.858 1.00 0.00 H +ATOM 1332 CG ARG A 89 4.297 13.802 15.048 1.00 0.00 C +ATOM 1333 HG2 ARG A 89 3.238 13.398 14.683 1.00 0.00 H +ATOM 1334 HG3 ARG A 89 4.090 14.059 16.183 1.00 0.00 H +ATOM 1335 CD ARG A 89 4.680 14.692 13.856 1.00 0.00 C +ATOM 1336 HD2 ARG A 89 5.849 14.832 13.685 1.00 0.00 H +ATOM 1337 HD3 ARG A 89 4.162 14.376 12.835 1.00 0.00 H +ATOM 1338 NE ARG A 89 4.159 15.965 14.232 1.00 0.00 N +ATOM 1339 HE ARG A 89 3.928 16.231 15.356 1.00 0.00 H +ATOM 1340 CZ ARG A 89 4.688 17.155 13.935 1.00 0.00 C +ATOM 1341 NH1 ARG A 89 5.742 17.279 13.175 1.00 0.00 N +ATOM 1342 HH11 ARG A 89 5.820 17.801 12.111 1.00 0.00 H +ATOM 1343 HH12 ARG A 89 6.611 17.845 13.758 1.00 0.00 H +ATOM 1344 NH2 ARG A 89 4.140 18.243 14.491 1.00 0.00 N +ATOM 1345 HH21 ARG A 89 4.748 19.269 14.445 1.00 0.00 H +ATOM 1346 HH22 ARG A 89 3.099 18.622 14.925 1.00 0.00 H +ATOM 1347 N LEU A 90 4.552 9.303 14.502 1.00 0.00 N +ATOM 1348 H LEU A 90 3.875 9.934 13.762 1.00 0.00 H +ATOM 1349 CA LEU A 90 5.123 8.202 13.772 1.00 0.00 C +ATOM 1350 HA LEU A 90 5.586 7.523 14.626 1.00 0.00 H +ATOM 1351 C LEU A 90 5.972 8.720 12.630 1.00 0.00 C +ATOM 1352 O LEU A 90 5.487 9.442 11.764 1.00 0.00 O +ATOM 1353 CB LEU A 90 3.998 7.329 13.200 1.00 0.00 C +ATOM 1354 HB2 LEU A 90 3.246 6.983 14.050 1.00 0.00 H +ATOM 1355 HB3 LEU A 90 3.487 8.002 12.372 1.00 0.00 H +ATOM 1356 CG LEU A 90 4.372 6.134 12.330 1.00 0.00 C +ATOM 1357 HG LEU A 90 5.035 6.418 11.387 1.00 0.00 H +ATOM 1358 CD1 LEU A 90 5.208 5.070 13.152 1.00 0.00 C +ATOM 1359 HD11 LEU A 90 5.524 4.245 12.352 1.00 0.00 H +ATOM 1360 HD12 LEU A 90 4.459 4.654 13.979 1.00 0.00 H +ATOM 1361 HD13 LEU A 90 6.200 5.362 13.735 1.00 0.00 H +ATOM 1362 CD2 LEU A 90 3.047 5.439 11.841 1.00 0.00 C +ATOM 1363 HD21 LEU A 90 2.054 5.452 12.497 1.00 0.00 H +ATOM 1364 HD22 LEU A 90 2.749 5.981 10.823 1.00 0.00 H +ATOM 1365 HD23 LEU A 90 3.257 4.290 11.607 1.00 0.00 H +ATOM 1366 N ILE A 91 7.234 8.282 12.571 1.00 0.00 N +ATOM 1367 H ILE A 91 7.674 8.464 13.650 1.00 0.00 H +ATOM 1368 CA ILE A 91 8.148 8.599 11.458 1.00 0.00 C +ATOM 1369 HA ILE A 91 7.645 9.328 10.664 1.00 0.00 H +ATOM 1370 C ILE A 91 8.385 7.424 10.522 1.00 0.00 C +ATOM 1371 O ILE A 91 8.412 7.603 9.321 1.00 0.00 O +ATOM 1372 CB ILE A 91 9.459 9.235 11.978 1.00 0.00 C +ATOM 1373 HB ILE A 91 9.063 10.302 12.315 1.00 0.00 H +ATOM 1374 CG1 ILE A 91 10.442 9.551 10.819 1.00 0.00 C +ATOM 1375 HG12 ILE A 91 10.977 8.664 10.227 1.00 0.00 H +ATOM 1376 HG13 ILE A 91 9.983 10.216 9.938 1.00 0.00 H +ATOM 1377 CG2 ILE A 91 10.137 8.417 13.077 1.00 0.00 C +ATOM 1378 HG21 ILE A 91 10.081 7.242 12.931 1.00 0.00 H +ATOM 1379 HG22 ILE A 91 11.311 8.622 13.018 1.00 0.00 H +ATOM 1380 HG23 ILE A 91 9.860 8.674 14.206 1.00 0.00 H +ATOM 1381 CD1 ILE A 91 11.675 10.328 11.296 1.00 0.00 C +ATOM 1382 HD11 ILE A 91 11.366 11.277 11.939 1.00 0.00 H +ATOM 1383 HD12 ILE A 91 12.667 9.706 11.548 1.00 0.00 H +ATOM 1384 HD13 ILE A 91 12.112 10.836 10.295 1.00 0.00 H +ATOM 1385 N GLN A 92 8.551 6.227 11.083 1.00 0.00 N +ATOM 1386 H GLN A 92 8.177 6.040 12.185 1.00 0.00 H +ATOM 1387 CA GLN A 92 8.836 5.045 10.234 1.00 0.00 C +ATOM 1388 HA GLN A 92 8.012 5.029 9.389 1.00 0.00 H +ATOM 1389 C GLN A 92 8.554 3.811 11.015 1.00 0.00 C +ATOM 1390 O GLN A 92 8.536 3.841 12.246 1.00 0.00 O +ATOM 1391 CB GLN A 92 10.307 5.008 9.669 1.00 0.00 C +ATOM 1392 HB2 GLN A 92 10.485 5.963 8.983 1.00 0.00 H +ATOM 1393 HB3 GLN A 92 10.540 4.037 9.035 1.00 0.00 H +ATOM 1394 CG GLN A 92 11.370 5.187 10.740 1.00 0.00 C +ATOM 1395 HG2 GLN A 92 11.330 5.823 11.740 1.00 0.00 H +ATOM 1396 HG3 GLN A 92 12.213 5.771 10.120 1.00 0.00 H +ATOM 1397 CD GLN A 92 12.067 3.924 11.132 1.00 0.00 C +ATOM 1398 OE1 GLN A 92 11.535 2.829 10.990 1.00 0.00 O +ATOM 1399 NE2 GLN A 92 13.269 4.076 11.666 1.00 0.00 N +ATOM 1400 HE21 GLN A 92 14.041 4.895 11.271 1.00 0.00 H +ATOM 1401 HE22 GLN A 92 13.888 3.627 12.577 1.00 0.00 H +ATOM 1402 N PHE A 93 8.324 2.693 10.302 1.00 0.00 N +ATOM 1403 H PHE A 93 7.707 2.524 9.311 1.00 0.00 H +ATOM 1404 CA PHE A 93 8.449 1.393 10.932 1.00 0.00 C +ATOM 1405 HA PHE A 93 9.124 1.617 11.883 1.00 0.00 H +ATOM 1406 C PHE A 93 9.395 0.505 10.168 1.00 0.00 C +ATOM 1407 O PHE A 93 9.627 0.679 8.957 1.00 0.00 O +ATOM 1408 CB PHE A 93 7.122 0.696 11.232 1.00 0.00 C +ATOM 1409 HB2 PHE A 93 6.550 1.663 11.624 1.00 0.00 H +ATOM 1410 HB3 PHE A 93 7.042 -0.247 11.940 1.00 0.00 H +ATOM 1411 CG PHE A 93 6.370 0.198 10.021 1.00 0.00 C +ATOM 1412 CD1 PHE A 93 6.777 -0.978 9.319 1.00 0.00 C +ATOM 1413 HD1 PHE A 93 7.665 -1.731 9.526 1.00 0.00 H +ATOM 1414 CD2 PHE A 93 5.241 0.906 9.586 1.00 0.00 C +ATOM 1415 HD2 PHE A 93 4.685 1.819 10.090 1.00 0.00 H +ATOM 1416 CE1 PHE A 93 6.038 -1.434 8.229 1.00 0.00 C +ATOM 1417 HE1 PHE A 93 6.569 -2.074 7.391 1.00 0.00 H +ATOM 1418 CE2 PHE A 93 4.493 0.439 8.491 1.00 0.00 C +ATOM 1419 HE2 PHE A 93 3.386 0.826 8.371 1.00 0.00 H +ATOM 1420 CZ PHE A 93 4.893 -0.727 7.810 1.00 0.00 C +ATOM 1421 HZ PHE A 93 4.287 -1.031 6.842 1.00 0.00 H +ATOM 1422 N HIS A 94 9.924 -0.473 10.899 1.00 0.00 N +ATOM 1423 H HIS A 94 10.202 -0.414 12.045 1.00 0.00 H +ATOM 1424 CA HIS A 94 10.823 -1.489 10.264 1.00 0.00 C +ATOM 1425 HA HIS A 94 10.390 -1.804 9.203 1.00 0.00 H +ATOM 1426 C HIS A 94 10.763 -2.746 11.119 1.00 0.00 C +ATOM 1427 O HIS A 94 10.119 -2.735 12.177 1.00 0.00 O +ATOM 1428 CB HIS A 94 12.267 -0.945 10.177 1.00 0.00 C +ATOM 1429 HB2 HIS A 94 12.237 0.126 9.669 1.00 0.00 H +ATOM 1430 HB3 HIS A 94 13.142 -1.592 9.701 1.00 0.00 H +ATOM 1431 CG HIS A 94 12.834 -0.633 11.535 1.00 0.00 C +ATOM 1432 ND1 HIS A 94 12.643 0.582 12.178 1.00 0.00 N +ATOM 1433 HD1 HIS A 94 13.385 1.289 11.576 1.00 0.00 H +ATOM 1434 CD2 HIS A 94 13.477 -1.448 12.447 1.00 0.00 C +ATOM 1435 HD2 HIS A 94 14.379 -2.170 12.188 1.00 0.00 H +ATOM 1436 CE1 HIS A 94 13.181 0.534 13.402 1.00 0.00 C +ATOM 1437 HE1 HIS A 94 13.875 1.215 14.087 1.00 0.00 H +ATOM 1438 NE2 HIS A 94 13.664 -0.709 13.607 1.00 0.00 N +ATOM 1439 N PHE A 95 11.398 -3.818 10.676 1.00 0.00 N +ATOM 1440 H PHE A 95 11.951 -3.799 9.628 1.00 0.00 H +ATOM 1441 CA PHE A 95 11.444 -5.068 11.411 1.00 0.00 C +ATOM 1442 HA PHE A 95 11.159 -4.716 12.506 1.00 0.00 H +ATOM 1443 C PHE A 95 12.888 -5.499 11.553 1.00 0.00 C +ATOM 1444 O PHE A 95 13.802 -5.043 10.868 1.00 0.00 O +ATOM 1445 CB PHE A 95 10.742 -6.193 10.603 1.00 0.00 C +ATOM 1446 HB2 PHE A 95 11.126 -6.353 9.492 1.00 0.00 H +ATOM 1447 HB3 PHE A 95 10.816 -7.228 11.181 1.00 0.00 H +ATOM 1448 CG PHE A 95 9.288 -5.882 10.226 1.00 0.00 C +ATOM 1449 CD1 PHE A 95 8.963 -5.078 9.151 1.00 0.00 C +ATOM 1450 HD1 PHE A 95 9.726 -4.496 8.460 1.00 0.00 H +ATOM 1451 CD2 PHE A 95 8.250 -6.515 10.926 1.00 0.00 C +ATOM 1452 HD2 PHE A 95 8.538 -7.123 11.896 1.00 0.00 H +ATOM 1453 CE1 PHE A 95 7.617 -4.823 8.784 1.00 0.00 C +ATOM 1454 HE1 PHE A 95 7.256 -4.203 7.848 1.00 0.00 H +ATOM 1455 CE2 PHE A 95 6.923 -6.340 10.554 1.00 0.00 C +ATOM 1456 HE2 PHE A 95 5.936 -6.921 10.850 1.00 0.00 H +ATOM 1457 CZ PHE A 95 6.618 -5.438 9.504 1.00 0.00 C +ATOM 1458 HZ PHE A 95 5.534 -5.014 9.296 1.00 0.00 H +ATOM 1459 N HIS A 96 13.029 -6.413 12.494 1.00 0.00 N +ATOM 1460 H HIS A 96 12.665 -6.146 13.585 1.00 0.00 H +ATOM 1461 CA HIS A 96 14.256 -7.219 12.655 1.00 0.00 C +ATOM 1462 HA HIS A 96 15.025 -6.875 11.818 1.00 0.00 H +ATOM 1463 C HIS A 96 13.807 -8.668 12.601 1.00 0.00 C +ATOM 1464 O HIS A 96 12.755 -9.004 13.117 1.00 0.00 O +ATOM 1465 CB HIS A 96 14.938 -6.981 14.015 1.00 0.00 C +ATOM 1466 HB2 HIS A 96 16.028 -7.447 13.920 1.00 0.00 H +ATOM 1467 HB3 HIS A 96 14.344 -7.446 14.939 1.00 0.00 H +ATOM 1468 CG HIS A 96 15.184 -5.512 14.290 1.00 0.00 C +ATOM 1469 ND1 HIS A 96 16.421 -4.942 14.045 1.00 0.00 N +ATOM 1470 HD1 HIS A 96 17.468 -4.868 13.498 1.00 0.00 H +ATOM 1471 CD2 HIS A 96 14.362 -4.499 14.671 1.00 0.00 C +ATOM 1472 HD2 HIS A 96 13.309 -4.529 15.204 1.00 0.00 H +ATOM 1473 CE1 HIS A 96 16.361 -3.634 14.370 1.00 0.00 C +ATOM 1474 HE1 HIS A 96 16.980 -2.631 14.250 1.00 0.00 H +ATOM 1475 NE2 HIS A 96 15.110 -3.326 14.682 1.00 0.00 N +ATOM 1476 N TRP A 97 14.610 -9.510 11.934 1.00 0.00 N +ATOM 1477 H TRP A 97 15.722 -9.416 12.322 1.00 0.00 H +ATOM 1478 CA TRP A 97 14.217 -10.926 11.752 1.00 0.00 C +ATOM 1479 HA TRP A 97 13.671 -11.277 12.742 1.00 0.00 H +ATOM 1480 C TRP A 97 15.388 -11.826 11.604 1.00 0.00 C +ATOM 1481 O TRP A 97 16.546 -11.396 11.535 1.00 0.00 O +ATOM 1482 CB TRP A 97 13.276 -11.104 10.557 1.00 0.00 C +ATOM 1483 HB2 TRP A 97 12.853 -12.173 10.248 1.00 0.00 H +ATOM 1484 HB3 TRP A 97 12.356 -10.356 10.630 1.00 0.00 H +ATOM 1485 CG TRP A 97 13.913 -10.668 9.222 1.00 0.00 C +ATOM 1486 CD1 TRP A 97 14.583 -11.504 8.360 1.00 0.00 C +ATOM 1487 HD1 TRP A 97 15.201 -12.434 8.740 1.00 0.00 H +ATOM 1488 CD2 TRP A 97 13.977 -9.358 8.644 1.00 0.00 C +ATOM 1489 NE1 TRP A 97 15.034 -10.787 7.243 1.00 0.00 N +ATOM 1490 HE1 TRP A 97 15.714 -11.403 6.517 1.00 0.00 H +ATOM 1491 CE2 TRP A 97 14.679 -9.473 7.425 1.00 0.00 C +ATOM 1492 CE3 TRP A 97 13.498 -8.099 9.042 1.00 0.00 C +ATOM 1493 HE3 TRP A 97 12.985 -7.977 10.094 1.00 0.00 H +ATOM 1494 CZ2 TRP A 97 14.841 -8.406 6.539 1.00 0.00 C +ATOM 1495 HZ2 TRP A 97 15.444 -8.654 5.557 1.00 0.00 H +ATOM 1496 CZ3 TRP A 97 13.748 -6.998 8.178 1.00 0.00 C +ATOM 1497 HZ3 TRP A 97 13.378 -5.893 8.369 1.00 0.00 H +ATOM 1498 CH2 TRP A 97 14.382 -7.191 6.956 1.00 0.00 C +ATOM 1499 HH2 TRP A 97 14.746 -6.276 6.302 1.00 0.00 H +ATOM 1500 N GLY A 98 15.085 -13.122 11.659 1.00 0.00 N +ATOM 1501 H GLY A 98 14.030 -13.643 11.500 1.00 0.00 H +ATOM 1502 CA GLY A 98 16.110 -14.126 11.708 1.00 0.00 C +ATOM 1503 HA2 GLY A 98 15.618 -15.071 12.239 1.00 0.00 H +ATOM 1504 HA3 GLY A 98 17.018 -13.749 12.366 1.00 0.00 H +ATOM 1505 C GLY A 98 16.356 -14.866 10.389 1.00 0.00 C +ATOM 1506 O GLY A 98 15.613 -14.690 9.410 1.00 0.00 O +ATOM 1507 N SER A 99 17.382 -15.738 10.419 1.00 0.00 N +ATOM 1508 H SER A 99 17.912 -16.053 11.428 1.00 0.00 H +ATOM 1509 CA SER A 99 17.581 -16.662 9.270 1.00 0.00 C +ATOM 1510 HA SER A 99 17.193 -16.225 8.239 1.00 0.00 H +ATOM 1511 C SER A 99 16.618 -17.865 9.322 1.00 0.00 C +ATOM 1512 O SER A 99 16.415 -18.502 8.285 1.00 0.00 O +ATOM 1513 CB SER A 99 19.035 -17.102 9.273 1.00 0.00 C +ATOM 1514 HB2 SER A 99 19.489 -18.151 8.901 1.00 0.00 H +ATOM 1515 HB3 SER A 99 19.294 -16.668 8.200 1.00 0.00 H +ATOM 1516 OG SER A 99 19.384 -17.523 10.566 1.00 0.00 O +ATOM 1517 HG SER A 99 20.526 -17.848 10.530 1.00 0.00 H +ATOM 1518 N LEU A 100 16.110 -18.194 10.483 1.00 0.00 N +ATOM 1519 H LEU A 100 16.752 -18.073 11.473 1.00 0.00 H +ATOM 1520 CA LEU A 100 15.112 -19.253 10.709 1.00 0.00 C +ATOM 1521 HA LEU A 100 14.487 -19.569 9.750 1.00 0.00 H +ATOM 1522 C LEU A 100 14.091 -18.725 11.741 1.00 0.00 C +ATOM 1523 O LEU A 100 14.384 -17.755 12.423 1.00 0.00 O +ATOM 1524 CB LEU A 100 15.778 -20.511 11.257 1.00 0.00 C +ATOM 1525 HB2 LEU A 100 16.465 -20.302 12.212 1.00 0.00 H +ATOM 1526 HB3 LEU A 100 15.054 -21.374 11.655 1.00 0.00 H +ATOM 1527 CG LEU A 100 16.722 -21.204 10.234 1.00 0.00 C +ATOM 1528 HG LEU A 100 17.695 -20.629 9.853 1.00 0.00 H +ATOM 1529 CD1 LEU A 100 17.313 -22.430 10.773 1.00 0.00 C +ATOM 1530 HD11 LEU A 100 18.161 -22.904 10.069 1.00 0.00 H +ATOM 1531 HD12 LEU A 100 16.604 -23.366 11.013 1.00 0.00 H +ATOM 1532 HD13 LEU A 100 17.924 -22.267 11.790 1.00 0.00 H +ATOM 1533 CD2 LEU A 100 15.906 -21.640 9.086 1.00 0.00 C +ATOM 1534 HD21 LEU A 100 16.490 -22.491 8.474 1.00 0.00 H +ATOM 1535 HD22 LEU A 100 14.876 -22.215 9.294 1.00 0.00 H +ATOM 1536 HD23 LEU A 100 15.690 -20.930 8.144 1.00 0.00 H +ATOM 1537 N ASP A 101 12.993 -19.446 11.948 1.00 0.00 N +ATOM 1538 H ASP A 101 12.816 -20.562 11.577 1.00 0.00 H +ATOM 1539 CA ASP A 101 11.901 -18.942 12.792 1.00 0.00 C +ATOM 1540 HA ASP A 101 11.673 -17.809 12.524 1.00 0.00 H +ATOM 1541 C ASP A 101 12.264 -18.844 14.268 1.00 0.00 C +ATOM 1542 O ASP A 101 11.621 -18.069 14.987 1.00 0.00 O +ATOM 1543 CB ASP A 101 10.608 -19.721 12.703 1.00 0.00 C +ATOM 1544 HB2 ASP A 101 10.797 -20.870 12.981 1.00 0.00 H +ATOM 1545 HB3 ASP A 101 9.737 -19.463 13.478 1.00 0.00 H +ATOM 1546 CG ASP A 101 10.027 -19.773 11.301 1.00 0.00 C +ATOM 1547 OD1 ASP A 101 10.403 -18.957 10.409 1.00 0.00 O +ATOM 1548 OD2 ASP A 101 9.049 -20.566 11.167 1.00 0.00 O +ATOM 1549 N GLY A 102 13.294 -19.597 14.728 1.00 0.00 N +ATOM 1550 H GLY A 102 13.768 -20.583 14.269 1.00 0.00 H +ATOM 1551 CA GLY A 102 13.630 -19.637 16.142 1.00 0.00 C +ATOM 1552 HA2 GLY A 102 12.657 -19.729 16.829 1.00 0.00 H +ATOM 1553 HA3 GLY A 102 14.272 -20.604 16.434 1.00 0.00 H +ATOM 1554 C GLY A 102 14.496 -18.489 16.649 1.00 0.00 C +ATOM 1555 O GLY A 102 14.904 -18.502 17.782 1.00 0.00 O +ATOM 1556 N GLN A 103 14.761 -17.488 15.785 1.00 0.00 N +ATOM 1557 H GLN A 103 15.065 -17.906 14.721 1.00 0.00 H +ATOM 1558 CA GLN A 103 15.409 -16.264 16.263 1.00 0.00 C +ATOM 1559 HA GLN A 103 14.601 -16.061 17.108 1.00 0.00 H +ATOM 1560 C GLN A 103 14.994 -15.127 15.320 1.00 0.00 C +ATOM 1561 O GLN A 103 14.414 -15.377 14.247 1.00 0.00 O +ATOM 1562 CB GLN A 103 16.931 -16.386 16.366 1.00 0.00 C +ATOM 1563 HB2 GLN A 103 17.252 -15.410 16.932 1.00 0.00 H +ATOM 1564 HB3 GLN A 103 17.345 -17.260 17.054 1.00 0.00 H +ATOM 1565 CG GLN A 103 17.624 -16.735 15.026 1.00 0.00 C +ATOM 1566 HG2 GLN A 103 17.389 -17.785 14.514 1.00 0.00 H +ATOM 1567 HG3 GLN A 103 17.609 -15.734 14.391 1.00 0.00 H +ATOM 1568 CD GLN A 103 19.098 -17.087 15.225 1.00 0.00 C +ATOM 1569 OE1 GLN A 103 19.477 -17.783 16.233 1.00 0.00 O +ATOM 1570 NE2 GLN A 103 19.937 -16.673 14.279 1.00 0.00 N +ATOM 1571 HE21 GLN A 103 21.018 -16.318 14.629 1.00 0.00 H +ATOM 1572 HE22 GLN A 103 20.138 -17.552 13.504 1.00 0.00 H +ATOM 1573 N GLY A 104 15.265 -13.880 15.784 1.00 0.00 N +ATOM 1574 H GLY A 104 15.984 -13.526 16.659 1.00 0.00 H +ATOM 1575 CA GLY A 104 14.966 -12.740 14.924 1.00 0.00 C +ATOM 1576 HA2 GLY A 104 13.998 -13.038 14.312 1.00 0.00 H +ATOM 1577 HA3 GLY A 104 15.998 -12.479 14.407 1.00 0.00 H +ATOM 1578 C GLY A 104 14.571 -11.563 15.779 1.00 0.00 C +ATOM 1579 O GLY A 104 14.784 -10.386 15.389 1.00 0.00 O +ATOM 1580 N SER A 105 13.815 -11.801 16.881 1.00 0.00 N +ATOM 1581 H SER A 105 13.896 -12.778 17.545 1.00 0.00 H +ATOM 1582 CA SER A 105 13.388 -10.623 17.690 1.00 0.00 C +ATOM 1583 HA SER A 105 13.195 -9.864 16.798 1.00 0.00 H +ATOM 1584 C SER A 105 14.593 -10.059 18.474 1.00 0.00 C +ATOM 1585 O SER A 105 15.651 -10.706 18.662 1.00 0.00 O +ATOM 1586 CB SER A 105 12.258 -10.981 18.626 1.00 0.00 C +ATOM 1587 HB2 SER A 105 11.876 -10.143 19.372 1.00 0.00 H +ATOM 1588 HB3 SER A 105 11.430 -11.281 17.836 1.00 0.00 H +ATOM 1589 OG SER A 105 12.642 -11.900 19.645 1.00 0.00 O +ATOM 1590 HG SER A 105 13.766 -11.677 19.928 1.00 0.00 H +ATOM 1591 N GLU A 106 14.472 -8.801 18.859 1.00 0.00 N +ATOM 1592 H GLU A 106 13.760 -8.123 18.203 1.00 0.00 H +ATOM 1593 CA GLU A 106 15.502 -8.126 19.635 1.00 0.00 C +ATOM 1594 HA GLU A 106 16.533 -8.717 19.608 1.00 0.00 H +ATOM 1595 C GLU A 106 15.173 -8.292 21.101 1.00 0.00 C +ATOM 1596 O GLU A 106 15.947 -8.828 21.888 1.00 0.00 O +ATOM 1597 CB GLU A 106 15.547 -6.657 19.222 1.00 0.00 C +ATOM 1598 HB2 GLU A 106 14.599 -5.940 19.291 1.00 0.00 H +ATOM 1599 HB3 GLU A 106 16.460 -6.038 19.660 1.00 0.00 H +ATOM 1600 CG GLU A 106 15.960 -6.527 17.745 1.00 0.00 C +ATOM 1601 HG2 GLU A 106 16.636 -7.464 17.493 1.00 0.00 H +ATOM 1602 HG3 GLU A 106 15.019 -6.463 17.026 1.00 0.00 H +ATOM 1603 CD GLU A 106 16.618 -5.231 17.449 1.00 0.00 C +ATOM 1604 OE1 GLU A 106 16.054 -4.165 17.678 1.00 0.00 O +ATOM 1605 OE2 GLU A 106 17.818 -5.303 17.017 1.00 0.00 O +ATOM 1606 N HIS A 107 13.999 -7.831 21.544 1.00 0.00 N +ATOM 1607 H HIS A 107 13.413 -6.960 21.010 1.00 0.00 H +ATOM 1608 CA HIS A 107 13.515 -8.197 22.881 1.00 0.00 C +ATOM 1609 HA HIS A 107 14.416 -7.953 23.616 1.00 0.00 H +ATOM 1610 C HIS A 107 13.219 -9.686 22.914 1.00 0.00 C +ATOM 1611 O HIS A 107 12.886 -10.273 21.885 1.00 0.00 O +ATOM 1612 CB HIS A 107 12.275 -7.355 23.226 1.00 0.00 C +ATOM 1613 HB2 HIS A 107 11.321 -7.253 22.524 1.00 0.00 H +ATOM 1614 HB3 HIS A 107 11.936 -7.695 24.312 1.00 0.00 H +ATOM 1615 CG HIS A 107 12.586 -5.896 23.372 1.00 0.00 C +ATOM 1616 ND1 HIS A 107 12.539 -5.011 22.309 1.00 0.00 N +ATOM 1617 HD1 HIS A 107 12.617 -4.829 21.144 1.00 0.00 H +ATOM 1618 CD2 HIS A 107 13.065 -5.166 24.431 1.00 0.00 C +ATOM 1619 HD2 HIS A 107 12.504 -5.411 25.443 1.00 0.00 H +ATOM 1620 CE1 HIS A 107 12.939 -3.822 22.715 1.00 0.00 C +ATOM 1621 HE1 HIS A 107 13.423 -2.904 22.144 1.00 0.00 H +ATOM 1622 NE2 HIS A 107 13.260 -3.876 24.019 1.00 0.00 N +ATOM 1623 N THR A 108 13.332 -10.227 24.121 1.00 0.00 N +ATOM 1624 H THR A 108 13.536 -9.542 25.062 1.00 0.00 H +ATOM 1625 CA THR A 108 12.950 -11.589 24.383 1.00 0.00 C +ATOM 1626 HA THR A 108 12.265 -11.916 23.468 1.00 0.00 H +ATOM 1627 C THR A 108 12.054 -11.622 25.560 1.00 0.00 C +ATOM 1628 O THR A 108 12.001 -10.667 26.344 1.00 0.00 O +ATOM 1629 CB THR A 108 14.216 -12.493 24.634 1.00 0.00 C +ATOM 1630 HB THR A 108 13.940 -13.579 25.020 1.00 0.00 H +ATOM 1631 OG1 THR A 108 15.046 -11.962 25.646 1.00 0.00 O +ATOM 1632 HG1 THR A 108 15.775 -11.197 25.124 1.00 0.00 H +ATOM 1633 CG2 THR A 108 15.028 -12.595 23.336 1.00 0.00 C +ATOM 1634 HG21 THR A 108 15.341 -13.741 23.443 1.00 0.00 H +ATOM 1635 HG22 THR A 108 16.139 -12.144 23.381 1.00 0.00 H +ATOM 1636 HG23 THR A 108 14.696 -12.189 22.271 1.00 0.00 H +ATOM 1637 N VAL A 109 11.280 -12.681 25.684 1.00 0.00 N +ATOM 1638 H VAL A 109 10.881 -13.329 24.779 1.00 0.00 H +ATOM 1639 CA VAL A 109 10.285 -12.802 26.766 1.00 0.00 C +ATOM 1640 HA VAL A 109 10.261 -11.926 27.561 1.00 0.00 H +ATOM 1641 C VAL A 109 10.636 -14.075 27.495 1.00 0.00 C +ATOM 1642 O VAL A 109 10.466 -15.188 26.900 1.00 0.00 O +ATOM 1643 CB VAL A 109 8.822 -12.820 26.238 1.00 0.00 C +ATOM 1644 HB VAL A 109 8.529 -13.777 25.593 1.00 0.00 H +ATOM 1645 CG1 VAL A 109 7.778 -12.958 27.363 1.00 0.00 C +ATOM 1646 HG11 VAL A 109 6.649 -12.882 26.973 1.00 0.00 H +ATOM 1647 HG12 VAL A 109 8.020 -12.195 28.229 1.00 0.00 H +ATOM 1648 HG13 VAL A 109 7.735 -14.106 27.708 1.00 0.00 H +ATOM 1649 CG2 VAL A 109 8.522 -11.508 25.417 1.00 0.00 C +ATOM 1650 HG21 VAL A 109 7.999 -10.762 26.183 1.00 0.00 H +ATOM 1651 HG22 VAL A 109 7.690 -11.781 24.607 1.00 0.00 H +ATOM 1652 HG23 VAL A 109 9.468 -10.963 24.954 1.00 0.00 H +ATOM 1653 N ASP A 110 11.070 -13.988 28.741 1.00 0.00 N +ATOM 1654 H ASP A 110 11.688 -13.177 29.337 1.00 0.00 H +ATOM 1655 CA ASP A 110 11.563 -15.179 29.469 1.00 0.00 C +ATOM 1656 HA ASP A 110 12.189 -15.184 30.486 1.00 0.00 H +ATOM 1657 C ASP A 110 12.574 -15.958 28.613 1.00 0.00 C +ATOM 1658 O ASP A 110 12.542 -17.202 28.551 1.00 0.00 O +ATOM 1659 CB ASP A 110 10.370 -16.037 29.933 1.00 0.00 C +ATOM 1660 HB2 ASP A 110 10.714 -16.968 30.603 1.00 0.00 H +ATOM 1661 HB3 ASP A 110 9.622 -16.548 29.157 1.00 0.00 H +ATOM 1662 CG ASP A 110 9.519 -15.304 30.960 1.00 0.00 C +ATOM 1663 OD1 ASP A 110 10.037 -14.385 31.628 1.00 0.00 O +ATOM 1664 OD2 ASP A 110 8.334 -15.659 31.070 1.00 0.00 O +ATOM 1665 N LYS A 111 13.442 -15.191 27.955 1.00 0.00 N +ATOM 1666 H LYS A 111 13.898 -14.503 28.802 1.00 0.00 H +ATOM 1667 CA LYS A 111 14.521 -15.693 27.126 1.00 0.00 C +ATOM 1668 HA LYS A 111 15.297 -14.907 26.685 1.00 0.00 H +ATOM 1669 C LYS A 111 14.013 -16.248 25.788 1.00 0.00 C +ATOM 1670 O LYS A 111 14.856 -16.637 24.932 1.00 0.00 O +ATOM 1671 CB LYS A 111 15.462 -16.701 27.858 1.00 0.00 C +ATOM 1672 HB2 LYS A 111 16.324 -17.175 27.177 1.00 0.00 H +ATOM 1673 HB3 LYS A 111 14.935 -17.726 28.174 1.00 0.00 H +ATOM 1674 CG LYS A 111 16.188 -16.048 29.097 1.00 0.00 C +ATOM 1675 HG2 LYS A 111 15.497 -15.773 30.030 1.00 0.00 H +ATOM 1676 HG3 LYS A 111 16.705 -17.025 29.561 1.00 0.00 H +ATOM 1677 CD LYS A 111 17.185 -14.942 28.730 1.00 0.00 C +ATOM 1678 HD2 LYS A 111 17.009 -14.006 28.015 1.00 0.00 H +ATOM 1679 HD3 LYS A 111 18.054 -15.479 28.109 1.00 0.00 H +ATOM 1680 CE LYS A 111 17.877 -14.238 29.908 1.00 0.00 C +ATOM 1681 HE2 LYS A 111 17.200 -13.740 30.757 1.00 0.00 H +ATOM 1682 HE3 LYS A 111 18.640 -13.400 29.516 1.00 0.00 H +ATOM 1683 NZ LYS A 111 18.696 -15.208 30.570 1.00 0.00 N +ATOM 1684 HZ1 LYS A 111 19.759 -14.704 30.815 1.00 0.00 H +ATOM 1685 HZ2 LYS A 111 19.091 -16.259 30.153 1.00 0.00 H +ATOM 1686 HZ3 LYS A 111 18.297 -15.454 31.673 1.00 0.00 H +ATOM 1687 N LYS A 112 12.701 -16.266 25.522 1.00 0.00 N +ATOM 1688 H LYS A 112 12.022 -15.785 26.341 1.00 0.00 H +ATOM 1689 CA LYS A 112 12.209 -16.776 24.201 1.00 0.00 C +ATOM 1690 HA LYS A 112 12.672 -17.876 24.158 1.00 0.00 H +ATOM 1691 C LYS A 112 12.441 -15.663 23.143 1.00 0.00 C +ATOM 1692 O LYS A 112 12.127 -14.455 23.360 1.00 0.00 O +ATOM 1693 CB LYS A 112 10.671 -16.965 24.275 1.00 0.00 C +ATOM 1694 HB2 LYS A 112 10.538 -17.890 25.022 1.00 0.00 H +ATOM 1695 HB3 LYS A 112 10.135 -16.002 24.718 1.00 0.00 H +ATOM 1696 CG LYS A 112 9.944 -17.323 22.918 1.00 0.00 C +ATOM 1697 HG2 LYS A 112 10.358 -18.424 22.710 1.00 0.00 H +ATOM 1698 HG3 LYS A 112 10.332 -16.559 22.097 1.00 0.00 H +ATOM 1699 CD LYS A 112 8.399 -17.258 22.994 1.00 0.00 C +ATOM 1700 HD2 LYS A 112 7.566 -17.990 23.455 1.00 0.00 H +ATOM 1701 HD3 LYS A 112 8.221 -16.610 23.977 1.00 0.00 H +ATOM 1702 CE LYS A 112 7.854 -17.462 21.631 1.00 0.00 C +ATOM 1703 HE2 LYS A 112 6.666 -17.373 21.532 1.00 0.00 H +ATOM 1704 HE3 LYS A 112 8.247 -16.575 20.953 1.00 0.00 H +ATOM 1705 NZ LYS A 112 8.083 -18.799 21.175 1.00 0.00 N +ATOM 1706 HZ1 LYS A 112 8.252 -19.680 21.980 1.00 0.00 H +ATOM 1707 HZ2 LYS A 112 7.190 -19.285 20.551 1.00 0.00 H +ATOM 1708 HZ3 LYS A 112 8.979 -18.890 20.394 1.00 0.00 H +ATOM 1709 N LYS A 113 12.961 -16.105 22.000 1.00 0.00 N +ATOM 1710 H LYS A 113 13.271 -17.252 21.928 1.00 0.00 H +ATOM 1711 CA LYS A 113 13.149 -15.280 20.817 1.00 0.00 C +ATOM 1712 HA LYS A 113 13.190 -14.151 21.176 1.00 0.00 H +ATOM 1713 C LYS A 113 11.990 -15.557 19.890 1.00 0.00 C +ATOM 1714 O LYS A 113 11.674 -16.707 19.600 1.00 0.00 O +ATOM 1715 CB LYS A 113 14.458 -15.698 20.099 1.00 0.00 C +ATOM 1716 HB2 LYS A 113 14.415 -16.863 19.849 1.00 0.00 H +ATOM 1717 HB3 LYS A 113 14.603 -14.993 19.154 1.00 0.00 H +ATOM 1718 CG LYS A 113 15.713 -15.354 20.920 1.00 0.00 C +ATOM 1719 HG2 LYS A 113 15.655 -15.891 21.972 1.00 0.00 H +ATOM 1720 HG3 LYS A 113 15.787 -14.182 20.956 1.00 0.00 H +ATOM 1721 CD LYS A 113 16.950 -16.036 20.270 1.00 0.00 C +ATOM 1722 HD2 LYS A 113 16.886 -17.230 20.274 1.00 0.00 H +ATOM 1723 HD3 LYS A 113 17.259 -15.714 19.171 1.00 0.00 H +ATOM 1724 CE LYS A 113 18.219 -15.524 20.921 1.00 0.00 C +ATOM 1725 HE2 LYS A 113 19.192 -15.673 20.242 1.00 0.00 H +ATOM 1726 HE3 LYS A 113 18.223 -14.392 21.298 1.00 0.00 H +ATOM 1727 NZ LYS A 113 18.554 -16.460 22.049 1.00 0.00 N +ATOM 1728 HZ1 LYS A 113 18.996 -15.804 22.949 1.00 0.00 H +ATOM 1729 HZ2 LYS A 113 17.861 -17.275 22.587 1.00 0.00 H +ATOM 1730 HZ3 LYS A 113 19.471 -17.170 21.739 1.00 0.00 H +ATOM 1731 N TYR A 114 11.372 -14.511 19.389 1.00 0.00 N +ATOM 1732 H TYR A 114 11.159 -13.720 20.242 1.00 0.00 H +ATOM 1733 CA TYR A 114 10.348 -14.624 18.326 1.00 0.00 C +ATOM 1734 HA TYR A 114 9.872 -15.709 18.439 1.00 0.00 H +ATOM 1735 C TYR A 114 10.990 -14.561 16.949 1.00 0.00 C +ATOM 1736 O TYR A 114 12.188 -14.239 16.838 1.00 0.00 O +ATOM 1737 CB TYR A 114 9.326 -13.479 18.488 1.00 0.00 C +ATOM 1738 HB2 TYR A 114 8.565 -13.436 17.584 1.00 0.00 H +ATOM 1739 HB3 TYR A 114 9.837 -12.429 18.683 1.00 0.00 H +ATOM 1740 CG TYR A 114 8.398 -13.704 19.632 1.00 0.00 C +ATOM 1741 CD1 TYR A 114 7.194 -14.338 19.385 1.00 0.00 C +ATOM 1742 HD1 TYR A 114 7.048 -15.114 18.505 1.00 0.00 H +ATOM 1743 CD2 TYR A 114 8.670 -13.235 20.942 1.00 0.00 C +ATOM 1744 HD2 TYR A 114 9.557 -12.598 21.401 1.00 0.00 H +ATOM 1745 CE1 TYR A 114 6.258 -14.554 20.414 1.00 0.00 C +ATOM 1746 HE1 TYR A 114 5.406 -15.380 20.403 1.00 0.00 H +ATOM 1747 CE2 TYR A 114 7.750 -13.491 21.980 1.00 0.00 C +ATOM 1748 HE2 TYR A 114 8.253 -13.484 23.048 1.00 0.00 H +ATOM 1749 CZ TYR A 114 6.546 -14.109 21.682 1.00 0.00 C +ATOM 1750 OH TYR A 114 5.664 -14.317 22.752 1.00 0.00 O +ATOM 1751 HH TYR A 114 6.150 -13.916 23.748 1.00 0.00 H +ATOM 1752 N ALA A 115 10.231 -14.912 15.920 1.00 0.00 N +ATOM 1753 H ALA A 115 9.430 -15.752 16.171 1.00 0.00 H +ATOM 1754 CA ALA A 115 10.789 -14.921 14.571 1.00 0.00 C +ATOM 1755 HA ALA A 115 11.768 -15.594 14.582 1.00 0.00 H +ATOM 1756 C ALA A 115 11.160 -13.542 14.065 1.00 0.00 C +ATOM 1757 O ALA A 115 12.000 -13.423 13.183 1.00 0.00 O +ATOM 1758 CB ALA A 115 9.774 -15.528 13.644 1.00 0.00 C +ATOM 1759 HB1 ALA A 115 8.964 -14.727 13.300 1.00 0.00 H +ATOM 1760 HB2 ALA A 115 10.328 -15.807 12.625 1.00 0.00 H +ATOM 1761 HB3 ALA A 115 9.268 -16.512 14.093 1.00 0.00 H +ATOM 1762 N ALA A 116 10.479 -12.510 14.571 1.00 0.00 N +ATOM 1763 H ALA A 116 10.053 -12.612 15.666 1.00 0.00 H +ATOM 1764 CA ALA A 116 10.803 -11.152 14.109 1.00 0.00 C +ATOM 1765 HA ALA A 116 11.953 -11.014 14.362 1.00 0.00 H +ATOM 1766 C ALA A 116 10.184 -10.179 15.107 1.00 0.00 C +ATOM 1767 O ALA A 116 9.432 -10.586 16.021 1.00 0.00 O +ATOM 1768 CB ALA A 116 10.199 -10.887 12.682 1.00 0.00 C +ATOM 1769 HB1 ALA A 116 9.174 -11.455 12.471 1.00 0.00 H +ATOM 1770 HB2 ALA A 116 10.832 -11.592 11.955 1.00 0.00 H +ATOM 1771 HB3 ALA A 116 10.168 -9.779 12.253 1.00 0.00 H +ATOM 1772 N GLU A 117 10.539 -8.900 14.936 1.00 0.00 N +ATOM 1773 H GLU A 117 11.153 -8.403 14.063 1.00 0.00 H +ATOM 1774 CA GLU A 117 10.013 -7.887 15.825 1.00 0.00 C +ATOM 1775 HA GLU A 117 8.967 -8.295 16.203 1.00 0.00 H +ATOM 1776 C GLU A 117 9.802 -6.635 14.943 1.00 0.00 C +ATOM 1777 O GLU A 117 10.737 -6.198 14.226 1.00 0.00 O +ATOM 1778 CB GLU A 117 10.963 -7.618 16.969 1.00 0.00 C +ATOM 1779 HB2 GLU A 117 11.832 -6.952 16.511 1.00 0.00 H +ATOM 1780 HB3 GLU A 117 11.376 -8.674 17.285 1.00 0.00 H +ATOM 1781 CG GLU A 117 10.401 -6.635 18.004 1.00 0.00 C +ATOM 1782 HG2 GLU A 117 9.455 -6.972 18.643 1.00 0.00 H +ATOM 1783 HG3 GLU A 117 10.315 -5.496 17.676 1.00 0.00 H +ATOM 1784 CD GLU A 117 11.340 -6.533 19.174 1.00 0.00 C +ATOM 1785 OE1 GLU A 117 12.021 -7.519 19.537 1.00 0.00 O +ATOM 1786 OE2 GLU A 117 11.347 -5.468 19.818 1.00 0.00 O +ATOM 1787 N LEU A 118 8.621 -6.054 15.023 1.00 0.00 N +ATOM 1788 H LEU A 118 8.411 -6.011 16.183 1.00 0.00 H +ATOM 1789 CA LEU A 118 8.265 -4.809 14.344 1.00 0.00 C +ATOM 1790 HA LEU A 118 8.835 -4.780 13.306 1.00 0.00 H +ATOM 1791 C LEU A 118 8.479 -3.654 15.308 1.00 0.00 C +ATOM 1792 O LEU A 118 8.083 -3.718 16.469 1.00 0.00 O +ATOM 1793 CB LEU A 118 6.768 -4.947 13.997 1.00 0.00 C +ATOM 1794 HB2 LEU A 118 6.271 -5.461 14.941 1.00 0.00 H +ATOM 1795 HB3 LEU A 118 6.577 -5.715 13.112 1.00 0.00 H +ATOM 1796 CG LEU A 118 6.025 -3.672 13.600 1.00 0.00 C +ATOM 1797 HG LEU A 118 6.004 -2.960 14.552 1.00 0.00 H +ATOM 1798 CD1 LEU A 118 6.605 -2.968 12.333 1.00 0.00 C +ATOM 1799 HD11 LEU A 118 5.810 -2.744 11.476 1.00 0.00 H +ATOM 1800 HD12 LEU A 118 7.134 -2.077 12.911 1.00 0.00 H +ATOM 1801 HD13 LEU A 118 7.488 -3.506 11.739 1.00 0.00 H +ATOM 1802 CD2 LEU A 118 4.507 -3.962 13.380 1.00 0.00 C +ATOM 1803 HD21 LEU A 118 3.948 -2.944 13.119 1.00 0.00 H +ATOM 1804 HD22 LEU A 118 4.479 -4.701 12.443 1.00 0.00 H +ATOM 1805 HD23 LEU A 118 3.910 -4.619 14.172 1.00 0.00 H +ATOM 1806 N HIS A 119 9.099 -2.577 14.805 1.00 0.00 N +ATOM 1807 H HIS A 119 10.115 -2.994 14.362 1.00 0.00 H +ATOM 1808 CA HIS A 119 9.319 -1.302 15.576 1.00 0.00 C +ATOM 1809 HA HIS A 119 8.844 -1.460 16.648 1.00 0.00 H +ATOM 1810 C HIS A 119 8.642 -0.182 14.844 1.00 0.00 C +ATOM 1811 O HIS A 119 9.028 0.164 13.725 1.00 0.00 O +ATOM 1812 CB HIS A 119 10.834 -1.033 15.666 1.00 0.00 C +ATOM 1813 HB2 HIS A 119 11.412 -1.204 14.641 1.00 0.00 H +ATOM 1814 HB3 HIS A 119 11.139 0.066 15.994 1.00 0.00 H +ATOM 1815 CG HIS A 119 11.521 -2.005 16.553 1.00 0.00 C +ATOM 1816 ND1 HIS A 119 12.888 -2.267 16.529 1.00 0.00 N +ATOM 1817 HD1 HIS A 119 13.732 -1.487 16.230 1.00 0.00 H +ATOM 1818 CD2 HIS A 119 10.982 -2.799 17.514 1.00 0.00 C +ATOM 1819 HD2 HIS A 119 10.269 -2.481 18.397 1.00 0.00 H +ATOM 1820 CE1 HIS A 119 13.174 -3.156 17.478 1.00 0.00 C +ATOM 1821 HE1 HIS A 119 14.081 -3.218 18.233 1.00 0.00 H +ATOM 1822 NE2 HIS A 119 12.043 -3.503 18.080 1.00 0.00 N +ATOM 1823 N LEU A 120 7.641 0.422 15.529 1.00 0.00 N +ATOM 1824 H LEU A 120 7.703 0.476 16.706 1.00 0.00 H +ATOM 1825 CA LEU A 120 6.953 1.597 15.052 1.00 0.00 C +ATOM 1826 HA LEU A 120 7.010 1.750 13.879 1.00 0.00 H +ATOM 1827 C LEU A 120 7.579 2.763 15.817 1.00 0.00 C +ATOM 1828 O LEU A 120 7.463 2.837 17.037 1.00 0.00 O +ATOM 1829 CB LEU A 120 5.479 1.482 15.273 1.00 0.00 C +ATOM 1830 HB2 LEU A 120 5.019 1.267 16.338 1.00 0.00 H +ATOM 1831 HB3 LEU A 120 5.102 2.578 15.005 1.00 0.00 H +ATOM 1832 CG LEU A 120 4.772 0.451 14.388 1.00 0.00 C +ATOM 1833 HG LEU A 120 5.478 -0.324 13.833 1.00 0.00 H +ATOM 1834 CD1 LEU A 120 3.929 -0.510 15.259 1.00 0.00 C +ATOM 1835 HD11 LEU A 120 3.005 0.094 15.706 1.00 0.00 H +ATOM 1836 HD12 LEU A 120 4.622 -1.101 16.024 1.00 0.00 H +ATOM 1837 HD13 LEU A 120 3.375 -1.278 14.532 1.00 0.00 H +ATOM 1838 CD2 LEU A 120 3.943 1.131 13.261 1.00 0.00 C +ATOM 1839 HD21 LEU A 120 4.403 1.082 12.169 1.00 0.00 H +ATOM 1840 HD22 LEU A 120 3.467 2.204 13.449 1.00 0.00 H +ATOM 1841 HD23 LEU A 120 2.990 0.423 13.130 1.00 0.00 H +ATOM 1842 N VAL A 121 8.336 3.589 15.108 1.00 0.00 N +ATOM 1843 H VAL A 121 8.668 3.120 14.080 1.00 0.00 H +ATOM 1844 CA VAL A 121 9.207 4.609 15.698 1.00 0.00 C +ATOM 1845 HA VAL A 121 9.501 4.277 16.796 1.00 0.00 H +ATOM 1846 C VAL A 121 8.479 5.957 15.722 1.00 0.00 C +ATOM 1847 O VAL A 121 8.017 6.415 14.652 1.00 0.00 O +ATOM 1848 CB VAL A 121 10.476 4.725 14.889 1.00 0.00 C +ATOM 1849 HB VAL A 121 10.428 5.069 13.757 1.00 0.00 H +ATOM 1850 CG1 VAL A 121 11.436 5.813 15.542 1.00 0.00 C +ATOM 1851 HG11 VAL A 121 11.019 6.907 15.751 1.00 0.00 H +ATOM 1852 HG12 VAL A 121 12.391 5.907 14.827 1.00 0.00 H +ATOM 1853 HG13 VAL A 121 11.897 5.356 16.542 1.00 0.00 H +ATOM 1854 CG2 VAL A 121 11.189 3.379 14.774 1.00 0.00 C +ATOM 1855 HG21 VAL A 121 10.921 2.690 13.839 1.00 0.00 H +ATOM 1856 HG22 VAL A 121 11.214 2.651 15.715 1.00 0.00 H +ATOM 1857 HG23 VAL A 121 12.350 3.632 14.665 1.00 0.00 H +ATOM 1858 N HIS A 122 8.442 6.635 16.901 1.00 0.00 N +ATOM 1859 H HIS A 122 9.367 6.462 17.620 1.00 0.00 H +ATOM 1860 CA HIS A 122 7.722 7.905 17.082 1.00 0.00 C +ATOM 1861 HA HIS A 122 7.746 8.346 15.985 1.00 0.00 H +ATOM 1862 C HIS A 122 8.625 8.875 17.805 1.00 0.00 C +ATOM 1863 O HIS A 122 9.371 8.483 18.687 1.00 0.00 O +ATOM 1864 CB HIS A 122 6.417 7.737 17.884 1.00 0.00 C +ATOM 1865 HB2 HIS A 122 6.622 7.347 18.985 1.00 0.00 H +ATOM 1866 HB3 HIS A 122 5.722 8.655 17.603 1.00 0.00 H +ATOM 1867 CG HIS A 122 5.557 6.592 17.467 1.00 0.00 C +ATOM 1868 ND1 HIS A 122 5.868 5.274 17.767 1.00 0.00 N +ATOM 1869 HD1 HIS A 122 6.409 4.792 18.698 1.00 0.00 H +ATOM 1870 CD2 HIS A 122 4.335 6.559 16.819 1.00 0.00 C +ATOM 1871 HD2 HIS A 122 3.447 7.311 16.615 1.00 0.00 H +ATOM 1872 CE1 HIS A 122 4.863 4.483 17.336 1.00 0.00 C +ATOM 1873 HE1 HIS A 122 4.438 3.423 17.628 1.00 0.00 H +ATOM 1874 NE2 HIS A 122 3.936 5.240 16.735 1.00 0.00 N +ATOM 1875 N TRP A 123 8.493 10.145 17.496 1.00 0.00 N +ATOM 1876 H TRP A 123 7.877 10.749 16.689 1.00 0.00 H +ATOM 1877 CA TRP A 123 9.292 11.173 18.149 1.00 0.00 C +ATOM 1878 HA TRP A 123 9.874 10.755 19.088 1.00 0.00 H +ATOM 1879 C TRP A 123 8.462 12.205 18.860 1.00 0.00 C +ATOM 1880 O TRP A 123 7.398 12.601 18.361 1.00 0.00 O +ATOM 1881 CB TRP A 123 10.368 11.806 17.186 1.00 0.00 C +ATOM 1882 HB2 TRP A 123 11.121 12.632 17.575 1.00 0.00 H +ATOM 1883 HB3 TRP A 123 10.797 10.769 16.801 1.00 0.00 H +ATOM 1884 CG TRP A 123 9.800 12.508 15.971 1.00 0.00 C +ATOM 1885 CD1 TRP A 123 9.494 11.891 14.774 1.00 0.00 C +ATOM 1886 HD1 TRP A 123 9.795 10.787 14.501 1.00 0.00 H +ATOM 1887 CD2 TRP A 123 9.488 13.881 15.837 1.00 0.00 C +ATOM 1888 NE1 TRP A 123 9.030 12.843 13.864 1.00 0.00 N +ATOM 1889 HE1 TRP A 123 9.762 13.062 12.959 1.00 0.00 H +ATOM 1890 CE2 TRP A 123 9.007 14.075 14.516 1.00 0.00 C +ATOM 1891 CE3 TRP A 123 9.592 15.014 16.706 1.00 0.00 C +ATOM 1892 HE3 TRP A 123 10.306 15.177 17.633 1.00 0.00 H +ATOM 1893 CZ2 TRP A 123 8.626 15.327 14.024 1.00 0.00 C +ATOM 1894 HZ2 TRP A 123 8.829 15.592 12.883 1.00 0.00 H +ATOM 1895 CZ3 TRP A 123 9.184 16.263 16.187 1.00 0.00 C +ATOM 1896 HZ3 TRP A 123 9.349 17.278 16.771 1.00 0.00 H +ATOM 1897 CH2 TRP A 123 8.698 16.390 14.885 1.00 0.00 C +ATOM 1898 HH2 TRP A 123 8.661 17.477 14.412 1.00 0.00 H +ATOM 1899 N ASN A 124 8.998 12.713 19.967 1.00 0.00 N +ATOM 1900 H ASN A 124 10.071 13.190 19.817 1.00 0.00 H +ATOM 1901 CA ASN A 124 8.260 13.633 20.835 1.00 0.00 C +ATOM 1902 HA ASN A 124 7.211 13.210 21.194 1.00 0.00 H +ATOM 1903 C ASN A 124 8.231 15.051 20.175 1.00 0.00 C +ATOM 1904 O ASN A 124 9.294 15.681 20.000 1.00 0.00 O +ATOM 1905 CB ASN A 124 9.002 13.652 22.152 1.00 0.00 C +ATOM 1906 HB2 ASN A 124 9.346 12.594 22.557 1.00 0.00 H +ATOM 1907 HB3 ASN A 124 9.888 14.436 22.116 1.00 0.00 H +ATOM 1908 CG ASN A 124 8.263 14.368 23.240 1.00 0.00 C +ATOM 1909 OD1 ASN A 124 7.452 15.285 22.945 1.00 0.00 O +ATOM 1910 ND2 ASN A 124 8.484 13.944 24.494 1.00 0.00 N +ATOM 1911 HD21 ASN A 124 9.395 14.180 25.216 1.00 0.00 H +ATOM 1912 HD22 ASN A 124 7.473 13.973 25.124 1.00 0.00 H +ATOM 1913 N THR A 125 7.009 15.536 19.893 1.00 0.00 N +ATOM 1914 H THR A 125 6.121 15.449 20.671 1.00 0.00 H +ATOM 1915 CA THR A 125 6.906 16.807 19.167 1.00 0.00 C +ATOM 1916 HA THR A 125 7.606 16.910 18.214 1.00 0.00 H +ATOM 1917 C THR A 125 7.383 18.001 19.987 1.00 0.00 C +ATOM 1918 O THR A 125 7.546 19.067 19.397 1.00 0.00 O +ATOM 1919 CB THR A 125 5.515 16.991 18.586 1.00 0.00 C +ATOM 1920 HB THR A 125 5.356 18.018 17.996 1.00 0.00 H +ATOM 1921 OG1 THR A 125 4.609 17.095 19.692 1.00 0.00 O +ATOM 1922 HG1 THR A 125 4.516 18.244 19.952 1.00 0.00 H +ATOM 1923 CG2 THR A 125 5.122 15.781 17.628 1.00 0.00 C +ATOM 1924 HG21 THR A 125 5.874 16.019 16.736 1.00 0.00 H +ATOM 1925 HG22 THR A 125 3.961 16.045 17.699 1.00 0.00 H +ATOM 1926 HG23 THR A 125 5.330 14.736 18.150 1.00 0.00 H +ATOM 1927 N LYS A 127 7.522 17.799 21.300 1.00 0.00 N +ATOM 1928 H LYS A 127 6.965 17.034 21.996 1.00 0.00 H +ATOM 1929 CA LYS A 127 7.941 18.948 22.071 1.00 0.00 C +ATOM 1930 HA LYS A 127 7.338 19.963 21.894 1.00 0.00 H +ATOM 1931 C LYS A 127 9.399 19.359 21.718 1.00 0.00 C +ATOM 1932 O LYS A 127 9.808 20.452 22.080 1.00 0.00 O +ATOM 1933 CB LYS A 127 7.823 18.648 23.551 1.00 0.00 C +ATOM 1934 HB2 LYS A 127 6.668 18.358 23.611 1.00 0.00 H +ATOM 1935 HB3 LYS A 127 7.753 19.664 24.159 1.00 0.00 H +ATOM 1936 CG LYS A 127 8.956 17.865 24.159 1.00 0.00 C +ATOM 1937 HG2 LYS A 127 9.307 16.826 23.715 1.00 0.00 H +ATOM 1938 HG3 LYS A 127 9.821 18.685 24.194 1.00 0.00 H +ATOM 1939 CD LYS A 127 8.743 17.556 25.668 1.00 0.00 C +ATOM 1940 HD2 LYS A 127 7.601 17.697 25.994 1.00 0.00 H +ATOM 1941 HD3 LYS A 127 8.958 16.443 26.029 1.00 0.00 H +ATOM 1942 CE LYS A 127 9.534 18.482 26.530 1.00 0.00 C +ATOM 1943 HE2 LYS A 127 9.100 19.599 26.538 1.00 0.00 H +ATOM 1944 HE3 LYS A 127 10.701 18.677 26.424 1.00 0.00 H +ATOM 1945 NZ LYS A 127 9.397 18.155 27.992 1.00 0.00 N +ATOM 1946 HZ1 LYS A 127 8.970 17.092 28.340 1.00 0.00 H +ATOM 1947 HZ2 LYS A 127 8.623 18.918 28.505 1.00 0.00 H +ATOM 1948 HZ3 LYS A 127 10.349 18.288 28.709 1.00 0.00 H +ATOM 1949 N TYR A 128 10.158 18.510 20.987 1.00 0.00 N +ATOM 1950 H TYR A 128 10.013 17.351 21.155 1.00 0.00 H +ATOM 1951 CA TYR A 128 11.515 18.856 20.579 1.00 0.00 C +ATOM 1952 HA TYR A 128 11.897 19.893 21.029 1.00 0.00 H +ATOM 1953 C TYR A 128 11.561 19.319 19.107 1.00 0.00 C +ATOM 1954 O TYR A 128 12.623 19.628 18.581 1.00 0.00 O +ATOM 1955 CB TYR A 128 12.474 17.631 20.810 1.00 0.00 C +ATOM 1956 HB2 TYR A 128 13.586 18.057 20.756 1.00 0.00 H +ATOM 1957 HB3 TYR A 128 12.207 16.921 19.898 1.00 0.00 H +ATOM 1958 CG TYR A 128 12.531 17.272 22.254 1.00 0.00 C +ATOM 1959 CD1 TYR A 128 12.948 18.267 23.237 1.00 0.00 C +ATOM 1960 HD1 TYR A 128 13.403 19.354 23.075 1.00 0.00 H +ATOM 1961 CD2 TYR A 128 12.133 16.018 22.700 1.00 0.00 C +ATOM 1962 HD2 TYR A 128 11.967 15.210 21.857 1.00 0.00 H +ATOM 1963 CE1 TYR A 128 12.927 17.928 24.594 1.00 0.00 C +ATOM 1964 HE1 TYR A 128 13.274 18.810 25.313 1.00 0.00 H +ATOM 1965 CE2 TYR A 128 12.174 15.672 24.039 1.00 0.00 C +ATOM 1966 HE2 TYR A 128 11.907 14.642 24.548 1.00 0.00 H +ATOM 1967 CZ TYR A 128 12.531 16.660 24.982 1.00 0.00 C +ATOM 1968 OH TYR A 128 12.504 16.348 26.323 1.00 0.00 O +ATOM 1969 HH TYR A 128 13.345 16.979 26.867 1.00 0.00 H +ATOM 1970 N GLY A 129 10.427 19.395 18.420 1.00 0.00 N +ATOM 1971 H GLY A 129 9.388 19.785 18.824 1.00 0.00 H +ATOM 1972 CA GLY A 129 10.396 20.134 17.131 1.00 0.00 C +ATOM 1973 HA2 GLY A 129 11.083 21.114 17.139 1.00 0.00 H +ATOM 1974 HA3 GLY A 129 9.342 20.600 16.812 1.00 0.00 H +ATOM 1975 C GLY A 129 10.818 19.304 15.908 1.00 0.00 C +ATOM 1976 O GLY A 129 10.166 19.403 14.876 1.00 0.00 O +ATOM 1977 N ASP A 130 11.919 18.560 15.977 1.00 0.00 N +ATOM 1978 H ASP A 130 12.826 19.248 16.305 1.00 0.00 H +ATOM 1979 CA ASP A 130 12.265 17.665 14.868 1.00 0.00 C +ATOM 1980 HA ASP A 130 11.339 17.385 14.176 1.00 0.00 H +ATOM 1981 C ASP A 130 12.922 16.417 15.444 1.00 0.00 C +ATOM 1982 O ASP A 130 13.378 16.383 16.605 1.00 0.00 O +ATOM 1983 CB ASP A 130 13.139 18.354 13.802 1.00 0.00 C +ATOM 1984 HB2 ASP A 130 12.639 19.385 13.455 1.00 0.00 H +ATOM 1985 HB3 ASP A 130 13.419 17.865 12.747 1.00 0.00 H +ATOM 1986 CG ASP A 130 14.506 18.754 14.279 1.00 0.00 C +ATOM 1987 OD1 ASP A 130 15.368 17.946 14.659 1.00 0.00 O +ATOM 1988 OD2 ASP A 130 14.864 19.952 14.167 1.00 0.00 O +ATOM 1989 N PHE A 131 12.977 15.403 14.593 1.00 0.00 N +ATOM 1990 H PHE A 131 12.604 15.525 13.470 1.00 0.00 H +ATOM 1991 CA PHE A 131 13.491 14.118 14.984 1.00 0.00 C +ATOM 1992 HA PHE A 131 12.665 13.789 15.767 1.00 0.00 H +ATOM 1993 C PHE A 131 14.947 14.157 15.441 1.00 0.00 C +ATOM 1994 O PHE A 131 15.297 13.513 16.437 1.00 0.00 O +ATOM 1995 CB PHE A 131 13.268 13.107 13.815 1.00 0.00 C +ATOM 1996 HB2 PHE A 131 12.271 12.998 13.188 1.00 0.00 H +ATOM 1997 HB3 PHE A 131 13.979 13.488 12.936 1.00 0.00 H +ATOM 1998 CG PHE A 131 13.836 11.737 14.072 1.00 0.00 C +ATOM 1999 CD1 PHE A 131 13.081 10.824 14.755 1.00 0.00 C +ATOM 2000 HD1 PHE A 131 12.248 11.314 15.423 1.00 0.00 H +ATOM 2001 CD2 PHE A 131 15.121 11.365 13.679 1.00 0.00 C +ATOM 2002 HD2 PHE A 131 15.788 11.847 12.821 1.00 0.00 H +ATOM 2003 CE1 PHE A 131 13.536 9.515 15.006 1.00 0.00 C +ATOM 2004 HE1 PHE A 131 12.835 8.587 15.204 1.00 0.00 H +ATOM 2005 CE2 PHE A 131 15.581 10.062 13.934 1.00 0.00 C +ATOM 2006 HE2 PHE A 131 16.593 9.716 13.414 1.00 0.00 H +ATOM 2007 CZ PHE A 131 14.783 9.181 14.597 1.00 0.00 C +ATOM 2008 HZ PHE A 131 15.183 8.070 14.460 1.00 0.00 H +ATOM 2009 N GLY A 132 15.798 14.905 14.699 1.00 0.00 N +ATOM 2010 H GLY A 132 15.736 15.228 13.556 1.00 0.00 H +ATOM 2011 CA GLY A 132 17.185 14.970 15.048 1.00 0.00 C +ATOM 2012 HA2 GLY A 132 17.734 13.956 14.737 1.00 0.00 H +ATOM 2013 HA3 GLY A 132 17.818 15.757 14.404 1.00 0.00 H +ATOM 2014 C GLY A 132 17.420 15.623 16.427 1.00 0.00 C +ATOM 2015 O GLY A 132 18.365 15.217 17.126 1.00 0.00 O +ATOM 2016 N LYS A 133 16.541 16.556 16.842 1.00 0.00 N +ATOM 2017 H LYS A 133 15.831 17.174 16.145 1.00 0.00 H +ATOM 2018 CA LYS A 133 16.630 17.113 18.184 1.00 0.00 C +ATOM 2019 HA LYS A 133 17.762 17.255 18.511 1.00 0.00 H +ATOM 2020 C LYS A 133 16.116 16.041 19.182 1.00 0.00 C +ATOM 2021 O LYS A 133 16.669 15.925 20.321 1.00 0.00 O +ATOM 2022 CB LYS A 133 15.821 18.410 18.337 1.00 0.00 C +ATOM 2023 HB2 LYS A 133 15.801 18.657 19.505 1.00 0.00 H +ATOM 2024 HB3 LYS A 133 14.701 18.484 17.950 1.00 0.00 H +ATOM 2025 CG LYS A 133 16.527 19.595 17.671 1.00 0.00 C +ATOM 2026 HG2 LYS A 133 16.866 19.406 16.545 1.00 0.00 H +ATOM 2027 HG3 LYS A 133 15.783 20.531 17.675 1.00 0.00 H +ATOM 2028 CD LYS A 133 17.816 20.015 18.493 1.00 0.00 C +ATOM 2029 HD2 LYS A 133 17.455 20.256 19.608 1.00 0.00 H +ATOM 2030 HD3 LYS A 133 18.922 19.637 18.722 1.00 0.00 H +ATOM 2031 CE LYS A 133 18.394 21.344 17.985 1.00 0.00 C +ATOM 2032 HE2 LYS A 133 17.562 22.121 18.348 1.00 0.00 H +ATOM 2033 HE3 LYS A 133 19.283 21.997 18.432 1.00 0.00 H +ATOM 2034 NZ LYS A 133 18.909 21.150 16.606 1.00 0.00 N +ATOM 2035 HZ1 LYS A 133 19.803 21.881 16.275 1.00 0.00 H +ATOM 2036 HZ2 LYS A 133 18.090 21.529 15.819 1.00 0.00 H +ATOM 2037 HZ3 LYS A 133 19.399 20.115 16.260 1.00 0.00 H +ATOM 2038 N ALA A 134 15.002 15.348 18.853 1.00 0.00 N +ATOM 2039 H ALA A 134 14.183 15.976 18.287 1.00 0.00 H +ATOM 2040 CA ALA A 134 14.397 14.388 19.780 1.00 0.00 C +ATOM 2041 HA ALA A 134 14.236 14.989 20.793 1.00 0.00 H +ATOM 2042 C ALA A 134 15.363 13.280 20.166 1.00 0.00 C +ATOM 2043 O ALA A 134 15.365 12.872 21.345 1.00 0.00 O +ATOM 2044 CB ALA A 134 13.153 13.848 19.166 1.00 0.00 C +ATOM 2045 HB1 ALA A 134 12.244 14.612 19.223 1.00 0.00 H +ATOM 2046 HB2 ALA A 134 13.417 13.488 18.066 1.00 0.00 H +ATOM 2047 HB3 ALA A 134 12.872 12.905 19.830 1.00 0.00 H +ATOM 2048 N VAL A 135 16.221 12.800 19.223 1.00 0.00 N +ATOM 2049 H VAL A 135 16.514 13.375 18.235 1.00 0.00 H +ATOM 2050 CA VAL A 135 17.111 11.668 19.585 1.00 0.00 C +ATOM 2051 HA VAL A 135 16.420 10.871 20.127 1.00 0.00 H +ATOM 2052 C VAL A 135 18.172 12.055 20.604 1.00 0.00 C +ATOM 2053 O VAL A 135 18.896 11.161 21.116 1.00 0.00 O +ATOM 2054 CB VAL A 135 17.754 10.972 18.380 1.00 0.00 C +ATOM 2055 HB VAL A 135 18.404 10.041 18.729 1.00 0.00 H +ATOM 2056 CG1 VAL A 135 16.748 10.340 17.448 1.00 0.00 C +ATOM 2057 HG11 VAL A 135 16.581 11.022 16.486 1.00 0.00 H +ATOM 2058 HG12 VAL A 135 15.696 10.112 17.942 1.00 0.00 H +ATOM 2059 HG13 VAL A 135 17.213 9.340 16.984 1.00 0.00 H +ATOM 2060 CG2 VAL A 135 18.706 11.940 17.633 1.00 0.00 C +ATOM 2061 HG21 VAL A 135 18.321 12.653 16.758 1.00 0.00 H +ATOM 2062 HG22 VAL A 135 19.560 12.532 18.217 1.00 0.00 H +ATOM 2063 HG23 VAL A 135 19.344 11.231 16.904 1.00 0.00 H +ATOM 2064 N GLN A 136 18.342 13.371 20.839 1.00 0.00 N +ATOM 2065 H GLN A 136 18.230 14.175 19.980 1.00 0.00 H +ATOM 2066 CA GLN A 136 19.324 13.872 21.835 1.00 0.00 C +ATOM 2067 HA GLN A 136 20.238 13.145 22.086 1.00 0.00 H +ATOM 2068 C GLN A 136 18.747 13.979 23.231 1.00 0.00 C +ATOM 2069 O GLN A 136 19.390 14.478 24.162 1.00 0.00 O +ATOM 2070 CB GLN A 136 19.884 15.208 21.374 1.00 0.00 C +ATOM 2071 HB2 GLN A 136 20.013 16.398 21.276 1.00 0.00 H +ATOM 2072 HB3 GLN A 136 19.795 15.545 22.522 1.00 0.00 H +ATOM 2073 CG GLN A 136 20.561 15.105 20.045 1.00 0.00 C +ATOM 2074 HG2 GLN A 136 21.581 14.613 20.424 1.00 0.00 H +ATOM 2075 HG3 GLN A 136 20.545 14.580 18.979 1.00 0.00 H +ATOM 2076 CD GLN A 136 21.012 16.440 19.603 1.00 0.00 C +ATOM 2077 OE1 GLN A 136 21.897 17.084 20.250 1.00 0.00 O +ATOM 2078 NE2 GLN A 136 20.422 16.914 18.522 1.00 0.00 N +ATOM 2079 HE21 GLN A 136 20.234 18.064 18.729 1.00 0.00 H +ATOM 2080 HE22 GLN A 136 21.020 16.839 17.493 1.00 0.00 H +ATOM 2081 N GLN A 137 17.508 13.521 23.420 1.00 0.00 N +ATOM 2082 H GLN A 137 16.942 12.732 22.759 1.00 0.00 H +ATOM 2083 CA GLN A 137 16.797 13.711 24.724 1.00 0.00 C +ATOM 2084 HA GLN A 137 17.661 14.141 25.420 1.00 0.00 H +ATOM 2085 C GLN A 137 16.363 12.377 25.306 1.00 0.00 C +ATOM 2086 O GLN A 137 16.041 11.443 24.538 1.00 0.00 O +ATOM 2087 CB GLN A 137 15.575 14.538 24.516 1.00 0.00 C +ATOM 2088 HB2 GLN A 137 15.124 14.860 25.570 1.00 0.00 H +ATOM 2089 HB3 GLN A 137 14.727 14.053 23.844 1.00 0.00 H +ATOM 2090 CG GLN A 137 15.967 15.901 23.805 1.00 0.00 C +ATOM 2091 HG2 GLN A 137 16.603 15.876 22.803 1.00 0.00 H +ATOM 2092 HG3 GLN A 137 15.111 16.704 23.617 1.00 0.00 H +ATOM 2093 CD GLN A 137 16.725 16.822 24.785 1.00 0.00 C +ATOM 2094 OE1 GLN A 137 16.660 16.625 25.969 1.00 0.00 O +ATOM 2095 NE2 GLN A 137 17.485 17.764 24.272 1.00 0.00 N +ATOM 2096 HE21 GLN A 137 18.247 17.996 23.389 1.00 0.00 H +ATOM 2097 HE22 GLN A 137 17.548 18.737 24.960 1.00 0.00 H +ATOM 2098 N PRO A 138 16.335 12.266 26.619 1.00 0.00 N +ATOM 2099 CA PRO A 138 16.095 10.929 27.228 1.00 0.00 C +ATOM 2100 HA PRO A 138 17.008 10.239 26.909 1.00 0.00 H +ATOM 2101 C PRO A 138 14.612 10.488 27.052 1.00 0.00 C +ATOM 2102 O PRO A 138 14.330 9.301 27.153 1.00 0.00 O +ATOM 2103 CB PRO A 138 16.388 11.162 28.704 1.00 0.00 C +ATOM 2104 HB2 PRO A 138 17.481 10.892 29.109 1.00 0.00 H +ATOM 2105 HB3 PRO A 138 15.650 10.727 29.536 1.00 0.00 H +ATOM 2106 CG PRO A 138 16.302 12.703 28.870 1.00 0.00 C +ATOM 2107 HG2 PRO A 138 17.035 13.029 29.763 1.00 0.00 H +ATOM 2108 HG3 PRO A 138 15.294 13.125 29.355 1.00 0.00 H +ATOM 2109 CD PRO A 138 16.792 13.288 27.605 1.00 0.00 C +ATOM 2110 HD2 PRO A 138 16.482 14.428 27.786 1.00 0.00 H +ATOM 2111 HD3 PRO A 138 17.987 13.288 27.669 1.00 0.00 H +ATOM 2112 N ASP A 139 13.725 11.462 26.799 1.00 0.00 N +ATOM 2113 H ASP A 139 13.897 12.410 27.488 1.00 0.00 H +ATOM 2114 CA ASP A 139 12.364 11.157 26.459 1.00 0.00 C +ATOM 2115 HA ASP A 139 11.991 10.028 26.529 1.00 0.00 H +ATOM 2116 C ASP A 139 12.057 11.555 24.995 1.00 0.00 C +ATOM 2117 O ASP A 139 10.916 11.976 24.659 1.00 0.00 O +ATOM 2118 CB ASP A 139 11.374 11.833 27.413 1.00 0.00 C +ATOM 2119 HB2 ASP A 139 10.215 11.533 27.415 1.00 0.00 H +ATOM 2120 HB3 ASP A 139 11.644 11.534 28.544 1.00 0.00 H +ATOM 2121 CG ASP A 139 11.481 13.318 27.436 1.00 0.00 C +ATOM 2122 OD1 ASP A 139 12.445 13.873 26.822 1.00 0.00 O +ATOM 2123 OD2 ASP A 139 10.688 13.906 28.186 1.00 0.00 O +ATOM 2124 N GLY A 140 13.033 11.423 24.091 1.00 0.00 N +ATOM 2125 H GLY A 140 13.907 10.665 24.327 1.00 0.00 H +ATOM 2126 CA GLY A 140 12.792 11.924 22.721 1.00 0.00 C +ATOM 2127 HA2 GLY A 140 13.836 11.710 22.204 1.00 0.00 H +ATOM 2128 HA3 GLY A 140 12.321 13.010 22.733 1.00 0.00 H +ATOM 2129 C GLY A 140 11.960 10.993 21.817 1.00 0.00 C +ATOM 2130 O GLY A 140 11.263 11.518 20.947 1.00 0.00 O +ATOM 2131 N LEU A 141 12.097 9.665 21.994 1.00 0.00 N +ATOM 2132 H LEU A 141 12.172 9.303 23.116 1.00 0.00 H +ATOM 2133 CA LEU A 141 11.393 8.734 21.129 1.00 0.00 C +ATOM 2134 HA LEU A 141 10.550 9.350 20.577 1.00 0.00 H +ATOM 2135 C LEU A 141 10.568 7.800 21.945 1.00 0.00 C +ATOM 2136 O LEU A 141 10.859 7.479 23.095 1.00 0.00 O +ATOM 2137 CB LEU A 141 12.402 7.873 20.349 1.00 0.00 C +ATOM 2138 HB2 LEU A 141 13.124 7.321 21.109 1.00 0.00 H +ATOM 2139 HB3 LEU A 141 11.741 7.096 19.734 1.00 0.00 H +ATOM 2140 CG LEU A 141 13.178 8.469 19.200 1.00 0.00 C +ATOM 2141 HG LEU A 141 14.074 8.784 19.927 1.00 0.00 H +ATOM 2142 CD1 LEU A 141 13.990 7.473 18.402 1.00 0.00 C +ATOM 2143 HD11 LEU A 141 13.365 7.189 17.427 1.00 0.00 H +ATOM 2144 HD12 LEU A 141 15.033 7.786 17.918 1.00 0.00 H +ATOM 2145 HD13 LEU A 141 14.028 6.413 18.941 1.00 0.00 H +ATOM 2146 CD2 LEU A 141 13.077 9.807 18.602 1.00 0.00 C +ATOM 2147 HD21 LEU A 141 13.679 10.707 19.093 1.00 0.00 H +ATOM 2148 HD22 LEU A 141 13.349 9.777 17.443 1.00 0.00 H +ATOM 2149 HD23 LEU A 141 11.899 9.931 18.663 1.00 0.00 H +ATOM 2150 N ALA A 142 9.535 7.264 21.264 1.00 0.00 N +ATOM 2151 H ALA A 142 8.764 7.842 20.583 1.00 0.00 H +ATOM 2152 CA ALA A 142 8.780 6.142 21.785 1.00 0.00 C +ATOM 2153 HA ALA A 142 9.329 5.717 22.745 1.00 0.00 H +ATOM 2154 C ALA A 142 8.732 5.117 20.665 1.00 0.00 C +ATOM 2155 O ALA A 142 8.301 5.451 19.557 1.00 0.00 O +ATOM 2156 CB ALA A 142 7.361 6.555 22.199 1.00 0.00 C +ATOM 2157 HB1 ALA A 142 6.829 5.496 22.085 1.00 0.00 H +ATOM 2158 HB2 ALA A 142 7.567 6.875 23.325 1.00 0.00 H +ATOM 2159 HB3 ALA A 142 6.679 7.413 21.743 1.00 0.00 H +ATOM 2160 N VAL A 143 9.201 3.901 20.949 1.00 0.00 N +ATOM 2161 H VAL A 143 9.495 3.411 21.981 1.00 0.00 H +ATOM 2162 CA VAL A 143 9.171 2.872 19.953 1.00 0.00 C +ATOM 2163 HA VAL A 143 8.840 3.335 18.915 1.00 0.00 H +ATOM 2164 C VAL A 143 8.192 1.812 20.458 1.00 0.00 C +ATOM 2165 O VAL A 143 8.321 1.278 21.590 1.00 0.00 O +ATOM 2166 CB VAL A 143 10.560 2.216 19.623 1.00 0.00 C +ATOM 2167 HB VAL A 143 10.949 1.638 20.583 1.00 0.00 H +ATOM 2168 CG1 VAL A 143 10.368 1.137 18.496 1.00 0.00 C +ATOM 2169 HG11 VAL A 143 9.583 0.302 18.814 1.00 0.00 H +ATOM 2170 HG12 VAL A 143 11.445 0.648 18.368 1.00 0.00 H +ATOM 2171 HG13 VAL A 143 10.018 1.648 17.485 1.00 0.00 H +ATOM 2172 CG2 VAL A 143 11.494 3.319 19.133 1.00 0.00 C +ATOM 2173 HG21 VAL A 143 11.963 3.067 18.055 1.00 0.00 H +ATOM 2174 HG22 VAL A 143 11.143 4.455 19.126 1.00 0.00 H +ATOM 2175 HG23 VAL A 143 12.590 3.282 19.607 1.00 0.00 H +ATOM 2176 N LEU A 144 7.184 1.476 19.629 1.00 0.00 N +ATOM 2177 H LEU A 144 6.708 2.452 19.165 1.00 0.00 H +ATOM 2178 CA LEU A 144 6.213 0.454 19.908 1.00 0.00 C +ATOM 2179 HA LEU A 144 6.119 0.421 21.087 1.00 0.00 H +ATOM 2180 C LEU A 144 6.764 -0.791 19.239 1.00 0.00 C +ATOM 2181 O LEU A 144 6.894 -0.853 18.018 1.00 0.00 O +ATOM 2182 CB LEU A 144 4.856 0.935 19.320 1.00 0.00 C +ATOM 2183 HB2 LEU A 144 4.520 1.912 19.906 1.00 0.00 H +ATOM 2184 HB3 LEU A 144 4.984 0.926 18.149 1.00 0.00 H +ATOM 2185 CG LEU A 144 3.730 -0.050 19.488 1.00 0.00 C +ATOM 2186 HG LEU A 144 3.864 -1.061 18.882 1.00 0.00 H +ATOM 2187 CD1 LEU A 144 3.468 -0.324 20.971 1.00 0.00 C +ATOM 2188 HD11 LEU A 144 3.960 -1.390 21.159 1.00 0.00 H +ATOM 2189 HD12 LEU A 144 2.287 -0.366 21.091 1.00 0.00 H +ATOM 2190 HD13 LEU A 144 3.932 0.502 21.679 1.00 0.00 H +ATOM 2191 CD2 LEU A 144 2.422 0.619 18.844 1.00 0.00 C +ATOM 2192 HD21 LEU A 144 2.123 1.627 19.398 1.00 0.00 H +ATOM 2193 HD22 LEU A 144 2.417 0.904 17.688 1.00 0.00 H +ATOM 2194 HD23 LEU A 144 1.516 -0.157 18.911 1.00 0.00 H +ATOM 2195 N GLY A 145 7.027 -1.822 20.050 1.00 0.00 N +ATOM 2196 H GLY A 145 7.802 -1.521 20.894 1.00 0.00 H +ATOM 2197 CA GLY A 145 7.584 -3.095 19.597 1.00 0.00 C +ATOM 2198 HA2 GLY A 145 8.121 -2.932 18.558 1.00 0.00 H +ATOM 2199 HA3 GLY A 145 8.323 -3.647 20.353 1.00 0.00 H +ATOM 2200 C GLY A 145 6.536 -4.173 19.603 1.00 0.00 C +ATOM 2201 O GLY A 145 5.796 -4.301 20.577 1.00 0.00 O +ATOM 2202 N ILE A 146 6.456 -4.913 18.497 1.00 0.00 N +ATOM 2203 H ILE A 146 7.489 -5.151 17.993 1.00 0.00 H +ATOM 2204 CA ILE A 146 5.414 -5.952 18.357 1.00 0.00 C +ATOM 2205 HA ILE A 146 4.909 -6.136 19.417 1.00 0.00 H +ATOM 2206 C ILE A 146 6.135 -7.210 17.887 1.00 0.00 C +ATOM 2207 O ILE A 146 6.842 -7.201 16.854 1.00 0.00 O +ATOM 2208 CB ILE A 146 4.350 -5.521 17.361 1.00 0.00 C +ATOM 2209 HB ILE A 146 4.831 -5.219 16.326 1.00 0.00 H +ATOM 2210 CG1 ILE A 146 3.716 -4.176 17.812 1.00 0.00 C +ATOM 2211 HG12 ILE A 146 4.549 -3.334 17.660 1.00 0.00 H +ATOM 2212 HG13 ILE A 146 3.437 -4.222 18.958 1.00 0.00 H +ATOM 2213 CG2 ILE A 146 3.273 -6.627 17.124 1.00 0.00 C +ATOM 2214 HG21 ILE A 146 3.501 -7.632 17.715 1.00 0.00 H +ATOM 2215 HG22 ILE A 146 3.356 -6.803 15.951 1.00 0.00 H +ATOM 2216 HG23 ILE A 146 2.266 -6.277 17.640 1.00 0.00 H +ATOM 2217 CD1 ILE A 146 2.632 -3.597 16.873 1.00 0.00 C +ATOM 2218 HD11 ILE A 146 1.580 -4.025 17.217 1.00 0.00 H +ATOM 2219 HD12 ILE A 146 2.560 -2.428 17.090 1.00 0.00 H +ATOM 2220 HD13 ILE A 146 2.673 -3.802 15.702 1.00 0.00 H +ATOM 2221 N PHE A 147 5.928 -8.318 18.572 1.00 0.00 N +ATOM 2222 H PHE A 147 5.579 -8.191 19.700 1.00 0.00 H +ATOM 2223 CA PHE A 147 6.586 -9.579 18.186 1.00 0.00 C +ATOM 2224 HA PHE A 147 7.697 -9.249 17.941 1.00 0.00 H +ATOM 2225 C PHE A 147 5.824 -10.232 17.042 1.00 0.00 C +ATOM 2226 O PHE A 147 4.568 -10.114 16.970 1.00 0.00 O +ATOM 2227 CB PHE A 147 6.570 -10.536 19.367 1.00 0.00 C +ATOM 2228 HB2 PHE A 147 6.847 -11.659 19.107 1.00 0.00 H +ATOM 2229 HB3 PHE A 147 5.543 -10.603 19.959 1.00 0.00 H +ATOM 2230 CG PHE A 147 7.445 -10.053 20.526 1.00 0.00 C +ATOM 2231 CD1 PHE A 147 8.818 -9.888 20.366 1.00 0.00 C +ATOM 2232 HD1 PHE A 147 9.385 -9.901 19.330 1.00 0.00 H +ATOM 2233 CD2 PHE A 147 6.872 -9.780 21.799 1.00 0.00 C +ATOM 2234 HD2 PHE A 147 5.775 -10.043 22.167 1.00 0.00 H +ATOM 2235 CE1 PHE A 147 9.652 -9.484 21.388 1.00 0.00 C +ATOM 2236 HE1 PHE A 147 10.686 -8.977 21.136 1.00 0.00 H +ATOM 2237 CE2 PHE A 147 7.690 -9.363 22.846 1.00 0.00 C +ATOM 2238 HE2 PHE A 147 7.050 -9.006 23.772 1.00 0.00 H +ATOM 2239 CZ PHE A 147 9.080 -9.236 22.655 1.00 0.00 C +ATOM 2240 HZ PHE A 147 9.753 -9.011 23.598 1.00 0.00 H +ATOM 2241 N LEU A 148 6.584 -10.938 16.197 1.00 0.00 N +ATOM 2242 H LEU A 148 7.550 -11.409 16.685 1.00 0.00 H +ATOM 2243 CA LEU A 148 5.969 -11.749 15.133 1.00 0.00 C +ATOM 2244 HA LEU A 148 4.796 -11.603 15.065 1.00 0.00 H +ATOM 2245 C LEU A 148 6.328 -13.193 15.427 1.00 0.00 C +ATOM 2246 O LEU A 148 7.506 -13.575 15.632 1.00 0.00 O +ATOM 2247 CB LEU A 148 6.517 -11.388 13.763 1.00 0.00 C +ATOM 2248 HB2 LEU A 148 6.363 -12.386 13.130 1.00 0.00 H +ATOM 2249 HB3 LEU A 148 7.669 -11.226 13.995 1.00 0.00 H +ATOM 2250 CG LEU A 148 5.930 -10.170 13.015 1.00 0.00 C +ATOM 2251 HG LEU A 148 4.769 -10.326 12.852 1.00 0.00 H +ATOM 2252 CD1 LEU A 148 6.222 -8.911 13.858 1.00 0.00 C +ATOM 2253 HD11 LEU A 148 7.278 -8.460 13.539 1.00 0.00 H +ATOM 2254 HD12 LEU A 148 5.384 -8.098 13.625 1.00 0.00 H +ATOM 2255 HD13 LEU A 148 6.266 -8.961 15.043 1.00 0.00 H +ATOM 2256 CD2 LEU A 148 6.597 -10.025 11.656 1.00 0.00 C +ATOM 2257 HD21 LEU A 148 5.880 -9.550 10.831 1.00 0.00 H +ATOM 2258 HD22 LEU A 148 7.116 -10.976 11.154 1.00 0.00 H +ATOM 2259 HD23 LEU A 148 7.500 -9.253 11.544 1.00 0.00 H +ATOM 2260 N LYS A 149 5.257 -14.027 15.348 1.00 0.00 N +ATOM 2261 H LYS A 149 4.329 -13.644 15.961 1.00 0.00 H +ATOM 2262 CA LYS A 149 5.431 -15.503 15.345 1.00 0.00 C +ATOM 2263 HA LYS A 149 6.574 -15.826 15.310 1.00 0.00 H +ATOM 2264 C LYS A 149 4.867 -16.005 14.018 1.00 0.00 C +ATOM 2265 O LYS A 149 4.088 -15.313 13.354 1.00 0.00 O +ATOM 2266 CB LYS A 149 4.680 -16.195 16.505 1.00 0.00 C +ATOM 2267 HB2 LYS A 149 4.827 -17.374 16.364 1.00 0.00 H +ATOM 2268 HB3 LYS A 149 5.332 -16.059 17.482 1.00 0.00 H +ATOM 2269 CG LYS A 149 3.204 -16.013 16.509 1.00 0.00 C +ATOM 2270 HG2 LYS A 149 2.774 -16.619 15.581 1.00 0.00 H +ATOM 2271 HG3 LYS A 149 2.715 -14.961 16.758 1.00 0.00 H +ATOM 2272 CD LYS A 149 2.615 -16.791 17.677 1.00 0.00 C +ATOM 2273 HD2 LYS A 149 2.913 -17.952 17.660 1.00 0.00 H +ATOM 2274 HD3 LYS A 149 2.887 -16.525 18.807 1.00 0.00 H +ATOM 2275 CE LYS A 149 1.106 -16.819 17.492 1.00 0.00 C +ATOM 2276 HE2 LYS A 149 0.792 -17.491 16.555 1.00 0.00 H +ATOM 2277 HE3 LYS A 149 0.507 -15.803 17.655 1.00 0.00 H +ATOM 2278 NZ LYS A 149 0.336 -17.662 18.521 1.00 0.00 N +ATOM 2279 HZ1 LYS A 149 -0.834 -17.677 18.262 1.00 0.00 H +ATOM 2280 HZ2 LYS A 149 0.644 -18.819 18.568 1.00 0.00 H +ATOM 2281 HZ3 LYS A 149 0.357 -17.297 19.659 1.00 0.00 H +ATOM 2282 N VAL A 150 5.304 -17.202 13.655 1.00 0.00 N +ATOM 2283 H VAL A 150 5.738 -18.051 14.366 1.00 0.00 H +ATOM 2284 CA VAL A 150 4.932 -17.756 12.342 1.00 0.00 C +ATOM 2285 HA VAL A 150 4.640 -16.911 11.569 1.00 0.00 H +ATOM 2286 C VAL A 150 3.735 -18.752 12.497 1.00 0.00 C +ATOM 2287 O VAL A 150 3.767 -19.687 13.332 1.00 0.00 O +ATOM 2288 CB VAL A 150 6.110 -18.448 11.739 1.00 0.00 C +ATOM 2289 HB VAL A 150 6.478 -19.348 12.432 1.00 0.00 H +ATOM 2290 CG1 VAL A 150 5.748 -19.201 10.410 1.00 0.00 C +ATOM 2291 HG11 VAL A 150 6.647 -19.938 10.123 1.00 0.00 H +ATOM 2292 HG12 VAL A 150 5.344 -18.445 9.592 1.00 0.00 H +ATOM 2293 HG13 VAL A 150 4.907 -20.042 10.557 1.00 0.00 H +ATOM 2294 CG2 VAL A 150 7.219 -17.397 11.419 1.00 0.00 C +ATOM 2295 HG21 VAL A 150 6.850 -16.933 10.390 1.00 0.00 H +ATOM 2296 HG22 VAL A 150 7.300 -16.450 12.136 1.00 0.00 H +ATOM 2297 HG23 VAL A 150 8.235 -18.005 11.505 1.00 0.00 H +ATOM 2298 N GLY A 151 2.691 -18.485 11.763 1.00 0.00 N +ATOM 2299 H GLY A 151 2.222 -17.430 12.030 1.00 0.00 H +ATOM 2300 CA GLY A 151 1.495 -19.311 11.859 1.00 0.00 C +ATOM 2301 HA2 GLY A 151 1.672 -20.458 11.566 1.00 0.00 H +ATOM 2302 HA3 GLY A 151 1.045 -19.416 12.961 1.00 0.00 H +ATOM 2303 C GLY A 151 0.662 -18.924 10.675 1.00 0.00 C +ATOM 2304 O GLY A 151 1.155 -19.014 9.499 1.00 0.00 O +ATOM 2305 N SER A 152 -0.538 -18.384 10.936 1.00 0.00 N +ATOM 2306 H SER A 152 -0.975 -18.698 11.994 1.00 0.00 H +ATOM 2307 CA SER A 152 -1.446 -17.860 9.927 1.00 0.00 C +ATOM 2308 HA SER A 152 -1.660 -18.766 9.181 1.00 0.00 H +ATOM 2309 C SER A 152 -0.871 -16.586 9.338 1.00 0.00 C +ATOM 2310 O SER A 152 -0.188 -15.815 10.066 1.00 0.00 O +ATOM 2311 CB SER A 152 -2.826 -17.581 10.540 1.00 0.00 C +ATOM 2312 HB2 SER A 152 -3.994 -17.286 10.652 1.00 0.00 H +ATOM 2313 HB3 SER A 152 -2.810 -16.418 10.240 1.00 0.00 H +ATOM 2314 OG SER A 152 -3.316 -18.797 11.053 1.00 0.00 O +ATOM 2315 HG SER A 152 -3.491 -18.661 12.218 1.00 0.00 H +ATOM 2316 N ALA A 153 -1.154 -16.324 8.067 1.00 0.00 N +ATOM 2317 H ALA A 153 -1.966 -16.978 7.493 1.00 0.00 H +ATOM 2318 CA ALA A 153 -0.707 -15.065 7.423 1.00 0.00 C +ATOM 2319 HA ALA A 153 0.447 -15.329 7.384 1.00 0.00 H +ATOM 2320 C ALA A 153 -1.316 -13.829 8.070 1.00 0.00 C +ATOM 2321 O ALA A 153 -2.465 -13.848 8.571 1.00 0.00 O +ATOM 2322 CB ALA A 153 -1.021 -15.064 5.917 1.00 0.00 C +ATOM 2323 HB1 ALA A 153 -2.214 -14.984 5.831 1.00 0.00 H +ATOM 2324 HB2 ALA A 153 -0.655 -14.244 5.133 1.00 0.00 H +ATOM 2325 HB3 ALA A 153 -0.828 -16.086 5.322 1.00 0.00 H +ATOM 2326 N LYS A 154 -0.589 -12.699 8.052 1.00 0.00 N +ATOM 2327 H LYS A 154 0.464 -12.844 7.572 1.00 0.00 H +ATOM 2328 CA LYS A 154 -1.180 -11.453 8.496 1.00 0.00 C +ATOM 2329 HA LYS A 154 -2.067 -11.710 9.248 1.00 0.00 H +ATOM 2330 C LYS A 154 -1.637 -10.667 7.264 1.00 0.00 C +ATOM 2331 O LYS A 154 -0.829 -10.192 6.453 1.00 0.00 O +ATOM 2332 CB LYS A 154 -0.106 -10.687 9.280 1.00 0.00 C +ATOM 2333 HB2 LYS A 154 0.784 -10.440 8.631 1.00 0.00 H +ATOM 2334 HB3 LYS A 154 0.306 -11.617 9.978 1.00 0.00 H +ATOM 2335 CG LYS A 154 -0.509 -9.407 9.971 1.00 0.00 C +ATOM 2336 HG2 LYS A 154 0.539 -9.003 10.446 1.00 0.00 H +ATOM 2337 HG3 LYS A 154 -1.520 -9.022 9.448 1.00 0.00 H +ATOM 2338 CD LYS A 154 -1.410 -9.740 11.186 1.00 0.00 C +ATOM 2339 HD2 LYS A 154 -2.500 -10.081 10.883 1.00 0.00 H +ATOM 2340 HD3 LYS A 154 -1.018 -10.549 11.933 1.00 0.00 H +ATOM 2341 CE LYS A 154 -1.541 -8.552 12.065 1.00 0.00 C +ATOM 2342 HE2 LYS A 154 -2.272 -7.827 11.464 1.00 0.00 H +ATOM 2343 HE3 LYS A 154 -0.595 -7.952 12.439 1.00 0.00 H +ATOM 2344 NZ LYS A 154 -2.534 -8.933 13.157 1.00 0.00 N +ATOM 2345 HZ1 LYS A 154 -3.588 -9.380 12.780 1.00 0.00 H +ATOM 2346 HZ2 LYS A 154 -2.357 -9.738 14.022 1.00 0.00 H +ATOM 2347 HZ3 LYS A 154 -3.093 -7.947 13.536 1.00 0.00 H +ATOM 2348 N PRO A 155 -2.957 -10.507 7.060 1.00 0.00 N +ATOM 2349 CA PRO A 155 -3.390 -9.886 5.767 1.00 0.00 C +ATOM 2350 HA PRO A 155 -3.199 -10.527 4.781 1.00 0.00 H +ATOM 2351 C PRO A 155 -2.809 -8.498 5.528 1.00 0.00 C +ATOM 2352 O PRO A 155 -2.348 -8.137 4.400 1.00 0.00 O +ATOM 2353 CB PRO A 155 -4.923 -9.830 5.896 1.00 0.00 C +ATOM 2354 HB2 PRO A 155 -5.595 -9.996 4.918 1.00 0.00 H +ATOM 2355 HB3 PRO A 155 -5.399 -8.786 6.231 1.00 0.00 H +ATOM 2356 CG PRO A 155 -5.188 -11.005 6.779 1.00 0.00 C +ATOM 2357 HG2 PRO A 155 -5.222 -12.050 6.199 1.00 0.00 H +ATOM 2358 HG3 PRO A 155 -6.306 -10.913 7.192 1.00 0.00 H +ATOM 2359 CD PRO A 155 -4.120 -11.017 7.843 1.00 0.00 C +ATOM 2360 HD2 PRO A 155 -4.466 -10.272 8.709 1.00 0.00 H +ATOM 2361 HD3 PRO A 155 -4.317 -12.102 8.306 1.00 0.00 H +ATOM 2362 N GLY A 156 -2.684 -7.738 6.614 1.00 0.00 N +ATOM 2363 H GLY A 156 -3.405 -7.769 7.558 1.00 0.00 H +ATOM 2364 CA GLY A 156 -2.242 -6.363 6.516 1.00 0.00 C +ATOM 2365 HA2 GLY A 156 -2.492 -5.690 7.465 1.00 0.00 H +ATOM 2366 HA3 GLY A 156 -2.848 -5.841 5.628 1.00 0.00 H +ATOM 2367 C GLY A 156 -0.740 -6.196 6.271 1.00 0.00 C +ATOM 2368 O GLY A 156 -0.325 -5.101 5.914 1.00 0.00 O +ATOM 2369 N LEU A 157 0.025 -7.261 6.381 1.00 0.00 N +ATOM 2370 H LEU A 157 -0.374 -7.847 7.329 1.00 0.00 H +ATOM 2371 CA LEU A 157 1.423 -7.268 6.042 1.00 0.00 C +ATOM 2372 HA LEU A 157 1.793 -6.140 6.064 1.00 0.00 H +ATOM 2373 C LEU A 157 1.673 -7.520 4.562 1.00 0.00 C +ATOM 2374 O LEU A 157 2.743 -7.229 4.072 1.00 0.00 O +ATOM 2375 CB LEU A 157 2.154 -8.345 6.873 1.00 0.00 C +ATOM 2376 HB2 LEU A 157 2.069 -8.035 8.019 1.00 0.00 H +ATOM 2377 HB3 LEU A 157 1.680 -9.412 6.679 1.00 0.00 H +ATOM 2378 CG LEU A 157 3.657 -8.401 6.695 1.00 0.00 C +ATOM 2379 HG LEU A 157 3.917 -8.682 5.576 1.00 0.00 H +ATOM 2380 CD1 LEU A 157 4.437 -7.128 7.100 1.00 0.00 C +ATOM 2381 HD11 LEU A 157 5.537 -7.195 6.647 1.00 0.00 H +ATOM 2382 HD12 LEU A 157 4.050 -6.026 6.869 1.00 0.00 H +ATOM 2383 HD13 LEU A 157 4.507 -7.189 8.287 1.00 0.00 H +ATOM 2384 CD2 LEU A 157 4.162 -9.657 7.490 1.00 0.00 C +ATOM 2385 HD21 LEU A 157 3.542 -10.643 7.250 1.00 0.00 H +ATOM 2386 HD22 LEU A 157 4.214 -9.329 8.633 1.00 0.00 H +ATOM 2387 HD23 LEU A 157 5.297 -9.944 7.246 1.00 0.00 H +ATOM 2388 N GLN A 158 0.717 -8.088 3.832 1.00 0.00 N +ATOM 2389 H GLN A 158 -0.450 -7.954 3.935 1.00 0.00 H +ATOM 2390 CA GLN A 158 1.028 -8.552 2.453 1.00 0.00 C +ATOM 2391 HA GLN A 158 1.526 -9.529 2.897 1.00 0.00 H +ATOM 2392 C GLN A 158 1.472 -7.429 1.525 1.00 0.00 C +ATOM 2393 O GLN A 158 2.345 -7.672 0.708 1.00 0.00 O +ATOM 2394 CB GLN A 158 -0.107 -9.401 1.848 1.00 0.00 C +ATOM 2395 HB2 GLN A 158 -0.973 -8.722 1.375 1.00 0.00 H +ATOM 2396 HB3 GLN A 158 -0.784 -10.160 2.478 1.00 0.00 H +ATOM 2397 CG GLN A 158 0.319 -10.292 0.610 1.00 0.00 C +ATOM 2398 HG2 GLN A 158 -0.498 -11.126 0.353 1.00 0.00 H +ATOM 2399 HG3 GLN A 158 0.250 -9.604 -0.361 1.00 0.00 H +ATOM 2400 CD GLN A 158 1.479 -11.273 0.904 1.00 0.00 C +ATOM 2401 OE1 GLN A 158 1.553 -11.897 1.972 1.00 0.00 O +ATOM 2402 NE2 GLN A 158 2.329 -11.485 -0.085 1.00 0.00 N +ATOM 2403 HE21 GLN A 158 2.490 -11.160 -1.206 1.00 0.00 H +ATOM 2404 HE22 GLN A 158 2.311 -12.665 -0.268 1.00 0.00 H +ATOM 2405 N LYS A 159 0.912 -6.233 1.662 1.00 0.00 N +ATOM 2406 H LYS A 159 -0.115 -6.100 2.242 1.00 0.00 H +ATOM 2407 CA LYS A 159 1.327 -5.126 0.786 1.00 0.00 C +ATOM 2408 HA LYS A 159 1.234 -5.445 -0.360 1.00 0.00 H +ATOM 2409 C LYS A 159 2.863 -4.824 0.973 1.00 0.00 C +ATOM 2410 O LYS A 159 3.555 -4.487 0.045 1.00 0.00 O +ATOM 2411 CB LYS A 159 0.484 -3.874 0.903 1.00 0.00 C +ATOM 2412 HB2 LYS A 159 0.989 -3.009 0.255 1.00 0.00 H +ATOM 2413 HB3 LYS A 159 0.148 -3.563 1.999 1.00 0.00 H +ATOM 2414 CG LYS A 159 -0.901 -4.052 0.187 1.00 0.00 C +ATOM 2415 HG2 LYS A 159 -0.745 -4.194 -0.982 1.00 0.00 H +ATOM 2416 HG3 LYS A 159 -1.479 -5.006 0.573 1.00 0.00 H +ATOM 2417 CD LYS A 159 -1.715 -2.744 0.150 1.00 0.00 C +ATOM 2418 HD2 LYS A 159 -1.853 -2.199 1.201 1.00 0.00 H +ATOM 2419 HD3 LYS A 159 -1.295 -1.953 -0.640 1.00 0.00 H +ATOM 2420 CE LYS A 159 -3.205 -3.051 -0.264 1.00 0.00 C +ATOM 2421 HE2 LYS A 159 -3.380 -3.645 -1.286 1.00 0.00 H +ATOM 2422 HE3 LYS A 159 -3.711 -3.715 0.593 1.00 0.00 H +ATOM 2423 NZ LYS A 159 -4.063 -1.804 -0.346 1.00 0.00 N +ATOM 2424 HZ1 LYS A 159 -3.839 -1.217 -1.366 1.00 0.00 H +ATOM 2425 HZ2 LYS A 159 -5.213 -2.129 -0.413 1.00 0.00 H +ATOM 2426 HZ3 LYS A 159 -4.013 -0.980 0.519 1.00 0.00 H +ATOM 2427 N VAL A 160 3.301 -4.950 2.219 1.00 0.00 N +ATOM 2428 H VAL A 160 2.457 -4.747 3.025 1.00 0.00 H +ATOM 2429 CA VAL A 160 4.732 -4.760 2.507 1.00 0.00 C +ATOM 2430 HA VAL A 160 5.062 -3.722 2.032 1.00 0.00 H +ATOM 2431 C VAL A 160 5.535 -5.888 1.840 1.00 0.00 C +ATOM 2432 O VAL A 160 6.478 -5.643 1.078 1.00 0.00 O +ATOM 2433 CB VAL A 160 4.991 -4.746 4.006 1.00 0.00 C +ATOM 2434 HB VAL A 160 4.597 -5.659 4.649 1.00 0.00 H +ATOM 2435 CG1 VAL A 160 6.510 -4.747 4.327 1.00 0.00 C +ATOM 2436 HG11 VAL A 160 6.967 -5.848 4.330 1.00 0.00 H +ATOM 2437 HG12 VAL A 160 7.078 -4.098 3.506 1.00 0.00 H +ATOM 2438 HG13 VAL A 160 6.692 -4.258 5.392 1.00 0.00 H +ATOM 2439 CG2 VAL A 160 4.257 -3.545 4.670 1.00 0.00 C +ATOM 2440 HG21 VAL A 160 4.033 -2.640 3.933 1.00 0.00 H +ATOM 2441 HG22 VAL A 160 4.884 -3.178 5.611 1.00 0.00 H +ATOM 2442 HG23 VAL A 160 3.210 -3.872 5.139 1.00 0.00 H +ATOM 2443 N VAL A 161 5.130 -7.140 2.040 1.00 0.00 N +ATOM 2444 H VAL A 161 4.869 -7.292 3.181 1.00 0.00 H +ATOM 2445 CA VAL A 161 5.907 -8.258 1.484 1.00 0.00 C +ATOM 2446 HA VAL A 161 7.020 -8.501 1.801 1.00 0.00 H +ATOM 2447 C VAL A 161 5.967 -8.161 -0.053 1.00 0.00 C +ATOM 2448 O VAL A 161 6.991 -8.454 -0.648 1.00 0.00 O +ATOM 2449 CB VAL A 161 5.278 -9.627 1.926 1.00 0.00 C +ATOM 2450 HB VAL A 161 5.827 -10.449 1.257 1.00 0.00 H +ATOM 2451 CG1 VAL A 161 5.408 -9.878 3.428 1.00 0.00 C +ATOM 2452 HG11 VAL A 161 6.292 -10.683 3.421 1.00 0.00 H +ATOM 2453 HG12 VAL A 161 5.864 -9.028 4.124 1.00 0.00 H +ATOM 2454 HG13 VAL A 161 4.496 -10.379 4.003 1.00 0.00 H +ATOM 2455 CG2 VAL A 161 3.947 -9.530 1.734 1.00 0.00 C +ATOM 2456 HG21 VAL A 161 3.618 -10.666 1.913 1.00 0.00 H +ATOM 2457 HG22 VAL A 161 3.432 -8.779 2.484 1.00 0.00 H +ATOM 2458 HG23 VAL A 161 3.719 -9.467 0.564 1.00 0.00 H +ATOM 2459 N ASP A 162 4.859 -7.755 -0.666 1.00 0.00 N +ATOM 2460 H ASP A 162 4.036 -6.986 -0.313 1.00 0.00 H +ATOM 2461 CA ASP A 162 4.888 -7.729 -2.109 1.00 0.00 C +ATOM 2462 HA ASP A 162 5.468 -8.644 -2.612 1.00 0.00 H +ATOM 2463 C ASP A 162 5.664 -6.630 -2.787 1.00 0.00 C +ATOM 2464 O ASP A 162 5.956 -6.731 -3.975 1.00 0.00 O +ATOM 2465 CB ASP A 162 3.511 -7.766 -2.585 1.00 0.00 C +ATOM 2466 HB2 ASP A 162 3.458 -7.788 -3.784 1.00 0.00 H +ATOM 2467 HB3 ASP A 162 2.777 -6.837 -2.440 1.00 0.00 H +ATOM 2468 CG ASP A 162 2.944 -9.204 -2.508 1.00 0.00 C +ATOM 2469 OD1 ASP A 162 3.656 -10.277 -2.580 1.00 0.00 O +ATOM 2470 OD2 ASP A 162 1.813 -9.233 -2.258 1.00 0.00 O +ATOM 2471 N VAL A 163 6.154 -5.648 -2.055 1.00 0.00 N +ATOM 2472 H VAL A 163 5.322 -5.198 -1.347 1.00 0.00 H +ATOM 2473 CA VAL A 163 6.996 -4.626 -2.625 1.00 0.00 C +ATOM 2474 HA VAL A 163 6.897 -4.645 -3.815 1.00 0.00 H +ATOM 2475 C VAL A 163 8.487 -4.959 -2.394 1.00 0.00 C +ATOM 2476 O VAL A 163 9.338 -4.308 -3.004 1.00 0.00 O +ATOM 2477 CB VAL A 163 6.613 -3.212 -2.081 1.00 0.00 C +ATOM 2478 HB VAL A 163 5.430 -3.101 -2.208 1.00 0.00 H +ATOM 2479 CG1 VAL A 163 7.121 -2.963 -0.698 1.00 0.00 C +ATOM 2480 HG11 VAL A 163 8.307 -3.009 -0.787 1.00 0.00 H +ATOM 2481 HG12 VAL A 163 6.577 -1.940 -0.420 1.00 0.00 H +ATOM 2482 HG13 VAL A 163 6.770 -3.704 0.162 1.00 0.00 H +ATOM 2483 CG2 VAL A 163 7.011 -2.157 -3.015 1.00 0.00 C +ATOM 2484 HG21 VAL A 163 6.529 -1.077 -2.847 1.00 0.00 H +ATOM 2485 HG22 VAL A 163 8.173 -1.992 -3.205 1.00 0.00 H +ATOM 2486 HG23 VAL A 163 6.504 -2.355 -4.092 1.00 0.00 H +ATOM 2487 N LEU A 164 8.835 -5.983 -1.591 1.00 0.00 N +ATOM 2488 H LEU A 164 8.049 -6.854 -1.505 1.00 0.00 H +ATOM 2489 CA LEU A 164 10.217 -6.148 -1.213 1.00 0.00 C +ATOM 2490 HA LEU A 164 10.566 -5.043 -0.974 1.00 0.00 H +ATOM 2491 C LEU A 164 11.071 -6.510 -2.423 1.00 0.00 C +ATOM 2492 O LEU A 164 12.274 -6.180 -2.439 1.00 0.00 O +ATOM 2493 CB LEU A 164 10.331 -7.255 -0.143 1.00 0.00 C +ATOM 2494 HB2 LEU A 164 9.812 -8.232 -0.593 1.00 0.00 H +ATOM 2495 HB3 LEU A 164 11.417 -7.737 -0.097 1.00 0.00 H +ATOM 2496 CG LEU A 164 9.586 -6.868 1.194 1.00 0.00 C +ATOM 2497 HG LEU A 164 8.433 -6.699 0.990 1.00 0.00 H +ATOM 2498 CD1 LEU A 164 9.807 -7.932 2.208 1.00 0.00 C +ATOM 2499 HD11 LEU A 164 10.300 -8.879 1.674 1.00 0.00 H +ATOM 2500 HD12 LEU A 164 10.454 -7.646 3.168 1.00 0.00 H +ATOM 2501 HD13 LEU A 164 8.780 -8.212 2.740 1.00 0.00 H +ATOM 2502 CD2 LEU A 164 10.130 -5.541 1.729 1.00 0.00 C +ATOM 2503 HD21 LEU A 164 9.196 -4.802 1.760 1.00 0.00 H +ATOM 2504 HD22 LEU A 164 11.063 -5.072 1.158 1.00 0.00 H +ATOM 2505 HD23 LEU A 164 10.519 -5.504 2.854 1.00 0.00 H +ATOM 2506 N ASP A 165 10.498 -7.217 -3.393 1.00 0.00 N +ATOM 2507 H ASP A 165 9.588 -7.968 -3.259 1.00 0.00 H +ATOM 2508 CA ASP A 165 11.292 -7.620 -4.602 1.00 0.00 C +ATOM 2509 HA ASP A 165 12.265 -8.257 -4.346 1.00 0.00 H +ATOM 2510 C ASP A 165 11.817 -6.357 -5.350 1.00 0.00 C +ATOM 2511 O ASP A 165 12.811 -6.410 -6.051 1.00 0.00 O +ATOM 2512 CB ASP A 165 10.420 -8.445 -5.585 1.00 0.00 C +ATOM 2513 HB2 ASP A 165 10.934 -8.527 -6.662 1.00 0.00 H +ATOM 2514 HB3 ASP A 165 9.312 -8.071 -5.829 1.00 0.00 H +ATOM 2515 CG ASP A 165 10.381 -9.928 -5.267 1.00 0.00 C +ATOM 2516 OD1 ASP A 165 11.385 -10.537 -4.728 1.00 0.00 O +ATOM 2517 OD2 ASP A 165 9.306 -10.528 -5.595 1.00 0.00 O +ATOM 2518 N SER A 166 11.147 -5.222 -5.185 1.00 0.00 N +ATOM 2519 H SER A 166 9.992 -5.475 -5.275 1.00 0.00 H +ATOM 2520 CA SER A 166 11.532 -3.991 -5.854 1.00 0.00 C +ATOM 2521 HA SER A 166 12.037 -4.150 -6.925 1.00 0.00 H +ATOM 2522 C SER A 166 12.555 -3.150 -5.079 1.00 0.00 C +ATOM 2523 O SER A 166 13.078 -2.122 -5.579 1.00 0.00 O +ATOM 2524 CB SER A 166 10.313 -3.158 -6.136 1.00 0.00 C +ATOM 2525 HB2 SER A 166 10.458 -2.352 -7.011 1.00 0.00 H +ATOM 2526 HB3 SER A 166 9.431 -3.754 -6.681 1.00 0.00 H +ATOM 2527 OG SER A 166 9.821 -2.474 -4.957 1.00 0.00 O +ATOM 2528 HG SER A 166 10.062 -1.335 -5.125 1.00 0.00 H +ATOM 2529 N ILE A 167 12.883 -3.548 -3.847 1.00 0.00 N +ATOM 2530 H ILE A 167 12.538 -4.617 -3.505 1.00 0.00 H +ATOM 2531 CA ILE A 167 13.898 -2.871 -3.019 1.00 0.00 C +ATOM 2532 HA ILE A 167 14.562 -2.341 -3.849 1.00 0.00 H +ATOM 2533 C ILE A 167 14.913 -3.883 -2.443 1.00 0.00 C +ATOM 2534 O ILE A 167 15.301 -3.839 -1.295 1.00 0.00 O +ATOM 2535 CB ILE A 167 13.283 -2.009 -1.900 1.00 0.00 C +ATOM 2536 HB ILE A 167 14.213 -1.490 -1.376 1.00 0.00 H +ATOM 2537 CG1 ILE A 167 12.386 -2.842 -0.928 1.00 0.00 C +ATOM 2538 HG12 ILE A 167 11.283 -2.773 -1.366 1.00 0.00 H +ATOM 2539 HG13 ILE A 167 12.802 -3.939 -0.760 1.00 0.00 H +ATOM 2540 CG2 ILE A 167 12.480 -0.810 -2.483 1.00 0.00 C +ATOM 2541 HG21 ILE A 167 11.752 -0.265 -1.730 1.00 0.00 H +ATOM 2542 HG22 ILE A 167 11.855 -1.204 -3.415 1.00 0.00 H +ATOM 2543 HG23 ILE A 167 13.292 -0.128 -3.028 1.00 0.00 H +ATOM 2544 CD1 ILE A 167 12.340 -2.113 0.428 1.00 0.00 C +ATOM 2545 HD11 ILE A 167 12.494 -0.937 0.417 1.00 0.00 H +ATOM 2546 HD12 ILE A 167 11.384 -2.609 0.933 1.00 0.00 H +ATOM 2547 HD13 ILE A 167 13.234 -2.607 1.041 1.00 0.00 H +ATOM 2548 N LYS A 168 15.363 -4.749 -3.350 1.00 0.00 N +ATOM 2549 H LYS A 168 15.331 -4.577 -4.526 1.00 0.00 H +ATOM 2550 CA LYS A 168 16.152 -5.889 -2.916 1.00 0.00 C +ATOM 2551 HA LYS A 168 15.281 -6.524 -2.418 1.00 0.00 H +ATOM 2552 C LYS A 168 17.441 -5.457 -2.212 1.00 0.00 C +ATOM 2553 O LYS A 168 17.867 -6.141 -1.279 1.00 0.00 O +ATOM 2554 CB LYS A 168 16.475 -6.844 -4.094 1.00 0.00 C +ATOM 2555 HB2 LYS A 168 15.491 -7.161 -4.689 1.00 0.00 H +ATOM 2556 HB3 LYS A 168 17.107 -6.278 -4.934 1.00 0.00 H +ATOM 2557 CG LYS A 168 17.149 -8.124 -3.654 1.00 0.00 C +ATOM 2558 HG2 LYS A 168 18.162 -8.080 -3.046 1.00 0.00 H +ATOM 2559 HG3 LYS A 168 16.314 -8.757 -3.083 1.00 0.00 H +ATOM 2560 CD LYS A 168 17.408 -9.031 -4.906 1.00 0.00 C +ATOM 2561 HD2 LYS A 168 16.383 -9.392 -5.405 1.00 0.00 H +ATOM 2562 HD3 LYS A 168 17.979 -8.515 -5.820 1.00 0.00 H +ATOM 2563 CE LYS A 168 18.207 -10.264 -4.439 1.00 0.00 C +ATOM 2564 HE2 LYS A 168 19.373 -10.027 -4.419 1.00 0.00 H +ATOM 2565 HE3 LYS A 168 17.553 -10.897 -3.671 1.00 0.00 H +ATOM 2566 NZ LYS A 168 18.263 -11.304 -5.546 1.00 0.00 N +ATOM 2567 HZ1 LYS A 168 17.234 -11.501 -6.126 1.00 0.00 H +ATOM 2568 HZ2 LYS A 168 18.574 -12.414 -5.219 1.00 0.00 H +ATOM 2569 HZ3 LYS A 168 19.029 -11.040 -6.426 1.00 0.00 H +ATOM 2570 N THR A 169 18.089 -4.395 -2.721 1.00 0.00 N +ATOM 2571 H THR A 169 17.651 -3.694 -3.567 1.00 0.00 H +ATOM 2572 CA THR A 169 19.429 -4.085 -2.300 1.00 0.00 C +ATOM 2573 HA THR A 169 19.852 -4.784 -1.442 1.00 0.00 H +ATOM 2574 C THR A 169 19.495 -2.666 -1.672 1.00 0.00 C +ATOM 2575 O THR A 169 18.632 -1.820 -1.854 1.00 0.00 O +ATOM 2576 CB THR A 169 20.391 -4.173 -3.498 1.00 0.00 C +ATOM 2577 HB THR A 169 21.492 -3.786 -3.310 1.00 0.00 H +ATOM 2578 OG1 THR A 169 19.871 -3.421 -4.620 1.00 0.00 O +ATOM 2579 HG1 THR A 169 20.429 -2.380 -4.623 1.00 0.00 H +ATOM 2580 CG2 THR A 169 20.536 -5.641 -3.952 1.00 0.00 C +ATOM 2581 HG21 THR A 169 21.652 -6.024 -4.117 1.00 0.00 H +ATOM 2582 HG22 THR A 169 19.869 -6.567 -3.622 1.00 0.00 H +ATOM 2583 HG23 THR A 169 20.136 -5.606 -5.084 1.00 0.00 H +ATOM 2584 N LYS A 170 20.564 -2.474 -0.921 1.00 0.00 N +ATOM 2585 H LYS A 170 21.554 -3.106 -0.896 1.00 0.00 H +ATOM 2586 CA LYS A 170 20.790 -1.279 -0.131 1.00 0.00 C +ATOM 2587 HA LYS A 170 19.996 -1.259 0.748 1.00 0.00 H +ATOM 2588 C LYS A 170 20.715 -0.069 -1.028 1.00 0.00 C +ATOM 2589 O LYS A 170 21.347 -0.032 -2.095 1.00 0.00 O +ATOM 2590 CB LYS A 170 22.205 -1.378 0.474 1.00 0.00 C +ATOM 2591 HB2 LYS A 170 22.285 -2.333 1.168 1.00 0.00 H +ATOM 2592 HB3 LYS A 170 23.061 -1.332 -0.351 1.00 0.00 H +ATOM 2593 CG LYS A 170 22.619 -0.123 1.248 1.00 0.00 C +ATOM 2594 HG2 LYS A 170 22.857 0.763 0.478 1.00 0.00 H +ATOM 2595 HG3 LYS A 170 21.893 0.373 2.047 1.00 0.00 H +ATOM 2596 CD LYS A 170 24.003 -0.267 1.915 1.00 0.00 C +ATOM 2597 HD2 LYS A 170 24.864 -0.205 1.084 1.00 0.00 H +ATOM 2598 HD3 LYS A 170 24.213 -1.273 2.519 1.00 0.00 H +ATOM 2599 CE LYS A 170 24.318 0.913 2.797 1.00 0.00 C +ATOM 2600 HE2 LYS A 170 24.345 1.955 2.210 1.00 0.00 H +ATOM 2601 HE3 LYS A 170 23.731 1.180 3.802 1.00 0.00 H +ATOM 2602 NZ LYS A 170 25.774 0.741 3.286 1.00 0.00 N +ATOM 2603 HZ1 LYS A 170 26.530 -0.101 2.894 1.00 0.00 H +ATOM 2604 HZ2 LYS A 170 26.346 1.765 3.042 1.00 0.00 H +ATOM 2605 HZ3 LYS A 170 25.825 0.619 4.475 1.00 0.00 H +ATOM 2606 N GLY A 171 19.944 0.914 -0.620 1.00 0.00 N +ATOM 2607 H GLY A 171 20.101 1.393 0.456 1.00 0.00 H +ATOM 2608 CA GLY A 171 19.817 2.207 -1.335 1.00 0.00 C +ATOM 2609 HA2 GLY A 171 19.772 3.235 -0.727 1.00 0.00 H +ATOM 2610 HA3 GLY A 171 20.744 2.408 -2.064 1.00 0.00 H +ATOM 2611 C GLY A 171 18.647 2.259 -2.271 1.00 0.00 C +ATOM 2612 O GLY A 171 18.322 3.319 -2.832 1.00 0.00 O +ATOM 2613 N LYS A 172 17.984 1.134 -2.489 1.00 0.00 N +ATOM 2614 H LYS A 172 17.945 0.334 -1.624 1.00 0.00 H +ATOM 2615 CA LYS A 172 16.766 1.133 -3.318 1.00 0.00 C +ATOM 2616 HA LYS A 172 16.979 1.939 -4.170 1.00 0.00 H +ATOM 2617 C LYS A 172 15.562 1.550 -2.481 1.00 0.00 C +ATOM 2618 O LYS A 172 15.403 1.155 -1.328 1.00 0.00 O +ATOM 2619 CB LYS A 172 16.546 -0.263 -3.972 1.00 0.00 C +ATOM 2620 HB2 LYS A 172 16.489 -1.080 -3.115 1.00 0.00 H +ATOM 2621 HB3 LYS A 172 15.531 -0.119 -4.581 1.00 0.00 H +ATOM 2622 CG LYS A 172 17.647 -0.556 -4.902 1.00 0.00 C +ATOM 2623 HG2 LYS A 172 17.510 -1.733 -5.050 1.00 0.00 H +ATOM 2624 HG3 LYS A 172 18.755 -0.237 -4.596 1.00 0.00 H +ATOM 2625 CD LYS A 172 17.535 0.098 -6.186 1.00 0.00 C +ATOM 2626 HD2 LYS A 172 18.161 1.105 -6.337 1.00 0.00 H +ATOM 2627 HD3 LYS A 172 16.454 0.400 -6.592 1.00 0.00 H +ATOM 2628 CE LYS A 172 18.123 -0.864 -7.254 1.00 0.00 C +ATOM 2629 HE2 LYS A 172 17.240 -1.620 -7.539 1.00 0.00 H +ATOM 2630 HE3 LYS A 172 19.056 -1.588 -7.107 1.00 0.00 H +ATOM 2631 NZ LYS A 172 18.396 -0.117 -8.492 1.00 0.00 N +ATOM 2632 HZ1 LYS A 172 17.879 0.950 -8.680 1.00 0.00 H +ATOM 2633 HZ2 LYS A 172 18.014 -0.710 -9.462 1.00 0.00 H +ATOM 2634 HZ3 LYS A 172 19.549 0.132 -8.690 1.00 0.00 H +ATOM 2635 N SER A 173 14.675 2.290 -3.111 1.00 0.00 N +ATOM 2636 H SER A 173 14.881 2.816 -4.158 1.00 0.00 H +ATOM 2637 CA SER A 173 13.404 2.759 -2.507 1.00 0.00 C +ATOM 2638 HA SER A 173 13.158 1.915 -1.720 1.00 0.00 H +ATOM 2639 C SER A 173 12.280 2.599 -3.515 1.00 0.00 C +ATOM 2640 O SER A 173 12.522 2.486 -4.767 1.00 0.00 O +ATOM 2641 CB SER A 173 13.488 4.181 -1.978 1.00 0.00 C +ATOM 2642 HB2 SER A 173 12.649 4.155 -1.145 1.00 0.00 H +ATOM 2643 HB3 SER A 173 14.405 4.696 -1.437 1.00 0.00 H +ATOM 2644 OG SER A 173 13.604 5.121 -3.033 1.00 0.00 O +ATOM 2645 HG SER A 173 14.752 5.255 -3.290 1.00 0.00 H +ATOM 2646 N ALA A 174 11.071 2.629 -3.019 1.00 0.00 N +ATOM 2647 H ALA A 174 10.945 3.568 -2.316 1.00 0.00 H +ATOM 2648 CA ALA A 174 9.915 2.570 -3.888 1.00 0.00 C +ATOM 2649 HA ALA A 174 10.199 3.044 -4.947 1.00 0.00 H +ATOM 2650 C ALA A 174 8.811 3.409 -3.271 1.00 0.00 C +ATOM 2651 O ALA A 174 8.660 3.502 -2.044 1.00 0.00 O +ATOM 2652 CB ALA A 174 9.456 1.174 -4.062 1.00 0.00 C +ATOM 2653 HB1 ALA A 174 9.651 1.017 -5.234 1.00 0.00 H +ATOM 2654 HB2 ALA A 174 9.849 0.360 -3.298 1.00 0.00 H +ATOM 2655 HB3 ALA A 174 8.271 1.055 -4.010 1.00 0.00 H +ATOM 2656 N ASP A 175 7.946 3.944 -4.109 1.00 0.00 N +ATOM 2657 H ASP A 175 8.291 4.183 -5.221 1.00 0.00 H +ATOM 2658 CA ASP A 175 6.780 4.616 -3.576 1.00 0.00 C +ATOM 2659 HA ASP A 175 7.203 5.584 -3.029 1.00 0.00 H +ATOM 2660 C ASP A 175 5.944 3.610 -2.748 1.00 0.00 C +ATOM 2661 O ASP A 175 5.890 2.403 -3.050 1.00 0.00 O +ATOM 2662 CB ASP A 175 6.033 5.296 -4.783 1.00 0.00 C +ATOM 2663 HB2 ASP A 175 6.304 5.178 -5.942 1.00 0.00 H +ATOM 2664 HB3 ASP A 175 4.888 4.963 -4.813 1.00 0.00 H +ATOM 2665 CG ASP A 175 6.222 6.842 -4.761 1.00 0.00 C +ATOM 2666 OD1 ASP A 175 5.209 7.517 -4.268 1.00 0.00 O +ATOM 2667 OD2 ASP A 175 7.334 7.362 -5.177 1.00 0.00 O +ATOM 2668 N PHE A 176 5.338 4.058 -1.609 1.00 0.00 N +ATOM 2669 H PHE A 176 4.884 5.113 -1.899 1.00 0.00 H +ATOM 2670 CA PHE A 176 4.585 3.195 -0.729 1.00 0.00 C +ATOM 2671 HA PHE A 176 3.929 2.426 -1.364 1.00 0.00 H +ATOM 2672 C PHE A 176 3.579 4.034 -0.008 1.00 0.00 C +ATOM 2673 O PHE A 176 3.629 4.227 1.181 1.00 0.00 O +ATOM 2674 CB PHE A 176 5.529 2.434 0.229 1.00 0.00 C +ATOM 2675 HB2 PHE A 176 6.390 2.008 -0.466 1.00 0.00 H +ATOM 2676 HB3 PHE A 176 5.871 3.194 1.074 1.00 0.00 H +ATOM 2677 CG PHE A 176 4.921 1.202 0.752 1.00 0.00 C +ATOM 2678 CD1 PHE A 176 4.736 0.107 -0.071 1.00 0.00 C +ATOM 2679 HD1 PHE A 176 4.808 0.052 -1.251 1.00 0.00 H +ATOM 2680 CD2 PHE A 176 4.560 1.087 2.116 1.00 0.00 C +ATOM 2681 HD2 PHE A 176 4.336 2.159 2.555 1.00 0.00 H +ATOM 2682 CE1 PHE A 176 4.130 -1.049 0.463 1.00 0.00 C +ATOM 2683 HE1 PHE A 176 3.423 -1.482 -0.390 1.00 0.00 H +ATOM 2684 CE2 PHE A 176 4.024 -0.110 2.652 1.00 0.00 C +ATOM 2685 HE2 PHE A 176 3.844 -0.198 3.816 1.00 0.00 H +ATOM 2686 CZ PHE A 176 3.779 -1.165 1.798 1.00 0.00 C +ATOM 2687 HZ PHE A 176 2.711 -1.665 1.878 1.00 0.00 H +ATOM 2688 N THR A 177 2.632 4.527 -0.786 1.00 0.00 N +ATOM 2689 H THR A 177 2.280 3.972 -1.779 1.00 0.00 H +ATOM 2690 CA THR A 177 1.591 5.365 -0.282 1.00 0.00 C +ATOM 2691 HA THR A 177 2.040 6.068 0.557 1.00 0.00 H +ATOM 2692 C THR A 177 0.389 4.546 0.154 1.00 0.00 C +ATOM 2693 O THR A 177 0.160 3.414 -0.282 1.00 0.00 O +ATOM 2694 CB THR A 177 1.171 6.480 -1.301 1.00 0.00 C +ATOM 2695 HB THR A 177 0.159 7.105 -1.206 1.00 0.00 H +ATOM 2696 OG1 THR A 177 0.861 5.854 -2.564 1.00 0.00 O +ATOM 2697 HG1 THR A 177 1.607 6.248 -3.392 1.00 0.00 H +ATOM 2698 CG2 THR A 177 2.243 7.492 -1.472 1.00 0.00 C +ATOM 2699 HG21 THR A 177 1.878 8.190 -2.383 1.00 0.00 H +ATOM 2700 HG22 THR A 177 2.130 8.316 -0.614 1.00 0.00 H +ATOM 2701 HG23 THR A 177 3.375 7.314 -1.806 1.00 0.00 H +ATOM 2702 N ASN A 178 -0.434 5.184 0.992 1.00 0.00 N +ATOM 2703 H ASN A 178 -0.548 6.347 1.209 1.00 0.00 H +ATOM 2704 CA ASN A 178 -1.716 4.582 1.398 1.00 0.00 C +ATOM 2705 HA ASN A 178 -2.387 5.172 2.189 1.00 0.00 H +ATOM 2706 C ASN A 178 -1.619 3.279 2.172 1.00 0.00 C +ATOM 2707 O ASN A 178 -2.592 2.526 2.170 1.00 0.00 O +ATOM 2708 CB ASN A 178 -2.677 4.468 0.177 1.00 0.00 C +ATOM 2709 HB2 ASN A 178 -3.821 4.141 0.098 1.00 0.00 H +ATOM 2710 HB3 ASN A 178 -2.309 3.498 -0.409 1.00 0.00 H +ATOM 2711 CG ASN A 178 -2.918 5.817 -0.482 1.00 0.00 C +ATOM 2712 OD1 ASN A 178 -2.350 6.070 -1.571 1.00 0.00 O +ATOM 2713 ND2 ASN A 178 -3.574 6.764 0.206 1.00 0.00 N +ATOM 2714 HD21 ASN A 178 -3.238 7.903 0.281 1.00 0.00 H +ATOM 2715 HD22 ASN A 178 -4.736 6.721 0.463 1.00 0.00 H +ATOM 2716 N PHE A 179 -0.495 3.019 2.860 1.00 0.00 N +ATOM 2717 H PHE A 179 -0.090 4.065 3.198 1.00 0.00 H +ATOM 2718 CA PHE A 179 -0.419 1.782 3.677 1.00 0.00 C +ATOM 2719 HA PHE A 179 -1.098 1.004 3.084 1.00 0.00 H +ATOM 2720 C PHE A 179 -0.933 2.088 5.104 1.00 0.00 C +ATOM 2721 O PHE A 179 -0.535 3.066 5.715 1.00 0.00 O +ATOM 2722 CB PHE A 179 1.025 1.297 3.737 1.00 0.00 C +ATOM 2723 HB2 PHE A 179 1.290 1.099 2.591 1.00 0.00 H +ATOM 2724 HB3 PHE A 179 1.785 2.103 4.163 1.00 0.00 H +ATOM 2725 CG PHE A 179 1.161 0.095 4.579 1.00 0.00 C +ATOM 2726 CD1 PHE A 179 0.698 -1.143 4.111 1.00 0.00 C +ATOM 2727 HD1 PHE A 179 0.020 -1.236 3.144 1.00 0.00 H +ATOM 2728 CD2 PHE A 179 1.562 0.206 5.941 1.00 0.00 C +ATOM 2729 HD2 PHE A 179 1.891 1.237 6.414 1.00 0.00 H +ATOM 2730 CE1 PHE A 179 0.692 -2.331 4.913 1.00 0.00 C +ATOM 2731 HE1 PHE A 179 0.175 -3.292 4.460 1.00 0.00 H +ATOM 2732 CE2 PHE A 179 1.557 -0.991 6.694 1.00 0.00 C +ATOM 2733 HE2 PHE A 179 1.882 -0.990 7.827 1.00 0.00 H +ATOM 2734 CZ PHE A 179 1.137 -2.248 6.218 1.00 0.00 C +ATOM 2735 HZ PHE A 179 0.636 -3.074 6.897 1.00 0.00 H +ATOM 2736 N ASP A 180 -1.783 1.220 5.604 1.00 0.00 N +ATOM 2737 H ASP A 180 -2.140 0.218 5.076 1.00 0.00 H +ATOM 2738 CA ASP A 180 -2.446 1.470 6.884 1.00 0.00 C +ATOM 2739 HA ASP A 180 -2.681 2.638 6.874 1.00 0.00 H +ATOM 2740 C ASP A 180 -1.720 0.600 7.958 1.00 0.00 C +ATOM 2741 O ASP A 180 -1.909 -0.609 8.032 1.00 0.00 O +ATOM 2742 CB ASP A 180 -3.888 0.992 6.807 1.00 0.00 C +ATOM 2743 HB2 ASP A 180 -4.173 -0.149 6.599 1.00 0.00 H +ATOM 2744 HB3 ASP A 180 -4.513 1.585 5.975 1.00 0.00 H +ATOM 2745 CG ASP A 180 -4.689 1.303 8.092 1.00 0.00 C +ATOM 2746 OD1 ASP A 180 -4.082 1.741 9.103 1.00 0.00 O +ATOM 2747 OD2 ASP A 180 -5.933 1.149 8.066 1.00 0.00 O +ATOM 2748 N PRO A 181 -0.931 1.234 8.846 1.00 0.00 N +ATOM 2749 CA PRO A 181 -0.173 0.428 9.846 1.00 0.00 C +ATOM 2750 HA PRO A 181 0.274 -0.529 9.310 1.00 0.00 H +ATOM 2751 C PRO A 181 -1.110 -0.203 10.909 1.00 0.00 C +ATOM 2752 O PRO A 181 -0.649 -1.066 11.684 1.00 0.00 O +ATOM 2753 CB PRO A 181 0.789 1.483 10.432 1.00 0.00 C +ATOM 2754 HB2 PRO A 181 1.124 0.776 11.333 1.00 0.00 H +ATOM 2755 HB3 PRO A 181 1.922 1.841 10.341 1.00 0.00 H +ATOM 2756 CG PRO A 181 0.133 2.775 10.230 1.00 0.00 C +ATOM 2757 HG2 PRO A 181 -0.513 2.895 11.222 1.00 0.00 H +ATOM 2758 HG3 PRO A 181 0.717 3.811 10.162 1.00 0.00 H +ATOM 2759 CD PRO A 181 -0.615 2.651 8.932 1.00 0.00 C +ATOM 2760 HD2 PRO A 181 0.046 2.921 7.983 1.00 0.00 H +ATOM 2761 HD3 PRO A 181 -1.576 3.358 8.937 1.00 0.00 H +ATOM 2762 N ARG A 182 -2.399 0.250 10.985 1.00 0.00 N +ATOM 2763 H ARG A 182 -2.576 1.372 10.669 1.00 0.00 H +ATOM 2764 CA ARG A 182 -3.315 -0.420 11.936 1.00 0.00 C +ATOM 2765 HA ARG A 182 -2.849 -0.280 13.016 1.00 0.00 H +ATOM 2766 C ARG A 182 -3.431 -1.921 11.624 1.00 0.00 C +ATOM 2767 O ARG A 182 -3.755 -2.750 12.514 1.00 0.00 O +ATOM 2768 CB ARG A 182 -4.701 0.256 11.956 1.00 0.00 C +ATOM 2769 HB2 ARG A 182 -5.386 -0.350 12.731 1.00 0.00 H +ATOM 2770 HB3 ARG A 182 -5.292 0.003 10.950 1.00 0.00 H +ATOM 2771 CG ARG A 182 -4.627 1.686 12.438 1.00 0.00 C +ATOM 2772 HG2 ARG A 182 -3.902 2.449 11.895 1.00 0.00 H +ATOM 2773 HG3 ARG A 182 -4.526 1.606 13.626 1.00 0.00 H +ATOM 2774 CD ARG A 182 -5.966 2.375 12.306 1.00 0.00 C +ATOM 2775 HD2 ARG A 182 -6.863 1.670 12.675 1.00 0.00 H +ATOM 2776 HD3 ARG A 182 -6.070 3.285 13.072 1.00 0.00 H +ATOM 2777 NE ARG A 182 -6.304 2.531 10.904 1.00 0.00 N +ATOM 2778 HE ARG A 182 -5.470 3.069 10.253 1.00 0.00 H +ATOM 2779 CZ ARG A 182 -7.391 3.196 10.485 1.00 0.00 C +ATOM 2780 NH1 ARG A 182 -8.180 3.810 11.352 1.00 0.00 N +ATOM 2781 HH11 ARG A 182 -9.280 3.351 11.385 1.00 0.00 H +ATOM 2782 HH12 ARG A 182 -8.164 4.455 12.348 1.00 0.00 H +ATOM 2783 NH2 ARG A 182 -7.627 3.321 9.197 1.00 0.00 N +ATOM 2784 HH21 ARG A 182 -8.713 3.004 8.826 1.00 0.00 H +ATOM 2785 HH22 ARG A 182 -7.107 3.855 8.270 1.00 0.00 H +ATOM 2786 N GLY A 183 -3.187 -2.309 10.349 1.00 0.00 N +ATOM 2787 H GLY A 183 -3.714 -1.768 9.434 1.00 0.00 H +ATOM 2788 CA GLY A 183 -3.256 -3.723 10.019 1.00 0.00 C +ATOM 2789 HA2 GLY A 183 -4.247 -4.182 10.508 1.00 0.00 H +ATOM 2790 HA3 GLY A 183 -3.427 -3.897 8.852 1.00 0.00 H +ATOM 2791 C GLY A 183 -2.101 -4.575 10.515 1.00 0.00 C +ATOM 2792 O GLY A 183 -2.099 -5.735 10.268 1.00 0.00 O +ATOM 2793 N LEU A 184 -1.116 -3.967 11.214 1.00 0.00 N +ATOM 2794 H LEU A 184 -0.966 -2.878 10.788 1.00 0.00 H +ATOM 2795 CA LEU A 184 0.008 -4.726 11.782 1.00 0.00 C +ATOM 2796 HA LEU A 184 -0.005 -5.864 11.452 1.00 0.00 H +ATOM 2797 C LEU A 184 -0.147 -4.919 13.302 1.00 0.00 C +ATOM 2798 O LEU A 184 0.730 -5.504 13.951 1.00 0.00 O +ATOM 2799 CB LEU A 184 1.294 -3.996 11.490 1.00 0.00 C +ATOM 2800 HB2 LEU A 184 1.984 -4.365 12.374 1.00 0.00 H +ATOM 2801 HB3 LEU A 184 1.190 -2.846 11.732 1.00 0.00 H +ATOM 2802 CG LEU A 184 1.613 -3.910 9.972 1.00 0.00 C +ATOM 2803 HG LEU A 184 0.773 -3.335 9.356 1.00 0.00 H +ATOM 2804 CD1 LEU A 184 2.870 -3.127 9.770 1.00 0.00 C +ATOM 2805 HD11 LEU A 184 3.182 -3.149 8.618 1.00 0.00 H +ATOM 2806 HD12 LEU A 184 3.766 -3.662 10.344 1.00 0.00 H +ATOM 2807 HD13 LEU A 184 2.875 -1.978 10.091 1.00 0.00 H +ATOM 2808 CD2 LEU A 184 1.700 -5.245 9.312 1.00 0.00 C +ATOM 2809 HD21 LEU A 184 2.450 -5.959 9.902 1.00 0.00 H +ATOM 2810 HD22 LEU A 184 2.065 -5.062 8.194 1.00 0.00 H +ATOM 2811 HD23 LEU A 184 0.638 -5.779 9.216 1.00 0.00 H +ATOM 2812 N LEU A 185 -1.201 -4.335 13.883 1.00 0.00 N +ATOM 2813 H LEU A 185 -2.267 -4.424 13.375 1.00 0.00 H +ATOM 2814 CA LEU A 185 -1.380 -4.384 15.356 1.00 0.00 C +ATOM 2815 HA LEU A 185 -0.243 -4.267 15.661 1.00 0.00 H +ATOM 2816 C LEU A 185 -1.999 -5.762 15.728 1.00 0.00 C +ATOM 2817 O LEU A 185 -2.684 -6.410 14.916 1.00 0.00 O +ATOM 2818 CB LEU A 185 -2.294 -3.249 15.837 1.00 0.00 C +ATOM 2819 HB2 LEU A 185 -2.566 -3.257 16.998 1.00 0.00 H +ATOM 2820 HB3 LEU A 185 -3.376 -3.436 15.362 1.00 0.00 H +ATOM 2821 CG LEU A 185 -1.769 -1.842 15.473 1.00 0.00 C +ATOM 2822 HG LEU A 185 -1.570 -1.731 14.309 1.00 0.00 H +ATOM 2823 CD1 LEU A 185 -2.688 -0.739 15.900 1.00 0.00 C +ATOM 2824 HD11 LEU A 185 -3.669 -0.654 15.222 1.00 0.00 H +ATOM 2825 HD12 LEU A 185 -3.254 -0.979 16.929 1.00 0.00 H +ATOM 2826 HD13 LEU A 185 -2.257 0.352 16.093 1.00 0.00 H +ATOM 2827 CD2 LEU A 185 -0.317 -1.596 16.125 1.00 0.00 C +ATOM 2828 HD21 LEU A 185 -0.104 -2.345 17.021 1.00 0.00 H +ATOM 2829 HD22 LEU A 185 0.439 -1.403 15.224 1.00 0.00 H +ATOM 2830 HD23 LEU A 185 -0.328 -0.588 16.766 1.00 0.00 H +ATOM 2831 N PRO A 186 -1.754 -6.237 16.951 1.00 0.00 N +ATOM 2832 CA PRO A 186 -2.498 -7.381 17.516 1.00 0.00 C +ATOM 2833 HA PRO A 186 -2.857 -8.166 16.695 1.00 0.00 H +ATOM 2834 C PRO A 186 -3.800 -6.822 18.094 1.00 0.00 C +ATOM 2835 O PRO A 186 -4.070 -5.592 18.078 1.00 0.00 O +ATOM 2836 CB PRO A 186 -1.577 -7.872 18.669 1.00 0.00 C +ATOM 2837 HB2 PRO A 186 -0.628 -8.567 18.471 1.00 0.00 H +ATOM 2838 HB3 PRO A 186 -2.290 -8.733 19.064 1.00 0.00 H +ATOM 2839 CG PRO A 186 -0.835 -6.587 19.136 1.00 0.00 C +ATOM 2840 HG2 PRO A 186 -1.606 -6.135 19.920 1.00 0.00 H +ATOM 2841 HG3 PRO A 186 0.193 -6.832 19.683 1.00 0.00 H +ATOM 2842 CD PRO A 186 -0.627 -5.747 17.810 1.00 0.00 C +ATOM 2843 HD2 PRO A 186 0.292 -6.095 17.152 1.00 0.00 H +ATOM 2844 HD3 PRO A 186 -0.980 -4.672 18.177 1.00 0.00 H +ATOM 2845 N GLU A 187 -4.621 -7.733 18.620 1.00 0.00 N +ATOM 2846 H GLU A 187 -4.792 -8.609 17.838 1.00 0.00 H +ATOM 2847 CA GLU A 187 -5.896 -7.361 19.257 1.00 0.00 C +ATOM 2848 HA GLU A 187 -6.490 -6.614 18.541 1.00 0.00 H +ATOM 2849 C GLU A 187 -5.694 -6.577 20.516 1.00 0.00 C +ATOM 2850 O GLU A 187 -6.308 -5.511 20.689 1.00 0.00 O +ATOM 2851 CB GLU A 187 -6.727 -8.575 19.653 1.00 0.00 C +ATOM 2852 HB2 GLU A 187 -7.357 -8.430 20.654 1.00 0.00 H +ATOM 2853 HB3 GLU A 187 -6.114 -9.595 19.755 1.00 0.00 H +ATOM 2854 CG GLU A 187 -7.735 -8.916 18.673 1.00 0.00 C +ATOM 2855 HG2 GLU A 187 -8.632 -8.123 18.624 1.00 0.00 H +ATOM 2856 HG3 GLU A 187 -7.440 -9.108 17.530 1.00 0.00 H +ATOM 2857 CD GLU A 187 -8.511 -10.134 19.061 1.00 0.00 C +ATOM 2858 OE1 GLU A 187 -8.658 -10.427 20.284 1.00 0.00 O +ATOM 2859 OE2 GLU A 187 -8.959 -10.804 18.126 1.00 0.00 O +ATOM 2860 N SER A 188 -4.878 -7.104 21.444 1.00 0.00 N +ATOM 2861 H SER A 188 -3.857 -7.512 21.014 1.00 0.00 H +ATOM 2862 CA SER A 188 -4.654 -6.408 22.727 1.00 0.00 C +ATOM 2863 HA SER A 188 -5.732 -6.048 23.091 1.00 0.00 H +ATOM 2864 C SER A 188 -3.526 -5.388 22.668 1.00 0.00 C +ATOM 2865 O SER A 188 -2.517 -5.621 22.004 1.00 0.00 O +ATOM 2866 CB SER A 188 -4.285 -7.515 23.748 1.00 0.00 C +ATOM 2867 HB2 SER A 188 -3.383 -8.265 23.556 1.00 0.00 H +ATOM 2868 HB3 SER A 188 -5.252 -8.185 23.974 1.00 0.00 H +ATOM 2869 OG SER A 188 -4.028 -6.879 25.012 1.00 0.00 O +ATOM 2870 HG SER A 188 -4.047 -7.749 25.802 1.00 0.00 H +ATOM 2871 N LEU A 189 -3.702 -4.295 23.351 1.00 0.00 N +ATOM 2872 H LEU A 189 -4.742 -4.035 23.869 1.00 0.00 H +ATOM 2873 CA LEU A 189 -2.649 -3.295 23.513 1.00 0.00 C +ATOM 2874 HA LEU A 189 -1.730 -3.552 22.813 1.00 0.00 H +ATOM 2875 C LEU A 189 -1.931 -3.403 24.891 1.00 0.00 C +ATOM 2876 O LEU A 189 -1.270 -2.464 25.352 1.00 0.00 O +ATOM 2877 CB LEU A 189 -3.192 -1.861 23.288 1.00 0.00 C +ATOM 2878 HB2 LEU A 189 -4.150 -1.735 23.992 1.00 0.00 H +ATOM 2879 HB3 LEU A 189 -2.394 -1.062 23.657 1.00 0.00 H +ATOM 2880 CG LEU A 189 -3.658 -1.582 21.861 1.00 0.00 C +ATOM 2881 HG LEU A 189 -4.664 -2.168 21.596 1.00 0.00 H +ATOM 2882 CD1 LEU A 189 -4.069 -0.074 21.721 1.00 0.00 C +ATOM 2883 HD11 LEU A 189 -4.561 0.336 22.733 1.00 0.00 H +ATOM 2884 HD12 LEU A 189 -5.043 -0.131 21.021 1.00 0.00 H +ATOM 2885 HD13 LEU A 189 -3.484 0.863 21.284 1.00 0.00 H +ATOM 2886 CD2 LEU A 189 -2.524 -1.845 20.838 1.00 0.00 C +ATOM 2887 HD21 LEU A 189 -2.677 -2.980 20.498 1.00 0.00 H +ATOM 2888 HD22 LEU A 189 -1.426 -1.444 21.049 1.00 0.00 H +ATOM 2889 HD23 LEU A 189 -2.899 -1.319 19.832 1.00 0.00 H +ATOM 2890 N ASP A 190 -2.085 -4.550 25.581 1.00 0.00 N +ATOM 2891 H ASP A 190 -2.350 -5.554 25.022 1.00 0.00 H +ATOM 2892 CA ASP A 190 -1.330 -4.714 26.869 1.00 0.00 C +ATOM 2893 HA ASP A 190 -1.808 -3.795 27.454 1.00 0.00 H +ATOM 2894 C ASP A 190 0.190 -4.677 26.540 1.00 0.00 C +ATOM 2895 O ASP A 190 0.573 -5.211 25.495 1.00 0.00 O +ATOM 2896 CB ASP A 190 -1.723 -6.039 27.530 1.00 0.00 C +ATOM 2897 HB2 ASP A 190 -1.110 -6.158 28.537 1.00 0.00 H +ATOM 2898 HB3 ASP A 190 -1.569 -6.883 26.710 1.00 0.00 H +ATOM 2899 CG ASP A 190 -3.146 -6.025 28.157 1.00 0.00 C +ATOM 2900 OD1 ASP A 190 -3.763 -4.969 28.183 1.00 0.00 O +ATOM 2901 OD2 ASP A 190 -3.546 -7.159 28.446 1.00 0.00 O +ATOM 2902 N TYR A 191 1.005 -4.096 27.445 1.00 0.00 N +ATOM 2903 H TYR A 191 0.689 -3.454 28.374 1.00 0.00 H +ATOM 2904 CA TYR A 191 2.406 -3.843 27.092 1.00 0.00 C +ATOM 2905 HA TYR A 191 2.715 -4.959 26.837 1.00 0.00 H +ATOM 2906 C TYR A 191 3.276 -3.867 28.342 1.00 0.00 C +ATOM 2907 O TYR A 191 2.793 -3.750 29.499 1.00 0.00 O +ATOM 2908 CB TYR A 191 2.520 -2.463 26.387 1.00 0.00 C +ATOM 2909 HB2 TYR A 191 1.994 -2.793 25.387 1.00 0.00 H +ATOM 2910 HB3 TYR A 191 3.610 -2.109 26.110 1.00 0.00 H +ATOM 2911 CG TYR A 191 2.132 -1.308 27.256 1.00 0.00 C +ATOM 2912 CD1 TYR A 191 3.064 -0.688 28.106 1.00 0.00 C +ATOM 2913 HD1 TYR A 191 4.111 -1.158 28.377 1.00 0.00 H +ATOM 2914 CD2 TYR A 191 0.837 -0.775 27.176 1.00 0.00 C +ATOM 2915 HD2 TYR A 191 -0.015 -1.100 26.425 1.00 0.00 H +ATOM 2916 CE1 TYR A 191 2.674 0.400 28.927 1.00 0.00 C +ATOM 2917 HE1 TYR A 191 3.543 0.801 29.616 1.00 0.00 H +ATOM 2918 CE2 TYR A 191 0.477 0.276 27.984 1.00 0.00 C +ATOM 2919 HE2 TYR A 191 -0.686 0.463 28.118 1.00 0.00 H +ATOM 2920 CZ TYR A 191 1.391 0.869 28.818 1.00 0.00 C +ATOM 2921 OH TYR A 191 1.060 1.936 29.657 1.00 0.00 O +ATOM 2922 HH TYR A 191 2.025 2.214 30.266 1.00 0.00 H +ATOM 2923 N TRP A 192 4.572 -4.083 28.061 1.00 0.00 N +ATOM 2924 H TRP A 192 5.111 -4.490 27.099 1.00 0.00 H +ATOM 2925 CA TRP A 192 5.621 -3.779 29.004 1.00 0.00 C +ATOM 2926 HA TRP A 192 5.134 -3.666 30.076 1.00 0.00 H +ATOM 2927 C TRP A 192 6.303 -2.473 28.599 1.00 0.00 C +ATOM 2928 O TRP A 192 6.392 -2.160 27.409 1.00 0.00 O +ATOM 2929 CB TRP A 192 6.655 -4.889 28.998 1.00 0.00 C +ATOM 2930 HB2 TRP A 192 7.534 -4.849 29.794 1.00 0.00 H +ATOM 2931 HB3 TRP A 192 7.267 -4.883 27.977 1.00 0.00 H +ATOM 2932 CG TRP A 192 6.098 -6.207 29.439 1.00 0.00 C +ATOM 2933 CD1 TRP A 192 5.840 -6.618 30.768 1.00 0.00 C +ATOM 2934 HD1 TRP A 192 6.170 -6.054 31.751 1.00 0.00 H +ATOM 2935 CD2 TRP A 192 5.857 -7.335 28.614 1.00 0.00 C +ATOM 2936 NE1 TRP A 192 5.427 -7.958 30.747 1.00 0.00 N +ATOM 2937 HE1 TRP A 192 5.233 -8.662 31.681 1.00 0.00 H +ATOM 2938 CE2 TRP A 192 5.468 -8.423 29.456 1.00 0.00 C +ATOM 2939 CE3 TRP A 192 5.958 -7.558 27.226 1.00 0.00 C +ATOM 2940 HE3 TRP A 192 6.098 -6.798 26.337 1.00 0.00 H +ATOM 2941 CZ2 TRP A 192 5.118 -9.706 28.921 1.00 0.00 C +ATOM 2942 HZ2 TRP A 192 4.494 -10.491 29.553 1.00 0.00 H +ATOM 2943 CZ3 TRP A 192 5.668 -8.889 26.728 1.00 0.00 C +ATOM 2944 HZ3 TRP A 192 5.903 -9.276 25.637 1.00 0.00 H +ATOM 2945 CH2 TRP A 192 5.241 -9.907 27.574 1.00 0.00 C +ATOM 2946 HH2 TRP A 192 4.931 -10.981 27.178 1.00 0.00 H +ATOM 2947 N THR A 193 6.877 -1.756 29.566 1.00 0.00 N +ATOM 2948 H THR A 193 7.241 -2.233 30.581 1.00 0.00 H +ATOM 2949 CA THR A 193 7.581 -0.542 29.191 1.00 0.00 C +ATOM 2950 HA THR A 193 8.129 -0.909 28.202 1.00 0.00 H +ATOM 2951 C THR A 193 8.848 -0.368 30.047 1.00 0.00 C +ATOM 2952 O THR A 193 8.878 -0.762 31.222 1.00 0.00 O +ATOM 2953 CB THR A 193 6.684 0.715 29.277 1.00 0.00 C +ATOM 2954 HB THR A 193 5.872 0.627 28.417 1.00 0.00 H +ATOM 2955 OG1 THR A 193 7.392 1.874 28.911 1.00 0.00 O +ATOM 2956 HG1 THR A 193 7.924 2.284 29.884 1.00 0.00 H +ATOM 2957 CG2 THR A 193 6.085 0.938 30.699 1.00 0.00 C +ATOM 2958 HG21 THR A 193 5.460 1.948 30.712 1.00 0.00 H +ATOM 2959 HG22 THR A 193 6.938 1.167 31.501 1.00 0.00 H +ATOM 2960 HG23 THR A 193 5.422 -0.020 30.940 1.00 0.00 H +ATOM 2961 N TYR A 194 9.904 0.176 29.467 1.00 0.00 N +ATOM 2962 H TYR A 194 9.830 0.689 28.406 1.00 0.00 H +ATOM 2963 CA TYR A 194 11.118 0.495 30.235 1.00 0.00 C +ATOM 2964 HA TYR A 194 10.704 1.069 31.193 1.00 0.00 H +ATOM 2965 C TYR A 194 11.881 1.546 29.398 1.00 0.00 C +ATOM 2966 O TYR A 194 11.688 1.723 28.194 1.00 0.00 O +ATOM 2967 CB TYR A 194 11.978 -0.797 30.424 1.00 0.00 C +ATOM 2968 HB2 TYR A 194 11.235 -1.679 30.680 1.00 0.00 H +ATOM 2969 HB3 TYR A 194 12.789 -0.653 31.280 1.00 0.00 H +ATOM 2970 CG TYR A 194 12.661 -1.228 29.133 1.00 0.00 C +ATOM 2971 CD1 TYR A 194 11.967 -1.942 28.151 1.00 0.00 C +ATOM 2972 HD1 TYR A 194 10.918 -2.470 28.305 1.00 0.00 H +ATOM 2973 CD2 TYR A 194 13.993 -0.848 28.875 1.00 0.00 C +ATOM 2974 HD2 TYR A 194 14.608 -0.875 29.884 1.00 0.00 H +ATOM 2975 CE1 TYR A 194 12.561 -2.313 26.945 1.00 0.00 C +ATOM 2976 HE1 TYR A 194 11.949 -3.095 26.304 1.00 0.00 H +ATOM 2977 CE2 TYR A 194 14.626 -1.255 27.701 1.00 0.00 C +ATOM 2978 HE2 TYR A 194 15.772 -1.531 27.652 1.00 0.00 H +ATOM 2979 CZ TYR A 194 13.916 -1.926 26.751 1.00 0.00 C +ATOM 2980 OH TYR A 194 14.591 -2.240 25.589 1.00 0.00 O +ATOM 2981 HH TYR A 194 14.118 -1.588 24.732 1.00 0.00 H +ATOM 2982 N PRO A 195 12.837 2.251 30.038 1.00 0.00 N +ATOM 2983 CA PRO A 195 13.668 3.242 29.317 1.00 0.00 C +ATOM 2984 HA PRO A 195 12.896 3.964 28.774 1.00 0.00 H +ATOM 2985 C PRO A 195 14.861 2.581 28.687 1.00 0.00 C +ATOM 2986 O PRO A 195 15.580 1.819 29.356 1.00 0.00 O +ATOM 2987 CB PRO A 195 14.126 4.205 30.463 1.00 0.00 C +ATOM 2988 HB2 PRO A 195 13.399 5.139 30.628 1.00 0.00 H +ATOM 2989 HB3 PRO A 195 15.209 4.698 30.490 1.00 0.00 H +ATOM 2990 CG PRO A 195 14.185 3.265 31.747 1.00 0.00 C +ATOM 2991 HG2 PRO A 195 14.003 4.149 32.538 1.00 0.00 H +ATOM 2992 HG3 PRO A 195 15.012 2.672 32.353 1.00 0.00 H +ATOM 2993 CD PRO A 195 13.013 2.311 31.553 1.00 0.00 C +ATOM 2994 HD2 PRO A 195 12.094 2.982 31.928 1.00 0.00 H +ATOM 2995 HD3 PRO A 195 13.025 1.491 32.416 1.00 0.00 H +ATOM 2996 N GLY A 196 15.111 2.902 27.419 1.00 0.00 N +ATOM 2997 H GLY A 196 14.961 4.070 27.342 1.00 0.00 H +ATOM 2998 CA GLY A 196 16.219 2.255 26.709 1.00 0.00 C +ATOM 2999 HA2 GLY A 196 17.146 2.172 27.439 1.00 0.00 H +ATOM 3000 HA3 GLY A 196 15.622 1.256 26.479 1.00 0.00 H +ATOM 3001 C GLY A 196 16.787 3.103 25.611 1.00 0.00 C +ATOM 3002 O GLY A 196 16.826 4.352 25.730 1.00 0.00 O +ATOM 3003 N SER A 197 17.153 2.435 24.536 1.00 0.00 N +ATOM 3004 H SER A 197 16.634 1.452 24.157 1.00 0.00 H +ATOM 3005 CA SER A 197 17.969 3.062 23.495 1.00 0.00 C +ATOM 3006 HA SER A 197 17.713 4.218 23.482 1.00 0.00 H +ATOM 3007 C SER A 197 17.537 2.657 22.134 1.00 0.00 C +ATOM 3008 O SER A 197 16.788 1.697 21.962 1.00 0.00 O +ATOM 3009 CB SER A 197 19.494 2.643 23.687 1.00 0.00 C +ATOM 3010 HB2 SER A 197 19.554 2.669 24.868 1.00 0.00 H +ATOM 3011 HB3 SER A 197 20.247 3.359 23.115 1.00 0.00 H +ATOM 3012 OG SER A 197 19.730 1.335 23.245 1.00 0.00 O +ATOM 3013 HG SER A 197 20.824 1.327 22.806 1.00 0.00 H +ATOM 3014 N LEU A 198 18.122 3.310 21.109 1.00 0.00 N +ATOM 3015 H LEU A 198 18.685 4.338 21.170 1.00 0.00 H +ATOM 3016 CA LEU A 198 18.077 2.786 19.752 1.00 0.00 C +ATOM 3017 HA LEU A 198 16.949 2.541 19.465 1.00 0.00 H +ATOM 3018 C LEU A 198 18.820 1.429 19.786 1.00 0.00 C +ATOM 3019 O LEU A 198 19.871 1.286 20.452 1.00 0.00 O +ATOM 3020 CB LEU A 198 18.838 3.716 18.802 1.00 0.00 C +ATOM 3021 HB2 LEU A 198 18.558 3.305 17.715 1.00 0.00 H +ATOM 3022 HB3 LEU A 198 20.010 3.662 18.947 1.00 0.00 H +ATOM 3023 CG LEU A 198 18.357 5.136 18.813 1.00 0.00 C +ATOM 3024 HG LEU A 198 18.457 5.890 19.723 1.00 0.00 H +ATOM 3025 CD1 LEU A 198 19.154 5.912 17.745 1.00 0.00 C +ATOM 3026 HD11 LEU A 198 19.743 5.211 16.975 1.00 0.00 H +ATOM 3027 HD12 LEU A 198 19.827 6.835 18.071 1.00 0.00 H +ATOM 3028 HD13 LEU A 198 18.526 6.488 16.895 1.00 0.00 H +ATOM 3029 CD2 LEU A 198 16.897 5.244 18.440 1.00 0.00 C +ATOM 3030 HD21 LEU A 198 16.452 6.098 19.129 1.00 0.00 H +ATOM 3031 HD22 LEU A 198 16.691 5.464 17.277 1.00 0.00 H +ATOM 3032 HD23 LEU A 198 16.155 4.305 18.387 1.00 0.00 H +ATOM 3033 N THR A 199 18.366 0.464 18.977 1.00 0.00 N +ATOM 3034 H THR A 199 17.427 0.696 18.286 1.00 0.00 H +ATOM 3035 CA THR A 199 19.063 -0.841 18.951 1.00 0.00 C +ATOM 3036 HA THR A 199 19.638 -1.069 19.964 1.00 0.00 H +ATOM 3037 C THR A 199 20.090 -0.945 17.832 1.00 0.00 C +ATOM 3038 O THR A 199 20.680 -2.021 17.665 1.00 0.00 O +ATOM 3039 CB THR A 199 18.071 -2.014 18.864 1.00 0.00 C +ATOM 3040 HB THR A 199 18.535 -3.097 18.732 1.00 0.00 H +ATOM 3041 OG1 THR A 199 17.442 -1.968 17.569 1.00 0.00 O +ATOM 3042 HG1 THR A 199 17.789 -1.002 16.990 1.00 0.00 H +ATOM 3043 CG2 THR A 199 17.030 -1.973 19.991 1.00 0.00 C +ATOM 3044 HG21 THR A 199 17.328 -2.675 20.899 1.00 0.00 H +ATOM 3045 HG22 THR A 199 16.718 -0.879 20.337 1.00 0.00 H +ATOM 3046 HG23 THR A 199 16.028 -2.455 19.559 1.00 0.00 H +ATOM 3047 N THR A 200 20.303 0.116 17.024 1.00 0.00 N +ATOM 3048 H THR A 200 19.620 1.078 16.946 1.00 0.00 H +ATOM 3049 CA THR A 200 21.344 0.141 16.030 1.00 0.00 C +ATOM 3050 HA THR A 200 21.926 -0.887 16.111 1.00 0.00 H +ATOM 3051 C THR A 200 22.170 1.417 16.299 1.00 0.00 C +ATOM 3052 O THR A 200 21.665 2.398 16.848 1.00 0.00 O +ATOM 3053 CB THR A 200 20.779 0.221 14.583 1.00 0.00 C +ATOM 3054 HB THR A 200 21.455 0.651 13.706 1.00 0.00 H +ATOM 3055 OG1 THR A 200 19.736 1.227 14.532 1.00 0.00 O +ATOM 3056 HG1 THR A 200 20.230 2.262 14.245 1.00 0.00 H +ATOM 3057 CG2 THR A 200 20.199 -1.119 14.206 1.00 0.00 C +ATOM 3058 HG21 THR A 200 19.205 -1.412 14.800 1.00 0.00 H +ATOM 3059 HG22 THR A 200 19.715 -0.968 13.125 1.00 0.00 H +ATOM 3060 HG23 THR A 200 21.002 -1.960 14.452 1.00 0.00 H +ATOM 3061 N PRO A 201 23.448 1.391 15.892 1.00 0.00 N +ATOM 3062 CA PRO A 201 24.322 2.578 15.988 1.00 0.00 C +ATOM 3063 HA PRO A 201 24.993 2.898 16.910 1.00 0.00 H +ATOM 3064 C PRO A 201 23.545 3.783 15.394 1.00 0.00 C +ATOM 3065 O PRO A 201 23.003 3.682 14.290 1.00 0.00 O +ATOM 3066 CB PRO A 201 25.502 2.171 15.139 1.00 0.00 C +ATOM 3067 HB2 PRO A 201 25.222 2.564 14.049 1.00 0.00 H +ATOM 3068 HB3 PRO A 201 26.586 2.644 15.221 1.00 0.00 H +ATOM 3069 CG PRO A 201 25.609 0.686 15.406 1.00 0.00 C +ATOM 3070 HG2 PRO A 201 26.003 0.495 16.511 1.00 0.00 H +ATOM 3071 HG3 PRO A 201 26.489 0.239 14.747 1.00 0.00 H +ATOM 3072 CD PRO A 201 24.166 0.198 15.356 1.00 0.00 C +ATOM 3073 HD2 PRO A 201 24.153 -0.826 15.949 1.00 0.00 H +ATOM 3074 HD3 PRO A 201 23.894 0.032 14.214 1.00 0.00 H +ATOM 3075 N PRO A 202 23.531 4.926 16.091 1.00 0.00 N +ATOM 3076 CA PRO A 202 24.475 5.263 17.213 1.00 0.00 C +ATOM 3077 HA PRO A 202 25.621 5.048 16.994 1.00 0.00 H +ATOM 3078 C PRO A 202 23.982 4.879 18.627 1.00 0.00 C +ATOM 3079 O PRO A 202 24.631 5.356 19.594 1.00 0.00 O +ATOM 3080 CB PRO A 202 24.600 6.803 17.059 1.00 0.00 C +ATOM 3081 HB2 PRO A 202 25.343 7.222 16.218 1.00 0.00 H +ATOM 3082 HB3 PRO A 202 25.041 7.408 17.988 1.00 0.00 H +ATOM 3083 CG PRO A 202 23.184 7.213 16.478 1.00 0.00 C +ATOM 3084 HG2 PRO A 202 23.346 8.310 16.029 1.00 0.00 H +ATOM 3085 HG3 PRO A 202 22.094 7.282 16.937 1.00 0.00 H +ATOM 3086 CD PRO A 202 22.857 6.120 15.496 1.00 0.00 C +ATOM 3087 HD2 PRO A 202 23.283 6.454 14.429 1.00 0.00 H +ATOM 3088 HD3 PRO A 202 21.730 5.902 15.169 1.00 0.00 H +ATOM 3089 N LEU A 203 22.915 4.033 18.751 1.00 0.00 N +ATOM 3090 H LEU A 203 22.096 4.214 17.917 1.00 0.00 H +ATOM 3091 CA LEU A 203 22.624 3.424 20.042 1.00 0.00 C +ATOM 3092 HA LEU A 203 21.638 2.777 20.119 1.00 0.00 H +ATOM 3093 C LEU A 203 22.258 4.489 21.111 1.00 0.00 C +ATOM 3094 O LEU A 203 22.403 4.234 22.297 1.00 0.00 O +ATOM 3095 CB LEU A 203 23.796 2.534 20.568 1.00 0.00 C +ATOM 3096 HB2 LEU A 203 24.745 3.236 20.469 1.00 0.00 H +ATOM 3097 HB3 LEU A 203 23.515 2.032 21.603 1.00 0.00 H +ATOM 3098 CG LEU A 203 24.093 1.403 19.577 1.00 0.00 C +ATOM 3099 HG LEU A 203 24.394 1.724 18.481 1.00 0.00 H +ATOM 3100 CD1 LEU A 203 25.415 0.721 20.054 1.00 0.00 C +ATOM 3101 HD11 LEU A 203 25.712 -0.181 19.334 1.00 0.00 H +ATOM 3102 HD12 LEU A 203 25.195 0.227 21.111 1.00 0.00 H +ATOM 3103 HD13 LEU A 203 26.298 1.515 20.072 1.00 0.00 H +ATOM 3104 CD2 LEU A 203 22.960 0.364 19.451 1.00 0.00 C +ATOM 3105 HD21 LEU A 203 21.919 0.600 19.966 1.00 0.00 H +ATOM 3106 HD22 LEU A 203 22.809 0.095 18.305 1.00 0.00 H +ATOM 3107 HD23 LEU A 203 23.371 -0.646 19.925 1.00 0.00 H +ATOM 3108 N LEU A 204 21.654 5.607 20.662 1.00 0.00 N +ATOM 3109 H LEU A 204 21.427 5.848 19.530 1.00 0.00 H +ATOM 3110 CA LEU A 204 21.388 6.744 21.571 1.00 0.00 C +ATOM 3111 HA LEU A 204 22.422 6.984 22.113 1.00 0.00 H +ATOM 3112 C LEU A 204 20.390 6.328 22.607 1.00 0.00 C +ATOM 3113 O LEU A 204 19.356 5.654 22.287 1.00 0.00 O +ATOM 3114 CB LEU A 204 20.855 7.917 20.739 1.00 0.00 C +ATOM 3115 HB2 LEU A 204 20.726 8.791 21.543 1.00 0.00 H +ATOM 3116 HB3 LEU A 204 19.782 7.802 20.247 1.00 0.00 H +ATOM 3117 CG LEU A 204 21.921 8.489 19.757 1.00 0.00 C +ATOM 3118 HG LEU A 204 22.614 7.824 19.063 1.00 0.00 H +ATOM 3119 CD1 LEU A 204 21.277 9.513 18.829 1.00 0.00 C +ATOM 3120 HD11 LEU A 204 20.699 9.112 17.865 1.00 0.00 H +ATOM 3121 HD12 LEU A 204 22.080 10.194 18.257 1.00 0.00 H +ATOM 3122 HD13 LEU A 204 20.763 10.302 19.559 1.00 0.00 H +ATOM 3123 CD2 LEU A 204 23.102 9.153 20.487 1.00 0.00 C +ATOM 3124 HD21 LEU A 204 24.080 8.497 20.718 1.00 0.00 H +ATOM 3125 HD22 LEU A 204 23.643 10.050 19.896 1.00 0.00 H +ATOM 3126 HD23 LEU A 204 22.904 9.698 21.536 1.00 0.00 H +ATOM 3127 N GLU A 205 20.567 6.811 23.815 1.00 0.00 N +ATOM 3128 H GLU A 205 21.082 7.872 23.978 1.00 0.00 H +ATOM 3129 CA GLU A 205 19.733 6.416 24.959 1.00 0.00 C +ATOM 3130 HA GLU A 205 19.123 5.403 24.993 1.00 0.00 H +ATOM 3131 C GLU A 205 18.524 7.366 25.084 1.00 0.00 C +ATOM 3132 O GLU A 205 18.374 8.139 26.041 1.00 0.00 O +ATOM 3133 CB GLU A 205 20.584 6.363 26.201 1.00 0.00 C +ATOM 3134 HB2 GLU A 205 20.072 6.785 27.192 1.00 0.00 H +ATOM 3135 HB3 GLU A 205 21.373 7.271 26.218 1.00 0.00 H +ATOM 3136 CG GLU A 205 21.505 5.107 26.040 1.00 0.00 C +ATOM 3137 HG2 GLU A 205 20.937 4.087 25.856 1.00 0.00 H +ATOM 3138 HG3 GLU A 205 22.290 5.467 25.222 1.00 0.00 H +ATOM 3139 CD GLU A 205 22.418 4.833 27.248 1.00 0.00 C +ATOM 3140 OE1 GLU A 205 22.741 5.802 27.979 1.00 0.00 O +ATOM 3141 OE2 GLU A 205 22.810 3.658 27.412 1.00 0.00 O +ATOM 3142 N CYS A 206 17.631 7.307 24.108 1.00 0.00 N +ATOM 3143 H CYS A 206 17.638 6.739 23.072 1.00 0.00 H +ATOM 3144 CA CYS A 206 16.596 8.334 23.916 1.00 0.00 C +ATOM 3145 HA CYS A 206 16.543 9.085 24.832 1.00 0.00 H +ATOM 3146 C CYS A 206 15.210 7.732 23.813 1.00 0.00 C +ATOM 3147 O CYS A 206 14.240 8.427 23.455 1.00 0.00 O +ATOM 3148 CB CYS A 206 16.884 9.177 22.644 1.00 0.00 C +ATOM 3149 HB2 CYS A 206 16.077 9.979 22.325 1.00 0.00 H +ATOM 3150 HB3 CYS A 206 18.003 9.552 22.793 1.00 0.00 H +ATOM 3151 SG CYS A 206 16.889 8.197 21.153 1.00 0.00 S +ATOM 3152 HG CYS A 206 17.194 8.215 20.019 1.00 0.00 H +ATOM 3153 N VAL A 207 15.053 6.435 24.135 1.00 0.00 N +ATOM 3154 H VAL A 207 15.839 5.806 24.744 1.00 0.00 H +ATOM 3155 CA VAL A 207 13.784 5.750 23.801 1.00 0.00 C +ATOM 3156 HA VAL A 207 13.089 6.460 23.161 1.00 0.00 H +ATOM 3157 C VAL A 207 13.005 5.305 25.026 1.00 0.00 C +ATOM 3158 O VAL A 207 13.567 4.691 25.950 1.00 0.00 O +ATOM 3159 CB VAL A 207 14.048 4.474 22.938 1.00 0.00 C +ATOM 3160 HB VAL A 207 14.702 3.788 23.651 1.00 0.00 H +ATOM 3161 CG1 VAL A 207 12.740 3.724 22.591 1.00 0.00 C +ATOM 3162 HG11 VAL A 207 12.896 2.893 21.761 1.00 0.00 H +ATOM 3163 HG12 VAL A 207 12.443 3.123 23.572 1.00 0.00 H +ATOM 3164 HG13 VAL A 207 11.910 4.528 22.315 1.00 0.00 H +ATOM 3165 CG2 VAL A 207 14.882 4.798 21.647 1.00 0.00 C +ATOM 3166 HG21 VAL A 207 14.255 4.531 20.670 1.00 0.00 H +ATOM 3167 HG22 VAL A 207 15.817 4.075 21.559 1.00 0.00 H +ATOM 3168 HG23 VAL A 207 15.271 5.914 21.531 1.00 0.00 H +ATOM 3169 N THR A 208 11.704 5.594 25.030 1.00 0.00 N +ATOM 3170 H THR A 208 11.566 6.767 24.921 1.00 0.00 H +ATOM 3171 CA THR A 208 10.784 4.913 25.873 1.00 0.00 C +ATOM 3172 HA THR A 208 11.265 4.672 26.934 1.00 0.00 H +ATOM 3173 C THR A 208 10.268 3.713 25.089 1.00 0.00 C +ATOM 3174 O THR A 208 9.594 3.920 24.071 1.00 0.00 O +ATOM 3175 CB THR A 208 9.568 5.793 26.356 1.00 0.00 C +ATOM 3176 HB THR A 208 8.970 6.381 25.517 1.00 0.00 H +ATOM 3177 OG1 THR A 208 10.099 6.907 27.075 1.00 0.00 O +ATOM 3178 HG1 THR A 208 11.273 6.856 27.061 1.00 0.00 H +ATOM 3179 CG2 THR A 208 8.736 4.945 27.308 1.00 0.00 C +ATOM 3180 HG21 THR A 208 7.833 5.671 27.580 1.00 0.00 H +ATOM 3181 HG22 THR A 208 8.442 3.829 27.029 1.00 0.00 H +ATOM 3182 HG23 THR A 208 9.286 4.948 28.372 1.00 0.00 H +ATOM 3183 N TRP A 209 10.588 2.514 25.537 1.00 0.00 N +ATOM 3184 H TRP A 209 11.528 2.488 26.252 1.00 0.00 H +ATOM 3185 CA TRP A 209 10.132 1.314 24.868 1.00 0.00 C +ATOM 3186 HA TRP A 209 10.128 1.540 23.704 1.00 0.00 H +ATOM 3187 C TRP A 209 8.786 0.908 25.384 1.00 0.00 C +ATOM 3188 O TRP A 209 8.527 0.852 26.592 1.00 0.00 O +ATOM 3189 CB TRP A 209 11.150 0.150 25.119 1.00 0.00 C +ATOM 3190 HB2 TRP A 209 11.567 0.089 26.228 1.00 0.00 H +ATOM 3191 HB3 TRP A 209 10.626 -0.894 24.898 1.00 0.00 H +ATOM 3192 CG TRP A 209 12.252 0.239 24.112 1.00 0.00 C +ATOM 3193 CD1 TRP A 209 13.514 0.809 24.265 1.00 0.00 C +ATOM 3194 HD1 TRP A 209 13.714 1.325 25.308 1.00 0.00 H +ATOM 3195 CD2 TRP A 209 12.199 -0.178 22.717 1.00 0.00 C +ATOM 3196 NE1 TRP A 209 14.221 0.781 23.081 1.00 0.00 N +ATOM 3197 HE1 TRP A 209 14.839 1.635 22.562 1.00 0.00 H +ATOM 3198 CE2 TRP A 209 13.429 0.168 22.124 1.00 0.00 C +ATOM 3199 CE3 TRP A 209 11.226 -0.856 21.959 1.00 0.00 C +ATOM 3200 HE3 TRP A 209 10.108 -1.093 22.250 1.00 0.00 H +ATOM 3201 CZ2 TRP A 209 13.716 -0.125 20.791 1.00 0.00 C +ATOM 3202 HZ2 TRP A 209 14.484 0.529 20.167 1.00 0.00 H +ATOM 3203 CZ3 TRP A 209 11.535 -1.182 20.632 1.00 0.00 C +ATOM 3204 HZ3 TRP A 209 11.083 -2.263 20.468 1.00 0.00 H +ATOM 3205 CH2 TRP A 209 12.775 -0.774 20.047 1.00 0.00 C +ATOM 3206 HH2 TRP A 209 13.207 -0.866 18.949 1.00 0.00 H +ATOM 3207 N ILE A 210 7.917 0.513 24.457 1.00 0.00 N +ATOM 3208 H ILE A 210 8.321 0.148 23.409 1.00 0.00 H +ATOM 3209 CA ILE A 210 6.581 -0.008 24.740 1.00 0.00 C +ATOM 3210 HA ILE A 210 6.454 -0.233 25.898 1.00 0.00 H +ATOM 3211 C ILE A 210 6.460 -1.252 23.928 1.00 0.00 C +ATOM 3212 O ILE A 210 6.374 -1.157 22.689 1.00 0.00 O +ATOM 3213 CB ILE A 210 5.525 1.036 24.370 1.00 0.00 C +ATOM 3214 HB ILE A 210 5.695 1.468 23.276 1.00 0.00 H +ATOM 3215 CG1 ILE A 210 5.703 2.354 25.210 1.00 0.00 C +ATOM 3216 HG12 ILE A 210 5.445 2.108 26.341 1.00 0.00 H +ATOM 3217 HG13 ILE A 210 6.796 2.811 25.092 1.00 0.00 H +ATOM 3218 CG2 ILE A 210 4.130 0.411 24.619 1.00 0.00 C +ATOM 3219 HG21 ILE A 210 3.674 0.760 25.656 1.00 0.00 H +ATOM 3220 HG22 ILE A 210 4.304 -0.759 24.514 1.00 0.00 H +ATOM 3221 HG23 ILE A 210 3.259 0.563 23.823 1.00 0.00 H +ATOM 3222 CD1 ILE A 210 4.815 3.502 24.695 1.00 0.00 C +ATOM 3223 HD11 ILE A 210 5.613 4.202 24.154 1.00 0.00 H +ATOM 3224 HD12 ILE A 210 4.184 4.028 25.548 1.00 0.00 H +ATOM 3225 HD13 ILE A 210 4.069 3.123 23.851 1.00 0.00 H +ATOM 3226 N VAL A 211 6.512 -2.422 24.592 1.00 0.00 N +ATOM 3227 H VAL A 211 7.268 -2.428 25.501 1.00 0.00 H +ATOM 3228 CA VAL A 211 6.576 -3.726 23.877 1.00 0.00 C +ATOM 3229 HA VAL A 211 6.834 -3.572 22.730 1.00 0.00 H +ATOM 3230 C VAL A 211 5.256 -4.416 24.144 1.00 0.00 C +ATOM 3231 O VAL A 211 4.908 -4.708 25.295 1.00 0.00 O +ATOM 3232 CB VAL A 211 7.781 -4.575 24.368 1.00 0.00 C +ATOM 3233 HB VAL A 211 7.756 -4.803 25.532 1.00 0.00 H +ATOM 3234 CG1 VAL A 211 7.695 -5.948 23.654 1.00 0.00 C +ATOM 3235 HG11 VAL A 211 8.458 -6.031 22.739 1.00 0.00 H +ATOM 3236 HG12 VAL A 211 7.991 -6.768 24.462 1.00 0.00 H +ATOM 3237 HG13 VAL A 211 6.689 -6.290 23.114 1.00 0.00 H +ATOM 3238 CG2 VAL A 211 9.106 -3.803 24.059 1.00 0.00 C +ATOM 3239 HG21 VAL A 211 9.845 -4.445 23.379 1.00 0.00 H +ATOM 3240 HG22 VAL A 211 9.028 -2.768 23.483 1.00 0.00 H +ATOM 3241 HG23 VAL A 211 9.634 -3.675 25.120 1.00 0.00 H +ATOM 3242 N LEU A 212 4.496 -4.706 23.080 1.00 0.00 N +ATOM 3243 H LEU A 212 4.590 -4.060 22.101 1.00 0.00 H +ATOM 3244 CA LEU A 212 3.201 -5.399 23.261 1.00 0.00 C +ATOM 3245 HA LEU A 212 2.563 -4.909 24.127 1.00 0.00 H +ATOM 3246 C LEU A 212 3.384 -6.847 23.688 1.00 0.00 C +ATOM 3247 O LEU A 212 4.259 -7.544 23.179 1.00 0.00 O +ATOM 3248 CB LEU A 212 2.351 -5.253 21.980 1.00 0.00 C +ATOM 3249 HB2 LEU A 212 2.893 -5.931 21.163 1.00 0.00 H +ATOM 3250 HB3 LEU A 212 1.363 -5.865 22.247 1.00 0.00 H +ATOM 3251 CG LEU A 212 1.956 -3.844 21.563 1.00 0.00 C +ATOM 3252 HG LEU A 212 2.837 -3.278 21.009 1.00 0.00 H +ATOM 3253 CD1 LEU A 212 0.941 -3.885 20.404 1.00 0.00 C +ATOM 3254 HD11 LEU A 212 0.600 -2.786 20.105 1.00 0.00 H +ATOM 3255 HD12 LEU A 212 1.224 -4.481 19.423 1.00 0.00 H +ATOM 3256 HD13 LEU A 212 0.034 -4.453 20.927 1.00 0.00 H +ATOM 3257 CD2 LEU A 212 1.430 -2.963 22.728 1.00 0.00 C +ATOM 3258 HD21 LEU A 212 0.606 -3.515 23.387 1.00 0.00 H +ATOM 3259 HD22 LEU A 212 0.833 -2.038 22.280 1.00 0.00 H +ATOM 3260 HD23 LEU A 212 2.411 -2.518 23.232 1.00 0.00 H +ATOM 3261 N LYS A 213 2.502 -7.285 24.591 1.00 0.00 N +ATOM 3262 H LYS A 213 2.319 -6.662 25.575 1.00 0.00 H +ATOM 3263 CA LYS A 213 2.581 -8.686 25.007 1.00 0.00 C +ATOM 3264 HA LYS A 213 3.685 -9.119 25.035 1.00 0.00 H +ATOM 3265 C LYS A 213 2.092 -9.661 23.921 1.00 0.00 C +ATOM 3266 O LYS A 213 2.611 -10.752 23.806 1.00 0.00 O +ATOM 3267 CB LYS A 213 1.747 -8.879 26.263 1.00 0.00 C +ATOM 3268 HB2 LYS A 213 2.342 -8.407 27.181 1.00 0.00 H +ATOM 3269 HB3 LYS A 213 0.693 -8.455 25.911 1.00 0.00 H +ATOM 3270 CG LYS A 213 1.638 -10.381 26.668 1.00 0.00 C +ATOM 3271 HG2 LYS A 213 2.574 -11.102 26.477 1.00 0.00 H +ATOM 3272 HG3 LYS A 213 0.872 -11.075 26.062 1.00 0.00 H +ATOM 3273 CD LYS A 213 0.943 -10.475 28.007 1.00 0.00 C +ATOM 3274 HD2 LYS A 213 0.362 -11.489 28.264 1.00 0.00 H +ATOM 3275 HD3 LYS A 213 1.859 -10.627 28.744 1.00 0.00 H +ATOM 3276 CE LYS A 213 -0.336 -9.545 27.981 1.00 0.00 C +ATOM 3277 HE2 LYS A 213 0.033 -8.431 28.152 1.00 0.00 H +ATOM 3278 HE3 LYS A 213 -0.922 -9.820 28.988 1.00 0.00 H +ATOM 3279 NZ LYS A 213 -1.534 -9.820 27.081 1.00 0.00 N +ATOM 3280 HZ1 LYS A 213 -1.446 -9.991 25.902 1.00 0.00 H +ATOM 3281 HZ2 LYS A 213 -1.912 -10.909 27.423 1.00 0.00 H +ATOM 3282 HZ3 LYS A 213 -2.566 -9.252 27.270 1.00 0.00 H +ATOM 3283 N GLU A 214 1.045 -9.284 23.181 1.00 0.00 N +ATOM 3284 H GLU A 214 0.507 -8.232 23.269 1.00 0.00 H +ATOM 3285 CA GLU A 214 0.473 -10.227 22.206 1.00 0.00 C +ATOM 3286 HA GLU A 214 0.411 -11.252 22.814 1.00 0.00 H +ATOM 3287 C GLU A 214 1.232 -10.152 20.873 1.00 0.00 C +ATOM 3288 O GLU A 214 1.287 -9.073 20.269 1.00 0.00 O +ATOM 3289 CB GLU A 214 -0.985 -9.797 21.915 1.00 0.00 C +ATOM 3290 HB2 GLU A 214 -1.536 -9.936 22.964 1.00 0.00 H +ATOM 3291 HB3 GLU A 214 -1.113 -8.693 21.500 1.00 0.00 H +ATOM 3292 CG GLU A 214 -1.723 -10.832 21.009 1.00 0.00 C +ATOM 3293 HG2 GLU A 214 -1.332 -11.371 20.022 1.00 0.00 H +ATOM 3294 HG3 GLU A 214 -2.090 -11.760 21.671 1.00 0.00 H +ATOM 3295 CD GLU A 214 -3.133 -10.315 20.624 1.00 0.00 C +ATOM 3296 OE1 GLU A 214 -3.749 -9.705 21.403 1.00 0.00 O +ATOM 3297 OE2 GLU A 214 -3.599 -10.466 19.457 1.00 0.00 O +ATOM 3298 N PRO A 215 1.819 -11.253 20.451 1.00 0.00 N +ATOM 3299 CA PRO A 215 2.463 -11.219 19.123 1.00 0.00 C +ATOM 3300 HA PRO A 215 3.081 -10.215 19.278 1.00 0.00 H +ATOM 3301 C PRO A 215 1.437 -11.194 18.017 1.00 0.00 C +ATOM 3302 O PRO A 215 0.241 -11.628 18.190 1.00 0.00 O +ATOM 3303 CB PRO A 215 3.224 -12.556 19.040 1.00 0.00 C +ATOM 3304 HB2 PRO A 215 3.576 -13.418 18.292 1.00 0.00 H +ATOM 3305 HB3 PRO A 215 4.318 -12.143 18.833 1.00 0.00 H +ATOM 3306 CG PRO A 215 2.465 -13.461 19.875 1.00 0.00 C +ATOM 3307 HG2 PRO A 215 1.471 -13.948 19.427 1.00 0.00 H +ATOM 3308 HG3 PRO A 215 2.955 -14.368 20.477 1.00 0.00 H +ATOM 3309 CD PRO A 215 1.922 -12.594 21.075 1.00 0.00 C +ATOM 3310 HD2 PRO A 215 2.626 -12.717 22.029 1.00 0.00 H +ATOM 3311 HD3 PRO A 215 0.886 -13.118 21.344 1.00 0.00 H +ATOM 3312 N ILE A 216 1.866 -10.752 16.822 1.00 0.00 N +ATOM 3313 H ILE A 216 2.292 -9.676 17.061 1.00 0.00 H +ATOM 3314 CA ILE A 216 1.037 -10.990 15.655 1.00 0.00 C +ATOM 3315 HA ILE A 216 -0.068 -11.270 16.007 1.00 0.00 H +ATOM 3316 C ILE A 216 1.533 -12.230 14.969 1.00 0.00 C +ATOM 3317 O ILE A 216 2.704 -12.601 15.086 1.00 0.00 O +ATOM 3318 CB ILE A 216 1.014 -9.793 14.665 1.00 0.00 C +ATOM 3319 HB ILE A 216 0.319 -10.163 13.782 1.00 0.00 H +ATOM 3320 CG1 ILE A 216 2.390 -9.408 14.174 1.00 0.00 C +ATOM 3321 HG12 ILE A 216 3.187 -8.927 14.909 1.00 0.00 H +ATOM 3322 HG13 ILE A 216 2.731 -10.441 13.701 1.00 0.00 H +ATOM 3323 CG2 ILE A 216 0.402 -8.572 15.349 1.00 0.00 C +ATOM 3324 HG21 ILE A 216 -0.501 -8.108 14.729 1.00 0.00 H +ATOM 3325 HG22 ILE A 216 -0.172 -9.038 16.283 1.00 0.00 H +ATOM 3326 HG23 ILE A 216 1.165 -7.689 15.557 1.00 0.00 H +ATOM 3327 CD1 ILE A 216 2.410 -8.461 12.930 1.00 0.00 C +ATOM 3328 HD11 ILE A 216 2.125 -9.103 11.970 1.00 0.00 H +ATOM 3329 HD12 ILE A 216 1.733 -7.493 13.058 1.00 0.00 H +ATOM 3330 HD13 ILE A 216 3.435 -7.960 12.580 1.00 0.00 H +ATOM 3331 N SER A 217 0.618 -12.899 14.258 1.00 0.00 N +ATOM 3332 H SER A 217 -0.549 -12.677 14.232 1.00 0.00 H +ATOM 3333 CA SER A 217 0.975 -14.079 13.455 1.00 0.00 C +ATOM 3334 HA SER A 217 1.837 -14.679 14.004 1.00 0.00 H +ATOM 3335 C SER A 217 1.172 -13.701 12.009 1.00 0.00 C +ATOM 3336 O SER A 217 0.387 -12.949 11.431 1.00 0.00 O +ATOM 3337 CB SER A 217 -0.092 -15.165 13.484 1.00 0.00 C +ATOM 3338 HB2 SER A 217 -1.216 -14.827 13.252 1.00 0.00 H +ATOM 3339 HB3 SER A 217 0.047 -16.152 12.835 1.00 0.00 H +ATOM 3340 OG SER A 217 -0.129 -15.751 14.734 1.00 0.00 O +ATOM 3341 HG SER A 217 -0.886 -15.123 15.383 1.00 0.00 H +ATOM 3342 N VAL A 218 2.290 -14.149 11.445 1.00 0.00 N +ATOM 3343 H VAL A 218 3.258 -14.283 12.096 1.00 0.00 H +ATOM 3344 CA VAL A 218 2.566 -13.950 10.026 1.00 0.00 C +ATOM 3345 HA VAL A 218 1.534 -13.668 9.515 1.00 0.00 H +ATOM 3346 C VAL A 218 2.818 -15.333 9.433 1.00 0.00 C +ATOM 3347 O VAL A 218 3.154 -16.264 10.169 1.00 0.00 O +ATOM 3348 CB VAL A 218 3.773 -13.015 9.803 1.00 0.00 C +ATOM 3349 HB VAL A 218 3.958 -12.703 8.672 1.00 0.00 H +ATOM 3350 CG1 VAL A 218 3.517 -11.733 10.466 1.00 0.00 C +ATOM 3351 HG11 VAL A 218 2.910 -11.005 9.749 1.00 0.00 H +ATOM 3352 HG12 VAL A 218 4.592 -11.314 10.723 1.00 0.00 H +ATOM 3353 HG13 VAL A 218 2.848 -11.760 11.451 1.00 0.00 H +ATOM 3354 CG2 VAL A 218 5.081 -13.633 10.263 1.00 0.00 C +ATOM 3355 HG21 VAL A 218 5.132 -14.631 10.907 1.00 0.00 H +ATOM 3356 HG22 VAL A 218 5.607 -13.932 9.231 1.00 0.00 H +ATOM 3357 HG23 VAL A 218 5.933 -12.988 10.785 1.00 0.00 H +ATOM 3358 N SER A 219 2.660 -15.502 8.110 1.00 0.00 N +ATOM 3359 H SER A 219 2.802 -14.598 7.373 1.00 0.00 H +ATOM 3360 CA SER A 219 2.938 -16.829 7.550 1.00 0.00 C +ATOM 3361 HA SER A 219 2.725 -17.651 8.382 1.00 0.00 H +ATOM 3362 C SER A 219 4.414 -17.128 7.287 1.00 0.00 C +ATOM 3363 O SER A 219 5.205 -16.195 7.140 1.00 0.00 O +ATOM 3364 CB SER A 219 2.119 -17.124 6.314 1.00 0.00 C +ATOM 3365 HB2 SER A 219 1.742 -17.795 5.387 1.00 0.00 H +ATOM 3366 HB3 SER A 219 1.236 -17.741 6.851 1.00 0.00 H +ATOM 3367 OG SER A 219 2.576 -16.213 5.292 1.00 0.00 O +ATOM 3368 HG SER A 219 3.652 -15.859 5.595 1.00 0.00 H +ATOM 3369 N SER A 220 4.782 -18.416 7.192 1.00 0.00 N +ATOM 3370 H SER A 220 4.052 -19.345 7.328 1.00 0.00 H +ATOM 3371 CA SER A 220 6.161 -18.775 6.829 1.00 0.00 C +ATOM 3372 HA SER A 220 6.940 -18.561 7.699 1.00 0.00 H +ATOM 3373 C SER A 220 6.512 -18.100 5.518 1.00 0.00 C +ATOM 3374 O SER A 220 7.605 -17.561 5.368 1.00 0.00 O +ATOM 3375 CB SER A 220 6.423 -20.305 6.702 1.00 0.00 C +ATOM 3376 HB2 SER A 220 7.589 -20.560 6.681 1.00 0.00 H +ATOM 3377 HB3 SER A 220 6.030 -21.136 7.468 1.00 0.00 H +ATOM 3378 OG SER A 220 5.609 -20.809 5.615 1.00 0.00 O +ATOM 3379 HG SER A 220 6.324 -21.432 4.915 1.00 0.00 H +ATOM 3380 N GLU A 221 5.596 -18.120 4.562 1.00 0.00 N +ATOM 3381 H GLU A 221 4.474 -18.359 4.838 1.00 0.00 H +ATOM 3382 CA GLU A 221 5.863 -17.498 3.253 1.00 0.00 C +ATOM 3383 HA GLU A 221 6.757 -17.993 2.649 1.00 0.00 H +ATOM 3384 C GLU A 221 6.150 -16.020 3.397 1.00 0.00 C +ATOM 3385 O GLU A 221 6.978 -15.486 2.640 1.00 0.00 O +ATOM 3386 CB GLU A 221 4.736 -17.710 2.259 1.00 0.00 C +ATOM 3387 HB2 GLU A 221 4.995 -17.232 1.196 1.00 0.00 H +ATOM 3388 HB3 GLU A 221 3.643 -17.271 2.449 1.00 0.00 H +ATOM 3389 CG GLU A 221 4.518 -19.210 1.911 1.00 0.00 C +ATOM 3390 HG2 GLU A 221 5.439 -19.962 1.799 1.00 0.00 H +ATOM 3391 HG3 GLU A 221 3.929 -19.300 0.875 1.00 0.00 H +ATOM 3392 CD GLU A 221 3.632 -19.987 2.915 1.00 0.00 C +ATOM 3393 OE1 GLU A 221 3.136 -19.479 3.954 1.00 0.00 O +ATOM 3394 OE2 GLU A 221 3.359 -21.186 2.676 1.00 0.00 O +ATOM 3395 N GLN A 222 5.408 -15.292 4.251 1.00 0.00 N +ATOM 3396 H GLN A 222 5.714 -15.841 5.246 1.00 0.00 H +ATOM 3397 CA GLN A 222 5.670 -13.889 4.448 1.00 0.00 C +ATOM 3398 HA GLN A 222 5.602 -13.487 3.329 1.00 0.00 H +ATOM 3399 C GLN A 222 7.081 -13.648 4.971 1.00 0.00 C +ATOM 3400 O GLN A 222 7.842 -12.822 4.397 1.00 0.00 O +ATOM 3401 CB GLN A 222 4.629 -13.278 5.344 1.00 0.00 C +ATOM 3402 HB2 GLN A 222 5.096 -12.193 5.509 1.00 0.00 H +ATOM 3403 HB3 GLN A 222 4.615 -13.678 6.461 1.00 0.00 H +ATOM 3404 CG GLN A 222 3.289 -13.169 4.655 1.00 0.00 C +ATOM 3405 HG2 GLN A 222 3.413 -12.547 3.647 1.00 0.00 H +ATOM 3406 HG3 GLN A 222 2.707 -14.091 4.164 1.00 0.00 H +ATOM 3407 CD GLN A 222 2.143 -12.559 5.503 1.00 0.00 C +ATOM 3408 OE1 GLN A 222 1.970 -12.880 6.646 1.00 0.00 O +ATOM 3409 NE2 GLN A 222 1.330 -11.748 4.889 1.00 0.00 N +ATOM 3410 HE21 GLN A 222 0.379 -12.198 4.337 1.00 0.00 H +ATOM 3411 HE22 GLN A 222 1.375 -10.571 4.898 1.00 0.00 H +ATOM 3412 N VAL A 223 7.477 -14.336 6.025 1.00 0.00 N +ATOM 3413 H VAL A 223 6.776 -14.588 6.943 1.00 0.00 H +ATOM 3414 CA VAL A 223 8.811 -14.086 6.549 1.00 0.00 C +ATOM 3415 HA VAL A 223 8.803 -12.903 6.688 1.00 0.00 H +ATOM 3416 C VAL A 223 9.946 -14.599 5.603 1.00 0.00 C +ATOM 3417 O VAL A 223 11.027 -14.009 5.536 1.00 0.00 O +ATOM 3418 CB VAL A 223 8.966 -14.657 8.022 1.00 0.00 C +ATOM 3419 HB VAL A 223 8.132 -14.168 8.718 1.00 0.00 H +ATOM 3420 CG1 VAL A 223 8.968 -16.163 8.089 1.00 0.00 C +ATOM 3421 HG11 VAL A 223 8.780 -16.981 7.248 1.00 0.00 H +ATOM 3422 HG12 VAL A 223 8.245 -16.423 8.995 1.00 0.00 H +ATOM 3423 HG13 VAL A 223 10.053 -16.479 8.463 1.00 0.00 H +ATOM 3424 CG2 VAL A 223 10.243 -14.086 8.712 1.00 0.00 C +ATOM 3425 HG21 VAL A 223 10.523 -13.035 8.223 1.00 0.00 H +ATOM 3426 HG22 VAL A 223 11.298 -14.603 8.884 1.00 0.00 H +ATOM 3427 HG23 VAL A 223 9.895 -13.787 9.817 1.00 0.00 H +ATOM 3428 N LEU A 224 9.693 -15.675 4.823 1.00 0.00 N +ATOM 3429 H LEU A 224 8.706 -16.287 4.957 1.00 0.00 H +ATOM 3430 CA LEU A 224 10.628 -16.126 3.843 1.00 0.00 C +ATOM 3431 HA LEU A 224 11.680 -16.389 4.326 1.00 0.00 H +ATOM 3432 C LEU A 224 10.974 -14.996 2.873 1.00 0.00 C +ATOM 3433 O LEU A 224 12.120 -14.860 2.433 1.00 0.00 O +ATOM 3434 CB LEU A 224 10.173 -17.410 3.111 1.00 0.00 C +ATOM 3435 HB2 LEU A 224 9.163 -17.269 2.496 1.00 0.00 H +ATOM 3436 HB3 LEU A 224 10.917 -17.625 2.199 1.00 0.00 H +ATOM 3437 CG LEU A 224 10.285 -18.640 4.012 1.00 0.00 C +ATOM 3438 HG LEU A 224 9.973 -18.739 5.155 1.00 0.00 H +ATOM 3439 CD1 LEU A 224 9.389 -19.738 3.380 1.00 0.00 C +ATOM 3440 HD11 LEU A 224 9.036 -20.584 4.150 1.00 0.00 H +ATOM 3441 HD12 LEU A 224 8.494 -19.635 2.597 1.00 0.00 H +ATOM 3442 HD13 LEU A 224 10.139 -20.341 2.665 1.00 0.00 H +ATOM 3443 CD2 LEU A 224 11.788 -19.085 4.203 1.00 0.00 C +ATOM 3444 HD21 LEU A 224 11.822 -20.258 4.457 1.00 0.00 H +ATOM 3445 HD22 LEU A 224 12.493 -19.066 3.234 1.00 0.00 H +ATOM 3446 HD23 LEU A 224 12.487 -18.598 5.029 1.00 0.00 H +ATOM 3447 N LYS A 225 9.990 -14.171 2.533 1.00 0.00 N +ATOM 3448 H LYS A 225 8.861 -14.415 2.769 1.00 0.00 H +ATOM 3449 CA LYS A 225 10.233 -13.050 1.639 1.00 0.00 C +ATOM 3450 HA LYS A 225 10.855 -13.431 0.702 1.00 0.00 H +ATOM 3451 C LYS A 225 11.086 -11.932 2.269 1.00 0.00 C +ATOM 3452 O LYS A 225 11.918 -11.383 1.589 1.00 0.00 O +ATOM 3453 CB LYS A 225 8.932 -12.515 1.040 1.00 0.00 C +ATOM 3454 HB2 LYS A 225 8.113 -12.103 1.797 1.00 0.00 H +ATOM 3455 HB3 LYS A 225 9.208 -11.607 0.315 1.00 0.00 H +ATOM 3456 CG LYS A 225 8.291 -13.574 0.020 1.00 0.00 C +ATOM 3457 HG2 LYS A 225 8.277 -14.697 0.424 1.00 0.00 H +ATOM 3458 HG3 LYS A 225 8.998 -13.619 -0.943 1.00 0.00 H +ATOM 3459 CD LYS A 225 6.920 -13.239 -0.593 1.00 0.00 C +ATOM 3460 HD2 LYS A 225 6.951 -12.190 -1.157 1.00 0.00 H +ATOM 3461 HD3 LYS A 225 6.026 -13.297 0.191 1.00 0.00 H +ATOM 3462 CE LYS A 225 6.641 -14.239 -1.734 1.00 0.00 C +ATOM 3463 HE2 LYS A 225 6.593 -15.365 -1.361 1.00 0.00 H +ATOM 3464 HE3 LYS A 225 7.394 -14.232 -2.658 1.00 0.00 H +ATOM 3465 NZ LYS A 225 5.315 -14.045 -2.372 1.00 0.00 N +ATOM 3466 HZ1 LYS A 225 5.330 -13.380 -3.368 1.00 0.00 H +ATOM 3467 HZ2 LYS A 225 4.393 -13.665 -1.721 1.00 0.00 H +ATOM 3468 HZ3 LYS A 225 4.984 -15.123 -2.776 1.00 0.00 H +ATOM 3469 N PHE A 226 10.955 -11.685 3.585 1.00 0.00 N +ATOM 3470 H PHE A 226 9.909 -11.909 4.087 1.00 0.00 H +ATOM 3471 CA PHE A 226 11.892 -10.765 4.222 1.00 0.00 C +ATOM 3472 HA PHE A 226 11.864 -9.684 3.736 1.00 0.00 H +ATOM 3473 C PHE A 226 13.333 -11.283 4.035 1.00 0.00 C +ATOM 3474 O PHE A 226 14.221 -10.506 3.842 1.00 0.00 O +ATOM 3475 CB PHE A 226 11.680 -10.777 5.744 1.00 0.00 C +ATOM 3476 HB2 PHE A 226 11.721 -11.767 6.393 1.00 0.00 H +ATOM 3477 HB3 PHE A 226 12.478 -9.963 6.074 1.00 0.00 H +ATOM 3478 CG PHE A 226 10.472 -9.986 6.255 1.00 0.00 C +ATOM 3479 CD1 PHE A 226 9.402 -9.631 5.498 1.00 0.00 C +ATOM 3480 HD1 PHE A 226 9.118 -9.832 4.372 1.00 0.00 H +ATOM 3481 CD2 PHE A 226 10.457 -9.694 7.615 1.00 0.00 C +ATOM 3482 HD2 PHE A 226 11.048 -10.312 8.432 1.00 0.00 H +ATOM 3483 CE1 PHE A 226 8.307 -8.910 6.063 1.00 0.00 C +ATOM 3484 HE1 PHE A 226 7.627 -8.222 5.386 1.00 0.00 H +ATOM 3485 CE2 PHE A 226 9.410 -9.032 8.165 1.00 0.00 C +ATOM 3486 HE2 PHE A 226 9.241 -9.076 9.334 1.00 0.00 H +ATOM 3487 CZ PHE A 226 8.360 -8.560 7.362 1.00 0.00 C +ATOM 3488 HZ PHE A 226 7.555 -7.920 7.945 1.00 0.00 H +ATOM 3489 N ARG A 227 13.498 -12.610 4.117 1.00 0.00 N +ATOM 3490 H ARG A 227 12.627 -13.401 4.065 1.00 0.00 H +ATOM 3491 CA ARG A 227 14.812 -13.239 4.081 1.00 0.00 C +ATOM 3492 HA ARG A 227 15.650 -12.566 4.583 1.00 0.00 H +ATOM 3493 C ARG A 227 15.431 -13.276 2.697 1.00 0.00 C +ATOM 3494 O ARG A 227 16.596 -13.671 2.593 1.00 0.00 O +ATOM 3495 CB ARG A 227 14.751 -14.681 4.638 1.00 0.00 C +ATOM 3496 HB2 ARG A 227 14.200 -15.372 3.835 1.00 0.00 H +ATOM 3497 HB3 ARG A 227 15.820 -15.212 4.563 1.00 0.00 H +ATOM 3498 CG ARG A 227 14.259 -14.705 6.082 1.00 0.00 C +ATOM 3499 HG2 ARG A 227 14.876 -13.983 6.790 1.00 0.00 H +ATOM 3500 HG3 ARG A 227 13.127 -14.462 6.344 1.00 0.00 H +ATOM 3501 CD ARG A 227 14.339 -16.175 6.622 1.00 0.00 C +ATOM 3502 HD2 ARG A 227 13.941 -16.932 5.794 1.00 0.00 H +ATOM 3503 HD3 ARG A 227 15.456 -16.583 6.714 1.00 0.00 H +ATOM 3504 NE ARG A 227 13.758 -16.267 7.973 1.00 0.00 N +ATOM 3505 HE ARG A 227 13.857 -15.481 8.849 1.00 0.00 H +ATOM 3506 CZ ARG A 227 12.803 -17.134 8.339 1.00 0.00 C +ATOM 3507 NH1 ARG A 227 12.381 -18.072 7.496 1.00 0.00 N +ATOM 3508 HH11 ARG A 227 11.377 -18.699 7.601 1.00 0.00 H +ATOM 3509 HH12 ARG A 227 13.220 -18.874 7.229 1.00 0.00 H +ATOM 3510 NH2 ARG A 227 12.319 -17.071 9.548 1.00 0.00 N +ATOM 3511 HH21 ARG A 227 12.543 -18.149 9.974 1.00 0.00 H +ATOM 3512 HH22 ARG A 227 11.897 -16.286 10.328 1.00 0.00 H +ATOM 3513 N LYS A 228 14.733 -12.813 1.668 1.00 0.00 N +ATOM 3514 H LYS A 228 13.641 -12.382 1.601 1.00 0.00 H +ATOM 3515 CA LYS A 228 15.333 -12.697 0.310 1.00 0.00 C +ATOM 3516 HA LYS A 228 16.162 -13.521 0.087 1.00 0.00 H +ATOM 3517 C LYS A 228 15.874 -11.333 0.048 1.00 0.00 C +ATOM 3518 O LYS A 228 16.564 -11.124 -0.959 1.00 0.00 O +ATOM 3519 CB LYS A 228 14.251 -12.984 -0.737 1.00 0.00 C +ATOM 3520 HB2 LYS A 228 14.802 -12.872 -1.794 1.00 0.00 H +ATOM 3521 HB3 LYS A 228 13.426 -12.131 -0.856 1.00 0.00 H +ATOM 3522 CG LYS A 228 13.651 -14.372 -0.663 1.00 0.00 C +ATOM 3523 HG2 LYS A 228 13.237 -14.768 0.381 1.00 0.00 H +ATOM 3524 HG3 LYS A 228 14.497 -15.208 -0.810 1.00 0.00 H +ATOM 3525 CD LYS A 228 12.539 -14.543 -1.658 1.00 0.00 C +ATOM 3526 HD2 LYS A 228 11.726 -13.689 -1.837 1.00 0.00 H +ATOM 3527 HD3 LYS A 228 12.009 -15.567 -1.341 1.00 0.00 H +ATOM 3528 CE LYS A 228 13.113 -14.671 -3.095 1.00 0.00 C +ATOM 3529 HE2 LYS A 228 13.271 -13.705 -3.765 1.00 0.00 H +ATOM 3530 HE3 LYS A 228 14.185 -15.173 -3.194 1.00 0.00 H +ATOM 3531 NZ LYS A 228 12.228 -15.537 -3.888 1.00 0.00 N +ATOM 3532 HZ1 LYS A 228 11.304 -16.147 -3.438 1.00 0.00 H +ATOM 3533 HZ2 LYS A 228 12.934 -16.395 -4.336 1.00 0.00 H +ATOM 3534 HZ3 LYS A 228 11.748 -15.053 -4.873 1.00 0.00 H +ATOM 3535 N LEU A 229 15.681 -10.385 0.991 1.00 0.00 N +ATOM 3536 H LEU A 229 15.802 -10.824 2.081 1.00 0.00 H +ATOM 3537 CA LEU A 229 16.282 -9.081 0.835 1.00 0.00 C +ATOM 3538 HA LEU A 229 16.033 -8.842 -0.302 1.00 0.00 H +ATOM 3539 C LEU A 229 17.813 -9.201 0.975 1.00 0.00 C +ATOM 3540 O LEU A 229 18.329 -10.265 1.378 1.00 0.00 O +ATOM 3541 CB LEU A 229 15.828 -8.098 1.920 1.00 0.00 C +ATOM 3542 HB2 LEU A 229 15.732 -8.759 2.899 1.00 0.00 H +ATOM 3543 HB3 LEU A 229 16.437 -7.100 2.117 1.00 0.00 H +ATOM 3544 CG LEU A 229 14.404 -7.637 1.714 1.00 0.00 C +ATOM 3545 HG LEU A 229 13.730 -8.543 1.331 1.00 0.00 H +ATOM 3546 CD1 LEU A 229 13.858 -7.062 2.991 1.00 0.00 C +ATOM 3547 HD11 LEU A 229 12.709 -6.850 2.771 1.00 0.00 H +ATOM 3548 HD12 LEU A 229 13.859 -7.798 3.926 1.00 0.00 H +ATOM 3549 HD13 LEU A 229 14.458 -6.055 3.205 1.00 0.00 H +ATOM 3550 CD2 LEU A 229 14.337 -6.537 0.626 1.00 0.00 C +ATOM 3551 HD21 LEU A 229 15.001 -6.867 -0.301 1.00 0.00 H +ATOM 3552 HD22 LEU A 229 13.251 -6.516 0.139 1.00 0.00 H +ATOM 3553 HD23 LEU A 229 14.493 -5.428 1.025 1.00 0.00 H +ATOM 3554 N ASN A 230 18.538 -8.160 0.556 1.00 0.00 N +ATOM 3555 H ASN A 230 18.039 -7.091 0.568 1.00 0.00 H +ATOM 3556 CA ASN A 230 20.010 -8.132 0.675 1.00 0.00 C +ATOM 3557 HA ASN A 230 20.492 -9.149 1.039 1.00 0.00 H +ATOM 3558 C ASN A 230 20.519 -7.001 1.520 1.00 0.00 C +ATOM 3559 O ASN A 230 19.984 -5.891 1.427 1.00 0.00 O +ATOM 3560 CB ASN A 230 20.636 -7.867 -0.747 1.00 0.00 C +ATOM 3561 HB2 ASN A 230 21.739 -7.520 -0.500 1.00 0.00 H +ATOM 3562 HB3 ASN A 230 20.204 -7.048 -1.477 1.00 0.00 H +ATOM 3563 CG ASN A 230 20.637 -9.081 -1.687 1.00 0.00 C +ATOM 3564 OD1 ASN A 230 21.177 -8.947 -2.782 1.00 0.00 O +ATOM 3565 ND2 ASN A 230 20.012 -10.224 -1.334 1.00 0.00 N +ATOM 3566 HD21 ASN A 230 20.714 -10.890 -0.656 1.00 0.00 H +ATOM 3567 HD22 ASN A 230 19.010 -10.741 -1.694 1.00 0.00 H +ATOM 3568 N PHE A 231 21.587 -7.238 2.283 1.00 0.00 N +ATOM 3569 H PHE A 231 21.771 -8.235 2.890 1.00 0.00 H +ATOM 3570 CA PHE A 231 22.288 -6.174 2.978 1.00 0.00 C +ATOM 3571 HA PHE A 231 21.643 -5.320 3.486 1.00 0.00 H +ATOM 3572 C PHE A 231 23.099 -5.337 1.992 1.00 0.00 C +ATOM 3573 O PHE A 231 23.316 -4.121 2.212 1.00 0.00 O +ATOM 3574 CB PHE A 231 23.286 -6.718 3.979 1.00 0.00 C +ATOM 3575 HB2 PHE A 231 24.010 -6.101 4.705 1.00 0.00 H +ATOM 3576 HB3 PHE A 231 24.275 -6.938 3.354 1.00 0.00 H +ATOM 3577 CG PHE A 231 22.692 -7.343 5.254 1.00 0.00 C +ATOM 3578 CD1 PHE A 231 21.932 -6.548 6.139 1.00 0.00 C +ATOM 3579 HD1 PHE A 231 22.592 -5.612 6.448 1.00 0.00 H +ATOM 3580 CD2 PHE A 231 23.018 -8.631 5.637 1.00 0.00 C +ATOM 3581 HD2 PHE A 231 24.095 -9.052 5.366 1.00 0.00 H +ATOM 3582 CE1 PHE A 231 21.440 -7.103 7.329 1.00 0.00 C +ATOM 3583 HE1 PHE A 231 21.044 -6.355 8.154 1.00 0.00 H +ATOM 3584 CE2 PHE A 231 22.614 -9.157 6.848 1.00 0.00 C +ATOM 3585 HE2 PHE A 231 23.251 -10.068 7.271 1.00 0.00 H +ATOM 3586 CZ PHE A 231 21.844 -8.389 7.704 1.00 0.00 C +ATOM 3587 HZ PHE A 231 21.634 -8.909 8.745 1.00 0.00 H +ATOM 3588 N ASN A 232 23.675 -6.025 0.971 1.00 0.00 N +ATOM 3589 H ASN A 232 23.989 -7.136 1.217 1.00 0.00 H +ATOM 3590 CA ASN A 232 24.567 -5.364 -0.002 1.00 0.00 C +ATOM 3591 HA ASN A 232 25.378 -4.832 0.696 1.00 0.00 H +ATOM 3592 C ASN A 232 23.811 -4.499 -0.990 1.00 0.00 C +ATOM 3593 O ASN A 232 22.591 -4.605 -1.169 1.00 0.00 O +ATOM 3594 CB ASN A 232 25.267 -6.497 -0.805 1.00 0.00 C +ATOM 3595 HB2 ASN A 232 25.959 -7.197 -0.128 1.00 0.00 H +ATOM 3596 HB3 ASN A 232 26.150 -5.859 -1.279 1.00 0.00 H +ATOM 3597 CG ASN A 232 24.232 -7.489 -1.361 1.00 0.00 C +ATOM 3598 OD1 ASN A 232 23.760 -8.367 -0.641 1.00 0.00 O +ATOM 3599 ND2 ASN A 232 23.878 -7.335 -2.656 1.00 0.00 N +ATOM 3600 HD21 ASN A 232 23.000 -7.788 -3.309 1.00 0.00 H +ATOM 3601 HD22 ASN A 232 24.773 -7.355 -3.432 1.00 0.00 H +ATOM 3602 N GLY A 233 24.593 -3.643 -1.634 1.00 0.00 N +ATOM 3603 H GLY A 233 25.358 -3.100 -0.902 1.00 0.00 H +ATOM 3604 CA GLY A 233 24.097 -2.866 -2.756 1.00 0.00 C +ATOM 3605 HA2 GLY A 233 23.193 -2.108 -2.795 1.00 0.00 H +ATOM 3606 HA3 GLY A 233 24.962 -2.051 -2.815 1.00 0.00 H +ATOM 3607 C GLY A 233 24.018 -3.683 -4.059 1.00 0.00 C +ATOM 3608 O GLY A 233 24.547 -4.841 -4.179 1.00 0.00 O +ATOM 3609 N GLU A 234 23.363 -3.082 -5.063 1.00 0.00 N +ATOM 3610 H GLU A 234 23.594 -1.921 -5.182 1.00 0.00 H +ATOM 3611 CA GLU A 234 23.194 -3.732 -6.387 1.00 0.00 C +ATOM 3612 HA GLU A 234 22.436 -4.644 -6.344 1.00 0.00 H +ATOM 3613 C GLU A 234 24.525 -4.140 -6.984 1.00 0.00 C +ATOM 3614 O GLU A 234 25.478 -3.411 -6.934 1.00 0.00 O +ATOM 3615 CB GLU A 234 22.527 -2.730 -7.338 1.00 0.00 C +ATOM 3616 HB2 GLU A 234 23.309 -1.854 -7.561 1.00 0.00 H +ATOM 3617 HB3 GLU A 234 21.540 -2.224 -6.909 1.00 0.00 H +ATOM 3618 CG GLU A 234 22.201 -3.294 -8.691 1.00 0.00 C +ATOM 3619 HG2 GLU A 234 23.116 -3.599 -9.397 1.00 0.00 H +ATOM 3620 HG3 GLU A 234 21.391 -4.169 -8.769 1.00 0.00 H +ATOM 3621 CD GLU A 234 21.604 -2.219 -9.565 1.00 0.00 C +ATOM 3622 OE1 GLU A 234 21.479 -1.017 -9.140 1.00 0.00 O +ATOM 3623 OE2 GLU A 234 21.280 -2.567 -10.681 1.00 0.00 O +ATOM 3624 N GLY A 235 24.550 -5.352 -7.498 1.00 0.00 N +ATOM 3625 H GLY A 235 23.718 -6.200 -7.555 1.00 0.00 H +ATOM 3626 CA GLY A 235 25.713 -5.910 -8.189 1.00 0.00 C +ATOM 3627 HA2 GLY A 235 25.454 -6.879 -8.837 1.00 0.00 H +ATOM 3628 HA3 GLY A 235 26.234 -5.149 -8.949 1.00 0.00 H +ATOM 3629 C GLY A 235 26.851 -6.379 -7.260 1.00 0.00 C +ATOM 3630 O GLY A 235 27.865 -6.861 -7.758 1.00 0.00 O +ATOM 3631 N GLU A 236 26.747 -6.155 -5.947 1.00 0.00 N +ATOM 3632 H GLU A 236 26.045 -5.277 -5.598 1.00 0.00 H +ATOM 3633 CA GLU A 236 27.751 -6.571 -4.989 1.00 0.00 C +ATOM 3634 HA GLU A 236 28.768 -6.464 -5.602 1.00 0.00 H +ATOM 3635 C GLU A 236 27.518 -8.016 -4.593 1.00 0.00 C +ATOM 3636 O GLU A 236 26.405 -8.537 -4.833 1.00 0.00 O +ATOM 3637 CB GLU A 236 27.703 -5.673 -3.751 1.00 0.00 C +ATOM 3638 HB2 GLU A 236 28.575 -5.855 -2.958 1.00 0.00 H +ATOM 3639 HB3 GLU A 236 26.653 -5.958 -3.291 1.00 0.00 H +ATOM 3640 CG GLU A 236 28.072 -4.170 -4.006 1.00 0.00 C +ATOM 3641 HG2 GLU A 236 27.831 -3.592 -5.018 1.00 0.00 H +ATOM 3642 HG3 GLU A 236 29.259 -4.034 -3.959 1.00 0.00 H +ATOM 3643 CD GLU A 236 27.774 -3.237 -2.828 1.00 0.00 C +ATOM 3644 OE1 GLU A 236 27.459 -3.723 -1.718 1.00 0.00 O +ATOM 3645 OE2 GLU A 236 27.793 -2.005 -3.082 1.00 0.00 O +ATOM 3646 N PRO A 237 28.517 -8.673 -3.975 1.00 0.00 N +ATOM 3647 CA PRO A 237 28.292 -10.076 -3.581 1.00 0.00 C +ATOM 3648 HA PRO A 237 28.277 -10.688 -4.605 1.00 0.00 H +ATOM 3649 C PRO A 237 27.076 -10.191 -2.656 1.00 0.00 C +ATOM 3650 O PRO A 237 26.924 -9.405 -1.707 1.00 0.00 O +ATOM 3651 CB PRO A 237 29.614 -10.459 -2.838 1.00 0.00 C +ATOM 3652 HB2 PRO A 237 29.643 -10.394 -1.646 1.00 0.00 H +ATOM 3653 HB3 PRO A 237 29.852 -11.604 -3.084 1.00 0.00 H +ATOM 3654 CG PRO A 237 30.620 -9.425 -3.383 1.00 0.00 C +ATOM 3655 HG2 PRO A 237 31.416 -9.271 -4.266 1.00 0.00 H +ATOM 3656 HG3 PRO A 237 31.544 -9.968 -2.845 1.00 0.00 H +ATOM 3657 CD PRO A 237 29.854 -8.166 -3.598 1.00 0.00 C +ATOM 3658 HD2 PRO A 237 30.001 -7.741 -2.492 1.00 0.00 H +ATOM 3659 HD3 PRO A 237 30.398 -7.324 -4.248 1.00 0.00 H +ATOM 3660 N GLU A 238 26.248 -11.154 -2.970 1.00 0.00 N +ATOM 3661 H GLU A 238 26.618 -12.110 -3.574 1.00 0.00 H +ATOM 3662 CA GLU A 238 24.984 -11.248 -2.271 1.00 0.00 C +ATOM 3663 HA GLU A 238 24.558 -10.202 -2.638 1.00 0.00 H +ATOM 3664 C GLU A 238 25.141 -11.721 -0.836 1.00 0.00 C +ATOM 3665 O GLU A 238 25.684 -12.773 -0.575 1.00 0.00 O +ATOM 3666 CB GLU A 238 23.987 -12.186 -2.977 1.00 0.00 C +ATOM 3667 HB2 GLU A 238 23.820 -11.903 -4.128 1.00 0.00 H +ATOM 3668 HB3 GLU A 238 24.416 -13.299 -3.064 1.00 0.00 H +ATOM 3669 CG GLU A 238 22.588 -12.224 -2.210 1.00 0.00 C +ATOM 3670 HG2 GLU A 238 22.747 -12.995 -1.318 1.00 0.00 H +ATOM 3671 HG3 GLU A 238 22.350 -11.066 -2.252 1.00 0.00 H +ATOM 3672 CD GLU A 238 21.507 -12.953 -2.980 1.00 0.00 C +ATOM 3673 OE1 GLU A 238 21.875 -14.050 -3.450 1.00 0.00 O +ATOM 3674 OE2 GLU A 238 20.309 -12.501 -3.059 1.00 0.00 O +ATOM 3675 N GLU A 239 24.632 -10.907 0.099 1.00 0.00 N +ATOM 3676 H GLU A 239 25.226 -9.901 -0.086 1.00 0.00 H +ATOM 3677 CA GLU A 239 24.576 -11.213 1.525 1.00 0.00 C +ATOM 3678 HA GLU A 239 25.079 -12.280 1.702 1.00 0.00 H +ATOM 3679 C GLU A 239 23.138 -11.090 1.920 1.00 0.00 C +ATOM 3680 O GLU A 239 22.600 -9.970 1.983 1.00 0.00 O +ATOM 3681 CB GLU A 239 25.356 -10.192 2.307 1.00 0.00 C +ATOM 3682 HB2 GLU A 239 25.024 -9.057 2.347 1.00 0.00 H +ATOM 3683 HB3 GLU A 239 25.200 -10.639 3.404 1.00 0.00 H +ATOM 3684 CG GLU A 239 26.815 -10.169 2.245 1.00 0.00 C +ATOM 3685 HG2 GLU A 239 27.505 -10.072 1.275 1.00 0.00 H +ATOM 3686 HG3 GLU A 239 27.387 -11.040 2.837 1.00 0.00 H +ATOM 3687 CD GLU A 239 27.235 -8.896 2.999 1.00 0.00 C +ATOM 3688 OE1 GLU A 239 27.307 -7.773 2.362 1.00 0.00 O +ATOM 3689 OE2 GLU A 239 27.352 -9.033 4.245 1.00 0.00 O +ATOM 3690 N LEU A 240 22.474 -12.214 2.185 1.00 0.00 N +ATOM 3691 H LEU A 240 23.146 -13.127 2.549 1.00 0.00 H +ATOM 3692 CA LEU A 240 21.043 -12.130 2.515 1.00 0.00 C +ATOM 3693 HA LEU A 240 20.575 -11.697 1.520 1.00 0.00 H +ATOM 3694 C LEU A 240 20.848 -11.302 3.812 1.00 0.00 C +ATOM 3695 O LEU A 240 21.589 -11.433 4.795 1.00 0.00 O +ATOM 3696 CB LEU A 240 20.497 -13.533 2.707 1.00 0.00 C +ATOM 3697 HB2 LEU A 240 21.173 -14.126 3.489 1.00 0.00 H +ATOM 3698 HB3 LEU A 240 19.380 -13.558 3.109 1.00 0.00 H +ATOM 3699 CG LEU A 240 20.453 -14.452 1.478 1.00 0.00 C +ATOM 3700 HG LEU A 240 21.518 -14.730 1.013 1.00 0.00 H +ATOM 3701 CD1 LEU A 240 20.014 -15.879 1.847 1.00 0.00 C +ATOM 3702 HD11 LEU A 240 19.955 -16.574 0.872 1.00 0.00 H +ATOM 3703 HD12 LEU A 240 20.797 -16.477 2.529 1.00 0.00 H +ATOM 3704 HD13 LEU A 240 18.972 -16.083 2.399 1.00 0.00 H +ATOM 3705 CD2 LEU A 240 19.581 -13.808 0.442 1.00 0.00 C +ATOM 3706 HD21 LEU A 240 20.149 -13.154 -0.372 1.00 0.00 H +ATOM 3707 HD22 LEU A 240 19.225 -14.692 -0.290 1.00 0.00 H +ATOM 3708 HD23 LEU A 240 18.518 -13.403 0.796 1.00 0.00 H +ATOM 3709 N MET A 241 19.790 -10.483 3.770 1.00 0.00 N +ATOM 3710 H MET A 241 18.964 -10.561 2.950 1.00 0.00 H +ATOM 3711 CA MET A 241 19.419 -9.648 4.952 1.00 0.00 C +ATOM 3712 HA MET A 241 20.418 -9.210 5.415 1.00 0.00 H +ATOM 3713 C MET A 241 18.654 -10.545 5.906 1.00 0.00 C +ATOM 3714 O MET A 241 17.451 -10.728 5.781 1.00 0.00 O +ATOM 3715 CB MET A 241 18.555 -8.464 4.472 1.00 0.00 C +ATOM 3716 HB2 MET A 241 17.498 -8.616 3.974 1.00 0.00 H +ATOM 3717 HB3 MET A 241 19.303 -7.815 3.821 1.00 0.00 H +ATOM 3718 CG MET A 241 18.226 -7.514 5.613 1.00 0.00 C +ATOM 3719 HG2 MET A 241 17.518 -7.877 6.492 1.00 0.00 H +ATOM 3720 HG3 MET A 241 19.158 -7.049 6.180 1.00 0.00 H +ATOM 3721 SD MET A 241 17.281 -6.098 5.112 1.00 0.00 S +ATOM 3722 CE MET A 241 18.570 -5.018 4.451 1.00 0.00 C +ATOM 3723 HE1 MET A 241 19.705 -5.319 4.614 1.00 0.00 H +ATOM 3724 HE2 MET A 241 18.305 -4.057 5.096 1.00 0.00 H +ATOM 3725 HE3 MET A 241 18.084 -4.954 3.371 1.00 0.00 H +ATOM 3726 N VAL A 242 19.421 -11.155 6.813 1.00 0.00 N +ATOM 3727 H VAL A 242 20.603 -11.100 6.854 1.00 0.00 H +ATOM 3728 CA VAL A 242 18.893 -12.096 7.837 1.00 0.00 C +ATOM 3729 HA VAL A 242 17.875 -11.556 8.126 1.00 0.00 H +ATOM 3730 C VAL A 242 19.673 -11.812 9.122 1.00 0.00 C +ATOM 3731 O VAL A 242 20.806 -11.374 9.062 1.00 0.00 O +ATOM 3732 CB VAL A 242 18.972 -13.610 7.488 1.00 0.00 C +ATOM 3733 HB VAL A 242 18.776 -14.273 8.450 1.00 0.00 H +ATOM 3734 CG1 VAL A 242 18.029 -13.981 6.304 1.00 0.00 C +ATOM 3735 HG11 VAL A 242 16.982 -13.625 6.725 1.00 0.00 H +ATOM 3736 HG12 VAL A 242 18.311 -13.471 5.266 1.00 0.00 H +ATOM 3737 HG13 VAL A 242 18.131 -15.143 6.035 1.00 0.00 H +ATOM 3738 CG2 VAL A 242 20.414 -14.022 7.192 1.00 0.00 C +ATOM 3739 HG21 VAL A 242 20.570 -15.210 7.158 1.00 0.00 H +ATOM 3740 HG22 VAL A 242 21.304 -13.720 7.933 1.00 0.00 H +ATOM 3741 HG23 VAL A 242 20.859 -13.773 6.111 1.00 0.00 H +ATOM 3742 N ASP A 243 19.038 -12.158 10.248 1.00 0.00 N +ATOM 3743 H ASP A 243 18.029 -12.769 10.189 1.00 0.00 H +ATOM 3744 CA ASP A 243 19.710 -11.952 11.538 1.00 0.00 C +ATOM 3745 HA ASP A 243 18.960 -12.127 12.432 1.00 0.00 H +ATOM 3746 C ASP A 243 20.189 -10.515 11.769 1.00 0.00 C +ATOM 3747 O ASP A 243 21.283 -10.294 12.275 1.00 0.00 O +ATOM 3748 CB ASP A 243 20.799 -13.016 11.796 1.00 0.00 C +ATOM 3749 HB2 ASP A 243 21.477 -12.937 12.777 1.00 0.00 H +ATOM 3750 HB3 ASP A 243 21.648 -13.080 10.957 1.00 0.00 H +ATOM 3751 CG ASP A 243 20.213 -14.405 11.868 1.00 0.00 C +ATOM 3752 OD1 ASP A 243 19.142 -14.571 12.511 1.00 0.00 O +ATOM 3753 OD2 ASP A 243 20.780 -15.352 11.217 1.00 0.00 O +ATOM 3754 N ASN A 244 19.266 -9.550 11.435 1.00 0.00 N +ATOM 3755 H ASN A 244 18.287 -9.927 10.896 1.00 0.00 H +ATOM 3756 CA ASN A 244 19.597 -8.159 11.653 1.00 0.00 C +ATOM 3757 HA ASN A 244 20.764 -8.023 11.508 1.00 0.00 H +ATOM 3758 C ASN A 244 19.053 -7.673 13.007 1.00 0.00 C +ATOM 3759 O ASN A 244 18.354 -6.627 13.061 1.00 0.00 O +ATOM 3760 CB ASN A 244 19.065 -7.310 10.453 1.00 0.00 C +ATOM 3761 HB2 ASN A 244 19.398 -7.833 9.440 1.00 0.00 H +ATOM 3762 HB3 ASN A 244 19.277 -6.153 10.616 1.00 0.00 H +ATOM 3763 CG ASN A 244 17.560 -7.464 10.261 1.00 0.00 C +ATOM 3764 OD1 ASN A 244 16.919 -8.332 10.838 1.00 0.00 O +ATOM 3765 ND2 ASN A 244 16.983 -6.578 9.462 1.00 0.00 N +ATOM 3766 HD21 ASN A 244 16.354 -6.792 8.490 1.00 0.00 H +ATOM 3767 HD22 ASN A 244 16.889 -5.560 10.064 1.00 0.00 H +ATOM 3768 N TRP A 245 19.317 -8.470 14.026 1.00 0.00 N +ATOM 3769 H TRP A 245 20.221 -9.236 14.067 1.00 0.00 H +ATOM 3770 CA TRP A 245 18.848 -8.163 15.371 1.00 0.00 C +ATOM 3771 HA TRP A 245 18.510 -7.025 15.333 1.00 0.00 H +ATOM 3772 C TRP A 245 20.044 -8.062 16.306 1.00 0.00 C +ATOM 3773 O TRP A 245 21.032 -8.772 16.197 1.00 0.00 O +ATOM 3774 CB TRP A 245 17.878 -9.249 15.897 1.00 0.00 C +ATOM 3775 HB2 TRP A 245 16.890 -9.005 15.291 1.00 0.00 H +ATOM 3776 HB3 TRP A 245 17.546 -9.419 17.023 1.00 0.00 H +ATOM 3777 CG TRP A 245 18.373 -10.666 15.734 1.00 0.00 C +ATOM 3778 CD1 TRP A 245 18.303 -11.442 14.583 1.00 0.00 C +ATOM 3779 HD1 TRP A 245 17.611 -10.901 13.793 1.00 0.00 H +ATOM 3780 CD2 TRP A 245 19.031 -11.483 16.721 1.00 0.00 C +ATOM 3781 NE1 TRP A 245 18.851 -12.686 14.836 1.00 0.00 N +ATOM 3782 HE1 TRP A 245 19.596 -13.485 14.384 1.00 0.00 H +ATOM 3783 CE2 TRP A 245 19.270 -12.752 16.147 1.00 0.00 C +ATOM 3784 CE3 TRP A 245 19.304 -11.293 18.103 1.00 0.00 C +ATOM 3785 HE3 TRP A 245 18.800 -10.518 18.837 1.00 0.00 H +ATOM 3786 CZ2 TRP A 245 19.916 -13.794 16.853 1.00 0.00 C +ATOM 3787 HZ2 TRP A 245 20.784 -14.468 16.404 1.00 0.00 H +ATOM 3788 CZ3 TRP A 245 19.886 -12.357 18.856 1.00 0.00 C +ATOM 3789 HZ3 TRP A 245 20.055 -12.522 20.016 1.00 0.00 H +ATOM 3790 CH2 TRP A 245 20.222 -13.576 18.178 1.00 0.00 C +ATOM 3791 HH2 TRP A 245 21.121 -14.203 18.642 1.00 0.00 H +ATOM 3792 N ARG A 246 19.925 -7.184 17.298 1.00 0.00 N +ATOM 3793 H ARG A 246 18.892 -6.974 17.822 1.00 0.00 H +ATOM 3794 CA ARG A 246 20.913 -7.050 18.373 1.00 0.00 C +ATOM 3795 HA ARG A 246 21.944 -7.331 17.860 1.00 0.00 H +ATOM 3796 C ARG A 246 20.433 -7.930 19.530 1.00 0.00 C +ATOM 3797 O ARG A 246 19.241 -7.891 19.880 1.00 0.00 O +ATOM 3798 CB ARG A 246 20.979 -5.564 18.863 1.00 0.00 C +ATOM 3799 HB2 ARG A 246 19.911 -5.126 19.130 1.00 0.00 H +ATOM 3800 HB3 ARG A 246 21.127 -5.006 17.820 1.00 0.00 H +ATOM 3801 CG ARG A 246 22.085 -5.284 19.841 1.00 0.00 C +ATOM 3802 HG2 ARG A 246 23.075 -5.267 19.185 1.00 0.00 H +ATOM 3803 HG3 ARG A 246 22.060 -6.102 20.698 1.00 0.00 H +ATOM 3804 CD ARG A 246 21.974 -3.924 20.449 1.00 0.00 C +ATOM 3805 HD2 ARG A 246 21.524 -3.007 19.846 1.00 0.00 H +ATOM 3806 HD3 ARG A 246 21.444 -4.119 21.494 1.00 0.00 H +ATOM 3807 NE ARG A 246 23.251 -3.679 21.145 1.00 0.00 N +ATOM 3808 HE ARG A 246 24.256 -4.294 21.003 1.00 0.00 H +ATOM 3809 CZ ARG A 246 23.459 -2.663 21.986 1.00 0.00 C +ATOM 3810 NH1 ARG A 246 22.461 -1.809 22.333 1.00 0.00 N +ATOM 3811 HH11 ARG A 246 21.718 -1.077 21.774 1.00 0.00 H +ATOM 3812 HH12 ARG A 246 22.289 -1.847 23.495 1.00 0.00 H +ATOM 3813 NH2 ARG A 246 24.681 -2.425 22.468 1.00 0.00 N +ATOM 3814 HH21 ARG A 246 25.506 -3.268 22.636 1.00 0.00 H +ATOM 3815 HH22 ARG A 246 24.864 -1.522 23.204 1.00 0.00 H +ATOM 3816 N PRO A 247 21.363 -8.674 20.178 1.00 0.00 N +ATOM 3817 CA PRO A 247 20.908 -9.492 21.335 1.00 0.00 C +ATOM 3818 HA PRO A 247 19.958 -10.161 21.086 1.00 0.00 H +ATOM 3819 C PRO A 247 20.565 -8.598 22.567 1.00 0.00 C +ATOM 3820 O PRO A 247 20.919 -7.400 22.670 1.00 0.00 O +ATOM 3821 CB PRO A 247 22.112 -10.376 21.646 1.00 0.00 C +ATOM 3822 HB2 PRO A 247 21.944 -11.555 21.537 1.00 0.00 H +ATOM 3823 HB3 PRO A 247 22.527 -10.325 22.767 1.00 0.00 H +ATOM 3824 CG PRO A 247 23.161 -9.936 20.762 1.00 0.00 C +ATOM 3825 HG2 PRO A 247 23.517 -10.915 20.168 1.00 0.00 H +ATOM 3826 HG3 PRO A 247 24.133 -9.753 21.438 1.00 0.00 H +ATOM 3827 CD PRO A 247 22.791 -8.889 19.860 1.00 0.00 C +ATOM 3828 HD2 PRO A 247 23.592 -8.049 20.121 1.00 0.00 H +ATOM 3829 HD3 PRO A 247 22.851 -9.362 18.765 1.00 0.00 H +ATOM 3830 N ALA A 248 19.888 -9.281 23.491 1.00 0.00 N +ATOM 3831 H ALA A 248 19.684 -10.449 23.422 1.00 0.00 H +ATOM 3832 CA ALA A 248 19.507 -8.591 24.745 1.00 0.00 C +ATOM 3833 HA ALA A 248 18.580 -7.901 24.494 1.00 0.00 H +ATOM 3834 C ALA A 248 20.758 -8.069 25.477 1.00 0.00 C +ATOM 3835 O ALA A 248 21.819 -8.770 25.551 1.00 0.00 O +ATOM 3836 CB ALA A 248 18.749 -9.568 25.663 1.00 0.00 C +ATOM 3837 HB1 ALA A 248 19.090 -10.706 25.504 1.00 0.00 H +ATOM 3838 HB2 ALA A 248 19.069 -9.453 26.808 1.00 0.00 H +ATOM 3839 HB3 ALA A 248 17.584 -9.571 25.420 1.00 0.00 H +ATOM 3840 N GLN A 249 20.639 -6.860 26.053 1.00 0.00 N +ATOM 3841 H GLN A 249 19.612 -6.747 26.619 1.00 0.00 H +ATOM 3842 CA GLN A 249 21.668 -6.178 26.769 1.00 0.00 C +ATOM 3843 HA GLN A 249 22.620 -6.896 26.747 1.00 0.00 H +ATOM 3844 C GLN A 249 21.380 -6.195 28.272 1.00 0.00 C +ATOM 3845 O GLN A 249 20.218 -6.330 28.683 1.00 0.00 O +ATOM 3846 CB GLN A 249 21.792 -4.734 26.249 1.00 0.00 C +ATOM 3847 HB2 GLN A 249 20.837 -4.143 26.641 1.00 0.00 H +ATOM 3848 HB3 GLN A 249 22.774 -4.223 26.688 1.00 0.00 H +ATOM 3849 CG GLN A 249 22.083 -4.698 24.733 1.00 0.00 C +ATOM 3850 HG2 GLN A 249 21.292 -5.339 24.124 1.00 0.00 H +ATOM 3851 HG3 GLN A 249 21.852 -3.559 24.524 1.00 0.00 H +ATOM 3852 CD GLN A 249 23.393 -5.383 24.408 1.00 0.00 C +ATOM 3853 OE1 GLN A 249 24.442 -5.087 25.037 1.00 0.00 O +ATOM 3854 NE2 GLN A 249 23.350 -6.375 23.508 1.00 0.00 N +ATOM 3855 HE21 GLN A 249 23.921 -7.275 24.043 1.00 0.00 H +ATOM 3856 HE22 GLN A 249 23.752 -6.444 22.397 1.00 0.00 H +ATOM 3857 N PRO A 250 22.382 -5.884 29.097 1.00 0.00 N +ATOM 3858 CA PRO A 250 22.125 -5.897 30.546 1.00 0.00 C +ATOM 3859 HA PRO A 250 21.912 -7.046 30.793 1.00 0.00 H +ATOM 3860 C PRO A 250 21.064 -4.894 31.013 1.00 0.00 C +ATOM 3861 O PRO A 250 21.082 -3.710 30.627 1.00 0.00 O +ATOM 3862 CB PRO A 250 23.495 -5.538 31.128 1.00 0.00 C +ATOM 3863 HB2 PRO A 250 23.749 -6.083 32.162 1.00 0.00 H +ATOM 3864 HB3 PRO A 250 23.683 -4.369 31.157 1.00 0.00 H +ATOM 3865 CG PRO A 250 24.480 -6.006 30.069 1.00 0.00 C +ATOM 3866 HG2 PRO A 250 24.605 -7.192 30.182 1.00 0.00 H +ATOM 3867 HG3 PRO A 250 25.607 -5.643 30.240 1.00 0.00 H +ATOM 3868 CD PRO A 250 23.801 -5.614 28.796 1.00 0.00 C +ATOM 3869 HD2 PRO A 250 24.459 -6.297 28.068 1.00 0.00 H +ATOM 3870 HD3 PRO A 250 24.126 -4.491 28.563 1.00 0.00 H +ATOM 3871 N LEU A 251 20.157 -5.358 31.859 1.00 0.00 N +ATOM 3872 H LEU A 251 20.298 -6.444 32.326 1.00 0.00 H +ATOM 3873 CA LEU A 251 19.061 -4.503 32.322 1.00 0.00 C +ATOM 3874 HA LEU A 251 18.594 -4.462 31.234 1.00 0.00 H +ATOM 3875 C LEU A 251 19.592 -3.389 33.251 1.00 0.00 C +ATOM 3876 O LEU A 251 19.043 -2.292 33.319 1.00 0.00 O +ATOM 3877 CB LEU A 251 17.977 -5.313 33.034 1.00 0.00 C +ATOM 3878 HB2 LEU A 251 18.418 -5.751 34.057 1.00 0.00 H +ATOM 3879 HB3 LEU A 251 17.750 -6.325 32.439 1.00 0.00 H +ATOM 3880 CG LEU A 251 16.726 -4.518 33.410 1.00 0.00 C +ATOM 3881 HG LEU A 251 16.982 -3.847 34.358 1.00 0.00 H +ATOM 3882 CD1 LEU A 251 16.087 -3.919 32.178 1.00 0.00 C +ATOM 3883 HD11 LEU A 251 15.050 -3.463 32.551 1.00 0.00 H +ATOM 3884 HD12 LEU A 251 16.520 -3.038 31.505 1.00 0.00 H +ATOM 3885 HD13 LEU A 251 15.903 -4.876 31.490 1.00 0.00 H +ATOM 3886 CD2 LEU A 251 15.772 -5.540 34.149 1.00 0.00 C +ATOM 3887 HD21 LEU A 251 15.869 -6.693 33.838 1.00 0.00 H +ATOM 3888 HD22 LEU A 251 16.049 -5.581 35.314 1.00 0.00 H +ATOM 3889 HD23 LEU A 251 14.590 -5.382 34.177 1.00 0.00 H +ATOM 3890 N LYS A 252 20.664 -3.666 34.001 1.00 0.00 N +ATOM 3891 H LYS A 252 20.966 -4.744 34.406 1.00 0.00 H +ATOM 3892 CA LYS A 252 21.287 -2.660 34.909 1.00 0.00 C +ATOM 3893 HA LYS A 252 21.938 -3.187 35.763 1.00 0.00 H +ATOM 3894 C LYS A 252 20.229 -2.143 35.900 1.00 0.00 C +ATOM 3895 O LYS A 252 19.437 -2.920 36.413 1.00 0.00 O +ATOM 3896 CB LYS A 252 22.028 -1.615 34.167 1.00 0.00 C +ATOM 3897 HB2 LYS A 252 21.422 -1.000 33.355 1.00 0.00 H +ATOM 3898 HB3 LYS A 252 22.572 -0.933 34.987 1.00 0.00 H +ATOM 3899 CG LYS A 252 23.267 -2.250 33.449 1.00 0.00 C +ATOM 3900 HG2 LYS A 252 22.869 -3.117 32.748 1.00 0.00 H +ATOM 3901 HG3 LYS A 252 23.873 -2.754 34.352 1.00 0.00 H +ATOM 3902 CD LYS A 252 24.298 -1.322 32.829 1.00 0.00 C +ATOM 3903 HD2 LYS A 252 23.439 -0.656 32.365 1.00 0.00 H +ATOM 3904 HD3 LYS A 252 24.826 -0.842 33.778 1.00 0.00 H +ATOM 3905 CE LYS A 252 25.387 -2.103 32.276 1.00 0.00 C +ATOM 3906 HE2 LYS A 252 25.331 -3.091 31.615 1.00 0.00 H +ATOM 3907 HE3 LYS A 252 26.083 -2.510 33.166 1.00 0.00 H +ATOM 3908 NZ LYS A 252 26.260 -1.176 31.441 1.00 0.00 N +ATOM 3909 HZ1 LYS A 252 26.413 0.003 31.456 1.00 0.00 H +ATOM 3910 HZ2 LYS A 252 26.178 -1.587 30.322 1.00 0.00 H +ATOM 3911 HZ3 LYS A 252 27.366 -1.481 31.804 1.00 0.00 H +ATOM 3912 N ASN A 253 20.183 -0.860 36.124 1.00 0.00 N +ATOM 3913 H ASN A 253 20.546 0.124 35.574 1.00 0.00 H +ATOM 3914 CA ASN A 253 19.313 -0.318 37.181 1.00 0.00 C +ATOM 3915 HA ASN A 253 19.162 -1.101 38.067 1.00 0.00 H +ATOM 3916 C ASN A 253 18.064 0.134 36.507 1.00 0.00 C +ATOM 3917 O ASN A 253 17.824 1.462 36.474 1.00 0.00 O +ATOM 3918 CB ASN A 253 19.981 0.900 37.853 1.00 0.00 C +ATOM 3919 HB2 ASN A 253 20.991 0.615 38.428 1.00 0.00 H +ATOM 3920 HB3 ASN A 253 20.243 1.880 37.223 1.00 0.00 H +ATOM 3921 CG ASN A 253 19.194 1.445 39.063 1.00 0.00 C +ATOM 3922 OD1 ASN A 253 19.094 2.686 39.263 1.00 0.00 O +ATOM 3923 ND2 ASN A 253 18.606 0.546 39.844 1.00 0.00 N +ATOM 3924 HD21 ASN A 253 17.534 0.784 40.302 1.00 0.00 H +ATOM 3925 HD22 ASN A 253 19.186 -0.165 40.602 1.00 0.00 H +ATOM 3926 N ARG A 254 17.312 -0.850 35.899 1.00 0.00 N +ATOM 3927 H ARG A 254 17.253 -1.798 36.613 1.00 0.00 H +ATOM 3928 CA ARG A 254 16.036 -0.443 35.286 1.00 0.00 C +ATOM 3929 HA ARG A 254 15.755 0.590 35.813 1.00 0.00 H +ATOM 3930 C ARG A 254 14.924 -1.341 35.658 1.00 0.00 C +ATOM 3931 O ARG A 254 15.155 -2.510 35.943 1.00 0.00 O +ATOM 3932 CB ARG A 254 16.164 -0.433 33.764 1.00 0.00 C +ATOM 3933 HB2 ARG A 254 16.649 -1.496 33.574 1.00 0.00 H +ATOM 3934 HB3 ARG A 254 15.072 -0.304 33.313 1.00 0.00 H +ATOM 3935 CG ARG A 254 17.050 0.719 33.261 1.00 0.00 C +ATOM 3936 HG2 ARG A 254 18.145 0.763 33.736 1.00 0.00 H +ATOM 3937 HG3 ARG A 254 16.641 1.745 33.718 1.00 0.00 H +ATOM 3938 CD ARG A 254 17.268 0.661 31.789 1.00 0.00 C +ATOM 3939 HD2 ARG A 254 16.160 0.606 31.364 1.00 0.00 H +ATOM 3940 HD3 ARG A 254 17.780 1.727 31.636 1.00 0.00 H +ATOM 3941 NE ARG A 254 18.047 -0.549 31.351 1.00 0.00 N +ATOM 3942 HE ARG A 254 19.065 -0.450 31.954 1.00 0.00 H +ATOM 3943 CZ ARG A 254 18.323 -0.851 30.083 1.00 0.00 C +ATOM 3944 NH1 ARG A 254 17.704 -0.157 29.095 1.00 0.00 N +ATOM 3945 HH11 ARG A 254 16.533 -0.077 29.184 1.00 0.00 H +ATOM 3946 HH12 ARG A 254 18.127 0.018 28.007 1.00 0.00 H +ATOM 3947 NH2 ARG A 254 19.102 -1.886 29.766 1.00 0.00 N +ATOM 3948 HH21 ARG A 254 19.989 -2.048 28.996 1.00 0.00 H +ATOM 3949 HH22 ARG A 254 19.417 -2.384 30.789 1.00 0.00 H +ATOM 3950 N GLN A 255 13.721 -0.775 35.665 1.00 0.00 N +ATOM 3951 H GLN A 255 13.535 0.384 35.478 1.00 0.00 H +ATOM 3952 CA GLN A 255 12.507 -1.509 35.966 1.00 0.00 C +ATOM 3953 HA GLN A 255 12.760 -2.569 36.447 1.00 0.00 H +ATOM 3954 C GLN A 255 11.648 -1.658 34.705 1.00 0.00 C +ATOM 3955 O GLN A 255 11.462 -0.661 33.976 1.00 0.00 O +ATOM 3956 CB GLN A 255 11.736 -0.718 37.058 1.00 0.00 C +ATOM 3957 HB2 GLN A 255 10.758 -1.332 37.354 1.00 0.00 H +ATOM 3958 HB3 GLN A 255 11.447 0.422 36.855 1.00 0.00 H +ATOM 3959 CG GLN A 255 12.547 -0.691 38.371 1.00 0.00 C +ATOM 3960 HG2 GLN A 255 13.111 0.345 38.551 1.00 0.00 H +ATOM 3961 HG3 GLN A 255 13.223 -1.641 38.613 1.00 0.00 H +ATOM 3962 CD GLN A 255 11.747 -0.715 39.702 1.00 0.00 C +ATOM 3963 OE1 GLN A 255 10.523 -0.529 39.721 1.00 0.00 O +ATOM 3964 NE2 GLN A 255 12.468 -0.878 40.836 1.00 0.00 N +ATOM 3965 HE21 GLN A 255 12.460 -1.874 41.487 1.00 0.00 H +ATOM 3966 HE22 GLN A 255 12.914 0.031 41.461 1.00 0.00 H +ATOM 3967 N ILE A 256 11.235 -2.888 34.404 1.00 0.00 N +ATOM 3968 H ILE A 256 11.390 -3.796 35.155 1.00 0.00 H +ATOM 3969 CA ILE A 256 10.241 -3.107 33.358 1.00 0.00 C +ATOM 3970 HA ILE A 256 10.333 -2.150 32.668 1.00 0.00 H +ATOM 3971 C ILE A 256 8.846 -3.145 34.012 1.00 0.00 C +ATOM 3972 O ILE A 256 8.674 -3.875 34.990 1.00 0.00 O +ATOM 3973 CB ILE A 256 10.523 -4.361 32.604 1.00 0.00 C +ATOM 3974 HB ILE A 256 10.556 -5.291 33.348 1.00 0.00 H +ATOM 3975 CG1 ILE A 256 11.954 -4.344 32.008 1.00 0.00 C +ATOM 3976 HG12 ILE A 256 12.676 -4.197 32.943 1.00 0.00 H +ATOM 3977 HG13 ILE A 256 12.301 -3.562 31.180 1.00 0.00 H +ATOM 3978 CG2 ILE A 256 9.472 -4.532 31.458 1.00 0.00 C +ATOM 3979 HG21 ILE A 256 8.432 -4.593 32.032 1.00 0.00 H +ATOM 3980 HG22 ILE A 256 9.560 -3.690 30.625 1.00 0.00 H +ATOM 3981 HG23 ILE A 256 9.641 -5.572 30.910 1.00 0.00 H +ATOM 3982 CD1 ILE A 256 12.292 -5.607 31.303 1.00 0.00 C +ATOM 3983 HD11 ILE A 256 12.092 -6.485 32.091 1.00 0.00 H +ATOM 3984 HD12 ILE A 256 13.476 -5.702 31.197 1.00 0.00 H +ATOM 3985 HD13 ILE A 256 11.840 -5.667 30.207 1.00 0.00 H +ATOM 3986 N LYS A 257 7.943 -2.300 33.555 1.00 0.00 N +ATOM 3987 H LYS A 257 8.360 -1.241 33.225 1.00 0.00 H +ATOM 3988 CA LYS A 257 6.618 -2.251 34.177 1.00 0.00 C +ATOM 3989 HA LYS A 257 6.661 -2.685 35.284 1.00 0.00 H +ATOM 3990 C LYS A 257 5.625 -2.868 33.217 1.00 0.00 C +ATOM 3991 O LYS A 257 5.789 -2.735 31.997 1.00 0.00 O +ATOM 3992 CB LYS A 257 6.227 -0.814 34.343 1.00 0.00 C +ATOM 3993 HB2 LYS A 257 5.182 -0.867 34.910 1.00 0.00 H +ATOM 3994 HB3 LYS A 257 6.132 -0.246 33.306 1.00 0.00 H +ATOM 3995 CG LYS A 257 7.149 -0.054 35.319 1.00 0.00 C +ATOM 3996 HG2 LYS A 257 8.334 -0.158 35.247 1.00 0.00 H +ATOM 3997 HG3 LYS A 257 6.948 -0.433 36.434 1.00 0.00 H +ATOM 3998 CD LYS A 257 6.798 1.393 35.306 1.00 0.00 C +ATOM 3999 HD2 LYS A 257 5.788 1.701 35.855 1.00 0.00 H +ATOM 4000 HD3 LYS A 257 6.824 1.901 34.227 1.00 0.00 H +ATOM 4001 CE LYS A 257 7.856 2.177 36.068 1.00 0.00 C +ATOM 4002 HE2 LYS A 257 7.845 2.041 37.257 1.00 0.00 H +ATOM 4003 HE3 LYS A 257 9.005 2.073 35.749 1.00 0.00 H +ATOM 4004 NZ LYS A 257 7.631 3.594 35.836 1.00 0.00 N +ATOM 4005 HZ1 LYS A 257 8.516 4.184 36.392 1.00 0.00 H +ATOM 4006 HZ2 LYS A 257 6.657 4.048 36.364 1.00 0.00 H +ATOM 4007 HZ3 LYS A 257 7.692 4.071 34.739 1.00 0.00 H +ATOM 4008 N ALA A 258 4.606 -3.567 33.732 1.00 0.00 N +ATOM 4009 H ALA A 258 5.002 -4.303 34.566 1.00 0.00 H +ATOM 4010 CA ALA A 258 3.540 -4.164 32.916 1.00 0.00 C +ATOM 4011 HA ALA A 258 3.814 -4.381 31.784 1.00 0.00 H +ATOM 4012 C ALA A 258 2.266 -3.316 33.047 1.00 0.00 C +ATOM 4013 O ALA A 258 1.959 -2.816 34.156 1.00 0.00 O +ATOM 4014 CB ALA A 258 3.271 -5.566 33.384 1.00 0.00 C +ATOM 4015 HB1 ALA A 258 3.396 -5.920 34.518 1.00 0.00 H +ATOM 4016 HB2 ALA A 258 2.247 -6.111 33.108 1.00 0.00 H +ATOM 4017 HB3 ALA A 258 4.026 -6.329 32.861 1.00 0.00 H +ATOM 4018 N SER A 259 1.529 -3.156 31.955 1.00 0.00 N +ATOM 4019 H SER A 259 2.262 -2.533 31.262 1.00 0.00 H +ATOM 4020 CA SER A 259 0.250 -2.428 31.958 1.00 0.00 C +ATOM 4021 HA SER A 259 0.110 -1.552 32.751 1.00 0.00 H +ATOM 4022 C SER A 259 -0.911 -3.300 32.370 1.00 0.00 C +ATOM 4023 O SER A 259 -1.994 -2.747 32.465 1.00 0.00 O +ATOM 4024 CB SER A 259 -0.076 -1.864 30.584 1.00 0.00 C +ATOM 4025 HB2 SER A 259 0.761 -1.144 30.156 1.00 0.00 H +ATOM 4026 HB3 SER A 259 -1.074 -1.201 30.636 1.00 0.00 H +ATOM 4027 OG SER A 259 -0.438 -2.928 29.699 1.00 0.00 O +ATOM 4028 HG SER A 259 -1.576 -3.147 29.906 1.00 0.00 H +ATOM 4029 N PHE A 260 -0.650 -4.550 32.676 1.00 0.00 N +ATOM 4030 H PHE A 260 0.403 -4.868 33.103 1.00 0.00 H +ATOM 4031 CA PHE A 260 -1.722 -5.552 32.808 1.00 0.00 C +ATOM 4032 HA PHE A 260 -2.780 -5.044 33.021 1.00 0.00 H +ATOM 4033 C PHE A 260 -1.295 -6.438 33.962 1.00 0.00 C +ATOM 4034 O PHE A 260 -0.097 -6.608 34.268 1.00 0.00 O +ATOM 4035 CB PHE A 260 -1.836 -6.367 31.521 1.00 0.00 C +ATOM 4036 HB2 PHE A 260 -2.427 -5.638 30.786 1.00 0.00 H +ATOM 4037 HB3 PHE A 260 -2.612 -7.274 31.580 1.00 0.00 H +ATOM 4038 CG PHE A 260 -0.563 -7.079 31.166 1.00 0.00 C +ATOM 4039 CD1 PHE A 260 0.417 -6.416 30.452 1.00 0.00 C +ATOM 4040 HD1 PHE A 260 0.647 -5.260 30.423 1.00 0.00 H +ATOM 4041 CD2 PHE A 260 -0.325 -8.364 31.624 1.00 0.00 C +ATOM 4042 HD2 PHE A 260 -1.135 -9.170 31.950 1.00 0.00 H +ATOM 4043 CE1 PHE A 260 1.631 -7.069 30.157 1.00 0.00 C +ATOM 4044 HE1 PHE A 260 2.575 -6.692 29.552 1.00 0.00 H +ATOM 4045 CE2 PHE A 260 0.832 -8.999 31.367 1.00 0.00 C +ATOM 4046 HE2 PHE A 260 1.053 -9.978 32.007 1.00 0.00 H +ATOM 4047 CZ PHE A 260 1.842 -8.366 30.621 1.00 0.00 C +ATOM 4048 HZ PHE A 260 2.795 -9.041 30.814 1.00 0.00 H +ATOM 4049 N LYS A 261 -2.302 -7.062 34.548 1.00 0.00 N +ATOM 4050 H LYS A 261 -3.395 -7.138 34.088 1.00 0.00 H +ATOM 4051 CA LYS A 261 -2.128 -7.852 35.796 1.00 0.00 C +ATOM 4052 HA LYS A 261 -1.234 -7.337 36.385 1.00 0.00 H +ATOM 4053 C LYS A 261 -1.852 -9.315 35.464 1.00 0.00 C +ATOM 4054 O LYS A 261 -2.339 -9.835 34.464 1.00 0.00 O +ATOM 4055 CB LYS A 261 -3.357 -7.737 36.714 1.00 0.00 C +ATOM 4056 HB2 LYS A 261 -3.408 -8.856 37.140 1.00 0.00 H +ATOM 4057 HB3 LYS A 261 -4.290 -7.724 35.970 1.00 0.00 H +ATOM 4058 CG LYS A 261 -3.440 -6.800 37.858 1.00 0.00 C +ATOM 4059 HG2 LYS A 261 -2.671 -7.221 38.665 1.00 0.00 H +ATOM 4060 HG3 LYS A 261 -3.437 -5.759 37.293 1.00 0.00 H +ATOM 4061 CD LYS A 261 -4.799 -7.026 38.334 1.00 0.00 C +ATOM 4062 HD2 LYS A 261 -5.303 -8.099 38.488 1.00 0.00 H +ATOM 4063 HD3 LYS A 261 -5.624 -6.478 37.661 1.00 0.00 H +ATOM 4064 CE LYS A 261 -4.937 -6.222 39.686 1.00 0.00 C +ATOM 4065 HE2 LYS A 261 -6.094 -5.903 39.699 1.00 0.00 H +ATOM 4066 HE3 LYS A 261 -4.498 -5.132 39.854 1.00 0.00 H +ATOM 4067 NZ LYS A 261 -4.857 -7.186 40.771 1.00 0.00 N +ATOM 4068 HZ1 LYS A 261 -4.932 -8.382 40.696 1.00 0.00 H +ATOM 4069 HZ2 LYS A 261 -5.669 -6.946 41.619 1.00 0.00 H +ATOM 4070 HZ3 LYS A 261 -3.835 -6.965 41.360 1.00 0.00 H +ATOM 4071 OXT LYS A 261 -1.285 -9.289 36.351 1.00 0.00 O +TER 4072 LYS A 261 +HETATM 1 N1 LIG A 1 -43.959 14.987 8.022 1.00 0.00 N +HETATM 2 C1 LIG A 1 -44.170 13.741 8.211 1.00 0.00 C +HETATM 3 N2 LIG A 1 -43.809 13.116 9.424 1.00 0.00 N +HETATM 4 C2 LIG A 1 -43.349 15.775 9.031 1.00 0.00 C +HETATM 5 C3 LIG A 1 -42.992 15.185 10.193 1.00 0.00 C +HETATM 6 C4 LIG A 1 -43.249 13.756 10.359 1.00 0.00 C +HETATM 7 C5 LIG A 1 -41.405 15.095 12.249 1.00 0.00 C +HETATM 8 C6 LIG A 1 -42.331 15.977 11.325 1.00 0.00 C +HETATM 9 C7 LIG A 1 -41.861 13.645 12.355 1.00 0.00 C +HETATM 10 C8 LIG A 1 -42.724 13.081 11.541 1.00 0.00 C +HETATM 11 N3 LIG A 1 -42.914 11.763 11.977 1.00 0.00 N +HETATM 12 N4 LIG A 1 -42.137 11.543 13.076 1.00 0.00 N +HETATM 13 C9 LIG A 1 -41.488 12.622 13.335 1.00 0.00 C +HETATM 14 N5 LIG A 1 -44.702 12.908 7.219 1.00 0.00 N +HETATM 15 C10 LIG A 1 -40.510 12.742 14.454 1.00 0.00 C +HETATM 16 O1 LIG A 1 -39.982 13.815 14.738 1.00 0.00 O +HETATM 17 C11 LIG A 1 -45.103 11.514 7.284 1.00 0.00 C +HETATM 18 C12 LIG A 1 -44.195 10.590 7.720 1.00 0.00 C +HETATM 19 C13 LIG A 1 -44.561 9.134 7.798 1.00 0.00 C +HETATM 20 C14 LIG A 1 -45.816 8.749 7.423 1.00 0.00 C +HETATM 21 C15 LIG A 1 -46.793 9.732 6.956 1.00 0.00 C +HETATM 22 C16 LIG A 1 -46.474 11.050 6.883 1.00 0.00 C +HETATM 23 O2 LIG A 1 -47.390 12.033 6.438 1.00 0.00 O +HETATM 24 C17 LIG A 1 -47.858 11.964 5.076 1.00 0.00 C +HETATM 25 F1 LIG A 1 -48.865 11.048 4.992 1.00 0.00 F +HETATM 26 F2 LIG A 1 -48.336 13.205 4.673 1.00 0.00 F +HETATM 27 F3 LIG A 1 -46.864 11.550 4.200 1.00 0.00 F +HETATM 28 N6 LIG A 1 -40.171 11.604 15.192 1.00 0.00 N +HETATM 29 C18 LIG A 1 -43.759 10.766 11.350 1.00 0.00 C +HETATM 30 C19 LIG A 1 -44.422 9.875 12.402 1.00 0.00 C +HETATM 31 O3 LIG A 1 -43.650 8.677 12.505 1.00 0.00 O +HETATM 32 N7 LIG A 1 -43.622 8.150 8.249 1.00 0.00 N +HETATM 33 C20 LIG A 1 -44.124 6.921 8.920 1.00 0.00 C +HETATM 34 C21 LIG A 1 -43.078 6.214 9.812 1.00 0.00 C +HETATM 35 N8 LIG A 1 -41.716 6.273 9.227 1.00 0.00 N +HETATM 36 C22 LIG A 1 -41.308 7.688 9.088 1.00 0.00 C +HETATM 37 C23 LIG A 1 -42.185 8.370 8.010 1.00 0.00 C +HETATM 38 C24 LIG A 1 -40.777 5.598 10.127 1.00 0.00 C +HETATM 39 H1 LIG A 1 -41.400 15.522 13.230 1.00 0.00 H +HETATM 40 H2 LIG A 1 -40.431 15.088 11.806 1.00 0.00 H +HETATM 41 H3 LIG A 1 -43.100 16.410 11.930 1.00 0.00 H +HETATM 42 H4 LIG A 1 -41.709 16.719 10.870 1.00 0.00 H +HETATM 43 H5 LIG A 1 -44.823 13.334 6.340 1.00 0.00 H +HETATM 44 H6 LIG A 1 -43.249 10.895 7.998 1.00 0.00 H +HETATM 45 H7 LIG A 1 -46.078 7.752 7.470 1.00 0.00 H +HETATM 46 H8 LIG A 1 -47.737 9.420 6.678 1.00 0.00 H +HETATM 47 H9 LIG A 1 -40.585 10.737 14.977 1.00 0.00 H +HETATM 48 H10 LIG A 1 -39.519 11.670 15.926 1.00 0.00 H +HETATM 49 H11 LIG A 1 -43.163 10.159 10.702 1.00 0.00 H +HETATM 50 H12 LIG A 1 -44.524 11.266 10.793 1.00 0.00 H +HETATM 51 H13 LIG A 1 -45.422 9.640 12.102 1.00 0.00 H +HETATM 52 H14 LIG A 1 -44.463 10.377 13.346 1.00 0.00 H +HETATM 53 H15 LIG A 1 -43.623 8.235 11.642 1.00 0.00 H +HETATM 54 H16 LIG A 1 -44.442 6.232 8.165 1.00 0.00 H +HETATM 55 H17 LIG A 1 -44.922 7.226 9.565 1.00 0.00 H +HETATM 56 H18 LIG A 1 -43.360 5.188 9.928 1.00 0.00 H +HETATM 57 H19 LIG A 1 -43.054 6.718 10.755 1.00 0.00 H +HETATM 58 H20 LIG A 1 -41.715 5.818 8.314 1.00 0.00 H +HETATM 59 H21 LIG A 1 -41.437 8.191 10.024 1.00 0.00 H +HETATM 60 H22 LIG A 1 -40.279 7.737 8.797 1.00 0.00 H +HETATM 61 H23 LIG A 1 -41.990 9.422 8.021 1.00 0.00 H +HETATM 62 H24 LIG A 1 -41.938 7.941 7.062 1.00 0.00 H +HETATM 63 H25 LIG A 1 -40.786 6.083 11.081 1.00 0.00 H +HETATM 64 H26 LIG A 1 -39.791 5.643 9.713 1.00 0.00 H +HETATM 65 H27 LIG A 1 -41.068 4.575 10.244 1.00 0.00 H +HETATM 66 H28 LIG A 1 -43.181 16.782 8.880 1.00 0.00 H +TER 67 LIG A 1 +END diff --git a/tests/data/template_and_vsite.xml b/tests/data/template_and_vsite.xml new file mode 100644 index 000000000..82a7fff40 --- /dev/null +++ b/tests/data/template_and_vsite.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/data/template_test1.pdb b/tests/data/template_test1.pdb new file mode 100644 index 000000000..2173c24a4 --- /dev/null +++ b/tests/data/template_test1.pdb @@ -0,0 +1,13 @@ +REMARK 1 CREATED WITH OPENMM 7.6, 2022-01-13 +HETATM 1 C1 LIG A 1 -43.959 14.987 8.022 1.00 0.00 C +HETATM 2 C2 LIG A 1 -44.170 13.741 8.211 1.00 0.00 C +HETATM 3 C3 LIG A 1 -43.809 13.116 9.424 1.00 0.00 C +HETATM 4 C4 LIG A 1 -43.349 15.775 9.031 1.00 0.00 C +HETATM 5 C5 LIG A 1 -42.992 15.185 10.193 1.00 0.00 C +HETATM 6 C6 LIG A 1 -43.249 13.756 10.359 1.00 0.00 C +CONECT 1 2 +CONECT 2 3 +CONECT 3 4 +CONECT 3 5 +CONECT 4 5 +CONECT 5 6 \ No newline at end of file diff --git a/tests/data/template_test1.xml b/tests/data/template_test1.xml new file mode 100644 index 000000000..f214819a7 --- /dev/null +++ b/tests/data/template_test1.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/data/template_vsite.pdb b/tests/data/template_vsite.pdb new file mode 100644 index 000000000..63806e121 --- /dev/null +++ b/tests/data/template_vsite.pdb @@ -0,0 +1,21 @@ +REMARK 1 CREATED WITH OPENMM 7.6, 2022-01-13 +HETATM 1 N LIG A 1 -43.959 14.987 8.022 1.00 0.00 N +HETATM 2 C1 LIG A 1 -44.170 13.741 8.211 1.00 0.00 C +HETATM 3 C2 LIG A 1 -43.809 13.116 9.424 1.00 0.00 C +HETATM 4 C3 LIG A 1 -43.349 15.775 9.031 1.00 0.00 C +HETATM 5 C4 LIG A 1 -42.992 15.185 10.193 1.00 0.00 C +HETATM 6 H1 LIG A 1 -44.170 13.741 8.211 1.00 0.00 H +HETATM 7 H2 LIG A 1 -43.809 13.116 9.424 1.00 0.00 H +HETATM 8 H3 LIG A 1 -43.349 15.775 9.031 1.00 0.00 H +HETATM 9 H4 LIG A 1 -42.992 15.185 10.193 1.00 0.00 H +HETATM 10 BR LIG A 1 -42.992 15.185 10.193 1.00 0.00 BR +CONECT 1 2 +CONECT 2 3 +CONECT 3 4 +CONECT 4 5 +CONECT 5 1 +CONECT 2 6 +CONECT 3 7 +CONECT 4 8 +CONECT 5 9 +CONECT 1 10 \ No newline at end of file diff --git a/tests/data/test1.xml b/tests/data/test1.xml new file mode 100644 index 000000000..d43e060a2 --- /dev/null +++ b/tests/data/test1.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/data/test2.xml b/tests/data/test2.xml new file mode 100644 index 000000000..b3410cc09 --- /dev/null +++ b/tests/data/test2.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/data/water.pdb b/tests/data/water.pdb new file mode 100644 index 000000000..813a5d83c --- /dev/null +++ b/tests/data/water.pdb @@ -0,0 +1,10 @@ +REMARK 1 CREATED WITH OPENMM 7.3, 2018-10-03 +CRYST1 31.289 31.289 31.289 90.00 90.00 90.00 P 1 1 +MODEL 1 +HETATM 4 O HOH A 2 14.216 1.424 1.103 1.00 0.00 O +HETATM 5 H1 HOH A 2 14.246 1.144 2.054 1.00 0.00 H +HETATM 6 H2 HOH A 2 15.155 1.542 0.910 1.00 0.00 H +TER 8 HOH A 3 +ENDMDL +END + diff --git a/tests/data/water4.xml b/tests/data/water4.xml new file mode 100644 index 000000000..71aeff58e --- /dev/null +++ b/tests/data/water4.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/data/water_ion.pdb b/tests/data/water_ion.pdb new file mode 100644 index 000000000..b20c9bf43 --- /dev/null +++ b/tests/data/water_ion.pdb @@ -0,0 +1,11 @@ +REMARK 1 CREATED WITH OPENMM 7.3, 2018-10-03 +CRYST1 31.289 31.289 31.289 90.00 90.00 90.00 P 1 1 +MODEL 1 +HETATM 4 O HOH A 2 14.216 1.424 1.103 1.00 0.00 O +HETATM 5 H1 HOH A 2 14.246 1.144 2.054 1.00 0.00 H +HETATM 6 H2 HOH A 2 15.155 1.542 0.910 1.00 0.00 H +HETATM 7 NA NA A 3 16.155 0.542 0.910 1.00 0.00 Na +TER 8 HOH A 3 +ENDMDL +END + diff --git a/tests/test_admp/test_compute.py b/tests/test_admp/test_compute.py index 2f97785e7..f3c66a788 100644 --- a/tests/test_admp/test_compute.py +++ b/tests/test_admp/test_compute.py @@ -12,7 +12,7 @@ class TestADMPAPI: """ Test ADMP related generators """ - @pytest.fixture(scope='class', name='generators') + @pytest.fixture(scope='class', name='pot_prm') def test_init(self): """load generators from XML file @@ -24,46 +24,122 @@ def test_init(self): """ rc = 4.0 H = Hamiltonian('tests/data/admp.xml') + H1 = Hamiltonian('tests/data/admp_mono.xml') + H2 = Hamiltonian('tests/data/admp_nonpol.xml') pdb = app.PDBFile('tests/data/water_dimer.pdb') - potential = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.angstrom, ethresh=5e-4, step_pol=5) - generators = H.getGenerators() + potential = H.createPotential(pdb.topology, nonbondedMethod=app.CutoffPeriodic, nonbondedCutoff=rc*unit.angstrom, ethresh=5e-4, step_pol=5) + potential_aux = H.createPotential(pdb.topology, nonbondedMethod=app.CutoffPeriodic, nonbondedCutoff=rc*unit.angstrom, ethresh=5e-4, step_pol=5, has_aux=True) + potential1 = H1.createPotential(pdb.topology, nonbondedMethod=app.CutoffPeriodic, nonbondedCutoff=rc*unit.angstrom, ethresh=5e-4, step_pol=5) + potential2 = H2.createPotential(pdb.topology, nonbondedMethod=app.CutoffPeriodic, nonbondedCutoff=rc*unit.angstrom, ethresh=5e-4, step_pol=5) - yield generators + yield potential, potential_aux, potential1, potential2, H.paramset, H1.paramset, H2.paramset - def test_ADMPPmeForce(self, generators): - - rc = 4.0 + def test_ADMPPmeForce(self, pot_prm): + potential, potential_aux, potential1, potential2, paramset, paramset1, paramset2 = pot_prm + rc = 0.4 pdb = app.PDBFile('tests/data/water_dimer.pdb') - positions = np.array(pdb.positions._value) * 10 - a, b, c = pdb.topology.getPeriodicBoxVectors() - box = np.array([a._value, b._value, c._value]) * 10 + positions = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) + positions = jnp.array(positions) + a, b, c = pdb.topology.getPeriodicBoxVectors().value_in_unit(unit.nanometer) + box = jnp.array([a, b, c]) # neighbor list - gen = generators[1] - covalent_map = gen.covalent_map + covalent_map = potential.meta["cov_map"] nblist = NeighborList(box, rc, covalent_map) nblist.allocate(positions) pairs = nblist.pairs - pot = gen.getJaxPotential() - energy = pot(positions, box, pairs, gen.paramtree) + pot = potential.getPotentialFunc(names=["ADMPPmeForce"]) + energy = pot(positions, box, pairs, paramset) + print(energy) + np.testing.assert_almost_equal(energy, -35.71585296268245, decimal=1) - def test_ADMPPmeForce_jit(self, generators): + def test_ADMPPmeForce_jit(self, pot_prm): + potential, potential_aux, potential1, potential2, paramset, paramset1, paramset2 = pot_prm + rc = 0.4 + pdb = app.PDBFile('tests/data/water_dimer.pdb') + positions = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) + positions = jnp.array(positions) + a, b, c = pdb.topology.getPeriodicBoxVectors().value_in_unit(unit.nanometer) + box = jnp.array([a, b, c]) + covalent_map = potential.meta["cov_map"] + # neighbor list + nblist = NeighborList(box, rc, covalent_map) + nblist.allocate(positions) + pairs = nblist.pairs - gen = generators[1] - rc = 4.0 + pot = potential.getPotentialFunc(names=["ADMPPmeForce"]) + j_pot_pme = jit(value_and_grad(pot)) + energy, grad = j_pot_pme(positions, box, pairs, paramset.parameters) + print('hahahah', energy) + np.testing.assert_almost_equal(energy, -35.71585296268245, decimal=1) + + def test_ADMPPmeForce_aux(self, pot_prm): + potential, potential_aux, potential1, potential2, paramset, paramset1, paramset2 = pot_prm + rc = 0.4 pdb = app.PDBFile('tests/data/water_dimer.pdb') - positions = jnp.array(pdb.positions._value) * 10 - a, b, c = pdb.topology.getPeriodicBoxVectors() - box = jnp.array([a._value, b._value, c._value]) * 10 - gen = generators[1] - covalent_map = gen.covalent_map + positions = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) + positions = jnp.array(positions) + a, b, c = pdb.topology.getPeriodicBoxVectors().value_in_unit(unit.nanometer) + box = jnp.array([a, b, c]) + covalent_map = potential.meta["cov_map"] + + # check map-atomtype & map-poltype + print('map-atomtype', potential.meta["ADMPPmeForce_map_atomtype"]) + print("map-poltype", potential.meta["ADMPPmeForce_map_poltype"]) # neighbor list nblist = NeighborList(box, rc, covalent_map) nblist.allocate(positions) pairs = nblist.pairs + + aux = { + "U_ind": jnp.zeros((len(positions),3)), + } + pot = potential_aux.getPotentialFunc(names=["ADMPPmeForce"]) + j_pot_pme = jit(value_and_grad(pot, has_aux=True)) + (energy, grad), aux = j_pot_pme(positions, box, pairs, paramset.parameters, aux=aux) + print('hahahah', energy) + np.testing.assert_almost_equal(energy, -35.71585296268245, decimal=1) + - pot = gen.getJaxPotential() - j_pot_pme = jit(value_and_grad(pot)) - energy = j_pot_pme(positions, box, pairs, gen.paramtree) + def test_ADMPPmeForce_mono(self, pot_prm): + potential, potential_aux, potential1, potential2, paramset, paramset1, paramset2 = pot_prm + rc = 0.4 + pdb = app.PDBFile('tests/data/water_dimer.pdb') + positions = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) + positions = jnp.array(positions) + a, b, c = pdb.topology.getPeriodicBoxVectors().value_in_unit(unit.nanometer) + box = jnp.array([a, b, c]) + # neighbor list + + covalent_map = potential1.meta["cov_map"] + + nblist = NeighborList(box, rc, covalent_map) + nblist.allocate(positions) + pairs = nblist.pairs + pot = potential1.getPotentialFunc(names=["ADMPPmeForce"]) + energy = pot(positions, box, pairs, paramset1) + print(energy) + np.testing.assert_almost_equal(energy, -66.46778622510325, decimal=2) + + + def test_ADMPPmeForce_nonpol(self, pot_prm): + potential, potential_aux, potential1, potential2, paramset, paramset1, paramset2 = pot_prm + rc = 0.4 + pdb = app.PDBFile('tests/data/water_dimer.pdb') + positions = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) + positions = jnp.array(positions) + a, b, c = pdb.topology.getPeriodicBoxVectors().value_in_unit(unit.nanometer) + box = jnp.array([a, b, c]) + # neighbor list + + covalent_map = potential2.meta["cov_map"] + + nblist = NeighborList(box, rc, covalent_map) + nblist.allocate(positions) + pairs = nblist.pairs + pot = potential2.getPotentialFunc(names=["ADMPPmeForce"]) + energy = pot(positions, box, pairs, paramset2) + print(energy) + np.testing.assert_almost_equal(energy, -31.65932348, decimal=2) diff --git a/tests/test_admp/test_esp.py b/tests/test_admp/test_esp.py new file mode 100644 index 000000000..f41563b5b --- /dev/null +++ b/tests/test_admp/test_esp.py @@ -0,0 +1,63 @@ +import openmm.app as app +import openmm.unit as unit +import numpy as np +import jax.numpy as jnp +import numpy.testing as npt +import pytest +from dmff import Hamiltonian, NeighborList +from jax import jit, value_and_grad + + +def test_admp_esp(): + H = Hamiltonian('tests/data/admp_charge.xml') + pdb = app.PDBFile('tests/data/water.pdb') + pdb_probe = app.PDBFile("tests/data/water_ion.pdb") + potential = H.createPotential( + pdb.topology, nonbondedMethod=app.NoCutoff, nonbondedCutoff=100*unit.angstrom, ethresh=5e-4, step_pol=1, has_aux=False + ) + es_pot = H.generators["ADMPPmeForce"].pme_force.generate_esp() + pot = potential.getPotentialFunc() + + potential_prob = H.createPotential( + pdb_probe.topology, nonbondedMethod=app.NoCutoff, nonbondedCutoff=100*unit.angstrom, ethresh=5e-4, step_pol=1, has_aux=False + ) + pot_prob = potential_prob.getPotentialFunc() + + + + positions = jnp.array(pdb.positions.value_in_unit(unit.nanometer)) + positions_prob = jnp.array(pdb_probe.positions.value_in_unit(unit.nanometer)) + + box = jnp.array([ + [100.0, 0.0, 0.0], + [0.0, 100.0, 0.0], + [0.0, 0.0, 100.0] + ]) + pairs = [] + cov_map = potential.meta["cov_map"] + for ii in range(3): + for jj in range(ii+1, 3): + pairs.append([ii, jj, cov_map[ii, jj]]) + pairs = jnp.array(pairs) + + pairs_prob = [] + cov_map = potential_prob.meta["cov_map"] + for ii in range(4): + for jj in range(ii+1, 4): + pairs_prob.append([ii, jj, cov_map[ii, jj]]) + pairs_prob = jnp.array(pairs_prob) + + + grids = jnp.array([ + positions_prob[6], + positions_prob[6], + positions_prob[6] + ]) + + ene = pot(positions, box, pairs, H.paramset.parameters) + esp = es_pot(positions, grids, H.paramset.parameters["ADMPPmeForce"]["Q_local"]) + print("ESP:", esp) + + ene_prob = pot_prob(positions_prob, box, pairs_prob, H.paramset.parameters) + print("Eprob:", ene_prob - ene) + np.testing.assert_allclose(ene_prob - ene, esp[0], rtol=1e-3) \ No newline at end of file diff --git a/tests/test_admp/test_gradDisp.py b/tests/test_admp/test_gradDisp.py new file mode 100644 index 000000000..ce324872f --- /dev/null +++ b/tests/test_admp/test_gradDisp.py @@ -0,0 +1,58 @@ +import openmm.app as app +import openmm.unit as unit +import numpy as np +import jax.numpy as jnp +import numpy.testing as npt +import pytest +from dmff import Hamiltonian, NeighborList, DMFFTopology +from jax import jit, value_and_grad +from jax.config import config + +config.update("jax_debug_nans", True) + +class TestGradDispersion: + + @pytest.mark.parametrize( + "pdb, prm, values", + [ + ( + "tests/data/peg2.pdb", + "tests/data/peg.xml", + # "peg2.pdb", + # "peg.xml", + jnp.array( + [[-9.3132257e-10, 4.0017767e-11, 4.6566129e-10], + [ 3.7289283e-11, 1.4551915e-11, 9.0949470e-13], + [ 6.9849193e-10, -1.0913936e-11, -1.1641532e-10]] + ) + ), + ] + ) + def test_admp_slater(self, pdb, prm, values): + pdb = app.PDBFile(pdb) + H = Hamiltonian(prm) + rc = 1.49 + pots = H.createPotential( + pdb.topology, + nonbondedCutoff=rc*unit.nanometer, + nonbondedMethod=app.CutoffPeriodic, + ethresh=1e-4) + + pot_disp = pots.dmff_potentials['ADMPDispPmeForce'] + + # build cov map + dmfftop = DMFFTopology(from_top=pdb.topology) + covalent_map = dmfftop.buildCovMat() + + # init positions used to set up neighbor list + pos = jnp.array(pdb.positions._value) + n_atoms = len(pos) + box = jnp.array(pdb.topology.getPeriodicBoxVectors()._value) + + # nn list initial allocation + nbl = NeighborList(box, rc, covalent_map) + nbl.allocate(pos) + pairs = nbl.pairs + + calc_disp = value_and_grad(pot_disp,argnums=(0,1)) + E, (F, V) = calc_disp(pos, box, pairs, H.paramset.parameters) diff --git a/tests/test_admp/test_noaxistype.py b/tests/test_admp/test_noaxistype.py new file mode 100644 index 000000000..39de50e93 --- /dev/null +++ b/tests/test_admp/test_noaxistype.py @@ -0,0 +1,50 @@ +import jax.numpy as jnp +import numpy as np +import numpy.testing as npt +import pytest +from dmff.admp.spatial import (build_quasi_internal, + generate_construct_local_frames, pbc_shift, + v_pbc_shift) + + +class TestSpatial: + + @pytest.mark.parametrize( + "axis_types, axis_indices, positions, box, expected_local_frames", + [ + ( + np.array([5]), + np.array( + [ + [-1, -1, -1], + ] + ), + jnp.array( + [ + [0.992, 0.068, -0.073], + ] + ), + jnp.array([[50.000, 0.0, 0.0], [0.0, 50.000, 0.0], [0.0, 0.0, 50.000]]), + np.array( + [ + [ + [1, 0, 0], + [0, 1, 0], + [0, 0, 1], + ], + ] + ), + ) + ], + ) + def test_generate_construct_local_frames( + self, axis_types, axis_indices, positions, box, expected_local_frames + ): + construct_local_frame_fn = generate_construct_local_frames( + axis_types, axis_indices + ) + assert construct_local_frame_fn + npt.assert_allclose( + construct_local_frame_fn(positions, box), expected_local_frames, rtol=1e-5 + ) + diff --git a/tests/test_admp/test_qeq.py b/tests/test_admp/test_qeq.py new file mode 100644 index 000000000..296801eba --- /dev/null +++ b/tests/test_admp/test_qeq.py @@ -0,0 +1,149 @@ +import openmm.app as app +import openmm.unit as unit +from dmff.api import Hamiltonian +from dmff.api import DMFFTopology +from dmff.api.xmlio import XMLIO +from dmff import NeighborList +import jax.numpy as jnp +import jax +import numpy as np + + +def test_qeq_energy(): + xml = XMLIO() + xml.loadXML("tests/data/qeq.xml") + res = xml.parseResidues() + charges = [a["charge"] for a in res[0]["particles"]] + types = [a["type"] for a in res[0]["particles"]] + + pdb = app.PDBFile("tests/data/qeq.pdb") + dmfftop = DMFFTopology(from_top=pdb.topology) + pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) + pos = jnp.array(pos) + box = dmfftop.getPeriodicBoxVectors() + hamilt = Hamiltonian("tests/data/qeq.xml") + + atoms = [a for a in dmfftop.atoms()] + for na, a in enumerate(atoms): + a.meta["charge"] = charges[na] + a.meta["type"] = types[na] + + nblist = NeighborList(box, 0.6, dmfftop.buildCovMat()) + pairs = nblist.allocate(pos) + + pot = hamilt.createPotential(dmfftop, nonbondedCutoff=0.6*unit.nanometer, nonbondedMethod=app.PME, + ethresh=1e-3, neutral=True, slab=True, constQ=True + ) + efunc = pot.getPotentialFunc() + energy = efunc(pos, box, pairs, hamilt.paramset.parameters) + np.testing.assert_almost_equal(energy, -37.84692763, decimal=3) + + +def test_qeq_energy_2res(): + rc = 0.6 + xml = XMLIO() + xml.loadXML("tests/data/qeq2.xml") + res = xml.parseResidues() + charges = [a["charge"] for a in res[0]["particles"]] + [a["charge"] for a in res[1]["particles"]] + charges = np.zeros((len(charges),)) + types = [a["type"] for a in res[0]["particles"]] + [a["type"] for a in res[1]["particles"]] + + pdb = app.PDBFile("tests/data/qeq2.pdb") + top = pdb.topology + dmfftop = DMFFTopology(from_top=top) + atoms = [a for a in dmfftop.atoms()] + pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) + pos = jnp.array(pos) + box = dmfftop.getPeriodicBoxVectors() + hamilt = Hamiltonian("tests/data/qeq2.xml") + + atoms = [a for a in dmfftop.atoms()] + for na, a in enumerate(atoms): + a.meta["charge"] = charges[na] + a.meta["type"] = types[na] + + nblist = NeighborList(box, rc, dmfftop.buildCovMat()) + pairs = nblist.allocate(pos) + + const_list = [] + const_list.append([]) + for ii in range(144): + const_list[-1].append(ii) + const_list.append([]) + for ii in range(144, 147): + const_list[-1].append(ii) + const_val = [0.0, 0.0] + + pot = hamilt.createPotential(dmfftop, nonbondedCutoff=rc*unit.nanometer, nonbondedMethod=app.PME, + ethresh=1e-3, neutral=True, slab=True, constQ=True, + const_list=const_list, const_vals=const_val, + has_aux=True + ) + efunc = pot.getPotentialFunc() + aux = { + "q": jnp.array(charges), + "lagmt": jnp.array([1.0, 1.0]) + } + energy, aux = efunc(pos, box, pairs, hamilt.paramset.parameters, aux=aux) + print(aux) + np.testing.assert_almost_equal(energy, 4817.295171, decimal=2) + + grad = jax.grad(efunc, argnums=0, has_aux=True) + gradient, aux = grad(pos, box, pairs, hamilt.paramset.parameters, aux=aux) + print(gradient) + + +def _test_qeq_energy_2res_jit(): + rc = 0.6 + xml = XMLIO() + xml.loadXML("tests/data/qeq2.xml") + res = xml.parseResidues() + charges = [a["charge"] for a in res[0]["particles"]] + [a["charge"] for a in res[1]["particles"]] + charges = np.zeros((len(charges),)) + types = [a["type"] for a in res[0]["particles"]] + [a["type"] for a in res[1]["particles"]] + + pdb = app.PDBFile("tests/data/qeq2.pdb") + top = pdb.topology + dmfftop = DMFFTopology(from_top=top) + atoms = [a for a in dmfftop.atoms()] + pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) + pos = jnp.array(pos) + box = dmfftop.getPeriodicBoxVectors() + hamilt = Hamiltonian("tests/data/qeq2.xml") + + atoms = [a for a in dmfftop.atoms()] + for na, a in enumerate(atoms): + a.meta["charge"] = charges[na] + a.meta["type"] = types[na] + + nblist = NeighborList(box, rc, dmfftop.buildCovMat()) + pairs = nblist.allocate(pos) + + const_list = [] + const_list.append([]) + for ii in range(144): + const_list[-1].append(ii) + const_list.append([]) + for ii in range(144, 147): + const_list[-1].append(ii) + const_val = [0.0, 0.0] + + pot = hamilt.createPotential(dmfftop, nonbondedCutoff=rc*unit.nanometer, nonbondedMethod=app.PME, + ethresh=1e-3, neutral=True, slab=True, constQ=True, + const_list=const_list, const_vals=const_val, + has_aux=True + ) + efunc = jax.jit(pot.getPotentialFunc()) + grad = jax.jit(jax.grad(efunc, argnums=0, has_aux=True)) + aux = { + "q": jnp.array(charges), + "lagmt": jnp.array([1.0, 1.0]) + } + print("Start computing energy and force.") + energy, aux = efunc(pos, box, pairs, hamilt.paramset.parameters, aux=aux) + print(aux) + np.testing.assert_almost_equal(energy, 4817.295171, decimal=2) + + grad = jax.grad(efunc, argnums=0, has_aux=True) + gradient, aux = grad(pos, box, pairs, hamilt.paramset.parameters, aux=aux) + print(gradient) \ No newline at end of file diff --git a/tests/test_admp/test_slater.py b/tests/test_admp/test_slater.py new file mode 100644 index 000000000..7c2cac5c9 --- /dev/null +++ b/tests/test_admp/test_slater.py @@ -0,0 +1,82 @@ +import openmm.app as app +import openmm.unit as unit +import numpy as np +import jax.numpy as jnp +import numpy.testing as npt +import pytest +from dmff import Hamiltonian, NeighborList +from dmff.api import DMFFTopology +from jax import jit, value_and_grad + +class TestADMPSlaterTypeFunction: + + @pytest.mark.parametrize( + "pdb, prm, values", + [ + ( + "tests/data/peg2.pdb", + "tests/data/peg.xml", + # "peg2.pdb", + # "peg.xml", + jnp.array([ + 5.731787, -0.053504415, 4.510135e-09, -4.510135e-09, -4.510135e-09, + -4.510135e-09, -4.510135e-09, -5.505022e-11, 1.0166141e-06 + ]) + ), + ] + ) + def test_admp_slater(self, pdb, prm, values): + pdb_AB = app.PDBFile(pdb) + H_AB = Hamiltonian(prm) + rc = 1.49 + pots_AB = H_AB.createPotential( + pdb_AB.topology, + nonbondedCutoff=rc*unit.nanometer, + nonbondedMethod=app.CutoffPeriodic, + ethresh=1e-4) + + pot_pme_AB = pots_AB.dmff_potentials['ADMPPmeForce'] + pot_disp_AB = pots_AB.dmff_potentials['ADMPDispPmeForce'] + pot_ex_AB = pots_AB.dmff_potentials['SlaterExForce'] + pot_sr_es_AB = pots_AB.dmff_potentials['SlaterSrEsForce'] + pot_sr_pol_AB = pots_AB.dmff_potentials['SlaterSrPolForce'] + pot_sr_disp_AB = pots_AB.dmff_potentials['SlaterSrDispForce'] + pot_dhf_AB = pots_AB.dmff_potentials['SlaterDhfForce'] + pot_dmp_es_AB = pots_AB.dmff_potentials['QqTtDampingForce'] + pot_dmp_disp_AB = pots_AB.dmff_potentials['SlaterDampingForce'] + + # build cov map + dmfftop = DMFFTopology(from_top=pdb_AB.topology) + covalent_map = dmfftop.buildCovMat() + + # init positions used to set up neighbor list + pos_AB0 = jnp.array(pdb_AB.positions._value) + n_atoms = len(pos_AB0) + box = jnp.array(pdb_AB.topology.getPeriodicBoxVectors()._value) + + # nn list initial allocation + nbl_AB = NeighborList(box, rc, covalent_map) + nbl_AB.allocate(pos_AB0) + pairs_AB = nbl_AB.pairs + pairs_AB = pairs_AB[pairs_AB[:, 0] < pairs_AB[:, 1]] + + pos_AB = jnp.array(pos_AB0) + E_es = pot_pme_AB(pos_AB, box, pairs_AB, H_AB.paramset) + E_disp = pot_disp_AB(pos_AB, box, pairs_AB, H_AB.paramset) + E_ex = pot_ex_AB(pos_AB, box, pairs_AB, H_AB.paramset) + E_sr_es = pot_sr_es_AB(pos_AB, box, pairs_AB, H_AB.paramset) + E_sr_pol = pot_sr_pol_AB(pos_AB, box, pairs_AB, H_AB.paramset) + E_sr_disp = pot_sr_disp_AB(pos_AB, box, pairs_AB, H_AB.paramset) + E_dhf = pot_dhf_AB(pos_AB, box, pairs_AB, H_AB.paramset) + E_dmp_es = pot_dmp_es_AB(pos_AB, box, pairs_AB, H_AB.paramset) + E_dmp_disp = pot_dmp_disp_AB(pos_AB, box, pairs_AB, H_AB.paramset) + + npt.assert_almost_equal(E_es, values[0], decimal=4) + npt.assert_almost_equal(E_disp, values[1], decimal=4) + npt.assert_almost_equal(E_ex, values[2], decimal=4) + npt.assert_almost_equal(E_sr_es, values[3], decimal=4) + npt.assert_almost_equal(E_sr_pol, values[4], decimal=4) + npt.assert_almost_equal(E_sr_disp, values[5], decimal=4) + npt.assert_almost_equal(E_dhf, values[6], decimal=4) + npt.assert_almost_equal(E_dmp_es, values[7], decimal=4) + npt.assert_almost_equal(E_dmp_disp, values[8], decimal=4) diff --git a/tests/test_admp/test_sptial.py b/tests/test_admp/test_sptial.py index f0a3e93e9..e51bb86a7 100644 --- a/tests/test_admp/test_sptial.py +++ b/tests/test_admp/test_sptial.py @@ -138,6 +138,6 @@ def test_generate_construct_local_frames( ) assert construct_local_frame_fn npt.assert_allclose( - construct_local_frame_fn(positions, box), expected_local_frames, rtol=1e-5 + construct_local_frame_fn(positions, box), expected_local_frames, rtol=1e-4 ) diff --git a/tests/test_classical/test_fep.py b/tests/test_classical/_test_fep.py similarity index 100% rename from tests/test_classical/test_fep.py rename to tests/test_classical/_test_fep.py diff --git a/tests/test_classical/test_smirks.py b/tests/test_classical/_test_smirks.py similarity index 95% rename from tests/test_classical/test_smirks.py rename to tests/test_classical/_test_smirks.py index 5e23905e6..e15ccaf54 100644 --- a/tests/test_classical/test_smirks.py +++ b/tests/test_classical/_test_smirks.py @@ -54,7 +54,7 @@ def test_vsite(name: str): # Chem.MolToMolFile(newmol, f"tests/data/{name}_vsite.mol") rdmol_vsite = Chem.MolFromMolFile(f"tests/data/{name}_vsite.mol", removeHs=False) - pos_vsite = jnp.array(newmol.GetConformer().GetPositions()) / 10 + pos_vsite = jnp.array(newmol.GetConformer().GetPositions(), dtype=jnp.float32) / 10 box = jnp.eye(3, dtype=jnp.float32) nblist = NeighborList(box, 1.0, pot_vsite.meta["cov_map"]) nblist.allocate(pos_vsite) @@ -78,7 +78,7 @@ def test_vsite(name: str): h_typing = Hamiltonian(f"tests/data/{name}.xml", removeHs=False) pot_typing = h_typing.createPotential(top) - pos = jnp.array(rdmol.GetConformer().GetPositions()) / 10 + pos = jnp.array(rdmol.GetConformer().GetPositions(), dtype=jnp.float32) / 10 box = jnp.eye(3, dtype=jnp.float32) nblist = NeighborList(box, 1.0, pot_typing.meta["cov_map"]) nblist.allocate(pos) diff --git a/tests/test_classical/test_bonded.py b/tests/test_classical/test_bonded.py index 917d87853..8fe069afc 100644 --- a/tests/test_classical/test_bonded.py +++ b/tests/test_classical/test_bonded.py @@ -8,58 +8,57 @@ from dmff.api import Hamiltonian -class TestBonded: +@pytest.mark.parametrize( + "pdb, prm, value", + [ + ("tests/data/bond1.pdb", "tests/data/bond1.xml", 1389.162109375), + #("tests/data/bond2.pdb", "tests/data/bond2.xml", 100.00), + ]) +def test_harmonic_bond_force(pdb, prm, value): + pdb = app.PDBFile(pdb) + h = Hamiltonian(prm) + potential = h.createPotential( + pdb.topology, + nonbondedMethod=app.NoCutoff, + constraints=None, + removeCMMotion=False + ) + pos = jnp.asarray(pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer)) + box = np.array([[10.0, 0.0, 0.0], [0.0, 10.0, 0.0], [0.0, 0.0, 10.0]]) + pairs = np.array([[]], dtype=int) + bondE = potential.getPotentialFunc(names=["HarmonicBondForce"]) + energy = bondE(pos, box, pairs, h.paramset) + npt.assert_almost_equal(energy, value, decimal=3) + + energy = jax.jit(bondE)(pos, box, pairs, h.paramset) + npt.assert_almost_equal(energy, value, decimal=3) - @pytest.mark.parametrize( - "pdb, prm, value", - [ - ("tests/data/bond1.pdb", "tests/data/bond1.xml", 1389.162109375), - #("tests/data/bond2.pdb", "tests/data/bond2.xml", 100.00), - ]) - def test_harmonic_bond_force(self, pdb, prm, value): - pdb = app.PDBFile(pdb) - h = Hamiltonian(prm) - potential = h.createPotential( - pdb.topology, - nonbondedMethod=app.NoCutoff, - constraints=None, - removeCMMotion=False - ) - pos = jnp.asarray(pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer)) - box = np.array([[10.0, 0.0, 0.0], [0.0, 10.0, 0.0], [0.0, 0.0, 10.0]]) - pairs = np.array([[]], dtype=int) - bondE = potential.getPotentialFunc(names=["HarmonicBondForce"]) - energy = bondE(pos, box, pairs, h.paramtree) - npt.assert_almost_equal(energy, value, decimal=3) - - energy = jax.jit(bondE)(pos, box, pairs, h.paramtree) - npt.assert_almost_equal(energy, value, decimal=3) - - @pytest.mark.parametrize( - "pdb, prm, value", - [ - ("tests/data/proper1.pdb", "tests/data/proper1.xml", 8.368000030517578), - ("tests/data/proper2.pdb", "tests/data/proper2.xml", 20.931230545), - ("tests/data/impr1.pdb", "tests/data/impr1.xml", 2.9460556507110596), - ("tests/data/proper1.pdb", "tests/data/wild1.xml", 8.368000030517578), - ("tests/data/impr1.pdb", "tests/data/wild2.xml", 2.9460556507110596), - #("tests/data/tor2.pdb", "tests/data/tor2.xml", 100.00) - ]) - def test_periodic_torsion_force(self, pdb, prm, value): - pdb = app.PDBFile(pdb) - h = Hamiltonian(prm) - potential = h.createPotential( - pdb.topology, - nonbondedMethod=app.NoCutoff, - constraints=None, - removeCMMotion=False - ) - pos = jnp.asarray(pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer)) - box = np.array([[10.0, 0.0, 0.0], [0.0, 10.0, 0.0], [0.0, 0.0, 10.0]]) - pairs = np.array([[]], dtype=int) - bondE = potential.getPotentialFunc() - energy = bondE(pos, box, pairs, h.paramtree) - npt.assert_almost_equal(energy, value, decimal=3) - - energy = jax.jit(bondE)(pos, box, pairs, h.paramtree) - npt.assert_almost_equal(energy, value, decimal=3) \ No newline at end of file +@pytest.mark.parametrize( + "pdb, prm, value", + [ + ("tests/data/proper1.pdb", "tests/data/proper1.xml", 8.368000030517578), + ("tests/data/proper2.pdb", "tests/data/proper2.xml", 20.931230545), + ("tests/data/impr1.pdb", "tests/data/impr1.xml", 2.9460556507110596), + ("tests/data/proper1.pdb", "tests/data/wild1.xml", 8.368000030517578), + ("tests/data/impr1.pdb", "tests/data/wild2.xml", 2.9460556507110596), + #("tests/data/tor2.pdb", "tests/data/tor2.xml", 100.00) + ]) +def test_periodic_torsion_force(pdb, prm, value): + pdb = app.PDBFile(pdb) + h = Hamiltonian(prm) + potential = h.createPotential( + pdb.topology, + nonbondedMethod=app.NoCutoff, + constraints=None, + removeCMMotion=False + ) + pos = jnp.asarray(pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer)) + box = np.array([[10.0, 0.0, 0.0], [0.0, 10.0, 0.0], [0.0, 0.0, 10.0]]) + pairs = np.array([[]], dtype=int) + bondE = potential.getPotentialFunc() + energy = bondE(pos, box, pairs, h.paramset.parameters) + npt.assert_almost_equal(energy, value, decimal=3) + + j_bondE = jax.jit(bondE) + energy = j_bondE(pos, box, pairs, h.paramset.parameters) + npt.assert_almost_equal(energy, value, decimal=3) \ No newline at end of file diff --git a/tests/test_classical/test_coul.py b/tests/test_classical/test_coul.py index 32adad2f1..5ec32c13f 100644 --- a/tests/test_classical/test_coul.py +++ b/tests/test_classical/test_coul.py @@ -6,6 +6,7 @@ import numpy as np import numpy.testing as npt from dmff import Hamiltonian, NeighborList +from dmff.api import DMFFTopology class TestCoulomb: @@ -26,11 +27,11 @@ def test_coul_force(self, pdb, prm, value): nblist = NeighborList(box, rc, potential.meta["cov_map"]) nblist.allocate(pos) pairs = nblist.pairs - coulE = potential.getPotentialFunc(names="NonbondedForce") - energy = coulE(pos, box, pairs, h.paramtree) + coulE = potential.getPotentialFunc(names=["NonbondedForce"]) + energy = coulE(pos, box, pairs, h.paramset) npt.assert_almost_equal(energy, value, decimal=3) - energy = jax.jit(coulE)(pos, box, pairs, h.paramtree) + energy = jax.jit(coulE)(pos, box, pairs, h.paramset.parameters) npt.assert_almost_equal(energy, value, decimal=3) @pytest.mark.parametrize( @@ -46,15 +47,15 @@ def test_coul_large_force(self, pdb, prm, value): pos = jnp.asarray(pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer)) box = np.array([[10.0, 0.0, 0.0], [0.0, 10.0, 0.0], [0.0, 0.0, 10.0]]) rc = 4 - gen = h.getGenerators()[-1] - nblist = NeighborList(box, rc, gen.covalent_map) + + nblist = NeighborList(box, rc, potential.meta["cov_map"]) nblist.allocate(pos) pairs = nblist.pairs coulE = potential.getPotentialFunc() - energy = coulE(pos, box, pairs, h.paramtree) + energy = coulE(pos, box, pairs, h.paramset) npt.assert_almost_equal(energy, value, decimal=3) - energy = jax.jit(coulE)(pos, box, pairs, h.paramtree) + energy = jax.jit(coulE)(pos, box, pairs, h.paramset) npt.assert_almost_equal(energy, value, decimal=3) @pytest.mark.parametrize( @@ -74,10 +75,10 @@ def test_coul_res_large_force(self, pdb, prm, value): nblist.allocate(pos) pairs = nblist.pairs coulE = potential.getPotentialFunc() - energy = coulE(pos, box, pairs, h.paramtree) + energy = coulE(pos, box, pairs, h.paramset.parameters) npt.assert_almost_equal(energy, value, decimal=3) - energy = jax.jit(coulE)(pos, box, pairs, h.paramtree) + energy = jax.jit(coulE)(pos, box, pairs, h.paramset.parameters) npt.assert_almost_equal(energy, value, decimal=3) @pytest.mark.parametrize( @@ -97,10 +98,10 @@ def test_coul_pme(self, pdb, prm, value): potential = h.createPotential( pdb.topology, nonbondedMethod=app.PME, + nonbondedCutoff=rcut * unit.nanometers, constraints=app.HBonds, removeCMMotion=False, rigidWater=False, - nonbondedCutoff=rcut * unit.nanometers, useDispersionCorrection=False, PmeCoeffMethod="gromacs", PmeSpacing=0.10 @@ -123,6 +124,6 @@ def test_coul_pme(self, pdb, prm, value): positions, box, pairs, - h.paramtree + h.paramset.parameters ) assert np.allclose(ene, value, atol=1e-2) \ No newline at end of file diff --git a/tests/test_classical/test_gaff2.py b/tests/test_classical/test_gaff2.py index 9b1a7fc65..030b2bfb1 100644 --- a/tests/test_classical/test_gaff2.py +++ b/tests/test_classical/test_gaff2.py @@ -8,98 +8,96 @@ from dmff import Hamiltonian, NeighborList -class TestGaff2: +@pytest.mark.parametrize( + "pdb, prm, value", + [("tests/data/lig.pdb", "tests/data/lig-prm-single-lj.xml", 22.77804946899414)]) +def test_gaff2_lj_force(pdb, prm, value): + app.Topology.loadBondDefinitions("tests/data/lig-top.xml") + pdb = app.PDBFile(pdb) + h = Hamiltonian(prm) + potential = h.createPotential(pdb.topology, + nonbondedMethod=app.NoCutoff, + constraints=None, + removeCMMotion=False) + pos = jnp.asarray(pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer)) + box = np.array([[10.0, 0.0, 0.0], [0.0, 10.0, 0.0], [0.0, 0.0, 10.0]]) + rc = 4 + nblist = NeighborList(box, rc, potential.meta["cov_map"]) + nblist.allocate(pos) + pairs = nblist.pairs + ljE = potential.getPotentialFunc() + energy = ljE(pos, box, pairs, h.paramset) + npt.assert_almost_equal(energy, value, decimal=3) + + energy = jax.jit(ljE)(pos, box, pairs, h.paramset) + npt.assert_almost_equal(energy, value, decimal=3) - @pytest.mark.parametrize( - "pdb, prm, value", - [("tests/data/lig.pdb", "tests/data/lig-prm-single-lj.xml", 22.77804946899414)]) - def test_gaff2_lj_force(self, pdb, prm, value): - app.Topology.loadBondDefinitions("tests/data/lig-top.xml") - pdb = app.PDBFile(pdb) - h = Hamiltonian(prm) - potential = h.createPotential(pdb.topology, - nonbondedMethod=app.NoCutoff, - constraints=None, - removeCMMotion=False) - pos = jnp.asarray(pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer)) - box = np.array([[10.0, 0.0, 0.0], [0.0, 10.0, 0.0], [0.0, 0.0, 10.0]]) - rc = 4 - nblist = NeighborList(box, rc, potential.meta["cov_map"]) - nblist.allocate(pos) - pairs = nblist.pairs - ljE = potential.getPotentialFunc() - energy = ljE(pos, box, pairs, h.paramtree) - npt.assert_almost_equal(energy, value, decimal=3) - - energy = jax.jit(ljE)(pos, box, pairs, h.paramtree) - npt.assert_almost_equal(energy, value, decimal=3) - - @pytest.mark.parametrize( - "pdb, prm, values", - [ - ( - "tests/data/lig.pdb", - ["tests/data/gaff-2.11.xml", "tests/data/lig-prm-lj.xml"], - [ - 174.16702270507812, 99.81585693359375, - 99.0631103515625, 22.778038024902344 - ] - ), - ] +@pytest.mark.parametrize( + "pdb, prm, values", + [ + ( + "tests/data/lig.pdb", + ["tests/data/gaff-2.11.xml", "tests/data/lig-prm-lj.xml"], + [ + 174.16702270507812, 99.81585693359375, + 99.0631103515625, 22.778038024902344 + ] + ), + ] +) +def test_gaff2_force(pdb, prm, values): + app.Topology.loadBondDefinitions("tests/data/lig-top.xml") + pdb = app.PDBFile(pdb) + h = Hamiltonian(*prm) + potential = h.createPotential( + pdb.topology, + nonbondedMethod=app.NoCutoff, + constraints=None, + removeCMMotion=False ) - def test_gaff2_force(self, pdb, prm, values): - app.Topology.loadBondDefinitions("tests/data/lig-top.xml") - pdb = app.PDBFile(pdb) - h = Hamiltonian(*prm) - potential = h.createPotential( - pdb.topology, - nonbondedMethod=app.NoCutoff, - constraints=None, - removeCMMotion=False - ) - pos = jnp.asarray(pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer)) - box = np.array([[20.0, 0.0, 0.0], [0.0, 20.0, 0.0], [0.0, 0.0, 20.0]]) - rc = 4 - nblist = NeighborList(box, rc, potential.meta["cov_map"]) - nblist.allocate(pos) - pairs = nblist.pairs - for ne, energy in enumerate(potential.dmff_potentials.values()): - E = energy(pos, box, pairs, h.paramtree) - npt.assert_almost_equal(E, values[ne], decimal=3) - - E = jax.jit(energy)(pos, box, pairs, h.paramtree) - npt.assert_almost_equal(E, values[ne], decimal=3) + pos = jnp.asarray(pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer)) + box = np.array([[20.0, 0.0, 0.0], [0.0, 20.0, 0.0], [0.0, 0.0, 20.0]]) + rc = 4 + nblist = NeighborList(box, rc, potential.meta["cov_map"]) + nblist.allocate(pos) + pairs = nblist.pairs + for ne, energy in enumerate(potential.dmff_potentials.values()): + E = energy(pos, box, pairs, h.paramset) + npt.assert_almost_equal(E, values[ne], decimal=3) + + E = jax.jit(energy)(pos, box, pairs, h.paramset) + npt.assert_almost_equal(E, values[ne], decimal=3) - @pytest.mark.parametrize( - "pdb, prm, values", - [ - ( - "tests/data/lig.pdb", - ["tests/data/gaff-2.11.xml", "tests/data/lig-prm-lj.xml"], - [ - 174.16702270507812, 99.81585693359375, - 99.0631103515625, 22.778038024902344 - ] - ), - ] +@pytest.mark.parametrize( + "pdb, prm, values", + [ + ( + "tests/data/lig.pdb", + ["tests/data/gaff-2.11.xml", "tests/data/lig-prm-lj.xml"], + [ + 174.16702270507812, 99.81585693359375, + 99.0631103515625, 22.778038024902344 + ] + ), + ] +) +def test_gaff2_total(pdb, prm, values): + app.Topology.loadBondDefinitions("tests/data/lig-top.xml") + pdb = app.PDBFile(pdb) + h = Hamiltonian(*prm) + potential = h.createPotential( + pdb.topology, + nonbondedMethod=app.NoCutoff, + constraints=None, + removeCMMotion=False ) - def test_gaff2_total(self, pdb, prm, values): - app.Topology.loadBondDefinitions("tests/data/lig-top.xml") - pdb = app.PDBFile(pdb) - h = Hamiltonian(*prm) - potential = h.createPotential( - pdb.topology, - nonbondedMethod=app.NoCutoff, - constraints=None, - removeCMMotion=False - ) - pos = jnp.asarray(pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer)) - box = np.array([[20.0, 0.0, 0.0], [0.0, 20.0, 0.0], [0.0, 0.0, 20.0]]) - rc = 4 - nblist = NeighborList(box, rc, potential.meta["cov_map"]) - nblist.allocate(pos) - pairs = nblist.pairs - efunc = potential.getPotentialFunc() - Eref = sum(values) - Ecalc = efunc(pos, box, pairs, h.paramtree) - npt.assert_almost_equal(Ecalc, Eref, decimal=3) \ No newline at end of file + pos = jnp.asarray(pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer)) + box = np.array([[20.0, 0.0, 0.0], [0.0, 20.0, 0.0], [0.0, 0.0, 20.0]]) + rc = 4 + nblist = NeighborList(box, rc, potential.meta["cov_map"]) + nblist.allocate(pos) + pairs = nblist.pairs + efunc = potential.getPotentialFunc() + Eref = sum(values) + Ecalc = efunc(pos, box, pairs, h.paramset) + npt.assert_almost_equal(Ecalc, Eref, decimal=3) \ No newline at end of file diff --git a/tests/test_classical/test_lj.py b/tests/test_classical/test_lj.py index 711b4dd6a..db53b6020 100644 --- a/tests/test_classical/test_lj.py +++ b/tests/test_classical/test_lj.py @@ -27,10 +27,10 @@ def test_lj_force(self, pdb, prm, value): nblist.allocate(pos) pairs = nblist.pairs ljE = potential.getPotentialFunc() - energy = ljE(pos, box, pairs, h.paramtree) + energy = ljE(pos, box, pairs, h.paramset.parameters) npt.assert_almost_equal(energy, value, decimal=3) - energy = jax.jit(ljE)(pos, box, pairs, h.paramtree) + energy = jax.jit(ljE)(pos, box, pairs, h.paramset.parameters) npt.assert_almost_equal(energy, value, decimal=3) @@ -50,10 +50,10 @@ def test_lj_large_force(self, pdb, prm, value): nblist.allocate(pos) pairs = nblist.pairs ljE = potential.getPotentialFunc() - energy = ljE(pos, box, pairs, h.paramtree) + energy = ljE(pos, box, pairs, h.paramset) npt.assert_almost_equal(energy, value, decimal=3) - energy = jax.jit(ljE)(pos, box, pairs, h.paramtree) + energy = jax.jit(ljE)(pos, box, pairs, h.paramset.parameters) npt.assert_almost_equal(energy, value, decimal=3) def test_lj_params_check(self): @@ -70,7 +70,7 @@ def test_lj_params_check(self): pairs = nblist.pairs ljE = potential.getPotentialFunc() with pytest.raises(TypeError): - energy = ljE(pos, box, pairs, h.getGenerators()[0].paramtree) + energy = ljE(pos, box, pairs, h.paramset.parameters) - energy = jax.jit(ljE)(pos, box, pairs, h.paramtree) # jit will optimized away type check - force = jax.grad(jax.jit(ljE))(pos, box, pairs, h.paramtree) \ No newline at end of file + energy = jax.jit(ljE)(pos, box, pairs, h.paramset.parameters) # jit will optimized away type check + force = jax.grad(jax.jit(ljE))(pos, box, pairs, h.paramset.parameters) \ No newline at end of file diff --git a/tests/test_common/test_nblist.py b/tests/test_common/test_nblist.py index bc80d4173..46454f680 100644 --- a/tests/test_common/test_nblist.py +++ b/tests/test_common/test_nblist.py @@ -17,7 +17,6 @@ v_pbc_shift, ) import freud -import jax_md class TestNeighborList: @@ -42,7 +41,7 @@ def test_nblist_init(self): positions = np.array(pdb.positions._value) * 10 - nbobj = NeighborList(box, rc, generators[1].covalent_map) + nbobj = NeighborList(box, rc, potential.meta["cov_map"]) nbobj.allocate(positions) yield nbobj @@ -62,65 +61,15 @@ def test_update(self, nblist): def test_pairs(self, nblist): pairs = nblist.pairs - assert pairs.shape == (15, 3) + assert pairs.shape[0] == int(15 * 1.3) def test_scaled_pairs(self, nblist): - - pairs = nblist.scaled_pairs scaled = pair_buffer_scales(nblist.pairs) - assert pairs.shape[0] == scaled.sum() - - def test_jit_update(self, nblist): - - positions = jnp.array([ - [12.434, 3.404, 1.540], - [13.030, 2.664, 1.322], - [12.312, 3.814, 0.660], - [14.216, 1.424, 1.103], - [14.246, 1.144, 2.054], - [15.155, 1.542, 0.910] - ]) + assert scaled.sum() == 15 - jit(nblist.update)(positions) # pass - jit(nblist.update)(positions) # pass class TestFreudNeighborlist: - # @pytest.fixture(scope='class', name='freud_nblist') - def test_raw_freud(self): - - system = freud.data.make_random_system(box_size=10, num_points=10) - box = system[0].to_matrix() - points = system[1] - rc = 4.0 - freud_nblist = freud.AABBQuery(box, points).query(points, {'r_max': rc, 'exclude_ii':True}).toNeighborList() - - displacement_fn, shift_fn = jax_md.space.periodic_general(box, fractional_coordinates=False) - jax_md_nblist_fn = jax_md.partition.neighbor_list(displacement_fn, box, rc, 0, format=jax_md.partition.OrderedSparse) - jax_md_nblist = jax_md_nblist_fn.allocate(points) - - jax_pairs = jax_md_nblist.idx.T - freud_pairs = freud_nblist[:] - freud_mask = freud_pairs[:, 0] < freud_pairs[:, 1] - freud_pairs = freud_pairs[freud_mask] - - jax_pairs = regularize_pairs(jax_pairs) - buffer_scales = pair_buffer_scales(jax_pairs).astype(bool) - jax_pairs = jax_pairs[buffer_scales] - box_inv = jnp.linalg.inv(box) - r1 = distribute_v3(points, jax_pairs[:, 0]) - r2 = distribute_v3(points, jax_pairs[:, 1]) - dr = r1 - r2 - dr = v_pbc_shift(dr, box, box_inv) - jax_md_distance = jnp.linalg.norm(dr, axis=-1) - - assert len(jax_pairs) == len(freud_pairs) - - freud_distance = freud_nblist.distances[freud_mask] - - assert len(jax_md_distance) == len(freud_distance) - npt.assert_allclose(sorted(jax_md_distance), sorted(freud_distance), rtol=1e-3) - @pytest.fixture(scope="class", name='nblist') def test_nblist_init(self): @@ -136,11 +85,10 @@ def test_nblist_init(self): H = Hamiltonian('tests/data/admp.xml') pdb = app.PDBFile('tests/data/water_dimer.pdb') potential = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.angstrom, ethresh=5e-4, step_pol=5) - generators = H.getGenerators() a, b, c = pdb.topology.getPeriodicBoxVectors() box = np.array([a._value, b._value, c._value]) * 10 positions = np.array(pdb.positions._value) * 10 - nbobj = NeighborListFreud(box, rc, generators[1].covalent_map) + nbobj = NeighborListFreud(box, rc, potential.meta["cov_map"]) nbobj.capacity_multiplier = 1 nbobj.allocate(positions) yield nbobj diff --git a/tests/test_dimer/test_run_dimer_energy.py b/tests/test_dimer/test_run_dimer_energy.py new file mode 100644 index 000000000..8519da784 --- /dev/null +++ b/tests/test_dimer/test_run_dimer_energy.py @@ -0,0 +1,511 @@ +from dmff.api.xmlio import XMLIO +from dmff.api.topology import DMFFTopology +from dmff.operators import SMARTSATypeOperator, SMARTSVSiteOperator, AM1ChargeOperator, TemplateATypeOperator +from dmff.api.paramset import ParamSet +from dmff.generators.classical import CoulombGenerator, LennardJonesGenerator +from dmff.api.hamiltonian import Hamiltonian +import jax.numpy as jnp +import jax +import openmm.app as app +import openmm.unit as unit +import numpy as np + + +def load_xml(): + xmlio = XMLIO() + xmlio.loadXML("tests/data/dimer/forcefield.xml") + xmlio.loadXML("tests/data/dimer/gaff2.xml") + xmlio.loadXML("tests/data/dimer/amber14_prot.xml") + ffinfo = xmlio.parseXML() + return ffinfo + + +def test_load_sdf(): + ffinfo = load_xml() + top = DMFFTopology(from_sdf="tests/data/dimer/ligand.mol") + smarts_type = SMARTSATypeOperator(ffinfo) + smarts_vsite = SMARTSVSiteOperator(ffinfo) + am1_charge = AM1ChargeOperator(ffinfo) + top = smarts_vsite(smarts_type(am1_charge(top))) + for atom in top.atoms(): + print(atom.meta) + print(top.parseSMARTS("[#0:1]~[#17:2]")) + print(top.parseSMARTS("[#0:1]~[#7:2]")) + + +def test_load_protein(): + ffinfo = load_xml() + pdb = app.PDBFile("tests/data/dimer/ala.pdb") + top = DMFFTopology(from_top=pdb.topology) + template_type = TemplateATypeOperator(ffinfo) + top = template_type(top) + for atom in top.atoms(): + print(atom.meta) + + +def test_build_dimer(): + from rdkit import Chem + ffinfo = load_xml() + + mol_top = DMFFTopology(from_sdf="tests/data/dimer/ligand.mol") + smarts_type = SMARTSATypeOperator(ffinfo) + smarts_vsite = SMARTSVSiteOperator(ffinfo) + am1_charge = AM1ChargeOperator(ffinfo) + mol_top = smarts_vsite(smarts_type(am1_charge(mol_top))) + + mol_pos = jnp.array(Chem.MolFromMolFile("tests/data/dimer/ligand.mol", removeHs=False).GetConformer().GetPositions()) * 0.1 + mol_pos = mol_top.addVSiteToPos(mol_pos) + + pdb = app.PDBFile("tests/data/dimer/ala.pdb") + prot_top = DMFFTopology(from_top=pdb.topology) + template_type = TemplateATypeOperator(ffinfo) + prot_top = template_type(prot_top) + prot_pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) + + mol_top.add(prot_top) + for atom in mol_top.atoms(): + print(atom.meta) + + cov_mat = mol_top.buildCovMat() + pairs = [] + for ii in range(mol_top.getNumAtoms()): + for jj in range(ii+1, mol_top.getNumAtoms()): + pairs.append([ii, jj, cov_mat[ii, jj]]) + pairs = jnp.array(pairs, dtype=int) + + pos = np.concatenate([mol_pos, prot_pos], axis=0) + pos = jnp.array(pos) + + box = jnp.array([ + [10.0, 0.0, 0.0], + [0.0, 10.0, 0.0], + [0.0, 0.0, 10.0] + ]) + + hamilt = Hamiltonian(["tests/data/dimer/forcefield.xml", "tests/data/dimer/gaff2.xml", "tests/data/dimer/amber14_prot.xml"]) + energy_func = hamilt.createPotential(mol_top) + + print(energy_func.getPotentialFunc()(pos, box, pairs, hamilt.paramset)) + +def test_dimer_coul(): + from rdkit import Chem + ffinfo = load_xml() + + print("------- Jax Ener Func --------") + # mol1 + top1 = DMFFTopology(from_sdf="tests/data/dimer/mol1.mol") + smarts_type = SMARTSATypeOperator(ffinfo) + smarts_vsite = SMARTSVSiteOperator(ffinfo) + am1_charge = AM1ChargeOperator(ffinfo) + top1 = smarts_vsite(smarts_type(am1_charge(top1))) + pos1 = jnp.array(Chem.MolFromMolFile("tests/data/dimer/mol1.mol", removeHs=False).GetConformer().GetPositions()) * 0.1 + pos1 = top1.addVSiteToPos(pos1) + + paramset = ParamSet() + coul_gen = CoulombGenerator(ffinfo, paramset) + + # mol2 + top2 = DMFFTopology(from_sdf="tests/data/dimer/mol2.mol") + top2 = smarts_vsite(smarts_type(am1_charge(top2))) + pos2 = jnp.array(Chem.MolFromMolFile("tests/data/dimer/mol2.mol", removeHs=False).GetConformer().GetPositions()) * 0.1 + pos2 = top2.addVSiteToPos(pos2) + + box = jnp.array([ + [10.0, 0.0, 0.0], + [0.0, 10.0, 0.0], + [0.0, 0.0, 10.0] + ]) + + # mol1_energy + cov_mat1 = top1.buildCovMat() + pairs1 = [] + for ii in range(top1.getNumAtoms()): + for jj in range(ii+1, top1.getNumAtoms()): + pairs1.append([ii, jj, cov_mat1[ii, jj]]) + pairs1 = jnp.array(pairs1, dtype=int) + + coul_force1 = coul_gen.createPotential( + top1, nonbondedMethod=app.NoCutoff, nonbondedCutoff=1.0, args={}) + ener_mol1 = coul_force1(pos1, box, pairs1, paramset) + print("JAX mol1: ", ener_mol1) + + # mol2_energy + cov_mat2 = top2.buildCovMat() + pairs2 = [] + for ii in range(top2.getNumAtoms()): + for jj in range(ii+1, top2.getNumAtoms()): + pairs2.append([ii, jj, cov_mat2[ii, jj]]) + pairs2 = jnp.array(pairs2, dtype=int) + + coul_force2 = coul_gen.createPotential( + top2, nonbondedMethod=app.NoCutoff, nonbondedCutoff=1.0, args={}) + ener_mol2 = coul_force2(pos2, box, pairs2, paramset) + print("JAX mol2", ener_mol2) + + # dimer_energy + pos_sum = jnp.concatenate([pos1, pos2], axis=0) + + top = DMFFTopology() + top.add(top1) + top.add(top2) + + cov_mat_sum = top.buildCovMat() + pairs_sum = [] + for ii in range(top.getNumAtoms()): + for jj in range(ii+1, top.getNumAtoms()): + pairs_sum.append([ii, jj, cov_mat_sum[ii, jj]]) + pairs_sum = jnp.array(pairs_sum, dtype=int) + + coul_force_sum = coul_gen.createPotential( + top, nonbondedMethod=app.NoCutoff, nonbondedCutoff=1.0, args={}) + ener_sum = coul_force_sum(pos_sum, box, pairs_sum, paramset) + print("JAX sum: ", ener_sum) + + # interaction + print("JAX Interaction: ", ener_sum - ener_mol1 - ener_mol2) + + print("------- Calc by hand --------") + + mscales_coul = jnp.array([0.0, 0.0, 0.8333333, 1.0, 1.0, + 1.0]) + # mol1_calc + atoms_top1 = [a for a in top1.atoms()] + charges = jnp.array([a.meta["charge"] for a in atoms_top1]) + bcc_mat = top1._meta["bcc_top_mat"] + bcc_charges = charges + jnp.dot(bcc_mat, paramset["CoulombForce"]["bcc"].reshape((-1, 1))).ravel() + e1_calc = 0.0 + for ii, jj, cdist in pairs1: + dist = jnp.linalg.norm(pos1[ii,:] - pos1[jj,:]) + chrg1 = bcc_charges[ii] + chrg2 = bcc_charges[jj] + e1_calc += 138.935455846 * chrg1 * chrg2 / dist * mscales_coul[cdist-1] + print("Calc mol1: ", e1_calc ) + + # mol2_calc + atoms_top2 = [a for a in top2.atoms()] + charges = jnp.array([a.meta["charge"] for a in atoms_top2]) + bcc_mat = top2._meta["bcc_top_mat"] + bcc_charges = charges + jnp.dot(bcc_mat, paramset["CoulombForce"]["bcc"].reshape((-1, 1))).ravel() + e2_calc = 0.0 + for ii, jj, cdist in pairs2: + dist = jnp.linalg.norm(pos2[ii,:] - pos2[jj,:]) + chrg1 = bcc_charges[ii] + chrg2 = bcc_charges[jj] + e2_calc += 138.935455846 * chrg1 * chrg2 / dist * mscales_coul[cdist-1] + print("Calc mol2: ", e2_calc ) + + # sum_calc + atoms_top = [a for a in top.atoms()] + charges = jnp.array([a.meta["charge"] for a in atoms_top]) + bcc_mat = top._meta["bcc_top_mat"] + bcc_charges = charges + jnp.dot(bcc_mat, paramset["CoulombForce"]["bcc"].reshape((-1, 1))).ravel() + esum_calc, einter_calc = 0.0, 0.0 + for ii, jj, cdist in pairs_sum: + dist = jnp.linalg.norm(pos_sum[ii,:] - pos_sum[jj,:]) + chrg1 = bcc_charges[ii] + chrg2 = bcc_charges[jj] + e = 138.935455846 * chrg1 * chrg2 / dist * mscales_coul[cdist-1] + if e > 4000: + print(ii, jj, cdist, e) + esum_calc += e + if ii < top1.getNumAtoms() and jj >= top1.getNumAtoms(): + einter_calc += e + print("Calc sum: ", esum_calc) + print("Calc inter: ", einter_calc) + + +def test_dimer_lj(): + from rdkit import Chem + ffinfo = load_xml() + paramset = ParamSet() + lj_gen = LennardJonesGenerator(ffinfo, paramset) + + print("------- Jax Ener Func --------") + # mol1 + top1 = DMFFTopology(from_sdf="tests/data/dimer/mol1.mol") + smarts_type = SMARTSATypeOperator(ffinfo) + smarts_vsite = SMARTSVSiteOperator(ffinfo) + am1_charge = AM1ChargeOperator(ffinfo) + top1 = smarts_vsite(smarts_type(am1_charge(top1))) + pos1 = jnp.array(Chem.MolFromMolFile("tests/data/dimer/mol1.mol", removeHs=False).GetConformer().GetPositions()) * 0.1 + pos1 = top1.addVSiteToPos(pos1) + + # mol2 + top2 = DMFFTopology(from_sdf="tests/data/dimer/mol2.mol") + top2 = smarts_vsite(smarts_type(am1_charge(top2))) + pos2 = jnp.array(Chem.MolFromMolFile("tests/data/dimer/mol2.mol", removeHs=False).GetConformer().GetPositions()) * 0.1 + pos2 = top2.addVSiteToPos(pos2) + + box = jnp.array([ + [10.0, 0.0, 0.0], + [0.0, 10.0, 0.0], + [0.0, 0.0, 10.0] + ]) + + # mol1_energy + cov_mat1 = top1.buildCovMat() + pairs1 = [] + for ii in range(top1.getNumAtoms()): + for jj in range(ii+1, top1.getNumAtoms()): + pairs1.append([ii, jj, cov_mat1[ii, jj]]) + pairs1 = jnp.array(pairs1, dtype=int) + + lj_force1 = lj_gen.createPotential( + top1, nonbondedMethod=app.NoCutoff, nonbondedCutoff=1.0, args={}) + ener_mol1 = lj_force1(pos1, box, pairs1, paramset) + print("JAX mol1: ", ener_mol1) + + # mol2_energy + cov_mat2 = top2.buildCovMat() + pairs2 = [] + for ii in range(top2.getNumAtoms()): + for jj in range(ii+1, top2.getNumAtoms()): + pairs2.append([ii, jj, cov_mat2[ii, jj]]) + pairs2 = jnp.array(pairs2, dtype=int) + + lj_force2 = lj_gen.createPotential( + top2, nonbondedMethod=app.NoCutoff, nonbondedCutoff=1.0, args={}) + ener_mol2 = lj_force2(pos2, box, pairs2, paramset) + print("JAX mol2", ener_mol2) + + # dimer_energy + pos_sum = jnp.concatenate([pos1, pos2], axis=0) + + top = DMFFTopology() + top.add(top1) + top.add(top2) + + cov_mat_sum = top.buildCovMat() + pairs_sum = [] + for ii in range(top.getNumAtoms()): + for jj in range(ii+1, top.getNumAtoms()): + pairs_sum.append([ii, jj, cov_mat_sum[ii, jj]]) + pairs_sum = jnp.array(pairs_sum, dtype=int) + + lj_force_sum = lj_gen.createPotential( + top, nonbondedMethod=app.NoCutoff, nonbondedCutoff=1.0, args={}) + ener_sum = lj_force_sum(pos_sum, box, pairs_sum, paramset) + print("JAX sum: ", ener_sum) + + # interaction + print("JAX Interaction: ", ener_sum - ener_mol1 - ener_mol2) + + print("------- Calc by hand --------") + + mscales_lj = jnp.array([0.0, 0.0, 0.5, 1.0, 1.0, + 1.0]) + # mol1_calc + map_idx = top1._meta["lj_map_idx"] + e1_calc = 0.0 + for ii, jj, cdist in pairs1: + dist = jnp.linalg.norm(pos1[ii,:] - pos1[jj,:]) + sig1 = paramset["LennardJonesForce"]["sigma"][map_idx[ii]] + sig2 = paramset["LennardJonesForce"]["sigma"][map_idx[jj]] + eps1 = paramset["LennardJonesForce"]["epsilon"][map_idx[ii]] + eps2 = paramset["LennardJonesForce"]["epsilon"][map_idx[jj]] + eps = jnp.sqrt(eps1 * eps2) + sig = (sig1 + sig2) * 0.5 + + dr_inv = 1.0 / dist + sig_dr = sig * dr_inv + sig_dr6 = jnp.power(sig_dr, 6) + sig_dr12 = jnp.power(sig_dr6, 2) + e = 4.0 * eps * (sig_dr12 - sig_dr6) + e1_calc += e * mscales_lj[cdist-1] + print("Calc mol1: ", e1_calc ) + + # mol2_calc + map_idx = top2._meta["lj_map_idx"] + e2_calc = 0.0 + for ii, jj, cdist in pairs2: + dist = jnp.linalg.norm(pos2[ii,:] - pos2[jj,:]) + sig1 = paramset["LennardJonesForce"]["sigma"][map_idx[ii]] + sig2 = paramset["LennardJonesForce"]["sigma"][map_idx[jj]] + eps1 = paramset["LennardJonesForce"]["epsilon"][map_idx[ii]] + eps2 = paramset["LennardJonesForce"]["epsilon"][map_idx[jj]] + eps = jnp.sqrt(eps1 * eps2) + sig = (sig1 + sig2) * 0.5 + + dr_inv = 1.0 / dist + sig_dr = sig * dr_inv + sig_dr6 = jnp.power(sig_dr, 6) + sig_dr12 = jnp.power(sig_dr6, 2) + e = 4.0 * eps * (sig_dr12 - sig_dr6) + e2_calc += e * mscales_lj[cdist-1] + print("Calc mol2: ", e2_calc ) + + # sum_calc + map_idx = top._meta["lj_map_idx"] + esum_calc = 0.0 + einter_calc = 0.0 + for ii, jj, cdist in pairs_sum: + dist = jnp.linalg.norm(pos_sum[ii,:] - pos_sum[jj,:]) + sig1 = paramset["LennardJonesForce"]["sigma"][map_idx[ii]] + sig2 = paramset["LennardJonesForce"]["sigma"][map_idx[jj]] + eps1 = paramset["LennardJonesForce"]["epsilon"][map_idx[ii]] + eps2 = paramset["LennardJonesForce"]["epsilon"][map_idx[jj]] + eps = jnp.sqrt(eps1 * eps2) + sig = (sig1 + sig2) * 0.5 + + dr_inv = 1.0 / dist + sig_dr = sig * dr_inv + sig_dr6 = jnp.power(sig_dr, 6) + sig_dr12 = jnp.power(sig_dr6, 2) + e = 4.0 * eps * (sig_dr12 - sig_dr6) + esum_calc += e * mscales_lj[cdist-1] + if ii < top1.getNumAtoms() and jj >= top1.getNumAtoms(): + einter_calc += e + print("Calc sum: ", esum_calc) + print("Calc inter: ", einter_calc) + + +def test_hamiltonian(): + from rdkit import Chem + hamilt = Hamiltonian("tests/data/dimer/forcefield.xml", "tests/data/dimer/gaff2.xml", "tests/data/dimer/amber14_prot.xml") + smarts_type = SMARTSATypeOperator(hamilt.ffinfo) + smarts_vsite = SMARTSVSiteOperator(hamilt.ffinfo) + am1_charge = AM1ChargeOperator(hamilt.ffinfo) + print(hamilt.generators) + + print("------- Jax Ener Func --------") + # mol1 + top1 = DMFFTopology(from_sdf="tests/data/dimer/mol1.mol") + top1 = smarts_vsite(smarts_type(am1_charge(top1))) + pos1 = jnp.array(Chem.MolFromMolFile("tests/data/dimer/mol1.mol", removeHs=False).GetConformer().GetPositions()) * 0.1 + pos1 = top1.addVSiteToPos(pos1) + + # mol2 + top2 = DMFFTopology(from_sdf="tests/data/dimer/mol2.mol") + top2 = smarts_vsite(smarts_type(am1_charge(top2))) + pos2 = jnp.array(Chem.MolFromMolFile("tests/data/dimer/mol2.mol", removeHs=False).GetConformer().GetPositions()) * 0.1 + pos2 = top2.addVSiteToPos(pos2) + + box = jnp.array([ + [10.0, 0.0, 0.0], + [0.0, 10.0, 0.0], + [0.0, 0.0, 10.0] + ]) + + cov_mat1 = top1.buildCovMat() + pairs1 = [] + for ii in range(top1.getNumAtoms()): + for jj in range(ii+1, top1.getNumAtoms()): + pairs1.append([ii, jj, cov_mat1[ii, jj]]) + pairs1 = jnp.array(pairs1, dtype=int) + + force1 = hamilt.createPotential( + top1, nonbondedMethod=app.NoCutoff, nonbondedCutoff=1.0, args={}).getPotentialFunc() + ener_mol1 = force1(pos1, box, pairs1, hamilt.paramset) + print("JAX mol1: ", ener_mol1) + + # mol2_energy + cov_mat2 = top2.buildCovMat() + pairs2 = [] + for ii in range(top2.getNumAtoms()): + for jj in range(ii+1, top2.getNumAtoms()): + pairs2.append([ii, jj, cov_mat2[ii, jj]]) + pairs2 = jnp.array(pairs2, dtype=int) + + force2 = hamilt.createPotential( + top2, nonbondedMethod=app.NoCutoff, nonbondedCutoff=1.0, args={}).getPotentialFunc() + ener_mol2 = force2(pos2, box, pairs2, hamilt.paramset) + print("JAX mol2", ener_mol2) + + # dimer_energy + pos_sum = jnp.concatenate([pos1, pos2], axis=0) + + top = DMFFTopology() + top.add(top1) + top.add(top2) + + cov_mat_sum = top.buildCovMat() + pairs_sum = [] + for ii in range(top.getNumAtoms()): + for jj in range(ii+1, top.getNumAtoms()): + pairs_sum.append([ii, jj, cov_mat_sum[ii, jj]]) + pairs_sum = jnp.array(pairs_sum, dtype=int) + + force_sum = hamilt.createPotential( + top, nonbondedMethod=app.NoCutoff, nonbondedCutoff=1.0, args={}).getPotentialFunc() + ener_sum = force_sum(pos_sum, box, pairs_sum, hamilt.paramset) + print("JAX sum: ", ener_sum) + + # interaction + print("JAX Interaction: ", ener_sum - ener_mol1 - ener_mol2) + + hamilt.paramset["LennardJonesForce"]["epsilon"] = hamilt.paramset["LennardJonesForce"]["epsilon"].at[0].set(-1.0) + hamilt.renderXML("test.xml") + +def test_optax(): + from rdkit import Chem + hamilt = Hamiltonian("tests/data/dimer/forcefield.xml", "tests/data/dimer/gaff2.xml", "tests/data/dimer/amber14_prot.xml") + hamilt.renderXML("tests/data/dimer/test-init.xml") + smarts_type = SMARTSATypeOperator(hamilt.ffinfo) + smarts_vsite = SMARTSVSiteOperator(hamilt.ffinfo) + am1_charge = AM1ChargeOperator(hamilt.ffinfo) + + # mol1 + top1 = DMFFTopology(from_sdf="tests/data/dimer/mol1.mol") + top1 = smarts_vsite(smarts_type(am1_charge(top1))) + pos1 = jnp.array(Chem.MolFromMolFile("tests/data/dimer/mol1.mol", removeHs=False).GetConformer().GetPositions()) * 0.1 + pos1 = top1.addVSiteToPos(pos1) + + # mol2 + top2 = DMFFTopology(from_sdf="tests/data/dimer/mol2.mol") + top2 = smarts_vsite(smarts_type(am1_charge(top2))) + pos2 = jnp.array(Chem.MolFromMolFile("tests/data/dimer/mol2.mol", removeHs=False).GetConformer().GetPositions()) * 0.1 + pos2 = top2.addVSiteToPos(pos2) + + box = jnp.array([ + [10.0, 0.0, 0.0], + [0.0, 10.0, 0.0], + [0.0, 0.0, 10.0] + ]) + + # dimer_energy + pos_sum = jnp.concatenate([pos1, pos2], axis=0) + + top = DMFFTopology() + top.add(top1) + top.add(top2) + + cov_mat_sum = top.buildCovMat() + pairs_sum = [] + for ii in range(top.getNumAtoms()): + for jj in range(ii+1, top.getNumAtoms()): + pairs_sum.append([ii, jj, cov_mat_sum[ii, jj]]) + pairs_sum = jnp.array(pairs_sum, dtype=int) + + force_sum = hamilt.createPotential( + top, nonbondedMethod=app.NoCutoff, nonbondedCutoff=1.0, args={}).getPotentialFunc() + ener_sum = force_sum(pos_sum, box, pairs_sum, hamilt.paramset) + print("JAX sum: ", ener_sum) + + print(hamilt.paramset["CoulombForce"]["bcc"][-8]) + import optax + optimizer = optax.adam(learning_rate=1e-1) + opt_state = optimizer.init(hamilt.paramset) + value, grads = jax.value_and_grad(force_sum, 3)(pos_sum, box, pairs_sum, hamilt.paramset) + print(grads["CoulombForce"]["bcc"][-8]) + updates, opt_state = optimizer.update(grads, opt_state, hamilt.paramset) + hamilt.paramset = optax.apply_updates(hamilt.paramset, updates) + print(hamilt.paramset["CoulombForce"]["bcc"][-8]) + hamilt.renderXML("tests/data/dimer/test-opt.xml") + print(hamilt.ffinfo["Forces"]["CoulombForce"]["node"][-8]) + import os + os.system("diff tests/data/dimer/test-init.xml tests/data/dimer/test-opt.xml") + print(hamilt.paramset.mask) + + +if __name__ == "__main__": + test_load_sdf() + test_load_protein() + test_build_dimer() + print(">>> Test Coul - NoCutoff") + test_dimer_coul() + print(">>> Test LJ - NoCutoff") + test_dimer_lj() + print(">>> Use Hamiltonian") + test_hamiltonian() + print(">>> Use OPTAX") + test_optax() \ No newline at end of file diff --git a/tests/test_energy.py b/tests/test_energy.py new file mode 100644 index 000000000..dcb1c6b35 --- /dev/null +++ b/tests/test_energy.py @@ -0,0 +1,51 @@ +import openmm.app as app +import openmm.unit as unit +import numpy as np +import jax.numpy as jnp +import numpy.testing as npt +import pytest +from dmff import Hamiltonian, NeighborList +from jax import jit, value_and_grad + +class TestADMPAPI: + + """ Test EANN related generators + """ + + @pytest.fixture(scope='class', name='pot_prm') + def test_init(self): + """load generators from XML file + + Yields: + Tuple: ( + ADMPDispForce, + ADMPPmeForce, # polarized + ) + """ + rc = 4.0 + H = Hamiltonian('tests/data/peg_eann.xml') + pdb = app.PDBFile('tests/data/peg4.pdb') + potential = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.angstrom, ethresh=5e-4, step_pol=5) + + yield potential, H.paramset + + def test_EANN_energy(self, pot_prm): + potential, paramset = pot_prm + rc = 0.4 + pdb = app.PDBFile('tests/data/peg4.pdb') + positions = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) + positions = jnp.array(positions) + a, b, c = pdb.topology.getPeriodicBoxVectors().value_in_unit(unit.nanometer) + box = jnp.array([a, b, c]) + # neighbor list + covalent_map = potential.meta["cov_map"] + + nblist = NeighborList(box, rc, covalent_map) + nblist.allocate(positions) + pairs = nblist.pairs + pot = potential.getPotentialFunc(names=["EANNForce"]) + energy = pot(positions, box, pairs, paramset) + print(energy) + np.testing.assert_almost_equal(energy, -0.09797672247940442, decimal=4) + + diff --git a/tests/test_frontend/test_atype_from_smarts.py b/tests/test_frontend/test_atype_from_smarts.py new file mode 100644 index 000000000..46452bdfb --- /dev/null +++ b/tests/test_frontend/test_atype_from_smarts.py @@ -0,0 +1,56 @@ +import openmm.app as app +import openmm.unit as unit +from dmff.api.topology import DMFFTopology +from dmff.api.xmlio import XMLIO +from dmff.operators.smartstype import SMARTSATypeOperator +import json +import pytest + + +def build_test_mol(): + top = app.Topology() + chain = top.addChain() + res = top.addResidue("MOL", chain) + n1 = top.addAtom("N1", app.element.nitrogen, res) + c1 = top.addAtom("C1", app.element.carbon, res) + c2 = top.addAtom("C2", app.element.carbon, res) + c3 = top.addAtom("C3", app.element.carbon, res) + c4 = top.addAtom("C4", app.element.carbon, res) + h1 = top.addAtom("H1", app.element.hydrogen, res) + h2 = top.addAtom("H2", app.element.hydrogen, res) + h3 = top.addAtom("H3", app.element.hydrogen, res) + h4 = top.addAtom("H4", app.element.hydrogen, res) + hn = top.addAtom("HN", app.element.hydrogen, res) + top.addBond(n1, c1, order=1) + top.addBond(c1, c2, order=2) + top.addBond(c2, c3, order=1) + top.addBond(c3, c4, order=2) + top.addBond(c4, n1, order=1) + top.addBond(n1, hn, order=1) + top.addBond(c1, h1, order=1) + top.addBond(c2, h2, order=1) + top.addBond(c3, h3, order=1) + top.addBond(c4, h4, order=1) + return top + + +def test_atype_from_smarts_single(): + top = build_test_mol() + topdata = DMFFTopology(from_top=top) + + io = XMLIO() + io.loadXML("tests/data/smarts_test1.xml") + ret = io.parseXML() + + operator = SMARTSATypeOperator(ret) + topdata = operator(topdata) + + reftype = ["n1", "c1", "c2", "c2", "c1", "hc", "hc", "hc", "hc", "hn"] + for na, a in enumerate(topdata.atoms()): + print(a.meta) + for na, a in enumerate(topdata.atoms()): + assert a.meta["type"] == reftype[na] + + +if __name__ == "__main__": + test_atype_from_smarts_single() \ No newline at end of file diff --git a/tests/test_frontend/test_atype_from_template.py b/tests/test_frontend/test_atype_from_template.py new file mode 100644 index 000000000..ca55772f8 --- /dev/null +++ b/tests/test_frontend/test_atype_from_template.py @@ -0,0 +1,56 @@ +import openmm.app as app +import openmm.unit as unit +from dmff.api.topology import DMFFTopology +from dmff.api.xmlio import XMLIO +from dmff.operators.templatetype import TemplateATypeOperator +import json +import pytest + + +def test_atype_from_template_single(): + pdb = app.PDBFile("tests/data/template_test1.pdb") + top = pdb.topology + topdata = DMFFTopology(top) + + io = XMLIO() + io.loadXML("tests/data/template_test1.xml") + ret = io.parseXML() + + operator = TemplateATypeOperator(ret) + topdata = operator.operate(topdata) + for na, a in enumerate(topdata.atoms()): + print(a.meta) + +def test_atype_from_template_multi(): + pdb = app.PDBFile("tests/data/ala3.pdb") + top = pdb.topology + topdata = DMFFTopology(top) + + io = XMLIO() + io.loadXML("tests/data/amber14_prot.xml") + ret = io.parseXML() + + typifier = TemplateATypeOperator(ret) + topdata = typifier.operate(topdata) + for na, a in enumerate(topdata.atoms()): + print(a.meta) + +def test_atype_from_template_with_vsite(): + pdb = app.PDBFile("tests/data/template_vsite.pdb") + top = pdb.topology + topdata = DMFFTopology(top) + + io = XMLIO() + io.loadXML("tests/data/template_and_vsite.xml") + ret = io.parseXML() + + operator = TemplateATypeOperator(ret) + operator.operate(topdata) + for na, a in enumerate(topdata.atoms()): + print(a.meta) + + +if __name__ == "__main__": + # test_atype_from_template_single() + # test_atype_from_template_multi() + test_atype_from_template_with_vsite() \ No newline at end of file diff --git a/tests/test_frontend/test_ethane_bcc.py b/tests/test_frontend/test_ethane_bcc.py new file mode 100644 index 000000000..254178b6b --- /dev/null +++ b/tests/test_frontend/test_ethane_bcc.py @@ -0,0 +1,53 @@ +import openmm.app as app +import openmm.unit as unit +from dmff.api.topology import DMFFTopology +from dmff.api.paramset import ParamSet +from dmff.operators import TemplateVSiteOperator, SMARTSVSiteOperator, TemplateATypeOperator, SMARTSATypeOperator, AM1ChargeOperator, GAFFTypeOperator +from dmff.api.xmlio import XMLIO +from dmff.generators.classical import CoulombGenerator, LennardJonesGenerator +import numpy as np +import jax.numpy as jnp +from dmff import NeighborListFreud +from dmff.settings import update_jax_precision +update_jax_precision("double") + + +def test_ethane(): + pdb = app.PDBFile("tests/data/ethane.pdb") + pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) + pos = jnp.array(pos) + topdata = DMFFTopology(from_top=pdb.topology) + + xmlio = XMLIO() + xmlio.loadXML("tests/data/ethane_smarts_newapi.xml") + ffinfo = xmlio.parseXML() + smartsATOP = SMARTSATypeOperator(ffinfo) + templateOP = TemplateATypeOperator(ffinfo) + top_mod = smartsATOP(templateOP(topdata)) + top_mod.setPeriodicBoxVectors(np.array([[1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0]]) * 4.0) + for atom in top_mod.atoms(): + print(atom.meta) + pass + cov_mat = top_mod.buildCovMat() + cutoff = 1.0 + + paramset = ParamSet() + box = top_mod.getPeriodicBoxVectors(use_jax=True) + + nblist = NeighborListFreud(box, cutoff, cov_map=cov_mat) + pairs = nblist.allocate(pos) + + generator = CoulombGenerator(ffinfo, paramset) + pot_func = generator.createPotential( + top_mod, nonbondedMethod=app.CutoffPeriodic, nonbondedCutoff=cutoff, args={}) + print("E_coul", pot_func(pos, box, pairs, paramset)) + + generator_lj = LennardJonesGenerator(ffinfo, paramset) + pot_func_lj = generator_lj.createPotential( + top_mod, nonbondedMethod=app.CutoffPeriodic, nonbondedCutoff=cutoff, args={}) + print("E_LJ", pot_func_lj(pos, box, pairs, paramset)) + + + +if __name__ == "__main__": + test_ethane() \ No newline at end of file diff --git a/tests/test_frontend/test_hamiltonian.py b/tests/test_frontend/test_hamiltonian.py new file mode 100644 index 000000000..e45fcba61 --- /dev/null +++ b/tests/test_frontend/test_hamiltonian.py @@ -0,0 +1,11 @@ + + +def test_load_xml_forcefield(): + pass + +def test_typification_from_templates(): + pass + +def test_build_jax_potential(): + pass + diff --git a/tests/test_frontend/test_inter_generator.py b/tests/test_frontend/test_inter_generator.py new file mode 100644 index 000000000..0f53aef55 --- /dev/null +++ b/tests/test_frontend/test_inter_generator.py @@ -0,0 +1,210 @@ +import openmm.app as app +import openmm.unit as unit +from dmff.api.topology import DMFFTopology +from dmff.api.paramset import ParamSet +from dmff.operators import TemplateVSiteOperator, SMARTSVSiteOperator, TemplateATypeOperator, SMARTSATypeOperator, AM1ChargeOperator, GAFFTypeOperator +from dmff.api.xmlio import XMLIO +from dmff.generators.classical import CoulombGenerator, LennardJonesGenerator +import numpy as np +import jax.numpy as jnp +from dmff.settings import update_jax_precision +update_jax_precision("double") + +def build_test_mol(): + ret = DMFFTopology() + top = DMFFTopology() + chain = top.addChain() + res = top.addResidue("MOL", chain) + n1 = top.addAtom("N1", app.element.nitrogen, res) + c1 = top.addAtom("C1", app.element.carbon, res) + c2 = top.addAtom("C2", app.element.carbon, res) + c3 = top.addAtom("C3", app.element.carbon, res) + c4 = top.addAtom("C4", app.element.carbon, res) + h1 = top.addAtom("H1", app.element.hydrogen, res) + h2 = top.addAtom("H2", app.element.hydrogen, res) + h3 = top.addAtom("H3", app.element.hydrogen, res) + h4 = top.addAtom("H4", app.element.hydrogen, res) + br = top.addAtom("BR", app.element.bromine, res) + top.addBond(n1, c1, order=1) + top.addBond(c1, c2, order=2) + top.addBond(c2, c3, order=1) + top.addBond(c3, c4, order=2) + top.addBond(c4, n1, order=1) + top.addBond(n1, br, order=1) + top.addBond(c1, h1, order=1) + top.addBond(c2, h2, order=1) + top.addBond(c3, h3, order=1) + top.addBond(c4, h4, order=1) + ret.add(top) + ret.add(top) + ret.updateMolecules() + return ret + +def build_test_C4H10(): + ret = DMFFTopology() + top = DMFFTopology() + chain = top.addChain() + res = top.addResidue("MOL", chain) + c1 = top.addAtom("C1", app.element.carbon, res) + h1 = top.addAtom("H1", app.element.hydrogen, res) + h2 = top.addAtom("H2", app.element.hydrogen, res) + h3 = top.addAtom("H3", app.element.hydrogen, res) + c2 = top.addAtom("C2", app.element.carbon, res) + h21 = top.addAtom("H21", app.element.hydrogen, res) + h22 = top.addAtom("H22", app.element.hydrogen, res) + c3 = top.addAtom("C3", app.element.carbon, res) + h31 = top.addAtom("H31", app.element.hydrogen, res) + h32 = top.addAtom("H32", app.element.hydrogen, res) + c4 = top.addAtom("C4", app.element.carbon, res) + h4 = top.addAtom("H4", app.element.hydrogen, res) + h5 = top.addAtom("H5", app.element.hydrogen, res) + h6 = top.addAtom("H6", app.element.hydrogen, res) + top.addBond(c1, h1, order=1) + top.addBond(c1, h2, order=1) + top.addBond(c1, h3, order=1) + top.addBond(c4, h4, order=1) + top.addBond(c4, h5, order=1) + top.addBond(c4, h6, order=1) + + top.addBond(c2, h21, order=1) + top.addBond(c2, h22, order=1) + + top.addBond(c3, h31, order=1) + top.addBond(c3, h32, order=1) + + top.addBond(c1, c2, order=1) + top.addBond(c2, c3, order=1) + top.addBond(c3, c4, order=1) + ret.add(top) + ret.updateMolecules() + return ret + + +def test_cov_mat(): + top = build_test_C4H10() + cov_mat = top.buildCovMat() + print(cov_mat) + +def test_run_coul_and_lj_nocutoff(): + pdb = app.PDBFile("tests/data/c4h10.pdb") + pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) + pos = jnp.array(pos) + mol = build_test_C4H10() + mol.setPeriodicBoxVectors(np.array([[1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0]]) * 3.0) + atoms = [a for a in mol.atoms()] + + xmlio = XMLIO() + xmlio.loadXML("tests/data/smarts_test1.xml") + xmlio.loadXML("tests/data/smarts_and_vsite.xml") + xmlio.loadXML("tests/data/inter_test.xml") + ffinfo = xmlio.parseXML() + smartsVSOP = SMARTSVSiteOperator(ffinfo) + gaffTypeOP = GAFFTypeOperator(ffinfo) + am1ChargeOP = AM1ChargeOperator(ffinfo) + mol_vsite = am1ChargeOP(gaffTypeOP(smartsVSOP(mol))) + for atom in mol_vsite.atoms(): + print(atom.meta) + pass + + cov_mat = mol.buildCovMat() + print(cov_mat) + + paramset = ParamSet() + box = mol.getPeriodicBoxVectors(use_jax=True) + pairs = [] + for ii in range(mol.getNumAtoms()): + for jj in range(ii+1, mol.getNumAtoms()): + pairs.append([ii, jj, 0]) + pairs = jnp.array(pairs) + pairs = pairs.at[:,2].set(cov_mat[pairs[:,0], pairs[:,1]]) + + generator = CoulombGenerator(ffinfo, paramset) + pot_func = generator.createPotential(mol, nonbondedMethod=app.NoCutoff, nonbondedCutoff=999.9, args={}) + print("E_coul", pot_func(pos, box, pairs, paramset)) + + generator_lj = LennardJonesGenerator(ffinfo, paramset) + pot_func_lj = generator_lj.createPotential(mol, nonbondedMethod=app.NoCutoff, nonbondedCutoff=999.9, args={}) + print("E_LJ", pot_func_lj(pos, box, pairs, paramset)) + + # + # + mscales_lj = jnp.array([0.0, 0.0, 0.5, 1.0, 1.0, 1.0, 1.0, 1.0]) + elj = 0.0 + def dist(ii, jj): + return np.linalg.norm(pos[ii] - pos[jj]) + for ii, jj, norder in pairs: + d = dist(ii, jj) + if atoms[ii].meta["element"] == "C": + eps1, sig1 = 0.4510352, 0.3397710 + elif atoms[ii].meta["element"] == "H": + eps1, sig1 = 0.0870272, 0.2601770 + else: + raise BaseException(f"ELEM: {atoms[ii].meta['element']}") + + if atoms[jj].meta["element"] == "C": + eps2, sig2 = 0.4510352, 0.3397710 + elif atoms[jj].meta["element"] == "H": + eps2, sig2 = 0.0870272, 0.2601770 + else: + raise BaseException(f"ELEM: {atoms[ii].meta['element']}") + + sig = (sig1 + sig2) / 2 + eps = np.sqrt(eps1 * eps2) + one_sig = sig / d + de = mscales_lj[norder-1] * 4. * eps * (one_sig ** 12 - one_sig ** 6) + # print(f"{ii} {jj} {sig:.4f}, {eps:.4f}, {d:.4f}, {mscales_lj[norder-1]:.2f}, {de:.4f}") + elj += de + print("E_LJ calc: ", elj) + +def test_run_coul_and_lj_pme(): + pdb = app.PDBFile("tests/data/c4h10.pdb") + pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) + pos = jnp.array(pos) + mol = build_test_C4H10() + mol.setPeriodicBoxVectors(np.array([[1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0]]) * 2.5) + cov_mat = mol.buildCovMat() + + xmlio = XMLIO() + xmlio.loadXML("tests/data/smarts_test1.xml") + xmlio.loadXML("tests/data/smarts_and_vsite.xml") + xmlio.loadXML("tests/data/inter_test.xml") + ffinfo = xmlio.parseXML() + smartsVSOP = SMARTSVSiteOperator(ffinfo) + gaffTypeOP = GAFFTypeOperator(ffinfo) + am1ChargeOP = AM1ChargeOperator(ffinfo) + mol_vsite = am1ChargeOP(gaffTypeOP(smartsVSOP(mol))) + for atom in mol_vsite.atoms(): + print(atom.meta) + + paramset = ParamSet() + generator = CoulombGenerator(ffinfo, paramset) + pot_func = generator.createPotential(mol, nonbondedMethod=app.PME, nonbondedCutoff=1.0, args={}) + box = mol.getPeriodicBoxVectors(use_jax=True) + pairs = [] + for ii in range(mol.getNumAtoms()): + for jj in range(ii+1, mol.getNumAtoms()): + if np.linalg.norm(pos[ii] - pos[jj]) < 1.0: + pairs.append([ii, jj, 0]) + pairs = jnp.array(pairs) + pairs = pairs.at[:,2].set(cov_mat[pairs[:,0], pairs[:,1]]) + + generator = CoulombGenerator(ffinfo, paramset) + pot_func = generator.createPotential(mol, nonbondedMethod=app.PME, nonbondedCutoff=0.9, args={}) + print("E_coul", pot_func(pos, box, pairs, paramset)) + + generator_lj = LennardJonesGenerator(ffinfo, paramset) + pot_func_lj = generator_lj.createPotential(mol, nonbondedMethod=app.PME, nonbondedCutoff=0.9, args={}) + print("E_LJ", pot_func_lj(pos, box, pairs, paramset)) + +def test_eqv_list(): + mol = build_test_C4H10() + eq_info = mol.getEquivalentAtoms() + print(eq_info) + + +if __name__ == "__main__": + # test_cov_mat() + # test_eqv_list() + # + test_run_coul_and_lj_nocutoff() + test_run_coul_and_lj_pme() \ No newline at end of file diff --git a/tests/test_frontend/test_inter_water.py b/tests/test_frontend/test_inter_water.py new file mode 100644 index 000000000..b1c98fe24 --- /dev/null +++ b/tests/test_frontend/test_inter_water.py @@ -0,0 +1,79 @@ +import openmm.app as app +import openmm.unit as unit +from dmff.api.topology import DMFFTopology +from dmff.api.paramset import ParamSet +from dmff.operators import TemplateVSiteOperator, SMARTSVSiteOperator, TemplateATypeOperator, SMARTSATypeOperator, AM1ChargeOperator, GAFFTypeOperator +from dmff.api.xmlio import XMLIO +from dmff.generators.classical import CoulombGenerator, LennardJonesGenerator +import numpy as np +import jax.numpy as jnp +from dmff import NeighborListFreud +from dmff.settings import update_jax_precision +update_jax_precision("double") + + +def dist_pbc(vi, vj, box): + box_inv = np.linalg.inv(box) + drvec = (vi - vj).reshape((1, 3)) + unshifted_dsvecs = drvec.dot(box_inv) + dsvecs = unshifted_dsvecs - np.floor(unshifted_dsvecs + 0.5) + dsret = dsvecs.dot(box) + return np.linalg.norm(dsret, axis=1)[0] + + +def run_water_cutoff(): + pdb = app.PDBFile("tests/data/waterbox.pdb") + print(pdb.topology) + pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) + pos = jnp.array(pos) + dmfftop = DMFFTopology(from_top=pdb.topology) + print(dmfftop) + cov_mat = dmfftop.buildCovMat() + atoms = [a for a in dmfftop.atoms()] + print(cov_mat) + + xmlio = XMLIO() + xmlio.loadXML("tests/data/water4.xml") + ffinfo = xmlio.parseXML() + tempOP = TemplateATypeOperator(ffinfo) + top_atype = tempOP(dmfftop) + for atom in top_atype.atoms(): + # print(atom.meta) + pass + + cutoff = 1.0 + + paramset = ParamSet() + box = top_atype.getPeriodicBoxVectors(use_jax=True) + + nblist = NeighborListFreud(box, cutoff, cov_map=cov_mat) + pairs = nblist.allocate(pos) + + generator = CoulombGenerator(ffinfo, paramset) + pot_func = generator.createPotential( + top_atype, nonbondedMethod=app.CutoffPeriodic, nonbondedCutoff=cutoff, args={}) + print("E_coul", pot_func(pos, box, pairs, paramset)) + + generator_lj = LennardJonesGenerator(ffinfo, paramset) + pot_func_lj = generator_lj.createPotential( + top_atype, nonbondedMethod=app.CutoffPeriodic, nonbondedCutoff=cutoff, args={}) + print("E_LJ", pot_func_lj(pos, box, pairs, paramset)) + + elj = 0.0 + mscales_lj = jnp.array([0.0, 0.0, 0.5, 1.0, 1.0, 1.0, 1.0, 1.0]) + from tqdm import tqdm + for ii, jj, norder in tqdm(pairs): + if ii == 750 or jj == 750: + continue + d = dist_pbc(pos[ii], pos[jj], box) + if atoms[ii].meta["element"] == "O" and atoms[jj].meta["element"] == "O": + eps, sig = 0.650299, 0.3185492 + else: + eps, sig = 0.0, 1.0 + one_sig = sig / d + de = mscales_lj[norder-1] * 4. * eps * (one_sig ** 12 - one_sig ** 6) + elj += de + print("E_LJ calc: ", elj) + +if __name__ == "__main__": + run_water_cutoff() diff --git a/tests/test_frontend/test_operators.py b/tests/test_frontend/test_operators.py new file mode 100644 index 000000000..d7270f6de --- /dev/null +++ b/tests/test_frontend/test_operators.py @@ -0,0 +1,128 @@ +import openmm.app as app +from dmff.api.topology import DMFFTopology +from dmff.operators import TemplateVSiteOperator, SMARTSVSiteOperator, TemplateATypeOperator, SMARTSATypeOperator, AM1ChargeOperator +from dmff.api.xmlio import XMLIO + + +def build_test_mol(): + top = DMFFTopology() + chain = top.addChain() + res = top.addResidue("MOL", chain) + n1 = top.addAtom("N1", app.element.nitrogen, res) + c1 = top.addAtom("C1", app.element.carbon, res) + c2 = top.addAtom("C2", app.element.carbon, res) + c3 = top.addAtom("C3", app.element.carbon, res) + c4 = top.addAtom("C4", app.element.carbon, res) + h1 = top.addAtom("H1", app.element.hydrogen, res) + h2 = top.addAtom("H2", app.element.hydrogen, res) + h3 = top.addAtom("H3", app.element.hydrogen, res) + h4 = top.addAtom("H4", app.element.hydrogen, res) + br = top.addAtom("BR", app.element.bromine, res) + top.addBond(n1, c1, order=1) + top.addBond(c1, c2, order=2) + top.addBond(c2, c3, order=1) + top.addBond(c3, c4, order=2) + top.addBond(c4, n1, order=1) + top.addBond(n1, br, order=1) + top.addBond(c1, h1, order=1) + top.addBond(c2, h2, order=1) + top.addBond(c3, h3, order=1) + top.addBond(c4, h4, order=1) + top.updateMolecules() + return top + +def test_better_top(): + top = DMFFTopology() + mol = build_test_mol() + for nmol in range(10): + top.add(mol) + print(top) + +def test_add_vsite_from_template(): + mol = build_test_mol() + print(mol) + xmlio = XMLIO() + xmlio.loadXML("tests/data/template_and_vsite.xml") + ffinfo = xmlio.parseXML() + templateVSOP = TemplateVSiteOperator(ffinfo) + mol_vsite = templateVSOP(mol) + for atom in mol_vsite.atoms(): + print(atom) + +def test_add_vsite_from_smarts(): + mol = build_test_mol() + print(mol) + xmlio = XMLIO() + xmlio.loadXML("tests/data/smarts_and_vsite.xml") + ffinfo = xmlio.parseXML() + smartsVSOP = SMARTSVSiteOperator(ffinfo) + mol_vsite = smartsVSOP(mol) + for atom in mol_vsite.atoms(): + print(atom) + +def test_add_atype_from_smarts(): + top = DMFFTopology() + mol = build_test_mol() + xmlio = XMLIO() + xmlio.loadXML("tests/data/smarts_test1.xml") + ffinfo = xmlio.parseXML() + smartsATypeOP = SMARTSATypeOperator(ffinfo) + mol = smartsATypeOP(mol) + top.add(mol) + for atom in top.atoms(): + print(atom.meta) + +def test_add_atype_from_template(): + mol = build_test_mol() + xmlio = XMLIO() + xmlio.loadXML("tests/data/template_and_vsite.xml") + ffinfo = xmlio.parseXML() + templateVSOP = TemplateVSiteOperator(ffinfo) + templateATypeOP = TemplateATypeOperator(ffinfo) + mol_vsite = templateATypeOP(templateVSOP(mol)) + for atom in mol_vsite.atoms(): + print(atom.meta) + +def test_add_atype_from_smarts_with_vs(): + top = DMFFTopology() + mol = build_test_mol() + xmlio = XMLIO() + xmlio.loadXML("tests/data/smarts_test1.xml") + xmlio.loadXML("tests/data/smarts_and_vsite.xml") + ffinfo = xmlio.parseXML() + smartsVSOP = SMARTSVSiteOperator(ffinfo) + smartsATypeOP = SMARTSATypeOperator(ffinfo) + mol = smartsATypeOP(smartsVSOP(mol)) + top.add(mol) + for atom in top.atoms(): + print(atom.meta) + +def test_add_am1_charge(): + mol = build_test_mol() + xmlio = XMLIO() + xmlio.loadXML("tests/data/smarts_test1.xml") + xmlio.loadXML("tests/data/smarts_and_vsite.xml") + ffinfo = xmlio.parseXML() + smartsVSOP = SMARTSVSiteOperator(ffinfo) + smartsATypeOP = SMARTSATypeOperator(ffinfo) + am1ChargeOP = AM1ChargeOperator(ffinfo) + mol_vsite = am1ChargeOP(smartsATypeOP(smartsVSOP(mol))) + for atom in mol_vsite.atoms(): + print(atom.meta) + + +if __name__ == "__main__": + print("--") + test_better_top() + print("--") + test_add_atype_from_smarts() + print("--") + test_add_vsite_from_template() + print("--") + test_add_vsite_from_smarts() + print("--") + test_add_atype_from_template() + print("--") + test_add_atype_from_smarts_with_vs() + print("--") + test_add_am1_charge() \ No newline at end of file diff --git a/tests/test_frontend/test_sum.py b/tests/test_frontend/test_sum.py new file mode 100644 index 000000000..c6113bf45 --- /dev/null +++ b/tests/test_frontend/test_sum.py @@ -0,0 +1,65 @@ +from dmff.api import DMFFTopology +from dmff.api.hamiltonian import Hamiltonian +from dmff.operators.smartsvsite import SMARTSVSiteOperator +from dmff.operators.templatevsite import TemplateVSiteOperator +from dmff.operators.templatetype import TemplateATypeOperator +from dmff.operators.smartstype import SMARTSATypeOperator +from dmff.utils import DMFFException +import openmm.app as app +import openmm.unit as unit + + +def test_template_vs_and_template_atype(): + print("TEMPLATE VS & TEMPLATE ATYPE") + pdb = app.PDBFile("tests/data/template_vsite.pdb") + top = pdb.topology + topdata = DMFFTopology(top) + hamilt = Hamiltonian("tests/data/template_and_vsite.xml") + + # add vsite + op = TemplateVSiteOperator(hamilt.ffinfo) + op2 = TemplateATypeOperator(hamilt.ffinfo) + topdata = op(topdata) + topdata = op2(topdata) + + for atom in topdata.atoms(): + print(atom.meta) + if "type" not in atom.meta: + raise DMFFException(f"Atomtype of {atom} not found.") + + +def test_smarts_vs_and_template_atype(): + print("SMARTS VS & TEMPLATE ATYPE") + pdb = app.PDBFile("tests/data/template_vsite.pdb") + top = pdb.topology + topdata = DMFFTopology(top) + hamilt = Hamiltonian("tests/data/template_and_vsite.xml", "tests/data/smarts_and_vsite.xml") + op = SMARTSVSiteOperator(hamilt.ffinfo) + op2 = TemplateATypeOperator(hamilt.ffinfo) + topdata = op(topdata) + topdata = op2(topdata) + + for atom in topdata.atoms(): + print(atom.meta) + if "type" not in atom.meta: + raise DMFFException(f"Atomtype of {atom} not found.") + +def test_smarts_vs_and_smarts_atype(): + print("SMARTS VS & SMARTS ATYPE") + pdb = app.PDBFile("tests/data/template_vsite.pdb") + top = pdb.topology + topdata = DMFFTopology(top) + hamilt = Hamiltonian("tests/data/smarts_test1.xml", "tests/data/smarts_and_vsite.xml") + op = SMARTSVSiteOperator(hamilt.ffinfo) + op2 = SMARTSATypeOperator(hamilt.ffinfo) + topdata = op(topdata) + topdata = op2(topdata) + for atom in topdata.atoms(): + print(atom.meta) + if "type" not in atom.meta: + raise DMFFException(f"Atomtype of {atom} not found.") + +if __name__ == "__main__": + test_template_vs_and_template_atype() + test_smarts_vs_and_template_atype() + test_smarts_vs_and_smarts_atype() \ No newline at end of file diff --git a/tests/test_frontend/test_xmlio.py b/tests/test_frontend/test_xmlio.py new file mode 100644 index 000000000..f8b7cebdf --- /dev/null +++ b/tests/test_frontend/test_xmlio.py @@ -0,0 +1,92 @@ +from dmff.api.xmlio import XMLIO +import pytest +import os + + +@pytest.mark.parametrize('input', ['tests/data/test1.xml']) +def test_read_single_xml(input): + io = XMLIO() + io.loadXML(input) + ret = io.parseXML() + assert len(ret["AtomTypes"]) == 4 + + assert len(ret["Residues"]) == 1 + assert len(ret['Residues'][0]['particles']) == 4 + assert len(ret['Residues'][0]['bonds']) == 3 + assert len(ret['Residues'][0]['externals']) == 2 + + assert len(ret["Forces"]) == 2 + assert len(ret["Forces"]['HarmonicBondForce']['node']) == 3 + assert "k" in ret["Forces"]['HarmonicBondForce']['node'][0]["attrib"] + assert "length" in ret["Forces"]['HarmonicBondForce']['node'][0]["attrib"] + assert "type1" in ret["Forces"]['HarmonicBondForce']['node'][0]["attrib"] + assert "type2" in ret["Forces"]['HarmonicBondForce']['node'][0]["attrib"] + assert len(ret["Forces"]['NonbondedForce']['node']) == 4 + assert "charge" in ret["Forces"]['NonbondedForce']['node'][0]["attrib"] + assert "epsilon" in ret["Forces"]['NonbondedForce']['node'][0]["attrib"] + assert "sigma" in ret["Forces"]['NonbondedForce']['node'][0]["attrib"] + assert "type" in ret["Forces"]['NonbondedForce']['node'][0]["attrib"] + print(ret) + +@pytest.mark.parametrize('input1,input2', [('tests/data/test1.xml', 'tests/data/test2.xml')]) +def test_read_multi_xml(input1, input2): + io = XMLIO() + io.loadXML(input1) + io.loadXML(input2) + ret = io.parseXML() + assert len(ret["AtomTypes"]) == 8 + + assert len(ret["Residues"]) == 2 + assert len(ret['Residues'][0]['particles']) == 4 + assert len(ret['Residues'][0]['bonds']) == 3 + assert len(ret['Residues'][0]['externals']) == 2 + assert len(ret['Residues'][1]['particles']) == 5 + assert len(ret['Residues'][1]['bonds']) == 4 + assert len(ret['Residues'][1]['externals']) == 2 + + assert len(ret["Forces"]) == 2 + assert len(ret["Forces"]['HarmonicBondForce']['node']) == 6 + assert "k" in ret["Forces"]['HarmonicBondForce']['node'][0]["attrib"] + assert "length" in ret["Forces"]['HarmonicBondForce']['node'][0]["attrib"] + assert "type1" in ret["Forces"]['HarmonicBondForce']['node'][0]["attrib"] + assert "type2" in ret["Forces"]['HarmonicBondForce']['node'][0]["attrib"] + assert len(ret["Forces"]['NonbondedForce']['node']) == 8 + assert "charge" in ret["Forces"]['NonbondedForce']['node'][0]["attrib"] + assert "epsilon" in ret["Forces"]['NonbondedForce']['node'][0]["attrib"] + assert "sigma" in ret["Forces"]['NonbondedForce']['node'][0]["attrib"] + assert "type" in ret["Forces"]['NonbondedForce']['node'][0]["attrib"] + + +@pytest.mark.parametrize('input', ['tests/data/test1.xml']) +def test_write_xml(input): + io = XMLIO() + io.loadXML(input) + ret = io.parseXML() + io.writeXML("tests/data/test_out.xml", ret) + + io = XMLIO() + io.loadXML("tests/data/test_out.xml") + ret = io.parseXML() + assert len(ret["AtomTypes"]) == 4 + + assert len(ret["Residues"]) == 1 + assert len(ret['Residues'][0]['particles']) == 4 + assert len(ret['Residues'][0]['bonds']) == 3 + assert len(ret['Residues'][0]['externals']) == 2 + + assert len(ret["Forces"]) == 2 + assert len(ret["Forces"]['HarmonicBondForce']['node']) == 3 + assert "k" in ret["Forces"]['HarmonicBondForce']['node'][0]["attrib"] + assert "length" in ret["Forces"]['HarmonicBondForce']['node'][0]["attrib"] + assert "type1" in ret["Forces"]['HarmonicBondForce']['node'][0]["attrib"] + assert "type2" in ret["Forces"]['HarmonicBondForce']['node'][0]["attrib"] + assert len(ret["Forces"]['NonbondedForce']['node']) == 4 + assert "charge" in ret["Forces"]['NonbondedForce']['node'][0]["attrib"] + assert "epsilon" in ret["Forces"]['NonbondedForce']['node'][0]["attrib"] + assert "sigma" in ret["Forces"]['NonbondedForce']['node'][0]["attrib"] + assert "type" in ret["Forces"]['NonbondedForce']['node'][0]["attrib"] + os.remove("tests/data/test_out.xml") + + +if __name__ == "__main__": + test_read_single_xml('tests/data/test1.xml') \ No newline at end of file diff --git a/tests/test_mbar/test_mbar.py b/tests/test_mbar/test_mbar.py index 3c9468d21..2afa6f49b 100644 --- a/tests/test_mbar/test_mbar.py +++ b/tests/test_mbar/test_mbar.py @@ -8,8 +8,16 @@ import openmm as mm import numpy as np import numpy.testing as npt -import mdtraj as md -from pymbar import MBAR +try: + import mdtraj as md +except ImportError as e: + import warnings + warnings.warn(f"mdtraj not found. Tests about MBAR would fail.") +try: + from pymbar import MBAR +except ImportError as e: + import warnings + warnings.warn(f"pymbar not found. Tests about MBAR would fail.") from dmff import Hamiltonian, NeighborListFreud from tqdm import tqdm @@ -61,7 +69,7 @@ def test_mbar_free_energy_diff(self, pdb, prm1, traj1, prm2, traj2, prm3): df, utgt, uref = mbar.estimate_free_energy_difference( target_state, ref_state1, - target_parameters=h.paramtree, + target_parameters=h.paramset.parameters, return_energy=True) # calc reference using PyMBAR @@ -80,7 +88,7 @@ def test_mbar_free_energy_diff(self, pdb, prm1, traj1, prm2, traj2, prm3): df, utgt, uref = mbar.estimate_free_energy_difference( target_state, ref_state2, - target_parameters=h.paramtree, + target_parameters=h.paramset.parameters, return_energy=True) # calc reference using PyMBAR @@ -99,7 +107,7 @@ def test_mbar_free_energy_diff(self, pdb, prm1, traj1, prm2, traj2, prm3): df, utgt, uref = mbar.estimate_free_energy_difference( target_state, ref_state2, - target_parameters=h.paramtree, + target_parameters=h.paramset.parameters, return_energy=True) # calc reference using PyMBAR @@ -234,7 +242,7 @@ def test_mbar_weight(self, pdb, prm1, traj1, prm2, traj2, prm3): mbar.optimize_mbar() weight, ulist = mbar.estimate_weight(target_state, - h.paramtree, + h.paramset.parameters, return_energy=True) # calc reference using PyMBAR diff --git a/tests/test_mbar/test_state.py b/tests/test_mbar/test_state.py new file mode 100644 index 000000000..a605337d4 --- /dev/null +++ b/tests/test_mbar/test_state.py @@ -0,0 +1,85 @@ +from dmff.mbar import MBAREstimator, Sample, SampleState, TargetState, OpenMMSampleState, buildTrajEnergyFunction +import dmff +import pytest +import jax +import jax.numpy as jnp +import openmm.app as app +import openmm.unit as unit +import openmm as mm +import numpy as np +import numpy.testing as npt +import mdtraj as md +try: + from pymbar import MBAR +except ImportError as e: + import warnings + warnings.warn(f"pymbar not found. Tests about MBAR would fail.") +from dmff import Hamiltonian, NeighborListFreud + + +class TestState: + @pytest.mark.parametrize( + "pdb, prm1, traj1", + [("tests/data/waterbox.pdb", "tests/data/water1.xml", + "tests/data/w1_npt.dcd")]) + def test_openmm_sampler_state(self, pdb, prm1, traj1): + pdbobj = app.PDBFile(pdb) + + ff_settings = [ + {'nonbondedMethod': app.PME, + 'nonbondedCutoff': 0.95 * unit.nanometer, + 'useDispersionCorrection': False, + 'useSwitchingFunction': False}, + {'nonbondedMethod': app.CutoffPeriodic, + 'nonbondedCutoff': 0.95 * unit.nanometer, + 'useDispersionCorrection': False, + 'useSwitchingFunction': False}, + {'nonbondedMethod': app.CutoffPeriodic, + 'nonbondedCutoff': 0.95 * unit.nanometer, + 'useDispersionCorrection': True, + 'useSwitchingFunction': False}, + ] + + for ff_setting in ff_settings: + print(ff_setting) + nbmethod = ff_setting['nonbondedMethod'] + rc = ff_setting['nonbondedCutoff'] + useDispersionCorrection = ff_setting['useDispersionCorrection'] + useSwitchingFunction = ff_setting['useSwitchingFunction'] + + # construct target state + H = Hamiltonian(prm1) + pot = H.createPotential(pdbobj.topology, + nonbondedMethod=nbmethod, + nonbondedCutoff=rc, + useDispersionCorrection=useDispersionCorrection) + efunc = pot.getPotentialFunc() + target_energy_func = buildTrajEnergyFunction(efunc, + pot.meta['cov_map'], + rc._value, + pressure=1.0) + target_state = TargetState(300.0, target_energy_func) + + + # construct openmm state + omm_state = OpenMMSampleState('ref', + prm1, + pdb, + pressure=1.0, + useDispersionCorrection=useDispersionCorrection, + useSwitchingFunction=useSwitchingFunction, + platform='Reference', + nonbondedMethod=nbmethod, + nonbondedCutoff=rc) + + # check consistency + traj = md.load(traj1, top=pdb)[20::4] + + ene1 = target_state.calc_energy(traj, H.paramset.parameters) + ene2 = omm_state.calc_energy(traj) + + if nbmethod == app.PME: + npt.assert_allclose(ene1, ene2, rtol=10**-3.5) + else: + npt.assert_allclose(ene1, ene2, rtol=10**-3.5) + diff --git a/tests/test_sgnn/test_energy.py b/tests/test_sgnn/test_energy.py new file mode 100644 index 000000000..a771f4508 --- /dev/null +++ b/tests/test_sgnn/test_energy.py @@ -0,0 +1,51 @@ +import openmm.app as app +import openmm.unit as unit +import numpy as np +import jax.numpy as jnp +import numpy.testing as npt +import pytest +from dmff import Hamiltonian, NeighborList +from jax import jit, value_and_grad + +class TestADMPAPI: + + """ Test sGNN related generators + """ + + @pytest.fixture(scope='class', name='pot_prm') + def test_init(self): + """load generators from XML file + + Yields: + Tuple: ( + ADMPDispForce, + ADMPPmeForce, # polarized + ) + """ + rc = 4.0 + H = Hamiltonian('tests/data/peg_sgnn.xml') + pdb = app.PDBFile('tests/data/peg4.pdb') + potential = H.createPotential(pdb.topology, nonbondedCutoff=rc*unit.angstrom, ethresh=5e-4, step_pol=5) + + yield potential, H.paramset + + def test_sGNN_energy(self, pot_prm): + potential, paramset = pot_prm + rc = 0.4 + pdb = app.PDBFile('tests/data/peg4.pdb') + positions = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) + positions = jnp.array(positions) + a, b, c = pdb.topology.getPeriodicBoxVectors().value_in_unit(unit.nanometer) + box = jnp.array([a, b, c]) + # neighbor list + covalent_map = potential.meta["cov_map"] + + nblist = NeighborList(box, rc, covalent_map) + nblist.allocate(positions) + pairs = nblist.pairs + pot = potential.getPotentialFunc(names=["SGNNForce"]) + energy = pot(positions, box, pairs, paramset) + print(energy) + np.testing.assert_almost_equal(energy, -21.81780787, decimal=2) + +