diff --git a/pytorch/BenchmarkTorchANISymmetryFunctions.py b/pytorch/BenchmarkTorchANISymmetryFunctions.py new file mode 100644 index 0000000..1e3939e --- /dev/null +++ b/pytorch/BenchmarkTorchANISymmetryFunctions.py @@ -0,0 +1,61 @@ +import mdtraj +import time +import torch +import torchani + +from NNPOps.SymmetryFunctions import TorchANISymmetryFunctions + +device = torch.device('cuda') + +mol = mdtraj.load('molecules/2iuz_ligand.mol2') +species = torch.tensor([[atom.element.atomic_number for atom in mol.top.atoms]], device=device) +positions = torch.tensor(mol.xyz, dtype=torch.float32, requires_grad=True, device=device) + +nnp = torchani.models.ANI2x(periodic_table_index=True, model_index=None).to(device) +speciesPositions = nnp.species_converter((species, positions)) +symmFuncRef = nnp.aev_computer +symmFunc = TorchANISymmetryFunctions(nnp.aev_computer).to(device) + +aev_ref = symmFuncRef(speciesPositions).aevs +sum_aev_ref = torch.sum(aev_ref) +sum_aev_ref.backward() +grad_ref = positions.grad.clone() + +N = 10000 +start = time.time() +for _ in range(N): + aev_ref = symmFuncRef(speciesPositions).aevs + sum_aev_ref = torch.sum(aev_ref) + positions.grad.zero_() + sum_aev_ref.backward() +delta = time.time() - start +grad_ref = positions.grad.clone() +print('Original TorchANI symmetry functions') +print(f' Duration: {delta} s') +print(f' Speed: {delta/N*1000} ms/it') + +aev = symmFunc(speciesPositions).aevs +sum_aev = torch.sum(aev) +positions.grad.zero_() +sum_aev.backward() +grad = positions.grad.clone() + +N = 40000 +start = time.time() +for _ in range(N): + aev = symmFunc(speciesPositions).aevs + sum_aev = torch.sum(aev) + positions.grad.zero_() + sum_aev.backward() +delta = time.time() - start +grad = positions.grad.clone() +print('Optimized TorchANI symmetry functions') +print(f' Duration: {delta} s') +print(f' Speed: {delta/N*1000} ms/it') + +aev_error = torch.max(torch.abs(aev - aev_ref)) +grad_error = torch.max(torch.abs(grad - grad_ref)) +print(aev_error) +print(grad_error) +assert aev_error < 0.0002 +assert grad_error < 0.007 \ No newline at end of file diff --git a/pytorch/CMakeLists.txt b/pytorch/CMakeLists.txt new file mode 100644 index 0000000..3ff6089 --- /dev/null +++ b/pytorch/CMakeLists.txt @@ -0,0 +1,22 @@ +cmake_minimum_required(VERSION 3.1 FATAL_ERROR) + +set(NAME NNPOps) +set(LIBRARY ${NAME}PyTorch) +project(${NAME} LANGUAGES CXX CUDA) + +find_package(Python REQUIRED) +find_package(PythonLibs REQUIRED) +find_package(Torch REQUIRED) + +set(CMAKE_INSTALL_RPATH_USE_LINK_PATH true) + +add_library(${LIBRARY} SHARED SymmetryFunctions.cpp + ../ani/CpuANISymmetryFunctions.cpp + ../ani/CudaANISymmetryFunctions.cu) +target_compile_features(${LIBRARY} PRIVATE cxx_std_14) +target_include_directories(${LIBRARY} PRIVATE ${PYTHON_INCLUDE_DIRS}) +target_include_directories(${LIBRARY} PRIVATE ../ani) +target_link_libraries(${LIBRARY} ${TORCH_LIBRARIES} ${PYTHON_LIBRARIES}) + +install(TARGETS ${LIBRARY} DESTINATION ${Python_SITEARCH}/${NAME}) +install(FILES SymmetryFunctions.py DESTINATION ${Python_SITEARCH}/${NAME}) \ No newline at end of file diff --git a/pytorch/README.md b/pytorch/README.md new file mode 100644 index 0000000..e21e044 --- /dev/null +++ b/pytorch/README.md @@ -0,0 +1,82 @@ +# PyTorch wrapper for NNPOps + +*NNPOps* functionalities are available in *PyTorch* (https://pytorch.org/). + +## Optimized TorchANI symmetry functions + +Optimized drop-in replacement for `torchani.AEVComputer` (https://aiqm.github.io/torchani/api.html?highlight=speciesaev#torchani.AEVComputer) + +### Example + +```python +import mdtraj +import torch +import torchani + +from NNPOps.SymmetryFunctions import TorchANISymmetryFunctions + +device = torch.device('cuda') + +# Load a molecule +molecule = mdtraj.load('molecule.mol2') +species = torch.tensor([[atom.element.atomic_number for atom in molecule.top.atoms]], device=device) +positions = torch.tensor(molecule.xyz, dtype=torch.float32, requires_grad=True, device=device) + +# Construct ANI-2x and replace its native featurizer with NNPOps implementation +nnp = torchani.models.ANI2x(periodic_table_index=True).to(device) +nnp.aev_computer = TorchANISymmetryFunctions(nnp.aev_computer) + +# Compute energy +energy = nnp((species, positions)).energies +energy.backward() +forces = -positions.grad.clone() + +print(energy, forces) +``` + +## Installation + +### Prerequisites + +- *Linux* +- Complete *CUDA Toolkit* (https://developer.nvidia.com/cuda-downloads) +- *Miniconda* (https://docs.conda.io/en/latest/miniconda.html#linux-installers) + +### Build & install + +- Crate a *Conda* environment +```bash +$ conda create -n nnpops \ + -c pytorch \ + -c conda-forge \ + cmake \ + git \ + gxx_linux-64 \ + make \ + mdtraj \ + pytest \ + python=3.8 \ + pytorch=1.6 \ + torchani=2.2 +$ conda activate nnpops +``` +- Get the source code +```bash +$ git clone https://github.com/peastman/NNPOps.git +``` +- Configure, build, and install +```bash +$ mkdir build +$ cd build +$ cmake ../NNPOps/pytorch \ + -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc \ + -DCMAKE_CUDA_HOST_COMPILER=$CXX \ + -DTorch_DIR=$CONDA_PREFIX/lib/python3.8/site-packages/torch/share/cmake/Torch \ + -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX +$ make install +``` +- Optional: run tests +```bash +$ cd ../NNPOps/pytorch +$ pytest TestSymmetryFunctions.py +``` \ No newline at end of file diff --git a/pytorch/SymmetryFunctions.cpp b/pytorch/SymmetryFunctions.cpp new file mode 100644 index 0000000..6b1d1f8 --- /dev/null +++ b/pytorch/SymmetryFunctions.cpp @@ -0,0 +1,191 @@ +/** + * Copyright (c) 2020 Acellera + * Authors: Raimondas Galvelis + * + * 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 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 +#include +#include "CpuANISymmetryFunctions.h" +#include "CudaANISymmetryFunctions.h" + +#define CHECK_CUDA_RESULT(result) \ + if (result != cudaSuccess) { \ + throw std::runtime_error(std::string("Encountered error ")+cudaGetErrorName(result)+" at "+__FILE__+":"+std::to_string(__LINE__));\ + } + +class CustomANISymmetryFunctions : public torch::CustomClassHolder { +public: + CustomANISymmetryFunctions(int64_t numSpecies_, + double Rcr, + double Rca, + const std::vector& EtaR, + const std::vector& ShfR, + const std::vector& EtaA, + const std::vector& Zeta, + const std::vector& ShfA, + const std::vector& ShfZ, + const std::vector& atomSpecies_, + const torch::Tensor& positions) : torch::CustomClassHolder() { + + tensorOptions = torch::TensorOptions().device(positions.device()); // Data type of float by default + int numAtoms = atomSpecies_.size(); + int numSpecies = numSpecies_; + const std::vector atomSpecies(atomSpecies_.begin(), atomSpecies_.end()); + + std::vector radialFunctions; + for (const float eta: EtaR) + for (const float rs: ShfR) + radialFunctions.push_back({eta, rs}); + + std::vector angularFunctions; + for (const float eta: EtaA) + for (const float zeta: Zeta) + for (const float rs: ShfA) + for (const float thetas: ShfZ) + angularFunctions.push_back({eta, rs, zeta, thetas}); + + const torch::Device& device = tensorOptions.device(); + if (device.is_cpu()) + symFunc = std::make_shared(numAtoms, numSpecies, Rcr, Rca, false, atomSpecies, radialFunctions, angularFunctions, true); + if (device.is_cuda()) { + // PyTorch allow to chose GPU with "torch.device", but it doesn't set as the default one. + CHECK_CUDA_RESULT(cudaSetDevice(device.index())); + symFunc = std::make_shared(numAtoms, numSpecies, Rcr, Rca, false, atomSpecies, radialFunctions, angularFunctions, true); + } + + radial = torch::empty({numAtoms, numSpecies * (int)radialFunctions.size()}, tensorOptions); + angular = torch::empty({numAtoms, numSpecies * (numSpecies + 1) / 2 * (int)angularFunctions.size()}, tensorOptions); + positionsGrad = torch::empty({numAtoms, 3}, tensorOptions); + }; + + torch::autograd::tensor_list forward(const torch::Tensor& positions_, const torch::optional& periodicBoxVectors_) { + + const torch::Tensor positions = positions_.to(tensorOptions); + + torch::Tensor periodicBoxVectors; + float* periodicBoxVectorsPtr = nullptr; + if (periodicBoxVectors_) { + periodicBoxVectors = periodicBoxVectors_->to(tensorOptions); + float* periodicBoxVectorsPtr = periodicBoxVectors.data_ptr(); + } + + symFunc->computeSymmetryFunctions(positions.data_ptr(), periodicBoxVectorsPtr, radial.data_ptr(), angular.data_ptr()); + + return {radial, angular}; + }; + + torch::Tensor backward(const torch::autograd::tensor_list& grads) { + + const torch::Tensor radialGrad = grads[0].clone(); + const torch::Tensor angularGrad = grads[1].clone(); + + symFunc->backprop(radialGrad.data_ptr(), angularGrad.data_ptr(), positionsGrad.data_ptr()); + + return positionsGrad; + } + +private: + torch::TensorOptions tensorOptions; + std::shared_ptr symFunc; + torch::Tensor radial; + torch::Tensor angular; + torch::Tensor positionsGrad; +}; + +class GradANISymmetryFunction : public torch::autograd::Function { + +public: + static torch::autograd::tensor_list forward(torch::autograd::AutogradContext *ctx, + int64_t numSpecies, + double Rcr, + double Rca, + const std::vector& EtaR, + const std::vector& ShfR, + const std::vector& EtaA, + const std::vector& Zeta, + const std::vector& ShfA, + const std::vector& ShfZ, + const std::vector& atomSpecies, + const torch::Tensor& positions, + const torch::optional& periodicBoxVectors) { + + const auto symFunc = torch::intrusive_ptr::make( + numSpecies, Rcr, Rca, EtaR, ShfR, EtaA, Zeta, ShfA, ShfZ, atomSpecies, positions); + ctx->saved_data["symFunc"] = symFunc; + + return symFunc->forward(positions, periodicBoxVectors); + }; + + static torch::autograd::tensor_list backward(torch::autograd::AutogradContext *ctx, const torch::autograd::tensor_list& grads) { + + const auto symFunc = ctx->saved_data["symFunc"].toCustomClass(); + torch::Tensor positionsGrad = symFunc->backward(grads); + ctx->saved_data.erase("symFunc"); + + return { torch::Tensor(), // numSpecies + torch::Tensor(), // Rcr + torch::Tensor(), // Rca + torch::Tensor(), // EtaR + torch::Tensor(), // ShfR + torch::Tensor(), // EtaA + torch::Tensor(), // Zeta + torch::Tensor(), // ShfA + torch::Tensor(), // ShfZ + torch::Tensor(), // atomSpecies + positionsGrad, // positions + torch::Tensor()}; // periodicBoxVectors + }; +}; + +static torch::autograd::tensor_list ANISymmetryFunctionsOp(int64_t numSpecies, + double Rcr, + double Rca, + const std::vector& EtaR, + const std::vector& ShfR, + const std::vector& EtaA, + const std::vector& Zeta, + const std::vector& ShfA, + const std::vector& ShfZ, + const std::vector& atomSpecies, + const torch::Tensor& positions, + const torch::optional& periodicBoxVectors) { + + return GradANISymmetryFunction::apply(numSpecies, Rcr, Rca, EtaR, ShfR, EtaA, Zeta, ShfA, ShfZ, atomSpecies, positions, periodicBoxVectors); +} + +TORCH_LIBRARY(NNPOps, m) { + m.class_("CustomANISymmetryFunctions") + .def(torch::init&, // EtaR + const std::vector&, // ShfR + const std::vector&, // EtaA + const std::vector&, // Zeta + const std::vector&, // ShfA + const std::vector&, // ShfZ + const std::vector&, // atomSpecies + const torch::Tensor&>()) // positions + .def("forward", &CustomANISymmetryFunctions::forward) + .def("backward", &CustomANISymmetryFunctions::backward); + m.def("ANISymmetryFunctions", ANISymmetryFunctionsOp); +} \ No newline at end of file diff --git a/pytorch/SymmetryFunctions.py b/pytorch/SymmetryFunctions.py new file mode 100644 index 0000000..ee51ec0 --- /dev/null +++ b/pytorch/SymmetryFunctions.py @@ -0,0 +1,122 @@ +# +# Copyright (c) 2020 Acellera +# Authors: Raimondas Galvelis +# +# 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 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. +# + +import os.path +from typing import List, Optional, Tuple +import torch +from torch import Tensor +import torchani +from torchani.aev import SpeciesAEV + +torch.ops.load_library(os.path.join(os.path.dirname(__file__), 'libNNPOpsPyTorch.so')) + +class TorchANISymmetryFunctions(torch.nn.Module): + """Optimized TorchANI symmetry functions + + Optimized drop-in replacement for torchani.AEVComputer (https://aiqm.github.io/torchani/api.html?highlight=speciesaev#torchani.AEVComputer) + + Example:: + + >>> import mdtraj + >>> import torch + >>> import torchani + + >>> from NNPOps.SymmetryFunctions import TorchANISymmetryFunctions + + >>> device = torch.device('cuda') + + # Load a molecule + >>> molecule = mdtraj.load('molecule.mol2') + >>> species = torch.tensor([[atom.element.atomic_number for atom in molecule.top.atoms]], device=device) + >>> positions = torch.tensor(molecule.xyz, dtype=torch.float32, requires_grad=True, device=device) + + # Construct ANI-2x and replace its native featurizer with NNPOps implementation + >>> nnp = torchani.models.ANI2x(periodic_table_index=True).to(device) + >>> nnp.aev_computer = TorchANISymmetryFunctions(nnp.aev_computer) + + # Compute energy + >>> energy = nnp((species, positions)).energies + >>> energy.backward() + >>> forces = -positions.grad.clone() + + >>> print(energy, forces) + """ + def __init__(self, symmFunc: torchani.AEVComputer): + """ + Arguments: + symmFunc: the instance of torchani.AEVComputer (https://aiqm.github.io/torchani/api.html#torchani.AEVComputer) + """ + + super().__init__() + + self.numSpecies = symmFunc.num_species + self.Rcr = symmFunc.Rcr + self.Rca = symmFunc.Rca + self.EtaR = symmFunc.EtaR[:, 0].tolist() + self.ShfR = symmFunc.ShfR[0, :].tolist() + self.EtaA = symmFunc.EtaA[:, 0, 0, 0].tolist() + self.Zeta = symmFunc.Zeta[0, :, 0, 0].tolist() + self.ShfA = symmFunc.ShfA[0, 0, :, 0].tolist() + self.ShfZ = symmFunc.ShfZ[0, 0, 0, :].tolist() + + self.triu_index = torch.tensor([0]) # A dummy variable to make TorchScript happy ;) + + def forward(self, speciesAndPositions: Tuple[Tensor, Tensor], + cell: Optional[Tensor] = None, + pbc: Optional[Tensor] = None) -> SpeciesAEV: + """Compute the atomic environment vectors + + The signature of the method is identical to torchani.AEVComputer.forward (https://aiqm.github.io/torchani/api.html?highlight=speciesaev#torchani.AEVComputer.forward) + + Arguments: + speciesAndPositions: atomic species and positions + cell: unitcell vectors + pbc: periodic boundary conditions + + Returns: + SpeciesAEV: atomic species and environment vectors + + """ + species, positions = speciesAndPositions + if species.shape[0] != 1: + raise ValueError('Batched molecule computation is not supported') + species_: List[int] = species[0].tolist() # Explicit type casting for TorchScript + if species.shape + (3,) != positions.shape: + raise ValueError('Inconsistent shapes of "species" and "positions"') + if cell is not None: + if cell.shape != (3, 3): + raise ValueError('"cell" shape has to be [3, 3]') + if pbc is None: + raise ValueError('"pbc" has to be defined') + else: + pbc_: List[bool] = pbc.tolist() # Explicit type casting for TorchScript + if pbc_ != [True, True, True]: + raise ValueError('Only fully periodic systems are supported, i.e. pbc = [True, True, True]') + + symFunc = torch.ops.NNPOps.ANISymmetryFunctions + radial, angular = symFunc(self.numSpecies, self.Rcr, self.Rca, self.EtaR, self.ShfR, + self.EtaA, self.Zeta, self.ShfA, self.ShfZ, + species_, positions[0], cell) + features = torch.cat((radial, angular), dim=1).unsqueeze(0) + + return SpeciesAEV(species, features) \ No newline at end of file diff --git a/pytorch/TestSymmetryFunctions.py b/pytorch/TestSymmetryFunctions.py new file mode 100644 index 0000000..f293a7d --- /dev/null +++ b/pytorch/TestSymmetryFunctions.py @@ -0,0 +1,90 @@ +# +# Copyright (c) 2020 Acellera +# Authors: Raimondas Galvelis +# +# 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 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. +# + +import mdtraj +import pytest +import tempfile +import torch +import torchani + +from NNPOps.SymmetryFunctions import TorchANISymmetryFunctions + +@pytest.mark.parametrize('deviceString', ['cpu', 'cuda']) +@pytest.mark.parametrize('molFile', ['1hvj', '1hvk', '2iuz', '3hkw', '3hky', '3lka', '3o99']) +def test_compare_with_native(deviceString, molFile): + + device = torch.device(deviceString) + + mol = mdtraj.load(f'molecules/{molFile}_ligand.mol2') + atomicNumbers = torch.tensor([[atom.element.atomic_number for atom in mol.top.atoms]], device=device) + atomicPositions = torch.tensor(mol.xyz, dtype=torch.float32, requires_grad=True, device=device) + + nnp = torchani.models.ANI2x(periodic_table_index=True).to(device) + energy_ref = nnp((atomicNumbers, atomicPositions)).energies + energy_ref.backward() + grad_ref = atomicPositions.grad.clone() + + nnp.aev_computer = TorchANISymmetryFunctions(nnp.aev_computer) + energy = nnp((atomicNumbers, atomicPositions)).energies + atomicPositions.grad.zero_() + energy.backward() + grad = atomicPositions.grad.clone() + + energy_error = torch.abs((energy - energy_ref)/energy_ref) + grad_error = torch.max(torch.abs((grad - grad_ref)/grad_ref)) + + assert energy_error < 5e-7 + assert grad_error < 5e-3 + +@pytest.mark.parametrize('deviceString', ['cpu', 'cuda']) +@pytest.mark.parametrize('molFile', ['1hvj', '1hvk', '2iuz', '3hkw', '3hky', '3lka', '3o99']) +def test_model_serialization(deviceString, molFile): + + device = torch.device(deviceString) + + mol = mdtraj.load(f'molecules/{molFile}_ligand.mol2') + atomicNumbers = torch.tensor([[atom.element.atomic_number for atom in mol.top.atoms]], device=device) + atomicPositions = torch.tensor(mol.xyz, dtype=torch.float32, requires_grad=True, device=device) + + nnp_ref = torchani.models.ANI2x(periodic_table_index=True).to(device) + nnp_ref.aev_computer = TorchANISymmetryFunctions(nnp_ref.aev_computer) + + energy_ref = nnp_ref((atomicNumbers, atomicPositions)).energies + energy_ref.backward() + grad_ref = atomicPositions.grad.clone() + + with tempfile.NamedTemporaryFile() as fd: + + torch.jit.script(nnp_ref).save(fd.name) + nnp = torch.jit.load(fd.name) + + energy = nnp((atomicNumbers, atomicPositions)).energies + atomicPositions.grad.zero_() + energy.backward() + grad = atomicPositions.grad.clone() + + energy_error = torch.abs((energy - energy_ref)/energy_ref) + grad_error = torch.max(torch.abs((grad - grad_ref)/grad_ref)) + + assert energy_error < 5e-7 + assert grad_error < 5e-3 \ No newline at end of file diff --git a/pytorch/molecules/1hvj_ligand.mol2 b/pytorch/molecules/1hvj_ligand.mol2 new file mode 100644 index 0000000..c51a4e8 --- /dev/null +++ b/pytorch/molecules/1hvj_ligand.mol2 @@ -0,0 +1,242 @@ +@MOLECULE + A78 + 115 118 0 0 0 +SMALL +USER_CHARGES + + +@ATOM + 1 C1 3.4440 3.3887 10.7035 zw 1 A78 0.766100 + 2 O2 3.2004 4.2657 11.5137 z‚ 1 A78 -0.669100 + 3 N3 4.0410 3.6349 9.4679 z€ 1 A78 -0.445800 + 4 C4 4.2905 2.5750 8.4667 c3 1 A78 0.072300 + 5 C5 4.5571 4.9758 9.1200 za 1 A78 0.046700 + 6 C6 6.0491 5.1114 9.4017 zo 1 A78 0.372600 + 7 C7 6.9953 4.9899 8.3657 zp 1 A78 -0.230300 + 8 N8 6.4049 5.3397 10.6848 nb 1 A78 -0.670000 + 9 C9 8.3595 5.1108 8.6734 ca 1 A78 -0.092000 + 10 C10 7.7158 5.4553 10.9775 ca 1 A78 0.394200 + 11 C11 8.7265 5.3486 10.0067 ca 1 A78 -0.243300 + 12 N22 3.1777 2.0550 10.9450 z| 1 A78 -0.557900 + 13 C23 2.6353 1.5314 12.2140 zb 1 A78 0.044700 + 14 C24 3.6764 0.5489 12.7936 zx 1 A78 0.653100 + 15 O25 3.4215 -0.6062 13.0869 z‚ 1 A78 -0.634100 + 16 C26 1.1960 0.9387 12.0510 zh 1 A78 -0.074700 + 17 C27 0.5342 0.6636 13.4290 zi 1 A78 -0.094600 + 18 C28 0.2755 1.8727 11.2187 zi 1 A78 -0.094600 + 19 N38 4.9543 1.0811 12.8958 z} 1 A78 -0.554900 + 20 C39 6.1361 0.3488 13.3835 zg 1 A78 0.096700 + 21 C40 7.3898 0.7378 12.5551 zl 1 A78 -0.045100 + 22 C41 7.2304 0.5560 11.0432 zq 1 A78 -0.084300 + 23 C42 7.6827 1.5626 10.1677 zr 1 A78 -0.123000 + 24 C43 7.5817 1.3961 8.7772 ca 1 A78 -0.133000 + 25 C44 7.0208 0.2239 8.2489 ca 1 A78 -0.134000 + 26 C45 6.5634 -0.7826 9.1129 ca 1 A78 -0.133000 + 27 C46 6.6724 -0.6210 10.5037 zr 1 A78 -0.123000 + 28 C47 6.3818 0.6114 14.8979 zj 1 A78 -0.123400 + 29 O48 5.4918 0.6100 17.1615 zƒ 1 A78 -0.608800 + 30 C49 5.2282 0.1487 15.8325 zk 1 A78 0.125100 + 31 N50 6.1967 -2.0921 16.4025 z~ 1 A78 -0.538900 + 32 C51 5.0294 -1.3972 15.8311 zm 1 A78 0.103700 + 33 C52 3.7256 -1.8055 16.5704 zn 1 A78 -0.041100 + 34 C53 3.4808 -3.3106 16.5299 zs 1 A78 -0.081300 + 35 C54 3.7613 -4.1088 17.6555 zt 1 A78 -0.123500 + 36 C55 3.5778 -5.4991 17.6009 ca 1 A78 -0.132500 + 37 C56 3.1116 -6.1003 16.4218 ca 1 A78 -0.136000 + 38 C57 2.8290 -5.3098 15.2970 ca 1 A78 -0.132500 + 39 C58 3.0128 -3.9187 15.3507 zt 1 A78 -0.123500 + 40 N81 7.1331 -5.5620 16.8647 z 1 A78 -0.539900 + 41 C82 7.4436 -4.1278 17.0194 zc 1 A78 0.034700 + 42 C83 6.6091 -3.3476 15.9854 zy 1 A78 0.658100 + 43 O84 6.2884 -3.8198 14.9065 z‚ 1 A78 -0.633100 + 44 C85 8.9768 -3.8384 16.8891 ze 1 A78 -0.086700 + 45 C86 9.3055 -2.3257 16.9980 zf 1 A78 -0.095100 + 46 C87 9.8090 -4.6280 17.9340 zf 1 A78 -0.095100 + 47 C97 6.9688 -6.4414 17.9188 zz 1 A78 0.754100 + 48 O98 7.1154 -6.1080 19.0818 z‚ 1 A78 -0.657100 + 49 N99 6.6109 -7.7343 17.5371 z 1 A78 -0.445800 + 50 C2 6.4191 -8.1324 16.1243 c3 1 A78 0.059300 + 51 C3 6.3450 -8.7797 18.5509 zd 1 A78 0.038700 + 52 C8 4.9082 -8.7509 19.0589 zu 1 A78 0.359600 + 53 C12 3.8467 -9.2058 18.2529 zv 1 A78 -0.221300 + 54 N10 4.7145 -8.2603 20.3024 nb 1 A78 -0.665000 + 55 C13 2.5363 -9.1367 18.7508 ca 1 A78 -0.099000 + 56 C14 3.4548 -8.1953 20.7786 ca 1 A78 0.388200 + 57 C15 2.3368 -8.6182 20.0392 ca 1 A78 -0.242300 + 58 H1 4.8966 2.9618 7.6380 h1 1 A78 0.046700 + 59 H2 3.3340 2.2109 8.0711 h1 1 A78 0.046700 + 60 H3 4.8287 1.7423 8.9355 h1 1 A78 0.046700 + 61 H4 4.0116 5.7408 9.6875 h1 1 A78 0.078700 + 62 H5 4.3645 5.1697 8.0573 h1 1 A78 0.078700 + 63 H6 6.6784 4.8020 7.3441 ha 1 A78 0.149000 + 64 H7 9.1140 5.0199 7.8974 ha 1 A78 0.141000 + 65 H8 7.9618 5.6384 12.0227 h4 1 A78 0.022100 + 66 H9 9.7719 5.4476 10.2843 ha 1 A78 0.146000 + 67 H10 3.4311 1.3908 10.2258 hn 1 A78 0.319500 + 68 H11 2.5748 2.3600 12.9308 h1 1 A78 0.088700 + 69 H12 1.2719 -0.0138 11.5103 hc 1 A78 0.079700 + 70 H13 -0.4748 0.2520 13.2992 hc 1 A78 0.039533 + 71 H14 0.4501 1.5885 14.0136 hc 1 A78 0.039533 + 72 H15 1.1077 -0.0595 14.0205 hc 1 A78 0.039533 + 73 H16 0.6274 1.9598 10.1829 hc 1 A78 0.039533 + 74 H17 0.2403 2.8792 11.6550 hc 1 A78 0.039533 + 75 H18 -0.7489 1.4807 11.1838 hc 1 A78 0.039533 + 76 H19 5.0836 2.0359 12.5813 hn 1 A78 0.337500 + 77 H20 5.9688 -0.7256 13.2422 h1 1 A78 0.110700 + 78 H21 8.2419 0.1363 12.8968 hc 1 A78 0.053200 + 79 H22 7.6469 1.7819 12.7765 hc 1 A78 0.053200 + 80 H23 8.1217 2.4733 10.5643 ha 1 A78 0.145500 + 81 H24 7.9389 2.1748 8.1101 ha 1 A78 0.128500 + 82 H25 6.9415 0.0954 7.1732 ha 1 A78 0.125000 + 83 H26 6.1321 -1.6927 8.7058 ha 1 A78 0.128500 + 84 H27 6.3294 -1.4182 11.1566 ha 1 A78 0.145500 + 85 H28 6.5403 1.6882 15.0414 hc 1 A78 0.050200 + 86 H29 7.3131 0.1175 15.2036 hc 1 A78 0.050200 + 87 H30 5.4912 1.5831 17.1398 z{ 1 A78 0.401000 + 88 H31 4.2983 0.6104 15.4776 h1 1 A78 0.044700 + 89 H32 6.5314 -1.7605 17.2988 hn 1 A78 0.324500 + 90 H33 4.9153 -1.7248 14.7921 h1 1 A78 0.117700 + 91 H34 2.8746 -1.2858 16.1119 hc 1 A78 0.059200 + 92 H35 3.7696 -1.4611 17.6115 hc 1 A78 0.059200 + 93 H36 4.1367 -3.6545 18.5680 ha 1 A78 0.143500 + 94 H37 3.8046 -6.1084 18.4705 ha 1 A78 0.128500 + 95 H38 2.9727 -7.1759 16.3775 ha 1 A78 0.126000 + 96 H39 2.4737 -5.7743 14.3819 ha 1 A78 0.128500 + 97 H40 2.8058 -3.3141 14.4719 ha 1 A78 0.143500 + 98 H41 6.9565 -5.9079 15.9308 hn 1 A78 0.314500 + 99 H42 7.1074 -3.8015 18.0122 h1 1 A78 0.101700 + 100 H43 9.2978 -4.1725 15.8936 hc 1 A78 0.072700 + 101 H44 10.3903 -2.1603 17.0017 hc 1 A78 0.039867 + 102 H45 8.8934 -1.8990 17.9214 hc 1 A78 0.039867 + 103 H46 8.8968 -1.7691 16.1457 hc 1 A78 0.039867 + 104 H47 9.7154 -5.7103 17.7810 hc 1 A78 0.039867 + 105 H48 9.4803 -4.3945 18.9548 hc 1 A78 0.039867 + 106 H49 10.8748 -4.3793 17.8545 hc 1 A78 0.039867 + 107 H50 6.1440 -9.1921 16.0537 h1 1 A78 0.048367 + 108 H51 7.3501 -7.9716 15.5658 h1 1 A78 0.048367 + 109 H52 5.6185 -7.5289 15.6774 h1 1 A78 0.048367 + 110 H53 7.0349 -8.6447 19.3945 h1 1 A78 0.081700 + 111 H54 6.5564 -9.7681 18.1245 h1 1 A78 0.081700 + 112 H55 4.0341 -9.5957 17.2572 ha 1 A78 0.170000 + 113 H56 1.6956 -9.4727 18.1508 ha 1 A78 0.140000 + 114 H57 3.3396 -7.7881 21.7823 h4 1 A78 0.020100 + 115 H58 1.3376 -8.5456 20.4584 ha 1 A78 0.142000 +@BOND + 1 1 2 2 + 2 1 3 am + 3 1 12 am + 4 3 4 1 + 5 3 5 1 + 6 4 58 1 + 7 4 59 1 + 8 4 60 1 + 9 5 6 1 + 10 5 61 1 + 11 5 62 1 + 12 6 7 ar + 13 6 8 ar + 14 7 9 ar + 15 7 63 1 + 16 8 10 ar + 17 9 11 ar + 18 9 64 1 + 19 10 11 ar + 20 10 65 1 + 21 11 66 1 + 22 12 13 1 + 23 12 67 1 + 24 13 14 1 + 25 13 16 1 + 26 13 68 1 + 27 14 15 2 + 28 14 19 am + 29 16 17 1 + 30 16 18 1 + 31 16 69 1 + 32 17 70 1 + 33 17 71 1 + 34 17 72 1 + 35 18 73 1 + 36 18 74 1 + 37 18 75 1 + 38 19 20 1 + 39 19 76 1 + 40 20 21 1 + 41 20 28 1 + 42 20 77 1 + 43 21 22 1 + 44 21 78 1 + 45 21 79 1 + 46 22 23 ar + 47 22 27 ar + 48 23 24 ar + 49 23 80 1 + 50 24 25 ar + 51 24 81 1 + 52 25 26 ar + 53 25 82 1 + 54 26 27 ar + 55 26 83 1 + 56 27 84 1 + 57 28 30 1 + 58 28 85 1 + 59 28 86 1 + 60 29 30 1 + 61 29 87 1 + 62 30 32 1 + 63 30 88 1 + 64 31 32 1 + 65 31 42 am + 66 31 89 1 + 67 32 33 1 + 68 32 90 1 + 69 33 34 1 + 70 33 91 1 + 71 33 92 1 + 72 34 35 ar + 73 34 39 ar + 74 35 36 ar + 75 35 93 1 + 76 36 37 ar + 77 36 94 1 + 78 37 38 ar + 79 37 95 1 + 80 38 39 ar + 81 38 96 1 + 82 39 97 1 + 83 40 41 1 + 84 40 47 am + 85 40 98 1 + 86 41 42 1 + 87 41 44 1 + 88 41 99 1 + 89 42 43 2 + 90 44 45 1 + 91 44 46 1 + 92 44 100 1 + 93 45 101 1 + 94 45 102 1 + 95 45 103 1 + 96 46 104 1 + 97 46 105 1 + 98 46 106 1 + 99 47 48 2 + 100 47 49 am + 101 49 50 1 + 102 49 51 1 + 103 50 107 1 + 104 50 108 1 + 105 50 109 1 + 106 51 52 1 + 107 51 110 1 + 108 51 111 1 + 109 52 53 ar + 110 52 54 ar + 111 53 55 ar + 112 53 112 1 + 113 54 56 ar + 114 55 57 ar + 115 55 113 1 + 116 56 57 ar + 117 56 114 1 + 118 57 115 1 diff --git a/pytorch/molecules/1hvk_ligand.mol2 b/pytorch/molecules/1hvk_ligand.mol2 new file mode 100644 index 0000000..c8269be --- /dev/null +++ b/pytorch/molecules/1hvk_ligand.mol2 @@ -0,0 +1,244 @@ +@MOLECULE + A79 + 116 119 0 0 0 +SMALL +USER_CHARGES + + +@ATOM + 1 C1 3.1165 3.4108 10.8428 zl 1 A79 0.754100 + 2 O2 2.9449 4.5577 11.2169 zr 1 A79 -0.654100 + 3 N3 3.6911 3.0854 9.6135 zq 1 A79 -0.444300 + 4 C4 3.8683 1.6914 9.1493 c3 1 A79 0.067300 + 5 C5 4.1568 4.1332 8.6771 za 1 A79 0.043700 + 6 C6 5.6734 4.2827 8.6579 zh 1 A79 0.369100 + 7 C7 6.4368 3.7720 7.5899 zi 1 A79 -0.223300 + 8 N8 6.2319 4.9290 9.7043 nb 1 A79 -0.671000 + 9 C9 7.8307 3.9358 7.6115 ca 1 A79 -0.094500 + 10 C10 7.5713 5.0842 9.7229 ca 1 A79 0.391700 + 11 C11 8.4091 4.6051 8.7010 ca 1 A79 -0.243300 + 12 N21 2.7535 2.3164 11.6057 zo 1 A79 -0.548900 + 13 C22 2.0764 2.3972 12.9167 zb 1 A79 0.033700 + 14 C23 2.7270 1.3425 13.8400 zm 1 A79 0.650100 + 15 O24 2.1119 0.4253 14.3582 zr 1 A79 -0.631600 + 16 C25 0.5172 2.2708 12.8050 zd 1 A79 -0.077200 + 17 C26 -0.0762 3.1420 11.6646 ze 1 A79 -0.095600 + 18 C27 -0.1747 2.6463 14.1434 ze 1 A79 -0.095600 + 19 N37 4.0998 1.4765 13.9671 zp 1 A79 -0.547400 + 20 C38 4.9567 0.5226 14.6893 zc 1 A79 0.084700 + 21 C39 6.4384 0.6999 14.2579 zg 1 A79 -0.039100 + 22 C40 6.6338 0.4448 12.7675 zj 1 A79 -0.088300 + 23 C41 6.5525 -0.8660 12.2606 zk 1 A79 -0.125500 + 24 C42 6.7389 -1.1082 10.8902 ca 1 A79 -0.133250 + 25 C43 7.0138 -0.0424 10.0197 ca 1 A79 -0.136000 + 26 C44 7.0959 1.2659 10.5201 ca 1 A79 -0.133250 + 27 C45 6.9013 1.5110 11.8882 zk 1 A79 -0.125500 + 28 C46 4.7484 0.6219 16.2390 zf 1 A79 0.115100 + 29 O47 5.1465 1.9175 16.7016 zs 1 A79 -0.609300 + 30 O48 5.0765 -0.4105 18.4316 zs 1 A79 -0.609300 + 31 C49 5.4977 -0.4754 17.0641 zf 1 A79 0.115100 + 32 N50 6.1678 -2.8916 17.2434 zp 1 A79 -0.547400 + 33 C51 5.3165 -1.9338 16.5194 zc 1 A79 0.084700 + 34 C52 3.8393 -2.4149 16.5329 zg 1 A79 -0.039100 + 35 C53 3.6738 -3.7698 15.8529 zj 1 A79 -0.088300 + 36 C54 3.7867 -3.8733 14.4535 zk 1 A79 -0.125500 + 37 C55 3.6303 -5.1165 13.8199 ca 1 A79 -0.133250 + 38 C56 3.3537 -6.2627 14.5811 ca 1 A79 -0.136000 + 39 C57 3.2387 -6.1647 15.9760 ca 1 A79 -0.133250 + 40 C58 3.4036 -4.9243 16.6119 zk 1 A79 -0.125500 + 41 N81 7.5400 -5.3810 17.3785 zo 1 A79 -0.548900 + 42 C82 8.1896 -4.1449 17.8631 zb 1 A79 0.033700 + 43 C83 7.5451 -2.9574 17.1131 zm 1 A79 0.650100 + 44 O84 8.1702 -2.1832 16.4074 zr 1 A79 -0.631600 + 45 C85 9.7533 -4.1954 17.7511 zd 1 A79 -0.077200 + 46 C86 10.3495 -5.5357 18.2605 ze 1 A79 -0.095600 + 47 C87 10.4122 -3.0211 18.5246 ze 1 A79 -0.095600 + 48 C97 7.1709 -6.4400 18.1871 zl 1 A79 0.754100 + 49 O98 7.3109 -6.4212 19.3974 zr 1 A79 -0.654100 + 50 N99 6.6301 -7.5254 17.4967 zq 1 A79 -0.444300 + 51 C2 6.4888 -7.5562 16.0241 c3 1 A79 0.067300 + 52 C3 6.1679 -8.7395 18.2063 za 1 A79 0.043700 + 53 C8 4.6501 -8.8235 18.3147 zh 1 A79 0.369100 + 54 C12 3.9127 -9.6920 17.4862 zi 1 A79 -0.223300 + 55 N10 4.0644 -8.0354 19.2423 nb 1 A79 -0.671000 + 56 C13 2.5168 -9.7417 17.6249 ca 1 A79 -0.094500 + 57 C14 2.7233 -8.0840 19.3723 ca 1 A79 0.391700 + 58 C15 1.9104 -8.9201 18.5875 ca 1 A79 -0.243300 + 59 H1 4.4589 1.6658 8.2250 h1 1 A79 0.047533 + 60 H2 2.8863 1.2405 8.9584 h1 1 A79 0.047533 + 61 H3 4.3916 1.1067 9.9162 h1 1 A79 0.047533 + 62 H4 3.7078 5.0980 8.9451 h1 1 A79 0.078950 + 63 H5 3.8016 3.8888 7.6680 h1 1 A79 0.078950 + 64 H6 5.9582 3.2585 6.7611 ha 1 A79 0.153500 + 65 H7 8.4476 3.5529 6.8037 ha 1 A79 0.141000 + 66 H8 7.9837 5.6093 10.5836 h4 1 A79 0.021600 + 67 H9 9.4841 4.7510 8.7541 ha 1 A79 0.145000 + 68 H10 2.9537 1.3992 11.2303 hn 1 A79 0.312000 + 69 H11 2.3083 3.3748 13.3588 h1 1 A79 0.101700 + 70 H12 0.2718 1.2259 12.5737 hc 1 A79 0.073700 + 71 H13 -1.1712 3.0723 11.6522 hc 1 A79 0.040617 + 72 H14 0.2817 2.8111 10.6817 hc 1 A79 0.040617 + 73 H15 0.1943 4.1976 11.7942 hc 1 A79 0.040617 + 74 H16 0.1567 2.0028 14.9668 hc 1 A79 0.040617 + 75 H17 -1.2638 2.5398 14.0609 hc 1 A79 0.040617 + 76 H18 0.0443 3.6864 14.4173 hc 1 A79 0.040617 + 77 H19 4.5440 2.2517 13.4897 hn 1 A79 0.333000 + 78 H20 4.6391 -0.4768 14.3697 h1 1 A79 0.097700 + 79 H21 7.0789 0.0085 14.8180 hc 1 A79 0.065450 + 80 H22 6.7794 1.7099 14.5195 hc 1 A79 0.065450 + 81 H23 6.3494 -1.6975 12.9298 ha 1 A79 0.146250 + 82 H24 6.6761 -2.1218 10.5049 ha 1 A79 0.130500 + 83 H25 7.1631 -0.2289 8.9602 ha 1 A79 0.126500 + 84 H26 7.3078 2.0904 9.8481 ha 1 A79 0.130500 + 85 H27 6.9621 2.5291 12.2630 ha 1 A79 0.146250 + 86 H28 3.6755 0.4983 16.4316 h1 1 A79 0.055200 + 87 H29 4.6727 2.0804 17.5363 zn 1 A79 0.418000 + 88 H30 5.6559 0.2307 18.8797 zn 1 A79 0.418000 + 89 H31 6.5687 -0.2419 17.0183 h1 1 A79 0.055200 + 90 H32 5.7166 -3.5853 17.8277 hn 1 A79 0.333000 + 91 H33 5.6572 -1.9490 15.4776 h1 1 A79 0.097700 + 92 H34 3.2013 -1.6860 16.0195 hc 1 A79 0.065450 + 93 H35 3.4770 -2.4609 17.5679 hc 1 A79 0.065450 + 94 H36 3.9921 -2.9890 13.8566 ha 1 A79 0.146250 + 95 H37 3.7181 -5.1897 12.7397 ha 1 A79 0.130500 + 96 H38 3.2292 -7.2245 14.0921 ha 1 A79 0.126500 + 97 H39 3.0245 -7.0497 16.5652 ha 1 A79 0.130500 + 98 H40 3.3183 -4.8627 17.6934 ha 1 A79 0.146250 + 99 H41 7.3685 -5.4707 16.3861 hn 1 A79 0.312000 + 100 H42 7.9273 -4.0164 18.9213 h1 1 A79 0.101700 + 101 H43 10.0258 -4.1032 16.6915 hc 1 A79 0.073700 + 102 H44 11.4458 -5.5143 18.2177 hc 1 A79 0.040617 + 103 H45 10.0165 -6.3805 17.6447 hc 1 A79 0.040617 + 104 H46 10.0550 -5.7278 19.3001 hc 1 A79 0.040617 + 105 H47 10.0734 -2.0473 18.1520 hc 1 A79 0.040617 + 106 H48 11.5040 -3.0512 18.4186 hc 1 A79 0.040617 + 107 H49 10.1742 -3.0753 19.5947 hc 1 A79 0.040617 + 108 H50 5.9144 -8.4371 15.7107 h1 1 A79 0.047533 + 109 H51 7.4829 -7.5941 15.5609 h1 1 A79 0.047533 + 110 H52 5.9638 -6.6559 15.6814 h1 1 A79 0.047533 + 111 H53 6.5985 -8.7672 19.2154 h1 1 A79 0.078950 + 112 H54 6.5456 -9.6239 17.6778 h1 1 A79 0.078950 + 113 H55 4.4129 -10.3151 16.7504 ha 1 A79 0.153500 + 114 H56 1.9196 -10.4005 17.0012 ha 1 A79 0.141000 + 115 H57 2.2885 -7.4326 20.1295 h4 1 A79 0.021600 + 116 H58 0.8331 -8.9295 18.7244 ha 1 A79 0.145000 +@BOND + 1 1 2 2 + 2 1 3 am + 3 1 12 am + 4 3 4 1 + 5 3 5 1 + 6 4 59 1 + 7 4 60 1 + 8 4 61 1 + 9 5 6 1 + 10 5 62 1 + 11 5 63 1 + 12 6 7 ar + 13 6 8 ar + 14 7 9 ar + 15 7 64 1 + 16 8 10 ar + 17 9 11 ar + 18 9 65 1 + 19 10 11 ar + 20 10 66 1 + 21 11 67 1 + 22 12 13 1 + 23 12 68 1 + 24 13 14 1 + 25 13 16 1 + 26 13 69 1 + 27 14 15 2 + 28 14 19 am + 29 16 17 1 + 30 16 18 1 + 31 16 70 1 + 32 17 71 1 + 33 17 72 1 + 34 17 73 1 + 35 18 74 1 + 36 18 75 1 + 37 18 76 1 + 38 19 20 1 + 39 19 77 1 + 40 20 21 1 + 41 20 28 1 + 42 20 78 1 + 43 21 22 1 + 44 21 79 1 + 45 21 80 1 + 46 22 23 ar + 47 22 27 ar + 48 23 24 ar + 49 23 81 1 + 50 24 25 ar + 51 24 82 1 + 52 25 26 ar + 53 25 83 1 + 54 26 27 ar + 55 26 84 1 + 56 27 85 1 + 57 28 29 1 + 58 28 31 1 + 59 28 86 1 + 60 29 87 1 + 61 30 31 1 + 62 30 88 1 + 63 31 33 1 + 64 31 89 1 + 65 32 33 1 + 66 32 43 am + 67 32 90 1 + 68 33 34 1 + 69 33 91 1 + 70 34 35 1 + 71 34 92 1 + 72 34 93 1 + 73 35 36 ar + 74 35 40 ar + 75 36 37 ar + 76 36 94 1 + 77 37 38 ar + 78 37 95 1 + 79 38 39 ar + 80 38 96 1 + 81 39 40 ar + 82 39 97 1 + 83 40 98 1 + 84 41 42 1 + 85 41 48 am + 86 41 99 1 + 87 42 43 1 + 88 42 45 1 + 89 42 100 1 + 90 43 44 2 + 91 45 46 1 + 92 45 47 1 + 93 45 101 1 + 94 46 102 1 + 95 46 103 1 + 96 46 104 1 + 97 47 105 1 + 98 47 106 1 + 99 47 107 1 + 100 48 49 2 + 101 48 50 am + 102 50 51 1 + 103 50 52 1 + 104 51 108 1 + 105 51 109 1 + 106 51 110 1 + 107 52 53 1 + 108 52 111 1 + 109 52 112 1 + 110 53 54 ar + 111 53 55 ar + 112 54 56 ar + 113 54 113 1 + 114 55 57 ar + 115 56 58 ar + 116 56 114 1 + 117 57 58 ar + 118 57 115 1 + 119 58 116 1 diff --git a/pytorch/molecules/2iuz_ligand.mol2 b/pytorch/molecules/2iuz_ligand.mol2 new file mode 100644 index 0000000..26a8b2d --- /dev/null +++ b/pytorch/molecules/2iuz_ligand.mol2 @@ -0,0 +1,104 @@ +@MOLECULE + D1H + 46 49 0 0 0 +SMALL +USER_CHARGES + + +@ATOM + 1 O6 95.3475 66.9041 -6.2620 zf 1 D1H -0.627500 + 2 C6 94.1936 67.2515 -6.0671 zc 1 D1H 0.766100 + 3 C5 93.8217 68.3696 -5.1883 cc 1 D1H -0.349200 + 4 N7 94.6134 69.2148 -4.4363 na 1 D1H -0.148900 + 5 CAA 96.0778 69.2060 -4.3215 c3 1 D1H 0.009600 + 6 C8 93.7344 70.0801 -3.8096 cc 1 D1H 0.443400 + 7 N9 92.4765 69.8222 -4.1309 nd 1 D1H -0.685000 + 8 C4 92.5345 68.7519 -4.9915 cd 1 D1H 0.485200 + 9 N3 91.4988 68.0877 -5.6326 zd 1 D1H -0.418300 + 10 CAC 90.1040 68.5326 -5.4161 c3 1 D1H 0.090300 + 11 C2 91.7387 67.0153 -6.5029 za 1 D1H 0.813500 + 12 O2 90.8281 66.4543 -7.0903 zf 1 D1H -0.632500 + 13 N1 93.0857 66.6295 -6.6608 ze 1 D1H -0.481400 + 14 CAK 93.3652 65.5039 -7.5912 zb 1 D1H 0.074000 + 15 CAL 93.5758 65.9970 -9.0386 zb 1 D1H 0.074000 + 16 NBB 93.8633 64.8732 -9.9687 ze 1 D1H -0.481400 + 17 CAP 95.2074 64.5017 -10.1174 zc 1 D1H 0.766100 + 18 OAF 96.1291 65.0583 -9.5421 zf 1 D1H -0.627500 + 19 CAV 95.3918 63.3706 -11.0379 cc 1 D1H -0.349200 + 20 NAX 96.5460 62.7312 -11.4456 na 1 D1H -0.148900 + 21 CAB 97.9269 63.0300 -11.0437 c3 1 D1H 0.009600 + 22 CAJ 96.1286 61.7420 -12.3180 cc 1 D1H 0.443400 + 23 NAN 94.8127 61.7338 -12.4598 nd 1 D1H -0.685000 + 24 CAT 94.3549 62.7520 -11.6579 cd 1 D1H 0.485200 + 25 NAZ 93.0511 63.1710 -11.4328 zd 1 D1H -0.418300 + 26 CAD 91.9308 62.4774 -12.1069 c3 1 D1H 0.090300 + 27 CAR 92.7590 64.2409 -10.5759 za 1 D1H 0.813500 + 28 OAH 91.6103 64.5978 -10.3705 zf 1 D1H -0.632500 + 29 H1 96.4040 70.0110 -3.6512 h1 1 D1H 0.071033 + 30 H2 96.5242 69.3555 -5.3129 h1 1 D1H 0.071033 + 31 H3 96.4083 68.2406 -3.9177 h1 1 D1H 0.071033 + 32 H4 94.0712 70.8650 -3.1436 h5 1 D1H 0.070100 + 33 H5 90.0354 69.2043 -4.5517 h1 1 D1H 0.063700 + 34 H6 89.4615 67.6623 -5.2299 h1 1 D1H 0.063700 + 35 H7 89.7454 69.0592 -6.3095 h1 1 D1H 0.063700 + 36 H8 92.5362 64.7850 -7.5683 h1 1 D1H 0.092200 + 37 H9 94.2587 64.9596 -7.2597 h1 1 D1H 0.092200 + 38 H10 94.4024 66.7186 -9.0595 h1 1 D1H 0.092200 + 39 H11 92.6817 66.5390 -9.3719 h1 1 D1H 0.092200 + 40 H12 98.6183 62.3412 -11.5451 h1 1 D1H 0.071033 + 41 H13 98.0251 62.9156 -9.9567 h1 1 D1H 0.071033 + 42 H14 98.1753 64.0617 -11.3231 h1 1 D1H 0.071033 + 43 H15 96.8239 61.0706 -12.8072 h5 1 D1H 0.070100 + 44 H16 92.2887 61.6246 -12.6959 h1 1 D1H 0.063700 + 45 H17 91.4157 63.1790 -12.7753 h1 1 D1H 0.063700 + 46 H18 91.2200 62.1115 -11.3550 h1 1 D1H 0.063700 +@BOND + 1 1 2 2 + 2 2 3 1 + 3 2 13 am + 4 3 4 1 + 5 3 8 2 + 6 4 5 1 + 7 4 6 1 + 8 5 29 1 + 9 5 30 1 + 10 5 31 1 + 11 6 7 2 + 12 6 32 1 + 13 7 8 1 + 14 8 9 1 + 15 9 10 1 + 16 9 11 am + 17 10 33 1 + 18 10 34 1 + 19 10 35 1 + 20 11 12 2 + 21 11 13 am + 22 13 14 1 + 23 14 15 1 + 24 14 36 1 + 25 14 37 1 + 26 15 16 1 + 27 15 38 1 + 28 15 39 1 + 29 16 17 am + 30 16 27 am + 31 17 18 2 + 32 17 19 1 + 33 19 20 1 + 34 19 24 2 + 35 20 21 1 + 36 20 22 1 + 37 21 40 1 + 38 21 41 1 + 39 21 42 1 + 40 22 23 2 + 41 22 43 1 + 42 23 24 1 + 43 24 25 1 + 44 25 26 1 + 45 25 27 am + 46 26 44 1 + 47 26 45 1 + 48 26 46 1 + 49 27 28 2 diff --git a/pytorch/molecules/3hkw_ligand.mol2 b/pytorch/molecules/3hkw_ligand.mol2 new file mode 100644 index 0000000..eefe5cf --- /dev/null +++ b/pytorch/molecules/3hkw_ligand.mol2 @@ -0,0 +1,159 @@ +@MOLECULE + IX6 + 73 77 0 0 0 +SMALL +USER_CHARGES + + +@ATOM + 1 C1 39.3206 3.8318 -19.1589 ca 1 IX6 -0.195000 + 2 C2 38.9839 3.7770 -17.8014 ca 1 IX6 -0.097000 + 3 C3 37.9622 2.9221 -17.3706 ca 1 IX6 -0.132000 + 4 C4 37.2721 2.1057 -18.2889 ca 1 IX6 0.094600 + 5 C5 37.5903 2.1752 -19.6711 zf 1 IX6 0.114600 + 6 C6 38.6321 3.0379 -20.0892 zg 1 IX6 0.098100 + 7 C8 34.8956 1.5614 -18.4503 zc 1 IX6 0.237200 + 8 C15 35.6590 -0.2311 -21.9320 c3 1 IX6 -0.086200 + 9 C16 34.5630 3.6779 -19.9034 ca 1 IX6 -0.031000 + 10 C17 34.6213 3.0687 -18.6303 zj 1 IX6 -0.182300 + 11 C18 34.3434 5.0585 -20.0303 ca 1 IX6 -0.214000 + 12 C19 34.1700 5.8574 -18.8838 zh 1 IX6 0.159100 + 13 C21 34.4443 3.8830 -17.4914 zi 1 IX6 0.176900 + 14 C24 33.5502 0.8116 -22.9547 c3 1 IX6 -0.097100 + 15 C27 31.2615 7.2978 -19.9610 zb 1 IX6 -0.179000 + 16 O29 38.9852 3.1084 -21.4120 zt 1 IX6 -0.516100 + 17 C32 36.2611 0.5221 -16.6331 zn 1 IX6 0.621600 + 18 C34 37.6043 0.0608 -16.1681 zl 1 IX6 0.168500 + 19 C35 38.7190 -0.2875 -16.8934 zm 1 IX6 0.250700 + 20 C37 39.1669 -0.6417 -14.8975 cd 1 IX6 0.485700 + 21 C39 39.9615 -1.0803 -13.6995 c3 1 IX6 -0.123400 + 22 C40 38.7923 -0.5482 -18.3765 c3 1 IX6 -0.148400 + 23 F41 34.4997 3.3455 -16.2542 zo 1 IX6 -0.133900 + 24 C20 34.2233 5.2618 -17.6169 zk 1 IX6 -0.210000 + 25 O23 33.9615 7.2217 -18.9538 zu 1 IX6 -0.325900 + 26 C22 33.6860 7.9424 -20.1749 zd 1 IX6 0.166600 + 27 C26 32.3293 7.5306 -20.7345 za 1 IX6 -0.174400 + 28 C28 32.2717 7.4405 -22.2491 ze 1 IX6 -0.057900 + 29 N7 36.2064 1.2872 -17.8143 zr 1 IX6 -0.378000 + 30 N38 37.9090 -0.2211 -14.8549 nc 1 IX6 -0.643000 + 31 O36 39.7501 -0.7109 -16.1304 os 1 IX6 -0.386800 + 32 O33 35.2622 0.2780 -15.9774 zs 1 IX6 -0.578100 + 33 C9 34.8098 0.7315 -19.7280 ce 1 IX6 -0.577300 + 34 S12 33.2507 -0.1544 -19.8277 sy 1 IX6 1.406900 + 35 O30 32.1952 0.8394 -20.0467 zs 1 IX6 -0.660800 + 36 O31 33.1737 -1.0665 -18.6832 zs 1 IX6 -0.660800 + 37 C13 33.3802 -1.1703 -21.3188 c3 1 IX6 -0.310600 + 38 C14 34.2135 -0.5018 -22.4458 c3 1 IX6 -0.003000 + 39 C25 34.2883 -1.4961 -23.6380 c3 1 IX6 -0.097100 + 40 C10 35.7689 0.6469 -20.6881 c2 1 IX6 0.337800 + 41 N11 36.9649 1.3745 -20.6383 nu 1 IX6 -0.603400 + 42 H1 40.1157 4.4939 -19.4895 ha 1 IX6 0.137000 + 43 H2 39.5105 4.3999 -17.0838 ha 1 IX6 0.140000 + 44 H3 37.6955 2.9047 -16.3172 ha 1 IX6 0.151000 + 45 H4 34.1004 1.2046 -17.7846 h1 1 IX6 0.128700 + 46 H5 36.2399 0.2154 -22.7506 hc 1 IX6 0.072200 + 47 H6 36.1465 -1.1907 -21.7151 hc 1 IX6 0.072200 + 48 H7 34.6987 3.0978 -20.8083 ha 1 IX6 0.150000 + 49 H8 34.3213 5.4929 -21.0231 ha 1 IX6 0.147000 + 50 H9 32.5069 0.6349 -23.2463 hc 1 IX6 0.045867 + 51 H10 34.0820 1.2029 -23.8314 hc 1 IX6 0.045867 + 52 H11 33.5557 1.5991 -22.1936 hc 1 IX6 0.045867 + 53 H12 30.3003 7.0167 -20.3867 zp 1 IX6 0.123500 + 54 H13 31.3178 7.3822 -18.8771 zp 1 IX6 0.123500 + 55 H14 39.7131 3.7466 -21.5119 zq 1 IX6 0.429000 + 56 H15 39.5227 -0.6988 -12.7692 hc 1 IX6 0.069700 + 57 H16 40.9937 -0.7144 -13.7608 hc 1 IX6 0.069700 + 58 H17 39.9943 -2.1747 -13.6358 hc 1 IX6 0.069700 + 59 H18 39.3415 -1.4774 -18.5724 hc 1 IX6 0.077367 + 60 H19 39.3287 0.2559 -18.8930 hc 1 IX6 0.077367 + 61 H20 37.7989 -0.6660 -18.8242 hc 1 IX6 0.077367 + 62 H21 34.0935 5.8724 -16.7287 ha 1 IX6 0.162000 + 63 H22 34.4854 7.7676 -20.9063 h1 1 IX6 0.062200 + 64 H23 33.6685 9.0185 -19.9600 h1 1 IX6 0.062200 + 65 H24 31.2665 7.1772 -22.6018 hc 1 IX6 0.041700 + 66 H25 32.9692 6.6825 -22.6261 hc 1 IX6 0.041700 + 67 H26 32.5477 8.3991 -22.7062 hc 1 IX6 0.041700 + 68 H27 32.3639 -1.3978 -21.6639 h1 1 IX6 0.115200 + 69 H28 33.8620 -2.1110 -21.0234 h1 1 IX6 0.115200 + 70 H29 34.8926 -1.0863 -24.4577 hc 1 IX6 0.045867 + 71 H30 33.2873 -1.7119 -24.0339 hc 1 IX6 0.045867 + 72 H31 34.7402 -2.4486 -23.3317 hc 1 IX6 0.045867 + 73 H32 37.4506 1.3990 -21.5275 hn 1 IX6 0.451800 +@BOND + 1 1 2 ar + 2 1 6 ar + 3 1 42 1 + 4 2 3 ar + 5 2 43 1 + 6 3 4 ar + 7 3 44 1 + 8 4 5 ar + 9 4 29 1 + 10 5 6 ar + 11 5 41 1 + 12 6 16 1 + 13 7 10 1 + 14 7 29 1 + 15 7 33 1 + 16 7 45 1 + 17 8 38 1 + 18 8 40 1 + 19 8 46 1 + 20 8 47 1 + 21 9 10 ar + 22 9 11 ar + 23 9 48 1 + 24 10 13 ar + 25 11 12 ar + 26 11 49 1 + 27 12 24 ar + 28 12 25 1 + 29 13 23 1 + 30 13 24 ar + 31 14 38 1 + 32 14 50 1 + 33 14 51 1 + 34 14 52 1 + 35 15 27 2 + 36 15 53 1 + 37 15 54 1 + 38 16 55 1 + 39 17 18 1 + 40 17 29 am + 41 17 32 2 + 42 18 19 2 + 43 18 30 1 + 44 19 22 1 + 45 19 31 1 + 46 20 21 1 + 47 20 30 2 + 48 20 31 1 + 49 21 56 1 + 50 21 57 1 + 51 21 58 1 + 52 22 59 1 + 53 22 60 1 + 54 22 61 1 + 55 24 62 1 + 56 25 26 1 + 57 26 27 1 + 58 26 63 1 + 59 26 64 1 + 60 27 28 1 + 61 28 65 1 + 62 28 66 1 + 63 28 67 1 + 64 33 34 1 + 65 33 40 2 + 66 34 35 2 + 67 34 36 2 + 68 34 37 1 + 69 37 38 1 + 70 37 68 1 + 71 37 69 1 + 72 38 39 1 + 73 39 70 1 + 74 39 71 1 + 75 39 72 1 + 76 40 41 1 + 77 41 73 1 diff --git a/pytorch/molecules/3hky_ligand.mol2 b/pytorch/molecules/3hky_ligand.mol2 new file mode 100644 index 0000000..6f1939b --- /dev/null +++ b/pytorch/molecules/3hky_ligand.mol2 @@ -0,0 +1,159 @@ +@MOLECULE + IX6 + 73 77 0 0 0 +SMALL +USER_CHARGES + + +@ATOM + 1 C1 -20.9181 -6.8082 30.1247 ca 1 IX6 -0.195000 + 2 C2 -21.1644 -7.7723 29.1405 ca 1 IX6 -0.097000 + 3 C3 -22.4411 -7.8823 28.5768 ca 1 IX6 -0.132000 + 4 C4 -23.4834 -7.0247 28.9822 ca 1 IX6 0.094600 + 5 C5 -23.2481 -6.0614 29.9985 zf 1 IX6 0.114600 + 6 C6 -21.9490 -5.9566 30.5518 zg 1 IX6 0.098100 + 7 C8 -25.8428 -7.4938 29.4080 zc 1 IX6 0.237200 + 8 C15 -26.2094 -3.7893 30.8450 c3 1 IX6 -0.086200 + 9 C16 -25.2172 -8.1056 31.8447 ca 1 IX6 -0.031000 + 10 C17 -25.3919 -8.4896 30.4966 zj 1 IX6 -0.182300 + 11 C18 -24.7828 -9.0322 32.8057 ca 1 IX6 -0.214000 + 12 C19 -24.5196 -10.3656 32.4372 zh 1 IX6 0.159100 + 13 C21 -25.1209 -9.8287 30.1432 zi 1 IX6 0.176900 + 14 C24 -27.6186 -4.6727 32.7991 c3 1 IX6 -0.097100 + 15 C27 -26.5015 -11.7211 34.8618 zb 1 IX6 -0.179000 + 16 O29 -21.6787 -5.0182 31.5137 zt 1 IX6 -0.516100 + 17 C32 -25.0207 -7.4335 27.0483 zn 1 IX6 0.621600 + 18 C34 -24.0231 -6.9039 26.0701 zl 1 IX6 0.168500 + 19 C35 -23.2416 -5.7745 26.1287 zm 1 IX6 0.250700 + 20 C37 -22.8970 -6.6478 24.2770 cd 1 IX6 0.485700 + 21 C39 -22.3299 -6.8194 22.8956 c3 1 IX6 -0.123400 + 22 C40 -23.3837 -4.6217 27.0897 c3 1 IX6 -0.148400 + 23 F41 -25.2631 -10.2378 28.8645 zo 1 IX6 -0.133900 + 24 C20 -24.6879 -10.7555 31.1021 zk 1 IX6 -0.210000 + 25 O23 -24.0854 -11.3146 33.3431 zu 1 IX6 -0.325900 + 26 C22 -24.0572 -11.1225 34.7745 zd 1 IX6 0.166600 + 27 C26 -25.4758 -10.9908 35.3168 za 1 IX6 -0.174400 + 28 C28 -25.6309 -9.9865 36.4450 ze 1 IX6 -0.057900 + 29 N7 -24.7790 -7.2036 28.4168 zr 1 IX6 -0.378000 + 30 N38 -23.8101 -7.4425 24.8206 nc 1 IX6 -0.643000 + 31 O36 -22.4846 -5.5830 25.0263 os 1 IX6 -0.386800 + 32 O33 -25.9795 -8.0816 26.6635 zs 1 IX6 -0.578100 + 33 C9 -26.3790 -6.1642 29.9311 ce 1 IX6 -0.577300 + 34 S12 -28.1748 -6.1306 29.9054 sy 1 IX6 1.406900 + 35 O30 -28.6449 -7.0734 30.9251 zs 1 IX6 -0.660800 + 36 O31 -28.6108 -6.2769 28.5139 zs 1 IX6 -0.660800 + 37 C13 -28.6246 -4.4613 30.4378 c3 1 IX6 -0.310600 + 38 C14 -27.6345 -3.8593 31.4716 c3 1 IX6 -0.003000 + 39 C25 -28.1062 -2.4149 31.7990 c3 1 IX6 -0.097100 + 40 C10 -25.6280 -5.1178 30.3670 c2 1 IX6 0.337800 + 41 N11 -24.2291 -5.1577 30.4339 nu 1 IX6 -0.603400 + 42 H1 -19.9258 -6.7236 30.5580 ha 1 IX6 0.137000 + 43 H2 -20.3683 -8.4374 28.8175 ha 1 IX6 0.140000 + 44 H3 -22.6249 -8.6487 27.8286 ha 1 IX6 0.151000 + 45 H4 -26.6744 -7.9913 28.8946 h1 1 IX6 0.128700 + 46 H5 -25.5302 -3.3314 31.5772 hc 1 IX6 0.072200 + 47 H6 -26.2292 -3.0998 29.9908 hc 1 IX6 0.072200 + 48 H7 -25.4026 -7.0875 32.1658 ha 1 IX6 0.150000 + 49 H8 -24.6469 -8.6975 33.8277 ha 1 IX6 0.147000 + 50 H9 -28.6334 -4.7818 33.2027 hc 1 IX6 0.046033 + 51 H10 -27.0081 -4.1679 33.5588 hc 1 IX6 0.046033 + 52 H11 -27.2032 -5.6770 32.6636 hc 1 IX6 0.046033 + 53 H12 -27.5027 -11.6147 35.2745 zp 1 IX6 0.123500 + 54 H13 -26.3693 -12.4475 34.0619 zp 1 IX6 0.123500 + 55 H14 -20.7420 -5.0870 31.7685 zq 1 IX6 0.429000 + 56 H15 -22.4538 -7.8498 22.5399 hc 1 IX6 0.069700 + 57 H16 -21.2587 -6.5839 22.8818 hc 1 IX6 0.069700 + 58 H17 -22.8318 -6.1522 22.1844 hc 1 IX6 0.069700 + 59 H18 -23.3380 -3.6686 26.5486 hc 1 IX6 0.077367 + 60 H19 -22.5683 -4.6142 27.8218 hc 1 IX6 0.077367 + 61 H20 -24.3435 -4.6416 27.6184 hc 1 IX6 0.077367 + 62 H21 -24.4822 -11.7809 30.8103 ha 1 IX6 0.162000 + 63 H22 -23.4539 -10.2410 35.0265 h1 1 IX6 0.062200 + 64 H23 -23.5784 -11.9918 35.2430 h1 1 IX6 0.062200 + 65 H24 -26.6606 -9.9571 36.8231 hc 1 IX6 0.041700 + 66 H25 -25.3663 -8.9752 36.1127 hc 1 IX6 0.041700 + 67 H26 -24.9720 -10.2403 37.2849 hc 1 IX6 0.041700 + 68 H27 -29.6428 -4.4973 30.8447 h1 1 IX6 0.115200 + 69 H28 -28.6355 -3.8316 29.5391 h1 1 IX6 0.115200 + 70 H29 -27.4258 -1.9282 32.5099 hc 1 IX6 0.046033 + 71 H30 -29.1097 -2.4204 32.2443 hc 1 IX6 0.046033 + 72 H31 -28.1448 -1.7954 30.8935 hc 1 IX6 0.046033 + 73 H32 -23.8384 -4.4131 30.9996 hn 1 IX6 0.451800 +@BOND + 1 1 2 ar + 2 1 6 ar + 3 1 42 1 + 4 2 3 ar + 5 2 43 1 + 6 3 4 ar + 7 3 44 1 + 8 4 5 ar + 9 4 29 1 + 10 5 6 ar + 11 5 41 1 + 12 6 16 1 + 13 7 10 1 + 14 7 29 1 + 15 7 33 1 + 16 7 45 1 + 17 8 38 1 + 18 8 40 1 + 19 8 46 1 + 20 8 47 1 + 21 9 10 ar + 22 9 11 ar + 23 9 48 1 + 24 10 13 ar + 25 11 12 ar + 26 11 49 1 + 27 12 24 ar + 28 12 25 1 + 29 13 23 1 + 30 13 24 ar + 31 14 38 1 + 32 14 50 1 + 33 14 51 1 + 34 14 52 1 + 35 15 27 2 + 36 15 53 1 + 37 15 54 1 + 38 16 55 1 + 39 17 18 1 + 40 17 29 am + 41 17 32 2 + 42 18 19 2 + 43 18 30 1 + 44 19 22 1 + 45 19 31 1 + 46 20 21 1 + 47 20 30 2 + 48 20 31 1 + 49 21 56 1 + 50 21 57 1 + 51 21 58 1 + 52 22 59 1 + 53 22 60 1 + 54 22 61 1 + 55 24 62 1 + 56 25 26 1 + 57 26 27 1 + 58 26 63 1 + 59 26 64 1 + 60 27 28 1 + 61 28 65 1 + 62 28 66 1 + 63 28 67 1 + 64 33 34 1 + 65 33 40 2 + 66 34 35 2 + 67 34 36 2 + 68 34 37 1 + 69 37 38 1 + 70 37 68 1 + 71 37 69 1 + 72 38 39 1 + 73 39 70 1 + 74 39 71 1 + 75 39 72 1 + 76 40 41 1 + 77 41 73 1 diff --git a/pytorch/molecules/3lka_ligand.mol2 b/pytorch/molecules/3lka_ligand.mol2 new file mode 100644 index 0000000..51b3d4e --- /dev/null +++ b/pytorch/molecules/3lka_ligand.mol2 @@ -0,0 +1,51 @@ +@MOLECULE + M4S + 21 21 0 0 0 +SMALL +USER_CHARGES + + +@ATOM + 1 C1 2.6315 -5.5058 7.5671 zb 1 M4S 0.017500 + 2 N1 2.5193 -5.0005 4.0442 zg 1 M4S -1.026700 + 3 O1 5.4972 -6.2125 9.7654 zi 1 M4S -0.319900 + 4 S1 1.8652 -6.2440 4.9865 zj 1 M4S 1.533200 + 5 C2 3.4922 -5.5077 8.6767 zd 1 M4S -0.211000 + 6 O2 2.0821 -7.4868 4.2410 zh 1 M4S -0.661800 + 7 C3 4.6880 -6.2426 8.6474 ze 1 M4S 0.188100 + 8 O3 0.5332 -5.7977 5.4033 zh 1 M4S -0.661800 + 9 C4 5.0247 -6.9799 7.4928 zd 1 M4S -0.211000 + 10 C5 2.9643 -6.2432 6.4162 zc 1 M4S -0.429500 + 11 C6 6.7255 -6.9565 9.8756 za 1 M4S 0.109700 + 12 C7 4.1647 -6.9764 6.3820 zb 1 M4S 0.017500 + 13 H1 1.7092 -4.9334 7.6060 ha 1 M4S 0.154500 + 14 H2 2.7981 -4.2256 4.6429 zf 1 M4S 0.445800 + 15 H3 1.8069 -4.6577 3.4021 zf 1 M4S 0.445800 + 16 H4 3.2326 -4.9401 9.5656 ha 1 M4S 0.151500 + 17 H5 5.9435 -7.5549 7.4430 ha 1 M4S 0.151500 + 18 H6 7.1841 -6.7742 10.8557 h1 1 M4S 0.050700 + 19 H7 7.4348 -6.6448 9.0985 h1 1 M4S 0.050700 + 20 H8 6.5320 -8.0325 9.7780 h1 1 M4S 0.050700 + 21 H9 4.4332 -7.5441 5.4956 ha 1 M4S 0.154500 +@BOND + 1 1 5 ar + 2 1 10 ar + 3 1 13 1 + 4 2 4 am + 5 2 14 1 + 6 2 15 1 + 7 3 7 1 + 8 3 11 1 + 9 4 6 2 + 10 4 8 2 + 11 4 10 1 + 12 5 7 ar + 13 5 16 1 + 14 7 9 ar + 15 9 12 ar + 16 9 17 1 + 17 10 12 ar + 18 11 18 1 + 19 11 19 1 + 20 11 20 1 + 21 12 21 1 diff --git a/pytorch/molecules/3o99_ligand.mol2 b/pytorch/molecules/3o99_ligand.mol2 new file mode 100644 index 0000000..afba729 --- /dev/null +++ b/pytorch/molecules/3o99_ligand.mol2 @@ -0,0 +1,168 @@ +@MOLECULE + K13 + 78 81 0 0 0 +SMALL +USER_CHARGES + + +@ATOM + 1 N1 15.4169 36.7349 16.1439 zv 1 K13 -0.852200 + 2 C2 15.9546 35.4950 15.8342 zl 1 K13 0.241600 + 3 C3 16.8300 35.3560 14.7435 zk 1 K13 -0.238000 + 4 C4 17.3770 34.1014 14.4289 zm 1 K13 0.032500 + 5 C5 17.0507 32.9751 15.2059 zn 1 K13 -0.456500 + 6 C6 16.1746 33.1128 16.2976 zm 1 K13 0.032500 + 7 C7 15.6291 34.3686 16.6093 zk 1 K13 -0.238000 + 8 S8 17.7711 31.3635 14.8259 zz 1 K13 1.517200 + 9 O9 16.7026 30.3981 15.0999 zw 1 K13 -0.662800 + 10 O10 18.4640 31.4095 13.5351 zw 1 K13 -0.662800 + 11 N11 18.9640 31.1467 16.0398 zt 1 K13 -0.799500 + 12 C12 19.5186 32.3305 16.7481 zc 1 K13 0.229800 + 13 C13 21.0566 32.2555 16.9729 zd 1 K13 -0.077700 + 14 C14 21.8211 32.3038 15.6224 c3 1 K13 -0.107100 + 15 C15 21.5460 33.3625 17.9537 ze 1 K13 -0.076400 + 16 C16 19.0741 29.8413 16.7491 za 1 K13 0.231800 + 17 C17 20.1388 28.8924 16.1302 zb 1 K13 0.112100 + 18 C18 21.2813 34.8162 17.4874 zg 1 K13 -0.095100 + 19 O18 20.3893 27.8154 17.0344 zx 1 K13 -0.605800 + 20 C19 19.7737 28.3382 14.7204 zf 1 K13 0.050700 + 21 N20 20.9180 27.6346 14.1211 zu 1 K13 -0.513900 + 22 C21 21.8463 28.2387 13.3097 zq 1 K13 0.724100 + 23 O22 21.8915 29.4321 13.0650 zw 1 K13 -0.578000 + 24 O23 22.5615 27.2714 12.6733 zy 1 K13 -0.438900 + 25 C24 23.3659 27.6233 11.5266 zi 1 K13 0.131100 + 26 C25 24.1515 26.3978 11.0515 c3 1 K13 0.120400 + 27 O26 24.3822 26.6611 9.6566 os 1 K13 -0.420600 + 28 C27 23.2872 27.4182 9.0973 c3 1 K13 0.320900 + 29 O28 22.3764 26.5200 8.4310 os 1 K13 -0.420600 + 30 C29 21.3076 26.1439 9.3127 c3 1 K13 0.124400 + 31 C30 21.1040 27.3836 10.1863 c3 1 K13 -0.102400 + 32 C31 22.5114 28.0230 10.2930 zj 1 K13 -0.129700 + 33 C32 18.5242 27.4160 14.6928 zh 1 K13 -0.039100 + 34 C33 18.5041 25.6394 12.8665 zp 1 K13 -0.128000 + 35 C34 18.2541 25.2317 11.5462 ca 1 K13 -0.131000 + 36 C35 17.7105 26.1371 10.6218 ca 1 K13 -0.129000 + 37 C36 17.4168 27.4509 11.0188 ca 1 K13 -0.131000 + 38 C37 17.6664 27.8591 12.3390 zp 1 K13 -0.128000 + 39 C38 18.2116 26.9560 13.2710 zo 1 K13 -0.106300 + 40 H1 15.6439 37.5421 15.5772 zr 1 K13 0.422300 + 41 H2 14.7772 36.8309 16.9223 zr 1 K13 0.422300 + 42 H3 17.0880 36.2213 14.1392 ha 1 K13 0.139500 + 43 H4 18.0561 34.0088 13.5863 ha 1 K13 0.148000 + 44 H5 15.9207 32.2498 16.9066 ha 1 K13 0.148000 + 45 H6 14.9539 34.4664 17.4549 ha 1 K13 0.139500 + 46 H7 19.0089 32.4472 17.7131 h1 1 K13 0.045700 + 47 H8 19.3292 33.2382 16.1653 h1 1 K13 0.045700 + 48 H9 21.2955 31.2994 17.4541 hc 1 K13 0.051700 + 49 H10 22.9057 32.2792 15.7865 hc 1 K13 0.049367 + 50 H11 21.5797 33.2130 15.0581 hc 1 K13 0.049367 + 51 H12 21.5598 31.4471 14.9903 hc 1 K13 0.049367 + 52 H13 22.6228 33.2375 18.1263 hc 1 K13 0.039200 + 53 H14 21.0631 33.2128 18.9282 hc 1 K13 0.039200 + 54 H15 18.1028 29.3365 16.7915 h1 1 K13 0.061700 + 55 H16 19.3594 30.0237 17.7930 h1 1 K13 0.061700 + 56 H17 21.0646 29.4691 16.0197 h1 1 K13 0.079700 + 57 H18 21.6636 35.5255 18.2322 hc 1 K13 0.034033 + 58 H19 20.2084 35.0092 17.3650 hc 1 K13 0.034033 + 59 H20 21.7848 35.0303 16.5368 hc 1 K13 0.034033 + 60 H21 21.0641 27.2473 16.6217 zs 1 K13 0.413000 + 61 H22 19.5506 29.1975 14.0789 h1 1 K13 0.098700 + 62 H23 20.9506 26.6252 14.1762 hn 1 K13 0.319500 + 63 H24 24.0728 28.4270 11.7716 h1 1 K13 0.091700 + 64 H25 23.5470 25.4899 11.1713 h1 1 K13 0.063200 + 65 H26 25.0960 26.2871 11.5981 h1 1 K13 0.063200 + 66 H27 23.6597 28.1784 8.3997 h2 1 K13 0.100700 + 67 H28 21.6130 25.2915 9.9327 h1 1 K13 0.050700 + 68 H29 20.3984 25.8848 8.7557 h1 1 K13 0.050700 + 69 H30 20.6473 27.1220 11.1466 hc 1 K13 0.065700 + 70 H31 20.4228 28.0777 9.6779 hc 1 K13 0.065700 + 71 H32 22.4479 29.1151 10.2088 hc 1 K13 0.088700 + 72 H33 17.6541 27.9409 15.1013 hc 1 K13 0.065700 + 73 H34 18.6897 26.5476 15.3431 hc 1 K13 0.065700 + 74 H35 18.9340 24.9338 13.5718 ha 1 K13 0.149500 + 75 H36 18.4849 24.2156 11.2395 ha 1 K13 0.133000 + 76 H37 17.5187 25.8221 9.6000 ha 1 K13 0.131000 + 77 H38 16.9983 28.1536 10.3038 ha 1 K13 0.133000 + 78 H39 17.4415 28.8796 12.6360 ha 1 K13 0.149500 +@BOND + 1 1 2 1 + 2 1 40 1 + 3 1 41 1 + 4 2 3 ar + 5 2 7 ar + 6 3 4 ar + 7 3 42 1 + 8 4 5 ar + 9 4 43 1 + 10 5 6 ar + 11 5 8 1 + 12 6 7 ar + 13 6 44 1 + 14 7 45 1 + 15 8 9 2 + 16 8 10 2 + 17 8 11 am + 18 11 12 1 + 19 11 16 1 + 20 12 13 1 + 21 12 46 1 + 22 12 47 1 + 23 13 14 1 + 24 13 15 1 + 25 13 48 1 + 26 14 49 1 + 27 14 50 1 + 28 14 51 1 + 29 15 18 1 + 30 15 52 1 + 31 15 53 1 + 32 16 17 1 + 33 16 54 1 + 34 16 55 1 + 35 17 19 1 + 36 17 20 1 + 37 17 56 1 + 38 18 57 1 + 39 18 58 1 + 40 18 59 1 + 41 19 60 1 + 42 20 21 1 + 43 20 33 1 + 44 20 61 1 + 45 21 22 am + 46 21 62 1 + 47 22 23 2 + 48 22 24 1 + 49 24 25 1 + 50 25 26 1 + 51 25 32 1 + 52 25 63 1 + 53 26 27 1 + 54 26 64 1 + 55 26 65 1 + 56 27 28 1 + 57 28 29 1 + 58 28 32 1 + 59 28 66 1 + 60 29 30 1 + 61 30 31 1 + 62 30 67 1 + 63 30 68 1 + 64 31 32 1 + 65 31 69 1 + 66 31 70 1 + 67 32 71 1 + 68 33 39 1 + 69 33 72 1 + 70 33 73 1 + 71 34 35 ar + 72 34 39 ar + 73 34 74 1 + 74 35 36 ar + 75 35 75 1 + 76 36 37 ar + 77 36 76 1 + 78 37 38 ar + 79 37 77 1 + 80 38 39 ar + 81 38 78 1